summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/audio/8080bw.c45
-rw-r--r--src/mame/audio/n8080.c114
-rw-r--r--src/mame/audio/vicdual.c4
-rw-r--r--src/mame/drivers/1942.c22
-rw-r--r--src/mame/drivers/1943.c14
-rw-r--r--src/mame/drivers/1945kiii.c11
-rw-r--r--src/mame/drivers/20pacgal.c22
-rw-r--r--src/mame/drivers/2mindril.c27
-rw-r--r--src/mame/drivers/30test.c13
-rw-r--r--src/mame/drivers/39in1.c8
-rw-r--r--src/mame/drivers/3do.c23
-rw-r--r--src/mame/drivers/40love.c113
-rw-r--r--src/mame/drivers/4enraya.c22
-rw-r--r--src/mame/drivers/4roses.c4
-rw-r--r--src/mame/drivers/5clown.c17
-rw-r--r--src/mame/drivers/8080bw.c82
-rw-r--r--src/mame/drivers/88games.c64
-rw-r--r--src/mame/drivers/ace.c37
-rw-r--r--src/mame/drivers/acefruit.c43
-rw-r--r--src/mame/drivers/aces1.c15
-rw-r--r--src/mame/drivers/acommand.c13
-rw-r--r--src/mame/drivers/actfancr.c36
-rw-r--r--src/mame/drivers/adp.c51
-rw-r--r--src/mame/drivers/aeroboto.c33
-rw-r--r--src/mame/drivers/aerofgt.c98
-rw-r--r--src/mame/drivers/airbustr.c77
-rw-r--r--src/mame/drivers/ajax.c3
-rw-r--r--src/mame/drivers/albazc.c12
-rw-r--r--src/mame/drivers/albazg.c33
-rw-r--r--src/mame/drivers/aleck64.c3
-rw-r--r--src/mame/drivers/alg.c30
-rw-r--r--src/mame/drivers/aliens.c31
-rw-r--r--src/mame/drivers/alpha68k.c150
-rw-r--r--src/mame/drivers/amaticmg.c40
-rw-r--r--src/mame/drivers/ambush.c1
-rw-r--r--src/mame/drivers/ampoker2.c4
-rw-r--r--src/mame/drivers/amspdwy.c27
-rw-r--r--src/mame/drivers/angelkds.c35
-rw-r--r--src/mame/drivers/appoooh.c30
-rw-r--r--src/mame/drivers/aquarium.c15
-rw-r--r--src/mame/drivers/arabian.c18
-rw-r--r--src/mame/drivers/arcadecl.c19
-rw-r--r--src/mame/drivers/arcadia.c6
-rw-r--r--src/mame/drivers/argus.c12
-rw-r--r--src/mame/drivers/aristmk4.c46
-rw-r--r--src/mame/drivers/aristmk5.c35
-rw-r--r--src/mame/drivers/aristmk6.c4
-rw-r--r--src/mame/drivers/arkanoid.c74
-rw-r--r--src/mame/drivers/armedf.c104
-rw-r--r--src/mame/drivers/artmagic.c31
-rw-r--r--src/mame/drivers/ashnojoe.c23
-rw-r--r--src/mame/drivers/asterix.c62
-rw-r--r--src/mame/drivers/asteroid.c1
-rw-r--r--src/mame/drivers/astinvad.c70
-rw-r--r--src/mame/drivers/astrafr.c72
-rw-r--r--src/mame/drivers/astrocde.c6
-rw-r--r--src/mame/drivers/astrocorp.c16
-rw-r--r--src/mame/drivers/astrof.c87
-rw-r--r--src/mame/drivers/asuka.c70
-rw-r--r--src/mame/drivers/atarifb.c112
-rw-r--r--src/mame/drivers/atarig1.c24
-rw-r--r--src/mame/drivers/atarig42.c30
-rw-r--r--src/mame/drivers/atarigt.c19
-rw-r--r--src/mame/drivers/atarigx2.c19
-rw-r--r--src/mame/drivers/atarisy1.c34
-rw-r--r--src/mame/drivers/atarisy2.c46
-rw-r--r--src/mame/drivers/atarisy4.c30
-rw-r--r--src/mame/drivers/ataxx.c4
-rw-r--r--src/mame/drivers/atetris.c26
-rw-r--r--src/mame/drivers/atlantis.c15
-rw-r--r--src/mame/drivers/atvtrack.c22
-rw-r--r--src/mame/drivers/avalnche.c12
-rw-r--r--src/mame/drivers/avt.c19
-rw-r--r--src/mame/drivers/aztarac.c6
-rw-r--r--src/mame/drivers/backfire.c48
-rw-r--r--src/mame/drivers/badlands.c49
-rw-r--r--src/mame/drivers/bagman.c18
-rw-r--r--src/mame/drivers/balsente.c3
-rw-r--r--src/mame/drivers/bankp.c10
-rw-r--r--src/mame/drivers/baraduke.c2
-rw-r--r--src/mame/drivers/batman.c26
-rw-r--r--src/mame/drivers/battlane.c21
-rw-r--r--src/mame/drivers/battlera.c1
-rw-r--r--src/mame/drivers/battlex.c25
-rw-r--r--src/mame/drivers/battlnts.c28
-rw-r--r--src/mame/drivers/bbusters.c4
-rw-r--r--src/mame/drivers/beaminv.c20
-rw-r--r--src/mame/drivers/beezer.c6
-rw-r--r--src/mame/drivers/berzerk.c44
-rw-r--r--src/mame/drivers/bestleag.c15
-rw-r--r--src/mame/drivers/bfcobra.c30
-rw-r--r--src/mame/drivers/bfm_sc1.c49
-rw-r--r--src/mame/drivers/bfm_sc2.c43
-rw-r--r--src/mame/drivers/bfm_sc4h.c47
-rw-r--r--src/mame/drivers/bfm_swp.c9
-rw-r--r--src/mame/drivers/bfmsys85.c37
-rw-r--r--src/mame/drivers/big10.c4
-rw-r--r--src/mame/drivers/bigevglf.c129
-rw-r--r--src/mame/drivers/bigstrkb.c1
-rw-r--r--src/mame/drivers/bingoc.c4
-rw-r--r--src/mame/drivers/bingor.c4
-rw-r--r--src/mame/drivers/bionicc.c33
-rw-r--r--src/mame/drivers/bishi.c25
-rw-r--r--src/mame/drivers/bking.c106
-rw-r--r--src/mame/drivers/blackt96.c39
-rw-r--r--src/mame/drivers/bladestl.c33
-rw-r--r--src/mame/drivers/blitz.c17
-rw-r--r--src/mame/drivers/blitz68k.c25
-rw-r--r--src/mame/drivers/blktiger.c55
-rw-r--r--src/mame/drivers/blmbycar.c34
-rw-r--r--src/mame/drivers/blockade.c24
-rw-r--r--src/mame/drivers/blockhl.c31
-rw-r--r--src/mame/drivers/blockout.c17
-rw-r--r--src/mame/drivers/bloodbro.c1
-rw-r--r--src/mame/drivers/blstroid.c19
-rw-r--r--src/mame/drivers/blueprnt.c18
-rw-r--r--src/mame/drivers/bmcbowl.c8
-rw-r--r--src/mame/drivers/bmcpokr.c4
-rw-r--r--src/mame/drivers/bnstars.c35
-rw-r--r--src/mame/drivers/bogeyman.c18
-rw-r--r--src/mame/drivers/bombjack.c17
-rw-r--r--src/mame/drivers/boogwing.c1
-rw-r--r--src/mame/drivers/bottom9.c49
-rw-r--r--src/mame/drivers/boxer.c34
-rw-r--r--src/mame/drivers/brkthru.c30
-rw-r--r--src/mame/drivers/bsktball.c90
-rw-r--r--src/mame/drivers/btime.c93
-rw-r--r--src/mame/drivers/bublbobl.c192
-rw-r--r--src/mame/drivers/buggychl.c48
-rw-r--r--src/mame/drivers/buster.c10
-rw-r--r--src/mame/drivers/bwing.c41
-rw-r--r--src/mame/drivers/byvid.c7
-rw-r--r--src/mame/drivers/bzone.c16
-rw-r--r--src/mame/drivers/cabal.c9
-rw-r--r--src/mame/drivers/cabaret.c20
-rw-r--r--src/mame/drivers/calchase.c25
-rw-r--r--src/mame/drivers/calomega.c2
-rw-r--r--src/mame/drivers/calorie.c25
-rw-r--r--src/mame/drivers/canyon.c12
-rw-r--r--src/mame/drivers/capbowl.c27
-rw-r--r--src/mame/drivers/cardline.c10
-rw-r--r--src/mame/drivers/carjmbre.c10
-rw-r--r--src/mame/drivers/carpolo.c4
-rw-r--r--src/mame/drivers/carrera.c8
-rw-r--r--src/mame/drivers/caswin.c15
-rw-r--r--src/mame/drivers/cave.c152
-rw-r--r--src/mame/drivers/cb2001.c31
-rw-r--r--src/mame/drivers/cball.c36
-rw-r--r--src/mame/drivers/cbasebal.c57
-rw-r--r--src/mame/drivers/cbuster.c25
-rw-r--r--src/mame/drivers/ccastles.c45
-rw-r--r--src/mame/drivers/cchance.c30
-rw-r--r--src/mame/drivers/cchasm.c1
-rw-r--r--src/mame/drivers/cclimber.c23
-rw-r--r--src/mame/drivers/cd32.c4
-rw-r--r--src/mame/drivers/cdi.c130
-rw-r--r--src/mame/drivers/centiped.c45
-rw-r--r--src/mame/drivers/cesclass.c6
-rw-r--r--src/mame/drivers/chaknpop.c38
-rw-r--r--src/mame/drivers/cham24.c41
-rw-r--r--src/mame/drivers/champbas.c61
-rw-r--r--src/mame/drivers/champbwl.c43
-rw-r--r--src/mame/drivers/chanbara.c45
-rw-r--r--src/mame/drivers/chance32.c23
-rw-r--r--src/mame/drivers/changela.c129
-rw-r--r--src/mame/drivers/cheekyms.c10
-rw-r--r--src/mame/drivers/chihiro.c25
-rw-r--r--src/mame/drivers/chinagat.c74
-rw-r--r--src/mame/drivers/chinsan.c44
-rw-r--r--src/mame/drivers/chqflag.c53
-rw-r--r--src/mame/drivers/cinemat.c31
-rw-r--r--src/mame/drivers/circus.c36
-rw-r--r--src/mame/drivers/circusc.c20
-rw-r--r--src/mame/drivers/cischeat.c8
-rw-r--r--src/mame/drivers/citycon.c15
-rw-r--r--src/mame/drivers/clayshoo.c20
-rw-r--r--src/mame/drivers/cliffhgr.c18
-rw-r--r--src/mame/drivers/cloak.c1
-rw-r--r--src/mame/drivers/cloud9.c41
-rw-r--r--src/mame/drivers/clshroad.c15
-rw-r--r--src/mame/drivers/cmmb.c8
-rw-r--r--src/mame/drivers/cninja.c32
-rw-r--r--src/mame/drivers/cntsteer.c125
-rw-r--r--src/mame/drivers/cobra.c36
-rw-r--r--src/mame/drivers/coinmstr.c7
-rw-r--r--src/mame/drivers/coinmvga.c8
-rw-r--r--src/mame/drivers/combatsc.c85
-rw-r--r--src/mame/drivers/commando.c23
-rw-r--r--src/mame/drivers/compgolf.c30
-rw-r--r--src/mame/drivers/contra.c16
-rw-r--r--src/mame/drivers/coolpool.c18
-rw-r--r--src/mame/drivers/coolridr.c17
-rw-r--r--src/mame/drivers/cop01.c38
-rw-r--r--src/mame/drivers/copsnrob.c23
-rw-r--r--src/mame/drivers/corona.c23
-rw-r--r--src/mame/drivers/cosmic.c52
-rw-r--r--src/mame/drivers/cps1.c37
-rw-r--r--src/mame/drivers/cps2.c15
-rw-r--r--src/mame/drivers/cps3.c42
-rw-r--r--src/mame/drivers/crbaloon.c12
-rw-r--r--src/mame/drivers/crgolf.c36
-rw-r--r--src/mame/drivers/crimfght.c26
-rw-r--r--src/mame/drivers/crospang.c15
-rw-r--r--src/mame/drivers/crshrace.c27
-rw-r--r--src/mame/drivers/crystal.c74
-rw-r--r--src/mame/drivers/cshooter.c25
-rw-r--r--src/mame/drivers/csplayh5.c11
-rw-r--r--src/mame/drivers/cubeqst.c35
-rw-r--r--src/mame/drivers/cultures.c63
-rw-r--r--src/mame/drivers/cvs.c76
-rw-r--r--src/mame/drivers/cyberbal.c57
-rw-r--r--src/mame/drivers/cybertnk.c17
-rw-r--r--src/mame/drivers/cyclemb.c20
-rw-r--r--src/mame/drivers/d9final.c15
-rw-r--r--src/mame/drivers/dacholer.c55
-rw-r--r--src/mame/drivers/dai3wksi.c32
-rw-r--r--src/mame/drivers/dambustr.c6
-rw-r--r--src/mame/drivers/darius.c117
-rw-r--r--src/mame/drivers/darkmist.c2
-rw-r--r--src/mame/drivers/darkseal.c1
-rw-r--r--src/mame/drivers/dassault.c1
-rw-r--r--src/mame/drivers/dblewing.c138
-rw-r--r--src/mame/drivers/dbz.c43
-rw-r--r--src/mame/drivers/dcheese.c22
-rw-r--r--src/mame/drivers/dcon.c2
-rw-r--r--src/mame/drivers/dday.c26
-rw-r--r--src/mame/drivers/ddayjlc.c63
-rw-r--r--src/mame/drivers/ddealer.c35
-rw-r--r--src/mame/drivers/ddenlovr.c438
-rw-r--r--src/mame/drivers/ddragon.c66
-rw-r--r--src/mame/drivers/ddragon3.c45
-rw-r--r--src/mame/drivers/ddribble.c46
-rw-r--r--src/mame/drivers/ddz.c6
-rw-r--r--src/mame/drivers/deadang.c1
-rw-r--r--src/mame/drivers/dec0.c16
-rw-r--r--src/mame/drivers/dec8.c116
-rw-r--r--src/mame/drivers/deco156.c14
-rw-r--r--src/mame/drivers/deco32.c27
-rw-r--r--src/mame/drivers/deco_ld.c4
-rw-r--r--src/mame/drivers/deco_mlc.c15
-rw-r--r--src/mame/drivers/decocass.c96
-rw-r--r--src/mame/drivers/deniam.c49
-rw-r--r--src/mame/drivers/deshoros.c9
-rw-r--r--src/mame/drivers/destroyr.c68
-rw-r--r--src/mame/drivers/dfruit.c4
-rw-r--r--src/mame/drivers/dgpix.c20
-rw-r--r--src/mame/drivers/dietgo.c10
-rw-r--r--src/mame/drivers/discoboy.c36
-rw-r--r--src/mame/drivers/diverboy.c11
-rw-r--r--src/mame/drivers/djboy.c81
-rw-r--r--src/mame/drivers/djmain.c41
-rw-r--r--src/mame/drivers/dkong.c143
-rw-r--r--src/mame/drivers/dlair.c30
-rw-r--r--src/mame/drivers/dmndrby.c25
-rw-r--r--src/mame/drivers/docastle.c40
-rw-r--r--src/mame/drivers/dogfgt.c40
-rw-r--r--src/mame/drivers/dominob.c6
-rw-r--r--src/mame/drivers/dooyong.c47
-rw-r--r--src/mame/drivers/dorachan.c16
-rw-r--r--src/mame/drivers/dotrikun.c14
-rw-r--r--src/mame/drivers/dragrace.c56
-rw-r--r--src/mame/drivers/dreamwld.c45
-rw-r--r--src/mame/drivers/drgnmst.c41
-rw-r--r--src/mame/drivers/dribling.c37
-rw-r--r--src/mame/drivers/drmicro.c24
-rw-r--r--src/mame/drivers/drtomy.c25
-rw-r--r--src/mame/drivers/drw80pkr.c24
-rw-r--r--src/mame/drivers/dunhuang.c109
-rw-r--r--src/mame/drivers/dwarfd.c98
-rw-r--r--src/mame/drivers/dynadice.c31
-rw-r--r--src/mame/drivers/dynax.c286
-rw-r--r--src/mame/drivers/dynduke.c1
-rw-r--r--src/mame/drivers/ecoinfr.c59
-rw-r--r--src/mame/drivers/egghunt.c35
-rw-r--r--src/mame/drivers/embargo.c22
-rw-r--r--src/mame/drivers/enigma2.c40
-rw-r--r--src/mame/drivers/eolith.c10
-rw-r--r--src/mame/drivers/eolith16.c15
-rw-r--r--src/mame/drivers/epos.c33
-rw-r--r--src/mame/drivers/eprom.c31
-rw-r--r--src/mame/drivers/equites.c108
-rw-r--r--src/mame/drivers/ertictac.c14
-rw-r--r--src/mame/drivers/esd16.c21
-rw-r--r--src/mame/drivers/esh.c16
-rw-r--r--src/mame/drivers/espial.c26
-rw-r--r--src/mame/drivers/esripsys.c1
-rw-r--r--src/mame/drivers/ettrivia.c21
-rw-r--r--src/mame/drivers/exedexes.c26
-rw-r--r--src/mame/drivers/exerion.c40
-rw-r--r--src/mame/drivers/exidy.c8
-rw-r--r--src/mame/drivers/exidy440.c18
-rw-r--r--src/mame/drivers/expro02.c15
-rw-r--r--src/mame/drivers/exprraid.c23
-rw-r--r--src/mame/drivers/exterm.c1
-rw-r--r--src/mame/drivers/f1gp.c57
-rw-r--r--src/mame/drivers/famibox.c53
-rw-r--r--src/mame/drivers/fantland.c92
-rw-r--r--src/mame/drivers/fastfred.c13
-rw-r--r--src/mame/drivers/fastlane.c14
-rw-r--r--src/mame/drivers/fcombat.c50
-rw-r--r--src/mame/drivers/fcrash.c55
-rw-r--r--src/mame/drivers/feversoc.c4
-rw-r--r--src/mame/drivers/fgoal.c56
-rw-r--r--src/mame/drivers/finalizr.c32
-rw-r--r--src/mame/drivers/firebeat.c52
-rw-r--r--src/mame/drivers/firefox.c28
-rw-r--r--src/mame/drivers/firetrap.c82
-rw-r--r--src/mame/drivers/firetrk.c15
-rw-r--r--src/mame/drivers/fitfight.c16
-rw-r--r--src/mame/drivers/flipjack.c31
-rw-r--r--src/mame/drivers/flkatck.c33
-rw-r--r--src/mame/drivers/flower.c2
-rw-r--r--src/mame/drivers/flstory.c154
-rw-r--r--src/mame/drivers/flyball.c67
-rw-r--r--src/mame/drivers/foodf.c22
-rw-r--r--src/mame/drivers/forte2.c14
-rw-r--r--src/mame/drivers/fortecar.c21
-rw-r--r--src/mame/drivers/freekick.c67
-rw-r--r--src/mame/drivers/fromanc2.c64
-rw-r--r--src/mame/drivers/fromance.c78
-rw-r--r--src/mame/drivers/funkball.c40
-rw-r--r--src/mame/drivers/funkybee.c14
-rw-r--r--src/mame/drivers/funkyjet.c12
-rw-r--r--src/mame/drivers/funworld.c6
-rw-r--r--src/mame/drivers/funybubl.c17
-rw-r--r--src/mame/drivers/fuukifg2.c27
-rw-r--r--src/mame/drivers/fuukifg3.c31
-rw-r--r--src/mame/drivers/gaelco.c17
-rw-r--r--src/mame/drivers/gaelco2.c12
-rw-r--r--src/mame/drivers/gaelco3d.c57
-rw-r--r--src/mame/drivers/gaiden.c88
-rw-r--r--src/mame/drivers/gal3.c10
-rw-r--r--src/mame/drivers/galaga.c64
-rw-r--r--src/mame/drivers/galastrm.c1
-rw-r--r--src/mame/drivers/galaxi.c53
-rw-r--r--src/mame/drivers/galaxia.c8
-rw-r--r--src/mame/drivers/galaxian.c10
-rw-r--r--src/mame/drivers/galaxold.c58
-rw-r--r--src/mame/drivers/galgame.c23
-rw-r--r--src/mame/drivers/galivan.c80
-rw-r--r--src/mame/drivers/galpani2.c7
-rw-r--r--src/mame/drivers/galpani3.c9
-rw-r--r--src/mame/drivers/galpanic.c4
-rw-r--r--src/mame/drivers/galspnbl.c7
-rw-r--r--src/mame/drivers/gamecstl.c29
-rw-r--r--src/mame/drivers/gameplan.c36
-rw-r--r--src/mame/drivers/gaplus.c10
-rw-r--r--src/mame/drivers/gatron.c2
-rw-r--r--src/mame/drivers/gauntlet.c28
-rw-r--r--src/mame/drivers/gberet.c34
-rw-r--r--src/mame/drivers/gbusters.c39
-rw-r--r--src/mame/drivers/gcpinbal.c57
-rw-r--r--src/mame/drivers/gei.c13
-rw-r--r--src/mame/drivers/ghosteo.c9
-rw-r--r--src/mame/drivers/gijoe.c27
-rw-r--r--src/mame/drivers/ginganin.c19
-rw-r--r--src/mame/drivers/gladiatr.c23
-rw-r--r--src/mame/drivers/glass.c25
-rw-r--r--src/mame/drivers/gng.c43
-rw-r--r--src/mame/drivers/go2000.c17
-rw-r--r--src/mame/drivers/goal92.c27
-rw-r--r--src/mame/drivers/goindol.c21
-rw-r--r--src/mame/drivers/goldngam.c8
-rw-r--r--src/mame/drivers/goldnpkr.c59
-rw-r--r--src/mame/drivers/goldstar.c108
-rw-r--r--src/mame/drivers/gomoku.c2
-rw-r--r--src/mame/drivers/good.c11
-rw-r--r--src/mame/drivers/gotcha.c23
-rw-r--r--src/mame/drivers/gottlieb.c59
-rw-r--r--src/mame/drivers/gotya.c20
-rw-r--r--src/mame/drivers/gpworld.c4
-rw-r--r--src/mame/drivers/gradius3.c39
-rw-r--r--src/mame/drivers/grchamp.c7
-rw-r--r--src/mame/drivers/gridlee.c30
-rw-r--r--src/mame/drivers/groundfx.c1
-rw-r--r--src/mame/drivers/gstream.c61
-rw-r--r--src/mame/drivers/gstriker.c6
-rw-r--r--src/mame/drivers/gsword.c21
-rw-r--r--src/mame/drivers/gticlub.c28
-rw-r--r--src/mame/drivers/guab.c20
-rw-r--r--src/mame/drivers/gumbo.c1
-rw-r--r--src/mame/drivers/gunbustr.c1
-rw-r--r--src/mame/drivers/gundealr.c27
-rw-r--r--src/mame/drivers/gunpey.c15
-rw-r--r--src/mame/drivers/gunsmoke.c30
-rw-r--r--src/mame/drivers/gyruss.c10
-rw-r--r--src/mame/drivers/halleys.c53
-rw-r--r--src/mame/drivers/hanaawas.c14
-rw-r--r--src/mame/drivers/harddriv.c6
-rw-r--r--src/mame/drivers/hcastle.c40
-rw-r--r--src/mame/drivers/hexion.c1
-rw-r--r--src/mame/drivers/higemaru.c2
-rw-r--r--src/mame/drivers/highvdeo.c7
-rw-r--r--src/mame/drivers/hikaru.c8
-rw-r--r--src/mame/drivers/himesiki.c25
-rw-r--r--src/mame/drivers/hitme.c22
-rw-r--r--src/mame/drivers/hitpoker.c11
-rw-r--r--src/mame/drivers/hnayayoi.c33
-rw-r--r--src/mame/drivers/hng64.c49
-rw-r--r--src/mame/drivers/holeland.c5
-rw-r--r--src/mame/drivers/homedata.c170
-rw-r--r--src/mame/drivers/homerun.c49
-rw-r--r--src/mame/drivers/hornet.c60
-rw-r--r--src/mame/drivers/hotblock.c7
-rw-r--r--src/mame/drivers/hotstuff.c4
-rw-r--r--src/mame/drivers/hvyunit.c33
-rw-r--r--src/mame/drivers/hyhoo.c1
-rw-r--r--src/mame/drivers/hyperspt.c4
-rw-r--r--src/mame/drivers/hyprduel.c47
-rw-r--r--src/mame/drivers/igs009.c62
-rw-r--r--src/mame/drivers/igs011.c9
-rw-r--r--src/mame/drivers/igs017.c90
-rw-r--r--src/mame/drivers/igs_m027.c15
-rw-r--r--src/mame/drivers/igspoker.c30
-rw-r--r--src/mame/drivers/ikki.c18
-rw-r--r--src/mame/drivers/imolagp.c57
-rw-r--r--src/mame/drivers/intrscti.c4
-rw-r--r--src/mame/drivers/inufuku.c57
-rw-r--r--src/mame/drivers/iqblock.c1
-rw-r--r--src/mame/drivers/irobot.c3
-rw-r--r--src/mame/drivers/ironhors.c28
-rw-r--r--src/mame/drivers/istellar.c14
-rw-r--r--src/mame/drivers/itech32.c27
-rw-r--r--src/mame/drivers/itech8.c27
-rw-r--r--src/mame/drivers/itgambl2.c23
-rw-r--r--src/mame/drivers/itgambl3.c23
-rw-r--r--src/mame/drivers/jack.c35
-rw-r--r--src/mame/drivers/jackal.c34
-rw-r--r--src/mame/drivers/jackie.c34
-rw-r--r--src/mame/drivers/jackpool.c4
-rw-r--r--src/mame/drivers/jailbrek.c18
-rw-r--r--src/mame/drivers/jalmah.c122
-rw-r--r--src/mame/drivers/jangou.c107
-rw-r--r--src/mame/drivers/jantotsu.c55
-rw-r--r--src/mame/drivers/jchan.c25
-rw-r--r--src/mame/drivers/jclub2.c28
-rw-r--r--src/mame/drivers/jedi.c20
-rw-r--r--src/mame/drivers/jokrwild.c11
-rw-r--r--src/mame/drivers/jollyjgr.c51
-rw-r--r--src/mame/drivers/jongkyo.c32
-rw-r--r--src/mame/drivers/jpmimpct.c78
-rw-r--r--src/mame/drivers/jpmsys5.c52
-rw-r--r--src/mame/drivers/jrpacman.c4
-rw-r--r--src/mame/drivers/jubilee.c11
-rw-r--r--src/mame/drivers/junofrst.c60
-rw-r--r--src/mame/drivers/kaneko16.c36
-rw-r--r--src/mame/drivers/kangaroo.c26
-rw-r--r--src/mame/drivers/karnov.c58
-rw-r--r--src/mame/drivers/kas89.c16
-rw-r--r--src/mame/drivers/kchamp.c37
-rw-r--r--src/mame/drivers/kickgoal.c48
-rw-r--r--src/mame/drivers/kingdrby.c33
-rw-r--r--src/mame/drivers/kingobox.c32
-rw-r--r--src/mame/drivers/kinst.c24
-rw-r--r--src/mame/drivers/klax.c19
-rw-r--r--src/mame/drivers/kncljoe.c32
-rw-r--r--src/mame/drivers/koftball.c11
-rw-r--r--src/mame/drivers/koikoi.c45
-rw-r--r--src/mame/drivers/konamigq.c19
-rw-r--r--src/mame/drivers/konamigv.c29
-rw-r--r--src/mame/drivers/konamigx.c52
-rw-r--r--src/mame/drivers/konamim2.c4
-rw-r--r--src/mame/drivers/kontest.c8
-rw-r--r--src/mame/drivers/kopunch.c16
-rw-r--r--src/mame/drivers/ksayakyu.c26
-rw-r--r--src/mame/drivers/ksys573.c14
-rw-r--r--src/mame/drivers/kungfur.c22
-rw-r--r--src/mame/drivers/kyugo.c45
-rw-r--r--src/mame/drivers/labyrunr.c12
-rw-r--r--src/mame/drivers/ladybug.c75
-rw-r--r--src/mame/drivers/ladyfrog.c37
-rw-r--r--src/mame/drivers/laserbas.c27
-rw-r--r--src/mame/drivers/laserbat.c125
-rw-r--r--src/mame/drivers/lasso.c42
-rw-r--r--src/mame/drivers/lastbank.c6
-rw-r--r--src/mame/drivers/lastduel.c32
-rw-r--r--src/mame/drivers/lastfght.c91
-rw-r--r--src/mame/drivers/lazercmd.c49
-rw-r--r--src/mame/drivers/legionna.c14
-rw-r--r--src/mame/drivers/leland.c4
-rw-r--r--src/mame/drivers/lemmings.c7
-rw-r--r--src/mame/drivers/lethal.c47
-rw-r--r--src/mame/drivers/lethalj.c1
-rw-r--r--src/mame/drivers/lgp.c9
-rw-r--r--src/mame/drivers/liberate.c52
-rw-r--r--src/mame/drivers/limenko.c20
-rw-r--r--src/mame/drivers/littlerb.c17
-rw-r--r--src/mame/drivers/lkage.c108
-rw-r--r--src/mame/drivers/lockon.c100
-rw-r--r--src/mame/drivers/looping.c24
-rw-r--r--src/mame/drivers/lordgun.c2
-rw-r--r--src/mame/drivers/lsasquad.c96
-rw-r--r--src/mame/drivers/ltcasino.c7
-rw-r--r--src/mame/drivers/luckgrln.c33
-rw-r--r--src/mame/drivers/lucky74.c2
-rw-r--r--src/mame/drivers/lvcards.c28
-rw-r--r--src/mame/drivers/lwings.c55
-rw-r--r--src/mame/drivers/m10.c46
-rw-r--r--src/mame/drivers/m107.c4
-rw-r--r--src/mame/drivers/m14.c29
-rw-r--r--src/mame/drivers/m52.c16
-rw-r--r--src/mame/drivers/m57.c2
-rw-r--r--src/mame/drivers/m58.c2
-rw-r--r--src/mame/drivers/m62.c66
-rw-r--r--src/mame/drivers/m63.c77
-rw-r--r--src/mame/drivers/m72.c123
-rw-r--r--src/mame/drivers/m90.c11
-rw-r--r--src/mame/drivers/m92.c22
-rw-r--r--src/mame/drivers/macrossp.c29
-rw-r--r--src/mame/drivers/macs.c30
-rw-r--r--src/mame/drivers/madmotor.c17
-rw-r--r--src/mame/drivers/magic10.c15
-rw-r--r--src/mame/drivers/magicard.c15
-rw-r--r--src/mame/drivers/magicfly.c53
-rw-r--r--src/mame/drivers/magictg.c4
-rw-r--r--src/mame/drivers/magmax.c22
-rw-r--r--src/mame/drivers/magtouch.c14
-rw-r--r--src/mame/drivers/mainevt.c34
-rw-r--r--src/mame/drivers/mainsnk.c2
-rw-r--r--src/mame/drivers/majorpkr.c13
-rw-r--r--src/mame/drivers/malzak.c35
-rw-r--r--src/mame/drivers/mappy.c54
-rw-r--r--src/mame/drivers/marineb.c37
-rw-r--r--src/mame/drivers/marinedt.c115
-rw-r--r--src/mame/drivers/mario.c2
-rw-r--r--src/mame/drivers/markham.c2
-rw-r--r--src/mame/drivers/mastboy.c28
-rw-r--r--src/mame/drivers/matmania.c85
-rw-r--r--src/mame/drivers/maxaflex.c16
-rw-r--r--src/mame/drivers/maygay1b.c19
-rw-r--r--src/mame/drivers/maygayv1.c30
-rw-r--r--src/mame/drivers/mayumi.c31
-rw-r--r--src/mame/drivers/mazerbla.c156
-rw-r--r--src/mame/drivers/mcatadv.c19
-rw-r--r--src/mame/drivers/mcr.c8
-rw-r--r--src/mame/drivers/mcr3.c10
-rw-r--r--src/mame/drivers/mcr68.c12
-rw-r--r--src/mame/drivers/meadows.c12
-rw-r--r--src/mame/drivers/mediagx.c48
-rw-r--r--src/mame/drivers/megaplay.c23
-rw-r--r--src/mame/drivers/megasys1.c40
-rw-r--r--src/mame/drivers/megatech.c21
-rw-r--r--src/mame/drivers/megazone.c24
-rw-r--r--src/mame/drivers/meijinsn.c36
-rw-r--r--src/mame/drivers/merit.c36
-rw-r--r--src/mame/drivers/meritm.c95
-rw-r--r--src/mame/drivers/mermaid.c76
-rw-r--r--src/mame/drivers/metalmx.c13
-rw-r--r--src/mame/drivers/metlclsh.c23
-rw-r--r--src/mame/drivers/metro.c180
-rw-r--r--src/mame/drivers/mexico86.c88
-rw-r--r--src/mame/drivers/meyc8088.c12
-rw-r--r--src/mame/drivers/mgolf.c41
-rw-r--r--src/mame/drivers/mhavoc.c2
-rw-r--r--src/mame/drivers/micro3d.c3
-rw-r--r--src/mame/drivers/midas.c14
-rw-r--r--src/mame/drivers/midqslvr.c49
-rw-r--r--src/mame/drivers/midtunit.c4
-rw-r--r--src/mame/drivers/midvunit.c54
-rw-r--r--src/mame/drivers/midwunit.c4
-rw-r--r--src/mame/drivers/midxunit.c4
-rw-r--r--src/mame/drivers/midyunit.c18
-rw-r--r--src/mame/drivers/midzeus.c47
-rw-r--r--src/mame/drivers/mikie.c22
-rw-r--r--src/mame/drivers/mil4000.c21
-rw-r--r--src/mame/drivers/miniboy7.c17
-rw-r--r--src/mame/drivers/mirage.c20
-rw-r--r--src/mame/drivers/mirax.c10
-rw-r--r--src/mame/drivers/missb2.c34
-rw-r--r--src/mame/drivers/missile.c42
-rw-r--r--src/mame/drivers/mitchell.c60
-rw-r--r--src/mame/drivers/mjkjidai.c1
-rw-r--r--src/mame/drivers/mjsister.c93
-rw-r--r--src/mame/drivers/mlanding.c23
-rw-r--r--src/mame/drivers/model1.c46
-rw-r--r--src/mame/drivers/model2.c133
-rw-r--r--src/mame/drivers/model3.c58
-rw-r--r--src/mame/drivers/mogura.c28
-rw-r--r--src/mame/drivers/mole.c31
-rw-r--r--src/mame/drivers/momoko.c58
-rw-r--r--src/mame/drivers/monzagp.c13
-rw-r--r--src/mame/drivers/moo.c62
-rw-r--r--src/mame/drivers/mosaic.c13
-rw-r--r--src/mame/drivers/mouser.c21
-rw-r--r--src/mame/drivers/mpoker.c10
-rw-r--r--src/mame/drivers/mpu3.c41
-rw-r--r--src/mame/drivers/mpu4dealem.c47
-rw-r--r--src/mame/drivers/mpu4hw.c108
-rw-r--r--src/mame/drivers/mpu4vid.c76
-rw-r--r--src/mame/drivers/mpu5hw.c9
-rw-r--r--src/mame/drivers/mquake.c10
-rw-r--r--src/mame/drivers/mrdo.c2
-rw-r--r--src/mame/drivers/mrflea.c32
-rw-r--r--src/mame/drivers/mrjong.c2
-rw-r--r--src/mame/drivers/ms32.c14
-rw-r--r--src/mame/drivers/msisaac.c52
-rw-r--r--src/mame/drivers/mugsmash.c9
-rw-r--r--src/mame/drivers/multfish.c60
-rw-r--r--src/mame/drivers/multigam.c113
-rw-r--r--src/mame/drivers/munchmo.c26
-rw-r--r--src/mame/drivers/murogem.c4
-rw-r--r--src/mame/drivers/murogmbl.c12
-rw-r--r--src/mame/drivers/mustache.c8
-rw-r--r--src/mame/drivers/mw8080bw.c99
-rw-r--r--src/mame/drivers/mwarr.c41
-rw-r--r--src/mame/drivers/mystwarr.c69
-rw-r--r--src/mame/drivers/n8080.c97
-rw-r--r--src/mame/drivers/namcofl.c24
-rw-r--r--src/mame/drivers/namcona1.c15
-rw-r--r--src/mame/drivers/namconb1.c17
-rw-r--r--src/mame/drivers/namcond1.c2
-rw-r--r--src/mame/drivers/namcos1.c2
-rw-r--r--src/mame/drivers/namcos10.c7
-rw-r--r--src/mame/drivers/namcos11.c8
-rw-r--r--src/mame/drivers/namcos12.c84
-rw-r--r--src/mame/drivers/namcos2.c32
-rw-r--r--src/mame/drivers/namcos21.c22
-rw-r--r--src/mame/drivers/namcos22.c10
-rw-r--r--src/mame/drivers/namcos23.c49
-rw-r--r--src/mame/drivers/namcos86.c9
-rw-r--r--src/mame/drivers/naomi.c11
-rw-r--r--src/mame/drivers/naughtyb.c4
-rw-r--r--src/mame/drivers/nbmj8688.c20
-rw-r--r--src/mame/drivers/nbmj8891.c15
-rw-r--r--src/mame/drivers/nbmj8900.c1
-rw-r--r--src/mame/drivers/nbmj8991.c18
-rw-r--r--src/mame/drivers/nbmj9195.c15
-rw-r--r--src/mame/drivers/nemesis.c92
-rw-r--r--src/mame/drivers/neogeo.c90
-rw-r--r--src/mame/drivers/neoprint.c13
-rw-r--r--src/mame/drivers/news.c13
-rw-r--r--src/mame/drivers/nexus3d.c10
-rw-r--r--src/mame/drivers/nightgal.c59
-rw-r--r--src/mame/drivers/ninjakd2.c30
-rw-r--r--src/mame/drivers/ninjaw.c66
-rw-r--r--src/mame/drivers/nitedrvr.c3
-rw-r--r--src/mame/drivers/niyanpai.c11
-rw-r--r--src/mame/drivers/nmg5.c37
-rw-r--r--src/mame/drivers/nmk16.c86
-rw-r--r--src/mame/drivers/norautp.c25
-rw-r--r--src/mame/drivers/nova2001.c19
-rw-r--r--src/mame/drivers/nsmpoker.c11
-rw-r--r--src/mame/drivers/nss.c28
-rw-r--r--src/mame/drivers/nwk-tr.c17
-rw-r--r--src/mame/drivers/nycaptor.c130
-rw-r--r--src/mame/drivers/nyny.c40
-rw-r--r--src/mame/drivers/offtwall.c19
-rw-r--r--src/mame/drivers/ohmygod.c29
-rw-r--r--src/mame/drivers/ojankohs.c100
-rw-r--r--src/mame/drivers/olibochu.c31
-rw-r--r--src/mame/drivers/omegrace.c6
-rw-r--r--src/mame/drivers/oneshot.c47
-rw-r--r--src/mame/drivers/onetwo.c20
-rw-r--r--src/mame/drivers/opwolf.c58
-rw-r--r--src/mame/drivers/orbit.c21
-rw-r--r--src/mame/drivers/othello.c72
-rw-r--r--src/mame/drivers/othldrby.c25
-rw-r--r--src/mame/drivers/othunder.c57
-rw-r--r--src/mame/drivers/overdriv.c52
-rw-r--r--src/mame/drivers/pachifev.c32
-rw-r--r--src/mame/drivers/pacland.c2
-rw-r--r--src/mame/drivers/pacman.c39
-rw-r--r--src/mame/drivers/pandoras.c44
-rw-r--r--src/mame/drivers/pangofun.c10
-rw-r--r--src/mame/drivers/panicr.c29
-rw-r--r--src/mame/drivers/paradise.c27
-rw-r--r--src/mame/drivers/parodius.c48
-rw-r--r--src/mame/drivers/pasha2.c27
-rw-r--r--src/mame/drivers/pass.c1
-rw-r--r--src/mame/drivers/pastelg.c4
-rw-r--r--src/mame/drivers/pbaction.c17
-rw-r--r--src/mame/drivers/pcat_dyn.c10
-rw-r--r--src/mame/drivers/pcat_nit.c14
-rw-r--r--src/mame/drivers/pcktgal.c1
-rw-r--r--src/mame/drivers/pcxt.c19
-rw-r--r--src/mame/drivers/pengadvb.c24
-rw-r--r--src/mame/drivers/pengo.c6
-rw-r--r--src/mame/drivers/peplus.c52
-rw-r--r--src/mame/drivers/peyper.c7
-rw-r--r--src/mame/drivers/pgm.c21
-rw-r--r--src/mame/drivers/pgm2.c12
-rw-r--r--src/mame/drivers/phoenix.c18
-rw-r--r--src/mame/drivers/photon.c12
-rw-r--r--src/mame/drivers/photon2.c21
-rw-r--r--src/mame/drivers/photoply.c21
-rw-r--r--src/mame/drivers/pingpong.c2
-rw-r--r--src/mame/drivers/pinkiri8.c4
-rw-r--r--src/mame/drivers/pipedrm.c60
-rw-r--r--src/mame/drivers/pipeline.c23
-rw-r--r--src/mame/drivers/pirates.c1
-rw-r--r--src/mame/drivers/pitnrun.c3
-rw-r--r--src/mame/drivers/pkscram.c37
-rw-r--r--src/mame/drivers/pktgaldx.c11
-rw-r--r--src/mame/drivers/playch10.c8
-rw-r--r--src/mame/drivers/playmark.c102
-rw-r--r--src/mame/drivers/pluto5.c9
-rw-r--r--src/mame/drivers/plygonet.c10
-rw-r--r--src/mame/drivers/pokechmp.c1
-rw-r--r--src/mame/drivers/poker72.c18
-rw-r--r--src/mame/drivers/polepos.c23
-rw-r--r--src/mame/drivers/policetr.c1
-rw-r--r--src/mame/drivers/polyplay.c28
-rw-r--r--src/mame/drivers/poo.c12
-rw-r--r--src/mame/drivers/poolshrk.c12
-rw-r--r--src/mame/drivers/pooyan.c16
-rw-r--r--src/mame/drivers/popeye.c8
-rw-r--r--src/mame/drivers/popobear.c4
-rw-r--r--src/mame/drivers/popper.c24
-rw-r--r--src/mame/drivers/portrait.c2
-rw-r--r--src/mame/drivers/potgoldu.c8
-rw-r--r--src/mame/drivers/powerbal.c31
-rw-r--r--src/mame/drivers/powerins.c7
-rw-r--r--src/mame/drivers/ppmast93.c11
-rw-r--r--src/mame/drivers/prehisle.c1
-rw-r--r--src/mame/drivers/proconn.c7
-rw-r--r--src/mame/drivers/progolf.c23
-rw-r--r--src/mame/drivers/psattack.c12
-rw-r--r--src/mame/drivers/psikyo.c40
-rw-r--r--src/mame/drivers/psikyo4.c19
-rw-r--r--src/mame/drivers/psikyosh.c9
-rw-r--r--src/mame/drivers/psychic5.c17
-rw-r--r--src/mame/drivers/pturn.c22
-rw-r--r--src/mame/drivers/punchout.c11
-rw-r--r--src/mame/drivers/pushman.c45
-rw-r--r--src/mame/drivers/pzletime.c33
-rw-r--r--src/mame/drivers/qdrmfgp.c34
-rw-r--r--src/mame/drivers/qix.c3
-rw-r--r--src/mame/drivers/quakeat.c15
-rw-r--r--src/mame/drivers/quasar.c30
-rw-r--r--src/mame/drivers/queen.c49
-rw-r--r--src/mame/drivers/quizdna.c1
-rw-r--r--src/mame/drivers/quizo.c8
-rw-r--r--src/mame/drivers/quizpani.c1
-rw-r--r--src/mame/drivers/quizpun2.c20
-rw-r--r--src/mame/drivers/quizshow.c28
-rw-r--r--src/mame/drivers/r2dtank.c11
-rw-r--r--src/mame/drivers/r2dx_v33.c26
-rw-r--r--src/mame/drivers/rabbit.c43
-rw-r--r--src/mame/drivers/raiden.c5
-rw-r--r--src/mame/drivers/raiden2.c79
-rw-r--r--src/mame/drivers/rainbow.c15
-rw-r--r--src/mame/drivers/rallyx.c40
-rw-r--r--src/mame/drivers/rampart.c21
-rw-r--r--src/mame/drivers/rastan.c38
-rw-r--r--src/mame/drivers/rbmk.c4
-rw-r--r--src/mame/drivers/realbrk.c1
-rw-r--r--src/mame/drivers/redclash.c54
-rw-r--r--src/mame/drivers/relief.c27
-rw-r--r--src/mame/drivers/renegade.c25
-rw-r--r--src/mame/drivers/retofinv.c2
-rw-r--r--src/mame/drivers/rgum.c4
-rw-r--r--src/mame/drivers/rltennis.c27
-rw-r--r--src/mame/drivers/rmhaihai.c15
-rw-r--r--src/mame/drivers/rockrage.c29
-rw-r--r--src/mame/drivers/rocnrope.c2
-rw-r--r--src/mame/drivers/rohga.c8
-rw-r--r--src/mame/drivers/rollerg.c33
-rw-r--r--src/mame/drivers/rollrace.c1
-rw-r--r--src/mame/drivers/roul.c15
-rw-r--r--src/mame/drivers/royalmah.c21
-rw-r--r--src/mame/drivers/rpunch.c6
-rw-r--r--src/mame/drivers/runaway.c15
-rw-r--r--src/mame/drivers/rungun.c49
-rw-r--r--src/mame/drivers/safarir.c46
-rw-r--r--src/mame/drivers/sandscrp.c5
-rw-r--r--src/mame/drivers/sangho.c41
-rw-r--r--src/mame/drivers/saturn.c266
-rw-r--r--src/mame/drivers/sauro.c4
-rw-r--r--src/mame/drivers/savquest.c25
-rw-r--r--src/mame/drivers/sbasketb.c2
-rw-r--r--src/mame/drivers/sbowling.c19
-rw-r--r--src/mame/drivers/sbrkout.c33
-rw-r--r--src/mame/drivers/sbugger.c2
-rw-r--r--src/mame/drivers/scobra.c30
-rw-r--r--src/mame/drivers/scotrsht.c2
-rw-r--r--src/mame/drivers/scramble.c50
-rw-r--r--src/mame/drivers/scregg.c52
-rw-r--r--src/mame/drivers/sderby.c4
-rw-r--r--src/mame/drivers/seattle.c104
-rw-r--r--src/mame/drivers/segac2.c46
-rw-r--r--src/mame/drivers/segag80r.c4
-rw-r--r--src/mame/drivers/segag80v.c15
-rw-r--r--src/mame/drivers/segajw.c4
-rw-r--r--src/mame/drivers/segald.c4
-rw-r--r--src/mame/drivers/segas24.c44
-rw-r--r--src/mame/drivers/segas32.c19
-rw-r--r--src/mame/drivers/seibuspi.c90
-rw-r--r--src/mame/drivers/seicross.c7
-rw-r--r--src/mame/drivers/senjyo.c7
-rw-r--r--src/mame/drivers/seta.c138
-rw-r--r--src/mame/drivers/seta2.c25
-rw-r--r--src/mame/drivers/sf.c25
-rw-r--r--src/mame/drivers/sfbonus.c45
-rw-r--r--src/mame/drivers/sfcbox.c22
-rw-r--r--src/mame/drivers/sfkick.c25
-rw-r--r--src/mame/drivers/shadfrce.c1
-rw-r--r--src/mame/drivers/shangha3.c3
-rw-r--r--src/mame/drivers/shanghai.c15
-rw-r--r--src/mame/drivers/shangkid.c20
-rw-r--r--src/mame/drivers/shaolins.c2
-rw-r--r--src/mame/drivers/shisen.c1
-rw-r--r--src/mame/drivers/shootout.c4
-rw-r--r--src/mame/drivers/shougi.c10
-rw-r--r--src/mame/drivers/shtzone.c12
-rw-r--r--src/mame/drivers/shuuz.c19
-rw-r--r--src/mame/drivers/sidearms.c3
-rw-r--r--src/mame/drivers/sidepckt.c2
-rw-r--r--src/mame/drivers/sigmab52.c22
-rw-r--r--src/mame/drivers/sigmab98.c7
-rw-r--r--src/mame/drivers/silkroad.c1
-rw-r--r--src/mame/drivers/silvmil.c30
-rw-r--r--src/mame/drivers/simpl156.c1
-rw-r--r--src/mame/drivers/simpsons.c2
-rw-r--r--src/mame/drivers/skeetsht.c13
-rw-r--r--src/mame/drivers/skimaxx.c25
-rw-r--r--src/mame/drivers/skullxbo.c19
-rw-r--r--src/mame/drivers/skyarmy.c17
-rw-r--r--src/mame/drivers/skydiver.c7
-rw-r--r--src/mame/drivers/skyfox.c19
-rw-r--r--src/mame/drivers/skykid.c10
-rw-r--r--src/mame/drivers/skylncr.c29
-rw-r--r--src/mame/drivers/skyraid.c44
-rw-r--r--src/mame/drivers/slapfght.c16
-rw-r--r--src/mame/drivers/slapshot.c27
-rw-r--r--src/mame/drivers/sliver.c9
-rw-r--r--src/mame/drivers/slotcarn.c9
-rw-r--r--src/mame/drivers/sms.c45
-rw-r--r--src/mame/drivers/snk.c26
-rw-r--r--src/mame/drivers/snk6502.c40
-rw-r--r--src/mame/drivers/snk68.c3
-rw-r--r--src/mame/drivers/snookr10.c6
-rw-r--r--src/mame/drivers/snowbros.c18
-rw-r--r--src/mame/drivers/solomon.c1
-rw-r--r--src/mame/drivers/sonson.c16
-rw-r--r--src/mame/drivers/sothello.c4
-rw-r--r--src/mame/drivers/spacefb.c20
-rw-r--r--src/mame/drivers/spaceg.c40
-rw-r--r--src/mame/drivers/spbactn.c1
-rw-r--r--src/mame/drivers/spcforce.c5
-rw-r--r--src/mame/drivers/spdodgeb.c26
-rw-r--r--src/mame/drivers/speedatk.c2
-rw-r--r--src/mame/drivers/speedbal.c1
-rw-r--r--src/mame/drivers/speedspn.c1
-rw-r--r--src/mame/drivers/speglsht.c18
-rw-r--r--src/mame/drivers/spiders.c14
-rw-r--r--src/mame/drivers/splash.c23
-rw-r--r--src/mame/drivers/spoker.c22
-rw-r--r--src/mame/drivers/spool99.c7
-rw-r--r--src/mame/drivers/sprcros2.c10
-rw-r--r--src/mame/drivers/sprint2.c2
-rw-r--r--src/mame/drivers/sprint4.c22
-rw-r--r--src/mame/drivers/sprint8.c10
-rw-r--r--src/mame/drivers/spy.c47
-rw-r--r--src/mame/drivers/srmp2.c27
-rw-r--r--src/mame/drivers/srmp5.c2
-rw-r--r--src/mame/drivers/srmp6.c17
-rw-r--r--src/mame/drivers/srumbler.c9
-rw-r--r--src/mame/drivers/ssfindo.c6
-rw-r--r--src/mame/drivers/sshangha.c4
-rw-r--r--src/mame/drivers/sshot.c15
-rw-r--r--src/mame/drivers/ssingles.c7
-rw-r--r--src/mame/drivers/sslam.c4
-rw-r--r--src/mame/drivers/ssozumo.c2
-rw-r--r--src/mame/drivers/sspeedr.c6
-rw-r--r--src/mame/drivers/ssrj.c10
-rw-r--r--src/mame/drivers/ssv.c15
-rw-r--r--src/mame/drivers/st0016.c2
-rw-r--r--src/mame/drivers/stactics.c10
-rw-r--r--src/mame/drivers/stadhero.c1
-rw-r--r--src/mame/drivers/starcrus.c2
-rw-r--r--src/mame/drivers/starfire.c1
-rw-r--r--src/mame/drivers/starshp1.c2
-rw-r--r--src/mame/drivers/starwars.c16
-rw-r--r--src/mame/drivers/statriv2.c23
-rw-r--r--src/mame/drivers/stfight.c3
-rw-r--r--src/mame/drivers/stlforce.c1
-rw-r--r--src/mame/drivers/strnskil.c2
-rw-r--r--src/mame/drivers/su2000.c37
-rw-r--r--src/mame/drivers/sub.c20
-rw-r--r--src/mame/drivers/subs.c12
-rw-r--r--src/mame/drivers/subsino.c84
-rw-r--r--src/mame/drivers/subsino2.c93
-rw-r--r--src/mame/drivers/summit.c8
-rw-r--r--src/mame/drivers/suna16.c13
-rw-r--r--src/mame/drivers/suna8.c28
-rw-r--r--src/mame/drivers/supbtime.c11
-rw-r--r--src/mame/drivers/supdrapo.c23
-rw-r--r--src/mame/drivers/superchs.c1
-rw-r--r--src/mame/drivers/superdq.c32
-rw-r--r--src/mame/drivers/superqix.c28
-rw-r--r--src/mame/drivers/supertnk.c30
-rw-r--r--src/mame/drivers/superwng.c39
-rw-r--r--src/mame/drivers/suprgolf.c24
-rw-r--r--src/mame/drivers/suprloco.c2
-rw-r--r--src/mame/drivers/suprnova.c57
-rw-r--r--src/mame/drivers/suprridr.c2
-rw-r--r--src/mame/drivers/suprslam.c25
-rw-r--r--src/mame/drivers/surpratk.c44
-rw-r--r--src/mame/drivers/system1.c42
-rw-r--r--src/mame/drivers/system16.c14
-rw-r--r--src/mame/drivers/tagteam.c2
-rw-r--r--src/mame/drivers/tail2nos.c37
-rw-r--r--src/mame/drivers/taito_b.c106
-rw-r--r--src/mame/drivers/taito_f2.c93
-rw-r--r--src/mame/drivers/taito_f3.c13
-rw-r--r--src/mame/drivers/taito_h.c28
-rw-r--r--src/mame/drivers/taito_l.c187
-rw-r--r--src/mame/drivers/taito_o.c8
-rw-r--r--src/mame/drivers/taito_x.c26
-rw-r--r--src/mame/drivers/taito_z.c108
-rw-r--r--src/mame/drivers/taitoair.c39
-rw-r--r--src/mame/drivers/taitogn.c20
-rw-r--r--src/mame/drivers/taitojc.c35
-rw-r--r--src/mame/drivers/taitopjc.c4
-rw-r--r--src/mame/drivers/taitosj.c3
-rw-r--r--src/mame/drivers/taitotz.c39
-rw-r--r--src/mame/drivers/taitowlf.c37
-rw-r--r--src/mame/drivers/tank8.c8
-rw-r--r--src/mame/drivers/tankbatt.c2
-rw-r--r--src/mame/drivers/tankbust.c14
-rw-r--r--src/mame/drivers/taotaido.c1
-rw-r--r--src/mame/drivers/tapatune.c4
-rw-r--r--src/mame/drivers/targeth.c1
-rw-r--r--src/mame/drivers/tasman.c7
-rw-r--r--src/mame/drivers/tatsumi.c16
-rw-r--r--src/mame/drivers/tattack.c15
-rw-r--r--src/mame/drivers/tbowl.c11
-rw-r--r--src/mame/drivers/tceptor.c22
-rw-r--r--src/mame/drivers/tcl.c4
-rw-r--r--src/mame/drivers/tecmo.c17
-rw-r--r--src/mame/drivers/tecmo16.c5
-rw-r--r--src/mame/drivers/tecmosys.c7
-rw-r--r--src/mame/drivers/tehkanwc.c1
-rw-r--r--src/mame/drivers/tempest.c7
-rw-r--r--src/mame/drivers/terracre.c15
-rw-r--r--src/mame/drivers/tetrisp2.c12
-rw-r--r--src/mame/drivers/thayers.c40
-rw-r--r--src/mame/drivers/thedeep.c24
-rw-r--r--src/mame/drivers/thepit.c4
-rw-r--r--src/mame/drivers/thief.c3
-rw-r--r--src/mame/drivers/thoop2.c1
-rw-r--r--src/mame/drivers/thunderj.c22
-rw-r--r--src/mame/drivers/thunderx.c71
-rw-r--r--src/mame/drivers/tiamc1.c10
-rw-r--r--src/mame/drivers/tickee.c34
-rw-r--r--src/mame/drivers/tigeroad.c1
-rw-r--r--src/mame/drivers/timelimt.c12
-rw-r--r--src/mame/drivers/timeplt.c16
-rw-r--r--src/mame/drivers/timetrv.c4
-rw-r--r--src/mame/drivers/tmaster.c58
-rw-r--r--src/mame/drivers/tmmjprd.c13
-rw-r--r--src/mame/drivers/tmnt.c143
-rw-r--r--src/mame/drivers/tmspoker.c27
-rw-r--r--src/mame/drivers/tnzs.c32
-rw-r--r--src/mame/drivers/toaplan1.c32
-rw-r--r--src/mame/drivers/toaplan2.c125
-rw-r--r--src/mame/drivers/toki.c2
-rw-r--r--src/mame/drivers/tomcat.c25
-rw-r--r--src/mame/drivers/tonton.c8
-rw-r--r--src/mame/drivers/toobin.c17
-rw-r--r--src/mame/drivers/topspeed.c52
-rw-r--r--src/mame/drivers/toratora.c30
-rw-r--r--src/mame/drivers/toypop.c16
-rw-r--r--src/mame/drivers/tp84.c8
-rw-r--r--src/mame/drivers/trackfld.c44
-rw-r--r--src/mame/drivers/travrusa.c12
-rw-r--r--src/mame/drivers/triforce.c12
-rw-r--r--src/mame/drivers/triplhnt.c20
-rw-r--r--src/mame/drivers/truco.c33
-rw-r--r--src/mame/drivers/trucocl.c2
-rw-r--r--src/mame/drivers/trvmadns.c16
-rw-r--r--src/mame/drivers/trvquest.c28
-rw-r--r--src/mame/drivers/tryout.c2
-rw-r--r--src/mame/drivers/tsamurai.c7
-rw-r--r--src/mame/drivers/ttchamp.c9
-rw-r--r--src/mame/drivers/tubep.c44
-rw-r--r--src/mame/drivers/tugboat.c16
-rw-r--r--src/mame/drivers/tumbleb.c93
-rw-r--r--src/mame/drivers/tumblep.c10
-rw-r--r--src/mame/drivers/tunhunt.c2
-rw-r--r--src/mame/drivers/turbo.c19
-rw-r--r--src/mame/drivers/tutankhm.c30
-rw-r--r--src/mame/drivers/twin16.c31
-rw-r--r--src/mame/drivers/twincobr.c4
-rw-r--r--src/mame/drivers/twinkle.c9
-rw-r--r--src/mame/drivers/twins.c16
-rw-r--r--src/mame/drivers/tx1.c18
-rw-r--r--src/mame/drivers/uapce.c7
-rw-r--r--src/mame/drivers/ultraman.c37
-rw-r--r--src/mame/drivers/ultratnk.c7
-rw-r--r--src/mame/drivers/ultrsprt.c11
-rw-r--r--src/mame/drivers/umipoker.c31
-rw-r--r--src/mame/drivers/undrfire.c2
-rw-r--r--src/mame/drivers/unico.c18
-rw-r--r--src/mame/drivers/unkhorse.c6
-rw-r--r--src/mame/drivers/upscope.c6
-rw-r--r--src/mame/drivers/usgames.c2
-rw-r--r--src/mame/drivers/vaportra.c22
-rw-r--r--src/mame/drivers/vastar.c6
-rw-r--r--src/mame/drivers/vball.c1
-rw-r--r--src/mame/drivers/vcombat.c22
-rw-r--r--src/mame/drivers/vectrex.c3
-rw-r--r--src/mame/drivers/vega.c19
-rw-r--r--src/mame/drivers/vegaeo.c8
-rw-r--r--src/mame/drivers/vegas.c82
-rw-r--r--src/mame/drivers/vendetta.c50
-rw-r--r--src/mame/drivers/vertigo.c2
-rw-r--r--src/mame/drivers/vicdual.c2
-rw-r--r--src/mame/drivers/victory.c1
-rw-r--r--src/mame/drivers/videopin.c11
-rw-r--r--src/mame/drivers/videopkr.c70
-rw-r--r--src/mame/drivers/vigilant.c6
-rw-r--r--src/mame/drivers/vindictr.c19
-rw-r--r--src/mame/drivers/viper.c24
-rw-r--r--src/mame/drivers/vmetal.c20
-rw-r--r--src/mame/drivers/volfied.c18
-rw-r--r--src/mame/drivers/voyager.c25
-rw-r--r--src/mame/drivers/vpoker.c13
-rw-r--r--src/mame/drivers/vroulet.c7
-rw-r--r--src/mame/drivers/vsnes.c16
-rw-r--r--src/mame/drivers/vulgus.c2
-rw-r--r--src/mame/drivers/wallc.c17
-rw-r--r--src/mame/drivers/wardner.c4
-rw-r--r--src/mame/drivers/warpsped.c23
-rw-r--r--src/mame/drivers/warpwarp.c12
-rw-r--r--src/mame/drivers/warriorb.c50
-rw-r--r--src/mame/drivers/wc90.c3
-rw-r--r--src/mame/drivers/wc90b.c1
-rw-r--r--src/mame/drivers/wecleman.c19
-rw-r--r--src/mame/drivers/welltris.c1
-rw-r--r--src/mame/drivers/wgp.c47
-rw-r--r--src/mame/drivers/wheelfir.c40
-rw-r--r--src/mame/drivers/whitestar.c22
-rw-r--r--src/mame/drivers/wildpkr.c12
-rw-r--r--src/mame/drivers/williams.c30
-rw-r--r--src/mame/drivers/wink.c14
-rw-r--r--src/mame/drivers/wiping.c1
-rw-r--r--src/mame/drivers/witch.c23
-rw-r--r--src/mame/drivers/wiz.c8
-rw-r--r--src/mame/drivers/wolfpack.c7
-rw-r--r--src/mame/drivers/wrally.c1
-rw-r--r--src/mame/drivers/wwfsstar.c1
-rw-r--r--src/mame/drivers/wwfwfest.c3
-rw-r--r--src/mame/drivers/xain.c12
-rw-r--r--src/mame/drivers/xexex.c91
-rw-r--r--src/mame/drivers/xmen.c62
-rw-r--r--src/mame/drivers/xorworld.c2
-rw-r--r--src/mame/drivers/xtom3d.c49
-rw-r--r--src/mame/drivers/xxmissio.c8
-rw-r--r--src/mame/drivers/xybots.c19
-rw-r--r--src/mame/drivers/xyonix.c2
-rw-r--r--src/mame/drivers/yiear.c14
-rw-r--r--src/mame/drivers/yunsun16.c22
-rw-r--r--src/mame/drivers/yunsung8.c45
-rw-r--r--src/mame/drivers/zac2650.c12
-rw-r--r--src/mame/drivers/zaccaria.c2
-rw-r--r--src/mame/drivers/zaxxon.c16
-rw-r--r--src/mame/drivers/zn.c135
-rw-r--r--src/mame/drivers/zodiack.c2
-rw-r--r--src/mame/drivers/zr107.c37
-rw-r--r--src/mame/etc/template_driver.c4
-rw-r--r--src/mame/includes/1942.h4
-rw-r--r--src/mame/includes/1943.h3
-rw-r--r--src/mame/includes/20pacgal.h2
-rw-r--r--src/mame/includes/3do.h4
-rw-r--r--src/mame/includes/40love.h12
-rw-r--r--src/mame/includes/4enraya.h6
-rw-r--r--src/mame/includes/8080bw.h19
-rw-r--r--src/mame/includes/88games.h2
-rw-r--r--src/mame/includes/actfancr.h7
-rw-r--r--src/mame/includes/aeroboto.h5
-rw-r--r--src/mame/includes/aerofgt.h19
-rw-r--r--src/mame/includes/airbustr.h5
-rw-r--r--src/mame/includes/ajax.h9
-rw-r--r--src/mame/includes/aliens.h5
-rw-r--r--src/mame/includes/alpha68k.h15
-rw-r--r--src/mame/includes/ambush.h3
-rw-r--r--src/mame/includes/amiga.h13
-rw-r--r--src/mame/includes/ampoker2.h9
-rw-r--r--src/mame/includes/amspdwy.h5
-rw-r--r--src/mame/includes/angelkds.h5
-rw-r--r--src/mame/includes/appoooh.h11
-rw-r--r--src/mame/includes/aquarium.h5
-rw-r--r--src/mame/includes/arabian.h8
-rw-r--r--src/mame/includes/arcadecl.h5
-rw-r--r--src/mame/includes/argus.h18
-rw-r--r--src/mame/includes/arkanoid.h3
-rw-r--r--src/mame/includes/armedf.h10
-rw-r--r--src/mame/includes/artmagic.h5
-rw-r--r--src/mame/includes/ashnojoe.h5
-rw-r--r--src/mame/includes/asterix.h2
-rw-r--r--src/mame/includes/asteroid.h3
-rw-r--r--src/mame/includes/astrocde.h12
-rw-r--r--src/mame/includes/astrof.h6
-rw-r--r--src/mame/includes/asuka.h2
-rw-r--r--src/mame/includes/atarifb.h6
-rw-r--r--src/mame/includes/atarig1.h5
-rw-r--r--src/mame/includes/atarig42.h5
-rw-r--r--src/mame/includes/atarigt.h5
-rw-r--r--src/mame/includes/atarigx2.h5
-rw-r--r--src/mame/includes/atarisy1.h5
-rw-r--r--src/mame/includes/atarisy2.h5
-rw-r--r--src/mame/includes/atetris.h5
-rw-r--r--src/mame/includes/avalnche.h2
-rw-r--r--src/mame/includes/aztarac.h4
-rw-r--r--src/mame/includes/badlands.h6
-rw-r--r--src/mame/includes/bagman.h9
-rw-r--r--src/mame/includes/balsente.h9
-rw-r--r--src/mame/includes/bankp.h7
-rw-r--r--src/mame/includes/baraduke.h6
-rw-r--r--src/mame/includes/batman.h5
-rw-r--r--src/mame/includes/battlane.h5
-rw-r--r--src/mame/includes/battlera.h3
-rw-r--r--src/mame/includes/battlex.h3
-rw-r--r--src/mame/includes/battlnts.h2
-rw-r--r--src/mame/includes/bbusters.h6
-rw-r--r--src/mame/includes/beezer.h1
-rw-r--r--src/mame/includes/bfm_sc45.h4
-rw-r--r--src/mame/includes/bigevglf.h5
-rw-r--r--src/mame/includes/bigstrkb.h3
-rw-r--r--src/mame/includes/bionicc.h5
-rw-r--r--src/mame/includes/bishi.h5
-rw-r--r--src/mame/includes/bking.h11
-rw-r--r--src/mame/includes/bladestl.h5
-rw-r--r--src/mame/includes/blktiger.h5
-rw-r--r--src/mame/includes/blmbycar.h7
-rw-r--r--src/mame/includes/blockade.h6
-rw-r--r--src/mame/includes/blockhl.h5
-rw-r--r--src/mame/includes/blockout.h5
-rw-r--r--src/mame/includes/bloodbro.h3
-rw-r--r--src/mame/includes/blstroid.h5
-rw-r--r--src/mame/includes/blueprnt.h8
-rw-r--r--src/mame/includes/bogeyman.h8
-rw-r--r--src/mame/includes/bombjack.h5
-rw-r--r--src/mame/includes/boogwing.h3
-rw-r--r--src/mame/includes/bottom9.h5
-rw-r--r--src/mame/includes/brkthru.h8
-rw-r--r--src/mame/includes/bsktball.h6
-rw-r--r--src/mame/includes/btime.h17
-rw-r--r--src/mame/includes/bublbobl.h10
-rw-r--r--src/mame/includes/buggychl.h8
-rw-r--r--src/mame/includes/bwing.h5
-rw-r--r--src/mame/includes/bzone.h2
-rw-r--r--src/mame/includes/cabal.h2
-rw-r--r--src/mame/includes/calomega.h6
-rw-r--r--src/mame/includes/canyon.h4
-rw-r--r--src/mame/includes/capbowl.h5
-rw-r--r--src/mame/includes/carjmbre.h7
-rw-r--r--src/mame/includes/carpolo.h12
-rw-r--r--src/mame/includes/cave.h38
-rw-r--r--src/mame/includes/cbasebal.h5
-rw-r--r--src/mame/includes/cbuster.h5
-rw-r--r--src/mame/includes/ccastles.h5
-rw-r--r--src/mame/includes/cchasm.h3
-rw-r--r--src/mame/includes/cclimber.h22
-rw-r--r--src/mame/includes/cdi.h13
-rw-r--r--src/mame/includes/centiped.h18
-rw-r--r--src/mame/includes/chaknpop.h8
-rw-r--r--src/mame/includes/champbas.h15
-rw-r--r--src/mame/includes/changela.h5
-rw-r--r--src/mame/includes/cheekyms.h7
-rw-r--r--src/mame/includes/chqflag.h5
-rw-r--r--src/mame/includes/cinemat.h17
-rw-r--r--src/mame/includes/circus.h3
-rw-r--r--src/mame/includes/circusc.h8
-rw-r--r--src/mame/includes/cischeat.h9
-rw-r--r--src/mame/includes/citycon.h5
-rw-r--r--src/mame/includes/cloak.h3
-rw-r--r--src/mame/includes/cloud9.h5
-rw-r--r--src/mame/includes/clshroad.h13
-rw-r--r--src/mame/includes/cninja.h8
-rw-r--r--src/mame/includes/combatsc.h15
-rw-r--r--src/mame/includes/commando.h5
-rw-r--r--src/mame/includes/compgolf.h8
-rw-r--r--src/mame/includes/contra.h7
-rw-r--r--src/mame/includes/coolpool.h2
-rw-r--r--src/mame/includes/cop01.h8
-rw-r--r--src/mame/includes/copsnrob.h3
-rw-r--r--src/mame/includes/cosmic.h17
-rw-r--r--src/mame/includes/cps1.h15
-rw-r--r--src/mame/includes/cps3.h2
-rw-r--r--src/mame/includes/crbaloon.h7
-rw-r--r--src/mame/includes/crgolf.h3
-rw-r--r--src/mame/includes/crimfght.h5
-rw-r--r--src/mame/includes/crospang.h5
-rw-r--r--src/mame/includes/crshrace.h5
-rw-r--r--src/mame/includes/cvs.h12
-rw-r--r--src/mame/includes/cyberbal.h9
-rw-r--r--src/mame/includes/darius.h5
-rw-r--r--src/mame/includes/darkmist.h6
-rw-r--r--src/mame/includes/darkseal.h3
-rw-r--r--src/mame/includes/dassault.h3
-rw-r--r--src/mame/includes/dbz.h5
-rw-r--r--src/mame/includes/dc.h10
-rw-r--r--src/mame/includes/dcheese.h7
-rw-r--r--src/mame/includes/dcon.h3
-rw-r--r--src/mame/includes/dday.h8
-rw-r--r--src/mame/includes/ddragon.h10
-rw-r--r--src/mame/includes/ddragon3.h3
-rw-r--r--src/mame/includes/ddribble.h8
-rw-r--r--src/mame/includes/deadang.h3
-rw-r--r--src/mame/includes/dec0.h13
-rw-r--r--src/mame/includes/dec8.h29
-rw-r--r--src/mame/includes/deco32.h16
-rw-r--r--src/mame/includes/deco_mlc.h4
-rw-r--r--src/mame/includes/deniam.h5
-rw-r--r--src/mame/includes/dietgo.h1
-rw-r--r--src/mame/includes/djboy.h5
-rw-r--r--src/mame/includes/djmain.h5
-rw-r--r--src/mame/includes/dkong.h24
-rw-r--r--src/mame/includes/docastle.h11
-rw-r--r--src/mame/includes/dogfgt.h8
-rw-r--r--src/mame/includes/dooyong.h26
-rw-r--r--src/mame/includes/dragrace.h6
-rw-r--r--src/mame/includes/drgnmst.h5
-rw-r--r--src/mame/includes/dribling.h5
-rw-r--r--src/mame/includes/drmicro.h8
-rw-r--r--src/mame/includes/dynax.h57
-rw-r--r--src/mame/includes/dynduke.h3
-rw-r--r--src/mame/includes/eolith.h4
-rw-r--r--src/mame/includes/epos.h3
-rw-r--r--src/mame/includes/eprom.h8
-rw-r--r--src/mame/includes/equites.h6
-rw-r--r--src/mame/includes/esd16.h5
-rw-r--r--src/mame/includes/espial.h11
-rw-r--r--src/mame/includes/esripsys.h3
-rw-r--r--src/mame/includes/exedexes.h4
-rw-r--r--src/mame/includes/exerion.h8
-rw-r--r--src/mame/includes/exidy.h4
-rw-r--r--src/mame/includes/exidy440.h4
-rw-r--r--src/mame/includes/exprraid.h3
-rw-r--r--src/mame/includes/exterm.h3
-rw-r--r--src/mame/includes/f1gp.h12
-rw-r--r--src/mame/includes/fantland.h4
-rw-r--r--src/mame/includes/fastfred.h10
-rw-r--r--src/mame/includes/fastlane.h7
-rw-r--r--src/mame/includes/fcombat.h8
-rw-r--r--src/mame/includes/fgoal.h6
-rw-r--r--src/mame/includes/finalizr.h8
-rw-r--r--src/mame/includes/firetrap.h8
-rw-r--r--src/mame/includes/firetrk.h16
-rw-r--r--src/mame/includes/fitfight.h5
-rw-r--r--src/mame/includes/flkatck.h5
-rw-r--r--src/mame/includes/flower.h6
-rw-r--r--src/mame/includes/flstory.h13
-rw-r--r--src/mame/includes/foodf.h5
-rw-r--r--src/mame/includes/freekick.h8
-rw-r--r--src/mame/includes/fromanc2.h12
-rw-r--r--src/mame/includes/fromance.h16
-rw-r--r--src/mame/includes/funkybee.h8
-rw-r--r--src/mame/includes/funkyjet.h1
-rw-r--r--src/mame/includes/funworld.h9
-rw-r--r--src/mame/includes/funybubl.h4
-rw-r--r--src/mame/includes/fuukifg2.h5
-rw-r--r--src/mame/includes/fuukifg3.h5
-rw-r--r--src/mame/includes/gaelco.h7
-rw-r--r--src/mame/includes/gaelco2.h6
-rw-r--r--src/mame/includes/gaelco3d.h7
-rw-r--r--src/mame/includes/gaiden.h14
-rw-r--r--src/mame/includes/galaga.h31
-rw-r--r--src/mame/includes/galastrm.h3
-rw-r--r--src/mame/includes/galaxia.h12
-rw-r--r--src/mame/includes/galaxian.h16
-rw-r--r--src/mame/includes/galaxold.h114
-rw-r--r--src/mame/includes/galivan.h13
-rw-r--r--src/mame/includes/galpani2.h7
-rw-r--r--src/mame/includes/galpanic.h6
-rw-r--r--src/mame/includes/galspnbl.h4
-rw-r--r--src/mame/includes/gameplan.h9
-rw-r--r--src/mame/includes/gaplus.h7
-rw-r--r--src/mame/includes/gatron.h6
-rw-r--r--src/mame/includes/gauntlet.h5
-rw-r--r--src/mame/includes/gberet.h8
-rw-r--r--src/mame/includes/gbusters.h5
-rw-r--r--src/mame/includes/gcpinbal.h5
-rw-r--r--src/mame/includes/gijoe.h5
-rw-r--r--src/mame/includes/ginganin.h5
-rw-r--r--src/mame/includes/gladiatr.h8
-rw-r--r--src/mame/includes/glass.h5
-rw-r--r--src/mame/includes/gng.h5
-rw-r--r--src/mame/includes/goal92.h5
-rw-r--r--src/mame/includes/goindol.h5
-rw-r--r--src/mame/includes/goldstar.h19
-rw-r--r--src/mame/includes/gomoku.h6
-rw-r--r--src/mame/includes/gotcha.h5
-rw-r--r--src/mame/includes/gottlieb.h8
-rw-r--r--src/mame/includes/gotya.h8
-rw-r--r--src/mame/includes/gradius3.h5
-rw-r--r--src/mame/includes/grchamp.h7
-rw-r--r--src/mame/includes/gridlee.h8
-rw-r--r--src/mame/includes/groundfx.h3
-rw-r--r--src/mame/includes/gstriker.h9
-rw-r--r--src/mame/includes/gsword.h11
-rw-r--r--src/mame/includes/gumbo.h3
-rw-r--r--src/mame/includes/gunbustr.h3
-rw-r--r--src/mame/includes/gundealr.h5
-rw-r--r--src/mame/includes/gunsmoke.h8
-rw-r--r--src/mame/includes/gyruss.h7
-rw-r--r--src/mame/includes/hanaawas.h8
-rw-r--r--src/mame/includes/harddriv.h9
-rw-r--r--src/mame/includes/hcastle.h8
-rw-r--r--src/mame/includes/hexion.h3
-rw-r--r--src/mame/includes/higemaru.h6
-rw-r--r--src/mame/includes/himesiki.h5
-rw-r--r--src/mame/includes/hitme.h4
-rw-r--r--src/mame/includes/hnayayoi.h8
-rw-r--r--src/mame/includes/hng64.h5
-rw-r--r--src/mame/includes/holeland.h6
-rw-r--r--src/mame/includes/homedata.h33
-rw-r--r--src/mame/includes/homerun.h5
-rw-r--r--src/mame/includes/hyhoo.h3
-rw-r--r--src/mame/includes/hyperspt.h9
-rw-r--r--src/mame/includes/hyprduel.h10
-rw-r--r--src/mame/includes/ikki.h8
-rw-r--r--src/mame/includes/inufuku.h5
-rw-r--r--src/mame/includes/iqblock.h3
-rw-r--r--src/mame/includes/irobot.h9
-rw-r--r--src/mame/includes/ironhors.h11
-rw-r--r--src/mame/includes/itech32.h5
-rw-r--r--src/mame/includes/itech8.h8
-rw-r--r--src/mame/includes/jack.h11
-rw-r--r--src/mame/includes/jackal.h8
-rw-r--r--src/mame/includes/jailbrek.h8
-rw-r--r--src/mame/includes/jedi.h3
-rw-r--r--src/mame/includes/jpmimpct.h7
-rw-r--r--src/mame/includes/kaneko16.h14
-rw-r--r--src/mame/includes/kangaroo.h6
-rw-r--r--src/mame/includes/karnov.h11
-rw-r--r--src/mame/includes/kchamp.h9
-rw-r--r--src/mame/includes/kickgoal.h8
-rw-r--r--src/mame/includes/kingobox.h14
-rw-r--r--src/mame/includes/klax.h5
-rw-r--r--src/mame/includes/kncljoe.h8
-rw-r--r--src/mame/includes/konamigx.h38
-rw-r--r--src/mame/includes/kopunch.h8
-rw-r--r--src/mame/includes/ksayakyu.h8
-rw-r--r--src/mame/includes/kyugo.h5
-rw-r--r--src/mame/includes/labyrunr.h7
-rw-r--r--src/mame/includes/ladybug.h23
-rw-r--r--src/mame/includes/ladyfrog.h9
-rw-r--r--src/mame/includes/laserbat.h3
-rw-r--r--src/mame/includes/lasso.h19
-rw-r--r--src/mame/includes/lastduel.h9
-rw-r--r--src/mame/includes/lazercmd.h3
-rw-r--r--src/mame/includes/legionna.h15
-rw-r--r--src/mame/includes/leland.h14
-rw-r--r--src/mame/includes/lemmings.h4
-rw-r--r--src/mame/includes/lethal.h5
-rw-r--r--src/mame/includes/lethalj.h3
-rw-r--r--src/mame/includes/liberate.h17
-rw-r--r--src/mame/includes/lkage.h5
-rw-r--r--src/mame/includes/lockon.h8
-rw-r--r--src/mame/includes/lordgun.h3
-rw-r--r--src/mame/includes/lsasquad.h2
-rw-r--r--src/mame/includes/lucky74.h6
-rw-r--r--src/mame/includes/lvcards.h11
-rw-r--r--src/mame/includes/lwings.h11
-rw-r--r--src/mame/includes/m10.h9
-rw-r--r--src/mame/includes/m107.h4
-rw-r--r--src/mame/includes/m52.h7
-rw-r--r--src/mame/includes/m57.h6
-rw-r--r--src/mame/includes/m58.h6
-rw-r--r--src/mame/includes/m62.h47
-rw-r--r--src/mame/includes/m72.h26
-rw-r--r--src/mame/includes/m90.h10
-rw-r--r--src/mame/includes/m92.h8
-rw-r--r--src/mame/includes/macrossp.h5
-rw-r--r--src/mame/includes/madalien.h2
-rw-r--r--src/mame/includes/madmotor.h5
-rw-r--r--src/mame/includes/magmax.h8
-rw-r--r--src/mame/includes/mainevt.h8
-rw-r--r--src/mame/includes/mainsnk.h6
-rw-r--r--src/mame/includes/malzak.h3
-rw-r--r--src/mame/includes/mappy.h22
-rw-r--r--src/mame/includes/marineb.h9
-rw-r--r--src/mame/includes/mario.h6
-rw-r--r--src/mame/includes/markham.h6
-rw-r--r--src/mame/includes/matmania.h9
-rw-r--r--src/mame/includes/mcatadv.h4
-rw-r--r--src/mame/includes/mcr.h12
-rw-r--r--src/mame/includes/mcr3.h9
-rw-r--r--src/mame/includes/mcr68.h18
-rw-r--r--src/mame/includes/meadows.h4
-rw-r--r--src/mame/includes/megadriv.h16
-rw-r--r--src/mame/includes/megasys1.h8
-rw-r--r--src/mame/includes/megazone.h8
-rw-r--r--src/mame/includes/mermaid.h11
-rw-r--r--src/mame/includes/metalmx.h2
-rw-r--r--src/mame/includes/metlclsh.h5
-rw-r--r--src/mame/includes/metro.h17
-rw-r--r--src/mame/includes/mexico86.h2
-rw-r--r--src/mame/includes/mhavoc.h6
-rw-r--r--src/mame/includes/micro3d.h9
-rw-r--r--src/mame/includes/midtunit.h10
-rw-r--r--src/mame/includes/midvunit.h6
-rw-r--r--src/mame/includes/midwunit.h4
-rw-r--r--src/mame/includes/midxunit.h4
-rw-r--r--src/mame/includes/midyunit.h16
-rw-r--r--src/mame/includes/midzeus.h8
-rw-r--r--src/mame/includes/mikie.h8
-rw-r--r--src/mame/includes/mitchell.h5
-rw-r--r--src/mame/includes/mjkjidai.h3
-rw-r--r--src/mame/includes/model1.h8
-rw-r--r--src/mame/includes/model2.h10
-rw-r--r--src/mame/includes/model3.h11
-rw-r--r--src/mame/includes/momoko.h2
-rw-r--r--src/mame/includes/moo.h5
-rw-r--r--src/mame/includes/mosaic.h5
-rw-r--r--src/mame/includes/mouser.h5
-rw-r--r--src/mame/includes/mpu4.h6
-rw-r--r--src/mame/includes/mrdo.h6
-rw-r--r--src/mame/includes/mrflea.h2
-rw-r--r--src/mame/includes/mrjong.h6
-rw-r--r--src/mame/includes/ms32.h7
-rw-r--r--src/mame/includes/msisaac.h6
-rw-r--r--src/mame/includes/mugsmash.h4
-rw-r--r--src/mame/includes/munchmo.h8
-rw-r--r--src/mame/includes/mustache.h7
-rw-r--r--src/mame/includes/mw8080bw.h15
-rw-r--r--src/mame/includes/mystston.h2
-rw-r--r--src/mame/includes/mystwarr.h25
-rw-r--r--src/mame/includes/n64.h7
-rw-r--r--src/mame/includes/n8080.h41
-rw-r--r--src/mame/includes/namcofl.h5
-rw-r--r--src/mame/includes/namcona1.h3
-rw-r--r--src/mame/includes/namconb1.h7
-rw-r--r--src/mame/includes/namcond1.h6
-rw-r--r--src/mame/includes/namcos1.h6
-rw-r--r--src/mame/includes/namcos2.h6
-rw-r--r--src/mame/includes/namcos21.h2
-rw-r--r--src/mame/includes/namcos22.h8
-rw-r--r--src/mame/includes/namcos86.h7
-rw-r--r--src/mame/includes/naughtyb.h6
-rw-r--r--src/mame/includes/nbmj8688.h27
-rw-r--r--src/mame/includes/nbmj8891.h6
-rw-r--r--src/mame/includes/nbmj8900.h3
-rw-r--r--src/mame/includes/nbmj8991.h4
-rw-r--r--src/mame/includes/nbmj9195.h10
-rw-r--r--src/mame/includes/nemesis.h5
-rw-r--r--src/mame/includes/neogeo.h8
-rw-r--r--src/mame/includes/news.h5
-rw-r--r--src/mame/includes/ninjakd2.h8
-rw-r--r--src/mame/includes/ninjaw.h5
-rw-r--r--src/mame/includes/nitedrvr.h9
-rw-r--r--src/mame/includes/niyanpai.h4
-rw-r--r--src/mame/includes/nmk16.h32
-rw-r--r--src/mame/includes/norautp.h2
-rw-r--r--src/mame/includes/nova2001.h6
-rw-r--r--src/mame/includes/nycaptor.h6
-rw-r--r--src/mame/includes/offtwall.h5
-rw-r--r--src/mame/includes/ohmygod.h5
-rw-r--r--src/mame/includes/ojankohs.h17
-rw-r--r--src/mame/includes/oneshot.h5
-rw-r--r--src/mame/includes/opwolf.h2
-rw-r--r--src/mame/includes/orbit.h5
-rw-r--r--src/mame/includes/othldrby.h5
-rw-r--r--src/mame/includes/othunder.h5
-rw-r--r--src/mame/includes/overdriv.h2
-rw-r--r--src/mame/includes/pacland.h6
-rw-r--r--src/mame/includes/pacman.h32
-rw-r--r--src/mame/includes/pandoras.h8
-rw-r--r--src/mame/includes/paradise.h5
-rw-r--r--src/mame/includes/parodius.h2
-rw-r--r--src/mame/includes/pass.h3
-rw-r--r--src/mame/includes/pastelg.h6
-rw-r--r--src/mame/includes/pbaction.h3
-rw-r--r--src/mame/includes/pcktgal.h3
-rw-r--r--src/mame/includes/pgm.h15
-rw-r--r--src/mame/includes/phoenix.h13
-rw-r--r--src/mame/includes/pingpong.h6
-rw-r--r--src/mame/includes/pirates.h3
-rw-r--r--src/mame/includes/pitnrun.h9
-rw-r--r--src/mame/includes/pktgaldx.h1
-rw-r--r--src/mame/includes/playch10.h18
-rw-r--r--src/mame/includes/playmark.h23
-rw-r--r--src/mame/includes/plygonet.h4
-rw-r--r--src/mame/includes/pokechmp.h3
-rw-r--r--src/mame/includes/polepos.h7
-rw-r--r--src/mame/includes/policetr.h3
-rw-r--r--src/mame/includes/polyplay.h7
-rw-r--r--src/mame/includes/poolshrk.h4
-rw-r--r--src/mame/includes/pooyan.h8
-rw-r--r--src/mame/includes/popeye.h12
-rw-r--r--src/mame/includes/popper.h8
-rw-r--r--src/mame/includes/portrait.h6
-rw-r--r--src/mame/includes/powerins.h4
-rw-r--r--src/mame/includes/prehisle.h3
-rw-r--r--src/mame/includes/psikyo.h8
-rw-r--r--src/mame/includes/psikyo4.h5
-rw-r--r--src/mame/includes/psikyosh.h4
-rw-r--r--src/mame/includes/psychic5.h13
-rw-r--r--src/mame/includes/punchout.h7
-rw-r--r--src/mame/includes/pushman.h6
-rw-r--r--src/mame/includes/qdrmfgp.h9
-rw-r--r--src/mame/includes/qix.h7
-rw-r--r--src/mame/includes/quasar.h8
-rw-r--r--src/mame/includes/quizdna.h3
-rw-r--r--src/mame/includes/quizpani.h3
-rw-r--r--src/mame/includes/raiden.h6
-rw-r--r--src/mame/includes/raiden2.h5
-rw-r--r--src/mame/includes/rainbow.h4
-rw-r--r--src/mame/includes/rallyx.h20
-rw-r--r--src/mame/includes/rampart.h5
-rw-r--r--src/mame/includes/rastan.h2
-rw-r--r--src/mame/includes/realbrk.h3
-rw-r--r--src/mame/includes/redalert.h2
-rw-r--r--src/mame/includes/relief.h5
-rw-r--r--src/mame/includes/renegade.h5
-rw-r--r--src/mame/includes/retofinv.h6
-rw-r--r--src/mame/includes/rltennis.h5
-rw-r--r--src/mame/includes/rockrage.h5
-rw-r--r--src/mame/includes/rocnrope.h6
-rw-r--r--src/mame/includes/rohga.h9
-rw-r--r--src/mame/includes/rollerg.h5
-rw-r--r--src/mame/includes/rollrace.h3
-rw-r--r--src/mame/includes/rpunch.h4
-rw-r--r--src/mame/includes/runaway.h8
-rw-r--r--src/mame/includes/rungun.h5
-rw-r--r--src/mame/includes/sauro.h6
-rw-r--r--src/mame/includes/sbasketb.h6
-rw-r--r--src/mame/includes/sbugger.h6
-rw-r--r--src/mame/includes/scotrsht.h6
-rw-r--r--src/mame/includes/scramble.h6
-rw-r--r--src/mame/includes/sderby.h3
-rw-r--r--src/mame/includes/segag80r.h4
-rw-r--r--src/mame/includes/segag80v.h4
-rw-r--r--src/mame/includes/segas24.h2
-rw-r--r--src/mame/includes/segas32.h7
-rw-r--r--src/mame/includes/seibuspi.h11
-rw-r--r--src/mame/includes/seicross.h7
-rw-r--r--src/mame/includes/senjyo.h4
-rw-r--r--src/mame/includes/seta.h39
-rw-r--r--src/mame/includes/seta2.h10
-rw-r--r--src/mame/includes/sf.h5
-rw-r--r--src/mame/includes/shadfrce.h3
-rw-r--r--src/mame/includes/shangha3.h3
-rw-r--r--src/mame/includes/shangkid.h8
-rw-r--r--src/mame/includes/shaolins.h6
-rw-r--r--src/mame/includes/shisen.h3
-rw-r--r--src/mame/includes/shootout.h6
-rw-r--r--src/mame/includes/shuuz.h5
-rw-r--r--src/mame/includes/sidearms.h3
-rw-r--r--src/mame/includes/sidepckt.h6
-rw-r--r--src/mame/includes/silkroad.h3
-rw-r--r--src/mame/includes/simpl156.h3
-rw-r--r--src/mame/includes/simpsons.h6
-rw-r--r--src/mame/includes/skullxbo.h5
-rw-r--r--src/mame/includes/skydiver.h7
-rw-r--r--src/mame/includes/skyfox.h5
-rw-r--r--src/mame/includes/skykid.h7
-rw-r--r--src/mame/includes/skyraid.h4
-rw-r--r--src/mame/includes/slapfght.h9
-rw-r--r--src/mame/includes/slapshot.h4
-rw-r--r--src/mame/includes/snk.h27
-rw-r--r--src/mame/includes/snk6502.h19
-rw-r--r--src/mame/includes/snk68.h6
-rw-r--r--src/mame/includes/snookr10.h12
-rw-r--r--src/mame/includes/snowbros.h2
-rw-r--r--src/mame/includes/solomon.h3
-rw-r--r--src/mame/includes/sonson.h8
-rw-r--r--src/mame/includes/spacefb.h5
-rw-r--r--src/mame/includes/spbactn.h3
-rw-r--r--src/mame/includes/spcforce.h1
-rw-r--r--src/mame/includes/spdodgeb.h7
-rw-r--r--src/mame/includes/speedatk.h6
-rw-r--r--src/mame/includes/speedbal.h3
-rw-r--r--src/mame/includes/speedspn.h3
-rw-r--r--src/mame/includes/spiders.h1
-rw-r--r--src/mame/includes/splash.h5
-rw-r--r--src/mame/includes/sprcros2.h7
-rw-r--r--src/mame/includes/sprint2.h6
-rw-r--r--src/mame/includes/sprint4.h7
-rw-r--r--src/mame/includes/sprint8.h7
-rw-r--r--src/mame/includes/spy.h5
-rw-r--r--src/mame/includes/srmp2.h9
-rw-r--r--src/mame/includes/srumbler.h4
-rw-r--r--src/mame/includes/sshangha.h4
-rw-r--r--src/mame/includes/sslam.h6
-rw-r--r--src/mame/includes/ssozumo.h6
-rw-r--r--src/mame/includes/sspeedr.h4
-rw-r--r--src/mame/includes/ssrj.h7
-rw-r--r--src/mame/includes/ssv.h10
-rw-r--r--src/mame/includes/st0016.h3
-rw-r--r--src/mame/includes/stactics.h3
-rw-r--r--src/mame/includes/stadhero.h3
-rw-r--r--src/mame/includes/starcrus.h3
-rw-r--r--src/mame/includes/starfire.h3
-rw-r--r--src/mame/includes/starshp1.h6
-rw-r--r--src/mame/includes/starwars.h1
-rw-r--r--src/mame/includes/stfight.h9
-rw-r--r--src/mame/includes/stlforce.h3
-rw-r--r--src/mame/includes/strnskil.h6
-rw-r--r--src/mame/includes/stv.h7
-rw-r--r--src/mame/includes/subs.h4
-rw-r--r--src/mame/includes/suna16.h4
-rw-r--r--src/mame/includes/suna8.h11
-rw-r--r--src/mame/includes/supbtime.h1
-rw-r--r--src/mame/includes/superchs.h3
-rw-r--r--src/mame/includes/superqix.h8
-rw-r--r--src/mame/includes/suprloco.h6
-rw-r--r--src/mame/includes/suprnova.h12
-rw-r--r--src/mame/includes/suprridr.h6
-rw-r--r--src/mame/includes/suprslam.h5
-rw-r--r--src/mame/includes/surpratk.h2
-rw-r--r--src/mame/includes/system1.h9
-rw-r--r--src/mame/includes/system16.h10
-rw-r--r--src/mame/includes/tagteam.h6
-rw-r--r--src/mame/includes/tail2nos.h5
-rw-r--r--src/mame/includes/taito_b.h21
-rw-r--r--src/mame/includes/taito_f2.h74
-rw-r--r--src/mame/includes/taito_f3.h4
-rw-r--r--src/mame/includes/taito_h.h2
-rw-r--r--src/mame/includes/taito_l.h14
-rw-r--r--src/mame/includes/taito_o.h1
-rw-r--r--src/mame/includes/taito_z.h6
-rw-r--r--src/mame/includes/taitoair.h5
-rw-r--r--src/mame/includes/taitojc.h4
-rw-r--r--src/mame/includes/taitosj.h9
-rw-r--r--src/mame/includes/tank8.h7
-rw-r--r--src/mame/includes/tankbatt.h6
-rw-r--r--src/mame/includes/tankbust.h5
-rw-r--r--src/mame/includes/taotaido.h3
-rw-r--r--src/mame/includes/targeth.h3
-rw-r--r--src/mame/includes/tatsumi.h13
-rw-r--r--src/mame/includes/tbowl.h4
-rw-r--r--src/mame/includes/tceptor.h8
-rw-r--r--src/mame/includes/tecmo.h4
-rw-r--r--src/mame/includes/tecmo16.h9
-rw-r--r--src/mame/includes/tecmosys.h4
-rw-r--r--src/mame/includes/tehkanwc.h1
-rw-r--r--src/mame/includes/terracre.h7
-rw-r--r--src/mame/includes/tetrisp2.h15
-rw-r--r--src/mame/includes/thedeep.h7
-rw-r--r--src/mame/includes/thepit.h9
-rw-r--r--src/mame/includes/thief.h3
-rw-r--r--src/mame/includes/thoop2.h3
-rw-r--r--src/mame/includes/thunderj.h5
-rw-r--r--src/mame/includes/thunderx.h7
-rw-r--r--src/mame/includes/tiamc1.h7
-rw-r--r--src/mame/includes/tigeroad.h3
-rw-r--r--src/mame/includes/timelimt.h8
-rw-r--r--src/mame/includes/timeplt.h11
-rw-r--r--src/mame/includes/tmnt.h25
-rw-r--r--src/mame/includes/tnzs.h15
-rw-r--r--src/mame/includes/toaplan1.h17
-rw-r--r--src/mame/includes/toaplan2.h21
-rw-r--r--src/mame/includes/toki.h3
-rw-r--r--src/mame/includes/toobin.h5
-rw-r--r--src/mame/includes/topspeed.h2
-rw-r--r--src/mame/includes/toypop.h7
-rw-r--r--src/mame/includes/tp84.h7
-rw-r--r--src/mame/includes/trackfld.h11
-rw-r--r--src/mame/includes/travrusa.h10
-rw-r--r--src/mame/includes/triplhnt.h4
-rw-r--r--src/mame/includes/truco.h4
-rw-r--r--src/mame/includes/trucocl.h6
-rw-r--r--src/mame/includes/tryout.h6
-rw-r--r--src/mame/includes/tsamurai.h6
-rw-r--r--src/mame/includes/tubep.h16
-rw-r--r--src/mame/includes/tumbleb.h18
-rw-r--r--src/mame/includes/tumblep.h1
-rw-r--r--src/mame/includes/tunhunt.h6
-rw-r--r--src/mame/includes/turbo.h16
-rw-r--r--src/mame/includes/tutankhm.h2
-rw-r--r--src/mame/includes/twin16.h5
-rw-r--r--src/mame/includes/twincobr.h9
-rw-r--r--src/mame/includes/tx1.h21
-rw-r--r--src/mame/includes/ultraman.h5
-rw-r--r--src/mame/includes/ultratnk.h7
-rw-r--r--src/mame/includes/undrfire.h3
-rw-r--r--src/mame/includes/unico.h8
-rw-r--r--src/mame/includes/usgames.h6
-rw-r--r--src/mame/includes/vaportra.h2
-rw-r--r--src/mame/includes/vastar.h4
-rw-r--r--src/mame/includes/vball.h3
-rw-r--r--src/mame/includes/vectrex.h6
-rw-r--r--src/mame/includes/vendetta.h2
-rw-r--r--src/mame/includes/vertigo.h6
-rw-r--r--src/mame/includes/vicdual.h3
-rw-r--r--src/mame/includes/victory.h3
-rw-r--r--src/mame/includes/videopin.h4
-rw-r--r--src/mame/includes/vigilant.h6
-rw-r--r--src/mame/includes/vindictr.h5
-rw-r--r--src/mame/includes/volfied.h5
-rw-r--r--src/mame/includes/vsnes.h24
-rw-r--r--src/mame/includes/vulgus.h6
-rw-r--r--src/mame/includes/warpwarp.h18
-rw-r--r--src/mame/includes/warriorb.h5
-rw-r--r--src/mame/includes/wc90.h6
-rw-r--r--src/mame/includes/wc90b.h3
-rw-r--r--src/mame/includes/wecleman.h8
-rw-r--r--src/mame/includes/welltris.h3
-rw-r--r--src/mame/includes/wgp.h8
-rw-r--r--src/mame/includes/williams.h42
-rw-r--r--src/mame/includes/wiping.h3
-rw-r--r--src/mame/includes/wiz.h7
-rw-r--r--src/mame/includes/wolfpack.h7
-rw-r--r--src/mame/includes/wrally.h3
-rw-r--r--src/mame/includes/wwfsstar.h3
-rw-r--r--src/mame/includes/wwfwfest.h6
-rw-r--r--src/mame/includes/xain.h4
-rw-r--r--src/mame/includes/xexex.h5
-rw-r--r--src/mame/includes/xmen.h5
-rw-r--r--src/mame/includes/xorworld.h6
-rw-r--r--src/mame/includes/xxmissio.h4
-rw-r--r--src/mame/includes/xybots.h5
-rw-r--r--src/mame/includes/xyonix.h6
-rw-r--r--src/mame/includes/yiear.h8
-rw-r--r--src/mame/includes/yunsun16.h5
-rw-r--r--src/mame/includes/yunsung8.h5
-rw-r--r--src/mame/includes/zac2650.h4
-rw-r--r--src/mame/includes/zaccaria.h6
-rw-r--r--src/mame/includes/zaxxon.h13
-rw-r--r--src/mame/includes/zodiack.h7
-rw-r--r--src/mame/machine/3do.c5
-rw-r--r--src/mame/machine/acitya.c24
-rw-r--r--src/mame/machine/ajax.c50
-rw-r--r--src/mame/machine/amiga.c13
-rw-r--r--src/mame/machine/asteroid.c7
-rw-r--r--src/mame/machine/bagman.c23
-rw-r--r--src/mame/machine/balsente.c130
-rw-r--r--src/mame/machine/carpolo.c114
-rw-r--r--src/mame/machine/dc.c70
-rw-r--r--src/mame/machine/decocass.c344
-rw-r--r--src/mame/machine/decocass.h109
-rw-r--r--src/mame/machine/galaxold.c14
-rw-r--r--src/mame/machine/harddriv.c38
-rw-r--r--src/mame/machine/irobot.c35
-rw-r--r--src/mame/machine/leland.c112
-rw-r--r--src/mame/machine/mcr.c10
-rw-r--r--src/mame/machine/mcr68.c59
-rw-r--r--src/mame/machine/mhavoc.c64
-rw-r--r--src/mame/machine/micro3d.c11
-rw-r--r--src/mame/machine/midtunit.c11
-rw-r--r--src/mame/machine/midwunit.c9
-rw-r--r--src/mame/machine/midxunit.c9
-rw-r--r--src/mame/machine/midyunit.c17
-rw-r--r--src/mame/machine/model1.c41
-rw-r--r--src/mame/machine/mw8080bw.c25
-rw-r--r--src/mame/machine/n64.c29
-rw-r--r--src/mame/machine/namcond1.c14
-rw-r--r--src/mame/machine/namcos1.c45
-rw-r--r--src/mame/machine/namcos2.c16
-rw-r--r--src/mame/machine/nitedrvr.c48
-rw-r--r--src/mame/machine/pgmprot1.c21
-rw-r--r--src/mame/machine/pgmprot2.c9
-rw-r--r--src/mame/machine/pgmprot3.c9
-rw-r--r--src/mame/machine/pgmprot4.c90
-rw-r--r--src/mame/machine/pgmprot6.c15
-rw-r--r--src/mame/machine/pitnrun.c9
-rw-r--r--src/mame/machine/playch10.c55
-rw-r--r--src/mame/machine/qix.c12
-rw-r--r--src/mame/machine/scramble.c17
-rw-r--r--src/mame/machine/simpsons.c68
-rw-r--r--src/mame/machine/slapfght.c15
-rw-r--r--src/mame/machine/slikshot.c27
-rw-r--r--src/mame/machine/stfight.c21
-rw-r--r--src/mame/machine/subs.c11
-rw-r--r--src/mame/machine/taitosj.c50
-rw-r--r--src/mame/machine/theglobp.c24
-rw-r--r--src/mame/machine/tnzs.c92
-rw-r--r--src/mame/machine/toaplan1.c40
-rw-r--r--src/mame/machine/twincobr.c30
-rw-r--r--src/mame/machine/tx1.c10
-rw-r--r--src/mame/machine/vertigo.c30
-rw-r--r--src/mame/machine/vsnes.c98
-rw-r--r--src/mame/machine/williams.c100
-rw-r--r--src/mame/video/1942.c25
-rw-r--r--src/mame/video/1943.c37
-rw-r--r--src/mame/video/40love.c59
-rw-r--r--src/mame/video/4enraya.c5
-rw-r--r--src/mame/video/8080bw.c13
-rw-r--r--src/mame/video/actfancr.c4
-rw-r--r--src/mame/video/aeroboto.c31
-rw-r--r--src/mame/video/aerofgt.c77
-rw-r--r--src/mame/video/airbustr.c21
-rw-r--r--src/mame/video/ajax.c13
-rw-r--r--src/mame/video/aliens.c13
-rw-r--r--src/mame/video/alpha68k.c27
-rw-r--r--src/mame/video/ambush.c8
-rw-r--r--src/mame/video/amiga.c17
-rw-r--r--src/mame/video/amigaaga.c7
-rw-r--r--src/mame/video/ampoker2.c18
-rw-r--r--src/mame/video/amspdwy.c5
-rw-r--r--src/mame/video/angelkds.c15
-rw-r--r--src/mame/video/appoooh.c33
-rw-r--r--src/mame/video/aquarium.c13
-rw-r--r--src/mame/video/arabian.c29
-rw-r--r--src/mame/video/arcadecl.c7
-rw-r--r--src/mame/video/argus.c92
-rw-r--r--src/mame/video/arkanoid.c5
-rw-r--r--src/mame/video/armedf.c52
-rw-r--r--src/mame/video/artmagic.c15
-rw-r--r--src/mame/video/ashnojoe.c33
-rw-r--r--src/mame/video/astrocde.c58
-rw-r--r--src/mame/video/atarifb.c9
-rw-r--r--src/mame/video/atarig1.c23
-rw-r--r--src/mame/video/atarig42.c23
-rw-r--r--src/mame/video/atarigt.c39
-rw-r--r--src/mame/video/atarigx2.c23
-rw-r--r--src/mame/video/atarisy1.c21
-rw-r--r--src/mame/video/atarisy2.c25
-rw-r--r--src/mame/video/atetris.c5
-rw-r--r--src/mame/video/aztarac.c11
-rw-r--r--src/mame/video/badlands.c9
-rw-r--r--src/mame/video/bagman.c15
-rw-r--r--src/mame/video/balsente.c17
-rw-r--r--src/mame/video/bankp.c31
-rw-r--r--src/mame/video/baraduke.c25
-rw-r--r--src/mame/video/batman.c15
-rw-r--r--src/mame/video/battlane.c7
-rw-r--r--src/mame/video/battlera.c29
-rw-r--r--src/mame/video/battlex.c5
-rw-r--r--src/mame/video/bbusters.c26
-rw-r--r--src/mame/video/bigevglf.c23
-rw-r--r--src/mame/video/bigstrkb.c15
-rw-r--r--src/mame/video/bionicc.c17
-rw-r--r--src/mame/video/bishi.c23
-rw-r--r--src/mame/video/bking.c21
-rw-r--r--src/mame/video/bladestl.c10
-rw-r--r--src/mame/video/blktiger.c39
-rw-r--r--src/mame/video/blmbycar.c17
-rw-r--r--src/mame/video/blockade.c5
-rw-r--r--src/mame/video/blockhl.c13
-rw-r--r--src/mame/video/blockout.c7
-rw-r--r--src/mame/video/bloodbro.c13
-rw-r--r--src/mame/video/blstroid.c7
-rw-r--r--src/mame/video/blueprnt.c17
-rw-r--r--src/mame/video/bogeyman.c15
-rw-r--r--src/mame/video/bombjack.c9
-rw-r--r--src/mame/video/boogwing.c6
-rw-r--r--src/mame/video/bosco.c45
-rw-r--r--src/mame/video/bottom9.c13
-rw-r--r--src/mame/video/brkthru.c27
-rw-r--r--src/mame/video/bsktball.c5
-rw-r--r--src/mame/video/btime.c36
-rw-r--r--src/mame/video/buggychl.c17
-rw-r--r--src/mame/video/bwing.c37
-rw-r--r--src/mame/video/cabal.c11
-rw-r--r--src/mame/video/calomega.c13
-rw-r--r--src/mame/video/canyon.c5
-rw-r--r--src/mame/video/capbowl.c4
-rw-r--r--src/mame/video/carjmbre.c21
-rw-r--r--src/mame/video/carpolo.c31
-rw-r--r--src/mame/video/cave.c80
-rw-r--r--src/mame/video/cbasebal.c17
-rw-r--r--src/mame/video/cbuster.c4
-rw-r--r--src/mame/video/ccastles.c25
-rw-r--r--src/mame/video/cchasm.c11
-rw-r--r--src/mame/video/cclimber.c99
-rw-r--r--src/mame/video/centiped.c42
-rw-r--r--src/mame/video/chaknpop.c35
-rw-r--r--src/mame/video/champbas.c32
-rw-r--r--src/mame/video/changela.c23
-rw-r--r--src/mame/video/cheekyms.c19
-rw-r--r--src/mame/video/chqflag.c11
-rw-r--r--src/mame/video/cinemat.c35
-rw-r--r--src/mame/video/circus.c5
-rw-r--r--src/mame/video/circusc.c19
-rw-r--r--src/mame/video/cischeat.c32
-rw-r--r--src/mame/video/citycon.c11
-rw-r--r--src/mame/video/cloak.c27
-rw-r--r--src/mame/video/cloud9.c27
-rw-r--r--src/mame/video/clshroad.c76
-rw-r--r--src/mame/video/cninja.c15
-rw-r--r--src/mame/video/combatsc.c68
-rw-r--r--src/mame/video/commando.c9
-rw-r--r--src/mame/video/compgolf.c17
-rw-r--r--src/mame/video/contra.c39
-rw-r--r--src/mame/video/cop01.c27
-rw-r--r--src/mame/video/cosmic.c75
-rw-r--r--src/mame/video/cps1.c152
-rw-r--r--src/mame/video/crbaloon.c15
-rw-r--r--src/mame/video/crgolf.c13
-rw-r--r--src/mame/video/crimfght.c13
-rw-r--r--src/mame/video/crospang.c9
-rw-r--r--src/mame/video/crshrace.c11
-rw-r--r--src/mame/video/cvs.c37
-rw-r--r--src/mame/video/cyberbal.c8
-rw-r--r--src/mame/video/darius.c7
-rw-r--r--src/mame/video/darkmist.c21
-rw-r--r--src/mame/video/darkseal.c2
-rw-r--r--src/mame/video/dassault.c6
-rw-r--r--src/mame/video/dbz.c23
-rw-r--r--src/mame/video/dc.c62
-rw-r--r--src/mame/video/dcheese.c23
-rw-r--r--src/mame/video/dcon.c19
-rw-r--r--src/mame/video/dday.c175
-rw-r--r--src/mame/video/ddragon.c30
-rw-r--r--src/mame/video/ddragon3.c11
-rw-r--r--src/mame/video/ddribble.c19
-rw-r--r--src/mame/video/deadang.c19
-rw-r--r--src/mame/video/dec0.c15
-rw-r--r--src/mame/video/dec8.c116
-rw-r--r--src/mame/video/deco32.c57
-rw-r--r--src/mame/video/deco_mlc.c17
-rw-r--r--src/mame/video/decocass.c37
-rw-r--r--src/mame/video/deniam.c13
-rw-r--r--src/mame/video/digdug.c33
-rw-r--r--src/mame/video/djboy.c5
-rw-r--r--src/mame/video/djmain.c4
-rw-r--r--src/mame/video/dkong.c147
-rw-r--r--src/mame/video/docastle.c16
-rw-r--r--src/mame/video/dogfgt.c19
-rw-r--r--src/mame/video/dooyong.c358
-rw-r--r--src/mame/video/dragrace.c5
-rw-r--r--src/mame/video/drgnmst.c17
-rw-r--r--src/mame/video/dribling.c6
-rw-r--r--src/mame/video/drmicro.c23
-rw-r--r--src/mame/video/dynax.c258
-rw-r--r--src/mame/video/dynduke.c13
-rw-r--r--src/mame/video/eolith.c5
-rw-r--r--src/mame/video/eprom.c30
-rw-r--r--src/mame/video/equites.c62
-rw-r--r--src/mame/video/esd16.c23
-rw-r--r--src/mame/video/espial.c36
-rw-r--r--src/mame/video/esripsys.c61
-rw-r--r--src/mame/video/exedexes.c29
-rw-r--r--src/mame/video/exerion.c31
-rw-r--r--src/mame/video/exidy.c29
-rw-r--r--src/mame/video/exidy440.c34
-rw-r--r--src/mame/video/exprraid.c11
-rw-r--r--src/mame/video/exterm.c4
-rw-r--r--src/mame/video/f1gp.c45
-rw-r--r--src/mame/video/fastfred.c40
-rw-r--r--src/mame/video/fastlane.c27
-rw-r--r--src/mame/video/fcombat.c17
-rw-r--r--src/mame/video/fgoal.c11
-rw-r--r--src/mame/video/finalizr.c19
-rw-r--r--src/mame/video/firetrap.c29
-rw-r--r--src/mame/video/firetrk.c61
-rw-r--r--src/mame/video/fitfight.c13
-rw-r--r--src/mame/video/flkatck.c7
-rw-r--r--src/mame/video/flower.c31
-rw-r--r--src/mame/video/flstory.c49
-rw-r--r--src/mame/video/foodf.c17
-rw-r--r--src/mame/video/freekick.c5
-rw-r--r--src/mame/video/fromanc2.c271
-rw-r--r--src/mame/video/fromance.c34
-rw-r--r--src/mame/video/funkybee.c11
-rw-r--r--src/mame/video/funworld.c18
-rw-r--r--src/mame/video/funybubl.c2
-rw-r--r--src/mame/video/fuukifg2.c29
-rw-r--r--src/mame/video/fuukifg3.c31
-rw-r--r--src/mame/video/gaelco.c22
-rw-r--r--src/mame/video/gaelco2.c46
-rw-r--r--src/mame/video/gaelco3d.c17
-rw-r--r--src/mame/video/gaiden.c96
-rw-r--r--src/mame/video/galaga.c31
-rw-r--r--src/mame/video/galastrm.c13
-rw-r--r--src/mame/video/galaxia.c46
-rw-r--r--src/mame/video/galaxian.c61
-rw-r--r--src/mame/video/galaxold.c369
-rw-r--r--src/mame/video/galivan.c32
-rw-r--r--src/mame/video/galpani2.c13
-rw-r--r--src/mame/video/galpanic.c11
-rw-r--r--src/mame/video/galspnbl.c4
-rw-r--r--src/mame/video/gameplan.c38
-rw-r--r--src/mame/video/gaplus.c25
-rw-r--r--src/mame/video/gatron.c7
-rw-r--r--src/mame/video/gauntlet.c17
-rw-r--r--src/mame/video/gberet.c21
-rw-r--r--src/mame/video/gbusters.c11
-rw-r--r--src/mame/video/gcpinbal.c4
-rw-r--r--src/mame/video/gijoe.c27
-rw-r--r--src/mame/video/ginganin.c13
-rw-r--r--src/mame/video/gladiatr.c28
-rw-r--r--src/mame/video/glass.c15
-rw-r--r--src/mame/video/gng.c13
-rw-r--r--src/mame/video/goal92.c19
-rw-r--r--src/mame/video/goindol.c9
-rw-r--r--src/mame/video/goldstar.c107
-rw-r--r--src/mame/video/gomoku.c27
-rw-r--r--src/mame/video/gotcha.c13
-rw-r--r--src/mame/video/gottlieb.c50
-rw-r--r--src/mame/video/gotya.c15
-rw-r--r--src/mame/video/gradius3.c21
-rw-r--r--src/mame/video/grchamp.c20
-rw-r--r--src/mame/video/gridlee.c21
-rw-r--r--src/mame/video/groundfx.c7
-rw-r--r--src/mame/video/gstriker.c75
-rw-r--r--src/mame/video/gsword.c29
-rw-r--r--src/mame/video/gumbo.c9
-rw-r--r--src/mame/video/gunbustr.c5
-rw-r--r--src/mame/video/gundealr.c9
-rw-r--r--src/mame/video/gunsmoke.c23
-rw-r--r--src/mame/video/gyruss.c21
-rw-r--r--src/mame/video/hanaawas.c15
-rw-r--r--src/mame/video/harddriv.c9
-rw-r--r--src/mame/video/hcastle.c17
-rw-r--r--src/mame/video/hexion.c19
-rw-r--r--src/mame/video/higemaru.c17
-rw-r--r--src/mame/video/himesiki.c5
-rw-r--r--src/mame/video/hnayayoi.c36
-rw-r--r--src/mame/video/hng64.c71
-rw-r--r--src/mame/video/holeland.c14
-rw-r--r--src/mame/video/homedata.c121
-rw-r--r--src/mame/video/homerun.c5
-rw-r--r--src/mame/video/hyhoo.c5
-rw-r--r--src/mame/video/hyperspt.c26
-rw-r--r--src/mame/video/hyprduel.c59
-rw-r--r--src/mame/video/ikki.c22
-rw-r--r--src/mame/video/inufuku.c11
-rw-r--r--src/mame/video/iqblock.c11
-rw-r--r--src/mame/video/irobot.c25
-rw-r--r--src/mame/video/ironhors.c24
-rw-r--r--src/mame/video/itech32.c41
-rw-r--r--src/mame/video/itech8.c13
-rw-r--r--src/mame/video/jack.c18
-rw-r--r--src/mame/video/jackal.c17
-rw-r--r--src/mame/video/jailbrek.c19
-rw-r--r--src/mame/video/jedi.c9
-rw-r--r--src/mame/video/jpmimpct.c17
-rw-r--r--src/mame/video/kaneko16.c20
-rw-r--r--src/mame/video/kangaroo.c7
-rw-r--r--src/mame/video/karnov.c38
-rw-r--r--src/mame/video/kchamp.c17
-rw-r--r--src/mame/video/kickgoal.c54
-rw-r--r--src/mame/video/kingobox.c30
-rw-r--r--src/mame/video/klax.c7
-rw-r--r--src/mame/video/kncljoe.c21
-rw-r--r--src/mame/video/konamigx.c180
-rw-r--r--src/mame/video/kopunch.c19
-rw-r--r--src/mame/video/ksayakyu.c15
-rw-r--r--src/mame/video/kyugo.c15
-rw-r--r--src/mame/video/labyrunr.c33
-rw-r--r--src/mame/video/ladybug.c42
-rw-r--r--src/mame/video/ladyfrog.c31
-rw-r--r--src/mame/video/lasso.c41
-rw-r--r--src/mame/video/lastduel.c42
-rw-r--r--src/mame/video/legionna.c125
-rw-r--r--src/mame/video/leland.c20
-rw-r--r--src/mame/video/lemmings.c23
-rw-r--r--src/mame/video/lethal.c31
-rw-r--r--src/mame/video/lethalj.c9
-rw-r--r--src/mame/video/liberate.c48
-rw-r--r--src/mame/video/lkage.c19
-rw-r--r--src/mame/video/lockon.c31
-rw-r--r--src/mame/video/lordgun.c41
-rw-r--r--src/mame/video/lucky74.c29
-rw-r--r--src/mame/video/lvcards.c53
-rw-r--r--src/mame/video/lwings.c33
-rw-r--r--src/mame/video/m10.c26
-rw-r--r--src/mame/video/m107.c11
-rw-r--r--src/mame/video/m52.c63
-rw-r--r--src/mame/video/m57.c23
-rw-r--r--src/mame/video/m58.c35
-rw-r--r--src/mame/video/m62.c183
-rw-r--r--src/mame/video/m72.c165
-rw-r--r--src/mame/video/m90.c59
-rw-r--r--src/mame/video/m92.c44
-rw-r--r--src/mame/video/macrossp.c35
-rw-r--r--src/mame/video/madalien.c57
-rw-r--r--src/mame/video/madmotor.c2
-rw-r--r--src/mame/video/magmax.c27
-rw-r--r--src/mame/video/mainevt.c22
-rw-r--r--src/mame/video/mainsnk.c21
-rw-r--r--src/mame/video/mappy.c65
-rw-r--r--src/mame/video/marineb.c31
-rw-r--r--src/mame/video/mario.c39
-rw-r--r--src/mame/video/markham.c17
-rw-r--r--src/mame/video/matmania.c17
-rw-r--r--src/mame/video/mcatadv.c23
-rw-r--r--src/mame/video/mcd212.c15
-rw-r--r--src/mame/video/mcr.c11
-rw-r--r--src/mame/video/mcr3.c41
-rw-r--r--src/mame/video/mcr68.c26
-rw-r--r--src/mame/video/meadows.c5
-rw-r--r--src/mame/video/megasys1.c60
-rw-r--r--src/mame/video/megazone.c19
-rw-r--r--src/mame/video/mermaid.c57
-rw-r--r--src/mame/video/metlclsh.c15
-rw-r--r--src/mame/video/metro.c117
-rw-r--r--src/mame/video/micro3d.c20
-rw-r--r--src/mame/video/midtunit.c24
-rw-r--r--src/mame/video/midvunit.c17
-rw-r--r--src/mame/video/midyunit.c65
-rw-r--r--src/mame/video/midzeus.c40
-rw-r--r--src/mame/video/midzeus2.c34
-rw-r--r--src/mame/video/mikie.c15
-rw-r--r--src/mame/video/mitchell.c13
-rw-r--r--src/mame/video/mjkjidai.c5
-rw-r--r--src/mame/video/model1.c31
-rw-r--r--src/mame/video/model2.c15
-rw-r--r--src/mame/video/model3.c47
-rw-r--r--src/mame/video/moo.c27
-rw-r--r--src/mame/video/mosaic.c9
-rw-r--r--src/mame/video/mouser.c8
-rw-r--r--src/mame/video/mrdo.c35
-rw-r--r--src/mame/video/mrjong.c15
-rw-r--r--src/mame/video/ms32.c72
-rw-r--r--src/mame/video/msisaac.c13
-rw-r--r--src/mame/video/mugsmash.c9
-rw-r--r--src/mame/video/munchmo.c13
-rw-r--r--src/mame/video/mustache.c13
-rw-r--r--src/mame/video/mystston.c20
-rw-r--r--src/mame/video/mystwarr.c112
-rw-r--r--src/mame/video/n64.c17
-rw-r--r--src/mame/video/n8080.c51
-rw-r--r--src/mame/video/namcofl.c9
-rw-r--r--src/mame/video/namcona1.c29
-rw-r--r--src/mame/video/namconb1.c16
-rw-r--r--src/mame/video/namcos1.c57
-rw-r--r--src/mame/video/namcos21.c11
-rw-r--r--src/mame/video/namcos22.c65
-rw-r--r--src/mame/video/namcos86.c32
-rw-r--r--src/mame/video/naughtyb.c15
-rw-r--r--src/mame/video/nbmj8688.c58
-rw-r--r--src/mame/video/nbmj8891.c50
-rw-r--r--src/mame/video/nbmj8900.c29
-rw-r--r--src/mame/video/nbmj8991.c15
-rw-r--r--src/mame/video/nbmj9195.c85
-rw-r--r--src/mame/video/nemesis.c39
-rw-r--r--src/mame/video/neogeo.c79
-rw-r--r--src/mame/video/news.c9
-rw-r--r--src/mame/video/ninjakd2.c97
-rw-r--r--src/mame/video/ninjaw.c5
-rw-r--r--src/mame/video/nitedrvr.c5
-rw-r--r--src/mame/video/niyanpai.c37
-rw-r--r--src/mame/video/nmk16.c136
-rw-r--r--src/mame/video/nova2001.c46
-rw-r--r--src/mame/video/nycaptor.c23
-rw-r--r--src/mame/video/offtwall.c7
-rw-r--r--src/mame/video/ohmygod.c5
-rw-r--r--src/mame/video/ojankohs.c55
-rw-r--r--src/mame/video/oneshot.c15
-rw-r--r--src/mame/video/orbit.c5
-rw-r--r--src/mame/video/othldrby.c25
-rw-r--r--src/mame/video/othunder.c5
-rw-r--r--src/mame/video/pacland.c64
-rw-r--r--src/mame/video/pacman.c127
-rw-r--r--src/mame/video/pandoras.c19
-rw-r--r--src/mame/video/paradise.c19
-rw-r--r--src/mame/video/pass.c9
-rw-r--r--src/mame/video/pastelg.c27
-rw-r--r--src/mame/video/pbaction.c9
-rw-r--r--src/mame/video/pcktgal.c16
-rw-r--r--src/mame/video/pgm.c27
-rw-r--r--src/mame/video/phoenix.c103
-rw-r--r--src/mame/video/pingpong.c17
-rw-r--r--src/mame/video/pirates.c13
-rw-r--r--src/mame/video/pitnrun.c27
-rw-r--r--src/mame/video/playch10.c28
-rw-r--r--src/mame/video/playmark.c156
-rw-r--r--src/mame/video/plygonet.c25
-rw-r--r--src/mame/video/pokechmp.c5
-rw-r--r--src/mame/video/polepos.c32
-rw-r--r--src/mame/video/policetr.c9
-rw-r--r--src/mame/video/polyplay.c29
-rw-r--r--src/mame/video/poolshrk.c7
-rw-r--r--src/mame/video/pooyan.c17
-rw-r--r--src/mame/video/popeye.c60
-rw-r--r--src/mame/video/popper.c45
-rw-r--r--src/mame/video/portrait.c25
-rw-r--r--src/mame/video/powerins.c17
-rw-r--r--src/mame/video/prehisle.c15
-rw-r--r--src/mame/video/psikyo.c67
-rw-r--r--src/mame/video/psikyo4.c4
-rw-r--r--src/mame/video/psikyosh.c25
-rw-r--r--src/mame/video/psychic5.c88
-rw-r--r--src/mame/video/punchout.c46
-rw-r--r--src/mame/video/pushman.c9
-rw-r--r--src/mame/video/qdrmfgp.c8
-rw-r--r--src/mame/video/qix.c13
-rw-r--r--src/mame/video/quasar.c35
-rw-r--r--src/mame/video/quizdna.c21
-rw-r--r--src/mame/video/quizpani.c9
-rw-r--r--src/mame/video/raiden.c30
-rw-r--r--src/mame/video/rainbow.c13
-rw-r--r--src/mame/video/rallyx.c92
-rw-r--r--src/mame/video/rampart.c4
-rw-r--r--src/mame/video/realbrk.c19
-rw-r--r--src/mame/video/redalert.c24
-rw-r--r--src/mame/video/redclash.c25
-rw-r--r--src/mame/video/relief.c13
-rw-r--r--src/mame/video/renegade.c13
-rw-r--r--src/mame/video/retofinv.c21
-rw-r--r--src/mame/video/rltennis.c11
-rw-r--r--src/mame/video/rockrage.c12
-rw-r--r--src/mame/video/rocnrope.c15
-rw-r--r--src/mame/video/rohga.c18
-rw-r--r--src/mame/video/rollerg.c7
-rw-r--r--src/mame/video/rollrace.c24
-rw-r--r--src/mame/video/rpunch.c15
-rw-r--r--src/mame/video/runaway.c14
-rw-r--r--src/mame/video/rungun.c19
-rw-r--r--src/mame/video/sauro.c16
-rw-r--r--src/mame/video/sbasketb.c19
-rw-r--r--src/mame/video/sbugger.c17
-rw-r--r--src/mame/video/scotrsht.c17
-rw-r--r--src/mame/video/sderby.c13
-rw-r--r--src/mame/video/segag80r.c59
-rw-r--r--src/mame/video/segag80v.c11
-rw-r--r--src/mame/video/segas32.c8
-rw-r--r--src/mame/video/seibuspi.c82
-rw-r--r--src/mame/video/seicross.c15
-rw-r--r--src/mame/video/senjyo.c29
-rw-r--r--src/mame/video/seta.c161
-rw-r--r--src/mame/video/seta2.c33
-rw-r--r--src/mame/video/sf.c13
-rw-r--r--src/mame/video/shadfrce.c15
-rw-r--r--src/mame/video/shangha3.c15
-rw-r--r--src/mame/video/shangkid.c17
-rw-r--r--src/mame/video/shaolins.c17
-rw-r--r--src/mame/video/shisen.c5
-rw-r--r--src/mame/video/shootout.c17
-rw-r--r--src/mame/video/shuuz.c7
-rw-r--r--src/mame/video/sidearms.c23
-rw-r--r--src/mame/video/sidepckt.c27
-rw-r--r--src/mame/video/silkroad.c15
-rw-r--r--src/mame/video/simpl156.c19
-rw-r--r--src/mame/video/skullxbo.c11
-rw-r--r--src/mame/video/skydiver.c26
-rw-r--r--src/mame/video/skyfox.c8
-rw-r--r--src/mame/video/skykid.c27
-rw-r--r--src/mame/video/skyraid.c5
-rw-r--r--src/mame/video/slapfght.c16
-rw-r--r--src/mame/video/slapshot.c37
-rw-r--r--src/mame/video/snk.c211
-rw-r--r--src/mame/video/snk6502.c73
-rw-r--r--src/mame/video/snk68.c16
-rw-r--r--src/mame/video/snookr10.c26
-rw-r--r--src/mame/video/solomon.c9
-rw-r--r--src/mame/video/sonson.c19
-rw-r--r--src/mame/video/spacefb.c15
-rw-r--r--src/mame/video/spbactn.c7
-rw-r--r--src/mame/video/spdodgeb.c21
-rw-r--r--src/mame/video/speedatk.c12
-rw-r--r--src/mame/video/speedbal.c15
-rw-r--r--src/mame/video/speedspn.c7
-rw-r--r--src/mame/video/splash.c13
-rw-r--r--src/mame/video/sprcros2.c23
-rw-r--r--src/mame/video/sprint2.c49
-rw-r--r--src/mame/video/sprint4.c49
-rw-r--r--src/mame/video/sprint8.c31
-rw-r--r--src/mame/video/spy.c11
-rw-r--r--src/mame/video/srmp2.c20
-rw-r--r--src/mame/video/srumbler.c13
-rw-r--r--src/mame/video/sshangha.c6
-rw-r--r--src/mame/video/sslam.c26
-rw-r--r--src/mame/video/ssozumo.c15
-rw-r--r--src/mame/video/sspeedr.c5
-rw-r--r--src/mame/video/ssrj.c19
-rw-r--r--src/mame/video/ssv.c24
-rw-r--r--src/mame/video/st0016.c24
-rw-r--r--src/mame/video/stactics.c29
-rw-r--r--src/mame/video/stadhero.c7
-rw-r--r--src/mame/video/starcrus.c11
-rw-r--r--src/mame/video/starfire.c17
-rw-r--r--src/mame/video/starshp1.c21
-rw-r--r--src/mame/video/stfight.c27
-rw-r--r--src/mame/video/stlforce.c23
-rw-r--r--src/mame/video/strnskil.c17
-rw-r--r--src/mame/video/stvvdp2.c79
-rw-r--r--src/mame/video/suna16.c5
-rw-r--r--src/mame/video/suna8.c6
-rw-r--r--src/mame/video/superchs.c5
-rw-r--r--src/mame/video/superqix.c26
-rw-r--r--src/mame/video/suprloco.c17
-rw-r--r--src/mame/video/suprnova.c48
-rw-r--r--src/mame/video/suprridr.c17
-rw-r--r--src/mame/video/suprslam.c9
-rw-r--r--src/mame/video/system1.c8
-rw-r--r--src/mame/video/system16.c139
-rw-r--r--src/mame/video/tagteam.c15
-rw-r--r--src/mame/video/tail2nos.c13
-rw-r--r--src/mame/video/taito_b.c58
-rw-r--r--src/mame/video/taito_f2.c120
-rw-r--r--src/mame/video/taito_f3.c215
-rw-r--r--src/mame/video/taito_l.c21
-rw-r--r--src/mame/video/taito_z.c11
-rw-r--r--src/mame/video/taitoair.c13
-rw-r--r--src/mame/video/taitojc.c29
-rw-r--r--src/mame/video/taitosj.c23
-rw-r--r--src/mame/video/tank8.c33
-rw-r--r--src/mame/video/tankbatt.c17
-rw-r--r--src/mame/video/tankbust.c9
-rw-r--r--src/mame/video/taotaido.c13
-rw-r--r--src/mame/video/targeth.c9
-rw-r--r--src/mame/video/tatsumi.c54
-rw-r--r--src/mame/video/tbowl.c15
-rw-r--r--src/mame/video/tceptor.c68
-rw-r--r--src/mame/video/tecmo.c25
-rw-r--r--src/mame/video/tecmo16.c83
-rw-r--r--src/mame/video/tecmosys.c31
-rw-r--r--src/mame/video/tehkanwc.c9
-rw-r--r--src/mame/video/terracre.c27
-rw-r--r--src/mame/video/tetrisp2.c91
-rw-r--r--src/mame/video/thedeep.c19
-rw-r--r--src/mame/video/thepit.c33
-rw-r--r--src/mame/video/thief.c11
-rw-r--r--src/mame/video/thoop2.c13
-rw-r--r--src/mame/video/thunderj.c15
-rw-r--r--src/mame/video/thunderx.c13
-rw-r--r--src/mame/video/tiamc1.c42
-rw-r--r--src/mame/video/tigeroad.c13
-rw-r--r--src/mame/video/timelimt.c17
-rw-r--r--src/mame/video/timeplt.c18
-rw-r--r--src/mame/video/tmnt.c99
-rw-r--r--src/mame/video/tnzs.c8
-rw-r--r--src/mame/video/toaplan1.c64
-rw-r--r--src/mame/video/toaplan2.c100
-rw-r--r--src/mame/video/toki.c15
-rw-r--r--src/mame/video/toobin.c15
-rw-r--r--src/mame/video/toypop.c25
-rw-r--r--src/mame/video/tp84.c17
-rw-r--r--src/mame/video/trackfld.c28
-rw-r--r--src/mame/video/travrusa.c41
-rw-r--r--src/mame/video/triplhnt.c7
-rw-r--r--src/mame/video/truco.c6
-rw-r--r--src/mame/video/trucocl.c11
-rw-r--r--src/mame/video/tryout.c23
-rw-r--r--src/mame/video/tsamurai.c16
-rw-r--r--src/mame/video/tubep.c115
-rw-r--r--src/mame/video/tumbleb.c73
-rw-r--r--src/mame/video/tunhunt.c37
-rw-r--r--src/mame/video/turbo.c26
-rw-r--r--src/mame/video/twin16.c33
-rw-r--r--src/mame/video/twincobr.c69
-rw-r--r--src/mame/video/tx1.c53
-rw-r--r--src/mame/video/ultraman.c11
-rw-r--r--src/mame/video/ultratnk.c47
-rw-r--r--src/mame/video/undrfire.c7
-rw-r--r--src/mame/video/unico.c74
-rw-r--r--src/mame/video/usgames.c11
-rw-r--r--src/mame/video/vastar.c19
-rw-r--r--src/mame/video/vball.c13
-rw-r--r--src/mame/video/vectrex.c50
-rw-r--r--src/mame/video/victory.c29
-rw-r--r--src/mame/video/videopin.c5
-rw-r--r--src/mame/video/vigilant.c22
-rw-r--r--src/mame/video/vindictr.c17
-rw-r--r--src/mame/video/volfied.c15
-rw-r--r--src/mame/video/vsnes.c20
-rw-r--r--src/mame/video/vulgus.c35
-rw-r--r--src/mame/video/warpwarp.c53
-rw-r--r--src/mame/video/warriorb.c5
-rw-r--r--src/mame/video/wc90.c26
-rw-r--r--src/mame/video/wc90b.c13
-rw-r--r--src/mame/video/wecleman.c88
-rw-r--r--src/mame/video/welltris.c7
-rw-r--r--src/mame/video/wgp.c8
-rw-r--r--src/mame/video/williams.c31
-rw-r--r--src/mame/video/wiping.c12
-rw-r--r--src/mame/video/wiz.c37
-rw-r--r--src/mame/video/wolfpack.c51
-rw-r--r--src/mame/video/wrally.c11
-rw-r--r--src/mame/video/wwfsstar.c11
-rw-r--r--src/mame/video/wwfwfest.c38
-rw-r--r--src/mame/video/xain.c15
-rw-r--r--src/mame/video/xevious.c57
-rw-r--r--src/mame/video/xexex.c15
-rw-r--r--src/mame/video/xmen.c13
-rw-r--r--src/mame/video/xorworld.c29
-rw-r--r--src/mame/video/xxmissio.c15
-rw-r--r--src/mame/video/xybots.c11
-rw-r--r--src/mame/video/xyonix.c13
-rw-r--r--src/mame/video/yiear.c13
-rw-r--r--src/mame/video/yunsun16.c19
-rw-r--r--src/mame/video/yunsung8.c9
-rw-r--r--src/mame/video/zac2650.c13
-rw-r--r--src/mame/video/zaccaria.c21
-rw-r--r--src/mame/video/zaxxon.c34
-rw-r--r--src/mame/video/zodiack.c20
2364 files changed, 28127 insertions, 29442 deletions
diff --git a/src/mame/audio/8080bw.c b/src/mame/audio/8080bw.c
index ad745e28132..a5b405ff3bd 100644
--- a/src/mame/audio/8080bw.c
+++ b/src/mame/audio/8080bw.c
@@ -14,15 +14,14 @@
/* */
/*******************************************************/
-MACHINE_START( extra_8080bw_sh )
+MACHINE_START_MEMBER(_8080bw_state,extra_8080bw_sh)
{
- _8080bw_state *state = machine.driver_data<_8080bw_state>();
- state->m_speaker = machine.device("speaker");
+ m_speaker = machine().device("speaker");
- state->save_item(NAME(state->m_port_1_last_extra));
- state->save_item(NAME(state->m_port_2_last_extra));
- state->save_item(NAME(state->m_port_3_last_extra));
+ save_item(NAME(m_port_1_last_extra));
+ save_item(NAME(m_port_2_last_extra));
+ save_item(NAME(m_port_3_last_extra));
}
/*******************************************************/
@@ -904,31 +903,29 @@ static void schaser_reinit_555_time_remain(_8080bw_state *state)
}
-MACHINE_START( schaser_sh )
+MACHINE_START_MEMBER(_8080bw_state,schaser_sh)
{
- _8080bw_state *state = machine.driver_data<_8080bw_state>();
- state->m_schaser_effect_555_timer = machine.scheduler().timer_alloc(FUNC(schaser_effect_555_cb));
+ m_schaser_effect_555_timer = machine().scheduler().timer_alloc(FUNC(schaser_effect_555_cb));
- state->save_item(NAME(state->m_schaser_explosion));
- state->save_item(NAME(state->m_schaser_effect_555_is_low));
- state->save_item(NAME(state->m_schaser_effect_555_time_remain_savable));
- state->save_item(NAME(state->m_port_2_last_extra));
- machine.save().register_postload(save_prepost_delegate(FUNC(schaser_reinit_555_time_remain), state));
+ save_item(NAME(m_schaser_explosion));
+ save_item(NAME(m_schaser_effect_555_is_low));
+ save_item(NAME(m_schaser_effect_555_time_remain_savable));
+ save_item(NAME(m_port_2_last_extra));
+ machine().save().register_postload(save_prepost_delegate(FUNC(schaser_reinit_555_time_remain), this));
}
-MACHINE_RESET( schaser_sh )
+MACHINE_RESET_MEMBER(_8080bw_state,schaser_sh)
{
- _8080bw_state *state = machine.driver_data<_8080bw_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
-
- state->m_schaser_effect_555_is_low = 0;
- state->m_schaser_effect_555_timer->adjust(attotime::never);
- state->schaser_sh_port_1_w(*space, 0, 0);
- state->schaser_sh_port_2_w(*space, 0, 0);
- state->m_schaser_effect_555_time_remain = attotime::zero;
- state->m_schaser_effect_555_time_remain_savable = state->m_schaser_effect_555_time_remain.as_double();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+
+ m_schaser_effect_555_is_low = 0;
+ m_schaser_effect_555_timer->adjust(attotime::never);
+ schaser_sh_port_1_w(*space, 0, 0);
+ schaser_sh_port_2_w(*space, 0, 0);
+ m_schaser_effect_555_time_remain = attotime::zero;
+ m_schaser_effect_555_time_remain_savable = m_schaser_effect_555_time_remain.as_double();
}
diff --git a/src/mame/audio/n8080.c b/src/mame/audio/n8080.c
index 28cc824e989..a0ab2c0b156 100644
--- a/src/mame/audio/n8080.c
+++ b/src/mame/audio/n8080.c
@@ -457,95 +457,89 @@ static TIMER_DEVICE_CALLBACK( helifire_dac_volume_timer )
}
-MACHINE_START( spacefev_sound )
+MACHINE_START_MEMBER(n8080_state,spacefev_sound)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->m_sound_timer[0] = machine.scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
- state->m_sound_timer[1] = machine.scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
- state->m_sound_timer[2] = machine.scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
+ m_sound_timer[0] = machine().scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
+ m_sound_timer[1] = machine().scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
+ m_sound_timer[2] = machine().scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
- state->save_item(NAME(state->m_prev_snd_data));
- state->save_item(NAME(state->m_prev_sound_pins));
- state->save_item(NAME(state->m_curr_sound_pins));
- state->save_item(NAME(state->m_n8080_hardware));
- state->save_item(NAME(state->m_mono_flop));
+ save_item(NAME(m_prev_snd_data));
+ save_item(NAME(m_prev_sound_pins));
+ save_item(NAME(m_curr_sound_pins));
+ save_item(NAME(m_n8080_hardware));
+ save_item(NAME(m_mono_flop));
}
-MACHINE_RESET( spacefev_sound )
+MACHINE_RESET_MEMBER(n8080_state,spacefev_sound)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->m_n8080_hardware = 1;
+ m_n8080_hardware = 1;
- state->m_mono_flop[0] = 0;
- state->m_mono_flop[1] = 0;
- state->m_mono_flop[2] = 0;
- state->m_prev_snd_data = 0;
- state->m_prev_sound_pins = 0;
- state->m_curr_sound_pins = 0;
+ m_mono_flop[0] = 0;
+ m_mono_flop[1] = 0;
+ m_mono_flop[2] = 0;
+ m_prev_snd_data = 0;
+ m_prev_sound_pins = 0;
+ m_curr_sound_pins = 0;
- delayed_sound_1(machine, 0);
- delayed_sound_2(machine, 0);
+ delayed_sound_1(machine(), 0);
+ delayed_sound_2(machine(), 0);
}
-MACHINE_START( sheriff_sound )
+MACHINE_START_MEMBER(n8080_state,sheriff_sound)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->m_sound_timer[0] = machine.scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
- state->m_sound_timer[1] = machine.scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
+ m_sound_timer[0] = machine().scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
+ m_sound_timer[1] = machine().scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
- state->save_item(NAME(state->m_prev_snd_data));
- state->save_item(NAME(state->m_prev_sound_pins));
- state->save_item(NAME(state->m_curr_sound_pins));
- state->save_item(NAME(state->m_n8080_hardware));
- state->save_item(NAME(state->m_mono_flop));
+ save_item(NAME(m_prev_snd_data));
+ save_item(NAME(m_prev_sound_pins));
+ save_item(NAME(m_curr_sound_pins));
+ save_item(NAME(m_n8080_hardware));
+ save_item(NAME(m_mono_flop));
}
-MACHINE_RESET( sheriff_sound )
+MACHINE_RESET_MEMBER(n8080_state,sheriff_sound)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->m_n8080_hardware = 2;
+ m_n8080_hardware = 2;
- state->m_mono_flop[0] = 0;
- state->m_mono_flop[1] = 0;
- state->m_prev_snd_data = 0;
- state->m_prev_sound_pins = 0;
- state->m_curr_sound_pins = 0;
+ m_mono_flop[0] = 0;
+ m_mono_flop[1] = 0;
+ m_prev_snd_data = 0;
+ m_prev_sound_pins = 0;
+ m_curr_sound_pins = 0;
- delayed_sound_1(machine, 0);
- delayed_sound_2(machine, 0);
+ delayed_sound_1(machine(), 0);
+ delayed_sound_2(machine(), 0);
}
-MACHINE_START( helifire_sound )
+MACHINE_START_MEMBER(n8080_state,helifire_sound)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->save_item(NAME(state->m_prev_snd_data));
- state->save_item(NAME(state->m_prev_sound_pins));
- state->save_item(NAME(state->m_curr_sound_pins));
- state->save_item(NAME(state->m_n8080_hardware));
- state->save_item(NAME(state->m_helifire_dac_volume));
- state->save_item(NAME(state->m_helifire_dac_timing));
- state->save_item(NAME(state->m_helifire_dac_phase));
+ save_item(NAME(m_prev_snd_data));
+ save_item(NAME(m_prev_sound_pins));
+ save_item(NAME(m_curr_sound_pins));
+ save_item(NAME(m_n8080_hardware));
+ save_item(NAME(m_helifire_dac_volume));
+ save_item(NAME(m_helifire_dac_timing));
+ save_item(NAME(m_helifire_dac_phase));
}
-MACHINE_RESET( helifire_sound )
+MACHINE_RESET_MEMBER(n8080_state,helifire_sound)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->m_n8080_hardware = 3;
+ m_n8080_hardware = 3;
- state->m_helifire_dac_volume = 1;
- state->m_helifire_dac_timing = 0;
- state->m_helifire_dac_phase = 0;
- state->m_prev_snd_data = 0;
- state->m_prev_sound_pins = 0;
- state->m_curr_sound_pins = 0;
+ m_helifire_dac_volume = 1;
+ m_helifire_dac_timing = 0;
+ m_helifire_dac_phase = 0;
+ m_prev_snd_data = 0;
+ m_prev_sound_pins = 0;
+ m_curr_sound_pins = 0;
- delayed_sound_1(machine, 0);
- delayed_sound_2(machine, 0);
+ delayed_sound_1(machine(), 0);
+ delayed_sound_2(machine(), 0);
}
diff --git a/src/mame/audio/vicdual.c b/src/mame/audio/vicdual.c
index 8423ddf0b9e..e39dc83ad5b 100644
--- a/src/mame/audio/vicdual.c
+++ b/src/mame/audio/vicdual.c
@@ -136,9 +136,9 @@ static TIMER_CALLBACK( frogs_croak_callback )
}
-MACHINE_START( frogs_audio )
+MACHINE_START_MEMBER(vicdual_state,frogs_audio)
{
- frogs_croak_timer = machine.scheduler().timer_alloc(FUNC(frogs_croak_callback));
+ frogs_croak_timer = machine().scheduler().timer_alloc(FUNC(frogs_croak_callback));
}
diff --git a/src/mame/drivers/1942.c b/src/mame/drivers/1942.c
index f593d0763ab..4aaa35aab84 100644
--- a/src/mame/drivers/1942.c
+++ b/src/mame/drivers/1942.c
@@ -236,23 +236,21 @@ static GFXDECODE_START( 1942 )
GFXDECODE_END
-static MACHINE_START( 1942 )
+void _1942_state::machine_start()
{
- _1942_state *state = machine.driver_data<_1942_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_scroll));
}
-static MACHINE_RESET( 1942 )
+void _1942_state::machine_reset()
{
- _1942_state *state = machine.driver_data<_1942_state>();
- state->m_palette_bank = 0;
- state->m_scroll[0] = 0;
- state->m_scroll[1] = 0;
+ m_palette_bank = 0;
+ m_scroll[0] = 0;
+ m_scroll[1] = 0;
}
static MACHINE_CONFIG_START( 1942, _1942_state )
@@ -266,8 +264,6 @@ static MACHINE_CONFIG_START( 1942, _1942_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60)
- MCFG_MACHINE_START(1942)
- MCFG_MACHINE_RESET(1942)
/* video hardware */
MCFG_GFXDECODE(1942)
@@ -280,8 +276,6 @@ static MACHINE_CONFIG_START( 1942, _1942_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(1942)
- MCFG_PALETTE_INIT(1942)
- MCFG_VIDEO_START(1942)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/1943.c b/src/mame/drivers/1943.c
index 19726e77a47..48e7a38c0ca 100644
--- a/src/mame/drivers/1943.c
+++ b/src/mame/drivers/1943.c
@@ -243,14 +243,13 @@ GFXDECODE_END
/* Machine Driver */
-static MACHINE_RESET( 1943 )
+void _1943_state::machine_reset()
{
- _1943_state *state = machine.driver_data<_1943_state>();
- state->m_char_on = 0;
- state->m_obj_on = 0;
- state->m_bg1_on = 0;
- state->m_bg2_on = 0;
+ m_char_on = 0;
+ m_obj_on = 0;
+ m_bg1_on = 0;
+ m_bg2_on = 0;
}
static MACHINE_CONFIG_START( 1943, _1943_state )
@@ -264,7 +263,6 @@ static MACHINE_CONFIG_START( 1943, _1943_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60)
- MCFG_MACHINE_RESET(1943)
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
@@ -277,8 +275,6 @@ static MACHINE_CONFIG_START( 1943, _1943_state )
MCFG_GFXDECODE(1943)
MCFG_PALETTE_LENGTH(32*4+16*16+16*16+16*16)
- MCFG_PALETTE_INIT(1943)
- MCFG_VIDEO_START(1943)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/1945kiii.c b/src/mame/drivers/1945kiii.c
index 137a80e0a0f..7f5f0562737 100644
--- a/src/mame/drivers/1945kiii.c
+++ b/src/mame/drivers/1945kiii.c
@@ -75,6 +75,8 @@ public:
DECLARE_WRITE16_MEMBER(k3_scrolly_w);
DECLARE_WRITE16_MEMBER(k3_soundbanks_w);
TILE_GET_INFO_MEMBER(get_k3_bg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -90,10 +92,9 @@ TILE_GET_INFO_MEMBER(k3_state::get_k3_bg_tile_info)
SET_TILE_INFO_MEMBER(1, tileno, 0, 0);
}
-static VIDEO_START(k3)
+void k3_state::video_start()
{
- k3_state *state = machine.driver_data<k3_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(k3_state::get_k3_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k3_state::get_k3_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 64);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -248,7 +249,7 @@ static GFXDECODE_START( 1945kiii )
GFXDECODE_END
-static MACHINE_START( 1945kiii )
+void k3_state::machine_start()
{
}
@@ -258,7 +259,6 @@ static MACHINE_CONFIG_START( k3, k3_state )
MCFG_CPU_PROGRAM_MAP(k3_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(1945kiii)
MCFG_GFXDECODE(1945kiii)
@@ -271,7 +271,6 @@ static MACHINE_CONFIG_START( k3, k3_state )
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(k3)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/20pacgal.c b/src/mame/drivers/20pacgal.c
index 319a3fd4236..cbe14fb11fd 100644
--- a/src/mame/drivers/20pacgal.c
+++ b/src/mame/drivers/20pacgal.c
@@ -341,25 +341,23 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( 20pacgal )
+void _20pacgal_state::machine_start()
{
- _20pacgal_state *state = machine.driver_data<_20pacgal_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_eeprom = machine.device("eeprom");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_eeprom = machine().device("eeprom");
- state->save_item(NAME(state->m_game_selected));
- state->save_item(NAME(state->m_ram_48000));
- state->save_item(NAME(state->m_irq_mask));
+ save_item(NAME(m_game_selected));
+ save_item(NAME(m_ram_48000));
+ save_item(NAME(m_irq_mask));
- machine.save().register_postload(save_prepost_delegate(FUNC(set_bankptr), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(set_bankptr), &machine()));
}
-static MACHINE_RESET( 20pacgal )
+void _20pacgal_state::machine_reset()
{
- _20pacgal_state *state = machine.driver_data<_20pacgal_state>();
- state->m_game_selected = 0;
+ m_game_selected = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -378,8 +376,6 @@ static MACHINE_CONFIG_START( 20pacgal, _20pacgal_state )
MCFG_CPU_IO_MAP(20pacgal_io_map)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_START(20pacgal)
- MCFG_MACHINE_RESET(20pacgal)
MCFG_EEPROM_ADD("eeprom", _20pacgal_eeprom_intf)
diff --git a/src/mame/drivers/2mindril.c b/src/mame/drivers/2mindril.c
index 0edc6a15e63..dd3d35f38ee 100644
--- a/src/mame/drivers/2mindril.c
+++ b/src/mame/drivers/2mindril.c
@@ -61,6 +61,9 @@ public:
DECLARE_READ16_MEMBER(drill_irq_r);
DECLARE_WRITE16_MEMBER(drill_irq_w);
DECLARE_DRIVER_INIT(drill);
+ DECLARE_MACHINE_START(drill);
+ DECLARE_MACHINE_RESET(drill);
+
};
@@ -422,23 +425,21 @@ static const ym2610_interface ym2610_config =
};
-static MACHINE_START( drill )
+MACHINE_START_MEMBER(_2mindril_state,drill)
{
- _2mindril_state *state = machine.driver_data<_2mindril_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_defender_sensor));
- state->save_item(NAME(state->m_shutter_sensor));
+ save_item(NAME(m_defender_sensor));
+ save_item(NAME(m_shutter_sensor));
}
-static MACHINE_RESET( drill )
+MACHINE_RESET_MEMBER(_2mindril_state,drill)
{
- _2mindril_state *state = machine.driver_data<_2mindril_state>();
- state->m_defender_sensor = 0;
- state->m_shutter_sensor = 0;
- state->irq_reg = 0;
+ m_defender_sensor = 0;
+ m_shutter_sensor = 0;
+ irq_reg = 0;
}
static MACHINE_CONFIG_START( drill, _2mindril_state )
@@ -449,8 +450,8 @@ static MACHINE_CONFIG_START( drill, _2mindril_state )
//MCFG_CPU_PERIODIC_INT(drill_device_irq,60)
MCFG_GFXDECODE(2mindril)
- MCFG_MACHINE_START(drill)
- MCFG_MACHINE_RESET(drill)
+ MCFG_MACHINE_START_OVERRIDE(_2mindril_state,drill)
+ MCFG_MACHINE_RESET_OVERRIDE(_2mindril_state,drill)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -462,7 +463,7 @@ static MACHINE_CONFIG_START( drill, _2mindril_state )
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(f3)
+ MCFG_VIDEO_START_OVERRIDE(_2mindril_state,f3)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/30test.c b/src/mame/drivers/30test.c
index 41ba8e09189..62aba6d8d06 100644
--- a/src/mame/drivers/30test.c
+++ b/src/mame/drivers/30test.c
@@ -64,6 +64,8 @@ public:
DECLARE_WRITE8_MEMBER(hc11_mux_w);
DECLARE_READ8_MEMBER(hc11_okibank_r);
DECLARE_WRITE8_MEMBER(hc11_okibank_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -218,15 +220,14 @@ static INPUT_PORTS_START( 30test )
INPUT_PORTS_END
-static MACHINE_START( 30test )
+void namco_30test_state::machine_start()
{
- namco_30test_state *state = machine.driver_data<namco_30test_state>();
- state->save_item(NAME(state->m_mux_data));
- state->save_item(NAME(state->m_oki_bank));
+ save_item(NAME(m_mux_data));
+ save_item(NAME(m_oki_bank));
}
-static MACHINE_RESET( 30test )
+void namco_30test_state::machine_reset()
{
}
@@ -247,8 +248,6 @@ static MACHINE_CONFIG_START( 30test, namco_30test_state )
MCFG_CPU_IO_MAP(namco_30test_io)
MCFG_CPU_CONFIG(namco_30test_config)
- MCFG_MACHINE_START(30test)
- MCFG_MACHINE_RESET(30test)
/* no video! */
diff --git a/src/mame/drivers/39in1.c b/src/mame/drivers/39in1.c
index 17d6f1a9bce..994b6e2f1ed 100644
--- a/src/mame/drivers/39in1.c
+++ b/src/mame/drivers/39in1.c
@@ -73,6 +73,7 @@ public:
DECLARE_WRITE32_MEMBER(cpld_w);
DECLARE_READ32_MEMBER(prot_cheater_r);
DECLARE_DRIVER_INIT(39in1);
+ virtual void machine_start();
};
@@ -1567,9 +1568,9 @@ static void pxa255_start(running_machine& machine)
//pxa255_register_state_save(device);
}
-static MACHINE_START(39in1)
+void _39in1_state::machine_start()
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
int i;
for (i = 0; i < 0x80000; i += 2)
@@ -1583,7 +1584,7 @@ static MACHINE_START(39in1)
// }
}
- pxa255_start(machine);
+ pxa255_start(machine());
}
static MACHINE_CONFIG_START( 39in1, _39in1_state )
@@ -1603,7 +1604,6 @@ static MACHINE_CONFIG_START( 39in1, _39in1_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_MACHINE_START(39in1)
MCFG_EEPROM_93C66B_ADD("eeprom")
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/3do.c b/src/mame/drivers/3do.c
index f65917ea3a0..b3e9653b783 100644
--- a/src/mame/drivers/3do.c
+++ b/src/mame/drivers/3do.c
@@ -129,24 +129,23 @@ static INPUT_PORTS_START( 3do )
INPUT_PORTS_END
-static MACHINE_RESET( 3do )
+void _3do_state::machine_reset()
{
- _3do_state *state = machine.driver_data<_3do_state>();
- state->m_maincpu = downcast<legacy_cpu_device*>( machine.device<cpu_device>("maincpu") );
+ m_maincpu = downcast<legacy_cpu_device*>( machine().device<cpu_device>("maincpu") );
- state->membank("bank2")->set_base(state->memregion("user1")->base());
+ membank("bank2")->set_base(memregion("user1")->base());
/* configure overlay */
- state->membank("bank1")->configure_entry(0, state->m_dram);
- state->membank("bank1")->configure_entry(1, state->memregion("user1")->base());
+ membank("bank1")->configure_entry(0, m_dram);
+ membank("bank1")->configure_entry(1, memregion("user1")->base());
/* start with overlay enabled */
- state->membank("bank1")->set_entry(1);
+ membank("bank1")->set_entry(1);
- _3do_slow2_init(machine);
- _3do_madam_init(machine);
- _3do_clio_init(machine, downcast<screen_device *>(machine.device("screen")));
+ _3do_slow2_init(machine());
+ _3do_madam_init(machine());
+ _3do_clio_init(machine(), downcast<screen_device *>(machine().device("screen")));
}
struct cdrom_interface _3do_cdrom =
@@ -161,9 +160,8 @@ static MACHINE_CONFIG_START( 3do, _3do_state )
MCFG_CPU_ADD( "maincpu", ARM7_BE, XTAL_50MHz/4 )
MCFG_CPU_PROGRAM_MAP( 3do_mem)
- MCFG_MACHINE_RESET( 3do )
- MCFG_VIDEO_START( _3do )
+ MCFG_VIDEO_START_OVERRIDE(_3do_state, _3do )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS( X2_CLOCK_NTSC / 2, 1592, 254, 1534, 263, 22, 262 )
@@ -179,7 +177,6 @@ static MACHINE_CONFIG_START( 3do_pal, _3do_state )
MCFG_CPU_ADD("maincpu", ARM7_BE, XTAL_50MHz/4 )
MCFG_CPU_PROGRAM_MAP( 3do_mem)
- MCFG_MACHINE_RESET( 3do )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_UPDATE_STATIC( _3do )
diff --git a/src/mame/drivers/40love.c b/src/mame/drivers/40love.c
index 4da909fe01d..0ea5bf2d333 100644
--- a/src/mame/drivers/40love.c
+++ b/src/mame/drivers/40love.c
@@ -672,9 +672,8 @@ static ADDRESS_MAP_START( undoukai_map, AS_PROGRAM, 8, fortyl_state )
AM_RANGE(0xc000, 0xffff) AM_READWRITE(fortyl_pixram_r, fortyl_pixram_w)
ADDRESS_MAP_END
-static MACHINE_RESET( ta7630 )
+MACHINE_RESET_MEMBER(fortyl_state,ta7630)
{
- fortyl_state *state = machine.driver_data<fortyl_state>();
int i;
double db = 0.0;
@@ -683,8 +682,8 @@ static MACHINE_RESET( ta7630 )
for (i = 0; i < 16; i++)
{
double max = 100.0 / pow(10.0, db/20.0);
- state->m_vol_ctrl[15 - i] = max;
- /*logerror("vol_ctrl[%x] = %i (%f dB)\n", 15 - i, state->m_vol_ctrl[15 - i], db);*/
+ m_vol_ctrl[15 - i] = max;
+ /*logerror("vol_ctrl[%x] = %i (%f dB)\n", 15 - i, m_vol_ctrl[15 - i], db);*/
db += db_step;
db_step += db_step_inc;
}
@@ -974,88 +973,84 @@ static const msm5232_interface msm5232_config =
/*******************************************************************************/
-static MACHINE_START( 40love )
+MACHINE_START_MEMBER(fortyl_state,40love)
{
- fortyl_state *state = machine.driver_data<fortyl_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
/* video */
- state->save_item(NAME(state->m_pix1));
- state->save_item(NAME(state->m_pix2));
+ save_item(NAME(m_pix1));
+ save_item(NAME(m_pix2));
/* sound */
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_snd_data));
- state->save_item(NAME(state->m_snd_flag));
- state->save_item(NAME(state->m_vol_ctrl));
- state->save_item(NAME(state->m_snd_ctrl0));
- state->save_item(NAME(state->m_snd_ctrl1));
- state->save_item(NAME(state->m_snd_ctrl2));
- state->save_item(NAME(state->m_snd_ctrl3));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_snd_data));
+ save_item(NAME(m_snd_flag));
+ save_item(NAME(m_vol_ctrl));
+ save_item(NAME(m_snd_ctrl0));
+ save_item(NAME(m_snd_ctrl1));
+ save_item(NAME(m_snd_ctrl2));
+ save_item(NAME(m_snd_ctrl3));
}
-static MACHINE_START( undoukai )
+MACHINE_START_MEMBER(fortyl_state,undoukai)
{
- fortyl_state *state = machine.driver_data<fortyl_state>();
- MACHINE_START_CALL(40love);
+ MACHINE_START_CALL_MEMBER(40love);
/* fake mcu */
- state->save_item(NAME(state->m_from_mcu));
- state->save_item(NAME(state->m_mcu_cmd));
- state->save_item(NAME(state->m_mcu_in[0]));
- state->save_item(NAME(state->m_mcu_in[1]));
- state->save_item(NAME(state->m_mcu_out[0]));
- state->save_item(NAME(state->m_mcu_out[1]));
+ save_item(NAME(m_from_mcu));
+ save_item(NAME(m_mcu_cmd));
+ save_item(NAME(m_mcu_in[0]));
+ save_item(NAME(m_mcu_in[1]));
+ save_item(NAME(m_mcu_out[0]));
+ save_item(NAME(m_mcu_out[1]));
}
-static MACHINE_RESET( common )
+MACHINE_RESET_MEMBER(fortyl_state,common)
{
- fortyl_state *state = machine.driver_data<fortyl_state>();
- MACHINE_RESET_CALL(ta7630);
+ MACHINE_RESET_CALL_MEMBER(ta7630);
/* video */
- state->m_pix1 = 0;
- state->m_pix2[0] = 0;
- state->m_pix2[1] = 0;
+ m_pix1 = 0;
+ m_pix2[0] = 0;
+ m_pix2[1] = 0;
/* sound */
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_snd_data = 0;
- state->m_snd_flag = 0;
- state->m_snd_ctrl0 = 0;
- state->m_snd_ctrl1 = 0;
- state->m_snd_ctrl2 = 0;
- state->m_snd_ctrl3 = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_snd_data = 0;
+ m_snd_flag = 0;
+ m_snd_ctrl0 = 0;
+ m_snd_ctrl1 = 0;
+ m_snd_ctrl2 = 0;
+ m_snd_ctrl3 = 0;
}
-static MACHINE_RESET( 40love )
+MACHINE_RESET_MEMBER(fortyl_state,40love)
{
- machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
+ machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
- MACHINE_RESET_CALL(common);
+ MACHINE_RESET_CALL_MEMBER(common);
}
-static MACHINE_RESET( undoukai )
+MACHINE_RESET_MEMBER(fortyl_state,undoukai)
{
- fortyl_state *state = machine.driver_data<fortyl_state>();
int i;
- MACHINE_RESET_CALL(common);
+ MACHINE_RESET_CALL_MEMBER(common);
/* fake mcu */
- state->m_from_mcu = 0xff;
- state->m_mcu_cmd = -1;
+ m_from_mcu = 0xff;
+ m_mcu_cmd = -1;
for (i = 0; i < 16; i++)
{
- state->m_mcu_in[0][i] = 0;
- state->m_mcu_in[1][i] = 0;
- state->m_mcu_out[0][i] = 0;
- state->m_mcu_out[1][i] = 0;
+ m_mcu_in[0][i] = 0;
+ m_mcu_in[1][i] = 0;
+ m_mcu_out[0][i] = 0;
+ m_mcu_out[1][i] = 0;
}
}
@@ -1075,8 +1070,8 @@ static MACHINE_CONFIG_START( 40love, fortyl_state )
MCFG_DEVICE_ADD("bmcu", BUGGYCHL_MCU, 0)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* high interleave to ensure proper synchronization of CPUs */
- MCFG_MACHINE_START(40love)
- MCFG_MACHINE_RESET(40love)
+ MCFG_MACHINE_START_OVERRIDE(fortyl_state,40love)
+ MCFG_MACHINE_RESET_OVERRIDE(fortyl_state,40love)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1089,8 +1084,6 @@ static MACHINE_CONFIG_START( 40love, fortyl_state )
MCFG_GFXDECODE(40love)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(fortyl)
- MCFG_VIDEO_START(fortyl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1132,8 +1125,8 @@ static MACHINE_CONFIG_START( undoukai, fortyl_state )
// MCFG_CPU_PROGRAM_MAP(buggychl_mcu_map)
// MCFG_DEVICE_ADD("bmcu", BUGGYCHL_MCU, 0)
- MCFG_MACHINE_START(undoukai)
- MCFG_MACHINE_RESET(undoukai) /* init machine */
+ MCFG_MACHINE_START_OVERRIDE(fortyl_state,undoukai)
+ MCFG_MACHINE_RESET_OVERRIDE(fortyl_state,undoukai) /* init machine */
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1146,8 +1139,6 @@ static MACHINE_CONFIG_START( undoukai, fortyl_state )
MCFG_GFXDECODE(40love)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(fortyl)
- MCFG_VIDEO_START(fortyl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/4enraya.c b/src/mame/drivers/4enraya.c
index d990715d565..d549a308d6a 100644
--- a/src/mame/drivers/4enraya.c
+++ b/src/mame/drivers/4enraya.c
@@ -292,29 +292,27 @@ static GFXDECODE_START( 4enraya )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 )
GFXDECODE_END
-static MACHINE_START( 4enraya )
+void _4enraya_state::machine_start()
{
- _4enraya_state *state = machine.driver_data<_4enraya_state>();
- state->save_item(NAME(state->m_soundlatch));
- state->save_item(NAME(state->m_last_snd_ctrl));
+ save_item(NAME(m_soundlatch));
+ save_item(NAME(m_last_snd_ctrl));
}
-static MACHINE_RESET( 4enraya )
+void _4enraya_state::machine_reset()
{
- _4enraya_state *state = machine.driver_data<_4enraya_state>();
- state->m_soundlatch = 0;
- state->m_last_snd_ctrl = 0;
+ m_soundlatch = 0;
+ m_last_snd_ctrl = 0;
}
-static PALETTE_INIT( 4enraya )
+void _4enraya_state::palette_init()
{
int i;
/* RGB format */
for(i=0;i<8;i++)
- palette_set_color(machine, i, MAKE_RGB(pal1bit(i >> 0),pal1bit(i >> 1),pal1bit(i >> 2)));
+ palette_set_color(machine(), i, MAKE_RGB(pal1bit(i >> 0),pal1bit(i >> 1),pal1bit(i >> 2)));
}
static MACHINE_CONFIG_START( 4enraya, _4enraya_state )
@@ -325,8 +323,6 @@ static MACHINE_CONFIG_START( 4enraya, _4enraya_state )
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) // unknown timing
- MCFG_MACHINE_START(4enraya)
- MCFG_MACHINE_RESET(4enraya)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -338,10 +334,8 @@ static MACHINE_CONFIG_START( 4enraya, _4enraya_state )
MCFG_GFXDECODE(4enraya)
- MCFG_PALETTE_INIT(4enraya)
MCFG_PALETTE_LENGTH(8)
- MCFG_VIDEO_START(4enraya)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/4roses.c b/src/mame/drivers/4roses.c
index 297ebcc6532..d2656839b80 100644
--- a/src/mame/drivers/4roses.c
+++ b/src/mame/drivers/4roses.c
@@ -401,8 +401,8 @@ static MACHINE_CONFIG_START( 4roses, _4roses_state )
MCFG_GFXDECODE(4roses)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_PALETTE_INIT(funworld)
- MCFG_VIDEO_START(funworld)
+ MCFG_PALETTE_INIT_OVERRIDE(_4roses_state,funworld)
+ MCFG_VIDEO_START_OVERRIDE(_4roses_state,funworld)
// MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/8, mc6845_intf) /* 2MHz, guess */
diff --git a/src/mame/drivers/5clown.c b/src/mame/drivers/5clown.c
index 3f70cc9fc3e..914f6521abb 100644
--- a/src/mame/drivers/5clown.c
+++ b/src/mame/drivers/5clown.c
@@ -484,6 +484,8 @@ public:
DECLARE_WRITE8_MEMBER(fclown_ay8910_w);
DECLARE_DRIVER_INIT(fclown);
TILE_GET_INFO_MEMBER(get_fclown_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -529,10 +531,9 @@ TILE_GET_INFO_MEMBER(_5clown_state::get_fclown_tile_info)
}
-static VIDEO_START(fclown)
+void _5clown_state::video_start()
{
- _5clown_state *state = machine.driver_data<_5clown_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_5clown_state::get_fclown_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(_5clown_state::get_fclown_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -543,9 +544,9 @@ static SCREEN_UPDATE_IND16( fclown )
return 0;
}
-static PALETTE_INIT( fclown )
+void _5clown_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/*
7654 3210
---- ---x RED component.
@@ -560,7 +561,7 @@ static PALETTE_INIT( fclown )
if (color_prom == 0) return;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0, bit1, bit2, bit3, r, g, b, bk;
@@ -580,7 +581,7 @@ static PALETTE_INIT( fclown )
bit2 = (color_prom[i] >> 2) & 0x01;
b = bk * (bit2 * 0xff);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -1084,9 +1085,7 @@ static MACHINE_CONFIG_START( fclown, _5clown_state )
MCFG_GFXDECODE(fclown)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(fclown)
- MCFG_VIDEO_START(fclown)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/16, mc6845_intf) /* guess */
diff --git a/src/mame/drivers/8080bw.c b/src/mame/drivers/8080bw.c
index e23d24af3b2..1b2804669d2 100644
--- a/src/mame/drivers/8080bw.c
+++ b/src/mame/drivers/8080bw.c
@@ -198,11 +198,11 @@
/* */
/*******************************************************/
-static MACHINE_START( extra_8080bw )
+MACHINE_START_MEMBER(_8080bw_state,extra_8080bw)
{
- MACHINE_START_CALL(extra_8080bw_sh);
- MACHINE_START_CALL(extra_8080bw_vh);
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(extra_8080bw_sh);
+ MACHINE_START_CALL_MEMBER(extra_8080bw_vh);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
/*******************************************************/
@@ -385,7 +385,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( invadpt2, mw8080bw_root, _8080bw_state )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(invadpt2_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* 60 Hz signal clocks two LS161. Ripple carry will */
/* reset circuit, if LS161 not cleared before. */
@@ -444,7 +444,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( spcewars, mw8080bw_root, _8080bw_state )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(spcewars_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -568,7 +568,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( cosmo, mw8080bw_root, _8080bw_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(cosmo_map)
MCFG_CPU_IO_MAP(cosmo_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -795,7 +795,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( lrescue, mw8080bw_root, _8080bw_state )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(lrescue_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1044,17 +1044,17 @@ static INPUT_PORTS_START( schaser )
PORT_ADJUSTER( 70, "VR3 - Dot Volume" )
INPUT_PORTS_END
-static MACHINE_START( schaser )
+MACHINE_START_MEMBER(_8080bw_state,schaser)
{
- MACHINE_START_CALL(schaser_sh);
- MACHINE_START_CALL(extra_8080bw_vh);
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(schaser_sh);
+ MACHINE_START_CALL_MEMBER(extra_8080bw_vh);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
-static MACHINE_RESET( schaser )
+MACHINE_RESET_MEMBER(_8080bw_state,schaser)
{
- MACHINE_RESET_CALL(schaser_sh);
- MACHINE_RESET_CALL(mw8080bw);
+ MACHINE_RESET_CALL_MEMBER(schaser_sh);
+ MACHINE_RESET_CALL_MEMBER(mw8080bw);
}
static MACHINE_CONFIG_DERIVED_CLASS( schaser, mw8080bw_root, _8080bw_state )
@@ -1064,8 +1064,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( schaser, mw8080bw_root, _8080bw_state )
MCFG_CPU_PROGRAM_MAP(schaser_map)
MCFG_CPU_IO_MAP(schaser_io_map)
MCFG_WATCHDOG_VBLANK_INIT(255)
- MCFG_MACHINE_START(schaser)
- MCFG_MACHINE_RESET(schaser)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,schaser)
+ MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state,schaser)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1134,7 +1134,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( schasercv, mw8080bw_root, _8080bw_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(schaser_map)
MCFG_CPU_IO_MAP(schasercv_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1215,7 +1215,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( sflush, mw8080bw_root, _8080bw_state )
MCFG_CPU_REPLACE("maincpu",M6800,1500000) // ?
MCFG_CPU_PROGRAM_MAP(sflush_map)
MCFG_CPU_VBLANK_INT("screen",irq0_line_hold)
- MCFG_MACHINE_START(mw8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,mw8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1322,7 +1322,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( lupin3, mw8080bw_root, _8080bw_state )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(lupin3_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1342,7 +1342,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( lupin3a, mw8080bw_root, _8080bw_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(schaser_map)
MCFG_CPU_IO_MAP(lupin3_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1375,13 +1375,12 @@ static INTERRUPT_GEN( polaris_interrupt )
}
}
-static MACHINE_START( polaris )
+MACHINE_START_MEMBER(_8080bw_state,polaris)
{
- _8080bw_state *state = machine.driver_data<_8080bw_state>();
- state->save_item(NAME(state->m_polaris_cloud_speed));
- state->save_item(NAME(state->m_polaris_cloud_pos));
+ save_item(NAME(m_polaris_cloud_speed));
+ save_item(NAME(m_polaris_cloud_pos));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
// Port 5 is used to reset the watchdog timer.
@@ -1463,7 +1462,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( polaris, mw8080bw_root, _8080bw_state )
MCFG_CPU_IO_MAP(polaris_io_map)
MCFG_WATCHDOG_VBLANK_INIT(255)
MCFG_CPU_VBLANK_INT("screen", polaris_interrupt)
- MCFG_MACHINE_START(polaris)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,polaris)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1586,7 +1585,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( ballbomb, mw8080bw_root, _8080bw_state )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(ballbomb_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1661,7 +1660,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( yosakdon, mw8080bw_root, _8080bw_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(yosakdon_map)
MCFG_CPU_IO_MAP(yosakdon_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* sound hardware */
MCFG_FRAGMENT_ADD(invaders_samples_audio)
@@ -1757,7 +1756,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( indianbt, mw8080bw_root, _8080bw_state )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(indianbt_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1831,7 +1830,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( steelwkr, mw8080bw_root, _8080bw_state )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(steelwkr_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1968,7 +1967,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( shuttlei, mw8080bw_root, _8080bw_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(shuttlei_map)
MCFG_CPU_IO_MAP(shuttlei_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -2005,13 +2004,13 @@ Another (same checksums) dump came from board labeled SI-7811M-2
*/
-static MACHINE_START( darthvdr )
+MACHINE_START_MEMBER(_8080bw_state,darthvdr)
{
/* do nothing for now - different interrupt system */
}
-static MACHINE_RESET( darthvdr )
+MACHINE_RESET_MEMBER(_8080bw_state,darthvdr)
{
/* do nothing for now - different interrupt system */
}
@@ -2077,8 +2076,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( darthvdr, mw8080bw_root, _8080bw_state )
MCFG_CPU_IO_MAP(darthvdr_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(darthvdr)
- MCFG_MACHINE_RESET(darthvdr)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,darthvdr)
+ MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state,darthvdr)
MACHINE_CONFIG_END
@@ -2148,7 +2147,7 @@ MACHINE_CONFIG_DERIVED_CLASS( vortex, mw8080bw_root, _8080bw_state )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(vortex_io_map)
- MCFG_MACHINE_START(extra_8080bw)
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
MCFG_WATCHDOG_TIME_INIT(attotime::from_usec(255000000 / (MW8080BW_PIXEL_CLOCK / MW8080BW_HTOTAL / MW8080BW_VTOTAL)))
/* video hardware */
@@ -2529,13 +2528,12 @@ WRITE8_MEMBER(_8080bw_state::invmulti_bank_w)
membank("bank2")->set_base(memregion("maincpu")->base() + bank * 0x4000 + 0x2000);
}
-static MACHINE_RESET( invmulti )
+MACHINE_RESET_MEMBER(_8080bw_state,invmulti)
{
- _8080bw_state *state = machine.driver_data<_8080bw_state>();
- state->invmulti_bank_w(*state->m_maincpu->space(AS_PROGRAM), 0, 0);
+ invmulti_bank_w(*m_maincpu->space(AS_PROGRAM), 0, 0);
- MACHINE_RESET_CALL(mw8080bw);
+ MACHINE_RESET_CALL_MEMBER(mw8080bw);
}
MACHINE_CONFIG_DERIVED_CLASS( invmulti, invaders, _8080bw_state )
@@ -2546,7 +2544,7 @@ MACHINE_CONFIG_DERIVED_CLASS( invmulti, invaders, _8080bw_state )
MCFG_EEPROM_93C46_8BIT_ADD("eeprom")
- MCFG_MACHINE_RESET(invmulti)
+ MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state,invmulti)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/88games.c b/src/mame/drivers/88games.c
index a741f630ad5..a58bc81b472 100644
--- a/src/mame/drivers/88games.c
+++ b/src/mame/drivers/88games.c
@@ -305,42 +305,40 @@ static KONAMI_SETLINES_CALLBACK( k88games_banking )
state->m_k88games_priority = lines & 0x80;
}
-static MACHINE_START( 88games )
+void _88games_state::machine_start()
{
- _88games_state *state = machine.driver_data<_88games_state>();
-
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
- state->m_k051316 = machine.device("k051316");
- state->m_upd_1 = machine.device("upd1");
- state->m_upd_2 = machine.device("upd2");
-
- state->save_item(NAME(state->m_videobank));
- state->save_item(NAME(state->m_zoomreadroms));
- state->save_item(NAME(state->m_speech_chip));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_k88games_priority));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_zoom_colorbase));
+
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
+ m_k051316 = machine().device("k051316");
+ m_upd_1 = machine().device("upd1");
+ m_upd_2 = machine().device("upd2");
+
+ save_item(NAME(m_videobank));
+ save_item(NAME(m_zoomreadroms));
+ save_item(NAME(m_speech_chip));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_k88games_priority));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_zoom_colorbase));
}
-static MACHINE_RESET( 88games )
+void _88games_state::machine_reset()
{
- _88games_state *state = machine.driver_data<_88games_state>();
-
- konami_configure_set_lines(machine.device("maincpu"), k88games_banking);
- state->m_generic_paletteram_8.set_target(&state->memregion("maincpu")->base()[0x20000], 0x1000);
-
- state->m_videobank = 0;
- state->m_zoomreadroms = 0;
- state->m_speech_chip = 0;
- state->m_k88games_priority = 0;
- state->m_layer_colorbase[0] = 64;
- state->m_layer_colorbase[1] = 0;
- state->m_layer_colorbase[2] = 16;
- state->m_sprite_colorbase = 32;
- state->m_zoom_colorbase = 48;
+
+ konami_configure_set_lines(machine().device("maincpu"), k88games_banking);
+ m_generic_paletteram_8.set_target(&memregion("maincpu")->base()[0x20000], 0x1000);
+
+ m_videobank = 0;
+ m_zoomreadroms = 0;
+ m_speech_chip = 0;
+ m_k88games_priority = 0;
+ m_layer_colorbase[0] = 64;
+ m_layer_colorbase[1] = 0;
+ m_layer_colorbase[2] = 16;
+ m_sprite_colorbase = 32;
+ m_zoom_colorbase = 48;
}
static const k052109_interface _88games_k052109_intf =
@@ -377,8 +375,6 @@ static MACHINE_CONFIG_START( 88games, _88games_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(88games)
- MCFG_MACHINE_RESET(88games)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/ace.c b/src/mame/drivers/ace.c
index 45c2a79655a..7bdef149339 100644
--- a/src/mame/drivers/ace.c
+++ b/src/mame/drivers/ace.c
@@ -64,6 +64,10 @@ public:
DECLARE_WRITE8_MEMBER(ace_characterram_w);
DECLARE_WRITE8_MEMBER(ace_scoreram_w);
DECLARE_READ8_MEMBER(unk_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -79,13 +83,12 @@ READ8_MEMBER(aceal_state::ace_objpos_r)
}
#endif
-static VIDEO_START( ace )
+void aceal_state::video_start()
{
- aceal_state *state = machine.driver_data<aceal_state>();
- machine.gfx[1]->set_source(state->m_characterram);
- machine.gfx[2]->set_source(state->m_characterram);
- machine.gfx[3]->set_source(state->m_characterram);
- machine.gfx[4]->set_source(state->m_scoreram);
+ machine().gfx[1]->set_source(m_characterram);
+ machine().gfx[2]->set_source(m_characterram);
+ machine().gfx[3]->set_source(m_characterram);
+ machine().gfx[4]->set_source(m_scoreram);
}
static SCREEN_UPDATE_IND16( ace )
@@ -127,10 +130,10 @@ static SCREEN_UPDATE_IND16( ace )
}
-static PALETTE_INIT( ace )
+void aceal_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0x00,0x00,0x00)); /* black */
- palette_set_color(machine, 1, MAKE_RGB(0xff,0xff,0xff)); /* white */
+ palette_set_color(machine(), 0, MAKE_RGB(0x00,0x00,0x00)); /* black */
+ palette_set_color(machine(), 1, MAKE_RGB(0xff,0xff,0xff)); /* white */
}
@@ -329,20 +332,18 @@ static void ace_postload(running_machine &machine)
machine.gfx[4]->mark_dirty(0);
}
-static MACHINE_START( ace )
+void aceal_state::machine_start()
{
- aceal_state *state = machine.driver_data<aceal_state>();
- state->save_item(NAME(state->m_objpos));
- machine.save().register_postload(save_prepost_delegate(FUNC(ace_postload), &machine));
+ save_item(NAME(m_objpos));
+ machine().save().register_postload(save_prepost_delegate(FUNC(ace_postload), &machine()));
}
-static MACHINE_RESET( ace )
+void aceal_state::machine_reset()
{
- aceal_state *state = machine.driver_data<aceal_state>();
int i;
for (i = 0; i < 8; i++)
- state->m_objpos[i] = 0;
+ m_objpos[i] = 0;
}
static MACHINE_CONFIG_START( ace, aceal_state )
@@ -351,8 +352,6 @@ static MACHINE_CONFIG_START( ace, aceal_state )
MCFG_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* 2 MHz ? */
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(ace)
- MCFG_MACHINE_RESET(ace)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -365,8 +364,6 @@ static MACHINE_CONFIG_START( ace, aceal_state )
MCFG_GFXDECODE(ace)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(ace)
- MCFG_VIDEO_START(ace)
/* sound hardware */
/* ???? */
diff --git a/src/mame/drivers/acefruit.c b/src/mame/drivers/acefruit.c
index 8ea3225f422..8100daef70b 100644
--- a/src/mame/drivers/acefruit.c
+++ b/src/mame/drivers/acefruit.c
@@ -37,6 +37,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(starspnr_coinage_r);
DECLARE_CUSTOM_INPUT_MEMBER(starspnr_payout_r);
DECLARE_DRIVER_INIT(sidewndr);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -75,10 +77,9 @@ static TIMER_CALLBACK( acefruit_refresh )
state->m_refresh_timer->adjust( machine.primary_screen->time_until_pos(vpos) );
}
-static VIDEO_START( acefruit )
+void acefruit_state::video_start()
{
- acefruit_state *state = machine.driver_data<acefruit_state>();
- state->m_refresh_timer = machine.scheduler().timer_alloc(FUNC(acefruit_refresh));
+ m_refresh_timer = machine().scheduler().timer_alloc(FUNC(acefruit_refresh));
}
static INTERRUPT_GEN( acefruit_vblank )
@@ -262,27 +263,27 @@ WRITE8_MEMBER(acefruit_state::acefruit_solenoid_w)
}
}
-static PALETTE_INIT( acefruit )
+void acefruit_state::palette_init()
{
/* sprites */
- palette_set_color( machine, 0, MAKE_RGB(0x00, 0x00, 0x00) );
- palette_set_color( machine, 1, MAKE_RGB(0x00, 0x00, 0xff) );
- palette_set_color( machine, 2, MAKE_RGB(0x00, 0xff, 0x00) );
- palette_set_color( machine, 3, MAKE_RGB(0xff, 0x7f, 0x00) );
- palette_set_color( machine, 4, MAKE_RGB(0xff, 0x00, 0x00) );
- palette_set_color( machine, 5, MAKE_RGB(0xff, 0xff, 0x00) );
- palette_set_color( machine, 6, MAKE_RGB(0xff, 0xff, 0xff) );
- palette_set_color( machine, 7, MAKE_RGB(0x7f, 0x3f, 0x1f) );
+ palette_set_color( machine(), 0, MAKE_RGB(0x00, 0x00, 0x00) );
+ palette_set_color( machine(), 1, MAKE_RGB(0x00, 0x00, 0xff) );
+ palette_set_color( machine(), 2, MAKE_RGB(0x00, 0xff, 0x00) );
+ palette_set_color( machine(), 3, MAKE_RGB(0xff, 0x7f, 0x00) );
+ palette_set_color( machine(), 4, MAKE_RGB(0xff, 0x00, 0x00) );
+ palette_set_color( machine(), 5, MAKE_RGB(0xff, 0xff, 0x00) );
+ palette_set_color( machine(), 6, MAKE_RGB(0xff, 0xff, 0xff) );
+ palette_set_color( machine(), 7, MAKE_RGB(0x7f, 0x3f, 0x1f) );
/* tiles */
- palette_set_color( machine, 8, MAKE_RGB(0x00, 0x00, 0x00) );
- palette_set_color( machine, 9, MAKE_RGB(0xff, 0xff, 0xff) );
- palette_set_color( machine, 10, MAKE_RGB(0x00, 0x00, 0x00) );
- palette_set_color( machine, 11, MAKE_RGB(0x00, 0x00, 0xff) );
- palette_set_color( machine, 12, MAKE_RGB(0x00, 0x00, 0x00) );
- palette_set_color( machine, 13, MAKE_RGB(0x00, 0xff, 0x00) );
- palette_set_color( machine, 14, MAKE_RGB(0x00, 0x00, 0x00) );
- palette_set_color( machine, 15, MAKE_RGB(0xff, 0x00, 0x00) );
+ palette_set_color( machine(), 8, MAKE_RGB(0x00, 0x00, 0x00) );
+ palette_set_color( machine(), 9, MAKE_RGB(0xff, 0xff, 0xff) );
+ palette_set_color( machine(), 10, MAKE_RGB(0x00, 0x00, 0x00) );
+ palette_set_color( machine(), 11, MAKE_RGB(0x00, 0x00, 0xff) );
+ palette_set_color( machine(), 12, MAKE_RGB(0x00, 0x00, 0x00) );
+ palette_set_color( machine(), 13, MAKE_RGB(0x00, 0xff, 0x00) );
+ palette_set_color( machine(), 14, MAKE_RGB(0x00, 0x00, 0x00) );
+ palette_set_color( machine(), 15, MAKE_RGB(0xff, 0x00, 0x00) );
}
static ADDRESS_MAP_START( acefruit_map, AS_PROGRAM, 8, acefruit_state )
@@ -597,8 +598,6 @@ static MACHINE_CONFIG_START( acefruit, acefruit_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_PALETTE_INIT(acefruit)
- MCFG_VIDEO_START(acefruit)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/aces1.c b/src/mame/drivers/aces1.c
index ac3130184ba..93f3441196c 100644
--- a/src/mame/drivers/aces1.c
+++ b/src/mame/drivers/aces1.c
@@ -144,6 +144,8 @@ public:
required_device<cpu_device> m_maincpu;
DECLARE_DRIVER_INIT(aces1);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -174,16 +176,15 @@ static void aces1_create_timers(running_machine &machine)
state->m_aces1_nmi_timer = machine.scheduler().timer_alloc(FUNC(m_aces1_nmi_timer_callback), 0);
}
-static MACHINE_START( aces1 )
+void aces1_state::machine_start()
{
- aces1_create_timers(machine);
+ aces1_create_timers(machine());
}
-static MACHINE_RESET( aces1 )
+void aces1_state::machine_reset()
{
- aces1_state *state = machine.driver_data<aces1_state>();
- state->aces1_reset_nmi_timer();
- state->aces1_reset_irq_timer();
+ aces1_reset_nmi_timer();
+ aces1_reset_irq_timer();
}
static ADDRESS_MAP_START( aces1_map, AS_PROGRAM, 8, aces1_state )
@@ -315,8 +316,6 @@ static MACHINE_CONFIG_START( aces1, aces1_state )
MCFG_I8255A_ADD( "ppi8255_ic25", ppi8255_ic25_intf )
MCFG_I8255A_ADD( "ppi8255_ic37", ppi8255_ic37_intf )
- MCFG_MACHINE_START( aces1 )
- MCFG_MACHINE_RESET( aces1 )
MCFG_DEFAULT_LAYOUT(layout_aces1)
/* sound hardware */
diff --git a/src/mame/drivers/acommand.c b/src/mame/drivers/acommand.c
index 1894ebbd7e2..610644229c3 100644
--- a/src/mame/drivers/acommand.c
+++ b/src/mame/drivers/acommand.c
@@ -91,6 +91,7 @@ public:
TILEMAP_MAPPER_MEMBER(bg_scan);
TILE_GET_INFO_MEMBER(ac_get_bg_tile_info);
TILE_GET_INFO_MEMBER(ac_get_tx_tile_info);
+ virtual void video_start();
};
@@ -180,15 +181,14 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
}
-static VIDEO_START( acommand )
+void acommand_state::video_start()
{
- acommand_state *state = machine.driver_data<acommand_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(acommand_state::ac_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,512,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(acommand_state::ac_get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(acommand_state::bg_scan),state),16,16,256,16);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(acommand_state::ac_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,512,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(acommand_state::ac_get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(acommand_state::bg_scan),this),16,16,256,16);
- state->m_ac_vregs = auto_alloc_array(machine, UINT16, 0x80/2);
+ m_ac_vregs = auto_alloc_array(machine(), UINT16, 0x80/2);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
}
@@ -614,7 +614,6 @@ static MACHINE_CONFIG_START( acommand, acommand_state )
MCFG_GFXDECODE(acommand)
MCFG_PALETTE_LENGTH(0x4000)
- MCFG_VIDEO_START(acommand)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/actfancr.c b/src/mame/drivers/actfancr.c
index 10f56fc6118..8abb946a694 100644
--- a/src/mame/drivers/actfancr.c
+++ b/src/mame/drivers/actfancr.c
@@ -289,35 +289,31 @@ static const ym3812_interface ym3812_config =
/******************************************************************************/
-static MACHINE_START( actfancr )
+MACHINE_START_MEMBER(actfancr_state,actfancr)
{
- actfancr_state *state = machine.driver_data<actfancr_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
}
-static MACHINE_START( triothep )
+MACHINE_START_MEMBER(actfancr_state,triothep)
{
- actfancr_state *state = machine.driver_data<actfancr_state>();
- MACHINE_START_CALL(actfancr);
+ MACHINE_START_CALL_MEMBER(actfancr);
- state->save_item(NAME(state->m_trio_control_select));
+ save_item(NAME(m_trio_control_select));
}
-static MACHINE_RESET( actfancr )
+MACHINE_RESET_MEMBER(actfancr_state,actfancr)
{
- actfancr_state *state = machine.driver_data<actfancr_state>();
- state->m_flipscreen = 0;
+ m_flipscreen = 0;
}
-static MACHINE_RESET( triothep )
+MACHINE_RESET_MEMBER(actfancr_state,triothep)
{
- actfancr_state *state = machine.driver_data<actfancr_state>();
- MACHINE_RESET_CALL(actfancr);
- state->m_trio_control_select = 0;
+ MACHINE_RESET_CALL_MEMBER(actfancr);
+ m_trio_control_select = 0;
}
/******************************************************************************/
@@ -332,8 +328,8 @@ static MACHINE_CONFIG_START( actfancr, actfancr_state )
MCFG_CPU_ADD("audiocpu",M6502, 1500000) /* Should be accurate */
MCFG_CPU_PROGRAM_MAP(dec0_s_map)
- MCFG_MACHINE_START(actfancr)
- MCFG_MACHINE_RESET(actfancr)
+ MCFG_MACHINE_START_OVERRIDE(actfancr_state,actfancr)
+ MCFG_MACHINE_RESET_OVERRIDE(actfancr_state,actfancr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -354,7 +350,6 @@ static MACHINE_CONFIG_START( actfancr, actfancr_state )
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 1);
- MCFG_VIDEO_START(actfancr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -383,8 +378,8 @@ static MACHINE_CONFIG_START( triothep, actfancr_state )
MCFG_CPU_ADD("audiocpu",M6502, XTAL_12MHz/8) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(dec0_s_map)
- MCFG_MACHINE_START(triothep)
- MCFG_MACHINE_RESET(triothep)
+ MCFG_MACHINE_START_OVERRIDE(actfancr_state,triothep)
+ MCFG_MACHINE_RESET_OVERRIDE(actfancr_state,triothep)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -405,7 +400,6 @@ static MACHINE_CONFIG_START( triothep, actfancr_state )
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 1);
- MCFG_VIDEO_START(actfancr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/adp.c b/src/mame/drivers/adp.c
index e68a9ca6f13..5fa12f6cbf9 100644
--- a/src/mame/drivers/adp.c
+++ b/src/mame/drivers/adp.c
@@ -180,6 +180,9 @@ public:
DECLARE_WRITE8_MEMBER(ramdac_io_w);
DECLARE_READ8_MEMBER(h63484_rom_r);
DECLARE_READ8_MEMBER(t2_r);
+ DECLARE_MACHINE_START(skattv);
+ DECLARE_MACHINE_RESET(skattv);
+ DECLARE_PALETTE_INIT(adp);
};
@@ -297,16 +300,15 @@ static const microtouch_interface adb_microtouch_config =
NULL
};
-static MACHINE_START( skattv )
+MACHINE_START_MEMBER(adp_state,skattv)
{
- adp_state *state = machine.driver_data<adp_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_duart = machine.device("duart68681");
- //state->m_h63484 = machine.device("h63484");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_duart = machine().device("duart68681");
+ //m_h63484 = machine().device("h63484");
- state->save_item(NAME(state->m_mux_data));
- state->save_item(NAME(state->m_register_active));
+ save_item(NAME(m_mux_data));
+ save_item(NAME(m_register_active));
#if 0
/*
@@ -320,10 +322,10 @@ static MACHINE_START( skattv )
// hack to handle acrt rom
{
- UINT16 *rom = (UINT16*)state->memregion("gfx1")->base();
+ UINT16 *rom = (UINT16*)memregion("gfx1")->base();
int i;
- device_t *hd63484 = machine.device("hd63484");
+ device_t *hd63484 = machine().device("hd63484");
for(i = 0; i < 0x40000/2; ++i)
{
@@ -336,12 +338,11 @@ static MACHINE_START( skattv )
#endif
}
-static MACHINE_RESET( skattv )
+MACHINE_RESET_MEMBER(adp_state,skattv)
{
- adp_state *state = machine.driver_data<adp_state>();
- state->m_mux_data = 0;
- state->m_register_active = 0;
+ m_mux_data = 0;
+ m_register_active = 0;
}
static const duart68681_config skattv_duart68681_config =
@@ -352,11 +353,11 @@ static const duart68681_config skattv_duart68681_config =
NULL
};
-static PALETTE_INIT( adp )
+PALETTE_INIT_MEMBER(adp_state,adp)
{
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -377,7 +378,7 @@ static PALETTE_INIT( adp )
bit2 = (i >> 2) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -665,8 +666,8 @@ static MACHINE_CONFIG_START( quickjac, adp_state )
MCFG_CPU_PROGRAM_MAP(quickjac_mem)
// MCFG_CPU_VBLANK_INT("screen", adp_int)
- MCFG_MACHINE_START(skattv)
- MCFG_MACHINE_RESET(skattv)
+ MCFG_MACHINE_START_OVERRIDE(adp_state,skattv)
+ MCFG_MACHINE_RESET_OVERRIDE(adp_state,skattv)
MCFG_DUART68681_ADD( "duart68681", XTAL_8_664MHz / 2, skattv_duart68681_config )
MCFG_MICROTOUCH_ADD( "microtouch", adb_microtouch_config )
@@ -680,7 +681,7 @@ static MACHINE_CONFIG_START( quickjac, adp_state )
MCFG_PALETTE_LENGTH(0x10)
- MCFG_PALETTE_INIT(adp)
+ MCFG_PALETTE_INIT_OVERRIDE(adp_state,adp)
MCFG_H63484_ADD("h63484", 0, adp_h63484_intf, adp_h63484_map)
@@ -697,8 +698,8 @@ static MACHINE_CONFIG_START( skattv, adp_state )
MCFG_CPU_PROGRAM_MAP(skattv_mem)
// MCFG_CPU_VBLANK_INT("screen", adp_int)
- MCFG_MACHINE_START(skattv)
- MCFG_MACHINE_RESET(skattv)
+ MCFG_MACHINE_START_OVERRIDE(adp_state,skattv)
+ MCFG_MACHINE_RESET_OVERRIDE(adp_state,skattv)
MCFG_DUART68681_ADD( "duart68681", XTAL_8_664MHz / 2, skattv_duart68681_config )
MCFG_MICROTOUCH_ADD( "microtouch", adb_microtouch_config )
@@ -712,7 +713,7 @@ static MACHINE_CONFIG_START( skattv, adp_state )
MCFG_PALETTE_LENGTH(0x10)
- MCFG_PALETTE_INIT(adp)
+ MCFG_PALETTE_INIT_OVERRIDE(adp_state,adp)
MCFG_H63484_ADD("h63484", 0, adp_h63484_intf, adp_h63484_map)
@@ -731,8 +732,8 @@ static MACHINE_CONFIG_START( backgamn, adp_state )
MCFG_DUART68681_ADD( "duart68681", XTAL_8_664MHz / 2, skattv_duart68681_config )
MCFG_MICROTOUCH_ADD( "microtouch", adb_microtouch_config )
- MCFG_MACHINE_START(skattv)
- MCFG_MACHINE_RESET(skattv)
+ MCFG_MACHINE_START_OVERRIDE(adp_state,skattv)
+ MCFG_MACHINE_RESET_OVERRIDE(adp_state,skattv)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -743,7 +744,7 @@ static MACHINE_CONFIG_START( backgamn, adp_state )
MCFG_PALETTE_LENGTH(0x10)
-// MCFG_PALETTE_INIT(adp)
+// MCFG_PALETTE_INIT_OVERRIDE(adp_state,adp)
MCFG_H63484_ADD("h63484", 0, adp_h63484_intf, adp_h63484_map)
diff --git a/src/mame/drivers/aeroboto.c b/src/mame/drivers/aeroboto.c
index 3e8cbe50c79..03453cfd449 100644
--- a/src/mame/drivers/aeroboto.c
+++ b/src/mame/drivers/aeroboto.c
@@ -223,30 +223,28 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
-static MACHINE_START( formatz )
+void aeroboto_state::machine_start()
{
- aeroboto_state *state = machine.driver_data<aeroboto_state>();
- state->m_stars_rom = state->memregion("gfx2")->base();
- state->m_stars_length = state->memregion("gfx2")->bytes();
+ m_stars_rom = memregion("gfx2")->base();
+ m_stars_length = memregion("gfx2")->bytes();
- state->save_item(NAME(state->m_disable_irq));
- state->save_item(NAME(state->m_count));
+ save_item(NAME(m_disable_irq));
+ save_item(NAME(m_count));
}
-static MACHINE_RESET( formatz )
+void aeroboto_state::machine_reset()
{
- aeroboto_state *state = machine.driver_data<aeroboto_state>();
- state->m_disable_irq = 0;
- state->m_count = 0;
+ m_disable_irq = 0;
+ m_count = 0;
- state->m_charbank = 0;
- state->m_starsoff = 0;
- state->m_ox = 0;
- state->m_oy = 0;
- state->m_sx = 0;
- state->m_sy = 0;
+ m_charbank = 0;
+ m_starsoff = 0;
+ m_ox = 0;
+ m_oy = 0;
+ m_sx = 0;
+ m_sy = 0;
}
static MACHINE_CONFIG_START( formatz, aeroboto_state )
@@ -260,8 +258,6 @@ static MACHINE_CONFIG_START( formatz, aeroboto_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(formatz)
- MCFG_MACHINE_RESET(formatz)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -276,7 +272,6 @@ static MACHINE_CONFIG_START( formatz, aeroboto_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(aeroboto)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index d04578c14d5..7bb74c18671 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -1294,34 +1294,32 @@ static const ym3812_interface ym3812_config =
};
-static MACHINE_START( common )
+MACHINE_START_MEMBER(aerofgt_state,common)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_pending_command));
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ save_item(NAME(m_pending_command));
}
-static MACHINE_START( aerofgt )
+MACHINE_START_MEMBER(aerofgt_state,aerofgt)
{
- UINT8 *rom = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *rom = machine().root_device().memregion("audiocpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 4, &rom[0x10000], 0x8000);
+ machine().root_device().membank("bank1")->configure_entries(0, 4, &rom[0x10000], 0x8000);
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
}
-static MACHINE_RESET( common )
+MACHINE_RESET_MEMBER(aerofgt_state,common)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_pending_command = 0;
+ m_pending_command = 0;
}
-static MACHINE_RESET( aerofgt )
+MACHINE_RESET_MEMBER(aerofgt_state,aerofgt)
{
- MACHINE_RESET_CALL(common);
+ MACHINE_RESET_CALL_MEMBER(common);
- machine.root_device().membank("bank1")->set_entry(0); /* needed by spinlbrk */
+ machine().root_device().membank("bank1")->set_entry(0); /* needed by spinlbrk */
}
static MACHINE_CONFIG_START( pspikes, aerofgt_state )
@@ -1336,8 +1334,8 @@ static MACHINE_CONFIG_START( pspikes, aerofgt_state )
MCFG_CPU_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
- MCFG_MACHINE_START(aerofgt)
- MCFG_MACHINE_RESET(aerofgt)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1350,7 +1348,7 @@ static MACHINE_CONFIG_START( pspikes, aerofgt_state )
MCFG_GFXDECODE(pspikes)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(pspikes)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1372,8 +1370,8 @@ static MACHINE_CONFIG_START( spikes91, aerofgt_state )
/* + Z80 for sound */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1386,7 +1384,7 @@ static MACHINE_CONFIG_START( spikes91, aerofgt_state )
MCFG_GFXDECODE(spikes91)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(pspikes)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
/* sound hardware */
/* the sound hardware is completely different on this:
@@ -1404,8 +1402,8 @@ static MACHINE_CONFIG_START( pspikesb, aerofgt_state )
MCFG_CPU_PROGRAM_MAP(pspikesb_map)
MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1418,7 +1416,7 @@ static MACHINE_CONFIG_START( pspikesb, aerofgt_state )
MCFG_GFXDECODE(pspikesb)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(pspikes)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1434,8 +1432,8 @@ static MACHINE_CONFIG_START( pspikesc, aerofgt_state )
MCFG_CPU_PROGRAM_MAP(pspikesc_map)
MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1448,7 +1446,7 @@ static MACHINE_CONFIG_START( pspikesc, aerofgt_state )
MCFG_GFXDECODE(pspikes)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(pspikes)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1469,8 +1467,8 @@ static MACHINE_CONFIG_START( karatblz, aerofgt_state )
MCFG_CPU_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
- MCFG_MACHINE_START(aerofgt)
- MCFG_MACHINE_RESET(aerofgt)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1483,7 +1481,7 @@ static MACHINE_CONFIG_START( karatblz, aerofgt_state )
MCFG_GFXDECODE(turbofrc)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(karatblz)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,karatblz)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1508,8 +1506,8 @@ static MACHINE_CONFIG_START( spinlbrk, aerofgt_state )
MCFG_CPU_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
- MCFG_MACHINE_START(aerofgt)
- MCFG_MACHINE_RESET(aerofgt)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1522,7 +1520,7 @@ static MACHINE_CONFIG_START( spinlbrk, aerofgt_state )
MCFG_GFXDECODE(turbofrc)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(spinlbrk)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,spinlbrk)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1547,8 +1545,8 @@ static MACHINE_CONFIG_START( turbofrc, aerofgt_state )
MCFG_CPU_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
- MCFG_MACHINE_START(aerofgt)
- MCFG_MACHINE_RESET(aerofgt)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1561,7 +1559,7 @@ static MACHINE_CONFIG_START( turbofrc, aerofgt_state )
MCFG_GFXDECODE(turbofrc)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(turbofrc)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1586,8 +1584,8 @@ static MACHINE_CONFIG_START( aerofgtb, aerofgt_state )
MCFG_CPU_IO_MAP(aerofgt_sound_portmap)
/* IRQs are triggered by the YM2610 */
- MCFG_MACHINE_START(aerofgt)
- MCFG_MACHINE_RESET(aerofgt)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1601,7 +1599,7 @@ static MACHINE_CONFIG_START( aerofgtb, aerofgt_state )
MCFG_GFXDECODE(aerofgtb)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(turbofrc)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1626,8 +1624,8 @@ static MACHINE_CONFIG_START( aerofgt, aerofgt_state )
MCFG_CPU_IO_MAP(aerofgt_sound_portmap)
/* IRQs are triggered by the YM2610 */
- MCFG_MACHINE_START(aerofgt)
- MCFG_MACHINE_RESET(aerofgt)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1641,7 +1639,7 @@ static MACHINE_CONFIG_START( aerofgt, aerofgt_state )
MCFG_GFXDECODE(aerofgt)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(turbofrc)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1664,8 +1662,8 @@ static MACHINE_CONFIG_START( aerfboot, aerofgt_state )
MCFG_CPU_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */
MCFG_CPU_PROGRAM_MAP(aerfboot_sound_map)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1679,7 +1677,7 @@ static MACHINE_CONFIG_START( aerfboot, aerofgt_state )
MCFG_GFXDECODE(aerfboot)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(turbofrc)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1695,8 +1693,8 @@ static MACHINE_CONFIG_START( aerfboo2, aerofgt_state )
MCFG_CPU_PROGRAM_MAP(aerfboo2_map)
MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1710,7 +1708,7 @@ static MACHINE_CONFIG_START( aerfboo2, aerofgt_state )
MCFG_GFXDECODE(aerfboo2)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(turbofrc)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1729,8 +1727,8 @@ static MACHINE_CONFIG_START( wbbc97, aerofgt_state )
MCFG_CPU_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */
MCFG_CPU_PROGRAM_MAP(wbbc97_sound_map)
/* IRQs are triggered by the YM3812 */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1743,7 +1741,7 @@ static MACHINE_CONFIG_START( wbbc97, aerofgt_state )
MCFG_GFXDECODE(wbbc97)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(wbbc97)
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,wbbc97)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/airbustr.c b/src/mame/drivers/airbustr.c
index 6dd11b69e95..6932b2a06ab 100644
--- a/src/mame/drivers/airbustr.c
+++ b/src/mame/drivers/airbustr.c
@@ -568,48 +568,46 @@ static INTERRUPT_GEN( slave_interrupt )
/* Machine Initialization */
-static MACHINE_START( airbustr )
+void airbustr_state::machine_start()
{
- airbustr_state *state = machine.driver_data<airbustr_state>();
- UINT8 *MASTER = state->memregion("master")->base();
- UINT8 *SLAVE = state->memregion("slave")->base();
- UINT8 *AUDIO = state->memregion("audiocpu")->base();
-
- state->membank("bank1")->configure_entries(0, 3, &MASTER[0x00000], 0x4000);
- state->membank("bank1")->configure_entries(3, 5, &MASTER[0x10000], 0x4000);
- state->membank("bank2")->configure_entries(0, 3, &SLAVE[0x00000], 0x4000);
- state->membank("bank2")->configure_entries(3, 5, &SLAVE[0x10000], 0x4000);
- state->membank("bank3")->configure_entries(0, 3, &AUDIO[0x00000], 0x4000);
- state->membank("bank3")->configure_entries(3, 5, &AUDIO[0x10000], 0x4000);
-
- state->m_master = machine.device("master");
- state->m_slave = machine.device("slave");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_pandora = machine.device("pandora");
-
- state->save_item(NAME(state->m_soundlatch_status));
- state->save_item(NAME(state->m_soundlatch2_status));
- state->save_item(NAME(state->m_bg_scrollx));
- state->save_item(NAME(state->m_bg_scrolly));
- state->save_item(NAME(state->m_fg_scrollx));
- state->save_item(NAME(state->m_fg_scrolly));
- state->save_item(NAME(state->m_highbits));
+ UINT8 *MASTER = memregion("master")->base();
+ UINT8 *SLAVE = memregion("slave")->base();
+ UINT8 *AUDIO = memregion("audiocpu")->base();
+
+ membank("bank1")->configure_entries(0, 3, &MASTER[0x00000], 0x4000);
+ membank("bank1")->configure_entries(3, 5, &MASTER[0x10000], 0x4000);
+ membank("bank2")->configure_entries(0, 3, &SLAVE[0x00000], 0x4000);
+ membank("bank2")->configure_entries(3, 5, &SLAVE[0x10000], 0x4000);
+ membank("bank3")->configure_entries(0, 3, &AUDIO[0x00000], 0x4000);
+ membank("bank3")->configure_entries(3, 5, &AUDIO[0x10000], 0x4000);
+
+ m_master = machine().device("master");
+ m_slave = machine().device("slave");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_pandora = machine().device("pandora");
+
+ save_item(NAME(m_soundlatch_status));
+ save_item(NAME(m_soundlatch2_status));
+ save_item(NAME(m_bg_scrollx));
+ save_item(NAME(m_bg_scrolly));
+ save_item(NAME(m_fg_scrollx));
+ save_item(NAME(m_fg_scrolly));
+ save_item(NAME(m_highbits));
}
-static MACHINE_RESET( airbustr )
+void airbustr_state::machine_reset()
{
- airbustr_state *state = machine.driver_data<airbustr_state>();
-
- state->m_soundlatch_status = state->m_soundlatch2_status = 0;
- state->m_bg_scrollx = 0;
- state->m_bg_scrolly = 0;
- state->m_fg_scrollx = 0;
- state->m_fg_scrolly = 0;
- state->m_highbits = 0;
-
- state->membank("bank1")->set_entry(0x02);
- state->membank("bank2")->set_entry(0x02);
- state->membank("bank3")->set_entry(0x02);
+
+ m_soundlatch_status = m_soundlatch2_status = 0;
+ m_bg_scrollx = 0;
+ m_bg_scrolly = 0;
+ m_fg_scrollx = 0;
+ m_fg_scrolly = 0;
+ m_highbits = 0;
+
+ membank("bank1")->set_entry(0x02);
+ membank("bank2")->set_entry(0x02);
+ membank("bank3")->set_entry(0x02);
}
/* Machine Driver */
@@ -641,8 +639,6 @@ static MACHINE_CONFIG_START( airbustr, airbustr_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // Palette RAM is filled by sub cpu with data supplied by main cpu
// Maybe a high value is safer in order to avoid glitches
- MCFG_MACHINE_START(airbustr)
- MCFG_MACHINE_RESET(airbustr)
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
/* video hardware */
@@ -659,7 +655,6 @@ static MACHINE_CONFIG_START( airbustr, airbustr_state )
MCFG_KANEKO_PANDORA_ADD("pandora", airbustr_pandora_config)
- MCFG_VIDEO_START(airbustr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ajax.c b/src/mame/drivers/ajax.c
index 250d58a5c25..54360ba3260 100644
--- a/src/mame/drivers/ajax.c
+++ b/src/mame/drivers/ajax.c
@@ -220,8 +220,6 @@ static MACHINE_CONFIG_START( ajax, ajax_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(ajax)
- MCFG_MACHINE_START(ajax)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -235,7 +233,6 @@ static MACHINE_CONFIG_START( ajax, ajax_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(ajax)
MCFG_K052109_ADD("k052109", ajax_k052109_intf)
MCFG_K051960_ADD("k051960", ajax_k051960_intf)
diff --git a/src/mame/drivers/albazc.c b/src/mame/drivers/albazc.c
index a7d55daeb42..e79e9c8da27 100644
--- a/src/mame/drivers/albazc.c
+++ b/src/mame/drivers/albazc.c
@@ -32,15 +32,17 @@ public:
DECLARE_WRITE8_MEMBER(hanaroku_out_1_w);
DECLARE_WRITE8_MEMBER(hanaroku_out_2_w);
DECLARE_WRITE8_MEMBER(albazc_vregs_w);
+ virtual void video_start();
+ virtual void palette_init();
};
/* video */
-static PALETTE_INIT( hanaroku )
+void albazc_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int r, g, b;
@@ -50,12 +52,12 @@ static PALETTE_INIT( hanaroku )
g = ((color_prom[i * 2 + 1] & 0xe0) | ((color_prom[i * 2 + 0]& 0x03) <<8)) >> 5;
r = (color_prom[i * 2 + 0] & 0x7c) >> 2;
- palette_set_color_rgb(machine, i, pal5bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(), i, pal5bit(r), pal5bit(g), pal5bit(b));
}
}
-static VIDEO_START( hanaroku )
+void albazc_state::video_start()
{
}
@@ -281,8 +283,6 @@ static MACHINE_CONFIG_START( hanaroku, albazc_state )
MCFG_GFXDECODE(hanaroku)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(hanaroku)
- MCFG_VIDEO_START(hanaroku)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index 20ed3544c06..8680b0a3f7f 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -73,6 +73,9 @@ public:
DECLARE_WRITE8_MEMBER(mux_w);
DECLARE_WRITE8_MEMBER(yumefuda_output_w);
TILE_GET_INFO_MEMBER(y_get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
TILE_GET_INFO_MEMBER(albazg_state::y_get_bg_tile_info)
@@ -88,10 +91,9 @@ TILE_GET_INFO_MEMBER(albazg_state::y_get_bg_tile_info)
}
-static VIDEO_START( yumefuda )
+void albazg_state::video_start()
{
- albazg_state *state = machine.driver_data<albazg_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(albazg_state::y_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(albazg_state::y_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( yumefuda )
@@ -354,24 +356,22 @@ INPUT_PORTS_END
/***************************************************************************************/
-static MACHINE_START( yumefuda )
+void albazg_state::machine_start()
{
- albazg_state *state = machine.driver_data<albazg_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
- state->save_item(NAME(state->m_mux_data));
- state->save_item(NAME(state->m_bank));
- state->save_item(NAME(state->m_prot_lock));
+ save_item(NAME(m_mux_data));
+ save_item(NAME(m_bank));
+ save_item(NAME(m_prot_lock));
}
-static MACHINE_RESET( yumefuda )
+void albazg_state::machine_reset()
{
- albazg_state *state = machine.driver_data<albazg_state>();
- state->m_mux_data = 0;
- state->m_bank = -1;
- state->m_prot_lock = 0;
+ m_mux_data = 0;
+ m_bank = -1;
+ m_prot_lock = 0;
}
static MACHINE_CONFIG_START( yumefuda, albazg_state )
@@ -382,8 +382,6 @@ static MACHINE_CONFIG_START( yumefuda, albazg_state )
MCFG_CPU_IO_MAP(port_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(yumefuda)
- MCFG_MACHINE_RESET(yumefuda)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -404,7 +402,6 @@ static MACHINE_CONFIG_START( yumefuda, albazg_state )
MCFG_GFXDECODE( yumefuda )
MCFG_PALETTE_LENGTH(0x80)
- MCFG_VIDEO_START( yumefuda )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/aleck64.c b/src/mame/drivers/aleck64.c
index 4c64c5c5fd1..66e8acab5b0 100644
--- a/src/mame/drivers/aleck64.c
+++ b/src/mame/drivers/aleck64.c
@@ -811,8 +811,6 @@ static MACHINE_CONFIG_START( aleck64, n64_state )
MCFG_CPU_CONFIG(n64_rsp_config)
MCFG_CPU_PROGRAM_MAP(rsp_map)
- MCFG_MACHINE_START( n64 )
- MCFG_MACHINE_RESET( n64 )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -823,7 +821,6 @@ static MACHINE_CONFIG_START( aleck64, n64_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(n64)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/alg.c b/src/mame/drivers/alg.c
index 1f89e1b978b..97472725efc 100644
--- a/src/mame/drivers/alg.c
+++ b/src/mame/drivers/alg.c
@@ -56,6 +56,9 @@ public:
DECLARE_DRIVER_INIT(palr1);
DECLARE_DRIVER_INIT(none);
DECLARE_DRIVER_INIT(palr6);
+ DECLARE_MACHINE_START(alg);
+ DECLARE_MACHINE_RESET(alg);
+ DECLARE_VIDEO_START(alg);
};
static TIMER_CALLBACK( response_timer );
@@ -91,14 +94,14 @@ static int get_lightgun_pos(screen_device &screen, int player, int *x, int *y)
*
*************************************/
-static VIDEO_START( alg )
+VIDEO_START_MEMBER(alg_state,alg)
{
/* standard video start */
- VIDEO_START_CALL(amiga);
+ VIDEO_START_CALL_MEMBER(amiga);
/* configure pen 4096 as transparent in the renderer and use it for the genlock color */
- palette_set_color(machine, 4096, MAKE_ARGB(0,0,0,0));
- amiga_set_genlock_color(machine, 4096);
+ palette_set_color(machine(), 4096, MAKE_ARGB(0,0,0,0));
+ amiga_set_genlock_color(machine(), 4096);
}
@@ -109,18 +112,17 @@ static VIDEO_START( alg )
*
*************************************/
-static MACHINE_START( alg )
+MACHINE_START_MEMBER(alg_state,alg)
{
- alg_state *state = machine.driver_data<alg_state>();
- state->m_serial_timer = machine.scheduler().timer_alloc(FUNC(response_timer));
- state->m_serial_timer_active = FALSE;
+ m_serial_timer = machine().scheduler().timer_alloc(FUNC(response_timer));
+ m_serial_timer_active = FALSE;
}
-static MACHINE_RESET( alg )
+MACHINE_RESET_MEMBER(alg_state,alg)
{
- MACHINE_RESET_CALL(amiga);
+ MACHINE_RESET_CALL_MEMBER(amiga);
}
@@ -440,8 +442,8 @@ static MACHINE_CONFIG_START( alg_r1, alg_state )
MCFG_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
MCFG_CPU_PROGRAM_MAP(main_map_r1)
- MCFG_MACHINE_START(alg)
- MCFG_MACHINE_RESET(alg)
+ MCFG_MACHINE_START_OVERRIDE(alg_state,alg)
+ MCFG_MACHINE_RESET_OVERRIDE(alg_state,alg)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_LASERDISC_LDP1450_ADD("laserdisc")
@@ -455,9 +457,9 @@ static MACHINE_CONFIG_START( alg_r1, alg_state )
MCFG_SCREEN_VISIBLE_AREA((129-8)*2, (449+8-1)*2, 44-8, 244+8-1)
MCFG_PALETTE_LENGTH(4097)
- MCFG_PALETTE_INIT(amiga)
+ MCFG_PALETTE_INIT_OVERRIDE(alg_state,amiga)
- MCFG_VIDEO_START(alg)
+ MCFG_VIDEO_START_OVERRIDE(alg_state,alg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c
index b796a8452c2..1cefcb3cbef 100644
--- a/src/mame/drivers/aliens.c
+++ b/src/mame/drivers/aliens.c
@@ -226,30 +226,28 @@ static const k051960_interface aliens_k051960_intf =
aliens_sprite_callback
};
-static MACHINE_START( aliens )
+void aliens_state::machine_start()
{
- aliens_state *state = machine.driver_data<aliens_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 20, &ROM[0x10000], 0x2000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 20, &ROM[0x10000], 0x2000);
+ membank("bank1")->set_entry(0);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007232 = machine.device("k007232");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007232 = machine().device("k007232");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
- state->save_item(NAME(state->m_palette_selected));
+ save_item(NAME(m_palette_selected));
}
-static MACHINE_RESET( aliens )
+void aliens_state::machine_reset()
{
- aliens_state *state = machine.driver_data<aliens_state>();
- konami_configure_set_lines(machine.device("maincpu"), aliens_banking);
+ konami_configure_set_lines(machine().device("maincpu"), aliens_banking);
- state->m_palette_selected = 0;
+ m_palette_selected = 0;
}
static MACHINE_CONFIG_START( aliens, aliens_state )
@@ -263,8 +261,6 @@ static MACHINE_CONFIG_START( aliens, aliens_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(aliens_sound_map)
- MCFG_MACHINE_START(aliens)
- MCFG_MACHINE_RESET(aliens)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -278,7 +274,6 @@ static MACHINE_CONFIG_START( aliens, aliens_state )
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(aliens)
MCFG_K052109_ADD("k052109", aliens_k052109_intf)
MCFG_K051960_ADD("k051960", aliens_k051960_intf)
diff --git a/src/mame/drivers/alpha68k.c b/src/mame/drivers/alpha68k.c
index c9dd15f2737..b44ce979eb5 100644
--- a/src/mame/drivers/alpha68k.c
+++ b/src/mame/drivers/alpha68k.c
@@ -1863,86 +1863,80 @@ static const ym3812_interface ym3812_config =
/******************************************************************************/
-static MACHINE_START( common )
+MACHINE_START_MEMBER(alpha68k_state,common)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_trigstate));
- state->save_item(NAME(state->m_deposits1));
- state->save_item(NAME(state->m_deposits2));
- state->save_item(NAME(state->m_credits));
- state->save_item(NAME(state->m_coinvalue));
- state->save_item(NAME(state->m_microcontroller_data));
- state->save_item(NAME(state->m_latch));
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_trigstate));
+ save_item(NAME(m_deposits1));
+ save_item(NAME(m_deposits2));
+ save_item(NAME(m_credits));
+ save_item(NAME(m_coinvalue));
+ save_item(NAME(m_microcontroller_data));
+ save_item(NAME(m_latch));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( common )
+MACHINE_RESET_MEMBER(alpha68k_state,common)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_trigstate = 0;
- state->m_deposits1 = 0;
- state->m_deposits2 = 0;
- state->m_credits = 0;
- state->m_coinvalue = 0;
- state->m_microcontroller_data = 0;
- state->m_latch = 0;
- state->m_flipscreen = 0;
+ m_trigstate = 0;
+ m_deposits1 = 0;
+ m_deposits2 = 0;
+ m_credits = 0;
+ m_coinvalue = 0;
+ m_microcontroller_data = 0;
+ m_latch = 0;
+ m_flipscreen = 0;
}
-static MACHINE_START( alpha68k_V )
+MACHINE_START_MEMBER(alpha68k_state,alpha68k_V)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- state->membank("bank7")->configure_entries(0, 32, &ROM[0x10000], 0x4000);
+ membank("bank7")->configure_entries(0, 32, &ROM[0x10000], 0x4000);
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
- state->save_item(NAME(state->m_bank_base));
- state->save_item(NAME(state->m_last_bank));
+ save_item(NAME(m_bank_base));
+ save_item(NAME(m_last_bank));
}
-static MACHINE_RESET( alpha68k_V )
+MACHINE_RESET_MEMBER(alpha68k_state,alpha68k_V)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- MACHINE_RESET_CALL(common);
+ MACHINE_RESET_CALL_MEMBER(common);
- state->m_bank_base = 0;
- state->m_last_bank = 0;
+ m_bank_base = 0;
+ m_last_bank = 0;
}
-static MACHINE_RESET( alpha68k_II )
+MACHINE_RESET_MEMBER(alpha68k_state,alpha68k_II)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- MACHINE_RESET_CALL(common);
+ MACHINE_RESET_CALL_MEMBER(common);
- state->m_bank_base = 0;
- state->m_last_bank = 0;
- state->m_buffer_28 = 0;
- state->m_buffer_60 = 0;
- state->m_buffer_68 = 0;
+ m_bank_base = 0;
+ m_last_bank = 0;
+ m_buffer_28 = 0;
+ m_buffer_60 = 0;
+ m_buffer_68 = 0;
}
-static MACHINE_START( alpha68k_II )
+MACHINE_START_MEMBER(alpha68k_state,alpha68k_II)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- state->membank("bank7")->configure_entries(0, 28, &ROM[0x10000], 0x4000);
+ membank("bank7")->configure_entries(0, 28, &ROM[0x10000], 0x4000);
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
- state->save_item(NAME(state->m_bank_base));
- state->save_item(NAME(state->m_last_bank));
- state->save_item(NAME(state->m_buffer_28));
- state->save_item(NAME(state->m_buffer_60));
- state->save_item(NAME(state->m_buffer_68));
+ save_item(NAME(m_bank_base));
+ save_item(NAME(m_last_bank));
+ save_item(NAME(m_buffer_28));
+ save_item(NAME(m_buffer_60));
+ save_item(NAME(m_buffer_68));
}
@@ -1975,8 +1969,8 @@ static MACHINE_CONFIG_START( sstingry, alpha68k_state )
MCFG_CPU_IO_MAP(i8748_portmap)
MCFG_DEVICE_DISABLE()
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1988,7 +1982,7 @@ static MACHINE_CONFIG_START( sstingry, alpha68k_state )
MCFG_GFXDECODE(sstingry)
MCFG_PALETTE_LENGTH(256 + 1)
- MCFG_PALETTE_INIT(kyros)
+ MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,kyros)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2020,8 +2014,8 @@ static MACHINE_CONFIG_START( kyros, alpha68k_state )
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 2*60)
MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 4000)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2034,7 +2028,7 @@ static MACHINE_CONFIG_START( kyros, alpha68k_state )
MCFG_GFXDECODE(kyros)
MCFG_PALETTE_LENGTH(256 + 1)
- MCFG_PALETTE_INIT(kyros)
+ MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,kyros)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2065,8 +2059,8 @@ static MACHINE_CONFIG_START( jongbou, alpha68k_state )
MCFG_CPU_IO_MAP(jongbou_sound_portmap)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 160*60)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2079,7 +2073,7 @@ static MACHINE_CONFIG_START( jongbou, alpha68k_state )
MCFG_GFXDECODE(jongbou)
MCFG_PALETTE_LENGTH(256 + 1)
- MCFG_PALETTE_INIT(kyros)
+ MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,kyros)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2099,8 +2093,8 @@ static MACHINE_CONFIG_START( alpha68k_I, alpha68k_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) // 4Mhz seems to yield the correct tone
MCFG_CPU_PROGRAM_MAP(alpha68k_I_s_map)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2113,7 +2107,7 @@ static MACHINE_CONFIG_START( alpha68k_I, alpha68k_state )
MCFG_GFXDECODE(paddle)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(paddlem)
+ MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,paddlem)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2143,8 +2137,8 @@ static MACHINE_CONFIG_START( alpha68k_II, alpha68k_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(alpha68k_sound_nmi, 7500)
- MCFG_MACHINE_START(alpha68k_II)
- MCFG_MACHINE_RESET(alpha68k_II)
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_II)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_II)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2157,7 +2151,7 @@ static MACHINE_CONFIG_START( alpha68k_II, alpha68k_state )
MCFG_GFXDECODE(alpha68k_II)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(alpha68k)
+ MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2192,8 +2186,8 @@ static MACHINE_CONFIG_START( alpha68k_II_gm, alpha68k_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(alpha68k_sound_nmi, 7500)
- MCFG_MACHINE_START(alpha68k_II)
- MCFG_MACHINE_RESET(alpha68k_II)
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_II)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_II)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2206,7 +2200,7 @@ static MACHINE_CONFIG_START( alpha68k_II_gm, alpha68k_state )
MCFG_GFXDECODE(alpha68k_II)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(alpha68k)
+ MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2235,8 +2229,8 @@ static MACHINE_CONFIG_START( alpha68k_V, alpha68k_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(alpha68k_sound_nmi, 8500)
- MCFG_MACHINE_START(alpha68k_V)
- MCFG_MACHINE_RESET(alpha68k_V)
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_V)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_V)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2249,7 +2243,7 @@ static MACHINE_CONFIG_START( alpha68k_V, alpha68k_state )
MCFG_GFXDECODE(alpha68k_V)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(alpha68k)
+ MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2277,8 +2271,8 @@ static MACHINE_CONFIG_START( alpha68k_V_sb, alpha68k_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(alpha68k_sound_nmi, 8500)
- MCFG_MACHINE_START(alpha68k_V)
- MCFG_MACHINE_RESET(alpha68k_V)
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_V)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_V)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2291,7 +2285,7 @@ static MACHINE_CONFIG_START( alpha68k_V_sb, alpha68k_state )
MCFG_GFXDECODE(alpha68k_V)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(alpha68k)
+ MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2318,8 +2312,8 @@ static MACHINE_CONFIG_START( tnextspc, alpha68k_state )
MCFG_CPU_PROGRAM_MAP(tnextspc_sound_map)
MCFG_CPU_IO_MAP(tnextspc_sound_portmap)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2332,7 +2326,7 @@ static MACHINE_CONFIG_START( tnextspc, alpha68k_state )
MCFG_GFXDECODE(tnextspc)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(paddlem)
+ MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,paddlem)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/amaticmg.c b/src/mame/drivers/amaticmg.c
index 0a33e4400eb..f20f73dfc8e 100644
--- a/src/mame/drivers/amaticmg.c
+++ b/src/mame/drivers/amaticmg.c
@@ -447,6 +447,11 @@ public:
DECLARE_DRIVER_INIT(ama8000_2_i);
DECLARE_DRIVER_INIT(ama8000_2_v);
DECLARE_DRIVER_INIT(ama8000_1_x);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(amaticmg2);
};
@@ -454,7 +459,7 @@ public:
* Video Hardware *
************************************/
-static VIDEO_START( amaticmg )
+void amaticmg_state::video_start()
{
}
@@ -509,9 +514,9 @@ static SCREEN_UPDATE_IND16( amaticmg2 )
return 0;
}
-static PALETTE_INIT( amaticmg )
+void amaticmg_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit0, bit1, bit2 , r, g, b;
int i;
@@ -530,25 +535,25 @@ static PALETTE_INIT( amaticmg )
bit2 = (color_prom[0] >> 5) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
-static PALETTE_INIT( amaticmg2 )
+PALETTE_INIT_MEMBER(amaticmg_state,amaticmg2)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int r, g, b;
int i;
- for (i = 0; i < machine.root_device().memregion("proms")->bytes(); i+=2)
+ for (i = 0; i < machine().root_device().memregion("proms")->bytes(); i+=2)
{
b = ((color_prom[1] & 0xf8) >> 3);
g = ((color_prom[0] & 0xc0) >> 6) | ((color_prom[1] & 0x7) << 2);
r = ((color_prom[0] & 0x3e) >> 1);
- palette_set_color_rgb(machine, i >> 1, pal5bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(), i >> 1, pal5bit(r), pal5bit(g), pal5bit(b));
color_prom+=2;
}
}
@@ -837,19 +842,18 @@ static I8255A_INTERFACE( ppi8255_intf_1 )
* Machine Start & Reset *
************************************/
-static MACHINE_START( amaticmg )
+void amaticmg_state::machine_start()
{
- UINT8 *rombank = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rombank = machine().root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x10, &rombank[0x8000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 0x10, &rombank[0x8000], 0x4000);
}
-static MACHINE_RESET( amaticmg )
+void amaticmg_state::machine_reset()
{
- amaticmg_state *state = machine.driver_data<amaticmg_state>();
- state->membank("bank1")->set_entry(0);
- state->m_nmi_mask = 0;
+ membank("bank1")->set_entry(0);
+ m_nmi_mask = 0;
}
@@ -883,12 +887,8 @@ static MACHINE_CONFIG_START( amaticmg, amaticmg_state )
MCFG_GFXDECODE(amaticmg)
- MCFG_PALETTE_INIT(amaticmg)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START(amaticmg)
- MCFG_MACHINE_START(amaticmg)
- MCFG_MACHINE_RESET(amaticmg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -922,7 +922,7 @@ static MACHINE_CONFIG_DERIVED( amaticmg2, amaticmg )
MCFG_SCREEN_UPDATE_STATIC(amaticmg2)
MCFG_GFXDECODE(amaticmg2)
- MCFG_PALETTE_INIT(amaticmg2)
+ MCFG_PALETTE_INIT_OVERRIDE(amaticmg_state,amaticmg2)
MCFG_PALETTE_LENGTH(0x10000)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ambush.c b/src/mame/drivers/ambush.c
index 26c4b955da6..ff17cb4fc6e 100644
--- a/src/mame/drivers/ambush.c
+++ b/src/mame/drivers/ambush.c
@@ -245,7 +245,6 @@ static MACHINE_CONFIG_START( ambush, ambush_state )
MCFG_GFXDECODE(ambush)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(ambush)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ampoker2.c b/src/mame/drivers/ampoker2.c
index 1b022c260a0..3722ebcd6d0 100644
--- a/src/mame/drivers/ampoker2.c
+++ b/src/mame/drivers/ampoker2.c
@@ -1187,8 +1187,6 @@ static MACHINE_CONFIG_START( ampoker2, ampoker2_state )
MCFG_GFXDECODE(ampoker2)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(ampoker2)
- MCFG_VIDEO_START(ampoker2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1203,7 +1201,7 @@ static MACHINE_CONFIG_DERIVED( sigma2k, ampoker2 )
/* video hardware */
MCFG_GFXDECODE(sigma2k)
- MCFG_VIDEO_START(sigma2k)
+ MCFG_VIDEO_START_OVERRIDE(ampoker2_state,sigma2k)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/amspdwy.c b/src/mame/drivers/amspdwy.c
index 7337b6f82f2..a7cf7e6818e 100644
--- a/src/mame/drivers/amspdwy.c
+++ b/src/mame/drivers/amspdwy.c
@@ -250,25 +250,23 @@ static const ym2151_interface amspdwy_ym2151_interface =
DEVCB_LINE(irq_handler)
};
-static MACHINE_START( amspdwy )
+void amspdwy_state::machine_start()
{
- amspdwy_state *state = machine.driver_data<amspdwy_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_wheel_old));
- state->save_item(NAME(state->m_wheel_return));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_wheel_old));
+ save_item(NAME(m_wheel_return));
}
-static MACHINE_RESET( amspdwy )
+void amspdwy_state::machine_reset()
{
- amspdwy_state *state = machine.driver_data<amspdwy_state>();
- state->m_flipscreen = 0;
- state->m_wheel_old[0] = 0;
- state->m_wheel_old[1] = 0;
- state->m_wheel_return[0] = 0;
- state->m_wheel_return[1] = 0;
+ m_flipscreen = 0;
+ m_wheel_old[0] = 0;
+ m_wheel_old[1] = 0;
+ m_wheel_return[0] = 0;
+ m_wheel_return[1] = 0;
}
static MACHINE_CONFIG_START( amspdwy, amspdwy_state )
@@ -283,8 +281,6 @@ static MACHINE_CONFIG_START( amspdwy, amspdwy_state )
MCFG_CPU_PROGRAM_MAP(amspdwy_sound_map)
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(amspdwy)
- MCFG_MACHINE_RESET(amspdwy)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -297,7 +293,6 @@ static MACHINE_CONFIG_START( amspdwy, amspdwy_state )
MCFG_GFXDECODE(amspdwy)
MCFG_PALETTE_LENGTH(32)
- MCFG_VIDEO_START(amspdwy)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/angelkds.c b/src/mame/drivers/angelkds.c
index 1d30f634d68..68b0f6ec85d 100644
--- a/src/mame/drivers/angelkds.c
+++ b/src/mame/drivers/angelkds.c
@@ -568,35 +568,33 @@ GFXDECODE_END
*/
-static MACHINE_START( angelkds )
+void angelkds_state::machine_start()
{
- angelkds_state *state = machine.driver_data<angelkds_state>();
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_layer_ctrl));
- state->save_item(NAME(state->m_txbank));
- state->save_item(NAME(state->m_bgbotbank));
- state->save_item(NAME(state->m_bgtopbank));
- state->save_item(NAME(state->m_sound));
- state->save_item(NAME(state->m_sound2));
+ save_item(NAME(m_layer_ctrl));
+ save_item(NAME(m_txbank));
+ save_item(NAME(m_bgbotbank));
+ save_item(NAME(m_bgtopbank));
+ save_item(NAME(m_sound));
+ save_item(NAME(m_sound2));
}
-static MACHINE_RESET( angelkds )
+void angelkds_state::machine_reset()
{
- angelkds_state *state = machine.driver_data<angelkds_state>();
int i;
for (i = 0; i < 4; i++)
{
- state->m_sound[i] = 0;
- state->m_sound2[i] = 0;
+ m_sound[i] = 0;
+ m_sound2[i] = 0;
}
- state->m_layer_ctrl = 0;
- state->m_txbank = 0;
- state->m_bgbotbank = 0;
- state->m_bgtopbank = 0;
+ m_layer_ctrl = 0;
+ m_txbank = 0;
+ m_bgbotbank = 0;
+ m_bgtopbank = 0;
}
static MACHINE_CONFIG_START( angelkds, angelkds_state )
@@ -610,8 +608,6 @@ static MACHINE_CONFIG_START( angelkds, angelkds_state )
MCFG_CPU_PROGRAM_MAP(sub_map)
MCFG_CPU_IO_MAP(sub_portmap)
- MCFG_MACHINE_START(angelkds)
- MCFG_MACHINE_RESET(angelkds)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -626,7 +622,6 @@ static MACHINE_CONFIG_START( angelkds, angelkds_state )
MCFG_GFXDECODE(angelkds)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(angelkds)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/appoooh.c b/src/mame/drivers/appoooh.c
index b16a5364172..a24952b099d 100644
--- a/src/mame/drivers/appoooh.c
+++ b/src/mame/drivers/appoooh.c
@@ -410,25 +410,23 @@ static const sn76496_config psg_intf =
*
*************************************/
-static MACHINE_START( appoooh )
+void appoooh_state::machine_start()
{
- appoooh_state *state = machine.driver_data<appoooh_state>();
- state->m_adpcm = machine.device("msm");
+ m_adpcm = machine().device("msm");
- state->save_item(NAME(state->m_adpcm_data));
- state->save_item(NAME(state->m_adpcm_address));
+ save_item(NAME(m_adpcm_data));
+ save_item(NAME(m_adpcm_address));
}
-static MACHINE_RESET( appoooh )
+void appoooh_state::machine_reset()
{
- appoooh_state *state = machine.driver_data<appoooh_state>();
- state->m_adpcm_address = 0xffffffff;
- state->m_adpcm_data = 0;
- state->m_scroll_x = 0;
- state->m_priority = 0;
+ m_adpcm_address = 0xffffffff;
+ m_adpcm_data = 0;
+ m_scroll_x = 0;
+ m_priority = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -447,8 +445,6 @@ static MACHINE_CONFIG_START( appoooh_common, appoooh_state )
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_START(appoooh)
- MCFG_MACHINE_RESET(appoooh)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -484,8 +480,8 @@ static MACHINE_CONFIG_DERIVED( appoooh, appoooh_common )
MCFG_GFXDECODE(appoooh)
MCFG_PALETTE_LENGTH(32*8+32*8)
- MCFG_PALETTE_INIT(appoooh)
- MCFG_VIDEO_START(appoooh)
+ MCFG_PALETTE_INIT_OVERRIDE(appoooh_state,appoooh)
+ MCFG_VIDEO_START_OVERRIDE(appoooh_state,appoooh)
MACHINE_CONFIG_END
@@ -502,8 +498,8 @@ static MACHINE_CONFIG_DERIVED( robowres, appoooh_common )
MCFG_GFXDECODE(robowres)
MCFG_PALETTE_LENGTH(32*8+32*8)
- MCFG_PALETTE_INIT(robowres)
- MCFG_VIDEO_START(appoooh)
+ MCFG_PALETTE_INIT_OVERRIDE(appoooh_state,robowres)
+ MCFG_VIDEO_START_OVERRIDE(appoooh_state,appoooh)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/aquarium.c b/src/mame/drivers/aquarium.c
index 7b6aa06f537..7b222739b16 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -300,19 +300,17 @@ static const ym2151_interface ym2151_config =
};
-static MACHINE_START( aquarium )
+void aquarium_state::machine_start()
{
- aquarium_state *state = machine.driver_data<aquarium_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_aquarium_snd_ack));
+ save_item(NAME(m_aquarium_snd_ack));
}
-static MACHINE_RESET( aquarium )
+void aquarium_state::machine_reset()
{
- aquarium_state *state = machine.driver_data<aquarium_state>();
- state->m_aquarium_snd_ack = 0;
+ m_aquarium_snd_ack = 0;
}
static MACHINE_CONFIG_START( aquarium, aquarium_state )
@@ -326,8 +324,6 @@ static MACHINE_CONFIG_START( aquarium, aquarium_state )
MCFG_CPU_PROGRAM_MAP(snd_map)
MCFG_CPU_IO_MAP(snd_portmap)
- MCFG_MACHINE_START(aquarium)
- MCFG_MACHINE_RESET(aquarium)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -340,7 +336,6 @@ static MACHINE_CONFIG_START( aquarium, aquarium_state )
MCFG_GFXDECODE(aquarium)
MCFG_PALETTE_LENGTH(0x1000/2)
- MCFG_VIDEO_START(aquarium)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/arabian.c b/src/mame/drivers/arabian.c
index 4e5f73e99cb..5ceab530ee3 100644
--- a/src/mame/drivers/arabian.c
+++ b/src/mame/drivers/arabian.c
@@ -340,20 +340,18 @@ static const ay8910_interface ay8910_config =
*
*************************************/
-static MACHINE_START( arabian )
+void arabian_state::machine_start()
{
- arabian_state *state = machine.driver_data<arabian_state>();
- state->save_item(NAME(state->m_mcu_port_o));
- state->save_item(NAME(state->m_mcu_port_p));
- state->save_item(NAME(state->m_mcu_port_r));
+ save_item(NAME(m_mcu_port_o));
+ save_item(NAME(m_mcu_port_p));
+ save_item(NAME(m_mcu_port_r));
}
-static MACHINE_RESET( arabian )
+void arabian_state::machine_reset()
{
- arabian_state *state = machine.driver_data<arabian_state>();
- state->m_video_control = 0;
+ m_video_control = 0;
}
static MACHINE_CONFIG_START( arabian, arabian_state )
@@ -369,8 +367,6 @@ static MACHINE_CONFIG_START( arabian, arabian_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(arabian)
- MCFG_MACHINE_RESET(arabian)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -382,8 +378,6 @@ static MACHINE_CONFIG_START( arabian, arabian_state )
MCFG_PALETTE_LENGTH(256*32)
- MCFG_PALETTE_INIT(arabian)
- MCFG_VIDEO_START(arabian)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/arcadecl.c b/src/mame/drivers/arcadecl.c
index 77a0317d940..ac026539275 100644
--- a/src/mame/drivers/arcadecl.c
+++ b/src/mame/drivers/arcadecl.c
@@ -104,19 +104,18 @@ static void scanline_update(screen_device &screen, int scanline)
*
*************************************/
-static MACHINE_START( arcadecl )
+MACHINE_START_MEMBER(arcadecl_state,arcadecl)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( arcadecl )
+MACHINE_RESET_MEMBER(arcadecl_state,arcadecl)
{
- arcadecl_state *state = machine.driver_data<arcadecl_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, scanline_update, 32);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, scanline_update, 32);
}
@@ -331,8 +330,8 @@ static MACHINE_CONFIG_START( arcadecl, arcadecl_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(arcadecl)
- MCFG_MACHINE_RESET(arcadecl)
+ MCFG_MACHINE_START_OVERRIDE(arcadecl_state,arcadecl)
+ MCFG_MACHINE_RESET_OVERRIDE(arcadecl_state,arcadecl)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -346,7 +345,7 @@ static MACHINE_CONFIG_START( arcadecl, arcadecl_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 456, 0+12, 336+12, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(arcadecl)
- MCFG_VIDEO_START(arcadecl)
+ MCFG_VIDEO_START_OVERRIDE(arcadecl_state,arcadecl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/arcadia.c b/src/mame/drivers/arcadia.c
index deec7d946a6..46060a6b935 100644
--- a/src/mame/drivers/arcadia.c
+++ b/src/mame/drivers/arcadia.c
@@ -314,7 +314,7 @@ static MACHINE_CONFIG_START( arcadia, arcadia_amiga_state )
MCFG_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
MCFG_CPU_PROGRAM_MAP(amiga_map)
- MCFG_MACHINE_RESET(amiga)
+ MCFG_MACHINE_RESET_OVERRIDE(arcadia_amiga_state,amiga)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -328,9 +328,9 @@ static MACHINE_CONFIG_START( arcadia, arcadia_amiga_state )
MCFG_SCREEN_UPDATE_STATIC(amiga)
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT(amiga)
+ MCFG_PALETTE_INIT_OVERRIDE(arcadia_amiga_state,amiga)
- MCFG_VIDEO_START(amiga)
+ MCFG_VIDEO_START_OVERRIDE(arcadia_amiga_state,amiga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index 811c17b687c..98bc279163f 100644
--- a/src/mame/drivers/argus.c
+++ b/src/mame/drivers/argus.c
@@ -564,8 +564,8 @@ static MACHINE_CONFIG_START( argus, argus_state )
MCFG_GFXDECODE(argus)
MCFG_PALETTE_LENGTH(896)
- MCFG_VIDEO_START(argus)
- MCFG_VIDEO_RESET(argus)
+ MCFG_VIDEO_START_OVERRIDE(argus_state,argus)
+ MCFG_VIDEO_RESET_OVERRIDE(argus_state,argus)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -608,8 +608,8 @@ static MACHINE_CONFIG_START( valtric, argus_state )
MCFG_GFXDECODE(valtric)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(valtric)
- MCFG_VIDEO_RESET(valtric)
+ MCFG_VIDEO_START_OVERRIDE(argus_state,valtric)
+ MCFG_VIDEO_RESET_OVERRIDE(argus_state,valtric)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -652,8 +652,8 @@ static MACHINE_CONFIG_START( butasan, argus_state )
MCFG_GFXDECODE(butasan)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(butasan)
- MCFG_VIDEO_RESET(butasan)
+ MCFG_VIDEO_START_OVERRIDE(argus_state,butasan)
+ MCFG_VIDEO_RESET_OVERRIDE(argus_state,butasan)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/aristmk4.c b/src/mame/drivers/aristmk4.c
index 26f5eb2f12b..12f516c57d9 100644
--- a/src/mame/drivers/aristmk4.c
+++ b/src/mame/drivers/aristmk4.c
@@ -316,17 +316,22 @@ public:
DECLARE_READ8_MEMBER(pb1_r);
DECLARE_READ8_MEMBER(pc1_r);
DECLARE_DRIVER_INIT(aristmk4);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(lions);
};
/* Partial Cashcade protocol */
static const UINT8 cashcade_p[] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0};
-static VIDEO_START(aristmk4)
+void aristmk4_state::video_start()
{
int tile;
- for (tile = 0; tile < machine.gfx[0]->elements(); tile++)
+ for (tile = 0; tile < machine().gfx[0]->elements(); tile++)
{
- machine.gfx[0]->decode(tile);
+ machine().gfx[0]->decode(tile);
}
}
@@ -1597,12 +1602,12 @@ static I8255A_INTERFACE( ppi8255_intf )
/* same as Casino Winner HW */
-static PALETTE_INIT( aristmk4 )
+void aristmk4_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -1618,7 +1623,7 @@ static PALETTE_INIT( aristmk4 )
bit2 = (color_prom[0] >> 7) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -1630,24 +1635,23 @@ DRIVER_INIT_MEMBER(aristmk4_state,aristmk4)
m_nvram = auto_alloc_array(machine(), UINT8, 0x1000);
}
-static MACHINE_START( aristmk4 )
+void aristmk4_state::machine_start()
{
- aristmk4_state *state = machine.driver_data<aristmk4_state>();
- state->m_samples = machine.device<samples_device>("samples");
- state_save_register_global_pointer(machine, state->m_nvram, 0x1000); // state->m_nvram
+ m_samples = machine().device<samples_device>("samples");
+ state_save_register_global_pointer(machine(), m_nvram, 0x1000); // m_nvram
}
-static MACHINE_RESET( aristmk4 )
+void aristmk4_state::machine_reset()
{
/* mark 4 has a link on the motherboard to switch between 1.5MHz and 3MHz clock speed */
- switch(machine.root_device().ioport("LK13")->read()) // CPU speed control... 3mhz or 1.5MHz
+ switch(machine().root_device().ioport("LK13")->read()) // CPU speed control... 3mhz or 1.5MHz
{
case 0x00:
- machine.device("maincpu")->set_unscaled_clock(MAIN_CLOCK/4); // 3 MHz
+ machine().device("maincpu")->set_unscaled_clock(MAIN_CLOCK/4); // 3 MHz
break;
case 0x10:
- machine.device("maincpu")->set_unscaled_clock(MAIN_CLOCK/8); // 1.5 MHz
+ machine().device("maincpu")->set_unscaled_clock(MAIN_CLOCK/8); // 1.5 MHz
break;
}
}
@@ -1682,8 +1686,6 @@ static MACHINE_CONFIG_START( aristmk4, aristmk4_state )
MCFG_CPU_PROGRAM_MAP(aristmk4_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(aristmk4)
- MCFG_MACHINE_RESET(aristmk4 )
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_ADD_PERIODIC("power_fail", aristmk4_pf,attotime::from_hz(1)) // not real but required to simulate power failure to access robot test. How else can we do this ?
@@ -1696,9 +1698,7 @@ static MACHINE_CONFIG_START( aristmk4, aristmk4_state )
MCFG_GFXDECODE(aristmk4)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(aristmk4)
- MCFG_VIDEO_START(aristmk4)
MCFG_SCREEN_UPDATE_STATIC(aristmk4)
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_intf )
@@ -1731,11 +1731,11 @@ static MACHINE_CONFIG_DERIVED( aristmk4_poker, aristmk4 )
MACHINE_CONFIG_END
/* same as Aristocrat Mark-IV HW color offset 7 */
-static PALETTE_INIT( lions )
+PALETTE_INIT_MEMBER(aristmk4_state,lions)
{
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,r,g,b;
@@ -1749,12 +1749,12 @@ static PALETTE_INIT( lions )
bit1 = (i >> 5) & 0x01;
r = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
static MACHINE_CONFIG_DERIVED( 86lions, aristmk4 )
- MCFG_PALETTE_INIT(lions)
+ MCFG_PALETTE_INIT_OVERRIDE(aristmk4_state,lions)
MACHINE_CONFIG_END
ROM_START( 3bagflvt )
diff --git a/src/mame/drivers/aristmk5.c b/src/mame/drivers/aristmk5.c
index 15970e84a25..1af554f2472 100644
--- a/src/mame/drivers/aristmk5.c
+++ b/src/mame/drivers/aristmk5.c
@@ -81,6 +81,8 @@ public:
DECLARE_READ32_MEMBER(Ns5r50);
DECLARE_WRITE32_MEMBER(sram_banksel_w);
DECLARE_DRIVER_INIT(aristmk5);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -370,38 +372,36 @@ DRIVER_INIT_MEMBER(aristmk5_state,aristmk5)
}
-static MACHINE_START( aristmk5 )
+void aristmk5_state::machine_start()
{
- aristmk5_state *state = machine.driver_data<aristmk5_state>();
- archimedes_init(machine);
+ archimedes_init(machine());
// reset the DAC to centerline
- //machine.device<dac_device>("dac")->write_signed8(0x80);
+ //machine().device<dac_device>("dac")->write_signed8(0x80);
- state->m_mk5_2KHz_timer = machine.scheduler().timer_alloc(FUNC(mk5_2KHz_callback));
- state->m_mk5_VSYNC_timer = machine.scheduler().timer_alloc(FUNC(mk5_VSYNC_callback));
+ m_mk5_2KHz_timer = machine().scheduler().timer_alloc(FUNC(mk5_2KHz_callback));
+ m_mk5_VSYNC_timer = machine().scheduler().timer_alloc(FUNC(mk5_VSYNC_callback));
}
-static MACHINE_RESET( aristmk5 )
+void aristmk5_state::machine_reset()
{
- aristmk5_state *state = machine.driver_data<aristmk5_state>();
- archimedes_reset(machine);
- state->m_mk5_2KHz_timer->adjust(attotime::from_hz(1953.125)); // 8MHz / 4096
- state->m_mk5_VSYNC_timer->adjust(attotime::from_hz(50000)); // default bit 1 & bit 2 == 0
+ archimedes_reset(machine());
+ m_mk5_2KHz_timer->adjust(attotime::from_hz(1953.125)); // 8MHz / 4096
+ m_mk5_VSYNC_timer->adjust(attotime::from_hz(50000)); // default bit 1 & bit 2 == 0
ioc_regs[IRQ_STATUS_B] |= 0x40; //hack, set keyboard irq empty to be ON
/* load the roms according to what the operator wants */
{
- UINT8 *ROM = state->memregion("maincpu")->base();
- UINT8 *PRG;// = state->memregion("prg_code")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
+ UINT8 *PRG;// = memregion("prg_code")->base();
int i;
UINT8 op_mode;
static const char *const rom_region[] = { "set_chip_4.04", "set_chip_4.4", "clear_chip", "game_prg" };
- op_mode = machine.root_device().ioport("ROM_LOAD")->read();
+ op_mode = machine().root_device().ioport("ROM_LOAD")->read();
- PRG = machine.root_device().memregion(rom_region[op_mode & 3])->base();
+ PRG = machine().root_device().memregion(rom_region[op_mode & 3])->base();
if(PRG!=NULL)
@@ -424,8 +424,6 @@ static MACHINE_CONFIG_START( aristmk5, aristmk5_state )
MCFG_CPU_ADD("maincpu", ARM, 12000000)
MCFG_CPU_PROGRAM_MAP(aristmk5_drame_map)
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */
- MCFG_MACHINE_START( aristmk5 )
- MCFG_MACHINE_RESET( aristmk5 )
// MCFG_I2CMEM_ADD("i2cmem",i2cmem_interface)
@@ -437,7 +435,6 @@ static MACHINE_CONFIG_START( aristmk5, aristmk5_state )
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START(archimds_vidc)
MCFG_SCREEN_UPDATE_STATIC(archimds_vidc)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -470,8 +467,6 @@ static MACHINE_CONFIG_START( aristmk5_usa, aristmk5_state )
MCFG_CPU_ADD("maincpu", ARM, 12000000)
MCFG_CPU_PROGRAM_MAP(aristmk5_map)
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(2)) /* 1.6 - 2 seconds */
- MCFG_MACHINE_START( aristmk5 )
- MCFG_MACHINE_RESET( aristmk5 )
// MCFG_I2CMEM_ADD("i2cmem",i2cmem_interface)
diff --git a/src/mame/drivers/aristmk6.c b/src/mame/drivers/aristmk6.c
index ebf807da47a..adeccbdf856 100644
--- a/src/mame/drivers/aristmk6.c
+++ b/src/mame/drivers/aristmk6.c
@@ -17,10 +17,11 @@ public:
UINT32 m_test_x,m_test_y,m_start_offs;
UINT8 m_type;
DECLARE_READ64_MEMBER(test_r);
+ virtual void video_start();
};
-VIDEO_START(aristmk6)
+void aristmk6_state::video_start()
{
}
@@ -146,7 +147,6 @@ static MACHINE_CONFIG_START( aristmk6, aristmk6_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(aristmk6)
MACHINE_CONFIG_END
ROM_START( aristmk6 )
diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c
index 7e4a7072482..773f5a06a52 100644
--- a/src/mame/drivers/arkanoid.c
+++ b/src/mame/drivers/arkanoid.c
@@ -972,49 +972,47 @@ static const ay8910_interface hexa_ay8910_config =
/* Machine Drivers */
-static MACHINE_START( arkanoid )
+MACHINE_START_MEMBER(arkanoid_state,arkanoid)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_mcu = machine.device("mcu");
+ m_mcu = machine().device("mcu");
- state->save_item(NAME(state->m_bootleg_cmd));
+ save_item(NAME(m_bootleg_cmd));
- state->save_item(NAME(state->m_paddle_select));
- state->save_item(NAME(state->m_z80write));
- state->save_item(NAME(state->m_fromz80));
- state->save_item(NAME(state->m_m68705write));
- state->save_item(NAME(state->m_toz80));
+ save_item(NAME(m_paddle_select));
+ save_item(NAME(m_z80write));
+ save_item(NAME(m_fromz80));
+ save_item(NAME(m_m68705write));
+ save_item(NAME(m_toz80));
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
- state->save_item(NAME(state->m_port_c_out));
- state->save_item(NAME(state->m_ddr_c));
+ save_item(NAME(m_port_c_out));
+ save_item(NAME(m_ddr_c));
- state->save_item(NAME(state->m_gfxbank));
- state->save_item(NAME(state->m_palettebank));
+ save_item(NAME(m_gfxbank));
+ save_item(NAME(m_palettebank));
}
-static MACHINE_RESET( arkanoid )
+MACHINE_RESET_MEMBER(arkanoid_state,arkanoid)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_z80write = 0;
- state->m_m68705write = 0;
-
- state->m_bootleg_cmd = 0;
- state->m_paddle_select = 0;
- state->m_fromz80 = 0;
- state->m_toz80 = 0;
- state->m_ddr_a = 0;
- state->m_ddr_c = 0;
- state->m_port_c_out = 0;
- state->m_gfxbank = 0;
- state->m_palettebank = 0;
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_z80write = 0;
+ m_m68705write = 0;
+
+ m_bootleg_cmd = 0;
+ m_paddle_select = 0;
+ m_fromz80 = 0;
+ m_toz80 = 0;
+ m_ddr_a = 0;
+ m_ddr_c = 0;
+ m_port_c_out = 0;
+ m_gfxbank = 0;
+ m_palettebank = 0;
}
static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
@@ -1029,8 +1027,8 @@ static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per second to synchronize between the MCU and the main CPU
- MCFG_MACHINE_START(arkanoid)
- MCFG_MACHINE_RESET(arkanoid)
+ MCFG_MACHINE_START_OVERRIDE(arkanoid_state,arkanoid)
+ MCFG_MACHINE_RESET_OVERRIDE(arkanoid_state,arkanoid)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1044,7 +1042,7 @@ static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(arkanoid)
+ MCFG_VIDEO_START_OVERRIDE(arkanoid_state,arkanoid)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1062,8 +1060,8 @@ static MACHINE_CONFIG_START( hexa, arkanoid_state )
MCFG_CPU_PROGRAM_MAP(hexa_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(arkanoid)
- MCFG_MACHINE_RESET(arkanoid)
+ MCFG_MACHINE_START_OVERRIDE(arkanoid_state,arkanoid)
+ MCFG_MACHINE_RESET_OVERRIDE(arkanoid_state,arkanoid)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1077,7 +1075,7 @@ static MACHINE_CONFIG_START( hexa, arkanoid_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(arkanoid)
+ MCFG_VIDEO_START_OVERRIDE(arkanoid_state,arkanoid)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c
index 7a5fdeaf905..bbc27cc8f5c 100644
--- a/src/mame/drivers/armedf.c
+++ b/src/mame/drivers/armedf.c
@@ -1147,32 +1147,30 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( armedf )
+MACHINE_START_MEMBER(armedf_state,armedf)
{
- armedf_state *state = machine.driver_data<armedf_state>();
-
- state->save_item(NAME(state->m_old_mcu_mode));
- state->save_item(NAME(state->m_scroll_msb));
- state->save_item(NAME(state->m_waiting_msb));
- state->save_item(NAME(state->m_vreg));
- state->save_item(NAME(state->m_fg_scrollx));
- state->save_item(NAME(state->m_fg_scrolly));
- state->save_item(NAME(state->m_bg_scrollx));
- state->save_item(NAME(state->m_bg_scrolly));
+
+ save_item(NAME(m_old_mcu_mode));
+ save_item(NAME(m_scroll_msb));
+ save_item(NAME(m_waiting_msb));
+ save_item(NAME(m_vreg));
+ save_item(NAME(m_fg_scrollx));
+ save_item(NAME(m_fg_scrolly));
+ save_item(NAME(m_bg_scrollx));
+ save_item(NAME(m_bg_scrolly));
}
-static MACHINE_RESET( armedf )
+MACHINE_RESET_MEMBER(armedf_state,armedf)
{
- armedf_state *state = machine.driver_data<armedf_state>();
-
- state->m_old_mcu_mode = 0;
- state->m_scroll_msb = 0;
- state->m_waiting_msb = 0;
- state->m_vreg = 0;
- state->m_fg_scrollx = 0;
- state->m_fg_scrolly = 0;
- state->m_bg_scrollx = 0;
- state->m_bg_scrolly = 0;
+
+ m_old_mcu_mode = 0;
+ m_scroll_msb = 0;
+ m_waiting_msb = 0;
+ m_vreg = 0;
+ m_fg_scrollx = 0;
+ m_fg_scrolly = 0;
+ m_bg_scrollx = 0;
+ m_bg_scrolly = 0;
}
@@ -1188,8 +1186,8 @@ static MACHINE_CONFIG_START( terraf, armedf_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ?
- MCFG_MACHINE_START(armedf)
- MCFG_MACHINE_RESET(armedf)
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1198,7 +1196,7 @@ static MACHINE_CONFIG_START( terraf, armedf_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 1*8, 31*8-1 )
- MCFG_VIDEO_START(terraf)
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_STATIC(armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
@@ -1237,8 +1235,8 @@ static MACHINE_CONFIG_START( terrafb, armedf_state )
MCFG_CPU_PROGRAM_MAP(terrafb_extraz80_map)
MCFG_CPU_IO_MAP(terrafb_extraz80_portmap)
- MCFG_MACHINE_START(armedf)
- MCFG_MACHINE_RESET(armedf)
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1247,7 +1245,7 @@ static MACHINE_CONFIG_START( terrafb, armedf_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 1*8, 31*8-1 )
- MCFG_VIDEO_START(terraf)
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_STATIC(armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
@@ -1281,8 +1279,8 @@ static MACHINE_CONFIG_START( kozure, armedf_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ?
- MCFG_MACHINE_START(armedf)
- MCFG_MACHINE_RESET(armedf)
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1291,7 +1289,7 @@ static MACHINE_CONFIG_START( kozure, armedf_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 1*8, 31*8-1 ) // 320 x 240, trusted
- MCFG_VIDEO_START(terraf)
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_STATIC(armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
@@ -1325,8 +1323,8 @@ static MACHINE_CONFIG_START( armedf, armedf_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ?
- MCFG_MACHINE_START(armedf)
- MCFG_MACHINE_RESET(armedf)
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1335,7 +1333,7 @@ static MACHINE_CONFIG_START( armedf, armedf_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 1*8, 31*8-1 )
- MCFG_VIDEO_START(armedf)
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,armedf)
MCFG_SCREEN_UPDATE_STATIC(armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
@@ -1369,8 +1367,8 @@ static MACHINE_CONFIG_START( cclimbr2, armedf_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ?
- MCFG_MACHINE_START(armedf)
- MCFG_MACHINE_RESET(armedf)
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1379,7 +1377,7 @@ static MACHINE_CONFIG_START( cclimbr2, armedf_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
- MCFG_VIDEO_START(terraf)
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_STATIC(armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
@@ -1413,8 +1411,8 @@ static MACHINE_CONFIG_START( legion, armedf_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ?
- MCFG_MACHINE_START(armedf)
- MCFG_MACHINE_RESET(armedf)
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1423,7 +1421,7 @@ static MACHINE_CONFIG_START( legion, armedf_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
- MCFG_VIDEO_START(terraf)
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_STATIC(armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
@@ -1457,8 +1455,8 @@ static MACHINE_CONFIG_START( legiono, armedf_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ?
- MCFG_MACHINE_START(armedf)
- MCFG_MACHINE_RESET(armedf)
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1467,7 +1465,7 @@ static MACHINE_CONFIG_START( legiono, armedf_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
- MCFG_VIDEO_START(terraf)
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_STATIC(armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
@@ -1489,20 +1487,18 @@ static MACHINE_CONFIG_START( legiono, armedf_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
-static MACHINE_START( bigfghtr )
+MACHINE_START_MEMBER(bigfghtr_state,bigfghtr)
{
- bigfghtr_state *state = machine.driver_data<bigfghtr_state>();
- MACHINE_START_CALL(armedf);
- state->save_item(NAME(state->m_read_latch));
+ MACHINE_START_CALL_MEMBER(armedf);
+ save_item(NAME(m_read_latch));
}
-static MACHINE_RESET( bigfghtr )
+MACHINE_RESET_MEMBER(bigfghtr_state,bigfghtr)
{
- bigfghtr_state *state = machine.driver_data<bigfghtr_state>();
- MACHINE_RESET_CALL(armedf);
- state->m_read_latch = 0;
+ MACHINE_RESET_CALL_MEMBER(armedf);
+ m_read_latch = 0;
}
static MACHINE_CONFIG_START( bigfghtr, bigfghtr_state )
@@ -1516,8 +1512,8 @@ static MACHINE_CONFIG_START( bigfghtr, bigfghtr_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ?
- MCFG_MACHINE_START(bigfghtr)
- MCFG_MACHINE_RESET(bigfghtr)
+ MCFG_MACHINE_START_OVERRIDE(bigfghtr_state,bigfghtr)
+ MCFG_MACHINE_RESET_OVERRIDE(bigfghtr_state,bigfghtr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1526,7 +1522,7 @@ static MACHINE_CONFIG_START( bigfghtr, bigfghtr_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 1*8, 31*8-1 )
- MCFG_VIDEO_START(armedf)
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,armedf)
MCFG_SCREEN_UPDATE_STATIC(armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
diff --git a/src/mame/drivers/artmagic.c b/src/mame/drivers/artmagic.c
index 7753cd3e8f7..28d80cf0871 100644
--- a/src/mame/drivers/artmagic.c
+++ b/src/mame/drivers/artmagic.c
@@ -65,25 +65,23 @@ static void m68k_gen_int(device_t *device, int state)
*
*************************************/
-static MACHINE_START( artmagic )
+void artmagic_state::machine_start()
{
- artmagic_state *state = machine.driver_data<artmagic_state>();
- state_save_register_global(machine, state->m_tms_irq);
- state_save_register_global(machine, state->m_hack_irq);
- state_save_register_global(machine, state->m_prot_input_index);
- state_save_register_global(machine, state->m_prot_output_index);
- state_save_register_global(machine, state->m_prot_output_bit);
- state_save_register_global(machine, state->m_prot_bit_index);
- state_save_register_global(machine, state->m_prot_save);
- state_save_register_global_array(machine, state->m_prot_input);
- state_save_register_global_array(machine, state->m_prot_output);
+ state_save_register_global(machine(), m_tms_irq);
+ state_save_register_global(machine(), m_hack_irq);
+ state_save_register_global(machine(), m_prot_input_index);
+ state_save_register_global(machine(), m_prot_output_index);
+ state_save_register_global(machine(), m_prot_output_bit);
+ state_save_register_global(machine(), m_prot_bit_index);
+ state_save_register_global(machine(), m_prot_save);
+ state_save_register_global_array(machine(), m_prot_input);
+ state_save_register_global_array(machine(), m_prot_output);
}
-static MACHINE_RESET( artmagic )
+void artmagic_state::machine_reset()
{
- artmagic_state *state = machine.driver_data<artmagic_state>();
- state->m_tms_irq = state->m_hack_irq = 0;
- update_irq_state(machine);
+ m_tms_irq = m_hack_irq = 0;
+ update_irq_state(machine());
}
@@ -843,15 +841,12 @@ static MACHINE_CONFIG_START( artmagic, artmagic_state )
MCFG_CPU_CONFIG(tms_config)
MCFG_CPU_PROGRAM_MAP(tms_map)
- MCFG_MACHINE_START(artmagic)
- MCFG_MACHINE_RESET(artmagic)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
MCFG_TLC34076_ADD("tlc34076", tlc34076_6_bit_intf)
- MCFG_VIDEO_START(artmagic)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK_40MHz/6, 428, 0, 320, 313, 0, 256)
diff --git a/src/mame/drivers/ashnojoe.c b/src/mame/drivers/ashnojoe.c
index 1069985986b..6bed7ee151e 100644
--- a/src/mame/drivers/ashnojoe.c
+++ b/src/mame/drivers/ashnojoe.c
@@ -327,24 +327,22 @@ static const msm5205_interface msm5205_config =
};
-static MACHINE_START( ashnojoe )
+void ashnojoe_state::machine_start()
{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_adpcm_byte));
- state->save_item(NAME(state->m_soundlatch_status));
- state->save_item(NAME(state->m_msm5205_vclk_toggle));
+ save_item(NAME(m_adpcm_byte));
+ save_item(NAME(m_soundlatch_status));
+ save_item(NAME(m_msm5205_vclk_toggle));
}
-static MACHINE_RESET( ashnojoe )
+void ashnojoe_state::machine_reset()
{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- state->m_adpcm_byte = 0;
- state->m_soundlatch_status = 0;
- state->m_msm5205_vclk_toggle = 0;
+ m_adpcm_byte = 0;
+ m_soundlatch_status = 0;
+ m_msm5205_vclk_toggle = 0;
}
@@ -359,8 +357,6 @@ static MACHINE_CONFIG_START( ashnojoe, ashnojoe_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_portmap)
- MCFG_MACHINE_START(ashnojoe)
- MCFG_MACHINE_RESET(ashnojoe)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -373,7 +369,6 @@ static MACHINE_CONFIG_START( ashnojoe, ashnojoe_state )
MCFG_GFXDECODE(ashnojoe)
MCFG_PALETTE_LENGTH(0x1000/2)
- MCFG_VIDEO_START(ashnojoe)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/asterix.c b/src/mame/drivers/asterix.c
index d0ac20aa339..826e1c0fbb5 100644
--- a/src/mame/drivers/asterix.c
+++ b/src/mame/drivers/asterix.c
@@ -243,48 +243,46 @@ static const k05324x_interface asterix_k05324x_intf =
asterix_sprite_callback
};
-static MACHINE_START( asterix )
+void asterix_state::machine_start()
{
- asterix_state *state = machine.driver_data<asterix_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053260 = machine.device("k053260");
- state->m_k056832 = machine.device("k056832");
- state->m_k053244 = machine.device("k053244");
- state->m_k053251 = machine.device("k053251");
-
- state->save_item(NAME(state->m_cur_control2));
- state->save_item(NAME(state->m_prot));
-
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_spritebank));
- state->save_item(NAME(state->m_layerpri));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_tilebanks));
- state->save_item(NAME(state->m_spritebanks));
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053260 = machine().device("k053260");
+ m_k056832 = machine().device("k056832");
+ m_k053244 = machine().device("k053244");
+ m_k053251 = machine().device("k053251");
+
+ save_item(NAME(m_cur_control2));
+ save_item(NAME(m_prot));
+
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_spritebank));
+ save_item(NAME(m_layerpri));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_tilebanks));
+ save_item(NAME(m_spritebanks));
}
-static MACHINE_RESET( asterix )
+void asterix_state::machine_reset()
{
- asterix_state *state = machine.driver_data<asterix_state>();
int i;
- state->m_cur_control2 = 0;
- state->m_prot[0] = 0;
- state->m_prot[1] = 0;
+ m_cur_control2 = 0;
+ m_prot[0] = 0;
+ m_prot[1] = 0;
- state->m_sprite_colorbase = 0;
- state->m_spritebank = 0;
- state->m_layerpri[0] = 0;
- state->m_layerpri[1] = 0;
- state->m_layerpri[2] = 0;
+ m_sprite_colorbase = 0;
+ m_spritebank = 0;
+ m_layerpri[0] = 0;
+ m_layerpri[1] = 0;
+ m_layerpri[2] = 0;
for (i = 0; i < 4; i++)
{
- state->m_layer_colorbase[i] = 0;
- state->m_tilebanks[i] = 0;
- state->m_spritebanks[i] = 0;
+ m_layer_colorbase[i] = 0;
+ m_tilebanks[i] = 0;
+ m_spritebanks[i] = 0;
}
}
@@ -298,8 +296,6 @@ static MACHINE_CONFIG_START( asterix, asterix_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(asterix)
- MCFG_MACHINE_RESET(asterix)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
diff --git a/src/mame/drivers/asteroid.c b/src/mame/drivers/asteroid.c
index b71d4b081d7..466dc1e137d 100644
--- a/src/mame/drivers/asteroid.c
+++ b/src/mame/drivers/asteroid.c
@@ -617,7 +617,6 @@ static MACHINE_CONFIG_START( asteroid, asteroid_state )
MCFG_CPU_PROGRAM_MAP(asteroid_map)
MCFG_CPU_PERIODIC_INT(asteroid_interrupt, (double)MASTER_CLOCK/4096/12)
- MCFG_MACHINE_RESET(asteroid)
/* video hardware */
MCFG_SCREEN_ADD("screen", VECTOR)
diff --git a/src/mame/drivers/astinvad.c b/src/mame/drivers/astinvad.c
index 7cc5c206a38..c01646523f0 100644
--- a/src/mame/drivers/astinvad.c
+++ b/src/mame/drivers/astinvad.c
@@ -76,6 +76,11 @@ public:
DECLARE_WRITE8_MEMBER(astinvad_sound2_w);
DECLARE_DRIVER_INIT(kamikaze);
DECLARE_DRIVER_INIT(spcking2);
+ DECLARE_MACHINE_START(kamikaze);
+ DECLARE_MACHINE_RESET(kamikaze);
+ DECLARE_MACHINE_START(spaceint);
+ DECLARE_MACHINE_RESET(spaceint);
+ DECLARE_VIDEO_START(spaceint);
};
@@ -116,13 +121,12 @@ static I8255A_INTERFACE( ppi8255_1_intf )
*
*************************************/
-static VIDEO_START( spaceint )
+VIDEO_START_MEMBER(astinvad_state,spaceint)
{
- astinvad_state *state = machine.driver_data<astinvad_state>();
- state->m_colorram = auto_alloc_array(machine, UINT8, state->m_videoram.bytes());
+ m_colorram = auto_alloc_array(machine(), UINT8, m_videoram.bytes());
- state->save_item(NAME(state->m_color_latch));
- state->save_pointer(NAME(state->m_colorram), state->m_videoram.bytes());
+ save_item(NAME(m_color_latch));
+ save_pointer(NAME(m_colorram), m_videoram.bytes());
}
@@ -235,49 +239,45 @@ static TIMER_CALLBACK( kamizake_int_gen )
}
-static MACHINE_START( kamikaze )
+MACHINE_START_MEMBER(astinvad_state,kamikaze)
{
- astinvad_state *state = machine.driver_data<astinvad_state>();
- state->m_samples = machine.device<samples_device>("samples");
+ m_samples = machine().device<samples_device>("samples");
- state->m_int_timer = machine.scheduler().timer_alloc(FUNC(kamizake_int_gen));
- state->m_int_timer->adjust(machine.primary_screen->time_until_pos(128), 128);
+ m_int_timer = machine().scheduler().timer_alloc(FUNC(kamizake_int_gen));
+ m_int_timer->adjust(machine().primary_screen->time_until_pos(128), 128);
- state->save_item(NAME(state->m_screen_flip));
- state->save_item(NAME(state->m_screen_red));
- state->save_item(NAME(state->m_sound_state));
+ save_item(NAME(m_screen_flip));
+ save_item(NAME(m_screen_red));
+ save_item(NAME(m_sound_state));
}
-static MACHINE_RESET( kamikaze )
+MACHINE_RESET_MEMBER(astinvad_state,kamikaze)
{
- astinvad_state *state = machine.driver_data<astinvad_state>();
- state->m_screen_flip = 0;
- state->m_screen_red = 0;
- state->m_sound_state[0] = 0;
- state->m_sound_state[1] = 0;
+ m_screen_flip = 0;
+ m_screen_red = 0;
+ m_sound_state[0] = 0;
+ m_sound_state[1] = 0;
}
-static MACHINE_START( spaceint )
+MACHINE_START_MEMBER(astinvad_state,spaceint)
{
- astinvad_state *state = machine.driver_data<astinvad_state>();
- state->m_samples = machine.device<samples_device>("samples");
+ m_samples = machine().device<samples_device>("samples");
- state->save_item(NAME(state->m_screen_flip));
- state->save_item(NAME(state->m_sound_state));
+ save_item(NAME(m_screen_flip));
+ save_item(NAME(m_sound_state));
}
-static MACHINE_RESET( spaceint )
+MACHINE_RESET_MEMBER(astinvad_state,spaceint)
{
- astinvad_state *state = machine.driver_data<astinvad_state>();
- state->m_screen_flip = 0;
- state->m_sound_state[0] = 0;
- state->m_sound_state[1] = 0;
- state->m_color_latch = 0;
+ m_screen_flip = 0;
+ m_sound_state[0] = 0;
+ m_sound_state[1] = 0;
+ m_color_latch = 0;
}
@@ -592,8 +592,8 @@ static MACHINE_CONFIG_START( kamikaze, astinvad_state )
MCFG_CPU_PROGRAM_MAP(kamikaze_map)
MCFG_CPU_IO_MAP(kamikaze_portmap)
- MCFG_MACHINE_START(kamikaze)
- MCFG_MACHINE_RESET(kamikaze)
+ MCFG_MACHINE_START_OVERRIDE(astinvad_state,kamikaze)
+ MCFG_MACHINE_RESET_OVERRIDE(astinvad_state,kamikaze)
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
@@ -627,11 +627,11 @@ static MACHINE_CONFIG_START( spaceint, astinvad_state )
MCFG_CPU_IO_MAP(spaceint_portmap)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(spaceint)
- MCFG_MACHINE_RESET(spaceint)
+ MCFG_MACHINE_START_OVERRIDE(astinvad_state,spaceint)
+ MCFG_MACHINE_RESET_OVERRIDE(astinvad_state,spaceint)
/* video hardware */
- MCFG_VIDEO_START(spaceint)
+ MCFG_VIDEO_START_OVERRIDE(astinvad_state,spaceint)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SIZE(32*8, 32*8)
diff --git a/src/mame/drivers/astrafr.c b/src/mame/drivers/astrafr.c
index 6fe2205c0a5..6c8a453683c 100644
--- a/src/mame/drivers/astrafr.c
+++ b/src/mame/drivers/astrafr.c
@@ -120,6 +120,10 @@ public:
DECLARE_DRIVER_INIT(astradec);
DECLARE_DRIVER_INIT(astradec_dual);
DECLARE_DRIVER_INIT(astradec_sml_dual);
+ DECLARE_MACHINE_START(astra_common);
+ DECLARE_MACHINE_START(astra_2e);
+ DECLARE_MACHINE_START(astra_37);
+ DECLARE_MACHINE_START(astra_57);
};
@@ -260,38 +264,35 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( astrafr )
INPUT_PORTS_END
-static MACHINE_START( astra_common )
+MACHINE_START_MEMBER(astrafr_state,astra_common)
{
- astrafr_state *state = machine.driver_data<astrafr_state>();
- state->m_cpuregion = (UINT32*)state->memregion( "maincpu" )->base();
- state->m_cpuregion_size = state->memregion( "maincpu" )->bytes()/4;
- state->m_mainram = (UINT32*)auto_alloc_array_clear(machine, UINT32, 0x10000);
+ m_cpuregion = (UINT32*)memregion( "maincpu" )->base();
+ m_cpuregion_size = memregion( "maincpu" )->bytes()/4;
+ m_mainram = (UINT32*)auto_alloc_array_clear(machine(), UINT32, 0x10000);
- state->m_slavecpuregion = (UINT32*)state->memregion( "slavecpu" )->base();
- state->m_slavecpuregion_size = state->memregion( "slavecpu" )->bytes()/4;
- state->m_slaveram = (UINT32*)auto_alloc_array_clear(machine, UINT32, 0x10000);
+ m_slavecpuregion = (UINT32*)memregion( "slavecpu" )->base();
+ m_slavecpuregion_size = memregion( "slavecpu" )->bytes()/4;
+ m_slaveram = (UINT32*)auto_alloc_array_clear(machine(), UINT32, 0x10000);
}
/* the FPGA area read/write addresses move around ... */
-static MACHINE_START( astra_37 )
+MACHINE_START_MEMBER(astrafr_state,astra_37)
{
- astrafr_state *state = machine.driver_data<astrafr_state>();
- state->fgpa_after_rom_write_addr = 0x30;
- state->fgpa_first_read_addr = 0x33;
- state->fgpa_rom_write_addr = 0x37;
- MACHINE_START_CALL(astra_common);
+ fgpa_after_rom_write_addr = 0x30;
+ fgpa_first_read_addr = 0x33;
+ fgpa_rom_write_addr = 0x37;
+ MACHINE_START_CALL_MEMBER(astra_common);
}
-static MACHINE_START( astra_2e )
+MACHINE_START_MEMBER(astrafr_state,astra_2e)
{
- astrafr_state *state = machine.driver_data<astrafr_state>();
- state->fgpa_after_rom_write_addr = 0x20;
- state->fgpa_first_read_addr = 0x23;
- state->fgpa_rom_write_addr = 0x2e;
- MACHINE_START_CALL(astra_common);
+ fgpa_after_rom_write_addr = 0x20;
+ fgpa_first_read_addr = 0x23;
+ fgpa_rom_write_addr = 0x2e;
+ MACHINE_START_CALL_MEMBER(astra_common);
}
@@ -302,15 +303,15 @@ static MACHINE_CONFIG_START( astrafr_dual, astrafr_state )
MCFG_CPU_ADD("slavecpu", M68340, 16000000)
MCFG_CPU_PROGRAM_MAP(astrafr_slave_map)
- MCFG_MACHINE_START( astra_common )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( astrafr_dual_2e, astrafr_dual )
- MCFG_MACHINE_START( astra_2e )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_2e )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( astrafr_dual_37, astrafr_dual )
- MCFG_MACHINE_START( astra_37 )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( astrafr_dual_alt, astrafr_state )
@@ -322,7 +323,7 @@ static MACHINE_CONFIG_START( astrafr_dual_alt, astrafr_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( astrafr_dual_alt_37, astrafr_dual_alt )
- MCFG_MACHINE_START( astra_37 )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
@@ -330,39 +331,38 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( astra_single, astrafr_state )
MCFG_CPU_ADD("maincpu", M68340, 16000000)
MCFG_CPU_PROGRAM_MAP(astra_map)
- MCFG_MACHINE_START( astra_common )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( astra_single_37, astra_single )
- MCFG_MACHINE_START( astra_37 )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( astra_single_2e, astra_single )
- MCFG_MACHINE_START( astra_2e )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_2e )
MACHINE_CONFIG_END
-static MACHINE_START( astra_57 )
+MACHINE_START_MEMBER(astrafr_state,astra_57)
{
- astrafr_state *state = machine.driver_data<astrafr_state>();
-// state->fgpa_after_rom_write_addr = 0x20;
-// state->fgpa_first_read_addr = 0x23;
- state->fgpa_rom_write_addr = 0x57;
- MACHINE_START_CALL(astra_common);
+// fgpa_after_rom_write_addr = 0x20;
+// fgpa_first_read_addr = 0x23;
+ fgpa_rom_write_addr = 0x57;
+ MACHINE_START_CALL_MEMBER(astra_common);
}
static MACHINE_CONFIG_START( astra_single_alt, astrafr_state )
MCFG_CPU_ADD("maincpu", M68340, 16000000)
MCFG_CPU_PROGRAM_MAP(astra_map)
- MCFG_MACHINE_START( astra_common )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( astra_single_alt_57, astra_single_alt )
- MCFG_MACHINE_START( astra_57 )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_57 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( astra_single_alt_37, astra_single_alt )
- MCFG_MACHINE_START( astra_37 )
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
/* are the ptM roms Master and ptS roms Slave?
diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c
index e056eb712a8..f291cc0b532 100644
--- a/src/mame/drivers/astrocde.c
+++ b/src/mame/drivers/astrocde.c
@@ -1300,8 +1300,6 @@ static MACHINE_CONFIG_START( astrocade_base, astrocde_state )
MCFG_SCREEN_DEFAULT_POSITION(1.1, 0.0, 1.18, -0.018) /* clip out borders */
MCFG_SCREEN_UPDATE_STATIC(astrocde)
- MCFG_PALETTE_INIT(astrocde)
- MCFG_VIDEO_START(astrocde)
MACHINE_CONFIG_END
@@ -1313,8 +1311,8 @@ static MACHINE_CONFIG_DERIVED( astrocade_16color_base, astrocade_base )
/* video hardware */
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT(profpac)
- MCFG_VIDEO_START(profpac)
+ MCFG_PALETTE_INIT_OVERRIDE(astrocde_state,profpac)
+ MCFG_VIDEO_START_OVERRIDE(astrocde_state,profpac)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(profpac)
diff --git a/src/mame/drivers/astrocorp.c b/src/mame/drivers/astrocorp.c
index 7446a151d0f..db0bda7a4f9 100644
--- a/src/mame/drivers/astrocorp.c
+++ b/src/mame/drivers/astrocorp.c
@@ -63,21 +63,21 @@ public:
DECLARE_WRITE16_MEMBER(skilldrp_sound_bank_w);
DECLARE_DRIVER_INIT(showhanc);
DECLARE_DRIVER_INIT(showhand);
+ DECLARE_VIDEO_START(astrocorp);
};
/***************************************************************************
Video
***************************************************************************/
-static VIDEO_START( astrocorp )
+VIDEO_START_MEMBER(astrocorp_state,astrocorp)
{
- astrocorp_state *state = machine.driver_data<astrocorp_state>();
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
- state->save_item(NAME(state->m_bitmap));
- state->save_item (NAME(state->m_screen_enable));
- state->save_item (NAME(state->m_draw_sprites));
+ save_item(NAME(m_bitmap));
+ save_item (NAME(m_screen_enable));
+ save_item (NAME(m_draw_sprites));
}
/***************************************************************************
@@ -492,7 +492,7 @@ static MACHINE_CONFIG_START( showhand, astrocorp_state )
MCFG_GFXDECODE(astrocorp)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(astrocorp)
+ MCFG_VIDEO_START_OVERRIDE(astrocorp_state,astrocorp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -543,7 +543,7 @@ static MACHINE_CONFIG_START( skilldrp, astrocorp_state )
MCFG_GFXDECODE(astrocorp)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(astrocorp)
+ MCFG_VIDEO_START_OVERRIDE(astrocorp_state,astrocorp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/astrof.c b/src/mame/drivers/astrof.c
index 1932d383b8b..7039cec625a 100644
--- a/src/mame/drivers/astrof.c
+++ b/src/mame/drivers/astrof.c
@@ -168,13 +168,12 @@ CUSTOM_INPUT_MEMBER(astrof_state::tomahawk_controls_r)
#define TOMAHAWK_NUM_PENS (0x20)
-static VIDEO_START( astrof )
+void astrof_state::video_start()
{
- astrof_state *state = machine.driver_data<astrof_state>();
/* allocate the color RAM -- half the size of the video RAM as A0 is not connected */
- state->m_colorram = auto_alloc_array(machine, UINT8, state->m_videoram.bytes() / 2);
- state->save_pointer(NAME(state->m_colorram), state->m_videoram.bytes() / 2);
+ m_colorram = auto_alloc_array(machine(), UINT8, m_videoram.bytes() / 2);
+ save_pointer(NAME(m_colorram), m_videoram.bytes() / 2);
}
@@ -483,73 +482,69 @@ READ8_MEMBER(astrof_state::tomahawk_protection_r)
*
*************************************/
-static MACHINE_START( astrof )
+MACHINE_START_MEMBER(astrof_state,astrof)
{
- astrof_state *state = machine.driver_data<astrof_state>();
/* the 74175 outputs all HI's if not otherwise set */
- astrof_set_video_control_2(machine, 0xff);
+ astrof_set_video_control_2(machine(), 0xff);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_samples = machine.device<samples_device>("samples");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_samples = machine().device<samples_device>("samples");
/* register for state saving */
- state->save_item(NAME(state->m_red_on));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_screen_off));
- state->save_item(NAME(state->m_astrof_palette_bank));
- state->save_item(NAME(state->m_port_1_last));
- state->save_item(NAME(state->m_port_2_last));
- state->save_item(NAME(state->m_astrof_start_explosion));
- state->save_item(NAME(state->m_astrof_death_playing));
- state->save_item(NAME(state->m_astrof_bosskill_playing));
+ save_item(NAME(m_red_on));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_screen_off));
+ save_item(NAME(m_astrof_palette_bank));
+ save_item(NAME(m_port_1_last));
+ save_item(NAME(m_port_2_last));
+ save_item(NAME(m_astrof_start_explosion));
+ save_item(NAME(m_astrof_death_playing));
+ save_item(NAME(m_astrof_bosskill_playing));
}
-static MACHINE_START( abattle )
+MACHINE_START_MEMBER(astrof_state,abattle)
{
- astrof_state *state = machine.driver_data<astrof_state>();
/* register for state saving */
- state->save_item(NAME(state->m_abattle_count));
+ save_item(NAME(m_abattle_count));
- MACHINE_START_CALL(astrof);
+ MACHINE_START_CALL_MEMBER(astrof);
}
-static MACHINE_START( spfghmk2 )
+MACHINE_START_MEMBER(astrof_state,spfghmk2)
{
- astrof_state *state = machine.driver_data<astrof_state>();
/* the 74175 outputs all HI's if not otherwise set */
- spfghmk2_set_video_control_2(machine, 0xff);
+ spfghmk2_set_video_control_2(machine(), 0xff);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
/* the red background circuit is disabled */
- state->m_red_on = FALSE;
+ m_red_on = FALSE;
/* register for state saving */
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_screen_off));
- state->save_item(NAME(state->m_astrof_palette_bank));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_screen_off));
+ save_item(NAME(m_astrof_palette_bank));
}
-static MACHINE_START( tomahawk )
+MACHINE_START_MEMBER(astrof_state,tomahawk)
{
- astrof_state *state = machine.driver_data<astrof_state>();
/* the 74175 outputs all HI's if not otherwise set */
- tomahawk_set_video_control_2(machine, 0xff);
+ tomahawk_set_video_control_2(machine(), 0xff);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_sn = machine.device("snsnd");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_sn = machine().device("snsnd");
/* register for state saving */
- state->save_item(NAME(state->m_red_on));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_screen_off));
+ save_item(NAME(m_red_on));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_screen_off));
}
@@ -560,10 +555,9 @@ static MACHINE_START( tomahawk )
*
*************************************/
-static MACHINE_RESET( abattle )
+MACHINE_RESET_MEMBER(astrof_state,abattle)
{
- astrof_state *state = machine.driver_data<astrof_state>();
- state->m_abattle_count = 0;
+ m_abattle_count = 0;
}
@@ -952,7 +946,6 @@ static MACHINE_CONFIG_START( base, astrof_state )
MCFG_TIMER_ADD_SCANLINE("vblank", irq_callback, "screen", VBSTART, 0)
/* video hardware */
- MCFG_VIDEO_START(astrof)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
@@ -965,7 +958,7 @@ static MACHINE_CONFIG_DERIVED( astrof, base )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(astrof_map)
- MCFG_MACHINE_START(astrof)
+ MCFG_MACHINE_START_OVERRIDE(astrof_state,astrof)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -980,8 +973,8 @@ static MACHINE_CONFIG_DERIVED( abattle, astrof )
/* basic machine hardware */
- MCFG_MACHINE_START(abattle)
- MCFG_MACHINE_RESET(abattle)
+ MCFG_MACHINE_START_OVERRIDE(astrof_state,abattle)
+ MCFG_MACHINE_RESET_OVERRIDE(astrof_state,abattle)
MACHINE_CONFIG_END
@@ -991,7 +984,7 @@ static MACHINE_CONFIG_DERIVED( spfghmk2, base )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(spfghmk2_map)
- MCFG_MACHINE_START(spfghmk2)
+ MCFG_MACHINE_START_OVERRIDE(astrof_state,spfghmk2)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1008,7 +1001,7 @@ static MACHINE_CONFIG_DERIVED( tomahawk, base )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tomahawk_map)
- MCFG_MACHINE_START(tomahawk)
+ MCFG_MACHINE_START_OVERRIDE(astrof_state,tomahawk)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c
index de793b3dd9b..e4aca9360e0 100644
--- a/src/mame/drivers/asuka.c
+++ b/src/mame/drivers/asuka.c
@@ -831,45 +831,43 @@ static const tc0110pcr_interface asuka_tc0110pcr_intf =
};
-static MACHINE_START( asuka )
+void asuka_state::machine_start()
{
- asuka_state *state = machine.driver_data<asuka_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_pc090oj = machine.device("pc090oj");
- state->m_tc0100scn = machine.device("tc0100scn");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_pc090oj = machine().device("pc090oj");
+ m_tc0100scn = machine().device("tc0100scn");
/* configure the banks */
- state->membank("bank1")->configure_entry(0, state->memregion("audiocpu")->base());
- state->membank("bank1")->configure_entries(1, 3, state->memregion("audiocpu")->base() + 0x10000, 0x04000);
-
- state->save_item(NAME(state->m_adpcm_pos));
- state->save_item(NAME(state->m_adpcm_data));
-
- state->save_item(NAME(state->m_current_round));
- state->save_item(NAME(state->m_current_bank));
- state->save_item(NAME(state->m_video_ctrl));
- state->save_item(NAME(state->m_video_mask));
- state->save_item(NAME(state->m_cc_port));
- state->save_item(NAME(state->m_restart_status));
- state->save_item(NAME(state->m_cval));
+ membank("bank1")->configure_entry(0, memregion("audiocpu")->base());
+ membank("bank1")->configure_entries(1, 3, memregion("audiocpu")->base() + 0x10000, 0x04000);
+
+ save_item(NAME(m_adpcm_pos));
+ save_item(NAME(m_adpcm_data));
+
+ save_item(NAME(m_current_round));
+ save_item(NAME(m_current_bank));
+ save_item(NAME(m_video_ctrl));
+ save_item(NAME(m_video_mask));
+ save_item(NAME(m_cc_port));
+ save_item(NAME(m_restart_status));
+ save_item(NAME(m_cval));
}
-static MACHINE_RESET( asuka )
+void asuka_state::machine_reset()
{
- asuka_state *state = machine.driver_data<asuka_state>();
- state->m_adpcm_pos = 0;
- state->m_adpcm_data = -1;
- state->m_current_round = 0;
- state->m_current_bank = 0;
- state->m_video_ctrl = 0;
- state->m_video_mask = 0;
- state->m_cc_port = 0;
- state->m_restart_status = 0;
+ m_adpcm_pos = 0;
+ m_adpcm_data = -1;
+ m_current_round = 0;
+ m_current_bank = 0;
+ m_video_ctrl = 0;
+ m_video_mask = 0;
+ m_cc_port = 0;
+ m_restart_status = 0;
- memset(state->m_cval, 0, 26);
+ memset(m_cval, 0, 26);
}
static SCREEN_VBLANK( asuka )
@@ -904,8 +902,6 @@ static MACHINE_CONFIG_START( bonzeadv, asuka_state )
MCFG_CPU_ADD("audiocpu", Z80,4000000) /* sound CPU, also required for test mode */
MCFG_CPU_PROGRAM_MAP(bonzeadv_z80_map)
- MCFG_MACHINE_START(asuka)
- MCFG_MACHINE_RESET(asuka)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -947,8 +943,6 @@ static MACHINE_CONFIG_START( asuka, asuka_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(z80_map)
- MCFG_MACHINE_START(asuka)
- MCFG_MACHINE_RESET(asuka)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -999,8 +993,6 @@ static MACHINE_CONFIG_START( cadash, asuka_state )
MCFG_CPU_PROGRAM_MAP(cadash_sub_map)
MCFG_CPU_IO_MAP(cadash_sub_io)
- MCFG_MACHINE_START(asuka)
- MCFG_MACHINE_RESET(asuka)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -1043,8 +1035,6 @@ static MACHINE_CONFIG_START( mofflott, asuka_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */
MCFG_CPU_PROGRAM_MAP(z80_map)
- MCFG_MACHINE_START(asuka)
- MCFG_MACHINE_RESET(asuka)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -1091,8 +1081,6 @@ static MACHINE_CONFIG_START( galmedes, asuka_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */
MCFG_CPU_PROGRAM_MAP(cadash_z80_map)
- MCFG_MACHINE_START(asuka)
- MCFG_MACHINE_RESET(asuka)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -1135,8 +1123,6 @@ static MACHINE_CONFIG_START( eto, asuka_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */
MCFG_CPU_PROGRAM_MAP(cadash_z80_map)
- MCFG_MACHINE_START(asuka)
- MCFG_MACHINE_RESET(asuka)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
diff --git a/src/mame/drivers/atarifb.c b/src/mame/drivers/atarifb.c
index 0c20f665b02..b59119ce99b 100644
--- a/src/mame/drivers/atarifb.c
+++ b/src/mame/drivers/atarifb.c
@@ -117,25 +117,25 @@
*
*************************************/
-static PALETTE_INIT( atarifb )
+void atarifb_state::palette_init()
{
/* chars */
- palette_set_color(machine, 0, MAKE_RGB(0xff,0xff,0xff)); /* white */
- palette_set_color(machine, 1, MAKE_RGB(0x00,0x00,0x00)); /* black */
+ palette_set_color(machine(), 0, MAKE_RGB(0xff,0xff,0xff)); /* white */
+ palette_set_color(machine(), 1, MAKE_RGB(0x00,0x00,0x00)); /* black */
/* sprites */
- palette_set_color(machine, 2, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
- palette_set_color(machine, 3, MAKE_RGB(0xff,0xff,0xff)); /* white */
- palette_set_color(machine, 4, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
- palette_set_color(machine, 5, MAKE_RGB(0x00,0x00,0x00)); /* black */
+ palette_set_color(machine(), 2, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
+ palette_set_color(machine(), 3, MAKE_RGB(0xff,0xff,0xff)); /* white */
+ palette_set_color(machine(), 4, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
+ palette_set_color(machine(), 5, MAKE_RGB(0x00,0x00,0x00)); /* black */
/* sprite masks */
- palette_set_color(machine, 6, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
- palette_set_color(machine, 7, MAKE_RGB(0x80,0x80,0x80)); /* grey */
- palette_set_color(machine, 8, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
- palette_set_color(machine, 9, MAKE_RGB(0x00,0x00,0x00)); /* black */
- palette_set_color(machine, 10, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
- palette_set_color(machine, 11, MAKE_RGB(0xff,0xff,0xff)); /* white */
+ palette_set_color(machine(), 6, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
+ palette_set_color(machine(), 7, MAKE_RGB(0x80,0x80,0x80)); /* grey */
+ palette_set_color(machine(), 8, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
+ palette_set_color(machine(), 9, MAKE_RGB(0x00,0x00,0x00)); /* black */
+ palette_set_color(machine(), 10, MAKE_RGB(0x40,0x40,0x40)); /* dark grey (?) - used in Soccer only */
+ palette_set_color(machine(), 11, MAKE_RGB(0xff,0xff,0xff)); /* white */
}
@@ -504,52 +504,50 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( atarifb )
+void atarifb_state::machine_start()
{
- atarifb_state *state = machine.driver_data<atarifb_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
-
- state->save_item(NAME(state->m_CTRLD));
- state->save_item(NAME(state->m_sign_x_1));
- state->save_item(NAME(state->m_sign_x_2));
- state->save_item(NAME(state->m_sign_x_3));
- state->save_item(NAME(state->m_sign_x_4));
- state->save_item(NAME(state->m_sign_y_1));
- state->save_item(NAME(state->m_sign_y_2));
- state->save_item(NAME(state->m_sign_y_3));
- state->save_item(NAME(state->m_sign_y_4));
- state->save_item(NAME(state->m_counter_x_in0));
- state->save_item(NAME(state->m_counter_y_in0));
- state->save_item(NAME(state->m_counter_x_in0b));
- state->save_item(NAME(state->m_counter_y_in0b));
- state->save_item(NAME(state->m_counter_x_in2));
- state->save_item(NAME(state->m_counter_y_in2));
- state->save_item(NAME(state->m_counter_x_in2b));
- state->save_item(NAME(state->m_counter_y_in2b));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+
+ save_item(NAME(m_CTRLD));
+ save_item(NAME(m_sign_x_1));
+ save_item(NAME(m_sign_x_2));
+ save_item(NAME(m_sign_x_3));
+ save_item(NAME(m_sign_x_4));
+ save_item(NAME(m_sign_y_1));
+ save_item(NAME(m_sign_y_2));
+ save_item(NAME(m_sign_y_3));
+ save_item(NAME(m_sign_y_4));
+ save_item(NAME(m_counter_x_in0));
+ save_item(NAME(m_counter_y_in0));
+ save_item(NAME(m_counter_x_in0b));
+ save_item(NAME(m_counter_y_in0b));
+ save_item(NAME(m_counter_x_in2));
+ save_item(NAME(m_counter_y_in2));
+ save_item(NAME(m_counter_x_in2b));
+ save_item(NAME(m_counter_y_in2b));
}
-static MACHINE_RESET( atarifb )
+void atarifb_state::machine_reset()
{
- atarifb_state *state = machine.driver_data<atarifb_state>();
-
- state->m_CTRLD = 0;
- state->m_sign_x_1 = 0;
- state->m_sign_y_1 = 0;
- state->m_sign_x_2 = 0;
- state->m_sign_y_2 = 0;
- state->m_sign_x_3 = 0;
- state->m_sign_y_3 = 0;
- state->m_sign_x_4 = 0;
- state->m_sign_y_4 = 0;
- state->m_counter_x_in0 = 0;
- state->m_counter_y_in0 = 0;
- state->m_counter_x_in0b = 0;
- state->m_counter_y_in0b = 0;
- state->m_counter_x_in2 = 0;
- state->m_counter_y_in2 = 0;
- state->m_counter_x_in2b = 0;
- state->m_counter_y_in2b = 0;
+
+ m_CTRLD = 0;
+ m_sign_x_1 = 0;
+ m_sign_y_1 = 0;
+ m_sign_x_2 = 0;
+ m_sign_y_2 = 0;
+ m_sign_x_3 = 0;
+ m_sign_y_3 = 0;
+ m_sign_x_4 = 0;
+ m_sign_y_4 = 0;
+ m_counter_x_in0 = 0;
+ m_counter_y_in0 = 0;
+ m_counter_x_in0b = 0;
+ m_counter_y_in0b = 0;
+ m_counter_x_in2 = 0;
+ m_counter_y_in2 = 0;
+ m_counter_x_in2b = 0;
+ m_counter_y_in2b = 0;
}
static MACHINE_CONFIG_START( atarifb, atarifb_state )
@@ -559,8 +557,6 @@ static MACHINE_CONFIG_START( atarifb, atarifb_state )
MCFG_CPU_PROGRAM_MAP(atarifb_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60)
- MCFG_MACHINE_START(atarifb)
- MCFG_MACHINE_RESET(atarifb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -573,8 +569,6 @@ static MACHINE_CONFIG_START( atarifb, atarifb_state )
MCFG_GFXDECODE(atarifb)
MCFG_PALETTE_LENGTH(12)
- MCFG_PALETTE_INIT(atarifb)
- MCFG_VIDEO_START(atarifb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/atarig1.c b/src/mame/drivers/atarig1.c
index eca5cc3d8cb..09618e0f558 100644
--- a/src/mame/drivers/atarig1.c
+++ b/src/mame/drivers/atarig1.c
@@ -40,22 +40,20 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( atarig1 )
+MACHINE_START_MEMBER(atarig1_state,atarig1)
{
- atarig1_state *state = machine.driver_data<atarig1_state>();
- atarigen_init(machine);
- state->save_item(NAME(state->m_which_input));
+ atarigen_init(machine());
+ save_item(NAME(m_which_input));
}
-static MACHINE_RESET( atarig1 )
+MACHINE_RESET_MEMBER(atarig1_state,atarig1)
{
- atarig1_state *state = machine.driver_data<atarig1_state>();
- atarigen_eeprom_reset(state);
- atarigen_slapstic_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, atarig1_scanline_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_slapstic_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, atarig1_scanline_update, 8);
atarijsa_reset();
}
@@ -453,8 +451,8 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(atarig1)
- MCFG_MACHINE_RESET(atarig1)
+ MCFG_MACHINE_START_OVERRIDE(atarig1_state,atarig1)
+ MCFG_MACHINE_RESET_OVERRIDE(atarig1_state,atarig1)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -468,7 +466,7 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state )
MCFG_SCREEN_UPDATE_STATIC(atarig1)
MCFG_SCREEN_VBLANK_STATIC(atarig1)
- MCFG_VIDEO_START(atarig1)
+ MCFG_VIDEO_START_OVERRIDE(atarig1_state,atarig1)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono)
diff --git a/src/mame/drivers/atarig42.c b/src/mame/drivers/atarig42.c
index bcd249ca82d..fc2d3b16c80 100644
--- a/src/mame/drivers/atarig42.c
+++ b/src/mame/drivers/atarig42.c
@@ -39,26 +39,24 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( atarig42 )
+MACHINE_START_MEMBER(atarig42_state,atarig42)
{
- atarig42_state *state = machine.driver_data<atarig42_state>();
- atarigen_init(machine);
+ atarigen_init(machine());
- state->save_item(NAME(state->m_analog_data));
- state->save_item(NAME(state->m_sloop_bank));
- state->save_item(NAME(state->m_sloop_next_bank));
- state->save_item(NAME(state->m_sloop_offset));
- state->save_item(NAME(state->m_sloop_state));
+ save_item(NAME(m_analog_data));
+ save_item(NAME(m_sloop_bank));
+ save_item(NAME(m_sloop_next_bank));
+ save_item(NAME(m_sloop_offset));
+ save_item(NAME(m_sloop_state));
}
-static MACHINE_RESET( atarig42 )
+MACHINE_RESET_MEMBER(atarig42_state,atarig42)
{
- atarig42_state *state = machine.driver_data<atarig42_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, atarig42_scanline_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, atarig42_scanline_update, 8);
atarijsa_reset();
}
@@ -558,8 +556,8 @@ static MACHINE_CONFIG_START( atarig42, atarig42_state )
/* ASIC65 */
MCFG_FRAGMENT_ADD(asic65)
- MCFG_MACHINE_START(atarig42)
- MCFG_MACHINE_RESET(atarig42)
+ MCFG_MACHINE_START_OVERRIDE(atarig42_state,atarig42)
+ MCFG_MACHINE_RESET_OVERRIDE(atarig42_state,atarig42)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -574,7 +572,7 @@ static MACHINE_CONFIG_START( atarig42, atarig42_state )
MCFG_SCREEN_UPDATE_STATIC(atarig42)
MCFG_SCREEN_VBLANK_STATIC(atarig42)
- MCFG_VIDEO_START(atarig42)
+ MCFG_VIDEO_START_OVERRIDE(atarig42_state,atarig42)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_iii_mono)
diff --git a/src/mame/drivers/atarigt.c b/src/mame/drivers/atarigt.c
index 2c6c3a71f0f..6855d359f83 100644
--- a/src/mame/drivers/atarigt.c
+++ b/src/mame/drivers/atarigt.c
@@ -56,19 +56,18 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( atarigt )
+MACHINE_START_MEMBER(atarigt_state,atarigt)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( atarigt )
+MACHINE_RESET_MEMBER(atarigt_state,atarigt)
{
- atarigt_state *state = machine.driver_data<atarigt_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, atarigt_scanline_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, atarigt_scanline_update, 8);
}
@@ -814,8 +813,8 @@ static MACHINE_CONFIG_START( atarigt, atarigt_state )
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
MCFG_CPU_PERIODIC_INT(atarigen_scanline_int_gen, 250)
- MCFG_MACHINE_START(atarigt)
- MCFG_MACHINE_RESET(atarigt)
+ MCFG_MACHINE_START_OVERRIDE(atarigt_state,atarigt)
+ MCFG_MACHINE_RESET_OVERRIDE(atarigt_state,atarigt)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -830,7 +829,7 @@ static MACHINE_CONFIG_START( atarigt, atarigt_state )
MCFG_SCREEN_UPDATE_STATIC(atarigt)
MCFG_SCREEN_VBLANK_STATIC(atarigt)
- MCFG_VIDEO_START(atarigt)
+ MCFG_VIDEO_START_OVERRIDE(atarigt_state,atarigt)
MCFG_ATARIRLE_ADD("rle", modesc)
diff --git a/src/mame/drivers/atarigx2.c b/src/mame/drivers/atarigx2.c
index 2d694213191..326dea91a2c 100644
--- a/src/mame/drivers/atarigx2.c
+++ b/src/mame/drivers/atarigx2.c
@@ -41,19 +41,18 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( atarigx2 )
+MACHINE_START_MEMBER(atarigx2_state,atarigx2)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( atarigx2 )
+MACHINE_RESET_MEMBER(atarigx2_state,atarigx2)
{
- atarigx2_state *state = machine.driver_data<atarigx2_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, atarigx2_scanline_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, atarigx2_scanline_update, 8);
atarijsa_reset();
}
@@ -1434,8 +1433,8 @@ static MACHINE_CONFIG_START( atarigx2, atarigx2_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(atarigx2)
- MCFG_MACHINE_RESET(atarigx2)
+ MCFG_MACHINE_START_OVERRIDE(atarigx2_state,atarigx2)
+ MCFG_MACHINE_RESET_OVERRIDE(atarigx2_state,atarigx2)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -1450,7 +1449,7 @@ static MACHINE_CONFIG_START( atarigx2, atarigx2_state )
MCFG_SCREEN_UPDATE_STATIC(atarigx2)
MCFG_SCREEN_VBLANK_STATIC(atarigx2)
- MCFG_VIDEO_START(atarigx2)
+ MCFG_VIDEO_START_OVERRIDE(atarigx2_state,atarigx2)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_iiis_stereo)
diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c
index 5c37513c45f..823ae9eef54 100644
--- a/src/mame/drivers/atarisy1.c
+++ b/src/mame/drivers/atarisy1.c
@@ -217,31 +217,29 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( atarisy1 )
+MACHINE_START_MEMBER(atarisy1_state,atarisy1)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
- atarigen_init(machine);
+ atarigen_init(machine());
- state->save_item(NAME(state->m_joystick_int));
- state->save_item(NAME(state->m_joystick_int_enable));
- state->save_item(NAME(state->m_joystick_value));
+ save_item(NAME(m_joystick_int));
+ save_item(NAME(m_joystick_int_enable));
+ save_item(NAME(m_joystick_value));
}
-static MACHINE_RESET( atarisy1 )
+MACHINE_RESET_MEMBER(atarisy1_state,atarisy1)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
/* initialize the system */
- atarigen_eeprom_reset(state);
- atarigen_slapstic_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_sound_io_reset(machine.device("audiocpu"));
+ atarigen_eeprom_reset(this);
+ atarigen_slapstic_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_sound_io_reset(machine().device("audiocpu"));
/* reset the joystick parameters */
- state->m_joystick_value = 0;
- state->m_joystick_int = 0;
- state->m_joystick_int_enable = 0;
+ m_joystick_value = 0;
+ m_joystick_int = 0;
+ m_joystick_int_enable = 0;
}
@@ -769,8 +767,8 @@ static MACHINE_CONFIG_START( atarisy1, atarisy1_state )
MCFG_CPU_ADD("audiocpu", M6502, ATARI_CLOCK_14MHz/8)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(atarisy1)
- MCFG_MACHINE_RESET(atarisy1)
+ MCFG_MACHINE_START_OVERRIDE(atarisy1_state,atarisy1)
+ MCFG_MACHINE_RESET_OVERRIDE(atarisy1_state,atarisy1)
MCFG_NVRAM_ADD_1FILL("eeprom")
MCFG_TIMER_ADD("joystick_timer", delayed_joystick_int)
@@ -789,7 +787,7 @@ static MACHINE_CONFIG_START( atarisy1, atarisy1_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(atarisy1)
- MCFG_VIDEO_START(atarisy1)
+ MCFG_VIDEO_START_OVERRIDE(atarisy1_state,atarisy1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c
index 6bbf86a5828..c9152a31413 100644
--- a/src/mame/drivers/atarisy2.c
+++ b/src/mame/drivers/atarisy2.c
@@ -220,37 +220,35 @@ DIRECT_UPDATE_MEMBER( atarisy2_state::atarisy2_direct_handler )
}
-static MACHINE_START( atarisy2 )
+MACHINE_START_MEMBER(atarisy2_state,atarisy2)
{
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
- atarigen_init(machine);
-
- state->save_item(NAME(state->m_interrupt_enable));
- state->save_item(NAME(state->m_which_adc));
- state->save_item(NAME(state->m_p2portwr_state));
- state->save_item(NAME(state->m_p2portrd_state));
- machine.save().register_postload(save_prepost_delegate(FUNC(bankselect_postload), &machine));
- state->save_item(NAME(state->m_sound_reset_state));
+ atarigen_init(machine());
+
+ save_item(NAME(m_interrupt_enable));
+ save_item(NAME(m_which_adc));
+ save_item(NAME(m_p2portwr_state));
+ save_item(NAME(m_p2portrd_state));
+ machine().save().register_postload(save_prepost_delegate(FUNC(bankselect_postload), &machine()));
+ save_item(NAME(m_sound_reset_state));
}
-static MACHINE_RESET( atarisy2 )
+MACHINE_RESET_MEMBER(atarisy2_state,atarisy2)
{
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
- atarigen_eeprom_reset(state);
+ atarigen_eeprom_reset(this);
slapstic_reset();
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_sound_io_reset(machine.device("soundcpu"));
- atarigen_scanline_timer_reset(*machine.primary_screen, scanline_update, 64);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_sound_io_reset(machine().device("soundcpu"));
+ atarigen_scanline_timer_reset(*machine().primary_screen, scanline_update, 64);
- address_space *main = machine.device<t11_device>("maincpu")->space(AS_PROGRAM);
- main->set_direct_update_handler(direct_update_delegate(FUNC(atarisy2_state::atarisy2_direct_handler), state));
+ address_space *main = machine().device<t11_device>("maincpu")->space(AS_PROGRAM);
+ main->set_direct_update_handler(direct_update_delegate(FUNC(atarisy2_state::atarisy2_direct_handler), this));
- state->m_p2portwr_state = 0;
- state->m_p2portrd_state = 0;
+ m_p2portwr_state = 0;
+ m_p2portrd_state = 0;
- state->m_which_adc = 0;
+ m_which_adc = 0;
}
@@ -1270,8 +1268,8 @@ static MACHINE_CONFIG_START( atarisy2, atarisy2_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(atarigen_6502_irq_gen, (double)MASTER_CLOCK/2/16/16/16/10)
- MCFG_MACHINE_START(atarisy2)
- MCFG_MACHINE_RESET(atarisy2)
+ MCFG_MACHINE_START_OVERRIDE(atarisy2_state,atarisy2)
+ MCFG_MACHINE_RESET_OVERRIDE(atarisy2_state,atarisy2)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -1283,7 +1281,7 @@ static MACHINE_CONFIG_START( atarisy2, atarisy2_state )
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 640, 0, 512, 416, 0, 384)
MCFG_SCREEN_UPDATE_STATIC(atarisy2)
- MCFG_VIDEO_START(atarisy2)
+ MCFG_VIDEO_START_OVERRIDE(atarisy2_state,atarisy2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/atarisy4.c b/src/mame/drivers/atarisy4.c
index a19c95d6e28..42e38aaf249 100644
--- a/src/mame/drivers/atarisy4.c
+++ b/src/mame/drivers/atarisy4.c
@@ -54,6 +54,10 @@ public:
DECLARE_READ16_MEMBER(analog_r);
DECLARE_DRIVER_INIT(airrace);
DECLARE_DRIVER_INIT(laststar);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void video_reset();
+ DECLARE_MACHINE_RESET(airrace);
};
@@ -132,8 +136,8 @@ struct _poly_extra_data
*************************************/
-static MACHINE_RESET( atarisy4 );
-static MACHINE_RESET( airrace );
+
+
/*************************************
@@ -142,13 +146,12 @@ static MACHINE_RESET( airrace );
*
*************************************/
-static VIDEO_START( atarisy4 )
+void atarisy4_state::video_start()
{
- atarisy4_state *state = machine.driver_data<atarisy4_state>();
- state->m_poly = poly_alloc(machine, 1024, sizeof(poly_extra_data), POLYFLAG_NO_WORK_QUEUE);
+ m_poly = poly_alloc(machine(), 1024, sizeof(poly_extra_data), POLYFLAG_NO_WORK_QUEUE);
}
-static VIDEO_RESET( atarisy4 )
+void atarisy4_state::video_reset()
{
gpu.vblank_wait = 0;
}
@@ -734,8 +737,6 @@ static MACHINE_CONFIG_START( atarisy4, atarisy4_state )
MCFG_CPU_PROGRAM_MAP(dsp0_map)
MCFG_CPU_IO_MAP(dsp0_io_map)
- MCFG_VIDEO_RESET(atarisy4)
- MCFG_MACHINE_RESET(atarisy4)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(32000000/2, 660, 0, 512, 404, 0, 384)
@@ -743,7 +744,6 @@ static MACHINE_CONFIG_START( atarisy4, atarisy4_state )
MCFG_SCREEN_UPDATE_STATIC(atarisy4)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(atarisy4)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( airrace, atarisy4 )
@@ -752,7 +752,7 @@ static MACHINE_CONFIG_DERIVED( airrace, atarisy4 )
MCFG_CPU_PROGRAM_MAP(dsp1_map)
MCFG_CPU_IO_MAP(dsp1_io_map)
- MCFG_MACHINE_RESET(airrace)
+ MCFG_MACHINE_RESET_OVERRIDE(atarisy4_state,airrace)
MACHINE_CONFIG_END
@@ -999,15 +999,15 @@ DRIVER_INIT_MEMBER(atarisy4_state,airrace)
load_ldafile(machine().device("dsp1")->memory().space(AS_PROGRAM), memregion("dsp")->base());
}
-static MACHINE_RESET( atarisy4 )
+void atarisy4_state::machine_reset()
{
- machine.device("dsp0")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp0")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
-static MACHINE_RESET( airrace )
+MACHINE_RESET_MEMBER(atarisy4_state,airrace)
{
- machine.device("dsp0")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("dsp1")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp0")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp1")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
diff --git a/src/mame/drivers/ataxx.c b/src/mame/drivers/ataxx.c
index c4ff2d27f3a..5a7f8e0e750 100644
--- a/src/mame/drivers/ataxx.c
+++ b/src/mame/drivers/ataxx.c
@@ -325,8 +325,8 @@ static MACHINE_CONFIG_START( ataxx, leland_state )
MCFG_CPU_PROGRAM_MAP(leland_80186_map_program)
MCFG_CPU_IO_MAP(ataxx_80186_map_io)
- MCFG_MACHINE_START(ataxx)
- MCFG_MACHINE_RESET(ataxx)
+ MCFG_MACHINE_START_OVERRIDE(leland_state,ataxx)
+ MCFG_MACHINE_RESET_OVERRIDE(leland_state,ataxx)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_NVRAM_ADD_0FILL("battery")
diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c
index 6048e2310b2..f78b2bc97c3 100644
--- a/src/mame/drivers/atetris.c
+++ b/src/mame/drivers/atetris.c
@@ -103,31 +103,29 @@ static void reset_bank(running_machine &machine)
}
-static MACHINE_START( atetris )
+void atetris_state::machine_start()
{
- atetris_state *state = machine.driver_data<atetris_state>();
/* Allocate interrupt timer */
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(interrupt_gen));
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(interrupt_gen));
/* Set up save state */
- state->save_item(NAME(state->m_current_bank));
- state->save_item(NAME(state->m_nvram_write_enable));
- machine.save().register_postload(save_prepost_delegate(FUNC(reset_bank), &machine));
+ save_item(NAME(m_current_bank));
+ save_item(NAME(m_nvram_write_enable));
+ machine().save().register_postload(save_prepost_delegate(FUNC(reset_bank), &machine()));
}
-static MACHINE_RESET( atetris )
+void atetris_state::machine_reset()
{
- atetris_state *state = machine.driver_data<atetris_state>();
/* reset the slapstic */
slapstic_reset();
- state->m_current_bank = slapstic_bank() & 1;
- reset_bank(machine);
+ m_current_bank = slapstic_bank() & 1;
+ reset_bank(machine());
/* start interrupts going (32V clocked by 16V) */
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(48), 48);
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(48), 48);
}
@@ -346,8 +344,6 @@ static MACHINE_CONFIG_START( atetris, atetris_state )
MCFG_CPU_ADD("maincpu", M6502,MASTER_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(atetris)
- MCFG_MACHINE_RESET(atetris)
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
@@ -360,7 +356,6 @@ static MACHINE_CONFIG_START( atetris, atetris_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(atetris)
- MCFG_VIDEO_START(atetris)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -381,8 +376,6 @@ static MACHINE_CONFIG_START( atetrisb2, atetris_state )
MCFG_CPU_ADD("maincpu", M6502,BOOTLEG_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(atetrisb2_map)
- MCFG_MACHINE_START(atetris)
- MCFG_MACHINE_RESET(atetris)
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
@@ -395,7 +388,6 @@ static MACHINE_CONFIG_START( atetrisb2, atetris_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(atetris)
- MCFG_VIDEO_START(atetris)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/atlantis.c b/src/mame/drivers/atlantis.c
index 59649eab3f8..cfec190a0c7 100644
--- a/src/mame/drivers/atlantis.c
+++ b/src/mame/drivers/atlantis.c
@@ -46,6 +46,8 @@ public:
atlantis_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) {}
DECLARE_DRIVER_INIT(mwskins);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -55,11 +57,10 @@ public:
*
*************************************/
-static MACHINE_START( mwskins )
+void atlantis_state::machine_start()
{
-// atlantis_state *state = machine.driver_data<atlantis_state>();
/* set the fastest DRC options */
- mips3drc_set_options(machine.device("maincpu"), MIPS3DRC_FASTEST_OPTIONS);
+ mips3drc_set_options(machine().device("maincpu"), MIPS3DRC_FASTEST_OPTIONS);
}
@@ -70,10 +71,10 @@ static MACHINE_START( mwskins )
*
*************************************/
-static MACHINE_RESET( mwskins )
+void atlantis_state::machine_reset()
{
- dcs_reset_w(machine, 1);
- dcs_reset_w(machine, 0);
+ dcs_reset_w(machine(), 1);
+ dcs_reset_w(machine(), 0);
}
@@ -154,8 +155,6 @@ static MACHINE_CONFIG_START( mwskins, atlantis_state )
MCFG_CPU_CONFIG(r4310_config)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(mwskins)
- MCFG_MACHINE_RESET(mwskins)
MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true)
diff --git a/src/mame/drivers/atvtrack.c b/src/mame/drivers/atvtrack.c
index 77c00d3131a..9e60ee416c1 100644
--- a/src/mame/drivers/atvtrack.c
+++ b/src/mame/drivers/atvtrack.c
@@ -82,6 +82,9 @@ public:
DECLARE_WRITE64_MEMBER(area4_w);
DECLARE_READ64_MEMBER(ioport_r);
DECLARE_WRITE64_MEMBER(ioport_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
static void logbinary(UINT32 data,int high=31,int low=0)
@@ -311,7 +314,7 @@ WRITE64_MEMBER(atvtrack_state::ioport_w)
#endif
}
-VIDEO_START(atvtrack)
+void atvtrack_state::video_start()
{
}
@@ -320,21 +323,21 @@ SCREEN_UPDATE_RGB32(atvtrack)
return 0;
}
-static MACHINE_START(atvtrack)
+void atvtrack_state::machine_start()
{
UINT8 *src, *dst;
address_space *as;
nandaddressstep = 0;
- nandregion = machine.root_device().memregion("maincpu");
- as = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ nandregion = machine().root_device().memregion("maincpu");
+ as = machine().device("maincpu")->memory().space(AS_PROGRAM);
dst = (UINT8 *)(as->get_write_ptr(0x0c7f0000));
src = nandregion->base()+0x10;
// copy 0x10000 bytes from region "maincpu" offset 0x10 to 0x0c7f0000
memcpy(dst, src, 0x10000);
}
-static MACHINE_RESET(atvtrack)
+void atvtrack_state::machine_reset()
{
address_space *as;
@@ -342,12 +345,12 @@ static MACHINE_RESET(atvtrack)
// The routine initializes the cpu, copies the boot program from the flash memories into the cpu sdram
// and finally executes it.
// Here there is the setup of the cpu, the boot program is copied in machine_start
- as = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ as = machine().device("maincpu")->memory().space(AS_PROGRAM);
// set cpu PC register to 0x0c7f0000
- machine.device("maincpu")->state().set_pc(0x0c7f0000);
+ machine().device("maincpu")->state().set_pc(0x0c7f0000);
// set BCR2 to 1
sh4_internal_w(as, 0x3001, 1, 0xffffffff);
- device_execute_interface *exec = dynamic_cast<device_execute_interface *>(machine.device("subcpu"));
+ device_execute_interface *exec = dynamic_cast<device_execute_interface *>(machine().device("subcpu"));
exec->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
@@ -404,9 +407,6 @@ static MACHINE_CONFIG_START( atvtrack, atvtrack_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_MACHINE_RESET(atvtrack)
- MCFG_MACHINE_START(atvtrack)
- MCFG_VIDEO_START(atvtrack)
MACHINE_CONFIG_END
ROM_START( atvtrack )
diff --git a/src/mame/drivers/avalnche.c b/src/mame/drivers/avalnche.c
index c9913392430..635b8b7c1af 100644
--- a/src/mame/drivers/avalnche.c
+++ b/src/mame/drivers/avalnche.c
@@ -232,18 +232,16 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( avalnche )
+void avalnche_state::machine_start()
{
- avalnche_state *state = machine.driver_data<avalnche_state>();
- state->save_item(NAME(state->m_avalance_video_inverted));
+ save_item(NAME(m_avalance_video_inverted));
}
-static MACHINE_RESET( avalnche )
+void avalnche_state::machine_reset()
{
- avalnche_state *state = machine.driver_data<avalnche_state>();
- state->m_avalance_video_inverted = 0;
+ m_avalance_video_inverted = 0;
}
static MACHINE_CONFIG_START( avalnche, avalnche_state )
@@ -253,8 +251,6 @@ static MACHINE_CONFIG_START( avalnche, avalnche_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,8*60)
- MCFG_MACHINE_START(avalnche)
- MCFG_MACHINE_RESET(avalnche)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/avt.c b/src/mame/drivers/avt.c
index 4b208680a26..477a6c82b65 100644
--- a/src/mame/drivers/avt.c
+++ b/src/mame/drivers/avt.c
@@ -442,6 +442,8 @@ public:
DECLARE_WRITE8_MEMBER(debug_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
#define mc6845_h_char_total (state->m_crtc_vreg[0])
@@ -496,10 +498,9 @@ TILE_GET_INFO_MEMBER(avt_state::get_bg_tile_info)
}
-static VIDEO_START( avt )
+void avt_state::video_start()
{
- avt_state *state = machine.driver_data<avt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(avt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 28, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(avt_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 28, 32);
}
@@ -529,9 +530,9 @@ static SCREEN_UPDATE_IND16( avt )
}
-static PALETTE_INIT( avt )
+void avt_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* prom bits
7654 3210
---- ---x Intensity?.
@@ -545,7 +546,7 @@ static PALETTE_INIT( avt )
/* 0000BGRI */
if (color_prom == 0) return;
- for (j = 0; j < machine.total_colors(); j++)
+ for (j = 0; j < machine().total_colors(); j++)
{
int bit1, bit2, bit3, r, g, b, inten, intenmin, intenmax, i;
@@ -574,9 +575,9 @@ static PALETTE_INIT( avt )
/* hack to switch cyan->magenta for highlighted background */
if (j == 0x40)
- palette_set_color(machine, j, MAKE_RGB(g, r, b)); // Why this one has R-G swapped?...
+ palette_set_color(machine(), j, MAKE_RGB(g, r, b)); // Why this one has R-G swapped?...
else
- palette_set_color(machine, j, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), j, MAKE_RGB(r, g, b));
}
}
@@ -905,10 +906,8 @@ static MACHINE_CONFIG_START( avt, avt_state )
MCFG_GFXDECODE(avt)
- MCFG_PALETTE_INIT(avt)
MCFG_PALETTE_LENGTH(8*16)
- MCFG_VIDEO_START(avt)
MCFG_MC6845_ADD("crtc", MC6845, CRTC_CLOCK, mc6845_intf) /* guess */
diff --git a/src/mame/drivers/aztarac.c b/src/mame/drivers/aztarac.c
index 944cb38d599..cc589560ab4 100644
--- a/src/mame/drivers/aztarac.c
+++ b/src/mame/drivers/aztarac.c
@@ -35,9 +35,9 @@ static IRQ_CALLBACK(aztarac_irq_callback)
}
-static MACHINE_RESET( aztarac )
+void aztarac_state::machine_reset()
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(aztarac_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(aztarac_irq_callback);
}
@@ -155,7 +155,6 @@ static MACHINE_CONFIG_START( aztarac, aztarac_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(aztarac_snd_timed_irq, 100)
- MCFG_MACHINE_RESET(aztarac)
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
@@ -165,7 +164,6 @@ static MACHINE_CONFIG_START( aztarac, aztarac_state )
MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1)
MCFG_SCREEN_UPDATE_STATIC(vector)
- MCFG_VIDEO_START(aztarac)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index 2874fad2e74..1b841dd01d4 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -77,32 +77,33 @@ public:
DECLARE_READ32_MEMBER(backfire_eeprom_r);
DECLARE_WRITE32_MEMBER(backfire_eeprom_w);
DECLARE_DRIVER_INIT(backfire);
+ virtual void machine_start();
+ virtual void video_start();
};
//UINT32 *backfire_180010, *backfire_188010;
/* I'm using the functions in deco16ic.c ... same chips, why duplicate code? */
-static VIDEO_START( backfire )
+void backfire_state::video_start()
{
- backfire_state *state = machine.driver_data<backfire_state>();
- state->m_spriteram_1 = auto_alloc_array(machine, UINT16, 0x2000/2);
- state->m_spriteram_2 = auto_alloc_array(machine, UINT16, 0x2000/2);
+ m_spriteram_1 = auto_alloc_array(machine(), UINT16, 0x2000/2);
+ m_spriteram_2 = auto_alloc_array(machine(), UINT16, 0x2000/2);
/* and register the allocated ram so that save states still work */
- state->save_item(NAME(state->m_pf1_rowscroll));
- state->save_item(NAME(state->m_pf2_rowscroll));
- state->save_item(NAME(state->m_pf3_rowscroll));
- state->save_item(NAME(state->m_pf4_rowscroll));
+ save_item(NAME(m_pf1_rowscroll));
+ save_item(NAME(m_pf2_rowscroll));
+ save_item(NAME(m_pf3_rowscroll));
+ save_item(NAME(m_pf4_rowscroll));
- state->m_left = auto_bitmap_ind16_alloc(machine, 80*8, 32*8);
- state->m_right = auto_bitmap_ind16_alloc(machine, 80*8, 32*8);
+ m_left = auto_bitmap_ind16_alloc(machine(), 80*8, 32*8);
+ m_right = auto_bitmap_ind16_alloc(machine(), 80*8, 32*8);
- state->save_pointer(NAME(state->m_spriteram_1), 0x2000/2);
- state->save_pointer(NAME(state->m_spriteram_2), 0x2000/2);
+ save_pointer(NAME(m_spriteram_1), 0x2000/2);
+ save_pointer(NAME(m_spriteram_2), 0x2000/2);
- state->save_item(NAME(*state->m_left));
- state->save_item(NAME(*state->m_right));
+ save_item(NAME(*m_left));
+ save_item(NAME(*m_right));
}
@@ -471,16 +472,15 @@ static const deco16ic_interface backfire_deco16ic_tilegen2_intf =
2,3
};
-static MACHINE_START( backfire )
+void backfire_state::machine_start()
{
- backfire_state *state = machine.driver_data<backfire_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_deco_tilegen1 = machine.device("tilegen1");
- state->m_deco_tilegen2 = machine.device("tilegen2");
- state->m_lscreen = machine.device("lscreen");
- state->m_rscreen = machine.device("rscreen");
- state->m_eeprom = machine.device<eeprom_device>("eeprom");
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_deco_tilegen1 = machine().device("tilegen1");
+ m_deco_tilegen2 = machine().device("tilegen2");
+ m_lscreen = machine().device("lscreen");
+ m_rscreen = machine().device("rscreen");
+ m_eeprom = machine().device<eeprom_device>("eeprom");
}
UINT16 backfire_pri_callback(UINT16 x)
@@ -504,7 +504,6 @@ static MACHINE_CONFIG_START( backfire, backfire_state )
MCFG_EEPROM_93C46_ADD("eeprom")
- MCFG_MACHINE_START(backfire)
/* video hardware */
MCFG_PALETTE_LENGTH(2048)
@@ -525,7 +524,6 @@ static MACHINE_CONFIG_START( backfire, backfire_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_STATIC(backfire_right)
- MCFG_VIDEO_START(backfire)
MCFG_DECO16IC_ADD("tilegen1", backfire_deco16ic_tilegen1_intf)
MCFG_DECO16IC_ADD("tilegen2", backfire_deco16ic_tilegen2_intf)
diff --git a/src/mame/drivers/badlands.c b/src/mame/drivers/badlands.c
index 0c8c378bcfd..3ed13d7e18e 100644
--- a/src/mame/drivers/badlands.c
+++ b/src/mame/drivers/badlands.c
@@ -197,28 +197,26 @@ static void scanline_update(screen_device &screen, int scanline)
}
-static MACHINE_START( badlands )
+MACHINE_START_MEMBER(badlands_state,badlands)
{
- badlands_state *state = machine.driver_data<badlands_state>();
- atarigen_init(machine);
+ atarigen_init(machine());
- state->save_item(NAME(state->m_pedal_value));
+ save_item(NAME(m_pedal_value));
}
-static MACHINE_RESET( badlands )
+MACHINE_RESET_MEMBER(badlands_state,badlands)
{
- badlands_state *state = machine.driver_data<badlands_state>();
- state->m_pedal_value[0] = state->m_pedal_value[1] = 0x80;
+ m_pedal_value[0] = m_pedal_value[1] = 0x80;
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, scanline_update, 32);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, scanline_update, 32);
- atarigen_sound_io_reset(machine.device("audiocpu"));
- memcpy(state->m_bank_base, &state->m_bank_source_data[0x0000], 0x1000);
+ atarigen_sound_io_reset(machine().device("audiocpu"));
+ memcpy(m_bank_base, &m_bank_source_data[0x0000], 0x1000);
}
@@ -509,8 +507,8 @@ static MACHINE_CONFIG_START( badlands, badlands_state )
MCFG_CPU_ADD("audiocpu", M6502, ATARI_CLOCK_14MHz/8)
MCFG_CPU_PROGRAM_MAP(audio_map)
- MCFG_MACHINE_START(badlands)
- MCFG_MACHINE_RESET(badlands)
+ MCFG_MACHINE_START_OVERRIDE(badlands_state,badlands)
+ MCFG_MACHINE_RESET_OVERRIDE(badlands_state,badlands)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -524,7 +522,7 @@ static MACHINE_CONFIG_START( badlands, badlands_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(badlands)
- MCFG_VIDEO_START(badlands)
+ MCFG_VIDEO_START_OVERRIDE(badlands_state,badlands)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -693,17 +691,16 @@ static void scanline_update_bootleg(screen_device &screen, int scanline)
-static MACHINE_RESET( badlandsb )
+MACHINE_RESET_MEMBER(badlands_state,badlandsb)
{
- badlands_state *state = machine.driver_data<badlands_state>();
-// state->m_pedal_value[0] = state->m_pedal_value[1] = 0x80;
+// m_pedal_value[0] = m_pedal_value[1] = 0x80;
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts_bootleg);
- atarigen_scanline_timer_reset(*machine.primary_screen, scanline_update_bootleg, 32);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts_bootleg);
+ atarigen_scanline_timer_reset(*machine().primary_screen, scanline_update_bootleg, 32);
-// atarigen_sound_io_reset(machine.device("audiocpu"));
-// memcpy(state->m_bank_base, &state->m_bank_source_data[0x0000], 0x1000);
+// atarigen_sound_io_reset(machine().device("audiocpu"));
+// memcpy(m_bank_base, &m_bank_source_data[0x0000], 0x1000);
}
static MACHINE_CONFIG_START( badlandsb, badlands_state )
@@ -716,8 +713,8 @@ static MACHINE_CONFIG_START( badlandsb, badlands_state )
// MCFG_CPU_ADD("audiocpu", Z80, XTAL_20MHz/12) /* Divisor estimated */
// MCFG_CPU_PROGRAM_MAP(bootleg_soundmap)
- MCFG_MACHINE_START(badlands)
- MCFG_MACHINE_RESET(badlandsb)
+ MCFG_MACHINE_START_OVERRIDE(badlands_state,badlands)
+ MCFG_MACHINE_RESET_OVERRIDE(badlands_state,badlandsb)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -731,7 +728,7 @@ static MACHINE_CONFIG_START( badlandsb, badlands_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(badlands)
- MCFG_VIDEO_START(badlands)
+ MCFG_VIDEO_START_OVERRIDE(badlands_state,badlands)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/bagman.c b/src/mame/drivers/bagman.c
index 5eb87cfd2a4..12bbb8e79c7 100644
--- a/src/mame/drivers/bagman.c
+++ b/src/mame/drivers/bagman.c
@@ -479,7 +479,7 @@ static MACHINE_CONFIG_START( bagman, bagman_state )
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_RESET(bagman)
+ MCFG_MACHINE_RESET_OVERRIDE(bagman_state,bagman)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -489,8 +489,8 @@ static MACHINE_CONFIG_START( bagman, bagman_state )
MCFG_GFXDECODE(bagman)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(bagman)
- MCFG_VIDEO_START(bagman)
+ MCFG_PALETTE_INIT_OVERRIDE(bagman_state,bagman)
+ MCFG_VIDEO_START_OVERRIDE(bagman_state,bagman)
MCFG_DEVICE_ADD("tmsprom", TMSPROM, 640000 / 2) /* rom clock */
MCFG_DEVICE_CONFIG(prom_intf)
@@ -515,7 +515,7 @@ static MACHINE_CONFIG_START( pickin, bagman_state )
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_RESET(bagman)
+ MCFG_MACHINE_RESET_OVERRIDE(bagman_state,bagman)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -525,8 +525,8 @@ static MACHINE_CONFIG_START( pickin, bagman_state )
MCFG_GFXDECODE(pickin)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(bagman)
- MCFG_VIDEO_START(bagman)
+ MCFG_PALETTE_INIT_OVERRIDE(bagman_state,bagman)
+ MCFG_VIDEO_START_OVERRIDE(bagman_state,bagman)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -567,7 +567,7 @@ static MACHINE_CONFIG_START( botanic, bagman_state )
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_RESET(bagman)
+ MCFG_MACHINE_RESET_OVERRIDE(bagman_state,bagman)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -577,8 +577,8 @@ static MACHINE_CONFIG_START( botanic, bagman_state )
MCFG_GFXDECODE(bagman)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(bagman)
- MCFG_VIDEO_START(bagman)
+ MCFG_PALETTE_INIT_OVERRIDE(bagman_state,bagman)
+ MCFG_VIDEO_START_OVERRIDE(bagman_state,bagman)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/balsente.c b/src/mame/drivers/balsente.c
index 28ca52de413..9286cf2bf7d 100644
--- a/src/mame/drivers/balsente.c
+++ b/src/mame/drivers/balsente.c
@@ -1210,8 +1210,6 @@ static MACHINE_CONFIG_START( balsente, balsente_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(balsente)
- MCFG_MACHINE_RESET(balsente)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_ADD("scan_timer", balsente_interrupt_timer)
@@ -1228,7 +1226,6 @@ static MACHINE_CONFIG_START( balsente, balsente_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(balsente)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/bankp.c b/src/mame/drivers/bankp.c
index d085b507989..47bde28cf22 100644
--- a/src/mame/drivers/bankp.c
+++ b/src/mame/drivers/bankp.c
@@ -282,12 +282,11 @@ static const sn76496_config psg_intf =
*
*************************************/
-static MACHINE_RESET( bankp )
+void bankp_state::machine_reset()
{
- bankp_state *state = machine.driver_data<bankp_state>();
- state->m_scroll_x = 0;
- state->m_priority = 0;
+ m_scroll_x = 0;
+ m_priority = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -306,7 +305,6 @@ static MACHINE_CONFIG_START( bankp, bankp_state )
MCFG_CPU_IO_MAP(bankp_io_map)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_RESET(bankp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -316,8 +314,6 @@ static MACHINE_CONFIG_START( bankp, bankp_state )
MCFG_GFXDECODE(bankp)
MCFG_PALETTE_LENGTH(32*4+16*8)
- MCFG_PALETTE_INIT(bankp)
- MCFG_VIDEO_START(bankp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/baraduke.c b/src/mame/drivers/baraduke.c
index 6794c056ae5..c0fcae8e5ba 100644
--- a/src/mame/drivers/baraduke.c
+++ b/src/mame/drivers/baraduke.c
@@ -400,8 +400,6 @@ static MACHINE_CONFIG_START( baraduke, baraduke_state )
MCFG_GFXDECODE(baraduke)
MCFG_PALETTE_LENGTH(2048)
- MCFG_PALETTE_INIT(baraduke)
- MCFG_VIDEO_START(baraduke)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c
index accadf81652..a5c53f052cd 100644
--- a/src/mame/drivers/batman.c
+++ b/src/mame/drivers/batman.c
@@ -39,24 +39,22 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( batman )
+MACHINE_START_MEMBER(batman_state,batman)
{
- batman_state *state = machine.driver_data<batman_state>();
- atarigen_init(machine);
+ atarigen_init(machine());
- state->save_item(NAME(state->m_latch_data));
- state->save_item(NAME(state->m_alpha_tile_bank));
+ save_item(NAME(m_latch_data));
+ save_item(NAME(m_alpha_tile_bank));
}
-static MACHINE_RESET( batman )
+MACHINE_RESET_MEMBER(batman_state,batman)
{
- batman_state *state = machine.driver_data<batman_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarivc_reset(*machine.primary_screen, state->m_atarivc_eof_data, 2);
- atarigen_scanline_timer_reset(*machine.primary_screen, batman_scanline_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 2);
+ atarigen_scanline_timer_reset(*machine().primary_screen, batman_scanline_update, 8);
atarijsa_reset();
}
@@ -237,8 +235,8 @@ static MACHINE_CONFIG_START( batman, batman_state )
MCFG_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(batman)
- MCFG_MACHINE_RESET(batman)
+ MCFG_MACHINE_START_OVERRIDE(batman_state,batman)
+ MCFG_MACHINE_RESET_OVERRIDE(batman_state,batman)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -252,7 +250,7 @@ static MACHINE_CONFIG_START( batman, batman_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(batman)
- MCFG_VIDEO_START(batman)
+ MCFG_VIDEO_START_OVERRIDE(batman_state,batman)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_iii_mono)
diff --git a/src/mame/drivers/battlane.c b/src/mame/drivers/battlane.c
index ae38679f403..b801bc1c609 100644
--- a/src/mame/drivers/battlane.c
+++ b/src/mame/drivers/battlane.c
@@ -267,23 +267,21 @@ static const ym3526_interface ym3526_config =
*
*************************************/
-static MACHINE_START( battlane )
+void battlane_state::machine_start()
{
- battlane_state *state = machine.driver_data<battlane_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_video_ctrl));
- state->save_item(NAME(state->m_cpu_control));
+ save_item(NAME(m_video_ctrl));
+ save_item(NAME(m_cpu_control));
}
-static MACHINE_RESET( battlane )
+void battlane_state::machine_reset()
{
- battlane_state *state = machine.driver_data<battlane_state>();
- state->m_video_ctrl = 0;
- state->m_cpu_control = 0;
+ m_video_ctrl = 0;
+ m_cpu_control = 0;
}
static MACHINE_CONFIG_START( battlane, battlane_state )
@@ -298,8 +296,6 @@ static MACHINE_CONFIG_START( battlane, battlane_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(battlane)
- MCFG_MACHINE_RESET(battlane)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -312,7 +308,6 @@ static MACHINE_CONFIG_START( battlane, battlane_state )
MCFG_GFXDECODE(battlane)
MCFG_PALETTE_LENGTH(64)
- MCFG_VIDEO_START(battlane)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c
index 59de81e8bfd..e3de7eedbcf 100644
--- a/src/mame/drivers/battlera.c
+++ b/src/mame/drivers/battlera.c
@@ -250,7 +250,6 @@ static MACHINE_CONFIG_START( battlera, battlera_state )
MCFG_GFXDECODE(battlera)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(battlera)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/battlex.c b/src/mame/drivers/battlex.c
index 9b79911ad99..4ff9b742cad 100644
--- a/src/mame/drivers/battlex.c
+++ b/src/mame/drivers/battlex.c
@@ -225,25 +225,23 @@ static const ay8910_interface battlex_ay8910_interface =
DEVCB_NULL
};
-static MACHINE_START( battlex )
+void battlex_state::machine_start()
{
- battlex_state *state = machine.driver_data<battlex_state>();
/* register for save states */
- state->save_item(NAME(state->m_scroll_lsb));
- state->save_item(NAME(state->m_scroll_msb));
- state->save_item(NAME(state->m_starfield_enabled));
- state->save_item(NAME(state->m_in0_b4));
+ save_item(NAME(m_scroll_lsb));
+ save_item(NAME(m_scroll_msb));
+ save_item(NAME(m_starfield_enabled));
+ save_item(NAME(m_in0_b4));
}
-static MACHINE_RESET( battlex )
+void battlex_state::machine_reset()
{
- battlex_state *state = machine.driver_data<battlex_state>();
- state->m_scroll_lsb = 0;
- state->m_scroll_msb = 0;
- state->m_starfield_enabled = 0;
- state->m_in0_b4 = 0;
+ m_scroll_lsb = 0;
+ m_scroll_msb = 0;
+ m_starfield_enabled = 0;
+ m_in0_b4 = 0;
}
static MACHINE_CONFIG_START( battlex, battlex_state )
@@ -254,8 +252,6 @@ static MACHINE_CONFIG_START( battlex, battlex_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_PERIODIC_INT(battlex_interrupt,400) /* controls game speed? */
- MCFG_MACHINE_START(battlex)
- MCFG_MACHINE_RESET(battlex)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -267,7 +263,6 @@ static MACHINE_CONFIG_START( battlex, battlex_state )
MCFG_GFXDECODE(battlex)
MCFG_PALETTE_LENGTH(64)
- MCFG_VIDEO_START(battlex)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/battlnts.c b/src/mame/drivers/battlnts.c
index a3feee626ac..a1dd2153f81 100644
--- a/src/mame/drivers/battlnts.c
+++ b/src/mame/drivers/battlnts.c
@@ -221,28 +221,26 @@ static const k007420_interface bladestl_k007420_intf =
};
-static MACHINE_START( battlnts )
+void battlnts_state::machine_start()
{
- battlnts_state *state = machine.driver_data<battlnts_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007342 = machine.device("k007342");
- state->m_k007420 = machine.device("k007420");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007342 = machine().device("k007342");
+ m_k007420 = machine().device("k007420");
- state->save_item(NAME(state->m_spritebank));
- state->save_item(NAME(state->m_layer_colorbase));
+ save_item(NAME(m_spritebank));
+ save_item(NAME(m_layer_colorbase));
}
-static MACHINE_RESET( battlnts )
+void battlnts_state::machine_reset()
{
- battlnts_state *state = machine.driver_data<battlnts_state>();
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 0;
- state->m_spritebank = 0;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 0;
+ m_spritebank = 0;
}
static MACHINE_CONFIG_START( battlnts, battlnts_state )
@@ -255,8 +253,6 @@ static MACHINE_CONFIG_START( battlnts, battlnts_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz / 6 /* 3579545? */)
MCFG_CPU_PROGRAM_MAP(battlnts_sound_map)
- MCFG_MACHINE_START(battlnts)
- MCFG_MACHINE_RESET(battlnts)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/bbusters.c b/src/mame/drivers/bbusters.c
index 15aff6dcdc5..dfe6f82070b 100644
--- a/src/mame/drivers/bbusters.c
+++ b/src/mame/drivers/bbusters.c
@@ -690,7 +690,7 @@ static MACHINE_CONFIG_START( bbusters, bbusters_state )
MCFG_GFXDECODE(bbusters)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(bbuster)
+ MCFG_VIDEO_START_OVERRIDE(bbusters_state,bbuster)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
@@ -728,7 +728,7 @@ static MACHINE_CONFIG_START( mechatt, bbusters_state )
MCFG_GFXDECODE(mechatt)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(mechatt)
+ MCFG_VIDEO_START_OVERRIDE(bbusters_state,mechatt)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
diff --git a/src/mame/drivers/beaminv.c b/src/mame/drivers/beaminv.c
index 86c621828fa..7bc565902af 100644
--- a/src/mame/drivers/beaminv.c
+++ b/src/mame/drivers/beaminv.c
@@ -77,6 +77,8 @@ public:
DECLARE_READ8_MEMBER(v128_r);
DECLARE_WRITE8_MEMBER(controller_select_w);
DECLARE_READ8_MEMBER(controller_r);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -133,15 +135,14 @@ static void start_interrupt_timer( running_machine &machine )
*
*************************************/
-static MACHINE_START( beaminv )
+void beaminv_state::machine_start()
{
- beaminv_state *state = machine.driver_data<beaminv_state>();
- create_interrupt_timer(machine);
+ create_interrupt_timer(machine());
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
/* setup for save states */
- state->save_item(NAME(state->m_controller_select));
+ save_item(NAME(m_controller_select));
}
@@ -152,12 +153,11 @@ static MACHINE_START( beaminv )
*
*************************************/
-static MACHINE_RESET( beaminv )
+void beaminv_state::machine_reset()
{
- beaminv_state *state = machine.driver_data<beaminv_state>();
- start_interrupt_timer(machine);
+ start_interrupt_timer(machine());
- state->m_controller_select = 0;
+ m_controller_select = 0;
}
@@ -336,8 +336,6 @@ static MACHINE_CONFIG_START( beaminv, beaminv_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_IO_MAP(main_io_map)
- MCFG_MACHINE_START(beaminv)
- MCFG_MACHINE_RESET(beaminv)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/beezer.c b/src/mame/drivers/beezer.c
index ef4f2dc38ca..1fcb02f381f 100644
--- a/src/mame/drivers/beezer.c
+++ b/src/mame/drivers/beezer.c
@@ -77,11 +77,10 @@ static INPUT_PORTS_START( beezer )
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
INPUT_PORTS_END
-static MACHINE_START(beezer)
+void beezer_state::machine_start()
{
- beezer_state *state = machine.driver_data<beezer_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
}
static MACHINE_CONFIG_START( beezer, beezer_state )
@@ -104,7 +103,6 @@ static MACHINE_CONFIG_START( beezer, beezer_state )
MCFG_PALETTE_LENGTH(16)
- MCFG_MACHINE_START(beezer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/berzerk.c b/src/mame/drivers/berzerk.c
index 1381f8c639d..e84438e7415 100644
--- a/src/mame/drivers/berzerk.c
+++ b/src/mame/drivers/berzerk.c
@@ -55,6 +55,9 @@ public:
DECLARE_READ8_MEMBER(moonwarp_p1_r);
DECLARE_READ8_MEMBER(moonwarp_p2_r);
DECLARE_DRIVER_INIT(moonwarp);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -302,18 +305,17 @@ static void start_nmi_timer(running_machine &machine)
*
*************************************/
-static MACHINE_START( berzerk )
+void berzerk_state::machine_start()
{
- berzerk_state *state = machine.driver_data<berzerk_state>();
- create_irq_timer(machine);
- create_nmi_timer(machine);
+ create_irq_timer(machine());
+ create_nmi_timer(machine());
/* register for state saving */
- state_save_register_global(machine, state->m_magicram_control);
- state_save_register_global(machine, state->m_last_shift_data);
- state_save_register_global(machine, state->m_intercept);
- state_save_register_global(machine, state->m_irq_enabled);
- state_save_register_global(machine, state->m_nmi_enabled);
+ state_save_register_global(machine(), m_magicram_control);
+ state_save_register_global(machine(), m_last_shift_data);
+ state_save_register_global(machine(), m_intercept);
+ state_save_register_global(machine(), m_irq_enabled);
+ state_save_register_global(machine(), m_nmi_enabled);
}
@@ -324,16 +326,15 @@ static MACHINE_START( berzerk )
*
*************************************/
-static MACHINE_RESET( berzerk )
+void berzerk_state::machine_reset()
{
- berzerk_state *state = machine.driver_data<berzerk_state>();
- state->m_irq_enabled = 0;
- state->m_nmi_enabled = 0;
- set_led_status(machine, 0, 0);
- state->m_magicram_control = 0;
+ m_irq_enabled = 0;
+ m_nmi_enabled = 0;
+ set_led_status(machine(), 0, 0);
+ m_magicram_control = 0;
- start_irq_timer(machine);
- start_nmi_timer(machine);
+ start_irq_timer(machine());
+ start_nmi_timer(machine());
}
@@ -350,12 +351,12 @@ static MACHINE_RESET( berzerk )
#define LS181_10C (1)
-static VIDEO_START( berzerk )
+void berzerk_state::video_start()
{
- TTL74181_config(machine, LS181_12C, 0);
+ TTL74181_config(machine(), LS181_12C, 0);
TTL74181_write(LS181_12C, TTL74181_INPUT_M, 1, 1);
- TTL74181_config(machine, LS181_10C, 0);
+ TTL74181_config(machine(), LS181_10C, 0);
TTL74181_write(LS181_10C, TTL74181_INPUT_M, 1, 1);
}
@@ -1084,13 +1085,10 @@ static MACHINE_CONFIG_START( berzerk, berzerk_state )
MCFG_CPU_PROGRAM_MAP(berzerk_map)
MCFG_CPU_IO_MAP(berzerk_io_map)
- MCFG_MACHINE_START(berzerk)
- MCFG_MACHINE_RESET(berzerk)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
- MCFG_VIDEO_START(berzerk)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
diff --git a/src/mame/drivers/bestleag.c b/src/mame/drivers/bestleag.c
index 84a390819ec..a9756a05c5d 100644
--- a/src/mame/drivers/bestleag.c
+++ b/src/mame/drivers/bestleag.c
@@ -50,6 +50,7 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILEMAP_MAPPER_MEMBER(bsb_bg_scan);
+ virtual void video_start();
};
@@ -100,15 +101,14 @@ TILEMAP_MAPPER_MEMBER(bestleag_state::bsb_bg_scan)
return offset;
}
-static VIDEO_START(bestleag)
+void bestleag_state::video_start()
{
- bestleag_state *state = machine.driver_data<bestleag_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,256, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),state),16,16,128, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_fg_tile_info),state),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),state),16,16,128, 64);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,256, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),this),16,16,128, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_fg_tile_info),this),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),this),16,16,128, 64);
- state->m_tx_tilemap->set_transparent_pen(15);
- state->m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
}
/*
@@ -377,7 +377,6 @@ static MACHINE_CONFIG_START( bestleag, bestleag_state )
MCFG_GFXDECODE(bestleag)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(bestleag)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/bfcobra.c b/src/mame/drivers/bfcobra.c
index aa378719e25..e8162756c42 100644
--- a/src/mame/drivers/bfcobra.c
+++ b/src/mame/drivers/bfcobra.c
@@ -297,6 +297,8 @@ public:
DECLARE_READ_LINE_MEMBER(data_acia_rx_r);
DECLARE_WRITE_LINE_MEMBER(data_acia_tx_w);
DECLARE_DRIVER_INIT(bfcobra);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -343,25 +345,24 @@ static const UINT8 col3bit_default[16]=
static const UINT8 col76index[] = {0, 2, 4, 7};
-static VIDEO_START( bfcobra )
+void bfcobra_state::video_start()
{
- bfcobra_state *state = machine.driver_data<bfcobra_state>();
int i;
- memcpy(state->m_col4bit, col4bit_default, sizeof(state->m_col4bit));
- memcpy(state->m_col3bit, col3bit_default, sizeof(state->m_col3bit));
+ memcpy(m_col4bit, col4bit_default, sizeof(m_col4bit));
+ memcpy(m_col3bit, col3bit_default, sizeof(m_col3bit));
for (i = 0; i < 256; ++i)
{
UINT8 col;
- state->m_col8bit[i] = i;
+ m_col8bit[i] = i;
col = i & 0x7f;
col = (col & 0x1f) | (col76index[ ( (col & 0x60) >> 5 ) & 3] << 5);
- state->m_col7bit[i] = col;
+ m_col7bit[i] = col;
col = (col & 3) | (col76index[( (col & 0x0c) >> 2) & 3] << 2 ) |
(col76index[( (col & 0x30) >> 4) & 3] << 5 );
- state->m_col6bit[i] = col;
+ m_col6bit[i] = col;
}
}
@@ -1320,21 +1321,20 @@ WRITE8_MEMBER(bfcobra_state::fd_ctrl_w)
}
#endif
-static MACHINE_RESET( bfcobra )
+void bfcobra_state::machine_reset()
{
- bfcobra_state *state = machine.driver_data<bfcobra_state>();
unsigned int pal;
for (pal = 0; pal < 256; ++pal)
{
- palette_set_color_rgb(machine, pal, pal3bit((pal>>5)&7), pal3bit((pal>>2)&7), pal2bit(pal&3));
+ palette_set_color_rgb(machine(), pal, pal3bit((pal>>5)&7), pal3bit((pal>>2)&7), pal2bit(pal&3));
}
- state->m_bank_data[0] = 1;
- memset(&state->m_ramdac, 0, sizeof(state->m_ramdac));
- reset_fdc(machine);
+ m_bank_data[0] = 1;
+ memset(&m_ramdac, 0, sizeof(m_ramdac));
+ reset_fdc(machine());
- state->m_irq_state = state->m_blitter_irq = state->m_vblank_irq = state->m_acia_irq = 0;
+ m_irq_state = m_blitter_irq = m_vblank_irq = m_acia_irq = 0;
}
/***************************************************************************
@@ -1787,7 +1787,6 @@ static MACHINE_CONFIG_START( bfcobra, bfcobra_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_RESET(bfcobra)
/* TODO */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1807,7 +1806,6 @@ static MACHINE_CONFIG_START( bfcobra, bfcobra_state )
MCFG_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
- MCFG_VIDEO_START(bfcobra)
/* ACIAs */
MCFG_ACIA6850_ADD("acia6850_0", z80_acia_if)
diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c
index 3b6793ec4da..c629d961d69 100644
--- a/src/mame/drivers/bfm_sc1.c
+++ b/src/mame/drivers/bfm_sc1.c
@@ -174,6 +174,7 @@ public:
DECLARE_DRIVER_INIT(clatt);
DECLARE_DRIVER_INIT(rou029);
DECLARE_DRIVER_INIT(nocrypt);
+ virtual void machine_reset();
};
#define VFD_RESET 0x20
@@ -637,25 +638,24 @@ READ8_MEMBER(bfm_sc1_state::vid_uart_ctrl_r)
// machine start (called only once) /////////////////////////////////////////////////
-static MACHINE_RESET( bfm_sc1 )
+void bfm_sc1_state::machine_reset()
{
- bfm_sc1_state *state = machine.driver_data<bfm_sc1_state>();
- state->m_vfd_latch = 0;
- state->m_mmtr_latch = 0;
- state->m_triac_latch = 0;
- state->m_irq_status = 0;
- state->m_is_timer_enabled = 1;
- state->m_coin_inhibits = 0;
- state->m_mux1_outputlatch = 0x08; // clock HIGH
- state->m_mux1_datalo = 0;
- state->m_mux1_datahi = 0;
- state->m_mux1_input = 0;
- state->m_mux2_outputlatch = 0x08; // clock HIGH
- state->m_mux2_datalo = 0;
- state->m_mux2_datahi = 0;
- state->m_mux2_input = 0;
-
- state->m_vfd0->reset();
+ m_vfd_latch = 0;
+ m_mmtr_latch = 0;
+ m_triac_latch = 0;
+ m_irq_status = 0;
+ m_is_timer_enabled = 1;
+ m_coin_inhibits = 0;
+ m_mux1_outputlatch = 0x08; // clock HIGH
+ m_mux1_datalo = 0;
+ m_mux1_datahi = 0;
+ m_mux1_input = 0;
+ m_mux2_outputlatch = 0x08; // clock HIGH
+ m_mux2_datalo = 0;
+ m_mux2_datahi = 0;
+ m_mux2_input = 0;
+
+ m_vfd0->reset();
// reset stepper motors /////////////////////////////////////////////////////////////
{
@@ -667,19 +667,19 @@ static MACHINE_RESET( bfm_sc1 )
if ( stepper_optic_state(i) ) pattern |= 1<<i;
}
- state->m_optic_pattern = pattern;
+ m_optic_pattern = pattern;
}
- state->m_acia_status = 0x02; // MC6850 transmit buffer empty !!!
- state->m_locked = 0x07; // hardware is locked
+ m_acia_status = 0x02; // MC6850 transmit buffer empty !!!
+ m_locked = 0x07; // hardware is locked
// init rom bank ////////////////////////////////////////////////////////////////////
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &rom[0x0000], 0x02000);
- state->membank("bank1")->set_entry(state->m_defaultbank);
+ membank("bank1")->configure_entries(0, 4, &rom[0x0000], 0x02000);
+ membank("bank1")->set_entry(m_defaultbank);
}
}
@@ -1093,7 +1093,6 @@ INPUT_PORTS_END
/////////////////////////////////////////////////////////////////////////////////////
static MACHINE_CONFIG_START( scorpion1, bfm_sc1_state )
- MCFG_MACHINE_RESET(bfm_sc1) // main scorpion1 board initialisation
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz
MCFG_CPU_PROGRAM_MAP(sc1_base) // setup read and write memorymap
MCFG_CPU_PERIODIC_INT(timer_irq, 1000 ) // generate 1000 IRQ's per second
diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c
index bd2aa0d28a0..a8d2d9086a1 100644
--- a/src/mame/drivers/bfm_sc2.c
+++ b/src/mame/drivers/bfm_sc2.c
@@ -298,6 +298,10 @@ public:
DECLARE_DRIVER_INIT(focus);
DECLARE_DRIVER_INIT(drwho);
DECLARE_DRIVER_INIT(drwho_common);
+ DECLARE_MACHINE_RESET(init);
+ DECLARE_MACHINE_RESET(awp_init);
+ DECLARE_MACHINE_START(sc2dmd);
+ DECLARE_MACHINE_RESET(dm01_init);
};
@@ -1416,15 +1420,14 @@ static int read_e2ram(running_machine &machine)
// machine init (called only once) ////////////////////////////////////////
-static MACHINE_RESET( init )
+MACHINE_RESET_MEMBER(bfm_sc2_state,init)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
// reset the board //////////////////////////////////////////////////////
- on_scorpion2_reset(machine);
- state->m_vfd0->reset();
- state->m_vfd1->reset();
+ on_scorpion2_reset(machine());
+ m_vfd0->reset();
+ m_vfd1->reset();
}
@@ -2150,7 +2153,7 @@ INPUT_PORTS_END
///////////////////////////////////////////////////////////////////////////
static MACHINE_CONFIG_START( scorpion2_vid, bfm_sc2_state )
- MCFG_MACHINE_RESET( init ) // main scorpion2 board initialisation
+ MCFG_MACHINE_RESET_OVERRIDE(bfm_sc2_state, init ) // main scorpion2 board initialisation
MCFG_QUANTUM_TIME(attotime::from_hz(960)) // needed for serial communication !!
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 ) // 6809 CPU at 2 Mhz
MCFG_CPU_PROGRAM_MAP(memmap_vid) // setup scorpion2 board memorymap
@@ -2598,19 +2601,18 @@ static const bfmdm01_interface dm01_interface =
};
/* machine init (called only once) */
-static MACHINE_RESET( awp_init )
+MACHINE_RESET_MEMBER(bfm_sc2_state,awp_init)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- on_scorpion2_reset(machine);
- state->m_vfd0->reset();
- state->m_vfd1->reset();
+ on_scorpion2_reset(machine());
+ m_vfd0->reset();
+ m_vfd1->reset();
}
-static MACHINE_RESET( dm01_init )
+MACHINE_RESET_MEMBER(bfm_sc2_state,dm01_init)
{
- on_scorpion2_reset(machine);
+ on_scorpion2_reset(machine());
}
@@ -3689,19 +3691,18 @@ WRITE8_MEMBER(bfm_sc2_state::dmd_reset_w)
//TODO: Reset callback for DMD
}
-static MACHINE_START( sc2dmd )
+MACHINE_START_MEMBER(bfm_sc2_state,sc2dmd)
{
- bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->install_write_handler(0x2800, 0x2800, 0, 0, write8_delegate(FUNC(bfm_sc2_state::vfd1_dmd_w),state));
- space->install_write_handler(0x2900, 0x2900, 0, 0, write8_delegate(FUNC(bfm_sc2_state::dmd_reset_w),state));
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->install_write_handler(0x2800, 0x2800, 0, 0, write8_delegate(FUNC(bfm_sc2_state::vfd1_dmd_w),this));
+ space->install_write_handler(0x2900, 0x2900, 0, 0, write8_delegate(FUNC(bfm_sc2_state::dmd_reset_w),this));
}
/* machine driver for scorpion2 board */
static MACHINE_CONFIG_START( scorpion2, bfm_sc2_state )
- MCFG_MACHINE_RESET(awp_init)
+ MCFG_MACHINE_RESET_OVERRIDE(bfm_sc2_state,awp_init)
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )
MCFG_CPU_PROGRAM_MAP(sc2_basemap)
MCFG_CPU_PERIODIC_INT(timer_irq, 1000 )
@@ -3734,7 +3735,7 @@ MACHINE_CONFIG_END
/* machine driver for scorpion2 board + matrix board */
static MACHINE_CONFIG_START( scorpion2_dm01, bfm_sc2_state )
- MCFG_MACHINE_RESET(dm01_init)
+ MCFG_MACHINE_RESET_OVERRIDE(bfm_sc2_state,dm01_init)
MCFG_QUANTUM_TIME(attotime::from_hz(960)) // needed for serial communication !!
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )
MCFG_CPU_PROGRAM_MAP(sc2_basemap)
@@ -3745,7 +3746,7 @@ static MACHINE_CONFIG_START( scorpion2_dm01, bfm_sc2_state )
MCFG_SOUND_ADD("ymsnd",YM2413, XTAL_3_579545MHz)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
- MCFG_MACHINE_START(sc2dmd)
+ MCFG_MACHINE_START_OVERRIDE(bfm_sc2_state,sc2dmd)
MCFG_SOUND_ADD("upd",UPD7759, UPD7759_STANDARD_CLOCK)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
diff --git a/src/mame/drivers/bfm_sc4h.c b/src/mame/drivers/bfm_sc4h.c
index 8df89405220..9bb15d8182a 100644
--- a/src/mame/drivers/bfm_sc4h.c
+++ b/src/mame/drivers/bfm_sc4h.c
@@ -586,22 +586,21 @@ UINT16 bfm_sc4_68307_portb_r(address_space *space, bool dedicated, UINT16 line_m
}
}
-static MACHINE_RESET( sc4 )
+MACHINE_RESET_MEMBER(sc4_state,sc4)
{
- sc4_state *state = machine.driver_data<sc4_state>();
int pattern =0, i;
- for ( i = 0; i < state->m_reels; i++)
+ for ( i = 0; i < m_reels; i++)
{
stepper_reset_position(i);
if ( stepper_optic_state(i) ) pattern |= 1<<i;
}
- state->m_dochk41 = true;
+ m_dochk41 = true;
- state->m_optic_pattern = pattern;
- state->sec.reset();
+ m_optic_pattern = pattern;
+ sec.reset();
}
static NVRAM_HANDLER( bfm_sc4 )
@@ -622,26 +621,25 @@ static NVRAM_HANDLER( bfm_sc4 )
-static MACHINE_START( sc4 )
+MACHINE_START_MEMBER(sc4_state,sc4)
{
- sc4_state *state = machine.driver_data<sc4_state>();
- state->m_cpuregion = (UINT16*)state->memregion( "maincpu" )->base();
- state->m_mainram = (UINT16*)auto_alloc_array_clear(machine, UINT16, 0x10000);
- state->m_duart = machine.device("duart68681");
- state->m_ymz = machine.device("ymz");
- m68307_set_port_callbacks(machine.device("maincpu"),
+ m_cpuregion = (UINT16*)memregion( "maincpu" )->base();
+ m_mainram = (UINT16*)auto_alloc_array_clear(machine(), UINT16, 0x10000);
+ m_duart = machine().device("duart68681");
+ m_ymz = machine().device("ymz");
+ m68307_set_port_callbacks(machine().device("maincpu"),
bfm_sc4_68307_porta_r,
bfm_sc4_68307_porta_w,
bfm_sc4_68307_portb_r,
bfm_sc4_68307_portb_w );
- m68307_set_duart68681(machine.device("maincpu"),machine.device("m68307_68681"));
+ m68307_set_duart68681(machine().device("maincpu"),machine().device("m68307_68681"));
int reels = 6;
- state->m_reels=reels;
+ m_reels=reels;
for ( int n = 0; n < reels; n++ )
{
- if (state->m_reel_setup[n]) stepper_config(machine, n, state->m_reel_setup[n]);
+ if (m_reel_setup[n]) stepper_config(machine(), n, m_reel_setup[n]);
}
}
@@ -764,8 +762,8 @@ MACHINE_CONFIG_START( sc4, sc4_state )
// internal duart of the 68307... paired in machine start
MCFG_DUART68681_ADD("m68307_68681", 16000000/4, m68307_duart68681_config) // ?? Mhz
- MCFG_MACHINE_START( sc4 )
- MCFG_MACHINE_RESET( sc4 )
+ MCFG_MACHINE_START_OVERRIDE(sc4_state, sc4 )
+ MCFG_MACHINE_RESET_OVERRIDE(sc4_state, sc4 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -785,19 +783,18 @@ MACHINE_CONFIG_END
-static MACHINE_START( adder4 )
+MACHINE_START_MEMBER(sc4_adder4_state,adder4)
{
- sc4_adder4_state *state = machine.driver_data<sc4_adder4_state>();
- state->m_adder4cpuregion = (UINT32*)state->memregion( "adder4" )->base();
- state->m_adder4ram = (UINT32*)auto_alloc_array_clear(machine, UINT32, 0x10000);
- MACHINE_START_CALL(sc4);
+ m_adder4cpuregion = (UINT32*)memregion( "adder4" )->base();
+ m_adder4ram = (UINT32*)auto_alloc_array_clear(machine(), UINT32, 0x10000);
+ MACHINE_START_CALL_MEMBER(sc4);
}
MACHINE_CONFIG_DERIVED_CLASS( sc4_adder4, sc4, sc4_adder4_state )
MCFG_CPU_ADD("adder4", M68340, 25175000) // 68340 (CPU32 core)
MCFG_CPU_PROGRAM_MAP(sc4_adder4_map)
- MCFG_MACHINE_START( adder4 )
+ MCFG_MACHINE_START_OVERRIDE(sc4_adder4_state, adder4 )
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED_CLASS( sc4dmd, sc4, sc4_state )
@@ -808,7 +805,7 @@ MACHINE_CONFIG_DERIVED_CLASS( sc4dmd, sc4, sc4_state )
MCFG_CPU_PROGRAM_MAP(bfm_dm01_memmap)
MCFG_CPU_PERIODIC_INT(bfm_dm01_vbl, 1500 ) /* generate 1500 NMI's per second ?? what is the exact freq?? */
- MCFG_MACHINE_START( sc4 )
+ MCFG_MACHINE_START_OVERRIDE(sc4_state, sc4 )
MACHINE_CONFIG_END
INPUT_PORTS_START( sc4_base )
diff --git a/src/mame/drivers/bfm_swp.c b/src/mame/drivers/bfm_swp.c
index f594b0bc49f..378ca27ff46 100644
--- a/src/mame/drivers/bfm_swp.c
+++ b/src/mame/drivers/bfm_swp.c
@@ -139,6 +139,7 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+ virtual void machine_start();
};
@@ -199,11 +200,10 @@ static INPUT_PORTS_START( bfm_swp )
INPUT_PORTS_END
-static MACHINE_START( bfm_swp )
+void bfm_swp_state::machine_start()
{
- bfm_swp_state *state = machine.driver_data<bfm_swp_state>();
- state->m_cpuregion = (UINT32*)state->memregion( "maincpu" )->base();
- state->m_mainram = (UINT32*)auto_alloc_array_clear(machine, UINT32, 0x10000);
+ m_cpuregion = (UINT32*)memregion( "maincpu" )->base();
+ m_mainram = (UINT32*)auto_alloc_array_clear(machine(), UINT32, 0x10000);
}
@@ -214,7 +214,6 @@ static MACHINE_CONFIG_START( bfm_swp, bfm_swp_state )
MCFG_CPU_ADD("maincpu", M68340, 16000000)
MCFG_CPU_PROGRAM_MAP(bfm_swp_map)
- MCFG_MACHINE_START( bfm_swp )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/bfmsys85.c b/src/mame/drivers/bfmsys85.c
index 8e52f53f5f0..d117e747d35 100644
--- a/src/mame/drivers/bfmsys85.c
+++ b/src/mame/drivers/bfmsys85.c
@@ -110,6 +110,8 @@ public:
DECLARE_READ_LINE_MEMBER(sys85_data_r);
DECLARE_WRITE_LINE_MEMBER(sys85_data_w);
DECLARE_DRIVER_INIT(decode);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -147,20 +149,19 @@ static ACIA6850_INTERFACE( m6809_acia_if )
// called if board is reset ///////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-static MACHINE_RESET( bfm_sys85 )
+void bfmsys85_state::machine_reset()
{
- bfmsys85_state *state = machine.driver_data<bfmsys85_state>();
- state->m_alpha_clock = 0;
- state->m_mmtr_latch = 0;
- state->m_triac_latch = 0;
- state->m_irq_status = 0;
- state->m_is_timer_enabled = 1;
- state->m_coin_inhibits = 0;
- state->m_mux_output_strobe = 0;
- state->m_mux_input_strobe = 0;
- state->m_mux_input = 0;
-
- state->m_vfd->reset(); // reset display1
+ m_alpha_clock = 0;
+ m_mmtr_latch = 0;
+ m_triac_latch = 0;
+ m_irq_status = 0;
+ m_is_timer_enabled = 1;
+ m_coin_inhibits = 0;
+ m_mux_output_strobe = 0;
+ m_mux_input_strobe = 0;
+ m_mux_input = 0;
+
+ m_vfd->reset(); // reset display1
// reset stepper motors ///////////////////////////////////////////////////
{
@@ -171,9 +172,9 @@ static MACHINE_RESET( bfm_sys85 )
stepper_reset_position(i);
if ( stepper_optic_state(i) ) pattern |= 1<<i;
}
- state->m_optic_pattern = pattern;
+ m_optic_pattern = pattern;
}
- state->m_locked = 0x00; // hardware is open
+ m_locked = 0x00; // hardware is open
}
///////////////////////////////////////////////////////////////////////////
@@ -368,12 +369,12 @@ READ8_MEMBER(bfmsys85_state::triac_r)
// machine start (called only once) ////////////////////////////////////////
-static MACHINE_START( bfm_sys85 )
+void bfmsys85_state::machine_start()
{
int i;
for ( i = 0; i < 4; i++ )
{
- stepper_config(machine, i, &starpoint_interface_48step);
+ stepper_config(machine(), i, &starpoint_interface_48step);
}
}
@@ -415,8 +416,6 @@ ADDRESS_MAP_END
// machine driver for system85 board //////////////////////////////////////
static MACHINE_CONFIG_START( bfmsys85, bfmsys85_state )
- MCFG_MACHINE_START(bfm_sys85) // main system85 board initialisation
- MCFG_MACHINE_RESET(bfm_sys85)
MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz
MCFG_CPU_PROGRAM_MAP(memmap) // setup read and write memorymap
MCFG_CPU_PERIODIC_INT(timer_irq, 1000 ) // generate 1000 IRQ's per second
diff --git a/src/mame/drivers/big10.c b/src/mame/drivers/big10.c
index 9f52d765de2..bd608fbcca8 100644
--- a/src/mame/drivers/big10.c
+++ b/src/mame/drivers/big10.c
@@ -74,6 +74,7 @@ public:
UINT8 m_mux_data;
DECLARE_READ8_MEMBER(mux_r);
DECLARE_WRITE8_MEMBER(mux_w);
+ virtual void machine_reset();
};
@@ -100,7 +101,7 @@ static TIMER_DEVICE_CALLBACK( big10_interrupt )
* Machine Reset *
*************************************/
-static MACHINE_RESET(big10)
+void big10_state::machine_reset()
{
}
@@ -248,7 +249,6 @@ static MACHINE_CONFIG_START( big10, big10_state )
MCFG_CPU_IO_MAP(main_io)
MCFG_TIMER_ADD_SCANLINE("scantimer", big10_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(big10)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/bigevglf.c b/src/mame/drivers/bigevglf.c
index fda5173534d..f80d0cfb797 100644
--- a/src/mame/drivers/bigevglf.c
+++ b/src/mame/drivers/bigevglf.c
@@ -416,76 +416,74 @@ static const msm5232_interface msm5232_config =
{ 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6 } /* 0.65 (???) uF capacitors */
};
-static MACHINE_START( bigevglf )
+void bigevglf_state::machine_start()
{
- bigevglf_state *state = machine.driver_data<bigevglf_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
-
- state->save_item(NAME(state->m_vidram_bank));
- state->save_item(NAME(state->m_plane_selected));
- state->save_item(NAME(state->m_plane_visible));
-
- state->save_item(NAME(state->m_beg13_ls74));
- state->save_item(NAME(state->m_beg_bank));
- state->save_item(NAME(state->m_port_select));
-
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_for_sound));
- state->save_item(NAME(state->m_from_sound));
- state->save_item(NAME(state->m_sound_state));
-
- state->save_item(NAME(state->m_main_sent));
- state->save_item(NAME(state->m_mcu_sent));
- state->save_item(NAME(state->m_mcu_coin_bit5));
-
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
- state->save_item(NAME(state->m_port_b_in));
- state->save_item(NAME(state->m_port_b_out));
- state->save_item(NAME(state->m_ddr_b));
- state->save_item(NAME(state->m_port_c_in));
- state->save_item(NAME(state->m_port_c_out));
- state->save_item(NAME(state->m_ddr_c));
- state->save_item(NAME(state->m_from_mcu));
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
+
+ save_item(NAME(m_vidram_bank));
+ save_item(NAME(m_plane_selected));
+ save_item(NAME(m_plane_visible));
+
+ save_item(NAME(m_beg13_ls74));
+ save_item(NAME(m_beg_bank));
+ save_item(NAME(m_port_select));
+
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_for_sound));
+ save_item(NAME(m_from_sound));
+ save_item(NAME(m_sound_state));
+
+ save_item(NAME(m_main_sent));
+ save_item(NAME(m_mcu_sent));
+ save_item(NAME(m_mcu_coin_bit5));
+
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
+ save_item(NAME(m_port_b_in));
+ save_item(NAME(m_port_b_out));
+ save_item(NAME(m_ddr_b));
+ save_item(NAME(m_port_c_in));
+ save_item(NAME(m_port_c_out));
+ save_item(NAME(m_ddr_c));
+ save_item(NAME(m_from_mcu));
}
-static MACHINE_RESET( bigevglf )
+void bigevglf_state::machine_reset()
{
- bigevglf_state *state = machine.driver_data<bigevglf_state>();
- state->m_vidram_bank = 0;
- state->m_plane_selected = 0;
- state->m_plane_visible = 0;
-
- state->m_beg13_ls74[0] = 0;
- state->m_beg13_ls74[1] = 0;
- state->m_beg_bank = 0;
- state->m_port_select = 0;
-
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_for_sound = 0;
- state->m_from_sound = 0;
- state->m_sound_state = 0;
-
- state->m_main_sent = 0;
- state->m_mcu_sent = 0;
- state->m_mcu_coin_bit5 = 0;
-
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_ddr_a = 0;
- state->m_port_b_in = 0;
- state->m_port_b_out = 0;
- state->m_ddr_b = 0;
- state->m_port_c_in = 0;
- state->m_port_c_out = 0;
- state->m_ddr_c = 0;
- state->m_from_mcu = 0;
+ m_vidram_bank = 0;
+ m_plane_selected = 0;
+ m_plane_visible = 0;
+
+ m_beg13_ls74[0] = 0;
+ m_beg13_ls74[1] = 0;
+ m_beg_bank = 0;
+ m_port_select = 0;
+
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_for_sound = 0;
+ m_from_sound = 0;
+ m_sound_state = 0;
+
+ m_main_sent = 0;
+ m_mcu_sent = 0;
+ m_mcu_coin_bit5 = 0;
+
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_ddr_a = 0;
+ m_port_b_in = 0;
+ m_port_b_out = 0;
+ m_ddr_b = 0;
+ m_port_c_in = 0;
+ m_port_c_out = 0;
+ m_ddr_c = 0;
+ m_from_mcu = 0;
}
@@ -513,8 +511,6 @@ static MACHINE_CONFIG_START( bigevglf, bigevglf_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - interleaving is forced on the fly */
- MCFG_MACHINE_START(bigevglf)
- MCFG_MACHINE_RESET(bigevglf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -526,7 +522,6 @@ static MACHINE_CONFIG_START( bigevglf, bigevglf_state )
MCFG_GFXDECODE(bigevglf)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(bigevglf)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/bigstrkb.c b/src/mame/drivers/bigstrkb.c
index 968dbe2d396..b3d496b7098 100644
--- a/src/mame/drivers/bigstrkb.c
+++ b/src/mame/drivers/bigstrkb.c
@@ -211,7 +211,6 @@ static MACHINE_CONFIG_START( bigstrkb, bigstrkb_state )
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(bigstrkb)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
// MCFG_SOUND_ADD("ymsnd", YM2151, ym2151_config)
diff --git a/src/mame/drivers/bingoc.c b/src/mame/drivers/bingoc.c
index 3981e3fac30..8715e85627b 100644
--- a/src/mame/drivers/bingoc.c
+++ b/src/mame/drivers/bingoc.c
@@ -45,12 +45,13 @@ public:
DECLARE_READ8_MEMBER(sound_test_r);
DECLARE_WRITE16_MEMBER(main_sound_latch_w);
DECLARE_WRITE8_MEMBER(bingoc_play_w);
+ virtual void video_start();
};
#define SOUND_TEST 0
-static VIDEO_START(bingoc)
+void bingoc_state::video_start()
{
}
@@ -163,7 +164,6 @@ static MACHINE_CONFIG_START( bingoc, bingoc_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(bingoc)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") //might just be mono...
diff --git a/src/mame/drivers/bingor.c b/src/mame/drivers/bingor.c
index ccc18592925..f74486fe2f4 100644
--- a/src/mame/drivers/bingor.c
+++ b/src/mame/drivers/bingor.c
@@ -453,10 +453,11 @@ public:
required_shared_ptr<UINT16> m_blit_ram;
DECLARE_READ16_MEMBER(test_r);
DECLARE_READ8_MEMBER(test8_r);
+ virtual void video_start();
};
-static VIDEO_START(bingor)
+void bingor_state::video_start()
{
}
@@ -638,7 +639,6 @@ static MACHINE_CONFIG_START( bingor, bingor_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(bingor)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("saa", SAA1099, 6000000 )
diff --git a/src/mame/drivers/bionicc.c b/src/mame/drivers/bionicc.c
index 19f599a6e79..04e4785a47a 100644
--- a/src/mame/drivers/bionicc.c
+++ b/src/mame/drivers/bionicc.c
@@ -328,27 +328,25 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( bionicc )
+void bionicc_state::machine_start()
{
- bionicc_state *state = machine.driver_data<bionicc_state>();
- state->save_item(NAME(state->m_soundcommand));
- state->save_item(NAME(state->m_inp));
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_soundcommand));
+ save_item(NAME(m_inp));
+ save_item(NAME(m_scroll));
}
-static MACHINE_RESET( bionicc )
+void bionicc_state::machine_reset()
{
- bionicc_state *state = machine.driver_data<bionicc_state>();
-
- state->m_inp[0] = 0;
- state->m_inp[1] = 0;
- state->m_inp[2] = 0;
- state->m_scroll[0] = 0;
- state->m_scroll[1] = 0;
- state->m_scroll[2] = 0;
- state->m_scroll[3] = 0;
- state->m_soundcommand = 0;
+
+ m_inp[0] = 0;
+ m_inp[1] = 0;
+ m_inp[2] = 0;
+ m_scroll[0] = 0;
+ m_scroll[1] = 0;
+ m_scroll[2] = 0;
+ m_scroll[3] = 0;
+ m_soundcommand = 0;
}
static MACHINE_CONFIG_START( bionicc, bionicc_state )
@@ -366,8 +364,6 @@ static MACHINE_CONFIG_START( bionicc, bionicc_state )
*/
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,4*60)
- MCFG_MACHINE_START(bionicc)
- MCFG_MACHINE_RESET(bionicc)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -381,7 +377,6 @@ static MACHINE_CONFIG_START( bionicc, bionicc_state )
MCFG_GFXDECODE(bionicc)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(bionicc)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
diff --git a/src/mame/drivers/bishi.c b/src/mame/drivers/bishi.c
index 28ff0f899ce..a5edbb3ddf9 100644
--- a/src/mame/drivers/bishi.c
+++ b/src/mame/drivers/bishi.c
@@ -388,24 +388,22 @@ static const k054338_interface bishi_k054338_intf =
"none"
};
-static MACHINE_START( bishi )
+void bishi_state::machine_start()
{
- bishi_state *state = machine.driver_data<bishi_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_k056832 = machine.device("k056832");
- state->m_k054338 = machine.device("k054338");
- state->m_k055555 = machine.device("k055555");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_k056832 = machine().device("k056832");
+ m_k054338 = machine().device("k054338");
+ m_k055555 = machine().device("k055555");
- state->save_item(NAME(state->m_cur_control));
- state->save_item(NAME(state->m_cur_control2));
+ save_item(NAME(m_cur_control));
+ save_item(NAME(m_cur_control2));
}
-static MACHINE_RESET( bishi )
+void bishi_state::machine_reset()
{
- bishi_state *state = machine.driver_data<bishi_state>();
- state->m_cur_control = 0;
- state->m_cur_control2 = 0;
+ m_cur_control = 0;
+ m_cur_control2 = 0;
}
static MACHINE_CONFIG_START( bishi, bishi_state )
@@ -415,8 +413,6 @@ static MACHINE_CONFIG_START( bishi, bishi_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", bishi_scanline, "screen", 0, 1)
- MCFG_MACHINE_START(bishi)
- MCFG_MACHINE_RESET(bishi)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS | VIDEO_UPDATE_AFTER_VBLANK)
@@ -430,7 +426,6 @@ static MACHINE_CONFIG_START( bishi, bishi_state )
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(bishi)
MCFG_K056832_ADD("k056832", bishi_k056832_intf)
MCFG_K054338_ADD("k054338", bishi_k054338_intf)
diff --git a/src/mame/drivers/bking.c b/src/mame/drivers/bking.c
index 897e915470b..f136636ba05 100644
--- a/src/mame/drivers/bking.c
+++ b/src/mame/drivers/bking.c
@@ -388,82 +388,78 @@ static const ay8910_interface ay8910_config =
DEVCB_DRIVER_MEMBER(bking_state,port_b_w)
};
-static MACHINE_START( bking )
+void bking_state::machine_start()
{
- bking_state *state = machine.driver_data<bking_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
/* video */
- state->save_item(NAME(state->m_pc3259_output));
- state->save_item(NAME(state->m_pc3259_mask));
- state->save_item(NAME(state->m_xld1));
- state->save_item(NAME(state->m_xld2));
- state->save_item(NAME(state->m_xld3));
- state->save_item(NAME(state->m_yld1));
- state->save_item(NAME(state->m_yld2));
- state->save_item(NAME(state->m_yld3));
- state->save_item(NAME(state->m_ball1_pic));
- state->save_item(NAME(state->m_ball2_pic));
- state->save_item(NAME(state->m_crow_pic));
- state->save_item(NAME(state->m_crow_flip));
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_controller));
- state->save_item(NAME(state->m_hit));
+ save_item(NAME(m_pc3259_output));
+ save_item(NAME(m_pc3259_mask));
+ save_item(NAME(m_xld1));
+ save_item(NAME(m_xld2));
+ save_item(NAME(m_xld3));
+ save_item(NAME(m_yld1));
+ save_item(NAME(m_yld2));
+ save_item(NAME(m_yld3));
+ save_item(NAME(m_ball1_pic));
+ save_item(NAME(m_ball2_pic));
+ save_item(NAME(m_crow_pic));
+ save_item(NAME(m_crow_flip));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_controller));
+ save_item(NAME(m_hit));
/* sound */
- state->save_item(NAME(state->m_sound_nmi_enable));
+ save_item(NAME(m_sound_nmi_enable));
}
-static MACHINE_START( bking3 )
+MACHINE_START_MEMBER(bking_state,bking3)
{
- bking_state *state = machine.driver_data<bking_state>();
- MACHINE_START_CALL(bking);
+ bking_state::machine_start();
/* misc */
- state->save_item(NAME(state->m_addr_h));
- state->save_item(NAME(state->m_addr_l));
+ save_item(NAME(m_addr_h));
+ save_item(NAME(m_addr_l));
}
-static MACHINE_RESET( bking )
+void bking_state::machine_reset()
{
- bking_state *state = machine.driver_data<bking_state>();
/* video */
- state->m_pc3259_output[0] = 0;
- state->m_pc3259_output[1] = 0;
- state->m_pc3259_output[2] = 0;
- state->m_pc3259_output[3] = 0;
- state->m_pc3259_mask = 0;
- state->m_xld1 = 0;
- state->m_xld2 = 0;
- state->m_xld3 = 0;
- state->m_yld1 = 0;
- state->m_yld2 = 0;
- state->m_yld3 = 0;
- state->m_ball1_pic = 0;
- state->m_ball2_pic = 0;
- state->m_crow_pic = 0;
- state->m_crow_flip = 0;
- state->m_palette_bank = 0;
- state->m_controller = 0;
- state->m_hit = 0;
+ m_pc3259_output[0] = 0;
+ m_pc3259_output[1] = 0;
+ m_pc3259_output[2] = 0;
+ m_pc3259_output[3] = 0;
+ m_pc3259_mask = 0;
+ m_xld1 = 0;
+ m_xld2 = 0;
+ m_xld3 = 0;
+ m_yld1 = 0;
+ m_yld2 = 0;
+ m_yld3 = 0;
+ m_ball1_pic = 0;
+ m_ball2_pic = 0;
+ m_crow_pic = 0;
+ m_crow_flip = 0;
+ m_palette_bank = 0;
+ m_controller = 0;
+ m_hit = 0;
/* sound */
- state->m_sound_nmi_enable = 1;
+ m_sound_nmi_enable = 1;
}
-static MACHINE_RESET( bking3 )
+MACHINE_RESET_MEMBER(bking_state,bking3)
{
- bking_state *state = machine.driver_data<bking_state>();
- machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
+ machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
- MACHINE_RESET_CALL(bking);
+ bking_state::machine_reset();
/* misc */
- state->m_addr_h = 0;
- state->m_addr_l = 0;
+ m_addr_h = 0;
+ m_addr_l = 0;
}
static MACHINE_CONFIG_START( bking, bking_state )
@@ -482,8 +478,6 @@ static MACHINE_CONFIG_START( bking, bking_state )
/* - periodic IRQ, with frequency 6000000/(4*16*16*10*16) = 36.621 Hz, */
MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)6000000/(4*16*16*10*16))
- MCFG_MACHINE_START(bking)
- MCFG_MACHINE_RESET(bking)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -497,8 +491,6 @@ static MACHINE_CONFIG_START( bking, bking_state )
MCFG_GFXDECODE(bking)
MCFG_PALETTE_LENGTH(4*8+4*4+4*2+4*2)
- MCFG_PALETTE_INIT(bking)
- MCFG_VIDEO_START(bking)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -523,8 +515,8 @@ static MACHINE_CONFIG_DERIVED( bking3, bking )
MCFG_CPU_PROGRAM_MAP(buggychl_mcu_map)
MCFG_DEVICE_ADD("bmcu", BUGGYCHL_MCU, 0)
- MCFG_MACHINE_START(bking3)
- MCFG_MACHINE_RESET(bking3)
+ MCFG_MACHINE_START_OVERRIDE(bking_state,bking3)
+ MCFG_MACHINE_RESET_OVERRIDE(bking_state,bking3)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/blackt96.c b/src/mame/drivers/blackt96.c
index 55941f860b6..352d4215baa 100644
--- a/src/mame/drivers/blackt96.c
+++ b/src/mame/drivers/blackt96.c
@@ -130,6 +130,7 @@ public:
TILE_GET_INFO_MEMBER(get_bg5_tile_info);
TILE_GET_INFO_MEMBER(get_bg6_tile_info);
TILE_GET_INFO_MEMBER(get_bg7_tile_info);
+ virtual void video_start();
};
#define GET_INFO( ram ) \
@@ -159,27 +160,26 @@ WRITE16_MEMBER(blackt96_state::bg_videoram5_w) { COMBINE_DATA(&m_spriteram5[offs
WRITE16_MEMBER(blackt96_state::bg_videoram6_w) { COMBINE_DATA(&m_spriteram6[offset]); m_bg_tilemap[6]->mark_tile_dirty(offset/2); }
WRITE16_MEMBER(blackt96_state::bg_videoram7_w) { COMBINE_DATA(&m_spriteram7[offset]); m_bg_tilemap[7]->mark_tile_dirty(offset/2); }
-static VIDEO_START( blackt96 )
+void blackt96_state::video_start()
{
- blackt96_state *state = machine.driver_data<blackt96_state>();
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg0_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg2_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg3_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg_tilemap[4] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg4_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg_tilemap[5] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg5_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg_tilemap[6] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg6_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg_tilemap[7] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg7_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
-
- state->m_spriteram[0] = state->m_spriteram0;
- state->m_spriteram[1] = state->m_spriteram1;
- state->m_spriteram[2] = state->m_spriteram2;
- state->m_spriteram[3] = state->m_spriteram3;
- state->m_spriteram[4] = state->m_spriteram4;
- state->m_spriteram[5] = state->m_spriteram5;
- state->m_spriteram[6] = state->m_spriteram6;
- state->m_spriteram[7] = state->m_spriteram7;
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg0_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg1_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_bg_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg2_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_bg_tilemap[3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg3_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_bg_tilemap[4] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg4_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_bg_tilemap[5] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg5_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_bg_tilemap[6] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg6_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_bg_tilemap[7] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg7_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+
+ m_spriteram[0] = m_spriteram0;
+ m_spriteram[1] = m_spriteram1;
+ m_spriteram[2] = m_spriteram2;
+ m_spriteram[3] = m_spriteram3;
+ m_spriteram[4] = m_spriteram4;
+ m_spriteram[5] = m_spriteram5;
+ m_spriteram[6] = m_spriteram6;
+ m_spriteram[7] = m_spriteram7;
}
static void draw_strip(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int page, int column, int bg)
@@ -625,7 +625,6 @@ static MACHINE_CONFIG_START( blackt96, blackt96_state )
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(blackt96)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/bladestl.c b/src/mame/drivers/bladestl.c
index 7d5a9296c3c..2e612ac28e5 100644
--- a/src/mame/drivers/bladestl.c
+++ b/src/mame/drivers/bladestl.c
@@ -301,33 +301,31 @@ static const k007420_interface bladestl_k007420_intf =
};
-static MACHINE_START( bladestl )
+void bladestl_state::machine_start()
{
- bladestl_state *state = machine.driver_data<bladestl_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007342 = machine.device("k007342");
- state->m_k007420 = machine.device("k007420");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007342 = machine().device("k007342");
+ m_k007420 = machine().device("k007420");
- state->save_item(NAME(state->m_spritebank));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_last_track));
+ save_item(NAME(m_spritebank));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_last_track));
}
-static MACHINE_RESET( bladestl )
+void bladestl_state::machine_reset()
{
- bladestl_state *state = machine.driver_data<bladestl_state>();
int i;
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 1;
- state->m_spritebank = 0;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 1;
+ m_spritebank = 0;
for (i = 0; i < 4 ; i++)
- state->m_last_track[i] = 0;
+ m_last_track[i] = 0;
}
static MACHINE_CONFIG_START( bladestl, bladestl_state )
@@ -342,8 +340,6 @@ static MACHINE_CONFIG_START( bladestl, bladestl_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(bladestl)
- MCFG_MACHINE_RESET(bladestl)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -354,7 +350,6 @@ static MACHINE_CONFIG_START( bladestl, bladestl_state )
MCFG_SCREEN_UPDATE_STATIC(bladestl)
MCFG_GFXDECODE(bladestl)
- MCFG_PALETTE_INIT(bladestl)
MCFG_PALETTE_LENGTH(32 + 16*16)
MCFG_K007342_ADD("k007342", bladestl_k007342_intf)
diff --git a/src/mame/drivers/blitz.c b/src/mame/drivers/blitz.c
index 9cd27e039b6..53fd019dfb2 100644
--- a/src/mame/drivers/blitz.c
+++ b/src/mame/drivers/blitz.c
@@ -311,6 +311,8 @@ public:
DECLARE_WRITE8_MEMBER(lamps_a_w);
DECLARE_WRITE8_MEMBER(sound_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -352,10 +354,9 @@ TILE_GET_INFO_MEMBER(blitz_state::get_bg_tile_info)
}
-static VIDEO_START( megadpkr )
+void blitz_state::video_start()
{
- blitz_state *state = machine.driver_data<blitz_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blitz_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blitz_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( megadpkr )
@@ -366,9 +367,9 @@ static SCREEN_UPDATE_IND16( megadpkr )
}
-static PALETTE_INIT( megadpkr )
+void blitz_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/*
This hardware has a feature called BLUE KILLER.
Using the original intensity line, the PCB has a bridge
@@ -387,7 +388,7 @@ static PALETTE_INIT( megadpkr )
if (color_prom == 0) return;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0, bit1, bit2, bit3, r, g, b, bk;
@@ -407,7 +408,7 @@ static PALETTE_INIT( megadpkr )
bit2 = (color_prom[i] >> 2) & 0x01;
b = bk * (bit2 * 0xff);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -814,9 +815,7 @@ static MACHINE_CONFIG_START( megadpkr, blitz_state )
MCFG_MC6845_ADD("crtc", MC6845, CPU_CLOCK, mc6845_intf)
MCFG_GFXDECODE(megadpkr)
- MCFG_PALETTE_INIT(megadpkr)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(megadpkr)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/blitz68k.c b/src/mame/drivers/blitz68k.c
index e42343d09a8..6e701be6207 100644
--- a/src/mame/drivers/blitz68k.c
+++ b/src/mame/drivers/blitz68k.c
@@ -171,6 +171,8 @@ public:
DECLARE_DRIVER_INIT(megadblj);
DECLARE_DRIVER_INIT(hermit);
DECLARE_DRIVER_INIT(dualgame);
+ DECLARE_VIDEO_START(blitz68k);
+ DECLARE_VIDEO_START(blitz68k_addr_factor1);
};
/*************************************************************************************************************
@@ -192,16 +194,15 @@ struct blit_t
int addr_factor;
} blit;
-static VIDEO_START(blitz68k)
+VIDEO_START_MEMBER(blitz68k_state,blitz68k)
{
- blitz68k_state *state = machine.driver_data<blitz68k_state>();
- state->m_blit_buffer = auto_alloc_array(machine, UINT8, 512*256);
+ m_blit_buffer = auto_alloc_array(machine(), UINT8, 512*256);
blit.addr_factor = 2;
}
-static VIDEO_START(blitz68k_addr_factor1)
+VIDEO_START_MEMBER(blitz68k_state,blitz68k_addr_factor1)
{
- VIDEO_START_CALL(blitz68k);
+ VIDEO_START_CALL_MEMBER(blitz68k);
blit.addr_factor = 1;
}
@@ -1727,7 +1728,7 @@ static MACHINE_CONFIG_START( ilpag, blitz68k_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(blitz68k)
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
@@ -1802,7 +1803,7 @@ static MACHINE_CONFIG_START( cjffruit, blitz68k_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(blitz68k)
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1834,7 +1835,7 @@ static MACHINE_CONFIG_START( bankrob, blitz68k_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(blitz68k)
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1864,7 +1865,7 @@ static MACHINE_CONFIG_START( bankroba, blitz68k_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(blitz68k_addr_factor1)
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k_addr_factor1)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1893,7 +1894,7 @@ static MACHINE_CONFIG_START( deucesw2, blitz68k_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(blitz68k)
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1924,7 +1925,7 @@ static MACHINE_CONFIG_START( dualgame, blitz68k_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(blitz68k)
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1953,7 +1954,7 @@ static MACHINE_CONFIG_START( hermit, blitz68k_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(blitz68k)
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c
index 570ad95a5d2..4ea40332110 100644
--- a/src/mame/drivers/blktiger.c
+++ b/src/mame/drivers/blktiger.c
@@ -275,42 +275,40 @@ static const ym2203_interface ym2203_config =
DEVCB_LINE(irqhandler)
};
-static MACHINE_START( blktiger )
+void blktiger_state::machine_start()
{
- blktiger_state *state = machine.driver_data<blktiger_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
/* configure bankswitching */
- state->membank("bank1")->configure_entries(0, 16, state->memregion("maincpu")->base() + 0x10000, 0x4000);
-
- state->save_item(NAME(state->m_scroll_bank));
- state->save_item(NAME(state->m_screen_layout));
- state->save_item(NAME(state->m_chon));
- state->save_item(NAME(state->m_objon));
- state->save_item(NAME(state->m_bgon));
- state->save_item(NAME(state->m_z80_latch));
- state->save_item(NAME(state->m_i8751_latch));
- state->save_item(NAME(state->m_scroll_x));
- state->save_item(NAME(state->m_scroll_y));
+ membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
+
+ save_item(NAME(m_scroll_bank));
+ save_item(NAME(m_screen_layout));
+ save_item(NAME(m_chon));
+ save_item(NAME(m_objon));
+ save_item(NAME(m_bgon));
+ save_item(NAME(m_z80_latch));
+ save_item(NAME(m_i8751_latch));
+ save_item(NAME(m_scroll_x));
+ save_item(NAME(m_scroll_y));
}
-static MACHINE_RESET( blktiger )
+void blktiger_state::machine_reset()
{
- blktiger_state *state = machine.driver_data<blktiger_state>();
/* configure bankswitching */
- state->membank("bank1")->configure_entries(0, 16, state->memregion("maincpu")->base() + 0x10000, 0x4000);
-
- state->m_scroll_x[0] = 0;
- state->m_scroll_x[1] = 0;
- state->m_scroll_y[0] = 0;
- state->m_scroll_y[1] = 0;
- state->m_scroll_bank = 0;
- state->m_screen_layout = 0;
- state->m_z80_latch = 0;
- state->m_i8751_latch = 0;
+ membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
+
+ m_scroll_x[0] = 0;
+ m_scroll_x[1] = 0;
+ m_scroll_y[0] = 0;
+ m_scroll_y[1] = 0;
+ m_scroll_bank = 0;
+ m_screen_layout = 0;
+ m_z80_latch = 0;
+ m_i8751_latch = 0;
}
static MACHINE_CONFIG_START( blktiger, blktiger_state )
@@ -329,8 +327,6 @@ static MACHINE_CONFIG_START( blktiger, blktiger_state )
MCFG_CPU_IO_MAP(blktiger_mcu_io_map)
//MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(blktiger)
- MCFG_MACHINE_RESET(blktiger)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -344,7 +340,6 @@ static MACHINE_CONFIG_START( blktiger, blktiger_state )
MCFG_GFXDECODE(blktiger)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(blktiger)
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
diff --git a/src/mame/drivers/blmbycar.c b/src/mame/drivers/blmbycar.c
index 9f5acc4d0a4..840572d22d7 100644
--- a/src/mame/drivers/blmbycar.c
+++ b/src/mame/drivers/blmbycar.c
@@ -335,20 +335,18 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_START( blmbycar )
+MACHINE_START_MEMBER(blmbycar_state,blmbycar)
{
- blmbycar_state *state = machine.driver_data<blmbycar_state>();
- state->save_item(NAME(state->m_pot_wheel));
- state->save_item(NAME(state->m_old_val));
+ save_item(NAME(m_pot_wheel));
+ save_item(NAME(m_old_val));
}
-static MACHINE_RESET( blmbycar )
+MACHINE_RESET_MEMBER(blmbycar_state,blmbycar)
{
- blmbycar_state *state = machine.driver_data<blmbycar_state>();
- state->m_pot_wheel = 0;
- state->m_old_val = 0;
+ m_pot_wheel = 0;
+ m_old_val = 0;
}
@@ -359,8 +357,8 @@ static MACHINE_CONFIG_START( blmbycar, blmbycar_state )
MCFG_CPU_PROGRAM_MAP(blmbycar_map)
MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)
- MCFG_MACHINE_START(blmbycar)
- MCFG_MACHINE_RESET(blmbycar)
+ MCFG_MACHINE_START_OVERRIDE(blmbycar_state,blmbycar)
+ MCFG_MACHINE_RESET_OVERRIDE(blmbycar_state,blmbycar)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -373,7 +371,6 @@ static MACHINE_CONFIG_START( blmbycar, blmbycar_state )
MCFG_GFXDECODE(blmbycar)
MCFG_PALETTE_LENGTH(0x300)
- MCFG_VIDEO_START(blmbycar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -384,18 +381,16 @@ static MACHINE_CONFIG_START( blmbycar, blmbycar_state )
MACHINE_CONFIG_END
-static MACHINE_START( watrball )
+MACHINE_START_MEMBER(blmbycar_state,watrball)
{
- blmbycar_state *state = machine.driver_data<blmbycar_state>();
- state->save_item(NAME(state->m_retvalue));
+ save_item(NAME(m_retvalue));
}
-static MACHINE_RESET( watrball )
+MACHINE_RESET_MEMBER(blmbycar_state,watrball)
{
- blmbycar_state *state = machine.driver_data<blmbycar_state>();
- state->m_retvalue = 0;
+ m_retvalue = 0;
}
static MACHINE_CONFIG_START( watrball, blmbycar_state )
@@ -405,8 +400,8 @@ static MACHINE_CONFIG_START( watrball, blmbycar_state )
MCFG_CPU_PROGRAM_MAP(watrball_map)
MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)
- MCFG_MACHINE_START(watrball)
- MCFG_MACHINE_RESET(watrball)
+ MCFG_MACHINE_START_OVERRIDE(blmbycar_state,watrball)
+ MCFG_MACHINE_RESET_OVERRIDE(blmbycar_state,watrball)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -419,7 +414,6 @@ static MACHINE_CONFIG_START( watrball, blmbycar_state )
MCFG_GFXDECODE(blmbycar)
MCFG_PALETTE_LENGTH(0x300)
- MCFG_VIDEO_START(blmbycar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/blockade.c b/src/mame/drivers/blockade.c
index 49ee1fc5965..a19d7cc77e6 100644
--- a/src/mame/drivers/blockade.c
+++ b/src/mame/drivers/blockade.c
@@ -439,10 +439,10 @@ static GFXDECODE_START( blasto )
GFXDECODE_ENTRY( "gfx1", 0x0000, blasto_layout, 0, 1 )
GFXDECODE_END
-static PALETTE_INIT( blockade )
+void blockade_state::palette_init()
{
- palette_set_color(machine,0,MAKE_RGB(0x00,0x00,0x00)); /* BLACK */
- palette_set_color(machine,1,MAKE_RGB(0xff,0xff,0xff)); /* WHITE */
+ palette_set_color(machine(),0,MAKE_RGB(0x00,0x00,0x00)); /* BLACK */
+ palette_set_color(machine(),1,MAKE_RGB(0xff,0xff,0xff)); /* WHITE */
}
@@ -452,20 +452,18 @@ static PALETTE_INIT( blockade )
*
*************************************/
-static MACHINE_START( blockade )
+void blockade_state::machine_start()
{
- blockade_state *state = machine.driver_data<blockade_state>();
- state->save_item(NAME(state->m_coin_latch));
- state->save_item(NAME(state->m_just_been_reset));
+ save_item(NAME(m_coin_latch));
+ save_item(NAME(m_just_been_reset));
}
-static MACHINE_RESET( blockade )
+void blockade_state::machine_reset()
{
- blockade_state *state = machine.driver_data<blockade_state>();
- state->m_coin_latch = 1;
- state->m_just_been_reset = 0;
+ m_coin_latch = 1;
+ m_just_been_reset = 0;
}
static MACHINE_CONFIG_START( blockade, blockade_state )
@@ -476,8 +474,6 @@ static MACHINE_CONFIG_START( blockade, blockade_state )
MCFG_CPU_IO_MAP(main_io_map)
MCFG_CPU_VBLANK_INT("screen", blockade_interrupt)
- MCFG_MACHINE_START(blockade)
- MCFG_MACHINE_RESET(blockade)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -490,8 +486,6 @@ static MACHINE_CONFIG_START( blockade, blockade_state )
MCFG_GFXDECODE(blockade)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(blockade)
- MCFG_VIDEO_START(blockade)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/blockhl.c b/src/mame/drivers/blockhl.c
index fa53f9e224a..05aaf75c538 100644
--- a/src/mame/drivers/blockhl.c
+++ b/src/mame/drivers/blockhl.c
@@ -186,30 +186,28 @@ static const k051960_interface blockhl_k051960_intf =
blockhl_sprite_callback
};
-static MACHINE_START( blockhl )
+void blockhl_state::machine_start()
{
- blockhl_state *state = machine.driver_data<blockhl_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
- state->save_item(NAME(state->m_palette_selected));
- state->save_item(NAME(state->m_rombank));
+ save_item(NAME(m_palette_selected));
+ save_item(NAME(m_rombank));
}
-static MACHINE_RESET( blockhl )
+void blockhl_state::machine_reset()
{
- blockhl_state *state = machine.driver_data<blockhl_state>();
- konami_configure_set_lines(machine.device("maincpu"), blockhl_banking);
+ konami_configure_set_lines(machine().device("maincpu"), blockhl_banking);
- state->m_palette_selected = 0;
- state->m_rombank = 0;
+ m_palette_selected = 0;
+ m_rombank = 0;
}
static MACHINE_CONFIG_START( blockhl, blockhl_state )
@@ -222,8 +220,6 @@ static MACHINE_CONFIG_START( blockhl, blockhl_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(audio_map)
- MCFG_MACHINE_START(blockhl)
- MCFG_MACHINE_RESET(blockhl)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -237,7 +233,6 @@ static MACHINE_CONFIG_START( blockhl, blockhl_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(blockhl)
MCFG_K052109_ADD("k052109", blockhl_k052109_intf)
MCFG_K051960_ADD("k051960", blockhl_k051960_intf)
diff --git a/src/mame/drivers/blockout.c b/src/mame/drivers/blockout.c
index 1ea6719df85..00633d433b3 100644
--- a/src/mame/drivers/blockout.c
+++ b/src/mame/drivers/blockout.c
@@ -278,21 +278,19 @@ static const ym2151_interface ym2151_config =
*
*************************************/
-static MACHINE_START( blockout )
+void blockout_state::machine_start()
{
- blockout_state *state = machine.driver_data<blockout_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_color));
+ save_item(NAME(m_color));
}
-static MACHINE_RESET( blockout )
+void blockout_state::machine_reset()
{
- blockout_state *state = machine.driver_data<blockout_state>();
- state->m_color = 0;
+ m_color = 0;
}
static TIMER_DEVICE_CALLBACK( blockout_scanline )
@@ -317,8 +315,6 @@ static MACHINE_CONFIG_START( blockout, blockout_state )
MCFG_CPU_ADD("audiocpu", Z80, AUDIO_CLOCK) /* 3.579545 MHz */
MCFG_CPU_PROGRAM_MAP(audio_map)
- MCFG_MACHINE_START(blockout)
- MCFG_MACHINE_RESET(blockout)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -330,7 +326,6 @@ static MACHINE_CONFIG_START( blockout, blockout_state )
MCFG_PALETTE_LENGTH(513)
- MCFG_VIDEO_START(blockout)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/bloodbro.c b/src/mame/drivers/bloodbro.c
index b39c8a9c7ef..d5d462376f7 100644
--- a/src/mame/drivers/bloodbro.c
+++ b/src/mame/drivers/bloodbro.c
@@ -454,7 +454,6 @@ static MACHINE_CONFIG_START( bloodbro, bloodbro_state )
MCFG_GFXDECODE(bloodbro)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(bloodbro)
// sound hardware
SEIBU_SOUND_SYSTEM_YM3812_RAIDEN_INTERFACE(XTAL_7_15909MHz/2, XTAL_12MHz/12)
diff --git a/src/mame/drivers/blstroid.c b/src/mame/drivers/blstroid.c
index bbd838cf680..4cc18aa8220 100644
--- a/src/mame/drivers/blstroid.c
+++ b/src/mame/drivers/blstroid.c
@@ -47,19 +47,18 @@ WRITE16_MEMBER(blstroid_state::blstroid_halt_until_hblank_0_w)
}
-static MACHINE_START( blstroid )
+MACHINE_START_MEMBER(blstroid_state,blstroid)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( blstroid )
+MACHINE_RESET_MEMBER(blstroid_state,blstroid)
{
- blstroid_state *state = machine.driver_data<blstroid_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, blstroid_scanline_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, blstroid_scanline_update, 8);
atarijsa_reset();
}
@@ -207,8 +206,8 @@ static MACHINE_CONFIG_START( blstroid, blstroid_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(blstroid)
- MCFG_MACHINE_RESET(blstroid)
+ MCFG_MACHINE_START_OVERRIDE(blstroid_state,blstroid)
+ MCFG_MACHINE_RESET_OVERRIDE(blstroid_state,blstroid)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -222,7 +221,7 @@ static MACHINE_CONFIG_START( blstroid, blstroid_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz, 456*2, 0, 320*2, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(blstroid)
- MCFG_VIDEO_START(blstroid)
+ MCFG_VIDEO_START_OVERRIDE(blstroid_state,blstroid)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_stereo)
diff --git a/src/mame/drivers/blueprnt.c b/src/mame/drivers/blueprnt.c
index 4ca76660a32..be92f5ebdb4 100644
--- a/src/mame/drivers/blueprnt.c
+++ b/src/mame/drivers/blueprnt.c
@@ -275,21 +275,19 @@ static const ay8910_interface ay8910_interface_2 =
*
*************************************/
-static MACHINE_START( blueprnt )
+void blueprnt_state::machine_start()
{
- blueprnt_state *state = machine.driver_data<blueprnt_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_dipsw));
+ save_item(NAME(m_dipsw));
}
-static MACHINE_RESET( blueprnt )
+void blueprnt_state::machine_reset()
{
- blueprnt_state *state = machine.driver_data<blueprnt_state>();
- state->m_gfx_bank = 0;
- state->m_dipsw = 0;
+ m_gfx_bank = 0;
+ m_dipsw = 0;
}
@@ -305,8 +303,6 @@ static MACHINE_CONFIG_START( blueprnt, blueprnt_state )
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) // IRQs connected to 32V
// NMIs are caused by the main CPU
- MCFG_MACHINE_START(blueprnt)
- MCFG_MACHINE_RESET(blueprnt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -319,8 +315,6 @@ static MACHINE_CONFIG_START( blueprnt, blueprnt_state )
MCFG_GFXDECODE(blueprnt)
MCFG_PALETTE_LENGTH(128*4+8)
- MCFG_PALETTE_INIT(blueprnt)
- MCFG_VIDEO_START(blueprnt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/bmcbowl.c b/src/mame/drivers/bmcbowl.c
index 0e374573a19..804ebdc30d1 100644
--- a/src/mame/drivers/bmcbowl.c
+++ b/src/mame/drivers/bmcbowl.c
@@ -135,6 +135,8 @@ public:
DECLARE_READ8_MEMBER(dips1_r);
DECLARE_WRITE8_MEMBER(input_mux_w);
DECLARE_DRIVER_INIT(bmcbowl);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -142,7 +144,7 @@ public:
#define NVRAM_HACK
-static VIDEO_START( bmcbowl )
+void bmcbowl_state::video_start()
{
}
@@ -494,7 +496,7 @@ static const via6522_interface via_interface =
/*irq */ DEVCB_DRIVER_MEMBER(bmcbowl_state,via_irq)
};
-static MACHINE_RESET( bmcbowl )
+void bmcbowl_state::machine_reset()
{
}
@@ -512,10 +514,8 @@ static MACHINE_CONFIG_START( bmcbowl, bmcbowl_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(bmcbowl)
MCFG_NVRAM_HANDLER(bmcbowl)
- MCFG_MACHINE_RESET(bmcbowl)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/bmcpokr.c b/src/mame/drivers/bmcpokr.c
index 2111acc7d9f..b9dc2ccca9a 100644
--- a/src/mame/drivers/bmcpokr.c
+++ b/src/mame/drivers/bmcpokr.c
@@ -59,6 +59,7 @@ public:
required_device<cpu_device> m_maincpu;
required_shared_ptr<UINT16> m_videoram;
+ virtual void video_start();
};
@@ -220,7 +221,7 @@ SCREEN_UPDATE_IND16( bmcpokr )
return 0;
}
-VIDEO_START(bmcpokr)
+void bmcpokr_state::video_start()
{
}
@@ -242,7 +243,6 @@ static MACHINE_CONFIG_START( bmcpokr, bmcpokr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(bmcpokr)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bnstars.c b/src/mame/drivers/bnstars.c
index ed86bd1a57b..e5203e771ac 100644
--- a/src/mame/drivers/bnstars.c
+++ b/src/mame/drivers/bnstars.c
@@ -153,6 +153,8 @@ public:
TILE_GET_INFO_MEMBER(get_ms32_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_ms32_roz0_tile_info);
TILE_GET_INFO_MEMBER(get_ms32_roz1_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -504,23 +506,22 @@ WRITE32_MEMBER(bnstars_state::ms32_spramx_w)
}
-static VIDEO_START(bnstars)
+void bnstars_state::video_start()
{
- bnstars_state *state = machine.driver_data<bnstars_state>();
- state->m_ms32_tx_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_tx0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,64);
- state->m_ms32_tx_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_tx1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,64);
- state->m_ms32_tx_tilemap[0]->set_transparent_pen(0);
- state->m_ms32_tx_tilemap[1]->set_transparent_pen(0);
+ m_ms32_tx_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_tx0_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,64);
+ m_ms32_tx_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_tx1_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,64);
+ m_ms32_tx_tilemap[0]->set_transparent_pen(0);
+ m_ms32_tx_tilemap[1]->set_transparent_pen(0);
- state->m_ms32_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_bg0_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,64);
- state->m_ms32_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_bg1_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,64);
- state->m_ms32_bg_tilemap[0]->set_transparent_pen(0);
- state->m_ms32_bg_tilemap[1]->set_transparent_pen(0);
+ m_ms32_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_bg0_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,64);
+ m_ms32_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_bg1_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,64);
+ m_ms32_bg_tilemap[0]->set_transparent_pen(0);
+ m_ms32_bg_tilemap[1]->set_transparent_pen(0);
- state->m_ms32_roz_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_roz0_tile_info),state),TILEMAP_SCAN_ROWS,16,16,128,128);
- state->m_ms32_roz_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_roz1_tile_info),state),TILEMAP_SCAN_ROWS,16,16,128,128);
- state->m_ms32_roz_tilemap[0]->set_transparent_pen(0);
- state->m_ms32_roz_tilemap[1]->set_transparent_pen(0);
+ m_ms32_roz_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_roz0_tile_info),this),TILEMAP_SCAN_ROWS,16,16,128,128);
+ m_ms32_roz_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_roz1_tile_info),this),TILEMAP_SCAN_ROWS,16,16,128,128);
+ m_ms32_roz_tilemap[0]->set_transparent_pen(0);
+ m_ms32_roz_tilemap[1]->set_transparent_pen(0);
}
@@ -1366,9 +1367,9 @@ static TIMER_DEVICE_CALLBACK(ms32_interrupt)
if( (scanline % 8) == 0 && scanline <= 224 ) irq_raise(timer.machine(), 0);
}
-static MACHINE_RESET( ms32 )
+void bnstars_state::machine_reset()
{
- irq_init(machine);
+ irq_init(machine());
}
@@ -1384,7 +1385,6 @@ static MACHINE_CONFIG_START( bnstars, bnstars_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60000))
- MCFG_MACHINE_RESET(ms32)
MCFG_GFXDECODE(bnstars)
MCFG_PALETTE_LENGTH(0x8000*2)
@@ -1405,7 +1405,6 @@ static MACHINE_CONFIG_START( bnstars, bnstars_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_STATIC(bnstars_right)
- MCFG_VIDEO_START(bnstars)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/bogeyman.c b/src/mame/drivers/bogeyman.c
index e947d5dd261..80ea4db1bdd 100644
--- a/src/mame/drivers/bogeyman.c
+++ b/src/mame/drivers/bogeyman.c
@@ -202,20 +202,18 @@ GFXDECODE_END
/* Machine Driver */
-static MACHINE_START( bogeyman )
+void bogeyman_state::machine_start()
{
- bogeyman_state *state = machine.driver_data<bogeyman_state>();
- state->save_item(NAME(state->m_psg_latch));
- state->save_item(NAME(state->m_last_write));
+ save_item(NAME(m_psg_latch));
+ save_item(NAME(m_last_write));
}
-static MACHINE_RESET( bogeyman )
+void bogeyman_state::machine_reset()
{
- bogeyman_state *state = machine.driver_data<bogeyman_state>();
- state->m_psg_latch = 0;
- state->m_last_write = 0;
+ m_psg_latch = 0;
+ m_last_write = 0;
}
WRITE8_MEMBER(bogeyman_state::bogeyman_colbank_w)
@@ -245,8 +243,6 @@ static MACHINE_CONFIG_START( bogeyman, bogeyman_state )
MCFG_CPU_PROGRAM_MAP(bogeyman_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 16*60) // Controls sound
- MCFG_MACHINE_START(bogeyman)
- MCFG_MACHINE_RESET(bogeyman)
// video hardware
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -261,8 +257,6 @@ static MACHINE_CONFIG_START( bogeyman, bogeyman_state )
MCFG_GFXDECODE(bogeyman)
MCFG_PALETTE_LENGTH(16+256)
- MCFG_PALETTE_INIT(bogeyman)
- MCFG_VIDEO_START(bogeyman)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/bombjack.c b/src/mame/drivers/bombjack.c
index fa3b91586f2..7d712f285a6 100644
--- a/src/mame/drivers/bombjack.c
+++ b/src/mame/drivers/bombjack.c
@@ -331,21 +331,19 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( bombjack )
+void bombjack_state::machine_start()
{
- bombjack_state *state = machine.driver_data<bombjack_state>();
- state->save_item(NAME(state->m_latch));
- state->save_item(NAME(state->m_background_image));
+ save_item(NAME(m_latch));
+ save_item(NAME(m_background_image));
}
-static MACHINE_RESET( bombjack )
+void bombjack_state::machine_reset()
{
- bombjack_state *state = machine.driver_data<bombjack_state>();
- state->m_latch = 0;
- state->m_background_image = 0;
+ m_latch = 0;
+ m_background_image = 0;
}
@@ -369,8 +367,6 @@ static MACHINE_CONFIG_START( bombjack, bombjack_state )
MCFG_CPU_IO_MAP(audio_io_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MCFG_MACHINE_START(bombjack)
- MCFG_MACHINE_RESET(bombjack)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -383,7 +379,6 @@ static MACHINE_CONFIG_START( bombjack, bombjack_state )
MCFG_GFXDECODE(bombjack)
MCFG_PALETTE_LENGTH(128)
- MCFG_VIDEO_START(bombjack)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/boogwing.c b/src/mame/drivers/boogwing.c
index 040be8d428b..7bc6501d96c 100644
--- a/src/mame/drivers/boogwing.c
+++ b/src/mame/drivers/boogwing.c
@@ -359,7 +359,6 @@ static MACHINE_CONFIG_START( boogwing, boogwing_state )
MCFG_PALETTE_LENGTH(2048)
MCFG_GFXDECODE(boogwing)
- MCFG_VIDEO_START(boogwing)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
diff --git a/src/mame/drivers/bottom9.c b/src/mame/drivers/bottom9.c
index 4ae64346731..aec462323cf 100644
--- a/src/mame/drivers/bottom9.c
+++ b/src/mame/drivers/bottom9.c
@@ -319,35 +319,33 @@ static const k051316_interface bottom9_k051316_intf =
bottom9_zoom_callback
};
-static MACHINE_START( bottom9 )
+void bottom9_state::machine_start()
{
- bottom9_state *state = machine.driver_data<bottom9_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
-
- state->membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
- state->m_k051316 = machine.device("k051316");
- state->m_k007232_1 = machine.device("k007232_1");
- state->m_k007232_2 = machine.device("k007232_2");
-
- state->save_item(NAME(state->m_video_enable));
- state->save_item(NAME(state->m_zoomreadroms));
- state->save_item(NAME(state->m_k052109_selected));
- state->save_item(NAME(state->m_nmienable));
+ UINT8 *ROM = memregion("maincpu")->base();
+
+ membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
+ m_k051316 = machine().device("k051316");
+ m_k007232_1 = machine().device("k007232_1");
+ m_k007232_2 = machine().device("k007232_2");
+
+ save_item(NAME(m_video_enable));
+ save_item(NAME(m_zoomreadroms));
+ save_item(NAME(m_k052109_selected));
+ save_item(NAME(m_nmienable));
}
-static MACHINE_RESET( bottom9 )
+void bottom9_state::machine_reset()
{
- bottom9_state *state = machine.driver_data<bottom9_state>();
- state->m_video_enable = 0;
- state->m_zoomreadroms = 0;
- state->m_k052109_selected = 0;
- state->m_nmienable = 0;
+ m_video_enable = 0;
+ m_zoomreadroms = 0;
+ m_k052109_selected = 0;
+ m_nmienable = 0;
}
static MACHINE_CONFIG_START( bottom9, bottom9_state )
@@ -361,8 +359,6 @@ static MACHINE_CONFIG_START( bottom9, bottom9_state )
MCFG_CPU_PROGRAM_MAP(audio_map)
MCFG_CPU_PERIODIC_INT(bottom9_sound_interrupt,8*60) /* irq is triggered by the main CPU */
- MCFG_MACHINE_START(bottom9)
- MCFG_MACHINE_RESET(bottom9)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -376,7 +372,6 @@ static MACHINE_CONFIG_START( bottom9, bottom9_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(bottom9)
MCFG_K052109_ADD("k052109", bottom9_k052109_intf)
MCFG_K051960_ADD("k051960", bottom9_k051960_intf)
diff --git a/src/mame/drivers/boxer.c b/src/mame/drivers/boxer.c
index beabae8fdb6..39d033416b7 100644
--- a/src/mame/drivers/boxer.c
+++ b/src/mame/drivers/boxer.c
@@ -46,6 +46,9 @@ public:
DECLARE_WRITE8_MEMBER(boxer_irq_reset_w);
DECLARE_WRITE8_MEMBER(boxer_crowd_w);
DECLARE_WRITE8_MEMBER(boxer_led_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*************************************
@@ -110,13 +113,13 @@ static TIMER_CALLBACK( periodic_callback )
*
*************************************/
-static PALETTE_INIT( boxer )
+void boxer_state::palette_init()
{
- palette_set_color(machine,0, MAKE_RGB(0x00,0x00,0x00));
- palette_set_color(machine,1, MAKE_RGB(0xff,0xff,0xff));
+ palette_set_color(machine(),0, MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color(machine(),1, MAKE_RGB(0xff,0xff,0xff));
- palette_set_color(machine,2, MAKE_RGB(0xff,0xff,0xff));
- palette_set_color(machine,3, MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color(machine(),2, MAKE_RGB(0xff,0xff,0xff));
+ palette_set_color(machine(),3, MAKE_RGB(0x00,0x00,0x00));
}
static void draw_boxer( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -422,23 +425,21 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( boxer )
+void boxer_state::machine_start()
{
- boxer_state *state = machine.driver_data<boxer_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_pot_state));
- state->save_item(NAME(state->m_pot_latch));
+ save_item(NAME(m_pot_state));
+ save_item(NAME(m_pot_latch));
}
-static MACHINE_RESET( boxer )
+void boxer_state::machine_reset()
{
- boxer_state *state = machine.driver_data<boxer_state>();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(0), FUNC(periodic_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(periodic_callback));
- state->m_pot_state = 0;
- state->m_pot_latch = 0;
+ m_pot_state = 0;
+ m_pot_latch = 0;
}
@@ -448,8 +449,6 @@ static MACHINE_CONFIG_START( boxer, boxer_state )
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 16)
MCFG_CPU_PROGRAM_MAP(boxer_map)
- MCFG_MACHINE_START(boxer)
- MCFG_MACHINE_RESET(boxer)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -460,7 +459,6 @@ static MACHINE_CONFIG_START( boxer, boxer_state )
MCFG_GFXDECODE(boxer)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(boxer)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/brkthru.c b/src/mame/drivers/brkthru.c
index 39a26245eed..7bebce964b9 100644
--- a/src/mame/drivers/brkthru.c
+++ b/src/mame/drivers/brkthru.c
@@ -362,25 +362,23 @@ static const ym3526_interface ym3526_config =
*
*************************************/
-static MACHINE_START( brkthru )
+void brkthru_state::machine_start()
{
- brkthru_state *state = machine.driver_data<brkthru_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_bgscroll));
- state->save_item(NAME(state->m_bgbasecolor));
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_bgscroll));
+ save_item(NAME(m_bgbasecolor));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( brkthru )
+void brkthru_state::machine_reset()
{
- brkthru_state *state = machine.driver_data<brkthru_state>();
- state->m_bgscroll = 0;
- state->m_bgbasecolor = 0;
- state->m_flipscreen = 0;
+ m_bgscroll = 0;
+ m_bgbasecolor = 0;
+ m_flipscreen = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -401,8 +399,6 @@ static MACHINE_CONFIG_START( brkthru, brkthru_state )
MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(brkthru)
- MCFG_MACHINE_RESET(brkthru)
/* video hardware */
MCFG_GFXDECODE(brkthru)
@@ -413,8 +409,6 @@ static MACHINE_CONFIG_START( brkthru, brkthru_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 384, 8, 248, 272, 8, 248)
MCFG_SCREEN_UPDATE_STATIC(brkthru)
- MCFG_PALETTE_INIT(brkthru)
- MCFG_VIDEO_START(brkthru)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -441,8 +435,6 @@ static MACHINE_CONFIG_START( darwin, brkthru_state )
MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(brkthru)
- MCFG_MACHINE_RESET(brkthru)
/* video hardware */
MCFG_GFXDECODE(brkthru)
@@ -464,8 +456,6 @@ static MACHINE_CONFIG_START( darwin, brkthru_state )
tuned by Shingo SUZUKI(VSyncMAME Project) 2000/10/19 */
MCFG_SCREEN_UPDATE_STATIC(brkthru)
- MCFG_PALETTE_INIT(brkthru)
- MCFG_VIDEO_START(brkthru)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/bsktball.c b/src/mame/drivers/bsktball.c
index a91246c628f..5aa482356e3 100644
--- a/src/mame/drivers/bsktball.c
+++ b/src/mame/drivers/bsktball.c
@@ -35,33 +35,33 @@
*
*************************************/
-static PALETTE_INIT( bsktball )
+void bsktball_state::palette_init()
{
int i;
- machine.colortable = colortable_alloc(machine, 4);
+ machine().colortable = colortable_alloc(machine(), 4);
- colortable_palette_set_color(machine.colortable,0,MAKE_RGB(0x00,0x00,0x00)); /* BLACK */
- colortable_palette_set_color(machine.colortable,1,MAKE_RGB(0x80,0x80,0x80)); /* LIGHT GREY */
- colortable_palette_set_color(machine.colortable,2,MAKE_RGB(0x50,0x50,0x50)); /* DARK GREY */
- colortable_palette_set_color(machine.colortable,3,MAKE_RGB(0xff,0xff,0xff)); /* WHITE */
+ colortable_palette_set_color(machine().colortable,0,MAKE_RGB(0x00,0x00,0x00)); /* BLACK */
+ colortable_palette_set_color(machine().colortable,1,MAKE_RGB(0x80,0x80,0x80)); /* LIGHT GREY */
+ colortable_palette_set_color(machine().colortable,2,MAKE_RGB(0x50,0x50,0x50)); /* DARK GREY */
+ colortable_palette_set_color(machine().colortable,3,MAKE_RGB(0xff,0xff,0xff)); /* WHITE */
/* playfield */
for (i = 0; i < 2; i++)
{
- colortable_entry_set_value(machine.colortable, i*4 + 0, 1);
- colortable_entry_set_value(machine.colortable, i*4 + 1, 3 * i);
- colortable_entry_set_value(machine.colortable, i*4 + 2, 3 * i);
- colortable_entry_set_value(machine.colortable, i*4 + 3, 3 * i);
+ colortable_entry_set_value(machine().colortable, i*4 + 0, 1);
+ colortable_entry_set_value(machine().colortable, i*4 + 1, 3 * i);
+ colortable_entry_set_value(machine().colortable, i*4 + 2, 3 * i);
+ colortable_entry_set_value(machine().colortable, i*4 + 3, 3 * i);
}
/* motion */
for (i = 0; i < 4*4*4; i++)
{
- colortable_entry_set_value(machine.colortable, 2*4 + i*4 + 0, 1);
- colortable_entry_set_value(machine.colortable, 2*4 + i*4 + 1, (i >> 2) & 3);
- colortable_entry_set_value(machine.colortable, 2*4 + i*4 + 2, (i >> 0) & 3);
- colortable_entry_set_value(machine.colortable, 2*4 + i*4 + 3, (i >> 4) & 3);
+ colortable_entry_set_value(machine().colortable, 2*4 + i*4 + 0, 1);
+ colortable_entry_set_value(machine().colortable, 2*4 + i*4 + 1, (i >> 2) & 3);
+ colortable_entry_set_value(machine().colortable, 2*4 + i*4 + 2, (i >> 0) & 3);
+ colortable_entry_set_value(machine().colortable, 2*4 + i*4 + 3, (i >> 4) & 3);
}
}
@@ -209,40 +209,38 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( bsktball )
+void bsktball_state::machine_start()
{
- bsktball_state *state = machine.driver_data<bsktball_state>();
-
- state->save_item(NAME(state->m_nmi_on));
-// state->save_item(NAME(state->m_i256v));
- state->save_item(NAME(state->m_ld1));
- state->save_item(NAME(state->m_ld2));
- state->save_item(NAME(state->m_dir0));
- state->save_item(NAME(state->m_dir1));
- state->save_item(NAME(state->m_dir2));
- state->save_item(NAME(state->m_dir3));
- state->save_item(NAME(state->m_last_p1_horiz));
- state->save_item(NAME(state->m_last_p1_vert));
- state->save_item(NAME(state->m_last_p2_horiz));
- state->save_item(NAME(state->m_last_p2_vert));
+
+ save_item(NAME(m_nmi_on));
+// save_item(NAME(m_i256v));
+ save_item(NAME(m_ld1));
+ save_item(NAME(m_ld2));
+ save_item(NAME(m_dir0));
+ save_item(NAME(m_dir1));
+ save_item(NAME(m_dir2));
+ save_item(NAME(m_dir3));
+ save_item(NAME(m_last_p1_horiz));
+ save_item(NAME(m_last_p1_vert));
+ save_item(NAME(m_last_p2_horiz));
+ save_item(NAME(m_last_p2_vert));
}
-static MACHINE_RESET( bsktball )
+void bsktball_state::machine_reset()
{
- bsktball_state *state = machine.driver_data<bsktball_state>();
-
- state->m_nmi_on = 0;
-// state->m_i256v = 0;
- state->m_ld1 = 0;
- state->m_ld2 = 0;
- state->m_dir0 = 0;
- state->m_dir1 = 0;
- state->m_dir2 = 0;
- state->m_dir3 = 0;
- state->m_last_p1_horiz = 0;
- state->m_last_p1_vert = 0;
- state->m_last_p2_horiz = 0;
- state->m_last_p2_vert = 0;
+
+ m_nmi_on = 0;
+// m_i256v = 0;
+ m_ld1 = 0;
+ m_ld2 = 0;
+ m_dir0 = 0;
+ m_dir1 = 0;
+ m_dir2 = 0;
+ m_dir3 = 0;
+ m_last_p1_horiz = 0;
+ m_last_p1_vert = 0;
+ m_last_p2_horiz = 0;
+ m_last_p2_vert = 0;
}
@@ -253,8 +251,6 @@ static MACHINE_CONFIG_START( bsktball, bsktball_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", bsktball_scanline, "screen", 0, 1)
- MCFG_MACHINE_START(bsktball)
- MCFG_MACHINE_RESET(bsktball)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -267,8 +263,6 @@ static MACHINE_CONFIG_START( bsktball, bsktball_state )
MCFG_GFXDECODE(bsktball)
MCFG_PALETTE_LENGTH(2*4 + 4*4*4*4)
- MCFG_PALETTE_INIT(bsktball)
- MCFG_VIDEO_START(bsktball)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/btime.c b/src/mame/drivers/btime.c
index 9a806d4f2ca..3dd318c9e42 100644
--- a/src/mame/drivers/btime.c
+++ b/src/mame/drivers/btime.c
@@ -1396,68 +1396,63 @@ static DISCRETE_SOUND_START( btime_sound )
DISCRETE_SOUND_END
-static MACHINE_START( btime )
+MACHINE_START_MEMBER(btime_state,btime)
{
- btime_state *state = machine.driver_data<btime_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_btime_palette));
- state->save_item(NAME(state->m_bnj_scroll1));
- state->save_item(NAME(state->m_bnj_scroll2));
- state->save_item(NAME(state->m_btime_tilemap));
- state->save_item(NAME(state->m_audio_nmi_enabled));
- state->save_item(NAME(state->m_audio_nmi_state));
+ save_item(NAME(m_btime_palette));
+ save_item(NAME(m_bnj_scroll1));
+ save_item(NAME(m_bnj_scroll2));
+ save_item(NAME(m_btime_tilemap));
+ save_item(NAME(m_audio_nmi_enabled));
+ save_item(NAME(m_audio_nmi_state));
}
-static MACHINE_START( mmonkey )
+MACHINE_START_MEMBER(btime_state,mmonkey)
{
- btime_state *state = machine.driver_data<btime_state>();
- MACHINE_START_CALL(btime);
+ MACHINE_START_CALL_MEMBER(btime);
- state->save_item(NAME(state->m_protection_command));
- state->save_item(NAME(state->m_protection_status));
- state->save_item(NAME(state->m_protection_value));
- state->save_item(NAME(state->m_protection_ret));
+ save_item(NAME(m_protection_command));
+ save_item(NAME(m_protection_status));
+ save_item(NAME(m_protection_value));
+ save_item(NAME(m_protection_ret));
}
-static MACHINE_RESET( btime )
+MACHINE_RESET_MEMBER(btime_state,btime)
{
- btime_state *state = machine.driver_data<btime_state>();
/* by default, the audio NMI is disabled, except for bootlegs which don't use the enable */
- state->m_audio_nmi_enabled = (state->m_audio_nmi_enable_type == AUDIO_ENABLE_NONE);
-
- state->m_btime_palette = 0;
- state->m_bnj_scroll1 = 0;
- state->m_bnj_scroll2 = 0;
- state->m_btime_tilemap[0] = 0;
- state->m_btime_tilemap[1] = 0;
- state->m_btime_tilemap[2] = 0;
- state->m_btime_tilemap[3] = 0;
- state->m_audio_nmi_state = 0;
+ m_audio_nmi_enabled = (m_audio_nmi_enable_type == AUDIO_ENABLE_NONE);
+
+ m_btime_palette = 0;
+ m_bnj_scroll1 = 0;
+ m_bnj_scroll2 = 0;
+ m_btime_tilemap[0] = 0;
+ m_btime_tilemap[1] = 0;
+ m_btime_tilemap[2] = 0;
+ m_btime_tilemap[3] = 0;
+ m_audio_nmi_state = 0;
}
-static MACHINE_RESET( lnc )
+MACHINE_RESET_MEMBER(btime_state,lnc)
{
- btime_state *state = machine.driver_data<btime_state>();
- *state->m_lnc_charbank = 1;
+ *m_lnc_charbank = 1;
- MACHINE_RESET_CALL(btime);
+ MACHINE_RESET_CALL_MEMBER(btime);
}
-static MACHINE_RESET( mmonkey )
+MACHINE_RESET_MEMBER(btime_state,mmonkey)
{
- btime_state *state = machine.driver_data<btime_state>();
- MACHINE_RESET_CALL(lnc);
+ MACHINE_RESET_CALL_MEMBER(lnc);
- state->m_protection_command = 0;
- state->m_protection_status = 0;
- state->m_protection_value = 0;
- state->m_protection_ret = 0;
+ m_protection_command = 0;
+ m_protection_status = 0;
+ m_protection_value = 0;
+ m_protection_ret = 0;
}
static MACHINE_CONFIG_START( btime, btime_state )
@@ -1475,14 +1470,14 @@ static MACHINE_CONFIG_START( btime, btime_state )
MCFG_SCREEN_RAW_PARAMS(HCLK, 384, 8, 248, 272, 8, 248)
MCFG_SCREEN_UPDATE_STATIC(btime)
- MCFG_MACHINE_START(btime)
- MCFG_MACHINE_RESET(btime)
+ MCFG_MACHINE_START_OVERRIDE(btime_state,btime)
+ MCFG_MACHINE_RESET_OVERRIDE(btime_state,btime)
MCFG_GFXDECODE(btime)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(btime)
- MCFG_VIDEO_START(btime)
+ MCFG_PALETTE_INIT_OVERRIDE(btime_state,btime)
+ MCFG_VIDEO_START_OVERRIDE(btime_state,btime)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1529,13 +1524,13 @@ static MACHINE_CONFIG_DERIVED( lnc, btime )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(lnc_map)
- MCFG_MACHINE_RESET(lnc)
+ MCFG_MACHINE_RESET_OVERRIDE(btime_state,lnc)
/* video hardware */
MCFG_GFXDECODE(lnc)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(lnc)
+ MCFG_PALETTE_INIT_OVERRIDE(btime_state,lnc)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(lnc)
MACHINE_CONFIG_END
@@ -1557,8 +1552,8 @@ static MACHINE_CONFIG_DERIVED( mmonkey, wtennis )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mmonkey_map)
- MCFG_MACHINE_START(mmonkey)
- MCFG_MACHINE_RESET(mmonkey)
+ MCFG_MACHINE_START_OVERRIDE(btime_state,mmonkey)
+ MCFG_MACHINE_RESET_OVERRIDE(btime_state,mmonkey)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sdtennis, btime )
@@ -1572,7 +1567,7 @@ static MACHINE_CONFIG_DERIVED( sdtennis, btime )
MCFG_GFXDECODE(bnj)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(bnj)
+ MCFG_VIDEO_START_OVERRIDE(btime_state,bnj)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(bnj)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bublbobl.c b/src/mame/drivers/bublbobl.c
index ad26d6a9935..5642dd0addf 100644
--- a/src/mame/drivers/bublbobl.c
+++ b/src/mame/drivers/bublbobl.c
@@ -720,47 +720,43 @@ static const ym2203_interface ym2203_config =
*
*************************************/
-static MACHINE_START( common )
+MACHINE_START_MEMBER(bublbobl_state,common)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_mcu = machine.device("mcu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_slave = machine.device("slave");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_mcu = machine().device("mcu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_slave = machine().device("slave");
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_sound_status));
- state->save_item(NAME(state->m_video_enable));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_sound_status));
+ save_item(NAME(m_video_enable));
}
-static MACHINE_RESET( common )
+MACHINE_RESET_MEMBER(bublbobl_state,common)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_sound_status = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_sound_status = 0;
}
-static MACHINE_START( tokio )
+MACHINE_START_MEMBER(bublbobl_state,tokio)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
- state->save_item(NAME(state->m_tokio_prot_count));
+ save_item(NAME(m_tokio_prot_count));
}
-static MACHINE_RESET( tokio )
+MACHINE_RESET_MEMBER(bublbobl_state,tokio)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
- MACHINE_RESET_CALL(common);
+ MACHINE_RESET_CALL_MEMBER(common);
- state->m_tokio_prot_count = 0;
+ m_tokio_prot_count = 0;
}
static MACHINE_CONFIG_START( tokio, bublbobl_state )
@@ -779,8 +775,8 @@ static MACHINE_CONFIG_START( tokio, bublbobl_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
- MCFG_MACHINE_START(tokio)
- MCFG_MACHINE_RESET(tokio)
+ MCFG_MACHINE_START_OVERRIDE(bublbobl_state,tokio)
+ MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state,tokio)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -802,44 +798,42 @@ static MACHINE_CONFIG_START( tokio, bublbobl_state )
MACHINE_CONFIG_END
-static MACHINE_START( bublbobl )
+MACHINE_START_MEMBER(bublbobl_state,bublbobl)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
-
- MACHINE_START_CALL(common);
-
- state->save_item(NAME(state->m_ddr1));
- state->save_item(NAME(state->m_ddr2));
- state->save_item(NAME(state->m_ddr3));
- state->save_item(NAME(state->m_ddr4));
- state->save_item(NAME(state->m_port1_in));
- state->save_item(NAME(state->m_port2_in));
- state->save_item(NAME(state->m_port3_in));
- state->save_item(NAME(state->m_port4_in));
- state->save_item(NAME(state->m_port1_out));
- state->save_item(NAME(state->m_port2_out));
- state->save_item(NAME(state->m_port3_out));
- state->save_item(NAME(state->m_port4_out));
+
+ MACHINE_START_CALL_MEMBER(common);
+
+ save_item(NAME(m_ddr1));
+ save_item(NAME(m_ddr2));
+ save_item(NAME(m_ddr3));
+ save_item(NAME(m_ddr4));
+ save_item(NAME(m_port1_in));
+ save_item(NAME(m_port2_in));
+ save_item(NAME(m_port3_in));
+ save_item(NAME(m_port4_in));
+ save_item(NAME(m_port1_out));
+ save_item(NAME(m_port2_out));
+ save_item(NAME(m_port3_out));
+ save_item(NAME(m_port4_out));
}
-static MACHINE_RESET( bublbobl )
+MACHINE_RESET_MEMBER(bublbobl_state,bublbobl)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
-
- MACHINE_RESET_CALL(common);
-
- state->m_ddr1 = 0;
- state->m_ddr2 = 0;
- state->m_ddr3 = 0;
- state->m_ddr4 = 0;
- state->m_port1_in = 0;
- state->m_port2_in = 0;
- state->m_port3_in = 0;
- state->m_port4_in = 0;
- state->m_port1_out = 0;
- state->m_port2_out = 0;
- state->m_port3_out = 0;
- state->m_port4_out = 0;
+
+ MACHINE_RESET_CALL_MEMBER(common);
+
+ m_ddr1 = 0;
+ m_ddr2 = 0;
+ m_ddr3 = 0;
+ m_ddr4 = 0;
+ m_port1_in = 0;
+ m_port2_in = 0;
+ m_port3_in = 0;
+ m_port4_in = 0;
+ m_port1_out = 0;
+ m_port2_out = 0;
+ m_port3_out = 0;
+ m_port4_out = 0;
}
static MACHINE_CONFIG_START( bublbobl, bublbobl_state )
@@ -862,8 +856,8 @@ static MACHINE_CONFIG_START( bublbobl, bublbobl_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
- MCFG_MACHINE_START(bublbobl)
- MCFG_MACHINE_RESET(bublbobl)
+ MCFG_MACHINE_START_OVERRIDE(bublbobl_state,bublbobl)
+ MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state,bublbobl)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -885,24 +879,22 @@ static MACHINE_CONFIG_START( bublbobl, bublbobl_state )
MACHINE_CONFIG_END
-static MACHINE_START( boblbobl )
+MACHINE_START_MEMBER(bublbobl_state,boblbobl)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
- state->save_item(NAME(state->m_ic43_a));
- state->save_item(NAME(state->m_ic43_b));
+ save_item(NAME(m_ic43_a));
+ save_item(NAME(m_ic43_b));
}
-static MACHINE_RESET( boblbobl )
+MACHINE_RESET_MEMBER(bublbobl_state,boblbobl)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
- MACHINE_RESET_CALL(common);
+ MACHINE_RESET_CALL_MEMBER(common);
- state->m_ic43_a = 0;
- state->m_ic43_b = 0;
+ m_ic43_a = 0;
+ m_ic43_b = 0;
}
static MACHINE_CONFIG_DERIVED( boblbobl, bublbobl )
@@ -911,43 +903,41 @@ static MACHINE_CONFIG_DERIVED( boblbobl, bublbobl )
MCFG_CPU_PROGRAM_MAP(bootleg_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) // interrupt mode 1, unlike Bubble Bobble
- MCFG_MACHINE_START(boblbobl)
- MCFG_MACHINE_RESET(boblbobl)
+ MCFG_MACHINE_START_OVERRIDE(bublbobl_state,boblbobl)
+ MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state,boblbobl)
MCFG_DEVICE_REMOVE("mcu")
MACHINE_CONFIG_END
-static MACHINE_START( bub68705 )
+MACHINE_START_MEMBER(bublbobl_state,bub68705)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
-
- MACHINE_START_CALL(common);
-
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
- state->save_item(NAME(state->m_port_b_in));
- state->save_item(NAME(state->m_port_b_out));
- state->save_item(NAME(state->m_ddr_b));
- state->save_item(NAME(state->m_address));
- state->save_item(NAME(state->m_latch));
+
+ MACHINE_START_CALL_MEMBER(common);
+
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
+ save_item(NAME(m_port_b_in));
+ save_item(NAME(m_port_b_out));
+ save_item(NAME(m_ddr_b));
+ save_item(NAME(m_address));
+ save_item(NAME(m_latch));
}
-static MACHINE_RESET( bub68705 )
+MACHINE_RESET_MEMBER(bublbobl_state,bub68705)
{
- bublbobl_state *state = machine.driver_data<bublbobl_state>();
-
- MACHINE_RESET_CALL(common);
-
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_ddr_a = 0;
- state->m_port_b_in = 0;
- state->m_port_b_out = 0;
- state->m_ddr_b = 0;
- state->m_address = 0;
- state->m_latch = 0;
+
+ MACHINE_RESET_CALL_MEMBER(common);
+
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_ddr_a = 0;
+ m_port_b_in = 0;
+ m_port_b_out = 0;
+ m_ddr_b = 0;
+ m_address = 0;
+ m_latch = 0;
}
static MACHINE_CONFIG_DERIVED( bub68705, bublbobl )
@@ -957,8 +947,8 @@ static MACHINE_CONFIG_DERIVED( bub68705, bublbobl )
MCFG_CPU_PROGRAM_MAP(bootlegmcu_map)
MCFG_CPU_VBLANK_INT("screen",bublbobl_m68705_interrupt) // ??? should come from the same clock which latches the INT pin on the second Z80
- MCFG_MACHINE_START(bub68705)
- MCFG_MACHINE_RESET(bub68705)
+ MCFG_MACHINE_START_OVERRIDE(bublbobl_state,bub68705)
+ MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state,bub68705)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/buggychl.c b/src/mame/drivers/buggychl.c
index b4b89ee9202..61e29f667ff 100644
--- a/src/mame/drivers/buggychl.c
+++ b/src/mame/drivers/buggychl.c
@@ -356,38 +356,36 @@ static const msm5232_interface msm5232_config =
};
-static MACHINE_START( buggychl )
+void buggychl_state::machine_start()
{
- buggychl_state *state = machine.driver_data<buggychl_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x2000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_sprite_lookup));
- state->save_item(NAME(state->m_sl_bank));
- state->save_item(NAME(state->m_bg_on));
- state->save_item(NAME(state->m_sky_on));
- state->save_item(NAME(state->m_sprite_color_base));
- state->save_item(NAME(state->m_bg_scrollx));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_sprite_lookup));
+ save_item(NAME(m_sl_bank));
+ save_item(NAME(m_bg_on));
+ save_item(NAME(m_sky_on));
+ save_item(NAME(m_sprite_color_base));
+ save_item(NAME(m_bg_scrollx));
}
-static MACHINE_RESET( buggychl )
+void buggychl_state::machine_reset()
{
- buggychl_state *state = machine.driver_data<buggychl_state>();
- machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
+ machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_sl_bank = 0;
- state->m_bg_on = 0;
- state->m_sky_on = 0;
- state->m_sprite_color_base = 0;
- state->m_bg_scrollx = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_sl_bank = 0;
+ m_bg_on = 0;
+ m_sky_on = 0;
+ m_sprite_color_base = 0;
+ m_bg_scrollx = 0;
}
static MACHINE_CONFIG_START( buggychl, buggychl_state )
@@ -406,8 +404,6 @@ static MACHINE_CONFIG_START( buggychl, buggychl_state )
MCFG_CPU_PROGRAM_MAP(buggychl_mcu_map)
MCFG_DEVICE_ADD("bmcu", BUGGYCHL_MCU, 0)
- MCFG_MACHINE_START(buggychl)
- MCFG_MACHINE_RESET(buggychl)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -420,8 +416,6 @@ static MACHINE_CONFIG_START( buggychl, buggychl_state )
MCFG_GFXDECODE(buggychl)
MCFG_PALETTE_LENGTH(128+128)
- MCFG_PALETTE_INIT(buggychl)
- MCFG_VIDEO_START(buggychl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/buster.c b/src/mame/drivers/buster.c
index 9d8a82d528a..c4e1d726470 100644
--- a/src/mame/drivers/buster.c
+++ b/src/mame/drivers/buster.c
@@ -21,10 +21,12 @@ public:
required_shared_ptr<UINT8> m_vram;
DECLARE_READ8_MEMBER(test_r);
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START(buster)
+void buster_state::video_start()
{
}
@@ -318,13 +320,13 @@ static const mc6845_interface mc6845_intf =
NULL /* update address callback */
};
-static PALETTE_INIT( buster )
+void buster_state::palette_init()
{
int i;
/* RGB format */
for(i=0;i<8;i++)
- palette_set_color(machine, i, MAKE_RGB(pal1bit(i >> 0),pal1bit(i >> 1),pal1bit(i >> 2)));
+ palette_set_color(machine(), i, MAKE_RGB(pal1bit(i >> 0),pal1bit(i >> 1),pal1bit(i >> 2)));
}
static MACHINE_CONFIG_START( buster, buster_state )
@@ -344,9 +346,7 @@ static MACHINE_CONFIG_START( buster, buster_state )
MCFG_GFXDECODE(buster)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(buster)
- MCFG_VIDEO_START(buster)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/bwing.c b/src/mame/drivers/bwing.c
index 19b91872b5f..2e4c2ee086c 100644
--- a/src/mame/drivers/bwing.c
+++ b/src/mame/drivers/bwing.c
@@ -333,35 +333,33 @@ GFXDECODE_END
//****************************************************************************
// Hardware Definitions
-static MACHINE_START( bwing )
+void bwing_state::machine_start()
{
- bwing_state *state = machine.driver_data<bwing_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_palatch));
- state->save_item(NAME(state->m_srbank));
- state->save_item(NAME(state->m_mapmask));
- state->save_item(NAME(state->m_mapflip));
- state->save_item(NAME(state->m_bwp3_nmimask));
- state->save_item(NAME(state->m_bwp3_u8F_d));
+ save_item(NAME(m_palatch));
+ save_item(NAME(m_srbank));
+ save_item(NAME(m_mapmask));
+ save_item(NAME(m_mapflip));
+ save_item(NAME(m_bwp3_nmimask));
+ save_item(NAME(m_bwp3_u8F_d));
- state->save_item(NAME(state->m_sreg));
+ save_item(NAME(m_sreg));
}
-static MACHINE_RESET( bwing )
+void bwing_state::machine_reset()
{
- bwing_state *state = machine.driver_data<bwing_state>();
- state->m_palatch = 0;
- state->m_srbank = 0;
- state->m_mapmask = 0;
- state->m_mapflip = 0;
+ m_palatch = 0;
+ m_srbank = 0;
+ m_mapmask = 0;
+ m_mapflip = 0;
- state->m_bwp3_nmimask = 0;
- state->m_bwp3_u8F_d = 0;
+ m_bwp3_nmimask = 0;
+ m_bwp3_u8F_d = 0;
}
static MACHINE_CONFIG_START( bwing, bwing_state )
@@ -380,8 +378,6 @@ static MACHINE_CONFIG_START( bwing, bwing_state )
MCFG_QUANTUM_TIME(attotime::from_hz(18000)) // high enough?
- MCFG_MACHINE_START(bwing)
- MCFG_MACHINE_RESET(bwing)
// video hardware
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -396,7 +392,6 @@ static MACHINE_CONFIG_START( bwing, bwing_state )
MCFG_GFXDECODE(bwing)
MCFG_PALETTE_LENGTH(64)
- MCFG_VIDEO_START(bwing)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/byvid.c b/src/mame/drivers/byvid.c
index 9f4a466c6a5..ee3d80aa5a5 100644
--- a/src/mame/drivers/byvid.c
+++ b/src/mame/drivers/byvid.c
@@ -39,6 +39,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(by133_cb2);
DECLARE_READ8_MEMBER(by133_portb_r);
DECLARE_WRITE8_MEMBER(by133_portb_w);
+ virtual void machine_reset();
};
@@ -154,10 +155,9 @@ static const pia6821_interface videopia_intf =
};
-static MACHINE_RESET( by133 )
+void by133_state::machine_reset()
{
- by133_state *state = machine.driver_data<by133_state>();
- state->m_sound_port2 = 2; // forced to 010 on /reset
+ m_sound_port2 = 2; // forced to 010 on /reset
}
static MACHINE_CONFIG_START( by133, by133_state )
@@ -175,7 +175,6 @@ static MACHINE_CONFIG_START( by133, by133_state )
MCFG_PIA6821_ADD("videopia", videopia_intf)
- MCFG_MACHINE_RESET(by133)
/* video hardware */
MCFG_TMS9928A_ADD( "tms9928a", TMS9928A, byvid_tms9928a_interface )
diff --git a/src/mame/drivers/bzone.c b/src/mame/drivers/bzone.c
index d6239f068a2..1c467ce3992 100644
--- a/src/mame/drivers/bzone.c
+++ b/src/mame/drivers/bzone.c
@@ -224,18 +224,16 @@
*
*************************************/
-static MACHINE_START( bzone )
+void bzone_state::machine_start()
{
- bzone_state *state = machine.driver_data<bzone_state>();
- state_save_register_global(machine, state->m_analog_data);
+ state_save_register_global(machine(), m_analog_data);
}
-static MACHINE_START( redbaron )
+MACHINE_START_MEMBER(bzone_state,redbaron)
{
- bzone_state *state = machine.driver_data<bzone_state>();
- state_save_register_global(machine, state->m_analog_data);
- state_save_register_global(machine, state->m_rb_input_select);
+ state_save_register_global(machine(), m_analog_data);
+ state_save_register_global(machine(), m_rb_input_select);
}
@@ -557,7 +555,6 @@ static MACHINE_CONFIG_START( bzone_base, bzone_state )
MCFG_CPU_PROGRAM_MAP(bzone_map)
MCFG_CPU_PERIODIC_INT(bzone_interrupt, (double)BZONE_MASTER_CLOCK / 4096 / 12)
- MCFG_MACHINE_START(bzone)
/* video hardware */
MCFG_SCREEN_ADD("screen", VECTOR)
@@ -589,7 +586,7 @@ static MACHINE_CONFIG_DERIVED( redbaron, bzone_base )
MCFG_CPU_PROGRAM_MAP(redbaron_map)
MCFG_CPU_PERIODIC_INT(bzone_interrupt, (double)BZONE_MASTER_CLOCK / 4096 / 12)
- MCFG_MACHINE_START(redbaron)
+ MCFG_MACHINE_START_OVERRIDE(bzone_state,redbaron)
MCFG_ATARIVGEAROM_ADD("earom")
@@ -598,7 +595,6 @@ static MACHINE_CONFIG_DERIVED( redbaron, bzone_base )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VISIBLE_AREA(0, 520, 0, 400)
- MCFG_VIDEO_START(avg_bzone)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index 599782c41d0..43a963cb8d6 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -52,10 +52,9 @@ Dip locations verified with Fabtek manual for the trackball version
#include "audio/seibu.h"
#include "includes/cabal.h"
-static MACHINE_RESET( cabalbl )
+MACHINE_RESET_MEMBER(cabal_state,cabalbl)
{
- cabal_state *state = machine.driver_data<cabal_state>();
- state->m_sound_command1 = state->m_sound_command2 = 0xff;
+ m_sound_command1 = m_sound_command2 = 0xff;
}
@@ -511,7 +510,6 @@ static MACHINE_CONFIG_START( cabal, cabal_state )
MCFG_GFXDECODE(cabal)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(cabal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -554,7 +552,7 @@ static MACHINE_CONFIG_START( cabalbl, cabal_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(cabalbl)
+ MCFG_MACHINE_RESET_OVERRIDE(cabal_state,cabalbl)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -567,7 +565,6 @@ static MACHINE_CONFIG_START( cabalbl, cabal_state )
MCFG_GFXDECODE(cabal)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(cabal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cabaret.c b/src/mame/drivers/cabaret.c
index 6a3082502b9..fd04fcdfa08 100644
--- a/src/mame/drivers/cabaret.c
+++ b/src/mame/drivers/cabaret.c
@@ -53,6 +53,8 @@ public:
DECLARE_DRIVER_INIT(cabaret);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -101,13 +103,12 @@ WRITE8_MEMBER(cabaret_state::fg_color_w)
m_fg_tilemap->mark_tile_dirty(offset);
}
-static VIDEO_START(cabaret)
+void cabaret_state::video_start()
{
- cabaret_state *state = machine.driver_data<cabaret_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabaret_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabaret_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cabaret_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cabaret_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(64);
}
@@ -318,10 +319,9 @@ GFXDECODE_END
Machine Drivers
***************************************************************************/
-static MACHINE_RESET( cabaret )
+void cabaret_state::machine_reset()
{
- cabaret_state *state = machine.driver_data<cabaret_state>();
- state->m_nmi_enable = 0;
+ m_nmi_enable = 0;
}
static INTERRUPT_GEN( cabaret_interrupt )
@@ -338,7 +338,6 @@ static MACHINE_CONFIG_START( cabaret, cabaret_state )
MCFG_CPU_IO_MAP(cabaret_portmap)
MCFG_CPU_VBLANK_INT("screen",cabaret_interrupt)
- MCFG_MACHINE_RESET(cabaret)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -351,7 +350,6 @@ static MACHINE_CONFIG_START( cabaret, cabaret_state )
MCFG_GFXDECODE(cabaret)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(cabaret)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/calchase.c b/src/mame/drivers/calchase.c
index 989b16ef466..61f36b29f5b 100644
--- a/src/mame/drivers/calchase.c
+++ b/src/mame/drivers/calchase.c
@@ -173,6 +173,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(calchase_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
DECLARE_DRIVER_INIT(calchase);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -804,16 +806,15 @@ static IRQ_CALLBACK(irq_callback)
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
-static MACHINE_START(calchase)
+void calchase_state::machine_start()
{
- calchase_state *state = machine.driver_data<calchase_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
- state->m_pit8254 = machine.device( "pit8254" );
- state->m_pic8259_1 = machine.device( "pic8259_1" );
- state->m_pic8259_2 = machine.device( "pic8259_2" );
- state->m_dma8237_1 = machine.device( "dma8237_1" );
- state->m_dma8237_2 = machine.device( "dma8237_2" );
+ m_pit8254 = machine().device( "pit8254" );
+ m_pic8259_1 = machine().device( "pic8259_1" );
+ m_pic8259_2 = machine().device( "pic8259_2" );
+ m_dma8237_1 = machine().device( "dma8237_1" );
+ m_dma8237_2 = machine().device( "dma8237_2" );
}
/*************************************************************
@@ -877,10 +878,10 @@ static const struct pit8253_config calchase_pit8254_config =
}
};
-static MACHINE_RESET(calchase)
+void calchase_state::machine_reset()
{
- //machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("bios")->base() + 0x10000);
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("bios")->base());
+ //machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("bios")->base() + 0x10000);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("bios")->base());
}
static void set_gate_a20(running_machine &machine, int a20)
@@ -929,8 +930,6 @@ static MACHINE_CONFIG_START( calchase, calchase_state )
MCFG_CPU_PROGRAM_MAP(calchase_map)
MCFG_CPU_IO_MAP(calchase_io)
- MCFG_MACHINE_START(calchase)
- MCFG_MACHINE_RESET(calchase)
MCFG_PIT8254_ADD( "pit8254", calchase_pit8254_config )
MCFG_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c
index 218ec2cea7c..30ff79fb27c 100644
--- a/src/mame/drivers/calomega.c
+++ b/src/mame/drivers/calomega.c
@@ -2754,8 +2754,6 @@ static MACHINE_CONFIG_START( sys903, calomega_state )
MCFG_GFXDECODE(calomega)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(calomega)
- MCFG_VIDEO_START(calomega)
MCFG_MC6845_ADD("crtc", MC6845, CPU_CLOCK, mc6845_intf) /* 6845 @ CPU clock */
diff --git a/src/mame/drivers/calorie.c b/src/mame/drivers/calorie.c
index 5b462e0360b..64680a501cc 100644
--- a/src/mame/drivers/calorie.c
+++ b/src/mame/drivers/calorie.c
@@ -109,6 +109,9 @@ public:
DECLARE_DRIVER_INIT(calorieb);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -138,14 +141,13 @@ TILE_GET_INFO_MEMBER(calorie_state::get_fg_tile_info)
}
-static VIDEO_START( calorie )
+void calorie_state::video_start()
{
- calorie_state *state = machine.driver_data<calorie_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(calorie_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(calorie_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(calorie_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(calorie_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16( calorie )
@@ -422,18 +424,16 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( calorie )
+void calorie_state::machine_start()
{
- calorie_state *state = machine.driver_data<calorie_state>();
- state->save_item(NAME(state->m_bg_bank));
+ save_item(NAME(m_bg_bank));
}
-static MACHINE_RESET( calorie )
+void calorie_state::machine_reset()
{
- calorie_state *state = machine.driver_data<calorie_state>();
- state->m_bg_bank = 0;
+ m_bg_bank = 0;
}
@@ -449,8 +449,6 @@ static MACHINE_CONFIG_START( calorie, calorie_state )
MCFG_CPU_IO_MAP(calorie_sound_io_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 64)
- MCFG_MACHINE_START(calorie)
- MCFG_MACHINE_RESET(calorie)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -463,7 +461,6 @@ static MACHINE_CONFIG_START( calorie, calorie_state )
MCFG_GFXDECODE(calorie)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(calorie)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/canyon.c b/src/mame/drivers/canyon.c
index d99fee011be..09aae521a08 100644
--- a/src/mame/drivers/canyon.c
+++ b/src/mame/drivers/canyon.c
@@ -48,12 +48,12 @@
*
*************************************/
-static PALETTE_INIT( canyon )
+void canyon_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0x80, 0x80, 0x80)); /* GREY */
- palette_set_color(machine, 1, MAKE_RGB(0x00, 0x00, 0x00)); /* BLACK */
- palette_set_color(machine, 2, MAKE_RGB(0x80, 0x80, 0x80)); /* GREY */
- palette_set_color(machine, 3, MAKE_RGB(0xff, 0xff, 0xff)); /* WHITE */
+ palette_set_color(machine(), 0, MAKE_RGB(0x80, 0x80, 0x80)); /* GREY */
+ palette_set_color(machine(), 1, MAKE_RGB(0x00, 0x00, 0x00)); /* BLACK */
+ palette_set_color(machine(), 2, MAKE_RGB(0x80, 0x80, 0x80)); /* GREY */
+ palette_set_color(machine(), 3, MAKE_RGB(0xff, 0xff, 0xff)); /* WHITE */
}
@@ -253,8 +253,6 @@ static MACHINE_CONFIG_START( canyon, canyon_state )
MCFG_GFXDECODE(canyon)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(canyon)
- MCFG_VIDEO_START(canyon)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/capbowl.c b/src/mame/drivers/capbowl.c
index 9a8cb5a1b42..f8cc53d2da5 100644
--- a/src/mame/drivers/capbowl.c
+++ b/src/mame/drivers/capbowl.c
@@ -334,27 +334,25 @@ static const ym2203_interface ym2203_config =
*
*************************************/
-static MACHINE_START( capbowl )
+void capbowl_state::machine_start()
{
- capbowl_state *state = machine.driver_data<capbowl_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_blitter_addr));
- state->save_item(NAME(state->m_last_trackball_val[0]));
- state->save_item(NAME(state->m_last_trackball_val[1]));
+ save_item(NAME(m_blitter_addr));
+ save_item(NAME(m_last_trackball_val[0]));
+ save_item(NAME(m_last_trackball_val[1]));
}
-static MACHINE_RESET( capbowl )
+void capbowl_state::machine_reset()
{
- capbowl_state *state = machine.driver_data<capbowl_state>();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(32), FUNC(capbowl_update), 32);
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(32), FUNC(capbowl_update), 32);
- state->m_blitter_addr = 0;
- state->m_last_trackball_val[0] = 0;
- state->m_last_trackball_val[1] = 0;
+ m_blitter_addr = 0;
+ m_last_trackball_val[0] = 0;
+ m_last_trackball_val[1] = 0;
}
@@ -368,14 +366,11 @@ static MACHINE_CONFIG_START( capbowl, capbowl_state )
MCFG_CPU_ADD("audiocpu", M6809E, MASTER_CLOCK)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(capbowl)
- MCFG_MACHINE_RESET(capbowl)
MCFG_NVRAM_ADD_CUSTOM_DRIVER("nvram", capbowl_state, init_nvram)
MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(100), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
/* video hardware */
- MCFG_VIDEO_START(capbowl)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SIZE(360, 256)
diff --git a/src/mame/drivers/cardline.c b/src/mame/drivers/cardline.c
index f74dfebe529..4cdb0bc2043 100644
--- a/src/mame/drivers/cardline.c
+++ b/src/mame/drivers/cardline.c
@@ -40,6 +40,7 @@ public:
DECLARE_WRITE8_MEMBER(video_w);
DECLARE_READ8_MEMBER(unk_r);
DECLARE_WRITE8_MEMBER(lamps_w);
+ virtual void palette_init();
};
@@ -184,12 +185,12 @@ static GFXDECODE_START( cardline )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 2 )
GFXDECODE_END
-static PALETTE_INIT(cardline)
+void cardline_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i,r,g,b,data;
int bit0,bit1,bit2;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
data=color_prom[i];
@@ -207,7 +208,7 @@ static PALETTE_INIT(cardline)
bit0 = (data >> 0) & 0x01;
bit1 = (data >> 1) & 0x01;
b = 0x55 * bit0 + 0xaa * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -229,7 +230,6 @@ static MACHINE_CONFIG_START( cardline, cardline_state )
MCFG_GFXDECODE(cardline)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(cardline)
MCFG_DEFAULT_LAYOUT(layout_cardline)
diff --git a/src/mame/drivers/carjmbre.c b/src/mame/drivers/carjmbre.c
index 6dfda72e84e..fed4d4e807a 100644
--- a/src/mame/drivers/carjmbre.c
+++ b/src/mame/drivers/carjmbre.c
@@ -183,12 +183,11 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_RESET( carjmbre )
+void carjmbre_state::machine_reset()
{
- carjmbre_state *state = machine.driver_data<carjmbre_state>();
- state->m_flipscreen = 0;
- state->m_bgcolor = 0;
+ m_flipscreen = 0;
+ m_bgcolor = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -206,7 +205,6 @@ static MACHINE_CONFIG_START( carjmbre, carjmbre_state )
MCFG_CPU_PROGRAM_MAP(carjmbre_map)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_RESET(carjmbre)
MCFG_CPU_ADD("audiocpu", Z80, XTAL_18_432MHz/6/2)
MCFG_CPU_PROGRAM_MAP(carjmbre_sound_map)
@@ -224,8 +222,6 @@ static MACHINE_CONFIG_START( carjmbre, carjmbre_state )
MCFG_GFXDECODE(carjmbre)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(carjmbre)
- MCFG_VIDEO_START(carjmbre)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/carpolo.c b/src/mame/drivers/carpolo.c
index 82345dc4245..91db6b1802b 100644
--- a/src/mame/drivers/carpolo.c
+++ b/src/mame/drivers/carpolo.c
@@ -247,8 +247,6 @@ static MACHINE_CONFIG_START( carpolo, carpolo_state )
MCFG_CPU_VBLANK_INT("screen", carpolo_timer_interrupt) /* this not strictly VBLANK,
but it's supposed to happen 60
times a sec, so it's a good place */
- MCFG_MACHINE_START(carpolo)
- MCFG_MACHINE_RESET(carpolo)
MCFG_PIA6821_ADD("pia0", carpolo_pia0_intf)
MCFG_PIA6821_ADD("pia1", carpolo_pia1_intf)
@@ -281,8 +279,6 @@ static MACHINE_CONFIG_START( carpolo, carpolo_state )
MCFG_GFXDECODE(carpolo)
MCFG_PALETTE_LENGTH(12*2+2*16+4*2)
- MCFG_PALETTE_INIT(carpolo)
- MCFG_VIDEO_START(carpolo)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index b20fe4d6287..7d61aac220a 100644
--- a/src/mame/drivers/carrera.c
+++ b/src/mame/drivers/carrera.c
@@ -61,6 +61,7 @@ public:
required_shared_ptr<UINT8> m_tileram;
DECLARE_READ8_MEMBER(unknown_r);
+ virtual void palette_init();
};
@@ -282,9 +283,9 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
-static PALETTE_INIT(carrera)
+void carrera_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int br_bit0, br_bit1, bit0, bit1, r, g, b;
int i;
@@ -303,7 +304,7 @@ static PALETTE_INIT(carrera)
bit1 = (color_prom[0] >> 5) & 0x01;
r = 0x0e * br_bit0 + 0x1f * br_bit1 + 0x43 * bit0 + 0x8f * bit1;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -343,7 +344,6 @@ static MACHINE_CONFIG_START( carrera, carrera_state )
MCFG_GFXDECODE(carrera)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(carrera)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/caswin.c b/src/mame/drivers/caswin.c
index 6b8f3a5b8e8..eaa9e087458 100644
--- a/src/mame/drivers/caswin.c
+++ b/src/mame/drivers/caswin.c
@@ -66,6 +66,8 @@ public:
DECLARE_WRITE8_MEMBER(vvillage_output_w);
DECLARE_WRITE8_MEMBER(vvillage_lamps_w);
TILE_GET_INFO_MEMBER(get_sc0_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -82,10 +84,9 @@ TILE_GET_INFO_MEMBER(caswin_state::get_sc0_tile_info)
0);
}
-static VIDEO_START(vvillage)
+void caswin_state::video_start()
{
- caswin_state *state = machine.driver_data<caswin_state>();
- state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(caswin_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_sc0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(caswin_state::get_sc0_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
}
static SCREEN_UPDATE_IND16(vvillage)
@@ -272,9 +273,9 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
-static PALETTE_INIT( caswin )
+void caswin_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit0, bit1, bit2 , r, g, b;
int i;
@@ -293,7 +294,7 @@ static PALETTE_INIT( caswin )
bit2 = (color_prom[0] >> 7) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -318,9 +319,7 @@ static MACHINE_CONFIG_START( vvillage, caswin_state )
MCFG_GFXDECODE(vvillage)
MCFG_PALETTE_LENGTH(0x40)
- MCFG_PALETTE_INIT(caswin)
- MCFG_VIDEO_START(vvillage)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c
index 3de198c3c61..97f209465a8 100644
--- a/src/mame/drivers/cave.c
+++ b/src/mame/drivers/cave.c
@@ -1793,33 +1793,31 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_START( cave )
+MACHINE_START_MEMBER(cave_state,cave)
{
- cave_state *state = machine.driver_data<cave_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_soundbuf_len));
- state->save_item(NAME(state->m_soundbuf_data));
+ save_item(NAME(m_soundbuf_len));
+ save_item(NAME(m_soundbuf_data));
- state->save_item(NAME(state->m_vblank_irq));
- state->save_item(NAME(state->m_sound_irq));
- state->save_item(NAME(state->m_unknown_irq));
- state->save_item(NAME(state->m_agallet_vblank_irq));
+ save_item(NAME(m_vblank_irq));
+ save_item(NAME(m_sound_irq));
+ save_item(NAME(m_unknown_irq));
+ save_item(NAME(m_agallet_vblank_irq));
}
-static MACHINE_RESET( cave )
+MACHINE_RESET_MEMBER(cave_state,cave)
{
- cave_state *state = machine.driver_data<cave_state>();
- memset(state->m_soundbuf_data, 0, 32);
- state->m_soundbuf_len = 0;
+ memset(m_soundbuf_data, 0, 32);
+ m_soundbuf_len = 0;
- state->m_vblank_irq = 0;
- state->m_sound_irq = 0;
- state->m_unknown_irq = 0;
- state->m_agallet_vblank_irq = 0;
+ m_vblank_irq = 0;
+ m_sound_irq = 0;
+ m_unknown_irq = 0;
+ m_agallet_vblank_irq = 0;
}
static const ymz280b_interface ymz280b_intf =
@@ -1858,8 +1856,8 @@ static MACHINE_CONFIG_START( dfeveron, cave_state )
MCFG_CPU_PROGRAM_MAP(dfeveron_map)
MCFG_CPU_VBLANK_INT("screen", cave_interrupt)
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -1874,9 +1872,9 @@ static MACHINE_CONFIG_START( dfeveron, cave_state )
MCFG_GFXDECODE(dfeveron)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
- MCFG_PALETTE_INIT(dfeveron)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,dfeveron)
- MCFG_VIDEO_START(cave_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1900,8 +1898,8 @@ static MACHINE_CONFIG_START( ddonpach, cave_state )
MCFG_CPU_PROGRAM_MAP(ddonpach_map)
MCFG_CPU_VBLANK_INT("screen", cave_interrupt)
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -1916,9 +1914,9 @@ static MACHINE_CONFIG_START( ddonpach, cave_state )
MCFG_GFXDECODE(ddonpach)
MCFG_PALETTE_LENGTH(0x8000 + 0x40*16) // $400 extra entries for layers 1&2
- MCFG_PALETTE_INIT(ddonpach)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,ddonpach)
- MCFG_VIDEO_START(cave_3_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1946,8 +1944,8 @@ static MACHINE_CONFIG_START( donpachi, cave_state )
MCFG_CPU_PROGRAM_MAP(donpachi_map)
MCFG_CPU_VBLANK_INT("screen", cave_interrupt)
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -1962,9 +1960,9 @@ static MACHINE_CONFIG_START( donpachi, cave_state )
MCFG_GFXDECODE(donpachi)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
- MCFG_PALETTE_INIT(dfeveron)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,dfeveron)
- MCFG_VIDEO_START(cave_3_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1992,8 +1990,8 @@ static MACHINE_CONFIG_START( esprade, cave_state )
MCFG_CPU_PROGRAM_MAP(esprade_map)
MCFG_CPU_VBLANK_INT("screen", cave_interrupt)
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2008,9 +2006,9 @@ static MACHINE_CONFIG_START( esprade, cave_state )
MCFG_GFXDECODE(esprade)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(cave)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
- MCFG_VIDEO_START(cave_3_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2033,8 +2031,8 @@ static MACHINE_CONFIG_START( gaia, cave_state )
MCFG_CPU_PROGRAM_MAP(gaia_map)
MCFG_CPU_VBLANK_INT("screen", cave_interrupt)
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2048,9 +2046,9 @@ static MACHINE_CONFIG_START( gaia, cave_state )
MCFG_GFXDECODE(esprade)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(cave)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
- MCFG_VIDEO_START(cave_3_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2073,8 +2071,8 @@ static MACHINE_CONFIG_START( guwange, cave_state )
MCFG_CPU_PROGRAM_MAP(guwange_map)
MCFG_CPU_VBLANK_INT("screen", cave_interrupt)
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2089,9 +2087,9 @@ static MACHINE_CONFIG_START( guwange, cave_state )
MCFG_GFXDECODE(esprade)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(cave)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
- MCFG_VIDEO_START(cave_3_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2117,8 +2115,8 @@ static MACHINE_CONFIG_START( hotdogst, cave_state )
MCFG_CPU_PROGRAM_MAP(hotdogst_sound_map)
MCFG_CPU_IO_MAP(hotdogst_sound_portmap)
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2133,9 +2131,9 @@ static MACHINE_CONFIG_START( hotdogst, cave_state )
MCFG_GFXDECODE(hotdogst)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
- MCFG_PALETTE_INIT(dfeveron)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,dfeveron)
- MCFG_VIDEO_START(cave_3_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2169,8 +2167,8 @@ static MACHINE_CONFIG_START( korokoro, cave_state )
MCFG_CPU_PROGRAM_MAP(korokoro_map)
MCFG_CPU_VBLANK_INT("screen", cave_interrupt)
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_8BIT_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2185,9 +2183,9 @@ static MACHINE_CONFIG_START( korokoro, cave_state )
MCFG_GFXDECODE(korokoro)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
- MCFG_PALETTE_INIT(korokoro)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,korokoro)
- MCFG_VIDEO_START(cave_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2223,8 +2221,8 @@ static MACHINE_CONFIG_START( mazinger, cave_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2239,9 +2237,9 @@ static MACHINE_CONFIG_START( mazinger, cave_state )
MCFG_GFXDECODE(mazinger)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
- MCFG_PALETTE_INIT(mazinger)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,mazinger)
- MCFG_VIDEO_START(cave_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2281,8 +2279,8 @@ static MACHINE_CONFIG_START( metmqstr, cave_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave) /* start with the watchdog armed */
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) /* start with the watchdog armed */
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2297,9 +2295,9 @@ static MACHINE_CONFIG_START( metmqstr, cave_state )
MCFG_GFXDECODE(donpachi)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
- MCFG_PALETTE_INIT(dfeveron)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,dfeveron)
- MCFG_VIDEO_START(cave_3_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2336,8 +2334,8 @@ static MACHINE_CONFIG_START( pacslot, cave_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C46_pacslot)
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2352,9 +2350,9 @@ static MACHINE_CONFIG_START( pacslot, cave_state )
MCFG_GFXDECODE(tjumpman)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(cave)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
- MCFG_VIDEO_START(cave_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2392,8 +2390,8 @@ static MACHINE_CONFIG_START( pwrinst2, cave_state )
MCFG_CPU_PROGRAM_MAP(pwrinst2_sound_map)
MCFG_CPU_IO_MAP(pwrinst2_sound_portmap)
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2408,9 +2406,9 @@ static MACHINE_CONFIG_START( pwrinst2, cave_state )
MCFG_GFXDECODE(pwrinst2)
MCFG_PALETTE_LENGTH(0x8000+0x2800)
- MCFG_PALETTE_INIT(pwrinst2)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,pwrinst2)
- MCFG_VIDEO_START(cave_4_layers)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_4_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2455,8 +2453,8 @@ static MACHINE_CONFIG_START( sailormn, cave_state )
// MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2471,9 +2469,9 @@ static MACHINE_CONFIG_START( sailormn, cave_state )
MCFG_GFXDECODE(sailormn)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
- MCFG_PALETTE_INIT(sailormn) // 4 bit sprites, 6 bit tiles
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,sailormn) // 4 bit sprites, 6 bit tiles
- MCFG_VIDEO_START(sailormn_3_layers) /* Layer 2 has 1 banked ROM */
+ MCFG_VIDEO_START_OVERRIDE(cave_state,sailormn_3_layers) /* Layer 2 has 1 banked ROM */
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2509,8 +2507,8 @@ static MACHINE_CONFIG_START( tjumpman, cave_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- MCFG_MACHINE_START(cave)
- MCFG_MACHINE_RESET(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2525,9 +2523,9 @@ static MACHINE_CONFIG_START( tjumpman, cave_state )
MCFG_GFXDECODE(tjumpman)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(cave)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
- MCFG_VIDEO_START(cave_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2551,7 +2549,7 @@ static MACHINE_CONFIG_START( uopoko, cave_state )
MCFG_CPU_PROGRAM_MAP(uopoko_map)
MCFG_CPU_VBLANK_INT("screen", cave_interrupt)
- MCFG_MACHINE_START(cave)
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", cave_vblank_start)
@@ -2567,8 +2565,8 @@ static MACHINE_CONFIG_START( uopoko, cave_state )
MCFG_GFXDECODE(uopoko)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(cave)
- MCFG_VIDEO_START(cave_1_layer)
+ MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/cb2001.c b/src/mame/drivers/cb2001.c
index 7ecf46d0c82..c1595d7d35c 100644
--- a/src/mame/drivers/cb2001.c
+++ b/src/mame/drivers/cb2001.c
@@ -69,6 +69,8 @@ public:
TILE_GET_INFO_MEMBER(get_cb2001_reel1_tile_info);
TILE_GET_INFO_MEMBER(get_cb2001_reel2_tile_info);
TILE_GET_INFO_MEMBER(get_cb2001_reel3_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -514,16 +516,15 @@ TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel3_tile_info)
}
-static VIDEO_START(cb2001)
+void cb2001_state::video_start()
{
- cb2001_state *state = machine.driver_data<cb2001_state>();
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
-
- state->m_reel1_tilemap->set_scroll_cols(64);
- state->m_reel2_tilemap->set_scroll_cols(64);
- state->m_reel3_tilemap->set_scroll_cols(64);
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel1_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel2_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel3_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+
+ m_reel1_tilemap->set_scroll_cols(64);
+ m_reel2_tilemap->set_scroll_cols(64);
+ m_reel3_tilemap->set_scroll_cols(64);
}
WRITE16_MEMBER(cb2001_state::cb2001_bg_w)
@@ -769,15 +770,15 @@ static GFXDECODE_START( cb2001 )
GFXDECODE_ENTRY( "gfx", 0, cb2001_layout32, 0x0, 32 )
GFXDECODE_END
-static PALETTE_INIT(cb2001)
+void cb2001_state::palette_init()
{
int i;
for (i = 0; i < 0x200; i++)
{
int r,g,b;
- UINT8*proms = machine.root_device().memregion("proms")->base();
- int length = machine.root_device().memregion("proms")->bytes();
+ UINT8*proms = machine().root_device().memregion("proms")->base();
+ int length = machine().root_device().memregion("proms")->bytes();
UINT16 dat;
dat = (proms[0x000+i] << 8) | proms[0x200+i];
@@ -789,11 +790,11 @@ static PALETTE_INIT(cb2001)
if (length==0x400) // are the cb2001 proms dumped incorrectly?
{
- if (!(i&0x20)) palette_set_color(machine, (i&0x1f) | ((i&~0x3f)>>1), MAKE_RGB(r, g, b));
+ if (!(i&0x20)) palette_set_color(machine(), (i&0x1f) | ((i&~0x3f)>>1), MAKE_RGB(r, g, b));
}
else
{
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
}
@@ -842,7 +843,6 @@ static MACHINE_CONFIG_START( cb2001, cb2001_state )
MCFG_GFXDECODE(cb2001)
- MCFG_PALETTE_INIT( cb2001 )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -853,7 +853,6 @@ static MACHINE_CONFIG_START( cb2001, cb2001_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(cb2001)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cball.c b/src/mame/drivers/cball.c
index b855c287bf0..078c8568403 100644
--- a/src/mame/drivers/cball.c
+++ b/src/mame/drivers/cball.c
@@ -28,6 +28,10 @@ public:
DECLARE_READ8_MEMBER(cball_wram_r);
DECLARE_WRITE8_MEMBER(cball_wram_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -46,10 +50,9 @@ WRITE8_MEMBER(cball_state::cball_vram_w)
}
-static VIDEO_START( cball )
+void cball_state::video_start()
{
- cball_state *state = machine.driver_data<cball_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cball_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cball_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -87,26 +90,25 @@ static TIMER_CALLBACK( interrupt_callback )
}
-static MACHINE_START( cball )
+void cball_state::machine_start()
{
- cball_state *state = machine.driver_data<cball_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
}
-static MACHINE_RESET( cball )
+void cball_state::machine_reset()
{
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(16), FUNC(interrupt_callback), 16);
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(16), FUNC(interrupt_callback), 16);
}
-static PALETTE_INIT( cball )
+void cball_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0x80, 0x80, 0x80));
- palette_set_color(machine, 1, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 2, MAKE_RGB(0x80, 0x80, 0x80));
- palette_set_color(machine, 3, MAKE_RGB(0xff, 0xff, 0xff));
- palette_set_color(machine, 4, MAKE_RGB(0x80, 0x80, 0x80));
- palette_set_color(machine, 5, MAKE_RGB(0xc0, 0xc0, 0xc0));
+ palette_set_color(machine(), 0, MAKE_RGB(0x80, 0x80, 0x80));
+ palette_set_color(machine(), 1, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 2, MAKE_RGB(0x80, 0x80, 0x80));
+ palette_set_color(machine(), 3, MAKE_RGB(0xff, 0xff, 0xff));
+ palette_set_color(machine(), 4, MAKE_RGB(0x80, 0x80, 0x80));
+ palette_set_color(machine(), 5, MAKE_RGB(0xc0, 0xc0, 0xc0));
}
@@ -228,8 +230,6 @@ static MACHINE_CONFIG_START( cball, cball_state )
MCFG_CPU_ADD("maincpu", M6800, XTAL_12_096MHz / 16) /* ? */
MCFG_CPU_PROGRAM_MAP(cpu_map)
- MCFG_MACHINE_START(cball)
- MCFG_MACHINE_RESET(cball)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -241,8 +241,6 @@ static MACHINE_CONFIG_START( cball, cball_state )
MCFG_GFXDECODE(cball)
MCFG_PALETTE_LENGTH(6)
- MCFG_PALETTE_INIT(cball)
- MCFG_VIDEO_START(cball)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cbasebal.c b/src/mame/drivers/cbasebal.c
index db2d6f37a3f..af31eeb72fd 100644
--- a/src/mame/drivers/cbasebal.c
+++ b/src/mame/drivers/cbasebal.c
@@ -239,38 +239,36 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( cbasebal )
+void cbasebal_state::machine_start()
{
- cbasebal_state *state = machine.driver_data<cbasebal_state>();
-
- state->membank("bank1")->configure_entries(0, 32, state->memregion("maincpu")->base() + 0x10000, 0x4000);
-
- state->save_item(NAME(state->m_rambank));
- state->save_item(NAME(state->m_tilebank));
- state->save_item(NAME(state->m_spritebank));
- state->save_item(NAME(state->m_text_on));
- state->save_item(NAME(state->m_bg_on));
- state->save_item(NAME(state->m_obj_on));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_scroll_x));
- state->save_item(NAME(state->m_scroll_y));
+
+ membank("bank1")->configure_entries(0, 32, memregion("maincpu")->base() + 0x10000, 0x4000);
+
+ save_item(NAME(m_rambank));
+ save_item(NAME(m_tilebank));
+ save_item(NAME(m_spritebank));
+ save_item(NAME(m_text_on));
+ save_item(NAME(m_bg_on));
+ save_item(NAME(m_obj_on));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_scroll_x));
+ save_item(NAME(m_scroll_y));
}
-static MACHINE_RESET( cbasebal )
+void cbasebal_state::machine_reset()
{
- cbasebal_state *state = machine.driver_data<cbasebal_state>();
-
- state->m_rambank = 0;
- state->m_tilebank = 0;
- state->m_spritebank = 0;
- state->m_text_on = 0;
- state->m_bg_on = 0;
- state->m_obj_on = 0;
- state->m_flipscreen = 0;
- state->m_scroll_x[0] = 0;
- state->m_scroll_x[1] = 0;
- state->m_scroll_y[0] = 0;
- state->m_scroll_y[1] = 0;
+
+ m_rambank = 0;
+ m_tilebank = 0;
+ m_spritebank = 0;
+ m_text_on = 0;
+ m_bg_on = 0;
+ m_obj_on = 0;
+ m_flipscreen = 0;
+ m_scroll_x[0] = 0;
+ m_scroll_x[1] = 0;
+ m_scroll_y[0] = 0;
+ m_scroll_y[1] = 0;
}
static MACHINE_CONFIG_START( cbasebal, cbasebal_state )
@@ -281,8 +279,6 @@ static MACHINE_CONFIG_START( cbasebal, cbasebal_state )
MCFG_CPU_IO_MAP(cbasebal_portmap)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* ??? */
- MCFG_MACHINE_START(cbasebal)
- MCFG_MACHINE_RESET(cbasebal)
MCFG_EEPROM_ADD("eeprom", cbasebal_eeprom_intf)
@@ -299,7 +295,6 @@ static MACHINE_CONFIG_START( cbasebal, cbasebal_state )
MCFG_GFXDECODE(cbasebal)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(cbasebal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cbuster.c b/src/mame/drivers/cbuster.c
index e6f44b4ba50..2dec4f4f761 100644
--- a/src/mame/drivers/cbuster.c
+++ b/src/mame/drivers/cbuster.c
@@ -302,25 +302,23 @@ static const deco16ic_interface twocrude_deco16ic_tilegen2_intf =
0,2,
};
-static MACHINE_START( cbuster )
+void cbuster_state::machine_start()
{
- cbuster_state *state = machine.driver_data<cbuster_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_deco_tilegen1 = machine.device("tilegen1");
- state->m_deco_tilegen2 = machine.device("tilegen2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_deco_tilegen1 = machine().device("tilegen1");
+ m_deco_tilegen2 = machine().device("tilegen2");
- state->save_item(NAME(state->m_prot));
- state->save_item(NAME(state->m_pri));
+ save_item(NAME(m_prot));
+ save_item(NAME(m_pri));
}
-static MACHINE_RESET( cbuster )
+void cbuster_state::machine_reset()
{
- cbuster_state *state = machine.driver_data<cbuster_state>();
- state->m_prot = 0;
- state->m_pri = 0;
+ m_prot = 0;
+ m_pri = 0;
}
static MACHINE_CONFIG_START( twocrude, cbuster_state )
@@ -333,8 +331,6 @@ static MACHINE_CONFIG_START( twocrude, cbuster_state )
MCFG_CPU_ADD("audiocpu", H6280,32220000/4) /* Custom chip 45, Audio section crystal is 32.220 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(cbuster)
- MCFG_MACHINE_RESET(cbuster)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -343,7 +339,6 @@ static MACHINE_CONFIG_START( twocrude, cbuster_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_STATIC(twocrude)
- MCFG_VIDEO_START(twocrude)
MCFG_GFXDECODE(cbuster)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c
index 059e75e55c5..7b8c684f52d 100644
--- a/src/mame/drivers/ccastles.c
+++ b/src/mame/drivers/ccastles.c
@@ -185,52 +185,50 @@ CUSTOM_INPUT_MEMBER(ccastles_state::get_vblank)
*
*************************************/
-static MACHINE_START( ccastles )
+void ccastles_state::machine_start()
{
- ccastles_state *state = machine.driver_data<ccastles_state>();
rectangle visarea;
/* initialize globals */
- state->m_syncprom = state->memregion("proms")->base() + 0x000;
+ m_syncprom = memregion("proms")->base() + 0x000;
/* find the start of VBLANK in the SYNC PROM */
- for (state->m_vblank_start = 0; state->m_vblank_start < 256; state->m_vblank_start++)
- if ((state->m_syncprom[(state->m_vblank_start - 1) & 0xff] & 1) == 0 && (state->m_syncprom[state->m_vblank_start] & 1) != 0)
+ for (m_vblank_start = 0; m_vblank_start < 256; m_vblank_start++)
+ if ((m_syncprom[(m_vblank_start - 1) & 0xff] & 1) == 0 && (m_syncprom[m_vblank_start] & 1) != 0)
break;
- if (state->m_vblank_start == 0)
- state->m_vblank_start = 256;
+ if (m_vblank_start == 0)
+ m_vblank_start = 256;
/* find the end of VBLANK in the SYNC PROM */
- for (state->m_vblank_end = 0; state->m_vblank_end < 256; state->m_vblank_end++)
- if ((state->m_syncprom[(state->m_vblank_end - 1) & 0xff] & 1) != 0 && (state->m_syncprom[state->m_vblank_end] & 1) == 0)
+ for (m_vblank_end = 0; m_vblank_end < 256; m_vblank_end++)
+ if ((m_syncprom[(m_vblank_end - 1) & 0xff] & 1) != 0 && (m_syncprom[m_vblank_end] & 1) == 0)
break;
/* can't handle the wrapping case */
- assert(state->m_vblank_end < state->m_vblank_start);
+ assert(m_vblank_end < m_vblank_start);
/* reconfigure the visible area to match */
- visarea.set(0, 255, state->m_vblank_end, state->m_vblank_start - 1);
- machine.primary_screen->configure(320, 256, visarea, HZ_TO_ATTOSECONDS(PIXEL_CLOCK) * VTOTAL * HTOTAL);
+ visarea.set(0, 255, m_vblank_end, m_vblank_start - 1);
+ machine().primary_screen->configure(320, 256, visarea, HZ_TO_ATTOSECONDS(PIXEL_CLOCK) * VTOTAL * HTOTAL);
/* configure the ROM banking */
- state->membank("bank1")->configure_entries(0, 2, state->memregion("maincpu")->base() + 0xa000, 0x6000);
+ membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0xa000, 0x6000);
/* create a timer for IRQs and set up the first callback */
- state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(clock_irq));
- state->m_irq_state = 0;
- schedule_next_irq(machine, 0);
+ m_irq_timer = machine().scheduler().timer_alloc(FUNC(clock_irq));
+ m_irq_state = 0;
+ schedule_next_irq(machine(), 0);
/* setup for save states */
- state->save_item(NAME(state->m_irq_state));
- state->save_item(NAME(state->m_nvram_store));
+ save_item(NAME(m_irq_state));
+ save_item(NAME(m_nvram_store));
}
-static MACHINE_RESET( ccastles )
+void ccastles_state::machine_reset()
{
- ccastles_state *state = machine.driver_data<ccastles_state>();
- machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
- state->m_irq_state = 0;
+ machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
+ m_irq_state = 0;
}
@@ -475,8 +473,6 @@ static MACHINE_CONFIG_START( ccastles, ccastles_state )
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(ccastles)
- MCFG_MACHINE_RESET(ccastles)
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_X2212_ADD_AUTOSAVE("nvram_4b")
@@ -490,7 +486,6 @@ static MACHINE_CONFIG_START( ccastles, ccastles_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, 0, HTOTAL - 1, VTOTAL, 0, VTOTAL - 1) /* will be adjusted later */
MCFG_SCREEN_UPDATE_STATIC(ccastles)
- MCFG_VIDEO_START(ccastles)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cchance.c b/src/mame/drivers/cchance.c
index e37be0ea516..3bb6d8eb133 100644
--- a/src/mame/drivers/cchance.c
+++ b/src/mame/drivers/cchance.c
@@ -49,6 +49,8 @@ public:
DECLARE_WRITE8_MEMBER(output_0_w);
DECLARE_READ8_MEMBER(input_1_r);
DECLARE_WRITE8_MEMBER(output_1_w);
+ DECLARE_MACHINE_START(cchance);
+ DECLARE_MACHINE_RESET(cchance);
};
@@ -196,24 +198,22 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
-static MACHINE_START( cchance )
+MACHINE_START_MEMBER(cchance_state,cchance)
{
- cchance_state *state = machine.driver_data<cchance_state>();
- state->m_mcu = NULL;
+ m_mcu = NULL;
- state->save_item(NAME(state->m_screenflip));
- state->save_item(NAME(state->m_hop_io));
- state->save_item(NAME(state->m_bell_io));
+ save_item(NAME(m_screenflip));
+ save_item(NAME(m_hop_io));
+ save_item(NAME(m_bell_io));
}
-static MACHINE_RESET( cchance )
+MACHINE_RESET_MEMBER(cchance_state,cchance)
{
- cchance_state *state = machine.driver_data<cchance_state>();
- state->m_screenflip = 0;
- state->m_mcu_type = -1;
- state->m_hop_io = 0;
- state->m_bell_io = 0;
+ m_screenflip = 0;
+ m_mcu_type = -1;
+ m_hop_io = 0;
+ m_bell_io = 0;
}
@@ -223,8 +223,8 @@ static MACHINE_CONFIG_START( cchance, cchance_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(cchance)
- MCFG_MACHINE_RESET(cchance)
+ MCFG_MACHINE_START_OVERRIDE(cchance_state,cchance)
+ MCFG_MACHINE_RESET_OVERRIDE(cchance_state,cchance)
MCFG_GFXDECODE(cchance)
@@ -240,7 +240,7 @@ static MACHINE_CONFIG_START( cchance, cchance_state )
MCFG_SCREEN_VBLANK_STATIC(tnzs)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(arknoid2)
+ MCFG_PALETTE_INIT_OVERRIDE(cchance_state,arknoid2)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cchasm.c b/src/mame/drivers/cchasm.c
index eb0eaf5bd3d..a6ac9580593 100644
--- a/src/mame/drivers/cchasm.c
+++ b/src/mame/drivers/cchasm.c
@@ -173,7 +173,6 @@ static MACHINE_CONFIG_START( cchasm, cchasm_state )
MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1)
MCFG_SCREEN_UPDATE_STATIC(vector)
- MCFG_VIDEO_START(cchasm)
/* sound hardware */
MCFG_SOUND_START(cchasm)
diff --git a/src/mame/drivers/cclimber.c b/src/mame/drivers/cclimber.c
index ab2091a2f2c..e240c6d3c21 100644
--- a/src/mame/drivers/cclimber.c
+++ b/src/mame/drivers/cclimber.c
@@ -251,14 +251,13 @@ WRITE8_MEMBER(cclimber_state::toprollr_rombank_w)
membank("bank1")->set_entry(m_toprollr_rombank);
}
-static MACHINE_RESET( cclimber )
+MACHINE_RESET_MEMBER(cclimber_state,cclimber)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
/* Disable interrupts, River Patrol / Silver Land needs this otherwise returns bad RAM on POST */
- state->m_nmi_mask = 0;
+ m_nmi_mask = 0;
- state->m_toprollr_rombank = 0;
+ m_toprollr_rombank = 0;
}
@@ -990,7 +989,7 @@ static MACHINE_CONFIG_START( root, cclimber_state )
MCFG_CPU_IO_MAP(cclimber_portmap)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_RESET(cclimber)
+ MCFG_MACHINE_RESET_OVERRIDE(cclimber_state,cclimber)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1003,8 +1002,8 @@ static MACHINE_CONFIG_START( root, cclimber_state )
MCFG_GFXDECODE(cclimber)
MCFG_PALETTE_LENGTH(16*4+8*4)
- MCFG_PALETTE_INIT(cclimber)
- MCFG_VIDEO_START(cclimber)
+ MCFG_PALETTE_INIT_OVERRIDE(cclimber_state,cclimber)
+ MCFG_VIDEO_START_OVERRIDE(cclimber_state,cclimber)
MACHINE_CONFIG_END
@@ -1046,7 +1045,7 @@ static MACHINE_CONFIG_DERIVED( yamato, root )
/* video hardware */
MCFG_PALETTE_LENGTH(16*4+8*4+256)
- MCFG_PALETTE_INIT(yamato)
+ MCFG_PALETTE_INIT_OVERRIDE(cclimber_state,yamato)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(yamato)
@@ -1070,9 +1069,9 @@ static MACHINE_CONFIG_DERIVED( toprollr, cclimber )
/* video hardware */
MCFG_GFXDECODE(toprollr)
MCFG_PALETTE_LENGTH(32*5)
- MCFG_PALETTE_INIT(toprollr)
+ MCFG_PALETTE_INIT_OVERRIDE(cclimber_state,toprollr)
- MCFG_VIDEO_START(toprollr)
+ MCFG_VIDEO_START_OVERRIDE(cclimber_state,toprollr)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(toprollr)
MACHINE_CONFIG_END
@@ -1101,8 +1100,8 @@ static MACHINE_CONFIG_START( swimmer, cclimber_state )
MCFG_GFXDECODE(swimmer)
MCFG_PALETTE_LENGTH(32*8+4*8+1)
- MCFG_PALETTE_INIT(swimmer)
- MCFG_VIDEO_START(swimmer)
+ MCFG_PALETTE_INIT_OVERRIDE(cclimber_state,swimmer)
+ MCFG_VIDEO_START_OVERRIDE(cclimber_state,swimmer)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cd32.c b/src/mame/drivers/cd32.c
index b6a7774ea75..34b6bb91018 100644
--- a/src/mame/drivers/cd32.c
+++ b/src/mame/drivers/cd32.c
@@ -770,7 +770,7 @@ static MACHINE_CONFIG_START( cd32base, cd32_state )
MCFG_CPU_PROGRAM_MAP(cd32_map)
MCFG_DEVICE_ADD("akiko", AKIKO, 0)
- MCFG_MACHINE_RESET(amiga)
+ MCFG_MACHINE_RESET_OVERRIDE(amiga_state,amiga)
MCFG_I2CMEM_ADD("i2cmem",i2cmem_interface)
@@ -784,7 +784,7 @@ static MACHINE_CONFIG_START( cd32base, cd32_state )
MCFG_SCREEN_VISIBLE_AREA((129-8-8)*2, (449+8-1+8)*2, 44-8, 300+8-1)
MCFG_SCREEN_UPDATE_STATIC(amiga_aga)
- MCFG_VIDEO_START(amiga_aga)
+ MCFG_VIDEO_START_OVERRIDE(cd32_state,amiga_aga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/cdi.c b/src/mame/drivers/cdi.c
index 807a2aa3a5b..075b346b109 100644
--- a/src/mame/drivers/cdi.c
+++ b/src/mame/drivers/cdi.c
@@ -189,121 +189,119 @@ static INPUT_PORTS_START( quizard )
INPUT_PORTS_END
-static MACHINE_START( cdi )
+void cdi_state::machine_start()
{
- cdi_state *state = machine.driver_data<cdi_state>();
- scc68070_register_globals(machine, &state->m_scc68070_regs);
+ scc68070_register_globals(machine(), &m_scc68070_regs);
}
-static MACHINE_RESET( cdi )
+MACHINE_RESET_MEMBER(cdi_state,cdi)
{
- cdi_state *state = machine.driver_data<cdi_state>();
- UINT16 *src = (UINT16*)state->memregion("maincpu")->base();
- UINT16 *dst = state->m_planea;
- //device_t *cdrom_dev = machine.device("cdrom");
+ UINT16 *src = (UINT16*)memregion("maincpu")->base();
+ UINT16 *dst = m_planea;
+ //device_t *cdrom_dev = machine().device("cdrom");
memcpy(dst, src, 0x8);
- scc68070_init(machine, &state->m_scc68070_regs);
+ scc68070_init(machine(), &m_scc68070_regs);
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
- state->m_dmadac[0] = machine.device<dmadac_sound_device>("dac1");
- state->m_dmadac[1] = machine.device<dmadac_sound_device>("dac2");
+ m_dmadac[0] = machine().device<dmadac_sound_device>("dac1");
+ m_dmadac[1] = machine().device<dmadac_sound_device>("dac2");
}
-static MACHINE_RESET( quizrd12 )
+MACHINE_RESET_MEMBER(cdi_state,quizrd12)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
- scc68070_set_quizard_mcu_value(machine, 0x021f);
- scc68070_set_quizard_mcu_ack(machine, 0x5a);
+ scc68070_set_quizard_mcu_value(machine(), 0x021f);
+ scc68070_set_quizard_mcu_ack(machine(), 0x5a);
}
-static MACHINE_RESET( quizrd17 )
+MACHINE_RESET_MEMBER(cdi_state,quizrd17)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
- scc68070_set_quizard_mcu_value(machine, 0x021f);
- scc68070_set_quizard_mcu_ack(machine, 0x5a);
+ scc68070_set_quizard_mcu_value(machine(), 0x021f);
+ scc68070_set_quizard_mcu_ack(machine(), 0x5a);
}
/* Untested - copied from quizrd17 */
-static MACHINE_RESET( quizrd18 )
+MACHINE_RESET_MEMBER(cdi_state,quizrd18)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
- scc68070_set_quizard_mcu_value(machine, 0x021f);
- scc68070_set_quizard_mcu_ack(machine, 0x5a);
+ scc68070_set_quizard_mcu_value(machine(), 0x021f);
+ scc68070_set_quizard_mcu_ack(machine(), 0x5a);
}
-static MACHINE_RESET( quizrd22 )
+MACHINE_RESET_MEMBER(cdi_state,quizrd22)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
// 0x2b1: Italian
// 0x001: French
// 0x188: German
- scc68070_set_quizard_mcu_value(machine, 0x188);
- scc68070_set_quizard_mcu_ack(machine, 0x59);
+ scc68070_set_quizard_mcu_value(machine(), 0x188);
+ scc68070_set_quizard_mcu_ack(machine(), 0x59);
}
/* Untested - copied from quizrd22 */
-static MACHINE_RESET( quizrd23 )
+MACHINE_RESET_MEMBER(cdi_state,quizrd23)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
// 0x2b1: Italian
// 0x001: French
// 0x188: German
- scc68070_set_quizard_mcu_value(machine, 0x188);
- scc68070_set_quizard_mcu_ack(machine, 0x59);
+ scc68070_set_quizard_mcu_value(machine(), 0x188);
+ scc68070_set_quizard_mcu_ack(machine(), 0x59);
}
-static MACHINE_RESET( quizrd32 )
+MACHINE_RESET_MEMBER(cdi_state,quizrd32)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
- scc68070_set_quizard_mcu_value(machine, 0x00ae);
- scc68070_set_quizard_mcu_ack(machine, 0x58);
+ scc68070_set_quizard_mcu_value(machine(), 0x00ae);
+ scc68070_set_quizard_mcu_ack(machine(), 0x58);
}
/* Untested - copied from quizrd32 */
-static MACHINE_RESET( quizrd34 )
+MACHINE_RESET_MEMBER(cdi_state,quizrd34)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
- scc68070_set_quizard_mcu_value(machine, 0x00ae);
- scc68070_set_quizard_mcu_ack(machine, 0x58);
+ scc68070_set_quizard_mcu_value(machine(), 0x00ae);
+ scc68070_set_quizard_mcu_ack(machine(), 0x58);
}
/* Untested - copied from quizrr41 */
-static MACHINE_RESET( quizrr40 )
+MACHINE_RESET_MEMBER(cdi_state,quizrr40)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
- //scc68070_set_quizard_mcu_value(machine, 0x0139);
- scc68070_set_quizard_mcu_value(machine, 0x011f);
- scc68070_set_quizard_mcu_ack(machine, 0x57);
+ //scc68070_set_quizard_mcu_value(machine(), 0x0139);
+ scc68070_set_quizard_mcu_value(machine(), 0x011f);
+ scc68070_set_quizard_mcu_ack(machine(), 0x57);
}
-static MACHINE_RESET( quizrr41 )
+MACHINE_RESET_MEMBER(cdi_state,quizrr41)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
- //scc68070_set_quizard_mcu_value(machine, 0x0139);
- scc68070_set_quizard_mcu_value(machine, 0x011f);
- scc68070_set_quizard_mcu_ack(machine, 0x57);
+ //scc68070_set_quizard_mcu_value(machine(), 0x0139);
+ scc68070_set_quizard_mcu_value(machine(), 0x011f);
+ scc68070_set_quizard_mcu_ack(machine(), 0x57);
}
-static MACHINE_RESET( quizrr42 )
+MACHINE_RESET_MEMBER(cdi_state,quizrr42)
{
- MACHINE_RESET_CALL( cdi );
+ MACHINE_RESET_CALL_MEMBER( cdi );
- scc68070_set_quizard_mcu_value(machine, 0x01ae);
- scc68070_set_quizard_mcu_ack(machine, 0x57);
+ scc68070_set_quizard_mcu_value(machine(), 0x01ae);
+ scc68070_set_quizard_mcu_ack(machine(), 0x57);
}
static DEVICE_IMAGE_DISPLAY_INFO(cdi_cdinfo)
@@ -346,9 +344,7 @@ static MACHINE_CONFIG_START( cdi, cdi_state )
MCFG_DEFAULT_LAYOUT(layout_cdi)
- MCFG_VIDEO_START(cdimono1)
- MCFG_MACHINE_START(cdi)
MCFG_CDICDIC_ADD( "cdic" )
MCFG_CDISLAVE_ADD( "slave" )
@@ -377,7 +373,7 @@ struct cdrom_interface cdi_cdrom =
// Standard CD-i system, with CD-ROM image device (MESS) and Software List (MESS)
static MACHINE_CONFIG_DERIVED( cdimono1, cdi )
- MCFG_MACHINE_RESET( cdi )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, cdi )
MCFG_CDROM_ADD( "cdrom", cdi_cdrom )
@@ -392,43 +388,43 @@ static MACHINE_CONFIG_DERIVED( quizard, cdi )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrd12, quizard )
- MCFG_MACHINE_RESET( quizrd12 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrd12 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrd17, quizard )
- MCFG_MACHINE_RESET( quizrd17 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrd17 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrd18, quizard )
- MCFG_MACHINE_RESET( quizrd18 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrd18 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrd22, quizard )
- MCFG_MACHINE_RESET( quizrd22 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrd22 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrd23, quizard )
- MCFG_MACHINE_RESET( quizrd23 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrd23 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrd32, quizard )
- MCFG_MACHINE_RESET( quizrd32 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrd32 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrd34, quizard )
- MCFG_MACHINE_RESET( quizrd34 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrd34 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrr40, quizard )
- MCFG_MACHINE_RESET( quizrr40 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrr40 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrr41, quizard )
- MCFG_MACHINE_RESET( quizrr41 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrr41 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizrr42, quizard )
- MCFG_MACHINE_RESET( quizrr42 )
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizrr42 )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index 7a11bf839f3..016d9d0da86 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -454,36 +454,33 @@ static TIMER_DEVICE_CALLBACK( generate_interrupt )
}
-static MACHINE_START( centiped )
+MACHINE_START_MEMBER(centiped_state,centiped)
{
- centiped_state *state = machine.driver_data<centiped_state>();
- state->save_item(NAME(state->m_oldpos));
- state->save_item(NAME(state->m_sign));
- state->save_item(NAME(state->m_dsw_select));
- state->save_item(NAME(state->m_prg_bank));
+ save_item(NAME(m_oldpos));
+ save_item(NAME(m_sign));
+ save_item(NAME(m_dsw_select));
+ save_item(NAME(m_prg_bank));
}
-static MACHINE_RESET( centiped )
+MACHINE_RESET_MEMBER(centiped_state,centiped)
{
- centiped_state *state = machine.driver_data<centiped_state>();
- machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
- state->m_dsw_select = 0;
- state->m_control_select = 0;
- state->m_prg_bank = 0;
+ machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
+ m_dsw_select = 0;
+ m_control_select = 0;
+ m_prg_bank = 0;
}
-static MACHINE_RESET( magworm )
+MACHINE_RESET_MEMBER(centiped_state,magworm)
{
- centiped_state *state = machine.driver_data<centiped_state>();
- MACHINE_RESET_CALL(centiped);
+ MACHINE_RESET_CALL_MEMBER(centiped);
/* kludge: clear RAM so that magworm can be reset cleanly */
- memset(state->m_rambase, 0, 0x400);
+ memset(m_rambase, 0, 0x400);
}
@@ -1756,8 +1753,8 @@ static MACHINE_CONFIG_START( centiped_base, centiped_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M6502, 12096000/8) /* 1.512 MHz (slows down to 0.75MHz while accessing playfield RAM) */
- MCFG_MACHINE_START(centiped)
- MCFG_MACHINE_RESET(centiped)
+ MCFG_MACHINE_START_OVERRIDE(centiped_state,centiped)
+ MCFG_MACHINE_RESET_OVERRIDE(centiped_state,centiped)
MCFG_ATARIVGEAROM_ADD("earom")
@@ -1774,7 +1771,7 @@ static MACHINE_CONFIG_START( centiped_base, centiped_state )
MCFG_GFXDECODE(centiped)
MCFG_PALETTE_LENGTH(4+4*4*4*4)
- MCFG_VIDEO_START(centiped)
+ MCFG_VIDEO_START_OVERRIDE(centiped_state,centiped)
MACHINE_CONFIG_END
@@ -1825,7 +1822,7 @@ static MACHINE_CONFIG_DERIVED( magworm, centiped_base )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(magworm_map)
- MCFG_MACHINE_RESET(magworm)
+ MCFG_MACHINE_RESET_OVERRIDE(centiped_state,magworm)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1847,7 +1844,7 @@ static MACHINE_CONFIG_DERIVED( milliped, centiped )
MCFG_GFXDECODE(milliped)
MCFG_PALETTE_LENGTH(4*4+4*4*4*4*4)
- MCFG_VIDEO_START(milliped)
+ MCFG_VIDEO_START_OVERRIDE(centiped_state,milliped)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(milliped)
@@ -1883,8 +1880,8 @@ static MACHINE_CONFIG_DERIVED( warlords, centiped )
MCFG_GFXDECODE(warlords)
MCFG_PALETTE_LENGTH(8*4+8*4)
- MCFG_PALETTE_INIT(warlords)
- MCFG_VIDEO_START(warlords)
+ MCFG_PALETTE_INIT_OVERRIDE(centiped_state,warlords)
+ MCFG_VIDEO_START_OVERRIDE(centiped_state,warlords)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(warlords)
@@ -1924,7 +1921,7 @@ static MACHINE_CONFIG_START( bullsdrt, centiped_state )
MCFG_GFXDECODE(centiped)
MCFG_PALETTE_LENGTH(4+4*4*4*4)
- MCFG_VIDEO_START(bullsdrt)
+ MCFG_VIDEO_START_OVERRIDE(centiped_state,bullsdrt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cesclass.c b/src/mame/drivers/cesclass.c
index 51921ac5b6b..d0b94be5d0e 100644
--- a/src/mame/drivers/cesclass.c
+++ b/src/mame/drivers/cesclass.c
@@ -53,6 +53,7 @@ protected:
// driver_device overrides
virtual void video_start();
+ virtual void palette_init();
};
@@ -232,12 +233,12 @@ static INPUT_PORTS_START( cesclassic )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("l_lcd")
INPUT_PORTS_END
-static PALETTE_INIT( cesclassic )
+void cesclassic_state::palette_init()
{
int i;
for (i = 0; i < 4; i++)
- palette_set_color_rgb(machine, i, pal2bit(i), 0, 0);
+ palette_set_color_rgb(machine(), i, pal2bit(i), 0, 0);
}
static MACHINE_CONFIG_START( cesclassic, cesclassic_state )
@@ -259,7 +260,6 @@ static MACHINE_CONFIG_START( cesclassic, cesclassic_state )
MCFG_DEFAULT_LAYOUT( layout_lcd )
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(cesclassic)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_OKIM6295_ADD("oki", 24000000/16, OKIM6295_PIN7_LOW)
diff --git a/src/mame/drivers/chaknpop.c b/src/mame/drivers/chaknpop.c
index c92901d384e..36e20d33eb8 100644
--- a/src/mame/drivers/chaknpop.c
+++ b/src/mame/drivers/chaknpop.c
@@ -343,33 +343,31 @@ static GFXDECODE_START( chaknpop )
GFXDECODE_END
-static MACHINE_START( chaknpop )
+void chaknpop_state::machine_start()
{
- chaknpop_state *state = machine.driver_data<chaknpop_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
- state->save_item(NAME(state->m_gfxmode));
- state->save_item(NAME(state->m_flip_x));
- state->save_item(NAME(state->m_flip_y));
+ save_item(NAME(m_gfxmode));
+ save_item(NAME(m_flip_x));
+ save_item(NAME(m_flip_y));
- state->save_item(NAME(state->m_mcu_seed));
- state->save_item(NAME(state->m_mcu_result));
- state->save_item(NAME(state->m_mcu_select));
+ save_item(NAME(m_mcu_seed));
+ save_item(NAME(m_mcu_result));
+ save_item(NAME(m_mcu_select));
}
-static MACHINE_RESET( chaknpop )
+void chaknpop_state::machine_reset()
{
- chaknpop_state *state = machine.driver_data<chaknpop_state>();
- state->m_gfxmode = 0;
- state->m_flip_x = 0;
- state->m_flip_y = 0;
+ m_gfxmode = 0;
+ m_flip_x = 0;
+ m_flip_y = 0;
- state->m_mcu_seed = MCU_INITIAL_SEED;
- state->m_mcu_result = 0;
- state->m_mcu_select = 0;
+ m_mcu_seed = MCU_INITIAL_SEED;
+ m_mcu_result = 0;
+ m_mcu_select = 0;
}
static MACHINE_CONFIG_START( chaknpop, chaknpop_state )
@@ -379,8 +377,6 @@ static MACHINE_CONFIG_START( chaknpop, chaknpop_state )
MCFG_CPU_PROGRAM_MAP(chaknpop_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(chaknpop)
- MCFG_MACHINE_RESET(chaknpop)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -393,8 +389,6 @@ static MACHINE_CONFIG_START( chaknpop, chaknpop_state )
MCFG_GFXDECODE(chaknpop)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(chaknpop)
- MCFG_VIDEO_START(chaknpop)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cham24.c b/src/mame/drivers/cham24.c
index cd2b903bc6b..9ce08855a48 100644
--- a/src/mame/drivers/cham24.c
+++ b/src/mame/drivers/cham24.c
@@ -84,6 +84,10 @@ public:
DECLARE_WRITE8_MEMBER(psg_4015_w);
DECLARE_WRITE8_MEMBER(psg_4017_w);
DECLARE_DRIVER_INIT(cham24);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -268,14 +272,14 @@ static const nes_interface cham24_interface_1 =
"maincpu"
};
-static MACHINE_RESET( cham24 )
+void cham24_state::machine_reset()
{
}
-static PALETTE_INIT( cham24 )
+void cham24_state::palette_init()
{
- ppu2c0x_device *ppu = machine.device<ppu2c0x_device>("ppu");
- ppu->init_palette(machine, 0);
+ ppu2c0x_device *ppu = machine().device<ppu2c0x_device>("ppu");
+ ppu->init_palette(machine(), 0);
}
static void ppu_irq( device_t *device, int *ppu_regs )
@@ -294,7 +298,7 @@ static const ppu2c0x_interface ppu_interface =
ppu_irq /* irq */
};
-static VIDEO_START( cham24 )
+void cham24_state::video_start()
{
}
@@ -307,29 +311,28 @@ static SCREEN_UPDATE_IND16( cham24 )
}
-static MACHINE_START( cham24 )
+void cham24_state::machine_start()
{
- cham24_state *state = machine.driver_data<cham24_state>();
/* switch PRG rom */
- UINT8* dst = state->memregion("maincpu")->base();
- UINT8* src = state->memregion("user1")->base();
+ UINT8* dst = memregion("maincpu")->base();
+ UINT8* src = memregion("user1")->base();
memcpy(&dst[0x8000], &src[0x0f8000], 0x4000);
memcpy(&dst[0xc000], &src[0x0f8000], 0x4000);
/* uses 8K swapping, all ROM!*/
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank1");
- state->membank("bank1")->set_base(state->memregion("gfx1")->base());
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank1");
+ membank("bank1")->set_base(memregion("gfx1")->base());
/* need nametable ram, though. I doubt this uses more than 2k, but it starts up configured for 4 */
- state->m_nt_ram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_nt_page[0] = state->m_nt_ram;
- state->m_nt_page[1] = state->m_nt_ram + 0x400;
- state->m_nt_page[2] = state->m_nt_ram + 0x800;
- state->m_nt_page[3] = state->m_nt_ram + 0xc00;
+ m_nt_ram = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_nt_page[0] = m_nt_ram;
+ m_nt_page[1] = m_nt_ram + 0x400;
+ m_nt_page[2] = m_nt_ram + 0x800;
+ m_nt_page[3] = m_nt_ram + 0xc00;
/* and read/write handlers */
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff,read8_delegate(FUNC(cham24_state::nt_r), state), write8_delegate(FUNC(cham24_state::nt_w), state));
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff,read8_delegate(FUNC(cham24_state::nt_r), this), write8_delegate(FUNC(cham24_state::nt_w), this));
}
DRIVER_INIT_MEMBER(cham24_state,cham24)
@@ -345,8 +348,6 @@ static MACHINE_CONFIG_START( cham24, cham24_state )
MCFG_CPU_ADD("maincpu", N2A03, N2A03_DEFAULTCLOCK)
MCFG_CPU_PROGRAM_MAP(cham24_map)
- MCFG_MACHINE_RESET( cham24 )
- MCFG_MACHINE_START( cham24 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -358,8 +359,6 @@ static MACHINE_CONFIG_START( cham24, cham24_state )
MCFG_GFXDECODE(cham24)
MCFG_PALETTE_LENGTH(8*4*16)
- MCFG_PALETTE_INIT(cham24)
- MCFG_VIDEO_START(cham24)
MCFG_PPU2C04_ADD("ppu", ppu_interface)
diff --git a/src/mame/drivers/champbas.c b/src/mame/drivers/champbas.c
index f0bf8aff04f..c4c8f98ca0a 100644
--- a/src/mame/drivers/champbas.c
+++ b/src/mame/drivers/champbas.c
@@ -576,36 +576,33 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( champbas )
+MACHINE_START_MEMBER(champbas_state,champbas)
{
- champbas_state *state = machine.driver_data<champbas_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_mcu = machine.device(CPUTAG_MCU);
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_mcu = machine().device(CPUTAG_MCU);
- state->save_item(NAME(state->m_watchdog_count));
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_gfx_bank));
+ save_item(NAME(m_watchdog_count));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_gfx_bank));
}
-static MACHINE_START( exctsccr )
+MACHINE_START_MEMBER(champbas_state,exctsccr)
{
- champbas_state *state = machine.driver_data<champbas_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
// FIXME
- machine.scheduler().timer_pulse(attotime::from_hz(75), FUNC(exctsccr_fm_callback)); /* updates fm */
+ machine().scheduler().timer_pulse(attotime::from_hz(75), FUNC(exctsccr_fm_callback)); /* updates fm */
- MACHINE_START_CALL(champbas);
+ MACHINE_START_CALL_MEMBER(champbas);
}
-static MACHINE_RESET( champbas )
+MACHINE_RESET_MEMBER(champbas_state,champbas)
{
- champbas_state *state = machine.driver_data<champbas_state>();
- state->m_palette_bank = 0;
- state->m_gfx_bank = 0; // talbot has only 1 bank
+ m_palette_bank = 0;
+ m_gfx_bank = 0; // talbot has only 1 bank
}
static INTERRUPT_GEN( vblank_irq )
@@ -628,8 +625,8 @@ static MACHINE_CONFIG_START( talbot, champbas_state )
MCFG_CPU_ADD(CPUTAG_MCU, ALPHA8201, XTAL_18_432MHz/6/8)
MCFG_CPU_PROGRAM_MAP(mcu_map)
- MCFG_MACHINE_START(champbas)
- MCFG_MACHINE_RESET(champbas)
+ MCFG_MACHINE_START_OVERRIDE(champbas_state,champbas)
+ MCFG_MACHINE_RESET_OVERRIDE(champbas_state,champbas)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -642,8 +639,8 @@ static MACHINE_CONFIG_START( talbot, champbas_state )
MCFG_GFXDECODE(talbot)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(champbas)
- MCFG_VIDEO_START(champbas)
+ MCFG_PALETTE_INIT_OVERRIDE(champbas_state,champbas)
+ MCFG_VIDEO_START_OVERRIDE(champbas_state,champbas)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -663,8 +660,8 @@ static MACHINE_CONFIG_START( champbas, champbas_state )
MCFG_CPU_ADD("sub", Z80, XTAL_18_432MHz/6)
MCFG_CPU_PROGRAM_MAP(champbas_sub_map)
- MCFG_MACHINE_START(champbas)
- MCFG_MACHINE_RESET(champbas)
+ MCFG_MACHINE_START_OVERRIDE(champbas_state,champbas)
+ MCFG_MACHINE_RESET_OVERRIDE(champbas_state,champbas)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -677,8 +674,8 @@ static MACHINE_CONFIG_START( champbas, champbas_state )
MCFG_GFXDECODE(champbas)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(champbas)
- MCFG_VIDEO_START(champbas)
+ MCFG_PALETTE_INIT_OVERRIDE(champbas_state,champbas)
+ MCFG_VIDEO_START_OVERRIDE(champbas_state,champbas)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -720,8 +717,8 @@ static MACHINE_CONFIG_START( exctsccr, champbas_state )
MCFG_CPU_ADD(CPUTAG_MCU, ALPHA8301, XTAL_18_432MHz/6/8) /* Actually 8302 */
MCFG_CPU_PROGRAM_MAP(mcu_map)
- MCFG_MACHINE_START(exctsccr)
- MCFG_MACHINE_RESET(champbas)
+ MCFG_MACHINE_START_OVERRIDE(champbas_state,exctsccr)
+ MCFG_MACHINE_RESET_OVERRIDE(champbas_state,champbas)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -734,8 +731,8 @@ static MACHINE_CONFIG_START( exctsccr, champbas_state )
MCFG_GFXDECODE(exctsccr)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(exctsccr)
- MCFG_VIDEO_START(exctsccr)
+ MCFG_PALETTE_INIT_OVERRIDE(champbas_state,exctsccr)
+ MCFG_VIDEO_START_OVERRIDE(champbas_state,exctsccr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -771,8 +768,8 @@ static MACHINE_CONFIG_START( exctsccrb, champbas_state )
MCFG_CPU_ADD("sub", Z80, XTAL_18_432MHz/6)
MCFG_CPU_PROGRAM_MAP(champbas_sub_map)
- MCFG_MACHINE_START(champbas)
- MCFG_MACHINE_RESET(champbas)
+ MCFG_MACHINE_START_OVERRIDE(champbas_state,champbas)
+ MCFG_MACHINE_RESET_OVERRIDE(champbas_state,champbas)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -785,8 +782,8 @@ static MACHINE_CONFIG_START( exctsccrb, champbas_state )
MCFG_GFXDECODE(exctsccr)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(exctsccr)
- MCFG_VIDEO_START(exctsccr)
+ MCFG_PALETTE_INIT_OVERRIDE(champbas_state,exctsccr)
+ MCFG_VIDEO_START_OVERRIDE(champbas_state,exctsccr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/champbwl.c b/src/mame/drivers/champbwl.c
index a053ac94e4f..4b2770655a8 100644
--- a/src/mame/drivers/champbwl.c
+++ b/src/mame/drivers/champbwl.c
@@ -168,6 +168,9 @@ public:
DECLARE_READ8_MEMBER(trackball_r);
DECLARE_WRITE8_MEMBER(champbwl_misc_w);
DECLARE_WRITE8_MEMBER(doraemon_outputs_w);
+ DECLARE_MACHINE_START(champbwl);
+ DECLARE_MACHINE_RESET(champbwl);
+ DECLARE_MACHINE_START(doraemon);
};
@@ -427,27 +430,25 @@ static const x1_010_interface champbwl_sound_intf =
0x0000 /* address */
};
-static MACHINE_START( champbwl )
+MACHINE_START_MEMBER(champbwl_state,champbwl)
{
- champbwl_state *state = machine.driver_data<champbwl_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->m_mcu = NULL;
+ m_mcu = NULL;
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
- state->save_item(NAME(state->m_screenflip));
- state->save_item(NAME(state->m_last_trackball_val));
+ save_item(NAME(m_screenflip));
+ save_item(NAME(m_last_trackball_val));
}
-static MACHINE_RESET( champbwl )
+MACHINE_RESET_MEMBER(champbwl_state,champbwl)
{
- champbwl_state *state = machine.driver_data<champbwl_state>();
- state->m_screenflip = 0;
- state->m_mcu_type = -1;
- state->m_last_trackball_val[0] = 0;
- state->m_last_trackball_val[1] = 0;
+ m_screenflip = 0;
+ m_mcu_type = -1;
+ m_last_trackball_val[0] = 0;
+ m_last_trackball_val[1] = 0;
}
@@ -479,8 +480,8 @@ static MACHINE_CONFIG_START( champbwl, champbwl_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_START(champbwl)
- MCFG_MACHINE_RESET(champbwl)
+ MCFG_MACHINE_START_OVERRIDE(champbwl_state,champbwl)
+ MCFG_MACHINE_RESET_OVERRIDE(champbwl_state,champbwl)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -496,7 +497,7 @@ static MACHINE_CONFIG_START( champbwl, champbwl_state )
MCFG_GFXDECODE(champbwl)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(arknoid2)
+ MCFG_PALETTE_INIT_OVERRIDE(champbwl_state,arknoid2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -528,10 +529,10 @@ static SCREEN_VBLANK( doraemon )
screen.machine().device<seta001_device>("spritegen")->setac_eof();
}
-static MACHINE_START( doraemon )
+MACHINE_START_MEMBER(champbwl_state,doraemon)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
}
static MACHINE_CONFIG_START( doraemon, champbwl_state )
@@ -545,7 +546,7 @@ static MACHINE_CONFIG_START( doraemon, champbwl_state )
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(2000), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW )
- MCFG_MACHINE_START(doraemon)
+ MCFG_MACHINE_START_OVERRIDE(champbwl_state,doraemon)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -559,7 +560,7 @@ static MACHINE_CONFIG_START( doraemon, champbwl_state )
MCFG_GFXDECODE(champbwl)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(arknoid2)
+ MCFG_PALETTE_INIT_OVERRIDE(champbwl_state,arknoid2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/chanbara.c b/src/mame/drivers/chanbara.c
index 0abc1e1ac8c..0c262bd8cae 100644
--- a/src/mame/drivers/chanbara.c
+++ b/src/mame/drivers/chanbara.c
@@ -88,21 +88,25 @@ public:
DECLARE_DRIVER_INIT(chanbara);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
-static PALETTE_INIT( chanbara )
+void chanbara_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, red, green, blue;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
red = color_prom[i];
- green = color_prom[machine.total_colors() + i];
- blue = color_prom[2 * machine.total_colors() + i];
+ green = color_prom[machine().total_colors() + i];
+ blue = color_prom[2 * machine().total_colors() + i];
- palette_set_color_rgb(machine, i, pal4bit(red << 1), pal4bit(green << 1), pal4bit(blue << 1));
+ palette_set_color_rgb(machine(), i, pal4bit(red << 1), pal4bit(green << 1), pal4bit(blue << 1));
}
}
@@ -151,12 +155,11 @@ TILE_GET_INFO_MEMBER(chanbara_state::get_bg2_tile_info)
SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static VIDEO_START(chanbara )
+void chanbara_state::video_start()
{
- chanbara_state *state = machine.driver_data<chanbara_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,8, 8, 32, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS,16, 16, 16, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,8, 8, 32, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS,16, 16, 16, 32);
+ m_bg_tilemap->set_transparent_pen(0);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -384,22 +387,20 @@ static const ym2203_interface ym2203_config =
};
-static MACHINE_START( chanbara )
+void chanbara_state::machine_start()
{
- chanbara_state *state = machine.driver_data<chanbara_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_scroll));
- state->save_item(NAME(state->m_scrollhi));
+ save_item(NAME(m_scroll));
+ save_item(NAME(m_scrollhi));
}
-static MACHINE_RESET( chanbara )
+void chanbara_state::machine_reset()
{
- chanbara_state *state = machine.driver_data<chanbara_state>();
- state->m_scroll = 0;
- state->m_scrollhi = 0;
+ m_scroll = 0;
+ m_scrollhi = 0;
}
static MACHINE_CONFIG_START( chanbara, chanbara_state )
@@ -407,8 +408,6 @@ static MACHINE_CONFIG_START( chanbara, chanbara_state )
MCFG_CPU_ADD("maincpu", M6809, 12000000/8)
MCFG_CPU_PROGRAM_MAP(chanbara_map)
- MCFG_MACHINE_START(chanbara)
- MCFG_MACHINE_RESET(chanbara)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -420,9 +419,7 @@ static MACHINE_CONFIG_START( chanbara, chanbara_state )
MCFG_GFXDECODE(chanbara)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(chanbara)
- MCFG_VIDEO_START(chanbara)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/chance32.c b/src/mame/drivers/chance32.c
index 735b70285b8..ac9a33a42a1 100644
--- a/src/mame/drivers/chance32.c
+++ b/src/mame/drivers/chance32.c
@@ -59,6 +59,9 @@ public:
UINT8 mux_data;
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -85,17 +88,16 @@ TILE_GET_INFO_MEMBER(chance32_state::get_bg_tile_info)
}
-VIDEO_START( chance32 )
+void chance32_state::video_start()
{
- chance32_state *state = machine.driver_data<chance32_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chance32_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(chance32_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chance32_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(chance32_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
- state->m_fg_tilemap->set_flip(TILE_FLIPX|TILE_FLIPY);
- state->m_bg_tilemap->set_flip(TILE_FLIPX|TILE_FLIPY);
+ m_fg_tilemap->set_flip(TILE_FLIPX|TILE_FLIPY);
+ m_bg_tilemap->set_flip(TILE_FLIPX|TILE_FLIPY);
}
@@ -437,12 +439,12 @@ static GFXDECODE_START( chance32 )
GFXDECODE_END
-static MACHINE_START( chance32 )
+void chance32_state::machine_start()
{
}
-static MACHINE_RESET( chance32 )
+void chance32_state::machine_reset()
{
}
@@ -471,8 +473,6 @@ static MACHINE_CONFIG_START( chance32, chance32_state )
MCFG_CPU_IO_MAP(chance32_portmap)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(chance32)
- MCFG_MACHINE_RESET(chance32)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -488,7 +488,6 @@ static MACHINE_CONFIG_START( chance32, chance32_state )
MCFG_GFXDECODE(chance32)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(chance32)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/changela.c b/src/mame/drivers/changela.c
index d02aee6f8d5..f16e0959163 100644
--- a/src/mame/drivers/changela.c
+++ b/src/mame/drivers/changela.c
@@ -419,87 +419,85 @@ static INTERRUPT_GEN( chl_mcu_irq )
generic_pulse_irq_line(state->m_mcu, 0, 1);
}
-static MACHINE_START(changela)
+void changela_state::machine_start()
{
- changela_state *state = machine.driver_data<changela_state>();
- state->m_mcu = machine.device("mcu");
+ m_mcu = machine().device("mcu");
/* video */
- state->save_item(NAME(state->m_slopeROM_bank));
- state->save_item(NAME(state->m_tree_en));
- state->save_item(NAME(state->m_horizon));
- state->save_item(NAME(state->m_mem_dev_selected));
- state->save_item(NAME(state->m_v_count_river));
- state->save_item(NAME(state->m_v_count_tree));
- state->save_item(NAME(state->m_tree_on));
+ save_item(NAME(m_slopeROM_bank));
+ save_item(NAME(m_tree_en));
+ save_item(NAME(m_horizon));
+ save_item(NAME(m_mem_dev_selected));
+ save_item(NAME(m_v_count_river));
+ save_item(NAME(m_v_count_tree));
+ save_item(NAME(m_tree_on));
/* mcu */
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
- state->save_item(NAME(state->m_port_b_out));
- state->save_item(NAME(state->m_ddr_b));
- state->save_item(NAME(state->m_port_c_in));
- state->save_item(NAME(state->m_port_c_out));
- state->save_item(NAME(state->m_ddr_c));
-
- state->save_item(NAME(state->m_mcu_out));
- state->save_item(NAME(state->m_mcu_in));
- state->save_item(NAME(state->m_mcu_pc_1));
- state->save_item(NAME(state->m_mcu_pc_0));
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
+ save_item(NAME(m_port_b_out));
+ save_item(NAME(m_ddr_b));
+ save_item(NAME(m_port_c_in));
+ save_item(NAME(m_port_c_out));
+ save_item(NAME(m_ddr_c));
+
+ save_item(NAME(m_mcu_out));
+ save_item(NAME(m_mcu_in));
+ save_item(NAME(m_mcu_pc_1));
+ save_item(NAME(m_mcu_pc_0));
/* misc */
- state->save_item(NAME(state->m_tree0_col));
- state->save_item(NAME(state->m_tree1_col));
- state->save_item(NAME(state->m_left_bank_col));
- state->save_item(NAME(state->m_right_bank_col));
- state->save_item(NAME(state->m_boat_shore_col));
- state->save_item(NAME(state->m_collision_reset));
- state->save_item(NAME(state->m_tree_collision_reset));
- state->save_item(NAME(state->m_prev_value_31));
- state->save_item(NAME(state->m_dir_31));
+ save_item(NAME(m_tree0_col));
+ save_item(NAME(m_tree1_col));
+ save_item(NAME(m_left_bank_col));
+ save_item(NAME(m_right_bank_col));
+ save_item(NAME(m_boat_shore_col));
+ save_item(NAME(m_collision_reset));
+ save_item(NAME(m_tree_collision_reset));
+ save_item(NAME(m_prev_value_31));
+ save_item(NAME(m_dir_31));
}
-static MACHINE_RESET (changela)
+void changela_state::machine_reset()
{
- changela_state *state = machine.driver_data<changela_state>();
/* video */
- state->m_slopeROM_bank = 0;
- state->m_tree_en = 0;
- state->m_horizon = 0;
- state->m_mem_dev_selected = 0;
- state->m_v_count_river = 0;
- state->m_v_count_tree = 0;
- state->m_tree_on[0] = 0;
- state->m_tree_on[1] = 0;
+ m_slopeROM_bank = 0;
+ m_tree_en = 0;
+ m_horizon = 0;
+ m_mem_dev_selected = 0;
+ m_v_count_river = 0;
+ m_v_count_tree = 0;
+ m_tree_on[0] = 0;
+ m_tree_on[1] = 0;
/* mcu */
- state->m_mcu_pc_1 = 0;
- state->m_mcu_pc_0 = 0;
-
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_ddr_a = 0;
- state->m_port_b_out = 0;
- state->m_ddr_b = 0;
- state->m_port_c_in = 0;
- state->m_port_c_out = 0;
- state->m_ddr_c = 0;
- state->m_mcu_out = 0;
- state->m_mcu_in = 0;
+ m_mcu_pc_1 = 0;
+ m_mcu_pc_0 = 0;
+
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_ddr_a = 0;
+ m_port_b_out = 0;
+ m_ddr_b = 0;
+ m_port_c_in = 0;
+ m_port_c_out = 0;
+ m_ddr_c = 0;
+ m_mcu_out = 0;
+ m_mcu_in = 0;
/* misc */
- state->m_tree0_col = 0;
- state->m_tree1_col = 0;
- state->m_left_bank_col = 0;
- state->m_right_bank_col = 0;
- state->m_boat_shore_col = 0;
- state->m_collision_reset = 0;
- state->m_tree_collision_reset = 0;
- state->m_prev_value_31 = 0;
- state->m_dir_31 = 0;
+ m_tree0_col = 0;
+ m_tree1_col = 0;
+ m_left_bank_col = 0;
+ m_right_bank_col = 0;
+ m_boat_shore_col = 0;
+ m_collision_reset = 0;
+ m_tree_collision_reset = 0;
+ m_prev_value_31 = 0;
+ m_dir_31 = 0;
}
static MACHINE_CONFIG_START( changela, changela_state )
@@ -512,8 +510,6 @@ static MACHINE_CONFIG_START( changela, changela_state )
MCFG_CPU_PROGRAM_MAP(mcu_map)
MCFG_CPU_VBLANK_INT("screen",chl_mcu_irq)
- MCFG_MACHINE_START(changela)
- MCFG_MACHINE_RESET(changela)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -523,7 +519,6 @@ static MACHINE_CONFIG_START( changela, changela_state )
MCFG_PALETTE_LENGTH(0x40)
- MCFG_VIDEO_START(changela)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cheekyms.c b/src/mame/drivers/cheekyms.c
index 97ce3202868..01b990ff977 100644
--- a/src/mame/drivers/cheekyms.c
+++ b/src/mame/drivers/cheekyms.c
@@ -108,12 +108,11 @@ static GFXDECODE_START( cheekyms )
GFXDECODE_END
-static MACHINE_START( cheekyms )
+void cheekyms_state::machine_start()
{
- cheekyms_state *state = machine.driver_data<cheekyms_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_dac = machine.device<dac_device>("dac");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_dac = machine().device<dac_device>("dac");
}
static INTERRUPT_GEN( vblank_irq )
@@ -133,7 +132,6 @@ static MACHINE_CONFIG_START( cheekyms, cheekyms_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_START(cheekyms)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -146,8 +144,6 @@ static MACHINE_CONFIG_START( cheekyms, cheekyms_state )
MCFG_GFXDECODE(cheekyms)
MCFG_PALETTE_LENGTH(0xc0)
- MCFG_PALETTE_INIT(cheekyms)
- MCFG_VIDEO_START(cheekyms)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/chihiro.c b/src/mame/drivers/chihiro.c
index 1a3ee6493b1..1291314f03e 100644
--- a/src/mame/drivers/chihiro.c
+++ b/src/mame/drivers/chihiro.c
@@ -415,6 +415,7 @@ public:
} chihiro_devs;
nv2a_renderer *nvidia_nv2a;
+ virtual void machine_start();
};
/*
@@ -1800,22 +1801,21 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( chihiro )
INPUT_PORTS_END
-static MACHINE_START( chihiro )
+void chihiro_state::machine_start()
{
- chihiro_state *chst=machine.driver_data<chihiro_state>();
- chst->nvidia_nv2a=auto_alloc(machine, nv2a_renderer(machine));
+ nvidia_nv2a=auto_alloc(machine(), nv2a_renderer(machine()));
memset(pic16lc_buffer,0,sizeof(pic16lc_buffer));
pic16lc_buffer[0]='B';
pic16lc_buffer[4]=2; // A/V connector, 2=vga
- chst->smbus_register_device(0x10,smbus_callback_pic16lc);
- chst->smbus_register_device(0x45,smbus_callback_cx25871);
- chst->smbus_register_device(0x54,smbus_callback_eeprom);
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
- chst->chihiro_devs.pic8259_1 = machine.device( "pic8259_1" );
- chst->chihiro_devs.pic8259_2 = machine.device( "pic8259_2" );
- chst->chihiro_devs.ide = machine.device( "ide" );
- if (machine.debug_flags & DEBUG_FLAG_ENABLED)
- debug_console_register_command(machine,"chihiro",CMDFLAG_NONE,0,1,4,chihiro_debug_commands);
+ smbus_register_device(0x10,smbus_callback_pic16lc);
+ smbus_register_device(0x45,smbus_callback_cx25871);
+ smbus_register_device(0x54,smbus_callback_eeprom);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ chihiro_devs.pic8259_1 = machine().device( "pic8259_1" );
+ chihiro_devs.pic8259_2 = machine().device( "pic8259_2" );
+ chihiro_devs.ide = machine().device( "ide" );
+ if (machine().debug_flags & DEBUG_FLAG_ENABLED)
+ debug_console_register_command(machine(),"chihiro",CMDFLAG_NONE,0,1,4,chihiro_debug_commands);
}
static SLOT_INTERFACE_START(ide_baseboard)
@@ -1861,7 +1861,6 @@ static MACHINE_CONFIG_START( chihiro_base, chihiro_state )
MCFG_SCREEN_UPDATE_DRIVER(chihiro_state,screen_update_callback)
MCFG_SCREEN_VBLANK_DRIVER(chihiro_state,vblank_callback)
- MCFG_MACHINE_START(chihiro)
MCFG_PALETTE_LENGTH(65536)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index 11e8cc6bb80..72a5013e85a 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -522,48 +522,46 @@ static const ym2203_interface ym2203_config =
};
-static MACHINE_START( chinagat )
+MACHINE_START_MEMBER(ddragon_state,chinagat)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_sub_cpu = machine.device("sub");
- state->m_snd_cpu = machine.device("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_sub_cpu = machine().device("sub");
+ m_snd_cpu = machine().device("audiocpu");
/* configure banks */
- state->membank("bank1")->configure_entries(0, 8, state->memregion("maincpu")->base() + 0x10000, 0x4000);
+ membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000);
/* register for save states */
- state->save_item(NAME(state->m_scrollx_hi));
- state->save_item(NAME(state->m_scrolly_hi));
- state->save_item(NAME(state->m_adpcm_sound_irq));
- state->save_item(NAME(state->m_adpcm_addr));
- state->save_item(NAME(state->m_pcm_shift));
- state->save_item(NAME(state->m_pcm_nibble));
- state->save_item(NAME(state->m_i8748_P1));
- state->save_item(NAME(state->m_i8748_P2));
- state->save_item(NAME(state->m_mcu_command));
+ save_item(NAME(m_scrollx_hi));
+ save_item(NAME(m_scrolly_hi));
+ save_item(NAME(m_adpcm_sound_irq));
+ save_item(NAME(m_adpcm_addr));
+ save_item(NAME(m_pcm_shift));
+ save_item(NAME(m_pcm_nibble));
+ save_item(NAME(m_i8748_P1));
+ save_item(NAME(m_i8748_P2));
+ save_item(NAME(m_mcu_command));
#if 0
- state->save_item(NAME(state->m_m5205_clk));
+ save_item(NAME(m_m5205_clk));
#endif
}
-static MACHINE_RESET( chinagat )
+MACHINE_RESET_MEMBER(ddragon_state,chinagat)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
-
- state->m_scrollx_hi = 0;
- state->m_scrolly_hi = 0;
- state->m_adpcm_sound_irq = 0;
- state->m_adpcm_addr = 0;
- state->m_pcm_shift = 0;
- state->m_pcm_nibble = 0;
- state->m_i8748_P1 = 0;
- state->m_i8748_P2 = 0;
- state->m_mcu_command = 0;
+
+ m_scrollx_hi = 0;
+ m_scrolly_hi = 0;
+ m_adpcm_sound_irq = 0;
+ m_adpcm_addr = 0;
+ m_pcm_shift = 0;
+ m_pcm_nibble = 0;
+ m_i8748_P1 = 0;
+ m_i8748_P2 = 0;
+ m_mcu_command = 0;
#if 0
- state->m_m5205_clk = 0;
+ m_m5205_clk = 0;
#endif
}
@@ -583,8 +581,8 @@ static MACHINE_CONFIG_START( chinagat, ddragon_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* heavy interleaving to sync up sprite<->main cpu's */
- MCFG_MACHINE_START(chinagat)
- MCFG_MACHINE_RESET(chinagat)
+ MCFG_MACHINE_START_OVERRIDE(ddragon_state,chinagat)
+ MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,chinagat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -594,7 +592,7 @@ static MACHINE_CONFIG_START( chinagat, ddragon_state )
MCFG_GFXDECODE(chinagat)
MCFG_PALETTE_LENGTH(384)
- MCFG_VIDEO_START(chinagat)
+ MCFG_VIDEO_START_OVERRIDE(ddragon_state,chinagat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -627,8 +625,8 @@ static MACHINE_CONFIG_START( saiyugoub1, ddragon_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* heavy interleaving to sync up sprite<->main cpu's */
- MCFG_MACHINE_START(chinagat)
- MCFG_MACHINE_RESET(chinagat)
+ MCFG_MACHINE_START_OVERRIDE(ddragon_state,chinagat)
+ MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,chinagat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -638,7 +636,7 @@ static MACHINE_CONFIG_START( saiyugoub1, ddragon_state )
MCFG_GFXDECODE(chinagat)
MCFG_PALETTE_LENGTH(384)
- MCFG_VIDEO_START(chinagat)
+ MCFG_VIDEO_START_OVERRIDE(ddragon_state,chinagat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -668,8 +666,8 @@ static MACHINE_CONFIG_START( saiyugoub2, ddragon_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* heavy interleaving to sync up sprite<->main cpu's */
- MCFG_MACHINE_START(chinagat)
- MCFG_MACHINE_RESET(chinagat)
+ MCFG_MACHINE_START_OVERRIDE(ddragon_state,chinagat)
+ MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,chinagat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -679,7 +677,7 @@ static MACHINE_CONFIG_START( saiyugoub2, ddragon_state )
MCFG_GFXDECODE(chinagat)
MCFG_PALETTE_LENGTH(384)
- MCFG_VIDEO_START(chinagat)
+ MCFG_VIDEO_START_OVERRIDE(ddragon_state,chinagat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/chinsan.c b/src/mame/drivers/chinsan.c
index 74ad78f2358..e09e745303e 100644
--- a/src/mame/drivers/chinsan.c
+++ b/src/mame/drivers/chinsan.c
@@ -71,6 +71,10 @@ public:
DECLARE_WRITE8_MEMBER(ym_port_w2);
DECLARE_WRITE8_MEMBER(chin_adpcm_w);
DECLARE_DRIVER_INIT(chinsan);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -80,16 +84,16 @@ public:
*
*************************************/
-static PALETTE_INIT( chinsan )
+void chinsan_state::palette_init()
{
- UINT8 *src = machine.root_device().memregion( "color_proms" )->base();
+ UINT8 *src = machine().root_device().memregion( "color_proms" )->base();
int i;
for (i = 0; i < 0x100; i++)
- palette_set_color_rgb(machine, i, pal4bit(src[i + 0x200]), pal4bit(src[i + 0x100]), pal4bit(src[i + 0x000]));
+ palette_set_color_rgb(machine(), i, pal4bit(src[i + 0x200]), pal4bit(src[i + 0x100]), pal4bit(src[i + 0x000]));
}
-static VIDEO_START( chinsan )
+void chinsan_state::video_start()
{
}
@@ -572,28 +576,26 @@ static const msm5205_interface msm5205_config =
*
*************************************/
-static MACHINE_START( chinsan )
+void chinsan_state::machine_start()
{
- chinsan_state *state = machine.driver_data<chinsan_state>();
- state->membank("bank1")->configure_entries(0, 4, state->memregion("maincpu")->base() + 0x10000, 0x4000);
+ membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x4000);
- state->save_item(NAME(state->m_adpcm_idle));
- state->save_item(NAME(state->m_port_select));
- state->save_item(NAME(state->m_adpcm_pos));
- state->save_item(NAME(state->m_adpcm_data));
- state->save_item(NAME(state->m_trigger));
+ save_item(NAME(m_adpcm_idle));
+ save_item(NAME(m_port_select));
+ save_item(NAME(m_adpcm_pos));
+ save_item(NAME(m_adpcm_data));
+ save_item(NAME(m_trigger));
}
-static MACHINE_RESET( chinsan )
+void chinsan_state::machine_reset()
{
- chinsan_state *state = machine.driver_data<chinsan_state>();
- state->m_adpcm_idle = 1;
- state->m_port_select = 0;
- state->m_adpcm_pos = 0;
- state->m_adpcm_data = 0;
- state->m_trigger = 0;
+ m_adpcm_idle = 1;
+ m_port_select = 0;
+ m_adpcm_pos = 0;
+ m_adpcm_data = 0;
+ m_trigger = 0;
}
@@ -605,8 +607,6 @@ static MACHINE_CONFIG_START( chinsan, chinsan_state )
MCFG_CPU_IO_MAP(chinsan_io)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START( chinsan )
- MCFG_MACHINE_RESET( chinsan )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -618,9 +618,7 @@ static MACHINE_CONFIG_START( chinsan, chinsan_state )
MCFG_GFXDECODE(chinsan)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(chinsan)
- MCFG_VIDEO_START(chinsan)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c
index f2d245942a5..3e3fc35ae93 100644
--- a/src/mame/drivers/chqflag.c
+++ b/src/mame/drivers/chqflag.c
@@ -320,37 +320,35 @@ static const k051316_interface chqflag_k051316_intf_2 =
chqflag_zoom_callback_1
};
-static MACHINE_START( chqflag )
+void chqflag_state::machine_start()
{
- chqflag_state *state = machine.driver_data<chqflag_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
-
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k051316_1 = machine.device("k051316_1");
- state->m_k051316_2 = machine.device("k051316_2");
- state->m_k051960 = machine.device("k051960");
- state->m_k007232_1 = machine.device("k007232_1");
- state->m_k007232_2 = machine.device("k007232_2");
-
- state->save_item(NAME(state->m_k051316_readroms));
- state->save_item(NAME(state->m_last_vreg));
- state->save_item(NAME(state->m_analog_ctrl));
- state->save_item(NAME(state->m_accel));
- state->save_item(NAME(state->m_wheel));
+ UINT8 *ROM = memregion("maincpu")->base();
+
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k051316_1 = machine().device("k051316_1");
+ m_k051316_2 = machine().device("k051316_2");
+ m_k051960 = machine().device("k051960");
+ m_k007232_1 = machine().device("k007232_1");
+ m_k007232_2 = machine().device("k007232_2");
+
+ save_item(NAME(m_k051316_readroms));
+ save_item(NAME(m_last_vreg));
+ save_item(NAME(m_analog_ctrl));
+ save_item(NAME(m_accel));
+ save_item(NAME(m_wheel));
}
-static MACHINE_RESET( chqflag )
+void chqflag_state::machine_reset()
{
- chqflag_state *state = machine.driver_data<chqflag_state>();
- state->m_k051316_readroms = 0;
- state->m_last_vreg = 0;
- state->m_analog_ctrl = 0;
- state->m_accel = 0;
- state->m_wheel = 0;
+ m_k051316_readroms = 0;
+ m_last_vreg = 0;
+ m_analog_ctrl = 0;
+ m_accel = 0;
+ m_wheel = 0;
}
static MACHINE_CONFIG_START( chqflag, chqflag_state )
@@ -365,8 +363,6 @@ static MACHINE_CONFIG_START( chqflag, chqflag_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(chqflag)
- MCFG_MACHINE_RESET(chqflag)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -381,7 +377,6 @@ static MACHINE_CONFIG_START( chqflag, chqflag_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(chqflag)
MCFG_K051960_ADD("k051960", chqflag_k051960_intf)
MCFG_K051316_ADD("k051316_1", chqflag_k051316_intf_1)
diff --git a/src/mame/drivers/cinemat.c b/src/mame/drivers/cinemat.c
index d8644565b49..c4664942d88 100644
--- a/src/mame/drivers/cinemat.c
+++ b/src/mame/drivers/cinemat.c
@@ -49,24 +49,22 @@
*
*************************************/
-static MACHINE_START( cinemat )
+void cinemat_state::machine_start()
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- state_save_register_global(machine, state->m_coin_detected);
- state_save_register_global(machine, state->m_coin_last_reset);
- state_save_register_global(machine, state->m_mux_select);
+ state_save_register_global(machine(), m_coin_detected);
+ state_save_register_global(machine(), m_coin_last_reset);
+ state_save_register_global(machine(), m_mux_select);
}
-static MACHINE_RESET( cinemat )
+void cinemat_state::machine_reset()
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
/* reset the coin states */
- state->m_coin_detected = 0;
- state->m_coin_last_reset = 0;
+ m_coin_detected = 0;
+ m_coin_last_reset = 0;
/* reset mux select */
- state->m_mux_select = 0;
+ m_mux_select = 0;
}
@@ -993,8 +991,6 @@ static MACHINE_CONFIG_START( cinemat_nojmi_4k, cinemat_state )
MCFG_CPU_DATA_MAP(data_map)
MCFG_CPU_IO_MAP(io_map)
- MCFG_MACHINE_START(cinemat)
- MCFG_MACHINE_RESET(cinemat)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
@@ -1005,7 +1001,6 @@ static MACHINE_CONFIG_START( cinemat_nojmi_4k, cinemat_state )
MCFG_SCREEN_VISIBLE_AREA(0, 1023, 0, 767)
MCFG_SCREEN_UPDATE_STATIC(cinemat)
- MCFG_VIDEO_START(cinemat_bilevel)
MACHINE_CONFIG_END
@@ -1071,7 +1066,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sundance, cinemat_jmi_8k )
MCFG_FRAGMENT_ADD(sundance_sound)
- MCFG_VIDEO_START(cinemat_16level)
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_16level)
MACHINE_CONFIG_END
@@ -1102,7 +1097,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( solarq, cinemat_jmi_16k )
MCFG_FRAGMENT_ADD(solarq_sound)
- MCFG_VIDEO_START(cinemat_64level)
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_64level)
MACHINE_CONFIG_END
@@ -1110,7 +1105,7 @@ static MACHINE_CONFIG_DERIVED( boxingb, cinemat_jmi_32k )
MCFG_FRAGMENT_ADD(boxingb_sound)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 1024, 0, 788)
- MCFG_VIDEO_START(cinemat_color)
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_color)
MACHINE_CONFIG_END
@@ -1123,7 +1118,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( wotwc, cinemat_jmi_16k )
MCFG_FRAGMENT_ADD(wotw_sound)
- MCFG_VIDEO_START(cinemat_color)
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_color)
MACHINE_CONFIG_END
@@ -1140,7 +1135,7 @@ static MACHINE_CONFIG_DERIVED( qb3, cinemat_jmi_32k )
MCFG_CPU_DATA_MAP(data_map_qb3)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 1120, 0, 780)
- MCFG_VIDEO_START(cinemat_qb3color)
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_qb3color)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/circus.c b/src/mame/drivers/circus.c
index 8be07c0ae3a..ba618ffd36f 100644
--- a/src/mame/drivers/circus.c
+++ b/src/mame/drivers/circus.c
@@ -261,26 +261,24 @@ GFXDECODE_END
/***************************************************************************
Machine drivers
***************************************************************************/
-static MACHINE_START( circus )
+void circus_state::machine_start()
{
- circus_state *state = machine.driver_data<circus_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_samples = machine.device<samples_device>("samples");
- state->m_discrete = machine.device("discrete");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_samples = machine().device<samples_device>("samples");
+ m_discrete = machine().device("discrete");
- state->save_item(NAME(state->m_clown_x));
- state->save_item(NAME(state->m_clown_y));
- state->save_item(NAME(state->m_clown_z));
+ save_item(NAME(m_clown_x));
+ save_item(NAME(m_clown_y));
+ save_item(NAME(m_clown_z));
}
-static MACHINE_RESET( circus )
+void circus_state::machine_reset()
{
- circus_state *state = machine.driver_data<circus_state>();
- state->m_clown_x = 0;
- state->m_clown_y = 0;
- state->m_clown_z = 0;
+ m_clown_x = 0;
+ m_clown_y = 0;
+ m_clown_z = 0;
}
@@ -290,8 +288,6 @@ static MACHINE_CONFIG_START( circus, circus_state )
MCFG_CPU_ADD("maincpu", M6502, XTAL_11_289MHz / 16) /* 705.562kHz */
MCFG_CPU_PROGRAM_MAP(circus_map)
- MCFG_MACHINE_START(circus)
- MCFG_MACHINE_RESET(circus)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE) /* needed for proper hardware collisions */
@@ -306,7 +302,6 @@ static MACHINE_CONFIG_START( circus, circus_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(circus)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -327,8 +322,6 @@ static MACHINE_CONFIG_START( robotbwl, circus_state )
MCFG_CPU_PROGRAM_MAP(circus_map)
// does not generate irq!
- MCFG_MACHINE_START(circus)
- MCFG_MACHINE_RESET(circus)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -342,7 +335,6 @@ static MACHINE_CONFIG_START( robotbwl, circus_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(circus)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -370,8 +362,6 @@ static MACHINE_CONFIG_START( crash, circus_state )
MCFG_CPU_PROGRAM_MAP(circus_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", crash_scanline, "screen", 0, 1)
- MCFG_MACHINE_START(circus)
- MCFG_MACHINE_RESET(circus)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -385,7 +375,6 @@ static MACHINE_CONFIG_START( crash, circus_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(circus)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -404,8 +393,6 @@ static MACHINE_CONFIG_START( ripcord, circus_state )
MCFG_CPU_ADD("maincpu", M6502, XTAL_11_289MHz / 16) /* 705.562kHz */
MCFG_CPU_PROGRAM_MAP(circus_map)
- MCFG_MACHINE_START(circus)
- MCFG_MACHINE_RESET(circus)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE) /* needed for proper hardware collisions */
@@ -420,7 +407,6 @@ static MACHINE_CONFIG_START( ripcord, circus_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(circus)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/circusc.c b/src/mame/drivers/circusc.c
index ba8d169e116..a50bcd5a117 100644
--- a/src/mame/drivers/circusc.c
+++ b/src/mame/drivers/circusc.c
@@ -56,21 +56,19 @@ To enter service mode, keep 1&2 pressed on reset
#include "includes/circusc.h"
-static MACHINE_START( circusc )
+void circusc_state::machine_start()
{
- circusc_state *state = machine.driver_data<circusc_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_dac = machine.device<dac_device>("dac");
- state->m_discrete = machine.device("fltdisc");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_dac = machine().device<dac_device>("dac");
+ m_discrete = machine().device("fltdisc");
- state->save_item(NAME(state->m_sn_latch));
+ save_item(NAME(m_sn_latch));
}
-static MACHINE_RESET( circusc )
+void circusc_state::machine_reset()
{
- circusc_state *state = machine.driver_data<circusc_state>();
- state->m_sn_latch = 0;
+ m_sn_latch = 0;
}
READ8_MEMBER(circusc_state::circusc_sh_timer_r)
@@ -366,8 +364,6 @@ static MACHINE_CONFIG_START( circusc, circusc_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/4)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(circusc)
- MCFG_MACHINE_RESET(circusc)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -380,8 +376,6 @@ static MACHINE_CONFIG_START( circusc, circusc_state )
MCFG_GFXDECODE(circusc)
MCFG_PALETTE_LENGTH(16*16+16*16)
- MCFG_PALETTE_INIT(circusc)
- MCFG_VIDEO_START(circusc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c
index 7fc15c788ce..7ccd9d669d0 100644
--- a/src/mame/drivers/cischeat.c
+++ b/src/mame/drivers/cischeat.c
@@ -1589,7 +1589,7 @@ static MACHINE_CONFIG_START( bigrun, cischeat_state )
MCFG_GFXDECODE(bigrun)
MCFG_PALETTE_LENGTH(16*16 * 3 + 64*16 * 2 + 64*16) /* scroll 0,1,2; road 0,1; sprites */
- MCFG_VIDEO_START(bigrun)
+ MCFG_VIDEO_START_OVERRIDE(cischeat_state,bigrun)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1631,7 +1631,7 @@ static MACHINE_CONFIG_DERIVED( cischeat, bigrun )
MCFG_GFXDECODE(cischeat)
MCFG_PALETTE_LENGTH(32*16 * 3 + 64*16 * 2 + 128*16) /* scroll 0,1,2; road 0,1; sprites */
- MCFG_VIDEO_START(cischeat)
+ MCFG_VIDEO_START_OVERRIDE(cischeat_state,cischeat)
MACHINE_CONFIG_END
@@ -1657,7 +1657,7 @@ static MACHINE_CONFIG_DERIVED( f1gpstar, bigrun )
MCFG_GFXDECODE(f1gpstar)
MCFG_PALETTE_LENGTH(16*16 * 3 + 64*16 * 2 + 128*16) /* scroll 0,1,2; road 0,1; sprites */
- MCFG_VIDEO_START(f1gpstar)
+ MCFG_VIDEO_START_OVERRIDE(cischeat_state,f1gpstar)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(f1gpstar)
MACHINE_CONFIG_END
@@ -1722,7 +1722,7 @@ static MACHINE_CONFIG_START( scudhamm, cischeat_state )
MCFG_GFXDECODE(scudhamm)
MCFG_PALETTE_LENGTH(16*16+16*16+128*16)
- MCFG_VIDEO_START(f1gpstar)
+ MCFG_VIDEO_START_OVERRIDE(cischeat_state,f1gpstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/citycon.c b/src/mame/drivers/citycon.c
index 974a54ac6a4..348a7afb1ae 100644
--- a/src/mame/drivers/citycon.c
+++ b/src/mame/drivers/citycon.c
@@ -186,20 +186,18 @@ static const ym2203_interface ym2203_config =
-static MACHINE_START( citycon )
+void citycon_state::machine_start()
{
- citycon_state *state = machine.driver_data<citycon_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_bg_image));
+ save_item(NAME(m_bg_image));
}
-static MACHINE_RESET( citycon )
+void citycon_state::machine_reset()
{
- citycon_state *state = machine.driver_data<citycon_state>();
- state->m_bg_image = 0;
+ m_bg_image = 0;
}
@@ -214,8 +212,6 @@ static MACHINE_CONFIG_START( citycon, citycon_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
// MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) //actually unused, probably it was during development
- MCFG_MACHINE_START(citycon)
- MCFG_MACHINE_RESET(citycon)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -229,7 +225,6 @@ static MACHINE_CONFIG_START( citycon, citycon_state )
MCFG_PALETTE_LENGTH(640+1024) /* 640 real palette + 1024 virtual palette */
MCFG_PALETTE_INIT(all_black) /* guess */
- MCFG_VIDEO_START(citycon)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/clayshoo.c b/src/mame/drivers/clayshoo.c
index 401cb1c7deb..3bf9e0b6a6d 100644
--- a/src/mame/drivers/clayshoo.c
+++ b/src/mame/drivers/clayshoo.c
@@ -38,6 +38,8 @@ public:
DECLARE_READ8_MEMBER(analog_r);
DECLARE_WRITE8_MEMBER(input_port_select_w);
DECLARE_READ8_MEMBER(input_port_r);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -166,14 +168,13 @@ static I8255A_INTERFACE( ppi8255_1_intf )
DEVCB_NULL /* Port C write */
};
-static MACHINE_START( clayshoo )
+void clayshoo_state::machine_start()
{
- clayshoo_state *state = machine.driver_data<clayshoo_state>();
- create_analog_timers(machine);
+ create_analog_timers(machine());
/* register for state saving */
- state->save_item(NAME(state->m_input_port_select));
- state->save_item(NAME(state->m_analog_port_val));
+ save_item(NAME(m_input_port_select));
+ save_item(NAME(m_analog_port_val));
}
@@ -317,12 +318,11 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_RESET( clayshoo )
+void clayshoo_state::machine_reset()
{
- clayshoo_state *state = machine.driver_data<clayshoo_state>();
- state->m_input_port_select = 0;
- state->m_analog_port_val = 0;
+ m_input_port_select = 0;
+ m_analog_port_val = 0;
}
static MACHINE_CONFIG_START( clayshoo, clayshoo_state )
@@ -333,8 +333,6 @@ static MACHINE_CONFIG_START( clayshoo, clayshoo_state )
MCFG_CPU_IO_MAP(main_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(clayshoo)
- MCFG_MACHINE_RESET(clayshoo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/cliffhgr.c b/src/mame/drivers/cliffhgr.c
index 9e8fedcb441..f8f25c01405 100644
--- a/src/mame/drivers/cliffhgr.c
+++ b/src/mame/drivers/cliffhgr.c
@@ -110,6 +110,8 @@ public:
DECLARE_WRITE8_MEMBER(cliff_sound_overlay_w);
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
DECLARE_DRIVER_INIT(cliff);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -219,18 +221,16 @@ WRITE_LINE_MEMBER(cliffhgr_state::vdp_interrupt)
-static MACHINE_START( cliffhgr )
+void cliffhgr_state::machine_start()
{
- cliffhgr_state *state = machine.driver_data<cliffhgr_state>();
- state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(cliff_irq_callback));
+ m_irq_timer = machine().scheduler().timer_alloc(FUNC(cliff_irq_callback));
}
-static MACHINE_RESET( cliffhgr )
+void cliffhgr_state::machine_reset()
{
- cliffhgr_state *state = machine.driver_data<cliffhgr_state>();
- state->m_port_bank = 0;
- state->m_phillips_code = 0;
- state->m_irq_timer->adjust(machine.primary_screen->time_until_pos(17), 17);
+ m_port_bank = 0;
+ m_phillips_code = 0;
+ m_irq_timer->adjust(machine().primary_screen->time_until_pos(17), 17);
}
/********************************************************/
@@ -696,8 +696,6 @@ static MACHINE_CONFIG_START( cliffhgr, cliffhgr_state )
MCFG_CPU_PROGRAM_MAP(mainmem)
MCFG_CPU_IO_MAP(mainport)
- MCFG_MACHINE_START(cliffhgr)
- MCFG_MACHINE_RESET(cliffhgr)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/cloak.c b/src/mame/drivers/cloak.c
index 899993c86b8..1c19066ae3e 100644
--- a/src/mame/drivers/cloak.c
+++ b/src/mame/drivers/cloak.c
@@ -354,7 +354,6 @@ static MACHINE_CONFIG_START( cloak, cloak_state )
MCFG_GFXDECODE(cloak)
MCFG_PALETTE_LENGTH(64)
- MCFG_VIDEO_START(cloak)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c
index cafdf10fa12..0166aa9aee9 100644
--- a/src/mame/drivers/cloud9.c
+++ b/src/mame/drivers/cloud9.c
@@ -154,48 +154,46 @@ CUSTOM_INPUT_MEMBER(cloud9_state::get_vblank)
*
*************************************/
-static MACHINE_START( cloud9 )
+void cloud9_state::machine_start()
{
- cloud9_state *state = machine.driver_data<cloud9_state>();
rectangle visarea;
/* initialize globals */
- state->m_syncprom = state->memregion("proms")->base() + 0x000;
+ m_syncprom = memregion("proms")->base() + 0x000;
/* find the start of VBLANK in the SYNC PROM */
- for (state->m_vblank_start = 0; state->m_vblank_start < 256; state->m_vblank_start++)
- if ((state->m_syncprom[(state->m_vblank_start - 1) & 0xff] & 2) != 0 && (state->m_syncprom[state->m_vblank_start] & 2) == 0)
+ for (m_vblank_start = 0; m_vblank_start < 256; m_vblank_start++)
+ if ((m_syncprom[(m_vblank_start - 1) & 0xff] & 2) != 0 && (m_syncprom[m_vblank_start] & 2) == 0)
break;
- if (state->m_vblank_start == 0)
- state->m_vblank_start = 256;
+ if (m_vblank_start == 0)
+ m_vblank_start = 256;
/* find the end of VBLANK in the SYNC PROM */
- for (state->m_vblank_end = 0; state->m_vblank_end < 256; state->m_vblank_end++)
- if ((state->m_syncprom[(state->m_vblank_end - 1) & 0xff] & 2) == 0 && (state->m_syncprom[state->m_vblank_end] & 2) != 0)
+ for (m_vblank_end = 0; m_vblank_end < 256; m_vblank_end++)
+ if ((m_syncprom[(m_vblank_end - 1) & 0xff] & 2) == 0 && (m_syncprom[m_vblank_end] & 2) != 0)
break;
/* can't handle the wrapping case */
- assert(state->m_vblank_end < state->m_vblank_start);
+ assert(m_vblank_end < m_vblank_start);
/* reconfigure the visible area to match */
- visarea.set(0, 255, state->m_vblank_end + 1, state->m_vblank_start);
- machine.primary_screen->configure(320, 256, visarea, HZ_TO_ATTOSECONDS(PIXEL_CLOCK) * VTOTAL * HTOTAL);
+ visarea.set(0, 255, m_vblank_end + 1, m_vblank_start);
+ machine().primary_screen->configure(320, 256, visarea, HZ_TO_ATTOSECONDS(PIXEL_CLOCK) * VTOTAL * HTOTAL);
/* create a timer for IRQs and set up the first callback */
- state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(clock_irq));
- state->m_irq_state = 0;
- schedule_next_irq(machine, 0-64);
+ m_irq_timer = machine().scheduler().timer_alloc(FUNC(clock_irq));
+ m_irq_state = 0;
+ schedule_next_irq(machine(), 0-64);
/* setup for save states */
- state->save_item(NAME(state->m_irq_state));
+ save_item(NAME(m_irq_state));
}
-static MACHINE_RESET( cloud9 )
+void cloud9_state::machine_reset()
{
- cloud9_state *state = machine.driver_data<cloud9_state>();
- machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
- state->m_irq_state = 0;
+ machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
+ m_irq_state = 0;
}
@@ -425,8 +423,6 @@ static MACHINE_CONFIG_START( cloud9, cloud9_state )
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(cloud9_map)
- MCFG_MACHINE_START(cloud9)
- MCFG_MACHINE_RESET(cloud9)
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_X2212_ADD_AUTOSAVE("nvram")
@@ -442,7 +438,6 @@ static MACHINE_CONFIG_START( cloud9, cloud9_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 231)
MCFG_SCREEN_UPDATE_STATIC(cloud9)
- MCFG_VIDEO_START(cloud9)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/clshroad.c b/src/mame/drivers/clshroad.c
index e464ae96084..8c920d2760d 100644
--- a/src/mame/drivers/clshroad.c
+++ b/src/mame/drivers/clshroad.c
@@ -22,10 +22,9 @@ XTAL : 18.432 MHz
#include "audio/wiping.h"
#include "includes/clshroad.h"
-static MACHINE_RESET( clshroad )
+void clshroad_state::machine_reset()
{
- clshroad_state *state = machine.driver_data<clshroad_state>();
- state->flip_screen_set(0);
+ flip_screen_set(0);
}
@@ -238,7 +237,6 @@ static MACHINE_CONFIG_START( firebatl, clshroad_state )
MCFG_CPU_PROGRAM_MAP(clshroad_sound_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* IRQ, no NMI */
- MCFG_MACHINE_RESET(clshroad)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -251,8 +249,8 @@ static MACHINE_CONFIG_START( firebatl, clshroad_state )
MCFG_GFXDECODE(firebatl)
MCFG_PALETTE_LENGTH(512+64*4)
- MCFG_PALETTE_INIT(firebatl)
- MCFG_VIDEO_START(firebatl)
+ MCFG_PALETTE_INIT_OVERRIDE(clshroad_state,firebatl)
+ MCFG_VIDEO_START_OVERRIDE(clshroad_state,firebatl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -272,7 +270,6 @@ static MACHINE_CONFIG_START( clshroad, clshroad_state )
MCFG_CPU_PROGRAM_MAP(clshroad_sound_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* IRQ, no NMI */
- MCFG_MACHINE_RESET(clshroad)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -285,8 +282,8 @@ static MACHINE_CONFIG_START( clshroad, clshroad_state )
MCFG_GFXDECODE(clshroad)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(clshroad)
- MCFG_VIDEO_START(clshroad)
+ MCFG_PALETTE_INIT_OVERRIDE(clshroad_state,clshroad)
+ MCFG_VIDEO_START_OVERRIDE(clshroad_state,clshroad)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cmmb.c b/src/mame/drivers/cmmb.c
index c0e481a4126..a022f9a216a 100644
--- a/src/mame/drivers/cmmb.c
+++ b/src/mame/drivers/cmmb.c
@@ -64,10 +64,12 @@ public:
DECLARE_READ8_MEMBER(cmmb_input_r);
DECLARE_WRITE8_MEMBER(cmmb_output_w);
DECLARE_READ8_MEMBER(kludge_r);
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( cmmb )
+void cmmb_state::video_start()
{
}
@@ -306,7 +308,7 @@ static INTERRUPT_GEN( cmmb_irq )
// device->execute().set_input_line(0, HOLD_LINE);
}
-static MACHINE_RESET( cmmb )
+void cmmb_state::machine_reset()
{
}
@@ -328,9 +330,7 @@ static MACHINE_CONFIG_START( cmmb, cmmb_state )
MCFG_GFXDECODE(cmmb)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(cmmb)
- MCFG_MACHINE_RESET(cmmb)
/* sound hardware */
// MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cninja.c b/src/mame/drivers/cninja.c
index 424f523550c..17747b66e28 100644
--- a/src/mame/drivers/cninja.c
+++ b/src/mame/drivers/cninja.c
@@ -869,22 +869,20 @@ static const deco16ic_interface mutantf_deco16ic_tilegen2_intf =
};
-static MACHINE_START( cninja )
+void cninja_state::machine_start()
{
- cninja_state *state = machine.driver_data<cninja_state>();
- state->save_item(NAME(state->m_scanline));
- state->save_item(NAME(state->m_irq_mask));
+ save_item(NAME(m_scanline));
+ save_item(NAME(m_irq_mask));
- decoprot_reset(machine);
+ decoprot_reset(machine());
}
-static MACHINE_RESET( cninja )
+void cninja_state::machine_reset()
{
- cninja_state *state = machine.driver_data<cninja_state>();
- state->m_scanline = 0;
- state->m_irq_mask = 0;
+ m_scanline = 0;
+ m_irq_mask = 0;
}
@@ -913,8 +911,6 @@ static MACHINE_CONFIG_START( cninja, cninja_state )
MCFG_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(cninja)
- MCFG_MACHINE_RESET(cninja)
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
@@ -967,8 +963,6 @@ static MACHINE_CONFIG_START( stoneage, cninja_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(stoneage_s_map)
- MCFG_MACHINE_START(cninja)
- MCFG_MACHINE_RESET(cninja)
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
@@ -982,7 +976,7 @@ static MACHINE_CONFIG_START( stoneage, cninja_state )
MCFG_GFXDECODE(cninja)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(stoneage)
+ MCFG_VIDEO_START_OVERRIDE(cninja_state,stoneage)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1021,8 +1015,6 @@ static MACHINE_CONFIG_START( cninjabl, cninja_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(stoneage_s_map)
- MCFG_MACHINE_START(cninja)
- MCFG_MACHINE_RESET(cninja)
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
@@ -1066,8 +1058,6 @@ static MACHINE_CONFIG_START( edrandy, cninja_state )
MCFG_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(cninja)
- MCFG_MACHINE_RESET(cninja)
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
@@ -1120,8 +1110,6 @@ static MACHINE_CONFIG_START( robocop2, cninja_state )
MCFG_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(cninja)
- MCFG_MACHINE_RESET(cninja)
MCFG_TIMER_ADD("raster_timer", interrupt_gen)
@@ -1177,8 +1165,6 @@ static MACHINE_CONFIG_START( mutantf, cninja_state )
MCFG_CPU_ADD("audiocpu", H6280,32220000/8)
MCFG_CPU_PROGRAM_MAP(sound_map_mutantf)
- MCFG_MACHINE_START(cninja)
- MCFG_MACHINE_RESET(cninja)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1187,7 +1173,7 @@ static MACHINE_CONFIG_START( mutantf, cninja_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_STATIC(mutantf)
- MCFG_VIDEO_START(mutantf)
+ MCFG_VIDEO_START_OVERRIDE(cninja_state,mutantf)
MCFG_GFXDECODE(mutantf)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/cntsteer.c b/src/mame/drivers/cntsteer.c
index 1c0243dfd7d..a192b424b3e 100644
--- a/src/mame/drivers/cntsteer.c
+++ b/src/mame/drivers/cntsteer.c
@@ -83,14 +83,21 @@ public:
DECLARE_DRIVER_INIT(zerotrgt);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ DECLARE_MACHINE_START(cntsteer);
+ DECLARE_MACHINE_RESET(cntsteer);
+ DECLARE_VIDEO_START(cntsteer);
+ DECLARE_MACHINE_START(zerotrgt);
+ DECLARE_MACHINE_RESET(zerotrgt);
+ DECLARE_VIDEO_START(zerotrgt);
+ DECLARE_PALETTE_INIT(zerotrgt);
};
-static PALETTE_INIT( zerotrgt )
+PALETTE_INIT_MEMBER(cntsteer_state,zerotrgt)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -110,7 +117,7 @@ static PALETTE_INIT( zerotrgt )
bit2 = (color_prom[i + 256] >> 2) & 0x01;
b = (0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2);
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -131,26 +138,24 @@ TILE_GET_INFO_MEMBER(cntsteer_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0x30 + ((attr & 0x78) >> 3), 0);
}
-static VIDEO_START( cntsteer )
+VIDEO_START_MEMBER(cntsteer_state,cntsteer)
{
- cntsteer_state *state = machine.driver_data<cntsteer_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- //state->m_bg_tilemap->set_flip(TILEMAP_FLIPX | TILEMAP_FLIPY);
+ //m_bg_tilemap->set_flip(TILEMAP_FLIPX | TILEMAP_FLIPY);
}
-static VIDEO_START( zerotrgt )
+VIDEO_START_MEMBER(cntsteer_state,zerotrgt)
{
- cntsteer_state *state = machine.driver_data<cntsteer_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- //state->m_bg_tilemap->set_flip(TILEMAP_FLIPX | TILEMAP_FLIPY);
+ //m_bg_tilemap->set_flip(TILEMAP_FLIPX | TILEMAP_FLIPY);
}
/*
@@ -811,60 +816,56 @@ GFXDECODE_END
/***************************************************************************/
-static MACHINE_START( cntsteer )
+MACHINE_START_MEMBER(cntsteer_state,cntsteer)
{
- cntsteer_state *state = machine.driver_data<cntsteer_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_subcpu = machine.device<cpu_device>("subcpu");
-
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_bg_bank));
- state->save_item(NAME(state->m_scrolly));
- state->save_item(NAME(state->m_scrollx));
- state->save_item(NAME(state->m_scrollx_hi));
- state->save_item(NAME(state->m_scrolly_hi));
- state->save_item(NAME(state->m_rotation_x));
- state->save_item(NAME(state->m_rotation_sign));
-
- state->save_item(NAME(state->m_bg_color_bank));
- state->save_item(NAME(state->m_disable_roz));
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_subcpu = machine().device<cpu_device>("subcpu");
+
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_bg_bank));
+ save_item(NAME(m_scrolly));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_scrollx_hi));
+ save_item(NAME(m_scrolly_hi));
+ save_item(NAME(m_rotation_x));
+ save_item(NAME(m_rotation_sign));
+
+ save_item(NAME(m_bg_color_bank));
+ save_item(NAME(m_disable_roz));
}
-static MACHINE_START( zerotrgt )
+MACHINE_START_MEMBER(cntsteer_state,zerotrgt)
{
- cntsteer_state *state = machine.driver_data<cntsteer_state>();
- state->save_item(NAME(state->m_nmimask));
- MACHINE_START_CALL(cntsteer);
+ save_item(NAME(m_nmimask));
+ MACHINE_START_CALL_MEMBER(cntsteer);
}
-static MACHINE_RESET( cntsteer )
+MACHINE_RESET_MEMBER(cntsteer_state,cntsteer)
{
- cntsteer_state *state = machine.driver_data<cntsteer_state>();
- state->m_flipscreen = 0;
- state->m_bg_bank = 0;
- state->m_scrolly = 0;
- state->m_scrollx = 0;
- state->m_scrollx_hi = 0;
- state->m_scrolly_hi = 0;
- state->m_rotation_x = 0;
- state->m_rotation_sign = 0;
-
- state->m_bg_color_bank = 0;
- state->m_disable_roz = 0;
+ m_flipscreen = 0;
+ m_bg_bank = 0;
+ m_scrolly = 0;
+ m_scrollx = 0;
+ m_scrollx_hi = 0;
+ m_scrolly_hi = 0;
+ m_rotation_x = 0;
+ m_rotation_sign = 0;
+
+ m_bg_color_bank = 0;
+ m_disable_roz = 0;
}
-static MACHINE_RESET( zerotrgt )
+MACHINE_RESET_MEMBER(cntsteer_state,zerotrgt)
{
- cntsteer_state *state = machine.driver_data<cntsteer_state>();
- state->m_nmimask = 0;
- MACHINE_RESET_CALL(cntsteer);
+ m_nmimask = 0;
+ MACHINE_RESET_CALL_MEMBER(cntsteer);
}
static const ay8910_interface ay8910_config =
@@ -892,8 +893,8 @@ static MACHINE_CONFIG_START( cntsteer, cntsteer_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(sound_interrupt, 480)
- MCFG_MACHINE_START(cntsteer)
- MCFG_MACHINE_RESET(cntsteer)
+ MCFG_MACHINE_START_OVERRIDE(cntsteer_state,cntsteer)
+ MCFG_MACHINE_RESET_OVERRIDE(cntsteer_state,cntsteer)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -907,9 +908,9 @@ static MACHINE_CONFIG_START( cntsteer, cntsteer_state )
MCFG_GFXDECODE(cntsteer)
MCFG_PALETTE_LENGTH(256)
-// MCFG_PALETTE_INIT(zerotrgt)
+// MCFG_PALETTE_INIT_OVERRIDE(cntsteer_state,zerotrgt)
- MCFG_VIDEO_START(cntsteer)
+ MCFG_VIDEO_START_OVERRIDE(cntsteer_state,cntsteer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -941,8 +942,8 @@ static MACHINE_CONFIG_START( zerotrgt, cntsteer_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(zerotrgt)
- MCFG_MACHINE_RESET(zerotrgt)
+ MCFG_MACHINE_START_OVERRIDE(cntsteer_state,zerotrgt)
+ MCFG_MACHINE_RESET_OVERRIDE(cntsteer_state,zerotrgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -955,8 +956,8 @@ static MACHINE_CONFIG_START( zerotrgt, cntsteer_state )
MCFG_GFXDECODE(zerotrgt)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(zerotrgt)
- MCFG_VIDEO_START(zerotrgt)
+ MCFG_PALETTE_INIT_OVERRIDE(cntsteer_state,zerotrgt)
+ MCFG_VIDEO_START_OVERRIDE(cntsteer_state,zerotrgt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cobra.c b/src/mame/drivers/cobra.c
index d79fa19c8ed..4f1e3a6a21d 100644
--- a/src/mame/drivers/cobra.c
+++ b/src/mame/drivers/cobra.c
@@ -718,6 +718,8 @@ public:
DECLARE_DRIVER_INIT(racjamdx);
DECLARE_DRIVER_INIT(bujutsu);
DECLARE_DRIVER_INIT(cobra);
+ virtual void machine_reset();
+ virtual void video_start();
};
void cobra_renderer::render_color_scan(INT32 scanline, const extent_t &extent, const cobra_polydata &extradata, int threadid)
@@ -983,14 +985,13 @@ static void cobra_video_exit(running_machine *machine)
state->m_renderer->gfx_exit(*machine);
}
-VIDEO_START( cobra )
+void cobra_state::video_start()
{
- cobra_state *cobra = machine.driver_data<cobra_state>();
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(cobra_video_exit), &machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(cobra_video_exit), &machine()));
- cobra->m_renderer = auto_alloc(machine, cobra_renderer(machine));
- cobra->m_renderer->gfx_init(machine);
+ m_renderer = auto_alloc(machine(), cobra_renderer(machine()));
+ m_renderer->gfx_init(machine());
}
SCREEN_UPDATE_RGB32( cobra )
@@ -3197,13 +3198,12 @@ static INTERRUPT_GEN( cobra_vblank )
}
}
-static MACHINE_RESET( cobra )
+void cobra_state::machine_reset()
{
- cobra_state *cobra = machine.driver_data<cobra_state>();
- cobra->m_sub_interrupt = 0xff;
+ m_sub_interrupt = 0xff;
- UINT8 *ide_features = ide_get_features(machine.device("ide"), 0);
+ UINT8 *ide_features = ide_get_features(machine().device("ide"), 0);
// Cobra expects these settings or the BIOS fails
ide_features[51*2+0] = 0; /* 51: PIO data transfer cycle timing mode */
@@ -3211,16 +3211,16 @@ static MACHINE_RESET( cobra )
ide_features[67*2+0] = 0xe0; /* 67: minimum PIO transfer cycle time without flow control */
ide_features[67*2+1] = 0x01;
- cobra->m_renderer->gfx_reset(machine);
+ m_renderer->gfx_reset(machine());
- cobra->m_sound_dma_ptr = 0;
+ m_sound_dma_ptr = 0;
- cobra->m_dmadac[0] = machine.device<dmadac_sound_device>("dac1");
- cobra->m_dmadac[1] = machine.device<dmadac_sound_device>("dac2");
- dmadac_enable(&cobra->m_dmadac[0], 1, 1);
- dmadac_enable(&cobra->m_dmadac[1], 1, 1);
- dmadac_set_frequency(&cobra->m_dmadac[0], 1, 44100);
- dmadac_set_frequency(&cobra->m_dmadac[1], 1, 44100);
+ m_dmadac[0] = machine().device<dmadac_sound_device>("dac1");
+ m_dmadac[1] = machine().device<dmadac_sound_device>("dac2");
+ dmadac_enable(&m_dmadac[0], 1, 1);
+ dmadac_enable(&m_dmadac[1], 1, 1);
+ dmadac_set_frequency(&m_dmadac[0], 1, 44100);
+ dmadac_set_frequency(&m_dmadac[1], 1, 44100);
}
static const ide_config ide_intf =
@@ -3247,7 +3247,6 @@ static MACHINE_CONFIG_START( cobra, cobra_state )
MCFG_QUANTUM_TIME(attotime::from_hz(15005))
- MCFG_MACHINE_RESET(cobra)
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, mpc106_pci_r, mpc106_pci_w)
@@ -3255,7 +3254,6 @@ static MACHINE_CONFIG_START( cobra, cobra_state )
MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true)
/* video hardware */
- MCFG_VIDEO_START(cobra)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/coinmstr.c b/src/mame/drivers/coinmstr.c
index 71dd0d259e8..e07d5a7b4df 100644
--- a/src/mame/drivers/coinmstr.c
+++ b/src/mame/drivers/coinmstr.c
@@ -54,6 +54,7 @@ public:
DECLARE_READ8_MEMBER(ff_r);
DECLARE_DRIVER_INIT(coinmstr);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
};
@@ -914,10 +915,9 @@ TILE_GET_INFO_MEMBER(coinmstr_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, tile, color, 0);
}
-static VIDEO_START( coinmstr )
+void coinmstr_state::video_start()
{
- coinmstr_state *state = machine.driver_data<coinmstr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(coinmstr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 46, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(coinmstr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 46, 32);
}
static SCREEN_UPDATE_IND16( coinmstr )
@@ -1027,7 +1027,6 @@ static MACHINE_CONFIG_START( coinmstr, coinmstr_state )
MCFG_GFXDECODE(coinmstr)
MCFG_PALETTE_LENGTH(46*32*4)
- MCFG_VIDEO_START(coinmstr)
MCFG_MC6845_ADD("crtc", H46505, 14000000 / 16, h46505_intf)
diff --git a/src/mame/drivers/coinmvga.c b/src/mame/drivers/coinmvga.c
index 475a6f6477f..8185c9f09fb 100644
--- a/src/mame/drivers/coinmvga.c
+++ b/src/mame/drivers/coinmvga.c
@@ -234,6 +234,8 @@ public:
DECLARE_READ16_MEMBER(test_r);
DECLARE_DRIVER_INIT(colorama);
DECLARE_DRIVER_INIT(cmrltv75);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -242,7 +244,7 @@ public:
*************************/
-static VIDEO_START( coinmvga )
+void coinmvga_state::video_start()
{
}
@@ -273,7 +275,7 @@ static SCREEN_UPDATE_IND16( coinmvga )
}
-static PALETTE_INIT( coinmvga )
+void coinmvga_state::palette_init()
{
}
@@ -685,10 +687,8 @@ static MACHINE_CONFIG_START( coinmvga, coinmvga_state )
MCFG_GFXDECODE(coinmvga)
- MCFG_PALETTE_INIT(coinmvga)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(coinmvga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/combatsc.c b/src/mame/drivers/combatsc.c
index 60ac03f5efb..36f3125abd5 100644
--- a/src/mame/drivers/combatsc.c
+++ b/src/mame/drivers/combatsc.c
@@ -673,63 +673,60 @@ static const ym2203_interface ym2203_bootleg_config =
DEVCB_NULL
};
-static MACHINE_START( combatsc )
+MACHINE_START_MEMBER(combatsc_state,combatsc)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- UINT8 *MEM = state->memregion("maincpu")->base() + 0x38000;
+ UINT8 *MEM = memregion("maincpu")->base() + 0x38000;
- state->m_io_ram = MEM + 0x0000;
- state->m_page[0] = MEM + 0x4000;
- state->m_page[1] = MEM + 0x6000;
+ m_io_ram = MEM + 0x0000;
+ m_page[0] = MEM + 0x4000;
+ m_page[1] = MEM + 0x6000;
- state->m_interleave_timer = machine.scheduler().timer_alloc(FUNC_NULL);
+ m_interleave_timer = machine().scheduler().timer_alloc(FUNC_NULL);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007121_1 = machine.device("k007121_1");
- state->m_k007121_2 = machine.device("k007121_2");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007121_1 = machine().device("k007121_1");
+ m_k007121_2 = machine().device("k007121_2");
- state->membank("bank1")->configure_entries(0, 10, state->memregion("maincpu")->base() + 0x10000, 0x4000);
+ membank("bank1")->configure_entries(0, 10, memregion("maincpu")->base() + 0x10000, 0x4000);
- state->save_item(NAME(state->m_priority));
- state->save_item(NAME(state->m_vreg));
- state->save_item(NAME(state->m_bank_select));
- state->save_item(NAME(state->m_video_circuit));
- state->save_item(NAME(state->m_boost));
- state->save_item(NAME(state->m_prot));
- state->save_item(NAME(state->m_pos));
- state->save_item(NAME(state->m_sign));
+ save_item(NAME(m_priority));
+ save_item(NAME(m_vreg));
+ save_item(NAME(m_bank_select));
+ save_item(NAME(m_video_circuit));
+ save_item(NAME(m_boost));
+ save_item(NAME(m_prot));
+ save_item(NAME(m_pos));
+ save_item(NAME(m_sign));
}
-static MACHINE_START( combatscb )
+MACHINE_START_MEMBER(combatsc_state,combatscb)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- MACHINE_START_CALL( combatsc );
- state->membank("bl_abank")->configure_entries(0, 2, state->memregion("audiocpu")->base() + 0x8000, 0x4000);
+ MACHINE_START_CALL_MEMBER( combatsc );
+ membank("bl_abank")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x4000);
}
-static MACHINE_RESET( combatsc )
+void combatsc_state::machine_reset()
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
- memset(state->m_io_ram, 0x00, 0x4000);
- memset(state->m_page[0], 0x00, 0x2000);
- memset(state->m_page[1], 0x00, 0x2000);
+ memset(m_io_ram, 0x00, 0x4000);
+ memset(m_page[0], 0x00, 0x2000);
+ memset(m_page[1], 0x00, 0x2000);
- state->m_vreg = -1;
- state->m_boost = 1;
- state->m_bank_select = -1;
- state->m_prot[0] = 0;
- state->m_prot[1] = 0;
+ m_vreg = -1;
+ m_boost = 1;
+ m_bank_select = -1;
+ m_prot[0] = 0;
+ m_prot[1] = 0;
for (i = 0; i < 4; i++)
{
- state->m_pos[i] = 0;
- state->m_sign[i] = 0;
+ m_pos[i] = 0;
+ m_sign[i] = 0;
}
- state->combatsc_bankselect_w(*space, 0, 0);
+ combatsc_bankselect_w(*space, 0, 0);
}
/* combat school (original) */
@@ -745,8 +742,7 @@ static MACHINE_CONFIG_START( combatsc, combatsc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(1200))
- MCFG_MACHINE_START(combatsc)
- MCFG_MACHINE_RESET(combatsc)
+ MCFG_MACHINE_START_OVERRIDE(combatsc_state,combatsc)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -759,8 +755,8 @@ static MACHINE_CONFIG_START( combatsc, combatsc_state )
MCFG_GFXDECODE(combatsc)
MCFG_PALETTE_LENGTH(8*16*16)
- MCFG_PALETTE_INIT(combatsc)
- MCFG_VIDEO_START(combatsc)
+ MCFG_PALETTE_INIT_OVERRIDE(combatsc_state,combatsc)
+ MCFG_VIDEO_START_OVERRIDE(combatsc_state,combatsc)
MCFG_K007121_ADD("k007121_1")
MCFG_K007121_ADD("k007121_2")
@@ -797,8 +793,7 @@ static MACHINE_CONFIG_START( combatscb, combatsc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(1200))
- MCFG_MACHINE_START(combatscb)
- MCFG_MACHINE_RESET(combatsc)
+ MCFG_MACHINE_START_OVERRIDE(combatsc_state,combatscb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -811,8 +806,8 @@ static MACHINE_CONFIG_START( combatscb, combatsc_state )
MCFG_GFXDECODE(combatscb)
MCFG_PALETTE_LENGTH(8*16*16)
- MCFG_PALETTE_INIT(combatscb)
- MCFG_VIDEO_START(combatscb)
+ MCFG_PALETTE_INIT_OVERRIDE(combatsc_state,combatscb)
+ MCFG_VIDEO_START_OVERRIDE(combatsc_state,combatscb)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/commando.c b/src/mame/drivers/commando.c
index d81d24478e0..a4beedbfdf3 100644
--- a/src/mame/drivers/commando.c
+++ b/src/mame/drivers/commando.c
@@ -223,24 +223,22 @@ static INTERRUPT_GEN( commando_interrupt )
/* Machine Driver */
-static MACHINE_START( commando )
+void commando_state::machine_start()
{
- commando_state *state = machine.driver_data<commando_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_scroll_x));
- state->save_item(NAME(state->m_scroll_y));
+ save_item(NAME(m_scroll_x));
+ save_item(NAME(m_scroll_y));
}
-static MACHINE_RESET( commando )
+void commando_state::machine_reset()
{
- commando_state *state = machine.driver_data<commando_state>();
- state->m_scroll_x[0] = 0;
- state->m_scroll_x[1] = 0;
- state->m_scroll_y[0] = 0;
- state->m_scroll_y[1] = 0;
+ m_scroll_x[0] = 0;
+ m_scroll_x[1] = 0;
+ m_scroll_y[0] = 0;
+ m_scroll_y[1] = 0;
}
@@ -255,8 +253,6 @@ static MACHINE_CONFIG_START( commando, commando_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60)
- MCFG_MACHINE_START(commando)
- MCFG_MACHINE_RESET(commando)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -271,7 +267,6 @@ static MACHINE_CONFIG_START( commando, commando_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(commando)
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
diff --git a/src/mame/drivers/compgolf.c b/src/mame/drivers/compgolf.c
index afd08eb5358..098892bbfc4 100644
--- a/src/mame/drivers/compgolf.c
+++ b/src/mame/drivers/compgolf.c
@@ -223,26 +223,24 @@ static const ym2203_interface ym2203_config =
*
*************************************/
-static MACHINE_START( compgolf )
+void compgolf_state::machine_start()
{
- compgolf_state *state = machine.driver_data<compgolf_state>();
- state->save_item(NAME(state->m_bank));
- state->save_item(NAME(state->m_scrollx_lo));
- state->save_item(NAME(state->m_scrollx_hi));
- state->save_item(NAME(state->m_scrolly_lo));
- state->save_item(NAME(state->m_scrolly_hi));
+ save_item(NAME(m_bank));
+ save_item(NAME(m_scrollx_lo));
+ save_item(NAME(m_scrollx_hi));
+ save_item(NAME(m_scrolly_lo));
+ save_item(NAME(m_scrolly_hi));
}
-static MACHINE_RESET( compgolf )
+void compgolf_state::machine_reset()
{
- compgolf_state *state = machine.driver_data<compgolf_state>();
- state->m_bank = -1;
- state->m_scrollx_lo = 0;
- state->m_scrollx_hi = 0;
- state->m_scrolly_lo = 0;
- state->m_scrolly_hi = 0;
+ m_bank = -1;
+ m_scrollx_lo = 0;
+ m_scrollx_hi = 0;
+ m_scrolly_lo = 0;
+ m_scrolly_hi = 0;
}
static MACHINE_CONFIG_START( compgolf, compgolf_state )
@@ -252,8 +250,6 @@ static MACHINE_CONFIG_START( compgolf, compgolf_state )
MCFG_CPU_PROGRAM_MAP(compgolf_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MCFG_MACHINE_START(compgolf)
- MCFG_MACHINE_RESET(compgolf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -264,10 +260,8 @@ static MACHINE_CONFIG_START( compgolf, compgolf_state )
MCFG_SCREEN_UPDATE_STATIC(compgolf)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(compgolf)
MCFG_GFXDECODE(compgolf)
- MCFG_VIDEO_START(compgolf)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/contra.c b/src/mame/drivers/contra.c
index 37646914279..e67a34336c2 100644
--- a/src/mame/drivers/contra.c
+++ b/src/mame/drivers/contra.c
@@ -175,16 +175,15 @@ GFXDECODE_END
-static MACHINE_START( contra )
+void contra_state::machine_start()
{
- contra_state *state = machine.driver_data<contra_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007121_1 = machine.device("k007121_1");
- state->m_k007121_2 = machine.device("k007121_2");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007121_1 = machine().device("k007121_1");
+ m_k007121_2 = machine().device("k007121_2");
}
static MACHINE_CONFIG_START( contra, contra_state )
@@ -199,7 +198,6 @@ static MACHINE_CONFIG_START( contra, contra_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* enough for the sound CPU to read all commands */
- MCFG_MACHINE_START(contra)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -212,8 +210,6 @@ static MACHINE_CONFIG_START( contra, contra_state )
MCFG_GFXDECODE(contra)
MCFG_PALETTE_LENGTH(2*8*16*16)
- MCFG_PALETTE_INIT(contra)
- MCFG_VIDEO_START(contra)
MCFG_K007121_ADD("k007121_1")
MCFG_K007121_ADD("k007121_2")
diff --git a/src/mame/drivers/coolpool.c b/src/mame/drivers/coolpool.c
index 3afdff3e43d..780d7b133a4 100644
--- a/src/mame/drivers/coolpool.c
+++ b/src/mame/drivers/coolpool.c
@@ -132,21 +132,19 @@ static void coolpool_from_shiftreg(address_space *space, UINT32 address, UINT16
*
*************************************/
-static MACHINE_RESET( amerdart )
+MACHINE_RESET_MEMBER(coolpool_state,amerdart)
{
- coolpool_state *state = machine.driver_data<coolpool_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_dsp = machine.device("dsp");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_dsp = machine().device("dsp");
- state->m_nvram_write_enable = 0;
+ m_nvram_write_enable = 0;
}
-static MACHINE_RESET( coolpool )
+MACHINE_RESET_MEMBER(coolpool_state,coolpool)
{
- coolpool_state *state = machine.driver_data<coolpool_state>();
- state->m_nvram_write_enable = 0;
+ m_nvram_write_enable = 0;
}
@@ -863,7 +861,7 @@ static MACHINE_CONFIG_START( amerdart, coolpool_state )
MCFG_CPU_IO_MAP(amerdart_dsp_io_map)
MCFG_TIMER_ADD_SCANLINE("audioint", amerdart_audio_int_gen, "screen", 0, 1)
- MCFG_MACHINE_RESET(amerdart)
+ MCFG_MACHINE_RESET_OVERRIDE(coolpool_state,amerdart)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_ADD("nvram_timer", nvram_write_timeout)
@@ -892,7 +890,7 @@ static MACHINE_CONFIG_START( coolpool, coolpool_state )
MCFG_CPU_PROGRAM_MAP(coolpool_dsp_pgm_map)
MCFG_CPU_IO_MAP(coolpool_dsp_io_map)
- MCFG_MACHINE_RESET(coolpool)
+ MCFG_MACHINE_RESET_OVERRIDE(coolpool_state,coolpool)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_ADD("nvram_timer", nvram_write_timeout)
diff --git a/src/mame/drivers/coolridr.c b/src/mame/drivers/coolridr.c
index 62c85371401..aec1ebb59cf 100644
--- a/src/mame/drivers/coolridr.c
+++ b/src/mame/drivers/coolridr.c
@@ -317,17 +317,18 @@ public:
DECLARE_READ32_MEMBER(coolridr_hack1_r);
DECLARE_READ32_MEMBER(coolridr_hack2_r);
DECLARE_DRIVER_INIT(coolridr);
+ virtual void machine_reset();
+ virtual void video_start();
};
/* video */
-static VIDEO_START(coolridr)
+void coolridr_state::video_start()
{
- coolridr_state *state = machine.driver_data<coolridr_state>();
- machine.primary_screen->register_screen_bitmap(state->m_temp_bitmap_sprites);
- state->m_test_offs = 0x2000;
+ machine().primary_screen->register_screen_bitmap(m_temp_bitmap_sprites);
+ m_test_offs = 0x2000;
}
static SCREEN_UPDATE_RGB32(coolridr)
@@ -1155,10 +1156,10 @@ static TIMER_DEVICE_CALLBACK( system_h1_sub )
}
}
-static MACHINE_RESET ( coolridr )
+void coolridr_state::machine_reset()
{
-// machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+// machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
static MACHINE_CONFIG_START( coolridr, coolridr_state )
@@ -1183,9 +1184,7 @@ static MACHINE_CONFIG_START( coolridr, coolridr_state )
MCFG_SCREEN_UPDATE_STATIC(coolridr)
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_MACHINE_RESET(coolridr)
- MCFG_VIDEO_START(coolridr)
MACHINE_CONFIG_END
ROM_START( coolridr )
diff --git a/src/mame/drivers/cop01.c b/src/mame/drivers/cop01.c
index 8b7902353d8..f070434e0d4 100644
--- a/src/mame/drivers/cop01.c
+++ b/src/mame/drivers/cop01.c
@@ -425,28 +425,26 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( cop01 )
+void cop01_state::machine_start()
{
- cop01_state *state = machine.driver_data<cop01_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_pulse));
- state->save_item(NAME(state->m_timer));
- state->save_item(NAME(state->m_vreg));
+ save_item(NAME(m_pulse));
+ save_item(NAME(m_timer));
+ save_item(NAME(m_vreg));
}
-static MACHINE_RESET( cop01 )
+void cop01_state::machine_reset()
{
- cop01_state *state = machine.driver_data<cop01_state>();
-
- state->m_pulse = 0;
- state->m_timer = 0;
- state->m_vreg[0] = 0;
- state->m_vreg[1] = 0;
- state->m_vreg[2] = 0;
- state->m_vreg[3] = 0;
+
+ m_pulse = 0;
+ m_timer = 0;
+ m_vreg[0] = 0;
+ m_vreg[1] = 0;
+ m_vreg[2] = 0;
+ m_vreg[3] = 0;
}
@@ -462,8 +460,6 @@ static MACHINE_CONFIG_START( cop01, cop01_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(audio_io_map)
- MCFG_MACHINE_START(cop01)
- MCFG_MACHINE_RESET(cop01)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -476,8 +472,6 @@ static MACHINE_CONFIG_START( cop01, cop01_state )
MCFG_GFXDECODE(cop01)
MCFG_PALETTE_LENGTH(16+8*16+16*16)
- MCFG_PALETTE_INIT(cop01)
- MCFG_VIDEO_START(cop01)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -504,8 +498,6 @@ static MACHINE_CONFIG_START( mightguy, cop01_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(mightguy_audio_io_map)
- MCFG_MACHINE_START(cop01)
- MCFG_MACHINE_RESET(cop01)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -518,8 +510,6 @@ static MACHINE_CONFIG_START( mightguy, cop01_state )
MCFG_GFXDECODE(cop01)
MCFG_PALETTE_LENGTH(16+8*16+16*16)
- MCFG_PALETTE_INIT(cop01)
- MCFG_VIDEO_START(cop01)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/copsnrob.c b/src/mame/drivers/copsnrob.c
index 1b3533db3f0..e487ee47451 100644
--- a/src/mame/drivers/copsnrob.c
+++ b/src/mame/drivers/copsnrob.c
@@ -66,10 +66,10 @@ Added Dip locations according to manual.
*
*************************************/
-static PALETTE_INIT( copsnrob )
+void copsnrob_state::palette_init()
{
- palette_set_color(machine,0,MAKE_RGB(0x00,0x00,0x00)); /* black */
- palette_set_color(machine,1,MAKE_RGB(0xff,0xff,0xff)); /* white */
+ palette_set_color(machine(),0,MAKE_RGB(0x00,0x00,0x00)); /* black */
+ palette_set_color(machine(),1,MAKE_RGB(0xff,0xff,0xff)); /* white */
}
@@ -248,20 +248,18 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( copsnrob )
+void copsnrob_state::machine_start()
{
- copsnrob_state *state = machine.driver_data<copsnrob_state>();
- state->save_item(NAME(state->m_ic_h3_data));
- state->save_item(NAME(state->m_misc));
+ save_item(NAME(m_ic_h3_data));
+ save_item(NAME(m_misc));
}
-static MACHINE_RESET( copsnrob )
+void copsnrob_state::machine_reset()
{
- copsnrob_state *state = machine.driver_data<copsnrob_state>();
- state->m_ic_h3_data = 0;
- state->m_misc = 0;
+ m_ic_h3_data = 0;
+ m_misc = 0;
}
@@ -271,8 +269,6 @@ static MACHINE_CONFIG_START( copsnrob, copsnrob_state )
MCFG_CPU_ADD("maincpu", M6502,14318180/16) /* 894886.25 kHz */
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(copsnrob)
- MCFG_MACHINE_RESET(copsnrob)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -285,7 +281,6 @@ static MACHINE_CONFIG_START( copsnrob, copsnrob_state )
MCFG_GFXDECODE(copsnrob)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(copsnrob)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/corona.c b/src/mame/drivers/corona.c
index 73cbf075859..a9244202bcb 100644
--- a/src/mame/drivers/corona.c
+++ b/src/mame/drivers/corona.c
@@ -346,6 +346,8 @@ public:
void blitter_execute(int x, int y, int color, int width, int flag);
DECLARE_WRITE8_MEMBER(ay_port_a_out);
DECLARE_WRITE8_MEMBER(ay_port_b_out);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -353,9 +355,9 @@ public:
* Video Hardware *
*********************************************/
-static PALETTE_INIT( winner )
+void corona_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit6, bit7, bit0, bit1, r, g, b;
int i;
@@ -376,7 +378,7 @@ static PALETTE_INIT( winner )
bit1 = (color_prom[0] >> 5) & 0x01;
r = 0x0e * bit6 + 0x1f * bit7 + 0x43 * bit0 + 0x8f * bit1;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -452,10 +454,9 @@ WRITE8_MEMBER(corona_state::blitter_trig_wdht_w)
blitter_execute(m_blitter_x_reg, 0x100 - m_blitter_y_reg, m_blitter_aux_reg & 0xf, data, m_blitter_aux_reg & 0xf0);
}
-static VIDEO_START(winner)
+void corona_state::video_start()
{
- corona_state *state = machine.driver_data<corona_state>();
- state->m_videobuf = auto_alloc_array_clear(machine, UINT8, VIDEOBUF_SIZE);
+ m_videobuf = auto_alloc_array_clear(machine(), UINT8, VIDEOBUF_SIZE);
}
static SCREEN_UPDATE_IND16(winner)
@@ -1366,7 +1367,6 @@ static MACHINE_CONFIG_START( winner81, corona_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_PALETTE_INIT(winner)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1378,7 +1378,6 @@ static MACHINE_CONFIG_START( winner81, corona_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(winner)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8912, AY_CLK1) /* measured */
@@ -1399,7 +1398,6 @@ static MACHINE_CONFIG_START( winner82, corona_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_PALETTE_INIT(winner)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1411,7 +1409,6 @@ static MACHINE_CONFIG_START( winner82, corona_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(winner)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, AY_CLK2) /* measured */
@@ -1432,7 +1429,6 @@ static MACHINE_CONFIG_START( re800, corona_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_PALETTE_INIT(winner)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1444,7 +1440,6 @@ static MACHINE_CONFIG_START( re800, corona_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(winner)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8912, AY_CLK2)
@@ -1464,7 +1459,6 @@ static MACHINE_CONFIG_START( rcirulet, corona_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_PALETTE_INIT(winner)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1476,7 +1470,6 @@ static MACHINE_CONFIG_START( rcirulet, corona_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(winner)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8912, AY_CLK2)
@@ -1497,7 +1490,6 @@ static MACHINE_CONFIG_START( luckyrlt, corona_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_PALETTE_INIT(winner)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1509,7 +1501,6 @@ static MACHINE_CONFIG_START( luckyrlt, corona_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(winner)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8912, AY_CLK1)
diff --git a/src/mame/drivers/cosmic.c b/src/mame/drivers/cosmic.c
index 765a85a9632..1a53b11d941 100644
--- a/src/mame/drivers/cosmic.c
+++ b/src/mame/drivers/cosmic.c
@@ -958,32 +958,30 @@ static const samples_interface cosmicg_samples_interface =
};
-static MACHINE_START( cosmic )
+MACHINE_START_MEMBER(cosmic_state,cosmic)
{
- cosmic_state *state = machine.driver_data<cosmic_state>();
- state->m_samples = machine.device<samples_device>("samples");
- state->m_dac = machine.device<dac_device>("dac");
+ m_samples = machine().device<samples_device>("samples");
+ m_dac = machine().device<dac_device>("dac");
- state->save_item(NAME(state->m_sound_enabled));
- state->save_item(NAME(state->m_march_select));
- state->save_item(NAME(state->m_gun_die_select));
- state->save_item(NAME(state->m_dive_bomb_b_select));
- state->save_item(NAME(state->m_pixel_clock));
+ save_item(NAME(m_sound_enabled));
+ save_item(NAME(m_march_select));
+ save_item(NAME(m_gun_die_select));
+ save_item(NAME(m_dive_bomb_b_select));
+ save_item(NAME(m_pixel_clock));
- state->save_item(NAME(state->m_background_enable));
- state->save_item(NAME(state->m_color_registers));
+ save_item(NAME(m_background_enable));
+ save_item(NAME(m_color_registers));
}
-static MACHINE_RESET( cosmic )
+MACHINE_RESET_MEMBER(cosmic_state,cosmic)
{
- cosmic_state *state = machine.driver_data<cosmic_state>();
- state->m_pixel_clock = 0;
- state->m_background_enable = 0;
- state->m_color_registers[0] = 0;
- state->m_color_registers[1] = 0;
- state->m_color_registers[2] = 0;
+ m_pixel_clock = 0;
+ m_background_enable = 0;
+ m_color_registers[0] = 0;
+ m_color_registers[1] = 0;
+ m_color_registers[2] = 0;
}
@@ -992,8 +990,8 @@ static MACHINE_CONFIG_START( cosmic, cosmic_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80,Z80_MASTER_CLOCK/6) /* 1.8026 MHz*/
- MCFG_MACHINE_START(cosmic)
- MCFG_MACHINE_RESET(cosmic)
+ MCFG_MACHINE_START_OVERRIDE(cosmic_state,cosmic)
+ MCFG_MACHINE_RESET_OVERRIDE(cosmic_state,cosmic)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1025,7 +1023,7 @@ static MACHINE_CONFIG_DERIVED( panic, cosmic )
MCFG_GFXDECODE(panic)
MCFG_PALETTE_LENGTH(16+8*4)
- MCFG_PALETTE_INIT(panic)
+ MCFG_PALETTE_INIT_OVERRIDE(cosmic_state,panic)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(panic)
@@ -1050,7 +1048,7 @@ static MACHINE_CONFIG_DERIVED( cosmica, cosmic )
MCFG_GFXDECODE(cosmica)
MCFG_PALETTE_LENGTH(8+16*4)
- MCFG_PALETTE_INIT(cosmica)
+ MCFG_PALETTE_INIT_OVERRIDE(cosmic_state,cosmica)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(cosmica)
@@ -1077,8 +1075,8 @@ static MACHINE_CONFIG_START( cosmicg, cosmic_state )
MCFG_CPU_PROGRAM_MAP(cosmicg_map)
MCFG_CPU_IO_MAP(cosmicg_io_map)
- MCFG_MACHINE_START(cosmic)
- MCFG_MACHINE_RESET(cosmic)
+ MCFG_MACHINE_START_OVERRIDE(cosmic_state,cosmic)
+ MCFG_MACHINE_RESET_OVERRIDE(cosmic_state,cosmic)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1089,7 +1087,7 @@ static MACHINE_CONFIG_START( cosmicg, cosmic_state )
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(cosmicg)
+ MCFG_PALETTE_INIT_OVERRIDE(cosmic_state,cosmicg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1112,7 +1110,7 @@ static MACHINE_CONFIG_DERIVED( magspot, cosmic )
MCFG_GFXDECODE(panic)
MCFG_PALETTE_LENGTH(16+8*4)
- MCFG_PALETTE_INIT(magspot)
+ MCFG_PALETTE_INIT_OVERRIDE(cosmic_state,magspot)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(magspot)
@@ -1144,7 +1142,7 @@ static MACHINE_CONFIG_DERIVED( nomnlnd, cosmic )
MCFG_GFXDECODE(panic)
MCFG_PALETTE_LENGTH(16+8*4)
- MCFG_PALETTE_INIT(nomnlnd)
+ MCFG_PALETTE_INIT_OVERRIDE(cosmic_state,nomnlnd)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(nomnlnd)
diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c
index 54d316e7434..a247ee8280c 100644
--- a/src/mame/drivers/cps1.c
+++ b/src/mame/drivers/cps1.c
@@ -3030,24 +3030,23 @@ static const ym2151_interface ym2151_config =
*
********************************************************************/
-static MACHINE_START( common )
+MACHINE_START_MEMBER(cps_state,common)
{
- cps_state *state = machine.driver_data<cps_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
}
-static MACHINE_START( cps1 )
+MACHINE_START_MEMBER(cps_state,cps1)
{
- MACHINE_START_CALL(common);
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
+ MACHINE_START_CALL_MEMBER(common);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
}
-static MACHINE_START( qsound )
+MACHINE_START_MEMBER(cps_state,qsound)
{
- MACHINE_START_CALL(common);
- machine.root_device().membank("bank1")->configure_entries(0, 6, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
+ MACHINE_START_CALL_MEMBER(common);
+ machine().root_device().membank("bank1")->configure_entries(0, 6, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
}
static MACHINE_CONFIG_START( cps1_10MHz, cps_state )
@@ -3060,7 +3059,7 @@ static MACHINE_CONFIG_START( cps1_10MHz, cps_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(sub_map)
- MCFG_MACHINE_START(cps1)
+ MCFG_MACHINE_START_OVERRIDE(cps_state,cps1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3074,7 +3073,7 @@ static MACHINE_CONFIG_START( cps1_10MHz, cps_state )
MCFG_GFXDECODE(cps1)
MCFG_PALETTE_LENGTH(0xc00)
- MCFG_VIDEO_START(cps1)
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3116,7 +3115,7 @@ static MACHINE_CONFIG_DERIVED( qsound, cps1_12MHz )
MCFG_CPU_PROGRAM_MAP(qsound_sub_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 250) /* ?? */
- MCFG_MACHINE_START(qsound)
+ MCFG_MACHINE_START_OVERRIDE(cps_state,qsound)
MCFG_EEPROM_ADD("eeprom", qsound_eeprom_interface)
@@ -3144,7 +3143,7 @@ static MACHINE_CONFIG_START( cpspicb, cps_state )
MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000)
MCFG_DEVICE_DISABLE() /* no valid dumps .. */
- MCFG_MACHINE_START(common)
+ MCFG_MACHINE_START_OVERRIDE(cps_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3158,7 +3157,7 @@ static MACHINE_CONFIG_START( cpspicb, cps_state )
MCFG_GFXDECODE(cps1)
MCFG_PALETTE_LENGTH(0xc00)
- MCFG_VIDEO_START(cps1)
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3218,7 +3217,7 @@ static MACHINE_CONFIG_START( sf2mdt, cps_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(sf2mdt_z80map)
- MCFG_MACHINE_START(common)
+ MCFG_MACHINE_START_OVERRIDE(cps_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3232,7 +3231,7 @@ static MACHINE_CONFIG_START( sf2mdt, cps_state )
MCFG_GFXDECODE(cps1)
MCFG_PALETTE_LENGTH(0xc00)
- MCFG_VIDEO_START(cps1)
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3302,7 +3301,7 @@ static MACHINE_CONFIG_START( knightsb, cps_state )
MCFG_CPU_ADD("audiocpu", Z80, 29821000 / 8)
MCFG_CPU_PROGRAM_MAP(sf2mdt_z80map)
- MCFG_MACHINE_START(common)
+ MCFG_MACHINE_START_OVERRIDE(cps_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3316,7 +3315,7 @@ static MACHINE_CONFIG_START( knightsb, cps_state )
MCFG_GFXDECODE(cps1)
MCFG_PALETTE_LENGTH(0xc00)
- MCFG_VIDEO_START(cps1)
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cps2.c b/src/mame/drivers/cps2.c
index 77280d88a9b..dd0e6642e23 100644
--- a/src/mame/drivers/cps2.c
+++ b/src/mame/drivers/cps2.c
@@ -1210,15 +1210,14 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( cps2 )
+MACHINE_START_MEMBER(cps_state,cps2)
{
- cps_state *state = machine.driver_data<cps_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- if (state->m_audiocpu != NULL) // gigaman2 has no audiocpu
- state->membank("bank1")->configure_entries(0, (QSOUND_SIZE - 0x10000) / 0x4000, state->memregion("audiocpu")->base() + 0x10000, 0x4000);
+ if (m_audiocpu != NULL) // gigaman2 has no audiocpu
+ membank("bank1")->configure_entries(0, (QSOUND_SIZE - 0x10000) / 0x4000, memregion("audiocpu")->base() + 0x10000, 0x4000);
}
@@ -1233,7 +1232,7 @@ static MACHINE_CONFIG_START( cps2, cps_state )
MCFG_CPU_PROGRAM_MAP(qsound_sub_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 251) /* 251 is good (see 'mercy mercy mercy'section of sgemf attract mode for accurate sound sync */
- MCFG_MACHINE_START(cps2)
+ MCFG_MACHINE_START_OVERRIDE(cps_state,cps2)
MCFG_EEPROM_ADD("eeprom", cps2_eeprom_interface)
@@ -1258,7 +1257,7 @@ static MACHINE_CONFIG_START( cps2, cps_state )
MCFG_GFXDECODE(cps2)
MCFG_PALETTE_LENGTH(0xc00)
- MCFG_VIDEO_START(cps2)
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index b247d48fbd0..8c46ba35284 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -815,40 +815,39 @@ static void cps3_set_mame_colours(running_machine &machine, int colournum, UINT1
}
-static VIDEO_START(cps3)
+void cps3_state::video_start()
{
- cps3_state *state = machine.driver_data<cps3_state>();
- state->m_ss_ram = auto_alloc_array(machine, UINT32, 0x10000/4);
- memset(state->m_ss_ram, 0x00, 0x10000);
- state_save_register_global_pointer(machine, state->m_ss_ram, 0x10000/4);
+ m_ss_ram = auto_alloc_array(machine(), UINT32, 0x10000/4);
+ memset(m_ss_ram, 0x00, 0x10000);
+ state_save_register_global_pointer(machine(), m_ss_ram, 0x10000/4);
- state->m_char_ram = auto_alloc_array(machine, UINT32, 0x800000/4);
- memset(state->m_char_ram, 0x00, 0x800000);
- state_save_register_global_pointer(machine, state->m_char_ram, 0x800000 /4);
+ m_char_ram = auto_alloc_array(machine(), UINT32, 0x800000/4);
+ memset(m_char_ram, 0x00, 0x800000);
+ state_save_register_global_pointer(machine(), m_char_ram, 0x800000 /4);
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine.gfx[0] = auto_alloc(machine, gfx_element(machine, cps3_tiles8x8_layout, (UINT8 *)state->m_ss_ram, machine.total_colors() / 16, 0));
+ machine().gfx[0] = auto_alloc(machine(), gfx_element(machine(), cps3_tiles8x8_layout, (UINT8 *)m_ss_ram, machine().total_colors() / 16, 0));
//decode_ssram();
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine.gfx[1] = auto_alloc(machine, gfx_element(machine, cps3_tiles16x16_layout, (UINT8 *)state->m_char_ram, machine.total_colors() / 64, 0));
- machine.gfx[1]->set_granularity(64);
+ machine().gfx[1] = auto_alloc(machine(), gfx_element(machine(), cps3_tiles16x16_layout, (UINT8 *)m_char_ram, machine().total_colors() / 64, 0));
+ machine().gfx[1]->set_granularity(64);
//decode_charram();
- state->m_mame_colours = auto_alloc_array(machine, UINT32, 0x80000/4);
- memset(state->m_mame_colours, 0x00, 0x80000);
+ m_mame_colours = auto_alloc_array(machine(), UINT32, 0x80000/4);
+ memset(m_mame_colours, 0x00, 0x80000);
- state->m_screenwidth = 384;
+ m_screenwidth = 384;
// the renderbuffer can be twice the size of the screen, this allows us to handle framebuffer zoom values
// between 0x00 and 0x80 (0x40 is normal, 0x80 would be 'view twice as much', 0x20 is 'view half as much')
- state->m_renderbuffer_bitmap.allocate(512*2,224*2);
+ m_renderbuffer_bitmap.allocate(512*2,224*2);
- state->m_renderbuffer_clip.set(0, state->m_screenwidth-1, 0, 224-1);
+ m_renderbuffer_clip.set(0, m_screenwidth-1, 0, 224-1);
- state->m_renderbuffer_bitmap.fill(0x3f, state->m_renderbuffer_clip);
+ m_renderbuffer_bitmap.fill(0x3f, m_renderbuffer_clip);
}
@@ -2267,13 +2266,12 @@ static const struct WD33C93interface wd33c93_intf =
NULL /* command completion IRQ */
};
-static MACHINE_RESET( cps3 )
+void cps3_state::machine_reset()
{
- cps3_state *state = machine.driver_data<cps3_state>();
- state->m_current_table_address = -1;
+ m_current_table_address = -1;
// copy data from flashroms back into user regions + decrypt into regions we execute/draw from.
- copy_from_nvram(machine);
+ copy_from_nvram(machine());
}
@@ -2520,11 +2518,9 @@ static MACHINE_CONFIG_START( cps3, cps3_state )
42.9545MHz / 15.4445kHz = 2781.217 / 6 = 463.536 -> unlikely
*/
- MCFG_MACHINE_RESET(cps3)
MCFG_NVRAM_ADD_0FILL("eeprom")
MCFG_PALETTE_LENGTH(0x10000) // actually 0x20000 ...
- MCFG_VIDEO_START(cps3)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/crbaloon.c b/src/mame/drivers/crbaloon.c
index 8006e75bf2f..5a1a1020f31 100644
--- a/src/mame/drivers/crbaloon.c
+++ b/src/mame/drivers/crbaloon.c
@@ -337,14 +337,13 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_RESET( crballoon )
+void crbaloon_state::machine_reset()
{
- crbaloon_state *state = machine.driver_data<crbaloon_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_IO);
- device_t *discrete = machine.device("discrete");
+ address_space *space = machine().device("maincpu")->memory().space(AS_IO);
+ device_t *discrete = machine().device("discrete");
pc3092_reset();
- state->port_sound_w(*space, 0, 0);
+ port_sound_w(*space, 0, 0);
crbaloon_audio_set_music_freq(discrete, 0, 0);
}
@@ -373,15 +372,12 @@ static MACHINE_CONFIG_START( crbaloon, crbaloon_state )
MCFG_CPU_IO_MAP(main_io_map)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_RESET(crballoon)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(crbaloon)
MCFG_GFXDECODE(crbaloon)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(crbaloon)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/crgolf.c b/src/mame/drivers/crgolf.c
index 804ec92c40d..d325e738c31 100644
--- a/src/mame/drivers/crgolf.c
+++ b/src/mame/drivers/crgolf.c
@@ -71,35 +71,33 @@ WRITE8_MEMBER(crgolf_state::rom_bank_select_w)
}
-static MACHINE_START( crgolf )
+void crgolf_state::machine_start()
{
- crgolf_state *state = machine.driver_data<crgolf_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
/* configure the banking */
- state->membank("bank1")->configure_entries(0, 16, state->memregion("maincpu")->base() + 0x10000, 0x2000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x2000);
+ membank("bank1")->set_entry(0);
/* register for save states */
- state->save_item(NAME(state->m_port_select));
- state->save_item(NAME(state->m_main_to_sound_data));
- state->save_item(NAME(state->m_sound_to_main_data));
- state->save_item(NAME(state->m_sample_offset));
- state->save_item(NAME(state->m_sample_count));
+ save_item(NAME(m_port_select));
+ save_item(NAME(m_main_to_sound_data));
+ save_item(NAME(m_sound_to_main_data));
+ save_item(NAME(m_sample_offset));
+ save_item(NAME(m_sample_count));
}
-static MACHINE_RESET( crgolf )
+void crgolf_state::machine_reset()
{
- crgolf_state *state = machine.driver_data<crgolf_state>();
- state->m_port_select = 0;
- state->m_main_to_sound_data = 0;
- state->m_sound_to_main_data = 0;
- state->m_sample_offset = 0;
- state->m_sample_count = 0;
+ m_port_select = 0;
+ m_main_to_sound_data = 0;
+ m_sound_to_main_data = 0;
+ m_sample_offset = 0;
+ m_sample_count = 0;
}
@@ -412,8 +410,6 @@ static MACHINE_CONFIG_START( crgolf, crgolf_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(crgolf)
- MCFG_MACHINE_RESET(crgolf)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
/* video hardware */
diff --git a/src/mame/drivers/crimfght.c b/src/mame/drivers/crimfght.c
index 0e7d3806f56..e5f5c71ee57 100644
--- a/src/mame/drivers/crimfght.c
+++ b/src/mame/drivers/crimfght.c
@@ -258,24 +258,23 @@ static const k051960_interface crimfght_k051960_intf =
crimfght_sprite_callback
};
-static MACHINE_START( crimfght )
+void crimfght_state::machine_start()
{
- crimfght_state *state = machine.driver_data<crimfght_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank2")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
- state->membank("bank2")->set_entry(0);
+ membank("bank2")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
+ membank("bank2")->set_entry(0);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
- state->m_k007232 = machine.device("k007232");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
+ m_k007232 = machine().device("k007232");
}
-static MACHINE_RESET( crimfght )
+void crimfght_state::machine_reset()
{
- konami_configure_set_lines(machine.device("maincpu"), crimfght_banking);
+ konami_configure_set_lines(machine().device("maincpu"), crimfght_banking);
}
static MACHINE_CONFIG_START( crimfght, crimfght_state )
@@ -288,8 +287,6 @@ static MACHINE_CONFIG_START( crimfght, crimfght_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(crimfght_sound_map)
- MCFG_MACHINE_START(crimfght)
- MCFG_MACHINE_RESET(crimfght)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -303,7 +300,6 @@ static MACHINE_CONFIG_START( crimfght, crimfght_state )
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(crimfght)
MCFG_K052109_ADD("k052109", crimfght_k052109_intf)
MCFG_K051960_ADD("k051960", crimfght_k051960_intf)
diff --git a/src/mame/drivers/crospang.c b/src/mame/drivers/crospang.c
index a7c381d6325..9468e8d49e3 100644
--- a/src/mame/drivers/crospang.c
+++ b/src/mame/drivers/crospang.c
@@ -327,21 +327,19 @@ static const ym3812_interface ym3812_config =
};
-static MACHINE_START( crospang )
+void crospang_state::machine_start()
{
- crospang_state *state = machine.driver_data<crospang_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_bestri_tilebank));
+ save_item(NAME(m_bestri_tilebank));
}
-static MACHINE_RESET( crospang )
+void crospang_state::machine_reset()
{
- crospang_state *state = machine.driver_data<crospang_state>();
- state->m_bestri_tilebank = 0;
+ m_bestri_tilebank = 0;
}
@@ -357,8 +355,6 @@ static MACHINE_CONFIG_START( crospang, crospang_state )
MCFG_CPU_PROGRAM_MAP(crospang_sound_map)
MCFG_CPU_IO_MAP(crospang_sound_io_map)
- MCFG_MACHINE_START(crospang)
- MCFG_MACHINE_RESET(crospang)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -371,7 +367,6 @@ static MACHINE_CONFIG_START( crospang, crospang_state )
MCFG_PALETTE_LENGTH(0x300)
MCFG_GFXDECODE(crospang)
- MCFG_VIDEO_START(crospang)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 0);
diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c
index 33f1974123e..5719f009a89 100644
--- a/src/mame/drivers/crshrace.c
+++ b/src/mame/drivers/crshrace.c
@@ -438,26 +438,24 @@ static const k053936_interface crshrace_k053936_intf =
};
-static MACHINE_START( crshrace )
+void crshrace_state::machine_start()
{
- crshrace_state *state = machine.driver_data<crshrace_state>();
- state->membank("bank1")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000, 0x8000);
+ membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x8000);
- state->save_item(NAME(state->m_roz_bank));
- state->save_item(NAME(state->m_gfxctrl));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_pending_command));
+ save_item(NAME(m_roz_bank));
+ save_item(NAME(m_gfxctrl));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_pending_command));
}
-static MACHINE_RESET( crshrace )
+void crshrace_state::machine_reset()
{
- crshrace_state *state = machine.driver_data<crshrace_state>();
- state->m_roz_bank = 0;
- state->m_gfxctrl = 0;
- state->m_flipscreen = 0;
- state->m_pending_command = 0;
+ m_roz_bank = 0;
+ m_gfxctrl = 0;
+ m_flipscreen = 0;
+ m_pending_command = 0;
}
static MACHINE_CONFIG_START( crshrace, crshrace_state )
@@ -471,8 +469,6 @@ static MACHINE_CONFIG_START( crshrace, crshrace_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_MACHINE_START(crshrace)
- MCFG_MACHINE_RESET(crshrace)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -490,7 +486,6 @@ static MACHINE_CONFIG_START( crshrace, crshrace_state )
MCFG_K053936_ADD("k053936", crshrace_k053936_intf)
- MCFG_VIDEO_START(crshrace)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/crystal.c b/src/mame/drivers/crystal.c
index 9655660cf88..e10ce926893 100644
--- a/src/mame/drivers/crystal.c
+++ b/src/mame/drivers/crystal.c
@@ -188,6 +188,8 @@ public:
DECLARE_DRIVER_INIT(officeye);
DECLARE_DRIVER_INIT(crysking);
DECLARE_DRIVER_INIT(evosocc);
+ virtual void machine_start();
+ virtual void machine_reset();
};
static void IntReq( running_machine &machine, int num )
@@ -574,66 +576,64 @@ static void crystal_banksw_postload(running_machine &machine)
state->membank("bank1")->set_base(state->memregion("user2")->base());
}
-static MACHINE_START( crystal )
+void crystal_state::machine_start()
{
- crystal_state *state = machine.driver_data<crystal_state>();
int i;
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_ds1302 = machine.device<ds1302_device>("rtc");
- state->m_vr0video = machine.device("vr0");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_ds1302 = machine().device<ds1302_device>("rtc");
+ m_vr0video = machine().device("vr0");
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(icallback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(icallback);
for (i = 0; i < 4; i++)
- state->m_Timer[i] = machine.scheduler().timer_alloc(FUNC(Timercb), (void*)(FPTR)i);
+ m_Timer[i] = machine().scheduler().timer_alloc(FUNC(Timercb), (void*)(FPTR)i);
- PatchReset(machine);
+ PatchReset(machine());
#ifdef IDLE_LOOP_SPEEDUP
- state->save_item(NAME(state->m_FlipCntRead));
+ save_item(NAME(m_FlipCntRead));
#endif
- state->save_item(NAME(state->m_Bank));
- state->save_item(NAME(state->m_FlipCount));
- state->save_item(NAME(state->m_IntHigh));
- state->save_item(NAME(state->m_Timerctrl));
- state->save_item(NAME(state->m_FlashCmd));
- state->save_item(NAME(state->m_PIO));
- state->save_item(NAME(state->m_DMActrl));
- state->save_item(NAME(state->m_OldPort4));
- machine.save().register_postload(save_prepost_delegate(FUNC(crystal_banksw_postload), &machine));
+ save_item(NAME(m_Bank));
+ save_item(NAME(m_FlipCount));
+ save_item(NAME(m_IntHigh));
+ save_item(NAME(m_Timerctrl));
+ save_item(NAME(m_FlashCmd));
+ save_item(NAME(m_PIO));
+ save_item(NAME(m_DMActrl));
+ save_item(NAME(m_OldPort4));
+ machine().save().register_postload(save_prepost_delegate(FUNC(crystal_banksw_postload), &machine()));
}
-static MACHINE_RESET( crystal )
+void crystal_state::machine_reset()
{
- crystal_state *state = machine.driver_data<crystal_state>();
int i;
- memset(state->m_sysregs, 0, 0x10000);
- memset(state->m_vidregs, 0, 0x10000);
- state->m_FlipCount = 0;
- state->m_IntHigh = 0;
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(icallback);
- state->m_Bank = 0;
- state->membank("bank1")->set_base(state->memregion("user1")->base() + 0);
- state->m_FlashCmd = 0xff;
- state->m_OldPort4 = 0;
+ memset(m_sysregs, 0, 0x10000);
+ memset(m_vidregs, 0, 0x10000);
+ m_FlipCount = 0;
+ m_IntHigh = 0;
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(icallback);
+ m_Bank = 0;
+ membank("bank1")->set_base(memregion("user1")->base() + 0);
+ m_FlashCmd = 0xff;
+ m_OldPort4 = 0;
- state->m_DMActrl[0] = 0;
- state->m_DMActrl[1] = 0;
+ m_DMActrl[0] = 0;
+ m_DMActrl[1] = 0;
for (i = 0; i < 4; i++)
{
- state->m_Timerctrl[i] = 0;
- state->m_Timer[i]->adjust(attotime::never);
+ m_Timerctrl[i] = 0;
+ m_Timer[i]->adjust(attotime::never);
}
- vr0_snd_set_areas(machine.device("vrender"), state->m_textureram, state->m_frameram);
+ vr0_snd_set_areas(machine().device("vrender"), m_textureram, m_frameram);
#ifdef IDLE_LOOP_SPEEDUP
- state->m_FlipCntRead = 0;
+ m_FlipCntRead = 0;
#endif
- PatchReset(machine);
+ PatchReset(machine());
}
static UINT16 GetVidReg( address_space *space, UINT16 reg )
@@ -843,8 +843,6 @@ static MACHINE_CONFIG_START( crystal, crystal_state )
MCFG_CPU_PROGRAM_MAP(crystal_mem)
MCFG_CPU_VBLANK_INT("screen", crystal_interrupt)
- MCFG_MACHINE_START(crystal)
- MCFG_MACHINE_RESET(crystal)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/cshooter.c b/src/mame/drivers/cshooter.c
index 852f2ce2252..7a23b06680f 100644
--- a/src/mame/drivers/cshooter.c
+++ b/src/mame/drivers/cshooter.c
@@ -116,6 +116,9 @@ public:
DECLARE_DRIVER_INIT(cshootere);
DECLARE_DRIVER_INIT(cshooter);
TILE_GET_INFO_MEMBER(get_cstx_tile_info);
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(cshooter);
+ DECLARE_MACHINE_RESET(airraid);
};
@@ -141,11 +144,10 @@ WRITE8_MEMBER(cshooter_state::cshooter_txram_w)
m_txtilemap->mark_tile_dirty(offset/2);
}
-static VIDEO_START(cshooter)
+void cshooter_state::video_start()
{
- cshooter_state *state = machine.driver_data<cshooter_state>();
- state->m_txtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cshooter_state::get_cstx_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,32, 32);
- state->m_txtilemap->set_transparent_pen(3);
+ m_txtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cshooter_state::get_cstx_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,32, 32);
+ m_txtilemap->set_transparent_pen(3);
}
static SCREEN_UPDATE_IND16(cshooter)
@@ -212,15 +214,14 @@ static TIMER_DEVICE_CALLBACK( cshooter_scanline )
}
-static MACHINE_RESET( cshooter )
+MACHINE_RESET_MEMBER(cshooter_state,cshooter)
{
- cshooter_state *state = machine.driver_data<cshooter_state>();
- state->m_counter = 0;
+ m_counter = 0;
}
-static MACHINE_RESET( airraid )
+MACHINE_RESET_MEMBER(cshooter_state,airraid)
{
- MACHINE_RESET_CALL(seibu_sound);
+ MACHINE_RESET_CALL_LEGACY(seibu_sound);
}
READ8_MEMBER(cshooter_state::cshooter_coin_r)
@@ -443,7 +444,7 @@ static MACHINE_CONFIG_START( cshooter, cshooter_state )
MCFG_CPU_ADD("audiocpu", Z80,XTAL_14_31818MHz/4) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_RESET(cshooter)
+ MCFG_MACHINE_RESET_OVERRIDE(cshooter_state,cshooter)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -456,7 +457,6 @@ static MACHINE_CONFIG_START( cshooter, cshooter_state )
MCFG_GFXDECODE(cshooter)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(cshooter)
/* sound hardware */
/* YM2151 and ym3931 seibu custom cpu running at XTAL_14_31818MHz/4 */
@@ -470,7 +470,7 @@ static MACHINE_CONFIG_START( airraid, cshooter_state )
SEIBU2_AIRRAID_SOUND_SYSTEM_CPU(XTAL_14_31818MHz/4) /* verified on pcb */
- MCFG_MACHINE_RESET(airraid)
+ MCFG_MACHINE_RESET_OVERRIDE(cshooter_state,airraid)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -483,7 +483,6 @@ static MACHINE_CONFIG_START( airraid, cshooter_state )
MCFG_GFXDECODE(cshooter)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(cshooter)
/* sound hardware */
SEIBU_AIRRAID_SOUND_SYSTEM_YM2151_INTERFACE(XTAL_14_31818MHz/4)
diff --git a/src/mame/drivers/csplayh5.c b/src/mame/drivers/csplayh5.c
index bf3c2a127ba..b3287ee2904 100644
--- a/src/mame/drivers/csplayh5.c
+++ b/src/mame/drivers/csplayh5.c
@@ -79,6 +79,7 @@ public:
DECLARE_DRIVER_INIT(renaimj);
DECLARE_DRIVER_INIT(csplayh7);
DECLARE_DRIVER_INIT(junai2);
+ virtual void machine_reset();
};
@@ -582,17 +583,16 @@ static Z80CTC_INTERFACE( ctc_intf )
};
-static MACHINE_RESET( csplayh5 )
+void csplayh5_state::machine_reset()
{
- csplayh5_state *state = machine.driver_data<csplayh5_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
// initialize TMPZ84C011 PIO
for (i = 0; i < 5; i++)
{
- state->m_pio_dir[i] = state->m_pio_latch[i] = 0;
- state->tmpz84c011_pio_w(*space, i, 0);
+ m_pio_dir[i] = m_pio_latch[i] = 0;
+ tmpz84c011_pio_w(*space, i, 0);
}
}
@@ -639,7 +639,6 @@ static MACHINE_CONFIG_START( csplayh5, csplayh5_state )
MCFG_Z80CTC_ADD("ctc", 8000000, ctc_intf)
- MCFG_MACHINE_RESET(csplayh5)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/cubeqst.c b/src/mame/drivers/cubeqst.c
index 4da0fa0bcd9..3287cf385ce 100644
--- a/src/mame/drivers/cubeqst.c
+++ b/src/mame/drivers/cubeqst.c
@@ -52,6 +52,10 @@ public:
DECLARE_WRITE16_MEMBER(write_rotram);
DECLARE_READ16_MEMBER(read_sndram);
DECLARE_WRITE16_MEMBER(write_sndram);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -73,20 +77,18 @@ public:
*
*************************************/
-static VIDEO_START( cubeqst )
+void cubeqst_state::video_start()
{
- cubeqst_state *state = machine.driver_data<cubeqst_state>();
- state->m_video_field = 0;
- state->m_depth_buffer = auto_alloc_array(machine, UINT8, 512);
+ m_video_field = 0;
+ m_depth_buffer = auto_alloc_array(machine(), UINT8, 512);
}
/* TODO: Use resistor values */
-static PALETTE_INIT( cubeqst )
+void cubeqst_state::palette_init()
{
- cubeqst_state *state = machine.driver_data<cubeqst_state>();
int i;
- state->m_colormap = auto_alloc_array(machine, rgb_t, 65536);
+ m_colormap = auto_alloc_array(machine(), rgb_t, 65536);
for (i = 0; i < 65536; ++i)
{
UINT8 a, r, g, b, y;
@@ -97,7 +99,7 @@ static PALETTE_INIT( cubeqst )
r = (i >> 8) & 7;
y = ((i >> 12) & 0xf) * 2;
- state->m_colormap[i] = MAKE_ARGB(a ? 0 : 255, y*r, y*g, y*b);
+ m_colormap[i] = MAKE_ARGB(a ? 0 : 255, y*r, y*g, y*b);
}
}
@@ -441,19 +443,18 @@ ADDRESS_MAP_END
*
*************************************/
-static MACHINE_START( cubeqst )
+void cubeqst_state::machine_start()
{
}
-static MACHINE_RESET( cubeqst )
+void cubeqst_state::machine_reset()
{
- cubeqst_state *state = machine.driver_data<cubeqst_state>();
- state->m_reset_latch = 0;
+ m_reset_latch = 0;
/* Auxillary CPUs are held in reset */
- machine.device("sound_cpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("rotate_cpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("line_cpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("sound_cpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("rotate_cpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("line_cpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
@@ -528,8 +529,6 @@ static MACHINE_CONFIG_START( cubeqst, cubeqst_state )
MCFG_QUANTUM_TIME(attotime::from_hz(48000))
- MCFG_MACHINE_START(cubeqst)
- MCFG_MACHINE_RESET(cubeqst)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_LASERDISC_SIMUTREK_ADD("laserdisc")
@@ -540,8 +539,6 @@ static MACHINE_CONFIG_START( cubeqst, cubeqst_state )
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
- MCFG_VIDEO_START(cubeqst)
- MCFG_PALETTE_INIT(cubeqst)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/cultures.c b/src/mame/drivers/cultures.c
index 019fafd7296..ebc7d41f708 100644
--- a/src/mame/drivers/cultures.c
+++ b/src/mame/drivers/cultures.c
@@ -53,6 +53,9 @@ public:
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -77,23 +80,22 @@ TILE_GET_INFO_MEMBER(cultures_state::get_bg0_tile_info)
SET_TILE_INFO_MEMBER(0, code, code >> 12, 0);
}
-static VIDEO_START( cultures )
+void cultures_state::video_start()
{
- cultures_state *state = machine.driver_data<cultures_state>();
- state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 64, 128);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
+ m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg0_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 64, 128);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg1_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg2_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
- state->m_bg1_tilemap->set_transparent_pen(0);
- state->m_bg0_tilemap->set_transparent_pen(0);
+ m_bg1_tilemap->set_transparent_pen(0);
+ m_bg0_tilemap->set_transparent_pen(0);
- state->m_bg0_tilemap->set_scrolldx(502, 10);
- state->m_bg1_tilemap->set_scrolldx(502, 10);
- state->m_bg2_tilemap->set_scrolldx(502, 10);
+ m_bg0_tilemap->set_scrolldx(502, 10);
+ m_bg1_tilemap->set_scrolldx(502, 10);
+ m_bg2_tilemap->set_scrolldx(502, 10);
- state->m_bg0_tilemap->set_scrolldy(255, 0);
- state->m_bg1_tilemap->set_scrolldy(255, 0);
- state->m_bg2_tilemap->set_scrolldy(255, 0);
+ m_bg0_tilemap->set_scrolldy(255, 0);
+ m_bg1_tilemap->set_scrolldy(255, 0);
+ m_bg2_tilemap->set_scrolldy(255, 0);
}
static SCREEN_UPDATE_IND16( cultures )
@@ -367,29 +369,27 @@ static INTERRUPT_GEN( cultures_interrupt )
device->execute().set_input_line(0, HOLD_LINE);
}
-static MACHINE_START( cultures )
+void cultures_state::machine_start()
{
- cultures_state *state = machine.driver_data<cultures_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 16, &ROM[0x0000], 0x4000);
+ membank("bank1")->configure_entries(0, 16, &ROM[0x0000], 0x4000);
- state->save_item(NAME(state->m_paletteram));
- state->save_item(NAME(state->m_old_bank));
- state->save_item(NAME(state->m_video_bank));
- state->save_item(NAME(state->m_irq_enable));
- state->save_item(NAME(state->m_bg1_bank));
- state->save_item(NAME(state->m_bg2_bank));
+ save_item(NAME(m_paletteram));
+ save_item(NAME(m_old_bank));
+ save_item(NAME(m_video_bank));
+ save_item(NAME(m_irq_enable));
+ save_item(NAME(m_bg1_bank));
+ save_item(NAME(m_bg2_bank));
}
-static MACHINE_RESET( cultures )
+void cultures_state::machine_reset()
{
- cultures_state *state = machine.driver_data<cultures_state>();
- state->m_old_bank = -1;
- state->m_video_bank = 0;
- state->m_irq_enable = 0;
- state->m_bg1_bank = 0;
- state->m_bg2_bank = 0;
+ m_old_bank = -1;
+ m_video_bank = 0;
+ m_irq_enable = 0;
+ m_bg1_bank = 0;
+ m_bg2_bank = 0;
}
static MACHINE_CONFIG_START( cultures, cultures_state )
@@ -400,8 +400,6 @@ static MACHINE_CONFIG_START( cultures, cultures_state )
MCFG_CPU_IO_MAP(cultures_io_map)
MCFG_CPU_VBLANK_INT("screen", cultures_interrupt)
- MCFG_MACHINE_START(cultures)
- MCFG_MACHINE_RESET(cultures)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -414,7 +412,6 @@ static MACHINE_CONFIG_START( cultures, cultures_state )
MCFG_GFXDECODE(culture)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(cultures)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/cvs.c b/src/mame/drivers/cvs.c
index 4c72ec9ae81..a5df70f5629 100644
--- a/src/mame/drivers/cvs.c
+++ b/src/mame/drivers/cvs.c
@@ -988,53 +988,51 @@ static const s2636_interface s2636_2_config =
};
-MACHINE_START( cvs )
+MACHINE_START_MEMBER(cvs_state,cvs)
{
- cvs_state *state = machine.driver_data<cvs_state>();
/* allocate memory */
- if (machine.gfx[1] != NULL)
- machine.gfx[1]->set_source(state->m_character_ram);
+ if (machine().gfx[1] != NULL)
+ machine().gfx[1]->set_source(m_character_ram);
- start_393hz_timer(machine);
+ start_393hz_timer(machine());
/* set devices */
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_speech = machine.device("speech");
- state->m_dac3 = machine.device<dac_device>("dac3");
- state->m_tms = machine.device("tms");
- state->m_s2636_0 = machine.device("s2636_0");
- state->m_s2636_1 = machine.device("s2636_1");
- state->m_s2636_2 = machine.device("s2636_2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_speech = machine().device("speech");
+ m_dac3 = machine().device<dac_device>("dac3");
+ m_tms = machine().device("tms");
+ m_s2636_0 = machine().device("s2636_0");
+ m_s2636_1 = machine().device("s2636_1");
+ m_s2636_2 = machine().device("s2636_2");
/* register state save */
- state->save_item(NAME(state->m_color_ram));
- state->save_item(NAME(state->m_palette_ram));
- state->save_item(NAME(state->m_character_ram));
- state->save_item(NAME(state->m_character_banking_mode));
- state->save_item(NAME(state->m_character_ram_page_start));
- state->save_item(NAME(state->m_speech_rom_bit_address));
- state->save_item(NAME(state->m_cvs_393hz_clock));
- state->save_item(NAME(state->m_collision_register));
- state->save_item(NAME(state->m_total_stars));
- state->save_item(NAME(state->m_stars_on));
- state->save_item(NAME(state->m_scroll_reg));
- state->save_item(NAME(state->m_stars_scroll));
+ save_item(NAME(m_color_ram));
+ save_item(NAME(m_palette_ram));
+ save_item(NAME(m_character_ram));
+ save_item(NAME(m_character_banking_mode));
+ save_item(NAME(m_character_ram_page_start));
+ save_item(NAME(m_speech_rom_bit_address));
+ save_item(NAME(m_cvs_393hz_clock));
+ save_item(NAME(m_collision_register));
+ save_item(NAME(m_total_stars));
+ save_item(NAME(m_stars_on));
+ save_item(NAME(m_scroll_reg));
+ save_item(NAME(m_stars_scroll));
}
-MACHINE_RESET( cvs )
+MACHINE_RESET_MEMBER(cvs_state,cvs)
{
- cvs_state *state = machine.driver_data<cvs_state>();
- state->m_character_banking_mode = 0;
- state->m_character_ram_page_start = 0;
- state->m_speech_rom_bit_address = 0;
- state->m_cvs_393hz_clock = 0;
- state->m_collision_register = 0;
- state->m_stars_on = 0;
- state->m_scroll_reg = 0;
- state->m_stars_scroll = 0;
+ m_character_banking_mode = 0;
+ m_character_ram_page_start = 0;
+ m_speech_rom_bit_address = 0;
+ m_cvs_393hz_clock = 0;
+ m_collision_register = 0;
+ m_stars_on = 0;
+ m_scroll_reg = 0;
+ m_stars_scroll = 0;
}
@@ -1054,16 +1052,16 @@ static MACHINE_CONFIG_START( cvs, cvs_state )
MCFG_CPU_PROGRAM_MAP(cvs_speech_cpu_map)
MCFG_CPU_IO_MAP(cvs_speech_cpu_io_map)
- MCFG_MACHINE_START(cvs)
- MCFG_MACHINE_RESET(cvs)
+ MCFG_MACHINE_START_OVERRIDE(cvs_state,cvs)
+ MCFG_MACHINE_RESET_OVERRIDE(cvs_state,cvs)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(cvs)
+ MCFG_VIDEO_START_OVERRIDE(cvs_state,cvs)
MCFG_GFXDECODE(cvs)
MCFG_PALETTE_LENGTH((256+4)*8+8+1)
- MCFG_PALETTE_INIT(cvs)
+ MCFG_PALETTE_INIT_OVERRIDE(cvs_state,cvs)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SIZE(32*8, 32*8)
diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c
index 45a4d15411c..bf4a7686b6e 100644
--- a/src/mame/drivers/cyberbal.c
+++ b/src/mame/drivers/cyberbal.c
@@ -44,34 +44,32 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( cyberbal )
+MACHINE_START_MEMBER(cyberbal_state,cyberbal)
{
- cyberbal_state *state = machine.driver_data<cyberbal_state>();
- atarigen_init(machine);
-
- state->save_item(NAME(state->m_fast_68k_int));
- state->save_item(NAME(state->m_io_68k_int));
- state->save_item(NAME(state->m_sound_data_from_68k));
- state->save_item(NAME(state->m_sound_data_from_6502));
- state->save_item(NAME(state->m_sound_data_from_68k_ready));
- state->save_item(NAME(state->m_sound_data_from_6502_ready));
+ atarigen_init(machine());
+
+ save_item(NAME(m_fast_68k_int));
+ save_item(NAME(m_io_68k_int));
+ save_item(NAME(m_sound_data_from_68k));
+ save_item(NAME(m_sound_data_from_6502));
+ save_item(NAME(m_sound_data_from_68k_ready));
+ save_item(NAME(m_sound_data_from_6502_ready));
}
-static MACHINE_RESET( cyberbal )
+MACHINE_RESET_MEMBER(cyberbal_state,cyberbal)
{
- cyberbal_state *state = machine.driver_data<cyberbal_state>();
- atarigen_eeprom_reset(state);
- atarigen_slapstic_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, cyberbal_scanline_update, 8);
- atarigen_sound_io_reset(machine.device("audiocpu"));
+ atarigen_eeprom_reset(this);
+ atarigen_slapstic_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, cyberbal_scanline_update, 8);
+ atarigen_sound_io_reset(machine().device("audiocpu"));
- cyberbal_sound_reset(machine);
+ cyberbal_sound_reset(machine());
/* Extra CPU (second M68k) doesn't run until reset */
- machine.device("extra")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("extra")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
@@ -83,13 +81,12 @@ static void cyberbal2p_update_interrupts(running_machine &machine)
}
-static MACHINE_RESET( cyberbal2p )
+MACHINE_RESET_MEMBER(cyberbal_state,cyberbal2p)
{
- cyberbal_state *state = machine.driver_data<cyberbal_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, cyberbal2p_update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, cyberbal_scanline_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, cyberbal2p_update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, cyberbal_scanline_update, 8);
atarijsa_reset();
}
@@ -447,8 +444,8 @@ static MACHINE_CONFIG_START( cyberbal, cyberbal_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(cyberbal)
- MCFG_MACHINE_RESET(cyberbal)
+ MCFG_MACHINE_START_OVERRIDE(cyberbal_state,cyberbal)
+ MCFG_MACHINE_RESET_OVERRIDE(cyberbal_state,cyberbal)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -468,7 +465,7 @@ static MACHINE_CONFIG_START( cyberbal, cyberbal_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz, 456*2, 0, 336*2, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(cyberbal_right)
- MCFG_VIDEO_START(cyberbal)
+ MCFG_VIDEO_START_OVERRIDE(cyberbal_state,cyberbal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -493,8 +490,8 @@ static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state )
MCFG_CPU_PROGRAM_MAP(cyberbal2p_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(cyberbal)
- MCFG_MACHINE_RESET(cyberbal2p)
+ MCFG_MACHINE_START_OVERRIDE(cyberbal_state,cyberbal)
+ MCFG_MACHINE_RESET_OVERRIDE(cyberbal_state,cyberbal2p)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -508,7 +505,7 @@ static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz, 456*2, 0, 336*2, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(cyberbal2p)
- MCFG_VIDEO_START(cyberbal2p)
+ MCFG_VIDEO_START_OVERRIDE(cyberbal_state,cyberbal2p)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono)
diff --git a/src/mame/drivers/cybertnk.c b/src/mame/drivers/cybertnk.c
index 3bd3917d837..1bf79e58075 100644
--- a/src/mame/drivers/cybertnk.c
+++ b/src/mame/drivers/cybertnk.c
@@ -218,6 +218,7 @@ public:
TILE_GET_INFO_MEMBER(get_tilemap0_tile_info);
TILE_GET_INFO_MEMBER(get_tilemap1_tile_info);
TILE_GET_INFO_MEMBER(get_tilemap2_tile_info);
+ virtual void video_start();
};
/* tile format
@@ -270,17 +271,16 @@ TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap2_tile_info)
0);
}
-static VIDEO_START( cybertnk )
+void cybertnk_state::video_start()
{
- cybertnk_state *state = machine.driver_data<cybertnk_state>();
- state->m_tilemap0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,32);
- state->m_tilemap0_tilemap->set_transparent_pen(0);
+ m_tilemap0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap0_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,32);
+ m_tilemap0_tilemap->set_transparent_pen(0);
- state->m_tilemap1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,32);
- state->m_tilemap1_tilemap->set_transparent_pen(0);
+ m_tilemap1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap1_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,32);
+ m_tilemap1_tilemap->set_transparent_pen(0);
- state->m_tilemap2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,32);
- state->m_tilemap2_tilemap->set_transparent_pen(0);
+ m_tilemap2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap2_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,32);
+ m_tilemap2_tilemap->set_transparent_pen(0);
}
@@ -858,7 +858,6 @@ static MACHINE_CONFIG_START( cybertnk, cybertnk_state )
MCFG_GFXDECODE(cybertnk)
MCFG_PALETTE_LENGTH(0x4000)
- MCFG_VIDEO_START(cybertnk)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/cyclemb.c b/src/mame/drivers/cyclemb.c
index ae8ef774ecf..d4c898a7bc3 100644
--- a/src/mame/drivers/cyclemb.c
+++ b/src/mame/drivers/cyclemb.c
@@ -116,13 +116,16 @@ public:
DECLARE_WRITE8_MEMBER(skydest_i8741_0_w);
DECLARE_DRIVER_INIT(skydest);
DECLARE_DRIVER_INIT(cyclemb);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
-static PALETTE_INIT( cyclemb )
+void cyclemb_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i,r,g,b,val;
int bit0,bit1,bit2;
@@ -143,12 +146,12 @@ static PALETTE_INIT( cyclemb )
bit2 = (val >> 2) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-static VIDEO_START( cyclemb )
+void cyclemb_state::video_start()
{
}
@@ -591,9 +594,9 @@ static ADDRESS_MAP_START( cyclemb_sound_io, AS_IO, 8, cyclemb_state )
AM_RANGE(0x40, 0x40) AM_READ(soundlatch_byte_r) AM_WRITE(soundlatch2_byte_w)
ADDRESS_MAP_END
-static MACHINE_RESET( cyclemb )
+void cyclemb_state::machine_reset()
{
- skydest_i8741_reset(machine);
+ skydest_i8741_reset(machine());
}
@@ -918,11 +921,8 @@ static MACHINE_CONFIG_START( cyclemb, cyclemb_state )
MCFG_GFXDECODE(cyclemb)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cyclemb)
- MCFG_VIDEO_START(cyclemb)
- MCFG_MACHINE_RESET(cyclemb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -940,7 +940,7 @@ static MACHINE_CONFIG_DERIVED( skydest, cyclemb )
MCFG_SCREEN_VISIBLE_AREA(2*8, 34*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(skydest)
-// MCFG_PALETTE_INIT(skydest)
+// MCFG_PALETTE_INIT_OVERRIDE(cyclemb_state,skydest)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/d9final.c b/src/mame/drivers/d9final.c
index 15a1579354d..2797bf54779 100644
--- a/src/mame/drivers/d9final.c
+++ b/src/mame/drivers/d9final.c
@@ -43,6 +43,8 @@ public:
DECLARE_WRITE8_MEMBER(d9final_bank_w);
DECLARE_READ8_MEMBER(prot_latch_r);
TILE_GET_INFO_MEMBER(get_sc0_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -59,10 +61,9 @@ TILE_GET_INFO_MEMBER(d9final_state::get_sc0_tile_info)
0);
}
-static VIDEO_START(d9final)
+void d9final_state::video_start()
{
- d9final_state *state = machine.driver_data<d9final_state>();
- state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(d9final_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_sc0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(d9final_state::get_sc0_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
}
static SCREEN_UPDATE_IND16(d9final)
@@ -271,11 +272,11 @@ static GFXDECODE_START( d9final )
GFXDECODE_ENTRY( "gfx1", 0, tiles16x8_layout, 0, 16*4 )
GFXDECODE_END
-static MACHINE_RESET( d9final )
+void d9final_state::machine_reset()
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->set_base(&ROM[0x10000]);
+ machine().root_device().membank("bank1")->set_base(&ROM[0x10000]);
}
static MACHINE_CONFIG_START( d9final, d9final_state )
@@ -285,7 +286,6 @@ static MACHINE_CONFIG_START( d9final, d9final_state )
MCFG_CPU_IO_MAP(d9final_io)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_RESET( d9final )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -299,7 +299,6 @@ static MACHINE_CONFIG_START( d9final, d9final_state )
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT(all_black)
- MCFG_VIDEO_START(d9final)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/dacholer.c b/src/mame/drivers/dacholer.c
index 00df830b758..82f8956c302 100644
--- a/src/mame/drivers/dacholer.c
+++ b/src/mame/drivers/dacholer.c
@@ -85,6 +85,10 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(snd_ack_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
TILE_GET_INFO_MEMBER(dacholer_state::get_bg_tile_info)
@@ -97,13 +101,12 @@ TILE_GET_INFO_MEMBER(dacholer_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, m_fgvideoram[tile_index], 0, 0);
}
-static VIDEO_START( dacholer )
+void dacholer_state::video_start()
{
- dacholer_state *state = machine.driver_data<dacholer_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dacholer_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dacholer_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dacholer_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dacholer_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
WRITE8_MEMBER(dacholer_state::bg_scroll_x_w)
@@ -578,35 +581,33 @@ static const msm5205_interface msm_interface =
-static MACHINE_START( dacholer )
+void dacholer_state::machine_start()
{
- dacholer_state *state = machine.driver_data<dacholer_state>();
- state->save_item(NAME(state->m_bg_bank));
- state->save_item(NAME(state->m_msm_data));
- state->save_item(NAME(state->m_msm_toggle));
- state->save_item(NAME(state->m_snd_interrupt_enable));
- state->save_item(NAME(state->m_music_interrupt_enable));
- state->save_item(NAME(state->m_snd_ack));
+ save_item(NAME(m_bg_bank));
+ save_item(NAME(m_msm_data));
+ save_item(NAME(m_msm_toggle));
+ save_item(NAME(m_snd_interrupt_enable));
+ save_item(NAME(m_music_interrupt_enable));
+ save_item(NAME(m_snd_ack));
}
-static MACHINE_RESET( dacholer )
+void dacholer_state::machine_reset()
{
- dacholer_state *state = machine.driver_data<dacholer_state>();
- state->m_msm_data = 0;
- state->m_msm_toggle = 0;
+ m_msm_data = 0;
+ m_msm_toggle = 0;
- state->m_bg_bank = 0;
- state->m_snd_interrupt_enable = 0;
- state->m_music_interrupt_enable = 0;
- state->m_snd_ack = 0;
+ m_bg_bank = 0;
+ m_snd_interrupt_enable = 0;
+ m_music_interrupt_enable = 0;
+ m_snd_ack = 0;
}
/* guess: use the same resistor values as Crazy Climber (needs checking on the real HW) */
-static PALETTE_INIT( dacholer )
+void dacholer_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double weights_rg[3], weights_b[2];
@@ -618,7 +619,7 @@ static PALETTE_INIT( dacholer )
2, resistances_b, weights_b, 0, 0,
0, 0, 0, 0, 0);
- for (i = 0;i < machine.total_colors(); i++)
+ for (i = 0;i < machine().total_colors(); i++)
{
int bit0, bit1, bit2;
int r, g, b;
@@ -640,7 +641,7 @@ static PALETTE_INIT( dacholer )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -658,8 +659,6 @@ static MACHINE_CONFIG_START( dacholer, dacholer_state )
MCFG_CPU_IO_MAP(snd_io_map)
MCFG_CPU_VBLANK_INT("screen",sound_irq)
- MCFG_MACHINE_START(dacholer)
- MCFG_MACHINE_RESET(dacholer)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -670,10 +669,8 @@ static MACHINE_CONFIG_START( dacholer, dacholer_state )
MCFG_SCREEN_UPDATE_STATIC(dacholer)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(dacholer)
MCFG_GFXDECODE(dacholer)
- MCFG_VIDEO_START(dacholer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/dai3wksi.c b/src/mame/drivers/dai3wksi.c
index 928f180729a..e2ef3810bf6 100644
--- a/src/mame/drivers/dai3wksi.c
+++ b/src/mame/drivers/dai3wksi.c
@@ -65,6 +65,8 @@ public:
DECLARE_WRITE8_MEMBER(dai3wksi_audio_1_w);
DECLARE_WRITE8_MEMBER(dai3wksi_audio_2_w);
DECLARE_WRITE8_MEMBER(dai3wksi_audio_3_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -561,28 +563,26 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( dai3wksi )
+void dai3wksi_state::machine_start()
{
- dai3wksi_state *state = machine.driver_data<dai3wksi_state>();
/* Set up save state */
- state->save_item(NAME(state->m_dai3wksi_flipscreen));
- state->save_item(NAME(state->m_dai3wksi_redscreen));
- state->save_item(NAME(state->m_dai3wksi_redterop));
- state->save_item(NAME(state->m_port_last1));
- state->save_item(NAME(state->m_port_last2));
- state->save_item(NAME(state->m_enabled_sound));
- state->save_item(NAME(state->m_sound3_counter));
+ save_item(NAME(m_dai3wksi_flipscreen));
+ save_item(NAME(m_dai3wksi_redscreen));
+ save_item(NAME(m_dai3wksi_redterop));
+ save_item(NAME(m_port_last1));
+ save_item(NAME(m_port_last2));
+ save_item(NAME(m_enabled_sound));
+ save_item(NAME(m_sound3_counter));
}
-static MACHINE_RESET( dai3wksi )
+void dai3wksi_state::machine_reset()
{
- dai3wksi_state *state = machine.driver_data<dai3wksi_state>();
- state->m_port_last1 = 0;
- state->m_port_last2 = 0;
- state->m_enabled_sound = 0;
- state->m_sound3_counter = 0;
+ m_port_last1 = 0;
+ m_port_last2 = 0;
+ m_enabled_sound = 0;
+ m_sound3_counter = 0;
}
@@ -593,8 +593,6 @@ static MACHINE_CONFIG_START( dai3wksi, dai3wksi_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(dai3wksi)
- MCFG_MACHINE_RESET(dai3wksi)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/dambustr.c b/src/mame/drivers/dambustr.c
index 54bcc1b875a..5a994bcc3fe 100644
--- a/src/mame/drivers/dambustr.c
+++ b/src/mame/drivers/dambustr.c
@@ -249,7 +249,7 @@ static MACHINE_CONFIG_START( dambustr, dambustr_state )
MCFG_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
MCFG_CPU_PROGRAM_MAP(dambustr_map)
- MCFG_MACHINE_RESET(galaxold)
+ MCFG_MACHINE_RESET_OVERRIDE(dambustr_state,galaxold)
MCFG_7474_ADD("7474_9m_1", "7474_9m_1", galaxold_7474_9m_1_callback, NULL)
MCFG_7474_ADD("7474_9m_2", "7474_9m_1", NULL, galaxold_7474_9m_2_q_callback)
@@ -266,8 +266,8 @@ static MACHINE_CONFIG_START( dambustr, dambustr_state )
MCFG_GFXDECODE(dambustr)
MCFG_PALETTE_LENGTH(32+2+64+8) /* 32 for the characters, 2 for the bullets, 64 for the stars, 8 for the background */
- MCFG_PALETTE_INIT(dambustr)
- MCFG_VIDEO_START(dambustr)
+ MCFG_PALETTE_INIT_OVERRIDE(dambustr_state,dambustr)
+ MCFG_VIDEO_START_OVERRIDE(dambustr_state,dambustr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index a7db1d3483e..5013dd57833 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -836,81 +836,79 @@ static void darius_postload(running_machine &machine)
reset_sound_region(machine);
}
-static MACHINE_START( darius )
+void darius_state::machine_start()
{
- darius_state *state = machine.driver_data<darius_state>();
- state->membank("bank1")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000, 0x8000);
- state->membank("bank1")->configure_entry(4, state->memregion("audiocpu")->base());
- state->membank("bank1")->set_entry(4);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_cpub = machine.device("cpub");
- state->m_adpcm = machine.device("adpcm");
- state->m_pc080sn = machine.device("pc080sn");
- state->m_tc0140syt = machine.device("tc0140syt");
-
- state->m_lscreen = machine.device("lscreen");
- state->m_mscreen = machine.device("mscreen");
- state->m_rscreen = machine.device("rscreen");
-
- state->m_filter0_0l = machine.device("filter0.0l");
- state->m_filter0_0r = machine.device("filter0.0r");
- state->m_filter0_1l = machine.device("filter0.1l");
- state->m_filter0_1r = machine.device("filter0.1r");
- state->m_filter0_2l = machine.device("filter0.2l");
- state->m_filter0_2r = machine.device("filter0.2r");
- state->m_filter0_3l = machine.device("filter0.3l");
- state->m_filter0_3r = machine.device("filter0.3r");
-
- state->m_filter1_0l = machine.device("filter1.0l");
- state->m_filter1_0r = machine.device("filter1.0r");
- state->m_filter1_1l = machine.device("filter1.1l");
- state->m_filter1_1r = machine.device("filter1.1r");
- state->m_filter1_2l = machine.device("filter1.2l");
- state->m_filter1_2r = machine.device("filter1.2r");
- state->m_filter1_3l = machine.device("filter1.3l");
- state->m_filter1_3r = machine.device("filter1.3r");
-
- state->m_msm5205_l = machine.device("msm5205.l");
- state->m_msm5205_r = machine.device("msm5205.r");
-
- state->save_item(NAME(state->m_cpua_ctrl));
- state->save_item(NAME(state->m_coin_word));
-
- state->save_item(NAME(state->m_banknum));
- state->save_item(NAME(state->m_adpcm_command));
- state->save_item(NAME(state->m_nmi_enable));
- state->save_item(NAME(state->m_vol));
- state->save_item(NAME(state->m_pan));
- machine.save().register_postload(save_prepost_delegate(FUNC(darius_postload), &machine));
+ membank("bank1")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x8000);
+ membank("bank1")->configure_entry(4, memregion("audiocpu")->base());
+ membank("bank1")->set_entry(4);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_cpub = machine().device("cpub");
+ m_adpcm = machine().device("adpcm");
+ m_pc080sn = machine().device("pc080sn");
+ m_tc0140syt = machine().device("tc0140syt");
+
+ m_lscreen = machine().device("lscreen");
+ m_mscreen = machine().device("mscreen");
+ m_rscreen = machine().device("rscreen");
+
+ m_filter0_0l = machine().device("filter0.0l");
+ m_filter0_0r = machine().device("filter0.0r");
+ m_filter0_1l = machine().device("filter0.1l");
+ m_filter0_1r = machine().device("filter0.1r");
+ m_filter0_2l = machine().device("filter0.2l");
+ m_filter0_2r = machine().device("filter0.2r");
+ m_filter0_3l = machine().device("filter0.3l");
+ m_filter0_3r = machine().device("filter0.3r");
+
+ m_filter1_0l = machine().device("filter1.0l");
+ m_filter1_0r = machine().device("filter1.0r");
+ m_filter1_1l = machine().device("filter1.1l");
+ m_filter1_1r = machine().device("filter1.1r");
+ m_filter1_2l = machine().device("filter1.2l");
+ m_filter1_2r = machine().device("filter1.2r");
+ m_filter1_3l = machine().device("filter1.3l");
+ m_filter1_3r = machine().device("filter1.3r");
+
+ m_msm5205_l = machine().device("msm5205.l");
+ m_msm5205_r = machine().device("msm5205.r");
+
+ save_item(NAME(m_cpua_ctrl));
+ save_item(NAME(m_coin_word));
+
+ save_item(NAME(m_banknum));
+ save_item(NAME(m_adpcm_command));
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_vol));
+ save_item(NAME(m_pan));
+ machine().save().register_postload(save_prepost_delegate(FUNC(darius_postload), &machine()));
}
-static MACHINE_RESET( darius )
+void darius_state::machine_reset()
{
- darius_state *state = machine.driver_data<darius_state>();
int i;
- state->m_cpua_ctrl = 0xff;
- state->m_banknum = 0;
- state->m_coin_word = 0;
- state->m_adpcm_command = 0;
- state->m_nmi_enable = 0;
+ m_cpua_ctrl = 0xff;
+ m_banknum = 0;
+ m_coin_word = 0;
+ m_adpcm_command = 0;
+ m_nmi_enable = 0;
- machine.sound().system_enable(true); /* mixer enabled */
+ machine().sound().system_enable(true); /* mixer enabled */
for (i = 0; i < DARIUS_VOL_MAX; i++)
- state->m_vol[i] = 0x00; /* min volume */
+ m_vol[i] = 0x00; /* min volume */
for (i = 0; i < DARIUS_PAN_MAX; i++)
- state->m_pan[i] = 0x80; /* center */
+ m_pan[i] = 0x80; /* center */
for (i = 0; i < 0x10; i++)
{
//logerror( "calc %d = %d\n", i, (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f)) );
- state->m_def_vol[i] = (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f));
+ m_def_vol[i] = (int)(100.0f / (float)pow(10.0f, (32.0f - (i * (32.0f / (float)(0xf)))) / 20.0f));
}
}
@@ -935,8 +933,6 @@ static MACHINE_CONFIG_START( darius, darius_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame ? */
- MCFG_MACHINE_START(darius)
- MCFG_MACHINE_RESET(darius)
/* video hardware */
MCFG_GFXDECODE(darius)
@@ -964,7 +960,6 @@ static MACHINE_CONFIG_START( darius, darius_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 1*8, 29*8-1)
MCFG_SCREEN_UPDATE_STATIC(darius_right)
- MCFG_VIDEO_START(darius)
MCFG_PC080SN_ADD("pc080sn", darius_pc080sn_intf)
diff --git a/src/mame/drivers/darkmist.c b/src/mame/drivers/darkmist.c
index 3903bb9236a..39fa9d36c4e 100644
--- a/src/mame/drivers/darkmist.c
+++ b/src/mame/drivers/darkmist.c
@@ -245,9 +245,7 @@ static MACHINE_CONFIG_START( darkmist, darkmist_state )
MCFG_SCREEN_UPDATE_STATIC(darkmist)
MCFG_GFXDECODE(darkmist)
- MCFG_PALETTE_INIT(darkmist)
MCFG_PALETTE_LENGTH(0x100*4)
- MCFG_VIDEO_START(darkmist)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/darkseal.c b/src/mame/drivers/darkseal.c
index 80b14ed5868..a708c68ffed 100644
--- a/src/mame/drivers/darkseal.c
+++ b/src/mame/drivers/darkseal.c
@@ -290,7 +290,6 @@ static MACHINE_CONFIG_START( darkseal, darkseal_state )
- MCFG_VIDEO_START(darkseal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c
index 57766808032..f35218f70ba 100644
--- a/src/mame/drivers/dassault.c
+++ b/src/mame/drivers/dassault.c
@@ -526,7 +526,6 @@ static MACHINE_CONFIG_START( dassault, dassault_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_STATIC(dassault)
- MCFG_VIDEO_START(dassault)
MCFG_GFXDECODE(dassault)
MCFG_PALETTE_LENGTH(4096)
diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c
index 741899fa9cf..ce848b94e4b 100644
--- a/src/mame/drivers/dblewing.c
+++ b/src/mame/drivers/dblewing.c
@@ -81,6 +81,8 @@ public:
DECLARE_WRITE16_MEMBER(dblewing_prot_w);
DECLARE_READ8_MEMBER(irq_latch_r);
DECLARE_DRIVER_INIT(dblewing);
+ virtual void machine_start();
+ virtual void machine_reset();
};
UINT16 dblwings_pri_callback(UINT16 x)
@@ -561,78 +563,76 @@ static const deco16ic_interface dblewing_deco16ic_tilegen1_intf =
0,1,
};
-static MACHINE_START( dblewing )
+void dblewing_state::machine_start()
{
- dblewing_state *state = machine.driver_data<dblewing_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_deco_tilegen1 = machine.device("tilegen1");
-
- state->save_item(NAME(state->m_008_data));
- state->save_item(NAME(state->m_104_data));
- state->save_item(NAME(state->m_406_data));
- state->save_item(NAME(state->m_608_data));
- state->save_item(NAME(state->m_70c_data));
- state->save_item(NAME(state->m_78a_data));
- state->save_item(NAME(state->m_088_data));
- state->save_item(NAME(state->m_58c_data));
- state->save_item(NAME(state->m_408_data));
- state->save_item(NAME(state->m_40e_data));
- state->save_item(NAME(state->m_080_data));
- state->save_item(NAME(state->m_788_data));
- state->save_item(NAME(state->m_38e_data));
- state->save_item(NAME(state->m_580_data));
- state->save_item(NAME(state->m_60a_data));
- state->save_item(NAME(state->m_200_data));
- state->save_item(NAME(state->m_28c_data));
- state->save_item(NAME(state->m_18a_data));
- state->save_item(NAME(state->m_280_data));
- state->save_item(NAME(state->m_384_data));
-
- state->save_item(NAME(state->m_boss_move));
- state->save_item(NAME(state->m_boss_shoot_type));
- state->save_item(NAME(state->m_boss_3_data));
- state->save_item(NAME(state->m_boss_4_data));
- state->save_item(NAME(state->m_boss_5_data));
- state->save_item(NAME(state->m_boss_5sx_data));
- state->save_item(NAME(state->m_boss_6_data));
- state->save_item(NAME(state->m_sound_irq));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_deco_tilegen1 = machine().device("tilegen1");
+
+ save_item(NAME(m_008_data));
+ save_item(NAME(m_104_data));
+ save_item(NAME(m_406_data));
+ save_item(NAME(m_608_data));
+ save_item(NAME(m_70c_data));
+ save_item(NAME(m_78a_data));
+ save_item(NAME(m_088_data));
+ save_item(NAME(m_58c_data));
+ save_item(NAME(m_408_data));
+ save_item(NAME(m_40e_data));
+ save_item(NAME(m_080_data));
+ save_item(NAME(m_788_data));
+ save_item(NAME(m_38e_data));
+ save_item(NAME(m_580_data));
+ save_item(NAME(m_60a_data));
+ save_item(NAME(m_200_data));
+ save_item(NAME(m_28c_data));
+ save_item(NAME(m_18a_data));
+ save_item(NAME(m_280_data));
+ save_item(NAME(m_384_data));
+
+ save_item(NAME(m_boss_move));
+ save_item(NAME(m_boss_shoot_type));
+ save_item(NAME(m_boss_3_data));
+ save_item(NAME(m_boss_4_data));
+ save_item(NAME(m_boss_5_data));
+ save_item(NAME(m_boss_5sx_data));
+ save_item(NAME(m_boss_6_data));
+ save_item(NAME(m_sound_irq));
}
-static MACHINE_RESET( dblewing )
+void dblewing_state::machine_reset()
{
- dblewing_state *state = machine.driver_data<dblewing_state>();
-
- state->m_008_data = 0;
- state->m_104_data = 0;
- state->m_406_data = 0;
- state->m_608_data = 0;
- state->m_70c_data = 0;
- state->m_78a_data = 0;
- state->m_088_data = 0;
- state->m_58c_data = 0;
- state->m_408_data = 0;
- state->m_40e_data = 0;
- state->m_080_data = 0;
- state->m_788_data = 0;
- state->m_38e_data = 0;
- state->m_580_data = 0;
- state->m_60a_data = 0;
- state->m_200_data = 0;
- state->m_28c_data = 0;
- state->m_18a_data = 0;
- state->m_280_data = 0;
- state->m_384_data = 0;
-
- state->m_boss_move = 0;
- state->m_boss_shoot_type = 0;
- state->m_boss_3_data = 0;
- state->m_boss_4_data = 0;
- state->m_boss_5_data = 0;
- state->m_boss_5sx_data = 0;
- state->m_boss_6_data = 0;
- state->m_sound_irq = 0;
+
+ m_008_data = 0;
+ m_104_data = 0;
+ m_406_data = 0;
+ m_608_data = 0;
+ m_70c_data = 0;
+ m_78a_data = 0;
+ m_088_data = 0;
+ m_58c_data = 0;
+ m_408_data = 0;
+ m_40e_data = 0;
+ m_080_data = 0;
+ m_788_data = 0;
+ m_38e_data = 0;
+ m_580_data = 0;
+ m_60a_data = 0;
+ m_200_data = 0;
+ m_28c_data = 0;
+ m_18a_data = 0;
+ m_280_data = 0;
+ m_384_data = 0;
+
+ m_boss_move = 0;
+ m_boss_shoot_type = 0;
+ m_boss_3_data = 0;
+ m_boss_4_data = 0;
+ m_boss_5_data = 0;
+ m_boss_5sx_data = 0;
+ m_boss_6_data = 0;
+ m_sound_irq = 0;
}
static MACHINE_CONFIG_START( dblewing, dblewing_state )
@@ -648,8 +648,6 @@ static MACHINE_CONFIG_START( dblewing, dblewing_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(dblewing)
- MCFG_MACHINE_RESET(dblewing)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/dbz.c b/src/mame/drivers/dbz.c
index 70f0b3632fc..399db0b6fa1 100644
--- a/src/mame/drivers/dbz.c
+++ b/src/mame/drivers/dbz.c
@@ -347,37 +347,35 @@ static const k053252_interface dbz_k053252_intf =
0, 0
};
-static MACHINE_START( dbz )
+void dbz_state::machine_start()
{
- dbz_state *state = machine.driver_data<dbz_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053936_1 = machine.device("k053936_1");
- state->m_k053936_2 = machine.device("k053936_2");
- state->m_k056832 = machine.device("k056832");
- state->m_k053246 = machine.device("k053246");
- state->m_k053251 = machine.device("k053251");
-
- state->save_item(NAME(state->m_control));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layerpri));
- state->save_item(NAME(state->m_layer_colorbase));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053936_1 = machine().device("k053936_1");
+ m_k053936_2 = machine().device("k053936_2");
+ m_k056832 = machine().device("k056832");
+ m_k053246 = machine().device("k053246");
+ m_k053251 = machine().device("k053251");
+
+ save_item(NAME(m_control));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layerpri));
+ save_item(NAME(m_layer_colorbase));
}
-static MACHINE_RESET( dbz )
+void dbz_state::machine_reset()
{
- dbz_state *state = machine.driver_data<dbz_state>();
int i;
for (i = 0; i < 5; i++)
- state->m_layerpri[i] = 0;
+ m_layerpri[i] = 0;
for (i = 0; i < 6; i++)
- state->m_layer_colorbase[i] = 0;
+ m_layer_colorbase[i] = 0;
- state->m_sprite_colorbase = 0;
- state->m_control = 0;
+ m_sprite_colorbase = 0;
+ m_control = 0;
}
static MACHINE_CONFIG_START( dbz, dbz_state )
@@ -391,8 +389,6 @@ static MACHINE_CONFIG_START( dbz, dbz_state )
MCFG_CPU_PROGRAM_MAP(dbz_sound_map)
MCFG_CPU_IO_MAP(dbz_sound_io_map)
- MCFG_MACHINE_START(dbz)
- MCFG_MACHINE_RESET(dbz)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -406,7 +402,6 @@ static MACHINE_CONFIG_START( dbz, dbz_state )
MCFG_GFXDECODE(dbz)
- MCFG_VIDEO_START(dbz)
MCFG_PALETTE_LENGTH(0x4000/2)
MCFG_K056832_ADD("k056832", dbz_k056832_intf)
diff --git a/src/mame/drivers/dcheese.c b/src/mame/drivers/dcheese.c
index 3e2af7d54c6..b64d531f0c7 100644
--- a/src/mame/drivers/dcheese.c
+++ b/src/mame/drivers/dcheese.c
@@ -93,20 +93,19 @@ static INTERRUPT_GEN( dcheese_vblank )
*
*************************************/
-static MACHINE_START( dcheese )
+void dcheese_state::machine_start()
{
- dcheese_state *state = machine.driver_data<dcheese_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_bsmt = machine.device("bsmt");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_bsmt = machine().device("bsmt");
- state->m_maincpu->set_irq_acknowledge_callback(irq_callback);
+ m_maincpu->set_irq_acknowledge_callback(irq_callback);
- state->save_item(NAME(state->m_irq_state));
- state->save_item(NAME(state->m_soundlatch_full));
- state->save_item(NAME(state->m_sound_control));
- state->save_item(NAME(state->m_sound_msb_latch));
+ save_item(NAME(m_irq_state));
+ save_item(NAME(m_soundlatch_full));
+ save_item(NAME(m_sound_control));
+ save_item(NAME(m_sound_msb_latch));
}
@@ -416,7 +415,6 @@ static MACHINE_CONFIG_START( dcheese, dcheese_state )
MCFG_CPU_PROGRAM_MAP(sound_cpu_map)
MCFG_CPU_PERIODIC_INT(irq1_line_hold, 480) /* accurate for fredmem */
- MCFG_MACHINE_START(dcheese)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
@@ -430,8 +428,6 @@ static MACHINE_CONFIG_START( dcheese, dcheese_state )
MCFG_PALETTE_LENGTH(65534)
- MCFG_PALETTE_INIT(dcheese)
- MCFG_VIDEO_START(dcheese)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/dcon.c b/src/mame/drivers/dcon.c
index a89b6aece9f..6ad41b36733 100644
--- a/src/mame/drivers/dcon.c
+++ b/src/mame/drivers/dcon.c
@@ -268,7 +268,6 @@ static MACHINE_CONFIG_START( dcon, dcon_state )
MCFG_GFXDECODE(dcon)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(dcon)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(4000000,1320000)
@@ -296,7 +295,6 @@ static MACHINE_CONFIG_START( sdgndmps, dcon_state )
MCFG_GFXDECODE(dcon)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(dcon)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
diff --git a/src/mame/drivers/dday.c b/src/mame/drivers/dday.c
index 74c1d2f0c81..c0e5d3f471e 100644
--- a/src/mame/drivers/dday.c
+++ b/src/mame/drivers/dday.c
@@ -234,25 +234,23 @@ GFXDECODE_END
-static MACHINE_START( dday )
+void dday_state::machine_start()
{
- dday_state *state = machine.driver_data<dday_state>();
- state->m_ay1 = machine.device("ay1");
+ m_ay1 = machine().device("ay1");
- state->save_item(NAME(state->m_control));
- state->save_item(NAME(state->m_sl_enable));
- state->save_item(NAME(state->m_sl_image));
- state->save_item(NAME(state->m_timer_value));
+ save_item(NAME(m_control));
+ save_item(NAME(m_sl_enable));
+ save_item(NAME(m_sl_image));
+ save_item(NAME(m_timer_value));
}
-static MACHINE_RESET( dday )
+void dday_state::machine_reset()
{
- dday_state *state = machine.driver_data<dday_state>();
- state->m_control = 0;
- state->m_sl_enable = 0;
- state->m_sl_image = 0;
+ m_control = 0;
+ m_sl_enable = 0;
+ m_sl_image = 0;
}
@@ -262,8 +260,6 @@ static MACHINE_CONFIG_START( dday, dday_state )
MCFG_CPU_ADD("maincpu", Z80, 2000000) /* 2 MHz ? */
MCFG_CPU_PROGRAM_MAP(dday_map)
- MCFG_MACHINE_START(dday)
- MCFG_MACHINE_RESET(dday)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -275,10 +271,8 @@ static MACHINE_CONFIG_START( dday, dday_state )
MCFG_GFXDECODE(dday)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(dday)
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
- MCFG_VIDEO_START(dday)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ddayjlc.c b/src/mame/drivers/ddayjlc.c
index d9ff323cec3..d792b12a757 100644
--- a/src/mame/drivers/ddayjlc.c
+++ b/src/mame/drivers/ddayjlc.c
@@ -101,6 +101,10 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(prot_r);
DECLARE_DRIVER_INIT(ddayjlc);
TILE_GET_INFO_MEMBER(get_tile_info_bg);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -379,10 +383,9 @@ TILE_GET_INFO_MEMBER(ddayjlc_state::get_tile_info_bg)
SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static VIDEO_START( ddayjlc )
+void ddayjlc_state::video_start()
{
- ddayjlc_state *state = machine.driver_data<ddayjlc_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddayjlc_state::get_tile_info_bg),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddayjlc_state::get_tile_info_bg),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( ddayjlc )
@@ -447,47 +450,45 @@ static INTERRUPT_GEN( ddayjlc_snd_interrupt )
}
-static MACHINE_START( ddayjlc )
+void ddayjlc_state::machine_start()
{
- ddayjlc_state *state = machine.driver_data<ddayjlc_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_char_bank));
- state->save_item(NAME(state->m_bgadr));
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_main_nmi_enable));
- state->save_item(NAME(state->m_prot_addr));
+ save_item(NAME(m_char_bank));
+ save_item(NAME(m_bgadr));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_main_nmi_enable));
+ save_item(NAME(m_prot_addr));
- state->save_item(NAME(state->m_e00x_l));
- state->save_item(NAME(state->m_e00x_d[0]));
- state->save_item(NAME(state->m_e00x_d[1]));
- state->save_item(NAME(state->m_e00x_d[2]));
- state->save_item(NAME(state->m_e00x_d[3]));
+ save_item(NAME(m_e00x_l));
+ save_item(NAME(m_e00x_d[0]));
+ save_item(NAME(m_e00x_d[1]));
+ save_item(NAME(m_e00x_d[2]));
+ save_item(NAME(m_e00x_d[3]));
}
-static MACHINE_RESET( ddayjlc )
+void ddayjlc_state::machine_reset()
{
- ddayjlc_state *state = machine.driver_data<ddayjlc_state>();
int i;
- state->m_char_bank = 0;
- state->m_bgadr = 0;
- state->m_sound_nmi_enable = 0;
- state->m_main_nmi_enable = 0;
- state->m_prot_addr = 0;
+ m_char_bank = 0;
+ m_bgadr = 0;
+ m_sound_nmi_enable = 0;
+ m_main_nmi_enable = 0;
+ m_prot_addr = 0;
for (i = 0; i < 4; i++)
{
- state->m_e00x_l[i] = 0;
- state->m_e00x_d[i][0] = 0;
- state->m_e00x_d[i][1] = 0;
+ m_e00x_l[i] = 0;
+ m_e00x_d[i][0] = 0;
+ m_e00x_d[i][1] = 0;
}
}
-static PALETTE_INIT( ddayjlc )
+void ddayjlc_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i,r,g,b,val;
int bit0,bit1,bit2;
@@ -508,7 +509,7 @@ static PALETTE_INIT( ddayjlc )
bit2 = (val >> 2) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -525,8 +526,6 @@ static MACHINE_CONFIG_START( ddayjlc, ddayjlc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(ddayjlc)
- MCFG_MACHINE_RESET(ddayjlc)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -538,9 +537,7 @@ static MACHINE_CONFIG_START( ddayjlc, ddayjlc_state )
MCFG_GFXDECODE(ddayjlc)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(ddayjlc)
- MCFG_VIDEO_START(ddayjlc)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ddealer.c b/src/mame/drivers/ddealer.c
index 3b742c950c0..ba8b85606b6 100644
--- a/src/mame/drivers/ddealer.c
+++ b/src/mame/drivers/ddealer.c
@@ -153,6 +153,9 @@ public:
DECLARE_READ16_MEMBER(ddealer_mcu_r);
DECLARE_DRIVER_INIT(ddealer);
TILE_GET_INFO_MEMBER(get_back_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -172,11 +175,10 @@ TILE_GET_INFO_MEMBER(ddealer_state::get_back_tile_info)
0);
}
-static VIDEO_START( ddealer )
+void ddealer_state::video_start()
{
- ddealer_state *state = machine.driver_data<ddealer_state>();
- state->m_flipscreen = 0;
- state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddealer_state::get_back_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ m_flipscreen = 0;
+ m_back_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddealer_state::get_back_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
}
static void ddealer_draw_video_layer( running_machine &machine, UINT16* vreg_base, UINT16* top, UINT16* bottom, bitmap_ind16 &bitmap, const rectangle &cliprect, int flipy)
@@ -598,24 +600,22 @@ static GFXDECODE_START( ddealer )
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0x100, 16 )
GFXDECODE_END
-static MACHINE_START( ddealer )
+void ddealer_state::machine_start()
{
- ddealer_state *state = machine.driver_data<ddealer_state>();
- state->save_item(NAME(state->m_respcount));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_input_pressed));
- state->save_item(NAME(state->m_coin_input));
+ save_item(NAME(m_respcount));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_input_pressed));
+ save_item(NAME(m_coin_input));
}
-static MACHINE_RESET (ddealer)
+void ddealer_state::machine_reset()
{
- ddealer_state *state = machine.driver_data<ddealer_state>();
- state->m_respcount = 0;
- state->m_flipscreen = 0;
- state->m_input_pressed = 0;
- state->m_coin_input = 0;
+ m_respcount = 0;
+ m_flipscreen = 0;
+ m_input_pressed = 0;
+ m_coin_input = 0;
}
static INTERRUPT_GEN( ddealer_interrupt )
@@ -632,8 +632,6 @@ static MACHINE_CONFIG_START( ddealer, ddealer_state )
// M50747 or NMK-110 8131 MCU
- MCFG_MACHINE_START(ddealer)
- MCFG_MACHINE_RESET(ddealer)
MCFG_GFXDECODE(ddealer)
@@ -646,7 +644,6 @@ static MACHINE_CONFIG_START( ddealer, ddealer_state )
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(ddealer)
MCFG_TIMER_ADD_PERIODIC("coinsim", ddealer_mcu_sim, attotime::from_hz(10000)) // not real, but for simulating the MCU
diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c
index ff34c73fbae..8f387805a1f 100644
--- a/src/mame/drivers/ddenlovr.c
+++ b/src/mame/drivers/ddenlovr.c
@@ -142,130 +142,126 @@ static const int ddenlovr_commands[8] = { BLIT_NEXT, BLIT_LINE, BLIT_COPY, BL
static const int hanakanz_commands[8] = { BLIT_NEXT, BLIT_CHANGE_PEN, BLIT_CHANGE_NUM, BLIT_UNKNOWN, BLIT_SKIP, BLIT_COPY, BLIT_LINE, BLIT_STOP };
static const int mjflove_commands[8] = { BLIT_STOP, BLIT_CHANGE_PEN, BLIT_CHANGE_NUM, BLIT_UNKNOWN, BLIT_SKIP, BLIT_COPY, BLIT_LINE, BLIT_NEXT };
-VIDEO_START( ddenlovr )
+VIDEO_START_MEMBER(dynax_state,ddenlovr)
{
- dynax_state *state = machine.driver_data<dynax_state>();
int i;
for (i = 0; i < 8; i++)
{
- state->m_ddenlovr_pixmap[i] = auto_alloc_array(machine, UINT8, 512 * 512);
- state->m_ddenlovr_scroll[i * 2 + 0] = state->m_ddenlovr_scroll[i * 2 + 1] = 0;
+ m_ddenlovr_pixmap[i] = auto_alloc_array(machine(), UINT8, 512 * 512);
+ m_ddenlovr_scroll[i * 2 + 0] = m_ddenlovr_scroll[i * 2 + 1] = 0;
}
- state->m_extra_layers = 0;
+ m_extra_layers = 0;
- state->m_ddenlovr_clip_ctrl = 0x0f;
- state->m_ddenlovr_layer_enable = state->m_ddenlovr_layer_enable2 = 0x0f;
- state->m_ddenlovr_blit_pen_mask = 0xff;
+ m_ddenlovr_clip_ctrl = 0x0f;
+ m_ddenlovr_layer_enable = m_ddenlovr_layer_enable2 = 0x0f;
+ m_ddenlovr_blit_pen_mask = 0xff;
// older games do not set these !?
- state->m_ddenlovr_clip_width = 0x400;
- state->m_ddenlovr_clip_height = 0x400;
+ m_ddenlovr_clip_width = 0x400;
+ m_ddenlovr_clip_height = 0x400;
- state->m_ddenlovr_blit_rom_bits = 8;
- state->m_ddenlovr_blit_commands = ddenlovr_commands;
+ m_ddenlovr_blit_rom_bits = 8;
+ m_ddenlovr_blit_commands = ddenlovr_commands;
/* init to 0 the remaining elements */
- state->m_ddenlovr_dest_layer = 0;
- state->m_ddenlovr_blit_flip = 0;
- state->m_ddenlovr_blit_x = 0;
- state->m_ddenlovr_blit_y = 0;
- state->m_ddenlovr_blit_address = 0;
- state->m_ddenlovr_blit_pen = 0;
- state->m_ddenlovr_blit_pen_mode = 0;
- state->m_ddenlovr_blitter_irq_flag = 0;
- state->m_ddenlovr_blitter_irq_enable = 0;
- state->m_ddenlovr_rect_width = 0;
- state->m_ddenlovr_rect_height = 0;
- state->m_ddenlovr_line_length = 0;
- state->m_ddenlovr_clip_x = 0;
- state->m_ddenlovr_clip_y = 0;
- state->m_ddenlovr_priority = 0;
- state->m_ddenlovr_priority2 = 0;
- state->m_ddenlovr_bgcolor = 0;
- state->m_ddenlovr_bgcolor2 = 0;
- state->m_ddenlovr_blit_latch = 0;
- state->m_ddenlovr_blit_regs[0] = 0;
- state->m_ddenlovr_blit_regs[1] = 0;
+ m_ddenlovr_dest_layer = 0;
+ m_ddenlovr_blit_flip = 0;
+ m_ddenlovr_blit_x = 0;
+ m_ddenlovr_blit_y = 0;
+ m_ddenlovr_blit_address = 0;
+ m_ddenlovr_blit_pen = 0;
+ m_ddenlovr_blit_pen_mode = 0;
+ m_ddenlovr_blitter_irq_flag = 0;
+ m_ddenlovr_blitter_irq_enable = 0;
+ m_ddenlovr_rect_width = 0;
+ m_ddenlovr_rect_height = 0;
+ m_ddenlovr_line_length = 0;
+ m_ddenlovr_clip_x = 0;
+ m_ddenlovr_clip_y = 0;
+ m_ddenlovr_priority = 0;
+ m_ddenlovr_priority2 = 0;
+ m_ddenlovr_bgcolor = 0;
+ m_ddenlovr_bgcolor2 = 0;
+ m_ddenlovr_blit_latch = 0;
+ m_ddenlovr_blit_regs[0] = 0;
+ m_ddenlovr_blit_regs[1] = 0;
for (i = 0; i < 8; i++)
{
- state->m_ddenlovr_palette_base[i] = 0;
- state->m_ddenlovr_palette_mask[i] = 0;
- state->m_ddenlovr_transparency_pen[i] = 0;
- state->m_ddenlovr_transparency_mask[i] = 0;
+ m_ddenlovr_palette_base[i] = 0;
+ m_ddenlovr_palette_mask[i] = 0;
+ m_ddenlovr_transparency_pen[i] = 0;
+ m_ddenlovr_transparency_mask[i] = 0;
}
/* register save states */
- state->save_item(NAME(state->m_ddenlovr_dest_layer));
- state->save_item(NAME(state->m_ddenlovr_blit_flip));
- state->save_item(NAME(state->m_ddenlovr_blit_x));
- state->save_item(NAME(state->m_ddenlovr_blit_y));
- state->save_item(NAME(state->m_ddenlovr_blit_address));
- state->save_item(NAME(state->m_ddenlovr_blit_pen));
- state->save_item(NAME(state->m_ddenlovr_blit_pen_mode));
- state->save_item(NAME(state->m_ddenlovr_blitter_irq_flag));
- state->save_item(NAME(state->m_ddenlovr_blitter_irq_enable));
- state->save_item(NAME(state->m_ddenlovr_rect_width));
- state->save_item(NAME(state->m_ddenlovr_rect_height));
- state->save_item(NAME(state->m_ddenlovr_clip_width));
- state->save_item(NAME(state->m_ddenlovr_clip_height));
- state->save_item(NAME(state->m_ddenlovr_line_length));
- state->save_item(NAME(state->m_ddenlovr_clip_ctrl));
- state->save_item(NAME(state->m_ddenlovr_clip_x));
- state->save_item(NAME(state->m_ddenlovr_clip_y));
- state->save_item(NAME(state->m_ddenlovr_scroll));
- state->save_item(NAME(state->m_ddenlovr_priority));
- state->save_item(NAME(state->m_ddenlovr_priority2));
- state->save_item(NAME(state->m_ddenlovr_bgcolor));
- state->save_item(NAME(state->m_ddenlovr_bgcolor2));
- state->save_item(NAME(state->m_ddenlovr_layer_enable));
- state->save_item(NAME(state->m_ddenlovr_layer_enable2));
- state->save_item(NAME(state->m_ddenlovr_palette_base));
- state->save_item(NAME(state->m_ddenlovr_palette_mask));
- state->save_item(NAME(state->m_ddenlovr_transparency_pen));
- state->save_item(NAME(state->m_ddenlovr_transparency_mask));
- state->save_item(NAME(state->m_ddenlovr_blit_latch));
- state->save_item(NAME(state->m_ddenlovr_blit_pen_mask));
- state->save_item(NAME(state->m_ddenlovr_blit_regs));
-
- state->save_pointer(NAME(state->m_ddenlovr_pixmap[0]), 512 * 512);
- state->save_pointer(NAME(state->m_ddenlovr_pixmap[1]), 512 * 512);
- state->save_pointer(NAME(state->m_ddenlovr_pixmap[2]), 512 * 512);
- state->save_pointer(NAME(state->m_ddenlovr_pixmap[3]), 512 * 512);
- state->save_pointer(NAME(state->m_ddenlovr_pixmap[4]), 512 * 512);
- state->save_pointer(NAME(state->m_ddenlovr_pixmap[5]), 512 * 512);
- state->save_pointer(NAME(state->m_ddenlovr_pixmap[6]), 512 * 512);
- state->save_pointer(NAME(state->m_ddenlovr_pixmap[7]), 512 * 512);
-}
-
-static VIDEO_START( mmpanic )
+ save_item(NAME(m_ddenlovr_dest_layer));
+ save_item(NAME(m_ddenlovr_blit_flip));
+ save_item(NAME(m_ddenlovr_blit_x));
+ save_item(NAME(m_ddenlovr_blit_y));
+ save_item(NAME(m_ddenlovr_blit_address));
+ save_item(NAME(m_ddenlovr_blit_pen));
+ save_item(NAME(m_ddenlovr_blit_pen_mode));
+ save_item(NAME(m_ddenlovr_blitter_irq_flag));
+ save_item(NAME(m_ddenlovr_blitter_irq_enable));
+ save_item(NAME(m_ddenlovr_rect_width));
+ save_item(NAME(m_ddenlovr_rect_height));
+ save_item(NAME(m_ddenlovr_clip_width));
+ save_item(NAME(m_ddenlovr_clip_height));
+ save_item(NAME(m_ddenlovr_line_length));
+ save_item(NAME(m_ddenlovr_clip_ctrl));
+ save_item(NAME(m_ddenlovr_clip_x));
+ save_item(NAME(m_ddenlovr_clip_y));
+ save_item(NAME(m_ddenlovr_scroll));
+ save_item(NAME(m_ddenlovr_priority));
+ save_item(NAME(m_ddenlovr_priority2));
+ save_item(NAME(m_ddenlovr_bgcolor));
+ save_item(NAME(m_ddenlovr_bgcolor2));
+ save_item(NAME(m_ddenlovr_layer_enable));
+ save_item(NAME(m_ddenlovr_layer_enable2));
+ save_item(NAME(m_ddenlovr_palette_base));
+ save_item(NAME(m_ddenlovr_palette_mask));
+ save_item(NAME(m_ddenlovr_transparency_pen));
+ save_item(NAME(m_ddenlovr_transparency_mask));
+ save_item(NAME(m_ddenlovr_blit_latch));
+ save_item(NAME(m_ddenlovr_blit_pen_mask));
+ save_item(NAME(m_ddenlovr_blit_regs));
+
+ save_pointer(NAME(m_ddenlovr_pixmap[0]), 512 * 512);
+ save_pointer(NAME(m_ddenlovr_pixmap[1]), 512 * 512);
+ save_pointer(NAME(m_ddenlovr_pixmap[2]), 512 * 512);
+ save_pointer(NAME(m_ddenlovr_pixmap[3]), 512 * 512);
+ save_pointer(NAME(m_ddenlovr_pixmap[4]), 512 * 512);
+ save_pointer(NAME(m_ddenlovr_pixmap[5]), 512 * 512);
+ save_pointer(NAME(m_ddenlovr_pixmap[6]), 512 * 512);
+ save_pointer(NAME(m_ddenlovr_pixmap[7]), 512 * 512);
+}
+
+VIDEO_START_MEMBER(dynax_state,mmpanic)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- VIDEO_START_CALL(ddenlovr);
+ VIDEO_START_CALL_MEMBER(ddenlovr);
- state->m_extra_layers = 1;
+ m_extra_layers = 1;
}
-static VIDEO_START( hanakanz )
+VIDEO_START_MEMBER(dynax_state,hanakanz)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- VIDEO_START_CALL(ddenlovr);
+ VIDEO_START_CALL_MEMBER(ddenlovr);
- state->m_ddenlovr_blit_rom_bits = 16;
- state->m_ddenlovr_blit_commands = hanakanz_commands;
+ m_ddenlovr_blit_rom_bits = 16;
+ m_ddenlovr_blit_commands = hanakanz_commands;
}
-static VIDEO_START( mjflove )
+VIDEO_START_MEMBER(dynax_state,mjflove)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- VIDEO_START_CALL(ddenlovr);
+ VIDEO_START_CALL_MEMBER(ddenlovr);
- state->m_ddenlovr_blit_commands = mjflove_commands;
+ m_ddenlovr_blit_commands = mjflove_commands;
}
static void ddenlovr_flipscreen_w( UINT8 data )
@@ -8356,138 +8352,136 @@ INPUT_PORTS_END
***************************************************************************/
-static MACHINE_START( ddenlovr )
+MACHINE_START_MEMBER(dynax_state,ddenlovr)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_soundcpu = machine.device<cpu_device>("soundcpu");
- state->m_oki = machine.device<okim6295_device>("oki");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_soundcpu = machine().device<cpu_device>("soundcpu");
+ m_oki = machine().device<okim6295_device>("oki");
- state->save_item(NAME(state->m_input_sel));
- state->save_item(NAME(state->m_dsw_sel));
- state->save_item(NAME(state->m_keyb));
- state->save_item(NAME(state->m_coins));
- state->save_item(NAME(state->m_hopper));
+ save_item(NAME(m_input_sel));
+ save_item(NAME(m_dsw_sel));
+ save_item(NAME(m_keyb));
+ save_item(NAME(m_coins));
+ save_item(NAME(m_hopper));
- state->save_item(NAME(state->m_okibank));
- state->save_item(NAME(state->m_rongrong_blitter_busy_select));
+ save_item(NAME(m_okibank));
+ save_item(NAME(m_rongrong_blitter_busy_select));
- state->save_item(NAME(state->m_prot_val));
- state->save_item(NAME(state->m_prot_16));
- state->save_item(NAME(state->m_quiz365_protection));
+ save_item(NAME(m_prot_val));
+ save_item(NAME(m_prot_16));
+ save_item(NAME(m_quiz365_protection));
- state->save_item(NAME(state->m_mmpanic_leds));
- state->save_item(NAME(state->m_funkyfig_lockout));
- state->save_item(NAME(state->m_romdata));
- state->save_item(NAME(state->m_palette_index));
- state->save_item(NAME(state->m_hginga_rombank));
- state->save_item(NAME(state->m_mjflove_irq_cause));
- state->save_item(NAME(state->m_daimyojn_palette_sel));
- state->save_item(NAME(state->m_palram));
+ save_item(NAME(m_mmpanic_leds));
+ save_item(NAME(m_funkyfig_lockout));
+ save_item(NAME(m_romdata));
+ save_item(NAME(m_palette_index));
+ save_item(NAME(m_hginga_rombank));
+ save_item(NAME(m_mjflove_irq_cause));
+ save_item(NAME(m_daimyojn_palette_sel));
+ save_item(NAME(m_palram));
- state->save_item(NAME(state->m_irq_count));
+ save_item(NAME(m_irq_count));
}
-static MACHINE_RESET( ddenlovr )
+MACHINE_RESET_MEMBER(dynax_state,ddenlovr)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- state->m_input_sel = 0;
- state->m_dsw_sel = 0;
- state->m_keyb = 0;
- state->m_coins = 0;
- state->m_hopper = 0;
+ m_input_sel = 0;
+ m_dsw_sel = 0;
+ m_keyb = 0;
+ m_coins = 0;
+ m_hopper = 0;
- state->m_okibank = 0;
- state->m_rongrong_blitter_busy_select = 0;
- state->m_prot_val = 0;
- state->m_prot_16 = 0;
- state->m_mmpanic_leds = 0;
- state->m_funkyfig_lockout = 0;
- state->m_palette_index = 0;
- state->m_hginga_rombank = 0;
- state->m_mjflove_irq_cause = 0;
- state->m_daimyojn_palette_sel = 0;
- state->m_irq_count = 0;
+ m_okibank = 0;
+ m_rongrong_blitter_busy_select = 0;
+ m_prot_val = 0;
+ m_prot_16 = 0;
+ m_mmpanic_leds = 0;
+ m_funkyfig_lockout = 0;
+ m_palette_index = 0;
+ m_hginga_rombank = 0;
+ m_mjflove_irq_cause = 0;
+ m_daimyojn_palette_sel = 0;
+ m_irq_count = 0;
- state->m_quiz365_protection[0] = 0;
- state->m_quiz365_protection[1] = 0;
- state->m_romdata[0] = 0;
- state->m_romdata[1] = 0;
+ m_quiz365_protection[0] = 0;
+ m_quiz365_protection[1] = 0;
+ m_romdata[0] = 0;
+ m_romdata[1] = 0;
- memset(state->m_palram, 0, ARRAY_LENGTH(state->m_palram));
+ memset(m_palram, 0, ARRAY_LENGTH(m_palram));
}
-static MACHINE_START( rongrong )
+MACHINE_START_MEMBER(dynax_state,rongrong)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x20, &ROM[0x010000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x110000], 0x1000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 0x20, &ROM[0x010000], 0x8000);
+ machine().root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x110000], 0x1000);
- MACHINE_START_CALL(ddenlovr);
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-static MACHINE_START( mmpanic )
+MACHINE_START_MEMBER(dynax_state,mmpanic)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
- MACHINE_START_CALL(ddenlovr);
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-static MACHINE_START( funkyfig )
+MACHINE_START_MEMBER(dynax_state,funkyfig)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
+ machine().root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
- MACHINE_START_CALL(ddenlovr);
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-static MACHINE_START( hanakanz )
+MACHINE_START_MEMBER(dynax_state,hanakanz)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
+ machine().root_device().membank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
- MACHINE_START_CALL(ddenlovr);
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-static MACHINE_START( mjmyster )
+MACHINE_START_MEMBER(dynax_state,mjmyster)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
+ machine().root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
- MACHINE_START_CALL(ddenlovr);
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-static MACHINE_START( hparadis )
+MACHINE_START_MEMBER(dynax_state,hparadis)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x50000], 0x1000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
+ machine().root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x50000], 0x1000);
- MACHINE_START_CALL(ddenlovr);
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-static MACHINE_START( mjflove )
+MACHINE_START_MEMBER(dynax_state,mjflove)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
+ machine().root_device().membank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
- MACHINE_START_CALL(ddenlovr);
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-static MACHINE_START( sryudens )
+MACHINE_START_MEMBER(dynax_state,sryudens)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
+ machine().root_device().membank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
- MACHINE_START_CALL(ddenlovr);
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
/***************************************************************************
@@ -8507,8 +8501,8 @@ static MACHINE_CONFIG_START( ddenlovr, dynax_state )
MCFG_CPU_PROGRAM_MAP(ddenlovr_map)
MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)
- MCFG_MACHINE_START(ddenlovr)
- MCFG_MACHINE_RESET(ddenlovr)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,ddenlovr)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8521,7 +8515,7 @@ static MACHINE_CONFIG_START( ddenlovr, dynax_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(ddenlovr)
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,ddenlovr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -8631,8 +8625,8 @@ static MACHINE_CONFIG_START( quizchq, dynax_state )
MCFG_CPU_IO_MAP(quizchq_portmap)
MCFG_CPU_VBLANK_INT("screen",quizchq_irq)
- MCFG_MACHINE_START(rongrong)
- MCFG_MACHINE_RESET(ddenlovr)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,rongrong)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8645,7 +8639,7 @@ static MACHINE_CONFIG_START( quizchq, dynax_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(ddenlovr)
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,ddenlovr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -8722,8 +8716,8 @@ static MACHINE_CONFIG_START( mmpanic, dynax_state )
MCFG_CPU_IO_MAP(mmpanic_sound_portmap)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) // NMI by main cpu
- MCFG_MACHINE_START(mmpanic)
- MCFG_MACHINE_RESET(ddenlovr)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,mmpanic)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8736,7 +8730,7 @@ static MACHINE_CONFIG_START( mmpanic, dynax_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(mmpanic) // extra layers
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mmpanic) // extra layers
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -8806,8 +8800,8 @@ static MACHINE_CONFIG_START( hanakanz, dynax_state )
MCFG_CPU_IO_MAP(hanakanz_portmap)
MCFG_CPU_VBLANK_INT("screen", hanakanz_irq)
- MCFG_MACHINE_START(hanakanz)
- MCFG_MACHINE_RESET(ddenlovr)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hanakanz)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8820,7 +8814,7 @@ static MACHINE_CONFIG_START( hanakanz, dynax_state )
MCFG_PALETTE_LENGTH(0x200)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(hanakanz) // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hanakanz) // blitter commands in the roms are shuffled around
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -8912,7 +8906,7 @@ static MACHINE_CONFIG_DERIVED( funkyfig, mmpanic )
MCFG_CPU_IO_MAP(funkyfig_portmap)
MCFG_CPU_VBLANK_INT("screen",mjchuuka_irq)
- MCFG_MACHINE_START(funkyfig)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,funkyfig)
MCFG_DEVICE_MODIFY("rtc")
MCFG_DEVICE_CONFIG(mjchuuka_rtc_intf)
@@ -8920,7 +8914,7 @@ static MACHINE_CONFIG_DERIVED( funkyfig, mmpanic )
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_IO_MAP(funkyfig_sound_portmap)
- MCFG_VIDEO_START(ddenlovr) // no extra layers?
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,ddenlovr) // no extra layers?
MACHINE_CONFIG_END
@@ -9000,7 +8994,7 @@ static MACHINE_CONFIG_DERIVED( mjmyster, quizchq )
MCFG_DEVICE_MODIFY("rtc")
MCFG_DEVICE_CONFIG(mjmyster_rtc_intf)
- MCFG_MACHINE_START(mjmyster)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,mjmyster)
MCFG_SOUND_ADD("aysnd", AY8910, 3579545)
MCFG_SOUND_CONFIG(mjmyster_ay8910_interface)
@@ -9070,7 +9064,7 @@ static MACHINE_CONFIG_DERIVED( hginga, quizchq )
MCFG_DEVICE_MODIFY("rtc")
MCFG_DEVICE_CONFIG(hginga_rtc_intf)
- MCFG_MACHINE_START(mjmyster)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,mjmyster)
MCFG_SOUND_ADD("aysnd", AY8910, 3579545)
MCFG_SOUND_CONFIG(hginga_ay8910_interface)
@@ -9088,7 +9082,7 @@ static MACHINE_CONFIG_DERIVED( hgokou, quizchq )
MCFG_DEVICE_MODIFY("rtc")
MCFG_DEVICE_CONFIG(hginga_rtc_intf)
- MCFG_MACHINE_START(mjmyster)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,mjmyster)
MCFG_SOUND_ADD("aysnd", AY8910, 3579545)
MCFG_SOUND_CONFIG(hginga_ay8910_interface)
@@ -9121,7 +9115,7 @@ static MACHINE_CONFIG_DERIVED( mjmyuniv, quizchq )
MCFG_CPU_IO_MAP(mjmyster_portmap)
MCFG_TIMER_ADD_SCANLINE("scantimer", mjmyster_irq, "screen", 0, 1)
- MCFG_MACHINE_START(mjmyster)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,mjmyster)
MCFG_DEVICE_MODIFY("rtc")
MCFG_DEVICE_CONFIG(mjmyster_rtc_intf)
@@ -9141,7 +9135,7 @@ static MACHINE_CONFIG_DERIVED( mjmyornt, quizchq )
MCFG_CPU_IO_MAP(mjmyster_portmap)
MCFG_TIMER_ADD_SCANLINE("scantimer", mjmyster_irq, "screen", 0, 1)
- MCFG_MACHINE_START(mjmyster)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,mjmyster)
MCFG_DEVICE_MODIFY("rtc")
MCFG_DEVICE_CONFIG(mjmyster_rtc_intf)
@@ -9183,12 +9177,12 @@ static MACHINE_CONFIG_DERIVED( mjflove, quizchq )
MCFG_CPU_IO_MAP(mjflove_portmap)
MCFG_CPU_VBLANK_INT("screen",mjflove_irq)
- MCFG_MACHINE_START(mjflove)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,mjflove)
MCFG_DEVICE_MODIFY("rtc")
MCFG_DEVICE_CONFIG(mjflove_rtc_intf)
- MCFG_VIDEO_START(mjflove) // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjflove) // blitter commands in the roms are shuffled around
MCFG_SOUND_ADD("aysnd", AY8910, 28636363/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
@@ -9209,7 +9203,7 @@ static MACHINE_CONFIG_DERIVED( hparadis, quizchq )
MCFG_CPU_IO_MAP(hparadis_portmap)
MCFG_CPU_VBLANK_INT("screen", hparadis_irq)
- MCFG_MACHINE_START(hparadis)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hparadis)
MACHINE_CONFIG_END
@@ -9222,8 +9216,8 @@ static MACHINE_CONFIG_START( jongtei, dynax_state )
MCFG_CPU_IO_MAP(jongtei_portmap)
MCFG_CPU_VBLANK_INT("screen", hanakanz_irq)
- MCFG_MACHINE_START(hanakanz)
- MCFG_MACHINE_RESET(ddenlovr)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hanakanz)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9236,7 +9230,7 @@ static MACHINE_CONFIG_START( jongtei, dynax_state )
MCFG_PALETTE_LENGTH(0x200)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(hanakanz) // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hanakanz) // blitter commands in the roms are shuffled around
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -9263,8 +9257,8 @@ static MACHINE_CONFIG_START( sryudens, dynax_state )
MCFG_CPU_IO_MAP(sryudens_portmap)
MCFG_CPU_VBLANK_INT("screen",mjchuuka_irq)
- MCFG_MACHINE_START(sryudens)
- MCFG_MACHINE_RESET(ddenlovr)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,sryudens)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9277,7 +9271,7 @@ static MACHINE_CONFIG_START( sryudens, dynax_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(mjflove) // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjflove) // blitter commands in the roms are shuffled around
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -9308,8 +9302,8 @@ static MACHINE_CONFIG_START( janshinp, dynax_state )
MCFG_CPU_IO_MAP(janshinp_portmap)
MCFG_CPU_VBLANK_INT("screen",mjchuuka_irq)
- MCFG_MACHINE_START(hanakanz)
- MCFG_MACHINE_RESET(ddenlovr)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hanakanz)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9322,7 +9316,7 @@ static MACHINE_CONFIG_START( janshinp, dynax_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(ddenlovr)
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,ddenlovr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -9343,7 +9337,7 @@ MACHINE_CONFIG_END
// Same PCB as janshinp
static MACHINE_CONFIG_DERIVED( dtoyoken, janshinp )
- MCFG_VIDEO_START(mjflove) // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjflove) // blitter commands in the roms are shuffled around
MACHINE_CONFIG_END
@@ -9360,18 +9354,18 @@ static const ay8910_interface seljan2_ay8910_interface =
DEVCB_NULL, DEVCB_HANDLER(ddenlovr_select_w) // W
};
-static MACHINE_START( seljan2 )
+MACHINE_START_MEMBER(dynax_state,seljan2)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0x00, 0x10, &ROM[0x10000], 0x8000);
+ machine().root_device().membank("bank1")->configure_entries(0x00, 0x10, &ROM[0x10000], 0x8000);
// banks 10-1f -> palette RAM
for (int i = 0; i < 0x10; i++)
- machine.root_device().membank("bank1")->configure_entries(0x10+i, 1, &ROM[0x90000], 0x8000);
+ machine().root_device().membank("bank1")->configure_entries(0x10+i, 1, &ROM[0x90000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 0x10, &ROM[0x98000], 0x1000);
+ machine().root_device().membank("bank2")->configure_entries(0, 0x10, &ROM[0x98000], 0x1000);
- MACHINE_START_CALL(ddenlovr);
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
static MACHINE_CONFIG_START( seljan2, dynax_state )
@@ -9382,8 +9376,8 @@ static MACHINE_CONFIG_START( seljan2, dynax_state )
MCFG_CPU_IO_MAP(seljan2_portmap)
MCFG_CPU_VBLANK_INT("screen",mjchuuka_irq)
- MCFG_MACHINE_START(seljan2)
- MCFG_MACHINE_RESET(ddenlovr)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,seljan2)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9396,7 +9390,7 @@ static MACHINE_CONFIG_START( seljan2, dynax_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(mjflove) // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjflove) // blitter commands in the roms are shuffled around
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -9429,8 +9423,8 @@ static MACHINE_CONFIG_START( daimyojn, dynax_state )
MCFG_CPU_IO_MAP(daimyojn_portmap)
MCFG_CPU_VBLANK_INT("screen", hanakanz_irq)
- MCFG_MACHINE_START(mjflove)
- MCFG_MACHINE_RESET(ddenlovr)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,mjflove)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9443,7 +9437,7 @@ static MACHINE_CONFIG_START( daimyojn, dynax_state )
MCFG_PALETTE_LENGTH(0x200)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(hanakanz) // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hanakanz) // blitter commands in the roms are shuffled around
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ddragon.c b/src/mame/drivers/ddragon.c
index e42667b7e84..d4fb3043f1f 100644
--- a/src/mame/drivers/ddragon.c
+++ b/src/mame/drivers/ddragon.c
@@ -145,41 +145,39 @@ static TIMER_DEVICE_CALLBACK( ddragon_scanline )
*
*************************************/
-static MACHINE_START( ddragon )
+MACHINE_START_MEMBER(ddragon_state,ddragon)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
/* configure banks */
- state->membank("bank1")->configure_entries(0, 8, state->memregion("maincpu")->base() + 0x10000, 0x4000);
+ membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_sub_cpu = machine.device("sub");
- state->m_snd_cpu = machine.device("soundcpu");
- state->m_adpcm_1 = machine.device("adpcm1");
- state->m_adpcm_2 = machine.device("adpcm2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_sub_cpu = machine().device("sub");
+ m_snd_cpu = machine().device("soundcpu");
+ m_adpcm_1 = machine().device("adpcm1");
+ m_adpcm_2 = machine().device("adpcm2");
/* register for save states */
- state->save_item(NAME(state->m_dd_sub_cpu_busy));
- state->save_item(NAME(state->m_scrollx_hi));
- state->save_item(NAME(state->m_scrolly_hi));
- state->save_item(NAME(state->m_adpcm_pos));
- state->save_item(NAME(state->m_adpcm_end));
- state->save_item(NAME(state->m_adpcm_idle));
- state->save_item(NAME(state->m_adpcm_data));
+ save_item(NAME(m_dd_sub_cpu_busy));
+ save_item(NAME(m_scrollx_hi));
+ save_item(NAME(m_scrolly_hi));
+ save_item(NAME(m_adpcm_pos));
+ save_item(NAME(m_adpcm_end));
+ save_item(NAME(m_adpcm_idle));
+ save_item(NAME(m_adpcm_data));
}
-static MACHINE_RESET( ddragon )
+MACHINE_RESET_MEMBER(ddragon_state,ddragon)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
-
- state->m_dd_sub_cpu_busy = 1;
- state->m_adpcm_pos[0] = state->m_adpcm_pos[1] = 0;
- state->m_adpcm_end[0] = state->m_adpcm_end[1] = 0;
- state->m_adpcm_idle[0] = state->m_adpcm_idle[1] = 1;
- state->m_adpcm_data[0] = state->m_adpcm_data[1] = -1;
- state->m_scrollx_hi = 0;
- state->m_scrolly_hi = 0;
+
+ m_dd_sub_cpu_busy = 1;
+ m_adpcm_pos[0] = m_adpcm_pos[1] = 0;
+ m_adpcm_end[0] = m_adpcm_end[1] = 0;
+ m_adpcm_idle[0] = m_adpcm_idle[1] = 1;
+ m_adpcm_data[0] = m_adpcm_data[1] = -1;
+ m_scrollx_hi = 0;
+ m_scrolly_hi = 0;
}
@@ -978,8 +976,8 @@ static MACHINE_CONFIG_START( ddragon, ddragon_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main cpu's */
- MCFG_MACHINE_START(ddragon)
- MCFG_MACHINE_RESET(ddragon)
+ MCFG_MACHINE_START_OVERRIDE(ddragon_state,ddragon)
+ MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
/* video hardware */
MCFG_GFXDECODE(ddragon)
@@ -989,7 +987,7 @@ static MACHINE_CONFIG_START( ddragon, ddragon_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(ddragon)
- MCFG_VIDEO_START(ddragon)
+ MCFG_VIDEO_START_OVERRIDE(ddragon_state,ddragon)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1041,8 +1039,8 @@ static MACHINE_CONFIG_START( ddragon6809, ddragon_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main cpu's */
- MCFG_MACHINE_START(ddragon)
- MCFG_MACHINE_RESET(ddragon)
+ MCFG_MACHINE_START_OVERRIDE(ddragon_state,ddragon)
+ MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
/* video hardware */
MCFG_GFXDECODE(ddragon)
@@ -1052,7 +1050,7 @@ static MACHINE_CONFIG_START( ddragon6809, ddragon_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(ddragon)
- MCFG_VIDEO_START(ddragon)
+ MCFG_VIDEO_START_OVERRIDE(ddragon_state,ddragon)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1087,8 +1085,8 @@ static MACHINE_CONFIG_START( ddragon2, ddragon_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main cpu's */
- MCFG_MACHINE_START(ddragon)
- MCFG_MACHINE_RESET(ddragon)
+ MCFG_MACHINE_START_OVERRIDE(ddragon_state,ddragon)
+ MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
/* video hardware */
MCFG_GFXDECODE(ddragon)
@@ -1098,7 +1096,7 @@ static MACHINE_CONFIG_START( ddragon2, ddragon_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(ddragon)
- MCFG_VIDEO_START(ddragon)
+ MCFG_VIDEO_START_OVERRIDE(ddragon_state,ddragon)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ddragon3.c b/src/mame/drivers/ddragon3.c
index 928bdba44c7..5571cf52db2 100644
--- a/src/mame/drivers/ddragon3.c
+++ b/src/mame/drivers/ddragon3.c
@@ -558,36 +558,34 @@ static TIMER_DEVICE_CALLBACK( ddragon3_scanline )
*
*************************************/
-static MACHINE_START( ddragon3 )
+void ddragon3_state::machine_start()
{
- ddragon3_state *state = machine.driver_data<ddragon3_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
-
- state->save_item(NAME(state->m_vreg));
- state->save_item(NAME(state->m_bg_scrollx));
- state->save_item(NAME(state->m_bg_scrolly));
- state->save_item(NAME(state->m_fg_scrollx));
- state->save_item(NAME(state->m_fg_scrolly));
- state->save_item(NAME(state->m_bg_tilebase));
- state->save_item(NAME(state->m_io_reg));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+
+ save_item(NAME(m_vreg));
+ save_item(NAME(m_bg_scrollx));
+ save_item(NAME(m_bg_scrolly));
+ save_item(NAME(m_fg_scrollx));
+ save_item(NAME(m_fg_scrolly));
+ save_item(NAME(m_bg_tilebase));
+ save_item(NAME(m_io_reg));
}
-static MACHINE_RESET( ddragon3 )
+void ddragon3_state::machine_reset()
{
- ddragon3_state *state = machine.driver_data<ddragon3_state>();
int i;
- state->m_vreg = 0;
- state->m_bg_scrollx = 0;
- state->m_bg_scrolly = 0;
- state->m_fg_scrollx = 0;
- state->m_fg_scrolly = 0;
- state->m_bg_tilebase = 0;
+ m_vreg = 0;
+ m_bg_scrollx = 0;
+ m_bg_scrolly = 0;
+ m_fg_scrollx = 0;
+ m_fg_scrolly = 0;
+ m_bg_tilebase = 0;
for (i = 0; i < 8; i++)
- state->m_io_reg[i] = 0;
+ m_io_reg[i] = 0;
}
static MACHINE_CONFIG_START( ddragon3, ddragon3_state )
@@ -600,8 +598,6 @@ static MACHINE_CONFIG_START( ddragon3, ddragon3_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(ddragon3)
- MCFG_MACHINE_RESET(ddragon3)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -611,7 +607,6 @@ static MACHINE_CONFIG_START( ddragon3, ddragon3_state )
MCFG_GFXDECODE(ddragon3)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(ddragon3)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/ddribble.c b/src/mame/drivers/ddribble.c
index bab36d9ff6f..85bca3ad893 100644
--- a/src/mame/drivers/ddribble.c
+++ b/src/mame/drivers/ddribble.c
@@ -245,38 +245,36 @@ static const vlm5030_interface vlm5030_config =
-static MACHINE_START( ddribble )
+void ddribble_state::machine_start()
{
- ddribble_state *state = machine.driver_data<ddribble_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 5, &ROM[0x10000], 0x2000);
-
- state->m_filter1 = machine.device("filter1");
- state->m_filter2 = machine.device("filter2");
- state->m_filter3 = machine.device("filter3");
-
- state->save_item(NAME(state->m_int_enable_0));
- state->save_item(NAME(state->m_int_enable_1));
- state->save_item(NAME(state->m_vregs[0]));
- state->save_item(NAME(state->m_vregs[1]));
- state->save_item(NAME(state->m_charbank));
+ UINT8 *ROM = memregion("maincpu")->base();
+ membank("bank1")->configure_entries(0, 5, &ROM[0x10000], 0x2000);
+
+ m_filter1 = machine().device("filter1");
+ m_filter2 = machine().device("filter2");
+ m_filter3 = machine().device("filter3");
+
+ save_item(NAME(m_int_enable_0));
+ save_item(NAME(m_int_enable_1));
+ save_item(NAME(m_vregs[0]));
+ save_item(NAME(m_vregs[1]));
+ save_item(NAME(m_charbank));
}
-static MACHINE_RESET( ddribble )
+void ddribble_state::machine_reset()
{
- ddribble_state *state = machine.driver_data<ddribble_state>();
int i;
for (i = 0; i < 5; i++)
{
- state->m_vregs[0][i] = 0;
- state->m_vregs[1][i] = 0;
+ m_vregs[0][i] = 0;
+ m_vregs[1][i] = 0;
}
- state->m_int_enable_0 = 0;
- state->m_int_enable_1 = 0;
- state->m_charbank[0] = 0;
- state->m_charbank[1] = 0;
+ m_int_enable_0 = 0;
+ m_int_enable_1 = 0;
+ m_charbank[0] = 0;
+ m_charbank[1] = 0;
}
static MACHINE_CONFIG_START( ddribble, ddribble_state )
@@ -295,8 +293,6 @@ static MACHINE_CONFIG_START( ddribble, ddribble_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */
- MCFG_MACHINE_START(ddribble)
- MCFG_MACHINE_RESET(ddribble)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -311,8 +307,6 @@ static MACHINE_CONFIG_START( ddribble, ddribble_state )
MCFG_GFXDECODE(ddribble)
MCFG_PALETTE_LENGTH(64 + 256)
- MCFG_PALETTE_INIT(ddribble)
- MCFG_VIDEO_START(ddribble)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ddz.c b/src/mame/drivers/ddz.c
index 80cffa447ef..e473dcc7793 100644
--- a/src/mame/drivers/ddz.c
+++ b/src/mame/drivers/ddz.c
@@ -22,6 +22,7 @@ public:
ddz_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void video_start();
};
@@ -29,7 +30,7 @@ static ADDRESS_MAP_START( ddz_mem, AS_PROGRAM, 32, ddz_state )
AM_RANGE(0x00000000, 0x003fffff) AM_ROM AM_WRITENOP
ADDRESS_MAP_END
-static VIDEO_START(ddz)
+void ddz_state::video_start()
{
}
@@ -65,7 +66,7 @@ static MACHINE_CONFIG_START( ddz, ddz_state )
MCFG_CPU_PROGRAM_MAP(ddz_mem)
MCFG_CPU_VBLANK_INT("screen", ddz_interrupt)
- //MCFG_MACHINE_RESET(ddz)
+ //MCFG_MACHINE_RESET_OVERRIDE(ddz_state,ddz)
//MCFG_NVRAM_ADD_0FILL("nvram")
@@ -79,7 +80,6 @@ static MACHINE_CONFIG_START( ddz, ddz_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(ddz)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/deadang.c b/src/mame/drivers/deadang.c
index 18ce8d04f9b..49d89a689d9 100644
--- a/src/mame/drivers/deadang.c
+++ b/src/mame/drivers/deadang.c
@@ -258,7 +258,6 @@ static MACHINE_CONFIG_START( deadang, deadang_state )
MCFG_GFXDECODE(deadang)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(deadang)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM2203_INTERFACE(XTAL_14_31818MHz/4)
diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c
index dcd60b89f14..1dc9a965c70 100644
--- a/src/mame/drivers/dec0.c
+++ b/src/mame/drivers/dec0.c
@@ -1324,7 +1324,7 @@ static MACHINE_CONFIG_START( dec0_base, dec0_state )
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 3);
- MCFG_VIDEO_START(dec0)
+ MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( dec0_base_sound, dec0_base )
@@ -1414,7 +1414,7 @@ static MACHINE_CONFIG_START( automat, dec0_automat_state )
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
MCFG_SCREEN_UPDATE_STATIC(automat)
- MCFG_VIDEO_START(dec0_nodma)
+ MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0_nodma)
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device, 0,0,0);
@@ -1467,7 +1467,7 @@ static MACHINE_CONFIG_START( secretab, dec0_automat_state )
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */)
MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART)
MCFG_SCREEN_UPDATE_STATIC(secretab)
- MCFG_VIDEO_START(dec0_nodma)
+ MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0_nodma)
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device, 0,0,0);
@@ -1638,10 +1638,10 @@ static MACHINE_CONFIG_DERIVED( hippodrm, dec0_base_sound )
MCFG_SCREEN_UPDATE_STATIC(hippodrm)
MACHINE_CONFIG_END
-static MACHINE_RESET( slyspy )
+MACHINE_RESET_MEMBER(dec0_state,slyspy)
{
// set initial memory map
- slyspy_set_protection_map(machine, 0);
+ slyspy_set_protection_map(machine(), 0);
}
static MACHINE_CONFIG_DERIVED( slyspy, dec0_base_sound_alt )
@@ -1663,9 +1663,9 @@ static MACHINE_CONFIG_DERIVED( slyspy, dec0_base_sound_alt )
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_STATIC(slyspy)
- MCFG_VIDEO_START(dec0_nodma)
+ MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0_nodma)
- MCFG_MACHINE_RESET(slyspy)
+ MCFG_MACHINE_RESET_OVERRIDE(dec0_state,slyspy)
MACHINE_CONFIG_END
@@ -1691,7 +1691,7 @@ static MACHINE_CONFIG_DERIVED( midres, dec0_base_sound_alt )
MCFG_SCREEN_UPDATE_STATIC(midres)
MCFG_GFXDECODE(midres)
- MCFG_VIDEO_START(dec0_nodma)
+ MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0_nodma)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( midresb, midres )
diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c
index 2a509e56485..943d9fd42d4 100644
--- a/src/mame/drivers/dec8.c
+++ b/src/mame/drivers/dec8.c
@@ -1978,56 +1978,54 @@ static INTERRUPT_GEN( oscar_interrupt )
/******************************************************************************/
-static MACHINE_START( dec8 )
+void dec8_state::machine_start()
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
-
- state->save_item(NAME(state->m_latch));
- state->save_item(NAME(state->m_nmi_enable));
- state->save_item(NAME(state->m_i8751_port0));
- state->save_item(NAME(state->m_i8751_port1));
- state->save_item(NAME(state->m_i8751_return));
- state->save_item(NAME(state->m_i8751_value));
- state->save_item(NAME(state->m_coinage_id));
- state->save_item(NAME(state->m_coin1));
- state->save_item(NAME(state->m_coin2));
- state->save_item(NAME(state->m_need1));
- state->save_item(NAME(state->m_need2));
- state->save_item(NAME(state->m_cred1));
- state->save_item(NAME(state->m_cred2));
- state->save_item(NAME(state->m_credits));
- state->save_item(NAME(state->m_snd));
- state->save_item(NAME(state->m_msm5205next));
- state->save_item(NAME(state->m_toggle));
-
- state->save_item(NAME(state->m_scroll2));
- state->save_item(NAME(state->m_bg_control));
- state->save_item(NAME(state->m_pf1_control));
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
+
+ save_item(NAME(m_latch));
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_i8751_port0));
+ save_item(NAME(m_i8751_port1));
+ save_item(NAME(m_i8751_return));
+ save_item(NAME(m_i8751_value));
+ save_item(NAME(m_coinage_id));
+ save_item(NAME(m_coin1));
+ save_item(NAME(m_coin2));
+ save_item(NAME(m_need1));
+ save_item(NAME(m_need2));
+ save_item(NAME(m_cred1));
+ save_item(NAME(m_cred2));
+ save_item(NAME(m_credits));
+ save_item(NAME(m_snd));
+ save_item(NAME(m_msm5205next));
+ save_item(NAME(m_toggle));
+
+ save_item(NAME(m_scroll2));
+ save_item(NAME(m_bg_control));
+ save_item(NAME(m_pf1_control));
}
-static MACHINE_RESET( dec8 )
+void dec8_state::machine_reset()
{
- dec8_state *state = machine.driver_data<dec8_state>();
int i;
- state->m_nmi_enable = state->m_i8751_port0 = state->m_i8751_port1 = 0;
- state->m_i8751_return = state->m_i8751_value = 0;
- state->m_coinage_id = 0;
- state->m_coin1 = state->m_coin2 = state->m_credits = state->m_snd = 0;
- state->m_need1 = state->m_need2 = state->m_cred1 = state->m_cred2 = 1;
- state->m_msm5205next = 0;
- state->m_toggle = 0;
+ m_nmi_enable = m_i8751_port0 = m_i8751_port1 = 0;
+ m_i8751_return = m_i8751_value = 0;
+ m_coinage_id = 0;
+ m_coin1 = m_coin2 = m_credits = m_snd = 0;
+ m_need1 = m_need2 = m_cred1 = m_cred2 = 1;
+ m_msm5205next = 0;
+ m_toggle = 0;
- state->m_scroll2[0] = state->m_scroll2[1] = state->m_scroll2[2] = state->m_scroll2[3] = 0;
+ m_scroll2[0] = m_scroll2[1] = m_scroll2[2] = m_scroll2[3] = 0;
for (i = 0; i < 0x20; i++)
{
- state->m_bg_control[i] = 0;
- state->m_pf1_control[i] = 0;
+ m_bg_control[i] = 0;
+ m_pf1_control[i] = 0;
}
}
@@ -2046,8 +2044,6 @@ static MACHINE_CONFIG_START( lastmisn, dec8_state )
/* NMIs are caused by the main CPU */
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- MCFG_MACHINE_START(dec8)
- MCFG_MACHINE_RESET(dec8)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -2065,7 +2061,7 @@ static MACHINE_CONFIG_START( lastmisn, dec8_state )
MCFG_GFXDECODE(shackled)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(lastmisn)
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2095,8 +2091,6 @@ static MACHINE_CONFIG_START( shackled, dec8_state )
/* NMIs are caused by the main CPU */
MCFG_QUANTUM_TIME(attotime::from_hz(4800))
- MCFG_MACHINE_START(dec8)
- MCFG_MACHINE_RESET(dec8)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -2114,7 +2108,7 @@ static MACHINE_CONFIG_START( shackled, dec8_state )
MCFG_GFXDECODE(shackled)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(shackled)
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,shackled)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2144,8 +2138,6 @@ static MACHINE_CONFIG_START( gondo, dec8_state )
MCFG_CPU_ADD("mcu", I8751, XTAL_8MHz)
MCFG_CPU_IO_MAP(dec8_mcu_io_map)
- MCFG_MACHINE_START(dec8)
- MCFG_MACHINE_RESET(dec8)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -2164,7 +2156,7 @@ static MACHINE_CONFIG_START( gondo, dec8_state )
MCFG_GFXDECODE(gondo)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(gondo)
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,gondo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2194,8 +2186,6 @@ static MACHINE_CONFIG_START( garyoret, dec8_state )
MCFG_CPU_ADD("mcu", I8751, XTAL_8MHz)
MCFG_CPU_IO_MAP(dec8_mcu_io_map)
- MCFG_MACHINE_START(dec8)
- MCFG_MACHINE_RESET(dec8)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -2214,7 +2204,7 @@ static MACHINE_CONFIG_START( garyoret, dec8_state )
MCFG_GFXDECODE(gondo)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(garyoret)
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,garyoret)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2244,8 +2234,6 @@ static MACHINE_CONFIG_START( ghostb, dec8_state )
MCFG_CPU_ADD("mcu", I8751, 3000000*4)
MCFG_CPU_IO_MAP(dec8_mcu_io_map)
- MCFG_MACHINE_START(dec8)
- MCFG_MACHINE_RESET(dec8)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -2267,8 +2255,8 @@ static MACHINE_CONFIG_START( ghostb, dec8_state )
MCFG_GFXDECODE(ghostb)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(ghostb)
- MCFG_VIDEO_START(ghostb)
+ MCFG_PALETTE_INIT_OVERRIDE(dec8_state,ghostb)
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,ghostb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2299,8 +2287,6 @@ static MACHINE_CONFIG_START( csilver, dec8_state )
/* NMIs are caused by the main CPU */
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(dec8)
- MCFG_MACHINE_RESET(dec8)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -2318,7 +2304,7 @@ static MACHINE_CONFIG_START( csilver, dec8_state )
MCFG_GFXDECODE(shackled)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(lastmisn)
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2353,8 +2339,6 @@ static MACHINE_CONFIG_START( oscar, dec8_state )
/* NMIs are caused by the main CPU */
MCFG_QUANTUM_TIME(attotime::from_hz(2400)) /* 40 CPU slices per frame */
- MCFG_MACHINE_START(dec8)
- MCFG_MACHINE_RESET(dec8)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -2375,7 +2359,7 @@ static MACHINE_CONFIG_START( oscar, dec8_state )
MCFG_GFXDECODE(oscar)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(oscar)
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,oscar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2402,8 +2386,6 @@ static MACHINE_CONFIG_START( srdarwin, dec8_state )
MCFG_CPU_PROGRAM_MAP(dec8_s_map)
/* NMIs are caused by the main CPU */
- MCFG_MACHINE_START(dec8)
- MCFG_MACHINE_RESET(dec8)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -2418,7 +2400,7 @@ static MACHINE_CONFIG_START( srdarwin, dec8_state )
MCFG_GFXDECODE(srdarwin)
MCFG_PALETTE_LENGTH(144)
- MCFG_VIDEO_START(srdarwin)
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,srdarwin)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2445,8 +2427,6 @@ static MACHINE_CONFIG_START( cobracom, dec8_state )
MCFG_CPU_PROGRAM_MAP(dec8_s_map)
/* NMIs are caused by the main CPU */
- MCFG_MACHINE_START(dec8)
- MCFG_MACHINE_RESET(dec8)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -2470,7 +2450,7 @@ static MACHINE_CONFIG_START( cobracom, dec8_state )
MCFG_GFXDECODE(cobracom)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(cobracom)
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,cobracom)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/deco156.c b/src/mame/drivers/deco156.c
index 417624a09a1..f3b26a479e4 100644
--- a/src/mame/drivers/deco156.c
+++ b/src/mame/drivers/deco156.c
@@ -53,18 +53,18 @@ public:
DECLARE_WRITE32_MEMBER(hvysmsh_oki_0_bank_w);
DECLARE_DRIVER_INIT(hvysmsh);
DECLARE_DRIVER_INIT(wcvol95);
+ virtual void video_start();
};
-static VIDEO_START( wcvol95 )
+void deco156_state::video_start()
{
- deco156_state *state = machine.driver_data<deco156_state>();
- state->m_spriteram = auto_alloc_array(machine, UINT16, 0x2000/2);
+ m_spriteram = auto_alloc_array(machine(), UINT16, 0x2000/2);
/* and register the allocated ram so that save states still work */
- state->save_item(NAME(state->m_pf1_rowscroll));
- state->save_item(NAME(state->m_pf2_rowscroll));
- state->save_pointer(NAME(state->m_spriteram), 0x2000/2);
+ save_item(NAME(m_pf1_rowscroll));
+ save_item(NAME(m_pf2_rowscroll));
+ save_pointer(NAME(m_spriteram), 0x2000/2);
}
@@ -368,7 +368,6 @@ static MACHINE_CONFIG_START( hvysmsh, deco156_state )
MCFG_GFXDECODE(hvysmsh)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(wcvol95)
MCFG_DECO16IC_ADD("tilegen1", deco156_deco16ic_tilegen1_intf)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
@@ -406,7 +405,6 @@ static MACHINE_CONFIG_START( wcvol95, deco156_state )
MCFG_GFXDECODE(hvysmsh)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(wcvol95)
MCFG_DECO16IC_ADD("tilegen1", deco156_deco16ic_tilegen1_intf)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index f7e69e40e25..9d4d573a8bb 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -1665,11 +1665,10 @@ static const eeprom_interface eeprom_interface_tattass =
/**********************************************************************************/
-static MACHINE_RESET( deco32 )
+MACHINE_RESET_MEMBER(deco32_state,deco32)
{
- deco32_state *state = machine.driver_data<deco32_state>();
- state->m_raster_irq_timer = machine.device<timer_device>("int_timer");
- decoprot_reset(machine);
+ m_raster_irq_timer = machine().device<timer_device>("int_timer");
+ decoprot_reset(machine());
}
static INTERRUPT_GEN( deco32_vbl_interrupt )
@@ -1741,7 +1740,7 @@ static MACHINE_CONFIG_START( captaven, deco32_state )
MCFG_CPU_ADD("audiocpu", H6280, XTAL_32_22MHz/4/3) /* pin 10 is 32mhz/4, pin 14 is High so internal divisor is 3 (verified on pcb) */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_RESET(deco32)
+ MCFG_MACHINE_RESET_OVERRIDE(deco32_state,deco32)
MCFG_TIMER_ADD("int_timer", interrupt_gen)
@@ -1763,7 +1762,7 @@ static MACHINE_CONFIG_START( captaven, deco32_state )
decospr_device::set_pri_callback(*device, captaven_pri_callback);
- MCFG_VIDEO_START(captaven)
+ MCFG_VIDEO_START_OVERRIDE(deco32_state,captaven)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1811,7 +1810,7 @@ static MACHINE_CONFIG_START( fghthist, deco32_state )
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
- MCFG_VIDEO_START(fghthist)
+ MCFG_VIDEO_START_OVERRIDE(deco32_state,fghthist)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1857,7 +1856,7 @@ static MACHINE_CONFIG_START( fghthsta, deco32_state )
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
- MCFG_VIDEO_START(fghthist)
+ MCFG_VIDEO_START_OVERRIDE(deco32_state,fghthist)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1949,7 +1948,7 @@ static MACHINE_CONFIG_START( dragngun, dragngun_state )
MCFG_CPU_ADD("audiocpu", H6280, 32220000/8)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_RESET(deco32)
+ MCFG_MACHINE_RESET_OVERRIDE(deco32_state,deco32)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", interrupt_gen)
@@ -1970,7 +1969,7 @@ static MACHINE_CONFIG_START( dragngun, dragngun_state )
MCFG_GFXDECODE(dragngun)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(dragngun)
+ MCFG_VIDEO_START_OVERRIDE(dragngun_state,dragngun)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2025,7 +2024,7 @@ static MACHINE_CONFIG_START( lockload, dragngun_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* to improve main<->audio comms */
- MCFG_MACHINE_RESET(deco32)
+ MCFG_MACHINE_RESET_OVERRIDE(deco32_state,deco32)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_TIMER_ADD("int_timer", interrupt_gen)
@@ -2046,7 +2045,7 @@ static MACHINE_CONFIG_START( lockload, dragngun_state )
MCFG_GFXDECODE(dragngun)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(lockload)
+ MCFG_VIDEO_START_OVERRIDE(dragngun_state,lockload)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2134,7 +2133,7 @@ static MACHINE_CONFIG_START( tattass, deco32_state )
MCFG_GFXDECODE(tattass)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nslasher)
+ MCFG_VIDEO_START_OVERRIDE(deco32_state,nslasher)
/* sound hardware */
MCFG_DECOBSMT_ADD(DECOBSMT_TAG)
@@ -2173,7 +2172,7 @@ static MACHINE_CONFIG_START( nslasher, deco32_state )
MCFG_GFXDECODE(nslasher)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nslasher)
+ MCFG_VIDEO_START_OVERRIDE(deco32_state,nslasher)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/deco_ld.c b/src/mame/drivers/deco_ld.c
index f56e0931958..fcfef1f14a3 100644
--- a/src/mame/drivers/deco_ld.c
+++ b/src/mame/drivers/deco_ld.c
@@ -145,6 +145,7 @@ public:
DECLARE_WRITE8_MEMBER(decold_palette_w);
DECLARE_CUSTOM_INPUT_MEMBER(begas_vblank_r);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ virtual void machine_start();
};
static void draw_sprites(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, UINT8 *spriteram, UINT16 tile_bank )
@@ -449,7 +450,7 @@ static GFXDECODE_START( rblaster )
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 8 )
GFXDECODE_END
-static MACHINE_START( rblaster )
+void deco_ld_state::machine_start()
{
}
@@ -474,7 +475,6 @@ static MACHINE_CONFIG_START( rblaster, deco_ld_state )
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
MCFG_GFXDECODE(rblaster)
MCFG_PALETTE_LENGTH(512)
- MCFG_MACHINE_START(rblaster)
/* sound hardware */
/* TODO: mixing */
diff --git a/src/mame/drivers/deco_mlc.c b/src/mame/drivers/deco_mlc.c
index b71d90c66b8..011580091b1 100644
--- a/src/mame/drivers/deco_mlc.c
+++ b/src/mame/drivers/deco_mlc.c
@@ -369,11 +369,10 @@ GFXDECODE_END
/******************************************************************************/
-static MACHINE_RESET( mlc )
+MACHINE_RESET_MEMBER(deco_mlc_state,mlc)
{
- deco_mlc_state *state = machine.driver_data<deco_mlc_state>();
- state->m_vbl_i = 0xffffffff;
- state->m_raster_irq_timer = machine.device<timer_device>("int_timer");
+ m_vbl_i = 0xffffffff;
+ m_raster_irq_timer = machine().device<timer_device>("int_timer");
}
static MACHINE_CONFIG_START( avengrgs, deco_mlc_state )
@@ -382,7 +381,7 @@ static MACHINE_CONFIG_START( avengrgs, deco_mlc_state )
MCFG_CPU_ADD("maincpu", SH2,42000000/2) /* 21 MHz clock confirmed on real board */
MCFG_CPU_PROGRAM_MAP(decomlc_map)
- MCFG_MACHINE_RESET(mlc)
+ MCFG_MACHINE_RESET_OVERRIDE(deco_mlc_state,mlc)
MCFG_EEPROM_93C46_ADD("eeprom") /* Actually 93c45 */
MCFG_TIMER_ADD("int_timer", interrupt_gen)
@@ -398,7 +397,7 @@ static MACHINE_CONFIG_START( avengrgs, deco_mlc_state )
MCFG_GFXDECODE(deco_mlc)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(mlc)
+ MCFG_VIDEO_START_OVERRIDE(deco_mlc_state,mlc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -414,7 +413,7 @@ static MACHINE_CONFIG_START( mlc, deco_mlc_state )
MCFG_CPU_ADD("maincpu", ARM,42000000/6) /* 42 MHz -> 7MHz clock confirmed on real board */
MCFG_CPU_PROGRAM_MAP(decomlc_map)
- MCFG_MACHINE_RESET(mlc)
+ MCFG_MACHINE_RESET_OVERRIDE(deco_mlc_state,mlc)
MCFG_EEPROM_93C46_ADD("eeprom") /* Actually 93c45 */
MCFG_TIMER_ADD("int_timer", interrupt_gen)
@@ -430,7 +429,7 @@ static MACHINE_CONFIG_START( mlc, deco_mlc_state )
MCFG_GFXDECODE(deco_mlc)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(mlc)
+ MCFG_VIDEO_START_OVERRIDE(deco_mlc_state,mlc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/decocass.c b/src/mame/drivers/decocass.c
index a580fff2f89..c451a5a97d8 100644
--- a/src/mame/drivers/decocass.c
+++ b/src/mame/drivers/decocass.c
@@ -730,32 +730,32 @@ static GFXDECODE_START( decocass )
GFXDECODE_ENTRY( NULL, 0xd800, objlayout, 48, 4 ) /* object */
GFXDECODE_END
-static PALETTE_INIT( decocass )
+void decocass_state::palette_init()
{
int i;
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
/* set up 32 colors 1:1 pens */
for (i = 0; i < 32; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* setup straight/flipped colors for background tiles (D7 of color_center_bot ?) */
for (i = 0; i < 8; i++)
{
- colortable_entry_set_value(machine.colortable, 32+i, 3*8+i);
- colortable_entry_set_value(machine.colortable, 40+i, 3*8+((i << 1) & 0x04) + ((i >> 1) & 0x02) + (i & 0x01));
+ colortable_entry_set_value(machine().colortable, 32+i, 3*8+i);
+ colortable_entry_set_value(machine().colortable, 40+i, 3*8+((i << 1) & 0x04) + ((i >> 1) & 0x02) + (i & 0x01));
}
/* setup 4 colors for 1bpp object */
- colortable_entry_set_value(machine.colortable, 48+0*2+0, 0);
- colortable_entry_set_value(machine.colortable, 48+0*2+1, 25); /* testtape red from 4th palette section? */
- colortable_entry_set_value(machine.colortable, 48+1*2+0, 0);
- colortable_entry_set_value(machine.colortable, 48+1*2+1, 28); /* testtape blue from 4th palette section? */
- colortable_entry_set_value(machine.colortable, 48+2*2+0, 0);
- colortable_entry_set_value(machine.colortable, 48+2*2+1, 26); /* testtape green from 4th palette section? */
- colortable_entry_set_value(machine.colortable, 48+3*2+0, 0);
- colortable_entry_set_value(machine.colortable, 48+3*2+1, 23); /* ???? */
+ colortable_entry_set_value(machine().colortable, 48+0*2+0, 0);
+ colortable_entry_set_value(machine().colortable, 48+0*2+1, 25); /* testtape red from 4th palette section? */
+ colortable_entry_set_value(machine().colortable, 48+1*2+0, 0);
+ colortable_entry_set_value(machine().colortable, 48+1*2+1, 28); /* testtape blue from 4th palette section? */
+ colortable_entry_set_value(machine().colortable, 48+2*2+0, 0);
+ colortable_entry_set_value(machine().colortable, 48+2*2+1, 26); /* testtape green from 4th palette section? */
+ colortable_entry_set_value(machine().colortable, 48+3*2+0, 0);
+ colortable_entry_set_value(machine().colortable, 48+3*2+1, 23); /* ???? */
}
@@ -774,8 +774,6 @@ static MACHINE_CONFIG_START( decocass, decocass_state )
MCFG_QUANTUM_TIME(attotime::from_hz(4200)) /* interleave CPUs */
- MCFG_MACHINE_START(decocass)
- MCFG_MACHINE_RESET(decocass)
MCFG_DECOCASS_TAPE_ADD("cassette")
@@ -787,8 +785,6 @@ static MACHINE_CONFIG_START( decocass, decocass_state )
MCFG_GFXDECODE(decocass)
MCFG_PALETTE_LENGTH(32+2*8+2*4)
- MCFG_PALETTE_INIT(decocass)
- MCFG_VIDEO_START(decocass)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -804,228 +800,228 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ctsttape, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(ctsttape)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,ctsttape)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cprogolfj, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cprogolfj)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cprogolfj)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cdsteljn, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cdsteljn)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cdsteljn)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cfishing, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cfishing)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cfishing)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( chwy, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(chwy)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,chwy)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cterrani, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cterrani)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cterrani)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( castfant, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(castfant)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,castfant)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( csuperas, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(csuperas)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,csuperas)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( clocknch, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(clocknch)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,clocknch)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cprogolf, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cprogolf)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cprogolf)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cluckypo, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cluckypo)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cluckypo)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ctisland, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(ctisland)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,ctisland)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cexplore, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cexplore)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cexplore)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cdiscon1, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cdiscon1)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cdiscon1)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ctornado, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(ctornado)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,ctornado)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cmissnx, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cmissnx)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cmissnx)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cptennis, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cptennis)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cptennis)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cbtime, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cbtime)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cbtime)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cburnrub, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cburnrub)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cburnrub)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cgraplop, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cgraplop)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cgraplop)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cgraplop2, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cgraplop2)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cgraplop2)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( clapapa, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(clapapa)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,clapapa)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cskater, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cskater)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cskater)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cprobowl, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cprobowl)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cprobowl)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cnightst, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cnightst)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cnightst)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cpsoccer, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cpsoccer)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cpsoccer)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( csdtenis, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(csdtenis)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,csdtenis)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( czeroize, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(czeroize)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,czeroize)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cppicf, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cppicf)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cppicf)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cfghtice, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cfghtice)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cfghtice)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( type4, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(type4)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,type4)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cbdash, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cbdash)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cbdash)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cflyball, decocass )
/* basic machine hardware */
- MCFG_MACHINE_RESET(cflyball)
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_state,cflyball)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/deniam.c b/src/mame/drivers/deniam.c
index c7e44be1c44..fde6aaf42be 100644
--- a/src/mame/drivers/deniam.c
+++ b/src/mame/drivers/deniam.c
@@ -238,34 +238,33 @@ static const ym3812_interface ym3812_config =
-static MACHINE_START( deniam )
+void deniam_state::machine_start()
{
- deniam_state *state = machine.driver_data<deniam_state>();
-
- state->m_audio_cpu = machine.device("audiocpu");
-
- state->save_item(NAME(state->m_display_enable));
- state->save_item(NAME(state->m_coinctrl));
-
- state->save_item(NAME(state->m_bg_scrollx_offs));
- state->save_item(NAME(state->m_bg_scrolly_offs));
- state->save_item(NAME(state->m_fg_scrollx_offs));
- state->save_item(NAME(state->m_fg_scrolly_offs));
- state->save_item(NAME(state->m_bg_scrollx_reg));
- state->save_item(NAME(state->m_bg_scrolly_reg));
- state->save_item(NAME(state->m_fg_scrollx_reg));
- state->save_item(NAME(state->m_fg_scrolly_reg));
- state->save_item(NAME(state->m_bg_page_reg));
- state->save_item(NAME(state->m_fg_page_reg));
- state->save_item(NAME(state->m_bg_page));
- state->save_item(NAME(state->m_fg_page));
+
+ m_audio_cpu = machine().device("audiocpu");
+
+ save_item(NAME(m_display_enable));
+ save_item(NAME(m_coinctrl));
+
+ save_item(NAME(m_bg_scrollx_offs));
+ save_item(NAME(m_bg_scrolly_offs));
+ save_item(NAME(m_fg_scrollx_offs));
+ save_item(NAME(m_fg_scrolly_offs));
+ save_item(NAME(m_bg_scrollx_reg));
+ save_item(NAME(m_bg_scrolly_reg));
+ save_item(NAME(m_fg_scrollx_reg));
+ save_item(NAME(m_fg_scrolly_reg));
+ save_item(NAME(m_bg_page_reg));
+ save_item(NAME(m_fg_page_reg));
+ save_item(NAME(m_bg_page));
+ save_item(NAME(m_fg_page));
}
-static MACHINE_RESET( deniam )
+void deniam_state::machine_reset()
{
/* logicpr2 does not reset the bank base on startup */
- machine.device<okim6295_device>("oki")->set_bank_base(0x00000);
+ machine().device<okim6295_device>("oki")->set_bank_base(0x00000);
}
static MACHINE_CONFIG_START( deniam16b, deniam_state )
@@ -279,8 +278,6 @@ static MACHINE_CONFIG_START( deniam16b, deniam_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_MACHINE_START(deniam)
- MCFG_MACHINE_RESET(deniam)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -294,7 +291,6 @@ static MACHINE_CONFIG_START( deniam16b, deniam_state )
MCFG_GFXDECODE(deniam)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(deniam)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -314,8 +310,6 @@ static MACHINE_CONFIG_START( deniam16c, deniam_state )
MCFG_CPU_PROGRAM_MAP(deniam16c_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_assert)
- MCFG_MACHINE_START(deniam)
- MCFG_MACHINE_RESET(deniam)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -329,7 +323,6 @@ static MACHINE_CONFIG_START( deniam16c, deniam_state )
MCFG_GFXDECODE(deniam)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(deniam)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/deshoros.c b/src/mame/drivers/deshoros.c
index f4f89d54df9..08d0b8e7772 100644
--- a/src/mame/drivers/deshoros.c
+++ b/src/mame/drivers/deshoros.c
@@ -58,18 +58,18 @@ protected:
// driver_device overrides
virtual void machine_start();
virtual void machine_reset();
+ virtual void video_start();
};
/*Temporary,to show something on screen...*/
-static VIDEO_START( destiny )
+void destiny_state::video_start()
{
- destiny_state *state = machine.driver_data<destiny_state>();
UINT8 i;
for(i=0;i<20;i++)
- state->m_led_array[i] = 0x20;
- state->m_led_array[20] = 0;
+ m_led_array[i] = 0x20;
+ m_led_array[20] = 0;
}
static SCREEN_UPDATE_IND16( destiny )
@@ -271,7 +271,6 @@ static MACHINE_CONFIG_START( destiny, destiny_state )
MCFG_SCREEN_UPDATE_STATIC(destiny)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(destiny)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/destroyr.c b/src/mame/drivers/destroyr.c
index 00b9f0009b1..c1145352c8f 100644
--- a/src/mame/drivers/destroyr.c
+++ b/src/mame/drivers/destroyr.c
@@ -48,6 +48,9 @@ public:
DECLARE_WRITE8_MEMBER(destroyr_output_w);
DECLARE_READ8_MEMBER(destroyr_input_r);
DECLARE_READ8_MEMBER(destroyr_scanline_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -151,21 +154,20 @@ static TIMER_CALLBACK( destroyr_frame_callback )
}
-static MACHINE_RESET( destroyr )
+void destroyr_state::machine_reset()
{
- destroyr_state *state = machine.driver_data<destroyr_state>();
-
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(0), FUNC(destroyr_frame_callback));
- state->m_cursor = 0;
- state->m_wavemod = 0;
- state->m_potmask[0] = 0;
- state->m_potmask[1] = 0;
- state->m_potsense[0] = 0;
- state->m_potsense[1] = 0;
- state->m_attract = 0;
- state->m_motor_speed = 0;
- state->m_noise = 0;
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(destroyr_frame_callback));
+
+ m_cursor = 0;
+ m_wavemod = 0;
+ m_potmask[0] = 0;
+ m_potmask[1] = 0;
+ m_potsense[0] = 0;
+ m_potsense[1] = 0;
+ m_attract = 0;
+ m_motor_speed = 0;
+ m_noise = 0;
}
@@ -418,32 +420,31 @@ static GFXDECODE_START( destroyr )
GFXDECODE_END
-static PALETTE_INIT( destroyr )
+void destroyr_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0x00, 0x00, 0x00)); /* major objects */
- palette_set_color(machine, 1, MAKE_RGB(0x50, 0x50, 0x50));
- palette_set_color(machine, 2, MAKE_RGB(0xAF, 0xAF, 0xAF));
- palette_set_color(machine, 3, MAKE_RGB(0xFF ,0xFF, 0xFF));
- palette_set_color(machine, 4, MAKE_RGB(0x00, 0x00, 0x00)); /* alpha numerics, waves, minor objects */
- palette_set_color(machine, 5, MAKE_RGB(0xFF, 0xFF, 0xFF));
- palette_set_color(machine, 6, MAKE_RGB(0x00, 0x00, 0x00)); /* cursor */
- palette_set_color(machine, 7, MAKE_RGB(0x78, 0x78, 0x78));
+ palette_set_color(machine(), 0, MAKE_RGB(0x00, 0x00, 0x00)); /* major objects */
+ palette_set_color(machine(), 1, MAKE_RGB(0x50, 0x50, 0x50));
+ palette_set_color(machine(), 2, MAKE_RGB(0xAF, 0xAF, 0xAF));
+ palette_set_color(machine(), 3, MAKE_RGB(0xFF ,0xFF, 0xFF));
+ palette_set_color(machine(), 4, MAKE_RGB(0x00, 0x00, 0x00)); /* alpha numerics, waves, minor objects */
+ palette_set_color(machine(), 5, MAKE_RGB(0xFF, 0xFF, 0xFF));
+ palette_set_color(machine(), 6, MAKE_RGB(0x00, 0x00, 0x00)); /* cursor */
+ palette_set_color(machine(), 7, MAKE_RGB(0x78, 0x78, 0x78));
}
-static MACHINE_START( destroyr )
+void destroyr_state::machine_start()
{
- destroyr_state *state = machine.driver_data<destroyr_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_cursor));
- state->save_item(NAME(state->m_wavemod));
- state->save_item(NAME(state->m_attract));
- state->save_item(NAME(state->m_motor_speed));
- state->save_item(NAME(state->m_noise));
- state->save_item(NAME(state->m_potmask));
- state->save_item(NAME(state->m_potsense));
+ save_item(NAME(m_cursor));
+ save_item(NAME(m_wavemod));
+ save_item(NAME(m_attract));
+ save_item(NAME(m_motor_speed));
+ save_item(NAME(m_noise));
+ save_item(NAME(m_potmask));
+ save_item(NAME(m_potsense));
}
static MACHINE_CONFIG_START( destroyr, destroyr_state )
@@ -453,8 +454,6 @@ static MACHINE_CONFIG_START( destroyr, destroyr_state )
MCFG_CPU_PROGRAM_MAP(destroyr_map)
MCFG_CPU_PERIODIC_INT(irq0_line_assert, 4*60)
- MCFG_MACHINE_START(destroyr)
- MCFG_MACHINE_RESET(destroyr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -465,7 +464,6 @@ static MACHINE_CONFIG_START( destroyr, destroyr_state )
MCFG_GFXDECODE(destroyr)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(destroyr)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dfruit.c b/src/mame/drivers/dfruit.c
index ca7d2925414..d79b507ab03 100644
--- a/src/mame/drivers/dfruit.c
+++ b/src/mame/drivers/dfruit.c
@@ -389,8 +389,8 @@ static MACHINE_CONFIG_START( dfruit, dfruit_state )
MCFG_CPU_PROGRAM_MAP(dfruit_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", dfruit_irq_scanline, "screen", 0, 1)
- //MCFG_MACHINE_START(4enraya)
- //MCFG_MACHINE_RESET(4enraya)
+ //MCFG_MACHINE_START_OVERRIDE(dfruit_state,4enraya)
+ //MCFG_MACHINE_RESET_OVERRIDE(dfruit_state,4enraya)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/dgpix.c b/src/mame/drivers/dgpix.c
index 2ec1b3d341e..e818b66af2a 100644
--- a/src/mame/drivers/dgpix.c
+++ b/src/mame/drivers/dgpix.c
@@ -75,6 +75,8 @@ public:
DECLARE_DRIVER_INIT(fmaniac3);
DECLARE_DRIVER_INIT(xfiles);
DECLARE_DRIVER_INIT(kdynastg);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -284,10 +286,9 @@ static INPUT_PORTS_START( dgpix )
PORT_BIT( 0xff000000, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
-static VIDEO_START( dgpix )
+void dgpix_state::video_start()
{
- dgpix_state *state = machine.driver_data<dgpix_state>();
- state->m_vram = auto_alloc_array(machine, UINT32, 0x40000*2/4);
+ m_vram = auto_alloc_array(machine(), UINT32, 0x40000*2/4);
}
static SCREEN_UPDATE_IND16( dgpix )
@@ -314,13 +315,12 @@ static SCREEN_UPDATE_IND16( dgpix )
return 0;
}
-static MACHINE_RESET( dgpix )
+void dgpix_state::machine_reset()
{
- dgpix_state *state = machine.driver_data<dgpix_state>();
- state->m_vbuffer = 0;
- state->m_flash_cmd = 0;
- state->m_first_offset = -1;
- state->m_old_vbuf = 3;
+ m_vbuffer = 0;
+ m_flash_cmd = 0;
+ m_first_offset = -1;
+ m_old_vbuf = 3;
}
@@ -334,7 +334,6 @@ static MACHINE_CONFIG_START( dgpix, dgpix_state )
running at 16.9MHz
*/
- MCFG_MACHINE_RESET(dgpix)
MCFG_NVRAM_HANDLER(flashroms)
/* video hardware */
@@ -348,7 +347,6 @@ static MACHINE_CONFIG_START( dgpix, dgpix_state )
MCFG_PALETTE_INIT(BBBBB_GGGGG_RRRRR)
MCFG_PALETTE_LENGTH(32768)
- MCFG_VIDEO_START(dgpix)
/* sound hardware */
// KS0164 sound chip
diff --git a/src/mame/drivers/dietgo.c b/src/mame/drivers/dietgo.c
index 844eaec380c..5ad2461d581 100644
--- a/src/mame/drivers/dietgo.c
+++ b/src/mame/drivers/dietgo.c
@@ -195,13 +195,12 @@ static const deco16ic_interface dietgo_deco16ic_tilegen1_intf =
};
-static MACHINE_START( dietgo )
+void dietgo_state::machine_start()
{
- dietgo_state *state = machine.driver_data<dietgo_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_deco_tilegen1 = machine.device("tilegen1");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_deco_tilegen1 = machine().device("tilegen1");
}
static MACHINE_CONFIG_START( dietgo, dietgo_state )
@@ -214,7 +213,6 @@ static MACHINE_CONFIG_START( dietgo, dietgo_state )
MCFG_CPU_ADD("audiocpu", H6280, XTAL_32_22MHz/4/3) /* Custom chip 45; XIN is 32.220MHZ/4, verified on pcb */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(dietgo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/discoboy.c b/src/mame/drivers/discoboy.c
index 1e03a797f3e..dc87182ec5a 100644
--- a/src/mame/drivers/discoboy.c
+++ b/src/mame/drivers/discoboy.c
@@ -83,11 +83,14 @@ public:
DECLARE_WRITE8_MEMBER(yunsung8_adpcm_w);
DECLARE_WRITE8_MEMBER(yunsung8_sound_bankswitch_w);
DECLARE_DRIVER_INIT(discoboy);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( discoboy )
+void discoboy_state::video_start()
{
}
@@ -451,28 +454,26 @@ static GFXDECODE_START( discoboy )
GFXDECODE_ENTRY( "gfx2", 0, tiles8x8_layout2, 0x000, 128 )
GFXDECODE_END
-static MACHINE_START( discoboy )
+void discoboy_state::machine_start()
{
- discoboy_state *state = machine.driver_data<discoboy_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_ram_bank));
- state->save_item(NAME(state->m_port_00));
- state->save_item(NAME(state->m_gfxbank));
- state->save_item(NAME(state->m_adpcm));
- state->save_item(NAME(state->m_toggle));
+ save_item(NAME(m_ram_bank));
+ save_item(NAME(m_port_00));
+ save_item(NAME(m_gfxbank));
+ save_item(NAME(m_adpcm));
+ save_item(NAME(m_toggle));
}
-static MACHINE_RESET( discoboy )
+void discoboy_state::machine_reset()
{
- discoboy_state *state = machine.driver_data<discoboy_state>();
- state->m_ram_bank = 0;
- state->m_port_00 = 0;
- state->m_gfxbank = 0;
- state->m_adpcm = 0x80;
- state->m_toggle = 0;
+ m_ram_bank = 0;
+ m_port_00 = 0;
+ m_gfxbank = 0;
+ m_adpcm = 0x80;
+ m_toggle = 0;
}
static void yunsung8_adpcm_int( device_t *device )
@@ -503,8 +504,6 @@ static MACHINE_CONFIG_START( discoboy, discoboy_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,32*60)
- MCFG_MACHINE_START( discoboy )
- MCFG_MACHINE_RESET( discoboy )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -517,7 +516,6 @@ static MACHINE_CONFIG_START( discoboy, discoboy_state )
MCFG_GFXDECODE(discoboy)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(discoboy)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/diverboy.c b/src/mame/drivers/diverboy.c
index 89686986c7c..9f13f5b0365 100644
--- a/src/mame/drivers/diverboy.c
+++ b/src/mame/drivers/diverboy.c
@@ -68,10 +68,12 @@ public:
cpu_device *m_audiocpu;
DECLARE_WRITE16_MEMBER(soundcmd_w);
DECLARE_WRITE8_MEMBER(okibank_w);
+ virtual void machine_start();
+ virtual void video_start();
};
-static VIDEO_START(diverboy)
+void diverboy_state::video_start()
{
}
@@ -244,11 +246,10 @@ static GFXDECODE_START( diverboy )
GFXDECODE_END
-static MACHINE_START( diverboy )
+void diverboy_state::machine_start()
{
- diverboy_state *state = machine.driver_data<diverboy_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
}
static MACHINE_CONFIG_START( diverboy, diverboy_state )
@@ -260,7 +261,6 @@ static MACHINE_CONFIG_START( diverboy, diverboy_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(snd_map)
- MCFG_MACHINE_START(diverboy)
MCFG_GFXDECODE(diverboy)
@@ -273,7 +273,6 @@ static MACHINE_CONFIG_START( diverboy, diverboy_state )
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(diverboy)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/djboy.c b/src/mame/drivers/djboy.c
index 7114e340ae3..d953ab47ff9 100644
--- a/src/mame/drivers/djboy.c
+++ b/src/mame/drivers/djboy.c
@@ -519,54 +519,52 @@ static const kaneko_pandora_interface djboy_pandora_config =
};
-static MACHINE_START( djboy )
+void djboy_state::machine_start()
{
- djboy_state *state = machine.driver_data<djboy_state>();
- UINT8 *MAIN = state->memregion("maincpu")->base();
- UINT8 *CPU1 = state->memregion("cpu1")->base();
- UINT8 *CPU2 = state->memregion("cpu2")->base();
-
- state->membank("bank1")->configure_entries(0, 4, &MAIN[0x00000], 0x2000);
- state->membank("bank1")->configure_entries(4, 28, &MAIN[0x10000], 0x2000);
- state->membank("bank2")->configure_entries(0, 2, &CPU1[0x00000], 0x4000);
- state->membank("bank2")->configure_entries(2, 10, &CPU1[0x10000], 0x4000);
- state->membank("bank3")->configure_entries(0, 3, &CPU2[0x00000], 0x4000);
- state->membank("bank3")->configure_entries(3, 5, &CPU2[0x10000], 0x4000);
- state->membank("bank4")->configure_entry(0, &MAIN[0x10000]); /* unsure if/how this area is banked */
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_cpu1 = machine.device("cpu1");
- state->m_cpu2 = machine.device("cpu2");
- state->m_beast = machine.device("beast");
- state->m_pandora = machine.device("pandora");
-
- state->save_item(NAME(state->m_videoreg));
- state->save_item(NAME(state->m_scrollx));
- state->save_item(NAME(state->m_scrolly));
+ UINT8 *MAIN = memregion("maincpu")->base();
+ UINT8 *CPU1 = memregion("cpu1")->base();
+ UINT8 *CPU2 = memregion("cpu2")->base();
+
+ membank("bank1")->configure_entries(0, 4, &MAIN[0x00000], 0x2000);
+ membank("bank1")->configure_entries(4, 28, &MAIN[0x10000], 0x2000);
+ membank("bank2")->configure_entries(0, 2, &CPU1[0x00000], 0x4000);
+ membank("bank2")->configure_entries(2, 10, &CPU1[0x10000], 0x4000);
+ membank("bank3")->configure_entries(0, 3, &CPU2[0x00000], 0x4000);
+ membank("bank3")->configure_entries(3, 5, &CPU2[0x10000], 0x4000);
+ membank("bank4")->configure_entry(0, &MAIN[0x10000]); /* unsure if/how this area is banked */
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_cpu1 = machine().device("cpu1");
+ m_cpu2 = machine().device("cpu2");
+ m_beast = machine().device("beast");
+ m_pandora = machine().device("pandora");
+
+ save_item(NAME(m_videoreg));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_scrolly));
/* Kaneko BEAST */
- state->save_item(NAME(state->m_data_to_beast));
- state->save_item(NAME(state->m_data_to_z80));
- state->save_item(NAME(state->m_beast_to_z80_full));
- state->save_item(NAME(state->m_z80_to_beast_full));
- state->save_item(NAME(state->m_beast_int0_l));
- state->save_item(NAME(state->m_beast_p0));
- state->save_item(NAME(state->m_beast_p1));
- state->save_item(NAME(state->m_beast_p2));
- state->save_item(NAME(state->m_beast_p3));
+ save_item(NAME(m_data_to_beast));
+ save_item(NAME(m_data_to_z80));
+ save_item(NAME(m_beast_to_z80_full));
+ save_item(NAME(m_z80_to_beast_full));
+ save_item(NAME(m_beast_int0_l));
+ save_item(NAME(m_beast_p0));
+ save_item(NAME(m_beast_p1));
+ save_item(NAME(m_beast_p2));
+ save_item(NAME(m_beast_p3));
}
-static MACHINE_RESET( djboy )
+void djboy_state::machine_reset()
{
- djboy_state *state = machine.driver_data<djboy_state>();
- state->m_videoreg = 0;
- state->m_scrollx = 0;
- state->m_scrolly = 0;
+ m_videoreg = 0;
+ m_scrollx = 0;
+ m_scrolly = 0;
- state->m_beast_int0_l = 1;
- state->m_beast_to_z80_full = 0;
- state->m_z80_to_beast_full = 0;
+ m_beast_int0_l = 1;
+ m_beast_to_z80_full = 0;
+ m_z80_to_beast_full = 0;
}
static MACHINE_CONFIG_START( djboy, djboy_state )
@@ -591,8 +589,6 @@ static MACHINE_CONFIG_START( djboy, djboy_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(djboy)
- MCFG_MACHINE_RESET(djboy)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(57.5)
@@ -607,7 +603,6 @@ static MACHINE_CONFIG_START( djboy, djboy_state )
MCFG_KANEKO_PANDORA_ADD("pandora", djboy_pandora_config)
- MCFG_VIDEO_START(djboy)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/djmain.c b/src/mame/drivers/djmain.c
index 8dd9f6922fa..e43ee07fa80 100644
--- a/src/mame/drivers/djmain.c
+++ b/src/mame/drivers/djmain.c
@@ -1396,39 +1396,37 @@ static const k054539_interface k054539_config =
*
*************************************/
-static MACHINE_START( djmain )
+void djmain_state::machine_start()
{
- djmain_state *state = machine.driver_data<djmain_state>();
- device_t *ide = machine.device("ide");
+ device_t *ide = machine().device("ide");
- if (ide != NULL && state->m_ide_master_password != NULL)
- ide_set_master_password(ide, state->m_ide_master_password);
- if (ide != NULL && state->m_ide_user_password != NULL)
- ide_set_user_password(ide, state->m_ide_user_password);
+ if (ide != NULL && m_ide_master_password != NULL)
+ ide_set_master_password(ide, m_ide_master_password);
+ if (ide != NULL && m_ide_user_password != NULL)
+ ide_set_user_password(ide, m_ide_user_password);
- state_save_register_global(machine, state->m_sndram_bank);
- state_save_register_global(machine, state->m_pending_vb_int);
- state_save_register_global(machine, state->m_v_ctrl);
- state_save_register_global_array(machine, state->m_obj_regs);
+ state_save_register_global(machine(), m_sndram_bank);
+ state_save_register_global(machine(), m_pending_vb_int);
+ state_save_register_global(machine(), m_v_ctrl);
+ state_save_register_global_array(machine(), m_obj_regs);
- machine.save().register_postload(save_prepost_delegate(FUNC(sndram_set_bank), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(sndram_set_bank), &machine()));
}
-static MACHINE_RESET( djmain )
+void djmain_state::machine_reset()
{
- djmain_state *state = machine.driver_data<djmain_state>();
/* reset sound ram bank */
- state->m_sndram_bank = 0;
- sndram_set_bank(machine);
+ m_sndram_bank = 0;
+ sndram_set_bank(machine());
/* reset the IDE controller */
- machine.device("ide")->reset();
+ machine().device("ide")->reset();
/* reset LEDs */
- set_led_status(machine, 0, 1);
- set_led_status(machine, 1, 1);
- set_led_status(machine, 2, 1);
+ set_led_status(machine(), 0, 1);
+ set_led_status(machine(), 1, 1);
+ set_led_status(machine(), 2, 1);
}
@@ -1464,8 +1462,6 @@ static MACHINE_CONFIG_START( djmain, djmain_state )
MCFG_CPU_PROGRAM_MAP(memory_map)
MCFG_CPU_VBLANK_INT("screen", vb_interrupt)
- MCFG_MACHINE_START(djmain)
- MCFG_MACHINE_RESET(djmain)
MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true)
@@ -1479,7 +1475,6 @@ static MACHINE_CONFIG_START( djmain, djmain_state )
MCFG_PALETTE_LENGTH(0x4440/4)
MCFG_GFXDECODE(djmain)
- MCFG_VIDEO_START(djmain)
MCFG_K056832_ADD("k056832", djmain_k056832_intf)
MCFG_K055555_ADD("k055555")
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index 6f3838cb354..949de03dbdd 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -410,104 +410,97 @@ static void dkong_init_device_driver_data( running_machine &machine )
state->m_dev_vp2 = machine.device("virtual_p2");
}
-static MACHINE_START( dkong2b )
+MACHINE_START_MEMBER(dkong_state,dkong2b)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- dkong_init_device_driver_data(machine);
- state->m_hardware_type = HARDWARE_TKG04;
+ dkong_init_device_driver_data(machine());
+ m_hardware_type = HARDWARE_TKG04;
- state->save_item(NAME(state->m_decrypt_counter));
- state->save_item(NAME(state->m_dma_latch));
+ save_item(NAME(m_decrypt_counter));
+ save_item(NAME(m_dma_latch));
}
-static MACHINE_START( s2650 )
+MACHINE_START_MEMBER(dkong_state,s2650)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- UINT8 *p = state->memregion("user1")->base();
- const char *game_name = machine.system().name;
+ UINT8 *p = memregion("user1")->base();
+ const char *game_name = machine().system().name;
int i;
- MACHINE_START_CALL(dkong2b);
+ MACHINE_START_CALL_MEMBER(dkong2b);
for (i = 0; i < 0x200; i++)
- state->m_rev_map[i] = -1;
+ m_rev_map[i] = -1;
for (i = 0; i < 0x200; i++)
- state->m_rev_map[p[0x0000 + i]] = i;
-
- state->m_hunchloopback = 0;
-
- state->save_item(NAME(state->m_hunchloopback));
- state->save_item(NAME(state->m_prot_cnt));
- state->save_item(NAME(state->m_main_fo));
-
- if (strcmp(game_name,"herbiedk") == 0) state->m_protect_type = DK2650_HERBIEDK;
- else if (strcmp(game_name,"hunchbkd") == 0) state->m_protect_type = DK2650_HUNCHBKD;
- else if (strcmp(game_name,"sbdk") == 0) state->m_protect_type = DK2650_HUNCHBKD;
- else if (strcmp(game_name,"herodk") == 0) state->m_protect_type = DK2650_HUNCHBKD;
- else if (strcmp(game_name,"herodku") == 0) state->m_protect_type = DK2650_HUNCHBKD;
- else if (strcmp(game_name,"8ballact") == 0) state->m_protect_type = DK2650_EIGHTACT;
- else if (strcmp(game_name,"8ballact2") == 0) state->m_protect_type = DK2650_EIGHTACT;
- else if (strcmp(game_name,"shootgal") == 0) state->m_protect_type = DK2650_SHOOTGAL;
- else if (strcmp(game_name,"spclforc") == 0) state->m_protect_type = DK2650_SPCLFORC;
- else if (strcmp(game_name,"spcfrcii") == 0) state->m_protect_type = DK2650_SPCLFORC;
+ m_rev_map[p[0x0000 + i]] = i;
+
+ m_hunchloopback = 0;
+
+ save_item(NAME(m_hunchloopback));
+ save_item(NAME(m_prot_cnt));
+ save_item(NAME(m_main_fo));
+
+ if (strcmp(game_name,"herbiedk") == 0) m_protect_type = DK2650_HERBIEDK;
+ else if (strcmp(game_name,"hunchbkd") == 0) m_protect_type = DK2650_HUNCHBKD;
+ else if (strcmp(game_name,"sbdk") == 0) m_protect_type = DK2650_HUNCHBKD;
+ else if (strcmp(game_name,"herodk") == 0) m_protect_type = DK2650_HUNCHBKD;
+ else if (strcmp(game_name,"herodku") == 0) m_protect_type = DK2650_HUNCHBKD;
+ else if (strcmp(game_name,"8ballact") == 0) m_protect_type = DK2650_EIGHTACT;
+ else if (strcmp(game_name,"8ballact2") == 0) m_protect_type = DK2650_EIGHTACT;
+ else if (strcmp(game_name,"shootgal") == 0) m_protect_type = DK2650_SHOOTGAL;
+ else if (strcmp(game_name,"spclforc") == 0) m_protect_type = DK2650_SPCLFORC;
+ else if (strcmp(game_name,"spcfrcii") == 0) m_protect_type = DK2650_SPCLFORC;
else
fatalerror("Unknown game <%s> in S2650 start.\n", game_name);
}
-static MACHINE_START( radarscp )
+MACHINE_START_MEMBER(dkong_state,radarscp)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- MACHINE_START_CALL(dkong2b);
- state->m_hardware_type = HARDWARE_TRS02;
+ MACHINE_START_CALL_MEMBER(dkong2b);
+ m_hardware_type = HARDWARE_TRS02;
}
-static MACHINE_START( radarscp1 )
+MACHINE_START_MEMBER(dkong_state,radarscp1)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- MACHINE_START_CALL(dkong2b);
- state->m_hardware_type = HARDWARE_TRS01;
+ MACHINE_START_CALL_MEMBER(dkong2b);
+ m_hardware_type = HARDWARE_TRS01;
}
-static MACHINE_START( dkong3 )
+MACHINE_START_MEMBER(dkong_state,dkong3)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- dkong_init_device_driver_data(machine);
- state->m_hardware_type = HARDWARE_TKG04;
+ dkong_init_device_driver_data(machine());
+ m_hardware_type = HARDWARE_TKG04;
}
-static MACHINE_RESET( dkong )
+MACHINE_RESET_MEMBER(dkong_state,dkong)
{
/* nothing */
}
-static MACHINE_RESET( strtheat )
+MACHINE_RESET_MEMBER(dkong_state,strtheat)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- MACHINE_RESET_CALL(dkong);
+ MACHINE_RESET_CALL_MEMBER(dkong);
/* The initial state of the counter is 0x08 */
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
- state->m_decrypt_counter = 0x08;
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ m_decrypt_counter = 0x08;
+ membank("bank1")->set_entry(0);
}
-static MACHINE_RESET( drakton )
+MACHINE_RESET_MEMBER(dkong_state,drakton)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- MACHINE_RESET_CALL(dkong);
+ MACHINE_RESET_CALL_MEMBER(dkong);
/* The initial state of the counter is 0x09 */
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
- state->m_decrypt_counter = 0x09;
- state->membank("bank1")->set_entry(1);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ m_decrypt_counter = 0x09;
+ membank("bank1")->set_entry(1);
}
@@ -1660,8 +1653,8 @@ static MACHINE_CONFIG_START( dkong_base, dkong_state )
MCFG_CPU_PROGRAM_MAP(dkong_map)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_START(dkong2b)
- MCFG_MACHINE_RESET(dkong)
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,dkong2b)
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,dkong)
MCFG_I8257_ADD("dma8257", CLOCK_1H, dk_dma)
@@ -1673,16 +1666,16 @@ static MACHINE_CONFIG_START( dkong_base, dkong_state )
MCFG_GFXDECODE(dkong)
MCFG_PALETTE_LENGTH(DK2B_PALETTE_LENGTH)
- MCFG_PALETTE_INIT(dkong2b)
- MCFG_VIDEO_START(dkong)
+ MCFG_PALETTE_INIT_OVERRIDE(dkong_state,dkong2b)
+ MCFG_VIDEO_START_OVERRIDE(dkong_state,dkong)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( radarscp, dkong_base )
- MCFG_MACHINE_START(radarscp)
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,radarscp)
MCFG_PALETTE_LENGTH(RS_PALETTE_LENGTH)
- MCFG_PALETTE_INIT(radarscp)
+ MCFG_PALETTE_INIT_OVERRIDE(dkong_state,radarscp)
/* sound hardware */
MCFG_FRAGMENT_ADD(radarscp_audio)
@@ -1691,9 +1684,9 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( radarscp1, dkong_base )
- MCFG_MACHINE_START(radarscp1)
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,radarscp1)
MCFG_PALETTE_LENGTH(RS_PALETTE_LENGTH)
- MCFG_PALETTE_INIT(radarscp1)
+ MCFG_PALETTE_INIT_OVERRIDE(dkong_state,radarscp1)
/* sound hardware */
MCFG_FRAGMENT_ADD(radarscp1_audio)
@@ -1703,7 +1696,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( dkong2b, dkong_base )
- MCFG_MACHINE_START(dkong2b)
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,dkong2b)
MCFG_PALETTE_LENGTH(DK2B_PALETTE_LENGTH)
/* sound hardware */
@@ -1724,7 +1717,7 @@ static MACHINE_CONFIG_START( dkong3, dkong_state )
MCFG_CPU_IO_MAP(dkong3_io_map)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_START(dkong3)
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,dkong3)
MCFG_Z80DMA_ADD("z80dma", CLOCK_1H, dk3_dma)
@@ -1736,8 +1729,8 @@ static MACHINE_CONFIG_START( dkong3, dkong_state )
MCFG_GFXDECODE(dkong)
MCFG_PALETTE_LENGTH(DK3_PALETTE_LENGTH)
- MCFG_PALETTE_INIT(dkong3)
- MCFG_VIDEO_START(dkong)
+ MCFG_PALETTE_INIT_OVERRIDE(dkong_state,dkong3)
+ MCFG_VIDEO_START_OVERRIDE(dkong_state,dkong)
/* sound hardware */
MCFG_FRAGMENT_ADD(dkong3_audio)
@@ -1757,7 +1750,7 @@ static MACHINE_CONFIG_DERIVED( pestplce, dkongjr )
MCFG_GFXDECODE(pestplce)
MCFG_PALETTE_LENGTH(DK2B_PALETTE_LENGTH)
- MCFG_PALETTE_INIT(dkong2b) /* wrong! */
+ MCFG_PALETTE_INIT_OVERRIDE(dkong_state,dkong2b) /* wrong! */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(pestplce)
@@ -1766,7 +1759,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( dkong3b, dkongjr )
/* basic machine hardware */
- MCFG_PALETTE_INIT(dkong3)
+ MCFG_PALETTE_INIT_OVERRIDE(dkong_state,dkong3)
MACHINE_CONFIG_END
/*************************************
@@ -1786,7 +1779,7 @@ static MACHINE_CONFIG_DERIVED( s2650, dkong2b )
MCFG_DEVICE_MODIFY("dma8257")
MCFG_DEVICE_CONFIG(hb_dma)
- MCFG_MACHINE_START(s2650)
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,s2650)
MACHINE_CONFIG_END
@@ -1814,7 +1807,7 @@ static MACHINE_CONFIG_DERIVED( strtheat, dkong2b )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(epos_readport)
- MCFG_MACHINE_RESET(strtheat)
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,strtheat)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( drakton, dkong2b )
@@ -1824,7 +1817,7 @@ static MACHINE_CONFIG_DERIVED( drakton, dkong2b )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(epos_readport)
- MCFG_MACHINE_RESET(drakton)
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,drakton)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( drktnjr, dkongjr )
@@ -1834,7 +1827,7 @@ static MACHINE_CONFIG_DERIVED( drktnjr, dkongjr )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(epos_readport)
- MCFG_MACHINE_RESET(drakton)
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,drakton)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c
index bce5a08f913..f9a0200d99f 100644
--- a/src/mame/drivers/dlair.c
+++ b/src/mame/drivers/dlair.c
@@ -110,6 +110,9 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(laserdisc_command_r);
DECLARE_DRIVER_INIT(fixed);
DECLARE_DRIVER_INIT(variable);
+ DECLARE_MACHINE_START(dlair);
+ DECLARE_MACHINE_RESET(dlair);
+ DECLARE_PALETTE_INIT(dleuro);
};
@@ -204,14 +207,14 @@ static const z80_daisy_config dleuro_daisy_chain[] =
*
*************************************/
-static PALETTE_INIT( dleuro )
+PALETTE_INIT_MEMBER(dlair_state,dleuro)
{
int i;
for (i = 0; i < 8; i++)
{
- palette_set_color(machine, 2 * i + 0, MAKE_RGB(0, 0, 0));
- palette_set_color_rgb(machine, 2 * i + 1, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
+ palette_set_color(machine(), 2 * i + 0, MAKE_RGB(0, 0, 0));
+ palette_set_color_rgb(machine(), 2 * i + 1, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
}
}
@@ -248,21 +251,20 @@ static SCREEN_UPDATE_IND16( dleuro )
*
*************************************/
-static MACHINE_START( dlair )
+MACHINE_START_MEMBER(dlair_state,dlair)
{
}
-static MACHINE_RESET( dlair )
+MACHINE_RESET_MEMBER(dlair_state,dlair)
{
#if 0
- dlair_state *state = machine.driver_data<dlair_state>();
/* determine the laserdisc player from the DIP switches */
- if (state->m_laserdisc_type == LASERDISC_TYPE_VARIABLE)
+ if (m_laserdisc_type == LASERDISC_TYPE_VARIABLE)
{
- int newtype = (state->ioport("DSW2")->read() & 0x08) ? LASERDISC_TYPE_PIONEER_LDV1000 : LASERDISC_TYPE_PIONEER_PR7820;
- laserdisc_set_type(state->m_laserdisc, newtype);
+ int newtype = (ioport("DSW2")->read() & 0x08) ? LASERDISC_TYPE_PIONEER_LDV1000 : LASERDISC_TYPE_PIONEER_PR7820;
+ laserdisc_set_type(m_laserdisc, newtype);
}
#endif
}
@@ -724,8 +726,8 @@ static MACHINE_CONFIG_START( dlair_base, dlair_state )
MCFG_CPU_VBLANK_INT("screen", vblank_callback)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)MASTER_CLOCK_US/8/16/16/16/16)
- MCFG_MACHINE_START(dlair)
- MCFG_MACHINE_RESET(dlair)
+ MCFG_MACHINE_START_OVERRIDE(dlair_state,dlair)
+ MCFG_MACHINE_RESET_OVERRIDE(dlair_state,dlair)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -766,8 +768,8 @@ static MACHINE_CONFIG_START( dleuro, dlair_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(MASTER_CLOCK_EURO/(16*16*16*16*16*8)))
- MCFG_MACHINE_START(dlair)
- MCFG_MACHINE_RESET(dlair)
+ MCFG_MACHINE_START_OVERRIDE(dlair_state,dlair)
+ MCFG_MACHINE_RESET_OVERRIDE(dlair_state,dlair)
MCFG_LASERDISC_22VP932_ADD("ld_22vp932")
MCFG_LASERDISC_OVERLAY_STATIC(256, 256, dleuro)
@@ -778,7 +780,7 @@ static MACHINE_CONFIG_START( dleuro, dlair_state )
MCFG_GFXDECODE(dlair)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(dleuro)
+ MCFG_PALETTE_INIT_OVERRIDE(dlair_state,dleuro)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/dmndrby.c b/src/mame/drivers/dmndrby.c
index 55611e60392..e2a1b4a7c31 100644
--- a/src/mame/drivers/dmndrby.c
+++ b/src/mame/drivers/dmndrby.c
@@ -78,6 +78,8 @@ public:
DECLARE_READ8_MEMBER(input_r);
DECLARE_WRITE8_MEMBER(output_w);
TILE_GET_INFO_MEMBER(get_dmndrby_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -335,12 +337,11 @@ TILE_GET_INFO_MEMBER(dmndrby_state::get_dmndrby_tile_info)
}
-static VIDEO_START(dderby)
+void dmndrby_state::video_start()
{
- dmndrby_state *state = machine.driver_data<dmndrby_state>();
- state->m_racetrack_tilemap_rom = state->memregion("user1")->base();
- state->m_racetrack_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dmndrby_state::get_dmndrby_tile_info),state),TILEMAP_SCAN_ROWS,16,16, 16, 512);
- state->m_racetrack_tilemap->mark_all_dirty();
+ m_racetrack_tilemap_rom = memregion("user1")->base();
+ m_racetrack_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dmndrby_state::get_dmndrby_tile_info),this),TILEMAP_SCAN_ROWS,16,16, 16, 512);
+ m_racetrack_tilemap->mark_all_dirty();
}
@@ -442,9 +443,9 @@ wouldnt like to say its the most effective way though...
}
// copied from elsewhere. surely incorrect
-static PALETTE_INIT( dmnderby )
+void dmndrby_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -457,7 +458,7 @@ static PALETTE_INIT( dmnderby )
2, &resistances_b[0], bweights, 470, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -482,17 +483,17 @@ static PALETTE_INIT( dmnderby )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
- color_prom = machine.root_device().memregion("proms2")->base();
+ color_prom = machine().root_device().memregion("proms2")->base();
/* normal tiles use colors 0-15 */
for (i = 0x000; i < 0x300; i++)
{
UINT8 ctabentry = color_prom[i];
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -530,9 +531,7 @@ static MACHINE_CONFIG_START( dderby, dmndrby_state )
MCFG_GFXDECODE(dmndrby)
MCFG_PALETTE_LENGTH(0x300)
- MCFG_PALETTE_INIT(dmnderby)
- MCFG_VIDEO_START(dderby)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/docastle.c b/src/mame/drivers/docastle.c
index ac5d0b5b127..eda75ba4ad4 100644
--- a/src/mame/drivers/docastle.c
+++ b/src/mame/drivers/docastle.c
@@ -569,35 +569,33 @@ static const sn76496_config psg_intf =
/* Machine Drivers */
-static MACHINE_RESET( docastle )
+void docastle_state::machine_reset()
{
- docastle_state *state = machine.driver_data<docastle_state>();
int i;
for (i = 0; i < 9; i++)
{
- state->m_buffer0[i] = 0;
- state->m_buffer1[i] = 0;
+ m_buffer0[i] = 0;
+ m_buffer1[i] = 0;
}
- state->m_adpcm_pos = state->m_adpcm_idle = 0;
- state->m_adpcm_data = -1;
- state->m_adpcm_status = 0;
+ m_adpcm_pos = m_adpcm_idle = 0;
+ m_adpcm_data = -1;
+ m_adpcm_status = 0;
}
-static MACHINE_START( docastle )
+void docastle_state::machine_start()
{
- docastle_state *state = machine.driver_data<docastle_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_slave = machine.device<cpu_device>("slave");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_slave = machine().device<cpu_device>("slave");
- state->save_item(NAME(state->m_adpcm_pos));
- state->save_item(NAME(state->m_adpcm_data));
- state->save_item(NAME(state->m_adpcm_idle));
- state->save_item(NAME(state->m_adpcm_status));
- state->save_item(NAME(state->m_buffer0));
- state->save_item(NAME(state->m_buffer1));
+ save_item(NAME(m_adpcm_pos));
+ save_item(NAME(m_adpcm_data));
+ save_item(NAME(m_adpcm_idle));
+ save_item(NAME(m_adpcm_status));
+ save_item(NAME(m_buffer0));
+ save_item(NAME(m_buffer1));
}
static MACHINE_CONFIG_START( docastle, docastle_state )
@@ -627,11 +625,7 @@ static MACHINE_CONFIG_START( docastle, docastle_state )
MCFG_GFXDECODE(docastle)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(docastle)
- MCFG_VIDEO_START(docastle)
- MCFG_MACHINE_RESET( docastle )
- MCFG_MACHINE_START( docastle )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -664,7 +658,7 @@ static MACHINE_CONFIG_DERIVED( dorunrun, docastle )
MCFG_CPU_PROGRAM_MAP(dorunrun_map2)
/* video hardware */
- MCFG_VIDEO_START(dorunrun)
+ MCFG_VIDEO_START_OVERRIDE(docastle_state,dorunrun)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( idsoccer, docastle )
@@ -678,7 +672,7 @@ static MACHINE_CONFIG_DERIVED( idsoccer, docastle )
MCFG_CPU_PROGRAM_MAP(idsoccer_map2)
/* video hardware */
- MCFG_VIDEO_START(dorunrun)
+ MCFG_VIDEO_START_OVERRIDE(docastle_state,dorunrun)
/* sound hardware */
MCFG_SOUND_ADD("msm", MSM5205, XTAL_384kHz) /* Crystal verified on American Soccer board. */
diff --git a/src/mame/drivers/dogfgt.c b/src/mame/drivers/dogfgt.c
index fa89d825c56..8c07fe165e9 100644
--- a/src/mame/drivers/dogfgt.c
+++ b/src/mame/drivers/dogfgt.c
@@ -206,36 +206,34 @@ GFXDECODE_END
-static MACHINE_START( dogfgt )
+void dogfgt_state::machine_start()
{
- dogfgt_state *state = machine.driver_data<dogfgt_state>();
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_bm_plane));
- state->save_item(NAME(state->m_lastflip));
- state->save_item(NAME(state->m_pixcolor));
- state->save_item(NAME(state->m_lastpixcolor));
- state->save_item(NAME(state->m_soundlatch));
- state->save_item(NAME(state->m_last_snd_ctrl));
+ save_item(NAME(m_bm_plane));
+ save_item(NAME(m_lastflip));
+ save_item(NAME(m_pixcolor));
+ save_item(NAME(m_lastpixcolor));
+ save_item(NAME(m_soundlatch));
+ save_item(NAME(m_last_snd_ctrl));
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_scroll));
}
-static MACHINE_RESET( dogfgt )
+void dogfgt_state::machine_reset()
{
- dogfgt_state *state = machine.driver_data<dogfgt_state>();
int i;
- state->m_bm_plane = 0;
- state->m_lastflip = 0;
- state->m_pixcolor = 0;
- state->m_lastpixcolor = 0;
- state->m_soundlatch = 0;
- state->m_last_snd_ctrl = 0;
+ m_bm_plane = 0;
+ m_lastflip = 0;
+ m_pixcolor = 0;
+ m_lastpixcolor = 0;
+ m_soundlatch = 0;
+ m_last_snd_ctrl = 0;
for (i = 0; i < 3; i++)
- state->m_scroll[i] = 0;
+ m_scroll[i] = 0;
}
@@ -251,8 +249,6 @@ static MACHINE_CONFIG_START( dogfgt, dogfgt_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(dogfgt)
- MCFG_MACHINE_RESET(dogfgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -265,8 +261,6 @@ static MACHINE_CONFIG_START( dogfgt, dogfgt_state )
MCFG_GFXDECODE(dogfgt)
MCFG_PALETTE_LENGTH(16+64)
- MCFG_PALETTE_INIT(dogfgt)
- MCFG_VIDEO_START(dogfgt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/dominob.c b/src/mame/drivers/dominob.c
index fdd07d33dd6..f37940464cb 100644
--- a/src/mame/drivers/dominob.c
+++ b/src/mame/drivers/dominob.c
@@ -84,11 +84,12 @@ public:
//UINT8 m_paddle_value;
DECLARE_WRITE8_MEMBER(dominob_d008_w);
DECLARE_READ8_MEMBER(dominob_unk_port02_r);
+ virtual void video_start();
};
-static VIDEO_START( dominob )
+void dominob_state::video_start()
{
- machine.gfx[0]->set_granularity(8);
+ machine().gfx[0]->set_granularity(8);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -311,7 +312,6 @@ static MACHINE_CONFIG_START( dominob, dominob_state )
MCFG_GFXDECODE(dominob)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(dominob)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index 0ebca5c2ecc..7efa878a52c 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -91,9 +91,9 @@ WRITE8_MEMBER(dooyong_state::lastday_bankswitch_w)
if (data & 0xf8) popmessage("bankswitch %02x",data);
}
-static MACHINE_START( lastday )
+MACHINE_START_MEMBER(dooyong_state,lastday)
{
- machine.root_device().membank("bank1")->configure_entries(0, 8, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 8, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
WRITE8_MEMBER(dooyong_state::flip_screen_w)
@@ -101,12 +101,11 @@ WRITE8_MEMBER(dooyong_state::flip_screen_w)
flip_screen_set(data);
}
-static MACHINE_RESET( sound_ym2203 )
+MACHINE_RESET_MEMBER(dooyong_state,sound_ym2203)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
- state->m_interrupt_line_1=0;
- state->m_interrupt_line_2=0;
+ m_interrupt_line_1=0;
+ m_interrupt_line_2=0;
}
/***************************************************************************
@@ -871,8 +870,8 @@ static MACHINE_CONFIG_START( lastday, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(lastday_sound_map)
- MCFG_MACHINE_START(lastday)
- MCFG_MACHINE_RESET(sound_ym2203)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
+ MCFG_MACHINE_RESET_OVERRIDE(dooyong_state,sound_ym2203)
/* video hardware */
@@ -889,7 +888,7 @@ static MACHINE_CONFIG_START( lastday, dooyong_state )
MCFG_GFXDECODE(lastday)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(lastday)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_state,lastday)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -914,8 +913,8 @@ static MACHINE_CONFIG_START( gulfstrm, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(lastday_sound_map)
- MCFG_MACHINE_START(lastday)
- MCFG_MACHINE_RESET(sound_ym2203)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
+ MCFG_MACHINE_RESET_OVERRIDE(dooyong_state,sound_ym2203)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -931,7 +930,7 @@ static MACHINE_CONFIG_START( gulfstrm, dooyong_state )
MCFG_GFXDECODE(lastday)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(gulfstrm)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_state,gulfstrm)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2203 )
@@ -947,8 +946,8 @@ static MACHINE_CONFIG_START( pollux, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(pollux_sound_map)
- MCFG_MACHINE_START(lastday)
- MCFG_MACHINE_RESET(sound_ym2203)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
+ MCFG_MACHINE_RESET_OVERRIDE(dooyong_state,sound_ym2203)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -964,7 +963,7 @@ static MACHINE_CONFIG_START( pollux, dooyong_state )
MCFG_GFXDECODE(lastday)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(pollux)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_state,pollux)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2203 )
@@ -980,7 +979,7 @@ static MACHINE_CONFIG_START( bluehawk, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
- MCFG_MACHINE_START(lastday)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -996,7 +995,7 @@ static MACHINE_CONFIG_START( bluehawk, dooyong_state )
MCFG_GFXDECODE(bluehawk)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(bluehawk)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_state,bluehawk)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151 )
@@ -1012,7 +1011,7 @@ static MACHINE_CONFIG_START( flytiger, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
- MCFG_MACHINE_START(lastday)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -1028,7 +1027,7 @@ static MACHINE_CONFIG_START( flytiger, dooyong_state )
MCFG_GFXDECODE(flytiger)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(flytiger)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_state,flytiger)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151 )
@@ -1044,7 +1043,7 @@ static MACHINE_CONFIG_START( primella, dooyong_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */
MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map)
- MCFG_MACHINE_START(lastday)
+ MCFG_MACHINE_START_OVERRIDE(dooyong_state,lastday)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1057,7 +1056,7 @@ static MACHINE_CONFIG_START( primella, dooyong_state )
MCFG_GFXDECODE(primella)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(primella)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_state,primella)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151 )
@@ -1099,7 +1098,7 @@ static MACHINE_CONFIG_START( rshark, dooyong_state )
MCFG_GFXDECODE(rshark)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(rshark)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_state,rshark)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151_m68k )
@@ -1129,7 +1128,7 @@ static MACHINE_CONFIG_START( superx, dooyong_state ) // dif mem map
MCFG_GFXDECODE(rshark)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(rshark)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_state,rshark)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151_m68k )
@@ -1159,7 +1158,7 @@ static MACHINE_CONFIG_START( popbingo, dooyong_state )
MCFG_GFXDECODE(popbingo)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(popbingo)
+ MCFG_VIDEO_START_OVERRIDE(dooyong_state,popbingo)
/* sound hardware */
MCFG_FRAGMENT_ADD( sound_2151_m68k )
diff --git a/src/mame/drivers/dorachan.c b/src/mame/drivers/dorachan.c
index 70cd1c9844f..355e8c7f7df 100644
--- a/src/mame/drivers/dorachan.c
+++ b/src/mame/drivers/dorachan.c
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(dorachan_ctrl_w);
DECLARE_CUSTOM_INPUT_MEMBER(dorachan_protection_r);
DECLARE_CUSTOM_INPUT_MEMBER(dorachan_v128_r);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -221,20 +223,18 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( dorachan )
+void dorachan_state::machine_start()
{
- dorachan_state *state = machine.driver_data<dorachan_state>();
- state->m_main_cpu = machine.device("maincpu");
+ m_main_cpu = machine().device("maincpu");
- state->save_item(NAME(state->m_flip_screen));
+ save_item(NAME(m_flip_screen));
}
-static MACHINE_RESET( dorachan )
+void dorachan_state::machine_reset()
{
- dorachan_state *state = machine.driver_data<dorachan_state>();
- state->m_flip_screen = 0;
+ m_flip_screen = 0;
}
static MACHINE_CONFIG_START( dorachan, dorachan_state )
@@ -245,8 +245,6 @@ static MACHINE_CONFIG_START( dorachan, dorachan_state )
MCFG_CPU_IO_MAP(dorachan_io_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60)
- MCFG_MACHINE_START(dorachan)
- MCFG_MACHINE_RESET(dorachan)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/dotrikun.c b/src/mame/drivers/dotrikun.c
index 1d951fdcede..ad0413fb758 100644
--- a/src/mame/drivers/dotrikun.c
+++ b/src/mame/drivers/dotrikun.c
@@ -37,6 +37,8 @@ public:
/* video-related */
UINT8 m_color;
DECLARE_WRITE8_MEMBER(dotrikun_color_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -134,17 +136,15 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( dotrikun )
+void dotrikun_state::machine_start()
{
- dotrikun_state *state = machine.driver_data<dotrikun_state>();
- state->save_item(NAME(state->m_color));
+ save_item(NAME(m_color));
}
-static MACHINE_RESET( dotrikun )
+void dotrikun_state::machine_reset()
{
- dotrikun_state *state = machine.driver_data<dotrikun_state>();
- state->m_color = 0;
+ m_color = 0;
}
#define MASTER_CLOCK XTAL_4MHz
@@ -157,8 +157,6 @@ static MACHINE_CONFIG_START( dotrikun, dotrikun_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(dotrikun)
- MCFG_MACHINE_RESET(dotrikun)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/dragrace.c b/src/mame/drivers/dragrace.c
index ade79814ec9..3f1ebfb0110 100644
--- a/src/mame/drivers/dragrace.c
+++ b/src/mame/drivers/dragrace.c
@@ -289,44 +289,42 @@ static GFXDECODE_START( dragrace )
GFXDECODE_END
-static PALETTE_INIT( dragrace )
+void dragrace_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0xFF, 0xFF, 0xFF)); /* 2 color tiles */
- palette_set_color(machine, 1, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 2, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 3, MAKE_RGB(0xFF, 0xFF, 0xFF));
- palette_set_color(machine, 4, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 5, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 6, MAKE_RGB(0xFF, 0xFF, 0xFF));
- palette_set_color(machine, 7, MAKE_RGB(0xFF, 0xFF, 0xFF));
- palette_set_color(machine, 8, MAKE_RGB(0xFF, 0xFF, 0xFF)); /* 4 color tiles */
- palette_set_color(machine, 9, MAKE_RGB(0xB0, 0xB0, 0xB0));
- palette_set_color(machine, 10,MAKE_RGB(0x5F, 0x5F, 0x5F));
- palette_set_color(machine, 11,MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 12,MAKE_RGB(0xFF, 0xFF, 0xFF));
- palette_set_color(machine, 13,MAKE_RGB(0x5F, 0x5F, 0x5F));
- palette_set_color(machine, 14,MAKE_RGB(0xB0, 0xB0, 0xB0));
- palette_set_color(machine, 15,MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 0, MAKE_RGB(0xFF, 0xFF, 0xFF)); /* 2 color tiles */
+ palette_set_color(machine(), 1, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 2, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 3, MAKE_RGB(0xFF, 0xFF, 0xFF));
+ palette_set_color(machine(), 4, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 5, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 6, MAKE_RGB(0xFF, 0xFF, 0xFF));
+ palette_set_color(machine(), 7, MAKE_RGB(0xFF, 0xFF, 0xFF));
+ palette_set_color(machine(), 8, MAKE_RGB(0xFF, 0xFF, 0xFF)); /* 4 color tiles */
+ palette_set_color(machine(), 9, MAKE_RGB(0xB0, 0xB0, 0xB0));
+ palette_set_color(machine(), 10,MAKE_RGB(0x5F, 0x5F, 0x5F));
+ palette_set_color(machine(), 11,MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 12,MAKE_RGB(0xFF, 0xFF, 0xFF));
+ palette_set_color(machine(), 13,MAKE_RGB(0x5F, 0x5F, 0x5F));
+ palette_set_color(machine(), 14,MAKE_RGB(0xB0, 0xB0, 0xB0));
+ palette_set_color(machine(), 15,MAKE_RGB(0x00, 0x00, 0x00));
}
-static MACHINE_START( dragrace )
+void dragrace_state::machine_start()
{
- dragrace_state *state = machine.driver_data<dragrace_state>();
- state->m_discrete = machine.device("discrete");
+ m_discrete = machine().device("discrete");
- state->save_item(NAME(state->m_misc_flags));
- state->save_item(NAME(state->m_gear));
+ save_item(NAME(m_misc_flags));
+ save_item(NAME(m_gear));
}
-static MACHINE_RESET( dragrace )
+void dragrace_state::machine_reset()
{
- dragrace_state *state = machine.driver_data<dragrace_state>();
- state->m_misc_flags = 0;
- state->m_gear[0] = 0;
- state->m_gear[1] = 0;
+ m_misc_flags = 0;
+ m_gear[0] = 0;
+ m_gear[1] = 0;
}
static MACHINE_CONFIG_START( dragrace, dragrace_state )
@@ -337,8 +335,6 @@ static MACHINE_CONFIG_START( dragrace, dragrace_state )
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60)
MCFG_WATCHDOG_VBLANK_INIT(8)
- MCFG_MACHINE_START(dragrace)
- MCFG_MACHINE_RESET(dragrace)
MCFG_TIMER_ADD_PERIODIC("frame_timer", dragrace_frame_callback, attotime::from_hz(60))
@@ -351,8 +347,6 @@ static MACHINE_CONFIG_START( dragrace, dragrace_state )
MCFG_GFXDECODE(dragrace)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(dragrace)
- MCFG_VIDEO_START(dragrace)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/dreamwld.c b/src/mame/drivers/dreamwld.c
index 35945bbdd08..a1fd4dd6b0a 100644
--- a/src/mame/drivers/dreamwld.c
+++ b/src/mame/drivers/dreamwld.c
@@ -160,6 +160,9 @@ public:
DECLARE_WRITE32_MEMBER(dreamwld_palette_w);
TILE_GET_INFO_MEMBER(get_dreamwld_bg_tile_info);
TILE_GET_INFO_MEMBER(get_dreamwld_bg2_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -262,22 +265,21 @@ TILE_GET_INFO_MEMBER(dreamwld_state::get_dreamwld_bg2_tile_info)
SET_TILE_INFO_MEMBER(1, tileno + m_tilebank[1] * 0x2000, 0xc0 + colour, 0);
}
-static VIDEO_START( dreamwld )
+void dreamwld_state::video_start()
{
- dreamwld_state *state = machine.driver_data<dreamwld_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dreamwld_state::get_dreamwld_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 64,32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dreamwld_state::get_dreamwld_bg2_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 64,32);
- state->m_bg2_tilemap->set_transparent_pen(0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dreamwld_state::get_dreamwld_bg_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16, 64,32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dreamwld_state::get_dreamwld_bg2_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16, 64,32);
+ m_bg2_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_rows(256); // line scrolling
- state->m_bg_tilemap->set_scroll_cols(1);
+ m_bg_tilemap->set_scroll_rows(256); // line scrolling
+ m_bg_tilemap->set_scroll_cols(1);
- state->m_bg2_tilemap->set_scroll_rows(256); // line scrolling
- state->m_bg2_tilemap->set_scroll_cols(1);
+ m_bg2_tilemap->set_scroll_rows(256); // line scrolling
+ m_bg2_tilemap->set_scroll_cols(1);
- state->m_spritebuf1 = auto_alloc_array(machine, UINT32, 0x2000 / 4);
- state->m_spritebuf2 = auto_alloc_array(machine, UINT32, 0x2000 / 4);
+ m_spritebuf1 = auto_alloc_array(machine(), UINT32, 0x2000 / 4);
+ m_spritebuf2 = auto_alloc_array(machine(), UINT32, 0x2000 / 4);
}
@@ -563,22 +565,20 @@ GFXDECODE_END
-static MACHINE_START( dreamwld )
+void dreamwld_state::machine_start()
{
- dreamwld_state *state = machine.driver_data<dreamwld_state>();
- state->save_item(NAME(state->m_protindex));
- state->save_item(NAME(state->m_tilebank));
- state->save_item(NAME(state->m_tilebankold));
+ save_item(NAME(m_protindex));
+ save_item(NAME(m_tilebank));
+ save_item(NAME(m_tilebankold));
}
-static MACHINE_RESET( dreamwld )
+void dreamwld_state::machine_reset()
{
- dreamwld_state *state = machine.driver_data<dreamwld_state>();
- state->m_tilebankold[0] = state->m_tilebankold[1] = -1;
- state->m_tilebank[0] = state->m_tilebank[1] = 0;
- state->m_protindex = 0;
+ m_tilebankold[0] = m_tilebankold[1] = -1;
+ m_tilebank[0] = m_tilebank[1] = 0;
+ m_protindex = 0;
}
@@ -591,8 +591,6 @@ static MACHINE_CONFIG_START( baryon, dreamwld_state )
MCFG_CPU_PROGRAM_MAP(baryon_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold )
- MCFG_MACHINE_START(dreamwld)
- MCFG_MACHINE_RESET(dreamwld)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -606,7 +604,6 @@ static MACHINE_CONFIG_START( baryon, dreamwld_state )
MCFG_PALETTE_LENGTH(0x1000)
MCFG_GFXDECODE(dreamwld)
- MCFG_VIDEO_START(dreamwld)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/drgnmst.c b/src/mame/drivers/drgnmst.c
index abf7a13cc79..e046f153a8a 100644
--- a/src/mame/drivers/drgnmst.c
+++ b/src/mame/drivers/drgnmst.c
@@ -369,30 +369,28 @@ static GFXDECODE_START( drgnmst )
GFXDECODE_END
-static MACHINE_START( drgnmst )
+void drgnmst_state::machine_start()
{
- drgnmst_state *state = machine.driver_data<drgnmst_state>();
-
- state->save_item(NAME(state->m_snd_flag));
- state->save_item(NAME(state->m_snd_command));
- state->save_item(NAME(state->m_oki_control));
- state->save_item(NAME(state->m_oki_command));
- state->save_item(NAME(state->m_pic16c5x_port0));
- state->save_item(NAME(state->m_oki1_bank));
- state->save_item(NAME(state->m_oki0_bank));
+
+ save_item(NAME(m_snd_flag));
+ save_item(NAME(m_snd_command));
+ save_item(NAME(m_oki_control));
+ save_item(NAME(m_oki_command));
+ save_item(NAME(m_pic16c5x_port0));
+ save_item(NAME(m_oki1_bank));
+ save_item(NAME(m_oki0_bank));
}
-static MACHINE_RESET( drgnmst )
+void drgnmst_state::machine_reset()
{
- drgnmst_state *state = machine.driver_data<drgnmst_state>();
-
- state->m_snd_flag = 0;
- state->m_snd_command = 0;
- state->m_oki_control = 0;
- state->m_oki_command = 0;
- state->m_pic16c5x_port0 = 0;
- state->m_oki1_bank = 0;
- state->m_oki0_bank = 0;
+
+ m_snd_flag = 0;
+ m_snd_command = 0;
+ m_oki_control = 0;
+ m_oki_command = 0;
+ m_pic16c5x_port0 = 0;
+ m_oki1_bank = 0;
+ m_oki0_bank = 0;
}
static MACHINE_CONFIG_START( drgnmst, drgnmst_state )
@@ -405,8 +403,6 @@ static MACHINE_CONFIG_START( drgnmst, drgnmst_state )
/* Program and Data Maps are internal to the MCU */
MCFG_CPU_IO_MAP(drgnmst_sound_io_map)
- MCFG_MACHINE_START(drgnmst)
- MCFG_MACHINE_RESET(drgnmst)
MCFG_GFXDECODE(drgnmst)
@@ -419,7 +415,6 @@ static MACHINE_CONFIG_START( drgnmst, drgnmst_state )
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(drgnmst)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/dribling.c b/src/mame/drivers/dribling.c
index da53e0d8ba7..c3cea192ea0 100644
--- a/src/mame/drivers/dribling.c
+++ b/src/mame/drivers/dribling.c
@@ -276,28 +276,26 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( dribling )
+void dribling_state::machine_start()
{
- dribling_state *state = machine.driver_data<dribling_state>();
-
- state->save_item(NAME(state->m_abca));
- state->save_item(NAME(state->m_di));
- state->save_item(NAME(state->m_dr));
- state->save_item(NAME(state->m_ds));
- state->save_item(NAME(state->m_sh));
- state->save_item(NAME(state->m_input_mux));
+
+ save_item(NAME(m_abca));
+ save_item(NAME(m_di));
+ save_item(NAME(m_dr));
+ save_item(NAME(m_ds));
+ save_item(NAME(m_sh));
+ save_item(NAME(m_input_mux));
}
-static MACHINE_RESET( dribling )
+void dribling_state::machine_reset()
{
- dribling_state *state = machine.driver_data<dribling_state>();
-
- state->m_abca = 0;
- state->m_di = 0;
- state->m_dr = 0;
- state->m_ds = 0;
- state->m_sh = 0;
- state->m_input_mux = 0;
+
+ m_abca = 0;
+ m_di = 0;
+ m_dr = 0;
+ m_ds = 0;
+ m_sh = 0;
+ m_input_mux = 0;
}
@@ -312,8 +310,6 @@ static MACHINE_CONFIG_START( dribling, dribling_state )
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
- MCFG_MACHINE_START(dribling)
- MCFG_MACHINE_RESET(dribling)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -327,7 +323,6 @@ static MACHINE_CONFIG_START( dribling, dribling_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(dribling)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/drmicro.c b/src/mame/drivers/drmicro.c
index d437c6af1d0..738806a9c06 100644
--- a/src/mame/drivers/drmicro.c
+++ b/src/mame/drivers/drmicro.c
@@ -238,24 +238,22 @@ static const sn76496_config psg_intf =
*
*************************************/
-static MACHINE_START( drmicro )
+void drmicro_state::machine_start()
{
- drmicro_state *state = machine.driver_data<drmicro_state>();
- state->m_msm = machine.device("msm");
+ m_msm = machine().device("msm");
- state->save_item(NAME(state->m_nmi_enable));
- state->save_item(NAME(state->m_pcm_adr));
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_pcm_adr));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( drmicro )
+void drmicro_state::machine_reset()
{
- drmicro_state *state = machine.driver_data<drmicro_state>();
- state->m_nmi_enable = 0;
- state->m_pcm_adr = 0;
- state->m_flipscreen = 0;
+ m_nmi_enable = 0;
+ m_pcm_adr = 0;
+ m_flipscreen = 0;
}
@@ -269,8 +267,6 @@ static MACHINE_CONFIG_START( drmicro, drmicro_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(drmicro)
- MCFG_MACHINE_RESET(drmicro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -283,8 +279,6 @@ static MACHINE_CONFIG_START( drmicro, drmicro_state )
MCFG_GFXDECODE(drmicro)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(drmicro)
- MCFG_VIDEO_START(drmicro)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/drtomy.c b/src/mame/drivers/drtomy.c
index 08941c3302d..684ce096e67 100644
--- a/src/mame/drivers/drtomy.c
+++ b/src/mame/drivers/drtomy.c
@@ -37,6 +37,9 @@ public:
DECLARE_WRITE16_MEMBER(drtomy_okibank_w);
TILE_GET_INFO_MEMBER(get_tile_info_fg);
TILE_GET_INFO_MEMBER(get_tile_info_bg);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -119,14 +122,13 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
}
}
-static VIDEO_START( drtomy )
+void drtomy_state::video_start()
{
- drtomy_state *state = machine.driver_data<drtomy_state>();
- state->m_tilemap_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drtomy_state::get_tile_info_bg),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drtomy_state::get_tile_info_fg),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap_bg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(drtomy_state::get_tile_info_bg),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap_fg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(drtomy_state::get_tile_info_fg),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap_fg->set_transparent_pen(0);
+ m_tilemap_fg->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16( drtomy )
@@ -281,18 +283,16 @@ static INPUT_PORTS_START( drtomy )
INPUT_PORTS_END
-static MACHINE_START( drtomy )
+void drtomy_state::machine_start()
{
- drtomy_state *state = machine.driver_data<drtomy_state>();
- state->save_item(NAME(state->m_oki_bank));
+ save_item(NAME(m_oki_bank));
}
-static MACHINE_RESET( drtomy )
+void drtomy_state::machine_reset()
{
- drtomy_state *state = machine.driver_data<drtomy_state>();
- state->m_oki_bank = 0;
+ m_oki_bank = 0;
}
static MACHINE_CONFIG_START( drtomy, drtomy_state )
@@ -302,8 +302,6 @@ static MACHINE_CONFIG_START( drtomy, drtomy_state )
MCFG_CPU_PROGRAM_MAP(drtomy_map)
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
- MCFG_MACHINE_START(drtomy)
- MCFG_MACHINE_RESET(drtomy)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -316,7 +314,6 @@ static MACHINE_CONFIG_START( drtomy, drtomy_state )
MCFG_GFXDECODE(drtomy)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(drtomy)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/drw80pkr.c b/src/mame/drivers/drw80pkr.c
index 3d58de44998..15a77ab5e3d 100644
--- a/src/mame/drivers/drw80pkr.c
+++ b/src/mame/drivers/drw80pkr.c
@@ -67,6 +67,9 @@ public:
DECLARE_READ8_MEMBER(drw80pkr_io_r);
DECLARE_DRIVER_INIT(drw80pkr);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -74,10 +77,9 @@ public:
#define DATA_NVRAM_SIZE 0x100
-static MACHINE_START( drw80pkr )
+void drw80pkr_state::machine_start()
{
- drw80pkr_state *state = machine.driver_data<drw80pkr_state>();
- machine.device<nvram_device>("nvram")->set_base(state->m_pkr_io_ram, sizeof(state->m_pkr_io_ram));
+ machine().device<nvram_device>("nvram")->set_base(m_pkr_io_ram, sizeof(m_pkr_io_ram));
}
/*****************
@@ -332,10 +334,9 @@ TILE_GET_INFO_MEMBER(drw80pkr_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static VIDEO_START( drw80pkr )
+void drw80pkr_state::video_start()
{
- drw80pkr_state *state = machine.driver_data<drw80pkr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drw80pkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 24, 27);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(drw80pkr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 24, 27);
}
static SCREEN_UPDATE_IND16( drw80pkr )
@@ -346,12 +347,12 @@ static SCREEN_UPDATE_IND16( drw80pkr )
return 0;
}
-static PALETTE_INIT( drw80pkr )
+void drw80pkr_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int j;
- for (j = 0; j < machine.total_colors(); j++)
+ for (j = 0; j < machine().total_colors(); j++)
{
int r, g, b, tr, tg, tb, i;
@@ -370,7 +371,7 @@ static PALETTE_INIT( drw80pkr )
tb = 0xf0 - (0xf0 * ((color_prom[j] >> 2) & 0x01));
b = tb - (i * (tb / 5));
- palette_set_color(machine, j, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), j, MAKE_RGB(r, g, b));
}
}
@@ -468,7 +469,6 @@ static MACHINE_CONFIG_START( drw80pkr, drw80pkr_state )
MCFG_CPU_IO_MAP(drw80pkr_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(drw80pkr)
// video hardware
@@ -482,8 +482,6 @@ static MACHINE_CONFIG_START( drw80pkr, drw80pkr_state )
MCFG_GFXDECODE(drw80pkr)
MCFG_PALETTE_LENGTH(16*16)
- MCFG_PALETTE_INIT(drw80pkr)
- MCFG_VIDEO_START(drw80pkr)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/dunhuang.c b/src/mame/drivers/dunhuang.c
index 1611f749252..7ab60f6245c 100644
--- a/src/mame/drivers/dunhuang.c
+++ b/src/mame/drivers/dunhuang.c
@@ -119,6 +119,9 @@ public:
DECLARE_READ8_MEMBER(dunhuang_dsw_r);
TILE_GET_INFO_MEMBER(get_tile_info);
TILE_GET_INFO_MEMBER(get_tile_info2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -140,20 +143,19 @@ TILE_GET_INFO_MEMBER(dunhuang_state::get_tile_info2)
SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-static VIDEO_START(dunhuang)
+void dunhuang_state::video_start()
{
- dunhuang_state *state = machine.driver_data<dunhuang_state>();
- state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dunhuang_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20);
- state->m_tmap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dunhuang_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 8,32, 0x40,0x8);
+ m_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dunhuang_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20);
+ m_tmap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dunhuang_state::get_tile_info2),this), TILEMAP_SCAN_ROWS, 8,32, 0x40,0x8);
- state->m_tmap->set_transparent_pen(0);
- state->m_tmap2->set_transparent_pen(0);
+ m_tmap->set_transparent_pen(0);
+ m_tmap2->set_transparent_pen(0);
- state->save_item(NAME(state->m_videoram));
- state->save_item(NAME(state->m_colorram));
- state->save_item(NAME(state->m_videoram2));
- state->save_item(NAME(state->m_colorram2));
- state->save_item(NAME(state->m_paldata));
+ save_item(NAME(m_videoram));
+ save_item(NAME(m_colorram));
+ save_item(NAME(m_videoram2));
+ save_item(NAME(m_colorram2));
+ save_item(NAME(m_paldata));
}
static SCREEN_UPDATE_IND16( dunhuang )
@@ -763,53 +765,51 @@ static const ay8910_interface dunhuang_ay8910_interface =
-static MACHINE_START( dunhuang )
+void dunhuang_state::machine_start()
{
- dunhuang_state *state = machine.driver_data<dunhuang_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
+ membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
- state->save_item(NAME(state->m_written));
- state->save_item(NAME(state->m_written2));
- state->save_item(NAME(state->m_pos_x));
- state->save_item(NAME(state->m_pos_y));
- state->save_item(NAME(state->m_clear_y));
- state->save_item(NAME(state->m_block_x));
- state->save_item(NAME(state->m_block_y));
- state->save_item(NAME(state->m_block_w));
- state->save_item(NAME(state->m_block_h));
- state->save_item(NAME(state->m_block_addr_hi));
- state->save_item(NAME(state->m_block_addr_lo));
- state->save_item(NAME(state->m_block_dest));
- state->save_item(NAME(state->m_block_c));
- state->save_item(NAME(state->m_layers));
- state->save_item(NAME(state->m_paloffs));
- state->save_item(NAME(state->m_input));
- state->save_item(NAME(state->m_hopper));
+ save_item(NAME(m_written));
+ save_item(NAME(m_written2));
+ save_item(NAME(m_pos_x));
+ save_item(NAME(m_pos_y));
+ save_item(NAME(m_clear_y));
+ save_item(NAME(m_block_x));
+ save_item(NAME(m_block_y));
+ save_item(NAME(m_block_w));
+ save_item(NAME(m_block_h));
+ save_item(NAME(m_block_addr_hi));
+ save_item(NAME(m_block_addr_lo));
+ save_item(NAME(m_block_dest));
+ save_item(NAME(m_block_c));
+ save_item(NAME(m_layers));
+ save_item(NAME(m_paloffs));
+ save_item(NAME(m_input));
+ save_item(NAME(m_hopper));
}
-static MACHINE_RESET( dunhuang )
-{
- dunhuang_state *state = machine.driver_data<dunhuang_state>();
-
- state->m_written = 0;
- state->m_written2 = 0;
- state->m_pos_x = 0;
- state->m_pos_y = 0;
- state->m_clear_y = 0;
- state->m_block_x = 0;
- state->m_block_y = 0;
- state->m_block_w = 0;
- state->m_block_h = 0;
- state->m_block_addr_hi = 0;
- state->m_block_addr_lo = 0;
- state->m_block_dest = 0;
- state->m_block_c = 0;
- state->m_layers = 0;
- state->m_paloffs = 0;
- state->m_input = 0;
- state->m_hopper = 0;
+void dunhuang_state::machine_reset()
+{
+
+ m_written = 0;
+ m_written2 = 0;
+ m_pos_x = 0;
+ m_pos_y = 0;
+ m_clear_y = 0;
+ m_block_x = 0;
+ m_block_y = 0;
+ m_block_w = 0;
+ m_block_h = 0;
+ m_block_addr_hi = 0;
+ m_block_addr_lo = 0;
+ m_block_dest = 0;
+ m_block_c = 0;
+ m_layers = 0;
+ m_paloffs = 0;
+ m_input = 0;
+ m_hopper = 0;
}
@@ -821,8 +821,6 @@ static MACHINE_CONFIG_START( dunhuang, dunhuang_state )
MCFG_CPU_IO_MAP(dunhuang_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(dunhuang)
- MCFG_MACHINE_RESET(dunhuang)
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(5))
@@ -837,7 +835,6 @@ static MACHINE_CONFIG_START( dunhuang, dunhuang_state )
MCFG_GFXDECODE(dunhuang)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(dunhuang)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/dwarfd.c b/src/mame/drivers/dwarfd.c
index 010ef924e92..f0a5903ed76 100644
--- a/src/mame/drivers/dwarfd.c
+++ b/src/mame/drivers/dwarfd.c
@@ -345,6 +345,10 @@ public:
DECLARE_WRITE_LINE_MEMBER(dwarfd_sod_callback);
DECLARE_DRIVER_INIT(qc);
DECLARE_DRIVER_INIT(dwarfd);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -778,7 +782,7 @@ static INPUT_PORTS_START( quarterh )
INPUT_PORTS_END
-static VIDEO_START(dwarfd)
+void dwarfd_state::video_start()
{
}
@@ -985,23 +989,23 @@ static GFXDECODE_START( dwarfd )
GFXDECODE_ENTRY( "gfx2", 0, tiles8x8_layout3, 0, 16 )
GFXDECODE_END
-static PALETTE_INIT(dwarfd)
+void dwarfd_state::palette_init()
{
int i;
for (i = 0; i < 256; i++)
{
- int r = machine.rand()|0x80;
- int g = machine.rand()|0x80;
- int b = machine.rand()|0x80;
+ int r = machine().rand()|0x80;
+ int g = machine().rand()|0x80;
+ int b = machine().rand()|0x80;
if (i == 0) r = g = b = 0;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
- palette_set_color(machine, 8, MAKE_RGB(255, 255, 0));
- palette_set_color(machine, 12, MAKE_RGB(127, 127, 255));
- palette_set_color(machine, 4, MAKE_RGB(0, 255, 0));
- palette_set_color(machine, 6, MAKE_RGB(255, 0, 0));
+ palette_set_color(machine(), 8, MAKE_RGB(255, 255, 0));
+ palette_set_color(machine(), 12, MAKE_RGB(127, 127, 255));
+ palette_set_color(machine(), 4, MAKE_RGB(0, 255, 0));
+ palette_set_color(machine(), 6, MAKE_RGB(255, 0, 0));
}
static const ay8910_interface ay8910_config =
@@ -1015,50 +1019,48 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_START( dwarfd )
+void dwarfd_state::machine_start()
{
- dwarfd_state *state = machine.driver_data<dwarfd_state>();
- state->save_item(NAME(state->m_bank));
- state->save_item(NAME(state->m_line));
- state->save_item(NAME(state->m_idx));
- state->save_item(NAME(state->m_crt_access));
+ save_item(NAME(m_bank));
+ save_item(NAME(m_line));
+ save_item(NAME(m_idx));
+ save_item(NAME(m_crt_access));
/* i8275 */
- state->save_item(NAME(state->m_i8275Command));
- state->save_item(NAME(state->m_i8275HorizontalCharactersRow));
- state->save_item(NAME(state->m_i8275CommandSeqCnt));
- state->save_item(NAME(state->m_i8275SpacedRows));
- state->save_item(NAME(state->m_i8275VerticalRows));
- state->save_item(NAME(state->m_i8275VerticalRetraceRows));
- state->save_item(NAME(state->m_i8275Underline));
- state->save_item(NAME(state->m_i8275Lines));
- state->save_item(NAME(state->m_i8275LineCounterMode));
- state->save_item(NAME(state->m_i8275FieldAttributeMode));
- state->save_item(NAME(state->m_i8275CursorFormat));
- state->save_item(NAME(state->m_i8275HorizontalRetrace));
+ save_item(NAME(m_i8275Command));
+ save_item(NAME(m_i8275HorizontalCharactersRow));
+ save_item(NAME(m_i8275CommandSeqCnt));
+ save_item(NAME(m_i8275SpacedRows));
+ save_item(NAME(m_i8275VerticalRows));
+ save_item(NAME(m_i8275VerticalRetraceRows));
+ save_item(NAME(m_i8275Underline));
+ save_item(NAME(m_i8275Lines));
+ save_item(NAME(m_i8275LineCounterMode));
+ save_item(NAME(m_i8275FieldAttributeMode));
+ save_item(NAME(m_i8275CursorFormat));
+ save_item(NAME(m_i8275HorizontalRetrace));
}
-static MACHINE_RESET( dwarfd )
+void dwarfd_state::machine_reset()
{
- dwarfd_state *state = machine.driver_data<dwarfd_state>();
- state->m_bank = 0;
- state->m_line = 0;
- state->m_idx = 0;
- state->m_crt_access = 0;
- state->m_i8275Command = 0;
- state->m_i8275HorizontalCharactersRow = 0;
- state->m_i8275CommandSeqCnt = 0;
- state->m_i8275SpacedRows = 0;
- state->m_i8275VerticalRows = 0;
- state->m_i8275VerticalRetraceRows = 0;
- state->m_i8275Underline = 0;
- state->m_i8275Lines = 0;
- state->m_i8275LineCounterMode = 0;
- state->m_i8275FieldAttributeMode = 0;
- state->m_i8275CursorFormat = 0;
- state->m_i8275HorizontalRetrace = 0;
+ m_bank = 0;
+ m_line = 0;
+ m_idx = 0;
+ m_crt_access = 0;
+ m_i8275Command = 0;
+ m_i8275HorizontalCharactersRow = 0;
+ m_i8275CommandSeqCnt = 0;
+ m_i8275SpacedRows = 0;
+ m_i8275VerticalRows = 0;
+ m_i8275VerticalRetraceRows = 0;
+ m_i8275Underline = 0;
+ m_i8275Lines = 0;
+ m_i8275LineCounterMode = 0;
+ m_i8275FieldAttributeMode = 0;
+ m_i8275CursorFormat = 0;
+ m_i8275HorizontalRetrace = 0;
}
static MACHINE_CONFIG_START( dwarfd, dwarfd_state )
@@ -1071,8 +1073,6 @@ static MACHINE_CONFIG_START( dwarfd, dwarfd_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", dwarfd_interrupt, "screen", 0, 1)
- MCFG_MACHINE_START(dwarfd)
- MCFG_MACHINE_RESET(dwarfd)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1084,9 +1084,7 @@ static MACHINE_CONFIG_START( dwarfd, dwarfd_state )
MCFG_GFXDECODE(dwarfd)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(dwarfd)
- MCFG_VIDEO_START(dwarfd)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, 1500000)
diff --git a/src/mame/drivers/dynadice.c b/src/mame/drivers/dynadice.c
index 2908eb33204..2c070fb6d7d 100644
--- a/src/mame/drivers/dynadice.c
+++ b/src/mame/drivers/dynadice.c
@@ -61,6 +61,10 @@ public:
DECLARE_WRITE8_MEMBER(sound_control_w);
DECLARE_DRIVER_INIT(dynadice);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -199,14 +203,13 @@ TILE_GET_INFO_MEMBER(dynadice_state::get_tile_info)
SET_TILE_INFO_MEMBER(1, code, 0, 0);
}
-static VIDEO_START( dynadice )
+void dynadice_state::video_start()
{
- dynadice_state *state = machine.driver_data<dynadice_state>();
/* pacman - style videoram layout */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynadice_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_top_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynadice_state::get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
- state->m_bg_tilemap->set_scrollx(0, -16);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dynadice_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_top_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dynadice_state::get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
+ m_bg_tilemap->set_scrollx(0, -16);
}
static SCREEN_UPDATE_IND16( dynadice )
@@ -219,23 +222,21 @@ static SCREEN_UPDATE_IND16( dynadice )
return 0;
}
-static PALETTE_INIT( dynadice )
+void dynadice_state::palette_init()
{
int i;
for(i = 0; i < 8; i++)
- palette_set_color_rgb(machine, i, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
+ palette_set_color_rgb(machine(), i, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
}
-static MACHINE_START( dynadice )
+void dynadice_state::machine_start()
{
- dynadice_state *state = machine.driver_data<dynadice_state>();
- state->save_item(NAME(state->m_ay_data));
+ save_item(NAME(m_ay_data));
}
-static MACHINE_RESET( dynadice )
+void dynadice_state::machine_reset()
{
- dynadice_state *state = machine.driver_data<dynadice_state>();
- state->m_ay_data = 0;
+ m_ay_data = 0;
}
static MACHINE_CONFIG_START( dynadice, dynadice_state )
@@ -249,8 +250,6 @@ static MACHINE_CONFIG_START( dynadice, dynadice_state )
MCFG_CPU_PROGRAM_MAP(dynadice_sound_map)
MCFG_CPU_IO_MAP(dynadice_sound_io_map)
- MCFG_MACHINE_START(dynadice)
- MCFG_MACHINE_RESET(dynadice)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -264,9 +263,7 @@ static MACHINE_CONFIG_START( dynadice, dynadice_state )
MCFG_GFXDECODE(dynadice)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(dynadice)
- MCFG_VIDEO_START(dynadice)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/dynax.c b/src/mame/drivers/dynax.c
index f93d61b66da..2e5f32ecb4d 100644
--- a/src/mame/drivers/dynax.c
+++ b/src/mame/drivers/dynax.c
@@ -438,12 +438,11 @@ WRITE8_MEMBER(dynax_state::adpcm_reset_w)
msm5205_reset_w(device, ~data & 1);
}
-static MACHINE_RESET( adpcm )
+MACHINE_RESET_MEMBER(dynax_state,adpcm)
{
- dynax_state *state = machine.driver_data<dynax_state>();
/* start with the MSM5205 reset */
- state->m_resetkludge = 0;
- msm5205_reset_w(machine.device("msm"), 1);
+ m_resetkludge = 0;
+ msm5205_reset_w(machine().device("msm"), 1);
}
WRITE8_MEMBER(dynax_state::yarunara_layer_half_w)
@@ -4153,111 +4152,109 @@ INPUT_PORTS_END
***************************************************************************/
-static MACHINE_START( dynax )
-{
- dynax_state *state = machine.driver_data<dynax_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_soundcpu = machine.device<cpu_device>("soundcpu");
- state->m_rtc = machine.device("rtc");
- state->m_ymsnd = machine.device("ymsnd");
-
- state->save_item(NAME(state->m_sound_irq));
- state->save_item(NAME(state->m_vblank_irq));
- state->save_item(NAME(state->m_blitter_irq));
- state->save_item(NAME(state->m_blitter2_irq));
- state->save_item(NAME(state->m_soundlatch_irq));
- state->save_item(NAME(state->m_sound_vblank_irq));
-
- state->save_item(NAME(state->m_input_sel));
- state->save_item(NAME(state->m_dsw_sel));
- state->save_item(NAME(state->m_keyb));
- state->save_item(NAME(state->m_coins));
- state->save_item(NAME(state->m_hopper));
- state->save_item(NAME(state->m_hnoridur_bank));
- state->save_item(NAME(state->m_palbank));
- state->save_item(NAME(state->m_msm5205next));
- state->save_item(NAME(state->m_resetkludge));
- state->save_item(NAME(state->m_toggle));
- state->save_item(NAME(state->m_toggle_cpu1));
- state->save_item(NAME(state->m_yarunara_clk_toggle));
- state->save_item(NAME(state->m_soundlatch_ack));
- state->save_item(NAME(state->m_soundlatch_full));
- state->save_item(NAME(state->m_latch));
- state->save_item(NAME(state->m_rombank));
- state->save_item(NAME(state->m_tenkai_p5_val));
- state->save_item(NAME(state->m_tenkai_6c));
- state->save_item(NAME(state->m_tenkai_70));
- state->save_item(NAME(state->m_gekisha_val));
- state->save_item(NAME(state->m_palette_ram));
- state->save_item(NAME(state->m_gekisha_rom_enable));
+MACHINE_START_MEMBER(dynax_state,dynax)
+{
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_soundcpu = machine().device<cpu_device>("soundcpu");
+ m_rtc = machine().device("rtc");
+ m_ymsnd = machine().device("ymsnd");
+
+ save_item(NAME(m_sound_irq));
+ save_item(NAME(m_vblank_irq));
+ save_item(NAME(m_blitter_irq));
+ save_item(NAME(m_blitter2_irq));
+ save_item(NAME(m_soundlatch_irq));
+ save_item(NAME(m_sound_vblank_irq));
+
+ save_item(NAME(m_input_sel));
+ save_item(NAME(m_dsw_sel));
+ save_item(NAME(m_keyb));
+ save_item(NAME(m_coins));
+ save_item(NAME(m_hopper));
+ save_item(NAME(m_hnoridur_bank));
+ save_item(NAME(m_palbank));
+ save_item(NAME(m_msm5205next));
+ save_item(NAME(m_resetkludge));
+ save_item(NAME(m_toggle));
+ save_item(NAME(m_toggle_cpu1));
+ save_item(NAME(m_yarunara_clk_toggle));
+ save_item(NAME(m_soundlatch_ack));
+ save_item(NAME(m_soundlatch_full));
+ save_item(NAME(m_latch));
+ save_item(NAME(m_rombank));
+ save_item(NAME(m_tenkai_p5_val));
+ save_item(NAME(m_tenkai_6c));
+ save_item(NAME(m_tenkai_70));
+ save_item(NAME(m_gekisha_val));
+ save_item(NAME(m_palette_ram));
+ save_item(NAME(m_gekisha_rom_enable));
}
-static MACHINE_RESET( dynax )
+MACHINE_RESET_MEMBER(dynax_state,dynax)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- if (machine.device("msm") != NULL)
- MACHINE_RESET_CALL(adpcm);
-
- state->m_sound_irq = 0;
- state->m_vblank_irq = 0;
- state->m_blitter_irq = 0;
- state->m_blitter2_irq = 0;
- state->m_soundlatch_irq = 0;
- state->m_sound_vblank_irq = 0;
-
- state->m_input_sel = 0;
- state->m_dsw_sel = 0;
- state->m_keyb = 0;
- state->m_coins = 0;
- state->m_hopper = 0;
- state->m_hnoridur_bank = 0;
- state->m_palbank = 0;
- state->m_msm5205next = 0;
- state->m_resetkludge = 0;
- state->m_toggle = 0;
- state->m_toggle_cpu1 = 0;
- state->m_yarunara_clk_toggle = 0;
- state->m_soundlatch_ack = 0;
- state->m_soundlatch_full = 0;
- state->m_latch = 0;
- state->m_rombank = 0;
- state->m_tenkai_p5_val = 0;
- state->m_tenkai_6c = 0;
- state->m_tenkai_70 = 0;
- state->m_gekisha_val[0] = 0;
- state->m_gekisha_val[1] = 0;
- state->m_gekisha_rom_enable = 0;
-
- memset(state->m_palette_ram, 0, ARRAY_LENGTH(state->m_palette_ram));
+ if (machine().device("msm") != NULL)
+ MACHINE_RESET_CALL_MEMBER(adpcm);
+
+ m_sound_irq = 0;
+ m_vblank_irq = 0;
+ m_blitter_irq = 0;
+ m_blitter2_irq = 0;
+ m_soundlatch_irq = 0;
+ m_sound_vblank_irq = 0;
+
+ m_input_sel = 0;
+ m_dsw_sel = 0;
+ m_keyb = 0;
+ m_coins = 0;
+ m_hopper = 0;
+ m_hnoridur_bank = 0;
+ m_palbank = 0;
+ m_msm5205next = 0;
+ m_resetkludge = 0;
+ m_toggle = 0;
+ m_toggle_cpu1 = 0;
+ m_yarunara_clk_toggle = 0;
+ m_soundlatch_ack = 0;
+ m_soundlatch_full = 0;
+ m_latch = 0;
+ m_rombank = 0;
+ m_tenkai_p5_val = 0;
+ m_tenkai_6c = 0;
+ m_tenkai_70 = 0;
+ m_gekisha_val[0] = 0;
+ m_gekisha_val[1] = 0;
+ m_gekisha_rom_enable = 0;
+
+ memset(m_palette_ram, 0, ARRAY_LENGTH(m_palette_ram));
}
-static MACHINE_START( hanamai )
+MACHINE_START_MEMBER(dynax_state,hanamai)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x8000], 0x8000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x8000], 0x8000);
- MACHINE_START_CALL(dynax);
+ MACHINE_START_CALL_MEMBER(dynax);
}
-static MACHINE_START( hnoridur )
+MACHINE_START_MEMBER(dynax_state,hnoridur)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- int bank_n = (machine.root_device().memregion("maincpu")->bytes() - 0x10000) / 0x8000;
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ int bank_n = (machine().root_device().memregion("maincpu")->bytes() - 0x10000) / 0x8000;
- machine.root_device().membank("bank1")->configure_entries(0, bank_n, &ROM[0x10000], 0x8000);
+ machine().root_device().membank("bank1")->configure_entries(0, bank_n, &ROM[0x10000], 0x8000);
- MACHINE_START_CALL(dynax);
+ MACHINE_START_CALL_MEMBER(dynax);
}
-static MACHINE_START( htengoku )
+MACHINE_START_MEMBER(dynax_state,htengoku)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
- MACHINE_START_CALL(dynax);
+ MACHINE_START_CALL_MEMBER(dynax);
}
/***************************************************************************
@@ -4293,8 +4290,8 @@ static MACHINE_CONFIG_START( hanamai, dynax_state )
MCFG_CPU_IO_MAP(hanamai_io_map)
MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */
- MCFG_MACHINE_START(hanamai)
- MCFG_MACHINE_RESET(dynax)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hanamai)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4308,8 +4305,8 @@ static MACHINE_CONFIG_START( hanamai, dynax_state )
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(sprtmtch) // static palette
- MCFG_VIDEO_START(hanamai)
+ MCFG_PALETTE_INIT_OVERRIDE(dynax_state,sprtmtch) // static palette
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hanamai)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4350,8 +4347,8 @@ static MACHINE_CONFIG_START( hnoridur, dynax_state )
MCFG_CPU_IO_MAP(hnoridur_io_map)
MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */
- MCFG_MACHINE_START(hnoridur)
- MCFG_MACHINE_RESET(dynax)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hnoridur)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4365,7 +4362,7 @@ static MACHINE_CONFIG_START( hnoridur, dynax_state )
MCFG_PALETTE_LENGTH(16*256)
- MCFG_VIDEO_START(hnoridur)
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hnoridur)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4395,8 +4392,8 @@ static MACHINE_CONFIG_START( hjingi, dynax_state )
MCFG_CPU_IO_MAP(hjingi_io_map)
MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */
- MCFG_MACHINE_START(hnoridur)
- MCFG_MACHINE_RESET(dynax)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hnoridur)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4410,7 +4407,7 @@ static MACHINE_CONFIG_START( hjingi, dynax_state )
MCFG_PALETTE_LENGTH(16*256)
- MCFG_VIDEO_START(hnoridur)
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hnoridur)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4453,8 +4450,8 @@ static MACHINE_CONFIG_START( sprtmtch, dynax_state )
MCFG_CPU_IO_MAP(sprtmtch_io_map)
MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */
- MCFG_MACHINE_START(hanamai)
- MCFG_MACHINE_RESET(dynax)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hanamai)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4468,8 +4465,8 @@ static MACHINE_CONFIG_START( sprtmtch, dynax_state )
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(sprtmtch) // static palette
- MCFG_VIDEO_START(sprtmtch)
+ MCFG_PALETTE_INIT_OVERRIDE(dynax_state,sprtmtch) // static palette
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,sprtmtch)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4495,8 +4492,8 @@ static MACHINE_CONFIG_START( mjfriday, dynax_state )
MCFG_CPU_IO_MAP(mjfriday_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(hanamai)
- MCFG_MACHINE_RESET(dynax)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hanamai)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4510,8 +4507,8 @@ static MACHINE_CONFIG_START( mjfriday, dynax_state )
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(sprtmtch) // static palette
- MCFG_VIDEO_START(mjdialq2)
+ MCFG_PALETTE_INIT_OVERRIDE(dynax_state,sprtmtch) // static palette
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjdialq2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4586,7 +4583,7 @@ static MACHINE_CONFIG_DERIVED( mcnpshnt, hnoridur )
MCFG_CPU_PROGRAM_MAP(mcnpshnt_mem_map)
MCFG_CPU_IO_MAP(mcnpshnt_io_map)
- MCFG_VIDEO_START(mcnpshnt) // different priorities
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mcnpshnt) // different priorities
MACHINE_CONFIG_END
@@ -4623,19 +4620,18 @@ static const msm5205_interface jantouki_msm5205_interface =
MSM5205_S48_4B /* 8 KHz, 4 Bits */
};
-static MACHINE_START( jantouki )
+MACHINE_START_MEMBER(dynax_state,jantouki)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- UINT8 *MAIN = state->memregion("maincpu")->base();
- UINT8 *SOUND = state->memregion("soundcpu")->base();
+ UINT8 *MAIN = memregion("maincpu")->base();
+ UINT8 *SOUND = memregion("soundcpu")->base();
- state->membank("bank1")->configure_entries(0, 0x10, &MAIN[0x8000], 0x8000);
- state->membank("bank2")->configure_entries(0, 12, &SOUND[0x8000], 0x8000);
+ membank("bank1")->configure_entries(0, 0x10, &MAIN[0x8000], 0x8000);
+ membank("bank2")->configure_entries(0, 12, &SOUND[0x8000], 0x8000);
- state->m_top_scr = machine.device("top");
- state->m_bot_scr = machine.device("bottom");
+ m_top_scr = machine().device("top");
+ m_bot_scr = machine().device("bottom");
- MACHINE_START_CALL(dynax);
+ MACHINE_START_CALL_MEMBER(dynax);
}
static MSM6242_INTERFACE( jantouki_rtc_intf )
@@ -4657,8 +4653,8 @@ static MACHINE_CONFIG_START( jantouki, dynax_state )
MCFG_CPU_IO_MAP(jantouki_sound_io_map)
MCFG_CPU_VBLANK_INT("top", jantouki_sound_vblank_interrupt) /* IM 0 needs an opcode on the data bus */
- MCFG_MACHINE_START(jantouki)
- MCFG_MACHINE_RESET(dynax)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,jantouki)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4680,8 +4676,8 @@ static MACHINE_CONFIG_START( jantouki, dynax_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 256-1)
MCFG_SCREEN_UPDATE_STATIC(jantouki_bottom)
- MCFG_PALETTE_INIT(sprtmtch) // static palette
- MCFG_VIDEO_START(jantouki)
+ MCFG_PALETTE_INIT_OVERRIDE(dynax_state,sprtmtch) // static palette
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,jantouki)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4735,7 +4731,7 @@ static MACHINE_CONFIG_DERIVED( mjelctrn, hnoridur )
MCFG_CPU_IO_MAP(mjelctrn_io_map)
MCFG_CPU_VBLANK_INT("screen", mjelctrn_vblank_interrupt) /* IM 2 needs a vector on the data bus */
- MCFG_VIDEO_START(mjelctrn)
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjelctrn)
MACHINE_CONFIG_END
@@ -4773,7 +4769,7 @@ static MACHINE_CONFIG_DERIVED( neruton, mjelctrn )
MCFG_CPU_MODIFY("maincpu")
MCFG_TIMER_ADD_SCANLINE("scantimer", neruton_irq_scanline, "screen", 0, 1)
- MCFG_VIDEO_START(neruton)
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,neruton)
MACHINE_CONFIG_END
/***************************************************************************
@@ -4833,8 +4829,8 @@ static MACHINE_CONFIG_START( htengoku, dynax_state )
MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */
MCFG_CPU_PERIODIC_INT(yarunara_clock_interrupt, 60) // RTC
- MCFG_MACHINE_START(htengoku)
- MCFG_MACHINE_RESET(dynax)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,htengoku)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4849,7 +4845,7 @@ static MACHINE_CONFIG_START( htengoku, dynax_state )
MCFG_PALETTE_LENGTH(16*256)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(htengoku)
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,htengoku)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4891,11 +4887,11 @@ static const ay8910_interface tenkai_ay8910_interface =
DEVCB_NULL, DEVCB_DRIVER_MEMBER(dynax_state,tenkai_dswsel_w) // Write
};
-static MACHINE_START( tenkai )
+MACHINE_START_MEMBER(dynax_state,tenkai)
{
- MACHINE_START_CALL(dynax);
+ MACHINE_START_CALL_MEMBER(dynax);
- machine.save().register_postload(save_prepost_delegate(FUNC(tenkai_update_rombank), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(tenkai_update_rombank), &machine()));
}
WRITE_LINE_MEMBER(dynax_state::tenkai_rtc_irq)
@@ -4916,8 +4912,8 @@ static MACHINE_CONFIG_START( tenkai, dynax_state )
MCFG_CPU_IO_MAP(tenkai_io_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", tenkai_interrupt, "screen", 0, 1)
- MCFG_MACHINE_START(tenkai)
- MCFG_MACHINE_RESET(dynax)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,tenkai)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4931,7 +4927,7 @@ static MACHINE_CONFIG_START( tenkai, dynax_state )
MCFG_PALETTE_LENGTH(16*256)
- MCFG_VIDEO_START(mjelctrn)
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjelctrn)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4949,7 +4945,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( majrjhdx, tenkai )
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(sprtmtch) // static palette
+ MCFG_PALETTE_INIT_OVERRIDE(dynax_state,sprtmtch) // static palette
MACHINE_CONFIG_END
/***************************************************************************
@@ -4963,18 +4959,18 @@ static void gekisha_bank_postload(running_machine &machine)
gekisha_set_rombank(machine, state->m_rombank);
}
-static MACHINE_START( gekisha )
+MACHINE_START_MEMBER(dynax_state,gekisha)
{
- MACHINE_START_CALL(dynax);
+ MACHINE_START_CALL_MEMBER(dynax);
- machine.save().register_postload(save_prepost_delegate(FUNC(gekisha_bank_postload), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(gekisha_bank_postload), &machine()));
}
-static MACHINE_RESET( gekisha )
+MACHINE_RESET_MEMBER(dynax_state,gekisha)
{
- MACHINE_RESET_CALL(dynax);
+ MACHINE_RESET_CALL_MEMBER(dynax);
- gekisha_set_rombank(machine, 0);
+ gekisha_set_rombank(machine(), 0);
}
static MACHINE_CONFIG_START( gekisha, dynax_state )
@@ -4985,8 +4981,8 @@ static MACHINE_CONFIG_START( gekisha, dynax_state )
MCFG_CPU_IO_MAP(gekisha_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(gekisha)
- MCFG_MACHINE_RESET(gekisha)
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,gekisha)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,gekisha)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4999,8 +4995,8 @@ static MACHINE_CONFIG_START( gekisha, dynax_state )
MCFG_SCREEN_UPDATE_STATIC(mjdialq2)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(sprtmtch) // static palette
- MCFG_VIDEO_START(mjdialq2)
+ MCFG_PALETTE_INIT_OVERRIDE(dynax_state,sprtmtch) // static palette
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjdialq2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/dynduke.c b/src/mame/drivers/dynduke.c
index 07875ea4be3..60da0946272 100644
--- a/src/mame/drivers/dynduke.c
+++ b/src/mame/drivers/dynduke.c
@@ -300,7 +300,6 @@ static MACHINE_CONFIG_START( dynduke, dynduke_state )
MCFG_GFXDECODE(dynduke)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(dynduke)
// sound hardware
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
diff --git a/src/mame/drivers/ecoinfr.c b/src/mame/drivers/ecoinfr.c
index 9954e482e6c..6b0b82a6c1d 100644
--- a/src/mame/drivers/ecoinfr.c
+++ b/src/mame/drivers/ecoinfr.c
@@ -86,6 +86,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(ecoinfr_reel3_opto_r);
DECLARE_DRIVER_INIT(ecoinfr);
DECLARE_DRIVER_INIT(ecoinfrmab);
+ virtual void machine_reset();
};
@@ -614,36 +615,35 @@ static INPUT_PORTS_START( ecoinfr_barx )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
-static MACHINE_RESET( ecoinfr )
+void ecoinfr_state::machine_reset()
{
- ecoinfr_state *state = machine.driver_data<ecoinfr_state>();
-
-// state->port00_value = 0x00;
-// state->port01_value = 0x00;
-// state->port02_value = 0x00;
-// state->port03_value = 0x00;
-// state->port04_value = 0x00;
-// state->port05_value = 0x00;
-// state->port06_value = 0x00;
-// state->port07_value = 0x00;
-// state->port08_value = 0x00;
- state->port09_value = 0x00;
-// state->port0a_value = 0x00;
-// state->port0b_value = 0x00;
-// state->port0c_value = 0x00;
-// state->port0d_value = 0x00;
-// state->port0e_value = 0x00;
-// state->port0f_value = 0x00;
- state->port10_value = 0x00;
- state->port11_value = 0x00;
- state->port12_value = 0x00;
- state->port13_value = 0x00;
- state->port14_value = 0x00;
- state->port15_value = 0x00;
- state->port16_value = 0x00;
- state->port17_value = 0x00;
-
- state->irq_toggle = 0;
+
+// port00_value = 0x00;
+// port01_value = 0x00;
+// port02_value = 0x00;
+// port03_value = 0x00;
+// port04_value = 0x00;
+// port05_value = 0x00;
+// port06_value = 0x00;
+// port07_value = 0x00;
+// port08_value = 0x00;
+ port09_value = 0x00;
+// port0a_value = 0x00;
+// port0b_value = 0x00;
+// port0c_value = 0x00;
+// port0d_value = 0x00;
+// port0e_value = 0x00;
+// port0f_value = 0x00;
+ port10_value = 0x00;
+ port11_value = 0x00;
+ port12_value = 0x00;
+ port13_value = 0x00;
+ port14_value = 0x00;
+ port15_value = 0x00;
+ port16_value = 0x00;
+ port17_value = 0x00;
+
+ irq_toggle = 0;
}
static MACHINE_CONFIG_START( ecoinfr, ecoinfr_state )
@@ -652,7 +652,6 @@ static MACHINE_CONFIG_START( ecoinfr, ecoinfr_state )
MCFG_CPU_PROGRAM_MAP(memmap)
MCFG_CPU_IO_MAP(portmap)
MCFG_TIMER_ADD_PERIODIC("ectimer",ecoinfr_irq_timer, attotime::from_hz(250))
- MCFG_MACHINE_RESET(ecoinfr)
MCFG_I8251_ADD(UPD8251_TAG, default_i8251_interface)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/egghunt.c b/src/mame/drivers/egghunt.c
index 5f5b58360d2..200ecab5f04 100644
--- a/src/mame/drivers/egghunt.c
+++ b/src/mame/drivers/egghunt.c
@@ -76,6 +76,9 @@ public:
DECLARE_READ8_MEMBER(egghunt_okibanking_r);
DECLARE_WRITE8_MEMBER(egghunt_okibanking_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -168,14 +171,13 @@ WRITE8_MEMBER(egghunt_state::egghunt_atram_w)
}
-static VIDEO_START(egghunt)
+void egghunt_state::video_start()
{
- egghunt_state *state = machine.driver_data<egghunt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(egghunt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(egghunt_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->save_item(NAME(state->m_bgram));
- state->save_item(NAME(state->m_spram));
+ save_item(NAME(m_bgram));
+ save_item(NAME(m_spram));
}
static SCREEN_UPDATE_IND16(egghunt)
@@ -387,23 +389,21 @@ static GFXDECODE_START( egghunt )
GFXDECODE_END
-static MACHINE_START( egghunt )
+void egghunt_state::machine_start()
{
- egghunt_state *state = machine.driver_data<egghunt_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_gfx_banking));
- state->save_item(NAME(state->m_okibanking));
- state->save_item(NAME(state->m_vidram_bank));
+ save_item(NAME(m_gfx_banking));
+ save_item(NAME(m_okibanking));
+ save_item(NAME(m_vidram_bank));
}
-static MACHINE_RESET( egghunt )
+void egghunt_state::machine_reset()
{
- egghunt_state *state = machine.driver_data<egghunt_state>();
- state->m_gfx_banking = 0;
- state->m_okibanking = 0;
- state->m_vidram_bank = 0;
+ m_gfx_banking = 0;
+ m_okibanking = 0;
+ m_vidram_bank = 0;
}
static MACHINE_CONFIG_START( egghunt, egghunt_state )
@@ -417,8 +417,6 @@ static MACHINE_CONFIG_START( egghunt, egghunt_state )
MCFG_CPU_ADD("audiocpu", Z80,12000000/2) /* 6 MHz ?*/
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(egghunt)
- MCFG_MACHINE_RESET(egghunt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -431,7 +429,6 @@ static MACHINE_CONFIG_START( egghunt, egghunt_state )
MCFG_GFXDECODE(egghunt)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(egghunt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/embargo.c b/src/mame/drivers/embargo.c
index 9f846c894b1..c5796b8005e 100644
--- a/src/mame/drivers/embargo.c
+++ b/src/mame/drivers/embargo.c
@@ -27,6 +27,8 @@ public:
DECLARE_WRITE8_MEMBER(port_1_w);
DECLARE_WRITE8_MEMBER(port_2_w);
DECLARE_WRITE8_MEMBER(input_select_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -226,24 +228,22 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( embargo )
+void embargo_state::machine_start()
{
- embargo_state *state = machine.driver_data<embargo_state>();
/* register for state saving */
- state->save_item(NAME(state->m_dial_enable_1));
- state->save_item(NAME(state->m_dial_enable_2));
- state->save_item(NAME(state->m_input_select));
+ save_item(NAME(m_dial_enable_1));
+ save_item(NAME(m_dial_enable_2));
+ save_item(NAME(m_input_select));
}
-static MACHINE_RESET( embargo )
+void embargo_state::machine_reset()
{
- embargo_state *state = machine.driver_data<embargo_state>();
- state->m_dial_enable_1 = 0;
- state->m_dial_enable_2 = 0;
- state->m_input_select = 0;
+ m_dial_enable_1 = 0;
+ m_dial_enable_2 = 0;
+ m_input_select = 0;
}
/*************************************
@@ -259,8 +259,6 @@ static MACHINE_CONFIG_START( embargo, embargo_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_IO_MAP(main_io_map)
- MCFG_MACHINE_START(embargo)
- MCFG_MACHINE_RESET(embargo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/enigma2.c b/src/mame/drivers/enigma2.c
index e68d394d65d..3ceddf51373 100644
--- a/src/mame/drivers/enigma2.c
+++ b/src/mame/drivers/enigma2.c
@@ -87,6 +87,8 @@ public:
DECLARE_READ8_MEMBER(sound_latch_r);
DECLARE_WRITE8_MEMBER(protection_data_w);
DECLARE_DRIVER_INIT(enigma2);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -157,33 +159,31 @@ static void start_interrupt_timers( running_machine &machine )
-static MACHINE_START( enigma2 )
+void enigma2_state::machine_start()
{
- enigma2_state *state = machine.driver_data<enigma2_state>();
- create_interrupt_timers(machine);
+ create_interrupt_timers(machine());
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_blink_count));
- state->save_item(NAME(state->m_sound_latch));
- state->save_item(NAME(state->m_last_sound_data));
- state->save_item(NAME(state->m_protection_data));
- state->save_item(NAME(state->m_flip_screen));
+ save_item(NAME(m_blink_count));
+ save_item(NAME(m_sound_latch));
+ save_item(NAME(m_last_sound_data));
+ save_item(NAME(m_protection_data));
+ save_item(NAME(m_flip_screen));
}
-static MACHINE_RESET( enigma2 )
+void enigma2_state::machine_reset()
{
- enigma2_state *state = machine.driver_data<enigma2_state>();
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
- state->m_last_sound_data = 0;
- state->m_flip_screen = 0;
- state->m_sound_latch = 0;
- state->m_blink_count = 0;
+ m_last_sound_data = 0;
+ m_flip_screen = 0;
+ m_sound_latch = 0;
+ m_blink_count = 0;
- start_interrupt_timers(machine);
+ start_interrupt_timers(machine());
}
@@ -613,8 +613,6 @@ static MACHINE_CONFIG_START( enigma2, enigma2_state )
MCFG_CPU_PROGRAM_MAP(engima2_audio_cpu_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,8*52)
- MCFG_MACHINE_START(enigma2)
- MCFG_MACHINE_RESET(enigma2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -641,8 +639,6 @@ static MACHINE_CONFIG_START( enigma2a, enigma2_state )
MCFG_CPU_PROGRAM_MAP(engima2_audio_cpu_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,8*52)
- MCFG_MACHINE_START(enigma2)
- MCFG_MACHINE_RESET(enigma2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/eolith.c b/src/mame/drivers/eolith.c
index 5a32f1f61d4..9f71d5d9a4e 100644
--- a/src/mame/drivers/eolith.c
+++ b/src/mame/drivers/eolith.c
@@ -106,7 +106,7 @@
#include "includes/eolithsp.h"
-static MACHINE_RESET( eolith );
+
/*************************************
@@ -578,7 +578,7 @@ static MACHINE_CONFIG_START( eolith45, eolith_state )
MCFG_CPU_PROGRAM_MAP(sound_prg_map)
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_MACHINE_RESET(eolith)
+ MCFG_MACHINE_RESET_OVERRIDE(eolith_state,eolith)
MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C66)
@@ -597,7 +597,7 @@ static MACHINE_CONFIG_START( eolith45, eolith_state )
MCFG_PALETTE_INIT(RRRRR_GGGGG_BBBBB)
MCFG_PALETTE_LENGTH(32768)
- MCFG_VIDEO_START(eolith)
+ MCFG_VIDEO_START_OVERRIDE(eolith_state,eolith)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1433,9 +1433,9 @@ ROM_START( hidctch3 )
ROM_END
-static MACHINE_RESET( eolith )
+MACHINE_RESET_MEMBER(eolith_state,eolith)
{
- machine.device("soundcpu")->execute().set_input_line(MCS51_INT1_LINE, ASSERT_LINE);
+ machine().device("soundcpu")->execute().set_input_line(MCS51_INT1_LINE, ASSERT_LINE);
}
DRIVER_INIT_MEMBER(eolith_state,eolith)
diff --git a/src/mame/drivers/eolith16.c b/src/mame/drivers/eolith16.c
index 3e5c315dc56..0eb54fde3ac 100644
--- a/src/mame/drivers/eolith16.c
+++ b/src/mame/drivers/eolith16.c
@@ -31,6 +31,8 @@ public:
DECLARE_WRITE16_MEMBER(vram_w);
DECLARE_READ16_MEMBER(vram_r);
DECLARE_DRIVER_INIT(eolith16);
+ DECLARE_VIDEO_START(eolith16);
+ DECLARE_PALETTE_INIT(eolith16);
};
@@ -119,10 +121,9 @@ static INPUT_PORTS_START( eolith16 )
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
INPUT_PORTS_END
-static VIDEO_START( eolith16 )
+VIDEO_START_MEMBER(eolith16_state,eolith16)
{
- eolith16_state *state = machine.driver_data<eolith16_state>();
- state->m_vram = auto_alloc_array(machine, UINT16, 0x10000);
+ m_vram = auto_alloc_array(machine(), UINT16, 0x10000);
}
static SCREEN_UPDATE_IND16( eolith16 )
@@ -150,7 +151,7 @@ static SCREEN_UPDATE_IND16( eolith16 )
// setup a custom palette because pixels use 8 bits per color
-static PALETTE_INIT( eolith16 )
+PALETTE_INIT_MEMBER(eolith16_state,eolith16)
{
int c;
@@ -169,7 +170,7 @@ static PALETTE_INIT( eolith16 )
bit1 = (c >> 7) & 0x01;
b = 0x55 * bit0 + 0xaa * bit1;
- palette_set_color(machine,c,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),c,MAKE_RGB(r,g,b));
}
}
@@ -192,8 +193,8 @@ static MACHINE_CONFIG_START( eolith16, eolith16_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(eolith16)
- MCFG_VIDEO_START(eolith16)
+ MCFG_PALETTE_INIT_OVERRIDE(eolith16_state,eolith16)
+ MCFG_VIDEO_START_OVERRIDE(eolith16_state,eolith16)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/epos.c b/src/mame/drivers/epos.c
index 5db961b8d33..e0aa19cd52e 100644
--- a/src/mame/drivers/epos.c
+++ b/src/mame/drivers/epos.c
@@ -365,33 +365,31 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( epos )
+MACHINE_START_MEMBER(epos_state,epos)
{
- epos_state *state = machine.driver_data<epos_state>();
- state->save_item(NAME(state->m_palette));
- state->save_item(NAME(state->m_counter));
+ save_item(NAME(m_palette));
+ save_item(NAME(m_counter));
}
-static MACHINE_RESET( epos )
+void epos_state::machine_reset()
{
- epos_state *state = machine.driver_data<epos_state>();
- state->m_palette = 0;
- state->m_counter = 0;
+ m_palette = 0;
+ m_counter = 0;
}
-static MACHINE_START( dealer )
+MACHINE_START_MEMBER(epos_state,dealer)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 4, &ROM[0x0000], 0x10000);
- machine.root_device().membank("bank2")->configure_entries(0, 2, &ROM[0x6000], 0x1000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 4, &ROM[0x0000], 0x10000);
+ machine().root_device().membank("bank2")->configure_entries(0, 2, &ROM[0x6000], 0x1000);
- machine.root_device().membank("bank1")->set_entry(0);
- machine.root_device().membank("bank2")->set_entry(0);
+ machine().root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank2")->set_entry(0);
- MACHINE_START_CALL(epos);
+ MACHINE_START_CALL_MEMBER(epos);
}
static MACHINE_CONFIG_START( epos, epos_state )
@@ -402,8 +400,6 @@ static MACHINE_CONFIG_START( epos, epos_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_RESET(epos)
- MCFG_MACHINE_RESET(epos)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -430,8 +426,7 @@ static MACHINE_CONFIG_START( dealer, epos_state )
MCFG_I8255A_ADD( "ppi8255", ppi8255_intf )
- MCFG_MACHINE_START(dealer)
- MCFG_MACHINE_RESET(epos)
+ MCFG_MACHINE_START_OVERRIDE(epos_state,dealer)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/eprom.c b/src/mame/drivers/eprom.c
index 2f247ad42c4..c88baa6ec81 100644
--- a/src/mame/drivers/eprom.c
+++ b/src/mame/drivers/eprom.c
@@ -50,19 +50,18 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( eprom )
+MACHINE_START_MEMBER(eprom_state,eprom)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( eprom )
+MACHINE_RESET_MEMBER(eprom_state,eprom)
{
- eprom_state *state = machine.driver_data<eprom_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, eprom_scanline_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, eprom_scanline_update, 8);
atarijsa_reset();
}
@@ -414,8 +413,8 @@ static MACHINE_CONFIG_START( eprom, eprom_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(eprom)
- MCFG_MACHINE_RESET(eprom)
+ MCFG_MACHINE_START_OVERRIDE(eprom_state,eprom)
+ MCFG_MACHINE_RESET_OVERRIDE(eprom_state,eprom)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -429,7 +428,7 @@ static MACHINE_CONFIG_START( eprom, eprom_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(eprom)
- MCFG_VIDEO_START(eprom)
+ MCFG_VIDEO_START_OVERRIDE(eprom_state,eprom)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_mono_speech)
@@ -445,8 +444,8 @@ static MACHINE_CONFIG_START( klaxp, eprom_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(eprom)
- MCFG_MACHINE_RESET(eprom)
+ MCFG_MACHINE_START_OVERRIDE(eprom_state,eprom)
+ MCFG_MACHINE_RESET_OVERRIDE(eprom_state,eprom)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -460,7 +459,7 @@ static MACHINE_CONFIG_START( klaxp, eprom_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(eprom)
- MCFG_VIDEO_START(eprom)
+ MCFG_VIDEO_START_OVERRIDE(eprom_state,eprom)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono)
@@ -476,8 +475,8 @@ static MACHINE_CONFIG_START( guts, eprom_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(eprom)
- MCFG_MACHINE_RESET(eprom)
+ MCFG_MACHINE_START_OVERRIDE(eprom_state,eprom)
+ MCFG_MACHINE_RESET_OVERRIDE(eprom_state,eprom)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -491,7 +490,7 @@ static MACHINE_CONFIG_START( guts, eprom_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(guts)
- MCFG_VIDEO_START(guts)
+ MCFG_VIDEO_START_OVERRIDE(eprom_state,guts)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono)
diff --git a/src/mame/drivers/equites.c b/src/mame/drivers/equites.c
index 7820336fdd4..78ceaf7815b 100644
--- a/src/mame/drivers/equites.c
+++ b/src/mame/drivers/equites.c
@@ -1188,62 +1188,60 @@ MACHINE_CONFIG_END
/******************************************************************************/
-static MACHINE_START( equites )
+MACHINE_START_MEMBER(equites_state,equites)
{
- equites_state *state = machine.driver_data<equites_state>();
- state->m_mcu = machine.device("mcu");
- state->m_audio_cpu = machine.device("audiocpu");
- state->m_msm = machine.device<msm5232_device>("msm");
- state->m_dac_1 = machine.device<dac_device>("dac1");
- state->m_dac_2 = machine.device<dac_device>("dac2");
-
- state->save_item(NAME(state->m_fg_char_bank));
- state->save_item(NAME(state->m_bgcolor));
- state->save_item(NAME(state->m_splndrbt_bg_scrollx));
- state->save_item(NAME(state->m_splndrbt_bg_scrolly));
- state->save_item(NAME(state->m_sound_prom_address));
- state->save_item(NAME(state->m_dac_latch));
- state->save_item(NAME(state->m_eq8155_port_b));
- state->save_item(NAME(state->m_eq8155_port_a));
- state->save_item(NAME(state->m_eq8155_port_c));
- state->save_item(NAME(state->m_ay_port_a));
- state->save_item(NAME(state->m_ay_port_b));
- state->save_item(NAME(state->m_eq_cymbal_ctrl));
- state->save_item(NAME(state->m_cymvol));
- state->save_item(NAME(state->m_hihatvol));
- state->save_item(NAME(state->m_timer_count));
- state->save_item(NAME(state->m_unknown_bit));
+ m_mcu = machine().device("mcu");
+ m_audio_cpu = machine().device("audiocpu");
+ m_msm = machine().device<msm5232_device>("msm");
+ m_dac_1 = machine().device<dac_device>("dac1");
+ m_dac_2 = machine().device<dac_device>("dac2");
+
+ save_item(NAME(m_fg_char_bank));
+ save_item(NAME(m_bgcolor));
+ save_item(NAME(m_splndrbt_bg_scrollx));
+ save_item(NAME(m_splndrbt_bg_scrolly));
+ save_item(NAME(m_sound_prom_address));
+ save_item(NAME(m_dac_latch));
+ save_item(NAME(m_eq8155_port_b));
+ save_item(NAME(m_eq8155_port_a));
+ save_item(NAME(m_eq8155_port_c));
+ save_item(NAME(m_ay_port_a));
+ save_item(NAME(m_ay_port_b));
+ save_item(NAME(m_eq_cymbal_ctrl));
+ save_item(NAME(m_cymvol));
+ save_item(NAME(m_hihatvol));
+ save_item(NAME(m_timer_count));
+ save_item(NAME(m_unknown_bit));
#if POPDRUMKIT
- state->save_item(NAME(state->m_hihat));
- state->save_item(NAME(state->m_cymbal));
+ save_item(NAME(m_hihat));
+ save_item(NAME(m_cymbal));
#endif
}
-static MACHINE_RESET( equites )
+MACHINE_RESET_MEMBER(equites_state,equites)
{
- equites_state *state = machine.driver_data<equites_state>();
- state->flip_screen_set(0);
-
- state->m_fg_char_bank = 0;
- state->m_bgcolor = 0;
- state->m_splndrbt_bg_scrollx = 0;
- state->m_splndrbt_bg_scrolly = 0;
- state->m_sound_prom_address = 0;
- state->m_dac_latch = 0;
- state->m_eq8155_port_b = 0;
- state->m_eq8155_port_a = 0;
- state->m_eq8155_port_c = 0;
- state->m_ay_port_a = 0;
- state->m_ay_port_b = 0;
- state->m_eq_cymbal_ctrl = 0;
- state->m_cymvol = 0.0;
- state->m_hihatvol = 0.0;
- state->m_timer_count = 0;
- state->m_unknown_bit = 0;
+ flip_screen_set(0);
+
+ m_fg_char_bank = 0;
+ m_bgcolor = 0;
+ m_splndrbt_bg_scrollx = 0;
+ m_splndrbt_bg_scrolly = 0;
+ m_sound_prom_address = 0;
+ m_dac_latch = 0;
+ m_eq8155_port_b = 0;
+ m_eq8155_port_a = 0;
+ m_eq8155_port_c = 0;
+ m_ay_port_a = 0;
+ m_ay_port_b = 0;
+ m_eq_cymbal_ctrl = 0;
+ m_cymvol = 0.0;
+ m_hihatvol = 0.0;
+ m_timer_count = 0;
+ m_unknown_bit = 0;
#if POPDRUMKIT
- state->m_hihat = state->m_cymbal = 0;
+ m_hihat = m_cymbal = 0;
#endif
}
@@ -1269,11 +1267,11 @@ static MACHINE_CONFIG_START( equites, equites_state )
MCFG_GFXDECODE(equites)
MCFG_PALETTE_LENGTH(0x180)
- MCFG_PALETTE_INIT(equites)
- MCFG_VIDEO_START(equites)
+ MCFG_PALETTE_INIT_OVERRIDE(equites_state,equites)
+ MCFG_VIDEO_START_OVERRIDE(equites_state,equites)
- MCFG_MACHINE_START(equites)
- MCFG_MACHINE_RESET(equites)
+ MCFG_MACHINE_START_OVERRIDE(equites_state,equites)
+ MCFG_MACHINE_RESET_OVERRIDE(equites_state,equites)
MACHINE_CONFIG_END
@@ -1306,11 +1304,11 @@ static MACHINE_CONFIG_START( splndrbt, equites_state )
MCFG_GFXDECODE(splndrbt)
MCFG_PALETTE_LENGTH(0x280)
- MCFG_PALETTE_INIT(splndrbt)
- MCFG_VIDEO_START(splndrbt)
+ MCFG_PALETTE_INIT_OVERRIDE(equites_state,splndrbt)
+ MCFG_VIDEO_START_OVERRIDE(equites_state,splndrbt)
- MCFG_MACHINE_START(equites)
- MCFG_MACHINE_RESET(equites)
+ MCFG_MACHINE_START_OVERRIDE(equites_state,equites)
+ MCFG_MACHINE_RESET_OVERRIDE(equites_state,equites)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ertictac.c b/src/mame/drivers/ertictac.c
index 638c16a9fde..3dae19301ee 100644
--- a/src/mame/drivers/ertictac.c
+++ b/src/mame/drivers/ertictac.c
@@ -36,6 +36,8 @@ public:
DECLARE_READ32_MEMBER(ertictac_podule_r);
DECLARE_DRIVER_INIT(ertictac);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -193,17 +195,17 @@ DRIVER_INIT_MEMBER(ertictac_state,ertictac)
archimedes_driver_init(machine());
}
-static MACHINE_START( ertictac )
+void ertictac_state::machine_start()
{
- archimedes_init(machine);
+ archimedes_init(machine());
// reset the DAC to centerline
- //machine.device<dac_device>("dac")->write_signed8(0x80);
+ //machine().device<dac_device>("dac")->write_signed8(0x80);
}
-static MACHINE_RESET( ertictac )
+void ertictac_state::machine_reset()
{
- archimedes_reset(machine);
+ archimedes_reset(machine());
}
static INTERRUPT_GEN( ertictac_podule_irq )
@@ -226,8 +228,6 @@ static MACHINE_CONFIG_START( ertictac, ertictac_state )
MCFG_CPU_PROGRAM_MAP(ertictac_map)
MCFG_CPU_PERIODIC_INT(ertictac_podule_irq,60) // FIXME: timing of this
- MCFG_MACHINE_START(ertictac)
- MCFG_MACHINE_RESET(ertictac)
MCFG_I2CMEM_ADD("i2cmem",i2cmem_interface)
diff --git a/src/mame/drivers/esd16.c b/src/mame/drivers/esd16.c
index 8d96ab90a1a..99ed71bbff9 100644
--- a/src/mame/drivers/esd16.c
+++ b/src/mame/drivers/esd16.c
@@ -585,24 +585,22 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_START( esd16 )
+void esd16_state::machine_start()
{
- esd16_state *state = machine.driver_data<esd16_state>();
- UINT8 *AUDIO = state->memregion("audiocpu")->base();
+ UINT8 *AUDIO = memregion("audiocpu")->base();
- state->membank("bank1")->configure_entries(0, 16, &AUDIO[0x0000], 0x4000);
+ membank("bank1")->configure_entries(0, 16, &AUDIO[0x0000], 0x4000);
- state->m_audio_cpu = machine.device("audiocpu");
- state->m_eeprom = machine.device<eeprom_device>("eeprom");
+ m_audio_cpu = machine().device("audiocpu");
+ m_eeprom = machine().device<eeprom_device>("eeprom");
- state->save_item(NAME(state->m_tilemap0_color));
+ save_item(NAME(m_tilemap0_color));
}
-static MACHINE_RESET( esd16 )
+void esd16_state::machine_reset()
{
- esd16_state *state = machine.driver_data<esd16_state>();
- state->m_tilemap0_color = 0;
+ m_tilemap0_color = 0;
}
static UINT16 hedpanic_pri_callback(UINT16 x)
@@ -625,8 +623,6 @@ static MACHINE_CONFIG_START( esd16, esd16_state )
MCFG_CPU_IO_MAP(multchmp_sound_io_map)
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,32*60) /* IRQ By Main CPU */
- MCFG_MACHINE_START(esd16)
- MCFG_MACHINE_RESET(esd16)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -645,7 +641,6 @@ static MACHINE_CONFIG_START( esd16, esd16_state )
MCFG_GFXDECODE(esd16)
MCFG_PALETTE_LENGTH(0x1000/2)
- MCFG_VIDEO_START(esd16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/esh.c b/src/mame/drivers/esh.c
index 7ae5d339293..a11ce729649 100644
--- a/src/mame/drivers/esh.c
+++ b/src/mame/drivers/esh.c
@@ -47,6 +47,8 @@ public:
DECLARE_WRITE8_MEMBER(led_writes);
DECLARE_WRITE8_MEMBER(nmi_line_w);
DECLARE_DRIVER_INIT(esh);
+ virtual void machine_start();
+ virtual void palette_init();
};
@@ -223,13 +225,13 @@ static INPUT_PORTS_START( esh )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
-static PALETTE_INIT( esh )
+void esh_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* Oddly enough, the top 4 bits of each byte is 0 */
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int r,g,b;
int bit0,bit1,bit2;
@@ -254,11 +256,11 @@ static PALETTE_INIT( esh )
bit2 = (color_prom[i+0x100] >> 6) & 0x01;
b = (0x97 * bit2) + (0x47 * bit1) + (0x21 * bit0);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
/* make color 0 transparent */
- palette_set_color(machine, 0, MAKE_ARGB(0,0,0,0));
+ palette_set_color(machine(), 0, MAKE_ARGB(0,0,0,0));
}
static const gfx_layout esh_gfx_layout =
@@ -288,7 +290,7 @@ static INTERRUPT_GEN( vblank_callback_esh )
device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(irq_stop));
}
-static MACHINE_START( esh )
+void esh_state::machine_start()
{
}
@@ -304,7 +306,6 @@ static MACHINE_CONFIG_START( esh, esh_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_START(esh)
MCFG_LASERDISC_LDV1000_ADD("laserdisc")
MCFG_LASERDISC_OVERLAY_STATIC(256, 256, esh)
@@ -313,7 +314,6 @@ static MACHINE_CONFIG_START( esh, esh_state )
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(esh)
MCFG_GFXDECODE(esh)
diff --git a/src/mame/drivers/espial.c b/src/mame/drivers/espial.c
index 0dcf1022e7b..a909f64dbac 100644
--- a/src/mame/drivers/espial.c
+++ b/src/mame/drivers/espial.c
@@ -44,25 +44,23 @@ Stephh's notes (based on the games Z80 code and some tests) :
-static MACHINE_RESET( espial )
+void espial_state::machine_reset()
{
- espial_state *state = machine.driver_data<espial_state>();
- state->m_flipscreen = 0;
+ m_flipscreen = 0;
- state->m_main_nmi_enabled = FALSE;
- state->m_sound_nmi_enabled = FALSE;
+ m_main_nmi_enabled = FALSE;
+ m_sound_nmi_enabled = FALSE;
}
-static MACHINE_START( espial )
+void espial_state::machine_start()
{
- espial_state *state = machine.driver_data<espial_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- //state_save_register_global_array(machine, mcu_out[1]);
- state->save_item(NAME(state->m_sound_nmi_enabled));
+ //state_save_register_global_array(machine(), mcu_out[1]);
+ save_item(NAME(m_sound_nmi_enabled));
}
@@ -332,8 +330,6 @@ static MACHINE_CONFIG_START( espial, espial_state )
MCFG_CPU_IO_MAP(espial_sound_io_map)
MCFG_CPU_PERIODIC_INT(espial_sound_nmi_gen,4*60)
- MCFG_MACHINE_RESET(espial)
- MCFG_MACHINE_START(espial)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -346,8 +342,6 @@ static MACHINE_CONFIG_START( espial, espial_state )
MCFG_GFXDECODE(espial)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(espial)
- MCFG_VIDEO_START(espial)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -366,7 +360,7 @@ static MACHINE_CONFIG_DERIVED( netwars, espial )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(32*8, 64*8)
- MCFG_VIDEO_START(netwars)
+ MCFG_VIDEO_START_OVERRIDE(espial_state,netwars)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/esripsys.c b/src/mame/drivers/esripsys.c
index b2a96ef963d..cc581d83a22 100644
--- a/src/mame/drivers/esripsys.c
+++ b/src/mame/drivers/esripsys.c
@@ -719,7 +719,6 @@ static MACHINE_CONFIG_START( esripsys, esripsys_state )
MCFG_SCREEN_UPDATE_STATIC(esripsys)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(esripsys)
/* Sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ettrivia.c b/src/mame/drivers/ettrivia.c
index 4966cd07a0a..711903fcb4f 100644
--- a/src/mame/drivers/ettrivia.c
+++ b/src/mame/drivers/ettrivia.c
@@ -58,6 +58,8 @@ public:
DECLARE_WRITE8_MEMBER(b800_w);
TILE_GET_INFO_MEMBER(get_tile_info_bg);
TILE_GET_INFO_MEMBER(get_tile_info_fg);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -213,9 +215,9 @@ TILE_GET_INFO_MEMBER(ettrivia_state::get_tile_info_fg)
get_tile_info(machine(), tileinfo, tile_index, m_fg_videoram, 1);
}
-static PALETTE_INIT( ettrivia )
+void ettrivia_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[2] = { 270, 130 };
double weights[2];
int i;
@@ -226,7 +228,7 @@ static PALETTE_INIT( ettrivia )
2, resistances, weights, 0, 0,
0, 0, 0, 0, 0);
- for (i = 0;i < machine.total_colors(); i++)
+ for (i = 0;i < machine().total_colors(); i++)
{
int bit0, bit1;
int r, g, b;
@@ -246,17 +248,16 @@ static PALETTE_INIT( ettrivia )
bit1 = (color_prom[i+0x100] >> 1) & 0x01;
b = combine_2_weights(weights, bit0, bit1);
- palette_set_color(machine, BITSWAP8(i,5,7,6,2,1,0,4,3), MAKE_RGB(r, g, b));
+ palette_set_color(machine(), BITSWAP8(i,5,7,6,2,1,0,4,3), MAKE_RGB(r, g, b));
}
}
-static VIDEO_START( ettrivia )
+void ettrivia_state::video_start()
{
- ettrivia_state *state = machine.driver_data<ettrivia_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ettrivia_state::get_tile_info_bg),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ettrivia_state::get_tile_info_fg),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ettrivia_state::get_tile_info_bg),this),TILEMAP_SCAN_ROWS,8,8,64,32 );
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ettrivia_state::get_tile_info_fg),this),TILEMAP_SCAN_ROWS,8,8,64,32 );
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16( ettrivia )
@@ -315,8 +316,6 @@ static MACHINE_CONFIG_START( ettrivia, ettrivia_state )
MCFG_GFXDECODE(ettrivia)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(ettrivia)
- MCFG_VIDEO_START(ettrivia)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/exedexes.c b/src/mame/drivers/exedexes.c
index 3a6c5b8f78d..a2c82bf00f3 100644
--- a/src/mame/drivers/exedexes.c
+++ b/src/mame/drivers/exedexes.c
@@ -205,24 +205,22 @@ static const sn76496_config psg_intf =
};
-static MACHINE_START( exedexes )
+void exedexes_state::machine_start()
{
- exedexes_state *state = machine.driver_data<exedexes_state>();
- state->save_item(NAME(state->m_chon));
- state->save_item(NAME(state->m_objon));
- state->save_item(NAME(state->m_sc1on));
- state->save_item(NAME(state->m_sc2on));
+ save_item(NAME(m_chon));
+ save_item(NAME(m_objon));
+ save_item(NAME(m_sc1on));
+ save_item(NAME(m_sc2on));
}
-static MACHINE_RESET( exedexes )
+void exedexes_state::machine_reset()
{
- exedexes_state *state = machine.driver_data<exedexes_state>();
- state->m_chon = 0;
- state->m_objon = 0;
- state->m_sc1on = 0;
- state->m_sc2on = 0;
+ m_chon = 0;
+ m_objon = 0;
+ m_sc1on = 0;
+ m_sc2on = 0;
}
static MACHINE_CONFIG_START( exedexes, exedexes_state )
@@ -236,8 +234,6 @@ static MACHINE_CONFIG_START( exedexes, exedexes_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60)
- MCFG_MACHINE_START(exedexes)
- MCFG_MACHINE_RESET(exedexes)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -253,8 +249,6 @@ static MACHINE_CONFIG_START( exedexes, exedexes_state )
MCFG_GFXDECODE(exedexes)
MCFG_PALETTE_LENGTH(64*4+64*4+16*16+16*16)
- MCFG_PALETTE_INIT(exedexes)
- MCFG_VIDEO_START(exedexes)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/exerion.c b/src/mame/drivers/exerion.c
index 750e13a77d1..8c89178b8a2 100644
--- a/src/mame/drivers/exerion.c
+++ b/src/mame/drivers/exerion.c
@@ -377,35 +377,33 @@ static const ay8910_interface ay8910_config =
*
*************************************/
-static MACHINE_START( exerion )
+void exerion_state::machine_start()
{
- exerion_state *state = machine.driver_data<exerion_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_porta));
- state->save_item(NAME(state->m_portb));
- state->save_item(NAME(state->m_cocktail_flip));
- state->save_item(NAME(state->m_char_palette));
- state->save_item(NAME(state->m_sprite_palette));
- state->save_item(NAME(state->m_char_bank));
- state->save_item(NAME(state->m_background_latches));
+ save_item(NAME(m_porta));
+ save_item(NAME(m_portb));
+ save_item(NAME(m_cocktail_flip));
+ save_item(NAME(m_char_palette));
+ save_item(NAME(m_sprite_palette));
+ save_item(NAME(m_char_bank));
+ save_item(NAME(m_background_latches));
}
-static MACHINE_RESET( exerion )
+void exerion_state::machine_reset()
{
- exerion_state *state = machine.driver_data<exerion_state>();
int i;
- state->m_porta = 0;
- state->m_portb = 0;
- state->m_cocktail_flip = 0;
- state->m_char_palette = 0;
- state->m_sprite_palette = 0;
- state->m_char_bank = 0;
+ m_porta = 0;
+ m_portb = 0;
+ m_cocktail_flip = 0;
+ m_char_palette = 0;
+ m_sprite_palette = 0;
+ m_char_bank = 0;
for (i = 0; i < 13; i++)
- state->m_background_latches[i] = 0;
+ m_background_latches[i] = 0;
}
static MACHINE_CONFIG_START( exerion, exerion_state )
@@ -416,8 +414,6 @@ static MACHINE_CONFIG_START( exerion, exerion_state )
MCFG_CPU_ADD("sub", Z80, EXERION_CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(sub_map)
- MCFG_MACHINE_START(exerion)
- MCFG_MACHINE_RESET(exerion)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -427,8 +423,6 @@ static MACHINE_CONFIG_START( exerion, exerion_state )
MCFG_GFXDECODE(exerion)
MCFG_PALETTE_LENGTH(256*3)
- MCFG_PALETTE_INIT(exerion)
- MCFG_VIDEO_START(exerion)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/exidy.c b/src/mame/drivers/exidy.c
index 16b3c62eb27..47f0b283af2 100644
--- a/src/mame/drivers/exidy.c
+++ b/src/mame/drivers/exidy.c
@@ -791,10 +791,9 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( teetert )
+MACHINE_START_MEMBER(exidy_state,teetert)
{
- exidy_state *state = machine.driver_data<exidy_state>();
- state_save_register_global(machine, state->m_last_dial);
+ state_save_register_global(machine(), m_last_dial);
}
/*************************************
@@ -811,7 +810,6 @@ static MACHINE_CONFIG_START( base, exidy_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(exidy)
MCFG_GFXDECODE(exidy)
MCFG_PALETTE_LENGTH(8)
@@ -882,7 +880,7 @@ static MACHINE_CONFIG_DERIVED( teetert, venture )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,10*60)
- MCFG_MACHINE_START( teetert )
+ MCFG_MACHINE_START_OVERRIDE(exidy_state, teetert )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/exidy440.c b/src/mame/drivers/exidy440.c
index c16ce0940c3..2a763ba0a16 100644
--- a/src/mame/drivers/exidy440.c
+++ b/src/mame/drivers/exidy440.c
@@ -441,21 +441,19 @@ WRITE8_MEMBER(exidy440_state::topsecex_yscroll_w)
*
*************************************/
-static MACHINE_START( exidy440 )
+void exidy440_state::machine_start()
{
- exidy440_state *state = machine.driver_data<exidy440_state>();
/* the EEROM lives in the uppermost 8k of the top bank */
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
- state->m_custom = machine.device("custom");
- machine.device<nvram_device>("nvram")->set_base(&rom[0x10000 + 15 * 0x4000 + 0x2000], 0x2000);
+ m_custom = machine().device("custom");
+ machine().device<nvram_device>("nvram")->set_base(&rom[0x10000 + 15 * 0x4000 + 0x2000], 0x2000);
}
-static MACHINE_RESET( exidy440 )
+void exidy440_state::machine_reset()
{
- exidy440_state *state = machine.driver_data<exidy440_state>();
- state->m_bank = 0xff;
- exidy440_bank_select(machine, 0);
+ m_bank = 0xff;
+ exidy440_bank_select(machine(), 0);
}
@@ -1003,8 +1001,6 @@ static MACHINE_CONFIG_START( exidy440, exidy440_state )
MCFG_CPU_PROGRAM_MAP(exidy440_map)
MCFG_CPU_VBLANK_INT("screen", exidy440_vblank_interrupt)
- MCFG_MACHINE_START(exidy440)
- MCFG_MACHINE_RESET(exidy440)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
diff --git a/src/mame/drivers/expro02.c b/src/mame/drivers/expro02.c
index fd8718ba6fb..9a30a91cedd 100644
--- a/src/mame/drivers/expro02.c
+++ b/src/mame/drivers/expro02.c
@@ -179,10 +179,13 @@ public:
DECLARE_WRITE16_MEMBER(galsnew_vram_0_bank_w);
DECLARE_WRITE16_MEMBER(galsnew_vram_1_bank_w);
DECLARE_DRIVER_INIT(galsnew);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
-PALETTE_INIT( galsnew )
+void expro02_state::palette_init()
{
int i;
@@ -190,7 +193,7 @@ PALETTE_INIT( galsnew )
/* initialize 555 RGB lookup */
for (i = 0; i < 32768; i++)
- palette_set_color_rgb(machine,2048 + i,pal5bit(i >> 5),pal5bit(i >> 10),pal5bit(i >> 0));
+ palette_set_color_rgb(machine(),2048 + i,pal5bit(i >> 5),pal5bit(i >> 10),pal5bit(i >> 0));
}
SCREEN_UPDATE_IND16( galsnew )
@@ -248,7 +251,7 @@ SCREEN_UPDATE_IND16( galsnew )
return 0;
}
-VIDEO_START( galsnew )
+void expro02_state::video_start()
{
}
@@ -506,9 +509,8 @@ static TIMER_DEVICE_CALLBACK( expro02_scanline )
timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
}
-static MACHINE_RESET( galsnew )
+void expro02_state::machine_reset()
{
-// expro02_state *state = machine.driver_data<expro02_state>();
}
/*************************************
@@ -559,7 +561,6 @@ static MACHINE_CONFIG_START( galsnew, expro02_state )
MCFG_GFXDECODE(1x4bit_1x4bit)
MCFG_PALETTE_LENGTH(2048 + 32768)
- MCFG_MACHINE_RESET( galsnew )
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
@@ -573,8 +574,6 @@ static MACHINE_CONFIG_START( galsnew, expro02_state )
kaneko_hit_device::set_type(*device, 0);
- MCFG_VIDEO_START(galsnew)
- MCFG_PALETTE_INIT(galsnew)
/* arm watchdog */
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
diff --git a/src/mame/drivers/exprraid.c b/src/mame/drivers/exprraid.c
index 89c42528c1f..0953205323a 100644
--- a/src/mame/drivers/exprraid.c
+++ b/src/mame/drivers/exprraid.c
@@ -468,24 +468,22 @@ static INTERRUPT_GEN( exprraid_interrupt )
#endif
-static MACHINE_START( exprraid )
+void exprraid_state::machine_start()
{
- exprraid_state *state = machine.driver_data<exprraid_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_slave = machine.device("slave");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_slave = machine().device("slave");
- state->save_item(NAME(state->m_bg_index));
+ save_item(NAME(m_bg_index));
}
-static MACHINE_RESET( exprraid )
+void exprraid_state::machine_reset()
{
- exprraid_state *state = machine.driver_data<exprraid_state>();
- state->m_bg_index[0] = 0;
- state->m_bg_index[1] = 0;
- state->m_bg_index[2] = 0;
- state->m_bg_index[3] = 0;
+ m_bg_index[0] = 0;
+ m_bg_index[1] = 0;
+ m_bg_index[2] = 0;
+ m_bg_index[3] = 0;
}
static MACHINE_CONFIG_START( exprraid, exprraid_state )
@@ -498,8 +496,6 @@ static MACHINE_CONFIG_START( exprraid, exprraid_state )
MCFG_CPU_ADD("slave", M6809, 2000000) /* 2 MHz ??? */
MCFG_CPU_PROGRAM_MAP(slave_map)
/* IRQs are caused by the YM3526 */
- MCFG_MACHINE_START(exprraid)
- MCFG_MACHINE_RESET(exprraid)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -513,7 +509,6 @@ static MACHINE_CONFIG_START( exprraid, exprraid_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(exprraid)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/exterm.c b/src/mame/drivers/exterm.c
index bf753b26324..d4e8d1c533b 100644
--- a/src/mame/drivers/exterm.c
+++ b/src/mame/drivers/exterm.c
@@ -467,7 +467,6 @@ static MACHINE_CONFIG_START( exterm, exterm_state )
MCFG_SCREEN_RAW_PARAMS(40000000/8, 318, 0, 256, 264, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(tms340x0_ind16)
- MCFG_PALETTE_INIT(exterm)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c
index 74845a475cc..18a27ec18b0 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -413,40 +413,37 @@ static const k053936_interface f1gp2_k053936_intf =
};
-static MACHINE_START( f1gpb )
+MACHINE_START_MEMBER(f1gp_state,f1gpb)
{
- f1gp_state *state = machine.driver_data<f1gp_state>();
- state->save_item(NAME(state->m_pending_command));
- state->save_item(NAME(state->m_roz_bank));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_gfxctrl));
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_pending_command));
+ save_item(NAME(m_roz_bank));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_gfxctrl));
+ save_item(NAME(m_scroll));
}
-static MACHINE_START( f1gp )
+MACHINE_START_MEMBER(f1gp_state,f1gp)
{
- f1gp_state *state = machine.driver_data<f1gp_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- state->membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x8000);
+ membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x8000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053936 = machine.device("k053936");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053936 = machine().device("k053936");
- MACHINE_START_CALL(f1gpb);
+ MACHINE_START_CALL_MEMBER(f1gpb);
}
-static MACHINE_RESET( f1gp )
+MACHINE_RESET_MEMBER(f1gp_state,f1gp)
{
- f1gp_state *state = machine.driver_data<f1gp_state>();
-
- state->m_pending_command = 0;
- state->m_roz_bank = 0;
- state->m_flipscreen = 0;
- state->m_gfxctrl = 0;
- state->m_scroll[0] = 0;
- state->m_scroll[1] = 0;
+
+ m_pending_command = 0;
+ m_roz_bank = 0;
+ m_flipscreen = 0;
+ m_gfxctrl = 0;
+ m_scroll[0] = 0;
+ m_scroll[1] = 0;
}
static MACHINE_CONFIG_START( f1gp, f1gp_state )
@@ -466,8 +463,8 @@ static MACHINE_CONFIG_START( f1gp, f1gp_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- MCFG_MACHINE_START(f1gp)
- MCFG_MACHINE_RESET(f1gp)
+ MCFG_MACHINE_START_OVERRIDE(f1gp_state,f1gp)
+ MCFG_MACHINE_RESET_OVERRIDE(f1gp_state,f1gp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -479,7 +476,7 @@ static MACHINE_CONFIG_START( f1gp, f1gp_state )
MCFG_GFXDECODE(f1gp)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(f1gp)
+ MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp)
MCFG_K053936_ADD("k053936", f1gp_k053936_intf)
@@ -509,8 +506,8 @@ static MACHINE_CONFIG_START( f1gpb, f1gp_state )
/* NO sound CPU */
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- MCFG_MACHINE_START(f1gpb)
- MCFG_MACHINE_RESET(f1gp)
+ MCFG_MACHINE_START_OVERRIDE(f1gp_state,f1gpb)
+ MCFG_MACHINE_RESET_OVERRIDE(f1gp_state,f1gp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -522,7 +519,7 @@ static MACHINE_CONFIG_START( f1gpb, f1gp_state )
MCFG_GFXDECODE(f1gp)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(f1gpb)
+ MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gpb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -548,7 +545,7 @@ static MACHINE_CONFIG_DERIVED( f1gp2, f1gp )
MCFG_DEVICE_REMOVE("k053936")
MCFG_K053936_ADD("k053936", f1gp2_k053936_intf)
- MCFG_VIDEO_START(f1gp2)
+ MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/famibox.c b/src/mame/drivers/famibox.c
index ddc775e8b26..2aa36998a79 100644
--- a/src/mame/drivers/famibox.c
+++ b/src/mame/drivers/famibox.c
@@ -105,6 +105,10 @@ public:
DECLARE_READ8_MEMBER(psg_4015_r);
DECLARE_WRITE8_MEMBER(psg_4015_w);
DECLARE_WRITE8_MEMBER(psg_4017_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/******************************************************
@@ -508,10 +512,10 @@ static const nes_interface famibox_interface_1 =
"maincpu"
};
-static PALETTE_INIT( famibox )
+void famibox_state::palette_init()
{
- ppu2c0x_device *ppu = machine.device<ppu2c0x_device>("ppu");
- ppu->init_palette(machine, 0);
+ ppu2c0x_device *ppu = machine().device<ppu2c0x_device>("ppu");
+ ppu->init_palette(machine(), 0);
}
static void ppu_irq( device_t *device, int *ppu_regs )
@@ -530,7 +534,7 @@ static const ppu2c0x_interface ppu_interface =
ppu_irq /* irq */
};
-static VIDEO_START( famibox )
+void famibox_state::video_start()
{
}
@@ -546,33 +550,32 @@ static GFXDECODE_START( famibox )
/* none, the ppu generates one */
GFXDECODE_END
-static MACHINE_RESET( famibox )
+void famibox_state::machine_reset()
{
- famicombox_bankswitch(machine, 0);
+ famicombox_bankswitch(machine(), 0);
}
-static MACHINE_START( famibox )
+void famibox_state::machine_start()
{
- famibox_state *state = machine.driver_data<famibox_state>();
- state->m_nt_ram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_nt_page[0] = state->m_nt_ram;
- state->m_nt_page[1] = state->m_nt_ram + 0x400;
- state->m_nt_page[2] = state->m_nt_ram + 0x800;
- state->m_nt_page[3] = state->m_nt_ram + 0xc00;
+ m_nt_ram = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_nt_page[0] = m_nt_ram;
+ m_nt_page[1] = m_nt_ram + 0x400;
+ m_nt_page[2] = m_nt_ram + 0x800;
+ m_nt_page[3] = m_nt_ram + 0xc00;
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(famibox_state::famibox_nt_r), state), write8_delegate(FUNC(famibox_state::famibox_nt_w), state));
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "ppubank1");
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(famibox_state::famibox_nt_r), this), write8_delegate(FUNC(famibox_state::famibox_nt_w), this));
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "ppubank1");
- famicombox_bankswitch(machine, 0);
+ famicombox_bankswitch(machine(), 0);
- state->m_attract_timer = machine.scheduler().timer_alloc(FUNC(famicombox_attract_timer_callback));
- state->m_gameplay_timer = machine.scheduler().timer_alloc(FUNC(famicombox_gameplay_timer_callback));
- state->m_exception_cause = 0xff;
- state->m_exception_mask = 0;
- state->m_attract_timer_period = 0;
- state->m_money_reg = 0;
- state->m_coins = 0;
+ m_attract_timer = machine().scheduler().timer_alloc(FUNC(famicombox_attract_timer_callback));
+ m_gameplay_timer = machine().scheduler().timer_alloc(FUNC(famicombox_gameplay_timer_callback));
+ m_exception_cause = 0xff;
+ m_exception_mask = 0;
+ m_attract_timer_period = 0;
+ m_money_reg = 0;
+ m_coins = 0;
}
static MACHINE_CONFIG_START( famibox, famibox_state )
@@ -580,8 +583,6 @@ static MACHINE_CONFIG_START( famibox, famibox_state )
MCFG_CPU_ADD("maincpu", N2A03, N2A03_DEFAULTCLOCK)
MCFG_CPU_PROGRAM_MAP(famibox_map)
- MCFG_MACHINE_START( famibox )
- MCFG_MACHINE_RESET( famibox )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -593,8 +594,6 @@ static MACHINE_CONFIG_START( famibox, famibox_state )
MCFG_GFXDECODE(famibox)
MCFG_PALETTE_LENGTH(8*4*16)
- MCFG_PALETTE_INIT(famibox)
- MCFG_VIDEO_START(famibox)
MCFG_PPU2C04_ADD("ppu", ppu_interface)
diff --git a/src/mame/drivers/fantland.c b/src/mame/drivers/fantland.c
index 5af6a13619b..8b65d0f41d5 100644
--- a/src/mame/drivers/fantland.c
+++ b/src/mame/drivers/fantland.c
@@ -816,19 +816,17 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_START( fantland )
+MACHINE_START_MEMBER(fantland_state,fantland)
{
- fantland_state *state = machine.driver_data<fantland_state>();
- state->m_audio_cpu = machine.device("audiocpu");
+ m_audio_cpu = machine().device("audiocpu");
- state->save_item(NAME(state->m_nmi_enable));
+ save_item(NAME(m_nmi_enable));
}
-static MACHINE_RESET( fantland )
+MACHINE_RESET_MEMBER(fantland_state,fantland)
{
- fantland_state *state = machine.driver_data<fantland_state>();
- state->m_nmi_enable = 0;
+ m_nmi_enable = 0;
}
static INTERRUPT_GEN( fantland_irq )
@@ -856,8 +854,8 @@ static MACHINE_CONFIG_START( fantland, fantland_state )
MCFG_CPU_PERIODIC_INT(fantland_sound_irq, 8000)
// NMI when soundlatch is written
- MCFG_MACHINE_START(fantland)
- MCFG_MACHINE_RESET(fantland)
+ MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland)
+ MCFG_MACHINE_RESET_OVERRIDE(fantland_state,fantland)
MCFG_QUANTUM_TIME(attotime::from_hz(8000)) // sound irq must feed the DAC at 8kHz
@@ -908,8 +906,8 @@ static MACHINE_CONFIG_START( galaxygn, fantland_state )
MCFG_CPU_IO_MAP(galaxygn_sound_iomap)
// IRQ by YM2151, NMI when soundlatch is written
- MCFG_MACHINE_START(fantland)
- MCFG_MACHINE_RESET(fantland)
+ MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland)
+ MCFG_MACHINE_RESET_OVERRIDE(fantland_state,fantland)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -954,54 +952,52 @@ static const msm5205_interface msm5205_config_3 =
MSM5205_S48_4B /* 8 kHz, 4 Bits */
};
-static MACHINE_START( borntofi )
+MACHINE_START_MEMBER(fantland_state,borntofi)
{
- fantland_state *state = machine.driver_data<fantland_state>();
-
- MACHINE_START_CALL(fantland);
-
- state->m_msm1 = machine.device("msm1");
- state->m_msm2 = machine.device("msm2");
- state->m_msm3 = machine.device("msm3");
- state->m_msm4 = machine.device("msm4");
-
- state->save_item(NAME(state->m_old_x));
- state->save_item(NAME(state->m_old_y));
- state->save_item(NAME(state->m_old_f));
- state->save_item(NAME(state->m_input_ret));
- state->save_item(NAME(state->m_adpcm_playing));
- state->save_item(NAME(state->m_adpcm_addr[0]));
- state->save_item(NAME(state->m_adpcm_addr[1]));
- state->save_item(NAME(state->m_adpcm_nibble));
+
+ MACHINE_START_CALL_MEMBER(fantland);
+
+ m_msm1 = machine().device("msm1");
+ m_msm2 = machine().device("msm2");
+ m_msm3 = machine().device("msm3");
+ m_msm4 = machine().device("msm4");
+
+ save_item(NAME(m_old_x));
+ save_item(NAME(m_old_y));
+ save_item(NAME(m_old_f));
+ save_item(NAME(m_input_ret));
+ save_item(NAME(m_adpcm_playing));
+ save_item(NAME(m_adpcm_addr[0]));
+ save_item(NAME(m_adpcm_addr[1]));
+ save_item(NAME(m_adpcm_nibble));
}
-static MACHINE_RESET( borntofi )
+MACHINE_RESET_MEMBER(fantland_state,borntofi)
{
- fantland_state *state = machine.driver_data<fantland_state>();
int i;
- MACHINE_RESET_CALL(fantland);
+ MACHINE_RESET_CALL_MEMBER(fantland);
for (i = 0; i < 2; i++)
{
- state->m_old_x[i] = 0;
- state->m_old_y[i] = 0;
- state->m_old_f[i] = 0;
- state->m_input_ret[i] = 0;
+ m_old_x[i] = 0;
+ m_old_y[i] = 0;
+ m_old_f[i] = 0;
+ m_input_ret[i] = 0;
}
for (i = 0; i < 4; i++)
{
- state->m_adpcm_playing[i] = 1;
- state->m_adpcm_addr[0][i] = 0;
- state->m_adpcm_addr[1][i] = 0;
- state->m_adpcm_nibble[i] = 0;
+ m_adpcm_playing[i] = 1;
+ m_adpcm_addr[0][i] = 0;
+ m_adpcm_addr[1][i] = 0;
+ m_adpcm_nibble[i] = 0;
}
- borntofi_adpcm_stop(machine.device("msm1"), 0);
- borntofi_adpcm_stop(machine.device("msm2"), 1);
- borntofi_adpcm_stop(machine.device("msm3"), 2);
- borntofi_adpcm_stop(machine.device("msm4"), 3);
+ borntofi_adpcm_stop(machine().device("msm1"), 0);
+ borntofi_adpcm_stop(machine().device("msm2"), 1);
+ borntofi_adpcm_stop(machine().device("msm3"), 2);
+ borntofi_adpcm_stop(machine().device("msm4"), 3);
}
static MACHINE_CONFIG_START( borntofi, fantland_state )
@@ -1014,8 +1010,8 @@ static MACHINE_CONFIG_START( borntofi, fantland_state )
MCFG_CPU_ADD("audiocpu", I8088, 18432000/3) // 8088 - AMD P8088-2 CPU, running at 6.144MHz [18.432/3]
MCFG_CPU_PROGRAM_MAP(borntofi_sound_map)
- MCFG_MACHINE_START(borntofi)
- MCFG_MACHINE_RESET(borntofi)
+ MCFG_MACHINE_START_OVERRIDE(fantland_state,borntofi)
+ MCFG_MACHINE_RESET_OVERRIDE(fantland_state,borntofi)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1054,8 +1050,8 @@ static MACHINE_CONFIG_START( wheelrun, fantland_state )
MCFG_CPU_PROGRAM_MAP(wheelrun_sound_map)
// IRQ by YM3526, NMI when soundlatch is written
- MCFG_MACHINE_START(fantland)
- MCFG_MACHINE_RESET(fantland)
+ MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland)
+ MCFG_MACHINE_RESET_OVERRIDE(fantland_state,fantland)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/fastfred.c b/src/mame/drivers/fastfred.c
index 2bac8245be7..215d9eddd55 100644
--- a/src/mame/drivers/fastfred.c
+++ b/src/mame/drivers/fastfred.c
@@ -124,10 +124,9 @@ READ8_MEMBER(fastfred_state::boggy84_custom_io_r)
*/
-static MACHINE_START( imago )
+MACHINE_START_MEMBER(fastfred_state,imago)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- machine.gfx[1]->set_source(state->m_imago_sprites);
+ machine().gfx[1]->set_source(m_imago_sprites);
}
WRITE8_MEMBER(fastfred_state::imago_dma_irq_w)
@@ -665,8 +664,8 @@ static MACHINE_CONFIG_START( fastfred, fastfred_state )
MCFG_GFXDECODE(fastfred)
MCFG_PALETTE_LENGTH(32*8)
- MCFG_PALETTE_INIT(fastfred)
- MCFG_VIDEO_START(fastfred)
+ MCFG_PALETTE_INIT_OVERRIDE(fastfred_state,fastfred)
+ MCFG_VIDEO_START_OVERRIDE(fastfred_state,fastfred)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -699,13 +698,13 @@ static MACHINE_CONFIG_DERIVED( imago, fastfred )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(imago_map)
- MCFG_MACHINE_START(imago)
+ MCFG_MACHINE_START_OVERRIDE(fastfred_state,imago)
/* video hardware */
MCFG_PALETTE_LENGTH(256+64+2) /* 256 for characters, 64 for the stars and 2 for the web */
MCFG_GFXDECODE(imago)
- MCFG_VIDEO_START(imago)
+ MCFG_VIDEO_START_OVERRIDE(fastfred_state,imago)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(imago)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/fastlane.c b/src/mame/drivers/fastlane.c
index 51d13a05087..d028286b156 100644
--- a/src/mame/drivers/fastlane.c
+++ b/src/mame/drivers/fastlane.c
@@ -203,15 +203,14 @@ static const k007232_interface k007232_interface_2 =
volume_callback1
};
-static MACHINE_START( fastlane )
+void fastlane_state::machine_start()
{
- fastlane_state *state = machine.driver_data<fastlane_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
- state->m_konami2 = machine.device("konami2");
- state->m_k007121 = machine.device("k007121");
+ m_konami2 = machine().device("konami2");
+ m_k007121 = machine().device("k007121");
}
static MACHINE_CONFIG_START( fastlane, fastlane_state )
@@ -221,7 +220,6 @@ static MACHINE_CONFIG_START( fastlane, fastlane_state )
MCFG_CPU_PROGRAM_MAP(fastlane_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", fastlane_scanline, "screen", 0, 1)
- MCFG_MACHINE_START(fastlane)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -234,8 +232,6 @@ static MACHINE_CONFIG_START( fastlane, fastlane_state )
MCFG_GFXDECODE(fastlane)
MCFG_PALETTE_LENGTH(1024*16)
- MCFG_PALETTE_INIT(fastlane)
- MCFG_VIDEO_START(fastlane)
MCFG_K007121_ADD("k007121")
MCFG_K051733_ADD("k051733")
diff --git a/src/mame/drivers/fcombat.c b/src/mame/drivers/fcombat.c
index ed2ffe9c24d..e7890604b7a 100644
--- a/src/mame/drivers/fcombat.c
+++ b/src/mame/drivers/fcombat.c
@@ -257,34 +257,32 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( fcombat )
+void fcombat_state::machine_start()
{
- fcombat_state *state = machine.driver_data<fcombat_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
-
- state->save_item(NAME(state->m_cocktail_flip));
- state->save_item(NAME(state->m_char_palette));
- state->save_item(NAME(state->m_sprite_palette));
- state->save_item(NAME(state->m_char_bank));
- state->save_item(NAME(state->m_fcombat_sh));
- state->save_item(NAME(state->m_fcombat_sv));
- state->save_item(NAME(state->m_tx));
- state->save_item(NAME(state->m_ty));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+
+ save_item(NAME(m_cocktail_flip));
+ save_item(NAME(m_char_palette));
+ save_item(NAME(m_sprite_palette));
+ save_item(NAME(m_char_bank));
+ save_item(NAME(m_fcombat_sh));
+ save_item(NAME(m_fcombat_sv));
+ save_item(NAME(m_tx));
+ save_item(NAME(m_ty));
}
-static MACHINE_RESET( fcombat )
+void fcombat_state::machine_reset()
{
- fcombat_state *state = machine.driver_data<fcombat_state>();
-
- state->m_cocktail_flip = 0;
- state->m_char_palette = 0;
- state->m_sprite_palette = 0;
- state->m_char_bank = 0;
- state->m_fcombat_sh = 0;
- state->m_fcombat_sv = 0;
- state->m_tx = 0;
- state->m_ty = 0;
+
+ m_cocktail_flip = 0;
+ m_char_palette = 0;
+ m_sprite_palette = 0;
+ m_char_bank = 0;
+ m_fcombat_sh = 0;
+ m_fcombat_sv = 0;
+ m_tx = 0;
+ m_ty = 0;
}
static MACHINE_CONFIG_START( fcombat, fcombat_state )
@@ -296,8 +294,6 @@ static MACHINE_CONFIG_START( fcombat, fcombat_state )
MCFG_CPU_ADD("audiocpu", Z80, 10000000/3)
MCFG_CPU_PROGRAM_MAP(audio_map)
- MCFG_MACHINE_START(fcombat)
- MCFG_MACHINE_RESET(fcombat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -307,8 +303,6 @@ static MACHINE_CONFIG_START( fcombat, fcombat_state )
MCFG_GFXDECODE(fcombat)
MCFG_PALETTE_LENGTH(256*3)
- MCFG_PALETTE_INIT(fcombat)
- MCFG_VIDEO_START(fcombat)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c
index 0eb374036fd..fb0cd8ecd6a 100644
--- a/src/mame/drivers/fcrash.c
+++ b/src/mame/drivers/fcrash.c
@@ -690,40 +690,37 @@ static const msm5205_interface msm5205_interface2 =
};
-static MACHINE_START( fcrash )
+MACHINE_START_MEMBER(cps_state,fcrash)
{
- cps_state *state = machine.driver_data<cps_state>();
- UINT8 *ROM = state->memregion("soundcpu")->base();
+ UINT8 *ROM = memregion("soundcpu")->base();
- state->membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("soundcpu");
- state->m_msm_1 = machine.device<msm5205_device>("msm1");
- state->m_msm_2 = machine.device<msm5205_device>("msm2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("soundcpu");
+ m_msm_1 = machine().device<msm5205_device>("msm1");
+ m_msm_2 = machine().device<msm5205_device>("msm2");
- state->save_item(NAME(state->m_sample_buffer1));
- state->save_item(NAME(state->m_sample_buffer2));
- state->save_item(NAME(state->m_sample_select1));
- state->save_item(NAME(state->m_sample_select2));
+ save_item(NAME(m_sample_buffer1));
+ save_item(NAME(m_sample_buffer2));
+ save_item(NAME(m_sample_select1));
+ save_item(NAME(m_sample_select2));
}
-static MACHINE_START( kodb )
+MACHINE_START_MEMBER(cps_state,kodb)
{
- cps_state *state = machine.driver_data<cps_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("soundcpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("soundcpu");
}
-static MACHINE_RESET( fcrash )
+MACHINE_RESET_MEMBER(cps_state,fcrash)
{
- cps_state *state = machine.driver_data<cps_state>();
- state->m_sample_buffer1 = 0;
- state->m_sample_buffer2 = 0;
- state->m_sample_select1 = 0;
- state->m_sample_select2 = 0;
+ m_sample_buffer1 = 0;
+ m_sample_buffer2 = 0;
+ m_sample_select1 = 0;
+ m_sample_select2 = 0;
}
static MACHINE_CONFIG_START( fcrash, cps_state )
@@ -736,8 +733,8 @@ static MACHINE_CONFIG_START( fcrash, cps_state )
MCFG_CPU_ADD("soundcpu", Z80, 24000000/6) /* ? */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(fcrash)
- MCFG_MACHINE_RESET(fcrash)
+ MCFG_MACHINE_START_OVERRIDE(cps_state,fcrash)
+ MCFG_MACHINE_RESET_OVERRIDE(cps_state,fcrash)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -751,7 +748,7 @@ static MACHINE_CONFIG_START( fcrash, cps_state )
MCFG_GFXDECODE(cps1)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(cps1)
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -787,7 +784,7 @@ static MACHINE_CONFIG_START( kodb, cps_state )
// MCFG_CPU_ADD("soundcpu", Z80, 3579545)
// MCFG_CPU_PROGRAM_MAP(sub_map)
- MCFG_MACHINE_START(kodb)
+ MCFG_MACHINE_START_OVERRIDE(cps_state,kodb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -801,7 +798,7 @@ static MACHINE_CONFIG_START( kodb, cps_state )
MCFG_GFXDECODE(cps1)
MCFG_PALETTE_LENGTH(0xc00)
- MCFG_VIDEO_START(cps1)
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
// MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -943,7 +940,7 @@ static MACHINE_CONFIG_START( sgyxz, cps_state )
// MCFG_CPU_ADD("soundcpu", Z80, 3579545)
// MCFG_CPU_PROGRAM_MAP(sub_map)
- MCFG_MACHINE_START(kodb)
+ MCFG_MACHINE_START_OVERRIDE(cps_state,kodb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -957,7 +954,7 @@ static MACHINE_CONFIG_START( sgyxz, cps_state )
MCFG_GFXDECODE(cps1)
MCFG_PALETTE_LENGTH(0xc00)
- MCFG_VIDEO_START(cps1)
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/feversoc.c b/src/mame/drivers/feversoc.c
index e0bb9222b4b..e9b93ed2035 100644
--- a/src/mame/drivers/feversoc.c
+++ b/src/mame/drivers/feversoc.c
@@ -77,12 +77,13 @@ public:
DECLARE_READ32_MEMBER(in0_r);
DECLARE_WRITE32_MEMBER(output_w);
DECLARE_DRIVER_INIT(feversoc);
+ virtual void video_start();
};
#define MASTER_CLOCK XTAL_28_63636MHz
-static VIDEO_START( feversoc )
+void feversoc_state::video_start()
{
}
@@ -268,7 +269,6 @@ static MACHINE_CONFIG_START( feversoc, feversoc_state )
MCFG_GFXDECODE(feversoc)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(feversoc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/fgoal.c b/src/mame/drivers/fgoal.c
index d2e5565611a..f29ee1d2a96 100644
--- a/src/mame/drivers/fgoal.c
+++ b/src/mame/drivers/fgoal.c
@@ -45,9 +45,9 @@ static int intensity(int bits)
}
-static PALETTE_INIT( fgoal )
+void fgoal_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* for B/W screens PCB can be jumpered to use lower half of PROM */
@@ -55,17 +55,17 @@ static PALETTE_INIT( fgoal )
for (i = 0; i < 128; i++)
{
UINT8 color = color_prom[0x80 | i] & 63;
- palette_set_color_rgb(machine, i, intensity(color >> 4), intensity(color >> 2), intensity(color >> 0));
+ palette_set_color_rgb(machine(), i, intensity(color >> 4), intensity(color >> 2), intensity(color >> 0));
}
for (i = 0; i < 8; i++)
{
- palette_set_color(machine, 128 + 0*8 + i, MAKE_RGB(0x2e,0x80,0x2e));
- palette_set_color(machine, 128 + 1*8 + i, MAKE_RGB(0x2e,0x2e,0x2e));
+ palette_set_color(machine(), 128 + 0*8 + i, MAKE_RGB(0x2e,0x80,0x2e));
+ palette_set_color(machine(), 128 + 1*8 + i, MAKE_RGB(0x2e,0x2e,0x2e));
}
/* ball is a fixed color */
- palette_set_color_rgb(machine, 128 + 16, intensity(0x38 >> 4), intensity(0x38 >> 2), intensity(0x38 >> 0));
+ palette_set_color_rgb(machine(), 128 + 16, intensity(0x38 >> 4), intensity(0x38 >> 2), intensity(0x38 >> 0));
}
@@ -328,35 +328,33 @@ GFXDECODE_END
-static MACHINE_START( fgoal )
+void fgoal_state::machine_start()
{
- fgoal_state *state = machine.driver_data<fgoal_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_mb14241 = machine.device("mb14241");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_mb14241 = machine().device("mb14241");
- state->save_item(NAME(state->m_xpos));
- state->save_item(NAME(state->m_ypos));
- state->save_item(NAME(state->m_current_color));
- state->save_item(NAME(state->m_fgoal_player));
- state->save_item(NAME(state->m_row));
- state->save_item(NAME(state->m_col));
- state->save_item(NAME(state->m_prev_coin));
+ save_item(NAME(m_xpos));
+ save_item(NAME(m_ypos));
+ save_item(NAME(m_current_color));
+ save_item(NAME(m_fgoal_player));
+ save_item(NAME(m_row));
+ save_item(NAME(m_col));
+ save_item(NAME(m_prev_coin));
}
-static MACHINE_RESET( fgoal )
+void fgoal_state::machine_reset()
{
- fgoal_state *state = machine.driver_data<fgoal_state>();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(0), FUNC(interrupt_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(interrupt_callback));
- state->m_xpos = 0;
- state->m_ypos = 0;
- state->m_current_color = 0;
- state->m_fgoal_player = 0;
- state->m_row = 0;
- state->m_col = 0;
- state->m_prev_coin = 0;
+ m_xpos = 0;
+ m_ypos = 0;
+ m_current_color = 0;
+ m_fgoal_player = 0;
+ m_row = 0;
+ m_col = 0;
+ m_prev_coin = 0;
}
static MACHINE_CONFIG_START( fgoal, fgoal_state )
@@ -365,8 +363,6 @@ static MACHINE_CONFIG_START( fgoal, fgoal_state )
MCFG_CPU_ADD("maincpu", M6800, 10065000 / 10) /* ? */
MCFG_CPU_PROGRAM_MAP(cpu_map)
- MCFG_MACHINE_START(fgoal)
- MCFG_MACHINE_RESET(fgoal)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -381,8 +377,6 @@ static MACHINE_CONFIG_START( fgoal, fgoal_state )
MCFG_GFXDECODE(fgoal)
MCFG_PALETTE_LENGTH(128 + 16 + 1)
- MCFG_PALETTE_INIT(fgoal)
- MCFG_VIDEO_START(fgoal)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/finalizr.c b/src/mame/drivers/finalizr.c
index deb0e77c3d8..400801c8fe6 100644
--- a/src/mame/drivers/finalizr.c
+++ b/src/mame/drivers/finalizr.c
@@ -252,28 +252,26 @@ static const sn76496_config psg_intf =
};
-static MACHINE_START( finalizr )
+void finalizr_state::machine_start()
{
- finalizr_state *state = machine.driver_data<finalizr_state>();
- state->m_audio_cpu = machine.device("audiocpu");
+ m_audio_cpu = machine().device("audiocpu");
- state->save_item(NAME(state->m_spriterambank));
- state->save_item(NAME(state->m_charbank));
- state->save_item(NAME(state->m_T1_line));
- state->save_item(NAME(state->m_nmi_enable));
- state->save_item(NAME(state->m_irq_enable));
+ save_item(NAME(m_spriterambank));
+ save_item(NAME(m_charbank));
+ save_item(NAME(m_T1_line));
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_irq_enable));
}
-static MACHINE_RESET( finalizr )
+void finalizr_state::machine_reset()
{
- finalizr_state *state = machine.driver_data<finalizr_state>();
- state->m_spriterambank = 0;
- state->m_charbank = 0;
- state->m_T1_line = 0;
- state->m_nmi_enable = 0;
- state->m_irq_enable = 0;
+ m_spriterambank = 0;
+ m_charbank = 0;
+ m_T1_line = 0;
+ m_nmi_enable = 0;
+ m_irq_enable = 0;
}
static MACHINE_CONFIG_START( finalizr, finalizr_state )
@@ -287,8 +285,6 @@ static MACHINE_CONFIG_START( finalizr, finalizr_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_MACHINE_START(finalizr)
- MCFG_MACHINE_RESET(finalizr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -301,8 +297,6 @@ static MACHINE_CONFIG_START( finalizr, finalizr_state )
MCFG_GFXDECODE(finalizr)
MCFG_PALETTE_LENGTH(2*16*16)
- MCFG_PALETTE_INIT(finalizr)
- MCFG_VIDEO_START(finalizr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/firebeat.c b/src/mame/drivers/firebeat.c
index 26383a3bb93..03a69babd89 100644
--- a/src/mame/drivers/firebeat.c
+++ b/src/mame/drivers/firebeat.c
@@ -180,6 +180,9 @@ public:
DECLARE_DRIVER_INIT(ppd);
DECLARE_DRIVER_INIT(kbm);
DECLARE_DRIVER_INIT(ppp);
+ DECLARE_MACHINE_START(firebeat);
+ DECLARE_MACHINE_RESET(firebeat);
+ DECLARE_VIDEO_START(firebeat);
};
@@ -187,13 +190,12 @@ public:
-static VIDEO_START(firebeat)
+VIDEO_START_MEMBER(firebeat_state,firebeat)
{
- firebeat_state *state = machine.driver_data<firebeat_state>();
- state->m_gcu[0].vram = auto_alloc_array(machine, UINT32, 0x2000000/4);
- state->m_gcu[1].vram = auto_alloc_array(machine, UINT32, 0x2000000/4);
- memset(state->m_gcu[0].vram, 0, 0x2000000);
- memset(state->m_gcu[1].vram, 0, 0x2000000);
+ m_gcu[0].vram = auto_alloc_array(machine(), UINT32, 0x2000000/4);
+ m_gcu[1].vram = auto_alloc_array(machine(), UINT32, 0x2000000/4);
+ memset(m_gcu[0].vram, 0, 0x2000000);
+ memset(m_gcu[1].vram, 0, 0x2000000);
}
@@ -1730,18 +1732,17 @@ static READ16_HANDLER(spu_unk_r)
/*****************************************************************************/
-static MACHINE_START( firebeat )
+MACHINE_START_MEMBER(firebeat_state,firebeat)
{
- firebeat_state *state = machine.driver_data<firebeat_state>();
/* set conservative DRC options */
- ppcdrc_set_options(machine.device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
+ ppcdrc_set_options(machine().device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
/* configure fast RAM regions for DRC */
- ppcdrc_add_fastram(machine.device("maincpu"), 0x00000000, 0x01ffffff, FALSE, state->m_work_ram);
+ ppcdrc_add_fastram(machine().device("maincpu"), 0x00000000, 0x01ffffff, FALSE, m_work_ram);
- state->m_flash[0] = machine.device<fujitsu_29f016a_device>("flash0");
- state->m_flash[1] = machine.device<fujitsu_29f016a_device>("flash1");
- state->m_flash[2] = machine.device<fujitsu_29f016a_device>("flash2");
+ m_flash[0] = machine().device<fujitsu_29f016a_device>("flash0");
+ m_flash[1] = machine().device<fujitsu_29f016a_device>("flash1");
+ m_flash[2] = machine().device<fujitsu_29f016a_device>("flash2");
}
static ADDRESS_MAP_START( firebeat_map, AS_PROGRAM, 32, firebeat_state )
@@ -1944,21 +1945,20 @@ static INTERRUPT_GEN(firebeat_interrupt)
device->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
}
-static MACHINE_RESET( firebeat )
+MACHINE_RESET_MEMBER(firebeat_state,firebeat)
{
- firebeat_state *state = machine.driver_data<firebeat_state>();
void *cd;
int i;
- UINT8 *sound = state->memregion("ymz")->base();
+ UINT8 *sound = memregion("ymz")->base();
for (i=0; i < 0x200000; i++)
{
- sound[i] = state->m_flash[1]->read(i);
- sound[i+0x200000] = state->m_flash[2]->read(i);
+ sound[i] = m_flash[1]->read(i);
+ sound[i+0x200000] = m_flash[2]->read(i);
}
- state->m_atapi_device_data[1]->GetDevice( &cd );
- cdda_set_cdrom(machine.device("cdda"), cd);
+ m_atapi_device_data[1]->GetDevice( &cd );
+ cdda_set_cdrom(machine().device("cdda"), cd);
}
const rtc65271_interface firebeat_rtc =
@@ -1973,8 +1973,8 @@ static MACHINE_CONFIG_START( firebeat, firebeat_state )
MCFG_CPU_PROGRAM_MAP(firebeat_map)
MCFG_CPU_VBLANK_INT("screen", firebeat_interrupt)
- MCFG_MACHINE_START(firebeat)
- MCFG_MACHINE_RESET(firebeat)
+ MCFG_MACHINE_START_OVERRIDE(firebeat_state,firebeat)
+ MCFG_MACHINE_RESET_OVERRIDE(firebeat_state,firebeat)
MCFG_RTC65271_ADD("rtc", firebeat_rtc)
@@ -1996,7 +1996,7 @@ static MACHINE_CONFIG_START( firebeat, firebeat_state )
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
MCFG_SCREEN_UPDATE_STATIC(firebeat_0)
- MCFG_VIDEO_START(firebeat)
+ MCFG_VIDEO_START_OVERRIDE(firebeat_state,firebeat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2019,8 +2019,8 @@ static MACHINE_CONFIG_START( firebeat2, firebeat_state )
MCFG_CPU_PROGRAM_MAP(firebeat_map)
MCFG_CPU_VBLANK_INT("lscreen", firebeat_interrupt)
- MCFG_MACHINE_START(firebeat)
- MCFG_MACHINE_RESET(firebeat)
+ MCFG_MACHINE_START_OVERRIDE(firebeat_state,firebeat)
+ MCFG_MACHINE_RESET_OVERRIDE(firebeat_state,firebeat)
MCFG_RTC65271_ADD("rtc", firebeat_rtc)
@@ -2049,7 +2049,7 @@ static MACHINE_CONFIG_START( firebeat2, firebeat_state )
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
MCFG_SCREEN_UPDATE_STATIC(firebeat_1)
- MCFG_VIDEO_START(firebeat)
+ MCFG_VIDEO_START_OVERRIDE(firebeat_state,firebeat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c
index c77f3040631..0f9a29efcdc 100644
--- a/src/mame/drivers/firefox.c
+++ b/src/mame/drivers/firefox.c
@@ -96,6 +96,8 @@ public:
DECLARE_WRITE8_MEMBER(riot_porta_w);
DECLARE_WRITE_LINE_MEMBER(riot_irq);
TILE_GET_INFO_MEMBER(bgtile_get_info);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -204,12 +206,11 @@ WRITE8_MEMBER(firefox_state::tileram_w)
}
-static VIDEO_START( firefox )
+void firefox_state::video_start()
{
- firefox_state *state = machine.driver_data<firefox_state>();
- state->m_bgtiles = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firefox_state::bgtile_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
- state->m_bgtiles->set_transparent_pen(0);
- state->m_bgtiles->set_scrolldy(machine.primary_screen->visible_area().min_y, 0);
+ m_bgtiles = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firefox_state::bgtile_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,64);
+ m_bgtiles->set_transparent_pen(0);
+ m_bgtiles->set_scrolldy(machine().primary_screen->visible_area().min_y, 0);
}
@@ -481,17 +482,16 @@ static void firq_gen(running_machine &machine, phillips_22vp931_device &laserdis
}
-static MACHINE_START( firefox )
+void firefox_state::machine_start()
{
- firefox_state *state = machine.driver_data<firefox_state>();
- state->membank("bank1")->configure_entries(0, 32, state->memregion("maincpu")->base() + 0x10000, 0x1000);
- state->m_nvram_1c = machine.device<x2212_device>("nvram_1c");
- state->m_nvram_1d = machine.device<x2212_device>("nvram_1d");
+ membank("bank1")->configure_entries(0, 32, memregion("maincpu")->base() + 0x10000, 0x1000);
+ m_nvram_1c = machine().device<x2212_device>("nvram_1c");
+ m_nvram_1d = machine().device<x2212_device>("nvram_1d");
- state->m_laserdisc->set_data_ready_callback(phillips_22vp931_device::data_ready_delegate(FUNC(firq_gen), &machine));
+ m_laserdisc->set_data_ready_callback(phillips_22vp931_device::data_ready_delegate(FUNC(firq_gen), &machine()));
- state->m_control_num = 0;
- state->m_sprite_bank = 0;
+ m_control_num = 0;
+ m_sprite_bank = 0;
}
@@ -708,14 +708,12 @@ static MACHINE_CONFIG_START( firefox, firefox_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60000))
- MCFG_MACHINE_START(firefox)
MCFG_WATCHDOG_TIME_INIT(attotime::from_hz((double)MASTER_XTAL/8/16/16/16/16))
/* video hardware */
MCFG_GFXDECODE(firefox)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(firefox)
MCFG_LASERDISC_22VP931_ADD("laserdisc")
MCFG_LASERDISC_OVERLAY_STATIC(64*8, 525, firefox)
diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c
index f64043aa3ba..74fe287930a 100644
--- a/src/mame/drivers/firetrap.c
+++ b/src/mame/drivers/firetrap.c
@@ -590,54 +590,52 @@ static INTERRUPT_GEN( firetrap_irq )
}
-static MACHINE_START( firetrap )
+void firetrap_state::machine_start()
{
- firetrap_state *state = machine.driver_data<firetrap_state>();
- UINT8 *MAIN = state->memregion("maincpu")->base();
- UINT8 *SOUND = state->memregion("audiocpu")->base();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_msm = machine.device("msm");
-
- state->membank("bank1")->configure_entries(0, 4, &MAIN[0x10000], 0x4000);
- state->membank("bank2")->configure_entries(0, 2, &SOUND[0x10000], 0x4000);
-
- state->save_item(NAME(state->m_i8751_current_command));
- state->save_item(NAME(state->m_sound_irq_enable));
- state->save_item(NAME(state->m_nmi_enable));
- state->save_item(NAME(state->m_i8751_return));
- state->save_item(NAME(state->m_i8751_init_ptr));
- state->save_item(NAME(state->m_msm5205next));
- state->save_item(NAME(state->m_adpcm_toggle));
- state->save_item(NAME(state->m_coin_command_pending));
- state->save_item(NAME(state->m_scroll1_x));
- state->save_item(NAME(state->m_scroll1_y));
- state->save_item(NAME(state->m_scroll2_x));
- state->save_item(NAME(state->m_scroll2_y));
+ UINT8 *MAIN = memregion("maincpu")->base();
+ UINT8 *SOUND = memregion("audiocpu")->base();
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_msm = machine().device("msm");
+
+ membank("bank1")->configure_entries(0, 4, &MAIN[0x10000], 0x4000);
+ membank("bank2")->configure_entries(0, 2, &SOUND[0x10000], 0x4000);
+
+ save_item(NAME(m_i8751_current_command));
+ save_item(NAME(m_sound_irq_enable));
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_i8751_return));
+ save_item(NAME(m_i8751_init_ptr));
+ save_item(NAME(m_msm5205next));
+ save_item(NAME(m_adpcm_toggle));
+ save_item(NAME(m_coin_command_pending));
+ save_item(NAME(m_scroll1_x));
+ save_item(NAME(m_scroll1_y));
+ save_item(NAME(m_scroll2_x));
+ save_item(NAME(m_scroll2_y));
}
-static MACHINE_RESET( firetrap )
+void firetrap_state::machine_reset()
{
- firetrap_state *state = machine.driver_data<firetrap_state>();
int i;
for (i = 0; i < 2; i++)
{
- state->m_scroll1_x[i] = 0;
- state->m_scroll1_y[i] = 0;
- state->m_scroll2_x[i] = 0;
- state->m_scroll2_y[i] = 0;
+ m_scroll1_x[i] = 0;
+ m_scroll1_y[i] = 0;
+ m_scroll2_x[i] = 0;
+ m_scroll2_y[i] = 0;
}
- state->m_i8751_current_command = 0;
- state->m_sound_irq_enable = 0;
- state->m_nmi_enable = 0;
- state->m_i8751_return = 0;
- state->m_i8751_init_ptr = 0;
- state->m_msm5205next = 0xff;
- state->m_adpcm_toggle = 0;
- state->m_coin_command_pending = 0;
+ m_i8751_current_command = 0;
+ m_sound_irq_enable = 0;
+ m_nmi_enable = 0;
+ m_i8751_return = 0;
+ m_i8751_init_ptr = 0;
+ m_msm5205next = 0xff;
+ m_adpcm_toggle = 0;
+ m_coin_command_pending = 0;
}
static MACHINE_CONFIG_START( firetrap, firetrap_state )
@@ -652,8 +650,6 @@ static MACHINE_CONFIG_START( firetrap, firetrap_state )
/* IRQs are caused by the ADPCM chip */
/* NMIs are caused by the main CPU */
- MCFG_MACHINE_START(firetrap)
- MCFG_MACHINE_RESET(firetrap)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -666,8 +662,6 @@ static MACHINE_CONFIG_START( firetrap, firetrap_state )
MCFG_GFXDECODE(firetrap)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(firetrap)
- MCFG_VIDEO_START(firetrap)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -692,8 +686,6 @@ static MACHINE_CONFIG_START( firetrapbl, firetrap_state )
/* IRQs are caused by the ADPCM chip */
/* NMIs are caused by the main CPU */
- MCFG_MACHINE_START(firetrap)
- MCFG_MACHINE_RESET(firetrap)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -705,8 +697,6 @@ static MACHINE_CONFIG_START( firetrapbl, firetrap_state )
MCFG_GFXDECODE(firetrap)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(firetrap)
- MCFG_VIDEO_START(firetrap)
MCFG_SCREEN_UPDATE_STATIC(firetrap)
/* sound hardware */
diff --git a/src/mame/drivers/firetrk.c b/src/mame/drivers/firetrk.c
index 297bbb7ab1f..ac0cd7fc88c 100644
--- a/src/mame/drivers/firetrk.c
+++ b/src/mame/drivers/firetrk.c
@@ -162,11 +162,11 @@ WRITE8_MEMBER(firetrk_state::montecar_output_2_w)
}
-static MACHINE_RESET( firetrk )
+void firetrk_state::machine_reset()
{
- set_service_mode(machine, 0);
+ set_service_mode(machine(), 0);
- machine.scheduler().synchronize(FUNC(periodic_callback));
+ machine().scheduler().synchronize(FUNC(periodic_callback));
}
@@ -879,7 +879,6 @@ static MACHINE_CONFIG_START( firetrk, firetrk_state )
MCFG_CPU_VBLANK_INT("screen", firetrk_interrupt)
MCFG_WATCHDOG_VBLANK_INIT(5)
- MCFG_MACHINE_RESET(firetrk)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
@@ -890,8 +889,6 @@ static MACHINE_CONFIG_START( firetrk, firetrk_state )
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_STATIC(firetrk)
- MCFG_VIDEO_START(firetrk)
- MCFG_PALETTE_INIT(firetrk)
MCFG_PALETTE_LENGTH(28)
MCFG_GFXDECODE(firetrk)
@@ -914,7 +911,7 @@ static MACHINE_CONFIG_DERIVED( superbug, firetrk )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(superbug)
- MCFG_VIDEO_START(superbug)
+ MCFG_VIDEO_START_OVERRIDE(firetrk_state,superbug)
MCFG_GFXDECODE(superbug)
MCFG_PALETTE_LENGTH(28)
@@ -935,10 +932,10 @@ static MACHINE_CONFIG_DERIVED( montecar, firetrk )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(montecar)
- MCFG_VIDEO_START(montecar)
+ MCFG_VIDEO_START_OVERRIDE(firetrk_state,montecar)
MCFG_GFXDECODE(montecar)
- MCFG_PALETTE_INIT(montecar)
+ MCFG_PALETTE_INIT_OVERRIDE(firetrk_state,montecar)
MCFG_PALETTE_LENGTH(46)
/* sound hardware */
diff --git a/src/mame/drivers/fitfight.c b/src/mame/drivers/fitfight.c
index 46c2e0b3537..afa8f1a930a 100644
--- a/src/mame/drivers/fitfight.c
+++ b/src/mame/drivers/fitfight.c
@@ -719,18 +719,16 @@ static GFXDECODE_START( prot )
GFXDECODE_END
-static MACHINE_START( fitfight )
+void fitfight_state::machine_start()
{
- fitfight_state *state = machine.driver_data<fitfight_state>();
- state->save_item(NAME(state->m_fof_700000_data));
+ save_item(NAME(m_fof_700000_data));
}
-static MACHINE_RESET( fitfight )
+void fitfight_state::machine_reset()
{
- fitfight_state *state = machine.driver_data<fitfight_state>();
- state->m_fof_700000_data = 0;
+ m_fof_700000_data = 0;
}
static MACHINE_CONFIG_START( fitfight, fitfight_state )
@@ -745,8 +743,6 @@ static MACHINE_CONFIG_START( fitfight, fitfight_state )
MCFG_CPU_IO_MAP(snd_io)
MCFG_CPU_VBLANK_INT("screen", snd_irq)
- MCFG_MACHINE_START(fitfight)
- MCFG_MACHINE_RESET(fitfight)
MCFG_GFXDECODE(fitfight)
@@ -759,7 +755,6 @@ static MACHINE_CONFIG_START( fitfight, fitfight_state )
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(fitfight)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -773,8 +768,6 @@ static MACHINE_CONFIG_START( bbprot, fitfight_state )
MCFG_CPU_PROGRAM_MAP(bbprot_main_map)
MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
- MCFG_MACHINE_START(fitfight)
- MCFG_MACHINE_RESET(fitfight)
MCFG_GFXDECODE(prot)
@@ -787,7 +780,6 @@ static MACHINE_CONFIG_START( bbprot, fitfight_state )
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(fitfight)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/flipjack.c b/src/mame/drivers/flipjack.c
index 13cb952c585..5f2cbd92664 100644
--- a/src/mame/drivers/flipjack.c
+++ b/src/mame/drivers/flipjack.c
@@ -120,6 +120,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(flipjack_coin);
DECLARE_READ8_MEMBER(flipjack_soundlatch_r);
DECLARE_WRITE8_MEMBER(flipjack_portc_w);
+ virtual void machine_start();
+ virtual void palette_init();
};
@@ -129,19 +131,19 @@ public:
***************************************************************************/
-PALETTE_INIT( flipjack )
+void flipjack_state::palette_init()
{
// from prom
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
for (int i = 0; i < 0x40; i++)
{
- palette_set_color_rgb(machine, 2*i+1, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
- palette_set_color_rgb(machine, 2*i+0, pal1bit(color_prom[i] >> 1), pal1bit(color_prom[i] >> 2), pal1bit(color_prom[i] >> 0));
+ palette_set_color_rgb(machine(), 2*i+1, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
+ palette_set_color_rgb(machine(), 2*i+0, pal1bit(color_prom[i] >> 1), pal1bit(color_prom[i] >> 2), pal1bit(color_prom[i] >> 0));
}
// standard 3bpp for blitter
for (int i = 0; i < 8; i++)
- palette_set_color_rgb(machine, i+0x80, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
+ palette_set_color_rgb(machine(), i+0x80, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
}
@@ -458,16 +460,15 @@ GFXDECODE_END
-static MACHINE_START( flipjack )
+void flipjack_state::machine_start()
{
- flipjack_state *state = machine.driver_data<flipjack_state>();
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
- state->membank("bank1")->set_entry(0);
-
- state->save_item(NAME(state->m_soundlatch));
- state->save_item(NAME(state->m_bank));
- state->save_item(NAME(state->m_layer));
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x2000);
+ membank("bank1")->set_entry(0);
+
+ save_item(NAME(m_soundlatch));
+ save_item(NAME(m_bank));
+ save_item(NAME(m_layer));
}
@@ -486,7 +487,6 @@ static MACHINE_CONFIG_START( flipjack, flipjack_state )
MCFG_I8255A_ADD( "ppi8255", ppi8255_intf )
- MCFG_MACHINE_START(flipjack)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -498,7 +498,6 @@ static MACHINE_CONFIG_START( flipjack, flipjack_state )
MCFG_GFXDECODE(flipjack)
MCFG_PALETTE_LENGTH(128+8)
- MCFG_PALETTE_INIT(flipjack)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c
index 83e70886446..323b46472a5 100644
--- a/src/mame/drivers/flkatck.c
+++ b/src/mame/drivers/flkatck.c
@@ -192,31 +192,29 @@ static const k007232_interface k007232_config =
};
-static MACHINE_START( flkatck )
+void flkatck_state::machine_start()
{
- flkatck_state *state = machine.driver_data<flkatck_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x2000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007121 = machine.device("k007121");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007121 = machine().device("k007121");
- state->save_item(NAME(state->m_irq_enabled));
- state->save_item(NAME(state->m_multiply_reg));
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_irq_enabled));
+ save_item(NAME(m_multiply_reg));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( flkatck )
+void flkatck_state::machine_reset()
{
- flkatck_state *state = machine.driver_data<flkatck_state>();
- k007232_set_bank(machine.device("konami"), 0, 1);
+ k007232_set_bank(machine().device("konami"), 0, 1);
- state->m_irq_enabled = 0;
- state->m_multiply_reg[0] = 0;
- state->m_multiply_reg[1] = 0;
- state->m_flipscreen = 0;
+ m_irq_enabled = 0;
+ m_multiply_reg[0] = 0;
+ m_multiply_reg[1] = 0;
+ m_flipscreen = 0;
}
static MACHINE_CONFIG_START( flkatck, flkatck_state )
@@ -231,8 +229,6 @@ static MACHINE_CONFIG_START( flkatck, flkatck_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(flkatck)
- MCFG_MACHINE_RESET(flkatck)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -245,7 +241,6 @@ static MACHINE_CONFIG_START( flkatck, flkatck_state )
MCFG_GFXDECODE(flkatck)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(flkatck)
MCFG_K007121_ADD("k007121")
diff --git a/src/mame/drivers/flower.c b/src/mame/drivers/flower.c
index 87d5abed6d6..ef360f0b1a2 100644
--- a/src/mame/drivers/flower.c
+++ b/src/mame/drivers/flower.c
@@ -274,10 +274,8 @@ static MACHINE_CONFIG_START( flower, flower_state )
MCFG_GFXDECODE(flower)
- MCFG_PALETTE_INIT(flower)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(flower)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c
index dca3415925f..f152256a93e 100644
--- a/src/mame/drivers/flstory.c
+++ b/src/mame/drivers/flstory.c
@@ -359,9 +359,8 @@ static ADDRESS_MAP_START( rumba_map, AS_PROGRAM, 8, flstory_state )
ADDRESS_MAP_END
-static MACHINE_RESET( ta7630 )
+MACHINE_RESET_MEMBER(flstory_state,ta7630)
{
- flstory_state *state = machine.driver_data<flstory_state>();
int i;
double db = 0.0;
@@ -370,8 +369,8 @@ static MACHINE_RESET( ta7630 )
for (i = 0; i < 16; i++)
{
double max = 100.0 / pow(10.0, db/20.0 );
- state->m_vol_ctrl[15 - i] = max;
- /*logerror("vol_ctrl[%x] = %i (%f dB)\n", 15 - i, state->m_vol_ctrl[15 - i], db);*/
+ m_vol_ctrl[15 - i] = max;
+ /*logerror("vol_ctrl[%x] = %i (%f dB)\n", 15 - i, m_vol_ctrl[15 - i], db);*/
db += db_step;
db_step += db_step_inc;
}
@@ -1002,81 +1001,79 @@ static const msm5232_interface msm5232_config =
};
-static MACHINE_START( flstory )
+void flstory_state::machine_start()
{
- flstory_state *state = machine.driver_data<flstory_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
/* video */
- state->save_item(NAME(state->m_char_bank));
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_gfxctrl));
+ save_item(NAME(m_char_bank));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_gfxctrl));
/* sound */
- state->save_item(NAME(state->m_snd_data));
- state->save_item(NAME(state->m_snd_flag));
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_vol_ctrl));
- state->save_item(NAME(state->m_snd_ctrl0));
- state->save_item(NAME(state->m_snd_ctrl1));
- state->save_item(NAME(state->m_snd_ctrl2));
- state->save_item(NAME(state->m_snd_ctrl3));
+ save_item(NAME(m_snd_data));
+ save_item(NAME(m_snd_flag));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_vol_ctrl));
+ save_item(NAME(m_snd_ctrl0));
+ save_item(NAME(m_snd_ctrl1));
+ save_item(NAME(m_snd_ctrl2));
+ save_item(NAME(m_snd_ctrl3));
/* mcu */
- state->save_item(NAME(state->m_from_main));
- state->save_item(NAME(state->m_from_mcu));
- state->save_item(NAME(state->m_mcu_sent));
- state->save_item(NAME(state->m_main_sent));
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
- state->save_item(NAME(state->m_port_b_in));
- state->save_item(NAME(state->m_port_b_out));
- state->save_item(NAME(state->m_ddr_b));
- state->save_item(NAME(state->m_port_c_in));
- state->save_item(NAME(state->m_port_c_out));
- state->save_item(NAME(state->m_ddr_c));
- state->save_item(NAME(state->m_mcu_select));
+ save_item(NAME(m_from_main));
+ save_item(NAME(m_from_mcu));
+ save_item(NAME(m_mcu_sent));
+ save_item(NAME(m_main_sent));
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
+ save_item(NAME(m_port_b_in));
+ save_item(NAME(m_port_b_out));
+ save_item(NAME(m_ddr_b));
+ save_item(NAME(m_port_c_in));
+ save_item(NAME(m_port_c_out));
+ save_item(NAME(m_ddr_c));
+ save_item(NAME(m_mcu_select));
}
-static MACHINE_RESET( flstory )
+MACHINE_RESET_MEMBER(flstory_state,flstory)
{
- flstory_state *state = machine.driver_data<flstory_state>();
- MACHINE_RESET_CALL(ta7630);
+ MACHINE_RESET_CALL_MEMBER(ta7630);
/* video */
- state->m_char_bank = 0;
- state->m_palette_bank = 0;
- state->m_flipscreen = 0;
- state->m_gfxctrl = 0;
+ m_char_bank = 0;
+ m_palette_bank = 0;
+ m_flipscreen = 0;
+ m_gfxctrl = 0;
/* sound */
- state->m_snd_data = 0;
- state->m_snd_flag = 0;
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_snd_ctrl0 = 0;
- state->m_snd_ctrl1 = 0;
- state->m_snd_ctrl2 = 0;
- state->m_snd_ctrl3 = 0;
+ m_snd_data = 0;
+ m_snd_flag = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_snd_ctrl0 = 0;
+ m_snd_ctrl1 = 0;
+ m_snd_ctrl2 = 0;
+ m_snd_ctrl3 = 0;
/* mcu */
- state->m_from_main = 0;
- state->m_from_mcu = 0;
- state->m_mcu_sent = 0;
- state->m_main_sent = 0;
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_ddr_a = 0;
- state->m_port_b_in = 0;
- state->m_port_b_out = 0;
- state->m_ddr_b = 0;
- state->m_port_c_in = 0;
- state->m_port_c_out = 0;
- state->m_ddr_c = 0;
- state->m_mcu_select = 0;
+ m_from_main = 0;
+ m_from_mcu = 0;
+ m_mcu_sent = 0;
+ m_main_sent = 0;
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_ddr_a = 0;
+ m_port_b_in = 0;
+ m_port_b_out = 0;
+ m_ddr_b = 0;
+ m_port_c_in = 0;
+ m_port_c_out = 0;
+ m_ddr_c = 0;
+ m_mcu_select = 0;
}
static MACHINE_CONFIG_START( flstory, flstory_state )
@@ -1096,8 +1093,7 @@ static MACHINE_CONFIG_START( flstory, flstory_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(flstory)
- MCFG_MACHINE_RESET(flstory)
+ MCFG_MACHINE_RESET_OVERRIDE(flstory_state,flstory)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1110,7 +1106,7 @@ static MACHINE_CONFIG_START( flstory, flstory_state )
MCFG_GFXDECODE(flstory)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(flstory)
+ MCFG_VIDEO_START_OVERRIDE(flstory_state,flstory)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1154,8 +1150,7 @@ static MACHINE_CONFIG_START( onna34ro, flstory_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(flstory)
- MCFG_MACHINE_RESET(flstory)
+ MCFG_MACHINE_RESET_OVERRIDE(flstory_state,flstory)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1168,7 +1163,7 @@ static MACHINE_CONFIG_START( onna34ro, flstory_state )
MCFG_GFXDECODE(flstory)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(flstory)
+ MCFG_VIDEO_START_OVERRIDE(flstory_state,flstory)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1212,8 +1207,7 @@ static MACHINE_CONFIG_START( victnine, flstory_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(flstory)
- MCFG_MACHINE_RESET(flstory)
+ MCFG_MACHINE_RESET_OVERRIDE(flstory_state,flstory)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1226,7 +1220,7 @@ static MACHINE_CONFIG_START( victnine, flstory_state )
MCFG_GFXDECODE(flstory)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(victnine)
+ MCFG_VIDEO_START_OVERRIDE(flstory_state,victnine)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1253,11 +1247,10 @@ static MACHINE_CONFIG_START( victnine, flstory_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
MACHINE_CONFIG_END
-static MACHINE_RESET( rumba )
+MACHINE_RESET_MEMBER(flstory_state,rumba)
{
- flstory_state *state = machine.driver_data<flstory_state>();
- MACHINE_RESET_CALL(flstory);
- state->m_mcu_cmd = 0;
+ MACHINE_RESET_CALL_MEMBER(flstory);
+ m_mcu_cmd = 0;
}
static MACHINE_CONFIG_START( rumba, flstory_state )
@@ -1277,8 +1270,7 @@ static MACHINE_CONFIG_START( rumba, flstory_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(flstory)
- MCFG_MACHINE_RESET(rumba)
+ MCFG_MACHINE_RESET_OVERRIDE(flstory_state,rumba)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1291,7 +1283,7 @@ static MACHINE_CONFIG_START( rumba, flstory_state )
MCFG_GFXDECODE(flstory)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(rumba)
+ MCFG_VIDEO_START_OVERRIDE(flstory_state,rumba)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/flyball.c b/src/mame/drivers/flyball.c
index 2065b60f17b..75d9fb43925 100644
--- a/src/mame/drivers/flyball.c
+++ b/src/mame/drivers/flyball.c
@@ -56,6 +56,10 @@ public:
DECLARE_WRITE8_MEMBER(flyball_misc_w);
TILEMAP_MAPPER_MEMBER(flyball_get_memory_offset);
TILE_GET_INFO_MEMBER(flyball_get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -89,10 +93,9 @@ TILE_GET_INFO_MEMBER(flyball_state::flyball_get_tile_info)
}
-static VIDEO_START( flyball )
+void flyball_state::video_start()
{
- flyball_state *state = machine.driver_data<flyball_state>();
- state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flyball_state::flyball_get_tile_info),state), tilemap_mapper_delegate(FUNC(flyball_state::flyball_get_memory_offset),state), 8, 16, 32, 16);
+ m_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flyball_state::flyball_get_tile_info),this), tilemap_mapper_delegate(FUNC(flyball_state::flyball_get_memory_offset),this), 8, 16, 32, 16);
}
@@ -354,12 +357,12 @@ static GFXDECODE_START( flyball )
GFXDECODE_END
-static PALETTE_INIT( flyball )
+void flyball_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0x3F, 0x3F, 0x3F)); /* tiles, ball */
- palette_set_color(machine, 1, MAKE_RGB(0xFF, 0xFF, 0xFF));
- palette_set_color(machine, 2, MAKE_RGB(0xFF ,0xFF, 0xFF)); /* sprites */
- palette_set_color(machine, 3, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 0, MAKE_RGB(0x3F, 0x3F, 0x3F)); /* tiles, ball */
+ palette_set_color(machine(), 1, MAKE_RGB(0xFF, 0xFF, 0xFF));
+ palette_set_color(machine(), 2, MAKE_RGB(0xFF ,0xFF, 0xFF)); /* sprites */
+ palette_set_color(machine(), 3, MAKE_RGB(0x00, 0x00, 0x00));
}
@@ -369,43 +372,41 @@ static PALETTE_INIT( flyball )
*
*************************************/
-static MACHINE_START( flyball )
+void flyball_state::machine_start()
{
- flyball_state *state = machine.driver_data<flyball_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_pitcher_vert));
- state->save_item(NAME(state->m_pitcher_horz));
- state->save_item(NAME(state->m_pitcher_pic));
- state->save_item(NAME(state->m_ball_vert));
- state->save_item(NAME(state->m_ball_horz));
- state->save_item(NAME(state->m_potmask));
- state->save_item(NAME(state->m_potsense));
+ save_item(NAME(m_pitcher_vert));
+ save_item(NAME(m_pitcher_horz));
+ save_item(NAME(m_pitcher_pic));
+ save_item(NAME(m_ball_vert));
+ save_item(NAME(m_ball_horz));
+ save_item(NAME(m_potmask));
+ save_item(NAME(m_potsense));
}
-static MACHINE_RESET( flyball )
+void flyball_state::machine_reset()
{
- flyball_state *state = machine.driver_data<flyball_state>();
int i;
/* address bits 0 through 8 are inverted */
- UINT8* ROM = state->memregion("maincpu")->base() + 0x2000;
+ UINT8* ROM = memregion("maincpu")->base() + 0x2000;
for (i = 0; i < 0x1000; i++)
- state->m_rombase[i] = ROM[i ^ 0x1ff];
+ m_rombase[i] = ROM[i ^ 0x1ff];
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(0), FUNC(flyball_quarter_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(flyball_quarter_callback));
- state->m_pitcher_vert = 0;
- state->m_pitcher_horz = 0;
- state->m_pitcher_pic = 0;
- state->m_ball_vert = 0;
- state->m_ball_horz = 0;
- state->m_potmask = 0;
- state->m_potsense = 0;
+ m_pitcher_vert = 0;
+ m_pitcher_horz = 0;
+ m_pitcher_pic = 0;
+ m_ball_vert = 0;
+ m_ball_horz = 0;
+ m_potmask = 0;
+ m_potsense = 0;
}
@@ -416,8 +417,6 @@ static MACHINE_CONFIG_START( flyball, flyball_state )
MCFG_CPU_PROGRAM_MAP(flyball_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MCFG_MACHINE_START(flyball)
- MCFG_MACHINE_RESET(flyball)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -429,8 +428,6 @@ static MACHINE_CONFIG_START( flyball, flyball_state )
MCFG_GFXDECODE(flyball)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(flyball)
- MCFG_VIDEO_START(flyball)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c
index 3312af9c51e..9dee82fcc60 100644
--- a/src/mame/drivers/foodf.c
+++ b/src/mame/drivers/foodf.c
@@ -135,20 +135,18 @@ static TIMER_DEVICE_CALLBACK( scanline_update )
}
-static MACHINE_START( foodf )
+MACHINE_START_MEMBER(foodf_state,foodf)
{
- foodf_state *state = machine.driver_data<foodf_state>();
- atarigen_init(machine);
- state->save_item(NAME(state->m_whichport));
+ atarigen_init(machine());
+ save_item(NAME(m_whichport));
}
-static MACHINE_RESET( foodf )
+MACHINE_RESET_MEMBER(foodf_state,foodf)
{
- foodf_state *state = machine.driver_data<foodf_state>();
- atarigen_interrupt_reset(state, update_interrupts);
- timer_device *scan_timer = machine.device<timer_device>("scan_timer");
- scan_timer->adjust(machine.primary_screen->time_until_pos(0));
+ atarigen_interrupt_reset(this, update_interrupts);
+ timer_device *scan_timer = machine().device<timer_device>("scan_timer");
+ scan_timer->adjust(machine().primary_screen->time_until_pos(0));
}
@@ -358,8 +356,8 @@ static MACHINE_CONFIG_START( foodf, foodf_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(foodf)
- MCFG_MACHINE_RESET(foodf)
+ MCFG_MACHINE_START_OVERRIDE(foodf_state,foodf)
+ MCFG_MACHINE_RESET_OVERRIDE(foodf_state,foodf)
MCFG_X2212_ADD_AUTOSAVE("nvram")
@@ -375,7 +373,7 @@ static MACHINE_CONFIG_START( foodf, foodf_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 384, 0, 256, 259, 0, 224)
MCFG_SCREEN_UPDATE_STATIC(foodf)
- MCFG_VIDEO_START(foodf)
+ MCFG_VIDEO_START_OVERRIDE(foodf_state,foodf)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/forte2.c b/src/mame/drivers/forte2.c
index 84b0927d519..1b668942bff 100644
--- a/src/mame/drivers/forte2.c
+++ b/src/mame/drivers/forte2.c
@@ -37,6 +37,8 @@ public:
DECLARE_WRITE8_MEMBER(forte2_ay8910_set_input_mask);
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
DECLARE_DRIVER_INIT(pesadelo);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -107,18 +109,16 @@ static TMS9928A_INTERFACE(forte2_tms9928a_interface)
DEVCB_DRIVER_LINE_MEMBER(forte2_state,vdp_interrupt)
};
-static MACHINE_RESET( forte2 )
+void forte2_state::machine_reset()
{
- forte2_state *state = machine.driver_data<forte2_state>();
- state->m_input_mask = 0xff;
+ m_input_mask = 0xff;
}
-static MACHINE_START( forte2 )
+void forte2_state::machine_start()
{
- forte2_state *state = machine.driver_data<forte2_state>();
/* register for save states */
- state_save_register_global(machine, state->m_input_mask);
+ state_save_register_global(machine(), m_input_mask);
}
@@ -128,8 +128,6 @@ static MACHINE_CONFIG_START( pesadelo, forte2_state )
MCFG_CPU_PROGRAM_MAP(program_mem)
MCFG_CPU_IO_MAP(io_mem)
- MCFG_MACHINE_START( forte2 )
- MCFG_MACHINE_RESET( forte2 )
/* video hardware */
MCFG_TMS9928A_ADD( "tms9928a", TMS9928A, forte2_tms9928a_interface )
diff --git a/src/mame/drivers/fortecar.c b/src/mame/drivers/fortecar.c
index 2e0f89ed51d..259a63d05bf 100644
--- a/src/mame/drivers/fortecar.c
+++ b/src/mame/drivers/fortecar.c
@@ -340,10 +340,13 @@ public:
DECLARE_WRITE8_MEMBER(ayporta_w);
DECLARE_WRITE8_MEMBER(ayportb_w);
DECLARE_DRIVER_INIT(fortecar);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START(fortecar)
+void fortecar_state::video_start()
{
}
@@ -375,9 +378,9 @@ static SCREEN_UPDATE_IND16(fortecar)
return 0;
}
-static PALETTE_INIT( fortecar )
+void fortecar_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* Video resistors...
O1 (LS374) R1K RED
@@ -422,7 +425,7 @@ R = 82 Ohms Pull Down.
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -672,14 +675,13 @@ GFXDECODE_END
-static MACHINE_RESET(fortecar)
+void fortecar_state::machine_reset()
{
- fortecar_state *state = machine.driver_data<fortecar_state>();
int i;
/* apparently there's a random fill in there (checked thru trojan TODO: extract proper algorythm) */
- for(i=0;i<state->m_vram.bytes();i++)
- state->m_vram[i] = machine.rand();
+ for(i=0;i<m_vram.bytes();i++)
+ m_vram[i] = machine().rand();
}
@@ -701,7 +703,6 @@ static MACHINE_CONFIG_START( fortecar, fortecar_state )
MCFG_SCREEN_VISIBLE_AREA(0, 600-1, 0, 240-1) /* driven by CRTC */
MCFG_SCREEN_UPDATE_STATIC(fortecar)
- MCFG_MACHINE_RESET(fortecar)
MCFG_EEPROM_ADD("eeprom", forte_eeprom_intf)
MCFG_EEPROM_DEFAULT_VALUE(0)
@@ -711,9 +712,7 @@ static MACHINE_CONFIG_START( fortecar, fortecar_state )
MCFG_GFXDECODE(fortecar)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(fortecar)
- MCFG_VIDEO_START(fortecar)
MCFG_MC6845_ADD("crtc", MC6845, CRTC_CLOCK, mc6845_intf) /* 1.5 MHz, measured */
diff --git a/src/mame/drivers/freekick.c b/src/mame/drivers/freekick.c
index a8124792baa..536cc24bce0 100644
--- a/src/mame/drivers/freekick.c
+++ b/src/mame/drivers/freekick.c
@@ -583,53 +583,49 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( freekick )
+MACHINE_START_MEMBER(freekick_state,freekick)
{
- freekick_state *state = machine.driver_data<freekick_state>();
- state->save_item(NAME(state->m_romaddr));
- state->save_item(NAME(state->m_spinner));
- state->save_item(NAME(state->m_nmi_en));
- state->save_item(NAME(state->m_ff_data));
+ save_item(NAME(m_romaddr));
+ save_item(NAME(m_spinner));
+ save_item(NAME(m_nmi_en));
+ save_item(NAME(m_ff_data));
}
-static MACHINE_RESET( freekick )
+MACHINE_RESET_MEMBER(freekick_state,freekick)
{
- freekick_state *state = machine.driver_data<freekick_state>();
- state->m_romaddr = 0;
- state->m_spinner = 0;
- state->m_nmi_en = 0;
- state->m_ff_data = 0;
+ m_romaddr = 0;
+ m_spinner = 0;
+ m_nmi_en = 0;
+ m_ff_data = 0;
}
-static MACHINE_START( pbillrd )
+MACHINE_START_MEMBER(freekick_state,pbillrd)
{
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
- MACHINE_START_CALL(freekick);
+ MACHINE_START_CALL_MEMBER(freekick);
}
-static MACHINE_START( oigas )
+MACHINE_START_MEMBER(freekick_state,oigas)
{
- freekick_state *state = machine.driver_data<freekick_state>();
- state->save_item(NAME(state->m_inval));
- state->save_item(NAME(state->m_outval));
- state->save_item(NAME(state->m_cnt));
+ save_item(NAME(m_inval));
+ save_item(NAME(m_outval));
+ save_item(NAME(m_cnt));
- MACHINE_START_CALL(freekick);
+ MACHINE_START_CALL_MEMBER(freekick);
}
-static MACHINE_RESET( oigas )
+MACHINE_RESET_MEMBER(freekick_state,oigas)
{
- freekick_state *state = machine.driver_data<freekick_state>();
- MACHINE_RESET_CALL(freekick);
+ MACHINE_RESET_CALL_MEMBER(freekick);
- state->m_inval = 0;
- state->m_outval = 0;
- state->m_cnt = 0;
+ m_inval = 0;
+ m_outval = 0;
+ m_cnt = 0;
}
static MACHINE_CONFIG_START( base, freekick_state )
@@ -651,7 +647,6 @@ static MACHINE_CONFIG_START( base, freekick_state )
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(freekick)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -675,8 +670,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pbillrd, base )
- MCFG_MACHINE_START(pbillrd)
- MCFG_MACHINE_RESET(freekick)
+ MCFG_MACHINE_START_OVERRIDE(freekick_state,pbillrd)
+ MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( freekickb, base )
@@ -685,8 +680,8 @@ static MACHINE_CONFIG_DERIVED( freekickb, base )
MCFG_CPU_PROGRAM_MAP(freekickb_map)
MCFG_CPU_IO_MAP(freekickb_io_map)
- MCFG_MACHINE_START(freekick)
- MCFG_MACHINE_RESET(freekick)
+ MCFG_MACHINE_START_OVERRIDE(freekick_state,freekick)
+ MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
@@ -701,8 +696,8 @@ static MACHINE_CONFIG_DERIVED( gigas, base )
MCFG_CPU_PROGRAM_MAP(gigas_map)
MCFG_CPU_IO_MAP(gigas_io_map)
- MCFG_MACHINE_START(freekick)
- MCFG_MACHINE_RESET(freekick)
+ MCFG_MACHINE_START_OVERRIDE(freekick_state,freekick)
+ MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(gigas)
@@ -712,8 +707,8 @@ static MACHINE_CONFIG_DERIVED( oigas, gigas )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(oigas_io_map)
- MCFG_MACHINE_START(oigas)
- MCFG_MACHINE_RESET(oigas)
+ MCFG_MACHINE_START_OVERRIDE(freekick_state,oigas)
+ MCFG_MACHINE_RESET_OVERRIDE(freekick_state,oigas)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/fromanc2.c b/src/mame/drivers/fromanc2.c
index 2a707ad406f..6b26d9af908 100644
--- a/src/mame/drivers/fromanc2.c
+++ b/src/mame/drivers/fromanc2.c
@@ -501,47 +501,44 @@ static const ym2610_interface ym2610_config =
*
*************************************/
-static MACHINE_START( fromanc4 )
+MACHINE_START_MEMBER(fromanc2_state,fromanc4)
{
- fromanc2_state *state = machine.driver_data<fromanc2_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_eeprom = machine.device("eeprom");
- state->m_left_screen = machine.device("lscreen");
- state->m_right_screen = machine.device("rscreen");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_eeprom = machine().device("eeprom");
+ m_left_screen = machine().device("lscreen");
+ m_right_screen = machine().device("rscreen");
- state->save_item(NAME(state->m_portselect));
- state->save_item(NAME(state->m_sndcpu_nmi_flag));
- state->save_item(NAME(state->m_datalatch1));
- state->save_item(NAME(state->m_datalatch_2h));
- state->save_item(NAME(state->m_datalatch_2l));
+ save_item(NAME(m_portselect));
+ save_item(NAME(m_sndcpu_nmi_flag));
+ save_item(NAME(m_datalatch1));
+ save_item(NAME(m_datalatch_2h));
+ save_item(NAME(m_datalatch_2l));
/* video-related elements are saved in VIDEO_START */
}
-static MACHINE_START( fromanc2 )
+MACHINE_START_MEMBER(fromanc2_state,fromanc2)
{
- fromanc2_state *state = machine.driver_data<fromanc2_state>();
- state->membank("bank1")->configure_entries(0, 4, state->memregion("sub")->base(), 0x4000);
- state->membank("bank2")->configure_entry(0, state->memregion("sub")->base() + 0x08000);
- state->membank("bank2")->configure_entries(1, 3, state->memregion("sub")->base() + 0x14000, 0x4000);
+ membank("bank1")->configure_entries(0, 4, memregion("sub")->base(), 0x4000);
+ membank("bank2")->configure_entry(0, memregion("sub")->base() + 0x08000);
+ membank("bank2")->configure_entries(1, 3, memregion("sub")->base() + 0x14000, 0x4000);
- MACHINE_START_CALL(fromanc4);
+ MACHINE_START_CALL_MEMBER(fromanc4);
- state->save_item(NAME(state->m_subcpu_int_flag));
- state->save_item(NAME(state->m_subcpu_nmi_flag));
+ save_item(NAME(m_subcpu_int_flag));
+ save_item(NAME(m_subcpu_nmi_flag));
}
-static MACHINE_RESET( fromanc2 )
+void fromanc2_state::machine_reset()
{
- fromanc2_state *state = machine.driver_data<fromanc2_state>();
- state->m_portselect = 0;
- state->m_datalatch1 = 0;
- state->m_datalatch_2h = 0;
- state->m_datalatch_2l = 0;
+ m_portselect = 0;
+ m_datalatch1 = 0;
+ m_datalatch_2h = 0;
+ m_datalatch_2l = 0;
}
static MACHINE_CONFIG_START( fromanc2, fromanc2_state )
@@ -559,8 +556,7 @@ static MACHINE_CONFIG_START( fromanc2, fromanc2_state )
MCFG_CPU_PROGRAM_MAP(fromanc2_sub_map)
MCFG_CPU_IO_MAP(fromanc2_sub_io_map)
- MCFG_MACHINE_START(fromanc2)
- MCFG_MACHINE_RESET(fromanc2)
+ MCFG_MACHINE_START_OVERRIDE(fromanc2_state,fromanc2)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -583,7 +579,7 @@ static MACHINE_CONFIG_START( fromanc2, fromanc2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_STATIC(fromanc2_right)
- MCFG_VIDEO_START(fromanc2)
+ MCFG_VIDEO_START_OVERRIDE(fromanc2_state,fromanc2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -610,8 +606,7 @@ static MACHINE_CONFIG_START( fromancr, fromanc2_state )
MCFG_CPU_PROGRAM_MAP(fromanc2_sub_map)
MCFG_CPU_IO_MAP(fromanc2_sub_io_map)
- MCFG_MACHINE_START(fromanc2)
- MCFG_MACHINE_RESET(fromanc2)
+ MCFG_MACHINE_START_OVERRIDE(fromanc2_state,fromanc2)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -634,7 +629,7 @@ static MACHINE_CONFIG_START( fromancr, fromanc2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_STATIC(fromanc2_right)
- MCFG_VIDEO_START(fromancr)
+ MCFG_VIDEO_START_OVERRIDE(fromanc2_state,fromancr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -657,8 +652,7 @@ static MACHINE_CONFIG_START( fromanc4, fromanc2_state )
MCFG_CPU_PROGRAM_MAP(fromanc2_sound_map)
MCFG_CPU_IO_MAP(fromanc2_sound_io_map)
- MCFG_MACHINE_START(fromanc4)
- MCFG_MACHINE_RESET(fromanc2)
+ MCFG_MACHINE_START_OVERRIDE(fromanc2_state,fromanc4)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -682,7 +676,7 @@ static MACHINE_CONFIG_START( fromanc4, fromanc2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_STATIC(fromanc2_right)
- MCFG_VIDEO_START(fromanc4)
+ MCFG_VIDEO_START_OVERRIDE(fromanc2_state,fromanc4)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/fromance.c b/src/mame/drivers/fromance.c
index e24c0ee2579..442bda25619 100644
--- a/src/mame/drivers/fromance.c
+++ b/src/mame/drivers/fromance.c
@@ -951,54 +951,52 @@ static const msm5205_interface msm5205_config =
*
*************************************/
-static MACHINE_START( fromance )
+MACHINE_START_MEMBER(fromance_state,fromance)
{
- fromance_state *state = machine.driver_data<fromance_state>();
- UINT8 *ROM = state->memregion("sub")->base();
+ UINT8 *ROM = memregion("sub")->base();
- state->membank("bank1")->configure_entries(0, 0x100, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 0x100, &ROM[0x10000], 0x4000);
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_directionflag));
- state->save_item(NAME(state->m_commanddata));
- state->save_item(NAME(state->m_portselect));
+ save_item(NAME(m_directionflag));
+ save_item(NAME(m_commanddata));
+ save_item(NAME(m_portselect));
- state->save_item(NAME(state->m_adpcm_reset));
- state->save_item(NAME(state->m_adpcm_data));
- state->save_item(NAME(state->m_vclk_left));
+ save_item(NAME(m_adpcm_reset));
+ save_item(NAME(m_adpcm_data));
+ save_item(NAME(m_vclk_left));
/* video-related elements are saved in VIDEO_START */
}
-static MACHINE_RESET( fromance )
+MACHINE_RESET_MEMBER(fromance_state,fromance)
{
- fromance_state *state = machine.driver_data<fromance_state>();
int i;
- state->m_directionflag = 0;
- state->m_commanddata = 0;
- state->m_portselect = 0;
+ m_directionflag = 0;
+ m_commanddata = 0;
+ m_portselect = 0;
- state->m_adpcm_reset = 0;
- state->m_adpcm_data = 0;
- state->m_vclk_left = 0;
+ m_adpcm_reset = 0;
+ m_adpcm_data = 0;
+ m_vclk_left = 0;
- state->m_flipscreen_old = -1;
- state->m_scrollx_ofs = 0x159;
- state->m_scrolly_ofs = 0x10;
+ m_flipscreen_old = -1;
+ m_scrollx_ofs = 0x159;
+ m_scrolly_ofs = 0x10;
- state->m_selected_videoram = state->m_selected_paletteram = 0;
- state->m_scrollx[0] = 0;
- state->m_scrollx[1] = 0;
- state->m_scrolly[0] = 0;
- state->m_scrolly[1] = 0;
- state->m_gfxreg = 0;
- state->m_flipscreen = 0;
- state->m_crtc_register = 0;
+ m_selected_videoram = m_selected_paletteram = 0;
+ m_scrollx[0] = 0;
+ m_scrollx[1] = 0;
+ m_scrolly[0] = 0;
+ m_scrolly[1] = 0;
+ m_gfxreg = 0;
+ m_flipscreen = 0;
+ m_crtc_register = 0;
for (i = 0; i < 0x10; i++)
- state->m_crtc_data[i] = 0;
+ m_crtc_data[i] = 0;
}
static MACHINE_CONFIG_START( nekkyoku, fromance_state )
@@ -1012,8 +1010,8 @@ static MACHINE_CONFIG_START( nekkyoku, fromance_state )
MCFG_CPU_PROGRAM_MAP(nekkyoku_sub_map)
MCFG_CPU_IO_MAP(nekkyoku_sub_io_map)
- MCFG_MACHINE_START(fromance)
- MCFG_MACHINE_RESET(fromance)
+ MCFG_MACHINE_START_OVERRIDE(fromance_state,fromance)
+ MCFG_MACHINE_RESET_OVERRIDE(fromance_state,fromance)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1025,7 +1023,7 @@ static MACHINE_CONFIG_START( nekkyoku, fromance_state )
MCFG_GFXDECODE(fromance)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(nekkyoku)
+ MCFG_VIDEO_START_OVERRIDE(fromance_state,nekkyoku)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1050,8 +1048,8 @@ static MACHINE_CONFIG_START( idolmj, fromance_state )
MCFG_CPU_PROGRAM_MAP(fromance_sub_map)
MCFG_CPU_IO_MAP(idolmj_sub_io_map)
- MCFG_MACHINE_START(fromance)
- MCFG_MACHINE_RESET(fromance)
+ MCFG_MACHINE_START_OVERRIDE(fromance_state,fromance)
+ MCFG_MACHINE_RESET_OVERRIDE(fromance_state,fromance)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1063,7 +1061,7 @@ static MACHINE_CONFIG_START( idolmj, fromance_state )
MCFG_GFXDECODE(fromance)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(fromance)
+ MCFG_VIDEO_START_OVERRIDE(fromance_state,fromance)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1088,8 +1086,8 @@ static MACHINE_CONFIG_START( fromance, fromance_state )
MCFG_CPU_PROGRAM_MAP(fromance_sub_map)
MCFG_CPU_IO_MAP(fromance_sub_io_map)
- MCFG_MACHINE_START(fromance)
- MCFG_MACHINE_RESET(fromance)
+ MCFG_MACHINE_START_OVERRIDE(fromance_state,fromance)
+ MCFG_MACHINE_RESET_OVERRIDE(fromance_state,fromance)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1101,7 +1099,7 @@ static MACHINE_CONFIG_START( fromance, fromance_state )
MCFG_GFXDECODE(fromance)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(fromance)
+ MCFG_VIDEO_START_OVERRIDE(fromance_state,fromance)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/funkball.c b/src/mame/drivers/funkball.c
index 0a274b754d8..7f90aa7e8fb 100644
--- a/src/mame/drivers/funkball.c
+++ b/src/mame/drivers/funkball.c
@@ -162,6 +162,8 @@ public:
DECLARE_READ8_MEMBER(io20_r);
DECLARE_WRITE8_MEMBER(io20_w);
DECLARE_WRITE_LINE_MEMBER(funkball_pic8259_1_set_int_line);
+ virtual void machine_start();
+ virtual void machine_reset();
};
void funkball_state::video_start()
@@ -1103,35 +1105,33 @@ static void ide_interrupt(device_t *device, int state)
pic8259_ir6_w(drvstate->m_pic8259_2, state);
}
-static MACHINE_START( funkball )
+void funkball_state::machine_start()
{
- funkball_state *state = machine.driver_data<funkball_state>();
- state->m_bios_ram = auto_alloc_array(machine, UINT8, 0x20000);
+ m_bios_ram = auto_alloc_array(machine(), UINT8, 0x20000);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, funkball_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, funkball_set_keyb_int);
- state->m_maincpu->set_irq_acknowledge_callback(irq_callback);
+ m_maincpu->set_irq_acknowledge_callback(irq_callback);
- kbdc8042_init(machine, &at8042);
+ kbdc8042_init(machine(), &at8042);
/* defaults, otherwise it won't boot */
- state->m_unk_ram[0x010/4] = 0x2f8d85ff;
- state->m_unk_ram[0x018/4] = 0x000018c5;
+ m_unk_ram[0x010/4] = 0x2f8d85ff;
+ m_unk_ram[0x018/4] = 0x000018c5;
}
-static MACHINE_RESET( funkball )
+void funkball_state::machine_reset()
{
- funkball_state *state = machine.driver_data<funkball_state>();
- state->membank("bios_ext1")->set_base(state->memregion("bios")->base() + 0x00000);
- state->membank("bios_ext2")->set_base(state->memregion("bios")->base() + 0x04000);
- state->membank("bios_ext3")->set_base(state->memregion("bios")->base() + 0x08000);
- state->membank("bios_ext4")->set_base(state->memregion("bios")->base() + 0x0c000);
- state->membank("bios_bank1")->set_base(state->memregion("bios")->base() + 0x10000);
- state->membank("bios_bank2")->set_base(state->memregion("bios")->base() + 0x14000);
- state->membank("bios_bank3")->set_base(state->memregion("bios")->base() + 0x18000);
- state->membank("bios_bank4")->set_base(state->memregion("bios")->base() + 0x1c000);
- state->m_voodoo_pci_regs.base_addr = 0xff000000;
+ membank("bios_ext1")->set_base(memregion("bios")->base() + 0x00000);
+ membank("bios_ext2")->set_base(memregion("bios")->base() + 0x04000);
+ membank("bios_ext3")->set_base(memregion("bios")->base() + 0x08000);
+ membank("bios_ext4")->set_base(memregion("bios")->base() + 0x0c000);
+ membank("bios_bank1")->set_base(memregion("bios")->base() + 0x10000);
+ membank("bios_bank2")->set_base(memregion("bios")->base() + 0x14000);
+ membank("bios_bank3")->set_base(memregion("bios")->base() + 0x18000);
+ membank("bios_bank4")->set_base(memregion("bios")->base() + 0x1c000);
+ m_voodoo_pci_regs.base_addr = 0xff000000;
}
SCREEN_UPDATE_RGB32( funkball )
@@ -1163,8 +1163,6 @@ static MACHINE_CONFIG_START( funkball, funkball_state )
MCFG_CPU_PROGRAM_MAP(funkball_map)
MCFG_CPU_IO_MAP(funkball_io)
- MCFG_MACHINE_START(funkball)
- MCFG_MACHINE_RESET(funkball)
MCFG_PIT8254_ADD( "pit8254", funkball_pit8254_config )
MCFG_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
diff --git a/src/mame/drivers/funkybee.c b/src/mame/drivers/funkybee.c
index 976750b56c7..ddc30a1fcd8 100644
--- a/src/mame/drivers/funkybee.c
+++ b/src/mame/drivers/funkybee.c
@@ -278,18 +278,16 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_START( funkybee )
+void funkybee_state::machine_start()
{
- funkybee_state *state = machine.driver_data<funkybee_state>();
- state->save_item(NAME(state->m_gfx_bank));
+ save_item(NAME(m_gfx_bank));
}
-static MACHINE_RESET( funkybee )
+void funkybee_state::machine_reset()
{
- funkybee_state *state = machine.driver_data<funkybee_state>();
- state->m_gfx_bank = 0;
+ m_gfx_bank = 0;
}
static MACHINE_CONFIG_START( funkybee, funkybee_state )
@@ -300,8 +298,6 @@ static MACHINE_CONFIG_START( funkybee, funkybee_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(funkybee)
- MCFG_MACHINE_RESET(funkybee)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -314,8 +310,6 @@ static MACHINE_CONFIG_START( funkybee, funkybee_state )
MCFG_GFXDECODE(funkybee)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(funkybee)
- MCFG_VIDEO_START(funkybee)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c
index 07543e19e00..a022ab19d53 100644
--- a/src/mame/drivers/funkyjet.c
+++ b/src/mame/drivers/funkyjet.c
@@ -297,15 +297,14 @@ static const deco16ic_interface funkyjet_deco16ic_tilegen1_intf =
0,1,
};
-static MACHINE_START( funkyjet )
+void funkyjet_state::machine_start()
{
- funkyjet_state *state = machine.driver_data<funkyjet_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_deco_tilegen1 = machine.device("tilegen1");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_deco_tilegen1 = machine().device("tilegen1");
- decoprot_reset(machine);
+ decoprot_reset(machine());
}
static MACHINE_CONFIG_START( funkyjet, funkyjet_state )
@@ -318,7 +317,6 @@ static MACHINE_CONFIG_START( funkyjet, funkyjet_state )
MCFG_CPU_ADD("audiocpu", H6280, XTAL_32_22MHz/4) /* Custom chip 45, Audio section crystal is 32.220 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(funkyjet)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index e56ad2f5d27..484036967e5 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -2371,8 +2371,8 @@ static MACHINE_CONFIG_START( fw1stpal, funworld_state )
MCFG_GFXDECODE(fw1stpal)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(funworld)
- MCFG_VIDEO_START(funworld)
+ MCFG_PALETTE_INIT_OVERRIDE(funworld_state,funworld)
+ MCFG_VIDEO_START_OVERRIDE(funworld_state,funworld)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/8, mc6845_intf) /* 2MHz, veryfied on jollycrd & royalcrd */
@@ -2414,7 +2414,7 @@ static MACHINE_CONFIG_DERIVED( magicrd2, fw1stpal )
MCFG_CPU_PROGRAM_MAP(magicrd2_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MCFG_VIDEO_START(magicrd2)
+ MCFG_VIDEO_START_OVERRIDE(funworld_state,magicrd2)
MCFG_SOUND_REPLACE("ay8910", AY8910, MASTER_CLOCK/8) /* 2MHz */
MCFG_SOUND_CONFIG(ay8910_intf)
diff --git a/src/mame/drivers/funybubl.c b/src/mame/drivers/funybubl.c
index 03317832320..5823b292229 100644
--- a/src/mame/drivers/funybubl.c
+++ b/src/mame/drivers/funybubl.c
@@ -200,19 +200,18 @@ GFXDECODE_END
-static MACHINE_START( funybubl )
+void funybubl_state::machine_start()
{
- funybubl_state *state = machine.driver_data<funybubl_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_banked_vram));
+ save_item(NAME(m_banked_vram));
- state->membank("bank1")->configure_entries(0, 2, &state->m_banked_vram[0x0000], 0x1000);
- state->membank("bank2")->configure_entries(0, 0x10, ROM, 0x4000);
+ membank("bank1")->configure_entries(0, 2, &m_banked_vram[0x0000], 0x1000);
+ membank("bank2")->configure_entries(0, 0x10, ROM, 0x4000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->set_entry(0);
}
@@ -227,7 +226,6 @@ static MACHINE_CONFIG_START( funybubl, funybubl_state )
MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz?? */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(funybubl)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -241,7 +239,6 @@ static MACHINE_CONFIG_START( funybubl, funybubl_state )
MCFG_GFXDECODE(funybubl)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(funybubl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index 21a44158b5b..dcf7fdc7e2d 100644
--- a/src/mame/drivers/fuukifg2.c
+++ b/src/mame/drivers/fuukifg2.c
@@ -439,28 +439,26 @@ static TIMER_CALLBACK( raster_interrupt_callback )
}
-static MACHINE_START( fuuki16 )
+void fuuki16_state::machine_start()
{
- fuuki16_state *state = machine.driver_data<fuuki16_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- state->membank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x8000);
+ membank("bank1")->configure_entries(0, 3, &ROM[0x10000], 0x8000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->m_raster_interrupt_timer = machine.scheduler().timer_alloc(FUNC(raster_interrupt_callback));
+ m_raster_interrupt_timer = machine().scheduler().timer_alloc(FUNC(raster_interrupt_callback));
}
-static MACHINE_RESET( fuuki16 )
+void fuuki16_state::machine_reset()
{
- fuuki16_state *state = machine.driver_data<fuuki16_state>();
- const rectangle &visarea = machine.primary_screen->visible_area();
+ const rectangle &visarea = machine().primary_screen->visible_area();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(248), FUNC(level_1_interrupt_callback));
- machine.scheduler().timer_set(machine.primary_screen->time_until_vblank_start(), FUNC(vblank_interrupt_callback));
- state->m_raster_interrupt_timer->adjust(machine.primary_screen->time_until_pos(0, visarea.max_x + 1));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(248), FUNC(level_1_interrupt_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_vblank_start(), FUNC(vblank_interrupt_callback));
+ m_raster_interrupt_timer->adjust(machine().primary_screen->time_until_pos(0, visarea.max_x + 1));
}
@@ -474,8 +472,6 @@ static MACHINE_CONFIG_START( fuuki16, fuuki16_state )
MCFG_CPU_PROGRAM_MAP(fuuki16_sound_map)
MCFG_CPU_IO_MAP(fuuki16_sound_io_map)
- MCFG_MACHINE_START(fuuki16)
- MCFG_MACHINE_RESET(fuuki16)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -487,7 +483,6 @@ static MACHINE_CONFIG_START( fuuki16, fuuki16_state )
MCFG_GFXDECODE(fuuki16)
MCFG_PALETTE_LENGTH(0x800*4)
- MCFG_VIDEO_START(fuuki16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index 1327ed3f6ef..b8f61914ab7 100644
--- a/src/mame/drivers/fuukifg3.c
+++ b/src/mame/drivers/fuukifg3.c
@@ -547,31 +547,29 @@ static TIMER_CALLBACK( raster_interrupt_callback )
}
-static MACHINE_START( fuuki32 )
+void fuuki32_state::machine_start()
{
- fuuki32_state *state = machine.driver_data<fuuki32_state>();
- UINT8 *ROM = state->memregion("soundcpu")->base();
+ UINT8 *ROM = memregion("soundcpu")->base();
- state->membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
+ membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("soundcpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("soundcpu");
- state->m_raster_interrupt_timer = machine.scheduler().timer_alloc(FUNC(raster_interrupt_callback));
+ m_raster_interrupt_timer = machine().scheduler().timer_alloc(FUNC(raster_interrupt_callback));
- state->save_item(NAME(state->m_spr_buffered_tilebank));
- state->save_item(NAME(state->m_shared_ram));
+ save_item(NAME(m_spr_buffered_tilebank));
+ save_item(NAME(m_shared_ram));
}
-static MACHINE_RESET( fuuki32 )
+void fuuki32_state::machine_reset()
{
- fuuki32_state *state = machine.driver_data<fuuki32_state>();
- const rectangle &visarea = machine.primary_screen->visible_area();
+ const rectangle &visarea = machine().primary_screen->visible_area();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(248), FUNC(level_1_interrupt_callback));
- machine.scheduler().timer_set(machine.primary_screen->time_until_vblank_start(), FUNC(vblank_interrupt_callback));
- state->m_raster_interrupt_timer->adjust(machine.primary_screen->time_until_pos(0, visarea.max_x + 1));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(248), FUNC(level_1_interrupt_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_vblank_start(), FUNC(vblank_interrupt_callback));
+ m_raster_interrupt_timer->adjust(machine().primary_screen->time_until_pos(0, visarea.max_x + 1));
}
@@ -601,8 +599,6 @@ static MACHINE_CONFIG_START( fuuki32, fuuki32_state )
MCFG_CPU_PROGRAM_MAP(fuuki32_sound_map)
MCFG_CPU_IO_MAP(fuuki32_sound_io_map)
- MCFG_MACHINE_START(fuuki32)
- MCFG_MACHINE_RESET(fuuki32)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -615,7 +611,6 @@ static MACHINE_CONFIG_START( fuuki32, fuuki32_state )
MCFG_GFXDECODE(fuuki32)
MCFG_PALETTE_LENGTH(0x4000/2)
- MCFG_VIDEO_START(fuuki32)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/gaelco.c b/src/mame/drivers/gaelco.c
index 3d658ff6b83..c3e06876285 100644
--- a/src/mame/drivers/gaelco.c
+++ b/src/mame/drivers/gaelco.c
@@ -495,11 +495,10 @@ GFXDECODEINFO(0x100000,64)
*
*************************************/
-static MACHINE_START( gaelco )
+void gaelco_state::machine_start()
{
- gaelco_state *state = machine.driver_data<gaelco_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
}
static MACHINE_CONFIG_START( bigkarnk, gaelco_state )
@@ -514,7 +513,6 @@ static MACHINE_CONFIG_START( bigkarnk, gaelco_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(gaelco)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -527,7 +525,7 @@ static MACHINE_CONFIG_START( bigkarnk, gaelco_state )
MCFG_GFXDECODE(0x100000)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(bigkarnk)
+ MCFG_VIDEO_START_OVERRIDE(gaelco_state,bigkarnk)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -546,7 +544,6 @@ static MACHINE_CONFIG_START( maniacsq, gaelco_state )
MCFG_CPU_PROGRAM_MAP(maniacsq_map)
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
- MCFG_MACHINE_START(gaelco)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -559,7 +556,7 @@ static MACHINE_CONFIG_START( maniacsq, gaelco_state )
MCFG_GFXDECODE(0x100000)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(maniacsq)
+ MCFG_VIDEO_START_OVERRIDE(gaelco_state,maniacsq)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -577,7 +574,6 @@ static MACHINE_CONFIG_START( squash, gaelco_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(gaelco)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -590,7 +586,7 @@ static MACHINE_CONFIG_START( squash, gaelco_state )
MCFG_GFXDECODE(0x100000)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(maniacsq)
+ MCFG_VIDEO_START_OVERRIDE(gaelco_state,maniacsq)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -608,7 +604,6 @@ static MACHINE_CONFIG_START( thoop, gaelco_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(gaelco)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -621,7 +616,7 @@ static MACHINE_CONFIG_START( thoop, gaelco_state )
MCFG_GFXDECODE(0x100000)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(maniacsq)
+ MCFG_VIDEO_START_OVERRIDE(gaelco_state,maniacsq)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gaelco2.c b/src/mame/drivers/gaelco2.c
index 4123f273dab..80a2c7aaec0 100644
--- a/src/mame/drivers/gaelco2.c
+++ b/src/mame/drivers/gaelco2.c
@@ -173,7 +173,7 @@ static MACHINE_CONFIG_START( maniacsq, gaelco2_state )
MCFG_GFXDECODE(0x0080000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- MCFG_VIDEO_START(gaelco2)
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -306,7 +306,7 @@ static MACHINE_CONFIG_START( bang, gaelco2_state )
MCFG_GFXDECODE(0x0200000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- MCFG_VIDEO_START(gaelco2)
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -547,7 +547,7 @@ static MACHINE_CONFIG_START( alighunt, gaelco2_state )
MCFG_GFXDECODE(0x0400000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- MCFG_VIDEO_START(gaelco2)
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -796,7 +796,7 @@ static MACHINE_CONFIG_START( touchgo, gaelco2_state )
MCFG_SCREEN_UPDATE_STATIC(gaelco2_right)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_VIDEO_START(gaelco2_dual)
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2_dual)
/* sound hardware */
/* the chip is stereo, but the game sound is mono because the right channel
@@ -983,7 +983,7 @@ static MACHINE_CONFIG_START( snowboar, gaelco2_state )
MCFG_GFXDECODE(0x0400000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- MCFG_VIDEO_START(gaelco2)
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1232,7 +1232,7 @@ static MACHINE_CONFIG_START( wrally2, gaelco2_state )
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_VIDEO_START(gaelco2_dual)
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2_dual)
/* sound hardware */
/* the chip is stereo, but the game sound is mono because the right channel
diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c
index 358bbc134a3..8a282e3c69c 100644
--- a/src/mame/drivers/gaelco3d.c
+++ b/src/mame/drivers/gaelco3d.c
@@ -182,68 +182,64 @@ static const gaelco_serial_interface serial_interface =
*
*************************************/
-static MACHINE_START( gaelco3d )
+void gaelco3d_state::machine_start()
{
- gaelco3d_state *state = machine.driver_data<gaelco3d_state>();
/* Save state support */
- state_save_register_global(machine, state->m_sound_data);
- state_save_register_global(machine, state->m_sound_status);
- state_save_register_global_array(machine, state->m_analog_ports);
- state_save_register_global(machine, state->m_framenum);
- state_save_register_global(machine, state->m_adsp_ireg);
- state_save_register_global(machine, state->m_adsp_ireg_base);
- state_save_register_global(machine, state->m_adsp_incs);
- state_save_register_global(machine, state->m_adsp_size);
+ state_save_register_global(machine(), m_sound_data);
+ state_save_register_global(machine(), m_sound_status);
+ state_save_register_global_array(machine(), m_analog_ports);
+ state_save_register_global(machine(), m_framenum);
+ state_save_register_global(machine(), m_adsp_ireg);
+ state_save_register_global(machine(), m_adsp_ireg_base);
+ state_save_register_global(machine(), m_adsp_incs);
+ state_save_register_global(machine(), m_adsp_size);
}
-static MACHINE_RESET( common )
+MACHINE_RESET_MEMBER(gaelco3d_state,common)
{
- gaelco3d_state *state = machine.driver_data<gaelco3d_state>();
UINT16 *src;
int i;
- state->m_framenum = 0;
+ m_framenum = 0;
/* boot the ADSP chip */
- src = (UINT16 *)state->memregion("user1")->base();
+ src = (UINT16 *)memregion("user1")->base();
for (i = 0; i < (src[3] & 0xff) * 8; i++)
{
UINT32 opcode = ((src[i*4+0] & 0xff) << 16) | ((src[i*4+1] & 0xff) << 8) | (src[i*4+2] & 0xff);
- state->m_adsp_ram_base[i] = opcode;
+ m_adsp_ram_base[i] = opcode;
}
/* allocate a timer for feeding the autobuffer */
- state->m_adsp_autobuffer_timer = machine.device<timer_device>("adsp_timer");
+ m_adsp_autobuffer_timer = machine().device<timer_device>("adsp_timer");
- state->membank("bank1")->configure_entries(0, 256, machine.root_device().memregion("user1")->base(), 0x4000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 256, machine().root_device().memregion("user1")->base(), 0x4000);
+ membank("bank1")->set_entry(0);
/* keep the TMS32031 halted until the code is ready to go */
- machine.device("tms")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("tms")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
for (i = 0; i < SOUND_CHANNELS; i++)
{
char buffer[10];
sprintf(buffer, "dac%d", i + 1);
- state->m_dmadac[i] = machine.device<dmadac_sound_device>(buffer);
+ m_dmadac[i] = machine().device<dmadac_sound_device>(buffer);
}
}
-static MACHINE_RESET( gaelco3d )
+void gaelco3d_state::machine_reset()
{
- gaelco3d_state *state = machine.driver_data<gaelco3d_state>();
- MACHINE_RESET_CALL( common );
- state->m_tms_offset_xor = 0;
+ MACHINE_RESET_CALL_MEMBER( common );
+ m_tms_offset_xor = 0;
}
-static MACHINE_RESET( gaelco3d2 )
+MACHINE_RESET_MEMBER(gaelco3d_state,gaelco3d2)
{
- gaelco3d_state *state = machine.driver_data<gaelco3d_state>();
- MACHINE_RESET_CALL( common );
- state->m_tms_offset_xor = BYTE_XOR_BE(0);
+ MACHINE_RESET_CALL_MEMBER( common );
+ m_tms_offset_xor = BYTE_XOR_BE(0);
}
@@ -1009,8 +1005,6 @@ static MACHINE_CONFIG_START( gaelco3d, gaelco3d_state )
MCFG_CPU_PROGRAM_MAP(adsp_program_map)
MCFG_CPU_DATA_MAP(adsp_data_map)
- MCFG_MACHINE_START(gaelco3d)
- MCFG_MACHINE_RESET(gaelco3d)
MCFG_EEPROM_93C66B_ADD("eeprom")
@@ -1030,7 +1024,6 @@ static MACHINE_CONFIG_START( gaelco3d, gaelco3d_state )
MCFG_PALETTE_LENGTH(32768)
MCFG_PALETTE_INIT(RRRRR_GGGGG_BBBBB)
- MCFG_VIDEO_START(gaelco3d)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1059,7 +1052,7 @@ static MACHINE_CONFIG_DERIVED( gaelco3d2, gaelco3d )
MCFG_CPU_MODIFY("tms")
MCFG_CPU_CLOCK(50000000)
- MCFG_MACHINE_RESET(gaelco3d2)
+ MCFG_MACHINE_RESET_OVERRIDE(gaelco3d_state,gaelco3d2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gaiden.c b/src/mame/drivers/gaiden.c
index f495d6731d0..051e4a55872 100644
--- a/src/mame/drivers/gaiden.c
+++ b/src/mame/drivers/gaiden.c
@@ -289,45 +289,43 @@ static const int jumppoints_other[0x100] =
-1, -1, -1, -1, -1, -1, -1, -1
};
-static MACHINE_RESET( raiga )
+MACHINE_RESET_MEMBER(gaiden_state,raiga)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
-
- state->m_prot = 0;
- state->m_jumpcode = 0;
-
- state->m_tx_scroll_x = 0;
- state->m_tx_scroll_y = 0;
- state->m_bg_scroll_x = 0;
- state->m_bg_scroll_y = 0;
- state->m_fg_scroll_x = 0;
- state->m_fg_scroll_y = 0;
-
- state->m_tx_offset_y = 0;
- state->m_fg_offset_y = 0;
- state->m_bg_offset_y = 0;
- state->m_spr_offset_y = 0;
+
+ m_prot = 0;
+ m_jumpcode = 0;
+
+ m_tx_scroll_x = 0;
+ m_tx_scroll_y = 0;
+ m_bg_scroll_x = 0;
+ m_bg_scroll_y = 0;
+ m_fg_scroll_x = 0;
+ m_fg_scroll_y = 0;
+
+ m_tx_offset_y = 0;
+ m_fg_offset_y = 0;
+ m_bg_offset_y = 0;
+ m_spr_offset_y = 0;
}
-static MACHINE_START( raiga )
+MACHINE_START_MEMBER(gaiden_state,raiga)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
-
- state->save_item(NAME(state->m_prot));
- state->save_item(NAME(state->m_jumpcode));
-
- state->save_item(NAME(state->m_tx_scroll_x));
- state->save_item(NAME(state->m_tx_scroll_y));
- state->save_item(NAME(state->m_bg_scroll_x));
- state->save_item(NAME(state->m_bg_scroll_y));
- state->save_item(NAME(state->m_fg_scroll_x));
- state->save_item(NAME(state->m_fg_scroll_y));
-
- state->save_item(NAME(state->m_tx_offset_y));
- state->save_item(NAME(state->m_fg_offset_y));
- state->save_item(NAME(state->m_bg_offset_y));
- state->save_item(NAME(state->m_spr_offset_y));
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+
+ save_item(NAME(m_prot));
+ save_item(NAME(m_jumpcode));
+
+ save_item(NAME(m_tx_scroll_x));
+ save_item(NAME(m_tx_scroll_y));
+ save_item(NAME(m_bg_scroll_x));
+ save_item(NAME(m_bg_scroll_y));
+ save_item(NAME(m_fg_scroll_x));
+ save_item(NAME(m_fg_scroll_y));
+
+ save_item(NAME(m_tx_offset_y));
+ save_item(NAME(m_fg_offset_y));
+ save_item(NAME(m_bg_offset_y));
+ save_item(NAME(m_spr_offset_y));
}
WRITE16_MEMBER(gaiden_state::raiga_protection_w)
@@ -772,8 +770,8 @@ static MACHINE_CONFIG_START( shadoww, gaiden_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
/* IRQs are triggered by the YM2203 */
- MCFG_MACHINE_START(raiga)
- MCFG_MACHINE_RESET(raiga)
+ MCFG_MACHINE_START_OVERRIDE(gaiden_state,raiga)
+ MCFG_MACHINE_RESET_OVERRIDE(gaiden_state,raiga)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -786,7 +784,7 @@ static MACHINE_CONFIG_START( shadoww, gaiden_state )
MCFG_GFXDECODE(gaiden)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(gaiden)
+ MCFG_VIDEO_START_OVERRIDE(gaiden_state,gaiden)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -813,7 +811,7 @@ static MACHINE_CONFIG_DERIVED( raiga, shadoww )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(raiga)
- MCFG_VIDEO_START(raiga)
+ MCFG_VIDEO_START_OVERRIDE(gaiden_state,raiga)
MCFG_GFXDECODE(raiga)
MACHINE_CONFIG_END
@@ -828,8 +826,8 @@ static MACHINE_CONFIG_START( drgnbowl, gaiden_state )
MCFG_CPU_PROGRAM_MAP(drgnbowl_sound_map)
MCFG_CPU_IO_MAP(drgnbowl_sound_port_map)
- MCFG_MACHINE_START(raiga)
- MCFG_MACHINE_RESET(raiga)
+ MCFG_MACHINE_START_OVERRIDE(gaiden_state,raiga)
+ MCFG_MACHINE_RESET_OVERRIDE(gaiden_state,raiga)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -842,7 +840,7 @@ static MACHINE_CONFIG_START( drgnbowl, gaiden_state )
MCFG_GFXDECODE(drgnbowl)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(drgnbowl)
+ MCFG_VIDEO_START_OVERRIDE(gaiden_state,drgnbowl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -944,8 +942,8 @@ static MACHINE_CONFIG_START( mastninj, gaiden_state )
MCFG_CPU_PROGRAM_MAP(mastninj_sound_map)
/* IRQs are triggered by the YM2203 */
- MCFG_MACHINE_START(raiga)
- MCFG_MACHINE_RESET(raiga)
+ MCFG_MACHINE_START_OVERRIDE(gaiden_state,raiga)
+ MCFG_MACHINE_RESET_OVERRIDE(gaiden_state,raiga)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -958,7 +956,7 @@ static MACHINE_CONFIG_START( mastninj, gaiden_state )
MCFG_GFXDECODE(mastninj)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(mastninj)
+ MCFG_VIDEO_START_OVERRIDE(gaiden_state,mastninj)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gal3.c b/src/mame/drivers/gal3.c
index 08574508bcb..06a3d947a89 100644
--- a/src/mame/drivers/gal3.c
+++ b/src/mame/drivers/gal3.c
@@ -158,15 +158,15 @@ public:
DECLARE_WRITE32_MEMBER(namcos21_video_enable_w);
DECLARE_READ32_MEMBER(rso_r);
DECLARE_WRITE32_MEMBER(rso_w);
+ DECLARE_VIDEO_START(gal3);
};
-static VIDEO_START(gal3)
+VIDEO_START_MEMBER(gal3_state,gal3)
{
- gal3_state *state = machine.driver_data<gal3_state>();
- state->m_generic_paletteram_16.allocate(0x10000);
+ m_generic_paletteram_16.allocate(0x10000);
- state->c355_obj_init(
+ c355_obj_init(
0, /* gfx bank */
0xf, /* reverse palette mapping */
namcos2_shared_state::c355_obj_code2tile_delegate() );
@@ -670,7 +670,7 @@ static MACHINE_CONFIG_START( gal3, gal3_state )
MCFG_GFXDECODE(namcos21)
MCFG_PALETTE_LENGTH(NAMCOS21_NUM_COLORS)
- MCFG_VIDEO_START(gal3)
+ MCFG_VIDEO_START_OVERRIDE(gal3_state,gal3)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/galaga.c b/src/mame/drivers/galaga.c
index 4cca6192d2c..f6ac59565ba 100644
--- a/src/mame/drivers/galaga.c
+++ b/src/mame/drivers/galaga.c
@@ -874,17 +874,16 @@ static TIMER_CALLBACK( cpu3_interrupt_callback )
}
-static MACHINE_START( galaga )
+MACHINE_START_MEMBER(galaga_state,galaga)
{
- galaga_state *state = machine.driver_data<galaga_state>();
/* create the interrupt timer */
- state->m_cpu3_interrupt_timer = machine.scheduler().timer_alloc(FUNC(cpu3_interrupt_callback));
- state->m_custom_mod = 0;
- state_save_register_global(machine, state->m_custom_mod);
- state->save_item(NAME(state->m_main_irq_mask));
- state->save_item(NAME(state->m_sub_irq_mask));
- state->save_item(NAME(state->m_sub2_nmi_mask));
+ m_cpu3_interrupt_timer = machine().scheduler().timer_alloc(FUNC(cpu3_interrupt_callback));
+ m_custom_mod = 0;
+ state_save_register_global(machine(), m_custom_mod);
+ save_item(NAME(m_main_irq_mask));
+ save_item(NAME(m_sub_irq_mask));
+ save_item(NAME(m_sub2_nmi_mask));
}
static void bosco_latch_reset(running_machine &machine)
@@ -898,20 +897,19 @@ static void bosco_latch_reset(running_machine &machine)
state->bosco_latch_w(*space,i,0);
}
-static MACHINE_RESET( galaga )
+MACHINE_RESET_MEMBER(galaga_state,galaga)
{
- galaga_state *state = machine.driver_data<galaga_state>();
/* Reset all latches */
- bosco_latch_reset(machine);
+ bosco_latch_reset(machine());
- state->m_cpu3_interrupt_timer->adjust(machine.primary_screen->time_until_pos(64), 64);
+ m_cpu3_interrupt_timer->adjust(machine().primary_screen->time_until_pos(64), 64);
}
-static MACHINE_RESET( battles )
+MACHINE_RESET_MEMBER(xevious_state,battles)
{
- MACHINE_RESET_CALL(galaga);
- battles_customio_init(machine);
+ MACHINE_RESET_CALL_MEMBER(galaga);
+ battles_customio_init(machine());
}
@@ -1696,8 +1694,8 @@ static MACHINE_CONFIG_START( bosco, bosco_state )
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(galaga)
- MCFG_MACHINE_RESET(galaga)
+ MCFG_MACHINE_START_OVERRIDE(bosco_state,galaga)
+ MCFG_MACHINE_RESET_OVERRIDE(bosco_state,galaga)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1708,8 +1706,8 @@ static MACHINE_CONFIG_START( bosco, bosco_state )
MCFG_GFXDECODE(bosco)
MCFG_PALETTE_LENGTH(64*4+64*4+4+64)
- MCFG_PALETTE_INIT(bosco)
- MCFG_VIDEO_START(bosco)
+ MCFG_PALETTE_INIT_OVERRIDE(bosco_state,bosco)
+ MCFG_VIDEO_START_OVERRIDE(bosco_state,bosco)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1752,8 +1750,8 @@ static MACHINE_CONFIG_START( galaga, galaga_state )
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(galaga)
- MCFG_MACHINE_RESET(galaga)
+ MCFG_MACHINE_START_OVERRIDE(bosco_state,galaga)
+ MCFG_MACHINE_RESET_OVERRIDE(bosco_state,galaga)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1764,8 +1762,8 @@ static MACHINE_CONFIG_START( galaga, galaga_state )
MCFG_GFXDECODE(galaga)
MCFG_PALETTE_LENGTH(64*4+64*4+64)
- MCFG_PALETTE_INIT(galaga)
- MCFG_VIDEO_START(galaga)
+ MCFG_PALETTE_INIT_OVERRIDE(bosco_state,galaga)
+ MCFG_VIDEO_START_OVERRIDE(bosco_state,galaga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1830,8 +1828,8 @@ static MACHINE_CONFIG_START( xevious, xevious_state )
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* 1000 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(galaga)
- MCFG_MACHINE_RESET(galaga)
+ MCFG_MACHINE_START_OVERRIDE(galaga_state,galaga)
+ MCFG_MACHINE_RESET_OVERRIDE(galaga_state,galaga)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1841,8 +1839,8 @@ static MACHINE_CONFIG_START( xevious, xevious_state )
MCFG_GFXDECODE(xevious)
MCFG_PALETTE_LENGTH(128*4+64*8+64*2)
- MCFG_PALETTE_INIT(xevious)
- MCFG_VIDEO_START(xevious)
+ MCFG_PALETTE_INIT_OVERRIDE(xevious_state,xevious)
+ MCFG_VIDEO_START_OVERRIDE(xevious_state,xevious)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1879,10 +1877,10 @@ static MACHINE_CONFIG_DERIVED( battles, xevious )
MCFG_TIMER_ADD("battles_nmi", battles_nmi_generate)
- MCFG_MACHINE_RESET(battles)
+ MCFG_MACHINE_RESET_OVERRIDE(xevious_state,battles)
/* video hardware */
- MCFG_PALETTE_INIT(battles)
+ MCFG_PALETTE_INIT_OVERRIDE(xevious_state,battles)
/* sound hardware */
MCFG_DEVICE_REMOVE("discrete")
@@ -1917,8 +1915,8 @@ static MACHINE_CONFIG_START( digdug, digdug_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(galaga)
- MCFG_MACHINE_RESET(galaga)
+ MCFG_MACHINE_START_OVERRIDE(galaga_state,galaga)
+ MCFG_MACHINE_RESET_OVERRIDE(galaga_state,galaga)
MCFG_ATARIVGEAROM_ADD("earom")
@@ -1930,8 +1928,8 @@ static MACHINE_CONFIG_START( digdug, digdug_state )
MCFG_GFXDECODE(digdug)
MCFG_PALETTE_LENGTH(16*2+64*4+64*4)
- MCFG_PALETTE_INIT(digdug)
- MCFG_VIDEO_START(digdug)
+ MCFG_PALETTE_INIT_OVERRIDE(digdug_state,digdug)
+ MCFG_VIDEO_START_OVERRIDE(digdug_state,digdug)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/galastrm.c b/src/mame/drivers/galastrm.c
index 6b1f50f187e..c07f45a3d05 100644
--- a/src/mame/drivers/galastrm.c
+++ b/src/mame/drivers/galastrm.c
@@ -325,7 +325,6 @@ static MACHINE_CONFIG_START( galastrm, galastrm_state )
MCFG_GFXDECODE(galastrm)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(galastrm)
MCFG_TC0100SCN_ADD("tc0100scn", galastrm_tc0100scn_intf)
MCFG_TC0480SCP_ADD("tc0480scp", galastrm_tc0480scp_intf)
diff --git a/src/mame/drivers/galaxi.c b/src/mame/drivers/galaxi.c
index e829674bd6c..2bb6f855a6d 100644
--- a/src/mame/drivers/galaxi.c
+++ b/src/mame/drivers/galaxi.c
@@ -91,6 +91,9 @@ public:
TILE_GET_INFO_MEMBER(get_bg3_tile_info);
TILE_GET_INFO_MEMBER(get_bg4_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -158,25 +161,24 @@ WRITE16_MEMBER(galaxi_state::galaxi_fg_w)
m_fg_tmap->mark_tile_dirty(offset);
}
-static VIDEO_START(galaxi)
+void galaxi_state::video_start()
{
- galaxi_state *state = machine.driver_data<galaxi_state>();
- state->m_bg1_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
- state->m_bg2_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
- state->m_bg3_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg3_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
- state->m_bg4_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg4_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
+ m_bg1_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
+ m_bg2_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
+ m_bg3_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg3_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
+ m_bg4_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg4_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
- state->m_fg_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
+ m_fg_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
- state->m_bg1_tmap->set_transparent_pen(0);
- state->m_bg2_tmap->set_transparent_pen(0);
- state->m_bg3_tmap->set_transparent_pen(0);
- state->m_bg4_tmap->set_transparent_pen(0);
+ m_bg1_tmap->set_transparent_pen(0);
+ m_bg2_tmap->set_transparent_pen(0);
+ m_bg3_tmap->set_transparent_pen(0);
+ m_bg4_tmap->set_transparent_pen(0);
- state->m_fg_tmap->set_transparent_pen(0);
+ m_fg_tmap->set_transparent_pen(0);
- state->m_bg3_tmap->set_scrolldx(-8, 0);
+ m_bg3_tmap->set_scrolldx(-8, 0);
}
static SCREEN_UPDATE_IND16(galaxi)
@@ -381,24 +383,22 @@ GFXDECODE_END
Machine Drivers
***************************************************************************/
-static MACHINE_START( galaxi )
+void galaxi_state::machine_start()
{
- galaxi_state *state = machine.driver_data<galaxi_state>();
- state->save_item(NAME(state->m_hopper));
- state->save_item(NAME(state->m_ticket));
- state->save_item(NAME(state->m_out));
+ save_item(NAME(m_hopper));
+ save_item(NAME(m_ticket));
+ save_item(NAME(m_out));
}
-static MACHINE_RESET( galaxi )
+void galaxi_state::machine_reset()
{
- galaxi_state *state = machine.driver_data<galaxi_state>();
- state->m_hopper = 0;
- state->m_ticket = 0;
- state->m_out[0] = 0;
- state->m_out[1] = 0;
- state->m_out[2] = 0;
+ m_hopper = 0;
+ m_ticket = 0;
+ m_out[0] = 0;
+ m_out[1] = 0;
+ m_out[2] = 0;
}
static MACHINE_CONFIG_START( galaxi, galaxi_state )
@@ -408,8 +408,6 @@ static MACHINE_CONFIG_START( galaxi, galaxi_state )
MCFG_CPU_PROGRAM_MAP(galaxi_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(galaxi)
- MCFG_MACHINE_RESET(galaxi)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -423,7 +421,6 @@ static MACHINE_CONFIG_START( galaxi, galaxi_state )
MCFG_GFXDECODE(galaxi)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(galaxi)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/galaxia.c b/src/mame/drivers/galaxia.c
index 1b170cd8172..bf2b446251f 100644
--- a/src/mame/drivers/galaxia.c
+++ b/src/mame/drivers/galaxia.c
@@ -310,8 +310,8 @@ static MACHINE_CONFIG_START( galaxia, galaxia_state )
MCFG_GFXDECODE(galaxia)
MCFG_PALETTE_LENGTH(0x18+2)
- MCFG_PALETTE_INIT(galaxia)
- MCFG_VIDEO_START(galaxia)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxia_state,galaxia)
+ MCFG_VIDEO_START_OVERRIDE(galaxia_state,galaxia)
MCFG_S2636_ADD("s2636_0", galaxia_s2636_config[0])
MCFG_S2636_ADD("s2636_1", galaxia_s2636_config[1])
@@ -350,8 +350,8 @@ static MACHINE_CONFIG_START( astrowar, galaxia_state )
MCFG_GFXDECODE(astrowar)
MCFG_PALETTE_LENGTH(0x18+2)
- MCFG_PALETTE_INIT(astrowar)
- MCFG_VIDEO_START(astrowar)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxia_state,astrowar)
+ MCFG_VIDEO_START_OVERRIDE(galaxia_state,astrowar)
MCFG_S2636_ADD("s2636_0", astrowar_s2636_config)
diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c
index 2887b7fd211..17c8b1b463d 100644
--- a/src/mame/drivers/galaxian.c
+++ b/src/mame/drivers/galaxian.c
@@ -456,7 +456,7 @@ static INTERRUPT_GEN( fakechange_interrupt_gen )
{
state->m_tenspot_current_game++;
state->m_tenspot_current_game%=10;
- tenspot_set_game_bank(device->machine(), state->m_tenspot_current_game, 1);
+ state->tenspot_set_game_bank(device->machine(), state->m_tenspot_current_game, 1);
device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
}
}
@@ -2096,8 +2096,6 @@ static MACHINE_CONFIG_START( galaxian_base, galaxian_state )
MCFG_SCREEN_RAW_PARAMS(GALAXIAN_PIXEL_CLOCK, GALAXIAN_HTOTAL, GALAXIAN_HBEND, GALAXIAN_HBSTART, GALAXIAN_VTOTAL, GALAXIAN_VBEND, GALAXIAN_VBSTART)
MCFG_SCREEN_UPDATE_STATIC(galaxian)
- MCFG_PALETTE_INIT(galaxian)
- MCFG_VIDEO_START(galaxian)
/* blinking frequency is determined by 555 counter with Ra=100k, Rb=10k, C=10uF */
MCFG_TIMER_ADD_PERIODIC("stars", galaxian_stars_blink_timer, PERIOD_OF_555_ASTABLE(100000, 10000, 0.00001))
@@ -2510,7 +2508,7 @@ static MACHINE_CONFIG_DERIVED( moonwar, scobra )
MCFG_I8255A_ADD( "ppi8255_0", moonwar_ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", konami_ppi8255_1_intf )
- MCFG_PALETTE_INIT(moonwar) // bullets are less yellow
+ MCFG_PALETTE_INIT_OVERRIDE(galaxian_state,moonwar) // bullets are less yellow
MACHINE_CONFIG_END
@@ -2915,7 +2913,7 @@ READ8_MEMBER(galaxian_state::tenspot_dsw_read)
}
-void tenspot_set_game_bank(running_machine& machine, int bank, int from_game)
+void galaxian_state::tenspot_set_game_bank(running_machine& machine, int bank, int from_game)
{
char tmp[64];
UINT8* srcregion;
@@ -2953,7 +2951,7 @@ void tenspot_set_game_bank(running_machine& machine, int bank, int from_game)
dstregion = machine.root_device().memregion("proms")->base();
memcpy(dstregion, srcregion, 0x20);
- PALETTE_INIT_CALL(galaxian);
+ galaxian_state::palette_init();
}
DRIVER_INIT_MEMBER(galaxian_state,tenspot)
diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c
index 9c5d916448c..1cb224147c4 100644
--- a/src/mame/drivers/galaxold.c
+++ b/src/mame/drivers/galaxold.c
@@ -2174,7 +2174,7 @@ static MACHINE_CONFIG_START( galaxold_base, galaxold_state )
MCFG_CPU_ADD("maincpu", Z80, PIXEL_CLOCK/2) /* 3.072 MHz */
MCFG_CPU_PROGRAM_MAP(galaxold_map)
- MCFG_MACHINE_RESET(galaxold)
+ MCFG_MACHINE_RESET_OVERRIDE(galaxold_state,galaxold)
MCFG_7474_ADD("7474_9m_1", "7474_9m_1", galaxold_7474_9m_1_callback, NULL)
MCFG_7474_ADD("7474_9m_2", "7474_9m_1", NULL, galaxold_7474_9m_2_q_callback)
@@ -2189,8 +2189,8 @@ static MACHINE_CONFIG_START( galaxold_base, galaxold_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(galaxold)
- MCFG_PALETTE_INIT(galaxold)
- MCFG_VIDEO_START(galaxold)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,galaxold)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,galaxold)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2211,7 +2211,7 @@ static MACHINE_CONFIG_DERIVED( batman2, galaxian )
/* basic machine hardware */
/* video hardware */
- MCFG_VIDEO_START(batman2)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,batman2)
MACHINE_CONFIG_END
@@ -2222,7 +2222,7 @@ static MACHINE_CONFIG_DERIVED( mooncrst, galaxian )
MCFG_CPU_PROGRAM_MAP(mooncrst_map)
/* video hardware */
- MCFG_VIDEO_START(mooncrst)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,mooncrst)
MACHINE_CONFIG_END
@@ -2235,8 +2235,8 @@ static MACHINE_CONFIG_DERIVED( scramblb, galaxian )
/* video hardware */
MCFG_PALETTE_LENGTH(32+2+64+1) /* 32 for the characters, 2 for the bullets, 64 for the stars, 1 for background */
- MCFG_PALETTE_INIT(scrambold)
- MCFG_VIDEO_START(scrambold)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,scrambold)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,scrambold)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( scramb2, galaxian )
@@ -2248,8 +2248,8 @@ static MACHINE_CONFIG_DERIVED( scramb2, galaxian )
/* video hardware */
MCFG_PALETTE_LENGTH(32+2+64+1) /* 32 for the characters, 2 for the bullets, 64 for the stars, 1 for background */
- MCFG_PALETTE_INIT(scrambold)
- MCFG_VIDEO_START(scrambold)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,scrambold)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,scrambold)
MACHINE_CONFIG_END
@@ -2263,7 +2263,7 @@ static MACHINE_CONFIG_DERIVED( 4in1, galaxian )
/* video hardware */
MCFG_GFXDECODE(_4in1)
- MCFG_VIDEO_START(pisces)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,pisces)
MACHINE_CONFIG_END
@@ -2273,12 +2273,12 @@ static MACHINE_CONFIG_DERIVED( bagmanmc, galaxian )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bagmanmc_map)
- MCFG_MACHINE_RESET( devilfsg )
+ MCFG_MACHINE_RESET_OVERRIDE(galaxold_state, devilfsg )
/* video hardware */
MCFG_GFXDECODE(bagmanmc)
- MCFG_VIDEO_START(pisces)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,pisces)
MACHINE_CONFIG_END
@@ -2289,7 +2289,7 @@ static MACHINE_CONFIG_DERIVED( dkongjrm, galaxian )
MCFG_CPU_PROGRAM_MAP(dkongjrm_map)
/* video hardware */
- MCFG_VIDEO_START(dkongjrm)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,dkongjrm)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( rockclim, galaxian )
@@ -2299,9 +2299,9 @@ static MACHINE_CONFIG_DERIVED( rockclim, galaxian )
MCFG_CPU_PROGRAM_MAP(rockclim_map)
MCFG_GFXDECODE(rockclim)
/* video hardware */
- MCFG_VIDEO_START(rockclim)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,rockclim)
MCFG_PALETTE_LENGTH(64+64+2) /* 64 colors only, but still uses bullets so we need to keep the palette big */
- MCFG_PALETTE_INIT(rockclim)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,rockclim)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(64*8, 32*8)
@@ -2318,10 +2318,10 @@ static MACHINE_CONFIG_DERIVED( ozon1, galaxold_base )
MCFG_MACHINE_RESET(0)
- MCFG_PALETTE_INIT(rockclim)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,rockclim)
MCFG_PALETTE_LENGTH(32)
- MCFG_VIDEO_START(galaxold_plain)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,galaxold_plain)
MCFG_SOUND_ADD("aysnd", AY8910, PIXEL_CLOCK/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
@@ -2345,9 +2345,9 @@ static MACHINE_CONFIG_START( drivfrcg, galaxold_state )
MCFG_PALETTE_LENGTH(64)
MCFG_GFXDECODE(gmgalax)
- MCFG_PALETTE_INIT(rockclim)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,rockclim)
- MCFG_VIDEO_START(drivfrcg)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,drivfrcg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2362,7 +2362,7 @@ static MACHINE_CONFIG_DERIVED( bongo, galaxold_base )
MCFG_CPU_PROGRAM_MAP(bongo)
MCFG_CPU_IO_MAP(bongo_io)
- MCFG_VIDEO_START(bongo)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,bongo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(galaxold)
@@ -2379,7 +2379,7 @@ static MACHINE_CONFIG_DERIVED( hunchbkg, galaxold_base )
MCFG_CPU_PROGRAM_MAP(hunchbkg)
MCFG_CPU_IO_MAP(hunchbkg_io)
- MCFG_MACHINE_RESET(hunchbkg)
+ MCFG_MACHINE_RESET_OVERRIDE(galaxold_state,hunchbkg)
MCFG_FRAGMENT_ADD(galaxian_audio)
MACHINE_CONFIG_END
@@ -2405,10 +2405,10 @@ static MACHINE_CONFIG_DERIVED( harem, galaxold_base )
MCFG_MACHINE_RESET(0)
- MCFG_PALETTE_INIT(rockclim)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,rockclim)
MCFG_PALETTE_LENGTH(32)
- MCFG_VIDEO_START(galaxold_plain)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,galaxold_plain)
MCFG_SOUND_ADD("ay1", AY8910, 2000000) //?
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33/3)
@@ -2442,8 +2442,8 @@ static MACHINE_CONFIG_START( racknrol, galaxold_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(galaxold)
- MCFG_PALETTE_INIT(rockclim)
- MCFG_VIDEO_START(racknrol)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,rockclim)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,racknrol)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2468,7 +2468,7 @@ static MACHINE_CONFIG_DERIVED( ckongg, galaxian )
MCFG_GFXDECODE(gmgalax)
- MCFG_VIDEO_START(ckongs)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,ckongs)
MACHINE_CONFIG_END
@@ -2480,7 +2480,7 @@ static MACHINE_CONFIG_DERIVED( ckongmc, galaxian )
MCFG_GFXDECODE(gmgalax)
- MCFG_VIDEO_START(ckongs)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,ckongs)
MACHINE_CONFIG_END
@@ -2500,8 +2500,8 @@ static MACHINE_CONFIG_START( hexpoola, galaxold_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(galaxold)
- MCFG_PALETTE_INIT(rockclim)
- MCFG_VIDEO_START(racknrol)
+ MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,rockclim)
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,racknrol)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/galgame.c b/src/mame/drivers/galgame.c
index e89e1611d6d..482d275a4bb 100644
--- a/src/mame/drivers/galgame.c
+++ b/src/mame/drivers/galgame.c
@@ -45,6 +45,8 @@ public:
DECLARE_WRITE16_MEMBER(y_w);
DECLARE_WRITE16_MEMBER(clk_w);
DECLARE_DRIVER_INIT(galaxygame);
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*************************************
@@ -287,10 +289,10 @@ static ADDRESS_MAP_START( galaxygame_map, AS_PROGRAM, 16, galaxygame_state )
ADDRESS_MAP_END
-static PALETTE_INIT( galaxygame )
+void galaxygame_state::palette_init()
{
- palette_set_color(machine,0,RGB_BLACK); /* black */
- palette_set_color(machine,1,RGB_WHITE); /* white */
+ palette_set_color(machine(),0,RGB_BLACK); /* black */
+ palette_set_color(machine(),1,RGB_WHITE); /* white */
}
static IRQ_CALLBACK(galaxygame_irq_callback)
@@ -309,15 +311,14 @@ static INTERRUPT_GEN(galaxygame_irq)
}
}
-static MACHINE_RESET( galaxygame )
+void galaxygame_state::machine_reset()
{
- galaxygame_state *state = machine.driver_data<galaxygame_state>();
- state->m_clk = 0x00;
- state->m_point_work_list_index = 0;
- state->m_point_display_list_index = 0;
- state->m_interrupt = 0;
+ m_clk = 0x00;
+ m_point_work_list_index = 0;
+ m_point_display_list_index = 0;
+ m_interrupt = 0;
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(galaxygame_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(galaxygame_irq_callback);
}
static const struct t11_setup t11_data =
@@ -341,9 +342,7 @@ static MACHINE_CONFIG_START( galaxygame, galaxygame_state )
MCFG_SCREEN_UPDATE_STATIC(galaxygame)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(galaxygame)
- MCFG_MACHINE_RESET(galaxygame)
MACHINE_CONFIG_END
ROM_START(galgame)
diff --git a/src/mame/drivers/galivan.c b/src/mame/drivers/galivan.c
index 974270f66aa..78089123b39 100644
--- a/src/mame/drivers/galivan.c
+++ b/src/mame/drivers/galivan.c
@@ -375,63 +375,59 @@ GFXDECODE_END
-static MACHINE_START( galivan )
+MACHINE_START_MEMBER(galivan_state,galivan)
{
- galivan_state *state = machine.driver_data<galivan_state>();
/* configure ROM banking */
- UINT8 *rombase = state->memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 2, &rombase[0x10000], 0x2000);
- state->membank("bank1")->set_entry(0);
+ UINT8 *rombase = memregion("maincpu")->base();
+ membank("bank1")->configure_entries(0, 2, &rombase[0x10000], 0x2000);
+ membank("bank1")->set_entry(0);
/* register for saving */
- state->save_item(NAME(state->m_scrollx));
- state->save_item(NAME(state->m_scrolly));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_write_layers));
- state->save_item(NAME(state->m_layers));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_scrolly));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_write_layers));
+ save_item(NAME(m_layers));
}
-static MACHINE_START( ninjemak )
+MACHINE_START_MEMBER(galivan_state,ninjemak)
{
- galivan_state *state = machine.driver_data<galivan_state>();
/* configure ROM banking */
- UINT8 *rombase = state->memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &rombase[0x10000], 0x2000);
- state->membank("bank1")->set_entry(0);
+ UINT8 *rombase = memregion("maincpu")->base();
+ membank("bank1")->configure_entries(0, 4, &rombase[0x10000], 0x2000);
+ membank("bank1")->set_entry(0);
/* register for saving */
- state->save_item(NAME(state->m_scrollx));
- state->save_item(NAME(state->m_scrolly));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_ninjemak_dispdisable));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_scrolly));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_ninjemak_dispdisable));
}
-static MACHINE_RESET( galivan )
+MACHINE_RESET_MEMBER(galivan_state,galivan)
{
- galivan_state *state = machine.driver_data<galivan_state>();
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
-// state->m_layers = 0x60;
- state->m_layers = 0;
- state->m_write_layers = 0;
- state->m_galivan_scrollx[0] = state->m_galivan_scrollx[1] = 0;
- state->m_galivan_scrolly[0] = state->m_galivan_scrolly[1] = 0;
- state->m_flipscreen = 0;
+// m_layers = 0x60;
+ m_layers = 0;
+ m_write_layers = 0;
+ m_galivan_scrollx[0] = m_galivan_scrollx[1] = 0;
+ m_galivan_scrolly[0] = m_galivan_scrolly[1] = 0;
+ m_flipscreen = 0;
}
-static MACHINE_RESET( ninjemak )
+MACHINE_RESET_MEMBER(galivan_state,ninjemak)
{
- galivan_state *state = machine.driver_data<galivan_state>();
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
- state->m_scrollx = 0;
- state->m_scrolly = 0;
- state->m_flipscreen = 0;
- state->m_ninjemak_dispdisable = 0;
+ m_scrollx = 0;
+ m_scrolly = 0;
+ m_flipscreen = 0;
+ m_ninjemak_dispdisable = 0;
}
static MACHINE_CONFIG_START( galivan, galivan_state )
@@ -447,8 +443,8 @@ static MACHINE_CONFIG_START( galivan, galivan_state )
MCFG_CPU_IO_MAP(sound_io_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ?
- MCFG_MACHINE_START(galivan)
- MCFG_MACHINE_RESET(galivan)
+ MCFG_MACHINE_START_OVERRIDE(galivan_state,galivan)
+ MCFG_MACHINE_RESET_OVERRIDE(galivan_state,galivan)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -461,8 +457,7 @@ static MACHINE_CONFIG_START( galivan, galivan_state )
MCFG_GFXDECODE(galivan)
MCFG_PALETTE_LENGTH(8*16+16*16+256*16)
- MCFG_PALETTE_INIT(galivan)
- MCFG_VIDEO_START(galivan)
+ MCFG_VIDEO_START_OVERRIDE(galivan_state,galivan)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -490,8 +485,8 @@ static MACHINE_CONFIG_START( ninjemak, galivan_state )
MCFG_CPU_IO_MAP(sound_io_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ?
- MCFG_MACHINE_START(ninjemak)
- MCFG_MACHINE_RESET(ninjemak)
+ MCFG_MACHINE_START_OVERRIDE(galivan_state,ninjemak)
+ MCFG_MACHINE_RESET_OVERRIDE(galivan_state,ninjemak)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -504,8 +499,7 @@ static MACHINE_CONFIG_START( ninjemak, galivan_state )
MCFG_GFXDECODE(ninjemak)
MCFG_PALETTE_LENGTH(8*16+16*16+256*16)
- MCFG_PALETTE_INIT(galivan)
- MCFG_VIDEO_START(ninjemak)
+ MCFG_VIDEO_START_OVERRIDE(galivan_state,ninjemak)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/galpani2.c b/src/mame/drivers/galpani2.c
index ff65b9678ab..57c1f99e7d5 100644
--- a/src/mame/drivers/galpani2.c
+++ b/src/mame/drivers/galpani2.c
@@ -70,9 +70,9 @@ WRITE16_MEMBER(galpani2_state::galpani2_eeprom_w)
***************************************************************************/
-static MACHINE_RESET( galpani2 )
+void galpani2_state::machine_reset()
{
- machine.scheduler().boost_interleave(attotime::zero, attotime::from_usec(50)); //initial mcu xchk
+ machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50)); //initial mcu xchk
}
static void galpani2_write_kaneko(device_t *device)
@@ -589,7 +589,6 @@ static MACHINE_CONFIG_START( galpani2, galpani2_state )
MCFG_CPU_PROGRAM_MAP(galpani2_mem2)
MCFG_TIMER_ADD_SCANLINE("s_scantimer", galpani2_interrupt2, "screen", 0, 1)
- MCFG_MACHINE_RESET(galpani2)
MCFG_EEPROM_93C46_ADD("eeprom")
/* video hardware */
@@ -606,8 +605,6 @@ static MACHINE_CONFIG_START( galpani2, galpani2_state )
MCFG_DEVICE_ADD_KC002_SPRITES
kaneko16_sprite_device::set_offsets(*device, 0x10000 - 0x16c0 + 0xc00, 0);
- MCFG_PALETTE_INIT(galpani2)
- MCFG_VIDEO_START(galpani2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/galpani3.c b/src/mame/drivers/galpani3.c
index f1eb61d5085..7702ee97741 100644
--- a/src/mame/drivers/galpani3.c
+++ b/src/mame/drivers/galpani3.c
@@ -111,6 +111,7 @@ public:
DECLARE_DRIVER_INIT( galpani3 )
{
}
+ virtual void video_start();
};
@@ -138,13 +139,12 @@ static TIMER_DEVICE_CALLBACK( galpani3_vblank ) // 2, 3, 5 ?
}
-static VIDEO_START(galpani3)
+void galpani3_state::video_start()
{
- galpani3_state *state = machine.driver_data<galpani3_state>();
/* so we can use suprnova.c */
- state->m_spritegen = machine.device<sknsspr_device>("spritegen");
- state->m_spritegen->skns_sprite_kludge(0,0);
+ m_spritegen = machine().device<sknsspr_device>("spritegen");
+ m_spritegen->skns_sprite_kludge(0,0);
}
@@ -526,7 +526,6 @@ static MACHINE_CONFIG_START( galpani3, galpani3_state )
MCFG_PALETTE_LENGTH(0x4303)
- MCFG_VIDEO_START(galpani3)
MCFG_DEVICE_ADD("spritegen", SKNS_SPRITE, 0)
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c
index f24ceb17241..04ccbe53df2 100644
--- a/src/mame/drivers/galpanic.c
+++ b/src/mame/drivers/galpanic.c
@@ -581,8 +581,8 @@ static MACHINE_CONFIG_START( galpanic, galpanic_state )
- MCFG_PALETTE_INIT(galpanic)
- MCFG_VIDEO_START(galpanic)
+ MCFG_PALETTE_INIT_OVERRIDE(galpanic_state,galpanic)
+ MCFG_VIDEO_START_OVERRIDE(galpanic_state,galpanic)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c
index 01d0f3b35e0..2ef75dc56ec 100644
--- a/src/mame/drivers/galspnbl.c
+++ b/src/mame/drivers/galspnbl.c
@@ -218,11 +218,10 @@ static const ym3812_interface ym3812_config =
};
-static MACHINE_START( galspnbl )
+void galspnbl_state::machine_start()
{
- galspnbl_state *state = machine.driver_data<galspnbl_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
}
static MACHINE_CONFIG_START( galspnbl, galspnbl_state )
@@ -236,7 +235,6 @@ static MACHINE_CONFIG_START( galspnbl, galspnbl_state )
MCFG_CPU_PROGRAM_MAP(audio_map)
/* NMI is caused by the main CPU */
- MCFG_MACHINE_START(galspnbl)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -249,7 +247,6 @@ static MACHINE_CONFIG_START( galspnbl, galspnbl_state )
MCFG_GFXDECODE(galspnbl)
MCFG_PALETTE_LENGTH(1024 + 32768)
- MCFG_PALETTE_INIT(galspnbl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gamecstl.c b/src/mame/drivers/gamecstl.c
index 56185712b66..5c007a1468a 100644
--- a/src/mame/drivers/gamecstl.c
+++ b/src/mame/drivers/gamecstl.c
@@ -116,6 +116,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(gamecstl_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
DECLARE_DRIVER_INIT(gamecstl);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -130,11 +133,11 @@ static const rgb_t cga_palette[16] =
MAKE_RGB( 0xff, 0x55, 0x55 ), MAKE_RGB( 0xff, 0x55, 0xff ), MAKE_RGB( 0xff, 0xff, 0x55 ), MAKE_RGB( 0xff, 0xff, 0xff ),
};
-static VIDEO_START(gamecstl)
+void gamecstl_state::video_start()
{
int i;
for (i=0; i < 16; i++)
- palette_set_color(machine, i, cga_palette[i]);
+ palette_set_color(machine(), i, cga_palette[i]);
}
static void draw_char(bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, int ch, int att, int x, int y)
@@ -608,21 +611,20 @@ static IRQ_CALLBACK(irq_callback)
return pic8259_acknowledge(state->m_pic8259_1);
}
-static MACHINE_START(gamecstl)
+void gamecstl_state::machine_start()
{
- gamecstl_state *state = machine.driver_data<gamecstl_state>();
- state->m_pit8254 = machine.device( "pit8254" );
- state->m_pic8259_1 = machine.device( "pic8259_1" );
- state->m_pic8259_2 = machine.device( "pic8259_2" );
- state->m_dma8237_1 = machine.device( "dma8237_1" );
- state->m_dma8237_2 = machine.device( "dma8237_2" );
+ m_pit8254 = machine().device( "pit8254" );
+ m_pic8259_1 = machine().device( "pic8259_1" );
+ m_pic8259_2 = machine().device( "pic8259_2" );
+ m_dma8237_1 = machine().device( "dma8237_1" );
+ m_dma8237_2 = machine().device( "dma8237_2" );
}
-static MACHINE_RESET(gamecstl)
+void gamecstl_state::machine_reset()
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("bios")->base() + 0x30000);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("bios")->base() + 0x30000);
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
}
@@ -699,8 +701,6 @@ static MACHINE_CONFIG_START( gamecstl, gamecstl_state )
MCFG_CPU_PROGRAM_MAP(gamecstl_map)
MCFG_CPU_IO_MAP(gamecstl_io)
- MCFG_MACHINE_START(gamecstl)
- MCFG_MACHINE_RESET(gamecstl)
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
@@ -731,7 +731,6 @@ static MACHINE_CONFIG_START( gamecstl, gamecstl_state )
MCFG_GFXDECODE(CGA)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(gamecstl)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gameplan.c b/src/mame/drivers/gameplan.c
index e41baade1c4..0beaa31ea46 100644
--- a/src/mame/drivers/gameplan.c
+++ b/src/mame/drivers/gameplan.c
@@ -973,31 +973,29 @@ static const ay8910_interface ay8910_config =
-static MACHINE_START( gameplan )
+MACHINE_START_MEMBER(gameplan_state,gameplan)
{
- gameplan_state *state = machine.driver_data<gameplan_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_riot = machine.device("riot");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_riot = machine().device("riot");
/* register for save states */
- state->save_item(NAME(state->m_current_port));
- state->save_item(NAME(state->m_video_x));
- state->save_item(NAME(state->m_video_y));
- state->save_item(NAME(state->m_video_command));
- state->save_item(NAME(state->m_video_data));
+ save_item(NAME(m_current_port));
+ save_item(NAME(m_video_x));
+ save_item(NAME(m_video_y));
+ save_item(NAME(m_video_command));
+ save_item(NAME(m_video_data));
}
-static MACHINE_RESET( gameplan )
+MACHINE_RESET_MEMBER(gameplan_state,gameplan)
{
- gameplan_state *state = machine.driver_data<gameplan_state>();
- state->m_current_port = 0;
- state->m_video_x = 0;
- state->m_video_y = 0;
- state->m_video_command = 0;
- state->m_video_data = 0;
+ m_current_port = 0;
+ m_video_x = 0;
+ m_video_y = 0;
+ m_video_command = 0;
+ m_video_data = 0;
}
static MACHINE_CONFIG_START( gameplan, gameplan_state )
@@ -1011,8 +1009,8 @@ static MACHINE_CONFIG_START( gameplan, gameplan_state )
MCFG_RIOT6532_ADD("riot", GAMEPLAN_AUDIO_CPU_CLOCK, r6532_interface)
- MCFG_MACHINE_START(gameplan)
- MCFG_MACHINE_RESET(gameplan)
+ MCFG_MACHINE_START_OVERRIDE(gameplan_state,gameplan)
+ MCFG_MACHINE_RESET_OVERRIDE(gameplan_state,gameplan)
/* video hardware */
MCFG_FRAGMENT_ADD(gameplan_video)
diff --git a/src/mame/drivers/gaplus.c b/src/mame/drivers/gaplus.c
index 75cfc9d92a5..452e720b5eb 100644
--- a/src/mame/drivers/gaplus.c
+++ b/src/mame/drivers/gaplus.c
@@ -227,12 +227,11 @@ static const namco_62xx_interface namco_62xx_intf =
};
-static MACHINE_RESET( gaplus )
+void gaplus_state::machine_reset()
{
- gaplus_state *state = machine.driver_data<gaplus_state>();
/* on reset, VINTON is reset, while the other flags don't seem to be affected */
- state->m_sub_irq_mask = 0;
- machine.device("sub")->execute().set_input_line(0, CLEAR_LINE);
+ m_sub_irq_mask = 0;
+ machine().device("sub")->execute().set_input_line(0, CLEAR_LINE);
}
static TIMER_CALLBACK( namcoio_run )
@@ -572,7 +571,6 @@ static MACHINE_CONFIG_START( gaplus, gaplus_state )
MCFG_CPU_VBLANK_INT("screen", gaplus_vblank_sub2_irq)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* a high value to ensure proper synchronization of the CPUs */
- MCFG_MACHINE_RESET(gaplus)
MCFG_NAMCO56XX_ADD("56xx", intf0_lamps)
MCFG_NAMCO58XX_ADD("58xx", intf1)
@@ -591,8 +589,6 @@ static MACHINE_CONFIG_START( gaplus, gaplus_state )
MCFG_GFXDECODE(gaplus)
MCFG_PALETTE_LENGTH(64*4+64*8)
- MCFG_PALETTE_INIT(gaplus)
- MCFG_VIDEO_START(gaplus)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gatron.c b/src/mame/drivers/gatron.c
index 4f9ef22d5d0..9dbd59111b6 100644
--- a/src/mame/drivers/gatron.c
+++ b/src/mame/drivers/gatron.c
@@ -463,9 +463,7 @@ static MACHINE_CONFIG_START( gat, gatron_state )
MCFG_SCREEN_UPDATE_STATIC(gat)
MCFG_GFXDECODE(gat)
- MCFG_PALETTE_INIT(gat)
MCFG_PALETTE_LENGTH(8)
- MCFG_VIDEO_START(gat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gauntlet.c b/src/mame/drivers/gauntlet.c
index 2a10c5ff472..597c7e13ec6 100644
--- a/src/mame/drivers/gauntlet.c
+++ b/src/mame/drivers/gauntlet.c
@@ -155,26 +155,24 @@ static void scanline_update(screen_device &screen, int scanline)
}
-static MACHINE_START( gauntlet )
+MACHINE_START_MEMBER(gauntlet_state,gauntlet)
{
- gauntlet_state *state = machine.driver_data<gauntlet_state>();
- atarigen_init(machine);
+ atarigen_init(machine());
- state->save_item(NAME(state->m_sound_reset_val));
+ save_item(NAME(m_sound_reset_val));
}
-static MACHINE_RESET( gauntlet )
+MACHINE_RESET_MEMBER(gauntlet_state,gauntlet)
{
- gauntlet_state *state = machine.driver_data<gauntlet_state>();
- state->m_sound_reset_val = 1;
+ m_sound_reset_val = 1;
- atarigen_eeprom_reset(state);
- atarigen_slapstic_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, scanline_update, 32);
- atarigen_sound_io_reset(machine.device("audiocpu"));
+ atarigen_eeprom_reset(this);
+ atarigen_slapstic_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, scanline_update, 32);
+ atarigen_sound_io_reset(machine().device("audiocpu"));
}
@@ -521,8 +519,8 @@ static MACHINE_CONFIG_START( gauntlet, gauntlet_state )
MCFG_CPU_ADD("audiocpu", M6502, ATARI_CLOCK_14MHz/8)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(gauntlet)
- MCFG_MACHINE_RESET(gauntlet)
+ MCFG_MACHINE_START_OVERRIDE(gauntlet_state,gauntlet)
+ MCFG_MACHINE_RESET_OVERRIDE(gauntlet_state,gauntlet)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -536,7 +534,7 @@ static MACHINE_CONFIG_START( gauntlet, gauntlet_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(gauntlet)
- MCFG_VIDEO_START(gauntlet)
+ MCFG_VIDEO_START_OVERRIDE(gauntlet_state,gauntlet)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/gberet.c b/src/mame/drivers/gberet.c
index b09056e8aa0..150144f3f02 100644
--- a/src/mame/drivers/gberet.c
+++ b/src/mame/drivers/gberet.c
@@ -402,22 +402,20 @@ static const sn76496_config psg_intf =
*
*************************************/
-static MACHINE_START( gberet )
+MACHINE_START_MEMBER(gberet_state,gberet)
{
- gberet_state *state = machine.driver_data<gberet_state>();
- state->save_item(NAME(state->m_interrupt_mask));
- state->save_item(NAME(state->m_interrupt_ticks));
- state->save_item(NAME(state->m_spritebank));
+ save_item(NAME(m_interrupt_mask));
+ save_item(NAME(m_interrupt_ticks));
+ save_item(NAME(m_spritebank));
}
-static MACHINE_RESET( gberet )
+MACHINE_RESET_MEMBER(gberet_state,gberet)
{
- gberet_state *state = machine.driver_data<gberet_state>();
- state->m_interrupt_mask = 0;
- state->m_interrupt_ticks = 0;
- state->m_spritebank = 0;
+ m_interrupt_mask = 0;
+ m_interrupt_ticks = 0;
+ m_spritebank = 0;
}
static MACHINE_CONFIG_START( gberet, gberet_state )
@@ -427,8 +425,8 @@ static MACHINE_CONFIG_START( gberet, gberet_state )
MCFG_CPU_PROGRAM_MAP(gberet_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", gberet_interrupt_tick, "screen", 0, 16) // ?
- MCFG_MACHINE_START(gberet)
- MCFG_MACHINE_RESET(gberet)
+ MCFG_MACHINE_START_OVERRIDE(gberet_state,gberet)
+ MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -441,8 +439,8 @@ static MACHINE_CONFIG_START( gberet, gberet_state )
MCFG_GFXDECODE(gberet)
MCFG_PALETTE_LENGTH(2*16*16)
- MCFG_PALETTE_INIT(gberet)
- MCFG_VIDEO_START(gberet)
+ MCFG_PALETTE_INIT_OVERRIDE(gberet_state,gberet)
+ MCFG_VIDEO_START_OVERRIDE(gberet_state,gberet)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -467,8 +465,8 @@ static MACHINE_CONFIG_START( gberetb, gberet_state )
MCFG_CPU_VBLANK_INT("screen", irq0_line_assert)
MCFG_CPU_PERIODIC_INT(nmi_line_assert, XTAL_20MHz/0x8000) // divider guessed
- MCFG_MACHINE_START(gberet)
- MCFG_MACHINE_RESET(gberet)
+ MCFG_MACHINE_START_OVERRIDE(gberet_state,gberet)
+ MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -481,8 +479,8 @@ static MACHINE_CONFIG_START( gberetb, gberet_state )
MCFG_GFXDECODE(gberetb)
MCFG_PALETTE_LENGTH(2*16*16)
- MCFG_PALETTE_INIT(gberet)
- MCFG_VIDEO_START(gberet)
+ MCFG_PALETTE_INIT_OVERRIDE(gberet_state,gberet)
+ MCFG_VIDEO_START_OVERRIDE(gberet_state,gberet)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gbusters.c b/src/mame/drivers/gbusters.c
index 3b5eda68ac5..1361d38410a 100644
--- a/src/mame/drivers/gbusters.c
+++ b/src/mame/drivers/gbusters.c
@@ -266,38 +266,36 @@ static const k051960_interface gbusters_k051960_intf =
gbusters_sprite_callback
};
-static MACHINE_START( gbusters )
+void gbusters_state::machine_start()
{
- gbusters_state *state = machine.driver_data<gbusters_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
+ membank("bank1")->set_entry(0);
- state->m_generic_paletteram_8.allocate(0x800);
+ m_generic_paletteram_8.allocate(0x800);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
- state->m_k007232 = machine.device("k007232");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
+ m_k007232 = machine().device("k007232");
- state->save_item(NAME(state->m_palette_selected));
- state->save_item(NAME(state->m_priority));
+ save_item(NAME(m_palette_selected));
+ save_item(NAME(m_priority));
}
-static MACHINE_RESET( gbusters )
+void gbusters_state::machine_reset()
{
- gbusters_state *state = machine.driver_data<gbusters_state>();
- UINT8 *RAM = state->memregion("maincpu")->base();
+ UINT8 *RAM = memregion("maincpu")->base();
- konami_configure_set_lines(machine.device("maincpu"), gbusters_banking);
+ konami_configure_set_lines(machine().device("maincpu"), gbusters_banking);
/* mirror address for banked ROM */
memcpy(&RAM[0x18000], &RAM[0x10000], 0x08000);
- state->m_palette_selected = 0;
- state->m_priority = 0;
+ m_palette_selected = 0;
+ m_priority = 0;
}
static MACHINE_CONFIG_START( gbusters, gbusters_state )
@@ -310,8 +308,6 @@ static MACHINE_CONFIG_START( gbusters, gbusters_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* ? */
MCFG_CPU_PROGRAM_MAP(gbusters_sound_map)
- MCFG_MACHINE_START(gbusters)
- MCFG_MACHINE_RESET(gbusters)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -325,7 +321,6 @@ static MACHINE_CONFIG_START( gbusters, gbusters_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(gbusters)
MCFG_K052109_ADD("k052109", gbusters_k052109_intf)
MCFG_K051960_ADD("k051960", gbusters_k051960_intf)
diff --git a/src/mame/drivers/gcpinbal.c b/src/mame/drivers/gcpinbal.c
index c5b0ad8e17d..a2202f1ff8d 100644
--- a/src/mame/drivers/gcpinbal.c
+++ b/src/mame/drivers/gcpinbal.c
@@ -395,45 +395,43 @@ static const msm5205_interface msm6585_config =
MACHINE DRIVERS
***********************************************************/
-static MACHINE_START( gcpinbal )
+void gcpinbal_state::machine_start()
{
- gcpinbal_state *state = machine.driver_data<gcpinbal_state>();
- state->save_item(NAME(state->m_scrollx));
- state->save_item(NAME(state->m_scrolly));
- state->save_item(NAME(state->m_bg0_gfxset));
- state->save_item(NAME(state->m_bg1_gfxset));
- state->save_item(NAME(state->m_msm_start));
- state->save_item(NAME(state->m_msm_end));
- state->save_item(NAME(state->m_msm_bank));
- state->save_item(NAME(state->m_adpcm_start));
- state->save_item(NAME(state->m_adpcm_end));
- state->save_item(NAME(state->m_adpcm_idle));
- state->save_item(NAME(state->m_adpcm_trigger));
- state->save_item(NAME(state->m_adpcm_data));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_scrolly));
+ save_item(NAME(m_bg0_gfxset));
+ save_item(NAME(m_bg1_gfxset));
+ save_item(NAME(m_msm_start));
+ save_item(NAME(m_msm_end));
+ save_item(NAME(m_msm_bank));
+ save_item(NAME(m_adpcm_start));
+ save_item(NAME(m_adpcm_end));
+ save_item(NAME(m_adpcm_idle));
+ save_item(NAME(m_adpcm_trigger));
+ save_item(NAME(m_adpcm_data));
}
-static MACHINE_RESET( gcpinbal )
+void gcpinbal_state::machine_reset()
{
- gcpinbal_state *state = machine.driver_data<gcpinbal_state>();
int i;
for (i = 0; i < 3; i++)
{
- state->m_scrollx[i] = 0;
- state->m_scrolly[i] = 0;
+ m_scrollx[i] = 0;
+ m_scrolly[i] = 0;
}
- state->m_adpcm_idle = 1;
- state->m_adpcm_start = 0;
- state->m_adpcm_end = 0;
- state->m_adpcm_trigger = 0;
- state->m_adpcm_data = 0;
- state->m_bg0_gfxset = 0;
- state->m_bg1_gfxset = 0;
- state->m_msm_start = 0;
- state->m_msm_end = 0;
- state->m_msm_bank = 0;
+ m_adpcm_idle = 1;
+ m_adpcm_start = 0;
+ m_adpcm_end = 0;
+ m_adpcm_trigger = 0;
+ m_adpcm_data = 0;
+ m_bg0_gfxset = 0;
+ m_bg1_gfxset = 0;
+ m_msm_start = 0;
+ m_msm_end = 0;
+ m_msm_bank = 0;
}
static MACHINE_CONFIG_START( gcpinbal, gcpinbal_state )
@@ -451,13 +449,10 @@ static MACHINE_CONFIG_START( gcpinbal, gcpinbal_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(gcpinbal)
- MCFG_MACHINE_START(gcpinbal)
- MCFG_MACHINE_RESET(gcpinbal)
MCFG_GFXDECODE(gcpinbal)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(gcpinbal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gei.c b/src/mame/drivers/gei.c
index e6ae48ab335..10fb7779384 100644
--- a/src/mame/drivers/gei.c
+++ b/src/mame/drivers/gei.c
@@ -132,6 +132,8 @@ public:
DECLARE_READ8_MEMBER(portC_r);
DECLARE_DRIVER_INIT(geimulti);
DECLARE_DRIVER_INIT(setbank);
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(quizvid);
};
@@ -163,23 +165,23 @@ WRITE8_MEMBER(gei_state::gei_bitmap_w)
m_bitmap.pix16(sy, sx+i) = m_color[8-i-1];
}
-static PALETTE_INIT(gei)
+void gei_state::palette_init()
{
int i;
for (i = 0; i < 8; i++ )
{
- palette_set_color(machine, i, MAKE_RGB(pal1bit(i >> 2), pal1bit(i), pal1bit(i >> 1)));
+ palette_set_color(machine(), i, MAKE_RGB(pal1bit(i >> 2), pal1bit(i), pal1bit(i >> 1)));
}
}
-static PALETTE_INIT(quizvid)
+PALETTE_INIT_MEMBER(gei_state,quizvid)
{
int i;
for (i = 0; i < 8; i++ )
{
- palette_set_color(machine, i, MAKE_RGB(pal1bit(i >> 1), pal1bit(i), pal1bit(i >> 2)));
+ palette_set_color(machine(), i, MAKE_RGB(pal1bit(i >> 1), pal1bit(i), pal1bit(i >> 2)));
}
}
@@ -1126,7 +1128,6 @@ static MACHINE_CONFIG_START( getrivia, gei_state )
MCFG_SCREEN_VISIBLE_AREA(48, 511-48, 16, 255-16)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(gei)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -1155,7 +1156,7 @@ static MACHINE_CONFIG_DERIVED( quizvid, findout )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(quizvid_map)
- MCFG_PALETTE_INIT(quizvid)
+ MCFG_PALETTE_INIT_OVERRIDE(gei_state,quizvid)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gselect, getrivia )
diff --git a/src/mame/drivers/ghosteo.c b/src/mame/drivers/ghosteo.c
index f908874aaa6..d315a68a638 100644
--- a/src/mame/drivers/ghosteo.c
+++ b/src/mame/drivers/ghosteo.c
@@ -93,6 +93,7 @@ public:
int m_rom_pagesize;
DECLARE_DRIVER_INIT(touryuu);
DECLARE_DRIVER_INIT(bballoon);
+ virtual void machine_reset();
};
@@ -578,11 +579,10 @@ READ32_MEMBER(ghosteo_state::bballoon_speedup_r)
return ret;
}
-static MACHINE_RESET( bballoon )
+void ghosteo_state::machine_reset()
{
- ghosteo_state *state = machine.driver_data<ghosteo_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x4d000010, 0x4d000013,read32_delegate(FUNC(ghosteo_state::bballoon_speedup_r), state));
- s3c2410 = machine.device("s3c2410");
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x4d000010, 0x4d000013,read32_delegate(FUNC(ghosteo_state::bballoon_speedup_r), this));
+ s3c2410 = machine().device("s3c2410");
}
static MACHINE_CONFIG_START( ghosteo, ghosteo_state )
@@ -599,7 +599,6 @@ static MACHINE_CONFIG_START( ghosteo, ghosteo_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_MACHINE_RESET( bballoon )
MCFG_S3C2410_ADD("s3c2410", 12000000, bballoon_s3c2410_intf)
diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c
index 73a57800d9d..ebf34277de9 100644
--- a/src/mame/drivers/gijoe.c
+++ b/src/mame/drivers/gijoe.c
@@ -271,26 +271,24 @@ static const k053247_interface gijoe_k053247_intf =
gijoe_sprite_callback
};
-static MACHINE_START( gijoe )
+void gijoe_state::machine_start()
{
- gijoe_state *state = machine.driver_data<gijoe_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k054539 = machine.device("k054539");
- state->m_k056832 = machine.device("k056832");
- state->m_k053246 = machine.device("k053246");
- state->m_k053251 = machine.device("k053251");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k054539 = machine().device("k054539");
+ m_k056832 = machine().device("k056832");
+ m_k053246 = machine().device("k053246");
+ m_k053251 = machine().device("k053251");
- state->m_dmadelay_timer = machine.scheduler().timer_alloc(FUNC(dmaend_callback));
+ m_dmadelay_timer = machine().scheduler().timer_alloc(FUNC(dmaend_callback));
- state->save_item(NAME(state->m_cur_control2));
+ save_item(NAME(m_cur_control2));
}
-static MACHINE_RESET( gijoe )
+void gijoe_state::machine_reset()
{
- gijoe_state *state = machine.driver_data<gijoe_state>();
- state->m_cur_control2 = 0;
+ m_cur_control2 = 0;
}
static MACHINE_CONFIG_START( gijoe, gijoe_state )
@@ -303,8 +301,6 @@ static MACHINE_CONFIG_START( gijoe, gijoe_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* Amuse & confirmed. z80e */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(gijoe)
- MCFG_MACHINE_RESET(gijoe)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -320,7 +316,6 @@ static MACHINE_CONFIG_START( gijoe, gijoe_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(gijoe)
MCFG_K056832_ADD("k056832", gijoe_k056832_intf)
MCFG_K053246_ADD("k053246", gijoe_k053247_intf)
diff --git a/src/mame/drivers/ginganin.c b/src/mame/drivers/ginganin.c
index 47bc0787b0a..bb4aa11bae6 100644
--- a/src/mame/drivers/ginganin.c
+++ b/src/mame/drivers/ginganin.c
@@ -226,22 +226,20 @@ GFXDECODE_END
-static MACHINE_START( ginganin )
+void ginganin_state::machine_start()
{
- ginganin_state *state = machine.driver_data<ginganin_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_layers_ctrl));
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_layers_ctrl));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( ginganin )
+void ginganin_state::machine_reset()
{
- ginganin_state *state = machine.driver_data<ginganin_state>();
- state->m_layers_ctrl = 0;
- state->m_flipscreen = 0;
+ m_layers_ctrl = 0;
+ m_flipscreen = 0;
}
@@ -268,8 +266,6 @@ static MACHINE_CONFIG_START( ginganin, ginganin_state )
MCFG_CPU_ADD("audiocpu", M6809, SOUND_CLOCK)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(ginganin)
- MCFG_MACHINE_RESET(ginganin)
MCFG_PTM6840_ADD("6840ptm", ptm_intf)
@@ -284,7 +280,6 @@ static MACHINE_CONFIG_START( ginganin, ginganin_state )
MCFG_GFXDECODE(ginganin)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(ginganin)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index 5eba32bee0d..a05e5ff1ca8 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -251,14 +251,14 @@ static const struct TAITO8741interface gladiator_8741interface=
{gladiator_dsw1_r,gladiator_dsw2_r,gladiator_button3_r,gladiator_controls_r} /* port handler */
};
-static MACHINE_RESET( gladiator )
+MACHINE_RESET_MEMBER(gladiatr_state,gladiator)
{
TAITO8741_start(&gladiator_8741interface);
/* 6809 bank memory set */
{
- UINT8 *rom = machine.root_device().memregion("audiocpu")->base() + 0x10000;
- machine.root_device().membank("bank2")->set_base(rom);
- machine.device("audiocpu")->reset();
+ UINT8 *rom = machine().root_device().memregion("audiocpu")->base() + 0x10000;
+ machine().root_device().membank("bank2")->set_base(rom);
+ machine().device("audiocpu")->reset();
}
}
@@ -364,11 +364,10 @@ READ8_MEMBER(gladiatr_state::qx1_r)
return m_flag1;
}
-static MACHINE_RESET( ppking )
+MACHINE_RESET_MEMBER(gladiatr_state,ppking)
{
- gladiatr_state *state = machine.driver_data<gladiatr_state>();
- state->m_data1 = state->m_data2 = 0;
- state->m_flag1 = state->m_flag2 = 1;
+ m_data1 = m_data2 = 0;
+ m_flag1 = m_flag2 = 1;
}
static ADDRESS_MAP_START( ppking_cpu1_map, AS_PROGRAM, 8, gladiatr_state )
@@ -679,7 +678,7 @@ static MACHINE_CONFIG_START( ppking, gladiatr_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_RESET(ppking)
+ MCFG_MACHINE_RESET_OVERRIDE(gladiatr_state,ppking)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -693,7 +692,7 @@ static MACHINE_CONFIG_START( ppking, gladiatr_state )
MCFG_GFXDECODE(ppking)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(ppking)
+ MCFG_VIDEO_START_OVERRIDE(gladiatr_state,ppking)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -727,7 +726,7 @@ static MACHINE_CONFIG_START( gladiatr, gladiatr_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(gladiator)
+ MCFG_MACHINE_RESET_OVERRIDE(gladiatr_state,gladiator)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -741,7 +740,7 @@ static MACHINE_CONFIG_START( gladiatr, gladiatr_state )
MCFG_GFXDECODE(gladiatr)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(gladiatr)
+ MCFG_VIDEO_START_OVERRIDE(gladiatr_state,gladiatr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/glass.c b/src/mame/drivers/glass.c
index a805f8159d4..77a03b6603a 100644
--- a/src/mame/drivers/glass.c
+++ b/src/mame/drivers/glass.c
@@ -170,27 +170,25 @@ INPUT_PORTS_END
-static MACHINE_START( glass )
+void glass_state::machine_start()
{
- glass_state *state = machine.driver_data<glass_state>();
- state->save_item(NAME(state->m_cause_interrupt));
- state->save_item(NAME(state->m_current_bit));
- state->save_item(NAME(state->m_current_command));
- state->save_item(NAME(state->m_blitter_serial_buffer));
+ save_item(NAME(m_cause_interrupt));
+ save_item(NAME(m_current_bit));
+ save_item(NAME(m_current_command));
+ save_item(NAME(m_blitter_serial_buffer));
}
-static MACHINE_RESET( glass )
+void glass_state::machine_reset()
{
- glass_state *state = machine.driver_data<glass_state>();
int i;
- state->m_cause_interrupt = 1;
- state->m_current_bit = 0;
- state->m_current_command = 0;
+ m_cause_interrupt = 1;
+ m_current_bit = 0;
+ m_current_command = 0;
for (i = 0; i < 5; i++)
- state->m_blitter_serial_buffer[i] = 0;
+ m_blitter_serial_buffer[i] = 0;
}
static MACHINE_CONFIG_START( glass, glass_state )
@@ -200,8 +198,6 @@ static MACHINE_CONFIG_START( glass, glass_state )
MCFG_CPU_PROGRAM_MAP(glass_map)
MCFG_CPU_VBLANK_INT("screen", glass_interrupt)
- MCFG_MACHINE_START(glass)
- MCFG_MACHINE_RESET(glass)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -214,7 +210,6 @@ static MACHINE_CONFIG_START( glass, glass_state )
MCFG_GFXDECODE(glass)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(glass)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gng.c b/src/mame/drivers/gng.c
index 3477fb55901..d0735bad045 100644
--- a/src/mame/drivers/gng.c
+++ b/src/mame/drivers/gng.c
@@ -300,26 +300,24 @@ GFXDECODE_END
-static MACHINE_START( gng )
+void gng_state::machine_start()
{
- gng_state *state = machine.driver_data<gng_state>();
- UINT8 *rombase = state->memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &rombase[0x10000], 0x2000);
- state->membank("bank1")->configure_entry(4, &rombase[0x4000]);
+ UINT8 *rombase = memregion("maincpu")->base();
+ membank("bank1")->configure_entries(0, 4, &rombase[0x10000], 0x2000);
+ membank("bank1")->configure_entry(4, &rombase[0x4000]);
- state->save_item(NAME(state->m_scrollx));
- state->save_item(NAME(state->m_scrolly));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_scrolly));
}
-static MACHINE_RESET( gng )
+void gng_state::machine_reset()
{
- gng_state *state = machine.driver_data<gng_state>();
- state->m_scrollx[0] = 0;
- state->m_scrollx[1] = 0;
- state->m_scrolly[0] = 0;
- state->m_scrolly[1] = 0;
+ m_scrollx[0] = 0;
+ m_scrollx[1] = 0;
+ m_scrolly[0] = 0;
+ m_scrolly[1] = 0;
{
int i;
@@ -328,14 +326,14 @@ static MACHINE_RESET( gng )
For now let's fill everything with white colors until we have better info about it */
for(i=0;i<0x100;i+=4)
{
- state->m_generic_paletteram_8[i] = state->m_generic_paletteram2_8[i] = 0x00;
- state->m_generic_paletteram_8[i+1] = state->m_generic_paletteram2_8[i+1] = 0x55;
- state->m_generic_paletteram_8[i+2] = state->m_generic_paletteram2_8[i+2] = 0xaa;
- state->m_generic_paletteram_8[i+3] = state->m_generic_paletteram2_8[i+3] = 0xff;
- palette_set_color_rgb(machine,i+0,0x00,0x00,0x00);
- palette_set_color_rgb(machine,i+1,0x55,0x55,0x55);
- palette_set_color_rgb(machine,i+2,0xaa,0xaa,0xaa);
- palette_set_color_rgb(machine,i+3,0xff,0xff,0xff);
+ m_generic_paletteram_8[i] = m_generic_paletteram2_8[i] = 0x00;
+ m_generic_paletteram_8[i+1] = m_generic_paletteram2_8[i+1] = 0x55;
+ m_generic_paletteram_8[i+2] = m_generic_paletteram2_8[i+2] = 0xaa;
+ m_generic_paletteram_8[i+3] = m_generic_paletteram2_8[i+3] = 0xff;
+ palette_set_color_rgb(machine(),i+0,0x00,0x00,0x00);
+ palette_set_color_rgb(machine(),i+1,0x55,0x55,0x55);
+ palette_set_color_rgb(machine(),i+2,0xaa,0xaa,0xaa);
+ palette_set_color_rgb(machine(),i+3,0xff,0xff,0xff);
}
}
}
@@ -351,8 +349,6 @@ static MACHINE_CONFIG_START( gng, gng_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60)
- MCFG_MACHINE_START(gng)
- MCFG_MACHINE_RESET(gng)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -368,7 +364,6 @@ static MACHINE_CONFIG_START( gng, gng_state )
MCFG_GFXDECODE(gng)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(gng)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/go2000.c b/src/mame/drivers/go2000.c
index b8805af4018..1f0b5d90a6c 100644
--- a/src/mame/drivers/go2000.c
+++ b/src/mame/drivers/go2000.c
@@ -51,6 +51,8 @@ public:
cpu_device *m_soundcpu;
DECLARE_WRITE16_MEMBER(sound_cmd_w);
DECLARE_WRITE8_MEMBER(go2000_pcm_1_bankswitch_w);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -168,7 +170,7 @@ static GFXDECODE_START( go2000 )
GFXDECODE_ENTRY( "gfx1", 0, go2000_layout, 0x0, 0x80 ) /* tiles */
GFXDECODE_END
-static VIDEO_START(go2000)
+void go2000_state::video_start()
{
}
@@ -307,18 +309,17 @@ static SCREEN_UPDATE_IND16(go2000)
}
-static MACHINE_START( go2000 )
+void go2000_state::machine_start()
{
- go2000_state *state = machine.driver_data<go2000_state>();
- UINT8 *SOUND = state->memregion("soundcpu")->base();
+ UINT8 *SOUND = memregion("soundcpu")->base();
int i;
for (i = 0; i < 8; i++)
- state->membank("bank1")->configure_entry(i, &SOUND[0x00400 + i * 0x10000]);
+ membank("bank1")->configure_entry(i, &SOUND[0x00400 + i * 0x10000]);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->set_entry(0);
- state->m_soundcpu = machine.device<cpu_device>("soundcpu");
+ m_soundcpu = machine().device<cpu_device>("soundcpu");
}
static MACHINE_CONFIG_START( go2000, go2000_state )
@@ -331,7 +332,6 @@ static MACHINE_CONFIG_START( go2000, go2000_state )
MCFG_CPU_PROGRAM_MAP(go2000_sound_map)
MCFG_CPU_IO_MAP(go2000_sound_io)
- MCFG_MACHINE_START(go2000)
MCFG_GFXDECODE(go2000)
@@ -344,7 +344,6 @@ static MACHINE_CONFIG_START( go2000, go2000_state )
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(go2000)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/goal92.c b/src/mame/drivers/goal92.c
index ffe6ebbc6d9..00df6b85e32 100644
--- a/src/mame/drivers/goal92.c
+++ b/src/mame/drivers/goal92.c
@@ -289,27 +289,25 @@ static GFXDECODE_START( goal92 )
GFXDECODE_END
-static MACHINE_START( goal92 )
+void goal92_state::machine_start()
{
- goal92_state *state = machine.driver_data<goal92_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- state->membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_fg_bank));
- state->save_item(NAME(state->m_msm5205next));
- state->save_item(NAME(state->m_adpcm_toggle));
+ save_item(NAME(m_fg_bank));
+ save_item(NAME(m_msm5205next));
+ save_item(NAME(m_adpcm_toggle));
}
-static MACHINE_RESET( goal92 )
+void goal92_state::machine_reset()
{
- goal92_state *state = machine.driver_data<goal92_state>();
- state->m_fg_bank = 0;
- state->m_msm5205next = 0;
- state->m_adpcm_toggle = 0;
+ m_fg_bank = 0;
+ m_msm5205next = 0;
+ m_adpcm_toggle = 0;
}
static MACHINE_CONFIG_START( goal92, goal92_state )
@@ -323,8 +321,6 @@ static MACHINE_CONFIG_START( goal92, goal92_state )
MCFG_CPU_PROGRAM_MAP(sound_cpu)
/* IRQs are triggered by the main CPU */
- MCFG_MACHINE_START(goal92)
- MCFG_MACHINE_RESET(goal92)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -338,7 +334,6 @@ static MACHINE_CONFIG_START( goal92, goal92_state )
MCFG_GFXDECODE(goal92)
MCFG_PALETTE_LENGTH(128*16)
- MCFG_VIDEO_START(goal92)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/goindol.c b/src/mame/drivers/goindol.c
index e00dd633d6d..1304f849920 100644
--- a/src/mame/drivers/goindol.c
+++ b/src/mame/drivers/goindol.c
@@ -217,23 +217,21 @@ GFXDECODE_END
-static MACHINE_START( goindol )
+void goindol_state::machine_start()
{
- goindol_state *state = machine.driver_data<goindol_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
- state->save_item(NAME(state->m_char_bank));
- state->save_item(NAME(state->m_prot_toggle));
+ save_item(NAME(m_char_bank));
+ save_item(NAME(m_prot_toggle));
}
-static MACHINE_RESET( goindol )
+void goindol_state::machine_reset()
{
- goindol_state *state = machine.driver_data<goindol_state>();
- state->m_char_bank = 0;
- state->m_prot_toggle = 0;
+ m_char_bank = 0;
+ m_prot_toggle = 0;
}
static MACHINE_CONFIG_START( goindol, goindol_state )
@@ -247,8 +245,6 @@ static MACHINE_CONFIG_START( goindol, goindol_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60)
- MCFG_MACHINE_START(goindol)
- MCFG_MACHINE_RESET(goindol)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -262,7 +258,6 @@ static MACHINE_CONFIG_START( goindol, goindol_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(goindol)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/goldngam.c b/src/mame/drivers/goldngam.c
index 95e7b6147b7..7d8c1c4c041 100644
--- a/src/mame/drivers/goldngam.c
+++ b/src/mame/drivers/goldngam.c
@@ -246,6 +246,8 @@ public:
required_shared_ptr<UINT16> m_videoram;
DECLARE_READ16_MEMBER(unk_r);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -253,7 +255,7 @@ public:
* Video Hardware *
*************************/
-static VIDEO_START( goldngam )
+void goldngam_state::video_start()
{
}
@@ -281,7 +283,7 @@ static SCREEN_UPDATE_IND16( goldngam )
}
-static PALETTE_INIT( goldngam )
+void goldngam_state::palette_init()
{
}
@@ -570,10 +572,8 @@ static MACHINE_CONFIG_START( swisspkr, goldngam_state )
MCFG_GFXDECODE(goldngam)
- MCFG_PALETTE_INIT(goldngam)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(goldngam)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c
index beb5a872700..b46d7ae6c45 100644
--- a/src/mame/drivers/goldnpkr.c
+++ b/src/mame/drivers/goldnpkr.c
@@ -999,6 +999,11 @@ public:
DECLARE_DRIVER_INIT(vkdlswwv);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(wcrdxtnd_get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(witchcrd);
+ DECLARE_VIDEO_START(wcrdxtnd);
+ DECLARE_PALETTE_INIT(wcrdxtnd);
};
@@ -1055,16 +1060,14 @@ TILE_GET_INFO_MEMBER(goldnpkr_state::wcrdxtnd_get_bg_tile_info)
SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-static VIDEO_START( goldnpkr )
+void goldnpkr_state::video_start()
{
- goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldnpkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldnpkr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-static VIDEO_START( wcrdxtnd )
+VIDEO_START_MEMBER(goldnpkr_state,wcrdxtnd)
{
- goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldnpkr_state::wcrdxtnd_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldnpkr_state::wcrdxtnd_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( goldnpkr )
@@ -1074,9 +1077,9 @@ static SCREEN_UPDATE_IND16( goldnpkr )
return 0;
}
-static PALETTE_INIT( goldnpkr )
+void goldnpkr_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* prom bits
7654 3210
---- ---x red component.
@@ -1090,7 +1093,7 @@ static PALETTE_INIT( goldnpkr )
/* 0000IBGR */
if (color_prom == 0) return;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0, bit1, bit2, r, g, b, inten, intenmin, intenmax;
@@ -1114,13 +1117,13 @@ static PALETTE_INIT( goldnpkr )
b = (bit2 * intenmin) + (inten * (bit2 * (intenmax - intenmin)));
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-static PALETTE_INIT( witchcrd )
+PALETTE_INIT_MEMBER(goldnpkr_state,witchcrd)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/*
This hardware has a feature called BLUE KILLER.
Using the original intensity line, the PCB has a bridge
@@ -1142,7 +1145,7 @@ static PALETTE_INIT( witchcrd )
if (color_prom == 0) return;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0, bit1, bit2, bit3, r, g, b, bk;
@@ -1162,13 +1165,13 @@ static PALETTE_INIT( witchcrd )
bit2 = (color_prom[i] >> 2) & 0x01;
b = bk * (bit2 * 0xff);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-static PALETTE_INIT( wcrdxtnd )
+PALETTE_INIT_MEMBER(goldnpkr_state,wcrdxtnd)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/*
Using the original intensity line, the PCB has a bridge
that allow (as default) turn the background dark blue.
@@ -1186,7 +1189,7 @@ static PALETTE_INIT( wcrdxtnd )
if (color_prom == 0) return;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0, bit1, bit2, bit3, r, g, b, bk;
@@ -1208,7 +1211,7 @@ static PALETTE_INIT( wcrdxtnd )
//if ((b == 0) & (bk = 1)) --> needs better implementation
// b = 0x3f;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -3589,9 +3592,7 @@ static MACHINE_CONFIG_START( goldnpkr_base, goldnpkr_state )
MCFG_MC6845_ADD("crtc", MC6845, CPU_CLOCK, mc6845_intf) /* 68B45 or 6845s @ CPU clock */
MCFG_GFXDECODE(goldnpkr)
- MCFG_PALETTE_INIT(goldnpkr)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(goldnpkr)
MACHINE_CONFIG_END
@@ -3630,7 +3631,7 @@ static MACHINE_CONFIG_DERIVED( witchcrd, goldnpkr_base )
MCFG_PIA6821_MODIFY("pia0", pottnpkr_pia0_intf)
/* video hardware */
- MCFG_PALETTE_INIT(witchcrd)
+ MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,witchcrd)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3650,7 +3651,7 @@ static MACHINE_CONFIG_DERIVED( wcfalcon, goldnpkr_base )
MCFG_PIA6821_MODIFY("pia1", wcfalcon_pia1_intf)
/* video hardware */
- MCFG_PALETTE_INIT(witchcrd)
+ MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,witchcrd)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3670,8 +3671,8 @@ static MACHINE_CONFIG_DERIVED( wildcard, goldnpkr_base )
/* video hardware */
// MCFG_GFXDECODE(wildcard)
- MCFG_PALETTE_INIT(witchcrd)
-// MCFG_VIDEO_START(wildcard)
+ MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,witchcrd)
+// MCFG_VIDEO_START_OVERRIDE(goldnpkr_state,wildcard)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3691,8 +3692,8 @@ static MACHINE_CONFIG_DERIVED( wcrdxtnd, goldnpkr_base )
/* video hardware */
MCFG_GFXDECODE(wcrdxtnd)
- MCFG_PALETTE_INIT(wcrdxtnd)
- MCFG_VIDEO_START(wcrdxtnd)
+ MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,wcrdxtnd)
+ MCFG_VIDEO_START_OVERRIDE(goldnpkr_state,wcrdxtnd)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3717,8 +3718,8 @@ static MACHINE_CONFIG_DERIVED( wildcrdb, goldnpkr_base )
/* video hardware */
// MCFG_GFXDECODE(wildcard)
- MCFG_PALETTE_INIT(witchcrd)
-// MCFG_VIDEO_START(wildcard)
+ MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,witchcrd)
+// MCFG_VIDEO_START_OVERRIDE(goldnpkr_state,wildcard)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3737,7 +3738,7 @@ static MACHINE_CONFIG_DERIVED( genie, goldnpkr_base )
MCFG_PIA6821_MODIFY("pia0", pottnpkr_pia0_intf)
/* video hardware */
- MCFG_PALETTE_INIT(witchcrd)
+ MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,witchcrd)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c
index c8097e87c49..397a64da6ca 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -5871,7 +5871,7 @@ static MACHINE_CONFIG_START( goldstar, goldstar_state )
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -5905,7 +5905,7 @@ static MACHINE_CONFIG_START( goldstbl, goldstar_state )
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -5938,7 +5938,7 @@ static MACHINE_CONFIG_START( moonlght, goldstar_state )
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -5951,7 +5951,7 @@ static MACHINE_CONFIG_START( moonlght, goldstar_state )
MACHINE_CONFIG_END
-static PALETTE_INIT(cm)
+PALETTE_INIT_MEMBER(goldstar_state,cm)
{
/* BBGGGRRR */
@@ -5960,32 +5960,32 @@ static PALETTE_INIT(cm)
for (i = 0; i < 0x100; i++)
{
UINT8 data;
- UINT8*proms = machine.root_device().memregion("proms")->base();
+ UINT8*proms = machine().root_device().memregion("proms")->base();
data = proms[0x000 + i] | (proms[0x100 + i] << 4);
- palette_set_color_rgb(machine, i, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
+ palette_set_color_rgb(machine(), i, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
}
}
-static PALETTE_INIT(cmast91)
+PALETTE_INIT_MEMBER(goldstar_state,cmast91)
{
int i;
for (i = 0; i < 0x100; i++)
{
int r,g,b;
- UINT8*proms = machine.root_device().memregion("proms")->base();
+ UINT8*proms = machine().root_device().memregion("proms")->base();
b = proms[0x000 + i] << 4;
g = proms[0x100 + i] << 4;
r = proms[0x200 + i] << 4;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-static PALETTE_INIT(lucky8)
+PALETTE_INIT_MEMBER(goldstar_state,lucky8)
{
/* BBGGGRRR */
@@ -5993,21 +5993,21 @@ static PALETTE_INIT(lucky8)
UINT8 data;
UINT8 *proms;
- proms = machine.root_device().memregion("proms")->base();
+ proms = machine().root_device().memregion("proms")->base();
for (i = 0; i < 0x100; i++)
{
data = proms[0x000 + i] | (proms[0x100 + i] << 4);
- palette_set_color_rgb(machine, i, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
+ palette_set_color_rgb(machine(), i, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
}
- proms = machine.root_device().memregion("proms2")->base();
+ proms = machine().root_device().memregion("proms2")->base();
for (i=0; i < 0x20; i++)
{
data = proms[i];
- palette_set_color_rgb(machine, i + 0x80, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
+ palette_set_color_rgb(machine(), i + 0x80, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6));
}
}
@@ -6035,10 +6035,10 @@ static MACHINE_CONFIG_START( chrygld, goldstar_state )
MCFG_GFXDECODE(chry10)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6077,10 +6077,10 @@ static MACHINE_CONFIG_START( cb3c, goldstar_state )
MCFG_GFXDECODE(cb3c)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6118,11 +6118,11 @@ static MACHINE_CONFIG_START( ncb3, goldstar_state )
MCFG_GFXDECODE(ncb3)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6159,10 +6159,10 @@ static MACHINE_CONFIG_START( cm, goldstar_state )
MCFG_GFXDECODE(cmbitmap)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(cherrym)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6199,10 +6199,10 @@ static MACHINE_CONFIG_START( cmnobmp, goldstar_state )
MCFG_GFXDECODE(cm)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(cherrym)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6234,10 +6234,10 @@ static MACHINE_CONFIG_START( cmast91, goldstar_state )
MCFG_GFXDECODE(cmast91)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cmast91)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cmast91)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(cherrym)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6273,14 +6273,14 @@ static MACHINE_CONFIG_START( lucky8, goldstar_state )
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
- MCFG_PALETTE_INIT(lucky8)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
MCFG_SCREEN_UPDATE_STATIC(goldstar)
MCFG_GFXDECODE(ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6313,14 +6313,14 @@ static MACHINE_CONFIG_START( bingowng, goldstar_state )
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
- MCFG_PALETTE_INIT(lucky8)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
MCFG_SCREEN_UPDATE_STATIC(bingowng)
MCFG_GFXDECODE(ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(bingowng)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,bingowng)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6353,14 +6353,14 @@ static MACHINE_CONFIG_START( bingownga, goldstar_state )
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
- MCFG_PALETTE_INIT(lucky8)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
MCFG_SCREEN_UPDATE_STATIC(bingowng)
MCFG_GFXDECODE(bingownga) /* GFX Decode is the only difference with the parent machine */
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(bingowng)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,bingowng)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6374,20 +6374,20 @@ static MACHINE_CONFIG_START( bingownga, goldstar_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
-static PALETTE_INIT(magodds)
+PALETTE_INIT_MEMBER(goldstar_state,magodds)
{
int i;
for (i = 0; i < 0x100; i++)
{
int r,g,b;
- UINT8*proms = machine.root_device().memregion("proms")->base();
+ UINT8*proms = machine().root_device().memregion("proms")->base();
b = proms[0x000 + i] << 4;
g = proms[0x100 + i] << 4;
r = proms[0x200 + i] << 4;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -6411,13 +6411,13 @@ static MACHINE_CONFIG_START( magodds, goldstar_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(magical)
- MCFG_PALETTE_INIT(magodds)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,magodds)
MCFG_GFXDECODE(magodds)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(magical)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,magical)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6453,12 +6453,12 @@ static MACHINE_CONFIG_START( kkotnoli, goldstar_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(goldstar)
- MCFG_PALETTE_INIT(lucky8)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
MCFG_GFXDECODE(ncb3)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6489,13 +6489,13 @@ static MACHINE_CONFIG_START( ladylinr, goldstar_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(goldstar)
- MCFG_PALETTE_INIT(lucky8)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
MCFG_GFXDECODE(ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")//set up a standard mono speaker called 'mono'
@@ -6530,13 +6530,13 @@ static MACHINE_CONFIG_START( wcat3, goldstar_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(goldstar)
- MCFG_PALETTE_INIT(lucky8)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
MCFG_GFXDECODE(ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(goldstar)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6575,10 +6575,10 @@ static MACHINE_CONFIG_START( amcoe1, goldstar_state )
MCFG_GFXDECODE(cm)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(cherrym)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6614,10 +6614,10 @@ static MACHINE_CONFIG_START( amcoe1a, goldstar_state )
MCFG_GFXDECODE(cm)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(cherrym)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6653,10 +6653,10 @@ static MACHINE_CONFIG_START( amcoe2, goldstar_state )
MCFG_GFXDECODE(cm)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(cherrym)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6687,10 +6687,10 @@ static MACHINE_CONFIG_START( nfm, goldstar_state )
MCFG_GFXDECODE(nfm)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(cherrym)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6721,7 +6721,7 @@ static MACHINE_CONFIG_START( unkch, goldstar_state )
//MCFG_NVRAM_HANDLER(goldstar)
- MCFG_VIDEO_START(unkch)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,unkch)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -6766,10 +6766,10 @@ static MACHINE_CONFIG_START( pkrmast, goldstar_state )
MCFG_GFXDECODE(pkrmast)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(cm)
+ MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_VIDEO_START(cherrym)
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gomoku.c b/src/mame/drivers/gomoku.c
index 13ea576f474..06dd3fe148a 100644
--- a/src/mame/drivers/gomoku.c
+++ b/src/mame/drivers/gomoku.c
@@ -134,8 +134,6 @@ static MACHINE_CONFIG_START( gomoku, gomoku_state )
MCFG_GFXDECODE(gomoku)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(gomoku)
- MCFG_VIDEO_START(gomoku)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/good.c b/src/mame/drivers/good.c
index 2970ebc53a0..b82548d2b27 100644
--- a/src/mame/drivers/good.c
+++ b/src/mame/drivers/good.c
@@ -56,6 +56,7 @@ public:
DECLARE_WRITE16_MEMBER(bg_tilemapram_w);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
};
@@ -87,12 +88,11 @@ TILE_GET_INFO_MEMBER(good_state::get_bg_tile_info)
-static VIDEO_START( good )
+void good_state::video_start()
{
- good_state *state = machine.driver_data<good_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(good_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(good_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0xf);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(good_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(good_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0xf);
}
static SCREEN_UPDATE_IND16( good )
@@ -292,7 +292,6 @@ static MACHINE_CONFIG_START( good, good_state )
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(good)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/gotcha.c b/src/mame/drivers/gotcha.c
index 497f2e246a1..9cf864b9987 100644
--- a/src/mame/drivers/gotcha.c
+++ b/src/mame/drivers/gotcha.c
@@ -250,29 +250,27 @@ static const ym2151_interface ym2151_config =
};
-static MACHINE_START( gotcha )
+void gotcha_state::machine_start()
{
- gotcha_state *state = machine.driver_data<gotcha_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_banksel));
- state->save_item(NAME(state->m_gfxbank));
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_banksel));
+ save_item(NAME(m_gfxbank));
+ save_item(NAME(m_scroll));
}
-static MACHINE_RESET( gotcha )
+void gotcha_state::machine_reset()
{
- gotcha_state *state = machine.driver_data<gotcha_state>();
int i;
for (i = 0; i < 4; i++)
{
- state->m_gfxbank[i] = 0;
- state->m_scroll[i] = 0;
+ m_gfxbank[i] = 0;
+ m_scroll[i] = 0;
}
- state->m_banksel = 0;
+ m_banksel = 0;
}
static MACHINE_CONFIG_START( gotcha, gotcha_state )
@@ -286,8 +284,6 @@ static MACHINE_CONFIG_START( gotcha, gotcha_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
// MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MCFG_MACHINE_START(gotcha)
- MCFG_MACHINE_RESET(gotcha)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -300,7 +296,6 @@ static MACHINE_CONFIG_START( gotcha, gotcha_state )
MCFG_GFXDECODE(gotcha)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(gotcha)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 1);
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index ad2bb2ef644..a5c9fbae0d2 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -234,52 +234,50 @@ static TIMER_CALLBACK( laserdisc_philips_callback );
*
*************************************/
-static MACHINE_START( gottlieb )
+void gottlieb_state::machine_start()
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
/* register for save states */
- state_save_register_global(machine, state->m_joystick_select);
- state_save_register_global_array(machine, state->m_track);
+ state_save_register_global(machine(), m_joystick_select);
+ state_save_register_global_array(machine(), m_track);
/* see if we have a laserdisc */
- if (state->m_laserdisc != NULL)
+ if (m_laserdisc != NULL)
{
/* attach to the I/O ports */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x05805, 0x05807, 0, 0x07f8, read8_delegate(FUNC(gottlieb_state::laserdisc_status_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x05805, 0x05805, 0, 0x07f8, write8_delegate(FUNC(gottlieb_state::laserdisc_command_w),state)); /* command for the player */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x05806, 0x05806, 0, 0x07f8, write8_delegate(FUNC(gottlieb_state::laserdisc_select_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x05805, 0x05807, 0, 0x07f8, read8_delegate(FUNC(gottlieb_state::laserdisc_status_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x05805, 0x05805, 0, 0x07f8, write8_delegate(FUNC(gottlieb_state::laserdisc_command_w),this)); /* command for the player */
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x05806, 0x05806, 0, 0x07f8, write8_delegate(FUNC(gottlieb_state::laserdisc_select_w),this));
/* allocate a timer for serial transmission, and one for philips code processing */
- state->m_laserdisc_bit_timer = machine.scheduler().timer_alloc(FUNC(laserdisc_bit_callback));
- state->m_laserdisc_philips_timer = machine.scheduler().timer_alloc(FUNC(laserdisc_philips_callback));
+ m_laserdisc_bit_timer = machine().scheduler().timer_alloc(FUNC(laserdisc_bit_callback));
+ m_laserdisc_philips_timer = machine().scheduler().timer_alloc(FUNC(laserdisc_philips_callback));
/* create some audio RAM */
- state->m_laserdisc_audio_buffer = auto_alloc_array(machine, UINT8, AUDIORAM_SIZE);
- state->m_laserdisc_status = 0x38;
+ m_laserdisc_audio_buffer = auto_alloc_array(machine(), UINT8, AUDIORAM_SIZE);
+ m_laserdisc_status = 0x38;
/* more save state registration */
- state_save_register_global(machine, state->m_laserdisc_select);
- state_save_register_global(machine, state->m_laserdisc_status);
- state_save_register_global(machine, state->m_laserdisc_philips_code);
-
- state_save_register_global_pointer(machine, state->m_laserdisc_audio_buffer, AUDIORAM_SIZE);
- state_save_register_global(machine, state->m_laserdisc_audio_address);
- state_save_register_global_array(machine, state->m_laserdisc_last_samples);
- state_save_register_global(machine, state->m_laserdisc_last_time);
- state_save_register_global(machine, state->m_laserdisc_last_clock);
- state_save_register_global(machine, state->m_laserdisc_zero_seen);
- state_save_register_global(machine, state->m_laserdisc_audio_bits);
- state_save_register_global(machine, state->m_laserdisc_audio_bit_count);
+ state_save_register_global(machine(), m_laserdisc_select);
+ state_save_register_global(machine(), m_laserdisc_status);
+ state_save_register_global(machine(), m_laserdisc_philips_code);
+
+ state_save_register_global_pointer(machine(), m_laserdisc_audio_buffer, AUDIORAM_SIZE);
+ state_save_register_global(machine(), m_laserdisc_audio_address);
+ state_save_register_global_array(machine(), m_laserdisc_last_samples);
+ state_save_register_global(machine(), m_laserdisc_last_time);
+ state_save_register_global(machine(), m_laserdisc_last_clock);
+ state_save_register_global(machine(), m_laserdisc_zero_seen);
+ state_save_register_global(machine(), m_laserdisc_audio_bits);
+ state_save_register_global(machine(), m_laserdisc_audio_bit_count);
}
}
-static MACHINE_RESET( gottlieb )
+void gottlieb_state::machine_reset()
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
/* if we have a laserdisc, reset our philips code callback for the next line 17 */
- if (state->m_laserdisc != NULL)
- state->m_laserdisc_philips_timer->adjust(machine.primary_screen->time_until_pos(17), 17);
+ if (m_laserdisc != NULL)
+ m_laserdisc_philips_timer->adjust(machine().primary_screen->time_until_pos(17), 17);
}
@@ -1715,8 +1713,6 @@ static MACHINE_CONFIG_START( gottlieb_core, gottlieb_state )
MCFG_CPU_PROGRAM_MAP(gottlieb_map)
MCFG_CPU_VBLANK_INT("screen", gottlieb_interrupt)
- MCFG_MACHINE_START(gottlieb)
- MCFG_MACHINE_RESET(gottlieb)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_WATCHDOG_VBLANK_INIT(16)
@@ -1728,7 +1724,6 @@ static MACHINE_CONFIG_START( gottlieb_core, gottlieb_state )
MCFG_GFXDECODE(gfxdecode)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(gottlieb)
// basic speaker configuration
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1825,7 +1820,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( screwloo, gottlieb2 )
- MCFG_VIDEO_START(screwloo)
+ MCFG_VIDEO_START_OVERRIDE(gottlieb_state,screwloo)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cobram3, gottlieb_core )
diff --git a/src/mame/drivers/gotya.c b/src/mame/drivers/gotya.c
index 3f6ca9ba81c..aeba686389f 100644
--- a/src/mame/drivers/gotya.c
+++ b/src/mame/drivers/gotya.c
@@ -174,22 +174,20 @@ static const samples_interface gotya_samples_interface =
};
-static MACHINE_START( gotya )
+void gotya_state::machine_start()
{
- gotya_state *state = machine.driver_data<gotya_state>();
- state->m_samples = machine.device<samples_device>("samples");
+ m_samples = machine().device<samples_device>("samples");
- state->save_item(NAME(state->m_scroll_bit_8));
- state->save_item(NAME(state->m_theme_playing));
+ save_item(NAME(m_scroll_bit_8));
+ save_item(NAME(m_theme_playing));
}
-static MACHINE_RESET( gotya )
+void gotya_state::machine_reset()
{
- gotya_state *state = machine.driver_data<gotya_state>();
- state->m_scroll_bit_8 = 0;
- state->m_theme_playing = 0;
+ m_scroll_bit_8 = 0;
+ m_theme_playing = 0;
}
static MACHINE_CONFIG_START( gotya, gotya_state )
@@ -199,8 +197,6 @@ static MACHINE_CONFIG_START( gotya, gotya_state )
MCFG_CPU_PROGRAM_MAP(gotya_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(gotya)
- MCFG_MACHINE_RESET(gotya)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -213,8 +209,6 @@ static MACHINE_CONFIG_START( gotya, gotya_state )
MCFG_GFXDECODE(gotya)
MCFG_PALETTE_LENGTH(16*4)
- MCFG_PALETTE_INIT(gotya)
- MCFG_VIDEO_START(gotya)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gpworld.c b/src/mame/drivers/gpworld.c
index f0863757abb..bff4fc68c52 100644
--- a/src/mame/drivers/gpworld.c
+++ b/src/mame/drivers/gpworld.c
@@ -70,6 +70,7 @@ public:
DECLARE_WRITE8_MEMBER(brake_gas_write);
DECLARE_WRITE8_MEMBER(palette_write);
DECLARE_DRIVER_INIT(gpworld);
+ virtual void machine_start();
};
@@ -233,7 +234,7 @@ static SCREEN_UPDATE_RGB32( gpworld )
}
-static MACHINE_START( gpworld )
+void gpworld_state::machine_start()
{
}
@@ -467,7 +468,6 @@ static MACHINE_CONFIG_START( gpworld, gpworld_state )
MCFG_CPU_IO_MAP(mainport)
MCFG_CPU_VBLANK_INT("screen", vblank_callback_gpworld)
- MCFG_MACHINE_START(gpworld)
MCFG_LASERDISC_LDV1000_ADD("laserdisc")
MCFG_LASERDISC_OVERLAY_STATIC(512, 256, gpworld)
diff --git a/src/mame/drivers/gradius3.c b/src/mame/drivers/gradius3.c
index b5526c3a2f6..9c9fb15217a 100644
--- a/src/mame/drivers/gradius3.c
+++ b/src/mame/drivers/gradius3.c
@@ -286,31 +286,29 @@ static const k051960_interface gradius3_k051960_intf =
gradius3_sprite_callback
};
-static MACHINE_START( gradius3 )
+void gradius3_state::machine_start()
{
- gradius3_state *state = machine.driver_data<gradius3_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_k007232 = machine.device("k007232");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
-
- state->save_item(NAME(state->m_irqAen));
- state->save_item(NAME(state->m_irqBmask));
- state->save_item(NAME(state->m_priority));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_k007232 = machine().device("k007232");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
+
+ save_item(NAME(m_irqAen));
+ save_item(NAME(m_irqBmask));
+ save_item(NAME(m_priority));
}
-static MACHINE_RESET( gradius3 )
+void gradius3_state::machine_reset()
{
- gradius3_state *state = machine.driver_data<gradius3_state>();
/* start with cpu B halted */
- machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_irqAen = 0;
- state->m_irqBmask = 0;
- state->m_priority = 0;
+ machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_irqAen = 0;
+ m_irqBmask = 0;
+ m_priority = 0;
}
@@ -332,8 +330,6 @@ static MACHINE_CONFIG_START( gradius3, gradius3_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(gradius3)
- MCFG_MACHINE_RESET(gradius3)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -347,7 +343,6 @@ static MACHINE_CONFIG_START( gradius3, gradius3_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(gradius3)
MCFG_K052109_ADD("k052109", gradius3_k052109_intf)
MCFG_K051960_ADD("k051960", gradius3_k051960_intf)
diff --git a/src/mame/drivers/grchamp.c b/src/mame/drivers/grchamp.c
index aef3d461429..27630996797 100644
--- a/src/mame/drivers/grchamp.c
+++ b/src/mame/drivers/grchamp.c
@@ -76,10 +76,10 @@
*
*************************************/
-static MACHINE_RESET( grchamp )
+void grchamp_state::machine_reset()
{
/* if the coin system is 1 way, lock Coin B (Page 40) */
- coin_lockout_w(machine, 1, (machine.root_device().ioport("DSWB")->read() & 0x10) ? 1 : 0);
+ coin_lockout_w(machine(), 1, (machine().root_device().ioport("DSWB")->read() & 0x10) ? 1 : 0);
}
@@ -684,7 +684,6 @@ static MACHINE_CONFIG_START( grchamp, grchamp_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)SOUND_CLOCK/4/16/16/10/16)
- MCFG_MACHINE_RESET(grchamp)
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -696,8 +695,6 @@ static MACHINE_CONFIG_START( grchamp, grchamp_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(grchamp)
- MCFG_PALETTE_INIT(grchamp)
- MCFG_VIDEO_START(grchamp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gridlee.c b/src/mame/drivers/gridlee.c
index 1bb0de44aa7..92ed64372b2 100644
--- a/src/mame/drivers/gridlee.c
+++ b/src/mame/drivers/gridlee.c
@@ -139,30 +139,28 @@ static TIMER_CALLBACK( firq_timer_tick )
state->m_firq_off->adjust(machine.primary_screen->time_until_pos(FIRQ_SCANLINE, GRIDLEE_HBSTART));
}
-static MACHINE_START( gridlee )
+void gridlee_state::machine_start()
{
- gridlee_state *state = machine.driver_data<gridlee_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
/* create the polynomial tables */
- poly17_init(machine);
+ poly17_init(machine());
- state_save_register_global_array(machine, state->m_last_analog_input);
- state_save_register_global_array(machine, state->m_last_analog_output);
+ state_save_register_global_array(machine(), m_last_analog_input);
+ state_save_register_global_array(machine(), m_last_analog_output);
- state->m_irq_off = machine.scheduler().timer_alloc(FUNC(irq_off_tick));
- state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(irq_timer_tick));
- state->m_firq_off = machine.scheduler().timer_alloc(FUNC(firq_off_tick));
- state->m_firq_timer = machine.scheduler().timer_alloc(FUNC(firq_timer_tick));
+ m_irq_off = machine().scheduler().timer_alloc(FUNC(irq_off_tick));
+ m_irq_timer = machine().scheduler().timer_alloc(FUNC(irq_timer_tick));
+ m_firq_off = machine().scheduler().timer_alloc(FUNC(firq_off_tick));
+ m_firq_timer = machine().scheduler().timer_alloc(FUNC(firq_timer_tick));
}
-static MACHINE_RESET( gridlee )
+void gridlee_state::machine_reset()
{
- gridlee_state *state = machine.driver_data<gridlee_state>();
/* start timers to generate interrupts */
- state->m_irq_timer->adjust(machine.primary_screen->time_until_pos(0));
- state->m_firq_timer->adjust(machine.primary_screen->time_until_pos(FIRQ_SCANLINE));
+ m_irq_timer->adjust(machine().primary_screen->time_until_pos(0));
+ m_firq_timer->adjust(machine().primary_screen->time_until_pos(FIRQ_SCANLINE));
}
@@ -429,8 +427,6 @@ static MACHINE_CONFIG_START( gridlee, gridlee_state )
MCFG_CPU_ADD("maincpu", M6809, GRIDLEE_CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(cpu1_map)
- MCFG_MACHINE_START(gridlee)
- MCFG_MACHINE_RESET(gridlee)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -440,8 +436,6 @@ static MACHINE_CONFIG_START( gridlee, gridlee_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_PALETTE_INIT(gridlee)
- MCFG_VIDEO_START(gridlee)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/groundfx.c b/src/mame/drivers/groundfx.c
index 6ad3509cdde..3c997649dfc 100644
--- a/src/mame/drivers/groundfx.c
+++ b/src/mame/drivers/groundfx.c
@@ -381,7 +381,6 @@ static MACHINE_CONFIG_START( groundfx, groundfx_state )
MCFG_GFXDECODE(groundfx)
MCFG_PALETTE_LENGTH(16384)
- MCFG_VIDEO_START(groundfx)
MCFG_TC0100SCN_ADD("tc0100scn", groundfx_tc0100scn_intf)
MCFG_TC0480SCP_ADD("tc0480scp", groundfx_tc0480scp_intf)
diff --git a/src/mame/drivers/gstream.c b/src/mame/drivers/gstream.c
index 36a6cda47af..56c3fa60f2a 100644
--- a/src/mame/drivers/gstream.c
+++ b/src/mame/drivers/gstream.c
@@ -180,6 +180,9 @@ public:
TILE_GET_INFO_MEMBER(get_gs1_tile_info);
TILE_GET_INFO_MEMBER(get_gs2_tile_info);
TILE_GET_INFO_MEMBER(get_gs3_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -467,15 +470,14 @@ TILE_GET_INFO_MEMBER(gstream_state::get_gs3_tile_info)
}
-static VIDEO_START(gstream)
+void gstream_state::video_start()
{
- gstream_state *state = machine.driver_data<gstream_state>();
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs1_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs2_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
- state->m_tilemap3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs3_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs1_tile_info),this), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs2_tile_info),this), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
+ m_tilemap3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs3_tile_info),this), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
- state->m_tilemap1->set_transparent_pen(0);
- state->m_tilemap2->set_transparent_pen(0);
+ m_tilemap1->set_transparent_pen(0);
+ m_tilemap2->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16(gstream)
@@ -531,32 +533,30 @@ static SCREEN_UPDATE_IND16(gstream)
}
-static MACHINE_START( gstream )
+void gstream_state::machine_start()
{
- gstream_state *state = machine.driver_data<gstream_state>();
-
- state->save_item(NAME(state->m_tmap1_scrollx));
- state->save_item(NAME(state->m_tmap2_scrollx));
- state->save_item(NAME(state->m_tmap3_scrollx));
- state->save_item(NAME(state->m_tmap1_scrolly));
- state->save_item(NAME(state->m_tmap2_scrolly));
- state->save_item(NAME(state->m_tmap3_scrolly));
- state->save_item(NAME(state->m_oki_bank_1));
- state->save_item(NAME(state->m_oki_bank_2));
+
+ save_item(NAME(m_tmap1_scrollx));
+ save_item(NAME(m_tmap2_scrollx));
+ save_item(NAME(m_tmap3_scrollx));
+ save_item(NAME(m_tmap1_scrolly));
+ save_item(NAME(m_tmap2_scrolly));
+ save_item(NAME(m_tmap3_scrolly));
+ save_item(NAME(m_oki_bank_1));
+ save_item(NAME(m_oki_bank_2));
}
-static MACHINE_RESET( gstream )
+void gstream_state::machine_reset()
{
- gstream_state *state = machine.driver_data<gstream_state>();
-
- state->m_tmap1_scrollx = 0;
- state->m_tmap2_scrollx = 0;
- state->m_tmap3_scrollx = 0;
- state->m_tmap1_scrolly = 0;
- state->m_tmap2_scrolly = 0;
- state->m_tmap3_scrolly = 0;
- state->m_oki_bank_1 = 0;
- state->m_oki_bank_2 = 0;
+
+ m_tmap1_scrollx = 0;
+ m_tmap2_scrollx = 0;
+ m_tmap3_scrollx = 0;
+ m_tmap1_scrolly = 0;
+ m_tmap2_scrolly = 0;
+ m_tmap3_scrolly = 0;
+ m_oki_bank_1 = 0;
+ m_oki_bank_2 = 0;
}
static MACHINE_CONFIG_START( gstream, gstream_state )
@@ -567,8 +567,6 @@ static MACHINE_CONFIG_START( gstream, gstream_state )
MCFG_CPU_IO_MAP(gstream_io)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(gstream)
- MCFG_MACHINE_RESET(gstream)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -583,7 +581,6 @@ static MACHINE_CONFIG_START( gstream, gstream_state )
MCFG_PALETTE_LENGTH(0x1000 + 0x400 + 0x400 + 0x400) // sprites + 3 bg layers
MCFG_GFXDECODE(gstream)
- MCFG_VIDEO_START(gstream)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gstriker.c b/src/mame/drivers/gstriker.c
index e8d4bf29244..27156a429fd 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -560,7 +560,7 @@ static MACHINE_CONFIG_START( gstriker, gstriker_state )
MCFG_GFXDECODE(gstriker)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(gstriker)
+ MCFG_VIDEO_START_OVERRIDE(gstriker_state,gstriker)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -573,7 +573,7 @@ static MACHINE_CONFIG_START( gstriker, gstriker_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( twrldc94, gstriker )
- MCFG_VIDEO_START( twrldc94 )
+ MCFG_VIDEO_START_OVERRIDE(gstriker_state, twrldc94 )
MACHINE_CONFIG_END
@@ -598,7 +598,7 @@ static MACHINE_CONFIG_START( vgoal, gstriker_state )
MCFG_GFXDECODE(gstriker)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(vgoalsoc)
+ MCFG_VIDEO_START_OVERRIDE(gstriker_state,vgoalsoc)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/gsword.c b/src/mame/drivers/gsword.c
index 185b5030227..d28e1792065 100644
--- a/src/mame/drivers/gsword.c
+++ b/src/mame/drivers/gsword.c
@@ -228,22 +228,21 @@ static const struct TAITO8741interface gsword_8741interface=
{ "DSW2","DSW1",NULL,NULL }
};
-static MACHINE_RESET( gsword )
+MACHINE_RESET_MEMBER(gsword_state,gsword)
{
- gsword_state *state = machine.driver_data<gsword_state>();
int i;
for(i=0;i<4;i++) TAITO8741_reset(i);
- state->m_coins = 0;
+ m_coins = 0;
/* snd CPU mask NMI during reset phase */
- state->m_nmi_enable = 0;
- state->m_protect_hack = 0;
+ m_nmi_enable = 0;
+ m_protect_hack = 0;
TAITO8741_start(&gsword_8741interface);
}
-static MACHINE_RESET( josvolly )
+MACHINE_RESET_MEMBER(gsword_state,josvolly)
{
josvolly_8741_reset();
}
@@ -674,7 +673,7 @@ static MACHINE_CONFIG_START( gsword, gsword_state )
MCFG_QUANTUM_TIME(attotime::from_hz(12000)) /* Allow time for 2nd cpu to interleave*/
- MCFG_MACHINE_RESET(gsword)
+ MCFG_MACHINE_RESET_OVERRIDE(gsword_state,gsword)
#if 1
/* to MCU timeout champbbj */
@@ -692,8 +691,7 @@ static MACHINE_CONFIG_START( gsword, gsword_state )
MCFG_GFXDECODE(gsword)
MCFG_PALETTE_LENGTH(64*4+64*4)
- MCFG_PALETTE_INIT(gsword)
- MCFG_VIDEO_START(gsword)
+ MCFG_PALETTE_INIT_OVERRIDE(gsword_state,gsword)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -723,7 +721,7 @@ static MACHINE_CONFIG_START( josvolly, gsword_state )
MCFG_CPU_IO_MAP(josvolly_cpu2_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_RESET(josvolly)
+ MCFG_MACHINE_RESET_OVERRIDE(gsword_state,josvolly)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -736,8 +734,7 @@ static MACHINE_CONFIG_START( josvolly, gsword_state )
MCFG_GFXDECODE(gsword)
MCFG_PALETTE_LENGTH(64*4+64*4)
- MCFG_PALETTE_INIT(josvolly)
- MCFG_VIDEO_START(gsword)
+ MCFG_PALETTE_INIT_OVERRIDE(gsword_state,josvolly)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gticlub.c b/src/mame/drivers/gticlub.c
index dbb4126ea45..48f2bb193b8 100644
--- a/src/mame/drivers/gticlub.c
+++ b/src/mame/drivers/gticlub.c
@@ -260,6 +260,9 @@ public:
DECLARE_WRITE32_MEMBER(dsp_dataram1_w);
DECLARE_DRIVER_INIT(hangplt);
DECLARE_DRIVER_INIT(gticlub);
+ DECLARE_MACHINE_START(gticlub);
+ DECLARE_MACHINE_RESET(gticlub);
+ DECLARE_MACHINE_RESET(hangplt);
};
@@ -405,15 +408,14 @@ WRITE8_MEMBER(gticlub_state::sysreg_w)
/******************************************************************/
-static MACHINE_START( gticlub )
+MACHINE_START_MEMBER(gticlub_state,gticlub)
{
- gticlub_state *state = machine.driver_data<gticlub_state>();
/* set conservative DRC options */
- ppcdrc_set_options(machine.device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
+ ppcdrc_set_options(machine().device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
/* configure fast RAM regions for DRC */
- ppcdrc_add_fastram(machine.device("maincpu"), 0x00000000, 0x000fffff, FALSE, state->m_work_ram);
+ ppcdrc_add_fastram(machine().device("maincpu"), 0x00000000, 0x000fffff, FALSE, m_work_ram);
}
static ADDRESS_MAP_START( gticlub_map, AS_PROGRAM, 32, gticlub_state )
@@ -795,9 +797,9 @@ static const k001604_interface hangplt_k001604_intf_r =
};
-static MACHINE_RESET( gticlub )
+MACHINE_RESET_MEMBER(gticlub_state,gticlub)
{
- machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
static MACHINE_CONFIG_START( gticlub, gticlub_state )
@@ -818,8 +820,8 @@ static MACHINE_CONFIG_START( gticlub, gticlub_state )
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
- MCFG_MACHINE_START(gticlub)
- MCFG_MACHINE_RESET(gticlub)
+ MCFG_MACHINE_START_OVERRIDE(gticlub_state,gticlub)
+ MCFG_MACHINE_RESET_OVERRIDE(gticlub_state,gticlub)
MCFG_ADC1038_ADD("adc1038", gticlub_adc1038_intf)
@@ -876,10 +878,10 @@ static const k033906_interface hangplt_k033906_intf_1 =
"voodoo1"
};
-static MACHINE_RESET( hangplt )
+MACHINE_RESET_MEMBER(gticlub_state,hangplt)
{
- machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
static const voodoo_config voodoo_l_intf =
@@ -925,8 +927,8 @@ static MACHINE_CONFIG_START( hangplt, gticlub_state )
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
- MCFG_MACHINE_START(gticlub)
- MCFG_MACHINE_RESET(hangplt)
+ MCFG_MACHINE_START_OVERRIDE(gticlub_state,gticlub)
+ MCFG_MACHINE_RESET_OVERRIDE(gticlub_state,hangplt)
MCFG_ADC1038_ADD("adc1038", thunderh_adc1038_intf)
MCFG_K056230_ADD("k056230", gticlub_k056230_intf)
diff --git a/src/mame/drivers/guab.c b/src/mame/drivers/guab.c
index b31de36ddaa..dd6d6cf2b9d 100644
--- a/src/mame/drivers/guab.c
+++ b/src/mame/drivers/guab.c
@@ -95,6 +95,9 @@ public:
DECLARE_WRITE16_MEMBER(io_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_WRITE_LINE_MEMBER(ptm_irq);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -249,9 +252,9 @@ READ16_MEMBER(guab_state::ef9369_r)
}
-static VIDEO_START( guab )
+void guab_state::video_start()
{
- tms34061_start(machine, &tms34061intf);
+ tms34061_start(machine(), &tms34061intf);
}
@@ -799,16 +802,14 @@ static const sn76496_config psg_intf =
*
*************************************/
- static MACHINE_START( guab )
+void guab_state::machine_start()
{
- guab_state *state = machine.driver_data<guab_state>();
- state->m_fdc_timer = machine.scheduler().timer_alloc(FUNC(fdc_data_callback));
+ m_fdc_timer = machine().scheduler().timer_alloc(FUNC(fdc_data_callback));
}
-static MACHINE_RESET( guab )
+void guab_state::machine_reset()
{
- guab_state *state = machine.driver_data<guab_state>();
- memset(&state->m_fdc, 0, sizeof(state->m_fdc));
+ memset(&m_fdc, 0, sizeof(m_fdc));
}
static MACHINE_CONFIG_START( guab, guab_state )
@@ -816,8 +817,6 @@ static MACHINE_CONFIG_START( guab, guab_state )
MCFG_CPU_ADD("maincpu", M68000, 8000000)
MCFG_CPU_PROGRAM_MAP(guab_map)
- MCFG_MACHINE_START(guab)
- MCFG_MACHINE_RESET(guab)
/* TODO: Use real video timings */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -829,7 +828,6 @@ static MACHINE_CONFIG_START( guab, guab_state )
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(guab)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gumbo.c b/src/mame/drivers/gumbo.c
index d4926de5f50..c6fed404be9 100644
--- a/src/mame/drivers/gumbo.c
+++ b/src/mame/drivers/gumbo.c
@@ -244,7 +244,6 @@ static MACHINE_CONFIG_START( gumbo, gumbo_state )
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START(gumbo)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/gunbustr.c b/src/mame/drivers/gunbustr.c
index ec6f2a281a5..b90ebcff0d8 100644
--- a/src/mame/drivers/gunbustr.c
+++ b/src/mame/drivers/gunbustr.c
@@ -320,7 +320,6 @@ static MACHINE_CONFIG_START( gunbustr, gunbustr_state )
MCFG_GFXDECODE(gunbustr)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(gunbustr)
MCFG_TC0480SCP_ADD("tc0480scp", gunbustr_tc0480scp_intf)
diff --git a/src/mame/drivers/gundealr.c b/src/mame/drivers/gundealr.c
index e62126c6d19..760554e6be9 100644
--- a/src/mame/drivers/gundealr.c
+++ b/src/mame/drivers/gundealr.c
@@ -361,26 +361,24 @@ GFXDECODE_END
-static MACHINE_START( gundealr )
+void gundealr_state::machine_start()
{
- gundealr_state *state = machine.driver_data<gundealr_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_scroll));
}
-static MACHINE_RESET( gundealr )
+void gundealr_state::machine_reset()
{
- gundealr_state *state = machine.driver_data<gundealr_state>();
- state->m_flipscreen = 0;
- state->m_scroll[0] = 0;
- state->m_scroll[1] = 0;
- state->m_scroll[2] = 0;
- state->m_scroll[3] = 0;
+ m_flipscreen = 0;
+ m_scroll[0] = 0;
+ m_scroll[1] = 0;
+ m_scroll[2] = 0;
+ m_scroll[3] = 0;
}
static TIMER_DEVICE_CALLBACK( gundealr_scanline )
@@ -414,8 +412,6 @@ static MACHINE_CONFIG_START( gundealr, gundealr_state )
MCFG_CPU_IO_MAP(main_portmap)
MCFG_TIMER_ADD_SCANLINE("scantimer", gundealr_scanline, "screen", 0, 1)
- MCFG_MACHINE_START(gundealr)
- MCFG_MACHINE_RESET(gundealr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -428,7 +424,6 @@ static MACHINE_CONFIG_START( gundealr, gundealr_state )
MCFG_GFXDECODE(gundealr)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(gundealr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gunpey.c b/src/mame/drivers/gunpey.c
index c04f510d10c..51ba42a9e88 100644
--- a/src/mame/drivers/gunpey.c
+++ b/src/mame/drivers/gunpey.c
@@ -92,13 +92,14 @@ public:
DECLARE_READ8_MEMBER(gunpey_inputs_r);
DECLARE_WRITE8_MEMBER(gunpey_blitter_w);
DECLARE_DRIVER_INIT(gunpey);
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START( gunpey )
+void gunpey_state::video_start()
{
- gunpey_state *state = machine.driver_data<gunpey_state>();
- state->m_blit_buffer = auto_alloc_array(machine, UINT16, 512*512);
+ m_blit_buffer = auto_alloc_array(machine(), UINT16, 512*512);
}
static SCREEN_UPDATE_RGB32( gunpey )
@@ -333,10 +334,10 @@ INPUT_PORTS_END
/***************************************************************************************/
/* test hack */
-static PALETTE_INIT( gunpey )
+void gunpey_state::palette_init()
{
int i,r,g,b,val;
- UINT8 *blit_rom = machine.root_device().memregion("blit_data")->base();
+ UINT8 *blit_rom = machine().root_device().memregion("blit_data")->base();
for (i = 0; i < 512; i+=2)
{
@@ -349,7 +350,7 @@ static PALETTE_INIT( gunpey )
r = (val & 0x7c00) >> 10;
r<<=3;
- palette_set_color(machine, i/2, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i/2, MAKE_RGB(r, g, b));
}
}
@@ -377,9 +378,7 @@ static MACHINE_CONFIG_START( gunpey, gunpey_state )
MCFG_SCREEN_UPDATE_STATIC(gunpey)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_PALETTE_INIT(gunpey)
- MCFG_VIDEO_START(gunpey)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
diff --git a/src/mame/drivers/gunsmoke.c b/src/mame/drivers/gunsmoke.c
index ec15fb7202d..241d3ac3854 100644
--- a/src/mame/drivers/gunsmoke.c
+++ b/src/mame/drivers/gunsmoke.c
@@ -271,27 +271,25 @@ GFXDECODE_END
/* Machine Driver */
-static MACHINE_START( gunsmoke )
+void gunsmoke_state::machine_start()
{
- gunsmoke_state *state = machine.driver_data<gunsmoke_state>();
- UINT8 *rombase = state->memregion("maincpu")->base();
+ UINT8 *rombase = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &rombase[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &rombase[0x10000], 0x4000);
- state->save_item(NAME(state->m_chon));
- state->save_item(NAME(state->m_objon));
- state->save_item(NAME(state->m_bgon));
- state->save_item(NAME(state->m_sprite3bank));
+ save_item(NAME(m_chon));
+ save_item(NAME(m_objon));
+ save_item(NAME(m_bgon));
+ save_item(NAME(m_sprite3bank));
}
-static MACHINE_RESET( gunsmoke )
+void gunsmoke_state::machine_reset()
{
- gunsmoke_state *state = machine.driver_data<gunsmoke_state>();
- state->m_chon = 0;
- state->m_objon = 0;
- state->m_bgon = 0;
- state->m_sprite3bank = 0;
+ m_chon = 0;
+ m_objon = 0;
+ m_bgon = 0;
+ m_sprite3bank = 0;
}
static MACHINE_CONFIG_START( gunsmoke, gunsmoke_state )
@@ -305,8 +303,6 @@ static MACHINE_CONFIG_START( gunsmoke, gunsmoke_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60)
- MCFG_MACHINE_START(gunsmoke)
- MCFG_MACHINE_RESET(gunsmoke)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -318,8 +314,6 @@ static MACHINE_CONFIG_START( gunsmoke, gunsmoke_state )
MCFG_GFXDECODE(gunsmoke)
MCFG_PALETTE_LENGTH(32*4+16*16+16*16)
- MCFG_PALETTE_INIT(gunsmoke)
- MCFG_VIDEO_START(gunsmoke)
MCFG_SCREEN_UPDATE_STATIC(gunsmoke)
/* sound hardware */
diff --git a/src/mame/drivers/gyruss.c b/src/mame/drivers/gyruss.c
index 45ee869a97c..7c83b85c713 100644
--- a/src/mame/drivers/gyruss.c
+++ b/src/mame/drivers/gyruss.c
@@ -488,12 +488,11 @@ static DISCRETE_SOUND_START( gyruss_sound )
DISCRETE_SOUND_END
-static MACHINE_START( gyruss )
+void gyruss_state::machine_start()
{
- gyruss_state *state = machine.driver_data<gyruss_state>();
- state->save_item(NAME(state->m_master_nmi_mask));
- state->save_item(NAME(state->m_slave_irq_mask));
+ save_item(NAME(m_master_nmi_mask));
+ save_item(NAME(m_slave_irq_mask));
}
static INTERRUPT_GEN( master_vblank_irq )
@@ -533,7 +532,6 @@ static MACHINE_CONFIG_START( gyruss, gyruss_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(gyruss)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -543,8 +541,6 @@ static MACHINE_CONFIG_START( gyruss, gyruss_state )
MCFG_GFXDECODE(gyruss)
MCFG_PALETTE_LENGTH(16*4+16*16)
- MCFG_PALETTE_INIT(gyruss)
- MCFG_VIDEO_START(gyruss)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/halleys.c b/src/mame/drivers/halleys.c
index b6396924894..41789bfefff 100644
--- a/src/mame/drivers/halleys.c
+++ b/src/mame/drivers/halleys.c
@@ -261,6 +261,9 @@ public:
DECLARE_DRIVER_INIT(halley87);
DECLARE_DRIVER_INIT(benberob);
DECLARE_DRIVER_INIT(halleys);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -1104,16 +1107,15 @@ READ8_MEMBER(halleys_state::collision_id_r)
//**************************************************************************
// Video Initializations and Updates
-static PALETTE_INIT( halleys )
+void halleys_state::palette_init()
{
- halleys_state *state = machine.driver_data<halleys_state>();
UINT32 d, r, g, b, i, j, count;
- UINT32 *pal_ptr = state->m_internal_palette;
+ UINT32 *pal_ptr = m_internal_palette;
for (count=0; count<1024; count++)
{
pal_ptr[count] = 0;
- palette_set_color(machine, count, MAKE_RGB(0, 0, 0));
+ palette_set_color(machine(), count, MAKE_RGB(0, 0, 0));
}
// 00-31: palette RAM(ffc0-ffdf)
@@ -1134,7 +1136,7 @@ static PALETTE_INIT( halleys )
g = r + count + BG_MONO;
r += i;
pal_ptr[g] = d;
- palette_set_color(machine, g, MAKE_RGB(r, r, r));
+ palette_set_color(machine(), g, MAKE_RGB(r, r, r));
}
}
@@ -1149,7 +1151,7 @@ static PALETTE_INIT( halleys )
g = d & 0x0c; g |= i;
b = d<<2 & 0x0c; b |= i;
- palette_set_color_rgb(machine, j, pal4bit(r), pal4bit(g), pal4bit(b));
+ palette_set_color_rgb(machine(), j, pal4bit(r), pal4bit(g), pal4bit(b));
}
}
@@ -1228,9 +1230,8 @@ WRITE8_MEMBER(halleys_state::halleys_paletteram_IIRRGGBB_w)
}
-static VIDEO_START( halleys )
+void halleys_state::video_start()
{
- halleys_state *state = machine.driver_data<halleys_state>();
#define HALLEYS_Y0 0x8e
#define HALLEYS_X0 0x9a
#define HALLEYS_Y1 0xa2
@@ -1239,10 +1240,10 @@ static VIDEO_START( halleys )
int dst, src, c;
// create short cuts to scroll registers
- state->m_scrolly0 = state->m_io_ram + HALLEYS_Y0;
- state->m_scrollx0 = state->m_io_ram + HALLEYS_X0;
- state->m_scrolly1 = state->m_io_ram + HALLEYS_Y1;
- state->m_scrollx1 = state->m_io_ram + HALLEYS_X1;
+ m_scrolly0 = m_io_ram + HALLEYS_Y0;
+ m_scrollx0 = m_io_ram + HALLEYS_X0;
+ m_scrolly1 = m_io_ram + HALLEYS_Y1;
+ m_scrollx1 = m_io_ram + HALLEYS_X1;
// fill alpha table
for (src=0; src<256; src++)
@@ -1253,7 +1254,7 @@ static VIDEO_START( halleys )
c += (((src&0x0c)+(dst&0x0c))>>1) & 0x0c;
c += (((src&0x03)+(dst&0x03))>>1) & 0x03;
- state->m_alpha_table[(src<<8)+dst] = c | BG_RGB;
+ m_alpha_table[(src<<8)+dst] = c | BG_RGB;
}
}
@@ -1929,19 +1930,18 @@ INPUT_PORTS_END
//**************************************************************************
// Machine Definitions and Initializations
-static MACHINE_RESET( halleys )
+void halleys_state::machine_reset()
{
- halleys_state *state = machine.driver_data<halleys_state>();
- state->m_mVectorType = 0;
- state->m_firq_level = 0;
- state->m_blitter_busy = 0;
- state->m_collision_count = 0;
- state->m_stars_enabled = 0;
- state->m_bgcolor = get_black_pen(machine);
- state->m_fftail = state->m_ffhead = state->m_ffcount = 0;
-
- memset(state->m_io_ram, 0xff, state->m_io_ram.bytes());
- memset(state->m_render_layer[0], 0, SCREEN_BYTESIZE * MAX_LAYERS);
+ m_mVectorType = 0;
+ m_firq_level = 0;
+ m_blitter_busy = 0;
+ m_collision_count = 0;
+ m_stars_enabled = 0;
+ m_bgcolor = get_black_pen(machine());
+ m_fftail = m_ffhead = m_ffcount = 0;
+
+ memset(m_io_ram, 0xff, m_io_ram.bytes());
+ memset(m_render_layer[0], 0, SCREEN_BYTESIZE * MAX_LAYERS);
}
@@ -1965,7 +1965,6 @@ static MACHINE_CONFIG_START( halleys, halleys_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)6000000/(4*16*16*10*16))
- MCFG_MACHINE_RESET(halleys)
// video hardware
@@ -1977,9 +1976,7 @@ static MACHINE_CONFIG_START( halleys, halleys_state )
MCFG_SCREEN_UPDATE_STATIC(halleys)
MCFG_PALETTE_LENGTH(PALETTE_SIZE)
- MCFG_PALETTE_INIT(halleys)
- MCFG_VIDEO_START(halleys)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/hanaawas.c b/src/mame/drivers/hanaawas.c
index 8a06e1dc9cb..75646bab95b 100644
--- a/src/mame/drivers/hanaawas.c
+++ b/src/mame/drivers/hanaawas.c
@@ -182,18 +182,16 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_START( hanaawas )
+void hanaawas_state::machine_start()
{
- hanaawas_state *state = machine.driver_data<hanaawas_state>();
- state->save_item(NAME(state->m_mux));
+ save_item(NAME(m_mux));
}
-static MACHINE_RESET( hanaawas )
+void hanaawas_state::machine_reset()
{
- hanaawas_state *state = machine.driver_data<hanaawas_state>();
- state->m_mux = 0;
+ m_mux = 0;
}
static MACHINE_CONFIG_START( hanaawas, hanaawas_state )
@@ -204,8 +202,6 @@ static MACHINE_CONFIG_START( hanaawas, hanaawas_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(hanaawas)
- MCFG_MACHINE_RESET(hanaawas)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -218,8 +214,6 @@ static MACHINE_CONFIG_START( hanaawas, hanaawas_state )
MCFG_GFXDECODE(hanaawas)
MCFG_PALETTE_LENGTH(32*8)
- MCFG_PALETTE_INIT(hanaawas)
- MCFG_VIDEO_START(hanaawas)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/harddriv.c b/src/mame/drivers/harddriv.c
index 5e334754b00..ff05f994b16 100644
--- a/src/mame/drivers/harddriv.c
+++ b/src/mame/drivers/harddriv.c
@@ -1334,8 +1334,8 @@ static MACHINE_CONFIG_START( driver_nomsp, harddriv_state )
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
- MCFG_MACHINE_START(harddriv)
- MCFG_MACHINE_RESET(harddriv)
+ MCFG_MACHINE_START_OVERRIDE(harddriv_state,harddriv)
+ MCFG_MACHINE_RESET_OVERRIDE(harddriv_state,harddriv)
MCFG_NVRAM_ADD_1FILL("eeprom")
MCFG_DUART68681_ADD("duart68681", XTAL_3_6864MHz, duart_config)
@@ -1348,7 +1348,7 @@ static MACHINE_CONFIG_START( driver_nomsp, harddriv_state )
MCFG_SCREEN_RAW_PARAMS(HARDDRIV_GSP_CLOCK/12*4, 160*4, 0, 127*4, 417, 0, 384)
MCFG_SCREEN_UPDATE_STATIC(tms340x0_ind16)
- MCFG_VIDEO_START(harddriv)
+ MCFG_VIDEO_START_OVERRIDE(harddriv_state,harddriv)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hcastle.c b/src/mame/drivers/hcastle.c
index 9809955ae9c..6d5ae01a0ad 100644
--- a/src/mame/drivers/hcastle.c
+++ b/src/mame/drivers/hcastle.c
@@ -177,33 +177,31 @@ static const ym3812_interface ym3812_config =
irqhandler
};
-static MACHINE_START( hcastle )
+void hcastle_state::machine_start()
{
- hcastle_state *state = machine.driver_data<hcastle_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007121_1 = machine.device("k007121_1");
- state->m_k007121_2 = machine.device("k007121_2");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007121_1 = machine().device("k007121_1");
+ m_k007121_2 = machine().device("k007121_2");
- state->save_item(NAME(state->m_pf2_bankbase));
- state->save_item(NAME(state->m_pf1_bankbase));
- state->save_item(NAME(state->m_gfx_bank));
- state->save_item(NAME(state->m_old_pf1));
- state->save_item(NAME(state->m_old_pf2));
+ save_item(NAME(m_pf2_bankbase));
+ save_item(NAME(m_pf1_bankbase));
+ save_item(NAME(m_gfx_bank));
+ save_item(NAME(m_old_pf1));
+ save_item(NAME(m_old_pf2));
}
-static MACHINE_RESET( hcastle )
+void hcastle_state::machine_reset()
{
- hcastle_state *state = machine.driver_data<hcastle_state>();
- state->m_pf2_bankbase = 0;
- state->m_pf1_bankbase = 0;
- state->m_gfx_bank = 0;
- state->m_old_pf1 = -1;
- state->m_old_pf2 = -1;
+ m_pf2_bankbase = 0;
+ m_pf1_bankbase = 0;
+ m_gfx_bank = 0;
+ m_old_pf1 = -1;
+ m_old_pf2 = -1;
}
static MACHINE_CONFIG_START( hcastle, hcastle_state )
@@ -216,8 +214,6 @@ static MACHINE_CONFIG_START( hcastle, hcastle_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(hcastle)
- MCFG_MACHINE_RESET(hcastle)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -233,8 +229,6 @@ static MACHINE_CONFIG_START( hcastle, hcastle_state )
MCFG_GFXDECODE(hcastle)
MCFG_PALETTE_LENGTH(2*8*16*16)
- MCFG_PALETTE_INIT(hcastle)
- MCFG_VIDEO_START(hcastle)
MCFG_K007121_ADD("k007121_1")
MCFG_K007121_ADD("k007121_2")
diff --git a/src/mame/drivers/hexion.c b/src/mame/drivers/hexion.c
index 51378c36484..68a9ed92a10 100644
--- a/src/mame/drivers/hexion.c
+++ b/src/mame/drivers/hexion.c
@@ -241,7 +241,6 @@ static MACHINE_CONFIG_START( hexion, hexion_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(hexion)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/higemaru.c b/src/mame/drivers/higemaru.c
index 3622faac680..5a6402102b0 100644
--- a/src/mame/drivers/higemaru.c
+++ b/src/mame/drivers/higemaru.c
@@ -175,8 +175,6 @@ static MACHINE_CONFIG_START( higemaru, higemaru_state )
MCFG_GFXDECODE(higemaru)
MCFG_PALETTE_LENGTH(32*4+16*16)
- MCFG_PALETTE_INIT(higemaru)
- MCFG_VIDEO_START(higemaru)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/highvdeo.c b/src/mame/drivers/highvdeo.c
index 2438d4516fb..61eb4f9103b 100644
--- a/src/mame/drivers/highvdeo.c
+++ b/src/mame/drivers/highvdeo.c
@@ -124,12 +124,13 @@ public:
DECLARE_WRITE16_MEMBER(tv_ncf_oki6376_st_w);
DECLARE_DRIVER_INIT(fashion);
DECLARE_DRIVER_INIT(ciclone);
+ DECLARE_VIDEO_START(tourvisn);
};
-static VIDEO_START(tourvisn)
+VIDEO_START_MEMBER(highvdeo_state,tourvisn)
{
}
@@ -941,7 +942,7 @@ static MACHINE_CONFIG_START( tv_vcf, highvdeo_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(tourvisn)
+ MCFG_VIDEO_START_OVERRIDE(highvdeo_state,tourvisn)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1007,7 +1008,7 @@ static MACHINE_CONFIG_START( brasil, highvdeo_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(tourvisn)
+ MCFG_VIDEO_START_OVERRIDE(highvdeo_state,tourvisn)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/hikaru.c b/src/mame/drivers/hikaru.c
index e12c189c590..ed7121ded5d 100644
--- a/src/mame/drivers/hikaru.c
+++ b/src/mame/drivers/hikaru.c
@@ -393,9 +393,10 @@ public:
hikaru_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
{ }
+ virtual void video_start();
};
-static VIDEO_START(hikaru)
+void hikaru_state::video_start()
{
}
@@ -488,8 +489,8 @@ static MACHINE_CONFIG_START( hikaru, hikaru_state )
MCFG_CPU_ADD("slave", SH4LE, CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(hikaru_map_slave)
-// MCFG_MACHINE_START( hikaru )
-// MCFG_MACHINE_RESET( hikaru )
+// MCFG_MACHINE_START_OVERRIDE(hikaru_state, hikaru )
+// MCFG_MACHINE_RESET_OVERRIDE(hikaru_state, hikaru )
// MCFG_NVRAM_HANDLER(hikaru_eeproms)
@@ -503,7 +504,6 @@ static MACHINE_CONFIG_START( hikaru, hikaru_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(hikaru)
// MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
// MCFG_SOUND_ADD("aica", AICA, 0)
diff --git a/src/mame/drivers/himesiki.c b/src/mame/drivers/himesiki.c
index 7ab83739c30..1151536f79c 100644
--- a/src/mame/drivers/himesiki.c
+++ b/src/mame/drivers/himesiki.c
@@ -266,26 +266,24 @@ static GFXDECODE_START( himesiki )
GFXDECODE_END
-static MACHINE_START( himesiki )
+void himesiki_state::machine_start()
{
- himesiki_state *state = machine.driver_data<himesiki_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_scrollx));
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( himesiki )
+void himesiki_state::machine_reset()
{
- himesiki_state *state = machine.driver_data<himesiki_state>();
- state->m_scrollx[0] = 0;
- state->m_scrollx[1] = 0;
- state->m_flipscreen = 0;
+ m_scrollx[0] = 0;
+ m_scrollx[1] = 0;
+ m_flipscreen = 0;
}
static MACHINE_CONFIG_START( himesiki, himesiki_state )
@@ -300,8 +298,6 @@ static MACHINE_CONFIG_START( himesiki, himesiki_state )
MCFG_CPU_PROGRAM_MAP(himesiki_prm1)
MCFG_CPU_IO_MAP(himesiki_iom1)
- MCFG_MACHINE_START(himesiki)
- MCFG_MACHINE_RESET(himesiki)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -314,7 +310,6 @@ static MACHINE_CONFIG_START( himesiki, himesiki_state )
MCFG_GFXDECODE(himesiki)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(himesiki)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/hitme.c b/src/mame/drivers/hitme.c
index 9e05d8785c8..8404cadf89a 100644
--- a/src/mame/drivers/hitme.c
+++ b/src/mame/drivers/hitme.c
@@ -53,17 +53,15 @@ WRITE8_MEMBER(hitme_state::hitme_vidram_w)
*
*************************************/
-static VIDEO_START( hitme )
+void hitme_state::video_start()
{
- hitme_state *state = machine.driver_data<hitme_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hitme_state::get_hitme_tile_info),state), TILEMAP_SCAN_ROWS, 8, 10, 40, 19);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hitme_state::get_hitme_tile_info),this), TILEMAP_SCAN_ROWS, 8, 10, 40, 19);
}
-static VIDEO_START( barricad )
+VIDEO_START_MEMBER(hitme_state,barricad)
{
- hitme_state *state = machine.driver_data<hitme_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hitme_state::get_hitme_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 24);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hitme_state::get_hitme_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 24);
}
@@ -304,15 +302,14 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( hitme )
+void hitme_state::machine_start()
{
}
-static MACHINE_RESET( hitme )
+void hitme_state::machine_reset()
{
- hitme_state *state = machine.driver_data<hitme_state>();
- state->m_timeout_time = attotime::zero;
+ m_timeout_time = attotime::zero;
}
static MACHINE_CONFIG_START( hitme, hitme_state )
@@ -322,8 +319,6 @@ static MACHINE_CONFIG_START( hitme, hitme_state )
MCFG_CPU_PROGRAM_MAP(hitme_map)
MCFG_CPU_IO_MAP(hitme_portmap)
- MCFG_MACHINE_START(hitme)
- MCFG_MACHINE_RESET(hitme)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -337,7 +332,6 @@ static MACHINE_CONFIG_START( hitme, hitme_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(hitme)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -365,7 +359,7 @@ static MACHINE_CONFIG_DERIVED( barricad, hitme )
MCFG_GFXDECODE(barricad)
- MCFG_VIDEO_START(barricad)
+ MCFG_VIDEO_START_OVERRIDE(hitme_state,barricad)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hitpoker.c b/src/mame/drivers/hitpoker.c
index d7ed6198a3e..37f43670589 100644
--- a/src/mame/drivers/hitpoker.c
+++ b/src/mame/drivers/hitpoker.c
@@ -80,17 +80,17 @@ public:
DECLARE_WRITE8_MEMBER(hitpoker_pic_w);
DECLARE_READ8_MEMBER(test_r);
DECLARE_DRIVER_INIT(hitpoker);
+ virtual void video_start();
};
#define CRTC_CLOCK XTAL_3_579545MHz
-static VIDEO_START(hitpoker)
+void hitpoker_state::video_start()
{
- hitpoker_state *state = machine.driver_data<hitpoker_state>();
- state->m_videoram = auto_alloc_array(machine, UINT8, 0x35ff);
- state->m_paletteram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_colorram = auto_alloc_array(machine, UINT8, 0x2000);
+ m_videoram = auto_alloc_array(machine(), UINT8, 0x35ff);
+ m_paletteram = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_colorram = auto_alloc_array(machine(), UINT8, 0x2000);
}
static SCREEN_UPDATE_IND16(hitpoker)
@@ -512,7 +512,6 @@ static MACHINE_CONFIG_START( hitpoker, hitpoker_state )
MCFG_GFXDECODE(hitpoker)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(hitpoker)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/hnayayoi.c b/src/mame/drivers/hnayayoi.c
index c2372280a1b..b85d0a85bf0 100644
--- a/src/mame/drivers/hnayayoi.c
+++ b/src/mame/drivers/hnayayoi.c
@@ -530,29 +530,27 @@ static const msm5205_interface msm5205_config =
-static MACHINE_START( hnayayoi )
+void hnayayoi_state::machine_start()
{
- hnayayoi_state *state = machine.driver_data<hnayayoi_state>();
- state->save_item(NAME(state->m_palbank));
- state->save_item(NAME(state->m_blit_layer));
- state->save_item(NAME(state->m_blit_dest));
- state->save_item(NAME(state->m_blit_src));
- state->save_item(NAME(state->m_keyb));
+ save_item(NAME(m_palbank));
+ save_item(NAME(m_blit_layer));
+ save_item(NAME(m_blit_dest));
+ save_item(NAME(m_blit_src));
+ save_item(NAME(m_keyb));
}
-static MACHINE_RESET( hnayayoi )
+void hnayayoi_state::machine_reset()
{
- hnayayoi_state *state = machine.driver_data<hnayayoi_state>();
/* start with the MSM5205 reset */
- msm5205_reset_w(machine.device("msm"), 1);
+ msm5205_reset_w(machine().device("msm"), 1);
- state->m_palbank = 0;
- state->m_blit_layer = 0;
- state->m_blit_dest = 0;
- state->m_blit_src = 0;
- state->m_keyb = 0;
+ m_palbank = 0;
+ m_blit_layer = 0;
+ m_blit_dest = 0;
+ m_blit_src = 0;
+ m_keyb = 0;
}
@@ -565,8 +563,6 @@ static MACHINE_CONFIG_START( hnayayoi, hnayayoi_state )
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 8000)
- MCFG_MACHINE_START(hnayayoi)
- MCFG_MACHINE_RESET(hnayayoi)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -581,7 +577,6 @@ static MACHINE_CONFIG_START( hnayayoi, hnayayoi_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(hnayayoi)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -608,7 +603,7 @@ static MACHINE_CONFIG_DERIVED( untoucha, hnayayoi )
MCFG_CPU_PROGRAM_MAP(untoucha_map)
MCFG_CPU_IO_MAP(untoucha_io_map)
- MCFG_VIDEO_START(untoucha)
+ MCFG_VIDEO_START_OVERRIDE(hnayayoi_state,untoucha)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hng64.c b/src/mame/drivers/hng64.c
index b2c210a5a68..9a900d659bf 100644
--- a/src/mame/drivers/hng64.c
+++ b/src/mame/drivers/hng64.c
@@ -1772,54 +1772,52 @@ static TIMER_DEVICE_CALLBACK( hng64_irq )
}
-static MACHINE_START(hyperneo)
+void hng64_state::machine_start()
{
- hng64_state *state = machine.driver_data<hng64_state>();
/* set the fastest DRC options */
- mips3drc_set_options(machine.device("maincpu"), MIPS3DRC_FASTEST_OPTIONS + MIPS3DRC_STRICT_VERIFY);
+ mips3drc_set_options(machine().device("maincpu"), MIPS3DRC_FASTEST_OPTIONS + MIPS3DRC_STRICT_VERIFY);
/* configure fast RAM regions for DRC */
- mips3drc_add_fastram(machine.device("maincpu"), 0x00000000, 0x00ffffff, FALSE, state->m_mainram);
- mips3drc_add_fastram(machine.device("maincpu"), 0x04000000, 0x05ffffff, TRUE, state->m_cart);
- mips3drc_add_fastram(machine.device("maincpu"), 0x1fc00000, 0x1fc7ffff, TRUE, state->m_rombase);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x00000000, 0x00ffffff, FALSE, m_mainram);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x04000000, 0x05ffffff, TRUE, m_cart);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x1fc00000, 0x1fc7ffff, TRUE, m_rombase);
}
-static MACHINE_RESET(hyperneo)
+void hng64_state::machine_reset()
{
- hng64_state *state = machine.driver_data<hng64_state>();
int i;
- const UINT8 *rom = state->memregion("user2")->base();
+ const UINT8 *rom = memregion("user2")->base();
/* Sound CPU */
- UINT8 *RAM = (UINT8*)state->m_soundram;
- state->membank("bank1")->set_base(&RAM[0x1f0000]); // allows us to boot
- state->membank("bank2")->set_base(&RAM[0x1f0000]); // seems to be the right default for most games (initial area jumps to a DI here)
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ UINT8 *RAM = (UINT8*)m_soundram;
+ membank("bank1")->set_base(&RAM[0x1f0000]); // allows us to boot
+ membank("bank2")->set_base(&RAM[0x1f0000]); // seems to be the right default for most games (initial area jumps to a DI here)
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
/* Comm CPU */
- KL5C80_init(state);
+ KL5C80_init(this);
/* Fill up virtual memory with ROM */
for (i = 0x0; i < 0x100000; i++)
- state->m_com_virtual_mem[i] = rom[i];
+ m_com_virtual_mem[i] = rom[i];
- KL5C80_virtual_mem_sync(state);
+ KL5C80_virtual_mem_sync(this);
- address_space *space = machine.device<z80_device>("comm")->space(AS_PROGRAM);
- space->set_direct_update_handler(direct_update_delegate(FUNC(hng64_state::KL5C80_direct_handler), state));
+ address_space *space = machine().device<z80_device>("comm")->space(AS_PROGRAM);
+ space->set_direct_update_handler(direct_update_delegate(FUNC(hng64_state::KL5C80_direct_handler), this));
- machine.device("comm")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE); // reset the CPU and let 'er rip
-// machine.device("comm")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE); // hold on there pardner...
+ machine().device("comm")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE); // reset the CPU and let 'er rip
+// machine().device("comm")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE); // hold on there pardner...
// "Display List" init - ugly
- state->m_activeBuffer = 0;
+ m_activeBuffer = 0;
/* For simulate MCU stepping */
- state->m_mcu_fake_time = 0;
- state->m_mcu_en = 0;
+ m_mcu_fake_time = 0;
+ m_mcu_en = 0;
}
@@ -1848,8 +1846,6 @@ static MACHINE_CONFIG_START( hng64, hng64_state )
MCFG_MSM6242_ADD("rtc", hng64_rtc_intf)
MCFG_GFXDECODE(hng64)
- MCFG_MACHINE_START(hyperneo)
- MCFG_MACHINE_RESET(hyperneo)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
@@ -1857,7 +1853,6 @@ static MACHINE_CONFIG_START( hng64, hng64_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(hng64)
MCFG_SCREEN_VBLANK_STATIC(hng64)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/holeland.c b/src/mame/drivers/holeland.c
index 5af99b46e41..67bc9385629 100644
--- a/src/mame/drivers/holeland.c
+++ b/src/mame/drivers/holeland.c
@@ -294,7 +294,7 @@ static MACHINE_CONFIG_START( holeland, holeland_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(holeland)
+ MCFG_VIDEO_START_OVERRIDE(holeland_state,holeland)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -363,8 +363,7 @@ static MACHINE_CONFIG_START( crzrally, holeland_state )
MCFG_GFXDECODE(crzrally)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(crzrally)
+ MCFG_VIDEO_START_OVERRIDE(holeland_state,crzrally)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c
index de8991445d4..7df2f96a32d 100644
--- a/src/mame/drivers/homedata.c
+++ b/src/mame/drivers/homedata.c
@@ -1140,111 +1140,105 @@ static const sn76496_config psg_intf =
};
-static MACHINE_START( homedata )
+MACHINE_START_MEMBER(homedata_state,homedata)
{
- homedata_state *state = machine.driver_data<homedata_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_ym = machine.device("ymsnd");
- state->m_sn = machine.device<sn76489a_new_device>("snsnd");
- state->m_dac = machine.device<dac_device>("dac");
-
- state->save_item(NAME(state->m_visible_page));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_blitter_bank));
- state->save_item(NAME(state->m_blitter_param_count));
- state->save_item(NAME(state->m_blitter_param));
- state->save_item(NAME(state->m_vblank));
- state->save_item(NAME(state->m_sndbank));
- state->save_item(NAME(state->m_keyb));
- state->save_item(NAME(state->m_snd_command));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_ym = machine().device("ymsnd");
+ m_sn = machine().device<sn76489a_new_device>("snsnd");
+ m_dac = machine().device<dac_device>("dac");
+
+ save_item(NAME(m_visible_page));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_blitter_bank));
+ save_item(NAME(m_blitter_param_count));
+ save_item(NAME(m_blitter_param));
+ save_item(NAME(m_vblank));
+ save_item(NAME(m_sndbank));
+ save_item(NAME(m_keyb));
+ save_item(NAME(m_snd_command));
}
-static MACHINE_START( reikaids )
+MACHINE_START_MEMBER(homedata_state,reikaids)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 8, &ROM[0xc000], 0x4000);
- state->membank("bank2")->configure_entries(0, 4, state->memregion("audiocpu")->base(), 0x10000);
+ membank("bank1")->configure_entries(0, 8, &ROM[0xc000], 0x4000);
+ membank("bank2")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x10000);
- MACHINE_START_CALL(homedata);
+ MACHINE_START_CALL_MEMBER(homedata);
- state->save_item(NAME(state->m_upd7807_porta));
- state->save_item(NAME(state->m_upd7807_portc));
+ save_item(NAME(m_upd7807_porta));
+ save_item(NAME(m_upd7807_portc));
- state->save_item(NAME(state->m_reikaids_which));
- state->save_item(NAME(state->m_gfx_bank));
+ save_item(NAME(m_reikaids_which));
+ save_item(NAME(m_gfx_bank));
}
-static MACHINE_START( pteacher )
+MACHINE_START_MEMBER(homedata_state,pteacher)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
- state->membank("bank2")->configure_entries(0, 4, state->memregion("audiocpu")->base(), 0x10000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
+ membank("bank2")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x10000);
- MACHINE_START_CALL(homedata);
+ MACHINE_START_CALL_MEMBER(homedata);
- state->save_item(NAME(state->m_upd7807_porta));
- state->save_item(NAME(state->m_upd7807_portc));
+ save_item(NAME(m_upd7807_porta));
+ save_item(NAME(m_upd7807_portc));
- state->save_item(NAME(state->m_gfx_bank));
- state->save_item(NAME(state->m_to_cpu));
- state->save_item(NAME(state->m_from_cpu));
+ save_item(NAME(m_gfx_bank));
+ save_item(NAME(m_to_cpu));
+ save_item(NAME(m_from_cpu));
}
-static MACHINE_RESET( homedata )
+MACHINE_RESET_MEMBER(homedata_state,homedata)
{
- homedata_state *state = machine.driver_data<homedata_state>();
-
- state->m_visible_page = 0;
- state->m_flipscreen = 0;
- state->m_blitter_bank = 0;
- state->m_blitter_param_count = 0;
- state->m_blitter_param[0] = 0;
- state->m_blitter_param[1] = 0;
- state->m_blitter_param[2] = 0;
- state->m_blitter_param[3] = 0;
- state->m_vblank = 0;
- state->m_sndbank = 0;
- state->m_keyb = 0;
- state->m_snd_command = 0;
+
+ m_visible_page = 0;
+ m_flipscreen = 0;
+ m_blitter_bank = 0;
+ m_blitter_param_count = 0;
+ m_blitter_param[0] = 0;
+ m_blitter_param[1] = 0;
+ m_blitter_param[2] = 0;
+ m_blitter_param[3] = 0;
+ m_vblank = 0;
+ m_sndbank = 0;
+ m_keyb = 0;
+ m_snd_command = 0;
}
-static MACHINE_RESET( pteacher )
+MACHINE_RESET_MEMBER(homedata_state,pteacher)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* on reset, ports are set as input (high impedance), therefore 0xff output */
- state->pteacher_upd7807_portc_w(*space, 0, 0xff);
+ pteacher_upd7807_portc_w(*space, 0, 0xff);
- MACHINE_RESET_CALL(homedata);
+ MACHINE_RESET_CALL_MEMBER(homedata);
- state->m_upd7807_porta = 0;
- state->m_gfx_bank[0] = 0;
- state->m_gfx_bank[1] = 0;
- state->m_to_cpu = 0;
- state->m_from_cpu = 0;
+ m_upd7807_porta = 0;
+ m_gfx_bank[0] = 0;
+ m_gfx_bank[1] = 0;
+ m_to_cpu = 0;
+ m_from_cpu = 0;
}
-static MACHINE_RESET( reikaids )
+MACHINE_RESET_MEMBER(homedata_state,reikaids)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* on reset, ports are set as input (high impedance), therefore 0xff output */
- state->reikaids_upd7807_portc_w(*space, 0, 0xff);
+ reikaids_upd7807_portc_w(*space, 0, 0xff);
- MACHINE_RESET_CALL(homedata);
+ MACHINE_RESET_CALL_MEMBER(homedata);
- state->m_reikaids_which = state->m_priority; // state->m_priority is set in DRIVER_INIT
- state->m_upd7807_porta = 0;
- state->m_gfx_bank[0] = 0;
- state->m_gfx_bank[1] = 0; // this is not used by reikaids
+ m_reikaids_which = m_priority; // m_priority is set in DRIVER_INIT
+ m_upd7807_porta = 0;
+ m_gfx_bank[0] = 0;
+ m_gfx_bank[1] = 0; // this is not used by reikaids
}
static MACHINE_CONFIG_START( mrokumei, homedata_state )
@@ -1258,8 +1252,8 @@ static MACHINE_CONFIG_START( mrokumei, homedata_state )
MCFG_CPU_PROGRAM_MAP(mrokumei_sound_map)
MCFG_CPU_IO_MAP(mrokumei_sound_io_map)
- MCFG_MACHINE_START(homedata)
- MCFG_MACHINE_RESET(homedata)
+ MCFG_MACHINE_START_OVERRIDE(homedata_state,homedata)
+ MCFG_MACHINE_RESET_OVERRIDE(homedata_state,homedata)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1274,8 +1268,8 @@ static MACHINE_CONFIG_START( mrokumei, homedata_state )
MCFG_GFXDECODE(mrokumei)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(mrokumei)
- MCFG_VIDEO_START(mrokumei)
+ MCFG_PALETTE_INIT_OVERRIDE(homedata_state,mrokumei)
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,mrokumei)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1328,8 +1322,8 @@ static MACHINE_CONFIG_START( reikaids, homedata_state )
MCFG_QUANTUM_TIME(attotime::from_hz(30000)) // very high interleave required to sync for startup tests
- MCFG_MACHINE_START(reikaids)
- MCFG_MACHINE_RESET(reikaids)
+ MCFG_MACHINE_START_OVERRIDE(homedata_state,reikaids)
+ MCFG_MACHINE_RESET_OVERRIDE(homedata_state,reikaids)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1343,8 +1337,8 @@ static MACHINE_CONFIG_START( reikaids, homedata_state )
MCFG_GFXDECODE(reikaids)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(reikaids)
- MCFG_VIDEO_START(reikaids)
+ MCFG_PALETTE_INIT_OVERRIDE(homedata_state,reikaids)
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,reikaids)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1378,8 +1372,8 @@ static MACHINE_CONFIG_START( pteacher, homedata_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // should be enough
- MCFG_MACHINE_START(pteacher)
- MCFG_MACHINE_RESET(pteacher)
+ MCFG_MACHINE_START_OVERRIDE(homedata_state,pteacher)
+ MCFG_MACHINE_RESET_OVERRIDE(homedata_state,pteacher)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1394,8 +1388,8 @@ static MACHINE_CONFIG_START( pteacher, homedata_state )
MCFG_GFXDECODE(pteacher)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(pteacher)
- MCFG_VIDEO_START(pteacher)
+ MCFG_PALETTE_INIT_OVERRIDE(homedata_state,pteacher)
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,pteacher)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1419,7 +1413,7 @@ static MACHINE_CONFIG_DERIVED( lemnangl, pteacher )
/* video hardware */
MCFG_GFXDECODE(lemnangl)
- MCFG_VIDEO_START(lemnangl)
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,lemnangl)
MACHINE_CONFIG_END
static INPUT_PORTS_START( mirderby )
@@ -1557,8 +1551,8 @@ static MACHINE_CONFIG_START( mirderby, homedata_state )
MCFG_GFXDECODE(mirderby)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_PALETTE_INIT(mirderby)
- MCFG_VIDEO_START(mirderby)
+ MCFG_PALETTE_INIT_OVERRIDE(homedata_state,mirderby)
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,mirderby)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/homerun.c b/src/mame/drivers/homerun.c
index d9c27ed7030..e1d28be7a45 100644
--- a/src/mame/drivers/homerun.c
+++ b/src/mame/drivers/homerun.c
@@ -356,34 +356,32 @@ static const ym2203_interface ym2203_config =
/**************************************************************************/
-static MACHINE_START( homerun )
+void homerun_state::machine_start()
{
- homerun_state *state = machine.driver_data<homerun_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
-
- state->membank("bank1")->configure_entry(0, &ROM[0x00000]);
- state->membank("bank1")->configure_entries(1, 7, &ROM[0x10000], 0x4000);
-
- state->save_item(NAME(state->m_control));
- state->save_item(NAME(state->m_sample));
- state->save_item(NAME(state->m_gfx_ctrl));
- state->save_item(NAME(state->m_gc_up));
- state->save_item(NAME(state->m_gc_down));
- state->save_item(NAME(state->m_scrolly));
- state->save_item(NAME(state->m_scrollx));
+ UINT8 *ROM = memregion("maincpu")->base();
+
+ membank("bank1")->configure_entry(0, &ROM[0x00000]);
+ membank("bank1")->configure_entries(1, 7, &ROM[0x10000], 0x4000);
+
+ save_item(NAME(m_control));
+ save_item(NAME(m_sample));
+ save_item(NAME(m_gfx_ctrl));
+ save_item(NAME(m_gc_up));
+ save_item(NAME(m_gc_down));
+ save_item(NAME(m_scrolly));
+ save_item(NAME(m_scrollx));
}
-static MACHINE_RESET( homerun )
+void homerun_state::machine_reset()
{
- homerun_state *state = machine.driver_data<homerun_state>();
-
- state->m_control = 0;
- state->m_sample = 0;
- state->m_gfx_ctrl = 0;
- state->m_gc_up = 0;
- state->m_gc_down = 0;
- state->m_scrolly = 0;
- state->m_scrollx = 0;
+
+ m_control = 0;
+ m_sample = 0;
+ m_gfx_ctrl = 0;
+ m_gc_up = 0;
+ m_gc_down = 0;
+ m_scrolly = 0;
+ m_scrollx = 0;
}
/**************************************************************************/
@@ -396,8 +394,6 @@ static MACHINE_CONFIG_START( dynashot, homerun_state )
MCFG_CPU_IO_MAP(homerun_iomap)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(homerun)
- MCFG_MACHINE_RESET(homerun)
MCFG_I8255A_ADD( "ppi8255", ppi8255_intf )
@@ -412,7 +408,6 @@ static MACHINE_CONFIG_START( dynashot, homerun_state )
MCFG_GFXDECODE(homerun)
MCFG_PALETTE_LENGTH(16*4)
- MCFG_VIDEO_START(homerun)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c
index 133bd0305cb..993154ba896 100644
--- a/src/mame/drivers/hornet.c
+++ b/src/mame/drivers/hornet.c
@@ -366,6 +366,9 @@ public:
DECLARE_WRITE32_MEMBER(dsp_dataram1_w);
DECLARE_DRIVER_INIT(hornet);
DECLARE_DRIVER_INIT(hornet_2board);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_MACHINE_RESET(hornet_2board);
};
@@ -879,40 +882,39 @@ static const sharc_config sharc_cfg =
*/
static TIMER_CALLBACK( irq_off );
-static MACHINE_START( hornet )
+void hornet_state::machine_start()
{
- hornet_state *state = machine.driver_data<hornet_state>();
- state->m_jvs_sdata_ptr = 0;
- state->m_jvs_sdata = auto_alloc_array_clear(machine, UINT8, 1024);
+ m_jvs_sdata_ptr = 0;
+ m_jvs_sdata = auto_alloc_array_clear(machine(), UINT8, 1024);
/* set conservative DRC options */
- ppcdrc_set_options(machine.device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
+ ppcdrc_set_options(machine().device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
/* configure fast RAM regions for DRC */
- ppcdrc_add_fastram(machine.device("maincpu"), 0x00000000, 0x003fffff, FALSE, state->m_workram);
+ ppcdrc_add_fastram(machine().device("maincpu"), 0x00000000, 0x003fffff, FALSE, m_workram);
- state_save_register_global(machine, state->m_led_reg0);
- state_save_register_global(machine, state->m_led_reg1);
- state_save_register_global_pointer(machine, state->m_jvs_sdata, 1024);
- state_save_register_global(machine, state->m_jvs_sdata_ptr);
+ state_save_register_global(machine(), m_led_reg0);
+ state_save_register_global(machine(), m_led_reg1);
+ state_save_register_global_pointer(machine(), m_jvs_sdata, 1024);
+ state_save_register_global(machine(), m_jvs_sdata_ptr);
- state->m_sound_irq_timer = machine.scheduler().timer_alloc(FUNC(irq_off));
+ m_sound_irq_timer = machine().scheduler().timer_alloc(FUNC(irq_off));
}
-static MACHINE_RESET( hornet )
+void hornet_state::machine_reset()
{
- UINT8 *usr3 = machine.root_device().memregion("user3")->base();
- UINT8 *usr5 = machine.root_device().memregion("user5")->base();
+ UINT8 *usr3 = machine().root_device().memregion("user3")->base();
+ UINT8 *usr5 = machine().root_device().memregion("user5")->base();
if (usr3 != NULL)
{
- machine.root_device().membank("bank1")->configure_entries(0, machine.root_device().memregion("user3")->bytes() / 0x10000, usr3, 0x10000);
- machine.root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank1")->configure_entries(0, machine().root_device().memregion("user3")->bytes() / 0x10000, usr3, 0x10000);
+ machine().root_device().membank("bank1")->set_entry(0);
}
- machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
if (usr5)
- machine.root_device().membank("bank5")->set_base(usr5);
+ machine().root_device().membank("bank5")->set_base(usr5);
}
static double adc12138_input_callback( device_t *device, UINT8 input )
@@ -1002,8 +1004,6 @@ static MACHINE_CONFIG_START( hornet, hornet_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START( hornet )
- MCFG_MACHINE_RESET( hornet )
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -1036,23 +1036,23 @@ static MACHINE_CONFIG_START( hornet, hornet_state )
MACHINE_CONFIG_END
-static MACHINE_RESET( hornet_2board )
+MACHINE_RESET_MEMBER(hornet_state,hornet_2board)
{
- UINT8 *usr3 = machine.root_device().memregion("user3")->base();
- UINT8 *usr5 = machine.root_device().memregion("user5")->base();
+ UINT8 *usr3 = machine().root_device().memregion("user3")->base();
+ UINT8 *usr5 = machine().root_device().memregion("user5")->base();
if (usr3 != NULL)
{
- machine.root_device().membank("bank1")->configure_entries(0, machine.root_device().memregion("user3")->bytes() / 0x10000, usr3, 0x10000);
- machine.root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank1")->configure_entries(0, machine().root_device().memregion("user3")->bytes() / 0x10000, usr3, 0x10000);
+ machine().root_device().membank("bank1")->set_entry(0);
}
- machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
if (usr5)
{
- machine.root_device().membank("bank5")->set_base(usr5);
- machine.root_device().membank("bank6")->set_base(usr5);
+ machine().root_device().membank("bank5")->set_base(usr5);
+ machine().root_device().membank("bank6")->set_base(usr5);
}
}
@@ -1084,7 +1084,7 @@ static MACHINE_CONFIG_DERIVED( hornet_2board, hornet )
MCFG_CPU_CONFIG(sharc_cfg)
MCFG_CPU_DATA_MAP(sharc1_map)
- MCFG_MACHINE_RESET(hornet_2board)
+ MCFG_MACHINE_RESET_OVERRIDE(hornet_state,hornet_2board)
MCFG_DEVICE_REMOVE("k037122_1")
diff --git a/src/mame/drivers/hotblock.c b/src/mame/drivers/hotblock.c
index 75588841f66..b3bf31f11b0 100644
--- a/src/mame/drivers/hotblock.c
+++ b/src/mame/drivers/hotblock.c
@@ -66,6 +66,7 @@ public:
DECLARE_WRITE8_MEMBER(hotblock_port4_w);
DECLARE_WRITE8_MEMBER(hotblock_port0_w);
DECLARE_WRITE8_MEMBER(hotblock_video_write);
+ virtual void video_start();
};
@@ -136,10 +137,9 @@ ADDRESS_MAP_END
-static VIDEO_START(hotblock)
+void hotblock_state::video_start()
{
- hotblock_state *state = machine.driver_data<hotblock_state>();
- state->save_item(NAME(state->m_pal));
+ save_item(NAME(m_pal));
}
static SCREEN_UPDATE_IND16(hotblock)
@@ -229,7 +229,6 @@ static MACHINE_CONFIG_START( hotblock, hotblock_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(hotblock)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/hotstuff.c b/src/mame/drivers/hotstuff.c
index 4617c32bf54..d98328384f5 100644
--- a/src/mame/drivers/hotstuff.c
+++ b/src/mame/drivers/hotstuff.c
@@ -20,10 +20,11 @@ public:
DECLARE_READ8_MEMBER(ioboard_unk_r);
DECLARE_WRITE8_MEMBER(ioboard_data_w);
DECLARE_WRITE8_MEMBER(ioboard_reg_w);
+ virtual void video_start();
};
-VIDEO_START( hotstuff )
+void hotstuff_state::video_start()
{
}
@@ -136,7 +137,6 @@ static MACHINE_CONFIG_START( hotstuff, hotstuff_state )
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START(hotstuff)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 778ad4e5918..3fc29a92769 100644
--- a/src/mame/drivers/hvyunit.c
+++ b/src/mame/drivers/hvyunit.c
@@ -123,6 +123,9 @@ public:
DECLARE_READ8_MEMBER(mermaid_p3_r);
DECLARE_WRITE8_MEMBER(mermaid_p3_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -132,26 +135,24 @@ public:
*
*************************************/
-static MACHINE_START( hvyunit )
+void hvyunit_state::machine_start()
{
- hvyunit_state *state = machine.driver_data<hvyunit_state>();
- state->m_master_cpu = machine.device("master");
- state->m_slave_cpu = machine.device("slave");
- state->m_sound_cpu = machine.device("soundcpu");
- state->m_mermaid = machine.device("mermaid");
- state->m_pandora = machine.device("pandora");
+ m_master_cpu = machine().device("master");
+ m_slave_cpu = machine().device("slave");
+ m_sound_cpu = machine().device("soundcpu");
+ m_mermaid = machine().device("mermaid");
+ m_pandora = machine().device("pandora");
// TODO: Save state
}
-static MACHINE_RESET( hvyunit )
+void hvyunit_state::machine_reset()
{
- hvyunit_state *state = machine.driver_data<hvyunit_state>();
- state->m_mermaid_int0_l = 1;
- state->m_mermaid_to_z80_full = 0;
- state->m_z80_to_mermaid_full = 0;
+ m_mermaid_int0_l = 1;
+ m_mermaid_to_z80_full = 0;
+ m_z80_to_mermaid_full = 0;
}
@@ -171,10 +172,9 @@ TILE_GET_INFO_MEMBER(hvyunit_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-static VIDEO_START( hvyunit )
+void hvyunit_state::video_start()
{
- hvyunit_state *state = machine.driver_data<hvyunit_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hvyunit_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hvyunit_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
}
static SCREEN_UPDATE_IND16( hvyunit )
@@ -673,8 +673,6 @@ static MACHINE_CONFIG_START( hvyunit, hvyunit_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(hvyunit)
- MCFG_MACHINE_RESET(hvyunit)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
@@ -689,7 +687,6 @@ static MACHINE_CONFIG_START( hvyunit, hvyunit_state )
MCFG_KANEKO_PANDORA_ADD("pandora", hvyunit_pandora_config)
- MCFG_VIDEO_START(hvyunit)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/hyhoo.c b/src/mame/drivers/hyhoo.c
index 7b54c3beefa..5cfb2cc3897 100644
--- a/src/mame/drivers/hyhoo.c
+++ b/src/mame/drivers/hyhoo.c
@@ -257,7 +257,6 @@ static MACHINE_CONFIG_START( hyhoo, hyhoo_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
MCFG_SCREEN_UPDATE_STATIC(hyhoo)
- MCFG_VIDEO_START(hyhoo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/hyperspt.c b/src/mame/drivers/hyperspt.c
index 0844cba03d2..85e14208586 100644
--- a/src/mame/drivers/hyperspt.c
+++ b/src/mame/drivers/hyperspt.c
@@ -312,8 +312,6 @@ static MACHINE_CONFIG_START( hyperspt, hyperspt_state )
MCFG_GFXDECODE(hyperspt)
MCFG_PALETTE_LENGTH(16*16+16*16)
- MCFG_PALETTE_INIT(hyperspt)
- MCFG_VIDEO_START(hyperspt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -347,7 +345,7 @@ static MACHINE_CONFIG_DERIVED( roadf, hyperspt )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(roadf_map)
MCFG_GFXDECODE(roadf)
- MCFG_VIDEO_START(roadf)
+ MCFG_VIDEO_START_OVERRIDE(hyperspt_state,roadf)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hyprduel.c b/src/mame/drivers/hyprduel.c
index 3197a4fb50f..490feac9ce5 100644
--- a/src/mame/drivers/hyprduel.c
+++ b/src/mame/drivers/hyprduel.c
@@ -635,39 +635,36 @@ static const ym2151_interface ym2151_config =
Machine Drivers
***************************************************************************/
-static MACHINE_RESET( hyprduel )
+void hyprduel_state::machine_reset()
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
/* start with cpu2 halted */
- machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_subcpu_resetline = 1;
- state->m_cpu_trigger = 0;
+ machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_subcpu_resetline = 1;
+ m_cpu_trigger = 0;
- state->m_requested_int = 0x00;
- state->m_blitter_bit = 2;
- *state->m_irq_enable = 0xff;
+ m_requested_int = 0x00;
+ m_blitter_bit = 2;
+ *m_irq_enable = 0xff;
}
-static MACHINE_START( hyprduel )
+MACHINE_START_MEMBER(hyprduel_state,hyprduel)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_blitter_bit));
- state->save_item(NAME(state->m_requested_int));
- state->save_item(NAME(state->m_subcpu_resetline));
- state->save_item(NAME(state->m_cpu_trigger));
+ save_item(NAME(m_blitter_bit));
+ save_item(NAME(m_requested_int));
+ save_item(NAME(m_subcpu_resetline));
+ save_item(NAME(m_cpu_trigger));
}
-static MACHINE_START( magerror )
+MACHINE_START_MEMBER(hyprduel_state,magerror)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- MACHINE_START_CALL(hyprduel);
- state->m_magerror_irq_timer->adjust(attotime::zero, 0, attotime::from_hz(968)); /* tempo? */
+ MACHINE_START_CALL_MEMBER(hyprduel);
+ m_magerror_irq_timer->adjust(attotime::zero, 0, attotime::from_hz(968)); /* tempo? */
}
static MACHINE_CONFIG_START( hyprduel, hyprduel_state )
@@ -680,8 +677,7 @@ static MACHINE_CONFIG_START( hyprduel, hyprduel_state )
MCFG_CPU_ADD("sub", M68000,20000000/2) /* 10MHz */
MCFG_CPU_PROGRAM_MAP(hyprduel_map2)
- MCFG_MACHINE_START(hyprduel)
- MCFG_MACHINE_RESET(hyprduel)
+ MCFG_MACHINE_START_OVERRIDE(hyprduel_state,hyprduel)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
@@ -696,7 +692,7 @@ static MACHINE_CONFIG_START( hyprduel, hyprduel_state )
MCFG_GFXDECODE(14220)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(hyprduel_14220)
+ MCFG_VIDEO_START_OVERRIDE(hyprduel_state,hyprduel_14220)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -722,8 +718,7 @@ static MACHINE_CONFIG_START( magerror, hyprduel_state )
MCFG_CPU_ADD("sub", M68000,20000000/2) /* 10MHz */
MCFG_CPU_PROGRAM_MAP(magerror_map2)
- MCFG_MACHINE_START(magerror)
- MCFG_MACHINE_RESET(hyprduel)
+ MCFG_MACHINE_START_OVERRIDE(hyprduel_state,magerror)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
@@ -738,7 +733,7 @@ static MACHINE_CONFIG_START( magerror, hyprduel_state )
MCFG_GFXDECODE(14220)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(magerror_14220)
+ MCFG_VIDEO_START_OVERRIDE(hyprduel_state,magerror_14220)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/igs009.c b/src/mame/drivers/igs009.c
index c2ae72457e8..6180ad33491 100644
--- a/src/mame/drivers/igs009.c
+++ b/src/mame/drivers/igs009.c
@@ -86,6 +86,9 @@ public:
TILE_GET_INFO_MEMBER(get_jingbell_reel4_tile_info);
TILE_GET_INFO_MEMBER(get_gp98_reel4_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(gp98);
};
@@ -244,39 +247,37 @@ WRITE8_MEMBER(igs009_state::fg_color_w)
m_fg_tilemap->mark_tile_dirty(offset);
}
-static VIDEO_START(jingbell)
+void igs009_state::video_start()
{
- igs009_state *state = machine.driver_data<igs009_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_gp98_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
- state->m_gp98_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
- state->m_gp98_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
- state->m_gp98_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel4_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
+ m_gp98_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
+ m_gp98_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
+ m_gp98_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
+ m_gp98_reel4_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel4_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
- state->m_gp98_reel1_tilemap->set_scroll_cols(128);
- state->m_gp98_reel2_tilemap->set_scroll_cols(128);
- state->m_gp98_reel3_tilemap->set_scroll_cols(128);
- state->m_gp98_reel4_tilemap->set_scroll_cols(128);
+ m_gp98_reel1_tilemap->set_scroll_cols(128);
+ m_gp98_reel2_tilemap->set_scroll_cols(128);
+ m_gp98_reel3_tilemap->set_scroll_cols(128);
+ m_gp98_reel4_tilemap->set_scroll_cols(128);
}
-static VIDEO_START(gp98)
+VIDEO_START_MEMBER(igs009_state,gp98)
{
- igs009_state *state = machine.driver_data<igs009_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_gp98_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
- state->m_gp98_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
- state->m_gp98_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
- state->m_gp98_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel4_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
+ m_gp98_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
+ m_gp98_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
+ m_gp98_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
+ m_gp98_reel4_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel4_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 128, 8);
- state->m_gp98_reel1_tilemap->set_scroll_cols(128);
- state->m_gp98_reel2_tilemap->set_scroll_cols(128);
- state->m_gp98_reel3_tilemap->set_scroll_cols(128);
- state->m_gp98_reel4_tilemap->set_scroll_cols(128);
+ m_gp98_reel1_tilemap->set_scroll_cols(128);
+ m_gp98_reel2_tilemap->set_scroll_cols(128);
+ m_gp98_reel3_tilemap->set_scroll_cols(128);
+ m_gp98_reel4_tilemap->set_scroll_cols(128);
}
@@ -725,12 +726,11 @@ GFXDECODE_END
Machine Drivers
***************************************************************************/
-static MACHINE_RESET( jingbell )
+void igs009_state::machine_reset()
{
- igs009_state *state = machine.driver_data<igs009_state>();
- state->m_nmi_enable = 0;
- state->m_hopper = 0;
- state->m_video_enable = 1;
+ m_nmi_enable = 0;
+ m_hopper = 0;
+ m_video_enable = 1;
}
static INTERRUPT_GEN( jingbell_interrupt )
@@ -747,7 +747,6 @@ static MACHINE_CONFIG_START( jingbell, igs009_state )
MCFG_CPU_IO_MAP(jingbell_portmap)
MCFG_CPU_VBLANK_INT("screen",jingbell_interrupt)
- MCFG_MACHINE_RESET(jingbell)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -762,7 +761,6 @@ static MACHINE_CONFIG_START( jingbell, igs009_state )
MCFG_GFXDECODE(jingbell)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(jingbell)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -776,7 +774,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gp98, jingbell )
MCFG_GFXDECODE(gp98)
- MCFG_VIDEO_START(gp98)
+ MCFG_VIDEO_START_OVERRIDE(igs009_state,gp98)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/igs011.c b/src/mame/drivers/igs011.c
index f319d877688..b1091cd85df 100644
--- a/src/mame/drivers/igs011.c
+++ b/src/mame/drivers/igs011.c
@@ -195,6 +195,7 @@ public:
DECLARE_DRIVER_INIT(vbowl);
DECLARE_DRIVER_INIT(vbowlj);
DECLARE_DRIVER_INIT(ryukobou);
+ virtual void video_start();
};
@@ -230,17 +231,16 @@ WRITE16_MEMBER(igs011_state::igs011_priority_w)
}
-static VIDEO_START( igs011 )
+void igs011_state::video_start()
{
- igs011_state *state = machine.driver_data<igs011_state>();
int i;
for (i = 0; i < 8; i++)
{
- state->m_layer[i] = auto_alloc_array(machine, UINT8, 512 * 256);
+ m_layer[i] = auto_alloc_array(machine(), UINT8, 512 * 256);
}
- state->m_lhb2_pen_hi = 0;
+ m_lhb2_pen_hi = 0;
}
static SCREEN_UPDATE_IND16( igs011 )
@@ -3814,7 +3814,6 @@ static MACHINE_CONFIG_START( igs011_base, igs011_state )
MCFG_PALETTE_LENGTH(0x800)
// MCFG_GFXDECODE(igs011)
- MCFG_VIDEO_START( igs011 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c
index 0068669fd65..87504342119 100644
--- a/src/mame/drivers/igs017.c
+++ b/src/mame/drivers/igs017.c
@@ -150,6 +150,11 @@ public:
DECLARE_DRIVER_INIT(mgdha);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void video_reset();
+ DECLARE_MACHINE_RESET(iqblocka);
+ DECLARE_MACHINE_RESET(mgcs);
+ DECLARE_MACHINE_RESET(lhzb2a);
};
@@ -171,10 +176,9 @@ WRITE16_MEMBER(igs017_state::video_disable_lsb_w)
video_disable_w(space,offset,data);
}
-static VIDEO_RESET( igs017 )
+void igs017_state::video_reset()
{
- igs017_state *state = machine.driver_data<igs017_state>();
- state->m_video_disable = 0;
+ m_video_disable = 0;
}
@@ -261,20 +265,19 @@ static void expand_sprites(running_machine &machine)
}
}
-static VIDEO_START( igs017 )
+void igs017_state::video_start()
{
- igs017_state *state = machine.driver_data<igs017_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fg_tilemap->set_transparent_pen(0xf);
- state->m_bg_tilemap->set_transparent_pen(0xf);
+ m_fg_tilemap->set_transparent_pen(0xf);
+ m_bg_tilemap->set_transparent_pen(0xf);
- state->m_toggle = 0;
- state->m_debug_addr = 0;
- state->m_debug_width = 512;
+ m_toggle = 0;
+ m_debug_addr = 0;
+ m_debug_width = 512;
- expand_sprites(machine);
+ expand_sprites(machine());
}
/***************************************************************************
@@ -3243,12 +3246,11 @@ static I8255A_INTERFACE( iqblocka_ppi8255_intf )
};
-static MACHINE_RESET( iqblocka )
+MACHINE_RESET_MEMBER(igs017_state,iqblocka)
{
- igs017_state *state = machine.driver_data<igs017_state>();
- state->m_nmi_enable = 0;
- state->m_irq_enable = 0;
- state->m_input_select = 0;
+ m_nmi_enable = 0;
+ m_irq_enable = 0;
+ m_input_select = 0;
}
static MACHINE_CONFIG_START( iqblocka, igs017_state )
@@ -3259,7 +3261,7 @@ static MACHINE_CONFIG_START( iqblocka, igs017_state )
MCFG_I8255A_ADD( "ppi8255", iqblocka_ppi8255_intf )
- MCFG_MACHINE_RESET(iqblocka)
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,iqblocka)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3272,8 +3274,6 @@ static MACHINE_CONFIG_START( iqblocka, igs017_state )
MCFG_GFXDECODE(igs017)
MCFG_PALETTE_LENGTH(0x100*2)
- MCFG_VIDEO_START(igs017)
- MCFG_VIDEO_RESET(igs017)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3300,14 +3300,13 @@ static TIMER_DEVICE_CALLBACK( mgcs_interrupt )
state->m_maincpu->set_input_line(2, HOLD_LINE);
}
-static MACHINE_RESET( mgcs )
+MACHINE_RESET_MEMBER(igs017_state,mgcs)
{
- igs017_state *state = machine.driver_data<igs017_state>();
- MACHINE_RESET_CALL( iqblocka );
- state->m_irq1_enable = 0;
- state->m_irq2_enable = 0;
- state->m_scramble_data = 0;
- memset(state->m_igs_magic, 0, sizeof(state->m_igs_magic));
+ MACHINE_RESET_CALL_MEMBER( iqblocka );
+ m_irq1_enable = 0;
+ m_irq2_enable = 0;
+ m_scramble_data = 0;
+ memset(m_igs_magic, 0, sizeof(m_igs_magic));
}
static I8255A_INTERFACE( mgcs_ppi8255_intf )
@@ -3325,7 +3324,7 @@ static MACHINE_CONFIG_START( mgcs, igs017_state )
MCFG_CPU_PROGRAM_MAP(mgcs)
MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(mgcs)
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
MCFG_I8255A_ADD( "ppi8255", mgcs_ppi8255_intf )
@@ -3340,8 +3339,6 @@ static MACHINE_CONFIG_START( mgcs, igs017_state )
MCFG_GFXDECODE(igs017_flipped)
MCFG_PALETTE_LENGTH(0x100*2)
- MCFG_VIDEO_START(igs017)
- MCFG_VIDEO_RESET(igs017)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3367,7 +3364,7 @@ static MACHINE_CONFIG_START( lhzb2, igs017_state )
MCFG_CPU_PROGRAM_MAP(lhzb2)
MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(mgcs)
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
MCFG_I8255A_ADD( "ppi8255", lhzb2_ppi8255_intf )
@@ -3382,8 +3379,6 @@ static MACHINE_CONFIG_START( lhzb2, igs017_state )
MCFG_GFXDECODE(igs017_swapped)
MCFG_PALETTE_LENGTH(0x100*2)
- MCFG_VIDEO_START(igs017)
- MCFG_VIDEO_RESET(igs017)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3395,11 +3390,10 @@ MACHINE_CONFIG_END
// lhzb2a
-static MACHINE_RESET( lhzb2a )
+MACHINE_RESET_MEMBER(igs017_state,lhzb2a)
{
- igs017_state *state = machine.driver_data<igs017_state>();
- MACHINE_RESET_CALL( mgcs );
- state->lhzb2a_input_addr_w(*state->m_maincpu->space(AS_PROGRAM), 0, 0xf0);
+ MACHINE_RESET_CALL_MEMBER( mgcs );
+ lhzb2a_input_addr_w(*m_maincpu->space(AS_PROGRAM), 0, 0xf0);
}
static MACHINE_CONFIG_START( lhzb2a, igs017_state )
@@ -3407,7 +3401,7 @@ static MACHINE_CONFIG_START( lhzb2a, igs017_state )
MCFG_CPU_PROGRAM_MAP(lhzb2a)
MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(lhzb2a)
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,lhzb2a)
// MCFG_I8255A_ADD( "ppi8255", sdmg2_ppi8255_intf )
@@ -3422,8 +3416,6 @@ static MACHINE_CONFIG_START( lhzb2a, igs017_state )
MCFG_GFXDECODE(igs017_swapped)
MCFG_PALETTE_LENGTH(0x100*2)
- MCFG_VIDEO_START(igs017)
- MCFG_VIDEO_RESET(igs017)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3440,7 +3432,7 @@ static MACHINE_CONFIG_START( slqz2, igs017_state )
MCFG_CPU_PROGRAM_MAP(slqz2)
MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(mgcs)
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
MCFG_I8255A_ADD( "ppi8255", lhzb2_ppi8255_intf )
@@ -3455,8 +3447,6 @@ static MACHINE_CONFIG_START( slqz2, igs017_state )
MCFG_GFXDECODE(igs017)
MCFG_PALETTE_LENGTH(0x100*2)
- MCFG_VIDEO_START(igs017)
- MCFG_VIDEO_RESET(igs017)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3482,7 +3472,7 @@ static MACHINE_CONFIG_START( sdmg2, igs017_state )
MCFG_CPU_PROGRAM_MAP(sdmg2)
MCFG_TIMER_ADD_SCANLINE("scantimer", mgcs_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(mgcs)
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
MCFG_I8255A_ADD( "ppi8255", sdmg2_ppi8255_intf )
@@ -3497,8 +3487,6 @@ static MACHINE_CONFIG_START( sdmg2, igs017_state )
MCFG_GFXDECODE(igs017)
MCFG_PALETTE_LENGTH(0x100*2)
- MCFG_VIDEO_START(igs017)
- MCFG_VIDEO_RESET(igs017)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3536,7 +3524,7 @@ static MACHINE_CONFIG_START( mgdha, igs017_state )
MCFG_CPU_PROGRAM_MAP(mgdha_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", mgdh_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(mgcs)
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
MCFG_I8255A_ADD( "ppi8255", mgdh_ppi8255_intf )
@@ -3551,8 +3539,6 @@ static MACHINE_CONFIG_START( mgdha, igs017_state )
MCFG_GFXDECODE(igs017_swapped)
MCFG_PALETTE_LENGTH(0x100*2)
- MCFG_VIDEO_START(igs017)
- MCFG_VIDEO_RESET(igs017)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3571,7 +3557,7 @@ static MACHINE_CONFIG_START( tjsb, igs017_state )
MCFG_I8255A_ADD( "ppi8255", iqblocka_ppi8255_intf )
- MCFG_MACHINE_RESET(iqblocka)
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,iqblocka)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3584,8 +3570,6 @@ static MACHINE_CONFIG_START( tjsb, igs017_state )
MCFG_GFXDECODE(igs017)
MCFG_PALETTE_LENGTH(0x100*2)
- MCFG_VIDEO_START(igs017)
- MCFG_VIDEO_RESET(igs017)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/igs_m027.c b/src/mame/drivers/igs_m027.c
index 05cac89f2cf..eb19b0251b4 100644
--- a/src/mame/drivers/igs_m027.c
+++ b/src/mame/drivers/igs_m027.c
@@ -57,6 +57,7 @@ public:
DECLARE_DRIVER_INIT(klxyj);
TILE_GET_INFO_MEMBER(get_tx_tilemap_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tilemap_tile_info);
+ virtual void video_start();
};
@@ -170,14 +171,13 @@ WRITE32_MEMBER(igs_m027_state::igs_palette32_w)
-static VIDEO_START(igs_majhong)
+void igs_m027_state::video_start()
{
- igs_m027_state *state = machine.driver_data<igs_m027_state>();
- state->m_igs_tx_tilemap= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_tx_tilemap_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_igs_tx_tilemap->set_transparent_pen(15);
- state->m_igs_bg_tilemap= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_bg_tilemap_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- //state->m_igs_bg_tilemap= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_bg_tilemap_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- //state->m_igs_bg_tilemap->set_transparent_pen(15);
+ m_igs_tx_tilemap= &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_tx_tilemap_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_igs_tx_tilemap->set_transparent_pen(15);
+ m_igs_bg_tilemap= &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_bg_tilemap_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ //m_igs_bg_tilemap= &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_bg_tilemap_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ //m_igs_bg_tilemap->set_transparent_pen(15);
logerror("Video START OK!\n");
}
@@ -383,7 +383,6 @@ static MACHINE_CONFIG_START( igs_majhong, igs_m027_state )
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START( igs_majhong )
/* sound hardware */
diff --git a/src/mame/drivers/igspoker.c b/src/mame/drivers/igspoker.c
index 63aab4e0657..6d2e6317973 100644
--- a/src/mame/drivers/igspoker.c
+++ b/src/mame/drivers/igspoker.c
@@ -116,15 +116,17 @@ public:
DECLARE_DRIVER_INIT(cpokerpk);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(cpokerpk);
};
-static MACHINE_RESET( igs )
+void igspoker_state::machine_reset()
{
- igspoker_state *state = machine.driver_data<igspoker_state>();
- state->m_nmi_enable = 0;
- state->m_hopper = 0;
- state->m_bg_enable = 1;
+ m_nmi_enable = 0;
+ m_hopper = 0;
+ m_bg_enable = 1;
}
@@ -187,13 +189,12 @@ WRITE8_MEMBER(igspoker_state::fg_color_w)
m_fg_tilemap->mark_tile_dirty(offset);
}
-static VIDEO_START(igs_video)
+void igspoker_state::video_start()
{
- igspoker_state *state = machine.driver_data<igspoker_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16(igs_video)
@@ -209,10 +210,9 @@ static SCREEN_UPDATE_IND16(igs_video)
return 0;
}
-static VIDEO_START(cpokerpk)
+VIDEO_START_MEMBER(igspoker_state,cpokerpk)
{
- igspoker_state *state = machine.driver_data<igspoker_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
static SCREEN_UPDATE_IND16(cpokerpk)
@@ -1773,7 +1773,6 @@ static MACHINE_CONFIG_START( igspoker, igspoker_state )
MCFG_CPU_IO_MAP(igspoker_io_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", igs_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(igs)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1786,7 +1785,6 @@ static MACHINE_CONFIG_START( igspoker, igspoker_state )
MCFG_GFXDECODE(igspoker)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(igs_video)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1813,7 +1811,7 @@ static MACHINE_CONFIG_DERIVED( number10, igspoker )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(cpokerpk)
- MCFG_VIDEO_START(cpokerpk)
+ MCFG_VIDEO_START_OVERRIDE(igspoker_state,cpokerpk)
MCFG_OKIM6295_ADD("oki", XTAL_12MHz / 12, OKIM6295_PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
diff --git a/src/mame/drivers/ikki.c b/src/mame/drivers/ikki.c
index 96f1a7bdf5a..865839ddc93 100644
--- a/src/mame/drivers/ikki.c
+++ b/src/mame/drivers/ikki.c
@@ -225,20 +225,18 @@ static const sn76496_config psg_intf =
*
*************************************/
-static MACHINE_START( ikki )
+void ikki_state::machine_start()
{
- ikki_state *state = machine.driver_data<ikki_state>();
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_punch_through_pen));
- state->save_item(NAME(state->m_irq_source));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_punch_through_pen));
+ save_item(NAME(m_irq_source));
}
-static MACHINE_RESET( ikki )
+void ikki_state::machine_reset()
{
- ikki_state *state = machine.driver_data<ikki_state>();
- state->m_flipscreen = 0;
+ m_flipscreen = 0;
}
static TIMER_DEVICE_CALLBACK( ikki_irq )
@@ -270,8 +268,6 @@ static MACHINE_CONFIG_START( ikki, ikki_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(ikki)
- MCFG_MACHINE_RESET(ikki)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -285,8 +281,6 @@ static MACHINE_CONFIG_START( ikki, ikki_state )
MCFG_GFXDECODE(ikki)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(ikki)
- MCFG_VIDEO_START(ikki)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/imolagp.c b/src/mame/drivers/imolagp.c
index 2a46525add2..8cd1d39eb0f 100644
--- a/src/mame/drivers/imolagp.c
+++ b/src/mame/drivers/imolagp.c
@@ -125,6 +125,9 @@ public:
DECLARE_READ8_MEMBER(imola_slave_port82r);
DECLARE_WRITE8_MEMBER(vreg_control_w);
DECLARE_WRITE8_MEMBER(vreg_data_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -195,14 +198,13 @@ static void initialize_colors( running_machine &machine )
}
}
-static VIDEO_START( imolagp )
+void imolagp_state::video_start()
{
- imolagp_state *state = machine.driver_data<imolagp_state>();
- memset(state->m_videoram, 0, sizeof(state->m_videoram));
- state->save_item(NAME(state->m_videoram));
+ memset(m_videoram, 0, sizeof(m_videoram));
+ save_item(NAME(m_videoram));
- initialize_colors(machine);
+ initialize_colors(machine());
}
@@ -514,40 +516,38 @@ static I8255A_INTERFACE( ppi8255_intf )
};
-static MACHINE_START( imolagp )
+void imolagp_state::machine_start()
{
- imolagp_state *state = machine.driver_data<imolagp_state>();
- state->m_slavecpu = machine.device<cpu_device>("slave");
+ m_slavecpu = machine().device<cpu_device>("slave");
- state->save_item(NAME(state->m_control));
- state->save_item(NAME(state->m_scroll));
- state->save_item(NAME(state->m_steerlatch));
- state->save_item(NAME(state->m_draw_mode));
- state->save_item(NAME(state->m_oldsteer));
+ save_item(NAME(m_control));
+ save_item(NAME(m_scroll));
+ save_item(NAME(m_steerlatch));
+ save_item(NAME(m_draw_mode));
+ save_item(NAME(m_oldsteer));
#ifdef HLE_COM
- state->save_item(NAME(state->m_mComData));
- state->save_item(NAME(state->m_mComCount));
+ save_item(NAME(m_mComData));
+ save_item(NAME(m_mComCount));
#else
- state->save_item(NAME(state->m_mLatchedData));
+ save_item(NAME(m_mLatchedData));
#endif
}
-static MACHINE_RESET( imolagp )
+void imolagp_state::machine_reset()
{
- imolagp_state *state = machine.driver_data<imolagp_state>();
- state->m_control = 0;
- state->m_scroll = 0;
- state->m_steerlatch = 0;
- state->m_draw_mode = 0;
- state->m_oldsteer = 0;
+ m_control = 0;
+ m_scroll = 0;
+ m_steerlatch = 0;
+ m_draw_mode = 0;
+ m_oldsteer = 0;
#ifdef HLE_COM
- state->m_mComCount = 0;
- memset(state->m_mComData, 0, 0x100);
+ m_mComCount = 0;
+ memset(m_mComData, 0, 0x100);
#else
- state->m_mLatchedData[0] = 0;
- state->m_mLatchedData[1] = 0;
+ m_mLatchedData[0] = 0;
+ m_mLatchedData[1] = 0;
#endif
}
@@ -566,8 +566,6 @@ static MACHINE_CONFIG_START( imolagp, imolagp_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(imolagp)
- MCFG_MACHINE_RESET(imolagp)
MCFG_I8255A_ADD( "ppi8255", ppi8255_intf )
@@ -579,7 +577,6 @@ static MACHINE_CONFIG_START( imolagp, imolagp_state )
MCFG_SCREEN_UPDATE_STATIC(imolagp)
MCFG_PALETTE_LENGTH(0x20)
- MCFG_VIDEO_START(imolagp)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, 2000000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
diff --git a/src/mame/drivers/intrscti.c b/src/mame/drivers/intrscti.c
index 0cd21d65953..00923241d92 100644
--- a/src/mame/drivers/intrscti.c
+++ b/src/mame/drivers/intrscti.c
@@ -25,9 +25,10 @@ public:
required_shared_ptr<UINT8> m_vram;
// DECLARE_READ8_MEMBER(unk_r);
DECLARE_DRIVER_INIT(intrscti);
+ virtual void video_start();
};
-static VIDEO_START(intrscti)
+void intrscti_state::video_start()
{
}
@@ -175,7 +176,6 @@ static MACHINE_CONFIG_START( intrscti, intrscti_state )
MCFG_GFXDECODE(intrscti)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(intrscti)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c
index 4410d8cb152..ae33679ad05 100644
--- a/src/mame/drivers/inufuku.c
+++ b/src/mame/drivers/inufuku.c
@@ -311,38 +311,36 @@ static const ym2610_interface ym2610_config =
******************************************************************************/
-static MACHINE_START( inufuku )
+void inufuku_state::machine_start()
{
- inufuku_state *state = machine.driver_data<inufuku_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
-
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x8000);
- state->membank("bank1")->set_entry(0);
-
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
-
- state->save_item(NAME(state->m_pending_command));
- state->save_item(NAME(state->m_bg_scrollx));
- state->save_item(NAME(state->m_bg_scrolly));
- state->save_item(NAME(state->m_tx_scrollx));
- state->save_item(NAME(state->m_tx_scrolly));
- state->save_item(NAME(state->m_bg_raster));
- state->save_item(NAME(state->m_bg_palettebank));
- state->save_item(NAME(state->m_tx_palettebank));
+ UINT8 *ROM = memregion("audiocpu")->base();
+
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x8000);
+ membank("bank1")->set_entry(0);
+
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+
+ save_item(NAME(m_pending_command));
+ save_item(NAME(m_bg_scrollx));
+ save_item(NAME(m_bg_scrolly));
+ save_item(NAME(m_tx_scrollx));
+ save_item(NAME(m_tx_scrolly));
+ save_item(NAME(m_bg_raster));
+ save_item(NAME(m_bg_palettebank));
+ save_item(NAME(m_tx_palettebank));
}
-static MACHINE_RESET( inufuku )
+void inufuku_state::machine_reset()
{
- inufuku_state *state = machine.driver_data<inufuku_state>();
-
- state->m_pending_command = 1;
- state->m_bg_scrollx = 0;
- state->m_bg_scrolly = 0;
- state->m_tx_scrollx = 0;
- state->m_tx_scrolly = 0;
- state->m_bg_raster = 0;
- state->m_bg_palettebank = 0;
- state->m_tx_palettebank = 0;
+
+ m_pending_command = 1;
+ m_bg_scrollx = 0;
+ m_bg_scrolly = 0;
+ m_tx_scrollx = 0;
+ m_tx_scrolly = 0;
+ m_bg_raster = 0;
+ m_bg_palettebank = 0;
+ m_tx_palettebank = 0;
}
static MACHINE_CONFIG_START( inufuku, inufuku_state )
@@ -357,8 +355,6 @@ static MACHINE_CONFIG_START( inufuku, inufuku_state )
MCFG_CPU_IO_MAP(inufuku_sound_io_map)
/* IRQs are triggered by the YM2610 */
- MCFG_MACHINE_START(inufuku)
- MCFG_MACHINE_RESET(inufuku)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -373,7 +369,6 @@ static MACHINE_CONFIG_START( inufuku, inufuku_state )
MCFG_GFXDECODE(inufuku)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(inufuku)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/iqblock.c b/src/mame/drivers/iqblock.c
index 87ce518e8e7..2cfda9d809e 100644
--- a/src/mame/drivers/iqblock.c
+++ b/src/mame/drivers/iqblock.c
@@ -290,7 +290,6 @@ static MACHINE_CONFIG_START( iqblock, iqblock_state )
MCFG_GFXDECODE(iqblock)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(iqblock)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/irobot.c b/src/mame/drivers/irobot.c
index d706e0a2372..278ef1fd71f 100644
--- a/src/mame/drivers/irobot.c
+++ b/src/mame/drivers/irobot.c
@@ -294,7 +294,6 @@ static MACHINE_CONFIG_START( irobot, irobot_state )
MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(irobot_map)
- MCFG_MACHINE_RESET(irobot)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -308,8 +307,6 @@ static MACHINE_CONFIG_START( irobot, irobot_state )
MCFG_GFXDECODE(irobot)
MCFG_PALETTE_LENGTH(64 + 32) /* 64 for polygons, 32 for text */
- MCFG_PALETTE_INIT(irobot)
- MCFG_VIDEO_START(irobot)
MCFG_TIMER_ADD("irvg_timer", irobot_irvg_done_callback)
MCFG_TIMER_ADD("irmb_timer", irobot_irmb_done_callback)
diff --git a/src/mame/drivers/ironhors.c b/src/mame/drivers/ironhors.c
index 1e39792f068..87ce05ff80b 100644
--- a/src/mame/drivers/ironhors.c
+++ b/src/mame/drivers/ironhors.c
@@ -356,25 +356,23 @@ static const ym2203_interface ym2203_config =
};
-static MACHINE_START( ironhors )
+void ironhors_state::machine_start()
{
- ironhors_state *state = machine.driver_data<ironhors_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_soundcpu = machine.device<cpu_device>("soundcpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_soundcpu = machine().device<cpu_device>("soundcpu");
- state->save_item(NAME(state->m_palettebank));
- state->save_item(NAME(state->m_charbank));
- state->save_item(NAME(state->m_spriterambank));
+ save_item(NAME(m_palettebank));
+ save_item(NAME(m_charbank));
+ save_item(NAME(m_spriterambank));
}
-static MACHINE_RESET( ironhors )
+void ironhors_state::machine_reset()
{
- ironhors_state *state = machine.driver_data<ironhors_state>();
- state->m_palettebank = 0;
- state->m_charbank = 0;
- state->m_spriterambank = 0;
+ m_palettebank = 0;
+ m_charbank = 0;
+ m_spriterambank = 0;
}
static MACHINE_CONFIG_START( ironhors, ironhors_state )
@@ -388,8 +386,6 @@ static MACHINE_CONFIG_START( ironhors, ironhors_state )
MCFG_CPU_PROGRAM_MAP(slave_map)
MCFG_CPU_IO_MAP(slave_io_map)
- MCFG_MACHINE_START(ironhors)
- MCFG_MACHINE_RESET(ironhors)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -402,8 +398,6 @@ static MACHINE_CONFIG_START( ironhors, ironhors_state )
MCFG_GFXDECODE(ironhors)
MCFG_PALETTE_LENGTH(16*8*16+16*8*16)
- MCFG_PALETTE_INIT(ironhors)
- MCFG_VIDEO_START(ironhors)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -472,7 +466,7 @@ static MACHINE_CONFIG_DERIVED( farwest, ironhors )
MCFG_CPU_IO_MAP(0)
MCFG_GFXDECODE(farwest)
- MCFG_VIDEO_START(farwest)
+ MCFG_VIDEO_START_OVERRIDE(ironhors_state,farwest)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(farwest)
diff --git a/src/mame/drivers/istellar.c b/src/mame/drivers/istellar.c
index 1215d7c1ec2..46e54890fdb 100644
--- a/src/mame/drivers/istellar.c
+++ b/src/mame/drivers/istellar.c
@@ -51,6 +51,8 @@ public:
DECLARE_WRITE8_MEMBER(z80_2_latch1_write);
DECLARE_WRITE8_MEMBER(z80_2_ldp_write);
DECLARE_DRIVER_INIT(istellar);
+ virtual void machine_start();
+ virtual void palette_init();
};
@@ -86,7 +88,7 @@ static SCREEN_UPDATE_RGB32( istellar )
}
-static MACHINE_START( istellar )
+void istellar_state::machine_start()
{
}
@@ -262,12 +264,12 @@ static INPUT_PORTS_START( istellar )
/* SERVICE might be hanging out back here */
INPUT_PORTS_END
-static PALETTE_INIT( istellar )
+void istellar_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int r,g,b;
int bit0,bit1,bit2,bit3;
@@ -295,7 +297,7 @@ static PALETTE_INIT( istellar )
bit3 = (color_prom[i+0x200] >> 3) & 0x01;
b = (0x8f * bit3) + (0x43 * bit2) + (0x1f * bit1) + (0x0e * bit0);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -342,7 +344,6 @@ static MACHINE_CONFIG_START( istellar, istellar_state )
MCFG_CPU_PROGRAM_MAP(z80_2_mem)
MCFG_CPU_IO_MAP(z80_2_io)
- MCFG_MACHINE_START(istellar)
MCFG_LASERDISC_LDV1000_ADD("laserdisc")
MCFG_LASERDISC_OVERLAY_STATIC(256, 256, istellar)
@@ -351,7 +352,6 @@ static MACHINE_CONFIG_START( istellar, istellar_state )
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(istellar)
MCFG_GFXDECODE(istellar)
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index d0d192d08ab..acac460ef62 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -435,24 +435,23 @@ WRITE16_MEMBER(itech32_state::int1_ack_w)
*
*************************************/
-static MACHINE_RESET( itech32 )
+void itech32_state::machine_reset()
{
- itech32_state *state = machine.driver_data<itech32_state>();
- state->m_vint_state = state->m_xint_state = state->m_qint_state = 0;
- state->m_sound_data = 0;
- state->m_sound_return = 0;
- state->m_sound_int_state = 0;
+ m_vint_state = m_xint_state = m_qint_state = 0;
+ m_sound_data = 0;
+ m_sound_return = 0;
+ m_sound_int_state = 0;
}
-static MACHINE_RESET( drivedge )
+MACHINE_RESET_MEMBER(itech32_state,drivedge)
{
- MACHINE_RESET_CALL(itech32);
+ itech32_state::machine_reset();
- machine.device("dsp1")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- STOP_TMS_SPINNING(machine, 0);
- STOP_TMS_SPINNING(machine, 1);
+ machine().device("dsp1")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ STOP_TMS_SPINNING(machine(), 0);
+ STOP_TMS_SPINNING(machine(), 1);
}
@@ -1677,7 +1676,6 @@ static MACHINE_CONFIG_START( timekill, itech32_state )
MCFG_CPU_ADD("soundcpu", M6809, SOUND_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_RESET(itech32)
MCFG_NVRAM_ADD_CUSTOM_DRIVER("nvram", itech32_state, nvram_init)
MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH)
@@ -1690,7 +1688,6 @@ static MACHINE_CONFIG_START( timekill, itech32_state )
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK, 508, 0, 384, 262, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(itech32)
- MCFG_VIDEO_START(itech32)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1731,7 +1728,7 @@ static MACHINE_CONFIG_DERIVED( drivedge, bloodstm )
// MCFG_CPU_ADD("comm", M6803, 8000000/4) -- network CPU
- MCFG_MACHINE_RESET(drivedge)
+ MCFG_MACHINE_RESET_OVERRIDE(itech32_state,drivedge)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/itech8.c b/src/mame/drivers/itech8.c
index d19d3eef4b7..b378b31e429 100644
--- a/src/mame/drivers/itech8.c
+++ b/src/mame/drivers/itech8.c
@@ -643,29 +643,28 @@ static void generate_sound_irq(device_t *device, int state)
static TIMER_CALLBACK( behind_the_beam_update );
-static MACHINE_START( sstrike )
+MACHINE_START_MEMBER(itech8_state,sstrike)
{
/* we need to update behind the beam as well */
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(0), FUNC(behind_the_beam_update), 32);
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(behind_the_beam_update), 32);
}
-static MACHINE_RESET( itech8 )
+void itech8_state::machine_reset()
{
- itech8_state *state = machine.driver_data<itech8_state>();
- device_type main_cpu_type = machine.device("maincpu")->type();
+ device_type main_cpu_type = machine().device("maincpu")->type();
/* make sure bank 0 is selected */
if (main_cpu_type == M6809 || main_cpu_type == HD6309)
{
- state->membank("bank1")->set_base(&state->memregion("maincpu")->base()[0x4000]);
- machine.device("maincpu")->reset();
+ membank("bank1")->set_base(&memregion("maincpu")->base()[0x4000]);
+ machine().device("maincpu")->reset();
}
/* set the visible area */
- if (state->m_visarea.width() > 1)
+ if (m_visarea.width() > 1)
{
- machine.primary_screen->set_visible_area(state->m_visarea.min_x, state->m_visarea.max_x, state->m_visarea.min_y, state->m_visarea.max_y);
- state->m_visarea.set(0, 0, 0, 0);
+ machine().primary_screen->set_visible_area(m_visarea.min_x, m_visarea.max_x, m_visarea.min_y, m_visarea.max_y);
+ m_visarea.set(0, 0, 0, 0);
}
}
@@ -1688,7 +1687,6 @@ static MACHINE_CONFIG_START( itech8_core_lo, itech8_state )
MCFG_CPU_PROGRAM_MAP(tmslo_map)
MCFG_CPU_VBLANK_INT("screen", generate_nmi)
- MCFG_MACHINE_RESET(itech8)
MCFG_NVRAM_ADD_RANDOM_FILL("nvram")
MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
@@ -1697,7 +1695,6 @@ static MACHINE_CONFIG_START( itech8_core_lo, itech8_state )
MCFG_TLC34076_ADD("tlc34076", tlc34076_6_bit_intf)
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_VIDEO_START(itech8)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -1851,7 +1848,7 @@ static MACHINE_CONFIG_DERIVED( slikshot_hi, itech8_core_hi )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_STATIC(slikshot)
- MCFG_VIDEO_START(slikshot)
+ MCFG_VIDEO_START_OVERRIDE(itech8_state,slikshot)
MACHINE_CONFIG_END
@@ -1868,7 +1865,7 @@ static MACHINE_CONFIG_DERIVED( slikshot_lo, itech8_core_lo )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_STATIC(slikshot)
- MCFG_VIDEO_START(slikshot)
+ MCFG_VIDEO_START_OVERRIDE(itech8_state,slikshot)
MACHINE_CONFIG_END
@@ -1887,7 +1884,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sstrike, slikshot_lo )
/* basic machine hardware */
- MCFG_MACHINE_START(sstrike)
+ MCFG_MACHINE_START_OVERRIDE(itech8_state,sstrike)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/itgambl2.c b/src/mame/drivers/itgambl2.c
index 3906296ea6e..543484df33b 100644
--- a/src/mame/drivers/itgambl2.c
+++ b/src/mame/drivers/itgambl2.c
@@ -66,6 +66,9 @@ public:
int m_test_x;
int m_test_y;
int m_start_offs;
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -73,12 +76,11 @@ public:
* Video Hardware *
*************************/
-static VIDEO_START( itgambl2 )
+void itgambl2_state::video_start()
{
- itgambl2_state *state = machine.driver_data<itgambl2_state>();
- state->m_test_x = 256;
- state->m_test_y = 256;
- state->m_start_offs = 0;
+ m_test_x = 256;
+ m_test_y = 256;
+ m_start_offs = 0;
}
/* (dirty) debug code for looking 8bpps blitter-based gfxs */
@@ -235,14 +237,14 @@ GFXDECODE_END
* Machine Reset *
**************************/
-static MACHINE_RESET( itgambl2 )
+void itgambl2_state::machine_reset()
{
/* stop the CPU, we have no code for it anyway */
- machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
/* default 444 palette for debug purpose*/
-static PALETTE_INIT( itgambl2 )
+void itgambl2_state::palette_init()
{
int x,r,g,b;
@@ -251,7 +253,7 @@ static PALETTE_INIT( itgambl2 )
r = (x & 0xf)*0x10;
g = ((x & 0x3c)>>2)*0x10;
b = ((x & 0xf0)>>4)*0x10;
- palette_set_color(machine,x,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),x,MAKE_RGB(r,g,b));
}
}
@@ -273,12 +275,9 @@ static MACHINE_CONFIG_START( itgambl2, itgambl2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_STATIC( itgambl2 )
- MCFG_MACHINE_RESET( itgambl2 )
- MCFG_PALETTE_INIT( itgambl2 )
MCFG_GFXDECODE(itgambl2)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START( itgambl2 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/itgambl3.c b/src/mame/drivers/itgambl3.c
index 6609e61f85f..9236a18b068 100644
--- a/src/mame/drivers/itgambl3.c
+++ b/src/mame/drivers/itgambl3.c
@@ -54,6 +54,9 @@ public:
int m_test_x;
int m_test_y;
int m_start_offs;
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -61,12 +64,11 @@ public:
* Video Hardware *
*************************/
-static VIDEO_START( itgambl3 )
+void itgambl3_state::video_start()
{
- itgambl3_state *state = machine.driver_data<itgambl3_state>();
- state->m_test_x = 256;
- state->m_test_y = 256;
- state->m_start_offs = 0;
+ m_test_x = 256;
+ m_test_y = 256;
+ m_start_offs = 0;
}
/* (dirty) debug code for looking 8bpps blitter-based gfxs */
@@ -223,14 +225,14 @@ GFXDECODE_END
* Machine Reset *
**************************/
-static MACHINE_RESET( itgambl3 )
+void itgambl3_state::machine_reset()
{
/* stop the CPU, we have no code for it anyway */
- machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
/* default 444 palette for debug purpose*/
-static PALETTE_INIT( itgambl3 )
+void itgambl3_state::palette_init()
{
int x,r,g,b;
@@ -239,7 +241,7 @@ static PALETTE_INIT( itgambl3 )
r = (x & 0xf)*0x11;
g = ((x & 0x3c)>>2)*0x11;
b = ((x & 0xf0)>>4)*0x11;
- palette_set_color(machine,x,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),x,MAKE_RGB(r,g,b));
}
}
@@ -262,12 +264,9 @@ static MACHINE_CONFIG_START( itgambl3, itgambl3_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_STATIC( itgambl3 )
- MCFG_MACHINE_RESET( itgambl3 )
- MCFG_PALETTE_INIT( itgambl3 )
MCFG_GFXDECODE(itgambl3)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START( itgambl3 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/jack.c b/src/mame/drivers/jack.c
index f9edc0f3f55..cb8f12a2fa0 100644
--- a/src/mame/drivers/jack.c
+++ b/src/mame/drivers/jack.c
@@ -785,29 +785,27 @@ static const ay8910_interface ay8910_config =
*
*************************************/
-static MACHINE_START( jack )
+void jack_state::machine_start()
{
- jack_state *state = machine.driver_data<jack_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_joinem_snd_bit));
- state->save_item(NAME(state->m_question_address));
- state->save_item(NAME(state->m_question_rom));
- state->save_item(NAME(state->m_remap_address));
+ save_item(NAME(m_joinem_snd_bit));
+ save_item(NAME(m_question_address));
+ save_item(NAME(m_question_rom));
+ save_item(NAME(m_remap_address));
}
-static MACHINE_RESET( jack )
+void jack_state::machine_reset()
{
- jack_state *state = machine.driver_data<jack_state>();
int i;
- state->m_joinem_snd_bit = 0;
- state->m_question_address = 0;
- state->m_question_rom = 0;
+ m_joinem_snd_bit = 0;
+ m_question_address = 0;
+ m_question_rom = 0;
for (i = 0; i < 16; i++)
- state->m_remap_address[i] = 0;
+ m_remap_address[i] = 0;
}
static MACHINE_CONFIG_START( jack, jack_state )
@@ -821,8 +819,6 @@ static MACHINE_CONFIG_START( jack, jack_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_MACHINE_START(jack)
- MCFG_MACHINE_RESET(jack)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -835,7 +831,6 @@ static MACHINE_CONFIG_START( jack, jack_state )
MCFG_GFXDECODE(jack)
MCFG_PALETTE_LENGTH(32)
- MCFG_VIDEO_START(jack)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -874,8 +869,8 @@ static MACHINE_CONFIG_DERIVED( joinem, jack )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(joinem)
- MCFG_PALETTE_INIT(joinem)
- MCFG_VIDEO_START(joinem)
+ MCFG_PALETTE_INIT_OVERRIDE(jack_state,joinem)
+ MCFG_VIDEO_START_OVERRIDE(jack_state,joinem)
MACHINE_CONFIG_END
@@ -893,8 +888,8 @@ static MACHINE_CONFIG_DERIVED( loverboy, jack )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(joinem)
- MCFG_PALETTE_INIT(joinem)
- MCFG_VIDEO_START(joinem)
+ MCFG_PALETTE_INIT_OVERRIDE(jack_state,joinem)
+ MCFG_VIDEO_START_OVERRIDE(jack_state,joinem)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/jackal.c b/src/mame/drivers/jackal.c
index 1f163de4fa3..d176ff9891a 100644
--- a/src/mame/drivers/jackal.c
+++ b/src/mame/drivers/jackal.c
@@ -325,34 +325,32 @@ static INTERRUPT_GEN( jackal_interrupt )
*
*************************************/
-static MACHINE_START( jackal )
+void jackal_state::machine_start()
{
- jackal_state *state = machine.driver_data<jackal_state>();
- UINT8 *ROM = state->memregion("master")->base();
+ UINT8 *ROM = memregion("master")->base();
- state->membank("bank1")->configure_entry(0, &ROM[0x04000]);
- state->membank("bank1")->configure_entry(1, &ROM[0x14000]);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entry(0, &ROM[0x04000]);
+ membank("bank1")->configure_entry(1, &ROM[0x14000]);
+ membank("bank1")->set_entry(0);
- state->m_mastercpu = machine.device<cpu_device>("master");
- state->m_slavecpu = machine.device<cpu_device>("slave");
+ m_mastercpu = machine().device<cpu_device>("master");
+ m_slavecpu = machine().device<cpu_device>("slave");
- state->save_item(NAME(state->m_irq_enable));
+ save_item(NAME(m_irq_enable));
}
-static MACHINE_RESET( jackal )
+void jackal_state::machine_reset()
{
- jackal_state *state = machine.driver_data<jackal_state>();
- UINT8 *rgn = state->memregion("master")->base();
+ UINT8 *rgn = memregion("master")->base();
// HACK: running at the nominal clock rate, music stops working
// at the beginning of the game. This fixes it.
- machine.device("slave")->set_clock_scale(1.2f);
+ machine().device("slave")->set_clock_scale(1.2f);
- state->m_rambank = rgn;
- state->m_spritebank = rgn;
+ m_rambank = rgn;
+ m_spritebank = rgn;
- state->m_irq_enable = 0;
+ m_irq_enable = 0;
}
static MACHINE_CONFIG_START( jackal, jackal_state )
@@ -367,8 +365,6 @@ static MACHINE_CONFIG_START( jackal, jackal_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(jackal)
- MCFG_MACHINE_RESET(jackal)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -381,8 +377,6 @@ static MACHINE_CONFIG_START( jackal, jackal_state )
MCFG_GFXDECODE(jackal)
MCFG_PALETTE_LENGTH(0x300)
- MCFG_PALETTE_INIT(jackal)
- MCFG_VIDEO_START(jackal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/jackie.c b/src/mame/drivers/jackie.c
index 8dfac0e2c45..53f61b67080 100644
--- a/src/mame/drivers/jackie.c
+++ b/src/mame/drivers/jackie.c
@@ -108,6 +108,8 @@ public:
TILE_GET_INFO_MEMBER(get_jackie_reel1_tile_info);
TILE_GET_INFO_MEMBER(get_jackie_reel2_tile_info);
TILE_GET_INFO_MEMBER(get_jackie_reel3_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -180,19 +182,18 @@ TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel3_tile_info)
SET_TILE_INFO_MEMBER(1, code, 0, 0);
}
-static VIDEO_START(jackie)
+void jackie_state::video_start()
{
- jackie_state *state = machine.driver_data<jackie_state>();
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel1_tilemap->set_scroll_cols(64);
- state->m_reel2_tilemap->set_scroll_cols(64);
- state->m_reel3_tilemap->set_scroll_cols(64);
+ m_reel1_tilemap->set_scroll_cols(64);
+ m_reel2_tilemap->set_scroll_cols(64);
+ m_reel3_tilemap->set_scroll_cols(64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap->set_transparent_pen(0);
}
@@ -246,13 +247,12 @@ static SCREEN_UPDATE_IND16(jackie)
-static MACHINE_RESET( jackie )
+void jackie_state::machine_reset()
{
- jackie_state *state = machine.driver_data<jackie_state>();
- state->m_irq_enable = 1;
- state->m_nmi_enable = 0;
- state->m_hopper = 0;
- state->m_bg_enable = 1;
+ m_irq_enable = 1;
+ m_nmi_enable = 0;
+ m_hopper = 0;
+ m_bg_enable = 1;
}
@@ -579,7 +579,6 @@ static MACHINE_CONFIG_START( jackie, jackie_state )
MCFG_CPU_IO_MAP(jackie_io_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", jackie_irq, "screen", 0, 1)
- MCFG_MACHINE_RESET(jackie)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -592,7 +591,6 @@ static MACHINE_CONFIG_START( jackie, jackie_state )
MCFG_GFXDECODE(jackie)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(jackie)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/jackpool.c b/src/mame/drivers/jackpool.c
index e29ffbd5f4d..dbc21efdedc 100644
--- a/src/mame/drivers/jackpool.c
+++ b/src/mame/drivers/jackpool.c
@@ -36,10 +36,11 @@ public:
DECLARE_READ16_MEMBER(jackpool_io_r);
DECLARE_WRITE16_MEMBER(jackpool_io_w);
DECLARE_DRIVER_INIT(jackpool);
+ virtual void video_start();
};
-static VIDEO_START(jackpool)
+void jackpool_state::video_start()
{
}
@@ -271,7 +272,6 @@ static MACHINE_CONFIG_START( jackpool, jackpool_state )
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START(jackpool)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/jailbrek.c b/src/mame/drivers/jailbrek.c
index 16840050ff0..3f19cc32b17 100644
--- a/src/mame/drivers/jailbrek.c
+++ b/src/mame/drivers/jailbrek.c
@@ -254,18 +254,16 @@ static const sn76496_config psg_intf =
};
-static MACHINE_START( jailbrek )
+void jailbrek_state::machine_start()
{
- jailbrek_state *state = machine.driver_data<jailbrek_state>();
- state->save_item(NAME(state->m_irq_enable));
- state->save_item(NAME(state->m_nmi_enable));
+ save_item(NAME(m_irq_enable));
+ save_item(NAME(m_nmi_enable));
}
-static MACHINE_RESET( jailbrek )
+void jailbrek_state::machine_reset()
{
- jailbrek_state *state = machine.driver_data<jailbrek_state>();
- state->m_irq_enable = 0;
- state->m_nmi_enable = 0;
+ m_irq_enable = 0;
+ m_nmi_enable = 0;
}
static MACHINE_CONFIG_START( jailbrek, jailbrek_state )
@@ -276,8 +274,6 @@ static MACHINE_CONFIG_START( jailbrek, jailbrek_state )
MCFG_CPU_VBLANK_INT("screen", jb_interrupt)
MCFG_CPU_PERIODIC_INT(jb_interrupt_nmi, 500) /* ? */
- MCFG_MACHINE_START(jailbrek)
- MCFG_MACHINE_RESET(jailbrek)
/* video hardware */
MCFG_GFXDECODE(jailbrek)
@@ -287,8 +283,6 @@ static MACHINE_CONFIG_START( jailbrek, jailbrek_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 396, 8, 248, 256, 16, 240)
MCFG_SCREEN_UPDATE_STATIC(jailbrek)
- MCFG_PALETTE_INIT(jailbrek)
- MCFG_VIDEO_START(jailbrek)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/jalmah.c b/src/mame/drivers/jalmah.c
index e57ccdfe132..da4aca56c76 100644
--- a/src/mame/drivers/jalmah.c
+++ b/src/mame/drivers/jalmah.c
@@ -201,6 +201,9 @@ public:
TILE_GET_INFO_MEMBER(get_sc1_tile_info);
TILE_GET_INFO_MEMBER(get_sc2_tile_info);
TILE_GET_INFO_MEMBER(get_sc3_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(urashima);
};
@@ -292,64 +295,62 @@ TILE_GET_INFO_MEMBER(jalmah_state::get_sc3_tile_info)
0);
}
-static VIDEO_START( jalmah )
+void jalmah_state::video_start()
{
- jalmah_state *state = machine.driver_data<jalmah_state>();
- state->m_sc0_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
- state->m_sc0_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),state),16,16,128,64);
- state->m_sc0_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),state),16,16,64,128);
- state->m_sc0_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),state),16,16,32,256);
-
- state->m_sc1_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
- state->m_sc1_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),state),16,16,128,64);
- state->m_sc1_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),state),16,16,64,128);
- state->m_sc1_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),state),16,16,32,256);
-
- state->m_sc2_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
- state->m_sc2_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),state),16,16,128,64);
- state->m_sc2_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),state),16,16,64,128);
- state->m_sc2_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),state),16,16,32,256);
-
- state->m_sc3_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),TILEMAP_SCAN_COLS,8,8,256,32);
- //state->m_sc3_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),TILEMAP_SCAN_COLS,8,8,256,32);
- state->m_sc3_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_8x8),state),8,8,128,64);
- state->m_sc3_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_8x8),state),8,8,64,128);
-
- state->m_jm_scrollram = auto_alloc_array(machine, UINT16, 0x80/2);
- state->m_jm_vregs = auto_alloc_array(machine, UINT16, 0x40/2);
-
- state->m_sc0_tilemap_0->set_transparent_pen(15);
- state->m_sc0_tilemap_1->set_transparent_pen(15);
- state->m_sc0_tilemap_2->set_transparent_pen(15);
- state->m_sc0_tilemap_3->set_transparent_pen(15);
-
- state->m_sc1_tilemap_0->set_transparent_pen(15);
- state->m_sc1_tilemap_1->set_transparent_pen(15);
- state->m_sc1_tilemap_2->set_transparent_pen(15);
- state->m_sc1_tilemap_3->set_transparent_pen(15);
-
- state->m_sc2_tilemap_0->set_transparent_pen(15);
- state->m_sc2_tilemap_1->set_transparent_pen(15);
- state->m_sc2_tilemap_2->set_transparent_pen(15);
- state->m_sc2_tilemap_3->set_transparent_pen(15);
-
- state->m_sc3_tilemap_0->set_transparent_pen(15);
- //state->m_sc3_tilemap_1->set_transparent_pen(15);
- state->m_sc3_tilemap_2->set_transparent_pen(15);
- state->m_sc3_tilemap_3->set_transparent_pen(15);
+ m_sc0_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),this),16,16,256,32);
+ m_sc0_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),this),16,16,128,64);
+ m_sc0_tilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),this),16,16,64,128);
+ m_sc0_tilemap_3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),this),16,16,32,256);
+
+ m_sc1_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),this),16,16,256,32);
+ m_sc1_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),this),16,16,128,64);
+ m_sc1_tilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),this),16,16,64,128);
+ m_sc1_tilemap_3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),this),16,16,32,256);
+
+ m_sc2_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),this),16,16,256,32);
+ m_sc2_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),this),16,16,128,64);
+ m_sc2_tilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),this),16,16,64,128);
+ m_sc2_tilemap_3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),this),16,16,32,256);
+
+ m_sc3_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),this),TILEMAP_SCAN_COLS,8,8,256,32);
+ //m_sc3_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),this),TILEMAP_SCAN_COLS,8,8,256,32);
+ m_sc3_tilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range2_8x8),this),8,8,128,64);
+ m_sc3_tilemap_3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range3_8x8),this),8,8,64,128);
+
+ m_jm_scrollram = auto_alloc_array(machine(), UINT16, 0x80/2);
+ m_jm_vregs = auto_alloc_array(machine(), UINT16, 0x40/2);
+
+ m_sc0_tilemap_0->set_transparent_pen(15);
+ m_sc0_tilemap_1->set_transparent_pen(15);
+ m_sc0_tilemap_2->set_transparent_pen(15);
+ m_sc0_tilemap_3->set_transparent_pen(15);
+
+ m_sc1_tilemap_0->set_transparent_pen(15);
+ m_sc1_tilemap_1->set_transparent_pen(15);
+ m_sc1_tilemap_2->set_transparent_pen(15);
+ m_sc1_tilemap_3->set_transparent_pen(15);
+
+ m_sc2_tilemap_0->set_transparent_pen(15);
+ m_sc2_tilemap_1->set_transparent_pen(15);
+ m_sc2_tilemap_2->set_transparent_pen(15);
+ m_sc2_tilemap_3->set_transparent_pen(15);
+
+ m_sc3_tilemap_0->set_transparent_pen(15);
+ //m_sc3_tilemap_1->set_transparent_pen(15);
+ m_sc3_tilemap_2->set_transparent_pen(15);
+ m_sc3_tilemap_3->set_transparent_pen(15);
}
-static VIDEO_START( urashima )
+VIDEO_START_MEMBER(jalmah_state,urashima)
{
- jalmah_state *state = machine.driver_data<jalmah_state>();
- state->m_sc0_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
- state->m_sc3_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_8x8),state),8,8,128,64);
+ m_sc0_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),this),16,16,256,32);
+ m_sc3_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range2_8x8),this),8,8,128,64);
- state->m_jm_scrollram = auto_alloc_array(machine, UINT16, 0x80/2);
- state->m_jm_vregs = auto_alloc_array(machine, UINT16, 0x40/2);
+ m_jm_scrollram = auto_alloc_array(machine(), UINT16, 0x80/2);
+ m_jm_vregs = auto_alloc_array(machine(), UINT16, 0x40/2);
- state->m_sc0_tilemap_0->set_transparent_pen(15);
- state->m_sc3_tilemap_0->set_transparent_pen(15);
+ m_sc0_tilemap_0->set_transparent_pen(15);
+ m_sc3_tilemap_0->set_transparent_pen(15);
}
@@ -1381,24 +1382,23 @@ static GFXDECODE_START( urashima )
GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0x100, 16 )
GFXDECODE_END
-static MACHINE_RESET ( jalmah )
+void jalmah_state::machine_reset()
{
- jalmah_state *state = machine.driver_data<jalmah_state>();
- state->m_respcount = 0;
+ m_respcount = 0;
/*check if we are into service or normal mode*/
- switch(state->m_mcu_prg)
+ switch(m_mcu_prg)
{
case MJZOOMIN_MCU:
case DAIREIKA_MCU:
- state->m_test_mode = (~(state->ioport("SYSTEM")->read()) & 0x0008) ? (1) : (0);
+ m_test_mode = (~(ioport("SYSTEM")->read()) & 0x0008) ? (1) : (0);
break;
case URASHIMA_MCU:
- state->m_test_mode = ((~(state->ioport("SYSTEM")->read()) & 0x0008) || (~(state->ioport("DSW")->read()) & 0x8000)) ? (1) : (0);
+ m_test_mode = ((~(ioport("SYSTEM")->read()) & 0x0008) || (~(ioport("DSW")->read()) & 0x8000)) ? (1) : (0);
break;
case KAKUMEI_MCU:
case KAKUMEI2_MCU:
case SUCHIPI_MCU:
- state->m_test_mode = (~(state->ioport("DSW")->read()) & 0x0004) ? (1) : (0);
+ m_test_mode = (~(ioport("DSW")->read()) & 0x0004) ? (1) : (0);
break;
}
}
@@ -1420,9 +1420,7 @@ static MACHINE_CONFIG_START( jalmah, jalmah_state )
MCFG_SCREEN_UPDATE_STATIC(jalmah)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_MACHINE_RESET(jalmah)
- MCFG_VIDEO_START(jalmah)
MCFG_TIMER_ADD_PERIODIC("mcusim", jalmah_mcu_sim, attotime::from_hz(10000)) // not real, but for simulating the MCU
@@ -1438,7 +1436,7 @@ static MACHINE_CONFIG_DERIVED( urashima, jalmah )
MCFG_GFXDECODE(urashima)
- MCFG_VIDEO_START(urashima)
+ MCFG_VIDEO_START_OVERRIDE(jalmah_state,urashima)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(urashima)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/jangou.c b/src/mame/drivers/jangou.c
index c73f4bf4161..b43f84508ce 100644
--- a/src/mame/drivers/jangou.c
+++ b/src/mame/drivers/jangou.c
@@ -81,6 +81,14 @@ public:
DECLARE_READ8_MEMBER(input_system_r);
DECLARE_DRIVER_INIT(jngolady);
DECLARE_DRIVER_INIT(luckygrl);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(jngolady);
+ DECLARE_MACHINE_RESET(jngolady);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
};
@@ -91,9 +99,9 @@ public:
*************************************/
/* guess: use the same resistor values as Crazy Climber (needs checking on the real HW) */
-static PALETTE_INIT( jangou )
+void jangou_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double weights_rg[3], weights_b[2];
@@ -105,7 +113,7 @@ static PALETTE_INIT( jangou )
2, resistances_b, weights_b, 0, 0,
0, 0, 0, 0, 0);
- for (i = 0;i < machine.total_colors(); i++)
+ for (i = 0;i < machine().total_colors(); i++)
{
int bit0, bit1, bit2;
int r, g, b;
@@ -127,15 +135,14 @@ static PALETTE_INIT( jangou )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-static VIDEO_START( jangou )
+void jangou_state::video_start()
{
- jangou_state *state = machine.driver_data<jangou_state>();
- state->save_item(NAME(state->m_blit_buffer));
+ save_item(NAME(m_blit_buffer));
}
static SCREEN_UPDATE_IND16( jangou )
@@ -911,76 +918,70 @@ static SOUND_START( jangou )
*
*************************************/
-static MACHINE_START( common )
+MACHINE_START_MEMBER(jangou_state,common)
{
- jangou_state *state = machine.driver_data<jangou_state>();
- state->m_cpu_0 = machine.device("cpu0");
- state->m_cpu_1 = machine.device("cpu1");
- state->m_cvsd = machine.device("cvsd");
- state->m_nsc = machine.device("nsc");
+ m_cpu_0 = machine().device("cpu0");
+ m_cpu_1 = machine().device("cpu1");
+ m_cvsd = machine().device("cvsd");
+ m_nsc = machine().device("nsc");
- state->save_item(NAME(state->m_pen_data));
- state->save_item(NAME(state->m_blit_data));
- state->save_item(NAME(state->m_mux_data));
+ save_item(NAME(m_pen_data));
+ save_item(NAME(m_blit_data));
+ save_item(NAME(m_mux_data));
}
-static MACHINE_START( jangou )
+void jangou_state::machine_start()
{
- jangou_state *state = machine.driver_data<jangou_state>();
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
- state->save_item(NAME(state->m_cvsd_shiftreg));
- state->save_item(NAME(state->m_cvsd_shift_cnt));
+ save_item(NAME(m_cvsd_shiftreg));
+ save_item(NAME(m_cvsd_shift_cnt));
}
-static MACHINE_START( jngolady )
+MACHINE_START_MEMBER(jangou_state,jngolady)
{
- jangou_state *state = machine.driver_data<jangou_state>();
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
- state->save_item(NAME(state->m_adpcm_byte));
- state->save_item(NAME(state->m_msm5205_vclk_toggle));
- state->save_item(NAME(state->m_nsc_latch));
- state->save_item(NAME(state->m_z80_latch));
+ save_item(NAME(m_adpcm_byte));
+ save_item(NAME(m_msm5205_vclk_toggle));
+ save_item(NAME(m_nsc_latch));
+ save_item(NAME(m_z80_latch));
}
-static MACHINE_RESET( common )
+MACHINE_RESET_MEMBER(jangou_state,common)
{
- jangou_state *state = machine.driver_data<jangou_state>();
int i;
- state->m_mux_data = 0;
+ m_mux_data = 0;
for (i = 0; i < 6; i++)
- state->m_blit_data[i] = 0;
+ m_blit_data[i] = 0;
for (i = 0; i < 16; i++)
- state->m_pen_data[i] = 0;
+ m_pen_data[i] = 0;
}
-static MACHINE_RESET( jangou )
+void jangou_state::machine_reset()
{
- jangou_state *state = machine.driver_data<jangou_state>();
- MACHINE_RESET_CALL(common);
+ MACHINE_RESET_CALL_MEMBER(common);
- state->m_cvsd_shiftreg = 0;
- state->m_cvsd_shift_cnt = 0;
+ m_cvsd_shiftreg = 0;
+ m_cvsd_shift_cnt = 0;
}
-static MACHINE_RESET( jngolady )
+MACHINE_RESET_MEMBER(jangou_state,jngolady)
{
- jangou_state *state = machine.driver_data<jangou_state>();
- MACHINE_RESET_CALL(common);
+ MACHINE_RESET_CALL_MEMBER(common);
- state->m_adpcm_byte = 0;
- state->m_msm5205_vclk_toggle = 0;
- state->m_nsc_latch = 0;
- state->m_z80_latch = 0;
+ m_adpcm_byte = 0;
+ m_msm5205_vclk_toggle = 0;
+ m_nsc_latch = 0;
+ m_z80_latch = 0;
}
/* Note: All frequencies and dividers are unverified */
@@ -996,11 +997,8 @@ static MACHINE_CONFIG_START( jangou, jangou_state )
MCFG_CPU_PROGRAM_MAP(cpu1_map)
MCFG_CPU_IO_MAP(cpu1_io)
- MCFG_MACHINE_START(jangou)
- MCFG_MACHINE_RESET(jangou)
/* video hardware */
- MCFG_PALETTE_INIT(jangou)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -1011,7 +1009,6 @@ static MACHINE_CONFIG_START( jangou, jangou_state )
MCFG_PALETTE_LENGTH(32)
- MCFG_VIDEO_START(jangou)
/* sound hardware */
MCFG_SOUND_START(jangou)
@@ -1040,8 +1037,8 @@ static MACHINE_CONFIG_DERIVED( jngolady, jangou )
MCFG_CPU_ADD("nsc", NSC8105, MASTER_CLOCK / 8)
MCFG_CPU_PROGRAM_MAP(nsc_map)
- MCFG_MACHINE_START(jngolady)
- MCFG_MACHINE_RESET(jngolady)
+ MCFG_MACHINE_START_OVERRIDE(jangou_state,jngolady)
+ MCFG_MACHINE_RESET_OVERRIDE(jangou_state,jngolady)
/* sound hardware */
MCFG_SOUND_START(0)
@@ -1062,8 +1059,8 @@ static MACHINE_CONFIG_DERIVED( cntrygrl, jangou )
MCFG_DEVICE_REMOVE("cpu1")
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(jangou_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(jangou_state,common)
/* sound hardware */
MCFG_SOUND_START(0)
@@ -1082,8 +1079,8 @@ static MACHINE_CONFIG_DERIVED( roylcrdn, jangou )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(jangou_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(jangou_state,common)
/* sound hardware */
MCFG_SOUND_START(0)
diff --git a/src/mame/drivers/jantotsu.c b/src/mame/drivers/jantotsu.c
index 45cfe59573c..242831d192b 100644
--- a/src/mame/drivers/jantotsu.c
+++ b/src/mame/drivers/jantotsu.c
@@ -126,6 +126,10 @@ public:
DECLARE_WRITE8_MEMBER(jantotsu_mux_w);
DECLARE_READ8_MEMBER(jantotsu_dsw2_r);
DECLARE_WRITE8_MEMBER(jan_adpcm_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -135,11 +139,10 @@ public:
*
*************************************/
-static VIDEO_START(jantotsu)
+void jantotsu_state::video_start()
{
- jantotsu_state *state = machine.driver_data<jantotsu_state>();
- state->save_item(NAME(state->m_bitmap));
+ save_item(NAME(m_bitmap));
}
static SCREEN_UPDATE_RGB32(jantotsu)
@@ -199,9 +202,9 @@ WRITE8_MEMBER(jantotsu_state::bankaddr_w)
logerror("I/O port $07 write trips %02x\n",data);
}
-static PALETTE_INIT( jantotsu )
+void jantotsu_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit0, bit1, bit2, r, g, b;
int i;
@@ -220,7 +223,7 @@ static PALETTE_INIT( jantotsu )
bit2 = (color_prom[0] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -485,31 +488,29 @@ static const sn76496_config psg_intf =
*
*************************************/
-static MACHINE_START( jantotsu )
+void jantotsu_state::machine_start()
{
- jantotsu_state *state = machine.driver_data<jantotsu_state>();
-
- state->save_item(NAME(state->m_vram_bank));
- state->save_item(NAME(state->m_mux_data));
- state->save_item(NAME(state->m_adpcm_pos));
- state->save_item(NAME(state->m_adpcm_idle));
- state->save_item(NAME(state->m_adpcm_data));
- state->save_item(NAME(state->m_adpcm_trigger));
+
+ save_item(NAME(m_vram_bank));
+ save_item(NAME(m_mux_data));
+ save_item(NAME(m_adpcm_pos));
+ save_item(NAME(m_adpcm_idle));
+ save_item(NAME(m_adpcm_data));
+ save_item(NAME(m_adpcm_trigger));
}
-static MACHINE_RESET( jantotsu )
+void jantotsu_state::machine_reset()
{
- jantotsu_state *state = machine.driver_data<jantotsu_state>();
/*Load hard-wired background color.*/
- state->m_col_bank = (state->ioport("DSW2")->read() & 0xc0) >> 3;
-
- state->m_vram_bank = 0;
- state->m_mux_data = 0;
- state->m_adpcm_pos = 0;
- state->m_adpcm_idle = 1;
- state->m_adpcm_data = 0;
- state->m_adpcm_trigger = 0;
+ m_col_bank = (ioport("DSW2")->read() & 0xc0) >> 3;
+
+ m_vram_bank = 0;
+ m_mux_data = 0;
+ m_adpcm_pos = 0;
+ m_adpcm_idle = 1;
+ m_adpcm_data = 0;
+ m_adpcm_trigger = 0;
}
static MACHINE_CONFIG_START( jantotsu, jantotsu_state )
@@ -520,8 +521,6 @@ static MACHINE_CONFIG_START( jantotsu, jantotsu_state )
MCFG_CPU_IO_MAP(jantotsu_io)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MCFG_MACHINE_START(jantotsu)
- MCFG_MACHINE_RESET(jantotsu)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -531,10 +530,8 @@ static MACHINE_CONFIG_START( jantotsu, jantotsu_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 240-1)
MCFG_SCREEN_UPDATE_STATIC(jantotsu)
- MCFG_PALETTE_INIT(jantotsu)
MCFG_PALETTE_LENGTH(0x20)
- MCFG_VIDEO_START(jantotsu)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/jchan.c b/src/mame/drivers/jchan.c
index fe19372ebfe..327405acd8d 100644
--- a/src/mame/drivers/jchan.c
+++ b/src/mame/drivers/jchan.c
@@ -223,6 +223,7 @@ public:
DECLARE_WRITE16_MEMBER(jchan_suprnova_sprite32regs_2_w);
DECLARE_DRIVER_INIT(jchan);
+ virtual void video_start();
};
@@ -268,25 +269,24 @@ static TIMER_DEVICE_CALLBACK( jchan_vblank )
-static VIDEO_START(jchan)
+void jchan_state::video_start()
{
- jchan_state *state = machine.driver_data<jchan_state>();
/* so we can use suprnova.c */
- state->m_sprite_ram32_1 = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_sprite_ram32_2 = auto_alloc_array(machine, UINT32, 0x4000/4);
+ m_sprite_ram32_1 = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_sprite_ram32_2 = auto_alloc_array(machine(), UINT32, 0x4000/4);
- state->m_sprite_regs32_1 = auto_alloc_array(machine, UINT32, 0x40/4);
- state->m_sprite_regs32_2 = auto_alloc_array(machine, UINT32, 0x40/4);
+ m_sprite_regs32_1 = auto_alloc_array(machine(), UINT32, 0x40/4);
+ m_sprite_regs32_2 = auto_alloc_array(machine(), UINT32, 0x40/4);
- state->m_sprite_bitmap_1 = auto_bitmap_ind16_alloc(machine,1024,1024);
- state->m_sprite_bitmap_2 = auto_bitmap_ind16_alloc(machine,1024,1024);
+ m_sprite_bitmap_1 = auto_bitmap_ind16_alloc(machine(),1024,1024);
+ m_sprite_bitmap_2 = auto_bitmap_ind16_alloc(machine(),1024,1024);
- state->m_spritegen1 = machine.device<sknsspr_device>("spritegen1");
- state->m_spritegen2 = machine.device<sknsspr_device>("spritegen2");
+ m_spritegen1 = machine().device<sknsspr_device>("spritegen1");
+ m_spritegen2 = machine().device<sknsspr_device>("spritegen2");
- state->m_spritegen1->skns_sprite_kludge(0,0);
- state->m_spritegen2->skns_sprite_kludge(0,0);
+ m_spritegen1->skns_sprite_kludge(0,0);
+ m_spritegen2->skns_sprite_kludge(0,0);
}
@@ -621,7 +621,6 @@ static MACHINE_CONFIG_START( jchan, jchan_state )
kaneko_view2_tilemap_device::set_offset(*device, 25, 11, 320, 240);
- MCFG_VIDEO_START(jchan)
MCFG_DEVICE_ADD("spritegen1", SKNS_SPRITE, 0)
MCFG_DEVICE_ADD("spritegen2", SKNS_SPRITE, 0)
diff --git a/src/mame/drivers/jclub2.c b/src/mame/drivers/jclub2.c
index b4a150054d6..5029616c5f4 100644
--- a/src/mame/drivers/jclub2.c
+++ b/src/mame/drivers/jclub2.c
@@ -140,6 +140,9 @@ public:
DECLARE_DRIVER_INIT(darkhors);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
+ DECLARE_VIDEO_START(darkhors);
+ DECLARE_VIDEO_START(jclub2);
+ DECLARE_VIDEO_START(jclub2o);
};
@@ -153,7 +156,7 @@ public:
***************************************************************************/
-static VIDEO_START( darkhors );
+
static SCREEN_UPDATE_IND16( darkhors );
@@ -217,15 +220,14 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
}
}
-static VIDEO_START( darkhors )
+VIDEO_START_MEMBER(darkhors_state,darkhors)
{
- darkhors_state *state = machine.driver_data<darkhors_state>();
- state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
- state->m_tmap2= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
- state->m_tmap->set_transparent_pen(0);
- state->m_tmap2->set_transparent_pen(0);
+ m_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
+ m_tmap2= &machine().tilemap().create(tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
+ m_tmap->set_transparent_pen(0);
+ m_tmap2->set_transparent_pen(0);
- machine.gfx[0]->set_granularity(64); /* 256 colour sprites with palette selectable on 64 colour boundaries */
+ machine().gfx[0]->set_granularity(64); /* 256 colour sprites with palette selectable on 64 colour boundaries */
}
static SCREEN_UPDATE_IND16( darkhors )
@@ -701,7 +703,7 @@ static MACHINE_CONFIG_START( darkhors, darkhors_state )
MCFG_GFXDECODE(darkhors)
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_VIDEO_START(darkhors)
+ MCFG_VIDEO_START_OVERRIDE(darkhors_state,darkhors)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -712,7 +714,7 @@ MACHINE_CONFIG_END
-static VIDEO_START(jclub2)
+VIDEO_START_MEMBER(darkhors_state,jclub2)
{
}
@@ -749,7 +751,7 @@ static MACHINE_CONFIG_START( jclub2, darkhors_state )
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_VIDEO_START(jclub2)
+ MCFG_VIDEO_START_OVERRIDE(darkhors_state,jclub2)
MACHINE_CONFIG_END
@@ -778,7 +780,7 @@ static const st0016_interface st0016_config =
&st0016_charram
};
-static VIDEO_START(jclub2o)
+VIDEO_START_MEMBER(darkhors_state,jclub2o)
{
}
@@ -814,7 +816,7 @@ static MACHINE_CONFIG_START( jclub2o, darkhors_state )
MCFG_DEVICE_ADD("st0020_spr", ST0020_SPRITES, 0)
st0020_device::set_is_jclub2o(*device, 1);
- MCFG_VIDEO_START(jclub2o)
+ MCFG_VIDEO_START_OVERRIDE(darkhors_state,jclub2o)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/jedi.c b/src/mame/drivers/jedi.c
index 727334324f2..3ab8e506a12 100644
--- a/src/mame/drivers/jedi.c
+++ b/src/mame/drivers/jedi.c
@@ -153,19 +153,18 @@ WRITE8_MEMBER(jedi_state::main_irq_ack_w)
*
*************************************/
-static MACHINE_START( jedi )
+void jedi_state::machine_start()
{
- jedi_state *state = machine.driver_data<jedi_state>();
/* set a timer to run the interrupts */
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(generate_interrupt));
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(32), 32);
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(generate_interrupt));
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(32), 32);
/* configure the banks */
- state->membank("bank1")->configure_entries(0, 3, state->memregion("maincpu")->base() + 0x10000, 0x4000);
+ membank("bank1")->configure_entries(0, 3, memregion("maincpu")->base() + 0x10000, 0x4000);
/* set up save state */
- state->save_item(NAME(state->m_nvram_enabled));
+ save_item(NAME(m_nvram_enabled));
}
@@ -176,13 +175,12 @@ static MACHINE_START( jedi )
*
*************************************/
-static MACHINE_RESET( jedi )
+void jedi_state::machine_reset()
{
- jedi_state *state = machine.driver_data<jedi_state>();
/* init globals */
- state->m_a2d_select = 0;
- state->m_nvram_enabled = 0;
+ m_a2d_select = 0;
+ m_nvram_enabled = 0;
}
@@ -346,8 +344,6 @@ static MACHINE_CONFIG_START( jedi, jedi_state )
MCFG_QUANTUM_TIME(attotime::from_hz(240))
- MCFG_MACHINE_START(jedi)
- MCFG_MACHINE_RESET(jedi)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
diff --git a/src/mame/drivers/jokrwild.c b/src/mame/drivers/jokrwild.c
index 5f8d052a48b..20d8329c0f8 100644
--- a/src/mame/drivers/jokrwild.c
+++ b/src/mame/drivers/jokrwild.c
@@ -115,6 +115,8 @@ public:
DECLARE_WRITE8_MEMBER(testb_w);
DECLARE_DRIVER_INIT(jokrwild);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -152,10 +154,9 @@ TILE_GET_INFO_MEMBER(jokrwild_state::get_bg_tile_info)
}
-static VIDEO_START( jokrwild )
+void jokrwild_state::video_start()
{
- jokrwild_state *state = machine.driver_data<jokrwild_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jokrwild_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 24, 26);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jokrwild_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 24, 26);
}
@@ -167,7 +168,7 @@ static SCREEN_UPDATE_IND16( jokrwild )
}
-static PALETTE_INIT( jokrwild )
+void jokrwild_state::palette_init()
{
//missing proms
}
@@ -495,9 +496,7 @@ static MACHINE_CONFIG_START( jokrwild, jokrwild_state )
MCFG_SCREEN_UPDATE_STATIC(jokrwild)
MCFG_GFXDECODE(jokrwild)
- MCFG_PALETTE_INIT(jokrwild)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(jokrwild)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/16, mc6845_intf) /* guess */
diff --git a/src/mame/drivers/jollyjgr.c b/src/mame/drivers/jollyjgr.c
index c6342ce4a79..1856db7ae6e 100644
--- a/src/mame/drivers/jollyjgr.c
+++ b/src/mame/drivers/jollyjgr.c
@@ -135,6 +135,10 @@ public:
DECLARE_WRITE8_MEMBER(jollyjgr_misc_w);
DECLARE_WRITE8_MEMBER(jollyjgr_coin_lookout_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -401,9 +405,9 @@ INPUT_PORTS_END
*
*************************************/
-static PALETTE_INIT( jollyjgr )
+void jollyjgr_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* tilemap / sprites palette */
@@ -426,13 +430,13 @@ static PALETTE_INIT( jollyjgr )
bit1 = BIT(*color_prom, 7);
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
color_prom++;
}
/* bitmap palette */
for (i = 0;i < 8;i++)
- palette_set_color_rgb(machine, 32 + i, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
+ palette_set_color_rgb(machine(), 32 + i, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
}
/* Tilemap is the same as in Galaxian */
@@ -443,13 +447,12 @@ TILE_GET_INFO_MEMBER(jollyjgr_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(region, m_videoram[tile_index], color, 0);
}
-static VIDEO_START( jollyjgr )
+void jollyjgr_state::video_start()
{
- jollyjgr_state *state = machine.driver_data<jollyjgr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jollyjgr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jollyjgr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(32);
}
static void draw_bitmap( running_machine &machine, bitmap_ind16 &bitmap )
@@ -626,26 +629,24 @@ static INTERRUPT_GEN( jollyjgr_interrupt )
}
-static MACHINE_START( jollyjgr )
+void jollyjgr_state::machine_start()
{
- jollyjgr_state *state = machine.driver_data<jollyjgr_state>();
- state->save_item(NAME(state->m_nmi_enable));
- state->save_item(NAME(state->m_flip_x));
- state->save_item(NAME(state->m_flip_y));
- state->save_item(NAME(state->m_bitmap_disable));
- state->save_item(NAME(state->m_tilemap_bank));
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_flip_x));
+ save_item(NAME(m_flip_y));
+ save_item(NAME(m_bitmap_disable));
+ save_item(NAME(m_tilemap_bank));
}
-static MACHINE_RESET( jollyjgr )
+void jollyjgr_state::machine_reset()
{
- jollyjgr_state *state = machine.driver_data<jollyjgr_state>();
- state->m_nmi_enable = 0;
- state->m_flip_x = 0;
- state->m_flip_y = 0;
- state->m_bitmap_disable = 0;
- state->m_tilemap_bank = 0;
+ m_nmi_enable = 0;
+ m_flip_x = 0;
+ m_flip_y = 0;
+ m_bitmap_disable = 0;
+ m_tilemap_bank = 0;
}
static MACHINE_CONFIG_START( jollyjgr, jollyjgr_state )
@@ -655,8 +656,6 @@ static MACHINE_CONFIG_START( jollyjgr, jollyjgr_state )
MCFG_CPU_PROGRAM_MAP(jollyjgr_map)
MCFG_CPU_VBLANK_INT("screen", jollyjgr_interrupt)
- MCFG_MACHINE_START(jollyjgr)
- MCFG_MACHINE_RESET(jollyjgr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -669,8 +668,6 @@ static MACHINE_CONFIG_START( jollyjgr, jollyjgr_state )
MCFG_GFXDECODE(jollyjgr)
MCFG_PALETTE_LENGTH(32+8) /* 32 for tilemap and sprites + 8 for the bitmap */
- MCFG_PALETTE_INIT(jollyjgr)
- MCFG_VIDEO_START(jollyjgr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/jongkyo.c b/src/mame/drivers/jongkyo.c
index 751aa4d379e..bc34064580d 100644
--- a/src/mame/drivers/jongkyo.c
+++ b/src/mame/drivers/jongkyo.c
@@ -54,6 +54,10 @@ public:
DECLARE_READ8_MEMBER(input_1p_r);
DECLARE_READ8_MEMBER(input_2p_r);
DECLARE_DRIVER_INIT(jongkyo);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -63,7 +67,7 @@ public:
*
*************************************/
-static VIDEO_START( jongkyo )
+void jongkyo_state::video_start()
{
}
@@ -428,10 +432,10 @@ INPUT_PORTS_END
*
*************************************/
-static PALETTE_INIT(jongkyo)
+void jongkyo_state::palette_init()
{
int i;
- UINT8* proms = machine.root_device().memregion("proms")->base();
+ UINT8* proms = machine().root_device().memregion("proms")->base();
for (i = 0; i < 0x40; i++)
{
int data = proms[i];
@@ -440,7 +444,7 @@ static PALETTE_INIT(jongkyo)
int g = (data >> 3) & 0x07;
int b = (data >> 6) & 0x03;
- palette_set_color_rgb(machine, i, r << 5, g << 5, b << 6 );
+ palette_set_color_rgb(machine(), i, r << 5, g << 5, b << 6 );
}
}
@@ -468,21 +472,19 @@ static const ay8910_interface ay8910_config =
*
*************************************/
-static MACHINE_START( jongkyo )
+void jongkyo_state::machine_start()
{
- jongkyo_state *state = machine.driver_data<jongkyo_state>();
- state->save_item(NAME(state->m_videoram2));
- state->save_item(NAME(state->m_rom_bank));
- state->save_item(NAME(state->m_mux_data));
+ save_item(NAME(m_videoram2));
+ save_item(NAME(m_rom_bank));
+ save_item(NAME(m_mux_data));
}
-static MACHINE_RESET( jongkyo )
+void jongkyo_state::machine_reset()
{
- jongkyo_state *state = machine.driver_data<jongkyo_state>();
- state->m_rom_bank = 0;
- state->m_mux_data = 0;
+ m_rom_bank = 0;
+ m_mux_data = 0;
}
@@ -494,8 +496,6 @@ static MACHINE_CONFIG_START( jongkyo, jongkyo_state )
MCFG_CPU_IO_MAP(jongkyo_portmap)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(jongkyo)
- MCFG_MACHINE_RESET(jongkyo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -506,9 +506,7 @@ static MACHINE_CONFIG_START( jongkyo, jongkyo_state )
MCFG_SCREEN_UPDATE_STATIC(jongkyo)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(jongkyo)
- MCFG_VIDEO_START(jongkyo)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, JONGKYO_CLOCK/8)
diff --git a/src/mame/drivers/jpmimpct.c b/src/mame/drivers/jpmimpct.c
index 430026ea670..435de9d12ad 100644
--- a/src/mame/drivers/jpmimpct.c
+++ b/src/mame/drivers/jpmimpct.c
@@ -124,31 +124,29 @@ static void update_irqs(running_machine &machine)
*
*************************************/
-static MACHINE_START( jpmimpct )
+MACHINE_START_MEMBER(jpmimpct_state,jpmimpct)
{
- jpmimpct_state *state = machine.driver_data<jpmimpct_state>();
- state_save_register_global(machine, state->m_tms_irq);
- state_save_register_global(machine, state->m_duart_1_irq);
- state_save_register_global(machine, state->m_touch_cnt);
- state_save_register_global_array(machine, state->m_touch_data);
+ state_save_register_global(machine(), m_tms_irq);
+ state_save_register_global(machine(), m_duart_1_irq);
+ state_save_register_global(machine(), m_touch_cnt);
+ state_save_register_global_array(machine(), m_touch_data);
/* TODO! */
- state_save_register_global(machine, state->m_duart_1.ISR);
- state_save_register_global(machine, state->m_duart_1.IMR);
- state_save_register_global(machine, state->m_duart_1.CT);
+ state_save_register_global(machine(), m_duart_1.ISR);
+ state_save_register_global(machine(), m_duart_1.IMR);
+ state_save_register_global(machine(), m_duart_1.CT);
}
-static MACHINE_RESET( jpmimpct )
+MACHINE_RESET_MEMBER(jpmimpct_state,jpmimpct)
{
- jpmimpct_state *state = machine.driver_data<jpmimpct_state>();
- memset(&state->m_duart_1, 0, sizeof(state->m_duart_1));
+ memset(&m_duart_1, 0, sizeof(m_duart_1));
/* Reset states */
- state->m_duart_1_irq = state->m_tms_irq = 0;
- state->m_touch_cnt = 0;
+ m_duart_1_irq = m_tms_irq = 0;
+ m_touch_cnt = 0;
-// state->m_duart_1.IVR=0x0f;
+// m_duart_1.IVR=0x0f;
}
@@ -824,8 +822,8 @@ static MACHINE_CONFIG_START( jpmimpct, jpmimpct_state )
MCFG_CPU_PROGRAM_MAP(tms_program_map)
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
- MCFG_MACHINE_START(jpmimpct)
- MCFG_MACHINE_RESET(jpmimpct)
+ MCFG_MACHINE_START_OVERRIDE(jpmimpct_state,jpmimpct)
+ MCFG_MACHINE_RESET_OVERRIDE(jpmimpct_state,jpmimpct)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_ADD( "duart_1_timer", duart_1_timer_event)
@@ -839,7 +837,7 @@ static MACHINE_CONFIG_START( jpmimpct, jpmimpct_state )
MCFG_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
- MCFG_VIDEO_START(jpmimpct)
+ MCFG_VIDEO_START_OVERRIDE(jpmimpct_state,jpmimpct)
MACHINE_CONFIG_END
@@ -973,35 +971,33 @@ static I8255_INTERFACE (ppi8255_intf)
DEVCB_DRIVER_MEMBER(jpmimpct_state,display_c_w)
};
-static MACHINE_START( impctawp )
+MACHINE_START_MEMBER(jpmimpct_state,impctawp)
{
- jpmimpct_state *state = machine.driver_data<jpmimpct_state>();
- state_save_register_global(machine, state->m_duart_1_irq);
- state_save_register_global(machine, state->m_touch_cnt);
- state_save_register_global_array(machine, state->m_touch_data);
+ state_save_register_global(machine(), m_duart_1_irq);
+ state_save_register_global(machine(), m_touch_cnt);
+ state_save_register_global_array(machine(), m_touch_data);
/* TODO! */
- state_save_register_global(machine, state->m_duart_1.ISR);
- state_save_register_global(machine, state->m_duart_1.IMR);
- state_save_register_global(machine, state->m_duart_1.CT);
-
- stepper_config(machine, 0, &starpoint_interface_48step);
- stepper_config(machine, 1, &starpoint_interface_48step);
- stepper_config(machine, 2, &starpoint_interface_48step);
- stepper_config(machine, 3, &starpoint_interface_48step);
- stepper_config(machine, 4, &starpoint_interface_48step);
- stepper_config(machine, 5, &starpoint_interface_48step);
- stepper_config(machine, 6, &starpoint_interface_48step);
+ state_save_register_global(machine(), m_duart_1.ISR);
+ state_save_register_global(machine(), m_duart_1.IMR);
+ state_save_register_global(machine(), m_duart_1.CT);
+
+ stepper_config(machine(), 0, &starpoint_interface_48step);
+ stepper_config(machine(), 1, &starpoint_interface_48step);
+ stepper_config(machine(), 2, &starpoint_interface_48step);
+ stepper_config(machine(), 3, &starpoint_interface_48step);
+ stepper_config(machine(), 4, &starpoint_interface_48step);
+ stepper_config(machine(), 5, &starpoint_interface_48step);
+ stepper_config(machine(), 6, &starpoint_interface_48step);
}
-static MACHINE_RESET( impctawp )
+MACHINE_RESET_MEMBER(jpmimpct_state,impctawp)
{
- jpmimpct_state *state = machine.driver_data<jpmimpct_state>();
- memset(&state->m_duart_1, 0, sizeof(state->m_duart_1));
+ memset(&m_duart_1, 0, sizeof(m_duart_1));
/* Reset states */
- state->m_duart_1_irq = 0;
- state->m_vfd->reset();
+ m_duart_1_irq = 0;
+ m_vfd->reset();
}
/*************************************
*
@@ -1377,8 +1373,8 @@ static MACHINE_CONFIG_START( impctawp, jpmimpct_state )
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
MCFG_ROC10937_ADD("vfd",0,RIGHT_TO_LEFT)
- MCFG_MACHINE_START(impctawp)
- MCFG_MACHINE_RESET(impctawp)
+ MCFG_MACHINE_START_OVERRIDE(jpmimpct_state,impctawp)
+ MCFG_MACHINE_RESET_OVERRIDE(jpmimpct_state,impctawp)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_I8255_ADD( "ppi8255", ppi8255_intf )
diff --git a/src/mame/drivers/jpmsys5.c b/src/mame/drivers/jpmsys5.c
index 192826a8666..134d3f8ee64 100644
--- a/src/mame/drivers/jpmsys5.c
+++ b/src/mame/drivers/jpmsys5.c
@@ -98,6 +98,11 @@ public:
DECLARE_WRITE_LINE_MEMBER(a2_tx_w);
DECLARE_READ_LINE_MEMBER(a2_dcd_r);
void sys5_draw_lamps();
+ DECLARE_MACHINE_START(jpmsys5v);
+ DECLARE_MACHINE_RESET(jpmsys5v);
+ DECLARE_VIDEO_START(jpmsys5v);
+ DECLARE_MACHINE_START(jpmsys5);
+ DECLARE_MACHINE_RESET(jpmsys5);
};
@@ -213,9 +218,9 @@ WRITE16_MEMBER(jpmsys5_state::ramdac_w)
}
}
-static VIDEO_START( jpmsys5v )
+VIDEO_START_MEMBER(jpmsys5_state,jpmsys5v)
{
- tms34061_start(machine, &tms34061intf);
+ tms34061_start(machine(), &tms34061intf);
}
static SCREEN_UPDATE_RGB32( jpmsys5v )
@@ -678,21 +683,19 @@ static ACIA6850_INTERFACE( acia2_if )
*
*************************************/
-static MACHINE_START( jpmsys5v )
+MACHINE_START_MEMBER(jpmsys5_state,jpmsys5v)
{
- jpmsys5_state *state = machine.driver_data<jpmsys5_state>();
- state->membank("bank1")->set_base(state->memregion("maincpu")->base()+0x20000);
- state->m_touch_timer = machine.scheduler().timer_alloc(FUNC(touch_cb));
+ membank("bank1")->set_base(memregion("maincpu")->base()+0x20000);
+ m_touch_timer = machine().scheduler().timer_alloc(FUNC(touch_cb));
}
-static MACHINE_RESET( jpmsys5v )
+MACHINE_RESET_MEMBER(jpmsys5_state,jpmsys5v)
{
- jpmsys5_state *state = machine.driver_data<jpmsys5_state>();
- state->m_touch_timer->reset();
- state->m_touch_state = IDLE;
- state->m_a2_data_in = 1;
- state->m_a2_acia_dcd = 0;
- state->m_vfd->reset();
+ m_touch_timer->reset();
+ m_touch_state = IDLE;
+ m_a2_data_in = 1;
+ m_a2_acia_dcd = 0;
+ m_vfd->reset();
}
@@ -715,14 +718,14 @@ static MACHINE_CONFIG_START( jpmsys5v, jpmsys5_state )
MCFG_ROC10937_ADD("vfd",0,RIGHT_TO_LEFT)//for debug ports
- MCFG_MACHINE_START(jpmsys5v)
- MCFG_MACHINE_RESET(jpmsys5v)
+ MCFG_MACHINE_START_OVERRIDE(jpmsys5_state,jpmsys5v)
+ MCFG_MACHINE_RESET_OVERRIDE(jpmsys5_state,jpmsys5v)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_40MHz / 4, 676, 20*4, 147*4, 256, 0, 254)
MCFG_SCREEN_UPDATE_STATIC(jpmsys5v)
- MCFG_VIDEO_START(jpmsys5v)
+ MCFG_VIDEO_START_OVERRIDE(jpmsys5_state,jpmsys5v)
MCFG_PALETTE_LENGTH(16)
@@ -834,17 +837,16 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( jpmsys5 )
+MACHINE_START_MEMBER(jpmsys5_state,jpmsys5)
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base()+0x20000);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base()+0x20000);
}
-static MACHINE_RESET( jpmsys5 )
+MACHINE_RESET_MEMBER(jpmsys5_state,jpmsys5)
{
- jpmsys5_state *state = machine.driver_data<jpmsys5_state>();
- state->m_a2_data_in = 1;
- state->m_a2_acia_dcd = 0;
- state->m_vfd->reset();
+ m_a2_data_in = 1;
+ m_a2_acia_dcd = 0;
+ m_vfd->reset();
}
/*************************************
@@ -864,8 +866,8 @@ static MACHINE_CONFIG_START( jpmsys5, jpmsys5_state )
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_ROC10937_ADD("vfd",0,RIGHT_TO_LEFT)
- MCFG_MACHINE_START(jpmsys5)
- MCFG_MACHINE_RESET(jpmsys5)
+ MCFG_MACHINE_START_OVERRIDE(jpmsys5_state,jpmsys5)
+ MCFG_MACHINE_RESET_OVERRIDE(jpmsys5_state,jpmsys5)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("upd7759", UPD7759, UPD7759_STANDARD_CLOCK)
diff --git a/src/mame/drivers/jrpacman.c b/src/mame/drivers/jrpacman.c
index d0e412785e8..d99673fb3b9 100644
--- a/src/mame/drivers/jrpacman.c
+++ b/src/mame/drivers/jrpacman.c
@@ -307,8 +307,8 @@ static MACHINE_CONFIG_START( jrpacman, jrpacman_state )
MCFG_GFXDECODE(jrpacman)
MCFG_PALETTE_LENGTH(128*4)
- MCFG_PALETTE_INIT(pacman)
- MCFG_VIDEO_START(jrpacman)
+ MCFG_PALETTE_INIT_OVERRIDE(jrpacman_state,pacman)
+ MCFG_VIDEO_START_OVERRIDE(jrpacman_state,jrpacman)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/jubilee.c b/src/mame/drivers/jubilee.c
index cb4694e8ab7..b4937a846b4 100644
--- a/src/mame/drivers/jubilee.c
+++ b/src/mame/drivers/jubilee.c
@@ -102,6 +102,8 @@ public:
DECLARE_WRITE8_MEMBER(jubileep_videoram_w);
DECLARE_READ8_MEMBER(unk_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -126,10 +128,9 @@ TILE_GET_INFO_MEMBER(jubilee_state::get_bg_tile_info)
-static VIDEO_START( jubileep )
+void jubilee_state::video_start()
{
- jubilee_state *state = machine.driver_data<jubilee_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jubilee_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jubilee_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -141,7 +142,7 @@ static SCREEN_UPDATE_IND16( jubileep )
}
-static PALETTE_INIT( jubileep )
+void jubilee_state::palette_init()
{
}
@@ -428,10 +429,8 @@ static MACHINE_CONFIG_START( jubileep, jubilee_state )
MCFG_GFXDECODE(jubileep)
- MCFG_PALETTE_INIT(jubileep)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(jubileep)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/4, mc6845_intf) /* guess */
diff --git a/src/mame/drivers/junofrst.c b/src/mame/drivers/junofrst.c
index e7e39d791dc..c9186294c1d 100644
--- a/src/mame/drivers/junofrst.c
+++ b/src/mame/drivers/junofrst.c
@@ -116,6 +116,8 @@ public:
DECLARE_READ8_MEMBER(junofrst_portA_r);
DECLARE_WRITE8_MEMBER(junofrst_portB_w);
DECLARE_DRIVER_INIT(junofrst);
+ DECLARE_MACHINE_START(junofrst);
+ DECLARE_MACHINE_RESET(junofrst);
};
@@ -384,38 +386,36 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_START( junofrst )
+MACHINE_START_MEMBER(junofrst_state,junofrst)
{
- junofrst_state *state = machine.driver_data<junofrst_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_i8039 = machine.device("mcu");
- state->m_soundcpu = machine.device<cpu_device>("audiocpu");
- state->m_filter_0_0 = machine.device("filter.0.0");
- state->m_filter_0_1 = machine.device("filter.0.1");
- state->m_filter_0_2 = machine.device("filter.0.2");
-
- state->save_item(NAME(state->m_i8039_status));
- state->save_item(NAME(state->m_last_irq));
- state->save_item(NAME(state->m_irq_toggle));
- state->save_item(NAME(state->m_irq_enable));
- state->save_item(NAME(state->m_flip_x));
- state->save_item(NAME(state->m_flip_y));
- state->save_item(NAME(state->m_blitterdata));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_i8039 = machine().device("mcu");
+ m_soundcpu = machine().device<cpu_device>("audiocpu");
+ m_filter_0_0 = machine().device("filter.0.0");
+ m_filter_0_1 = machine().device("filter.0.1");
+ m_filter_0_2 = machine().device("filter.0.2");
+
+ save_item(NAME(m_i8039_status));
+ save_item(NAME(m_last_irq));
+ save_item(NAME(m_irq_toggle));
+ save_item(NAME(m_irq_enable));
+ save_item(NAME(m_flip_x));
+ save_item(NAME(m_flip_y));
+ save_item(NAME(m_blitterdata));
}
-static MACHINE_RESET( junofrst )
+MACHINE_RESET_MEMBER(junofrst_state,junofrst)
{
- junofrst_state *state = machine.driver_data<junofrst_state>();
-
- state->m_i8039_status = 0;
- state->m_last_irq = 0;
- state->m_flip_x = 0;
- state->m_flip_y = 0;
- state->m_blitterdata[0] = 0;
- state->m_blitterdata[1] = 0;
- state->m_blitterdata[2] = 0;
- state->m_blitterdata[3] = 0;
+
+ m_i8039_status = 0;
+ m_last_irq = 0;
+ m_flip_x = 0;
+ m_flip_y = 0;
+ m_blitterdata[0] = 0;
+ m_blitterdata[1] = 0;
+ m_blitterdata[2] = 0;
+ m_blitterdata[3] = 0;
}
static INTERRUPT_GEN( junofrst_30hz_irq )
@@ -442,8 +442,8 @@ static MACHINE_CONFIG_START( junofrst, junofrst_state )
MCFG_CPU_PROGRAM_MAP(mcu_map)
MCFG_CPU_IO_MAP(mcu_io_map)
- MCFG_MACHINE_START(junofrst)
- MCFG_MACHINE_RESET(junofrst)
+ MCFG_MACHINE_START_OVERRIDE(junofrst_state,junofrst)
+ MCFG_MACHINE_RESET_OVERRIDE(junofrst_state,junofrst)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index e4d597ff00a..e8c6cef24a2 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -105,16 +105,14 @@ Dip locations verified from manual for:
-static MACHINE_RESET( gtmr )
+MACHINE_RESET_MEMBER(kaneko16_state,gtmr)
{
- kaneko16_state *state = machine.driver_data<kaneko16_state>();
- state->VIEW2_2_pri = 1;
+ VIEW2_2_pri = 1;
}
-static MACHINE_RESET( mgcrystl )
+MACHINE_RESET_MEMBER(kaneko16_state,mgcrystl)
{
- kaneko16_state *state = machine.driver_data<kaneko16_state>();
- state->VIEW2_2_pri = 0;
+ VIEW2_2_pri = 0;
}
@@ -1669,8 +1667,8 @@ static MACHINE_CONFIG_START( berlwall, kaneko16_berlwall_state )
kaneko16_sprite_device::set_altspacing(*device, 1);
- MCFG_PALETTE_INIT(berlwall)
- MCFG_VIDEO_START(berlwall)
+ MCFG_PALETTE_INIT_OVERRIDE(kaneko16_berlwall_state,berlwall)
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_berlwall_state,berlwall)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1699,7 +1697,7 @@ static MACHINE_CONFIG_START( bakubrkr, kaneko16_state )
MCFG_CPU_PROGRAM_MAP(bakubrkr)
MCFG_TIMER_ADD_SCANLINE("scantimer", kaneko16_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(gtmr)
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_berlwall_state,gtmr)
MCFG_EEPROM_93C46_ADD("eeprom")
/* video hardware */
@@ -1729,7 +1727,7 @@ static MACHINE_CONFIG_START( bakubrkr, kaneko16_state )
- MCFG_VIDEO_START(kaneko16)
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_berlwall_state,kaneko16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1794,7 +1792,7 @@ static MACHINE_CONFIG_START( blazeon, kaneko16_state )
// there is actually a 2nd sprite chip! looks like our device emulation handles both at once
- MCFG_VIDEO_START(kaneko16)
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_berlwall_state,kaneko16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1827,7 +1825,7 @@ static MACHINE_CONFIG_START( gtmr, kaneko16_gtmr_state )
MCFG_CPU_PROGRAM_MAP(gtmr_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", kaneko16_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(gtmr)
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_berlwall_state,gtmr)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -1862,7 +1860,7 @@ static MACHINE_CONFIG_START( gtmr, kaneko16_gtmr_state )
kaneko_hit_device::set_type(*device, 1);
- MCFG_VIDEO_START(kaneko16)
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_berlwall_state,kaneko16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1900,7 +1898,7 @@ static MACHINE_CONFIG_DERIVED( bloodwar, gtmr )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bloodwar)
- MCFG_MACHINE_RESET( gtmr )
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_berlwall_state, gtmr )
MCFG_DEVICE_MODIFY("kan_spr")
kaneko16_sprite_device::set_priorities(*device, 2 /* never used? */ ,3 /* character selection / vs. portraits */ ,5 /* winning portrait*/ ,7 /* ? */);
@@ -1921,7 +1919,7 @@ static MACHINE_CONFIG_DERIVED( bonkadv, gtmr )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(bonkadv)
- MCFG_MACHINE_RESET( gtmr )
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_berlwall_state, gtmr )
MCFG_DEVICE_MODIFY("kan_spr")
kaneko16_sprite_device::set_priorities(*device, 2 /* never used? */ ,3 /* volcano lava on level 2 */ ,5 /* in-game player */ ,7 /* demostration text */);
@@ -1946,7 +1944,7 @@ static MACHINE_CONFIG_START( mgcrystl, kaneko16_state )
MCFG_CPU_PROGRAM_MAP(mgcrystl)
MCFG_TIMER_ADD_SCANLINE("scantimer", kaneko16_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(mgcrystl)
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_berlwall_state,mgcrystl)
MCFG_EEPROM_93C46_ADD("eeprom")
/* video hardware */
@@ -1976,7 +1974,7 @@ static MACHINE_CONFIG_START( mgcrystl, kaneko16_state )
- MCFG_VIDEO_START(kaneko16)
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_berlwall_state,kaneko16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2070,7 +2068,7 @@ static MACHINE_CONFIG_START( shogwarr, kaneko16_shogwarr_state )
MCFG_CPU_PROGRAM_MAP(shogwarr)
MCFG_TIMER_ADD_SCANLINE("scantimer", shogwarr_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(mgcrystl)
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_berlwall_state,mgcrystl)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_EEPROM_DATA(shogwarr_default_eeprom, 128)
@@ -2092,7 +2090,7 @@ static MACHINE_CONFIG_START( shogwarr, kaneko16_shogwarr_state )
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x33, -0x8, 320, 240);
- MCFG_VIDEO_START(kaneko16)
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_berlwall_state,kaneko16)
MCFG_DEVICE_ADD_VU002_SPRITES
kaneko16_sprite_device::set_priorities(*device, 1 /* below all */ ,3 /* above tile[0], below the others */ ,5 /* above all */ ,7 /* above all */);
diff --git a/src/mame/drivers/kangaroo.c b/src/mame/drivers/kangaroo.c
index 4ed2dddf626..54c7116fc15 100644
--- a/src/mame/drivers/kangaroo.c
+++ b/src/mame/drivers/kangaroo.c
@@ -172,25 +172,22 @@
*
*************************************/
-static MACHINE_START( kangaroo )
+void kangaroo_state::machine_start()
{
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("gfx1")->base(), 0x2000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("gfx1")->base(), 0x2000);
}
-static MACHINE_START( kangaroo_mcu )
+MACHINE_START_MEMBER(kangaroo_state,kangaroo_mcu)
{
- kangaroo_state *state = machine.driver_data<kangaroo_state>();
-
- MACHINE_START_CALL(kangaroo);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xef00, 0xefff, read8_delegate(FUNC(kangaroo_state::mcu_sim_r),state), write8_delegate(FUNC(kangaroo_state::mcu_sim_w),state));
- state->save_item(NAME(state->m_clock));
+ kangaroo_state::machine_start();
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xef00, 0xefff, read8_delegate(FUNC(kangaroo_state::mcu_sim_r),this), write8_delegate(FUNC(kangaroo_state::mcu_sim_w),this));
+ save_item(NAME(m_clock));
}
-static MACHINE_RESET( kangaroo )
+void kangaroo_state::machine_reset()
{
- kangaroo_state *state = machine.driver_data<kangaroo_state>();
/* I think there is a bug in the startup checks of the game. At the very */
/* beginning, during the RAM check, it goes one byte too far, and ends up */
@@ -203,9 +200,9 @@ static MACHINE_RESET( kangaroo )
/* the copy protection. */
/* Anyway, what I do here is just immediately generate the NMI, so the game */
/* properly starts. */
- machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
+ machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
- state->m_clock = 0;
+ m_clock = 0;
}
@@ -438,8 +435,6 @@ static MACHINE_CONFIG_START( nomcu, kangaroo_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(kangaroo)
- MCFG_MACHINE_RESET(kangaroo)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
@@ -448,7 +443,6 @@ static MACHINE_CONFIG_START( nomcu, kangaroo_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK, 320*2, 0*2, 256*2, 260, 8, 248)
MCFG_SCREEN_UPDATE_STATIC(kangaroo)
- MCFG_VIDEO_START(kangaroo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -459,7 +453,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mcu, nomcu )
- MCFG_MACHINE_START(kangaroo_mcu)
+ MCFG_MACHINE_START_OVERRIDE(kangaroo_state,kangaroo_mcu)
MCFG_CPU_ADD("mcu", MB8841, MASTER_CLOCK/4/2)
MCFG_DEVICE_DISABLE()
diff --git a/src/mame/drivers/karnov.c b/src/mame/drivers/karnov.c
index 4c2ddc99f39..f8940b50377 100644
--- a/src/mame/drivers/karnov.c
+++ b/src/mame/drivers/karnov.c
@@ -765,41 +765,39 @@ static const ym3526_interface ym3526_config =
*
*************************************/
-static MACHINE_START( karnov )
+void karnov_state::machine_start()
{
- karnov_state *state = machine.driver_data<karnov_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_scroll));
- state->save_item(NAME(state->m_i8751_return));
- state->save_item(NAME(state->m_i8751_needs_ack));
- state->save_item(NAME(state->m_i8751_coin_pending));
- state->save_item(NAME(state->m_i8751_command_queue));
- state->save_item(NAME(state->m_i8751_level));
- state->save_item(NAME(state->m_latch));
+ save_item(NAME(m_i8751_return));
+ save_item(NAME(m_i8751_needs_ack));
+ save_item(NAME(m_i8751_coin_pending));
+ save_item(NAME(m_i8751_command_queue));
+ save_item(NAME(m_i8751_level));
+ save_item(NAME(m_latch));
}
-static MACHINE_RESET( karnov )
+void karnov_state::machine_reset()
{
- karnov_state *state = machine.driver_data<karnov_state>();
- memset(state->m_ram, 0, 0x4000 / 2); /* Chelnov likes ram clear on reset.. */
+ memset(m_ram, 0, 0x4000 / 2); /* Chelnov likes ram clear on reset.. */
- state->m_i8751_return = 0;
- state->m_i8751_needs_ack = 0;
- state->m_i8751_coin_pending = 0;
- state->m_i8751_command_queue = 0;
- state->m_i8751_level = 0;
-// state->m_latch = 0;
-
- state->m_flipscreen = 0;
- state->m_scroll[0] = 0;
- state->m_scroll[1] = 0;
+ m_i8751_return = 0;
+ m_i8751_needs_ack = 0;
+ m_i8751_coin_pending = 0;
+ m_i8751_command_queue = 0;
+ m_i8751_level = 0;
+// m_latch = 0;
+
+ m_flipscreen = 0;
+ m_scroll[0] = 0;
+ m_scroll[1] = 0;
}
@@ -813,8 +811,6 @@ static MACHINE_CONFIG_START( karnov, karnov_state )
MCFG_CPU_ADD("audiocpu", M6502, 1500000) /* Accurate */
MCFG_CPU_PROGRAM_MAP(karnov_sound_map)
- MCFG_MACHINE_START(karnov)
- MCFG_MACHINE_RESET(karnov)
/* video hardware */
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -832,8 +828,7 @@ static MACHINE_CONFIG_START( karnov, karnov_state )
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 2);
- MCFG_PALETTE_INIT(karnov)
- MCFG_VIDEO_START(karnov)
+ MCFG_VIDEO_START_OVERRIDE(karnov_state,karnov)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -857,8 +852,6 @@ static MACHINE_CONFIG_START( wndrplnt, karnov_state )
MCFG_CPU_ADD("audiocpu", M6502, 1500000) /* Accurate */
MCFG_CPU_PROGRAM_MAP(karnov_sound_map)
- MCFG_MACHINE_START(karnov)
- MCFG_MACHINE_RESET(karnov)
/* video hardware */
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -876,8 +869,7 @@ static MACHINE_CONFIG_START( wndrplnt, karnov_state )
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 2);
- MCFG_PALETTE_INIT(karnov)
- MCFG_VIDEO_START(wndrplnt)
+ MCFG_VIDEO_START_OVERRIDE(karnov_state,wndrplnt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/kas89.c b/src/mame/drivers/kas89.c
index 8d931fcc655..41c81156f2a 100644
--- a/src/mame/drivers/kas89.c
+++ b/src/mame/drivers/kas89.c
@@ -226,6 +226,8 @@ public:
DECLARE_WRITE8_MEMBER(led_mux_data_w);
DECLARE_WRITE8_MEMBER(led_mux_select_w);
DECLARE_DRIVER_INIT(kas89);
+ virtual void machine_start();
+ virtual void machine_reset();
};
#define VDP_MEM 0x40000
@@ -254,20 +256,18 @@ static TIMER_DEVICE_CALLBACK( kas89_interrupt )
* Machine Start & Reset *
*************************************/
-static MACHINE_START( kas89 )
+void kas89_state::machine_start()
{
- kas89_state *state = machine.driver_data<kas89_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
output_set_lamp_value(37, 0); /* turning off the operator led */
}
-static MACHINE_RESET(kas89)
+void kas89_state::machine_reset()
{
- kas89_state *state = machine.driver_data<kas89_state>();
- state->m_main_nmi_enable = 0;
+ m_main_nmi_enable = 0;
}
@@ -787,8 +787,6 @@ static MACHINE_CONFIG_START( kas89, kas89_state )
MCFG_CPU_IO_MAP(audio_io)
MCFG_TIMER_ADD_PERIODIC("kas89_snmi", kas89_sound_nmi_cb, attotime::from_hz(138)) /* Connected to a 138Hz osc.*/
- MCFG_MACHINE_START(kas89)
- MCFG_MACHINE_RESET(kas89)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/kchamp.c b/src/mame/drivers/kchamp.c
index ea018b2093f..347db748c3d 100644
--- a/src/mame/drivers/kchamp.c
+++ b/src/mame/drivers/kchamp.c
@@ -383,33 +383,30 @@ static INTERRUPT_GEN( sound_int )
}
-static MACHINE_START( kchamp )
+MACHINE_START_MEMBER(kchamp_state,kchamp)
{
- kchamp_state *state = machine.driver_data<kchamp_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_nmi_enable));
- state->save_item(NAME(state->m_sound_nmi_enable));
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_sound_nmi_enable));
}
-static MACHINE_START( kchampvs )
+MACHINE_START_MEMBER(kchamp_state,kchampvs)
{
- kchamp_state *state = machine.driver_data<kchamp_state>();
- MACHINE_START_CALL(kchamp);
+ MACHINE_START_CALL_MEMBER(kchamp);
- state->save_item(NAME(state->m_msm_data));
- state->save_item(NAME(state->m_msm_play_lo_nibble));
- state->save_item(NAME(state->m_counter));
+ save_item(NAME(m_msm_data));
+ save_item(NAME(m_msm_play_lo_nibble));
+ save_item(NAME(m_counter));
}
-static MACHINE_RESET( kchamp )
+void kchamp_state::machine_reset()
{
- kchamp_state *state = machine.driver_data<kchamp_state>();
- state->m_nmi_enable = 0;
- state->m_sound_nmi_enable = 0;
+ m_nmi_enable = 0;
+ m_sound_nmi_enable = 0;
}
static MACHINE_CONFIG_START( kchampvs, kchamp_state )
@@ -425,8 +422,7 @@ static MACHINE_CONFIG_START( kchampvs, kchamp_state )
MCFG_CPU_IO_MAP(kchampvs_sound_io_map) /* irq's triggered from main cpu */
/* nmi's from msm5205 */
- MCFG_MACHINE_START(kchampvs)
- MCFG_MACHINE_RESET(kchamp)
+ MCFG_MACHINE_START_OVERRIDE(kchamp_state,kchampvs)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -439,8 +435,6 @@ static MACHINE_CONFIG_START( kchampvs, kchamp_state )
MCFG_GFXDECODE(kchamp)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(kchamp)
- MCFG_VIDEO_START(kchamp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -475,8 +469,7 @@ static MACHINE_CONFIG_START( kchamp, kchamp_state )
/* irq's triggered from main cpu */
/* nmi's from 125 Hz clock */
- MCFG_MACHINE_START(kchamp)
- MCFG_MACHINE_RESET(kchamp)
+ MCFG_MACHINE_START_OVERRIDE(kchamp_state,kchamp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -489,8 +482,6 @@ static MACHINE_CONFIG_START( kchamp, kchamp_state )
MCFG_GFXDECODE(kchamp)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(kchamp)
- MCFG_VIDEO_START(kchamp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/kickgoal.c b/src/mame/drivers/kickgoal.c
index 18c340282ef..b3c335e2450 100644
--- a/src/mame/drivers/kickgoal.c
+++ b/src/mame/drivers/kickgoal.c
@@ -618,31 +618,29 @@ GFXDECODE_END
/* MACHINE drivers ***********************************************************/
-static MACHINE_START( kickgoal )
+void kickgoal_state::machine_start()
{
- kickgoal_state *state = machine.driver_data<kickgoal_state>();
-
- state->save_item(NAME(state->m_snd_sam));
- state->save_item(NAME(state->m_melody_loop));
- state->save_item(NAME(state->m_snd_new));
- state->save_item(NAME(state->m_m6295_comm));
- state->save_item(NAME(state->m_m6295_bank));
- state->save_item(NAME(state->m_m6295_key_delay));
+
+ save_item(NAME(m_snd_sam));
+ save_item(NAME(m_melody_loop));
+ save_item(NAME(m_snd_new));
+ save_item(NAME(m_m6295_comm));
+ save_item(NAME(m_m6295_bank));
+ save_item(NAME(m_m6295_key_delay));
}
-static MACHINE_RESET( kickgoal )
+void kickgoal_state::machine_reset()
{
- kickgoal_state *state = machine.driver_data<kickgoal_state>();
-
- state->m_melody_loop = 0;
- state->m_snd_new = 0;
- state->m_snd_sam[0] = 0;
- state->m_snd_sam[1] = 0;
- state->m_snd_sam[2] = 0;
- state->m_snd_sam[3] = 0;
- state->m_m6295_comm = 0;
- state->m_m6295_bank = 0;
- state->m_m6295_key_delay = 0;
+
+ m_melody_loop = 0;
+ m_snd_new = 0;
+ m_snd_sam[0] = 0;
+ m_snd_sam[1] = 0;
+ m_snd_sam[2] = 0;
+ m_snd_sam[3] = 0;
+ m_m6295_comm = 0;
+ m_m6295_bank = 0;
+ m_m6295_key_delay = 0;
}
static MACHINE_CONFIG_START( kickgoal, kickgoal_state )
@@ -658,8 +656,6 @@ static MACHINE_CONFIG_START( kickgoal, kickgoal_state )
/* Program and Data Maps are internal to the MCU */
MCFG_CPU_IO_MAP(kickgoal_sound_io_map)
- MCFG_MACHINE_START(kickgoal)
- MCFG_MACHINE_RESET(kickgoal)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_EEPROM_DATA(kickgoal_default_eeprom_type1, 128)
@@ -675,7 +671,7 @@ static MACHINE_CONFIG_START( kickgoal, kickgoal_state )
MCFG_GFXDECODE(kickgoal)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(kickgoal)
+ MCFG_VIDEO_START_OVERRIDE(kickgoal_state,kickgoal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -695,8 +691,6 @@ static MACHINE_CONFIG_START( actionhw, kickgoal_state )
/* Program and Data Maps are internal to the MCU */
MCFG_CPU_IO_MAP(actionhw_io_map)
- MCFG_MACHINE_START(kickgoal)
- MCFG_MACHINE_RESET(kickgoal)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_EEPROM_DATA(kickgoal_default_eeprom_type1, 128)
@@ -712,7 +706,7 @@ static MACHINE_CONFIG_START( actionhw, kickgoal_state )
MCFG_GFXDECODE(actionhw)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(actionhw)
+ MCFG_VIDEO_START_OVERRIDE(kickgoal_state,actionhw)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/kingdrby.c b/src/mame/drivers/kingdrby.c
index c12db8b3a4c..89f371c5a3e 100644
--- a/src/mame/drivers/kingdrby.c
+++ b/src/mame/drivers/kingdrby.c
@@ -107,6 +107,9 @@ public:
DECLARE_WRITE8_MEMBER(outportb_w);
TILE_GET_INFO_MEMBER(get_sc0_tile_info);
TILE_GET_INFO_MEMBER(get_sc1_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(kingdrbb);
};
@@ -164,14 +167,13 @@ TILE_GET_INFO_MEMBER(kingdrby_state::get_sc1_tile_info)
tileinfo.category = (m_attr[tile_index] & 0x08)>>3;
}
-static VIDEO_START(kingdrby)
+void kingdrby_state::video_start()
{
- kingdrby_state *state = machine.driver_data<kingdrby_state>();
- state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,24);
- state->m_sc1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,24);
- state->m_sc0w_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_sc0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc0_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,24);
+ m_sc1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc1_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,24);
+ m_sc0w_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc0_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_sc1_tilemap->set_transparent_pen(0);
+ m_sc1_tilemap->set_transparent_pen(0);
}
static const UINT8 hw_sprite[16] =
@@ -953,9 +955,9 @@ static const ym2203_interface cowrace_ym2203_interface =
DEVCB_NULL
};
-static PALETTE_INIT(kingdrby)
+void kingdrby_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit0, bit1, bit2 , r, g, b;
int i;
@@ -974,15 +976,15 @@ static PALETTE_INIT(kingdrby)
bit2 = (color_prom[0] >> 5) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
-static PALETTE_INIT(kingdrbb)
+PALETTE_INIT_MEMBER(kingdrby_state,kingdrbb)
{
- UINT8 *raw_prom = machine.root_device().memregion("raw_prom")->base();
- UINT8 *prom = machine.root_device().memregion("proms")->base();
+ UINT8 *raw_prom = machine().root_device().memregion("raw_prom")->base();
+ UINT8 *prom = machine().root_device().memregion("proms")->base();
int bit0, bit1, bit2 , r, g, b;
int i;
@@ -1007,7 +1009,7 @@ static PALETTE_INIT(kingdrbb)
bit2 = (prom[i] >> 5) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -1036,7 +1038,6 @@ static MACHINE_CONFIG_START( kingdrby, kingdrby_state )
MCFG_GFXDECODE(kingdrby)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(kingdrby)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -1045,7 +1046,6 @@ static MACHINE_CONFIG_START( kingdrby, kingdrby_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 224-1) /* controlled by CRTC */
MCFG_SCREEN_UPDATE_STATIC(kingdrby)
- MCFG_VIDEO_START(kingdrby)
MCFG_MC6845_ADD("crtc", MC6845, CLK_1/32, mc6845_intf) /* 53.333 Hz. guess */
@@ -1061,7 +1061,7 @@ static MACHINE_CONFIG_DERIVED( kingdrbb, kingdrby )
MCFG_CPU_MODIFY("slave")
MCFG_CPU_PROGRAM_MAP(slave_1986_map)
- MCFG_PALETTE_INIT(kingdrbb)
+ MCFG_PALETTE_INIT_OVERRIDE(kingdrby_state,kingdrbb)
MCFG_DEVICE_REMOVE("ppi8255_0")
MCFG_DEVICE_REMOVE("ppi8255_1")
@@ -1076,7 +1076,6 @@ static MACHINE_CONFIG_DERIVED( cowrace, kingdrbb )
MCFG_CPU_IO_MAP(cowrace_sound_io)
MCFG_GFXDECODE(cowrace)
- MCFG_PALETTE_INIT(kingdrby)
MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
diff --git a/src/mame/drivers/kingobox.c b/src/mame/drivers/kingobox.c
index 654d04f6fe8..f9d2b8c499a 100644
--- a/src/mame/drivers/kingobox.c
+++ b/src/mame/drivers/kingobox.c
@@ -450,24 +450,22 @@ static INTERRUPT_GEN( kingofb_interrupt )
device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_START( kingofb )
+void kingofb_state::machine_start()
{
- kingofb_state *state = machine.driver_data<kingofb_state>();
- state->m_video_cpu = machine.device("video");
- state->m_sprite_cpu = machine.device("sprite");
- state->m_audio_cpu = machine.device("audiocpu");
+ m_video_cpu = machine().device("video");
+ m_sprite_cpu = machine().device("sprite");
+ m_audio_cpu = machine().device("audiocpu");
- state->save_item(NAME(state->m_nmi_enable));
- state->save_item(NAME(state->m_palette_bank));
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_palette_bank));
}
-static MACHINE_RESET( kingofb )
+void kingofb_state::machine_reset()
{
- kingofb_state *state = machine.driver_data<kingofb_state>();
- state->m_nmi_enable = 0;
- state->m_palette_bank = 0;
+ m_nmi_enable = 0;
+ m_palette_bank = 0;
}
static MACHINE_CONFIG_START( kingofb, kingofb_state )
@@ -492,8 +490,6 @@ static MACHINE_CONFIG_START( kingofb, kingofb_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* We really need heavy synching among the processors */
- MCFG_MACHINE_START(kingofb)
- MCFG_MACHINE_RESET(kingofb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -506,8 +502,8 @@ static MACHINE_CONFIG_START( kingofb, kingofb_state )
MCFG_GFXDECODE(kingobox)
MCFG_PALETTE_LENGTH(256+8*2)
- MCFG_PALETTE_INIT(kingofb)
- MCFG_VIDEO_START(kingofb)
+ MCFG_PALETTE_INIT_OVERRIDE(kingofb_state,kingofb)
+ MCFG_VIDEO_START_OVERRIDE(kingofb_state,kingofb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -544,8 +540,6 @@ static MACHINE_CONFIG_START( ringking, kingofb_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* We really need heavy synching among the processors */
- MCFG_MACHINE_START(kingofb)
- MCFG_MACHINE_RESET(kingofb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -558,8 +552,8 @@ static MACHINE_CONFIG_START( ringking, kingofb_state )
MCFG_GFXDECODE(rk)
MCFG_PALETTE_LENGTH(256+8*2)
- MCFG_PALETTE_INIT(ringking)
- MCFG_VIDEO_START(ringking)
+ MCFG_PALETTE_INIT_OVERRIDE(kingofb_state,ringking)
+ MCFG_VIDEO_START_OVERRIDE(kingofb_state,ringking)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/kinst.c b/src/mame/drivers/kinst.c
index 63cf9a5e18d..f177af51c55 100644
--- a/src/mame/drivers/kinst.c
+++ b/src/mame/drivers/kinst.c
@@ -160,6 +160,8 @@ public:
DECLARE_WRITE32_MEMBER(kinst_ide_extra_w);
DECLARE_DRIVER_INIT(kinst);
DECLARE_DRIVER_INIT(kinst2);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -175,16 +177,15 @@ public:
*
*************************************/
-static MACHINE_START( kinst )
+void kinst_state::machine_start()
{
- kinst_state *state = machine.driver_data<kinst_state>();
/* set the fastest DRC options */
- mips3drc_set_options(machine.device("maincpu"), MIPS3DRC_FASTEST_OPTIONS);
+ mips3drc_set_options(machine().device("maincpu"), MIPS3DRC_FASTEST_OPTIONS);
/* configure fast RAM regions for DRC */
- mips3drc_add_fastram(machine.device("maincpu"), 0x08000000, 0x087fffff, FALSE, state->m_rambase2);
- mips3drc_add_fastram(machine.device("maincpu"), 0x00000000, 0x0007ffff, FALSE, state->m_rambase);
- mips3drc_add_fastram(machine.device("maincpu"), 0x1fc00000, 0x1fc7ffff, TRUE, state->m_rombase);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x08000000, 0x087fffff, FALSE, m_rambase2);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x00000000, 0x0007ffff, FALSE, m_rambase);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x1fc00000, 0x1fc7ffff, TRUE, m_rombase);
}
@@ -195,13 +196,12 @@ static MACHINE_START( kinst )
*
*************************************/
-static MACHINE_RESET( kinst )
+void kinst_state::machine_reset()
{
- kinst_state *state = machine.driver_data<kinst_state>();
- device_t *ide = machine.device("ide");
+ device_t *ide = machine().device("ide");
UINT8 *features = ide_get_features(ide,0);
- if (strncmp(machine.system().name, "kinst2", 6) != 0)
+ if (strncmp(machine().system().name, "kinst2", 6) != 0)
{
/* kinst: tweak the model number so we pass the check */
features[27*2+0] = 0x54;
@@ -231,7 +231,7 @@ static MACHINE_RESET( kinst )
}
/* set a safe base location for video */
- state->m_video_base = &state->m_rambase[0x30000/4];
+ m_video_base = &m_rambase[0x30000/4];
}
@@ -677,8 +677,6 @@ static MACHINE_CONFIG_START( kinst, kinst_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", irq0_start)
- MCFG_MACHINE_START(kinst)
- MCFG_MACHINE_RESET(kinst)
MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true)
diff --git a/src/mame/drivers/klax.c b/src/mame/drivers/klax.c
index 6621033f42b..ee48315c5a5 100644
--- a/src/mame/drivers/klax.c
+++ b/src/mame/drivers/klax.c
@@ -60,19 +60,18 @@ WRITE16_MEMBER(klax_state::interrupt_ack_w)
*
*************************************/
-static MACHINE_START( klax )
+MACHINE_START_MEMBER(klax_state,klax)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( klax )
+MACHINE_RESET_MEMBER(klax_state,klax)
{
- klax_state *state = machine.driver_data<klax_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, scanline_update, 32);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, scanline_update, 32);
}
@@ -172,8 +171,8 @@ static MACHINE_CONFIG_START( klax, klax_state )
MCFG_CPU_PROGRAM_MAP(klax_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(klax)
- MCFG_MACHINE_RESET(klax)
+ MCFG_MACHINE_START_OVERRIDE(klax_state,klax)
+ MCFG_MACHINE_RESET_OVERRIDE(klax_state,klax)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -187,7 +186,7 @@ static MACHINE_CONFIG_START( klax, klax_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(klax)
- MCFG_VIDEO_START(klax)
+ MCFG_VIDEO_START_OVERRIDE(klax_state,klax)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/kncljoe.c b/src/mame/drivers/kncljoe.c
index 464b2f3a3b1..f1daa576106 100644
--- a/src/mame/drivers/kncljoe.c
+++ b/src/mame/drivers/kncljoe.c
@@ -262,28 +262,26 @@ static INTERRUPT_GEN (sound_nmi)
device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_START( kncljoe )
+void kncljoe_state::machine_start()
{
- kncljoe_state *state = machine.driver_data<kncljoe_state>();
- state->m_soundcpu = machine.device<cpu_device>("soundcpu");
+ m_soundcpu = machine().device<cpu_device>("soundcpu");
- state->save_item(NAME(state->m_port1));
- state->save_item(NAME(state->m_port2));
- state->save_item(NAME(state->m_tile_bank));
- state->save_item(NAME(state->m_sprite_bank));
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_port1));
+ save_item(NAME(m_port2));
+ save_item(NAME(m_tile_bank));
+ save_item(NAME(m_sprite_bank));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( kncljoe )
+void kncljoe_state::machine_reset()
{
- kncljoe_state *state = machine.driver_data<kncljoe_state>();
- state->m_port1 = 0;
- state->m_port2 = 0;
- state->m_tile_bank = 0;
- state->m_sprite_bank = 0;
- state->m_flipscreen = 0;
+ m_port1 = 0;
+ m_port2 = 0;
+ m_tile_bank = 0;
+ m_sprite_bank = 0;
+ m_flipscreen = 0;
}
static MACHINE_CONFIG_START( kncljoe, kncljoe_state )
@@ -298,8 +296,6 @@ static MACHINE_CONFIG_START( kncljoe, kncljoe_state )
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_CPU_PERIODIC_INT(sound_nmi, (double)3970) //measured 3.970 kHz
- MCFG_MACHINE_START(kncljoe)
- MCFG_MACHINE_RESET(kncljoe)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
@@ -314,8 +310,6 @@ static MACHINE_CONFIG_START( kncljoe, kncljoe_state )
MCFG_GFXDECODE(kncljoe)
MCFG_PALETTE_LENGTH(16*8+16*8)
- MCFG_PALETTE_INIT(kncljoe)
- MCFG_VIDEO_START(kncljoe)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/koftball.c b/src/mame/drivers/koftball.c
index 0e0bcf753e0..854c753defa 100644
--- a/src/mame/drivers/koftball.c
+++ b/src/mame/drivers/koftball.c
@@ -64,6 +64,7 @@ public:
DECLARE_DRIVER_INIT(koftball);
TILE_GET_INFO_MEMBER(get_t1_tile_info);
TILE_GET_INFO_MEMBER(get_t2_tile_info);
+ virtual void video_start();
};
@@ -87,13 +88,12 @@ TILE_GET_INFO_MEMBER(koftball_state::get_t2_tile_info)
0);
}
-static VIDEO_START( koftball )
+void koftball_state::video_start()
{
- koftball_state *state = machine.driver_data<koftball_state>();
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(koftball_state::get_t1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(koftball_state::get_t2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(koftball_state::get_t1_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_tilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(koftball_state::get_t2_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_tilemap_1->set_transparent_pen(0);
+ m_tilemap_1->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16( koftball )
@@ -256,7 +256,6 @@ static MACHINE_CONFIG_START( koftball, koftball_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 30*8-1)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(koftball)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/koikoi.c b/src/mame/drivers/koikoi.c
index 5cea99adcf3..e372735ed5c 100644
--- a/src/mame/drivers/koikoi.c
+++ b/src/mame/drivers/koikoi.c
@@ -69,6 +69,10 @@ public:
DECLARE_READ8_MEMBER(input_r);
DECLARE_WRITE8_MEMBER(unknown_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -87,13 +91,13 @@ TILE_GET_INFO_MEMBER(koikoi_state::get_tile_info)
SET_TILE_INFO_MEMBER( 0, code, color, flip);
}
-static PALETTE_INIT( koikoi )
+void koikoi_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x10);
+ machine().colortable = colortable_alloc(machine(), 0x10);
/* create a lookup table for the palette */
for (i = 0; i < 0x10; i++)
@@ -119,7 +123,7 @@ static PALETTE_INIT( koikoi )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -129,14 +133,13 @@ static PALETTE_INIT( koikoi )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
-static VIDEO_START(koikoi)
+void koikoi_state::video_start()
{
- koikoi_state *state = machine.driver_data<koikoi_state>();
- state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(koikoi_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(koikoi_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16(koikoi)
@@ -335,27 +338,25 @@ static const ay8910_interface ay8910_config =
*
*************************************/
-static MACHINE_START( koikoi )
+void koikoi_state::machine_start()
{
- koikoi_state *state = machine.driver_data<koikoi_state>();
- state->save_item(NAME(state->m_inputcnt));
- state->save_item(NAME(state->m_inputval));
- state->save_item(NAME(state->m_inputlen));
- state->save_item(NAME(state->m_ioram));
+ save_item(NAME(m_inputcnt));
+ save_item(NAME(m_inputval));
+ save_item(NAME(m_inputlen));
+ save_item(NAME(m_ioram));
}
-static MACHINE_RESET( koikoi )
+void koikoi_state::machine_reset()
{
- koikoi_state *state = machine.driver_data<koikoi_state>();
int i;
- state->m_inputcnt = -1;
- state->m_inputval = 0;
- state->m_inputlen = 0;
+ m_inputcnt = -1;
+ m_inputval = 0;
+ m_inputlen = 0;
for (i = 0; i < 8; i++)
- state->m_ioram[i] = 0;
+ m_ioram[i] = 0;
}
static MACHINE_CONFIG_START( koikoi, koikoi_state )
@@ -366,8 +367,6 @@ static MACHINE_CONFIG_START( koikoi, koikoi_state )
MCFG_CPU_IO_MAP(koikoi_io_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MCFG_MACHINE_START(koikoi)
- MCFG_MACHINE_RESET(koikoi)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -379,9 +378,7 @@ static MACHINE_CONFIG_START( koikoi, koikoi_state )
MCFG_GFXDECODE(koikoi)
MCFG_PALETTE_LENGTH(8*32)
- MCFG_PALETTE_INIT(koikoi)
- MCFG_VIDEO_START(koikoi)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/konamigq.c b/src/mame/drivers/konamigq.c
index 9e65a6c0c8f..f42f1eab096 100644
--- a/src/mame/drivers/konamigq.c
+++ b/src/mame/drivers/konamigq.c
@@ -84,6 +84,8 @@ public:
DECLARE_READ16_MEMBER(tms57002_status_word_r);
DECLARE_WRITE16_MEMBER(tms57002_control_word_w);
DECLARE_DRIVER_INIT(konamigq);
+ DECLARE_MACHINE_START(konamigq);
+ DECLARE_MACHINE_RESET(konamigq);
};
/* Sound */
@@ -319,17 +321,16 @@ DRIVER_INIT_MEMBER(konamigq_state,konamigq)
m_p_n_pcmram = memregion( "shared" )->base() + 0x80000;
}
-static MACHINE_START( konamigq )
+MACHINE_START_MEMBER(konamigq_state,konamigq)
{
- konamigq_state *state = machine.driver_data<konamigq_state>();
- state->save_pointer(NAME(state->m_p_n_pcmram), 0x380000);
- state->save_item(NAME(state->m_sndto000));
- state->save_item(NAME(state->m_sndtor3k));
- state->save_item(NAME(state->m_sector_buffer));
+ save_pointer(NAME(m_p_n_pcmram), 0x380000);
+ save_item(NAME(m_sndto000));
+ save_item(NAME(m_sndtor3k));
+ save_item(NAME(m_sector_buffer));
}
-static MACHINE_RESET( konamigq )
+MACHINE_RESET_MEMBER(konamigq_state,konamigq)
{
}
@@ -345,8 +346,8 @@ static MACHINE_CONFIG_START( konamigq, konamigq_state )
MCFG_CPU_PROGRAM_MAP( konamigq_sound_map)
MCFG_CPU_PERIODIC_INT( irq2_line_hold, 480 )
- MCFG_MACHINE_START( konamigq )
- MCFG_MACHINE_RESET( konamigq )
+ MCFG_MACHINE_START_OVERRIDE(konamigq_state, konamigq )
+ MCFG_MACHINE_RESET_OVERRIDE(konamigq_state, konamigq )
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_EEPROM_DATA(konamigq_def_eeprom, 128)
diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c
index 986ddab8ac2..8c9a383f029 100644
--- a/src/mame/drivers/konamigv.c
+++ b/src/mame/drivers/konamigv.c
@@ -170,6 +170,8 @@ public:
DECLARE_DRIVER_INIT(kdeadeye);
DECLARE_DRIVER_INIT(konamigv);
DECLARE_DRIVER_INIT(btchamp);
+ DECLARE_MACHINE_START(konamigv);
+ DECLARE_MACHINE_RESET(konamigv);
};
/* EEPROM handlers */
@@ -306,25 +308,24 @@ DRIVER_INIT_MEMBER(konamigv_state,konamigv)
psx_driver_init(machine());
}
-static MACHINE_START( konamigv )
+MACHINE_START_MEMBER(konamigv_state,konamigv)
{
- konamigv_state *state = machine.driver_data<konamigv_state>();
-
- state->save_item(NAME(state->m_sector_buffer));
- state->save_item(NAME(state->m_flash_address));
- state->save_item(NAME(state->m_trackball_prev));
- state->save_item(NAME(state->m_trackball_data));
- state->save_item(NAME(state->m_btc_trackball_prev));
- state->save_item(NAME(state->m_btc_trackball_data));
+
+ save_item(NAME(m_sector_buffer));
+ save_item(NAME(m_flash_address));
+ save_item(NAME(m_trackball_prev));
+ save_item(NAME(m_trackball_data));
+ save_item(NAME(m_btc_trackball_prev));
+ save_item(NAME(m_btc_trackball_data));
}
-static MACHINE_RESET( konamigv )
+MACHINE_RESET_MEMBER(konamigv_state,konamigv)
{
/* also hook up CDDA audio to the CD-ROM drive */
void *cdrom;
- scsidev_device *scsidev = machine.device<scsidev_device>("scsi:cdrom");
+ scsidev_device *scsidev = machine().device<scsidev_device>("scsi:cdrom");
scsidev->GetDevice( &cdrom );
- cdda_set_cdrom(machine.device("cdda"), cdrom);
+ cdda_set_cdrom(machine().device("cdda"), cdrom);
}
static void spu_irq(device_t *device, UINT32 data)
@@ -343,8 +344,8 @@ static MACHINE_CONFIG_START( konamigv, konamigv_state )
MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psx_dma_read_delegate( FUNC( scsi_dma_read ), (konamigv_state *) owner ) )
MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 5, psx_dma_write_delegate( FUNC( scsi_dma_write ), (konamigv_state *) owner ) )
- MCFG_MACHINE_START( konamigv )
- MCFG_MACHINE_RESET( konamigv )
+ MCFG_MACHINE_START_OVERRIDE(konamigv_state, konamigv )
+ MCFG_MACHINE_RESET_OVERRIDE(konamigv_state, konamigv )
MCFG_EEPROM_93C46_ADD("eeprom")
diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c
index 040943510c4..bbab9fc1e80 100644
--- a/src/mame/drivers/konamigx.c
+++ b/src/mame/drivers/konamigx.c
@@ -107,8 +107,8 @@
#define GX_DEBUG 0
-static MACHINE_START(konamigx);
-static MACHINE_RESET(konamigx);
+
+
static int konamigx_cfgport;
@@ -1773,8 +1773,8 @@ static MACHINE_CONFIG_START( konamigx, konamigx_state )
MCFG_QUANTUM_TIME(attotime::from_hz(1920))
- MCFG_MACHINE_START(konamigx)
- MCFG_MACHINE_RESET(konamigx)
+ MCFG_MACHINE_START_OVERRIDE(konamigx_state,konamigx)
+ MCFG_MACHINE_RESET_OVERRIDE(konamigx_state,konamigx)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -1793,7 +1793,7 @@ static MACHINE_CONFIG_START( konamigx, konamigx_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(konamigx_5bpp)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,konamigx_5bpp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1812,19 +1812,19 @@ static MACHINE_CONFIG_DERIVED( dragoonj, konamigx )
MCFG_CPU_CLOCK(26400000) // needs higher clock to stop sprite flickerings
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(40, 40+384-1, 16, 16+224-1)
- MCFG_VIDEO_START(dragoonj)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,dragoonj)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( le2, konamigx )
- MCFG_VIDEO_START(le2)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,le2)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( konamigx_6bpp, konamigx )
- MCFG_VIDEO_START(konamigx_6bpp)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,konamigx_6bpp)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( konamigx_6bpp_2, konamigx )
- MCFG_VIDEO_START(konamigx_6bpp_2)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,konamigx_6bpp_2)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( opengolf, konamigx )
@@ -1832,7 +1832,7 @@ static MACHINE_CONFIG_DERIVED( opengolf, konamigx )
MCFG_SCREEN_RAW_PARAMS(8000000, 384+24+64+40, 0, 383, 224+16+8+16, 0, 223)
MCFG_SCREEN_VISIBLE_AREA(40, 40+384-1, 16, 16+224-1)
MCFG_GFXDECODE(opengolf)
- MCFG_VIDEO_START(opengolf)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,opengolf)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gx_type1_map)
@@ -1845,7 +1845,7 @@ static MACHINE_CONFIG_DERIVED( racinfrc, konamigx )
MCFG_SCREEN_RAW_PARAMS(8000000, 384+24+64+40, 0, 383, 224+16+8+16, 0, 223)
MCFG_SCREEN_VISIBLE_AREA(32, 32+384-1, 16, 16+224-1)
MCFG_GFXDECODE(racinfrc)
- MCFG_VIDEO_START(racinfrc)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,racinfrc)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(gx_type1_map)
@@ -1864,7 +1864,7 @@ static MACHINE_CONFIG_DERIVED( gxtype3, konamigx )
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS | VIDEO_UPDATE_AFTER_VBLANK | VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(konamigx_type3)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,konamigx_type3)
MCFG_PALETTE_LENGTH(16384)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(576, 264)
@@ -1904,7 +1904,7 @@ static MACHINE_CONFIG_DERIVED( gxtype4, konamigx )
MCFG_PALETTE_LENGTH(8192)
MCFG_GFXDECODE(type4)
- MCFG_VIDEO_START(konamigx_type4)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,konamigx_type4)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gxtype4_vsn, gxtype4 )
@@ -1919,12 +1919,12 @@ static MACHINE_CONFIG_DERIVED( gxtype4_vsn, gxtype4 )
MCFG_SCREEN_SIZE(128*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 576-1, 16, 32*8-1-16)
- MCFG_VIDEO_START(konamigx_type4_vsn)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,konamigx_type4_vsn)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gxtype4sd2, gxtype4 )
- MCFG_VIDEO_START(konamigx_type4_sd2)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,konamigx_type4_sd2)
MACHINE_CONFIG_END
@@ -1933,7 +1933,7 @@ static MACHINE_CONFIG_DERIVED( winspike, konamigx )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(38, 38+384-1, 16, 16+224-1)
- MCFG_VIDEO_START(winspike)
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state,winspike)
MACHINE_CONFIG_END
@@ -3613,16 +3613,16 @@ ROM_END
/**********************************************************************************/
/* initializers */
-static MACHINE_START( konamigx )
+MACHINE_START_MEMBER(konamigx_state,konamigx)
{
- state_save_register_global(machine, konamigx_wrport1_1);
- state_save_register_global_array(machine, sndto020);
- state_save_register_global_array(machine, sndto000);
+ state_save_register_global(machine(), konamigx_wrport1_1);
+ state_save_register_global_array(machine(), sndto020);
+ state_save_register_global_array(machine(), sndto000);
}
-static MACHINE_RESET(konamigx)
+MACHINE_RESET_MEMBER(konamigx_state,konamigx)
{
- k054539_device *k054539_2 = machine.device<k054539_device>("konami2");
+ k054539_device *k054539_2 = machine().device<k054539_device>("konami2");
int i;
konamigx_wrport1_0 = konamigx_wrport1_1 = 0;
@@ -3641,15 +3641,15 @@ static MACHINE_RESET(konamigx)
memset(sndto020, 0, 16);
// sound CPU initially disabled?
- machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- machine.device("dasp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("dasp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- if (!strcmp(machine.system().name, "tkmmpzdm"))
+ if (!strcmp(machine().system().name, "tkmmpzdm"))
{
// boost voice(chip 1 channel 3-7)
for (i=3; i<=7; i++) k054539_2->set_gain(i, 2.0);
}
- else if ((!strcmp(machine.system().name, "dragoonj")) || (!strcmp(machine.system().name, "dragoona")))
+ else if ((!strcmp(machine().system().name, "dragoonj")) || (!strcmp(machine().system().name, "dragoona")))
{
// soften percussions(chip 1 channel 0-3), boost voice(chip 1 channel 4-7)
for (i=0; i<=3; i++)
diff --git a/src/mame/drivers/konamim2.c b/src/mame/drivers/konamim2.c
index 5ad216d2eb1..b44192efc34 100644
--- a/src/mame/drivers/konamim2.c
+++ b/src/mame/drivers/konamim2.c
@@ -248,10 +248,11 @@ public:
DECLARE_READ64_MEMBER(device2_r);
DECLARE_READ64_MEMBER(cpu_r);
DECLARE_DRIVER_INIT(m2);
+ virtual void video_start();
};
-static VIDEO_START( m2 )
+void konamim2_state::video_start()
{
}
@@ -1188,7 +1189,6 @@ static MACHINE_CONFIG_START( m2, konamim2_state )
MCFG_PALETTE_LENGTH(32768)
MCFG_PALETTE_INIT(RRRRR_GGGGG_BBBBB)
- MCFG_VIDEO_START(m2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/kontest.c b/src/mame/drivers/kontest.c
index 342461e0b51..dee02247e3e 100644
--- a/src/mame/drivers/kontest.c
+++ b/src/mame/drivers/kontest.c
@@ -52,6 +52,7 @@ protected:
virtual void machine_reset();
virtual void video_start();
+ virtual void palette_init();
};
@@ -61,9 +62,9 @@ protected:
***************************************************************************/
-static PALETTE_INIT( kontest )
+void kontest_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit0, bit1, bit2 , r, g, b;
int i;
@@ -82,7 +83,7 @@ static PALETTE_INIT( kontest )
bit2 = (color_prom[i] >> 2) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -273,7 +274,6 @@ static MACHINE_CONFIG_START( kontest, kontest_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
- MCFG_PALETTE_INIT(kontest)
MCFG_PALETTE_LENGTH(32)
/* sound hardware */
diff --git a/src/mame/drivers/kopunch.c b/src/mame/drivers/kopunch.c
index 1379d1ab848..80236f41a7e 100644
--- a/src/mame/drivers/kopunch.c
+++ b/src/mame/drivers/kopunch.c
@@ -169,20 +169,18 @@ static GFXDECODE_START( kopunch )
GFXDECODE_END
-static MACHINE_START( kopunch )
+void kopunch_state::machine_start()
{
- kopunch_state *state = machine.driver_data<kopunch_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_gfxbank));
+ save_item(NAME(m_gfxbank));
}
-static MACHINE_RESET( kopunch )
+void kopunch_state::machine_reset()
{
- kopunch_state *state = machine.driver_data<kopunch_state>();
- state->m_gfxbank = 0;
+ m_gfxbank = 0;
}
static MACHINE_CONFIG_START( kopunch, kopunch_state )
@@ -193,8 +191,6 @@ static MACHINE_CONFIG_START( kopunch, kopunch_state )
MCFG_CPU_IO_MAP(kopunch_io_map)
MCFG_CPU_VBLANK_INT("screen",kopunch_interrupt)
- MCFG_MACHINE_START(kopunch)
- MCFG_MACHINE_RESET(kopunch)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -207,8 +203,6 @@ static MACHINE_CONFIG_START( kopunch, kopunch_state )
MCFG_GFXDECODE(kopunch)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(kopunch)
- MCFG_VIDEO_START(kopunch)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ksayakyu.c b/src/mame/drivers/ksayakyu.c
index 2172bc647ca..9cbf278c570 100644
--- a/src/mame/drivers/ksayakyu.c
+++ b/src/mame/drivers/ksayakyu.c
@@ -247,25 +247,23 @@ static GFXDECODE_START( ksayakyu )
GFXDECODE_END
-static MACHINE_START( ksayakyu )
+void ksayakyu_state::machine_start()
{
- ksayakyu_state *state = machine.driver_data<ksayakyu_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
- state->save_item(NAME(state->m_sound_status));
- state->save_item(NAME(state->m_video_ctrl));
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_sound_status));
+ save_item(NAME(m_video_ctrl));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( ksayakyu )
+void ksayakyu_state::machine_reset()
{
- ksayakyu_state *state = machine.driver_data<ksayakyu_state>();
- state->m_sound_status = 0xff;
- state->m_video_ctrl = 0;
- state->m_flipscreen = 0;
+ m_sound_status = 0xff;
+ m_video_ctrl = 0;
+ m_flipscreen = 0;
}
static MACHINE_CONFIG_START( ksayakyu, ksayakyu_state )
@@ -281,8 +279,6 @@ static MACHINE_CONFIG_START( ksayakyu, ksayakyu_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60000))
- MCFG_MACHINE_START(ksayakyu)
- MCFG_MACHINE_RESET(ksayakyu)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -293,10 +289,8 @@ static MACHINE_CONFIG_START( ksayakyu, ksayakyu_state )
MCFG_SCREEN_UPDATE_STATIC(ksayakyu)
MCFG_GFXDECODE(ksayakyu)
- MCFG_PALETTE_INIT(ksayakyu)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(ksayakyu)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c
index 41012f3fa36..a76409503f1 100644
--- a/src/mame/drivers/ksys573.c
+++ b/src/mame/drivers/ksys573.c
@@ -582,6 +582,7 @@ public:
DECLARE_DRIVER_INIT(ddrsolo);
DECLARE_DRIVER_INIT(ddrdigital);
DECLARE_DRIVER_INIT(konami573);
+ DECLARE_MACHINE_RESET(konami573);
};
INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... )
@@ -1402,19 +1403,18 @@ DRIVER_INIT_MEMBER(ksys573_state,konami573)
flash_init(machine());
}
-static MACHINE_RESET( konami573 )
+MACHINE_RESET_MEMBER(ksys573_state,konami573)
{
- ksys573_state *state = machine.driver_data<ksys573_state>();
- if( state->machine().device<device_secure_serial_flash>("install_eeprom") )
+ if( machine().device<device_secure_serial_flash>("install_eeprom") )
{
/* security cart */
- psx_sio_input( machine, 1, PSX_SIO_IN_DSR, PSX_SIO_IN_DSR );
+ psx_sio_input( machine(), 1, PSX_SIO_IN_DSR, PSX_SIO_IN_DSR );
}
- state->m_flash_bank = -1;
+ m_flash_bank = -1;
- update_mode(machine);
+ update_mode(machine());
}
static void spu_irq(device_t *device, UINT32 data)
@@ -3049,7 +3049,7 @@ static MACHINE_CONFIG_START( konami573, ksys573_state )
MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psx_dma_read_delegate( FUNC( cdrom_dma_read ), (ksys573_state *) owner ) )
MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 5, psx_dma_write_delegate( FUNC( cdrom_dma_write ), (ksys573_state *) owner ) )
- MCFG_MACHINE_RESET( konami573 )
+ MCFG_MACHINE_RESET_OVERRIDE(ksys573_state, konami573 )
// multiple cd's are handled by switching drives instead of discs.
MCFG_DEVICE_ADD("cdrom0", CR589, 0)
diff --git a/src/mame/drivers/kungfur.c b/src/mame/drivers/kungfur.c
index c0293c52d5a..647911a1598 100644
--- a/src/mame/drivers/kungfur.c
+++ b/src/mame/drivers/kungfur.c
@@ -81,6 +81,8 @@ public:
DECLARE_WRITE8_MEMBER(kungfur_control_w);
DECLARE_WRITE8_MEMBER(kungfur_adpcm1_w);
DECLARE_WRITE8_MEMBER(kungfur_adpcm2_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -294,22 +296,20 @@ static const msm5205_interface msm5205_config_2 =
MSM5205_S48_4B
};
-static MACHINE_START( kungfur )
+void kungfur_state::machine_start()
{
- kungfur_state *state = machine.driver_data<kungfur_state>();
- state->save_item(NAME(state->m_control));
- state->save_item(NAME(state->m_latch));
+ save_item(NAME(m_control));
+ save_item(NAME(m_latch));
- state->save_item(NAME(state->m_adpcm_pos));
- state->save_item(NAME(state->m_adpcm_data));
- state->save_item(NAME(state->m_adpcm_sel));
+ save_item(NAME(m_adpcm_pos));
+ save_item(NAME(m_adpcm_data));
+ save_item(NAME(m_adpcm_sel));
}
-static MACHINE_RESET( kungfur )
+void kungfur_state::machine_reset()
{
- kungfur_state *state = machine.driver_data<kungfur_state>();
- state->m_control = 0;
+ m_control = 0;
}
static MACHINE_CONFIG_START( kungfur, kungfur_state )
@@ -322,8 +322,6 @@ static MACHINE_CONFIG_START( kungfur, kungfur_state )
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
- MCFG_MACHINE_START(kungfur)
- MCFG_MACHINE_RESET(kungfur)
/* no video! */
diff --git a/src/mame/drivers/kyugo.c b/src/mame/drivers/kyugo.c
index 09b15102794..406a0c3e7b3 100644
--- a/src/mame/drivers/kyugo.c
+++ b/src/mame/drivers/kyugo.c
@@ -494,35 +494,33 @@ static const ay8910_interface ay8910_config =
*
*************************************/
-static MACHINE_START( kyugo )
+void kyugo_state::machine_start()
{
- kyugo_state *state = machine.driver_data<kyugo_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_scroll_x_lo));
- state->save_item(NAME(state->m_scroll_x_hi));
- state->save_item(NAME(state->m_scroll_y));
- state->save_item(NAME(state->m_bgpalbank));
- state->save_item(NAME(state->m_fgcolor));
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_scroll_x_lo));
+ save_item(NAME(m_scroll_x_hi));
+ save_item(NAME(m_scroll_y));
+ save_item(NAME(m_bgpalbank));
+ save_item(NAME(m_fgcolor));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( kyugo )
+void kyugo_state::machine_reset()
{
- kyugo_state *state = machine.driver_data<kyugo_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
// must start with interrupts and sub CPU disabled
- state->m_nmi_mask = 0;
- state->kyugo_sub_cpu_control_w(*space, 0, 0);
-
- state->m_scroll_x_lo = 0;
- state->m_scroll_x_hi = 0;
- state->m_scroll_y = 0;
- state->m_bgpalbank = 0;
- state->m_fgcolor = 0;
- state->m_flipscreen = 0;
+ m_nmi_mask = 0;
+ kyugo_sub_cpu_control_w(*space, 0, 0);
+
+ m_scroll_x_lo = 0;
+ m_scroll_x_hi = 0;
+ m_scroll_y = 0;
+ m_bgpalbank = 0;
+ m_fgcolor = 0;
+ m_flipscreen = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -549,8 +547,6 @@ static MACHINE_CONFIG_START( gyrodine, kyugo_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(kyugo)
- MCFG_MACHINE_RESET(kyugo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -564,7 +560,6 @@ static MACHINE_CONFIG_START( gyrodine, kyugo_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(kyugo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/labyrunr.c b/src/mame/drivers/labyrunr.c
index c190d59bfe8..4aaa94c4d1d 100644
--- a/src/mame/drivers/labyrunr.c
+++ b/src/mame/drivers/labyrunr.c
@@ -181,14 +181,13 @@ static const ym2203_interface ym2203_interface_2 =
-static MACHINE_START( labyrunr )
+void labyrunr_state::machine_start()
{
- labyrunr_state *state = machine.driver_data<labyrunr_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
- state->m_k007121 = machine.device("k007121");
+ m_k007121 = machine().device("k007121");
}
static MACHINE_CONFIG_START( labyrunr, labyrunr_state )
@@ -199,7 +198,6 @@ static MACHINE_CONFIG_START( labyrunr, labyrunr_state )
MCFG_CPU_VBLANK_INT("screen", labyrunr_vblank_interrupt)
MCFG_CPU_PERIODIC_INT(labyrunr_timer_interrupt, 4*60)
- MCFG_MACHINE_START(labyrunr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -212,8 +210,6 @@ static MACHINE_CONFIG_START( labyrunr, labyrunr_state )
MCFG_GFXDECODE(labyrunr)
MCFG_PALETTE_LENGTH(2*8*16*16)
- MCFG_PALETTE_INIT(labyrunr)
- MCFG_VIDEO_START(labyrunr)
MCFG_K007121_ADD("k007121")
MCFG_K051733_ADD("k051733")
diff --git a/src/mame/drivers/ladybug.c b/src/mame/drivers/ladybug.c
index d09ff30b9d1..7df6b10b018 100644
--- a/src/mame/drivers/ladybug.c
+++ b/src/mame/drivers/ladybug.c
@@ -726,55 +726,52 @@ static const sn76496_config psg_intf =
};
-static MACHINE_START( ladybug )
+MACHINE_START_MEMBER(ladybug_state,ladybug)
{
- ladybug_state *state = machine.driver_data<ladybug_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
}
-static MACHINE_START( sraider )
+MACHINE_START_MEMBER(ladybug_state,sraider)
{
- ladybug_state *state = machine.driver_data<ladybug_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_grid_color));
- state->save_item(NAME(state->m_sound_low));
- state->save_item(NAME(state->m_sound_high));
- state->save_item(NAME(state->m_sraider_0x30));
- state->save_item(NAME(state->m_sraider_0x38));
- state->save_item(NAME(state->m_weird_value));
+ save_item(NAME(m_grid_color));
+ save_item(NAME(m_sound_low));
+ save_item(NAME(m_sound_high));
+ save_item(NAME(m_sraider_0x30));
+ save_item(NAME(m_sraider_0x38));
+ save_item(NAME(m_weird_value));
/* for stars */
- state->save_item(NAME(state->m_star_speed));
- state->save_item(NAME(state->m_stars_enable));
- state->save_item(NAME(state->m_stars_speed));
- state->save_item(NAME(state->m_stars_state));
- state->save_item(NAME(state->m_stars_offset));
- state->save_item(NAME(state->m_stars_count));
+ save_item(NAME(m_star_speed));
+ save_item(NAME(m_stars_enable));
+ save_item(NAME(m_stars_speed));
+ save_item(NAME(m_stars_state));
+ save_item(NAME(m_stars_offset));
+ save_item(NAME(m_stars_count));
}
-static MACHINE_RESET( sraider )
+MACHINE_RESET_MEMBER(ladybug_state,sraider)
{
- ladybug_state *state = machine.driver_data<ladybug_state>();
int i;
- state->m_grid_color = 0;
- state->m_sound_low = 0;
- state->m_sound_high = 0;
- state->m_sraider_0x30 = 0;
- state->m_sraider_0x38 = 0;
+ m_grid_color = 0;
+ m_sound_low = 0;
+ m_sound_high = 0;
+ m_sraider_0x30 = 0;
+ m_sraider_0x38 = 0;
/* for stars */
- state->m_star_speed = 0;
- state->m_stars_enable = 0;
- state->m_stars_speed = 0;
- state->m_stars_state = 0;
- state->m_stars_offset = 0;
- state->m_stars_count = 0;
+ m_star_speed = 0;
+ m_stars_enable = 0;
+ m_stars_speed = 0;
+ m_stars_state = 0;
+ m_stars_offset = 0;
+ m_stars_count = 0;
for (i = 0; i < 8; i++)
- state->m_weird_value[i] = 0;
+ m_weird_value[i] = 0;
}
static MACHINE_CONFIG_START( ladybug, ladybug_state )
@@ -783,7 +780,7 @@ static MACHINE_CONFIG_START( ladybug, ladybug_state )
MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP(ladybug_map)
- MCFG_MACHINE_START(ladybug)
+ MCFG_MACHINE_START_OVERRIDE(ladybug_state,ladybug)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -796,8 +793,8 @@ static MACHINE_CONFIG_START( ladybug, ladybug_state )
MCFG_GFXDECODE(ladybug)
MCFG_PALETTE_LENGTH(4*8+4*16)
- MCFG_PALETTE_INIT(ladybug)
- MCFG_VIDEO_START(ladybug)
+ MCFG_PALETTE_INIT_OVERRIDE(ladybug_state,ladybug)
+ MCFG_VIDEO_START_OVERRIDE(ladybug_state,ladybug)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -824,8 +821,8 @@ static MACHINE_CONFIG_START( sraider, ladybug_state )
MCFG_CPU_IO_MAP(sraider_cpu2_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(sraider)
- MCFG_MACHINE_RESET(sraider)
+ MCFG_MACHINE_START_OVERRIDE(ladybug_state,sraider)
+ MCFG_MACHINE_RESET_OVERRIDE(ladybug_state,sraider)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -839,8 +836,8 @@ static MACHINE_CONFIG_START( sraider, ladybug_state )
MCFG_GFXDECODE(sraider)
MCFG_PALETTE_LENGTH(4*8+4*16+32+2)
- MCFG_PALETTE_INIT(sraider)
- MCFG_VIDEO_START(sraider)
+ MCFG_PALETTE_INIT_OVERRIDE(ladybug_state,sraider)
+ MCFG_VIDEO_START_OVERRIDE(ladybug_state,sraider)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ladyfrog.c b/src/mame/drivers/ladyfrog.c
index 14cbaa701c1..cb0fdfb8b53 100644
--- a/src/mame/drivers/ladyfrog.c
+++ b/src/mame/drivers/ladyfrog.c
@@ -276,30 +276,28 @@ static GFXDECODE_START( ladyfrog )
GFXDECODE_END
-static MACHINE_START( ladyfrog )
+void ladyfrog_state::machine_start()
{
- ladyfrog_state *state = machine.driver_data<ladyfrog_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_tilebank));
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_snd_flag));
- state->save_item(NAME(state->m_snd_data));
+ save_item(NAME(m_tilebank));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_snd_flag));
+ save_item(NAME(m_snd_data));
}
-static MACHINE_RESET( ladyfrog )
+void ladyfrog_state::machine_reset()
{
- ladyfrog_state *state = machine.driver_data<ladyfrog_state>();
- state->m_tilebank = 0;
- state->m_palette_bank = 0;
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_snd_flag = 0;
- state->m_snd_data = 0;
+ m_tilebank = 0;
+ m_palette_bank = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_snd_flag = 0;
+ m_snd_data = 0;
}
static MACHINE_CONFIG_START( ladyfrog, ladyfrog_state )
@@ -313,8 +311,6 @@ static MACHINE_CONFIG_START( ladyfrog, ladyfrog_state )
MCFG_CPU_PROGRAM_MAP(ladyfrog_sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60)
- MCFG_MACHINE_START(ladyfrog)
- MCFG_MACHINE_RESET(ladyfrog)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -329,7 +325,6 @@ static MACHINE_CONFIG_START( ladyfrog, ladyfrog_state )
MCFG_GFXDECODE(ladyfrog)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(ladyfrog)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -354,7 +349,7 @@ static MACHINE_CONFIG_START( ladyfrog, ladyfrog_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( toucheme, ladyfrog )
- MCFG_VIDEO_START(toucheme)
+ MCFG_VIDEO_START_OVERRIDE(ladyfrog_state,toucheme)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/laserbas.c b/src/mame/drivers/laserbas.c
index 9c6fc819ec2..8baf285bcb4 100644
--- a/src/mame/drivers/laserbas.c
+++ b/src/mame/drivers/laserbas.c
@@ -56,15 +56,17 @@ public:
DECLARE_WRITE8_MEMBER(vrambank_w);
DECLARE_READ8_MEMBER(protram_r);
DECLARE_WRITE8_MEMBER(protram_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START(laserbas)
+void laserbas_state::video_start()
{
- laserbas_state *state = machine.driver_data<laserbas_state>();
- state->save_item(NAME(state->m_vram1));
- state->save_item(NAME(state->m_vram2));
+ save_item(NAME(m_vram1));
+ save_item(NAME(m_vram2));
}
static SCREEN_UPDATE_IND16(laserbas)
@@ -229,20 +231,18 @@ static INPUT_PORTS_START( laserbas )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
-static MACHINE_START( laserbas )
+void laserbas_state::machine_start()
{
- laserbas_state *state = machine.driver_data<laserbas_state>();
- state->save_item(NAME(state->m_vrambank));
- state->save_item(NAME(state->m_count));
+ save_item(NAME(m_vrambank));
+ save_item(NAME(m_count));
}
-static MACHINE_RESET( laserbas )
+void laserbas_state::machine_reset()
{
- laserbas_state *state = machine.driver_data<laserbas_state>();
- state->m_vrambank = 0;
- state->m_count = 0;
+ m_vrambank = 0;
+ m_count = 0;
}
static const mc6845_interface mc6845_intf =
@@ -313,8 +313,6 @@ static MACHINE_CONFIG_START( laserbas, laserbas_state )
MCFG_PIT8253_ADD("pit0", laserbas_pit8253_intf_0)
MCFG_PIT8253_ADD("pit1", laserbas_pit8253_intf_1)
- MCFG_MACHINE_START(laserbas)
- MCFG_MACHINE_RESET(laserbas)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -326,7 +324,6 @@ static MACHINE_CONFIG_START( laserbas, laserbas_state )
MCFG_MC6845_ADD("crtc", H46505, 3000000/4, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */
MCFG_PALETTE_LENGTH(32)
- MCFG_VIDEO_START(laserbas)
MACHINE_CONFIG_END
/*
diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c
index f609b29b637..8fa0333d8cc 100644
--- a/src/mame/drivers/laserbat.c
+++ b/src/mame/drivers/laserbat.c
@@ -485,14 +485,13 @@ TILE_GET_INFO_MEMBER(laserbat_state::get_tile_info)
SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], m_colorram[tile_index] & 0x7f, 0);
}
-static VIDEO_START( laserbat )
+void laserbat_state::video_start()
{
- laserbat_state *state = machine.driver_data<laserbat_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(laserbat_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(laserbat_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->save_item(NAME(state->m_videoram));
- state->save_item(NAME(state->m_colorram));
+ save_item(NAME(m_videoram));
+ save_item(NAME(m_colorram));
}
static SCREEN_UPDATE_IND16( laserbat )
@@ -686,66 +685,64 @@ static const s2636_interface s2636_3_config =
NULL
};
-static MACHINE_START( laserbat )
+void laserbat_state::machine_start()
{
- laserbat_state *state = machine.driver_data<laserbat_state>();
-
- state->m_s2636_1 = machine.device("s2636_1");
- state->m_s2636_2 = machine.device("s2636_2");
- state->m_s2636_3 = machine.device("s2636_3");
- state->m_pia = machine.device<pia6821_device>("pia");
- state->m_sn = machine.device("snsnd");
- state->m_tms1 = machine.device("tms1");
- state->m_tms2 = machine.device("tms2");
- state->m_ay1 = machine.device("ay1");
- state->m_ay2 = machine.device("ay2");
-
- state->save_item(NAME(state->m_video_page));
- state->save_item(NAME(state->m_input_mux));
- state->save_item(NAME(state->m_active_8910));
- state->save_item(NAME(state->m_port0a));
- state->save_item(NAME(state->m_last_port0b));
- state->save_item(NAME(state->m_cb1_toggle));
- state->save_item(NAME(state->m_sprite_x));
- state->save_item(NAME(state->m_sprite_y));
- state->save_item(NAME(state->m_sprite_code));
- state->save_item(NAME(state->m_sprite_color));
- state->save_item(NAME(state->m_sprite_enable));
- state->save_item(NAME(state->m_csound1));
- state->save_item(NAME(state->m_ksound1));
- state->save_item(NAME(state->m_ksound2));
- state->save_item(NAME(state->m_ksound3));
- state->save_item(NAME(state->m_degr));
- state->save_item(NAME(state->m_filt));
- state->save_item(NAME(state->m_a));
- state->save_item(NAME(state->m_us));
- state->save_item(NAME(state->m_bit14));
+
+ m_s2636_1 = machine().device("s2636_1");
+ m_s2636_2 = machine().device("s2636_2");
+ m_s2636_3 = machine().device("s2636_3");
+ m_pia = machine().device<pia6821_device>("pia");
+ m_sn = machine().device("snsnd");
+ m_tms1 = machine().device("tms1");
+ m_tms2 = machine().device("tms2");
+ m_ay1 = machine().device("ay1");
+ m_ay2 = machine().device("ay2");
+
+ save_item(NAME(m_video_page));
+ save_item(NAME(m_input_mux));
+ save_item(NAME(m_active_8910));
+ save_item(NAME(m_port0a));
+ save_item(NAME(m_last_port0b));
+ save_item(NAME(m_cb1_toggle));
+ save_item(NAME(m_sprite_x));
+ save_item(NAME(m_sprite_y));
+ save_item(NAME(m_sprite_code));
+ save_item(NAME(m_sprite_color));
+ save_item(NAME(m_sprite_enable));
+ save_item(NAME(m_csound1));
+ save_item(NAME(m_ksound1));
+ save_item(NAME(m_ksound2));
+ save_item(NAME(m_ksound3));
+ save_item(NAME(m_degr));
+ save_item(NAME(m_filt));
+ save_item(NAME(m_a));
+ save_item(NAME(m_us));
+ save_item(NAME(m_bit14));
}
-static MACHINE_RESET( laserbat )
+void laserbat_state::machine_reset()
{
- laserbat_state *state = machine.driver_data<laserbat_state>();
-
- state->m_video_page = 0;
- state->m_input_mux = 0;
- state->m_active_8910 = 0;
- state->m_port0a = 0;
- state->m_last_port0b = 0;
- state->m_cb1_toggle = 0;
- state->m_sprite_x = 0;
- state->m_sprite_y = 0;
- state->m_sprite_code = 0;
- state->m_sprite_color = 0;
- state->m_sprite_enable = 0;
- state->m_csound1 = 0;
- state->m_ksound1 = 0;
- state->m_ksound2 = 0;
- state->m_ksound3 = 0;
- state->m_degr = 0;
- state->m_filt = 0;
- state->m_a = 0;
- state->m_us = 0;
- state->m_bit14 = 0;
+
+ m_video_page = 0;
+ m_input_mux = 0;
+ m_active_8910 = 0;
+ m_port0a = 0;
+ m_last_port0b = 0;
+ m_cb1_toggle = 0;
+ m_sprite_x = 0;
+ m_sprite_y = 0;
+ m_sprite_code = 0;
+ m_sprite_color = 0;
+ m_sprite_enable = 0;
+ m_csound1 = 0;
+ m_ksound1 = 0;
+ m_ksound2 = 0;
+ m_ksound3 = 0;
+ m_degr = 0;
+ m_filt = 0;
+ m_a = 0;
+ m_us = 0;
+ m_bit14 = 0;
}
static MACHINE_CONFIG_START( laserbat, laserbat_state )
@@ -756,8 +753,6 @@ static MACHINE_CONFIG_START( laserbat, laserbat_state )
MCFG_CPU_IO_MAP(laserbat_io_map)
MCFG_CPU_VBLANK_INT("screen", laserbat_interrupt)
- MCFG_MACHINE_START(laserbat)
- MCFG_MACHINE_RESET(laserbat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -774,7 +769,6 @@ static MACHINE_CONFIG_START( laserbat, laserbat_state )
MCFG_S2636_ADD("s2636_2", s2636_2_config)
MCFG_S2636_ADD("s2636_3", s2636_3_config)
- MCFG_VIDEO_START(laserbat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -803,8 +797,6 @@ static MACHINE_CONFIG_START( catnmous, laserbat_state )
MCFG_PIA6821_ADD("pia", pia_intf)
- MCFG_MACHINE_START(laserbat)
- MCFG_MACHINE_RESET(laserbat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -821,7 +813,6 @@ static MACHINE_CONFIG_START( catnmous, laserbat_state )
MCFG_S2636_ADD("s2636_2", s2636_2_config)
MCFG_S2636_ADD("s2636_3", s2636_3_config)
- MCFG_VIDEO_START(laserbat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/lasso.c b/src/mame/drivers/lasso.c
index 834a7787c98..cec0848b25c 100644
--- a/src/mame/drivers/lasso.c
+++ b/src/mame/drivers/lasso.c
@@ -475,39 +475,35 @@ static const sn76496_config psg_intf =
};
-static MACHINE_START( lasso )
+void lasso_state::machine_start()
{
- lasso_state *state = machine.driver_data<lasso_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_gfxbank));
+ save_item(NAME(m_gfxbank));
}
-static MACHINE_START( wwjgtin )
+MACHINE_START_MEMBER(lasso_state,wwjgtin)
{
- lasso_state *state = machine.driver_data<lasso_state>();
- MACHINE_START_CALL(lasso);
+ lasso_state::machine_start();
- state->save_item(NAME(state->m_track_enable));
+ save_item(NAME(m_track_enable));
}
-static MACHINE_RESET( lasso )
+void lasso_state::machine_reset()
{
- lasso_state *state = machine.driver_data<lasso_state>();
- state->m_gfxbank = 0;
+ m_gfxbank = 0;
}
-static MACHINE_RESET( wwjgtin )
+MACHINE_RESET_MEMBER(lasso_state,wwjgtin)
{
- lasso_state *state = machine.driver_data<lasso_state>();
- MACHINE_RESET_CALL(lasso);
+ lasso_state::machine_reset();
- state->m_track_enable = 0;
+ m_track_enable = 0;
}
static MACHINE_CONFIG_START( base, lasso_state )
@@ -522,8 +518,6 @@ static MACHINE_CONFIG_START( base, lasso_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(lasso)
- MCFG_MACHINE_RESET(lasso)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -536,8 +530,6 @@ static MACHINE_CONFIG_START( base, lasso_state )
MCFG_GFXDECODE(lasso)
MCFG_PALETTE_LENGTH(0x40)
- MCFG_PALETTE_INIT(lasso)
- MCFG_VIDEO_START(lasso)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -582,8 +574,8 @@ static MACHINE_CONFIG_DERIVED( wwjgtin, base )
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(wwjgtin_audio_map)
- MCFG_MACHINE_START(wwjgtin)
- MCFG_MACHINE_RESET(wwjgtin)
+ MCFG_MACHINE_START_OVERRIDE(lasso_state,wwjgtin)
+ MCFG_MACHINE_RESET_OVERRIDE(lasso_state,wwjgtin)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -592,8 +584,8 @@ static MACHINE_CONFIG_DERIVED( wwjgtin, base )
MCFG_GFXDECODE(wwjgtin) // Has 1 additional layer
MCFG_PALETTE_LENGTH(0x40 + 16*16)
- MCFG_PALETTE_INIT(wwjgtin)
- MCFG_VIDEO_START(wwjgtin)
+ MCFG_PALETTE_INIT_OVERRIDE(lasso_state,wwjgtin)
+ MCFG_VIDEO_START_OVERRIDE(lasso_state,wwjgtin)
/* sound hardware */
MCFG_DAC_ADD("dac")
@@ -615,7 +607,7 @@ static MACHINE_CONFIG_DERIVED( pinbo, base )
MCFG_GFXDECODE(pinbo)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(pinbo)
+ MCFG_VIDEO_START_OVERRIDE(lasso_state,pinbo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(chameleo)
diff --git a/src/mame/drivers/lastbank.c b/src/mame/drivers/lastbank.c
index c77cd1bc136..7588224d1c7 100644
--- a/src/mame/drivers/lastbank.c
+++ b/src/mame/drivers/lastbank.c
@@ -463,8 +463,8 @@ static MACHINE_CONFIG_START( lastbank, lastbank_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- //MCFG_MACHINE_START(lastbank)
- //MCFG_MACHINE_RESET(lastbank)
+ //MCFG_MACHINE_START_OVERRIDE(lastbank_state,lastbank)
+ //MCFG_MACHINE_RESET_OVERRIDE(lastbank_state,lastbank)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -480,7 +480,7 @@ static MACHINE_CONFIG_START( lastbank, lastbank_state )
MCFG_GFXDECODE( lastbank )
MCFG_PALETTE_LENGTH(0x100)
-// MCFG_VIDEO_START(lastbank)
+// MCFG_VIDEO_START_OVERRIDE(lastbank_state,lastbank)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/lastduel.c b/src/mame/drivers/lastduel.c
index 4e3b69e3bed..bd5d35aa1d2 100644
--- a/src/mame/drivers/lastduel.c
+++ b/src/mame/drivers/lastduel.c
@@ -469,32 +469,30 @@ static TIMER_DEVICE_CALLBACK( madgear_timer_cb )
state->m_maincpu->set_input_line(6, HOLD_LINE); /* Controls */
}
-static MACHINE_START( lastduel )
+MACHINE_START_MEMBER(lastduel_state,lastduel)
{
- lastduel_state *state = machine.driver_data<lastduel_state>();
- state->save_item(NAME(state->m_tilemap_priority));
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_tilemap_priority));
+ save_item(NAME(m_scroll));
}
-static MACHINE_START( madgear )
+MACHINE_START_MEMBER(lastduel_state,madgear)
{
- UINT8 *ROM = machine.root_device().memregion("audiocpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("audiocpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
- MACHINE_START_CALL(lastduel);
+ MACHINE_START_CALL_MEMBER(lastduel);
}
-static MACHINE_RESET( lastduel )
+void lastduel_state::machine_reset()
{
- lastduel_state *state = machine.driver_data<lastduel_state>();
int i;
- state->m_tilemap_priority = 0;
+ m_tilemap_priority = 0;
for (i = 0; i < 8; i++)
- state->m_scroll[i] = 0;
+ m_scroll[i] = 0;
}
static MACHINE_CONFIG_START( lastduel, lastduel_state )
@@ -508,8 +506,7 @@ static MACHINE_CONFIG_START( lastduel, lastduel_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* Accurate */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(lastduel)
- MCFG_MACHINE_RESET(lastduel)
+ MCFG_MACHINE_START_OVERRIDE(lastduel_state,lastduel)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -527,7 +524,7 @@ static MACHINE_CONFIG_START( lastduel, lastduel_state )
MCFG_GFXDECODE(lastduel)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(lastduel)
+ MCFG_VIDEO_START_OVERRIDE(lastduel_state,lastduel)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -552,8 +549,7 @@ static MACHINE_CONFIG_START( madgear, lastduel_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(madgear_sound_map)
- MCFG_MACHINE_START(madgear)
- MCFG_MACHINE_RESET(lastduel)
+ MCFG_MACHINE_START_OVERRIDE(lastduel_state,madgear)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -571,7 +567,7 @@ static MACHINE_CONFIG_START( madgear, lastduel_state )
MCFG_GFXDECODE(madgear)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(madgear)
+ MCFG_VIDEO_START_OVERRIDE(lastduel_state,madgear)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/lastfght.c b/src/mame/drivers/lastfght.c
index f6796534180..f8551b30612 100644
--- a/src/mame/drivers/lastfght.c
+++ b/src/mame/drivers/lastfght.c
@@ -121,6 +121,9 @@ public:
DECLARE_READ16_MEMBER(lastfght_sound_r);
DECLARE_WRITE16_MEMBER(lastfght_sound_w);
DECLARE_DRIVER_INIT(lastfght);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -128,16 +131,15 @@ public:
Video Hardware
***************************************************************************/
-static VIDEO_START( lastfght )
+void lastfght_state::video_start()
{
- lastfght_state *state = machine.driver_data<lastfght_state>();
int i;
for (i = 0; i < 2; i++)
- machine.primary_screen->register_screen_bitmap(state->m_bitmap[i]);
+ machine().primary_screen->register_screen_bitmap(m_bitmap[i]);
- state->save_item(NAME(state->m_bitmap[0]));
- state->save_item(NAME(state->m_bitmap[1]));
- state->save_item(NAME(state->m_colorram));
+ save_item(NAME(m_bitmap[0]));
+ save_item(NAME(m_bitmap[1]));
+ save_item(NAME(m_colorram));
}
@@ -532,48 +534,46 @@ static INTERRUPT_GEN( unknown_interrupt )
state->m_maincpu->set_input_line(H8_METRO_TIMER_HACK, HOLD_LINE);
}
-static MACHINE_START( lastfght )
+void lastfght_state::machine_start()
{
- lastfght_state *state = machine.driver_data<lastfght_state>();
-
- state->save_item(NAME(state->m_clr_offset));
- state->save_item(NAME(state->m_dest));
- state->save_item(NAME(state->m_hi));
- state->save_item(NAME(state->m_sx));
- state->save_item(NAME(state->m_sx1));
- state->save_item(NAME(state->m_dsx));
- state->save_item(NAME(state->m_sy));
- state->save_item(NAME(state->m_sy1));
- state->save_item(NAME(state->m_dsy));
- state->save_item(NAME(state->m_sp));
- state->save_item(NAME(state->m_sr));
- state->save_item(NAME(state->m_x));
- state->save_item(NAME(state->m_y));
- state->save_item(NAME(state->m_w));
- state->save_item(NAME(state->m_h));
- state->save_item(NAME(state->m_c00006));
+
+ save_item(NAME(m_clr_offset));
+ save_item(NAME(m_dest));
+ save_item(NAME(m_hi));
+ save_item(NAME(m_sx));
+ save_item(NAME(m_sx1));
+ save_item(NAME(m_dsx));
+ save_item(NAME(m_sy));
+ save_item(NAME(m_sy1));
+ save_item(NAME(m_dsy));
+ save_item(NAME(m_sp));
+ save_item(NAME(m_sr));
+ save_item(NAME(m_x));
+ save_item(NAME(m_y));
+ save_item(NAME(m_w));
+ save_item(NAME(m_h));
+ save_item(NAME(m_c00006));
}
-static MACHINE_RESET( lastfght )
+void lastfght_state::machine_reset()
{
- lastfght_state *state = machine.driver_data<lastfght_state>();
-
- state->m_clr_offset = 0;
- state->m_dest = 0;
- state->m_hi = 0;
- state->m_sx = 0;
- state->m_sx1 = 0;
- state->m_dsx = 0;
- state->m_sy = 0;
- state->m_sy1 = 0;
- state->m_dsy = 0;
- state->m_sp = 0;
- state->m_sr = 0;
- state->m_x = 0;
- state->m_y = 0;
- state->m_w = 0;
- state->m_h = 0;
- state->m_c00006 = 0;
+
+ m_clr_offset = 0;
+ m_dest = 0;
+ m_hi = 0;
+ m_sx = 0;
+ m_sx1 = 0;
+ m_dsx = 0;
+ m_sy = 0;
+ m_sy1 = 0;
+ m_dsy = 0;
+ m_sp = 0;
+ m_sr = 0;
+ m_x = 0;
+ m_y = 0;
+ m_w = 0;
+ m_h = 0;
+ m_c00006 = 0;
}
static MACHINE_CONFIG_START( lastfght, lastfght_state )
@@ -586,8 +586,6 @@ static MACHINE_CONFIG_START( lastfght, lastfght_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_START(lastfght)
- MCFG_MACHINE_RESET(lastfght)
/* video hardware */
MCFG_PALETTE_LENGTH( 256 )
@@ -598,7 +596,6 @@ static MACHINE_CONFIG_START( lastfght, lastfght_state )
MCFG_SCREEN_REFRESH_RATE( 60 )
MCFG_SCREEN_UPDATE_STATIC( lastfght )
- MCFG_VIDEO_START( lastfght )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/lazercmd.c b/src/mame/drivers/lazercmd.c
index 4969c79c19c..7801f863e13 100644
--- a/src/mame/drivers/lazercmd.c
+++ b/src/mame/drivers/lazercmd.c
@@ -590,40 +590,38 @@ static GFXDECODE_START( lazercmd )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 2 )
GFXDECODE_END
-static PALETTE_INIT( lazercmd )
+void lazercmd_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0xb0, 0xb0, 0xb0)); /* white */
- palette_set_color(machine, 1, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
+ palette_set_color(machine(), 0, MAKE_RGB(0xb0, 0xb0, 0xb0)); /* white */
+ palette_set_color(machine(), 1, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
- palette_set_color(machine, 2, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
- palette_set_color(machine, 3, MAKE_RGB(0xb0, 0xb0, 0xb0)); /* white */
+ palette_set_color(machine(), 2, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
+ palette_set_color(machine(), 3, MAKE_RGB(0xb0, 0xb0, 0xb0)); /* white */
- palette_set_color(machine, 4, MAKE_RGB(0xff, 0xff, 0xff)); /* bright white */
+ palette_set_color(machine(), 4, MAKE_RGB(0xff, 0xff, 0xff)); /* bright white */
}
-static MACHINE_START( lazercmd )
+void lazercmd_state::machine_start()
{
- lazercmd_state *state = machine.driver_data<lazercmd_state>();
- state->m_dac = machine.device<dac_device>("dac");
+ m_dac = machine().device<dac_device>("dac");
- state->save_item(NAME(state->m_marker_x));
- state->save_item(NAME(state->m_marker_y));
- state->save_item(NAME(state->m_timer_count));
- state->save_item(NAME(state->m_sense_state));
- state->save_item(NAME(state->m_dac_data));
+ save_item(NAME(m_marker_x));
+ save_item(NAME(m_marker_y));
+ save_item(NAME(m_timer_count));
+ save_item(NAME(m_sense_state));
+ save_item(NAME(m_dac_data));
}
-static MACHINE_RESET( lazercmd )
+void lazercmd_state::machine_reset()
{
- lazercmd_state *state = machine.driver_data<lazercmd_state>();
- state->m_marker_x = 0;
- state->m_marker_y = 0;
- state->m_timer_count = 0;
- state->m_sense_state = 0;
- state->m_dac_data = 0;
+ m_marker_x = 0;
+ m_marker_y = 0;
+ m_timer_count = 0;
+ m_sense_state = 0;
+ m_dac_data = 0;
}
@@ -639,8 +637,6 @@ static MACHINE_CONFIG_START( lazercmd, lazercmd_state )
MCFG_CPU_IO_MAP(lazercmd_portmap)
MCFG_TIMER_ADD_SCANLINE("scantimer", lazercmd_timer, "screen", 0, 1) /* 7680 Hz */
- MCFG_MACHINE_START(lazercmd)
- MCFG_MACHINE_RESET(lazercmd)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -654,7 +650,6 @@ static MACHINE_CONFIG_START( lazercmd, lazercmd_state )
MCFG_GFXDECODE(lazercmd)
MCFG_PALETTE_LENGTH(5)
- MCFG_PALETTE_INIT(lazercmd)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -676,8 +671,6 @@ static MACHINE_CONFIG_START( medlanes, lazercmd_state )
MCFG_CPU_IO_MAP(lazercmd_portmap)
MCFG_TIMER_ADD_SCANLINE("scantimer", lazercmd_timer, "screen", 0, 1) /* 7680 Hz */
- MCFG_MACHINE_START(lazercmd)
- MCFG_MACHINE_RESET(lazercmd)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -691,7 +684,6 @@ static MACHINE_CONFIG_START( medlanes, lazercmd_state )
MCFG_GFXDECODE(lazercmd)
MCFG_PALETTE_LENGTH(5)
- MCFG_PALETTE_INIT(lazercmd)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -713,8 +705,6 @@ static MACHINE_CONFIG_START( bbonk, lazercmd_state )
MCFG_CPU_IO_MAP(lazercmd_portmap)
MCFG_TIMER_ADD_SCANLINE("scantimer", bbonk_timer, "screen", 0, 1) /* 7680 Hz */
- MCFG_MACHINE_START(lazercmd)
- MCFG_MACHINE_RESET(lazercmd)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -728,7 +718,6 @@ static MACHINE_CONFIG_START( bbonk, lazercmd_state )
MCFG_GFXDECODE(lazercmd)
MCFG_PALETTE_LENGTH(5)
- MCFG_PALETTE_INIT(lazercmd)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/legionna.c b/src/mame/drivers/legionna.c
index 8813f499076..7da90353694 100644
--- a/src/mame/drivers/legionna.c
+++ b/src/mame/drivers/legionna.c
@@ -1070,7 +1070,7 @@ static MACHINE_CONFIG_START( legionna, legionna_state )
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT(all_black)
- MCFG_VIDEO_START(legionna)
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,legionna)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
@@ -1100,7 +1100,7 @@ static MACHINE_CONFIG_START( heatbrl, legionna_state )
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT(all_black)
- MCFG_VIDEO_START(legionna)
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,legionna)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
@@ -1129,7 +1129,7 @@ static MACHINE_CONFIG_START( godzilla, legionna_state )
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT(all_black)
- MCFG_VIDEO_START(godzilla)
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,godzilla)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
@@ -1158,7 +1158,7 @@ static MACHINE_CONFIG_START( denjinmk, legionna_state )
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT(all_black)
- MCFG_VIDEO_START(denjinmk)
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,denjinmk)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
@@ -1187,7 +1187,7 @@ static MACHINE_CONFIG_START( grainbow, legionna_state )
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT(all_black)
- MCFG_VIDEO_START(grainbow)
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,grainbow)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
@@ -1217,7 +1217,7 @@ static MACHINE_CONFIG_START( cupsoc, legionna_state )
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT(all_black)
- MCFG_VIDEO_START(cupsoc)
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,cupsoc)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
@@ -1255,7 +1255,7 @@ static MACHINE_CONFIG_START( cupsocbl, legionna_state )
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT(all_black)
- MCFG_VIDEO_START(cupsoc)
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,cupsoc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c
index bc7d02d5664..d800a2e25ea 100644
--- a/src/mame/drivers/leland.c
+++ b/src/mame/drivers/leland.c
@@ -743,8 +743,8 @@ static MACHINE_CONFIG_START( leland, leland_state )
MCFG_CPU_PROGRAM_MAP(slave_small_map_program)
MCFG_CPU_IO_MAP(slave_map_io)
- MCFG_MACHINE_START(leland)
- MCFG_MACHINE_RESET(leland)
+ MCFG_MACHINE_START_OVERRIDE(leland_state,leland)
+ MCFG_MACHINE_RESET_OVERRIDE(leland_state,leland)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_NVRAM_ADD_0FILL("battery")
diff --git a/src/mame/drivers/lemmings.c b/src/mame/drivers/lemmings.c
index 8bc29f5c61b..7e232c81851 100644
--- a/src/mame/drivers/lemmings.c
+++ b/src/mame/drivers/lemmings.c
@@ -252,11 +252,10 @@ static const ym2151_interface ym2151_config =
DEVCB_LINE(sound_irq)
};
-static MACHINE_START( lemmings )
+void lemmings_state::machine_start()
{
- lemmings_state *state = machine.driver_data<lemmings_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
}
static MACHINE_CONFIG_START( lemmings, lemmings_state )
@@ -269,7 +268,6 @@ static MACHINE_CONFIG_START( lemmings, lemmings_state )
MCFG_CPU_ADD("audiocpu", M6809,32220000/8)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(lemmings)
/* video hardware */
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -286,7 +284,6 @@ static MACHINE_CONFIG_START( lemmings, lemmings_state )
MCFG_GFXDECODE(lemmings)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(lemmings)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 1);
diff --git a/src/mame/drivers/lethal.c b/src/mame/drivers/lethal.c
index 9670c1257dc..c14489aa6a9 100644
--- a/src/mame/drivers/lethal.c
+++ b/src/mame/drivers/lethal.c
@@ -576,43 +576,41 @@ static const k054539_interface k054539_config =
sound_nmi
};
-static MACHINE_START( lethalen )
+void lethal_state::machine_start()
{
- lethal_state *state = machine.driver_data<lethal_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 0x20, &ROM[0x10000], 0x2000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 0x20, &ROM[0x10000], 0x2000);
+ membank("bank1")->set_entry(0);
- state->m_generic_paletteram_8.allocate(0x3800 + 0x02);
+ m_generic_paletteram_8.allocate(0x3800 + 0x02);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("soundcpu");
- state->m_k054539 = machine.device("k054539");
- state->m_k053244 = machine.device("k053244");
- state->m_k056832 = machine.device("k056832");
- state->m_k054000 = machine.device("k054000");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("soundcpu");
+ m_k054539 = machine().device("k054539");
+ m_k053244 = machine().device("k053244");
+ m_k056832 = machine().device("k056832");
+ m_k054000 = machine().device("k054000");
- state->save_item(NAME(state->m_cur_control2));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layer_colorbase));
+ save_item(NAME(m_cur_control2));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layer_colorbase));
}
-static MACHINE_RESET( lethalen )
+void lethal_state::machine_reset()
{
- lethal_state *state = machine.driver_data<lethal_state>();
- UINT8 *prgrom = (UINT8 *)state->memregion("maincpu")->base();
+ UINT8 *prgrom = (UINT8 *)memregion("maincpu")->base();
int i;
- state->membank("bank2")->set_base(&prgrom[0x48000]);
+ membank("bank2")->set_base(&prgrom[0x48000]);
/* force reset again to read proper reset vector */
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
for (i = 0; i < 4; i++)
- state->m_layer_colorbase[i] = 0;
+ m_layer_colorbase[i] = 0;
- state->m_sprite_colorbase = 0;
- state->m_cur_control2 = 0;
+ m_sprite_colorbase = 0;
+ m_cur_control2 = 0;
}
static const k056832_interface lethalen_k056832_intf =
@@ -652,8 +650,6 @@ static MACHINE_CONFIG_START( lethalen, lethal_state )
MCFG_CPU_ADD("soundcpu", Z80, MAIN_CLOCK/4) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(le_sound)
- MCFG_MACHINE_START(lethalen)
- MCFG_MACHINE_RESET(lethalen)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -671,7 +667,6 @@ static MACHINE_CONFIG_START( lethalen, lethal_state )
MCFG_PALETTE_LENGTH(7168+1)
- MCFG_VIDEO_START(lethalen)
MCFG_K056832_ADD("k056832", lethalen_k056832_intf)
MCFG_K053244_ADD("k053244", lethalen_k05324x_intf)
diff --git a/src/mame/drivers/lethalj.c b/src/mame/drivers/lethalj.c
index 14d8d07a932..0beca879b38 100644
--- a/src/mame/drivers/lethalj.c
+++ b/src/mame/drivers/lethalj.c
@@ -605,7 +605,6 @@ static MACHINE_CONFIG_START( gameroom, lethalj_state )
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK, 701, 0, 512, 263, 0, 236)
MCFG_SCREEN_UPDATE_STATIC(tms340x0_ind16)
- MCFG_VIDEO_START(lethalj)
MCFG_PALETTE_INIT(RRRRR_GGGGG_BBBBB)
MCFG_PALETTE_LENGTH(32768)
diff --git a/src/mame/drivers/lgp.c b/src/mame/drivers/lgp.c
index fccd49456f7..0038743c816 100644
--- a/src/mame/drivers/lgp.c
+++ b/src/mame/drivers/lgp.c
@@ -85,6 +85,7 @@ public:
DECLARE_READ8_MEMBER(ldp_read);
DECLARE_WRITE8_MEMBER(ldp_write);
DECLARE_DRIVER_INIT(lgp);
+ virtual void machine_start();
};
@@ -347,10 +348,9 @@ static INTERRUPT_GEN( vblank_callback_lgp )
}
-static MACHINE_START( lgp )
+void lgp_state::machine_start()
{
- lgp_state *state = machine.driver_data<lgp_state>();
- state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(irq_stop));
+ m_irq_timer = machine().scheduler().timer_alloc(FUNC(irq_stop));
}
@@ -367,7 +367,6 @@ static MACHINE_CONFIG_START( lgp, lgp_state )
MCFG_CPU_PROGRAM_MAP(sound_program_map)
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_MACHINE_START(lgp)
MCFG_LASERDISC_LDV1000_ADD("laserdisc")
MCFG_LASERDISC_OVERLAY_STATIC(256, 256, lgp)
@@ -376,7 +375,7 @@ static MACHINE_CONFIG_START( lgp, lgp_state )
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
MCFG_PALETTE_LENGTH(256)
- /* MCFG_PALETTE_INIT(lgp) */
+ /* MCFG_PALETTE_INIT_OVERRIDE(lgp_state,lgp) */
MCFG_GFXDECODE(lgp)
diff --git a/src/mame/drivers/liberate.c b/src/mame/drivers/liberate.c
index 44ac422dde7..07230e1fffe 100644
--- a/src/mame/drivers/liberate.c
+++ b/src/mame/drivers/liberate.c
@@ -790,33 +790,31 @@ static INTERRUPT_GEN( prosport_interrupt )
*
*************************************/
-static MACHINE_START( liberate )
+MACHINE_START_MEMBER(liberate_state,liberate)
{
- liberate_state *state = machine.driver_data<liberate_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_background_disable));
- state->save_item(NAME(state->m_background_color));
- state->save_item(NAME(state->m_gfx_rom_readback));
- state->save_item(NAME(state->m_latch));
- state->save_item(NAME(state->m_bank));
+ save_item(NAME(m_background_disable));
+ save_item(NAME(m_background_color));
+ save_item(NAME(m_gfx_rom_readback));
+ save_item(NAME(m_latch));
+ save_item(NAME(m_bank));
- state->save_item(NAME(state->m_io_ram));
+ save_item(NAME(m_io_ram));
}
-static MACHINE_RESET( liberate )
+MACHINE_RESET_MEMBER(liberate_state,liberate)
{
- liberate_state *state = machine.driver_data<liberate_state>();
- memset(state->m_io_ram, 0, ARRAY_LENGTH(state->m_io_ram));
+ memset(m_io_ram, 0, ARRAY_LENGTH(m_io_ram));
- state->m_background_disable = 0;
- state->m_background_color = 0;
- state->m_gfx_rom_readback = 0;
- state->m_latch = 0;
- state->m_bank = 0;
+ m_background_disable = 0;
+ m_background_color = 0;
+ m_gfx_rom_readback = 0;
+ m_latch = 0;
+ m_bank = 0;
}
static MACHINE_CONFIG_START( liberate, liberate_state )
@@ -833,8 +831,8 @@ static MACHINE_CONFIG_START( liberate, liberate_state )
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- MCFG_MACHINE_START(liberate)
- MCFG_MACHINE_RESET(liberate)
+ MCFG_MACHINE_START_OVERRIDE(liberate_state,liberate)
+ MCFG_MACHINE_RESET_OVERRIDE(liberate_state,liberate)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -846,9 +844,9 @@ static MACHINE_CONFIG_START( liberate, liberate_state )
MCFG_GFXDECODE(liberate)
MCFG_PALETTE_LENGTH(33)
- MCFG_PALETTE_INIT(liberate)
+ MCFG_PALETTE_INIT_OVERRIDE(liberate_state,liberate)
- MCFG_VIDEO_START(liberate)
+ MCFG_VIDEO_START_OVERRIDE(liberate_state,liberate)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -870,7 +868,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( boomrang, liberate )
- MCFG_VIDEO_START(boomrang)
+ MCFG_VIDEO_START_OVERRIDE(liberate_state,boomrang)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(boomrang)
MACHINE_CONFIG_END
@@ -895,7 +893,7 @@ static MACHINE_CONFIG_DERIVED( prosoccr, liberate )
MCFG_GFXDECODE(prosoccr)
- MCFG_VIDEO_START(prosoccr)
+ MCFG_VIDEO_START_OVERRIDE(liberate_state,prosoccr)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( prosport, liberate_state )
@@ -912,8 +910,8 @@ static MACHINE_CONFIG_START( prosport, liberate_state )
// MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- MCFG_MACHINE_START(liberate)
- MCFG_MACHINE_RESET(liberate)
+ MCFG_MACHINE_START_OVERRIDE(liberate_state,liberate)
+ MCFG_MACHINE_RESET_OVERRIDE(liberate_state,liberate)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -926,7 +924,7 @@ static MACHINE_CONFIG_START( prosport, liberate_state )
MCFG_GFXDECODE(prosport)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(prosport)
+ MCFG_VIDEO_START_OVERRIDE(liberate_state,prosport)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c
index 76dea33da95..b34c6ae5368 100644
--- a/src/mame/drivers/limenko.c
+++ b/src/mame/drivers/limenko.c
@@ -86,6 +86,7 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_md_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
};
@@ -500,18 +501,17 @@ static void copy_sprites(running_machine &machine, bitmap_ind16 &bitmap, bitmap_
}
}
-static VIDEO_START( limenko )
+void limenko_state::video_start()
{
- limenko_state *state = machine.driver_data<limenko_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_md_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_md_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_md_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_md_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_md_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_sprites_bitmap.allocate(384,240);
- state->m_sprites_bitmap_pri.allocate(384,240);
+ m_sprites_bitmap.allocate(384,240);
+ m_sprites_bitmap_pri.allocate(384,240);
}
static SCREEN_UPDATE_IND16( limenko )
@@ -767,7 +767,6 @@ static MACHINE_CONFIG_START( limenko, limenko_state )
MCFG_GFXDECODE(limenko)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(limenko)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -799,7 +798,6 @@ static MACHINE_CONFIG_START( spotty, limenko_state )
MCFG_GFXDECODE(limenko)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(limenko)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/littlerb.c b/src/mame/drivers/littlerb.c
index 2cae88c8da7..dd5c48afbfd 100644
--- a/src/mame/drivers/littlerb.c
+++ b/src/mame/drivers/littlerb.c
@@ -201,6 +201,7 @@ public:
littlerb_printf("littlerb_1800003c_w %04x\n", data);
// edfc / fffc alternating (display double buffering?)
}
+ virtual void video_start();
};
@@ -591,17 +592,16 @@ static TIMER_DEVICE_CALLBACK( littlerb_scanline )
}
}
-VIDEO_START( littlerb )
+void littlerb_state::video_start()
{
- littlerb_state *state = machine.driver_data<littlerb_state>();
-// machine.primary_screen->register_screen_bitmap(state->m_temp_bitmap_sprites_back);
-// machine.primary_screen->register_screen_bitmap(state->m_temp_bitmap_sprites);
+// machine().primary_screen->register_screen_bitmap(m_temp_bitmap_sprites_back);
+// machine().primary_screen->register_screen_bitmap(m_temp_bitmap_sprites);
- state->m_temp_bitmap_sprites_back = auto_bitmap_ind16_alloc(machine,512,512);
- state->m_temp_bitmap_sprites = auto_bitmap_ind16_alloc(machine,512,512);
+ m_temp_bitmap_sprites_back = auto_bitmap_ind16_alloc(machine(),512,512);
+ m_temp_bitmap_sprites = auto_bitmap_ind16_alloc(machine(),512,512);
- state->m_spritelist = (UINT16*)auto_alloc_array_clear(machine, UINT16, 0x20000);
+ m_spritelist = (UINT16*)auto_alloc_array_clear(machine(), UINT16, 0x20000);
}
@@ -836,14 +836,13 @@ static MACHINE_CONFIG_START( littlerb, littlerb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 336-1, 0*8, 288-1)
MCFG_SCREEN_UPDATE_STATIC(littlerb)
- MCFG_VIDEO_START(littlerb)
MCFG_PALETTE_LENGTH(0x100)
MCFG_DEVICE_ADD("littlerbvdp", LITTLERBVDP, 0)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
-// MCFG_PALETTE_INIT(littlerb)
+// MCFG_PALETTE_INIT_OVERRIDE(littlerb_state,littlerb)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
MCFG_DAC_ADD("dacl")
diff --git a/src/mame/drivers/lkage.c b/src/mame/drivers/lkage.c
index 97136ae2dbe..9881ce4e182 100644
--- a/src/mame/drivers/lkage.c
+++ b/src/mame/drivers/lkage.c
@@ -492,64 +492,62 @@ static const ym2203_interface ym2203_config =
DEVCB_LINE(irqhandler)
};
-static MACHINE_START( lkage )
+void lkage_state::machine_start()
{
- lkage_state *state = machine.driver_data<lkage_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
-
- state->save_item(NAME(state->m_bg_tile_bank));
- state->save_item(NAME(state->m_fg_tile_bank));
- state->save_item(NAME(state->m_tx_tile_bank));
-
- state->save_item(NAME(state->m_sprite_dx));
-
- state->save_item(NAME(state->m_mcu_ready));
- state->save_item(NAME(state->m_mcu_val));
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
-
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
- state->save_item(NAME(state->m_port_b_in));
- state->save_item(NAME(state->m_port_b_out));
- state->save_item(NAME(state->m_ddr_b));
- state->save_item(NAME(state->m_port_c_in));
- state->save_item(NAME(state->m_port_c_out));
- state->save_item(NAME(state->m_ddr_c));
- state->save_item(NAME(state->m_mcu_sent));
- state->save_item(NAME(state->m_main_sent));
- state->save_item(NAME(state->m_from_main));
- state->save_item(NAME(state->m_from_mcu));
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
+
+ save_item(NAME(m_bg_tile_bank));
+ save_item(NAME(m_fg_tile_bank));
+ save_item(NAME(m_tx_tile_bank));
+
+ save_item(NAME(m_sprite_dx));
+
+ save_item(NAME(m_mcu_ready));
+ save_item(NAME(m_mcu_val));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
+ save_item(NAME(m_port_b_in));
+ save_item(NAME(m_port_b_out));
+ save_item(NAME(m_ddr_b));
+ save_item(NAME(m_port_c_in));
+ save_item(NAME(m_port_c_out));
+ save_item(NAME(m_ddr_c));
+ save_item(NAME(m_mcu_sent));
+ save_item(NAME(m_main_sent));
+ save_item(NAME(m_from_main));
+ save_item(NAME(m_from_mcu));
}
-static MACHINE_RESET( lkage )
+void lkage_state::machine_reset()
{
- lkage_state *state = machine.driver_data<lkage_state>();
- state->m_bg_tile_bank = state->m_fg_tile_bank = state->m_tx_tile_bank =0;
-
- state->m_mcu_ready = 3;
- state->m_mcu_val = 0;
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
-
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_ddr_a = 0;
- state->m_port_b_in = 0;
- state->m_port_b_out = 0;
- state->m_ddr_b = 0;
- state->m_port_c_in = 0;
- state->m_port_c_out = 0;
- state->m_ddr_c = 0;
- state->m_mcu_sent = 0;
- state->m_main_sent = 0;
- state->m_from_main = 0;
- state->m_from_mcu = 0;
+ m_bg_tile_bank = m_fg_tile_bank = m_tx_tile_bank =0;
+
+ m_mcu_ready = 3;
+ m_mcu_val = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_ddr_a = 0;
+ m_port_b_in = 0;
+ m_port_b_out = 0;
+ m_ddr_b = 0;
+ m_port_c_in = 0;
+ m_port_c_out = 0;
+ m_ddr_c = 0;
+ m_mcu_sent = 0;
+ m_main_sent = 0;
+ m_from_main = 0;
+ m_from_mcu = 0;
}
static MACHINE_CONFIG_START( lkage, lkage_state )
@@ -567,8 +565,6 @@ static MACHINE_CONFIG_START( lkage, lkage_state )
MCFG_CPU_ADD("mcu", M68705,MCU_CLOCK)
MCFG_CPU_PROGRAM_MAP(lkage_m68705_map)
- MCFG_MACHINE_START(lkage)
- MCFG_MACHINE_RESET(lkage)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -581,7 +577,6 @@ static MACHINE_CONFIG_START( lkage, lkage_state )
MCFG_GFXDECODE(lkage)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(lkage)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -613,8 +608,6 @@ static MACHINE_CONFIG_START( lkageb, lkage_state )
MCFG_CPU_PROGRAM_MAP(lkage_sound_map)
/* IRQs are triggered by the YM2203 */
- MCFG_MACHINE_START(lkage)
- MCFG_MACHINE_RESET(lkage)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -627,7 +620,6 @@ static MACHINE_CONFIG_START( lkageb, lkage_state )
MCFG_GFXDECODE(lkage)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(lkage)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/lockon.c b/src/mame/drivers/lockon.c
index 3d8e9fb0411..e077e9de258 100644
--- a/src/mame/drivers/lockon.c
+++ b/src/mame/drivers/lockon.c
@@ -451,59 +451,57 @@ static const ym2203_interface ym2203_config =
*
*************************************/
-static MACHINE_START( lockon )
+void lockon_state::machine_start()
{
- lockon_state *state = machine.driver_data<lockon_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_ground = machine.device("ground");
- state->m_object = machine.device("object");
- state->m_f2203_1l = machine.device("f2203.1l");
- state->m_f2203_2l = machine.device("f2203.2l");
- state->m_f2203_3l = machine.device("f2203.3l");
- state->m_f2203_1r = machine.device("f2203.1r");
- state->m_f2203_2r = machine.device("f2203.2r");
- state->m_f2203_3r = machine.device("f2203.3r");
-
- state->save_item(NAME(state->m_ground_ctrl));
- state->save_item(NAME(state->m_scroll_h));
- state->save_item(NAME(state->m_scroll_v));
- state->save_item(NAME(state->m_xsal));
- state->save_item(NAME(state->m_x0ll));
- state->save_item(NAME(state->m_dx0ll));
- state->save_item(NAME(state->m_dxll));
- state->save_item(NAME(state->m_ysal));
- state->save_item(NAME(state->m_y0ll));
- state->save_item(NAME(state->m_dy0ll));
- state->save_item(NAME(state->m_dyll));
- state->save_item(NAME(state->m_iden));
- state->save_item(NAME(state->m_obj_pal_latch));
- state->save_item(NAME(state->m_obj_pal_addr));
- state->save_item(NAME(state->m_ctrl_reg));
- state->save_item(NAME(state->m_main_inten));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_ground = machine().device("ground");
+ m_object = machine().device("object");
+ m_f2203_1l = machine().device("f2203.1l");
+ m_f2203_2l = machine().device("f2203.2l");
+ m_f2203_3l = machine().device("f2203.3l");
+ m_f2203_1r = machine().device("f2203.1r");
+ m_f2203_2r = machine().device("f2203.2r");
+ m_f2203_3r = machine().device("f2203.3r");
+
+ save_item(NAME(m_ground_ctrl));
+ save_item(NAME(m_scroll_h));
+ save_item(NAME(m_scroll_v));
+ save_item(NAME(m_xsal));
+ save_item(NAME(m_x0ll));
+ save_item(NAME(m_dx0ll));
+ save_item(NAME(m_dxll));
+ save_item(NAME(m_ysal));
+ save_item(NAME(m_y0ll));
+ save_item(NAME(m_dy0ll));
+ save_item(NAME(m_dyll));
+ save_item(NAME(m_iden));
+ save_item(NAME(m_obj_pal_latch));
+ save_item(NAME(m_obj_pal_addr));
+ save_item(NAME(m_ctrl_reg));
+ save_item(NAME(m_main_inten));
}
-static MACHINE_RESET( lockon )
+void lockon_state::machine_reset()
{
- lockon_state *state = machine.driver_data<lockon_state>();
-
- state->m_ground_ctrl = 0;
- state->m_scroll_h = 0;
- state->m_scroll_v = 0;
- state->m_xsal = 0;
- state->m_x0ll = 0;
- state->m_dx0ll = 0;
- state->m_dxll = 0;
- state->m_ysal = 0;
- state->m_y0ll = 0;
- state->m_dy0ll = 0;
- state->m_dyll = 0;
- state->m_iden = 0;
- state->m_obj_pal_latch = 0;
- state->m_obj_pal_addr = 0;
- state->m_ctrl_reg = 0;
- state->m_main_inten = 0;
+
+ m_ground_ctrl = 0;
+ m_scroll_h = 0;
+ m_scroll_v = 0;
+ m_xsal = 0;
+ m_x0ll = 0;
+ m_dx0ll = 0;
+ m_dxll = 0;
+ m_ysal = 0;
+ m_y0ll = 0;
+ m_dy0ll = 0;
+ m_dyll = 0;
+ m_iden = 0;
+ m_obj_pal_latch = 0;
+ m_obj_pal_addr = 0;
+ m_ctrl_reg = 0;
+ m_main_inten = 0;
}
static MACHINE_CONFIG_START( lockon, lockon_state )
@@ -524,8 +522,6 @@ static MACHINE_CONFIG_START( lockon, lockon_state )
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_ASTABLE(10000, 4700, 10000e-12) * 4096)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(lockon)
- MCFG_MACHINE_RESET(lockon)
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
@@ -535,10 +531,8 @@ static MACHINE_CONFIG_START( lockon, lockon_state )
MCFG_SCREEN_VBLANK_STATIC(lockon)
MCFG_GFXDECODE(lockon)
- MCFG_PALETTE_INIT(lockon)
MCFG_PALETTE_LENGTH(1024 + 2048)
- MCFG_VIDEO_START(lockon)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c
index 5c6fee46fff..2b8d8a7a0bc 100644
--- a/src/mame/drivers/looping.c
+++ b/src/mame/drivers/looping.c
@@ -139,6 +139,9 @@ public:
DECLARE_WRITE8_MEMBER(speech_enable_w);
DECLARE_DRIVER_INIT(looping);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -149,9 +152,9 @@ public:
*
*************************************/
-static PALETTE_INIT( looping )
+void looping_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[3] = { 1000, 470, 220 };
double rweights[3], gweights[3], bweights[2];
int i;
@@ -184,7 +187,7 @@ static PALETTE_INIT( looping )
bit1 = (color_prom[i] >> 7) & 1;
b = combine_2_weights(bweights, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -204,13 +207,12 @@ TILE_GET_INFO_MEMBER(looping_state::get_tile_info)
}
-static VIDEO_START( looping )
+void looping_state::video_start()
{
- looping_state *state = machine.driver_data<looping_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(looping_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(looping_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_bg_tilemap->set_scroll_cols(0x20);
+ m_bg_tilemap->set_scroll_cols(0x20);
}
@@ -318,10 +320,9 @@ static SCREEN_UPDATE_IND16( looping )
*
*************************************/
-static MACHINE_START( looping )
+void looping_state::machine_start()
{
- looping_state *state = machine.driver_data<looping_state>();
- state->save_item(NAME(state->m_sound));
+ save_item(NAME(m_sound));
}
@@ -653,7 +654,6 @@ static MACHINE_CONFIG_START( looping, looping_state )
MCFG_CPU_IO_MAP(looping_cop_io_map)
MCFG_CPU_CONFIG(looping_cop_intf)
- MCFG_MACHINE_START(looping)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -663,8 +663,6 @@ static MACHINE_CONFIG_START( looping, looping_state )
MCFG_GFXDECODE(looping)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(looping)
- MCFG_VIDEO_START(looping)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index f49ab4720f0..3f7be61a8aa 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -678,7 +678,6 @@ static MACHINE_CONFIG_START( lordgun, lordgun_state )
MCFG_GFXDECODE(lordgun)
MCFG_PALETTE_LENGTH(0x800 * 8) // 0x800 real colors, repeated per priority level
- MCFG_VIDEO_START(lordgun)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -721,7 +720,6 @@ static MACHINE_CONFIG_START( aliencha, lordgun_state )
MCFG_GFXDECODE(lordgun)
MCFG_PALETTE_LENGTH(0x800 * 8) // 0x800 real colors, repeated per priority level
- MCFG_VIDEO_START(lordgun)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/lsasquad.c b/src/mame/drivers/lsasquad.c
index 00722f34aa8..22c2fd533cf 100644
--- a/src/mame/drivers/lsasquad.c
+++ b/src/mame/drivers/lsasquad.c
@@ -564,55 +564,53 @@ static const ym2203_interface ym2203_config =
};
-static MACHINE_START( lsasquad )
+MACHINE_START_MEMBER(lsasquad_state,lsasquad)
{
- lsasquad_state *state = machine.driver_data<lsasquad_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
-
- state->membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
-
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
- state->save_item(NAME(state->m_port_b_in));
- state->save_item(NAME(state->m_port_b_out));
- state->save_item(NAME(state->m_ddr_b));
- state->save_item(NAME(state->m_mcu_sent));
- state->save_item(NAME(state->m_main_sent));
- state->save_item(NAME(state->m_from_main));
- state->save_item(NAME(state->m_from_mcu));
-
- state->save_item(NAME(state->m_sound_pending));
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_sound_cmd));
- state->save_item(NAME(state->m_sound_result));
+ UINT8 *ROM = memregion("maincpu")->base();
+
+ membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
+
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
+ save_item(NAME(m_port_b_in));
+ save_item(NAME(m_port_b_out));
+ save_item(NAME(m_ddr_b));
+ save_item(NAME(m_mcu_sent));
+ save_item(NAME(m_main_sent));
+ save_item(NAME(m_from_main));
+ save_item(NAME(m_from_mcu));
+
+ save_item(NAME(m_sound_pending));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_sound_cmd));
+ save_item(NAME(m_sound_result));
}
-static MACHINE_RESET( lsasquad )
+MACHINE_RESET_MEMBER(lsasquad_state,lsasquad)
{
- lsasquad_state *state = machine.driver_data<lsasquad_state>();
-
- state->m_sound_pending = 0;
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_sound_cmd = 0;
- state->m_sound_result = 0;
-
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_ddr_a = 0;
- state->m_port_b_in = 0;
- state->m_port_b_out = 0;
- state->m_ddr_b = 0;
- state->m_mcu_sent = 0;
- state->m_main_sent = 0;
- state->m_from_main = 0;
- state->m_from_mcu = 0;
+
+ m_sound_pending = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_sound_cmd = 0;
+ m_sound_result = 0;
+
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_ddr_a = 0;
+ m_port_b_in = 0;
+ m_port_b_out = 0;
+ m_ddr_b = 0;
+ m_mcu_sent = 0;
+ m_main_sent = 0;
+ m_from_main = 0;
+ m_from_mcu = 0;
}
/* Note: lsasquad clock values are not verified */
@@ -633,8 +631,8 @@ static MACHINE_CONFIG_START( lsasquad, lsasquad_state )
/* synchronization of the CPUs */
/* main<->sound synchronization depends on this */
- MCFG_MACHINE_START(lsasquad)
- MCFG_MACHINE_RESET(lsasquad)
+ MCFG_MACHINE_START_OVERRIDE(lsasquad_state,lsasquad)
+ MCFG_MACHINE_RESET_OVERRIDE(lsasquad_state,lsasquad)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -689,8 +687,8 @@ static MACHINE_CONFIG_START( daikaiju, lsasquad_state )
/* synchronization of the CPUs */
/* main<->sound synchronization depends on this */
- MCFG_MACHINE_START(lsasquad)
- MCFG_MACHINE_RESET(lsasquad)
+ MCFG_MACHINE_START_OVERRIDE(lsasquad_state,lsasquad)
+ MCFG_MACHINE_RESET_OVERRIDE(lsasquad_state,lsasquad)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/ltcasino.c b/src/mame/drivers/ltcasino.c
index 974282b57ec..4652fdce808 100644
--- a/src/mame/drivers/ltcasino.c
+++ b/src/mame/drivers/ltcasino.c
@@ -33,6 +33,7 @@ public:
DECLARE_WRITE8_MEMBER(ltcasino_tile_atr_w);
DECLARE_DRIVER_INIT(mv4in1);
TILE_GET_INFO_MEMBER(get_ltcasino_tile_info);
+ virtual void video_start();
};
@@ -50,10 +51,9 @@ TILE_GET_INFO_MEMBER(ltcasino_state::get_ltcasino_tile_info)
SET_TILE_INFO_MEMBER(0,tileno,0,0);
}
-static VIDEO_START(ltcasino)
+void ltcasino_state::video_start()
{
- ltcasino_state *state = machine.driver_data<ltcasino_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ltcasino_state::get_ltcasino_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,64,32);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ltcasino_state::get_ltcasino_tile_info),this),TILEMAP_SCAN_ROWS,8, 8,64,32);
}
@@ -660,7 +660,6 @@ static MACHINE_CONFIG_START( ltcasino, ltcasino_state )
MCFG_GFXDECODE(ltcasino)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(ltcasino)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/luckgrln.c b/src/mame/drivers/luckgrln.c
index c368c067bb8..b2407a07c38 100644
--- a/src/mame/drivers/luckgrln.c
+++ b/src/mame/drivers/luckgrln.c
@@ -149,6 +149,7 @@ public:
TILE_GET_INFO_MEMBER(get_luckgrln_reel2_tile_info);
TILE_GET_INFO_MEMBER(get_luckgrln_reel3_tile_info);
TILE_GET_INFO_MEMBER(get_luckgrln_reel4_tile_info);
+ virtual void video_start();
};
@@ -268,23 +269,22 @@ TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel4_tile_info)
0);
}
-static VIDEO_START(luckgrln)
+void luckgrln_state::video_start()
{
- luckgrln_state *state = machine.driver_data<luckgrln_state>();
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel4_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
-
- state->m_reel1_tilemap->set_scroll_cols(64);
- state->m_reel2_tilemap->set_scroll_cols(64);
- state->m_reel3_tilemap->set_scroll_cols(64);
- state->m_reel4_tilemap->set_scroll_cols(64);
-
- state->m_reel1_tilemap->set_transparent_pen(0 );
- state->m_reel2_tilemap->set_transparent_pen(0 );
- state->m_reel3_tilemap->set_transparent_pen(0 );
- state->m_reel4_tilemap->set_transparent_pen(0 );
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel1_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel2_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel3_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel4_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel4_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+
+ m_reel1_tilemap->set_scroll_cols(64);
+ m_reel2_tilemap->set_scroll_cols(64);
+ m_reel3_tilemap->set_scroll_cols(64);
+ m_reel4_tilemap->set_scroll_cols(64);
+
+ m_reel1_tilemap->set_transparent_pen(0 );
+ m_reel2_tilemap->set_transparent_pen(0 );
+ m_reel3_tilemap->set_transparent_pen(0 );
+ m_reel4_tilemap->set_transparent_pen(0 );
}
static SCREEN_UPDATE_IND16(luckgrln)
@@ -1011,7 +1011,6 @@ static MACHINE_CONFIG_START( luckgrln, luckgrln_state )
MCFG_GFXDECODE(luckgrln)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_VIDEO_START(luckgrln)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/lucky74.c b/src/mame/drivers/lucky74.c
index 32d6df3675d..c46f28e294a 100644
--- a/src/mame/drivers/lucky74.c
+++ b/src/mame/drivers/lucky74.c
@@ -1383,10 +1383,8 @@ static MACHINE_CONFIG_START( lucky74, lucky74_state )
MCFG_GFXDECODE(lucky74)
- MCFG_PALETTE_INIT(lucky74)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(lucky74)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/lvcards.c b/src/mame/drivers/lvcards.c
index f68792f3fcb..31ca0a4b4a3 100644
--- a/src/mame/drivers/lvcards.c
+++ b/src/mame/drivers/lvcards.c
@@ -80,20 +80,18 @@ TODO:
#include "includes/lvcards.h"
-static MACHINE_START( lvpoker )
+MACHINE_START_MEMBER(lvcards_state,lvpoker)
{
- lvcards_state *state = machine.driver_data<lvcards_state>();
- state_save_register_global(machine, state->m_payout);
- state_save_register_global(machine, state->m_pulse);
- state_save_register_global(machine, state->m_result);
+ state_save_register_global(machine(), m_payout);
+ state_save_register_global(machine(), m_pulse);
+ state_save_register_global(machine(), m_result);
}
-static MACHINE_RESET( lvpoker )
+MACHINE_RESET_MEMBER(lvcards_state,lvpoker)
{
- lvcards_state *state = machine.driver_data<lvcards_state>();
- state->m_payout = 0;
- state->m_pulse = 0;
- state->m_result = 0;
+ m_payout = 0;
+ m_pulse = 0;
+ m_result = 0;
}
WRITE8_MEMBER(lvcards_state::control_port_2_w)
@@ -481,8 +479,6 @@ static MACHINE_CONFIG_START( lvcards, lvcards_state )
MCFG_GFXDECODE(lvcards)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(lvcards)
- MCFG_VIDEO_START(lvcards)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -498,8 +494,8 @@ static MACHINE_CONFIG_DERIVED( lvpoker, lvcards )
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(lvpoker_map)
- MCFG_MACHINE_START(lvpoker)
- MCFG_MACHINE_RESET(lvpoker)
+ MCFG_MACHINE_START_OVERRIDE(lvcards_state,lvpoker)
+ MCFG_MACHINE_RESET_OVERRIDE(lvcards_state,lvpoker)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ponttehk, lvcards )
@@ -508,10 +504,10 @@ static MACHINE_CONFIG_DERIVED( ponttehk, lvcards )
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ponttehk_map)
- MCFG_MACHINE_RESET(lvpoker)
+ MCFG_MACHINE_RESET_OVERRIDE(lvcards_state,lvpoker)
// video hardware
- MCFG_PALETTE_INIT(ponttehk)
+ MCFG_PALETTE_INIT_OVERRIDE(lvcards_state,ponttehk)
MACHINE_CONFIG_END
ROM_START( lvpoker )
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index 28b6818f2e1..5517e7d2233 100644
--- a/src/mame/drivers/lwings.c
+++ b/src/mame/drivers/lwings.c
@@ -746,38 +746,36 @@ static const msm5205_interface msm5205_config =
*
*************************************/
-static MACHINE_START( lwings )
+void lwings_state::machine_start()
{
- lwings_state *state = machine.driver_data<lwings_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
- state->save_item(NAME(state->m_bg2_image));
- state->save_item(NAME(state->m_scroll_x));
- state->save_item(NAME(state->m_scroll_y));
- state->save_item(NAME(state->m_param));
- state->save_item(NAME(state->m_palette_pen));
- state->save_item(NAME(state->m_soundstate));
- state->save_item(NAME(state->m_adpcm));
+ save_item(NAME(m_bg2_image));
+ save_item(NAME(m_scroll_x));
+ save_item(NAME(m_scroll_y));
+ save_item(NAME(m_param));
+ save_item(NAME(m_palette_pen));
+ save_item(NAME(m_soundstate));
+ save_item(NAME(m_adpcm));
}
-static MACHINE_RESET( lwings )
+void lwings_state::machine_reset()
{
- lwings_state *state = machine.driver_data<lwings_state>();
- state->m_bg2_image = 0;
- state->m_scroll_x[0] = 0;
- state->m_scroll_x[1] = 0;
- state->m_scroll_y[0] = 0;
- state->m_scroll_y[1] = 0;
- state->m_param[0] = 0;
- state->m_param[1] = 0;
- state->m_param[2] = 0;
- state->m_param[3] = 0;
- state->m_palette_pen = 0;
- state->m_soundstate = 0;
- state->m_adpcm = 0;
+ m_bg2_image = 0;
+ m_scroll_x[0] = 0;
+ m_scroll_x[1] = 0;
+ m_scroll_y[0] = 0;
+ m_scroll_y[1] = 0;
+ m_param[0] = 0;
+ m_param[1] = 0;
+ m_param[2] = 0;
+ m_param[3] = 0;
+ m_palette_pen = 0;
+ m_soundstate = 0;
+ m_adpcm = 0;
}
static MACHINE_CONFIG_START( lwings, lwings_state )
@@ -791,8 +789,6 @@ static MACHINE_CONFIG_START( lwings, lwings_state )
MCFG_CPU_PROGRAM_MAP(lwings_sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* ??? */
- MCFG_MACHINE_START(lwings)
- MCFG_MACHINE_RESET(lwings)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -808,7 +804,6 @@ static MACHINE_CONFIG_START( lwings, lwings_state )
MCFG_GFXDECODE(lwings)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(lwings)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -844,7 +839,7 @@ static MACHINE_CONFIG_DERIVED( trojan, lwings )
/* video hardware */
MCFG_GFXDECODE(trojan)
- MCFG_VIDEO_START(trojan)
+ MCFG_VIDEO_START_OVERRIDE(lwings_state,trojan)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(trojan)
@@ -864,7 +859,7 @@ static MACHINE_CONFIG_DERIVED( avengers, trojan )
MCFG_CPU_IO_MAP(avengers_adpcm_io_map)
/* video hardware */
- MCFG_VIDEO_START(avengers)
+ MCFG_VIDEO_START_OVERRIDE(lwings_state,avengers)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/m10.c b/src/mame/drivers/m10.c
index 3a906a79e20..bf5acbf1ad0 100644
--- a/src/mame/drivers/m10.c
+++ b/src/mame/drivers/m10.c
@@ -175,7 +175,7 @@ static const ttl74123_interface ic8j2_intf =
*
*************************************/
-static PALETTE_INIT( m10 )
+PALETTE_INIT_MEMBER(m10_state,m10)
{
int i;
@@ -188,31 +188,29 @@ static PALETTE_INIT( m10 )
else
color = RGB_BLACK;
- palette_set_color(machine, i, color);
+ palette_set_color(machine(), i, color);
}
}
-static MACHINE_START( m10 )
+MACHINE_START_MEMBER(m10_state,m10)
{
- m10_state *state = machine.driver_data<m10_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_ic8j1 = machine.device("ic8j1");
- state->m_ic8j2 = machine.device("ic8j2");
- state->m_samples = machine.device<samples_device>("samples");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_ic8j1 = machine().device("ic8j1");
+ m_ic8j2 = machine().device("ic8j2");
+ m_samples = machine().device<samples_device>("samples");
- state->save_item(NAME(state->m_bottomline));
- state->save_item(NAME(state->m_flip));
- state->save_item(NAME(state->m_last));
+ save_item(NAME(m_bottomline));
+ save_item(NAME(m_flip));
+ save_item(NAME(m_last));
}
-static MACHINE_RESET( m10 )
+MACHINE_RESET_MEMBER(m10_state,m10)
{
- m10_state *state = machine.driver_data<m10_state>();
- state->m_bottomline = 0;
- state->m_flip = 0;
- state->m_last = 0;
+ m_bottomline = 0;
+ m_flip = 0;
+ m_last = 0;
}
/*************************************
@@ -831,8 +829,8 @@ static MACHINE_CONFIG_START( m10, m10_state )
MCFG_CPU_ADD("maincpu", M6502,IREMM10_CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(m10_main)
- MCFG_MACHINE_START(m10)
- MCFG_MACHINE_RESET(m10)
+ MCFG_MACHINE_START_OVERRIDE(m10_state,m10)
+ MCFG_MACHINE_RESET_OVERRIDE(m10_state,m10)
//MCFG_CPU_VBLANK_INT("screen", m10_interrupt)
@@ -844,8 +842,8 @@ static MACHINE_CONFIG_START( m10, m10_state )
MCFG_GFXDECODE(m10)
MCFG_PALETTE_LENGTH(2*8)
- MCFG_PALETTE_INIT(m10)
- MCFG_VIDEO_START(m10)
+ MCFG_PALETTE_INIT_OVERRIDE(m10_state,m10)
+ MCFG_VIDEO_START_OVERRIDE(m10_state,m10)
/* 74LS123 */
@@ -876,8 +874,8 @@ static MACHINE_CONFIG_START( m15, m10_state )
MCFG_CPU_ADD("maincpu", M6502,IREMM15_CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(m15_main)
- MCFG_MACHINE_START(m10)
- MCFG_MACHINE_RESET(m10)
+ MCFG_MACHINE_START_OVERRIDE(m10_state,m10)
+ MCFG_MACHINE_RESET_OVERRIDE(m10_state,m10)
MCFG_CPU_VBLANK_INT("screen", m15_interrupt)
@@ -888,8 +886,8 @@ static MACHINE_CONFIG_START( m15, m10_state )
MCFG_PALETTE_LENGTH(2*8)
- MCFG_PALETTE_INIT(m10)
- MCFG_VIDEO_START( m15 )
+ MCFG_PALETTE_INIT_OVERRIDE(m10_state,m10)
+ MCFG_VIDEO_START_OVERRIDE(m10_state, m15 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c
index 70c26dc4ef4..9ae63afca6c 100644
--- a/src/mame/drivers/m107.c
+++ b/src/mame/drivers/m107.c
@@ -40,7 +40,7 @@ confirmed for m107 games as well.
/*****************************************************************************/
-static MACHINE_START( m107 )
+void m107_state::machine_start()
{
// TODO: state save registrations
}
@@ -779,7 +779,6 @@ static MACHINE_CONFIG_START( firebarr, m107_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_CONFIG(firebarr_config)
- MCFG_MACHINE_START(m107)
MCFG_TIMER_ADD_SCANLINE("scantimer", m107_scanline_interrupt, "screen", 0, 1)
@@ -794,7 +793,6 @@ static MACHINE_CONFIG_START( firebarr, m107_state )
MCFG_GFXDECODE(firebarr)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(m107)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/m14.c b/src/mame/drivers/m14.c
index fdbc96aae99..25e0f08984e 100644
--- a/src/mame/drivers/m14.c
+++ b/src/mame/drivers/m14.c
@@ -81,6 +81,10 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(left_coin_inserted);
DECLARE_INPUT_CHANGED_MEMBER(right_coin_inserted);
TILE_GET_INFO_MEMBER(m14_get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -91,7 +95,7 @@ public:
*************************************/
/* guess, might not be 100% accurate. */
-static PALETTE_INIT( m14 )
+void m14_state::palette_init()
{
int i;
@@ -104,7 +108,7 @@ static PALETTE_INIT( m14 )
else
color = (i & 0x10) ? RGB_WHITE : RGB_BLACK;
- palette_set_color(machine, i, color);
+ palette_set_color(machine(), i, color);
}
}
@@ -123,11 +127,10 @@ TILE_GET_INFO_MEMBER(m14_state::m14_get_tile_info)
0);
}
-static VIDEO_START( m14 )
+void m14_state::video_start()
{
- m14_state *state = machine.driver_data<m14_state>();
- state->m_m14_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m14_state::m14_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_m14_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m14_state::m14_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( m14 )
@@ -316,20 +319,18 @@ static INTERRUPT_GEN( m14_irq )
device->execute().set_input_line(I8085_RST75_LINE, CLEAR_LINE);
}
-static MACHINE_START( m14 )
+void m14_state::machine_start()
{
- m14_state *state = machine.driver_data<m14_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_hop_mux));
+ save_item(NAME(m_hop_mux));
}
-static MACHINE_RESET( m14 )
+void m14_state::machine_reset()
{
- m14_state *state = machine.driver_data<m14_state>();
- state->m_hop_mux = 0;
+ m_hop_mux = 0;
}
@@ -341,8 +342,6 @@ static MACHINE_CONFIG_START( m14, m14_state )
MCFG_CPU_IO_MAP(m14_io_map)
MCFG_CPU_VBLANK_INT("screen",m14_irq)
- MCFG_MACHINE_START(m14)
- MCFG_MACHINE_RESET(m14)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -353,9 +352,7 @@ static MACHINE_CONFIG_START( m14, m14_state )
MCFG_SCREEN_UPDATE_STATIC(m14)
MCFG_GFXDECODE(m14)
MCFG_PALETTE_LENGTH(0x20)
- MCFG_PALETTE_INIT(m14)
- MCFG_VIDEO_START(m14)
/* sound hardware */
// MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/m52.c b/src/mame/drivers/m52.c
index c1f387449a1..b253121e165 100644
--- a/src/mame/drivers/m52.c
+++ b/src/mame/drivers/m52.c
@@ -380,15 +380,14 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_RESET( m52 )
+void m52_state::machine_reset()
{
- m52_state *state = machine.driver_data<m52_state>();
- state->m_bg1xpos = 0;
- state->m_bg1ypos = 0;
- state->m_bg2xpos = 0;
- state->m_bg2ypos = 0;
- state->m_bgcontrol = 0;
+ m_bg1xpos = 0;
+ m_bg1ypos = 0;
+ m_bg2xpos = 0;
+ m_bg2ypos = 0;
+ m_bgcontrol = 0;
}
static MACHINE_CONFIG_START( m52, m52_state )
@@ -399,7 +398,6 @@ static MACHINE_CONFIG_START( m52, m52_state )
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_RESET(m52)
/* video hardware */
MCFG_GFXDECODE(m52)
@@ -409,8 +407,6 @@ static MACHINE_CONFIG_START( m52, m52_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 384, 136, 376, 282, 22, 274)
MCFG_SCREEN_UPDATE_STATIC(m52)
- MCFG_PALETTE_INIT(m52)
- MCFG_VIDEO_START(m52)
/* sound hardware */
MCFG_FRAGMENT_ADD(m52_sound_c_audio)
diff --git a/src/mame/drivers/m57.c b/src/mame/drivers/m57.c
index d8919bd9791..76beed3fa96 100644
--- a/src/mame/drivers/m57.c
+++ b/src/mame/drivers/m57.c
@@ -243,8 +243,6 @@ static MACHINE_CONFIG_START( m57, m57_state )
MCFG_GFXDECODE(m57)
MCFG_PALETTE_LENGTH(32*8+32*8)
- MCFG_PALETTE_INIT(m57)
- MCFG_VIDEO_START(m57)
/* sound hardware */
MCFG_FRAGMENT_ADD(m52_sound_c_audio)
diff --git a/src/mame/drivers/m58.c b/src/mame/drivers/m58.c
index 5f7f2618fe1..b10fd50ff7f 100644
--- a/src/mame/drivers/m58.c
+++ b/src/mame/drivers/m58.c
@@ -203,8 +203,6 @@ static MACHINE_CONFIG_START( yard, m58_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 384, 0, 256, 282, 42, 266)
MCFG_SCREEN_UPDATE_STATIC(yard)
- MCFG_PALETTE_INIT(yard)
- MCFG_VIDEO_START(yard)
/* sound hardware */
MCFG_FRAGMENT_ADD(m52_large_audio)
diff --git a/src/mame/drivers/m62.c b/src/mame/drivers/m62.c
index 77448c8a0e0..f6bb9477031 100644
--- a/src/mame/drivers/m62.c
+++ b/src/mame/drivers/m62.c
@@ -928,29 +928,27 @@ static GFXDECODE_START( youjyudn )
GFXDECODE_END
-static MACHINE_START( m62 )
+void m62_state::machine_start()
{
- m62_state *state = machine.driver_data<m62_state>();
- state->save_item(NAME(state->m_ldrun2_bankswap));
- state->save_item(NAME(state->m_bankcontrol));
+ save_item(NAME(m_ldrun2_bankswap));
+ save_item(NAME(m_bankcontrol));
}
-static MACHINE_RESET( m62 )
+void m62_state::machine_reset()
{
- m62_state *state = machine.driver_data<m62_state>();
-
- state->m_flipscreen = 0;
- state->m_m62_background_hscroll = 0;
- state->m_m62_background_vscroll = 0;
- state->m_kidniki_background_bank = 0;
- state->m_kidniki_text_vscroll = 0;
- state->m_ldrun3_topbottom_mask = 0;
- state->m_spelunkr_palbank = 0;
-
- state->m_ldrun2_bankswap = 0;
- state->m_bankcontrol[0] = 0;
- state->m_bankcontrol[1] = 0;
+
+ m_flipscreen = 0;
+ m_m62_background_hscroll = 0;
+ m_m62_background_vscroll = 0;
+ m_kidniki_background_bank = 0;
+ m_kidniki_text_vscroll = 0;
+ m_ldrun3_topbottom_mask = 0;
+ m_spelunkr_palbank = 0;
+
+ m_ldrun2_bankswap = 0;
+ m_bankcontrol[0] = 0;
+ m_bankcontrol[1] = 0;
}
static MACHINE_CONFIG_START( ldrun, m62_state )
@@ -961,8 +959,6 @@ static MACHINE_CONFIG_START( ldrun, m62_state )
MCFG_CPU_IO_MAP(kungfum_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(m62)
- MCFG_MACHINE_RESET(m62)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -975,8 +971,6 @@ static MACHINE_CONFIG_START( ldrun, m62_state )
MCFG_GFXDECODE(ldrun)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(m62)
- MCFG_VIDEO_START(ldrun)
/* sound hardware */
MCFG_FRAGMENT_ADD(m62_audio)
@@ -996,7 +990,7 @@ static MACHINE_CONFIG_DERIVED( kungfum, ldrun )
MCFG_SCREEN_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_STATIC(kungfum)
- MCFG_VIDEO_START(kungfum)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,kungfum)
MACHINE_CONFIG_END
@@ -1015,8 +1009,8 @@ static MACHINE_CONFIG_DERIVED( battroad, ldrun )
MCFG_GFXDECODE(battroad)
MCFG_PALETTE_LENGTH(544)
- MCFG_PALETTE_INIT(battroad)
- MCFG_VIDEO_START(battroad)
+ MCFG_PALETTE_INIT_OVERRIDE(m62_state,battroad)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,battroad)
MACHINE_CONFIG_END
@@ -1027,7 +1021,7 @@ static MACHINE_CONFIG_DERIVED( ldrun2, ldrun )
MCFG_CPU_PROGRAM_MAP(ldrun2_map)
MCFG_CPU_IO_MAP(ldrun2_io_map)
- MCFG_VIDEO_START(ldrun2)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,ldrun2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(ldrun)
MACHINE_CONFIG_END
@@ -1042,7 +1036,7 @@ static MACHINE_CONFIG_DERIVED( ldrun3, ldrun )
/* video hardware */
MCFG_GFXDECODE(ldrun3)
- MCFG_VIDEO_START(ldrun2)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,ldrun2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(ldrun3)
MACHINE_CONFIG_END
@@ -1057,7 +1051,7 @@ static MACHINE_CONFIG_DERIVED( ldrun4, ldrun )
/* video hardware */
MCFG_GFXDECODE(ldrun3)
- MCFG_VIDEO_START(ldrun4)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,ldrun4)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(ldrun4)
MACHINE_CONFIG_END
@@ -1073,8 +1067,8 @@ static MACHINE_CONFIG_DERIVED( lotlot, ldrun )
MCFG_GFXDECODE(lotlot)
MCFG_PALETTE_LENGTH(768)
- MCFG_PALETTE_INIT(lotlot)
- MCFG_VIDEO_START(lotlot)
+ MCFG_PALETTE_INIT_OVERRIDE(m62_state,lotlot)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,lotlot)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(lotlot)
MACHINE_CONFIG_END
@@ -1090,7 +1084,7 @@ static MACHINE_CONFIG_DERIVED( kidniki, ldrun )
/* video hardware */
MCFG_GFXDECODE(kidniki)
- MCFG_VIDEO_START(kidniki)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,kidniki)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(kidniki)
MACHINE_CONFIG_END
@@ -1105,7 +1099,7 @@ static MACHINE_CONFIG_DERIVED( spelunkr, ldrun )
/* video hardware */
MCFG_GFXDECODE(spelunkr)
- MCFG_VIDEO_START(spelunkr)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,spelunkr)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(spelunkr)
MACHINE_CONFIG_END
@@ -1121,8 +1115,8 @@ static MACHINE_CONFIG_DERIVED( spelunk2, ldrun )
MCFG_GFXDECODE(spelunk2)
MCFG_PALETTE_LENGTH(768)
- MCFG_PALETTE_INIT(spelunk2)
- MCFG_VIDEO_START(spelunk2)
+ MCFG_PALETTE_INIT_OVERRIDE(m62_state,spelunk2)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,spelunk2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(spelunk2)
MACHINE_CONFIG_END
@@ -1142,7 +1136,7 @@ static MACHINE_CONFIG_DERIVED( youjyudn, ldrun )
MCFG_SCREEN_UPDATE_STATIC(youjyudn)
MCFG_GFXDECODE(youjyudn)
- MCFG_VIDEO_START(youjyudn)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,youjyudn)
MACHINE_CONFIG_END
@@ -1157,7 +1151,7 @@ static MACHINE_CONFIG_DERIVED( horizon, ldrun )
MCFG_SCREEN_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_STATIC(horizon)
- MCFG_VIDEO_START(horizon)
+ MCFG_VIDEO_START_OVERRIDE(m62_state,horizon)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m63.c b/src/mame/drivers/m63.c
index ddb294d1d7c..809e8f82eae 100644
--- a/src/mame/drivers/m63.c
+++ b/src/mame/drivers/m63.c
@@ -179,12 +179,16 @@ public:
DECLARE_DRIVER_INIT(fghtbskt);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ DECLARE_MACHINE_START(m63);
+ DECLARE_MACHINE_RESET(m63);
+ DECLARE_VIDEO_START(m63);
+ DECLARE_PALETTE_INIT(m63);
};
-static PALETTE_INIT( m63 )
+PALETTE_INIT_MEMBER(m63_state,m63)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 256; i++)
@@ -210,7 +214,7 @@ static PALETTE_INIT( m63 )
bit3 = (color_prom[i + 2*256] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
color_prom += 3 * 256;
@@ -234,7 +238,7 @@ static PALETTE_INIT( m63 )
bit1 = (color_prom[i] >> 7) & 0x01;
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine,i+256,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i+256,MAKE_RGB(r,g,b));
}
}
@@ -304,15 +308,14 @@ TILE_GET_INFO_MEMBER(m63_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, m_fg_flag);
}
-static VIDEO_START( m63 )
+VIDEO_START_MEMBER(m63_state,m63)
{
- m63_state *state = machine.driver_data<m63_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m63_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m63_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m63_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m63_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(32);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -721,36 +724,34 @@ static INTERRUPT_GEN( snd_irq )
state->m_sound_irq = 1;
}
-static MACHINE_START( m63 )
+MACHINE_START_MEMBER(m63_state,m63)
{
- m63_state *state = machine.driver_data<m63_state>();
- state->m_soundcpu = machine.device<cpu_device>("soundcpu");
- state->m_ay1 = machine.device("ay1");
- state->m_ay2 = machine.device("ay2");
- state->m_samples = machine.device<samples_device>("samples");
+ m_soundcpu = machine().device<cpu_device>("soundcpu");
+ m_ay1 = machine().device("ay1");
+ m_ay2 = machine().device("ay2");
+ m_samples = machine().device<samples_device>("samples");
- state->save_item(NAME(state->m_pal_bank));
- state->save_item(NAME(state->m_fg_flag));
- state->save_item(NAME(state->m_sy_offset));
+ save_item(NAME(m_pal_bank));
+ save_item(NAME(m_fg_flag));
+ save_item(NAME(m_sy_offset));
/* sound-related */
- state->save_item(NAME(state->m_sound_irq));
- state->save_item(NAME(state->m_sound_status));
- state->save_item(NAME(state->m_p1));
- state->save_item(NAME(state->m_p2));
+ save_item(NAME(m_sound_irq));
+ save_item(NAME(m_sound_status));
+ save_item(NAME(m_p1));
+ save_item(NAME(m_p2));
}
-static MACHINE_RESET( m63 )
+MACHINE_RESET_MEMBER(m63_state,m63)
{
- m63_state *state = machine.driver_data<m63_state>();
- state->m_pal_bank = 0;
- state->m_fg_flag = 0;
- state->m_sound_irq = 0;
- state->m_sound_status = 0;
- state->m_p1 = 0;
- state->m_p2 = 0;
+ m_pal_bank = 0;
+ m_fg_flag = 0;
+ m_sound_irq = 0;
+ m_sound_status = 0;
+ m_p1 = 0;
+ m_p2 = 0;
}
@@ -774,8 +775,8 @@ static MACHINE_CONFIG_START( m63, m63_state )
MCFG_CPU_IO_MAP(i8039_port_map)
MCFG_CPU_PERIODIC_INT(snd_irq, 60)
- MCFG_MACHINE_START(m63)
- MCFG_MACHINE_RESET(m63)
+ MCFG_MACHINE_START_OVERRIDE(m63_state,m63)
+ MCFG_MACHINE_RESET_OVERRIDE(m63_state,m63)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -788,8 +789,8 @@ static MACHINE_CONFIG_START( m63, m63_state )
MCFG_GFXDECODE(m63)
MCFG_PALETTE_LENGTH(256+4)
- MCFG_PALETTE_INIT(m63)
- MCFG_VIDEO_START(m63)
+ MCFG_PALETTE_INIT_OVERRIDE(m63_state,m63)
+ MCFG_VIDEO_START_OVERRIDE(m63_state,m63)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono") /* ????? */
@@ -818,8 +819,8 @@ static MACHINE_CONFIG_START( fghtbskt, m63_state )
MCFG_CPU_IO_MAP(i8039_port_map)
MCFG_CPU_PERIODIC_INT(snd_irq, 60/2)
- MCFG_MACHINE_START(m63)
- MCFG_MACHINE_RESET(m63)
+ MCFG_MACHINE_START_OVERRIDE(m63_state,m63)
+ MCFG_MACHINE_RESET_OVERRIDE(m63_state,m63)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -833,7 +834,7 @@ static MACHINE_CONFIG_START( fghtbskt, m63_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(m63)
+ MCFG_VIDEO_START_OVERRIDE(m63_state,m63)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index 19ea68df9a7..5e2a410d422 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -102,23 +102,21 @@ static TIMER_CALLBACK( kengo_scanline_interrupt );
/***************************************************************************/
-static MACHINE_START( m72 )
+MACHINE_START_MEMBER(m72_state,m72)
{
- m72_state *state = machine.driver_data<m72_state>();
- state->m_audio = machine.device("m72");
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(m72_scanline_interrupt));
+ m_audio = machine().device("m72");
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(m72_scanline_interrupt));
- state->save_item(NAME(state->m_mcu_sample_addr));
- state->save_item(NAME(state->m_mcu_snd_cmd_latch));
+ save_item(NAME(m_mcu_sample_addr));
+ save_item(NAME(m_mcu_snd_cmd_latch));
}
-static MACHINE_START( kengo )
+MACHINE_START_MEMBER(m72_state,kengo)
{
- m72_state *state = machine.driver_data<m72_state>();
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(kengo_scanline_interrupt));
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(kengo_scanline_interrupt));
- state->save_item(NAME(state->m_mcu_sample_addr));
- state->save_item(NAME(state->m_mcu_snd_cmd_latch));
+ save_item(NAME(m_mcu_sample_addr));
+ save_item(NAME(m_mcu_snd_cmd_latch));
}
static TIMER_CALLBACK( synch_callback )
@@ -127,28 +125,25 @@ static TIMER_CALLBACK( synch_callback )
machine.scheduler().boost_interleave(attotime::from_hz(MASTER_CLOCK/4/12), attotime::from_seconds(25));
}
-static MACHINE_RESET( m72 )
+MACHINE_RESET_MEMBER(m72_state,m72)
{
- m72_state *state = machine.driver_data<m72_state>();
- state->m_irq_base = 0x20;
- state->m_mcu_sample_addr = 0;
- state->m_mcu_snd_cmd_latch = 0;
+ m_irq_base = 0x20;
+ m_mcu_sample_addr = 0;
+ m_mcu_snd_cmd_latch = 0;
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0));
- machine.scheduler().synchronize(FUNC(synch_callback));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(0));
+ machine().scheduler().synchronize(FUNC(synch_callback));
}
-static MACHINE_RESET( xmultipl )
+MACHINE_RESET_MEMBER(m72_state,xmultipl)
{
- m72_state *state = machine.driver_data<m72_state>();
- state->m_irq_base = 0x08;
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0));
+ m_irq_base = 0x08;
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(0));
}
-static MACHINE_RESET( kengo )
+MACHINE_RESET_MEMBER(m72_state,kengo)
{
- m72_state *state = machine.driver_data<m72_state>();
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(0));
}
static TIMER_CALLBACK( m72_scanline_interrupt )
@@ -1817,8 +1812,8 @@ static MACHINE_CONFIG_START( m72_base, m72_state )
MCFG_CPU_PROGRAM_MAP(sound_ram_map)
MCFG_CPU_IO_MAP(sound_portmap)
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(m72)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
MCFG_GFXDECODE(m72)
@@ -1828,7 +1823,7 @@ static MACHINE_CONFIG_START( m72_base, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(m72)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,m72)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1872,8 +1867,8 @@ static MACHINE_CONFIG_START( rtype, m72_state )
MCFG_CPU_IO_MAP(rtype_sound_portmap)
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(m72)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
MCFG_GFXDECODE(m72)
@@ -1883,7 +1878,7 @@ static MACHINE_CONFIG_START( rtype, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(m72)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,m72)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1909,8 +1904,8 @@ static MACHINE_CONFIG_START( xmultipl, m72_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(xmultipl)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
MCFG_GFXDECODE(m72)
@@ -1920,7 +1915,7 @@ static MACHINE_CONFIG_START( xmultipl, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(xmultipl)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,xmultipl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1950,8 +1945,8 @@ static MACHINE_CONFIG_START( xmultiplm72, m72_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(xmultipl)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
MCFG_GFXDECODE(m72)
@@ -1961,7 +1956,7 @@ static MACHINE_CONFIG_START( xmultiplm72, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(m72)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,m72)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1991,8 +1986,8 @@ static MACHINE_CONFIG_START( dbreed, m72_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(xmultipl)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
MCFG_GFXDECODE(rtype2)
@@ -2002,7 +1997,7 @@ static MACHINE_CONFIG_START( dbreed, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(hharry)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,hharry)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2032,8 +2027,8 @@ static MACHINE_CONFIG_START( dbreedm72, m72_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(xmultipl)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
MCFG_GFXDECODE(m72)
@@ -2043,7 +2038,7 @@ static MACHINE_CONFIG_START( dbreedm72, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(m72)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,m72)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2073,8 +2068,8 @@ static MACHINE_CONFIG_START( rtype2, m72_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(m72)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
MCFG_GFXDECODE(rtype2)
@@ -2084,7 +2079,7 @@ static MACHINE_CONFIG_START( rtype2, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(rtype2)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,rtype2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2114,8 +2109,8 @@ static MACHINE_CONFIG_START( majtitle, m72_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(m72)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
MCFG_GFXDECODE(majtitle)
@@ -2125,7 +2120,7 @@ static MACHINE_CONFIG_START( majtitle, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(majtitle)
- MCFG_VIDEO_START(majtitle)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,majtitle)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2155,8 +2150,8 @@ static MACHINE_CONFIG_START( hharry, m72_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(xmultipl)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
MCFG_GFXDECODE(rtype2)
@@ -2166,7 +2161,7 @@ static MACHINE_CONFIG_START( hharry, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(hharry)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,hharry)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2196,8 +2191,8 @@ static MACHINE_CONFIG_START( hharryu, m72_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(xmultipl)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
MCFG_GFXDECODE(rtype2)
@@ -2207,7 +2202,7 @@ static MACHINE_CONFIG_START( hharryu, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(hharryu)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2237,8 +2232,8 @@ static MACHINE_CONFIG_START( dkgenm72, m72_state )
MCFG_CPU_PERIODIC_INT(fake_nmi,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(xmultipl)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
MCFG_GFXDECODE(m72)
@@ -2248,7 +2243,7 @@ static MACHINE_CONFIG_START( dkgenm72, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(m72)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,m72)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2278,8 +2273,8 @@ static MACHINE_CONFIG_START( poundfor, m72_state )
MCFG_CPU_PERIODIC_INT(fake_nmi,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m72)
- MCFG_MACHINE_RESET(m72)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,m72)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
MCFG_GFXDECODE(rtype2)
@@ -2289,7 +2284,7 @@ static MACHINE_CONFIG_START( poundfor, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(poundfor)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,poundfor)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2319,8 +2314,8 @@ static MACHINE_CONFIG_START( cosmccop, m72_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(kengo)
- MCFG_MACHINE_RESET(kengo)
+ MCFG_MACHINE_START_OVERRIDE(m72_state,kengo)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,kengo)
/* video hardware */
MCFG_GFXDECODE(rtype2)
@@ -2330,7 +2325,7 @@ static MACHINE_CONFIG_START( cosmccop, m72_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(m72)
- MCFG_VIDEO_START(poundfor)
+ MCFG_VIDEO_START_OVERRIDE(m72_state,poundfor)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index cc72b4fbfa8..6f8c23c7baa 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -29,10 +29,9 @@
/***************************************************************************/
-static MACHINE_START( m90 )
+void m90_state::machine_start()
{
- m90_state *state = machine.driver_data<m90_state>();
- state->m_audio = machine.device("m72");
+ m_audio = machine().device("m72");
}
/***************************************************************************/
@@ -724,7 +723,6 @@ static MACHINE_CONFIG_START( m90, m90_state )
MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 128*60) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- MCFG_MACHINE_START(m90)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -737,7 +735,6 @@ static MACHINE_CONFIG_START( m90, m90_state )
MCFG_GFXDECODE(m90)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(m90)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -821,7 +818,7 @@ static MACHINE_CONFIG_DERIVED( bomblord, m90 )
MCFG_SCREEN_VISIBLE_AREA(10*8, 50*8-1, 17*8, 47*8-1)
MCFG_SCREEN_UPDATE_STATIC(bomblord)
- MCFG_VIDEO_START(bomblord)
+ MCFG_VIDEO_START_OVERRIDE(m90_state,bomblord)
MACHINE_CONFIG_END
@@ -840,7 +837,7 @@ static MACHINE_CONFIG_DERIVED( dynablsb, m90 )
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_STATIC(dynablsb)
- MCFG_VIDEO_START(dynablsb)
+ MCFG_VIDEO_START_OVERRIDE(m90_state,dynablsb)
MCFG_DEVICE_REMOVE("m72")
diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c
index ca41e4d9773..9a1b2133c24 100644
--- a/src/mame/drivers/m92.c
+++ b/src/mame/drivers/m92.c
@@ -212,17 +212,15 @@ psoldier dip locations still need verification.
/*****************************************************************************/
-static MACHINE_START( m92 )
+MACHINE_START_MEMBER(m92_state,m92)
{
- m92_state *state = machine.driver_data<m92_state>();
- state->save_item(NAME(state->m_sound_status));
+ save_item(NAME(m_sound_status));
}
-static MACHINE_RESET( m92 )
+MACHINE_RESET_MEMBER(m92_state,m92)
{
- m92_state *state = machine.driver_data<m92_state>();
- state->m_sprite_buffer_busy = 1;
+ m_sprite_buffer_busy = 1;
}
/*****************************************************************************/
@@ -943,8 +941,8 @@ static MACHINE_CONFIG_START( m92, m92_state )
MCFG_CPU_ADD("soundcpu" ,V35, XTAL_14_31818MHz)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(m92)
- MCFG_MACHINE_RESET(m92)
+ MCFG_MACHINE_START_OVERRIDE(m92_state,m92)
+ MCFG_MACHINE_RESET_OVERRIDE(m92_state,m92)
MCFG_TIMER_ADD_SCANLINE("scantimer", m92_scanline_interrupt, "screen", 0, 1)
@@ -961,7 +959,7 @@ static MACHINE_CONFIG_START( m92, m92_state )
MCFG_GFXDECODE(m92)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(m92)
+ MCFG_VIDEO_START_OVERRIDE(m92_state,m92)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1029,8 +1027,8 @@ static MACHINE_CONFIG_START( ppan, m92_state )
/* no Sound CPU */
- MCFG_MACHINE_START(m92)
- MCFG_MACHINE_RESET(m92)
+ MCFG_MACHINE_START_OVERRIDE(m92_state,m92)
+ MCFG_MACHINE_RESET_OVERRIDE(m92_state,m92)
MCFG_TIMER_ADD_SCANLINE("scantimer", m92_scanline_interrupt, "screen", 0, 1)
@@ -1047,7 +1045,7 @@ static MACHINE_CONFIG_START( ppan, m92_state )
MCFG_GFXDECODE(m92)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(ppan)
+ MCFG_VIDEO_START_OVERRIDE(m92_state,ppan)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/macrossp.c b/src/mame/drivers/macrossp.c
index 09ec2e33ddf..6ce64ee5696 100644
--- a/src/mame/drivers/macrossp.c
+++ b/src/mame/drivers/macrossp.c
@@ -597,27 +597,25 @@ static const es5506_interface es5506_config =
};
-static MACHINE_START( macrossp )
+void macrossp_state::machine_start()
{
- macrossp_state *state = machine.driver_data<macrossp_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_sndpending));
- state->save_item(NAME(state->m_snd_toggle));
- state->save_item(NAME(state->m_fade_effect));
- state->save_item(NAME(state->m_old_fade));
+ save_item(NAME(m_sndpending));
+ save_item(NAME(m_snd_toggle));
+ save_item(NAME(m_fade_effect));
+ save_item(NAME(m_old_fade));
}
-static MACHINE_RESET( macrossp )
+void macrossp_state::machine_reset()
{
- macrossp_state *state = machine.driver_data<macrossp_state>();
- state->m_sndpending = 0;
- state->m_snd_toggle = 0;
- state->m_fade_effect = 0;
- state->m_old_fade = 0;
+ m_sndpending = 0;
+ m_snd_toggle = 0;
+ m_fade_effect = 0;
+ m_old_fade = 0;
}
static MACHINE_CONFIG_START( macrossp, macrossp_state )
@@ -630,8 +628,6 @@ static MACHINE_CONFIG_START( macrossp, macrossp_state )
MCFG_CPU_ADD("audiocpu", M68000, 32000000/2) /* 16 MHz */
MCFG_CPU_PROGRAM_MAP(macrossp_sound_map)
- MCFG_MACHINE_START(macrossp)
- MCFG_MACHINE_RESET(macrossp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -645,7 +641,6 @@ static MACHINE_CONFIG_START( macrossp, macrossp_state )
MCFG_GFXDECODE(macrossp)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(macrossp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/macs.c b/src/mame/drivers/macs.c
index 7fd8b8d7a4d..f88c384c9a8 100644
--- a/src/mame/drivers/macs.c
+++ b/src/mame/drivers/macs.c
@@ -80,10 +80,11 @@ public:
DECLARE_DRIVER_INIT(kisekaeh);
DECLARE_DRIVER_INIT(kisekaem);
DECLARE_DRIVER_INIT(macs2);
+ DECLARE_MACHINE_RESET(macs);
};
-static MACHINE_RESET(macs);
+
static ADDRESS_MAP_START( macs_mem, AS_PROGRAM, 8, macs_state )
@@ -482,7 +483,7 @@ static MACHINE_CONFIG_START( macs, macs_state )
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_RESET(macs)
+ MCFG_MACHINE_RESET_OVERRIDE(macs_state,macs)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -495,7 +496,7 @@ static MACHINE_CONFIG_START( macs, macs_state )
MCFG_GFXDECODE(macs)
MCFG_PALETTE_LENGTH(16*16*4+1)
- MCFG_VIDEO_START(st0016)
+ MCFG_VIDEO_START_OVERRIDE(st0016_state,st0016)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -638,12 +639,11 @@ static const UINT8 ramdata[160]=
0xF0, 0xED, 0xB0, 0x3A, 0x0A, 0xE8, 0xE6, 0xF3, 0x32, 0x0A, 0xE8, 0xD3, 0xC0, 0xC9, 0x00, 0xF3
};
-static MACHINE_RESET(macs)
+MACHINE_RESET_MEMBER(macs_state,macs)
{
- macs_state *state = machine.driver_data<macs_state>();
- UINT8 *macs_ram1 = state->m_ram1;
+ UINT8 *macs_ram1 = m_ram1;
#if 0
- UINT8 *macs_ram2 = state->m_ram2;
+ UINT8 *macs_ram2 = m_ram2;
/*
BIOS ram init:
@@ -672,11 +672,11 @@ static MACHINE_RESET(macs)
730E: ED B0 ldir
...
*/
- memcpy(macs_ram1 + 0x0e9f, state->memregion("user1")->base()+0x7327, 0xc7);
- memcpy(macs_ram1 + 0x1e9f, state->memregion("user1")->base()+0x7327, 0xc7);
+ memcpy(macs_ram1 + 0x0e9f, memregion("user1")->base()+0x7327, 0xc7);
+ memcpy(macs_ram1 + 0x1e9f, memregion("user1")->base()+0x7327, 0xc7);
- memcpy(macs_ram1 + 0x0800, state->memregion("user1")->base()+0x73fa, 0x507);
- memcpy(macs_ram1 + 0x1800, state->memregion("user1")->base()+0x73fa, 0x507);
+ memcpy(macs_ram1 + 0x0800, memregion("user1")->base()+0x73fa, 0x507);
+ memcpy(macs_ram1 + 0x1800, memregion("user1")->base()+0x73fa, 0x507);
#define MAKEJMP(n,m) macs_ram2[(n) - 0xe800 + 0]=0xc3;\
macs_ram2[(n) - 0xe800 + 1]=(m)&0xff;\
@@ -712,10 +712,10 @@ static MACHINE_RESET(macs)
macs_ram1[0x1ff9]=0x07;
#endif
- state->membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base() );
- state->membank("bank2")->set_base(macs_ram1+0x800);
- state->membank("bank3")->set_base(macs_ram1+0x10000);
- state->membank("bank4")->set_base(machine.root_device().memregion("maincpu")->base() );
+ membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base() );
+ membank("bank2")->set_base(macs_ram1+0x800);
+ membank("bank3")->set_base(macs_ram1+0x10000);
+ membank("bank4")->set_base(machine().root_device().memregion("maincpu")->base() );
}
DRIVER_INIT_MEMBER(macs_state,macs)
diff --git a/src/mame/drivers/madmotor.c b/src/mame/drivers/madmotor.c
index a84ed68080d..6e19f512cd9 100644
--- a/src/mame/drivers/madmotor.c
+++ b/src/mame/drivers/madmotor.c
@@ -230,21 +230,19 @@ static const ym2151_interface ym2151_config =
DEVCB_LINE(sound_irq)
};
-static MACHINE_START( madmotor )
+void madmotor_state::machine_start()
{
- madmotor_state *state = machine.driver_data<madmotor_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( madmotor )
+void madmotor_state::machine_reset()
{
- madmotor_state *state = machine.driver_data<madmotor_state>();
- state->m_flipscreen = 0;
+ m_flipscreen = 0;
}
static MACHINE_CONFIG_START( madmotor, madmotor_state )
@@ -257,8 +255,6 @@ static MACHINE_CONFIG_START( madmotor, madmotor_state )
MCFG_CPU_ADD("audiocpu", H6280, 8053000/2) /* Custom chip 45, Crystal near CPU is 8.053 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(madmotor)
- MCFG_MACHINE_RESET(madmotor)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -284,7 +280,6 @@ static MACHINE_CONFIG_START( madmotor, madmotor_state )
deco_mxc06_device::set_gfx_region(*device, 3);
- MCFG_VIDEO_START(madmotor)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/magic10.c b/src/mame/drivers/magic10.c
index f7b677a2cd4..f011df571a5 100644
--- a/src/mame/drivers/magic10.c
+++ b/src/mame/drivers/magic10.c
@@ -120,6 +120,7 @@ public:
TILE_GET_INFO_MEMBER(get_layer0_tile_info);
TILE_GET_INFO_MEMBER(get_layer1_tile_info);
TILE_GET_INFO_MEMBER(get_layer2_tile_info);
+ virtual void video_start();
};
@@ -186,15 +187,14 @@ TILE_GET_INFO_MEMBER(magic10_state::get_layer2_tile_info)
}
-static VIDEO_START( magic10 )
+void magic10_state::video_start()
{
- magic10_state *state = machine.driver_data<magic10_state>();
- state->m_layer0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer0_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_layer1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_layer2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_layer0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer0_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_layer1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer1_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_layer2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_layer1_tilemap->set_transparent_pen(0);
- state->m_layer2_tilemap->set_transparent_pen(0);
+ m_layer1_tilemap->set_transparent_pen(0);
+ m_layer2_tilemap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16( magic10 )
@@ -744,7 +744,6 @@ static MACHINE_CONFIG_START( magic10, magic10_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_GFXDECODE(magic10)
- MCFG_VIDEO_START(magic10)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/magicard.c b/src/mame/drivers/magicard.c
index c8cada60fb0..7917b853dc6 100644
--- a/src/mame/drivers/magicard.c
+++ b/src/mame/drivers/magicard.c
@@ -215,6 +215,8 @@ public:
DECLARE_READ16_MEMBER(scc68070_mmu_r);
DECLARE_WRITE16_MEMBER(scc68070_mmu_w);
DECLARE_DRIVER_INIT(magicard);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -405,7 +407,7 @@ TODO: check this register,doesn't seem to be 100% correct.
*/
-static VIDEO_START(magicard)
+void magicard_state::video_start()
{
}
@@ -691,13 +693,12 @@ static INPUT_PORTS_START( magicard )
INPUT_PORTS_END
-static MACHINE_RESET( magicard )
+void magicard_state::machine_reset()
{
- magicard_state *state = machine.driver_data<magicard_state>();
- UINT16 *src = (UINT16*)state->memregion("maincpu" )->base();
- UINT16 *dst = state->m_magicram;
+ UINT16 *src = (UINT16*)memregion("maincpu" )->base();
+ UINT16 *dst = m_magicram;
memcpy (dst, src, 0x80000);
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
@@ -728,9 +729,7 @@ static MACHINE_CONFIG_START( magicard, magicard_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(magicard)
- MCFG_MACHINE_RESET(magicard)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymsnd", YM2413, CLOCK_A/12)
diff --git a/src/mame/drivers/magicfly.c b/src/mame/drivers/magicfly.c
index 57590576cec..e00b34d9da3 100644
--- a/src/mame/drivers/magicfly.c
+++ b/src/mame/drivers/magicfly.c
@@ -435,6 +435,9 @@ public:
DECLARE_WRITE8_MEMBER(mux_port_w);
TILE_GET_INFO_MEMBER(get_magicfly_tile_info);
TILE_GET_INFO_MEMBER(get_7mezzo_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(7mezzo);
};
@@ -480,10 +483,9 @@ TILE_GET_INFO_MEMBER(magicfly_state::get_magicfly_tile_info)
SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-static VIDEO_START(magicfly)
+void magicfly_state::video_start()
{
- magicfly_state *state = machine.driver_data<magicfly_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magicfly_state::get_magicfly_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(magicfly_state::get_magicfly_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
}
TILE_GET_INFO_MEMBER(magicfly_state::get_7mezzo_tile_info)
@@ -511,10 +513,9 @@ TILE_GET_INFO_MEMBER(magicfly_state::get_7mezzo_tile_info)
SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-static VIDEO_START( 7mezzo )
+VIDEO_START_MEMBER(magicfly_state,7mezzo)
{
- magicfly_state *state = machine.driver_data<magicfly_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magicfly_state::get_7mezzo_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(magicfly_state::get_7mezzo_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
}
static SCREEN_UPDATE_IND16( magicfly )
@@ -524,30 +525,30 @@ static SCREEN_UPDATE_IND16( magicfly )
return 0;
}
-static PALETTE_INIT( magicfly )
+void magicfly_state::palette_init()
{
int i;
for (i = 0x00; i < 0x10; i += 0x10)
{
/* 1st gfx bank */
- palette_set_color(machine, i + 0, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, i + 2, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, i + 4, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, i + 6, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, i + 8, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, i + 10, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, i + 12, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, i + 14, MAKE_RGB(0x00, 0x00, 0x00));
-
- palette_set_color(machine, i + 1, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, i + 3, MAKE_RGB(0xff, 0x00, 0x00));
- palette_set_color(machine, i + 5, MAKE_RGB(0x00, 0xff, 0x00));
- palette_set_color(machine, i + 7, MAKE_RGB(0xff, 0xff, 0x00));
- palette_set_color(machine, i + 9, MAKE_RGB(0x00, 0x00, 0xff));
- palette_set_color(machine, i + 11, MAKE_RGB(0xff, 0x00, 0xff));
- palette_set_color(machine, i + 13, MAKE_RGB(0x00, 0xff, 0xff));
- palette_set_color(machine, i + 15, MAKE_RGB(0xff, 0xff, 0xff));
+ palette_set_color(machine(), i + 0, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), i + 2, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), i + 4, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), i + 6, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), i + 8, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), i + 10, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), i + 12, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), i + 14, MAKE_RGB(0x00, 0x00, 0x00));
+
+ palette_set_color(machine(), i + 1, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), i + 3, MAKE_RGB(0xff, 0x00, 0x00));
+ palette_set_color(machine(), i + 5, MAKE_RGB(0x00, 0xff, 0x00));
+ palette_set_color(machine(), i + 7, MAKE_RGB(0xff, 0xff, 0x00));
+ palette_set_color(machine(), i + 9, MAKE_RGB(0x00, 0x00, 0xff));
+ palette_set_color(machine(), i + 11, MAKE_RGB(0xff, 0x00, 0xff));
+ palette_set_color(machine(), i + 13, MAKE_RGB(0x00, 0xff, 0xff));
+ palette_set_color(machine(), i + 15, MAKE_RGB(0xff, 0xff, 0xff));
}
}
@@ -817,9 +818,7 @@ static MACHINE_CONFIG_START( magicfly, magicfly_state )
MCFG_GFXDECODE(magicfly)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(magicfly)
- MCFG_VIDEO_START(magicfly)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/16, mc6845_intf) /* guess */
@@ -834,7 +833,7 @@ static MACHINE_CONFIG_DERIVED( 7mezzo, magicfly )
/* basic machine hardware */
/* video hardware */
- MCFG_VIDEO_START(7mezzo)
+ MCFG_VIDEO_START_OVERRIDE(magicfly_state,7mezzo)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/magictg.c b/src/mame/drivers/magictg.c
index e5f13dc7cdd..0decfd571a2 100644
--- a/src/mame/drivers/magictg.c
+++ b/src/mame/drivers/magictg.c
@@ -211,6 +211,7 @@ public:
protected:
virtual void machine_start();
virtual void machine_reset();
+ virtual void video_start();
};
@@ -253,7 +254,7 @@ void magictg_state::machine_reset()
*
*************************************/
-static VIDEO_START( magictg )
+void magictg_state::video_start()
{
}
@@ -963,7 +964,6 @@ static MACHINE_CONFIG_START( magictg, magictg_state )
MCFG_SCREEN_SIZE(1024, 1024)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 16, 447)
- MCFG_VIDEO_START(magictg)
MCFG_SCREEN_UPDATE_STATIC(magictg)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/magmax.c b/src/mame/drivers/magmax.c
index 61bee5f2512..9c46677311b 100644
--- a/src/mame/drivers/magmax.c
+++ b/src/mame/drivers/magmax.c
@@ -74,23 +74,21 @@ static TIMER_CALLBACK( scanline_callback )
state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(scanline), scanline);
}
-static MACHINE_START( magmax )
+void magmax_state::machine_start()
{
- magmax_state *state = machine.driver_data<magmax_state>();
/* Create interrupt timer */
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(scanline_callback));
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(scanline_callback));
/* Set up save state */
- state_save_register_global(machine, state->m_sound_latch);
- state_save_register_global(machine, state->m_LS74_clr);
- state_save_register_global(machine, state->m_LS74_q);
- state_save_register_global(machine, state->m_gain_control);
+ state_save_register_global(machine(), m_sound_latch);
+ state_save_register_global(machine(), m_LS74_clr);
+ state_save_register_global(machine(), m_LS74_q);
+ state_save_register_global(machine(), m_gain_control);
}
-static MACHINE_RESET( magmax )
+void magmax_state::machine_reset()
{
- magmax_state *state = machine.driver_data<magmax_state>();
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(64), 64);
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(64), 64);
#if 0
{
@@ -357,8 +355,6 @@ static MACHINE_CONFIG_START( magmax, magmax_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(magmax)
- MCFG_MACHINE_RESET(magmax)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -370,8 +366,6 @@ static MACHINE_CONFIG_START( magmax, magmax_state )
MCFG_GFXDECODE(magmax)
MCFG_PALETTE_LENGTH(1*16 + 16*16 + 256)
- MCFG_PALETTE_INIT(magmax)
- MCFG_VIDEO_START(magmax)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/magtouch.c b/src/mame/drivers/magtouch.c
index f0ff4cb335e..cab9e4c5e6b 100644
--- a/src/mame/drivers/magtouch.c
+++ b/src/mame/drivers/magtouch.c
@@ -99,6 +99,7 @@ public:
DECLARE_WRITE8_MEMBER(magtouch_io_w);
DECLARE_WRITE_LINE_MEMBER(at_com_interrupt_1);
DECLARE_DRIVER_INIT(magtouch);
+ virtual void machine_start();
};
@@ -197,16 +198,16 @@ static void magtouch_set_keyb_int(running_machine &machine, int state)
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
-static MACHINE_START( magtouch )
+void magtouch_state::machine_start()
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, magtouch_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, magtouch_set_keyb_int);
- machine.root_device().membank("rombank")->configure_entries(0, 0x80, machine.root_device().memregion("game_prg")->base(), 0x8000 );
- machine.root_device().membank("rombank")->set_entry(0);
+ machine().root_device().membank("rombank")->configure_entries(0, 0x80, machine().root_device().memregion("game_prg")->base(), 0x8000 );
+ machine().root_device().membank("rombank")->set_entry(0);
-// microtouch_init(machine, magtouch_microtouch_tx_callback, NULL);
+// microtouch_init(machine(), magtouch_microtouch_tx_callback, NULL);
}
static MACHINE_CONFIG_START( magtouch, magtouch_state )
@@ -222,7 +223,6 @@ static MACHINE_CONFIG_START( magtouch, magtouch_state )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_MACHINE_START(magtouch)
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
// MCFG_FRAGMENT_ADD( at_kbdc8042 )
diff --git a/src/mame/drivers/mainevt.c b/src/mame/drivers/mainevt.c
index 04d12ccf7d5..8f03ea6d871 100644
--- a/src/mame/drivers/mainevt.c
+++ b/src/mame/drivers/mainevt.c
@@ -411,28 +411,26 @@ static const k051960_interface mainevt_k051960_intf =
mainevt_sprite_callback
};
-static MACHINE_START( mainevt )
+void mainevt_state::machine_start()
{
- mainevt_state *state = machine.driver_data<mainevt_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_upd = machine.device("upd");
- state->m_k007232 = machine.device("k007232");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_upd = machine().device("upd");
+ m_k007232 = machine().device("k007232");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
- state->save_item(NAME(state->m_nmi_enable));
+ save_item(NAME(m_nmi_enable));
}
-static MACHINE_RESET( mainevt )
+void mainevt_state::machine_reset()
{
- mainevt_state *state = machine.driver_data<mainevt_state>();
- state->m_nmi_enable = 0;
+ m_nmi_enable = 0;
}
static INTERRUPT_GEN( mainevt_sound_timer_irq )
@@ -462,8 +460,6 @@ static MACHINE_CONFIG_START( mainevt, mainevt_state )
MCFG_CPU_PROGRAM_MAP(mainevt_sound_map)
MCFG_CPU_PERIODIC_INT(mainevt_sound_timer_irq,8*60) /* ??? */
- MCFG_MACHINE_START(mainevt)
- MCFG_MACHINE_RESET(mainevt)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -477,7 +473,7 @@ static MACHINE_CONFIG_START( mainevt, mainevt_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(mainevt)
+ MCFG_VIDEO_START_OVERRIDE(mainevt_state,mainevt)
MCFG_K052109_ADD("k052109", mainevt_k052109_intf)
MCFG_K051960_ADD("k051960", mainevt_k051960_intf)
@@ -522,8 +518,6 @@ static MACHINE_CONFIG_START( devstors, mainevt_state )
MCFG_CPU_PROGRAM_MAP(devstors_sound_map)
MCFG_CPU_PERIODIC_INT(devstors_sound_timer_irq,4*60) /* ??? */
- MCFG_MACHINE_START(mainevt)
- MCFG_MACHINE_RESET(mainevt)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -537,7 +531,7 @@ static MACHINE_CONFIG_START( devstors, mainevt_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(dv)
+ MCFG_VIDEO_START_OVERRIDE(mainevt_state,dv)
MCFG_K052109_ADD("k052109", dv_k052109_intf)
MCFG_K051960_ADD("k051960", dv_k051960_intf)
diff --git a/src/mame/drivers/mainsnk.c b/src/mame/drivers/mainsnk.c
index a44954685d3..cff349a7238 100644
--- a/src/mame/drivers/mainsnk.c
+++ b/src/mame/drivers/mainsnk.c
@@ -409,8 +409,6 @@ static MACHINE_CONFIG_START( mainsnk, mainsnk_state )
MCFG_GFXDECODE(mainsnk)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_PALETTE_INIT(mainsnk)
- MCFG_VIDEO_START(mainsnk)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/majorpkr.c b/src/mame/drivers/majorpkr.c
index 450c1203f98..26b88b2a993 100644
--- a/src/mame/drivers/majorpkr.c
+++ b/src/mame/drivers/majorpkr.c
@@ -492,6 +492,7 @@ public:
DECLARE_DRIVER_INIT(majorpkr);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(fg_get_tile_info);
+ virtual void video_start();
};
@@ -524,15 +525,14 @@ TILE_GET_INFO_MEMBER(majorpkr_state::fg_get_tile_info)
}
-static VIDEO_START(majorpkr)
+void majorpkr_state::video_start()
{
- majorpkr_state *state = machine.driver_data<majorpkr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(majorpkr_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(majorpkr_state::fg_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(majorpkr_state::bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(majorpkr_state::fg_get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_generic_paletteram_8.allocate(4 * 0x800);
+ m_generic_paletteram_8.allocate(4 * 0x800);
}
@@ -1046,7 +1046,6 @@ static MACHINE_CONFIG_START( majorpkr, majorpkr_state )
MCFG_GFXDECODE(majorpkr)
MCFG_PALETTE_LENGTH(0x100 * 16)
- MCFG_VIDEO_START(majorpkr)
MCFG_SCREEN_UPDATE_STATIC(majorpkr)
MCFG_MC6845_ADD("crtc", MC6845, CRTC_CLOCK, mc6845_intf) /* verified */
diff --git a/src/mame/drivers/malzak.c b/src/mame/drivers/malzak.c
index 531cdf792a8..1f3e8eda747 100644
--- a/src/mame/drivers/malzak.c
+++ b/src/mame/drivers/malzak.c
@@ -301,14 +301,14 @@ static GFXDECODE_START( malzak )
GFXDECODE_END
-static PALETTE_INIT( malzak )
+void malzak_state::palette_init()
{
int i;
for (i = 0; i < 8 * 8; i++)
{
- palette_set_color_rgb(machine, i * 2 + 0, pal1bit(i >> 3), pal1bit(i >> 4), pal1bit(i >> 5));
- palette_set_color_rgb(machine, i * 2 + 1, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
+ palette_set_color_rgb(machine(), i * 2 + 0, pal1bit(i >> 3), pal1bit(i >> 4), pal1bit(i >> 5));
+ palette_set_color_rgb(machine(), i * 2 + 1, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
}
}
@@ -366,29 +366,27 @@ static const saa5050_interface malzac_saa5050_intf =
};
-static MACHINE_START( malzak )
+void malzak_state::machine_start()
{
- malzak_state *state = machine.driver_data<malzak_state>();
- state->membank("bank1")->configure_entries(0, 2, state->memregion("user2")->base(), 0x400);
+ membank("bank1")->configure_entries(0, 2, memregion("user2")->base(), 0x400);
- state->m_s2636_0 = machine.device("s2636_0");
- state->m_s2636_1 = machine.device("s2636_1");
- state->m_saa5050 = machine.device("saa5050");
+ m_s2636_0 = machine().device("s2636_0");
+ m_s2636_1 = machine().device("s2636_1");
+ m_saa5050 = machine().device("saa5050");
- state->save_item(NAME(state->m_playfield_code));
- state->save_item(NAME(state->m_malzak_x));
- state->save_item(NAME(state->m_malzak_y));
+ save_item(NAME(m_playfield_code));
+ save_item(NAME(m_malzak_x));
+ save_item(NAME(m_malzak_y));
}
-static MACHINE_RESET( malzak )
+void malzak_state::machine_reset()
{
- malzak_state *state = machine.driver_data<malzak_state>();
- memset(state->m_playfield_code, 0, 256 * sizeof(int));
+ memset(m_playfield_code, 0, 256 * sizeof(int));
- state->m_malzak_x = 0;
- state->m_malzak_y = 0;
+ m_malzak_x = 0;
+ m_malzak_y = 0;
}
static MACHINE_CONFIG_START( malzak, malzak_state )
@@ -398,8 +396,6 @@ static MACHINE_CONFIG_START( malzak, malzak_state )
MCFG_CPU_PROGRAM_MAP(malzak_map)
MCFG_CPU_IO_MAP(malzak_io_map)
- MCFG_MACHINE_START(malzak)
- MCFG_MACHINE_RESET(malzak)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -411,7 +407,6 @@ static MACHINE_CONFIG_START( malzak, malzak_state )
MCFG_GFXDECODE(malzak)
MCFG_PALETTE_LENGTH(128)
- MCFG_PALETTE_INIT(malzak)
MCFG_S2636_ADD("s2636_0", malzac_s2636_0_config)
MCFG_S2636_ADD("s2636_1", malzac_s2636_1_config)
diff --git a/src/mame/drivers/mappy.c b/src/mame/drivers/mappy.c
index d0b35c40a75..56eb7802754 100644
--- a/src/mame/drivers/mappy.c
+++ b/src/mame/drivers/mappy.c
@@ -715,37 +715,34 @@ WRITE8_MEMBER(mappy_state::mappy_latch_w)
}
-static MACHINE_RESET( superpac )
+MACHINE_RESET_MEMBER(mappy_state,superpac)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
/* Reset all latches */
for (i = 0; i < 0x10; i += 2)
- state->superpac_latch_w(*space,i,0);
+ superpac_latch_w(*space,i,0);
}
-static MACHINE_RESET( phozon )
+MACHINE_RESET_MEMBER(mappy_state,phozon)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
/* Reset all latches */
for (i = 0; i < 0x10; i += 2)
- state->phozon_latch_w(*space, i, 0);
+ phozon_latch_w(*space, i, 0);
}
-static MACHINE_RESET( mappy )
+MACHINE_RESET_MEMBER(mappy_state,mappy)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
/* Reset all latches */
for (i = 0; i < 0x10; i += 2)
- state->mappy_latch_w(*space, i, 0);
+ mappy_latch_w(*space, i, 0);
}
/* different games need different interrupt generators & timers because they use different Namco I/O devices */
@@ -1620,13 +1617,12 @@ static const namcoio_interface intf1_interleave =
NULL
};
-static MACHINE_START( mappy )
+MACHINE_START_MEMBER(mappy_state,mappy)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- state->save_item(NAME(state->m_main_irq_mask));
- state->save_item(NAME(state->m_sub_irq_mask));
- state->save_item(NAME(state->m_sub2_irq_mask));
+ save_item(NAME(m_main_irq_mask));
+ save_item(NAME(m_sub_irq_mask));
+ save_item(NAME(m_sub2_irq_mask));
}
@@ -1644,8 +1640,8 @@ static MACHINE_CONFIG_START( superpac, mappy_state )
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(mappy)
- MCFG_MACHINE_RESET(superpac)
+ MCFG_MACHINE_START_OVERRIDE(mappy_state,mappy)
+ MCFG_MACHINE_RESET_OVERRIDE(mappy_state,superpac)
MCFG_NAMCO56XX_ADD("namcoio_1", intf0)
MCFG_NAMCO56XX_ADD("namcoio_2", intf1)
@@ -1658,8 +1654,8 @@ static MACHINE_CONFIG_START( superpac, mappy_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(superpac)
- MCFG_PALETTE_INIT(superpac)
- MCFG_VIDEO_START(superpac)
+ MCFG_PALETTE_INIT_OVERRIDE(mappy_state,superpac)
+ MCFG_VIDEO_START_OVERRIDE(mappy_state,superpac)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1717,8 +1713,8 @@ static MACHINE_CONFIG_START( phozon, mappy_state )
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(mappy)
- MCFG_MACHINE_RESET(phozon)
+ MCFG_MACHINE_START_OVERRIDE(mappy_state,mappy)
+ MCFG_MACHINE_RESET_OVERRIDE(mappy_state,phozon)
MCFG_NAMCO58XX_ADD("namcoio_1", intf0)
MCFG_NAMCO56XX_ADD("namcoio_2", intf1_interleave)
@@ -1731,8 +1727,8 @@ static MACHINE_CONFIG_START( phozon, mappy_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(phozon)
- MCFG_PALETTE_INIT(phozon)
- MCFG_VIDEO_START(phozon)
+ MCFG_PALETTE_INIT_OVERRIDE(mappy_state,phozon)
+ MCFG_VIDEO_START_OVERRIDE(mappy_state,phozon)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1757,8 +1753,8 @@ static MACHINE_CONFIG_START( mappy, mappy_state )
MCFG_WATCHDOG_VBLANK_INIT(8)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(mappy)
- MCFG_MACHINE_RESET(mappy)
+ MCFG_MACHINE_START_OVERRIDE(mappy_state,mappy)
+ MCFG_MACHINE_RESET_OVERRIDE(mappy_state,mappy)
MCFG_NAMCO58XX_ADD("namcoio_1", intf0)
MCFG_NAMCO58XX_ADD("namcoio_2", intf1)
@@ -1771,8 +1767,8 @@ static MACHINE_CONFIG_START( mappy, mappy_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(mappy)
- MCFG_PALETTE_INIT(mappy)
- MCFG_VIDEO_START(mappy)
+ MCFG_PALETTE_INIT_OVERRIDE(mappy_state,mappy)
+ MCFG_VIDEO_START_OVERRIDE(mappy_state,mappy)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/marineb.c b/src/mame/drivers/marineb.c
index 8ef260eb693..c58315ce21b 100644
--- a/src/mame/drivers/marineb.c
+++ b/src/mame/drivers/marineb.c
@@ -41,34 +41,31 @@ write
#include "includes/marineb.h"
-static MACHINE_RESET( marineb )
+void marineb_state::machine_reset()
{
- marineb_state *state = machine.driver_data<marineb_state>();
- state->m_palette_bank = 0;
- state->m_column_scroll = 0;
- state->m_flipscreen_x = 0;
- state->m_flipscreen_y = 0;
- state->m_marineb_active_low_flipscreen = 0;
+ m_palette_bank = 0;
+ m_column_scroll = 0;
+ m_flipscreen_x = 0;
+ m_flipscreen_y = 0;
+ m_marineb_active_low_flipscreen = 0;
}
-static MACHINE_RESET( springer )
+MACHINE_RESET_MEMBER(marineb_state,springer)
{
- marineb_state *state = machine.driver_data<marineb_state>();
- MACHINE_RESET_CALL( marineb );
+ marineb_state::machine_reset();
- state->m_marineb_active_low_flipscreen = 1;
+ m_marineb_active_low_flipscreen = 1;
}
-static MACHINE_START( marineb )
+void marineb_state::machine_start()
{
- marineb_state *state = machine.driver_data<marineb_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = NULL;
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = NULL;
- state->save_item(NAME(state->m_marineb_active_low_flipscreen));
+ save_item(NAME(m_marineb_active_low_flipscreen));
}
WRITE8_MEMBER(marineb_state::irq_mask_w)
@@ -551,8 +548,6 @@ static MACHINE_CONFIG_START( marineb, marineb_state )
MCFG_CPU_IO_MAP(marineb_io_map)
MCFG_CPU_VBLANK_INT("screen", marineb_vblank_irq)
- MCFG_MACHINE_START(marineb)
- MCFG_MACHINE_RESET(marineb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -565,8 +560,6 @@ static MACHINE_CONFIG_START( marineb, marineb_state )
MCFG_GFXDECODE(marineb)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(marineb)
- MCFG_VIDEO_START(marineb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -589,7 +582,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( springer, marineb )
/* basic machine hardware */
- MCFG_MACHINE_RESET(springer)
+ MCFG_MACHINE_RESET_OVERRIDE(marineb_state,springer)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -643,7 +636,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bcruzm12, wanted )
/* basic machine hardware */
- MCFG_MACHINE_RESET(springer)
+ MCFG_MACHINE_RESET_OVERRIDE(marineb_state,springer)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/marinedt.c b/src/mame/drivers/marinedt.c
index 71d9c92c6eb..b36298e1072 100644
--- a/src/mame/drivers/marinedt.c
+++ b/src/mame/drivers/marinedt.c
@@ -148,6 +148,10 @@ public:
DECLARE_WRITE8_MEMBER(marinedt_pd_w);
DECLARE_WRITE8_MEMBER(marinedt_pf_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -444,12 +448,12 @@ static GFXDECODE_START( marinedt )
GFXDECODE_ENTRY( "gfx3", 0, marinedt_objlayout, 32, 4 )
GFXDECODE_END
-static PALETTE_INIT( marinedt )
+void marinedt_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i,r,b,g;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2;
@@ -473,7 +477,7 @@ bit0 = 0;
// *(palette++) = 0x92 * bit0 + 0x46 * bit1 + 0x27 * bit2;
b = 0x27 * bit0 + 0x46 * bit1 + 0x92 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -487,18 +491,17 @@ TILE_GET_INFO_MEMBER(marinedt_state::get_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static VIDEO_START( marinedt )
+void marinedt_state::video_start()
{
- marinedt_state *state = machine.driver_data<marinedt_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(marinedt_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(marinedt_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_scrolldx(0, 4*8);
- state->m_tx_tilemap->set_scrolldy(0, -4*8);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_scrolldx(0, 4*8);
+ m_tx_tilemap->set_scrolldy(0, -4*8);
- state->m_tile = auto_bitmap_ind16_alloc(machine, 32 * 8, 32 * 8);
- state->m_obj1 = auto_bitmap_ind16_alloc(machine, 32, 32);
- state->m_obj2 = auto_bitmap_ind16_alloc(machine, 32, 32);
+ m_tile = auto_bitmap_ind16_alloc(machine(), 32 * 8, 32 * 8);
+ m_obj1 = auto_bitmap_ind16_alloc(machine(), 32, 32);
+ m_obj2 = auto_bitmap_ind16_alloc(machine(), 32, 32);
}
@@ -618,52 +621,50 @@ static SCREEN_UPDATE_IND16( marinedt )
return 0;
}
-static MACHINE_START( marinedt )
+void marinedt_state::machine_start()
{
- marinedt_state *state = machine.driver_data<marinedt_state>();
-
- state->save_item(NAME(state->m_obj1_a));
- state->save_item(NAME(state->m_obj1_x));
- state->save_item(NAME(state->m_obj1_y));
- state->save_item(NAME(state->m_obj2_a));
- state->save_item(NAME(state->m_obj2_x));
- state->save_item(NAME(state->m_obj2_y));
- state->save_item(NAME(state->m_pd));
- state->save_item(NAME(state->m_pf));
- state->save_item(NAME(state->m_music));
- state->save_item(NAME(state->m_sound));
- state->save_item(NAME(state->m_coll));
- state->save_item(NAME(state->m_cx));
- state->save_item(NAME(state->m_cyr));
- state->save_item(NAME(state->m_cyq));
- state->save_item(NAME(state->m_collh));
- state->save_item(NAME(state->m_cxh));
- state->save_item(NAME(state->m_cyrh));
- state->save_item(NAME(state->m_cyqh));
+
+ save_item(NAME(m_obj1_a));
+ save_item(NAME(m_obj1_x));
+ save_item(NAME(m_obj1_y));
+ save_item(NAME(m_obj2_a));
+ save_item(NAME(m_obj2_x));
+ save_item(NAME(m_obj2_y));
+ save_item(NAME(m_pd));
+ save_item(NAME(m_pf));
+ save_item(NAME(m_music));
+ save_item(NAME(m_sound));
+ save_item(NAME(m_coll));
+ save_item(NAME(m_cx));
+ save_item(NAME(m_cyr));
+ save_item(NAME(m_cyq));
+ save_item(NAME(m_collh));
+ save_item(NAME(m_cxh));
+ save_item(NAME(m_cyrh));
+ save_item(NAME(m_cyqh));
}
-static MACHINE_RESET( marinedt )
+void marinedt_state::machine_reset()
{
- marinedt_state *state = machine.driver_data<marinedt_state>();
-
- state->m_obj1_a = 0;
- state->m_obj1_x = 0;
- state->m_obj1_y = 0;
- state->m_obj2_a = 0;
- state->m_obj2_x = 0;
- state->m_obj2_y = 0;
- state->m_pd = 0;
- state->m_pf = 0;
- state->m_music = 0;
- state->m_sound = 0;
- state->m_coll = 0;
- state->m_cx = 0;
- state->m_cyr = 0;
- state->m_cyq = 0;
- state->m_collh = 0;
- state->m_cxh = 0;
- state->m_cyrh = 0;
- state->m_cyqh = 0;
+
+ m_obj1_a = 0;
+ m_obj1_x = 0;
+ m_obj1_y = 0;
+ m_obj2_a = 0;
+ m_obj2_x = 0;
+ m_obj2_y = 0;
+ m_pd = 0;
+ m_pf = 0;
+ m_music = 0;
+ m_sound = 0;
+ m_coll = 0;
+ m_cx = 0;
+ m_cyr = 0;
+ m_cyq = 0;
+ m_collh = 0;
+ m_cxh = 0;
+ m_cyrh = 0;
+ m_cyqh = 0;
}
static MACHINE_CONFIG_START( marinedt, marinedt_state )
@@ -674,8 +675,6 @@ static MACHINE_CONFIG_START( marinedt, marinedt_state )
MCFG_CPU_IO_MAP(marinedt_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(marinedt)
- MCFG_MACHINE_RESET(marinedt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -688,8 +687,6 @@ static MACHINE_CONFIG_START( marinedt, marinedt_state )
MCFG_GFXDECODE(marinedt)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(marinedt)
- MCFG_VIDEO_START(marinedt)
/* sound hardware */
//discrete sound
diff --git a/src/mame/drivers/mario.c b/src/mame/drivers/mario.c
index 1b6d8d1ab15..89dc87c4228 100644
--- a/src/mame/drivers/mario.c
+++ b/src/mame/drivers/mario.c
@@ -349,8 +349,6 @@ static MACHINE_CONFIG_START( mario_base, mario_state )
MCFG_GFXDECODE(mario)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(mario)
- MCFG_VIDEO_START(mario)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/markham.c b/src/mame/drivers/markham.c
index 1465c358b90..2882272b6a7 100644
--- a/src/mame/drivers/markham.c
+++ b/src/mame/drivers/markham.c
@@ -213,8 +213,6 @@ static MACHINE_CONFIG_START( markham, markham_state )
MCFG_GFXDECODE(markham)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(markham)
- MCFG_VIDEO_START(markham)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mastboy.c b/src/mame/drivers/mastboy.c
index c4a0e390e6c..747b4c0dcd7 100644
--- a/src/mame/drivers/mastboy.c
+++ b/src/mame/drivers/mastboy.c
@@ -476,15 +476,16 @@ public:
DECLARE_READ8_MEMBER(mastboy_nmi_read);
DECLARE_WRITE8_MEMBER(mastboy_msm5205_reset_w);
DECLARE_DRIVER_INIT(mastboy);
+ virtual void machine_reset();
+ virtual void video_start();
};
/* VIDEO EMULATION */
-static VIDEO_START(mastboy)
+void mastboy_state::video_start()
{
- mastboy_state *state = machine.driver_data<mastboy_state>();
- machine.gfx[0]->set_source(state->m_vram);
+ machine().gfx[0]->set_source(m_vram);
}
static SCREEN_UPDATE_IND16(mastboy)
@@ -868,18 +869,17 @@ GFXDECODE_END
/* Machine Functions / Driver */
-static MACHINE_RESET( mastboy )
+void mastboy_state::machine_reset()
{
- mastboy_state *state = machine.driver_data<mastboy_state>();
/* clear some ram */
- memset( state->m_workram, 0x00, 0x01000);
- memset( state->m_tileram, 0x00, 0x01000);
- memset( state->m_colram, 0x00, 0x00200);
- memset( state->m_vram, 0x00, 0x10000);
-
- state->m_m5205_part = 0;
- msm5205_reset_w(machine.device("msm"),1);
- state->m_irq0_ack = 0;
+ memset( m_workram, 0x00, 0x01000);
+ memset( m_tileram, 0x00, 0x01000);
+ memset( m_colram, 0x00, 0x00200);
+ memset( m_vram, 0x00, 0x10000);
+
+ m_m5205_part = 0;
+ msm5205_reset_w(machine().device("msm"),1);
+ m_irq0_ack = 0;
}
@@ -892,7 +892,6 @@ static MACHINE_CONFIG_START( mastboy, mastboy_state )
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_MACHINE_RESET( mastboy )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -905,7 +904,6 @@ static MACHINE_CONFIG_START( mastboy, mastboy_state )
MCFG_GFXDECODE(mastboy)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(mastboy)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/matmania.c b/src/mame/drivers/matmania.c
index 54f437b6467..179929e32ad 100644
--- a/src/mame/drivers/matmania.c
+++ b/src/mame/drivers/matmania.c
@@ -296,13 +296,12 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( matmania )
+MACHINE_START_MEMBER(matmania_state,matmania)
{
- matmania_state *state = machine.driver_data<matmania_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
}
static MACHINE_CONFIG_START( matmania, matmania_state )
@@ -318,7 +317,7 @@ static MACHINE_CONFIG_START( matmania, matmania_state )
/* IRQs are caused by the main CPU */
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(matmania)
+ MCFG_MACHINE_START_OVERRIDE(matmania_state,matmania)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -331,8 +330,6 @@ static MACHINE_CONFIG_START( matmania, matmania_state )
MCFG_GFXDECODE(matmania)
MCFG_PALETTE_LENGTH(64+16)
- MCFG_PALETTE_INIT(matmania)
- MCFG_VIDEO_START(matmania)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -354,44 +351,42 @@ static const ym3526_interface ym3526_config =
};
-static MACHINE_START( maniach )
+MACHINE_START_MEMBER(matmania_state,maniach)
{
- matmania_state *state = machine.driver_data<matmania_state>();
-
- MACHINE_START_CALL(matmania);
-
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
- state->save_item(NAME(state->m_port_b_in));
- state->save_item(NAME(state->m_port_b_out));
- state->save_item(NAME(state->m_ddr_b));
- state->save_item(NAME(state->m_port_c_in));
- state->save_item(NAME(state->m_port_c_out));
- state->save_item(NAME(state->m_ddr_c));
- state->save_item(NAME(state->m_mcu_sent));
- state->save_item(NAME(state->m_main_sent));
- state->save_item(NAME(state->m_from_main));
- state->save_item(NAME(state->m_from_mcu));
+
+ MACHINE_START_CALL_MEMBER(matmania);
+
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
+ save_item(NAME(m_port_b_in));
+ save_item(NAME(m_port_b_out));
+ save_item(NAME(m_ddr_b));
+ save_item(NAME(m_port_c_in));
+ save_item(NAME(m_port_c_out));
+ save_item(NAME(m_ddr_c));
+ save_item(NAME(m_mcu_sent));
+ save_item(NAME(m_main_sent));
+ save_item(NAME(m_from_main));
+ save_item(NAME(m_from_mcu));
}
-static MACHINE_RESET( maniach )
+MACHINE_RESET_MEMBER(matmania_state,maniach)
{
- matmania_state *state = machine.driver_data<matmania_state>();
-
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_ddr_a = 0;
- state->m_port_b_in = 0;
- state->m_port_b_out = 0;
- state->m_ddr_b = 0;
- state->m_port_c_in = 0;
- state->m_port_c_out = 0;
- state->m_ddr_c = 0;
- state->m_mcu_sent = 0;
- state->m_main_sent = 0;
- state->m_from_main = 0;
- state->m_from_mcu = 0;
+
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_ddr_a = 0;
+ m_port_b_in = 0;
+ m_port_b_out = 0;
+ m_ddr_b = 0;
+ m_port_c_in = 0;
+ m_port_c_out = 0;
+ m_ddr_c = 0;
+ m_mcu_sent = 0;
+ m_main_sent = 0;
+ m_from_main = 0;
+ m_from_mcu = 0;
}
static MACHINE_CONFIG_START( maniach, matmania_state )
@@ -410,8 +405,8 @@ static MACHINE_CONFIG_START( maniach, matmania_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slice per frame - high interleaving to sync main and mcu */
- MCFG_MACHINE_START(maniach)
- MCFG_MACHINE_RESET(maniach)
+ MCFG_MACHINE_START_OVERRIDE(matmania_state,maniach)
+ MCFG_MACHINE_RESET_OVERRIDE(matmania_state,maniach)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -424,8 +419,6 @@ static MACHINE_CONFIG_START( maniach, matmania_state )
MCFG_GFXDECODE(maniach)
MCFG_PALETTE_LENGTH(64+16)
- MCFG_PALETTE_INIT(matmania)
- MCFG_VIDEO_START(matmania)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/maxaflex.c b/src/mame/drivers/maxaflex.c
index ef63da3d1b0..e5ed9ee9735 100644
--- a/src/mame/drivers/maxaflex.c
+++ b/src/mame/drivers/maxaflex.c
@@ -58,6 +58,7 @@ public:
DECLARE_READ8_MEMBER(maxaflex_atari_pia_pa_r);
DECLARE_READ8_MEMBER(maxaflex_atari_pia_pb_r);
DECLARE_DRIVER_INIT(a600xl);
+ DECLARE_MACHINE_RESET(supervisor_board);
};
@@ -239,14 +240,13 @@ WRITE8_MEMBER(maxaflex_state::mcu_tcr_w)
}
}
-static MACHINE_RESET(supervisor_board)
+MACHINE_RESET_MEMBER(maxaflex_state,supervisor_board)
{
- maxaflex_state *state = machine.driver_data<maxaflex_state>();
- state->m_portA_in = state->m_portA_out = state->m_ddrA = 0;
- state->m_portB_in = state->m_portB_out = state->m_ddrB = 0;
- state->m_portC_in = state->m_portC_out = state->m_ddrC = 0;
- state->m_tdr = state->m_tcr = 0;
- state->m_mcu_timer = machine.device<timer_device>("mcu_timer");
+ m_portA_in = m_portA_out = m_ddrA = 0;
+ m_portB_in = m_portB_out = m_ddrB = 0;
+ m_portC_in = m_portC_out = m_ddrC = 0;
+ m_tdr = m_tcr = 0;
+ m_mcu_timer = machine().device<timer_device>("mcu_timer");
output_set_lamp_value(0, 0);
output_set_lamp_value(1, 0);
@@ -443,7 +443,7 @@ static MACHINE_CONFIG_START( a600xl, maxaflex_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( maxaflex, a600xl )
- MCFG_MACHINE_RESET( supervisor_board )
+ MCFG_MACHINE_RESET_OVERRIDE(maxaflex_state, supervisor_board )
MACHINE_CONFIG_END
ROM_START(maxaflex)
diff --git a/src/mame/drivers/maygay1b.c b/src/mame/drivers/maygay1b.c
index c2a4917074c..80d674cd7f5 100644
--- a/src/mame/drivers/maygay1b.c
+++ b/src/mame/drivers/maygay1b.c
@@ -145,6 +145,8 @@ public:
DECLARE_WRITE8_MEMBER(m1_pia_portb_w);
DECLARE_WRITE8_MEMBER(m1_meter_w);
DECLARE_DRIVER_INIT(m1);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -538,12 +540,11 @@ static void m1_stepper_reset(running_machine &machine)
state->m_optic_pattern = pattern;
}
-static MACHINE_RESET( m1 )
+void maygay1b_state::machine_reset()
{
- maygay1b_state *state = machine.driver_data<maygay1b_state>();
- state->m_vfd->reset(); // reset display1
- state->m_duart68681 = machine.device( "duart68681" );
- m1_stepper_reset(machine);
+ m_vfd->reset(); // reset display1
+ m_duart68681 = machine().device( "duart68681" );
+ m1_stepper_reset(machine());
}
///////////////////////////////////////////////////////////////////////////
@@ -731,17 +732,17 @@ static INPUT_PORTS_START( m1 )
INPUT_PORTS_END
-static MACHINE_START( m1 )
+void maygay1b_state::machine_start()
{
int i;
// setup 8 mechanical meters ////////////////////////////////////////////
- MechMtr_config(machine,8);
+ MechMtr_config(machine(),8);
// setup 6 default 96 half step reels ///////////////////////////////////
for ( i = 0; i < 6; i++ )
{
- stepper_config(machine, i, &starpoint_interface_48step);
+ stepper_config(machine(), i, &starpoint_interface_48step);
}
}
@@ -911,8 +912,6 @@ static const duart68681_config maygaym1_duart68681_config =
static MACHINE_CONFIG_START( m1, maygay1b_state )
- MCFG_MACHINE_START(m1)
- MCFG_MACHINE_RESET(m1)
MCFG_CPU_ADD("maincpu", M6809, M1_MASTER_CLOCK/2)
MCFG_CPU_PROGRAM_MAP(m1_memmap)
diff --git a/src/mame/drivers/maygayv1.c b/src/mame/drivers/maygayv1.c
index e8354ebc6d6..52bec4e4029 100644
--- a/src/mame/drivers/maygayv1.c
+++ b/src/mame/drivers/maygayv1.c
@@ -238,6 +238,9 @@ public:
DECLARE_READ8_MEMBER(b_read);
DECLARE_WRITE8_MEMBER(b_writ);
DECLARE_DRIVER_INIT(screenpl);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -284,7 +287,7 @@ READ16_MEMBER(maygayv1_state::i82716_r)
return 0;
}
-static VIDEO_START( maygayv1 )
+void maygayv1_state::video_start()
{
}
@@ -998,27 +1001,25 @@ static const pia6821_interface pia_intf =
};
-static MACHINE_START( maygayv1 )
+void maygayv1_state::machine_start()
{
- maygayv1_state *state = machine.driver_data<maygayv1_state>();
- i82716_t &i82716 = state->m_i82716;
- i82716.dram = auto_alloc_array(machine, UINT16, 0x80000/2); // ???
- i82716.line_buf = auto_alloc_array(machine, UINT8, 512);
+ i82716_t &i82716 = m_i82716;
+ i82716.dram = auto_alloc_array(machine(), UINT16, 0x80000/2); // ???
+ i82716.line_buf = auto_alloc_array(machine(), UINT8, 512);
- state_save_register_global_pointer(machine, i82716.dram, 0x40000);
+ state_save_register_global_pointer(machine(), i82716.dram, 0x40000);
// duart_68681_init(DUART_CLOCK, duart_irq_handler, duart_tx);
- i8051_set_serial_tx_callback(machine.device("soundcpu"), data_from_i8031);
- i8051_set_serial_rx_callback(machine.device("soundcpu"), data_to_i8031);
+ i8051_set_serial_tx_callback(machine().device("soundcpu"), data_from_i8031);
+ i8051_set_serial_rx_callback(machine().device("soundcpu"), data_to_i8031);
}
-static MACHINE_RESET( maygayv1 )
+void maygayv1_state::machine_reset()
{
- maygayv1_state *state = machine.driver_data<maygayv1_state>();
- i82716_t &i82716 = state->m_i82716;
+ i82716_t &i82716 = m_i82716;
// ?
- state->m_duart68681 = machine.device( "duart68681" );
+ m_duart68681 = machine().device( "duart68681" );
memset(i82716.dram, 0, 0x40000);
i82716.r[RWBA] = 0x0200;
}
@@ -1044,8 +1045,6 @@ static MACHINE_CONFIG_START( maygayv1, maygayv1_state )
MCFG_PIA6821_ADD("pia", pia_intf)
- MCFG_MACHINE_START(maygayv1)
- MCFG_MACHINE_RESET(maygayv1)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -1062,7 +1061,6 @@ static MACHINE_CONFIG_START( maygayv1, maygayv1_state )
MCFG_DUART68681_ADD("duart68681", DUART_CLOCK, maygayv1_duart68681_config)
- MCFG_VIDEO_START(maygayv1)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mayumi.c b/src/mame/drivers/mayumi.c
index f936f53daea..ce8c936df02 100644
--- a/src/mame/drivers/mayumi.c
+++ b/src/mame/drivers/mayumi.c
@@ -42,6 +42,9 @@ public:
DECLARE_READ8_MEMBER(key_matrix_1p_r);
DECLARE_READ8_MEMBER(key_matrix_2p_r);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -59,10 +62,9 @@ TILE_GET_INFO_MEMBER(mayumi_state::get_tile_info)
SET_TILE_INFO_MEMBER(0, code, col, 0);
}
-static VIDEO_START( mayumi )
+void mayumi_state::video_start()
{
- mayumi_state *state = machine.driver_data<mayumi_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mayumi_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mayumi_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
WRITE8_MEMBER(mayumi_state::mayumi_videoram_w)
@@ -373,24 +375,22 @@ static const ym2203_interface ym2203_config =
*
*************************************/
-static MACHINE_START( mayumi )
+void mayumi_state::machine_start()
{
- mayumi_state *state = machine.driver_data<mayumi_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x8000], 0x4000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 4, &ROM[0x8000], 0x4000);
+ membank("bank1")->set_entry(0);
- state->save_item(NAME(state->m_int_enable));
- state->save_item(NAME(state->m_input_sel));
+ save_item(NAME(m_int_enable));
+ save_item(NAME(m_input_sel));
}
-static MACHINE_RESET( mayumi )
+void mayumi_state::machine_reset()
{
- mayumi_state *state = machine.driver_data<mayumi_state>();
- state->m_int_enable = 0;
- state->m_input_sel = 0;
+ m_int_enable = 0;
+ m_input_sel = 0;
}
static MACHINE_CONFIG_START( mayumi, mayumi_state )
@@ -401,8 +401,6 @@ static MACHINE_CONFIG_START( mayumi, mayumi_state )
MCFG_CPU_IO_MAP(mayumi_io_map)
MCFG_CPU_VBLANK_INT("screen", mayumi_interrupt)
- MCFG_MACHINE_START( mayumi )
- MCFG_MACHINE_RESET( mayumi )
MCFG_I8255_ADD( "i8255", mayumi_i8255_intf )
@@ -418,7 +416,6 @@ static MACHINE_CONFIG_START( mayumi, mayumi_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(mayumi)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mazerbla.c b/src/mame/drivers/mazerbla.c
index 91ed8d768c7..236940e72c6 100644
--- a/src/mame/drivers/mazerbla.c
+++ b/src/mame/drivers/mazerbla.c
@@ -139,6 +139,10 @@ public:
DECLARE_READ8_MEMBER(soundcommand_r);
DECLARE_DRIVER_INIT(mazerbla);
DECLARE_DRIVER_INIT(greatgun);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -161,42 +165,40 @@ public:
***************************************************************************/
-static PALETTE_INIT( mazerbla )
+void mazerbla_state::palette_init()
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
static const int resistances_r[2] = { 4700, 2200 };
static const int resistances_gb[3] = { 10000, 4700, 2200 };
/* just to calculate coefficients for later use */
compute_resistor_weights(0, 255, -1.0,
- 3, resistances_gb, state->m_weights_g, 3600, 0,
- 3, resistances_gb, state->m_weights_b, 3600, 0,
- 2, resistances_r, state->m_weights_r, 3600, 0);
+ 3, resistances_gb, m_weights_g, 3600, 0,
+ 3, resistances_gb, m_weights_b, 3600, 0,
+ 2, resistances_r, m_weights_r, 3600, 0);
}
-static VIDEO_START( mazerbla )
+void mazerbla_state::video_start()
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
#if 0
- state->m_planes_enabled[0] = state->m_planes_enabled[1] = state->m_planes_enabled[2] = state->m_planes_enabled[3] = 1;
- state->m_dbg_info = 1;
- state->m_dbg_gfx_e = 1;
- state->m_dbg_clr_e = 0;
- state->m_dbg_vbank = 1;
- state->m_dbg_lookup = 4;
+ m_planes_enabled[0] = m_planes_enabled[1] = m_planes_enabled[2] = m_planes_enabled[3] = 1;
+ m_dbg_info = 1;
+ m_dbg_gfx_e = 1;
+ m_dbg_clr_e = 0;
+ m_dbg_vbank = 1;
+ m_dbg_lookup = 4;
#endif
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmaps[0]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmaps[1]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmaps[2]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmaps[3]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmaps[0]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmaps[1]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmaps[2]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmaps[3]);
- state->save_item(NAME(state->m_tmpbitmaps[0]));
- state->save_item(NAME(state->m_tmpbitmaps[1]));
- state->save_item(NAME(state->m_tmpbitmaps[2]));
- state->save_item(NAME(state->m_tmpbitmaps[3]));
+ save_item(NAME(m_tmpbitmaps[0]));
+ save_item(NAME(m_tmpbitmaps[1]));
+ save_item(NAME(m_tmpbitmaps[2]));
+ save_item(NAME(m_tmpbitmaps[3]));
}
#ifdef UNUSED_DEFINITION
@@ -1431,78 +1433,76 @@ static INTERRUPT_GEN( sound_interrupt )
*
*************************************/
-static MACHINE_START( mazerbla )
+void mazerbla_state::machine_start()
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_vcu_video_reg));
- state->save_item(NAME(state->m_vcu_gfx_addr));
- state->save_item(NAME(state->m_vcu_gfx_param_addr));
+ save_item(NAME(m_vcu_video_reg));
+ save_item(NAME(m_vcu_gfx_addr));
+ save_item(NAME(m_vcu_gfx_param_addr));
- state->save_item(NAME(state->m_bknd_col));
- state->save_item(NAME(state->m_port02_status));
- state->save_item(NAME(state->m_vbank));
- state->save_item(NAME(state->m_xpos));
- state->save_item(NAME(state->m_ypos));
- state->save_item(NAME(state->m_pix_xsize));
- state->save_item(NAME(state->m_pix_ysize));
- state->save_item(NAME(state->m_color1));
- state->save_item(NAME(state->m_color2));
- state->save_item(NAME(state->m_mode));
- state->save_item(NAME(state->m_plane));
- state->save_item(NAME(state->m_lookup_ram));
- state->save_item(NAME(state->m_gfx_rom_bank));
+ save_item(NAME(m_bknd_col));
+ save_item(NAME(m_port02_status));
+ save_item(NAME(m_vbank));
+ save_item(NAME(m_xpos));
+ save_item(NAME(m_ypos));
+ save_item(NAME(m_pix_xsize));
+ save_item(NAME(m_pix_ysize));
+ save_item(NAME(m_color1));
+ save_item(NAME(m_color2));
+ save_item(NAME(m_mode));
+ save_item(NAME(m_plane));
+ save_item(NAME(m_lookup_ram));
+ save_item(NAME(m_gfx_rom_bank));
- state->save_item(NAME(state->m_ls670_0));
- state->save_item(NAME(state->m_ls670_1));
+ save_item(NAME(m_ls670_0));
+ save_item(NAME(m_ls670_1));
- state->save_item(NAME(state->m_zpu_int_vector));
+ save_item(NAME(m_zpu_int_vector));
- state->save_item(NAME(state->m_bcd_7445));
+ save_item(NAME(m_bcd_7445));
- state->save_item(NAME(state->m_vsb_ls273));
- state->save_item(NAME(state->m_soundlatch));
+ save_item(NAME(m_vsb_ls273));
+ save_item(NAME(m_soundlatch));
}
-static MACHINE_RESET( mazerbla )
+void mazerbla_state::machine_reset()
{
- mazerbla_state *state = machine.driver_data<mazerbla_state>();
int i;
- state->m_zpu_int_vector = 0xff;
-
- state->m_bknd_col = 0xaa;
- state->m_gfx_rom_bank = 0xff;
-
- state->m_vcu_gfx_addr = 0;
- state->m_vcu_gfx_param_addr = 0;
- state->m_port02_status = 0;
- state->m_vbank = 0;
- state->m_xpos = 0;
- state->m_ypos = 0;
- state->m_pix_xsize = 0;
- state->m_pix_ysize = 0;
- state->m_color1 = 0;
- state->m_color2 = 0;
- state->m_mode = 0;
- state->m_plane = 0;
- state->m_bcd_7445 = 0;
- state->m_vsb_ls273 = 0;
- state->m_soundlatch = 0;
+ m_zpu_int_vector = 0xff;
+
+ m_bknd_col = 0xaa;
+ m_gfx_rom_bank = 0xff;
+
+ m_vcu_gfx_addr = 0;
+ m_vcu_gfx_param_addr = 0;
+ m_port02_status = 0;
+ m_vbank = 0;
+ m_xpos = 0;
+ m_ypos = 0;
+ m_pix_xsize = 0;
+ m_pix_ysize = 0;
+ m_color1 = 0;
+ m_color2 = 0;
+ m_mode = 0;
+ m_plane = 0;
+ m_bcd_7445 = 0;
+ m_vsb_ls273 = 0;
+ m_soundlatch = 0;
for (i = 0; i < 4; i++)
{
- state->m_vcu_video_reg[i] = 0;
- state->m_ls670_0[i] = 0;
- state->m_ls670_1[i] = 0;
+ m_vcu_video_reg[i] = 0;
+ m_ls670_0[i] = 0;
+ m_ls670_1[i] = 0;
}
- memset(state->m_lookup_ram, 0, ARRAY_LENGTH(state->m_lookup_ram));
+ memset(m_lookup_ram, 0, ARRAY_LENGTH(m_lookup_ram));
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
}
@@ -1528,8 +1528,6 @@ static MACHINE_CONFIG_START( mazerbla, mazerbla_state )
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
/* synchronization forced on the fly */
- MCFG_MACHINE_START(mazerbla)
- MCFG_MACHINE_RESET(mazerbla)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1541,8 +1539,6 @@ static MACHINE_CONFIG_START( mazerbla, mazerbla_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(mazerbla)
- MCFG_VIDEO_START(mazerbla)
/* sound hardware */
MACHINE_CONFIG_END
@@ -1568,8 +1564,6 @@ static MACHINE_CONFIG_START( greatgun, mazerbla_state )
*/
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(mazerbla)
- MCFG_MACHINE_RESET(mazerbla)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1581,8 +1575,6 @@ static MACHINE_CONFIG_START( greatgun, mazerbla_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(mazerbla)
- MCFG_VIDEO_START(mazerbla)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mcatadv.c b/src/mame/drivers/mcatadv.c
index 3075ab2ecc6..379d1201947 100644
--- a/src/mame/drivers/mcatadv.c
+++ b/src/mame/drivers/mcatadv.c
@@ -425,19 +425,18 @@ static const ym2610_interface mcatadv_ym2610_interface =
};
-static MACHINE_START( mcatadv )
+void mcatadv_state::machine_start()
{
- mcatadv_state *state = machine.driver_data<mcatadv_state>();
- UINT8 *ROM = state->memregion("soundcpu")->base();
+ UINT8 *ROM = memregion("soundcpu")->base();
- state->membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
- state->membank("bank1")->set_entry(1);
+ membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ membank("bank1")->set_entry(1);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_soundcpu = machine.device<cpu_device>("soundcpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_soundcpu = machine().device<cpu_device>("soundcpu");
- state->save_item(NAME(state->m_palette_bank1));
- state->save_item(NAME(state->m_palette_bank2));
+ save_item(NAME(m_palette_bank1));
+ save_item(NAME(m_palette_bank2));
}
static MACHINE_CONFIG_START( mcatadv, mcatadv_state )
@@ -451,7 +450,6 @@ static MACHINE_CONFIG_START( mcatadv, mcatadv_state )
MCFG_CPU_PROGRAM_MAP(mcatadv_sound_map)
MCFG_CPU_IO_MAP(mcatadv_sound_io_map)
- MCFG_MACHINE_START(mcatadv)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -467,7 +465,6 @@ static MACHINE_CONFIG_START( mcatadv, mcatadv_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- MCFG_VIDEO_START(mcatadv)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c
index 099a0563c2d..3d58c837705 100644
--- a/src/mame/drivers/mcr.c
+++ b/src/mame/drivers/mcr.c
@@ -1832,8 +1832,8 @@ static MACHINE_CONFIG_START( mcr_90009, mcr_state )
MCFG_Z80CTC_ADD("ctc", MAIN_OSC_MCR_I/8 /* same as "maincpu" */, mcr_ctc_intf)
MCFG_WATCHDOG_VBLANK_INIT(16)
- MCFG_MACHINE_START(mcr)
- MCFG_MACHINE_RESET(mcr)
+ MCFG_MACHINE_START_OVERRIDE(mcr_state,mcr)
+ MCFG_MACHINE_RESET_OVERRIDE(mcr_state,mcr)
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
@@ -1849,7 +1849,7 @@ static MACHINE_CONFIG_START( mcr_90009, mcr_state )
MCFG_GFXDECODE(mcr)
MCFG_PALETTE_LENGTH(32)
- MCFG_VIDEO_START(mcr)
+ MCFG_VIDEO_START_OVERRIDE(mcr_state,mcr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1932,7 +1932,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mcr_91490_ipu, mcr_91490_snt )
/* basic machine hardware */
- MCFG_MACHINE_START(nflfoot)
+ MCFG_MACHINE_START_OVERRIDE(mcr_state,nflfoot)
MCFG_CPU_ADD("ipu", Z80, 7372800/2)
MCFG_CPU_CONFIG(mcr_ipu_daisy_chain)
diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c
index 4f3eca5a10c..8b5684d6149 100644
--- a/src/mame/drivers/mcr3.c
+++ b/src/mame/drivers/mcr3.c
@@ -1086,8 +1086,8 @@ static MACHINE_CONFIG_START( mcrmono, mcr3_state )
MCFG_Z80CTC_ADD("ctc", MASTER_CLOCK/4 /* same as "maincpu" */, mcr_ctc_intf)
MCFG_WATCHDOG_VBLANK_INIT(16)
- MCFG_MACHINE_START(mcr)
- MCFG_MACHINE_RESET(mcr)
+ MCFG_MACHINE_START_OVERRIDE(mcr3_state,mcr)
+ MCFG_MACHINE_RESET_OVERRIDE(mcr3_state,mcr)
MCFG_NVRAM_ADD_0FILL("nvram")
// sound hardware
@@ -1106,7 +1106,7 @@ static MACHINE_CONFIG_START( mcrmono, mcr3_state )
MCFG_GFXDECODE(mcr3)
MCFG_PALETTE_LENGTH(64)
- MCFG_VIDEO_START(mcrmono)
+ MCFG_VIDEO_START_OVERRIDE(mcr3_state,mcrmono)
MACHINE_CONFIG_END
@@ -1156,8 +1156,8 @@ static MACHINE_CONFIG_DERIVED( mcrscroll, mcrmono )
MCFG_GFXDECODE(spyhunt)
MCFG_PALETTE_LENGTH(64+4)
- MCFG_PALETTE_INIT(spyhunt)
- MCFG_VIDEO_START(spyhunt)
+ MCFG_PALETTE_INIT_OVERRIDE(mcr3_state,spyhunt)
+ MCFG_VIDEO_START_OVERRIDE(mcr3_state,spyhunt)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mcr68.c b/src/mame/drivers/mcr68.c
index b10c447d6c1..ddc341864d5 100644
--- a/src/mame/drivers/mcr68.c
+++ b/src/mame/drivers/mcr68.c
@@ -968,8 +968,8 @@ static MACHINE_CONFIG_START( zwackery, mcr68_state )
MCFG_CPU_VBLANK_INT("screen", mcr68_interrupt)
// MCFG_WATCHDOG_VBLANK_INIT(8)
- MCFG_MACHINE_START(zwackery)
- MCFG_MACHINE_RESET(zwackery)
+ MCFG_MACHINE_START_OVERRIDE(mcr68_state,zwackery)
+ MCFG_MACHINE_RESET_OVERRIDE(mcr68_state,zwackery)
MCFG_PIA6821_ADD("pia0", zwackery_pia0_intf)
MCFG_PIA6821_ADD("pia1", zwackery_pia1_intf)
@@ -986,7 +986,7 @@ static MACHINE_CONFIG_START( zwackery, mcr68_state )
MCFG_GFXDECODE(zwackery)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(zwackery)
+ MCFG_VIDEO_START_OVERRIDE(mcr68_state,zwackery)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1003,8 +1003,8 @@ static MACHINE_CONFIG_START( mcr68, mcr68_state )
MCFG_CPU_VBLANK_INT("screen", mcr68_interrupt)
MCFG_WATCHDOG_VBLANK_INIT(8)
- MCFG_MACHINE_START(mcr68)
- MCFG_MACHINE_RESET(mcr68)
+ MCFG_MACHINE_START_OVERRIDE(mcr68_state,mcr68)
+ MCFG_MACHINE_RESET_OVERRIDE(mcr68_state,mcr68)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1017,7 +1017,7 @@ static MACHINE_CONFIG_START( mcr68, mcr68_state )
MCFG_GFXDECODE(mcr68)
MCFG_PALETTE_LENGTH(64)
- MCFG_VIDEO_START(mcr68)
+ MCFG_VIDEO_START_OVERRIDE(mcr68_state,mcr68)
/* sound hardware -- determined by specific machine */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/meadows.c b/src/mame/drivers/meadows.c
index ba87fe51584..4ef92188612 100644
--- a/src/mame/drivers/meadows.c
+++ b/src/mame/drivers/meadows.c
@@ -323,10 +323,10 @@ static INTERRUPT_GEN( audio_interrupt )
*
*************************************/
-static PALETTE_INIT( meadows )
+void meadows_state::palette_init()
{
- palette_set_color(machine, 0, RGB_BLACK);
- palette_set_color(machine, 1, RGB_WHITE);
+ palette_set_color(machine(), 0, RGB_BLACK);
+ palette_set_color(machine(), 1, RGB_WHITE);
}
@@ -663,8 +663,6 @@ static MACHINE_CONFIG_START( meadows, meadows_state )
MCFG_GFXDECODE(meadows)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(meadows)
- MCFG_VIDEO_START(meadows)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -695,8 +693,6 @@ static MACHINE_CONFIG_START( minferno, meadows_state )
MCFG_GFXDECODE(minferno)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(meadows)
- MCFG_VIDEO_START(meadows)
/* audio hardware */
MACHINE_CONFIG_END
@@ -724,8 +720,6 @@ static MACHINE_CONFIG_START( bowl3d, meadows_state )
MCFG_GFXDECODE(meadows)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(meadows)
- MCFG_VIDEO_START(meadows)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mediagx.c b/src/mame/drivers/mediagx.c
index feddb8bcd72..009c6f6b8ab 100644
--- a/src/mame/drivers/mediagx.c
+++ b/src/mame/drivers/mediagx.c
@@ -183,6 +183,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(mediagx_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
DECLARE_DRIVER_INIT(a51site4);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
// Display controller registers
@@ -227,12 +230,12 @@ static const rgb_t cga_palette[16] =
MAKE_RGB( 0xff, 0x55, 0x55 ), MAKE_RGB( 0xff, 0x55, 0xff ), MAKE_RGB( 0xff, 0xff, 0x55 ), MAKE_RGB( 0xff, 0xff, 0xff ),
};
-static VIDEO_START(mediagx)
+void mediagx_state::video_start()
{
int i;
for (i=0; i < 16; i++)
{
- palette_set_color(machine, i, cga_palette[i]);
+ palette_set_color(machine(), i, cga_palette[i]);
}
}
@@ -1050,37 +1053,35 @@ static IRQ_CALLBACK(irq_callback)
return pic8259_acknowledge( state->m_pic8259_1);
}
-static MACHINE_START(mediagx)
+void mediagx_state::machine_start()
{
- mediagx_state *state = machine.driver_data<mediagx_state>();
- state->m_pit8254 = machine.device<pit8254_device>( "pit8254" );
- state->m_pic8259_1 = machine.device<pic8259_device>( "pic8259_master" );
- state->m_pic8259_2 = machine.device<pic8259_device>( "pic8259_slave" );
- state->m_dma8237_1 = machine.device<i8237_device>( "dma8237_1" );
- state->m_dma8237_2 = machine.device<i8237_device>( "dma8237_2" );
+ m_pit8254 = machine().device<pit8254_device>( "pit8254" );
+ m_pic8259_1 = machine().device<pic8259_device>( "pic8259_master" );
+ m_pic8259_2 = machine().device<pic8259_device>( "pic8259_slave" );
+ m_dma8237_1 = machine().device<i8237_device>( "dma8237_1" );
+ m_dma8237_2 = machine().device<i8237_device>( "dma8237_2" );
- state->m_dacl = auto_alloc_array(machine, INT16, 65536);
- state->m_dacr = auto_alloc_array(machine, INT16, 65536);
+ m_dacl = auto_alloc_array(machine(), INT16, 65536);
+ m_dacr = auto_alloc_array(machine(), INT16, 65536);
}
-static MACHINE_RESET(mediagx)
+void mediagx_state::machine_reset()
{
- mediagx_state *state = machine.driver_data<mediagx_state>();
- UINT8 *rom = state->memregion("bios")->base();
+ UINT8 *rom = memregion("bios")->base();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
- memcpy(state->m_bios_ram, rom, 0x40000);
- machine.device("maincpu")->reset();
+ memcpy(m_bios_ram, rom, 0x40000);
+ machine().device("maincpu")->reset();
- timer_device *sound_timer = machine.device<timer_device>("sound_timer");
+ timer_device *sound_timer = machine().device<timer_device>("sound_timer");
sound_timer->adjust(attotime::from_msec(10));
- state->m_dmadac[0] = machine.device<dmadac_sound_device>("dac1");
- state->m_dmadac[1] = machine.device<dmadac_sound_device>("dac2");
- dmadac_enable(&state->m_dmadac[0], 2, 1);
- machine.device("ide")->reset();
+ m_dmadac[0] = machine().device<dmadac_sound_device>("dac1");
+ m_dmadac[1] = machine().device<dmadac_sound_device>("dac2");
+ dmadac_enable(&m_dmadac[0], 2, 1);
+ machine().device("ide")->reset();
}
/*************************************************************
@@ -1165,8 +1166,6 @@ static MACHINE_CONFIG_START( mediagx, mediagx_state )
MCFG_CPU_PROGRAM_MAP(mediagx_map)
MCFG_CPU_IO_MAP(mediagx_io)
- MCFG_MACHINE_START(mediagx)
- MCFG_MACHINE_RESET(mediagx)
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(18, NULL, cx5510_pci_r, cx5510_pci_w)
@@ -1199,7 +1198,6 @@ static MACHINE_CONFIG_START( mediagx, mediagx_state )
MCFG_GFXDECODE(CGA)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(mediagx)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/megaplay.c b/src/mame/drivers/megaplay.c
index 54cfdf927cd..09020779754 100644
--- a/src/mame/drivers/megaplay.c
+++ b/src/mame/drivers/megaplay.c
@@ -610,11 +610,11 @@ ADDRESS_MAP_END
-static VIDEO_START(megplay)
+VIDEO_START_MEMBER(mplay_state,megplay)
{
//printf("megplay vs\n");
- VIDEO_START_CALL(megadriv);
-// VIDEO_START_CALL(megaplay_normal);
+ VIDEO_START_CALL_LEGACY(megadriv);
+// VIDEO_START_CALL_MEMBER(megaplay_normal);
}
static SCREEN_UPDATE_RGB32(megplay)
@@ -628,14 +628,13 @@ static SCREEN_UPDATE_RGB32(megplay)
//extern SCREEN_VBLANK(megadriv);
-static MACHINE_RESET( megaplay )
+MACHINE_RESET_MEMBER(mplay_state,megaplay)
{
- mplay_state *state = machine.driver_data<mplay_state>();
- state->m_bios_mode = MP_ROM;
- state->m_mp_bios_bank_addr = 0;
- state->m_readpos = 1;
- MACHINE_RESET_CALL(megadriv);
- MACHINE_RESET_CALL(megatech_bios);
+ m_bios_mode = MP_ROM;
+ m_mp_bios_bank_addr = 0;
+ m_readpos = 1;
+ MACHINE_RESET_CALL_LEGACY(megadriv);
+ MACHINE_RESET_CALL_LEGACY(megatech_bios);
}
static SCREEN_VBLANK( megaplay )
@@ -654,7 +653,7 @@ static MACHINE_CONFIG_START( megaplay, mplay_state )
MCFG_CPU_PROGRAM_MAP(megaplay_bios_map)
MCFG_CPU_IO_MAP(megaplay_bios_io_map)
- MCFG_MACHINE_RESET( megaplay )
+ MCFG_MACHINE_RESET_OVERRIDE(mplay_state, megaplay )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -663,7 +662,7 @@ static MACHINE_CONFIG_START( megaplay, mplay_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker",0.25) /* 3.58 MHz */
/* New update functions to handle the extra layer */
- MCFG_VIDEO_START(megplay)
+ MCFG_VIDEO_START_OVERRIDE(mplay_state,megplay)
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_UPDATE_STATIC(megplay)
MCFG_SCREEN_VBLANK_STATIC( megaplay )
diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c
index 180127f54b3..17fc6916f2a 100644
--- a/src/mame/drivers/megasys1.c
+++ b/src/mame/drivers/megasys1.c
@@ -129,20 +129,18 @@ RAM RW 0f0000-0f3fff 0e0000-0effff? <
#include "includes/megasys1.h"
-static MACHINE_RESET( megasys1 )
+MACHINE_RESET_MEMBER(megasys1_state,megasys1)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
- state->m_ignore_oki_status = 1; /* ignore oki status due 'protection' */
- state->m_ip_select = 0; /* reset protection */
- state->m_mcu_hs = 0;
+ m_ignore_oki_status = 1; /* ignore oki status due 'protection' */
+ m_ip_select = 0; /* reset protection */
+ m_mcu_hs = 0;
}
-static MACHINE_RESET( megasys1_hachoo )
+MACHINE_RESET_MEMBER(megasys1_state,megasys1_hachoo)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
- state->m_ignore_oki_status = 0; /* strangely hachoo need real oki status */
- state->m_ip_select = 0; /* reset protection */
- state->m_mcu_hs = 0;
+ m_ignore_oki_status = 0; /* strangely hachoo need real oki status */
+ m_ip_select = 0; /* reset protection */
+ m_mcu_hs = 0;
}
@@ -1475,7 +1473,7 @@ static MACHINE_CONFIG_START( system_A, megasys1_state )
MCFG_QUANTUM_TIME(attotime::from_hz(120000))
- MCFG_MACHINE_RESET(megasys1)
+ MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1489,8 +1487,8 @@ static MACHINE_CONFIG_START( system_A, megasys1_state )
MCFG_GFXDECODE(ABC)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(megasys1)
- MCFG_VIDEO_START(megasys1)
+ MCFG_PALETTE_INIT_OVERRIDE(megasys1_state,megasys1)
+ MCFG_VIDEO_START_OVERRIDE(megasys1_state,megasys1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1510,7 +1508,7 @@ static MACHINE_CONFIG_START( system_A, megasys1_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( system_A_hachoo, system_A )
- MCFG_MACHINE_RESET(megasys1_hachoo)
+ MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1_hachoo)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( system_B, system_A )
@@ -1535,7 +1533,7 @@ static MACHINE_CONFIG_START( system_Bbl, megasys1_state )
MCFG_CPU_PROGRAM_MAP(megasys1B_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", megasys1B_scanline, "screen", 0, 1)
- MCFG_MACHINE_RESET(megasys1)
+ MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1549,8 +1547,8 @@ static MACHINE_CONFIG_START( system_Bbl, megasys1_state )
MCFG_GFXDECODE(ABC)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(megasys1)
- MCFG_VIDEO_START(megasys1)
+ MCFG_PALETTE_INIT_OVERRIDE(megasys1_state,megasys1)
+ MCFG_VIDEO_START_OVERRIDE(megasys1_state,megasys1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1607,7 +1605,7 @@ static MACHINE_CONFIG_START( system_D, megasys1_state )
MCFG_CPU_PROGRAM_MAP(megasys1D_map)
MCFG_CPU_VBLANK_INT("screen", megasys1D_irq)
- MCFG_MACHINE_RESET(megasys1)
+ MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1621,8 +1619,8 @@ static MACHINE_CONFIG_START( system_D, megasys1_state )
MCFG_GFXDECODE(ABC)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(megasys1)
- MCFG_VIDEO_START(megasys1)
+ MCFG_PALETTE_INIT_OVERRIDE(megasys1_state,megasys1)
+ MCFG_VIDEO_START_OVERRIDE(megasys1_state,megasys1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1683,7 +1681,7 @@ static MACHINE_CONFIG_START( system_Z, megasys1_state )
MCFG_GFXDECODE(Z)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(megasys1)
+ MCFG_VIDEO_START_OVERRIDE(megasys1_state,megasys1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/megatech.c b/src/mame/drivers/megatech.c
index 3765ca9f59b..35ffcb54b9f 100644
--- a/src/mame/drivers/megatech.c
+++ b/src/mame/drivers/megatech.c
@@ -439,10 +439,10 @@ DRIVER_INIT_MEMBER(mtech_state,mt_crt)
m_cart_is_genesis[0] = !pin[0] ? 1 : 0;;
}
-static VIDEO_START(mtnew)
+VIDEO_START_MEMBER(mtech_state,mtnew)
{
- init_for_megadrive(machine); // create an sms vdp too, for compatibility mode
- VIDEO_START_CALL(megadriv);
+ init_for_megadrive(machine()); // create an sms vdp too, for compatibility mode
+ VIDEO_START_CALL_LEGACY(megadriv);
}
//attotime::never
@@ -467,14 +467,13 @@ static SCREEN_VBLANK(mtnew)
SCREEN_VBLANK_CALL(megatech_md_sms);
}
-static MACHINE_RESET(mtnew)
+MACHINE_RESET_MEMBER(mtech_state,mtnew)
{
- mtech_state *state = machine.driver_data<mtech_state>();
- state->m_mt_bank_addr = 0;
+ m_mt_bank_addr = 0;
- MACHINE_RESET_CALL(megadriv);
- MACHINE_RESET_CALL(megatech_md_sms);
- megatech_select_game(machine, 0);
+ MACHINE_RESET_CALL_LEGACY(megadriv);
+ MACHINE_RESET_CALL_LEGACY(megatech_md_sms);
+ megatech_select_game(machine(), 0);
}
static SCREEN_UPDATE_RGB32( megatech_menu )
@@ -510,9 +509,9 @@ static MACHINE_CONFIG_START( megatech, mtech_state )
MCFG_CPU_PROGRAM_MAP(megatech_bios_map)
MCFG_CPU_IO_MAP(megatech_bios_portmap)
- MCFG_MACHINE_RESET(mtnew)
+ MCFG_MACHINE_RESET_OVERRIDE(mtech_state,mtnew)
- MCFG_VIDEO_START(mtnew)
+ MCFG_VIDEO_START_OVERRIDE(mtech_state,mtnew)
MCFG_DEFAULT_LAYOUT(layout_dualhovu)
diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c
index 634ca999fe3..2496c77830b 100644
--- a/src/mame/drivers/megazone.c
+++ b/src/mame/drivers/megazone.c
@@ -226,24 +226,22 @@ static const ay8910_interface ay8910_config =
-static MACHINE_START( megazone )
+void megazone_state::machine_start()
{
- megazone_state *state = machine.driver_data<megazone_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_daccpu = machine.device<cpu_device>("daccpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_daccpu = machine().device<cpu_device>("daccpu");
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_i8039_status));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_i8039_status));
}
-static MACHINE_RESET( megazone )
+void megazone_state::machine_reset()
{
- megazone_state *state = machine.driver_data<megazone_state>();
- state->m_flipscreen = 0;
- state->m_i8039_status = 0;
+ m_flipscreen = 0;
+ m_i8039_status = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -272,8 +270,6 @@ static MACHINE_CONFIG_START( megazone, megazone_state )
MCFG_CPU_IO_MAP(megazone_i8039_io_map)
MCFG_QUANTUM_TIME(attotime::from_hz(900))
- MCFG_MACHINE_START(megazone)
- MCFG_MACHINE_RESET(megazone)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -286,8 +282,6 @@ static MACHINE_CONFIG_START( megazone, megazone_state )
MCFG_GFXDECODE(megazone)
MCFG_PALETTE_LENGTH(16*16+16*16)
- MCFG_PALETTE_INIT(megazone)
- MCFG_VIDEO_START(megazone)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/meijinsn.c b/src/mame/drivers/meijinsn.c
index 85925b122ef..833b460213e 100644
--- a/src/mame/drivers/meijinsn.c
+++ b/src/mame/drivers/meijinsn.c
@@ -92,6 +92,10 @@ public:
DECLARE_WRITE16_MEMBER(sound_w);
DECLARE_READ16_MEMBER(alpha_mcu_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -242,13 +246,13 @@ static INPUT_PORTS_START( meijinsn )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
INPUT_PORTS_END
-static VIDEO_START(meijinsn)
+void meijinsn_state::video_start()
{
}
-static PALETTE_INIT( meijinsn )
+void meijinsn_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const int resistances_b[2] = { 470, 220 };
static const int resistances_rg[3] = { 1000, 470, 220 };
@@ -260,7 +264,7 @@ static PALETTE_INIT( meijinsn )
3, resistances_rg, weights_g, 0, 1000+1000,
2, resistances_b, weights_b, 0, 1000+1000);
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -281,7 +285,7 @@ static PALETTE_INIT( meijinsn )
bit1 = BIT(color_prom[i], 7);
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -331,22 +335,20 @@ static const ay8910_interface ay8910_config =
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r)
};
-static MACHINE_START( meijinsn )
+void meijinsn_state::machine_start()
{
- meijinsn_state *state = machine.driver_data<meijinsn_state>();
- state->save_item(NAME(state->m_deposits1));
- state->save_item(NAME(state->m_deposits2));
- state->save_item(NAME(state->m_credits));
+ save_item(NAME(m_deposits1));
+ save_item(NAME(m_deposits2));
+ save_item(NAME(m_credits));
}
-static MACHINE_RESET( meijinsn )
+void meijinsn_state::machine_reset()
{
- meijinsn_state *state = machine.driver_data<meijinsn_state>();
- state->m_deposits1 = 0;
- state->m_deposits2 = 0;
- state->m_credits = 0;
+ m_deposits1 = 0;
+ m_deposits2 = 0;
+ m_credits = 0;
}
@@ -362,8 +364,6 @@ static MACHINE_CONFIG_START( meijinsn, meijinsn_state )
MCFG_CPU_IO_MAP(meijinsn_sound_io_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 160*60)
- MCFG_MACHINE_START(meijinsn)
- MCFG_MACHINE_RESET(meijinsn)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -374,9 +374,7 @@ static MACHINE_CONFIG_START( meijinsn, meijinsn_state )
MCFG_SCREEN_UPDATE_STATIC(meijinsn)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(meijinsn)
- MCFG_VIDEO_START(meijinsn)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c
index 8ac8c3a4f05..ccaaf6b6520 100644
--- a/src/mame/drivers/merit.c
+++ b/src/mame/drivers/merit.c
@@ -94,20 +94,21 @@ public:
DECLARE_DRIVER_INIT(key_0);
DECLARE_DRIVER_INIT(key_2);
DECLARE_DRIVER_INIT(dtrvwz5);
+ virtual void machine_start();
+ DECLARE_MACHINE_START(casino5);
};
-static MACHINE_START(merit)
+void merit_state::machine_start()
{
- merit_state *state = machine.driver_data<merit_state>();
- state->m_question_address = 0;
- state->m_ram_palette = auto_alloc_array(machine, UINT8, RAM_PALETTE_SIZE);
-
- state_save_register_global_pointer(machine, state->m_ram_palette, RAM_PALETTE_SIZE);
- state_save_register_global(machine, state->m_lscnblk);
- state_save_register_global(machine, state->m_extra_video_bank_bit);
- state_save_register_global(machine, state->m_question_address);
- state_save_register_global(machine, state->m_decryption_key);
+ m_question_address = 0;
+ m_ram_palette = auto_alloc_array(machine(), UINT8, RAM_PALETTE_SIZE);
+
+ state_save_register_global_pointer(machine(), m_ram_palette, RAM_PALETTE_SIZE);
+ state_save_register_global(machine(), m_lscnblk);
+ state_save_register_global(machine(), m_extra_video_bank_bit);
+ state_save_register_global(machine(), m_question_address);
+ state_save_register_global(machine(), m_decryption_key);
}
@@ -1213,13 +1214,13 @@ void merit_state::dodge_nvram_init(nvram_device &nvram, void *base, size_t size)
reinterpret_cast<UINT8 *>(base)[0x1040] = 0xc9; /* ret */
}
-static MACHINE_START(casino5)
+MACHINE_START_MEMBER(merit_state,casino5)
{
- MACHINE_START_CALL(merit);
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base() + 0x2000, 0x2000);
- machine.root_device().membank("bank2")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base() + 0x6000, 0x2000);
- machine.root_device().membank("bank1")->set_entry(0);
- machine.root_device().membank("bank2")->set_entry(0);
+ merit_state::machine_start();
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("maincpu")->base() + 0x2000, 0x2000);
+ machine().root_device().membank("bank2")->configure_entries(0, 2, machine().root_device().memregion("maincpu")->base() + 0x6000, 0x2000);
+ machine().root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank2")->set_entry(0);
}
static MACHINE_CONFIG_START( pitboss, merit_state )
@@ -1230,7 +1231,6 @@ static MACHINE_CONFIG_START( pitboss, merit_state )
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
- MCFG_MACHINE_START(merit)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1255,7 +1255,7 @@ static MACHINE_CONFIG_DERIVED( casino5, pitboss )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_START(casino5)
+ MCFG_MACHINE_START_OVERRIDE(merit_state,casino5)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bigappg, pitboss )
diff --git a/src/mame/drivers/meritm.c b/src/mame/drivers/meritm.c
index 937e8f51155..0d3fcda4f17 100644
--- a/src/mame/drivers/meritm.c
+++ b/src/mame/drivers/meritm.c
@@ -233,6 +233,12 @@ public:
DECLARE_DRIVER_INIT(megat2);
DECLARE_DRIVER_INIT(pbst30);
DECLARE_DRIVER_INIT(megat3te);
+ virtual void machine_start();
+ virtual void video_start();
+ DECLARE_MACHINE_START(meritm_crt250_questions);
+ DECLARE_MACHINE_START(meritm_crt250_crt252_crt258);
+ DECLARE_MACHINE_START(meritm_crt260);
+ DECLARE_MACHINE_START(merit_common);
};
@@ -445,15 +451,14 @@ static void meritm_vdp1_interrupt(device_t *, v99x8_device &device, int i)
}
-static VIDEO_START( meritm )
+void meritm_state::video_start()
{
- meritm_state *state = machine.driver_data<meritm_state>();
- state->m_layer0_enabled = state->m_layer1_enabled = 1;
+ m_layer0_enabled = m_layer1_enabled = 1;
- state->m_vint = 0x18;
- state_save_register_global(machine, state->m_vint);
- state_save_register_global(machine, state->m_interrupt_vdp0_state);
- state_save_register_global(machine, state->m_interrupt_vdp1_state);
+ m_vint = 0x18;
+ state_save_register_global(machine(), m_vint);
+ state_save_register_global(machine(), m_interrupt_vdp0_state);
+ state_save_register_global(machine(), m_interrupt_vdp1_state);
}
static SCREEN_UPDATE_IND16( meritm )
@@ -1088,57 +1093,53 @@ static const z80_daisy_config meritm_daisy_chain[] =
{ NULL }
};
-static MACHINE_START(merit_common)
+MACHINE_START_MEMBER(meritm_state,merit_common)
{
- meritm_state *state = machine.driver_data<meritm_state>();
- state->m_z80pio_0->strobe_a(1);
- state->m_z80pio_0->strobe_b(1);
- state->m_z80pio_1->strobe_a(1);
- state->m_z80pio_1->strobe_b(1);
+ m_z80pio_0->strobe_a(1);
+ m_z80pio_0->strobe_b(1);
+ m_z80pio_1->strobe_a(1);
+ m_z80pio_1->strobe_b(1);
};
-static MACHINE_START(meritm_crt250)
+void meritm_state::machine_start()
{
- meritm_state *state = machine.driver_data<meritm_state>();
- state->membank("bank1")->configure_entries(0, 8, state->memregion("maincpu")->base(), 0x10000);
- state->m_bank = 0xff;
- meritm_crt250_switch_banks(machine);
- MACHINE_START_CALL(merit_common);
- state_save_register_global(machine, state->m_bank);
+ membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base(), 0x10000);
+ m_bank = 0xff;
+ meritm_crt250_switch_banks(machine());
+ MACHINE_START_CALL_MEMBER(merit_common);
+ state_save_register_global(machine(), m_bank);
};
-static MACHINE_START(meritm_crt250_questions)
+MACHINE_START_MEMBER(meritm_state,meritm_crt250_questions)
{
- meritm_state *state = machine.driver_data<meritm_state>();
- MACHINE_START_CALL(meritm_crt250);
- state_save_register_global(machine, state->m_questions_loword_address);
+ meritm_state::machine_start();
+ state_save_register_global(machine(), m_questions_loword_address);
};
-static MACHINE_START(meritm_crt250_crt252_crt258)
+MACHINE_START_MEMBER(meritm_state,meritm_crt250_crt252_crt258)
{
- MACHINE_START_CALL(meritm_crt250_questions);
- pc16552d_init(machine, 0, UART_CLK, NULL, pc16650d_tx_callback);
+ MACHINE_START_CALL_MEMBER(meritm_crt250_questions);
+ pc16552d_init(machine(), 0, UART_CLK, NULL, pc16650d_tx_callback);
}
-static MACHINE_START(meritm_crt260)
+MACHINE_START_MEMBER(meritm_state,meritm_crt260)
{
- meritm_state *state = machine.driver_data<meritm_state>();
- state->m_ram = auto_alloc_array(machine, UINT8, 0x8000 );
- machine.device<nvram_device>("nvram")->set_base(state->m_ram, 0x8000);
- memset(state->m_ram, 0x00, 0x8000);
- state->membank("bank1")->configure_entries(0, 128, state->memregion("maincpu")->base(), 0x8000);
- state->membank("bank2")->configure_entries(0, 128, state->memregion("maincpu")->base(), 0x8000);
- state->membank("bank3")->configure_entries(0, 4, state->m_ram, 0x2000);
- state->m_bank = 0xff;
- state->m_psd_a15 = 0;
- meritm_switch_banks(machine);
- MACHINE_START_CALL(merit_common);
- pc16552d_init(machine, 0, UART_CLK, NULL, pc16650d_tx_callback);
- state_save_register_global(machine, state->m_bank);
- state_save_register_global(machine, state->m_psd_a15);
- state_save_register_global_pointer(machine, state->m_ram, 0x8000);
+ m_ram = auto_alloc_array(machine(), UINT8, 0x8000 );
+ machine().device<nvram_device>("nvram")->set_base(m_ram, 0x8000);
+ memset(m_ram, 0x00, 0x8000);
+ membank("bank1")->configure_entries(0, 128, memregion("maincpu")->base(), 0x8000);
+ membank("bank2")->configure_entries(0, 128, memregion("maincpu")->base(), 0x8000);
+ membank("bank3")->configure_entries(0, 4, m_ram, 0x2000);
+ m_bank = 0xff;
+ m_psd_a15 = 0;
+ meritm_switch_banks(machine());
+ MACHINE_START_CALL_MEMBER(merit_common);
+ pc16552d_init(machine(), 0, UART_CLK, NULL, pc16650d_tx_callback);
+ state_save_register_global(machine(), m_bank);
+ state_save_register_global(machine(), m_psd_a15);
+ state_save_register_global_pointer(machine(), m_ram, 0x8000);
};
// from MSX2 driver, may be not accurate for merit games
@@ -1172,7 +1173,6 @@ static MACHINE_CONFIG_START( meritm_crt250, meritm_state )
MCFG_CPU_CONFIG(meritm_daisy_chain)
MCFG_TIMER_ADD_SCANLINE("scantimer", meritm_interrupt, "screen", 0, 1)
- MCFG_MACHINE_START(meritm_crt250)
MCFG_I8255A_ADD( "ppi8255", crt250_ppi8255_intf )
@@ -1203,7 +1203,6 @@ static MACHINE_CONFIG_START( meritm_crt250, meritm_state )
MCFG_PALETTE_INIT( v9938 )
- MCFG_VIDEO_START(meritm)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1217,13 +1216,13 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( meritm_crt250_questions, meritm_crt250 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(meritm_crt250_questions_map)
- MCFG_MACHINE_START(meritm_crt250_questions)
+ MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt250_questions)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( meritm_crt250_crt252_crt258, meritm_crt250_questions )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(meritm_crt250_crt258_io_map)
- MCFG_MACHINE_START(meritm_crt250_crt252_crt258)
+ MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt250_crt252_crt258)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( meritm_crt260, meritm_crt250 )
@@ -1235,7 +1234,7 @@ static MACHINE_CONFIG_DERIVED( meritm_crt260, meritm_crt250 )
MCFG_I8255A_ADD( "ppi8255", crt260_ppi8255_intf )
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(1200)) // DS1232, TD connected to VCC
- MCFG_MACHINE_START(meritm_crt260)
+ MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt260)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mermaid.c b/src/mame/drivers/mermaid.c
index da08f4b861c..8feb2212118 100644
--- a/src/mame/drivers/mermaid.c
+++ b/src/mame/drivers/mermaid.c
@@ -362,46 +362,44 @@ GFXDECODE_END
/* Machine Driver */
-static MACHINE_START( mermaid )
+void mermaid_state::machine_start()
{
- mermaid_state *state = machine.driver_data<mermaid_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_ay1 = machine.device("ay1");
- state->m_ay2 = machine.device("ay2");
-
- state->save_item(NAME(state->m_coll_bit0));
- state->save_item(NAME(state->m_coll_bit1));
- state->save_item(NAME(state->m_coll_bit2));
- state->save_item(NAME(state->m_coll_bit3));
- state->save_item(NAME(state->m_coll_bit6));
- state->save_item(NAME(state->m_rougien_gfxbank1));
- state->save_item(NAME(state->m_rougien_gfxbank2));
-
- state->save_item(NAME(state->m_adpcm_pos));
- state->save_item(NAME(state->m_adpcm_end));
- state->save_item(NAME(state->m_adpcm_idle));
- state->save_item(NAME(state->m_adpcm_data));
- state->save_item(NAME(state->m_adpcm_trigger));
- state->save_item(NAME(state->m_adpcm_rom_sel));
- state->save_item(NAME(state->m_adpcm_play_reg));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_ay1 = machine().device("ay1");
+ m_ay2 = machine().device("ay2");
+
+ save_item(NAME(m_coll_bit0));
+ save_item(NAME(m_coll_bit1));
+ save_item(NAME(m_coll_bit2));
+ save_item(NAME(m_coll_bit3));
+ save_item(NAME(m_coll_bit6));
+ save_item(NAME(m_rougien_gfxbank1));
+ save_item(NAME(m_rougien_gfxbank2));
+
+ save_item(NAME(m_adpcm_pos));
+ save_item(NAME(m_adpcm_end));
+ save_item(NAME(m_adpcm_idle));
+ save_item(NAME(m_adpcm_data));
+ save_item(NAME(m_adpcm_trigger));
+ save_item(NAME(m_adpcm_rom_sel));
+ save_item(NAME(m_adpcm_play_reg));
}
-static MACHINE_RESET( mermaid )
+void mermaid_state::machine_reset()
{
- mermaid_state *state = machine.driver_data<mermaid_state>();
-
- state->m_coll_bit0 = 0;
- state->m_coll_bit1 = 0;
- state->m_coll_bit2 = 0;
- state->m_coll_bit3 = 0;
- state->m_coll_bit6 = 0;
- state->m_rougien_gfxbank1 = 0;
- state->m_rougien_gfxbank2 = 0;
-
- state->m_adpcm_idle = 1;
- state->m_adpcm_rom_sel = 0;
- state->m_adpcm_play_reg = 0;
+
+ m_coll_bit0 = 0;
+ m_coll_bit1 = 0;
+ m_coll_bit2 = 0;
+ m_coll_bit3 = 0;
+ m_coll_bit6 = 0;
+ m_rougien_gfxbank1 = 0;
+ m_rougien_gfxbank2 = 0;
+
+ m_adpcm_idle = 1;
+ m_adpcm_rom_sel = 0;
+ m_adpcm_play_reg = 0;
}
/* Similar to Jantotsu, apparently the HW has three ports that controls what kind of sample should be played. Every sample size is 0x1000. */
@@ -456,8 +454,6 @@ static MACHINE_CONFIG_START( mermaid, mermaid_state )
MCFG_CPU_PROGRAM_MAP(mermaid_map)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_START(mermaid)
- MCFG_MACHINE_RESET(mermaid)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -471,8 +467,6 @@ static MACHINE_CONFIG_START( mermaid, mermaid_state )
MCFG_GFXDECODE(mermaid)
MCFG_PALETTE_LENGTH(4*16+2*2)
- MCFG_PALETTE_INIT(mermaid)
- MCFG_VIDEO_START(mermaid)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -490,7 +484,7 @@ static MACHINE_CONFIG_DERIVED( rougien, mermaid )
MCFG_DEVICE_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(rougien_map)
- MCFG_PALETTE_INIT(rougien)
+ MCFG_PALETTE_INIT_OVERRIDE(mermaid_state,rougien)
MCFG_SOUND_ADD("adpcm", MSM5205, 384000)
MCFG_SOUND_CONFIG(msm5205_config)
diff --git a/src/mame/drivers/metalmx.c b/src/mame/drivers/metalmx.c
index 3aa90cf3339..37835e6a720 100644
--- a/src/mame/drivers/metalmx.c
+++ b/src/mame/drivers/metalmx.c
@@ -264,7 +264,7 @@ Logic:
*
*************************************/
-static MACHINE_RESET( metalmx );
+
/*************************************
@@ -273,7 +273,7 @@ static MACHINE_RESET( metalmx );
*
*************************************/
-static VIDEO_START( metalmx )
+void metalmx_state::video_start()
{
}
@@ -750,7 +750,6 @@ static MACHINE_CONFIG_START( metalmx, metalmx_state )
MCFG_CPU_CONFIG(dsp32c_config)
MCFG_CPU_PROGRAM_MAP(dsp32c_2_map)
- MCFG_MACHINE_RESET(metalmx)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -762,7 +761,6 @@ static MACHINE_CONFIG_START( metalmx, metalmx_state )
MCFG_PALETTE_LENGTH(65536)
MCFG_PALETTE_INIT(RRRRR_GGGGGG_BBBBB)
- MCFG_VIDEO_START(metalmx)
MCFG_FRAGMENT_ADD(cage)
MACHINE_CONFIG_END
@@ -778,12 +776,11 @@ DRIVER_INIT_MEMBER(metalmx_state,metalmx)
cage_set_irq_handler(cage_irq_callback);
}
-static MACHINE_RESET( metalmx )
+void metalmx_state::machine_reset()
{
- metalmx_state *state = machine.driver_data<metalmx_state>();
- state->m_dsp32c_1->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_dsp32c_2->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_dsp32c_1->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_dsp32c_2->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
diff --git a/src/mame/drivers/metlclsh.c b/src/mame/drivers/metlclsh.c
index fcfc60f6b2d..e866e8e7455 100644
--- a/src/mame/drivers/metlclsh.c
+++ b/src/mame/drivers/metlclsh.c
@@ -260,25 +260,23 @@ static const ym3526_interface ym3526_config =
};
-static MACHINE_START( metlclsh )
+void metlclsh_state::machine_start()
{
- metlclsh_state *state = machine.driver_data<metlclsh_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_write_mask));
- state->save_item(NAME(state->m_gfxbank));
+ save_item(NAME(m_write_mask));
+ save_item(NAME(m_gfxbank));
}
-static MACHINE_RESET( metlclsh )
+void metlclsh_state::machine_reset()
{
- metlclsh_state *state = machine.driver_data<metlclsh_state>();
- state->flip_screen_set(0);
+ flip_screen_set(0);
- state->m_write_mask = 0;
- state->m_gfxbank = 0;
+ m_write_mask = 0;
+ m_gfxbank = 0;
}
static MACHINE_CONFIG_START( metlclsh, metlclsh_state )
@@ -292,8 +290,6 @@ static MACHINE_CONFIG_START( metlclsh, metlclsh_state )
MCFG_CPU_PROGRAM_MAP(metlclsh_slave_map)
// IRQ by cpu #1, NMI by coins insertion
- MCFG_MACHINE_START(metlclsh)
- MCFG_MACHINE_RESET(metlclsh)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -306,7 +302,6 @@ static MACHINE_CONFIG_START( metlclsh, metlclsh_state )
MCFG_GFXDECODE(metlclsh)
MCFG_PALETTE_LENGTH(3 * 16)
- MCFG_VIDEO_START(metlclsh)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c
index e56f9d8f4f3..69f3ee0a20a 100644
--- a/src/mame/drivers/metro.c
+++ b/src/mame/drivers/metro.c
@@ -3384,31 +3384,29 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_START( metro )
+MACHINE_START_MEMBER(metro_state,metro)
{
- metro_state *state = machine.driver_data<metro_state>();
- state->save_item(NAME(state->m_blitter_bit));
- state->save_item(NAME(state->m_irq_line));
- state->save_item(NAME(state->m_requested_int));
- state->save_item(NAME(state->m_soundstatus));
- state->save_item(NAME(state->m_porta));
- state->save_item(NAME(state->m_portb));
- state->save_item(NAME(state->m_busy_sndcpu));
- state->save_item(NAME(state->m_gakusai_oki_bank_lo));
- state->save_item(NAME(state->m_gakusai_oki_bank_hi));
- state->save_item(NAME(state->m_sprite_xoffs));
- state->save_item(NAME(state->m_sprite_yoffs));
- state->save_item(NAME(state->m_bg_tilemap_enable));
- state->save_item(NAME(state->m_bg_tilemap_enable16));
+ save_item(NAME(m_blitter_bit));
+ save_item(NAME(m_irq_line));
+ save_item(NAME(m_requested_int));
+ save_item(NAME(m_soundstatus));
+ save_item(NAME(m_porta));
+ save_item(NAME(m_portb));
+ save_item(NAME(m_busy_sndcpu));
+ save_item(NAME(m_gakusai_oki_bank_lo));
+ save_item(NAME(m_gakusai_oki_bank_hi));
+ save_item(NAME(m_sprite_xoffs));
+ save_item(NAME(m_sprite_yoffs));
+ save_item(NAME(m_bg_tilemap_enable));
+ save_item(NAME(m_bg_tilemap_enable16));
}
-static MACHINE_RESET( metro )
+MACHINE_RESET_MEMBER(metro_state,metro)
{
- metro_state *state = machine.driver_data<metro_state>();
- if (state->m_irq_line == -1)
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(metro_irq_callback);
+ if (m_irq_line == -1)
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(metro_irq_callback);
}
@@ -3426,8 +3424,8 @@ static MACHINE_CONFIG_START( balcube, metro_state )
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ?
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3440,7 +3438,7 @@ static MACHINE_CONFIG_START( balcube, metro_state )
MCFG_GFXDECODE(i4220)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4220)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3460,8 +3458,8 @@ static MACHINE_CONFIG_START( daitoa, metro_state )
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ?
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3474,7 +3472,7 @@ static MACHINE_CONFIG_START( daitoa, metro_state )
MCFG_GFXDECODE(i4220)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4220)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3494,8 +3492,8 @@ static MACHINE_CONFIG_START( msgogo, metro_state )
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) // timing is off, shaking sprites in intro
MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 60) // ?
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3508,7 +3506,7 @@ static MACHINE_CONFIG_START( msgogo, metro_state )
MCFG_GFXDECODE(i4220)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4220)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3528,8 +3526,8 @@ static MACHINE_CONFIG_START( bangball, metro_state )
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 60) // ?
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3542,7 +3540,7 @@ static MACHINE_CONFIG_START( bangball, metro_state )
MCFG_GFXDECODE(i4220)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4220)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3562,8 +3560,8 @@ static MACHINE_CONFIG_START( batlbubl, metro_state )
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt)
MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 60) // ?
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3576,7 +3574,7 @@ static MACHINE_CONFIG_START( batlbubl, metro_state )
MCFG_GFXDECODE(i4220)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4220)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3600,8 +3598,8 @@ static MACHINE_CONFIG_START( daitorid, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(daitorid_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3614,7 +3612,7 @@ static MACHINE_CONFIG_START( daitorid, metro_state )
MCFG_GFXDECODE(i4220)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4220)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3643,8 +3641,8 @@ static MACHINE_CONFIG_START( dharma, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(metro_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3657,7 +3655,7 @@ static MACHINE_CONFIG_START( dharma, metro_state )
MCFG_GFXDECODE(i4100)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4100)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3685,8 +3683,8 @@ static MACHINE_CONFIG_START( karatour, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(metro_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3699,7 +3697,7 @@ static MACHINE_CONFIG_START( karatour, metro_state )
MCFG_GFXDECODE(i4100)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4100)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3727,8 +3725,8 @@ static MACHINE_CONFIG_START( 3kokushi, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(metro_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3741,7 +3739,7 @@ static MACHINE_CONFIG_START( 3kokushi, metro_state )
MCFG_GFXDECODE(i4220)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4220)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3769,8 +3767,8 @@ static MACHINE_CONFIG_START( lastfort, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(metro_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3783,7 +3781,7 @@ static MACHINE_CONFIG_START( lastfort, metro_state )
MCFG_GFXDECODE(i4100)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4100)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3810,8 +3808,8 @@ static MACHINE_CONFIG_START( lastforg, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(metro_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3824,7 +3822,7 @@ static MACHINE_CONFIG_START( lastforg, metro_state )
MCFG_GFXDECODE(i4100)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4100)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3845,8 +3843,8 @@ static MACHINE_CONFIG_START( dokyusei, metro_state )
MCFG_CPU_PROGRAM_MAP(dokyusei_map)
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3859,7 +3857,7 @@ static MACHINE_CONFIG_START( dokyusei, metro_state )
MCFG_GFXDECODE(i4300)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4300)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3880,8 +3878,8 @@ static MACHINE_CONFIG_START( dokyusp, metro_state )
MCFG_CPU_PROGRAM_MAP(dokyusp_map)
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
MCFG_EEPROM_93C46_ADD("eeprom")
/* video hardware */
@@ -3895,7 +3893,7 @@ static MACHINE_CONFIG_START( dokyusp, metro_state )
MCFG_GFXDECODE(i4300)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4300)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3917,8 +3915,8 @@ static MACHINE_CONFIG_START( gakusai, metro_state )
MCFG_CPU_PROGRAM_MAP(gakusai_map)
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
MCFG_EEPROM_93C46_ADD("eeprom")
/* video hardware */
@@ -3932,7 +3930,7 @@ static MACHINE_CONFIG_START( gakusai, metro_state )
MCFG_GFXDECODE(i4300)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4300)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3954,8 +3952,8 @@ static MACHINE_CONFIG_START( gakusai2, metro_state )
MCFG_CPU_PROGRAM_MAP(gakusai2_map)
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
MCFG_EEPROM_93C46_ADD("eeprom")
/* video hardware */
@@ -3969,7 +3967,7 @@ static MACHINE_CONFIG_START( gakusai2, metro_state )
MCFG_GFXDECODE(i4300)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4300)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3997,8 +3995,8 @@ static MACHINE_CONFIG_START( pangpoms, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(metro_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4011,7 +4009,7 @@ static MACHINE_CONFIG_START( pangpoms, metro_state )
MCFG_GFXDECODE(i4100)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4100)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -4039,8 +4037,8 @@ static MACHINE_CONFIG_START( poitto, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(metro_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4053,7 +4051,7 @@ static MACHINE_CONFIG_START( poitto, metro_state )
MCFG_GFXDECODE(i4100)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4100)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -4081,8 +4079,8 @@ static MACHINE_CONFIG_START( pururun, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(daitorid_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4095,7 +4093,7 @@ static MACHINE_CONFIG_START( pururun, metro_state )
MCFG_GFXDECODE(i4100)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4100)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -4124,8 +4122,8 @@ static MACHINE_CONFIG_START( skyalert, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(metro_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4138,7 +4136,7 @@ static MACHINE_CONFIG_START( skyalert, metro_state )
MCFG_GFXDECODE(i4100)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4100)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -4166,8 +4164,8 @@ static MACHINE_CONFIG_START( toride2g, metro_state )
MCFG_CPU_PROGRAM_MAP(metro_sound_map)
MCFG_CPU_IO_MAP(metro_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4180,7 +4178,7 @@ static MACHINE_CONFIG_START( toride2g, metro_state )
MCFG_GFXDECODE(i4100)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4100)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -4202,8 +4200,8 @@ static MACHINE_CONFIG_START( mouja, metro_state )
MCFG_CPU_PROGRAM_MAP(mouja_map)
MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4216,7 +4214,7 @@ static MACHINE_CONFIG_START( mouja, metro_state )
MCFG_GFXDECODE(i4300)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4300)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -4247,8 +4245,8 @@ static MACHINE_CONFIG_START( blzntrnd, metro_state )
MCFG_CPU_PROGRAM_MAP(blzntrnd_sound_map)
MCFG_CPU_IO_MAP(blzntrnd_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4261,7 +4259,7 @@ static MACHINE_CONFIG_START( blzntrnd, metro_state )
MCFG_GFXDECODE(blzntrnd)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(blzntrnd)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,blzntrnd)
MCFG_K053936_ADD("k053936", blzntrnd_k053936_intf)
@@ -4295,8 +4293,8 @@ static MACHINE_CONFIG_START( gstrik2, metro_state )
MCFG_CPU_PROGRAM_MAP(blzntrnd_sound_map)
MCFG_CPU_IO_MAP(blzntrnd_sound_io_map)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4309,7 +4307,7 @@ static MACHINE_CONFIG_START( gstrik2, metro_state )
MCFG_GFXDECODE(gstrik2)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(gstrik2)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,gstrik2)
MCFG_K053936_ADD("k053936", gstrik2_k053936_intf)
@@ -4333,8 +4331,8 @@ static MACHINE_CONFIG_START( puzzlet, metro_state )
MCFG_CPU_IO_MAP(puzzlet_io_map)
MCFG_CPU_VBLANK_INT("screen", puzzlet_interrupt)
- MCFG_MACHINE_START(metro)
- MCFG_MACHINE_RESET(metro)
+ MCFG_MACHINE_START_OVERRIDE(metro_state,metro)
+ MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4347,7 +4345,7 @@ static MACHINE_CONFIG_START( puzzlet, metro_state )
MCFG_GFXDECODE(i4300)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(metro_i4300)
+ MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/mexico86.c b/src/mame/drivers/mexico86.c
index bb3c9d4a0b1..c02d431cdb3 100644
--- a/src/mame/drivers/mexico86.c
+++ b/src/mame/drivers/mexico86.c
@@ -419,56 +419,54 @@ static const ym2203_interface ym2203_config =
*
*************************************/
-static MACHINE_START( mexico86 )
+void mexico86_state::machine_start()
{
- mexico86_state *state = machine.driver_data<mexico86_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
-
- state->membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_mcu = machine.device("mcu");
-
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
- state->save_item(NAME(state->m_port_b_in));
- state->save_item(NAME(state->m_port_b_out));
- state->save_item(NAME(state->m_ddr_b));
- state->save_item(NAME(state->m_address));
- state->save_item(NAME(state->m_latch));
-
- state->save_item(NAME(state->m_mcu_running));
- state->save_item(NAME(state->m_mcu_initialised));
- state->save_item(NAME(state->m_coin_last));
-
- state->save_item(NAME(state->m_charbank));
+ UINT8 *ROM = memregion("maincpu")->base();
+
+ membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_mcu = machine().device("mcu");
+
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
+ save_item(NAME(m_port_b_in));
+ save_item(NAME(m_port_b_out));
+ save_item(NAME(m_ddr_b));
+ save_item(NAME(m_address));
+ save_item(NAME(m_latch));
+
+ save_item(NAME(m_mcu_running));
+ save_item(NAME(m_mcu_initialised));
+ save_item(NAME(m_coin_last));
+
+ save_item(NAME(m_charbank));
}
-static MACHINE_RESET( mexico86 )
+void mexico86_state::machine_reset()
{
- mexico86_state *state = machine.driver_data<mexico86_state>();
/*TODO: check the PCB and see how the halt / reset lines are connected. */
- if (machine.device("sub") != NULL)
- machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, (state->ioport("DSW1")->read() & 0x80) ? ASSERT_LINE : CLEAR_LINE);
-
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_ddr_a = 0;
- state->m_port_b_in = 0;
- state->m_port_b_out = 0;
- state->m_ddr_b = 0;
- state->m_address = 0;
- state->m_latch = 0;
-
- state->m_mcu_running = 0;
- state->m_mcu_initialised = 0;
- state->m_coin_last = 0;
-
- state->m_charbank = 0;
+ if (machine().device("sub") != NULL)
+ machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, (ioport("DSW1")->read() & 0x80) ? ASSERT_LINE : CLEAR_LINE);
+
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_ddr_a = 0;
+ m_port_b_in = 0;
+ m_port_b_out = 0;
+ m_ddr_b = 0;
+ m_address = 0;
+ m_latch = 0;
+
+ m_mcu_running = 0;
+ m_mcu_initialised = 0;
+ m_coin_last = 0;
+
+ m_charbank = 0;
}
static MACHINE_CONFIG_START( mexico86, mexico86_state )
@@ -491,8 +489,6 @@ static MACHINE_CONFIG_START( mexico86, mexico86_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs */
- MCFG_MACHINE_START(mexico86)
- MCFG_MACHINE_RESET(mexico86)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/meyc8088.c b/src/mame/drivers/meyc8088.c
index a14eaf48b49..12cf8b32cbf 100644
--- a/src/mame/drivers/meyc8088.c
+++ b/src/mame/drivers/meyc8088.c
@@ -62,6 +62,7 @@ public:
DECLARE_WRITE8_MEMBER(meyc8088_common_w);
DECLARE_WRITE_LINE_MEMBER(meyc8088_sound_out);
+ virtual void palette_init();
};
@@ -111,14 +112,14 @@ static const res_net_info meyc8088_net_info =
}
};
-PALETTE_INIT( meyc8088 )
+void meyc8088_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &meyc8088_decode_info, &meyc8088_net_info);
- palette_set_colors(machine, 0, rgb, 32);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &meyc8088_decode_info, &meyc8088_net_info);
+ palette_set_colors(machine(), 0, rgb, 32);
+ auto_free(machine(), rgb);
}
static SCREEN_UPDATE_IND16( meyc8088 )
@@ -389,7 +390,6 @@ static MACHINE_CONFIG_START( meyc8088, meyc8088_state )
MCFG_SCREEN_VBLANK_STATIC(meyc8088)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(meyc8088)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mgolf.c b/src/mame/drivers/mgolf.c
index bd54149b05c..1a9796bc45c 100644
--- a/src/mame/drivers/mgolf.c
+++ b/src/mame/drivers/mgolf.c
@@ -34,6 +34,10 @@ public:
DECLARE_READ8_MEMBER(mgolf_misc_r);
DECLARE_WRITE8_MEMBER(mgolf_wram_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -52,10 +56,9 @@ WRITE8_MEMBER(mgolf_state::mgolf_vram_w)
}
-static VIDEO_START( mgolf )
+void mgolf_state::video_start()
{
- mgolf_state *state = machine.driver_data<mgolf_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mgolf_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mgolf_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -255,12 +258,12 @@ static INPUT_PORTS_START( mgolf )
INPUT_PORTS_END
-static PALETTE_INIT( mgolf )
+void mgolf_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0x80, 0x80, 0x80));
- palette_set_color(machine, 1, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 2, MAKE_RGB(0x80, 0x80, 0x80));
- palette_set_color(machine, 3, MAKE_RGB(0xff, 0xff, 0xff));
+ palette_set_color(machine(), 0, MAKE_RGB(0x80, 0x80, 0x80));
+ palette_set_color(machine(), 1, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 2, MAKE_RGB(0x80, 0x80, 0x80));
+ palette_set_color(machine(), 3, MAKE_RGB(0xff, 0xff, 0xff));
}
static const gfx_layout tile_layout =
@@ -302,23 +305,21 @@ static GFXDECODE_START( mgolf )
GFXDECODE_END
-static MACHINE_START( mgolf )
+void mgolf_state::machine_start()
{
- mgolf_state *state = machine.driver_data<mgolf_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_prev));
- state->save_item(NAME(state->m_mask));
+ save_item(NAME(m_prev));
+ save_item(NAME(m_mask));
}
-static MACHINE_RESET( mgolf )
+void mgolf_state::machine_reset()
{
- mgolf_state *state = machine.driver_data<mgolf_state>();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(16), FUNC(interrupt_callback), 16);
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(16), FUNC(interrupt_callback), 16);
- state->m_mask = 0;
- state->m_prev = 0;
+ m_mask = 0;
+ m_prev = 0;
}
@@ -328,8 +329,6 @@ static MACHINE_CONFIG_START( mgolf, mgolf_state )
MCFG_CPU_ADD("maincpu", M6502, 12096000 / 16) /* ? */
MCFG_CPU_PROGRAM_MAP(cpu_map)
- MCFG_MACHINE_START(mgolf)
- MCFG_MACHINE_RESET(mgolf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -341,8 +340,6 @@ static MACHINE_CONFIG_START( mgolf, mgolf_state )
MCFG_GFXDECODE(mgolf)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(mgolf)
- MCFG_VIDEO_START(mgolf)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mhavoc.c b/src/mame/drivers/mhavoc.c
index 79da80b1e2e..d9e009ba798 100644
--- a/src/mame/drivers/mhavoc.c
+++ b/src/mame/drivers/mhavoc.c
@@ -481,8 +481,6 @@ static MACHINE_CONFIG_START( mhavoc, mhavoc_state )
MCFG_CPU_ADD("gamma", M6502, MHAVOC_CLOCK_1_25M) /* 1.25 MHz */
MCFG_CPU_PROGRAM_MAP(gamma_map)
- MCFG_MACHINE_START(mhavoc)
- MCFG_MACHINE_RESET(mhavoc)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TIMER_ADD_PERIODIC("5k_timer", mhavoc_cpu_irq_clock, attotime::from_hz(MHAVOC_CLOCK_5K))
diff --git a/src/mame/drivers/micro3d.c b/src/mame/drivers/micro3d.c
index c338bd603bb..123f735748c 100644
--- a/src/mame/drivers/micro3d.c
+++ b/src/mame/drivers/micro3d.c
@@ -352,7 +352,6 @@ static MACHINE_CONFIG_START( micro3d, micro3d_state )
MCFG_DUART68681_ADD("duart68681", XTAL_3_6864MHz, micro3d_duart68681_config)
MCFG_MC68901_ADD("mc68901", 4000000, mfp_intf)
- MCFG_MACHINE_RESET(micro3d)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_QUANTUM_TIME(attotime::from_hz(3000))
@@ -362,8 +361,6 @@ static MACHINE_CONFIG_START( micro3d, micro3d_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_40MHz/8*4, 192*4, 0, 144*4, 434, 0, 400)
MCFG_SCREEN_UPDATE_STATIC(tms340x0_ind16)
- MCFG_VIDEO_START(micro3d)
- MCFG_VIDEO_RESET(micro3d)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/midas.c b/src/mame/drivers/midas.c
index dd5c5f8b58c..f92df0c2658 100644
--- a/src/mame/drivers/midas.c
+++ b/src/mame/drivers/midas.c
@@ -77,10 +77,11 @@ public:
DECLARE_WRITE16_MEMBER(midas_eeprom_w);
DECLARE_DRIVER_INIT(livequiz);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
};
-static VIDEO_START( midas );
+
static SCREEN_UPDATE_IND16( midas );
@@ -90,14 +91,13 @@ TILE_GET_INFO_MEMBER(midas_state::get_tile_info)
SET_TILE_INFO_MEMBER(1, code & 0xfff, (code >> 12) & 0xf, TILE_FLIPXY( 0 ));
}
-static VIDEO_START( midas )
+void midas_state::video_start()
{
- midas_state *state = machine.driver_data<midas_state>();
- state->m_gfxram = auto_alloc_array(machine, UINT16, 0x20000/2);
+ m_gfxram = auto_alloc_array(machine(), UINT16, 0x20000/2);
- state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(midas_state::get_tile_info),state), TILEMAP_SCAN_COLS,8,8,0x80,0x20);
+ m_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(midas_state::get_tile_info),this), TILEMAP_SCAN_COLS,8,8,0x80,0x20);
- state->m_tmap->set_transparent_pen(0);
+ m_tmap->set_transparent_pen(0);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -716,7 +716,6 @@ static MACHINE_CONFIG_START( livequiz, midas_state )
MCFG_GFXDECODE(midas)
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_VIDEO_START(midas)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -750,7 +749,6 @@ static MACHINE_CONFIG_START( hammer, midas_state )
MCFG_GFXDECODE(midas)
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_VIDEO_START(midas)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/midqslvr.c b/src/mame/drivers/midqslvr.c
index ad662efd41c..49a59902d34 100644
--- a/src/mame/drivers/midqslvr.c
+++ b/src/mame/drivers/midqslvr.c
@@ -96,6 +96,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(pc_dack2_w);
DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
DECLARE_WRITE_LINE_MEMBER(midqslvr_pic8259_1_set_int_line);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -652,37 +654,36 @@ static void ide_interrupt(device_t *device, int state)
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
-static MACHINE_START( midqslvr )
+void midqslvr_state::machine_start()
{
- midqslvr_state *state = machine.driver_data<midqslvr_state>();
- state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x10000/4);
- state->m_bios_ext1_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_bios_ext2_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_bios_ext3_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_bios_ext4_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_isa_ram1 = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_isa_ram2 = auto_alloc_array(machine, UINT32, 0x4000/4);
+ m_bios_ram = auto_alloc_array(machine(), UINT32, 0x10000/4);
+ m_bios_ext1_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_bios_ext2_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_bios_ext3_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_bios_ext4_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_isa_ram1 = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_isa_ram2 = auto_alloc_array(machine(), UINT32, 0x4000/4);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, midqslvr_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, midqslvr_set_keyb_int);
- state->m_maincpu->set_irq_acknowledge_callback(irq_callback);
- intel82439tx_init(machine);
+ m_maincpu->set_irq_acknowledge_callback(irq_callback);
+ intel82439tx_init(machine());
- kbdc8042_init(machine, &at8042);
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ kbdc8042_init(machine(), &at8042);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
-static MACHINE_RESET( midqslvr )
+void midqslvr_state::machine_reset()
{
- machine.root_device().membank("bios_bank")->set_base(machine.root_device().memregion("bios")->base() + 0x70000);
- machine.root_device().membank("bios_ext1")->set_base(machine.root_device().memregion("bios")->base() + 0x60000);
- machine.root_device().membank("bios_ext2")->set_base(machine.root_device().memregion("bios")->base() + 0x64000);
- machine.root_device().membank("bios_ext3")->set_base(machine.root_device().memregion("bios")->base() + 0x68000);
- machine.root_device().membank("bios_ext4")->set_base(machine.root_device().memregion("bios")->base() + 0x6c000);
- machine.root_device().membank("video_bank1")->set_base(machine.root_device().memregion("video_bios")->base() + 0);
- machine.root_device().membank("video_bank2")->set_base(machine.root_device().memregion("video_bios")->base() + 0x4000);
+ machine().root_device().membank("bios_bank")->set_base(machine().root_device().memregion("bios")->base() + 0x70000);
+ machine().root_device().membank("bios_ext1")->set_base(machine().root_device().memregion("bios")->base() + 0x60000);
+ machine().root_device().membank("bios_ext2")->set_base(machine().root_device().memregion("bios")->base() + 0x64000);
+ machine().root_device().membank("bios_ext3")->set_base(machine().root_device().memregion("bios")->base() + 0x68000);
+ machine().root_device().membank("bios_ext4")->set_base(machine().root_device().memregion("bios")->base() + 0x6c000);
+ machine().root_device().membank("video_bank1")->set_base(machine().root_device().memregion("video_bios")->base() + 0);
+ machine().root_device().membank("video_bank2")->set_base(machine().root_device().memregion("video_bios")->base() + 0x4000);
}
static const ide_config ide_intf =
@@ -697,8 +698,6 @@ static MACHINE_CONFIG_START( midqslvr, midqslvr_state )
MCFG_CPU_PROGRAM_MAP(midqslvr_map)
MCFG_CPU_IO_MAP(midqslvr_io)
- MCFG_MACHINE_START(midqslvr)
- MCFG_MACHINE_RESET(midqslvr)
MCFG_PIT8254_ADD( "pit8254", midqslvr_pit8254_config )
MCFG_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
diff --git a/src/mame/drivers/midtunit.c b/src/mame/drivers/midtunit.c
index d861747ff76..3655d19b214 100644
--- a/src/mame/drivers/midtunit.c
+++ b/src/mame/drivers/midtunit.c
@@ -607,7 +607,7 @@ static MACHINE_CONFIG_START( tunit_core, midtunit_state )
MCFG_CPU_CONFIG(tms_config)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_RESET(midtunit)
+ MCFG_MACHINE_RESET_OVERRIDE(midtunit_state,midtunit)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -617,7 +617,7 @@ static MACHINE_CONFIG_START( tunit_core, midtunit_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK * 2, 505, 0, 399, 289, 0, 253)
MCFG_SCREEN_UPDATE_STATIC(tms340x0_ind16)
- MCFG_VIDEO_START(midtunit)
+ MCFG_VIDEO_START_OVERRIDE(midtunit_state,midtunit)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c
index 74e095090e8..3d972b1bbaa 100644
--- a/src/mame/drivers/midvunit.c
+++ b/src/mame/drivers/midvunit.c
@@ -44,46 +44,43 @@ Known to exist but not dumped:
*
*************************************/
-static MACHINE_START( midvunit )
+void midvunit_state::machine_start()
{
- midvunit_state *state = machine.driver_data<midvunit_state>();
- state_save_register_global(machine, state->m_cmos_protected);
- state_save_register_global(machine, state->m_control_data);
- state_save_register_global(machine, state->m_adc_data);
- state_save_register_global(machine, state->m_adc_shift);
- state_save_register_global(machine, state->m_last_port0);
- state_save_register_global(machine, state->m_shifter_state);
- state_save_register_global(machine, state->m_timer_rate);
+ state_save_register_global(machine(), m_cmos_protected);
+ state_save_register_global(machine(), m_control_data);
+ state_save_register_global(machine(), m_adc_data);
+ state_save_register_global(machine(), m_adc_shift);
+ state_save_register_global(machine(), m_last_port0);
+ state_save_register_global(machine(), m_shifter_state);
+ state_save_register_global(machine(), m_timer_rate);
}
-static MACHINE_RESET( midvunit )
+void midvunit_state::machine_reset()
{
- midvunit_state *state = machine.driver_data<midvunit_state>();
- dcs_reset_w(machine, 1);
- dcs_reset_w(machine, 0);
+ dcs_reset_w(machine(), 1);
+ dcs_reset_w(machine(), 0);
- memcpy(state->m_ram_base, state->memregion("user1")->base(), 0x20000*4);
- machine.device("maincpu")->reset();
+ memcpy(m_ram_base, memregion("user1")->base(), 0x20000*4);
+ machine().device("maincpu")->reset();
- state->m_timer[0] = machine.device<timer_device>("timer0");
- state->m_timer[1] = machine.device<timer_device>("timer1");
+ m_timer[0] = machine().device<timer_device>("timer0");
+ m_timer[1] = machine().device<timer_device>("timer1");
}
-static MACHINE_RESET( midvplus )
+MACHINE_RESET_MEMBER(midvunit_state,midvplus)
{
- midvunit_state *state = machine.driver_data<midvunit_state>();
- dcs_reset_w(machine, 1);
- dcs_reset_w(machine, 0);
+ dcs_reset_w(machine(), 1);
+ dcs_reset_w(machine(), 0);
- memcpy(state->m_ram_base, state->memregion("user1")->base(), 0x20000*4);
- machine.device("maincpu")->reset();
+ memcpy(m_ram_base, memregion("user1")->base(), 0x20000*4);
+ machine().device("maincpu")->reset();
- state->m_timer[0] = machine.device<timer_device>("timer0");
- state->m_timer[1] = machine.device<timer_device>("timer1");
+ m_timer[0] = machine().device<timer_device>("timer0");
+ m_timer[1] = machine().device<timer_device>("timer1");
- machine.device("ide")->reset();
+ machine().device("ide")->reset();
}
@@ -1019,8 +1016,6 @@ static MACHINE_CONFIG_START( midvcommon, midvunit_state )
MCFG_CPU_ADD("maincpu", TMS32031, CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(midvunit_map)
- MCFG_MACHINE_START(midvunit)
- MCFG_MACHINE_RESET(midvunit)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TIMER_ADD("timer0", NULL)
@@ -1033,7 +1028,6 @@ static MACHINE_CONFIG_START( midvcommon, midvunit_state )
MCFG_SCREEN_RAW_PARAMS(MIDVUNIT_VIDEO_CLOCK/2, 666, 0, 512, 432, 0, 400)
MCFG_SCREEN_UPDATE_STATIC(midvunit)
- MCFG_VIDEO_START(midvunit)
MACHINE_CONFIG_END
@@ -1057,7 +1051,7 @@ static MACHINE_CONFIG_DERIVED( midvplus, midvcommon )
MCFG_TMS3203X_CONFIG(midvplus_config)
MCFG_CPU_PROGRAM_MAP(midvplus_map)
- MCFG_MACHINE_RESET(midvplus)
+ MCFG_MACHINE_RESET_OVERRIDE(midvunit_state,midvplus)
MCFG_DEVICE_REMOVE("nvram")
MCFG_NVRAM_HANDLER(midway_serial_pic2)
diff --git a/src/mame/drivers/midwunit.c b/src/mame/drivers/midwunit.c
index 08c8152db52..43c42ceeda8 100644
--- a/src/mame/drivers/midwunit.c
+++ b/src/mame/drivers/midwunit.c
@@ -640,7 +640,7 @@ static MACHINE_CONFIG_START( wunit, midwunit_state )
MCFG_CPU_CONFIG(tms_config)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_RESET(midwunit)
+ MCFG_MACHINE_RESET_OVERRIDE(midwunit_state,midwunit)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -650,7 +650,7 @@ static MACHINE_CONFIG_START( wunit, midwunit_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 505, 0, 399, 289, 0, 253)
MCFG_SCREEN_UPDATE_STATIC(tms340x0_ind16)
- MCFG_VIDEO_START(midwunit)
+ MCFG_VIDEO_START_OVERRIDE(midwunit_state,midwunit)
/* sound hardware */
MCFG_FRAGMENT_ADD(dcs_audio_8k)
diff --git a/src/mame/drivers/midxunit.c b/src/mame/drivers/midxunit.c
index 08c223dc7bb..29541dea52c 100644
--- a/src/mame/drivers/midxunit.c
+++ b/src/mame/drivers/midxunit.c
@@ -265,7 +265,7 @@ static MACHINE_CONFIG_START( midxunit, midxunit_state )
MCFG_CPU_CONFIG(tms_config)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_RESET(midxunit)
+ MCFG_MACHINE_RESET_OVERRIDE(midxunit_state,midxunit)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -274,7 +274,7 @@ static MACHINE_CONFIG_START( midxunit, midxunit_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 505, 0, 399, 289, 0, 253)
MCFG_SCREEN_UPDATE_STATIC(tms340x0_ind16)
- MCFG_VIDEO_START(midxunit)
+ MCFG_VIDEO_START_OVERRIDE(midxunit_state,midxunit)
/* sound hardware */
MCFG_FRAGMENT_ADD(dcs_audio_2k_uart)
diff --git a/src/mame/drivers/midyunit.c b/src/mame/drivers/midyunit.c
index ce28859108f..ab7776ea760 100644
--- a/src/mame/drivers/midyunit.c
+++ b/src/mame/drivers/midyunit.c
@@ -1010,7 +1010,7 @@ static MACHINE_CONFIG_START( zunit, midyunit_state )
MCFG_CPU_CONFIG(zunit_tms_config)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_RESET(midyunit)
+ MCFG_MACHINE_RESET_OVERRIDE(midyunit_state,midyunit)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -1021,7 +1021,7 @@ static MACHINE_CONFIG_START( zunit, midyunit_state )
MCFG_SCREEN_RAW_PARAMS(MEDRES_PIXEL_CLOCK*2, 673, 0, 511, 433, 0, 399)
MCFG_SCREEN_UPDATE_STATIC(tms340x0_ind16)
- MCFG_VIDEO_START(midzunit)
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midzunit)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1045,7 +1045,7 @@ static MACHINE_CONFIG_START( yunit_core, midyunit_state )
MCFG_CPU_CONFIG(yunit_tms_config)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_RESET(midyunit)
+ MCFG_MACHINE_RESET_OVERRIDE(midyunit_state,midyunit)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -1069,7 +1069,7 @@ static MACHINE_CONFIG_DERIVED( yunit_cvsd_4bit_slow, yunit_core )
/* video hardware */
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(midyunit_4bit)
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_4bit)
MACHINE_CONFIG_END
@@ -1084,7 +1084,7 @@ static MACHINE_CONFIG_DERIVED( yunit_cvsd_4bit_fast, yunit_core )
/* video hardware */
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(midyunit_4bit)
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_4bit)
MACHINE_CONFIG_END
@@ -1096,7 +1096,7 @@ static MACHINE_CONFIG_DERIVED( yunit_cvsd_6bit_slow, yunit_core )
/* video hardware */
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(midyunit_6bit)
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_6bit)
MACHINE_CONFIG_END
@@ -1111,7 +1111,7 @@ static MACHINE_CONFIG_DERIVED( yunit_adpcm_6bit_fast, yunit_core )
/* video hardware */
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(midyunit_6bit)
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_6bit)
MACHINE_CONFIG_END
@@ -1126,7 +1126,7 @@ static MACHINE_CONFIG_DERIVED( yunit_adpcm_6bit_faster, yunit_core )
/* video hardware */
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(midyunit_6bit)
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_6bit)
MACHINE_CONFIG_END
@@ -1139,7 +1139,7 @@ static MACHINE_CONFIG_DERIVED( mkyawdim, yunit_core )
/* video hardware */
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(mkyawdim)
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,mkyawdim)
/* sound hardware */
MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
diff --git a/src/mame/drivers/midzeus.c b/src/mame/drivers/midzeus.c
index 7a2367b96d2..b8e313373e3 100644
--- a/src/mame/drivers/midzeus.c
+++ b/src/mame/drivers/midzeus.c
@@ -71,30 +71,29 @@ static TIMER_CALLBACK( invasn_gun_callback );
*
*************************************/
-static MACHINE_START( midzeus )
+MACHINE_START_MEMBER(midzeus_state,midzeus)
{
- timer[0] = machine.scheduler().timer_alloc(FUNC_NULL);
- timer[1] = machine.scheduler().timer_alloc(FUNC_NULL);
-
- gun_timer[0] = machine.scheduler().timer_alloc(FUNC(invasn_gun_callback));
- gun_timer[1] = machine.scheduler().timer_alloc(FUNC(invasn_gun_callback));
-
- state_save_register_global(machine, gun_control);
- state_save_register_global(machine, gun_irq_state);
- state_save_register_global_array(machine, gun_x);
- state_save_register_global_array(machine, gun_y);
- state_save_register_global(machine, crusnexo_leds_select);
- state_save_register_global(machine, keypad_select);
+ timer[0] = machine().scheduler().timer_alloc(FUNC_NULL);
+ timer[1] = machine().scheduler().timer_alloc(FUNC_NULL);
+
+ gun_timer[0] = machine().scheduler().timer_alloc(FUNC(invasn_gun_callback));
+ gun_timer[1] = machine().scheduler().timer_alloc(FUNC(invasn_gun_callback));
+
+ state_save_register_global(machine(), gun_control);
+ state_save_register_global(machine(), gun_irq_state);
+ state_save_register_global_array(machine(), gun_x);
+ state_save_register_global_array(machine(), gun_y);
+ state_save_register_global(machine(), crusnexo_leds_select);
+ state_save_register_global(machine(), keypad_select);
}
-static MACHINE_RESET( midzeus )
+MACHINE_RESET_MEMBER(midzeus_state,midzeus)
{
- midzeus_state *state = machine.driver_data<midzeus_state>();
- memcpy(state->m_ram_base, machine.root_device().memregion("user1")->base(), 0x40000*4);
- *state->m_ram_base <<= 1;
- machine.device("maincpu")->reset();
+ memcpy(m_ram_base, machine().root_device().memregion("user1")->base(), 0x40000*4);
+ *m_ram_base <<= 1;
+ machine().device("maincpu")->reset();
cmos_protected = TRUE;
}
@@ -1094,8 +1093,8 @@ static MACHINE_CONFIG_START( midzeus, midzeus_state )
MCFG_CPU_PROGRAM_MAP(zeus_map)
MCFG_CPU_VBLANK_INT("screen", display_irq)
- MCFG_MACHINE_START(midzeus)
- MCFG_MACHINE_RESET(midzeus)
+ MCFG_MACHINE_START_OVERRIDE(midzeus_state,midzeus)
+ MCFG_MACHINE_RESET_OVERRIDE(midzeus_state,midzeus)
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
@@ -1105,7 +1104,7 @@ static MACHINE_CONFIG_START( midzeus, midzeus_state )
MCFG_SCREEN_RAW_PARAMS(MIDZEUS_VIDEO_CLOCK/8, 529, 0, 400, 278, 0, 256)
MCFG_SCREEN_UPDATE_STATIC(midzeus)
- MCFG_VIDEO_START(midzeus)
+ MCFG_VIDEO_START_OVERRIDE(midzeus_state,midzeus)
/* sound hardware */
MCFG_FRAGMENT_ADD(dcs2_audio_2104)
@@ -1134,8 +1133,8 @@ static MACHINE_CONFIG_START( midzeus2, midzeus_state )
MCFG_CPU_PROGRAM_MAP(zeus2_map)
MCFG_CPU_VBLANK_INT("screen", display_irq)
- MCFG_MACHINE_START(midzeus)
- MCFG_MACHINE_RESET(midzeus)
+ MCFG_MACHINE_START_OVERRIDE(midzeus_state,midzeus)
+ MCFG_MACHINE_RESET_OVERRIDE(midzeus_state,midzeus)
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
@@ -1143,7 +1142,7 @@ static MACHINE_CONFIG_START( midzeus2, midzeus_state )
MCFG_SCREEN_RAW_PARAMS(MIDZEUS_VIDEO_CLOCK/4, 666, 0, 512, 438, 0, 400)
MCFG_SCREEN_UPDATE_STATIC(midzeus2)
- MCFG_VIDEO_START(midzeus2)
+ MCFG_VIDEO_START_OVERRIDE(midzeus_state,midzeus2)
/* sound hardware */
MCFG_FRAGMENT_ADD(dcs2_audio_2104)
diff --git a/src/mame/drivers/mikie.c b/src/mame/drivers/mikie.c
index 26fb11916d2..c9edb96eace 100644
--- a/src/mame/drivers/mikie.c
+++ b/src/mame/drivers/mikie.c
@@ -247,23 +247,21 @@ static const sn76496_config psg_intf =
*
*************************************/
-static MACHINE_START( mikie )
+void mikie_state::machine_start()
{
- mikie_state *state = machine.driver_data<mikie_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_palettebank));
- state->save_item(NAME(state->m_last_irq));
+ save_item(NAME(m_palettebank));
+ save_item(NAME(m_last_irq));
}
-static MACHINE_RESET( mikie )
+void mikie_state::machine_reset()
{
- mikie_state *state = machine.driver_data<mikie_state>();
- state->m_palettebank = 0;
- state->m_last_irq = 0;
+ m_palettebank = 0;
+ m_last_irq = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -284,8 +282,6 @@ static MACHINE_CONFIG_START( mikie, mikie_state )
MCFG_CPU_ADD("audiocpu", Z80, CLK)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(mikie)
- MCFG_MACHINE_RESET(mikie)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -298,8 +294,6 @@ static MACHINE_CONFIG_START( mikie, mikie_state )
MCFG_GFXDECODE(mikie)
MCFG_PALETTE_LENGTH(16*8*16+16*8*16)
- MCFG_PALETTE_INIT(mikie)
- MCFG_VIDEO_START(mikie)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mil4000.c b/src/mame/drivers/mil4000.c
index 2441c8be4ae..2375b3c663c 100644
--- a/src/mame/drivers/mil4000.c
+++ b/src/mame/drivers/mil4000.c
@@ -121,6 +121,7 @@ public:
TILE_GET_INFO_MEMBER(get_sc1_tile_info);
TILE_GET_INFO_MEMBER(get_sc2_tile_info);
TILE_GET_INFO_MEMBER(get_sc3_tile_info);
+ virtual void video_start();
};
@@ -176,17 +177,16 @@ TILE_GET_INFO_MEMBER(mil4000_state::get_sc3_tile_info)
0);
}
-static VIDEO_START(mil4000)
+void mil4000_state::video_start()
{
- mil4000_state *state = machine.driver_data<mil4000_state>();
- state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_sc1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_sc2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_sc3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc3_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
-
- state->m_sc1_tilemap->set_transparent_pen(0);
- state->m_sc2_tilemap->set_transparent_pen(0);
- state->m_sc3_tilemap->set_transparent_pen(0);
+ m_sc0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc0_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_sc1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc1_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_sc2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc2_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_sc3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc3_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+
+ m_sc1_tilemap->set_transparent_pen(0);
+ m_sc2_tilemap->set_transparent_pen(0);
+ m_sc3_tilemap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16(mil4000)
@@ -387,7 +387,6 @@ static MACHINE_CONFIG_START( mil4000, mil4000_state )
MCFG_PALETTE_INIT(all_black)
MCFG_GFXDECODE(mil4000)
- MCFG_VIDEO_START(mil4000)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) // frequency from 1000 kHz resonator. pin 7 high not verified.
diff --git a/src/mame/drivers/miniboy7.c b/src/mame/drivers/miniboy7.c
index b3d3ae76d4c..69baa64b9e8 100644
--- a/src/mame/drivers/miniboy7.c
+++ b/src/mame/drivers/miniboy7.c
@@ -166,6 +166,8 @@ public:
DECLARE_WRITE8_MEMBER(miniboy7_videoram_w);
DECLARE_WRITE8_MEMBER(miniboy7_colorram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -204,10 +206,9 @@ TILE_GET_INFO_MEMBER(miniboy7_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-static VIDEO_START( miniboy7 )
+void miniboy7_state::video_start()
{
- miniboy7_state *state = machine.driver_data<miniboy7_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(miniboy7_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 37, 37);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(miniboy7_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 37, 37);
}
static SCREEN_UPDATE_IND16( miniboy7 )
@@ -217,9 +218,9 @@ static SCREEN_UPDATE_IND16( miniboy7 )
return 0;
}
-static PALETTE_INIT( miniboy7 )
+void miniboy7_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* FIXME... Can't get the correct palette.
sometimes RGB bits are inverted, disregarding the 4th bit.
@@ -236,7 +237,7 @@ static PALETTE_INIT( miniboy7 )
/* 0000IBGR */
if (color_prom == 0) return;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0, bit1, bit2, r, g, b, inten, intenmin, intenmax;
@@ -260,7 +261,7 @@ static PALETTE_INIT( miniboy7 )
b = (bit2 * intenmin) + (inten * (bit2 * (intenmax - intenmin)));
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -465,9 +466,7 @@ static MACHINE_CONFIG_START( miniboy7, miniboy7_state )
MCFG_GFXDECODE(miniboy7)
- MCFG_PALETTE_INIT(miniboy7)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(miniboy7)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/12, mc6845_intf) /* guess */
diff --git a/src/mame/drivers/mirage.c b/src/mame/drivers/mirage.c
index aeace91e23d..0b6661765ca 100644
--- a/src/mame/drivers/mirage.c
+++ b/src/mame/drivers/mirage.c
@@ -74,11 +74,14 @@ public:
DECLARE_WRITE16_MEMBER(okim1_rombank_w);
DECLARE_WRITE16_MEMBER(okim0_rombank_w);
DECLARE_DRIVER_INIT(mirage);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( mirage )
+void miragemi_state::video_start()
{
- machine.device<decospr_device>("spritegen")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen")->alloc_sprite_bitmap();
}
static SCREEN_UPDATE_RGB32( mirage )
@@ -299,18 +302,16 @@ static const deco16ic_interface mirage_deco16ic_tilegen1_intf =
};
-static MACHINE_START( mirage )
+void miragemi_state::machine_start()
{
- miragemi_state *state = machine.driver_data<miragemi_state>();
- state->save_item(NAME(state->m_mux_data));
+ save_item(NAME(m_mux_data));
}
-static MACHINE_RESET( mirage )
+void miragemi_state::machine_reset()
{
- miragemi_state *state = machine.driver_data<miragemi_state>();
- state->m_mux_data = 0;
+ m_mux_data = 0;
}
static MACHINE_CONFIG_START( mirage, miragemi_state )
@@ -320,8 +321,6 @@ static MACHINE_CONFIG_START( mirage, miragemi_state )
MCFG_CPU_PROGRAM_MAP(mirage_map)
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
- MCFG_MACHINE_START(mirage)
- MCFG_MACHINE_RESET(mirage)
/* video hardware */
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -334,7 +333,6 @@ static MACHINE_CONFIG_START( mirage, miragemi_state )
MCFG_SCREEN_UPDATE_STATIC(mirage)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_VIDEO_START(mirage)
MCFG_GFXDECODE(mirage)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/mirax.c b/src/mame/drivers/mirax.c
index 1359b2e4d98..561f3136d5e 100644
--- a/src/mame/drivers/mirax.c
+++ b/src/mame/drivers/mirax.c
@@ -128,15 +128,16 @@ public:
DECLARE_WRITE8_MEMBER(ay1_sel);
DECLARE_WRITE8_MEMBER(ay2_sel);
DECLARE_DRIVER_INIT(mirax);
+ virtual void palette_init();
};
-static PALETTE_INIT( mirax )
+void mirax_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -155,7 +156,7 @@ static PALETTE_INIT( mirax )
bit1 = (color_prom[i] >> 7) & 0x01;
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -467,7 +468,6 @@ static MACHINE_CONFIG_START( mirax, mirax_state )
MCFG_SCREEN_UPDATE_STATIC(mirax)
MCFG_PALETTE_LENGTH(0x40)
- MCFG_PALETTE_INIT(mirax)
MCFG_GFXDECODE(mirax)
MCFG_SOUND_START(mirax)
diff --git a/src/mame/drivers/missb2.c b/src/mame/drivers/missb2.c
index df1852a9542..be1fb526fc6 100644
--- a/src/mame/drivers/missb2.c
+++ b/src/mame/drivers/missb2.c
@@ -36,6 +36,8 @@ public:
DECLARE_WRITE8_MEMBER(missb2_bg_bank_w);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
DECLARE_DRIVER_INIT(missb2);
+ DECLARE_MACHINE_START(missb2);
+ DECLARE_MACHINE_RESET(missb2);
};
@@ -433,28 +435,26 @@ static INTERRUPT_GEN( missb2_interrupt )
/* Machine Driver */
-static MACHINE_START( missb2 )
+MACHINE_START_MEMBER(missb2_state,missb2)
{
- missb2_state *state = machine.driver_data<missb2_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_slave = machine.device("slave");
- state->m_mcu = NULL;
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_slave = machine().device("slave");
+ m_mcu = NULL;
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_sound_status));
- state->save_item(NAME(state->m_video_enable));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_sound_status));
+ save_item(NAME(m_video_enable));
}
-static MACHINE_RESET( missb2 )
+MACHINE_RESET_MEMBER(missb2_state,missb2)
{
- missb2_state *state = machine.driver_data<missb2_state>();
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_sound_status = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_sound_status = 0;
}
static MACHINE_CONFIG_START( missb2, missb2_state )
@@ -475,8 +475,8 @@ static MACHINE_CONFIG_START( missb2, missb2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
- MCFG_MACHINE_START(missb2)
- MCFG_MACHINE_RESET(missb2)
+ MCFG_MACHINE_START_OVERRIDE(missb2_state,missb2)
+ MCFG_MACHINE_RESET_OVERRIDE(missb2_state,missb2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/missile.c b/src/mame/drivers/missile.c
index 3d12001a3d1..f712e5b5850 100644
--- a/src/mame/drivers/missile.c
+++ b/src/mame/drivers/missile.c
@@ -379,6 +379,8 @@ public:
DECLARE_DIRECT_UPDATE_MEMBER(missile_direct_handler);
DECLARE_DRIVER_INIT(missilem);
DECLARE_DRIVER_INIT(suprmatk);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -507,41 +509,39 @@ DIRECT_UPDATE_MEMBER(missile_state::missile_direct_handler)
}
-static MACHINE_START( missile )
+void missile_state::machine_start()
{
- missile_state *state = machine.driver_data<missile_state>();
/* initialize globals */
- state->m_writeprom = state->memregion("proms")->base();
- state->m_flipscreen = 0;
+ m_writeprom = memregion("proms")->base();
+ m_flipscreen = 0;
/* set up an opcode base handler since we use mapped handlers for RAM */
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
- space->set_direct_update_handler(direct_update_delegate(FUNC(missile_state::missile_direct_handler), state));
+ address_space *space = m_maincpu->space(AS_PROGRAM);
+ space->set_direct_update_handler(direct_update_delegate(FUNC(missile_state::missile_direct_handler), this));
/* create a timer to speed/slow the CPU */
- state->m_cpu_timer = machine.scheduler().timer_alloc(FUNC(adjust_cpu_speed));
- state->m_cpu_timer->adjust(machine.primary_screen->time_until_pos(v_to_scanline(state, 0), 0));
+ m_cpu_timer = machine().scheduler().timer_alloc(FUNC(adjust_cpu_speed));
+ m_cpu_timer->adjust(machine().primary_screen->time_until_pos(v_to_scanline(this, 0), 0));
/* create a timer for IRQs and set up the first callback */
- state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(clock_irq));
- state->m_irq_state = 0;
- schedule_next_irq(machine, -32);
+ m_irq_timer = machine().scheduler().timer_alloc(FUNC(clock_irq));
+ m_irq_state = 0;
+ schedule_next_irq(machine(), -32);
/* setup for save states */
- state->save_item(NAME(state->m_irq_state));
- state->save_item(NAME(state->m_ctrld));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_madsel_delay));
- state->save_item(NAME(state->m_madsel_lastpc));
+ save_item(NAME(m_irq_state));
+ save_item(NAME(m_ctrld));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_madsel_delay));
+ save_item(NAME(m_madsel_lastpc));
}
-static MACHINE_RESET( missile )
+void missile_state::machine_reset()
{
- missile_state *state = machine.driver_data<missile_state>();
- state->m_maincpu->set_input_line(0, CLEAR_LINE);
- state->m_irq_state = 0;
+ m_maincpu->set_input_line(0, CLEAR_LINE);
+ m_irq_state = 0;
}
@@ -1037,8 +1037,6 @@ static MACHINE_CONFIG_START( missile, missile_state )
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(missile)
- MCFG_MACHINE_RESET(missile)
MCFG_WATCHDOG_VBLANK_INIT(8)
/* video hardware */
diff --git a/src/mame/drivers/mitchell.c b/src/mame/drivers/mitchell.c
index d9ff986d0b1..01197e078a6 100644
--- a/src/mame/drivers/mitchell.c
+++ b/src/mame/drivers/mitchell.c
@@ -1070,32 +1070,30 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( mitchell )
+MACHINE_START_MEMBER(mitchell_state,mitchell)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->save_item(NAME(state->m_sample_buffer));
- state->save_item(NAME(state->m_sample_select));
- state->save_item(NAME(state->m_dial_selected));
- state->save_item(NAME(state->m_keymatrix));
- state->save_item(NAME(state->m_dir));
- state->save_item(NAME(state->m_dial));
- state->save_item(NAME(state->m_irq_source));
-// state_save_register_global(machine, init_eeprom_count);
+ save_item(NAME(m_sample_buffer));
+ save_item(NAME(m_sample_select));
+ save_item(NAME(m_dial_selected));
+ save_item(NAME(m_keymatrix));
+ save_item(NAME(m_dir));
+ save_item(NAME(m_dial));
+ save_item(NAME(m_irq_source));
+// state_save_register_global(machine(), init_eeprom_count);
}
-static MACHINE_RESET( mitchell )
+MACHINE_RESET_MEMBER(mitchell_state,mitchell)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_sample_buffer = 0;
- state->m_sample_select = 0;
- state->m_dial_selected = 0;
- state->m_dial[0] = 0;
- state->m_dial[1] = 0;
- state->m_dir[0] = 0;
- state->m_dir[1] = 0;
- state->m_keymatrix = 0;
+ m_sample_buffer = 0;
+ m_sample_select = 0;
+ m_dial_selected = 0;
+ m_dial[0] = 0;
+ m_dial[1] = 0;
+ m_dir[0] = 0;
+ m_dir[1] = 0;
+ m_keymatrix = 0;
}
static TIMER_DEVICE_CALLBACK( mitchell_irq )
@@ -1119,8 +1117,8 @@ static MACHINE_CONFIG_START( mgakuen, mitchell_state )
MCFG_CPU_IO_MAP(mitchell_io_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", mitchell_irq, "screen", 0, 1) /* ??? one extra irq seems to be needed for music (see input5_r) */
- MCFG_MACHINE_START(mitchell)
- MCFG_MACHINE_RESET(mitchell)
+ MCFG_MACHINE_START_OVERRIDE(mitchell_state,mitchell)
+ MCFG_MACHINE_RESET_OVERRIDE(mitchell_state,mitchell)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -1135,7 +1133,7 @@ static MACHINE_CONFIG_START( mgakuen, mitchell_state )
MCFG_GFXDECODE(mgakuen)
MCFG_PALETTE_LENGTH(1024) /* less colors than the others */
- MCFG_VIDEO_START(pang)
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1156,8 +1154,8 @@ static MACHINE_CONFIG_START( pang, mitchell_state )
MCFG_CPU_IO_MAP(mitchell_io_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", mitchell_irq, "screen", 0, 1) /* ??? one extra irq seems to be needed for music (see input5_r) */
- MCFG_MACHINE_START(mitchell)
- MCFG_MACHINE_RESET(mitchell)
+ MCFG_MACHINE_START_OVERRIDE(mitchell_state,mitchell)
+ MCFG_MACHINE_RESET_OVERRIDE(mitchell_state,mitchell)
MCFG_NVRAM_HANDLER(mitchell)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -1172,7 +1170,7 @@ static MACHINE_CONFIG_START( pang, mitchell_state )
MCFG_GFXDECODE(mitchell)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(pang)
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
MCFG_SCREEN_UPDATE_STATIC(pang)
/* sound hardware */
@@ -1259,8 +1257,8 @@ static MACHINE_CONFIG_START( mstworld, mitchell_state )
MCFG_CPU_ADD("audiocpu", Z80,6000000) /* 6 MHz? */
MCFG_CPU_PROGRAM_MAP(mstworld_sound_map)
- MCFG_MACHINE_START(mitchell)
- MCFG_MACHINE_RESET(mitchell)
+ MCFG_MACHINE_START_OVERRIDE(mitchell_state,mitchell)
+ MCFG_MACHINE_RESET_OVERRIDE(mitchell_state,mitchell)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1272,7 +1270,7 @@ static MACHINE_CONFIG_START( mstworld, mitchell_state )
MCFG_GFXDECODE(mstworld)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(pang)
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
MCFG_SCREEN_UPDATE_STATIC(pang)
/* sound hardware */
@@ -1304,7 +1302,7 @@ static MACHINE_CONFIG_START( marukin, mitchell_state )
MCFG_GFXDECODE(marukin)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(pang)
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
MCFG_SCREEN_UPDATE_STATIC(pang)
/* sound hardware */
@@ -1356,7 +1354,7 @@ static MACHINE_CONFIG_START( pkladiesbl, mitchell_state )
MCFG_GFXDECODE(pkladiesbl)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(pang)
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
MCFG_SCREEN_UPDATE_STATIC(pang)
/* sound hardware */
diff --git a/src/mame/drivers/mjkjidai.c b/src/mame/drivers/mjkjidai.c
index 411a67137f9..75b3105d7ac 100644
--- a/src/mame/drivers/mjkjidai.c
+++ b/src/mame/drivers/mjkjidai.c
@@ -463,7 +463,6 @@ static MACHINE_CONFIG_START( mjkjidai, mjkjidai_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(mjkjidai)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mjsister.c b/src/mame/drivers/mjsister.c
index 798cc4aa65f..d5c4a25fe11 100644
--- a/src/mame/drivers/mjsister.c
+++ b/src/mame/drivers/mjsister.c
@@ -57,6 +57,9 @@ public:
DECLARE_WRITE8_MEMBER(mjsister_input_sel1_w);
DECLARE_WRITE8_MEMBER(mjsister_input_sel2_w);
DECLARE_READ8_MEMBER(mjsister_keys_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -66,14 +69,13 @@ public:
*
*************************************/
-static VIDEO_START( mjsister )
+void mjsister_state::video_start()
{
- mjsister_state *state = machine.driver_data<mjsister_state>();
- state->m_tmpbitmap0 = auto_bitmap_ind16_alloc(machine, 256, 256);
- state->m_tmpbitmap1 = auto_bitmap_ind16_alloc(machine, 256, 256);
+ m_tmpbitmap0 = auto_bitmap_ind16_alloc(machine(), 256, 256);
+ m_tmpbitmap1 = auto_bitmap_ind16_alloc(machine(), 256, 256);
- state->save_item(NAME(state->m_videoram0));
- state->save_item(NAME(state->m_videoram1));
+ save_item(NAME(m_videoram0));
+ save_item(NAME(m_videoram1));
}
static void mjsister_plot0( running_machine &machine, int offset, UINT8 data )
@@ -446,50 +448,48 @@ static void mjsister_redraw(mjsister_state *state)
state->m_screen_redraw = 1;
}
-static MACHINE_START( mjsister )
+void mjsister_state::machine_start()
{
- mjsister_state *state = machine.driver_data<mjsister_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
-
- state->membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x8000);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_dac = machine.device<dac_device>("dac");
-
- state->save_item(NAME(state->m_dac_busy));
- state->save_item(NAME(state->m_flip_screen));
- state->save_item(NAME(state->m_video_enable));
- state->save_item(NAME(state->m_vrambank));
- state->save_item(NAME(state->m_colorbank));
- state->save_item(NAME(state->m_input_sel1));
- state->save_item(NAME(state->m_input_sel2));
- state->save_item(NAME(state->m_rombank0));
- state->save_item(NAME(state->m_rombank1));
- state->save_item(NAME(state->m_dac_adr));
- state->save_item(NAME(state->m_dac_bank));
- state->save_item(NAME(state->m_dac_adr_s));
- state->save_item(NAME(state->m_dac_adr_e));
- machine.save().register_postload(save_prepost_delegate(FUNC(mjsister_redraw), state));
+ UINT8 *ROM = memregion("maincpu")->base();
+
+ membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x8000);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_dac = machine().device<dac_device>("dac");
+
+ save_item(NAME(m_dac_busy));
+ save_item(NAME(m_flip_screen));
+ save_item(NAME(m_video_enable));
+ save_item(NAME(m_vrambank));
+ save_item(NAME(m_colorbank));
+ save_item(NAME(m_input_sel1));
+ save_item(NAME(m_input_sel2));
+ save_item(NAME(m_rombank0));
+ save_item(NAME(m_rombank1));
+ save_item(NAME(m_dac_adr));
+ save_item(NAME(m_dac_bank));
+ save_item(NAME(m_dac_adr_s));
+ save_item(NAME(m_dac_adr_e));
+ machine().save().register_postload(save_prepost_delegate(FUNC(mjsister_redraw), this));
}
-static MACHINE_RESET( mjsister )
+void mjsister_state::machine_reset()
{
- mjsister_state *state = machine.driver_data<mjsister_state>();
- state->m_dac_busy = 0;
- state->m_flip_screen = 0;
- state->m_video_enable = 0;
- state->m_screen_redraw = 0;
- state->m_vrambank = 0;
- state->m_colorbank = 0;
- state->m_input_sel1 = 0;
- state->m_input_sel2 = 0;
- state->m_rombank0 = 0;
- state->m_rombank1 = 0;
- state->m_dac_adr = 0;
- state->m_dac_bank = 0;
- state->m_dac_adr_s = 0;
- state->m_dac_adr_e = 0;
+ m_dac_busy = 0;
+ m_flip_screen = 0;
+ m_video_enable = 0;
+ m_screen_redraw = 0;
+ m_vrambank = 0;
+ m_colorbank = 0;
+ m_input_sel1 = 0;
+ m_input_sel2 = 0;
+ m_rombank0 = 0;
+ m_rombank1 = 0;
+ m_dac_adr = 0;
+ m_dac_bank = 0;
+ m_dac_adr_s = 0;
+ m_dac_adr_e = 0;
}
@@ -501,8 +501,6 @@ static MACHINE_CONFIG_START( mjsister, mjsister_state )
MCFG_CPU_IO_MAP(mjsister_io_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60)
- MCFG_MACHINE_START(mjsister)
- MCFG_MACHINE_RESET(mjsister)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -515,7 +513,6 @@ static MACHINE_CONFIG_START( mjsister, mjsister_state )
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(mjsister)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c
index fa0a800a14a..86cdffa53bb 100644
--- a/src/mame/drivers/mlanding.c
+++ b/src/mame/drivers/mlanding.c
@@ -75,11 +75,13 @@ public:
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_WRITE8_MEMBER(ml_msm_start_lsb_w);
DECLARE_DRIVER_INIT(mlanding);
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START(mlanding)
+void mlanding_state::video_start()
{
}
@@ -750,16 +752,15 @@ static const tc0140syt_interface mlanding_tc0140syt_intf =
"maincpu", "audiocpu"
};
-static MACHINE_RESET( mlanding )
+void mlanding_state::machine_reset()
{
- mlanding_state *state = machine.driver_data<mlanding_state>();
- machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_adpcm_pos = 0;
- state->m_adpcm_data = -1;
- state->m_adpcm_idle = 1;
- state->m_dsp_HOLD_signal = 0;
+ machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_adpcm_pos = 0;
+ m_adpcm_data = -1;
+ m_adpcm_idle = 1;
+ m_dsp_HOLD_signal = 0;
}
static MACHINE_CONFIG_START( mlanding, mlanding_state )
@@ -797,9 +798,7 @@ static MACHINE_CONFIG_START( mlanding, mlanding_state )
MCFG_PALETTE_LENGTH(512*16)
- MCFG_VIDEO_START(mlanding)
- MCFG_MACHINE_RESET(mlanding)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/model1.c b/src/mame/drivers/model1.c
index 8533aab6497..a7421e1b2b5 100644
--- a/src/mame/drivers/model1.c
+++ b/src/mame/drivers/model1.c
@@ -746,37 +746,35 @@ static TIMER_DEVICE_CALLBACK( model1_interrupt )
}
}
-static MACHINE_RESET(model1)
+MACHINE_RESET_MEMBER(model1_state,model1)
{
- model1_state *state = machine.driver_data<model1_state>();
- state->membank("bank1")->set_base(state->memregion("maincpu")->base() + 0x1000000);
- irq_init(machine);
- model1_tgp_reset(machine, !strcmp(machine.system().name, "swa") || !strcmp(machine.system().name, "wingwar") || !strcmp(machine.system().name, "wingwaru") || !strcmp(machine.system().name, "wingwarj"));
- if (!strcmp(machine.system().name, "swa"))
+ membank("bank1")->set_base(memregion("maincpu")->base() + 0x1000000);
+ irq_init(machine());
+ model1_tgp_reset(machine(), !strcmp(machine().system().name, "swa") || !strcmp(machine().system().name, "wingwar") || !strcmp(machine().system().name, "wingwaru") || !strcmp(machine().system().name, "wingwarj"));
+ if (!strcmp(machine().system().name, "swa"))
{
- state->m_sound_irq = 0;
+ m_sound_irq = 0;
}
else
{
- state->m_sound_irq = 3;
+ m_sound_irq = 3;
}
// init the sound FIFO
- state->m_fifo_rptr = state->m_fifo_wptr = 0;
- memset(state->m_to_68k, 0, sizeof(state->m_to_68k));
+ m_fifo_rptr = m_fifo_wptr = 0;
+ memset(m_to_68k, 0, sizeof(m_to_68k));
}
-static MACHINE_RESET(model1_vr)
+MACHINE_RESET_MEMBER(model1_state,model1_vr)
{
- model1_state *state = machine.driver_data<model1_state>();
- state->membank("bank1")->set_base(state->memregion("maincpu")->base() + 0x1000000);
- irq_init(machine);
- model1_vr_tgp_reset(machine);
- state->m_sound_irq = 3;
+ membank("bank1")->set_base(memregion("maincpu")->base() + 0x1000000);
+ irq_init(machine());
+ model1_vr_tgp_reset(machine());
+ m_sound_irq = 3;
// init the sound FIFO
- state->m_fifo_rptr = state->m_fifo_wptr = 0;
- memset(state->m_to_68k, 0, sizeof(state->m_to_68k));
+ m_fifo_rptr = m_fifo_wptr = 0;
+ memset(m_to_68k, 0, sizeof(m_to_68k));
}
READ16_MEMBER(model1_state::network_ctl_r)
@@ -1527,8 +1525,8 @@ static MACHINE_CONFIG_START( model1, model1_state )
MCFG_CPU_ADD("audiocpu", M68000, 10000000) // verified on real h/w
MCFG_CPU_PROGRAM_MAP(model1_snd)
- MCFG_MACHINE_START(model1)
- MCFG_MACHINE_RESET(model1)
+ MCFG_MACHINE_START_OVERRIDE(model1_state,model1)
+ MCFG_MACHINE_RESET_OVERRIDE(model1_state,model1)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_S24TILE_DEVICE_ADD("tile", 0x3fff)
@@ -1542,7 +1540,7 @@ static MACHINE_CONFIG_START( model1, model1_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(model1)
+ MCFG_VIDEO_START_OVERRIDE(model1_state,model1)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1576,8 +1574,8 @@ static MACHINE_CONFIG_START( model1_vr, model1_state )
MCFG_CPU_CONFIG(model1_vr_tgp_config)
MCFG_CPU_PROGRAM_MAP(model1_vr_tgp_map)
- MCFG_MACHINE_START(model1)
- MCFG_MACHINE_RESET(model1_vr)
+ MCFG_MACHINE_START_OVERRIDE(model1_state,model1)
+ MCFG_MACHINE_RESET_OVERRIDE(model1_state,model1_vr)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_S24TILE_DEVICE_ADD("tile", 0x3fff)
@@ -1591,7 +1589,7 @@ static MACHINE_CONFIG_START( model1_vr, model1_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(model1)
+ MCFG_VIDEO_START_OVERRIDE(model1_state,model1)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c
index 4b60cdc2b52..ae7c4403326 100644
--- a/src/mame/drivers/model2.c
+++ b/src/mame/drivers/model2.c
@@ -306,100 +306,93 @@ static TIMER_DEVICE_CALLBACK( model2_timer_cb )
state->m_timerrun[tnum] = 0;
}
-static MACHINE_START(model2)
+MACHINE_START_MEMBER(model2_state,model2)
{
- model2_state *state = machine.driver_data<model2_state>();
- state->m_copro_fifoin_data = auto_alloc_array_clear(machine, UINT32, COPRO_FIFOIN_SIZE);
- state->m_copro_fifoout_data = auto_alloc_array_clear(machine, UINT32, COPRO_FIFOOUT_SIZE);
+ m_copro_fifoin_data = auto_alloc_array_clear(machine(), UINT32, COPRO_FIFOIN_SIZE);
+ m_copro_fifoout_data = auto_alloc_array_clear(machine(), UINT32, COPRO_FIFOOUT_SIZE);
}
-static MACHINE_RESET(model2_common)
+MACHINE_RESET_MEMBER(model2_state,model2_common)
{
- model2_state *state = machine.driver_data<model2_state>();
int i;
- state->m_intreq = 0;
- state->m_intena = 0;
- state->m_coproctl = 0;
- state->m_coprocnt = 0;
- state->m_geoctl = 0;
- state->m_geocnt = 0;
- state->m_ctrlmode = 0;
- state->m_analog_channel = 0;
-
- state->m_timervals[0] = 0xfffff;
- state->m_timervals[1] = 0xfffff;
- state->m_timervals[2] = 0xfffff;
- state->m_timervals[3] = 0xfffff;
-
- state->m_timerrun[0] = state->m_timerrun[1] = state->m_timerrun[2] = state->m_timerrun[3] = 0;
-
- state->m_timers[0] = machine.device<timer_device>("timer0");
- state->m_timers[1] = machine.device<timer_device>("timer1");
- state->m_timers[2] = machine.device<timer_device>("timer2");
- state->m_timers[3] = machine.device<timer_device>("timer3");
+ m_intreq = 0;
+ m_intena = 0;
+ m_coproctl = 0;
+ m_coprocnt = 0;
+ m_geoctl = 0;
+ m_geocnt = 0;
+ m_ctrlmode = 0;
+ m_analog_channel = 0;
+
+ m_timervals[0] = 0xfffff;
+ m_timervals[1] = 0xfffff;
+ m_timervals[2] = 0xfffff;
+ m_timervals[3] = 0xfffff;
+
+ m_timerrun[0] = m_timerrun[1] = m_timerrun[2] = m_timerrun[3] = 0;
+
+ m_timers[0] = machine().device<timer_device>("timer0");
+ m_timers[1] = machine().device<timer_device>("timer1");
+ m_timers[2] = machine().device<timer_device>("timer2");
+ m_timers[3] = machine().device<timer_device>("timer3");
for (i=0; i<4; i++)
- state->m_timers[i]->reset();
+ m_timers[i]->reset();
}
-static MACHINE_RESET(model2o)
+MACHINE_RESET_MEMBER(model2_state,model2o)
{
- model2_state *state = machine.driver_data<model2_state>();
- MACHINE_RESET_CALL(model2_common);
+ MACHINE_RESET_CALL_MEMBER(model2_common);
// hold TGP in halt until we have code
- machine.device("tgp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("tgp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- state->m_dsp_type = DSP_TYPE_TGP;
+ m_dsp_type = DSP_TYPE_TGP;
}
-static MACHINE_RESET(model2_scsp)
+MACHINE_RESET_MEMBER(model2_state,model2_scsp)
{
- model2_state *state = machine.driver_data<model2_state>();
- state->membank("bank4")->set_base(state->memregion("scsp")->base() + 0x200000);
- state->membank("bank5")->set_base(state->memregion("scsp")->base() + 0x600000);
+ membank("bank4")->set_base(memregion("scsp")->base() + 0x200000);
+ membank("bank5")->set_base(memregion("scsp")->base() + 0x600000);
// copy the 68k vector table into RAM
- memcpy(state->m_soundram, state->memregion("audiocpu")->base() + 0x80000, 16);
- machine.device("audiocpu")->reset();
- scsp_set_ram_base(machine.device("scsp"), state->m_soundram);
+ memcpy(m_soundram, memregion("audiocpu")->base() + 0x80000, 16);
+ machine().device("audiocpu")->reset();
+ scsp_set_ram_base(machine().device("scsp"), m_soundram);
}
-static MACHINE_RESET(model2)
+MACHINE_RESET_MEMBER(model2_state,model2)
{
- model2_state *state = machine.driver_data<model2_state>();
- MACHINE_RESET_CALL(model2_common);
- MACHINE_RESET_CALL(model2_scsp);
+ MACHINE_RESET_CALL_MEMBER(model2_common);
+ MACHINE_RESET_CALL_MEMBER(model2_scsp);
// hold TGP in halt until we have code
- machine.device("tgp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("tgp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- state->m_dsp_type = DSP_TYPE_TGP;
+ m_dsp_type = DSP_TYPE_TGP;
}
-static MACHINE_RESET(model2b)
+MACHINE_RESET_MEMBER(model2_state,model2b)
{
- model2_state *state = machine.driver_data<model2_state>();
- MACHINE_RESET_CALL(model2_common);
- MACHINE_RESET_CALL(model2_scsp);
+ MACHINE_RESET_CALL_MEMBER(model2_common);
+ MACHINE_RESET_CALL_MEMBER(model2_scsp);
- machine.device("dsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
// set FIFOIN empty flag on SHARC
- machine.device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG0, ASSERT_LINE);
+ machine().device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG0, ASSERT_LINE);
// clear FIFOOUT buffer full flag on SHARC
- machine.device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE);
+ machine().device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE);
- state->m_dsp_type = DSP_TYPE_SHARC;
+ m_dsp_type = DSP_TYPE_SHARC;
}
-static MACHINE_RESET(model2c)
+MACHINE_RESET_MEMBER(model2_state,model2c)
{
- model2_state *state = machine.driver_data<model2_state>();
- MACHINE_RESET_CALL(model2_common);
- MACHINE_RESET_CALL(model2_scsp);
+ MACHINE_RESET_CALL_MEMBER(model2_common);
+ MACHINE_RESET_CALL_MEMBER(model2_scsp);
- state->m_dsp_type = DSP_TYPE_TGPX4;
+ m_dsp_type = DSP_TYPE_TGPX4;
}
static void chcolor(running_machine &machine, pen_t color, UINT16 data)
@@ -1983,8 +1976,8 @@ static MACHINE_CONFIG_START( model2o, model2_state )
MCFG_CPU_CONFIG(tgp_config)
MCFG_CPU_PROGRAM_MAP(copro_tgp_map)
- MCFG_MACHINE_START(model2)
- MCFG_MACHINE_RESET(model2o)
+ MCFG_MACHINE_START_OVERRIDE(model2_state,model2)
+ MCFG_MACHINE_RESET_OVERRIDE(model2_state,model2o)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
@@ -2012,7 +2005,7 @@ static MACHINE_CONFIG_START( model2o, model2_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(model2)
+ MCFG_VIDEO_START_OVERRIDE(model2_state,model2)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2042,8 +2035,8 @@ static MACHINE_CONFIG_START( model2a, model2_state )
MCFG_CPU_CONFIG(tgp_config)
MCFG_CPU_PROGRAM_MAP(copro_tgp_map)
- MCFG_MACHINE_START(model2)
- MCFG_MACHINE_RESET(model2)
+ MCFG_MACHINE_START_OVERRIDE(model2_state,model2)
+ MCFG_MACHINE_RESET_OVERRIDE(model2_state,model2)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
@@ -2070,7 +2063,7 @@ static MACHINE_CONFIG_START( model2a, model2_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(model2)
+ MCFG_VIDEO_START_OVERRIDE(model2_state,model2)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2145,8 +2138,8 @@ static MACHINE_CONFIG_START( model2b, model2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(18000))
- MCFG_MACHINE_START(model2)
- MCFG_MACHINE_RESET(model2b)
+ MCFG_MACHINE_START_OVERRIDE(model2_state,model2)
+ MCFG_MACHINE_RESET_OVERRIDE(model2_state,model2b)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
@@ -2173,7 +2166,7 @@ static MACHINE_CONFIG_START( model2b, model2_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(model2)
+ MCFG_VIDEO_START_OVERRIDE(model2_state,model2)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2192,8 +2185,8 @@ static MACHINE_CONFIG_START( model2c, model2_state )
MCFG_CPU_ADD("audiocpu", M68000, 12000000)
MCFG_CPU_PROGRAM_MAP(model2_snd)
- MCFG_MACHINE_START(model2)
- MCFG_MACHINE_RESET(model2c)
+ MCFG_MACHINE_START_OVERRIDE(model2_state,model2)
+ MCFG_MACHINE_RESET_OVERRIDE(model2_state,model2c)
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
@@ -2220,7 +2213,7 @@ static MACHINE_CONFIG_START( model2c, model2_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(model2)
+ MCFG_VIDEO_START_OVERRIDE(model2_state,model2)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c
index 30edbc3e122..e5fd8ef9a61 100644
--- a/src/mame/drivers/model3.c
+++ b/src/mame/drivers/model3.c
@@ -1231,33 +1231,29 @@ static TIMER_CALLBACK(model3_sound_timer_tick)
}
}
-static MACHINE_START(model3_10)
+MACHINE_START_MEMBER(model3_state,model3_10)
{
- configure_fast_ram(machine);
+ configure_fast_ram(machine());
- model3_state *state = machine.driver_data<model3_state>();
- state->m_sound_timer = machine.scheduler().timer_alloc(FUNC(model3_sound_timer_tick));
+ m_sound_timer = machine().scheduler().timer_alloc(FUNC(model3_sound_timer_tick));
}
-static MACHINE_START(model3_15)
+MACHINE_START_MEMBER(model3_state,model3_15)
{
- configure_fast_ram(machine);
+ configure_fast_ram(machine());
- model3_state *state = machine.driver_data<model3_state>();
- state->m_sound_timer = machine.scheduler().timer_alloc(FUNC(model3_sound_timer_tick));
+ m_sound_timer = machine().scheduler().timer_alloc(FUNC(model3_sound_timer_tick));
}
-static MACHINE_START(model3_20)
+MACHINE_START_MEMBER(model3_state,model3_20)
{
- configure_fast_ram(machine);
+ configure_fast_ram(machine());
- model3_state *state = machine.driver_data<model3_state>();
- state->m_sound_timer = machine.scheduler().timer_alloc(FUNC(model3_sound_timer_tick));
+ m_sound_timer = machine().scheduler().timer_alloc(FUNC(model3_sound_timer_tick));
}
-static MACHINE_START(model3_21)
+MACHINE_START_MEMBER(model3_state,model3_21)
{
- configure_fast_ram(machine);
+ configure_fast_ram(machine());
- model3_state *state = machine.driver_data<model3_state>();
- state->m_sound_timer = machine.scheduler().timer_alloc(FUNC(model3_sound_timer_tick));
+ m_sound_timer = machine().scheduler().timer_alloc(FUNC(model3_sound_timer_tick));
}
static void model3_init(running_machine &machine, int step)
@@ -1309,10 +1305,10 @@ static void model3_init(running_machine &machine, int step)
}
}
-static MACHINE_RESET(model3_10) { model3_init(machine, 0x10); }
-static MACHINE_RESET(model3_15) { model3_init(machine, 0x15); }
-static MACHINE_RESET(model3_20) { model3_init(machine, 0x20); }
-static MACHINE_RESET(model3_21) { model3_init(machine, 0x21); }
+MACHINE_RESET_MEMBER(model3_state,model3_10){ model3_init(machine(), 0x10); }
+MACHINE_RESET_MEMBER(model3_state,model3_15){ model3_init(machine(), 0x15); }
+MACHINE_RESET_MEMBER(model3_state,model3_20){ model3_init(machine(), 0x20); }
+MACHINE_RESET_MEMBER(model3_state,model3_21){ model3_init(machine(), 0x21); }
READ64_MEMBER(model3_state::model3_ctrl_r)
@@ -5302,8 +5298,8 @@ static MACHINE_CONFIG_START( model3_10, model3_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(model3_10)
- MCFG_MACHINE_RESET(model3_10)
+ MCFG_MACHINE_START_OVERRIDE(model3_state,model3_10)
+ MCFG_MACHINE_RESET_OVERRIDE(model3_state,model3_10)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_NVRAM_ADD_1FILL("backup")
@@ -5316,9 +5312,7 @@ static MACHINE_CONFIG_START( model3_10, model3_state )
MCFG_SCREEN_UPDATE_STATIC(model3)
MCFG_PALETTE_LENGTH(32768)
- MCFG_PALETTE_INIT(RRRRR_GGGGG_BBBBB)
- MCFG_VIDEO_START(model3)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("scsp1", SCSP, 0)
@@ -5344,8 +5338,8 @@ static MACHINE_CONFIG_START( model3_15, model3_state )
MCFG_CPU_ADD("audiocpu", M68000, 12000000)
MCFG_CPU_PROGRAM_MAP(model3_snd)
- MCFG_MACHINE_START(model3_15)
- MCFG_MACHINE_RESET(model3_15)
+ MCFG_MACHINE_START_OVERRIDE(model3_state,model3_15)
+ MCFG_MACHINE_RESET_OVERRIDE(model3_state,model3_15)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_NVRAM_ADD_1FILL("backup")
@@ -5358,9 +5352,7 @@ static MACHINE_CONFIG_START( model3_15, model3_state )
MCFG_SCREEN_UPDATE_STATIC(model3)
MCFG_PALETTE_LENGTH(32768)
- MCFG_PALETTE_INIT(RRRRR_GGGGG_BBBBB)
- MCFG_VIDEO_START(model3)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("scsp1", SCSP, 0)
@@ -5386,8 +5378,8 @@ static MACHINE_CONFIG_START( model3_20, model3_state )
MCFG_CPU_ADD("audiocpu", M68000, 12000000)
MCFG_CPU_PROGRAM_MAP(model3_snd)
- MCFG_MACHINE_START(model3_20)
- MCFG_MACHINE_RESET(model3_20)
+ MCFG_MACHINE_START_OVERRIDE(model3_state,model3_20)
+ MCFG_MACHINE_RESET_OVERRIDE(model3_state,model3_20)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_NVRAM_ADD_1FILL("backup")
@@ -5402,7 +5394,6 @@ static MACHINE_CONFIG_START( model3_20, model3_state )
MCFG_PALETTE_LENGTH(32768)
MCFG_PALETTE_INIT(RRRRR_GGGGG_BBBBB)
- MCFG_VIDEO_START(model3)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("scsp1", SCSP, 0)
@@ -5425,8 +5416,8 @@ static MACHINE_CONFIG_START( model3_21, model3_state )
MCFG_CPU_ADD("audiocpu", M68000, 12000000)
MCFG_CPU_PROGRAM_MAP(model3_snd)
- MCFG_MACHINE_START(model3_21)
- MCFG_MACHINE_RESET(model3_21)
+ MCFG_MACHINE_START_OVERRIDE(model3_state,model3_21)
+ MCFG_MACHINE_RESET_OVERRIDE(model3_state,model3_21)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_NVRAM_ADD_1FILL("backup")
@@ -5442,7 +5433,6 @@ static MACHINE_CONFIG_START( model3_21, model3_state )
MCFG_PALETTE_LENGTH(32768)
MCFG_PALETTE_INIT(RRRRR_GGGGG_BBBBB)
- MCFG_VIDEO_START(model3)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("scsp1", SCSP, 0)
diff --git a/src/mame/drivers/mogura.c b/src/mame/drivers/mogura.c
index b14fb6ac449..2e3bb842aef 100644
--- a/src/mame/drivers/mogura.c
+++ b/src/mame/drivers/mogura.c
@@ -28,12 +28,15 @@ public:
DECLARE_WRITE8_MEMBER(mogura_dac_w);
DECLARE_WRITE8_MEMBER(mogura_gfxram_w);
TILE_GET_INFO_MEMBER(get_mogura_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
-static PALETTE_INIT( mogura )
+void mogura_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, j;
j = 0;
@@ -57,7 +60,7 @@ static PALETTE_INIT( mogura )
bit2 = BIT(color_prom[i], 7);
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, j, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), j, MAKE_RGB(r, g, b));
j += 4;
if (j > 31) j -= 31;
}
@@ -77,11 +80,10 @@ TILE_GET_INFO_MEMBER(mogura_state::get_mogura_tile_info)
}
-static VIDEO_START( mogura )
+void mogura_state::video_start()
{
- mogura_state *state = machine.driver_data<mogura_state>();
- machine.gfx[0]->set_source(state->m_gfxram);
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mogura_state::get_mogura_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ machine().gfx[0]->set_source(m_gfxram);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mogura_state::get_mogura_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
static SCREEN_UPDATE_IND16( mogura )
@@ -188,13 +190,12 @@ static GFXDECODE_START( mogura )
GFXDECODE_ENTRY( NULL, 0, tiles8x8_layout, 0, 8 )
GFXDECODE_END
-static MACHINE_START( mogura )
+void mogura_state::machine_start()
{
- mogura_state *state = machine.driver_data<mogura_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_dac1 = machine.device<dac_device>("dac1");
- state->m_dac2 = machine.device<dac_device>("dac2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_dac1 = machine().device<dac_device>("dac1");
+ m_dac2 = machine().device<dac_device>("dac2");
}
static MACHINE_CONFIG_START( mogura, mogura_state )
@@ -205,7 +206,6 @@ static MACHINE_CONFIG_START( mogura, mogura_state )
MCFG_CPU_IO_MAP(mogura_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(mogura)
MCFG_GFXDECODE(mogura)
@@ -219,8 +219,6 @@ static MACHINE_CONFIG_START( mogura, mogura_state )
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(mogura)
- MCFG_VIDEO_START(mogura)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/mole.c b/src/mame/drivers/mole.c
index d244da1bd21..ce29c1d753e 100644
--- a/src/mame/drivers/mole.c
+++ b/src/mame/drivers/mole.c
@@ -70,6 +70,10 @@ public:
DECLARE_WRITE8_MEMBER(mole_flipscreen_w);
DECLARE_READ8_MEMBER(mole_protection_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -79,12 +83,12 @@ public:
*
*************************************/
-static PALETTE_INIT( mole )
+void mole_state::palette_init()
{
int i;
for (i = 0; i < 8; i++)
- palette_set_color_rgb(machine, i, pal1bit(i >> 0), pal1bit(i >> 2), pal1bit(i >> 1));
+ palette_set_color_rgb(machine(), i, pal1bit(i >> 0), pal1bit(i >> 2), pal1bit(i >> 1));
}
TILE_GET_INFO_MEMBER(mole_state::get_bg_tile_info)
@@ -94,13 +98,12 @@ TILE_GET_INFO_MEMBER(mole_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER((code & 0x200) ? 1 : 0, code & 0x1ff, 0, 0);
}
-static VIDEO_START( mole )
+void mole_state::video_start()
{
- mole_state *state = machine.driver_data<mole_state>();
- memset(state->m_tileram, 0, sizeof(state->m_tileram));
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mole_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
+ memset(m_tileram, 0, sizeof(m_tileram));
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mole_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
- state->save_item(NAME(state->m_tileram));
+ save_item(NAME(m_tileram));
}
WRITE8_MEMBER(mole_state::mole_videoram_w)
@@ -301,18 +304,16 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( mole )
+void mole_state::machine_start()
{
- mole_state *state = machine.driver_data<mole_state>();
- state->save_item(NAME(state->m_tile_bank));
+ save_item(NAME(m_tile_bank));
}
-static MACHINE_RESET( mole )
+void mole_state::machine_reset()
{
- mole_state *state = machine.driver_data<mole_state>();
- state->m_tile_bank = 0;
+ m_tile_bank = 0;
}
static MACHINE_CONFIG_START( mole, mole_state )
@@ -322,8 +323,6 @@ static MACHINE_CONFIG_START( mole, mole_state )
MCFG_CPU_PROGRAM_MAP(mole_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(mole)
- MCFG_MACHINE_RESET(mole)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -336,8 +335,6 @@ static MACHINE_CONFIG_START( mole, mole_state )
MCFG_GFXDECODE(mole)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(mole)
- MCFG_VIDEO_START(mole)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/momoko.c b/src/mame/drivers/momoko.c
index b551407dea9..59802748c2a 100644
--- a/src/mame/drivers/momoko.c
+++ b/src/mame/drivers/momoko.c
@@ -225,39 +225,37 @@ static const ym2203_interface ym2203_config =
DEVCB_NULL
};
-static MACHINE_START( momoko )
+void momoko_state::machine_start()
{
- momoko_state *state = machine.driver_data<momoko_state>();
- UINT8 *BG_MAP = state->memregion("user1")->base();
-
- state->membank("bank1")->configure_entries(0, 32, &BG_MAP[0x0000], 0x1000);
-
- state->save_item(NAME(state->m_fg_scrollx));
- state->save_item(NAME(state->m_fg_scrolly));
- state->save_item(NAME(state->m_fg_select));
- state->save_item(NAME(state->m_text_scrolly));
- state->save_item(NAME(state->m_text_mode));
- state->save_item(NAME(state->m_bg_select));
- state->save_item(NAME(state->m_bg_priority));
- state->save_item(NAME(state->m_bg_mask));
- state->save_item(NAME(state->m_fg_mask));
- state->save_item(NAME(state->m_flipscreen));
+ UINT8 *BG_MAP = memregion("user1")->base();
+
+ membank("bank1")->configure_entries(0, 32, &BG_MAP[0x0000], 0x1000);
+
+ save_item(NAME(m_fg_scrollx));
+ save_item(NAME(m_fg_scrolly));
+ save_item(NAME(m_fg_select));
+ save_item(NAME(m_text_scrolly));
+ save_item(NAME(m_text_mode));
+ save_item(NAME(m_bg_select));
+ save_item(NAME(m_bg_priority));
+ save_item(NAME(m_bg_mask));
+ save_item(NAME(m_fg_mask));
+ save_item(NAME(m_flipscreen));
}
-static MACHINE_RESET( momoko )
+void momoko_state::machine_reset()
{
- momoko_state *state = machine.driver_data<momoko_state>();
-
- state->m_fg_scrollx = 0;
- state->m_fg_scrolly = 0;
- state->m_fg_select = 0;
- state->m_text_scrolly = 0;
- state->m_text_mode = 0;
- state->m_bg_select = 0;
- state->m_bg_priority = 0;
- state->m_bg_mask = 0;
- state->m_fg_mask = 0;
- state->m_flipscreen = 0;
+
+ m_fg_scrollx = 0;
+ m_fg_scrolly = 0;
+ m_fg_select = 0;
+ m_text_scrolly = 0;
+ m_text_mode = 0;
+ m_bg_select = 0;
+ m_bg_priority = 0;
+ m_bg_mask = 0;
+ m_fg_mask = 0;
+ m_flipscreen = 0;
}
static MACHINE_CONFIG_START( momoko, momoko_state )
@@ -270,8 +268,6 @@ static MACHINE_CONFIG_START( momoko, momoko_state )
MCFG_CPU_ADD("audiocpu", Z80, 2500000) /* 2.5MHz */
MCFG_CPU_PROGRAM_MAP(momoko_sound_map)
- MCFG_MACHINE_START(momoko)
- MCFG_MACHINE_RESET(momoko)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/monzagp.c b/src/mame/drivers/monzagp.c
index 98ed2c7bf81..5c8588964e3 100644
--- a/src/mame/drivers/monzagp.c
+++ b/src/mame/drivers/monzagp.c
@@ -53,19 +53,20 @@ public:
DECLARE_WRITE8_MEMBER(port1_w);
DECLARE_WRITE8_MEMBER(port2_w);
DECLARE_WRITE8_MEMBER(port3_w);
+ virtual void video_start();
+ virtual void palette_init();
};
-static PALETTE_INIT(monzagp)
+void monzagp_state::palette_init()
{
}
-static VIDEO_START(monzagp)
+void monzagp_state::video_start()
{
- monzagp_state *state = machine.driver_data<monzagp_state>();
- state->m_screenw = 80;
- state->m_vram = auto_alloc_array(machine, UINT8, 0x10000);
+ m_screenw = 80;
+ m_vram = auto_alloc_array(machine(), UINT8, 0x10000);
}
static SCREEN_UPDATE_IND16(monzagp)
@@ -269,10 +270,8 @@ static MACHINE_CONFIG_START( monzagp, monzagp_state )
MCFG_SCREEN_UPDATE_STATIC(monzagp)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(monzagp)
MCFG_GFXDECODE(monzagp)
- MCFG_VIDEO_START(monzagp)
MACHINE_CONFIG_END
ROM_START( monzagp )
diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c
index 5108ba28e71..8fbca97b189 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -423,45 +423,43 @@ static INPUT_PORTS_START( bucky )
INPUT_PORTS_END
-static MACHINE_START( moo )
+MACHINE_START_MEMBER(moo_state,moo)
{
- moo_state *state = machine.driver_data<moo_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("soundcpu");
- state->m_k054539 = machine.device("k054539");
- state->m_k053246 = machine.device("k053246");
- state->m_k053251 = machine.device("k053251");
- state->m_k056832 = machine.device("k056832");
- state->m_k054338 = machine.device("k054338");
-
- state->save_item(NAME(state->m_cur_control2));
- state->save_item(NAME(state->m_alpha_enabled));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_layerpri));
- state->save_item(NAME(state->m_protram));
-
- state->m_dmaend_timer = machine.scheduler().timer_alloc(FUNC(dmaend_callback));
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("soundcpu");
+ m_k054539 = machine().device("k054539");
+ m_k053246 = machine().device("k053246");
+ m_k053251 = machine().device("k053251");
+ m_k056832 = machine().device("k056832");
+ m_k054338 = machine().device("k054338");
+
+ save_item(NAME(m_cur_control2));
+ save_item(NAME(m_alpha_enabled));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_layerpri));
+ save_item(NAME(m_protram));
+
+ m_dmaend_timer = machine().scheduler().timer_alloc(FUNC(dmaend_callback));
}
-static MACHINE_RESET( moo )
+MACHINE_RESET_MEMBER(moo_state,moo)
{
- moo_state *state = machine.driver_data<moo_state>();
int i;
for (i = 0; i < 16; i++)
- state->m_protram[i] = 0;
+ m_protram[i] = 0;
for (i = 0; i < 4; i++)
- state->m_layer_colorbase[i] = 0;
+ m_layer_colorbase[i] = 0;
for (i = 0; i < 3; i++)
- state->m_layerpri[i] = 0;
+ m_layerpri[i] = 0;
- state->m_cur_control2 = 0;
- state->m_alpha_enabled = 0;
- state->m_sprite_colorbase = 0;
+ m_cur_control2 = 0;
+ m_alpha_enabled = 0;
+ m_sprite_colorbase = 0;
}
static const k056832_interface moo_k056832_intf =
@@ -522,8 +520,8 @@ static MACHINE_CONFIG_START( moo, moo_state )
MCFG_CPU_ADD("soundcpu", Z80, 8000000)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(moo)
- MCFG_MACHINE_RESET(moo)
+ MCFG_MACHINE_START_OVERRIDE(moo_state,moo)
+ MCFG_MACHINE_RESET_OVERRIDE(moo_state,moo)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -541,7 +539,7 @@ static MACHINE_CONFIG_START( moo, moo_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(moo)
+ MCFG_VIDEO_START_OVERRIDE(moo_state,moo)
MCFG_K053247_ADD("k053246", moo_k053247_intf)
MCFG_K056832_ADD("k056832", moo_k056832_intf)
@@ -567,8 +565,8 @@ static MACHINE_CONFIG_START( moobl, moo_state )
MCFG_CPU_PROGRAM_MAP(moobl_map)
MCFG_CPU_VBLANK_INT("screen", moobl_interrupt)
- MCFG_MACHINE_START(moo)
- MCFG_MACHINE_RESET(moo)
+ MCFG_MACHINE_START_OVERRIDE(moo_state,moo)
+ MCFG_MACHINE_RESET_OVERRIDE(moo_state,moo)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -584,7 +582,7 @@ static MACHINE_CONFIG_START( moobl, moo_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(moo)
+ MCFG_VIDEO_START_OVERRIDE(moo_state,moo)
MCFG_K053247_ADD("k053246", moo_k053247_intf)
MCFG_K056832_ADD("k056832", moo_k056832_intf)
diff --git a/src/mame/drivers/mosaic.c b/src/mame/drivers/mosaic.c
index dea7d832020..048f42228bf 100644
--- a/src/mame/drivers/mosaic.c
+++ b/src/mame/drivers/mosaic.c
@@ -249,18 +249,16 @@ static const ym2203_interface ym2203_config =
-static MACHINE_START( mosaic )
+void mosaic_state::machine_start()
{
- mosaic_state *state = machine.driver_data<mosaic_state>();
- state->save_item(NAME(state->m_prot_val));
+ save_item(NAME(m_prot_val));
}
-static MACHINE_RESET( mosaic )
+void mosaic_state::machine_reset()
{
- mosaic_state *state = machine.driver_data<mosaic_state>();
- state->m_prot_val = 0;
+ m_prot_val = 0;
}
static MACHINE_CONFIG_START( mosaic, mosaic_state )
@@ -271,8 +269,6 @@ static MACHINE_CONFIG_START( mosaic, mosaic_state )
MCFG_CPU_IO_MAP(mosaic_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(mosaic)
- MCFG_MACHINE_RESET(mosaic)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -285,7 +281,6 @@ static MACHINE_CONFIG_START( mosaic, mosaic_state )
MCFG_GFXDECODE(mosaic)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(mosaic)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mouser.c b/src/mame/drivers/mouser.c
index e136850cb29..a879a137508 100644
--- a/src/mame/drivers/mouser.c
+++ b/src/mame/drivers/mouser.c
@@ -183,23 +183,21 @@ static GFXDECODE_START( mouser )
GFXDECODE_END
-static MACHINE_START( mouser )
+void mouser_state::machine_start()
{
- mouser_state *state = machine.driver_data<mouser_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_sound_byte));
- state->save_item(NAME(state->m_nmi_enable));
+ save_item(NAME(m_sound_byte));
+ save_item(NAME(m_nmi_enable));
}
-static MACHINE_RESET( mouser )
+void mouser_state::machine_reset()
{
- mouser_state *state = machine.driver_data<mouser_state>();
- state->m_sound_byte = 0;
- state->m_nmi_enable = 0;
+ m_sound_byte = 0;
+ m_nmi_enable = 0;
}
static MACHINE_CONFIG_START( mouser, mouser_state )
@@ -214,8 +212,6 @@ static MACHINE_CONFIG_START( mouser, mouser_state )
MCFG_CPU_IO_MAP(mouser_sound_io_map)
MCFG_CPU_PERIODIC_INT(mouser_sound_nmi_assert, 4*60) /* ??? This controls the sound tempo */
- MCFG_MACHINE_START(mouser)
- MCFG_MACHINE_RESET(mouser)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -228,7 +224,6 @@ static MACHINE_CONFIG_START( mouser, mouser_state )
MCFG_GFXDECODE(mouser)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(mouser)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mpoker.c b/src/mame/drivers/mpoker.c
index 02db4086b96..08237846a5e 100644
--- a/src/mame/drivers/mpoker.c
+++ b/src/mame/drivers/mpoker.c
@@ -195,10 +195,12 @@ public:
DECLARE_WRITE8_MEMBER(outport6_w);
DECLARE_WRITE8_MEMBER(outport7_w);
DECLARE_WRITE8_MEMBER(sound_w);
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START(mpoker)
+void mpoker_state::video_start()
{
}
@@ -225,7 +227,7 @@ static SCREEN_UPDATE_IND16(mpoker)
return 0;
}
-static PALETTE_INIT(mpoker)
+void mpoker_state::palette_init()
{
int i;
@@ -238,7 +240,7 @@ static PALETTE_INIT(mpoker)
else
color = RGB_BLACK;
- palette_set_color(machine, i, color);
+ palette_set_color(machine(), i, color);
}
}
@@ -599,8 +601,6 @@ static MACHINE_CONFIG_START( mpoker, mpoker_state )
MCFG_GFXDECODE(mpoker)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(mpoker)
- MCFG_VIDEO_START(mpoker)
/* sound hardware */
// MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mpu3.c b/src/mame/drivers/mpu3.c
index a44be3bd988..32d7958c19a 100644
--- a/src/mame/drivers/mpu3.c
+++ b/src/mame/drivers/mpu3.c
@@ -181,6 +181,8 @@ emu_timer *m_ic21_timer;
DECLARE_WRITE8_MEMBER(pia_ic6_porta_w);
DECLARE_WRITE8_MEMBER(pia_ic6_portb_w);
DECLARE_DRIVER_INIT(m3hprvpr);
+ virtual void machine_start();
+ virtual void machine_reset();
};
#define DISPLAY_PORT 0
@@ -214,22 +216,21 @@ static void mpu3_stepper_reset(running_machine &machine)
state->m_optic_pattern = pattern;
}
-static MACHINE_RESET( mpu3 )
+void mpu3_state::machine_reset()
{
- mpu3_state *state = machine.driver_data<mpu3_state>();
- state->m_vfd->reset();
+ m_vfd->reset();
- mpu3_stepper_reset(machine);
+ mpu3_stepper_reset(machine());
- state->m_lamp_strobe = 0;
- state->m_led_strobe = 0;
+ m_lamp_strobe = 0;
+ m_led_strobe = 0;
- state->m_IC11GC = 0;
- state->m_IC11GB = 0;
- state->m_IC11GA = 0;
- state->m_IC11G1 = 1;
- state->m_IC11G2A = 0;
- state->m_IC11G2B = 0;
+ m_IC11GC = 0;
+ m_IC11GB = 0;
+ m_IC11GA = 0;
+ m_IC11G1 = 1;
+ m_IC11G2A = 0;
+ m_IC11G2B = 0;
}
/* 6808 IRQ handler */
@@ -785,18 +786,18 @@ static void mpu3_config_common(running_machine &machine)
state->m_ic21_timer = machine.scheduler().timer_alloc(FUNC(ic21_timeout));
}
-static MACHINE_START( mpu3 )
+void mpu3_state::machine_start()
{
- mpu3_config_common(machine);
+ mpu3_config_common(machine());
/* setup 8 mechanical meters */
- MechMtr_config(machine,8);
+ MechMtr_config(machine(),8);
/* setup 4 reels */
- stepper_config(machine, 0, &mpu3_reel_interface);
- stepper_config(machine, 1, &mpu3_reel_interface);
- stepper_config(machine, 2, &mpu3_reel_interface);
- stepper_config(machine, 3, &mpu3_reel_interface);
+ stepper_config(machine(), 0, &mpu3_reel_interface);
+ stepper_config(machine(), 1, &mpu3_reel_interface);
+ stepper_config(machine(), 2, &mpu3_reel_interface);
+ stepper_config(machine(), 3, &mpu3_reel_interface);
}
/*
@@ -897,8 +898,6 @@ static ADDRESS_MAP_START( mpu3_basemap, AS_PROGRAM, 8, mpu3_state )
ADDRESS_MAP_END
static MACHINE_CONFIG_START( mpu3base, mpu3_state )
- MCFG_MACHINE_START(mpu3)
- MCFG_MACHINE_RESET(mpu3)
MCFG_CPU_ADD("maincpu", M6808, MPU3_MASTER_CLOCK)///4)
MCFG_CPU_PROGRAM_MAP(mpu3_basemap)
diff --git a/src/mame/drivers/mpu4dealem.c b/src/mame/drivers/mpu4dealem.c
index deab67317e5..0f33228f2a7 100644
--- a/src/mame/drivers/mpu4dealem.c
+++ b/src/mame/drivers/mpu4dealem.c
@@ -28,6 +28,8 @@ public:
}
optional_shared_ptr<UINT8> m_dealem_videoram;
+ DECLARE_MACHINE_RESET(dealem_vid);
+ DECLARE_PALETTE_INIT(dealem);
};
@@ -71,9 +73,9 @@ GFXDECODE_END
***************************************************************************/
-static PALETTE_INIT( dealem )
+PALETTE_INIT_MEMBER(mpu4dealem_state,dealem)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, len;
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
@@ -84,7 +86,7 @@ static PALETTE_INIT( dealem )
3, resistances_rg, weights_g, 1000, 0,
2, resistances_b, weights_b, 1000, 0);
- len = machine.root_device().memregion("proms")->bytes();
+ len = machine().root_device().memregion("proms")->bytes();
for (i = 0; i < len; i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -104,7 +106,7 @@ static PALETTE_INIT( dealem )
bit1 = BIT(*color_prom,7);
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -178,34 +180,33 @@ static ADDRESS_MAP_START( dealem_memmap, AS_PROGRAM, 8, mpu4dealem_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_WRITENOP/* 64k paged ROM (4 pages) */
ADDRESS_MAP_END
-static MACHINE_RESET( dealem_vid )
+MACHINE_RESET_MEMBER(mpu4dealem_state,dealem_vid)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_vfd->reset(); //for debug ports only
+ m_vfd->reset(); //for debug ports only
- mpu4_stepper_reset(state);
+ mpu4_stepper_reset(this);
- state->m_lamp_strobe = 0;
- state->m_lamp_strobe2 = 0;
- state->m_led_strobe = 0;
+ m_lamp_strobe = 0;
+ m_lamp_strobe2 = 0;
+ m_led_strobe = 0;
- state->m_IC23GC = 0;
- state->m_IC23GB = 0;
- state->m_IC23GA = 0;
- state->m_IC23G1 = 1;
- state->m_IC23G2A = 0;
- state->m_IC23G2B = 0;
+ m_IC23GC = 0;
+ m_IC23GB = 0;
+ m_IC23GA = 0;
+ m_IC23G1 = 1;
+ m_IC23G2A = 0;
+ m_IC23G2B = 0;
- state->m_prot_col = 0;
- state->m_chr_counter = 0;
- state->m_chr_value = 0;
+ m_prot_col = 0;
+ m_chr_counter = 0;
+ m_chr_value = 0;
}
/* machine driver for Zenitone Deal 'Em board */
static MACHINE_CONFIG_START( dealem, mpu4dealem_state )
- MCFG_MACHINE_START(mod2) /* main mpu4 board initialisation */
- MCFG_MACHINE_RESET(dealem_vid)
+ MCFG_MACHINE_START_OVERRIDE(mpu4dealem_state,mod2) /* main mpu4 board initialisation */
+ MCFG_MACHINE_RESET_OVERRIDE(mpu4dealem_state,dealem_vid)
MCFG_CPU_ADD("maincpu", M6809, MPU4_MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(dealem_memmap)
@@ -229,7 +230,7 @@ static MACHINE_CONFIG_START( dealem, mpu4dealem_state )
MCFG_GFXDECODE(dealem)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(dealem)
+ MCFG_PALETTE_INIT_OVERRIDE(mpu4dealem_state,dealem)
MCFG_MC6845_ADD("crtc", HD6845, MPU4_MASTER_CLOCK / 4 / 8, hd6845_intf) /* HD68B45 */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mpu4hw.c b/src/mame/drivers/mpu4hw.c
index 70233e46294..2ce95e8706a 100644
--- a/src/mame/drivers/mpu4hw.c
+++ b/src/mame/drivers/mpu4hw.c
@@ -429,49 +429,48 @@ void mpu4_stepper_reset(mpu4_state *state)
}
-static MACHINE_RESET( mpu4 )
+MACHINE_RESET_MEMBER(mpu4_state,mpu4)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_vfd->reset();
+ m_vfd->reset();
- mpu4_stepper_reset(state);
+ mpu4_stepper_reset(this);
- state->m_lamp_strobe = 0;
- state->m_lamp_strobe2 = 0;
- state->m_led_strobe = 0;
- state->m_mmtr_data = 0;
- state->m_remote_meter = 0;
+ m_lamp_strobe = 0;
+ m_lamp_strobe2 = 0;
+ m_led_strobe = 0;
+ m_mmtr_data = 0;
+ m_remote_meter = 0;
- state->m_IC23GC = 0;
- state->m_IC23GB = 0;
- state->m_IC23GA = 0;
- state->m_IC23G1 = 1;
- state->m_IC23G2A = 0;
- state->m_IC23G2B = 0;
+ m_IC23GC = 0;
+ m_IC23GB = 0;
+ m_IC23GA = 0;
+ m_IC23G1 = 1;
+ m_IC23G2A = 0;
+ m_IC23G2B = 0;
- state->m_prot_col = 0;
- state->m_chr_counter = 0;
- state->m_chr_value = 0;
+ m_prot_col = 0;
+ m_chr_counter = 0;
+ m_chr_value = 0;
{
- UINT8 *rom = state->memregion("maincpu")->base();
- size_t romsize = state->memregion("maincpu")->bytes();
+ UINT8 *rom = memregion("maincpu")->base();
+ size_t romsize = memregion("maincpu")->bytes();
if (romsize < 0x10000)
fatalerror("maincpu ROM region is < 0x10000 bytes, check ROM\n");
int numbanks = romsize / 0x10000;
- state->membank("bank1")->configure_entries(0, 8, &rom[0x01000], 0x10000);
+ membank("bank1")->configure_entries(0, 8, &rom[0x01000], 0x10000);
// some Bwb games must default to the last bank, does anything not like this
// behavior?
// some Bwb games don't work anyway tho, they seem to dislike something else
// about the way the regular banking behaves, not related to the CB2 stuff
- state->membank("bank1")->set_entry(numbanks-1);
+ membank("bank1")->set_entry(numbanks-1);
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
}
@@ -2350,55 +2349,50 @@ static void mpu4_config_common_reels(running_machine &machine,int reels)
}
}
-MACHINE_START( mod2 )
+MACHINE_START_MEMBER(mpu4_state,mod2)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- mpu4_config_common(machine);
+ mpu4_config_common(machine());
- state->m_link7a_connected=0;
- state->m_mod_number=2;
+ m_link7a_connected=0;
+ m_mod_number=2;
}
-static MACHINE_START( mpu4yam )
+MACHINE_START_MEMBER(mpu4_state,mpu4yam)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- mpu4_config_common(machine);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ mpu4_config_common(machine());
- state->m_link7a_connected=0;
- state->m_mod_number=4;
+ m_link7a_connected=0;
+ m_mod_number=4;
mpu4_install_mod4yam_space(space);
}
-static MACHINE_START( mpu4oki )
+MACHINE_START_MEMBER(mpu4_state,mpu4oki)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- mpu4_config_common(machine);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ mpu4_config_common(machine());
- state->m_link7a_connected=0;
- state->m_mod_number=4;
+ m_link7a_connected=0;
+ m_mod_number=4;
mpu4_install_mod4oki_space(space);
}
-static MACHINE_START( mpu4bwb )
+MACHINE_START_MEMBER(mpu4_state,mpu4bwb)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- mpu4_config_common(machine);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ mpu4_config_common(machine());
- state->m_link7a_connected=0;
- state->m_mod_number=4;
+ m_link7a_connected=0;
+ m_mod_number=4;
mpu4_install_mod4bwb_space(space);
}
-static MACHINE_START( mpu4cry )
+MACHINE_START_MEMBER(mpu4_state,mpu4cry)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- mpu4_config_common(machine);
+ mpu4_config_common(machine());
- state->m_link7a_connected=0;
- state->m_mod_number=4;
+ m_link7a_connected=0;
+ m_mod_number=4;
}
/* CHR Tables */
@@ -2727,8 +2721,8 @@ MACHINE_CONFIG_END
/* machine driver for MOD 2 board */
MACHINE_CONFIG_START( mpu4base, mpu4_state )
- MCFG_MACHINE_START(mod2 )
- MCFG_MACHINE_RESET(mpu4)
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mod2 )
+ MCFG_MACHINE_RESET_OVERRIDE(mpu4_state,mpu4)
MCFG_CPU_ADD("maincpu", M6809, MPU4_MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(mpu4_memmap)
@@ -2756,7 +2750,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED( mod4yam, mpu4base )
- MCFG_MACHINE_START(mpu4yam)
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4yam)
MCFG_SOUND_ADD("ym2413", YM2413, MPU4_MASTER_CLOCK/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
@@ -2764,7 +2758,7 @@ MACHINE_CONFIG_DERIVED( mod4yam, mpu4base )
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED( mod4oki, mpu4base )
- MCFG_MACHINE_START(mpu4oki)
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
MCFG_FRAGMENT_ADD(mpu4_common2)
@@ -2774,11 +2768,11 @@ MACHINE_CONFIG_DERIVED( mod4oki, mpu4base )
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED( bwboki, mod4oki )
- MCFG_MACHINE_START(mpu4bwb)
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4bwb)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED(mpu4crys, mod2 )
- MCFG_MACHINE_START(mpu4cry)
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4cry)
MCFG_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
diff --git a/src/mame/drivers/mpu4vid.c b/src/mame/drivers/mpu4vid.c
index 73caf29903f..bb317d7595b 100644
--- a/src/mame/drivers/mpu4vid.c
+++ b/src/mame/drivers/mpu4vid.c
@@ -265,6 +265,9 @@ public:
DECLARE_DRIVER_INIT(crmaze3a);
DECLARE_DRIVER_INIT(skiltrek);
DECLARE_DRIVER_INIT(crmaze3);
+ DECLARE_MACHINE_START(mpu4_vid);
+ DECLARE_MACHINE_RESET(mpu4_vid);
+ DECLARE_VIDEO_START(mpu4_vid);
};
@@ -539,30 +542,29 @@ static WRITE16_HANDLER( mpu4_vid_vidram_w )
}
-static VIDEO_START( mpu4_vid )
+VIDEO_START_MEMBER(mpu4vid_state,mpu4_vid)
{
- mpu4vid_state *state = machine.driver_data<mpu4vid_state>();
/* if anything uses tile sizes other than 8x8 we can't really do it this way.. we'll have to draw tiles by hand.
All Barcrest stuff uses 8x8, son unless the BwB is different, we don't need to */
- state->m_vid_vidram.allocate(0x20000/2);
+ m_vid_vidram.allocate(0x20000/2);
- memset(state->m_vid_vidram,0,0x20000);
+ memset(m_vid_vidram,0,0x20000);
/* find first empty slot to decode gfx */
- for (state->m_gfx_index = 0; state->m_gfx_index < MAX_GFX_ELEMENTS; state->m_gfx_index++)
- if (machine.gfx[state->m_gfx_index] == 0)
+ for (m_gfx_index = 0; m_gfx_index < MAX_GFX_ELEMENTS; m_gfx_index++)
+ if (machine().gfx[m_gfx_index] == 0)
break;
- assert(state->m_gfx_index != MAX_GFX_ELEMENTS);
+ assert(m_gfx_index != MAX_GFX_ELEMENTS);
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine.gfx[state->m_gfx_index+0] = auto_alloc(machine, gfx_element(machine, mpu4_vid_char_8x8_layout, reinterpret_cast<UINT8 *>(state->m_vid_vidram.target()), machine.total_colors() / 16, 0));
- machine.gfx[state->m_gfx_index+1] = auto_alloc(machine, gfx_element(machine, mpu4_vid_char_8x16_layout, reinterpret_cast<UINT8 *>(state->m_vid_vidram.target()), machine.total_colors() / 16, 0));
- machine.gfx[state->m_gfx_index+2] = auto_alloc(machine, gfx_element(machine, mpu4_vid_char_16x8_layout, reinterpret_cast<UINT8 *>(state->m_vid_vidram.target()), machine.total_colors() / 16, 0));
- machine.gfx[state->m_gfx_index+3] = auto_alloc(machine, gfx_element(machine, mpu4_vid_char_16x16_layout, reinterpret_cast<UINT8 *>(state->m_vid_vidram.target()), machine.total_colors() / 16, 0));
+ machine().gfx[m_gfx_index+0] = auto_alloc(machine(), gfx_element(machine(), mpu4_vid_char_8x8_layout, reinterpret_cast<UINT8 *>(m_vid_vidram.target()), machine().total_colors() / 16, 0));
+ machine().gfx[m_gfx_index+1] = auto_alloc(machine(), gfx_element(machine(), mpu4_vid_char_8x16_layout, reinterpret_cast<UINT8 *>(m_vid_vidram.target()), machine().total_colors() / 16, 0));
+ machine().gfx[m_gfx_index+2] = auto_alloc(machine(), gfx_element(machine(), mpu4_vid_char_16x8_layout, reinterpret_cast<UINT8 *>(m_vid_vidram.target()), machine().total_colors() / 16, 0));
+ machine().gfx[m_gfx_index+3] = auto_alloc(machine(), gfx_element(machine(), mpu4_vid_char_16x16_layout, reinterpret_cast<UINT8 *>(m_vid_vidram.target()), machine().total_colors() / 16, 0));
- state->m_scn2674->init_stuff();
+ m_scn2674->init_stuff();
}
@@ -1353,43 +1355,41 @@ static void video_reset(device_t *device)
}
/* machine start (called only once) */
-static MACHINE_START( mpu4_vid )
+MACHINE_START_MEMBER(mpu4vid_state,mpu4_vid)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- mpu4_config_common(machine);
+ mpu4_config_common(machine());
- state->m_mod_number=4; //No AY chip
+ m_mod_number=4; //No AY chip
/* setup communications */
- state->m_link7a_connected = 1;
+ m_link7a_connected = 1;
/* setup 8 mechanical meters */
- MechMtr_config(machine,8);
+ MechMtr_config(machine(),8);
/* Hook the reset line */
- m68k_set_reset_callback(machine.device("video"), video_reset);
+ m68k_set_reset_callback(machine().device("video"), ::video_reset);
}
-static MACHINE_RESET( mpu4_vid )
+MACHINE_RESET_MEMBER(mpu4vid_state,mpu4_vid)
{
- mpu4_state *state = machine.driver_data<mpu4_state>();
- state->m_vfd->reset(); //for debug ports only
+ m_vfd->reset(); //for debug ports only
- mpu4_stepper_reset(state);
+ mpu4_stepper_reset(this);
- state->m_lamp_strobe = 0;
- state->m_lamp_strobe2 = 0;
- state->m_led_strobe = 0;
+ m_lamp_strobe = 0;
+ m_lamp_strobe2 = 0;
+ m_led_strobe = 0;
- state->m_IC23GC = 0;
- state->m_IC23GB = 0;
- state->m_IC23GA = 0;
- state->m_IC23G1 = 1;
- state->m_IC23G2A = 0;
- state->m_IC23G2B = 0;
+ m_IC23GC = 0;
+ m_IC23GB = 0;
+ m_IC23GA = 0;
+ m_IC23G1 = 1;
+ m_IC23G2A = 0;
+ m_IC23G2B = 0;
- state->m_prot_col = 0;
- state->m_chr_counter = 0;
- state->m_chr_value = 0;
+ m_prot_col = 0;
+ m_chr_counter = 0;
+ m_chr_value = 0;
}
static ADDRESS_MAP_START( mpu4_68k_map, AS_PROGRAM, 16, mpu4vid_state )
@@ -1528,9 +1528,9 @@ static MACHINE_CONFIG_START( mpu4_vid, mpu4vid_state )
// MCFG_QUANTUM_TIME(attotime::from_hz(960))
- MCFG_MACHINE_START(mpu4_vid)
- MCFG_MACHINE_RESET(mpu4_vid)
- MCFG_VIDEO_START (mpu4_vid)
+ MCFG_MACHINE_START_OVERRIDE(mpu4vid_state,mpu4_vid)
+ MCFG_MACHINE_RESET_OVERRIDE(mpu4vid_state,mpu4_vid)
+ MCFG_VIDEO_START_OVERRIDE (mpu4vid_state,mpu4_vid)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mame/drivers/mpu5hw.c b/src/mame/drivers/mpu5hw.c
index 0f692b44b57..08ab0133b28 100644
--- a/src/mame/drivers/mpu5hw.c
+++ b/src/mame/drivers/mpu5hw.c
@@ -59,6 +59,7 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
+ virtual void machine_start();
};
@@ -113,11 +114,10 @@ INPUT_PORTS_START( mpu5 )
INPUT_PORTS_END
-static MACHINE_START( mpu5 )
+void mpu5_state::machine_start()
{
- mpu5_state *state = machine.driver_data<mpu5_state>();
- state->m_cpuregion = (UINT32*)state->memregion( "maincpu" )->base();
- state->m_mainram = (UINT32*)auto_alloc_array_clear(machine, UINT32, 0x10000);
+ m_cpuregion = (UINT32*)memregion( "maincpu" )->base();
+ m_mainram = (UINT32*)auto_alloc_array_clear(machine(), UINT32, 0x10000);
}
@@ -126,7 +126,6 @@ MACHINE_CONFIG_START( mpu5, mpu5_state )
MCFG_CPU_ADD("maincpu", M68340, 16000000) // ?
MCFG_CPU_PROGRAM_MAP(mpu5_map)
- MCFG_MACHINE_START( mpu5 )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
/* unknown sound */
diff --git a/src/mame/drivers/mquake.c b/src/mame/drivers/mquake.c
index 05615d68038..ed93f6854eb 100644
--- a/src/mame/drivers/mquake.c
+++ b/src/mame/drivers/mquake.c
@@ -302,9 +302,9 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_RESET(mquake)
+MACHINE_RESET_MEMBER(amiga_state,mquake)
{
- MACHINE_RESET_CALL(amiga);
+ MACHINE_RESET_CALL_MEMBER(amiga);
}
/*************************************
@@ -343,7 +343,7 @@ static MACHINE_CONFIG_START( mquake, amiga_state )
MCFG_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_RESET(mquake)
+ MCFG_MACHINE_RESET_OVERRIDE(amiga_state,mquake)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -357,9 +357,9 @@ static MACHINE_CONFIG_START( mquake, amiga_state )
MCFG_SCREEN_UPDATE_STATIC(amiga)
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT(amiga)
+ MCFG_PALETTE_INIT_OVERRIDE(amiga_state,amiga)
- MCFG_VIDEO_START(amiga)
+ MCFG_VIDEO_START_OVERRIDE(amiga_state,amiga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/mrdo.c b/src/mame/drivers/mrdo.c
index 8921d22c0a3..841c2af5b84 100644
--- a/src/mame/drivers/mrdo.c
+++ b/src/mame/drivers/mrdo.c
@@ -196,8 +196,6 @@ static MACHINE_CONFIG_START( mrdo, mrdo_state )
MCFG_GFXDECODE(mrdo)
MCFG_PALETTE_LENGTH(64*4+16*4)
- MCFG_PALETTE_INIT(mrdo)
- MCFG_VIDEO_START(mrdo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mrflea.c b/src/mame/drivers/mrflea.c
index 13c24f15297..863651885f3 100644
--- a/src/mame/drivers/mrflea.c
+++ b/src/mame/drivers/mrflea.c
@@ -328,29 +328,27 @@ static const ay8910_interface mrflea_ay8910_interface_1 =
*
*************************************/
-static MACHINE_START( mrflea )
+void mrflea_state::machine_start()
{
- mrflea_state *state = machine.driver_data<mrflea_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_gfx_bank));
- state->save_item(NAME(state->m_io));
- state->save_item(NAME(state->m_main));
- state->save_item(NAME(state->m_status));
- state->save_item(NAME(state->m_select1));
+ save_item(NAME(m_gfx_bank));
+ save_item(NAME(m_io));
+ save_item(NAME(m_main));
+ save_item(NAME(m_status));
+ save_item(NAME(m_select1));
}
-static MACHINE_RESET( mrflea )
+void mrflea_state::machine_reset()
{
- mrflea_state *state = machine.driver_data<mrflea_state>();
- state->m_gfx_bank = 0;
- state->m_io = 0;
- state->m_main = 0;
- state->m_status = 0;
- state->m_select1 = 0;
+ m_gfx_bank = 0;
+ m_io = 0;
+ m_main = 0;
+ m_status = 0;
+ m_select1 = 0;
}
static MACHINE_CONFIG_START( mrflea, mrflea_state )
@@ -368,8 +366,6 @@ static MACHINE_CONFIG_START( mrflea, mrflea_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(mrflea)
- MCFG_MACHINE_RESET(mrflea)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/mrjong.c b/src/mame/drivers/mrjong.c
index bc0b8be5921..f2149362172 100644
--- a/src/mame/drivers/mrjong.c
+++ b/src/mame/drivers/mrjong.c
@@ -214,8 +214,6 @@ static MACHINE_CONFIG_START( mrjong, mrjong_state )
MCFG_GFXDECODE(mrjong)
MCFG_PALETTE_LENGTH(4*32)
- MCFG_PALETTE_INIT(mrjong)
- MCFG_VIDEO_START(mrjong)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c
index b6eb0cc60e7..a877facba34 100644
--- a/src/mame/drivers/ms32.c
+++ b/src/mame/drivers/ms32.c
@@ -1379,12 +1379,12 @@ ADDRESS_MAP_END
/********** MACHINE INIT **********/
-static MACHINE_RESET( ms32 )
+void ms32_state::machine_reset()
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base());
- machine.root_device().membank("bank4")->set_entry(0);
- machine.root_device().membank("bank5")->set_entry(1);
- irq_init(machine);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base());
+ machine().root_device().membank("bank4")->set_entry(0);
+ machine().root_device().membank("bank5")->set_entry(1);
+ irq_init(machine());
}
/********** MACHINE DRIVER **********/
@@ -1401,7 +1401,6 @@ static MACHINE_CONFIG_START( ms32, ms32_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60000))
- MCFG_MACHINE_RESET(ms32)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1414,7 +1413,6 @@ static MACHINE_CONFIG_START( ms32, ms32_state )
MCFG_GFXDECODE(ms32)
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_VIDEO_START(ms32)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1431,7 +1429,7 @@ static MACHINE_CONFIG_DERIVED( f1superb, ms32 )
MCFG_GFXDECODE(f1superb)
- MCFG_VIDEO_START(f1superb)
+ MCFG_VIDEO_START_OVERRIDE(ms32_state,f1superb)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/msisaac.c b/src/mame/drivers/msisaac.c
index 5ed944af06b..660a83f1245 100644
--- a/src/mame/drivers/msisaac.c
+++ b/src/mame/drivers/msisaac.c
@@ -210,9 +210,8 @@ static ADDRESS_MAP_START( msisaac_map, AS_PROGRAM, 8, msisaac_state )
// AM_RANGE(0xfc03, 0xfc04) AM_WRITE(msisaac_coin_counter_w)
ADDRESS_MAP_END
-static MACHINE_RESET( ta7630 )
+MACHINE_RESET_MEMBER(msisaac_state,ta7630)
{
- msisaac_state *state = machine.driver_data<msisaac_state>();
int i;
double db = 0.0;
@@ -221,8 +220,8 @@ static MACHINE_RESET( ta7630 )
for (i=0; i<16; i++)
{
double max = 100.0 / pow(10.0, db/20.0 );
- state->m_vol_ctrl[15 - i] = max;
- /*logerror("vol_ctrl[%x] = %i (%f dB)\n",15 - i, state->m_vol_ctrl[15 - i], db);*/
+ m_vol_ctrl[15 - i] = max;
+ /*logerror("vol_ctrl[%x] = %i (%f dB)\n",15 - i, m_vol_ctrl[15 - i], db);*/
db += db_step;
db_step += db_step_inc;
}
@@ -431,47 +430,45 @@ static const msm5232_interface msm5232_config =
/*******************************************************************************/
-static MACHINE_START( msisaac )
+void msisaac_state::machine_start()
{
- msisaac_state *state = machine.driver_data<msisaac_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
/* video */
- state->save_item(NAME(state->m_bg2_textbank));
+ save_item(NAME(m_bg2_textbank));
/* sound */
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_vol_ctrl));
- state->save_item(NAME(state->m_snd_ctrl0));
- state->save_item(NAME(state->m_snd_ctrl1));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_vol_ctrl));
+ save_item(NAME(m_snd_ctrl0));
+ save_item(NAME(m_snd_ctrl1));
#ifdef USE_MCU
#else
- state->save_item(NAME(state->m_mcu_val));
- state->save_item(NAME(state->m_direction));
+ save_item(NAME(m_mcu_val));
+ save_item(NAME(m_direction));
#endif
}
-static MACHINE_RESET( msisaac )
+void msisaac_state::machine_reset()
{
- msisaac_state *state = machine.driver_data<msisaac_state>();
- MACHINE_RESET_CALL(ta7630);
+ MACHINE_RESET_CALL_MEMBER(ta7630);
/* video */
- state->m_bg2_textbank = 0;
+ m_bg2_textbank = 0;
/* sound */
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_snd_ctrl0 = 0;
- state->m_snd_ctrl1 = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_snd_ctrl0 = 0;
+ m_snd_ctrl1 = 0;
#ifdef USE_MCU
- machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
+ machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
#else
- state->m_mcu_val = 0;
- state->m_direction = 0;
+ m_mcu_val = 0;
+ m_direction = 0;
#endif
}
@@ -492,8 +489,6 @@ static MACHINE_CONFIG_START( msisaac, msisaac_state )
MCFG_DEVICE_ADD("bmcu", BUGGYCHL_MCU, 0)
#endif
- MCFG_MACHINE_START(msisaac)
- MCFG_MACHINE_RESET(msisaac)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -506,7 +501,6 @@ static MACHINE_CONFIG_START( msisaac, msisaac_state )
MCFG_GFXDECODE(msisaac)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(msisaac)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mugsmash.c b/src/mame/drivers/mugsmash.c
index d5b2eb1561e..d48c6265aad 100644
--- a/src/mame/drivers/mugsmash.c
+++ b/src/mame/drivers/mugsmash.c
@@ -399,12 +399,11 @@ static const ym2151_interface ym2151_config =
DEVCB_LINE(irq_handler)
};
-static MACHINE_START( mugsmash )
+void mugsmash_state::machine_start()
{
- mugsmash_state *state = machine.driver_data<mugsmash_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
}
static MACHINE_CONFIG_START( mugsmash, mugsmash_state )
@@ -416,7 +415,6 @@ static MACHINE_CONFIG_START( mugsmash, mugsmash_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* Guess */
MCFG_CPU_PROGRAM_MAP(mugsmash_sound_map)
- MCFG_MACHINE_START(mugsmash)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -428,7 +426,6 @@ static MACHINE_CONFIG_START( mugsmash, mugsmash_state )
MCFG_PALETTE_LENGTH(0x300)
- MCFG_VIDEO_START(mugsmash)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/multfish.c b/src/mame/drivers/multfish.c
index 7fc488b0aee..4193f77fdd4 100644
--- a/src/mame/drivers/multfish.c
+++ b/src/mame/drivers/multfish.c
@@ -235,6 +235,10 @@ public:
DECLARE_DRIVER_INIT(fcockt2ent);
TILE_GET_INFO_MEMBER(get_multfish_tile_info);
TILE_GET_INFO_MEMBER(get_multfish_reel_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(island2a);
};
TILE_GET_INFO_MEMBER(multfish_state::get_multfish_tile_info)
@@ -262,19 +266,18 @@ TILE_GET_INFO_MEMBER(multfish_state::get_multfish_reel_tile_info)
0);
}
-static VIDEO_START(multfish)
+void multfish_state::video_start()
{
- multfish_state *state = machine.driver_data<multfish_state>();
- memset(state->m_vid,0x00,sizeof(state->m_vid));
- state->save_item(NAME(state->m_vid));
+ memset(m_vid,0x00,sizeof(m_vid));
+ save_item(NAME(m_vid));
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(multfish_state::get_multfish_tile_info),state),TILEMAP_SCAN_ROWS,16,16, 64, 32);
- state->m_tilemap->set_transparent_pen(255);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(multfish_state::get_multfish_tile_info),this),TILEMAP_SCAN_ROWS,16,16, 64, 32);
+ m_tilemap->set_transparent_pen(255);
- state->m_reel_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(multfish_state::get_multfish_reel_tile_info),state),TILEMAP_SCAN_ROWS,16,16, 64, 64);
- state->m_reel_tilemap->set_transparent_pen(255);
- state->m_reel_tilemap->set_scroll_cols(64);
+ m_reel_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(multfish_state::get_multfish_reel_tile_info),this),TILEMAP_SCAN_ROWS,16,16, 64, 64);
+ m_reel_tilemap->set_transparent_pen(255);
+ m_reel_tilemap->set_scroll_cols(64);
}
static SCREEN_UPDATE_IND16(multfish)
@@ -1059,27 +1062,25 @@ static GFXDECODE_START( multfish )
GFXDECODE_ENTRY( "gfx", 0, tiles16x16_layout, 0, 16 )
GFXDECODE_END
-static MACHINE_START( multfish )
+void multfish_state::machine_start()
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->save_item(NAME(state->m_disp_enable));
- state->save_item(NAME(state->m_rambk));
- state->save_item(NAME(state->m_hopper_motor));
- state->save_item(NAME(state->m_hopper));
+ save_item(NAME(m_disp_enable));
+ save_item(NAME(m_rambk));
+ save_item(NAME(m_hopper_motor));
+ save_item(NAME(m_hopper));
}
-static MACHINE_RESET( multfish )
+void multfish_state::machine_reset()
{
- multfish_state *state = machine.driver_data<multfish_state>();
- state->membank("bank1")->configure_entries(0, 16, state->memregion("maincpu")->base(), 0x4000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base(), 0x4000);
+ membank("bank1")->set_entry(0);
- state->m_disp_enable = 0;
- state->m_rambk = 0;
- state->m_hopper_motor = 0;
- state->m_hopper = 0;
+ m_disp_enable = 0;
+ m_rambk = 0;
+ m_hopper_motor = 0;
+ m_hopper = 0;
}
static const ay8910_interface ay8910_config =
@@ -1100,8 +1101,6 @@ static MACHINE_CONFIG_START( multfish, multfish_state )
MCFG_CPU_IO_MAP(multfish_portmap)
MCFG_CPU_VBLANK_INT("screen",irq0_line_hold)
- MCFG_MACHINE_START( multfish )
- MCFG_MACHINE_RESET( multfish )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1113,7 +1112,6 @@ static MACHINE_CONFIG_START( multfish, multfish_state )
MCFG_GFXDECODE(multfish)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(multfish)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, 6000000/4)
@@ -1128,18 +1126,18 @@ static MACHINE_CONFIG_DERIVED( rollfr, multfish )
MCFG_CPU_IO_MAP(rollfr_portmap)
MACHINE_CONFIG_END
-static MACHINE_RESET( island2a )
+MACHINE_RESET_MEMBER(multfish_state,island2a)
{
- MACHINE_RESET_CALL(multfish);
+ multfish_state::machine_reset();
// this set needs preprogrammed data in timekeeper
- timekeeper_w(machine.device("m48t35"), 0x2003 , 0x01);
- timekeeper_w(machine.device("m48t35"), 0x4003 , 0x02);
+ timekeeper_w(machine().device("m48t35"), 0x2003 , 0x01);
+ timekeeper_w(machine().device("m48t35"), 0x4003 , 0x02);
}
static MACHINE_CONFIG_DERIVED( island2a, multfish )
/* basic machine hardware */
- MCFG_MACHINE_RESET( island2a )
+ MCFG_MACHINE_RESET_OVERRIDE(multfish_state, island2a )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/multigam.c b/src/mame/drivers/multigam.c
index cc59c9c25ba..68c3e376f04 100644
--- a/src/mame/drivers/multigam.c
+++ b/src/mame/drivers/multigam.c
@@ -137,6 +137,13 @@ public:
DECLARE_DRIVER_INIT(multigmt);
DECLARE_DRIVER_INIT(multigam);
DECLARE_DRIVER_INIT(multigm3);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(multigm3);
+ DECLARE_MACHINE_RESET(multigm3);
+ DECLARE_MACHINE_START(supergm3);
};
@@ -1081,10 +1088,10 @@ static const nes_interface multigam_interface_1 =
"maincpu"
};
-static PALETTE_INIT( multigam )
+void multigam_state::palette_init()
{
- ppu2c0x_device *ppu = machine.device<ppu2c0x_device>("ppu");
- ppu->init_palette(machine, 0);
+ ppu2c0x_device *ppu = machine().device<ppu2c0x_device>("ppu");
+ ppu->init_palette(machine(), 0);
}
static void ppu_irq( device_t *device, int *ppu_regs )
@@ -1103,7 +1110,7 @@ static const ppu2c0x_interface ppu_interface =
ppu_irq /* irq */
};
-static VIDEO_START( multigam )
+void multigam_state::video_start()
{
}
@@ -1125,68 +1132,64 @@ GFXDECODE_END
*******************************************************/
-static MACHINE_RESET( multigam )
+void multigam_state::machine_reset()
{
}
-static MACHINE_RESET( multigm3 )
+MACHINE_RESET_MEMBER(multigam_state,multigm3)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* reset the ppu */
- multigam_state *state = machine.driver_data<multigam_state>();
- state->multigm3_switch_prg_rom(*space, 0, 0x01 );
+ multigm3_switch_prg_rom(*space, 0, 0x01 );
};
-static MACHINE_START( multigam )
+void multigam_state::machine_start()
{
- multigam_state *state = machine.driver_data<multigam_state>();
- state->m_nt_ram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_nt_page[0] = state->m_nt_ram;
- state->m_nt_page[1] = state->m_nt_ram + 0x400;
- state->m_nt_page[2] = state->m_nt_ram + 0x800;
- state->m_nt_page[3] = state->m_nt_ram + 0xc00;
-
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(multigam_state::multigam_nt_r),state), write8_delegate(FUNC(multigam_state::multigam_nt_w),state));
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank1");
- state->membank("bank1")->set_base(state->memregion("gfx1")->base());
+ m_nt_ram = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_nt_page[0] = m_nt_ram;
+ m_nt_page[1] = m_nt_ram + 0x400;
+ m_nt_page[2] = m_nt_ram + 0x800;
+ m_nt_page[3] = m_nt_ram + 0xc00;
+
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(multigam_state::multigam_nt_r),this), write8_delegate(FUNC(multigam_state::multigam_nt_w),this));
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank1");
+ membank("bank1")->set_base(memregion("gfx1")->base());
}
-static MACHINE_START( multigm3 )
+MACHINE_START_MEMBER(multigam_state,multigm3)
{
- multigam_state *state = machine.driver_data<multigam_state>();
- state->m_nt_ram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_nt_page[0] = state->m_nt_ram;
- state->m_nt_page[1] = state->m_nt_ram + 0x400;
- state->m_nt_page[2] = state->m_nt_ram + 0x800;
- state->m_nt_page[3] = state->m_nt_ram + 0xc00;
-
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(multigam_state::multigam_nt_r),state), write8_delegate(FUNC(multigam_state::multigam_nt_w),state));
-
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x03ff, "bank2");
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0400, 0x07ff, "bank3");
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0800, 0x0bff, "bank4");
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0c00, 0x0fff, "bank5");
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x1000, 0x13ff, "bank6");
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x1400, 0x17ff, "bank7");
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x1800, 0x1bff, "bank8");
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x1c00, 0x1fff, "bank9");
-
- set_videorom_bank(machine, 0, 8, 0, 8);
+ m_nt_ram = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_nt_page[0] = m_nt_ram;
+ m_nt_page[1] = m_nt_ram + 0x400;
+ m_nt_page[2] = m_nt_ram + 0x800;
+ m_nt_page[3] = m_nt_ram + 0xc00;
+
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(multigam_state::multigam_nt_r),this), write8_delegate(FUNC(multigam_state::multigam_nt_w),this));
+
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x03ff, "bank2");
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0400, 0x07ff, "bank3");
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0800, 0x0bff, "bank4");
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x0c00, 0x0fff, "bank5");
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x1000, 0x13ff, "bank6");
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x1400, 0x17ff, "bank7");
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x1800, 0x1bff, "bank8");
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_read_bank(0x1c00, 0x1fff, "bank9");
+
+ set_videorom_bank(machine(), 0, 8, 0, 8);
};
-static MACHINE_START( supergm3 )
+MACHINE_START_MEMBER(multigam_state,supergm3)
{
- multigam_state *state = machine.driver_data<multigam_state>();
- state->m_nt_ram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_nt_page[0] = state->m_nt_ram;
- state->m_nt_page[1] = state->m_nt_ram + 0x400;
- state->m_nt_page[2] = state->m_nt_ram + 0x800;
- state->m_nt_page[3] = state->m_nt_ram + 0xc00;
+ m_nt_ram = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_nt_page[0] = m_nt_ram;
+ m_nt_page[1] = m_nt_ram + 0x400;
+ m_nt_page[2] = m_nt_ram + 0x800;
+ m_nt_page[3] = m_nt_ram + 0xc00;
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(multigam_state::multigam_nt_r),state), write8_delegate(FUNC(multigam_state::multigam_nt_w),state));
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(multigam_state::multigam_nt_r),this), write8_delegate(FUNC(multigam_state::multigam_nt_w),this));
- state->m_vram = auto_alloc_array(machine, UINT8, 0x2000);
- state->m_multigmc_mmc3_6000_ram = auto_alloc_array(machine, UINT8, 0x2000);
+ m_vram = auto_alloc_array(machine(), UINT8, 0x2000);
+ m_multigmc_mmc3_6000_ram = auto_alloc_array(machine(), UINT8, 0x2000);
}
static MACHINE_CONFIG_START( multigam, multigam_state )
@@ -1194,8 +1197,6 @@ static MACHINE_CONFIG_START( multigam, multigam_state )
MCFG_CPU_ADD("maincpu", N2A03, N2A03_DEFAULTCLOCK)
MCFG_CPU_PROGRAM_MAP(multigam_map)
- MCFG_MACHINE_START( multigam )
- MCFG_MACHINE_RESET( multigam )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1207,8 +1208,6 @@ static MACHINE_CONFIG_START( multigam, multigam_state )
MCFG_GFXDECODE(multigam)
MCFG_PALETTE_LENGTH(8*4*16)
- MCFG_PALETTE_INIT(multigam)
- MCFG_VIDEO_START(multigam)
MCFG_PPU2C04_ADD("ppu", ppu_interface)
@@ -1227,8 +1226,8 @@ static MACHINE_CONFIG_DERIVED( multigm3, multigam )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(multigm3_map)
- MCFG_MACHINE_START( multigm3 )
- MCFG_MACHINE_RESET( multigm3 )
+ MCFG_MACHINE_START_OVERRIDE(multigam_state, multigm3 )
+ MCFG_MACHINE_RESET_OVERRIDE(multigam_state, multigm3 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( multigmt, multigam )
@@ -1240,7 +1239,7 @@ static MACHINE_CONFIG_DERIVED( supergm3, multigam )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(supergm3_map)
- MCFG_MACHINE_START(supergm3)
+ MCFG_MACHINE_START_OVERRIDE(multigam_state,supergm3)
MACHINE_CONFIG_END
ROM_START( multigam )
diff --git a/src/mame/drivers/munchmo.c b/src/mame/drivers/munchmo.c
index 9423b9e1c27..fa0f3a6b9ac 100644
--- a/src/mame/drivers/munchmo.c
+++ b/src/mame/drivers/munchmo.c
@@ -306,25 +306,23 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( munchmo )
+void munchmo_state::machine_start()
{
- munchmo_state *state = machine.driver_data<munchmo_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_nmi_enable));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_nmi_enable));
}
-static MACHINE_RESET( munchmo )
+void munchmo_state::machine_reset()
{
- munchmo_state *state = machine.driver_data<munchmo_state>();
- state->m_palette_bank = 0;
- state->m_flipscreen = 0;
- state->m_nmi_enable = 0;
+ m_palette_bank = 0;
+ m_flipscreen = 0;
+ m_nmi_enable = 0;
}
static MACHINE_CONFIG_START( mnchmobl, munchmo_state )
@@ -338,8 +336,6 @@ static MACHINE_CONFIG_START( mnchmobl, munchmo_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_VBLANK_INT("screen", mnchmobl_sound_irq)
- MCFG_MACHINE_START(munchmo)
- MCFG_MACHINE_RESET(munchmo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -352,8 +348,6 @@ static MACHINE_CONFIG_START( mnchmobl, munchmo_state )
MCFG_GFXDECODE(mnchmobl)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(mnchmobl)
- MCFG_VIDEO_START(mnchmobl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/murogem.c b/src/mame/drivers/murogem.c
index a1725e78c0b..0ee9369bd98 100644
--- a/src/mame/drivers/murogem.c
+++ b/src/mame/drivers/murogem.c
@@ -119,6 +119,7 @@ public:
required_shared_ptr<UINT8> m_videoram;
DECLARE_WRITE8_MEMBER(outport_w);
+ virtual void palette_init();
};
@@ -198,7 +199,7 @@ static GFXDECODE_START( murogem )
GFXDECODE_END
-static PALETTE_INIT(murogem)
+void murogem_state::palette_init()
{}
static SCREEN_UPDATE_IND16(murogem)
@@ -259,7 +260,6 @@ static MACHINE_CONFIG_START( murogem, murogem_state )
MCFG_GFXDECODE(murogem)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(murogem)
MCFG_MC6845_ADD("crtc", MC6845, 750000, mc6845_intf) /* ? MHz */
diff --git a/src/mame/drivers/murogmbl.c b/src/mame/drivers/murogmbl.c
index 1d62297314b..20bb09d08fb 100644
--- a/src/mame/drivers/murogmbl.c
+++ b/src/mame/drivers/murogmbl.c
@@ -46,12 +46,14 @@ public:
m_video(*this, "video"){ }
required_shared_ptr<UINT8> m_video;
+ virtual void video_start();
+ virtual void palette_init();
};
-static PALETTE_INIT( murogmbl )
+void murogmbl_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit0, bit1, bit2 , r, g, b;
int i;
@@ -70,7 +72,7 @@ static PALETTE_INIT( murogmbl )
bit2 = (color_prom[0] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -87,7 +89,7 @@ static ADDRESS_MAP_START( murogmbl_map, AS_PROGRAM, 8, murogmbl_state )
AM_RANGE(0x7800, 0x7800) AM_READNOP AM_DEVWRITE("dac1", dac_device, write_unsigned8) /* read is always discarded */
ADDRESS_MAP_END
-static VIDEO_START(murogmbl)
+void murogmbl_state::video_start()
{
}
@@ -185,7 +187,6 @@ static MACHINE_CONFIG_START( murogmbl, murogmbl_state )
MCFG_GFXDECODE(murogmbl)
- MCFG_PALETTE_INIT(murogmbl)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -197,7 +198,6 @@ static MACHINE_CONFIG_START( murogmbl, murogmbl_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(murogmbl)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_DAC_ADD("dac1")
diff --git a/src/mame/drivers/mustache.c b/src/mame/drivers/mustache.c
index 31e61b349a5..23807101f2a 100644
--- a/src/mame/drivers/mustache.c
+++ b/src/mame/drivers/mustache.c
@@ -178,10 +178,9 @@ static INTERRUPT_GEN( assert_irq )
*/
}
-static MACHINE_START( mustache )
+void mustache_state::machine_start()
{
- mustache_state *state = machine.driver_data<mustache_state>();
- state->m_clear_irq_timer = machine.scheduler().timer_alloc(FUNC(clear_irq_cb));
+ m_clear_irq_timer = machine().scheduler().timer_alloc(FUNC(clear_irq_cb));
}
static MACHINE_CONFIG_START( mustache, mustache_state )
@@ -195,7 +194,6 @@ static MACHINE_CONFIG_START( mustache, mustache_state )
MCFG_CPU_PROGRAM_MAP(t5182_map)
MCFG_CPU_IO_MAP(t5182_io)
- MCFG_MACHINE_START(mustache)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -208,8 +206,6 @@ static MACHINE_CONFIG_START( mustache, mustache_state )
MCFG_GFXDECODE(mustache)
MCFG_PALETTE_LENGTH(8*16+16*8)
- MCFG_PALETTE_INIT(mustache)
- MCFG_VIDEO_START(mustache)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mw8080bw.c b/src/mame/drivers/mw8080bw.c
index 7343b8fd116..e4fdd78df28 100644
--- a/src/mame/drivers/mw8080bw.c
+++ b/src/mame/drivers/mw8080bw.c
@@ -225,8 +225,8 @@ MACHINE_CONFIG_START( mw8080bw_root, mw8080bw_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu",I8080,MW8080BW_CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(mw8080bw)
- MCFG_MACHINE_RESET(mw8080bw)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,mw8080bw)
+ MCFG_MACHINE_RESET_OVERRIDE(mw8080bw_state,mw8080bw)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -881,21 +881,20 @@ static TIMER_CALLBACK( maze_tone_timing_timer_callback )
}
-static MACHINE_START( maze )
+MACHINE_START_MEMBER(mw8080bw_state,maze)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* create astable timer for IC B1 */
- machine.scheduler().timer_pulse(MAZE_555_B1_PERIOD, FUNC(maze_tone_timing_timer_callback));
+ machine().scheduler().timer_pulse(MAZE_555_B1_PERIOD, FUNC(maze_tone_timing_timer_callback));
/* initialize state of Tone Timing FF, IC C1 */
- state->m_maze_tone_timing_state = 0;
+ m_maze_tone_timing_state = 0;
/* setup for save states */
- state->save_item(NAME(state->m_maze_tone_timing_state));
- machine.save().register_postload(save_prepost_delegate(FUNC(maze_update_discrete), &machine));
+ save_item(NAME(m_maze_tone_timing_state));
+ machine().save().register_postload(save_prepost_delegate(FUNC(maze_update_discrete), &machine()));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -958,7 +957,7 @@ static MACHINE_CONFIG_DERIVED( maze, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(maze_io_map)
- MCFG_MACHINE_START(maze)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,maze)
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_K(270), CAP_U(10))) /* 2.97s */
/* audio hardware */
@@ -974,14 +973,13 @@ MACHINE_CONFIG_END
*
*************************************/
-static MACHINE_START( boothill )
+MACHINE_START_MEMBER(mw8080bw_state,boothill)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* setup for save states */
- state->save_item(NAME(state->m_rev_shift_res));
+ save_item(NAME(m_rev_shift_res));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1050,7 +1048,7 @@ static MACHINE_CONFIG_DERIVED( boothill, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(boothill_io_map)
- MCFG_MACHINE_START(boothill)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,boothill)
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_K(270), CAP_U(10))) /* 2.97s */
/* add shifter */
@@ -1175,14 +1173,13 @@ MACHINE_CONFIG_END
#define DESERTGU_DIP_SW_0_1_SET_2_TAG ("DIPSW01SET2")
-static MACHINE_START( desertgu )
+MACHINE_START_MEMBER(mw8080bw_state,desertgu)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* setup for save states */
- state->save_item(NAME(state->m_desertgun_controller_select));
+ save_item(NAME(m_desertgun_controller_select));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1283,7 +1280,7 @@ static MACHINE_CONFIG_DERIVED( desertgu, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(desertgu_io_map)
- MCFG_MACHINE_START(desertgu)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,desertgu)
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1501,14 +1498,13 @@ MACHINE_CONFIG_END
*
*************************************/
-static MACHINE_START( gmissile )
+MACHINE_START_MEMBER(mw8080bw_state,gmissile)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* setup for save states */
- state->save_item(NAME(state->m_rev_shift_res));
+ save_item(NAME(m_rev_shift_res));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1578,7 +1574,7 @@ static MACHINE_CONFIG_DERIVED( gmissile, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(gmissile_io_map)
- MCFG_MACHINE_START(gmissile)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,gmissile)
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1597,14 +1593,13 @@ MACHINE_CONFIG_END
*
*************************************/
-static MACHINE_START( m4 )
+MACHINE_START_MEMBER(mw8080bw_state,m4)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* setup for save states */
- state->save_item(NAME(state->m_rev_shift_res));
+ save_item(NAME(m_rev_shift_res));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1672,7 +1667,7 @@ static MACHINE_CONFIG_DERIVED( m4, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(m4_io_map)
- MCFG_MACHINE_START(m4)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,m4)
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1695,14 +1690,13 @@ MACHINE_CONFIG_END
#define CLOWNS_CONTROLLER_P2_TAG ("CONTP2")
-static MACHINE_START( clowns )
+MACHINE_START_MEMBER(mw8080bw_state,clowns)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* setup for save states */
- state->save_item(NAME(state->m_clowns_controller_select));
+ save_item(NAME(m_clowns_controller_select));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1841,7 +1835,7 @@ static MACHINE_CONFIG_DERIVED( clowns, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(clowns_io_map)
- MCFG_MACHINE_START(clowns)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,clowns)
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -1935,7 +1929,7 @@ static MACHINE_CONFIG_DERIVED( spacwalk, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(spacwalk_io_map)
- MCFG_MACHINE_START(clowns)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,clowns)
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* add shifter */
@@ -2130,17 +2124,16 @@ static TIMER_DEVICE_CALLBACK( spcenctr_strobe_timer_callback )
}
-static MACHINE_START( spcenctr )
+MACHINE_START_MEMBER(mw8080bw_state,spcenctr)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* setup for save states */
- state->save_item(NAME(state->m_spcenctr_strobe_state));
- state->save_item(NAME(state->m_spcenctr_trench_width));
- state->save_item(NAME(state->m_spcenctr_trench_center));
- state->save_item(NAME(state->m_spcenctr_trench_slope));
+ save_item(NAME(m_spcenctr_strobe_state));
+ save_item(NAME(m_spcenctr_trench_width));
+ save_item(NAME(m_spcenctr_trench_center));
+ save_item(NAME(m_spcenctr_trench_slope));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
#if 0
@@ -2263,7 +2256,7 @@ static MACHINE_CONFIG_DERIVED( spcenctr, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(spcenctr_io_map)
- MCFG_MACHINE_START(spcenctr)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,spcenctr)
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* timers */
@@ -2292,14 +2285,13 @@ MACHINE_CONFIG_END
*************************************/
-static MACHINE_START( phantom2 )
+MACHINE_START_MEMBER(mw8080bw_state,phantom2)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* setup for save states */
- state->save_item(NAME(state->m_phantom2_cloud_counter));
+ save_item(NAME(m_phantom2_cloud_counter));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -2359,7 +2351,7 @@ static MACHINE_CONFIG_DERIVED( phantom2, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(phantom2_io_map)
- MCFG_MACHINE_START(phantom2)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,phantom2)
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* video hardware */
@@ -2516,14 +2508,13 @@ MACHINE_CONFIG_END
*
*************************************/
-static MACHINE_START( invaders )
+MACHINE_START_MEMBER(mw8080bw_state,invaders)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* setup for save states */
- state->save_item(NAME(state->m_invaders_flip_screen));
+ save_item(NAME(m_invaders_flip_screen));
- MACHINE_START_CALL(mw8080bw);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -2709,7 +2700,7 @@ MACHINE_CONFIG_DERIVED( invaders, mw8080bw_root )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(invaders_io_map)
- MCFG_MACHINE_START(invaders)
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,invaders)
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
/* video hardware */
diff --git a/src/mame/drivers/mwarr.c b/src/mame/drivers/mwarr.c
index b2c5404b69c..fcb04051420 100644
--- a/src/mame/drivers/mwarr.c
+++ b/src/mame/drivers/mwarr.c
@@ -96,6 +96,9 @@ public:
TILE_GET_INFO_MEMBER(get_mlow_tile_info);
TILE_GET_INFO_MEMBER(get_mhigh_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -387,24 +390,23 @@ TILE_GET_INFO_MEMBER(mwarr_state::get_tx_tile_info)
SET_TILE_INFO_MEMBER(1, tileno, colour, 0);
}
-static VIDEO_START( mwarr )
+void mwarr_state::video_start()
{
- mwarr_state *state = machine.driver_data<mwarr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
- state->m_mlow_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_mlow_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
- state->m_mhigh_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_mhigh_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
+ m_mlow_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_mlow_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
+ m_mhigh_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_mhigh_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_mlow_tilemap->set_transparent_pen(0);
- state->m_mhigh_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_mlow_tilemap->set_transparent_pen(0);
+ m_mhigh_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_rows(256);
- state->m_mlow_tilemap->set_scroll_rows(256);
- state->m_mhigh_tilemap->set_scroll_rows(256);
+ m_bg_tilemap->set_scroll_rows(256);
+ m_mlow_tilemap->set_scroll_rows(256);
+ m_mhigh_tilemap->set_scroll_rows(256);
- state->save_item(NAME(state->m_sprites_buffer));
+ save_item(NAME(m_sprites_buffer));
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -539,18 +541,16 @@ static SCREEN_UPDATE_IND16( mwarr )
*
*************************************/
-static MACHINE_START( mwarr )
+void mwarr_state::machine_start()
{
- mwarr_state *state = machine.driver_data<mwarr_state>();
- state->save_item(NAME(state->m_which));
+ save_item(NAME(m_which));
}
-static MACHINE_RESET( mwarr )
+void mwarr_state::machine_reset()
{
- mwarr_state *state = machine.driver_data<mwarr_state>();
- state->m_which = 0;
+ m_which = 0;
}
static MACHINE_CONFIG_START( mwarr, mwarr_state )
@@ -560,8 +560,6 @@ static MACHINE_CONFIG_START( mwarr, mwarr_state )
MCFG_CPU_PROGRAM_MAP(mwarr_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(mwarr)
- MCFG_MACHINE_RESET(mwarr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -574,7 +572,6 @@ static MACHINE_CONFIG_START( mwarr, mwarr_state )
MCFG_GFXDECODE(mwarr)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(mwarr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index 0d7162c695b..3c71760a441 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -837,24 +837,23 @@ static GFXDECODE_START( dadandrn )
GFXDECODE_ENTRY( "gfx3", 0, bglayout_8bpp, 0x0000, 8 )
GFXDECODE_END
-static MACHINE_START( mystwarr )
+MACHINE_START_MEMBER(mystwarr_state,mystwarr)
{
- mystwarr_state *state = machine.driver_data<mystwarr_state>();
/* set default bankswitch */
- state->m_cur_sound_region = 2;
- reset_sound_region(machine);
+ m_cur_sound_region = 2;
+ reset_sound_region(machine());
- state->m_mw_irq_control = 0;
+ m_mw_irq_control = 0;
- state_save_register_global(machine, state->m_mw_irq_control);
- state_save_register_global(machine, state->m_cur_sound_region);
- machine.save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine));
+ state_save_register_global(machine(), m_mw_irq_control);
+ state_save_register_global(machine(), m_cur_sound_region);
+ machine().save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine()));
}
-static MACHINE_RESET(mystwarr)
+MACHINE_RESET_MEMBER(mystwarr_state,mystwarr)
{
- k054539_device *k054539_1 = machine.device<k054539_device>("konami1");
- k054539_device *k054539_2 = machine.device<k054539_device>("konami2");
+ k054539_device *k054539_1 = machine().device<k054539_device>("konami1");
+ k054539_device *k054539_2 = machine().device<k054539_device>("konami2");
int i;
// soften chorus(chip 0 channel 0-3), boost voice(chip 0 channel 4-7)
@@ -868,28 +867,28 @@ static MACHINE_RESET(mystwarr)
for (i=0; i<=7; i++) k054539_2->set_gain(i, 0.5);
}
-static MACHINE_RESET(dadandrn)
+MACHINE_RESET_MEMBER(mystwarr_state,dadandrn)
{
- k054539_device *k054539_1 = machine.device<k054539_device>("konami1");
+ k054539_device *k054539_1 = machine().device<k054539_device>("konami1");
int i;
// boost voice(chip 0 channel 4-7)
for (i=4; i<=7; i++) k054539_1->set_gain(i, 2.0);
}
-static MACHINE_RESET(viostorm)
+MACHINE_RESET_MEMBER(mystwarr_state,viostorm)
{
- k054539_device *k054539_1 = machine.device<k054539_device>("konami1");
+ k054539_device *k054539_1 = machine().device<k054539_device>("konami1");
int i;
// boost voice(chip 0 channel 4-7)
for (i=4; i<=7; i++) k054539_1->set_gain(i, 2.0);
}
-static MACHINE_RESET(metamrph)
+MACHINE_RESET_MEMBER(mystwarr_state,metamrph)
{
- k054539_device *k054539_1 = machine.device<k054539_device>("konami1");
- k054539_device *k054539_2 = machine.device<k054539_device>("konami2");
+ k054539_device *k054539_1 = machine().device<k054539_device>("konami1");
+ k054539_device *k054539_2 = machine().device<k054539_device>("konami2");
int i;
// boost voice(chip 0 channel 4-7) and soften other channels
@@ -902,9 +901,9 @@ static MACHINE_RESET(metamrph)
}
}
-static MACHINE_RESET(martchmp)
+MACHINE_RESET_MEMBER(mystwarr_state,martchmp)
{
- k054539_device *k054539_1 = machine.device<k054539_device>("konami1");
+ k054539_device *k054539_1 = machine().device<k054539_device>("konami1");
int i;
k054539_1->init_flags(k054539_device::REVERSE_STEREO);
@@ -913,9 +912,9 @@ static MACHINE_RESET(martchmp)
for (i=4; i<=7; i++) k054539_1->set_gain(i, 1.4);
}
-static MACHINE_RESET(gaiapols)
+MACHINE_RESET_MEMBER(mystwarr_state,gaiapols)
{
- k054539_device *k054539_1 = machine.device<k054539_device>("konami1");
+ k054539_device *k054539_1 = machine().device<k054539_device>("konami1");
int i;
// boost voice(chip 0 channel 5-7)
@@ -998,8 +997,8 @@ static MACHINE_CONFIG_START( mystwarr, mystwarr_state )
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_K053252_ADD("k053252", 6000000, mystwarr_k053252_intf) // 6 MHz?
- MCFG_MACHINE_START(mystwarr)
- MCFG_MACHINE_RESET(mystwarr)
+ MCFG_MACHINE_START_OVERRIDE(mystwarr_state,mystwarr)
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,mystwarr)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS | VIDEO_UPDATE_AFTER_VBLANK)
@@ -1014,7 +1013,7 @@ static MACHINE_CONFIG_START( mystwarr, mystwarr_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(mystwarr)
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state,mystwarr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1030,7 +1029,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( viostorm, mystwarr )
- MCFG_MACHINE_RESET(viostorm)
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,viostorm)
MCFG_DEVICE_REMOVE("k053252")
MCFG_K053252_ADD("k053252", 16000000/2, viostorm_k053252_intf)
@@ -1042,7 +1041,7 @@ static MACHINE_CONFIG_DERIVED( viostorm, mystwarr )
MCFG_TIMER_CALLBACK(metamrph_interrupt)
/* video hardware */
- MCFG_VIDEO_START(viostorm)
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state,viostorm)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(metamrph)
@@ -1054,7 +1053,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( metamrph, mystwarr )
- MCFG_MACHINE_RESET(metamrph)
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,metamrph)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1067,7 +1066,7 @@ static MACHINE_CONFIG_DERIVED( metamrph, mystwarr )
MCFG_K053250_ADD("k053250_1", "screen", -7, 0)
/* video hardware */
- MCFG_VIDEO_START(metamrph)
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state,metamrph)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(metamrph)
@@ -1079,7 +1078,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( dadandrn, mystwarr )
- MCFG_MACHINE_RESET(dadandrn)
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,dadandrn)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1093,7 +1092,7 @@ static MACHINE_CONFIG_DERIVED( dadandrn, mystwarr )
MCFG_GFXDECODE(dadandrn)
/* video hardware */
- MCFG_VIDEO_START(dadandrn)
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state,dadandrn)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(dadandrn)
@@ -1105,7 +1104,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gaiapols, mystwarr )
- MCFG_MACHINE_RESET(gaiapols)
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,gaiapols)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1122,7 +1121,7 @@ static MACHINE_CONFIG_DERIVED( gaiapols, mystwarr )
MCFG_EEPROM_ADD("eeprom", gaia_eeprom_intf)
/* video hardware */
- MCFG_VIDEO_START(gaiapols)
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state,gaiapols)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(dadandrn)
@@ -1135,7 +1134,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( martchmp, mystwarr )
- MCFG_MACHINE_RESET(martchmp)
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,martchmp)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -1148,7 +1147,7 @@ static MACHINE_CONFIG_DERIVED( martchmp, mystwarr )
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS | VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_VIDEO_START(martchmp)
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state,martchmp)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(martchmp)
diff --git a/src/mame/drivers/n8080.c b/src/mame/drivers/n8080.c
index ee0a76f5546..912dad6c8b1 100644
--- a/src/mame/drivers/n8080.c
+++ b/src/mame/drivers/n8080.c
@@ -469,77 +469,72 @@ static I8085_CONFIG( n8080_cpu_config )
DEVCB_NULL /* SOD changed callback (8085A only) */
};
-static MACHINE_START( n8080 )
+MACHINE_START_MEMBER(n8080_state,n8080)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_shift_data));
- state->save_item(NAME(state->m_shift_bits));
- state->save_item(NAME(state->m_inte));
+ save_item(NAME(m_shift_data));
+ save_item(NAME(m_shift_bits));
+ save_item(NAME(m_inte));
}
-static MACHINE_START( spacefev )
+MACHINE_START_MEMBER(n8080_state,spacefev)
{
- MACHINE_START_CALL(n8080);
- MACHINE_START_CALL(spacefev_sound);
+ MACHINE_START_CALL_MEMBER(n8080);
+ MACHINE_START_CALL_MEMBER(spacefev_sound);
}
-static MACHINE_START( sheriff )
+MACHINE_START_MEMBER(n8080_state,sheriff)
{
- MACHINE_START_CALL(n8080);
- MACHINE_START_CALL(sheriff_sound);
+ MACHINE_START_CALL_MEMBER(n8080);
+ MACHINE_START_CALL_MEMBER(sheriff_sound);
}
-static MACHINE_START( helifire )
+MACHINE_START_MEMBER(n8080_state,helifire)
{
- MACHINE_START_CALL(n8080);
- MACHINE_START_CALL(helifire_sound);
+ MACHINE_START_CALL_MEMBER(n8080);
+ MACHINE_START_CALL_MEMBER(helifire_sound);
}
-static MACHINE_RESET( n8080 )
+MACHINE_RESET_MEMBER(n8080_state,n8080)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->m_shift_data = 0;
- state->m_shift_bits = 0;
- state->m_inte = 0;
+ m_shift_data = 0;
+ m_shift_bits = 0;
+ m_inte = 0;
}
-static MACHINE_RESET( spacefev )
+MACHINE_RESET_MEMBER(n8080_state,spacefev)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- MACHINE_RESET_CALL(n8080);
- MACHINE_RESET_CALL(spacefev_sound);
+ MACHINE_RESET_CALL_MEMBER(n8080);
+ MACHINE_RESET_CALL_MEMBER(spacefev_sound);
- state->m_spacefev_red_screen = 0;
- state->m_spacefev_red_cannon = 0;
+ m_spacefev_red_screen = 0;
+ m_spacefev_red_cannon = 0;
}
-static MACHINE_RESET( sheriff )
+MACHINE_RESET_MEMBER(n8080_state,sheriff)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- MACHINE_RESET_CALL(n8080);
- MACHINE_RESET_CALL(sheriff_sound);
+ MACHINE_RESET_CALL_MEMBER(n8080);
+ MACHINE_RESET_CALL_MEMBER(sheriff_sound);
- state->m_sheriff_color_mode = 0;
- state->m_sheriff_color_data = 0;
+ m_sheriff_color_mode = 0;
+ m_sheriff_color_data = 0;
}
-static MACHINE_RESET( helifire )
+MACHINE_RESET_MEMBER(n8080_state,helifire)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- MACHINE_RESET_CALL(n8080);
- MACHINE_RESET_CALL(helifire_sound);
+ MACHINE_RESET_CALL_MEMBER(n8080);
+ MACHINE_RESET_CALL_MEMBER(helifire_sound);
- state->m_helifire_mv = 0;
- state->m_helifire_sc = 0;
- state->m_helifire_flash = 0;
+ m_helifire_mv = 0;
+ m_helifire_sc = 0;
+ m_helifire_flash = 0;
}
@@ -551,8 +546,8 @@ static MACHINE_CONFIG_START( spacefev, n8080_state )
MCFG_CPU_PROGRAM_MAP(main_cpu_map)
MCFG_CPU_IO_MAP(main_io_map)
- MCFG_MACHINE_START(spacefev)
- MCFG_MACHINE_RESET(spacefev)
+ MCFG_MACHINE_START_OVERRIDE(n8080_state,spacefev)
+ MCFG_MACHINE_RESET_OVERRIDE(n8080_state,spacefev)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -562,8 +557,8 @@ static MACHINE_CONFIG_START( spacefev, n8080_state )
MCFG_SCREEN_UPDATE_STATIC(spacefev)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(n8080)
- MCFG_VIDEO_START(spacefev)
+ MCFG_PALETTE_INIT_OVERRIDE(n8080_state,n8080)
+ MCFG_VIDEO_START_OVERRIDE(n8080_state,spacefev)
MCFG_TIMER_ADD_SCANLINE("rst1", rst1_tick, "screen", 128, 256)
MCFG_TIMER_ADD_SCANLINE("rst2", rst2_tick, "screen", 240, 256)
@@ -581,8 +576,8 @@ static MACHINE_CONFIG_START( sheriff, n8080_state )
MCFG_CPU_PROGRAM_MAP(main_cpu_map)
MCFG_CPU_IO_MAP(main_io_map)
- MCFG_MACHINE_START(sheriff)
- MCFG_MACHINE_RESET(sheriff)
+ MCFG_MACHINE_START_OVERRIDE(n8080_state,sheriff)
+ MCFG_MACHINE_RESET_OVERRIDE(n8080_state,sheriff)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -592,8 +587,8 @@ static MACHINE_CONFIG_START( sheriff, n8080_state )
MCFG_SCREEN_UPDATE_STATIC(sheriff)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(n8080)
- MCFG_VIDEO_START(sheriff)
+ MCFG_PALETTE_INIT_OVERRIDE(n8080_state,n8080)
+ MCFG_VIDEO_START_OVERRIDE(n8080_state,sheriff)
MCFG_TIMER_ADD_SCANLINE("rst1", rst1_tick, "screen", 128, 256)
MCFG_TIMER_ADD_SCANLINE("rst2", rst2_tick, "screen", 240, 256)
@@ -622,8 +617,8 @@ static MACHINE_CONFIG_START( helifire, n8080_state )
MCFG_CPU_PROGRAM_MAP(helifire_main_cpu_map)
MCFG_CPU_IO_MAP(main_io_map)
- MCFG_MACHINE_START(helifire)
- MCFG_MACHINE_RESET(helifire)
+ MCFG_MACHINE_START_OVERRIDE(n8080_state,helifire)
+ MCFG_MACHINE_RESET_OVERRIDE(n8080_state,helifire)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -634,8 +629,8 @@ static MACHINE_CONFIG_START( helifire, n8080_state )
MCFG_SCREEN_VBLANK_STATIC(helifire)
MCFG_PALETTE_LENGTH(8 + 0x400)
- MCFG_PALETTE_INIT(helifire)
- MCFG_VIDEO_START(helifire)
+ MCFG_PALETTE_INIT_OVERRIDE(n8080_state,helifire)
+ MCFG_VIDEO_START_OVERRIDE(n8080_state,helifire)
MCFG_TIMER_ADD_SCANLINE("rst1", rst1_tick, "screen", 128, 256)
MCFG_TIMER_ADD_SCANLINE("rst2", rst2_tick, "screen", 240, 256)
diff --git a/src/mame/drivers/namcofl.c b/src/mame/drivers/namcofl.c
index ec4cbf2cb25..1f7ac2f4501 100644
--- a/src/mame/drivers/namcofl.c
+++ b/src/mame/drivers/namcofl.c
@@ -566,23 +566,21 @@ static TIMER_DEVICE_CALLBACK( mcu_adc_cb )
}
-static MACHINE_START( namcofl )
+MACHINE_START_MEMBER(namcofl_state,namcofl)
{
- namcofl_state *state = machine.driver_data<namcofl_state>();
- state->m_raster_interrupt_timer = machine.scheduler().timer_alloc(FUNC(raster_interrupt_callback));
+ m_raster_interrupt_timer = machine().scheduler().timer_alloc(FUNC(raster_interrupt_callback));
}
-static MACHINE_RESET( namcofl )
+MACHINE_RESET_MEMBER(namcofl_state,namcofl)
{
- namcofl_state *state = machine.driver_data<namcofl_state>();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(machine.primary_screen->visible_area().max_y + 3), FUNC(network_interrupt_callback));
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(machine.primary_screen->visible_area().max_y + 1), FUNC(vblank_interrupt_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(machine().primary_screen->visible_area().max_y + 3), FUNC(network_interrupt_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(machine().primary_screen->visible_area().max_y + 1), FUNC(vblank_interrupt_callback));
- state->membank("bank1")->set_base(state->memregion("maincpu")->base() );
- state->membank("bank2")->set_base(state->m_workram );
+ membank("bank1")->set_base(memregion("maincpu")->base() );
+ membank("bank2")->set_base(m_workram );
- memset(state->m_workram, 0x00, 0x100000);
+ memset(m_workram, 0x00, 0x100000);
}
@@ -598,8 +596,8 @@ static MACHINE_CONFIG_START( namcofl, namcofl_state )
MCFG_TIMER_ADD_PERIODIC("mcu_irq2", mcu_irq2_cb, attotime::from_hz(60))
MCFG_TIMER_ADD_PERIODIC("mcu_adc", mcu_adc_cb, attotime::from_hz(60))
- MCFG_MACHINE_START(namcofl)
- MCFG_MACHINE_RESET(namcofl)
+ MCFG_MACHINE_START_OVERRIDE(namcofl_state,namcofl)
+ MCFG_MACHINE_RESET_OVERRIDE(namcofl_state,namcofl)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -612,7 +610,7 @@ static MACHINE_CONFIG_START( namcofl, namcofl_state )
MCFG_GFXDECODE(2)
- MCFG_VIDEO_START(namcofl)
+ MCFG_VIDEO_START_OVERRIDE(namcofl_state,namcofl)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_C352_ADD("c352", 48384000/2)
diff --git a/src/mame/drivers/namcona1.c b/src/mame/drivers/namcona1.c
index 91f22a72e21..f3833e4a1c2 100644
--- a/src/mame/drivers/namcona1.c
+++ b/src/mame/drivers/namcona1.c
@@ -914,19 +914,17 @@ WRITE8_MEMBER(namcona1_state::port8_w)
}
-static MACHINE_START( namcona1 )
+void namcona1_state::machine_start()
{
- namcona1_state *state = machine.driver_data<namcona1_state>();
- c140_set_base(machine.device("c140"), state->m_workram);
+ c140_set_base(machine().device("c140"), m_workram);
}
// for games with the MCU emulated, the MCU boots the 68000. don't allow it before that.
-static MACHINE_RESET( namcona1_mcu )
+void namcona1_state::machine_reset()
{
- namcona1_state *state = machine.driver_data<namcona1_state>();
- machine.device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_mcu_port5 = 1;
+ m_mcu_port5 = 1;
}
// "encrypt" player 3 inputs
@@ -1018,8 +1016,6 @@ static MACHINE_CONFIG_START( namcona1, namcona1_state )
MCFG_TIMER_ADD_SCANLINE("scan_mcu", mcu_interrupt, "screen", 0, 1)
MCFG_NVRAM_HANDLER(namcosna1)
- MCFG_MACHINE_START(namcona1)
- MCFG_MACHINE_RESET(namcona1_mcu)
MCFG_QUANTUM_TIME(attotime::from_hz(2400))
/* video hardware */
@@ -1034,7 +1030,6 @@ static MACHINE_CONFIG_START( namcona1, namcona1_state )
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(namcona1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/namconb1.c b/src/mame/drivers/namconb1.c
index 892802094aa..fd5206f0b4b 100644
--- a/src/mame/drivers/namconb1.c
+++ b/src/mame/drivers/namconb1.c
@@ -597,12 +597,11 @@ static NVRAM_HANDLER( namconb1 )
}
} /* namconb1 */
-static MACHINE_START(namconb)
+MACHINE_START_MEMBER(namconb1_state,namconb)
{
- namconb1_state *state = machine.driver_data<namconb1_state>();
- state->m_vblank_irq_active = 0;
- state->m_pos_irq_active = 0;
- memset(state->m_namconb_cpureg, 0, sizeof(state->m_namconb_cpureg));
+ m_vblank_irq_active = 0;
+ m_pos_irq_active = 0;
+ memset(m_namconb_cpureg, 0, sizeof(m_namconb_cpureg));
}
DRIVER_INIT_MEMBER(namconb1_state,nebulray)
@@ -1018,7 +1017,7 @@ static MACHINE_CONFIG_START( namconb1, namconb1_state )
MCFG_TIMER_ADD_SCANLINE("mcu_st", mcu_interrupt, "screen", 0, 1)
MCFG_NVRAM_HANDLER(namconb1)
- MCFG_MACHINE_START(namconb)
+ MCFG_MACHINE_START_OVERRIDE(namconb1_state,namconb)
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1029,7 +1028,7 @@ static MACHINE_CONFIG_START( namconb1, namconb1_state )
MCFG_GFXDECODE(namconb1)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(namconb1)
+ MCFG_VIDEO_START_OVERRIDE(namconb1_state,namconb1)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_C352_ADD("c352", MASTER_CLOCK_HZ/2)
@@ -1050,7 +1049,7 @@ static MACHINE_CONFIG_START( namconb2, namconb1_state )
MCFG_TIMER_ADD_SCANLINE("mcu_st", mcu_interrupt, "screen", 0, 1)
MCFG_NVRAM_HANDLER(namconb1)
- MCFG_MACHINE_START(namconb)
+ MCFG_MACHINE_START_OVERRIDE(namconb1_state,namconb)
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1061,7 +1060,7 @@ static MACHINE_CONFIG_START( namconb2, namconb1_state )
MCFG_GFXDECODE(2)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(namconb2)
+ MCFG_VIDEO_START_OVERRIDE(namconb1_state,namconb2)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_C352_ADD("c352", MASTER_CLOCK_HZ/2)
diff --git a/src/mame/drivers/namcond1.c b/src/mame/drivers/namcond1.c
index 359e0d9dfd9..4d43517ffa1 100644
--- a/src/mame/drivers/namcond1.c
+++ b/src/mame/drivers/namcond1.c
@@ -302,8 +302,6 @@ static MACHINE_CONFIG_START( namcond1, namcond1_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(namcond1)
- MCFG_MACHINE_RESET(namcond1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/namcos1.c b/src/mame/drivers/namcos1.c
index 3319accb96a..aee010d139c 100644
--- a/src/mame/drivers/namcos1.c
+++ b/src/mame/drivers/namcos1.c
@@ -1101,7 +1101,6 @@ static MACHINE_CONFIG_START( ns1, namcos1_state )
// heavy sync required to prevent CPUs from fighting for video RAM access and going into deadlocks
MCFG_QUANTUM_TIME(attotime::from_hz(38400))
- MCFG_MACHINE_RESET(namcos1)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -1118,7 +1117,6 @@ static MACHINE_CONFIG_START( ns1, namcos1_state )
MCFG_GFXDECODE(namcos1)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(namcos1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/namcos10.c b/src/mame/drivers/namcos10.c
index 9584711b6c5..ec3fbd1977f 100644
--- a/src/mame/drivers/namcos10.c
+++ b/src/mame/drivers/namcos10.c
@@ -314,6 +314,7 @@ public:
DECLARE_DRIVER_INIT(gamshara);
DECLARE_DRIVER_INIT(mrdrilrg);
DECLARE_DRIVER_INIT(chocovdr);
+ DECLARE_MACHINE_RESET(namcos10);
};
@@ -593,7 +594,7 @@ DRIVER_INIT_MEMBER(namcos10_state,nflclsfb)
}
-static MACHINE_RESET( namcos10 )
+MACHINE_RESET_MEMBER(namcos10_state,namcos10)
{
}
@@ -602,7 +603,7 @@ static MACHINE_CONFIG_START( namcos10_memm, namcos10_state )
MCFG_CPU_ADD( "maincpu", CXD8606BQ, XTAL_101_4912MHz )
MCFG_CPU_PROGRAM_MAP( namcos10_memm_map )
- MCFG_MACHINE_RESET( namcos10 )
+ MCFG_MACHINE_RESET_OVERRIDE(namcos10_state, namcos10 )
/* video hardware */
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8561CQ, 0x200000, XTAL_53_693175MHz )
@@ -616,7 +617,7 @@ static MACHINE_CONFIG_START( namcos10_memn, namcos10_state )
MCFG_CPU_ADD( "maincpu", CXD8606BQ, XTAL_101_4912MHz )
MCFG_CPU_PROGRAM_MAP( namcos10_memn_map )
- MCFG_MACHINE_RESET( namcos10 )
+ MCFG_MACHINE_RESET_OVERRIDE(namcos10_state, namcos10 )
/* video hardware */
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8561CQ, 0x200000, XTAL_53_693175MHz )
diff --git a/src/mame/drivers/namcos11.c b/src/mame/drivers/namcos11.c
index 97d78e7238d..b8a982a7f59 100644
--- a/src/mame/drivers/namcos11.c
+++ b/src/mame/drivers/namcos11.c
@@ -341,6 +341,7 @@ public:
DECLARE_DRIVER_INIT(tekken);
DECLARE_DRIVER_INIT(xevi3dg);
DECLARE_DRIVER_INIT(tekken2);
+ DECLARE_MACHINE_RESET(namcos11);
};
INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... )
@@ -992,11 +993,10 @@ DRIVER_INIT_MEMBER(namcos11_state,ptblank2ua)
machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler (0x1f780000, 0x1f78000f, read32_delegate(FUNC(namcos11_state::lightgun_r),this));
}
-static MACHINE_RESET( namcos11 )
+MACHINE_RESET_MEMBER(namcos11_state,namcos11)
{
- namcos11_state *state = machine.driver_data<namcos11_state>();
- memset( state->m_keycus, 0, state->m_keycus_size );
+ memset( m_keycus, 0, m_keycus_size );
}
@@ -1034,7 +1034,7 @@ static MACHINE_CONFIG_START( coh100, namcos11_state )
MCFG_TIMER_ADD_PERIODIC("mcu_irq2", mcu_irq2_cb, attotime::from_hz(60))
MCFG_TIMER_ADD_PERIODIC("mcu_adc", mcu_adc_cb, attotime::from_hz(60))
- MCFG_MACHINE_RESET( namcos11 )
+ MCFG_MACHINE_RESET_OVERRIDE(namcos11_state, namcos11 )
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8538Q, 0x200000, XTAL_53_693175MHz )
diff --git a/src/mame/drivers/namcos12.c b/src/mame/drivers/namcos12.c
index 72cf4eaa83d..bc2525fecca 100644
--- a/src/mame/drivers/namcos12.c
+++ b/src/mame/drivers/namcos12.c
@@ -1096,6 +1096,7 @@ public:
DECLARE_DRIVER_INIT(namcos12);
DECLARE_DRIVER_INIT(ghlpanic);
DECLARE_DRIVER_INIT(ptblank2);
+ DECLARE_MACHINE_RESET(namcos12);
};
INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... )
@@ -1384,55 +1385,54 @@ READ32_MEMBER(namcos12_state::tektagt_protection_3_r)
return 0;
}
-static MACHINE_RESET( namcos12 )
+MACHINE_RESET_MEMBER(namcos12_state,namcos12)
{
- namcos12_state *state = machine.driver_data<namcos12_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- state->bankoffset_w(*space,0,0,0xffffffff);
- state->m_has_tektagt_dma = 0;
-
- if( strcmp( machine.system().name, "tektagt" ) == 0 ||
- strcmp( machine.system().name, "tektagtac" ) == 0 ||
- strcmp( machine.system().name, "tektagtac1" ) == 0 ||
- strcmp( machine.system().name, "tektagtub" ) == 0 ||
- strcmp( machine.system().name, "tektagtjb" ) == 0 ||
- strcmp( machine.system().name, "tektagtja" ) == 0 )
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ bankoffset_w(*space,0,0,0xffffffff);
+ m_has_tektagt_dma = 0;
+
+ if( strcmp( machine().system().name, "tektagt" ) == 0 ||
+ strcmp( machine().system().name, "tektagtac" ) == 0 ||
+ strcmp( machine().system().name, "tektagtac1" ) == 0 ||
+ strcmp( machine().system().name, "tektagtub" ) == 0 ||
+ strcmp( machine().system().name, "tektagtjb" ) == 0 ||
+ strcmp( machine().system().name, "tektagtja" ) == 0 )
{
- state->m_has_tektagt_dma = 1;
- space->install_readwrite_handler(0x1fb00000, 0x1fb00003, read32_delegate(FUNC(namcos12_state::tektagt_protection_1_r),state), write32_delegate(FUNC(namcos12_state::tektagt_protection_1_w),state));
- space->install_readwrite_handler(0x1fb80000, 0x1fb80003, read32_delegate(FUNC(namcos12_state::tektagt_protection_2_r),state), write32_delegate(FUNC(namcos12_state::tektagt_protection_2_w),state));
- space->install_read_handler(0x1f700000, 0x1f700003, read32_delegate(FUNC(namcos12_state::tektagt_protection_3_r),state));
+ m_has_tektagt_dma = 1;
+ space->install_readwrite_handler(0x1fb00000, 0x1fb00003, read32_delegate(FUNC(namcos12_state::tektagt_protection_1_r),this), write32_delegate(FUNC(namcos12_state::tektagt_protection_1_w),this));
+ space->install_readwrite_handler(0x1fb80000, 0x1fb80003, read32_delegate(FUNC(namcos12_state::tektagt_protection_2_r),this), write32_delegate(FUNC(namcos12_state::tektagt_protection_2_w),this));
+ space->install_read_handler(0x1f700000, 0x1f700003, read32_delegate(FUNC(namcos12_state::tektagt_protection_3_r),this));
}
- if( strcmp( machine.system().name, "tektagt" ) == 0 ||
- strcmp( machine.system().name, "tektagtac" ) == 0 ||
- strcmp( machine.system().name, "tektagtac1" ) == 0 ||
- strcmp( machine.system().name, "tektagtub" ) == 0 ||
- strcmp( machine.system().name, "tektagtjb" ) == 0 ||
- strcmp( machine.system().name, "tektagtja" ) == 0 ||
- strcmp( machine.system().name, "fgtlayer" ) == 0 ||
- strcmp( machine.system().name, "golgo13" ) == 0 ||
- strcmp( machine.system().name, "g13knd" ) == 0 ||
- strcmp( machine.system().name, "mrdrillr" ) == 0 ||
- strcmp( machine.system().name, "pacapp" ) == 0 ||
- strcmp( machine.system().name, "pacappsp" ) == 0 ||
- strcmp( machine.system().name, "pacapp2" ) == 0 ||
- strcmp( machine.system().name, "tenkomor" ) == 0 ||
- strcmp( machine.system().name, "tenkomorja" ) == 0 ||
- strcmp( machine.system().name, "ptblank2" ) == 0 ||
- strcmp( machine.system().name, "gunbarl" ) == 0 ||
- strcmp( machine.system().name, "sws2000" ) == 0 ||
- strcmp( machine.system().name, "sws2001" ) == 0 ||
- strcmp( machine.system().name, "truckk" ) == 0 ||
- strcmp( machine.system().name, "ghlpanic" ) == 0 )
+ if( strcmp( machine().system().name, "tektagt" ) == 0 ||
+ strcmp( machine().system().name, "tektagtac" ) == 0 ||
+ strcmp( machine().system().name, "tektagtac1" ) == 0 ||
+ strcmp( machine().system().name, "tektagtub" ) == 0 ||
+ strcmp( machine().system().name, "tektagtjb" ) == 0 ||
+ strcmp( machine().system().name, "tektagtja" ) == 0 ||
+ strcmp( machine().system().name, "fgtlayer" ) == 0 ||
+ strcmp( machine().system().name, "golgo13" ) == 0 ||
+ strcmp( machine().system().name, "g13knd" ) == 0 ||
+ strcmp( machine().system().name, "mrdrillr" ) == 0 ||
+ strcmp( machine().system().name, "pacapp" ) == 0 ||
+ strcmp( machine().system().name, "pacappsp" ) == 0 ||
+ strcmp( machine().system().name, "pacapp2" ) == 0 ||
+ strcmp( machine().system().name, "tenkomor" ) == 0 ||
+ strcmp( machine().system().name, "tenkomorja" ) == 0 ||
+ strcmp( machine().system().name, "ptblank2" ) == 0 ||
+ strcmp( machine().system().name, "gunbarl" ) == 0 ||
+ strcmp( machine().system().name, "sws2000" ) == 0 ||
+ strcmp( machine().system().name, "sws2001" ) == 0 ||
+ strcmp( machine().system().name, "truckk" ) == 0 ||
+ strcmp( machine().system().name, "ghlpanic" ) == 0 )
{
/* this is based on guesswork, it might not even be keycus. */
space->install_read_bank (0x1fc20280, 0x1fc2028b, "bank2" );
- space->install_write_handler(0x1f008000, 0x1f008003, write32_delegate(FUNC(namcos12_state::kcon_w),state));
- space->install_write_handler(0x1f018000, 0x1f018003, write32_delegate(FUNC(namcos12_state::kcoff_w),state));
+ space->install_write_handler(0x1f008000, 0x1f008003, write32_delegate(FUNC(namcos12_state::kcon_w),this));
+ space->install_write_handler(0x1f018000, 0x1f018003, write32_delegate(FUNC(namcos12_state::kcoff_w),this));
- memset( state->m_kcram, 0, sizeof( state->m_kcram ) );
- state->membank( "bank2" )->set_base( state->m_kcram );
+ memset( m_kcram, 0, sizeof( m_kcram ) );
+ membank( "bank2" )->set_base( m_kcram );
}
}
@@ -1677,7 +1677,7 @@ static MACHINE_CONFIG_START( coh700, namcos12_state )
MCFG_CPU_PROGRAM_MAP( s12h8rwmap)
MCFG_CPU_IO_MAP( s12h8iomap)
- MCFG_MACHINE_RESET( namcos12 )
+ MCFG_MACHINE_RESET_OVERRIDE(namcos12_state, namcos12 )
/* video hardware */
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8654Q, 0x200000, XTAL_53_693175MHz )
diff --git a/src/mame/drivers/namcos2.c b/src/mame/drivers/namcos2.c
index 23e376988ec..6abce45eb02 100644
--- a/src/mame/drivers/namcos2.c
+++ b/src/mame/drivers/namcos2.c
@@ -1623,8 +1623,8 @@ static MACHINE_CONFIG_START( default, namcos2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(12000)) /* CPU slices per frame */
- MCFG_MACHINE_START(namcos2)
- MCFG_MACHINE_RESET(namcos2)
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -1697,8 +1697,8 @@ static MACHINE_CONFIG_START( gollygho, namcos2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- MCFG_MACHINE_START(namcos2)
- MCFG_MACHINE_RESET(namcos2)
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -1744,8 +1744,8 @@ static MACHINE_CONFIG_START( finallap, namcos2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- MCFG_MACHINE_START(namcos2)
- MCFG_MACHINE_RESET(namcos2)
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -1759,7 +1759,7 @@ static MACHINE_CONFIG_START( finallap, namcos2_state )
MCFG_GFXDECODE(finallap)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START_OVERRIDE(namcos2_state, video_start_finallap)
+ MCFG_VIDEO_START_OVERRIDE(namcos2_state, finallap)
MCFG_NAMCO_C45_ROAD_ADD("c45_road")
@@ -1795,8 +1795,8 @@ static MACHINE_CONFIG_START( sgunner, namcos2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- MCFG_MACHINE_START(namcos2)
- MCFG_MACHINE_RESET(namcos2)
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -1810,7 +1810,7 @@ static MACHINE_CONFIG_START( sgunner, namcos2_state )
MCFG_GFXDECODE(sgunner)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START_OVERRIDE(namcos2_state, video_start_sgunner)
+ MCFG_VIDEO_START_OVERRIDE(namcos2_state, sgunner)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1844,8 +1844,8 @@ static MACHINE_CONFIG_START( luckywld, namcos2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- MCFG_MACHINE_START(namcos2)
- MCFG_MACHINE_RESET(namcos2)
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -1859,7 +1859,7 @@ static MACHINE_CONFIG_START( luckywld, namcos2_state )
MCFG_GFXDECODE(luckywld)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START_OVERRIDE(namcos2_state, video_start_luckywld)
+ MCFG_VIDEO_START_OVERRIDE(namcos2_state, luckywld)
MCFG_NAMCO_C45_ROAD_ADD("c45_road")
@@ -1895,8 +1895,8 @@ static MACHINE_CONFIG_START( metlhawk, namcos2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- MCFG_MACHINE_START(namcos2)
- MCFG_MACHINE_RESET(namcos2)
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -1910,7 +1910,7 @@ static MACHINE_CONFIG_START( metlhawk, namcos2_state )
MCFG_GFXDECODE(metlhawk)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START_OVERRIDE(namcos2_state, video_start_metlhawk)
+ MCFG_VIDEO_START_OVERRIDE(namcos2_state, metlhawk)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/namcos21.c b/src/mame/drivers/namcos21.c
index 8b91174202c..06e9b5df966 100644
--- a/src/mame/drivers/namcos21.c
+++ b/src/mame/drivers/namcos21.c
@@ -1479,9 +1479,9 @@ static const c140_interface C140_interface =
C140_TYPE_SYSTEM21
};
-static MACHINE_START( namcos21 )
+MACHINE_START_MEMBER(namcos21_state,namcos21)
{
- MACHINE_START_CALL( namcos2 );
+ MACHINE_START_CALL_MEMBER( namcos2 );
namcos2_kickstart = namcos21_kickstart;
}
@@ -1516,8 +1516,8 @@ static MACHINE_CONFIG_START( namcos21, namcos21_state )
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- MCFG_MACHINE_START(namcos21)
- MCFG_MACHINE_RESET(namcos2)
+ MCFG_MACHINE_START_OVERRIDE(namcos21_state,namcos21)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos21_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -1531,7 +1531,7 @@ static MACHINE_CONFIG_START( namcos21, namcos21_state )
MCFG_GFXDECODE(namcos21)
MCFG_PALETTE_LENGTH(NAMCOS21_NUM_COLORS)
- MCFG_VIDEO_START(namcos21)
+ MCFG_VIDEO_START_OVERRIDE(namcos21_state,namcos21)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1571,8 +1571,8 @@ static MACHINE_CONFIG_START( driveyes, namcos21_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- MCFG_MACHINE_START(namcos21)
- MCFG_MACHINE_RESET(namcos2)
+ MCFG_MACHINE_START_OVERRIDE(namcos21_state,namcos21)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos21_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -1586,7 +1586,7 @@ static MACHINE_CONFIG_START( driveyes, namcos21_state )
MCFG_GFXDECODE(namcos21)
MCFG_PALETTE_LENGTH(NAMCOS21_NUM_COLORS)
- MCFG_VIDEO_START(namcos21)
+ MCFG_VIDEO_START_OVERRIDE(namcos21_state,namcos21)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1630,8 +1630,8 @@ static MACHINE_CONFIG_START( winrun, namcos21_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- MCFG_MACHINE_START(namcos21)
- MCFG_MACHINE_RESET(namcos2)
+ MCFG_MACHINE_START_OVERRIDE(namcos21_state,namcos21)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos21_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -1644,7 +1644,7 @@ static MACHINE_CONFIG_START( winrun, namcos21_state )
MCFG_PALETTE_LENGTH(NAMCOS21_NUM_COLORS)
- MCFG_VIDEO_START(namcos21)
+ MCFG_VIDEO_START_OVERRIDE(namcos21_state,namcos21)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index 83241c0ef9d..dab1af6b3d5 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -2937,9 +2937,9 @@ static TIMER_DEVICE_CALLBACK( mcu_irq )
state->m_mcu->set_input_line(M37710_LINE_IRQ2, HOLD_LINE);
}
-static MACHINE_RESET(namcos22)
+void namcos22_state::machine_reset()
{
- InitDSP(machine);
+ InitDSP(machine());
}
static MACHINE_CONFIG_START( namcos22s, namcos22_state )
@@ -2975,8 +2975,7 @@ static MACHINE_CONFIG_START( namcos22s, namcos22_state )
MCFG_PALETTE_LENGTH(NAMCOS22_PALETTE_SIZE)
MCFG_GFXDECODE(super)
- MCFG_VIDEO_START(namcos22s)
- MCFG_MACHINE_RESET(namcos22)
+ MCFG_VIDEO_START_OVERRIDE(namcos22_state,namcos22s)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3224,8 +3223,7 @@ static MACHINE_CONFIG_START( namcos22, namcos22_state )
MCFG_PALETTE_LENGTH(NAMCOS22_PALETTE_SIZE)
MCFG_GFXDECODE(namcos22)
- MCFG_VIDEO_START(namcos22)
- MCFG_MACHINE_RESET(namcos22)
+ MCFG_VIDEO_START_OVERRIDE(namcos22_state,namcos22)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c
index 1396bbf15ee..4d3b17191f2 100644
--- a/src/mame/drivers/namcos23.c
+++ b/src/mame/drivers/namcos23.c
@@ -1431,6 +1431,9 @@ public:
DECLARE_READ8_MEMBER(iob_r);
DECLARE_DRIVER_INIT(ss23);
TILE_GET_INFO_MEMBER(TextTilemapGetInfo);
+ DECLARE_MACHINE_START(s23);
+ DECLARE_VIDEO_START(ss23);
+ DECLARE_MACHINE_RESET(gmen);
};
@@ -2395,25 +2398,24 @@ static void render_run(running_machine &machine, bitmap_rgb32 &bitmap)
}
-static VIDEO_START( ss23 )
+VIDEO_START_MEMBER(namcos23_state,ss23)
{
- namcos23_state *state = machine.driver_data<namcos23_state>();
- machine.gfx[0]->set_source(reinterpret_cast<UINT8 *>(state->m_charram.target()));
- state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos23_state::TextTilemapGetInfo),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_bgtilemap->set_transparent_pen(0xf);
+ machine().gfx[0]->set_source(reinterpret_cast<UINT8 *>(m_charram.target()));
+ m_bgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos23_state::TextTilemapGetInfo),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_bgtilemap->set_transparent_pen(0xf);
// Gorgon's tilemap offset is 0, S23/SS23's is 860
- if ((!strcmp(machine.system().name, "rapidrvr")) ||
- (!strcmp(machine.system().name, "rapidrvr2")) ||
- (!strcmp(machine.system().name, "finlflng")))
+ if ((!strcmp(machine().system().name, "rapidrvr")) ||
+ (!strcmp(machine().system().name, "rapidrvr2")) ||
+ (!strcmp(machine().system().name, "finlflng")))
{
- state->m_bgtilemap->set_scrolldx(0, 0);
+ m_bgtilemap->set_scrolldx(0, 0);
}
else
{
- state->m_bgtilemap->set_scrolldx(860, 860);
+ m_bgtilemap->set_scrolldx(860, 860);
}
- state->m_render.polymgr = poly_alloc(machine, 10000, sizeof(namcos23_render_data), 0);
+ m_render.polymgr = poly_alloc(machine(), 10000, sizeof(namcos23_render_data), 0);
}
static SCREEN_UPDATE_RGB32( ss23 )
@@ -2444,11 +2446,10 @@ static INTERRUPT_GEN(s23_interrupt)
render.count[render.cur] = 0;
}
-static MACHINE_START( s23 )
+MACHINE_START_MEMBER(namcos23_state,s23)
{
- namcos23_state *state = machine.driver_data<namcos23_state>();
- c361_t &c361 = state->m_c361;
- c361.timer = machine.scheduler().timer_alloc(FUNC(c361_timer_cb));
+ c361_t &c361 = m_c361;
+ c361.timer = machine().scheduler().timer_alloc(FUNC(c361_timer_cb));
c361.timer->adjust(attotime::never);
}
@@ -2539,10 +2540,10 @@ static ADDRESS_MAP_START( gmen_sh2_map, AS_PROGRAM, 32, namcos23_state )
AM_RANGE( 0x04000000, 0x043fffff ) AM_RAM // SH-2 main work RAM
ADDRESS_MAP_END
-static MACHINE_RESET(gmen)
+MACHINE_RESET_MEMBER(namcos23_state,gmen)
{
// halt the SH-2 until we need it
- machine.device("gmen")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("gmen")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
WRITE16_MEMBER(namcos23_state::sharedram_sub_w)
@@ -3173,9 +3174,9 @@ static MACHINE_CONFIG_START( gorgon, namcos23_state )
MCFG_GFXDECODE(namcos23)
- MCFG_VIDEO_START(ss23)
+ MCFG_VIDEO_START_OVERRIDE(namcos23_state,ss23)
- MCFG_MACHINE_START(s23)
+ MCFG_MACHINE_START_OVERRIDE(namcos23_state,s23)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3218,9 +3219,9 @@ static MACHINE_CONFIG_START( s23, namcos23_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_VIDEO_START(ss23)
+ MCFG_VIDEO_START_OVERRIDE(namcos23_state,ss23)
- MCFG_MACHINE_START(s23)
+ MCFG_MACHINE_START_OVERRIDE(namcos23_state,s23)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3259,9 +3260,9 @@ static MACHINE_CONFIG_START( ss23, namcos23_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_VIDEO_START(ss23)
+ MCFG_VIDEO_START_OVERRIDE(namcos23_state,ss23)
- MCFG_MACHINE_START(s23)
+ MCFG_MACHINE_START_OVERRIDE(namcos23_state,s23)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3311,7 +3312,7 @@ static MACHINE_CONFIG_DERIVED( gmen, s23 )
MCFG_CPU_ADD("gmen", SH2, 28700000)
MCFG_CPU_PROGRAM_MAP(gmen_sh2_map)
- MCFG_MACHINE_RESET(gmen)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos23_state,gmen)
MACHINE_CONFIG_END
ROM_START( rapidrvr )
diff --git a/src/mame/drivers/namcos86.c b/src/mame/drivers/namcos86.c
index 02418826e7f..ab0a0e129c5 100644
--- a/src/mame/drivers/namcos86.c
+++ b/src/mame/drivers/namcos86.c
@@ -322,11 +322,11 @@ WRITE8_MEMBER(namcos86_state::cus115_w)
}
-static MACHINE_RESET( namco86 )
+void namcos86_state::machine_reset()
{
- UINT8 *base = machine.root_device().memregion("cpu1")->base() + 0x10000;
+ UINT8 *base = machine().root_device().memregion("cpu1")->base() + 0x10000;
- machine.root_device().membank("bank1")->set_base(base);
+ machine().root_device().membank("bank1")->set_base(base);
}
@@ -1005,7 +1005,6 @@ static MACHINE_CONFIG_START( hopmappy, namcos86_state )
MCFG_QUANTUM_TIME(attotime::from_hz(48000)) /* heavy interleaving needed to avoid hangs in rthunder */
- MCFG_MACHINE_RESET(namco86)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1019,8 +1018,6 @@ static MACHINE_CONFIG_START( hopmappy, namcos86_state )
MCFG_GFXDECODE(namcos86)
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT(namcos86)
- MCFG_VIDEO_START(namcos86)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/naomi.c b/src/mame/drivers/naomi.c
index 882038d48f5..98126f9aa3c 100644
--- a/src/mame/drivers/naomi.c
+++ b/src/mame/drivers/naomi.c
@@ -2492,12 +2492,11 @@ static INPUT_PORTS_START( aw1w )
PORT_INCLUDE( naomi_debug )
INPUT_PORTS_END
-static MACHINE_RESET( naomi )
+MACHINE_RESET_MEMBER(dc_state,naomi)
{
- dc_state *state = machine.driver_data<dc_state>();
- MACHINE_RESET_CALL(dc);
- aica_set_ram_base(machine.device("aica"), state->dc_sound_ram, 8*1024*1024);
+ dc_state::machine_reset();
+ aica_set_ram_base(machine().device("aica"), dc_sound_ram, 8*1024*1024);
}
/*
@@ -2516,8 +2515,7 @@ static MACHINE_CONFIG_START( naomi_aw_base, dc_state )
MCFG_MAPLE_DC_ADD( "maple_dc", "maincpu", dc_maple_irq )
- MCFG_MACHINE_START( dc )
- MCFG_MACHINE_RESET( naomi )
+ MCFG_MACHINE_RESET_OVERRIDE(dc_state,naomi)
MCFG_EEPROM_93C46_ADD("main_eeprom")
MCFG_EEPROM_DEFAULT_VALUE(0)
@@ -2532,7 +2530,6 @@ static MACHINE_CONFIG_START( naomi_aw_base, dc_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(dc)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("aica", AICA, 0)
diff --git a/src/mame/drivers/naughtyb.c b/src/mame/drivers/naughtyb.c
index 935c6900c84..d7f175706cb 100644
--- a/src/mame/drivers/naughtyb.c
+++ b/src/mame/drivers/naughtyb.c
@@ -436,8 +436,6 @@ static MACHINE_CONFIG_START( naughtyb, naughtyb_state )
MCFG_GFXDECODE(naughtyb)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(naughtyb)
- MCFG_VIDEO_START(naughtyb)
/* sound hardware */
/* uses the TMS3615NS for sound */
@@ -470,8 +468,6 @@ static MACHINE_CONFIG_START( popflame, naughtyb_state )
MCFG_GFXDECODE(naughtyb)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(naughtyb)
- MCFG_VIDEO_START(naughtyb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/nbmj8688.c b/src/mame/drivers/nbmj8688.c
index 8489c20ae0e..c2daaaea083 100644
--- a/src/mame/drivers/nbmj8688.c
+++ b/src/mame/drivers/nbmj8688.c
@@ -2925,8 +2925,8 @@ static MACHINE_CONFIG_START( NBMJDRV_4096, nbmj8688_state )
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT(mbmj8688_12bit)
- MCFG_VIDEO_START(mbmj8688_pure_12bit)
+ MCFG_PALETTE_INIT_OVERRIDE(nbmj8688_state,mbmj8688_12bit)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_pure_12bit)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2946,8 +2946,8 @@ static MACHINE_CONFIG_DERIVED( NBMJDRV_256, NBMJDRV_4096 )
/* video hardware */
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(mbmj8688_8bit)
- MCFG_VIDEO_START(mbmj8688_8bit)
+ MCFG_PALETTE_INIT_OVERRIDE(nbmj8688_state,mbmj8688_8bit)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_8bit)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( NBMJDRV_65536, NBMJDRV_4096 )
@@ -2958,8 +2958,8 @@ static MACHINE_CONFIG_DERIVED( NBMJDRV_65536, NBMJDRV_4096 )
MCFG_SCREEN_MODIFY("screen")
MCFG_PALETTE_LENGTH(65536)
- MCFG_PALETTE_INIT(mbmj8688_16bit)
- MCFG_VIDEO_START(mbmj8688_hybrid_16bit)
+ MCFG_PALETTE_INIT_OVERRIDE(nbmj8688_state,mbmj8688_16bit)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_hybrid_16bit)
MACHINE_CONFIG_END
// --------------------------------------------------------------------------------
@@ -2988,7 +2988,7 @@ static MACHINE_CONFIG_DERIVED( mbmj_h12bit, NBMJDRV_4096 )
MCFG_CPU_IO_MAP(secolove_io_map)
/* video hardware */
- MCFG_VIDEO_START(mbmj8688_hybrid_12bit)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_hybrid_12bit)
MACHINE_CONFIG_END
/*Same as h12bit HW with different sound HW + NMI enable bit*/
@@ -3012,7 +3012,7 @@ static MACHINE_CONFIG_DERIVED( mbmj_p16bit, NBMJDRV_65536 )
MCFG_CPU_IO_MAP(secolove_io_map)
/* video hardware */
- MCFG_VIDEO_START(mbmj8688_pure_16bit)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_pure_16bit)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( mbmj_p16bit_LCD, nbmj8688_state )
@@ -3029,7 +3029,7 @@ static MACHINE_CONFIG_START( mbmj_p16bit_LCD, nbmj8688_state )
/* video hardware */
MCFG_PALETTE_LENGTH(65536)
- MCFG_PALETTE_INIT(mbmj8688_16bit)
+ MCFG_PALETTE_INIT_OVERRIDE(nbmj8688_state,mbmj8688_16bit)
MCFG_DEFAULT_LAYOUT(layout_nbmj8688)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3053,7 +3053,7 @@ static MACHINE_CONFIG_START( mbmj_p16bit_LCD, nbmj8688_state )
MCFG_SCREEN_VISIBLE_AREA(0, 480-1, 0, 64-1)
MCFG_SCREEN_UPDATE_STATIC(mbmj8688_lcd1)
- MCFG_VIDEO_START(mbmj8688_pure_16bit_LCD)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_pure_16bit_LCD)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/nbmj8891.c b/src/mame/drivers/nbmj8891.c
index ef8fa0f7c72..04321f200f0 100644
--- a/src/mame/drivers/nbmj8891.c
+++ b/src/mame/drivers/nbmj8891.c
@@ -2616,7 +2616,6 @@ static MACHINE_CONFIG_START( gionbana, nbmj8891_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(nbmj8891_2layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2665,7 +2664,7 @@ static MACHINE_CONFIG_DERIVED( mjcamerb, gionbana )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- MCFG_VIDEO_START(nbmj8891_1layer)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mmcamera, gionbana )
@@ -2679,7 +2678,7 @@ static MACHINE_CONFIG_DERIVED( mmcamera, gionbana )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- MCFG_VIDEO_START(nbmj8891_1layer)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hanamomo, gionbana )
@@ -2692,7 +2691,7 @@ static MACHINE_CONFIG_DERIVED( hanamomo, gionbana )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- MCFG_VIDEO_START(nbmj8891_1layer)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( msjiken, hanamomo )
@@ -2707,7 +2706,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( telmahjn, gionbana )
/* video hardware */
- MCFG_VIDEO_START(nbmj8891_1layer)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
MACHINE_CONFIG_END
/* NBMJDRV4 */
@@ -2716,7 +2715,7 @@ static MACHINE_CONFIG_DERIVED( mjfocus, gionbana )
/* basic machine hardware */
/* video hardware */
- MCFG_VIDEO_START(nbmj8891_1layer)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
MACHINE_CONFIG_END
/* NBMJDRV5 */
@@ -2810,7 +2809,7 @@ static MACHINE_CONFIG_DERIVED( mjfocusm, gionbana )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- MCFG_VIDEO_START(nbmj8891_1layer)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
/* sound hardware */
MCFG_SOUND_REPLACE("fmsnd", AY8910, 1250000)
@@ -2831,7 +2830,7 @@ static MACHINE_CONFIG_DERIVED( taiwanmb, gionbana )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- MCFG_VIDEO_START(nbmj8891_1layer)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,nbmj8891_1layer)
/* sound hardware */
MCFG_SOUND_REPLACE("fmsnd", AY8910, 1250000)
diff --git a/src/mame/drivers/nbmj8900.c b/src/mame/drivers/nbmj8900.c
index 9c743641f2e..3cae4e8be78 100644
--- a/src/mame/drivers/nbmj8900.c
+++ b/src/mame/drivers/nbmj8900.c
@@ -321,7 +321,6 @@ static MACHINE_CONFIG_START( ohpaipee, nbmj8900_state )
MCFG_SCREEN_UPDATE_STATIC(nbmj8900)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(nbmj8900_2layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/nbmj8991.c b/src/mame/drivers/nbmj8991.c
index c546aa58eba..3f1c7a0458b 100644
--- a/src/mame/drivers/nbmj8991.c
+++ b/src/mame/drivers/nbmj8991.c
@@ -57,15 +57,15 @@ READ8_MEMBER(nbmj8991_state::nbmj8991_sound_r)
return data;
}
-static MACHINE_RESET( nbmj8991 )
+MACHINE_RESET_MEMBER(nbmj8991_state,nbmj8991)
{
- device_t *audiocpu = machine.device("audiocpu");
+ device_t *audiocpu = machine().device("audiocpu");
if (audiocpu != NULL && audiocpu->type() == Z80)
{
- machine.root_device().membank("bank1")->configure_entries(0, 4, machine.root_device().memregion("audiocpu")->base() + 0x8000, 0x8000);
- machine.root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank1")->configure_entries(0, 4, machine().root_device().memregion("audiocpu")->base() + 0x8000, 0x8000);
+ machine().root_device().membank("bank1")->set_entry(0);
}
- MACHINE_RESET_CALL(nb1413m3);
+ nbmj8991_state::machine_reset();
}
DRIVER_INIT_MEMBER(nbmj8991_state,pstadium)
@@ -1475,7 +1475,7 @@ static MACHINE_CONFIG_START( nbmjdrv1, nbmj8991_state ) // galkoku
MCFG_CPU_IO_MAP(galkoku_io_map)
MCFG_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
- MCFG_MACHINE_RESET(nbmj8991)
+ MCFG_MACHINE_RESET_OVERRIDE(nbmj8991_state,nbmj8991)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1487,7 +1487,7 @@ static MACHINE_CONFIG_START( nbmjdrv1, nbmj8991_state ) // galkoku
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(nbmj8991)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8991_state,nbmj8991)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1512,7 +1512,7 @@ static MACHINE_CONFIG_START( nbmjdrv2, nbmj8991_state ) // pstadium
MCFG_CPU_IO_MAP(nbmj8991_sound_io_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 128*60) // ?
- MCFG_MACHINE_RESET(nbmj8991)
+ MCFG_MACHINE_RESET_OVERRIDE(nbmj8991_state,nbmj8991)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1524,7 +1524,7 @@ static MACHINE_CONFIG_START( nbmjdrv2, nbmj8991_state ) // pstadium
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(nbmj8991)
+ MCFG_VIDEO_START_OVERRIDE(nbmj8991_state,nbmj8991)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/nbmj9195.c b/src/mame/drivers/nbmj9195.c
index 5913f22dad9..a4c8928b399 100644
--- a/src/mame/drivers/nbmj9195.c
+++ b/src/mame/drivers/nbmj9195.c
@@ -634,17 +634,16 @@ static Z80CTC_INTERFACE( ctc_intf_audio )
DEVCB_NULL /* ZC/TO2 callback */
};
-static MACHINE_RESET( sailorws )
+void nbmj9195_state::machine_reset()
{
- nbmj9195_state *state = machine.driver_data<nbmj9195_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
// initialize TMPZ84C011 PIO
for (i = 0; i < (5 * 2); i++)
{
- state->m_pio_dir[i] = state->m_pio_latch[i] = 0;
- state->tmpz84c011_pio_w(*space, i, 0);
+ m_pio_dir[i] = m_pio_latch[i] = 0;
+ tmpz84c011_pio_w(*space, i, 0);
}
}
@@ -3176,7 +3175,6 @@ static MACHINE_CONFIG_START( NBMJDRV1, nbmj9195_state )
MCFG_Z80CTC_ADD("main_ctc", 12000000/2 /* same as "maincpu" */, ctc_intf_main)
MCFG_Z80CTC_ADD("audio_ctc", 8000000 /* same as "audiocpu" */, ctc_intf_audio)
- MCFG_MACHINE_RESET(sailorws)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
@@ -3189,7 +3187,6 @@ static MACHINE_CONFIG_START( NBMJDRV1, nbmj9195_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(nbmj9195_2layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3210,7 +3207,7 @@ static MACHINE_CONFIG_DERIVED( NBMJDRV2, NBMJDRV1 )
/* basic machine hardware */
/* video hardware */
- MCFG_VIDEO_START(nbmj9195_1layer)
+ MCFG_VIDEO_START_OVERRIDE(nbmj9195_state,nbmj9195_1layer)
MACHINE_CONFIG_END
@@ -3221,7 +3218,7 @@ static MACHINE_CONFIG_DERIVED( NBMJDRV3, NBMJDRV1 )
/* video hardware */
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(nbmj9195_nb22090)
+ MCFG_VIDEO_START_OVERRIDE(nbmj9195_state,nbmj9195_nb22090)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(nbmj9195)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nemesis.c b/src/mame/drivers/nemesis.c
index 45ae796da9f..d5143eb6309 100644
--- a/src/mame/drivers/nemesis.c
+++ b/src/mame/drivers/nemesis.c
@@ -1516,42 +1516,40 @@ static const k007232_interface k007232_config =
/******************************************************************************/
-static MACHINE_START( nemesis )
+void nemesis_state::machine_start()
{
- nemesis_state *state = machine.driver_data<nemesis_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_vlm = machine.device("vlm");
-
- state->save_item(NAME(state->m_irq_on));
- state->save_item(NAME(state->m_irq1_on));
- state->save_item(NAME(state->m_irq2_on));
- state->save_item(NAME(state->m_irq4_on));
- state->save_item(NAME(state->m_frame_counter));
- state->save_item(NAME(state->m_gx400_irq1_cnt));
- state->save_item(NAME(state->m_selected_ip));
-
- state->save_item(NAME(state->m_tilemap_flip));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_irq_port_last));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_vlm = machine().device("vlm");
+
+ save_item(NAME(m_irq_on));
+ save_item(NAME(m_irq1_on));
+ save_item(NAME(m_irq2_on));
+ save_item(NAME(m_irq4_on));
+ save_item(NAME(m_frame_counter));
+ save_item(NAME(m_gx400_irq1_cnt));
+ save_item(NAME(m_selected_ip));
+
+ save_item(NAME(m_tilemap_flip));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_irq_port_last));
}
-static MACHINE_RESET( nemesis )
+void nemesis_state::machine_reset()
{
- nemesis_state *state = machine.driver_data<nemesis_state>();
-
- state->m_irq_on = 0;
- state->m_irq1_on = 0;
- state->m_irq2_on = 0;
- state->m_irq4_on = 0;
- state->m_gx400_irq1_cnt = 0;
- state->m_frame_counter = 1;
- state->m_selected_ip = 0;
-
- state->m_flipscreen = 0;
- state->m_tilemap_flip = 0;
- state->m_irq_port_last = 0;
+
+ m_irq_on = 0;
+ m_irq1_on = 0;
+ m_irq2_on = 0;
+ m_irq4_on = 0;
+ m_gx400_irq1_cnt = 0;
+ m_frame_counter = 1;
+ m_selected_ip = 0;
+
+ m_flipscreen = 0;
+ m_tilemap_flip = 0;
+ m_irq_port_last = 0;
}
static MACHINE_CONFIG_START( nemesis, nemesis_state )
@@ -1565,8 +1563,6 @@ static MACHINE_CONFIG_START( nemesis, nemesis_state )
MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* From schematics, should be accurate */
MCFG_CPU_PROGRAM_MAP(sound_map) /* fixed */
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1579,7 +1575,6 @@ static MACHINE_CONFIG_START( nemesis, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1611,8 +1606,6 @@ static MACHINE_CONFIG_START( gx400, nemesis_state )
MCFG_CPU_PROGRAM_MAP(gx400_sound_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) /* interrupts are triggered by the main CPU */
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1625,7 +1618,6 @@ static MACHINE_CONFIG_START( gx400, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1656,8 +1648,6 @@ static MACHINE_CONFIG_START( konamigt, nemesis_state )
MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1670,7 +1660,6 @@ static MACHINE_CONFIG_START( konamigt, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1699,8 +1688,6 @@ static MACHINE_CONFIG_START( rf2_gx400, nemesis_state )
MCFG_CPU_PROGRAM_MAP(gx400_sound_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) /* interrupts are triggered by the main CPU */
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1713,7 +1700,6 @@ static MACHINE_CONFIG_START( rf2_gx400, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1744,8 +1730,6 @@ static MACHINE_CONFIG_START( salamand, nemesis_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
MCFG_CPU_PROGRAM_MAP(sal_sound_map)
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
@@ -1760,7 +1744,6 @@ static MACHINE_CONFIG_START( salamand, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1793,8 +1776,6 @@ static MACHINE_CONFIG_START( blkpnthr, nemesis_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
MCFG_CPU_PROGRAM_MAP(blkpnthr_sound_map)
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1809,7 +1790,6 @@ static MACHINE_CONFIG_START( blkpnthr, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1838,8 +1818,6 @@ static MACHINE_CONFIG_START( citybomb, nemesis_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
MCFG_CPU_PROGRAM_MAP(city_sound_map)
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1854,7 +1832,6 @@ static MACHINE_CONFIG_START( citybomb, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1887,8 +1864,6 @@ static MACHINE_CONFIG_START( nyanpani, nemesis_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
MCFG_CPU_PROGRAM_MAP(city_sound_map)
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1903,7 +1878,6 @@ static MACHINE_CONFIG_START( nyanpani, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1936,8 +1910,6 @@ static MACHINE_CONFIG_START( hcrash, nemesis_state )
MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */
MCFG_CPU_PROGRAM_MAP(sal_sound_map)
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1950,7 +1922,6 @@ static MACHINE_CONFIG_START( hcrash, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2686,8 +2657,6 @@ static MACHINE_CONFIG_START( bubsys, nemesis_state )
MCFG_CPU_PROGRAM_MAP(gx400_sound_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) /* interrupts are triggered by the main CPU */
- MCFG_MACHINE_START(nemesis)
- MCFG_MACHINE_RESET(nemesis)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2700,7 +2669,6 @@ static MACHINE_CONFIG_START( bubsys, nemesis_state )
MCFG_GFXDECODE(nemesis)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(nemesis)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/neogeo.c b/src/mame/drivers/neogeo.c
index ebef77b2815..4522d88af44 100644
--- a/src/mame/drivers/neogeo.c
+++ b/src/mame/drivers/neogeo.c
@@ -986,58 +986,57 @@ static void neogeo_postload(running_machine &machine)
set_outputs(machine);
}
-static MACHINE_START( neogeo )
+void neogeo_state::machine_start()
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
/* configure NVRAM */
- machine.device<nvram_device>("saveram")->set_base(state->m_save_ram, 0x10000);
+ machine().device<nvram_device>("saveram")->set_base(m_save_ram, 0x10000);
/* set the BIOS bank */
- state->membank(NEOGEO_BANK_BIOS)->set_base(state->memregion("mainbios")->base());
+ membank(NEOGEO_BANK_BIOS)->set_base(memregion("mainbios")->base());
/* set the initial main CPU bank */
- main_cpu_banking_init(machine);
+ main_cpu_banking_init(machine());
/* set the initial audio CPU ROM banks */
- audio_cpu_banking_init(machine);
+ audio_cpu_banking_init(machine());
- create_interrupt_timers(machine);
+ create_interrupt_timers(machine());
/* initialize the memcard data structure */
- memcard_data = auto_alloc_array_clear(machine, UINT8, MEMCARD_SIZE);
+ memcard_data = auto_alloc_array_clear(machine(), UINT8, MEMCARD_SIZE);
/* start with an IRQ3 - but NOT on a reset */
- state->m_irq3_pending = 1;
+ m_irq3_pending = 1;
/* get devices */
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_upd4990a = machine.device("upd4990a");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_upd4990a = machine().device("upd4990a");
/* register state save */
- state->save_item(NAME(state->m_display_position_interrupt_control));
- state->save_item(NAME(state->m_display_counter));
- state->save_item(NAME(state->m_vblank_interrupt_pending));
- state->save_item(NAME(state->m_display_position_interrupt_pending));
- state->save_item(NAME(state->m_irq3_pending));
- state->save_item(NAME(state->m_audio_result));
- state->save_item(NAME(state->m_controller_select));
- state->save_item(NAME(state->m_main_cpu_bank_address));
- state->save_item(NAME(state->m_main_cpu_vector_table_source));
- state->save_item(NAME(state->m_audio_cpu_banks));
- state->save_item(NAME(state->m_audio_cpu_rom_source));
- state->save_item(NAME(state->m_audio_cpu_rom_source_last));
- state->save_item(NAME(state->m_save_ram_unlocked));
- state_save_register_global_pointer(machine, memcard_data, 0x800);
- state->save_item(NAME(state->m_output_data));
- state->save_item(NAME(state->m_output_latch));
- state->save_item(NAME(state->m_el_value));
- state->save_item(NAME(state->m_led1_value));
- state->save_item(NAME(state->m_led2_value));
- state->save_item(NAME(state->m_recurse));
-
- machine.save().register_postload(save_prepost_delegate(FUNC(neogeo_postload), &machine));
+ save_item(NAME(m_display_position_interrupt_control));
+ save_item(NAME(m_display_counter));
+ save_item(NAME(m_vblank_interrupt_pending));
+ save_item(NAME(m_display_position_interrupt_pending));
+ save_item(NAME(m_irq3_pending));
+ save_item(NAME(m_audio_result));
+ save_item(NAME(m_controller_select));
+ save_item(NAME(m_main_cpu_bank_address));
+ save_item(NAME(m_main_cpu_vector_table_source));
+ save_item(NAME(m_audio_cpu_banks));
+ save_item(NAME(m_audio_cpu_rom_source));
+ save_item(NAME(m_audio_cpu_rom_source_last));
+ save_item(NAME(m_save_ram_unlocked));
+ state_save_register_global_pointer(machine(), memcard_data, 0x800);
+ save_item(NAME(m_output_data));
+ save_item(NAME(m_output_latch));
+ save_item(NAME(m_el_value));
+ save_item(NAME(m_led1_value));
+ save_item(NAME(m_led2_value));
+ save_item(NAME(m_recurse));
+
+ machine().save().register_postload(save_prepost_delegate(FUNC(neogeo_postload), &machine()));
}
@@ -1048,29 +1047,28 @@ static MACHINE_START( neogeo )
*
*************************************/
-static MACHINE_RESET( neogeo )
+void neogeo_state::machine_reset()
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
offs_t offs;
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* reset system control registers */
for (offs = 0; offs < 8; offs++)
- state->system_control_w(*space, offs, 0, 0x00ff);
+ system_control_w(*space, offs, 0, 0x00ff);
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
- neogeo_reset_rng(machine);
+ neogeo_reset_rng(machine());
- start_interrupt_timers(machine);
+ start_interrupt_timers(machine());
/* trigger the IRQ3 that was set by MACHINE_START */
- update_interrupts(machine);
+ update_interrupts(machine());
- state->m_recurse = 0;
+ m_recurse = 0;
/* AES apparently always uses the cartridge's fixed bank mode */
- // neogeo_set_fixed_layer_source(machine,1);
+ // neogeo_set_fixed_layer_source(machine(),1);
}
@@ -1369,14 +1367,10 @@ static MACHINE_CONFIG_START( neogeo, neogeo_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_usec(128762))
- MCFG_MACHINE_START(neogeo)
- MCFG_MACHINE_RESET(neogeo)
MCFG_NVRAM_ADD_0FILL("saveram")
MCFG_MEMCARD_HANDLER(neogeo)
/* video hardware */
- MCFG_VIDEO_START(neogeo)
- MCFG_VIDEO_RESET(neogeo)
MCFG_DEFAULT_LAYOUT(layout_neogeo)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/neoprint.c b/src/mame/drivers/neoprint.c
index 144bfcf1ac5..655921aeb00 100644
--- a/src/mame/drivers/neoprint.c
+++ b/src/mame/drivers/neoprint.c
@@ -53,10 +53,12 @@ public:
DECLARE_DRIVER_INIT(98best44);
DECLARE_DRIVER_INIT(npcartv1);
DECLARE_DRIVER_INIT(nprsp);
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(nprsp);
};
-VIDEO_START(neoprint)
+void neoprint_state::video_start()
{
}
@@ -481,7 +483,6 @@ static MACHINE_CONFIG_START( neoprint, neoprint_state )
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_VIDEO_START(neoprint)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -493,10 +494,9 @@ static MACHINE_CONFIG_START( neoprint, neoprint_state )
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_RESET( nprsp )
+MACHINE_RESET_MEMBER(neoprint_state,nprsp)
{
- neoprint_state *state = machine.driver_data<neoprint_state>();
- state->m_bank_val = 0;
+ m_bank_val = 0;
}
static MACHINE_CONFIG_START( nprsp, neoprint_state )
@@ -521,11 +521,10 @@ static MACHINE_CONFIG_START( nprsp, neoprint_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(nprsp)
- MCFG_MACHINE_RESET(nprsp)
+ MCFG_MACHINE_RESET_OVERRIDE(neoprint_state,nprsp)
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_VIDEO_START(neoprint)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/news.c b/src/mame/drivers/news.c
index ccfde460a4e..45d04f348be 100644
--- a/src/mame/drivers/news.c
+++ b/src/mame/drivers/news.c
@@ -113,18 +113,16 @@ GFXDECODE_END
-static MACHINE_START( news )
+void news_state::machine_start()
{
- news_state *state = machine.driver_data<news_state>();
- state->save_item(NAME(state->m_bgpic));
+ save_item(NAME(m_bgpic));
}
-static MACHINE_RESET( news )
+void news_state::machine_reset()
{
- news_state *state = machine.driver_data<news_state>();
- state->m_bgpic = 0;
+ m_bgpic = 0;
}
static MACHINE_CONFIG_START( news, news_state )
@@ -134,8 +132,6 @@ static MACHINE_CONFIG_START( news, news_state )
MCFG_CPU_PROGRAM_MAP(news_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(news)
- MCFG_MACHINE_RESET(news)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -148,7 +144,6 @@ static MACHINE_CONFIG_START( news, news_state )
MCFG_GFXDECODE(news)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(news)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/nexus3d.c b/src/mame/drivers/nexus3d.c
index 3230b5100a2..4c0a2bb7f02 100644
--- a/src/mame/drivers/nexus3d.c
+++ b/src/mame/drivers/nexus3d.c
@@ -48,6 +48,8 @@ public:
DECLARE_WRITE8_MEMBER(n3d_flash_cmd_w);
DECLARE_WRITE8_MEMBER(n3d_flash_addr_w);
DECLARE_DRIVER_INIT(nexus3d);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -176,7 +178,7 @@ static INPUT_PORTS_START( nexus3d )
INPUT_PORTS_END
-VIDEO_START( nexus3d )
+void nexus3d_state::video_start()
{
}
@@ -186,9 +188,9 @@ SCREEN_UPDATE_RGB32(nexus3d)
return 0;
}
-static MACHINE_RESET (nexus3d)
+void nexus3d_state::machine_reset()
{
- nexus3d_flash_reset(machine);
+ nexus3d_flash_reset(machine());
}
static MACHINE_CONFIG_START( nexus3d, nexus3d_state )
@@ -206,9 +208,7 @@ static MACHINE_CONFIG_START( nexus3d, nexus3d_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_MACHINE_RESET( nexus3d )
- MCFG_VIDEO_START(nexus3d)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nightgal.c b/src/mame/drivers/nightgal.c
index 1473364b5e7..96faa64162d 100644
--- a/src/mame/drivers/nightgal.c
+++ b/src/mame/drivers/nightgal.c
@@ -76,6 +76,10 @@ public:
DECLARE_READ8_MEMBER(input_2p_r);
DECLARE_DRIVER_INIT(ngalsumr);
DECLARE_DRIVER_INIT(royalqn);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -85,11 +89,10 @@ READ8_MEMBER(nightgal_state::blitter_status_r)
return 0x80;
}
-static VIDEO_START( nightgal )
+void nightgal_state::video_start()
{
- nightgal_state *state = machine.driver_data<nightgal_state>();
- state->save_item(NAME(state->m_blit_buffer));
+ save_item(NAME(m_blit_buffer));
}
static SCREEN_UPDATE_IND16( nightgal )
@@ -252,9 +255,9 @@ WRITE8_MEMBER(nightgal_state::sexygal_nsc_true_blitter_w)
}
/* guess: use the same resistor values as Crazy Climber (needs checking on the real HW) */
-static PALETTE_INIT( nightgal )
+void nightgal_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double weights_rg[3], weights_b[2];
@@ -266,7 +269,7 @@ static PALETTE_INIT( nightgal )
2, resistances_b, weights_b, 0, 0,
0, 0, 0, 0, 0);
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2;
int r, g, b;
@@ -288,7 +291,7 @@ static PALETTE_INIT( nightgal )
bit1 = BIT(color_prom[i], 7);
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -830,35 +833,33 @@ static const ay8910_interface ay8910_config =
};
-static MACHINE_START( nightgal )
+void nightgal_state::machine_start()
{
- nightgal_state *state = machine.driver_data<nightgal_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
- state->save_item(NAME(state->m_nsc_latch));
- state->save_item(NAME(state->m_z80_latch));
- state->save_item(NAME(state->m_mux_data));
+ save_item(NAME(m_nsc_latch));
+ save_item(NAME(m_z80_latch));
+ save_item(NAME(m_mux_data));
- state->save_item(NAME(state->m_blit_raw_data));
- state->save_item(NAME(state->m_true_blit));
- state->save_item(NAME(state->m_pen_data));
- state->save_item(NAME(state->m_pen_raw_data));
+ save_item(NAME(m_blit_raw_data));
+ save_item(NAME(m_true_blit));
+ save_item(NAME(m_pen_data));
+ save_item(NAME(m_pen_raw_data));
}
-static MACHINE_RESET( nightgal )
+void nightgal_state::machine_reset()
{
- nightgal_state *state = machine.driver_data<nightgal_state>();
- state->m_nsc_latch = 0;
- state->m_z80_latch = 0;
- state->m_mux_data = 0;
+ m_nsc_latch = 0;
+ m_z80_latch = 0;
+ m_mux_data = 0;
- memset(state->m_blit_raw_data, 0, ARRAY_LENGTH(state->m_blit_raw_data));
- memset(state->m_true_blit, 0, ARRAY_LENGTH(state->m_true_blit));
- memset(state->m_pen_data, 0, ARRAY_LENGTH(state->m_pen_data));
- memset(state->m_pen_raw_data, 0, ARRAY_LENGTH(state->m_pen_raw_data));
+ memset(m_blit_raw_data, 0, ARRAY_LENGTH(m_blit_raw_data));
+ memset(m_true_blit, 0, ARRAY_LENGTH(m_true_blit));
+ memset(m_pen_data, 0, ARRAY_LENGTH(m_pen_data));
+ memset(m_pen_raw_data, 0, ARRAY_LENGTH(m_pen_raw_data));
}
static MACHINE_CONFIG_START( royalqn, nightgal_state )
@@ -874,8 +875,6 @@ static MACHINE_CONFIG_START( royalqn, nightgal_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(nightgal)
- MCFG_MACHINE_RESET(nightgal)
/* video hardware */
/* TODO: blitter clock is MASTER_CLOCK / 4, 320 x 264 pixels, 256 x 224 of visible area */
@@ -885,11 +884,9 @@ static MACHINE_CONFIG_START( royalqn, nightgal_state )
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-1)
MCFG_SCREEN_UPDATE_STATIC(nightgal)
- MCFG_PALETTE_INIT(nightgal)
MCFG_PALETTE_LENGTH(0x10)
- MCFG_VIDEO_START(nightgal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ninjakd2.c b/src/mame/drivers/ninjakd2.c
index a7db299dc8b..61b0b59fe6b 100644
--- a/src/mame/drivers/ninjakd2.c
+++ b/src/mame/drivers/ninjakd2.c
@@ -172,11 +172,11 @@ static INTERRUPT_GEN( ninjakd2_interrupt )
}
-static MACHINE_RESET( ninjakd2 )
+void ninjakd2_state::machine_reset()
{
/* initialize main Z80 bank */
- machine.root_device().membank("bank1")->configure_entries(0, 8, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
- machine.root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank1")->configure_entries(0, 8, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->set_entry(0);
}
static void robokid_init_banks(running_machine &machine)
@@ -187,16 +187,16 @@ static void robokid_init_banks(running_machine &machine)
machine.root_device().membank("bank1")->set_entry(0);
}
-static MACHINE_RESET( robokid )
+MACHINE_RESET_MEMBER(ninjakd2_state,robokid)
{
- robokid_init_banks(machine);
+ robokid_init_banks(machine());
}
-static MACHINE_RESET( omegaf )
+MACHINE_RESET_MEMBER(ninjakd2_state,omegaf)
{
- robokid_init_banks(machine);
+ robokid_init_banks(machine());
- omegaf_io_protection_reset(machine);
+ omegaf_io_protection_reset(machine());
}
@@ -945,7 +945,6 @@ static MACHINE_CONFIG_START( ninjakd2, ninjakd2_state )
MCFG_CPU_PROGRAM_MAP(ninjakd2_sound_cpu)
MCFG_CPU_IO_MAP(ninjakd2_sound_io)
- MCFG_MACHINE_RESET(ninjakd2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -958,7 +957,6 @@ static MACHINE_CONFIG_START( ninjakd2, ninjakd2_state )
MCFG_GFXDECODE(ninjakd2)
MCFG_PALETTE_LENGTH(0x300)
- MCFG_VIDEO_START(ninjakd2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -988,7 +986,7 @@ static MACHINE_CONFIG_DERIVED( mnight, ninjakd2 )
MCFG_CPU_PROGRAM_MAP(mnight_main_cpu)
/* video hardware */
- MCFG_VIDEO_START(mnight)
+ MCFG_VIDEO_START_OVERRIDE(ninjakd2_state,mnight)
/* sound hardware */
MCFG_DEVICE_REMOVE("pcm")
@@ -1002,7 +1000,7 @@ static MACHINE_CONFIG_DERIVED( arkarea, ninjakd2 )
MCFG_CPU_PROGRAM_MAP(mnight_main_cpu)
/* video hardware */
- MCFG_VIDEO_START(arkarea)
+ MCFG_VIDEO_START_OVERRIDE(ninjakd2_state,arkarea)
/* sound hardware */
MCFG_DEVICE_REMOVE("pcm")
@@ -1015,13 +1013,13 @@ static MACHINE_CONFIG_DERIVED( robokid, mnight )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(robokid_main_cpu)
- MCFG_MACHINE_RESET(robokid)
+ MCFG_MACHINE_RESET_OVERRIDE(ninjakd2_state,robokid)
/* video hardware */
MCFG_GFXDECODE(robokid)
MCFG_PALETTE_LENGTH(0x400) // RAM is this large, but still only 0x300 colors used
- MCFG_VIDEO_START(robokid)
+ MCFG_VIDEO_START_OVERRIDE(ninjakd2_state,robokid)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(robokid)
MACHINE_CONFIG_END
@@ -1033,10 +1031,10 @@ static MACHINE_CONFIG_DERIVED( omegaf, robokid )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(omegaf_main_cpu)
- MCFG_MACHINE_RESET(omegaf)
+ MCFG_MACHINE_RESET_OVERRIDE(ninjakd2_state,omegaf)
/* video hardware */
- MCFG_VIDEO_START(omegaf)
+ MCFG_VIDEO_START_OVERRIDE(ninjakd2_state,omegaf)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(omegaf)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ninjaw.c b/src/mame/drivers/ninjaw.c
index 0d3af52080b..70bf258efac 100644
--- a/src/mame/drivers/ninjaw.c
+++ b/src/mame/drivers/ninjaw.c
@@ -800,44 +800,42 @@ static void ninjaw_postload(running_machine &machine)
reset_sound_region(machine);
}
-static MACHINE_START( ninjaw )
+void ninjaw_state::machine_start()
{
- ninjaw_state *state = machine.driver_data<ninjaw_state>();
- state->membank("bank10")->configure_entries(0, 8, state->memregion("audiocpu")->base() + 0xc000, 0x4000);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_tc0140syt = machine.device("tc0140syt");
- state->m_tc0100scn_1 = machine.device("tc0100scn_1");
- state->m_tc0100scn_2 = machine.device("tc0100scn_2");
- state->m_tc0100scn_3 = machine.device("tc0100scn_3");
-
- state->m_lscreen = machine.device("lscreen");
- state->m_mscreen = machine.device("mscreen");
- state->m_rscreen = machine.device("rscreen");
-
- state->m_2610_1l = machine.device("2610.1.l");
- state->m_2610_1r = machine.device("2610.1.r");
- state->m_2610_2l = machine.device("2610.2.l");
- state->m_2610_2r = machine.device("2610.2.r");
-
- state->save_item(NAME(state->m_cpua_ctrl));
- state->save_item(NAME(state->m_banknum));
- state->save_item(NAME(state->m_pandata));
- machine.save().register_postload(save_prepost_delegate(FUNC(ninjaw_postload), &machine));
+ membank("bank10")->configure_entries(0, 8, memregion("audiocpu")->base() + 0xc000, 0x4000);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_tc0140syt = machine().device("tc0140syt");
+ m_tc0100scn_1 = machine().device("tc0100scn_1");
+ m_tc0100scn_2 = machine().device("tc0100scn_2");
+ m_tc0100scn_3 = machine().device("tc0100scn_3");
+
+ m_lscreen = machine().device("lscreen");
+ m_mscreen = machine().device("mscreen");
+ m_rscreen = machine().device("rscreen");
+
+ m_2610_1l = machine().device("2610.1.l");
+ m_2610_1r = machine().device("2610.1.r");
+ m_2610_2l = machine().device("2610.2.l");
+ m_2610_2r = machine().device("2610.2.r");
+
+ save_item(NAME(m_cpua_ctrl));
+ save_item(NAME(m_banknum));
+ save_item(NAME(m_pandata));
+ machine().save().register_postload(save_prepost_delegate(FUNC(ninjaw_postload), &machine()));
}
-static MACHINE_RESET( ninjaw )
+void ninjaw_state::machine_reset()
{
- ninjaw_state *state = machine.driver_data<ninjaw_state>();
- state->m_cpua_ctrl = 0xff;
- state->m_banknum = 0;
- memset(state->m_pandata, 0, sizeof(state->m_pandata));
+ m_cpua_ctrl = 0xff;
+ m_banknum = 0;
+ memset(m_pandata, 0, sizeof(m_pandata));
/**** mixer control enable ****/
- machine.sound().system_enable(true); /* mixer enabled */
+ machine().sound().system_enable(true); /* mixer enabled */
}
static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
@@ -856,8 +854,6 @@ static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices */
- MCFG_MACHINE_START(ninjaw)
- MCFG_MACHINE_RESET(ninjaw)
MCFG_TC0220IOC_ADD("tc0220ioc", ninjaw_io_intf)
@@ -887,7 +883,6 @@ static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_STATIC(ninjaw_right)
- MCFG_VIDEO_START(ninjaw)
MCFG_TC0100SCN_ADD("tc0100scn_1", darius2_tc0100scn_intf_l)
MCFG_TC0100SCN_ADD("tc0100scn_2", darius2_tc0100scn_intf_m)
@@ -939,8 +934,6 @@ static MACHINE_CONFIG_START( darius2, ninjaw_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices */
- MCFG_MACHINE_START(ninjaw)
- MCFG_MACHINE_RESET(ninjaw)
MCFG_TC0220IOC_ADD("tc0220ioc", ninjaw_io_intf)
@@ -970,7 +963,6 @@ static MACHINE_CONFIG_START( darius2, ninjaw_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_STATIC(ninjaw_right)
- MCFG_VIDEO_START(ninjaw)
MCFG_TC0100SCN_ADD("tc0100scn_1", darius2_tc0100scn_intf_l)
MCFG_TC0100SCN_ADD("tc0100scn_2", darius2_tc0100scn_intf_m)
diff --git a/src/mame/drivers/nitedrvr.c b/src/mame/drivers/nitedrvr.c
index 83ab0006617..ba33762c1c5 100644
--- a/src/mame/drivers/nitedrvr.c
+++ b/src/mame/drivers/nitedrvr.c
@@ -142,8 +142,6 @@ static MACHINE_CONFIG_START( nitedrvr, nitedrvr_state )
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
MCFG_WATCHDOG_VBLANK_INIT(3)
- MCFG_MACHINE_START(nitedrvr)
- MCFG_MACHINE_RESET(nitedrvr)
MCFG_TIMER_ADD_PERIODIC("crash_timer", nitedrvr_crash_toggle_callback, PERIOD_OF_555_ASTABLE(RES_K(180), 330, CAP_U(1)))
@@ -159,7 +157,6 @@ static MACHINE_CONFIG_START( nitedrvr, nitedrvr_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(nitedrvr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/niyanpai.c b/src/mame/drivers/niyanpai.c
index 3289e324a1e..0029530329a 100644
--- a/src/mame/drivers/niyanpai.c
+++ b/src/mame/drivers/niyanpai.c
@@ -243,17 +243,16 @@ static Z80CTC_INTERFACE( ctc_intf )
DEVCB_NULL /* ZC/TO2 callback */
};
-static MACHINE_RESET( niyanpai )
+void niyanpai_state::machine_reset()
{
- niyanpai_state *state = machine.driver_data<niyanpai_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
// initialize TMPZ84C011 PIO
for (i = 0; i < 5; i++)
{
- state->m_pio_dir[i] = state->m_pio_latch[i] = 0;
- state->tmpz84c011_pio_w(*space, i, 0);
+ m_pio_dir[i] = m_pio_latch[i] = 0;
+ tmpz84c011_pio_w(*space, i, 0);
}
}
@@ -953,7 +952,6 @@ static MACHINE_CONFIG_START( niyanpai, niyanpai_state )
MCFG_Z80CTC_ADD("ctc", 8000000 /* same as "audiocpu" */, ctc_intf)
- MCFG_MACHINE_RESET(niyanpai)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -966,7 +964,6 @@ static MACHINE_CONFIG_START( niyanpai, niyanpai_state )
MCFG_PALETTE_LENGTH(256*3)
- MCFG_VIDEO_START(niyanpai)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c
index 065ef6035fd..28a5b62ed1f 100644
--- a/src/mame/drivers/nmg5.c
+++ b/src/mame/drivers/nmg5.c
@@ -272,6 +272,9 @@ public:
DECLARE_DRIVER_INIT(prot_val_40);
TILE_GET_INFO_MEMBER(fg_get_tile_info);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -841,13 +844,12 @@ INPUT_PORTS_END
TILE_GET_INFO_MEMBER(nmg5_state::fg_get_tile_info){ SET_TILE_INFO_MEMBER(0, m_fg_videoram[tile_index] | (m_gfx_bank << 16), 0, 0);}
TILE_GET_INFO_MEMBER(nmg5_state::bg_get_tile_info){ SET_TILE_INFO_MEMBER(0, m_bg_videoram[tile_index] | (m_gfx_bank << 16), 1, 0);}
-static VIDEO_START( nmg5 )
+void nmg5_state::video_start()
{
- nmg5_state *state = machine.driver_data<nmg5_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmg5_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmg5_state::fg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmg5_state::bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmg5_state::fg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_fg_tilemap->set_transparent_pen(0);
}
@@ -982,27 +984,25 @@ static const ym3812_interface ym3812_intf =
soundirq /* IRQ Line */
};
-static MACHINE_START( nmg5 )
+void nmg5_state::machine_start()
{
- nmg5_state *state = machine.driver_data<nmg5_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_soundcpu = machine.device<cpu_device>("soundcpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_soundcpu = machine().device<cpu_device>("soundcpu");
- state->save_item(NAME(state->m_gfx_bank));
- state->save_item(NAME(state->m_priority_reg));
- state->save_item(NAME(state->m_input_data));
+ save_item(NAME(m_gfx_bank));
+ save_item(NAME(m_priority_reg));
+ save_item(NAME(m_input_data));
}
-static MACHINE_RESET( nmg5 )
+void nmg5_state::machine_reset()
{
- nmg5_state *state = machine.driver_data<nmg5_state>();
/* some games don't set the priority register so it should be hard-coded to a normal layout */
- state->m_priority_reg = 7;
+ m_priority_reg = 7;
- state->m_gfx_bank = 0;
- state->m_input_data = 0;
+ m_gfx_bank = 0;
+ m_input_data = 0;
}
static MACHINE_CONFIG_START( nmg5, nmg5_state )
@@ -1016,8 +1016,6 @@ static MACHINE_CONFIG_START( nmg5, nmg5_state )
MCFG_CPU_PROGRAM_MAP(nmg5_sound_map)
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_MACHINE_START(nmg5)
- MCFG_MACHINE_RESET(nmg5)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1030,7 +1028,6 @@ static MACHINE_CONFIG_START( nmg5, nmg5_state )
MCFG_GFXDECODE(nmg5)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(nmg5)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 1);
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index a13df75b8ec..630d69ba9b8 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -191,14 +191,14 @@ WRITE16_MEMBER(nmk16_state::nmk16_mainram_strange_w)
}
-static MACHINE_RESET( NMK004 )
+MACHINE_RESET_MEMBER(nmk16_state,NMK004)
{
- NMK004_init(machine);
+ NMK004_init(machine());
}
-static MACHINE_RESET( mustang_sound )
+MACHINE_RESET_MEMBER(nmk16_state,mustang_sound)
{
- MACHINE_RESET_CALL(seibu_sound);
+ MACHINE_RESET_CALL_LEGACY(seibu_sound);
}
WRITE16_MEMBER(nmk16_state::ssmissin_sound_w)
@@ -3556,7 +3556,7 @@ static MACHINE_CONFIG_START( tharrier, nmk16_state )
MCFG_CPU_PROGRAM_MAP(tharrier_sound_map)
MCFG_CPU_IO_MAP(tharrier_sound_io_map)
- MCFG_MACHINE_RESET(mustang_sound)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,mustang_sound)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3570,7 +3570,7 @@ static MACHINE_CONFIG_START( tharrier, nmk16_state )
MCFG_GFXDECODE(tharrier)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3613,7 +3613,7 @@ static MACHINE_CONFIG_START( manybloc, nmk16_state )
MCFG_GFXDECODE(tharrier)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3640,7 +3640,7 @@ static MACHINE_CONFIG_START( mustang, nmk16_state )
MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1)
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3654,7 +3654,7 @@ static MACHINE_CONFIG_START( mustang, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3683,7 +3683,7 @@ static MACHINE_CONFIG_START( mustangb, nmk16_state )
SEIBU_SOUND_SYSTEM_CPU(14318180/4)
- MCFG_MACHINE_RESET(mustang_sound)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,mustang_sound)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3697,7 +3697,7 @@ static MACHINE_CONFIG_START( mustangb, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4, 1320000)
@@ -3715,7 +3715,7 @@ static MACHINE_CONFIG_START( bioship, nmk16_state )
MCFG_CPU_PERIODIC_INT(irq1_line_hold,100)/* 112 breaks the title screen */
MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1)
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3729,7 +3729,7 @@ static MACHINE_CONFIG_START( bioship, nmk16_state )
MCFG_GFXDECODE(bioship)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(bioship)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,bioship)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3756,7 +3756,7 @@ static MACHINE_CONFIG_START( vandyke, nmk16_state )
MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1)
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3770,7 +3770,7 @@ static MACHINE_CONFIG_START( vandyke, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3800,7 +3800,7 @@ static MACHINE_CONFIG_START( vandykeb, nmk16_state )
MCFG_CPU_ADD("mcu", PIC16C57, 12000000) /* 3MHz */
MCFG_DEVICE_DISABLE()
- //MCFG_MACHINE_RESET(NMK004) // no NMK004
+ //MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) // no NMK004
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3814,7 +3814,7 @@ static MACHINE_CONFIG_START( vandykeb, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3831,7 +3831,7 @@ static MACHINE_CONFIG_START( acrobatm, nmk16_state )
MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1)
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3845,7 +3845,7 @@ static MACHINE_CONFIG_START( acrobatm, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3876,7 +3876,7 @@ static MACHINE_CONFIG_START( tdragonb, nmk16_state ) /* bootleg using Raiden sou
SEIBU_SOUND_SYSTEM_CPU(14318180/4)
- MCFG_MACHINE_RESET(mustang_sound)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,mustang_sound)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3890,7 +3890,7 @@ static MACHINE_CONFIG_START( tdragonb, nmk16_state ) /* bootleg using Raiden sou
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4, 1320000)
@@ -3905,7 +3905,7 @@ static MACHINE_CONFIG_START( tdragon, nmk16_state )
MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ?? drives music */
MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1)
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3919,7 +3919,7 @@ static MACHINE_CONFIG_START( tdragon, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
MCFG_TIMER_ADD_PERIODIC("coinsim", tdragon_mcu_sim, attotime::from_hz(10000)) // not real, but for simulating the MCU
/* sound hardware */
@@ -3962,7 +3962,7 @@ static MACHINE_CONFIG_START( ssmissin, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3980,7 +3980,7 @@ static MACHINE_CONFIG_START( strahl, nmk16_state )
MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1)
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3994,7 +3994,7 @@ static MACHINE_CONFIG_START( strahl, nmk16_state )
MCFG_GFXDECODE(strahl)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(strahl)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,strahl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4021,7 +4021,7 @@ static MACHINE_CONFIG_START( hachamf, nmk16_state )
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4035,7 +4035,7 @@ static MACHINE_CONFIG_START( hachamf, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
MCFG_TIMER_ADD_PERIODIC("coinsim", hachamf_mcu_sim, attotime::from_hz(10000)) // not real, but for simulating the MCU
/* sound hardware */
@@ -4063,7 +4063,7 @@ static MACHINE_CONFIG_START( macross, nmk16_state )
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4077,7 +4077,7 @@ static MACHINE_CONFIG_START( macross, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4104,7 +4104,7 @@ static MACHINE_CONFIG_START( blkheart, nmk16_state )
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4118,7 +4118,7 @@ static MACHINE_CONFIG_START( blkheart, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4145,7 +4145,7 @@ static MACHINE_CONFIG_START( gunnail, nmk16_state )
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)
- MCFG_MACHINE_RESET(NMK004)
+ MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4159,7 +4159,7 @@ static MACHINE_CONFIG_START( gunnail, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(gunnail)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,gunnail)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4202,7 +4202,7 @@ static MACHINE_CONFIG_START( macross2, nmk16_state )
MCFG_GFXDECODE(macross2)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross2)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4244,7 +4244,7 @@ static MACHINE_CONFIG_START( tdragon2, nmk16_state )
MCFG_GFXDECODE(macross2)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross2)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4285,7 +4285,7 @@ static MACHINE_CONFIG_START( raphero, nmk16_state )
MCFG_GFXDECODE(macross2)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(raphero)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,raphero)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4323,7 +4323,7 @@ static MACHINE_CONFIG_START( bjtwin, nmk16_state )
MCFG_GFXDECODE(bjtwin)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(bjtwin)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,bjtwin)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4832,7 +4832,7 @@ static MACHINE_CONFIG_START( stagger1, nmk16_state )
MCFG_GFXDECODE(stagger1)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(afega)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,afega)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -4870,7 +4870,7 @@ static MACHINE_CONFIG_DERIVED( grdnstrm, stagger1 )
/* video hardware */
MCFG_GFXDECODE(grdnstrm)
- MCFG_VIDEO_START(firehawk)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,firehawk)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(firehawk)
MACHINE_CONFIG_END
@@ -4883,7 +4883,7 @@ static MACHINE_CONFIG_DERIVED( grdnstrmk, stagger1 ) /* Side by side with PCB, t
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(57) /* Side by side with PCB, MAME is too fast at 56 */
MCFG_GFXDECODE(grdnstrm)
- MCFG_VIDEO_START(grdnstrm)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,grdnstrm)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( popspops, grdnstrm )
@@ -4917,7 +4917,7 @@ static MACHINE_CONFIG_START( firehawk, nmk16_state )
MCFG_GFXDECODE(grdnstrm)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(firehawk)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,firehawk)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -4952,7 +4952,7 @@ static MACHINE_CONFIG_START( twinactn, nmk16_state )
MCFG_GFXDECODE(macross)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(macross)
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/norautp.c b/src/mame/drivers/norautp.c
index ede6ad8d5cd..4fb4f068330 100644
--- a/src/mame/drivers/norautp.c
+++ b/src/mame/drivers/norautp.c
@@ -557,10 +557,9 @@
* Video Hardware *
*************************/
-static VIDEO_START( norautp )
+void norautp_state::video_start()
{
- norautp_state *state = machine.driver_data<norautp_state>();
- state->m_np_vram = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
+ m_np_vram = auto_alloc_array_clear(machine(), UINT16, 0x1000/2);
}
@@ -606,17 +605,17 @@ static SCREEN_UPDATE_IND16( norautp )
}
-static PALETTE_INIT( norautp )
+void norautp_state::palette_init()
{
/* 1st gfx bank */
- palette_set_color(machine, 0, MAKE_RGB(0x00, 0x00, 0xff)); /* blue */
- palette_set_color(machine, 1, MAKE_RGB(0xff, 0xff, 0x00)); /* yellow */
- palette_set_color(machine, 2, MAKE_RGB(0x00, 0x00, 0xff)); /* blue */
- palette_set_color(machine, 3, MAKE_RGB(0xff, 0xff, 0xff)); /* white */
- palette_set_color(machine, 4, MAKE_RGB(0xff, 0xff, 0xff)); /* white */
- palette_set_color(machine, 5, MAKE_RGB(0xff, 0x00, 0x00)); /* red */
- palette_set_color(machine, 6, MAKE_RGB(0xff, 0xff, 0xff)); /* white */
- palette_set_color(machine, 7, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
+ palette_set_color(machine(), 0, MAKE_RGB(0x00, 0x00, 0xff)); /* blue */
+ palette_set_color(machine(), 1, MAKE_RGB(0xff, 0xff, 0x00)); /* yellow */
+ palette_set_color(machine(), 2, MAKE_RGB(0x00, 0x00, 0xff)); /* blue */
+ palette_set_color(machine(), 3, MAKE_RGB(0xff, 0xff, 0xff)); /* white */
+ palette_set_color(machine(), 4, MAKE_RGB(0xff, 0xff, 0xff)); /* white */
+ palette_set_color(machine(), 5, MAKE_RGB(0xff, 0x00, 0x00)); /* red */
+ palette_set_color(machine(), 6, MAKE_RGB(0xff, 0xff, 0xff)); /* white */
+ palette_set_color(machine(), 7, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
}
@@ -1270,9 +1269,7 @@ static MACHINE_CONFIG_START( noraut_base, norautp_state )
MCFG_GFXDECODE(norautp)
- MCFG_PALETTE_INIT(norautp)
MCFG_PALETTE_LENGTH(8)
- MCFG_VIDEO_START(norautp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c
index 963dfd20e2d..8348dbaf4e4 100644
--- a/src/mame/drivers/nova2001.c
+++ b/src/mame/drivers/nova2001.c
@@ -157,11 +157,10 @@ WRITE8_MEMBER(nova2001_state::ninjakun_cpu2_io_A002_w)
*
*************************************/
-static MACHINE_START( ninjakun )
+MACHINE_START_MEMBER(nova2001_state,ninjakun)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
/* Save State Stuff */
- state_save_register_global(machine, state->m_ninjakun_io_a002_ctrl);
+ state_save_register_global(machine(), m_ninjakun_io_a002_ctrl);
}
@@ -696,8 +695,8 @@ static MACHINE_CONFIG_START( nova2001, nova2001_state )
MCFG_GFXDECODE(nova2001)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(nova2001)
- MCFG_VIDEO_START(nova2001)
+ MCFG_PALETTE_INIT_OVERRIDE(nova2001_state,nova2001)
+ MCFG_VIDEO_START_OVERRIDE(nova2001_state,nova2001)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -724,7 +723,7 @@ static MACHINE_CONFIG_START( ninjakun, nova2001_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- MCFG_MACHINE_START(ninjakun)
+ MCFG_MACHINE_START_OVERRIDE(nova2001_state,ninjakun)
/* video hardware */
@@ -737,7 +736,7 @@ static MACHINE_CONFIG_START( ninjakun, nova2001_state )
MCFG_GFXDECODE(ninjakun)
MCFG_PALETTE_LENGTH(0x300)
- MCFG_VIDEO_START(ninjakun)
+ MCFG_VIDEO_START_OVERRIDE(nova2001_state,ninjakun)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -769,8 +768,8 @@ static MACHINE_CONFIG_START( pkunwar, nova2001_state )
MCFG_GFXDECODE(pkunwar)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(nova2001)
- MCFG_VIDEO_START(pkunwar)
+ MCFG_PALETTE_INIT_OVERRIDE(nova2001_state,nova2001)
+ MCFG_VIDEO_START_OVERRIDE(nova2001_state,pkunwar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -808,7 +807,7 @@ static MACHINE_CONFIG_START( raiders5, nova2001_state )
MCFG_GFXDECODE(raiders5)
MCFG_PALETTE_LENGTH(0x300)
- MCFG_VIDEO_START(raiders5)
+ MCFG_VIDEO_START_OVERRIDE(nova2001_state,raiders5)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/nsmpoker.c b/src/mame/drivers/nsmpoker.c
index b862c721d30..20eb5d3cedf 100644
--- a/src/mame/drivers/nsmpoker.c
+++ b/src/mame/drivers/nsmpoker.c
@@ -80,6 +80,8 @@ public:
DECLARE_WRITE8_MEMBER(debug_w);
DECLARE_READ8_MEMBER(debug_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -119,10 +121,9 @@ TILE_GET_INFO_MEMBER(nsmpoker_state::get_bg_tile_info)
}
-static VIDEO_START( nsmpoker )
+void nsmpoker_state::video_start()
{
- nsmpoker_state *state = machine.driver_data<nsmpoker_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nsmpoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nsmpoker_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -134,7 +135,7 @@ static SCREEN_UPDATE_IND16( nsmpoker )
}
-static PALETTE_INIT( nsmpoker )
+void nsmpoker_state::palette_init()
{
}
@@ -409,10 +410,8 @@ static MACHINE_CONFIG_START( nsmpoker, nsmpoker_state )
MCFG_GFXDECODE(nsmpoker)
- MCFG_PALETTE_INIT(nsmpoker)
MCFG_PALETTE_LENGTH(8)
- MCFG_VIDEO_START(nsmpoker)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nss.c b/src/mame/drivers/nss.c
index 4403bb22925..f6d4738ed7e 100644
--- a/src/mame/drivers/nss.c
+++ b/src/mame/drivers/nss.c
@@ -327,6 +327,8 @@ public:
DECLARE_DRIVER_INIT(nss);
DECLARE_CUSTOM_INPUT_MEMBER(game_over_flag_r);
+ DECLARE_MACHINE_START(nss);
+ DECLARE_MACHINE_RESET(nss);
};
@@ -617,14 +619,13 @@ static ADDRESS_MAP_START( bios_io_map, AS_IO, 8, nss_state )
AM_RANGE(0x07, 0x07) AM_WRITE(port_07_w)
ADDRESS_MAP_END
-static MACHINE_START( nss )
+MACHINE_START_MEMBER(nss_state,nss)
{
- nss_state *state = machine.driver_data<nss_state>();
- MACHINE_START_CALL(snes);
+ MACHINE_START_CALL_LEGACY(snes);
- state->m_is_nss = 1;
- state->m_wram = auto_alloc_array_clear(machine, UINT8, 0x1000);
+ m_is_nss = 1;
+ m_wram = auto_alloc_array_clear(machine(), UINT8, 0x1000);
}
@@ -824,18 +825,17 @@ static INTERRUPT_GEN ( nss_vblank_irq )
device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_RESET( nss )
+MACHINE_RESET_MEMBER(nss_state,nss)
{
- nss_state *state = machine.driver_data<nss_state>();
- MACHINE_RESET_CALL( snes );
+ MACHINE_RESET_CALL_LEGACY( snes );
/* start with both CPUs disabled */
- state->m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_soundcpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_soundcpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_game_over_flag = 1;
- state->m_joy_flag = 1;
+ m_game_over_flag = 1;
+ m_joy_flag = 1;
}
static M50458_INTERFACE( m50458_intf )
@@ -855,8 +855,8 @@ static MACHINE_CONFIG_DERIVED( nss, snes )
MCFG_RP5H01_ADD("rp5h01")
MCFG_M6M80011AP_ADD("m6m80011ap")
- MCFG_MACHINE_START( nss )
- MCFG_MACHINE_RESET( nss )
+ MCFG_MACHINE_START_OVERRIDE(nss_state, nss )
+ MCFG_MACHINE_RESET_OVERRIDE(nss_state, nss )
/* TODO: the screen should actually superimpose, but for the time being let's just separate outputs */
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mame/drivers/nwk-tr.c b/src/mame/drivers/nwk-tr.c
index ea58ed3a074..f4f93f17a15 100644
--- a/src/mame/drivers/nwk-tr.c
+++ b/src/mame/drivers/nwk-tr.c
@@ -252,6 +252,8 @@ public:
DECLARE_READ32_MEMBER(dsp_dataram_r);
DECLARE_WRITE32_MEMBER(dsp_dataram_w);
DECLARE_DRIVER_INIT(nwktr);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -513,16 +515,15 @@ static TIMER_CALLBACK( irq_off )
machine.device("audiocpu")->execute().set_input_line(param, CLEAR_LINE);
}
-static MACHINE_START( nwktr )
+void nwktr_state::machine_start()
{
- nwktr_state *state = machine.driver_data<nwktr_state>();
/* set conservative DRC options */
- ppcdrc_set_options(machine.device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
+ ppcdrc_set_options(machine().device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
/* configure fast RAM regions for DRC */
- ppcdrc_add_fastram(machine.device("maincpu"), 0x00000000, 0x003fffff, FALSE, state->m_work_ram);
+ ppcdrc_add_fastram(machine().device("maincpu"), 0x00000000, 0x003fffff, FALSE, m_work_ram);
- state->m_sound_irq_timer = machine.scheduler().timer_alloc(FUNC(irq_off));
+ m_sound_irq_timer = machine().scheduler().timer_alloc(FUNC(irq_off));
}
static ADDRESS_MAP_START( nwktr_map, AS_PROGRAM, 32, nwktr_state )
@@ -703,9 +704,9 @@ static const k001604_interface thrilld_k001604_intf =
0 /* slrasslt hack */
};
-static MACHINE_RESET( nwktr )
+void nwktr_state::machine_reset()
{
- machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
static const voodoo_config voodoo_intf =
@@ -734,8 +735,6 @@ static MACHINE_CONFIG_START( nwktr, nwktr_state )
MCFG_QUANTUM_TIME(attotime::from_hz(9000))
- MCFG_MACHINE_START(nwktr)
- MCFG_MACHINE_RESET(nwktr)
MCFG_3DFX_VOODOO_1_ADD("voodoo", STD_VOODOO_1_CLOCK, voodoo_intf)
diff --git a/src/mame/drivers/nycaptor.c b/src/mame/drivers/nycaptor.c
index fb202016c90..7a17fad9f2d 100644
--- a/src/mame/drivers/nycaptor.c
+++ b/src/mame/drivers/nycaptor.c
@@ -253,9 +253,8 @@ WRITE8_MEMBER(nycaptor_state::sound_cpu_reset_w)
}
-static MACHINE_RESET( ta7630 )
+MACHINE_RESET_MEMBER(nycaptor_state,ta7630)
{
- nycaptor_state *state = machine.driver_data<nycaptor_state>();
int i;
double db = 0.0;
double db_step = 0.50; /* 0.50 dB step (at least, maybe more) */
@@ -264,8 +263,8 @@ static MACHINE_RESET( ta7630 )
for (i = 0; i < 16; i++)
{
double max = 100.0 / pow(10.0, db/20.0 );
- state->m_vol_ctrl[15 - i] = max;
- /*logerror("vol_ctrl[%x] = %i (%f dB)\n", 15 - i, state->m_vol_ctrl[15 - i], db);*/
+ m_vol_ctrl[15 - i] = max;
+ /*logerror("vol_ctrl[%x] = %i (%f dB)\n", 15 - i, m_vol_ctrl[15 - i], db);*/
db += db_step;
db_step += db_step_inc;
}
@@ -763,70 +762,68 @@ GFXDECODE_END
-static MACHINE_START( nycaptor )
+void nycaptor_state::machine_start()
{
- nycaptor_state *state = machine.driver_data<nycaptor_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_mcu = machine.device("mcu");
-
- state->save_item(NAME(state->m_generic_control_reg));
- state->save_item(NAME(state->m_sound_nmi_enable));
- state->save_item(NAME(state->m_pending_nmi));
- state->save_item(NAME(state->m_snd_data));
- state->save_item(NAME(state->m_vol_ctrl));
-
- state->save_item(NAME(state->m_char_bank));
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_gfxctrl));
-
- state->save_item(NAME(state->m_port_a_in));
- state->save_item(NAME(state->m_port_a_out));
- state->save_item(NAME(state->m_ddr_a));
- state->save_item(NAME(state->m_port_b_in));
- state->save_item(NAME(state->m_port_b_out));
- state->save_item(NAME(state->m_ddr_b));
- state->save_item(NAME(state->m_port_c_in));
- state->save_item(NAME(state->m_port_c_out));
- state->save_item(NAME(state->m_ddr_c));
- state->save_item(NAME(state->m_mcu_sent));
- state->save_item(NAME(state->m_main_sent));
- state->save_item(NAME(state->m_from_main));
- state->save_item(NAME(state->m_from_mcu));
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_mcu = machine().device("mcu");
+
+ save_item(NAME(m_generic_control_reg));
+ save_item(NAME(m_sound_nmi_enable));
+ save_item(NAME(m_pending_nmi));
+ save_item(NAME(m_snd_data));
+ save_item(NAME(m_vol_ctrl));
+
+ save_item(NAME(m_char_bank));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_gfxctrl));
+
+ save_item(NAME(m_port_a_in));
+ save_item(NAME(m_port_a_out));
+ save_item(NAME(m_ddr_a));
+ save_item(NAME(m_port_b_in));
+ save_item(NAME(m_port_b_out));
+ save_item(NAME(m_ddr_b));
+ save_item(NAME(m_port_c_in));
+ save_item(NAME(m_port_c_out));
+ save_item(NAME(m_ddr_c));
+ save_item(NAME(m_mcu_sent));
+ save_item(NAME(m_main_sent));
+ save_item(NAME(m_from_main));
+ save_item(NAME(m_from_mcu));
}
-static MACHINE_RESET( nycaptor )
+void nycaptor_state::machine_reset()
{
- nycaptor_state *state = machine.driver_data<nycaptor_state>();
- MACHINE_RESET_CALL(ta7630);
-
- state->m_generic_control_reg = 0;
- state->m_sound_nmi_enable = 0;
- state->m_pending_nmi = 0;
- state->m_snd_data = 0;
-
- state->m_char_bank = 0;
- state->m_palette_bank = 0;
- state->m_gfxctrl = 0;
-
- state->m_port_a_in = 0;
- state->m_port_a_out = 0;
- state->m_ddr_a = 0;
- state->m_port_b_in = 0;
- state->m_port_b_out = 0;
- state->m_ddr_b = 0;
- state->m_port_c_in = 0;
- state->m_port_c_out = 0;
- state->m_ddr_c = 0;
- state->m_mcu_sent = 0;
- state->m_main_sent = 0;
- state->m_from_main = 0;
- state->m_from_mcu = 0;
-
- memset(state->m_vol_ctrl, 0, sizeof(state->m_vol_ctrl));
+ MACHINE_RESET_CALL_MEMBER(ta7630);
+
+ m_generic_control_reg = 0;
+ m_sound_nmi_enable = 0;
+ m_pending_nmi = 0;
+ m_snd_data = 0;
+
+ m_char_bank = 0;
+ m_palette_bank = 0;
+ m_gfxctrl = 0;
+
+ m_port_a_in = 0;
+ m_port_a_out = 0;
+ m_ddr_a = 0;
+ m_port_b_in = 0;
+ m_port_b_out = 0;
+ m_ddr_b = 0;
+ m_port_c_in = 0;
+ m_port_c_out = 0;
+ m_ddr_c = 0;
+ m_mcu_sent = 0;
+ m_main_sent = 0;
+ m_from_main = 0;
+ m_from_mcu = 0;
+
+ memset(m_vol_ctrl, 0, sizeof(m_vol_ctrl));
}
static MACHINE_CONFIG_START( nycaptor, nycaptor_state )
@@ -849,8 +846,6 @@ static MACHINE_CONFIG_START( nycaptor, nycaptor_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs */
- MCFG_MACHINE_START(nycaptor)
- MCFG_MACHINE_RESET(nycaptor)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -863,7 +858,6 @@ static MACHINE_CONFIG_START( nycaptor, nycaptor_state )
MCFG_GFXDECODE(nycaptor)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(nycaptor)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -911,8 +905,6 @@ static MACHINE_CONFIG_START( cyclshtg, nycaptor_state )
#endif
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(nycaptor)
- MCFG_MACHINE_RESET(nycaptor)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -924,7 +916,6 @@ static MACHINE_CONFIG_START( cyclshtg, nycaptor_state )
MCFG_GFXDECODE(nycaptor)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(nycaptor)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -968,8 +959,6 @@ static MACHINE_CONFIG_START( bronx, nycaptor_state )
MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60)
MCFG_QUANTUM_TIME(attotime::from_hz(120))
- MCFG_MACHINE_START(nycaptor)
- MCFG_MACHINE_RESET(nycaptor)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -981,7 +970,6 @@ static MACHINE_CONFIG_START( bronx, nycaptor_state )
MCFG_GFXDECODE(nycaptor)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(nycaptor)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/nyny.c b/src/mame/drivers/nyny.c
index 0fc528d35a4..be9358acd3b 100644
--- a/src/mame/drivers/nyny.c
+++ b/src/mame/drivers/nyny.c
@@ -127,6 +127,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(flipscreen_w);
DECLARE_WRITE_LINE_MEMBER(display_enable_changed);
DECLARE_WRITE8_MEMBER(nyny_ay8910_37_port_a_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -673,33 +675,31 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( nyny )
+void nyny_state::machine_start()
{
- nyny_state *state = machine.driver_data<nyny_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_audiocpu2 = machine.device("audio2");
- state->m_ic48_1 = machine.device("ic48_1");
- state->m_mc6845 = machine.device<mc6845_device>("crtc");
- state->m_pia1 = machine.device<pia6821_device>("pia1");
- state->m_pia2 = machine.device<pia6821_device>("pia2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_audiocpu2 = machine().device("audio2");
+ m_ic48_1 = machine().device("ic48_1");
+ m_mc6845 = machine().device<mc6845_device>("crtc");
+ m_pia1 = machine().device<pia6821_device>("pia1");
+ m_pia2 = machine().device<pia6821_device>("pia2");
/* setup for save states */
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_star_enable));
- state->save_item(NAME(state->m_star_delay_counter));
- state->save_item(NAME(state->m_star_shift_reg));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_star_enable));
+ save_item(NAME(m_star_delay_counter));
+ save_item(NAME(m_star_shift_reg));
}
-static MACHINE_RESET( nyny )
+void nyny_state::machine_reset()
{
- nyny_state *state = machine.driver_data<nyny_state>();
- state->m_flipscreen = 0;
- state->m_star_enable = 0;
- state->m_star_delay_counter = 0;
- state->m_star_shift_reg = 0;
+ m_flipscreen = 0;
+ m_star_enable = 0;
+ m_star_delay_counter = 0;
+ m_star_shift_reg = 0;
}
/*************************************
@@ -721,8 +721,6 @@ static MACHINE_CONFIG_START( nyny, nyny_state )
MCFG_CPU_ADD("audio2", M6802, AUDIO_CPU_2_CLOCK)
MCFG_CPU_PROGRAM_MAP(nyny_audio_2_map)
- MCFG_MACHINE_START(nyny)
- MCFG_MACHINE_RESET(nyny)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
diff --git a/src/mame/drivers/offtwall.c b/src/mame/drivers/offtwall.c
index 546a795adc9..ca6729ea27d 100644
--- a/src/mame/drivers/offtwall.c
+++ b/src/mame/drivers/offtwall.c
@@ -46,19 +46,18 @@ static void update_interrupts(running_machine &machine)
*
*************************************/
-static MACHINE_START( offtwall )
+MACHINE_START_MEMBER(offtwall_state,offtwall)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( offtwall )
+MACHINE_RESET_MEMBER(offtwall_state,offtwall)
{
- offtwall_state *state = machine.driver_data<offtwall_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarivc_reset(*machine.primary_screen, state->m_atarivc_eof_data, 1);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 1);
atarijsa_reset();
}
@@ -405,8 +404,8 @@ static MACHINE_CONFIG_START( offtwall, offtwall_state )
MCFG_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(offtwall)
- MCFG_MACHINE_RESET(offtwall)
+ MCFG_MACHINE_START_OVERRIDE(offtwall_state,offtwall)
+ MCFG_MACHINE_RESET_OVERRIDE(offtwall_state,offtwall)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -420,7 +419,7 @@ static MACHINE_CONFIG_START( offtwall, offtwall_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(offtwall)
- MCFG_VIDEO_START(offtwall)
+ MCFG_VIDEO_START_OVERRIDE(offtwall_state,offtwall)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_iii_mono_noadpcm)
diff --git a/src/mame/drivers/ohmygod.c b/src/mame/drivers/ohmygod.c
index a2f9652b949..06d70a44a84 100644
--- a/src/mame/drivers/ohmygod.c
+++ b/src/mame/drivers/ohmygod.c
@@ -293,27 +293,25 @@ GFXDECODE_END
-static MACHINE_START( ohmygod )
+void ohmygod_state::machine_start()
{
- ohmygod_state *state = machine.driver_data<ohmygod_state>();
- state->save_item(NAME(state->m_spritebank));
- state->save_item(NAME(state->m_scrollx));
- state->save_item(NAME(state->m_scrolly));
- state->save_item(NAME(state->m_sndbank));
+ save_item(NAME(m_spritebank));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_scrolly));
+ save_item(NAME(m_sndbank));
}
-static MACHINE_RESET( ohmygod )
+void ohmygod_state::machine_reset()
{
- ohmygod_state *state = machine.driver_data<ohmygod_state>();
- UINT8 *rom = state->memregion("oki")->base();
+ UINT8 *rom = memregion("oki")->base();
- state->m_sndbank = 0;
- memcpy(rom + 0x20000, rom + 0x40000 + 0x20000 * state->m_sndbank, 0x20000);
+ m_sndbank = 0;
+ memcpy(rom + 0x20000, rom + 0x40000 + 0x20000 * m_sndbank, 0x20000);
- state->m_spritebank = 0;
- state->m_scrollx = 0;
- state->m_scrolly = 0;
+ m_spritebank = 0;
+ m_scrollx = 0;
+ m_scrolly = 0;
}
static MACHINE_CONFIG_START( ohmygod, ohmygod_state )
@@ -325,8 +323,6 @@ static MACHINE_CONFIG_START( ohmygod, ohmygod_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- MCFG_MACHINE_START(ohmygod)
- MCFG_MACHINE_RESET(ohmygod)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -339,7 +335,6 @@ static MACHINE_CONFIG_START( ohmygod, ohmygod_state )
MCFG_GFXDECODE(ohmygod)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(ohmygod)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ojankohs.c b/src/mame/drivers/ojankohs.c
index c7e03a40316..995be5d4824 100644
--- a/src/mame/drivers/ojankohs.c
+++ b/src/mame/drivers/ojankohs.c
@@ -789,68 +789,66 @@ static const msm5205_interface msm5205_config =
};
-static MACHINE_START( common )
+MACHINE_START_MEMBER(ojankohs_state,common)
{
- ojankohs_state *state = machine.driver_data<ojankohs_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_msm = machine.device("msm");
-
- state->save_item(NAME(state->m_gfxreg));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_flipscreen_old));
- state->save_item(NAME(state->m_scrollx));
- state->save_item(NAME(state->m_scrolly));
- state->save_item(NAME(state->m_screen_refresh));
- state->save_item(NAME(state->m_portselect));
- state->save_item(NAME(state->m_adpcm_reset));
- state->save_item(NAME(state->m_adpcm_data));
- state->save_item(NAME(state->m_vclk_left));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_msm = machine().device("msm");
+
+ save_item(NAME(m_gfxreg));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_flipscreen_old));
+ save_item(NAME(m_scrollx));
+ save_item(NAME(m_scrolly));
+ save_item(NAME(m_screen_refresh));
+ save_item(NAME(m_portselect));
+ save_item(NAME(m_adpcm_reset));
+ save_item(NAME(m_adpcm_data));
+ save_item(NAME(m_vclk_left));
}
-static MACHINE_START( ojankohs )
+MACHINE_START_MEMBER(ojankohs_state,ojankohs)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x40, &ROM[0x10000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 0x40, &ROM[0x10000], 0x4000);
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
}
-static MACHINE_START( ojankoy )
+MACHINE_START_MEMBER(ojankohs_state,ojankoy)
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x20, &ROM[0x10000], 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 0x20, &ROM[0x10000], 0x4000);
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
}
-static MACHINE_START( ojankoc )
+MACHINE_START_MEMBER(ojankohs_state,ojankoc)
{
- UINT8 *ROM = machine.root_device().memregion("user1")->base();
+ UINT8 *ROM = machine().root_device().memregion("user1")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x0000], 0x8000);
+ machine().root_device().membank("bank1")->configure_entries(0, 0x10, &ROM[0x0000], 0x8000);
- MACHINE_START_CALL(common);
+ MACHINE_START_CALL_MEMBER(common);
}
-static MACHINE_RESET( ojankohs )
+void ojankohs_state::machine_reset()
{
- ojankohs_state *state = machine.driver_data<ojankohs_state>();
- state->m_portselect = 0;
+ m_portselect = 0;
- state->m_adpcm_reset = 0;
- state->m_adpcm_data = 0;
- state->m_vclk_left = 0;
+ m_adpcm_reset = 0;
+ m_adpcm_data = 0;
+ m_vclk_left = 0;
- state->m_gfxreg = 0;
- state->m_flipscreen = 0;
- state->m_flipscreen_old = 0;
- state->m_scrollx = 0;
- state->m_scrolly = 0;
- state->m_screen_refresh = 0;
+ m_gfxreg = 0;
+ m_flipscreen = 0;
+ m_flipscreen_old = 0;
+ m_scrollx = 0;
+ m_scrolly = 0;
+ m_screen_refresh = 0;
}
static MACHINE_CONFIG_START( ojankohs, ojankohs_state )
@@ -861,8 +859,7 @@ static MACHINE_CONFIG_START( ojankohs, ojankohs_state )
MCFG_CPU_IO_MAP(ojankohs_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(ojankohs)
- MCFG_MACHINE_RESET(ojankohs)
+ MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankohs)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -876,7 +873,7 @@ static MACHINE_CONFIG_START( ojankohs, ojankohs_state )
MCFG_GFXDECODE(ojankohs)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(ojankohs)
+ MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ojankohs)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -898,8 +895,7 @@ static MACHINE_CONFIG_START( ojankoy, ojankohs_state )
MCFG_CPU_IO_MAP(ojankoy_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(ojankoy)
- MCFG_MACHINE_RESET(ojankohs)
+ MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankoy)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -912,9 +908,9 @@ static MACHINE_CONFIG_START( ojankoy, ojankohs_state )
MCFG_GFXDECODE(ojankohs)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(ojankoy)
+ MCFG_PALETTE_INIT_OVERRIDE(ojankohs_state,ojankoy)
- MCFG_VIDEO_START(ojankoy)
+ MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ojankoy)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -936,8 +932,7 @@ static MACHINE_CONFIG_START( ccasino, ojankohs_state )
MCFG_CPU_IO_MAP(ccasino_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(ojankohs)
- MCFG_MACHINE_RESET(ojankohs)
+ MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankohs)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -951,7 +946,7 @@ static MACHINE_CONFIG_START( ccasino, ojankohs_state )
MCFG_GFXDECODE(ojankohs)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(ojankoy)
+ MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ojankoy)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -973,8 +968,7 @@ static MACHINE_CONFIG_START( ojankoc, ojankohs_state )
MCFG_CPU_IO_MAP(ojankoc_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(ojankoc)
- MCFG_MACHINE_RESET(ojankohs)
+ MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankoc)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -987,7 +981,7 @@ static MACHINE_CONFIG_START( ojankoc, ojankohs_state )
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(ojankoc)
+ MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ojankoc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/olibochu.c b/src/mame/drivers/olibochu.c
index 0f4e67e068d..c3f725dbf48 100644
--- a/src/mame/drivers/olibochu.c
+++ b/src/mame/drivers/olibochu.c
@@ -82,16 +82,20 @@ public:
DECLARE_WRITE8_MEMBER(olibochu_flipscreen_w);
DECLARE_WRITE8_MEMBER(sound_command_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
-static PALETTE_INIT( olibochu )
+void olibochu_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
UINT8 pen;
int bit0, bit1, bit2, r, g, b;
@@ -120,7 +124,7 @@ static PALETTE_INIT( olibochu )
bit1 = BIT(color_prom[pen], 7);
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -157,10 +161,9 @@ TILE_GET_INFO_MEMBER(olibochu_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static VIDEO_START( olibochu )
+void olibochu_state::video_start()
{
- olibochu_state *state = machine.driver_data<olibochu_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(olibochu_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(olibochu_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -417,18 +420,16 @@ GFXDECODE_END
-static MACHINE_START( olibochu )
+void olibochu_state::machine_start()
{
- olibochu_state *state = machine.driver_data<olibochu_state>();
- state->save_item(NAME(state->m_cmd));
+ save_item(NAME(m_cmd));
}
-static MACHINE_RESET( olibochu )
+void olibochu_state::machine_reset()
{
- olibochu_state *state = machine.driver_data<olibochu_state>();
- state->m_cmd = 0;
+ m_cmd = 0;
}
static TIMER_DEVICE_CALLBACK( olibochu_scanline )
@@ -455,8 +456,6 @@ static MACHINE_CONFIG_START( olibochu, olibochu_state )
// MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(olibochu)
- MCFG_MACHINE_RESET(olibochu)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -469,8 +468,6 @@ static MACHINE_CONFIG_START( olibochu, olibochu_state )
MCFG_GFXDECODE(olibochu)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(olibochu)
- MCFG_VIDEO_START(olibochu)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/omegrace.c b/src/mame/drivers/omegrace.c
index de0fa97ff8e..2665ed7975a 100644
--- a/src/mame/drivers/omegrace.c
+++ b/src/mame/drivers/omegrace.c
@@ -234,6 +234,7 @@ public:
DECLARE_WRITE8_MEMBER(omegrace_leds_w);
DECLARE_WRITE8_MEMBER(omegrace_soundlatch_w);
DECLARE_DRIVER_INIT(omegrace);
+ virtual void machine_reset();
};
@@ -243,9 +244,9 @@ public:
*
*************************************/
-static MACHINE_RESET( omegrace )
+void omegrace_state::machine_reset()
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Omega Race expects the vector processor to be ready. */
avgdvg_reset_w(space, 0, 0);
}
@@ -501,7 +502,6 @@ static MACHINE_CONFIG_START( omegrace, omegrace_state )
MCFG_CPU_IO_MAP(sound_port)
MCFG_CPU_PERIODIC_INT(nmi_line_pulse,250)
- MCFG_MACHINE_RESET(omegrace)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
diff --git a/src/mame/drivers/oneshot.c b/src/mame/drivers/oneshot.c
index 39673966bef..64ad5bfab9c 100644
--- a/src/mame/drivers/oneshot.c
+++ b/src/mame/drivers/oneshot.c
@@ -340,33 +340,31 @@ static const ym3812_interface ym3812_config =
irq_handler
};
-static MACHINE_START( oneshot )
+void oneshot_state::machine_start()
{
- oneshot_state *state = machine.driver_data<oneshot_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
-
- state->save_item(NAME(state->m_gun_x_p1));
- state->save_item(NAME(state->m_gun_y_p1));
- state->save_item(NAME(state->m_gun_x_p2));
- state->save_item(NAME(state->m_gun_y_p2));
- state->save_item(NAME(state->m_gun_x_shift));
- state->save_item(NAME(state->m_p1_wobble));
- state->save_item(NAME(state->m_p2_wobble));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+
+ save_item(NAME(m_gun_x_p1));
+ save_item(NAME(m_gun_y_p1));
+ save_item(NAME(m_gun_x_p2));
+ save_item(NAME(m_gun_y_p2));
+ save_item(NAME(m_gun_x_shift));
+ save_item(NAME(m_p1_wobble));
+ save_item(NAME(m_p2_wobble));
}
-static MACHINE_RESET( oneshot )
+void oneshot_state::machine_reset()
{
- oneshot_state *state = machine.driver_data<oneshot_state>();
-
- state->m_gun_x_p1 = 0;
- state->m_gun_y_p1 = 0;
- state->m_gun_x_p2 = 0;
- state->m_gun_y_p2 = 0;
- state->m_gun_x_shift = 0;
- state->m_p1_wobble = 0;
- state->m_p2_wobble = 0;
+
+ m_gun_x_p1 = 0;
+ m_gun_y_p1 = 0;
+ m_gun_x_p2 = 0;
+ m_gun_y_p2 = 0;
+ m_gun_x_shift = 0;
+ m_p1_wobble = 0;
+ m_p2_wobble = 0;
}
static MACHINE_CONFIG_START( oneshot, oneshot_state )
@@ -379,8 +377,6 @@ static MACHINE_CONFIG_START( oneshot, oneshot_state )
MCFG_CPU_ADD("audiocpu", Z80, 5000000)
MCFG_CPU_PROGRAM_MAP(oneshot_sound_map)
- MCFG_MACHINE_START(oneshot)
- MCFG_MACHINE_RESET(oneshot)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -393,7 +389,6 @@ static MACHINE_CONFIG_START( oneshot, oneshot_state )
MCFG_GFXDECODE(oneshot)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(oneshot)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/onetwo.c b/src/mame/drivers/onetwo.c
index 72e596fe176..044788ec60f 100644
--- a/src/mame/drivers/onetwo.c
+++ b/src/mame/drivers/onetwo.c
@@ -73,6 +73,8 @@ public:
DECLARE_WRITE8_MEMBER(palette1_w);
DECLARE_WRITE8_MEMBER(palette2_w);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -93,10 +95,9 @@ TILE_GET_INFO_MEMBER(onetwo_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static VIDEO_START( onetwo )
+void onetwo_state::video_start()
{
- onetwo_state *state = machine.driver_data<onetwo_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(onetwo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(onetwo_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
static SCREEN_UPDATE_IND16( onetwo )
@@ -345,15 +346,14 @@ static const ym3812_interface ym3812_config =
*
*************************************/
-static MACHINE_START( onetwo )
+void onetwo_state::machine_start()
{
- onetwo_state *state = machine.driver_data<onetwo_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
}
static MACHINE_CONFIG_START( onetwo, onetwo_state )
@@ -368,7 +368,6 @@ static MACHINE_CONFIG_START( onetwo, onetwo_state )
MCFG_CPU_PROGRAM_MAP(sound_cpu)
MCFG_CPU_IO_MAP(sound_cpu_io)
- MCFG_MACHINE_START(onetwo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -381,7 +380,6 @@ static MACHINE_CONFIG_START( onetwo, onetwo_state )
MCFG_GFXDECODE(onetwo)
MCFG_PALETTE_LENGTH(0x80)
- MCFG_VIDEO_START(onetwo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/opwolf.c b/src/mame/drivers/opwolf.c
index 93782debaab..1eab0f661cd 100644
--- a/src/mame/drivers/opwolf.c
+++ b/src/mame/drivers/opwolf.c
@@ -426,41 +426,39 @@ ADDRESS_MAP_END
//5 - different values
//6 - different values
-static MACHINE_START( opwolf )
+void opwolf_state::machine_start()
{
- opwolf_state *state = machine.driver_data<opwolf_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_pc080sn = machine.device("pc080sn");
- state->m_pc090oj = machine.device("pc090oj");
- state->m_msm1 = machine.device("msm1");
- state->m_msm2 = machine.device("msm2");
-
- state->save_item(NAME(state->m_sprite_ctrl));
- state->save_item(NAME(state->m_sprites_flipscreen));
-
- state->save_item(NAME(state->m_adpcm_b));
- state->save_item(NAME(state->m_adpcm_c));
- state->save_item(NAME(state->m_adpcm_pos));
- state->save_item(NAME(state->m_adpcm_end));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_pc080sn = machine().device("pc080sn");
+ m_pc090oj = machine().device("pc090oj");
+ m_msm1 = machine().device("msm1");
+ m_msm2 = machine().device("msm2");
+
+ save_item(NAME(m_sprite_ctrl));
+ save_item(NAME(m_sprites_flipscreen));
+
+ save_item(NAME(m_adpcm_b));
+ save_item(NAME(m_adpcm_c));
+ save_item(NAME(m_adpcm_pos));
+ save_item(NAME(m_adpcm_end));
}
-static MACHINE_RESET( opwolf )
+MACHINE_RESET_MEMBER(opwolf_state,opwolf)
{
- opwolf_state *state = machine.driver_data<opwolf_state>();
- state->m_adpcm_b[0] = state->m_adpcm_b[1] = 0;
- state->m_adpcm_c[0] = state->m_adpcm_c[1] = 0;
- state->m_adpcm_pos[0] = state->m_adpcm_pos[1] = 0;
- state->m_adpcm_end[0] = state->m_adpcm_end[1] = 0;
- state->m_adpcm_data[0] = state->m_adpcm_data[1] = -1;
+ m_adpcm_b[0] = m_adpcm_b[1] = 0;
+ m_adpcm_c[0] = m_adpcm_c[1] = 0;
+ m_adpcm_pos[0] = m_adpcm_pos[1] = 0;
+ m_adpcm_end[0] = m_adpcm_end[1] = 0;
+ m_adpcm_data[0] = m_adpcm_data[1] = -1;
- state->m_sprite_ctrl = 0;
- state->m_sprites_flipscreen = 0;
+ m_sprite_ctrl = 0;
+ m_sprites_flipscreen = 0;
- msm5205_reset_w(machine.device("msm1"), 1);
- msm5205_reset_w(machine.device("msm2"), 1);
+ msm5205_reset_w(machine().device("msm1"), 1);
+ msm5205_reset_w(machine().device("msm2"), 1);
}
static void opwolf_msm5205_vck( device_t *device )
@@ -744,8 +742,7 @@ static MACHINE_CONFIG_START( opwolf, opwolf_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_START(opwolf)
- MCFG_MACHINE_RESET(opwolf)
+ MCFG_MACHINE_RESET_OVERRIDE(opwolf_state,opwolf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -799,7 +796,6 @@ static MACHINE_CONFIG_START( opwolfb, opwolf_state ) /* OSC clocks unknown for t
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_START(opwolf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/orbit.c b/src/mame/drivers/orbit.c
index 9001824f6ce..57df7006c8a 100644
--- a/src/mame/drivers/orbit.c
+++ b/src/mame/drivers/orbit.c
@@ -271,23 +271,21 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( orbit )
+void orbit_state::machine_start()
{
- orbit_state *state = machine.driver_data<orbit_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_discrete = machine.device("discrete");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_discrete = machine().device("discrete");
- state->save_item(NAME(state->m_misc_flags));
- state->save_item(NAME(state->m_flip_screen));
+ save_item(NAME(m_misc_flags));
+ save_item(NAME(m_flip_screen));
}
-static MACHINE_RESET( orbit )
+void orbit_state::machine_reset()
{
- orbit_state *state = machine.driver_data<orbit_state>();
- update_misc_flags(machine, 0);
- state->m_flip_screen = 0;
+ update_misc_flags(machine(), 0);
+ m_flip_screen = 0;
}
@@ -306,8 +304,6 @@ static MACHINE_CONFIG_START( orbit, orbit_state )
MCFG_TIMER_ADD_SCANLINE("32v", nmi_32v, "screen", 0, 32)
- MCFG_MACHINE_START(orbit)
- MCFG_MACHINE_RESET(orbit)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -317,7 +313,6 @@ static MACHINE_CONFIG_START( orbit, orbit_state )
MCFG_GFXDECODE(orbit)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(orbit)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/othello.c b/src/mame/drivers/othello.c
index 834c105b9cb..ae1ab6f8048 100644
--- a/src/mame/drivers/othello.c
+++ b/src/mame/drivers/othello.c
@@ -90,6 +90,9 @@ public:
DECLARE_READ8_MEMBER(n7751_command_r);
DECLARE_READ8_MEMBER(n7751_t1_r);
DECLARE_WRITE8_MEMBER(n7751_p2_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -116,22 +119,22 @@ static MC6845_UPDATE_ROW( update_row )
}
}
-static PALETTE_INIT( othello )
+void othello_state::palette_init()
{
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
- palette_set_color(machine, i, MAKE_RGB(0xff, 0x00, 0xff));
+ palette_set_color(machine(), i, MAKE_RGB(0xff, 0x00, 0xff));
}
/* only colors 2,3,7,9,c,d,f are used */
- palette_set_color(machine, 0x02, MAKE_RGB(0x00, 0xff, 0x00));
- palette_set_color(machine, 0x03, MAKE_RGB(0xff, 0x7f, 0x00));
- palette_set_color(machine, 0x07, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 0x09, MAKE_RGB(0xff, 0x00, 0x00));
- palette_set_color(machine, 0x0c, MAKE_RGB(0x00, 0x00, 0xff));
- palette_set_color(machine, 0x0d, MAKE_RGB(0x7f, 0x7f, 0x00));
- palette_set_color(machine, 0x0f, MAKE_RGB(0xff, 0xff, 0xff));
+ palette_set_color(machine(), 0x02, MAKE_RGB(0x00, 0xff, 0x00));
+ palette_set_color(machine(), 0x03, MAKE_RGB(0xff, 0x7f, 0x00));
+ palette_set_color(machine(), 0x07, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 0x09, MAKE_RGB(0xff, 0x00, 0x00));
+ palette_set_color(machine(), 0x0c, MAKE_RGB(0x00, 0x00, 0xff));
+ palette_set_color(machine(), 0x0d, MAKE_RGB(0x7f, 0x7f, 0x00));
+ palette_set_color(machine(), 0x0f, MAKE_RGB(0xff, 0xff, 0xff));
}
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, othello_state )
@@ -380,34 +383,32 @@ static const mc6845_interface h46505_intf =
};
-static MACHINE_START( othello )
+void othello_state::machine_start()
{
- othello_state *state = machine.driver_data<othello_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_mc6845 = machine.device<mc6845_device>("crtc");
- state->m_n7751 = machine.device("n7751");
- state->m_ay1 = machine.device("ay1");
- state->m_ay2 = machine.device("ay2");
-
- state->save_item(NAME(state->m_tile_bank));
- state->save_item(NAME(state->m_ay_select));
- state->save_item(NAME(state->m_ack_data));
- state->save_item(NAME(state->m_n7751_command));
- state->save_item(NAME(state->m_sound_addr));
- state->save_item(NAME(state->m_n7751_busy));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_mc6845 = machine().device<mc6845_device>("crtc");
+ m_n7751 = machine().device("n7751");
+ m_ay1 = machine().device("ay1");
+ m_ay2 = machine().device("ay2");
+
+ save_item(NAME(m_tile_bank));
+ save_item(NAME(m_ay_select));
+ save_item(NAME(m_ack_data));
+ save_item(NAME(m_n7751_command));
+ save_item(NAME(m_sound_addr));
+ save_item(NAME(m_n7751_busy));
}
-static MACHINE_RESET( othello )
+void othello_state::machine_reset()
{
- othello_state *state = machine.driver_data<othello_state>();
-
- state->m_tile_bank = 0;
- state->m_ay_select = 0;
- state->m_ack_data = 0;
- state->m_n7751_command = 0;
- state->m_sound_addr = 0;
- state->m_n7751_busy = 0;
+
+ m_tile_bank = 0;
+ m_ay_select = 0;
+ m_ack_data = 0;
+ m_n7751_command = 0;
+ m_sound_addr = 0;
+ m_n7751_busy = 0;
}
static MACHINE_CONFIG_START( othello, othello_state )
@@ -427,8 +428,6 @@ static MACHINE_CONFIG_START( othello, othello_state )
MCFG_I8243_ADD("n7751_8243", NULL, n7751_rom_control_w)
- MCFG_MACHINE_START(othello)
- MCFG_MACHINE_RESET(othello)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -439,7 +438,6 @@ static MACHINE_CONFIG_START( othello, othello_state )
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
MCFG_PALETTE_LENGTH(0x10)
- MCFG_PALETTE_INIT(othello)
MCFG_MC6845_ADD("crtc", H46505, 1000000 /* ? MHz */, h46505_intf) /* H46505 @ CPU clock */
diff --git a/src/mame/drivers/othldrby.c b/src/mame/drivers/othldrby.c
index 5bcbff321c7..2636630505e 100644
--- a/src/mame/drivers/othldrby.c
+++ b/src/mame/drivers/othldrby.c
@@ -218,25 +218,23 @@ GFXDECODE_END
-static MACHINE_START( othldrby )
+void othldrby_state::machine_start()
{
- othldrby_state *state = machine.driver_data<othldrby_state>();
- state->save_item(NAME(state->m_toggle));
- state->save_item(NAME(state->m_vram_addr));
- state->save_item(NAME(state->m_vreg_addr));
- state->save_item(NAME(state->m_vreg));
+ save_item(NAME(m_toggle));
+ save_item(NAME(m_vram_addr));
+ save_item(NAME(m_vreg_addr));
+ save_item(NAME(m_vreg));
}
-static MACHINE_RESET( othldrby )
+void othldrby_state::machine_reset()
{
- othldrby_state *state = machine.driver_data<othldrby_state>();
- state->m_toggle = 0xff;
- state->m_vram_addr = 0;
- state->m_vreg_addr = 0;
+ m_toggle = 0xff;
+ m_vram_addr = 0;
+ m_vreg_addr = 0;
- memset(state->m_vreg, 0, sizeof(state->m_vreg));
+ memset(m_vreg, 0, sizeof(m_vreg));
}
static MACHINE_CONFIG_START( othldrby, othldrby_state )
@@ -246,8 +244,6 @@ static MACHINE_CONFIG_START( othldrby, othldrby_state )
MCFG_CPU_PROGRAM_MAP(othldrby_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(othldrby)
- MCFG_MACHINE_RESET(othldrby)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -261,7 +257,6 @@ static MACHINE_CONFIG_START( othldrby, othldrby_state )
MCFG_GFXDECODE(othldrby)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(othldrby)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c
index ff1e7d2255a..91a43103c4e 100644
--- a/src/mame/drivers/othunder.c
+++ b/src/mame/drivers/othunder.c
@@ -670,40 +670,38 @@ static const tc0140syt_interface othunder_tc0140syt_intf =
"maincpu", "audiocpu"
};
-static MACHINE_START( othunder )
+void othunder_state::machine_start()
{
- othunder_state *state = machine.driver_data<othunder_state>();
- state->membank("bank10")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0xc000, 0x4000);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_eeprom = machine.device<eeprom_device>("eeprom");
- state->m_tc0220ioc = machine.device("tc0220ioc");
- state->m_tc0100scn = machine.device("tc0100scn");
- state->m_tc0110pcr = machine.device("tc0110pcr");
- state->m_tc0140syt = machine.device("tc0140syt");
- state->m_2610_0l = machine.device("2610.0l");
- state->m_2610_0r = machine.device("2610.0r");
- state->m_2610_1l = machine.device("2610.1l");
- state->m_2610_1r = machine.device("2610.1r");
- state->m_2610_2l = machine.device("2610.2l");
- state->m_2610_2r = machine.device("2610.2r");
-
- state->save_item(NAME(state->m_vblank_irq));
- state->save_item(NAME(state->m_ad_irq));
- state->save_item(NAME(state->m_banknum));
- state->save_item(NAME(state->m_pan));
- machine.save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine));
+ membank("bank10")->configure_entries(0, 4, memregion("audiocpu")->base() + 0xc000, 0x4000);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_eeprom = machine().device<eeprom_device>("eeprom");
+ m_tc0220ioc = machine().device("tc0220ioc");
+ m_tc0100scn = machine().device("tc0100scn");
+ m_tc0110pcr = machine().device("tc0110pcr");
+ m_tc0140syt = machine().device("tc0140syt");
+ m_2610_0l = machine().device("2610.0l");
+ m_2610_0r = machine().device("2610.0r");
+ m_2610_1l = machine().device("2610.1l");
+ m_2610_1r = machine().device("2610.1r");
+ m_2610_2l = machine().device("2610.2l");
+ m_2610_2r = machine().device("2610.2r");
+
+ save_item(NAME(m_vblank_irq));
+ save_item(NAME(m_ad_irq));
+ save_item(NAME(m_banknum));
+ save_item(NAME(m_pan));
+ machine().save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine()));
}
-static MACHINE_RESET( othunder )
+void othunder_state::machine_reset()
{
- othunder_state *state = machine.driver_data<othunder_state>();
- state->m_vblank_irq = 0;
- state->m_ad_irq = 0;
- state->m_banknum = 0;
+ m_vblank_irq = 0;
+ m_ad_irq = 0;
+ m_banknum = 0;
}
static MACHINE_CONFIG_START( othunder, othunder_state )
@@ -719,8 +717,6 @@ static MACHINE_CONFIG_START( othunder, othunder_state )
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
- MCFG_MACHINE_START(othunder)
- MCFG_MACHINE_RESET(othunder)
MCFG_TC0220IOC_ADD("tc0220ioc", othunder_io_intf)
@@ -735,7 +731,6 @@ static MACHINE_CONFIG_START( othunder, othunder_state )
MCFG_GFXDECODE(othunder)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(othunder)
MCFG_TC0100SCN_ADD("tc0100scn", othunder_tc0100scn_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", othunder_tc0110pcr_intf)
diff --git a/src/mame/drivers/overdriv.c b/src/mame/drivers/overdriv.c
index 8745ec22a6c..dec80a7e346 100644
--- a/src/mame/drivers/overdriv.c
+++ b/src/mame/drivers/overdriv.c
@@ -280,39 +280,37 @@ static const k051316_interface overdriv_k051316_intf_2 =
};
-static MACHINE_START( overdriv )
+void overdriv_state::machine_start()
{
- overdriv_state *state = machine.driver_data<overdriv_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_k051316_1 = machine.device("k051316_1");
- state->m_k051316_2 = machine.device("k051316_2");
- state->m_k053260_1 = machine.device("k053260_1");
- state->m_k053260_2 = machine.device("k053260_2");
- state->m_k053246 = machine.device("k053246");
- state->m_k053251 = machine.device("k053251");
-
- state->save_item(NAME(state->m_cpuB_ctrl));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_zoom_colorbase));
- state->save_item(NAME(state->m_road_colorbase));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_k051316_1 = machine().device("k051316_1");
+ m_k051316_2 = machine().device("k051316_2");
+ m_k053260_1 = machine().device("k053260_1");
+ m_k053260_2 = machine().device("k053260_2");
+ m_k053246 = machine().device("k053246");
+ m_k053251 = machine().device("k053251");
+
+ save_item(NAME(m_cpuB_ctrl));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_zoom_colorbase));
+ save_item(NAME(m_road_colorbase));
}
-static MACHINE_RESET( overdriv )
+void overdriv_state::machine_reset()
{
- overdriv_state *state = machine.driver_data<overdriv_state>();
- state->m_cpuB_ctrl = 0;
- state->m_sprite_colorbase = 0;
- state->m_zoom_colorbase[0] = 0;
- state->m_zoom_colorbase[1] = 0;
- state->m_road_colorbase[0] = 0;
- state->m_road_colorbase[1] = 0;
+ m_cpuB_ctrl = 0;
+ m_sprite_colorbase = 0;
+ m_zoom_colorbase[0] = 0;
+ m_zoom_colorbase[1] = 0;
+ m_road_colorbase[0] = 0;
+ m_road_colorbase[1] = 0;
/* start with cpu B halted */
- machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
static const k053252_interface overdriv_k053252_intf =
@@ -345,8 +343,6 @@ static MACHINE_CONFIG_START( overdriv, overdriv_state )
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- MCFG_MACHINE_START(overdriv)
- MCFG_MACHINE_RESET(overdriv)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_EEPROM_DATA(overdriv_default_eeprom, 128)
diff --git a/src/mame/drivers/pachifev.c b/src/mame/drivers/pachifev.c
index fb327b659f6..10bea16902a 100644
--- a/src/mame/drivers/pachifev.c
+++ b/src/mame/drivers/pachifev.c
@@ -105,6 +105,8 @@ public:
UINT8 m_adpcm_data;
DECLARE_WRITE8_MEMBER(controls_w);
DECLARE_READ8_MEMBER(controls_r);
+ virtual void machine_start();
+ virtual void machine_reset();
};
WRITE8_MEMBER(pachifev_state::controls_w)
@@ -300,18 +302,17 @@ static const msm5205_interface msm5205_config =
#endif
-static MACHINE_RESET( pachifev )
+void pachifev_state::machine_reset()
{
- pachifev_state *state = machine.driver_data<pachifev_state>();
- state->m_power=0;
- state->m_max_power=0;
- state->m_input_power=0;
- state->m_previous_power=0;
- state->m_cnt=0;
+ m_power=0;
+ m_max_power=0;
+ m_input_power=0;
+ m_previous_power=0;
+ m_cnt=0;
#if USE_MSM
- state->m_adpcm_pos = 0;
+ m_adpcm_pos = 0;
#endif
}
@@ -355,15 +356,14 @@ static TMS9928A_INTERFACE(pachifev_tms9928a_interface)
DEVCB_NULL
};
-static MACHINE_START( pachifev)
+void pachifev_state::machine_start()
{
- pachifev_state *state = machine.driver_data<pachifev_state>();
- state->save_item(NAME(state->m_power));
- state->save_item(NAME(state->m_max_power));
- state->save_item(NAME(state->m_input_power));
- state->save_item(NAME(state->m_previous_power));
- state->save_item(NAME(state->m_cnt));
+ save_item(NAME(m_power));
+ save_item(NAME(m_max_power));
+ save_item(NAME(m_input_power));
+ save_item(NAME(m_previous_power));
+ save_item(NAME(m_cnt));
}
static const struct tms9995reset_param pachifev_processor_config =
@@ -380,8 +380,6 @@ static MACHINE_CONFIG_START( pachifev, pachifev_state )
MCFG_CPU_IO_MAP(pachifev_cru)
MCFG_CPU_VBLANK_INT("screen",pachifev_vblank_irq)
- MCFG_MACHINE_START(pachifev)
- MCFG_MACHINE_RESET(pachifev)
/* video hardware */
MCFG_TMS9928A_ADD( "tms9928a", TMS9928A, pachifev_tms9928a_interface )
diff --git a/src/mame/drivers/pacland.c b/src/mame/drivers/pacland.c
index 926867b3656..968b5f726b6 100644
--- a/src/mame/drivers/pacland.c
+++ b/src/mame/drivers/pacland.c
@@ -437,8 +437,6 @@ static MACHINE_CONFIG_START( pacland, pacland_state )
MCFG_GFXDECODE(pacland)
MCFG_PALETTE_LENGTH(256*4+256*4+64*16)
- MCFG_PALETTE_INIT(pacland)
- MCFG_VIDEO_START(pacland)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pacman.c b/src/mame/drivers/pacman.c
index 37d3f554c7a..2b4b81e9d10 100644
--- a/src/mame/drivers/pacman.c
+++ b/src/mame/drivers/pacman.c
@@ -374,22 +374,21 @@ Boards:
*
*************************************/
-static MACHINE_RESET( mschamp )
+MACHINE_RESET_MEMBER(pacman_state,mschamp)
{
- UINT8 *rom = machine.root_device().memregion("maincpu")->base() + 0x10000;
- int whichbank = machine.root_device().ioport("GAME")->read() & 1;
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base() + 0x10000;
+ int whichbank = machine().root_device().ioport("GAME")->read() & 1;
- machine.root_device().membank("bank1")->configure_entries(0, 2, &rom[0x0000], 0x8000);
- machine.root_device().membank("bank2")->configure_entries(0, 2, &rom[0x4000], 0x8000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &rom[0x0000], 0x8000);
+ machine().root_device().membank("bank2")->configure_entries(0, 2, &rom[0x4000], 0x8000);
- machine.root_device().membank("bank1")->set_entry(whichbank);
- machine.root_device().membank("bank2")->set_entry(whichbank);
+ machine().root_device().membank("bank1")->set_entry(whichbank);
+ machine().root_device().membank("bank2")->set_entry(whichbank);
}
-static MACHINE_RESET( superabc )
+MACHINE_RESET_MEMBER(pacman_state,superabc)
{
- pacman_state *state = machine.driver_data<pacman_state>();
- state->superabc_bank_w(*state->m_maincpu->space(AS_PROGRAM), 0, 0);
+ superabc_bank_w(*m_maincpu->space(AS_PROGRAM), 0, 0);
}
@@ -3306,8 +3305,8 @@ static MACHINE_CONFIG_START( pacman, pacman_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(pacman)
- MCFG_PALETTE_INIT(pacman)
- MCFG_VIDEO_START(pacman)
+ MCFG_PALETTE_INIT_OVERRIDE(pacman_state,pacman)
+ MCFG_VIDEO_START_OVERRIDE(pacman_state,pacman)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3324,7 +3323,7 @@ static MACHINE_CONFIG_DERIVED( birdiy, pacman )
MCFG_CPU_PROGRAM_MAP(birdiy_map)
MCFG_CPU_IO_MAP(0)
- MCFG_VIDEO_START(birdiy)
+ MCFG_VIDEO_START_OVERRIDE(pacman_state,birdiy)
MACHINE_CONFIG_END
@@ -3391,8 +3390,8 @@ static MACHINE_CONFIG_DERIVED( theglobp, pacman )
MCFG_CPU_PROGRAM_MAP(epos_map)
MCFG_CPU_IO_MAP(theglobp_portmap)
- MCFG_MACHINE_START(theglobp)
- MCFG_MACHINE_RESET(theglobp)
+ MCFG_MACHINE_START_OVERRIDE(pacman_state,theglobp)
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,theglobp)
MACHINE_CONFIG_END
@@ -3403,8 +3402,8 @@ static MACHINE_CONFIG_DERIVED( acitya, pacman )
MCFG_CPU_PROGRAM_MAP(epos_map)
MCFG_CPU_IO_MAP(acitya_portmap)
- MCFG_MACHINE_START(acitya)
- MCFG_MACHINE_RESET(acitya)
+ MCFG_MACHINE_START_OVERRIDE(pacman_state,acitya)
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,acitya)
MACHINE_CONFIG_END
@@ -3459,7 +3458,7 @@ static MACHINE_CONFIG_DERIVED( s2650games, pacman )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_UPDATE_STATIC(s2650games)
- MCFG_VIDEO_START(s2650games)
+ MCFG_VIDEO_START_OVERRIDE(pacman_state,s2650games)
/* sound hardware */
MCFG_SOUND_REPLACE("namco", SN76496_NEW, MASTER_CLOCK/6) /* 1H */
@@ -3512,7 +3511,7 @@ static MACHINE_CONFIG_DERIVED( mschamp, pacman )
MCFG_CPU_IO_MAP(mschamp_portmap)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_RESET(mschamp)
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,mschamp)
MACHINE_CONFIG_END
@@ -3524,7 +3523,7 @@ static MACHINE_CONFIG_DERIVED( superabc, pacman )
MCFG_NVRAM_ADD_0FILL("28c16.u17")
- MCFG_MACHINE_RESET(superabc)
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,superabc)
/* video hardware */
MCFG_GFXDECODE(superabc)
diff --git a/src/mame/drivers/pandoras.c b/src/mame/drivers/pandoras.c
index 3b26df5c2a0..62836df34af 100644
--- a/src/mame/drivers/pandoras.c
+++ b/src/mame/drivers/pandoras.c
@@ -292,33 +292,31 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_START( pandoras )
+void pandoras_state::machine_start()
{
- pandoras_state *state = machine.driver_data<pandoras_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device<cpu_device>("mcu");
-
- state->save_item(NAME(state->m_firq_old_data_a));
- state->save_item(NAME(state->m_firq_old_data_b));
- state->save_item(NAME(state->m_irq_enable_a));
- state->save_item(NAME(state->m_irq_enable_b));
- state->save_item(NAME(state->m_i8039_status));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device<cpu_device>("mcu");
+
+ save_item(NAME(m_firq_old_data_a));
+ save_item(NAME(m_firq_old_data_b));
+ save_item(NAME(m_irq_enable_a));
+ save_item(NAME(m_irq_enable_b));
+ save_item(NAME(m_i8039_status));
}
-static MACHINE_RESET( pandoras )
+void pandoras_state::machine_reset()
{
- pandoras_state *state = machine.driver_data<pandoras_state>();
- state->m_firq_old_data_a = 0;
- state->m_firq_old_data_b = 0;
- state->m_irq_enable_a = 0;
- state->m_irq_enable_b = 0;
- state->m_i8039_status = 0;
+ m_firq_old_data_a = 0;
+ m_firq_old_data_b = 0;
+ m_irq_enable_a = 0;
+ m_irq_enable_b = 0;
+ m_i8039_status = 0;
- state->m_flipscreen = 0;
+ m_flipscreen = 0;
}
READ8_MEMBER(pandoras_state::pandoras_portA_r)
@@ -361,8 +359,6 @@ static MACHINE_CONFIG_START( pandoras, pandoras_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - needed for correct synchronization of the sound CPUs */
- MCFG_MACHINE_START(pandoras)
- MCFG_MACHINE_RESET(pandoras)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -375,8 +371,6 @@ static MACHINE_CONFIG_START( pandoras, pandoras_state )
MCFG_GFXDECODE(pandoras)
MCFG_PALETTE_LENGTH(16*16+16*16)
- MCFG_PALETTE_INIT(pandoras)
- MCFG_VIDEO_START(pandoras)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pangofun.c b/src/mame/drivers/pangofun.c
index 49951fd3241..9ffe986dc93 100644
--- a/src/mame/drivers/pangofun.c
+++ b/src/mame/drivers/pangofun.c
@@ -106,6 +106,7 @@ public:
: driver_device(mconfig, type, tag) { }
DECLARE_DRIVER_INIT(pangofun);
+ virtual void machine_start();
};
@@ -185,11 +186,11 @@ static const struct kbdc8042_interface at8042 =
KBDC8042_AT386, set_gate_a20, keyboard_interrupt, NULL, pcat_dyn_get_out2
};
-static MACHINE_START( pangofun )
+void pangofun_state::machine_start()
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, pangofun_set_keyb_int);
- kbdc8042_init(machine, &at8042);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, pangofun_set_keyb_int);
+ kbdc8042_init(machine(), &at8042);
}
@@ -205,7 +206,6 @@ static MACHINE_CONFIG_START( pangofun, pangofun_state )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_MACHINE_START(pangofun)
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
MCFG_FRAGMENT_ADD( pcat_common )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/panicr.c b/src/mame/drivers/panicr.c
index b0af96aa2b8..77f3a94b9be 100644
--- a/src/mame/drivers/panicr.c
+++ b/src/mame/drivers/panicr.c
@@ -96,6 +96,8 @@ public:
TILE_GET_INFO_MEMBER(get_bgtile_info);
TILE_GET_INFO_MEMBER(get_infotile_info);
TILE_GET_INFO_MEMBER(get_txttile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -110,13 +112,13 @@ public:
***************************************************************************/
-static PALETTE_INIT( panicr )
+void panicr_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -125,7 +127,7 @@ static PALETTE_INIT( panicr )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -141,7 +143,7 @@ static PALETTE_INIT( panicr )
else
ctabentry = (color_prom[i] & 0x3f) | 0x80;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
// tile lookup table
@@ -149,7 +151,7 @@ static PALETTE_INIT( panicr )
{
UINT8 ctabentry = (color_prom[i] & 0x3f) | 0x00;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
// sprite lookup table
@@ -162,7 +164,7 @@ static PALETTE_INIT( panicr )
else
ctabentry = (color_prom[i] & 0x3f) | 0x40;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -211,15 +213,14 @@ TILE_GET_INFO_MEMBER(panicr_state::get_txttile_info)
}
-static VIDEO_START( panicr )
+void panicr_state::video_start()
{
- panicr_state *state = machine.driver_data<panicr_state>();
- state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_bgtile_info),state),TILEMAP_SCAN_ROWS,16,16,1024,16 );
- state->m_infotilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_infotile_info),state),TILEMAP_SCAN_ROWS,16,16,1024,16 ); // 3 more bitplanes, contains collision and priority data
+ m_bgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_bgtile_info),this),TILEMAP_SCAN_ROWS,16,16,1024,16 );
+ m_infotilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_infotile_info),this),TILEMAP_SCAN_ROWS,16,16,1024,16 ); // 3 more bitplanes, contains collision and priority data
- state->m_txttilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_txttile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
- colortable_configure_tilemap_groups(machine.colortable, state->m_txttilemap, machine.gfx[0], 0);
+ m_txttilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_txttile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32 );
+ colortable_configure_tilemap_groups(machine().colortable, m_txttilemap, machine().gfx[0], 0);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect )
@@ -518,9 +519,7 @@ static MACHINE_CONFIG_START( panicr, panicr_state )
MCFG_GFXDECODE(panicr)
MCFG_PALETTE_LENGTH(256*3)
- MCFG_PALETTE_INIT(panicr)
- MCFG_VIDEO_START(panicr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/paradise.c b/src/mame/drivers/paradise.c
index 92d8723dec4..0263c394fa0 100644
--- a/src/mame/drivers/paradise.c
+++ b/src/mame/drivers/paradise.c
@@ -670,27 +670,25 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_START( paradise )
+void paradise_state::machine_start()
{
- paradise_state *state = machine.driver_data<paradise_state>();
- int bank_n = state->memregion("maincpu")->bytes() / 0x4000 - 1;
- UINT8 *ROM = state->memregion("maincpu")->base();
+ int bank_n = memregion("maincpu")->bytes() / 0x4000 - 1;
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 3, &ROM[0x00000], 0x4000);
- state->membank("bank1")->configure_entries(3, bank_n - 3, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 3, &ROM[0x00000], 0x4000);
+ membank("bank1")->configure_entries(3, bank_n - 3, &ROM[0x10000], 0x4000);
- state->save_item(NAME(state->m_palbank));
- state->save_item(NAME(state->m_priority));
+ save_item(NAME(m_palbank));
+ save_item(NAME(m_priority));
}
-static MACHINE_RESET( paradise )
+void paradise_state::machine_reset()
{
- paradise_state *state = machine.driver_data<paradise_state>();
- state->m_palbank = 0;
- state->m_priority = 0;
+ m_palbank = 0;
+ m_priority = 0;
- state->irq_count = 0;
+ irq_count = 0;
}
@@ -712,8 +710,6 @@ static MACHINE_CONFIG_START( paradise, paradise_state )
MCFG_CPU_IO_MAP(paradise_io_map)
MCFG_CPU_PERIODIC_INT(paradise_irq,4*54) /* No nmi routine, timing is confirmed (i.e. three timing irqs for each vblank irq */
- MCFG_MACHINE_START(paradise)
- MCFG_MACHINE_RESET(paradise)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -726,7 +722,6 @@ static MACHINE_CONFIG_START( paradise, paradise_state )
MCFG_GFXDECODE(paradise)
MCFG_PALETTE_LENGTH(0x800 + 16)
- MCFG_VIDEO_START(paradise)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/parodius.c b/src/mame/drivers/parodius.c
index 22b75027d38..d1e72e841cf 100644
--- a/src/mame/drivers/parodius.c
+++ b/src/mame/drivers/parodius.c
@@ -246,45 +246,43 @@ static const k05324x_interface parodius_k05324x_intf =
parodius_sprite_callback
};
-static MACHINE_START( parodius )
+void parodius_state::machine_start()
{
- parodius_state *state = machine.driver_data<parodius_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
- state->membank("bank1")->configure_entries(14, 2, &ROM[0x08000], 0x4000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 14, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(14, 2, &ROM[0x08000], 0x4000);
+ membank("bank1")->set_entry(0);
- state->m_generic_paletteram_8.allocate(0x1000);
+ m_generic_paletteram_8.allocate(0x1000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053260 = machine.device("k053260");
- state->m_k053245 = machine.device("k053245");
- state->m_k053251 = machine.device("k053251");
- state->m_k052109 = machine.device("k052109");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053260 = machine().device("k053260");
+ m_k053245 = machine().device("k053245");
+ m_k053251 = machine().device("k053251");
+ m_k052109 = machine().device("k052109");
- state->save_item(NAME(state->m_videobank));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_layerpri));
+ save_item(NAME(m_videobank));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_layerpri));
}
-static MACHINE_RESET( parodius )
+void parodius_state::machine_reset()
{
- parodius_state *state = machine.driver_data<parodius_state>();
int i;
- konami_configure_set_lines(machine.device("maincpu"), parodius_banking);
+ konami_configure_set_lines(machine().device("maincpu"), parodius_banking);
for (i = 0; i < 3; i++)
{
- state->m_layerpri[i] = 0;
- state->m_layer_colorbase[i] = 0;
+ m_layerpri[i] = 0;
+ m_layer_colorbase[i] = 0;
}
- state->m_sprite_colorbase = 0;
- state->m_videobank = 0;
+ m_sprite_colorbase = 0;
+ m_videobank = 0;
}
static MACHINE_CONFIG_START( parodius, parodius_state )
@@ -297,8 +295,6 @@ static MACHINE_CONFIG_START( parodius, parodius_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(parodius_sound_map)
/* NMIs are triggered by the 053260 */
- MCFG_MACHINE_START(parodius)
- MCFG_MACHINE_RESET(parodius)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
diff --git a/src/mame/drivers/pasha2.c b/src/mame/drivers/pasha2.c
index 70419b1bf05..8192ac4b250 100644
--- a/src/mame/drivers/pasha2.c
+++ b/src/mame/drivers/pasha2.c
@@ -106,6 +106,9 @@ public:
DECLARE_WRITE16_MEMBER(oki1_bank_w);
DECLARE_WRITE16_MEMBER(oki2_bank_w);
DECLARE_DRIVER_INIT(pasha2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -339,12 +342,11 @@ static INPUT_PORTS_START( pasha2 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START3 )
INPUT_PORTS_END
-static VIDEO_START( pasha2 )
+void pasha2_state::video_start()
{
- pasha2_state *state = machine.driver_data<pasha2_state>();
- state->save_item(NAME(state->m_bitmap0));
- state->save_item(NAME(state->m_bitmap1));
+ save_item(NAME(m_bitmap0));
+ save_item(NAME(m_bitmap1));
}
static SCREEN_UPDATE_IND16( pasha2 )
@@ -396,20 +398,18 @@ static SCREEN_UPDATE_IND16( pasha2 )
return 0;
}
-static MACHINE_START( pasha2 )
+void pasha2_state::machine_start()
{
- pasha2_state *state = machine.driver_data<pasha2_state>();
- state->save_item(NAME(state->m_old_bank));
- state->save_item(NAME(state->m_vbuffer));
+ save_item(NAME(m_old_bank));
+ save_item(NAME(m_vbuffer));
}
-static MACHINE_RESET( pasha2 )
+void pasha2_state::machine_reset()
{
- pasha2_state *state = machine.driver_data<pasha2_state>();
- state->m_old_bank = -1;
- state->m_vbuffer = 0;
+ m_old_bank = -1;
+ m_vbuffer = 0;
}
static MACHINE_CONFIG_START( pasha2, pasha2_state )
@@ -420,8 +420,6 @@ static MACHINE_CONFIG_START( pasha2, pasha2_state )
MCFG_CPU_IO_MAP(pasha2_io)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(pasha2)
- MCFG_MACHINE_RESET(pasha2)
MCFG_EEPROM_93C46_ADD("eeprom")
/* video hardware */
@@ -434,7 +432,6 @@ static MACHINE_CONFIG_START( pasha2, pasha2_state )
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START(pasha2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pass.c b/src/mame/drivers/pass.c
index 181e4adef04..d7c0726bf18 100644
--- a/src/mame/drivers/pass.c
+++ b/src/mame/drivers/pass.c
@@ -254,7 +254,6 @@ static MACHINE_CONFIG_START( pass, pass_state )
MCFG_PALETTE_LENGTH(0x200)
MCFG_GFXDECODE(pass)
- MCFG_VIDEO_START(pass)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pastelg.c b/src/mame/drivers/pastelg.c
index df089b65fcd..8a723982812 100644
--- a/src/mame/drivers/pastelg.c
+++ b/src/mame/drivers/pastelg.c
@@ -425,8 +425,6 @@ static MACHINE_CONFIG_START( pastelg, pastelg_state )
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(pastelg)
- MCFG_VIDEO_START(pastelg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -483,8 +481,6 @@ static MACHINE_CONFIG_START( threeds, pastelg_state )
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(pastelg)
- MCFG_VIDEO_START(pastelg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pbaction.c b/src/mame/drivers/pbaction.c
index 11a142417ba..63eedeec830 100644
--- a/src/mame/drivers/pbaction.c
+++ b/src/mame/drivers/pbaction.c
@@ -255,21 +255,19 @@ static INTERRUPT_GEN( pbaction_interrupt )
}
-static MACHINE_START( pbaction )
+void pbaction_state::machine_start()
{
- pbaction_state *state = machine.driver_data<pbaction_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_scroll));
}
-static MACHINE_RESET( pbaction )
+void pbaction_state::machine_reset()
{
- pbaction_state *state = machine.driver_data<pbaction_state>();
- state->m_scroll = 0;
+ m_scroll = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -293,8 +291,6 @@ static MACHINE_CONFIG_START( pbaction, pbaction_state )
MCFG_CPU_PERIODIC_INT(pbaction_interrupt,2*60) /* ??? */
/* IRQs are caused by the main CPU */
- MCFG_MACHINE_START(pbaction)
- MCFG_MACHINE_RESET(pbaction)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -307,7 +303,6 @@ static MACHINE_CONFIG_START( pbaction, pbaction_state )
MCFG_GFXDECODE(pbaction)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(pbaction)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pcat_dyn.c b/src/mame/drivers/pcat_dyn.c
index f28dca5812d..d49afd76d74 100644
--- a/src/mame/drivers/pcat_dyn.c
+++ b/src/mame/drivers/pcat_dyn.c
@@ -44,6 +44,7 @@ public:
: driver_device(mconfig, type, tag) { }
DECLARE_DRIVER_INIT(pcat_dyn);
+ virtual void machine_start();
};
@@ -130,12 +131,12 @@ static const struct kbdc8042_interface at8042 =
KBDC8042_AT386, set_gate_a20, keyboard_interrupt, NULL, pcat_dyn_get_out2
};
-static MACHINE_START( pcat_dyn )
+void pcat_dyn_state::machine_start()
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, pcat_dyn_set_keyb_int);
- kbdc8042_init(machine, &at8042);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, pcat_dyn_set_keyb_int);
+ kbdc8042_init(machine(), &at8042);
}
static MACHINE_CONFIG_START( pcat_dyn, pcat_dyn_state )
@@ -149,7 +150,6 @@ static MACHINE_CONFIG_START( pcat_dyn, pcat_dyn_state )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_MACHINE_START(pcat_dyn)
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
MCFG_FRAGMENT_ADD( pcat_common )
diff --git a/src/mame/drivers/pcat_nit.c b/src/mame/drivers/pcat_nit.c
index 715fcc62640..b7d86696d7e 100644
--- a/src/mame/drivers/pcat_nit.c
+++ b/src/mame/drivers/pcat_nit.c
@@ -111,6 +111,7 @@ public:
DECLARE_READ8_MEMBER(pcat_nit_io_r);
DECLARE_WRITE_LINE_MEMBER(at_com_interrupt_1);
DECLARE_DRIVER_INIT(pcat_nit);
+ virtual void machine_start();
};
WRITE_LINE_MEMBER(pcat_nit_state::microtouch_out)
@@ -228,16 +229,16 @@ static void streetg2_set_keyb_int(running_machine &machine, int state)
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
-static MACHINE_START( streetg2 )
+void pcat_nit_state::machine_start()
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, streetg2_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, streetg2_set_keyb_int);
- machine.root_device().membank("rombank")->configure_entries(0, 0x80, machine.root_device().memregion("game_prg")->base(), 0x8000 );
- machine.root_device().membank("rombank")->set_entry(0);
+ machine().root_device().membank("rombank")->configure_entries(0, 0x80, machine().root_device().memregion("game_prg")->base(), 0x8000 );
+ machine().root_device().membank("rombank")->set_entry(0);
- //microtouch_init(machine, pcat_nit_microtouch_tx_callback, NULL);
+ //microtouch_init(machine(), pcat_nit_microtouch_tx_callback, NULL);
}
static MACHINE_CONFIG_START( pcat_nit, pcat_nit_state )
@@ -253,7 +254,6 @@ static MACHINE_CONFIG_START( pcat_nit, pcat_nit_state )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
- MCFG_MACHINE_START(streetg2)
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
// MCFG_FRAGMENT_ADD( at_kbdc8042 )
diff --git a/src/mame/drivers/pcktgal.c b/src/mame/drivers/pcktgal.c
index 97ac64eaeb7..d71d7ba8dde 100644
--- a/src/mame/drivers/pcktgal.c
+++ b/src/mame/drivers/pcktgal.c
@@ -240,7 +240,6 @@ static MACHINE_CONFIG_START( pcktgal, pcktgal_state )
MCFG_GFXDECODE(pcktgal)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(pcktgal)
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device, 0,0,0);
diff --git a/src/mame/drivers/pcxt.c b/src/mame/drivers/pcxt.c
index 438a62f6578..2ebc6d97266 100644
--- a/src/mame/drivers/pcxt.c
+++ b/src/mame/drivers/pcxt.c
@@ -123,6 +123,7 @@ public:
DECLARE_READ8_MEMBER(get_slave_ack);
DECLARE_DRIVER_INIT(tetriskr);
DECLARE_DRIVER_INIT(filetto);
+ virtual void machine_reset();
};
static SCREEN_UPDATE_RGB32( tetriskr )
@@ -713,17 +714,16 @@ static GFXDECODE_START( pcxt )
GFXDECODE_END
-static MACHINE_RESET( filetto )
+void pcxt_state::machine_reset()
{
- pcxt_state *state = machine.driver_data<pcxt_state>();
- device_t *speaker = machine.device("speaker");
- state->m_bank = -1;
- state->m_lastvalue = -1;
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ device_t *speaker = machine().device("speaker");
+ m_bank = -1;
+ m_lastvalue = -1;
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
- state->m_pc_spkrdata = 0;
- state->m_pc_input = 0;
- state->m_wss2_data = 0;
+ m_pc_spkrdata = 0;
+ m_pc_input = 0;
+ m_wss2_data = 0;
speaker_level_w( speaker, 0 );
}
@@ -732,7 +732,6 @@ static MACHINE_CONFIG_START( filetto, pcxt_state )
MCFG_CPU_PROGRAM_MAP(filetto_map)
MCFG_CPU_IO_MAP(filetto_io)
- MCFG_MACHINE_RESET( filetto )
MCFG_PIT8253_ADD( "pit8253", pc_pit8253_config )
diff --git a/src/mame/drivers/pengadvb.c b/src/mame/drivers/pengadvb.c
index a4aa288ee42..93e74617ca0 100644
--- a/src/mame/drivers/pengadvb.c
+++ b/src/mame/drivers/pengadvb.c
@@ -44,6 +44,8 @@ public:
DECLARE_READ8_MEMBER(pengadvb_ppi_port_b_r);
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
DECLARE_DRIVER_INIT(pengadvb);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -247,23 +249,21 @@ static void pengadvb_postload(running_machine &machine)
mem_map_banks(machine);
}
-static MACHINE_START( pengadvb )
+void pengadvb_state::machine_start()
{
- pengadvb_state *state = machine.driver_data<pengadvb_state>();
- state_save_register_global_pointer(machine, state->m_main_mem, 0x4000);
- state_save_register_global(machine, state->m_mem_map);
- state_save_register_global_array(machine, state->m_mem_banks);
- machine.save().register_postload(save_prepost_delegate(FUNC(pengadvb_postload), &machine));
+ state_save_register_global_pointer(machine(), m_main_mem, 0x4000);
+ state_save_register_global(machine(), m_mem_map);
+ state_save_register_global_array(machine(), m_mem_banks);
+ machine().save().register_postload(save_prepost_delegate(FUNC(pengadvb_postload), &machine()));
}
-static MACHINE_RESET( pengadvb )
+void pengadvb_state::machine_reset()
{
- pengadvb_state *state = machine.driver_data<pengadvb_state>();
- state->m_mem_map = 0;
- state->m_mem_banks[0] = state->m_mem_banks[1] = state->m_mem_banks[2] = state->m_mem_banks[3] = 0;
- mem_map_banks(machine);
+ m_mem_map = 0;
+ m_mem_banks[0] = m_mem_banks[1] = m_mem_banks[2] = m_mem_banks[3] = 0;
+ mem_map_banks(machine());
}
@@ -273,8 +273,6 @@ static MACHINE_CONFIG_START( pengadvb, pengadvb_state )
MCFG_CPU_PROGRAM_MAP(program_mem)
MCFG_CPU_IO_MAP(io_mem)
- MCFG_MACHINE_START( pengadvb )
- MCFG_MACHINE_RESET( pengadvb )
MCFG_I8255_ADD( "ppi8255", pengadvb_ppi8255_interface)
diff --git a/src/mame/drivers/pengo.c b/src/mame/drivers/pengo.c
index c184a53dc7e..72e757985df 100644
--- a/src/mame/drivers/pengo.c
+++ b/src/mame/drivers/pengo.c
@@ -393,8 +393,8 @@ static MACHINE_CONFIG_START( pengo, pengo_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(pacman)
- MCFG_PALETTE_INIT(pacman)
- MCFG_VIDEO_START(pengo)
+ MCFG_PALETTE_INIT_OVERRIDE(pengo_state,pacman)
+ MCFG_VIDEO_START_OVERRIDE(pengo_state,pengo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -413,7 +413,7 @@ static MACHINE_CONFIG_DERIVED( jrpacmbl, pengo )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(jrpacmbl_map)
- MCFG_VIDEO_START(jrpacman)
+ MCFG_VIDEO_START_OVERRIDE(pengo_state,jrpacman)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index 9a16541c81f..bb749741987 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -263,6 +263,9 @@ public:
DECLARE_DRIVER_INIT(peplussb);
DECLARE_DRIVER_INIT(peplussbw);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
static const UINT8 id_022[8] = { 0x00, 0x01, 0x04, 0x09, 0x13, 0x16, 0x18, 0x00 };
@@ -956,14 +959,13 @@ TILE_GET_INFO_MEMBER(peplus_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static VIDEO_START( peplus )
+void peplus_state::video_start()
{
- peplus_state *state = machine.driver_data<peplus_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(peplus_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
- state->m_palette_ram = auto_alloc_array(machine, UINT8, 0x3000);
- memset(state->m_palette_ram, 0, 0x3000);
- state->m_palette_ram2 = auto_alloc_array(machine, UINT8, 0x3000);
- memset(state->m_palette_ram2, 0, 0x3000);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(peplus_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
+ m_palette_ram = auto_alloc_array(machine(), UINT8, 0x3000);
+ memset(m_palette_ram, 0, 0x3000);
+ m_palette_ram2 = auto_alloc_array(machine(), UINT8, 0x3000);
+ memset(m_palette_ram2, 0, 0x3000);
}
static SCREEN_UPDATE_IND16( peplus )
@@ -974,9 +976,9 @@ static SCREEN_UPDATE_IND16( peplus )
return 0;
}
-static PALETTE_INIT( peplus )
+void peplus_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* prom bits
7654 3210
---- -xxx red component.
@@ -985,7 +987,7 @@ static PALETTE_INIT( peplus )
*/
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -1007,7 +1009,7 @@ static PALETTE_INIT( peplus )
bit2 = 0;
b = 0x21 * bit2 + 0x47 * bit1 + 0x97 * bit0;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -1307,29 +1309,28 @@ INPUT_PORTS_END
* Machine Reset *
*************************/
-static MACHINE_RESET( peplus )
+void peplus_state::machine_reset()
{
/* AutoHold Feature Currently Disabled */
#if 0
- peplus_state *state = machine.driver_data<peplus_state>();
// pepp0158
- state->m_program_ram[0xa19f] = 0x22; // RET - Disable Memory Test
- state->m_program_ram[0xddea] = 0x22; // RET - Disable Program Checksum
- state->m_autohold_addr = 0x5ffe; // AutoHold Address
+ m_program_ram[0xa19f] = 0x22; // RET - Disable Memory Test
+ m_program_ram[0xddea] = 0x22; // RET - Disable Program Checksum
+ m_autohold_addr = 0x5ffe; // AutoHold Address
// pepp0188
- state->m_program_ram[0x9a8d] = 0x22; // RET - Disable Memory Test
- state->m_program_ram[0xf429] = 0x22; // RET - Disable Program Checksum
- state->m_autohold_addr = 0x742f; // AutoHold Address
+ m_program_ram[0x9a8d] = 0x22; // RET - Disable Memory Test
+ m_program_ram[0xf429] = 0x22; // RET - Disable Program Checksum
+ m_autohold_addr = 0x742f; // AutoHold Address
// pepp0516
- state->m_program_ram[0x9a24] = 0x22; // RET - Disable Memory Test
- state->m_program_ram[0xd61d] = 0x22; // RET - Disable Program Checksum
- state->m_autohold_addr = 0x5e7e; // AutoHold Address
+ m_program_ram[0x9a24] = 0x22; // RET - Disable Memory Test
+ m_program_ram[0xd61d] = 0x22; // RET - Disable Program Checksum
+ m_autohold_addr = 0x5e7e; // AutoHold Address
- if (state->m_autohold_addr)
- state->m_program_ram[state->m_autohold_addr] = state->ioport("AUTOHOLD")->read_safe(0x00) & 0x01;
+ if (m_autohold_addr)
+ m_program_ram[m_autohold_addr] = ioport("AUTOHOLD")->read_safe(0x00) & 0x01;
#endif
}
@@ -1344,7 +1345,6 @@ static MACHINE_CONFIG_START( peplus, peplus_state )
MCFG_CPU_PROGRAM_MAP(peplus_map)
MCFG_CPU_IO_MAP(peplus_iomap)
- MCFG_MACHINE_RESET(peplus)
MCFG_NVRAM_ADD_0FILL("cmos")
// video hardware
@@ -1360,8 +1360,6 @@ static MACHINE_CONFIG_START( peplus, peplus_state )
MCFG_MC6845_ADD("crtc", R6545_1, MC6845_CLOCK, mc6845_intf)
MCFG_I2CMEM_ADD("i2cmem", i2cmem_interface)
- MCFG_PALETTE_INIT(peplus)
- MCFG_VIDEO_START(peplus)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/peyper.c b/src/mame/drivers/peyper.c
index ca1bcc17653..88f3e8289f4 100644
--- a/src/mame/drivers/peyper.c
+++ b/src/mame/drivers/peyper.c
@@ -20,6 +20,7 @@ public:
DECLARE_WRITE8_MEMBER(sol_w);
DECLARE_CUSTOM_INPUT_MEMBER(wolfman_replay_hs_r);
DECLARE_DRIVER_INIT(peyper);
+ virtual void machine_reset();
};
@@ -526,10 +527,9 @@ static INPUT_PORTS_START( odisea )
INPUT_PORTS_END
-static MACHINE_RESET( peyper )
+void peyper_state::machine_reset()
{
- peyper_state *state = machine.driver_data<peyper_state>();
- state->irq_state = 0;
+ irq_state = 0;
}
static MACHINE_CONFIG_START( peyper, peyper_state )
@@ -539,7 +539,6 @@ static MACHINE_CONFIG_START( peyper, peyper_state )
MCFG_CPU_IO_MAP(peyper_io)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 1250 * 2)
- MCFG_MACHINE_RESET( peyper )
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_peyper)
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index 5e5a96e24c3..46ea400beca 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -500,20 +500,19 @@ TIMER_DEVICE_CALLBACK( pgm_interrupt )
if (!state->m_irq4_disabled) state->m_maincpu->set_input_line(4, HOLD_LINE);
}
-MACHINE_START( pgm )
+MACHINE_START_MEMBER(pgm_state,pgm)
{
- pgm_state *state = machine.driver_data<pgm_state>();
-// machine.base_datetime(state->m_systime);
+// machine().base_datetime(m_systime);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_soundcpu = machine.device<cpu_device>("soundcpu");
- state->m_ics = machine.device("ics");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_soundcpu = machine().device<cpu_device>("soundcpu");
+ m_ics = machine().device("ics");
}
-MACHINE_RESET( pgm )
+MACHINE_RESET_MEMBER(pgm_state,pgm)
{
- machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
@@ -528,8 +527,8 @@ MACHINE_CONFIG_FRAGMENT( pgmbase )
MCFG_CPU_PROGRAM_MAP(pgm_z80_mem)
MCFG_CPU_IO_MAP(pgm_z80_io)
- MCFG_MACHINE_START( pgm )
- MCFG_MACHINE_RESET( pgm )
+ MCFG_MACHINE_START_OVERRIDE(pgm_state, pgm )
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_state, pgm )
MCFG_NVRAM_ADD_0FILL("sram")
MCFG_V3021_ADD("rtc")
@@ -546,7 +545,7 @@ MACHINE_CONFIG_FRAGMENT( pgmbase )
MCFG_GFXDECODE(pgm)
MCFG_PALETTE_LENGTH(0x1200/2)
- MCFG_VIDEO_START(pgm)
+ MCFG_VIDEO_START_OVERRIDE(pgm_state,pgm)
/*sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pgm2.c b/src/mame/drivers/pgm2.c
index a78f1df49b0..2f0df6eab3f 100644
--- a/src/mame/drivers/pgm2.c
+++ b/src/mame/drivers/pgm2.c
@@ -33,6 +33,9 @@ public:
DECLARE_DRIVER_INIT(kov2nl);
DECLARE_DRIVER_INIT(orleg2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
@@ -52,17 +55,17 @@ static SCREEN_VBLANK(pgm2)
}
-static VIDEO_START(pgm2)
+void pgm2_state::video_start()
{
}
-static MACHINE_START( pgm2 )
+void pgm2_state::machine_start()
{
}
-static MACHINE_RESET( pgm2 )
+void pgm2_state::machine_reset()
{
}
@@ -127,8 +130,6 @@ static MACHINE_CONFIG_START( pgm2, pgm2_state )
MCFG_CPU_PROGRAM_MAP(pgm2_map)
// MCFG_DEVICE_DISABLE()
- MCFG_MACHINE_START( pgm2 )
- MCFG_MACHINE_RESET( pgm2 )
MCFG_GFXDECODE(pgm2)
@@ -143,7 +144,6 @@ static MACHINE_CONFIG_START( pgm2, pgm2_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(pgm2)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_YMZ770_ADD("ymz770", 16384000) // Actually a YMZ774 on-board
diff --git a/src/mame/drivers/phoenix.c b/src/mame/drivers/phoenix.c
index 15c8912d546..7af1638a3b7 100644
--- a/src/mame/drivers/phoenix.c
+++ b/src/mame/drivers/phoenix.c
@@ -444,9 +444,9 @@ static const ay8910_interface survival_ay8910_interface =
-static MACHINE_RESET( phoenix )
+MACHINE_RESET_MEMBER(phoenix_state,phoenix)
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base() + 0x4000);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base() + 0x4000);
}
@@ -456,7 +456,7 @@ static MACHINE_CONFIG_START( phoenix, phoenix_state )
MCFG_CPU_ADD("maincpu", I8085A, CPU_CLOCK) /* 2.75 MHz */
MCFG_CPU_PROGRAM_MAP(phoenix_memory_map)
- MCFG_MACHINE_RESET(phoenix)
+ MCFG_MACHINE_RESET_OVERRIDE(phoenix_state,phoenix)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -466,8 +466,8 @@ static MACHINE_CONFIG_START( phoenix, phoenix_state )
MCFG_GFXDECODE(phoenix)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(phoenix)
- MCFG_VIDEO_START(phoenix)
+ MCFG_PALETTE_INIT_OVERRIDE(phoenix_state,phoenix)
+ MCFG_VIDEO_START_OVERRIDE(phoenix_state,phoenix)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -494,7 +494,7 @@ static MACHINE_CONFIG_DERIVED( pleiads, phoenix )
/* video hardware */
MCFG_GFXDECODE(pleiads)
- MCFG_PALETTE_INIT(pleiads)
+ MCFG_PALETTE_INIT_OVERRIDE(phoenix_state,pleiads)
/* sound hardware */
MCFG_SOUND_REPLACE("tms", TMS36XX, 247)
@@ -525,7 +525,7 @@ static MACHINE_CONFIG_START( survival, phoenix_state )
MCFG_CPU_CONFIG(survival_i8085_config)
MCFG_CPU_PROGRAM_MAP(survival_memory_map)
- MCFG_MACHINE_RESET(phoenix)
+ MCFG_MACHINE_RESET_OVERRIDE(phoenix_state,phoenix)
/* video hardware */
@@ -539,8 +539,8 @@ static MACHINE_CONFIG_START( survival, phoenix_state )
MCFG_GFXDECODE(phoenix)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(survival)
- MCFG_VIDEO_START(phoenix)
+ MCFG_PALETTE_INIT_OVERRIDE(phoenix_state,survival)
+ MCFG_VIDEO_START_OVERRIDE(phoenix_state,phoenix)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/photon.c b/src/mame/drivers/photon.c
index 01e8dbaa334..a6267568bc2 100644
--- a/src/mame/drivers/photon.c
+++ b/src/mame/drivers/photon.c
@@ -34,6 +34,8 @@ public:
DECLARE_READ8_MEMBER(pk8000_84_porta_r);
DECLARE_WRITE8_MEMBER(pk8000_84_porta_w);
DECLARE_WRITE8_MEMBER(pk8000_84_portc_w);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -193,13 +195,13 @@ static IRQ_CALLBACK(pk8000_irq_callback)
}
-static MACHINE_RESET(pk8000)
+void photon_state::machine_reset()
{
- pk8000_set_bank(machine,0);
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pk8000_irq_callback);
+ pk8000_set_bank(machine(),0);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pk8000_irq_callback);
}
-static VIDEO_START( photon )
+void photon_state::video_start()
{
}
@@ -216,7 +218,6 @@ static MACHINE_CONFIG_START( photon, photon_state )
MCFG_CPU_IO_MAP(pk8000_io)
MCFG_CPU_VBLANK_INT("screen", pk8000_interrupt)
- MCFG_MACHINE_RESET(pk8000)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -228,7 +229,6 @@ static MACHINE_CONFIG_START( photon, photon_state )
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT(pk8000)
- MCFG_VIDEO_START(photon)
MCFG_I8255_ADD( "ppi8255_1", pk8000_ppi8255_interface_1 )
MCFG_I8255_ADD( "ppi8255_2", pk8000_ppi8255_interface_2 )
diff --git a/src/mame/drivers/photon2.c b/src/mame/drivers/photon2.c
index ee7088541f6..d7e02bd5839 100644
--- a/src/mame/drivers/photon2.c
+++ b/src/mame/drivers/photon2.c
@@ -32,6 +32,9 @@ public:
DECLARE_READ8_MEMBER(photon2_fe_r);
DECLARE_WRITE8_MEMBER(photon2_fe_w);
DECLARE_WRITE8_MEMBER(photon2_misc_w);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -81,16 +84,15 @@ static const rgb_t spectrum_palette[16] = {
};
/* Initialise the palette */
-static PALETTE_INIT( spectrum )
+void photon2_state::palette_init()
{
- palette_set_colors(machine, 0, spectrum_palette, ARRAY_LENGTH(spectrum_palette));
+ palette_set_colors(machine(), 0, spectrum_palette, ARRAY_LENGTH(spectrum_palette));
}
-static VIDEO_START( spectrum )
+void photon2_state::video_start()
{
- photon2_state *state = machine.driver_data<photon2_state>();
- state->m_spectrum_frame_number = 0;
- state->m_spectrum_flash_invert = 0;
+ m_spectrum_frame_number = 0;
+ m_spectrum_flash_invert = 0;
}
/* return the color to be used inverting FLASHing colors if necessary */
@@ -310,9 +312,9 @@ static TIMER_DEVICE_CALLBACK( spec_interrupt_hack )
}
}
-static MACHINE_RESET( photon2 )
+void photon2_state::machine_reset()
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base());
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base());
}
static MACHINE_CONFIG_START( photon2, photon2_state )
@@ -322,7 +324,6 @@ static MACHINE_CONFIG_START( photon2, photon2_state )
MCFG_CPU_IO_MAP(spectrum_io)
MCFG_TIMER_ADD_SCANLINE("scantimer", spec_interrupt_hack, "screen", 0, 1)
- MCFG_MACHINE_RESET( photon2 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -334,9 +335,7 @@ static MACHINE_CONFIG_START( photon2, photon2_state )
MCFG_SCREEN_VBLANK_STATIC( spectrum )
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT( spectrum )
- MCFG_VIDEO_START( spectrum )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/photoply.c b/src/mame/drivers/photoply.c
index c03f4769f0c..adf61d86cbb 100644
--- a/src/mame/drivers/photoply.c
+++ b/src/mame/drivers/photoply.c
@@ -52,6 +52,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out0_changed);
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out2_changed);
DECLARE_DRIVER_INIT(photoply);
+ virtual void machine_start();
};
@@ -306,17 +307,16 @@ static void photoply_set_keyb_int(running_machine &machine, int state)
}
-static MACHINE_START( photoply )
+void photoply_state::machine_start()
{
- photoply_state *state = machine.driver_data<photoply_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
- state->m_pit8253 = machine.device( "pit8254" );
- state->m_pic8259_1 = machine.device( "pic8259_1" );
- state->m_pic8259_2 = machine.device( "pic8259_2" );
- state->m_dma8237_1 = machine.device( "dma8237_1" );
- state->m_dma8237_2 = machine.device( "dma8237_2" );
-
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, photoply_set_keyb_int);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ m_pit8253 = machine().device( "pit8254" );
+ m_pic8259_1 = machine().device( "pic8259_1" );
+ m_pic8259_2 = machine().device( "pic8259_2" );
+ m_dma8237_1 = machine().device( "dma8237_1" );
+ m_dma8237_2 = machine().device( "dma8237_2" );
+
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, photoply_set_keyb_int);
}
static const gfx_layout CGA_charlayout =
@@ -345,7 +345,6 @@ static MACHINE_CONFIG_START( photoply, photoply_state )
MCFG_GFXDECODE( photoply )
- MCFG_MACHINE_START(photoply)
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
// MCFG_FRAGMENT_ADD( at_kbdc8042 )
diff --git a/src/mame/drivers/pingpong.c b/src/mame/drivers/pingpong.c
index c14ea6624da..2e7bbb2afe5 100644
--- a/src/mame/drivers/pingpong.c
+++ b/src/mame/drivers/pingpong.c
@@ -477,8 +477,6 @@ static MACHINE_CONFIG_START( pingpong, pingpong_state )
MCFG_GFXDECODE(pingpong)
MCFG_PALETTE_LENGTH(64*4+64*4)
- MCFG_PALETTE_INIT(pingpong)
- MCFG_VIDEO_START(pingpong)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pinkiri8.c b/src/mame/drivers/pinkiri8.c
index f1c64e1a972..00c46a37098 100644
--- a/src/mame/drivers/pinkiri8.c
+++ b/src/mame/drivers/pinkiri8.c
@@ -75,6 +75,7 @@ public:
DECLARE_READ8_MEMBER(ronjan_prot_status_r);
DECLARE_READ8_MEMBER(ronjan_patched_prot_r);
DECLARE_DRIVER_INIT(ronjan);
+ virtual void video_start();
};
@@ -162,7 +163,7 @@ const address_space_config *janshi_vdp_device::memory_space_config(address_space
-static VIDEO_START( pinkiri8 )
+void pinkiri8_state::video_start()
{
}
@@ -1143,7 +1144,6 @@ static MACHINE_CONFIG_START( pinkiri8, pinkiri8_state )
MCFG_GFXDECODE(pinkiri8)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(pinkiri8)
MCFG_DEVICE_ADD("janshivdp", JANSHIVDP, 0)
diff --git a/src/mame/drivers/pipedrm.c b/src/mame/drivers/pipedrm.c
index f2d4426b90b..4d44b76d41d 100644
--- a/src/mame/drivers/pipedrm.c
+++ b/src/mame/drivers/pipedrm.c
@@ -588,50 +588,48 @@ static const ym2610_interface ym2610_config =
*
*************************************/
-static MACHINE_START( pipedrm )
+MACHINE_START_MEMBER(fromance_state,pipedrm)
{
- fromance_state *state = machine.driver_data<fromance_state>();
- state->m_subcpu = machine.device<cpu_device>("sub");
+ m_subcpu = machine().device<cpu_device>("sub");
/* initialize main Z80 bank */
- state->membank("bank1")->configure_entries(0, 8, state->memregion("maincpu")->base() + 0x10000, 0x2000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x2000);
+ membank("bank1")->set_entry(0);
/* initialize sound bank */
- state->membank("bank2")->configure_entries(0, 2, state->memregion("sub")->base() + 0x10000, 0x8000);
- state->membank("bank2")->set_entry(0);
+ membank("bank2")->configure_entries(0, 2, memregion("sub")->base() + 0x10000, 0x8000);
+ membank("bank2")->set_entry(0);
/* state save */
- state->save_item(NAME(state->m_pending_command));
- state->save_item(NAME(state->m_sound_command));
+ save_item(NAME(m_pending_command));
+ save_item(NAME(m_sound_command));
/* video-related elements are saved in VIDEO_START */
}
-static MACHINE_RESET( pipedrm )
+MACHINE_RESET_MEMBER(fromance_state,pipedrm)
{
- fromance_state *state = machine.driver_data<fromance_state>();
int i;
- state->m_pending_command = 0;
- state->m_sound_command = 0;
+ m_pending_command = 0;
+ m_sound_command = 0;
- state->m_flipscreen_old = -1;
- state->m_scrollx_ofs = 0x159;
- state->m_scrolly_ofs = 0x10;
+ m_flipscreen_old = -1;
+ m_scrollx_ofs = 0x159;
+ m_scrolly_ofs = 0x10;
- state->m_selected_videoram = state->m_selected_paletteram = 0;
- state->m_scrollx[0] = 0;
- state->m_scrollx[1] = 0;
- state->m_scrolly[0] = 0;
- state->m_scrolly[1] = 0;
- state->m_gfxreg = 0;
- state->m_flipscreen = 0;
- state->m_crtc_register = 0;
+ m_selected_videoram = m_selected_paletteram = 0;
+ m_scrollx[0] = 0;
+ m_scrollx[1] = 0;
+ m_scrolly[0] = 0;
+ m_scrolly[1] = 0;
+ m_gfxreg = 0;
+ m_flipscreen = 0;
+ m_crtc_register = 0;
for (i = 0; i < 0x10; i++)
- state->m_crtc_data[i] = 0;
+ m_crtc_data[i] = 0;
}
static MACHINE_CONFIG_START( pipedrm, fromance_state )
@@ -646,8 +644,8 @@ static MACHINE_CONFIG_START( pipedrm, fromance_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_portmap)
- MCFG_MACHINE_START(pipedrm)
- MCFG_MACHINE_RESET(pipedrm)
+ MCFG_MACHINE_START_OVERRIDE(fromance_state,pipedrm)
+ MCFG_MACHINE_RESET_OVERRIDE(fromance_state,pipedrm)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -660,7 +658,7 @@ static MACHINE_CONFIG_START( pipedrm, fromance_state )
MCFG_GFXDECODE(pipedrm)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(pipedrm)
+ MCFG_VIDEO_START_OVERRIDE(fromance_state,pipedrm)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -685,8 +683,8 @@ static MACHINE_CONFIG_START( hatris, fromance_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(hatris_sound_portmap)
- MCFG_MACHINE_START(pipedrm)
- MCFG_MACHINE_RESET(pipedrm)
+ MCFG_MACHINE_START_OVERRIDE(fromance_state,pipedrm)
+ MCFG_MACHINE_RESET_OVERRIDE(fromance_state,pipedrm)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -699,7 +697,7 @@ static MACHINE_CONFIG_START( hatris, fromance_state )
MCFG_GFXDECODE(hatris)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(hatris)
+ MCFG_VIDEO_START_OVERRIDE(fromance_state,hatris)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pipeline.c b/src/mame/drivers/pipeline.c
index b92e2b58bc6..7b7a768b1ed 100644
--- a/src/mame/drivers/pipeline.c
+++ b/src/mame/drivers/pipeline.c
@@ -99,6 +99,8 @@ public:
DECLARE_WRITE8_MEMBER(protection_w);
TILE_GET_INFO_MEMBER(get_tile_info);
TILE_GET_INFO_MEMBER(get_tile_info2);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -125,13 +127,12 @@ TILE_GET_INFO_MEMBER(pipeline_state::get_tile_info2)
);
}
-static VIDEO_START ( pipeline )
+void pipeline_state::video_start()
{
- pipeline_state *state = machine.driver_data<pipeline_state>();
- state->m_palram=auto_alloc_array(machine, UINT8, 0x1000);
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
- state->m_tilemap2->set_transparent_pen(0);
+ m_palram=auto_alloc_array(machine(), UINT8, 0x1000);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32 );
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info2),this),TILEMAP_SCAN_ROWS,8,8,64,32 );
+ m_tilemap2->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16( pipeline )
@@ -366,11 +367,11 @@ static const ym2203_interface ym2203_config =
DEVCB_NULL
};
-static PALETTE_INIT(pipeline)
+void pipeline_state::palette_init()
{
int r,g,b,i,c;
- UINT8 *prom1 = &machine.root_device().memregion("proms")->base()[0x000];
- UINT8 *prom2 = &machine.root_device().memregion("proms")->base()[0x100];
+ UINT8 *prom1 = &machine().root_device().memregion("proms")->base()[0x000];
+ UINT8 *prom2 = &machine().root_device().memregion("proms")->base()[0x100];
for(i=0;i<0x100;i++)
{
@@ -381,7 +382,7 @@ static PALETTE_INIT(pipeline)
r*=36;
g*=36;
b*=85;
- palette_set_color(machine, 0x100+i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), 0x100+i, MAKE_RGB(r, g, b));
}
}
@@ -416,10 +417,8 @@ static MACHINE_CONFIG_START( pipeline, pipeline_state )
MCFG_GFXDECODE(pipeline)
- MCFG_PALETTE_INIT(pipeline)
MCFG_PALETTE_LENGTH(0x100+0x100)
- MCFG_VIDEO_START(pipeline)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pirates.c b/src/mame/drivers/pirates.c
index fa84f67e52d..0ce63367f73 100644
--- a/src/mame/drivers/pirates.c
+++ b/src/mame/drivers/pirates.c
@@ -279,7 +279,6 @@ static MACHINE_CONFIG_START( pirates, pirates_state )
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(pirates)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pitnrun.c b/src/mame/drivers/pitnrun.c
index a46850c5725..0a96137298d 100644
--- a/src/mame/drivers/pitnrun.c
+++ b/src/mame/drivers/pitnrun.c
@@ -241,7 +241,6 @@ static MACHINE_CONFIG_START( pitnrun, pitnrun_state )
MCFG_CPU_ADD("mcu", M68705,XTAL_18_432MHz/6) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(pitnrun_mcu_map)
- MCFG_MACHINE_RESET(pitnrun)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -255,8 +254,6 @@ static MACHINE_CONFIG_START( pitnrun, pitnrun_state )
MCFG_GFXDECODE(pitnrun)
MCFG_PALETTE_LENGTH(32*3)
- MCFG_PALETTE_INIT(pitnrun)
- MCFG_VIDEO_START(pitnrun)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pkscram.c b/src/mame/drivers/pkscram.c
index 00e0d026121..5a41c18bca1 100644
--- a/src/mame/drivers/pkscram.c
+++ b/src/mame/drivers/pkscram.c
@@ -41,6 +41,9 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_md_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -230,15 +233,14 @@ static TIMER_DEVICE_CALLBACK( scanline_callback )
}
}
-static VIDEO_START( pkscramble )
+void pkscram_state::video_start()
{
- pkscram_state *state = machine.driver_data<pkscram_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_md_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_md_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_md_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_md_tilemap->set_transparent_pen(15);
- state->m_fg_tilemap->set_transparent_pen(15);
+ m_md_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
}
static SCREEN_UPDATE_IND16( pkscramble )
@@ -283,20 +285,18 @@ static const ym2203_interface ym2203_config =
DEVCB_LINE(irqhandler)
};
-static MACHINE_START( pkscramble)
+void pkscram_state::machine_start()
{
- pkscram_state *state = machine.driver_data<pkscram_state>();
- state_save_register_global(machine, state->m_out);
- state_save_register_global(machine, state->m_interrupt_line_active);
+ state_save_register_global(machine(), m_out);
+ state_save_register_global(machine(), m_interrupt_line_active);
}
-static MACHINE_RESET( pkscramble)
+void pkscram_state::machine_reset()
{
- pkscram_state *state = machine.driver_data<pkscram_state>();
- state->m_out = 0;
- state->m_interrupt_line_active=0;
- timer_device *scanline_timer = machine.device<timer_device>("scan_timer");
- scanline_timer->adjust(machine.primary_screen->time_until_pos(interrupt_scanline), interrupt_scanline);
+ m_out = 0;
+ m_interrupt_line_active=0;
+ timer_device *scanline_timer = machine().device<timer_device>("scan_timer");
+ scanline_timer->adjust(machine().primary_screen->time_until_pos(interrupt_scanline), interrupt_scanline);
}
static MACHINE_CONFIG_START( pkscramble, pkscram_state )
@@ -307,8 +307,6 @@ static MACHINE_CONFIG_START( pkscramble, pkscram_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_START(pkscramble)
- MCFG_MACHINE_RESET(pkscramble)
MCFG_TIMER_ADD("scan_timer", scanline_callback)
@@ -323,7 +321,6 @@ static MACHINE_CONFIG_START( pkscramble, pkscram_state )
MCFG_PALETTE_LENGTH(0x800)
MCFG_GFXDECODE(pkscram)
- MCFG_VIDEO_START(pkscramble)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pktgaldx.c b/src/mame/drivers/pktgaldx.c
index 3582b79040c..56af342e663 100644
--- a/src/mame/drivers/pktgaldx.c
+++ b/src/mame/drivers/pktgaldx.c
@@ -314,14 +314,13 @@ static const deco16ic_interface pktgaldx_deco16ic_tilegen1_intf =
-static MACHINE_START( pktgaldx )
+void pktgaldx_state::machine_start()
{
- pktgaldx_state *state = machine.driver_data<pktgaldx_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_deco_tilegen1 = machine.device("tilegen1");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_deco_tilegen1 = machine().device("tilegen1");
- decoprot_reset(machine);
+ decoprot_reset(machine());
}
static MACHINE_CONFIG_START( pktgaldx, pktgaldx_state )
@@ -331,7 +330,6 @@ static MACHINE_CONFIG_START( pktgaldx, pktgaldx_state )
MCFG_CPU_PROGRAM_MAP(pktgaldx_map)
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
- MCFG_MACHINE_START(pktgaldx)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -371,7 +369,6 @@ static MACHINE_CONFIG_START( pktgaldb, pktgaldx_state )
MCFG_CPU_PROGRAM_MAP(pktgaldb_map)
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
- MCFG_MACHINE_START(pktgaldx)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/playch10.c b/src/mame/drivers/playch10.c
index 680e10a7f27..d4fea1e619d 100644
--- a/src/mame/drivers/playch10.c
+++ b/src/mame/drivers/playch10.c
@@ -684,8 +684,6 @@ static MACHINE_CONFIG_START( playch10, playch10_state )
MCFG_CPU_ADD("cart", N2A03, N2A03_DEFAULTCLOCK)
MCFG_CPU_PROGRAM_MAP(cart_map)
- MCFG_MACHINE_RESET(pc10)
- MCFG_MACHINE_START(pc10)
// video hardware
MCFG_GFXDECODE(playch10)
@@ -704,8 +702,6 @@ static MACHINE_CONFIG_START( playch10, playch10_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(playch10_bottom)
- MCFG_PALETTE_INIT(playch10)
- MCFG_VIDEO_START(playch10)
MCFG_PPU2C03B_ADD("ppu", playch10_ppu_interface)
@@ -726,8 +722,8 @@ static MACHINE_CONFIG_DERIVED( playchnv, playch10 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( playch10_hboard, playch10 )
- MCFG_VIDEO_START(playch10_hboard)
- MCFG_MACHINE_START(playch10_hboard)
+ MCFG_VIDEO_START_OVERRIDE(playch10_state,playch10_hboard)
+ MCFG_MACHINE_START_OVERRIDE(playch10_state,playch10_hboard)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/playmark.c b/src/mame/drivers/playmark.c
index ff1c600301f..25c4ba53c1b 100644
--- a/src/mame/drivers/playmark.c
+++ b/src/mame/drivers/playmark.c
@@ -1026,44 +1026,42 @@ static GFXDECODE_START( bigtwinb )
GFXDECODE_ENTRY( "gfx1", 0, hrdtimes_charlayout, 0x200, 16 ) /* colors 0x200-0x2ff */
GFXDECODE_END
-static MACHINE_START( playmark )
+MACHINE_START_MEMBER(playmark_state,playmark)
{
- playmark_state *state = machine.driver_data<playmark_state>();
-
- state->m_oki = machine.device<okim6295_device>("oki");
- state->m_eeprom = machine.device<eeprom_device>("eeprom");
-
- state->save_item(NAME(state->m_bgscrollx));
- state->save_item(NAME(state->m_bgscrolly));
- state->save_item(NAME(state->m_bg_enable));
- state->save_item(NAME(state->m_bg_full_size));
- state->save_item(NAME(state->m_fgscrollx));
- state->save_item(NAME(state->m_fg_rowscroll_enable));
- state->save_item(NAME(state->m_scroll));
-
- state->save_item(NAME(state->m_snd_command));
- state->save_item(NAME(state->m_snd_flag));
- state->save_item(NAME(state->m_oki_control));
- state->save_item(NAME(state->m_oki_command));
- state->save_item(NAME(state->m_old_oki_bank));
+
+ m_oki = machine().device<okim6295_device>("oki");
+ m_eeprom = machine().device<eeprom_device>("eeprom");
+
+ save_item(NAME(m_bgscrollx));
+ save_item(NAME(m_bgscrolly));
+ save_item(NAME(m_bg_enable));
+ save_item(NAME(m_bg_full_size));
+ save_item(NAME(m_fgscrollx));
+ save_item(NAME(m_fg_rowscroll_enable));
+ save_item(NAME(m_scroll));
+
+ save_item(NAME(m_snd_command));
+ save_item(NAME(m_snd_flag));
+ save_item(NAME(m_oki_control));
+ save_item(NAME(m_oki_command));
+ save_item(NAME(m_old_oki_bank));
}
-static MACHINE_RESET( playmark )
+MACHINE_RESET_MEMBER(playmark_state,playmark)
{
- playmark_state *state = machine.driver_data<playmark_state>();
-
- state->m_bgscrollx = 0;
- state->m_bgscrolly = 0;
- state->m_bg_enable = 0;
- state->m_bg_full_size = 0;
- state->m_fgscrollx = 0;
- state->m_fg_rowscroll_enable = 0;
- memset(state->m_scroll, 0, sizeof(state->m_scroll));
-
- state->m_snd_command = 0;
- state->m_oki_control = 0;
- state->m_oki_command = 0;
- state->m_old_oki_bank = 0;
+
+ m_bgscrollx = 0;
+ m_bgscrolly = 0;
+ m_bg_enable = 0;
+ m_bg_full_size = 0;
+ m_fgscrollx = 0;
+ m_fg_rowscroll_enable = 0;
+ memset(m_scroll, 0, sizeof(m_scroll));
+
+ m_snd_command = 0;
+ m_oki_control = 0;
+ m_oki_command = 0;
+ m_old_oki_bank = 0;
}
static MACHINE_CONFIG_START( bigtwin, playmark_state )
@@ -1077,8 +1075,8 @@ static MACHINE_CONFIG_START( bigtwin, playmark_state )
/* Program and Data Maps are internal to the MCU */
MCFG_CPU_IO_MAP(playmark_sound_io_map)
- MCFG_MACHINE_START(playmark)
- MCFG_MACHINE_RESET(playmark)
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1091,7 +1089,7 @@ static MACHINE_CONFIG_START( bigtwin, playmark_state )
MCFG_GFXDECODE(playmark)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(bigtwin)
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,bigtwin)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1111,8 +1109,8 @@ static MACHINE_CONFIG_START( bigtwinb, playmark_state )
/* Program and Data Maps are internal to the MCU */
MCFG_CPU_IO_MAP(playmark_sound_io_map)
- MCFG_MACHINE_START(playmark)
- MCFG_MACHINE_RESET(playmark)
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1125,7 +1123,7 @@ static MACHINE_CONFIG_START( bigtwinb, playmark_state )
MCFG_GFXDECODE(bigtwinb)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(bigtwinb)
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,bigtwinb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1148,8 +1146,8 @@ static MACHINE_CONFIG_START( wbeachvl, playmark_state )
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_EEPROM_DEFAULT_VALUE(0)
- MCFG_MACHINE_START(playmark)
- MCFG_MACHINE_RESET(playmark)
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1162,7 +1160,7 @@ static MACHINE_CONFIG_START( wbeachvl, playmark_state )
MCFG_GFXDECODE(wbeachvl)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(wbeachvl)
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,wbeachvl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1182,8 +1180,8 @@ static MACHINE_CONFIG_START( excelsr, playmark_state )
/* Program and Data Maps are internal to the MCU */
MCFG_CPU_IO_MAP(playmark_sound_io_map)
- MCFG_MACHINE_START(playmark)
- MCFG_MACHINE_RESET(playmark)
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1196,7 +1194,7 @@ static MACHINE_CONFIG_START( excelsr, playmark_state )
MCFG_GFXDECODE(excelsr)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(excelsr)
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,excelsr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1219,8 +1217,8 @@ static MACHINE_CONFIG_START( hotmind, playmark_state )
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_EEPROM_DEFAULT_VALUE(0)
- MCFG_MACHINE_START(playmark)
- MCFG_MACHINE_RESET(playmark)
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1233,7 +1231,7 @@ static MACHINE_CONFIG_START( hotmind, playmark_state )
MCFG_GFXDECODE(hrdtimes)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(hotmind)
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,hotmind)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1253,8 +1251,8 @@ static MACHINE_CONFIG_START( hrdtimes, playmark_state )
/* Program and Data Maps are internal to the MCU */
// MCFG_CPU_IO_MAP(playmark_sound_io_map)
- MCFG_MACHINE_START(playmark)
- MCFG_MACHINE_RESET(playmark)
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1267,7 +1265,7 @@ static MACHINE_CONFIG_START( hrdtimes, playmark_state )
MCFG_GFXDECODE(hrdtimes)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(hrdtimes)
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,hrdtimes)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pluto5.c b/src/mame/drivers/pluto5.c
index 3aeba928ffc..3cd58098ce2 100644
--- a/src/mame/drivers/pluto5.c
+++ b/src/mame/drivers/pluto5.c
@@ -198,6 +198,7 @@ protected:
required_device<cpu_device> m_maincpu;
public:
DECLARE_DRIVER_INIT(hb);
+ virtual void machine_start();
};
READ32_MEMBER(pluto5_state::pluto5_mem_r)
@@ -240,11 +241,10 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( pluto5 )
INPUT_PORTS_END
-static MACHINE_START( pluto5 )
+void pluto5_state::machine_start()
{
- pluto5_state *state = machine.driver_data<pluto5_state>();
- state->m_cpuregion = (UINT32*)state->memregion( "maincpu" )->base();
- state->m_mainram = (UINT32*)auto_alloc_array_clear(machine, UINT32, 0x10000);
+ m_cpuregion = (UINT32*)memregion( "maincpu" )->base();
+ m_mainram = (UINT32*)auto_alloc_array_clear(machine(), UINT32, 0x10000);
}
@@ -252,7 +252,6 @@ static MACHINE_CONFIG_START( pluto5, pluto5_state )
MCFG_CPU_ADD("maincpu", M68340, 16000000)
MCFG_CPU_PROGRAM_MAP(pluto5_map)
- MCFG_MACHINE_START( pluto5 )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/plygonet.c b/src/mame/drivers/plygonet.c
index 78867bfd64e..c25246bd3d4 100644
--- a/src/mame/drivers/plygonet.c
+++ b/src/mame/drivers/plygonet.c
@@ -600,7 +600,7 @@ static GFXDECODE_START( plygonet )
GFXDECODE_ENTRY( "gfx2", 0, bglayout, 0x0000, 64 )
GFXDECODE_END
-static MACHINE_START(polygonet)
+void polygonet_state::machine_start()
{
logerror("Polygonet machine start\n");
@@ -608,9 +608,9 @@ static MACHINE_START(polygonet)
/* It's presumed the hardware has hard-wired operating mode 1 (MODA = 1, MODB = 0) */
/* TODO: This should work, but the MAME core appears to do something funny.
Not a big deal - it's hacked in dsp_w_lines. */
- //machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- //machine.device("dsp")->execute().set_input_line(DSP56K_IRQ_MODA, ASSERT_LINE);
- //machine.device("dsp")->execute().set_input_line(DSP56K_IRQ_MODB, CLEAR_LINE);
+ //machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ //machine().device("dsp")->execute().set_input_line(DSP56K_IRQ_MODA, ASSERT_LINE);
+ //machine().device("dsp")->execute().set_input_line(DSP56K_IRQ_MODB, CLEAR_LINE);
}
static const k053936_interface polygonet_k053936_intf =
@@ -632,7 +632,6 @@ static MACHINE_CONFIG_START( plygonet, polygonet_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(audio_interrupt, 480)
- MCFG_MACHINE_START(polygonet)
MCFG_GFXDECODE(plygonet)
@@ -651,7 +650,6 @@ static MACHINE_CONFIG_START( plygonet, polygonet_state )
MCFG_PALETTE_LENGTH(32768)
- MCFG_VIDEO_START(polygonet)
MCFG_K053936_ADD("k053936", polygonet_k053936_intf)
diff --git a/src/mame/drivers/pokechmp.c b/src/mame/drivers/pokechmp.c
index 7007e48cfe3..4ec5aaed561 100644
--- a/src/mame/drivers/pokechmp.c
+++ b/src/mame/drivers/pokechmp.c
@@ -223,7 +223,6 @@ static MACHINE_CONFIG_START( pokechmp, pokechmp_state )
MCFG_GFXDECODE(pokechmp)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(pokechmp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/poker72.c b/src/mame/drivers/poker72.c
index 25b9b081ce4..2f634481f8d 100644
--- a/src/mame/drivers/poker72.c
+++ b/src/mame/drivers/poker72.c
@@ -30,10 +30,13 @@ public:
DECLARE_WRITE8_MEMBER(output_w);
DECLARE_WRITE8_MEMBER(tile_bank_w);
DECLARE_DRIVER_INIT(poker72);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START(poker72)
+void poker72_state::video_start()
{
}
@@ -315,7 +318,7 @@ static GFXDECODE_START( poker72 )
GFXDECODE_END
/* default 444 palette for debug purpose */
-static PALETTE_INIT( poker72 )
+void poker72_state::palette_init()
{
int x,r,g,b;
@@ -324,7 +327,7 @@ static PALETTE_INIT( poker72 )
r = (x & 0xf)*0x10;
g = ((x & 0x3c)>>2)*0x10;
b = ((x & 0xf0)>>4)*0x10;
- palette_set_color(machine,x,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),x,MAKE_RGB(r,g,b));
}
}
@@ -338,11 +341,11 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
-static MACHINE_RESET( poker72 )
+void poker72_state::machine_reset()
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->set_base(&ROM[0]);
+ machine().root_device().membank("bank1")->set_base(&ROM[0]);
}
static MACHINE_CONFIG_START( poker72, poker72_state )
@@ -353,7 +356,6 @@ static MACHINE_CONFIG_START( poker72, poker72_state )
MCFG_CPU_PROGRAM_MAP(poker72_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_RESET(poker72)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -365,9 +367,7 @@ static MACHINE_CONFIG_START( poker72, poker72_state )
MCFG_GFXDECODE(poker72)
MCFG_PALETTE_LENGTH(0xe00)
- MCFG_PALETTE_INIT(poker72)
- MCFG_VIDEO_START(poker72)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/polepos.c b/src/mame/drivers/polepos.c
index f1079b1b549..2d443a7ca13 100644
--- a/src/mame/drivers/polepos.c
+++ b/src/mame/drivers/polepos.c
@@ -461,19 +461,18 @@ static TIMER_DEVICE_CALLBACK( polepos_scanline )
}
-static MACHINE_RESET( polepos )
+MACHINE_RESET_MEMBER(polepos_state,polepos)
{
- polepos_state *state = machine.driver_data<polepos_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int i;
/* Reset all latches */
for (i = 0; i < 8; i++)
- state->polepos_latch_w(*space, i, 0);
+ polepos_latch_w(*space, i, 0);
/* set the interrupt vectors (this shouldn't be needed) */
- machine.device("sub")->execute().set_input_line_vector(0, Z8000_NVI);
- machine.device("sub2")->execute().set_input_line_vector(0, Z8000_NVI);
+ machine().device("sub")->execute().set_input_line_vector(0, Z8000_NVI);
+ machine().device("sub2")->execute().set_input_line_vector(0, Z8000_NVI);
}
@@ -901,7 +900,7 @@ static MACHINE_CONFIG_START( polepos, polepos_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* some interleaving */
- MCFG_MACHINE_RESET(polepos)
+ MCFG_MACHINE_RESET_OVERRIDE(polepos_state,polepos)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TIMER_ADD_SCANLINE("scantimer", polepos_scanline, "screen", 0, 1)
@@ -915,8 +914,8 @@ static MACHINE_CONFIG_START( polepos, polepos_state )
MCFG_PALETTE_LENGTH(0x0f00)
MCFG_DEFAULT_LAYOUT(layout_polepos)
- MCFG_PALETTE_INIT(polepos)
- MCFG_VIDEO_START(polepos)
+ MCFG_PALETTE_INIT_OVERRIDE(polepos_state,polepos)
+ MCFG_VIDEO_START_OVERRIDE(polepos_state,polepos)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -980,7 +979,7 @@ static MACHINE_CONFIG_START( topracern, polepos_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* some interleaving */
- MCFG_MACHINE_RESET(polepos)
+ MCFG_MACHINE_RESET_OVERRIDE(polepos_state,polepos)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TIMER_ADD_SCANLINE("scantimer", polepos_scanline, "screen", 0, 1)
@@ -994,8 +993,8 @@ static MACHINE_CONFIG_START( topracern, polepos_state )
MCFG_PALETTE_LENGTH(0x0f00)
MCFG_DEFAULT_LAYOUT(layout_topracer)
- MCFG_PALETTE_INIT(polepos)
- MCFG_VIDEO_START(polepos)
+ MCFG_PALETTE_INIT_OVERRIDE(polepos_state,polepos)
+ MCFG_VIDEO_START_OVERRIDE(polepos_state,polepos)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/policetr.c b/src/mame/drivers/policetr.c
index 8f18cd97235..51473e9bdad 100644
--- a/src/mame/drivers/policetr.c
+++ b/src/mame/drivers/policetr.c
@@ -431,7 +431,6 @@ static MACHINE_CONFIG_START( policetr, policetr_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(policetr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/polyplay.c b/src/mame/drivers/polyplay.c
index aeed2e38df7..f9b1a304d77 100644
--- a/src/mame/drivers/polyplay.c
+++ b/src/mame/drivers/polyplay.c
@@ -102,20 +102,19 @@ static const samples_interface polyplay_samples_interface =
};
-static MACHINE_RESET( polyplay )
+void polyplay_state::machine_reset()
{
- polyplay_state *state = machine.driver_data<polyplay_state>();
- state->m_channel1_active = 0;
- state->m_channel1_const = 0;
- state->m_channel2_active = 0;
- state->m_channel2_const = 0;
-
- polyplay_set_channel1(machine, 0);
- polyplay_play_channel1(machine, 0);
- polyplay_set_channel2(machine, 0);
- polyplay_play_channel2(machine, 0);
-
- state->m_timer = machine.device<timer_device>("timer");
+ m_channel1_active = 0;
+ m_channel1_const = 0;
+ m_channel2_active = 0;
+ m_channel2_const = 0;
+
+ polyplay_set_channel1(machine(), 0);
+ polyplay_play_channel1(machine(), 0);
+ polyplay_set_channel2(machine(), 0);
+ polyplay_play_channel2(machine(), 0);
+
+ m_timer = machine().device<timer_device>("timer");
}
@@ -277,7 +276,6 @@ static MACHINE_CONFIG_START( polyplay, polyplay_state )
MCFG_CPU_PERIODIC_INT(periodic_interrupt,75)
MCFG_CPU_VBLANK_INT("screen", coin_interrupt)
- MCFG_MACHINE_RESET(polyplay)
MCFG_TIMER_ADD("timer", polyplay_timer_callback)
@@ -292,8 +290,6 @@ static MACHINE_CONFIG_START( polyplay, polyplay_state )
MCFG_GFXDECODE(polyplay)
MCFG_PALETTE_LENGTH(10)
- MCFG_PALETTE_INIT(polyplay)
- MCFG_VIDEO_START(polyplay)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/poo.c b/src/mame/drivers/poo.c
index cbaaec54ee4..a6954d64225 100644
--- a/src/mame/drivers/poo.c
+++ b/src/mame/drivers/poo.c
@@ -66,10 +66,12 @@ public:
DECLARE_WRITE8_MEMBER(sound_cmd_w);
DECLARE_WRITE8_MEMBER(poo_vregs_w);
DECLARE_READ8_MEMBER(timer_r);
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START(unclepoo)
+void poo_state::video_start()
{
}
@@ -289,9 +291,9 @@ static GFXDECODE_START( unclepoo )
GFXDECODE_ENTRY( "gfx", 0, tiles8x8_layout, 0, 0x20 )
GFXDECODE_END
-static PALETTE_INIT( unclepoo )
+void poo_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i,r,g,b,val;
int bit0,bit1,bit2;
@@ -312,7 +314,7 @@ static PALETTE_INIT( unclepoo )
bit2 = (val >> 2) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -355,9 +357,7 @@ static MACHINE_CONFIG_START( unclepoo, poo_state )
MCFG_GFXDECODE(unclepoo)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(unclepoo)
- MCFG_VIDEO_START(unclepoo)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ay", AY8910, 18000000/12) /* ? Mhz */
diff --git a/src/mame/drivers/poolshrk.c b/src/mame/drivers/poolshrk.c
index a18ac4c7392..c5c020232b2 100644
--- a/src/mame/drivers/poolshrk.c
+++ b/src/mame/drivers/poolshrk.c
@@ -202,12 +202,12 @@ static GFXDECODE_START( poolshrk )
GFXDECODE_END
-static PALETTE_INIT( poolshrk )
+void poolshrk_state::palette_init()
{
- palette_set_color(machine,0,MAKE_RGB(0x7F, 0x7F, 0x7F));
- palette_set_color(machine,1,MAKE_RGB(0xFF, 0xFF, 0xFF));
- palette_set_color(machine,2,MAKE_RGB(0x7F, 0x7F, 0x7F));
- palette_set_color(machine,3,MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(),0,MAKE_RGB(0x7F, 0x7F, 0x7F));
+ palette_set_color(machine(),1,MAKE_RGB(0xFF, 0xFF, 0xFF));
+ palette_set_color(machine(),2,MAKE_RGB(0x7F, 0x7F, 0x7F));
+ palette_set_color(machine(),3,MAKE_RGB(0x00, 0x00, 0x00));
}
@@ -227,8 +227,6 @@ static MACHINE_CONFIG_START( poolshrk, poolshrk_state )
MCFG_GFXDECODE(poolshrk)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(poolshrk)
- MCFG_VIDEO_START(poolshrk)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pooyan.c b/src/mame/drivers/pooyan.c
index 8bf5865f4f8..e6d32f1c928 100644
--- a/src/mame/drivers/pooyan.c
+++ b/src/mame/drivers/pooyan.c
@@ -173,20 +173,18 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( pooyan )
+void pooyan_state::machine_start()
{
- pooyan_state *state = machine.driver_data<pooyan_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_irq_enable));
+ save_item(NAME(m_irq_enable));
}
-static MACHINE_RESET( pooyan )
+void pooyan_state::machine_reset()
{
- pooyan_state *state = machine.driver_data<pooyan_state>();
- state->m_irq_enable = 0;
+ m_irq_enable = 0;
}
@@ -197,8 +195,6 @@ static MACHINE_CONFIG_START( pooyan, pooyan_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", pooyan_interrupt)
- MCFG_MACHINE_START(pooyan)
- MCFG_MACHINE_RESET(pooyan)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -210,8 +206,6 @@ static MACHINE_CONFIG_START( pooyan, pooyan_state )
MCFG_GFXDECODE(pooyan)
MCFG_PALETTE_LENGTH(16*16+16*16)
- MCFG_PALETTE_INIT(pooyan)
- MCFG_VIDEO_START(pooyan)
/* sound hardware */
MCFG_FRAGMENT_ADD(timeplt_sound)
diff --git a/src/mame/drivers/popeye.c b/src/mame/drivers/popeye.c
index cc411857607..99efd79e9c3 100644
--- a/src/mame/drivers/popeye.c
+++ b/src/mame/drivers/popeye.c
@@ -441,8 +441,6 @@ static MACHINE_CONFIG_START( skyskipr, popeye_state )
MCFG_GFXDECODE(popeye)
MCFG_PALETTE_LENGTH(16+16*2+64*4)
- MCFG_PALETTE_INIT(popeye)
- MCFG_VIDEO_START(skyskipr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -457,7 +455,7 @@ static MACHINE_CONFIG_DERIVED( popeye, skyskipr )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(popeye_map)
- MCFG_VIDEO_START(popeye)
+ MCFG_VIDEO_START_OVERRIDE(popeye_state,popeye)
MACHINE_CONFIG_END
@@ -465,8 +463,8 @@ static MACHINE_CONFIG_DERIVED( popeyebl, skyskipr )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(popeyebl_map)
- MCFG_PALETTE_INIT(popeyebl)
- MCFG_VIDEO_START(popeye)
+ MCFG_PALETTE_INIT_OVERRIDE(popeye_state,popeyebl)
+ MCFG_VIDEO_START_OVERRIDE(popeye_state,popeye)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/popobear.c b/src/mame/drivers/popobear.c
index 11f92a14c2e..75ae4d43cb6 100644
--- a/src/mame/drivers/popobear.c
+++ b/src/mame/drivers/popobear.c
@@ -94,9 +94,10 @@ public:
required_shared_ptr<UINT16> m_vregs;
DECLARE_READ8_MEMBER(popo_620000_r);
DECLARE_WRITE8_MEMBER(popobear_irq_ack_w);
+ virtual void video_start();
};
-VIDEO_START(popobear)
+void popobear_state::video_start()
{
}
@@ -472,7 +473,6 @@ static MACHINE_CONFIG_START( popobear, popobear_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_PALETTE_LENGTH(256*2)
- MCFG_VIDEO_START(popobear)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/popper.c b/src/mame/drivers/popper.c
index 36455069218..22431a138bf 100644
--- a/src/mame/drivers/popper.c
+++ b/src/mame/drivers/popper.c
@@ -310,24 +310,22 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( popper )
+void popper_state::machine_start()
{
- popper_state *state = machine.driver_data<popper_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_e002));
- state->save_item(NAME(state->m_gfx_bank));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_e002));
+ save_item(NAME(m_gfx_bank));
}
-static MACHINE_RESET( popper )
+void popper_state::machine_reset()
{
- popper_state *state = machine.driver_data<popper_state>();
- state->m_flipscreen = 0;
- state->m_e002 = 0;
- state->m_gfx_bank = 0;
+ m_flipscreen = 0;
+ m_e002 = 0;
+ m_gfx_bank = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -352,8 +350,6 @@ static MACHINE_CONFIG_START( popper, popper_state )
MCFG_QUANTUM_TIME(attotime::from_hz(1800))
- MCFG_MACHINE_START(popper)
- MCFG_MACHINE_RESET(popper)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -366,8 +362,6 @@ static MACHINE_CONFIG_START( popper, popper_state )
MCFG_GFXDECODE(popper)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(popper)
- MCFG_VIDEO_START(popper)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/portrait.c b/src/mame/drivers/portrait.c
index 96496abaa72..81a71d0c93d 100644
--- a/src/mame/drivers/portrait.c
+++ b/src/mame/drivers/portrait.c
@@ -260,9 +260,7 @@ static MACHINE_CONFIG_START( portrait, portrait_state )
MCFG_GFXDECODE(portrait)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_PALETTE_INIT(portrait)
- MCFG_VIDEO_START(portrait)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/potgoldu.c b/src/mame/drivers/potgoldu.c
index e279c30fa20..a21b5afe562 100644
--- a/src/mame/drivers/potgoldu.c
+++ b/src/mame/drivers/potgoldu.c
@@ -26,6 +26,8 @@ class potgold_state : public driver_device
public:
potgold_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -37,7 +39,7 @@ public:
-static VIDEO_START( potgold )
+void potgold_state::video_start()
{
}
@@ -48,7 +50,7 @@ static void scanline_update(screen_device &screen, bitmap_rgb32 &bitmap, int sca
}
-static MACHINE_RESET( potgold )
+void potgold_state::machine_reset()
{
}
@@ -84,9 +86,7 @@ static MACHINE_CONFIG_START( potgold, potgold_state )
MCFG_CPU_CONFIG(tms_config)
MCFG_CPU_PROGRAM_MAP(potgold_map)
- MCFG_MACHINE_RESET(potgold)
- MCFG_VIDEO_START(potgold)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 444, 0, 320, 233, 0, 200)
diff --git a/src/mame/drivers/powerbal.c b/src/mame/drivers/powerbal.c
index a89e9c9b5ba..b6215296072 100644
--- a/src/mame/drivers/powerbal.c
+++ b/src/mame/drivers/powerbal.c
@@ -416,15 +416,14 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
}
}
-static VIDEO_START( powerbal )
+VIDEO_START_MEMBER(playmark_state,powerbal)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::powerbal_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::powerbal_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_xoffset = -20;
+ m_xoffset = -20;
- state->m_bg_tilemap->set_scrolly(0, state->m_bg_yoffset);
+ m_bg_tilemap->set_scrolly(0, m_bg_yoffset);
}
static SCREEN_UPDATE_IND16( powerbal )
@@ -469,18 +468,16 @@ GFXDECODE_END
-static MACHINE_START( powerbal )
+MACHINE_START_MEMBER(playmark_state,powerbal)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->save_item(NAME(state->m_tilebank));
+ save_item(NAME(m_tilebank));
}
-static MACHINE_RESET( powerbal )
+MACHINE_RESET_MEMBER(playmark_state,powerbal)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tilebank = 0;
+ m_tilebank = 0;
}
static MACHINE_CONFIG_START( powerbal, playmark_state )
@@ -490,8 +487,8 @@ static MACHINE_CONFIG_START( powerbal, playmark_state )
MCFG_CPU_PROGRAM_MAP(powerbal_main_map)
MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
- MCFG_MACHINE_START(powerbal)
- MCFG_MACHINE_RESET(powerbal)
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,powerbal)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,powerbal)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -504,7 +501,7 @@ static MACHINE_CONFIG_START( powerbal, playmark_state )
MCFG_GFXDECODE(powerbal)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(powerbal)
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,powerbal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -523,8 +520,8 @@ static MACHINE_CONFIG_START( magicstk, playmark_state )
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
MCFG_EEPROM_DEFAULT_VALUE(0)
- MCFG_MACHINE_START(powerbal)
- MCFG_MACHINE_RESET(powerbal)
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,powerbal)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,powerbal)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -537,7 +534,7 @@ static MACHINE_CONFIG_START( magicstk, playmark_state )
MCFG_GFXDECODE(powerbal)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(powerbal)
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,powerbal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/powerins.c b/src/mame/drivers/powerins.c
index 7cc7a4b31c0..978a6ecee15 100644
--- a/src/mame/drivers/powerins.c
+++ b/src/mame/drivers/powerins.c
@@ -312,10 +312,9 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_RESET( powerins )
+void powerins_state::machine_reset()
{
- powerins_state *state = machine.driver_data<powerins_state>();
- state->m_oki_bank = -1; // samples bank "unitialised"
+ m_oki_bank = -1; // samples bank "unitialised"
}
static void irqhandler(device_t *device, int irq)
@@ -350,7 +349,6 @@ static MACHINE_CONFIG_START( powerins, powerins_state )
MCFG_CPU_PROGRAM_MAP(powerins_sound_map)
MCFG_CPU_IO_MAP(powerins_sound_io_map)
- MCFG_MACHINE_RESET(powerins)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -363,7 +361,6 @@ static MACHINE_CONFIG_START( powerins, powerins_state )
MCFG_GFXDECODE(powerins)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(powerins)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ppmast93.c b/src/mame/drivers/ppmast93.c
index 1f5c3ef4581..20c90c7fb78 100644
--- a/src/mame/drivers/ppmast93.c
+++ b/src/mame/drivers/ppmast93.c
@@ -154,6 +154,7 @@ public:
DECLARE_WRITE8_MEMBER(ppmast_sound_w);
TILE_GET_INFO_MEMBER(get_ppmast93_bg_tile_info);
TILE_GET_INFO_MEMBER(get_ppmast93_fg_tile_info);
+ virtual void video_start();
};
@@ -344,13 +345,12 @@ TILE_GET_INFO_MEMBER(ppmast93_state::get_ppmast93_fg_tile_info)
0);
}
-static VIDEO_START( ppmast93 )
+void ppmast93_state::video_start()
{
- ppmast93_state *state = machine.driver_data<ppmast93_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ppmast93_state::get_ppmast93_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ppmast93_state::get_ppmast93_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ppmast93_state::get_ppmast93_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ppmast93_state::get_ppmast93_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16( ppmast93 )
@@ -386,7 +386,6 @@ static MACHINE_CONFIG_START( ppmast93, ppmast93_state )
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(ppmast93)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/prehisle.c b/src/mame/drivers/prehisle.c
index c32f04af154..074348193bd 100644
--- a/src/mame/drivers/prehisle.c
+++ b/src/mame/drivers/prehisle.c
@@ -227,7 +227,6 @@ static MACHINE_CONFIG_START( prehisle, prehisle_state )
MCFG_GFXDECODE(prehisle)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(prehisle)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/proconn.c b/src/mame/drivers/proconn.c
index 7d3772ffcb4..9cf4b427289 100644
--- a/src/mame/drivers/proconn.c
+++ b/src/mame/drivers/proconn.c
@@ -170,6 +170,7 @@ protected:
required_device<ay8910_device> m_ay;
public:
DECLARE_DRIVER_INIT(proconn);
+ virtual void machine_reset();
};
static ADDRESS_MAP_START( proconn_map, AS_PROGRAM, 8, proconn_state )
@@ -355,10 +356,9 @@ static const z80_daisy_config z80_daisy_chain[] =
{ NULL }
};
-static MACHINE_RESET( proconn )
+void proconn_state::machine_reset()
{
- proconn_state *state = machine.driver_data<proconn_state>();
- state->m_vfd->reset(); // reset display1
+ m_vfd->reset(); // reset display1
}
static MACHINE_CONFIG_START( proconn, proconn_state )
@@ -378,7 +378,6 @@ static MACHINE_CONFIG_START( proconn, proconn_state )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_MACHINE_RESET( proconn )
MCFG_DEFAULT_LAYOUT(layout_awpvid16)
diff --git a/src/mame/drivers/progolf.c b/src/mame/drivers/progolf.c
index ea910106e26..47cc078f59b 100644
--- a/src/mame/drivers/progolf.c
+++ b/src/mame/drivers/progolf.c
@@ -84,19 +84,20 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_DRIVER_INIT(progolfa);
DECLARE_DRIVER_INIT(progolf);
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START( progolf )
+void progolf_state::video_start()
{
- progolf_state *state = machine.driver_data<progolf_state>();
- state->m_scrollx_hi = 0;
- state->m_scrollx_lo = 0;
+ m_scrollx_hi = 0;
+ m_scrollx_lo = 0;
- state->m_fg_fb = auto_alloc_array(machine, UINT8, 0x2000*8);
- state->m_videoram = auto_alloc_array(machine, UINT8, 0x1000);
+ m_fg_fb = auto_alloc_array(machine(), UINT8, 0x2000*8);
+ m_videoram = auto_alloc_array(machine(), UINT8, 0x1000);
}
@@ -389,12 +390,12 @@ static const mc6845_interface mc6845_intf =
};
-static PALETTE_INIT( progolf )
+void progolf_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -414,7 +415,7 @@ static PALETTE_INIT( progolf )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -439,10 +440,8 @@ static MACHINE_CONFIG_START( progolf, progolf_state )
MCFG_GFXDECODE(progolf)
MCFG_PALETTE_LENGTH(32*3)
- MCFG_PALETTE_INIT(progolf)
MCFG_MC6845_ADD("crtc", MC6845, 3000000/4, mc6845_intf) /* hand tuned to get ~57 fps */
- MCFG_VIDEO_START(progolf)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/psattack.c b/src/mame/drivers/psattack.c
index bf77888f93f..9f3c368ec30 100644
--- a/src/mame/drivers/psattack.c
+++ b/src/mame/drivers/psattack.c
@@ -87,6 +87,9 @@ public:
DECLARE_READ32_MEMBER(psattack_unk_r);
DECLARE_DRIVER_INIT(psattack);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -105,17 +108,17 @@ static ADDRESS_MAP_START( psattack_mem, AS_PROGRAM, 32, psattack_state )
ADDRESS_MAP_END
-static MACHINE_START(psattack)
+void psattack_state::machine_start()
{
}
-static MACHINE_RESET(psattack)
+void psattack_state::machine_reset()
{
}
-static VIDEO_START(psattack)
+void psattack_state::video_start()
{
}
@@ -175,8 +178,6 @@ static MACHINE_CONFIG_START( psattack, psattack_state )
MCFG_CPU_PROGRAM_MAP(psattack_mem)
MCFG_CPU_VBLANK_INT("screen", psattack_interrupt)
- MCFG_MACHINE_START(psattack)
- MCFG_MACHINE_RESET(psattack)
//MCFG_NVRAM_ADD_0FILL("nvram")
@@ -188,7 +189,6 @@ static MACHINE_CONFIG_START( psattack, psattack_state )
MCFG_SCREEN_UPDATE_STATIC(psattack)
MCFG_SCREEN_VBLANK_STATIC(psattack)
- MCFG_VIDEO_START(psattack)
MCFG_PALETTE_INIT(RRRRR_GGGGGG_BBBBB)
MCFG_PALETTE_LENGTH(65536)
diff --git a/src/mame/drivers/psikyo.c b/src/mame/drivers/psikyo.c
index e20f772f89c..7abba4bbf9d 100644
--- a/src/mame/drivers/psikyo.c
+++ b/src/mame/drivers/psikyo.c
@@ -1013,26 +1013,24 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_START( psikyo )
+void psikyo_state::machine_start()
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_soundlatch));
- state->save_item(NAME(state->m_z80_nmi));
- state->save_item(NAME(state->m_mcu_status));
- state->save_item(NAME(state->m_tilemap_0_bank));
- state->save_item(NAME(state->m_tilemap_1_bank));
+ save_item(NAME(m_soundlatch));
+ save_item(NAME(m_z80_nmi));
+ save_item(NAME(m_mcu_status));
+ save_item(NAME(m_tilemap_0_bank));
+ save_item(NAME(m_tilemap_1_bank));
}
-static MACHINE_RESET( psikyo )
+void psikyo_state::machine_reset()
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
- state->m_soundlatch = 0;
- state->m_z80_nmi = 0;
- state->m_mcu_status = 0;
+ m_soundlatch = 0;
+ m_z80_nmi = 0;
+ m_mcu_status = 0;
}
@@ -1057,8 +1055,6 @@ static MACHINE_CONFIG_START( sngkace, psikyo_state )
MCFG_CPU_PROGRAM_MAP(sngkace_sound_map)
MCFG_CPU_IO_MAP(sngkace_sound_io_map)
- MCFG_MACHINE_START(psikyo)
- MCFG_MACHINE_RESET(psikyo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1072,7 +1068,7 @@ static MACHINE_CONFIG_START( sngkace, psikyo_state )
MCFG_GFXDECODE(psikyo)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(sngkace)
+ MCFG_VIDEO_START_OVERRIDE(psikyo_state,sngkace)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1108,8 +1104,6 @@ static MACHINE_CONFIG_START( gunbird, psikyo_state )
MCFG_CPU_PROGRAM_MAP(gunbird_sound_map)
MCFG_CPU_IO_MAP(gunbird_sound_io_map)
- MCFG_MACHINE_START(psikyo)
- MCFG_MACHINE_RESET(psikyo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1123,7 +1117,7 @@ static MACHINE_CONFIG_START( gunbird, psikyo_state )
MCFG_GFXDECODE(psikyo)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(psikyo)
+ MCFG_VIDEO_START_OVERRIDE(psikyo_state,psikyo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1143,8 +1137,6 @@ static MACHINE_CONFIG_START( s1945bl, psikyo_state ) /* Bootleg hardware based o
MCFG_CPU_PROGRAM_MAP(psikyo_bootleg_map)
MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)
- MCFG_MACHINE_START(psikyo)
- MCFG_MACHINE_RESET(psikyo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1158,7 +1150,7 @@ static MACHINE_CONFIG_START( s1945bl, psikyo_state ) /* Bootleg hardware based o
MCFG_GFXDECODE(psikyo)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(psikyo)
+ MCFG_VIDEO_START_OVERRIDE(psikyo_state,psikyo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1199,8 +1191,6 @@ static MACHINE_CONFIG_START( s1945, psikyo_state )
/* MCU should go here */
- MCFG_MACHINE_START(psikyo)
- MCFG_MACHINE_RESET(psikyo)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1214,7 +1204,7 @@ static MACHINE_CONFIG_START( s1945, psikyo_state )
MCFG_GFXDECODE(psikyo)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(psikyo)
+ MCFG_VIDEO_START_OVERRIDE(psikyo_state,psikyo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/psikyo4.c b/src/mame/drivers/psikyo4.c
index d8d7f81ef34..c2d4c3a54ed 100644
--- a/src/mame/drivers/psikyo4.c
+++ b/src/mame/drivers/psikyo4.c
@@ -660,22 +660,20 @@ static const ymf278b_interface ymf278b_config =
};
-static MACHINE_START( psikyo4 )
+void psikyo4_state::machine_start()
{
- psikyo4_state *state = machine.driver_data<psikyo4_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_oldbrt1));
- state->save_item(NAME(state->m_oldbrt2));
+ save_item(NAME(m_oldbrt1));
+ save_item(NAME(m_oldbrt2));
}
-static MACHINE_RESET( psikyo4 )
+void psikyo4_state::machine_reset()
{
- psikyo4_state *state = machine.driver_data<psikyo4_state>();
- state->m_oldbrt1 = -1;
- state->m_oldbrt2 = -1;
+ m_oldbrt1 = -1;
+ m_oldbrt2 = -1;
}
static MACHINE_CONFIG_START( ps4big, psikyo4_state )
@@ -685,8 +683,6 @@ static MACHINE_CONFIG_START( ps4big, psikyo4_state )
MCFG_CPU_PROGRAM_MAP(ps4_map)
MCFG_CPU_VBLANK_INT("lscreen", psikyosh_interrupt)
- MCFG_MACHINE_START(psikyo4)
- MCFG_MACHINE_RESET(psikyo4)
MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C56)
MCFG_EEPROM_DEFAULT_VALUE(0)
@@ -710,7 +706,6 @@ static MACHINE_CONFIG_START( ps4big, psikyo4_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_STATIC(psikyo4_right)
- MCFG_VIDEO_START(psikyo4)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/psikyosh.c b/src/mame/drivers/psikyosh.c
index 7df19722d51..bc8d51213d5 100644
--- a/src/mame/drivers/psikyosh.c
+++ b/src/mame/drivers/psikyosh.c
@@ -794,13 +794,12 @@ static const ymf278b_interface ymf278b_config =
};
-static MACHINE_START( psikyosh )
+void psikyosh_state::machine_start()
{
- psikyosh_state *state = machine.driver_data<psikyosh_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->membank("bank2")->configure_entries(0, 0x1000, state->memregion("gfx1")->base(), 0x20000);
+ membank("bank2")->configure_entries(0, 0x1000, memregion("gfx1")->base(), 0x20000);
}
@@ -811,7 +810,6 @@ static MACHINE_CONFIG_START( psikyo3v1, psikyosh_state )
MCFG_CPU_PROGRAM_MAP(ps3v1_map)
MCFG_CPU_VBLANK_INT("screen", psikyosh_interrupt)
- MCFG_MACHINE_START(psikyosh)
MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C56)
MCFG_EEPROM_DEFAULT_VALUE(0)
@@ -830,7 +828,6 @@ static MACHINE_CONFIG_START( psikyo3v1, psikyosh_state )
MCFG_GFXDECODE(psikyosh)
MCFG_PALETTE_LENGTH(0x5000/4)
- MCFG_VIDEO_START(psikyosh)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/psychic5.c b/src/mame/drivers/psychic5.c
index 9bcfc685884..40c776a4646 100644
--- a/src/mame/drivers/psychic5.c
+++ b/src/mame/drivers/psychic5.c
@@ -315,11 +315,10 @@ The first sprite data is located at f20b,then f21b and so on.
#include "includes/psychic5.h"
-static MACHINE_RESET( psychic5 )
+void psychic5_state::machine_reset()
{
- psychic5_state *state = machine.driver_data<psychic5_state>();
- state->m_bank_latch = 0xff;
- state->flip_screen_set(0);
+ m_bank_latch = 0xff;
+ flip_screen_set(0);
}
/***************************************************************************
@@ -671,7 +670,6 @@ static MACHINE_CONFIG_START( psychic5, psychic5_state )
MCFG_CPU_IO_MAP(psychic5_soundport_map)
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* Allow time for 2nd cpu to interleave */
- MCFG_MACHINE_RESET(psychic5)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -685,8 +683,8 @@ static MACHINE_CONFIG_START( psychic5, psychic5_state )
MCFG_GFXDECODE(psychic5)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(psychic5)
- MCFG_VIDEO_RESET(psychic5)
+ MCFG_VIDEO_START_OVERRIDE(psychic5_state,psychic5)
+ MCFG_VIDEO_RESET_OVERRIDE(psychic5_state,psychic5)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -717,7 +715,6 @@ static MACHINE_CONFIG_START( bombsa, psychic5_state )
MCFG_CPU_IO_MAP(bombsa_soundport_map)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(psychic5)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -730,8 +727,8 @@ static MACHINE_CONFIG_START( bombsa, psychic5_state )
MCFG_GFXDECODE(bombsa)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(bombsa)
- MCFG_VIDEO_RESET(bombsa)
+ MCFG_VIDEO_START_OVERRIDE(psychic5_state,bombsa)
+ MCFG_VIDEO_RESET_OVERRIDE(psychic5_state,bombsa)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pturn.c b/src/mame/drivers/pturn.c
index 4483d886659..55e2f2a765c 100644
--- a/src/mame/drivers/pturn.c
+++ b/src/mame/drivers/pturn.c
@@ -115,6 +115,8 @@ public:
DECLARE_DRIVER_INIT(pturn);
TILE_GET_INFO_MEMBER(get_pturn_tile_info);
TILE_GET_INFO_MEMBER(get_pturn_bg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -153,13 +155,12 @@ TILE_GET_INFO_MEMBER(pturn_state::get_pturn_bg_tile_info)
SET_TILE_INFO_MEMBER(1,tileno+m_bgbank*256,palno,0);
}
-static VIDEO_START(pturn)
+void pturn_state::video_start()
{
- pturn_state *state = machine.driver_data<pturn_state>();
- state->m_fgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,32,32);
- state->m_fgmap->set_transparent_pen(0);
- state->m_bgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_bg_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,32,32*8);
- state->m_bgmap->set_transparent_pen(0);
+ m_fgmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_tile_info),this),TILEMAP_SCAN_ROWS,8, 8,32,32);
+ m_fgmap->set_transparent_pen(0);
+ m_bgmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_bg_tile_info),this),TILEMAP_SCAN_ROWS,8, 8,32,32*8);
+ m_bgmap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16(pturn)
@@ -476,11 +477,10 @@ static INTERRUPT_GEN( pturn_main_intgen )
}
}
-static MACHINE_RESET( pturn )
+void pturn_state::machine_reset()
{
- pturn_state *state = machine.driver_data<pturn_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- state->soundlatch_clear_byte_w(*space,0,0);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ soundlatch_clear_byte_w(*space,0,0);
}
static MACHINE_CONFIG_START( pturn, pturn_state )
@@ -492,7 +492,6 @@ static MACHINE_CONFIG_START( pturn, pturn_state )
MCFG_CPU_PROGRAM_MAP(sub_map)
MCFG_CPU_PERIODIC_INT(pturn_sub_intgen,3*60)
- MCFG_MACHINE_RESET(pturn)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -504,7 +503,6 @@ static MACHINE_CONFIG_START( pturn, pturn_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(pturn)
MCFG_GFXDECODE(pturn)
/* sound hardware */
diff --git a/src/mame/drivers/punchout.c b/src/mame/drivers/punchout.c
index e02be32594a..aae65e815d7 100644
--- a/src/mame/drivers/punchout.c
+++ b/src/mame/drivers/punchout.c
@@ -922,11 +922,10 @@ static const nes_interface nes_config =
"audiocpu"
};
-static MACHINE_RESET( punchout )
+void punchout_state::machine_reset()
{
- punchout_state *state = machine.driver_data<punchout_state>();
- state->m_rp5c01_mode_sel = 0;
- memset(state->m_rp5c01_mem, 0, sizeof(state->m_rp5c01_mem));
+ m_rp5c01_mode_sel = 0;
+ memset(m_rp5c01_mem, 0, sizeof(m_rp5c01_mem));
}
static INTERRUPT_GEN( vblank_irq )
@@ -951,7 +950,6 @@ static MACHINE_CONFIG_START( punchout, punchout_state )
MCFG_CPU_PROGRAM_MAP(punchout_sound_map)
MCFG_CPU_VBLANK_INT("top", nmi_line_pulse)
- MCFG_MACHINE_RESET(punchout)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -973,7 +971,6 @@ static MACHINE_CONFIG_START( punchout, punchout_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(punchout_bottom)
- MCFG_VIDEO_START(punchout)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -997,7 +994,7 @@ static MACHINE_CONFIG_DERIVED( armwrest, punchout )
/* video hardware */
MCFG_GFXDECODE(armwrest)
- MCFG_VIDEO_START(armwrest)
+ MCFG_VIDEO_START_OVERRIDE(punchout_state,armwrest)
MCFG_SCREEN_MODIFY("top")
MCFG_SCREEN_UPDATE_STATIC(armwrest_top)
MCFG_SCREEN_MODIFY("bottom")
diff --git a/src/mame/drivers/pushman.c b/src/mame/drivers/pushman.c
index 6146622b273..6768200a03a 100644
--- a/src/mame/drivers/pushman.c
+++ b/src/mame/drivers/pushman.c
@@ -400,30 +400,28 @@ static const ym2203_interface ym2203_config =
};
-static MACHINE_START( pushman )
+void pushman_state::machine_start()
{
- pushman_state *state = machine.driver_data<pushman_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
- state->save_item(NAME(state->m_control));
- state->save_item(NAME(state->m_shared_ram));
- state->save_item(NAME(state->m_latch));
- state->save_item(NAME(state->m_new_latch));
+ save_item(NAME(m_control));
+ save_item(NAME(m_shared_ram));
+ save_item(NAME(m_latch));
+ save_item(NAME(m_new_latch));
}
-static MACHINE_RESET( pushman )
+MACHINE_RESET_MEMBER(pushman_state,pushman)
{
- pushman_state *state = machine.driver_data<pushman_state>();
- state->m_latch = 0;
- state->m_new_latch = 0;
- state->m_control[0] = 0;
- state->m_control[1] = 0;
+ m_latch = 0;
+ m_new_latch = 0;
+ m_control[0] = 0;
+ m_control[1] = 0;
- memset(state->m_shared_ram, 0, ARRAY_LENGTH(state->m_shared_ram));
+ memset(m_shared_ram, 0, ARRAY_LENGTH(m_shared_ram));
}
static MACHINE_CONFIG_START( pushman, pushman_state )
@@ -443,8 +441,7 @@ static MACHINE_CONFIG_START( pushman, pushman_state )
MCFG_QUANTUM_TIME(attotime::from_hz(3600))
- MCFG_MACHINE_START(pushman)
- MCFG_MACHINE_RESET(pushman)
+ MCFG_MACHINE_RESET_OVERRIDE(pushman_state,pushman)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -457,7 +454,6 @@ static MACHINE_CONFIG_START( pushman, pushman_state )
MCFG_GFXDECODE(pushman)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(pushman)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -470,13 +466,12 @@ static MACHINE_CONFIG_START( pushman, pushman_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MACHINE_CONFIG_END
-static MACHINE_RESET( bballs )
+MACHINE_RESET_MEMBER(pushman_state,bballs)
{
- pushman_state *state = machine.driver_data<pushman_state>();
- MACHINE_RESET_CALL(pushman);
+ MACHINE_RESET_CALL_MEMBER(pushman);
- state->m_latch = 0x400;
+ m_latch = 0x400;
}
static MACHINE_CONFIG_START( bballs, pushman_state )
@@ -492,8 +487,7 @@ static MACHINE_CONFIG_START( bballs, pushman_state )
MCFG_QUANTUM_TIME(attotime::from_hz(3600))
- MCFG_MACHINE_START(pushman)
- MCFG_MACHINE_RESET(bballs)
+ MCFG_MACHINE_RESET_OVERRIDE(pushman_state,bballs)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -506,7 +500,6 @@ static MACHINE_CONFIG_START( bballs, pushman_state )
MCFG_GFXDECODE(pushman)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(pushman)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pzletime.c b/src/mame/drivers/pzletime.c
index 776c7007415..dd498d7af46 100644
--- a/src/mame/drivers/pzletime.c
+++ b/src/mame/drivers/pzletime.c
@@ -55,6 +55,10 @@ public:
DECLARE_WRITE16_MEMBER(oki_bank_w);
TILE_GET_INFO_MEMBER(get_mid_tile_info);
TILE_GET_INFO_MEMBER(get_txt_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -77,15 +81,14 @@ TILE_GET_INFO_MEMBER(pzletime_state::get_txt_tile_info)
tileinfo.category = BIT(colour, 3);
}
-static VIDEO_START( pzletime )
+void pzletime_state::video_start()
{
- pzletime_state *state = machine.driver_data<pzletime_state>();
- state->m_mid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pzletime_state::get_mid_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
- state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pzletime_state::get_txt_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_mid_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pzletime_state::get_mid_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
+ m_txt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pzletime_state::get_txt_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_mid_tilemap->set_transparent_pen(0);
- state->m_txt_tilemap->set_transparent_pen(0);
+ m_mid_tilemap->set_transparent_pen(0);
+ m_txt_tilemap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16( pzletime )
@@ -293,7 +296,7 @@ static GFXDECODE_START( pzletime )
GFXDECODE_ENTRY( "gfx3", 0, layout16x16, 0x000, 0x10 )
GFXDECODE_END
-static PALETTE_INIT( pzletime )
+void pzletime_state::palette_init()
{
int i;
@@ -301,21 +304,19 @@ static PALETTE_INIT( pzletime )
/* initialize 555 RGB lookup */
for (i = 0; i < 32768; i++)
- palette_set_color_rgb(machine, i + 0x300, pal5bit(i >> 10), pal5bit(i >> 5), pal5bit(i >> 0));
+ palette_set_color_rgb(machine(), i + 0x300, pal5bit(i >> 10), pal5bit(i >> 5), pal5bit(i >> 0));
}
-static MACHINE_START( pzletime )
+void pzletime_state::machine_start()
{
- pzletime_state *state = machine.driver_data<pzletime_state>();
- state->save_item(NAME(state->m_ticket));
+ save_item(NAME(m_ticket));
}
-static MACHINE_RESET( pzletime )
+void pzletime_state::machine_reset()
{
- pzletime_state *state = machine.driver_data<pzletime_state>();
- state->m_ticket = 0;
+ m_ticket = 0;
}
static MACHINE_CONFIG_START( pzletime, pzletime_state )
@@ -325,8 +326,6 @@ static MACHINE_CONFIG_START( pzletime, pzletime_state )
MCFG_CPU_PROGRAM_MAP(pzletime_map)
MCFG_CPU_VBLANK_INT("screen",irq4_line_hold)
- MCFG_MACHINE_START(pzletime)
- MCFG_MACHINE_RESET(pzletime)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -339,8 +338,6 @@ static MACHINE_CONFIG_START( pzletime, pzletime_state )
MCFG_PALETTE_LENGTH(0x300 + 32768)
MCFG_EEPROM_93C46_ADD("eeprom")
- MCFG_PALETTE_INIT(pzletime)
- MCFG_VIDEO_START(pzletime)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/qdrmfgp.c b/src/mame/drivers/qdrmfgp.c
index 7c230fa1948..3bdcf2f0501 100644
--- a/src/mame/drivers/qdrmfgp.c
+++ b/src/mame/drivers/qdrmfgp.c
@@ -635,30 +635,28 @@ static const k053252_interface qdrmfgp2_k053252_intf =
40, 16
};
-static MACHINE_START( qdrmfgp )
+MACHINE_START_MEMBER(qdrmfgp_state,qdrmfgp)
{
- qdrmfgp_state *state = machine.driver_data<qdrmfgp_state>();
- state_save_register_global(machine, state->m_control);
- state_save_register_global(machine, state->m_pal);
- state_save_register_global(machine, state->m_gp2_irq_control);
+ state_save_register_global(machine(), m_control);
+ state_save_register_global(machine(), m_pal);
+ state_save_register_global(machine(), m_gp2_irq_control);
}
-static MACHINE_START( qdrmfgp2 )
+MACHINE_START_MEMBER(qdrmfgp_state,qdrmfgp2)
{
/* sound irq (CCU? 240Hz) */
- machine.scheduler().timer_pulse(attotime::from_hz(18432000/76800), FUNC(gp2_timer_callback));
+ machine().scheduler().timer_pulse(attotime::from_hz(18432000/76800), FUNC(gp2_timer_callback));
- MACHINE_START_CALL( qdrmfgp );
+ MACHINE_START_CALL_MEMBER( qdrmfgp );
}
-static MACHINE_RESET( qdrmfgp )
+void qdrmfgp_state::machine_reset()
{
- qdrmfgp_state *state = machine.driver_data<qdrmfgp_state>();
- state->m_sndram = state->memregion("konami")->base() + 0x100000;
+ m_sndram = memregion("konami")->base() + 0x100000;
/* reset the IDE controller */
- state->m_gp2_irq_control = 0;
- machine.device("ide")->reset();
+ m_gp2_irq_control = 0;
+ machine().device("ide")->reset();
}
@@ -681,8 +679,7 @@ static MACHINE_CONFIG_START( qdrmfgp, qdrmfgp_state )
MCFG_CPU_PROGRAM_MAP(qdrmfgp_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", qdrmfgp_interrupt, "screen", 0, 1)
- MCFG_MACHINE_START(qdrmfgp)
- MCFG_MACHINE_RESET(qdrmfgp)
+ MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true)
@@ -697,7 +694,7 @@ static MACHINE_CONFIG_START( qdrmfgp, qdrmfgp_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(qdrmfgp)
+ MCFG_VIDEO_START_OVERRIDE(qdrmfgp_state,qdrmfgp)
MCFG_K056832_ADD("k056832", qdrmfgp_k056832_intf)
MCFG_K053252_ADD("k053252", 32000000/4, qdrmfgp_k053252_intf)
@@ -723,8 +720,7 @@ static MACHINE_CONFIG_START( qdrmfgp2, qdrmfgp_state )
MCFG_CPU_PROGRAM_MAP(qdrmfgp2_map)
MCFG_CPU_VBLANK_INT("screen", qdrmfgp2_interrupt)
- MCFG_MACHINE_START(qdrmfgp2)
- MCFG_MACHINE_RESET(qdrmfgp)
+ MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_IDE_CONTROLLER_ADD("ide", qdrmfgp2_ide_intf, ide_devices, "hdd", NULL, true)
@@ -739,7 +735,7 @@ static MACHINE_CONFIG_START( qdrmfgp2, qdrmfgp_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(qdrmfgp2)
+ MCFG_VIDEO_START_OVERRIDE(qdrmfgp_state,qdrmfgp2)
MCFG_K056832_ADD("k056832", qdrmfgp2_k056832_intf)
MCFG_K053252_ADD("k053252", 32000000/4, qdrmfgp2_k053252_intf)
diff --git a/src/mame/drivers/qix.c b/src/mame/drivers/qix.c
index be1a4c1b630..8f8c4263347 100644
--- a/src/mame/drivers/qix.c
+++ b/src/mame/drivers/qix.c
@@ -560,7 +560,6 @@ static MACHINE_CONFIG_START( qix_base, qix_state )
/* Zookeeper settings and high score table seem especially sensitive to this */
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_RESET(qix)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_PIA6821_ADD("pia0", qix_pia_0_intf)
@@ -584,7 +583,7 @@ static MACHINE_CONFIG_DERIVED( mcu, qix )
MCFG_CPU_ADD("mcu", M68705, COIN_CLOCK_OSC) /* 1.00 MHz */
MCFG_CPU_PROGRAM_MAP(mcu_map)
- MCFG_MACHINE_START(qixmcu)
+ MCFG_MACHINE_START_OVERRIDE(qix_state,qixmcu)
MCFG_PIA6821_MODIFY("pia0", qixmcu_pia_0_intf)
MCFG_PIA6821_MODIFY("pia2", qixmcu_pia_2_intf)
diff --git a/src/mame/drivers/quakeat.c b/src/mame/drivers/quakeat.c
index 85b8b5e6df8..0e248a46d09 100644
--- a/src/mame/drivers/quakeat.c
+++ b/src/mame/drivers/quakeat.c
@@ -74,10 +74,12 @@ public:
device_t *m_pic8259_2;
DECLARE_WRITE_LINE_MEMBER(quakeat_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
+ virtual void machine_start();
+ virtual void video_start();
};
-static VIDEO_START(quake)
+void quakeat_state::video_start()
{
}
@@ -155,13 +157,12 @@ static IRQ_CALLBACK(irq_callback)
return pic8259_acknowledge( state->m_pic8259_1);
}
-static MACHINE_START(quakeat)
+void quakeat_state::machine_start()
{
- quakeat_state *state = machine.driver_data<quakeat_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
- state->m_pic8259_1 = machine.device( "pic8259_1" );
- state->m_pic8259_2 = machine.device( "pic8259_2" );
+ m_pic8259_1 = machine().device( "pic8259_1" );
+ m_pic8259_2 = machine().device( "pic8259_2" );
}
/*************************************************************/
@@ -171,7 +172,6 @@ static MACHINE_CONFIG_START( quake, quakeat_state )
MCFG_CPU_PROGRAM_MAP(quake_map)
MCFG_CPU_IO_MAP(quake_io)
- MCFG_MACHINE_START(quakeat)
MCFG_PIC8259_ADD( "pic8259_1", quakeat_pic8259_1_config )
MCFG_PIC8259_ADD( "pic8259_2", quakeat_pic8259_2_config )
@@ -186,7 +186,6 @@ static MACHINE_CONFIG_START( quake, quakeat_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(quake)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/quasar.c b/src/mame/drivers/quasar.c
index c8b6dcd59be..f5a767dc6ce 100644
--- a/src/mame/drivers/quasar.c
+++ b/src/mame/drivers/quasar.c
@@ -301,27 +301,25 @@ static const s2636_interface s2636_2_config =
// Quasar S2650 Main CPU, I8035 sound board
// ****************************************
-static MACHINE_START( quasar )
+MACHINE_START_MEMBER(quasar_state,quasar)
{
- quasar_state *state = machine.driver_data<quasar_state>();
- MACHINE_START_CALL(cvs);
+ MACHINE_START_CALL_MEMBER(cvs);
/* register state save */
- state->save_item(NAME(state->m_effectcontrol));
- state->save_item(NAME(state->m_page));
- state->save_item(NAME(state->m_io_page));
+ save_item(NAME(m_effectcontrol));
+ save_item(NAME(m_page));
+ save_item(NAME(m_io_page));
}
-static MACHINE_RESET( quasar )
+MACHINE_RESET_MEMBER(quasar_state,quasar)
{
- quasar_state *state = machine.driver_data<quasar_state>();
- MACHINE_RESET_CALL(cvs);
+ MACHINE_RESET_CALL_MEMBER(cvs);
- state->m_effectcontrol = 0;
- state->m_page = 0;
- state->m_io_page = 8;
+ m_effectcontrol = 0;
+ m_page = 0;
+ m_io_page = 8;
}
static MACHINE_CONFIG_START( quasar, quasar_state )
@@ -336,8 +334,8 @@ static MACHINE_CONFIG_START( quasar, quasar_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_portmap)
- MCFG_MACHINE_START(quasar)
- MCFG_MACHINE_RESET(quasar)
+ MCFG_MACHINE_START_OVERRIDE(quasar_state,quasar)
+ MCFG_MACHINE_RESET_OVERRIDE(quasar_state,quasar)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -356,8 +354,8 @@ static MACHINE_CONFIG_START( quasar, quasar_state )
MCFG_S2636_ADD("s2636_1", s2636_1_config)
MCFG_S2636_ADD("s2636_2", s2636_2_config)
- MCFG_PALETTE_INIT(quasar)
- MCFG_VIDEO_START(quasar)
+ MCFG_PALETTE_INIT_OVERRIDE(quasar_state,quasar)
+ MCFG_VIDEO_START_OVERRIDE(quasar_state,quasar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/queen.c b/src/mame/drivers/queen.c
index a2a363506b7..81aabc6722b 100644
--- a/src/mame/drivers/queen.c
+++ b/src/mame/drivers/queen.c
@@ -108,6 +108,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(pc_dack2_w);
DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
DECLARE_WRITE_LINE_MEMBER(queen_pic8259_1_set_int_line);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -636,37 +638,36 @@ static void ide_interrupt(device_t *device, int state)
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
-static MACHINE_START( queen )
+void queen_state::machine_start()
{
- queen_state *state = machine.driver_data<queen_state>();
- state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x10000/4);
- state->m_bios_ext1_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_bios_ext2_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_bios_ext3_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_bios_ext4_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_isa_ram1 = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_isa_ram2 = auto_alloc_array(machine, UINT32, 0x4000/4);
+ m_bios_ram = auto_alloc_array(machine(), UINT32, 0x10000/4);
+ m_bios_ext1_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_bios_ext2_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_bios_ext3_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_bios_ext4_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_isa_ram1 = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_isa_ram2 = auto_alloc_array(machine(), UINT32, 0x4000/4);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, queen_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, queen_set_keyb_int);
- state->m_maincpu->set_irq_acknowledge_callback(irq_callback);
- intel82439tx_init(machine);
+ m_maincpu->set_irq_acknowledge_callback(irq_callback);
+ intel82439tx_init(machine());
- kbdc8042_init(machine, &at8042);
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ kbdc8042_init(machine(), &at8042);
+ pc_vga_init(machine(), ::vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
-static MACHINE_RESET( queen )
+void queen_state::machine_reset()
{
- machine.root_device().membank("bios_bank")->set_base(machine.root_device().memregion("bios")->base() + 0x30000);
- machine.root_device().membank("bios_ext1")->set_base(machine.root_device().memregion("bios")->base() + 0x20000);
- machine.root_device().membank("bios_ext2")->set_base(machine.root_device().memregion("bios")->base() + 0x24000);
- machine.root_device().membank("bios_ext3")->set_base(machine.root_device().memregion("bios")->base() + 0x28000);
- machine.root_device().membank("bios_ext4")->set_base(machine.root_device().memregion("bios")->base() + 0x2c000);
- machine.root_device().membank("video_bank1")->set_base(machine.root_device().memregion("video_bios")->base() + 0);
- machine.root_device().membank("video_bank2")->set_base(machine.root_device().memregion("video_bios")->base() + 0x4000);
+ machine().root_device().membank("bios_bank")->set_base(machine().root_device().memregion("bios")->base() + 0x30000);
+ machine().root_device().membank("bios_ext1")->set_base(machine().root_device().memregion("bios")->base() + 0x20000);
+ machine().root_device().membank("bios_ext2")->set_base(machine().root_device().memregion("bios")->base() + 0x24000);
+ machine().root_device().membank("bios_ext3")->set_base(machine().root_device().memregion("bios")->base() + 0x28000);
+ machine().root_device().membank("bios_ext4")->set_base(machine().root_device().memregion("bios")->base() + 0x2c000);
+ machine().root_device().membank("video_bank1")->set_base(machine().root_device().memregion("video_bios")->base() + 0);
+ machine().root_device().membank("video_bank2")->set_base(machine().root_device().memregion("video_bios")->base() + 0x4000);
}
@@ -683,8 +684,6 @@ static MACHINE_CONFIG_START( queen, queen_state )
MCFG_CPU_PROGRAM_MAP(queen_map)
MCFG_CPU_IO_MAP(queen_io)
- MCFG_MACHINE_START(queen)
- MCFG_MACHINE_RESET(queen)
MCFG_PIT8254_ADD( "pit8254", queen_pit8254_config )
MCFG_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
diff --git a/src/mame/drivers/quizdna.c b/src/mame/drivers/quizdna.c
index aa0d24fbe6e..e5db26bde80 100644
--- a/src/mame/drivers/quizdna.c
+++ b/src/mame/drivers/quizdna.c
@@ -460,7 +460,6 @@ static MACHINE_CONFIG_START( quizdna, quizdna_state )
MCFG_GFXDECODE(quizdna)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(quizdna)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/quizo.c b/src/mame/drivers/quizo.c
index 2c87d921d2f..ab6d5b3a12f 100644
--- a/src/mame/drivers/quizo.c
+++ b/src/mame/drivers/quizo.c
@@ -41,6 +41,7 @@ public:
DECLARE_WRITE8_MEMBER(port70_w);
DECLARE_WRITE8_MEMBER(port60_w);
DECLARE_DRIVER_INIT(quizo);
+ virtual void palette_init();
};
@@ -50,9 +51,9 @@ public:
static const UINT8 rombankLookup[]={ 2, 3, 4, 4, 4, 4, 4, 5, 0, 1};
-static PALETTE_INIT(quizo)
+void quizo_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0;i < 16;i++)
{
@@ -73,7 +74,7 @@ static PALETTE_INIT(quizo)
bit2 = (*color_prom >> 7) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -218,7 +219,6 @@ static MACHINE_CONFIG_START( quizo, quizo_state )
MCFG_SCREEN_UPDATE_STATIC(quizo)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(quizo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/quizpani.c b/src/mame/drivers/quizpani.c
index b664f877cbe..73ca7a5de9e 100644
--- a/src/mame/drivers/quizpani.c
+++ b/src/mame/drivers/quizpani.c
@@ -210,7 +210,6 @@ static MACHINE_CONFIG_START( quizpani, quizpani_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_STATIC(quizpani)
- MCFG_VIDEO_START(quizpani)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c
index 38bfebfcf10..6d0ce580939 100644
--- a/src/mame/drivers/quizpun2.c
+++ b/src/mame/drivers/quizpun2.c
@@ -110,6 +110,8 @@ public:
DECLARE_WRITE8_MEMBER(quizpun2_soundlatch_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -144,14 +146,13 @@ WRITE8_MEMBER(quizpun2_state::fg_ram_w)
m_fg_tmap->mark_tile_dirty(offset/4);
}
-static VIDEO_START(quizpun2)
+void quizpun2_state::video_start()
{
- quizpun2_state *state = machine.driver_data<quizpun2_state>();
- state->m_bg_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpun2_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,8,16,0x20,0x20);
- state->m_fg_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpun2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,8,16,0x20,0x20);
+ m_bg_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(quizpun2_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,8,16,0x20,0x20);
+ m_fg_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(quizpun2_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,8,16,0x20,0x20);
- state->m_bg_tmap->set_transparent_pen(0);
- state->m_fg_tmap->set_transparent_pen(0);
+ m_bg_tmap->set_transparent_pen(0);
+ m_fg_tmap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16(quizpun2)
@@ -189,10 +190,9 @@ bitmap.fill(get_black_pen(screen.machine()), cliprect);
***************************************************************************/
-static MACHINE_RESET( quizpun2 )
+void quizpun2_state::machine_reset()
{
- quizpun2_state *state = machine.driver_data<quizpun2_state>();
- struct prot_t &prot = state->m_prot;
+ struct prot_t &prot = m_prot;
prot.state = STATE_IDLE;
prot.wait_param = 0;
prot.param = 0;
@@ -496,7 +496,6 @@ static MACHINE_CONFIG_START( quizpun2, quizpun2_state )
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
// NMI generated by main CPU
- MCFG_MACHINE_RESET( quizpun2 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -509,7 +508,6 @@ static MACHINE_CONFIG_START( quizpun2, quizpun2_state )
MCFG_GFXDECODE(quizpun2)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START(quizpun2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/quizshow.c b/src/mame/drivers/quizshow.c
index 3cfe9a69641..46548f401a6 100644
--- a/src/mame/drivers/quizshow.c
+++ b/src/mame/drivers/quizshow.c
@@ -60,6 +60,9 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(quizshow_category_select);
DECLARE_DRIVER_INIT(quizshow);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -69,12 +72,12 @@ public:
***************************************************************************/
-PALETTE_INIT( quizshow )
+void quizshow_state::palette_init()
{
- machine.colortable = colortable_alloc(machine, 2);
+ machine().colortable = colortable_alloc(machine(), 2);
- colortable_palette_set_color(machine.colortable, 0, RGB_BLACK);
- colortable_palette_set_color(machine.colortable, 1, RGB_WHITE);
+ colortable_palette_set_color(machine().colortable, 0, RGB_BLACK);
+ colortable_palette_set_color(machine().colortable, 1, RGB_WHITE);
// normal, blink/off, invert, blink+invert
const int lut_pal[16] = {
@@ -85,7 +88,7 @@ PALETTE_INIT( quizshow )
};
for (int i = 0; i < 16 ; i++)
- colortable_entry_set_value(machine.colortable, i, lut_pal[i]);
+ colortable_entry_set_value(machine().colortable, i, lut_pal[i]);
}
TILE_GET_INFO_MEMBER(quizshow_state::get_tile_info)
@@ -98,10 +101,9 @@ TILE_GET_INFO_MEMBER(quizshow_state::get_tile_info)
SET_TILE_INFO_MEMBER(0, code & 0x3f, color, 0);
}
-VIDEO_START( quizshow )
+void quizshow_state::video_start()
{
- quizshow_state *state = machine.driver_data<quizshow_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizshow_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 16, 32, 16);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(quizshow_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 16, 32, 16);
}
SCREEN_UPDATE_IND16( quizshow )
@@ -362,12 +364,11 @@ static TIMER_DEVICE_CALLBACK( quizshow_clock_timer_cb )
state->m_tilemap->mark_all_dirty();
}
-static MACHINE_RESET(quizshow)
+void quizshow_state::machine_reset()
{
- quizshow_state *state = machine.driver_data<quizshow_state>();
- state->m_category_enable = 0;
- state->m_tape_head_pos = 0;
+ m_category_enable = 0;
+ m_tape_head_pos = 0;
}
static MACHINE_CONFIG_START( quizshow, quizshow_state )
@@ -386,9 +387,6 @@ static MACHINE_CONFIG_START( quizshow, quizshow_state )
MCFG_GFXDECODE(quizshow)
MCFG_PALETTE_LENGTH(8*2)
- MCFG_PALETTE_INIT(quizshow)
- MCFG_VIDEO_START(quizshow)
- MCFG_MACHINE_RESET(quizshow)
/* sound hardware (discrete) */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/r2dtank.c b/src/mame/drivers/r2dtank.c
index db781d2ffc6..625d2c38569 100644
--- a/src/mame/drivers/r2dtank.c
+++ b/src/mame/drivers/r2dtank.c
@@ -75,6 +75,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(flipscreen_w);
DECLARE_WRITE_LINE_MEMBER(display_enable_changed);
DECLARE_WRITE8_MEMBER(pia_comp_w);
+ virtual void machine_start();
};
@@ -296,13 +297,12 @@ static const pia6821_interface pia_audio_intf =
};
-static MACHINE_START( r2dtank )
+void r2dtank_state::machine_start()
{
- r2dtank_state *state = machine.driver_data<r2dtank_state>();
/* setup for save states */
- state_save_register_global(machine, state->m_flipscreen);
- state_save_register_global(machine, state->m_ttl74123_output);
- state_save_register_global(machine, state->m_AY8910_selected);
+ state_save_register_global(machine(), m_flipscreen);
+ state_save_register_global(machine(), m_ttl74123_output);
+ state_save_register_global(machine(), m_AY8910_selected);
}
@@ -539,7 +539,6 @@ static MACHINE_CONFIG_START( r2dtank, r2dtank_state )
MCFG_CPU_ADD("audiocpu", M6802,3000000) /* ?? */
MCFG_CPU_PROGRAM_MAP(r2dtank_audio_map)
- MCFG_MACHINE_START(r2dtank)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
diff --git a/src/mame/drivers/r2dx_v33.c b/src/mame/drivers/r2dx_v33.c
index 098712275b6..8dfb67ed251 100644
--- a/src/mame/drivers/r2dx_v33.c
+++ b/src/mame/drivers/r2dx_v33.c
@@ -69,6 +69,7 @@ public:
tilemap_t *m_md_tilemap;
tilemap_t *m_fg_tilemap;
tilemap_t *m_tx_tilemap;
+ virtual void video_start();
};
@@ -199,18 +200,17 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re
}
}
-static VIDEO_START( rdx_v33 )
+void r2dx_v33_state::video_start()
{
- r2dx_v33_state *state = machine.driver_data<r2dx_v33_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_md_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS,8, 8, 64,32);
-
- state->m_bg_tilemap->set_transparent_pen(15);
- state->m_md_tilemap->set_transparent_pen(15);
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_md_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_md_tile_info),this), TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS,8, 8, 64,32);
+
+ m_bg_tilemap->set_transparent_pen(15);
+ m_md_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
}
static SCREEN_UPDATE_IND16( rdx_v33 )
@@ -694,7 +694,7 @@ static MACHINE_CONFIG_START( rdx_v33, r2dx_v33_state )
MCFG_CPU_PROGRAM_MAP(rdx_v33_map)
MCFG_CPU_VBLANK_INT("screen", rdx_v33_interrupt)
- //MCFG_MACHINE_RESET(rdx_v33)
+ //MCFG_MACHINE_RESET_OVERRIDE(r2dx_v33_state,rdx_v33)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -709,7 +709,6 @@ static MACHINE_CONFIG_START( rdx_v33, r2dx_v33_state )
MCFG_GFXDECODE(rdx_v33)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(rdx_v33)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -742,7 +741,6 @@ static MACHINE_CONFIG_START( nzerotea, r2dx_v33_state )
MCFG_GFXDECODE(rdx_v33)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(rdx_v33)
/* sound hardware */
// SEIBU_SOUND_SYSTEM_YM2151_RAIDEN2_INTERFACE(28636360/8,28636360/28,1,2)
diff --git a/src/mame/drivers/rabbit.c b/src/mame/drivers/rabbit.c
index 524983e2ec9..9d580e32f25 100644
--- a/src/mame/drivers/rabbit.c
+++ b/src/mame/drivers/rabbit.c
@@ -136,6 +136,7 @@ public:
TILE_GET_INFO_MEMBER(get_rabbit_tilemap1_tile_info);
TILE_GET_INFO_MEMBER(get_rabbit_tilemap2_tile_info);
TILE_GET_INFO_MEMBER(get_rabbit_tilemap3_tile_info);
+ virtual void video_start();
};
@@ -386,33 +387,32 @@ static void draw_sprite_bitmap( running_machine &machine, bitmap_ind16 &bitmap,
}
-static VIDEO_START(rabbit)
+void rabbit_state::video_start()
{
- rabbit_state *state = machine.driver_data<rabbit_state>();
/* the tilemaps are bigger than the regions the cpu can see, need to allocate the ram here */
/* or maybe not for this game/hw .... */
- state->m_tilemap_ram[0] = auto_alloc_array_clear(machine, UINT32, 0x20000/4);
- state->m_tilemap_ram[1] = auto_alloc_array_clear(machine, UINT32, 0x20000/4);
- state->m_tilemap_ram[2] = auto_alloc_array_clear(machine, UINT32, 0x20000/4);
- state->m_tilemap_ram[3] = auto_alloc_array_clear(machine, UINT32, 0x20000/4);
+ m_tilemap_ram[0] = auto_alloc_array_clear(machine(), UINT32, 0x20000/4);
+ m_tilemap_ram[1] = auto_alloc_array_clear(machine(), UINT32, 0x20000/4);
+ m_tilemap_ram[2] = auto_alloc_array_clear(machine(), UINT32, 0x20000/4);
+ m_tilemap_ram[3] = auto_alloc_array_clear(machine(), UINT32, 0x20000/4);
- state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap0_tile_info),state),TILEMAP_SCAN_ROWS,16, 16, 128,32);
- state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap1_tile_info),state),TILEMAP_SCAN_ROWS,16, 16, 128,32);
- state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap2_tile_info),state),TILEMAP_SCAN_ROWS,16, 16, 128,32);
- state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 128,32);
+ m_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap0_tile_info),this),TILEMAP_SCAN_ROWS,16, 16, 128,32);
+ m_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap1_tile_info),this),TILEMAP_SCAN_ROWS,16, 16, 128,32);
+ m_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap2_tile_info),this),TILEMAP_SCAN_ROWS,16, 16, 128,32);
+ m_tilemap[3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap3_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 128,32);
/* the tilemaps mix 4bpp and 8bbp tiles, we split these into 2 groups, and set a different transpen for each group */
- state->m_tilemap[0]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
- state->m_tilemap[0]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
- state->m_tilemap[1]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
- state->m_tilemap[1]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
- state->m_tilemap[2]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
- state->m_tilemap[2]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
- state->m_tilemap[3]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
- state->m_tilemap[3]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
-
- state->m_sprite_bitmap = auto_bitmap_ind16_alloc(machine,0x1000,0x1000);
- state->m_sprite_clip.set(0, 0x1000-1, 0, 0x1000-1);
+ m_tilemap[0]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
+ m_tilemap[0]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
+ m_tilemap[1]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
+ m_tilemap[1]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
+ m_tilemap[2]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
+ m_tilemap[2]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
+ m_tilemap[3]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
+ m_tilemap[3]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
+
+ m_sprite_bitmap = auto_bitmap_ind16_alloc(machine(),0x1000,0x1000);
+ m_sprite_clip.set(0, 0x1000-1, 0, 0x1000-1);
}
/*
@@ -896,7 +896,6 @@ static MACHINE_CONFIG_START( rabbit, rabbit_state )
MCFG_PALETTE_LENGTH(0x4000)
MCFG_PALETTE_INIT( all_black )
- MCFG_VIDEO_START(rabbit)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/raiden.c b/src/mame/drivers/raiden.c
index 71f0115519b..5e65ad7583b 100644
--- a/src/mame/drivers/raiden.c
+++ b/src/mame/drivers/raiden.c
@@ -273,7 +273,6 @@ static MACHINE_CONFIG_START( raiden, raiden_state )
MCFG_GFXDECODE(raiden)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(raiden)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM3812_RAIDEN_INTERFACE(XTAL_14_31818MHz/4,XTAL_12MHz/12) // frequency and pin 7 verified (pin set in audio\seibu.h)
@@ -283,7 +282,7 @@ static MACHINE_CONFIG_DERIVED( raidena, raiden )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(alt_main_map)
- MCFG_VIDEO_START(raidena)
+ MCFG_VIDEO_START_OVERRIDE(raiden_state,raidena)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( raidenu, raiden )
@@ -294,7 +293,7 @@ static MACHINE_CONFIG_DERIVED( raidenu, raiden )
MCFG_CPU_MODIFY("sub")
MCFG_CPU_PROGRAM_MAP(raidenu_sub_map)
- MCFG_VIDEO_START(raidena)
+ MCFG_VIDEO_START_OVERRIDE(raiden_state,raidena)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index 22ec22590fa..87cbdf8dddf 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -911,17 +911,16 @@ TILE_GET_INFO_MEMBER(raiden2_state::get_text_tile_info)
/* VIDEO START (move to video file) */
-static VIDEO_START( raiden2 )
+VIDEO_START_MEMBER(raiden2_state,raiden2)
{
- raiden2_state *state = machine.driver_data<raiden2_state>();
- state->text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64,32 );
- state->background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_back_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32 );
- state->midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_mid_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32 );
- state->foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_fore_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32 );
+ text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64,32 );
+ background_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_back_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,32 );
+ midground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_mid_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,32 );
+ foreground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_fore_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,32 );
- state->midground_layer->set_transparent_pen(15);
- state->foreground_layer->set_transparent_pen(15);
- state->text_layer->set_transparent_pen(15);
+ midground_layer->set_transparent_pen(15);
+ foreground_layer->set_transparent_pen(15);
+ text_layer->set_transparent_pen(15);
}
/* SCREEN_UPDATE_IND16 (move to video file) */
@@ -1095,58 +1094,54 @@ void raiden2_state::common_reset()
cop_itoa_digit_count = 4; //TODO: Raiden 2 never inits the BCD register, value here is a guess (8 digits, as WR is 10.000.000 + a)
}
-static MACHINE_RESET(raiden2)
+MACHINE_RESET_MEMBER(raiden2_state,raiden2)
{
- raiden2_state *state = machine.driver_data<raiden2_state>();
- state->common_reset();
+ common_reset();
sprcpt_init();
- MACHINE_RESET_CALL(seibu_sound);
+ MACHINE_RESET_CALL_LEGACY(seibu_sound);
- state->membank("mainbank")->set_entry(1);
+ membank("mainbank")->set_entry(1);
- state->prg_bank = 0;
+ prg_bank = 0;
//cop_init();
}
-static MACHINE_RESET(raidendx)
+MACHINE_RESET_MEMBER(raiden2_state,raidendx)
{
- raiden2_state *state = machine.driver_data<raiden2_state>();
- state->common_reset();
+ common_reset();
sprcpt_init();
- MACHINE_RESET_CALL(seibu_sound);
+ MACHINE_RESET_CALL_LEGACY(seibu_sound);
- state->membank("mainbank")->set_entry(8);
+ membank("mainbank")->set_entry(8);
- state->prg_bank = 0x08;
+ prg_bank = 0x08;
//cop_init();
}
-static MACHINE_RESET(zeroteam)
+MACHINE_RESET_MEMBER(raiden2_state,zeroteam)
{
- raiden2_state *state = machine.driver_data<raiden2_state>();
- state->bg_bank = 0;
- state->fg_bank = 2;
- state->mid_bank = 1;
+ bg_bank = 0;
+ fg_bank = 2;
+ mid_bank = 1;
sprcpt_init();
- MACHINE_RESET_CALL(seibu_sound);
+ MACHINE_RESET_CALL_LEGACY(seibu_sound);
- state->membank("mainbank")->set_entry(1);
+ membank("mainbank")->set_entry(1);
- state->prg_bank = 0;
+ prg_bank = 0;
//cop_init();
}
-static MACHINE_RESET(xsedae)
+MACHINE_RESET_MEMBER(raiden2_state,xsedae)
{
- raiden2_state *state = machine.driver_data<raiden2_state>();
- state->bg_bank = 0;
- state->fg_bank = 2;
- state->mid_bank = 1;
+ bg_bank = 0;
+ fg_bank = 2;
+ mid_bank = 1;
sprcpt_init();
- MACHINE_RESET_CALL(seibu_sound);
+ MACHINE_RESET_CALL_LEGACY(seibu_sound);
- //state->membank("mainbank")->set_entry(1);
+ //membank("mainbank")->set_entry(1);
//cop_init();
}
@@ -1798,7 +1793,7 @@ static MACHINE_CONFIG_START( raiden2, raiden2_state )
MCFG_CPU_PROGRAM_MAP(raiden2_mem)
MCFG_CPU_VBLANK_INT("screen", raiden2_interrupt)
- MCFG_MACHINE_RESET(raiden2)
+ MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,raiden2)
SEIBU2_RAIDEN2_SOUND_SYSTEM_CPU(XTAL_28_63636MHz/8)
@@ -1814,7 +1809,7 @@ static MACHINE_CONFIG_START( raiden2, raiden2_state )
MCFG_GFXDECODE(raiden2)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(raiden2)
+ MCFG_VIDEO_START_OVERRIDE(raiden2_state,raiden2)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM2151_RAIDEN2_INTERFACE(XTAL_28_63636MHz/8,XTAL_28_63636MHz/28,1,2)
@@ -1830,7 +1825,7 @@ static MACHINE_CONFIG_DERIVED( xsedae, raiden2 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(xsedae_mem)
- MCFG_MACHINE_RESET(xsedae)
+ MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,xsedae)
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1843,7 +1838,7 @@ static MACHINE_CONFIG_DERIVED( raidendx, raiden2 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(raidendx_mem)
- MCFG_MACHINE_RESET(raidendx)
+ MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,raidendx)
MACHINE_CONFIG_END
@@ -1854,7 +1849,7 @@ static MACHINE_CONFIG_START( zeroteam, raiden2_state )
MCFG_CPU_PROGRAM_MAP(zeroteam_mem)
MCFG_CPU_VBLANK_INT("screen", raiden2_interrupt)
- MCFG_MACHINE_RESET(zeroteam)
+ MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,zeroteam)
SEIBU_NEWZEROTEAM_SOUND_SYSTEM_CPU(XTAL_28_63636MHz/8)
@@ -1870,7 +1865,7 @@ static MACHINE_CONFIG_START( zeroteam, raiden2_state )
MCFG_GFXDECODE(raiden2)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(raiden2)
+ MCFG_VIDEO_START_OVERRIDE(raiden2_state,raiden2)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(XTAL_28_63636MHz/8, 1320000/* ? */)
diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c
index 040aa84baee..b3f3acd33fe 100644
--- a/src/mame/drivers/rainbow.c
+++ b/src/mame/drivers/rainbow.c
@@ -662,14 +662,13 @@ static const tc0140syt_interface rbisland_tc0140syt_intf =
"maincpu", "audiocpu"
};
-static MACHINE_START( rbisland )
+void rbisland_state::machine_start()
{
- rbisland_state *state = machine.driver_data<rbisland_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_pc080sn = machine.device("pc080sn");
- state->m_pc090oj = machine.device("pc090oj");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_pc080sn = machine().device("pc080sn");
+ m_pc090oj = machine().device("pc090oj");
}
static MACHINE_CONFIG_START( rbisland, rbisland_state )
@@ -684,7 +683,6 @@ static MACHINE_CONFIG_START( rbisland, rbisland_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_START(rbisland)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -725,7 +723,6 @@ static MACHINE_CONFIG_START( jumping, rbisland_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough ? */
- MCFG_MACHINE_START(rbisland)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -738,7 +735,7 @@ static MACHINE_CONFIG_START( jumping, rbisland_state )
MCFG_GFXDECODE(jumping)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(jumping)
+ MCFG_VIDEO_START_OVERRIDE(rbisland_state,jumping)
MCFG_PC080SN_ADD("pc080sn", jumping_pc080sn_intf)
diff --git a/src/mame/drivers/rallyx.c b/src/mame/drivers/rallyx.c
index 9a623490741..2633fd454e8 100644
--- a/src/mame/drivers/rallyx.c
+++ b/src/mame/drivers/rallyx.c
@@ -871,23 +871,21 @@ static const samples_interface rallyx_samples_interface =
*
*************************************/
-static MACHINE_START( rallyx )
+MACHINE_START_MEMBER(rallyx_state,rallyx)
{
- rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_samples = machine.device<samples_device>("samples");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_samples = machine().device<samples_device>("samples");
- state->save_item(NAME(state->m_last_bang));
- state->save_item(NAME(state->m_stars_enable));
+ save_item(NAME(m_last_bang));
+ save_item(NAME(m_stars_enable));
}
-static MACHINE_RESET( rallyx )
+MACHINE_RESET_MEMBER(rallyx_state,rallyx)
{
- rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_last_bang = 0;
- state->m_stars_enable = 0;
+ m_last_bang = 0;
+ m_stars_enable = 0;
}
static INTERRUPT_GEN( rallyx_vblank_irq )
@@ -914,8 +912,8 @@ static MACHINE_CONFIG_START( rallyx, rallyx_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_VBLANK_INT("screen", rallyx_vblank_irq)
- MCFG_MACHINE_START(rallyx)
- MCFG_MACHINE_RESET(rallyx)
+ MCFG_MACHINE_START_OVERRIDE(rallyx_state,rallyx)
+ MCFG_MACHINE_RESET_OVERRIDE(rallyx_state,rallyx)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -930,8 +928,8 @@ static MACHINE_CONFIG_START( rallyx, rallyx_state )
MCFG_GFXDECODE(rallyx)
MCFG_PALETTE_LENGTH(64*4+4)
- MCFG_PALETTE_INIT(rallyx)
- MCFG_VIDEO_START(rallyx)
+ MCFG_PALETTE_INIT_OVERRIDE(rallyx_state,rallyx)
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,rallyx)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -952,8 +950,8 @@ static MACHINE_CONFIG_START( jungler, rallyx_state )
MCFG_CPU_PROGRAM_MAP(jungler_map)
MCFG_CPU_VBLANK_INT("screen", jungler_vblank_irq)
- MCFG_MACHINE_START(rallyx)
- MCFG_MACHINE_RESET(rallyx)
+ MCFG_MACHINE_START_OVERRIDE(rallyx_state,rallyx)
+ MCFG_MACHINE_RESET_OVERRIDE(rallyx_state,rallyx)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -968,8 +966,8 @@ static MACHINE_CONFIG_START( jungler, rallyx_state )
MCFG_GFXDECODE(jungler)
MCFG_PALETTE_LENGTH(64*4+4+64)
- MCFG_PALETTE_INIT(jungler)
- MCFG_VIDEO_START(jungler)
+ MCFG_PALETTE_INIT_OVERRIDE(rallyx_state,jungler)
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,jungler)
/* sound hardware */
MCFG_FRAGMENT_ADD(locomotn_sound)
@@ -981,7 +979,7 @@ static MACHINE_CONFIG_DERIVED( tactcian, jungler )
/* basic machine hardware */
/* video hardware */
- MCFG_VIDEO_START(locomotn)
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,locomotn)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(locomotn)
MACHINE_CONFIG_END
@@ -995,7 +993,7 @@ static MACHINE_CONFIG_DERIVED( locomotn, jungler )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(locomotn)
- MCFG_VIDEO_START(locomotn)
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,locomotn)
MACHINE_CONFIG_END
@@ -1007,7 +1005,7 @@ static MACHINE_CONFIG_DERIVED( commsega, jungler )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(locomotn)
- MCFG_VIDEO_START(commsega)
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,commsega)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/rampart.c b/src/mame/drivers/rampart.c
index 5fef8c3ceb4..0b81887cb84 100644
--- a/src/mame/drivers/rampart.c
+++ b/src/mame/drivers/rampart.c
@@ -61,20 +61,19 @@ static void scanline_update(screen_device &screen, int scanline)
*
*************************************/
-static MACHINE_START( rampart )
+MACHINE_START_MEMBER(rampart_state,rampart)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( rampart )
+MACHINE_RESET_MEMBER(rampart_state,rampart)
{
- rampart_state *state = machine.driver_data<rampart_state>();
- atarigen_eeprom_reset(state);
- atarigen_slapstic_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, scanline_update, 32);
+ atarigen_eeprom_reset(this);
+ atarigen_slapstic_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, scanline_update, 32);
}
@@ -349,8 +348,8 @@ static MACHINE_CONFIG_START( rampart, rampart_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(rampart)
- MCFG_MACHINE_RESET(rampart)
+ MCFG_MACHINE_START_OVERRIDE(rampart_state,rampart)
+ MCFG_MACHINE_RESET_OVERRIDE(rampart_state,rampart)
MCFG_NVRAM_ADD_1FILL("eeprom")
MCFG_WATCHDOG_VBLANK_INIT(8)
@@ -365,7 +364,7 @@ static MACHINE_CONFIG_START( rampart, rampart_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 456, 0+12, 336+12, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(rampart)
- MCFG_VIDEO_START(rampart)
+ MCFG_VIDEO_START_OVERRIDE(rampart_state,rampart)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c
index b7094f2127d..b044b628c16 100644
--- a/src/mame/drivers/rastan.c
+++ b/src/mame/drivers/rastan.c
@@ -357,34 +357,32 @@ static const msm5205_interface msm5205_config =
MSM5205_S48_4B /* 8 kHz */
};
-static MACHINE_START( rastan )
+void rastan_state::machine_start()
{
- rastan_state *state = machine.driver_data<rastan_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- state->membank("bank1")->configure_entry(0, &ROM[0x00000]);
- state->membank("bank1")->configure_entries(1, 3, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entry(0, &ROM[0x00000]);
+ membank("bank1")->configure_entries(1, 3, &ROM[0x10000], 0x4000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_pc080sn = machine.device("pc080sn");
- state->m_pc090oj = machine.device("pc090oj");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_pc080sn = machine().device("pc080sn");
+ m_pc090oj = machine().device("pc090oj");
- state->save_item(NAME(state->m_sprite_ctrl));
- state->save_item(NAME(state->m_sprites_flipscreen));
+ save_item(NAME(m_sprite_ctrl));
+ save_item(NAME(m_sprites_flipscreen));
- state->save_item(NAME(state->m_adpcm_pos));
- state->save_item(NAME(state->m_adpcm_data));
+ save_item(NAME(m_adpcm_pos));
+ save_item(NAME(m_adpcm_data));
}
-static MACHINE_RESET( rastan )
+void rastan_state::machine_reset()
{
- rastan_state *state = machine.driver_data<rastan_state>();
- state->m_sprite_ctrl = 0;
- state->m_sprites_flipscreen = 0;
- state->m_adpcm_pos = 0;
- state->m_adpcm_data = -1;
+ m_sprite_ctrl = 0;
+ m_sprites_flipscreen = 0;
+ m_adpcm_pos = 0;
+ m_adpcm_data = -1;
}
@@ -416,8 +414,6 @@ static MACHINE_CONFIG_START( rastan, rastan_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_START(rastan)
- MCFG_MACHINE_RESET(rastan)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/rbmk.c b/src/mame/drivers/rbmk.c
index b3a054db364..c5716ed10b5 100644
--- a/src/mame/drivers/rbmk.c
+++ b/src/mame/drivers/rbmk.c
@@ -77,6 +77,7 @@ public:
DECLARE_WRITE8_MEMBER(rbmk_mcu_io_w);
DECLARE_WRITE8_MEMBER(mcu_io_mux_w);
DECLARE_WRITE16_MEMBER(eeprom_w);
+ virtual void video_start();
};
@@ -492,7 +493,7 @@ static GFXDECODE_START( rbmk )
GFXDECODE_ENTRY( "gfx2", 0, rbmk8_layout, 0x100, 16 )
GFXDECODE_END
-static VIDEO_START(rbmk)
+void rbmk_state::video_start()
{
}
@@ -553,7 +554,6 @@ static MACHINE_CONFIG_START( rbmk, rbmk_state )
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(rbmk)
MCFG_EEPROM_93C46_ADD("eeprom")
diff --git a/src/mame/drivers/realbrk.c b/src/mame/drivers/realbrk.c
index 31ebefc18be..94c651ee180 100644
--- a/src/mame/drivers/realbrk.c
+++ b/src/mame/drivers/realbrk.c
@@ -773,7 +773,6 @@ static MACHINE_CONFIG_START( realbrk, realbrk_state )
MCFG_GFXDECODE(realbrk)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_VIDEO_START(realbrk)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/redclash.c b/src/mame/drivers/redclash.c
index 1dcae5fdea6..edbf1aac9e6 100644
--- a/src/mame/drivers/redclash.c
+++ b/src/mame/drivers/redclash.c
@@ -324,32 +324,30 @@ GFXDECODE_END
-static MACHINE_START( redclash )
+MACHINE_START_MEMBER(ladybug_state,redclash)
{
- ladybug_state *state = machine.driver_data<ladybug_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_star_speed));
- state->save_item(NAME(state->m_gfxbank));
- state->save_item(NAME(state->m_stars_enable));
- state->save_item(NAME(state->m_stars_speed));
- state->save_item(NAME(state->m_stars_state));
- state->save_item(NAME(state->m_stars_offset));
- state->save_item(NAME(state->m_stars_count));
+ save_item(NAME(m_star_speed));
+ save_item(NAME(m_gfxbank));
+ save_item(NAME(m_stars_enable));
+ save_item(NAME(m_stars_speed));
+ save_item(NAME(m_stars_state));
+ save_item(NAME(m_stars_offset));
+ save_item(NAME(m_stars_count));
}
-static MACHINE_RESET( redclash )
+MACHINE_RESET_MEMBER(ladybug_state,redclash)
{
- ladybug_state *state = machine.driver_data<ladybug_state>();
-
- state->m_star_speed = 0;
- state->m_gfxbank = 0;
- state->m_stars_enable = 0;
- state->m_stars_speed = 0;
- state->m_stars_state = 0;
- state->m_stars_offset = 0;
- state->m_stars_count = 0;
+
+ m_star_speed = 0;
+ m_gfxbank = 0;
+ m_stars_enable = 0;
+ m_stars_speed = 0;
+ m_stars_state = 0;
+ m_stars_offset = 0;
+ m_stars_count = 0;
}
static MACHINE_CONFIG_START( zerohour, ladybug_state )
@@ -358,8 +356,8 @@ static MACHINE_CONFIG_START( zerohour, ladybug_state )
MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP(zerohour_map)
- MCFG_MACHINE_START(redclash)
- MCFG_MACHINE_RESET(redclash)
+ MCFG_MACHINE_START_OVERRIDE(ladybug_state,redclash)
+ MCFG_MACHINE_RESET_OVERRIDE(ladybug_state,redclash)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -373,8 +371,8 @@ static MACHINE_CONFIG_START( zerohour, ladybug_state )
MCFG_GFXDECODE(redclash)
MCFG_PALETTE_LENGTH(4*8+4*16+32)
- MCFG_PALETTE_INIT(redclash)
- MCFG_VIDEO_START(redclash)
+ MCFG_PALETTE_INIT_OVERRIDE(ladybug_state,redclash)
+ MCFG_VIDEO_START_OVERRIDE(ladybug_state,redclash)
/* sound hardware */
MACHINE_CONFIG_END
@@ -386,8 +384,8 @@ static MACHINE_CONFIG_START( redclash, ladybug_state )
MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP(redclash_map)
- MCFG_MACHINE_START(redclash)
- MCFG_MACHINE_RESET(redclash)
+ MCFG_MACHINE_START_OVERRIDE(ladybug_state,redclash)
+ MCFG_MACHINE_RESET_OVERRIDE(ladybug_state,redclash)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -401,8 +399,8 @@ static MACHINE_CONFIG_START( redclash, ladybug_state )
MCFG_GFXDECODE(redclash)
MCFG_PALETTE_LENGTH(4*8+4*16+32)
- MCFG_PALETTE_INIT(redclash)
- MCFG_VIDEO_START(redclash)
+ MCFG_PALETTE_INIT_OVERRIDE(ladybug_state,redclash)
+ MCFG_VIDEO_START_OVERRIDE(ladybug_state,redclash)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c
index 005dad70899..ba554a764e5 100644
--- a/src/mame/drivers/relief.c
+++ b/src/mame/drivers/relief.c
@@ -65,24 +65,23 @@ WRITE16_MEMBER(relief_state::relief_atarivc_w)
*
*************************************/
-static MACHINE_START( relief )
+MACHINE_START_MEMBER(relief_state,relief)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( relief )
+MACHINE_RESET_MEMBER(relief_state,relief)
{
- relief_state *state = machine.driver_data<relief_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarivc_reset(*machine.primary_screen, state->m_atarivc_eof_data, 2);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 2);
- machine.device<okim6295_device>("oki")->set_bank_base(0);
- state->m_ym2413_volume = 15;
- state->m_overall_volume = 127;
- state->m_adpcm_bank_base = 0;
+ machine().device<okim6295_device>("oki")->set_bank_base(0);
+ m_ym2413_volume = 15;
+ m_overall_volume = 127;
+ m_adpcm_bank_base = 0;
}
@@ -297,8 +296,8 @@ static MACHINE_CONFIG_START( relief, relief_state )
MCFG_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(relief)
- MCFG_MACHINE_RESET(relief)
+ MCFG_MACHINE_START_OVERRIDE(relief_state,relief)
+ MCFG_MACHINE_RESET_OVERRIDE(relief_state,relief)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -312,7 +311,7 @@ static MACHINE_CONFIG_START( relief, relief_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(relief)
- MCFG_VIDEO_START(relief)
+ MCFG_VIDEO_START_OVERRIDE(relief_state,relief)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c
index aad1fcd14d7..075e2fdc0f6 100644
--- a/src/mame/drivers/renegade.c
+++ b/src/mame/drivers/renegade.c
@@ -289,16 +289,15 @@ static void setbank(running_machine &machine)
state->membank("bank1")->set_base(&RAM[state->m_bank ? 0x10000 : 0x4000]);
}
-static MACHINE_START( renegade )
+void renegade_state::machine_start()
{
- renegade_state *state = machine.driver_data<renegade_state>();
- state_save_register_global_array(machine, state->m_mcu_buffer);
- state_save_register_global(machine, state->m_mcu_input_size);
- state_save_register_global(machine, state->m_mcu_output_byte);
- state_save_register_global(machine, state->m_mcu_key);
+ state_save_register_global_array(machine(), m_mcu_buffer);
+ state_save_register_global(machine(), m_mcu_input_size);
+ state_save_register_global(machine(), m_mcu_output_byte);
+ state_save_register_global(machine(), m_mcu_key);
- state_save_register_global(machine, state->m_bank);
- machine.save().register_postload(save_prepost_delegate(FUNC(setbank), &machine));
+ state_save_register_global(machine(), m_bank);
+ machine().save().register_postload(save_prepost_delegate(FUNC(setbank), &machine()));
}
DRIVER_INIT_MEMBER(renegade_state,renegade)
@@ -925,11 +924,10 @@ static const ym3526_interface ym3526_config =
};
-static MACHINE_RESET( renegade )
+void renegade_state::machine_reset()
{
- renegade_state *state = machine.driver_data<renegade_state>();
- state->m_bank = 0;
- setbank(machine);
+ m_bank = 0;
+ setbank(machine());
}
@@ -946,8 +944,6 @@ static MACHINE_CONFIG_START( renegade, renegade_state )
MCFG_CPU_ADD("mcu", M68705, 12000000/4) // ?
MCFG_CPU_PROGRAM_MAP(renegade_mcu_map)
- MCFG_MACHINE_START(renegade)
- MCFG_MACHINE_RESET(renegade)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -960,7 +956,6 @@ static MACHINE_CONFIG_START( renegade, renegade_state )
MCFG_GFXDECODE(renegade)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(renegade)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/retofinv.c b/src/mame/drivers/retofinv.c
index 585c3eccd92..4e216d39573 100644
--- a/src/mame/drivers/retofinv.c
+++ b/src/mame/drivers/retofinv.c
@@ -393,8 +393,6 @@ static MACHINE_CONFIG_START( retofinv, retofinv_state )
MCFG_GFXDECODE(retofinv)
MCFG_PALETTE_LENGTH(256*2+64*16+64*16)
- MCFG_PALETTE_INIT(retofinv)
- MCFG_VIDEO_START(retofinv)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/rgum.c b/src/mame/drivers/rgum.c
index d8cd6128dc3..2e2d1b2d1ed 100644
--- a/src/mame/drivers/rgum.c
+++ b/src/mame/drivers/rgum.c
@@ -31,10 +31,11 @@ public:
required_shared_ptr<UINT8> m_cram;
UINT8 m_hbeat;
DECLARE_CUSTOM_INPUT_MEMBER(rgum_heartbeat_r);
+ virtual void video_start();
};
-static VIDEO_START(royalgum)
+void rgum_state::video_start()
{
}
@@ -284,7 +285,6 @@ static MACHINE_CONFIG_START( rgum, rgum_state )
MCFG_GFXDECODE(rgum)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(royalgum)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/rltennis.c b/src/mame/drivers/rltennis.c
index 7f0f2005fca..df980cfda15 100644
--- a/src/mame/drivers/rltennis.c
+++ b/src/mame/drivers/rltennis.c
@@ -155,23 +155,21 @@ static INTERRUPT_GEN( rltennis_interrupt )
device->execute().set_input_line(1, HOLD_LINE); /* hack, to avoid dead loop */
}
-static MACHINE_START( rltennis )
+void rltennis_state::machine_start()
{
- rltennis_state *state = machine.driver_data<rltennis_state>();
- state->m_maincpu = machine.device<cpu_device>( "maincpu");
- state->m_screen = machine.device( "screen");
- state->m_dac_1 = machine.device<dac_device>("dac1");
- state->m_dac_2 = machine.device<dac_device>("dac2");
- state->m_samples_1 = state->memregion("samples1")->base();
- state->m_samples_2 = state->memregion("samples2")->base();
- state->m_gfx = state->memregion("gfx1")->base();
- state->m_timer = machine.scheduler().timer_alloc(FUNC(sample_player));
+ m_maincpu = machine().device<cpu_device>( "maincpu");
+ m_screen = machine().device( "screen");
+ m_dac_1 = machine().device<dac_device>("dac1");
+ m_dac_2 = machine().device<dac_device>("dac2");
+ m_samples_1 = memregion("samples1")->base();
+ m_samples_2 = memregion("samples2")->base();
+ m_gfx = memregion("gfx1")->base();
+ m_timer = machine().scheduler().timer_alloc(FUNC(sample_player));
}
-static MACHINE_RESET( rltennis )
+void rltennis_state::machine_reset()
{
- rltennis_state *state = machine.driver_data<rltennis_state>();
- state->m_timer->adjust(attotime::from_hz(RLT_TIMER_FREQ));
+ m_timer->adjust(attotime::from_hz(RLT_TIMER_FREQ));
}
static ADDRESS_MAP_START( ramdac_map, AS_0, 8, rltennis_state )
@@ -197,11 +195,8 @@ static MACHINE_CONFIG_START( rltennis, rltennis_state )
MCFG_SCREEN_UPDATE_STATIC(rltennis)
MCFG_PALETTE_LENGTH(256)
- MCFG_MACHINE_START( rltennis )
- MCFG_MACHINE_RESET( rltennis )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_VIDEO_START( rltennis )
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/rmhaihai.c b/src/mame/drivers/rmhaihai.c
index af889d2bf96..88f560f0304 100644
--- a/src/mame/drivers/rmhaihai.c
+++ b/src/mame/drivers/rmhaihai.c
@@ -57,6 +57,8 @@ public:
DECLARE_WRITE8_MEMBER(adpcm_w);
DECLARE_DRIVER_INIT(rmhaihai);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(themj);
};
@@ -82,10 +84,9 @@ TILE_GET_INFO_MEMBER(rmhaihai_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static VIDEO_START( rmhaihai )
+void rmhaihai_state::video_start()
{
- rmhaihai_state *state = machine.driver_data<rmhaihai_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rmhaihai_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rmhaihai_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
}
@@ -191,10 +192,9 @@ logerror("banksw %d\n",bank);
membank("bank2")->set_base(rom + bank*0x4000 + 0x2000);
}
-static MACHINE_RESET( themj )
+MACHINE_RESET_MEMBER(rmhaihai_state,themj)
{
- rmhaihai_state *state = machine.driver_data<rmhaihai_state>();
- state->themj_rombank_w(*machine.device("maincpu")->memory().space(AS_IO), 0, 0);
+ themj_rombank_w(*machine().device("maincpu")->memory().space(AS_IO), 0, 0);
}
@@ -483,7 +483,6 @@ static MACHINE_CONFIG_START( rmhaihai, rmhaihai_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(rmhaihai)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -514,7 +513,7 @@ static MACHINE_CONFIG_DERIVED( themj, rmhaihai )
MCFG_CPU_PROGRAM_MAP(themj_map)
MCFG_CPU_IO_MAP(themj_io_map)
- MCFG_MACHINE_RESET(themj)
+ MCFG_MACHINE_RESET_OVERRIDE(rmhaihai_state,themj)
/* video hardware */
MCFG_GFXDECODE(themj)
diff --git a/src/mame/drivers/rockrage.c b/src/mame/drivers/rockrage.c
index f35ccb0c635..494d85c72bd 100644
--- a/src/mame/drivers/rockrage.c
+++ b/src/mame/drivers/rockrage.c
@@ -236,28 +236,26 @@ static const k007420_interface rockrage_k007420_intf =
};
-static MACHINE_START( rockrage )
+void rockrage_state::machine_start()
{
- rockrage_state *state = machine.driver_data<rockrage_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007342 = machine.device("k007342");
- state->m_k007420 = machine.device("k007420");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007342 = machine().device("k007342");
+ m_k007420 = machine().device("k007420");
- state->save_item(NAME(state->m_vreg));
- state->save_item(NAME(state->m_layer_colorbase));
+ save_item(NAME(m_vreg));
+ save_item(NAME(m_layer_colorbase));
}
-static MACHINE_RESET( rockrage )
+void rockrage_state::machine_reset()
{
- rockrage_state *state = machine.driver_data<rockrage_state>();
- state->m_vreg = 0;
- state->m_layer_colorbase[0] = 0x00;
- state->m_layer_colorbase[1] = 0x10;
+ m_vreg = 0;
+ m_layer_colorbase[0] = 0x00;
+ m_layer_colorbase[1] = 0x10;
}
static MACHINE_CONFIG_START( rockrage, rockrage_state )
@@ -270,8 +268,6 @@ static MACHINE_CONFIG_START( rockrage, rockrage_state )
MCFG_CPU_ADD("audiocpu", M6809, 1500000) /* 24MHz/16 */
MCFG_CPU_PROGRAM_MAP(rockrage_sound_map)
- MCFG_MACHINE_START(rockrage)
- MCFG_MACHINE_RESET(rockrage)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -287,7 +283,6 @@ static MACHINE_CONFIG_START( rockrage, rockrage_state )
MCFG_GFXDECODE(rockrage)
MCFG_PALETTE_LENGTH(64 + 2*16*16)
- MCFG_PALETTE_INIT(rockrage)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/rocnrope.c b/src/mame/drivers/rocnrope.c
index 58c80db5747..c847b810c40 100644
--- a/src/mame/drivers/rocnrope.c
+++ b/src/mame/drivers/rocnrope.c
@@ -213,8 +213,6 @@ static MACHINE_CONFIG_START( rocnrope, rocnrope_state )
MCFG_GFXDECODE(rocnrope)
MCFG_PALETTE_LENGTH(16*16+16*16)
- MCFG_PALETTE_INIT(rocnrope)
- MCFG_VIDEO_START(rocnrope)
/* sound hardware */
MCFG_FRAGMENT_ADD(timeplt_sound)
diff --git a/src/mame/drivers/rohga.c b/src/mame/drivers/rohga.c
index dbb775be72a..4537cd717a8 100644
--- a/src/mame/drivers/rohga.c
+++ b/src/mame/drivers/rohga.c
@@ -818,7 +818,7 @@ static MACHINE_CONFIG_START( rohga, rohga_state )
MCFG_GFXDECODE(rohga)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(rohga)
+ MCFG_VIDEO_START_OVERRIDE(rohga_state,rohga)
MCFG_DECOCOMN_ADD("deco_common", rohga_decocomn_intf)
@@ -880,7 +880,7 @@ static MACHINE_CONFIG_START( wizdfire, rohga_state )
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
- MCFG_VIDEO_START(wizdfire)
+ MCFG_VIDEO_START_OVERRIDE(rohga_state,wizdfire)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -934,7 +934,7 @@ static MACHINE_CONFIG_START( nitrobal, rohga_state )
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
- MCFG_VIDEO_START(wizdfire)
+ MCFG_VIDEO_START_OVERRIDE(rohga_state,wizdfire)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -976,7 +976,7 @@ static MACHINE_CONFIG_START( schmeisr, rohga_state )
MCFG_GFXDECODE(schmeisr)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(schmeisr)
+ MCFG_VIDEO_START_OVERRIDE(rohga_state,schmeisr)
MCFG_DECOCOMN_ADD("deco_common", rohga_decocomn_intf)
diff --git a/src/mame/drivers/rollerg.c b/src/mame/drivers/rollerg.c
index 0832f9f6374..9fa5a406624 100644
--- a/src/mame/drivers/rollerg.c
+++ b/src/mame/drivers/rollerg.c
@@ -247,31 +247,29 @@ static const k053252_interface rollerg_k053252_intf =
14*8, 2*8
};
-static MACHINE_START( rollerg )
+void rollerg_state::machine_start()
{
- rollerg_state *state = machine.driver_data<rollerg_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
- state->membank("bank1")->configure_entries(6, 2, &ROM[0x10000], 0x4000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 6, &ROM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(6, 2, &ROM[0x10000], 0x4000);
+ membank("bank1")->set_entry(0);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053244 = machine.device("k053244");
- state->m_k051316 = machine.device("k051316");
- state->m_k053260 = machine.device("k053260");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053244 = machine().device("k053244");
+ m_k051316 = machine().device("k051316");
+ m_k053260 = machine().device("k053260");
- state->save_item(NAME(state->m_readzoomroms));
+ save_item(NAME(m_readzoomroms));
}
-static MACHINE_RESET( rollerg )
+void rollerg_state::machine_reset()
{
- rollerg_state *state = machine.driver_data<rollerg_state>();
- konami_configure_set_lines(machine.device("maincpu"), rollerg_banking);
+ konami_configure_set_lines(machine().device("maincpu"), rollerg_banking);
- state->m_readzoomroms = 0;
+ m_readzoomroms = 0;
}
static MACHINE_CONFIG_START( rollerg, rollerg_state )
@@ -284,8 +282,6 @@ static MACHINE_CONFIG_START( rollerg, rollerg_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545)
MCFG_CPU_PROGRAM_MAP(rollerg_sound_map)
/* NMIs are generated by the 053260 */
- MCFG_MACHINE_START(rollerg)
- MCFG_MACHINE_RESET(rollerg)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -299,7 +295,6 @@ static MACHINE_CONFIG_START( rollerg, rollerg_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(rollerg)
MCFG_K053244_ADD("k053244", rollerg_k05324x_intf)
MCFG_K051316_ADD("k051316", rollerg_k051316_intf)
diff --git a/src/mame/drivers/rollrace.c b/src/mame/drivers/rollrace.c
index 5f217f53969..cad90051fb8 100644
--- a/src/mame/drivers/rollrace.c
+++ b/src/mame/drivers/rollrace.c
@@ -246,7 +246,6 @@ static MACHINE_CONFIG_START( rollrace, rollrace_state )
MCFG_GFXDECODE(rollrace)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(rollrace)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/roul.c b/src/mame/drivers/roul.c
index b74f74cfd4a..ca111e422c5 100644
--- a/src/mame/drivers/roul.c
+++ b/src/mame/drivers/roul.c
@@ -80,15 +80,17 @@ public:
DECLARE_WRITE8_MEMBER(blitter_cmd_w);
DECLARE_WRITE8_MEMBER(sound_latch_w);
DECLARE_WRITE8_MEMBER(ball_w);
+ virtual void video_start();
+ virtual void palette_init();
};
#define VIDEOBUF_SIZE 256*256
-static PALETTE_INIT( roul )
+void roul_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit6, bit7, bit0, bit1, r, g, b;
int i;
@@ -107,7 +109,7 @@ static PALETTE_INIT( roul )
bit1 = (color_prom[0] >> 5) & 0x01;
r = 0x0e * bit6 + 0x1f * bit7 + 0x43 * bit0 + 0x8f * bit1;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -207,10 +209,9 @@ static ADDRESS_MAP_START( sound_cpu_io_map, AS_IO, 8, roul_state )
AM_RANGE(0x00, 0x01) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
ADDRESS_MAP_END
-static VIDEO_START(roul)
+void roul_state::video_start()
{
- roul_state *state = machine.driver_data<roul_state>();
- state->m_videobuf = auto_alloc_array_clear(machine, UINT8, VIDEOBUF_SIZE);
+ m_videobuf = auto_alloc_array_clear(machine(), UINT8, VIDEOBUF_SIZE);
}
static SCREEN_UPDATE_IND16(roul)
@@ -286,7 +287,6 @@ static MACHINE_CONFIG_START( roul, roul_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_PALETTE_INIT(roul)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -298,7 +298,6 @@ static MACHINE_CONFIG_START( roul, roul_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(roul)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, 1000000)
diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c
index 6058cbd0299..a183f81c76e 100644
--- a/src/mame/drivers/royalmah.c
+++ b/src/mame/drivers/royalmah.c
@@ -194,16 +194,18 @@ public:
DECLARE_WRITE_LINE_MEMBER(mjtensin_rtc_irq);
DECLARE_DRIVER_INIT(janptr96);
DECLARE_DRIVER_INIT(ippatsu);
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(mjderngr);
};
-static PALETTE_INIT( royalmah )
+void royalmah_state::palette_init()
{
offs_t i;
- const UINT8 *prom = machine.root_device().memregion("proms")->base();
- int len = machine.root_device().memregion("proms")->bytes();
+ const UINT8 *prom = machine().root_device().memregion("proms")->base();
+ int len = machine().root_device().memregion("proms")->bytes();
for (i = 0; i < len; i++)
{
@@ -229,16 +231,16 @@ static PALETTE_INIT( royalmah )
bit2 = (data >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color_rgb(machine,i, r,g,b);
+ palette_set_color_rgb(machine(),i, r,g,b);
}
}
-static PALETTE_INIT( mjderngr )
+PALETTE_INIT_MEMBER(royalmah_state,mjderngr)
{
offs_t i;
- const UINT8 *prom = machine.root_device().memregion("proms")->base();
- int len = machine.root_device().memregion("proms")->bytes();
+ const UINT8 *prom = machine().root_device().memregion("proms")->base();
+ int len = machine().root_device().memregion("proms")->bytes();
for (i = 0; i < len / 2; i++)
{
@@ -249,7 +251,7 @@ static PALETTE_INIT( mjderngr )
UINT8 g = BITSWAP8((data >> 5) & 0x1f,7,6,5,0,1,2,3,4 );
UINT8 b = BITSWAP8((data >> 10) & 0x1f,7,6,5,0,1,2,3,4 );
- palette_set_color_rgb(machine,i, pal5bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(),i, pal5bit(r), pal5bit(g), pal5bit(b));
}
}
@@ -3173,7 +3175,6 @@ static MACHINE_CONFIG_START( royalmah, royalmah_state )
/* video hardware */
MCFG_PALETTE_LENGTH(16*2)
- MCFG_PALETTE_INIT(royalmah)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SIZE(256, 256)
@@ -3285,7 +3286,7 @@ static MACHINE_CONFIG_DERIVED( mjderngr, dondenmj )
/* video hardware */
MCFG_PALETTE_LENGTH(16*32)
- MCFG_PALETTE_INIT(mjderngr)
+ MCFG_PALETTE_INIT_OVERRIDE(royalmah_state,mjderngr)
MACHINE_CONFIG_END
/* It runs in IM 2, thus needs a vector on the data bus */
diff --git a/src/mame/drivers/rpunch.c b/src/mame/drivers/rpunch.c
index 95cdf68d7e1..d5067abddea 100644
--- a/src/mame/drivers/rpunch.c
+++ b/src/mame/drivers/rpunch.c
@@ -130,9 +130,9 @@ static void ym2151_irq_gen(device_t *device, int state)
}
-static MACHINE_RESET( rpunch )
+void rpunch_state::machine_reset()
{
- UINT8 *snd = machine.root_device().memregion("upd")->base();
+ UINT8 *snd = machine().root_device().memregion("upd")->base();
memcpy(snd, snd + 0x20000, 0x20000);
}
@@ -470,7 +470,6 @@ static MACHINE_CONFIG_START( rpunch, rpunch_state )
MCFG_CPU_ADD("audiocpu", Z80, MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_RESET(rpunch)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -482,7 +481,6 @@ static MACHINE_CONFIG_START( rpunch, rpunch_state )
MCFG_GFXDECODE(rpunch)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(rpunch)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/runaway.c b/src/mame/drivers/runaway.c
index 497162073d9..fc19af335d2 100644
--- a/src/mame/drivers/runaway.c
+++ b/src/mame/drivers/runaway.c
@@ -33,16 +33,14 @@ static TIMER_CALLBACK( interrupt_callback )
state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(scanline), scanline);
}
-static MACHINE_START( runaway )
+void runaway_state::machine_start()
{
- runaway_state *state = machine.driver_data<runaway_state>();
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(interrupt_callback));
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(interrupt_callback));
}
-static MACHINE_RESET( runaway )
+void runaway_state::machine_reset()
{
- runaway_state *state = machine.driver_data<runaway_state>();
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(16), 16);
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(16), 16);
}
@@ -353,8 +351,6 @@ static MACHINE_CONFIG_START( runaway, runaway_state )
MCFG_CPU_ADD("maincpu", M6502, 12096000 / 8) /* ? */
MCFG_CPU_PROGRAM_MAP(runaway_map)
- MCFG_MACHINE_START(runaway)
- MCFG_MACHINE_RESET(runaway)
MCFG_ATARIVGEAROM_ADD("earom")
@@ -368,7 +364,6 @@ static MACHINE_CONFIG_START( runaway, runaway_state )
MCFG_GFXDECODE(runaway)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(runaway)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -390,7 +385,7 @@ static MACHINE_CONFIG_DERIVED( qwak, runaway )
/* video hardware */
MCFG_GFXDECODE(qwak)
- MCFG_VIDEO_START(qwak)
+ MCFG_VIDEO_START_OVERRIDE(runaway_state,qwak)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(qwak)
diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c
index c468e505105..b57dada2cc7 100644
--- a/src/mame/drivers/rungun.c
+++ b/src/mame/drivers/rungun.c
@@ -363,37 +363,35 @@ static const k053252_interface rng_k053252_intf =
9*8, 24
};
-static MACHINE_START( rng )
+void rungun_state::machine_start()
{
- rungun_state *state = machine.driver_data<rungun_state>();
- UINT8 *ROM = state->memregion("soundcpu")->base();
-
- state->membank("bank2")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("soundcpu");
- state->m_k053936 = machine.device("k053936");
- state->m_k055673 = machine.device("k055673");
- state->m_k053252 = machine.device("k053252");
- state->m_k054539_1 = machine.device("k054539_1");
- state->m_k054539_2 = machine.device("k054539_2");
-
- state->save_item(NAME(state->m_z80_control));
- state->save_item(NAME(state->m_sound_status));
- state->save_item(NAME(state->m_ttl_vram));
+ UINT8 *ROM = memregion("soundcpu")->base();
+
+ membank("bank2")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("soundcpu");
+ m_k053936 = machine().device("k053936");
+ m_k055673 = machine().device("k055673");
+ m_k053252 = machine().device("k053252");
+ m_k054539_1 = machine().device("k054539_1");
+ m_k054539_2 = machine().device("k054539_2");
+
+ save_item(NAME(m_z80_control));
+ save_item(NAME(m_sound_status));
+ save_item(NAME(m_ttl_vram));
}
-static MACHINE_RESET( rng )
+void rungun_state::machine_reset()
{
- rungun_state *state = machine.driver_data<rungun_state>();
- machine.device<k054539_device>("k054539_1")->init_flags(k054539_device::REVERSE_STEREO);
+ machine().device<k054539_device>("k054539_1")->init_flags(k054539_device::REVERSE_STEREO);
- memset(state->m_sysreg, 0, 0x20);
- memset(state->m_ttl_vram, 0, 0x1000 * sizeof(UINT16));
+ memset(m_sysreg, 0, 0x20);
+ memset(m_ttl_vram, 0, 0x1000 * sizeof(UINT16));
- state->m_z80_control = 0;
- state->m_sound_status = 0;
+ m_z80_control = 0;
+ m_sound_status = 0;
}
static MACHINE_CONFIG_START( rng, rungun_state )
@@ -411,8 +409,6 @@ static MACHINE_CONFIG_START( rng, rungun_state )
MCFG_GFXDECODE(rungun)
- MCFG_MACHINE_START(rng)
- MCFG_MACHINE_RESET(rng)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -428,7 +424,6 @@ static MACHINE_CONFIG_START( rng, rungun_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(rng)
MCFG_K053936_ADD("k053936", rng_k053936_intf)
MCFG_K055673_ADD("k055673", rng_k055673_intf)
diff --git a/src/mame/drivers/safarir.c b/src/mame/drivers/safarir.c
index cd1778da5ba..941a405ca91 100644
--- a/src/mame/drivers/safarir.c
+++ b/src/mame/drivers/safarir.c
@@ -75,6 +75,9 @@ public:
DECLARE_WRITE8_MEMBER(safarir_audio_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -137,14 +140,14 @@ static GFXDECODE_START( safarir )
GFXDECODE_END
-static PALETTE_INIT( safarir )
+void safarir_state::palette_init()
{
int i;
- for (i = 0; i < machine.total_colors() / 2; i++)
+ for (i = 0; i < machine().total_colors() / 2; i++)
{
- palette_set_color(machine, (i * 2) + 0, RGB_BLACK);
- palette_set_color(machine, (i * 2) + 1, MAKE_RGB(pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i >> 0)));
+ palette_set_color(machine(), (i * 2) + 0, RGB_BLACK);
+ palette_set_color(machine(), (i * 2) + 1, MAKE_RGB(pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i >> 0)));
}
}
@@ -187,14 +190,13 @@ TILE_GET_INFO_MEMBER(safarir_state::get_fg_tile_info)
}
-static VIDEO_START( safarir )
+void safarir_state::video_start()
{
- safarir_state *state = machine.driver_data<safarir_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(safarir_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(safarir_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(safarir_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(safarir_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
@@ -313,22 +315,21 @@ MACHINE_CONFIG_END
*
*************************************/
-static MACHINE_START( safarir )
+void safarir_state::machine_start()
{
- safarir_state *state = machine.driver_data<safarir_state>();
- state->m_ram_1 = auto_alloc_array(machine, UINT8, state->m_ram.bytes());
- state->m_ram_2 = auto_alloc_array(machine, UINT8, state->m_ram.bytes());
- state->m_port_last = 0;
- state->m_port_last2 = 0;
- state->m_samples = machine.device<samples_device>("samples");
+ m_ram_1 = auto_alloc_array(machine(), UINT8, m_ram.bytes());
+ m_ram_2 = auto_alloc_array(machine(), UINT8, m_ram.bytes());
+ m_port_last = 0;
+ m_port_last2 = 0;
+ m_samples = machine().device<samples_device>("samples");
/* setup for save states */
- state->save_pointer(NAME(state->m_ram_1), state->m_ram.bytes());
- state->save_pointer(NAME(state->m_ram_2), state->m_ram.bytes());
- state->save_item(NAME(state->m_ram_bank));
- state->save_item(NAME(state->m_port_last));
- state->save_item(NAME(state->m_port_last2));
+ save_pointer(NAME(m_ram_1), m_ram.bytes());
+ save_pointer(NAME(m_ram_2), m_ram.bytes());
+ save_item(NAME(m_ram_bank));
+ save_item(NAME(m_port_last));
+ save_item(NAME(m_port_last2));
}
@@ -405,11 +406,8 @@ static MACHINE_CONFIG_START( safarir, safarir_state )
MCFG_CPU_ADD("maincpu", I8080A, XTAL_18MHz/12) /* 1.5 MHz ? */
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(safarir)
/* video hardware */
- MCFG_VIDEO_START(safarir)
- MCFG_PALETTE_INIT(safarir)
MCFG_PALETTE_LENGTH(2*8)
MCFG_GFXDECODE(safarir)
diff --git a/src/mame/drivers/sandscrp.c b/src/mame/drivers/sandscrp.c
index 420ca967ff4..42e97c5a285 100644
--- a/src/mame/drivers/sandscrp.c
+++ b/src/mame/drivers/sandscrp.c
@@ -108,6 +108,7 @@ public:
DECLARE_READ8_MEMBER(sandscrp_latchstatus_r);
DECLARE_READ8_MEMBER(sandscrp_soundlatch_r);
DECLARE_WRITE8_MEMBER(sandscrp_soundlatch_w);
+ virtual void machine_reset();
};
@@ -137,9 +138,8 @@ SCREEN_UPDATE_IND16( sandscrp )
-static MACHINE_RESET( sandscrp )
+void sandscrp_state::machine_reset()
{
-// sandscrp_state *state = machine.driver_data<sandscrp_state>();
}
/* Sand Scorpion */
@@ -508,7 +508,6 @@ static MACHINE_CONFIG_START( sandscrp, sandscrp_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- MCFG_MACHINE_RESET(sandscrp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/sangho.c b/src/mame/drivers/sangho.c
index 4ee635d790b..4d4799535c4 100644
--- a/src/mame/drivers/sangho.c
+++ b/src/mame/drivers/sangho.c
@@ -65,6 +65,8 @@ public:
DECLARE_READ8_MEMBER(pzlestar_mem_bank_r);
DECLARE_WRITE8_MEMBER(sexyboom_bank_w);
DECLARE_DRIVER_INIT(sangho);
+ DECLARE_MACHINE_RESET(pzlestar);
+ DECLARE_MACHINE_RESET(sexyboom);
};
@@ -376,28 +378,26 @@ static INPUT_PORTS_START( pzlestar )
INPUT_PORTS_END
-static MACHINE_RESET(pzlestar)
+MACHINE_RESET_MEMBER(sangho_state,pzlestar)
{
- sangho_state *state = machine.driver_data<sangho_state>();
- state->m_pzlestar_mem_bank = 2;
- pzlestar_map_banks(machine);
+ m_pzlestar_mem_bank = 2;
+ pzlestar_map_banks(machine());
}
-static MACHINE_RESET(sexyboom)
+MACHINE_RESET_MEMBER(sangho_state,sexyboom)
{
- sangho_state *state = machine.driver_data<sangho_state>();
- state->m_sexyboom_bank[0] = 0x00;
- state->m_sexyboom_bank[1] = 0x00;
- state->m_sexyboom_bank[2] = 0x01;
- state->m_sexyboom_bank[3] = 0x00;
- state->m_sexyboom_bank[4] = 0x80;
- state->m_sexyboom_bank[5] = 0x00;
- state->m_sexyboom_bank[6] = 0x80;
- state->m_sexyboom_bank[7] = 0x01;
- sexyboom_map_bank(machine, 0);
- sexyboom_map_bank(machine, 1);
- sexyboom_map_bank(machine, 2);
- sexyboom_map_bank(machine, 3);
+ m_sexyboom_bank[0] = 0x00;
+ m_sexyboom_bank[1] = 0x00;
+ m_sexyboom_bank[2] = 0x01;
+ m_sexyboom_bank[3] = 0x00;
+ m_sexyboom_bank[4] = 0x80;
+ m_sexyboom_bank[5] = 0x00;
+ m_sexyboom_bank[6] = 0x80;
+ m_sexyboom_bank[7] = 0x01;
+ sexyboom_map_bank(machine(), 0);
+ sexyboom_map_bank(machine(), 1);
+ sexyboom_map_bank(machine(), 2);
+ sexyboom_map_bank(machine(), 3);
}
static void msx_vdp_interrupt(device_t *, v99x8_device &device, int i)
@@ -440,7 +440,7 @@ static MACHINE_CONFIG_START( pzlestar, sangho_state )
MCFG_PALETTE_LENGTH(19268)
- MCFG_MACHINE_RESET(pzlestar)
+ MCFG_MACHINE_RESET_OVERRIDE(sangho_state,pzlestar)
MCFG_PALETTE_INIT( v9958 )
@@ -472,9 +472,8 @@ static MACHINE_CONFIG_START( sexyboom, sangho_state )
MCFG_PALETTE_LENGTH(19268)
- MCFG_MACHINE_RESET(sexyboom)
+ MCFG_MACHINE_RESET_OVERRIDE(sangho_state,sexyboom)
- MCFG_PALETTE_INIT( v9958 )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymsnd", YM2413, 3580000)
diff --git a/src/mame/drivers/saturn.c b/src/mame/drivers/saturn.c
index 833e7a9adcf..65295718489 100644
--- a/src/mame/drivers/saturn.c
+++ b/src/mame/drivers/saturn.c
@@ -1745,93 +1745,91 @@ static TIMER_CALLBACK(stv_rtc_increment)
//if((state->m_smpc.rtc_data[0] & 0xf0) >= 0xa0) { state->m_smpc.rtc_data[0] = 0; } //roll over
}
-static MACHINE_START( stv )
+MACHINE_START_MEMBER(saturn_state,stv)
{
- saturn_state *state = machine.driver_data<saturn_state>();
system_time systime;
- machine.base_datetime(systime);
+ machine().base_datetime(systime);
- state->m_maincpu = downcast<legacy_cpu_device*>( machine.device<cpu_device>("maincpu") );
- state->m_slave = downcast<legacy_cpu_device*>( machine.device("slave") );
- state->m_audiocpu = downcast<legacy_cpu_device*>( machine.device<cpu_device>("audiocpu") );
+ m_maincpu = downcast<legacy_cpu_device*>( machine().device<cpu_device>("maincpu") );
+ m_slave = downcast<legacy_cpu_device*>( machine().device("slave") );
+ m_audiocpu = downcast<legacy_cpu_device*>( machine().device<cpu_device>("audiocpu") );
- scsp_set_ram_base(machine.device("scsp"), state->m_sound_ram);
+ scsp_set_ram_base(machine().device("scsp"), m_sound_ram);
// save states
- state_save_register_global_pointer(machine, state->m_scu_regs, 0x100/4);
- state_save_register_global_pointer(machine, state->m_scsp_regs, 0x1000/2);
- state_save_register_global(machine, state->m_NMI_reset);
- state_save_register_global(machine, state->m_en_68k);
-// state_save_register_global(machine, scanline);
- state_save_register_global(machine, state->m_smpc.IOSEL1);
- state_save_register_global(machine, state->m_smpc.IOSEL2);
- state_save_register_global(machine, state->m_smpc.EXLE1);
- state_save_register_global(machine, state->m_smpc.EXLE2);
- state_save_register_global(machine, state->m_smpc.PDR1);
- state_save_register_global(machine, state->m_smpc.PDR2);
- state_save_register_global(machine, state->m_port_sel);
- state_save_register_global(machine, state->m_mux_data);
- state_save_register_global(machine, scsp_last_line);
-
- stv_register_protection_savestates(machine); // machine/stvprot.c
-
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(stvcd_exit), &machine));
-
- state->m_smpc.rtc_data[0] = DectoBCD(systime.local_time.year /100);
- state->m_smpc.rtc_data[1] = DectoBCD(systime.local_time.year %100);
- state->m_smpc.rtc_data[2] = (systime.local_time.weekday << 4) | (systime.local_time.month+1);
- state->m_smpc.rtc_data[3] = DectoBCD(systime.local_time.mday);
- state->m_smpc.rtc_data[4] = DectoBCD(systime.local_time.hour);
- state->m_smpc.rtc_data[5] = DectoBCD(systime.local_time.minute);
- state->m_smpc.rtc_data[6] = DectoBCD(systime.local_time.second);
-
- state->m_stv_rtc_timer = machine.scheduler().timer_alloc(FUNC(stv_rtc_increment));
+ state_save_register_global_pointer(machine(), m_scu_regs, 0x100/4);
+ state_save_register_global_pointer(machine(), m_scsp_regs, 0x1000/2);
+ state_save_register_global(machine(), m_NMI_reset);
+ state_save_register_global(machine(), m_en_68k);
+// state_save_register_global(machine(), scanline);
+ state_save_register_global(machine(), m_smpc.IOSEL1);
+ state_save_register_global(machine(), m_smpc.IOSEL2);
+ state_save_register_global(machine(), m_smpc.EXLE1);
+ state_save_register_global(machine(), m_smpc.EXLE2);
+ state_save_register_global(machine(), m_smpc.PDR1);
+ state_save_register_global(machine(), m_smpc.PDR2);
+ state_save_register_global(machine(), m_port_sel);
+ state_save_register_global(machine(), m_mux_data);
+ state_save_register_global(machine(), scsp_last_line);
+
+ stv_register_protection_savestates(machine()); // machine/stvprot.c
+
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(stvcd_exit), &machine()));
+
+ m_smpc.rtc_data[0] = DectoBCD(systime.local_time.year /100);
+ m_smpc.rtc_data[1] = DectoBCD(systime.local_time.year %100);
+ m_smpc.rtc_data[2] = (systime.local_time.weekday << 4) | (systime.local_time.month+1);
+ m_smpc.rtc_data[3] = DectoBCD(systime.local_time.mday);
+ m_smpc.rtc_data[4] = DectoBCD(systime.local_time.hour);
+ m_smpc.rtc_data[5] = DectoBCD(systime.local_time.minute);
+ m_smpc.rtc_data[6] = DectoBCD(systime.local_time.second);
+
+ m_stv_rtc_timer = machine().scheduler().timer_alloc(FUNC(stv_rtc_increment));
}
-static MACHINE_START( saturn )
+MACHINE_START_MEMBER(saturn_state,saturn)
{
- saturn_state *state = machine.driver_data<saturn_state>();
system_time systime;
- machine.base_datetime(systime);
+ machine().base_datetime(systime);
- state->m_maincpu = downcast<legacy_cpu_device*>( machine.device<cpu_device>("maincpu") );
- state->m_slave = downcast<legacy_cpu_device*>( machine.device("slave") );
- state->m_audiocpu = downcast<legacy_cpu_device*>( machine.device<cpu_device>("audiocpu") );
+ m_maincpu = downcast<legacy_cpu_device*>( machine().device<cpu_device>("maincpu") );
+ m_slave = downcast<legacy_cpu_device*>( machine().device("slave") );
+ m_audiocpu = downcast<legacy_cpu_device*>( machine().device<cpu_device>("audiocpu") );
- scsp_set_ram_base(machine.device("scsp"), state->m_sound_ram);
+ scsp_set_ram_base(machine().device("scsp"), m_sound_ram);
// save states
- state_save_register_global_pointer(machine, state->m_scu_regs, 0x100/4);
- state_save_register_global_pointer(machine, state->m_scsp_regs, 0x1000/2);
- state_save_register_global(machine, state->m_NMI_reset);
- state_save_register_global(machine, state->m_en_68k);
- state_save_register_global(machine, state->m_smpc.IOSEL1);
- state_save_register_global(machine, state->m_smpc.IOSEL2);
- state_save_register_global(machine, state->m_smpc.EXLE1);
- state_save_register_global(machine, state->m_smpc.EXLE2);
- state_save_register_global(machine, state->m_smpc.PDR1);
- state_save_register_global(machine, state->m_smpc.PDR2);
-// state_save_register_global(machine, state->m_port_sel);
-// state_save_register_global(machine, mux_data);
- state_save_register_global(machine, scsp_last_line);
- state_save_register_global(machine, state->m_smpc.intback_stage);
- state_save_register_global(machine, state->m_smpc.pmode);
- state_save_register_global(machine, state->m_smpc.SR);
- state_save_register_global_array(machine, state->m_smpc.SMEM);
- state_save_register_global_pointer(machine, state->m_cart_dram, 0x400000/4);
-
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(stvcd_exit), &machine));
-
- state->m_smpc.rtc_data[0] = DectoBCD(systime.local_time.year /100);
- state->m_smpc.rtc_data[1] = DectoBCD(systime.local_time.year %100);
- state->m_smpc.rtc_data[2] = (systime.local_time.weekday << 4) | (systime.local_time.month+1);
- state->m_smpc.rtc_data[3] = DectoBCD(systime.local_time.mday);
- state->m_smpc.rtc_data[4] = DectoBCD(systime.local_time.hour);
- state->m_smpc.rtc_data[5] = DectoBCD(systime.local_time.minute);
- state->m_smpc.rtc_data[6] = DectoBCD(systime.local_time.second);
-
- state->m_stv_rtc_timer = machine.scheduler().timer_alloc(FUNC(stv_rtc_increment));
+ state_save_register_global_pointer(machine(), m_scu_regs, 0x100/4);
+ state_save_register_global_pointer(machine(), m_scsp_regs, 0x1000/2);
+ state_save_register_global(machine(), m_NMI_reset);
+ state_save_register_global(machine(), m_en_68k);
+ state_save_register_global(machine(), m_smpc.IOSEL1);
+ state_save_register_global(machine(), m_smpc.IOSEL2);
+ state_save_register_global(machine(), m_smpc.EXLE1);
+ state_save_register_global(machine(), m_smpc.EXLE2);
+ state_save_register_global(machine(), m_smpc.PDR1);
+ state_save_register_global(machine(), m_smpc.PDR2);
+// state_save_register_global(machine(), m_port_sel);
+// state_save_register_global(machine(), mux_data);
+ state_save_register_global(machine(), scsp_last_line);
+ state_save_register_global(machine(), m_smpc.intback_stage);
+ state_save_register_global(machine(), m_smpc.pmode);
+ state_save_register_global(machine(), m_smpc.SR);
+ state_save_register_global_array(machine(), m_smpc.SMEM);
+ state_save_register_global_pointer(machine(), m_cart_dram, 0x400000/4);
+
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(stvcd_exit), &machine()));
+
+ m_smpc.rtc_data[0] = DectoBCD(systime.local_time.year /100);
+ m_smpc.rtc_data[1] = DectoBCD(systime.local_time.year %100);
+ m_smpc.rtc_data[2] = (systime.local_time.weekday << 4) | (systime.local_time.month+1);
+ m_smpc.rtc_data[3] = DectoBCD(systime.local_time.mday);
+ m_smpc.rtc_data[4] = DectoBCD(systime.local_time.hour);
+ m_smpc.rtc_data[5] = DectoBCD(systime.local_time.minute);
+ m_smpc.rtc_data[6] = DectoBCD(systime.local_time.second);
+
+ m_stv_rtc_timer = machine().scheduler().timer_alloc(FUNC(stv_rtc_increment));
}
@@ -2033,114 +2031,112 @@ static WRITE32_HANDLER( saturn_cs1_w )
state->m_cart_backupram[offset*2+1] = (data & 0x000000ff) >> 0;
}
-static MACHINE_RESET( saturn )
+MACHINE_RESET_MEMBER(saturn_state,saturn)
{
- saturn_state *state = machine.driver_data<saturn_state>();
// don't let the slave cpu and the 68k go anywhere
- machine.device("slave")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("slave")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_smpc.SR = 0x40; // this bit is always on according to docs
+ m_smpc.SR = 0x40; // this bit is always on according to docs
- state->m_en_68k = 0;
- state->m_NMI_reset = 0;
+ m_en_68k = 0;
+ m_NMI_reset = 0;
- DMA_STATUS = 0;
+ m_scu_regs[31] = 0; //DMA_STATUS = 0;
//memset(stv_m_workram_l, 0, 0x100000);
//memset(stv_m_workram_h, 0, 0x100000);
- machine.device("maincpu")->set_unscaled_clock(MASTER_CLOCK_320/2);
- machine.device("slave")->set_unscaled_clock(MASTER_CLOCK_320/2);
+ machine().device("maincpu")->set_unscaled_clock(MASTER_CLOCK_320/2);
+ machine().device("slave")->set_unscaled_clock(MASTER_CLOCK_320/2);
- stvcd_reset( machine );
+ stvcd_reset( machine() );
- state->m_cart_type = state->ioport("CART_AREA")->read() & 7;
+ m_cart_type = ioport("CART_AREA")->read() & 7;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x027fffff, FUNC(saturn_null_ram_r), FUNC(saturn_null_ram_w));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x027fffff, FUNC(saturn_null_ram_r), FUNC(saturn_null_ram_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x027fffff, FUNC(saturn_null_ram_r), FUNC(saturn_null_ram_w));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x027fffff, FUNC(saturn_null_ram_r), FUNC(saturn_null_ram_w));
- if(state->m_cart_type == 5)
+ if(m_cart_type == 5)
{
// AM_RANGE(0x02400000, 0x027fffff) AM_RAM //cart RAM area, dynamically allocated
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x02400000, 0x027fffff);
- machine.device("slave")->memory().space(AS_PROGRAM)->nop_readwrite(0x02400000, 0x027fffff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x02400000, 0x027fffff);
+ machine().device("slave")->memory().space(AS_PROGRAM)->nop_readwrite(0x02400000, 0x027fffff);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x0247ffff, FUNC(saturn_cart_dram0_r), FUNC(saturn_cart_dram0_w));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x0247ffff, FUNC(saturn_cart_dram0_r), FUNC(saturn_cart_dram0_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02600000, 0x0267ffff, FUNC(saturn_cart_dram1_r), FUNC(saturn_cart_dram1_w));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02600000, 0x0267ffff, FUNC(saturn_cart_dram1_r), FUNC(saturn_cart_dram1_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x0247ffff, FUNC(saturn_cart_dram0_r), FUNC(saturn_cart_dram0_w));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x0247ffff, FUNC(saturn_cart_dram0_r), FUNC(saturn_cart_dram0_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02600000, 0x0267ffff, FUNC(saturn_cart_dram1_r), FUNC(saturn_cart_dram1_w));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02600000, 0x0267ffff, FUNC(saturn_cart_dram1_r), FUNC(saturn_cart_dram1_w));
}
- if(state->m_cart_type == 6)
+ if(m_cart_type == 6)
{
// AM_RANGE(0x02400000, 0x027fffff) AM_RAM //cart RAM area, dynamically allocated
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x02400000, 0x027fffff);
- machine.device("slave")->memory().space(AS_PROGRAM)->nop_readwrite(0x02400000, 0x027fffff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x02400000, 0x027fffff);
+ machine().device("slave")->memory().space(AS_PROGRAM)->nop_readwrite(0x02400000, 0x027fffff);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x025fffff, FUNC(saturn_cart_dram0_r), FUNC(saturn_cart_dram0_w));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x025fffff, FUNC(saturn_cart_dram0_r), FUNC(saturn_cart_dram0_w));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02600000, 0x027fffff, FUNC(saturn_cart_dram1_r), FUNC(saturn_cart_dram1_w));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02600000, 0x027fffff, FUNC(saturn_cart_dram1_r), FUNC(saturn_cart_dram1_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x025fffff, FUNC(saturn_cart_dram0_r), FUNC(saturn_cart_dram0_w));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02400000, 0x025fffff, FUNC(saturn_cart_dram0_r), FUNC(saturn_cart_dram0_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02600000, 0x027fffff, FUNC(saturn_cart_dram1_r), FUNC(saturn_cart_dram1_w));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x02600000, 0x027fffff, FUNC(saturn_cart_dram1_r), FUNC(saturn_cart_dram1_w));
}
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x04000000, 0x047fffff);
- machine.device("slave")->memory().space(AS_PROGRAM)->nop_readwrite(0x04000000, 0x047fffff);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_readwrite(0x04000000, 0x047fffff);
+ machine().device("slave")->memory().space(AS_PROGRAM)->nop_readwrite(0x04000000, 0x047fffff);
- if(state->m_cart_type > 0 && state->m_cart_type < 5)
+ if(m_cart_type > 0 && m_cart_type < 5)
{
// AM_RANGE(0x04000000, 0x047fffff) AM_RAM //backup RAM area, dynamically allocated
UINT32 mask;
- mask = 0x7fffff >> (4-state->m_cart_type);
+ mask = 0x7fffff >> (4-m_cart_type);
//mask = 0x7fffff >> 4-4 = 0x7fffff 32mbit
//mask = 0x7fffff >> 4-3 = 0x3fffff 16mbit
//mask = 0x7fffff >> 4-2 = 0x1fffff 8mbit
//mask = 0x7fffff >> 4-1 = 0x0fffff 4mbit
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x04000000, 0x04000000 | mask, FUNC(saturn_cs1_r), FUNC(saturn_cs1_w));
- machine.device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x04000000, 0x04000000 | mask, FUNC(saturn_cs1_r), FUNC(saturn_cs1_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x04000000, 0x04000000 | mask, FUNC(saturn_cs1_r), FUNC(saturn_cs1_w));
+ machine().device("slave")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x04000000, 0x04000000 | mask, FUNC(saturn_cs1_r), FUNC(saturn_cs1_w));
}
/* TODO: default value is probably 7 */
- state->m_scu.start_factor[0] = -1;
- state->m_scu.start_factor[1] = -1;
- state->m_scu.start_factor[2] = -1;
+ m_scu.start_factor[0] = -1;
+ m_scu.start_factor[1] = -1;
+ m_scu.start_factor[2] = -1;
- state->m_vdp2.old_crmd = -1;
- state->m_vdp2.old_tvmd = -1;
+ m_vdp2.old_crmd = -1;
+ m_vdp2.old_tvmd = -1;
- state->m_stv_rtc_timer->adjust(attotime::zero, 0, attotime::from_seconds(1));
+ m_stv_rtc_timer->adjust(attotime::zero, 0, attotime::from_seconds(1));
}
-static MACHINE_RESET( stv )
+MACHINE_RESET_MEMBER(saturn_state,stv)
{
- saturn_state *state = machine.driver_data<saturn_state>();
// don't let the slave cpu and the 68k go anywhere
- machine.device("slave")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("slave")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_en_68k = 0;
- state->m_NMI_reset = 0;
+ m_en_68k = 0;
+ m_NMI_reset = 0;
- state->m_port_sel = state->m_mux_data = 0;
+ m_port_sel = m_mux_data = 0;
- machine.device("maincpu")->set_unscaled_clock(MASTER_CLOCK_320/2);
- machine.device("slave")->set_unscaled_clock(MASTER_CLOCK_320/2);
+ machine().device("maincpu")->set_unscaled_clock(MASTER_CLOCK_320/2);
+ machine().device("slave")->set_unscaled_clock(MASTER_CLOCK_320/2);
- stvcd_reset(machine);
+ stvcd_reset(machine());
- state->m_stv_rtc_timer->adjust(attotime::zero, 0, attotime::from_seconds(1));
- state->m_prev_bankswitch = 0xff;
+ m_stv_rtc_timer->adjust(attotime::zero, 0, attotime::from_seconds(1));
+ m_prev_bankswitch = 0xff;
/* TODO: default value is probably 7 */
- state->m_scu.start_factor[0] = -1;
- state->m_scu.start_factor[1] = -1;
- state->m_scu.start_factor[2] = -1;
+ m_scu.start_factor[0] = -1;
+ m_scu.start_factor[1] = -1;
+ m_scu.start_factor[2] = -1;
- state->m_vdp2.old_crmd = -1;
- state->m_vdp2.old_tvmd = -1;
+ m_vdp2.old_crmd = -1;
+ m_vdp2.old_tvmd = -1;
}
struct cdrom_interface saturn_cdrom =
@@ -2199,8 +2195,8 @@ static MACHINE_CONFIG_START( saturn, saturn_state )
MCFG_CPU_ADD("audiocpu", M68000, 11289600) //256 x 44100 Hz = 11.2896 MHz
MCFG_CPU_PROGRAM_MAP(sound_mem)
- MCFG_MACHINE_START(saturn)
- MCFG_MACHINE_RESET(saturn)
+ MCFG_MACHINE_START_OVERRIDE(saturn_state,saturn)
+ MCFG_MACHINE_RESET_OVERRIDE(saturn_state,saturn)
MCFG_NVRAM_HANDLER(saturn)
@@ -2220,7 +2216,7 @@ static MACHINE_CONFIG_START( saturn, saturn_state )
MCFG_GFXDECODE(stv)
- MCFG_VIDEO_START(stv_vdp2)
+ MCFG_VIDEO_START_OVERRIDE(saturn_state,stv_vdp2)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2287,8 +2283,8 @@ static MACHINE_CONFIG_START( stv, saturn_state )
MCFG_CPU_ADD("audiocpu", M68000, 11289600) //11.2896 MHz
MCFG_CPU_PROGRAM_MAP(sound_mem)
- MCFG_MACHINE_START(stv)
- MCFG_MACHINE_RESET(stv)
+ MCFG_MACHINE_START_OVERRIDE(saturn_state,stv)
+ MCFG_MACHINE_RESET_OVERRIDE(saturn_state,stv)
MCFG_EEPROM_93C46_ADD("eeprom") /* Actually 93c45 */
@@ -2309,7 +2305,7 @@ static MACHINE_CONFIG_START( stv, saturn_state )
MCFG_GFXDECODE(stv)
- MCFG_VIDEO_START(stv_vdp2)
+ MCFG_VIDEO_START_OVERRIDE(saturn_state,stv_vdp2)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/sauro.c b/src/mame/drivers/sauro.c
index e432f81b745..c148d469ec4 100644
--- a/src/mame/drivers/sauro.c
+++ b/src/mame/drivers/sauro.c
@@ -405,7 +405,7 @@ static MACHINE_CONFIG_DERIVED( trckydoc, tecfri )
MCFG_GFXDECODE(trckydoc)
- MCFG_VIDEO_START(trckydoc)
+ MCFG_VIDEO_START_OVERRIDE(sauro_state,trckydoc)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(trckydoc)
@@ -423,7 +423,7 @@ static MACHINE_CONFIG_DERIVED( sauro, tecfri )
MCFG_GFXDECODE(sauro)
- MCFG_VIDEO_START(sauro)
+ MCFG_VIDEO_START_OVERRIDE(sauro_state,sauro)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(sauro)
diff --git a/src/mame/drivers/savquest.c b/src/mame/drivers/savquest.c
index 4478637367b..6eb91074114 100644
--- a/src/mame/drivers/savquest.c
+++ b/src/mame/drivers/savquest.c
@@ -92,6 +92,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(pc_dack2_w);
DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
DECLARE_WRITE_LINE_MEMBER(savquest_pic8259_1_set_int_line);
+ virtual void machine_start();
+ virtual void machine_reset();
};
// Intel 82439TX System Controller (MXTC)
@@ -516,24 +518,23 @@ static void ide_interrupt(device_t *device, int state)
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
-static MACHINE_START( savquest )
+void savquest_state::machine_start()
{
- savquest_state *state = machine.driver_data<savquest_state>();
- state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x20000/4);
+ m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, savquest_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, savquest_set_keyb_int);
- state->m_maincpu->set_irq_acknowledge_callback(irq_callback);
- intel82439tx_init(machine);
+ m_maincpu->set_irq_acknowledge_callback(irq_callback);
+ intel82439tx_init(machine());
- kbdc8042_init(machine, &at8042);
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ kbdc8042_init(machine(), &at8042);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
-static MACHINE_RESET( savquest )
+void savquest_state::machine_reset()
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("bios")->base() + 0x20000);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("bios")->base() + 0x20000);
}
static const ide_config ide_intf =
@@ -548,8 +549,6 @@ static MACHINE_CONFIG_START( savquest, savquest_state )
MCFG_CPU_PROGRAM_MAP(savquest_map)
MCFG_CPU_IO_MAP(savquest_io)
- MCFG_MACHINE_START(savquest)
- MCFG_MACHINE_RESET(savquest)
MCFG_PIT8254_ADD( "pit8254", savquest_pit8254_config )
MCFG_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
diff --git a/src/mame/drivers/sbasketb.c b/src/mame/drivers/sbasketb.c
index f444dedab2e..6cba6571c3b 100644
--- a/src/mame/drivers/sbasketb.c
+++ b/src/mame/drivers/sbasketb.c
@@ -215,8 +215,6 @@ static MACHINE_CONFIG_START( sbasketb, sbasketb_state )
MCFG_GFXDECODE(sbasketb)
MCFG_PALETTE_LENGTH(16*16+16*16*16)
- MCFG_PALETTE_INIT(sbasketb)
- MCFG_VIDEO_START(sbasketb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sbowling.c b/src/mame/drivers/sbowling.c
index a28c25a1190..d96dacd92e4 100644
--- a/src/mame/drivers/sbowling.c
+++ b/src/mame/drivers/sbowling.c
@@ -71,6 +71,8 @@ public:
DECLARE_WRITE8_MEMBER(graph_control_w);
DECLARE_READ8_MEMBER(controls_r);
TILE_GET_INFO_MEMBER(get_sb_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
TILE_GET_INFO_MEMBER(sbowling_state::get_sb_tile_info)
@@ -124,12 +126,11 @@ static SCREEN_UPDATE_IND16(sbowling)
return 0;
}
-static VIDEO_START(sbowling)
+void sbowling_state::video_start()
{
- sbowling_state *state = machine.driver_data<sbowling_state>();
- state->m_tmpbitmap = auto_bitmap_ind16_alloc(machine,32*8,32*8);
- state->m_sb_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbowling_state::get_sb_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tmpbitmap = auto_bitmap_ind16_alloc(machine(),32*8,32*8);
+ m_sb_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sbowling_state::get_sb_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
WRITE8_MEMBER(sbowling_state::pix_shift_w)
@@ -340,9 +341,9 @@ static GFXDECODE_START( sbowling )
GFXDECODE_END
-static PALETTE_INIT( sbowling )
+void sbowling_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const int resistances_rg[3] = { 470, 270, 100 };
@@ -355,7 +356,7 @@ static PALETTE_INIT( sbowling )
3, resistances_rg, outputs_g, 0, 100,
2, resistances_b, outputs_b, 0, 100);
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -376,7 +377,7 @@ static PALETTE_INIT( sbowling )
bit2 = (color_prom[i+0x400] >> 3) & 0x01;
r = (int)(outputs_r[ (bit0<<0) | (bit1<<1) | (bit2<<2) ] + 0.5);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -396,8 +397,6 @@ static MACHINE_CONFIG_START( sbowling, sbowling_state )
MCFG_GFXDECODE(sbowling)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_PALETTE_INIT(sbowling)
- MCFG_VIDEO_START(sbowling)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index cf2eec69962..12eec0a6b24 100644
--- a/src/mame/drivers/sbrkout.c
+++ b/src/mame/drivers/sbrkout.c
@@ -63,6 +63,9 @@ public:
DECLARE_READ8_MEMBER(sync2_r);
DECLARE_WRITE8_MEMBER(sbrkout_videoram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -96,24 +99,22 @@ static TIMER_CALLBACK( pot_trigger_callback );
*
*************************************/
-static MACHINE_START( sbrkout )
+void sbrkout_state::machine_start()
{
- sbrkout_state *state = machine.driver_data<sbrkout_state>();
- UINT8 *videoram = state->m_videoram;
- state->membank("bank1")->set_base(&videoram[0x380]);
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(scanline_callback));
- state->m_pot_timer = machine.scheduler().timer_alloc(FUNC(pot_trigger_callback));
+ UINT8 *videoram = m_videoram;
+ membank("bank1")->set_base(&videoram[0x380]);
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(scanline_callback));
+ m_pot_timer = machine().scheduler().timer_alloc(FUNC(pot_trigger_callback));
- state->save_item(NAME(state->m_sync2_value));
- state->save_item(NAME(state->m_pot_mask));
- state->save_item(NAME(state->m_pot_trigger));
+ save_item(NAME(m_sync2_value));
+ save_item(NAME(m_pot_mask));
+ save_item(NAME(m_pot_trigger));
}
-static MACHINE_RESET( sbrkout )
+void sbrkout_state::machine_reset()
{
- sbrkout_state *state = machine.driver_data<sbrkout_state>();
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(0));
}
@@ -305,10 +306,9 @@ TILE_GET_INFO_MEMBER(sbrkout_state::get_bg_tile_info)
}
-static VIDEO_START( sbrkout )
+void sbrkout_state::video_start()
{
- sbrkout_state *state = machine.driver_data<sbrkout_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbrkout_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sbrkout_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -506,8 +506,6 @@ static MACHINE_CONFIG_START( sbrkout, sbrkout_state )
MCFG_CPU_ADD("maincpu", M6502,MAIN_CLOCK/16) /* 375 KHz? Should be 750KHz? */
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(sbrkout)
- MCFG_MACHINE_RESET(sbrkout)
MCFG_WATCHDOG_VBLANK_INIT(8)
/* video hardware */
@@ -519,7 +517,6 @@ static MACHINE_CONFIG_START( sbrkout, sbrkout_state )
MCFG_SCREEN_UPDATE_STATIC(sbrkout)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(sbrkout)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sbugger.c b/src/mame/drivers/sbugger.c
index ce583d9d4b5..9997b8348d6 100644
--- a/src/mame/drivers/sbugger.c
+++ b/src/mame/drivers/sbugger.c
@@ -258,8 +258,6 @@ static MACHINE_CONFIG_START( sbugger, sbugger_state )
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(sbugger)
- MCFG_VIDEO_START(sbugger)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c
index e2f3be2c1ff..a4e4b60f213 100644
--- a/src/mame/drivers/scobra.c
+++ b/src/mame/drivers/scobra.c
@@ -665,7 +665,7 @@ static MACHINE_CONFIG_START( type1, scobra_state )
MCFG_7474_ADD("konami_7474", "konami_7474", NULL, scramble_sh_7474_q_callback)
- MCFG_MACHINE_RESET(scramble)
+ MCFG_MACHINE_RESET_OVERRIDE(scobra_state,scramble)
MCFG_I8255A_ADD( "ppi8255_0", scramble_ppi_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", scramble_ppi_1_intf )
@@ -686,8 +686,8 @@ static MACHINE_CONFIG_START( type1, scobra_state )
MCFG_GFXDECODE(scobra)
MCFG_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for background */
- MCFG_PALETTE_INIT(scrambold)
- MCFG_VIDEO_START(scrambold)
+ MCFG_PALETTE_INIT_OVERRIDE(scobra_state,scrambold)
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,scrambold)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -711,8 +711,8 @@ static MACHINE_CONFIG_DERIVED( rescue, type1 )
MCFG_SCREEN_MODIFY("screen")
MCFG_PALETTE_LENGTH(32+64+2+128) /* 32 for characters, 64 for stars, 2 for bullets, 128 for background */
- MCFG_PALETTE_INIT(rescue)
- MCFG_VIDEO_START(rescue)
+ MCFG_PALETTE_INIT_OVERRIDE(scobra_state,rescue)
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,rescue)
MACHINE_CONFIG_END
@@ -724,8 +724,8 @@ static MACHINE_CONFIG_DERIVED( minefld, type1 )
MCFG_SCREEN_MODIFY("screen")
MCFG_PALETTE_LENGTH(32+64+2+256) /* 32 for characters, 64 for stars, 2 for bullets, 256 for background */
- MCFG_PALETTE_INIT(minefld)
- MCFG_VIDEO_START(minefld)
+ MCFG_PALETTE_INIT_OVERRIDE(scobra_state,minefld)
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,minefld)
MACHINE_CONFIG_END
@@ -736,7 +736,7 @@ static MACHINE_CONFIG_DERIVED( mimonkey, type1 )
MCFG_CPU_PROGRAM_MAP(mimonkey_map)
/* video hardware */
- MCFG_VIDEO_START(mimonkey)
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,mimonkey)
MACHINE_CONFIG_END
@@ -758,8 +758,8 @@ static MACHINE_CONFIG_DERIVED( stratgyx, type2 )
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */
- MCFG_PALETTE_INIT(stratgyx)
- MCFG_VIDEO_START(stratgyx)
+ MCFG_PALETTE_INIT_OVERRIDE(scobra_state,stratgyx)
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,stratgyx)
MACHINE_CONFIG_END
@@ -770,8 +770,8 @@ static MACHINE_CONFIG_DERIVED( darkplnt, type2 )
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 (buffer) for stars, 2 for bullets */
- MCFG_PALETTE_INIT(darkplnt)
- MCFG_VIDEO_START(darkplnt)
+ MCFG_PALETTE_INIT_OVERRIDE(scobra_state,darkplnt)
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,darkplnt)
MACHINE_CONFIG_END
@@ -787,7 +787,7 @@ static MACHINE_CONFIG_START( hustler, scobra_state )
MCFG_7474_ADD("konami_7474", "konami_7474", NULL, scramble_sh_7474_q_callback)
- MCFG_MACHINE_RESET(scramble)
+ MCFG_MACHINE_RESET_OVERRIDE(scobra_state,scramble)
MCFG_7474_ADD("7474_9m_1", "7474_9m_1", galaxold_7474_9m_1_callback, NULL)
MCFG_7474_ADD("7474_9m_2", "7474_9m_1", NULL, galaxold_7474_9m_2_q_callback)
@@ -809,8 +809,8 @@ static MACHINE_CONFIG_START( hustler, scobra_state )
MCFG_GFXDECODE(scobra)
MCFG_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 for stars, 2 for bullets */
- MCFG_PALETTE_INIT(galaxold)
- MCFG_VIDEO_START(scrambold)
+ MCFG_PALETTE_INIT_OVERRIDE(scobra_state,galaxold)
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,scrambold)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/scotrsht.c b/src/mame/drivers/scotrsht.c
index 23349e64bcc..8139f024de6 100644
--- a/src/mame/drivers/scotrsht.c
+++ b/src/mame/drivers/scotrsht.c
@@ -202,8 +202,6 @@ static MACHINE_CONFIG_START( scotrsht, scotrsht_state )
MCFG_GFXDECODE(scotrsht)
MCFG_PALETTE_LENGTH(16*8*16+16*8*16)
- MCFG_PALETTE_INIT(scotrsht)
- MCFG_VIDEO_START(scotrsht)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/scramble.c b/src/mame/drivers/scramble.c
index c598a5428e9..efa1498f515 100644
--- a/src/mame/drivers/scramble.c
+++ b/src/mame/drivers/scramble.c
@@ -1333,7 +1333,7 @@ static MACHINE_CONFIG_START( scramble, scramble_state )
MCFG_TIMER_ADD("int_timer", galaxold_interrupt_timer)
- MCFG_MACHINE_RESET(scramble)
+ MCFG_MACHINE_RESET_OVERRIDE(scramble_state,scramble)
MCFG_I8255A_ADD( "ppi8255_0", scramble_ppi_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", scramble_ppi_1_intf )
@@ -1349,8 +1349,8 @@ static MACHINE_CONFIG_START( scramble, scramble_state )
MCFG_GFXDECODE(scramble)
MCFG_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
- MCFG_PALETTE_INIT(scrambold)
- MCFG_VIDEO_START(scrambold)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,scrambold)
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,scrambold)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1370,7 +1370,7 @@ static MACHINE_CONFIG_DERIVED( mars, scramble )
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
- MCFG_PALETTE_INIT(galaxold)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( devilfsh, scramble )
@@ -1382,7 +1382,7 @@ static MACHINE_CONFIG_DERIVED( devilfsh, scramble )
/* video hardware */
MCFG_GFXDECODE(devilfsh)
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
- MCFG_PALETTE_INIT(galaxold)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( newsin7, scramble )
@@ -1394,8 +1394,8 @@ static MACHINE_CONFIG_DERIVED( newsin7, scramble )
/* video hardware */
MCFG_GFXDECODE(newsin7)
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
- MCFG_PALETTE_INIT(galaxold)
- MCFG_VIDEO_START(scrambold)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,scrambold)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mrkougar, scramble )
@@ -1410,7 +1410,7 @@ static MACHINE_CONFIG_DERIVED( mrkougar, scramble )
/* video hardware */
MCFG_GFXDECODE(mrkougar)
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
- MCFG_PALETTE_INIT(galaxold)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mrkougb, scramble )
@@ -1424,7 +1424,7 @@ static MACHINE_CONFIG_DERIVED( mrkougb, scramble )
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
- MCFG_PALETTE_INIT(galaxold)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ckongs, scramble )
@@ -1435,8 +1435,8 @@ static MACHINE_CONFIG_DERIVED( ckongs, scramble )
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
- MCFG_PALETTE_INIT(galaxold)
- MCFG_VIDEO_START(ckongs)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,ckongs)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hotshock, scramble )
@@ -1451,12 +1451,12 @@ static MACHINE_CONFIG_DERIVED( hotshock, scramble )
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_IO_MAP(hotshock_sound_io_map)
- MCFG_MACHINE_RESET(galaxold)
+ MCFG_MACHINE_RESET_OVERRIDE(scramble_state,galaxold)
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
- MCFG_PALETTE_INIT(galaxold)
- MCFG_VIDEO_START(pisces)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,pisces)
MCFG_SOUND_MODIFY("8910.1")
MCFG_SOUND_ROUTES_RESET()
@@ -1474,8 +1474,8 @@ static MACHINE_CONFIG_DERIVED( cavelon, scramble )
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
- MCFG_PALETTE_INIT(galaxold)
- MCFG_VIDEO_START(ckongs)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,ckongs)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mimonscr, scramble )
@@ -1485,7 +1485,7 @@ static MACHINE_CONFIG_DERIVED( mimonscr, scramble )
MCFG_CPU_PROGRAM_MAP(mimonscr_map)
/* video hardware */
- MCFG_VIDEO_START(mimonkey)
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,mimonkey)
MACHINE_CONFIG_END
/* Triple Punch and Mariner are different - only one CPU, one 8910 */
@@ -1503,7 +1503,7 @@ static MACHINE_CONFIG_DERIVED( triplep, scramble )
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets */
- MCFG_PALETTE_INIT(galaxold)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
/* sound hardware */
MCFG_SOUND_MODIFY("8910.1")
@@ -1522,8 +1522,8 @@ static MACHINE_CONFIG_DERIVED( mariner, triplep )
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2+16) /* 32 for characters, 64 for stars, 2 for bullets, 16 for background */
- MCFG_PALETTE_INIT(mariner)
- MCFG_VIDEO_START(mariner)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,mariner)
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,mariner)
MACHINE_CONFIG_END
/* Hunchback replaces the Z80 with a S2650 CPU */
@@ -1541,7 +1541,7 @@ static MACHINE_CONFIG_DERIVED( hunchbks, scramble )
/* video hardware */
MCFG_PALETTE_LENGTH(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets */
- MCFG_PALETTE_INIT(galaxold)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,galaxold)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hncholms, hunchbks )
@@ -1550,7 +1550,7 @@ static MACHINE_CONFIG_DERIVED( hncholms, hunchbks )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(18432000/6/2/2)
- MCFG_VIDEO_START(scorpion)
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,scorpion)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( ad2083, scramble_state )
@@ -1564,7 +1564,7 @@ static MACHINE_CONFIG_START( ad2083, scramble_state )
MCFG_TIMER_ADD("int_timer", galaxold_interrupt_timer)
- MCFG_MACHINE_RESET(galaxold)
+ MCFG_MACHINE_RESET_OVERRIDE(scramble_state,galaxold)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1577,8 +1577,8 @@ static MACHINE_CONFIG_START( ad2083, scramble_state )
MCFG_GFXDECODE(ad2083)
MCFG_PALETTE_LENGTH(32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */
- MCFG_PALETTE_INIT(turtles)
- MCFG_VIDEO_START(ad2083)
+ MCFG_PALETTE_INIT_OVERRIDE(scramble_state,turtles)
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,ad2083)
/* sound hardware */
diff --git a/src/mame/drivers/scregg.c b/src/mame/drivers/scregg.c
index 06557f776f6..76e38a277c2 100644
--- a/src/mame/drivers/scregg.c
+++ b/src/mame/drivers/scregg.c
@@ -64,6 +64,8 @@ public:
DECLARE_READ8_MEMBER(scregg_irqack_r);
DECLARE_DRIVER_INIT(rockduck);
+ DECLARE_MACHINE_START(scregg);
+ DECLARE_MACHINE_RESET(scregg);
};
@@ -231,30 +233,28 @@ GFXDECODE_END
-static MACHINE_START( scregg )
+MACHINE_START_MEMBER(scregg_state,scregg)
{
- scregg_state *state = machine.driver_data<scregg_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = NULL;
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = NULL;
- state->save_item(NAME(state->m_btime_palette));
- state->save_item(NAME(state->m_bnj_scroll1));
- state->save_item(NAME(state->m_bnj_scroll2));
- state->save_item(NAME(state->m_btime_tilemap));
+ save_item(NAME(m_btime_palette));
+ save_item(NAME(m_bnj_scroll1));
+ save_item(NAME(m_bnj_scroll2));
+ save_item(NAME(m_btime_tilemap));
}
-static MACHINE_RESET( scregg )
+MACHINE_RESET_MEMBER(scregg_state,scregg)
{
- scregg_state *state = machine.driver_data<scregg_state>();
-
- state->m_btime_palette = 0;
- state->m_bnj_scroll1 = 0;
- state->m_bnj_scroll2 = 0;
- state->m_btime_tilemap[0] = 0;
- state->m_btime_tilemap[1] = 0;
- state->m_btime_tilemap[2] = 0;
- state->m_btime_tilemap[3] = 0;
+
+ m_btime_palette = 0;
+ m_bnj_scroll1 = 0;
+ m_bnj_scroll2 = 0;
+ m_btime_tilemap[0] = 0;
+ m_btime_tilemap[1] = 0;
+ m_btime_tilemap[2] = 0;
+ m_btime_tilemap[3] = 0;
}
static MACHINE_CONFIG_START( dommy, scregg_state )
@@ -264,8 +264,8 @@ static MACHINE_CONFIG_START( dommy, scregg_state )
MCFG_CPU_PROGRAM_MAP(dommy_map)
MCFG_TIMER_ADD_SCANLINE("irq", scregg_interrupt, "screen", 0, 8)
- MCFG_MACHINE_START(scregg)
- MCFG_MACHINE_RESET(scregg)
+ MCFG_MACHINE_START_OVERRIDE(scregg_state,scregg)
+ MCFG_MACHINE_RESET_OVERRIDE(scregg_state,scregg)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -275,8 +275,8 @@ static MACHINE_CONFIG_START( dommy, scregg_state )
MCFG_GFXDECODE(scregg)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(btime)
- MCFG_VIDEO_START(btime)
+ MCFG_PALETTE_INIT_OVERRIDE(scregg_state,btime)
+ MCFG_VIDEO_START_OVERRIDE(scregg_state,btime)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -296,8 +296,8 @@ static MACHINE_CONFIG_START( scregg, scregg_state )
MCFG_CPU_PROGRAM_MAP(eggs_map)
MCFG_TIMER_ADD_SCANLINE("irq", scregg_interrupt, "screen", 0, 8)
- MCFG_MACHINE_START(scregg)
- MCFG_MACHINE_RESET(scregg)
+ MCFG_MACHINE_START_OVERRIDE(scregg_state,scregg)
+ MCFG_MACHINE_RESET_OVERRIDE(scregg_state,scregg)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -307,8 +307,8 @@ static MACHINE_CONFIG_START( scregg, scregg_state )
MCFG_GFXDECODE(scregg)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(btime)
- MCFG_VIDEO_START(btime)
+ MCFG_PALETTE_INIT_OVERRIDE(scregg_state,btime)
+ MCFG_VIDEO_START_OVERRIDE(scregg_state,btime)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sderby.c b/src/mame/drivers/sderby.c
index b126a408dd3..e88dbf820f4 100644
--- a/src/mame/drivers/sderby.c
+++ b/src/mame/drivers/sderby.c
@@ -510,7 +510,6 @@ static MACHINE_CONFIG_START( sderby, sderby_state )
MCFG_GFXDECODE(sderby)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(sderby)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */
@@ -534,7 +533,6 @@ static MACHINE_CONFIG_START( luckboom, sderby_state )
MCFG_GFXDECODE(sderby)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(sderby)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */
@@ -558,7 +556,6 @@ static MACHINE_CONFIG_START( spacewin, sderby_state )
MCFG_GFXDECODE(sderby)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(sderby)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */
@@ -582,7 +579,6 @@ static MACHINE_CONFIG_START( pmroulet, sderby_state )
MCFG_GFXDECODE(sderby)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(sderby)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */
diff --git a/src/mame/drivers/seattle.c b/src/mame/drivers/seattle.c
index 3f1c16d6868..82202aaf4a7 100644
--- a/src/mame/drivers/seattle.c
+++ b/src/mame/drivers/seattle.c
@@ -494,6 +494,8 @@ public:
DECLARE_DRIVER_INIT(wg3dh);
DECLARE_DRIVER_INIT(mace);
DECLARE_DRIVER_INIT(blitz99);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -534,83 +536,81 @@ static SCREEN_UPDATE_RGB32( seattle )
*
*************************************/
-static MACHINE_START( seattle )
+void seattle_state::machine_start()
{
- seattle_state *state = machine.driver_data<seattle_state>();
int index;
- state->m_voodoo = machine.device("voodoo");
+ m_voodoo = machine().device("voodoo");
/* allocate timers for the galileo */
- state->m_galileo.timer[0].timer = machine.scheduler().timer_alloc(FUNC(galileo_timer_callback));
- state->m_galileo.timer[1].timer = machine.scheduler().timer_alloc(FUNC(galileo_timer_callback));
- state->m_galileo.timer[2].timer = machine.scheduler().timer_alloc(FUNC(galileo_timer_callback));
- state->m_galileo.timer[3].timer = machine.scheduler().timer_alloc(FUNC(galileo_timer_callback));
+ m_galileo.timer[0].timer = machine().scheduler().timer_alloc(FUNC(galileo_timer_callback));
+ m_galileo.timer[1].timer = machine().scheduler().timer_alloc(FUNC(galileo_timer_callback));
+ m_galileo.timer[2].timer = machine().scheduler().timer_alloc(FUNC(galileo_timer_callback));
+ m_galileo.timer[3].timer = machine().scheduler().timer_alloc(FUNC(galileo_timer_callback));
/* set the fastest DRC options, but strict verification */
- mips3drc_set_options(machine.device("maincpu"), MIPS3DRC_FASTEST_OPTIONS + MIPS3DRC_STRICT_VERIFY);
+ mips3drc_set_options(machine().device("maincpu"), MIPS3DRC_FASTEST_OPTIONS + MIPS3DRC_STRICT_VERIFY);
/* configure fast RAM regions for DRC */
- mips3drc_add_fastram(machine.device("maincpu"), 0x00000000, 0x007fffff, FALSE, state->m_rambase);
- mips3drc_add_fastram(machine.device("maincpu"), 0x1fc00000, 0x1fc7ffff, TRUE, state->m_rombase);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x00000000, 0x007fffff, FALSE, m_rambase);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x1fc00000, 0x1fc7ffff, TRUE, m_rombase);
/* register for save states */
- state_save_register_global_array(machine, state->m_galileo.reg);
- state_save_register_global(machine, state->m_galileo.dma_active);
- state_save_register_global_array(machine, state->m_galileo.dma_stalled_on_voodoo);
- state_save_register_global_array(machine, state->m_galileo.pci_bridge_regs);
- state_save_register_global_array(machine, state->m_galileo.pci_3dfx_regs);
- state_save_register_global_array(machine, state->m_galileo.pci_ide_regs);
- for (index = 0; index < ARRAY_LENGTH(state->m_galileo.timer); index++)
+ state_save_register_global_array(machine(), m_galileo.reg);
+ state_save_register_global(machine(), m_galileo.dma_active);
+ state_save_register_global_array(machine(), m_galileo.dma_stalled_on_voodoo);
+ state_save_register_global_array(machine(), m_galileo.pci_bridge_regs);
+ state_save_register_global_array(machine(), m_galileo.pci_3dfx_regs);
+ state_save_register_global_array(machine(), m_galileo.pci_ide_regs);
+ for (index = 0; index < ARRAY_LENGTH(m_galileo.timer); index++)
{
- state_save_register_item(machine, "galileo", NULL, index, state->m_galileo.timer[index].count);
- state_save_register_item(machine, "galileo", NULL, index, state->m_galileo.timer[index].active);
+ state_save_register_item(machine(), "galileo", NULL, index, m_galileo.timer[index].count);
+ state_save_register_item(machine(), "galileo", NULL, index, m_galileo.timer[index].active);
}
- state_save_register_global(machine, state->m_widget.ethernet_addr);
- state_save_register_global(machine, state->m_widget.irq_num);
- state_save_register_global(machine, state->m_widget.irq_mask);
- state_save_register_global(machine, state->m_voodoo_stalled);
- state_save_register_global(machine, state->m_cpu_stalled_on_voodoo);
- state_save_register_global(machine, state->m_cpu_stalled_offset);
- state_save_register_global(machine, state->m_cpu_stalled_data);
- state_save_register_global(machine, state->m_cpu_stalled_mem_mask);
- state_save_register_global(machine, state->m_board_config);
- state_save_register_global(machine, state->m_ethernet_irq_num);
- state_save_register_global(machine, state->m_ethernet_irq_state);
- state_save_register_global(machine, state->m_vblank_irq_num);
- state_save_register_global(machine, state->m_vblank_latch);
- state_save_register_global(machine, state->m_vblank_state);
- state_save_register_global(machine, state->m_pending_analog_read);
- state_save_register_global(machine, state->m_status_leds);
- state_save_register_global(machine, state->m_cmos_write_enabled);
+ state_save_register_global(machine(), m_widget.ethernet_addr);
+ state_save_register_global(machine(), m_widget.irq_num);
+ state_save_register_global(machine(), m_widget.irq_mask);
+ state_save_register_global(machine(), m_voodoo_stalled);
+ state_save_register_global(machine(), m_cpu_stalled_on_voodoo);
+ state_save_register_global(machine(), m_cpu_stalled_offset);
+ state_save_register_global(machine(), m_cpu_stalled_data);
+ state_save_register_global(machine(), m_cpu_stalled_mem_mask);
+ state_save_register_global(machine(), m_board_config);
+ state_save_register_global(machine(), m_ethernet_irq_num);
+ state_save_register_global(machine(), m_ethernet_irq_state);
+ state_save_register_global(machine(), m_vblank_irq_num);
+ state_save_register_global(machine(), m_vblank_latch);
+ state_save_register_global(machine(), m_vblank_state);
+ state_save_register_global(machine(), m_pending_analog_read);
+ state_save_register_global(machine(), m_status_leds);
+ state_save_register_global(machine(), m_cmos_write_enabled);
}
-static MACHINE_RESET( seattle )
+void seattle_state::machine_reset()
{
- seattle_state *state = machine.driver_data<seattle_state>();
- state->m_galileo.dma_active = -1;
+ m_galileo.dma_active = -1;
- state->m_vblank_irq_num = 0;
- state->m_voodoo_stalled = FALSE;
- state->m_cpu_stalled_on_voodoo = FALSE;
+ m_vblank_irq_num = 0;
+ m_voodoo_stalled = FALSE;
+ m_cpu_stalled_on_voodoo = FALSE;
/* reset either the DCS2 board or the CAGE board */
- if (machine.device("dcs2") != NULL)
+ if (machine().device("dcs2") != NULL)
{
- dcs_reset_w(machine, 1);
- dcs_reset_w(machine, 0);
+ dcs_reset_w(machine(), 1);
+ dcs_reset_w(machine(), 0);
}
- else if (machine.device("cage") != NULL)
+ else if (machine().device("cage") != NULL)
{
- cage_control_w(machine, 0);
- cage_control_w(machine, 3);
+ cage_control_w(machine(), 0);
+ cage_control_w(machine(), 3);
}
/* reset the other devices */
- galileo_reset(machine);
- if (state->m_board_config == SEATTLE_WIDGET_CONFIG)
- widget_reset(machine);
+ galileo_reset(machine());
+ if (m_board_config == SEATTLE_WIDGET_CONFIG)
+ widget_reset(machine());
}
@@ -2548,8 +2548,6 @@ static MACHINE_CONFIG_START( seattle_common, seattle_state )
MCFG_CPU_CONFIG(r5000_config)
MCFG_CPU_PROGRAM_MAP(seattle_map)
- MCFG_MACHINE_START(seattle)
- MCFG_MACHINE_RESET(seattle)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true)
diff --git a/src/mame/drivers/segac2.c b/src/mame/drivers/segac2.c
index 41198e4a44c..bae76aacbba 100644
--- a/src/mame/drivers/segac2.c
+++ b/src/mame/drivers/segac2.c
@@ -102,23 +102,21 @@ static void recompute_palette_tables( running_machine &machine );
******************************************************************************/
-static MACHINE_START( segac2 )
+MACHINE_START_MEMBER(segac2_state,segac2)
{
- segac2_state *state = machine.driver_data<segac2_state>();
- state_save_register_global_array(machine, state->m_misc_io_data);
- state_save_register_global(machine, state->m_prot_write_buf);
- state_save_register_global(machine, state->m_prot_read_buf);
+ state_save_register_global_array(machine(), m_misc_io_data);
+ state_save_register_global(machine(), m_prot_write_buf);
+ state_save_register_global(machine(), m_prot_read_buf);
}
-static MACHINE_RESET( segac2 )
+MACHINE_RESET_MEMBER(segac2_state,segac2)
{
- segac2_state *state = machine.driver_data<segac2_state>();
// megadriv_framerate = 60;
-// megadriv_scanline_timer = machine.device<timer_device>("md_scan_timer");
+// megadriv_scanline_timer = machine().device<timer_device>("md_scan_timer");
// megadriv_scanline_timer->adjust(attotime::zero);
segac2_bg_pal_lookup[0] = 0x00;
segac2_bg_pal_lookup[1] = 0x10;
@@ -130,23 +128,23 @@ static MACHINE_RESET( segac2 )
segac2_sp_pal_lookup[2] = 0x20;
segac2_sp_pal_lookup[3] = 0x30;
- megadriv_reset_vdp(machine);
+ megadriv_reset_vdp(machine());
/* determine how many sound banks */
- state->m_sound_banks = 0;
- if (state->memregion("upd")->base())
- state->m_sound_banks = state->memregion("upd")->bytes() / 0x20000;
+ m_sound_banks = 0;
+ if (memregion("upd")->base())
+ m_sound_banks = memregion("upd")->bytes() / 0x20000;
/* reset the protection */
- state->m_prot_write_buf = 0;
- state->m_prot_read_buf = 0;
- state->m_segac2_alt_palette_mode = 0;
+ m_prot_write_buf = 0;
+ m_prot_read_buf = 0;
+ m_segac2_alt_palette_mode = 0;
- state->m_palbank = 0;
- state->m_bg_palbase = 0;
- state->m_sp_palbase = 0;
+ m_palbank = 0;
+ m_bg_palbase = 0;
+ m_sp_palbase = 0;
- recompute_palette_tables(machine);
+ recompute_palette_tables(machine());
}
@@ -1268,9 +1266,9 @@ static const ym3438_interface ym3438_intf =
******************************************************************************/
-static VIDEO_START(segac2_new)
+VIDEO_START_MEMBER(segac2_state,segac2_new)
{
- VIDEO_START_CALL(megadriv);
+ VIDEO_START_CALL_LEGACY(megadriv);
}
// C2 doesn't use the internal VDP CRAM, instead it uses the digital output of the chip
@@ -1375,8 +1373,8 @@ static MACHINE_CONFIG_START( segac, segac2_state )
MCFG_CPU_ADD("maincpu", M68000, XL2_CLOCK/6)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(segac2)
- MCFG_MACHINE_RESET(segac2)
+ MCFG_MACHINE_START_OVERRIDE(segac2_state,segac2)
+ MCFG_MACHINE_RESET_OVERRIDE(segac2_state,segac2)
MCFG_NVRAM_ADD_RANDOM_FILL("nvram")
// MCFG_FRAGMENT_ADD(megadriv_timers)
@@ -1401,7 +1399,7 @@ static MACHINE_CONFIG_START( segac, segac2_state )
MCFG_PALETTE_LENGTH(2048*3)
- MCFG_VIDEO_START(segac2_new)
+ MCFG_VIDEO_START_OVERRIDE(segac2_state,segac2_new)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/segag80r.c b/src/mame/drivers/segag80r.c
index 632446bcdce..44e4419927a 100644
--- a/src/mame/drivers/segag80r.c
+++ b/src/mame/drivers/segag80r.c
@@ -153,7 +153,7 @@ INPUT_CHANGED_MEMBER(segag80r_state::service_switch)
}
-static MACHINE_START( g80r )
+void segag80r_state::machine_start()
{
/* register for save states */
}
@@ -845,7 +845,6 @@ static MACHINE_CONFIG_START( g80r_base, segag80r_state )
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT("screen", segag80r_vblank_start)
- MCFG_MACHINE_START(g80r)
/* video hardware */
MCFG_GFXDECODE(segag80r)
@@ -855,7 +854,6 @@ static MACHINE_CONFIG_START( g80r_base, segag80r_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(segag80r)
- MCFG_VIDEO_START(segag80r)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/segag80v.c b/src/mame/drivers/segag80v.c
index defbe1f5176..0c4f11d5bbb 100644
--- a/src/mame/drivers/segag80v.c
+++ b/src/mame/drivers/segag80v.c
@@ -166,15 +166,14 @@ INPUT_CHANGED_MEMBER(segag80v_state::service_switch)
}
-static MACHINE_START( g80v )
+void segag80v_state::machine_start()
{
- segag80v_state *state = machine.driver_data<segag80v_state>();
/* register for save states */
- state_save_register_global_array(machine, state->m_mult_data);
- state_save_register_global(machine, state->m_mult_result);
- state_save_register_global(machine, state->m_spinner_select);
- state_save_register_global(machine, state->m_spinner_sign);
- state_save_register_global(machine, state->m_spinner_count);
+ state_save_register_global_array(machine(), m_mult_data);
+ state_save_register_global(machine(), m_mult_result);
+ state_save_register_global(machine(), m_spinner_select);
+ state_save_register_global(machine(), m_spinner_sign);
+ state_save_register_global(machine(), m_spinner_count);
}
@@ -901,7 +900,6 @@ static MACHINE_CONFIG_START( g80v_base, segag80v_state )
MCFG_CPU_IO_MAP(main_portmap)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(g80v)
/* video hardware */
MCFG_SCREEN_ADD("screen", VECTOR)
@@ -910,7 +908,6 @@ static MACHINE_CONFIG_START( g80v_base, segag80v_state )
MCFG_SCREEN_VISIBLE_AREA(512, 1536, 640-32, 1408+32)
MCFG_SCREEN_UPDATE_STATIC(segag80v)
- MCFG_VIDEO_START(segag80v)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/segajw.c b/src/mame/drivers/segajw.c
index f3673e89f3b..fb54da8500e 100644
--- a/src/mame/drivers/segajw.c
+++ b/src/mame/drivers/segajw.c
@@ -43,6 +43,7 @@ protected:
virtual void machine_start();
virtual void machine_reset();
virtual void video_start();
+ virtual void palette_init();
};
@@ -81,7 +82,7 @@ void segajw_state::machine_reset()
{
}
-static PALETTE_INIT( segajw )
+void segajw_state::palette_init()
{
}
@@ -100,7 +101,6 @@ static MACHINE_CONFIG_START( segajw, segajw_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
- MCFG_PALETTE_INIT(segajw)
MCFG_PALETTE_LENGTH(16)
/* sound hardware */
diff --git a/src/mame/drivers/segald.c b/src/mame/drivers/segald.c
index 9820b7ef6ee..fac1fb8c11e 100644
--- a/src/mame/drivers/segald.c
+++ b/src/mame/drivers/segald.c
@@ -57,6 +57,7 @@ public:
DECLARE_WRITE8_MEMBER(astron_FIX_write);
DECLARE_WRITE8_MEMBER(astron_io_bankswitch_w);
DECLARE_DRIVER_INIT(astron);
+ virtual void machine_start();
};
/* VIDEO GOODS */
@@ -359,7 +360,7 @@ static GFXDECODE_START( segald )
GFXDECODE_END
-static MACHINE_START( astron )
+void segald_state::machine_start()
{
}
@@ -373,7 +374,6 @@ static MACHINE_CONFIG_START( astron, segald_state )
MCFG_CPU_IO_MAP(mainport)
MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 1000.0/59.94)
- MCFG_MACHINE_START(astron)
MCFG_LASERDISC_LDV1000_ADD("laserdisc")
MCFG_LASERDISC_OVERLAY_STATIC(256, 256, astron)
diff --git a/src/mame/drivers/segas24.c b/src/mame/drivers/segas24.c
index 83576fe0741..ad992df72be 100644
--- a/src/mame/drivers/segas24.c
+++ b/src/mame/drivers/segas24.c
@@ -1258,37 +1258,35 @@ ADDRESS_MAP_END
*
*************************************/
-static MACHINE_START( system24 )
+void segas24_state::machine_start()
{
- segas24_state *state = machine.driver_data<segas24_state>();
- if (state->track_size)
- machine.device<nvram_device>("floppy_nvram")->set_base(state->memregion("floppy")->base(), 2*state->track_size);
+ if (track_size)
+ machine().device<nvram_device>("floppy_nvram")->set_base(memregion("floppy")->base(), 2*track_size);
- UINT8 *usr1 = state->memregion("romboard")->base();
+ UINT8 *usr1 = memregion("romboard")->base();
if (usr1)
{
- state->membank("bank1")->configure_entries(0, 16, usr1, 0x40000);
- state->membank("bank2")->configure_entries(0, 16, usr1, 0x40000);
+ membank("bank1")->configure_entries(0, 16, usr1, 0x40000);
+ membank("bank2")->configure_entries(0, 16, usr1, 0x40000);
}
- state->vtile = machine.device<segas24_tile>("tile");
- state->vsprite = machine.device<segas24_sprite>("sprite");
- state->vmixer = machine.device<segas24_mixer>("mixer");
+ vtile = machine().device<segas24_tile>("tile");
+ vsprite = machine().device<segas24_sprite>("sprite");
+ vmixer = machine().device<segas24_mixer>("mixer");
}
-static MACHINE_RESET( system24 )
+void segas24_state::machine_reset()
{
- segas24_state *state = machine.driver_data<segas24_state>();
- machine.device("subcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- state->prev_resetcontrol = state->resetcontrol = 0x06;
- state->fdc_init();
- state->curbank = 0;
- state->reset_bank();
- state->irq_init();
- state->mlatch = 0x00;
- state->frc_mode = 0;
- state->frc_cnt_timer = machine.device<timer_device>("frc_timer");
- state->frc_cnt_timer->reset();
+ machine().device("subcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ prev_resetcontrol = resetcontrol = 0x06;
+ fdc_init();
+ curbank = 0;
+ reset_bank();
+ irq_init();
+ mlatch = 0x00;
+ frc_mode = 0;
+ frc_cnt_timer = machine().device<timer_device>("frc_timer");
+ frc_cnt_timer->reset();
}
/*************************************
@@ -1955,8 +1953,6 @@ static MACHINE_CONFIG_START( system24, segas24_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(system24)
- MCFG_MACHINE_RESET(system24)
MCFG_TIMER_ADD("irq_timer", irq_timer_cb)
MCFG_TIMER_ADD("irq_timer_clear", irq_timer_clear_cb)
diff --git a/src/mame/drivers/segas32.c b/src/mame/drivers/segas32.c
index d5b9ab82e05..8ee1713e490 100644
--- a/src/mame/drivers/segas32.c
+++ b/src/mame/drivers/segas32.c
@@ -385,18 +385,17 @@ static void signal_sound_irq(running_machine &machine, int which);
*
*************************************/
-static MACHINE_RESET( system32 )
+MACHINE_RESET_MEMBER(segas32_state,system32)
{
- segas32_state *state = machine.driver_data<segas32_state>();
/* initialize the interrupt controller */
- memset(state->m_v60_irq_control, 0xff, sizeof(state->m_v60_irq_control));
+ memset(m_v60_irq_control, 0xff, sizeof(m_v60_irq_control));
/* allocate timers */
- state->m_v60_irq_timer[0] = machine.device<timer_device>("v60_irq0");
- state->m_v60_irq_timer[1] = machine.device<timer_device>("v60_irq1");
+ m_v60_irq_timer[0] = machine().device<timer_device>("v60_irq0");
+ m_v60_irq_timer[1] = machine().device<timer_device>("v60_irq1");
/* clear IRQ lines */
- machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
+ machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
}
@@ -2200,7 +2199,7 @@ static MACHINE_CONFIG_START( system32, segas32_state )
MCFG_CPU_PROGRAM_MAP(system32_sound_map)
MCFG_CPU_IO_MAP(system32_sound_portmap)
- MCFG_MACHINE_RESET(system32)
+ MCFG_MACHINE_RESET_OVERRIDE(segas32_state,system32)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -2217,7 +2216,7 @@ static MACHINE_CONFIG_START( system32, segas32_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 52*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_STATIC(system32)
- MCFG_VIDEO_START(system32)
+ MCFG_VIDEO_START_OVERRIDE(segas32_state,system32)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2259,7 +2258,7 @@ static MACHINE_CONFIG_START( multi32, segas32_state )
MCFG_CPU_PROGRAM_MAP(multi32_sound_map)
MCFG_CPU_IO_MAP(multi32_sound_portmap)
- MCFG_MACHINE_RESET(system32)
+ MCFG_MACHINE_RESET_OVERRIDE(segas32_state,system32)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -2283,7 +2282,7 @@ static MACHINE_CONFIG_START( multi32, segas32_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 52*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_STATIC(multi32_right)
- MCFG_VIDEO_START(multi32)
+ MCFG_VIDEO_START_OVERRIDE(segas32_state,multi32)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/seibuspi.c b/src/mame/drivers/seibuspi.c
index 9c070a9f707..da8ea32daed 100644
--- a/src/mame/drivers/seibuspi.c
+++ b/src/mame/drivers/seibuspi.c
@@ -1801,46 +1801,44 @@ static IRQ_CALLBACK(spi_irq_callback)
/* SPI */
-static MACHINE_START( spi )
+MACHINE_START_MEMBER(seibuspi_state,spi)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
- state->m_z80_rom = auto_alloc_array(machine, UINT8, 0x40000);
+ m_z80_rom = auto_alloc_array(machine(), UINT8, 0x40000);
}
-static MACHINE_RESET( spi )
+MACHINE_RESET_MEMBER(seibuspi_state,spi)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
int i;
- UINT8 *sound = state->memregion("ymf")->base();
+ UINT8 *sound = memregion("ymf")->base();
- UINT8 *rombase = state->memregion("user1")->base();
+ UINT8 *rombase = memregion("user1")->base();
UINT8 flash_data = rombase[0x1ffffc];
- machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE );
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(spi_irq_callback);
+ machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE );
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(spi_irq_callback);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000680, 0x00000683, read32_delegate(FUNC(seibuspi_state::sound_fifo_r),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00000688, 0x0000068b, write32_delegate(FUNC(seibuspi_state::z80_prg_fifo_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0000068c, 0x0000068f, write32_delegate(FUNC(seibuspi_state::z80_enable_w),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000680, 0x00000683, read32_delegate(FUNC(seibuspi_state::sound_fifo_r),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x00000688, 0x0000068b, write32_delegate(FUNC(seibuspi_state::z80_prg_fifo_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0000068c, 0x0000068f, write32_delegate(FUNC(seibuspi_state::z80_enable_w),this));
- state->membank("bank4")->set_base(state->m_z80_rom);
- state->membank("bank5")->set_base(state->m_z80_rom);
+ membank("bank4")->set_base(m_z80_rom);
+ membank("bank5")->set_base(m_z80_rom);
/* If the first value doesn't match, the game shows a checksum error */
/* If any of the other values are wrong, the game goes to update mode */
- state->m_flash[0]->write(0, 0xff);
- state->m_flash[0]->write(0, 0x10);
- state->m_flash[0]->write(0, flash_data); /* country code */
+ m_flash[0]->write(0, 0xff);
+ m_flash[0]->write(0, 0x10);
+ m_flash[0]->write(0, flash_data); /* country code */
for (i=0; i < 0x100000; i++)
{
- state->m_flash[0]->write(0, 0xff);
- sound[i] = state->m_flash[0]->read(i);
+ m_flash[0]->write(0, 0xff);
+ sound[i] = m_flash[0]->read(i);
}
for (i=0; i < 0x100000; i++)
{
- state->m_flash[1]->write(0, 0xff);
- sound[0x100000+i] = state->m_flash[1]->read(i);
+ m_flash[1]->write(0, 0xff);
+ sound[0x100000+i] = m_flash[1]->read(i);
}
}
@@ -1856,8 +1854,8 @@ static MACHINE_CONFIG_START( spi, seibuspi_state )
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- MCFG_MACHINE_START(spi)
- MCFG_MACHINE_RESET(spi)
+ MCFG_MACHINE_START_OVERRIDE(seibuspi_state,spi)
+ MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state,spi)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -1877,7 +1875,7 @@ static MACHINE_CONFIG_START( spi, seibuspi_state )
MCFG_GFXDECODE(spi)
MCFG_PALETTE_LENGTH(6144)
- MCFG_VIDEO_START(spi)
+ MCFG_VIDEO_START_OVERRIDE(seibuspi_state,spi)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1887,34 +1885,32 @@ static MACHINE_CONFIG_START( spi, seibuspi_state )
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_START( sxx2f )
+MACHINE_START_MEMBER(seibuspi_state,sxx2f)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
- state->m_z80_rom = auto_alloc_array(machine, UINT8, 0x40000);
+ m_z80_rom = auto_alloc_array(machine(), UINT8, 0x40000);
}
-static MACHINE_RESET( sxx2f )
+MACHINE_RESET_MEMBER(seibuspi_state,sxx2f)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
- UINT8 *rom = state->memregion("soundcpu")->base();
+ UINT8 *rom = memregion("soundcpu")->base();
- state->membank("bank4")->set_base(state->m_z80_rom);
- state->membank("bank5")->set_base(state->m_z80_rom);
+ membank("bank4")->set_base(m_z80_rom);
+ membank("bank5")->set_base(m_z80_rom);
- memcpy(state->m_z80_rom, rom, 0x40000);
+ memcpy(m_z80_rom, rom, 0x40000);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0000068c, 0x0000068f, write32_delegate(FUNC(seibuspi_state::eeprom_w),state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000680, 0x00000683, read32_delegate(FUNC(seibuspi_state::sb_coin_r),state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x0000068c, 0x0000068f, write32_delegate(FUNC(seibuspi_state::eeprom_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000680, 0x00000683, read32_delegate(FUNC(seibuspi_state::sb_coin_r),this));
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(spi_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(spi_irq_callback);
- state->m_sb_coin_latch = 0;
+ m_sb_coin_latch = 0;
}
static MACHINE_CONFIG_DERIVED( sxx2f, spi ) /* Intel i386DX @ 25MHz, YMF271 @ 16.9344MHz, Z80 @ 7.159MHz(?) */
- MCFG_MACHINE_START(sxx2f)
- MCFG_MACHINE_RESET(sxx2f)
+ MCFG_MACHINE_START_OVERRIDE(seibuspi_state,sxx2f)
+ MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state,sxx2f)
MCFG_DEVICE_REMOVE("flash0")
MCFG_DEVICE_REMOVE("flash1")
@@ -1935,8 +1931,8 @@ static MACHINE_CONFIG_DERIVED( sxx2g, spi ) /* single board version using measur
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
- MCFG_MACHINE_START(sxx2f)
- MCFG_MACHINE_RESET(sxx2f)
+ MCFG_MACHINE_START_OVERRIDE(seibuspi_state,sxx2f)
+ MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state,sxx2f)
MCFG_DEVICE_REMOVE("flash0")
MCFG_DEVICE_REMOVE("flash1")
@@ -2187,9 +2183,9 @@ DRIVER_INIT_MEMBER(seibuspi_state,rfjet2k)
init_rfjet_common(machine());
}
-static MACHINE_RESET( seibu386 )
+MACHINE_RESET_MEMBER(seibuspi_state,seibu386)
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(spi_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(spi_irq_callback);
}
static MACHINE_CONFIG_START( seibu386, seibuspi_state )
@@ -2199,7 +2195,7 @@ static MACHINE_CONFIG_START( seibu386, seibuspi_state )
MCFG_CPU_PROGRAM_MAP(seibu386_map)
MCFG_CPU_VBLANK_INT("screen", spi_interrupt)
- MCFG_MACHINE_RESET(seibu386)
+ MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state,seibu386)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -2213,7 +2209,7 @@ static MACHINE_CONFIG_START( seibu386, seibuspi_state )
MCFG_GFXDECODE(spi)
MCFG_PALETTE_LENGTH(6144)
- MCFG_VIDEO_START(spi)
+ MCFG_VIDEO_START_OVERRIDE(seibuspi_state,spi)
MCFG_SCREEN_UPDATE_STATIC(spi)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2254,7 +2250,7 @@ static MACHINE_CONFIG_START( sys386f2, seibuspi_state )
/* no z80? */
- MCFG_MACHINE_RESET(seibu386)
+ MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state,seibu386)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -2268,7 +2264,7 @@ static MACHINE_CONFIG_START( sys386f2, seibuspi_state )
MCFG_GFXDECODE(sys386f2)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(sys386f2)
+ MCFG_VIDEO_START_OVERRIDE(seibuspi_state,sys386f2)
MCFG_SCREEN_UPDATE_STATIC(sys386f2)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c
index 61e6883bbad..ec0904ecd80 100644
--- a/src/mame/drivers/seicross.c
+++ b/src/mame/drivers/seicross.c
@@ -73,10 +73,10 @@ static NVRAM_HANDLER( seicross )
-static MACHINE_RESET( friskyt )
+void seicross_state::machine_reset()
{
/* start with the protection mcu halted */
- machine.device("mcu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("mcu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
@@ -411,7 +411,6 @@ static MACHINE_CONFIG_START( nvram, seicross_state )
MCFG_QUANTUM_TIME(attotime::from_hz(1200)) /* 20 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_RESET(friskyt)
MCFG_NVRAM_HANDLER(seicross)
/* video hardware */
@@ -425,8 +424,6 @@ static MACHINE_CONFIG_START( nvram, seicross_state )
MCFG_GFXDECODE(seicross)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(seicross)
- MCFG_VIDEO_START(seicross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/senjyo.c b/src/mame/drivers/senjyo.c
index 4448e683db6..a1c3b720192 100644
--- a/src/mame/drivers/senjyo.c
+++ b/src/mame/drivers/senjyo.c
@@ -78,15 +78,14 @@ I/O read/write
#include "machine/segacrpt.h"
#include "includes/senjyo.h"
-static MACHINE_RESET( senjyo )
+void senjyo_state::machine_reset()
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
/* we must avoid generating interrupts for the first few frames otherwise */
/* Senjyo locks up. There must be an interrupt enable port somewhere, */
/* or maybe interrupts are genenrated by the CTC. */
/* Maybe a write to port d002 clears the IRQ line, but I'm not sure. */
- state->m_int_delay_kludge = 10;
+ m_int_delay_kludge = 10;
}
static INTERRUPT_GEN( senjyo_interrupt )
@@ -580,7 +579,6 @@ static MACHINE_CONFIG_START( senjyo, senjyo_state )
MCFG_CPU_PROGRAM_MAP(senjyo_sound_map)
MCFG_CPU_IO_MAP(senjyo_sound_io_map)
- MCFG_MACHINE_RESET(senjyo)
MCFG_Z80PIO_ADD( "z80pio", 2000000, senjyo_pio_intf )
MCFG_Z80CTC_ADD( "z80ctc", 2000000 /* same as "sub" */, senjyo_ctc_intf )
@@ -596,7 +594,6 @@ static MACHINE_CONFIG_START( senjyo, senjyo_state )
MCFG_GFXDECODE(senjyo)
MCFG_PALETTE_LENGTH(512+2) /* 512 real palette + 2 for the radar */
- MCFG_VIDEO_START(senjyo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/seta.c b/src/mame/drivers/seta.c
index 1f729f05df4..fc4d9d0bf4f 100644
--- a/src/mame/drivers/seta.c
+++ b/src/mame/drivers/seta.c
@@ -2178,11 +2178,10 @@ static ADDRESS_MAP_START( keroppi_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0xe00600, 0xe00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
ADDRESS_MAP_END
-static MACHINE_START( keroppi )
+MACHINE_START_MEMBER(seta_state,keroppi)
{
- seta_state *state = machine.driver_data<seta_state>();
- state->m_keroppi_prize_hop = 0;
- state->m_keroppi_protection_count = 0;
+ m_keroppi_prize_hop = 0;
+ m_keroppi_protection_count = 0;
}
/***************************************************************************
@@ -3176,11 +3175,10 @@ ADDRESS_MAP_END
Caliber 50 / U.S. Classic
***************************************************************************/
-static MACHINE_RESET(calibr50)
+MACHINE_RESET_MEMBER(seta_state,calibr50)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- seta_state *state = machine.driver_data<seta_state>();
- state->sub_bankswitch_w(*space, 0, 0);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ sub_bankswitch_w(*space, 0, 0);
}
WRITE8_MEMBER(seta_state::calibr50_soundlatch2_w)
@@ -7506,7 +7504,7 @@ static MACHINE_CONFIG_START( tndrcade, seta_state )
MCFG_GFXDECODE(tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -7556,7 +7554,7 @@ static MACHINE_CONFIG_START( twineagl, seta_state )
MCFG_GFXDECODE(downtown)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(twineagl_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,twineagl_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -7598,7 +7596,7 @@ static MACHINE_CONFIG_START( downtown, seta_state )
MCFG_GFXDECODE(downtown)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(seta_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -7642,7 +7640,7 @@ static MACHINE_CONFIG_START( usclssic, seta_state )
MCFG_CPU_PROGRAM_MAP(calibr50_sub_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* NMI caused by main cpu when writing to the sound latch */
- MCFG_MACHINE_RESET(calibr50)
+ MCFG_MACHINE_RESET_OVERRIDE(seta_state,calibr50)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -7657,8 +7655,8 @@ static MACHINE_CONFIG_START( usclssic, seta_state )
MCFG_GFXDECODE(usclssic)
MCFG_PALETTE_LENGTH(16*32 + 64*32*2) /* sprites, layer */
- MCFG_PALETTE_INIT(usclssic) /* layer is 6 planes deep */
- MCFG_VIDEO_START(seta_1_layer)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,usclssic) /* layer is 6 planes deep */
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -7691,7 +7689,7 @@ static MACHINE_CONFIG_START( calibr50, seta_state )
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* IRQ: 4/frame
NMI: when the 68k writes the sound latch */
- MCFG_MACHINE_RESET(calibr50)
+ MCFG_MACHINE_RESET_OVERRIDE(seta_state,calibr50)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -7706,7 +7704,7 @@ static MACHINE_CONFIG_START( calibr50, seta_state )
MCFG_GFXDECODE(downtown)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(seta_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -7746,7 +7744,7 @@ static MACHINE_CONFIG_START( metafox, seta_state )
MCFG_GFXDECODE(downtown)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(seta_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -7782,7 +7780,7 @@ static MACHINE_CONFIG_START( atehate, seta_state )
MCFG_GFXDECODE(tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -7825,8 +7823,8 @@ static MACHINE_CONFIG_START( blandia, seta_state )
MCFG_GFXDECODE(blandia)
MCFG_PALETTE_LENGTH((16*32+64*32*4)*2) /* sprites, layer1, layer2, palette effect */
- MCFG_PALETTE_INIT(blandia) /* layers 1&2 are 6 planes deep */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,blandia) /* layers 1&2 are 6 planes deep */
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -7858,8 +7856,8 @@ static MACHINE_CONFIG_START( blandiap, seta_state )
MCFG_GFXDECODE(blandia)
MCFG_PALETTE_LENGTH((16*32+64*32*4)*2) /* sprites, layer1, layer2, palette effect */
- MCFG_PALETTE_INIT(blandia) /* layers 1&2 are 6 planes deep */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,blandia) /* layers 1&2 are 6 planes deep */
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -7895,7 +7893,7 @@ static MACHINE_CONFIG_START( blockcar, seta_state )
MCFG_GFXDECODE(tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -7931,7 +7929,7 @@ static MACHINE_CONFIG_START( daioh, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer1, layer2 */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -7973,7 +7971,7 @@ static MACHINE_CONFIG_START( drgnunit, seta_state )
MCFG_GFXDECODE(downtown)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(seta_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8008,7 +8006,7 @@ static MACHINE_CONFIG_START( qzkklgy2, seta_state )
MCFG_GFXDECODE(qzkklgy2)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(seta_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8058,9 +8056,9 @@ static MACHINE_CONFIG_START( setaroul, seta_state )
MCFG_GFXDECODE(setaroul)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(setaroul)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,setaroul)
- MCFG_VIDEO_START(seta_1_layer)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8096,7 +8094,7 @@ static MACHINE_CONFIG_START( eightfrc, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer1, layer2 */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8137,8 +8135,8 @@ static MACHINE_CONFIG_START( extdwnhl, seta_state )
MCFG_GFXDECODE(zingzip)
MCFG_PALETTE_LENGTH(16*32+16*32+64*32*2) /* sprites, layer2, layer1 */
- MCFG_PALETTE_INIT(zingzip) /* layer 1 gfx is 6 planes deep */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,zingzip) /* layer 1 gfx is 6 planes deep */
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8159,7 +8157,7 @@ static INTERRUPT_GEN( wrofaero_interrupt )
device->execute().set_input_line(2, HOLD_LINE );
}
-static MACHINE_START( wrofaero ) { uPD71054_timer_init(machine); }
+MACHINE_START_MEMBER(seta_state,wrofaero){ uPD71054_timer_init(machine()); }
#endif // __uPD71054_TIMER
@@ -8182,7 +8180,7 @@ static MACHINE_CONFIG_START( gundhara, seta_state )
#endif // __uPD71054_TIMER
#if __uPD71054_TIMER
- MCFG_MACHINE_START( wrofaero )
+ MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -8198,8 +8196,8 @@ static MACHINE_CONFIG_START( gundhara, seta_state )
MCFG_GFXDECODE(jjsquawk)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer2, layer1 */
- MCFG_PALETTE_INIT(gundhara) /* layers are 6 planes deep (but have only 4 palettes) */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,gundhara) /* layers are 6 planes deep (seta_state,but have only 4 palettes) */
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8239,8 +8237,8 @@ static MACHINE_CONFIG_START( jjsquawk, seta_state )
MCFG_GFXDECODE(jjsquawk)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer2, layer1 */
- MCFG_PALETTE_INIT(jjsquawk) /* layers are 6 planes deep */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,jjsquawk) /* layers are 6 planes deep */
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8271,8 +8269,8 @@ static MACHINE_CONFIG_START( jjsquawb, seta_state )
MCFG_GFXDECODE(jjsquawk)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer2, layer1 */
- MCFG_PALETTE_INIT(jjsquawk) /* layers are 6 planes deep */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,jjsquawk) /* layers are 6 planes deep */
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8296,7 +8294,7 @@ static MACHINE_CONFIG_START( kamenrid, seta_state )
MCFG_CPU_VBLANK_INT("screen", wrofaero_interrupt)
#if __uPD71054_TIMER
- MCFG_MACHINE_START( wrofaero )
+ MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -8312,7 +8310,7 @@ static MACHINE_CONFIG_START( kamenrid, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8349,7 +8347,7 @@ static MACHINE_CONFIG_START( orbs, seta_state )
MCFG_GFXDECODE(orbs)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8372,7 +8370,7 @@ static MACHINE_CONFIG_START( keroppi, seta_state )
MCFG_CPU_PROGRAM_MAP(keroppi_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", seta_interrupt_1_and_2, "screen", 0, 1)
- MCFG_MACHINE_START(keroppi)
+ MCFG_MACHINE_START_OVERRIDE(seta_state,keroppi)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -8387,7 +8385,7 @@ static MACHINE_CONFIG_START( keroppi, seta_state )
MCFG_GFXDECODE(orbs)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8423,7 +8421,7 @@ static MACHINE_CONFIG_START( krzybowl, seta_state )
MCFG_GFXDECODE(tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8448,7 +8446,7 @@ static MACHINE_CONFIG_START( madshark, seta_state )
MCFG_CPU_VBLANK_INT("screen", wrofaero_interrupt)
#if __uPD71054_TIMER
- MCFG_MACHINE_START( wrofaero )
+ MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -8464,9 +8462,9 @@ static MACHINE_CONFIG_START( madshark, seta_state )
MCFG_GFXDECODE(jjsquawk)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer2, layer1 */
- MCFG_PALETTE_INIT(jjsquawk) /* layers are 6 planes deep */
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,jjsquawk) /* layers are 6 planes deep */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8490,7 +8488,7 @@ static MACHINE_CONFIG_START( magspeed, seta_state )
MCFG_CPU_VBLANK_INT("screen", wrofaero_interrupt)
#if __uPD71054_TIMER
- MCFG_MACHINE_START( wrofaero )
+ MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -8506,7 +8504,7 @@ static MACHINE_CONFIG_START( magspeed, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8536,7 +8534,7 @@ static MACHINE_CONFIG_START( msgundam, seta_state )
#endif // __uPD71054_TIMER
#if __uPD71054_TIMER
- MCFG_MACHINE_START( wrofaero )
+ MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -8553,7 +8551,7 @@ static MACHINE_CONFIG_START( msgundam, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8590,7 +8588,7 @@ static MACHINE_CONFIG_START( oisipuzl, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
- MCFG_VIDEO_START(oisipuzl_2_layers) // flip is inverted for the tilemaps
+ MCFG_VIDEO_START_OVERRIDE(seta_state,oisipuzl_2_layers) // flip is inverted for the tilemaps
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8627,7 +8625,7 @@ static MACHINE_CONFIG_START( triplfun, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
- MCFG_VIDEO_START(oisipuzl_2_layers) // flip is inverted for the tilemaps
+ MCFG_VIDEO_START_OVERRIDE(seta_state,oisipuzl_2_layers) // flip is inverted for the tilemaps
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8662,7 +8660,7 @@ static MACHINE_CONFIG_START( kiwame, seta_state )
MCFG_GFXDECODE(tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8701,7 +8699,7 @@ static MACHINE_CONFIG_START( rezon, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer1, layer2 */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8740,7 +8738,7 @@ static MACHINE_CONFIG_START( thunderl, seta_state )
MCFG_GFXDECODE(tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8811,7 +8809,7 @@ static MACHINE_CONFIG_START( wiggie, seta_state )
MCFG_GFXDECODE(wiggie)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -8845,7 +8843,7 @@ static MACHINE_CONFIG_START( wits, seta_state )
MCFG_GFXDECODE(tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8881,7 +8879,7 @@ static MACHINE_CONFIG_START( umanclub, seta_state )
MCFG_GFXDECODE(tndrcade)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8921,7 +8919,7 @@ static MACHINE_CONFIG_START( utoukond, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -8954,7 +8952,7 @@ static MACHINE_CONFIG_START( wrofaero, seta_state )
#endif // __uPD71054_TIMER
#if __uPD71054_TIMER
- MCFG_MACHINE_START( wrofaero )
+ MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -8970,7 +8968,7 @@ static MACHINE_CONFIG_START( wrofaero, seta_state )
MCFG_GFXDECODE(msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer1, layer2 */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -9013,8 +9011,8 @@ static MACHINE_CONFIG_START( zingzip, seta_state )
MCFG_GFXDECODE(zingzip)
MCFG_PALETTE_LENGTH(16*32+16*32+64*32*2) /* sprites, layer2, layer1 */
- MCFG_PALETTE_INIT(zingzip) /* layer 1 gfx is 6 planes deep */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,zingzip) /* layer 1 gfx is 6 planes deep */
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -9066,7 +9064,7 @@ static MACHINE_CONFIG_START( pairlove, seta_state )
MCFG_GFXDECODE(tndrcade)
MCFG_PALETTE_LENGTH(2048) /* sprites only */
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -9114,8 +9112,8 @@ static MACHINE_CONFIG_START( crazyfgt, seta_state )
MCFG_GFXDECODE(crazyfgt)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer1, layer2 */
- MCFG_PALETTE_INIT(gundhara) /* layers are 6 planes deep (but have only 4 palettes) */
- MCFG_VIDEO_START(seta_2_layers)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,gundhara) /* layers are 6 planes deep (seta_state,but have only 4 palettes) */
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -9211,8 +9209,8 @@ static MACHINE_CONFIG_START( inttoote, seta_state )
MCFG_GFXDECODE(inttoote)
MCFG_PALETTE_LENGTH(512 * 1)
- MCFG_PALETTE_INIT(inttoote)
- MCFG_VIDEO_START(seta_1_layer)
+ MCFG_PALETTE_INIT_OVERRIDE(seta_state,inttoote)
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/seta2.c b/src/mame/drivers/seta2.c
index 833a7eb570d..13a4b397f34 100644
--- a/src/mame/drivers/seta2.c
+++ b/src/mame/drivers/seta2.c
@@ -2042,7 +2042,7 @@ static MACHINE_CONFIG_START( seta2, seta2_state )
MCFG_GFXDECODE(seta2)
MCFG_PALETTE_LENGTH(0x8000+0xf0) // extra 0xf0 because we might draw 256-color object with 16-color granularity
- MCFG_VIDEO_START(seta2)
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,seta2)
// sound hardware
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2094,7 +2094,7 @@ static MACHINE_CONFIG_DERIVED( myangel, seta2 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
- MCFG_VIDEO_START(seta2_yoffset)
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,seta2_yoffset)
MACHINE_CONFIG_END
@@ -2106,7 +2106,7 @@ static MACHINE_CONFIG_DERIVED( myangel2, seta2 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
- MCFG_VIDEO_START(seta2_yoffset)
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,seta2_yoffset)
MACHINE_CONFIG_END
@@ -2141,7 +2141,7 @@ static MACHINE_CONFIG_DERIVED( reelquak, seta2 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0x40, 0x180-1, 0x80, 0x170-1)
- MCFG_VIDEO_START(seta2_xoffset)
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,seta2_xoffset)
MACHINE_CONFIG_END
@@ -2202,13 +2202,12 @@ static INTERRUPT_GEN( funcube_sub_timer_irq )
device->execute().set_input_line(H8_METRO_TIMER_HACK, HOLD_LINE);
}
-static MACHINE_RESET( funcube )
+MACHINE_RESET_MEMBER(seta2_state,funcube)
{
- seta2_state *state = machine.driver_data<seta2_state>();
- state->m_funcube_coin_start_cycles = 0;
- state->m_funcube_serial_count = 0;
- state->m_funcube_press = 0;
- state->m_funcube_hopper_motor = 0;
+ m_funcube_coin_start_cycles = 0;
+ m_funcube_serial_count = 0;
+ m_funcube_press = 0;
+ m_funcube_hopper_motor = 0;
}
static MACHINE_CONFIG_START( funcube, seta2_state )
@@ -2224,7 +2223,7 @@ static MACHINE_CONFIG_START( funcube, seta2_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_RESET( funcube )
+ MCFG_MACHINE_RESET_OVERRIDE(seta2_state, funcube )
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2238,7 +2237,7 @@ static MACHINE_CONFIG_START( funcube, seta2_state )
MCFG_GFXDECODE(funcube)
MCFG_PALETTE_LENGTH(0x8000+0xf0) // extra 0xf0 because we might draw 256-color object with 16-color granularity
- MCFG_VIDEO_START(seta2)
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,seta2)
// sound hardware
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2289,7 +2288,7 @@ static MACHINE_CONFIG_START( namcostr, seta2_state )
MCFG_GFXDECODE(funcube)
MCFG_PALETTE_LENGTH(0x8000+0xf0) // extra 0xf0 because we might draw 256-color object with 16-color granularity
- MCFG_VIDEO_START(seta2)
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,seta2)
// sound hardware
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/sf.c b/src/mame/drivers/sf.c
index c53306921b3..7a0d4f43b93 100644
--- a/src/mame/drivers/sf.c
+++ b/src/mame/drivers/sf.c
@@ -813,26 +813,24 @@ static const msm5205_interface msm5205_config =
MSM5205_SEX_4B /* 8KHz playback ? */
};
-static MACHINE_START( sf )
+void sf_state::machine_start()
{
- sf_state *state = machine.driver_data<sf_state>();
/* devices */
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_sf_active));
- state->save_item(NAME(state->m_bgscroll));
- state->save_item(NAME(state->m_fgscroll));
+ save_item(NAME(m_sf_active));
+ save_item(NAME(m_bgscroll));
+ save_item(NAME(m_fgscroll));
}
-static MACHINE_RESET( sf )
+void sf_state::machine_reset()
{
- sf_state *state = machine.driver_data<sf_state>();
- state->m_sf_active = 0;
- state->m_bgscroll = 0;
- state->m_fgscroll = 0;
+ m_sf_active = 0;
+ m_bgscroll = 0;
+ m_fgscroll = 0;
}
static MACHINE_CONFIG_START( sf, sf_state )
@@ -846,8 +844,6 @@ static MACHINE_CONFIG_START( sf, sf_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
/* NMIs are caused by the main CPU */
- MCFG_MACHINE_START(sf)
- MCFG_MACHINE_RESET(sf)
MCFG_CPU_ADD("audio2", Z80, 3579545) /* ? xtal is 3.579545MHz */
MCFG_CPU_PROGRAM_MAP(sound2_map)
@@ -865,7 +861,6 @@ static MACHINE_CONFIG_START( sf, sf_state )
MCFG_GFXDECODE(sf)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(sf)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/sfbonus.c b/src/mame/drivers/sfbonus.c
index d78d2437ed7..dce17be86a0 100644
--- a/src/mame/drivers/sfbonus.c
+++ b/src/mame/drivers/sfbonus.c
@@ -451,6 +451,8 @@ public:
TILE_GET_INFO_MEMBER(get_sfbonus_reel2_tile_info);
TILE_GET_INFO_MEMBER(get_sfbonus_reel3_tile_info);
TILE_GET_INFO_MEMBER(get_sfbonus_reel4_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -895,29 +897,28 @@ WRITE8_MEMBER(sfbonus_state::sfbonus_videoram_w)
-static VIDEO_START(sfbonus)
+void sfbonus_state::video_start()
{
- sfbonus_state *state = machine.driver_data<sfbonus_state>();
- state->m_temp_reel_bitmap = auto_bitmap_ind16_alloc(machine,1024,512);
+ m_temp_reel_bitmap = auto_bitmap_ind16_alloc(machine(),1024,512);
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 128, 64);
- state->m_reel_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
- state->m_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel4_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 128, 64);
+ m_reel_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 16);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 16);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 16);
+ m_reel4_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel4_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 16);
- state->m_tilemap->set_transparent_pen(0);
- state->m_reel_tilemap->set_transparent_pen(255);
- state->m_reel2_tilemap->set_transparent_pen(255);
- state->m_reel3_tilemap->set_transparent_pen(255);
- state->m_reel4_tilemap->set_transparent_pen(255);
+ m_tilemap->set_transparent_pen(0);
+ m_reel_tilemap->set_transparent_pen(255);
+ m_reel2_tilemap->set_transparent_pen(255);
+ m_reel3_tilemap->set_transparent_pen(255);
+ m_reel4_tilemap->set_transparent_pen(255);
- state->m_tilemap->set_scroll_rows(64);
+ m_tilemap->set_scroll_rows(64);
- state->m_reel_tilemap->set_scroll_cols(64);
- state->m_reel2_tilemap->set_scroll_cols(64);
- state->m_reel3_tilemap->set_scroll_cols(64);
- state->m_reel4_tilemap->set_scroll_cols(64);
+ m_reel_tilemap->set_scroll_cols(64);
+ m_reel2_tilemap->set_scroll_cols(64);
+ m_reel3_tilemap->set_scroll_cols(64);
+ m_reel4_tilemap->set_scroll_cols(64);
}
@@ -1336,11 +1337,11 @@ static GFXDECODE_START( sfbonus )
GFXDECODE_END
-static MACHINE_RESET( sfbonus )
+void sfbonus_state::machine_reset()
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->set_base(&ROM[0]);
+ machine().root_device().membank("bank1")->set_base(&ROM[0]);
}
@@ -1361,7 +1362,6 @@ static MACHINE_CONFIG_START( sfbonus, sfbonus_state )
MCFG_CPU_VBLANK_INT("screen",irq0_line_hold)
//MCFG_CPU_PERIODIC_INT(nmi_line_pulse,100)
- MCFG_MACHINE_RESET( sfbonus )
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -1378,7 +1378,6 @@ static MACHINE_CONFIG_START( sfbonus, sfbonus_state )
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
- MCFG_VIDEO_START(sfbonus)
/* Parrot 3 seems fine at 1 Mhz, but Double Challenge isn't? */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sfcbox.c b/src/mame/drivers/sfcbox.c
index 1fc3327e1c4..5d1a041a169 100644
--- a/src/mame/drivers/sfcbox.c
+++ b/src/mame/drivers/sfcbox.c
@@ -148,6 +148,8 @@ public:
DECLARE_WRITE8_MEMBER( port_83_w );
DECLARE_WRITE8_MEMBER( snes_map_0_w );
DECLARE_WRITE8_MEMBER( snes_map_1_w );
+ DECLARE_MACHINE_START(sfcbox);
+ DECLARE_MACHINE_RESET(sfcbox);
};
UINT32 sfcbox_state::screen_update( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect )
@@ -462,24 +464,22 @@ static MACHINE_CONFIG_START( snes, sfcbox_state )
MACHINE_CONFIG_END
-static MACHINE_START( sfcbox )
+MACHINE_START_MEMBER(sfcbox_state,sfcbox)
{
- sfcbox_state *state = machine.driver_data<sfcbox_state>();
- MACHINE_START_CALL(snes);
+ MACHINE_START_CALL_LEGACY(snes);
- state->m_is_sfcbox = 1;
+ m_is_sfcbox = 1;
}
-static MACHINE_RESET( sfcbox )
+MACHINE_RESET_MEMBER(sfcbox_state,sfcbox)
{
- sfcbox_state *state = machine.driver_data<sfcbox_state>();
- MACHINE_RESET_CALL( snes );
+ MACHINE_RESET_CALL_LEGACY( snes );
/* start with both CPUs disabled */
- state->m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- state->m_soundcpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_soundcpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
static MACHINE_CONFIG_DERIVED( sfcbox, snes )
@@ -491,8 +491,8 @@ static MACHINE_CONFIG_DERIVED( sfcbox, snes )
MCFG_MB90082_ADD("mb90082",XTAL_12MHz / 2) /* TODO: correct clock */
MCFG_S3520CF_ADD("s3520cf") /* RTC */
- MCFG_MACHINE_START( sfcbox )
- MCFG_MACHINE_RESET( sfcbox )
+ MCFG_MACHINE_START_OVERRIDE(sfcbox_state, sfcbox )
+ MCFG_MACHINE_RESET_OVERRIDE(sfcbox_state, sfcbox )
/* TODO: the screen should actually superimpose, but for the time being let's just separate outputs */
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mame/drivers/sfkick.c b/src/mame/drivers/sfkick.c
index bfbe154cb9d..d192f4c4ba5 100644
--- a/src/mame/drivers/sfkick.c
+++ b/src/mame/drivers/sfkick.c
@@ -78,6 +78,7 @@ public:
DECLARE_WRITE8_MEMBER(ppi_port_a_w);
DECLARE_WRITE8_MEMBER(ppi_port_c_w);
DECLARE_DRIVER_INIT(sfkick);
+ virtual void machine_reset();
};
@@ -434,19 +435,18 @@ static void sfkick_vdp_interrupt(device_t *, v99x8_device &device, int i)
device.machine().device("maincpu")->execute().set_input_line(0, (i ? HOLD_LINE : CLEAR_LINE));
}
-static MACHINE_RESET(sfkick)
+void sfkick_state::machine_reset()
{
- sfkick_state *state = machine.driver_data<sfkick_state>();
- state->m_bank_cfg=0;
- state->m_bank[0]=0;
- state->m_bank[1]=0;
- state->m_bank[2]=0;
- state->m_bank[3]=0;
- state->m_bank[4]=0;
- state->m_bank[5]=0;
- state->m_bank[6]=0;
- state->m_bank[7]=0;
- sfkick_remap_banks(machine);
+ m_bank_cfg=0;
+ m_bank[0]=0;
+ m_bank[1]=0;
+ m_bank[2]=0;
+ m_bank[3]=0;
+ m_bank[4]=0;
+ m_bank[5]=0;
+ m_bank[6]=0;
+ m_bank[7]=0;
+ sfkick_remap_banks(machine());
}
static TIMER_DEVICE_CALLBACK( sfkick_interrupt )
@@ -497,7 +497,6 @@ static MACHINE_CONFIG_START( sfkick, sfkick_state )
MCFG_I8255A_ADD( "ppi8255", ppi8255_intf )
- MCFG_MACHINE_RESET(sfkick)
MCFG_PALETTE_INIT( v9938 )
diff --git a/src/mame/drivers/shadfrce.c b/src/mame/drivers/shadfrce.c
index 18333a8c057..fe304919b97 100644
--- a/src/mame/drivers/shadfrce.c
+++ b/src/mame/drivers/shadfrce.c
@@ -571,7 +571,6 @@ static MACHINE_CONFIG_START( shadfrce, shadfrce_state )
MCFG_GFXDECODE(shadfrce)
MCFG_PALETTE_LENGTH(0x4000)
- MCFG_VIDEO_START(shadfrce)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/shangha3.c b/src/mame/drivers/shangha3.c
index 557f7192c2c..a28e7d0492b 100644
--- a/src/mame/drivers/shangha3.c
+++ b/src/mame/drivers/shangha3.c
@@ -486,7 +486,6 @@ static MACHINE_CONFIG_START( shangha3, shangha3_state )
MCFG_GFXDECODE(shangha3)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(shangha3)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -524,7 +523,6 @@ static MACHINE_CONFIG_START( heberpop, shangha3_state )
MCFG_GFXDECODE(shangha3)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(shangha3)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -563,7 +561,6 @@ static MACHINE_CONFIG_START( blocken, shangha3_state )
MCFG_GFXDECODE(shangha3)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(shangha3)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/shanghai.c b/src/mame/drivers/shanghai.c
index e7e46e82537..69c782d0c3d 100644
--- a/src/mame/drivers/shanghai.c
+++ b/src/mame/drivers/shanghai.c
@@ -36,15 +36,17 @@ public:
DECLARE_WRITE16_MEMBER(shanghai_coin_w);
DECLARE_READ16_MEMBER(kothello_hd63484_status_r);
+ virtual void video_start();
+ DECLARE_PALETTE_INIT(shanghai);
};
-static PALETTE_INIT( shanghai )
+PALETTE_INIT_MEMBER(shanghai_state,shanghai)
{
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -65,11 +67,11 @@ static PALETTE_INIT( shanghai )
bit2 = (i >> 1) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
-static VIDEO_START( shanghai )
+void shanghai_state::video_start()
{
}
@@ -453,8 +455,7 @@ static MACHINE_CONFIG_START( shanghai, shanghai_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(shanghai)
- MCFG_VIDEO_START(shanghai)
+ MCFG_PALETTE_INIT_OVERRIDE(shanghai_state,shanghai)
MCFG_HD63484_ADD("hd63484", shanghai_hd63484_intf)
@@ -487,7 +488,6 @@ static MACHINE_CONFIG_START( shangha2, shanghai_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(shanghai)
MCFG_HD63484_ADD("hd63484", shanghai_hd63484_intf)
@@ -525,7 +525,6 @@ static MACHINE_CONFIG_START( kothello, shanghai_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(shanghai)
MCFG_HD63484_ADD("hd63484", shanghai_hd63484_intf)
diff --git a/src/mame/drivers/shangkid.c b/src/mame/drivers/shangkid.c
index a6f21f42961..e33ce38559c 100644
--- a/src/mame/drivers/shangkid.c
+++ b/src/mame/drivers/shangkid.c
@@ -135,17 +135,17 @@ DRIVER_INIT_MEMBER(shangkid_state,shangkid)
/***************************************************************************************/
-static MACHINE_RESET( chinhero )
+MACHINE_RESET_MEMBER(shangkid_state,chinhero)
{
- machine.device("bbx")->execute().set_input_line(INPUT_LINE_HALT, 1 );
+ machine().device("bbx")->execute().set_input_line(INPUT_LINE_HALT, 1 );
}
-static MACHINE_RESET( shangkid )
+MACHINE_RESET_MEMBER(shangkid_state,shangkid)
{
- machine.device("bbx")->execute().set_input_line(INPUT_LINE_HALT, 1 );
+ machine().device("bbx")->execute().set_input_line(INPUT_LINE_HALT, 1 );
- machine.root_device().membank("bank1")->set_entry(0);
- machine.root_device().membank("bank2")->set_entry(0);
+ machine().root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank2")->set_entry(0);
}
/***************************************************************************************/
@@ -374,7 +374,7 @@ static MACHINE_CONFIG_START( chinhero, shangkid_state )
MCFG_CPU_PROGRAM_MAP(chinhero_sound_map)
MCFG_CPU_IO_MAP(sound_portmap)
- MCFG_MACHINE_RESET(chinhero)
+ MCFG_MACHINE_RESET_OVERRIDE(shangkid_state,chinhero)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -390,7 +390,7 @@ static MACHINE_CONFIG_START( chinhero, shangkid_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(shangkid)
+ MCFG_VIDEO_START_OVERRIDE(shangkid_state,shangkid)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -417,7 +417,7 @@ static MACHINE_CONFIG_DERIVED( shangkid, chinhero )
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(shangkid_sound_map)
- MCFG_MACHINE_RESET(shangkid)
+ MCFG_MACHINE_RESET_OVERRIDE(shangkid_state,shangkid)
/* video hardware */
MCFG_GFXDECODE(shangkid)
@@ -468,7 +468,7 @@ static MACHINE_CONFIG_START( dynamski, shangkid_state )
MCFG_GFXDECODE(dynamski)
MCFG_PALETTE_LENGTH(16*4+16*4)
- MCFG_PALETTE_INIT(dynamski)
+ MCFG_PALETTE_INIT_OVERRIDE(shangkid_state,dynamski)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/shaolins.c b/src/mame/drivers/shaolins.c
index e7e735a357e..755213a7d33 100644
--- a/src/mame/drivers/shaolins.c
+++ b/src/mame/drivers/shaolins.c
@@ -220,8 +220,6 @@ static MACHINE_CONFIG_START( shaolins, shaolins_state )
MCFG_GFXDECODE(shaolins)
MCFG_PALETTE_LENGTH(16*8*16+16*8*16)
- MCFG_PALETTE_INIT(shaolins)
- MCFG_VIDEO_START(shaolins)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/shisen.c b/src/mame/drivers/shisen.c
index 1a398ddba02..0f30e42f8d7 100644
--- a/src/mame/drivers/shisen.c
+++ b/src/mame/drivers/shisen.c
@@ -233,7 +233,6 @@ static MACHINE_CONFIG_START( shisen, shisen_state )
MCFG_GFXDECODE(shisen)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(sichuan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/shootout.c b/src/mame/drivers/shootout.c
index f0b407387ae..00810833463 100644
--- a/src/mame/drivers/shootout.c
+++ b/src/mame/drivers/shootout.c
@@ -281,8 +281,6 @@ static MACHINE_CONFIG_START( shootout, shootout_state )
MCFG_GFXDECODE(shootout)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(shootout)
- MCFG_VIDEO_START(shootout)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -310,8 +308,6 @@ static MACHINE_CONFIG_START( shootouj, shootout_state )
MCFG_GFXDECODE(shootout)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(shootout)
- MCFG_VIDEO_START(shootout)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/shougi.c b/src/mame/drivers/shougi.c
index 94bb6e9337b..8750846ecaf 100644
--- a/src/mame/drivers/shougi.c
+++ b/src/mame/drivers/shougi.c
@@ -110,6 +110,7 @@ public:
DECLARE_WRITE8_MEMBER(nmi_disable_and_clear_line_w);
DECLARE_WRITE8_MEMBER(nmi_enable_w);
DECLARE_READ8_MEMBER(dummy_r);
+ virtual void palette_init();
};
@@ -131,9 +132,9 @@ public:
***************************************************************************/
-static PALETTE_INIT( shougi )
+void shougi_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const int resistances_b[2] = { 470, 220 };
static const int resistances_rg[3] = { 1000, 470, 220 };
@@ -145,7 +146,7 @@ static PALETTE_INIT( shougi )
3, resistances_rg, weights_g, 1000, 0,
2, resistances_b, weights_b, 1000, 0);
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -166,7 +167,7 @@ static PALETTE_INIT( shougi )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -428,7 +429,6 @@ static MACHINE_CONFIG_START( shougi, shougi_state )
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(shougi)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/shtzone.c b/src/mame/drivers/shtzone.c
index 873af4d301a..5abce8b90eb 100644
--- a/src/mame/drivers/shtzone.c
+++ b/src/mame/drivers/shtzone.c
@@ -55,6 +55,9 @@ class shtzone_state : public driver_device
public:
shtzone_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
static ADDRESS_MAP_START( shtzone_map, AS_PROGRAM, 8, shtzone_state )
@@ -67,17 +70,17 @@ static INPUT_PORTS_START( shtzone )
INPUT_PORTS_END
-static MACHINE_START( shtzone )
+void shtzone_state::machine_start()
{
}
-static MACHINE_RESET( shtzone )
+void shtzone_state::machine_reset()
{
}
-VIDEO_START( shtzone )
+void shtzone_state::video_start()
{
}
@@ -98,8 +101,6 @@ static MACHINE_CONFIG_START( shtzone, shtzone_state )
/* + SMS CPU */
- MCFG_MACHINE_START(shtzone)
- MCFG_MACHINE_RESET(shtzone)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -111,7 +112,6 @@ static MACHINE_CONFIG_START( shtzone, shtzone_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(shtzone)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/shuuz.c b/src/mame/drivers/shuuz.c
index 529117ecb2e..3dc37b10902 100644
--- a/src/mame/drivers/shuuz.c
+++ b/src/mame/drivers/shuuz.c
@@ -64,19 +64,18 @@ WRITE16_MEMBER(shuuz_state::shuuz_atarivc_w)
*
*************************************/
-static MACHINE_START( shuuz )
+MACHINE_START_MEMBER(shuuz_state,shuuz)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( shuuz )
+MACHINE_RESET_MEMBER(shuuz_state,shuuz)
{
- shuuz_state *state = machine.driver_data<shuuz_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarivc_reset(*machine.primary_screen, state->m_atarivc_eof_data, 1);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 1);
}
@@ -264,8 +263,8 @@ static MACHINE_CONFIG_START( shuuz, shuuz_state )
MCFG_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(shuuz)
- MCFG_MACHINE_RESET(shuuz)
+ MCFG_MACHINE_START_OVERRIDE(shuuz_state,shuuz)
+ MCFG_MACHINE_RESET_OVERRIDE(shuuz_state,shuuz)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -279,7 +278,7 @@ static MACHINE_CONFIG_START( shuuz, shuuz_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(shuuz)
- MCFG_VIDEO_START(shuuz)
+ MCFG_VIDEO_START_OVERRIDE(shuuz_state,shuuz)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c
index d7aedd8c023..bda44df88bb 100644
--- a/src/mame/drivers/sidearms.c
+++ b/src/mame/drivers/sidearms.c
@@ -676,7 +676,6 @@ static MACHINE_CONFIG_START( sidearms, sidearms_state )
MCFG_GFXDECODE(sidearms)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(sidearms)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -720,7 +719,6 @@ static MACHINE_CONFIG_START( turtship, sidearms_state )
MCFG_GFXDECODE(turtship)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(sidearms)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -767,7 +765,6 @@ static MACHINE_CONFIG_START( whizz, sidearms_state )
MCFG_GFXDECODE(turtship)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(sidearms)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sidepckt.c b/src/mame/drivers/sidepckt.c
index 69a5fb32b8e..8b78ab63a11 100644
--- a/src/mame/drivers/sidepckt.c
+++ b/src/mame/drivers/sidepckt.c
@@ -407,8 +407,6 @@ static MACHINE_CONFIG_START( sidepckt, sidepckt_state )
MCFG_GFXDECODE(sidepckt)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(sidepckt)
- MCFG_VIDEO_START(sidepckt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sigmab52.c b/src/mame/drivers/sigmab52.c
index fd47b804ab2..230d7634018 100644
--- a/src/mame/drivers/sigmab52.c
+++ b/src/mame/drivers/sigmab52.c
@@ -146,6 +146,9 @@ public:
DECLARE_WRITE8_MEMBER(unk_f710_w);
DECLARE_READ8_MEMBER(unk_f721_r);
DECLARE_DRIVER_INIT(jwildb52);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -156,7 +159,7 @@ public:
*************************/
-static VIDEO_START( jwildb52 )
+void sigmab52_state::video_start()
{
}
@@ -230,7 +233,7 @@ if (!screen.machine().input().code_pressed(KEYCODE_O))
}
-static PALETTE_INIT( jwildb52 )
+void sigmab52_state::palette_init()
{
}
@@ -541,13 +544,13 @@ static INTERRUPT_GEN( timer_irq )
* Machine Start *
*************************/
-static MACHINE_START(jwildb52)
+void sigmab52_state::machine_start()
{
- machine.root_device().membank("bank1")->set_base(&machine.root_device().memregion("maincpu")->base()[0x10000 + 0x0000]);
+ machine().root_device().membank("bank1")->set_base(&machine().root_device().memregion("maincpu")->base()[0x10000 + 0x0000]);
- machine.root_device().membank("bank2")->set_base(&machine.root_device().memregion("maincpu")->base()[0x10000 + 0xf800]);
+ machine().root_device().membank("bank2")->set_base(&machine().root_device().memregion("maincpu")->base()[0x10000 + 0xf800]);
- machine.root_device().membank("bank3")->set_base(&machine.root_device().memregion("maincpu")->base()[0x10000 + 0x8000]);
+ machine().root_device().membank("bank3")->set_base(&machine().root_device().memregion("maincpu")->base()[0x10000 + 0x8000]);
/*
@@ -561,10 +564,10 @@ static MACHINE_START(jwildb52)
*/
{
- UINT16 *rom = (UINT16*)machine.root_device().memregion("gfx1")->base();
+ UINT16 *rom = (UINT16*)machine().root_device().memregion("gfx1")->base();
int i;
- device_t *hd63484 = machine.device("hd63484");
+ device_t *hd63484 = machine().device("hd63484");
for(i = 0; i < 0x40000/2; ++i)
{
@@ -594,7 +597,6 @@ static MACHINE_CONFIG_START( jwildb52, sigmab52_state )
MCFG_CPU_PERIODIC_INT(timer_irq, 1000) /* Fix me */
#endif
- MCFG_MACHINE_START(jwildb52)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(30)
@@ -605,10 +607,8 @@ static MACHINE_CONFIG_START( jwildb52, sigmab52_state )
MCFG_HD63484_ADD("hd63484", jwildb52_hd63484_intf)
- MCFG_PALETTE_INIT(jwildb52)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(jwildb52)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c
index 9851970e46c..45a1e0be29b 100644
--- a/src/mame/drivers/sigmab98.c
+++ b/src/mame/drivers/sigmab98.c
@@ -174,6 +174,7 @@ public:
DECLARE_DRIVER_INIT(animalc);
DECLARE_DRIVER_INIT(ucytokyu);
DECLARE_DRIVER_INIT(haekaka);
+ DECLARE_MACHINE_RESET(sammymdl);
};
@@ -1741,9 +1742,9 @@ static const eeprom_interface eeprom_interface_93C46_8bit_delay =
// "*10010xxxx" // erase all 1 00 10xxxx
};
-static MACHINE_RESET( sammymdl )
+MACHINE_RESET_MEMBER(sigmab98_state,sammymdl)
{
- machine.device("maincpu")->state().set_state_int(Z80_PC, 0x400); // code starts at 400 ??? (000 = cart header)
+ machine().device("maincpu")->state().set_state_int(Z80_PC, 0x400); // code starts at 400 ??? (000 = cart header)
}
static MACHINE_CONFIG_START( sammymdl, sigmab98_state )
@@ -1751,7 +1752,7 @@ static MACHINE_CONFIG_START( sammymdl, sigmab98_state )
MCFG_CPU_PROGRAM_MAP( animalc_map )
MCFG_CPU_IO_MAP( animalc_io )
- MCFG_MACHINE_RESET( sammymdl )
+ MCFG_MACHINE_RESET_OVERRIDE(sigmab98_state, sammymdl )
MCFG_NVRAM_ADD_0FILL("nvram") // battery
MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C46_8bit_delay)
diff --git a/src/mame/drivers/silkroad.c b/src/mame/drivers/silkroad.c
index aa0bc0abe02..8cfb8322d21 100644
--- a/src/mame/drivers/silkroad.c
+++ b/src/mame/drivers/silkroad.c
@@ -296,7 +296,6 @@ static MACHINE_CONFIG_START( silkroad, silkroad_state )
MCFG_GFXDECODE(silkroad)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(silkroad)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/silvmil.c b/src/mame/drivers/silvmil.c
index 8b62dc5193a..f6750e63438 100644
--- a/src/mame/drivers/silvmil.c
+++ b/src/mame/drivers/silvmil.c
@@ -108,6 +108,9 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILEMAP_MAPPER_MEMBER(deco16_scan_rows);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -137,13 +140,12 @@ TILEMAP_MAPPER_MEMBER(silvmil_state::deco16_scan_rows)
return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 5) + ((row & 0x20) << 6);
}
-VIDEO_START( silvmil )
+void silvmil_state::video_start()
{
- silvmil_state *state = machine.driver_data<silvmil_state>();
- state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silvmil_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(silvmil_state::deco16_scan_rows),state), 16, 16, 64, 32);
- state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silvmil_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(silvmil_state::deco16_scan_rows),state), 16, 16, 64, 32);
+ m_bg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(silvmil_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(silvmil_state::deco16_scan_rows),this), 16, 16, 64, 32);
+ m_fg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(silvmil_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(silvmil_state::deco16_scan_rows),this), 16, 16, 64, 32);
- state->m_fg_layer->set_transparent_pen(0);
+ m_fg_layer->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16( silvmil )
@@ -273,19 +275,18 @@ static GFXDECODE_START( silvmil )
GFXDECODE_END
-static MACHINE_START( silvmil )
+void silvmil_state::machine_start()
{
}
-static MACHINE_RESET( silvmil )
+void silvmil_state::machine_reset()
{
- silvmil_state *state = machine.driver_data<silvmil_state>();
- state->m_silvmil_tilebank[0] = 0;
- state->m_silvmil_tilebank[1] = 0;
- state->m_silvmil_tilebank[2] = 0;
- state->m_silvmil_tilebank[3] = 0;
- state->m_whichbank = 0;
+ m_silvmil_tilebank[0] = 0;
+ m_silvmil_tilebank[1] = 0;
+ m_silvmil_tilebank[2] = 0;
+ m_silvmil_tilebank[3] = 0;
+ m_whichbank = 0;
}
@@ -322,8 +323,6 @@ static MACHINE_CONFIG_START( silvmil, silvmil_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_4_096MHz) // 4.096MHz or 3.579545MHz - Need to verify
MCFG_CPU_PROGRAM_MAP(silvmil_sound_map)
- MCFG_MACHINE_START(silvmil)
- MCFG_MACHINE_RESET(silvmil)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -336,7 +335,6 @@ static MACHINE_CONFIG_START( silvmil, silvmil_state )
MCFG_PALETTE_LENGTH(0x300)
MCFG_GFXDECODE(silvmil)
- MCFG_VIDEO_START(silvmil)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 0);
diff --git a/src/mame/drivers/simpl156.c b/src/mame/drivers/simpl156.c
index 8444b979717..6f8d5f671d7 100644
--- a/src/mame/drivers/simpl156.c
+++ b/src/mame/drivers/simpl156.c
@@ -439,7 +439,6 @@ static MACHINE_CONFIG_START( chainrec, simpl156_state )
MCFG_PALETTE_LENGTH(4096)
MCFG_GFXDECODE(simpl156)
- MCFG_VIDEO_START(simpl156)
MCFG_DECO16IC_ADD("tilegen1", simpl156_deco16ic_tilegen1_intf)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
diff --git a/src/mame/drivers/simpsons.c b/src/mame/drivers/simpsons.c
index 94acce240ce..6117be53195 100644
--- a/src/mame/drivers/simpsons.c
+++ b/src/mame/drivers/simpsons.c
@@ -315,8 +315,6 @@ static MACHINE_CONFIG_START( simpsons, simpsons_state )
MCFG_CPU_PROGRAM_MAP(z80_map)
/* NMIs are generated by the 053260 */
- MCFG_MACHINE_START(simpsons)
- MCFG_MACHINE_RESET(simpsons)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
diff --git a/src/mame/drivers/skeetsht.c b/src/mame/drivers/skeetsht.c
index 913eb226213..940aa1fcb8e 100644
--- a/src/mame/drivers/skeetsht.c
+++ b/src/mame/drivers/skeetsht.c
@@ -40,6 +40,8 @@ public:
DECLARE_READ8_MEMBER(hc11_porta_r);
DECLARE_WRITE8_MEMBER(hc11_porta_w);
DECLARE_WRITE8_MEMBER(ay8910_w);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -49,12 +51,11 @@ public:
*
*************************************/
-static MACHINE_RESET( skeetsht )
+void skeetsht_state::machine_reset()
{
- skeetsht_state *state = machine.driver_data<skeetsht_state>();
- state->m_ay = machine.device("aysnd");
- state->m_tms = machine.device("tms");
+ m_ay = machine().device("aysnd");
+ m_tms = machine().device("tms");
}
@@ -64,7 +65,7 @@ static MACHINE_RESET( skeetsht )
*
*************************************/
-static VIDEO_START ( skeetsht )
+void skeetsht_state::video_start()
{
}
@@ -263,7 +264,6 @@ static MACHINE_CONFIG_START( skeetsht, skeetsht_state )
MCFG_CPU_CONFIG(tms_config)
MCFG_CPU_PROGRAM_MAP(tms_program_map)
- MCFG_MACHINE_RESET(skeetsht)
MCFG_TLC34076_ADD("tlc34076", tlc34076_6_bit_intf)
@@ -271,7 +271,6 @@ static MACHINE_CONFIG_START( skeetsht, skeetsht_state )
MCFG_SCREEN_RAW_PARAMS(48000000 / 8, 156*4, 0, 100*4, 328, 0, 300) // FIXME
MCFG_SCREEN_UPDATE_STATIC(tms340x0_rgb32)
- MCFG_VIDEO_START(skeetsht)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/skimaxx.c b/src/mame/drivers/skimaxx.c
index 1af0fb80ce5..63a9164d9a3 100644
--- a/src/mame/drivers/skimaxx.c
+++ b/src/mame/drivers/skimaxx.c
@@ -71,6 +71,8 @@ public:
DECLARE_WRITE32_MEMBER(skimaxx_unk1_w);
DECLARE_WRITE32_MEMBER(skimaxx_sub_ctrl_w);
DECLARE_READ32_MEMBER(skimaxx_analog_r);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -135,17 +137,16 @@ READ32_MEMBER(skimaxx_state::skimaxx_blitter_r)
}
-static VIDEO_START( skimaxx )
+void skimaxx_state::video_start()
{
- skimaxx_state *state = machine.driver_data<skimaxx_state>();
- state->m_blitter_gfx = (UINT16 *) state->memregion( "blitter" )->base();
- state->m_blitter_gfx_len = state->memregion( "blitter" )->bytes() / 2;
-
- state->m_bg_buffer = auto_alloc_array(machine, UINT32, 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * 2); // 2 buffers
- state->m_bg_buffer_back = state->m_bg_buffer + 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * 0;
- state->m_bg_buffer_front = state->m_bg_buffer + 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * 1;
- state->membank("bank1")->configure_entry(0, state->m_bg_buffer_back);
- state->membank("bank1")->configure_entry(1, state->m_bg_buffer_front);
+ m_blitter_gfx = (UINT16 *) memregion( "blitter" )->base();
+ m_blitter_gfx_len = memregion( "blitter" )->bytes() / 2;
+
+ m_bg_buffer = auto_alloc_array(machine(), UINT32, 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * 2); // 2 buffers
+ m_bg_buffer_back = m_bg_buffer + 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * 0;
+ m_bg_buffer_front = m_bg_buffer + 0x400 * 0x100 * sizeof(UINT16) / sizeof(UINT32) * 1;
+ membank("bank1")->configure_entry(0, m_bg_buffer_back);
+ membank("bank1")->configure_entry(1, m_bg_buffer_front);
}
static SCREEN_UPDATE_IND16( skimaxx )
@@ -509,7 +510,7 @@ static const tms34010_config tms_config =
*
*************************************/
-static MACHINE_RESET( skimaxx )
+void skimaxx_state::machine_reset()
{
}
@@ -528,7 +529,6 @@ static MACHINE_CONFIG_START( skimaxx, skimaxx_state )
MCFG_CPU_ADD("subcpu", M68EC030, XTAL_40MHz)
MCFG_CPU_PROGRAM_MAP(68030_2_map)
- MCFG_MACHINE_RESET(skimaxx)
/* video hardware */
MCFG_CPU_ADD("tms", TMS34010, XTAL_50MHz)
@@ -544,7 +544,6 @@ static MACHINE_CONFIG_START( skimaxx, skimaxx_state )
// MCFG_SCREEN_UPDATE_STATIC(tms340x0_ind16)
MCFG_SCREEN_UPDATE_STATIC(skimaxx)
- MCFG_VIDEO_START(skimaxx)
// MCFG_GFXDECODE( skimaxx )
diff --git a/src/mame/drivers/skullxbo.c b/src/mame/drivers/skullxbo.c
index d4ee54d807e..2aaaed51ac9 100644
--- a/src/mame/drivers/skullxbo.c
+++ b/src/mame/drivers/skullxbo.c
@@ -71,19 +71,18 @@ WRITE16_MEMBER(skullxbo_state::skullxbo_halt_until_hblank_0_w)
}
-static MACHINE_START( skullxbo )
+MACHINE_START_MEMBER(skullxbo_state,skullxbo)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( skullxbo )
+MACHINE_RESET_MEMBER(skullxbo_state,skullxbo)
{
- skullxbo_state *state = machine.driver_data<skullxbo_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, alpha_row_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, alpha_row_update, 8);
atarijsa_reset();
}
@@ -260,8 +259,8 @@ static MACHINE_CONFIG_START( skullxbo, skullxbo_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(skullxbo)
- MCFG_MACHINE_RESET(skullxbo)
+ MCFG_MACHINE_START_OVERRIDE(skullxbo_state,skullxbo)
+ MCFG_MACHINE_RESET_OVERRIDE(skullxbo_state,skullxbo)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -275,7 +274,7 @@ static MACHINE_CONFIG_START( skullxbo, skullxbo_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz, 456*2, 0, 336*2, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(skullxbo)
- MCFG_VIDEO_START(skullxbo)
+ MCFG_VIDEO_START_OVERRIDE(skullxbo_state,skullxbo)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono)
diff --git a/src/mame/drivers/skyarmy.c b/src/mame/drivers/skyarmy.c
index 3d5b1c36591..39092d25f0c 100644
--- a/src/mame/drivers/skyarmy.c
+++ b/src/mame/drivers/skyarmy.c
@@ -51,6 +51,8 @@ public:
DECLARE_WRITE8_MEMBER(skyarmy_colorram_w);
DECLARE_WRITE8_MEMBER(nmi_enable_w);
TILE_GET_INFO_MEMBER(get_skyarmy_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
WRITE8_MEMBER(skyarmy_state::skyarmy_flip_screen_x_w)
@@ -85,9 +87,9 @@ WRITE8_MEMBER(skyarmy_state::skyarmy_colorram_w)
m_tilemap->mark_tile_dirty(offset);
}
-static PALETTE_INIT( skyarmy )
+void skyarmy_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0;i < 32;i++)
@@ -109,17 +111,16 @@ static PALETTE_INIT( skyarmy )
bit2 = (*color_prom >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
-static VIDEO_START( skyarmy )
+void skyarmy_state::video_start()
{
- skyarmy_state *state = machine.driver_data<skyarmy_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skyarmy_state::get_skyarmy_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tilemap->set_scroll_cols(32);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skyarmy_state::get_skyarmy_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tilemap->set_scroll_cols(32);
}
@@ -297,8 +298,6 @@ static MACHINE_CONFIG_START( skyarmy, skyarmy_state )
MCFG_GFXDECODE(skyarmy)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(skyarmy)
- MCFG_VIDEO_START(skyarmy)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/skydiver.c b/src/mame/drivers/skydiver.c
index 8ee983c60c9..fc374cd0c15 100644
--- a/src/mame/drivers/skydiver.c
+++ b/src/mame/drivers/skydiver.c
@@ -110,7 +110,7 @@ static const int colortable_source[] =
0x01, 0x02
};
-static PALETTE_INIT( skydiver )
+void skydiver_state::palette_init()
{
int i;
@@ -125,7 +125,7 @@ static PALETTE_INIT( skydiver )
default: color = MAKE_RGB(0xa0, 0xa0, 0xa0); break; /* grey */
}
- palette_set_color(machine, i, color);
+ palette_set_color(machine(), i, color);
}
}
@@ -380,7 +380,6 @@ static MACHINE_CONFIG_START( skydiver, skydiver_state )
MCFG_CPU_PERIODIC_INT(skydiver_interrupt, 5*60)
MCFG_WATCHDOG_VBLANK_INIT(8) // 128V clocks the same as VBLANK
- MCFG_MACHINE_RESET(skydiver)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -393,8 +392,6 @@ static MACHINE_CONFIG_START( skydiver, skydiver_state )
MCFG_GFXDECODE(skydiver)
MCFG_PALETTE_LENGTH(sizeof(colortable_source) / sizeof(colortable_source[0]))
- MCFG_PALETTE_INIT(skydiver)
- MCFG_VIDEO_START(skydiver)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/skyfox.c b/src/mame/drivers/skyfox.c
index 5ee9910cb7e..ba651450f51 100644
--- a/src/mame/drivers/skyfox.c
+++ b/src/mame/drivers/skyfox.c
@@ -219,22 +219,20 @@ static INTERRUPT_GEN( skyfox_interrupt )
state->m_bg_pos += (state->m_bg_ctrl >> 1) & 0x7; // maybe..
}
-static MACHINE_START( skyfox )
+void skyfox_state::machine_start()
{
- skyfox_state *state = machine.driver_data<skyfox_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_bg_pos));
- state->save_item(NAME(state->m_bg_ctrl));
+ save_item(NAME(m_bg_pos));
+ save_item(NAME(m_bg_ctrl));
}
-static MACHINE_RESET( skyfox )
+void skyfox_state::machine_reset()
{
- skyfox_state *state = machine.driver_data<skyfox_state>();
- state->m_bg_pos = 0;
- state->m_bg_ctrl = 0;
+ m_bg_pos = 0;
+ m_bg_ctrl = 0;
}
static MACHINE_CONFIG_START( skyfox, skyfox_state )
@@ -247,8 +245,6 @@ static MACHINE_CONFIG_START( skyfox, skyfox_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/8) /* Verified at 1.789772MHz */
MCFG_CPU_PROGRAM_MAP(skyfox_sound_map)
- MCFG_MACHINE_START(skyfox)
- MCFG_MACHINE_RESET(skyfox)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -261,7 +257,6 @@ static MACHINE_CONFIG_START( skyfox, skyfox_state )
MCFG_GFXDECODE(skyfox)
MCFG_PALETTE_LENGTH(256+256) /* 256 static colors (+256 for the background??) */
- MCFG_PALETTE_INIT(skyfox)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c
index 79b7f0ce235..4d9488ae873 100644
--- a/src/mame/drivers/skykid.c
+++ b/src/mame/drivers/skykid.c
@@ -88,13 +88,12 @@ WRITE8_MEMBER(skykid_state::skykid_irq_2_ctrl_w)
machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
}
-static MACHINE_START( skykid )
+void skykid_state::machine_start()
{
- skykid_state *state = machine.driver_data<skykid_state>();
/* configure the banks */
- state->membank("bank1")->configure_entries(0, 2, state->memregion("maincpu")->base() + 0x10000, 0x2000);
+ membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x10000, 0x2000);
- state_save_register_global(machine, state->m_inputport_selected);
+ state_save_register_global(machine(), m_inputport_selected);
}
@@ -455,7 +454,6 @@ static MACHINE_CONFIG_START( skykid, skykid_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */
- MCFG_MACHINE_START(skykid)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -468,8 +466,6 @@ static MACHINE_CONFIG_START( skykid, skykid_state )
MCFG_GFXDECODE(skykid)
MCFG_PALETTE_LENGTH(64*4+128*4+64*8)
- MCFG_PALETTE_INIT(skykid)
- MCFG_VIDEO_START(skykid)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/skylncr.c b/src/mame/drivers/skylncr.c
index 2018e70114a..8acf1226370 100644
--- a/src/mame/drivers/skylncr.c
+++ b/src/mame/drivers/skylncr.c
@@ -107,6 +107,7 @@ public:
TILE_GET_INFO_MEMBER(get_reel_2_tile_info);
TILE_GET_INFO_MEMBER(get_reel_3_tile_info);
TILE_GET_INFO_MEMBER(get_reel_4_tile_info);
+ virtual void video_start();
};
@@ -158,27 +159,26 @@ TILE_GET_INFO_MEMBER(skylncr_state::get_reel_4_tile_info)
}
-static VIDEO_START( skylncr )
+void skylncr_state::video_start()
{
- skylncr_state *state = machine.driver_data<skylncr_state>();
- state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20 );
+ m_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20 );
- state->m_reel_1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
- state->m_reel_2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
- state->m_reel_3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_3_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
- state->m_reel_4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_4_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
+ m_reel_1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
+ m_reel_2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
+ m_reel_3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_3_tile_info),this), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
+ m_reel_4_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_4_tile_info),this), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
- state->m_reel_2_tilemap->set_scroll_cols(0x40);
- state->m_reel_3_tilemap->set_scroll_cols(0x40);
- state->m_reel_4_tilemap->set_scroll_cols(0x40);
+ m_reel_2_tilemap->set_scroll_cols(0x40);
+ m_reel_3_tilemap->set_scroll_cols(0x40);
+ m_reel_4_tilemap->set_scroll_cols(0x40);
- state->m_reel_2_tilemap->set_transparent_pen(0);
- state->m_reel_3_tilemap->set_transparent_pen(0);
- state->m_reel_4_tilemap->set_transparent_pen(0);
+ m_reel_2_tilemap->set_transparent_pen(0);
+ m_reel_3_tilemap->set_transparent_pen(0);
+ m_reel_4_tilemap->set_transparent_pen(0);
- state->m_tmap->set_transparent_pen(0);
+ m_tmap->set_transparent_pen(0);
}
@@ -731,7 +731,6 @@ static MACHINE_CONFIG_START( skylncr, skylncr_state )
MCFG_GFXDECODE(skylncr)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START(skylncr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/skyraid.c b/src/mame/drivers/skyraid.c
index 695adebd0b4..8c87c23aeca 100644
--- a/src/mame/drivers/skyraid.c
+++ b/src/mame/drivers/skyraid.c
@@ -10,28 +10,28 @@ Atari Sky Raider driver
-static PALETTE_INIT( skyraid )
+void skyraid_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0x00, 0x00, 0x00)); /* terrain */
- palette_set_color(machine, 1, MAKE_RGB(0x18, 0x18, 0x18));
- palette_set_color(machine, 2, MAKE_RGB(0x30, 0x30, 0x30));
- palette_set_color(machine, 3, MAKE_RGB(0x48, 0x48, 0x48));
- palette_set_color(machine, 4, MAKE_RGB(0x60, 0x60, 0x60));
- palette_set_color(machine, 5, MAKE_RGB(0x78, 0x78, 0x78));
- palette_set_color(machine, 6, MAKE_RGB(0x90, 0x90, 0x90));
- palette_set_color(machine, 7, MAKE_RGB(0xA8, 0xA8, 0xA8));
- palette_set_color(machine, 8, MAKE_RGB(0x10, 0x10, 0x10)); /* sprites */
- palette_set_color(machine, 9, MAKE_RGB(0xE0, 0xE0, 0xE0));
- palette_set_color(machine, 10, MAKE_RGB(0xA0, 0xA0, 0xA0));
- palette_set_color(machine, 11, MAKE_RGB(0x48, 0x48, 0x48));
- palette_set_color(machine, 12, MAKE_RGB(0x10, 0x10, 0x10));
- palette_set_color(machine, 13, MAKE_RGB(0x48, 0x48, 0x48));
- palette_set_color(machine, 14, MAKE_RGB(0xA0, 0xA0, 0xA0));
- palette_set_color(machine, 15, MAKE_RGB(0xE0, 0xE0, 0xE0));
- palette_set_color(machine, 16, MAKE_RGB(0x00, 0x00, 0x00)); /* missiles */
- palette_set_color(machine, 17, MAKE_RGB(0xFF, 0xFF, 0xFF));
- palette_set_color(machine, 18, MAKE_RGB(0x00, 0x00, 0x00)); /* text */
- palette_set_color(machine, 19, MAKE_RGB(0xE0, 0xE0, 0xE0));
+ palette_set_color(machine(), 0, MAKE_RGB(0x00, 0x00, 0x00)); /* terrain */
+ palette_set_color(machine(), 1, MAKE_RGB(0x18, 0x18, 0x18));
+ palette_set_color(machine(), 2, MAKE_RGB(0x30, 0x30, 0x30));
+ palette_set_color(machine(), 3, MAKE_RGB(0x48, 0x48, 0x48));
+ palette_set_color(machine(), 4, MAKE_RGB(0x60, 0x60, 0x60));
+ palette_set_color(machine(), 5, MAKE_RGB(0x78, 0x78, 0x78));
+ palette_set_color(machine(), 6, MAKE_RGB(0x90, 0x90, 0x90));
+ palette_set_color(machine(), 7, MAKE_RGB(0xA8, 0xA8, 0xA8));
+ palette_set_color(machine(), 8, MAKE_RGB(0x10, 0x10, 0x10)); /* sprites */
+ palette_set_color(machine(), 9, MAKE_RGB(0xE0, 0xE0, 0xE0));
+ palette_set_color(machine(), 10, MAKE_RGB(0xA0, 0xA0, 0xA0));
+ palette_set_color(machine(), 11, MAKE_RGB(0x48, 0x48, 0x48));
+ palette_set_color(machine(), 12, MAKE_RGB(0x10, 0x10, 0x10));
+ palette_set_color(machine(), 13, MAKE_RGB(0x48, 0x48, 0x48));
+ palette_set_color(machine(), 14, MAKE_RGB(0xA0, 0xA0, 0xA0));
+ palette_set_color(machine(), 15, MAKE_RGB(0xE0, 0xE0, 0xE0));
+ palette_set_color(machine(), 16, MAKE_RGB(0x00, 0x00, 0x00)); /* missiles */
+ palette_set_color(machine(), 17, MAKE_RGB(0xFF, 0xFF, 0xFF));
+ palette_set_color(machine(), 18, MAKE_RGB(0x00, 0x00, 0x00)); /* text */
+ palette_set_color(machine(), 19, MAKE_RGB(0xE0, 0xE0, 0xE0));
}
READ8_MEMBER(skyraid_state::skyraid_port_0_r)
@@ -233,10 +233,8 @@ static MACHINE_CONFIG_START( skyraid, skyraid_state )
MCFG_GFXDECODE(skyraid)
- MCFG_PALETTE_INIT(skyraid)
MCFG_PALETTE_LENGTH(20)
- MCFG_VIDEO_START(skyraid)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/slapfght.c b/src/mame/drivers/slapfght.c
index c1529195962..d1765c5cf7b 100644
--- a/src/mame/drivers/slapfght.c
+++ b/src/mame/drivers/slapfght.c
@@ -757,7 +757,7 @@ static MACHINE_CONFIG_START( perfrman, slapfght_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_RESET(slapfight)
+ MCFG_MACHINE_RESET_OVERRIDE(slapfght_state,slapfight)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -774,7 +774,7 @@ static MACHINE_CONFIG_START( perfrman, slapfght_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(perfrman)
+ MCFG_VIDEO_START_OVERRIDE(slapfght_state,perfrman)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -803,7 +803,7 @@ static MACHINE_CONFIG_START( tigerhb, slapfght_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_RESET(slapfight)
+ MCFG_MACHINE_RESET_OVERRIDE(slapfght_state,slapfight)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -820,7 +820,7 @@ static MACHINE_CONFIG_START( tigerhb, slapfght_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(slapfight)
+ MCFG_VIDEO_START_OVERRIDE(slapfght_state,slapfight)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -851,7 +851,7 @@ static MACHINE_CONFIG_START( tigerh, slapfght_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_RESET(slapfight)
+ MCFG_MACHINE_RESET_OVERRIDE(slapfght_state,slapfight)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -868,7 +868,7 @@ static MACHINE_CONFIG_START( tigerh, slapfght_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(slapfight)
+ MCFG_VIDEO_START_OVERRIDE(slapfght_state,slapfight)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -900,7 +900,7 @@ static MACHINE_CONFIG_START( slapfigh, slapfght_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_RESET(slapfight)
+ MCFG_MACHINE_RESET_OVERRIDE(slapfght_state,slapfight)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -917,7 +917,7 @@ static MACHINE_CONFIG_START( slapfigh, slapfght_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(slapfight)
+ MCFG_VIDEO_START_OVERRIDE(slapfght_state,slapfight)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/slapshot.c b/src/mame/drivers/slapshot.c
index a6532decafb..7d263ed3a1c 100644
--- a/src/mame/drivers/slapshot.c
+++ b/src/mame/drivers/slapshot.c
@@ -520,22 +520,21 @@ static const tc0140syt_interface slapshot_tc0140syt_intf =
"maincpu", "audiocpu"
};
-static MACHINE_START( slapshot )
+void slapshot_state::machine_start()
{
- slapshot_state *state = machine.driver_data<slapshot_state>();
- state->membank("bank10")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0xc000, 0x4000);
+ membank("bank10")->configure_entries(0, 4, memregion("audiocpu")->base() + 0xc000, 0x4000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_tc0140syt = machine.device("tc0140syt");
- state->m_tc0480scp = machine.device("tc0480scp");
- state->m_tc0360pri = machine.device("tc0360pri");
- state->m_tc0640fio = machine.device("tc0640fio");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_tc0140syt = machine().device("tc0140syt");
+ m_tc0480scp = machine().device("tc0480scp");
+ m_tc0360pri = machine().device("tc0360pri");
+ m_tc0640fio = machine().device("tc0640fio");
- state->m_banknum = 0;
- state->save_item(NAME(state->m_banknum));
- machine.save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine));
+ m_banknum = 0;
+ save_item(NAME(m_banknum));
+ machine().save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine()));
}
@@ -551,7 +550,6 @@ static MACHINE_CONFIG_START( slapshot, slapshot_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(slapshot)
MCFG_TC0640FIO_ADD("tc0640fio", slapshot_io_intf)
@@ -567,7 +565,6 @@ static MACHINE_CONFIG_START( slapshot, slapshot_state )
MCFG_GFXDECODE(slapshot)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(slapshot)
MCFG_TC0480SCP_ADD("tc0480scp", slapshot_tc0480scp_intf)
MCFG_TC0360PRI_ADD("tc0360pri")
@@ -599,7 +596,6 @@ static MACHINE_CONFIG_START( opwolf3, slapshot_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(slapshot)
MCFG_TC0640FIO_ADD("tc0640fio", slapshot_io_intf)
@@ -615,7 +611,6 @@ static MACHINE_CONFIG_START( opwolf3, slapshot_state )
MCFG_GFXDECODE(slapshot)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(slapshot)
MCFG_TC0480SCP_ADD("tc0480scp", slapshot_tc0480scp_intf)
MCFG_TC0360PRI_ADD("tc0360pri")
diff --git a/src/mame/drivers/sliver.c b/src/mame/drivers/sliver.c
index 3cbeaa66a7b..3120246abb1 100644
--- a/src/mame/drivers/sliver.c
+++ b/src/mame/drivers/sliver.c
@@ -112,6 +112,7 @@ public:
DECLARE_WRITE16_MEMBER(io_data_w);
DECLARE_WRITE16_MEMBER(sound_w);
DECLARE_WRITE8_MEMBER(oki_setbank);
+ virtual void video_start();
};
static void plot_pixel_rgb(sliver_state *state, int x, int y, UINT32 r, UINT32 g, UINT32 b)
@@ -365,12 +366,11 @@ static ADDRESS_MAP_START( soundmem_io, AS_IO, 8, sliver_state )
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE(oki_setbank )
ADDRESS_MAP_END
-static VIDEO_START(sliver)
+void sliver_state::video_start()
{
- sliver_state *state = machine.driver_data<sliver_state>();
- machine.primary_screen->register_screen_bitmap(state->m_bitmap_bg);
- machine.primary_screen->register_screen_bitmap(state->m_bitmap_fg);
+ machine().primary_screen->register_screen_bitmap(m_bitmap_bg);
+ machine().primary_screen->register_screen_bitmap(m_bitmap_fg);
}
static SCREEN_UPDATE_RGB32(sliver)
@@ -490,7 +490,6 @@ static MACHINE_CONFIG_START( sliver, sliver_state )
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
- MCFG_VIDEO_START(sliver)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/slotcarn.c b/src/mame/drivers/slotcarn.c
index 66f4715d9ba..beeca26bb3e 100644
--- a/src/mame/drivers/slotcarn.c
+++ b/src/mame/drivers/slotcarn.c
@@ -48,6 +48,7 @@ public:
DECLARE_WRITE8_MEMBER(palette_w);
DECLARE_WRITE_LINE_MEMBER(hsync_changed);
DECLARE_WRITE_LINE_MEMBER(vsync_changed);
+ virtual void machine_start();
};
@@ -540,11 +541,10 @@ GFXDECODE_END
-static MACHINE_START(merit)
+void slotcarn_state::machine_start()
{
- slotcarn_state *state = machine.driver_data<slotcarn_state>();
- state->m_ram_palette = auto_alloc_array(machine, UINT8, RAM_PALETTE_SIZE);
- state_save_register_global_pointer(machine, state->m_ram_palette, RAM_PALETTE_SIZE);
+ m_ram_palette = auto_alloc_array(machine(), UINT8, RAM_PALETTE_SIZE);
+ state_save_register_global_pointer(machine(), m_ram_palette, RAM_PALETTE_SIZE);
}
@@ -614,7 +614,6 @@ static MACHINE_CONFIG_START( slotcarn, slotcarn_state )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
MCFG_I8255A_ADD( "ppi8255_2", ppi8255_2_intf )
- MCFG_MACHINE_START(merit)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/sms.c b/src/mame/drivers/sms.c
index 7edc981a79f..20931533315 100644
--- a/src/mame/drivers/sms.c
+++ b/src/mame/drivers/sms.c
@@ -240,6 +240,11 @@ public:
DECLARE_READ8_MEMBER(ppi0_c_r);
DECLARE_WRITE8_MEMBER(ppi0_a_w);
DECLARE_WRITE8_MEMBER(ppi0_b_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(sureshot);
};
@@ -467,13 +472,12 @@ WRITE8_MEMBER(smsmfg_state::video_w)
}
}
-static VIDEO_START( sms )
+void smsmfg_state::video_start()
{
- smsmfg_state *state = machine.driver_data<smsmfg_state>();
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
- state_save_register_global_array(machine, state->m_vid_regs);
- state_save_register_global_bitmap(machine, &state->m_bitmap);
+ state_save_register_global_array(machine(), m_vid_regs);
+ state_save_register_global_bitmap(machine(), &m_bitmap);
}
static SCREEN_UPDATE_IND16( sms )
@@ -483,13 +487,13 @@ static SCREEN_UPDATE_IND16( sms )
return 0;
}
-static PALETTE_INIT( sms )
+void smsmfg_state::palette_init()
{
int i;
for (i = 0; i < 8; i++ )
{
- palette_set_color(machine, i, MAKE_RGB(pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i)));
+ palette_set_color(machine(), i, MAKE_RGB(pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i)));
}
}
@@ -534,26 +538,23 @@ ADDRESS_MAP_END
*
*************************************/
-static MACHINE_START( sms )
+void smsmfg_state::machine_start()
{
- smsmfg_state *state = machine.driver_data<smsmfg_state>();
- state->membank("bank1")->configure_entries(0, 16, state->memregion("questions")->base(), 0x4000);
+ membank("bank1")->configure_entries(0, 16, memregion("questions")->base(), 0x4000);
- state_save_register_global(machine, state->m_communication_port_status);
- state_save_register_global_array(machine, state->m_communication_port);
+ state_save_register_global(machine(), m_communication_port_status);
+ state_save_register_global_array(machine(), m_communication_port);
}
-static MACHINE_START( sureshot )
+MACHINE_START_MEMBER(smsmfg_state,sureshot)
{
- smsmfg_state *state = machine.driver_data<smsmfg_state>();
- state_save_register_global(machine, state->m_communication_port_status);
- state_save_register_global_array(machine, state->m_communication_port);
+ state_save_register_global(machine(), m_communication_port_status);
+ state_save_register_global_array(machine(), m_communication_port);
}
-static MACHINE_RESET( sms )
+void smsmfg_state::machine_reset()
{
- smsmfg_state *state = machine.driver_data<smsmfg_state>();
- state->m_communication_port_status = 0;
+ m_communication_port_status = 0;
}
static MACHINE_CONFIG_START( sms, smsmfg_state )
@@ -565,8 +566,6 @@ static MACHINE_CONFIG_START( sms, smsmfg_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(sms)
- MCFG_MACHINE_RESET(sms)
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
@@ -583,8 +582,6 @@ static MACHINE_CONFIG_START( sms, smsmfg_state )
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(sms)
- MCFG_VIDEO_START(sms)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -598,7 +595,7 @@ static MACHINE_CONFIG_DERIVED( sureshot, sms )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sureshot_map)
- MCFG_MACHINE_START(sureshot)
+ MCFG_MACHINE_START_OVERRIDE(smsmfg_state,sureshot)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/snk.c b/src/mame/drivers/snk.c
index c3ed39bda35..e1056cfeef3 100644
--- a/src/mame/drivers/snk.c
+++ b/src/mame/drivers/snk.c
@@ -3650,8 +3650,8 @@ static MACHINE_CONFIG_START( marvins, snk_state )
MCFG_GFXDECODE(marvins)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_PALETTE_INIT(tnk3)
- MCFG_VIDEO_START(marvins)
+ MCFG_PALETTE_INIT_OVERRIDE(snk_state,tnk3)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,marvins)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3719,8 +3719,8 @@ static MACHINE_CONFIG_START( jcross, snk_state )
MCFG_GFXDECODE(tnk3)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_PALETTE_INIT(tnk3)
- MCFG_VIDEO_START(jcross)
+ MCFG_PALETTE_INIT_OVERRIDE(snk_state,tnk3)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,jcross)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3746,7 +3746,7 @@ static MACHINE_CONFIG_DERIVED( sgladiat, jcross )
/* visible area is correct. Debug info is shown in the black bars at the sides
of the screen when the Debug dip switch is on */
- MCFG_VIDEO_START(sgladiat)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,sgladiat)
MACHINE_CONFIG_END
@@ -3765,7 +3765,7 @@ static MACHINE_CONFIG_DERIVED( hal21, jcross )
MCFG_CPU_PERIODIC_INT(irq0_line_hold, 220) // music tempo, hand tuned
/* video hardware */
- MCFG_VIDEO_START(hal21)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,hal21)
MACHINE_CONFIG_END
@@ -3797,8 +3797,8 @@ static MACHINE_CONFIG_START( tnk3, snk_state )
MCFG_GFXDECODE(tnk3)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_PALETTE_INIT(tnk3)
- MCFG_VIDEO_START(tnk3)
+ MCFG_PALETTE_INIT_OVERRIDE(snk_state,tnk3)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,tnk3)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3822,7 +3822,7 @@ static MACHINE_CONFIG_DERIVED( aso, tnk3 )
MCFG_CPU_PROGRAM_MAP(aso_YM3526_sound_map)
/* video hardware */
- MCFG_VIDEO_START(aso)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,aso)
MACHINE_CONFIG_END
@@ -3882,7 +3882,7 @@ static MACHINE_CONFIG_START( ikari, snk_state )
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(ikari)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,ikari)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3938,7 +3938,7 @@ static MACHINE_CONFIG_START( bermudat, snk_state )
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(gwar)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,gwar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3956,7 +3956,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( psychos, bermudat )
/* video hardware */
- MCFG_VIDEO_START(psychos)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,psychos)
MACHINE_CONFIG_END
@@ -4042,7 +4042,7 @@ static MACHINE_CONFIG_START( tdfever, snk_state )
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(tdfever)
+ MCFG_VIDEO_START_OVERRIDE(snk_state,tdfever)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/snk6502.c b/src/mame/drivers/snk6502.c
index 480e74ddf66..14a050ca783 100644
--- a/src/mame/drivers/snk6502.c
+++ b/src/mame/drivers/snk6502.c
@@ -781,35 +781,35 @@ static const mc6845_interface mc6845_intf =
*
*************************************/
-static MACHINE_RESET( sasuke )
+MACHINE_RESET_MEMBER(snk6502_state,sasuke)
{
- snk6502_set_music_clock(machine, M_LN2 * (RES_K(18) + RES_K(1)) * CAP_U(1));
+ snk6502_set_music_clock(machine(), M_LN2 * (RES_K(18) + RES_K(1)) * CAP_U(1));
// adjusted (measured through audio recording of pcb)
- snk6502_set_music_freq(machine, 35300);
+ snk6502_set_music_freq(machine(), 35300);
- sasuke_start_counter(machine);
+ sasuke_start_counter(machine());
}
-static MACHINE_RESET( satansat )
+MACHINE_RESET_MEMBER(snk6502_state,satansat)
{
// same as sasuke (assumption?)
// NOTE: this was set before sasuke was adjusted to a lower freq, please don't modify until measured/confirmed on pcb
- snk6502_set_music_freq(machine, 38000);
+ snk6502_set_music_freq(machine(), 38000);
- sasuke_start_counter(machine);
+ sasuke_start_counter(machine());
}
-static MACHINE_RESET( vanguard )
+MACHINE_RESET_MEMBER(snk6502_state,vanguard)
{
// 41.6 Hz update (measured)
- snk6502_set_music_clock(machine, 1 / 41.6);
+ snk6502_set_music_clock(machine(), 1 / 41.6);
}
-static MACHINE_RESET( pballoon )
+MACHINE_RESET_MEMBER(snk6502_state,pballoon)
{
// 40.3 Hz update (measured)
- snk6502_set_music_clock(machine, 1 / 40.3);
+ snk6502_set_music_clock(machine(), 1 / 40.3);
}
@@ -826,7 +826,7 @@ static MACHINE_CONFIG_START( sasuke, snk6502_state )
MCFG_CPU_PROGRAM_MAP(sasuke_map)
MCFG_CPU_VBLANK_INT("screen",satansat_interrupt)
- MCFG_MACHINE_RESET(sasuke)
+ MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,sasuke)
// video hardware
@@ -840,8 +840,8 @@ static MACHINE_CONFIG_START( sasuke, snk6502_state )
MCFG_GFXDECODE(sasuke)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(satansat)
- MCFG_VIDEO_START(satansat)
+ MCFG_PALETTE_INIT_OVERRIDE(snk6502_state,satansat)
+ MCFG_VIDEO_START_OVERRIDE(snk6502_state,satansat)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK / 16, mc6845_intf)
@@ -874,7 +874,7 @@ static MACHINE_CONFIG_DERIVED( satansat, sasuke )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(satansat_map)
- MCFG_MACHINE_RESET(satansat)
+ MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,satansat)
// video hardware
MCFG_GFXDECODE(satansat)
@@ -899,7 +899,7 @@ static MACHINE_CONFIG_START( vanguard, snk6502_state )
MCFG_CPU_PROGRAM_MAP(vanguard_map)
MCFG_CPU_VBLANK_INT("screen",snk6502_interrupt)
- MCFG_MACHINE_RESET(vanguard)
+ MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,vanguard)
// video hardware
@@ -913,8 +913,8 @@ static MACHINE_CONFIG_START( vanguard, snk6502_state )
MCFG_GFXDECODE(vanguard)
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(snk6502)
- MCFG_VIDEO_START(snk6502)
+ MCFG_PALETTE_INIT_OVERRIDE(snk6502_state,snk6502)
+ MCFG_VIDEO_START_OVERRIDE(snk6502_state,snk6502)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK / 16, mc6845_intf)
@@ -967,9 +967,9 @@ static MACHINE_CONFIG_DERIVED( pballoon, nibbler )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(pballoon_map)
- MCFG_MACHINE_RESET(pballoon)
+ MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,pballoon)
- MCFG_VIDEO_START( pballoon )
+ MCFG_VIDEO_START_OVERRIDE(snk6502_state, pballoon )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/snk68.c b/src/mame/drivers/snk68.c
index fe90f468924..051f1c9fe48 100644
--- a/src/mame/drivers/snk68.c
+++ b/src/mame/drivers/snk68.c
@@ -610,7 +610,6 @@ static MACHINE_CONFIG_START( pow, snk68_state )
MCFG_GFXDECODE(pow)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(pow)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -629,7 +628,7 @@ static MACHINE_CONFIG_DERIVED( searchar, pow )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(searchar_map)
- MCFG_VIDEO_START(searchar)
+ MCFG_VIDEO_START_OVERRIDE(snk68_state,searchar)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/snookr10.c b/src/mame/drivers/snookr10.c
index 0282c2618d3..762ba82a899 100644
--- a/src/mame/drivers/snookr10.c
+++ b/src/mame/drivers/snookr10.c
@@ -706,8 +706,6 @@ static MACHINE_CONFIG_START( snookr10, snookr10_state )
MCFG_GFXDECODE(snookr10)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(snookr10)
- MCFG_VIDEO_START(snookr10)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -722,8 +720,8 @@ static MACHINE_CONFIG_DERIVED( apple10, snookr10 )
MCFG_CPU_MODIFY("maincpu")
/* video hardware */
- MCFG_PALETTE_INIT(apple10)
- MCFG_VIDEO_START(apple10)
+ MCFG_PALETTE_INIT_OVERRIDE(snookr10_state,apple10)
+ MCFG_VIDEO_START_OVERRIDE(snookr10_state,apple10)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index 217df1a7469..c254e7a103c 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -1514,24 +1514,22 @@ static const ym2151_interface ym2151_config =
};
-static MACHINE_RESET (semiprot)
+MACHINE_RESET_MEMBER(snowbros_state,semiprot)
{
- snowbros_state *state = machine.driver_data<snowbros_state>();
- UINT16 *PROTDATA = (UINT16*)state->memregion("user1")->base();
+ UINT16 *PROTDATA = (UINT16*)memregion("user1")->base();
int i;
for (i = 0;i < 0x200/2;i++)
- state->m_hyperpac_ram[0xf000/2 + i] = PROTDATA[i];
+ m_hyperpac_ram[0xf000/2 + i] = PROTDATA[i];
}
-static MACHINE_RESET (finalttr)
+MACHINE_RESET_MEMBER(snowbros_state,finalttr)
{
- snowbros_state *state = machine.driver_data<snowbros_state>();
- UINT16 *PROTDATA = (UINT16*)state->memregion("user1")->base();
+ UINT16 *PROTDATA = (UINT16*)memregion("user1")->base();
int i;
for (i = 0;i < 0x200/2;i++)
- state->m_hyperpac_ram[0x2000/2 + i] = PROTDATA[i];
+ m_hyperpac_ram[0x2000/2 + i] = PROTDATA[i];
}
static const kaneko_pandora_interface snowbros_pandora_config =
@@ -1628,7 +1626,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( semiprot, semicom )
- MCFG_MACHINE_RESET ( semiprot )
+ MCFG_MACHINE_RESET_OVERRIDE (snowbros_state, semiprot )
MACHINE_CONFIG_END
/*
@@ -1746,7 +1744,7 @@ static MACHINE_CONFIG_DERIVED( finalttr, semicom )
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_CLOCK(3578545)
- MCFG_MACHINE_RESET ( finalttr )
+ MCFG_MACHINE_RESET_OVERRIDE (snowbros_state, finalttr )
MCFG_SOUND_REPLACE("ymsnd", YM2151, 4000000)
MCFG_SOUND_CONFIG(ym2151_config)
diff --git a/src/mame/drivers/solomon.c b/src/mame/drivers/solomon.c
index b7704dfb3c4..d62e3b805b8 100644
--- a/src/mame/drivers/solomon.c
+++ b/src/mame/drivers/solomon.c
@@ -227,7 +227,6 @@ static MACHINE_CONFIG_START( solomon, solomon_state )
MCFG_GFXDECODE(solomon)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(solomon)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sonson.c b/src/mame/drivers/sonson.c
index 877bae873f4..3dc6604d0ec 100644
--- a/src/mame/drivers/sonson.c
+++ b/src/mame/drivers/sonson.c
@@ -225,20 +225,18 @@ GFXDECODE_END
-static MACHINE_START( sonson )
+void sonson_state::machine_start()
{
- sonson_state *state = machine.driver_data<sonson_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_last_irq));
+ save_item(NAME(m_last_irq));
}
-static MACHINE_RESET( sonson )
+void sonson_state::machine_reset()
{
- sonson_state *state = machine.driver_data<sonson_state>();
- state->m_last_irq = 0;
+ m_last_irq = 0;
}
static MACHINE_CONFIG_START( sonson, sonson_state )
@@ -252,8 +250,6 @@ static MACHINE_CONFIG_START( sonson, sonson_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* FIRQs are triggered by the main CPU */
- MCFG_MACHINE_START(sonson)
- MCFG_MACHINE_RESET(sonson)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -265,8 +261,6 @@ static MACHINE_CONFIG_START( sonson, sonson_state )
MCFG_GFXDECODE(sonson)
MCFG_PALETTE_LENGTH(64*4+32*8)
- MCFG_PALETTE_INIT(sonson)
- MCFG_VIDEO_START(sonson)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sothello.c b/src/mame/drivers/sothello.c
index c7590f354f1..4fdb7d6eb2d 100644
--- a/src/mame/drivers/sothello.c
+++ b/src/mame/drivers/sothello.c
@@ -65,6 +65,7 @@ public:
DECLARE_WRITE8_MEMBER(subcpu_status_w);
DECLARE_READ8_MEMBER(subcpu_status_r);
DECLARE_WRITE8_MEMBER(msm_cfg_w);
+ virtual void machine_reset();
};
@@ -342,7 +343,7 @@ static const msm5205_interface msm_interface =
MSM5205_S48_4B /* changed on the fly */
};
-static MACHINE_RESET(sothello)
+void sothello_state::machine_reset()
{
}
@@ -377,7 +378,6 @@ static MACHINE_CONFIG_START( sothello, sothello_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(sothello)
MCFG_V9938_ADD("v9938", "screen", VDP_MEM)
MCFG_V99X8_INTERRUPT_CALLBACK_STATIC(sothello_vdp_interrupt)
diff --git a/src/mame/drivers/spacefb.c b/src/mame/drivers/spacefb.c
index d2eb3ffddae..f62c319d35f 100644
--- a/src/mame/drivers/spacefb.c
+++ b/src/mame/drivers/spacefb.c
@@ -165,9 +165,9 @@ static void start_interrupt_timer(running_machine &machine)
*
*************************************/
-static MACHINE_START( spacefb )
+void spacefb_state::machine_start()
{
- create_interrupt_timer(machine);
+ create_interrupt_timer(machine());
}
@@ -178,16 +178,15 @@ static MACHINE_START( spacefb )
*
*************************************/
-static MACHINE_RESET( spacefb )
+void spacefb_state::machine_reset()
{
- address_space *space = machine.device("maincpu")->memory().space(AS_IO);
- spacefb_state *state = machine.driver_data<spacefb_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_IO);
/* the 3 output ports are cleared on reset */
- state->spacefb_port_0_w(*space, 0, 0);
- state->spacefb_port_1_w(*space, 0, 0);
- state->spacefb_port_2_w(*space, 0, 0);
+ spacefb_port_0_w(*space, 0, 0);
+ spacefb_port_1_w(*space, 0, 0);
+ spacefb_port_2_w(*space, 0, 0);
- start_interrupt_timer(machine);
+ start_interrupt_timer(machine());
}
@@ -341,11 +340,8 @@ static MACHINE_CONFIG_START( spacefb, spacefb_state )
MCFG_QUANTUM_TIME(attotime::from_hz(180))
- MCFG_MACHINE_START(spacefb)
- MCFG_MACHINE_RESET(spacefb)
/* video hardware */
- MCFG_VIDEO_START(spacefb)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(SPACEFB_PIXEL_CLOCK, SPACEFB_HTOTAL, SPACEFB_HBEND, SPACEFB_HBSTART, SPACEFB_VTOTAL, SPACEFB_VBEND, SPACEFB_VBSTART)
diff --git a/src/mame/drivers/spaceg.c b/src/mame/drivers/spaceg.c
index ec1fab4f4fe..e552ee114fa 100644
--- a/src/mame/drivers/spaceg.c
+++ b/src/mame/drivers/spaceg.c
@@ -189,6 +189,7 @@ public:
required_shared_ptr<UINT8> m_io9401;
DECLARE_WRITE8_MEMBER(zvideoram_w);
DECLARE_READ8_MEMBER(spaceg_colorram_r);
+ virtual void palette_init();
};
/*************************************
@@ -197,31 +198,31 @@ public:
*
*************************************/
-static PALETTE_INIT( spaceg )
+void spaceg_state::palette_init()
{
int i;
for (i = 0; i < 128; i++)
- palette_set_color (machine, i, MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color (machine(), i, MAKE_RGB(0x00,0x00,0x00));
// proms are currently undumped...
- palette_set_color (machine, 0, MAKE_RGB(0x00,0x00,0x00)); //ok czarny
- palette_set_color (machine, 1, MAKE_RGB(0x7f,0x00,0x00));//???
- palette_set_color (machine, 2, MAKE_RGB(0xff,0xff,0xff)); //ok+ bialy
- palette_set_color (machine, 3, MAKE_RGB(0xff,0x00,0x00)); //ok j.czerw.
- palette_set_color (machine, 4, MAKE_RGB(0x3f,0x3f,0xff)); //ok j.niebieski
- palette_set_color (machine, 5, MAKE_RGB(0x3f,0xff,0x3f)); //ok j.zielony
- palette_set_color (machine, 6, MAKE_RGB(0xff,0xbf,0xbf)); //ok+ 'majtki'
- palette_set_color (machine, 7, MAKE_RGB(0xff,0xff,0x00)); //ok+ zolty
-
- palette_set_color (machine, 8, MAKE_RGB(0xff,0x7f,0x00)); //ok+ pomaranczowy
- palette_set_color (machine, 9, MAKE_RGB(0x3f,0xbf,0xff)); //ok j.niebieski (ciemniejszy od 13)
- palette_set_color (machine, 10, MAKE_RGB(0x3f,0xbf,0x3f)); //ok+ c.zielony
- palette_set_color (machine, 11, MAKE_RGB(0x00,0xff,0x00)); //ok j.zielony
- palette_set_color (machine, 12, MAKE_RGB(0x7f,0x00,0x00)); //ok brazowy (c.czerw)
- palette_set_color (machine, 13, MAKE_RGB(0x7f,0xbf,0xff)); //ok j.niebieski (jasniejszy od 9)
- palette_set_color (machine, 14, MAKE_RGB(0x00,0xff,0xff));//???
- palette_set_color (machine, 15, MAKE_RGB(0x7f,0x7f,0x7f));//???
+ palette_set_color (machine(), 0, MAKE_RGB(0x00,0x00,0x00)); //ok czarny
+ palette_set_color (machine(), 1, MAKE_RGB(0x7f,0x00,0x00));//???
+ palette_set_color (machine(), 2, MAKE_RGB(0xff,0xff,0xff)); //ok+ bialy
+ palette_set_color (machine(), 3, MAKE_RGB(0xff,0x00,0x00)); //ok j.czerw.
+ palette_set_color (machine(), 4, MAKE_RGB(0x3f,0x3f,0xff)); //ok j.niebieski
+ palette_set_color (machine(), 5, MAKE_RGB(0x3f,0xff,0x3f)); //ok j.zielony
+ palette_set_color (machine(), 6, MAKE_RGB(0xff,0xbf,0xbf)); //ok+ 'majtki'
+ palette_set_color (machine(), 7, MAKE_RGB(0xff,0xff,0x00)); //ok+ zolty
+
+ palette_set_color (machine(), 8, MAKE_RGB(0xff,0x7f,0x00)); //ok+ pomaranczowy
+ palette_set_color (machine(), 9, MAKE_RGB(0x3f,0xbf,0xff)); //ok j.niebieski (ciemniejszy od 13)
+ palette_set_color (machine(), 10, MAKE_RGB(0x3f,0xbf,0x3f)); //ok+ c.zielony
+ palette_set_color (machine(), 11, MAKE_RGB(0x00,0xff,0x00)); //ok j.zielony
+ palette_set_color (machine(), 12, MAKE_RGB(0x7f,0x00,0x00)); //ok brazowy (c.czerw)
+ palette_set_color (machine(), 13, MAKE_RGB(0x7f,0xbf,0xff)); //ok j.niebieski (jasniejszy od 9)
+ palette_set_color (machine(), 14, MAKE_RGB(0x00,0xff,0xff));//???
+ palette_set_color (machine(), 15, MAKE_RGB(0x7f,0x7f,0x7f));//???
}
WRITE8_MEMBER(spaceg_state::zvideoram_w)
@@ -438,7 +439,6 @@ static MACHINE_CONFIG_START( spaceg, spaceg_state )
MCFG_SCREEN_UPDATE_STATIC( spaceg )
MCFG_PALETTE_LENGTH(16+128-16)
- MCFG_PALETTE_INIT( spaceg )
/* sound hardware */
// MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/spbactn.c b/src/mame/drivers/spbactn.c
index 02242bdd6ea..a26ce57ff4b 100644
--- a/src/mame/drivers/spbactn.c
+++ b/src/mame/drivers/spbactn.c
@@ -365,7 +365,6 @@ static MACHINE_CONFIG_START( spbactn, spbactn_state )
MCFG_GFXDECODE(spbactn)
MCFG_PALETTE_LENGTH(0x2800/2)
- MCFG_VIDEO_START(spbactn)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/spcforce.c b/src/mame/drivers/spcforce.c
index 713e6953d0f..f2bec69e55b 100644
--- a/src/mame/drivers/spcforce.c
+++ b/src/mame/drivers/spcforce.c
@@ -229,7 +229,7 @@ static const int colortable_source[] =
0, 2, 3, 4, 5, 6, 7, 0
};
-static PALETTE_INIT( spcforce )
+void spcforce_state::palette_init()
{
int i;
@@ -238,7 +238,7 @@ static PALETTE_INIT( spcforce )
int data = colortable_source[i];
rgb_t color = MAKE_RGB(pal1bit(data >> 0), pal1bit(data >> 1), pal1bit(data >> 2));
- palette_set_color(machine, i, color);
+ palette_set_color(machine(), i, color);
}
}
@@ -284,7 +284,6 @@ static MACHINE_CONFIG_START( spcforce, spcforce_state )
MCFG_GFXDECODE(spcforce)
MCFG_PALETTE_LENGTH(sizeof(colortable_source) / sizeof(colortable_source[0]))
- MCFG_PALETTE_INIT(spcforce)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/spdodgeb.c b/src/mame/drivers/spdodgeb.c
index 2dbef55b425..cd2150ea31a 100644
--- a/src/mame/drivers/spdodgeb.c
+++ b/src/mame/drivers/spdodgeb.c
@@ -394,19 +394,18 @@ static const msm5205_interface msm5205_config =
};
-static MACHINE_RESET( spdodgeb )
+void spdodgeb_state::machine_reset()
{
- spdodgeb_state *state = machine.driver_data<spdodgeb_state>();
- state->m_toggle = 0;
- state->m_adpcm_pos[0] = state->m_adpcm_pos[1] = 0;
- state->m_adpcm_end[0] = state->m_adpcm_end[1] = 0;
- state->m_adpcm_idle[0] = state->m_adpcm_data[1] = 0;
- state->m_adpcm_data[0] = state->m_adpcm_data[1] = -1;
- state->m_mcu63701_command = 0;
- memset(state->m_inputs, 0, sizeof(state->m_inputs));
- memset(state->m_tapc, 0, sizeof(state->m_tapc));
- state->m_last_port[0] = state->m_last_port[1] = 0;
- state->m_last_dash[0] = state->m_last_dash[1] = 0;
+ m_toggle = 0;
+ m_adpcm_pos[0] = m_adpcm_pos[1] = 0;
+ m_adpcm_end[0] = m_adpcm_end[1] = 0;
+ m_adpcm_idle[0] = m_adpcm_data[1] = 0;
+ m_adpcm_data[0] = m_adpcm_data[1] = -1;
+ m_mcu63701_command = 0;
+ memset(m_inputs, 0, sizeof(m_inputs));
+ memset(m_tapc, 0, sizeof(m_tapc));
+ m_last_port[0] = m_last_port[1] = 0;
+ m_last_dash[0] = m_last_dash[1] = 0;
}
static MACHINE_CONFIG_START( spdodgeb, spdodgeb_state )
@@ -427,10 +426,7 @@ static MACHINE_CONFIG_START( spdodgeb, spdodgeb_state )
MCFG_GFXDECODE(spdodgeb)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(spdodgeb)
- MCFG_VIDEO_START(spdodgeb)
- MCFG_MACHINE_RESET( spdodgeb )
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index 52dddd0aef5..4a593880048 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -341,9 +341,7 @@ static MACHINE_CONFIG_START( speedatk, speedatk_state )
MCFG_GFXDECODE(speedatk)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(speedatk)
- MCFG_VIDEO_START(speedatk)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/speedbal.c b/src/mame/drivers/speedbal.c
index d6aac768f9c..af77aa567d3 100644
--- a/src/mame/drivers/speedbal.c
+++ b/src/mame/drivers/speedbal.c
@@ -243,7 +243,6 @@ static MACHINE_CONFIG_START( speedbal, speedbal_state )
MCFG_GFXDECODE(speedbal)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(speedbal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index 792878038bf..293a9636e25 100644
--- a/src/mame/drivers/speedspn.c
+++ b/src/mame/drivers/speedspn.c
@@ -289,7 +289,6 @@ static MACHINE_CONFIG_START( speedspn, speedspn_state )
MCFG_GFXDECODE(speedspn)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(speedspn)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/speglsht.c b/src/mame/drivers/speglsht.c
index e85dbcb06c9..33f64131653 100644
--- a/src/mame/drivers/speglsht.c
+++ b/src/mame/drivers/speglsht.c
@@ -131,6 +131,8 @@ public:
DECLARE_READ32_MEMBER(cop_r);
DECLARE_READ32_MEMBER(irq_ack_clear);
DECLARE_DRIVER_INIT(speglsht);
+ DECLARE_MACHINE_RESET(speglsht);
+ DECLARE_VIDEO_START(speglsht);
};
@@ -330,17 +332,15 @@ static const r3000_cpu_core r3000_config =
2048 /* data cache size */
};
-static MACHINE_RESET(speglsht)
+MACHINE_RESET_MEMBER(speglsht_state,speglsht)
{
- speglsht_state *state = machine.driver_data<speglsht_state>();
- memset(state->m_shared,0,0x1000);
+ memset(m_shared,0,0x1000);
}
-static VIDEO_START(speglsht)
+VIDEO_START_MEMBER(speglsht_state,speglsht)
{
- speglsht_state *state = machine.driver_data<speglsht_state>();
- state->m_bitmap = auto_bitmap_ind16_alloc(machine, 512, 5122 );
- VIDEO_START_CALL(st0016);
+ m_bitmap = auto_bitmap_ind16_alloc(machine(), 512, 5122 );
+ VIDEO_START_CALL_MEMBER(st0016);
}
#define PLOT_PIXEL_RGB(x,y,r,g,b) if(y>=0 && x>=0 && x<512 && y<512) \
@@ -399,7 +399,7 @@ static MACHINE_CONFIG_START( speglsht, speglsht_state )
MCFG_CPU_VBLANK_INT("screen", irq4_line_assert)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_RESET(speglsht)
+ MCFG_MACHINE_RESET_OVERRIDE(speglsht_state,speglsht)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -412,7 +412,7 @@ static MACHINE_CONFIG_START( speglsht, speglsht_state )
MCFG_GFXDECODE(speglsht)
MCFG_PALETTE_LENGTH(16*16*4+1)
- MCFG_VIDEO_START(speglsht)
+ MCFG_VIDEO_START_OVERRIDE(speglsht_state,speglsht)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/spiders.c b/src/mame/drivers/spiders.c
index a93d0f849e2..0cc40425242 100644
--- a/src/mame/drivers/spiders.c
+++ b/src/mame/drivers/spiders.c
@@ -398,15 +398,14 @@ static const ttl74123_interface ic60_intf =
*
*************************************/
-static MACHINE_START( spiders )
+void spiders_state::machine_start()
{
- spiders_state *state = machine.driver_data<spiders_state>();
/* setup for save states */
- state_save_register_global(machine, state->m_flipscreen);
- state_save_register_global(machine, state->m_gfx_rom_address);
- state_save_register_global(machine, state->m_gfx_rom_ctrl_mode);
- state_save_register_global(machine, state->m_gfx_rom_ctrl_latch);
- state_save_register_global(machine, state->m_gfx_rom_ctrl_data);
+ state_save_register_global(machine(), m_flipscreen);
+ state_save_register_global(machine(), m_gfx_rom_address);
+ state_save_register_global(machine(), m_gfx_rom_ctrl_mode);
+ state_save_register_global(machine(), m_gfx_rom_ctrl_latch);
+ state_save_register_global(machine(), m_gfx_rom_ctrl_data);
}
@@ -698,7 +697,6 @@ static MACHINE_CONFIG_START( spiders, spiders_state )
MCFG_CPU_ADD("audiocpu", M6802, 3000000)
MCFG_CPU_PROGRAM_MAP(spiders_audio_map)
- MCFG_MACHINE_START(spiders)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
diff --git a/src/mame/drivers/splash.c b/src/mame/drivers/splash.c
index 95630f22204..9b03ef68d6d 100644
--- a/src/mame/drivers/splash.c
+++ b/src/mame/drivers/splash.c
@@ -291,12 +291,11 @@ static ADDRESS_MAP_START( funystrp_sound_io_map, AS_IO, 8, splash_state )
AM_RANGE(0x07, 0x07) AM_WRITE(msm2_interrupt_w)
ADDRESS_MAP_END
-static MACHINE_RESET( funystrp )
+MACHINE_RESET_MEMBER(splash_state,funystrp)
{
- splash_state *state = machine.driver_data<splash_state>();
- state->m_adpcm_data = 0;
- state->m_ret = 0x100;
+ m_adpcm_data = 0;
+ m_ret = 0x100;
}
@@ -485,12 +484,11 @@ static const msm5205_interface splash_msm5205_interface =
MSM5205_S48_4B /* 8KHz */
};
-static MACHINE_RESET( splash )
+MACHINE_RESET_MEMBER(splash_state,splash)
{
- splash_state *state = machine.driver_data<splash_state>();
- state->m_adpcm_data = 0;
- state->m_ret = 0x100;
+ m_adpcm_data = 0;
+ m_ret = 0x100;
}
static MACHINE_CONFIG_START( splash, splash_state )
@@ -515,9 +513,8 @@ static MACHINE_CONFIG_START( splash, splash_state )
MCFG_GFXDECODE(splash)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(splash)
- MCFG_MACHINE_RESET( splash )
+ MCFG_MACHINE_RESET_OVERRIDE(splash_state, splash )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -573,9 +570,8 @@ static MACHINE_CONFIG_START( roldfrog, splash_state )
MCFG_GFXDECODE(splash)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(splash)
- MCFG_MACHINE_RESET( splash )
+ MCFG_MACHINE_RESET_OVERRIDE(splash_state, splash )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -654,9 +650,8 @@ static MACHINE_CONFIG_START( funystrp, splash_state )
MCFG_GFXDECODE(splash)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(splash)
- MCFG_MACHINE_RESET( funystrp )
+ MCFG_MACHINE_RESET_OVERRIDE(splash_state, funystrp )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/spoker.c b/src/mame/drivers/spoker.c
index 63e79c241f1..18562595628 100644
--- a/src/mame/drivers/spoker.c
+++ b/src/mame/drivers/spoker.c
@@ -56,6 +56,8 @@ public:
DECLARE_DRIVER_INIT(3super8);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
WRITE8_MEMBER(spoker_state::bg_tile_w)
@@ -91,13 +93,12 @@ WRITE8_MEMBER(spoker_state::fg_color_w)
m_fg_tilemap->mark_tile_dirty(offset);
}
-static VIDEO_START(spoker)
+void spoker_state::video_start()
{
- spoker_state *state = machine.driver_data<spoker_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 128, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spoker_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(spoker_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 32, 128, 8);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(spoker_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
+ m_fg_tilemap->set_transparent_pen(0);
}
static SCREEN_UPDATE_IND16(spoker)
@@ -510,13 +511,12 @@ GFXDECODE_END
Machine Drivers
***************************************************************************/
-static MACHINE_RESET( spoker )
+void spoker_state::machine_reset()
{
- spoker_state *state = machine.driver_data<spoker_state>();
- state->m_nmi_ack = 0;
- state->m_hopper = 0;
- state->m_video_enable = 1;
+ m_nmi_ack = 0;
+ m_hopper = 0;
+ m_video_enable = 1;
}
static INTERRUPT_GEN( spoker_interrupt )
@@ -534,7 +534,6 @@ static MACHINE_CONFIG_START( spoker, spoker_state )
MCFG_CPU_IO_MAP(spoker_portmap)
MCFG_CPU_VBLANK_INT("screen",spoker_interrupt)
- MCFG_MACHINE_RESET(spoker)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -549,7 +548,6 @@ static MACHINE_CONFIG_START( spoker, spoker_state )
MCFG_GFXDECODE(spoker)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(spoker)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c
index d67355618a3..ea130b61147 100644
--- a/src/mame/drivers/spool99.c
+++ b/src/mame/drivers/spool99.c
@@ -116,6 +116,7 @@ public:
DECLARE_WRITE8_MEMBER(eeprom_dataline_w);
DECLARE_DRIVER_INIT(spool99);
TILE_GET_INFO_MEMBER(get_spool99_tile_info);
+ virtual void video_start();
};
TILE_GET_INFO_MEMBER(spool99_state::get_spool99_tile_info)
@@ -130,11 +131,10 @@ TILE_GET_INFO_MEMBER(spool99_state::get_spool99_tile_info)
0);
}
-static VIDEO_START(spool99)
+void spool99_state::video_start()
{
- spool99_state *state = machine.driver_data<spool99_state>();
- state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spool99_state::get_spool99_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_sc0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(spool99_state::get_spool99_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
static SCREEN_UPDATE_IND16(spool99)
@@ -367,7 +367,6 @@ static MACHINE_CONFIG_START( spool99, spool99_state )
MCFG_EEPROM_93C46_ADD("eeprom")
- MCFG_VIDEO_START(spool99)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/sprcros2.c b/src/mame/drivers/sprcros2.c
index cd79f01b2c4..945007ca35b 100644
--- a/src/mame/drivers/sprcros2.c
+++ b/src/mame/drivers/sprcros2.c
@@ -270,12 +270,11 @@ static INTERRUPT_GEN( sprcros2_s_interrupt )
device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_START( sprcros2 )
+void sprcros2_state::machine_start()
{
- sprcros2_state *state = machine.driver_data<sprcros2_state>();
- state->save_item(NAME(state->m_port7));
- state->save_item(NAME(state->m_s_port3));
+ save_item(NAME(m_port7));
+ save_item(NAME(m_s_port3));
}
static MACHINE_CONFIG_START( sprcros2, sprcros2_state )
@@ -291,7 +290,6 @@ static MACHINE_CONFIG_START( sprcros2, sprcros2_state )
MCFG_CPU_IO_MAP(sprcros2_slave_io_map)
MCFG_CPU_PERIODIC_INT(sprcros2_s_interrupt,2*60) //2 nmis
- MCFG_MACHINE_START(sprcros2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -304,8 +302,6 @@ static MACHINE_CONFIG_START( sprcros2, sprcros2_state )
MCFG_GFXDECODE(sprcros2)
MCFG_PALETTE_LENGTH(768)
- MCFG_PALETTE_INIT(sprcros2)
- MCFG_VIDEO_START(sprcros2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sprint2.c b/src/mame/drivers/sprint2.c
index 6d2532ef065..24d9c8c2019 100644
--- a/src/mame/drivers/sprint2.c
+++ b/src/mame/drivers/sprint2.c
@@ -512,8 +512,6 @@ static MACHINE_CONFIG_START( sprint2, sprint2_state )
MCFG_GFXDECODE(sprint2)
MCFG_PALETTE_LENGTH(12)
- MCFG_PALETTE_INIT(sprint2)
- MCFG_VIDEO_START(sprint2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/sprint4.c b/src/mame/drivers/sprint4.c
index 68b7f11ed26..9e6dc99a7c2 100644
--- a/src/mame/drivers/sprint4.c
+++ b/src/mame/drivers/sprint4.c
@@ -108,20 +108,19 @@ static TIMER_CALLBACK( nmi_callback )
}
-static MACHINE_RESET( sprint4 )
+void sprint4_state::machine_reset()
{
- sprint4_state *state = machine.driver_data<sprint4_state>();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(32), FUNC(nmi_callback), 32);
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(32), FUNC(nmi_callback), 32);
- memset(state->m_steer_FF1, 0, sizeof state->m_steer_FF1);
- memset(state->m_steer_FF2, 0, sizeof state->m_steer_FF2);
+ memset(m_steer_FF1, 0, sizeof m_steer_FF1);
+ memset(m_steer_FF2, 0, sizeof m_steer_FF2);
- state->m_gear[0] = 1;
- state->m_gear[1] = 1;
- state->m_gear[2] = 1;
- state->m_gear[3] = 1;
+ m_gear[0] = 1;
+ m_gear[1] = 1;
+ m_gear[2] = 1;
+ m_gear[3] = 1;
- state->m_da_latch = 0;
+ m_da_latch = 0;
}
@@ -401,7 +400,6 @@ static MACHINE_CONFIG_START( sprint4, sprint4_state )
MCFG_CPU_PROGRAM_MAP(sprint4_cpu_map)
MCFG_WATCHDOG_VBLANK_INIT(8)
- MCFG_MACHINE_RESET(sprint4)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -412,8 +410,6 @@ static MACHINE_CONFIG_START( sprint4, sprint4_state )
MCFG_GFXDECODE(sprint4)
MCFG_PALETTE_LENGTH(10)
- MCFG_PALETTE_INIT(sprint4)
- MCFG_VIDEO_START(sprint4)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/sprint8.c b/src/mame/drivers/sprint8.c
index 84b4598050a..81ad80c662b 100644
--- a/src/mame/drivers/sprint8.c
+++ b/src/mame/drivers/sprint8.c
@@ -52,11 +52,10 @@ static TIMER_DEVICE_CALLBACK( input_callback )
}
-static MACHINE_RESET( sprint8 )
+void sprint8_state::machine_reset()
{
- sprint8_state *state = machine.driver_data<sprint8_state>();
- state->m_collision_reset = 0;
- state->m_collision_index = 0;
+ m_collision_reset = 0;
+ m_collision_index = 0;
}
@@ -456,7 +455,6 @@ static MACHINE_CONFIG_START( sprint8, sprint8_state )
MCFG_CPU_ADD("maincpu", M6800, 11055000 / 11) /* ? */
MCFG_CPU_PROGRAM_MAP(sprint8_map)
- MCFG_MACHINE_RESET(sprint8)
MCFG_TIMER_ADD_PERIODIC("input_timer", input_callback, attotime::from_hz(60))
@@ -471,8 +469,6 @@ static MACHINE_CONFIG_START( sprint8, sprint8_state )
MCFG_GFXDECODE(sprint8)
MCFG_PALETTE_LENGTH(36)
- MCFG_PALETTE_INIT(sprint8)
- MCFG_VIDEO_START(sprint8)
/* sound hardware */
diff --git a/src/mame/drivers/spy.c b/src/mame/drivers/spy.c
index b67bde7472f..e06eacefb0c 100644
--- a/src/mame/drivers/spy.c
+++ b/src/mame/drivers/spy.c
@@ -495,38 +495,36 @@ static const k051960_interface spy_k051960_intf =
spy_sprite_callback
};
-static MACHINE_START( spy )
+void spy_state::machine_start()
{
- spy_state *state = machine.driver_data<spy_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
- state->m_generic_paletteram_8.allocate(0x800);
- memset(state->m_pmcram, 0, sizeof(state->m_pmcram));
+ m_generic_paletteram_8.allocate(0x800);
+ memset(m_pmcram, 0, sizeof(m_pmcram));
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
- state->m_k007232_1 = machine.device("k007232_1");
- state->m_k007232_2 = machine.device("k007232_2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
+ m_k007232_1 = machine().device("k007232_1");
+ m_k007232_2 = machine().device("k007232_2");
- state->save_item(NAME(state->m_rambank));
- state->save_item(NAME(state->m_pmcbank));
- state->save_item(NAME(state->m_video_enable));
- state->save_item(NAME(state->m_old_3f90));
- state->save_item(NAME(state->m_pmcram));
+ save_item(NAME(m_rambank));
+ save_item(NAME(m_pmcbank));
+ save_item(NAME(m_video_enable));
+ save_item(NAME(m_old_3f90));
+ save_item(NAME(m_pmcram));
}
-static MACHINE_RESET( spy )
+void spy_state::machine_reset()
{
- spy_state *state = machine.driver_data<spy_state>();
- state->m_rambank = 0;
- state->m_pmcbank = 0;
- state->m_video_enable = 0;
- state->m_old_3f90 = -1;
+ m_rambank = 0;
+ m_pmcbank = 0;
+ m_video_enable = 0;
+ m_old_3f90 = -1;
}
static MACHINE_CONFIG_START( spy, spy_state )
@@ -540,8 +538,6 @@ static MACHINE_CONFIG_START( spy, spy_state )
MCFG_CPU_PROGRAM_MAP(spy_sound_map)
/* nmi by the sound chip */
- MCFG_MACHINE_START(spy)
- MCFG_MACHINE_RESET(spy)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -555,7 +551,6 @@ static MACHINE_CONFIG_START( spy, spy_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(spy)
MCFG_K052109_ADD("k052109", spy_k052109_intf)
MCFG_K051960_ADD("k051960", spy_k051960_intf)
diff --git a/src/mame/drivers/srmp2.c b/src/mame/drivers/srmp2.c
index e3e79a0a5b2..5d9dd7b5786 100644
--- a/src/mame/drivers/srmp2.c
+++ b/src/mame/drivers/srmp2.c
@@ -70,10 +70,9 @@ Note:
***************************************************************************/
-static MACHINE_START( srmp2 )
+MACHINE_START_MEMBER(srmp2_state,srmp2)
{
- srmp2_state *state = machine.driver_data<srmp2_state>();
- iox_t &iox = state->m_iox;
+ iox_t &iox = m_iox;
iox.reset = 0x1f;
iox.ff_event = -1;
@@ -85,10 +84,9 @@ static MACHINE_START( srmp2 )
iox.protcheck[3] = -1; iox.protlatch[3] = -1;
}
-static MACHINE_START( srmp3 )
+MACHINE_START_MEMBER(srmp2_state,srmp3)
{
- srmp2_state *state = machine.driver_data<srmp2_state>();
- iox_t &iox = state->m_iox;
+ iox_t &iox = m_iox;
iox.reset = 0xc8;
iox.ff_event = 0xef;
@@ -99,10 +97,9 @@ static MACHINE_START( srmp3 )
iox.protcheck[3] = 0x45; iox.protlatch[3] = 0x00;
}
-static MACHINE_START( rmgoldyh )
+MACHINE_START_MEMBER(srmp2_state,rmgoldyh)
{
- srmp2_state *state = machine.driver_data<srmp2_state>();
- iox_t &iox = state->m_iox;
+ iox_t &iox = m_iox;
iox.reset = 0xc8;
iox.ff_event = 0xff;
@@ -1171,7 +1168,7 @@ static MACHINE_CONFIG_START( srmp2, srmp2_state )
MCFG_CPU_VBLANK_INT("screen",irq4_line_assert)
MCFG_CPU_PERIODIC_INT(irq2_line_assert,15*60) /* Interrupt times is not understood */
- MCFG_MACHINE_START(srmp2)
+ MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp2)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1187,7 +1184,7 @@ static MACHINE_CONFIG_START( srmp2, srmp2_state )
MCFG_GFXDECODE(srmp2)
MCFG_PALETTE_LENGTH(1024) /* sprites only */
- MCFG_PALETTE_INIT(srmp2)
+ MCFG_PALETTE_INIT_OVERRIDE(srmp2_state,srmp2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1212,7 +1209,7 @@ static MACHINE_CONFIG_START( srmp3, srmp2_state )
MCFG_CPU_IO_MAP(srmp3_io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_assert)
- MCFG_MACHINE_START(srmp3)
+ MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp3)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1228,7 +1225,7 @@ static MACHINE_CONFIG_START( srmp3, srmp2_state )
MCFG_GFXDECODE(srmp3)
MCFG_PALETTE_LENGTH(512) /* sprites only */
- MCFG_PALETTE_INIT(srmp3)
+ MCFG_PALETTE_INIT_OVERRIDE(srmp2_state,srmp3)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1248,7 +1245,7 @@ static MACHINE_CONFIG_DERIVED( rmgoldyh, srmp3 )
MCFG_CPU_PROGRAM_MAP(rmgoldyh_map)
MCFG_CPU_IO_MAP(rmgoldyh_io_map)
- MCFG_MACHINE_START(rmgoldyh)
+ MCFG_MACHINE_START_OVERRIDE(srmp2_state,rmgoldyh)
MCFG_GFXDECODE(rmgoldyh)
MACHINE_CONFIG_END
@@ -1261,7 +1258,7 @@ static MACHINE_CONFIG_START( mjyuugi, srmp2_state )
MCFG_CPU_VBLANK_INT("screen",irq4_line_assert)
MCFG_CPU_PERIODIC_INT(irq2_line_assert,15*60) /* Interrupt times is not understood */
- MCFG_MACHINE_START(srmp2)
+ MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp2)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/srmp5.c b/src/mame/drivers/srmp5.c
index b004c92c97b..86e53487180 100644
--- a/src/mame/drivers/srmp5.c
+++ b/src/mame/drivers/srmp5.c
@@ -579,7 +579,7 @@ static MACHINE_CONFIG_START( srmp5, srmp5_state )
#ifdef DEBUG_CHAR
MCFG_GFXDECODE( srmp5 )
#endif
- MCFG_VIDEO_START(st0016)
+ MCFG_VIDEO_START_OVERRIDE(st0016_state,st0016)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/srmp6.c b/src/mame/drivers/srmp6.c
index e489f8ae563..4de22ae59f4 100644
--- a/src/mame/drivers/srmp6.c
+++ b/src/mame/drivers/srmp6.c
@@ -104,6 +104,7 @@ public:
DECLARE_WRITE16_MEMBER(paletteram_w);
DECLARE_READ16_MEMBER(srmp6_irq_ack_r);
DECLARE_DRIVER_INIT(INIT);
+ virtual void video_start();
};
#define VERBOSE 0
@@ -153,19 +154,18 @@ static void update_palette(running_machine &machine)
}
}
-static VIDEO_START(srmp6)
+void srmp6_state::video_start()
{
- srmp6_state *state = machine.driver_data<srmp6_state>();
- state->m_tileram = auto_alloc_array_clear(machine, UINT16, 0x100000*16/2);
- state->m_dmaram.allocate(0x100/2);
- state->m_sprram_old = auto_alloc_array_clear(machine, UINT16, 0x80000/2);
+ m_tileram = auto_alloc_array_clear(machine(), UINT16, 0x100000*16/2);
+ m_dmaram.allocate(0x100/2);
+ m_sprram_old = auto_alloc_array_clear(machine(), UINT16, 0x80000/2);
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine.gfx[0] = auto_alloc(machine, gfx_element(machine, tiles8x8_layout, (UINT8*)state->m_tileram, machine.total_colors() / 256, 0));
- machine.gfx[0]->set_granularity(256);
+ machine().gfx[0] = auto_alloc(machine(), gfx_element(machine(), tiles8x8_layout, (UINT8*)m_tileram, machine().total_colors() / 256, 0));
+ machine().gfx[0]->set_granularity(256);
- state->m_brightness = 0x60;
+ m_brightness = 0x60;
}
#if 0
@@ -685,7 +685,6 @@ static MACHINE_CONFIG_START( srmp6, srmp6_state )
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(srmp6)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c
index 5e2141aa0c0..716f524eafd 100644
--- a/src/mame/drivers/srumbler.c
+++ b/src/mame/drivers/srumbler.c
@@ -43,12 +43,11 @@ WRITE8_MEMBER(srumbler_state::srumbler_bankswitch_w)
}
}
-static MACHINE_START( srumbler )
+void srumbler_state::machine_start()
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* initialize banked ROM pointers */
- srumbler_state *state = machine.driver_data<srumbler_state>();
- state->srumbler_bankswitch_w(*space,0,0);
+ srumbler_bankswitch_w(*space,0,0);
}
static TIMER_DEVICE_CALLBACK( srumbler_interrupt )
@@ -246,7 +245,6 @@ static MACHINE_CONFIG_START( srumbler, srumbler_state )
MCFG_CPU_PROGRAM_MAP(srumbler_sound_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60)
- MCFG_MACHINE_START(srumbler)
/* video hardware */
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
@@ -262,7 +260,6 @@ static MACHINE_CONFIG_START( srumbler, srumbler_state )
MCFG_GFXDECODE(srumbler)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(srumbler)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ssfindo.c b/src/mame/drivers/ssfindo.c
index f868e0d28b0..c65f8acc035 100644
--- a/src/mame/drivers/ssfindo.c
+++ b/src/mame/drivers/ssfindo.c
@@ -245,6 +245,7 @@ public:
DECLARE_DRIVER_INIT(ssfindo);
DECLARE_DRIVER_INIT(ppcar);
DECLARE_DRIVER_INIT(tetfight);
+ virtual void machine_reset();
};
@@ -610,9 +611,9 @@ static ADDRESS_MAP_START( tetfight_map, AS_PROGRAM, 32, ssfindo_state )
AM_RANGE(0x10000000, 0x14ffffff) AM_RAM AM_SHARE("vram")
ADDRESS_MAP_END
-static MACHINE_RESET( ssfindo )
+void ssfindo_state::machine_reset()
{
- PS7500_reset(machine);
+ PS7500_reset(machine());
}
static INPUT_PORTS_START( ssfindo )
@@ -757,7 +758,6 @@ static MACHINE_CONFIG_START( ssfindo, ssfindo_state )
MCFG_CPU_PROGRAM_MAP(ssfindo_map)
MCFG_CPU_VBLANK_INT("screen", ssfindo_interrupt)
- MCFG_MACHINE_RESET(ssfindo)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/sshangha.c b/src/mame/drivers/sshangha.c
index 7cbdfc2d686..3091e19dcd0 100644
--- a/src/mame/drivers/sshangha.c
+++ b/src/mame/drivers/sshangha.c
@@ -109,7 +109,7 @@ READ16_MEMBER(sshangha_state::deco_71_r)
/******************************************************************************/
-static MACHINE_RESET( sshangha )
+void sshangha_state::machine_reset()
{
}
@@ -402,7 +402,6 @@ static MACHINE_CONFIG_START( sshangha, sshangha_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_RESET(sshangha) /* init machine */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -423,7 +422,6 @@ static MACHINE_CONFIG_START( sshangha, sshangha_state )
decospr_device::set_gfx_region(*device, 2);
- MCFG_VIDEO_START(sshangha)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") /* sure it's stereo? */
diff --git a/src/mame/drivers/sshot.c b/src/mame/drivers/sshot.c
index 8ced29b4f35..fe78f4720e6 100644
--- a/src/mame/drivers/sshot.c
+++ b/src/mame/drivers/sshot.c
@@ -172,6 +172,8 @@ public:
DECLARE_WRITE8_MEMBER(supershot_output0_w);
DECLARE_WRITE8_MEMBER(supershot_output1_w);
TILE_GET_INFO_MEMBER(get_supershot_text_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*************************************
@@ -187,10 +189,9 @@ TILE_GET_INFO_MEMBER(supershot_state::get_supershot_text_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
-static VIDEO_START( supershot )
+void supershot_state::video_start()
{
- supershot_state *state = machine.driver_data<supershot_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supershot_state::get_supershot_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supershot_state::get_supershot_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( supershot )
@@ -320,10 +321,10 @@ static GFXDECODE_START( supershot )
GFXDECODE_ENTRY( "gfx", 0, supershot_charlayout, 0, 1 )
GFXDECODE_END
-static PALETTE_INIT( supershot )
+void supershot_state::palette_init()
{
- palette_set_color(machine,0,RGB_BLACK); /* black */
- palette_set_color(machine,1,RGB_WHITE); /* white */
+ palette_set_color(machine(),0,RGB_BLACK); /* black */
+ palette_set_color(machine(),1,RGB_WHITE); /* white */
}
static MACHINE_CONFIG_START( supershot, supershot_state )
@@ -339,12 +340,10 @@ static MACHINE_CONFIG_START( supershot, supershot_state )
MCFG_SCREEN_SIZE((32)*8, (32)*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
- MCFG_VIDEO_START(supershot)
MCFG_SCREEN_UPDATE_STATIC(supershot)
MCFG_GFXDECODE(supershot)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(supershot)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ssingles.c b/src/mame/drivers/ssingles.c
index f3b261d95a5..7adb48c7350 100644
--- a/src/mame/drivers/ssingles.c
+++ b/src/mame/drivers/ssingles.c
@@ -172,6 +172,7 @@ public:
DECLARE_WRITE8_MEMBER(atamanot_prot_w);
DECLARE_CUSTOM_INPUT_MEMBER(controls_r);
DECLARE_DRIVER_INIT(ssingles);
+ virtual void video_start();
};
//fake palette
@@ -307,15 +308,14 @@ WRITE8_MEMBER(ssingles_state::ssingles_colorram_w)
}
-static VIDEO_START(ssingles)
+void ssingles_state::video_start()
{
- ssingles_state *state = machine.driver_data<ssingles_state>();
{
int i;
for(i=0;i<NUM_PENS;++i)
{
- state->m_pens[i]=MAKE_RGB(ssingles_colors[3*i], ssingles_colors[3*i+1], ssingles_colors[3*i+2]);
+ m_pens[i]=MAKE_RGB(ssingles_colors[3*i], ssingles_colors[3*i+1], ssingles_colors[3*i+2]);
}
}
}
@@ -578,7 +578,6 @@ static MACHINE_CONFIG_START( ssingles, ssingles_state )
MCFG_GFXDECODE(ssingles)
- MCFG_VIDEO_START(ssingles)
MCFG_MC6845_ADD("crtc", MC6845, 1000000 /* ? MHz */, ssingles_mc6845_intf)
diff --git a/src/mame/drivers/sslam.c b/src/mame/drivers/sslam.c
index cb741c67cba..4028a9ab7aa 100644
--- a/src/mame/drivers/sslam.c
+++ b/src/mame/drivers/sslam.c
@@ -723,7 +723,7 @@ static MACHINE_CONFIG_START( sslam, sslam_state )
MCFG_GFXDECODE(sslam)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(sslam)
+ MCFG_VIDEO_START_OVERRIDE(sslam_state,sslam)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -753,7 +753,7 @@ static MACHINE_CONFIG_START( powerbls, sslam_state )
MCFG_GFXDECODE(powerbls)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_VIDEO_START(powerbls)
+ MCFG_VIDEO_START_OVERRIDE(sslam_state,powerbls)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ssozumo.c b/src/mame/drivers/ssozumo.c
index 9e28fb4225e..32ef4ff0931 100644
--- a/src/mame/drivers/ssozumo.c
+++ b/src/mame/drivers/ssozumo.c
@@ -210,8 +210,6 @@ static MACHINE_CONFIG_START( ssozumo, ssozumo_state )
MCFG_GFXDECODE(ssozumo)
MCFG_PALETTE_LENGTH(64 + 16)
- MCFG_PALETTE_INIT(ssozumo)
- MCFG_VIDEO_START(ssozumo)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/sspeedr.c b/src/mame/drivers/sspeedr.c
index af43648dce0..ad634b25afc 100644
--- a/src/mame/drivers/sspeedr.c
+++ b/src/mame/drivers/sspeedr.c
@@ -11,7 +11,7 @@ Taito Super Speed Race driver
-static PALETTE_INIT( sspeedr )
+void sspeedr_state::palette_init()
{
int i;
@@ -28,7 +28,7 @@ static PALETTE_INIT( sspeedr )
b += 0x4f;
}
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -204,8 +204,6 @@ static MACHINE_CONFIG_START( sspeedr, sspeedr_state )
MCFG_GFXDECODE(sspeedr)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(sspeedr)
- MCFG_VIDEO_START(sspeedr)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ssrj.c b/src/mame/drivers/ssrj.c
index b57e5fb1368..b1a9b9de83d 100644
--- a/src/mame/drivers/ssrj.c
+++ b/src/mame/drivers/ssrj.c
@@ -34,13 +34,12 @@ HW info :
#include "sound/ay8910.h"
#include "includes/ssrj.h"
-static MACHINE_RESET(ssrj)
+void ssrj_state::machine_reset()
{
- ssrj_state *state = machine.driver_data<ssrj_state>();
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
memset(&rom[0xc000], 0 ,0x3fff); /* req for some control types */
- state->m_oldport = 0x80;
+ m_oldport = 0x80;
}
READ8_MEMBER(ssrj_state::ssrj_wheel_r)
@@ -158,11 +157,8 @@ static MACHINE_CONFIG_START( ssrj, ssrj_state )
MCFG_GFXDECODE(ssrj)
MCFG_PALETTE_LENGTH(128)
- MCFG_PALETTE_INIT(ssrj)
- MCFG_VIDEO_START(ssrj)
- MCFG_MACHINE_RESET(ssrj)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ssv.c b/src/mame/drivers/ssv.c
index 7234105d4b7..00dc16110d5 100644
--- a/src/mame/drivers/ssv.c
+++ b/src/mame/drivers/ssv.c
@@ -321,12 +321,11 @@ WRITE16_MEMBER(ssv_state::ssv_lockout_inv_w)
}
}
-static MACHINE_RESET( ssv )
+void ssv_state::machine_reset()
{
- ssv_state *state = machine.driver_data<ssv_state>();
- state->m_requested_int = 0;
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(ssv_irq_callback);
- state->membank("bank1")->set_base(state->memregion("user1")->base());
+ m_requested_int = 0;
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(ssv_irq_callback);
+ membank("bank1")->set_base(memregion("user1")->base());
}
@@ -2605,7 +2604,6 @@ static MACHINE_CONFIG_START( ssv, ssv_state )
MCFG_CPU_ADD("maincpu", V60, 16000000) /* Based on STA-0001 & STA-0001B System boards */
MCFG_TIMER_ADD_SCANLINE("scantimer", ssv_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(ssv)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2616,7 +2614,6 @@ static MACHINE_CONFIG_START( ssv, ssv_state )
MCFG_GFXDECODE(ssv)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_VIDEO_START(ssv)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2666,7 +2663,7 @@ static MACHINE_CONFIG_DERIVED( gdfs, ssv )
MCFG_DEVICE_ADD("st0020_spr", ST0020_SPRITES, 0)
MCFG_GFXDECODE(gdfs)
- MCFG_VIDEO_START(gdfs)
+ MCFG_VIDEO_START_OVERRIDE(ssv_state,gdfs)
MACHINE_CONFIG_END
@@ -2844,7 +2841,7 @@ static MACHINE_CONFIG_DERIVED( eaglshot, ssv )
MCFG_SCREEN_UPDATE_STATIC(eaglshot)
MCFG_GFXDECODE(eaglshot)
- MCFG_VIDEO_START(eaglshot)
+ MCFG_VIDEO_START_OVERRIDE(ssv_state,eaglshot)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/st0016.c b/src/mame/drivers/st0016.c
index 902194651fd..b174b7bcac1 100644
--- a/src/mame/drivers/st0016.c
+++ b/src/mame/drivers/st0016.c
@@ -459,7 +459,7 @@ static MACHINE_CONFIG_START( st0016, st0016_state )
MCFG_GFXDECODE(st0016)
MCFG_PALETTE_LENGTH(16*16*4+1)
- MCFG_VIDEO_START(st0016)
+ MCFG_VIDEO_START_OVERRIDE(st0016_state,st0016)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/stactics.c b/src/mame/drivers/stactics.c
index a7275346712..fe75ab4bee5 100644
--- a/src/mame/drivers/stactics.c
+++ b/src/mame/drivers/stactics.c
@@ -282,13 +282,12 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( stactics )
+void stactics_state::machine_start()
{
- stactics_state *state = machine.driver_data<stactics_state>();
- state->m_vert_pos = 0;
- state->m_horiz_pos = 0;
- *state->m_motor_on = 0;
+ m_vert_pos = 0;
+ m_horiz_pos = 0;
+ *m_motor_on = 0;
}
@@ -306,7 +305,6 @@ static MACHINE_CONFIG_START( stactics, stactics_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", stactics_interrupt)
- MCFG_MACHINE_START(stactics)
/* video hardware */
MCFG_FRAGMENT_ADD(stactics_video)
diff --git a/src/mame/drivers/stadhero.c b/src/mame/drivers/stadhero.c
index 00c36c34291..f24e0e3921e 100644
--- a/src/mame/drivers/stadhero.c
+++ b/src/mame/drivers/stadhero.c
@@ -251,7 +251,6 @@ static MACHINE_CONFIG_START( stadhero, stadhero_state )
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 2);
- MCFG_VIDEO_START(stadhero)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/starcrus.c b/src/mame/drivers/starcrus.c
index f8d9766c8e9..059e1a5111b 100644
--- a/src/mame/drivers/starcrus.c
+++ b/src/mame/drivers/starcrus.c
@@ -153,8 +153,6 @@ static MACHINE_CONFIG_START( starcrus, starcrus_state )
MCFG_GFXDECODE(starcrus)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(starcrus)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/starfire.c b/src/mame/drivers/starfire.c
index 3ff56aa3288..f0499e632be 100644
--- a/src/mame/drivers/starfire.c
+++ b/src/mame/drivers/starfire.c
@@ -270,7 +270,6 @@ static MACHINE_CONFIG_START( starfire, starfire_state )
MCFG_SCREEN_RAW_PARAMS(STARFIRE_PIXEL_CLOCK, STARFIRE_HTOTAL, STARFIRE_HBEND, STARFIRE_HBSTART, STARFIRE_VTOTAL, STARFIRE_VBEND, STARFIRE_VBSTART)
MCFG_SCREEN_UPDATE_STATIC(starfire)
- MCFG_VIDEO_START(starfire)
/* audio hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/starshp1.c b/src/mame/drivers/starshp1.c
index fea7e76d84a..a6a92766c42 100644
--- a/src/mame/drivers/starshp1.c
+++ b/src/mame/drivers/starshp1.c
@@ -311,9 +311,7 @@ static MACHINE_CONFIG_START( starshp1, starshp1_state )
MCFG_GFXDECODE(starshp1)
MCFG_PALETTE_LENGTH(19)
- MCFG_PALETTE_INIT(starshp1)
- MCFG_VIDEO_START(starshp1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/starwars.c b/src/mame/drivers/starwars.c
index dac50b566a6..b122fe9b905 100644
--- a/src/mame/drivers/starwars.c
+++ b/src/mame/drivers/starwars.c
@@ -43,25 +43,24 @@
*
*************************************/
-static MACHINE_RESET( starwars )
+void starwars_state::machine_reset()
{
- starwars_state *state = machine.driver_data<starwars_state>();
/* ESB-specific */
- if (state->m_is_esb)
+ if (m_is_esb)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* reset the slapstic */
slapstic_reset();
- state->m_slapstic_current_bank = slapstic_bank();
- memcpy(state->m_slapstic_base, &state->m_slapstic_source[state->m_slapstic_current_bank * 0x2000], 0x2000);
+ m_slapstic_current_bank = slapstic_bank();
+ memcpy(m_slapstic_base, &m_slapstic_source[m_slapstic_current_bank * 0x2000], 0x2000);
/* reset all the banks */
- state->starwars_out_w(*space, 4, 0);
+ starwars_out_w(*space, 4, 0);
}
/* reset the matrix processor */
- starwars_mproc_reset(machine);
+ starwars_mproc_reset(machine());
}
@@ -325,7 +324,6 @@ static MACHINE_CONFIG_START( starwars, starwars_state )
MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK / 8)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_RESET(starwars)
MCFG_RIOT6532_ADD("riot", MASTER_CLOCK / 8, starwars_riot6532_intf)
diff --git a/src/mame/drivers/statriv2.c b/src/mame/drivers/statriv2.c
index 3b734b79cbe..d73b8b482ed 100644
--- a/src/mame/drivers/statriv2.c
+++ b/src/mame/drivers/statriv2.c
@@ -106,6 +106,9 @@ public:
DECLARE_DRIVER_INIT(laserdisc);
TILE_GET_INFO_MEMBER(horizontal_tile_info);
TILE_GET_INFO_MEMBER(vertical_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(vertical);
};
@@ -144,27 +147,25 @@ TILE_GET_INFO_MEMBER(statriv2_state::vertical_tile_info)
*
*************************************/
-static PALETTE_INIT( statriv2 )
+void statriv2_state::palette_init()
{
int i;
for (i = 0; i < 64; i++)
{
- palette_set_color_rgb(machine, 2*i+0, pal1bit(i >> 2), pal1bit(i >> 0), pal1bit(i >> 1));
- palette_set_color_rgb(machine, 2*i+1, pal1bit(i >> 5), pal1bit(i >> 3), pal1bit(i >> 4));
+ palette_set_color_rgb(machine(), 2*i+0, pal1bit(i >> 2), pal1bit(i >> 0), pal1bit(i >> 1));
+ palette_set_color_rgb(machine(), 2*i+1, pal1bit(i >> 5), pal1bit(i >> 3), pal1bit(i >> 4));
}
}
-static VIDEO_START( horizontal )
+void statriv2_state::video_start()
{
- statriv2_state *state = machine.driver_data<statriv2_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(statriv2_state::horizontal_tile_info),state) ,TILEMAP_SCAN_ROWS, 8,15, 64,16);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(statriv2_state::horizontal_tile_info),this) ,TILEMAP_SCAN_ROWS, 8,15, 64,16);
}
-static VIDEO_START( vertical )
+VIDEO_START_MEMBER(statriv2_state,vertical)
{
- statriv2_state *state = machine.driver_data<statriv2_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(statriv2_state::vertical_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(statriv2_state::vertical_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
}
@@ -618,8 +619,6 @@ static MACHINE_CONFIG_START( statriv2, statriv2_state )
MCFG_GFXDECODE(horizontal)
MCFG_PALETTE_LENGTH(2*64)
- MCFG_PALETTE_INIT(statriv2)
- MCFG_VIDEO_START(horizontal)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -635,7 +634,7 @@ static MACHINE_CONFIG_DERIVED( statriv2v, statriv2 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 392, 0, 256, 262, 0, 256)
- MCFG_VIDEO_START(vertical)
+ MCFG_VIDEO_START_OVERRIDE(statriv2_state,vertical)
MCFG_GFXDECODE(vertical)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/stfight.c b/src/mame/drivers/stfight.c
index 5818c0ead59..841ea911e86 100644
--- a/src/mame/drivers/stfight.c
+++ b/src/mame/drivers/stfight.c
@@ -444,7 +444,6 @@ static MACHINE_CONFIG_START( stfight, stfight_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(stfight)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -457,8 +456,6 @@ static MACHINE_CONFIG_START( stfight, stfight_state )
MCFG_GFXDECODE(stfight)
MCFG_PALETTE_LENGTH(16*4+16*16+16*16+16*16)
- MCFG_PALETTE_INIT(stfight)
- MCFG_VIDEO_START(stfight)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/stlforce.c b/src/mame/drivers/stlforce.c
index 398e55d8827..40e0c00a2ec 100644
--- a/src/mame/drivers/stlforce.c
+++ b/src/mame/drivers/stlforce.c
@@ -206,7 +206,6 @@ static MACHINE_CONFIG_START( stlforce, stlforce_state )
MCFG_GFXDECODE(stlforce)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(stlforce)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/strnskil.c b/src/mame/drivers/strnskil.c
index 489c09b6ad2..e4b5ee0c14f 100644
--- a/src/mame/drivers/strnskil.c
+++ b/src/mame/drivers/strnskil.c
@@ -372,8 +372,6 @@ static MACHINE_CONFIG_START( strnskil, strnskil_state )
MCFG_GFXDECODE(strnskil)
MCFG_PALETTE_LENGTH(1024)
- MCFG_PALETTE_INIT(strnskil)
- MCFG_VIDEO_START(strnskil)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/su2000.c b/src/mame/drivers/su2000.c
index b686cb555bd..5fd9c78558d 100644
--- a/src/mame/drivers/su2000.c
+++ b/src/mame/drivers/su2000.c
@@ -79,6 +79,8 @@ public:
UINT32 *m_pc_ram;
DECLARE_WRITE_LINE_MEMBER(su2000_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -256,40 +258,39 @@ static IRQ_CALLBACK( pc_irq_callback )
*
*************************************/
-static MACHINE_START( su2000 )
+void su2000_state::machine_start()
{
- su2000_state *state = machine.driver_data<su2000_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- state->m_pit8254 = machine.device("pit8254");
- state->m_pic8259_1 = machine.device("pic8259_1");
- state->m_pic8259_2 = machine.device("pic8259_2");
- state->m_dma8237_1 = machine.device("dma8237_1");
- state->m_dma8237_2 = machine.device("dma8237_2");
+ m_pit8254 = machine().device("pit8254");
+ m_pic8259_1 = machine().device("pic8259_1");
+ m_pic8259_2 = machine().device("pic8259_2");
+ m_dma8237_1 = machine().device("dma8237_1");
+ m_dma8237_2 = machine().device("dma8237_2");
/* Configure RAM */
- state->m_pc_ram = auto_alloc_array_clear(machine, UINT32, PC_RAM_SIZE);
+ m_pc_ram = auto_alloc_array_clear(machine(), UINT32, PC_RAM_SIZE);
/* Conventional memory */
- state->membank("mem_bank")->set_base(state->m_pc_ram);
+ membank("mem_bank")->set_base(m_pc_ram);
/* HMA */
offs_t ram_limit = 0x100000 + PC_RAM_SIZE - 0x0a0000;
space->install_read_bank(0x100000, ram_limit - 1, "hma_bank");
space->install_write_bank(0x100000, ram_limit - 1, "hma_bank");
- state->membank("hma_bank")->set_base(state->m_pc_ram + 0xa0000);
+ membank("hma_bank")->set_base(m_pc_ram + 0xa0000);
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pc_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pc_irq_callback);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, su2000_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, su2000_set_keyb_int);
- kbdc8042_init(machine, &at8042);
+ kbdc8042_init(machine(), &at8042);
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
-static MACHINE_RESET( su2000 )
+void su2000_state::machine_reset()
{
}
@@ -327,8 +328,6 @@ static MACHINE_CONFIG_START( su2000, su2000_state )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // TODO
- MCFG_MACHINE_START(su2000)
- MCFG_MACHINE_RESET(su2000)
MCFG_FRAGMENT_ADD(pcat_common)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sub.c b/src/mame/drivers/sub.c
index 7a31bae1bc2..be67bc11cc4 100644
--- a/src/mame/drivers/sub.c
+++ b/src/mame/drivers/sub.c
@@ -131,9 +131,11 @@ public:
UINT8 m_nmi_en;
DECLARE_WRITE8_MEMBER(subm_to_sound_w);
DECLARE_WRITE8_MEMBER(nmi_mask_w);
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START(sub)
+void sub_state::video_start()
{
}
@@ -384,14 +386,14 @@ static GFXDECODE_START( sub )
GFXDECODE_ENTRY( "gfx2", 0, tiles16x32_layout, 0, 0x80 )
GFXDECODE_END
-static PALETTE_INIT( sub )
+void sub_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- UINT8* lookup = machine.root_device().memregion("proms2")->base();
+ UINT8* lookup = machine().root_device().memregion("proms2")->base();
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
for (i = 0;i < 0x100;i++)
{
@@ -400,8 +402,8 @@ static PALETTE_INIT( sub )
g = (color_prom[0x100] >> 0);
b = (color_prom[0x200] >> 0);
- //colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(pal4bit(r), pal4bit(g), pal4bit(b)));
+ //colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(pal4bit(r), pal4bit(g), pal4bit(b)));
color_prom++;
}
@@ -410,7 +412,7 @@ static PALETTE_INIT( sub )
for (i = 0;i < 0x400;i++)
{
UINT8 ctabentry = lookup[i+0x400] | (lookup[i+0x000] << 4);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -448,9 +450,7 @@ static MACHINE_CONFIG_START( sub, sub_state )
MCFG_GFXDECODE(sub)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_PALETTE_INIT(sub)
- MCFG_VIDEO_START(sub)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/subs.c b/src/mame/drivers/subs.c
index 299a51d6e83..2fb06c05a46 100644
--- a/src/mame/drivers/subs.c
+++ b/src/mame/drivers/subs.c
@@ -29,12 +29,12 @@
*
*************************************/
-static PALETTE_INIT( subs )
+void subs_state::palette_init()
{
- palette_set_color(machine,0,MAKE_RGB(0x00,0x00,0x00)); /* BLACK - modified on video invert */
- palette_set_color(machine,1,MAKE_RGB(0xff,0xff,0xff)); /* WHITE - modified on video invert */
- palette_set_color(machine,2,MAKE_RGB(0x00,0x00,0x00)); /* BLACK - modified on video invert */
- palette_set_color(machine,3,MAKE_RGB(0xff,0xff,0xff)); /* WHITE - modified on video invert*/
+ palette_set_color(machine(),0,MAKE_RGB(0x00,0x00,0x00)); /* BLACK - modified on video invert */
+ palette_set_color(machine(),1,MAKE_RGB(0xff,0xff,0xff)); /* WHITE - modified on video invert */
+ palette_set_color(machine(),2,MAKE_RGB(0x00,0x00,0x00)); /* BLACK - modified on video invert */
+ palette_set_color(machine(),3,MAKE_RGB(0xff,0xff,0xff)); /* WHITE - modified on video invert*/
}
@@ -181,7 +181,6 @@ static MACHINE_CONFIG_START( subs, subs_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_PERIODIC_INT(subs_interrupt,4*57)
- MCFG_MACHINE_RESET(subs)
/* video hardware */
MCFG_GFXDECODE(subs)
@@ -202,7 +201,6 @@ static MACHINE_CONFIG_START( subs, subs_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_STATIC(subs_right)
- MCFG_PALETTE_INIT(subs)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/subsino.c b/src/mame/drivers/subsino.c
index 328e1188f50..8f0c8a3b693 100644
--- a/src/mame/drivers/subsino.c
+++ b/src/mame/drivers/subsino.c
@@ -301,6 +301,11 @@ public:
TILE_GET_INFO_MEMBER(get_stisub_reel2_tile_info);
TILE_GET_INFO_MEMBER(get_subsino_reel3_tile_info);
TILE_GET_INFO_MEMBER(get_stisub_reel3_tile_info);
+ DECLARE_VIDEO_START(subsino);
+ DECLARE_PALETTE_INIT(subsino_2proms);
+ DECLARE_PALETTE_INIT(subsino_3proms);
+ DECLARE_VIDEO_START(subsino_reels);
+ DECLARE_VIDEO_START(stisub);
};
@@ -346,12 +351,11 @@ TILE_GET_INFO_MEMBER(subsino_state::get_stisub_tile_info)
}
-static VIDEO_START( subsino )
+VIDEO_START_MEMBER(subsino_state,subsino)
{
- subsino_state *state = machine.driver_data<subsino_state>();
- state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20 );
- state->m_tmap->set_transparent_pen(0 );
- state->m_tiles_offset = 0;
+ m_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20 );
+ m_tmap->set_transparent_pen(0 );
+ m_tiles_offset = 0;
}
@@ -448,36 +452,34 @@ TILE_GET_INFO_MEMBER(subsino_state::get_stisub_reel3_tile_info)
}
-static VIDEO_START( subsino_reels )
+VIDEO_START_MEMBER(subsino_state,subsino_reels)
{
- subsino_state *state = machine.driver_data<subsino_state>();
- VIDEO_START_CALL( subsino );
+ VIDEO_START_CALL_MEMBER( subsino );
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_subsino_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_subsino_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_subsino_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_subsino_reel1_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_subsino_reel2_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_subsino_reel3_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel1_tilemap->set_scroll_cols(64);
- state->m_reel2_tilemap->set_scroll_cols(64);
- state->m_reel3_tilemap->set_scroll_cols(64);
+ m_reel1_tilemap->set_scroll_cols(64);
+ m_reel2_tilemap->set_scroll_cols(64);
+ m_reel3_tilemap->set_scroll_cols(64);
}
-static VIDEO_START( stisub )
+VIDEO_START_MEMBER(subsino_state,stisub)
{
- subsino_state *state = machine.driver_data<subsino_state>();
- state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20 );
- state->m_tmap->set_transparent_pen(0 );
+ m_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20 );
+ m_tmap->set_transparent_pen(0 );
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_reel1_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_reel2_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_reel3_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- state->m_reel1_tilemap->set_scroll_cols(64);
- state->m_reel2_tilemap->set_scroll_cols(64);
- state->m_reel3_tilemap->set_scroll_cols(64);
+ m_reel1_tilemap->set_scroll_cols(64);
+ m_reel2_tilemap->set_scroll_cols(64);
+ m_reel3_tilemap->set_scroll_cols(64);
- state->m_out_c = 0x08;
+ m_out_c = 0x08;
}
@@ -557,9 +559,9 @@ static SCREEN_UPDATE_IND16( stisub_reels )
-static PALETTE_INIT( subsino_2proms )
+PALETTE_INIT_MEMBER(subsino_state,subsino_2proms)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i,r,g,b,val;
int bit0,bit1,bit2;
@@ -580,13 +582,13 @@ static PALETTE_INIT( subsino_2proms )
bit2 = (val >> 2) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-static PALETTE_INIT( subsino_3proms )
+PALETTE_INIT_MEMBER(subsino_state,subsino_3proms)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i,r,g,b,val;
int bit0,bit1,bit2;
@@ -607,7 +609,7 @@ static PALETTE_INIT( subsino_3proms )
bit2 = (val >> 0) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -2660,9 +2662,9 @@ static MACHINE_CONFIG_START( victor21, subsino_state )
MCFG_GFXDECODE(subsino_depth3)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(subsino_2proms)
+ MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_2proms)
- MCFG_VIDEO_START(subsino)
+ MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2700,9 +2702,9 @@ static MACHINE_CONFIG_START( crsbingo, subsino_state )
MCFG_GFXDECODE(subsino_depth4)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(subsino_2proms)
+ MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_2proms)
- MCFG_VIDEO_START(subsino)
+ MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2729,9 +2731,9 @@ static MACHINE_CONFIG_START( srider, subsino_state )
MCFG_GFXDECODE(subsino_depth4)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(subsino_3proms)
+ MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_3proms)
- MCFG_VIDEO_START(subsino)
+ MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2768,9 +2770,9 @@ static MACHINE_CONFIG_START( tisub, subsino_state )
MCFG_GFXDECODE(subsino_depth4_reels)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(subsino_3proms)
+ MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_3proms)
- MCFG_VIDEO_START(subsino_reels)
+ MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino_reels)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2796,9 +2798,9 @@ static MACHINE_CONFIG_START( stisub, subsino_state )
MCFG_GFXDECODE(subsino_stisub)
MCFG_PALETTE_LENGTH(0x100)
- //MCFG_PALETTE_INIT(subsino_3proms)
+ //MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_3proms)
- MCFG_VIDEO_START(stisub)
+ MCFG_VIDEO_START_OVERRIDE(subsino_state,stisub)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/subsino2.c b/src/mame/drivers/subsino2.c
index 0e7e707108f..bda84f70a5b 100644
--- a/src/mame/drivers/subsino2.c
+++ b/src/mame/drivers/subsino2.c
@@ -161,6 +161,10 @@ public:
DECLARE_DRIVER_INIT(xplan);
TILE_GET_INFO_MEMBER(ss9601_get_tile_info_0);
TILE_GET_INFO_MEMBER(ss9601_get_tile_info_1);
+ DECLARE_VIDEO_START(subsino2);
+ DECLARE_VIDEO_START(mtrain);
+ DECLARE_MACHINE_RESET(am188em);
+ DECLARE_VIDEO_START(xtrain);
};
@@ -560,73 +564,71 @@ WRITE8_MEMBER(subsino2_state::ss9601_disable_w)
Video Update
***************************************************************************/
-static VIDEO_START( subsino2 )
+VIDEO_START_MEMBER(subsino2_state,subsino2)
{
- subsino2_state *state = machine.driver_data<subsino2_state>();
- state->m_hm86171_colorram = auto_alloc_array(machine, UINT8, 256*3);
+ m_hm86171_colorram = auto_alloc_array(machine(), UINT8, 256*3);
// SS9601 Regs:
- state->m_ss9601_tilesize = TILE_8x8;
- state->m_ss9601_scrollctrl = 0xfd; // not written by mtrain, default to reels on
- state->m_ss9601_disable = 0x00;
+ m_ss9601_tilesize = TILE_8x8;
+ m_ss9601_scrollctrl = 0xfd; // not written by mtrain, default to reels on
+ m_ss9601_disable = 0x00;
// SS9601 Layers:
for (int i = 0; i < 2; i++)
{
- layer_t *l = &state->m_layers[i];
+ layer_t *l = &m_layers[i];
- l->tmap = &machine.tilemap().create(i ? tilemap_get_info_delegate(FUNC(subsino2_state::ss9601_get_tile_info_1),state) : tilemap_get_info_delegate(FUNC(subsino2_state::ss9601_get_tile_info_0),state), TILEMAP_SCAN_ROWS, 8,8, 0x80,0x40);
+ l->tmap = &machine().tilemap().create(i ? tilemap_get_info_delegate(FUNC(subsino2_state::ss9601_get_tile_info_1),this) : tilemap_get_info_delegate(FUNC(subsino2_state::ss9601_get_tile_info_0),this), TILEMAP_SCAN_ROWS, 8,8, 0x80,0x40);
l->tmap->set_transparent_pen(0);
// line scroll
l->tmap->set_scroll_rows(0x200);
- l->videorams[VRAM_HI] = auto_alloc_array(machine, UINT8, 0x80 * 0x40);
- l->videorams[VRAM_LO] = auto_alloc_array(machine, UINT8, 0x80 * 0x40);
+ l->videorams[VRAM_HI] = auto_alloc_array(machine(), UINT8, 0x80 * 0x40);
+ l->videorams[VRAM_LO] = auto_alloc_array(machine(), UINT8, 0x80 * 0x40);
- l->scrollrams[VRAM_HI] = auto_alloc_array(machine, UINT8, 0x200);
- l->scrollrams[VRAM_LO] = auto_alloc_array(machine, UINT8, 0x200);
+ l->scrollrams[VRAM_HI] = auto_alloc_array(machine(), UINT8, 0x200);
+ l->scrollrams[VRAM_LO] = auto_alloc_array(machine(), UINT8, 0x200);
memset(l->scrollrams[VRAM_HI], 0, 0x200);
memset(l->scrollrams[VRAM_LO], 0, 0x200);
}
// SS9601 Reels:
- state->m_ss9601_reelrams[VRAM_HI] = auto_alloc_array(machine, UINT8, 0x2000);
- state->m_ss9601_reelrams[VRAM_LO] = auto_alloc_array(machine, UINT8, 0x2000);
- memset(state->m_ss9601_reelrams[VRAM_HI], 0, 0x2000);
- memset(state->m_ss9601_reelrams[VRAM_LO], 0, 0x2000);
- state->m_ss9601_reelrects[0].set(0, 0, 0x00*8, 0x09*8-1);
- state->m_ss9601_reelrects[1].set(0, 0, 0x09*8, 0x10*8-1);
- state->m_ss9601_reelrects[2].set(0, 0, 0x10*8, 256-16-1);
+ m_ss9601_reelrams[VRAM_HI] = auto_alloc_array(machine(), UINT8, 0x2000);
+ m_ss9601_reelrams[VRAM_LO] = auto_alloc_array(machine(), UINT8, 0x2000);
+ memset(m_ss9601_reelrams[VRAM_HI], 0, 0x2000);
+ memset(m_ss9601_reelrams[VRAM_LO], 0, 0x2000);
+ m_ss9601_reelrects[0].set(0, 0, 0x00*8, 0x09*8-1);
+ m_ss9601_reelrects[1].set(0, 0, 0x09*8, 0x10*8-1);
+ m_ss9601_reelrects[2].set(0, 0, 0x10*8, 256-16-1);
/*
- state_save_register_global_pointer(machine, state->m_ss9601_reelrams[VRAM_HI], 0x2000);
- state_save_register_global_pointer(machine, state->m_ss9601_reelrams[VRAM_LO], 0x2000);
+ state_save_register_global_pointer(machine(), m_ss9601_reelrams[VRAM_HI], 0x2000);
+ state_save_register_global_pointer(machine(), m_ss9601_reelrams[VRAM_LO], 0x2000);
- state_save_register_global_pointer(machine, state->m_layers[0].scrollrams[VRAM_HI], 0x200);
- state_save_register_global_pointer(machine, state->m_layers[0].scrollrams[VRAM_LO], 0x200);
+ state_save_register_global_pointer(machine(), m_layers[0].scrollrams[VRAM_HI], 0x200);
+ state_save_register_global_pointer(machine(), m_layers[0].scrollrams[VRAM_LO], 0x200);
- state_save_register_global_pointer(machine, state->m_layers[1].scrollrams[VRAM_HI], 0x200);
- state_save_register_global_pointer(machine, state->m_layers[1].scrollrams[VRAM_LO], 0x200);
+ state_save_register_global_pointer(machine(), m_layers[1].scrollrams[VRAM_HI], 0x200);
+ state_save_register_global_pointer(machine(), m_layers[1].scrollrams[VRAM_LO], 0x200);
*/
}
-static VIDEO_START( mtrain )
+VIDEO_START_MEMBER(subsino2_state,mtrain)
{
- VIDEO_START_CALL( subsino2 );
+ VIDEO_START_CALL_MEMBER( subsino2 );
}
-static VIDEO_START( xtrain )
+VIDEO_START_MEMBER(subsino2_state,xtrain)
{
- subsino2_state *state = machine.driver_data<subsino2_state>();
- VIDEO_START_CALL( subsino2 );
- state->m_ss9601_reelrects[0].set(0, 0, 0x00*8, 0x08*8-1);
- state->m_ss9601_reelrects[1].set(0, 0, 0x08*8, 0x18*8-1);
- state->m_ss9601_reelrects[2].set(0, 0, 0x18*8, 256-16-1);
+ VIDEO_START_CALL_MEMBER( subsino2 );
+ m_ss9601_reelrects[0].set(0, 0, 0x00*8, 0x08*8-1);
+ m_ss9601_reelrects[1].set(0, 0, 0x08*8, 0x18*8-1);
+ m_ss9601_reelrects[2].set(0, 0, 0x18*8, 256-16-1);
}
static SCREEN_UPDATE_IND16( subsino2 )
@@ -851,14 +853,13 @@ WRITE8_MEMBER(subsino2_state::am188em_regs_w)
m_am188em_regs[offset] = data;
}
-static MACHINE_RESET( am188em )
+MACHINE_RESET_MEMBER(subsino2_state,am188em)
{
- subsino2_state *state = machine.driver_data<subsino2_state>();
// start with masked interrupts
- state->m_am188em_regs[AM188EM_IMASK+0] = 0xfd;
- state->m_am188em_regs[AM188EM_IMASK+1] = 0x07;
- state->m_am188em_regs[AM188EM_I0CON+0] = 0x0f;
- state->m_am188em_regs[AM188EM_I0CON+1] = 0x00;
+ m_am188em_regs[AM188EM_IMASK+0] = 0xfd;
+ m_am188em_regs[AM188EM_IMASK+1] = 0x07;
+ m_am188em_regs[AM188EM_I0CON+0] = 0x0f;
+ m_am188em_regs[AM188EM_I0CON+1] = 0x00;
}
static INTERRUPT_GEN( am188em_int0_irq )
@@ -2192,7 +2193,7 @@ static MACHINE_CONFIG_START( bishjan, subsino2_state )
MCFG_GFXDECODE( ss9601 )
MCFG_PALETTE_LENGTH( 256 )
- MCFG_VIDEO_START( subsino2 )
+ MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
// sound hardware
// SS9904?
@@ -2220,7 +2221,7 @@ static MACHINE_CONFIG_START( mtrain, subsino2_state )
MCFG_GFXDECODE( ss9601 )
MCFG_PALETTE_LENGTH( 256 )
- MCFG_VIDEO_START( mtrain )
+ MCFG_VIDEO_START_OVERRIDE(subsino2_state, mtrain )
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2239,7 +2240,7 @@ static MACHINE_CONFIG_START( saklove, subsino2_state )
MCFG_CPU_IO_MAP( saklove_io )
MCFG_TIMER_ADD_PERIODIC("timer2", am188em_timer2_irq, attotime::from_hz(60)) // timer 2, ?? Hz
- MCFG_MACHINE_RESET(am188em)
+ MCFG_MACHINE_RESET_OVERRIDE(subsino2_state,am188em)
MCFG_NVRAM_ADD_0FILL("nvram")
// video hardware
@@ -2253,7 +2254,7 @@ static MACHINE_CONFIG_START( saklove, subsino2_state )
MCFG_GFXDECODE( ss9601 )
MCFG_PALETTE_LENGTH( 256 )
- MCFG_VIDEO_START( subsino2 )
+ MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2276,7 +2277,7 @@ static MACHINE_CONFIG_START( xplan, subsino2_state )
MCFG_CPU_VBLANK_INT( "screen", am188em_int0_irq )
MCFG_TIMER_ADD_PERIODIC("timer2", am188em_timer2_irq, attotime::from_hz(60)) // timer 2, ?? Hz
- MCFG_MACHINE_RESET(am188em)
+ MCFG_MACHINE_RESET_OVERRIDE(subsino2_state,am188em)
MCFG_NVRAM_ADD_0FILL("nvram")
// video hardware
@@ -2290,7 +2291,7 @@ static MACHINE_CONFIG_START( xplan, subsino2_state )
MCFG_GFXDECODE( ss9601 )
MCFG_PALETTE_LENGTH( 256 )
- MCFG_VIDEO_START( subsino2 )
+ MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2303,7 +2304,7 @@ static MACHINE_CONFIG_DERIVED( xtrain, xplan )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(xtrain_io)
- MCFG_VIDEO_START( xtrain )
+ MCFG_VIDEO_START_OVERRIDE(subsino2_state, xtrain )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( expcard, xplan )
diff --git a/src/mame/drivers/summit.c b/src/mame/drivers/summit.c
index c41617e9f61..dbdd5626013 100644
--- a/src/mame/drivers/summit.c
+++ b/src/mame/drivers/summit.c
@@ -30,10 +30,12 @@ public:
required_shared_ptr<UINT8> m_attr;
required_shared_ptr<UINT8> m_vram;
DECLARE_WRITE8_MEMBER(out_w);
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START(summit)
+void summit_state::video_start()
{
}
@@ -289,7 +291,7 @@ static GFXDECODE_START( summit )
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 1 )
GFXDECODE_END
-PALETTE_INIT( summit )
+void summit_state::palette_init()
{
}
@@ -311,9 +313,7 @@ static MACHINE_CONFIG_START( summit, summit_state )
MCFG_GFXDECODE(summit)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(summit)
- MCFG_VIDEO_START(summit)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/suna16.c b/src/mame/drivers/suna16.c
index 5e668f603b6..9047b7b0125 100644
--- a/src/mame/drivers/suna16.c
+++ b/src/mame/drivers/suna16.c
@@ -359,11 +359,10 @@ static ADDRESS_MAP_START( uballoon_pcm_1_io_map, AS_IO, 8, suna16_state )
AM_RANGE(0x03, 0x03) AM_WRITE(uballoon_pcm_1_bankswitch_w) // Rom Bank
ADDRESS_MAP_END
-static MACHINE_RESET(uballoon)
+MACHINE_RESET_MEMBER(suna16_state,uballoon)
{
- suna16_state *state = machine.driver_data<suna16_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- state->uballoon_pcm_1_bankswitch_w(*space, 0, 0);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ uballoon_pcm_1_bankswitch_w(*space, 0, 0);
}
@@ -797,7 +796,6 @@ static MACHINE_CONFIG_START( bssoccer, suna16_state )
MCFG_GFXDECODE(suna16)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(suna16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -843,7 +841,7 @@ static MACHINE_CONFIG_START( uballoon, suna16_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_RESET(uballoon)
+ MCFG_MACHINE_RESET_OVERRIDE(suna16_state,uballoon)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -856,7 +854,6 @@ static MACHINE_CONFIG_START( uballoon, suna16_state )
MCFG_GFXDECODE(suna16)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(suna16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -905,7 +902,6 @@ static MACHINE_CONFIG_START( sunaq, suna16_state )
MCFG_GFXDECODE(suna16)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(suna16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -972,7 +968,6 @@ static MACHINE_CONFIG_START( bestbest, suna16_state )
MCFG_GFXDECODE(bestbest)
MCFG_PALETTE_LENGTH(256*8)
- MCFG_VIDEO_START(suna16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c
index c1fed0a566a..90c54115524 100644
--- a/src/mame/drivers/suna8.c
+++ b/src/mame/drivers/suna8.c
@@ -1642,7 +1642,7 @@ static MACHINE_CONFIG_START( hardhead, suna8_state )
MCFG_GFXDECODE(suna8)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(suna8_textdim12)
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_textdim12)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1706,7 +1706,7 @@ static MACHINE_CONFIG_START( rranger, suna8_state )
MCFG_GFXDECODE(suna8)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(suna8_textdim8)
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_textdim8)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1751,11 +1751,10 @@ static TIMER_DEVICE_CALLBACK( brickzn_interrupt )
}
-static MACHINE_RESET( brickzn )
+MACHINE_RESET_MEMBER(suna8_state,brickzn)
{
- suna8_state *state = machine.driver_data<suna8_state>();
- state->m_protection_val = state->m_prot2 = state->m_prot2_prev = 0xff;
- state->membank("bank1")->set_entry(0);
+ m_protection_val = m_prot2 = m_prot2_prev = 0xff;
+ membank("bank1")->set_entry(0);
}
static MACHINE_CONFIG_START( brickzn, suna8_state )
@@ -1773,7 +1772,7 @@ static MACHINE_CONFIG_START( brickzn, suna8_state )
MCFG_CPU_PROGRAM_MAP(brickzn_pcm_map)
MCFG_CPU_IO_MAP(brickzn_pcm_io_map)
- MCFG_MACHINE_RESET( brickzn )
+ MCFG_MACHINE_RESET_OVERRIDE(suna8_state, brickzn )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1786,7 +1785,7 @@ static MACHINE_CONFIG_START( brickzn, suna8_state )
MCFG_GFXDECODE(suna8)
MCFG_PALETTE_LENGTH(256 * 2) // 2 x Palette RAM
- MCFG_VIDEO_START(suna8_textdim0)
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_textdim0)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1831,11 +1830,10 @@ static TIMER_DEVICE_CALLBACK( hardhea2_interrupt )
if (state->m_nmi_enable) state->m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static MACHINE_RESET( hardhea2 )
+MACHINE_RESET_MEMBER(suna8_state,hardhea2)
{
- suna8_state *state = machine.driver_data<suna8_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- state->hardhea2_rambank_0_w(*space,0,0);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ hardhea2_rambank_0_w(*space,0,0);
}
static MACHINE_CONFIG_DERIVED( hardhea2, brickzn )
@@ -1845,7 +1843,7 @@ static MACHINE_CONFIG_DERIVED( hardhea2, brickzn )
MCFG_CPU_PROGRAM_MAP(hardhea2_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", hardhea2_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(hardhea2)
+ MCFG_MACHINE_RESET_OVERRIDE(suna8_state,hardhea2)
MCFG_PALETTE_LENGTH(256)
MACHINE_CONFIG_END
@@ -1888,7 +1886,7 @@ static MACHINE_CONFIG_START( starfigh, suna8_state )
MCFG_GFXDECODE(suna8)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(suna8_textdim0)
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_textdim0)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1935,7 +1933,7 @@ static MACHINE_CONFIG_START( sparkman, suna8_state )
MCFG_GFXDECODE(suna8)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(suna8_textdim0)
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_textdim0)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/supbtime.c b/src/mame/drivers/supbtime.c
index a2bfd6810ef..51fe59e5af3 100644
--- a/src/mame/drivers/supbtime.c
+++ b/src/mame/drivers/supbtime.c
@@ -330,13 +330,12 @@ static const deco16ic_interface supbtime_deco16ic_tilegen1_intf =
0,1
};
-static MACHINE_START( supbtime )
+void supbtime_state::machine_start()
{
- supbtime_state *state = machine.driver_data<supbtime_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_deco_tilegen1 = machine.device("tilegen1");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_deco_tilegen1 = machine().device("tilegen1");
}
static MACHINE_CONFIG_START( supbtime, supbtime_state )
@@ -349,7 +348,6 @@ static MACHINE_CONFIG_START( supbtime, supbtime_state )
MCFG_CPU_ADD("audiocpu", H6280, 32220000/8) /* Custom chip 45, audio section crystal is 32.220 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(supbtime)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -391,7 +389,6 @@ static MACHINE_CONFIG_START( chinatwn, supbtime_state )
MCFG_CPU_ADD("audiocpu", H6280, 32220000/8) /* Custom chip 45, audio section crystal is 32.220 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(supbtime)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
diff --git a/src/mame/drivers/supdrapo.c b/src/mame/drivers/supdrapo.c
index 337978cff58..0a330f69f3b 100644
--- a/src/mame/drivers/supdrapo.c
+++ b/src/mame/drivers/supdrapo.c
@@ -86,6 +86,10 @@ public:
DECLARE_WRITE8_MEMBER(payout_w);
DECLARE_WRITE8_MEMBER(ay8910_outputa_w);
DECLARE_WRITE8_MEMBER(ay8910_outputb_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -93,7 +97,7 @@ public:
Video Hardware
**********************************************************************/
-static VIDEO_START( supdrapo )
+void supdrapo_state::video_start()
{
}
@@ -126,9 +130,9 @@ static SCREEN_UPDATE_IND16( supdrapo )
/*Maybe bit 2 & 3 of the second color prom are intensity bits? */
-static PALETTE_INIT( sdpoker )
+void supdrapo_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit0, bit1, bit2 , r, g, b;
int i;
@@ -149,7 +153,7 @@ static PALETTE_INIT( sdpoker )
bit2 = (color_prom[0x100] >> 1) & 0x01;
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -237,15 +241,14 @@ WRITE8_MEMBER(supdrapo_state::payout_w)
Machine Start & Reset
**********************************************************************/
-static MACHINE_START( supdrapo )
+void supdrapo_state::machine_start()
{
}
-static MACHINE_RESET( supdrapo )
+void supdrapo_state::machine_reset()
{
- supdrapo_state *state = machine.driver_data<supdrapo_state>();
- state->m_wdog = 1;
+ m_wdog = 1;
}
@@ -444,8 +447,6 @@ static MACHINE_CONFIG_START( supdrapo, supdrapo_state )
MCFG_CPU_PROGRAM_MAP(sdpoker_mem)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(supdrapo)
- MCFG_MACHINE_RESET(supdrapo)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -459,9 +460,7 @@ static MACHINE_CONFIG_START( supdrapo, supdrapo_state )
MCFG_GFXDECODE(supdrapo)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT(sdpoker)
- MCFG_VIDEO_START(supdrapo)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/superchs.c b/src/mame/drivers/superchs.c
index b82d3dcddee..cf9dbfc43a9 100644
--- a/src/mame/drivers/superchs.c
+++ b/src/mame/drivers/superchs.c
@@ -349,7 +349,6 @@ static MACHINE_CONFIG_START( superchs, superchs_state )
MCFG_GFXDECODE(superchs)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(superchs)
MCFG_TC0480SCP_ADD("tc0480scp", superchs_tc0480scp_intf)
diff --git a/src/mame/drivers/superdq.c b/src/mame/drivers/superdq.c
index cbf175663c7..ce3f39fccb1 100644
--- a/src/mame/drivers/superdq.c
+++ b/src/mame/drivers/superdq.c
@@ -47,6 +47,10 @@ public:
DECLARE_READ8_MEMBER(superdq_ld_r);
DECLARE_WRITE8_MEMBER(superdq_ld_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
TILE_GET_INFO_MEMBER(superdq_state::get_tile_info)
@@ -56,11 +60,10 @@ TILE_GET_INFO_MEMBER(superdq_state::get_tile_info)
SET_TILE_INFO_MEMBER(0, tile, m_color_bank, 0);
}
-static VIDEO_START( superdq )
+void superdq_state::video_start()
{
- superdq_state *state = machine.driver_data<superdq_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superdq_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(superdq_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_RGB32( superdq )
@@ -80,9 +83,9 @@ static SCREEN_UPDATE_RGB32( superdq )
*
*************************************/
-static PALETTE_INIT( superdq )
+void superdq_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const int resistances[3] = { 820, 390, 200 };
double rweights[3], gweights[3], bweights[2];
@@ -94,7 +97,7 @@ static PALETTE_INIT( superdq )
2, &resistances[1], bweights, 220, 0);
/* initialize the palette with these colors */
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2;
int r, g, b;
@@ -116,17 +119,16 @@ static PALETTE_INIT( superdq )
bit1 = (color_prom[i] >> 0) & 0x01;
b = combine_2_weights(bweights, bit1, bit0);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-static MACHINE_RESET( superdq )
+void superdq_state::machine_reset()
{
- superdq_state *state = machine.driver_data<superdq_state>();
- state->m_ld_in_latch = 0;
- state->m_ld_out_latch = 0xff;
- state->m_color_bank = 0;
+ m_ld_in_latch = 0;
+ m_ld_out_latch = 0xff;
+ m_color_bank = 0;
}
static INTERRUPT_GEN( superdq_vblank )
@@ -332,7 +334,7 @@ static const sn76496_config psg_intf =
*
*************************************/
-static MACHINE_START( superdq )
+void superdq_state::machine_start()
{
}
@@ -345,8 +347,6 @@ static MACHINE_CONFIG_START( superdq, superdq_state )
MCFG_CPU_IO_MAP(superdq_io)
MCFG_CPU_VBLANK_INT("screen", superdq_vblank)
- MCFG_MACHINE_START(superdq)
- MCFG_MACHINE_RESET(superdq)
MCFG_LASERDISC_LDV1000_ADD("laserdisc")
MCFG_LASERDISC_OVERLAY_STATIC(256, 256, superdq)
@@ -357,8 +357,6 @@ static MACHINE_CONFIG_START( superdq, superdq_state )
MCFG_GFXDECODE(superdq)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(superdq)
- MCFG_VIDEO_START(superdq)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/superqix.c b/src/mame/drivers/superqix.c
index cfb2d0775b3..323f8be1179 100644
--- a/src/mame/drivers/superqix.c
+++ b/src/mame/drivers/superqix.c
@@ -541,20 +541,20 @@ static void machine_init_common(running_machine &machine)
state->save_item(NAME(state->m_portC));
}
-static MACHINE_START( superqix )
+MACHINE_START_MEMBER(superqix_state,superqix)
{
/* configure the banks */
- machine.root_device().membank("bank1")->configure_entries(0, 4, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 4, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
- machine_init_common(machine);
+ machine_init_common(machine());
}
-static MACHINE_START( pbillian )
+MACHINE_START_MEMBER(superqix_state,pbillian)
{
/* configure the banks */
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
- machine_init_common(machine);
+ machine_init_common(machine());
}
@@ -1006,7 +1006,7 @@ static MACHINE_CONFIG_START( pbillian, superqix_state )
MCFG_CPU_IO_MAP(pbillian_port_map)
MCFG_CPU_VBLANK_INT("screen", vblank_irq)
- MCFG_MACHINE_START(pbillian)
+ MCFG_MACHINE_START_OVERRIDE(superqix_state,pbillian)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1019,7 +1019,7 @@ static MACHINE_CONFIG_START( pbillian, superqix_state )
MCFG_GFXDECODE(pbillian)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(pbillian)
+ MCFG_VIDEO_START_OVERRIDE(superqix_state,pbillian)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1040,7 +1040,7 @@ static MACHINE_CONFIG_START( hotsmash, superqix_state )
MCFG_CPU_ADD("mcu", M68705, 4000000) /* ???? */
MCFG_CPU_PROGRAM_MAP(m68705_map)
- MCFG_MACHINE_START(pbillian)
+ MCFG_MACHINE_START_OVERRIDE(superqix_state,pbillian)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1053,7 +1053,7 @@ static MACHINE_CONFIG_START( hotsmash, superqix_state )
MCFG_GFXDECODE(pbillian)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(pbillian)
+ MCFG_VIDEO_START_OVERRIDE(superqix_state,pbillian)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1078,7 +1078,7 @@ static MACHINE_CONFIG_START( sqix, superqix_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(superqix)
+ MCFG_MACHINE_START_OVERRIDE(superqix_state,superqix)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1091,7 +1091,7 @@ static MACHINE_CONFIG_START( sqix, superqix_state )
MCFG_GFXDECODE(sqix)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(superqix)
+ MCFG_VIDEO_START_OVERRIDE(superqix_state,superqix)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1121,7 +1121,7 @@ static MACHINE_CONFIG_START( sqixbl, superqix_state )
MCFG_CPU_IO_MAP(sqix_port_map)
MCFG_CPU_PERIODIC_INT(sqix_timer_irq, 4*60) /* ??? */
- MCFG_MACHINE_START(superqix)
+ MCFG_MACHINE_START_OVERRIDE(superqix_state,superqix)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1134,7 +1134,7 @@ static MACHINE_CONFIG_START( sqixbl, superqix_state )
MCFG_GFXDECODE(sqix)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(superqix)
+ MCFG_VIDEO_START_OVERRIDE(superqix_state,superqix)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/supertnk.c b/src/mame/drivers/supertnk.c
index 6257a0f8fe9..c6c23aeb7b9 100644
--- a/src/mame/drivers/supertnk.c
+++ b/src/mame/drivers/supertnk.c
@@ -123,6 +123,8 @@ public:
DECLARE_WRITE8_MEMBER(supertnk_bitplane_select_0_w);
DECLARE_WRITE8_MEMBER(supertnk_bitplane_select_1_w);
DECLARE_DRIVER_INIT(supertnk);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -184,22 +186,21 @@ WRITE8_MEMBER(supertnk_state::supertnk_interrupt_ack_w)
*
*************************************/
-static VIDEO_START( supertnk )
+void supertnk_state::video_start()
{
- supertnk_state *state = machine.driver_data<supertnk_state>();
offs_t i;
- const UINT8 *prom = state->memregion("proms")->base();
+ const UINT8 *prom = memregion("proms")->base();
for (i = 0; i < NUM_PENS; i++)
{
UINT8 data = prom[i];
- state->m_pens[i] = MAKE_RGB(pal1bit(data >> 2), pal1bit(data >> 5), pal1bit(data >> 6));
+ m_pens[i] = MAKE_RGB(pal1bit(data >> 2), pal1bit(data >> 5), pal1bit(data >> 6));
}
- state->m_videoram[0] = auto_alloc_array(machine, UINT8, 0x2000);
- state->m_videoram[1] = auto_alloc_array(machine, UINT8, 0x2000);
- state->m_videoram[2] = auto_alloc_array(machine, UINT8, 0x2000);
+ m_videoram[0] = auto_alloc_array(machine(), UINT8, 0x2000);
+ m_videoram[1] = auto_alloc_array(machine(), UINT8, 0x2000);
+ m_videoram[2] = auto_alloc_array(machine(), UINT8, 0x2000);
}
@@ -284,15 +285,14 @@ static SCREEN_UPDATE_RGB32( supertnk )
*
*************************************/
-static MACHINE_RESET( supertnk )
+void supertnk_state::machine_reset()
{
- supertnk_state *state = machine.driver_data<supertnk_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- state->supertnk_bankswitch_0_w(*space, 0, 0);
- state->supertnk_bankswitch_1_w(*space, 0, 0);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ supertnk_bankswitch_0_w(*space, 0, 0);
+ supertnk_bankswitch_1_w(*space, 0, 0);
- state->supertnk_bitplane_select_0_w(*space, 0, 0);
- state->supertnk_bitplane_select_1_w(*space, 0, 0);
+ supertnk_bitplane_select_0_w(*space, 0, 0);
+ supertnk_bitplane_select_1_w(*space, 0, 0);
}
@@ -431,10 +431,8 @@ static MACHINE_CONFIG_START( supertnk, supertnk_state )
MCFG_CPU_IO_MAP(supertnk_io_map)
MCFG_CPU_VBLANK_INT("screen", supertnk_interrupt)
- MCFG_MACHINE_RESET(supertnk)
/* video hardware */
- MCFG_VIDEO_START(supertnk)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SIZE(32*8, 32*8)
diff --git a/src/mame/drivers/superwng.c b/src/mame/drivers/superwng.c
index aa37b42c02c..e54e73b2ae3 100644
--- a/src/mame/drivers/superwng.c
+++ b/src/mame/drivers/superwng.c
@@ -69,6 +69,10 @@ public:
DECLARE_READ8_MEMBER(superwng_sound_byte_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
TILE_GET_INFO_MEMBER(superwng_state::get_bg_tile_info)
@@ -100,13 +104,12 @@ TILE_GET_INFO_MEMBER(superwng_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, attr & 0xf, flipx|flipy);
}
-static VIDEO_START( superwng )
+void superwng_state::video_start()
{
- superwng_state *state = machine.driver_data<superwng_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scrollx(0, 64);
+ m_bg_tilemap->set_scrollx(0, 64);
}
static SCREEN_UPDATE_IND16( superwng )
@@ -168,12 +171,12 @@ static const UINT8 superwng_colors[]= /* temporary */
0x00, 0xc0, 0x07, 0x3f, 0x00, 0x1f, 0x3f, 0xff, 0x00, 0x86, 0x05, 0xff, 0x00, 0xc0, 0xe8, 0xff
};
-PALETTE_INIT( superwng )
+void superwng_state::palette_init()
{
int i;
const UINT8 * ptr=superwng_colors;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -191,7 +194,7 @@ PALETTE_INIT( superwng )
bit1 = BIT(*ptr, 7);
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
++ptr;
}
}
@@ -423,21 +426,19 @@ static GFXDECODE_START( superwng )
GFXDECODE_ENTRY( "gfx1", 0x0000, spritelayout, 0, 16 )
GFXDECODE_END
-static MACHINE_START( superwng )
+void superwng_state::machine_start()
{
- superwng_state *state = machine.driver_data<superwng_state>();
- state->save_item(NAME(state->m_tile_bank));
- state->save_item(NAME(state->m_sound_byte));
- state->save_item(NAME(state->m_nmi_enable));
+ save_item(NAME(m_tile_bank));
+ save_item(NAME(m_sound_byte));
+ save_item(NAME(m_nmi_enable));
}
-static MACHINE_RESET( superwng )
+void superwng_state::machine_reset()
{
- superwng_state *state = machine.driver_data<superwng_state>();
- state->m_sound_byte = 0;
- state->m_nmi_enable = 0;
+ m_sound_byte = 0;
+ m_nmi_enable = 0;
}
static const ay8910_interface ay8910_config_1 =
@@ -471,8 +472,6 @@ static MACHINE_CONFIG_START( superwng, superwng_state )
MCFG_CPU_PROGRAM_MAP(superwng_sound_map)
MCFG_CPU_PERIODIC_INT(superwng_sound_nmi_assert, 4*60)
- MCFG_MACHINE_START(superwng)
- MCFG_MACHINE_RESET(superwng)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -484,8 +483,6 @@ static MACHINE_CONFIG_START( superwng, superwng_state )
MCFG_GFXDECODE(superwng)
MCFG_PALETTE_LENGTH(0x40)
- MCFG_PALETTE_INIT(superwng)
- MCFG_VIDEO_START(superwng)
MCFG_SCREEN_UPDATE_STATIC(superwng)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/suprgolf.c b/src/mame/drivers/suprgolf.c
index 86e503f5717..c821cbd771a 100644
--- a/src/mame/drivers/suprgolf.c
+++ b/src/mame/drivers/suprgolf.c
@@ -66,6 +66,8 @@ public:
DECLARE_WRITE8_MEMBER(suprgolf_writeB);
DECLARE_DRIVER_INIT(suprgolf);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
TILE_GET_INFO_MEMBER(suprgolf_state::get_tile_info)
@@ -80,17 +82,16 @@ TILE_GET_INFO_MEMBER(suprgolf_state::get_tile_info)
0);
}
-static VIDEO_START( suprgolf )
+void suprgolf_state::video_start()
{
- suprgolf_state *state = machine.driver_data<suprgolf_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprgolf_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
- state->m_paletteram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_bg_vram = auto_alloc_array(machine, UINT8, 0x2000*0x20);
- state->m_bg_fb = auto_alloc_array(machine, UINT16, 0x2000*0x20);
- state->m_fg_fb = auto_alloc_array(machine, UINT16, 0x2000*0x20);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(suprgolf_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32 );
+ m_paletteram = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_bg_vram = auto_alloc_array(machine(), UINT8, 0x2000*0x20);
+ m_bg_fb = auto_alloc_array(machine(), UINT16, 0x2000*0x20);
+ m_fg_fb = auto_alloc_array(machine(), UINT16, 0x2000*0x20);
- state->m_tilemap->set_transparent_pen(15);
+ m_tilemap->set_transparent_pen(15);
}
static SCREEN_UPDATE_IND16( suprgolf )
@@ -479,11 +480,10 @@ static GFXDECODE_START( suprgolf )
GFXDECODE_ENTRY( "gfx1", 0, gfxlayout, 0, 0x80 )
GFXDECODE_END
-static MACHINE_RESET( suprgolf )
+void suprgolf_state::machine_reset()
{
- suprgolf_state *state = machine.driver_data<suprgolf_state>();
- state->m_msm_nmi_mask = 0;
+ m_msm_nmi_mask = 0;
}
static I8255A_INTERFACE( ppi8255_intf_0 )
@@ -517,9 +517,7 @@ static MACHINE_CONFIG_START( suprgolf, suprgolf_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_VIDEO_START(suprgolf)
- MCFG_MACHINE_RESET(suprgolf)
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_intf_0 )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_intf_1 )
diff --git a/src/mame/drivers/suprloco.c b/src/mame/drivers/suprloco.c
index c585516c0d6..a40632767d7 100644
--- a/src/mame/drivers/suprloco.c
+++ b/src/mame/drivers/suprloco.c
@@ -188,8 +188,6 @@ static MACHINE_CONFIG_START( suprloco, suprloco_state )
MCFG_GFXDECODE(suprloco)
MCFG_PALETTE_LENGTH(512+256)
- MCFG_PALETTE_INIT(suprloco)
- MCFG_VIDEO_START(suprloco)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/suprnova.c b/src/mame/drivers/suprnova.c
index 6bcdbc2e50e..8895d3aa05b 100644
--- a/src/mame/drivers/suprnova.c
+++ b/src/mame/drivers/suprnova.c
@@ -421,17 +421,16 @@ static TIMER_DEVICE_CALLBACK( interrupt_callback )
timer.machine().device("maincpu")->execute().set_input_line(param, HOLD_LINE);
}
-static MACHINE_RESET(skns)
+void skns_state::machine_reset()
{
- skns_state *state = machine.driver_data<skns_state>();
- hit_t &hit = state->m_hit;
+ hit_t &hit = m_hit;
- if (state->m_region != 'A')
+ if (m_region != 'A')
hit.disconnect= 1;
else
hit.disconnect= 0;
- state->membank("bank1")->set_base(state->memregion("user1")->base());
+ membank("bank1")->set_base(memregion("user1")->base());
}
@@ -762,7 +761,6 @@ static MACHINE_CONFIG_START( skns, skns_state )
MCFG_MSM6242_ADD("rtc", rtc_intf)
- MCFG_MACHINE_RESET(skns)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TIMER_ADD_PERIODIC("int15_timer", interrupt_callback, attotime::from_msec(2))
@@ -787,8 +785,6 @@ static MACHINE_CONFIG_START( skns, skns_state )
MCFG_DEVICE_ADD("spritegen", SKNS_SPRITE, 0)
- MCFG_VIDEO_START(skns)
- MCFG_VIDEO_RESET(skns)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -799,60 +795,55 @@ static MACHINE_CONFIG_START( skns, skns_state )
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-static MACHINE_RESET(sknsa)
+MACHINE_RESET_MEMBER(skns_state,sknsa)
{
- skns_state *state = machine.driver_data<skns_state>();
- state->m_region = 'A';
- MACHINE_RESET_CALL(skns);
+ m_region = 'A';
+ skns_state::machine_reset();
}
-static MACHINE_RESET(sknsj)
+MACHINE_RESET_MEMBER(skns_state,sknsj)
{
- skns_state *state = machine.driver_data<skns_state>();
- state->m_region = 'J';
- MACHINE_RESET_CALL(skns);
+ m_region = 'J';
+ skns_state::machine_reset();
}
-static MACHINE_RESET(sknsu)
+MACHINE_RESET_MEMBER(skns_state,sknsu)
{
- skns_state *state = machine.driver_data<skns_state>();
- state->m_region = 'U';
- MACHINE_RESET_CALL(skns);
+ m_region = 'U';
+ skns_state::machine_reset();
}
-static MACHINE_RESET(sknse)
+MACHINE_RESET_MEMBER(skns_state,sknse)
{
- skns_state *state = machine.driver_data<skns_state>();
- state->m_region = 'E';
- MACHINE_RESET_CALL(skns);
+ m_region = 'E';
+ skns_state::machine_reset();
}
-static MACHINE_RESET(sknsk)
+MACHINE_RESET_MEMBER(skns_state,sknsk)
{
- skns_state *state = machine.driver_data<skns_state>();
- state->m_region = 'K';
- MACHINE_RESET_CALL(skns);
+ m_region = 'K';
+ skns_state::machine_reset();
}
static MACHINE_CONFIG_DERIVED( sknsa, skns )
- MCFG_MACHINE_RESET(sknsa)
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsa)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sknsj, skns )
- MCFG_MACHINE_RESET(sknsj)
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsj)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sknsu, skns )
- MCFG_MACHINE_RESET(sknsu)
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsu)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sknse, skns )
- MCFG_MACHINE_RESET(sknse)
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknse)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sknsk, skns )
- MCFG_MACHINE_RESET(sknsk)
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsk)
MACHINE_CONFIG_END
/***** IDLE SKIPPING *****/
diff --git a/src/mame/drivers/suprridr.c b/src/mame/drivers/suprridr.c
index bddf079b80c..6f05f011564 100644
--- a/src/mame/drivers/suprridr.c
+++ b/src/mame/drivers/suprridr.c
@@ -377,8 +377,6 @@ static MACHINE_CONFIG_START( suprridr, suprridr_state )
MCFG_GFXDECODE(suprridr)
MCFG_PALETTE_LENGTH(96)
- MCFG_PALETTE_INIT(suprridr)
- MCFG_VIDEO_START(suprridr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/suprslam.c b/src/mame/drivers/suprslam.c
index 7d9c1315158..f548dd1e7e2 100644
--- a/src/mame/drivers/suprslam.c
+++ b/src/mame/drivers/suprslam.c
@@ -293,25 +293,23 @@ static const k053936_interface suprslam_k053936_intf =
1, -45, -21 /* wrap, xoff, yoff */
};
-static MACHINE_START( suprslam )
+void suprslam_state::machine_start()
{
- suprslam_state *state = machine.driver_data<suprslam_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053936 = machine.device("k053936");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053936 = machine().device("k053936");
- state->save_item(NAME(state->m_screen_bank));
- state->save_item(NAME(state->m_bg_bank));
- state->save_item(NAME(state->m_pending_command));
+ save_item(NAME(m_screen_bank));
+ save_item(NAME(m_bg_bank));
+ save_item(NAME(m_pending_command));
}
-static MACHINE_RESET( suprslam )
+void suprslam_state::machine_reset()
{
- suprslam_state *state = machine.driver_data<suprslam_state>();
- state->m_screen_bank = 0;
- state->m_bg_bank = 0;
- state->m_pending_command = 0;
+ m_screen_bank = 0;
+ m_bg_bank = 0;
+ m_pending_command = 0;
}
static MACHINE_CONFIG_START( suprslam, suprslam_state )
@@ -324,8 +322,6 @@ static MACHINE_CONFIG_START( suprslam, suprslam_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_MACHINE_START(suprslam)
- MCFG_MACHINE_RESET(suprslam)
MCFG_GFXDECODE(suprslam)
@@ -340,7 +336,6 @@ static MACHINE_CONFIG_START( suprslam, suprslam_state )
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(suprslam)
MCFG_K053936_ADD("k053936", suprslam_k053936_intf)
diff --git a/src/mame/drivers/surpratk.c b/src/mame/drivers/surpratk.c
index 92c7f2853ae..4a3ab4e5e28 100644
--- a/src/mame/drivers/surpratk.c
+++ b/src/mame/drivers/surpratk.c
@@ -188,43 +188,41 @@ static const k05324x_interface surpratk_k05324x_intf =
surpratk_sprite_callback
};
-static MACHINE_START( surpratk )
+void surpratk_state::machine_start()
{
- surpratk_state *state = machine.driver_data<surpratk_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 28, &ROM[0x10000], 0x2000);
- state->membank("bank1")->configure_entries(28, 4, &ROM[0x08000], 0x2000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 28, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(28, 4, &ROM[0x08000], 0x2000);
+ membank("bank1")->set_entry(0);
- state->m_generic_paletteram_8.allocate(0x1000);
+ m_generic_paletteram_8.allocate(0x1000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_k053244 = machine.device("k053244");
- state->m_k053251 = machine.device("k053251");
- state->m_k052109 = machine.device("k052109");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_k053244 = machine().device("k053244");
+ m_k053251 = machine().device("k053251");
+ m_k052109 = machine().device("k052109");
- state->save_item(NAME(state->m_videobank));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_layerpri));
+ save_item(NAME(m_videobank));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_layerpri));
}
-static MACHINE_RESET( surpratk )
+void surpratk_state::machine_reset()
{
- surpratk_state *state = machine.driver_data<surpratk_state>();
int i;
- konami_configure_set_lines(machine.device("maincpu"), surpratk_banking);
+ konami_configure_set_lines(machine().device("maincpu"), surpratk_banking);
for (i = 0; i < 3; i++)
{
- state->m_layerpri[i] = 0;
- state->m_layer_colorbase[i] = 0;
+ m_layerpri[i] = 0;
+ m_layer_colorbase[i] = 0;
}
- state->m_sprite_colorbase = 0;
- state->m_videobank = 0;
+ m_sprite_colorbase = 0;
+ m_videobank = 0;
}
static MACHINE_CONFIG_START( surpratk, surpratk_state )
@@ -234,8 +232,6 @@ static MACHINE_CONFIG_START( surpratk, surpratk_state )
MCFG_CPU_PROGRAM_MAP(surpratk_map)
MCFG_CPU_VBLANK_INT("screen", surpratk_interrupt)
- MCFG_MACHINE_START(surpratk)
- MCFG_MACHINE_RESET(surpratk)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index c0a2ed75e77..dd49d7bddde 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -353,40 +353,37 @@ static const UINT8 cc_ex[0x100] = {
};
-static MACHINE_START( system1 )
+void system1_state::machine_start()
{
- system1_state *state = machine.driver_data<system1_state>();
- UINT32 numbanks = (state->memregion("maincpu")->bytes() - 0x10000) / 0x4000;
+ UINT32 numbanks = (memregion("maincpu")->bytes() - 0x10000) / 0x4000;
if (numbanks > 0)
- state->membank("bank1")->configure_entries(0, numbanks, state->memregion("maincpu")->base() + 0x10000, 0x4000);
+ membank("bank1")->configure_entries(0, numbanks, memregion("maincpu")->base() + 0x10000, 0x4000);
else
- state->membank("bank1")->configure_entry(0, state->memregion("maincpu")->base() + 0x8000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entry(0, memregion("maincpu")->base() + 0x8000);
+ membank("bank1")->set_entry(0);
- z80_set_cycle_tables(machine.device("maincpu"), cc_op, cc_cb, cc_ed, cc_xy, cc_xycb, cc_ex);
+ z80_set_cycle_tables(machine().device("maincpu"), cc_op, cc_cb, cc_ed, cc_xy, cc_xycb, cc_ex);
- state->m_mute_xor = 0x00;
+ m_mute_xor = 0x00;
- state_save_register_global(machine, state->m_dakkochn_mux_data);
- state_save_register_global(machine, state->m_videomode_prev);
- state_save_register_global(machine, state->m_mcu_control);
- state_save_register_global(machine, state->m_nob_maincpu_latch);
+ state_save_register_global(machine(), m_dakkochn_mux_data);
+ state_save_register_global(machine(), m_videomode_prev);
+ state_save_register_global(machine(), m_mcu_control);
+ state_save_register_global(machine(), m_nob_maincpu_latch);
}
-static MACHINE_START( system2 )
+MACHINE_START_MEMBER(system1_state,system2)
{
- system1_state *state = machine.driver_data<system1_state>();
- MACHINE_START_CALL(system1);
- state->m_mute_xor = 0x01;
+ system1_state::machine_start();
+ m_mute_xor = 0x01;
}
-static MACHINE_RESET( system1 )
+void system1_state::machine_reset()
{
- system1_state *state = machine.driver_data<system1_state>();
- state->m_dakkochn_mux_data = 0;
+ m_dakkochn_mux_data = 0;
}
@@ -2158,8 +2155,6 @@ static MACHINE_CONFIG_START( sys1ppi, system1_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(system1)
- MCFG_MACHINE_RESET(system1)
MCFG_I8255A_ADD( "ppi8255", ppi8255_intf )
@@ -2173,7 +2168,6 @@ static MACHINE_CONFIG_START( sys1ppi, system1_state )
MCFG_GFXDECODE(system1)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(system1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2253,10 +2247,10 @@ MACHINE_CONFIG_END
/* system2 video */
static MACHINE_CONFIG_DERIVED( sys2, sys1ppi )
- MCFG_MACHINE_START(system2)
+ MCFG_MACHINE_START_OVERRIDE(system1_state,system2)
/* video hardware */
- MCFG_VIDEO_START(system2)
+ MCFG_VIDEO_START_OVERRIDE(system1_state,system2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(system2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c
index c110bc631df..a1592de7f51 100644
--- a/src/mame/drivers/system16.c
+++ b/src/mame/drivers/system16.c
@@ -2032,7 +2032,7 @@ static MACHINE_CONFIG_START( system16, segas1x_bootleg_state )
MCFG_GFXDECODE(sys16)
MCFG_PALETTE_LENGTH(2048*SHADOW_COLORS_MULTIPLIER)
- MCFG_VIDEO_START(system16)
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2106,7 +2106,7 @@ static MACHINE_CONFIG_DERIVED( shinobib, system16 )
MCFG_BOOTLEG_SYS16A_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(189-117)
- MCFG_VIDEO_START( s16a_bootleg_shinobi )
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_shinobi )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC( s16a_bootleg )
MACHINE_CONFIG_END
@@ -2121,7 +2121,7 @@ static MACHINE_CONFIG_DERIVED( passshtb, system16_7759 )
MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(189-117)
MCFG_BOOTLEG_SYS16A_SPRITES_REMAP(1,0,3,2,5,4,7,6)
- MCFG_VIDEO_START( s16a_bootleg_passsht )
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_passsht )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC( s16a_bootleg )
MACHINE_CONFIG_END
@@ -2138,7 +2138,7 @@ static MACHINE_CONFIG_DERIVED( passsht4b, system16_7759 )
MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(189-117)
MCFG_BOOTLEG_SYS16A_SPRITES_REMAP(1,0,3,2,5,4,7,6)
- MCFG_VIDEO_START( s16a_bootleg_passsht )
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_passsht )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC( s16a_bootleg_passht4b )
MACHINE_CONFIG_END
@@ -2154,7 +2154,7 @@ static MACHINE_CONFIG_DERIVED( wb3bb, system16 )
MCFG_BOOTLEG_SYS16A_SPRITES_REMAP(4,0,5,1,6,2,7,3)
MCFG_BOOTLEG_SYS16A_SPRITES_YORIGIN(0)
- MCFG_VIDEO_START( s16a_bootleg_wb3bl )
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_wb3bl )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC( s16a_bootleg )
MACHINE_CONFIG_END
@@ -2183,7 +2183,7 @@ static MACHINE_CONFIG_START( goldnaxeb1, segas1x_bootleg_state )
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-121)
MCFG_PALETTE_INIT( all_black )
- MCFG_VIDEO_START(system16)
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system16)
MACHINE_CONFIG_END
@@ -2312,7 +2312,7 @@ static MACHINE_CONFIG_START( system18, segas1x_bootleg_state )
MCFG_GFXDECODE(sys16)
MCFG_PALETTE_LENGTH((2048+2048)*SHADOW_COLORS_MULTIPLIER) // 64 extra colours for vdp (but we use 2048 so shadow mask works)
- MCFG_VIDEO_START(system18old)
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system18old)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-107)
diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c
index f4677946861..d62fc9b3c11 100644
--- a/src/mame/drivers/tagteam.c
+++ b/src/mame/drivers/tagteam.c
@@ -226,8 +226,6 @@ static MACHINE_CONFIG_START( tagteam, tagteam_state )
MCFG_GFXDECODE(tagteam)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(tagteam)
- MCFG_VIDEO_START(tagteam)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c
index 55dbc951182..42398978087 100644
--- a/src/mame/drivers/tail2nos.c
+++ b/src/mame/drivers/tail2nos.c
@@ -205,34 +205,32 @@ static const k051316_interface tail2nos_k051316_intf =
tail2nos_zoom_callback
};
-static MACHINE_START( tail2nos )
+void tail2nos_state::machine_start()
{
- tail2nos_state *state = machine.driver_data<tail2nos_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- state->membank("bank3")->configure_entries(0, 2, &ROM[0x10000], 0x8000);
- state->membank("bank3")->set_entry(0);
+ membank("bank3")->configure_entries(0, 2, &ROM[0x10000], 0x8000);
+ membank("bank3")->set_entry(0);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k051316 = machine.device("k051316");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k051316 = machine().device("k051316");
- state->save_item(NAME(state->m_charbank));
- state->save_item(NAME(state->m_charpalette));
- state->save_item(NAME(state->m_video_enable));
+ save_item(NAME(m_charbank));
+ save_item(NAME(m_charpalette));
+ save_item(NAME(m_video_enable));
}
-static MACHINE_RESET( tail2nos )
+void tail2nos_state::machine_reset()
{
- tail2nos_state *state = machine.driver_data<tail2nos_state>();
/* point to the extra ROMs */
- state->membank("bank1")->set_base(state->memregion("user1")->base());
- state->membank("bank2")->set_base(state->memregion("user2")->base());
+ membank("bank1")->set_base(memregion("user1")->base());
+ membank("bank2")->set_base(memregion("user2")->base());
- state->m_charbank = 0;
- state->m_charpalette = 0;
- state->m_video_enable = 0;
+ m_charbank = 0;
+ m_charpalette = 0;
+ m_video_enable = 0;
}
static MACHINE_CONFIG_START( tail2nos, tail2nos_state )
@@ -246,8 +244,6 @@ static MACHINE_CONFIG_START( tail2nos, tail2nos_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_port_map)
/* IRQs are triggered by the YM2608 */
- MCFG_MACHINE_START(tail2nos)
- MCFG_MACHINE_RESET(tail2nos)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -260,7 +256,6 @@ static MACHINE_CONFIG_START( tail2nos, tail2nos_state )
MCFG_GFXDECODE(tail2nos)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(tail2nos)
MCFG_K051316_ADD("k051316", tail2nos_k051316_intf)
diff --git a/src/mame/drivers/taito_b.c b/src/mame/drivers/taito_b.c
index 7fe7a11c92a..9a754709cc0 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -2013,28 +2013,26 @@ static const tc0140syt_interface taitob_tc0140syt_intf =
"maincpu", "audiocpu"
};
-static MACHINE_START( taitob )
+void taitob_state::machine_start()
{
- taitob_state *state = machine.driver_data<taitob_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mb87078 = machine.device("mb87078");
- state->m_ym = machine.device("ymsnd");
- state->m_tc0180vcu = machine.device("tc0180vcu");
- state->m_tc0640fio = machine.device("tc0640fio");
- state->m_tc0220ioc = machine.device("tc0220ioc");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mb87078 = machine().device("mb87078");
+ m_ym = machine().device("ymsnd");
+ m_tc0180vcu = machine().device("tc0180vcu");
+ m_tc0640fio = machine().device("tc0640fio");
+ m_tc0220ioc = machine().device("tc0220ioc");
- state->save_item(NAME(state->m_eep_latch));
- state->save_item(NAME(state->m_coin_word));
+ save_item(NAME(m_eep_latch));
+ save_item(NAME(m_coin_word));
}
-static MACHINE_RESET( taitob )
+void taitob_state::machine_reset()
{
- taitob_state *state = machine.driver_data<taitob_state>();
- state->m_eep_latch = 0;
- state->m_coin_word = 0;
+ m_eep_latch = 0;
+ m_coin_word = 0;
}
static MACHINE_CONFIG_START( rastsag2, taitob_state )
@@ -2049,8 +2047,6 @@ static MACHINE_CONFIG_START( rastsag2, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2066,7 +2062,7 @@ static MACHINE_CONFIG_START( rastsag2, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order0)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
@@ -2095,8 +2091,6 @@ static MACHINE_CONFIG_START( ashura, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2112,7 +2106,7 @@ static MACHINE_CONFIG_START( ashura, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order0)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
@@ -2141,8 +2135,6 @@ static MACHINE_CONFIG_START( crimec, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2158,7 +2150,7 @@ static MACHINE_CONFIG_START( crimec, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order1)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_TC0180VCU_ADD("tc0180vcu", color1_tc0180vcu_intf)
@@ -2187,8 +2179,6 @@ static MACHINE_CONFIG_START( tetrist, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2204,7 +2194,7 @@ static MACHINE_CONFIG_START( tetrist, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order0)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
@@ -2232,8 +2222,6 @@ static MACHINE_CONFIG_START( tetrista, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2249,7 +2237,7 @@ static MACHINE_CONFIG_START( tetrista, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order2)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
@@ -2278,8 +2266,6 @@ static MACHINE_CONFIG_START( hitice, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2295,8 +2281,8 @@ static MACHINE_CONFIG_START( hitice, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(hitice)
- MCFG_VIDEO_RESET(hitice)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,hitice)
+ MCFG_VIDEO_RESET_OVERRIDE(taitob_state,hitice)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
@@ -2329,8 +2315,6 @@ static MACHINE_CONFIG_START( rambo3p, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2346,7 +2330,7 @@ static MACHINE_CONFIG_START( rambo3p, taitob_state )
MCFG_GFXDECODE(rambo3)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order0)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
@@ -2375,8 +2359,6 @@ static MACHINE_CONFIG_START( rambo3, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2392,7 +2374,7 @@ static MACHINE_CONFIG_START( rambo3, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order2)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
@@ -2418,8 +2400,6 @@ static MACHINE_CONFIG_START( pbobble, taitob_state )
MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -2441,7 +2421,7 @@ static MACHINE_CONFIG_START( pbobble, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order1)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_TC0180VCU_ADD("tc0180vcu", color1_tc0180vcu_intf)
@@ -2470,8 +2450,6 @@ static MACHINE_CONFIG_START( spacedx, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_EEPROM_ADD("eeprom", taitob_eeprom_intf)
@@ -2491,7 +2469,7 @@ static MACHINE_CONFIG_START( spacedx, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order1)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_TC0180VCU_ADD("tc0180vcu", color1_tc0180vcu_intf)
@@ -2520,8 +2498,6 @@ static MACHINE_CONFIG_START( spacedxo, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2537,7 +2513,7 @@ static MACHINE_CONFIG_START( spacedxo, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order2)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
@@ -2566,8 +2542,6 @@ static MACHINE_CONFIG_START( qzshowby, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_EEPROM_ADD("eeprom", taitob_eeprom_intf)
@@ -2587,7 +2561,7 @@ static MACHINE_CONFIG_START( qzshowby, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order1)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_TC0180VCU_ADD("tc0180vcu", color1_tc0180vcu_intf)
@@ -2616,8 +2590,6 @@ static MACHINE_CONFIG_START( viofight, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2633,7 +2605,7 @@ static MACHINE_CONFIG_START( viofight, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order2)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
@@ -2665,8 +2637,6 @@ static MACHINE_CONFIG_START( masterw, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2682,7 +2652,7 @@ static MACHINE_CONFIG_START( masterw, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order2)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
@@ -2712,8 +2682,6 @@ static MACHINE_CONFIG_START( silentd, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2729,7 +2697,7 @@ static MACHINE_CONFIG_START( silentd, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order2)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
@@ -2758,8 +2726,6 @@ static MACHINE_CONFIG_START( selfeena, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2775,7 +2741,7 @@ static MACHINE_CONFIG_START( selfeena, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order2)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
@@ -2813,8 +2779,6 @@ static MACHINE_CONFIG_START( ryujin, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0220IOC_ADD("tc0220ioc", taitob_io_intf)
@@ -2830,7 +2794,7 @@ static MACHINE_CONFIG_START( ryujin, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order2)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
@@ -2866,8 +2830,6 @@ static MACHINE_CONFIG_START( sbm, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0510NIO_ADD("tc0510nio", sbm_io_intf)
@@ -2883,7 +2845,7 @@ static MACHINE_CONFIG_START( sbm, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitob_color_order0)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
@@ -2917,8 +2879,6 @@ static MACHINE_CONFIG_START( realpunc, taitob_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(taitob)
- MCFG_MACHINE_RESET(taitob)
MCFG_TC0510NIO_ADD("tc0510nio", realpunc_io_intf)
@@ -2934,7 +2894,7 @@ static MACHINE_CONFIG_START( realpunc, taitob_state )
MCFG_GFXDECODE(taito_b)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(realpunc)
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,realpunc)
MCFG_SCREEN_UPDATE_STATIC(realpunc)
MCFG_HD63484_ADD("hd63484", realpunc_hd63484_intf)
diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c
index 7f3cf670cd7..a3bf1192b49 100644
--- a/src/mame/drivers/taito_f2.c
+++ b/src/mame/drivers/taito_f2.c
@@ -3016,25 +3016,24 @@ static const tc0140syt_interface taitof2_tc0140syt_intf =
"maincpu", "audiocpu"
};
-static MACHINE_START( common )
+MACHINE_START_MEMBER(taitof2_state,common)
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");;
- state->m_tc0100scn = machine.device("tc0100scn");;
- state->m_tc0100scn_1 = machine.device("tc0100scn_1");;
- state->m_tc0100scn_2 = machine.device("tc0100scn_2");;
- state->m_tc0360pri = machine.device("tc0360pri");;
- state->m_tc0280grd = machine.device("tc0280grd");;
- state->m_tc0430grw = machine.device("tc0430grw");;
- state->m_tc0480scp = machine.device("tc0480scp");;
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");;
+ m_tc0100scn = machine().device("tc0100scn");;
+ m_tc0100scn_1 = machine().device("tc0100scn_1");;
+ m_tc0100scn_2 = machine().device("tc0100scn_2");;
+ m_tc0360pri = machine().device("tc0360pri");;
+ m_tc0280grd = machine().device("tc0280grd");;
+ m_tc0430grw = machine().device("tc0430grw");;
+ m_tc0480scp = machine().device("tc0480scp");;
}
-static MACHINE_START( f2 )
+MACHINE_START_MEMBER(taitof2_state,f2)
{
- MACHINE_START_CALL(common);
- machine.root_device().membank("bank2")->configure_entries(0, 8, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
+ MACHINE_START_CALL_MEMBER(common);
+ machine().root_device().membank("bank2")->configure_entries(0, 8, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
}
static MACHINE_CONFIG_START( taito_f2, taitof2_state )
@@ -3046,7 +3045,7 @@ static MACHINE_CONFIG_START( taito_f2, taitof2_state )
MCFG_CPU_ADD("audiocpu", Z80, 24000000/6) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(f2)
+ MCFG_MACHINE_START_OVERRIDE(taitof2_state,f2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3060,7 +3059,7 @@ static MACHINE_CONFIG_START( taito_f2, taitof2_state )
MCFG_GFXDECODE(taitof2)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitof2_default)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_default)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3098,7 +3097,7 @@ static MACHINE_CONFIG_DERIVED( finalb, taito_f2_tc0220ioc )
/* video hardware */
MCFG_GFXDECODE(finalb)
- MCFG_VIDEO_START(taitof2_finalb)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_finalb)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_STATIC(taitof2_partial_buffer_delayed)
@@ -3115,7 +3114,7 @@ static MACHINE_CONFIG_DERIVED( dondokod, taito_f2_tc0220ioc )
/* video hardware */
MCFG_GFXDECODE(pivot)
- MCFG_VIDEO_START(taitof2_dondokod)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_STATIC(taitof2_partial_buffer_delayed)
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri_roz)
@@ -3133,7 +3132,7 @@ static MACHINE_CONFIG_DERIVED( megab, taito_f2_tc0220ioc )
MCFG_CPU_PROGRAM_MAP(megab_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_megab)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_megab)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
@@ -3150,7 +3149,7 @@ static MACHINE_CONFIG_DERIVED( thundfox, taito_f2_tc0220ioc )
/* video hardware */
MCFG_GFXDECODE(thundfox)
- MCFG_VIDEO_START(taitof2_thundfox)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_thundfox)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_thundfox)
MCFG_SCREEN_VBLANK_STATIC(taitof2_partial_buffer_delayed_thundfox)
@@ -3169,7 +3168,7 @@ static MACHINE_CONFIG_DERIVED( cameltry, taito_f2_tc0220ioc )
/* video hardware */
MCFG_GFXDECODE(pivot)
- MCFG_VIDEO_START(taitof2_dondokod)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri_roz)
@@ -3202,7 +3201,7 @@ static MACHINE_CONFIG_DERIVED( liquidk, taito_f2_tc0220ioc )
MCFG_CPU_PROGRAM_MAP(liquidk_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_megab)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_megab)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
MCFG_SCREEN_VBLANK_STATIC(taitof2_partial_buffer_delayed)
@@ -3235,7 +3234,7 @@ static MACHINE_CONFIG_DERIVED( ssi, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(ssi_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_ssi)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_ssi)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_ssi)
MCFG_SCREEN_VBLANK_STATIC(taitof2_partial_buffer_delayed_thundfox) // buffer_delayed_thundfox instead of buffer_delayed fixes the butterfly powerup
@@ -3251,7 +3250,7 @@ static MACHINE_CONFIG_DERIVED( gunfront, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(gunfront_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_gunfront)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_gunfront)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
MCFG_SCREEN_VBLANK_STATIC(taitof2_partial_buffer_delayed)
@@ -3268,7 +3267,7 @@ static MACHINE_CONFIG_DERIVED( growl, taito_f2 )
MCFG_CPU_PROGRAM_MAP(growl_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_growl)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_growl)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
@@ -3284,7 +3283,7 @@ static MACHINE_CONFIG_DERIVED( mjnquest, taito_f2 )
MCFG_CPU_PROGRAM_MAP(mjnquest_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_mjnquest)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_mjnquest)
MCFG_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
@@ -3299,7 +3298,7 @@ static MACHINE_CONFIG_DERIVED( footchmp, taito_f2 )
/* video hardware */
MCFG_GFXDECODE(deadconx)
- MCFG_VIDEO_START(taitof2_footchmp)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_footchmp)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_deadconx)
MCFG_SCREEN_VBLANK_STATIC(taitof2_full_buffer_delayed)
@@ -3323,7 +3322,7 @@ static MACHINE_CONFIG_DERIVED( hthero, taito_f2 )
/* video hardware */
MCFG_GFXDECODE(deadconx)
- MCFG_VIDEO_START(taitof2_hthero)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_hthero)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_deadconx)
MCFG_SCREEN_VBLANK_STATIC(taitof2_full_buffer_delayed)
@@ -3340,7 +3339,7 @@ static MACHINE_CONFIG_DERIVED( koshien, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(koshien_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_koshien)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_koshien)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
@@ -3357,7 +3356,7 @@ static MACHINE_CONFIG_DERIVED( yuyugogo, taito_f2_tc0510nio )
/* video hardware */
MCFG_GFXDECODE(yuyugogo)
- MCFG_VIDEO_START(taitof2_yuyugogo)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_yuyugogo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_yesnoj)
@@ -3372,7 +3371,7 @@ static MACHINE_CONFIG_DERIVED( ninjak, taito_f2 )
MCFG_CPU_PROGRAM_MAP(ninjak_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_ninjak)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_ninjak)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
@@ -3388,7 +3387,7 @@ static MACHINE_CONFIG_DERIVED( solfigtr, taito_f2 )
MCFG_CPU_PROGRAM_MAP(solfigtr_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_solfigtr)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_solfigtr)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
@@ -3419,7 +3418,7 @@ static MACHINE_CONFIG_DERIVED( pulirula, taito_f2_tc0510nio )
/* video hardware */
MCFG_GFXDECODE(pivot)
- MCFG_VIDEO_START(taitof2_pulirula)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_pulirula)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri_roz)
@@ -3438,7 +3437,7 @@ static MACHINE_CONFIG_DERIVED( metalb, taito_f2_tc0510nio )
/* video hardware */
MCFG_GFXDECODE(deadconx)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(taitof2_metalb)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_metalb)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_metalb)
@@ -3454,7 +3453,7 @@ static MACHINE_CONFIG_DERIVED( qzchikyu, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(qzchikyu_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_qzchikyu)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_qzchikyu)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_STATIC(taitof2_partial_buffer_delayed_qzchikyu)
@@ -3470,7 +3469,7 @@ static MACHINE_CONFIG_DERIVED( yesnoj, taito_f2 )
/* video hardware */
MCFG_GFXDECODE(yuyugogo)
- MCFG_VIDEO_START(taitof2_yesnoj)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_yesnoj)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_yesnoj)
@@ -3486,7 +3485,7 @@ static MACHINE_CONFIG_DERIVED( deadconx, taito_f2 )
/* video hardware */
MCFG_GFXDECODE(deadconx)
- MCFG_VIDEO_START(taitof2_deadconx)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_deadconx)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_deadconx)
@@ -3503,7 +3502,7 @@ static MACHINE_CONFIG_DERIVED( deadconxj, taito_f2 )
/* video hardware */
MCFG_GFXDECODE(deadconx)
- MCFG_VIDEO_START(taitof2_deadconxj)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_deadconxj)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_deadconx)
@@ -3519,7 +3518,7 @@ static MACHINE_CONFIG_DERIVED( dinorex, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(dinorex_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_dinorex)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dinorex)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
@@ -3535,7 +3534,7 @@ static MACHINE_CONFIG_DERIVED( qjinsei, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(qjinsei_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_quiz)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_quiz)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
@@ -3551,7 +3550,7 @@ static MACHINE_CONFIG_DERIVED( qcrayon, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(qcrayon_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_quiz)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_quiz)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
@@ -3567,7 +3566,7 @@ static MACHINE_CONFIG_DERIVED( qcrayon2, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(qcrayon2_map)
/* video hardware */
- MCFG_VIDEO_START(taitof2_quiz)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_quiz)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri)
@@ -3584,7 +3583,7 @@ static MACHINE_CONFIG_DERIVED( driftout, taito_f2_tc0510nio )
/* video hardware */
MCFG_GFXDECODE(pivot)
- MCFG_VIDEO_START(taitof2_driftout)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_driftout)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(taitof2_pri_roz)
@@ -3604,7 +3603,7 @@ static MACHINE_CONFIG_START( cameltrya, taitof2_state )
MCFG_CPU_ADD("audiocpu", Z80,24000000/4) /* verifed on pcb */
MCFG_CPU_PROGRAM_MAP(cameltrya_sound_map)
- MCFG_MACHINE_START(common)
+ MCFG_MACHINE_START_OVERRIDE(taitof2_state,common)
MCFG_TC0220IOC_ADD("tc0220ioc", taitof2_io220_intf)
@@ -3620,7 +3619,7 @@ static MACHINE_CONFIG_START( cameltrya, taitof2_state )
MCFG_GFXDECODE(pivot)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitof2_dondokod)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
MCFG_TC0430GRW_ADD("tc0280grd", taitof2_tc0280grd_intf)
@@ -3653,7 +3652,7 @@ static MACHINE_CONFIG_START( driveout, taitof2_state )
MCFG_CPU_ADD("audiocpu", Z80,24000000/6) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP(driveout_sound_map)
- MCFG_MACHINE_START(common)
+ MCFG_MACHINE_START_OVERRIDE(taitof2_state,common)
MCFG_TC0510NIO_ADD("tc0510nio", taitof2_io510_intf)
@@ -3669,7 +3668,7 @@ static MACHINE_CONFIG_START( driveout, taitof2_state )
MCFG_GFXDECODE(pivot)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitof2_driftout)
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_driftout)
MCFG_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
MCFG_TC0430GRW_ADD("tc0430grw", taitof2_tc0430grw_intf)
diff --git a/src/mame/drivers/taito_f3.c b/src/mame/drivers/taito_f3.c
index 4584682f529..fb6f96517dd 100644
--- a/src/mame/drivers/taito_f3.c
+++ b/src/mame/drivers/taito_f3.c
@@ -419,10 +419,9 @@ static const UINT16 recalh_eeprom[64] = {
0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
};
-static MACHINE_START(f3)
+MACHINE_START_MEMBER(taito_f3_state,f3)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- state_save_register_global_array(machine, state->m_coin_word);
+ state_save_register_global_array(machine(), m_coin_word);
}
static MACHINE_CONFIG_START( f3, taito_f3_state )
@@ -432,7 +431,7 @@ static MACHINE_CONFIG_START( f3, taito_f3_state )
MCFG_CPU_PROGRAM_MAP(f3_map)
MCFG_CPU_VBLANK_INT("screen", f3_interrupt2)
- MCFG_MACHINE_START(f3)
+ MCFG_MACHINE_START_OVERRIDE(taito_f3_state,f3)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -448,7 +447,7 @@ static MACHINE_CONFIG_START( f3, taito_f3_state )
MCFG_GFXDECODE(taito_f3)
MCFG_PALETTE_LENGTH(0x2000)
- MCFG_VIDEO_START(f3)
+ MCFG_VIDEO_START_OVERRIDE(taito_f3_state,f3)
/* sound hardware */
MCFG_FRAGMENT_ADD(taito_en_sound)
@@ -526,7 +525,7 @@ static MACHINE_CONFIG_START( bubsympb, taito_f3_state )
MCFG_CPU_PROGRAM_MAP(f3_map)
MCFG_CPU_VBLANK_INT("screen", f3_interrupt2)
- MCFG_MACHINE_START(f3)
+ MCFG_MACHINE_START_OVERRIDE(taito_f3_state,f3)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -542,7 +541,7 @@ static MACHINE_CONFIG_START( bubsympb, taito_f3_state )
MCFG_GFXDECODE(bubsympb)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(f3)
+ MCFG_VIDEO_START_OVERRIDE(taito_f3_state,f3)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c
index cd8d620a09b..6e82ad8dca8 100644
--- a/src/mame/drivers/taito_h.c
+++ b/src/mame/drivers/taito_h.c
@@ -516,25 +516,23 @@ static GFXDECODE_START( dleague )
GFXDECODE_END
-static MACHINE_RESET( taitoh )
+void taitoh_state::machine_reset()
{
- taitoh_state *state = machine.driver_data<taitoh_state>();
- state->m_banknum = 0;
+ m_banknum = 0;
}
-static MACHINE_START( taitoh )
+void taitoh_state::machine_start()
{
- taitoh_state *state = machine.driver_data<taitoh_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
- state->membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_tc0220ioc = machine.device("tc0220ioc");
- state->m_tc0080vco = machine.device("tc0080vco");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_tc0220ioc = machine().device("tc0220ioc");
+ m_tc0080vco = machine().device("tc0080vco");
- state->save_item(NAME(state->m_banknum));
- machine.save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine));
+ save_item(NAME(m_banknum));
+ machine().save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine()));
}
@@ -573,8 +571,6 @@ static MACHINE_CONFIG_START( syvalion, taitoh_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz / 2) /* 4 MHz ??? */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(taitoh)
- MCFG_MACHINE_RESET(taitoh)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -616,8 +612,6 @@ static MACHINE_CONFIG_START( recordbr, taitoh_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz / 2) /* 4 MHz ??? */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(taitoh)
- MCFG_MACHINE_RESET(taitoh)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -659,8 +653,6 @@ static MACHINE_CONFIG_START( dleague, taitoh_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz / 2) /* 4 MHz ??? */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(taitoh)
- MCFG_MACHINE_RESET(taitoh)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
diff --git a/src/mame/drivers/taito_l.c b/src/mame/drivers/taito_l.c
index 70181420b9f..92235577d5b 100644
--- a/src/mame/drivers/taito_l.c
+++ b/src/mame/drivers/taito_l.c
@@ -140,21 +140,20 @@ static void state_register( running_machine &machine )
state->save_item(NAME(state->m_flipscreen));
}
-static MACHINE_START( taito_l )
+MACHINE_START_MEMBER(taitol_state,taito_l)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_rambanks));
- state->save_item(NAME(state->m_palette_ram));
- state->save_item(NAME(state->m_empty_ram));
+ save_item(NAME(m_rambanks));
+ save_item(NAME(m_palette_ram));
+ save_item(NAME(m_empty_ram));
- state_register(machine);
+ state_register(machine());
}
-static void machine_reset(running_machine &machine)
+static void taito_machine_reset(running_machine &machine)
{
taitol_state *state = machine.driver_data<taitol_state>();
int i;
@@ -200,105 +199,95 @@ static void machine_reset(running_machine &machine)
}
-static MACHINE_RESET( fhawk )
+MACHINE_RESET_MEMBER(taitol_state,fhawk)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = NULL;
- state->m_porte1_tag = NULL;
- state->m_portf0_tag = NULL;
- state->m_portf1_tag = NULL;
+ taito_machine_reset(machine());
+ m_porte0_tag = NULL;
+ m_porte1_tag = NULL;
+ m_portf0_tag = NULL;
+ m_portf1_tag = NULL;
}
-static MACHINE_RESET( raimais )
+MACHINE_RESET_MEMBER(taitol_state,raimais)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = NULL;
- state->m_porte1_tag = NULL;
- state->m_portf0_tag = NULL;
- state->m_portf1_tag = NULL;
+ taito_machine_reset(machine());
+ m_porte0_tag = NULL;
+ m_porte1_tag = NULL;
+ m_portf0_tag = NULL;
+ m_portf1_tag = NULL;
}
-static MACHINE_RESET( champwr )
+MACHINE_RESET_MEMBER(taitol_state,champwr)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = NULL;
- state->m_porte1_tag = NULL;
- state->m_portf0_tag = NULL;
- state->m_portf1_tag = NULL;
+ taito_machine_reset(machine());
+ m_porte0_tag = NULL;
+ m_porte1_tag = NULL;
+ m_portf0_tag = NULL;
+ m_portf1_tag = NULL;
}
-static MACHINE_RESET( kurikint )
+MACHINE_RESET_MEMBER(taitol_state,kurikint)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = NULL;
- state->m_porte1_tag = NULL;
- state->m_portf0_tag = NULL;
- state->m_portf1_tag = NULL;
+ taito_machine_reset(machine());
+ m_porte0_tag = NULL;
+ m_porte1_tag = NULL;
+ m_portf0_tag = NULL;
+ m_portf1_tag = NULL;
}
-static MACHINE_RESET( evilston )
+MACHINE_RESET_MEMBER(taitol_state,evilston)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = NULL;
- state->m_porte1_tag = NULL;
- state->m_portf0_tag = NULL;
- state->m_portf1_tag = NULL;
+ taito_machine_reset(machine());
+ m_porte0_tag = NULL;
+ m_porte1_tag = NULL;
+ m_portf0_tag = NULL;
+ m_portf1_tag = NULL;
}
-static MACHINE_RESET( puzznic )
+MACHINE_RESET_MEMBER(taitol_state,puzznic)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = "DSWA";
- state->m_porte1_tag = "DSWB";
- state->m_portf0_tag = "IN0";
- state->m_portf1_tag = "IN1";
+ taito_machine_reset(machine());
+ m_porte0_tag = "DSWA";
+ m_porte1_tag = "DSWB";
+ m_portf0_tag = "IN0";
+ m_portf1_tag = "IN1";
}
-static MACHINE_RESET( plotting )
+MACHINE_RESET_MEMBER(taitol_state,plotting)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = "DSWA";
- state->m_porte1_tag = "DSWB";
- state->m_portf0_tag = "IN0";
- state->m_portf1_tag = "IN1";
+ taito_machine_reset(machine());
+ m_porte0_tag = "DSWA";
+ m_porte1_tag = "DSWB";
+ m_portf0_tag = "IN0";
+ m_portf1_tag = "IN1";
}
-static MACHINE_RESET( palamed )
+MACHINE_RESET_MEMBER(taitol_state,palamed)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = "DSWA";
- state->m_porte1_tag = NULL;
- state->m_portf0_tag = "DSWB";
- state->m_portf1_tag = NULL;
+ taito_machine_reset(machine());
+ m_porte0_tag = "DSWA";
+ m_porte1_tag = NULL;
+ m_portf0_tag = "DSWB";
+ m_portf1_tag = NULL;
}
-static MACHINE_RESET( cachat )
+MACHINE_RESET_MEMBER(taitol_state,cachat)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = "DSWA";
- state->m_porte1_tag = NULL;
- state->m_portf0_tag = "DSWB";
- state->m_portf1_tag = NULL;
+ taito_machine_reset(machine());
+ m_porte0_tag = "DSWA";
+ m_porte1_tag = NULL;
+ m_portf0_tag = "DSWB";
+ m_portf1_tag = NULL;
}
-static MACHINE_RESET( horshoes )
+MACHINE_RESET_MEMBER(taitol_state,horshoes)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- machine_reset(machine);
- state->m_porte0_tag = "DSWA";
- state->m_porte1_tag = "DSWB";
- state->m_portf0_tag = "IN0";
- state->m_portf1_tag = "IN1";
+ taito_machine_reset(machine());
+ m_porte0_tag = "DSWA";
+ m_porte1_tag = "DSWB";
+ m_portf0_tag = "IN0";
+ m_portf1_tag = "IN1";
}
@@ -1866,8 +1855,8 @@ static MACHINE_CONFIG_START( fhawk, taitol_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(taito_l)
- MCFG_MACHINE_RESET(fhawk)
+ MCFG_MACHINE_START_OVERRIDE(taitol_state,taito_l)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,fhawk)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1881,7 +1870,7 @@ static MACHINE_CONFIG_START( fhawk, taitol_state )
MCFG_GFXDECODE(2)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(taitol)
+ MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1909,7 +1898,7 @@ static MACHINE_CONFIG_DERIVED( champwr, fhawk )
MCFG_CPU_MODIFY("slave")
MCFG_CPU_PROGRAM_MAP(champwr_2_map)
- MCFG_MACHINE_RESET(champwr)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,champwr)
/* sound hardware */
MCFG_SOUND_MODIFY("ymsnd")
@@ -1934,7 +1923,7 @@ static MACHINE_CONFIG_DERIVED( raimais, fhawk )
MCFG_CPU_MODIFY("slave")
MCFG_CPU_PROGRAM_MAP(raimais_2_map)
- MCFG_MACHINE_RESET(raimais)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,raimais)
/* sound hardware */
MCFG_SOUND_REPLACE("ymsnd", YM2610, XTAL_8MHz) /* verified on pcb (8Mhz OSC is also for the 2nd z80) */
@@ -1958,8 +1947,8 @@ static MACHINE_CONFIG_START( kurikint, taitol_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(taito_l)
- MCFG_MACHINE_RESET(kurikint)
+ MCFG_MACHINE_START_OVERRIDE(taitol_state,taito_l)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,kurikint)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1973,7 +1962,7 @@ static MACHINE_CONFIG_START( kurikint, taitol_state )
MCFG_GFXDECODE(2)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(taitol)
+ MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2004,8 +1993,8 @@ static MACHINE_CONFIG_START( plotting, taitol_state )
MCFG_CPU_PROGRAM_MAP(plotting_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", vbl_interrupt, "screen", 0, 1)
- MCFG_MACHINE_START(taito_l)
- MCFG_MACHINE_RESET(plotting)
+ MCFG_MACHINE_START_OVERRIDE(taitol_state,taito_l)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,plotting)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2019,7 +2008,7 @@ static MACHINE_CONFIG_START( plotting, taitol_state )
MCFG_GFXDECODE(1)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(taitol)
+ MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2041,7 +2030,7 @@ static MACHINE_CONFIG_DERIVED( puzznic, plotting )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(puzznic_map)
- MCFG_MACHINE_RESET(puzznic)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,puzznic)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( puzznici, plotting )
@@ -2050,7 +2039,7 @@ static MACHINE_CONFIG_DERIVED( puzznici, plotting )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(puzznici_map)
- MCFG_MACHINE_RESET(puzznic)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,puzznic)
MACHINE_CONFIG_END
@@ -2060,7 +2049,7 @@ static MACHINE_CONFIG_DERIVED( horshoes, plotting )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(horshoes_map)
- MCFG_MACHINE_RESET(horshoes)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,horshoes)
MACHINE_CONFIG_END
@@ -2070,7 +2059,7 @@ static MACHINE_CONFIG_DERIVED( palamed, plotting )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(palamed_map)
- MCFG_MACHINE_RESET(palamed)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,palamed)
MACHINE_CONFIG_END
@@ -2080,7 +2069,7 @@ static MACHINE_CONFIG_DERIVED( cachat, plotting )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(cachat_map)
- MCFG_MACHINE_RESET(cachat)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,cachat)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( evilston, taitol_state )
@@ -2097,8 +2086,8 @@ static MACHINE_CONFIG_START( evilston, taitol_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(taito_l)
- MCFG_MACHINE_RESET(evilston)
+ MCFG_MACHINE_START_OVERRIDE(taitol_state,taito_l)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,evilston)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2112,7 +2101,7 @@ static MACHINE_CONFIG_START( evilston, taitol_state )
MCFG_GFXDECODE(2)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(taitol)
+ MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2137,7 +2126,7 @@ static MACHINE_CONFIG_DERIVED( lagirl, plotting )
/* sound hardware */
MCFG_SOUND_REPLACE("ymsnd", YM2203, XTAL_27_2109MHz/8)
- MCFG_MACHINE_RESET(cachat)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state,cachat)
MACHINE_CONFIG_END
#endif
diff --git a/src/mame/drivers/taito_o.c b/src/mame/drivers/taito_o.c
index bec0dee5cf4..94fd3227dba 100644
--- a/src/mame/drivers/taito_o.c
+++ b/src/mame/drivers/taito_o.c
@@ -242,12 +242,11 @@ static const tc0080vco_interface parentj_intf =
0
};
-static MACHINE_START( taitoo )
+void taitoo_state::machine_start()
{
- taitoo_state *state = machine.driver_data<taitoo_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_tc0080vco = machine.device("tc0080vco");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_tc0080vco = machine().device("tc0080vco");
}
static MACHINE_CONFIG_START( parentj, taitoo_state )
@@ -256,7 +255,6 @@ static MACHINE_CONFIG_START( parentj, taitoo_state )
MCFG_CPU_PROGRAM_MAP(parentj_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", parentj_interrupt, "screen", 0, 1)
- MCFG_MACHINE_START(taitoo)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/taito_x.c b/src/mame/drivers/taito_x.c
index 463159a7af4..44c25e3a592 100644
--- a/src/mame/drivers/taito_x.c
+++ b/src/mame/drivers/taito_x.c
@@ -336,6 +336,7 @@ public:
DECLARE_WRITE16_MEMBER(kyustrkr_input_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_DRIVER_INIT(kyustrkr);
+ DECLARE_MACHINE_START(taitox);
};
READ16_MEMBER(taitox_state::superman_dsw_input_r)
@@ -807,13 +808,12 @@ static const ym2151_interface ym2151_config =
DEVCB_LINE(irqhandler)
};
-static MACHINE_START( taitox )
+MACHINE_START_MEMBER(taitox_state,taitox)
{
- taitox_state *state = machine.driver_data<taitox_state>();
- state->m_banknum = -1;
- state->save_item(NAME(state->m_banknum));
- machine.save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine));
+ m_banknum = -1;
+ save_item(NAME(m_banknum));
+ machine().save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine()));
}
static const tc0140syt_interface taitox_tc0140syt_intf =
@@ -836,7 +836,7 @@ static MACHINE_CONFIG_START( superman, taitox_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_START(taitox)
+ MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_MACHINE_RESET(cchip1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -852,7 +852,7 @@ static MACHINE_CONFIG_START( superman, taitox_state )
MCFG_GFXDECODE(superman)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -879,7 +879,7 @@ static MACHINE_CONFIG_START( daisenpu, taitox_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_START(taitox)
+ MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -894,7 +894,7 @@ static MACHINE_CONFIG_START( daisenpu, taitox_state )
MCFG_GFXDECODE(superman)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -919,7 +919,7 @@ static MACHINE_CONFIG_START( gigandes, taitox_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_START(taitox)
+ MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -934,7 +934,7 @@ static MACHINE_CONFIG_START( gigandes, taitox_state )
MCFG_GFXDECODE(superman)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -961,7 +961,7 @@ static MACHINE_CONFIG_START( ballbros, taitox_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- MCFG_MACHINE_START(taitox)
+ MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -976,7 +976,7 @@ static MACHINE_CONFIG_START( ballbros, taitox_state )
MCFG_GFXDECODE(ballbros)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(seta_no_layers)
+ MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/taito_z.c b/src/mame/drivers/taito_z.c
index 37c445b0e50..59fe28c9ef3 100644
--- a/src/mame/drivers/taito_z.c
+++ b/src/mame/drivers/taito_z.c
@@ -3027,48 +3027,46 @@ static void taitoz_postload(running_machine &machine)
reset_sound_region(machine);
}
-static MACHINE_START( bshark )
+MACHINE_START_MEMBER(taitoz_state,bshark)
{
- taitoz_state *state = machine.driver_data<taitoz_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_eeprom = machine.device<eeprom_device>("eeprom");
- state->m_tc0100scn = machine.device("tc0100scn");
- state->m_tc0150rod = machine.device("tc0150rod");
- state->m_tc0480scp = machine.device("tc0480scp");
- state->m_tc0220ioc = machine.device("tc0220ioc");
- state->m_tc0140syt = machine.device("tc0140syt");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_eeprom = machine().device<eeprom_device>("eeprom");
+ m_tc0100scn = machine().device("tc0100scn");
+ m_tc0150rod = machine().device("tc0150rod");
+ m_tc0480scp = machine().device("tc0480scp");
+ m_tc0220ioc = machine().device("tc0220ioc");
+ m_tc0140syt = machine().device("tc0140syt");
- state->save_item(NAME(state->m_cpua_ctrl));
+ save_item(NAME(m_cpua_ctrl));
/* these are specific to various games: we ought to split the inits */
- state->save_item(NAME(state->m_sci_int6));
- state->save_item(NAME(state->m_ioc220_port));
+ save_item(NAME(m_sci_int6));
+ save_item(NAME(m_ioc220_port));
- state->save_item(NAME(state->m_banknum));
+ save_item(NAME(m_banknum));
}
-static MACHINE_START( taitoz )
+MACHINE_START_MEMBER(taitoz_state,taitoz)
{
- int banks = (machine.root_device().memregion("audiocpu")->bytes() - 0xc000) / 0x4000;
+ int banks = (machine().root_device().memregion("audiocpu")->bytes() - 0xc000) / 0x4000;
- machine.root_device().membank("bank10")->configure_entries(0, banks, machine.root_device().memregion("audiocpu")->base() + 0xc000, 0x4000);
+ machine().root_device().membank("bank10")->configure_entries(0, banks, machine().root_device().memregion("audiocpu")->base() + 0xc000, 0x4000);
- machine.save().register_postload(save_prepost_delegate(FUNC(taitoz_postload), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(taitoz_postload), &machine()));
- MACHINE_START_CALL(bshark);
+ MACHINE_START_CALL_MEMBER(bshark);
}
-static MACHINE_RESET( taitoz )
+MACHINE_RESET_MEMBER(taitoz_state,taitoz)
{
- taitoz_state *state = machine.driver_data<taitoz_state>();
- state->m_banknum = -1;
- state->m_cpua_ctrl = 0xff;
- state->m_sci_int6 = 0;
- state->m_ioc220_port = 0;
+ m_banknum = -1;
+ m_cpua_ctrl = 0xff;
+ m_sci_int6 = 0;
+ m_ioc220_port = 0;
}
/* Contcirc vis area seems narrower than the other games... */
@@ -3087,8 +3085,8 @@ static MACHINE_CONFIG_START( contcirc, taitoz_state )
MCFG_CPU_PROGRAM_MAP(contcirc_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
- MCFG_MACHINE_START(taitoz)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
@@ -3103,7 +3101,7 @@ static MACHINE_CONFIG_START( contcirc, taitoz_state )
MCFG_GFXDECODE(taitoz)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitoz)
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
@@ -3149,8 +3147,8 @@ static MACHINE_CONFIG_START( chasehq, taitoz_state )
MCFG_CPU_PROGRAM_MAP(chq_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(taitoz)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
@@ -3165,7 +3163,7 @@ static MACHINE_CONFIG_START( chasehq, taitoz_state )
MCFG_GFXDECODE(chasehq)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitoz)
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
@@ -3211,8 +3209,8 @@ static MACHINE_CONFIG_START( enforce, taitoz_state )
MCFG_CPU_PROGRAM_MAP(enforce_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
- MCFG_MACHINE_START(taitoz)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -3229,7 +3227,7 @@ static MACHINE_CONFIG_START( enforce, taitoz_state )
MCFG_GFXDECODE(taitoz)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitoz)
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
@@ -3271,8 +3269,8 @@ static MACHINE_CONFIG_START( bshark, taitoz_state )
MCFG_CPU_PROGRAM_MAP(bshark_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(bshark)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,bshark)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -3289,7 +3287,7 @@ static MACHINE_CONFIG_START( bshark, taitoz_state )
MCFG_GFXDECODE(taitoz)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitoz)
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
@@ -3342,8 +3340,8 @@ static MACHINE_CONFIG_START( sci, taitoz_state )
MCFG_CPU_PROGRAM_MAP(sci_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(taitoz)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(3000))
@@ -3360,7 +3358,7 @@ static MACHINE_CONFIG_START( sci, taitoz_state )
MCFG_GFXDECODE(taitoz)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitoz)
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
@@ -3404,8 +3402,8 @@ static MACHINE_CONFIG_START( nightstr, taitoz_state )
MCFG_CPU_PROGRAM_MAP(nightstr_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(taitoz)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -3422,7 +3420,7 @@ static MACHINE_CONFIG_START( nightstr, taitoz_state )
MCFG_GFXDECODE(chasehq)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitoz)
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
@@ -3468,8 +3466,8 @@ static MACHINE_CONFIG_START( aquajack, taitoz_state )
MCFG_CPU_PROGRAM_MAP(aquajack_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(taitoz)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
@@ -3486,7 +3484,7 @@ static MACHINE_CONFIG_START( aquajack, taitoz_state )
MCFG_GFXDECODE(taitoz)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitoz)
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
@@ -3528,8 +3526,8 @@ static MACHINE_CONFIG_START( spacegun, taitoz_state )
MCFG_CPU_PROGRAM_MAP(spacegun_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(bshark)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,bshark)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_EEPROM_ADD("eeprom", spacegun_eeprom_intf)
MCFG_EEPROM_DATA(spacegun_default_eeprom, 128)
@@ -3590,8 +3588,8 @@ static MACHINE_CONFIG_START( dblaxle, taitoz_state )
MCFG_CPU_PROGRAM_MAP(dblaxle_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(taitoz)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -3608,7 +3606,7 @@ static MACHINE_CONFIG_START( dblaxle, taitoz_state )
MCFG_GFXDECODE(dblaxle)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitoz)
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
@@ -3652,8 +3650,8 @@ static MACHINE_CONFIG_START( racingb, taitoz_state )
MCFG_CPU_PROGRAM_MAP(racingb_cpub_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(taitoz)
- MCFG_MACHINE_RESET(taitoz)
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -3670,7 +3668,7 @@ static MACHINE_CONFIG_START( racingb, taitoz_state )
MCFG_GFXDECODE(dblaxle)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(taitoz)
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c
index 706852da8b6..9f3a252f02b 100644
--- a/src/mame/drivers/taitoair.c
+++ b/src/mame/drivers/taitoair.c
@@ -666,43 +666,41 @@ static const tc0140syt_interface airsys_tc0140syt_intf =
"maincpu", "audiocpu"
};
-static MACHINE_START( taitoair )
+void taitoair_state::machine_start()
{
- taitoair_state *state = machine.driver_data<taitoair_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
+ UINT8 *ROM = memregion("audiocpu")->base();
int i;
- state->membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_dsp = machine.device("dsp");
- state->m_tc0080vco = machine.device("tc0080vco");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_dsp = machine().device("dsp");
+ m_tc0080vco = machine().device("tc0080vco");
- state->save_item(NAME(state->m_banknum));
- state->save_item(NAME(state->m_q.col));
- state->save_item(NAME(state->m_q.pcount));
+ save_item(NAME(m_banknum));
+ save_item(NAME(m_q.col));
+ save_item(NAME(m_q.pcount));
for (i = 0; i < TAITOAIR_POLY_MAX_PT; i++)
{
- state_save_register_item(machine, "globals", NULL, i, state->m_q.p[i].x);
- state_save_register_item(machine, "globals", NULL, i, state->m_q.p[i].y);
+ state_save_register_item(machine(), "globals", NULL, i, m_q.p[i].x);
+ state_save_register_item(machine(), "globals", NULL, i, m_q.p[i].y);
}
- machine.save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine()));
}
-static MACHINE_RESET( taitoair )
+void taitoair_state::machine_reset()
{
- taitoair_state *state = machine.driver_data<taitoair_state>();
int i;
- state->m_dsp_hold_signal = ASSERT_LINE;
- state->m_banknum = 0;
+ m_dsp_hold_signal = ASSERT_LINE;
+ m_banknum = 0;
for (i = 0; i < TAITOAIR_POLY_MAX_PT; i++)
{
- state->m_q.p[i].x = 0;
- state->m_q.p[i].y = 0;
+ m_q.p[i].x = 0;
+ m_q.p[i].y = 0;
}
}
@@ -723,8 +721,6 @@ static MACHINE_CONFIG_START( airsys, taitoair_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(taitoair)
- MCFG_MACHINE_RESET(taitoair)
MCFG_TC0220IOC_ADD("tc0220ioc", airsys_io_intf)
@@ -735,7 +731,6 @@ static MACHINE_CONFIG_START( airsys, taitoair_state )
MCFG_SCREEN_SIZE(64*16, 64*16)
MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 3*16, 28*16-1)
MCFG_SCREEN_UPDATE_STATIC(taitoair)
- MCFG_VIDEO_START(taitoair);
MCFG_GFXDECODE(airsys)
MCFG_PALETTE_LENGTH(512*16+512*16)
diff --git a/src/mame/drivers/taitogn.c b/src/mame/drivers/taitogn.c
index 6d324275726..87a7b102163 100644
--- a/src/mame/drivers/taitogn.c
+++ b/src/mame/drivers/taitogn.c
@@ -387,6 +387,7 @@ public:
DECLARE_READ32_MEMBER(gnet_mahjong_panel_r);
DECLARE_DRIVER_INIT(coh3002t_mp);
DECLARE_DRIVER_INIT(coh3002t);
+ DECLARE_MACHINE_RESET(coh3002t);
};
@@ -881,19 +882,18 @@ DRIVER_INIT_MEMBER(taitogn_state,coh3002t_mp)
machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x1fa10100, 0x1fa10103, read32_delegate(FUNC(taitogn_state::gnet_mahjong_panel_r),this));
}
-static MACHINE_RESET( coh3002t )
+MACHINE_RESET_MEMBER(taitogn_state,coh3002t)
{
- taitogn_state *state = machine.driver_data<taitogn_state>();
- state->m_b_lastclock = 1;
- state->m_locked = 0x1ff;
- install_handlers(machine, 0);
- state->m_control = 0;
- machine.device(":card")->reset();
- ide_set_gnet_readlock(machine.device(":card"), 1);
+ m_b_lastclock = 1;
+ m_locked = 0x1ff;
+ install_handlers(machine(), 0);
+ m_control = 0;
+ machine().device(":card")->reset();
+ ide_set_gnet_readlock(machine().device(":card"), 1);
// halt sound CPU since it has no valid program at start
- machine.device("mn10200")->execute().set_input_line(INPUT_LINE_RESET,ASSERT_LINE); /* MCU */
+ machine().device("mn10200")->execute().set_input_line(INPUT_LINE_RESET,ASSERT_LINE); /* MCU */
}
static ADDRESS_MAP_START( taitogn_map, AS_PROGRAM, 32, taitogn_state )
@@ -960,7 +960,7 @@ static MACHINE_CONFIG_START( coh3002t, taitogn_state )
MCFG_SOUND_ROUTE(0, "lspeaker", 0.35)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.35)
- MCFG_MACHINE_RESET( coh3002t )
+ MCFG_MACHINE_RESET_OVERRIDE(taitogn_state, coh3002t )
MCFG_AT28C16_ADD( "at28c16", 0 )
MCFG_IDE_CONTROLLER_ADD( "card", ide_intf, ide_devices, "hdd", NULL, true)
diff --git a/src/mame/drivers/taitojc.c b/src/mame/drivers/taitojc.c
index a11a54dab5e..7c2b9565860 100644
--- a/src/mame/drivers/taitojc.c
+++ b/src/mame/drivers/taitojc.c
@@ -1191,31 +1191,30 @@ INPUT_PORTS_END
***************************************************************************/
-static MACHINE_RESET( taitojc )
+void taitojc_state::machine_reset()
{
- taitojc_state *state = machine.driver_data<taitojc_state>();
- state->m_first_dsp_reset = 1;
+ m_first_dsp_reset = 1;
- state->m_mcu_comm_main = 0;
- state->m_mcu_comm_hc11 = 0;
- state->m_mcu_data_main = 0;
- state->m_mcu_data_hc11 = 0;
+ m_mcu_comm_main = 0;
+ m_mcu_comm_hc11 = 0;
+ m_mcu_data_main = 0;
+ m_mcu_data_hc11 = 0;
- state->m_texture_x = 0;
- state->m_texture_y = 0;
+ m_texture_x = 0;
+ m_texture_y = 0;
- state->m_dsp_rom_pos = 0;
- state->m_dsp_tex_address = 0;
- state->m_dsp_tex_offset = 0;
- state->m_polygon_fifo_ptr = 0;
+ m_dsp_rom_pos = 0;
+ m_dsp_tex_address = 0;
+ m_dsp_tex_offset = 0;
+ m_polygon_fifo_ptr = 0;
- memset(state->m_viewport_data, 0, sizeof(state->m_viewport_data));
- memset(state->m_projection_data, 0, sizeof(state->m_projection_data));
- memset(state->m_intersection_data, 0, sizeof(state->m_intersection_data));
+ memset(m_viewport_data, 0, sizeof(m_viewport_data));
+ memset(m_projection_data, 0, sizeof(m_projection_data));
+ memset(m_intersection_data, 0, sizeof(m_intersection_data));
// hold the TMS in reset until we have code
- state->m_dsp->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_dsp->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
static INTERRUPT_GEN( taitojc_vblank )
@@ -1253,7 +1252,6 @@ static MACHINE_CONFIG_START( taitojc, taitojc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_RESET(taitojc)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -1269,7 +1267,6 @@ static MACHINE_CONFIG_START( taitojc, taitojc_state )
MCFG_PALETTE_LENGTH(32768)
- MCFG_VIDEO_START(taitojc)
/* sound hardware */
MCFG_FRAGMENT_ADD(taito_en_sound)
diff --git a/src/mame/drivers/taitopjc.c b/src/mame/drivers/taitopjc.c
index 4a8791cbdfa..d4e16e8cd54 100644
--- a/src/mame/drivers/taitopjc.c
+++ b/src/mame/drivers/taitopjc.c
@@ -82,9 +82,10 @@ public:
DECLARE_WRITE8_MEMBER(tlcs_sound_w);
DECLARE_WRITE8_MEMBER(taitopjc_tlcs900_to1);
DECLARE_WRITE8_MEMBER(taitopjc_tlcs900_to3);
+ virtual void video_start();
};
-static VIDEO_START( taitopjc )
+void taitopjc_state::video_start()
{
}
@@ -433,7 +434,6 @@ static MACHINE_CONFIG_START( taitopjc, taitopjc_state )
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 767)
MCFG_SCREEN_UPDATE_STATIC(taitopjc)
- MCFG_VIDEO_START(taitopjc)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c
index 50f60cbedae..d5e982fa9fc 100644
--- a/src/mame/drivers/taitosj.c
+++ b/src/mame/drivers/taitosj.c
@@ -1801,8 +1801,6 @@ static MACHINE_CONFIG_START( nomcu, taitosj_state )
/* - periodic IRQ, with frequency 6000000/(4*16*16*10*16) = 36.621 Hz, */
MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)6000000/(4*16*16*10*16))
- MCFG_MACHINE_START(taitosj)
- MCFG_MACHINE_RESET(taitosj)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1815,7 +1813,6 @@ static MACHINE_CONFIG_START( nomcu, taitosj_state )
MCFG_GFXDECODE(taitosj)
MCFG_PALETTE_LENGTH(64)
- MCFG_VIDEO_START(taitosj)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/taitotz.c b/src/mame/drivers/taitotz.c
index e401d94cdf8..b8a58ea8707 100644
--- a/src/mame/drivers/taitotz.c
+++ b/src/mame/drivers/taitotz.c
@@ -521,6 +521,9 @@ public:
DECLARE_DRIVER_INIT(pwrshovl);
DECLARE_DRIVER_INIT(batlgear);
DECLARE_DRIVER_INIT(landhigh);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -564,21 +567,20 @@ static void taitotz_exit(running_machine &machine)
*/
}
-static VIDEO_START( taitotz )
+void taitotz_state::video_start()
{
- taitotz_state *state = machine.driver_data<taitotz_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
- state->m_screen_ram = auto_alloc_array(machine, UINT32, 0x200000);
- state->m_frame_ram = auto_alloc_array(machine, UINT32, 0x80000);
- state->m_texture_ram = auto_alloc_array(machine, UINT32, 0x800000);
+ m_screen_ram = auto_alloc_array(machine(), UINT32, 0x200000);
+ m_frame_ram = auto_alloc_array(machine(), UINT32, 0x80000);
+ m_texture_ram = auto_alloc_array(machine(), UINT32, 0x800000);
/* create renderer */
- state->m_renderer = auto_alloc(machine, taitotz_renderer(machine, width, height, state->m_texture_ram));
+ m_renderer = auto_alloc(machine(), taitotz_renderer(machine(), width, height, m_texture_ram));
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(taitotz_exit), &machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(taitotz_exit), &machine()));
}
static const float dot3_tex_table[32] =
@@ -2422,26 +2424,24 @@ static void set_ide_drive_serial_number(device_t *device, int drive, const char
}
-static MACHINE_RESET( taitotz )
+void taitotz_state::machine_reset()
{
- taitotz_state *state = machine.driver_data<taitotz_state>();
- machine.device("ide")->reset();
+ machine().device("ide")->reset();
- if (state->m_hdd_serial_number != NULL)
+ if (m_hdd_serial_number != NULL)
{
- set_ide_drive_serial_number(machine.device("ide"), 0, state->m_hdd_serial_number);
+ set_ide_drive_serial_number(machine().device("ide"), 0, m_hdd_serial_number);
}
}
-static MACHINE_START( taitotz )
+void taitotz_state::machine_start()
{
- taitotz_state *state = machine.driver_data<taitotz_state>();
/* set conservative DRC options */
- ppcdrc_set_options(machine.device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
+ ppcdrc_set_options(machine().device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
/* configure fast RAM regions for DRC */
- ppcdrc_add_fastram(machine.device("maincpu"), 0x40000000, 0x40ffffff, FALSE, state->m_work_ram);
+ ppcdrc_add_fastram(machine().device("maincpu"), 0x40000000, 0x40ffffff, FALSE, m_work_ram);
}
@@ -2493,8 +2493,6 @@ static MACHINE_CONFIG_START( taitotz, taitotz_state )
MCFG_QUANTUM_TIME(attotime::from_hz(120))
- MCFG_MACHINE_START( taitotz )
- MCFG_MACHINE_RESET( taitotz )
MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -2506,7 +2504,6 @@ static MACHINE_CONFIG_START( taitotz, taitotz_state )
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 383)
MCFG_SCREEN_UPDATE_STATIC(taitotz)
- MCFG_VIDEO_START(taitotz)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( landhigh, taitotz )
diff --git a/src/mame/drivers/taitowlf.c b/src/mame/drivers/taitowlf.c
index 54837f49bf5..ff6a918f143 100644
--- a/src/mame/drivers/taitowlf.c
+++ b/src/mame/drivers/taitowlf.c
@@ -79,6 +79,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(taitowlf_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
DECLARE_DRIVER_INIT(taitowlf);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
#if !ENABLE_VGA
@@ -527,21 +530,20 @@ static IRQ_CALLBACK(irq_callback)
return pic8259_acknowledge( state->m_pic8259_1);
}
-static MACHINE_START(taitowlf)
+void taitowlf_state::machine_start()
{
- taitowlf_state *state = machine.driver_data<taitowlf_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
- state->m_pit8254 = machine.device( "pit8254" );
- state->m_pic8259_1 = machine.device( "pic8259_1" );
- state->m_pic8259_2 = machine.device( "pic8259_2" );
- state->m_dma8237_1 = machine.device( "dma8237_1" );
- state->m_dma8237_2 = machine.device( "dma8237_2" );
+ m_pit8254 = machine().device( "pit8254" );
+ m_pic8259_1 = machine().device( "pic8259_1" );
+ m_pic8259_2 = machine().device( "pic8259_2" );
+ m_dma8237_1 = machine().device( "dma8237_1" );
+ m_dma8237_2 = machine().device( "dma8237_2" );
}
-static MACHINE_RESET(taitowlf)
+void taitowlf_state::machine_reset()
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("user1")->base() + 0x30000);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("user1")->base() + 0x30000);
}
@@ -606,13 +608,13 @@ static const struct pit8253_config taitowlf_pit8254_config =
#if !ENABLE_VGA
/* debug purpose*/
-static PALETTE_INIT( taitowlf )
+void taitowlf_state::palette_init()
{
- palette_set_color(machine,0x70,MAKE_RGB(0xff,0xff,0xff));
- palette_set_color(machine,0x71,MAKE_RGB(0xff,0xff,0xff));
- palette_set_color(machine,0x01,MAKE_RGB(0x55,0x00,0x00));
- palette_set_color(machine,0x10,MAKE_RGB(0xaa,0x00,0x00));
- palette_set_color(machine,0x00,MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color(machine(),0x70,MAKE_RGB(0xff,0xff,0xff));
+ palette_set_color(machine(),0x71,MAKE_RGB(0xff,0xff,0xff));
+ palette_set_color(machine(),0x01,MAKE_RGB(0x55,0x00,0x00));
+ palette_set_color(machine(),0x10,MAKE_RGB(0xaa,0x00,0x00));
+ palette_set_color(machine(),0x00,MAKE_RGB(0x00,0x00,0x00));
}
#endif
@@ -630,8 +632,6 @@ static MACHINE_CONFIG_START( taitowlf, taitowlf_state )
MCFG_CPU_PROGRAM_MAP(taitowlf_map)
MCFG_CPU_IO_MAP(taitowlf_io)
- MCFG_MACHINE_START(taitowlf)
- MCFG_MACHINE_RESET(taitowlf)
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
@@ -657,7 +657,6 @@ static MACHINE_CONFIG_START( taitowlf, taitowlf_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_PALETTE_LENGTH(256)
MCFG_SCREEN_UPDATE_STATIC(taitowlf)
- MCFG_PALETTE_INIT(taitowlf)
#endif
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tank8.c b/src/mame/drivers/tank8.c
index 70f050196b4..118adaa54e2 100644
--- a/src/mame/drivers/tank8.c
+++ b/src/mame/drivers/tank8.c
@@ -20,10 +20,9 @@ void tank8_set_collision(running_machine &machine, int index)
}
-static MACHINE_RESET( tank8 )
+void tank8_state::machine_reset()
{
- tank8_state *state = machine.driver_data<tank8_state>();
- state->m_collision_index = 0;
+ m_collision_index = 0;
}
@@ -337,7 +336,6 @@ static MACHINE_CONFIG_START( tank8, tank8_state )
MCFG_CPU_ADD("maincpu", M6800, 11055000 / 10) /* ? */
MCFG_CPU_PROGRAM_MAP(tank8_cpu_map)
- MCFG_MACHINE_RESET(tank8)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
@@ -353,8 +351,6 @@ static MACHINE_CONFIG_START( tank8, tank8_state )
MCFG_GFXDECODE(tank8)
MCFG_PALETTE_LENGTH(20)
- MCFG_PALETTE_INIT(tank8)
- MCFG_VIDEO_START(tank8)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tankbatt.c b/src/mame/drivers/tankbatt.c
index 8f603589d4b..c314b1d0525 100644
--- a/src/mame/drivers/tankbatt.c
+++ b/src/mame/drivers/tankbatt.c
@@ -300,8 +300,6 @@ static MACHINE_CONFIG_START( tankbatt, tankbatt_state )
MCFG_GFXDECODE(tankbatt)
MCFG_PALETTE_LENGTH(256*2)
- MCFG_PALETTE_INIT(tankbatt)
- MCFG_VIDEO_START(tankbatt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c
index 81ddc870d62..101faf7f6dc 100644
--- a/src/mame/drivers/tankbust.c
+++ b/src/mame/drivers/tankbust.c
@@ -111,9 +111,9 @@ READ8_MEMBER(tankbust_state::debug_output_area_r)
-static PALETTE_INIT( tankbust )
+void tankbust_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 128; i++)
@@ -156,7 +156,7 @@ static PALETTE_INIT( tankbust )
bit1 = (color_prom[i] >> 7) & 0x01;
r = 0x55 * bit0 + 0xaa * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -312,10 +312,9 @@ static const ay8910_interface ay8910_config =
DEVCB_NULL
};
-static MACHINE_RESET( tankbust )
+void tankbust_state::machine_reset()
{
- tankbust_state *state = machine.driver_data<tankbust_state>();
- state->m_variable_data = 0x11;
+ m_variable_data = 0x11;
}
static INTERRUPT_GEN( vblank_irq )
@@ -340,7 +339,6 @@ static MACHINE_CONFIG_START( tankbust, tankbust_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_RESET( tankbust )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -354,9 +352,7 @@ static MACHINE_CONFIG_START( tankbust, tankbust_state )
MCFG_GFXDECODE( tankbust )
MCFG_PALETTE_LENGTH( 128 )
- MCFG_PALETTE_INIT ( tankbust )
- MCFG_VIDEO_START ( tankbust )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index a8f3c8fbb55..e7922d9d389 100644
--- a/src/mame/drivers/taotaido.c
+++ b/src/mame/drivers/taotaido.c
@@ -351,7 +351,6 @@ static MACHINE_CONFIG_START( taotaido, taotaido_state )
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(taotaido)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/tapatune.c b/src/mame/drivers/tapatune.c
index 2f94ef45058..dae39a68b23 100644
--- a/src/mame/drivers/tapatune.c
+++ b/src/mame/drivers/tapatune.c
@@ -72,6 +72,7 @@ public:
DECLARE_WRITE8_MEMBER(bsmt_data_hi_w);
DECLARE_WRITE8_MEMBER(bsmt_reg_w);
DECLARE_WRITE_LINE_MEMBER(crtc_vsync);
+ virtual void video_start();
};
WRITE16_MEMBER(tapatune_state::palette_w)
@@ -352,7 +353,7 @@ static MC6845_UPDATE_ROW( update_row )
}
}
-static VIDEO_START( tapatune )
+void tapatune_state::video_start()
{
}
@@ -396,7 +397,6 @@ static MACHINE_CONFIG_START( tapatune, tapatune_state )
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(tapatune)
MCFG_MC6845_ADD("crtc", H46505, 24000000/16, h46505_intf) /* H46505 */
diff --git a/src/mame/drivers/targeth.c b/src/mame/drivers/targeth.c
index 95977691de9..ff4cb679b41 100644
--- a/src/mame/drivers/targeth.c
+++ b/src/mame/drivers/targeth.c
@@ -189,7 +189,6 @@ static MACHINE_CONFIG_START( targeth, targeth_state )
MCFG_GFXDECODE(0x080000)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(targeth)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tasman.c b/src/mame/drivers/tasman.c
index a04c3330bb3..7c37046c0c1 100644
--- a/src/mame/drivers/tasman.c
+++ b/src/mame/drivers/tasman.c
@@ -35,15 +35,16 @@ public:
DECLARE_WRITE32_MEMBER(eeprom_w);
DECLARE_WRITE8_MEMBER(kongambl_ff_w);
DECLARE_DRIVER_INIT(kingtut);
+ DECLARE_VIDEO_START(kongambl);
};
-static VIDEO_START(kongambl)
+VIDEO_START_MEMBER(kongambl_state,kongambl)
{
#if CUSTOM_DRAW
#else
- device_t *k056832 = machine.device("k056832");
+ device_t *k056832 = machine().device("k056832");
k056832_set_layer_association(k056832, 0);
k056832_set_layer_offs(k056832, 0, -2, 0);
@@ -610,7 +611,7 @@ static MACHINE_CONFIG_START( kongambl, kongambl_state )
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_VIDEO_START(kongambl)
+ MCFG_VIDEO_START_OVERRIDE(kongambl_state,kongambl)
MCFG_K053247_ADD("k053246", k053247_intf)
#if CUSTOM_DRAW
diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c
index e1f266a105c..18dd5213dce 100644
--- a/src/mame/drivers/tatsumi.c
+++ b/src/mame/drivers/tatsumi.c
@@ -859,12 +859,12 @@ static void apache3_68000_reset(device_t *device)
device->machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
}
-static MACHINE_RESET( apache3 )
+MACHINE_RESET_MEMBER(tatsumi_state,apache3)
{
- machine.device("sub2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // TODO
+ machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // TODO
/* Hook the RESET line, which resets the Z80 */
- m68k_set_reset_callback(machine.device("sub"), apache3_68000_reset);
+ m68k_set_reset_callback(machine().device("sub"), apache3_68000_reset);
}
@@ -888,7 +888,7 @@ static MACHINE_CONFIG_START( apache3, tatsumi_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_RESET(apache3)
+ MCFG_MACHINE_RESET_OVERRIDE(tatsumi_state,apache3)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -898,7 +898,7 @@ static MACHINE_CONFIG_START( apache3, tatsumi_state )
MCFG_GFXDECODE(apache3)
MCFG_PALETTE_LENGTH(1024 + 4096) /* 1024 real colours, and 4096 arranged as series of cluts */
- MCFG_VIDEO_START(apache3)
+ MCFG_VIDEO_START_OVERRIDE(tatsumi_state,apache3)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -939,7 +939,7 @@ static MACHINE_CONFIG_START( roundup5, tatsumi_state )
MCFG_GFXDECODE(roundup5)
MCFG_PALETTE_LENGTH(1024 + 4096) /* 1024 real colours, and 4096 arranged as series of cluts */
- MCFG_VIDEO_START(roundup5)
+ MCFG_VIDEO_START_OVERRIDE(tatsumi_state,roundup5)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -981,7 +981,7 @@ static MACHINE_CONFIG_START( cyclwarr, tatsumi_state )
MCFG_GFXDECODE(cyclwarr)
MCFG_PALETTE_LENGTH(8192 + 8192)
- MCFG_VIDEO_START(cyclwarr)
+ MCFG_VIDEO_START_OVERRIDE(tatsumi_state,cyclwarr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1023,7 +1023,7 @@ static MACHINE_CONFIG_START( bigfight, tatsumi_state )
MCFG_GFXDECODE(cyclwarr)
MCFG_PALETTE_LENGTH(8192 + 8192)
- MCFG_VIDEO_START(bigfight)
+ MCFG_VIDEO_START_OVERRIDE(tatsumi_state,bigfight)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/tattack.c b/src/mame/drivers/tattack.c
index c21b4cf6480..6ae2424485b 100644
--- a/src/mame/drivers/tattack.c
+++ b/src/mame/drivers/tattack.c
@@ -35,6 +35,8 @@ public:
tilemap_t *m_tmap;
DECLARE_DRIVER_INIT(tattack);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -64,10 +66,9 @@ static SCREEN_UPDATE_IND16( tattack )
return 0;
}
-static VIDEO_START( tattack )
+void tattack_state::video_start()
{
- tattack_state *state = machine.driver_data<tattack_state>();
- state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tattack_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
+ m_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tattack_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32 );
}
static ADDRESS_MAP_START( mem, AS_PROGRAM, 8, tattack_state )
@@ -175,7 +176,7 @@ static GFXDECODE_START( tattack )
GFXDECODE_ENTRY( "gfx1", 0 , charlayout, 0, 1 )
GFXDECODE_END
-static PALETTE_INIT( tattack )
+void tattack_state::palette_init()
{
int i,r,g,b;
for(i=0;i<8;i++)
@@ -189,8 +190,8 @@ static PALETTE_INIT( tattack )
else
r=g=b=128;
- palette_set_color(machine,2*i,MAKE_RGB(0x00,0x00,0x00));
- palette_set_color(machine,2*i+1,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),2*i,MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color(machine(),2*i+1,MAKE_RGB(r,g,b));
}
}
@@ -212,9 +213,7 @@ static MACHINE_CONFIG_START( tattack, tattack_state )
MCFG_GFXDECODE(tattack)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(tattack )
- MCFG_VIDEO_START(tattack)
/* sound hardware */
/* Discrete ???? */
diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c
index f5bb4ea79aa..4d40cf8bab9 100644
--- a/src/mame/drivers/tbowl.c
+++ b/src/mame/drivers/tbowl.c
@@ -447,12 +447,11 @@ The game is displayed on 2 monitors
***/
-static MACHINE_RESET( tbowl )
+void tbowl_state::machine_reset()
{
- tbowl_state *state = machine.driver_data<tbowl_state>();
- state->m_adpcm_pos[0] = state->m_adpcm_pos[1] = 0;
- state->m_adpcm_end[0] = state->m_adpcm_end[1] = 0;
- state->m_adpcm_data[0] = state->m_adpcm_data[1] = -1;
+ m_adpcm_pos[0] = m_adpcm_pos[1] = 0;
+ m_adpcm_end[0] = m_adpcm_end[1] = 0;
+ m_adpcm_data[0] = m_adpcm_data[1] = -1;
}
static MACHINE_CONFIG_START( tbowl, tbowl_state )
@@ -492,9 +491,7 @@ static MACHINE_CONFIG_START( tbowl, tbowl_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(tbowl_right)
- MCFG_VIDEO_START(tbowl)
- MCFG_MACHINE_RESET( tbowl )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tceptor.c b/src/mame/drivers/tceptor.c
index a96723c6d68..b9adde8e153 100644
--- a/src/mame/drivers/tceptor.c
+++ b/src/mame/drivers/tceptor.c
@@ -340,23 +340,21 @@ static const namco_interface namco_config =
/*******************************************************************/
-static MACHINE_START( tceptor )
+void tceptor_state::machine_start()
{
- tceptor_state *state = machine.driver_data<tceptor_state>();
- state_save_register_global(machine, state->m_m6809_irq_enable);
- state_save_register_global(machine, state->m_m68k_irq_enable);
- state_save_register_global(machine, state->m_mcu_irq_enable);
+ state_save_register_global(machine(), m_m6809_irq_enable);
+ state_save_register_global(machine(), m_m68k_irq_enable);
+ state_save_register_global(machine(), m_mcu_irq_enable);
}
/*******************************************************************/
-static MACHINE_RESET( tceptor )
+void tceptor_state::machine_reset()
{
- tceptor_state *state = machine.driver_data<tceptor_state>();
- state->m_m6809_irq_enable = 0;
- state->m_m68k_irq_enable = 0;
- state->m_mcu_irq_enable = 0;
+ m_m6809_irq_enable = 0;
+ m_m68k_irq_enable = 0;
+ m_mcu_irq_enable = 0;
}
/*******************************************************************/
@@ -387,8 +385,6 @@ static MACHINE_CONFIG_START( tceptor, tceptor_state )
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_MACHINE_START(tceptor)
- MCFG_MACHINE_RESET(tceptor)
/* video hardware */
MCFG_GFXDECODE(tceptor)
@@ -419,9 +415,7 @@ static MACHINE_CONFIG_START( tceptor, tceptor_state )
MCFG_SCREEN_UPDATE_STATIC(tceptor_3d_right)
MCFG_SCREEN_VBLANK_STATIC(tceptor)
- MCFG_PALETTE_INIT(tceptor)
- MCFG_VIDEO_START(tceptor)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/tcl.c b/src/mame/drivers/tcl.c
index 57aa9567b73..2664af310ae 100644
--- a/src/mame/drivers/tcl.c
+++ b/src/mame/drivers/tcl.c
@@ -53,10 +53,11 @@ public:
: driver_device(mconfig, type, tag) { }
DECLARE_DRIVER_INIT(tcl);
+ virtual void video_start();
};
-static VIDEO_START( tcl )
+void tcl_state::video_start()
{
}
static SCREEN_UPDATE_IND16( tcl )
@@ -139,7 +140,6 @@ static MACHINE_CONFIG_START( tcl, tcl_state )
MCFG_GFXDECODE(tcl)
MCFG_PALETTE_LENGTH(16*16)
- MCFG_VIDEO_START(tcl)
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c
index 1e7a68682c3..3961b8fb4f1 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -621,12 +621,11 @@ static const msm5205_interface msm5205_config =
};
-static MACHINE_RESET( rygar )
+MACHINE_RESET_MEMBER(tecmo_state,rygar)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- state->m_adpcm_pos = 0;
- state->m_adpcm_end = 0;
- state->m_adpcm_data = -1;
+ m_adpcm_pos = 0;
+ m_adpcm_end = 0;
+ m_adpcm_data = -1;
}
static MACHINE_CONFIG_START( rygar, tecmo_state )
@@ -650,9 +649,9 @@ static MACHINE_CONFIG_START( rygar, tecmo_state )
MCFG_GFXDECODE(tecmo)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(tecmo)
+ MCFG_VIDEO_START_OVERRIDE(tecmo_state,tecmo)
- MCFG_MACHINE_RESET( rygar )
+ MCFG_MACHINE_RESET_OVERRIDE(tecmo_state, rygar )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -709,9 +708,9 @@ static MACHINE_CONFIG_START( backfirt, tecmo_state )
MCFG_GFXDECODE(tecmo)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(tecmo)
+ MCFG_VIDEO_START_OVERRIDE(tecmo_state,tecmo)
- MCFG_MACHINE_RESET( rygar )
+ MCFG_MACHINE_RESET_OVERRIDE(tecmo_state, rygar )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tecmo16.c b/src/mame/drivers/tecmo16.c
index 141b3fb3c43..f5ae1357cbe 100644
--- a/src/mame/drivers/tecmo16.c
+++ b/src/mame/drivers/tecmo16.c
@@ -396,7 +396,6 @@ static MACHINE_CONFIG_START( fstarfrc, tecmo16_state )
MCFG_GFXDECODE(tecmo16)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(fstarfrc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -416,13 +415,13 @@ static MACHINE_CONFIG_DERIVED( ginkun, fstarfrc )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ginkun_map)
- MCFG_VIDEO_START(ginkun)
+ MCFG_VIDEO_START_OVERRIDE(tecmo16_state,ginkun)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( riot, ginkun )
/* basic machine hardware */
- MCFG_VIDEO_START(riot)
+ MCFG_VIDEO_START_OVERRIDE(tecmo16_state,riot)
MACHINE_CONFIG_END
/******************************************************************************/
diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c
index 17c0ddc40a8..79f9bd09a6d 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -447,10 +447,9 @@ static const ymf262_interface tecmosys_ymf262_interface =
sound_irq /* irq */
};
-static MACHINE_START( tecmosys )
+void tecmosys_state::machine_start()
{
- tecmosys_state *state = machine.driver_data<tecmosys_state>();
- state->membank("bank1")->configure_entries(0, 16, state->memregion("audiocpu")->base(), 0x4000);
+ membank("bank1")->configure_entries(0, 16, memregion("audiocpu")->base(), 0x4000);
}
static MACHINE_CONFIG_START( deroon, tecmosys_state )
@@ -463,7 +462,6 @@ static MACHINE_CONFIG_START( deroon, tecmosys_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(io_map)
- MCFG_MACHINE_START(tecmosys)
MCFG_GFXDECODE(tecmosys)
@@ -480,7 +478,6 @@ static MACHINE_CONFIG_START( deroon, tecmosys_state )
MCFG_PALETTE_LENGTH(0x4000+0x800)
- MCFG_VIDEO_START(tecmosys)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index 312e3ec5a78..53dc391b3b4 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -666,7 +666,6 @@ static MACHINE_CONFIG_START( tehkanwc, tehkanwc_state )
MCFG_GFXDECODE(tehkanwc)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(tehkanwc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tempest.c b/src/mame/drivers/tempest.c
index 0681a9152ac..97fe6b65404 100644
--- a/src/mame/drivers/tempest.c
+++ b/src/mame/drivers/tempest.c
@@ -297,6 +297,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(clock_r);
DECLARE_READ8_MEMBER(input_port_1_bit_r);
DECLARE_READ8_MEMBER(input_port_2_bit_r);
+ virtual void machine_start();
};
@@ -310,10 +311,9 @@ public:
-static MACHINE_START( tempest )
+void tempest_state::machine_start()
{
- tempest_state *state = machine.driver_data<tempest_state>();
- state->save_item(NAME(state->m_player_select));
+ save_item(NAME(m_player_select));
}
/*************************************
@@ -593,7 +593,6 @@ static MACHINE_CONFIG_START( tempest, tempest_state )
MCFG_ATARIVGEAROM_ADD("earom")
- MCFG_MACHINE_START(tempest)
/* video hardware */
MCFG_SCREEN_ADD("screen", VECTOR)
diff --git a/src/mame/drivers/terracre.c b/src/mame/drivers/terracre.c
index 6fc7f960e6f..6ca648baebd 100644
--- a/src/mame/drivers/terracre.c
+++ b/src/mame/drivers/terracre.c
@@ -186,12 +186,11 @@ WRITE16_MEMBER(terracre_state::amazon_protection_w)
}
}
-static MACHINE_START( amazon )
+MACHINE_START_MEMBER(terracre_state,amazon)
{
- terracre_state *state = machine.driver_data<terracre_state>();
/* set up for save */
- state_save_register_global(machine, state->m_mAmazonProtCmd);
- state_save_register_global_array(machine, state->m_mAmazonProtReg);
+ state_save_register_global(machine(), m_mAmazonProtCmd);
+ state_save_register_global_array(machine(), m_mAmazonProtReg);
}
static ADDRESS_MAP_START( terracre_map, AS_PROGRAM, 16, terracre_state )
@@ -536,7 +535,7 @@ static MACHINE_CONFIG_START( amazon, terracre_state )
MCFG_CPU_IO_MAP(sound_3526_io_map)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_16MHz/4/512) // ?
- MCFG_MACHINE_START(amazon)
+ MCFG_MACHINE_START_OVERRIDE(terracre_state,amazon)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE( 60 )
@@ -548,8 +547,6 @@ static MACHINE_CONFIG_START( amazon, terracre_state )
MCFG_GFXDECODE(terracre)
MCFG_PALETTE_LENGTH(1*16+16*16+16*256)
- MCFG_PALETTE_INIT(amazon)
- MCFG_VIDEO_START(amazon)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -583,8 +580,6 @@ static MACHINE_CONFIG_START( ym3526, terracre_state )
MCFG_GFXDECODE(terracre)
MCFG_PALETTE_LENGTH(1*16+16*16+16*256)
- MCFG_PALETTE_INIT(amazon)
- MCFG_VIDEO_START(amazon)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -618,8 +613,6 @@ static MACHINE_CONFIG_START( ym2203, terracre_state )
MCFG_GFXDECODE(terracre)
MCFG_PALETTE_LENGTH(1*16+16*16+16*256)
- MCFG_PALETTE_INIT(amazon)
- MCFG_VIDEO_START(amazon)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c
index 54826012e8a..7b9adf774ad 100644
--- a/src/mame/drivers/tetrisp2.c
+++ b/src/mame/drivers/tetrisp2.c
@@ -1345,7 +1345,7 @@ static MACHINE_CONFIG_START( tetrisp2, tetrisp2_state )
MCFG_GFXDECODE(tetrisp2)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_VIDEO_START(tetrisp2)
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,tetrisp2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1376,7 +1376,7 @@ static MACHINE_CONFIG_START( nndmseal, tetrisp2_state )
MCFG_GFXDECODE(tetrisp2)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_VIDEO_START(nndmseal) // bg layer offset
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,nndmseal) // bg layer offset
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1406,7 +1406,7 @@ static MACHINE_CONFIG_START( rockn, tetrisp2_state )
MCFG_GFXDECODE(tetrisp2)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_VIDEO_START(rockntread)
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,rockntread)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1437,7 +1437,7 @@ static MACHINE_CONFIG_START( rockn2, tetrisp2_state )
MCFG_GFXDECODE(tetrisp2)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_VIDEO_START(rockntread)
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,rockntread)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1481,7 +1481,7 @@ static MACHINE_CONFIG_START( rocknms, tetrisp2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xe0-1)
MCFG_SCREEN_UPDATE_STATIC(rocknms_right)
- MCFG_VIDEO_START(rocknms)
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,rocknms)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1527,7 +1527,7 @@ static MACHINE_CONFIG_START( stepstag, stepstag_state )
MCFG_PALETTE_LENGTH(0x8000) // 0x8000 * 3 needed I guess, but it hits an assert
- MCFG_VIDEO_START( stepstag )
+ MCFG_VIDEO_START_OVERRIDE(stepstag_state, stepstag )
MCFG_GFXDECODE(stepstag)
MCFG_DEFAULT_LAYOUT(layout_stepstag)
diff --git a/src/mame/drivers/thayers.c b/src/mame/drivers/thayers.c
index a98ad0ace77..b6b5b473144 100644
--- a/src/mame/drivers/thayers.c
+++ b/src/mame/drivers/thayers.c
@@ -80,6 +80,8 @@ public:
DECLARE_READ8_MEMBER(ssi263_register_r);
DECLARE_CUSTOM_INPUT_MEMBER(laserdisc_enter_r);
DECLARE_CUSTOM_INPUT_MEMBER(laserdisc_ready_r);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -737,35 +739,33 @@ INPUT_PORTS_END
/* Machine Initialization */
-static MACHINE_START( thayers )
+void thayers_state::machine_start()
{
- thayers_state *state = machine.driver_data<thayers_state>();
- memset(&state->m_ssi263, 0, sizeof(state->m_ssi263));
+ memset(&m_ssi263, 0, sizeof(m_ssi263));
}
-static MACHINE_RESET( thayers )
+void thayers_state::machine_reset()
{
- thayers_state *state = machine.driver_data<thayers_state>();
- state->m_laserdisc_data = 0;
+ m_laserdisc_data = 0;
- state->m_rx_bit = 0;
- state->m_keylatch = 0;
+ m_rx_bit = 0;
+ m_keylatch = 0;
- state->m_cop_data_latch = 0;
- state->m_cop_data_latch_enable = 0;
- state->m_cop_l = 0;
- state->m_cop_cmd_latch = 0;
+ m_cop_data_latch = 0;
+ m_cop_data_latch_enable = 0;
+ m_cop_l = 0;
+ m_cop_cmd_latch = 0;
- state->m_timer_int = 1;
- state->m_data_rdy_int = 1;
- state->m_ssi_data_request = 1;
+ m_timer_int = 1;
+ m_data_rdy_int = 1;
+ m_ssi_data_request = 1;
- state->m_cart_present = 0;
- state->m_pr7820_enter = 0;
+ m_cart_present = 0;
+ m_pr7820_enter = 0;
-// newtype = (state->ioport("DSWB")->read() & 0x18) ? LASERDISC_TYPE_PIONEER_LDV1000 : LASERDISC_TYPE_PIONEER_PR7820;
-// laserdisc_set_type(state->m_laserdisc, newtype);
+// newtype = (ioport("DSWB")->read() & 0x18) ? LASERDISC_TYPE_PIONEER_LDV1000 : LASERDISC_TYPE_PIONEER_PR7820;
+// laserdisc_set_type(m_laserdisc, newtype);
}
/* COP400 Interface */
@@ -789,8 +789,6 @@ static MACHINE_CONFIG_START( thayers, thayers_state )
MCFG_CPU_IO_MAP(thayers_cop_io_map)
MCFG_CPU_CONFIG(thayers_cop_intf)
- MCFG_MACHINE_START(thayers)
- MCFG_MACHINE_RESET(thayers)
MCFG_LASERDISC_PR7820_ADD("laserdisc")
diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c
index 4fc032d15af..3a921e0f9e1 100644
--- a/src/mame/drivers/thedeep.c
+++ b/src/mame/drivers/thedeep.c
@@ -50,18 +50,17 @@ WRITE8_MEMBER(thedeep_state::thedeep_sound_w)
}
-static MACHINE_RESET( thedeep )
+void thedeep_state::machine_reset()
{
- thedeep_state *state = machine.driver_data<thedeep_state>();
- state->membank("bank1")->set_base(state->memregion("maincpu")->base() + 0x10000 + 0 * 0x4000);
- state->m_scroll[0] = 0;
- state->m_scroll[1] = 0;
- state->m_scroll[2] = 0;
- state->m_scroll[3] = 0;
- state->m_protection_command = 0;
- state->m_protection_index = -1;
- state->m_protection_irq = 0;
- state->m_rombank = -1;
+ membank("bank1")->set_base(memregion("maincpu")->base() + 0x10000 + 0 * 0x4000);
+ m_scroll[0] = 0;
+ m_scroll[1] = 0;
+ m_scroll[2] = 0;
+ m_scroll[3] = 0;
+ m_protection_command = 0;
+ m_protection_index = -1;
+ m_protection_irq = 0;
+ m_rombank = -1;
}
WRITE8_MEMBER(thedeep_state::thedeep_protection_w)
@@ -462,7 +461,6 @@ static MACHINE_CONFIG_START( thedeep, thedeep_state )
MCFG_CPU_VBLANK_INT("screen",thedeep_mcu_irq ) // unknown source, but presumably vblank
MCFG_DEVICE_DISABLE()
- MCFG_MACHINE_RESET(thedeep)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -475,8 +473,6 @@ static MACHINE_CONFIG_START( thedeep, thedeep_state )
MCFG_GFXDECODE(thedeep)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(thedeep)
- MCFG_VIDEO_START(thedeep)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/thepit.c b/src/mame/drivers/thepit.c
index 541d8c1fba3..ccc38c8e062 100644
--- a/src/mame/drivers/thepit.c
+++ b/src/mame/drivers/thepit.c
@@ -663,8 +663,6 @@ static MACHINE_CONFIG_START( thepit, thepit_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(thepit)
- MCFG_PALETTE_INIT(thepit)
- MCFG_VIDEO_START(thepit)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -694,7 +692,7 @@ static MACHINE_CONFIG_DERIVED( suprmous, intrepid )
/* basic machine hardware */
/* video hardware */
- MCFG_PALETTE_INIT(suprmous)
+ MCFG_PALETTE_INIT_OVERRIDE(thepit_state,suprmous)
MCFG_GFXDECODE(suprmous)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/thief.c b/src/mame/drivers/thief.c
index 4f74394b8a1..c197f17f49d 100644
--- a/src/mame/drivers/thief.c
+++ b/src/mame/drivers/thief.c
@@ -453,7 +453,6 @@ static MACHINE_CONFIG_START( sharkatt, thief_state )
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(thief)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -489,7 +488,6 @@ static MACHINE_CONFIG_START( thief, thief_state )
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(thief)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -525,7 +523,6 @@ static MACHINE_CONFIG_START( natodef, thief_state )
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(thief)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/thoop2.c b/src/mame/drivers/thoop2.c
index 476c19caf7a..61492c96cbb 100644
--- a/src/mame/drivers/thoop2.c
+++ b/src/mame/drivers/thoop2.c
@@ -204,7 +204,6 @@ static MACHINE_CONFIG_START( thoop2, thoop2_state )
MCFG_GFXDECODE(thoop2)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(thoop2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/thunderj.c b/src/mame/drivers/thunderj.c
index 4a9c80380b5..d4c5b32ecbc 100644
--- a/src/mame/drivers/thunderj.c
+++ b/src/mame/drivers/thunderj.c
@@ -41,22 +41,20 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( thunderj )
+MACHINE_START_MEMBER(thunderj_state,thunderj)
{
- thunderj_state *state = machine.driver_data<thunderj_state>();
- atarigen_init(machine);
+ atarigen_init(machine());
- state->save_item(NAME(state->m_alpha_tile_bank));
+ save_item(NAME(m_alpha_tile_bank));
}
-static MACHINE_RESET( thunderj )
+MACHINE_RESET_MEMBER(thunderj_state,thunderj)
{
- thunderj_state *state = machine.driver_data<thunderj_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarivc_reset(*machine.primary_screen, state->m_atarivc_eof_data, 2);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 2);
atarijsa_reset();
}
@@ -291,8 +289,8 @@ static MACHINE_CONFIG_START( thunderj, thunderj_state )
MCFG_CPU_ADD("extra", M68000, ATARI_CLOCK_14MHz/2)
MCFG_CPU_PROGRAM_MAP(extra_map)
- MCFG_MACHINE_START(thunderj)
- MCFG_MACHINE_RESET(thunderj)
+ MCFG_MACHINE_START_OVERRIDE(thunderj_state,thunderj)
+ MCFG_MACHINE_RESET_OVERRIDE(thunderj_state,thunderj)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* perfect synchronization due to shared RAM */
@@ -309,7 +307,7 @@ static MACHINE_CONFIG_START( thunderj, thunderj_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(thunderj)
- MCFG_VIDEO_START(thunderj)
+ MCFG_VIDEO_START_OVERRIDE(thunderj_state,thunderj)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono)
diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c
index 452b1fb0ce2..455a1d6b296 100644
--- a/src/mame/drivers/thunderx.c
+++ b/src/mame/drivers/thunderx.c
@@ -603,57 +603,54 @@ static const k051960_interface thunderx_k051960_intf =
thunderx_sprite_callback
};
-static MACHINE_START( scontra )
+MACHINE_START_MEMBER(thunderx_state,scontra)
{
- thunderx_state *state = machine.driver_data<thunderx_state>();
- state->m_generic_paletteram_8.allocate(0x800);
+ m_generic_paletteram_8.allocate(0x800);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007232 = machine.device("k007232");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007232 = machine().device("k007232");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
- state->save_item(NAME(state->m_priority));
- state->save_item(NAME(state->m_1f98_data));
- state->save_item(NAME(state->m_palette_selected));
- state->save_item(NAME(state->m_rambank));
- state->save_item(NAME(state->m_pmcbank));
+ save_item(NAME(m_priority));
+ save_item(NAME(m_1f98_data));
+ save_item(NAME(m_palette_selected));
+ save_item(NAME(m_rambank));
+ save_item(NAME(m_pmcbank));
}
-static MACHINE_START( thunderx )
+MACHINE_START_MEMBER(thunderx_state,thunderx)
{
- thunderx_state *state = machine.driver_data<thunderx_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
- state->membank("bank1")->configure_entries(12, 4, &ROM[0x08000], 0x2000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000);
+ membank("bank1")->configure_entries(12, 4, &ROM[0x08000], 0x2000);
+ membank("bank1")->set_entry(0);
- memset(state->m_pmcram, 0, sizeof(state->m_pmcram));
+ memset(m_pmcram, 0, sizeof(m_pmcram));
- MACHINE_START_CALL(scontra);
+ MACHINE_START_CALL_MEMBER(scontra);
- state->save_item(NAME(state->m_pmcram));
+ save_item(NAME(m_pmcram));
}
-static MACHINE_RESET( scontra )
+MACHINE_RESET_MEMBER(thunderx_state,scontra)
{
- thunderx_state *state = machine.driver_data<thunderx_state>();
- state->m_priority = 0;
- state->m_1f98_data = 0;
- state->m_palette_selected = 0;
- state->m_rambank = 0;
- state->m_pmcbank = 0;
+ m_priority = 0;
+ m_1f98_data = 0;
+ m_palette_selected = 0;
+ m_rambank = 0;
+ m_pmcbank = 0;
}
-static MACHINE_RESET( thunderx )
+MACHINE_RESET_MEMBER(thunderx_state,thunderx)
{
- konami_configure_set_lines(machine.device("maincpu"), thunderx_banking);
+ konami_configure_set_lines(machine().device("maincpu"), thunderx_banking);
- MACHINE_RESET_CALL(scontra);
+ MACHINE_RESET_CALL_MEMBER(scontra);
}
static MACHINE_CONFIG_START( scontra, thunderx_state )
@@ -666,8 +663,8 @@ static MACHINE_CONFIG_START( scontra, thunderx_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(scontra_sound_map)
- MCFG_MACHINE_START(scontra)
- MCFG_MACHINE_RESET(scontra)
+ MCFG_MACHINE_START_OVERRIDE(thunderx_state,scontra)
+ MCFG_MACHINE_RESET_OVERRIDE(thunderx_state,scontra)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -681,7 +678,6 @@ static MACHINE_CONFIG_START( scontra, thunderx_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(scontra)
MCFG_K052109_ADD("k052109", thunderx_k052109_intf)
MCFG_K051960_ADD("k051960", thunderx_k051960_intf)
@@ -710,8 +706,8 @@ static MACHINE_CONFIG_START( thunderx, thunderx_state )
MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* ? */
MCFG_CPU_PROGRAM_MAP(thunderx_sound_map)
- MCFG_MACHINE_START(thunderx)
- MCFG_MACHINE_RESET(thunderx)
+ MCFG_MACHINE_START_OVERRIDE(thunderx_state,thunderx)
+ MCFG_MACHINE_RESET_OVERRIDE(thunderx_state,thunderx)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -725,7 +721,6 @@ static MACHINE_CONFIG_START( thunderx, thunderx_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(scontra)
MCFG_K052109_ADD("k052109", thunderx_k052109_intf)
MCFG_K051960_ADD("k051960", thunderx_k051960_intf)
diff --git a/src/mame/drivers/tiamc1.c b/src/mame/drivers/tiamc1.c
index db1bc229bfd..e7aab7be9f1 100644
--- a/src/mame/drivers/tiamc1.c
+++ b/src/mame/drivers/tiamc1.c
@@ -118,11 +118,10 @@
#include "cpu/i8085/i8085.h"
#include "includes/tiamc1.h"
-static MACHINE_RESET( tiamc1 )
+void tiamc1_state::machine_reset()
{
- tiamc1_state *state = machine.driver_data<tiamc1_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- state->tiamc1_bankswitch_w(*space, 0, 0);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ tiamc1_bankswitch_w(*space, 0, 0);
}
WRITE8_MEMBER(tiamc1_state::tiamc1_control_w)
@@ -227,7 +226,6 @@ static MACHINE_CONFIG_START( tiamc1, tiamc1_state )
MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)
- MCFG_MACHINE_RESET(tiamc1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -240,8 +238,6 @@ static MACHINE_CONFIG_START( tiamc1, tiamc1_state )
MCFG_GFXDECODE(tiamc1)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(tiamc1)
- MCFG_VIDEO_START(tiamc1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tickee.c b/src/mame/drivers/tickee.c
index 3f85a782c8b..8106ac20e20 100644
--- a/src/mame/drivers/tickee.c
+++ b/src/mame/drivers/tickee.c
@@ -53,6 +53,9 @@ public:
DECLARE_WRITE16_MEMBER(ff7f_w);
DECLARE_WRITE16_MEMBER(rapidfir_control_w);
DECLARE_WRITE16_MEMBER(sound_bank_w);
+ DECLARE_MACHINE_RESET(tickee);
+ DECLARE_VIDEO_START(tickee);
+ DECLARE_MACHINE_RESET(rapidfir);
};
@@ -136,12 +139,11 @@ static TIMER_CALLBACK( setup_gun_interrupts )
*
*************************************/
-static VIDEO_START( tickee )
+VIDEO_START_MEMBER(tickee_state,tickee)
{
- tickee_state *state = machine.driver_data<tickee_state>();
/* start a timer going on the first scanline of every frame */
- state->m_setup_gun_timer = machine.scheduler().timer_alloc(FUNC(setup_gun_interrupts));
- state->m_setup_gun_timer->adjust(machine.primary_screen->time_until_pos(0));
+ m_setup_gun_timer = machine().scheduler().timer_alloc(FUNC(setup_gun_interrupts));
+ m_setup_gun_timer->adjust(machine().primary_screen->time_until_pos(0));
}
@@ -215,18 +217,16 @@ static void rapidfir_scanline_update(screen_device &screen, bitmap_rgb32 &bitmap
*
*************************************/
-static MACHINE_RESET( tickee )
+MACHINE_RESET_MEMBER(tickee_state,tickee)
{
- tickee_state *state = machine.driver_data<tickee_state>();
- state->m_beamxadd = 50;
- state->m_beamyadd = 0;
+ m_beamxadd = 50;
+ m_beamyadd = 0;
}
-static MACHINE_RESET( rapidfir )
+MACHINE_RESET_MEMBER(tickee_state,rapidfir)
{
- tickee_state *state = machine.driver_data<tickee_state>();
- state->m_beamxadd = 0;
- state->m_beamyadd = -5;
+ m_beamxadd = 0;
+ m_beamyadd = -5;
}
@@ -767,7 +767,7 @@ static MACHINE_CONFIG_START( tickee, tickee_state )
MCFG_CPU_CONFIG(tms_config)
MCFG_CPU_PROGRAM_MAP(tickee_map)
- MCFG_MACHINE_RESET(tickee)
+ MCFG_MACHINE_RESET_OVERRIDE(tickee_state,tickee)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TICKET_DISPENSER_ADD("ticket1", attotime::from_msec(100), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH)
@@ -776,7 +776,7 @@ static MACHINE_CONFIG_START( tickee, tickee_state )
/* video hardware */
MCFG_TLC34076_ADD("tlc34076", tlc34076_6_bit_intf)
- MCFG_VIDEO_START(tickee)
+ MCFG_VIDEO_START_OVERRIDE(tickee_state,tickee)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 444, 0, 320, 233, 0, 200)
@@ -810,13 +810,13 @@ static MACHINE_CONFIG_START( rapidfir, tickee_state )
MCFG_CPU_CONFIG(rapidfir_tms_config)
MCFG_CPU_PROGRAM_MAP(rapidfir_map)
- MCFG_MACHINE_RESET(rapidfir)
+ MCFG_MACHINE_RESET_OVERRIDE(tickee_state,rapidfir)
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
MCFG_TLC34076_ADD("tlc34076", tlc34076_6_bit_intf)
- MCFG_VIDEO_START(tickee)
+ MCFG_VIDEO_START_OVERRIDE(tickee_state,tickee)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 444, 0, 320, 233, 0, 200)
@@ -837,7 +837,7 @@ static MACHINE_CONFIG_START( mouseatk, tickee_state )
MCFG_CPU_CONFIG(tms_config)
MCFG_CPU_PROGRAM_MAP(mouseatk_map)
- MCFG_MACHINE_RESET(tickee)
+ MCFG_MACHINE_RESET_OVERRIDE(tickee_state,tickee)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TICKET_DISPENSER_ADD("ticket1", attotime::from_msec(100), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH)
diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c
index a7b9cb6176b..c889774d138 100644
--- a/src/mame/drivers/tigeroad.c
+++ b/src/mame/drivers/tigeroad.c
@@ -542,7 +542,6 @@ static MACHINE_CONFIG_START( tigeroad, tigeroad_state )
MCFG_GFXDECODE(tigeroad)
MCFG_PALETTE_LENGTH(576)
- MCFG_VIDEO_START(tigeroad)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/timelimt.c b/src/mame/drivers/timelimt.c
index 1a6ef50329b..d28826cd056 100644
--- a/src/mame/drivers/timelimt.c
+++ b/src/mame/drivers/timelimt.c
@@ -19,15 +19,13 @@ Notes:
/***************************************************************************/
-static MACHINE_START( timelimt )
+void timelimt_state::machine_start()
{
- machine.driver_data<timelimt_state>()->soundlatch_setclearedvalue( 0 );
}
-static MACHINE_RESET( timelimt )
+void timelimt_state::machine_reset()
{
- timelimt_state *state = machine.driver_data<timelimt_state>();
- state->m_nmi_enabled = 0;
+ m_nmi_enabled = 0;
}
WRITE8_MEMBER(timelimt_state::nmi_enable_w)
@@ -240,8 +238,6 @@ static MACHINE_CONFIG_START( timelimt, timelimt_state )
MCFG_QUANTUM_TIME(attotime::from_hz(3000))
- MCFG_MACHINE_START(timelimt)
- MCFG_MACHINE_RESET(timelimt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -254,8 +250,6 @@ static MACHINE_CONFIG_START( timelimt, timelimt_state )
MCFG_GFXDECODE(timelimt)
MCFG_PALETTE_LENGTH(64+32)
- MCFG_PALETTE_INIT(timelimt)
- MCFG_VIDEO_START(timelimt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/timeplt.c b/src/mame/drivers/timeplt.c
index 1f245ee97e3..4b89fbe269b 100644
--- a/src/mame/drivers/timeplt.c
+++ b/src/mame/drivers/timeplt.c
@@ -453,18 +453,16 @@ GFXDECODE_END
*
*************************************/
-static MACHINE_START( timeplt )
+void timeplt_state::machine_start()
{
- timeplt_state *state = machine.driver_data<timeplt_state>();
- state->save_item(NAME(state->m_nmi_enable));
+ save_item(NAME(m_nmi_enable));
}
-static MACHINE_RESET( timeplt )
+void timeplt_state::machine_reset()
{
- timeplt_state *state = machine.driver_data<timeplt_state>();
- state->m_nmi_enable = 0;
+ m_nmi_enable = 0;
}
static MACHINE_CONFIG_START( timeplt, timeplt_state )
@@ -474,8 +472,6 @@ static MACHINE_CONFIG_START( timeplt, timeplt_state )
MCFG_CPU_PROGRAM_MAP(timeplt_main_map)
MCFG_CPU_VBLANK_INT("screen", timeplt_interrupt)
- MCFG_MACHINE_START(timeplt)
- MCFG_MACHINE_RESET(timeplt)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
@@ -489,8 +485,6 @@ static MACHINE_CONFIG_START( timeplt, timeplt_state )
MCFG_GFXDECODE(timeplt)
MCFG_PALETTE_LENGTH(32*4+64*4)
- MCFG_PALETTE_INIT(timeplt)
- MCFG_VIDEO_START(timeplt)
/* sound hardware */
MCFG_FRAGMENT_ADD(timeplt_sound)
@@ -513,7 +507,7 @@ static MACHINE_CONFIG_DERIVED( bikkuric, timeplt )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(chkun_main_map)
- MCFG_VIDEO_START(chkun)
+ MCFG_VIDEO_START_OVERRIDE(timeplt_state,chkun)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( chkun, bikkuric )
diff --git a/src/mame/drivers/timetrv.c b/src/mame/drivers/timetrv.c
index 38eb20b83ec..4c54e7b8888 100644
--- a/src/mame/drivers/timetrv.c
+++ b/src/mame/drivers/timetrv.c
@@ -41,11 +41,12 @@ public:
DECLARE_READ8_MEMBER(test2_r);
DECLARE_READ8_MEMBER(in_r);
DECLARE_READ8_MEMBER(ld_r);
+ virtual void video_start();
};
-static VIDEO_START( timetrv )
+void timetrv_state::video_start()
{
}
@@ -162,7 +163,6 @@ static MACHINE_CONFIG_START( timetrv, timetrv_state )
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(timetrv)
/* sound hardware */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tmaster.c b/src/mame/drivers/tmaster.c
index abcd804c2c5..e931fa46354 100644
--- a/src/mame/drivers/tmaster.c
+++ b/src/mame/drivers/tmaster.c
@@ -179,6 +179,10 @@ public:
DECLARE_DRIVER_INIT(tm4k);
DECLARE_DRIVER_INIT(tm5kca);
DECLARE_DRIVER_INIT(tm5k);
+ DECLARE_MACHINE_RESET(tmaster);
+ DECLARE_VIDEO_START(tmaster);
+ DECLARE_MACHINE_RESET(galgames);
+ DECLARE_VIDEO_START(galgames);
};
@@ -332,27 +336,25 @@ static int galgames_compute_addr(UINT16 reg_low, UINT16 reg_mid, UINT16 reg_high
return reg_low | (reg_mid << 16);
}
-static VIDEO_START( tmaster )
+VIDEO_START_MEMBER(tmaster_state,tmaster)
{
- tmaster_state *state = machine.driver_data<tmaster_state>();
int layer, buffer;
for (layer = 0; layer < 2; layer++)
{
for (buffer = 0; buffer < 2; buffer++)
{
- machine.primary_screen->register_screen_bitmap(state->m_bitmap[layer][buffer]);
- state->m_bitmap[layer][buffer].fill(0xff);
+ machine().primary_screen->register_screen_bitmap(m_bitmap[layer][buffer]);
+ m_bitmap[layer][buffer].fill(0xff);
}
}
- state->m_compute_addr = tmaster_compute_addr;
+ m_compute_addr = tmaster_compute_addr;
}
-static VIDEO_START( galgames )
+VIDEO_START_MEMBER(tmaster_state,galgames)
{
- tmaster_state *state = machine.driver_data<tmaster_state>();
- VIDEO_START_CALL( tmaster );
- state->m_compute_addr = galgames_compute_addr;
+ VIDEO_START_CALL_MEMBER( tmaster );
+ m_compute_addr = galgames_compute_addr;
}
static SCREEN_UPDATE_IND16( tmaster )
@@ -892,13 +894,12 @@ INPUT_PORTS_END
***************************************************************************/
-static MACHINE_RESET( tmaster )
+MACHINE_RESET_MEMBER(tmaster_state,tmaster)
{
- tmaster_state *state = machine.driver_data<tmaster_state>();
- state->m_gfx_offs = 0;
- state->m_gfx_size = state->memregion("blitter")->bytes();
+ m_gfx_offs = 0;
+ m_gfx_size = memregion("blitter")->bytes();
- state->m_duart68681 = machine.device( "duart68681" );
+ m_duart68681 = machine().device( "duart68681" );
}
static TIMER_DEVICE_CALLBACK( tm3k_interrupt )
@@ -928,7 +929,7 @@ static MACHINE_CONFIG_START( tm3k, tmaster_state )
MCFG_CPU_PROGRAM_MAP(tmaster_map)
MCFG_TIMER_ADD_SCANLINE("scantimer", tm3k_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(tmaster)
+ MCFG_MACHINE_RESET_OVERRIDE(tmaster_state,tmaster)
MCFG_DUART68681_ADD( "duart68681", XTAL_8_664MHz / 2 /*??*/, tmaster_duart68681_config )
MCFG_MICROTOUCH_ADD( "microtouch", tmaster_microtouch_config )
@@ -944,7 +945,7 @@ static MACHINE_CONFIG_START( tm3k, tmaster_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(tmaster)
+ MCFG_VIDEO_START_OVERRIDE(tmaster_state,tmaster)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -959,23 +960,22 @@ static MACHINE_CONFIG_DERIVED( tm, tm3k )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-static MACHINE_RESET( galgames )
+MACHINE_RESET_MEMBER(tmaster_state,galgames)
{
- tmaster_state *state = machine.driver_data<tmaster_state>();
- state->m_gfx_offs = 0;
- state->m_gfx_size = 0x200000;
+ m_gfx_offs = 0;
+ m_gfx_size = 0x200000;
- state->membank(GALGAMES_BANK_000000_R)->set_entry(GALGAMES_ROM0); // rom
- state->membank(GALGAMES_BANK_000000_W)->set_entry(GALGAMES_RAM); // ram
+ membank(GALGAMES_BANK_000000_R)->set_entry(GALGAMES_ROM0); // rom
+ membank(GALGAMES_BANK_000000_W)->set_entry(GALGAMES_RAM); // ram
- state->membank(GALGAMES_BANK_200000_R)->set_entry(GALGAMES_RAM); // ram
- state->membank(GALGAMES_BANK_200000_W)->set_entry(GALGAMES_RAM); // ram
+ membank(GALGAMES_BANK_200000_R)->set_entry(GALGAMES_RAM); // ram
+ membank(GALGAMES_BANK_200000_W)->set_entry(GALGAMES_RAM); // ram
- state->membank(GALGAMES_BANK_240000_R)->set_entry(GALGAMES_ROM0); // rom
+ membank(GALGAMES_BANK_240000_R)->set_entry(GALGAMES_ROM0); // rom
- galgames_update_rombank(machine, 0);
+ galgames_update_rombank(machine(), 0);
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
static MACHINE_CONFIG_START( galgames, tmaster_state )
@@ -990,7 +990,7 @@ static MACHINE_CONFIG_START( galgames, tmaster_state )
MCFG_EEPROM_ADD(GALGAMES_EEPROM_CART3, galgames_eeprom_interface)
MCFG_EEPROM_ADD(GALGAMES_EEPROM_CART4, galgames_eeprom_interface)
- MCFG_MACHINE_RESET( galgames )
+ MCFG_MACHINE_RESET_OVERRIDE(tmaster_state, galgames )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1002,7 +1002,7 @@ static MACHINE_CONFIG_START( galgames, tmaster_state )
MCFG_PALETTE_LENGTH(0x1000) // only 0x100 used
- MCFG_VIDEO_START(galgames)
+ MCFG_VIDEO_START_OVERRIDE(tmaster_state,galgames)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tmmjprd.c b/src/mame/drivers/tmmjprd.c
index 5eeda37b302..51eb5bd627e 100644
--- a/src/mame/drivers/tmmjprd.c
+++ b/src/mame/drivers/tmmjprd.c
@@ -66,6 +66,7 @@ public:
DECLARE_WRITE32_MEMBER(tmmjprd_brt_1_w);
DECLARE_WRITE32_MEMBER(tmmjprd_brt_2_w);
DECLARE_WRITE32_MEMBER(tmmjprd_eeprom_write);
+ virtual void video_start();
};
@@ -337,15 +338,14 @@ static SCREEN_UPDATE_IND16( tmmjprd_right )
return 0;
}
-static VIDEO_START(tmmjprd)
+void tmmjprd_state::video_start()
{
- tmmjprd_state *state = machine.driver_data<tmmjprd_state>();
/* the tilemaps are bigger than the regions the cpu can see, need to allocate the ram here */
/* or maybe not for this game/hw .... */
- state->m_tilemap_ram[0] = auto_alloc_array_clear(machine, UINT32, 0x8000);
- state->m_tilemap_ram[1] = auto_alloc_array_clear(machine, UINT32, 0x8000);
- state->m_tilemap_ram[2] = auto_alloc_array_clear(machine, UINT32, 0x8000);
- state->m_tilemap_ram[3] = auto_alloc_array_clear(machine, UINT32, 0x8000);
+ m_tilemap_ram[0] = auto_alloc_array_clear(machine(), UINT32, 0x8000);
+ m_tilemap_ram[1] = auto_alloc_array_clear(machine(), UINT32, 0x8000);
+ m_tilemap_ram[2] = auto_alloc_array_clear(machine(), UINT32, 0x8000);
+ m_tilemap_ram[3] = auto_alloc_array_clear(machine(), UINT32, 0x8000);
}
READ32_MEMBER(tmmjprd_state::tmmjprd_tilemap0_r)
@@ -780,7 +780,6 @@ static MACHINE_CONFIG_START( tmmjprd, tmmjprd_state )
//MCFG_SCREEN_VISIBLE_AREA(0*8, 64*16-1, 0*8, 64*16-1)
MCFG_SCREEN_UPDATE_STATIC(tmmjprd_right)
- MCFG_VIDEO_START(tmmjprd)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c
index 4c4ccef1c18..b995f904356 100644
--- a/src/mame/drivers/tmnt.c
+++ b/src/mame/drivers/tmnt.c
@@ -2203,44 +2203,42 @@ static const k053936_interface prmrsocr_k053936_interface =
};
-static MACHINE_START( common )
+MACHINE_START_MEMBER(tmnt_state,common)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k007232 = machine.device("k007232");
- state->m_k053260 = machine.device("k053260");
- state->m_k054539 = machine.device("k054539");
- state->m_upd = machine.device("upd");
- state->m_samples = machine.device<samples_device>("samples");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
- state->m_k053245 = machine.device("k053245");
- state->m_k053251 = machine.device("k053251");
- state->m_k053936 = machine.device("k053936");
- state->m_k054000 = machine.device("k054000");
-
- state->save_item(NAME(state->m_toggle));
- state->save_item(NAME(state->m_last));
- state->save_item(NAME(state->m_tmnt_soundlatch));
- state->save_item(NAME(state->m_cuebrick_snd_irqlatch));
- state->save_item(NAME(state->m_cuebrick_nvram_bank));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_layerpri));
- state->save_item(NAME(state->m_sorted_layer));
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k007232 = machine().device("k007232");
+ m_k053260 = machine().device("k053260");
+ m_k054539 = machine().device("k054539");
+ m_upd = machine().device("upd");
+ m_samples = machine().device<samples_device>("samples");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
+ m_k053245 = machine().device("k053245");
+ m_k053251 = machine().device("k053251");
+ m_k053936 = machine().device("k053936");
+ m_k054000 = machine().device("k054000");
+
+ save_item(NAME(m_toggle));
+ save_item(NAME(m_last));
+ save_item(NAME(m_tmnt_soundlatch));
+ save_item(NAME(m_cuebrick_snd_irqlatch));
+ save_item(NAME(m_cuebrick_nvram_bank));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_layerpri));
+ save_item(NAME(m_sorted_layer));
}
-static MACHINE_RESET( common )
+MACHINE_RESET_MEMBER(tmnt_state,common)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_toggle = 0;
- state->m_last = 0;
- state->m_tmnt_soundlatch = 0;
- state->m_cuebrick_snd_irqlatch = 0;
- state->m_cuebrick_nvram_bank = 0;
+ m_toggle = 0;
+ m_last = 0;
+ m_tmnt_soundlatch = 0;
+ m_cuebrick_snd_irqlatch = 0;
+ m_cuebrick_nvram_bank = 0;
}
/* cuebrick, mia and tmnt */
@@ -2260,8 +2258,8 @@ static MACHINE_CONFIG_START( cuebrick, tmnt_state )
MCFG_CPU_PROGRAM_MAP(cuebrick_main_map)
MCFG_CPU_VBLANK_INT("screen",cuebrick_interrupt)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS | VIDEO_UPDATE_AFTER_VBLANK)
@@ -2276,7 +2274,7 @@ static MACHINE_CONFIG_START( cuebrick, tmnt_state )
MCFG_PALETTE_LENGTH(1024)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_VIDEO_START(cuebrick)
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,cuebrick)
MCFG_K052109_ADD("k052109", cuebrick_k052109_intf)
MCFG_K051960_ADD("k051960", cuebrick_k051960_intf)
@@ -2301,8 +2299,8 @@ static MACHINE_CONFIG_START( mia, tmnt_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz)
MCFG_CPU_PROGRAM_MAP(mia_audio_map)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS)
@@ -2316,7 +2314,7 @@ static MACHINE_CONFIG_START( mia, tmnt_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(mia)
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,mia)
MCFG_K052109_ADD("k052109", mia_k052109_intf)
MCFG_K051960_ADD("k051960", mia_k051960_intf)
@@ -2335,13 +2333,12 @@ static MACHINE_CONFIG_START( mia, tmnt_state )
MACHINE_CONFIG_END
-static MACHINE_RESET( tmnt )
+MACHINE_RESET_MEMBER(tmnt_state,tmnt)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
/* the UPD7759 control flip-flops are cleared: /ST is 1, /RESET is 0 */
- upd7759_start_w(state->m_upd, 0);
- upd7759_reset_w(state->m_upd, 1);
+ upd7759_start_w(m_upd, 0);
+ upd7759_reset_w(m_upd, 1);
}
static MACHINE_CONFIG_START( tmnt, tmnt_state )
@@ -2354,8 +2351,8 @@ static MACHINE_CONFIG_START( tmnt, tmnt_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz)
MCFG_CPU_PROGRAM_MAP(tmnt_audio_map)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(tmnt)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,tmnt)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS)
@@ -2371,7 +2368,7 @@ static MACHINE_CONFIG_START( tmnt, tmnt_state )
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(tmnt)
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,tmnt)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
MCFG_K051960_ADD("k051960", tmnt_k051960_intf)
@@ -2407,8 +2404,8 @@ static MACHINE_CONFIG_START( punkshot, tmnt_state )
MCFG_CPU_PROGRAM_MAP(punkshot_audio_map)
/* NMIs are generated by the 053260 */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS | VIDEO_UPDATE_AFTER_VBLANK)
@@ -2448,8 +2445,8 @@ static MACHINE_CONFIG_START( lgtnfght, tmnt_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz)
MCFG_CPU_PROGRAM_MAP(lgtnfght_audio_map)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS | VIDEO_UPDATE_AFTER_VBLANK)
@@ -2463,7 +2460,7 @@ static MACHINE_CONFIG_START( lgtnfght, tmnt_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(lgtnfght)
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,lgtnfght)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
@@ -2493,8 +2490,8 @@ static MACHINE_CONFIG_START( blswhstl, tmnt_state )
MCFG_CPU_PROGRAM_MAP(ssriders_audio_map)
/* NMIs are generated by the 053260 */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -2511,7 +2508,7 @@ static MACHINE_CONFIG_START( blswhstl, tmnt_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START( blswhstl )
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state, blswhstl )
MCFG_K052109_ADD("k052109", blswhstl_k052109_intf)
MCFG_K053245_ADD("k053245", blswhstl_k05324x_intf)
@@ -2559,8 +2556,8 @@ static MACHINE_CONFIG_START( glfgreat, tmnt_state )
MCFG_CPU_PROGRAM_MAP(glfgreat_audio_map)
/* NMIs are generated by the 053260 */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS | VIDEO_UPDATE_AFTER_VBLANK)
@@ -2575,7 +2572,7 @@ static MACHINE_CONFIG_START( glfgreat, tmnt_state )
MCFG_GFXDECODE(glfgreat)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(glfgreat)
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,glfgreat)
MCFG_K052109_ADD("k052109", glfgreat_k052109_intf)
MCFG_K053245_ADD("k053245", glfgreat_k05324x_intf)
@@ -2604,11 +2601,11 @@ static const k054539_interface k054539_config =
sound_nmi
};
-static MACHINE_START( prmrsocr )
+MACHINE_START_MEMBER(tmnt_state,prmrsocr)
{
- MACHINE_START_CALL(common);
- UINT8 *ROM = machine.root_device().memregion("audiocpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ MACHINE_START_CALL_MEMBER(common);
+ UINT8 *ROM = machine().root_device().memregion("audiocpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
}
static MACHINE_CONFIG_START( prmrsocr, tmnt_state )
@@ -2622,8 +2619,8 @@ static MACHINE_CONFIG_START( prmrsocr, tmnt_state )
MCFG_CPU_PROGRAM_MAP(prmrsocr_audio_map)
/* NMIs are generated by the 054539 */
- MCFG_MACHINE_START(prmrsocr)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,prmrsocr)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_ADD("eeprom", thndrx2_eeprom_intf)
@@ -2640,7 +2637,7 @@ static MACHINE_CONFIG_START( prmrsocr, tmnt_state )
MCFG_GFXDECODE(glfgreat)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(prmrsocr)
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,prmrsocr)
MCFG_K052109_ADD("k052109", glfgreat_k052109_intf)
MCFG_K053245_ADD("k053245", prmrsocr_k05324x_intf)
@@ -2671,8 +2668,8 @@ static MACHINE_CONFIG_START( tmnt2, tmnt_state )
MCFG_CPU_PROGRAM_MAP(ssriders_audio_map)
/* NMIs are generated by the 053260 */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -2688,7 +2685,7 @@ static MACHINE_CONFIG_START( tmnt2, tmnt_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(lgtnfght)
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,lgtnfght)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
@@ -2718,8 +2715,8 @@ static MACHINE_CONFIG_START( ssriders, tmnt_state )
MCFG_CPU_PROGRAM_MAP(ssriders_audio_map)
/* NMIs are generated by the 053260 */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -2735,7 +2732,7 @@ static MACHINE_CONFIG_START( ssriders, tmnt_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(lgtnfght)
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,lgtnfght)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
@@ -2761,8 +2758,8 @@ static MACHINE_CONFIG_START( sunsetbl, tmnt_state )
MCFG_CPU_PROGRAM_MAP(sunsetbl_main_map)
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -2801,8 +2798,8 @@ static MACHINE_CONFIG_START( thndrx2, tmnt_state )
MCFG_CPU_PROGRAM_MAP(thndrx2_audio_map)
/* NMIs are generated by the 053260 */
- MCFG_MACHINE_START(common)
- MCFG_MACHINE_RESET(common)
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_ADD("eeprom", thndrx2_eeprom_intf)
diff --git a/src/mame/drivers/tmspoker.c b/src/mame/drivers/tmspoker.c
index ee28c094b91..1c69ee2a22d 100644
--- a/src/mame/drivers/tmspoker.c
+++ b/src/mame/drivers/tmspoker.c
@@ -228,6 +228,10 @@ public:
DECLARE_READ8_MEMBER(unk_r);
DECLARE_DRIVER_INIT(bus);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -255,10 +259,9 @@ TILE_GET_INFO_MEMBER(tmspoker_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER( 0 /* bank */, code, 0 /* color */, 0);
}
-static VIDEO_START( tmspoker )
+void tmspoker_state::video_start()
{
- tmspoker_state *state = machine.driver_data<tmspoker_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tmspoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tmspoker_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( tmspoker )
@@ -268,7 +271,7 @@ static SCREEN_UPDATE_IND16( tmspoker )
return 0;
}
-static PALETTE_INIT( tmspoker )
+void tmspoker_state::palette_init()
{
}
@@ -292,20 +295,20 @@ static INTERRUPT_GEN( tmspoker_interrupt )
* Start & Reset *
************************/
-static MACHINE_START( tmspoker )
+void tmspoker_state::machine_start()
{
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- machine.root_device().membank("bank1")->configure_entries(0, 2, &ROM[0], 0x1000);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ machine().root_device().membank("bank1")->configure_entries(0, 2, &ROM[0], 0x1000);
}
-static MACHINE_RESET( tmspoker )
+void tmspoker_state::machine_reset()
{
- UINT8 seldsw = (machine.root_device().ioport("SELDSW")->read() );
+ UINT8 seldsw = (machine().root_device().ioport("SELDSW")->read() );
popmessage("ROM Bank: %02X", seldsw);
- machine.root_device().membank("bank1")->set_entry(seldsw);
+ machine().root_device().membank("bank1")->set_entry(seldsw);
}
@@ -568,8 +571,6 @@ static MACHINE_CONFIG_START( tmspoker, tmspoker_state )
MCFG_CPU_VBLANK_INT("screen", tmspoker_interrupt)
// MCFG_NVRAM_HANDLER(generic_0fill)
- MCFG_MACHINE_START(tmspoker)
- MCFG_MACHINE_RESET(tmspoker)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -580,10 +581,8 @@ static MACHINE_CONFIG_START( tmspoker, tmspoker_state )
MCFG_GFXDECODE(tmspoker)
- MCFG_PALETTE_INIT(tmspoker)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(tmspoker)
MCFG_SCREEN_UPDATE_STATIC(tmspoker)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/4, mc6845_intf) /* guess */
diff --git a/src/mame/drivers/tnzs.c b/src/mame/drivers/tnzs.c
index 804911aa0e0..cbcfeab1006 100644
--- a/src/mame/drivers/tnzs.c
+++ b/src/mame/drivers/tnzs.c
@@ -1628,8 +1628,8 @@ static MACHINE_CONFIG_START( arknoid2, tnzs_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(tnzs)
- MCFG_MACHINE_RESET(tnzs)
+ MCFG_MACHINE_START_OVERRIDE(tnzs_state,tnzs)
+ MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1645,7 +1645,7 @@ static MACHINE_CONFIG_START( arknoid2, tnzs_state )
MCFG_GFXDECODE(tnzs)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(arknoid2)
+ MCFG_PALETTE_INIT_OVERRIDE(tnzs_state,arknoid2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1669,8 +1669,8 @@ static MACHINE_CONFIG_START( drtoppel, tnzs_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(tnzs)
- MCFG_MACHINE_RESET(tnzs)
+ MCFG_MACHINE_START_OVERRIDE(tnzs_state,tnzs)
+ MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1686,7 +1686,7 @@ static MACHINE_CONFIG_START( drtoppel, tnzs_state )
MCFG_GFXDECODE(tnzs)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(arknoid2)
+ MCFG_PALETTE_INIT_OVERRIDE(tnzs_state,arknoid2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1713,8 +1713,8 @@ static MACHINE_CONFIG_START( tnzs, tnzs_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(tnzs)
- MCFG_MACHINE_RESET(tnzs)
+ MCFG_MACHINE_START_OVERRIDE(tnzs_state,tnzs)
+ MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1753,8 +1753,8 @@ static MACHINE_CONFIG_START( insectx, tnzs_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(tnzs)
- MCFG_MACHINE_RESET(tnzs)
+ MCFG_MACHINE_START_OVERRIDE(tnzs_state,tnzs)
+ MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1792,8 +1792,8 @@ static MACHINE_CONFIG_START( kageki, tnzs_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(tnzs)
- MCFG_MACHINE_RESET(tnzs)
+ MCFG_MACHINE_START_OVERRIDE(tnzs_state,tnzs)
+ MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1841,8 +1841,8 @@ static MACHINE_CONFIG_START( tnzsb, tnzs_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(tnzs)
- MCFG_MACHINE_RESET(tnzs)
+ MCFG_MACHINE_START_OVERRIDE(tnzs_state,tnzs)
+ MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1900,8 +1900,8 @@ static MACHINE_CONFIG_START( jpopnics, tnzs_state )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(jpopnics)
- MCFG_MACHINE_RESET(jpopnics)
+ MCFG_MACHINE_START_OVERRIDE(tnzs_state,jpopnics)
+ MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,jpopnics)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
diff --git a/src/mame/drivers/toaplan1.c b/src/mame/drivers/toaplan1.c
index 5377534ed9c..24b7946dc98 100644
--- a/src/mame/drivers/toaplan1.c
+++ b/src/mame/drivers/toaplan1.c
@@ -1540,7 +1540,7 @@ static MACHINE_CONFIG_START( rallybik, toaplan1_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(toaplan1)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,toaplan1)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1553,7 +1553,7 @@ static MACHINE_CONFIG_START( rallybik, toaplan1_state )
MCFG_GFXDECODE(rallybik)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
- MCFG_VIDEO_START(rallybik)
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,rallybik)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1577,7 +1577,7 @@ static MACHINE_CONFIG_START( truxton, toaplan1_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(toaplan1)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,toaplan1)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1590,7 +1590,7 @@ static MACHINE_CONFIG_START( truxton, toaplan1_state )
MCFG_GFXDECODE(toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
- MCFG_VIDEO_START(toaplan1)
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1614,7 +1614,7 @@ static MACHINE_CONFIG_START( hellfire, toaplan1_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(toaplan1)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,toaplan1)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1627,7 +1627,7 @@ static MACHINE_CONFIG_START( hellfire, toaplan1_state )
MCFG_GFXDECODE(toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
- MCFG_VIDEO_START(toaplan1)
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1651,7 +1651,7 @@ static MACHINE_CONFIG_START( zerowing, toaplan1_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(zerowing)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,zerowing)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1664,7 +1664,7 @@ static MACHINE_CONFIG_START( zerowing, toaplan1_state )
MCFG_GFXDECODE(toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
- MCFG_VIDEO_START(toaplan1)
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1692,7 +1692,7 @@ static MACHINE_CONFIG_START( demonwld, toaplan1_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(demonwld)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,demonwld)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1705,7 +1705,7 @@ static MACHINE_CONFIG_START( demonwld, toaplan1_state )
MCFG_GFXDECODE(toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
- MCFG_VIDEO_START(toaplan1)
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1727,7 +1727,7 @@ static MACHINE_CONFIG_START( samesame, toaplan1_state )
MCFG_CPU_PROGRAM_MAP(hd647180_mem_map)
MCFG_DEVICE_DISABLE() /* Internal code is not dumped */
- MCFG_MACHINE_RESET(toaplan1)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,toaplan1)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1740,7 +1740,7 @@ static MACHINE_CONFIG_START( samesame, toaplan1_state )
MCFG_GFXDECODE(toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
- MCFG_VIDEO_START(toaplan1)
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1764,7 +1764,7 @@ static MACHINE_CONFIG_START( outzone, toaplan1_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(zerowing)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,zerowing)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1777,7 +1777,7 @@ static MACHINE_CONFIG_START( outzone, toaplan1_state )
MCFG_GFXDECODE(outzone)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
- MCFG_VIDEO_START(toaplan1)
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1799,7 +1799,7 @@ static MACHINE_CONFIG_START( vimana, toaplan1_state )
MCFG_CPU_PROGRAM_MAP(hd647180_mem_map)
MCFG_DEVICE_DISABLE() /* Internal code is not dumped */
- MCFG_MACHINE_RESET(vimana)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,vimana)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1812,7 +1812,7 @@ static MACHINE_CONFIG_START( vimana, toaplan1_state )
MCFG_GFXDECODE(vm)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
- MCFG_VIDEO_START(toaplan1)
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index 5defb778dd2..d3ed361a3d5 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -367,18 +367,17 @@ To Do / Unknowns:
***************************************************************************/
-static MACHINE_START( toaplan2 )
+MACHINE_START_MEMBER(toaplan2_state,toaplan2)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- state->m_main_cpu = machine.device("maincpu");
- state->m_sub_cpu = machine.device("audiocpu");
+ m_main_cpu = machine().device("maincpu");
+ m_sub_cpu = machine().device("audiocpu");
- state->save_item(NAME(state->m_mcu_data));
- state->save_item(NAME(state->m_video_status));
- state->save_item(NAME(state->m_old_p1_paddle_h));
- state->save_item(NAME(state->m_old_p2_paddle_h));
- state->save_item(NAME(state->m_z80_busreq));
+ save_item(NAME(m_mcu_data));
+ save_item(NAME(m_video_status));
+ save_item(NAME(m_old_p1_paddle_h));
+ save_item(NAME(m_old_p2_paddle_h));
+ save_item(NAME(m_z80_busreq));
}
@@ -391,26 +390,24 @@ static void toaplan2_reset(device_t *device)
}
-static MACHINE_RESET( toaplan2 )
+MACHINE_RESET_MEMBER(toaplan2_state,toaplan2)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- state->m_mcu_data = 0x00;
+ m_mcu_data = 0x00;
// All games execute a RESET instruction on init, presumably to reset the sound CPU.
// This is important for games with common RAM; the RAM test will fail
// when leaving service mode if the sound CPU is not reset.
- m68k_set_reset_callback(state->m_main_cpu, toaplan2_reset);
+ m68k_set_reset_callback(m_main_cpu, toaplan2_reset);
}
-static MACHINE_RESET( ghox )
+MACHINE_RESET_MEMBER(toaplan2_state,ghox)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- MACHINE_RESET_CALL(toaplan2);
- state->m_old_p1_paddle_h = 0;
- state->m_old_p2_paddle_h = 0;
+ MACHINE_RESET_CALL_MEMBER(toaplan2);
+ m_old_p1_paddle_h = 0;
+ m_old_p2_paddle_h = 0;
}
@@ -3038,8 +3035,8 @@ static MACHINE_CONFIG_START( tekipaki, toaplan2_state )
MCFG_CPU_PROGRAM_MAP(hd647180_mem)
#endif
- MCFG_MACHINE_START(toaplan2)
- MCFG_MACHINE_RESET(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3056,7 +3053,7 @@ static MACHINE_CONFIG_START( tekipaki, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3079,8 +3076,8 @@ static MACHINE_CONFIG_START( ghox, toaplan2_state )
MCFG_CPU_PROGRAM_MAP(hd647180_mem)
#endif
- MCFG_MACHINE_START(toaplan2)
- MCFG_MACHINE_RESET(ghox)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,ghox)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3097,7 +3094,7 @@ static MACHINE_CONFIG_START( ghox, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3170,7 +3167,7 @@ static MACHINE_CONFIG_START( dogyuun, toaplan2_state )
MCFG_CPU_IO_MAP(dogyuun_v25_port)
MCFG_CPU_CONFIG(nitro_config)
- MCFG_MACHINE_START(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3188,7 +3185,7 @@ static MACHINE_CONFIG_START( dogyuun, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
MCFG_DEVICE_ADD_VDP1
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3214,7 +3211,7 @@ static MACHINE_CONFIG_START( kbash, toaplan2_state )
MCFG_CPU_IO_MAP(v25_port)
MCFG_CPU_CONFIG(nitro_config)
- MCFG_MACHINE_START(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3231,7 +3228,7 @@ static MACHINE_CONFIG_START( kbash, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3251,7 +3248,7 @@ static MACHINE_CONFIG_START( kbash2, toaplan2_state )
MCFG_CPU_PROGRAM_MAP(kbash2_68k_mem)
MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4)
- MCFG_MACHINE_START(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3268,7 +3265,7 @@ static MACHINE_CONFIG_START( kbash2, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3288,7 +3285,7 @@ static MACHINE_CONFIG_START( truxton2, toaplan2_state )
MCFG_CPU_PROGRAM_MAP(truxton2_68k_mem)
MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq2)
- MCFG_MACHINE_START(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3305,7 +3302,7 @@ static MACHINE_CONFIG_START( truxton2, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(truxton2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,truxton2)
/* sound hardware */
#ifdef TRUXTON2_STEREO // music data is stereo...
@@ -3342,8 +3339,8 @@ static MACHINE_CONFIG_START( pipibibs, toaplan2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(toaplan2)
- MCFG_MACHINE_RESET(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3360,7 +3357,7 @@ static MACHINE_CONFIG_START( pipibibs, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3383,8 +3380,8 @@ static MACHINE_CONFIG_START( pipibibsbl, toaplan2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(toaplan2)
- MCFG_MACHINE_RESET(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3401,7 +3398,7 @@ static MACHINE_CONFIG_START( pipibibsbl, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3463,7 +3460,7 @@ static MACHINE_CONFIG_START( fixeight, toaplan2_state )
MCFG_CPU_IO_MAP(fixeight_v25_port)
MCFG_CPU_CONFIG(ts001turbo_config)
- MCFG_MACHINE_START(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
MCFG_EEPROM_93C46_ADD("eeprom")
@@ -3482,7 +3479,7 @@ static MACHINE_CONFIG_START( fixeight, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(truxton2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,truxton2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3502,7 +3499,7 @@ static MACHINE_CONFIG_START( fixeightbl, toaplan2_state )
MCFG_CPU_PROGRAM_MAP(fixeightbl_68k_mem)
MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq2)
- MCFG_MACHINE_START(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3519,7 +3516,7 @@ static MACHINE_CONFIG_START( fixeightbl, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(fixeightbl)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,fixeightbl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3542,7 +3539,7 @@ static MACHINE_CONFIG_START( vfive, toaplan2_state )
MCFG_CPU_IO_MAP(v25_port)
MCFG_CPU_CONFIG(nitro_config)
- MCFG_MACHINE_START(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3559,7 +3556,7 @@ static MACHINE_CONFIG_START( vfive, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3580,7 +3577,7 @@ static MACHINE_CONFIG_START( batsugun, toaplan2_state )
MCFG_CPU_PROGRAM_MAP(v25_mem)
MCFG_CPU_IO_MAP(v25_port)
- MCFG_MACHINE_START(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3598,7 +3595,7 @@ static MACHINE_CONFIG_START( batsugun, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
MCFG_DEVICE_ADD_VDP1
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3618,7 +3615,7 @@ static MACHINE_CONFIG_START( snowbro2, toaplan2_state )
MCFG_CPU_PROGRAM_MAP(snowbro2_68k_mem)
MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4)
- MCFG_MACHINE_START(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3635,7 +3632,7 @@ static MACHINE_CONFIG_START( snowbro2, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(toaplan2)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3660,8 +3657,8 @@ static MACHINE_CONFIG_START( mahoudai, toaplan2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(toaplan2)
- MCFG_MACHINE_RESET(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3678,7 +3675,7 @@ static MACHINE_CONFIG_START( mahoudai, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(bgaregga)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3703,8 +3700,8 @@ static MACHINE_CONFIG_START( shippumd, toaplan2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(toaplan2)
- MCFG_MACHINE_RESET(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3721,7 +3718,7 @@ static MACHINE_CONFIG_START( shippumd, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(bgaregga)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3757,8 +3754,8 @@ static MACHINE_CONFIG_START( bgaregga, toaplan2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(toaplan2)
- MCFG_MACHINE_RESET(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3775,7 +3772,7 @@ static MACHINE_CONFIG_START( bgaregga, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(bgaregga)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3791,7 +3788,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bgareggabl, bgaregga )
- MCFG_VIDEO_START(bgareggabl)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgareggabl)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( batrider, toaplan2_state )
@@ -3807,8 +3804,8 @@ static MACHINE_CONFIG_START( batrider, toaplan2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(toaplan2)
- MCFG_MACHINE_RESET(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -3824,7 +3821,7 @@ static MACHINE_CONFIG_START( batrider, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(batrider)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,batrider)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3856,8 +3853,8 @@ static MACHINE_CONFIG_START( bbakraid, toaplan2_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(toaplan2)
- MCFG_MACHINE_RESET(toaplan2)
+ MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2)
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
MCFG_EEPROM_ADD("eeprom", bbakraid_93C66_intf)
@@ -3875,7 +3872,7 @@ static MACHINE_CONFIG_START( bbakraid, toaplan2_state )
MCFG_DEVICE_ADD_VDP0
- MCFG_VIDEO_START(batrider)
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,batrider)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index 2724f16e8f5..5624f7927e3 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -437,7 +437,6 @@ static MACHINE_CONFIG_START( toki, toki_state ) /* KOYO 20.000MHz near the cpu *
MCFG_GFXDECODE(toki)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(toki)
/* sound hardware */
SEIBU_SOUND_SYSTEM_YM3812_RAIDEN_INTERFACE(XTAL_14_31818MHz/4,XTAL_12MHz/12) /* verifed on pcb */
@@ -467,7 +466,6 @@ static MACHINE_CONFIG_START( tokib, toki_state )
MCFG_GFXDECODE(tokib)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(toki)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tomcat.c b/src/mame/drivers/tomcat.c
index d5f554e9b9f..2ff6a9849de 100644
--- a/src/mame/drivers/tomcat.c
+++ b/src/mame/drivers/tomcat.c
@@ -76,6 +76,7 @@ public:
DECLARE_READ8_MEMBER(tomcat_nvram_r);
DECLARE_WRITE8_MEMBER(tomcat_nvram_w);
DECLARE_WRITE8_MEMBER(soundlatches_w);
+ virtual void machine_start();
};
@@ -355,22 +356,21 @@ static INPUT_PORTS_START( tomcat )
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(30)
INPUT_PORTS_END
-static MACHINE_START(tomcat)
+void tomcat_state::machine_start()
{
- tomcat_state *state = machine.driver_data<tomcat_state>();
- ((UINT16*)state->m_shared_ram)[0x0000] = 0xf600;
- ((UINT16*)state->m_shared_ram)[0x0001] = 0x0000;
- ((UINT16*)state->m_shared_ram)[0x0002] = 0xf600;
- ((UINT16*)state->m_shared_ram)[0x0003] = 0x0000;
+ ((UINT16*)m_shared_ram)[0x0000] = 0xf600;
+ ((UINT16*)m_shared_ram)[0x0001] = 0x0000;
+ ((UINT16*)m_shared_ram)[0x0002] = 0xf600;
+ ((UINT16*)m_shared_ram)[0x0003] = 0x0000;
- machine.device<nvram_device>("nvram")->set_base(state->m_nvram, 0x800);
+ machine().device<nvram_device>("nvram")->set_base(m_nvram, 0x800);
- state->save_item(NAME(state->m_nvram));
- state->save_item(NAME(state->m_control_num));
- state->save_item(NAME(state->m_dsp_BIO));
- state->save_item(NAME(state->m_dsp_idle));
+ save_item(NAME(m_nvram));
+ save_item(NAME(m_control_num));
+ save_item(NAME(m_dsp_BIO));
+ save_item(NAME(m_dsp_idle));
- state->m_dsp_BIO = 0;
+ m_dsp_BIO = 0;
}
static const riot6532_interface tomcat_riot6532_intf =
@@ -412,7 +412,6 @@ static MACHINE_CONFIG_START( tomcat, tomcat_state )
MCFG_QUANTUM_TIME(attotime::from_hz(4000))
- MCFG_MACHINE_START(tomcat)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/tonton.c b/src/mame/drivers/tonton.c
index c56603754d8..b7d199b4760 100644
--- a/src/mame/drivers/tonton.c
+++ b/src/mame/drivers/tonton.c
@@ -41,6 +41,8 @@ public:
DECLARE_WRITE8_MEMBER(tonton_outport_w);
DECLARE_WRITE8_MEMBER(ay_aout_w);
DECLARE_WRITE8_MEMBER(ay_bout_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
#define MAIN_CLOCK XTAL_21_4772MHz
@@ -187,11 +189,11 @@ INPUT_PORTS_END
* Machine Start & Reset Routines *
*************************************************/
-static MACHINE_START( tonton )
+void tonton_state::machine_start()
{
}
-static MACHINE_RESET( tonton )
+void tonton_state::machine_reset()
{
}
@@ -257,8 +259,6 @@ static MACHINE_CONFIG_START( tonton, tonton_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_START(tonton)
- MCFG_MACHINE_RESET(tonton)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
diff --git a/src/mame/drivers/toobin.c b/src/mame/drivers/toobin.c
index 1f21823d1c8..099576096ed 100644
--- a/src/mame/drivers/toobin.c
+++ b/src/mame/drivers/toobin.c
@@ -43,18 +43,17 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( toobin )
+MACHINE_START_MEMBER(toobin_state,toobin)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( toobin )
+MACHINE_RESET_MEMBER(toobin_state,toobin)
{
- toobin_state *state = machine.driver_data<toobin_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
atarijsa_reset();
}
@@ -228,8 +227,8 @@ static MACHINE_CONFIG_START( toobin, toobin_state )
MCFG_CPU_ADD("maincpu", M68010, MASTER_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(toobin)
- MCFG_MACHINE_RESET(toobin)
+ MCFG_MACHINE_START_OVERRIDE(toobin_state,toobin)
+ MCFG_MACHINE_RESET_OVERRIDE(toobin_state,toobin)
MCFG_NVRAM_ADD_1FILL("eeprom")
MCFG_WATCHDOG_VBLANK_INIT(8)
@@ -243,7 +242,7 @@ static MACHINE_CONFIG_START( toobin, toobin_state )
MCFG_GFXDECODE(toobin)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(toobin)
+ MCFG_VIDEO_START_OVERRIDE(toobin_state,toobin)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_stereo_pokey)
diff --git a/src/mame/drivers/topspeed.c b/src/mame/drivers/topspeed.c
index 684dc8d4204..568abaee859 100644
--- a/src/mame/drivers/topspeed.c
+++ b/src/mame/drivers/topspeed.c
@@ -693,42 +693,40 @@ static void topspeed_postload(running_machine &machine)
reset_sound_region(machine);
}
-static MACHINE_START( topspeed )
+void topspeed_state::machine_start()
{
- topspeed_state *state = machine.driver_data<topspeed_state>();
- state->membank("bank10")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0xc000, 0x4000);
+ membank("bank10")->configure_entries(0, 4, memregion("audiocpu")->base() + 0xc000, 0x4000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_subcpu = machine.device<cpu_device>("subcpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_tc0220ioc = machine.device("tc0220ioc");
- state->m_pc080sn_1 = machine.device("pc080sn_1");
- state->m_pc080sn_2 = machine.device("pc080sn_2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_subcpu = machine().device<cpu_device>("subcpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_tc0220ioc = machine().device("tc0220ioc");
+ m_pc080sn_1 = machine().device("pc080sn_1");
+ m_pc080sn_2 = machine().device("pc080sn_2");
- state->m_msm_chip[0] = machine.device("msm1");
- state->m_msm_chip[1] = machine.device("msm2");
- state->m_msm_rom[0] = state->memregion("adpcm")->base();
- state->m_msm_rom[1] = state->memregion("adpcm")->base() + 0x10000;
+ m_msm_chip[0] = machine().device("msm1");
+ m_msm_chip[1] = machine().device("msm2");
+ m_msm_rom[0] = memregion("adpcm")->base();
+ m_msm_rom[1] = memregion("adpcm")->base() + 0x10000;
- state->save_item(NAME(state->m_cpua_ctrl));
- state->save_item(NAME(state->m_ioc220_port));
- state->save_item(NAME(state->m_banknum));
- machine.save().register_postload(save_prepost_delegate(FUNC(topspeed_postload), &machine));
+ save_item(NAME(m_cpua_ctrl));
+ save_item(NAME(m_ioc220_port));
+ save_item(NAME(m_banknum));
+ machine().save().register_postload(save_prepost_delegate(FUNC(topspeed_postload), &machine()));
}
-static MACHINE_RESET( topspeed )
+void topspeed_state::machine_reset()
{
- topspeed_state *state = machine.driver_data<topspeed_state>();
- state->m_cpua_ctrl = 0xff;
- state->m_ioc220_port = 0;
- state->m_banknum = -1;
+ m_cpua_ctrl = 0xff;
+ m_ioc220_port = 0;
+ m_banknum = -1;
- msm5205_reset_w(state->m_msm_chip[0], 1);
- msm5205_reset_w(state->m_msm_chip[1], 1);
- state->m_msm_loop[0] = 0;
- state->m_msm_loop[1] = 0;
+ msm5205_reset_w(m_msm_chip[0], 1);
+ msm5205_reset_w(m_msm_chip[1], 1);
+ m_msm_loop[0] = 0;
+ m_msm_loop[1] = 0;
}
static const pc080sn_interface topspeed_pc080sn_intf =
@@ -762,8 +760,6 @@ static MACHINE_CONFIG_START( topspeed, topspeed_state )
MCFG_CPU_PROGRAM_MAP(topspeed_cpub_map)
MCFG_CPU_VBLANK_INT("screen", topspeed_cpub_interrupt)
- MCFG_MACHINE_START(topspeed)
- MCFG_MACHINE_RESET(topspeed)
MCFG_TC0220IOC_ADD("tc0220ioc", topspeed_io_intf)
diff --git a/src/mame/drivers/toratora.c b/src/mame/drivers/toratora.c
index db1ebe58738..613d1d99de4 100644
--- a/src/mame/drivers/toratora.c
+++ b/src/mame/drivers/toratora.c
@@ -55,6 +55,8 @@ public:
DECLARE_WRITE8_MEMBER(sn2_port_a_u2_u3_w);
DECLARE_WRITE8_MEMBER(sn2_port_b_u2_u3_w);
DECLARE_WRITE_LINE_MEMBER(sn2_ca2_u2_u3_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -421,27 +423,25 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( toratora )
+void toratora_state::machine_start()
{
- toratora_state *state = machine.driver_data<toratora_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_pia_u1 = machine.device<pia6821_device>("pia_u1");
- state->m_pia_u2 = machine.device<pia6821_device>("pia_u2");
- state->m_pia_u3 = machine.device<pia6821_device>("pia_u3");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_pia_u1 = machine().device<pia6821_device>("pia_u1");
+ m_pia_u2 = machine().device<pia6821_device>("pia_u2");
+ m_pia_u3 = machine().device<pia6821_device>("pia_u3");
- state->save_item(NAME(state->m_timer));
- state->save_item(NAME(state->m_last));
- state->save_item(NAME(state->m_clear_tv));
+ save_item(NAME(m_timer));
+ save_item(NAME(m_last));
+ save_item(NAME(m_clear_tv));
}
-static MACHINE_RESET( toratora )
+void toratora_state::machine_reset()
{
- toratora_state *state = machine.driver_data<toratora_state>();
- state->m_timer = 0xff;
- state->m_last = 0;
- state->m_clear_tv = 0;
+ m_timer = 0xff;
+ m_last = 0;
+ m_clear_tv = 0;
}
static MACHINE_CONFIG_START( toratora, toratora_state )
@@ -455,8 +455,6 @@ static MACHINE_CONFIG_START( toratora, toratora_state )
MCFG_PIA6821_ADD("pia_u2", pia_u2_intf)
MCFG_PIA6821_ADD("pia_u3", pia_u3_intf)
- MCFG_MACHINE_START(toratora)
- MCFG_MACHINE_RESET(toratora)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/toypop.c b/src/mame/drivers/toypop.c
index 9f1e2d2b32a..8181fd60618 100644
--- a/src/mame/drivers/toypop.c
+++ b/src/mame/drivers/toypop.c
@@ -148,17 +148,16 @@ WRITE8_MEMBER(toypop_state::toypop_m68000_assert_w)
machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
-static MACHINE_RESET( toypop )
+void toypop_state::machine_reset()
{
- toypop_state *state = machine.driver_data<toypop_state>();
- state->m_main_irq_mask = 0;
- machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
+ m_main_irq_mask = 0;
+ machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
- state->m_sound_irq_mask = 0;
- machine.device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
+ m_sound_irq_mask = 0;
+ machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
- state->m_interrupt_enable_68k = 0;
+ m_interrupt_enable_68k = 0;
}
static INTERRUPT_GEN( toypop_m68000_interrupt )
@@ -562,7 +561,6 @@ static MACHINE_CONFIG_START( liblrabl, toypop_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_RESET(toypop)
MCFG_NAMCO58XX_ADD("58xx", intf0)
MCFG_NAMCO56XX_ADD("56xx_1", intf1)
@@ -579,8 +577,6 @@ static MACHINE_CONFIG_START( liblrabl, toypop_state )
MCFG_GFXDECODE(toypop)
MCFG_PALETTE_LENGTH(128*4+64*4+16*2)
- MCFG_PALETTE_INIT(toypop)
- MCFG_VIDEO_START(toypop)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tp84.c b/src/mame/drivers/tp84.c
index 31d107cceb2..6c7cb710f16 100644
--- a/src/mame/drivers/tp84.c
+++ b/src/mame/drivers/tp84.c
@@ -74,10 +74,9 @@ C004 76489 #4 trigger
-static MACHINE_START( tp84 )
+void tp84_state::machine_start()
{
- tp84_state *state = machine.driver_data<tp84_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
}
@@ -322,7 +321,6 @@ static MACHINE_CONFIG_START( tp84, tp84_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_START(tp84)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -335,8 +333,6 @@ static MACHINE_CONFIG_START( tp84, tp84_state )
MCFG_GFXDECODE(tp84)
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT(tp84)
- MCFG_VIDEO_START(tp84)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c
index 3f14f16271c..882b05bbcff 100644
--- a/src/mame/drivers/trackfld.c
+++ b/src/mame/drivers/trackfld.c
@@ -864,25 +864,23 @@ GFXDECODE_END
-static MACHINE_START( trackfld )
+MACHINE_START_MEMBER(trackfld_state,trackfld)
{
- trackfld_state *state = machine.driver_data<trackfld_state>();
/* video */
- state->save_item(NAME(state->m_bg_bank));
- state->save_item(NAME(state->m_sprite_bank1));
- state->save_item(NAME(state->m_sprite_bank2));
- state->save_item(NAME(state->m_old_gfx_bank));
+ save_item(NAME(m_bg_bank));
+ save_item(NAME(m_sprite_bank1));
+ save_item(NAME(m_sprite_bank2));
+ save_item(NAME(m_old_gfx_bank));
}
-static MACHINE_RESET( trackfld )
+MACHINE_RESET_MEMBER(trackfld_state,trackfld)
{
- trackfld_state *state = machine.driver_data<trackfld_state>();
- state->m_bg_bank = 0;
- state->m_sprite_bank1 = 0;
- state->m_sprite_bank2 = 0;
- state->m_old_gfx_bank = 0;
+ m_bg_bank = 0;
+ m_sprite_bank1 = 0;
+ m_sprite_bank2 = 0;
+ m_old_gfx_bank = 0;
}
static INTERRUPT_GEN( vblank_irq )
@@ -920,8 +918,8 @@ static MACHINE_CONFIG_START( trackfld, trackfld_state )
MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(trackfld)
- MCFG_MACHINE_RESET(trackfld)
+ MCFG_MACHINE_START_OVERRIDE(trackfld_state,trackfld)
+ MCFG_MACHINE_RESET_OVERRIDE(trackfld_state,trackfld)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -935,8 +933,8 @@ static MACHINE_CONFIG_START( trackfld, trackfld_state )
MCFG_GFXDECODE(trackfld)
MCFG_PALETTE_LENGTH(16*16+16*16)
- MCFG_PALETTE_INIT(trackfld)
- MCFG_VIDEO_START(trackfld)
+ MCFG_PALETTE_INIT_OVERRIDE(trackfld_state,trackfld)
+ MCFG_VIDEO_START_OVERRIDE(trackfld_state,trackfld)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -975,8 +973,8 @@ static MACHINE_CONFIG_START( yieartf, trackfld_state )
// MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/4)
// MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(trackfld)
- MCFG_MACHINE_RESET(trackfld)
+ MCFG_MACHINE_START_OVERRIDE(trackfld_state,trackfld)
+ MCFG_MACHINE_RESET_OVERRIDE(trackfld_state,trackfld)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -990,8 +988,8 @@ static MACHINE_CONFIG_START( yieartf, trackfld_state )
MCFG_GFXDECODE(trackfld)
MCFG_PALETTE_LENGTH(16*16+16*16)
- MCFG_PALETTE_INIT(trackfld)
- MCFG_VIDEO_START(trackfld)
+ MCFG_PALETTE_INIT_OVERRIDE(trackfld_state,trackfld)
+ MCFG_VIDEO_START_OVERRIDE(trackfld_state,trackfld)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1016,8 +1014,8 @@ static MACHINE_CONFIG_DERIVED( hyprolyb, trackfld )
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_PROGRAM_MAP(hyprolyb_sound_map)
- MCFG_MACHINE_START(trackfld)
- MCFG_MACHINE_RESET(trackfld)
+ MCFG_MACHINE_START_OVERRIDE(trackfld_state,trackfld)
+ MCFG_MACHINE_RESET_OVERRIDE(trackfld_state,trackfld)
/* sound hardware */
MCFG_DEVICE_REMOVE("vlm")
@@ -1026,7 +1024,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( atlantol, hyprolyb )
- MCFG_VIDEO_START(atlantol)
+ MCFG_VIDEO_START_OVERRIDE(trackfld_state,atlantol)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/travrusa.c b/src/mame/drivers/travrusa.c
index 13efc80e4d1..3673da60531 100644
--- a/src/mame/drivers/travrusa.c
+++ b/src/mame/drivers/travrusa.c
@@ -289,12 +289,11 @@ static GFXDECODE_START( shtrider )
GFXDECODE_ENTRY( "gfx2", 0, shtrider_spritelayout, 16*8, 16 )
GFXDECODE_END
-static MACHINE_RESET( travrusa )
+void travrusa_state::machine_reset()
{
- travrusa_state *state = machine.driver_data<travrusa_state>();
- state->m_scrollx[0] = 0;
- state->m_scrollx[1] = 0;
+ m_scrollx[0] = 0;
+ m_scrollx[1] = 0;
}
static MACHINE_CONFIG_START( travrusa, travrusa_state )
@@ -304,7 +303,6 @@ static MACHINE_CONFIG_START( travrusa, travrusa_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_RESET(travrusa)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -320,8 +318,6 @@ static MACHINE_CONFIG_START( travrusa, travrusa_state )
MCFG_PALETTE_LENGTH(16*8+16*8)
- MCFG_PALETTE_INIT(travrusa)
- MCFG_VIDEO_START(travrusa)
/* sound hardware */
MCFG_FRAGMENT_ADD(m52_sound_c_audio)
@@ -331,7 +327,7 @@ static MACHINE_CONFIG_DERIVED( shtrider, travrusa )
/* video hardware */
MCFG_GFXDECODE(shtrider)
- MCFG_PALETTE_INIT(shtrider)
+ MCFG_PALETTE_INIT_OVERRIDE(travrusa_state,shtrider)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/triforce.c b/src/mame/drivers/triforce.c
index 04dc157264e..df904ade008 100644
--- a/src/mame/drivers/triforce.c
+++ b/src/mame/drivers/triforce.c
@@ -419,6 +419,8 @@ public:
DECLARE_WRITE64_MEMBER(gc_pi_w);
DECLARE_READ64_MEMBER(gc_exi_r);
DECLARE_WRITE64_MEMBER(gc_exi_w);
+ virtual void machine_start();
+ virtual void video_start();
};
READ64_MEMBER(triforce_state::gc_pi_r)
@@ -449,7 +451,7 @@ static ADDRESS_MAP_START( gc_map, AS_PROGRAM, 64, triforce_state )
ADDRESS_MAP_END
-static VIDEO_START(triforce)
+void triforce_state::video_start()
{
}
@@ -516,12 +518,12 @@ static void descrambler(UINT8* data, UINT32 size)
}
}
-static MACHINE_START( triforce )
+void triforce_state::machine_start()
{
/* set conservative DRC options */
- ppcdrc_set_options(machine.device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
+ ppcdrc_set_options(machine().device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
- UINT8 *rom = (UINT8*)machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = (UINT8*)machine().root_device().memregion("maincpu")->base();
descrambler(&rom[0x100], 0x1afe00);
}
@@ -533,7 +535,6 @@ static MACHINE_CONFIG_START( triforce_base, triforce_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(triforce)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -544,7 +545,6 @@ static MACHINE_CONFIG_START( triforce_base, triforce_state )
MCFG_PALETTE_LENGTH(65536)
- MCFG_VIDEO_START(triforce)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( triforcegd, triforce_base )
diff --git a/src/mame/drivers/triplhnt.c b/src/mame/drivers/triplhnt.c
index 60a861548fa..d72ef25b699 100644
--- a/src/mame/drivers/triplhnt.c
+++ b/src/mame/drivers/triplhnt.c
@@ -293,16 +293,16 @@ static GFXDECODE_START( triplhnt )
GFXDECODE_END
-static PALETTE_INIT( triplhnt )
+void triplhnt_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0xAF, 0xAF, 0xAF)); /* sprites */
- palette_set_color(machine, 1, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 2, MAKE_RGB(0xFF, 0xFF, 0xFF));
- palette_set_color(machine, 3, MAKE_RGB(0x50, 0x50, 0x50));
- palette_set_color(machine, 4, MAKE_RGB(0x00, 0x00, 0x00)); /* tiles */
- palette_set_color(machine, 5, MAKE_RGB(0x3F, 0x3F, 0x3F));
- palette_set_color(machine, 6, MAKE_RGB(0x00, 0x00, 0x00));
- palette_set_color(machine, 7, MAKE_RGB(0x3F, 0x3F, 0x3F));
+ palette_set_color(machine(), 0, MAKE_RGB(0xAF, 0xAF, 0xAF)); /* sprites */
+ palette_set_color(machine(), 1, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 2, MAKE_RGB(0xFF, 0xFF, 0xFF));
+ palette_set_color(machine(), 3, MAKE_RGB(0x50, 0x50, 0x50));
+ palette_set_color(machine(), 4, MAKE_RGB(0x00, 0x00, 0x00)); /* tiles */
+ palette_set_color(machine(), 5, MAKE_RGB(0x3F, 0x3F, 0x3F));
+ palette_set_color(machine(), 6, MAKE_RGB(0x00, 0x00, 0x00));
+ palette_set_color(machine(), 7, MAKE_RGB(0x3F, 0x3F, 0x3F));
}
@@ -324,8 +324,6 @@ static MACHINE_CONFIG_START( triplhnt, triplhnt_state )
MCFG_GFXDECODE(triplhnt)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(triplhnt)
- MCFG_VIDEO_START(triplhnt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c
index a64026c4516..f66d32d3e97 100644
--- a/src/mame/drivers/truco.c
+++ b/src/mame/drivers/truco.c
@@ -359,35 +359,34 @@ INPUT_PORTS_END
* Machine Reset & Interrupts *
*******************************************/
-static MACHINE_RESET( truco )
+void truco_state::machine_reset()
{
- truco_state *state = machine.driver_data<truco_state>();
int a;
/* Setup the data on the battery backed RAM */
/* IRQ check */
- state->m_battery_ram[0x002] = 0x51;
- state->m_battery_ram[0x024] = 0x49;
- state->m_battery_ram[0x089] = 0x04;
- state->m_battery_ram[0x170] = 0x12;
- state->m_battery_ram[0x1a8] = 0xd5;
+ m_battery_ram[0x002] = 0x51;
+ m_battery_ram[0x024] = 0x49;
+ m_battery_ram[0x089] = 0x04;
+ m_battery_ram[0x170] = 0x12;
+ m_battery_ram[0x1a8] = 0xd5;
/* Mainloop check */
- state->m_battery_ram[0x005] = 0x04;
- state->m_battery_ram[0x22B] = 0x46;
- state->m_battery_ram[0x236] = 0xfb;
- state->m_battery_ram[0x2fe] = 0x1D;
- state->m_battery_ram[0x359] = 0x5A;
+ m_battery_ram[0x005] = 0x04;
+ m_battery_ram[0x22B] = 0x46;
+ m_battery_ram[0x236] = 0xfb;
+ m_battery_ram[0x2fe] = 0x1D;
+ m_battery_ram[0x359] = 0x5A;
/* Boot check */
- a = ( state->m_battery_ram[0x000] << 8 ) | state->m_battery_ram[0x001];
+ a = ( m_battery_ram[0x000] << 8 ) | m_battery_ram[0x001];
a += 0x4d2;
- state->m_battery_ram[0x01d] = ( a >> 8 ) & 0xff;
- state->m_battery_ram[0x01e] = a & 0xff;
- state->m_battery_ram[0x020] = state->m_battery_ram[0x011];
+ m_battery_ram[0x01d] = ( a >> 8 ) & 0xff;
+ m_battery_ram[0x01e] = a & 0xff;
+ m_battery_ram[0x020] = m_battery_ram[0x011];
}
static INTERRUPT_GEN( truco_interrupt )
@@ -463,7 +462,6 @@ static MACHINE_CONFIG_START( truco, truco_state )
MCFG_PIA6821_ADD("pia0", pia0_intf)
- MCFG_MACHINE_RESET(truco)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -474,7 +472,6 @@ static MACHINE_CONFIG_START( truco, truco_state )
MCFG_SCREEN_UPDATE_STATIC(truco)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(truco)
MCFG_MC6845_ADD("crtc", MC6845, CRTC_CLOCK, mc6845_intf) /* Identified as UM6845 */
diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c
index e89ce3b212f..4d0be1cd6d2 100644
--- a/src/mame/drivers/trucocl.c
+++ b/src/mame/drivers/trucocl.c
@@ -148,8 +148,6 @@ static MACHINE_CONFIG_START( trucocl, trucocl_state )
MCFG_GFXDECODE(trucocl)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(trucocl)
- MCFG_VIDEO_START(trucocl)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c
index 73be7f61d32..df3e04279ab 100644
--- a/src/mame/drivers/trvmadns.c
+++ b/src/mame/drivers/trvmadns.c
@@ -84,6 +84,8 @@ public:
DECLARE_WRITE8_MEMBER(w3);
DECLARE_WRITE8_MEMBER(trvmadns_tileram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -280,14 +282,13 @@ TILE_GET_INFO_MEMBER(trvmadns_state::get_bg_tile_info)
tileinfo.category = (attr & 0x20)>>5;
}
-static VIDEO_START( trvmadns )
+void trvmadns_state::video_start()
{
- trvmadns_state *state = machine.driver_data<trvmadns_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(trvmadns_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(trvmadns_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
// fg_tilemap->set_transparent_pen(1);
- machine.gfx[0]->set_source(state->m_gfxram);
+ machine().gfx[0]->set_source(m_gfxram);
}
static SCREEN_UPDATE_IND16( trvmadns )
@@ -337,10 +338,9 @@ static SCREEN_UPDATE_IND16( trvmadns )
return 0;
}
-static MACHINE_RESET( trvmadns )
+void trvmadns_state::machine_reset()
{
- trvmadns_state *state = machine.driver_data<trvmadns_state>();
- state->m_old_data = -1;
+ m_old_data = -1;
}
static MACHINE_CONFIG_START( trvmadns, trvmadns_state )
@@ -349,7 +349,6 @@ static MACHINE_CONFIG_START( trvmadns, trvmadns_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MCFG_MACHINE_RESET(trvmadns)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -362,7 +361,6 @@ static MACHINE_CONFIG_START( trvmadns, trvmadns_state )
MCFG_GFXDECODE(trvmadns)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(trvmadns)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/trvquest.c b/src/mame/drivers/trvquest.c
index f979a829604..9b5cea50246 100644
--- a/src/mame/drivers/trvquest.c
+++ b/src/mame/drivers/trvquest.c
@@ -183,27 +183,25 @@ static const via6522_interface via_2_interface =
};
-static MACHINE_START( trvquest )
+MACHINE_START_MEMBER(gameplan_state,trvquest)
{
- gameplan_state *state = machine.driver_data<gameplan_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
/* register for save states */
- state->save_item(NAME(state->m_video_x));
- state->save_item(NAME(state->m_video_y));
- state->save_item(NAME(state->m_video_command));
- state->save_item(NAME(state->m_video_data));
+ save_item(NAME(m_video_x));
+ save_item(NAME(m_video_y));
+ save_item(NAME(m_video_command));
+ save_item(NAME(m_video_data));
}
-static MACHINE_RESET( trvquest )
+MACHINE_RESET_MEMBER(gameplan_state,trvquest)
{
- gameplan_state *state = machine.driver_data<gameplan_state>();
- state->m_video_x = 0;
- state->m_video_y = 0;
- state->m_video_command = 0;
- state->m_video_data = 0;
+ m_video_x = 0;
+ m_video_y = 0;
+ m_video_command = 0;
+ m_video_data = 0;
}
static INTERRUPT_GEN( trvquest_interrupt )
@@ -220,8 +218,8 @@ static MACHINE_CONFIG_START( trvquest, gameplan_state )
MCFG_CPU_VBLANK_INT("screen", trvquest_interrupt)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_MACHINE_START(trvquest)
- MCFG_MACHINE_RESET(trvquest)
+ MCFG_MACHINE_START_OVERRIDE(gameplan_state,trvquest)
+ MCFG_MACHINE_RESET_OVERRIDE(gameplan_state,trvquest)
/* video hardware */
MCFG_FRAGMENT_ADD(trvquest_video)
diff --git a/src/mame/drivers/tryout.c b/src/mame/drivers/tryout.c
index 0416a881f87..dbeb1546b11 100644
--- a/src/mame/drivers/tryout.c
+++ b/src/mame/drivers/tryout.c
@@ -204,9 +204,7 @@ static MACHINE_CONFIG_START( tryout, tryout_state )
MCFG_GFXDECODE(tryout)
MCFG_PALETTE_LENGTH(0x20)
- MCFG_PALETTE_INIT(tryout)
- MCFG_VIDEO_START(tryout)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tsamurai.c b/src/mame/drivers/tsamurai.c
index 301bc9bbd38..261cd64c8c2 100644
--- a/src/mame/drivers/tsamurai.c
+++ b/src/mame/drivers/tsamurai.c
@@ -702,7 +702,7 @@ static MACHINE_CONFIG_START( tsamurai, tsamurai_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(tsamurai)
+ MCFG_VIDEO_START_OVERRIDE(tsamurai_state,tsamurai)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -741,8 +741,7 @@ static MACHINE_CONFIG_START( vsgongf, tsamurai_state )
MCFG_GFXDECODE(tsamurai)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(vsgongf)
+ MCFG_VIDEO_START_OVERRIDE(tsamurai_state,vsgongf)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -786,7 +785,7 @@ static MACHINE_CONFIG_START( m660, tsamurai_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(tsamurai)
+ MCFG_VIDEO_START_OVERRIDE(tsamurai_state,tsamurai)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ttchamp.c b/src/mame/drivers/ttchamp.c
index 30ee367e5bf..3ce896b7b2f 100644
--- a/src/mame/drivers/ttchamp.c
+++ b/src/mame/drivers/ttchamp.c
@@ -83,15 +83,15 @@ public:
+ virtual void video_start();
};
-static VIDEO_START(ttchamp)
+void ttchamp_state::video_start()
{
- ttchamp_state *state = machine.driver_data<ttchamp_state>();
- state->m_peno_vram = (UINT16*)auto_alloc_array_clear(machine, UINT16, 0x10000/2);
- state->m_peno_mainram = (UINT16*)auto_alloc_array_clear(machine, UINT16, 0x10000/2);
+ m_peno_vram = (UINT16*)auto_alloc_array_clear(machine(), UINT16, 0x10000/2);
+ m_peno_mainram = (UINT16*)auto_alloc_array_clear(machine(), UINT16, 0x10000/2);
@@ -291,7 +291,6 @@ static MACHINE_CONFIG_START( ttchamp, ttchamp_state )
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_VIDEO_START(ttchamp)
MACHINE_CONFIG_END
ROM_START( ttchamp )
diff --git a/src/mame/drivers/tubep.c b/src/mame/drivers/tubep.c
index 3a3e0eae2b5..781bffac627 100644
--- a/src/mame/drivers/tubep.c
+++ b/src/mame/drivers/tubep.c
@@ -335,20 +335,18 @@ static void tubep_setup_save_state(running_machine &machine)
-static MACHINE_START( tubep )
+MACHINE_START_MEMBER(tubep_state,tubep)
{
- tubep_state *state = machine.driver_data<tubep_state>();
/* Create interrupt timer */
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(tubep_scanline_callback));
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(tubep_scanline_callback));
- tubep_setup_save_state(machine);
+ tubep_setup_save_state(machine());
}
-static MACHINE_RESET( tubep )
+MACHINE_RESET_MEMBER(tubep_state,tubep)
{
- tubep_state *state = machine.driver_data<tubep_state>();
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(0));
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(0));
}
@@ -501,19 +499,17 @@ static TIMER_CALLBACK( rjammer_scanline_callback )
}
-static MACHINE_START( rjammer )
+MACHINE_START_MEMBER(tubep_state,rjammer)
{
- tubep_state *state = machine.driver_data<tubep_state>();
/* Create interrupt timer */
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(rjammer_scanline_callback));
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(rjammer_scanline_callback));
- tubep_setup_save_state(machine);
+ tubep_setup_save_state(machine());
}
-static MACHINE_RESET( rjammer )
+MACHINE_RESET_MEMBER(tubep_state,rjammer)
{
- tubep_state *state = machine.driver_data<tubep_state>();
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(0));
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(0));
}
@@ -909,8 +905,8 @@ static MACHINE_CONFIG_START( tubep, tubep_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(tubep)
- MCFG_MACHINE_RESET(tubep)
+ MCFG_MACHINE_START_OVERRIDE(tubep_state,tubep)
+ MCFG_MACHINE_RESET_OVERRIDE(tubep_state,tubep)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -921,9 +917,9 @@ static MACHINE_CONFIG_START( tubep, tubep_state )
MCFG_PALETTE_LENGTH(32 + 256*64)
- MCFG_PALETTE_INIT(tubep)
- MCFG_VIDEO_START(tubep)
- MCFG_VIDEO_RESET(tubep)
+ MCFG_PALETTE_INIT_OVERRIDE(tubep_state,tubep)
+ MCFG_VIDEO_START_OVERRIDE(tubep_state,tubep)
+ MCFG_VIDEO_RESET_OVERRIDE(tubep_state,tubep)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -968,8 +964,8 @@ static MACHINE_CONFIG_START( rjammer, tubep_state )
MCFG_CPU_ADD("mcu",NSC8105,6000000) /* 6 MHz Xtal - divided internally ??? */
MCFG_CPU_PROGRAM_MAP(nsc_map)
- MCFG_MACHINE_START(rjammer)
- MCFG_MACHINE_RESET(rjammer)
+ MCFG_MACHINE_START_OVERRIDE(tubep_state,rjammer)
+ MCFG_MACHINE_RESET_OVERRIDE(tubep_state,rjammer)
/* video hardware */
@@ -981,9 +977,9 @@ static MACHINE_CONFIG_START( rjammer, tubep_state )
MCFG_PALETTE_LENGTH(64)
- MCFG_PALETTE_INIT(rjammer)
- MCFG_VIDEO_START(tubep)
- MCFG_VIDEO_RESET(tubep)
+ MCFG_PALETTE_INIT_OVERRIDE(tubep_state,rjammer)
+ MCFG_VIDEO_START_OVERRIDE(tubep_state,tubep)
+ MCFG_VIDEO_RESET_OVERRIDE(tubep_state,tubep)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tugboat.c b/src/mame/drivers/tugboat.c
index 0e9ec25278e..2a9db2f2e47 100644
--- a/src/mame/drivers/tugboat.c
+++ b/src/mame/drivers/tugboat.c
@@ -47,18 +47,20 @@ public:
DECLARE_READ8_MEMBER(tugboat_input_r);
DECLARE_READ8_MEMBER(tugboat_ctrl_r);
DECLARE_WRITE8_MEMBER(tugboat_ctrl_w);
+ virtual void machine_reset();
+ virtual void palette_init();
};
/* there isn't the usual resistor array anywhere near the color prom,
just four 1k resistors. */
-static PALETTE_INIT( tugboat )
+void tugboat_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int r,g,b,brt;
@@ -69,7 +71,7 @@ static PALETTE_INIT( tugboat )
g = brt * ((color_prom[i] >> 1) & 0x01);
b = brt * ((color_prom[i] >> 2) & 0x01);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -206,9 +208,9 @@ static TIMER_CALLBACK( interrupt_gen )
machine.scheduler().timer_set(machine.primary_screen->frame_period(), FUNC(interrupt_gen));
}
-static MACHINE_RESET( tugboat )
+void tugboat_state::machine_reset()
{
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(30*8+4), FUNC(interrupt_gen));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(30*8+4), FUNC(interrupt_gen));
}
@@ -333,7 +335,6 @@ static MACHINE_CONFIG_START( tugboat, tugboat_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
- MCFG_MACHINE_RESET(tugboat)
MCFG_PIA6821_ADD("pia0", pia0_intf)
MCFG_PIA6821_ADD("pia1", pia1_intf)
@@ -347,7 +348,6 @@ static MACHINE_CONFIG_START( tugboat, tugboat_state )
MCFG_GFXDECODE(tugboat)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(tugboat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index 58f0e6fe1fe..d897cd84894 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -1863,33 +1863,31 @@ GFXDECODE_END
/******************************************************************************/
-static MACHINE_START( tumbleb )
+MACHINE_START_MEMBER(tumbleb_state,tumbleb)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_oki = machine.device("oki");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_oki = machine().device("oki");
- state->save_item(NAME(state->m_music_command));
- state->save_item(NAME(state->m_music_bank));
- state->save_item(NAME(state->m_music_is_playing));
+ save_item(NAME(m_music_command));
+ save_item(NAME(m_music_bank));
+ save_item(NAME(m_music_is_playing));
- state->save_item(NAME(state->m_control_0));
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_tilebank));
+ save_item(NAME(m_control_0));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_tilebank));
}
-static MACHINE_RESET( tumbleb )
+MACHINE_RESET_MEMBER(tumbleb_state,tumbleb)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
-
- state->m_music_command = 0;
- state->m_music_bank = 0;
- state->m_music_is_playing = 0;
- state->m_flipscreen = 0;
- state->m_tilebank = 0;
- memset(state->m_control_0, 0, sizeof(state->m_control_0));
+
+ m_music_command = 0;
+ m_music_bank = 0;
+ m_music_is_playing = 0;
+ m_flipscreen = 0;
+ m_tilebank = 0;
+ memset(m_control_0, 0, sizeof(m_control_0));
}
static MACHINE_CONFIG_START( tumblepb, tumbleb_state )
@@ -1899,8 +1897,8 @@ static MACHINE_CONFIG_START( tumblepb, tumbleb_state )
MCFG_CPU_PROGRAM_MAP(tumblepopb_main_map)
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
- MCFG_MACHINE_START(tumbleb)
- MCFG_MACHINE_RESET(tumbleb)
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1917,7 +1915,7 @@ static MACHINE_CONFIG_START( tumblepb, tumbleb_state )
MCFG_GFXDECODE(tumbleb)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(tumblepb)
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1934,8 +1932,8 @@ static MACHINE_CONFIG_START( tumbleb2, tumbleb_state )
MCFG_CPU_PROGRAM_MAP(tumblepopb_main_map)
MCFG_CPU_VBLANK_INT("screen", tumbleb2_interrupt)
- MCFG_MACHINE_START(tumbleb)
- MCFG_MACHINE_RESET(tumbleb)
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1952,7 +1950,7 @@ static MACHINE_CONFIG_START( tumbleb2, tumbleb_state )
MCFG_GFXDECODE(tumbleb)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(tumblepb)
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1972,8 +1970,8 @@ static MACHINE_CONFIG_START( jumpkids, tumbleb_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000/2)
MCFG_CPU_PROGRAM_MAP(jumpkids_sound_map)
- MCFG_MACHINE_START(tumbleb)
- MCFG_MACHINE_RESET(tumbleb)
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1990,7 +1988,7 @@ static MACHINE_CONFIG_START( jumpkids, tumbleb_state )
MCFG_GFXDECODE(tumbleb)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(tumblepb)
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2006,8 +2004,8 @@ static MACHINE_CONFIG_START( fncywld, tumbleb_state )
MCFG_CPU_PROGRAM_MAP(fncywld_main_map)
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
- MCFG_MACHINE_START(tumbleb)
- MCFG_MACHINE_RESET(tumbleb)
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2025,7 +2023,7 @@ static MACHINE_CONFIG_START( fncywld, tumbleb_state )
MCFG_GFXDECODE(fncywld)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(fncywld)
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,fncywld)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2053,18 +2051,17 @@ static const ym2151_interface semicom_ym2151_interface =
DEVCB_LINE(semicom_irqhandler)
};
-static MACHINE_RESET (htchctch)
+MACHINE_RESET_MEMBER(tumbleb_state,htchctch)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
/* copy protection data every reset */
- UINT16 *PROTDATA = (UINT16*)state->memregion("user1")->base();
- int i, len = state->memregion("user1")->bytes();
+ UINT16 *PROTDATA = (UINT16*)memregion("user1")->base();
+ int i, len = memregion("user1")->bytes();
for (i = 0; i < len / 2; i++)
- state->m_mainram[0x000/2 + i] = PROTDATA[i];
+ m_mainram[0x000/2 + i] = PROTDATA[i];
- MACHINE_RESET_CALL(tumbleb);
+ MACHINE_RESET_CALL_MEMBER(tumbleb);
}
static MACHINE_CONFIG_START( htchctch, tumbleb_state )
@@ -2077,8 +2074,8 @@ static MACHINE_CONFIG_START( htchctch, tumbleb_state )
MCFG_CPU_ADD("audiocpu", Z80, 15000000/4) /* verified on dquizgo */
MCFG_CPU_PROGRAM_MAP(semicom_sound_map)
- MCFG_MACHINE_START(tumbleb)
- MCFG_MACHINE_RESET(htchctch)
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,htchctch)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2095,7 +2092,7 @@ static MACHINE_CONFIG_START( htchctch, tumbleb_state )
MCFG_GFXDECODE(tumbleb)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(tumblepb)
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
/* sound hardware - same as hyperpac */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2143,7 +2140,7 @@ static MACHINE_CONFIG_DERIVED( semibase, bcstory )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sdfight, bcstory )
- MCFG_VIDEO_START(sdfight)
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,sdfight)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(sdfight)
MACHINE_CONFIG_END
@@ -2186,8 +2183,8 @@ static MACHINE_CONFIG_START( suprtrio, tumbleb_state )
MCFG_CPU_ADD("audiocpu", Z80, 8000000)
MCFG_CPU_PROGRAM_MAP(suprtrio_sound_map)
- MCFG_MACHINE_START(tumbleb)
- MCFG_MACHINE_RESET(tumbleb)
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2204,7 +2201,7 @@ static MACHINE_CONFIG_START( suprtrio, tumbleb_state )
MCFG_GFXDECODE(suprtrio)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(suprtrio)
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,suprtrio)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2221,8 +2218,8 @@ static MACHINE_CONFIG_START( pangpang, tumbleb_state )
MCFG_CPU_PROGRAM_MAP(pangpang_main_map)
MCFG_CPU_VBLANK_INT("screen", tumbleb2_interrupt)
- MCFG_MACHINE_START(tumbleb)
- MCFG_MACHINE_RESET(tumbleb)
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2239,7 +2236,7 @@ static MACHINE_CONFIG_START( pangpang, tumbleb_state )
MCFG_GFXDECODE(tumbleb)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(pangpang)
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,pangpang)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c
index 21bbf74369b..6eaa6639d60 100644
--- a/src/mame/drivers/tumblep.c
+++ b/src/mame/drivers/tumblep.c
@@ -294,13 +294,12 @@ static const deco16ic_interface tumblep_deco16ic_tilegen1_intf =
0,1
};
-static MACHINE_START( tumblep )
+void tumblep_state::machine_start()
{
- tumblep_state *state = machine.driver_data<tumblep_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_deco_tilegen1 = machine.device("tilegen1");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_deco_tilegen1 = machine().device("tilegen1");
}
static MACHINE_CONFIG_START( tumblep, tumblep_state )
@@ -313,7 +312,6 @@ static MACHINE_CONFIG_START( tumblep, tumblep_state )
MCFG_CPU_ADD("audiocpu", H6280, 32220000/8) /* Custom chip 45; Audio section crystal is 32.220 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(tumblep)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/tunhunt.c b/src/mame/drivers/tunhunt.c
index c6170f722db..34a54d94a05 100644
--- a/src/mame/drivers/tunhunt.c
+++ b/src/mame/drivers/tunhunt.c
@@ -310,8 +310,6 @@ static MACHINE_CONFIG_START( tunhunt, tunhunt_state )
MCFG_GFXDECODE(tunhunt)
MCFG_PALETTE_LENGTH(0x1a)
- MCFG_PALETTE_INIT(tunhunt)
- MCFG_VIDEO_START(tunhunt)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/turbo.c b/src/mame/drivers/turbo.c
index 2a72ee8cb1c..6198ed9ba49 100644
--- a/src/mame/drivers/turbo.c
+++ b/src/mame/drivers/turbo.c
@@ -186,10 +186,9 @@
*
*************************************/
-static MACHINE_RESET( buckrog )
+MACHINE_RESET_MEMBER(turbo_state,buckrog)
{
- turbo_state *state = machine.driver_data<turbo_state>();
- state->m_buckrog_command = 0x00;
+ m_buckrog_command = 0x00;
}
@@ -949,8 +948,8 @@ static MACHINE_CONFIG_START( turbo, turbo_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(turbo)
- MCFG_PALETTE_INIT(turbo)
- MCFG_VIDEO_START(turbo)
+ MCFG_PALETTE_INIT_OVERRIDE(turbo_state,turbo)
+ MCFG_VIDEO_START_OVERRIDE(turbo_state,turbo)
/* sound hardware */
MCFG_FRAGMENT_ADD(turbo_samples)
@@ -978,8 +977,8 @@ static MACHINE_CONFIG_START( subroc3d, turbo_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(subroc3d)
- MCFG_PALETTE_INIT(subroc3d)
- MCFG_VIDEO_START(turbo)
+ MCFG_PALETTE_INIT_OVERRIDE(turbo_state,subroc3d)
+ MCFG_VIDEO_START_OVERRIDE(turbo_state,turbo)
/* sound hardware */
MCFG_FRAGMENT_ADD(subroc3d_samples)
@@ -998,7 +997,7 @@ static MACHINE_CONFIG_START( buckrog, turbo_state )
MCFG_CPU_IO_MAP(buckrog_cpu2_portmap)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_RESET(buckrog)
+ MCFG_MACHINE_RESET_OVERRIDE(turbo_state,buckrog)
MCFG_I8255_ADD( "i8255_0", buckrog_8255_intf_0 )
MCFG_I8255_ADD( "i8255_1", buckrog_8255_intf_1 )
@@ -1014,8 +1013,8 @@ static MACHINE_CONFIG_START( buckrog, turbo_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(buckrog)
- MCFG_PALETTE_INIT(buckrog)
- MCFG_VIDEO_START(buckrog)
+ MCFG_PALETTE_INIT_OVERRIDE(turbo_state,buckrog)
+ MCFG_VIDEO_START_OVERRIDE(turbo_state,buckrog)
/* sound hardware */
MCFG_FRAGMENT_ADD(buckrog_samples)
diff --git a/src/mame/drivers/tutankhm.c b/src/mame/drivers/tutankhm.c
index 8018db7c77c..c5f25bb5388 100644
--- a/src/mame/drivers/tutankhm.c
+++ b/src/mame/drivers/tutankhm.c
@@ -194,28 +194,26 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( tutankhm )
+MACHINE_START_MEMBER(tutankhm_state,tutankhm)
{
- tutankhm_state *state = machine.driver_data<tutankhm_state>();
- state->membank("bank1")->configure_entries(0, 16, state->memregion("maincpu")->base() + 0x10000, 0x1000);
+ membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x1000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
+ m_maincpu = machine().device<cpu_device>("maincpu");
- state->save_item(NAME(state->m_irq_toggle));
- state->save_item(NAME(state->m_irq_enable));
- state->save_item(NAME(state->m_flip_x));
- state->save_item(NAME(state->m_flip_y));
+ save_item(NAME(m_irq_toggle));
+ save_item(NAME(m_irq_enable));
+ save_item(NAME(m_flip_x));
+ save_item(NAME(m_flip_y));
}
-static MACHINE_RESET( tutankhm )
+MACHINE_RESET_MEMBER(tutankhm_state,tutankhm)
{
- tutankhm_state *state = machine.driver_data<tutankhm_state>();
- state->m_irq_toggle = 0;
- state->m_irq_enable = 0;
- state->m_flip_x = 0;
- state->m_flip_y = 0;
+ m_irq_toggle = 0;
+ m_irq_enable = 0;
+ m_flip_x = 0;
+ m_flip_y = 0;
}
static MACHINE_CONFIG_START( tutankhm, tutankhm_state )
@@ -225,8 +223,8 @@ static MACHINE_CONFIG_START( tutankhm, tutankhm_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", tutankhm_interrupt)
- MCFG_MACHINE_START(tutankhm)
- MCFG_MACHINE_RESET(tutankhm)
+ MCFG_MACHINE_START_OVERRIDE(tutankhm_state,tutankhm)
+ MCFG_MACHINE_RESET_OVERRIDE(tutankhm_state,tutankhm)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c
index 287de91d458..d243bfab69d 100644
--- a/src/mame/drivers/twin16.c
+++ b/src/mame/drivers/twin16.c
@@ -699,24 +699,23 @@ static INTERRUPT_GEN( CPUB_interrupt )
/* Machine Drivers */
-static MACHINE_RESET( twin16 )
+MACHINE_RESET_MEMBER(twin16_state,twin16)
{
;
}
-static MACHINE_START( twin16 )
+MACHINE_START_MEMBER(twin16_state,twin16)
{
- twin16_state *state = machine.driver_data<twin16_state>();
- state->m_CPUA_register=0;
- state->m_CPUB_register=0;
+ m_CPUA_register=0;
+ m_CPUB_register=0;
/* register for savestates */
- state_save_register_global(machine, state->m_CPUA_register);
- state_save_register_global(machine, state->m_CPUB_register);
+ state_save_register_global(machine(), m_CPUA_register);
+ state_save_register_global(machine(), m_CPUB_register);
- state_save_register_global(machine, state->m_sound_command);
- state_save_register_global(machine, state->m_cuebrickj_nvram_bank);
- state_save_register_global_array(machine, state->m_cuebrickj_nvram);
+ state_save_register_global(machine(), m_sound_command);
+ state_save_register_global(machine(), m_cuebrickj_nvram_bank);
+ state_save_register_global_array(machine(), m_cuebrickj_nvram);
}
static MACHINE_CONFIG_START( twin16, twin16_state )
@@ -734,8 +733,8 @@ static MACHINE_CONFIG_START( twin16, twin16_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(twin16)
- MCFG_MACHINE_RESET(twin16)
+ MCFG_MACHINE_START_OVERRIDE(twin16_state,twin16)
+ MCFG_MACHINE_RESET_OVERRIDE(twin16_state,twin16)
// video hardware
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -752,7 +751,7 @@ static MACHINE_CONFIG_START( twin16, twin16_state )
MCFG_GFXDECODE(twin16)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(twin16)
+ MCFG_VIDEO_START_OVERRIDE(twin16_state,twin16)
// sound hardware
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -788,8 +787,8 @@ static MACHINE_CONFIG_START( fround, twin16_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(twin16)
- MCFG_MACHINE_RESET(twin16)
+ MCFG_MACHINE_START_OVERRIDE(twin16_state,twin16)
+ MCFG_MACHINE_RESET_OVERRIDE(twin16_state,twin16)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -806,7 +805,7 @@ static MACHINE_CONFIG_START( fround, twin16_state )
MCFG_GFXDECODE(twin16)
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(twin16)
+ MCFG_VIDEO_START_OVERRIDE(twin16_state,twin16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c
index d72cf3616c2..81e706d87e7 100644
--- a/src/mame/drivers/twincobr.c
+++ b/src/mame/drivers/twincobr.c
@@ -577,7 +577,7 @@ static MACHINE_CONFIG_START( twincobr, twincobr_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_RESET(twincobr)
+ MCFG_MACHINE_RESET_OVERRIDE(twincobr_state,twincobr)
/* video hardware */
MCFG_MC6845_ADD("crtc", HD6845, XTAL_28MHz/8, twincobr_mc6845_intf) /* 3.5MHz measured on CLKin */
@@ -593,7 +593,7 @@ static MACHINE_CONFIG_START( twincobr, twincobr_state )
MCFG_GFXDECODE(twincobr)
MCFG_PALETTE_LENGTH(1792)
- MCFG_VIDEO_START(toaplan0)
+ MCFG_VIDEO_START_OVERRIDE(twincobr_state,toaplan0)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/twinkle.c b/src/mame/drivers/twinkle.c
index 44418e9ba9d..48173504381 100644
--- a/src/mame/drivers/twinkle.c
+++ b/src/mame/drivers/twinkle.c
@@ -272,6 +272,7 @@ public:
DECLARE_READ16_MEMBER(twinkle_ide_r);
DECLARE_WRITE16_MEMBER(twinkle_ide_w);
DECLARE_DRIVER_INIT(twinkle);
+ DECLARE_MACHINE_RESET(twinkle);
};
/* RTC */
@@ -870,13 +871,13 @@ DRIVER_INIT_MEMBER(twinkle_state,twinkle)
i2cmem_wc_write( i2cmem, 0 );
}
-static MACHINE_RESET( twinkle )
+MACHINE_RESET_MEMBER(twinkle_state,twinkle)
{
/* also hook up CDDA audio to the CD-ROM drive */
void *cdrom;
- scsidev_device *scsidev = machine.device<scsidev_device>("scsi:cdrom");
+ scsidev_device *scsidev = machine().device<scsidev_device>("scsi:cdrom");
scsidev->GetDevice( &cdrom );
- cdda_set_cdrom(machine.device("cdda"), cdrom);
+ cdda_set_cdrom(machine().device("cdda"), cdrom);
}
static void spu_irq(device_t *device, UINT32 data)
@@ -917,7 +918,7 @@ static MACHINE_CONFIG_START( twinkle, twinkle_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(1200)) /* check TD pin on LTC1232 */
- MCFG_MACHINE_RESET( twinkle )
+ MCFG_MACHINE_RESET_OVERRIDE(twinkle_state, twinkle )
MCFG_I2CMEM_ADD("security",i2cmem_interface)
MCFG_SCSIBUS_ADD("scsi")
diff --git a/src/mame/drivers/twins.c b/src/mame/drivers/twins.c
index a15f99e3c43..ce79d1fd7b5 100644
--- a/src/mame/drivers/twins.c
+++ b/src/mame/drivers/twins.c
@@ -69,6 +69,8 @@ public:
DECLARE_WRITE16_MEMBER(porte_paloff0_w);
DECLARE_WRITE16_MEMBER(twinsa_port4_w);
DECLARE_READ16_MEMBER(twinsa_unk_r);
+ DECLARE_VIDEO_START(twins);
+ DECLARE_VIDEO_START(twinsa);
};
@@ -109,10 +111,9 @@ static ADDRESS_MAP_START( twins_io, AS_IO, 16, twins_state )
AM_RANGE(0x000e, 0x000f) AM_WRITE(porte_paloff0_w)
ADDRESS_MAP_END
-static VIDEO_START(twins)
+VIDEO_START_MEMBER(twins_state,twins)
{
- twins_state *state = machine.driver_data<twins_state>();
- state->m_pal = auto_alloc_array(machine, UINT16, 0x100);
+ m_pal = auto_alloc_array(machine(), UINT16, 0x100);
}
static SCREEN_UPDATE_IND16(twins)
@@ -203,7 +204,7 @@ static MACHINE_CONFIG_START( twins, twins_state )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_VIDEO_START(twins)
+ MCFG_VIDEO_START_OVERRIDE(twins_state,twins)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -216,10 +217,9 @@ MACHINE_CONFIG_END
/* The second set has different palette hardware and a different port map */
-static VIDEO_START(twinsa)
+VIDEO_START_MEMBER(twins_state,twinsa)
{
- twins_state *state = machine.driver_data<twins_state>();
- state->m_pal = auto_alloc_array(machine, UINT16, 0x1000);
+ m_pal = auto_alloc_array(machine(), UINT16, 0x1000);
}
static SCREEN_UPDATE_IND16(twinsa)
@@ -293,7 +293,7 @@ static MACHINE_CONFIG_START( twinsa, twins_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(twinsa)
+ MCFG_VIDEO_START_OVERRIDE(twins_state,twinsa)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tx1.c b/src/mame/drivers/tx1.c
index b954b9be81a..51d716e762e 100644
--- a/src/mame/drivers/tx1.c
+++ b/src/mame/drivers/tx1.c
@@ -703,13 +703,13 @@ static MACHINE_CONFIG_START( tx1, tx1_state )
MCFG_CPU_IO_MAP(tx1_sound_io)
MCFG_CPU_PERIODIC_INT(irq0_line_hold, TX1_PIXEL_CLOCK / 4 / 2048 / 2)
- MCFG_MACHINE_RESET(tx1)
+ MCFG_MACHINE_RESET_OVERRIDE(tx1_state,tx1)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_I8255A_ADD("ppi8255", tx1_ppi8255_intf)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(tx1)
+ MCFG_PALETTE_INIT_OVERRIDE(tx1_state,tx1)
MCFG_DEFAULT_LAYOUT(layout_triphsxs)
@@ -726,7 +726,7 @@ static MACHINE_CONFIG_START( tx1, tx1_state )
MCFG_SCREEN_UPDATE_STATIC(tx1_right)
MCFG_SCREEN_VBLANK_STATIC(tx1)
- MCFG_VIDEO_START(tx1)
+ MCFG_VIDEO_START_OVERRIDE(tx1_state,tx1)
MCFG_SPEAKER_STANDARD_STEREO("frontleft", "frontright")
// MCFG_SPEAKER_STANDARD_STEREO("rearleft", "rearright") /* Atari TX-1 TM262 manual shows 4 speakers (TX-1 Audio PCB Assembly A042016-01 A) */
@@ -756,7 +756,7 @@ static MACHINE_CONFIG_START( buggyboy, tx1_state )
MCFG_CPU_PERIODIC_INT(z80_irq, BUGGYBOY_ZCLK / 2 / 4 / 2048)
MCFG_CPU_IO_MAP(buggyboy_sound_io)
- MCFG_MACHINE_RESET(buggyboy)
+ MCFG_MACHINE_RESET_OVERRIDE(tx1_state,buggyboy)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_I8255A_ADD("ppi8255", buggyboy_ppi8255_intf)
@@ -777,8 +777,8 @@ static MACHINE_CONFIG_START( buggyboy, tx1_state )
MCFG_SCREEN_VBLANK_STATIC(buggyboy)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(buggyboy)
- MCFG_VIDEO_START(buggyboy)
+ MCFG_PALETTE_INIT_OVERRIDE(tx1_state,buggyboy)
+ MCFG_VIDEO_START_OVERRIDE(tx1_state,buggyboy)
MCFG_SPEAKER_STANDARD_STEREO("frontleft", "frontright")
// MCFG_SPEAKER_STANDARD_STEREO("rearleft", "rearright")
@@ -810,7 +810,7 @@ static MACHINE_CONFIG_START( buggybjr, tx1_state )
MCFG_CPU_IO_MAP(buggyboy_sound_io)
MCFG_CPU_PERIODIC_INT(z80_irq, BUGGYBOY_ZCLK / 2 / 4 / 2048)
- MCFG_MACHINE_RESET(buggyboy)
+ MCFG_MACHINE_RESET_OVERRIDE(tx1_state,buggyboy)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -819,8 +819,8 @@ static MACHINE_CONFIG_START( buggybjr, tx1_state )
MCFG_SCREEN_VBLANK_STATIC(buggyboy)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(buggyboy)
- MCFG_VIDEO_START(buggybjr)
+ MCFG_PALETTE_INIT_OVERRIDE(tx1_state,buggyboy)
+ MCFG_VIDEO_START_OVERRIDE(tx1_state,buggybjr)
MCFG_SPEAKER_STANDARD_STEREO("frontleft", "frontright")
// MCFG_SPEAKER_STANDARD_STEREO("rearleft", "rearright")
diff --git a/src/mame/drivers/uapce.c b/src/mame/drivers/uapce.c
index 847d4f2fba7..d6f045d7057 100644
--- a/src/mame/drivers/uapce.c
+++ b/src/mame/drivers/uapce.c
@@ -110,6 +110,7 @@ public:
DECLARE_READ8_MEMBER(jamma_if_control_latch_r);
DECLARE_READ8_MEMBER(jamma_if_read_dsw);
DECLARE_DRIVER_INIT(uapce);
+ virtual void machine_reset();
};
#define UAPCE_SOUND_EN NODE_10
@@ -225,11 +226,10 @@ static UINT8 jamma_if_read_joystick( running_machine &machine )
}
}
-static MACHINE_RESET( uapce )
+void uapce_state::machine_reset()
{
- uapce_state *state = machine.driver_data<uapce_state>();
pce_set_joystick_readinputport_callback( jamma_if_read_joystick );
- state->m_jamma_if_control_latch = 0;
+ m_jamma_if_control_latch = 0;
}
static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, uapce_state )
@@ -315,7 +315,6 @@ static MACHINE_CONFIG_START( uapce, uapce_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( uapce )
/* video hardware */
diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c
index e05e77097cf..4c2ff67faa6 100644
--- a/src/mame/drivers/ultraman.c
+++ b/src/mame/drivers/ultraman.c
@@ -190,29 +190,27 @@ static const k051316_interface ultraman_k051316_intf_2 =
ultraman_zoom_callback_2
};
-static MACHINE_START( ultraman )
+void ultraman_state::machine_start()
{
- ultraman_state *state = machine.driver_data<ultraman_state>();
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k051960 = machine.device("k051960");
- state->m_k051316_1 = machine.device("k051316_1");
- state->m_k051316_2 = machine.device("k051316_2");
- state->m_k051316_3 = machine.device("k051316_3");
-
- state->save_item(NAME(state->m_bank0));
- state->save_item(NAME(state->m_bank1));
- state->save_item(NAME(state->m_bank2));
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k051960 = machine().device("k051960");
+ m_k051316_1 = machine().device("k051316_1");
+ m_k051316_2 = machine().device("k051316_2");
+ m_k051316_3 = machine().device("k051316_3");
+
+ save_item(NAME(m_bank0));
+ save_item(NAME(m_bank1));
+ save_item(NAME(m_bank2));
}
-static MACHINE_RESET( ultraman )
+void ultraman_state::machine_reset()
{
- ultraman_state *state = machine.driver_data<ultraman_state>();
- state->m_bank0 = -1;
- state->m_bank1 = -1;
- state->m_bank2 = -1;
+ m_bank0 = -1;
+ m_bank1 = -1;
+ m_bank2 = -1;
}
static MACHINE_CONFIG_START( ultraman, ultraman_state )
@@ -228,8 +226,6 @@ static MACHINE_CONFIG_START( ultraman, ultraman_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- MCFG_MACHINE_START(ultraman)
- MCFG_MACHINE_RESET(ultraman)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -243,7 +239,6 @@ static MACHINE_CONFIG_START( ultraman, ultraman_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(ultraman)
MCFG_K051960_ADD("k051960", ultraman_k051960_intf)
MCFG_K051316_ADD("k051316_1", ultraman_k051316_intf_0)
diff --git a/src/mame/drivers/ultratnk.c b/src/mame/drivers/ultratnk.c
index 7b27bc8aea1..f24a4eb093a 100644
--- a/src/mame/drivers/ultratnk.c
+++ b/src/mame/drivers/ultratnk.c
@@ -59,9 +59,9 @@ static TIMER_CALLBACK( nmi_callback )
}
-static MACHINE_RESET( ultratnk )
+void ultratnk_state::machine_reset()
{
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(32), FUNC(nmi_callback), 32);
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(32), FUNC(nmi_callback), 32);
}
@@ -297,7 +297,6 @@ static MACHINE_CONFIG_START( ultratnk, ultratnk_state )
MCFG_CPU_PROGRAM_MAP(ultratnk_cpu_map)
MCFG_WATCHDOG_VBLANK_INIT(8)
- MCFG_MACHINE_RESET(ultratnk)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -308,8 +307,6 @@ static MACHINE_CONFIG_START( ultratnk, ultratnk_state )
MCFG_GFXDECODE(ultratnk)
MCFG_PALETTE_LENGTH(10)
- MCFG_PALETTE_INIT(ultratnk)
- MCFG_VIDEO_START(ultratnk)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ultrsprt.c b/src/mame/drivers/ultrsprt.c
index 47d462459e8..d528afd3ab3 100644
--- a/src/mame/drivers/ultrsprt.c
+++ b/src/mame/drivers/ultrsprt.c
@@ -34,6 +34,7 @@ public:
DECLARE_READ16_MEMBER(K056800_68k_r);
DECLARE_WRITE16_MEMBER(K056800_68k_w);
DECLARE_CUSTOM_INPUT_MEMBER(analog_ctrl_r);
+ virtual void machine_start();
};
@@ -100,15 +101,14 @@ WRITE32_MEMBER(ultrsprt_state::int_ack_w)
machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
}
-static MACHINE_START( ultrsprt )
+void ultrsprt_state::machine_start()
{
- ultrsprt_state *state = machine.driver_data<ultrsprt_state>();
/* set conservative DRC options */
- ppcdrc_set_options(machine.device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
+ ppcdrc_set_options(machine().device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
/* configure fast RAM regions for DRC */
- ppcdrc_add_fastram(machine.device("maincpu"), 0x80000000, 0x8007ffff, FALSE, state->m_vram);
- ppcdrc_add_fastram(machine.device("maincpu"), 0xff000000, 0xff01ffff, FALSE, state->m_workram);
+ ppcdrc_add_fastram(machine().device("maincpu"), 0x80000000, 0x8007ffff, FALSE, m_vram);
+ ppcdrc_add_fastram(machine().device("maincpu"), 0xff000000, 0xff01ffff, FALSE, m_workram);
}
@@ -236,7 +236,6 @@ static MACHINE_CONFIG_START( ultrsprt, ultrsprt_state )
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
MCFG_EEPROM_93C46_ADD("eeprom")
- MCFG_MACHINE_START(ultrsprt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/umipoker.c b/src/mame/drivers/umipoker.c
index b3e6bbea4fd..e930307823f 100644
--- a/src/mame/drivers/umipoker.c
+++ b/src/mame/drivers/umipoker.c
@@ -64,6 +64,9 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_1);
TILE_GET_INFO_MEMBER(get_tile_info_2);
TILE_GET_INFO_MEMBER(get_tile_info_3);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_0)
@@ -114,19 +117,18 @@ TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_3)
0);
}
-static VIDEO_START( umipoker )
+void umipoker_state::video_start()
{
- umipoker_state *state = machine.driver_data<umipoker_state>();
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_0),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_1),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_2),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_3),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_0),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_1),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_tilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_2),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_tilemap_3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_3),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_tilemap_0->set_transparent_pen(0);
- state->m_tilemap_1->set_transparent_pen(0);
- state->m_tilemap_2->set_transparent_pen(0);
- state->m_tilemap_3->set_transparent_pen(0);
+ m_tilemap_0->set_transparent_pen(0);
+ m_tilemap_1->set_transparent_pen(0);
+ m_tilemap_2->set_transparent_pen(0);
+ m_tilemap_3->set_transparent_pen(0);
}
@@ -645,15 +647,13 @@ static GFXDECODE_START( umipoker )
GFXDECODE_ENTRY( "gfx1", 0, layout_8x8x4, 0, 0x40)
GFXDECODE_END
-static MACHINE_START( umipoker )
+void umipoker_state::machine_start()
{
- //umipoker_state *state = machine.driver_data<_umipoker_state>();
}
-static MACHINE_RESET( umipoker )
+void umipoker_state::machine_reset()
{
- //umipoker_state *state = machine.driver_data<_umipoker_state>();
}
// TODO: clocks
@@ -671,8 +671,6 @@ static MACHINE_CONFIG_START( umipoker, umipoker_state )
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_MACHINE_START(umipoker)
- MCFG_MACHINE_RESET(umipoker)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -686,7 +684,6 @@ static MACHINE_CONFIG_START( umipoker, umipoker_state )
MCFG_PALETTE_LENGTH(0x400)
- MCFG_VIDEO_START(umipoker)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index 98ee3646938..a72200d2d20 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -744,7 +744,6 @@ static MACHINE_CONFIG_START( undrfire, undrfire_state )
MCFG_GFXDECODE(undrfire)
MCFG_PALETTE_LENGTH(16384)
- MCFG_VIDEO_START(undrfire)
MCFG_TC0100SCN_ADD("tc0100scn", undrfire_tc0100scn_intf)
MCFG_TC0480SCP_ADD("tc0480scp", undrfire_tc0480scp_intf)
@@ -780,7 +779,6 @@ static MACHINE_CONFIG_START( cbombers, undrfire_state )
MCFG_GFXDECODE(cbombers)
MCFG_PALETTE_LENGTH(16384)
- MCFG_VIDEO_START(undrfire)
MCFG_TC0100SCN_ADD("tc0100scn", undrfire_tc0100scn_intf)
MCFG_TC0480SCP_ADD("tc0480scp", undrfire_tc0480scp_intf)
diff --git a/src/mame/drivers/unico.c b/src/mame/drivers/unico.c
index 60fb3ea6576..96f65fe0939 100644
--- a/src/mame/drivers/unico.c
+++ b/src/mame/drivers/unico.c
@@ -565,7 +565,7 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_RESET( unico )
+MACHINE_RESET_MEMBER(unico_state,unico)
{
}
@@ -595,7 +595,7 @@ static MACHINE_CONFIG_START( burglarx, unico_state )
MCFG_CPU_PROGRAM_MAP(burglarx_map)
MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
- MCFG_MACHINE_RESET(unico)
+ MCFG_MACHINE_RESET_OVERRIDE(unico_state,unico)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -608,7 +608,7 @@ static MACHINE_CONFIG_START( burglarx, unico_state )
MCFG_GFXDECODE(unico)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(unico)
+ MCFG_VIDEO_START_OVERRIDE(unico_state,unico)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -628,9 +628,9 @@ MACHINE_CONFIG_END
Zero Point
***************************************************************************/
-static MACHINE_RESET( zeropt )
+MACHINE_RESET_MEMBER(unico_state,zeropt)
{
- MACHINE_RESET_CALL(unico);
+ MACHINE_RESET_CALL_MEMBER(unico);
}
static MACHINE_CONFIG_START( zeropnt, unico_state )
@@ -640,7 +640,7 @@ static MACHINE_CONFIG_START( zeropnt, unico_state )
MCFG_CPU_PROGRAM_MAP(zeropnt_map)
MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
- MCFG_MACHINE_RESET(zeropt)
+ MCFG_MACHINE_RESET_OVERRIDE(unico_state,zeropt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -653,7 +653,7 @@ static MACHINE_CONFIG_START( zeropnt, unico_state )
MCFG_GFXDECODE(unico)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(unico)
+ MCFG_VIDEO_START_OVERRIDE(unico_state,unico)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -680,7 +680,7 @@ static MACHINE_CONFIG_START( zeropnt2, unico_state )
MCFG_CPU_PROGRAM_MAP(zeropnt2_map)
MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
- MCFG_MACHINE_RESET(zeropt)
+ MCFG_MACHINE_RESET_OVERRIDE(unico_state,zeropt)
MCFG_EEPROM_ADD("eeprom", zeropnt2_eeprom_interface)
@@ -695,7 +695,7 @@ static MACHINE_CONFIG_START( zeropnt2, unico_state )
MCFG_GFXDECODE(unico)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(zeropnt2)
+ MCFG_VIDEO_START_OVERRIDE(unico_state,zeropnt2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/unkhorse.c b/src/mame/drivers/unkhorse.c
index 56a3374bbb3..30369e322c9 100644
--- a/src/mame/drivers/unkhorse.c
+++ b/src/mame/drivers/unkhorse.c
@@ -38,6 +38,7 @@ public:
DECLARE_READ8_MEMBER(horse_input_r);
DECLARE_WRITE8_MEMBER(horse_output_w);
DECLARE_WRITE_LINE_MEMBER(horse_timer_out);
+ virtual void palette_init();
};
@@ -47,11 +48,11 @@ public:
***************************************************************************/
-PALETTE_INIT( horse )
+void horse_state::palette_init()
{
// palette is simply 3bpp
for (int i = 0; i < 8; i++)
- palette_set_color_rgb(machine, i, pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i >> 0));
+ palette_set_color_rgb(machine(), i, pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i >> 0));
}
static SCREEN_UPDATE_IND16( horse )
@@ -215,7 +216,6 @@ static MACHINE_CONFIG_START( horse, horse_state )
MCFG_SCREEN_UPDATE_STATIC(horse)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(horse)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/upscope.c b/src/mame/drivers/upscope.c
index d0b467128e8..dc4f97c04ca 100644
--- a/src/mame/drivers/upscope.c
+++ b/src/mame/drivers/upscope.c
@@ -313,7 +313,7 @@ static MACHINE_CONFIG_START( upscope, upscope_state )
MCFG_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_RESET(amiga)
+ MCFG_MACHINE_RESET_OVERRIDE(upscope_state,amiga)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -327,9 +327,9 @@ static MACHINE_CONFIG_START( upscope, upscope_state )
MCFG_SCREEN_UPDATE_STATIC(amiga)
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT(amiga)
+ MCFG_PALETTE_INIT_OVERRIDE(upscope_state,amiga)
- MCFG_VIDEO_START(amiga)
+ MCFG_VIDEO_START_OVERRIDE(upscope_state,amiga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index d460ea35ecb..ee29336a8b3 100644
--- a/src/mame/drivers/usgames.c
+++ b/src/mame/drivers/usgames.c
@@ -249,8 +249,6 @@ static MACHINE_CONFIG_START( usg32, usgames_state )
MCFG_GFXDECODE(usgames)
MCFG_PALETTE_LENGTH(2*256)
- MCFG_PALETTE_INIT(usgames)
- MCFG_VIDEO_START(usgames)
MCFG_MC6845_ADD("crtc", MC6845, XTAL_18MHz / 16, mc6845_intf)
diff --git a/src/mame/drivers/vaportra.c b/src/mame/drivers/vaportra.c
index cdffee85f19..f0088ad350c 100644
--- a/src/mame/drivers/vaportra.c
+++ b/src/mame/drivers/vaportra.c
@@ -241,24 +241,22 @@ static const deco16ic_interface vaportra_deco16ic_tilegen2_intf =
2,3
};
-static MACHINE_START( vaportra )
+void vaportra_state::machine_start()
{
- vaportra_state *state = machine.driver_data<vaportra_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_deco_tilegen1 = machine.device("tilegen1");
- state->m_deco_tilegen2 = machine.device("tilegen2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_deco_tilegen1 = machine().device("tilegen1");
+ m_deco_tilegen2 = machine().device("tilegen2");
- state->save_item(NAME(state->m_priority));
+ save_item(NAME(m_priority));
}
-static MACHINE_RESET( vaportra )
+void vaportra_state::machine_reset()
{
- vaportra_state *state = machine.driver_data<vaportra_state>();
- state->m_priority[0] = 0;
- state->m_priority[1] = 0;
+ m_priority[0] = 0;
+ m_priority[1] = 0;
}
static MACHINE_CONFIG_START( vaportra, vaportra_state )
@@ -271,8 +269,6 @@ static MACHINE_CONFIG_START( vaportra, vaportra_state )
MCFG_CPU_ADD("audiocpu", H6280, 32220000/4) /* Custom chip 45; Audio section crystal is 32.220 MHz */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(vaportra)
- MCFG_MACHINE_RESET(vaportra)
/* video hardware */
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c
index 978aff6af96..83502ae2261 100644
--- a/src/mame/drivers/vastar.c
+++ b/src/mame/drivers/vastar.c
@@ -66,10 +66,10 @@ write:
#include "sound/ay8910.h"
#include "includes/vastar.h"
-static MACHINE_RESET( vastar )
+void vastar_state::machine_reset()
{
/* we must start with the second CPU halted */
- machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
WRITE8_MEMBER(vastar_state::vastar_hold_cpu2_w)
@@ -312,7 +312,6 @@ static MACHINE_CONFIG_START( vastar, vastar_state )
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - seems enough to ensure proper */
/* synchronization of the CPUs */
- MCFG_MACHINE_RESET(vastar)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -326,7 +325,6 @@ static MACHINE_CONFIG_START( vastar, vastar_state )
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT(RRRR_GGGG_BBBB)
- MCFG_VIDEO_START(vastar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c
index fdcbc2bf76b..e5ed264faf7 100644
--- a/src/mame/drivers/vball.c
+++ b/src/mame/drivers/vball.c
@@ -424,7 +424,6 @@ static MACHINE_CONFIG_START( vball, vball_state )
MCFG_GFXDECODE(vb)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(vb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/vcombat.c b/src/mame/drivers/vcombat.c
index c74891ebf62..5aac4f32f14 100644
--- a/src/mame/drivers/vcombat.c
+++ b/src/mame/drivers/vcombat.c
@@ -122,6 +122,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(sound_update);
DECLARE_DRIVER_INIT(shadfgtr);
DECLARE_DRIVER_INIT(vcombat);
+ DECLARE_MACHINE_RESET(vcombat);
+ DECLARE_MACHINE_RESET(shadfgtr);
};
static UINT32 update_screen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int index)
@@ -402,21 +404,19 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16, vcombat_state )
ADDRESS_MAP_END
-static MACHINE_RESET( vcombat )
+MACHINE_RESET_MEMBER(vcombat_state,vcombat)
{
- vcombat_state *state = machine.driver_data<vcombat_state>();
- i860_set_pin(machine.device("vid_0"), DEC_PIN_BUS_HOLD, 1);
- i860_set_pin(machine.device("vid_1"), DEC_PIN_BUS_HOLD, 1);
+ i860_set_pin(machine().device("vid_0"), DEC_PIN_BUS_HOLD, 1);
+ i860_set_pin(machine().device("vid_1"), DEC_PIN_BUS_HOLD, 1);
- state->m_crtc_select = 0;
+ m_crtc_select = 0;
}
-static MACHINE_RESET( shadfgtr )
+MACHINE_RESET_MEMBER(vcombat_state,shadfgtr)
{
- vcombat_state *state = machine.driver_data<vcombat_state>();
- i860_set_pin(machine.device("vid_0"), DEC_PIN_BUS_HOLD, 1);
+ i860_set_pin(machine().device("vid_0"), DEC_PIN_BUS_HOLD, 1);
- state->m_crtc_select = 0;
+ m_crtc_select = 0;
}
@@ -596,7 +596,7 @@ static MACHINE_CONFIG_START( vcombat, vcombat_state )
MCFG_CPU_PERIODIC_INT(irq1_line_hold, 15000) /* Remove this if MC6845 is enabled */
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_RESET(vcombat)
+ MCFG_MACHINE_RESET_OVERRIDE(vcombat_state,vcombat)
/* Temporary hack for experimenting with timing. */
#if 0
@@ -639,7 +639,7 @@ static MACHINE_CONFIG_START( shadfgtr, vcombat_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_RESET(shadfgtr)
+ MCFG_MACHINE_RESET_OVERRIDE(vcombat_state,shadfgtr)
MCFG_TLC34076_ADD("tlc34076", tlc34076_6_bit_intf)
diff --git a/src/mame/drivers/vectrex.c b/src/mame/drivers/vectrex.c
index 358da780f59..977e1f6b7c4 100644
--- a/src/mame/drivers/vectrex.c
+++ b/src/mame/drivers/vectrex.c
@@ -108,7 +108,6 @@ static MACHINE_CONFIG_START( vectrex, vectrex_state )
MCFG_SCREEN_VISIBLE_AREA(0, 399, 0, 299)
MCFG_SCREEN_UPDATE_STATIC(vectrex)
- MCFG_VIDEO_START(vectrex)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -206,7 +205,7 @@ static MACHINE_CONFIG_DERIVED( raaspec, vectrex )
MCFG_CPU_PROGRAM_MAP(raaspec_map)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_VIDEO_START(raaspec)
+ MCFG_VIDEO_START_OVERRIDE(vectrex_state,raaspec)
/* via */
MCFG_DEVICE_REMOVE("via6522_0")
diff --git a/src/mame/drivers/vega.c b/src/mame/drivers/vega.c
index fc6f8997f5a..09da3fd90ff 100644
--- a/src/mame/drivers/vega.c
+++ b/src/mame/drivers/vega.c
@@ -145,6 +145,9 @@ public:
DECLARE_DRIVER_INIT(vega);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
WRITE8_MEMBER(vega_state::extern_w)
@@ -474,13 +477,13 @@ INPUT_PORTS_END
-static PALETTE_INIT( vega )
+void vega_state::palette_init()
{
int i;
for(i=0;i<8;++i)
{
- palette_set_color( machine,2*i, MAKE_RGB(0x00, 0x00, 0x00) );
- palette_set_color( machine,2*i+1, MAKE_RGB( (i&1)?0xff:0x00, (i&2)?0xff:0x00, (i&4)?0xff:0x00) );
+ palette_set_color( machine(),2*i, MAKE_RGB(0x00, 0x00, 0x00) );
+ palette_set_color( machine(),2*i+1, MAKE_RGB( (i&1)?0xff:0x00, (i&2)?0xff:0x00, (i&4)?0xff:0x00) );
}
}
@@ -709,10 +712,9 @@ static GFXDECODE_START( test_decode )
GFXDECODE_ENTRY( "gfx2", 0, tile_layoutzoom, 16, 1 )
GFXDECODE_END
-static MACHINE_RESET(vega)
+void vega_state::machine_reset()
{
- vega_state *state = machine.driver_data<vega_state>();
- state->membank("bank1")->set_entry(1);
+ membank("bank1")->set_entry(1);
}
WRITE8_MEMBER(vega_state::txtram_w)
@@ -828,7 +830,7 @@ static const ay8910_interface ay8910_inf =
DEVCB_DRIVER_MEMBER(vega_state, ay8910_pb_w)
};
-static MACHINE_START( vega )
+void vega_state::machine_start()
{
}
@@ -843,8 +845,6 @@ static MACHINE_CONFIG_START( vega, vega_state )
MCFG_CPU_VBLANK_INT("screen",irq0_line_hold)
- MCFG_MACHINE_START(vega)
- MCFG_MACHINE_RESET(vega)
MCFG_I8255A_ADD( "ppi8255", ppi8255_intf )
MCFG_INS8154_ADD( "ins8154", ins8154_intf)
@@ -860,7 +860,6 @@ static MACHINE_CONFIG_START( vega, vega_state )
MCFG_GFXDECODE(test_decode)
- MCFG_PALETTE_INIT(vega)
MCFG_SCREEN_UPDATE_STATIC(vega)
/* sound hardware */
diff --git a/src/mame/drivers/vegaeo.c b/src/mame/drivers/vegaeo.c
index 92236f15792..b474642df7a 100644
--- a/src/mame/drivers/vegaeo.c
+++ b/src/mame/drivers/vegaeo.c
@@ -40,6 +40,7 @@ public:
DECLARE_WRITE8_MEMBER(qs1000_p2_w);
DECLARE_WRITE8_MEMBER(qs1000_p3_w);
DECLARE_DRIVER_INIT(vegaeo);
+ DECLARE_VIDEO_START(vega);
};
READ8_MEMBER( vegaeo_state::qs1000_p1_r )
@@ -188,10 +189,9 @@ static INPUT_PORTS_START( crazywar )
INPUT_PORTS_END
-static VIDEO_START( vega )
+VIDEO_START_MEMBER(vegaeo_state,vega)
{
- vegaeo_state *state = machine.driver_data<vegaeo_state>();
- state->m_vega_vram = auto_alloc_array(machine, UINT32, 0x14000*2/4);
+ m_vega_vram = auto_alloc_array(machine(), UINT32, 0x14000*2/4);
}
static SCREEN_UPDATE_IND16( vega )
@@ -265,7 +265,7 @@ static MACHINE_CONFIG_START( vega, vegaeo_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(vega)
+ MCFG_VIDEO_START_OVERRIDE(vegaeo_state,vega)
/* sound hardware */
/* sound hardware */
diff --git a/src/mame/drivers/vegas.c b/src/mame/drivers/vegas.c
index 09cc82b211f..1fd6a6e8449 100644
--- a/src/mame/drivers/vegas.c
+++ b/src/mame/drivers/vegas.c
@@ -499,6 +499,8 @@ public:
DECLARE_DRIVER_INIT(nbanfl);
DECLARE_DRIVER_INIT(sf2049);
DECLARE_DRIVER_INIT(sf2049se);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -534,69 +536,67 @@ static SCREEN_UPDATE_RGB32( vegas )
*
*************************************/
-static MACHINE_START( vegas )
+void vegas_state::machine_start()
{
- vegas_state *state = machine.driver_data<vegas_state>();
- state->m_voodoo = machine.device("voodoo");
+ m_voodoo = machine().device("voodoo");
/* allocate timers for the NILE */
- state->m_timer[0] = machine.scheduler().timer_alloc(FUNC_NULL);
- state->m_timer[1] = machine.scheduler().timer_alloc(FUNC_NULL);
- state->m_timer[2] = machine.scheduler().timer_alloc(FUNC(nile_timer_callback));
- state->m_timer[3] = machine.scheduler().timer_alloc(FUNC(nile_timer_callback));
+ m_timer[0] = machine().scheduler().timer_alloc(FUNC_NULL);
+ m_timer[1] = machine().scheduler().timer_alloc(FUNC_NULL);
+ m_timer[2] = machine().scheduler().timer_alloc(FUNC(nile_timer_callback));
+ m_timer[3] = machine().scheduler().timer_alloc(FUNC(nile_timer_callback));
/* identify our sound board */
- if (machine.device("dsio") != NULL)
- state->m_dcs_idma_cs = 6;
- else if (machine.device("denver") != NULL)
- state->m_dcs_idma_cs = 7;
+ if (machine().device("dsio") != NULL)
+ m_dcs_idma_cs = 6;
+ else if (machine().device("denver") != NULL)
+ m_dcs_idma_cs = 7;
else
- state->m_dcs_idma_cs = 0;
+ m_dcs_idma_cs = 0;
/* set the fastest DRC options, but strict verification */
- mips3drc_set_options(machine.device("maincpu"), MIPS3DRC_FASTEST_OPTIONS + MIPS3DRC_STRICT_VERIFY + MIPS3DRC_FLUSH_PC);
+ mips3drc_set_options(machine().device("maincpu"), MIPS3DRC_FASTEST_OPTIONS + MIPS3DRC_STRICT_VERIFY + MIPS3DRC_FLUSH_PC);
/* configure fast RAM regions for DRC */
- mips3drc_add_fastram(machine.device("maincpu"), 0x00000000, state->m_rambase.bytes() - 1, FALSE, state->m_rambase);
- mips3drc_add_fastram(machine.device("maincpu"), 0x1fc00000, 0x1fc7ffff, TRUE, state->m_rombase);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x00000000, m_rambase.bytes() - 1, FALSE, m_rambase);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x1fc00000, 0x1fc7ffff, TRUE, m_rombase);
/* register for save states */
- state_save_register_global(machine, state->m_nile_irq_state);
- state_save_register_global(machine, state->m_ide_irq_state);
- state_save_register_global_array(machine, state->m_pci_bridge_regs);
- state_save_register_global_array(machine, state->m_pci_ide_regs);
- state_save_register_global_array(machine, state->m_pci_3dfx_regs);
- state_save_register_global(machine, state->m_vblank_state);
- state_save_register_global_array(machine, state->m_sio_data);
- state_save_register_global(machine, state->m_sio_irq_clear);
- state_save_register_global(machine, state->m_sio_irq_enable);
- state_save_register_global(machine, state->m_sio_irq_state);
- state_save_register_global(machine, state->m_sio_led_state);
- state_save_register_global(machine, state->m_pending_analog_read);
- state_save_register_global(machine, state->m_cmos_unlocked);
- machine.save().register_postload(save_prepost_delegate(FUNC(remap_dynamic_addresses), &machine));
+ state_save_register_global(machine(), m_nile_irq_state);
+ state_save_register_global(machine(), m_ide_irq_state);
+ state_save_register_global_array(machine(), m_pci_bridge_regs);
+ state_save_register_global_array(machine(), m_pci_ide_regs);
+ state_save_register_global_array(machine(), m_pci_3dfx_regs);
+ state_save_register_global(machine(), m_vblank_state);
+ state_save_register_global_array(machine(), m_sio_data);
+ state_save_register_global(machine(), m_sio_irq_clear);
+ state_save_register_global(machine(), m_sio_irq_enable);
+ state_save_register_global(machine(), m_sio_irq_state);
+ state_save_register_global(machine(), m_sio_led_state);
+ state_save_register_global(machine(), m_pending_analog_read);
+ state_save_register_global(machine(), m_cmos_unlocked);
+ machine().save().register_postload(save_prepost_delegate(FUNC(remap_dynamic_addresses), &machine()));
}
-static MACHINE_RESET( vegas )
+void vegas_state::machine_reset()
{
- vegas_state *state = machine.driver_data<vegas_state>();
/* reset dynamic addressing */
- memset(state->m_nile_regs, 0, 0x1000);
- memset(state->m_pci_ide_regs, 0, sizeof(state->m_pci_ide_regs));
- memset(state->m_pci_3dfx_regs, 0, sizeof(state->m_pci_3dfx_regs));
+ memset(m_nile_regs, 0, 0x1000);
+ memset(m_pci_ide_regs, 0, sizeof(m_pci_ide_regs));
+ memset(m_pci_3dfx_regs, 0, sizeof(m_pci_3dfx_regs));
/* reset the DCS system if we have one */
- if (machine.device("dcs2") != NULL || machine.device("dsio") != NULL || machine.device("denver") != NULL)
+ if (machine().device("dcs2") != NULL || machine().device("dsio") != NULL || machine().device("denver") != NULL)
{
- dcs_reset_w(machine, 1);
- dcs_reset_w(machine, 0);
+ dcs_reset_w(machine(), 1);
+ dcs_reset_w(machine(), 0);
}
/* initialize IRQ states */
- state->m_ide_irq_state = 0;
- state->m_nile_irq_state = 0;
- state->m_sio_irq_state = 0;
+ m_ide_irq_state = 0;
+ m_nile_irq_state = 0;
+ m_sio_irq_state = 0;
}
@@ -2252,8 +2252,6 @@ static MACHINE_CONFIG_START( vegascore, vegas_state )
MCFG_CPU_CONFIG(r5000_config)
MCFG_CPU_PROGRAM_MAP(vegas_map_8mb)
- MCFG_MACHINE_START(vegas)
- MCFG_MACHINE_RESET(vegas)
MCFG_M48T37_ADD("timekeeper")
MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true)
diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c
index 3636afc1e64..69687167433 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -457,48 +457,46 @@ static const k053252_interface esckids_k053252_intf =
12*8, 1*8
};
-static MACHINE_START( vendetta )
+void vendetta_state::machine_start()
{
- vendetta_state *state = machine.driver_data<vendetta_state>();
- UINT8 *ROM = state->memregion("maincpu")->base();
+ UINT8 *ROM = memregion("maincpu")->base();
- state->membank("bank1")->configure_entries(0, 28, &ROM[0x10000], 0x2000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 28, &ROM[0x10000], 0x2000);
+ membank("bank1")->set_entry(0);
- state->m_generic_paletteram_8.allocate(0x1000);
+ m_generic_paletteram_8.allocate(0x1000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053246 = machine.device("k053246");
- state->m_k053251 = machine.device("k053251");
- state->m_k052109 = machine.device("k052109");
- state->m_k054000 = machine.device("k054000");
- state->m_k053260 = machine.device("k053260");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053246 = machine().device("k053246");
+ m_k053251 = machine().device("k053251");
+ m_k052109 = machine().device("k052109");
+ m_k054000 = machine().device("k054000");
+ m_k053260 = machine().device("k053260");
- state->save_item(NAME(state->m_irq_enabled));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_layerpri));
+ save_item(NAME(m_irq_enabled));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_layerpri));
}
-static MACHINE_RESET( vendetta )
+void vendetta_state::machine_reset()
{
- vendetta_state *state = machine.driver_data<vendetta_state>();
int i;
- konami_configure_set_lines(machine.device("maincpu"), vendetta_banking);
+ konami_configure_set_lines(machine().device("maincpu"), vendetta_banking);
for (i = 0; i < 3; i++)
{
- state->m_layerpri[i] = 0;
- state->m_layer_colorbase[i] = 0;
+ m_layerpri[i] = 0;
+ m_layer_colorbase[i] = 0;
}
- state->m_sprite_colorbase = 0;
- state->m_irq_enabled = 0;
+ m_sprite_colorbase = 0;
+ m_irq_enabled = 0;
/* init banks */
- vendetta_video_banking(machine, 0);
+ vendetta_video_banking(machine(), 0);
}
static MACHINE_CONFIG_START( vendetta, vendetta_state )
@@ -512,8 +510,6 @@ static MACHINE_CONFIG_START( vendetta, vendetta_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
/* interrupts are triggered by the main CPU */
- MCFG_MACHINE_START(vendetta)
- MCFG_MACHINE_RESET(vendetta)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
diff --git a/src/mame/drivers/vertigo.c b/src/mame/drivers/vertigo.c
index 1653cc539a3..44ecb490624 100644
--- a/src/mame/drivers/vertigo.c
+++ b/src/mame/drivers/vertigo.c
@@ -126,8 +126,6 @@ static MACHINE_CONFIG_START( vertigo, vertigo_state )
MCFG_CPU_ADD("motor", M6805, 1000000)
MCFG_CPU_PROGRAM_MAP(vertigo_motor)
*/
- MCFG_MACHINE_START(vertigo)
- MCFG_MACHINE_RESET(vertigo)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
diff --git a/src/mame/drivers/vicdual.c b/src/mame/drivers/vicdual.c
index a68731cfb3c..f706548208d 100644
--- a/src/mame/drivers/vicdual.c
+++ b/src/mame/drivers/vicdual.c
@@ -482,7 +482,7 @@ static MACHINE_CONFIG_DERIVED( frogs, vicdual_root )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(frogs_map)
MCFG_CPU_IO_MAP(frogs_io_map)
- MCFG_MACHINE_START(frogs_audio)
+ MCFG_MACHINE_START_OVERRIDE(vicdual_state,frogs_audio)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/victory.c b/src/mame/drivers/victory.c
index aaaddbec3b0..5748e8d15e7 100644
--- a/src/mame/drivers/victory.c
+++ b/src/mame/drivers/victory.c
@@ -228,7 +228,6 @@ static MACHINE_CONFIG_START( victory, victory_state )
MCFG_PALETTE_LENGTH(64)
- MCFG_VIDEO_START(victory)
/* audio hardware */
MCFG_FRAGMENT_ADD(victory_audio)
diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c
index 747ea0f69d4..2752d8e2c67 100644
--- a/src/mame/drivers/videopin.c
+++ b/src/mame/drivers/videopin.c
@@ -61,16 +61,15 @@ static TIMER_CALLBACK( interrupt_callback )
}
-static MACHINE_RESET( videopin )
+void videopin_state::machine_reset()
{
- videopin_state *state = machine.driver_data<videopin_state>();
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(32), FUNC(interrupt_callback), 32);
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(32), FUNC(interrupt_callback), 32);
/* both output latches are cleared on reset */
- state->videopin_out1_w(*machine.memory().first_space(), 0, 0);
- state->videopin_out2_w(*machine.memory().first_space(), 0, 0);
+ videopin_out1_w(*machine().memory().first_space(), 0, 0);
+ videopin_out2_w(*machine().memory().first_space(), 0, 0);
}
@@ -328,7 +327,6 @@ static MACHINE_CONFIG_START( videopin, videopin_state )
MCFG_CPU_ADD("maincpu", M6502, 12096000 / 16)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_RESET(videopin)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -341,7 +339,6 @@ static MACHINE_CONFIG_START( videopin, videopin_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(videopin)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/videopkr.c b/src/mame/drivers/videopkr.c
index 09555e9692c..d53ee9cadee 100644
--- a/src/mame/drivers/videopkr.c
+++ b/src/mame/drivers/videopkr.c
@@ -357,6 +357,12 @@ public:
DECLARE_READ8_MEMBER(baby_sound_p3_r);
DECLARE_WRITE8_MEMBER(baby_sound_p3_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(vidadcba);
+ DECLARE_PALETTE_INIT(babypkr);
+ DECLARE_PALETTE_INIT(fortune1);
};
@@ -402,12 +408,12 @@ static void count_7dig(unsigned long data, UINT8 index)
}
}
-static PALETTE_INIT( videopkr )
+void videopkr_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int j;
- for (j = 0; j < machine.total_colors(); j++)
+ for (j = 0; j < machine().total_colors(); j++)
{
int r, g, b, tr, tg, tb, i;
@@ -425,16 +431,16 @@ static PALETTE_INIT( videopkr )
tb = 0xf0 - (0xf0 * ((color_prom[j] >> 2) & 0x01));
b = tb - (i * (tb / 5));
- palette_set_color(machine, j, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), j, MAKE_RGB(r, g, b));
}
}
-static PALETTE_INIT( babypkr )
+PALETTE_INIT_MEMBER(videopkr_state,babypkr)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int j;
- for (j = 0; j < machine.total_colors(); j++)
+ for (j = 0; j < machine().total_colors(); j++)
{
int r, g, b, tr, tg, tb, i, top;
@@ -456,16 +462,16 @@ static PALETTE_INIT( babypkr )
tb = 0xdf * ((color_prom[j] >> 2) & 0x01);
b = top - ((tb * top) / 0x100);
- palette_set_color(machine, j, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), j, MAKE_RGB(r, g, b));
}
}
-static PALETTE_INIT( fortune1 )
+PALETTE_INIT_MEMBER(videopkr_state,fortune1)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int j;
- for (j = 0; j < machine.total_colors(); j++)
+ for (j = 0; j < machine().total_colors(); j++)
{
int r, g, b, tr, tg, tb, i, c;
@@ -489,7 +495,7 @@ static PALETTE_INIT( fortune1 )
if ((c % 4) == 1 || (c % 4) == 2)
c = ((int)(c / 4) * 4) + (3 - (c % 4));
- palette_set_color(machine, c, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), c, MAKE_RGB(r, g, b));
}
}
@@ -503,16 +509,14 @@ TILE_GET_INFO_MEMBER(videopkr_state::get_bg_tile_info)
}
-static VIDEO_START( videopkr )
+void videopkr_state::video_start()
{
- videopkr_state *state = machine.driver_data<videopkr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(videopkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(videopkr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-static VIDEO_START( vidadcba )
+VIDEO_START_MEMBER(videopkr_state,vidadcba)
{
- videopkr_state *state = machine.driver_data<videopkr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(videopkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(videopkr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
}
@@ -1199,17 +1203,16 @@ GFXDECODE_END
* Machine Start / Reset *
*******************************/
-static MACHINE_START(videopkr)
+void videopkr_state::machine_start()
{
- videopkr_state *state = machine.driver_data<videopkr_state>();
- state->m_vp_sound_p2 = 0xff; /* default P2 latch value */
- state->m_sound_latch = 0xff; /* default sound data latch value */
- state->m_p24_data = 0xff;
- state->m_p1 = 0xff;
- state->m_ant_cio = 0;
- state->m_count0 = 0;
-
- machine.device<nvram_device>("nvram")->set_base(state->m_data_ram, sizeof(state->m_data_ram));
+ m_vp_sound_p2 = 0xff; /* default P2 latch value */
+ m_sound_latch = 0xff; /* default sound data latch value */
+ m_p24_data = 0xff;
+ m_p1 = 0xff;
+ m_ant_cio = 0;
+ m_count0 = 0;
+
+ machine().device<nvram_device>("nvram")->set_base(m_data_ram, sizeof(m_data_ram));
}
static const ay8910_interface ay8910_config =
@@ -1239,7 +1242,6 @@ static MACHINE_CONFIG_START( videopkr, videopkr_state )
MCFG_CPU_ADD("soundcpu", I8039, SOUND_CLOCK)
MCFG_CPU_PROGRAM_MAP(i8039_sound_mem)
MCFG_CPU_IO_MAP(i8039_sound_port)
- MCFG_MACHINE_START(videopkr)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_ADD_PERIODIC("t1_timer", sound_t1_callback, attotime::from_hz(50))
@@ -1255,9 +1257,7 @@ static MACHINE_CONFIG_START( videopkr, videopkr_state )
MCFG_SCREEN_UPDATE_STATIC(videopkr)
MCFG_GFXDECODE(videopkr)
- MCFG_PALETTE_INIT(videopkr)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(videopkr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1289,7 +1289,7 @@ static MACHINE_CONFIG_DERIVED( videodad, videopkr )
MCFG_SCREEN_VISIBLE_AREA(4*16, 31*16-1, 2*8, 30*8-1)
MCFG_GFXDECODE(videodad)
- MCFG_VIDEO_START(vidadcba)
+ MCFG_VIDEO_START_OVERRIDE(videopkr_state,vidadcba)
MACHINE_CONFIG_END
@@ -1308,9 +1308,9 @@ static MACHINE_CONFIG_DERIVED( babypkr, videopkr )
MCFG_SCREEN_SIZE(32*16, 32*8)
MCFG_SCREEN_VISIBLE_AREA(5*16, 31*16-1, 3*8, 29*8-1)
- MCFG_PALETTE_INIT(babypkr)
+ MCFG_PALETTE_INIT_OVERRIDE(videopkr_state,babypkr)
MCFG_GFXDECODE(videodad)
- MCFG_VIDEO_START(vidadcba)
+ MCFG_VIDEO_START_OVERRIDE(videopkr_state,vidadcba)
MCFG_SOUND_ADD("aysnd", AY8910, CPU_CLOCK / 6)
MCFG_SOUND_CONFIG(ay8910_config)
@@ -1323,7 +1323,7 @@ static MACHINE_CONFIG_DERIVED( fortune1, videopkr )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK(CPU_CLOCK_ALT)
- MCFG_PALETTE_INIT(fortune1)
+ MCFG_PALETTE_INIT_OVERRIDE(videopkr_state,fortune1)
MACHINE_CONFIG_END
/*************************
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index 236792cbdfc..8bee571540e 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -501,8 +501,6 @@ static MACHINE_CONFIG_START( vigilant, vigilant_state )
MCFG_GFXDECODE(vigilant)
MCFG_PALETTE_LENGTH(512+32) /* 512 real palette, 32 virtual palette */
- MCFG_VIDEO_START(vigilant)
- MCFG_VIDEO_RESET(vigilant)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -543,8 +541,6 @@ static MACHINE_CONFIG_START( buccanrs, vigilant_state )
MCFG_GFXDECODE(buccanrs)
MCFG_PALETTE_LENGTH(512+32) /* 512 real palette, 32 virtual palette */
- MCFG_VIDEO_START(vigilant)
- MCFG_VIDEO_RESET(vigilant)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -601,8 +597,6 @@ static MACHINE_CONFIG_START( kikcubic, vigilant_state )
MCFG_GFXDECODE(kikcubic)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(vigilant)
- MCFG_VIDEO_RESET(vigilant)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/vindictr.c b/src/mame/drivers/vindictr.c
index aefb5df83e4..a68d3ebbba6 100644
--- a/src/mame/drivers/vindictr.c
+++ b/src/mame/drivers/vindictr.c
@@ -39,19 +39,18 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( vindictr )
+MACHINE_START_MEMBER(vindictr_state,vindictr)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( vindictr )
+MACHINE_RESET_MEMBER(vindictr_state,vindictr)
{
- vindictr_state *state = machine.driver_data<vindictr_state>();
- atarigen_eeprom_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
- atarigen_scanline_timer_reset(*machine.primary_screen, vindictr_scanline_update, 8);
+ atarigen_eeprom_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
+ atarigen_scanline_timer_reset(*machine().primary_screen, vindictr_scanline_update, 8);
atarijsa_reset();
}
@@ -199,8 +198,8 @@ static MACHINE_CONFIG_START( vindictr, vindictr_state )
MCFG_CPU_ADD("maincpu", M68010, ATARI_CLOCK_14MHz/2)
MCFG_CPU_PROGRAM_MAP(main_map)
- MCFG_MACHINE_START(vindictr)
- MCFG_MACHINE_RESET(vindictr)
+ MCFG_MACHINE_START_OVERRIDE(vindictr_state,vindictr)
+ MCFG_MACHINE_RESET_OVERRIDE(vindictr_state,vindictr)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -214,7 +213,7 @@ static MACHINE_CONFIG_START( vindictr, vindictr_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(vindictr)
- MCFG_VIDEO_START(vindictr)
+ MCFG_VIDEO_START_OVERRIDE(vindictr_state,vindictr)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_stereo_pokey)
diff --git a/src/mame/drivers/viper.c b/src/mame/drivers/viper.c
index 0e132c051fc..596c630c146 100644
--- a/src/mame/drivers/viper.c
+++ b/src/mame/drivers/viper.c
@@ -350,6 +350,8 @@ public:
DECLARE_WRITE64_MEMBER(ata_w);
DECLARE_DRIVER_INIT(viper);
DECLARE_DRIVER_INIT(vipercf);
+ virtual void machine_start();
+ virtual void machine_reset();
};
UINT32 m_mpc8240_regs[256/4];
@@ -1937,27 +1939,27 @@ static void ide_interrupt(device_t *device, int state)
{
}
-static MACHINE_START(viper)
+void viper_state::machine_start()
{
- ds2430_timer = machine.scheduler().timer_alloc(FUNC(ds2430_timer_callback));
- ds2430_bit_timer = machine.device<timer_device>("ds2430_timer2");
- mpc8240_epic_init(machine);
+ ds2430_timer = machine().scheduler().timer_alloc(FUNC(ds2430_timer_callback));
+ ds2430_bit_timer = machine().device<timer_device>("ds2430_timer2");
+ mpc8240_epic_init(machine());
/* set conservative DRC options */
- ppcdrc_set_options(machine.device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
+ ppcdrc_set_options(machine().device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
/* configure fast RAM regions for DRC */
- ppcdrc_add_fastram(machine.device("maincpu"), 0x00000000, 0x00ffffff, FALSE, workram);
+ ppcdrc_add_fastram(machine().device("maincpu"), 0x00000000, 0x00ffffff, FALSE, workram);
- ds2430_rom = (UINT8*)machine.root_device().memregion("ds2430")->base();
+ ds2430_rom = (UINT8*)machine().root_device().memregion("ds2430")->base();
}
-static MACHINE_RESET(viper)
+void viper_state::machine_reset()
{
- machine.device("ide")->reset();
+ machine().device("ide")->reset();
mpc8240_epic_reset();
- UINT8 *ide_features = ide_get_features(machine.device("ide"), 0);
+ UINT8 *ide_features = ide_get_features(machine().device("ide"), 0);
// Viper expects these settings or the BIOS fails
ide_features[51*2+0] = 0; /* 51: PIO data transfer cycle timing mode */
@@ -1992,8 +1994,6 @@ static MACHINE_CONFIG_START( viper, viper_state )
MCFG_CPU_PROGRAM_MAP(viper_map)
MCFG_CPU_VBLANK_INT("screen", viper_vblank)
- MCFG_MACHINE_START(viper)
- MCFG_MACHINE_RESET(viper)
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
MCFG_PCI_BUS_LEGACY_DEVICE(0, "mpc8240", mpc8240_pci_r, mpc8240_pci_w)
diff --git a/src/mame/drivers/vmetal.c b/src/mame/drivers/vmetal.c
index 92c401e9519..e3ee8bda716 100644
--- a/src/mame/drivers/vmetal.c
+++ b/src/mame/drivers/vmetal.c
@@ -119,6 +119,7 @@ public:
TILE_GET_INFO_MEMBER(get_vmetal_texttilemap_tile_info);
TILE_GET_INFO_MEMBER(get_vmetal_mid1tilemap_tile_info);
TILE_GET_INFO_MEMBER(get_vmetal_mid2tilemap_tile_info);
+ DECLARE_VIDEO_START(varia);
};
@@ -441,19 +442,18 @@ static void expand_gfx1(running_machine &machine)
}
}
-static VIDEO_START(varia)
+VIDEO_START_MEMBER(vmetal_state,varia)
{
- vmetal_state *state = machine.driver_data<vmetal_state>();
- state->m_texttilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vmetal_state::get_vmetal_texttilemap_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 256);
- state->m_mid1tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vmetal_state::get_vmetal_mid1tilemap_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 256);
- state->m_mid2tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vmetal_state::get_vmetal_mid2tilemap_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 256);
+ m_texttilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vmetal_state::get_vmetal_texttilemap_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 256, 256);
+ m_mid1tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vmetal_state::get_vmetal_mid1tilemap_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 256, 256);
+ m_mid2tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vmetal_state::get_vmetal_mid2tilemap_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 256, 256);
- state->m_texttilemap->set_transparent_pen(15);
- state->m_mid1tilemap->set_transparent_pen(15);
- state->m_mid2tilemap->set_transparent_pen(15);
+ m_texttilemap->set_transparent_pen(15);
+ m_mid1tilemap->set_transparent_pen(15);
+ m_mid2tilemap->set_transparent_pen(15);
- expand_gfx1(machine);
+ expand_gfx1(machine());
}
static SCREEN_UPDATE_IND16(varia)
@@ -497,7 +497,7 @@ static MACHINE_CONFIG_START( varia, vmetal_state )
MCFG_GFXDECODE(vmetal)
MCFG_PALETTE_LENGTH(0x4000)
- MCFG_VIDEO_START(varia)
+ MCFG_VIDEO_START_OVERRIDE(vmetal_state,varia)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/volfied.c b/src/mame/drivers/volfied.c
index a02c06604d9..57062e2bfe8 100644
--- a/src/mame/drivers/volfied.c
+++ b/src/mame/drivers/volfied.c
@@ -231,20 +231,19 @@ static const ym2203_interface ym2203_config =
MACHINE DRIVERS
***********************************************************/
-static MACHINE_START( volfied )
+void volfied_state::machine_start()
{
- volfied_state *state = machine.driver_data<volfied_state>();
- volfied_cchip_init(machine);
+ volfied_cchip_init(machine());
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_pc090oj = machine.device("pc090oj");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_pc090oj = machine().device("pc090oj");
}
-static MACHINE_RESET( volfied )
+void volfied_state::machine_reset()
{
- volfied_cchip_reset(machine);
+ volfied_cchip_reset(machine());
}
static const pc090oj_interface volfied_pc090oj_intf =
@@ -269,8 +268,6 @@ static MACHINE_CONFIG_START( volfied, volfied_state )
MCFG_QUANTUM_TIME(attotime::from_hz(1200))
- MCFG_MACHINE_START(volfied)
- MCFG_MACHINE_RESET(volfied)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -283,7 +280,6 @@ static MACHINE_CONFIG_START( volfied, volfied_state )
MCFG_GFXDECODE(volfied)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(volfied)
MCFG_PC090OJ_ADD("pc090oj", volfied_pc090oj_intf)
diff --git a/src/mame/drivers/voyager.c b/src/mame/drivers/voyager.c
index f0a761c41a5..4ba086990b4 100644
--- a/src/mame/drivers/voyager.c
+++ b/src/mame/drivers/voyager.c
@@ -67,6 +67,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(voyager_pic8259_1_set_int_line);
DECLARE_READ8_MEMBER(get_slave_ack);
DECLARE_DRIVER_INIT(voyager);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -650,16 +652,15 @@ static IRQ_CALLBACK(irq_callback)
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
-static MACHINE_START(voyager)
+void voyager_state::machine_start()
{
- voyager_state *state = machine.driver_data<voyager_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
- state->m_pit8254 = machine.device( "pit8254" );
- state->m_pic8259_1 = machine.device( "pic8259_1" );
- state->m_pic8259_2 = machine.device( "pic8259_2" );
- state->m_dma8237_1 = machine.device( "dma8237_1" );
- state->m_dma8237_2 = machine.device( "dma8237_2" );
+ m_pit8254 = machine().device( "pit8254" );
+ m_pic8259_1 = machine().device( "pic8259_1" );
+ m_pic8259_2 = machine().device( "pic8259_2" );
+ m_dma8237_1 = machine().device( "dma8237_1" );
+ m_dma8237_2 = machine().device( "dma8237_2" );
}
/*************************************************************
@@ -723,10 +724,10 @@ static const struct pit8253_config voyager_pit8254_config =
}
};
-static MACHINE_RESET(voyager)
+void voyager_state::machine_reset()
{
- //machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("bios")->base() + 0x10000);
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("bios")->base());
+ //machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("bios")->base() + 0x10000);
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("bios")->base());
}
static void set_gate_a20(running_machine &machine, int a20)
@@ -775,8 +776,6 @@ static MACHINE_CONFIG_START( voyager, voyager_state )
MCFG_CPU_PROGRAM_MAP(voyager_map)
MCFG_CPU_IO_MAP(voyager_io)
- MCFG_MACHINE_START(voyager)
- MCFG_MACHINE_RESET(voyager)
MCFG_PIT8254_ADD( "pit8254", voyager_pit8254_config )
MCFG_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
diff --git a/src/mame/drivers/vpoker.c b/src/mame/drivers/vpoker.c
index 6880ee06bdd..a09bcdefc76 100644
--- a/src/mame/drivers/vpoker.c
+++ b/src/mame/drivers/vpoker.c
@@ -123,13 +123,14 @@ public:
DECLARE_READ8_MEMBER(blitter_r);
DECLARE_WRITE8_MEMBER(blitter_w);
DECLARE_WRITE_LINE_MEMBER(ptm_irq);
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START( vpoker )
+void vpoker_state::video_start()
{
- vpoker_state *state = machine.driver_data<vpoker_state>();
- state->m_videoram = auto_alloc_array(machine, UINT8, 0x200);
+ m_videoram = auto_alloc_array(machine(), UINT8, 0x200);
}
static SCREEN_UPDATE_IND16( vpoker )
@@ -623,7 +624,7 @@ static GFXDECODE_START( vpoker )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 )
GFXDECODE_END
-static PALETTE_INIT( vpoker )
+void vpoker_state::palette_init()
{
int i;
@@ -633,7 +634,7 @@ static PALETTE_INIT( vpoker )
color = MAKE_RGB(pal1bit((i & 4) >> 2),pal1bit(i & 1),pal1bit((i & 2) >> 1));
- palette_set_color(machine, i, color);
+ palette_set_color(machine(), i, color);
}
}
@@ -668,9 +669,7 @@ static MACHINE_CONFIG_START( vpoker, vpoker_state )
MCFG_GFXDECODE(vpoker)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(vpoker)
- MCFG_VIDEO_START(vpoker)
/* 6840 PTM */
MCFG_PTM6840_ADD("6840ptm", ptm_intf)
diff --git a/src/mame/drivers/vroulet.c b/src/mame/drivers/vroulet.c
index 8c2ccc96c13..3ebd43aac38 100644
--- a/src/mame/drivers/vroulet.c
+++ b/src/mame/drivers/vroulet.c
@@ -61,6 +61,7 @@ public:
DECLARE_WRITE8_MEMBER(ppi8255_b_w);
DECLARE_WRITE8_MEMBER(ppi8255_c_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
};
@@ -108,10 +109,9 @@ TILE_GET_INFO_MEMBER(vroulet_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static VIDEO_START(vroulet)
+void vroulet_state::video_start()
{
- vroulet_state *state = machine.driver_data<vroulet_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vroulet_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vroulet_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
@@ -307,7 +307,6 @@ static MACHINE_CONFIG_START( vroulet, vroulet_state )
MCFG_GFXDECODE(vroulet)
MCFG_PALETTE_LENGTH(128*4)
- MCFG_VIDEO_START(vroulet)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/vsnes.c b/src/mame/drivers/vsnes.c
index e68db255d1b..aee6672ea25 100644
--- a/src/mame/drivers/vsnes.c
+++ b/src/mame/drivers/vsnes.c
@@ -1691,8 +1691,8 @@ static MACHINE_CONFIG_START( vsnes, vsnes_state )
MCFG_CPU_ADD("maincpu", N2A03,N2A03_DEFAULTCLOCK)
MCFG_CPU_PROGRAM_MAP(vsnes_cpu1_map)
/* some carts also trigger IRQs */
- MCFG_MACHINE_RESET(vsnes)
- MCFG_MACHINE_START(vsnes)
+ MCFG_MACHINE_RESET_OVERRIDE(vsnes_state,vsnes)
+ MCFG_MACHINE_START_OVERRIDE(vsnes_state,vsnes)
/* video hardware */
MCFG_SCREEN_ADD("screen1", RASTER)
@@ -1703,8 +1703,8 @@ static MACHINE_CONFIG_START( vsnes, vsnes_state )
MCFG_PALETTE_LENGTH(8*4*16)
- MCFG_PALETTE_INIT(vsnes)
- MCFG_VIDEO_START(vsnes)
+ MCFG_PALETTE_INIT_OVERRIDE(vsnes_state,vsnes)
+ MCFG_VIDEO_START_OVERRIDE(vsnes_state,vsnes)
MCFG_PPU2C04_ADD("ppu1", vsnes_ppu_interface_1)
@@ -1752,8 +1752,8 @@ static MACHINE_CONFIG_START( vsdual, vsnes_state )
MCFG_CPU_ADD("sub", N2A03,N2A03_DEFAULTCLOCK)
MCFG_CPU_PROGRAM_MAP(vsnes_cpu2_map)
/* some carts also trigger IRQs */
- MCFG_MACHINE_RESET(vsdual)
- MCFG_MACHINE_START(vsdual)
+ MCFG_MACHINE_RESET_OVERRIDE(vsnes_state,vsdual)
+ MCFG_MACHINE_START_OVERRIDE(vsnes_state,vsdual)
/* video hardware */
MCFG_PALETTE_LENGTH(2*8*4*16)
@@ -1771,8 +1771,8 @@ static MACHINE_CONFIG_START( vsdual, vsnes_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(vsnes_bottom)
- MCFG_PALETTE_INIT(vsdual)
- MCFG_VIDEO_START(vsdual)
+ MCFG_PALETTE_INIT_OVERRIDE(vsnes_state,vsdual)
+ MCFG_VIDEO_START_OVERRIDE(vsnes_state,vsdual)
MCFG_PPU2C04_ADD("ppu1", vsnes_ppu_interface_1)
MCFG_PPU2C04_ADD("ppu2", vsnes_ppu_interface_2)
diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c
index 0a583536e07..c666d7fd8d4 100644
--- a/src/mame/drivers/vulgus.c
+++ b/src/mame/drivers/vulgus.c
@@ -230,8 +230,6 @@ static MACHINE_CONFIG_START( vulgus, vulgus_state )
MCFG_GFXDECODE(vulgus)
MCFG_PALETTE_LENGTH(64*4+16*16+4*32*8)
- MCFG_PALETTE_INIT(vulgus)
- MCFG_VIDEO_START(vulgus)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/wallc.c b/src/mame/drivers/wallc.c
index d30b3036b83..14a788b6042 100644
--- a/src/mame/drivers/wallc.c
+++ b/src/mame/drivers/wallc.c
@@ -67,6 +67,8 @@ public:
DECLARE_DRIVER_INIT(wallc);
DECLARE_DRIVER_INIT(wallca);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -95,9 +97,9 @@ public:
***************************************************************************/
-static PALETTE_INIT( wallc )
+void wallc_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const int resistances_rg[2] = { 330, 220 };
@@ -109,7 +111,7 @@ static PALETTE_INIT( wallc )
2, resistances_rg, weights_g, 330, 0,
3, resistances_b, weights_b, 330, 655+220);
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit7,r,g,b;
@@ -129,7 +131,7 @@ static PALETTE_INIT( wallc )
bit7 = (color_prom[i] >> 7) & 0x01;
b = combine_3_weights(weights_b, bit7, bit1, bit0);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -146,10 +148,9 @@ TILE_GET_INFO_MEMBER(wallc_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, videoram[tile_index] + 0x100, 1, 0);
}
-static VIDEO_START( wallc )
+void wallc_state::video_start()
{
- wallc_state *state = machine.driver_data<wallc_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wallc_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wallc_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( wallc )
@@ -314,8 +315,6 @@ static MACHINE_CONFIG_START( wallc, wallc_state )
MCFG_GFXDECODE(wallc)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(wallc)
- MCFG_VIDEO_START(wallc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c
index 39bf6162d2e..948bc07d8e7 100644
--- a/src/mame/drivers/wardner.c
+++ b/src/mame/drivers/wardner.c
@@ -404,7 +404,7 @@ static MACHINE_CONFIG_START( wardner, wardner_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- MCFG_MACHINE_RESET(wardner)
+ MCFG_MACHINE_RESET_OVERRIDE(wardner_state,wardner)
/* video hardware */
MCFG_MC6845_ADD("crtc", HD6845, XTAL_14MHz/4, twincobr_mc6845_intf) /* 3.5MHz measured on CLKin */
@@ -420,7 +420,7 @@ static MACHINE_CONFIG_START( wardner, wardner_state )
MCFG_GFXDECODE(wardner)
MCFG_PALETTE_LENGTH(1792)
- MCFG_VIDEO_START(toaplan0)
+ MCFG_VIDEO_START_OVERRIDE(wardner_state,toaplan0)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/warpsped.c b/src/mame/drivers/warpsped.c
index 830c4d9d7ed..ea718631fca 100644
--- a/src/mame/drivers/warpsped.c
+++ b/src/mame/drivers/warpsped.c
@@ -104,6 +104,8 @@ public:
DECLARE_DRIVER_INIT(warpspeed);
TILE_GET_INFO_MEMBER(get_warpspeed_text_tile_info);
TILE_GET_INFO_MEMBER(get_warpspeed_starfield_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
WRITE8_MEMBER(warpspeed_state::warpspeed_hardware_w)
@@ -135,13 +137,12 @@ WRITE8_MEMBER(warpspeed_state::warpspeed_vidram_w)
m_text_tilemap->mark_tile_dirty(offset);
}
-static VIDEO_START( warpspeed )
+void warpspeed_state::video_start()
{
- warpspeed_state *state = machine.driver_data<warpspeed_state>();
- state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpspeed_state::get_warpspeed_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_text_tilemap->set_transparent_pen(0);
- state->m_starfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpspeed_state::get_warpspeed_starfield_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_starfield_tilemap->mark_all_dirty();
+ m_text_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(warpspeed_state::get_warpspeed_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_text_tilemap->set_transparent_pen(0);
+ m_starfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(warpspeed_state::get_warpspeed_starfield_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_starfield_tilemap->mark_all_dirty();
}
static void draw_circle_line(bitmap_ind16 &bitmap, int x, int y, int l, int color)
@@ -289,16 +290,16 @@ static GFXDECODE_START( warpspeed )
GFXDECODE_ENTRY( "gfx2", 0, warpspeed_charlayout, 0, 1 )
GFXDECODE_END
-static PALETTE_INIT( warpspeed )
+void warpspeed_state::palette_init()
{
// tilemaps
- palette_set_color(machine,0,RGB_BLACK); /* black */
- palette_set_color(machine,1,RGB_WHITE); /* white */
+ palette_set_color(machine(),0,RGB_BLACK); /* black */
+ palette_set_color(machine(),1,RGB_WHITE); /* white */
// circles
for ( int i = 0; i < 8; i++ )
{
- palette_set_color_rgb(machine, 2 + i, 0xff*BIT(i,0), 0xff*BIT(i,1), 0xff*BIT(i,2));
+ palette_set_color_rgb(machine(), 2 + i, 0xff*BIT(i,0), 0xff*BIT(i,1), 0xff*BIT(i,2));
}
}
@@ -317,12 +318,10 @@ static MACHINE_CONFIG_START( warpspeed, warpspeed_state )
MCFG_SCREEN_SIZE((32)*8, (32)*8)
MCFG_SCREEN_VISIBLE_AREA(4*8, 32*8-1, 8*8, 32*8-1)
- MCFG_VIDEO_START(warpspeed)
MCFG_SCREEN_UPDATE_STATIC(warpspeed)
MCFG_GFXDECODE(warpspeed)
MCFG_PALETTE_LENGTH(2+8)
- MCFG_PALETTE_INIT(warpspeed)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/warpwarp.c b/src/mame/drivers/warpwarp.c
index dc0762afb73..dbbc1680e8b 100644
--- a/src/mame/drivers/warpwarp.c
+++ b/src/mame/drivers/warpwarp.c
@@ -742,8 +742,8 @@ static MACHINE_CONFIG_START( geebee, warpwarp_state )
MCFG_GFXDECODE(1k)
MCFG_PALETTE_LENGTH(4*2)
- MCFG_PALETTE_INIT(geebee)
- MCFG_VIDEO_START(geebee)
+ MCFG_PALETTE_INIT_OVERRIDE(warpwarp_state,geebee)
+ MCFG_VIDEO_START_OVERRIDE(warpwarp_state,geebee)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -758,8 +758,8 @@ static MACHINE_CONFIG_DERIVED( navarone, geebee )
MCFG_GFXDECODE(2k)
MCFG_PALETTE_LENGTH(2*2)
- MCFG_PALETTE_INIT(navarone)
- MCFG_VIDEO_START(navarone)
+ MCFG_PALETTE_INIT_OVERRIDE(warpwarp_state,navarone)
+ MCFG_VIDEO_START_OVERRIDE(warpwarp_state,navarone)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( bombbee, warpwarp_state )
@@ -777,8 +777,8 @@ static MACHINE_CONFIG_START( bombbee, warpwarp_state )
MCFG_GFXDECODE(color)
MCFG_PALETTE_LENGTH(2*256+1)
- MCFG_PALETTE_INIT(warpwarp)
- MCFG_VIDEO_START(warpwarp)
+ MCFG_PALETTE_INIT_OVERRIDE(warpwarp_state,warpwarp)
+ MCFG_VIDEO_START_OVERRIDE(warpwarp_state,warpwarp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c
index 6ede8645252..c1e2b40469f 100644
--- a/src/mame/drivers/warriorb.c
+++ b/src/mame/drivers/warriorb.c
@@ -155,8 +155,8 @@ Colscroll effects?
#include "includes/warriorb.h"
#include "includes/taitoipt.h"
-static MACHINE_START( warriorb );
-static MACHINE_RESET( taito_dualscreen );
+
+
@@ -508,39 +508,37 @@ static const tc0140syt_interface warriorb_tc0140syt_intf =
};
-static MACHINE_START( warriorb )
+void warriorb_state::machine_start()
{
- warriorb_state *state = machine.driver_data<warriorb_state>();
- state->membank("bank10")->configure_entries(0, 8, state->memregion("audiocpu")->base() + 0xc000, 0x4000);
+ membank("bank10")->configure_entries(0, 8, memregion("audiocpu")->base() + 0xc000, 0x4000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_tc0140syt = machine.device("tc0140syt");
- state->m_tc0100scn_1 = machine.device("tc0100scn_1");
- state->m_tc0100scn_2 = machine.device("tc0100scn_2");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_tc0140syt = machine().device("tc0140syt");
+ m_tc0100scn_1 = machine().device("tc0100scn_1");
+ m_tc0100scn_2 = machine().device("tc0100scn_2");
- state->m_lscreen = machine.device("lscreen");
- state->m_rscreen = machine.device("rscreen");
+ m_lscreen = machine().device("lscreen");
+ m_rscreen = machine().device("rscreen");
- state->m_2610_1l = machine.device("2610.1.l");
- state->m_2610_1r = machine.device("2610.1.r");
- state->m_2610_2l = machine.device("2610.2.l");
- state->m_2610_2r = machine.device("2610.2.r");
+ m_2610_1l = machine().device("2610.1.l");
+ m_2610_1r = machine().device("2610.1.r");
+ m_2610_2l = machine().device("2610.2.l");
+ m_2610_2r = machine().device("2610.2.r");
- state->save_item(NAME(state->m_banknum));
- state->save_item(NAME(state->m_pandata));
- machine.save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine));
+ save_item(NAME(m_banknum));
+ save_item(NAME(m_pandata));
+ machine().save().register_postload(save_prepost_delegate(FUNC(reset_sound_region), &machine()));
}
-static MACHINE_RESET( taito_dualscreen )
+void warriorb_state::machine_reset()
{
- warriorb_state *state = machine.driver_data<warriorb_state>();
- state->m_banknum = 0;
+ m_banknum = 0;
/**** mixer control enable ****/
- machine.sound().system_enable(true); /* mixer enabled */
+ machine().sound().system_enable(true); /* mixer enabled */
}
static MACHINE_CONFIG_START( darius2d, warriorb_state )
@@ -553,8 +551,6 @@ static MACHINE_CONFIG_START( darius2d, warriorb_state )
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ? */
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
- MCFG_MACHINE_START( warriorb )
- MCFG_MACHINE_RESET( taito_dualscreen )
MCFG_TC0220IOC_ADD("tc0220ioc", darius2d_io_intf)
@@ -577,7 +573,6 @@ static MACHINE_CONFIG_START( darius2d, warriorb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_STATIC(warriorb_right)
- MCFG_VIDEO_START(warriorb)
MCFG_TC0100SCN_ADD("tc0100scn_1", darius2d_tc0100scn_intf_l)
MCFG_TC0100SCN_ADD("tc0100scn_2", darius2d_tc0100scn_intf_r)
@@ -619,8 +614,6 @@ static MACHINE_CONFIG_START( warriorb, warriorb_state )
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ? */
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
- MCFG_MACHINE_START( warriorb )
- MCFG_MACHINE_RESET( taito_dualscreen )
MCFG_TC0510NIO_ADD("tc0510nio", warriorb_io_intf)
@@ -643,7 +636,6 @@ static MACHINE_CONFIG_START( warriorb, warriorb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_STATIC(warriorb_right)
- MCFG_VIDEO_START(warriorb)
MCFG_TC0100SCN_ADD("tc0100scn_1", warriorb_tc0100scn_intf_l)
MCFG_TC0100SCN_ADD("tc0100scn_2", warriorb_tc0100scn_intf_r)
diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c
index 472b6d372eb..2183ba674b3 100644
--- a/src/mame/drivers/wc90.c
+++ b/src/mame/drivers/wc90.c
@@ -331,7 +331,6 @@ static MACHINE_CONFIG_START( wc90, wc90_state )
MCFG_GFXDECODE(wc90)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(wc90)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -344,7 +343,7 @@ static MACHINE_CONFIG_START( wc90, wc90_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( wc90t, wc90 )
- MCFG_VIDEO_START( wc90t )
+ MCFG_VIDEO_START_OVERRIDE(wc90_state, wc90t )
MACHINE_CONFIG_END
ROM_START( wc90 )
diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c
index 0f311974629..398767e3b07 100644
--- a/src/mame/drivers/wc90b.c
+++ b/src/mame/drivers/wc90b.c
@@ -386,7 +386,6 @@ static MACHINE_CONFIG_START( wc90b, wc90b_state )
MCFG_GFXDECODE(wc90b)
MCFG_PALETTE_LENGTH(1024)
- MCFG_VIDEO_START(wc90b)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index 33bec33ee71..fa19e0282d4 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -1045,9 +1045,9 @@ static TIMER_DEVICE_CALLBACK( hotchase_scanline )
}
-static MACHINE_RESET( wecleman )
+MACHINE_RESET_MEMBER(wecleman_state,wecleman)
{
- k007232_set_bank( machine.device("konami"), 0, 1 );
+ k007232_set_bank( machine().device("konami"), 0, 1 );
}
static MACHINE_CONFIG_START( wecleman, wecleman_state )
@@ -1066,7 +1066,7 @@ static MACHINE_CONFIG_START( wecleman, wecleman_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_RESET(wecleman)
+ MCFG_MACHINE_RESET_OVERRIDE(wecleman_state,wecleman)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1080,7 +1080,7 @@ static MACHINE_CONFIG_START( wecleman, wecleman_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(wecleman)
+ MCFG_VIDEO_START_OVERRIDE(wecleman_state,wecleman)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1120,17 +1120,16 @@ static const k051316_interface hotchase_k051316_intf_1 =
hotchase_zoom_callback_1
};
-static MACHINE_RESET( hotchase )
+MACHINE_RESET_MEMBER(wecleman_state,hotchase)
{
- wecleman_state *state = machine.driver_data<wecleman_state>();
int i;
/* TODO: PCB reference clearly shows that the POST has random/filled data on the paletteram.
For now let's fill everything with white colors until we have better info about it */
for(i=0;i<0x2000/2;i++)
{
- state->m_generic_paletteram_16[i] = 0xffff;
- palette_set_color_rgb(machine,i,0xff,0xff,0xff);
+ m_generic_paletteram_16[i] = 0xffff;
+ palette_set_color_rgb(machine(),i,0xff,0xff,0xff);
}
}
@@ -1151,7 +1150,7 @@ static MACHINE_CONFIG_START( hotchase, wecleman_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_RESET(hotchase)
+ MCFG_MACHINE_RESET_OVERRIDE(wecleman_state,hotchase)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1164,7 +1163,7 @@ static MACHINE_CONFIG_START( hotchase, wecleman_state )
MCFG_GFXDECODE(hotchase)
MCFG_PALETTE_LENGTH(2048*2)
- MCFG_VIDEO_START(hotchase)
+ MCFG_VIDEO_START_OVERRIDE(wecleman_state,hotchase)
MCFG_K051316_ADD("k051316_1", hotchase_k051316_intf_0)
MCFG_K051316_ADD("k051316_2", hotchase_k051316_intf_1)
diff --git a/src/mame/drivers/welltris.c b/src/mame/drivers/welltris.c
index d4e9620ffd6..58121e48a00 100644
--- a/src/mame/drivers/welltris.c
+++ b/src/mame/drivers/welltris.c
@@ -724,7 +724,6 @@ static MACHINE_CONFIG_START( welltris, welltris_state )
MCFG_GFXDECODE(welltris)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(welltris)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c
index 10104baa6e6..3fc0c8dee3b 100644
--- a/src/mame/drivers/wgp.c
+++ b/src/mame/drivers/wgp.c
@@ -922,42 +922,40 @@ static void wgp_postload(running_machine &machine)
reset_sound_region(machine);
}
-static MACHINE_RESET( wgp )
+void wgp_state::machine_reset()
{
- wgp_state *state = machine.driver_data<wgp_state>();
int i;
- state->m_banknum = 0;
- state->m_cpua_ctrl = 0xff;
- state->m_port_sel = 0;
- state->m_piv_ctrl_reg = 0;
+ m_banknum = 0;
+ m_cpua_ctrl = 0xff;
+ m_port_sel = 0;
+ m_piv_ctrl_reg = 0;
for (i = 0; i < 3; i++)
{
- state->m_piv_zoom[i] = 0;
- state->m_piv_scrollx[i] = 0;
- state->m_piv_scrolly[i] = 0;
+ m_piv_zoom[i] = 0;
+ m_piv_scrollx[i] = 0;
+ m_piv_scrolly[i] = 0;
}
- memset(state->m_rotate_ctrl, 0, 8 * sizeof(UINT16));
+ memset(m_rotate_ctrl, 0, 8 * sizeof(UINT16));
}
-static MACHINE_START( wgp )
+void wgp_state::machine_start()
{
- wgp_state *state = machine.driver_data<wgp_state>();
- state->membank("bank10")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0xc000, 0x4000);
+ membank("bank10")->configure_entries(0, 4, memregion("audiocpu")->base() + 0xc000, 0x4000);
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_tc0140syt = machine.device("tc0140syt");
- state->m_tc0100scn = machine.device("tc0100scn");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_tc0140syt = machine().device("tc0140syt");
+ m_tc0100scn = machine().device("tc0100scn");
- state->save_item(NAME(state->m_cpua_ctrl));
- state->save_item(NAME(state->m_banknum));
- state->save_item(NAME(state->m_port_sel));
- machine.save().register_postload(save_prepost_delegate(FUNC(wgp_postload), &machine));
+ save_item(NAME(m_cpua_ctrl));
+ save_item(NAME(m_banknum));
+ save_item(NAME(m_port_sel));
+ machine().save().register_postload(save_prepost_delegate(FUNC(wgp_postload), &machine()));
}
static const tc0100scn_interface wgp_tc0100scn_intf =
@@ -1005,8 +1003,6 @@ static MACHINE_CONFIG_START( wgp, wgp_state )
MCFG_CPU_PROGRAM_MAP(cpu2_map)
MCFG_CPU_VBLANK_INT("screen", wgp_cpub_interrupt)
- MCFG_MACHINE_START(wgp)
- MCFG_MACHINE_RESET(wgp)
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
@@ -1023,7 +1019,6 @@ static MACHINE_CONFIG_START( wgp, wgp_state )
MCFG_GFXDECODE(wgp)
MCFG_PALETTE_LENGTH(4096)
- MCFG_VIDEO_START(wgp)
MCFG_TC0100SCN_ADD("tc0100scn", wgp_tc0100scn_intf)
@@ -1045,7 +1040,7 @@ static MACHINE_CONFIG_DERIVED( wgp2, wgp )
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
/* video hardware */
- MCFG_VIDEO_START(wgp2)
+ MCFG_VIDEO_START_OVERRIDE(wgp_state,wgp2)
MCFG_DEVICE_REMOVE("tc0100scn")
MCFG_TC0100SCN_ADD("tc0100scn", wgp2_tc0100scn_intf)
diff --git a/src/mame/drivers/wheelfir.c b/src/mame/drivers/wheelfir.c
index 6784812ae4f..2124ffe08cf 100644
--- a/src/mame/drivers/wheelfir.c
+++ b/src/mame/drivers/wheelfir.c
@@ -281,6 +281,9 @@ public:
DECLARE_READ16_MEMBER(wheelfir_snd_r);
DECLARE_WRITE16_MEMBER(coin_cnt_w);
DECLARE_DRIVER_INIT(wheelfir);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -565,11 +568,10 @@ WRITE16_MEMBER(wheelfir_state::wheelfir_blit_w)
}
}
-static VIDEO_START(wheelfir)
+void wheelfir_state::video_start()
{
- wheelfir_state *state = machine.driver_data<wheelfir_state>();
- state->m_tmp_bitmap[0] = auto_bitmap_ind16_alloc(machine, 512, 512);
- state->m_tmp_bitmap[1] = auto_bitmap_ind16_alloc(machine, 512, 512);
+ m_tmp_bitmap[0] = auto_bitmap_ind16_alloc(machine(), 512, 512);
+ m_tmp_bitmap[1] = auto_bitmap_ind16_alloc(machine(), 512, 512);
}
static SCREEN_UPDATE_IND16(wheelfir)
@@ -764,32 +766,31 @@ static TIMER_DEVICE_CALLBACK( scanline_timer_callback )
}
-static MACHINE_RESET( wheelfir )
+void wheelfir_state::machine_reset()
{
}
-static MACHINE_START( wheelfir )
+void wheelfir_state::machine_start()
{
- wheelfir_state *state = machine.driver_data<wheelfir_state>();
- state->m_maincpu = machine.device<cpu_device>( "maincpu");
- state->m_subcpu = machine.device<cpu_device>( "subcpu");
- state->m_screen = machine.device( "screen");
- state->m_eeprom = machine.device( "eeprom");
+ m_maincpu = machine().device<cpu_device>( "maincpu");
+ m_subcpu = machine().device<cpu_device>( "subcpu");
+ m_screen = machine().device( "screen");
+ m_eeprom = machine().device( "eeprom");
- state->m_zoom_table = auto_alloc_array(machine, INT32, ZOOM_TABLE_SIZE);
- state->m_blitter_data = auto_alloc_array(machine, UINT16, 16);
+ m_zoom_table = auto_alloc_array(machine(), INT32, ZOOM_TABLE_SIZE);
+ m_blitter_data = auto_alloc_array(machine(), UINT16, 16);
- state->m_scanlines = reinterpret_cast<scroll_info*>(auto_alloc_array(machine, UINT8, sizeof(scroll_info)*(NUM_SCANLINES+NUM_VBLANK_LINES)));
- state->m_palette=auto_alloc_array(machine, UINT8, NUM_COLORS*3);
+ m_scanlines = reinterpret_cast<scroll_info*>(auto_alloc_array(machine(), UINT8, sizeof(scroll_info)*(NUM_SCANLINES+NUM_VBLANK_LINES)));
+ m_palette=auto_alloc_array(machine(), UINT8, NUM_COLORS*3);
for(int i=0;i<(ZOOM_TABLE_SIZE);++i)
{
- state->m_zoom_table[i]=-1;
+ m_zoom_table[i]=-1;
}
- UINT16 *ROM = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *ROM = (UINT16 *)machine().root_device().memregion("maincpu")->base();
for(int j=0;j<400;++j)
{
@@ -804,7 +805,7 @@ static MACHINE_START( wheelfir )
int dflag=(ROM[0x200+1+i]&0x10)?1:0;
int index=d0|(d1<<6)|(hflag<<12)|(dflag<<13);
- state->m_zoom_table[index]=j;
+ m_zoom_table[index]=j;
}
}
@@ -820,7 +821,6 @@ static MACHINE_CONFIG_START( wheelfir, wheelfir_state )
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- MCFG_MACHINE_RESET (wheelfir)
MCFG_TIMER_ADD_SCANLINE("scan_timer", scanline_timer_callback, "screen", 0, 1)
@@ -835,9 +835,7 @@ static MACHINE_CONFIG_START( wheelfir, wheelfir_state )
MCFG_EEPROM_93C46_ADD("eeprom")
- MCFG_MACHINE_START(wheelfir)
- MCFG_VIDEO_START(wheelfir)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/whitestar.c b/src/mame/drivers/whitestar.c
index 8bbc7552bac..5f129ace66d 100644
--- a/src/mame/drivers/whitestar.c
+++ b/src/mame/drivers/whitestar.c
@@ -47,6 +47,8 @@ public:
DECLARE_WRITE8_MEMBER(switch_w);
DECLARE_READ8_MEMBER(dedicated_switch_r);
DECLARE_DRIVER_INIT(whitestar);
+ virtual void machine_reset();
+ virtual void palette_init();
};
static INPUT_PORTS_START( whitestar )
@@ -169,10 +171,10 @@ static ADDRESS_MAP_START( whitestar_dmd_map, AS_PROGRAM, 8, whitestar_state )
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("dmdcpu", 0x78000)
ADDRESS_MAP_END
-static MACHINE_RESET( whitestar )
+void whitestar_state::machine_reset()
{
- machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("user1")->base());
- machine.root_device().membank("dmd_bank1")->set_base(machine.root_device().memregion("dmdcpu")->base());
+ machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("user1")->base());
+ machine().root_device().membank("dmd_bank1")->set_base(machine().root_device().memregion("dmdcpu")->base());
}
DRIVER_INIT_MEMBER(whitestar_state,whitestar)
@@ -255,14 +257,14 @@ static const mc6845_interface whitestar_crtc6845_interface =
NULL
};
-static PALETTE_INIT( whitestar )
+void whitestar_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0, 0, 0));
+ palette_set_color(machine(), 0, MAKE_RGB(0, 0, 0));
- palette_set_color(machine, 1, MAKE_RGB(20, 20, 20));
- palette_set_color(machine, 2, MAKE_RGB(84, 73, 10));
- palette_set_color(machine, 3, MAKE_RGB(168, 147, 21));
- palette_set_color(machine, 4, MAKE_RGB(255, 224, 32));
+ palette_set_color(machine(), 1, MAKE_RGB(20, 20, 20));
+ palette_set_color(machine(), 2, MAKE_RGB(84, 73, 10));
+ palette_set_color(machine(), 3, MAKE_RGB(168, 147, 21));
+ palette_set_color(machine(), 4, MAKE_RGB(255, 224, 32));
}
static MACHINE_CONFIG_START( whitestar, whitestar_state )
@@ -275,7 +277,6 @@ static MACHINE_CONFIG_START( whitestar, whitestar_state )
MCFG_CPU_PROGRAM_MAP(whitestar_dmd_map)
MCFG_CPU_PERIODIC_INT(whitestar_firq_interrupt, 80) // value taken from PinMAME
- MCFG_MACHINE_RESET( whitestar )
/* sound hardware */
MCFG_DECOBSMT_ADD(DECOBSMT_TAG)
@@ -286,7 +287,6 @@ static MACHINE_CONFIG_START( whitestar, whitestar_state )
MCFG_DMD_ADD("screen", 128, 32)
MCFG_PALETTE_LENGTH(5)
- MCFG_PALETTE_INIT(whitestar)
MACHINE_CONFIG_END
// 8Mbit ROMs are mapped oddly: the first 4Mbit of each of the ROMs goes in order u17, u21, u36, u37
diff --git a/src/mame/drivers/wildpkr.c b/src/mame/drivers/wildpkr.c
index 512d14ef232..568ead9720e 100644
--- a/src/mame/drivers/wildpkr.c
+++ b/src/mame/drivers/wildpkr.c
@@ -173,6 +173,9 @@ public:
: driver_device(mconfig, type, tag) { }
DECLARE_DRIVER_INIT(wildpkr);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -180,7 +183,7 @@ public:
* Video Hardware *
*************************/
-static VIDEO_START( wildpkr )
+void wildpkr_state::video_start()
{
}
@@ -190,7 +193,7 @@ static SCREEN_UPDATE_IND16( wildpkr )
return 0;
}
-static PALETTE_INIT( wildpkr )
+void wildpkr_state::palette_init()
{
}
@@ -237,7 +240,7 @@ INPUT_PORTS_END
* Machine Start *
*************************/
-static MACHINE_START(wildpkr)
+void wildpkr_state::machine_start()
{
/*
ACRTC memory:
@@ -275,7 +278,6 @@ static MACHINE_CONFIG_START( wildpkr, wildpkr_state )
MCFG_CPU_PROGRAM_MAP(wildpkr_map)
// MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) //guess
- MCFG_MACHINE_START(wildpkr)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -287,10 +289,8 @@ static MACHINE_CONFIG_START( wildpkr, wildpkr_state )
// MCFG_HD63484_ADD("hd63484", wildpkr_hd63484_intf)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
- MCFG_PALETTE_INIT(wildpkr)
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(wildpkr)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/williams.c b/src/mame/drivers/williams.c
index e90b7832cbd..bb0765f749c 100644
--- a/src/mame/drivers/williams.c
+++ b/src/mame/drivers/williams.c
@@ -1439,8 +1439,8 @@ static MACHINE_CONFIG_START( defender, williams_state )
MCFG_CPU_ADD("soundcpu", M6808, SOUND_CLOCK) // internal clock divider of 4, effective frequency is 894.886kHz
MCFG_CPU_PROGRAM_MAP(defender_sound_map)
- MCFG_MACHINE_START(defender)
- MCFG_MACHINE_RESET(defender)
+ MCFG_MACHINE_START_OVERRIDE(williams_state,defender)
+ MCFG_MACHINE_RESET_OVERRIDE(williams_state,defender)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_ADD("scan_timer", williams_va11_callback)
@@ -1453,7 +1453,7 @@ static MACHINE_CONFIG_START( defender, williams_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK*2/3, 512, 10, 304, 260, 7, 245)
MCFG_SCREEN_UPDATE_STATIC(williams)
- MCFG_VIDEO_START(williams)
+ MCFG_VIDEO_START_OVERRIDE(williams_state,williams)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1485,8 +1485,8 @@ static MACHINE_CONFIG_DERIVED( williams, defender )
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(williams)
- MCFG_MACHINE_RESET(williams)
+ MCFG_MACHINE_START_OVERRIDE(williams_state,williams)
+ MCFG_MACHINE_RESET_OVERRIDE(williams_state,williams)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(6, 298-1, 7, 247-1)
MACHINE_CONFIG_END
@@ -1536,8 +1536,8 @@ static MACHINE_CONFIG_DERIVED( alienar, defender )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(williams_map)
- MCFG_MACHINE_START(williams)
- MCFG_MACHINE_RESET(williams)
+ MCFG_MACHINE_START_OVERRIDE(williams_state,williams)
+ MCFG_MACHINE_RESET_OVERRIDE(williams_state,williams)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(6, 298-1, 7, 247-1)
@@ -1584,11 +1584,11 @@ static MACHINE_CONFIG_DERIVED( blastkit, williams )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(blaster_map)
- MCFG_MACHINE_START(blaster)
- MCFG_MACHINE_RESET(blaster)
+ MCFG_MACHINE_START_OVERRIDE(williams_state,blaster)
+ MCFG_MACHINE_RESET_OVERRIDE(williams_state,blaster)
/* video hardware */
- MCFG_VIDEO_START(blaster)
+ MCFG_VIDEO_START_OVERRIDE(williams_state,blaster)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(blaster)
@@ -1629,8 +1629,8 @@ static MACHINE_CONFIG_START( williams2, williams_state )
MCFG_CPU_ADD("soundcpu", M6808, MASTER_CLOCK/3) /* yes, this is different from the older games */
MCFG_CPU_PROGRAM_MAP(williams2_sound_map)
- MCFG_MACHINE_START(williams2)
- MCFG_MACHINE_RESET(williams2)
+ MCFG_MACHINE_START_OVERRIDE(williams_state,williams2)
+ MCFG_MACHINE_RESET_OVERRIDE(williams_state,williams2)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_ADD("scan_timer", williams2_va11_callback)
@@ -1645,7 +1645,7 @@ static MACHINE_CONFIG_START( williams2, williams_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK*2/3, 512, 8, 284, 260, 8, 248)
MCFG_SCREEN_UPDATE_STATIC(williams2)
- MCFG_VIDEO_START(williams2)
+ MCFG_VIDEO_START_OVERRIDE(williams_state,williams2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1696,8 +1696,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( joust2, williams2, joust2_state )
MCFG_WILLIAMS_CVSD_SOUND_ADD("cvsd")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
- MCFG_MACHINE_START(joust2)
- MCFG_MACHINE_RESET(joust2)
+ MCFG_MACHINE_START_OVERRIDE(joust2_state,joust2)
+ MCFG_MACHINE_RESET_OVERRIDE(joust2_state,joust2)
/* pia */
MCFG_PIA6821_MODIFY("pia_1", joust2_pia_1_intf)
diff --git a/src/mame/drivers/wink.c b/src/mame/drivers/wink.c
index 53e4d0b5f47..9126bf1978b 100644
--- a/src/mame/drivers/wink.c
+++ b/src/mame/drivers/wink.c
@@ -40,6 +40,8 @@ public:
DECLARE_READ8_MEMBER(sound_r);
DECLARE_DRIVER_INIT(wink);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -58,10 +60,9 @@ TILE_GET_INFO_MEMBER(wink_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
-static VIDEO_START( wink )
+void wink_state::video_start()
{
- wink_state *state = machine.driver_data<wink_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wink_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wink_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static SCREEN_UPDATE_IND16( wink )
@@ -334,10 +335,9 @@ static INTERRUPT_GEN( wink_sound )
state->m_sound_flag ^= 0x80;
}
-static MACHINE_RESET( wink )
+void wink_state::machine_reset()
{
- wink_state *state = machine.driver_data<wink_state>();
- state->m_sound_flag = 0;
+ m_sound_flag = 0;
}
static MACHINE_CONFIG_START( wink, wink_state )
@@ -353,7 +353,6 @@ static MACHINE_CONFIG_START( wink, wink_state )
MCFG_CPU_PERIODIC_INT(wink_sound, 15625)
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_MACHINE_RESET(wink)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -366,7 +365,6 @@ static MACHINE_CONFIG_START( wink, wink_state )
MCFG_GFXDECODE(wink)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(wink)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/wiping.c b/src/mame/drivers/wiping.c
index 36f0d87a8f4..22ec05471b2 100644
--- a/src/mame/drivers/wiping.c
+++ b/src/mame/drivers/wiping.c
@@ -302,7 +302,6 @@ static MACHINE_CONFIG_START( wiping, wiping_state )
MCFG_GFXDECODE(wiping)
MCFG_PALETTE_LENGTH(64*4+64*4)
- MCFG_PALETTE_INIT(wiping)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/witch.c b/src/mame/drivers/witch.c
index fc5e0e5b498..00ba320310f 100644
--- a/src/mame/drivers/witch.c
+++ b/src/mame/drivers/witch.c
@@ -237,6 +237,7 @@ public:
TILE_GET_INFO_MEMBER(get_gfx0b_tile_info);
TILE_GET_INFO_MEMBER(get_gfx0a_tile_info);
TILE_GET_INFO_MEMBER(get_gfx1_tile_info);
+ virtual void video_start();
};
@@ -702,18 +703,17 @@ static GFXDECODE_START( witch )
GFXDECODE_ENTRY( "gfx2", 0, tiles8x8_layout, 0, 16 )
GFXDECODE_END
-static VIDEO_START(witch)
+void witch_state::video_start()
{
- witch_state *state = machine.driver_data<witch_state>();
- state->m_gfx0a_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(witch_state::get_gfx0a_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_gfx0b_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(witch_state::get_gfx0b_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_gfx1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(witch_state::get_gfx1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
-
- state->m_gfx0a_tilemap->set_transparent_pen(0);
- state->m_gfx0b_tilemap->set_transparent_pen(0);
- state->m_gfx0a_tilemap->set_palette_offset(0x100);
- state->m_gfx0b_tilemap->set_palette_offset(0x100);
- state->m_gfx1_tilemap->set_palette_offset(0x200);
+ m_gfx0a_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(witch_state::get_gfx0a_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_gfx0b_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(witch_state::get_gfx0b_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_gfx1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(witch_state::get_gfx1_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+
+ m_gfx0a_tilemap->set_transparent_pen(0);
+ m_gfx0b_tilemap->set_transparent_pen(0);
+ m_gfx0a_tilemap->set_palette_offset(0x100);
+ m_gfx0b_tilemap->set_palette_offset(0x100);
+ m_gfx1_tilemap->set_palette_offset(0x200);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -813,7 +813,6 @@ static MACHINE_CONFIG_START( witch, witch_state )
MCFG_GFXDECODE(witch)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_VIDEO_START(witch)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/wiz.c b/src/mame/drivers/wiz.c
index f3a3b46df8a..ad8573bba66 100644
--- a/src/mame/drivers/wiz.c
+++ b/src/mame/drivers/wiz.c
@@ -695,10 +695,9 @@ DISCRETE_SOUND_END
//* ANALOG SOUND ENDS
-static MACHINE_RESET( wiz )
+void wiz_state::machine_reset()
{
- wiz_state *state = machine.driver_data<wiz_state>();
- state->m_dsc0 = state->m_dsc1 = 1;
+ m_dsc0 = m_dsc1 = 1;
}
static INTERRUPT_GEN( wiz_vblank_interrupt )
@@ -729,7 +728,6 @@ static MACHINE_CONFIG_START( wiz, wiz_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_PERIODIC_INT(wiz_sound_interrupt,4*60) /* ??? */
- MCFG_MACHINE_RESET( wiz )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -742,8 +740,6 @@ static MACHINE_CONFIG_START( wiz, wiz_state )
MCFG_GFXDECODE(wiz)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(wiz)
- MCFG_VIDEO_START(wiz)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/wolfpack.c b/src/mame/drivers/wolfpack.c
index cfdb5ac9f22..3d48fa46565 100644
--- a/src/mame/drivers/wolfpack.c
+++ b/src/mame/drivers/wolfpack.c
@@ -24,9 +24,9 @@ static TIMER_CALLBACK( periodic_callback )
}
-static MACHINE_RESET( wolfpack )
+void wolfpack_state::machine_reset()
{
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(0), FUNC(periodic_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(periodic_callback));
}
@@ -294,7 +294,6 @@ static MACHINE_CONFIG_START( wolfpack, wolfpack_state )
MCFG_CPU_PROGRAM_MAP(main_map)
/* video hardware */
- MCFG_MACHINE_RESET(wolfpack)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -306,8 +305,6 @@ static MACHINE_CONFIG_START( wolfpack, wolfpack_state )
MCFG_GFXDECODE(wolfpack)
MCFG_PALETTE_LENGTH(12)
- MCFG_PALETTE_INIT(wolfpack)
- MCFG_VIDEO_START(wolfpack)
/* sound hardware */
MCFG_SOUND_ADD("speech", S14001A, 20000) /* RC Clock (C=100pf, R=470K-670K ohms, adjustable) ranging from 14925.37313hz to 21276.59574hz, likely factory set to 20000hz since anything below 19500 is too slow */
diff --git a/src/mame/drivers/wrally.c b/src/mame/drivers/wrally.c
index 1adb78bad6f..9e10f44cf3d 100644
--- a/src/mame/drivers/wrally.c
+++ b/src/mame/drivers/wrally.c
@@ -268,7 +268,6 @@ static MACHINE_CONFIG_START( wrally, wrally_state )
MCFG_GFXDECODE(wrally)
MCFG_PALETTE_LENGTH(1024*8)
- MCFG_VIDEO_START(wrally)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/wwfsstar.c b/src/mame/drivers/wwfsstar.c
index f624b2db068..ecc96580ef7 100644
--- a/src/mame/drivers/wwfsstar.c
+++ b/src/mame/drivers/wwfsstar.c
@@ -439,7 +439,6 @@ static MACHINE_CONFIG_START( wwfsstar, wwfsstar_state )
MCFG_GFXDECODE(wwfsstar)
MCFG_PALETTE_LENGTH(384)
- MCFG_VIDEO_START(wwfsstar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/wwfwfest.c b/src/mame/drivers/wwfwfest.c
index 27a60268a6c..a2cac42ce58 100644
--- a/src/mame/drivers/wwfwfest.c
+++ b/src/mame/drivers/wwfwfest.c
@@ -403,7 +403,6 @@ static MACHINE_CONFIG_START( wwfwfest, wwfwfest_state )
MCFG_GFXDECODE(wwfwfest)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(wwfwfest)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -418,7 +417,7 @@ static MACHINE_CONFIG_START( wwfwfest, wwfwfest_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( wwfwfstb, wwfwfest )
- MCFG_VIDEO_START(wwfwfstb)
+ MCFG_VIDEO_START_OVERRIDE(wwfwfest_state,wwfwfstb)
MACHINE_CONFIG_END
/*******************************************************************************
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index 5c54668423f..b4df3d2aa60 100644
--- a/src/mame/drivers/xain.c
+++ b/src/mame/drivers/xain.c
@@ -566,12 +566,12 @@ static const ym2203_interface ym2203_config =
DEVCB_LINE(irqhandler)
};
-static MACHINE_START( xsleena )
+void xain_state::machine_start()
{
- machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base() + 0x4000, 0xc000);
- machine.root_device().membank("bank2")->configure_entries(0, 2, machine.root_device().memregion("sub")->base() + 0x4000, 0xc000);
- machine.root_device().membank("bank1")->set_entry(0);
- machine.root_device().membank("bank2")->set_entry(0);
+ machine().root_device().membank("bank1")->configure_entries(0, 2, machine().root_device().memregion("maincpu")->base() + 0x4000, 0xc000);
+ machine().root_device().membank("bank2")->configure_entries(0, 2, machine().root_device().memregion("sub")->base() + 0x4000, 0xc000);
+ machine().root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank2")->set_entry(0);
}
static MACHINE_CONFIG_START( xsleena, xain_state )
@@ -590,7 +590,6 @@ static MACHINE_CONFIG_START( xsleena, xain_state )
MCFG_CPU_ADD("mcu", M68705, MCU_CLOCK)
MCFG_CPU_PROGRAM_MAP(mcu_map)
- MCFG_MACHINE_START(xsleena)
MCFG_QUANTUM_PERFECT_CPU("maincpu")
@@ -602,7 +601,6 @@ static MACHINE_CONFIG_START( xsleena, xain_state )
MCFG_GFXDECODE(xain)
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(xain)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index 1c3e566c84d..b6ecf1babe7 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -453,62 +453,60 @@ static void xexex_postload(running_machine &machine)
reset_sound_region(machine);
}
-static MACHINE_START( xexex )
+void xexex_state::machine_start()
{
- xexex_state *state = machine.driver_data<xexex_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
-
- state->membank("bank2")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
- state->membank("bank2")->set_entry(0);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053246 = machine.device("k053246");
- state->m_k053250 = machine.device<k053250_t>("k053250");
- state->m_k053251 = machine.device("k053251");
- state->m_k053252 = machine.device("k053252");
- state->m_k056832 = machine.device("k056832");
- state->m_k054338 = machine.device("k054338");
- state->m_k054539 = machine.device("k054539");
- state->m_filter1l = machine.device("filter1l");
- state->m_filter1r = machine.device("filter1r");
- state->m_filter2l = machine.device("filter2l");
- state->m_filter2r = machine.device("filter2r");
-
- state->save_item(NAME(state->m_cur_alpha));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_layerpri));
-
- state->save_item(NAME(state->m_suspension_active));
- state->save_item(NAME(state->m_frame));
-
- state->save_item(NAME(state->m_cur_control2));
- state->save_item(NAME(state->m_cur_sound_region));
- machine.save().register_postload(save_prepost_delegate(FUNC(xexex_postload), &machine));
-
- state->m_dmadelay_timer = machine.scheduler().timer_alloc(FUNC(dmaend_callback));
+ UINT8 *ROM = memregion("audiocpu")->base();
+
+ membank("bank2")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ membank("bank2")->set_entry(0);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053246 = machine().device("k053246");
+ m_k053250 = machine().device<k053250_t>("k053250");
+ m_k053251 = machine().device("k053251");
+ m_k053252 = machine().device("k053252");
+ m_k056832 = machine().device("k056832");
+ m_k054338 = machine().device("k054338");
+ m_k054539 = machine().device("k054539");
+ m_filter1l = machine().device("filter1l");
+ m_filter1r = machine().device("filter1r");
+ m_filter2l = machine().device("filter2l");
+ m_filter2r = machine().device("filter2r");
+
+ save_item(NAME(m_cur_alpha));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_layerpri));
+
+ save_item(NAME(m_suspension_active));
+ save_item(NAME(m_frame));
+
+ save_item(NAME(m_cur_control2));
+ save_item(NAME(m_cur_sound_region));
+ machine().save().register_postload(save_prepost_delegate(FUNC(xexex_postload), &machine()));
+
+ m_dmadelay_timer = machine().scheduler().timer_alloc(FUNC(dmaend_callback));
}
-static MACHINE_RESET( xexex )
+void xexex_state::machine_reset()
{
- xexex_state *state = machine.driver_data<xexex_state>();
int i;
for (i = 0; i < 4; i++)
{
- state->m_layerpri[i] = 0;
- state->m_layer_colorbase[i] = 0;
+ m_layerpri[i] = 0;
+ m_layer_colorbase[i] = 0;
}
- state->m_sprite_colorbase = 0;
+ m_sprite_colorbase = 0;
- state->m_cur_control2 = 0;
- state->m_cur_sound_region = 0;
- state->m_suspension_active = 0;
- state->m_resume_trigger = 1000;
- state->m_frame = -1;
- machine.device<k054539_device>("k054539")->init_flags(k054539_device::REVERSE_STEREO);
+ m_cur_control2 = 0;
+ m_cur_sound_region = 0;
+ m_suspension_active = 0;
+ m_resume_trigger = 1000;
+ m_frame = -1;
+ machine().device<k054539_device>("k054539")->init_flags(k054539_device::REVERSE_STEREO);
}
static MACHINE_CONFIG_START( xexex, xexex_state )
@@ -525,8 +523,6 @@ static MACHINE_CONFIG_START( xexex, xexex_state )
MCFG_QUANTUM_TIME(attotime::from_hz(1920))
- MCFG_MACHINE_START(xexex)
- MCFG_MACHINE_RESET(xexex)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -543,7 +539,6 @@ static MACHINE_CONFIG_START( xexex, xexex_state )
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(xexex)
MCFG_K056832_ADD("k056832", xexex_k056832_intf)
MCFG_K053246_ADD("k053246", xexex_k053246_intf)
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index 7b3d0fc48cb..6d16f5c572b 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -292,45 +292,43 @@ static INPUT_PORTS_START( xmen6p )
INPUT_PORTS_END
-static MACHINE_START( xmen )
+void xmen_state::machine_start()
{
- xmen_state *state = machine.driver_data<xmen_state>();
- UINT8 *ROM = state->memregion("audiocpu")->base();
-
- state->membank("bank4")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
- state->membank("bank4")->set_entry(0);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053246 = machine.device("k053246");
- state->m_k053251 = machine.device("k053251");
- state->m_k052109 = machine.device("k052109");
- state->m_k054539 = machine.device("k054539");
- state->m_lscreen = machine.device("lscreen");
- state->m_rscreen = machine.device("rscreen");
-
- state->save_item(NAME(state->m_sound_curbank));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_layerpri));
- state->save_item(NAME(state->m_vblank_irq_mask));
- machine.save().register_postload(save_prepost_delegate(FUNC(sound_reset_bank), &machine));
+ UINT8 *ROM = memregion("audiocpu")->base();
+
+ membank("bank4")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
+ membank("bank4")->set_entry(0);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053246 = machine().device("k053246");
+ m_k053251 = machine().device("k053251");
+ m_k052109 = machine().device("k052109");
+ m_k054539 = machine().device("k054539");
+ m_lscreen = machine().device("lscreen");
+ m_rscreen = machine().device("rscreen");
+
+ save_item(NAME(m_sound_curbank));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_layerpri));
+ save_item(NAME(m_vblank_irq_mask));
+ machine().save().register_postload(save_prepost_delegate(FUNC(sound_reset_bank), &machine()));
}
-static MACHINE_RESET( xmen )
+void xmen_state::machine_reset()
{
- xmen_state *state = machine.driver_data<xmen_state>();
int i;
for (i = 0; i < 3; i++)
{
- state->m_layerpri[i] = 0;
- state->m_layer_colorbase[i] = 0;
+ m_layerpri[i] = 0;
+ m_layer_colorbase[i] = 0;
}
- state->m_sprite_colorbase = 0;
- state->m_sound_curbank = 0;
- state->m_vblank_irq_mask = 0;
+ m_sprite_colorbase = 0;
+ m_sound_curbank = 0;
+ m_vblank_irq_mask = 0;
}
static const k052109_interface xmen_k052109_intf =
@@ -376,8 +374,6 @@ static MACHINE_CONFIG_START( xmen, xmen_state )
MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/2) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(xmen)
- MCFG_MACHINE_RESET(xmen)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -428,8 +424,6 @@ static MACHINE_CONFIG_START( xmen6p, xmen_state )
MCFG_CPU_ADD("audiocpu", Z80,8000000) /* verified with M1, guessed but accurate */
MCFG_CPU_PROGRAM_MAP(sound_map)
- MCFG_MACHINE_START(xmen)
- MCFG_MACHINE_RESET(xmen)
MCFG_EEPROM_ADD("eeprom", eeprom_intf)
@@ -453,7 +447,7 @@ static MACHINE_CONFIG_START( xmen6p, xmen_state )
MCFG_SCREEN_UPDATE_STATIC(xmen6p_right)
MCFG_SCREEN_VBLANK_STATIC(xmen6p)
- MCFG_VIDEO_START(xmen6p)
+ MCFG_VIDEO_START_OVERRIDE(xmen_state,xmen6p)
MCFG_K052109_ADD("k052109", xmen_k052109_intf)
MCFG_K053246_ADD("k053246", xmen6p_k053246_intf)
diff --git a/src/mame/drivers/xorworld.c b/src/mame/drivers/xorworld.c
index b7745362529..34c95b30a69 100644
--- a/src/mame/drivers/xorworld.c
+++ b/src/mame/drivers/xorworld.c
@@ -193,8 +193,6 @@ static MACHINE_CONFIG_START( xorworld, xorworld_state )
MCFG_GFXDECODE(xorworld)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(xorworld)
- MCFG_VIDEO_START(xorworld)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/xtom3d.c b/src/mame/drivers/xtom3d.c
index c384d96ffce..c427fbc15f9 100644
--- a/src/mame/drivers/xtom3d.c
+++ b/src/mame/drivers/xtom3d.c
@@ -113,6 +113,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(pc_dack2_w);
DECLARE_WRITE_LINE_MEMBER(pc_dack3_w);
DECLARE_WRITE_LINE_MEMBER(xtom3d_pic8259_1_set_int_line);
+ virtual void machine_start();
+ virtual void machine_reset();
};
// Intel 82439TX System Controller (MXTC)
@@ -644,37 +646,36 @@ static void ide_interrupt(device_t *device, int state)
static READ8_HANDLER( vga_setting ) { return 0xff; } // hard-code to color
-static MACHINE_START( xtom3d )
+void xtom3d_state::machine_start()
{
- xtom3d_state *state = machine.driver_data<xtom3d_state>();
- state->m_bios_ram = auto_alloc_array(machine, UINT32, 0x10000/4);
- state->m_bios_ext1_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_bios_ext2_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_bios_ext3_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_bios_ext4_ram = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_isa_ram1 = auto_alloc_array(machine, UINT32, 0x4000/4);
- state->m_isa_ram2 = auto_alloc_array(machine, UINT32, 0x4000/4);
+ m_bios_ram = auto_alloc_array(machine(), UINT32, 0x10000/4);
+ m_bios_ext1_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_bios_ext2_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_bios_ext3_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_bios_ext4_ram = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_isa_ram1 = auto_alloc_array(machine(), UINT32, 0x4000/4);
+ m_isa_ram2 = auto_alloc_array(machine(), UINT32, 0x4000/4);
- init_pc_common(machine, PCCOMMON_KEYBOARD_AT, xtom3d_set_keyb_int);
+ init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, xtom3d_set_keyb_int);
- state->m_maincpu->set_irq_acknowledge_callback(irq_callback);
- intel82439tx_init(machine);
+ m_maincpu->set_irq_acknowledge_callback(irq_callback);
+ intel82439tx_init(machine());
- kbdc8042_init(machine, &at8042);
- pc_vga_init(machine, vga_setting, NULL);
- pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine.device("maincpu")->memory().space(AS_IO), 0x0000);
+ kbdc8042_init(machine(), &at8042);
+ pc_vga_init(machine(), vga_setting, NULL);
+ pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000);
}
-static MACHINE_RESET( xtom3d )
+void xtom3d_state::machine_reset()
{
- machine.root_device().membank("bios_bank")->set_base(machine.root_device().memregion("bios")->base() + 0x10000);
- machine.root_device().membank("bios_ext1")->set_base(machine.root_device().memregion("bios")->base() + 0);
- machine.root_device().membank("bios_ext2")->set_base(machine.root_device().memregion("bios")->base() + 0x4000);
- machine.root_device().membank("bios_ext3")->set_base(machine.root_device().memregion("bios")->base() + 0x8000);
- machine.root_device().membank("bios_ext4")->set_base(machine.root_device().memregion("bios")->base() + 0xc000);
- machine.root_device().membank("video_bank1")->set_base(machine.root_device().memregion("video_bios")->base() + 0);
- machine.root_device().membank("video_bank2")->set_base(machine.root_device().memregion("video_bios")->base() + 0x4000);
+ machine().root_device().membank("bios_bank")->set_base(machine().root_device().memregion("bios")->base() + 0x10000);
+ machine().root_device().membank("bios_ext1")->set_base(machine().root_device().memregion("bios")->base() + 0);
+ machine().root_device().membank("bios_ext2")->set_base(machine().root_device().memregion("bios")->base() + 0x4000);
+ machine().root_device().membank("bios_ext3")->set_base(machine().root_device().memregion("bios")->base() + 0x8000);
+ machine().root_device().membank("bios_ext4")->set_base(machine().root_device().memregion("bios")->base() + 0xc000);
+ machine().root_device().membank("video_bank1")->set_base(machine().root_device().memregion("video_bios")->base() + 0);
+ machine().root_device().membank("video_bank2")->set_base(machine().root_device().memregion("video_bios")->base() + 0x4000);
}
static const ide_config ide_intf =
@@ -689,8 +690,6 @@ static MACHINE_CONFIG_START( xtom3d, xtom3d_state )
MCFG_CPU_PROGRAM_MAP(xtom3d_map)
MCFG_CPU_IO_MAP(xtom3d_io)
- MCFG_MACHINE_START(xtom3d)
- MCFG_MACHINE_RESET(xtom3d)
MCFG_PIT8254_ADD( "pit8254", xtom3d_pit8254_config )
MCFG_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
diff --git a/src/mame/drivers/xxmissio.c b/src/mame/drivers/xxmissio.c
index 94fac5f9de3..35179eab5b2 100644
--- a/src/mame/drivers/xxmissio.c
+++ b/src/mame/drivers/xxmissio.c
@@ -77,10 +77,10 @@ static INTERRUPT_GEN( xxmissio_interrupt_s )
device->execute().set_input_line(0, HOLD_LINE);
}
-static MACHINE_START( xxmissio )
+void xxmissio_state::machine_start()
{
- machine.root_device().membank("bank1")->configure_entries(0, 8, machine.root_device().memregion("user1")->base(), 0x4000);
- machine.root_device().membank("bank1")->set_entry(0);
+ machine().root_device().membank("bank1")->configure_entries(0, 8, machine().root_device().memregion("user1")->base(), 0x4000);
+ machine().root_device().membank("bank1")->set_entry(0);
}
/****************************************************************************/
@@ -294,7 +294,6 @@ static MACHINE_CONFIG_START( xxmissio, xxmissio_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_MACHINE_START(xxmissio)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -307,7 +306,6 @@ static MACHINE_CONFIG_START( xxmissio, xxmissio_state )
MCFG_GFXDECODE(xxmissio)
MCFG_PALETTE_LENGTH(768)
- MCFG_VIDEO_START(xxmissio)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/xybots.c b/src/mame/drivers/xybots.c
index 47283ac1f52..9dfd64833c0 100644
--- a/src/mame/drivers/xybots.c
+++ b/src/mame/drivers/xybots.c
@@ -40,19 +40,18 @@ static void update_interrupts(running_machine &machine)
}
-static MACHINE_START( xybots )
+MACHINE_START_MEMBER(xybots_state,xybots)
{
- atarigen_init(machine);
+ atarigen_init(machine());
}
-static MACHINE_RESET( xybots )
+MACHINE_RESET_MEMBER(xybots_state,xybots)
{
- xybots_state *state = machine.driver_data<xybots_state>();
- atarigen_eeprom_reset(state);
- atarigen_slapstic_reset(state);
- atarigen_interrupt_reset(state, update_interrupts);
+ atarigen_eeprom_reset(this);
+ atarigen_slapstic_reset(this);
+ atarigen_interrupt_reset(this, update_interrupts);
atarijsa_reset();
}
@@ -198,8 +197,8 @@ static MACHINE_CONFIG_START( xybots, xybots_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
- MCFG_MACHINE_START(xybots)
- MCFG_MACHINE_RESET(xybots)
+ MCFG_MACHINE_START_OVERRIDE(xybots_state,xybots)
+ MCFG_MACHINE_RESET_OVERRIDE(xybots_state,xybots)
MCFG_NVRAM_ADD_1FILL("eeprom")
/* video hardware */
@@ -213,7 +212,7 @@ static MACHINE_CONFIG_START( xybots, xybots_state )
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
MCFG_SCREEN_UPDATE_STATIC(xybots)
- MCFG_VIDEO_START(xybots)
+ MCFG_VIDEO_START_OVERRIDE(xybots_state,xybots)
/* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_stereo_swapped)
diff --git a/src/mame/drivers/xyonix.c b/src/mame/drivers/xyonix.c
index 85aabddec37..80d6e1b2822 100644
--- a/src/mame/drivers/xyonix.c
+++ b/src/mame/drivers/xyonix.c
@@ -249,8 +249,6 @@ static MACHINE_CONFIG_START( xyonix, xyonix_state )
MCFG_GFXDECODE(xyonix)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(xyonix)
- MCFG_VIDEO_START(xyonix)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/yiear.c b/src/mame/drivers/yiear.c
index 013f61503bd..1a489f0a0c7 100644
--- a/src/mame/drivers/yiear.c
+++ b/src/mame/drivers/yiear.c
@@ -263,18 +263,16 @@ GFXDECODE_END
-static MACHINE_START( yiear )
+void yiear_state::machine_start()
{
- yiear_state *state = machine.driver_data<yiear_state>();
- state->save_item(NAME(state->m_yiear_nmi_enable));
+ save_item(NAME(m_yiear_nmi_enable));
}
-static MACHINE_RESET( yiear )
+void yiear_state::machine_reset()
{
- yiear_state *state = machine.driver_data<yiear_state>();
- state->m_yiear_nmi_enable = 0;
+ m_yiear_nmi_enable = 0;
}
//-------------------------------------------------
@@ -294,8 +292,6 @@ static MACHINE_CONFIG_START( yiear, yiear_state )
MCFG_CPU_VBLANK_INT("screen", yiear_vblank_interrupt)
MCFG_CPU_PERIODIC_INT(yiear_nmi_interrupt,480) /* music tempo (correct frequency unknown) */
- MCFG_MACHINE_START(yiear)
- MCFG_MACHINE_RESET(yiear)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -308,8 +304,6 @@ static MACHINE_CONFIG_START( yiear, yiear_state )
MCFG_GFXDECODE(yiear)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(yiear)
- MCFG_VIDEO_START(yiear)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/yunsun16.c b/src/mame/drivers/yunsun16.c
index 47d7eb37103..cb2d5e74e9c 100644
--- a/src/mame/drivers/yunsun16.c
+++ b/src/mame/drivers/yunsun16.c
@@ -554,22 +554,20 @@ GFXDECODE_END
***************************************************************************/
-static MACHINE_START( yunsun16 )
+void yunsun16_state::machine_start()
{
- yunsun16_state *state = machine.driver_data<yunsun16_state>();
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_sprites_scrolldx));
- state->save_item(NAME(state->m_sprites_scrolldy));
+ save_item(NAME(m_sprites_scrolldx));
+ save_item(NAME(m_sprites_scrolldy));
}
-static MACHINE_RESET( yunsun16 )
+void yunsun16_state::machine_reset()
{
- yunsun16_state *state = machine.driver_data<yunsun16_state>();
- state->m_sprites_scrolldx = -0x40;
- state->m_sprites_scrolldy = -0x0f;
+ m_sprites_scrolldx = -0x40;
+ m_sprites_scrolldy = -0x0f;
}
/***************************************************************************
@@ -598,8 +596,6 @@ static MACHINE_CONFIG_START( magicbub, yunsun16_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_port_map)
- MCFG_MACHINE_START(yunsun16)
- MCFG_MACHINE_RESET(yunsun16)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -612,7 +608,6 @@ static MACHINE_CONFIG_START( magicbub, yunsun16_state )
MCFG_GFXDECODE(yunsun16)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(yunsun16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -639,8 +634,6 @@ static MACHINE_CONFIG_START( shocking, yunsun16_state )
MCFG_CPU_PROGRAM_MAP(main_map)
MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
- MCFG_MACHINE_START(yunsun16)
- MCFG_MACHINE_RESET(yunsun16)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -653,7 +646,6 @@ static MACHINE_CONFIG_START( shocking, yunsun16_state )
MCFG_GFXDECODE(yunsun16)
MCFG_PALETTE_LENGTH(8192)
- MCFG_VIDEO_START(yunsun16)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/yunsung8.c b/src/mame/drivers/yunsung8.c
index 7b38def2543..c0ba0f4f71c 100644
--- a/src/mame/drivers/yunsung8.c
+++ b/src/mame/drivers/yunsung8.c
@@ -464,37 +464,35 @@ static const msm5205_interface yunsung8_msm5205_interface =
};
-static MACHINE_START( yunsung8 )
+void yunsung8_state::machine_start()
{
- yunsung8_state *state = machine.driver_data<yunsung8_state>();
- UINT8 *MAIN = state->memregion("maincpu")->base();
- UINT8 *AUDIO = state->memregion("audiocpu")->base();
+ UINT8 *MAIN = memregion("maincpu")->base();
+ UINT8 *AUDIO = memregion("audiocpu")->base();
- state->m_videoram_0 = state->m_videoram + 0x0000; // Ram is banked
- state->m_videoram_1 = state->m_videoram + 0x2000;
+ m_videoram_0 = m_videoram + 0x0000; // Ram is banked
+ m_videoram_1 = m_videoram + 0x2000;
- state->membank("bank1")->configure_entries(0, 3, &MAIN[0x00000], 0x4000);
- state->membank("bank1")->configure_entries(3, 5, &MAIN[0x10000], 0x4000);
- state->membank("bank2")->configure_entries(0, 3, &AUDIO[0x00000], 0x4000);
- state->membank("bank2")->configure_entries(3, 5, &AUDIO[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 3, &MAIN[0x00000], 0x4000);
+ membank("bank1")->configure_entries(3, 5, &MAIN[0x10000], 0x4000);
+ membank("bank2")->configure_entries(0, 3, &AUDIO[0x00000], 0x4000);
+ membank("bank2")->configure_entries(3, 5, &AUDIO[0x10000], 0x4000);
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
- state->save_item(NAME(state->m_videoram));
- state->save_item(NAME(state->m_layers_ctrl));
- state->save_item(NAME(state->m_videobank));
- state->save_item(NAME(state->m_adpcm));
- state->save_item(NAME(state->m_toggle));
+ save_item(NAME(m_videoram));
+ save_item(NAME(m_layers_ctrl));
+ save_item(NAME(m_videobank));
+ save_item(NAME(m_adpcm));
+ save_item(NAME(m_toggle));
}
-static MACHINE_RESET( yunsung8 )
+void yunsung8_state::machine_reset()
{
- yunsung8_state *state = machine.driver_data<yunsung8_state>();
- state->m_videobank = 0;
- state->m_layers_ctrl = 0;
- state->m_adpcm = 0;
- state->m_toggle = 0;
+ m_videobank = 0;
+ m_layers_ctrl = 0;
+ m_adpcm = 0;
+ m_toggle = 0;
}
@@ -510,8 +508,6 @@ static MACHINE_CONFIG_START( yunsung8, yunsung8_state )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* NMI caused by the MSM5205? */
- MCFG_MACHINE_START(yunsung8)
- MCFG_MACHINE_RESET(yunsung8)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -524,7 +520,6 @@ static MACHINE_CONFIG_START( yunsung8, yunsung8_state )
MCFG_GFXDECODE(yunsung8)
MCFG_PALETTE_LENGTH(2048)
- MCFG_VIDEO_START(yunsung8)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c
index 46a0cc563cc..4bdb485a15b 100644
--- a/src/mame/drivers/zac2650.c
+++ b/src/mame/drivers/zac2650.c
@@ -181,12 +181,12 @@ static INPUT_PORTS_START( dodgem )
INPUT_PORTS_END
-static PALETTE_INIT( zac2650 )
+void zac2650_state::palette_init()
{
- palette_set_color(machine,0,RGB_BLACK);
- palette_set_color(machine,1,RGB_WHITE);
- palette_set_color(machine,2,RGB_BLACK);
- palette_set_color(machine,3,RGB_BLACK);
+ palette_set_color(machine(),0,RGB_BLACK);
+ palette_set_color(machine(),1,RGB_WHITE);
+ palette_set_color(machine(),2,RGB_BLACK);
+ palette_set_color(machine(),3,RGB_BLACK);
}
/************************************************************************************************
@@ -249,8 +249,6 @@ static MACHINE_CONFIG_START( tinvader, zac2650_state )
MCFG_GFXDECODE(tinvader)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(zac2650)
- MCFG_VIDEO_START(tinvader)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index 3ab606680cc..0cbba7a6769 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -611,8 +611,6 @@ static MACHINE_CONFIG_START( zaccaria, zaccaria_state )
MCFG_GFXDECODE(zaccaria)
MCFG_PALETTE_LENGTH(32*8+32*8)
- MCFG_PALETTE_INIT(zaccaria)
- MCFG_VIDEO_START(zaccaria)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/zaxxon.c b/src/mame/drivers/zaxxon.c
index 8fd2e92be8b..362089f68fe 100644
--- a/src/mame/drivers/zaxxon.c
+++ b/src/mame/drivers/zaxxon.c
@@ -321,14 +321,13 @@ WRITE8_MEMBER(zaxxon_state::int_enable_w)
*
*************************************/
-static MACHINE_START( zaxxon )
+void zaxxon_state::machine_start()
{
- zaxxon_state *state = machine.driver_data<zaxxon_state>();
/* register for save states */
- state->save_item(NAME(state->m_int_enabled));
- state->save_item(NAME(state->m_coin_status));
- state->save_item(NAME(state->m_coin_enable));
+ save_item(NAME(m_int_enabled));
+ save_item(NAME(m_coin_status));
+ save_item(NAME(m_coin_enable));
}
@@ -965,7 +964,6 @@ static MACHINE_CONFIG_START( root, zaxxon_state )
MCFG_CPU_PROGRAM_MAP(zaxxon_map)
MCFG_CPU_VBLANK_INT("screen", vblank_int)
- MCFG_MACHINE_START(zaxxon)
MCFG_I8255A_ADD( "ppi8255", zaxxon_ppi_intf )
@@ -977,8 +975,6 @@ static MACHINE_CONFIG_START( root, zaxxon_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_STATIC(zaxxon)
- MCFG_PALETTE_INIT(zaxxon)
- MCFG_VIDEO_START(zaxxon)
MACHINE_CONFIG_END
@@ -1010,7 +1006,7 @@ static MACHINE_CONFIG_DERIVED( razmataz, root )
MCFG_DEVICE_REMOVE("ppi8255")
/* video hardware */
- MCFG_VIDEO_START(razmataz)
+ MCFG_VIDEO_START_OVERRIDE(zaxxon_state,razmataz)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(razmataz)
@@ -1034,7 +1030,7 @@ static MACHINE_CONFIG_DERIVED( congo, root )
/* video hardware */
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(congo)
+ MCFG_VIDEO_START_OVERRIDE(zaxxon_state,congo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(congo)
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index 74d49ecf192..a54c52ccda1 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -106,6 +106,17 @@ public:
DECLARE_DRIVER_INIT(coh1000a);
DECLARE_DRIVER_INIT(coh1000c);
DECLARE_DRIVER_INIT(coh1000w);
+ DECLARE_MACHINE_RESET(coh1000c);
+ DECLARE_MACHINE_RESET(coh3002c);
+ DECLARE_MACHINE_RESET(coh1000ta);
+ DECLARE_MACHINE_RESET(coh1000tb);
+ DECLARE_MACHINE_RESET(coh1000w);
+ DECLARE_MACHINE_RESET(coh1002e);
+ DECLARE_MACHINE_RESET(bam2);
+ DECLARE_MACHINE_RESET(coh1000a);
+ DECLARE_MACHINE_RESET(coh1001l);
+ DECLARE_MACHINE_RESET(coh1002v);
+ DECLARE_MACHINE_RESET(coh1002m);
};
INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... )
@@ -741,12 +752,12 @@ DRIVER_INIT_MEMBER(zn_state,coh1000c)
}
}
-static MACHINE_RESET( coh1000c )
+MACHINE_RESET_MEMBER(zn_state,coh1000c)
{
- machine.root_device().membank( "bank1" )->set_base( machine.root_device().memregion( "user2" )->base() ); /* fixed game rom */
- machine.root_device().membank( "bank2" )->set_base( machine.root_device().memregion( "user2" )->base() + 0x400000 ); /* banked game rom */
- machine.root_device().membank( "bank3" )->set_base( machine.root_device().memregion( "user3" )->base() ); /* country rom */
- zn_machine_init(machine);
+ machine().root_device().membank( "bank1" )->set_base( machine().root_device().memregion( "user2" )->base() ); /* fixed game rom */
+ machine().root_device().membank( "bank2" )->set_base( machine().root_device().memregion( "user2" )->base() + 0x400000 ); /* banked game rom */
+ machine().root_device().membank( "bank3" )->set_base( machine().root_device().memregion( "user3" )->base() ); /* country rom */
+ zn_machine_init(machine());
}
static ADDRESS_MAP_START( qsound_map, AS_PROGRAM, 8, zn_state )
@@ -770,7 +781,7 @@ static MACHINE_CONFIG_DERIVED( coh1000c, zn1_1mb_vram )
MCFG_CPU_IO_MAP( qsound_portmap)
MCFG_CPU_PERIODIC_INT( qsound_interrupt, 60*4 ) /* 4 interrupts per frame ?? */
- MCFG_MACHINE_RESET( coh1000c )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c )
MCFG_SOUND_ADD( "qsound", QSOUND, QSOUND_CLOCK )
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
@@ -784,7 +795,7 @@ static MACHINE_CONFIG_DERIVED( coh1002c, zn1_2mb_vram )
MCFG_CPU_IO_MAP( qsound_portmap)
MCFG_CPU_PERIODIC_INT( qsound_interrupt, 60*4 ) /* 4 interrupts per frame ?? */
- MCFG_MACHINE_RESET( coh1000c )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c )
MCFG_SOUND_ADD( "qsound", QSOUND, QSOUND_CLOCK )
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
@@ -949,12 +960,12 @@ DRIVER_INIT_MEMBER(zn_state,coh3002c)
zn_driver_init(machine());
}
-static MACHINE_RESET( coh3002c )
+MACHINE_RESET_MEMBER(zn_state,coh3002c)
{
- machine.root_device().membank( "bank1" )->set_base( machine.root_device().memregion( "user2" )->base() ); /* fixed game rom */
- machine.root_device().membank( "bank2" )->set_base( machine.root_device().memregion( "user2" )->base() + 0x400000 ); /* banked game rom */
- machine.root_device().membank( "bank3" )->set_base( machine.root_device().memregion( "user3" )->base() ); /* country rom */
- zn_machine_init(machine);
+ machine().root_device().membank( "bank1" )->set_base( machine().root_device().memregion( "user2" )->base() ); /* fixed game rom */
+ machine().root_device().membank( "bank2" )->set_base( machine().root_device().memregion( "user2" )->base() + 0x400000 ); /* banked game rom */
+ machine().root_device().membank( "bank3" )->set_base( machine().root_device().memregion( "user3" )->base() ); /* country rom */
+ zn_machine_init(machine());
}
static MACHINE_CONFIG_DERIVED( coh3002c, zn2 )
@@ -964,7 +975,7 @@ static MACHINE_CONFIG_DERIVED( coh3002c, zn2 )
MCFG_CPU_IO_MAP( qsound_portmap)
MCFG_CPU_PERIODIC_INT( qsound_interrupt, 60*4 ) /* 4 interrupts per frame ?? */
- MCFG_MACHINE_RESET( coh3002c )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh3002c )
MCFG_SOUND_ADD( "qsound", QSOUND, QSOUND_CLOCK )
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
@@ -1235,12 +1246,11 @@ DRIVER_INIT_MEMBER(zn_state,coh1000ta)
zn_driver_init(machine());
}
-static MACHINE_RESET( coh1000ta )
+MACHINE_RESET_MEMBER(zn_state,coh1000ta)
{
- zn_state *state = machine.driver_data<zn_state>();
- state->membank( "bank1" )->set_base( state->memregion( "user2" )->base() ); /* banked game rom */
- state->membank( "bank2" )->set_base( state->m_taitofx1_eeprom1 );
- zn_machine_init(machine);
+ membank( "bank1" )->set_base( memregion( "user2" )->base() ); /* banked game rom */
+ membank( "bank2" )->set_base( m_taitofx1_eeprom1 );
+ zn_machine_init(machine());
}
static ADDRESS_MAP_START( fx1a_sound_map, AS_PROGRAM, 8, zn_state )
@@ -1276,7 +1286,7 @@ static MACHINE_CONFIG_DERIVED( coh1000ta, zn1_1mb_vram )
MCFG_CPU_ADD("audiocpu", Z80, 16000000 / 4 ) /* 4 MHz */
MCFG_CPU_PROGRAM_MAP( fx1a_sound_map)
- MCFG_MACHINE_RESET( coh1000ta )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000ta )
MCFG_NVRAM_ADD_0FILL("eeprom1")
MCFG_SOUND_ADD("ymsnd", YM2610B, 16000000/2)
@@ -1328,19 +1338,18 @@ DRIVER_INIT_MEMBER(zn_state,coh1000tb)
zn_driver_init(machine());
}
-static MACHINE_RESET( coh1000tb )
+MACHINE_RESET_MEMBER(zn_state,coh1000tb)
{
- zn_state *state = machine.driver_data<zn_state>();
- state->membank( "bank1" )->set_base( state->memregion( "user2" )->base() ); /* banked game rom */
- state->membank( "bank2" )->set_base( state->m_taitofx1_eeprom1 );
- state->membank( "bank3" )->set_base( state->m_taitofx1_eeprom2 );
- zn_machine_init(machine);
+ membank( "bank1" )->set_base( memregion( "user2" )->base() ); /* banked game rom */
+ membank( "bank2" )->set_base( m_taitofx1_eeprom1 );
+ membank( "bank3" )->set_base( m_taitofx1_eeprom2 );
+ zn_machine_init(machine());
}
static MACHINE_CONFIG_DERIVED( coh1000tb, zn1_2mb_vram )
- MCFG_MACHINE_RESET( coh1000tb )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000tb )
MCFG_NVRAM_ADD_0FILL("eeprom1")
MCFG_NVRAM_ADD_0FILL("eeprom2")
@@ -1515,12 +1524,12 @@ DRIVER_INIT_MEMBER(zn_state,coh1000w)
zn_driver_init(machine());
}
-static MACHINE_RESET( coh1000w )
+MACHINE_RESET_MEMBER(zn_state,coh1000w)
{
- machine.root_device().membank( "bank1" )->set_base( machine.root_device().memregion( "user2" )->base() ); /* fixed game rom */
- zn_machine_init(machine);
+ machine().root_device().membank( "bank1" )->set_base( machine().root_device().memregion( "user2" )->base() ); /* fixed game rom */
+ zn_machine_init(machine());
- machine.device("ide")->reset();
+ machine().device("ide")->reset();
}
static const ide_config ide_intf =
@@ -1531,7 +1540,7 @@ static const ide_config ide_intf =
};
static MACHINE_CONFIG_DERIVED( coh1000w, zn1_2mb_vram )
- MCFG_MACHINE_RESET( coh1000w )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000w )
MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true)
MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psx_dma_read_delegate( FUNC( atpsx_dma_read ), (zn_state *) owner ) )
@@ -1709,10 +1718,10 @@ DRIVER_INIT_MEMBER(zn_state,coh1002e)
zn_driver_init(machine());
}
-static MACHINE_RESET( coh1002e )
+MACHINE_RESET_MEMBER(zn_state,coh1002e)
{
- machine.root_device().membank( "bank1" )->set_base( machine.root_device().memregion( "user2" )->base() ); /* banked game rom */
- zn_machine_init(machine);
+ machine().root_device().membank( "bank1" )->set_base( machine().root_device().memregion( "user2" )->base() ); /* banked game rom */
+ zn_machine_init(machine());
}
static ADDRESS_MAP_START( psarc_snd_map, AS_PROGRAM, 16, zn_state )
@@ -1729,7 +1738,7 @@ static MACHINE_CONFIG_DERIVED( coh1002e, zn1_2mb_vram )
MCFG_CPU_ADD("audiocpu", M68000, 12000000 )
MCFG_CPU_PROGRAM_MAP( psarc_snd_map)
- MCFG_MACHINE_RESET( coh1002e )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002e )
MCFG_SOUND_ADD( "ymf", YMF271, 16934400 )
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
@@ -1852,17 +1861,17 @@ DRIVER_INIT_MEMBER(zn_state,bam2)
zn_driver_init(machine());
}
-static MACHINE_RESET( bam2 )
+MACHINE_RESET_MEMBER(zn_state,bam2)
{
- machine.root_device().membank( "bank1" )->set_base( machine.root_device().memregion( "user2" )->base() ); /* fixed game rom */
- machine.root_device().membank( "bank2" )->set_base( machine.root_device().memregion( "user2" )->base() + 0x400000 ); /* banked game rom */
+ machine().root_device().membank( "bank1" )->set_base( machine().root_device().memregion( "user2" )->base() ); /* fixed game rom */
+ machine().root_device().membank( "bank2" )->set_base( machine().root_device().memregion( "user2" )->base() + 0x400000 ); /* banked game rom */
- zn_machine_init(machine);
+ zn_machine_init(machine());
}
static MACHINE_CONFIG_DERIVED( bam2, zn1_2mb_vram )
- MCFG_MACHINE_RESET( bam2 )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, bam2 )
MACHINE_CONFIG_END
/*
@@ -2188,20 +2197,20 @@ DRIVER_INIT_MEMBER(zn_state,coh1000a)
zn_driver_init(machine());
}
-static MACHINE_RESET( coh1000a )
+MACHINE_RESET_MEMBER(zn_state,coh1000a)
{
- machine.root_device().membank( "bank1" )->set_base( machine.root_device().memregion( "user2" )->base() ); /* fixed game rom */
- zn_machine_init(machine);
- if( ( !strcmp( machine.system().name, "jdredd" ) ) ||
- ( !strcmp( machine.system().name, "jdreddb" ) ) )
+ machine().root_device().membank( "bank1" )->set_base( machine().root_device().memregion( "user2" )->base() ); /* fixed game rom */
+ zn_machine_init(machine());
+ if( ( !strcmp( machine().system().name, "jdredd" ) ) ||
+ ( !strcmp( machine().system().name, "jdreddb" ) ) )
{
- machine.device("ide")->reset();
+ machine().device("ide")->reset();
}
}
static MACHINE_CONFIG_DERIVED( coh1000a, zn1_2mb_vram )
- MCFG_MACHINE_RESET( coh1000a )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000a )
MACHINE_CONFIG_END
static const ide_config jdredd_ide_intf =
@@ -2216,7 +2225,7 @@ static MACHINE_CONFIG_DERIVED( coh1000a_ide, zn1_2mb_vram )
MCFG_DEVICE_MODIFY( "gpu" )
MCFG_PSXGPU_VBLANK_CALLBACK( vblank_state_delegate( FUNC( jdredd_vblank ), (zn_state *) owner ) )
- MCFG_MACHINE_RESET( coh1000a )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000a )
MCFG_IDE_CONTROLLER_ADD("ide", jdredd_ide_intf, ide_devices, "hdd", NULL, true)
MACHINE_CONFIG_END
@@ -2350,10 +2359,10 @@ DRIVER_INIT_MEMBER(zn_state,coh1001l)
zn_driver_init(machine());
}
-static MACHINE_RESET( coh1001l )
+MACHINE_RESET_MEMBER(zn_state,coh1001l)
{
- machine.root_device().membank( "bank1" )->set_base( machine.root_device().memregion( "user2" )->base() ); /* banked rom */
- zn_machine_init(machine);
+ machine().root_device().membank( "bank1" )->set_base( machine().root_device().memregion( "user2" )->base() ); /* banked rom */
+ zn_machine_init(machine());
}
static MACHINE_CONFIG_DERIVED( coh1001l, zn1_2mb_vram )
@@ -2361,7 +2370,7 @@ static MACHINE_CONFIG_DERIVED( coh1001l, zn1_2mb_vram )
// MCFG_CPU_ADD("audiocpu", M68000, 10000000 )
// MCFG_CPU_PROGRAM_MAP( atlus_snd_map)
- MCFG_MACHINE_RESET( coh1001l )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1001l )
// MCFG_SOUND_ADD( "ymz", wYMZ280B, ymz280b_intf )
MACHINE_CONFIG_END
@@ -2393,16 +2402,16 @@ DRIVER_INIT_MEMBER(zn_state,coh1002v)
zn_driver_init(machine());
}
-static MACHINE_RESET( coh1002v )
+MACHINE_RESET_MEMBER(zn_state,coh1002v)
{
- machine.root_device().membank( "bank1" )->set_base( machine.root_device().memregion( "user2" )->base() ); /* fixed game rom */
- machine.root_device().membank( "bank2" )->set_base( machine.root_device().memregion( "user3" )->base() ); /* banked rom */
- zn_machine_init(machine);
+ machine().root_device().membank( "bank1" )->set_base( machine().root_device().memregion( "user2" )->base() ); /* fixed game rom */
+ machine().root_device().membank( "bank2" )->set_base( machine().root_device().memregion( "user3" )->base() ); /* banked rom */
+ zn_machine_init(machine());
}
static MACHINE_CONFIG_DERIVED( coh1002v, zn1_2mb_vram )
- MCFG_MACHINE_RESET( coh1002v )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002v )
MACHINE_CONFIG_END
/*
@@ -2596,10 +2605,10 @@ DRIVER_INIT_MEMBER(zn_state,coh1002m)
zn_driver_init(machine());
}
-static MACHINE_RESET( coh1002m )
+MACHINE_RESET_MEMBER(zn_state,coh1002m)
{
- machine.root_device().membank( "bank1" )->set_base( machine.root_device().memregion( "user2" )->base() );
- zn_machine_init(machine);
+ machine().root_device().membank( "bank1" )->set_base( machine().root_device().memregion( "user2" )->base() );
+ zn_machine_init(machine());
}
READ8_MEMBER(zn_state::cbaj_z80_latch_r)
@@ -2638,7 +2647,7 @@ ADDRESS_MAP_END
static MACHINE_CONFIG_DERIVED( coh1002m, zn1_2mb_vram )
- MCFG_MACHINE_RESET( coh1002m )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002m )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( coh1002msnd, zn1_2mb_vram )
@@ -2647,7 +2656,7 @@ static MACHINE_CONFIG_DERIVED( coh1002msnd, zn1_2mb_vram )
MCFG_CPU_PROGRAM_MAP( cbaj_z80_map)
MCFG_CPU_IO_MAP( cbaj_z80_port_map)
- MCFG_MACHINE_RESET( coh1002m )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002m )
MCFG_SOUND_ADD("ymz", YMZ280B, 16934400)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
@@ -2659,7 +2668,7 @@ static MACHINE_CONFIG_DERIVED( coh1002ml, zn1_2mb_vram )
MCFG_CPU_ADD("link", Z80, 8000000 )
MCFG_CPU_PROGRAM_MAP( link_map)
- MCFG_MACHINE_RESET( coh1002m )
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002m )
MACHINE_CONFIG_END
static INPUT_PORTS_START( zn )
diff --git a/src/mame/drivers/zodiack.c b/src/mame/drivers/zodiack.c
index 69fef8deeb0..81e72a04af6 100644
--- a/src/mame/drivers/zodiack.c
+++ b/src/mame/drivers/zodiack.c
@@ -578,7 +578,7 @@ static MACHINE_CONFIG_START( zodiack, zodiack_state )
MCFG_GFXDECODE(zodiack)
MCFG_PALETTE_LENGTH(4*8+2*8+2*1)
- MCFG_PALETTE_INIT(zodiack)
+ MCFG_PALETTE_INIT_OVERRIDE(zodiack_state,zodiack)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/zr107.c b/src/mame/drivers/zr107.c
index cf59ea35ac1..c20d05ac044 100644
--- a/src/mame/drivers/zr107.c
+++ b/src/mame/drivers/zr107.c
@@ -201,16 +201,20 @@ public:
DECLARE_DRIVER_INIT(common);
DECLARE_DRIVER_INIT(zr107);
DECLARE_DRIVER_INIT(jetwave);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(zr107);
+ DECLARE_VIDEO_START(jetwave);
};
-static VIDEO_START( jetwave )
+VIDEO_START_MEMBER(zr107_state,jetwave)
{
- K001005_init(machine);
- K001006_init(machine);
+ K001005_init(machine());
+ K001006_init(machine());
}
@@ -250,9 +254,9 @@ static void game_tile_callback(running_machine &machine, int layer, int *code, i
*color += layer * 0x40;
}
-static VIDEO_START( zr107 )
+VIDEO_START_MEMBER(zr107_state,zr107)
{
- device_t *k056832 = machine.device("k056832");
+ device_t *k056832 = machine().device("k056832");
k056832_set_layer_offs(k056832, 0, -29, -27);
k056832_set_layer_offs(k056832, 1, -29, -27);
@@ -263,8 +267,8 @@ static VIDEO_START( zr107 )
k056832_set_layer_offs(k056832, 6, -29, -27);
k056832_set_layer_offs(k056832, 7, -29, -27);
- K001006_init(machine);
- K001005_init(machine);
+ K001006_init(machine());
+ K001005_init(machine());
}
static SCREEN_UPDATE_RGB32( zr107 )
@@ -401,14 +405,13 @@ WRITE32_MEMBER(zr107_state::ccu_w)
/******************************************************************/
-static MACHINE_START( zr107 )
+void zr107_state::machine_start()
{
- zr107_state *state = machine.driver_data<zr107_state>();
/* set conservative DRC options */
- ppcdrc_set_options(machine.device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
+ ppcdrc_set_options(machine().device("maincpu"), PPCDRC_COMPATIBLE_OPTIONS);
/* configure fast RAM regions for DRC */
- ppcdrc_add_fastram(machine.device("maincpu"), 0x00000000, 0x000fffff, FALSE, state->m_workram);
+ ppcdrc_add_fastram(machine().device("maincpu"), 0x00000000, 0x000fffff, FALSE, m_workram);
}
static ADDRESS_MAP_START( zr107_map, AS_PROGRAM, 32, zr107_state )
@@ -718,9 +721,9 @@ static INTERRUPT_GEN( zr107_vblank )
device->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
}
-static MACHINE_RESET( zr107 )
+void zr107_state::machine_reset()
{
- machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
static MACHINE_CONFIG_START( zr107, zr107_state )
@@ -740,8 +743,6 @@ static MACHINE_CONFIG_START( zr107, zr107_state )
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
MCFG_EEPROM_93C46_ADD("eeprom")
- MCFG_MACHINE_START(zr107)
- MCFG_MACHINE_RESET(zr107)
MCFG_K056230_ADD("k056230", zr107_k056230_intf)
@@ -754,7 +755,7 @@ static MACHINE_CONFIG_START( zr107, zr107_state )
MCFG_PALETTE_LENGTH(65536)
- MCFG_VIDEO_START(zr107)
+ MCFG_VIDEO_START_OVERRIDE(zr107_state,zr107)
MCFG_K056832_ADD("k056832", zr107_k056832_intf)
@@ -798,8 +799,6 @@ static MACHINE_CONFIG_START( jetwave, zr107_state )
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
MCFG_EEPROM_93C46_ADD("eeprom")
- MCFG_MACHINE_START(zr107)
- MCFG_MACHINE_RESET(zr107)
MCFG_K056230_ADD("k056230", zr107_k056230_intf)
@@ -812,7 +811,7 @@ static MACHINE_CONFIG_START( jetwave, zr107_state )
MCFG_PALETTE_LENGTH(65536)
- MCFG_VIDEO_START(jetwave)
+ MCFG_VIDEO_START_OVERRIDE(zr107_state,jetwave)
MCFG_K001604_ADD("k001604", jetwave_k001604_intf)
diff --git a/src/mame/etc/template_driver.c b/src/mame/etc/template_driver.c
index 7178090c2c8..d6749fe5898 100644
--- a/src/mame/etc/template_driver.c
+++ b/src/mame/etc/template_driver.c
@@ -31,6 +31,7 @@ protected:
virtual void machine_reset();
virtual void video_start();
+ virtual void palette_init();
};
void xxx_state::video_start()
@@ -132,7 +133,7 @@ void xxx_state::machine_reset()
}
-static PALETTE_INIT( xxx )
+void xxx_state::palette_init()
{
}
@@ -153,7 +154,6 @@ static MACHINE_CONFIG_START( xxx, xxx_state )
MCFG_GFXDECODE(xxx)
- MCFG_PALETTE_INIT(xxx)
MCFG_PALETTE_LENGTH(8)
/* sound hardware */
diff --git a/src/mame/includes/1942.h b/src/mame/includes/1942.h
index 28c4e919bf6..4e7735743e1 100644
--- a/src/mame/includes/1942.h
+++ b/src/mame/includes/1942.h
@@ -35,6 +35,10 @@ public:
DECLARE_DRIVER_INIT(1942);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mame/includes/1943.h b/src/mame/includes/1943.h
index b113b7e2f99..86e16c5e803 100644
--- a/src/mame/includes/1943.h
+++ b/src/mame/includes/1943.h
@@ -43,6 +43,9 @@ public:
TILE_GET_INFO_MEMBER(c1943_get_bg2_tile_info);
TILE_GET_INFO_MEMBER(c1943_get_bg_tile_info);
TILE_GET_INFO_MEMBER(c1943_get_fg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mame/includes/20pacgal.h b/src/mame/includes/20pacgal.h
index cba880bf267..6c8439af996 100644
--- a/src/mame/includes/20pacgal.h
+++ b/src/mame/includes/20pacgal.h
@@ -52,6 +52,8 @@ public:
DECLARE_WRITE8_MEMBER(sprite_lookup_w);
DECLARE_DRIVER_INIT(25pacman);
DECLARE_DRIVER_INIT(20pacgal);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/3do.h b/src/mame/includes/3do.h
index cd15d8049e8..d540b867906 100644
--- a/src/mame/includes/3do.h
+++ b/src/mame/includes/3do.h
@@ -185,6 +185,8 @@ public:
DECLARE_WRITE32_MEMBER(_3do_madam_w);
DECLARE_READ32_MEMBER(_3do_clio_r);
DECLARE_WRITE32_MEMBER(_3do_clio_w);
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(_3do);
};
/*----------- defined in machine/3do.c -----------*/
@@ -198,7 +200,7 @@ void _3do_madam_init( running_machine &machine );
void _3do_clio_init( running_machine &machine, screen_device *screen );
-VIDEO_START( _3do );
+
SCREEN_UPDATE_RGB32( _3do );
#endif /* _3DO_H_ */
diff --git a/src/mame/includes/40love.h b/src/mame/includes/40love.h
index 3734af5784e..9d455cdec4d 100644
--- a/src/mame/includes/40love.h
+++ b/src/mame/includes/40love.h
@@ -87,12 +87,20 @@ public:
DECLARE_DRIVER_INIT(undoukai);
DECLARE_DRIVER_INIT(40love);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(40love);
+ DECLARE_MACHINE_RESET(40love);
+ DECLARE_MACHINE_START(undoukai);
+ DECLARE_MACHINE_RESET(undoukai);
+ DECLARE_MACHINE_RESET(common);
+ DECLARE_MACHINE_RESET(ta7630);
};
/*----------- defined in video/40love.c -----------*/
-VIDEO_START( fortyl );
+
SCREEN_UPDATE_IND16( fortyl );
-PALETTE_INIT( fortyl );
+
diff --git a/src/mame/includes/4enraya.h b/src/mame/includes/4enraya.h
index 8be18aeccba..d4303f2c4ff 100644
--- a/src/mame/includes/4enraya.h
+++ b/src/mame/includes/4enraya.h
@@ -30,11 +30,15 @@ public:
DECLARE_WRITE8_MEMBER(sound_control_w);
DECLARE_DRIVER_INIT(unkpacg);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/4enraya.c -----------*/
-VIDEO_START( 4enraya );
+
SCREEN_UPDATE_IND16( 4enraya );
diff --git a/src/mame/includes/8080bw.h b/src/mame/includes/8080bw.h
index 35e7ea37209..6df00a4198c 100644
--- a/src/mame/includes/8080bw.h
+++ b/src/mame/includes/8080bw.h
@@ -63,12 +63,23 @@ public:
DECLARE_WRITE8_MEMBER(invmulti_bank_w);
DECLARE_DRIVER_INIT(invmulti);
DECLARE_DRIVER_INIT(vortex);
+ DECLARE_MACHINE_START(extra_8080bw);
+ DECLARE_MACHINE_START(schaser);
+ DECLARE_MACHINE_RESET(schaser);
+ DECLARE_MACHINE_START(polaris);
+ DECLARE_MACHINE_START(darthvdr);
+ DECLARE_MACHINE_RESET(darthvdr);
+ DECLARE_MACHINE_RESET(invmulti);
+ DECLARE_MACHINE_START(extra_8080bw_sh);
+ DECLARE_MACHINE_START(extra_8080bw_vh);
+ DECLARE_MACHINE_START(schaser_sh);
+ DECLARE_MACHINE_RESET(schaser_sh);
};
/*----------- defined in audio/8080bw.c -----------*/
-MACHINE_START( extra_8080bw_sh );
+
extern const samples_interface lrescue_samples_interface;
@@ -80,15 +91,15 @@ WRITE8_DEVICE_HANDLER( polaris_sh_port_2_w );
WRITE8_DEVICE_HANDLER( polaris_sh_port_3_w );
DISCRETE_SOUND_EXTERN( polaris );
-MACHINE_RESET( schaser_sh );
-MACHINE_START( schaser_sh );
+
+
extern const sn76477_interface schaser_sn76477_interface;
DISCRETE_SOUND_EXTERN( schaser );
/*----------- defined in video/8080bw.c -----------*/
-MACHINE_START( extra_8080bw_vh );
+
SCREEN_UPDATE_RGB32( invadpt2 );
SCREEN_UPDATE_RGB32( ballbomb );
diff --git a/src/mame/includes/88games.h b/src/mame/includes/88games.h
index 92fd8278989..2e21faee9cf 100644
--- a/src/mame/includes/88games.h
+++ b/src/mame/includes/88games.h
@@ -44,6 +44,8 @@ public:
DECLARE_WRITE8_MEMBER(speech_msg_w);
DECLARE_READ8_MEMBER(k052109_051960_r);
DECLARE_WRITE8_MEMBER(k052109_051960_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/actfancr.h b/src/mame/includes/actfancr.h
index a53876a56a5..823979bb320 100644
--- a/src/mame/includes/actfancr.h
+++ b/src/mame/includes/actfancr.h
@@ -28,6 +28,11 @@ public:
DECLARE_READ8_MEMBER(triothep_control_r);
DECLARE_WRITE8_MEMBER(actfancr_sound_w);
DECLARE_WRITE8_MEMBER(actfancr_buffer_spriteram_w);
+ virtual void video_start();
+ DECLARE_MACHINE_START(actfancr);
+ DECLARE_MACHINE_RESET(actfancr);
+ DECLARE_MACHINE_START(triothep);
+ DECLARE_MACHINE_RESET(triothep);
};
@@ -40,6 +45,6 @@ WRITE8_HANDLER( actfancr_pf2_data_w );
READ8_HANDLER( actfancr_pf2_data_r );
WRITE8_HANDLER( actfancr_pf2_control_w );
-VIDEO_START( actfancr );
+
SCREEN_UPDATE_IND16( actfancr );
diff --git a/src/mame/includes/aeroboto.h b/src/mame/includes/aeroboto.h
index 1128338f0dd..389e3da57e6 100644
--- a/src/mame/includes/aeroboto.h
+++ b/src/mame/includes/aeroboto.h
@@ -55,11 +55,14 @@ public:
DECLARE_WRITE8_MEMBER(aeroboto_videoram_w);
DECLARE_WRITE8_MEMBER(aeroboto_tilecolor_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/aeroboto.c -----------*/
-VIDEO_START( aeroboto );
+
SCREEN_UPDATE_IND16( aeroboto );
diff --git a/src/mame/includes/aerofgt.h b/src/mame/includes/aerofgt.h
index 6c65b9e37ba..8f7278dd5ae 100644
--- a/src/mame/includes/aerofgt.h
+++ b/src/mame/includes/aerofgt.h
@@ -74,6 +74,15 @@ public:
TILE_GET_INFO_MEMBER(spinlbrk_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ DECLARE_MACHINE_START(aerofgt);
+ DECLARE_MACHINE_RESET(aerofgt);
+ DECLARE_VIDEO_START(pspikes);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
+ DECLARE_VIDEO_START(karatblz);
+ DECLARE_VIDEO_START(spinlbrk);
+ DECLARE_VIDEO_START(turbofrc);
+ DECLARE_VIDEO_START(wbbc97);
};
@@ -81,11 +90,11 @@ public:
-VIDEO_START( pspikes );
-VIDEO_START( karatblz );
-VIDEO_START( spinlbrk );
-VIDEO_START( turbofrc );
-VIDEO_START( wbbc97 );
+
+
+
+
+
SCREEN_UPDATE_IND16( pspikes );
SCREEN_UPDATE_IND16( pspikesb );
SCREEN_UPDATE_IND16( spikes91 );
diff --git a/src/mame/includes/airbustr.h b/src/mame/includes/airbustr.h
index e5f674dfb09..bd5776ab0d5 100644
--- a/src/mame/includes/airbustr.h
+++ b/src/mame/includes/airbustr.h
@@ -63,12 +63,15 @@ public:
DECLARE_DRIVER_INIT(airbustr);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/airbustr.c -----------*/
-VIDEO_START( airbustr );
+
SCREEN_UPDATE_IND16( airbustr );
SCREEN_VBLANK( airbustr );
diff --git a/src/mame/includes/ajax.h b/src/mame/includes/ajax.h
index 2cf8a647b91..32022c6d9b9 100644
--- a/src/mame/includes/ajax.h
+++ b/src/mame/includes/ajax.h
@@ -33,18 +33,21 @@ public:
DECLARE_WRITE8_MEMBER(ajax_bankswitch_w);
DECLARE_WRITE8_MEMBER(ajax_lamps_w);
DECLARE_WRITE8_MEMBER(k007232_extvol_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in machine/ajax.c -----------*/
-MACHINE_START( ajax );
-MACHINE_RESET( ajax );
+
+
INTERRUPT_GEN( ajax_interrupt );
/*----------- defined in video/ajax.c -----------*/
-VIDEO_START( ajax );
+
SCREEN_UPDATE_IND16( ajax );
extern void ajax_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags,int *priority);
diff --git a/src/mame/includes/aliens.h b/src/mame/includes/aliens.h
index 92bcb293652..f15d7badd33 100644
--- a/src/mame/includes/aliens.h
+++ b/src/mame/includes/aliens.h
@@ -35,6 +35,9 @@ public:
DECLARE_READ8_MEMBER(k052109_051960_r);
DECLARE_WRITE8_MEMBER(k052109_051960_w);
DECLARE_WRITE8_MEMBER(aliens_snd_bankswitch_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/aliens.c -----------*/
@@ -42,5 +45,5 @@ public:
extern void aliens_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color, int *flags, int *priority);
extern void aliens_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask,int *shadow);
-VIDEO_START( aliens );
+
SCREEN_UPDATE_IND16( aliens );
diff --git a/src/mame/includes/alpha68k.h b/src/mame/includes/alpha68k.h
index 7741e36c0ad..179913aa331 100644
--- a/src/mame/includes/alpha68k.h
+++ b/src/mame/includes/alpha68k.h
@@ -89,6 +89,15 @@ public:
DECLARE_DRIVER_INIT(kyros);
DECLARE_DRIVER_INIT(sstingry);
TILE_GET_INFO_MEMBER(get_tile_info);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
+ DECLARE_PALETTE_INIT(kyros);
+ DECLARE_PALETTE_INIT(paddlem);
+ DECLARE_MACHINE_START(alpha68k_II);
+ DECLARE_MACHINE_RESET(alpha68k_II);
+ DECLARE_VIDEO_START(alpha68k);
+ DECLARE_MACHINE_START(alpha68k_V);
+ DECLARE_MACHINE_RESET(alpha68k_V);
};
/* game_id - used to deal with a few game specific situations */
@@ -102,10 +111,10 @@ enum
/*----------- defined in video/alpha68k.c -----------*/
-PALETTE_INIT( kyros );
-PALETTE_INIT( paddlem );
-VIDEO_START( alpha68k );
+
+
+
SCREEN_UPDATE_IND16( kyros );
SCREEN_UPDATE_IND16( sstingry );
diff --git a/src/mame/includes/ambush.h b/src/mame/includes/ambush.h
index e7adf9ad9f7..b61ebc8ab57 100644
--- a/src/mame/includes/ambush.h
+++ b/src/mame/includes/ambush.h
@@ -24,10 +24,11 @@ public:
DECLARE_WRITE8_MEMBER(ambush_coin_counter_w);
DECLARE_WRITE8_MEMBER(flip_screen_w);
+ virtual void palette_init();
};
/*----------- defined in video/ambush.c -----------*/
-PALETTE_INIT( ambush );
+
SCREEN_UPDATE_IND16( ambush );
diff --git a/src/mame/includes/amiga.h b/src/mame/includes/amiga.h
index 1556dc9ec80..c0a0c1828cd 100644
--- a/src/mame/includes/amiga.h
+++ b/src/mame/includes/amiga.h
@@ -432,6 +432,11 @@ public:
DECLARE_DRIVER_INIT(mquake);
DECLARE_DRIVER_INIT(amiga);
DECLARE_DRIVER_INIT(cdtv);
+ DECLARE_MACHINE_RESET(mquake);
+ DECLARE_MACHINE_RESET(amiga);
+ DECLARE_VIDEO_START(amiga);
+ DECLARE_PALETTE_INIT(amiga);
+ DECLARE_VIDEO_START(amiga_aga);
};
@@ -443,7 +448,7 @@ void amiga_chip_ram_w8(amiga_state *state, offs_t offset, UINT8 data);
void amiga_machine_config(running_machine &machine, const amiga_machine_interface *intf);
-MACHINE_RESET( amiga );
+
READ16_HANDLER( amiga_cia_r );
WRITE16_HANDLER( amiga_cia_w );
@@ -498,8 +503,8 @@ void amiga_audio_data_w(device_t *device, int which, UINT16 data);
extern const UINT16 amiga_expand_byte[256];
-PALETTE_INIT( amiga );
-VIDEO_START( amiga );
+
+
SCREEN_UPDATE_IND16( amiga );
void amiga_copper_setpc(running_machine &machine, UINT32 pc);
@@ -513,7 +518,7 @@ void amiga_sprite_enable_comparitor(running_machine &machine, int which, int ena
/*----------- defined in video/amigaaga.c -----------*/
-VIDEO_START( amiga_aga );
+
SCREEN_UPDATE_RGB32( amiga_aga );
void amiga_aga_render_scanline(running_machine &machine, bitmap_rgb32 &bitmap, int scanline);
diff --git a/src/mame/includes/ampoker2.h b/src/mame/includes/ampoker2.h
index 73b092b930a..f5a80a8cf00 100644
--- a/src/mame/includes/ampoker2.h
+++ b/src/mame/includes/ampoker2.h
@@ -20,12 +20,15 @@ public:
DECLARE_DRIVER_INIT(piccolop);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(s2k_get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(sigma2k);
};
/*----------- defined in video/ampoker2.c -----------*/
-PALETTE_INIT( ampoker2 );
-VIDEO_START( ampoker2 );
-VIDEO_START( sigma2k );
+
+
+
SCREEN_UPDATE_IND16( ampoker2 );
diff --git a/src/mame/includes/amspdwy.h b/src/mame/includes/amspdwy.h
index 809b1dd3544..a65890127da 100644
--- a/src/mame/includes/amspdwy.h
+++ b/src/mame/includes/amspdwy.h
@@ -40,11 +40,14 @@ public:
DECLARE_READ8_MEMBER(amspdwy_sound_r);
TILE_GET_INFO_MEMBER(get_tile_info);
TILEMAP_MAPPER_MEMBER(tilemap_scan_cols_back);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/amspdwy.c -----------*/
-VIDEO_START( amspdwy );
+
SCREEN_UPDATE_IND16( amspdwy );
diff --git a/src/mame/includes/angelkds.h b/src/mame/includes/angelkds.h
index 4570beaa12f..c60aff1f91d 100644
--- a/src/mame/includes/angelkds.h
+++ b/src/mame/includes/angelkds.h
@@ -56,6 +56,9 @@ public:
TILE_GET_INFO_MEMBER(get_tx_tile_info);
TILE_GET_INFO_MEMBER(get_bgtop_tile_info);
TILE_GET_INFO_MEMBER(get_bgbot_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -64,5 +67,5 @@ public:
-VIDEO_START( angelkds );
+
SCREEN_UPDATE_IND16( angelkds );
diff --git a/src/mame/includes/appoooh.h b/src/mame/includes/appoooh.h
index babe6d152a2..7b040ec841a 100644
--- a/src/mame/includes/appoooh.h
+++ b/src/mame/includes/appoooh.h
@@ -45,6 +45,11 @@ public:
DECLARE_DRIVER_INIT(robowresb);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(appoooh);
+ DECLARE_PALETTE_INIT(appoooh);
+ DECLARE_PALETTE_INIT(robowres);
};
#define CHR1_OFST 0x00 /* palette page of char set #1 */
@@ -53,8 +58,8 @@ public:
/* ----------- defined in video/appoooh.c -----------*/
-PALETTE_INIT( appoooh );
-PALETTE_INIT( robowres );
-VIDEO_START( appoooh );
+
+
+
SCREEN_UPDATE_IND16( appoooh );
SCREEN_UPDATE_IND16( robowres );
diff --git a/src/mame/includes/aquarium.h b/src/mame/includes/aquarium.h
index 2e404f362fa..9594e37f92c 100644
--- a/src/mame/includes/aquarium.h
+++ b/src/mame/includes/aquarium.h
@@ -43,11 +43,14 @@ public:
TILE_GET_INFO_MEMBER(get_aquarium_txt_tile_info);
TILE_GET_INFO_MEMBER(get_aquarium_mid_tile_info);
TILE_GET_INFO_MEMBER(get_aquarium_bak_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/aquarium.c -----------*/
-VIDEO_START(aquarium);
+
SCREEN_UPDATE_IND16(aquarium);
diff --git a/src/mame/includes/arabian.h b/src/mame/includes/arabian.h
index 031c9d83cce..39427f2b9f5 100644
--- a/src/mame/includes/arabian.h
+++ b/src/mame/includes/arabian.h
@@ -38,12 +38,16 @@ public:
DECLARE_WRITE8_MEMBER(arabian_videoram_w);
DECLARE_WRITE8_MEMBER(ay8910_porta_w);
DECLARE_WRITE8_MEMBER(ay8910_portb_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/arabian.c -----------*/
-PALETTE_INIT( arabian );
-VIDEO_START( arabian );
+
+
SCREEN_UPDATE_IND16( arabian );
diff --git a/src/mame/includes/arcadecl.h b/src/mame/includes/arcadecl.h
index 7d2750d253a..a2f3cd9044e 100644
--- a/src/mame/includes/arcadecl.h
+++ b/src/mame/includes/arcadecl.h
@@ -18,9 +18,12 @@ public:
UINT8 m_has_mo;
DECLARE_WRITE16_MEMBER(latch_w);
DECLARE_DRIVER_INIT(sparkz);
+ DECLARE_MACHINE_START(arcadecl);
+ DECLARE_MACHINE_RESET(arcadecl);
+ DECLARE_VIDEO_START(arcadecl);
};
/*----------- defined in video/arcadecl.c -----------*/
-VIDEO_START( arcadecl );
+
SCREEN_UPDATE_IND16( arcadecl );
diff --git a/src/mame/includes/argus.h b/src/mame/includes/argus.h
index 5c004e704b8..778c60fd280 100644
--- a/src/mame/includes/argus.h
+++ b/src/mame/includes/argus.h
@@ -74,17 +74,23 @@ public:
TILE_GET_INFO_MEMBER(butasan_get_tx_tile_info);
TILE_GET_INFO_MEMBER(butasan_get_bg0_tile_info);
TILE_GET_INFO_MEMBER(butasan_get_bg1_tile_info);
+ DECLARE_VIDEO_START(argus);
+ DECLARE_VIDEO_RESET(argus);
+ DECLARE_VIDEO_START(valtric);
+ DECLARE_VIDEO_RESET(valtric);
+ DECLARE_VIDEO_START(butasan);
+ DECLARE_VIDEO_RESET(butasan);
};
/*----------- defined in video/argus.c -----------*/
-VIDEO_START( argus );
-VIDEO_START( valtric );
-VIDEO_START( butasan );
-VIDEO_RESET( argus );
-VIDEO_RESET( valtric );
-VIDEO_RESET( butasan );
+
+
+
+
+
+
SCREEN_UPDATE_RGB32( argus );
SCREEN_UPDATE_RGB32( valtric );
SCREEN_UPDATE_RGB32( butasan );
diff --git a/src/mame/includes/arkanoid.h b/src/mame/includes/arkanoid.h
index a235e834be1..d6823e81342 100644
--- a/src/mame/includes/arkanoid.h
+++ b/src/mame/includes/arkanoid.h
@@ -74,6 +74,9 @@ public:
DECLARE_DRIVER_INIT(arkbloc2);
DECLARE_DRIVER_INIT(arkangc);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ DECLARE_MACHINE_START(arkanoid);
+ DECLARE_MACHINE_RESET(arkanoid);
+ DECLARE_VIDEO_START(arkanoid);
};
diff --git a/src/mame/includes/armedf.h b/src/mame/includes/armedf.h
index a72071602ab..183f6759aba 100644
--- a/src/mame/includes/armedf.h
+++ b/src/mame/includes/armedf.h
@@ -75,6 +75,10 @@ public:
TILE_GET_INFO_MEMBER(get_armedf_tx_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ DECLARE_MACHINE_START(armedf);
+ DECLARE_MACHINE_RESET(armedf);
+ DECLARE_VIDEO_START(terraf);
+ DECLARE_VIDEO_START(armedf);
};
class bigfghtr_state : public armedf_state
@@ -95,11 +99,13 @@ public:
DECLARE_WRITE16_MEMBER(sharedram_w);
DECLARE_READ16_MEMBER(sharedram_r);
DECLARE_DRIVER_INIT(bigfghtr);
+ DECLARE_MACHINE_START(bigfghtr);
+ DECLARE_MACHINE_RESET(bigfghtr);
};
/*----------- defined in video/armedf.c -----------*/
SCREEN_UPDATE_IND16( armedf );
-VIDEO_START( armedf );
-VIDEO_START( terraf );
+
+
diff --git a/src/mame/includes/artmagic.h b/src/mame/includes/artmagic.h
index 9deae3cfde2..c0298c17601 100644
--- a/src/mame/includes/artmagic.h
+++ b/src/mame/includes/artmagic.h
@@ -46,12 +46,15 @@ public:
DECLARE_DRIVER_INIT(cheesech);
DECLARE_DRIVER_INIT(ultennis);
DECLARE_DRIVER_INIT(stonebal);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/artmagic.c -----------*/
-VIDEO_START( artmagic );
+
void artmagic_to_shiftreg(address_space *space, offs_t address, UINT16 *data);
void artmagic_from_shiftreg(address_space *space, offs_t address, UINT16 *data);
diff --git a/src/mame/includes/ashnojoe.h b/src/mame/includes/ashnojoe.h
index 7a69af2630e..32f0b02ea77 100644
--- a/src/mame/includes/ashnojoe.h
+++ b/src/mame/includes/ashnojoe.h
@@ -70,11 +70,14 @@ public:
TILE_GET_INFO_MEMBER(get_joe_tile_info_5);
TILE_GET_INFO_MEMBER(get_joe_tile_info_6);
TILE_GET_INFO_MEMBER(get_joe_tile_info_7);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/ashnojoe.c -----------*/
-VIDEO_START( ashnojoe );
+
SCREEN_UPDATE_IND16( ashnojoe );
diff --git a/src/mame/includes/asterix.h b/src/mame/includes/asterix.h
index 7dcce5c6f24..995fefb9af2 100644
--- a/src/mame/includes/asterix.h
+++ b/src/mame/includes/asterix.h
@@ -40,6 +40,8 @@ public:
DECLARE_WRITE16_MEMBER(asterix_spritebank_w);
DECLARE_READ8_MEMBER(asterix_sound_r);
DECLARE_DRIVER_INIT(asterix);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/asteroid.h b/src/mame/includes/asteroid.h
index 4509ad08658..073cb3c684f 100644
--- a/src/mame/includes/asteroid.h
+++ b/src/mame/includes/asteroid.h
@@ -28,6 +28,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(clock_r);
DECLARE_DRIVER_INIT(asterock);
DECLARE_DRIVER_INIT(asteroidb);
+ virtual void machine_reset();
};
@@ -39,7 +40,7 @@ INTERRUPT_GEN( llander_interrupt );
-MACHINE_RESET( asteroid );
+
/*----------- defined in audio/asteroid.c -----------*/
diff --git a/src/mame/includes/astrocde.h b/src/mame/includes/astrocde.h
index 4ec0cb3720d..320a1f709fe 100644
--- a/src/mame/includes/astrocde.h
+++ b/src/mame/includes/astrocde.h
@@ -116,16 +116,20 @@ public:
DECLARE_DRIVER_INIT(ebases);
DECLARE_DRIVER_INIT(gorf);
DECLARE_DRIVER_INIT(astrocde);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(profpac);
+ DECLARE_PALETTE_INIT(profpac);
};
/*----------- defined in video/astrocde.c -----------*/
-PALETTE_INIT( astrocde );
-PALETTE_INIT( profpac );
-VIDEO_START( astrocde );
-VIDEO_START( profpac );
+
+
+
+
SCREEN_UPDATE_IND16( astrocde );
SCREEN_UPDATE_IND16( profpac );
diff --git a/src/mame/includes/astrof.h b/src/mame/includes/astrof.h
index 4f434165248..e2c6134eb26 100644
--- a/src/mame/includes/astrof.h
+++ b/src/mame/includes/astrof.h
@@ -62,6 +62,12 @@ public:
DECLARE_DRIVER_INIT(afire);
DECLARE_DRIVER_INIT(abattle);
DECLARE_DRIVER_INIT(sstarbtl);
+ virtual void video_start();
+ DECLARE_MACHINE_START(astrof);
+ DECLARE_MACHINE_START(abattle);
+ DECLARE_MACHINE_RESET(abattle);
+ DECLARE_MACHINE_START(spfghmk2);
+ DECLARE_MACHINE_START(tomahawk);
};
/*----------- defined in audio/astrof.c -----------*/
diff --git a/src/mame/includes/asuka.h b/src/mame/includes/asuka.h
index 4113f4a4b8c..12564a98b97 100644
--- a/src/mame/includes/asuka.h
+++ b/src/mame/includes/asuka.h
@@ -45,6 +45,8 @@ public:
DECLARE_WRITE8_MEMBER(sound_bankswitch_2151_w);
DECLARE_WRITE8_MEMBER(asuka_msm5205_start_w);
DECLARE_WRITE8_MEMBER(asuka_msm5205_stop_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/atarifb.h b/src/mame/includes/atarifb.h
index f8e5c29666a..dbcd15e78d1 100644
--- a/src/mame/includes/atarifb.h
+++ b/src/mame/includes/atarifb.h
@@ -75,6 +75,10 @@ public:
TILE_GET_INFO_MEMBER(alpha1_get_tile_info);
TILE_GET_INFO_MEMBER(alpha2_get_tile_info);
TILE_GET_INFO_MEMBER(field_get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -93,7 +97,7 @@ DISCRETE_SOUND_EXTERN( abaseb );
/*----------- defined in video/atarifb.c -----------*/
-VIDEO_START( atarifb );
+
SCREEN_UPDATE_IND16( atarifb );
SCREEN_UPDATE_IND16( abaseb );
SCREEN_UPDATE_IND16( soccer );
diff --git a/src/mame/includes/atarig1.h b/src/mame/includes/atarig1.h
index dd6b6505321..46f161d813d 100644
--- a/src/mame/includes/atarig1.h
+++ b/src/mame/includes/atarig1.h
@@ -46,13 +46,16 @@ public:
DECLARE_DRIVER_INIT(pitfightb);
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(atarig1);
+ DECLARE_MACHINE_RESET(atarig1);
+ DECLARE_VIDEO_START(atarig1);
};
/*----------- defined in video/atarig1.c -----------*/
-VIDEO_START( atarig1 );
+
SCREEN_VBLANK( atarig1 );
SCREEN_UPDATE_IND16( atarig1 );
diff --git a/src/mame/includes/atarig42.h b/src/mame/includes/atarig42.h
index beda5e4adb9..5a186e6ced3 100644
--- a/src/mame/includes/atarig42.h
+++ b/src/mame/includes/atarig42.h
@@ -49,12 +49,15 @@ public:
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILEMAP_MAPPER_MEMBER(atarig42_playfield_scan);
+ DECLARE_MACHINE_START(atarig42);
+ DECLARE_MACHINE_RESET(atarig42);
+ DECLARE_VIDEO_START(atarig42);
};
/*----------- defined in video/atarig42.c -----------*/
-VIDEO_START( atarig42 );
+
SCREEN_VBLANK( atarig42 );
SCREEN_UPDATE_IND16( atarig42 );
diff --git a/src/mame/includes/atarigt.h b/src/mame/includes/atarigt.h
index 14c33073570..7acf6c434ed 100644
--- a/src/mame/includes/atarigt.h
+++ b/src/mame/includes/atarigt.h
@@ -68,6 +68,9 @@ public:
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILEMAP_MAPPER_MEMBER(atarigt_playfield_scan);
+ DECLARE_MACHINE_START(atarigt);
+ DECLARE_MACHINE_RESET(atarigt);
+ DECLARE_VIDEO_START(atarigt);
};
@@ -75,7 +78,7 @@ public:
-VIDEO_START( atarigt );
+
SCREEN_VBLANK( atarigt );
SCREEN_UPDATE_RGB32( atarigt );
diff --git a/src/mame/includes/atarigx2.h b/src/mame/includes/atarigx2.h
index c0dee7c1b53..8346db4a94b 100644
--- a/src/mame/includes/atarigx2.h
+++ b/src/mame/includes/atarigx2.h
@@ -43,12 +43,15 @@ public:
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILEMAP_MAPPER_MEMBER(atarigx2_playfield_scan);
+ DECLARE_MACHINE_START(atarigx2);
+ DECLARE_MACHINE_RESET(atarigx2);
+ DECLARE_VIDEO_START(atarigx2);
};
/*----------- defined in video/atarigx2.c -----------*/
-VIDEO_START( atarigx2 );
+
SCREEN_VBLANK( atarigx2 );
SCREEN_UPDATE_IND16( atarigx2 );
diff --git a/src/mame/includes/atarisy1.h b/src/mame/includes/atarisy1.h
index 985b22df3e3..cba6b99d6b9 100644
--- a/src/mame/includes/atarisy1.h
+++ b/src/mame/includes/atarisy1.h
@@ -61,6 +61,9 @@ public:
DECLARE_DRIVER_INIT(indytemp);
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(atarisy1);
+ DECLARE_MACHINE_RESET(atarisy1);
+ DECLARE_VIDEO_START(atarisy1);
};
@@ -78,5 +81,5 @@ WRITE16_HANDLER( atarisy1_xscroll_w );
WRITE16_HANDLER( atarisy1_yscroll_w );
WRITE16_HANDLER( atarisy1_priority_w );
-VIDEO_START( atarisy1 );
+
SCREEN_UPDATE_IND16( atarisy1 );
diff --git a/src/mame/includes/atarisy2.h b/src/mame/includes/atarisy2.h
index 9279911c47d..fdd4ba0f4d4 100644
--- a/src/mame/includes/atarisy2.h
+++ b/src/mame/includes/atarisy2.h
@@ -75,6 +75,9 @@ public:
DECLARE_DRIVER_INIT(720);
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(atarisy2);
+ DECLARE_MACHINE_RESET(atarisy2);
+ DECLARE_VIDEO_START(atarisy2);
};
@@ -89,5 +92,5 @@ WRITE16_HANDLER( atarisy2_xscroll_w );
WRITE16_HANDLER( atarisy2_videoram_w );
WRITE16_HANDLER( atarisy2_paletteram_w );
-VIDEO_START( atarisy2 );
+
SCREEN_UPDATE_IND16( atarisy2 );
diff --git a/src/mame/includes/atetris.h b/src/mame/includes/atetris.h
index 8ada7da6978..1b7eb93ff7a 100644
--- a/src/mame/includes/atetris.h
+++ b/src/mame/includes/atetris.h
@@ -28,10 +28,13 @@ public:
DECLARE_WRITE8_MEMBER(atetris_videoram_w);
DECLARE_DRIVER_INIT(atetris);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/atetris.c -----------*/
-VIDEO_START( atetris );
+
SCREEN_UPDATE_IND16( atetris );
diff --git a/src/mame/includes/avalnche.h b/src/mame/includes/avalnche.h
index d36e5c3ae1e..1341d792cc5 100644
--- a/src/mame/includes/avalnche.h
+++ b/src/mame/includes/avalnche.h
@@ -23,6 +23,8 @@ public:
DECLARE_WRITE8_MEMBER(avalance_credit_1_lamp_w);
DECLARE_WRITE8_MEMBER(avalance_credit_2_lamp_w);
DECLARE_WRITE8_MEMBER(avalance_start_lamp_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in audio/avalnche.c -----------*/
diff --git a/src/mame/includes/aztarac.h b/src/mame/includes/aztarac.h
index 28c3fd4a3f2..faf54e5ea7f 100644
--- a/src/mame/includes/aztarac.h
+++ b/src/mame/includes/aztarac.h
@@ -25,6 +25,8 @@ public:
DECLARE_READ8_MEMBER(aztarac_snd_command_r);
DECLARE_READ8_MEMBER(aztarac_snd_status_r);
DECLARE_WRITE8_MEMBER(aztarac_snd_status_w);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in audio/aztarac.c -----------*/
@@ -37,5 +39,5 @@ INTERRUPT_GEN( aztarac_snd_timed_irq );
/*----------- defined in video/aztarac.c -----------*/
-VIDEO_START( aztarac );
+
diff --git a/src/mame/includes/badlands.h b/src/mame/includes/badlands.h
index aa822224aa6..9a6a478f4d8 100644
--- a/src/mame/includes/badlands.h
+++ b/src/mame/includes/badlands.h
@@ -26,6 +26,10 @@ public:
DECLARE_READ16_MEMBER(badlandsb_unk_r);
DECLARE_DRIVER_INIT(badlands);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(badlands);
+ DECLARE_MACHINE_RESET(badlands);
+ DECLARE_VIDEO_START(badlands);
+ DECLARE_MACHINE_RESET(badlandsb);
};
@@ -33,5 +37,5 @@ public:
WRITE16_HANDLER( badlands_pf_bank_w );
-VIDEO_START( badlands );
+
SCREEN_UPDATE_IND16( badlands );
diff --git a/src/mame/includes/bagman.h b/src/mame/includes/bagman.h
index f9449b14380..c0727672f9b 100644
--- a/src/mame/includes/bagman.h
+++ b/src/mame/includes/bagman.h
@@ -44,6 +44,9 @@ public:
DECLARE_READ8_MEMBER(dial_input_p2_r);
DECLARE_DRIVER_INIT(bagman);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ DECLARE_MACHINE_RESET(bagman);
+ DECLARE_VIDEO_START(bagman);
+ DECLARE_PALETTE_INIT(bagman);
};
@@ -69,12 +72,12 @@ public:
/*----------- defined in machine/bagman.c -----------*/
-MACHINE_RESET( bagman );
+
/*----------- defined in video/bagman.c -----------*/
-PALETTE_INIT( bagman );
-VIDEO_START( bagman );
+
+
SCREEN_UPDATE_IND16( bagman );
diff --git a/src/mame/includes/balsente.h b/src/mame/includes/balsente.h
index a5127cdf3e2..f93c866dd62 100644
--- a/src/mame/includes/balsente.h
+++ b/src/mame/includes/balsente.h
@@ -189,6 +189,9 @@ public:
DECLARE_DRIVER_INIT(minigolf2);
DECLARE_DRIVER_INIT(nametune);
DECLARE_DRIVER_INIT(gghost);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -196,8 +199,8 @@ public:
TIMER_DEVICE_CALLBACK( balsente_interrupt_timer );
-MACHINE_START( balsente );
-MACHINE_RESET( balsente );
+
+
void balsente_noise_gen(device_t *device, int count, short *buffer);
@@ -220,6 +223,6 @@ TIMER_DEVICE_CALLBACK( balsente_clock_counter_0_ff );
/*----------- defined in video/balsente.c -----------*/
-VIDEO_START( balsente );
+
SCREEN_UPDATE_IND16( balsente );
diff --git a/src/mame/includes/bankp.h b/src/mame/includes/bankp.h
index e8238f2c247..89508da3797 100644
--- a/src/mame/includes/bankp.h
+++ b/src/mame/includes/bankp.h
@@ -35,14 +35,17 @@ public:
DECLARE_WRITE8_MEMBER(bankp_out_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/bankp.c -----------*/
-PALETTE_INIT( bankp );
-VIDEO_START( bankp );
+
+
SCREEN_UPDATE_IND16( bankp );
diff --git a/src/mame/includes/baraduke.h b/src/mame/includes/baraduke.h
index 4417ad00c89..a43c30335ef 100644
--- a/src/mame/includes/baraduke.h
+++ b/src/mame/includes/baraduke.h
@@ -36,12 +36,14 @@ public:
TILE_GET_INFO_MEMBER(tx_get_tile_info);
TILE_GET_INFO_MEMBER(get_tile_info0);
TILE_GET_INFO_MEMBER(get_tile_info1);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/baraduke.c -----------*/
-VIDEO_START( baraduke );
+
SCREEN_UPDATE_IND16( baraduke );
SCREEN_VBLANK( baraduke );
-PALETTE_INIT( baraduke );
+
diff --git a/src/mame/includes/batman.h b/src/mame/includes/batman.h
index 96db20385cc..aa8cfe9e423 100644
--- a/src/mame/includes/batman.h
+++ b/src/mame/includes/batman.h
@@ -23,12 +23,15 @@ public:
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
+ DECLARE_MACHINE_START(batman);
+ DECLARE_MACHINE_RESET(batman);
+ DECLARE_VIDEO_START(batman);
};
/*----------- defined in video/batman.c -----------*/
-VIDEO_START( batman );
+
SCREEN_UPDATE_IND16( batman );
void batman_scanline_update(screen_device &screen, int scanline);
diff --git a/src/mame/includes/battlane.h b/src/mame/includes/battlane.h
index 37ab96a049d..5510fa98e01 100644
--- a/src/mame/includes/battlane.h
+++ b/src/mame/includes/battlane.h
@@ -35,11 +35,14 @@ public:
DECLARE_WRITE8_MEMBER(battlane_video_ctrl_w);
TILE_GET_INFO_MEMBER(get_tile_info_bg);
TILEMAP_MAPPER_MEMBER(battlane_tilemap_scan_rows_2x2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/battlane.c -----------*/
-VIDEO_START( battlane );
+
SCREEN_UPDATE_IND16( battlane );
diff --git a/src/mame/includes/battlera.h b/src/mame/includes/battlera.h
index ffb57322d2b..4421c3e290d 100644
--- a/src/mame/includes/battlera.h
+++ b/src/mame/includes/battlera.h
@@ -39,13 +39,14 @@ public:
DECLARE_READ8_MEMBER(HuC6270_data_r);
DECLARE_WRITE8_MEMBER(HuC6270_data_w);
DECLARE_WRITE8_MEMBER(battlera_adpcm_reset_w);
+ virtual void video_start();
};
/*----------- defined in video/battlera.c -----------*/
SCREEN_UPDATE_IND16( battlera );
-VIDEO_START( battlera );
+
TIMER_DEVICE_CALLBACK( battlera_irq );
diff --git a/src/mame/includes/battlex.h b/src/mame/includes/battlex.h
index e8ec6157344..d6c7479cd6c 100644
--- a/src/mame/includes/battlex.h
+++ b/src/mame/includes/battlex.h
@@ -32,6 +32,9 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(battlex_in0_b4_r);
DECLARE_DRIVER_INIT(battlex);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mame/includes/battlnts.h b/src/mame/includes/battlnts.h
index 0d6c1fbf8c4..ebb30af1d28 100644
--- a/src/mame/includes/battlnts.h
+++ b/src/mame/includes/battlnts.h
@@ -26,6 +26,8 @@ public:
DECLARE_WRITE8_MEMBER(battlnts_bankswitch_w);
DECLARE_WRITE8_MEMBER(battlnts_spritebank_w);
DECLARE_DRIVER_INIT(rackemup);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in video/battlnts.c -----------*/
diff --git a/src/mame/includes/bbusters.h b/src/mame/includes/bbusters.h
index 5b59182be6d..98a452842ff 100644
--- a/src/mame/includes/bbusters.h
+++ b/src/mame/includes/bbusters.h
@@ -52,13 +52,15 @@ public:
TILE_GET_INFO_MEMBER(get_bbusters_tile_info);
TILE_GET_INFO_MEMBER(get_pf1_tile_info);
TILE_GET_INFO_MEMBER(get_pf2_tile_info);
+ DECLARE_VIDEO_START(bbuster);
+ DECLARE_VIDEO_START(mechatt);
};
/*----------- defined in video/bbusters.c -----------*/
-VIDEO_START( bbuster );
-VIDEO_START( mechatt );
+
+
SCREEN_UPDATE_IND16( bbuster );
SCREEN_UPDATE_IND16( mechatt );
diff --git a/src/mame/includes/beezer.h b/src/mame/includes/beezer.h
index fcdd2b2b2d0..5cfbbe931de 100644
--- a/src/mame/includes/beezer.h
+++ b/src/mame/includes/beezer.h
@@ -16,6 +16,7 @@ public:
DECLARE_WRITE8_MEMBER(beezer_map_w);
DECLARE_READ8_MEMBER(beezer_line_r);
DECLARE_DRIVER_INIT(beezer);
+ virtual void machine_start();
};
diff --git a/src/mame/includes/bfm_sc45.h b/src/mame/includes/bfm_sc45.h
index 247714a2b97..9a34c14db87 100644
--- a/src/mame/includes/bfm_sc45.h
+++ b/src/mame/includes/bfm_sc45.h
@@ -111,6 +111,8 @@ public:
DECLARE_DRIVER_INIT(sc4ggame);
DECLARE_DRIVER_INIT(sc4gggtb);
DECLARE_DRIVER_INIT(sc4ggg);
+ DECLARE_MACHINE_START(sc4);
+ DECLARE_MACHINE_RESET(sc4);
};
class sc4_adder4_state : public sc4_state
@@ -126,7 +128,7 @@ public:
DECLARE_READ32_MEMBER(adder4_mem_r);
DECLARE_WRITE32_MEMBER(adder4_mem_w);
-
+ DECLARE_MACHINE_START(adder4);
// devices
required_device<cpu_device> m_adder4cpu;
diff --git a/src/mame/includes/bigevglf.h b/src/mame/includes/bigevglf.h
index 0e19b88b06e..a951cb9d68d 100644
--- a/src/mame/includes/bigevglf.h
+++ b/src/mame/includes/bigevglf.h
@@ -86,6 +86,9 @@ public:
DECLARE_WRITE8_MEMBER(bigevglf_vidram_w);
DECLARE_READ8_MEMBER(bigevglf_vidram_r);
DECLARE_DRIVER_INIT(bigevglf);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -96,7 +99,7 @@ public:
/*----------- defined in video/bigevglf.c -----------*/
-VIDEO_START( bigevglf );
+
SCREEN_UPDATE_IND16( bigevglf );
diff --git a/src/mame/includes/bigstrkb.h b/src/mame/includes/bigstrkb.h
index f4af6bb8950..eb7e2d94d23 100644
--- a/src/mame/includes/bigstrkb.h
+++ b/src/mame/includes/bigstrkb.h
@@ -29,10 +29,11 @@ public:
TILE_GET_INFO_MEMBER(get_bsb_tile_info);
TILE_GET_INFO_MEMBER(get_bsb_tile2_info);
TILE_GET_INFO_MEMBER(get_bsb_tile3_info);
+ virtual void video_start();
};
/*----------- defined in video/bigstrkb.c -----------*/
-VIDEO_START(bigstrkb);
+
SCREEN_UPDATE_IND16(bigstrkb);
diff --git a/src/mame/includes/bionicc.h b/src/mame/includes/bionicc.h
index 23b9c8985f3..c5ebcd326d0 100644
--- a/src/mame/includes/bionicc.h
+++ b/src/mame/includes/bionicc.h
@@ -47,11 +47,14 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/bionicc.c -----------*/
-VIDEO_START( bionicc );
+
SCREEN_UPDATE_IND16( bionicc );
diff --git a/src/mame/includes/bishi.h b/src/mame/includes/bishi.h
index 77062c571ca..1b7537eba24 100644
--- a/src/mame/includes/bishi.h
+++ b/src/mame/includes/bishi.h
@@ -36,11 +36,14 @@ public:
DECLARE_WRITE16_MEMBER(control2_w);
DECLARE_READ16_MEMBER(bishi_mirror_r);
DECLARE_READ16_MEMBER(bishi_K056832_rom_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/bishi.c -----------*/
extern void bishi_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags);
-VIDEO_START(bishi);
+
SCREEN_UPDATE_RGB32(bishi);
diff --git a/src/mame/includes/bking.h b/src/mame/includes/bking.h
index da4b4b0525e..336f8342e19 100644
--- a/src/mame/includes/bking.h
+++ b/src/mame/includes/bking.h
@@ -80,6 +80,13 @@ public:
DECLARE_WRITE8_MEMBER(unk_w);
DECLARE_WRITE8_MEMBER(port_b_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(bking3);
+ DECLARE_MACHINE_RESET(bking3);
+ DECLARE_MACHINE_RESET(common);
};
@@ -87,7 +94,7 @@ public:
-PALETTE_INIT( bking );
-VIDEO_START( bking );
+
+
SCREEN_UPDATE_IND16( bking );
SCREEN_VBLANK( bking );
diff --git a/src/mame/includes/bladestl.h b/src/mame/includes/bladestl.h
index 7f44743c808..36bb51d3af0 100644
--- a/src/mame/includes/bladestl.h
+++ b/src/mame/includes/bladestl.h
@@ -31,13 +31,16 @@ public:
DECLARE_WRITE8_MEMBER(bladestl_port_B_w);
DECLARE_READ8_MEMBER(bladestl_speech_busy_r);
DECLARE_WRITE8_MEMBER(bladestl_speech_ctrl_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*----------- defined in video/bladestl.c -----------*/
-PALETTE_INIT( bladestl );
+
SCREEN_UPDATE_IND16( bladestl );
diff --git a/src/mame/includes/blktiger.h b/src/mame/includes/blktiger.h
index 8e1cd2a668d..5e55faccdba 100644
--- a/src/mame/includes/blktiger.h
+++ b/src/mame/includes/blktiger.h
@@ -59,6 +59,9 @@ public:
TILEMAP_MAPPER_MEMBER(bg4x8_scan);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -66,5 +69,5 @@ public:
-VIDEO_START( blktiger );
+
SCREEN_UPDATE_IND16( blktiger );
diff --git a/src/mame/includes/blmbycar.h b/src/mame/includes/blmbycar.h
index daf7ce1d595..774d180f23e 100644
--- a/src/mame/includes/blmbycar.h
+++ b/src/mame/includes/blmbycar.h
@@ -44,6 +44,11 @@ public:
DECLARE_DRIVER_INIT(blmbycar);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
+ virtual void video_start();
+ DECLARE_MACHINE_START(blmbycar);
+ DECLARE_MACHINE_RESET(blmbycar);
+ DECLARE_MACHINE_START(watrball);
+ DECLARE_MACHINE_RESET(watrball);
};
@@ -51,5 +56,5 @@ public:
-VIDEO_START( blmbycar );
+
SCREEN_UPDATE_IND16( blmbycar );
diff --git a/src/mame/includes/blockade.h b/src/mame/includes/blockade.h
index 5940825e96e..d98e059599a 100644
--- a/src/mame/includes/blockade.h
+++ b/src/mame/includes/blockade.h
@@ -22,13 +22,17 @@ public:
DECLARE_WRITE8_MEMBER(blockade_env_on_w);
DECLARE_WRITE8_MEMBER(blockade_env_off_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/blockade.c -----------*/
-VIDEO_START( blockade );
+
SCREEN_UPDATE_IND16( blockade );
/*----------- defined in audio/blockade.c -----------*/
diff --git a/src/mame/includes/blockhl.h b/src/mame/includes/blockhl.h
index c46e4426694..6505aacef91 100644
--- a/src/mame/includes/blockhl.h
+++ b/src/mame/includes/blockhl.h
@@ -33,6 +33,9 @@ public:
DECLARE_WRITE8_MEMBER(blockhl_sh_irqtrigger_w);
DECLARE_READ8_MEMBER(k052109_051960_r);
DECLARE_WRITE8_MEMBER(k052109_051960_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/blockhl.c -----------*/
@@ -40,5 +43,5 @@ public:
extern void blockhl_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color, int *flags, int *priority);
extern void blockhl_sprite_callback(running_machine &machine, int *code,int *color,int *priority,int *shadow);
-VIDEO_START( blockhl );
+
SCREEN_UPDATE_IND16( blockhl );
diff --git a/src/mame/includes/blockout.h b/src/mame/includes/blockout.h
index b2d69633c04..d80d3938d0e 100644
--- a/src/mame/includes/blockout.h
+++ b/src/mame/includes/blockout.h
@@ -31,11 +31,14 @@ public:
DECLARE_WRITE16_MEMBER(blockout_paletteram_w);
DECLARE_WRITE16_MEMBER(blockout_frontcolor_w);
DECLARE_WRITE16_MEMBER(blockout_videoram_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/blockout.c -----------*/
-VIDEO_START( blockout );
+
SCREEN_UPDATE_IND16( blockout );
diff --git a/src/mame/includes/bloodbro.h b/src/mame/includes/bloodbro.h
index 732f06ba4f6..3eba36e490b 100644
--- a/src/mame/includes/bloodbro.h
+++ b/src/mame/includes/bloodbro.h
@@ -25,6 +25,7 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void video_start();
};
@@ -34,4 +35,4 @@ public:
SCREEN_UPDATE_IND16( bloodbro );
SCREEN_UPDATE_IND16( weststry );
SCREEN_UPDATE_IND16( skysmash );
-VIDEO_START( bloodbro );
+
diff --git a/src/mame/includes/blstroid.h b/src/mame/includes/blstroid.h
index 4e681054581..5ce9edf5a4a 100644
--- a/src/mame/includes/blstroid.h
+++ b/src/mame/includes/blstroid.h
@@ -18,12 +18,15 @@ public:
DECLARE_READ16_MEMBER(inputs_r);
DECLARE_DRIVER_INIT(blstroid);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(blstroid);
+ DECLARE_MACHINE_RESET(blstroid);
+ DECLARE_VIDEO_START(blstroid);
};
/*----------- defined in video/blstroid.c -----------*/
-VIDEO_START( blstroid );
+
SCREEN_UPDATE_IND16( blstroid );
void blstroid_scanline_update(screen_device &screen, int scanline);
diff --git a/src/mame/includes/blueprnt.h b/src/mame/includes/blueprnt.h
index 79a323d9c57..b570f2c3c0b 100644
--- a/src/mame/includes/blueprnt.h
+++ b/src/mame/includes/blueprnt.h
@@ -37,12 +37,16 @@ public:
DECLARE_WRITE8_MEMBER(blueprnt_flipscreen_w);
DECLARE_WRITE8_MEMBER(dipsw_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/blueprnt.c -----------*/
-PALETTE_INIT( blueprnt );
-VIDEO_START( blueprnt );
+
+
SCREEN_UPDATE_IND16( blueprnt );
diff --git a/src/mame/includes/bogeyman.h b/src/mame/includes/bogeyman.h
index d4065e6ad72..11a500f5a7b 100644
--- a/src/mame/includes/bogeyman.h
+++ b/src/mame/includes/bogeyman.h
@@ -41,12 +41,16 @@ public:
DECLARE_WRITE8_MEMBER(bogeyman_colbank_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/bogeyman.c -----------*/
-PALETTE_INIT( bogeyman );
-VIDEO_START( bogeyman );
+
+
SCREEN_UPDATE_IND16( bogeyman );
diff --git a/src/mame/includes/bombjack.h b/src/mame/includes/bombjack.h
index c9544cee253..23fd5609f14 100644
--- a/src/mame/includes/bombjack.h
+++ b/src/mame/includes/bombjack.h
@@ -36,11 +36,14 @@ public:
DECLARE_WRITE8_MEMBER(bombjack_flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/bombjack.c -----------*/
-VIDEO_START( bombjack );
+
SCREEN_UPDATE_IND16( bombjack );
diff --git a/src/mame/includes/boogwing.h b/src/mame/includes/boogwing.h
index fa4888a009f..808b5cc97eb 100644
--- a/src/mame/includes/boogwing.h
+++ b/src/mame/includes/boogwing.h
@@ -46,11 +46,12 @@ public:
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_DRIVER_INIT(boogwing);
+ virtual void video_start();
};
/*----------- defined in video/boogwing.c -----------*/
-VIDEO_START( boogwing );
+
SCREEN_UPDATE_RGB32( boogwing );
diff --git a/src/mame/includes/bottom9.h b/src/mame/includes/bottom9.h
index 9d0cfa095d1..a195e71c5c5 100644
--- a/src/mame/includes/bottom9.h
+++ b/src/mame/includes/bottom9.h
@@ -43,6 +43,9 @@ public:
DECLARE_WRITE8_MEMBER(bottom9_sh_irqtrigger_w);
DECLARE_WRITE8_MEMBER(nmi_enable_w);
DECLARE_WRITE8_MEMBER(sound_bank_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/bottom9.c -----------*/
@@ -51,5 +54,5 @@ extern void bottom9_tile_callback(running_machine &machine, int layer,int bank,i
extern void bottom9_sprite_callback(running_machine &machine, int *code,int *color,int *priority,int *shadow);
extern void bottom9_zoom_callback(running_machine &machine, int *code,int *color,int *flags);
-VIDEO_START( bottom9 );
+
SCREEN_UPDATE_IND16( bottom9 );
diff --git a/src/mame/includes/brkthru.h b/src/mame/includes/brkthru.h
index 73e554f1580..78eb8da0ba8 100644
--- a/src/mame/includes/brkthru.h
+++ b/src/mame/includes/brkthru.h
@@ -41,11 +41,15 @@ public:
DECLARE_DRIVER_INIT(brkthru);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/brkthru.c -----------*/
-VIDEO_START( brkthru );
-PALETTE_INIT( brkthru );
+
+
SCREEN_UPDATE_IND16( brkthru );
diff --git a/src/mame/includes/bsktball.h b/src/mame/includes/bsktball.h
index 3a74df9efde..ad4135e81d7 100644
--- a/src/mame/includes/bsktball.h
+++ b/src/mame/includes/bsktball.h
@@ -51,6 +51,10 @@ public:
DECLARE_WRITE8_MEMBER(bsktball_led2_w);
DECLARE_WRITE8_MEMBER(bsktball_videoram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -70,6 +74,6 @@ DISCRETE_SOUND_EXTERN( bsktball );
/*----------- defined in video/bsktball.c -----------*/
-VIDEO_START( bsktball );
+
SCREEN_UPDATE_IND16( bsktball );
diff --git a/src/mame/includes/btime.h b/src/mame/includes/btime.h
index 87131c57755..0386803d107 100644
--- a/src/mame/includes/btime.h
+++ b/src/mame/includes/btime.h
@@ -98,6 +98,15 @@ public:
DECLARE_DRIVER_INIT(protennb);
DECLARE_DRIVER_INIT(disco);
DECLARE_DRIVER_INIT(lnc);
+ DECLARE_MACHINE_START(btime);
+ DECLARE_MACHINE_RESET(btime);
+ DECLARE_VIDEO_START(btime);
+ DECLARE_PALETTE_INIT(btime);
+ DECLARE_MACHINE_RESET(lnc);
+ DECLARE_PALETTE_INIT(lnc);
+ DECLARE_MACHINE_START(mmonkey);
+ DECLARE_MACHINE_RESET(mmonkey);
+ DECLARE_VIDEO_START(bnj);
};
@@ -107,11 +116,11 @@ public:
/*----------- defined in video/btime.c -----------*/
-PALETTE_INIT( btime );
-PALETTE_INIT( lnc );
-VIDEO_START( btime );
-VIDEO_START( bnj );
+
+
+
+
SCREEN_UPDATE_IND16( btime );
SCREEN_UPDATE_IND16( cookrace );
diff --git a/src/mame/includes/bublbobl.h b/src/mame/includes/bublbobl.h
index a7a78d0813e..e208458e9b9 100644
--- a/src/mame/includes/bublbobl.h
+++ b/src/mame/includes/bublbobl.h
@@ -98,6 +98,16 @@ public:
DECLARE_DRIVER_INIT(tokio);
DECLARE_DRIVER_INIT(dland);
DECLARE_DRIVER_INIT(bublbobl);
+ DECLARE_MACHINE_START(tokio);
+ DECLARE_MACHINE_RESET(tokio);
+ DECLARE_MACHINE_START(bublbobl);
+ DECLARE_MACHINE_RESET(bublbobl);
+ DECLARE_MACHINE_START(boblbobl);
+ DECLARE_MACHINE_RESET(boblbobl);
+ DECLARE_MACHINE_START(bub68705);
+ DECLARE_MACHINE_RESET(bub68705);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
};
diff --git a/src/mame/includes/buggychl.h b/src/mame/includes/buggychl.h
index e4a76c393f7..be90dc901ea 100644
--- a/src/mame/includes/buggychl.h
+++ b/src/mame/includes/buggychl.h
@@ -51,12 +51,16 @@ public:
DECLARE_WRITE8_MEMBER(port_b_0_w);
DECLARE_WRITE8_MEMBER(port_a_1_w);
DECLARE_WRITE8_MEMBER(port_b_1_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/buggychl.c -----------*/
-PALETTE_INIT( buggychl );
-VIDEO_START( buggychl );
+
+
SCREEN_UPDATE_IND16( buggychl );
diff --git a/src/mame/includes/bwing.h b/src/mame/includes/bwing.h
index 4e1815d35f3..97c0f797d67 100644
--- a/src/mame/includes/bwing.h
+++ b/src/mame/includes/bwing.h
@@ -71,6 +71,9 @@ public:
TILE_GET_INFO_MEMBER(get_bgtileinfo);
TILE_GET_INFO_MEMBER(get_charinfo);
TILEMAP_MAPPER_MEMBER(bwing_scan_cols);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -79,5 +82,5 @@ public:
extern const gfx_layout bwing_tilelayout;
-VIDEO_START( bwing );
+
SCREEN_UPDATE_IND16( bwing );
diff --git a/src/mame/includes/bzone.h b/src/mame/includes/bzone.h
index 69352a887ad..bf9811a2ec2 100644
--- a/src/mame/includes/bzone.h
+++ b/src/mame/includes/bzone.h
@@ -24,6 +24,8 @@ public:
DECLARE_READ8_MEMBER(redbaron_joy_r);
DECLARE_WRITE8_MEMBER(redbaron_joysound_w);
DECLARE_DRIVER_INIT(bradley);
+ virtual void machine_start();
+ DECLARE_MACHINE_START(redbaron);
};
diff --git a/src/mame/includes/cabal.h b/src/mame/includes/cabal.h
index d22eccd21d2..f3ca802b640 100644
--- a/src/mame/includes/cabal.h
+++ b/src/mame/includes/cabal.h
@@ -32,6 +32,8 @@ public:
DECLARE_DRIVER_INIT(cabalbl2);
TILE_GET_INFO_MEMBER(get_back_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(cabalbl);
};
diff --git a/src/mame/includes/calomega.h b/src/mame/includes/calomega.h
index d86603a9376..be0f556aebd 100644
--- a/src/mame/includes/calomega.h
+++ b/src/mame/includes/calomega.h
@@ -41,11 +41,13 @@ public:
DECLARE_DRIVER_INIT(comg080);
DECLARE_DRIVER_INIT(jjpoker);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/calomega.c -----------*/
-PALETTE_INIT( calomega );
-VIDEO_START( calomega );
+
+
SCREEN_UPDATE_IND16( calomega );
diff --git a/src/mame/includes/canyon.h b/src/mame/includes/canyon.h
index d25c9190e5a..41cd04bd469 100644
--- a/src/mame/includes/canyon.h
+++ b/src/mame/includes/canyon.h
@@ -34,6 +34,8 @@ public:
DECLARE_WRITE8_MEMBER(canyon_led_w);
DECLARE_WRITE8_MEMBER(canyon_videoram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -49,6 +51,6 @@ DISCRETE_SOUND_EXTERN( canyon );
/*----------- defined in video/canyon.c -----------*/
-VIDEO_START( canyon );
+
SCREEN_UPDATE_IND16( canyon );
diff --git a/src/mame/includes/capbowl.h b/src/mame/includes/capbowl.h
index 0d3d507876d..ab1620364b7 100644
--- a/src/mame/includes/capbowl.h
+++ b/src/mame/includes/capbowl.h
@@ -37,11 +37,14 @@ public:
DECLARE_WRITE8_MEMBER(bowlrama_blitter_w);
DECLARE_READ8_MEMBER(bowlrama_blitter_r);
DECLARE_DRIVER_INIT(capbowl);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/capbowl.c -----------*/
-VIDEO_START( capbowl );
+
SCREEN_UPDATE_RGB32( capbowl );
diff --git a/src/mame/includes/carjmbre.h b/src/mame/includes/carjmbre.h
index d89ce945e5b..4b621fc49ff 100644
--- a/src/mame/includes/carjmbre.h
+++ b/src/mame/includes/carjmbre.h
@@ -28,6 +28,9 @@ public:
DECLARE_WRITE8_MEMBER(carjmbre_8806_w);
DECLARE_WRITE8_MEMBER(carjmbre_videoram_w);
TILE_GET_INFO_MEMBER(get_carjmbre_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -35,8 +38,8 @@ public:
/*----------- defined in video/carjmbre.c -----------*/
-PALETTE_INIT( carjmbre );
-VIDEO_START( carjmbre );
+
+
SCREEN_UPDATE_IND16( carjmbre );
diff --git a/src/mame/includes/carpolo.h b/src/mame/includes/carpolo.h
index 342e85696a1..1d928bca4f1 100644
--- a/src/mame/includes/carpolo.h
+++ b/src/mame/includes/carpolo.h
@@ -62,6 +62,10 @@ public:
DECLARE_WRITE8_MEMBER(carpolo_car_border_interrupt_clear_w);
DECLARE_WRITE8_MEMBER(carpolo_timer_interrupt_clear_w);
DECLARE_DRIVER_INIT(carpolo);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -77,8 +81,8 @@ WRITE_LINE_DEVICE_HANDLER( carpolo_7474_2s_2_q_cb );
WRITE_LINE_DEVICE_HANDLER( carpolo_7474_2u_1_q_cb );
WRITE_LINE_DEVICE_HANDLER( carpolo_7474_2u_2_q_cb );
-MACHINE_START( carpolo );
-MACHINE_RESET( carpolo );
+
+
@@ -94,7 +98,7 @@ void carpolo_generate_car_border_interrupt(running_machine &machine, int car, in
/*----------- defined in video/carpolo.c -----------*/
-PALETTE_INIT( carpolo );
-VIDEO_START( carpolo );
+
+
SCREEN_UPDATE_IND16( carpolo );
SCREEN_VBLANK( carpolo );
diff --git a/src/mame/includes/cave.h b/src/mame/includes/cave.h
index 5724622c460..902aa8613d7 100644
--- a/src/mame/includes/cave.h
+++ b/src/mame/includes/cave.h
@@ -186,26 +186,40 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_1);
TILE_GET_INFO_MEMBER(get_tile_info_2);
TILE_GET_INFO_MEMBER(get_tile_info_3);
+ DECLARE_MACHINE_START(cave);
+ DECLARE_MACHINE_RESET(cave);
+ DECLARE_VIDEO_START(cave_2_layers);
+ DECLARE_PALETTE_INIT(dfeveron);
+ DECLARE_VIDEO_START(cave_3_layers);
+ DECLARE_PALETTE_INIT(ddonpach);
+ DECLARE_PALETTE_INIT(cave);
+ DECLARE_VIDEO_START(cave_1_layer);
+ DECLARE_PALETTE_INIT(korokoro);
+ DECLARE_PALETTE_INIT(mazinger);
+ DECLARE_VIDEO_START(cave_4_layers);
+ DECLARE_PALETTE_INIT(pwrinst2);
+ DECLARE_VIDEO_START(sailormn_3_layers);
+ DECLARE_PALETTE_INIT(sailormn);
};
/*----------- defined in video/cave.c -----------*/
-PALETTE_INIT( cave );
-PALETTE_INIT( ddonpach );
-PALETTE_INIT( dfeveron );
-PALETTE_INIT( mazinger );
-PALETTE_INIT( sailormn );
-PALETTE_INIT( pwrinst2 );
-PALETTE_INIT( korokoro );
-VIDEO_START( cave_1_layer );
-VIDEO_START( cave_2_layers );
-VIDEO_START( cave_3_layers );
-VIDEO_START( cave_4_layers );
-VIDEO_START( sailormn_3_layers );
+
+
+
+
+
+
+
+
+
+
+
+
SCREEN_UPDATE_IND16( cave );
diff --git a/src/mame/includes/cbasebal.h b/src/mame/includes/cbasebal.h
index d779be81752..2a18d197cd7 100644
--- a/src/mame/includes/cbasebal.h
+++ b/src/mame/includes/cbasebal.h
@@ -45,10 +45,13 @@ public:
DECLARE_DRIVER_INIT(cbasebal);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/cbasebal.c -----------*/
-VIDEO_START( cbasebal );
+
SCREEN_UPDATE_IND16( cbasebal );
diff --git a/src/mame/includes/cbuster.h b/src/mame/includes/cbuster.h
index 6159c82d45e..ee839201453 100644
--- a/src/mame/includes/cbuster.h
+++ b/src/mame/includes/cbuster.h
@@ -39,6 +39,9 @@ public:
DECLARE_WRITE16_MEMBER(twocrude_palette_24bit_rg_w);
DECLARE_WRITE16_MEMBER(twocrude_palette_24bit_b_w);
DECLARE_DRIVER_INIT(twocrude);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -46,5 +49,5 @@ public:
/*----------- defined in video/cbuster.c -----------*/
-VIDEO_START( twocrude );
+
SCREEN_UPDATE_RGB32( twocrude );
diff --git a/src/mame/includes/ccastles.h b/src/mame/includes/ccastles.h
index 55248b63bc4..1f36204c9ca 100644
--- a/src/mame/includes/ccastles.h
+++ b/src/mame/includes/ccastles.h
@@ -64,13 +64,16 @@ public:
DECLARE_WRITE8_MEMBER(ccastles_bitmode_w);
DECLARE_WRITE8_MEMBER(ccastles_bitmode_addr_w);
DECLARE_CUSTOM_INPUT_MEMBER(get_vblank);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/ccastles.c -----------*/
-VIDEO_START( ccastles );
+
SCREEN_UPDATE_IND16( ccastles );
diff --git a/src/mame/includes/cchasm.h b/src/mame/includes/cchasm.h
index ec2f257cdb4..a014bfe8040 100644
--- a/src/mame/includes/cchasm.h
+++ b/src/mame/includes/cchasm.h
@@ -31,6 +31,7 @@ public:
DECLARE_READ16_MEMBER(cchasm_io_r);
INPUT_CHANGED_MEMBER(cchasm_set_coin_flag);
DECLARE_WRITE_LINE_MEMBER(cchasm_6840_irq);
+ virtual void video_start();
};
@@ -46,5 +47,5 @@ SOUND_START( cchasm );
/*----------- defined in video/cchasm.c -----------*/
-VIDEO_START( cchasm );
+
diff --git a/src/mame/includes/cclimber.h b/src/mame/includes/cclimber.h
index 47c21af7004..8c5bd208b0e 100644
--- a/src/mame/includes/cclimber.h
+++ b/src/mame/includes/cclimber.h
@@ -58,6 +58,14 @@ public:
TILE_GET_INFO_MEMBER(cclimber_get_bs_tile_info);
TILE_GET_INFO_MEMBER(toprollr_get_bs_tile_info);
TILE_GET_INFO_MEMBER(toproller_get_bg_tile_info);
+ DECLARE_MACHINE_RESET(cclimber);
+ DECLARE_VIDEO_START(cclimber);
+ DECLARE_PALETTE_INIT(cclimber);
+ DECLARE_VIDEO_START(swimmer);
+ DECLARE_PALETTE_INIT(swimmer);
+ DECLARE_PALETTE_INIT(yamato);
+ DECLARE_VIDEO_START(toprollr);
+ DECLARE_PALETTE_INIT(toprollr);
};
@@ -67,17 +75,17 @@ public:
/*----------- defined in video/cclimber.c -----------*/
-PALETTE_INIT( cclimber );
-VIDEO_START( cclimber );
+
+
SCREEN_UPDATE_IND16( cclimber );
-PALETTE_INIT( swimmer );
-VIDEO_START( swimmer );
+
+
SCREEN_UPDATE_IND16( swimmer );
-PALETTE_INIT( yamato );
+
SCREEN_UPDATE_IND16( yamato );
-PALETTE_INIT( toprollr );
-VIDEO_START( toprollr );
+
+
SCREEN_UPDATE_IND16( toprollr );
diff --git a/src/mame/includes/cdi.h b/src/mame/includes/cdi.h
index 214e03eae05..a1541ee692d 100644
--- a/src/mame/includes/cdi.h
+++ b/src/mame/includes/cdi.h
@@ -32,6 +32,19 @@ public:
mcd212_regs_t m_mcd212_regs;
mcd212_ab_t m_mcd212_ab;
DECLARE_INPUT_CHANGED_MEMBER(mcu_input);
+ virtual void machine_start();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(cdi);
+ DECLARE_MACHINE_RESET(quizrd12);
+ DECLARE_MACHINE_RESET(quizrd17);
+ DECLARE_MACHINE_RESET(quizrd18);
+ DECLARE_MACHINE_RESET(quizrd22);
+ DECLARE_MACHINE_RESET(quizrd23);
+ DECLARE_MACHINE_RESET(quizrd32);
+ DECLARE_MACHINE_RESET(quizrd34);
+ DECLARE_MACHINE_RESET(quizrr40);
+ DECLARE_MACHINE_RESET(quizrr41);
+ DECLARE_MACHINE_RESET(quizrr42);
};
/*----------- debug defines -----------*/
diff --git a/src/mame/includes/centiped.h b/src/mame/includes/centiped.h
index a1b937cebc3..6847e228805 100644
--- a/src/mame/includes/centiped.h
+++ b/src/mame/includes/centiped.h
@@ -67,17 +67,25 @@ public:
TILE_GET_INFO_MEMBER(warlords_get_tile_info);
TILE_GET_INFO_MEMBER(milliped_get_tile_info);
TILE_GET_INFO_MEMBER(bullsdrt_get_tile_info);
+ DECLARE_MACHINE_START(centiped);
+ DECLARE_MACHINE_RESET(centiped);
+ DECLARE_VIDEO_START(centiped);
+ DECLARE_VIDEO_START(bullsdrt);
+ DECLARE_MACHINE_RESET(magworm);
+ DECLARE_VIDEO_START(milliped);
+ DECLARE_VIDEO_START(warlords);
+ DECLARE_PALETTE_INIT(warlords);
};
/*----------- defined in video/centiped.c -----------*/
-PALETTE_INIT( warlords );
-VIDEO_START( centiped );
-VIDEO_START( milliped );
-VIDEO_START( warlords );
-VIDEO_START( bullsdrt );
+
+
+
+
+
SCREEN_UPDATE_IND16( centiped );
SCREEN_UPDATE_IND16( milliped );
diff --git a/src/mame/includes/chaknpop.h b/src/mame/includes/chaknpop.h
index d217ee0aa02..e518a772969 100644
--- a/src/mame/includes/chaknpop.h
+++ b/src/mame/includes/chaknpop.h
@@ -48,6 +48,10 @@ public:
DECLARE_WRITE8_MEMBER(unknown_port_1_w);
DECLARE_WRITE8_MEMBER(unknown_port_2_w);
TILE_GET_INFO_MEMBER(chaknpop_get_tx_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -58,7 +62,7 @@ public:
/*----------- defined in video/chaknpop.c -----------*/
-PALETTE_INIT( chaknpop );
-VIDEO_START( chaknpop );
+
+
SCREEN_UPDATE_IND16( chaknpop );
diff --git a/src/mame/includes/champbas.h b/src/mame/includes/champbas.h
index 8e392f5dee6..cac5bdf9bd8 100644
--- a/src/mame/includes/champbas.h
+++ b/src/mame/includes/champbas.h
@@ -53,16 +53,23 @@ public:
DECLARE_DRIVER_INIT(champbas);
TILE_GET_INFO_MEMBER(champbas_get_bg_tile_info);
TILE_GET_INFO_MEMBER(exctsccr_get_bg_tile_info);
+ DECLARE_MACHINE_START(champbas);
+ DECLARE_MACHINE_RESET(champbas);
+ DECLARE_VIDEO_START(champbas);
+ DECLARE_PALETTE_INIT(champbas);
+ DECLARE_MACHINE_START(exctsccr);
+ DECLARE_VIDEO_START(exctsccr);
+ DECLARE_PALETTE_INIT(exctsccr);
};
/*----------- defined in video/champbas.c -----------*/
-PALETTE_INIT( champbas );
-PALETTE_INIT( exctsccr );
-VIDEO_START( champbas );
-VIDEO_START( exctsccr );
+
+
+
+
SCREEN_UPDATE_IND16( champbas );
SCREEN_UPDATE_IND16( exctsccr );
diff --git a/src/mame/includes/changela.h b/src/mame/includes/changela.h
index 50864f7e3ca..d336e1ed15c 100644
--- a/src/mame/includes/changela.h
+++ b/src/mame/includes/changela.h
@@ -85,10 +85,13 @@ public:
DECLARE_READ8_MEMBER(changela_mem_device_r);
DECLARE_WRITE8_MEMBER(changela_slope_rom_addr_hi_w);
DECLARE_WRITE8_MEMBER(changela_slope_rom_addr_lo_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/changela.c -----------*/
-VIDEO_START( changela );
+
SCREEN_UPDATE_IND16( changela );
diff --git a/src/mame/includes/cheekyms.h b/src/mame/includes/cheekyms.h
index 0491a4010c1..fbc74469be5 100644
--- a/src/mame/includes/cheekyms.h
+++ b/src/mame/includes/cheekyms.h
@@ -32,11 +32,14 @@ public:
DECLARE_WRITE8_MEMBER(cheekyms_port_80_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
TILE_GET_INFO_MEMBER(cheekyms_get_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/cheekyms.c -----------*/
-PALETTE_INIT( cheekyms );
-VIDEO_START( cheekyms );
+
+
SCREEN_UPDATE_IND16( cheekyms );
diff --git a/src/mame/includes/chqflag.h b/src/mame/includes/chqflag.h
index bd1b8bd6b2f..834a432b303 100644
--- a/src/mame/includes/chqflag.h
+++ b/src/mame/includes/chqflag.h
@@ -40,6 +40,9 @@ public:
DECLARE_WRITE8_MEMBER(chqflag_sh_irqtrigger_w);
DECLARE_WRITE8_MEMBER(k007232_bankswitch_w);
DECLARE_WRITE8_MEMBER(k007232_extvolume_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/chqflag.c -----------*/
@@ -48,5 +51,5 @@ extern void chqflag_sprite_callback(running_machine &machine, int *code,int *col
extern void chqflag_zoom_callback_0(running_machine &machine, int *code,int *color,int *flags);
extern void chqflag_zoom_callback_1(running_machine &machine, int *code,int *color,int *flags);
-VIDEO_START( chqflag );
+
SCREEN_UPDATE_IND16( chqflag );
diff --git a/src/mame/includes/cinemat.h b/src/mame/includes/cinemat.h
index 89418fa52cf..81cbbbbd4da 100644
--- a/src/mame/includes/cinemat.h
+++ b/src/mame/includes/cinemat.h
@@ -57,6 +57,13 @@ public:
DECLARE_DRIVER_INIT(tailg);
DECLARE_DRIVER_INIT(sundance);
DECLARE_DRIVER_INIT(qb3);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(cinemat_16level);
+ DECLARE_VIDEO_START(cinemat_64level);
+ DECLARE_VIDEO_START(cinemat_color);
+ DECLARE_VIDEO_START(cinemat_qb3color);
};
@@ -85,11 +92,11 @@ MACHINE_CONFIG_EXTERN( qb3_sound );
void cinemat_vector_callback(device_t *device, INT16 sx, INT16 sy, INT16 ex, INT16 ey, UINT8 shift);
-VIDEO_START( cinemat_bilevel );
-VIDEO_START( cinemat_16level );
-VIDEO_START( cinemat_64level );
-VIDEO_START( cinemat_color );
-VIDEO_START( cinemat_qb3color );
+
+
+
+
+
SCREEN_UPDATE_RGB32( cinemat );
SCREEN_UPDATE_RGB32( spacewar );
diff --git a/src/mame/includes/circus.h b/src/mame/includes/circus.h
index 9f9b1a6f92a..d6a337c2996 100644
--- a/src/mame/includes/circus.h
+++ b/src/mame/includes/circus.h
@@ -33,6 +33,9 @@ public:
DECLARE_DRIVER_INIT(robotbwl);
DECLARE_DRIVER_INIT(crash);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mame/includes/circusc.h b/src/mame/includes/circusc.h
index 5b790f8f7d1..5dfc0c7d9df 100644
--- a/src/mame/includes/circusc.h
+++ b/src/mame/includes/circusc.h
@@ -53,12 +53,16 @@ public:
DECLARE_WRITE8_MEMBER(circusc_flipscreen_w);
DECLARE_DRIVER_INIT(circusc);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/circusc.c -----------*/
-VIDEO_START( circusc );
-PALETTE_INIT( circusc );
+
+
SCREEN_UPDATE_IND16( circusc );
diff --git a/src/mame/includes/cischeat.h b/src/mame/includes/cischeat.h
index 5fcaf2e6538..8a7234c8b87 100644
--- a/src/mame/includes/cischeat.h
+++ b/src/mame/includes/cischeat.h
@@ -77,6 +77,9 @@ public:
TILEMAP_MAPPER_MEMBER(cischeat_scan_16x16);
TILE_GET_INFO_MEMBER(cischeat_get_scroll_tile_info_8x8);
TILE_GET_INFO_MEMBER(cischeat_get_scroll_tile_info_16x16);
+ DECLARE_VIDEO_START(bigrun);
+ DECLARE_VIDEO_START(f1gpstar);
+ DECLARE_VIDEO_START(cischeat);
};
@@ -85,9 +88,9 @@ public:
-VIDEO_START( bigrun );
-VIDEO_START( cischeat );
-VIDEO_START( f1gpstar );
+
+
+
SCREEN_UPDATE_IND16( bigrun );
SCREEN_UPDATE_IND16( cischeat );
diff --git a/src/mame/includes/citycon.h b/src/mame/includes/citycon.h
index 0f6cfc016bb..eee487c1d13 100644
--- a/src/mame/includes/citycon.h
+++ b/src/mame/includes/citycon.h
@@ -37,6 +37,9 @@ public:
TILEMAP_MAPPER_MEMBER(citycon_scan);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -44,4 +47,4 @@ public:
SCREEN_UPDATE_IND16( citycon );
-VIDEO_START( citycon );
+
diff --git a/src/mame/includes/cloak.h b/src/mame/includes/cloak.h
index 1561483cba0..0dce9078f26 100644
--- a/src/mame/includes/cloak.h
+++ b/src/mame/includes/cloak.h
@@ -39,6 +39,7 @@ public:
void set_current_bitmap_videoram_pointer();
void adjust_xy(int offset);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
};
@@ -46,5 +47,5 @@ public:
-VIDEO_START( cloak );
+
SCREEN_UPDATE_IND16( cloak );
diff --git a/src/mame/includes/cloud9.h b/src/mame/includes/cloud9.h
index f1f50407f4a..5ffc8ab3d6d 100644
--- a/src/mame/includes/cloud9.h
+++ b/src/mame/includes/cloud9.h
@@ -55,12 +55,15 @@ public:
DECLARE_WRITE8_MEMBER(cloud9_bitmode_w);
DECLARE_WRITE8_MEMBER(cloud9_bitmode_addr_w);
DECLARE_CUSTOM_INPUT_MEMBER(get_vblank);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/cloud9.c -----------*/
-VIDEO_START( cloud9 );
+
SCREEN_UPDATE_IND16( cloud9 );
diff --git a/src/mame/includes/clshroad.h b/src/mame/includes/clshroad.h
index 7e709f588e1..7f56d5fbaeb 100644
--- a/src/mame/includes/clshroad.h
+++ b/src/mame/includes/clshroad.h
@@ -25,14 +25,19 @@ public:
TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_extra);
TILE_GET_INFO_MEMBER(get_tile_info_fb1);
TILE_GET_INFO_MEMBER(get_tile_info_1);
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(firebatl);
+ DECLARE_PALETTE_INIT(firebatl);
+ DECLARE_VIDEO_START(clshroad);
+ DECLARE_PALETTE_INIT(clshroad);
};
/*----------- defined in video/clshroad.c -----------*/
-PALETTE_INIT( firebatl );
-PALETTE_INIT( clshroad );
-VIDEO_START( firebatl );
-VIDEO_START( clshroad );
+
+
+
+
SCREEN_UPDATE_IND16( clshroad );
diff --git a/src/mame/includes/cninja.h b/src/mame/includes/cninja.h
index dd1cd44b4f6..f1eb3e28bb3 100644
--- a/src/mame/includes/cninja.h
+++ b/src/mame/includes/cninja.h
@@ -61,12 +61,16 @@ public:
DECLARE_DRIVER_INIT(stoneage);
DECLARE_DRIVER_INIT(mutantf);
DECLARE_DRIVER_INIT(cninja);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(stoneage);
+ DECLARE_VIDEO_START(mutantf);
};
/*----------- defined in video/cninja.c -----------*/
-VIDEO_START( stoneage );
-VIDEO_START( mutantf );
+
+
SCREEN_UPDATE_IND16( cninja );
SCREEN_UPDATE_IND16( cninjabl );
diff --git a/src/mame/includes/combatsc.h b/src/mame/includes/combatsc.h
index 18ed314b29f..37827657264 100644
--- a/src/mame/includes/combatsc.h
+++ b/src/mame/includes/combatsc.h
@@ -72,6 +72,13 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info0_bootleg);
TILE_GET_INFO_MEMBER(get_tile_info1_bootleg);
TILE_GET_INFO_MEMBER(get_text_info_bootleg);
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(combatsc);
+ DECLARE_VIDEO_START(combatsc);
+ DECLARE_PALETTE_INIT(combatsc);
+ DECLARE_MACHINE_START(combatscb);
+ DECLARE_VIDEO_START(combatscb);
+ DECLARE_PALETTE_INIT(combatscb);
};
@@ -79,9 +86,9 @@ public:
-PALETTE_INIT( combatsc );
-PALETTE_INIT( combatscb );
-VIDEO_START( combatsc );
-VIDEO_START( combatscb );
+
+
+
+
SCREEN_UPDATE_IND16( combatscb );
SCREEN_UPDATE_IND16( combatsc );
diff --git a/src/mame/includes/commando.h b/src/mame/includes/commando.h
index 358174b5bb9..95c1e13707c 100644
--- a/src/mame/includes/commando.h
+++ b/src/mame/includes/commando.h
@@ -43,6 +43,9 @@ public:
DECLARE_DRIVER_INIT(commando);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -50,5 +53,5 @@ public:
/*----------- defined in video/commando.c -----------*/
-VIDEO_START( commando );
+
SCREEN_UPDATE_IND16( commando );
diff --git a/src/mame/includes/compgolf.h b/src/mame/includes/compgolf.h
index 0100d0e8bab..3a6dc92a16d 100644
--- a/src/mame/includes/compgolf.h
+++ b/src/mame/includes/compgolf.h
@@ -37,11 +37,15 @@ public:
TILE_GET_INFO_MEMBER(get_text_info);
TILEMAP_MAPPER_MEMBER(back_scan);
TILE_GET_INFO_MEMBER(get_back_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/compgolf.c -----------*/
-PALETTE_INIT ( compgolf );
-VIDEO_START ( compgolf );
+
+
SCREEN_UPDATE_IND16( compgolf );
diff --git a/src/mame/includes/contra.h b/src/mame/includes/contra.h
index d4da776e63a..5aa20715699 100644
--- a/src/mame/includes/contra.h
+++ b/src/mame/includes/contra.h
@@ -57,14 +57,17 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/contra.c -----------*/
-PALETTE_INIT( contra );
+
SCREEN_UPDATE_IND16( contra );
-VIDEO_START( contra );
+
diff --git a/src/mame/includes/coolpool.h b/src/mame/includes/coolpool.h
index a356df158ef..7303afa0e03 100644
--- a/src/mame/includes/coolpool.h
+++ b/src/mame/includes/coolpool.h
@@ -56,4 +56,6 @@ public:
DECLARE_DRIVER_INIT(coolpool);
DECLARE_DRIVER_INIT(amerdart);
DECLARE_DRIVER_INIT(9ballsht);
+ DECLARE_MACHINE_RESET(amerdart);
+ DECLARE_MACHINE_RESET(coolpool);
};
diff --git a/src/mame/includes/cop01.h b/src/mame/includes/cop01.h
index 872626bd256..d2e499cf974 100644
--- a/src/mame/includes/cop01.h
+++ b/src/mame/includes/cop01.h
@@ -42,6 +42,10 @@ public:
DECLARE_DRIVER_INIT(mightguy);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -49,7 +53,7 @@ public:
/*----------- defined in video/cop01.c -----------*/
-PALETTE_INIT( cop01 );
-VIDEO_START( cop01 );
+
+
SCREEN_UPDATE_IND16( cop01 );
diff --git a/src/mame/includes/copsnrob.h b/src/mame/includes/copsnrob.h
index fb44f9f021d..bc6a94e330f 100644
--- a/src/mame/includes/copsnrob.h
+++ b/src/mame/includes/copsnrob.h
@@ -33,6 +33,9 @@ public:
DECLARE_READ8_MEMBER(copsnrob_misc_r);
DECLARE_WRITE8_MEMBER(copsnrob_misc2_w);
DECLARE_WRITE8_MEMBER(copsnrob_misc_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
diff --git a/src/mame/includes/cosmic.h b/src/mame/includes/cosmic.h
index 4f353129349..e35cf989230 100644
--- a/src/mame/includes/cosmic.h
+++ b/src/mame/includes/cosmic.h
@@ -62,17 +62,24 @@ public:
DECLARE_DRIVER_INIT(nomnlnd);
DECLARE_DRIVER_INIT(cosmica);
DECLARE_DRIVER_INIT(panic);
+ DECLARE_MACHINE_START(cosmic);
+ DECLARE_MACHINE_RESET(cosmic);
+ DECLARE_PALETTE_INIT(cosmicg);
+ DECLARE_PALETTE_INIT(panic);
+ DECLARE_PALETTE_INIT(cosmica);
+ DECLARE_PALETTE_INIT(magspot);
+ DECLARE_PALETTE_INIT(nomnlnd);
};
/*----------- defined in video/cosmic.c -----------*/
-PALETTE_INIT( panic );
-PALETTE_INIT( cosmica );
-PALETTE_INIT( cosmicg );
-PALETTE_INIT( magspot );
-PALETTE_INIT( nomnlnd );
+
+
+
+
+
SCREEN_UPDATE_IND16( panic );
SCREEN_UPDATE_IND16( magspot );
diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h
index e21c8f2ad5e..83b48d84ac0 100644
--- a/src/mame/includes/cps1.h
+++ b/src/mame/includes/cps1.h
@@ -198,6 +198,17 @@ public:
TILE_GET_INFO_MEMBER(get_tile0_info);
TILE_GET_INFO_MEMBER(get_tile1_info);
TILE_GET_INFO_MEMBER(get_tile2_info);
+ DECLARE_MACHINE_START(cps1);
+ DECLARE_VIDEO_START(cps1);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_START(cps2);
+ DECLARE_VIDEO_START(cps2);
+ DECLARE_MACHINE_START(fcrash);
+ DECLARE_MACHINE_RESET(fcrash);
+ DECLARE_MACHINE_START(kodb);
+ DECLARE_MACHINE_START(qsound);
+ DECLARE_MACHINE_RESET(cps);
+ DECLARE_VIDEO_START(cps);
};
/*----------- defined in drivers/cps1.c -----------*/
@@ -214,8 +225,8 @@ GFXDECODE_EXTERN( cps1 );
-VIDEO_START( cps1 );
-VIDEO_START( cps2 );
+
+
SCREEN_UPDATE_IND16( cps1 );
SCREEN_VBLANK( cps1 );
diff --git a/src/mame/includes/cps3.h b/src/mame/includes/cps3.h
index 51672666992..75e934fd322 100644
--- a/src/mame/includes/cps3.h
+++ b/src/mame/includes/cps3.h
@@ -103,6 +103,8 @@ public:
DECLARE_DRIVER_INIT(jojo);
DECLARE_DRIVER_INIT(jojoba);
DECLARE_DRIVER_INIT(sfiii2);
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mame/includes/crbaloon.h b/src/mame/includes/crbaloon.h
index ede36fec682..ff234adfa7f 100644
--- a/src/mame/includes/crbaloon.h
+++ b/src/mame/includes/crbaloon.h
@@ -33,6 +33,9 @@ public:
DECLARE_WRITE8_MEMBER(crbaloon_colorram_w);
DECLARE_CUSTOM_INPUT_MEMBER(pc3092_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -50,8 +53,8 @@ MACHINE_CONFIG_EXTERN( crbaloon_audio );
/*----------- defined in video/crbaloon.c -----------*/
-PALETTE_INIT( crbaloon );
-VIDEO_START( crbaloon );
+
+
SCREEN_UPDATE_IND16( crbaloon );
diff --git a/src/mame/includes/crgolf.h b/src/mame/includes/crgolf.h
index adfc944cc72..1c1252d04f6 100644
--- a/src/mame/includes/crgolf.h
+++ b/src/mame/includes/crgolf.h
@@ -50,6 +50,9 @@ public:
DECLARE_READ8_MEMBER(crgolf_videoram_r);
DECLARE_WRITE8_MEMBER(crgolfhi_sample_w);
DECLARE_DRIVER_INIT(crgolfhi);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(crgolf);
};
/*----------- defined in video/crgolf.c -----------*/
diff --git a/src/mame/includes/crimfght.h b/src/mame/includes/crimfght.h
index 473163e285d..b4a3f722c3f 100644
--- a/src/mame/includes/crimfght.h
+++ b/src/mame/includes/crimfght.h
@@ -28,6 +28,9 @@ public:
DECLARE_READ8_MEMBER(k052109_051960_r);
DECLARE_WRITE8_MEMBER(k052109_051960_w);
DECLARE_WRITE8_MEMBER(crimfght_snd_bankswitch_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/crimfght.c -----------*/
@@ -35,5 +38,5 @@ public:
extern void crimfght_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags,int *priority);
extern void crimfght_sprite_callback(running_machine &machine, int *code,int *color,int *priority,int *shadow);
-VIDEO_START( crimfght );
+
SCREEN_UPDATE_IND16( crimfght );
diff --git a/src/mame/includes/crospang.h b/src/mame/includes/crospang.h
index 8976830e285..c882f581dd9 100644
--- a/src/mame/includes/crospang.h
+++ b/src/mame/includes/crospang.h
@@ -41,12 +41,15 @@ public:
DECLARE_DRIVER_INIT(crospang);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/crospang.c -----------*/
-VIDEO_START( crospang );
+
SCREEN_UPDATE_IND16( crospang );
diff --git a/src/mame/includes/crshrace.h b/src/mame/includes/crshrace.h
index a69c5a3680b..4cb86af129e 100644
--- a/src/mame/includes/crshrace.h
+++ b/src/mame/includes/crshrace.h
@@ -47,11 +47,14 @@ public:
DECLARE_DRIVER_INIT(crshrace);
TILE_GET_INFO_MEMBER(get_tile_info1);
TILE_GET_INFO_MEMBER(get_tile_info2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/crshrace.c -----------*/
-VIDEO_START( crshrace );
+
SCREEN_VBLANK( crshrace );
SCREEN_UPDATE_IND16( crshrace );
diff --git a/src/mame/includes/cvs.h b/src/mame/includes/cvs.h
index 690ec5bd984..6872a3e5fc4 100644
--- a/src/mame/includes/cvs.h
+++ b/src/mame/includes/cvs.h
@@ -100,13 +100,17 @@ public:
DECLARE_DRIVER_INIT(hero);
DECLARE_DRIVER_INIT(superbik);
DECLARE_DRIVER_INIT(hunchbaka);
+ DECLARE_MACHINE_START(cvs);
+ DECLARE_MACHINE_RESET(cvs);
+ DECLARE_VIDEO_START(cvs);
+ DECLARE_PALETTE_INIT(cvs);
};
/*----------- defined in drivers/cvs.c -----------*/
-MACHINE_START( cvs );
-MACHINE_RESET( cvs );
+
+
/*----------- defined in video/cvs.c -----------*/
@@ -116,6 +120,6 @@ void cvs_init_stars( running_machine &machine );
void cvs_scroll_stars( running_machine &machine );
void cvs_update_stars(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, const pen_t star_pen, bool update_always);
-PALETTE_INIT( cvs );
+
SCREEN_UPDATE_IND16( cvs );
-VIDEO_START( cvs );
+
diff --git a/src/mame/includes/cyberbal.h b/src/mame/includes/cyberbal.h
index 85b6b6cde0d..bc6abce608e 100644
--- a/src/mame/includes/cyberbal.h
+++ b/src/mame/includes/cyberbal.h
@@ -48,6 +48,11 @@ public:
TILE_GET_INFO_MEMBER(get_alpha2_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
+ DECLARE_MACHINE_START(cyberbal);
+ DECLARE_MACHINE_RESET(cyberbal);
+ DECLARE_VIDEO_START(cyberbal);
+ DECLARE_MACHINE_RESET(cyberbal2p);
+ DECLARE_VIDEO_START(cyberbal2p);
};
@@ -68,8 +73,8 @@ READ16_HANDLER( cyberbal_paletteram_1_r );
WRITE16_HANDLER( cyberbal_paletteram_0_w );
WRITE16_HANDLER( cyberbal_paletteram_1_w );
-VIDEO_START( cyberbal );
-VIDEO_START( cyberbal2p );
+
+
SCREEN_UPDATE_IND16( cyberbal_left );
SCREEN_UPDATE_IND16( cyberbal_right );
SCREEN_UPDATE_IND16( cyberbal2p );
diff --git a/src/mame/includes/darius.h b/src/mame/includes/darius.h
index 471721c7048..8d2e99d0355 100644
--- a/src/mame/includes/darius.h
+++ b/src/mame/includes/darius.h
@@ -87,13 +87,16 @@ public:
DECLARE_WRITE8_MEMBER(adpcm_data_w);
DECLARE_DRIVER_INIT(darius);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/darius.c -----------*/
-VIDEO_START( darius );
+
SCREEN_UPDATE_IND16( darius_left );
SCREEN_UPDATE_IND16( darius_middle );
SCREEN_UPDATE_IND16( darius_right );
diff --git a/src/mame/includes/darkmist.h b/src/mame/includes/darkmist.h
index c38cd9dbed2..72451679dd0 100644
--- a/src/mame/includes/darkmist.h
+++ b/src/mame/includes/darkmist.h
@@ -25,12 +25,14 @@ public:
TILE_GET_INFO_MEMBER(get_bgtile_info);
TILE_GET_INFO_MEMBER(get_fgtile_info);
TILE_GET_INFO_MEMBER(get_txttile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/darkmist.c -----------*/
-VIDEO_START( darkmist );
+
SCREEN_UPDATE_IND16( darkmist );
-PALETTE_INIT( darkmist );
+
diff --git a/src/mame/includes/darkseal.h b/src/mame/includes/darkseal.h
index 1399463f7b4..4ab5ae04a89 100644
--- a/src/mame/includes/darkseal.h
+++ b/src/mame/includes/darkseal.h
@@ -29,11 +29,12 @@ public:
DECLARE_WRITE16_MEMBER(darkseal_palette_24bit_rg_w);
DECLARE_WRITE16_MEMBER(darkseal_palette_24bit_b_w);
DECLARE_DRIVER_INIT(darkseal);
+ virtual void video_start();
};
/*----------- defined in video/darkseal.c -----------*/
-VIDEO_START( darkseal );
+
SCREEN_UPDATE_IND16( darkseal );
diff --git a/src/mame/includes/dassault.h b/src/mame/includes/dassault.h
index 8b72f2710e2..3e452903a11 100644
--- a/src/mame/includes/dassault.h
+++ b/src/mame/includes/dassault.h
@@ -58,11 +58,12 @@ public:
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_DRIVER_INIT(thndzone);
DECLARE_DRIVER_INIT(dassault);
+ virtual void video_start();
};
/*----------- defined in video/dassault.c -----------*/
-VIDEO_START(dassault);
+
SCREEN_UPDATE_RGB32( dassault );
diff --git a/src/mame/includes/dbz.h b/src/mame/includes/dbz.h
index bc0766d9451..3c413499fe7 100644
--- a/src/mame/includes/dbz.h
+++ b/src/mame/includes/dbz.h
@@ -47,6 +47,9 @@ public:
DECLARE_DRIVER_INIT(dbz2);
TILE_GET_INFO_MEMBER(get_dbz_bg2_tile_info);
TILE_GET_INFO_MEMBER(get_dbz_bg1_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -56,5 +59,5 @@ extern void dbz_sprite_callback(running_machine &machine, int *code, int *color,
extern void dbz_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags);
-VIDEO_START(dbz);
+
SCREEN_UPDATE_IND16(dbz);
diff --git a/src/mame/includes/dc.h b/src/mame/includes/dc.h
index c5b2e7e3be9..ccc3cbb83f0 100644
--- a/src/mame/includes/dc.h
+++ b/src/mame/includes/dc.h
@@ -92,6 +92,10 @@ class dc_state : public driver_device
DECLARE_DRIVER_INIT(dc);
DECLARE_DRIVER_INIT(dcus);
DECLARE_DRIVER_INIT(dcjp);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(naomi);
};
/*----------- defined in machine/dc.c -----------*/
@@ -117,8 +121,8 @@ WRITE64_DEVICE_HANDLER( dc_aica_reg_w );
READ32_DEVICE_HANDLER( dc_arm_aica_r );
WRITE32_DEVICE_HANDLER( dc_arm_aica_w );
-MACHINE_START( dc );
-MACHINE_RESET( dc );
+
+
int dc_compute_interrupt_level(running_machine &machine);
void dc_update_interrupt_status(running_machine &machine);
@@ -302,7 +306,7 @@ READ32_HANDLER( elan_regs_r );
WRITE32_HANDLER( elan_regs_w );
WRITE64_HANDLER( ta_fifo_poly_w );
WRITE64_HANDLER( ta_fifo_yuv_w );
-VIDEO_START(dc);
+
SCREEN_UPDATE_RGB32(dc);
/*--------------- CORE registers --------------*/
diff --git a/src/mame/includes/dcheese.h b/src/mame/includes/dcheese.h
index 02673bad8e4..19cc406fce5 100644
--- a/src/mame/includes/dcheese.h
+++ b/src/mame/includes/dcheese.h
@@ -43,6 +43,9 @@ public:
DECLARE_WRITE16_MEMBER(madmax_blitter_unknown_w);
DECLARE_READ16_MEMBER(madmax_blitter_vidparam_r);
DECLARE_CUSTOM_INPUT_MEMBER(sound_latch_state_r);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -53,8 +56,8 @@ void dcheese_signal_irq(running_machine &machine, int which);
/*----------- defined in video/dcheese.c -----------*/
-PALETTE_INIT( dcheese );
-VIDEO_START( dcheese );
+
+
SCREEN_UPDATE_IND16( dcheese );
diff --git a/src/mame/includes/dcon.h b/src/mame/includes/dcon.h
index 8d8e042af61..9a603ced17b 100644
--- a/src/mame/includes/dcon.h
+++ b/src/mame/includes/dcon.h
@@ -36,12 +36,13 @@ public:
TILE_GET_INFO_MEMBER(get_fore_tile_info);
TILE_GET_INFO_MEMBER(get_mid_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/dcon.c -----------*/
-VIDEO_START( dcon );
+
SCREEN_UPDATE_IND16( dcon );
SCREEN_UPDATE_IND16( sdgndmps );
diff --git a/src/mame/includes/dday.h b/src/mame/includes/dday.h
index d05ca6dc7f3..02e4c3ffc04 100644
--- a/src/mame/includes/dday.h
+++ b/src/mame/includes/dday.h
@@ -46,12 +46,16 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
TILE_GET_INFO_MEMBER(get_sl_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/dday.c -----------*/
-PALETTE_INIT( dday );
-VIDEO_START( dday );
+
+
SCREEN_UPDATE_IND16( dday );
diff --git a/src/mame/includes/ddragon.h b/src/mame/includes/ddragon.h
index e6b0b02a752..06ea3f2146d 100644
--- a/src/mame/includes/ddragon.h
+++ b/src/mame/includes/ddragon.h
@@ -93,13 +93,19 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_16color_tile_info);
+ DECLARE_MACHINE_START(chinagat);
+ DECLARE_MACHINE_RESET(chinagat);
+ DECLARE_VIDEO_START(chinagat);
+ DECLARE_MACHINE_START(ddragon);
+ DECLARE_MACHINE_RESET(ddragon);
+ DECLARE_VIDEO_START(ddragon);
};
/*----------- defined in video/ddragon.c -----------*/
-VIDEO_START( chinagat );
-VIDEO_START( ddragon );
+
+
SCREEN_UPDATE_IND16( ddragon );
diff --git a/src/mame/includes/ddragon3.h b/src/mame/includes/ddragon3.h
index 01df3309691..77a34430107 100644
--- a/src/mame/includes/ddragon3.h
+++ b/src/mame/includes/ddragon3.h
@@ -44,6 +44,9 @@ public:
DECLARE_WRITE8_MEMBER(oki_bankswitch_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mame/includes/ddribble.h b/src/mame/includes/ddribble.h
index ecd830f4f3f..e67be5d2e32 100644
--- a/src/mame/includes/ddribble.h
+++ b/src/mame/includes/ddribble.h
@@ -55,11 +55,15 @@ public:
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/ddribble.c -----------*/
-PALETTE_INIT( ddribble );
-VIDEO_START( ddribble );
+
+
SCREEN_UPDATE_IND16( ddribble );
diff --git a/src/mame/includes/deadang.h b/src/mame/includes/deadang.h
index de856487cb0..4f905012aad 100644
--- a/src/mame/includes/deadang.h
+++ b/src/mame/includes/deadang.h
@@ -31,11 +31,12 @@ public:
TILE_GET_INFO_MEMBER(get_pf2_tile_info);
TILE_GET_INFO_MEMBER(get_pf1_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/deadang.c -----------*/
-VIDEO_START( deadang );
+
SCREEN_UPDATE_IND16( deadang );
diff --git a/src/mame/includes/dec0.h b/src/mame/includes/dec0.h
index 78d5a6078d9..233a1b8767d 100644
--- a/src/mame/includes/dec0.h
+++ b/src/mame/includes/dec0.h
@@ -69,6 +69,9 @@ public:
DECLARE_DRIVER_INIT(birdtry);
DECLARE_DRIVER_INIT(baddudes);
DECLARE_DRIVER_INIT(midresb);
+ DECLARE_VIDEO_START(dec0);
+ DECLARE_MACHINE_RESET(slyspy);
+ DECLARE_VIDEO_START(dec0_nodma);
};
@@ -91,17 +94,17 @@ public:
COMBINE_DATA(&m_automat_scroll_regs[offset]);
}
UINT16 m_automat_scroll_regs[4];
-
-
+
+ DECLARE_VIDEO_START(automat);
};
/*----------- defined in video/dec0.c -----------*/
/* Video emulation definitions */
-VIDEO_START( dec0 );
-VIDEO_START( dec0_nodma );
-VIDEO_START( automat );
+
+
+
SCREEN_UPDATE_IND16( hbarrel );
SCREEN_UPDATE_IND16( baddudes );
SCREEN_UPDATE_IND16( birdtry );
diff --git a/src/mame/includes/dec8.h b/src/mame/includes/dec8.h
index 32cdb205350..020e77f916f 100644
--- a/src/mame/includes/dec8.h
+++ b/src/mame/includes/dec8.h
@@ -110,12 +110,23 @@ public:
TILE_GET_INFO_MEMBER(get_srdarwin_tile_info);
TILE_GET_INFO_MEMBER(get_gondo_fix_tile_info);
TILE_GET_INFO_MEMBER(get_gondo_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(lastmisn);
+ DECLARE_VIDEO_START(shackled);
+ DECLARE_VIDEO_START(gondo);
+ DECLARE_VIDEO_START(garyoret);
+ DECLARE_VIDEO_START(ghostb);
+ DECLARE_PALETTE_INIT(ghostb);
+ DECLARE_VIDEO_START(oscar);
+ DECLARE_VIDEO_START(srdarwin);
+ DECLARE_VIDEO_START(cobracom);
};
/*----------- defined in video/dec8.c -----------*/
-PALETTE_INIT( ghostb );
+
SCREEN_UPDATE_IND16( cobracom );
SCREEN_UPDATE_IND16( ghostb );
SCREEN_UPDATE_IND16( srdarwin );
@@ -124,14 +135,14 @@ SCREEN_UPDATE_IND16( garyoret );
SCREEN_UPDATE_IND16( lastmisn );
SCREEN_UPDATE_IND16( shackled );
SCREEN_UPDATE_IND16( oscar );
-VIDEO_START( cobracom );
-VIDEO_START( oscar );
-VIDEO_START( ghostb );
-VIDEO_START( lastmisn );
-VIDEO_START( shackled );
-VIDEO_START( srdarwin );
-VIDEO_START( gondo );
-VIDEO_START( garyoret );
+
+
+
+
+
+
+
+
WRITE8_HANDLER( dec8_bac06_0_w );
WRITE8_HANDLER( dec8_bac06_1_w );
diff --git a/src/mame/includes/deco32.h b/src/mame/includes/deco32.h
index d3b48628e7d..43ae08312d9 100644
--- a/src/mame/includes/deco32.h
+++ b/src/mame/includes/deco32.h
@@ -101,6 +101,10 @@ public:
DECLARE_DRIVER_INIT(nslasher);
DECLARE_DRIVER_INIT(captaven);
DECLARE_DRIVER_INIT(fghthist);
+ DECLARE_MACHINE_RESET(deco32);
+ DECLARE_VIDEO_START(captaven);
+ DECLARE_VIDEO_START(fghthist);
+ DECLARE_VIDEO_START(nslasher);
};
class dragngun_state : public deco32_state
@@ -125,17 +129,19 @@ public:
DECLARE_WRITE32_MEMBER(dragngun_spriteram_dma_w);
DECLARE_DRIVER_INIT(dragngun);
DECLARE_DRIVER_INIT(lockload);
+ DECLARE_VIDEO_START(dragngun);
+ DECLARE_VIDEO_START(lockload);
};
/*----------- defined in video/deco32.c -----------*/
-VIDEO_START( captaven );
-VIDEO_START( fghthist );
-VIDEO_START( dragngun );
-VIDEO_START( lockload );
-VIDEO_START( nslasher );
+
+
+
+
+
SCREEN_VBLANK( captaven );
SCREEN_VBLANK( dragngun );
diff --git a/src/mame/includes/deco_mlc.h b/src/mame/includes/deco_mlc.h
index d2a795a3d7e..a924bd0dc9a 100644
--- a/src/mame/includes/deco_mlc.h
+++ b/src/mame/includes/deco_mlc.h
@@ -34,11 +34,13 @@ public:
DECLARE_WRITE32_MEMBER(avengrs_eprom_w);
DECLARE_DRIVER_INIT(mlc);
DECLARE_DRIVER_INIT(avengrgs);
+ DECLARE_MACHINE_RESET(mlc);
+ DECLARE_VIDEO_START(mlc);
};
/*----------- defined in video/deco_mlc.c -----------*/
-VIDEO_START( mlc );
+
SCREEN_UPDATE_RGB32( mlc );
SCREEN_VBLANK( mlc );
diff --git a/src/mame/includes/deniam.h b/src/mame/includes/deniam.h
index 23748fb8504..6d99fc156d7 100644
--- a/src/mame/includes/deniam.h
+++ b/src/mame/includes/deniam.h
@@ -57,12 +57,15 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/deniam.c -----------*/
-VIDEO_START( deniam );
+
SCREEN_UPDATE_IND16( deniam );
diff --git a/src/mame/includes/dietgo.h b/src/mame/includes/dietgo.h
index 9800bc9a5b7..3af8bc7ec6c 100644
--- a/src/mame/includes/dietgo.h
+++ b/src/mame/includes/dietgo.h
@@ -24,6 +24,7 @@ public:
cpu_device *m_audiocpu;
device_t *m_deco_tilegen1;
DECLARE_DRIVER_INIT(dietgo);
+ virtual void machine_start();
};
diff --git a/src/mame/includes/djboy.h b/src/mame/includes/djboy.h
index 022992fd612..34dd56a410b 100644
--- a/src/mame/includes/djboy.h
+++ b/src/mame/includes/djboy.h
@@ -68,12 +68,15 @@ public:
DECLARE_DRIVER_INIT(djboy);
DECLARE_DRIVER_INIT(djboyj);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/djboy.c -----------*/
-VIDEO_START( djboy );
+
SCREEN_UPDATE_IND16( djboy );
SCREEN_VBLANK( djboy );
diff --git a/src/mame/includes/djmain.h b/src/mame/includes/djmain.h
index d659a59a5f5..7c54b1e42b7 100644
--- a/src/mame/includes/djmain.h
+++ b/src/mame/includes/djmain.h
@@ -50,12 +50,15 @@ public:
DECLARE_DRIVER_INIT(bmcompm2);
DECLARE_DRIVER_INIT(bmcorerm);
DECLARE_DRIVER_INIT(bmclubmx);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/djmain.c -----------*/
SCREEN_UPDATE_RGB32( djmain );
-VIDEO_START( djmain );
+
void djmain_tile_callback(running_machine& machine, int layer, int *code, int *color, int *flags);
diff --git a/src/mame/includes/dkong.h b/src/mame/includes/dkong.h
index a7796e43984..6f583e79cb0 100644
--- a/src/mame/includes/dkong.h
+++ b/src/mame/includes/dkong.h
@@ -239,18 +239,32 @@ public:
DECLARE_DRIVER_INIT(dkongx);
TILE_GET_INFO_MEMBER(dkong_bg_tile_info);
TILE_GET_INFO_MEMBER(radarscp1_bg_tile_info);
+ DECLARE_MACHINE_START(dkong2b);
+ DECLARE_MACHINE_RESET(dkong);
+ DECLARE_VIDEO_START(dkong);
+ DECLARE_VIDEO_START(dkong_base);
+ DECLARE_PALETTE_INIT(dkong2b);
+ DECLARE_MACHINE_START(dkong3);
+ DECLARE_PALETTE_INIT(dkong3);
+ DECLARE_MACHINE_START(radarscp);
+ DECLARE_PALETTE_INIT(radarscp);
+ DECLARE_MACHINE_START(radarscp1);
+ DECLARE_PALETTE_INIT(radarscp1);
+ DECLARE_MACHINE_START(s2650);
+ DECLARE_MACHINE_RESET(strtheat);
+ DECLARE_MACHINE_RESET(drakton);
};
/*----------- defined in video/dkong.c -----------*/
-PALETTE_INIT( dkong2b );
-PALETTE_INIT( radarscp );
-PALETTE_INIT( radarscp1 );
-PALETTE_INIT( dkong3 );
-VIDEO_START( dkong );
+
+
+
+
+
SCREEN_UPDATE_IND16( dkong );
SCREEN_UPDATE_IND16( pestplce );
SCREEN_UPDATE_IND16( spclforc );
diff --git a/src/mame/includes/docastle.h b/src/mame/includes/docastle.h
index ecb9be5006f..1074a677c53 100644
--- a/src/mame/includes/docastle.h
+++ b/src/mame/includes/docastle.h
@@ -42,6 +42,11 @@ public:
DECLARE_READ8_MEMBER(idsoccer_adpcm_status_r);
DECLARE_WRITE8_MEMBER(idsoccer_adpcm_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(dorunrun);
};
@@ -51,8 +56,8 @@ public:
/*----------- defined in video/docastle.c -----------*/
-PALETTE_INIT( docastle );
-VIDEO_START( docastle );
-VIDEO_START( dorunrun );
+
+
+
SCREEN_UPDATE_IND16( docastle );
diff --git a/src/mame/includes/dogfgt.h b/src/mame/includes/dogfgt.h
index 4cde28bf9c0..1658e487da4 100644
--- a/src/mame/includes/dogfgt.h
+++ b/src/mame/includes/dogfgt.h
@@ -48,12 +48,16 @@ public:
DECLARE_WRITE8_MEMBER(dogfgt_scroll_w);
DECLARE_WRITE8_MEMBER(dogfgt_1800_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/dogfgt.c -----------*/
-PALETTE_INIT( dogfgt );
-VIDEO_START( dogfgt );
+
+
SCREEN_UPDATE_IND16( dogfgt );
diff --git a/src/mame/includes/dooyong.h b/src/mame/includes/dooyong.h
index 8f684f56d91..4395642c4cf 100644
--- a/src/mame/includes/dooyong.h
+++ b/src/mame/includes/dooyong.h
@@ -69,6 +69,16 @@ public:
TILE_GET_INFO_MEMBER(get_fg2_tile_info);
TILE_GET_INFO_MEMBER(flytiger_get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ DECLARE_MACHINE_START(lastday);
+ DECLARE_MACHINE_RESET(sound_ym2203);
+ DECLARE_VIDEO_START(lastday);
+ DECLARE_VIDEO_START(gulfstrm);
+ DECLARE_VIDEO_START(pollux);
+ DECLARE_VIDEO_START(bluehawk);
+ DECLARE_VIDEO_START(flytiger);
+ DECLARE_VIDEO_START(primella);
+ DECLARE_VIDEO_START(rshark);
+ DECLARE_VIDEO_START(popbingo);
};
@@ -87,11 +97,11 @@ SCREEN_UPDATE_IND16( primella );
SCREEN_UPDATE_IND16( rshark );
SCREEN_UPDATE_IND16( popbingo );
-VIDEO_START( lastday );
-VIDEO_START( gulfstrm );
-VIDEO_START( pollux );
-VIDEO_START( bluehawk );
-VIDEO_START( flytiger );
-VIDEO_START( primella );
-VIDEO_START( rshark );
-VIDEO_START( popbingo );
+
+
+
+
+
+
+
+
diff --git a/src/mame/includes/dragrace.h b/src/mame/includes/dragrace.h
index a034243c607..9457c178580 100644
--- a/src/mame/includes/dragrace.h
+++ b/src/mame/includes/dragrace.h
@@ -49,6 +49,10 @@ public:
DECLARE_READ8_MEMBER(dragrace_steering_r);
DECLARE_READ8_MEMBER(dragrace_scanline_r);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -58,5 +62,5 @@ DISCRETE_SOUND_EXTERN( dragrace );
/*----------- defined in video/dragrace.c -----------*/
-VIDEO_START( dragrace );
+
SCREEN_UPDATE_IND16( dragrace );
diff --git a/src/mame/includes/drgnmst.h b/src/mame/includes/drgnmst.h
index 3c1e466c1c9..9be41569a96 100644
--- a/src/mame/includes/drgnmst.h
+++ b/src/mame/includes/drgnmst.h
@@ -63,11 +63,14 @@ public:
TILEMAP_MAPPER_MEMBER(drgnmst_fg_tilemap_scan_cols);
TILEMAP_MAPPER_MEMBER(drgnmst_md_tilemap_scan_cols);
TILEMAP_MAPPER_MEMBER(drgnmst_bg_tilemap_scan_cols);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/drgnmst.c -----------*/
-VIDEO_START(drgnmst);
+
SCREEN_UPDATE_IND16(drgnmst);
diff --git a/src/mame/includes/dribling.h b/src/mame/includes/dribling.h
index 79250c0d332..9000ef094d9 100644
--- a/src/mame/includes/dribling.h
+++ b/src/mame/includes/dribling.h
@@ -43,10 +43,13 @@ public:
DECLARE_WRITE8_MEMBER(sound_w);
DECLARE_WRITE8_MEMBER(pb_w);
DECLARE_WRITE8_MEMBER(shr_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*----------- defined in video/dribling.c -----------*/
-PALETTE_INIT( dribling );
+
SCREEN_UPDATE_IND16( dribling );
diff --git a/src/mame/includes/drmicro.h b/src/mame/includes/drmicro.h
index 40df8d10bf5..84f09f27484 100644
--- a/src/mame/includes/drmicro.h
+++ b/src/mame/includes/drmicro.h
@@ -30,12 +30,16 @@ public:
DECLARE_WRITE8_MEMBER(drmicro_videoram_w);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/drmicro.c -----------*/
-PALETTE_INIT( drmicro );
-VIDEO_START( drmicro );
+
+
SCREEN_UPDATE_IND16( drmicro );
diff --git a/src/mame/includes/dynax.h b/src/mame/includes/dynax.h
index 658a94f1c0a..740ba66c4ff 100644
--- a/src/mame/includes/dynax.h
+++ b/src/mame/includes/dynax.h
@@ -428,6 +428,41 @@ public:
DECLARE_DRIVER_INIT(rongrong);
DECLARE_DRIVER_INIT(momotaro);
+ DECLARE_MACHINE_START(ddenlovr);
+ DECLARE_MACHINE_RESET(ddenlovr);
+ DECLARE_VIDEO_START(ddenlovr);
+ DECLARE_MACHINE_START(rongrong);
+ DECLARE_MACHINE_START(mmpanic);
+ DECLARE_VIDEO_START(mmpanic);
+ DECLARE_MACHINE_START(hanakanz);
+ DECLARE_VIDEO_START(hanakanz);
+ DECLARE_MACHINE_START(sryudens);
+ DECLARE_VIDEO_START(mjflove);
+ DECLARE_MACHINE_START(seljan2);
+ DECLARE_MACHINE_START(mjflove);
+ DECLARE_MACHINE_START(hanamai);
+ DECLARE_MACHINE_RESET(dynax);
+ DECLARE_VIDEO_START(hanamai);
+ DECLARE_PALETTE_INIT(sprtmtch);
+ DECLARE_MACHINE_START(hnoridur);
+ DECLARE_VIDEO_START(hnoridur);
+ DECLARE_VIDEO_START(sprtmtch);
+ DECLARE_VIDEO_START(mjdialq2);
+ DECLARE_MACHINE_START(jantouki);
+ DECLARE_VIDEO_START(jantouki);
+ DECLARE_MACHINE_START(htengoku);
+ DECLARE_VIDEO_START(htengoku);
+ DECLARE_MACHINE_START(tenkai);
+ DECLARE_VIDEO_START(mjelctrn);
+ DECLARE_MACHINE_START(gekisha);
+ DECLARE_MACHINE_RESET(gekisha);
+ DECLARE_MACHINE_START(funkyfig);
+ DECLARE_MACHINE_START(mjmyster);
+ DECLARE_MACHINE_START(hparadis);
+ DECLARE_VIDEO_START(mcnpshnt);
+ DECLARE_VIDEO_START(neruton);
+ DECLARE_MACHINE_START(dynax);
+ DECLARE_MACHINE_RESET(adpcm);
};
//----------- defined in drivers/dynax.c -----------
@@ -438,15 +473,15 @@ void mjelctrn_update_irq(running_machine &machine);
void neruton_update_irq(running_machine &machine);
//----------- defined in video/dynax.c -----------
-VIDEO_START( hanamai );
-VIDEO_START( hnoridur );
-VIDEO_START( mcnpshnt );
-VIDEO_START( sprtmtch );
-VIDEO_START( mjdialq2 );
-VIDEO_START( jantouki );
-VIDEO_START( mjelctrn );
-VIDEO_START( neruton );
-VIDEO_START( htengoku );
+
+
+
+
+
+
+
+
+
SCREEN_UPDATE_IND16( hanamai );
SCREEN_UPDATE_IND16( hnoridur );
@@ -456,10 +491,10 @@ SCREEN_UPDATE_IND16( jantouki_top );
SCREEN_UPDATE_IND16( jantouki_bottom );
SCREEN_UPDATE_IND16( htengoku );
-PALETTE_INIT( sprtmtch );
+
//----------- defined in drivers/ddenlovr.c -----------
-VIDEO_START(ddenlovr);
+
SCREEN_UPDATE_IND16(ddenlovr);
diff --git a/src/mame/includes/dynduke.h b/src/mame/includes/dynduke.h
index 0b9ba79bde4..7836ff3238c 100644
--- a/src/mame/includes/dynduke.h
+++ b/src/mame/includes/dynduke.h
@@ -39,10 +39,11 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/dynduke.c -----------*/
-VIDEO_START( dynduke );
+
SCREEN_UPDATE_IND16( dynduke );
diff --git a/src/mame/includes/eolith.h b/src/mame/includes/eolith.h
index 56ce69a968a..37e8b19a607 100644
--- a/src/mame/includes/eolith.h
+++ b/src/mame/includes/eolith.h
@@ -37,10 +37,12 @@ public:
DECLARE_DRIVER_INIT(hidctch3);
DECLARE_DRIVER_INIT(hidctch2);
DECLARE_DRIVER_INIT(landbrka);
+ DECLARE_MACHINE_RESET(eolith);
+ DECLARE_VIDEO_START(eolith);
};
/*----------- defined in video/eolith.c -----------*/
-VIDEO_START( eolith );
+
SCREEN_UPDATE_IND16( eolith );
diff --git a/src/mame/includes/epos.h b/src/mame/includes/epos.h
index c29abdb91ca..7f89328ca2b 100644
--- a/src/mame/includes/epos.h
+++ b/src/mame/includes/epos.h
@@ -23,6 +23,9 @@ public:
DECLARE_WRITE8_MEMBER(epos_port_1_w);
DECLARE_WRITE8_MEMBER(write_prtc);
DECLARE_DRIVER_INIT(dealer);
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(epos);
+ DECLARE_MACHINE_START(dealer);
};
diff --git a/src/mame/includes/eprom.h b/src/mame/includes/eprom.h
index 344be12e3e6..500bde3bd83 100644
--- a/src/mame/includes/eprom.h
+++ b/src/mame/includes/eprom.h
@@ -27,15 +27,19 @@ public:
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILE_GET_INFO_MEMBER(guts_get_playfield_tile_info);
+ DECLARE_MACHINE_START(eprom);
+ DECLARE_MACHINE_RESET(eprom);
+ DECLARE_VIDEO_START(eprom);
+ DECLARE_VIDEO_START(guts);
};
/*----------- defined in video/eprom.c -----------*/
-VIDEO_START( eprom );
+
SCREEN_UPDATE_IND16( eprom );
-VIDEO_START( guts );
+
SCREEN_UPDATE_IND16( guts );
void eprom_scanline_update(screen_device &screen, int scanline);
diff --git a/src/mame/includes/equites.h b/src/mame/includes/equites.h
index a51fcb18f56..b2a5cf18c6a 100644
--- a/src/mame/includes/equites.h
+++ b/src/mame/includes/equites.h
@@ -98,6 +98,12 @@ public:
TILE_GET_INFO_MEMBER(splndrbt_fg_info);
TILE_GET_INFO_MEMBER(equites_bg_info);
TILE_GET_INFO_MEMBER(splndrbt_bg_info);
+ DECLARE_MACHINE_START(equites);
+ DECLARE_MACHINE_RESET(equites);
+ DECLARE_VIDEO_START(equites);
+ DECLARE_PALETTE_INIT(equites);
+ DECLARE_VIDEO_START(splndrbt);
+ DECLARE_PALETTE_INIT(splndrbt);
};
diff --git a/src/mame/includes/esd16.h b/src/mame/includes/esd16.h
index 3c50bf8a111..58a0090a4e5 100644
--- a/src/mame/includes/esd16.h
+++ b/src/mame/includes/esd16.h
@@ -60,11 +60,14 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_0_16x16);
TILE_GET_INFO_MEMBER(get_tile_info_1);
TILE_GET_INFO_MEMBER(get_tile_info_1_16x16);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/esd16.c -----------*/
-VIDEO_START( esd16 );
+
SCREEN_UPDATE_IND16( hedpanic );
diff --git a/src/mame/includes/espial.h b/src/mame/includes/espial.h
index 2ffc5c44210..a4852fe86e0 100644
--- a/src/mame/includes/espial.h
+++ b/src/mame/includes/espial.h
@@ -46,11 +46,16 @@ public:
DECLARE_WRITE8_MEMBER(espial_scrollram_w);
DECLARE_WRITE8_MEMBER(espial_flipscreen_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(netwars);
};
/*----------- defined in video/espial.c -----------*/
-PALETTE_INIT( espial );
-VIDEO_START( espial );
-VIDEO_START( netwars );
+
+
+
SCREEN_UPDATE_IND16( espial );
diff --git a/src/mame/includes/esripsys.h b/src/mame/includes/esripsys.h
index afc280cbeee..3cf65ccb32d 100644
--- a/src/mame/includes/esripsys.h
+++ b/src/mame/includes/esripsys.h
@@ -91,12 +91,13 @@ public:
DECLARE_WRITE_LINE_MEMBER(ptm_irq);
DECLARE_WRITE8_MEMBER(esripsys_dac_w);
DECLARE_DRIVER_INIT(esripsys);
+ virtual void video_start();
};
/*----------- defined in video/esripsys.c -----------*/
-VIDEO_START( esripsys );
+
SCREEN_UPDATE_RGB32( esripsys );
INTERRUPT_GEN( esripsys_vblank_irq );
diff --git a/src/mame/includes/exedexes.h b/src/mame/includes/exedexes.h
index 0ab9c5f1f60..f0a1f90e2c6 100644
--- a/src/mame/includes/exedexes.h
+++ b/src/mame/includes/exedexes.h
@@ -44,6 +44,10 @@ public:
TILE_GET_INFO_MEMBER(get_tx_tile_info);
TILEMAP_MAPPER_MEMBER(exedexes_bg_tilemap_scan);
TILEMAP_MAPPER_MEMBER(exedexes_fg_tilemap_scan);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mame/includes/exerion.h b/src/mame/includes/exerion.h
index 8a33d9d9550..c109b417cdc 100644
--- a/src/mame/includes/exerion.h
+++ b/src/mame/includes/exerion.h
@@ -57,13 +57,17 @@ public:
DECLARE_WRITE8_MEMBER(exerion_portb_w);
DECLARE_DRIVER_INIT(exerion);
DECLARE_DRIVER_INIT(exerionb);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/exerion.c -----------*/
-PALETTE_INIT( exerion );
-VIDEO_START( exerion );
+
+
SCREEN_UPDATE_IND16( exerion );
diff --git a/src/mame/includes/exidy.h b/src/mame/includes/exidy.h
index e20d0d2b506..7130bdb38dd 100644
--- a/src/mame/includes/exidy.h
+++ b/src/mame/includes/exidy.h
@@ -65,13 +65,15 @@ public:
DECLARE_DRIVER_INIT(venture);
DECLARE_DRIVER_INIT(spectar);
DECLARE_DRIVER_INIT(phantoma);
+ virtual void video_start();
+ DECLARE_MACHINE_START(teetert);
};
/*----------- defined in video/exidy.c -----------*/
void exidy_video_config(running_machine &machine, UINT8 _collision_mask, UINT8 _collision_invert, int _is_2bpp);
-VIDEO_START( exidy );
+
SCREEN_UPDATE_IND16( exidy );
INTERRUPT_GEN( exidy_vblank_interrupt );
diff --git a/src/mame/includes/exidy440.h b/src/mame/includes/exidy440.h
index 046d1ed797c..e708c691720 100644
--- a/src/mame/includes/exidy440.h
+++ b/src/mame/includes/exidy440.h
@@ -63,6 +63,10 @@ public:
DECLARE_DRIVER_INIT(yukon);
DECLARE_DRIVER_INIT(exidy440);
DECLARE_DRIVER_INIT(claypign);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(exidy440);
+ DECLARE_VIDEO_START(topsecex);
};
diff --git a/src/mame/includes/exprraid.h b/src/mame/includes/exprraid.h
index e63afc1098b..4368b628a81 100644
--- a/src/mame/includes/exprraid.h
+++ b/src/mame/includes/exprraid.h
@@ -50,6 +50,9 @@ public:
DECLARE_DRIVER_INIT(wexpressb3);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mame/includes/exterm.h b/src/mame/includes/exterm.h
index d85c80235fb..6f34004a33a 100644
--- a/src/mame/includes/exterm.h
+++ b/src/mame/includes/exterm.h
@@ -34,12 +34,13 @@ public:
DECLARE_WRITE8_MEMBER(sound_control_w);
DECLARE_WRITE8_MEMBER(ym2151_data_latch_w);
DECLARE_WRITE8_MEMBER(sound_slave_dac_w);
+ virtual void palette_init();
};
/*----------- defined in video/exterm.c -----------*/
-PALETTE_INIT( exterm );
+
void exterm_scanline_update(screen_device &screen, bitmap_ind16 &bitmap, int scanline, const tms34010_display_params *params);
void exterm_to_shiftreg_master(address_space *space, UINT32 address, UINT16* shiftreg);
diff --git a/src/mame/includes/f1gp.h b/src/mame/includes/f1gp.h
index e08d456b982..5b7dbecf845 100644
--- a/src/mame/includes/f1gp.h
+++ b/src/mame/includes/f1gp.h
@@ -67,14 +67,20 @@ public:
TILE_GET_INFO_MEMBER(f1gp_get_roz_tile_info);
TILE_GET_INFO_MEMBER(f1gp2_get_roz_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ DECLARE_MACHINE_START(f1gp);
+ DECLARE_MACHINE_RESET(f1gp);
+ DECLARE_VIDEO_START(f1gp);
+ DECLARE_MACHINE_START(f1gpb);
+ DECLARE_VIDEO_START(f1gpb);
+ DECLARE_VIDEO_START(f1gp2);
};
/*----------- defined in video/f1gp.c -----------*/
-VIDEO_START( f1gp );
-VIDEO_START( f1gpb );
-VIDEO_START( f1gp2 );
+
+
+
SCREEN_UPDATE_IND16( f1gp );
SCREEN_UPDATE_IND16( f1gpb );
SCREEN_UPDATE_IND16( f1gp2 );
diff --git a/src/mame/includes/fantland.h b/src/mame/includes/fantland.h
index de3cfa6b33f..cd7a4ff570c 100644
--- a/src/mame/includes/fantland.h
+++ b/src/mame/includes/fantland.h
@@ -43,6 +43,10 @@ public:
DECLARE_READ8_MEMBER(borntofi_inputs_r);
DECLARE_WRITE8_MEMBER(borntofi_msm5205_w);
DECLARE_CUSTOM_INPUT_MEMBER(wheelrun_wheel_r);
+ DECLARE_MACHINE_START(fantland);
+ DECLARE_MACHINE_RESET(fantland);
+ DECLARE_MACHINE_START(borntofi);
+ DECLARE_MACHINE_RESET(borntofi);
};
diff --git a/src/mame/includes/fastfred.h b/src/mame/includes/fastfred.h
index b8826e37dab..efaef2a7255 100644
--- a/src/mame/includes/fastfred.h
+++ b/src/mame/includes/fastfred.h
@@ -57,13 +57,17 @@ public:
TILE_GET_INFO_MEMBER(imago_get_tile_info_bg);
TILE_GET_INFO_MEMBER(imago_get_tile_info_fg);
TILE_GET_INFO_MEMBER(imago_get_tile_info_web);
+ DECLARE_VIDEO_START(fastfred);
+ DECLARE_PALETTE_INIT(fastfred);
+ DECLARE_MACHINE_START(imago);
+ DECLARE_VIDEO_START(imago);
};
/*----------- defined in video/fastfred.c -----------*/
-PALETTE_INIT( fastfred );
-VIDEO_START( fastfred );
+
+
WRITE8_HANDLER( fastfred_videoram_w );
WRITE8_HANDLER( fastfred_attributes_w );
WRITE8_HANDLER( fastfred_charbank1_w );
@@ -74,7 +78,7 @@ WRITE8_HANDLER( fastfred_flip_screen_x_w );
WRITE8_HANDLER( fastfred_flip_screen_y_w );
SCREEN_UPDATE_IND16( fastfred );
-VIDEO_START( imago );
+
SCREEN_UPDATE_IND16( imago );
WRITE8_HANDLER( imago_fg_videoram_w );
WRITE8_HANDLER( imago_charbank_w );
diff --git a/src/mame/includes/fastlane.h b/src/mame/includes/fastlane.h
index ba9aaef3ef9..fba26616aac 100644
--- a/src/mame/includes/fastlane.h
+++ b/src/mame/includes/fastlane.h
@@ -45,6 +45,9 @@ public:
DECLARE_WRITE8_MEMBER(fastlane_k2_k007232_w);
TILE_GET_INFO_MEMBER(get_tile_info0);
TILE_GET_INFO_MEMBER(get_tile_info1);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -53,6 +56,6 @@ public:
/*----------- defined in video/fastlane.c -----------*/
-PALETTE_INIT( fastlane );
-VIDEO_START( fastlane );
+
+
SCREEN_UPDATE_IND16( fastlane );
diff --git a/src/mame/includes/fcombat.h b/src/mame/includes/fcombat.h
index d991618f230..f8e9c261169 100644
--- a/src/mame/includes/fcombat.h
+++ b/src/mame/includes/fcombat.h
@@ -62,13 +62,17 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_DRIVER_INIT(fcombat);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/fcombat.c -----------*/
-PALETTE_INIT( fcombat );
-VIDEO_START( fcombat );
+
+
SCREEN_UPDATE_IND16( fcombat );
diff --git a/src/mame/includes/fgoal.h b/src/mame/includes/fgoal.h
index 82152707a46..a4a239c4549 100644
--- a/src/mame/includes/fgoal.h
+++ b/src/mame/includes/fgoal.h
@@ -42,12 +42,16 @@ public:
DECLARE_WRITE8_MEMBER(fgoal_ypos_w);
DECLARE_WRITE8_MEMBER(fgoal_xpos_w);
DECLARE_CUSTOM_INPUT_MEMBER(fgoal_80_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/fgoal.c -----------*/
-VIDEO_START( fgoal );
+
SCREEN_UPDATE_IND16( fgoal );
diff --git a/src/mame/includes/finalizr.h b/src/mame/includes/finalizr.h
index 468bb79d851..1ea3aee2a33 100644
--- a/src/mame/includes/finalizr.h
+++ b/src/mame/includes/finalizr.h
@@ -49,12 +49,16 @@ public:
DECLARE_DRIVER_INIT(finalizr);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/finalizr.c -----------*/
-PALETTE_INIT( finalizr );
-VIDEO_START( finalizr );
+
+
SCREEN_UPDATE_IND16( finalizr );
diff --git a/src/mame/includes/firetrap.h b/src/mame/includes/firetrap.h
index 4ffd4ef1f7e..87f62f5f14f 100644
--- a/src/mame/includes/firetrap.h
+++ b/src/mame/includes/firetrap.h
@@ -66,12 +66,16 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/firetrap.c -----------*/
-PALETTE_INIT( firetrap );
-VIDEO_START( firetrap );
+
+
SCREEN_UPDATE_IND16( firetrap );
diff --git a/src/mame/includes/firetrk.h b/src/mame/includes/firetrk.h
index a6628bb8e60..2c885938a2e 100644
--- a/src/mame/includes/firetrk.h
+++ b/src/mame/includes/firetrk.h
@@ -95,6 +95,12 @@ public:
TILE_GET_INFO_MEMBER(firetrk_get_tile_info2);
TILE_GET_INFO_MEMBER(superbug_get_tile_info2);
TILE_GET_INFO_MEMBER(montecar_get_tile_info2);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(superbug);
+ DECLARE_VIDEO_START(montecar);
+ DECLARE_PALETTE_INIT(montecar);
};
@@ -115,11 +121,11 @@ DISCRETE_SOUND_EXTERN( montecar );
/*----------- defined in video/firetrk.c -----------*/
-PALETTE_INIT( firetrk );
-PALETTE_INIT( montecar );
-VIDEO_START( firetrk );
-VIDEO_START( superbug );
-VIDEO_START( montecar );
+
+
+
+
+
SCREEN_UPDATE_IND16( firetrk );
SCREEN_UPDATE_IND16( superbug );
SCREEN_UPDATE_IND16( montecar );
diff --git a/src/mame/includes/fitfight.h b/src/mame/includes/fitfight.h
index cef7a5e50fa..8b77faa2d47 100644
--- a/src/mame/includes/fitfight.h
+++ b/src/mame/includes/fitfight.h
@@ -58,11 +58,14 @@ public:
TILE_GET_INFO_MEMBER(get_fof_bak_tile_info);
TILE_GET_INFO_MEMBER(get_fof_mid_tile_info);
TILE_GET_INFO_MEMBER(get_fof_txt_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/fitfight.c -----------*/
-VIDEO_START(fitfight);
+
SCREEN_UPDATE_IND16(fitfight);
diff --git a/src/mame/includes/flkatck.h b/src/mame/includes/flkatck.h
index aa04064f1a6..73077ee489a 100644
--- a/src/mame/includes/flkatck.h
+++ b/src/mame/includes/flkatck.h
@@ -35,6 +35,9 @@ public:
DECLARE_WRITE8_MEMBER(flkatck_k007121_regs_w);
TILE_GET_INFO_MEMBER(get_tile_info_A);
TILE_GET_INFO_MEMBER(get_tile_info_B);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -44,5 +47,5 @@ public:
/*----------- defined in video/flkatck.c -----------*/
-VIDEO_START( flkatck );
+
SCREEN_UPDATE_IND16( flkatck );
diff --git a/src/mame/includes/flower.h b/src/mame/includes/flower.h
index d616c8c64d1..98e9cd7b032 100644
--- a/src/mame/includes/flower.h
+++ b/src/mame/includes/flower.h
@@ -38,6 +38,8 @@ public:
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -76,5 +78,5 @@ extern const device_type FLOWER;
SCREEN_UPDATE_IND16( flower );
-VIDEO_START( flower );
-PALETTE_INIT( flower );
+
+
diff --git a/src/mame/includes/flstory.h b/src/mame/includes/flstory.h
index 74872280f98..7736a4963a5 100644
--- a/src/mame/includes/flstory.h
+++ b/src/mame/includes/flstory.h
@@ -107,6 +107,13 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info);
TILE_GET_INFO_MEMBER(victnine_get_tile_info);
TILE_GET_INFO_MEMBER(get_rumba_tile_info);
+ virtual void machine_start();
+ DECLARE_MACHINE_RESET(flstory);
+ DECLARE_VIDEO_START(flstory);
+ DECLARE_VIDEO_START(victnine);
+ DECLARE_MACHINE_RESET(rumba);
+ DECLARE_VIDEO_START(rumba);
+ DECLARE_MACHINE_RESET(ta7630);
};
@@ -116,10 +123,10 @@ public:
/*----------- defined in video/flstory.c -----------*/
-VIDEO_START( flstory );
+
SCREEN_UPDATE_IND16( flstory );
-VIDEO_START( victnine );
+
SCREEN_UPDATE_IND16( victnine );
-VIDEO_START( rumba );
+
SCREEN_UPDATE_IND16( rumba );
diff --git a/src/mame/includes/foodf.h b/src/mame/includes/foodf.h
index 64f105a38e0..5e18a461772 100644
--- a/src/mame/includes/foodf.h
+++ b/src/mame/includes/foodf.h
@@ -32,10 +32,13 @@ public:
void foodf_set_flip(int flip);
DECLARE_READ8_MEMBER(pot_r);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(foodf);
+ DECLARE_MACHINE_RESET(foodf);
+ DECLARE_VIDEO_START(foodf);
};
/*----------- defined in video/foodf.c -----------*/
-VIDEO_START( foodf );
+
SCREEN_UPDATE_IND16( foodf );
diff --git a/src/mame/includes/freekick.h b/src/mame/includes/freekick.h
index 883e4ebe195..bf316121ea2 100644
--- a/src/mame/includes/freekick.h
+++ b/src/mame/includes/freekick.h
@@ -42,12 +42,18 @@ public:
DECLARE_DRIVER_INIT(gigasb);
DECLARE_DRIVER_INIT(pbillrds);
TILE_GET_INFO_MEMBER(get_freek_tile_info);
+ virtual void video_start();
+ DECLARE_MACHINE_START(pbillrd);
+ DECLARE_MACHINE_RESET(freekick);
+ DECLARE_MACHINE_START(freekick);
+ DECLARE_MACHINE_START(oigas);
+ DECLARE_MACHINE_RESET(oigas);
};
/*----------- defined in video/freekick.c -----------*/
-VIDEO_START(freekick);
+
SCREEN_UPDATE_IND16(gigas);
SCREEN_UPDATE_IND16(pbillrd);
SCREEN_UPDATE_IND16(freekick);
diff --git a/src/mame/includes/fromanc2.h b/src/mame/includes/fromanc2.h
index 89fbb387a7e..011f12e54b1 100644
--- a/src/mame/includes/fromanc2.h
+++ b/src/mame/includes/fromanc2.h
@@ -97,6 +97,12 @@ public:
TILE_GET_INFO_MEMBER(fromancr_get_v1_l0_tile_info);
TILE_GET_INFO_MEMBER(fromancr_get_v1_l1_tile_info);
TILE_GET_INFO_MEMBER(fromancr_get_v1_l2_tile_info);
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(fromanc2);
+ DECLARE_VIDEO_START(fromanc2);
+ DECLARE_VIDEO_START(fromancr);
+ DECLARE_MACHINE_START(fromanc4);
+ DECLARE_VIDEO_START(fromanc4);
};
@@ -106,8 +112,8 @@ public:
SCREEN_UPDATE_IND16( fromanc2_left );
SCREEN_UPDATE_IND16( fromanc2_right );
-VIDEO_START( fromanc2 );
-VIDEO_START( fromancr );
-VIDEO_START( fromanc4 );
+
+
+
void fromancr_gfxbank_w(running_machine &machine, int data);
diff --git a/src/mame/includes/fromance.h b/src/mame/includes/fromance.h
index 5aa61e0b1de..c04f17ab586 100644
--- a/src/mame/includes/fromance.h
+++ b/src/mame/includes/fromance.h
@@ -76,15 +76,23 @@ public:
TILE_GET_INFO_MEMBER(get_fromance_fg_tile_info);
TILE_GET_INFO_MEMBER(get_nekkyoku_bg_tile_info);
TILE_GET_INFO_MEMBER(get_nekkyoku_fg_tile_info);
+ DECLARE_MACHINE_START(fromance);
+ DECLARE_MACHINE_RESET(fromance);
+ DECLARE_VIDEO_START(nekkyoku);
+ DECLARE_VIDEO_START(fromance);
+ DECLARE_MACHINE_START(pipedrm);
+ DECLARE_MACHINE_RESET(pipedrm);
+ DECLARE_VIDEO_START(pipedrm);
+ DECLARE_VIDEO_START(hatris);
};
/*----------- defined in video/fromance.c -----------*/
-VIDEO_START( fromance );
-VIDEO_START( nekkyoku );
-VIDEO_START( pipedrm );
-VIDEO_START( hatris );
+
+
+
+
SCREEN_UPDATE_IND16( fromance );
SCREEN_UPDATE_IND16( pipedrm );
diff --git a/src/mame/includes/funkybee.h b/src/mame/includes/funkybee.h
index 63f16ea8c54..01982f7c969 100644
--- a/src/mame/includes/funkybee.h
+++ b/src/mame/includes/funkybee.h
@@ -24,12 +24,16 @@ public:
DECLARE_WRITE8_MEMBER(funkybee_flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILEMAP_MAPPER_MEMBER(funkybee_tilemap_scan);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/funkybee.c -----------*/
-PALETTE_INIT( funkybee );
-VIDEO_START( funkybee );
+
+
SCREEN_UPDATE_IND16( funkybee );
diff --git a/src/mame/includes/funkyjet.h b/src/mame/includes/funkyjet.h
index b0ad7b11a2f..0fba2b1b57d 100644
--- a/src/mame/includes/funkyjet.h
+++ b/src/mame/includes/funkyjet.h
@@ -24,6 +24,7 @@ public:
cpu_device *m_audiocpu;
device_t *m_deco_tilegen1;
DECLARE_DRIVER_INIT(funkyjet);
+ virtual void machine_start();
};
diff --git a/src/mame/includes/funworld.h b/src/mame/includes/funworld.h
index b0cc5ed5aa4..eae6578398e 100644
--- a/src/mame/includes/funworld.h
+++ b/src/mame/includes/funworld.h
@@ -26,12 +26,15 @@ public:
DECLARE_DRIVER_INIT(tabblue);
DECLARE_DRIVER_INIT(magicd2a);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ DECLARE_VIDEO_START(funworld);
+ DECLARE_PALETTE_INIT(funworld);
+ DECLARE_VIDEO_START(magicrd2);
};
/*----------- defined in video/funworld.c -----------*/
-PALETTE_INIT( funworld );
-VIDEO_START( funworld );
-VIDEO_START( magicrd2 );
+
+
+
SCREEN_UPDATE_IND16( funworld );
diff --git a/src/mame/includes/funybubl.h b/src/mame/includes/funybubl.h
index fd248247b36..1385c90d680 100644
--- a/src/mame/includes/funybubl.h
+++ b/src/mame/includes/funybubl.h
@@ -20,6 +20,8 @@ public:
DECLARE_WRITE8_MEMBER(funybubl_soundcommand_w);
DECLARE_WRITE8_MEMBER(funybubl_paldatawrite);
DECLARE_WRITE8_MEMBER(funybubl_oki_bank_sw);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -27,5 +29,5 @@ public:
/*----------- defined in video/funybubl.c -----------*/
-VIDEO_START(funybubl);
+
SCREEN_UPDATE_IND16(funybubl);
diff --git a/src/mame/includes/fuukifg2.h b/src/mame/includes/fuukifg2.h
index 504c5054fc8..af7d9b01023 100644
--- a/src/mame/includes/fuukifg2.h
+++ b/src/mame/includes/fuukifg2.h
@@ -40,11 +40,14 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_1);
TILE_GET_INFO_MEMBER(get_tile_info_2);
TILE_GET_INFO_MEMBER(get_tile_info_3);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/fuukifg2.c -----------*/
-VIDEO_START( fuuki16 );
+
SCREEN_UPDATE_IND16( fuuki16 );
diff --git a/src/mame/includes/fuukifg3.h b/src/mame/includes/fuukifg3.h
index 15f522c9441..ff7e607eb49 100644
--- a/src/mame/includes/fuukifg3.h
+++ b/src/mame/includes/fuukifg3.h
@@ -58,12 +58,15 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_1);
TILE_GET_INFO_MEMBER(get_tile_info_2);
TILE_GET_INFO_MEMBER(get_tile_info_3);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/fuuki32.c -----------*/
-VIDEO_START( fuuki32 );
+
SCREEN_UPDATE_IND16( fuuki32 );
SCREEN_VBLANK( fuuki32 );
diff --git a/src/mame/includes/gaelco.h b/src/mame/includes/gaelco.h
index cbf51e671e5..e43d8fca7cd 100644
--- a/src/mame/includes/gaelco.h
+++ b/src/mame/includes/gaelco.h
@@ -36,6 +36,9 @@ public:
DECLARE_WRITE16_MEMBER(gaelco_vram_w);
TILE_GET_INFO_MEMBER(get_tile_info_gaelco_screen0);
TILE_GET_INFO_MEMBER(get_tile_info_gaelco_screen1);
+ virtual void machine_start();
+ DECLARE_VIDEO_START(bigkarnk);
+ DECLARE_VIDEO_START(maniacsq);
};
@@ -43,8 +46,8 @@ public:
/*----------- defined in video/gaelco.c -----------*/
-VIDEO_START( bigkarnk );
-VIDEO_START( maniacsq );
+
+
SCREEN_UPDATE_IND16( bigkarnk );
SCREEN_UPDATE_IND16( maniacsq );
diff --git a/src/mame/includes/gaelco2.h b/src/mame/includes/gaelco2.h
index 7129cdd9c59..17661fc6fb4 100644
--- a/src/mame/includes/gaelco2.h
+++ b/src/mame/includes/gaelco2.h
@@ -47,6 +47,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1);
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen0_dual);
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1_dual);
+ DECLARE_VIDEO_START(gaelco2);
+ DECLARE_VIDEO_START(gaelco2_dual);
};
@@ -60,7 +62,7 @@ WRITE16_DEVICE_HANDLER( gaelco2_eeprom_data_w );
/*----------- defined in video/gaelco2.c -----------*/
SCREEN_UPDATE_IND16( gaelco2 );
-VIDEO_START( gaelco2 );
+
SCREEN_UPDATE_IND16( gaelco2_left );
SCREEN_UPDATE_IND16( gaelco2_right );
-VIDEO_START( gaelco2_dual );
+
diff --git a/src/mame/includes/gaelco3d.h b/src/mame/includes/gaelco3d.h
index 0a11c17f579..2efeb54723f 100644
--- a/src/mame/includes/gaelco3d.h
+++ b/src/mame/includes/gaelco3d.h
@@ -110,6 +110,11 @@ public:
DECLARE_WRITE16_MEMBER(eeprom_clock_w);
DECLARE_WRITE16_MEMBER(eeprom_cs_w);
DECLARE_DRIVER_INIT(gaelco3d);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(gaelco3d2);
+ DECLARE_MACHINE_RESET(common);
};
@@ -118,5 +123,5 @@ public:
void gaelco3d_render(screen_device &screen);
-VIDEO_START( gaelco3d );
+
SCREEN_UPDATE_IND16( gaelco3d );
diff --git a/src/mame/includes/gaiden.h b/src/mame/includes/gaiden.h
index 25947a92d01..08e7363ca20 100644
--- a/src/mame/includes/gaiden.h
+++ b/src/mame/includes/gaiden.h
@@ -77,15 +77,21 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info_raiga);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ DECLARE_MACHINE_START(raiga);
+ DECLARE_MACHINE_RESET(raiga);
+ DECLARE_VIDEO_START(gaiden);
+ DECLARE_VIDEO_START(drgnbowl);
+ DECLARE_VIDEO_START(mastninj);
+ DECLARE_VIDEO_START(raiga);
};
/*----------- defined in video/gaiden.c -----------*/
-VIDEO_START( gaiden );
-VIDEO_START( raiga );
-VIDEO_START( drgnbowl );
-VIDEO_START( mastninj );
+
+
+
+
SCREEN_UPDATE_RGB32( gaiden );
SCREEN_UPDATE_RGB32( raiga );
diff --git a/src/mame/includes/galaga.h b/src/mame/includes/galaga.h
index 74653e4f5d5..9961977afcc 100644
--- a/src/mame/includes/galaga.h
+++ b/src/mame/includes/galaga.h
@@ -52,6 +52,10 @@ public:
DECLARE_DRIVER_INIT(gatsbee);
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(get_tile_info);
+ DECLARE_MACHINE_START(galaga);
+ DECLARE_MACHINE_RESET(galaga);
+ DECLARE_VIDEO_START(galaga);
+ DECLARE_PALETTE_INIT(galaga);
};
class xevious_state : public galaga_state
@@ -81,6 +85,11 @@ public:
DECLARE_DRIVER_INIT(battles);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ DECLARE_VIDEO_START(xevious);
+ DECLARE_PALETTE_INIT(xevious);
+ DECLARE_MACHINE_RESET(xevios);
+ DECLARE_PALETTE_INIT(battles);
+ DECLARE_MACHINE_RESET(battles);
};
@@ -108,6 +117,8 @@ public:
TILEMAP_MAPPER_MEMBER(fg_tilemap_scan);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(fg_get_tile_info);
+ DECLARE_VIDEO_START(bosco);
+ DECLARE_PALETTE_INIT(bosco);
};
class digdug_state : public galaga_state
@@ -131,6 +142,8 @@ public:
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(tx_get_tile_info);
+ DECLARE_VIDEO_START(digdug);
+ DECLARE_PALETTE_INIT(digdug);
};
@@ -141,9 +154,9 @@ WRITE8_HANDLER( bosco_videoram_w );
WRITE8_HANDLER( bosco_scrollx_w );
WRITE8_HANDLER( bosco_scrolly_w );
WRITE8_HANDLER( bosco_starclr_w );
-VIDEO_START( bosco );
+
SCREEN_UPDATE_IND16( bosco );
-PALETTE_INIT( bosco );
+
SCREEN_VBLANK( bosco ); /* update starfield */
/*----------- defined in audio/galaga.c -----------*/
@@ -162,8 +175,8 @@ struct star
extern const struct star star_seed_tab[];
-PALETTE_INIT( galaga );
-VIDEO_START( galaga );
+
+
SCREEN_UPDATE_IND16( galaga );
SCREEN_VBLANK( galaga ); /* update starfield */
@@ -176,11 +189,11 @@ WRITE8_HANDLER( xevious_bg_colorram_w );
WRITE8_HANDLER( xevious_vh_latch_w );
WRITE8_HANDLER( xevious_bs_w );
READ8_HANDLER( xevious_bb_r );
-VIDEO_START( xevious );
-PALETTE_INIT( xevious );
+
+
SCREEN_UPDATE_IND16( xevious );
-PALETTE_INIT( battles );
+
/*----------- defined in machine/xevious.c -----------*/
@@ -206,6 +219,6 @@ INTERRUPT_GEN( battles_interrupt_4 );
WRITE8_HANDLER( digdug_videoram_w );
WRITE8_HANDLER( digdug_PORT_w );
-VIDEO_START( digdug );
+
SCREEN_UPDATE_IND16( digdug );
-PALETTE_INIT( digdug );
+
diff --git a/src/mame/includes/galastrm.h b/src/mame/includes/galastrm.h
index 11a495805d3..a6ef24ac06e 100644
--- a/src/mame/includes/galastrm.h
+++ b/src/mame/includes/galastrm.h
@@ -46,10 +46,11 @@ public:
DECLARE_WRITE32_MEMBER(galastrm_adstick_ctrl_w);
DECLARE_CUSTOM_INPUT_MEMBER(frame_counter_r);
DECLARE_CUSTOM_INPUT_MEMBER(coin_word_r);
+ virtual void video_start();
};
/*----------- defined in video/galastrm.c -----------*/
-VIDEO_START( galastrm );
+
SCREEN_UPDATE_IND16( galastrm );
diff --git a/src/mame/includes/galaxia.h b/src/mame/includes/galaxia.h
index ce3eeece749..e613ac17bdf 100644
--- a/src/mame/includes/galaxia.h
+++ b/src/mame/includes/galaxia.h
@@ -22,15 +22,19 @@ public:
DECLARE_READ8_MEMBER(galaxia_collision_clear);
TILE_GET_INFO_MEMBER(get_galaxia_bg_tile_info);
TILE_GET_INFO_MEMBER(get_astrowar_bg_tile_info);
+ DECLARE_VIDEO_START(galaxia);
+ DECLARE_PALETTE_INIT(galaxia);
+ DECLARE_VIDEO_START(astrowar);
+ DECLARE_PALETTE_INIT(astrowar);
};
/*----------- defined in video/galaxia.c -----------*/
-PALETTE_INIT( galaxia );
-PALETTE_INIT( astrowar );
-VIDEO_START( galaxia );
-VIDEO_START( astrowar );
+
+
+
+
SCREEN_UPDATE_IND16( galaxia );
SCREEN_UPDATE_IND16( astrowar );
diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h
index bb02c65fb49..2b131fbfdcc 100644
--- a/src/mame/includes/galaxian.h
+++ b/src/mame/includes/galaxian.h
@@ -219,15 +219,19 @@ public:
DECLARE_DRIVER_INIT(calipso);
DECLARE_DRIVER_INIT(moonwar);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(moonwar);
+ void tenspot_set_game_bank(running_machine& machine, int bank, int from_game);
};
/*----------- defined in video/galaxian.c -----------*/
-PALETTE_INIT( galaxian );
-PALETTE_INIT( moonwar );
-VIDEO_START( galaxian );
+
+
+
SCREEN_UPDATE_RGB32( galaxian );
@@ -288,9 +292,3 @@ void calipso_extend_sprite_info(running_machine &machine, const UINT8 *base, UIN
/* Jumpbug extensions */
void jumpbug_extend_tile_info(running_machine &machine, UINT16 *code, UINT8 *color, UINT8 attrib, UINT8 x);
void jumpbug_extend_sprite_info(running_machine &machine, const UINT8 *base, UINT8 *sx, UINT8 *sy, UINT8 *flipx, UINT8 *flipy, UINT16 *code, UINT8 *color);
-
-/*----------- defined in drivers/galaxian.c -----------*/
-
-/* Ten Spot extensions */
-void tenspot_set_game_bank(running_machine &machine, int bank, int from_game);
-
diff --git a/src/mame/includes/galaxold.h b/src/mame/includes/galaxold.h
index 86a738eb690..83123ff1ba9 100644
--- a/src/mame/includes/galaxold.h
+++ b/src/mame/includes/galaxold.h
@@ -142,48 +142,82 @@ public:
TILE_GET_INFO_MEMBER(dambustr_get_tile_info2);
TILE_GET_INFO_MEMBER(get_tile_info);
TILE_GET_INFO_MEMBER(rockclim_get_tile_info);
+ DECLARE_MACHINE_RESET(galaxold);
+ DECLARE_VIDEO_START(galaxold);
+ DECLARE_PALETTE_INIT(galaxold);
+ DECLARE_VIDEO_START(drivfrcg);
+ DECLARE_PALETTE_INIT(rockclim);
+ DECLARE_VIDEO_START(racknrol);
+ DECLARE_VIDEO_START(batman2);
+ DECLARE_VIDEO_START(mooncrst);
+ DECLARE_VIDEO_START(scrambold);
+ DECLARE_PALETTE_INIT(scrambold);
+ DECLARE_VIDEO_START(pisces);
+ DECLARE_MACHINE_RESET(devilfsg);
+ DECLARE_VIDEO_START(dkongjrm);
+ DECLARE_VIDEO_START(rockclim);
+ DECLARE_VIDEO_START(galaxold_plain);
+ DECLARE_VIDEO_START(bongo);
+ DECLARE_MACHINE_RESET(hunchbkg);
+ DECLARE_VIDEO_START(ckongs);
+ DECLARE_PALETTE_INIT(stratgyx);
+ DECLARE_PALETTE_INIT(darkplnt);
+ DECLARE_PALETTE_INIT(minefld);
+ DECLARE_PALETTE_INIT(rescue);
+ DECLARE_PALETTE_INIT(mariner);
+ DECLARE_PALETTE_INIT(dambustr);
+ DECLARE_PALETTE_INIT(turtles);
+ DECLARE_VIDEO_START(darkplnt);
+ DECLARE_VIDEO_START(rescue);
+ DECLARE_VIDEO_START(minefld);
+ DECLARE_VIDEO_START(stratgyx);
+ DECLARE_VIDEO_START(mariner);
+ DECLARE_VIDEO_START(mimonkey);
+ DECLARE_VIDEO_START(scorpion);
+ DECLARE_VIDEO_START(ad2083);
+ DECLARE_VIDEO_START(dambustr);
};
/*----------- defined in video/galaxold.c -----------*/
-PALETTE_INIT( galaxold );
-PALETTE_INIT( scrambold );
-PALETTE_INIT( darkplnt );
-PALETTE_INIT( rescue );
-PALETTE_INIT( minefld );
-PALETTE_INIT( stratgyx );
-PALETTE_INIT( mariner );
-PALETTE_INIT( rockclim );
-PALETTE_INIT( dambustr );
-PALETTE_INIT( turtles );
-
-VIDEO_START( dambustr );
-
-
-
-
-
-VIDEO_START( galaxold_plain );
-VIDEO_START( galaxold );
-VIDEO_START( mooncrst );
-VIDEO_START( pisces );
-VIDEO_START( batman2 );
-VIDEO_START( dkongjrm );
-VIDEO_START( scrambold );
-VIDEO_START( darkplnt );
-VIDEO_START( rescue );
-VIDEO_START( minefld );
-VIDEO_START( stratgyx );
-VIDEO_START( mimonkey );
-VIDEO_START( mariner );
-VIDEO_START( ckongs );
-VIDEO_START( rockclim );
-VIDEO_START( drivfrcg );
-VIDEO_START( bongo );
-VIDEO_START( scorpion );
-VIDEO_START( racknrol );
-VIDEO_START( ad2083 );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
void galaxold_init_stars(running_machine &machine, int colors_offset);
void galaxold_draw_stars(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -201,9 +235,9 @@ WRITE_LINE_DEVICE_HANDLER( galaxold_7474_9m_2_q_callback );
WRITE_LINE_DEVICE_HANDLER( galaxold_7474_9m_1_callback );
-MACHINE_RESET( galaxold );
-MACHINE_RESET( devilfsg );
-MACHINE_RESET( hunchbkg );
+
+
+
#define galaxold_coin_counter_0_w galaxold_coin_counter_w
diff --git a/src/mame/includes/galivan.h b/src/mame/includes/galivan.h
index 62980846ab9..fa9fc2dbe3e 100644
--- a/src/mame/includes/galivan.h
+++ b/src/mame/includes/galivan.h
@@ -49,6 +49,13 @@ public:
TILE_GET_INFO_MEMBER(get_tx_tile_info);
TILE_GET_INFO_MEMBER(ninjemak_get_bg_tile_info);
TILE_GET_INFO_MEMBER(ninjemak_get_tx_tile_info);
+ virtual void palette_init();
+ DECLARE_MACHINE_START(galivan);
+ DECLARE_MACHINE_RESET(galivan);
+ DECLARE_VIDEO_START(galivan);
+ DECLARE_MACHINE_START(ninjemak);
+ DECLARE_MACHINE_RESET(ninjemak);
+ DECLARE_VIDEO_START(ninjemak);
};
@@ -58,9 +65,9 @@ public:
WRITE8_HANDLER( ninjemak_scrollx_w );
WRITE8_HANDLER( ninjemak_scrolly_w );
-PALETTE_INIT( galivan );
-VIDEO_START( galivan );
-VIDEO_START( ninjemak );
+
+
+
SCREEN_UPDATE_IND16( galivan );
SCREEN_UPDATE_IND16( ninjemak );
diff --git a/src/mame/includes/galpani2.h b/src/mame/includes/galpani2.h
index d5d4b3b2284..b5bdd96cccc 100644
--- a/src/mame/includes/galpani2.h
+++ b/src/mame/includes/galpani2.h
@@ -47,13 +47,16 @@ public:
DECLARE_WRITE16_MEMBER(galpani2_eeprom_w);
DECLARE_WRITE8_MEMBER(galpani2_oki1_bank_w);
DECLARE_WRITE8_MEMBER(galpani2_oki2_bank_w);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/galpani2.c -----------*/
-PALETTE_INIT( galpani2 );
-VIDEO_START( galpani2 );
+
+
SCREEN_UPDATE_IND16( galpani2 );
WRITE16_HANDLER( galpani2_palette_0_w );
diff --git a/src/mame/includes/galpanic.h b/src/mame/includes/galpanic.h
index c3463d1d4a0..5b0419793d0 100644
--- a/src/mame/includes/galpanic.h
+++ b/src/mame/includes/galpanic.h
@@ -22,15 +22,17 @@ public:
DECLARE_READ16_MEMBER(comad_timer_r);
DECLARE_READ16_MEMBER(zipzap_random_read);
DECLARE_READ8_MEMBER(comad_okim6295_r);
+ DECLARE_VIDEO_START(galpanic);
+ DECLARE_PALETTE_INIT(galpanic);
};
/*----------- defined in video/galpanic.c -----------*/
-PALETTE_INIT( galpanic );
+
WRITE16_HANDLER( galpanic_bgvideoram_w );
WRITE16_HANDLER( galpanic_paletteram_w );
-VIDEO_START( galpanic );
+
SCREEN_UPDATE_IND16( galpanic );
SCREEN_UPDATE_IND16( comad );
diff --git a/src/mame/includes/galspnbl.h b/src/mame/includes/galspnbl.h
index 35e7e9f2373..4474fe42b39 100644
--- a/src/mame/includes/galspnbl.h
+++ b/src/mame/includes/galspnbl.h
@@ -27,11 +27,13 @@ public:
/* devices */
cpu_device *m_audiocpu;
DECLARE_WRITE16_MEMBER(soundcommand_w);
+ virtual void machine_start();
+ virtual void palette_init();
};
/*----------- defined in video/galspnbl.c -----------*/
-PALETTE_INIT( galspnbl );
+
SCREEN_UPDATE_IND16( galspnbl );
diff --git a/src/mame/includes/gameplan.h b/src/mame/includes/gameplan.h
index 6fd6286565c..c44d13a4826 100644
--- a/src/mame/includes/gameplan.h
+++ b/src/mame/includes/gameplan.h
@@ -59,6 +59,15 @@ public:
DECLARE_WRITE8_MEMBER(audio_trigger_w);
DECLARE_WRITE_LINE_MEMBER(r6532_irq);
DECLARE_WRITE8_MEMBER(r6532_soundlatch_w);
+ DECLARE_MACHINE_START(gameplan);
+ DECLARE_MACHINE_RESET(gameplan);
+ DECLARE_MACHINE_START(trvquest);
+ DECLARE_MACHINE_RESET(trvquest);
+ DECLARE_VIDEO_START(gameplan);
+ DECLARE_VIDEO_RESET(gameplan);
+ DECLARE_VIDEO_START(leprechn);
+ DECLARE_VIDEO_START(trvquest);
+ DECLARE_VIDEO_START(common);
};
diff --git a/src/mame/includes/gaplus.h b/src/mame/includes/gaplus.h
index b5631c5f7c4..654fe521df1 100644
--- a/src/mame/includes/gaplus.h
+++ b/src/mame/includes/gaplus.h
@@ -42,6 +42,9 @@ public:
DECLARE_DRIVER_INIT(gaplus);
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -51,7 +54,7 @@ public:
/*----------- defined in video/gaplus.c -----------*/
-VIDEO_START( gaplus );
-PALETTE_INIT( gaplus );
+
+
SCREEN_UPDATE_IND16( gaplus );
SCREEN_VBLANK( gaplus ); /* update starfields */
diff --git a/src/mame/includes/gatron.h b/src/mame/includes/gatron.h
index 64abb10d69d..cb9112ad92d 100644
--- a/src/mame/includes/gatron.h
+++ b/src/mame/includes/gatron.h
@@ -11,12 +11,14 @@ public:
DECLARE_WRITE8_MEMBER(gat_videoram_w);
DECLARE_WRITE8_MEMBER(output_port_1_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/gatron.c -----------*/
-PALETTE_INIT( gat );
-VIDEO_START( gat );
+
+
SCREEN_UPDATE_IND16( gat );
diff --git a/src/mame/includes/gauntlet.h b/src/mame/includes/gauntlet.h
index 1916710e860..75ea02b7ba6 100644
--- a/src/mame/includes/gauntlet.h
+++ b/src/mame/includes/gauntlet.h
@@ -27,6 +27,9 @@ public:
DECLARE_DRIVER_INIT(vindctr2);
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(gauntlet);
+ DECLARE_MACHINE_RESET(gauntlet);
+ DECLARE_VIDEO_START(gauntlet);
};
@@ -35,5 +38,5 @@ public:
WRITE16_HANDLER( gauntlet_xscroll_w );
WRITE16_HANDLER( gauntlet_yscroll_w );
-VIDEO_START( gauntlet );
+
SCREEN_UPDATE_IND16( gauntlet );
diff --git a/src/mame/includes/gberet.h b/src/mame/includes/gberet.h
index c326ab20d1b..8c9c8b1a324 100644
--- a/src/mame/includes/gberet.h
+++ b/src/mame/includes/gberet.h
@@ -51,13 +51,17 @@ public:
DECLARE_WRITE8_MEMBER(gberetb_scroll_w);
DECLARE_DRIVER_INIT(mrgoemon);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ DECLARE_MACHINE_START(gberet);
+ DECLARE_MACHINE_RESET(gberet);
+ DECLARE_VIDEO_START(gberet);
+ DECLARE_PALETTE_INIT(gberet);
};
/*----------- defined in video/gberet.c -----------*/
-PALETTE_INIT( gberet );
-VIDEO_START( gberet );
+
+
SCREEN_UPDATE_IND16( gberet );
SCREEN_UPDATE_IND16( gberetb );
diff --git a/src/mame/includes/gbusters.h b/src/mame/includes/gbusters.h
index f8563064da5..a213322029e 100644
--- a/src/mame/includes/gbusters.h
+++ b/src/mame/includes/gbusters.h
@@ -37,6 +37,9 @@ public:
DECLARE_READ8_MEMBER(k052109_051960_r);
DECLARE_WRITE8_MEMBER(k052109_051960_w);
DECLARE_WRITE8_MEMBER(gbusters_snd_bankswitch_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/gbusters.c -----------*/
@@ -44,5 +47,5 @@ public:
extern void gbusters_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags, int *priority);
extern void gbusters_sprite_callback(running_machine &machine, int *code,int *color,int *priority,int *shadow);
-VIDEO_START( gbusters );
+
SCREEN_UPDATE_IND16( gbusters );
diff --git a/src/mame/includes/gcpinbal.h b/src/mame/includes/gcpinbal.h
index 862849482e9..1acbad10df1 100644
--- a/src/mame/includes/gcpinbal.h
+++ b/src/mame/includes/gcpinbal.h
@@ -55,11 +55,14 @@ public:
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/gcpinbal.c -----------*/
-VIDEO_START( gcpinbal );
+
SCREEN_UPDATE_IND16( gcpinbal );
diff --git a/src/mame/includes/gijoe.h b/src/mame/includes/gijoe.h
index 1c6f17b6c68..12e9803360b 100644
--- a/src/mame/includes/gijoe.h
+++ b/src/mame/includes/gijoe.h
@@ -41,6 +41,9 @@ public:
DECLARE_WRITE16_MEMBER(sound_cmd_w);
DECLARE_WRITE16_MEMBER(sound_irq_w);
DECLARE_READ16_MEMBER(sound_status_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/gijoe.c -----------*/
@@ -48,5 +51,5 @@ public:
extern void gijoe_sprite_callback(running_machine &machine, int *code, int *color, int *priority_mask);
extern void gijoe_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags);
-VIDEO_START( gijoe );
+
SCREEN_UPDATE_IND16( gijoe );
diff --git a/src/mame/includes/ginganin.h b/src/mame/includes/ginganin.h
index 904757d9d68..ebf9d09962e 100644
--- a/src/mame/includes/ginganin.h
+++ b/src/mame/includes/ginganin.h
@@ -42,6 +42,9 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_txt_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -49,5 +52,5 @@ public:
/*----------- defined in video/ginganin.c -----------*/
-VIDEO_START( ginganin );
+
SCREEN_UPDATE_IND16( ginganin );
diff --git a/src/mame/includes/gladiatr.h b/src/mame/includes/gladiatr.h
index 315fdeea8f2..75faf3e3291 100644
--- a/src/mame/includes/gladiatr.h
+++ b/src/mame/includes/gladiatr.h
@@ -60,11 +60,15 @@ public:
DECLARE_DRIVER_INIT(ppking);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(fg_get_tile_info);
+ DECLARE_MACHINE_RESET(ppking);
+ DECLARE_VIDEO_START(ppking);
+ DECLARE_MACHINE_RESET(gladiator);
+ DECLARE_VIDEO_START(gladiatr);
};
/*----------- defined in video/gladiatr.c -----------*/
-VIDEO_START( ppking );
+
SCREEN_UPDATE_IND16( ppking );
-VIDEO_START( gladiatr );
+
SCREEN_UPDATE_IND16( gladiatr );
diff --git a/src/mame/includes/glass.h b/src/mame/includes/glass.h
index 30d0f0f4f25..276d6abb848 100644
--- a/src/mame/includes/glass.h
+++ b/src/mame/includes/glass.h
@@ -43,11 +43,14 @@ public:
DECLARE_DRIVER_INIT(glass);
TILE_GET_INFO_MEMBER(get_tile_info_glass_screen0);
TILE_GET_INFO_MEMBER(get_tile_info_glass_screen1);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/glass.c -----------*/
-VIDEO_START( glass );
+
SCREEN_UPDATE_IND16( glass );
diff --git a/src/mame/includes/gng.h b/src/mame/includes/gng.h
index 59ae789c049..46462a65cac 100644
--- a/src/mame/includes/gng.h
+++ b/src/mame/includes/gng.h
@@ -39,11 +39,14 @@ public:
DECLARE_DRIVER_INIT(diamond);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/gng.c -----------*/
-VIDEO_START( gng );
+
SCREEN_UPDATE_IND16( gng );
diff --git a/src/mame/includes/goal92.h b/src/mame/includes/goal92.h
index bbf029752e7..26e70ae57bb 100644
--- a/src/mame/includes/goal92.h
+++ b/src/mame/includes/goal92.h
@@ -48,6 +48,9 @@ public:
TILE_GET_INFO_MEMBER(get_text_tile_info);
TILE_GET_INFO_MEMBER(get_back_tile_info);
TILE_GET_INFO_MEMBER(get_fore_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -57,6 +60,6 @@ public:
/*----------- defined in video/goal92.c -----------*/
-VIDEO_START( goal92 );
+
SCREEN_UPDATE_IND16( goal92 );
SCREEN_VBLANK( goal92 );
diff --git a/src/mame/includes/goindol.h b/src/mame/includes/goindol.h
index d7dd720f01b..846adef7b11 100644
--- a/src/mame/includes/goindol.h
+++ b/src/mame/includes/goindol.h
@@ -44,6 +44,9 @@ public:
DECLARE_DRIVER_INIT(goindol);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -51,5 +54,5 @@ public:
/*----------- defined in video/goindol.c -----------*/
-VIDEO_START( goindol );
+
SCREEN_UPDATE_IND16( goindol );
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index 3d51d8db658..3e376fa3995 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -132,6 +132,15 @@ public:
TILE_GET_INFO_MEMBER(get_unkch_reel1_tile_info);
TILE_GET_INFO_MEMBER(get_unkch_reel2_tile_info);
TILE_GET_INFO_MEMBER(get_unkch_reel3_tile_info);
+ DECLARE_VIDEO_START(goldstar);
+ DECLARE_PALETTE_INIT(cm);
+ DECLARE_VIDEO_START(cherrym);
+ DECLARE_PALETTE_INIT(cmast91);
+ DECLARE_PALETTE_INIT(lucky8);
+ DECLARE_VIDEO_START(bingowng);
+ DECLARE_VIDEO_START(magical);
+ DECLARE_PALETTE_INIT(magodds);
+ DECLARE_VIDEO_START(unkch);
};
@@ -140,11 +149,11 @@ public:
-VIDEO_START( goldstar );
-VIDEO_START( bingowng );
-VIDEO_START( cherrym );
-VIDEO_START( unkch );
-VIDEO_START( magical );
+
+
+
+
+
SCREEN_UPDATE_IND16( goldstar );
SCREEN_UPDATE_IND16( bingowng );
SCREEN_UPDATE_IND16( cmast91 );
diff --git a/src/mame/includes/gomoku.h b/src/mame/includes/gomoku.h
index fe93f8a22f0..c64e3248d69 100644
--- a/src/mame/includes/gomoku.h
+++ b/src/mame/includes/gomoku.h
@@ -23,6 +23,8 @@ public:
DECLARE_WRITE8_MEMBER(gomoku_flipscreen_w);
DECLARE_WRITE8_MEMBER(gomoku_bg_dispsw_w);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -58,7 +60,7 @@ extern const device_type GOMOKU;
/*----------- defined in video/gomoku.c -----------*/
-PALETTE_INIT( gomoku );
-VIDEO_START( gomoku );
+
+
SCREEN_UPDATE_IND16( gomoku );
diff --git a/src/mame/includes/gotcha.h b/src/mame/includes/gotcha.h
index b4f18145cde..700adde88db 100644
--- a/src/mame/includes/gotcha.h
+++ b/src/mame/includes/gotcha.h
@@ -38,12 +38,15 @@ public:
TILEMAP_MAPPER_MEMBER(gotcha_tilemap_scan);
TILE_GET_INFO_MEMBER(fg_get_tile_info);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/gotcha.c -----------*/
-VIDEO_START( gotcha );
+
SCREEN_UPDATE_IND16( gotcha );
diff --git a/src/mame/includes/gottlieb.h b/src/mame/includes/gottlieb.h
index 977492f609f..e851eb9c80c 100644
--- a/src/mame/includes/gottlieb.h
+++ b/src/mame/includes/gottlieb.h
@@ -297,14 +297,18 @@ public:
DECLARE_DRIVER_INIT(stooges);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_screwloo_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(screwloo);
};
/*----------- defined in video/gottlieb.c -----------*/
-VIDEO_START( gottlieb );
-VIDEO_START( screwloo );
+
+
SCREEN_UPDATE_RGB32( gottlieb );
#if USE_FAKE_VOTRAX
diff --git a/src/mame/includes/gotya.h b/src/mame/includes/gotya.h
index 33278051bea..fc92059c0d5 100644
--- a/src/mame/includes/gotya.h
+++ b/src/mame/includes/gotya.h
@@ -33,6 +33,10 @@ public:
DECLARE_WRITE8_MEMBER(gotya_soundlatch_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_thehand);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -43,6 +47,6 @@ public:
/*----------- defined in video/gotya.c -----------*/
-PALETTE_INIT( gotya );
-VIDEO_START( gotya );
+
+
SCREEN_UPDATE_IND16( gotya );
diff --git a/src/mame/includes/gradius3.h b/src/mame/includes/gradius3.h
index e68c3019327..7e75c797905 100644
--- a/src/mame/includes/gradius3.h
+++ b/src/mame/includes/gradius3.h
@@ -45,6 +45,9 @@ public:
DECLARE_READ16_MEMBER(gradius3_gfxrom_r);
DECLARE_WRITE16_MEMBER(gradius3_gfxram_w);
DECLARE_WRITE8_MEMBER(sound_bank_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/gradius3.c -----------*/
@@ -53,5 +56,5 @@ extern void gradius3_sprite_callback(running_machine &machine, int *code,int *co
extern void gradius3_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags,int *priority);
-VIDEO_START( gradius3 );
+
SCREEN_UPDATE_IND16( gradius3 );
diff --git a/src/mame/includes/grchamp.h b/src/mame/includes/grchamp.h
index 6ce5df21057..4aef969b861 100644
--- a/src/mame/includes/grchamp.h
+++ b/src/mame/includes/grchamp.h
@@ -68,6 +68,9 @@ public:
TILE_GET_INFO_MEMBER(get_right_tile_info);
TILE_GET_INFO_MEMBER(get_center_tile_info);
TILEMAP_MAPPER_MEMBER(get_memory_offset);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/* Discrete Sound Input Nodes */
@@ -87,6 +90,6 @@ DISCRETE_SOUND_EXTERN( grchamp );
/*----------- defined in video/grchamp.c -----------*/
-PALETTE_INIT( grchamp );
-VIDEO_START( grchamp );
+
+
SCREEN_UPDATE_RGB32( grchamp );
diff --git a/src/mame/includes/gridlee.h b/src/mame/includes/gridlee.h
index a642efea617..438cd457df2 100644
--- a/src/mame/includes/gridlee.h
+++ b/src/mame/includes/gridlee.h
@@ -51,6 +51,10 @@ public:
DECLARE_WRITE8_MEMBER(gridlee_cocktail_flip_w);
DECLARE_WRITE8_MEMBER(gridlee_videoram_w);
DECLARE_WRITE8_MEMBER(gridlee_palette_select_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -87,7 +91,7 @@ extern const device_type GRIDLEE;
/* video driver data & functions */
-PALETTE_INIT( gridlee );
-VIDEO_START( gridlee );
+
+
SCREEN_UPDATE_IND16( gridlee );
diff --git a/src/mame/includes/groundfx.h b/src/mame/includes/groundfx.h
index fddd4393b33..0edd1b04747 100644
--- a/src/mame/includes/groundfx.h
+++ b/src/mame/includes/groundfx.h
@@ -36,10 +36,11 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(frame_counter_r);
DECLARE_CUSTOM_INPUT_MEMBER(coin_word_r);
DECLARE_DRIVER_INIT(groundfx);
+ virtual void video_start();
};
/*----------- defined in video/groundfx.c -----------*/
-VIDEO_START( groundfx );
+
SCREEN_UPDATE_IND16( groundfx );
diff --git a/src/mame/includes/gstriker.h b/src/mame/includes/gstriker.h
index 92b7045b88b..8b01b101a27 100644
--- a/src/mame/includes/gstriker.h
+++ b/src/mame/includes/gstriker.h
@@ -101,6 +101,9 @@ public:
TILE_GET_INFO_MEMBER(VS920A_get_tile_info);
TILE_GET_INFO_MEMBER(MB60553_get_tile_info);
TILEMAP_MAPPER_MEMBER(twc94_scan);
+ DECLARE_VIDEO_START(gstriker);
+ DECLARE_VIDEO_START(vgoalsoc);
+ DECLARE_VIDEO_START(twrldc94);
};
@@ -108,7 +111,7 @@ public:
SCREEN_UPDATE_IND16( gstriker );
-VIDEO_START( gstriker );
-VIDEO_START( twrldc94 );
-VIDEO_START( vgoalsoc );
+
+
+
#endif
diff --git a/src/mame/includes/gsword.h b/src/mame/includes/gsword.h
index 0ae68b1bd83..8ad28f5dddf 100644
--- a/src/mame/includes/gsword.h
+++ b/src/mame/includes/gsword.h
@@ -40,13 +40,18 @@ public:
DECLARE_DRIVER_INIT(gsword);
DECLARE_DRIVER_INIT(gsword2);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(gsword);
+ DECLARE_PALETTE_INIT(gsword);
+ DECLARE_MACHINE_RESET(josvolly);
+ DECLARE_PALETTE_INIT(josvolly);
};
/*----------- defined in video/gsword.c -----------*/
-PALETTE_INIT( josvolly );
-PALETTE_INIT( gsword );
-VIDEO_START( gsword );
+
+
+
SCREEN_UPDATE_IND16( gsword );
diff --git a/src/mame/includes/gumbo.h b/src/mame/includes/gumbo.h
index 2771f40f265..a8cc7f7f251 100644
--- a/src/mame/includes/gumbo.h
+++ b/src/mame/includes/gumbo.h
@@ -24,11 +24,12 @@ public:
DECLARE_WRITE16_MEMBER(gumbo_fg_videoram_w);
TILE_GET_INFO_MEMBER(get_gumbo_bg_tile_info);
TILE_GET_INFO_MEMBER(get_gumbo_fg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/gumbo.c -----------*/
-VIDEO_START( gumbo );
+
SCREEN_UPDATE_IND16( gumbo );
diff --git a/src/mame/includes/gunbustr.h b/src/mame/includes/gunbustr.h
index a96b18a341a..00adcc7731f 100644
--- a/src/mame/includes/gunbustr.h
+++ b/src/mame/includes/gunbustr.h
@@ -38,10 +38,11 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(coin_word_r);
DECLARE_DRIVER_INIT(gunbustrj);
DECLARE_DRIVER_INIT(gunbustr);
+ virtual void video_start();
};
/*----------- defined in video/gunbustr.c -----------*/
-VIDEO_START( gunbustr );
+
SCREEN_UPDATE_IND16( gunbustr );
diff --git a/src/mame/includes/gundealr.h b/src/mame/includes/gundealr.h
index 959cf9ae801..64863066691 100644
--- a/src/mame/includes/gundealr.h
+++ b/src/mame/includes/gundealr.h
@@ -38,6 +38,9 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILEMAP_MAPPER_MEMBER(gundealr_scan);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -46,4 +49,4 @@ public:
SCREEN_UPDATE_IND16( gundealr );
-VIDEO_START( gundealr );
+
diff --git a/src/mame/includes/gunsmoke.h b/src/mame/includes/gunsmoke.h
index 2c93589e431..6f34b101179 100644
--- a/src/mame/includes/gunsmoke.h
+++ b/src/mame/includes/gunsmoke.h
@@ -36,13 +36,17 @@ public:
DECLARE_WRITE8_MEMBER(gunsmoke_d806_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/gunsmoke.c -----------*/
-PALETTE_INIT( gunsmoke );
-VIDEO_START( gunsmoke );
+
+
SCREEN_UPDATE_IND16( gunsmoke );
diff --git a/src/mame/includes/gyruss.h b/src/mame/includes/gyruss.h
index 1dd7b6189c2..b22c9b29620 100644
--- a/src/mame/includes/gyruss.h
+++ b/src/mame/includes/gyruss.h
@@ -50,11 +50,14 @@ public:
DECLARE_WRITE8_MEMBER(gyruss_filter1_w);
DECLARE_DRIVER_INIT(gyruss);
TILE_GET_INFO_MEMBER(gyruss_get_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/gyruss.c -----------*/
-PALETTE_INIT( gyruss );
-VIDEO_START( gyruss );
+
+
SCREEN_UPDATE_IND16( gyruss );
diff --git a/src/mame/includes/hanaawas.h b/src/mame/includes/hanaawas.h
index d80fe7fa55e..9c4ee04cf49 100644
--- a/src/mame/includes/hanaawas.h
+++ b/src/mame/includes/hanaawas.h
@@ -26,6 +26,10 @@ public:
DECLARE_WRITE8_MEMBER(hanaawas_videoram_w);
DECLARE_WRITE8_MEMBER(hanaawas_colorram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -33,6 +37,6 @@ public:
WRITE8_DEVICE_HANDLER( hanaawas_portB_w );
-PALETTE_INIT( hanaawas );
-VIDEO_START( hanaawas );
+
+
SCREEN_UPDATE_IND16( hanaawas );
diff --git a/src/mame/includes/harddriv.h b/src/mame/includes/harddriv.h
index 324a13e7feb..4f231628332 100644
--- a/src/mame/includes/harddriv.h
+++ b/src/mame/includes/harddriv.h
@@ -214,14 +214,17 @@ public:
DECLARE_DRIVER_INIT(harddriv);
DECLARE_DRIVER_INIT(steeltalp);
DECLARE_DRIVER_INIT(stunrun);
+ DECLARE_MACHINE_START(harddriv);
+ DECLARE_MACHINE_RESET(harddriv);
+ DECLARE_VIDEO_START(harddriv);
};
/*----------- defined in machine/harddriv.c -----------*/
/* Driver/Multisync board */
-MACHINE_START( harddriv );
-MACHINE_RESET( harddriv );
+
+
INTERRUPT_GEN( hd68k_irq_gen );
WRITE16_HANDLER( hd68k_irq_ack_w );
@@ -352,7 +355,7 @@ WRITE16_DEVICE_HANDLER( hdsnddsp_dac_w );
/*----------- defined in video/harddriv.c -----------*/
-VIDEO_START( harddriv );
+
void hdgsp_write_to_shiftreg(address_space *space, UINT32 address, UINT16 *shiftreg);
void hdgsp_read_from_shiftreg(address_space *space, UINT32 address, UINT16 *shiftreg);
diff --git a/src/mame/includes/hcastle.h b/src/mame/includes/hcastle.h
index 9053457f416..0b6e93182b1 100644
--- a/src/mame/includes/hcastle.h
+++ b/src/mame/includes/hcastle.h
@@ -51,12 +51,16 @@ public:
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/hcastle.c -----------*/
-PALETTE_INIT( hcastle );
+
SCREEN_UPDATE_IND16( hcastle );
-VIDEO_START( hcastle );
+
diff --git a/src/mame/includes/hexion.h b/src/mame/includes/hexion.h
index 4a5e176be10..03e57f27b51 100644
--- a/src/mame/includes/hexion.h
+++ b/src/mame/includes/hexion.h
@@ -21,11 +21,12 @@ public:
DECLARE_WRITE_LINE_MEMBER(hexion_nmi_ack_w);
TILE_GET_INFO_MEMBER(get_tile_info0);
TILE_GET_INFO_MEMBER(get_tile_info1);
+ virtual void video_start();
};
/*----------- defined in video/hexion.c -----------*/
-VIDEO_START( hexion );
+
SCREEN_UPDATE_IND16( hexion );
diff --git a/src/mame/includes/higemaru.h b/src/mame/includes/higemaru.h
index dde1e7b2278..9ec141751fb 100644
--- a/src/mame/includes/higemaru.h
+++ b/src/mame/includes/higemaru.h
@@ -24,12 +24,14 @@ public:
DECLARE_WRITE8_MEMBER(higemaru_colorram_w);
DECLARE_WRITE8_MEMBER(higemaru_c800_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/higemaru.c -----------*/
-PALETTE_INIT( higemaru );
-VIDEO_START( higemaru );
+
+
SCREEN_UPDATE_IND16( higemaru );
diff --git a/src/mame/includes/himesiki.h b/src/mame/includes/himesiki.h
index bc9ce4b0442..19aa31a9735 100644
--- a/src/mame/includes/himesiki.h
+++ b/src/mame/includes/himesiki.h
@@ -30,11 +30,14 @@ public:
DECLARE_WRITE8_MEMBER(himesiki_scrollx_w);
DECLARE_WRITE8_MEMBER(himesiki_flip_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/himesiki.c -----------*/
-VIDEO_START( himesiki );
+
SCREEN_UPDATE_IND16( himesiki );
diff --git a/src/mame/includes/hitme.h b/src/mame/includes/hitme.h
index a332aeed642..e648bd2ac3c 100644
--- a/src/mame/includes/hitme.h
+++ b/src/mame/includes/hitme.h
@@ -35,6 +35,10 @@ public:
DECLARE_WRITE8_MEMBER(output_port_0_w);
DECLARE_WRITE8_MEMBER(output_port_1_w);
TILE_GET_INFO_MEMBER(get_hitme_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(barricad);
};
diff --git a/src/mame/includes/hnayayoi.h b/src/mame/includes/hnayayoi.h
index 5c3b7a36bbe..7f1df9d738b 100644
--- a/src/mame/includes/hnayayoi.h
+++ b/src/mame/includes/hnayayoi.h
@@ -32,12 +32,16 @@ public:
DECLARE_WRITE8_MEMBER(adpcm_reset_w);
DECLARE_WRITE8_MEMBER(adpcm_reset_inv_w);
DECLARE_DRIVER_INIT(hnfubuki);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(untoucha);
};
/*----------- defined in video/hnayayoi.c -----------*/
-VIDEO_START( hnayayoi );
-VIDEO_START( untoucha );
+
+
SCREEN_UPDATE_IND16( hnayayoi );
diff --git a/src/mame/includes/hng64.h b/src/mame/includes/hng64.h
index 505d10e3e7e..485df979fe7 100644
--- a/src/mame/includes/hng64.h
+++ b/src/mame/includes/hng64.h
@@ -183,6 +183,9 @@ public:
TILE_GET_INFO_MEMBER(get_hng64_tile2_16x16_info);
TILE_GET_INFO_MEMBER(get_hng64_tile3_8x8_info);
TILE_GET_INFO_MEMBER(get_hng64_tile3_16x16_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -190,6 +193,6 @@ public:
void hng64_command3d(running_machine& machine, const UINT16* packet);
-VIDEO_START( hng64 );
+
SCREEN_UPDATE_RGB32( hng64 );
SCREEN_VBLANK( hng64 );
diff --git a/src/mame/includes/holeland.h b/src/mame/includes/holeland.h
index 41efe94501d..5eca165bba8 100644
--- a/src/mame/includes/holeland.h
+++ b/src/mame/includes/holeland.h
@@ -29,13 +29,15 @@ public:
DECLARE_WRITE8_MEMBER(holeland_flipscreen_w);
TILE_GET_INFO_MEMBER(holeland_get_tile_info);
TILE_GET_INFO_MEMBER(crzrally_get_tile_info);
+ DECLARE_VIDEO_START(holeland);
+ DECLARE_VIDEO_START(crzrally);
};
/*----------- defined in video/holeland.c -----------*/
-VIDEO_START( holeland );
-VIDEO_START( crzrally );
+
+
SCREEN_UPDATE_IND16( holeland );
SCREEN_UPDATE_IND16( crzrally );
diff --git a/src/mame/includes/homedata.h b/src/mame/includes/homedata.h
index dc5c158a136..38c50b1c169 100644
--- a/src/mame/includes/homedata.h
+++ b/src/mame/includes/homedata.h
@@ -105,6 +105,21 @@ public:
TILE_GET_INFO_MEMBER(mirderby_get_info1_0);
TILE_GET_INFO_MEMBER(mirderby_get_info0_1);
TILE_GET_INFO_MEMBER(mirderby_get_info1_1);
+ DECLARE_MACHINE_START(homedata);
+ DECLARE_MACHINE_RESET(homedata);
+ DECLARE_VIDEO_START(mrokumei);
+ DECLARE_PALETTE_INIT(mrokumei);
+ DECLARE_MACHINE_START(reikaids);
+ DECLARE_MACHINE_RESET(reikaids);
+ DECLARE_VIDEO_START(reikaids);
+ DECLARE_PALETTE_INIT(reikaids);
+ DECLARE_MACHINE_START(pteacher);
+ DECLARE_MACHINE_RESET(pteacher);
+ DECLARE_VIDEO_START(pteacher);
+ DECLARE_PALETTE_INIT(pteacher);
+ DECLARE_VIDEO_START(mirderby);
+ DECLARE_PALETTE_INIT(mirderby);
+ DECLARE_VIDEO_START(lemnangl);
};
@@ -112,16 +127,16 @@ public:
/*----------- defined in video/homedata.c -----------*/
-PALETTE_INIT( mrokumei );
-PALETTE_INIT( reikaids );
-PALETTE_INIT( pteacher );
-PALETTE_INIT( mirderby );
-VIDEO_START( mrokumei );
-VIDEO_START( reikaids );
-VIDEO_START( pteacher );
-VIDEO_START( lemnangl );
-VIDEO_START( mirderby );
+
+
+
+
+
+
+
+
+
SCREEN_UPDATE_IND16( mrokumei );
SCREEN_UPDATE_IND16( reikaids );
SCREEN_UPDATE_IND16( pteacher );
diff --git a/src/mame/includes/homerun.h b/src/mame/includes/homerun.h
index 594bd9505a1..a68a4a91ac9 100644
--- a/src/mame/includes/homerun.h
+++ b/src/mame/includes/homerun.h
@@ -49,6 +49,9 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(ganjaja_hopper_status_r);
TILE_GET_INFO_MEMBER(get_homerun_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -56,5 +59,5 @@ public:
WRITE8_DEVICE_HANDLER( homerun_banking_w );
-VIDEO_START(homerun);
+
SCREEN_UPDATE_IND16(homerun);
diff --git a/src/mame/includes/hyhoo.h b/src/mame/includes/hyhoo.h
index 8830da5d825..0c143720801 100644
--- a/src/mame/includes/hyhoo.h
+++ b/src/mame/includes/hyhoo.h
@@ -22,11 +22,12 @@ public:
DECLARE_WRITE8_MEMBER(hyhoo_romsel_w);
DECLARE_DRIVER_INIT(hyhoo2);
DECLARE_DRIVER_INIT(hyhoo);
+ virtual void video_start();
};
/*----------- defined in video/hyhoo.c -----------*/
SCREEN_UPDATE_RGB32( hyhoo );
-VIDEO_START( hyhoo );
+
diff --git a/src/mame/includes/hyperspt.h b/src/mame/includes/hyperspt.h
index 7af7682d6cf..f9260d05736 100644
--- a/src/mame/includes/hyperspt.h
+++ b/src/mame/includes/hyperspt.h
@@ -39,13 +39,16 @@ public:
DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(roadf_get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(roadf);
};
/*----------- defined in video/hyperspt.c -----------*/
-PALETTE_INIT( hyperspt );
-VIDEO_START( hyperspt );
+
+
SCREEN_UPDATE_IND16( hyperspt );
-VIDEO_START( roadf );
+
diff --git a/src/mame/includes/hyprduel.h b/src/mame/includes/hyprduel.h
index 4c2accb1d14..1e4dda27e78 100644
--- a/src/mame/includes/hyprduel.h
+++ b/src/mame/includes/hyprduel.h
@@ -83,6 +83,12 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_0_8bit);
TILE_GET_INFO_MEMBER(get_tile_info_1_8bit);
TILE_GET_INFO_MEMBER(get_tile_info_2_8bit);
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(hyprduel);
+ DECLARE_VIDEO_START(hyprduel_14220);
+ DECLARE_MACHINE_START(magerror);
+ DECLARE_VIDEO_START(magerror_14220);
+ DECLARE_VIDEO_START(common_14220);
};
@@ -91,6 +97,6 @@ public:
-VIDEO_START( hyprduel_14220 );
-VIDEO_START( magerror_14220 );
+
+
SCREEN_UPDATE_IND16( hyprduel );
diff --git a/src/mame/includes/ikki.h b/src/mame/includes/ikki.h
index 2eb2e9ba401..fb1eee520e7 100644
--- a/src/mame/includes/ikki.h
+++ b/src/mame/includes/ikki.h
@@ -31,12 +31,16 @@ public:
DECLARE_READ8_MEMBER(ikki_e000_r);
DECLARE_WRITE8_MEMBER(ikki_coin_counters);
DECLARE_WRITE8_MEMBER(ikki_scrn_ctrl_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/ikki.c -----------*/
-PALETTE_INIT( ikki );
-VIDEO_START( ikki );
+
+
SCREEN_UPDATE_IND16( ikki );
diff --git a/src/mame/includes/inufuku.h b/src/mame/includes/inufuku.h
index 601372b70ca..76e104a51d5 100644
--- a/src/mame/includes/inufuku.h
+++ b/src/mame/includes/inufuku.h
@@ -46,6 +46,9 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(soundflag_r);
TILE_GET_INFO_MEMBER(get_inufuku_bg_tile_info);
TILE_GET_INFO_MEMBER(get_inufuku_tx_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -53,4 +56,4 @@ public:
SCREEN_UPDATE_IND16( inufuku );
-VIDEO_START( inufuku );
+
diff --git a/src/mame/includes/iqblock.h b/src/mame/includes/iqblock.h
index 697784b804d..081042cec65 100644
--- a/src/mame/includes/iqblock.h
+++ b/src/mame/includes/iqblock.h
@@ -28,11 +28,12 @@ public:
DECLARE_DRIVER_INIT(iqblock);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/iqblock.c -----------*/
-VIDEO_START( iqblock );
+
SCREEN_UPDATE_IND16( iqblock );
diff --git a/src/mame/includes/irobot.h b/src/mame/includes/irobot.h
index cf677b3b7e0..b8cacd80035 100644
--- a/src/mame/includes/irobot.h
+++ b/src/mame/includes/irobot.h
@@ -74,11 +74,14 @@ public:
DECLARE_READ8_MEMBER(irobot_status_r);
DECLARE_WRITE8_MEMBER(irobot_paletteram_w);
DECLARE_DRIVER_INIT(irobot);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in machine/irobot.c -----------*/
-MACHINE_RESET( irobot );
+
TIMER_DEVICE_CALLBACK( irobot_irvg_done_callback );
TIMER_DEVICE_CALLBACK( irobot_irmb_done_callback );
@@ -87,8 +90,8 @@ TIMER_DEVICE_CALLBACK( irobot_irmb_done_callback );
/*----------- defined in video/irobot.c -----------*/
-PALETTE_INIT( irobot );
-VIDEO_START( irobot );
+
+
SCREEN_UPDATE_IND16( irobot );
diff --git a/src/mame/includes/ironhors.h b/src/mame/includes/ironhors.h
index b6a651fe8a0..75f9bd652b3 100644
--- a/src/mame/includes/ironhors.h
+++ b/src/mame/includes/ironhors.h
@@ -43,14 +43,19 @@ public:
DECLARE_READ8_MEMBER(farwest_soundlatch_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(farwest_get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(farwest);
};
/*----------- defined in video/ironhors.c -----------*/
-PALETTE_INIT( ironhors );
-VIDEO_START( ironhors );
+
+
SCREEN_UPDATE_IND16( ironhors );
-VIDEO_START( farwest );
+
SCREEN_UPDATE_IND16( farwest );
diff --git a/src/mame/includes/itech32.h b/src/mame/includes/itech32.h
index 7dd8de95e21..921aa219df6 100644
--- a/src/mame/includes/itech32.h
+++ b/src/mame/includes/itech32.h
@@ -154,6 +154,9 @@ public:
DECLARE_DRIVER_INIT(timekill);
DECLARE_DRIVER_INIT(gt3d);
DECLARE_DRIVER_INIT(gt3dl);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(drivedge);
};
@@ -164,7 +167,7 @@ void itech32_update_interrupts(running_machine &machine, int vint, int xint, int
/*----------- defined in video/itech32.c -----------*/
-VIDEO_START( itech32 );
+
diff --git a/src/mame/includes/itech8.h b/src/mame/includes/itech8.h
index d7def93a1c2..82087689489 100644
--- a/src/mame/includes/itech8.h
+++ b/src/mame/includes/itech8.h
@@ -85,6 +85,10 @@ public:
DECLARE_DRIVER_INIT(arligntn);
DECLARE_DRIVER_INIT(hstennis);
DECLARE_DRIVER_INIT(sstrike);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(slikshot);
+ DECLARE_MACHINE_START(sstrike);
};
@@ -102,13 +106,13 @@ READ8_HANDLER( slikshot_z80_r );
READ8_HANDLER( slikshot_z80_control_r );
WRITE8_HANDLER( slikshot_z80_control_w );
-VIDEO_START( slikshot );
+
SCREEN_UPDATE_RGB32( slikshot );
/*----------- defined in video/itech8.c -----------*/
-VIDEO_START( itech8 );
+
diff --git a/src/mame/includes/jack.h b/src/mame/includes/jack.h
index fcad472a7ea..cf8b956c04b 100644
--- a/src/mame/includes/jack.h
+++ b/src/mame/includes/jack.h
@@ -50,15 +50,20 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILEMAP_MAPPER_MEMBER(tilemap_scan_cols_flipy);
TILE_GET_INFO_MEMBER(joinem_get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(joinem);
+ DECLARE_PALETTE_INIT(joinem);
};
/*----------- defined in video/jack.c -----------*/
-VIDEO_START( jack );
+
SCREEN_UPDATE_IND16( jack );
-PALETTE_INIT( joinem );
-VIDEO_START( joinem );
+
+
SCREEN_UPDATE_IND16( joinem );
diff --git a/src/mame/includes/jackal.h b/src/mame/includes/jackal.h
index 9a4f3d981bb..6ed63b00196 100644
--- a/src/mame/includes/jackal.h
+++ b/src/mame/includes/jackal.h
@@ -38,6 +38,10 @@ public:
DECLARE_WRITE8_MEMBER(jackal_voram_w);
DECLARE_WRITE8_MEMBER(jackal_spriteram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -45,6 +49,6 @@ public:
void jackal_mark_tile_dirty(running_machine &machine, int offset);
-PALETTE_INIT( jackal );
-VIDEO_START( jackal );
+
+
SCREEN_UPDATE_IND16( jackal );
diff --git a/src/mame/includes/jailbrek.h b/src/mame/includes/jailbrek.h
index 78d028a8008..0c13bfa3ca1 100644
--- a/src/mame/includes/jailbrek.h
+++ b/src/mame/includes/jailbrek.h
@@ -38,12 +38,16 @@ public:
DECLARE_WRITE8_MEMBER(jailbrek_speech_w);
DECLARE_DRIVER_INIT(jailbrek);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/jailbrek.c -----------*/
-PALETTE_INIT( jailbrek );
-VIDEO_START( jailbrek );
+
+
SCREEN_UPDATE_IND16( jailbrek );
diff --git a/src/mame/includes/jedi.h b/src/mame/includes/jedi.h
index c6b9ee710c7..b5d4fc7ca49 100644
--- a/src/mame/includes/jedi.h
+++ b/src/mame/includes/jedi.h
@@ -73,6 +73,9 @@ public:
DECLARE_WRITE8_MEMBER(speech_strobe_w);
DECLARE_READ8_MEMBER(speech_ready_r);
DECLARE_WRITE8_MEMBER(speech_reset_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(jedi);
};
diff --git a/src/mame/includes/jpmimpct.h b/src/mame/includes/jpmimpct.h
index 1ebba11791f..7429fcaa78b 100644
--- a/src/mame/includes/jpmimpct.h
+++ b/src/mame/includes/jpmimpct.h
@@ -103,6 +103,11 @@ public:
DECLARE_WRITE8_MEMBER(payen_a_w);
DECLARE_WRITE8_MEMBER(display_c_w);
DECLARE_DRIVER_INIT(j6fbcrz);
+ DECLARE_MACHINE_START(jpmimpct);
+ DECLARE_MACHINE_RESET(jpmimpct);
+ DECLARE_VIDEO_START(jpmimpct);
+ DECLARE_MACHINE_START(impctawp);
+ DECLARE_MACHINE_RESET(impctawp);
};
@@ -113,4 +118,4 @@ void jpmimpct_to_shiftreg(address_space *space, UINT32 address, UINT16 *shiftreg
void jpmimpct_from_shiftreg(address_space *space, UINT32 address, UINT16 *shiftreg);
void jpmimpct_scanline_update(screen_device &screen, bitmap_rgb32 &bitmap, int scanline, const tms34010_display_params *params);
-VIDEO_START( jpmimpct );
+
diff --git a/src/mame/includes/kaneko16.h b/src/mame/includes/kaneko16.h
index 5a5ab686f6f..e4a2a694f3b 100644
--- a/src/mame/includes/kaneko16.h
+++ b/src/mame/includes/kaneko16.h
@@ -60,6 +60,9 @@ public:
DECLARE_DRIVER_INIT(samplebank);
+ DECLARE_MACHINE_RESET(gtmr);
+ DECLARE_VIDEO_START(kaneko16);
+ DECLARE_MACHINE_RESET(mgcrystl);
};
class kaneko16_gtmr_state : public kaneko16_state
@@ -107,7 +110,8 @@ public:
DECLARE_WRITE16_MEMBER(kaneko16_bg15_reg_w);
DECLARE_DRIVER_INIT(berlwall);
-
+ DECLARE_PALETTE_INIT(berlwall);
+ DECLARE_VIDEO_START(berlwall);
};
class kaneko16_shogwarr_state : public kaneko16_state
@@ -130,14 +134,14 @@ public:
/*----------- defined in drivers/kaneko16.c -----------*/
-MACHINE_RESET( kaneko16 );
+
/*----------- defined in video/kaneko16.c -----------*/
-PALETTE_INIT( berlwall );
-VIDEO_START( kaneko16 );
-VIDEO_START( berlwall );
+
+
+
SCREEN_UPDATE_IND16( kaneko16 );
SCREEN_UPDATE_IND16( berlwall );
diff --git a/src/mame/includes/kangaroo.h b/src/mame/includes/kangaroo.h
index b2acc91a8ad..6981d38d718 100644
--- a/src/mame/includes/kangaroo.h
+++ b/src/mame/includes/kangaroo.h
@@ -26,6 +26,10 @@ public:
DECLARE_WRITE8_MEMBER(kangaroo_coin_counter_w);
DECLARE_WRITE8_MEMBER(kangaroo_videoram_w);
DECLARE_WRITE8_MEMBER(kangaroo_video_control_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_START(kangaroo_mcu);
};
@@ -33,6 +37,6 @@ public:
/*----------- defined in video/kangaroo.c -----------*/
-VIDEO_START( kangaroo );
+
SCREEN_UPDATE_RGB32( kangaroo );
diff --git a/src/mame/includes/karnov.h b/src/mame/includes/karnov.h
index 49484e605bb..7508c24f824 100644
--- a/src/mame/includes/karnov.h
+++ b/src/mame/includes/karnov.h
@@ -52,6 +52,11 @@ public:
DECLARE_DRIVER_INIT(chelnovj);
DECLARE_DRIVER_INIT(chelnov);
TILE_GET_INFO_MEMBER(get_fix_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(karnov);
+ DECLARE_VIDEO_START(wndrplnt);
};
enum {
@@ -69,7 +74,7 @@ enum {
void karnov_flipscreen_w(running_machine &machine, int data);
-PALETTE_INIT( karnov );
-VIDEO_START( karnov );
-VIDEO_START( wndrplnt );
+
+
+
SCREEN_UPDATE_IND16( karnov );
diff --git a/src/mame/includes/kchamp.h b/src/mame/includes/kchamp.h
index 5fffb7fdbbb..d74e95a085a 100644
--- a/src/mame/includes/kchamp.h
+++ b/src/mame/includes/kchamp.h
@@ -43,13 +43,18 @@ public:
DECLARE_DRIVER_INIT(kchampvs);
DECLARE_DRIVER_INIT(kchampvs2);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(kchampvs);
+ DECLARE_MACHINE_START(kchamp);
};
/*----------- defined in video/kchamp.c -----------*/
-PALETTE_INIT( kchamp );
-VIDEO_START( kchamp );
+
+
SCREEN_UPDATE_IND16( kchamp );
SCREEN_UPDATE_IND16( kchampvs );
diff --git a/src/mame/includes/kickgoal.h b/src/mame/includes/kickgoal.h
index 82c1aa8167d..2fa7101d350 100644
--- a/src/mame/includes/kickgoal.h
+++ b/src/mame/includes/kickgoal.h
@@ -70,12 +70,16 @@ public:
TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksbg);
TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksbg2);
TILEMAP_MAPPER_MEMBER(tilemap_scan_actionhwbg2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(kickgoal);
+ DECLARE_VIDEO_START(actionhw);
};
/*----------- defined in video/kickgoal.c -----------*/
-VIDEO_START( actionhw );
-VIDEO_START( kickgoal );
+
+
SCREEN_UPDATE_IND16( kickgoal );
diff --git a/src/mame/includes/kingobox.h b/src/mame/includes/kingobox.h
index a0178164a6f..22497c4a47e 100644
--- a/src/mame/includes/kingobox.h
+++ b/src/mame/includes/kingobox.h
@@ -50,16 +50,22 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(ringking_get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(kingofb);
+ DECLARE_PALETTE_INIT(kingofb);
+ DECLARE_VIDEO_START(ringking);
+ DECLARE_PALETTE_INIT(ringking);
};
/*----------- defined in video/kingobox.c -----------*/
-PALETTE_INIT( kingofb );
-VIDEO_START( kingofb );
+
+
SCREEN_UPDATE_IND16( kingofb );
-PALETTE_INIT( ringking );
-VIDEO_START( ringking );
+
+
SCREEN_UPDATE_IND16( ringking );
diff --git a/src/mame/includes/klax.h b/src/mame/includes/klax.h
index 3861a147c24..1788fb9f293 100644
--- a/src/mame/includes/klax.h
+++ b/src/mame/includes/klax.h
@@ -13,6 +13,9 @@ public:
: atarigen_state(mconfig, type, tag) { }
DECLARE_WRITE16_MEMBER(interrupt_ack_w);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(klax);
+ DECLARE_MACHINE_RESET(klax);
+ DECLARE_VIDEO_START(klax);
};
@@ -20,5 +23,5 @@ public:
WRITE16_HANDLER( klax_latch_w );
-VIDEO_START( klax );
+
SCREEN_UPDATE_IND16( klax );
diff --git a/src/mame/includes/kncljoe.h b/src/mame/includes/kncljoe.h
index b49acd6b411..d477826ef72 100644
--- a/src/mame/includes/kncljoe.h
+++ b/src/mame/includes/kncljoe.h
@@ -41,6 +41,10 @@ public:
DECLARE_READ8_MEMBER(m6803_port2_r);
DECLARE_WRITE8_MEMBER(unused_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -48,6 +52,6 @@ public:
/*----------- defined in video/kncljoe.c -----------*/
-PALETTE_INIT( kncljoe );
-VIDEO_START( kncljoe );
+
+
SCREEN_UPDATE_IND16( kncljoe );
diff --git a/src/mame/includes/konamigx.h b/src/mame/includes/konamigx.h
index 91017dae6ea..f8f70462fad 100644
--- a/src/mame/includes/konamigx.h
+++ b/src/mame/includes/konamigx.h
@@ -61,6 +61,20 @@ public:
TILE_GET_INFO_MEMBER(get_gx_psac3_alt_tile_info);
TILE_GET_INFO_MEMBER(get_gx_psac1a_tile_info);
TILE_GET_INFO_MEMBER(get_gx_psac1b_tile_info);
+ DECLARE_MACHINE_START(konamigx);
+ DECLARE_MACHINE_RESET(konamigx);
+ DECLARE_VIDEO_START(konamigx_5bpp);
+ DECLARE_VIDEO_START(dragoonj);
+ DECLARE_VIDEO_START(le2);
+ DECLARE_VIDEO_START(konamigx_6bpp);
+ DECLARE_VIDEO_START(konamigx_6bpp_2);
+ DECLARE_VIDEO_START(opengolf);
+ DECLARE_VIDEO_START(racinfrc);
+ DECLARE_VIDEO_START(konamigx_type3);
+ DECLARE_VIDEO_START(konamigx_type4);
+ DECLARE_VIDEO_START(konamigx_type4_vsn);
+ DECLARE_VIDEO_START(konamigx_type4_sd2);
+ DECLARE_VIDEO_START(winspike);
};
@@ -134,18 +148,18 @@ void konamigx_mixer_primode(int mode);
void konamigx_objdma(void);
extern UINT16 *K053247_ram;
-VIDEO_START(konamigx_5bpp);
-VIDEO_START(konamigx_6bpp);
-VIDEO_START(konamigx_6bpp_2);
-VIDEO_START(konamigx_type3);
-VIDEO_START(konamigx_type4);
-VIDEO_START(konamigx_type4_sd2);
-VIDEO_START(konamigx_type4_vsn);
-VIDEO_START(le2);
-VIDEO_START(dragoonj);
-VIDEO_START(winspike);
-VIDEO_START(opengolf);
-VIDEO_START(racinfrc);
+
+
+
+
+
+
+
+
+
+
+
+
SCREEN_UPDATE_RGB32(konamigx);
SCREEN_UPDATE_RGB32(konamigx_left);
SCREEN_UPDATE_RGB32(konamigx_right);
diff --git a/src/mame/includes/kopunch.h b/src/mame/includes/kopunch.h
index 6f8a8cfa9f8..eea6782bcac 100644
--- a/src/mame/includes/kopunch.h
+++ b/src/mame/includes/kopunch.h
@@ -38,11 +38,15 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(right_coin_inserted);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/kopunch.c -----------*/
-PALETTE_INIT( kopunch );
-VIDEO_START( kopunch );
+
+
SCREEN_UPDATE_IND16( kopunch );
diff --git a/src/mame/includes/ksayakyu.h b/src/mame/includes/ksayakyu.h
index 658281bc7c9..45b48c4c671 100644
--- a/src/mame/includes/ksayakyu.h
+++ b/src/mame/includes/ksayakyu.h
@@ -35,11 +35,15 @@ public:
DECLARE_WRITE8_MEMBER(dummy3_w);
TILE_GET_INFO_MEMBER(get_ksayakyu_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/ksayakyu.c -----------*/
-PALETTE_INIT( ksayakyu );
-VIDEO_START( ksayakyu );
+
+
SCREEN_UPDATE_IND16( ksayakyu );
diff --git a/src/mame/includes/kyugo.h b/src/mame/includes/kyugo.h
index bd24ae87004..53be22eeae5 100644
--- a/src/mame/includes/kyugo.h
+++ b/src/mame/includes/kyugo.h
@@ -55,6 +55,9 @@ public:
DECLARE_DRIVER_INIT(gyrodine);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -62,5 +65,5 @@ public:
-VIDEO_START( kyugo );
+
SCREEN_UPDATE_IND16( kyugo );
diff --git a/src/mame/includes/labyrunr.h b/src/mame/includes/labyrunr.h
index 252166ba374..a83a6084ef2 100644
--- a/src/mame/includes/labyrunr.h
+++ b/src/mame/includes/labyrunr.h
@@ -38,6 +38,9 @@ public:
DECLARE_WRITE8_MEMBER(labyrunr_vram2_w);
TILE_GET_INFO_MEMBER(get_tile_info0);
TILE_GET_INFO_MEMBER(get_tile_info1);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -45,6 +48,6 @@ public:
-PALETTE_INIT( labyrunr );
-VIDEO_START( labyrunr );
+
+
SCREEN_UPDATE_IND16( labyrunr );
diff --git a/src/mame/includes/ladybug.h b/src/mame/includes/ladybug.h
index b694c06e8fb..95f5cefe82e 100644
--- a/src/mame/includes/ladybug.h
+++ b/src/mame/includes/ladybug.h
@@ -65,18 +65,29 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_grid_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ DECLARE_MACHINE_START(ladybug);
+ DECLARE_VIDEO_START(ladybug);
+ DECLARE_PALETTE_INIT(ladybug);
+ DECLARE_MACHINE_START(sraider);
+ DECLARE_MACHINE_RESET(sraider);
+ DECLARE_VIDEO_START(sraider);
+ DECLARE_PALETTE_INIT(sraider);
+ DECLARE_MACHINE_START(redclash);
+ DECLARE_MACHINE_RESET(redclash);
+ DECLARE_VIDEO_START(redclash);
+ DECLARE_PALETTE_INIT(redclash);
};
/*----------- defined in video/ladybug.c -----------*/
-PALETTE_INIT( ladybug );
-VIDEO_START( ladybug );
+
+
SCREEN_UPDATE_IND16( ladybug );
-PALETTE_INIT( sraider );
-VIDEO_START( sraider );
+
+
SCREEN_UPDATE_IND16( sraider );
SCREEN_VBLANK( sraider );
@@ -91,8 +102,8 @@ WRITE8_HANDLER( redclash_star1_w );
WRITE8_HANDLER( redclash_star2_w );
WRITE8_HANDLER( redclash_star_reset_w );
-PALETTE_INIT( redclash );
-VIDEO_START( redclash );
+
+
SCREEN_UPDATE_IND16( redclash );
SCREEN_VBLANK( redclash );
diff --git a/src/mame/includes/ladyfrog.h b/src/mame/includes/ladyfrog.h
index 35c3515e307..e1bfdc30c70 100644
--- a/src/mame/includes/ladyfrog.h
+++ b/src/mame/includes/ladyfrog.h
@@ -53,6 +53,11 @@ public:
DECLARE_WRITE8_MEMBER(ladyfrog_scrlram_w);
DECLARE_WRITE8_MEMBER(unk_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(toucheme);
+ DECLARE_VIDEO_START(ladyfrog_common);
};
@@ -60,6 +65,6 @@ public:
-VIDEO_START( ladyfrog );
-VIDEO_START( toucheme );
+
+
SCREEN_UPDATE_IND16( ladyfrog );
diff --git a/src/mame/includes/laserbat.h b/src/mame/includes/laserbat.h
index b11c5c7ebeb..ef186bdce48 100644
--- a/src/mame/includes/laserbat.h
+++ b/src/mame/includes/laserbat.h
@@ -78,6 +78,9 @@ public:
DECLARE_WRITE8_MEMBER(zaccaria_port0a_w);
DECLARE_WRITE8_MEMBER(zaccaria_port0b_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mame/includes/lasso.h b/src/mame/includes/lasso.h
index d6540610f5d..ba82d3cab88 100644
--- a/src/mame/includes/lasso.h
+++ b/src/mame/includes/lasso.h
@@ -57,18 +57,27 @@ public:
TILE_GET_INFO_MEMBER(lasso_get_bg_tile_info);
TILE_GET_INFO_MEMBER(wwjgtin_get_track_tile_info);
TILE_GET_INFO_MEMBER(pinbo_get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(wwjgtin);
+ DECLARE_MACHINE_RESET(wwjgtin);
+ DECLARE_VIDEO_START(wwjgtin);
+ DECLARE_PALETTE_INIT(wwjgtin);
+ DECLARE_VIDEO_START(pinbo);
};
/*----------- defined in video/lasso.c -----------*/
-PALETTE_INIT( lasso );
-PALETTE_INIT( wwjgtin );
-VIDEO_START( lasso );
-VIDEO_START( wwjgtin );
-VIDEO_START( pinbo );
+
+
+
+
+
SCREEN_UPDATE_IND16( lasso );
SCREEN_UPDATE_IND16( chameleo );
diff --git a/src/mame/includes/lastduel.h b/src/mame/includes/lastduel.h
index 16e14f5e1dc..fbab77a587e 100644
--- a/src/mame/includes/lastduel.h
+++ b/src/mame/includes/lastduel.h
@@ -53,12 +53,17 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_fix_info);
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(lastduel);
+ DECLARE_VIDEO_START(lastduel);
+ DECLARE_MACHINE_START(madgear);
+ DECLARE_VIDEO_START(madgear);
};
/*----------- defined in video/lastduel.c -----------*/
-VIDEO_START( lastduel );
-VIDEO_START( madgear );
+
+
SCREEN_UPDATE_IND16( lastduel );
SCREEN_UPDATE_IND16( madgear );
diff --git a/src/mame/includes/lazercmd.h b/src/mame/includes/lazercmd.h
index 54f599f93e7..e46cf6d923e 100644
--- a/src/mame/includes/lazercmd.h
+++ b/src/mame/includes/lazercmd.h
@@ -53,6 +53,9 @@ public:
DECLARE_DRIVER_INIT(lazercmd);
DECLARE_DRIVER_INIT(bbonk);
DECLARE_DRIVER_INIT(medlanes);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
diff --git a/src/mame/includes/legionna.h b/src/mame/includes/legionna.h
index c2515d2892d..e8865efdd61 100644
--- a/src/mame/includes/legionna.h
+++ b/src/mame/includes/legionna.h
@@ -44,6 +44,11 @@ public:
TILE_GET_INFO_MEMBER(get_fore_tile_info);
TILE_GET_INFO_MEMBER(get_fore_tile_info_denji);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ DECLARE_VIDEO_START(legionna);
+ DECLARE_VIDEO_START(godzilla);
+ DECLARE_VIDEO_START(denjinmk);
+ DECLARE_VIDEO_START(grainbow);
+ DECLARE_VIDEO_START(cupsoc);
};
@@ -52,11 +57,11 @@ public:
void heatbrl_setgfxbank(running_machine &machine, UINT16 data);
void denjinmk_setgfxbank(running_machine &machine, UINT16 data);
-VIDEO_START( legionna );
-VIDEO_START( cupsoc );
-VIDEO_START( denjinmk );
-VIDEO_START( grainbow );
-VIDEO_START( godzilla );
+
+
+
+
+
SCREEN_UPDATE_IND16( legionna );
SCREEN_UPDATE_IND16( godzilla );
SCREEN_UPDATE_IND16( grainbow );
diff --git a/src/mame/includes/leland.h b/src/mame/includes/leland.h
index e1e0bbafc70..434ea584d87 100644
--- a/src/mame/includes/leland.h
+++ b/src/mame/includes/leland.h
@@ -134,6 +134,12 @@ public:
DECLARE_DRIVER_INIT(indyheat);
DECLARE_DRIVER_INIT(brutforc);
DECLARE_DRIVER_INIT(asylum);
+ DECLARE_MACHINE_START(ataxx);
+ DECLARE_MACHINE_RESET(ataxx);
+ DECLARE_MACHINE_START(leland);
+ DECLARE_MACHINE_RESET(leland);
+ DECLARE_VIDEO_START(leland);
+ DECLARE_VIDEO_START(ataxx);
};
@@ -152,10 +158,10 @@ public:
-MACHINE_START( leland );
-MACHINE_RESET( leland );
-MACHINE_START( ataxx );
-MACHINE_RESET( ataxx );
+
+
+
+
INTERRUPT_GEN( leland_master_interrupt );
diff --git a/src/mame/includes/lemmings.h b/src/mame/includes/lemmings.h
index 29fdc2a51a1..ed0c779437d 100644
--- a/src/mame/includes/lemmings.h
+++ b/src/mame/includes/lemmings.h
@@ -41,13 +41,15 @@ public:
DECLARE_WRITE16_MEMBER(lemmings_pixel_1_w);
DECLARE_WRITE16_MEMBER(lemmings_vram_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/lemmings.c -----------*/
-VIDEO_START( lemmings );
+
SCREEN_VBLANK( lemmings );
SCREEN_UPDATE_RGB32( lemmings );
diff --git a/src/mame/includes/lethal.h b/src/mame/includes/lethal.h
index ed0a027c6b3..cb45a1b31cc 100644
--- a/src/mame/includes/lethal.h
+++ b/src/mame/includes/lethal.h
@@ -36,6 +36,9 @@ public:
DECLARE_READ8_MEMBER(gunsaux_r);
DECLARE_WRITE8_MEMBER(lethalen_palette_control);
DECLARE_DRIVER_INIT(lethalen);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/lethal.c -----------*/
@@ -44,5 +47,5 @@ extern void lethalen_sprite_callback(running_machine &machine, int *code, int *c
extern void lethalen_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags);
-VIDEO_START(lethalen);
+
SCREEN_UPDATE_IND16(lethalen);
diff --git a/src/mame/includes/lethalj.h b/src/mame/includes/lethalj.h
index cb8669d7116..1481c8f7e50 100644
--- a/src/mame/includes/lethalj.h
+++ b/src/mame/includes/lethalj.h
@@ -28,13 +28,14 @@ public:
DECLARE_DRIVER_INIT(cfarm);
DECLARE_DRIVER_INIT(ripribit);
DECLARE_DRIVER_INIT(cclownz);
+ virtual void video_start();
};
/*----------- defined in video/lethalj.c -----------*/
-VIDEO_START( lethalj );
+
void lethalj_scanline_update(screen_device &screen, bitmap_ind16 &bitmap, int scanline, const tms34010_display_params *params);
diff --git a/src/mame/includes/liberate.h b/src/mame/includes/liberate.h
index d683e133184..f626820cb33 100644
--- a/src/mame/includes/liberate.h
+++ b/src/mame/includes/liberate.h
@@ -56,19 +56,26 @@ public:
TILE_GET_INFO_MEMBER(get_back_tile_info);
TILE_GET_INFO_MEMBER(get_fix_tile_info);
TILE_GET_INFO_MEMBER(prosport_get_back_tile_info);
+ DECLARE_MACHINE_START(liberate);
+ DECLARE_MACHINE_RESET(liberate);
+ DECLARE_VIDEO_START(liberate);
+ DECLARE_PALETTE_INIT(liberate);
+ DECLARE_VIDEO_START(prosport);
+ DECLARE_VIDEO_START(boomrang);
+ DECLARE_VIDEO_START(prosoccr);
};
/*----------- defined in video/liberate.c -----------*/
-PALETTE_INIT( liberate );
+
SCREEN_UPDATE_IND16( prosoccr );
SCREEN_UPDATE_IND16( prosport );
SCREEN_UPDATE_IND16( liberate );
SCREEN_UPDATE_IND16( boomrang );
-VIDEO_START( prosoccr );
-VIDEO_START( prosport );
-VIDEO_START( boomrang );
-VIDEO_START( liberate );
+
+
+
+
diff --git a/src/mame/includes/lkage.h b/src/mame/includes/lkage.h
index 2fd0568233c..755521ee5f1 100644
--- a/src/mame/includes/lkage.h
+++ b/src/mame/includes/lkage.h
@@ -79,6 +79,9 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in machine/lkage.c -----------*/
@@ -87,6 +90,6 @@ public:
/*----------- defined in video/lkage.c -----------*/
-VIDEO_START( lkage );
+
SCREEN_UPDATE_IND16( lkage );
diff --git a/src/mame/includes/lockon.h b/src/mame/includes/lockon.h
index 372671a3b08..b353e4cb969 100644
--- a/src/mame/includes/lockon.h
+++ b/src/mame/includes/lockon.h
@@ -99,13 +99,17 @@ public:
DECLARE_WRITE8_MEMBER(sound_vol);
DECLARE_WRITE8_MEMBER(ym2203_out_b);
TILE_GET_INFO_MEMBER(get_lockon_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/lockon.c -----------*/
-PALETTE_INIT( lockon );
-VIDEO_START( lockon );
+
+
SCREEN_UPDATE_IND16( lockon );
SCREEN_VBLANK( lockon );
diff --git a/src/mame/includes/lordgun.h b/src/mame/includes/lordgun.h
index 2a22a769b61..2d8884d4907 100644
--- a/src/mame/includes/lordgun.h
+++ b/src/mame/includes/lordgun.h
@@ -63,6 +63,7 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_1);
TILE_GET_INFO_MEMBER(get_tile_info_2);
TILE_GET_INFO_MEMBER(get_tile_info_3);
+ virtual void video_start();
};
@@ -72,5 +73,5 @@ public:
float lordgun_crosshair_mapper(const ioport_field *field, float linear_value);
void lordgun_update_gun(running_machine &machine, int i);
-VIDEO_START( lordgun );
+
SCREEN_UPDATE_IND16( lordgun );
diff --git a/src/mame/includes/lsasquad.h b/src/mame/includes/lsasquad.h
index 67aae1834ae..711418c0c58 100644
--- a/src/mame/includes/lsasquad.h
+++ b/src/mame/includes/lsasquad.h
@@ -57,6 +57,8 @@ public:
DECLARE_READ8_MEMBER(lsasquad_mcu_status_r);
DECLARE_READ8_MEMBER(daikaiju_mcu_status_r);
DECLARE_WRITE8_MEMBER(unk);
+ DECLARE_MACHINE_START(lsasquad);
+ DECLARE_MACHINE_RESET(lsasquad);
};
/*----------- defined in machine/lsasquad.c -----------*/
diff --git a/src/mame/includes/lucky74.h b/src/mame/includes/lucky74.h
index d54452833b3..25ff273b753 100644
--- a/src/mame/includes/lucky74.h
+++ b/src/mame/includes/lucky74.h
@@ -37,11 +37,13 @@ public:
DECLARE_WRITE8_MEMBER(lamps_b_w);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/lucky74.c -----------*/
-PALETTE_INIT( lucky74 );
-VIDEO_START( lucky74 );
+
+
SCREEN_UPDATE_IND16( lucky74 );
diff --git a/src/mame/includes/lvcards.h b/src/mame/includes/lvcards.h
index 79c41a3a140..7476ef8d5af 100644
--- a/src/mame/includes/lvcards.h
+++ b/src/mame/includes/lvcards.h
@@ -18,13 +18,18 @@ public:
DECLARE_WRITE8_MEMBER(lvcards_videoram_w);
DECLARE_WRITE8_MEMBER(lvcards_colorram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(lvpoker);
+ DECLARE_MACHINE_RESET(lvpoker);
+ DECLARE_PALETTE_INIT(ponttehk);
};
/*----------- defined in video/lvcards.c -----------*/
-PALETTE_INIT( lvcards );
-PALETTE_INIT( ponttehk );
-VIDEO_START( lvcards );
+
+
+
SCREEN_UPDATE_IND16( lvcards );
diff --git a/src/mame/includes/lwings.h b/src/mame/includes/lwings.h
index f9c4310776b..9862966ec8c 100644
--- a/src/mame/includes/lwings.h
+++ b/src/mame/includes/lwings.h
@@ -53,14 +53,19 @@ public:
TILE_GET_INFO_MEMBER(lwings_get_bg1_tile_info);
TILE_GET_INFO_MEMBER(trojan_get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(trojan);
+ DECLARE_VIDEO_START(avengers);
};
/*----------- defined in video/lwings.c -----------*/
-VIDEO_START( lwings );
-VIDEO_START( trojan );
-VIDEO_START( avengers );
+
+
+
SCREEN_UPDATE_IND16( lwings );
SCREEN_UPDATE_IND16( trojan );
diff --git a/src/mame/includes/m10.h b/src/mame/includes/m10.h
index 740c80bbcba..1b0ba989117 100644
--- a/src/mame/includes/m10.h
+++ b/src/mame/includes/m10.h
@@ -81,6 +81,11 @@ public:
DECLARE_DRIVER_INIT(ipminva1);
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(get_tile_info);
+ DECLARE_MACHINE_START(m10);
+ DECLARE_MACHINE_RESET(m10);
+ DECLARE_VIDEO_START(m10);
+ DECLARE_PALETTE_INIT(m10);
+ DECLARE_VIDEO_START(m15);
};
@@ -91,5 +96,5 @@ public:
SCREEN_UPDATE_IND16( m10 );
SCREEN_UPDATE_IND16( m15 );
-VIDEO_START( m10 );
-VIDEO_START( m15 );
+
+
diff --git a/src/mame/includes/m107.h b/src/mame/includes/m107.h
index 01027aea311..b7d439faa25 100644
--- a/src/mame/includes/m107.h
+++ b/src/mame/includes/m107.h
@@ -48,10 +48,12 @@ public:
DECLARE_DRIVER_INIT(dsoccr94);
DECLARE_DRIVER_INIT(wpksoc);
TILE_GET_INFO_MEMBER(get_pf_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/m107.c -----------*/
SCREEN_UPDATE_IND16( m107 );
-VIDEO_START( m107 );
+
diff --git a/src/mame/includes/m52.h b/src/mame/includes/m52.h
index af1ea802cac..c39aff93fcc 100644
--- a/src/mame/includes/m52.h
+++ b/src/mame/includes/m52.h
@@ -31,11 +31,14 @@ public:
DECLARE_WRITE8_MEMBER(m52_flipscreen_w);
DECLARE_WRITE8_MEMBER(alpha1v_flipscreen_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/m52.c -----------*/
-PALETTE_INIT( m52 );
-VIDEO_START( m52 );
+
+
SCREEN_UPDATE_IND16( m52 );
diff --git a/src/mame/includes/m57.h b/src/mame/includes/m57.h
index b42d25d8581..2471f0ec430 100644
--- a/src/mame/includes/m57.h
+++ b/src/mame/includes/m57.h
@@ -18,11 +18,13 @@ public:
DECLARE_WRITE8_MEMBER(m57_videoram_w);
DECLARE_WRITE8_MEMBER(m57_flipscreen_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/m57.c -----------*/
-PALETTE_INIT( m57 );
-VIDEO_START( m57 );
+
+
SCREEN_UPDATE_IND16( m57 );
diff --git a/src/mame/includes/m58.h b/src/mame/includes/m58.h
index feb1621e3a1..11f0041f3fa 100644
--- a/src/mame/includes/m58.h
+++ b/src/mame/includes/m58.h
@@ -28,11 +28,13 @@ public:
DECLARE_DRIVER_INIT(yard85);
TILE_GET_INFO_MEMBER(yard_get_bg_tile_info);
TILEMAP_MAPPER_MEMBER(yard_tilemap_scan_rows);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/m58.c -----------*/
-PALETTE_INIT( yard );
-VIDEO_START( yard );
+
+
SCREEN_UPDATE_IND16( yard );
diff --git a/src/mame/includes/m62.h b/src/mame/includes/m62.h
index fb2a743cf2a..fb7f1a57006 100644
--- a/src/mame/includes/m62.h
+++ b/src/mame/includes/m62.h
@@ -78,6 +78,23 @@ public:
TILE_GET_INFO_MEMBER(get_youjyudn_bg_tile_info);
TILE_GET_INFO_MEMBER(get_youjyudn_fg_tile_info);
TILE_GET_INFO_MEMBER(get_horizon_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(kungfum);
+ DECLARE_VIDEO_START(battroad);
+ DECLARE_PALETTE_INIT(battroad);
+ DECLARE_VIDEO_START(ldrun2);
+ DECLARE_VIDEO_START(ldrun4);
+ DECLARE_VIDEO_START(lotlot);
+ DECLARE_PALETTE_INIT(lotlot);
+ DECLARE_VIDEO_START(kidniki);
+ DECLARE_VIDEO_START(spelunkr);
+ DECLARE_VIDEO_START(spelunk2);
+ DECLARE_PALETTE_INIT(spelunk2);
+ DECLARE_VIDEO_START(youjyudn);
+ DECLARE_VIDEO_START(horizon);
};
@@ -85,22 +102,22 @@ public:
-PALETTE_INIT( m62 );
-PALETTE_INIT( lotlot );
-PALETTE_INIT( battroad );
-PALETTE_INIT( spelunk2 );
-VIDEO_START( battroad );
-VIDEO_START( horizon );
-VIDEO_START( kidniki );
-VIDEO_START( kungfum );
-VIDEO_START( ldrun );
-VIDEO_START( ldrun2 );
-VIDEO_START( ldrun4 );
-VIDEO_START( lotlot );
-VIDEO_START( spelunkr );
-VIDEO_START( spelunk2 );
-VIDEO_START( youjyudn );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SCREEN_UPDATE_IND16( battroad );
SCREEN_UPDATE_IND16( horizon );
diff --git a/src/mame/includes/m72.h b/src/mame/includes/m72.h
index 13e61171b4c..81c618b63b2 100644
--- a/src/mame/includes/m72.h
+++ b/src/mame/includes/m72.h
@@ -103,18 +103,30 @@ public:
TILE_GET_INFO_MEMBER(rtype2_get_bg_tile_info);
TILE_GET_INFO_MEMBER(rtype2_get_fg_tile_info);
TILEMAP_MAPPER_MEMBER(majtitle_scan_rows);
+ DECLARE_MACHINE_START(m72);
+ DECLARE_MACHINE_RESET(m72);
+ DECLARE_VIDEO_START(m72);
+ DECLARE_MACHINE_RESET(xmultipl);
+ DECLARE_VIDEO_START(xmultipl);
+ DECLARE_VIDEO_START(hharry);
+ DECLARE_VIDEO_START(rtype2);
+ DECLARE_VIDEO_START(majtitle);
+ DECLARE_VIDEO_START(hharryu);
+ DECLARE_VIDEO_START(poundfor);
+ DECLARE_MACHINE_START(kengo);
+ DECLARE_MACHINE_RESET(kengo);
};
/*----------- defined in video/m72.c -----------*/
-VIDEO_START( m72 );
-VIDEO_START( rtype2 );
-VIDEO_START( majtitle );
-VIDEO_START( hharry );
-VIDEO_START( poundfor );
-VIDEO_START( xmultipl );
-VIDEO_START( hharryu );
+
+
+
+
+
+
+
SCREEN_UPDATE_IND16( m72 );
diff --git a/src/mame/includes/m90.h b/src/mame/includes/m90.h
index 2c2f0d23398..36e178f6e6f 100644
--- a/src/mame/includes/m90.h
+++ b/src/mame/includes/m90.h
@@ -36,14 +36,18 @@ public:
TILE_GET_INFO_MEMBER(dynablsb_get_pf1w_tile_info);
TILE_GET_INFO_MEMBER(dynablsb_get_pf2_tile_info);
TILE_GET_INFO_MEMBER(dynablsb_get_pf2w_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ DECLARE_VIDEO_START(bomblord);
+ DECLARE_VIDEO_START(dynablsb);
};
/*----------- defined in video/m90.c -----------*/
-VIDEO_START( m90 );
-VIDEO_START( dynablsb );
-VIDEO_START( bomblord );
+
+
+
SCREEN_UPDATE_IND16( m90 );
SCREEN_UPDATE_IND16( dynablsb );
SCREEN_UPDATE_IND16( bomblord );
diff --git a/src/mame/includes/m92.h b/src/mame/includes/m92.h
index 5954d0e2be3..f8a58ee4ca2 100644
--- a/src/mame/includes/m92.h
+++ b/src/mame/includes/m92.h
@@ -71,6 +71,10 @@ public:
DECLARE_DRIVER_INIT(m92);
DECLARE_DRIVER_INIT(m92_bank);
TILE_GET_INFO_MEMBER(get_pf_tile_info);
+ DECLARE_MACHINE_START(m92);
+ DECLARE_MACHINE_RESET(m92);
+ DECLARE_VIDEO_START(m92);
+ DECLARE_VIDEO_START(ppan);
};
@@ -82,7 +86,7 @@ extern void m92_sprite_interrupt(running_machine &machine);
/*----------- defined in video/m92.c -----------*/
-VIDEO_START( m92 );
+
SCREEN_UPDATE_IND16( m92 );
-VIDEO_START( ppan );
+
SCREEN_UPDATE_IND16( ppan );
diff --git a/src/mame/includes/macrossp.h b/src/mame/includes/macrossp.h
index 4dcca1896a7..6cabf8ef32f 100644
--- a/src/mame/includes/macrossp.h
+++ b/src/mame/includes/macrossp.h
@@ -68,11 +68,14 @@ public:
TILE_GET_INFO_MEMBER(get_macrossp_scrb_tile_info);
TILE_GET_INFO_MEMBER(get_macrossp_scrc_tile_info);
TILE_GET_INFO_MEMBER(get_macrossp_text_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/macrossp.c -----------*/
-VIDEO_START(macrossp);
+
SCREEN_UPDATE_RGB32(macrossp);
SCREEN_VBLANK(macrossp);
diff --git a/src/mame/includes/madalien.h b/src/mame/includes/madalien.h
index 6f3ffdf087d..b9642cdd760 100644
--- a/src/mame/includes/madalien.h
+++ b/src/mame/includes/madalien.h
@@ -60,6 +60,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_BG_1);
TILE_GET_INFO_MEMBER(get_tile_info_BG_2);
TILE_GET_INFO_MEMBER(get_tile_info_FG);
+ DECLARE_VIDEO_START(madalien);
+ DECLARE_PALETTE_INIT(madalien);
};
diff --git a/src/mame/includes/madmotor.h b/src/mame/includes/madmotor.h
index beb525c0258..e24e8f5e51b 100644
--- a/src/mame/includes/madmotor.h
+++ b/src/mame/includes/madmotor.h
@@ -23,10 +23,13 @@ public:
cpu_device *m_audiocpu;
DECLARE_WRITE16_MEMBER(madmotor_sound_w);
DECLARE_DRIVER_INIT(madmotor);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/madmotor.c -----------*/
-VIDEO_START( madmotor );
+
SCREEN_UPDATE_IND16( madmotor );
diff --git a/src/mame/includes/magmax.h b/src/mame/includes/magmax.h
index b46d2e8818b..95e9a1623ee 100644
--- a/src/mame/includes/magmax.h
+++ b/src/mame/includes/magmax.h
@@ -29,11 +29,15 @@ public:
DECLARE_WRITE16_MEMBER(magmax_vreg_w);
DECLARE_WRITE8_MEMBER(ay8910_portB_0_w);
DECLARE_WRITE8_MEMBER(ay8910_portA_0_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/magmax.c -----------*/
-PALETTE_INIT( magmax );
+
SCREEN_UPDATE_IND16( magmax );
-VIDEO_START( magmax );
+
diff --git a/src/mame/includes/mainevt.h b/src/mame/includes/mainevt.h
index e2879d4a9f5..784fca40f10 100644
--- a/src/mame/includes/mainevt.h
+++ b/src/mame/includes/mainevt.h
@@ -39,6 +39,10 @@ public:
DECLARE_WRITE8_MEMBER(k052109_051960_w);
DECLARE_READ8_MEMBER(mainevt_sh_busy_r);
DECLARE_WRITE8_MEMBER(dv_sh_bankswitch_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(mainevt);
+ DECLARE_VIDEO_START(dv);
};
/*----------- defined in video/mainevt.c -----------*/
@@ -48,8 +52,8 @@ extern void dv_tile_callback(running_machine &machine, int layer,int bank,int *c
extern void mainevt_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask,int *shadow);
extern void dv_sprite_callback(running_machine &machine, int *code,int *color,int *priority,int *shadow);
-VIDEO_START( mainevt );
-VIDEO_START( dv );
+
+
SCREEN_UPDATE_IND16( mainevt );
SCREEN_UPDATE_IND16( dv );
diff --git a/src/mame/includes/mainsnk.h b/src/mame/includes/mainsnk.h
index bb70b19bedc..5bda13459e2 100644
--- a/src/mame/includes/mainsnk.h
+++ b/src/mame/includes/mainsnk.h
@@ -25,11 +25,13 @@ public:
TILEMAP_MAPPER_MEMBER(marvins_tx_scan_cols);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/mainsnk.c -----------*/
-PALETTE_INIT(mainsnk);
-VIDEO_START(mainsnk);
+
+
SCREEN_UPDATE_IND16(mainsnk);
diff --git a/src/mame/includes/malzak.h b/src/mame/includes/malzak.h
index dc172400aa9..098d0e9eb50 100644
--- a/src/mame/includes/malzak.h
+++ b/src/mame/includes/malzak.h
@@ -31,6 +31,9 @@ public:
DECLARE_WRITE8_MEMBER(portc0_w);
DECLARE_READ8_MEMBER(collision_r);
DECLARE_WRITE8_MEMBER(malzak_playfield_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
diff --git a/src/mame/includes/mappy.h b/src/mame/includes/mappy.h
index 28f28cb0200..18a8c6d8eb5 100644
--- a/src/mame/includes/mappy.h
+++ b/src/mame/includes/mappy.h
@@ -39,18 +39,28 @@ public:
TILE_GET_INFO_MEMBER(superpac_get_tile_info);
TILE_GET_INFO_MEMBER(phozon_get_tile_info);
TILE_GET_INFO_MEMBER(mappy_get_tile_info);
+ DECLARE_MACHINE_START(mappy);
+ DECLARE_MACHINE_RESET(superpac);
+ DECLARE_VIDEO_START(superpac);
+ DECLARE_PALETTE_INIT(superpac);
+ DECLARE_MACHINE_RESET(phozon);
+ DECLARE_VIDEO_START(phozon);
+ DECLARE_PALETTE_INIT(phozon);
+ DECLARE_MACHINE_RESET(mappy);
+ DECLARE_VIDEO_START(mappy);
+ DECLARE_PALETTE_INIT(mappy);
};
/*----------- defined in video/mappy.c -----------*/
-VIDEO_START( phozon );
-PALETTE_INIT( phozon );
+
+
SCREEN_UPDATE_IND16( phozon );
-PALETTE_INIT( superpac );
-PALETTE_INIT( mappy );
-VIDEO_START( superpac );
-VIDEO_START( mappy );
+
+
+
+
SCREEN_UPDATE_IND16( superpac );
SCREEN_UPDATE_IND16( mappy );
diff --git a/src/mame/includes/marineb.h b/src/mame/includes/marineb.h
index 2842b7817ef..82f49c003ec 100644
--- a/src/mame/includes/marineb.h
+++ b/src/mame/includes/marineb.h
@@ -34,14 +34,19 @@ public:
DECLARE_WRITE8_MEMBER(marineb_flipscreen_x_w);
DECLARE_WRITE8_MEMBER(marineb_flipscreen_y_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_RESET(springer);
};
/*----------- defined in video/marineb.c -----------*/
-PALETTE_INIT( marineb );
-VIDEO_START( marineb );
+
+
SCREEN_UPDATE_IND16( marineb );
SCREEN_UPDATE_IND16( changes );
SCREEN_UPDATE_IND16( springer );
diff --git a/src/mame/includes/mario.h b/src/mame/includes/mario.h
index 447eb41f9aa..26207f78fbe 100644
--- a/src/mame/includes/mario.h
+++ b/src/mame/includes/mario.h
@@ -79,13 +79,15 @@ public:
DECLARE_WRITE8_MEMBER(mario_sh3_w);
DECLARE_WRITE8_MEMBER(mario_z80dma_rdy_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/mario.c -----------*/
-PALETTE_INIT( mario );
-VIDEO_START( mario );
+
+
SCREEN_UPDATE_IND16( mario );
diff --git a/src/mame/includes/markham.h b/src/mame/includes/markham.h
index 1eb05442164..06121c50f20 100644
--- a/src/mame/includes/markham.h
+++ b/src/mame/includes/markham.h
@@ -24,12 +24,14 @@ public:
DECLARE_WRITE8_MEMBER(markham_videoram_w);
DECLARE_WRITE8_MEMBER(markham_flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/markham.c -----------*/
-PALETTE_INIT( markham );
-VIDEO_START( markham );
+
+
SCREEN_UPDATE_IND16( markham );
diff --git a/src/mame/includes/matmania.h b/src/mame/includes/matmania.h
index 502a7cb131c..59f2f7d3d4b 100644
--- a/src/mame/includes/matmania.h
+++ b/src/mame/includes/matmania.h
@@ -54,6 +54,11 @@ public:
DECLARE_WRITE8_MEMBER(matmania_sh_command_w);
DECLARE_WRITE8_MEMBER(maniach_sh_command_w);
DECLARE_WRITE8_MEMBER(matmania_paletteram_w);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(matmania);
+ DECLARE_MACHINE_START(maniach);
+ DECLARE_MACHINE_RESET(maniach);
};
/*----------- defined in machine/maniach.c -----------*/
@@ -74,7 +79,7 @@ READ8_HANDLER( maniach_mcu_status_r );
/*----------- defined in video/matmania.c -----------*/
-PALETTE_INIT( matmania );
+
SCREEN_UPDATE_IND16( maniach );
-VIDEO_START( matmania );
+
SCREEN_UPDATE_IND16( matmania );
diff --git a/src/mame/includes/mcatadv.h b/src/mame/includes/mcatadv.h
index c65e3f503b6..0aee1ae9e8e 100644
--- a/src/mame/includes/mcatadv.h
+++ b/src/mame/includes/mcatadv.h
@@ -39,11 +39,13 @@ public:
DECLARE_WRITE16_MEMBER(mcatadv_videoram2_w);
TILE_GET_INFO_MEMBER(get_mcatadv_tile_info1);
TILE_GET_INFO_MEMBER(get_mcatadv_tile_info2);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/mcatadv.c -----------*/
SCREEN_UPDATE_IND16( mcatadv );
-VIDEO_START( mcatadv );
+
SCREEN_VBLANK( mcatadv );
diff --git a/src/mame/includes/mcr.h b/src/mame/includes/mcr.h
index 3a7115f6974..95f5a7f4ae0 100644
--- a/src/mame/includes/mcr.h
+++ b/src/mame/includes/mcr.h
@@ -96,6 +96,10 @@ public:
TILE_GET_INFO_MEMBER(mcr_90009_get_tile_info);
TILE_GET_INFO_MEMBER(mcr_90010_get_tile_info);
TILE_GET_INFO_MEMBER(mcr_91490_get_tile_info);
+ DECLARE_MACHINE_START(mcr);
+ DECLARE_MACHINE_RESET(mcr);
+ DECLARE_VIDEO_START(mcr);
+ DECLARE_MACHINE_START(nflfoot);
};
@@ -120,9 +124,9 @@ extern const gfx_layout mcr_sprite_layout;
extern UINT32 mcr_cpu_board;
extern UINT32 mcr_sprite_board;
-MACHINE_START( mcr );
-MACHINE_RESET( mcr );
-MACHINE_START( nflfoot );
+
+
+
TIMER_DEVICE_CALLBACK( mcr_interrupt );
TIMER_DEVICE_CALLBACK( mcr_ipu_interrupt );
@@ -135,7 +139,7 @@ TIMER_DEVICE_CALLBACK( mcr_ipu_interrupt );
extern INT8 mcr12_sprite_xoffs;
extern INT8 mcr12_sprite_xoffs_flip;
-VIDEO_START( mcr );
+
diff --git a/src/mame/includes/mcr3.h b/src/mame/includes/mcr3.h
index baafe136458..4cf71a137c8 100644
--- a/src/mame/includes/mcr3.h
+++ b/src/mame/includes/mcr3.h
@@ -60,16 +60,19 @@ public:
TILEMAP_MAPPER_MEMBER(spyhunt_bg_scan);
TILE_GET_INFO_MEMBER(spyhunt_get_bg_tile_info);
TILE_GET_INFO_MEMBER(spyhunt_get_alpha_tile_info);
+ DECLARE_VIDEO_START(mcrmono);
+ DECLARE_VIDEO_START(spyhunt);
+ DECLARE_PALETTE_INIT(spyhunt);
};
/*----------- defined in video/mcr3.c -----------*/
-VIDEO_START( mcrmono );
-VIDEO_START( spyhunt );
-PALETTE_INIT( spyhunt );
+
+
+
SCREEN_UPDATE_IND16( mcr3 );
SCREEN_UPDATE_IND16( spyhunt );
diff --git a/src/mame/includes/mcr68.h b/src/mame/includes/mcr68.h
index c75fae3a16d..f785b4e1c02 100644
--- a/src/mame/includes/mcr68.h
+++ b/src/mame/includes/mcr68.h
@@ -90,6 +90,12 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(zwackery_get_bg_tile_info);
TILE_GET_INFO_MEMBER(zwackery_get_fg_tile_info);
+ DECLARE_MACHINE_START(zwackery);
+ DECLARE_MACHINE_RESET(zwackery);
+ DECLARE_VIDEO_START(zwackery);
+ DECLARE_MACHINE_START(mcr68);
+ DECLARE_MACHINE_RESET(mcr68);
+ DECLARE_VIDEO_START(mcr68);
};
/*----------- defined in machine/mcr68.c -----------*/
@@ -99,10 +105,10 @@ extern const pia6821_interface zwackery_pia1_intf;
extern const pia6821_interface zwackery_pia2_intf;
-MACHINE_START( mcr68 );
-MACHINE_RESET( mcr68 );
-MACHINE_START( zwackery );
-MACHINE_RESET( zwackery );
+
+
+
+
INTERRUPT_GEN( mcr68_interrupt );
@@ -111,9 +117,9 @@ INTERRUPT_GEN( mcr68_interrupt );
/*----------- defined in video/mcr68.c -----------*/
-VIDEO_START( mcr68 );
+
SCREEN_UPDATE_IND16( mcr68 );
-VIDEO_START( zwackery );
+
SCREEN_UPDATE_IND16( zwackery );
diff --git a/src/mame/includes/meadows.h b/src/mame/includes/meadows.h
index ce4c02af3aa..4c5227f6ec3 100644
--- a/src/mame/includes/meadows.h
+++ b/src/mame/includes/meadows.h
@@ -43,6 +43,8 @@ public:
DECLARE_DRIVER_INIT(minferno);
DECLARE_DRIVER_INIT(gypsyjug);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -55,6 +57,6 @@ void meadows_sh_update(running_machine &machine);
/*----------- defined in video/meadows.c -----------*/
-VIDEO_START( meadows );
+
SCREEN_UPDATE_IND16( meadows );
diff --git a/src/mame/includes/megadriv.h b/src/mame/includes/megadriv.h
index 0e62083a6be..0a24994ad7f 100644
--- a/src/mame/includes/megadriv.h
+++ b/src/mame/includes/megadriv.h
@@ -270,6 +270,10 @@ public:
DECLARE_DRIVER_INIT(pclubjv4);
DECLARE_DRIVER_INIT(pclubjv5);
void segac2_common_init(running_machine& machine, int (*func)(int in));
+ DECLARE_VIDEO_START(segac2_new);
+ DECLARE_MACHINE_START(segac2);
+ DECLARE_MACHINE_RESET(segac2);
+
};
class mplay_state : public md_base_state
@@ -306,6 +310,8 @@ public:
UINT16 *m_ic36_ram;
DECLARE_WRITE_LINE_MEMBER( int_callback );
DECLARE_DRIVER_INIT(megaplay);
+ DECLARE_VIDEO_START(megplay);
+ DECLARE_MACHINE_RESET(megaplay);
};
class mtech_state : public md_base_state
@@ -339,6 +345,8 @@ public:
UINT8* m_megatech_banked_ram;
DECLARE_DRIVER_INIT(mt_crt);
DECLARE_DRIVER_INIT(mt_slot);
+ DECLARE_VIDEO_START(mtnew);
+ DECLARE_MACHINE_RESET(mtnew);
};
typedef struct _megadriv_cart megadriv_cart;
@@ -390,14 +398,6 @@ public:
};
-class pico_state : public md_cons_state
-{
-public:
- pico_state(const machine_config &mconfig, device_type type, const char *tag)
- : md_cons_state(mconfig, type, tag) { }
-
- UINT8 m_page_register;
-};
class mdsvp_state : public md_cons_state
{
diff --git a/src/mame/includes/megasys1.h b/src/mame/includes/megasys1.h
index 7d1865ffa03..d8106359d3c 100644
--- a/src/mame/includes/megasys1.h
+++ b/src/mame/includes/megasys1.h
@@ -106,16 +106,20 @@ public:
TILEMAP_MAPPER_MEMBER(megasys1_scan_16x16);
TILE_GET_INFO_MEMBER(megasys1_get_scroll_tile_info_8x8);
TILE_GET_INFO_MEMBER(megasys1_get_scroll_tile_info_16x16);
+ DECLARE_MACHINE_RESET(megasys1);
+ DECLARE_VIDEO_START(megasys1);
+ DECLARE_PALETTE_INIT(megasys1);
+ DECLARE_MACHINE_RESET(megasys1_hachoo);
};
/*----------- defined in video/megasys1.c -----------*/
-VIDEO_START( megasys1 );
+
SCREEN_UPDATE_IND16( megasys1 );
SCREEN_VBLANK( megasys1 );
-PALETTE_INIT( megasys1 );
+
diff --git a/src/mame/includes/megazone.h b/src/mame/includes/megazone.h
index 2547412fd3b..78fb6dfdaf4 100644
--- a/src/mame/includes/megazone.h
+++ b/src/mame/includes/megazone.h
@@ -47,6 +47,10 @@ public:
DECLARE_READ8_MEMBER(megazone_port_a_r);
DECLARE_WRITE8_MEMBER(megazone_port_b_w);
DECLARE_DRIVER_INIT(megazone);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -54,6 +58,6 @@ public:
/*----------- defined in video/megazone.c -----------*/
-PALETTE_INIT( megazone );
-VIDEO_START( megazone );
+
+
SCREEN_UPDATE_IND16( megazone );
diff --git a/src/mame/includes/mermaid.h b/src/mame/includes/mermaid.h
index 9a0bb44d8f5..2b2a0729639 100644
--- a/src/mame/includes/mermaid.h
+++ b/src/mame/includes/mermaid.h
@@ -72,6 +72,11 @@ public:
DECLARE_READ8_MEMBER(mermaid_collision_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(rougien);
};
@@ -79,8 +84,8 @@ public:
/*----------- defined in video/mermaid.c -----------*/
-PALETTE_INIT( mermaid );
-PALETTE_INIT( rougien );
-VIDEO_START( mermaid );
+
+
+
SCREEN_UPDATE_IND16( mermaid );
SCREEN_VBLANK( mermaid );
diff --git a/src/mame/includes/metalmx.h b/src/mame/includes/metalmx.h
index bbd9ceb3d83..382c20ead1f 100644
--- a/src/mame/includes/metalmx.h
+++ b/src/mame/includes/metalmx.h
@@ -46,4 +46,6 @@ public:
DECLARE_WRITE32_MEMBER(host_vram_w);
DECLARE_WRITE32_MEMBER(timer_w);
DECLARE_DRIVER_INIT(metalmx);
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mame/includes/metlclsh.h b/src/mame/includes/metlclsh.h
index c1a7126404c..9494549d9ae 100644
--- a/src/mame/includes/metlclsh.h
+++ b/src/mame/includes/metlclsh.h
@@ -46,11 +46,14 @@ public:
TILEMAP_MAPPER_MEMBER(metlclsh_bgtilemap_scan);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/metlclsh.c -----------*/
-VIDEO_START( metlclsh );
+
SCREEN_UPDATE_IND16( metlclsh );
diff --git a/src/mame/includes/metro.h b/src/mame/includes/metro.h
index 91398221313..eaf76144a2b 100644
--- a/src/mame/includes/metro.h
+++ b/src/mame/includes/metro.h
@@ -154,17 +154,24 @@ public:
TILE_GET_INFO_MEMBER(metro_k053936_get_tile_info);
TILE_GET_INFO_MEMBER(metro_k053936_gstrik2_get_tile_info);
TILEMAP_MAPPER_MEMBER(tilemap_scan_gstrik2);
+ DECLARE_MACHINE_START(metro);
+ DECLARE_MACHINE_RESET(metro);
+ DECLARE_VIDEO_START(metro_i4220);
+ DECLARE_VIDEO_START(metro_i4100);
+ DECLARE_VIDEO_START(metro_i4300);
+ DECLARE_VIDEO_START(blzntrnd);
+ DECLARE_VIDEO_START(gstrik2);
};
/*----------- defined in video/metro.c -----------*/
-VIDEO_START( metro_i4100 );
-VIDEO_START( metro_i4220 );
-VIDEO_START( metro_i4300 );
-VIDEO_START( blzntrnd );
-VIDEO_START( gstrik2 );
+
+
+
+
+
SCREEN_UPDATE_IND16( metro );
diff --git a/src/mame/includes/mexico86.h b/src/mame/includes/mexico86.h
index be84b81c66a..ec3cafac569 100644
--- a/src/mame/includes/mexico86.h
+++ b/src/mame/includes/mexico86.h
@@ -51,6 +51,8 @@ public:
DECLARE_WRITE8_MEMBER(mexico86_68705_ddr_b_w);
DECLARE_WRITE8_MEMBER(mexico86_bankswitch_w);
DECLARE_READ8_MEMBER(kiki_ym2203_r);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/mhavoc.h b/src/mame/includes/mhavoc.h
index 2e58eb6444c..d4bfaf59ec0 100644
--- a/src/mame/includes/mhavoc.h
+++ b/src/mame/includes/mhavoc.h
@@ -60,6 +60,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(alpha_xmtd_r);
DECLARE_CUSTOM_INPUT_MEMBER(clock_r);
DECLARE_DRIVER_INIT(mhavocrv);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -68,7 +70,7 @@ public:
TIMER_DEVICE_CALLBACK( mhavoc_cpu_irq_clock );
-MACHINE_START( mhavoc );
-MACHINE_RESET( mhavoc );
+
+
diff --git a/src/mame/includes/micro3d.h b/src/mame/includes/micro3d.h
index dfcb903b967..cbc7ae979d7 100644
--- a/src/mame/includes/micro3d.h
+++ b/src/mame/includes/micro3d.h
@@ -111,6 +111,9 @@ public:
DECLARE_READ8_MEMBER(micro3d_sound_io_r);
DECLARE_DRIVER_INIT(micro3d);
DECLARE_DRIVER_INIT(botss);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void video_reset();
};
typedef struct _micro3d_vtx_
@@ -126,7 +129,7 @@ UINT8 micro3d_duart_input_r(device_t *device);
void micro3d_duart_output_w(device_t *device, UINT8 data);
void micro3d_duart_tx(device_t *device, int channel, UINT8 data);
-MACHINE_RESET( micro3d );
+
/*----------- defined in audio/micro3d.c -----------*/
@@ -163,8 +166,8 @@ extern const device_type MICRO3D;
/*----------- defined in video/micro3d.c -----------*/
-VIDEO_START( micro3d );
-VIDEO_RESET( micro3d );
+
+
void micro3d_tms_interrupt(device_t *device, int state);
void micro3d_scanline_update(screen_device &screen, bitmap_ind16 &bitmap, int scanline, const tms34010_display_params *params);
diff --git a/src/mame/includes/midtunit.h b/src/mame/includes/midtunit.h
index 5545e6653be..39b7bb3f024 100644
--- a/src/mame/includes/midtunit.h
+++ b/src/mame/includes/midtunit.h
@@ -63,6 +63,8 @@ public:
DECLARE_DRIVER_INIT(nbajam);
DECLARE_DRIVER_INIT(jdreddp);
DECLARE_DRIVER_INIT(mk2);
+ DECLARE_MACHINE_RESET(midtunit);
+ DECLARE_VIDEO_START(midtunit);
};
/*----------- defined in machine/midtunit.c -----------*/
@@ -70,7 +72,7 @@ public:
-MACHINE_RESET( midtunit );
+
@@ -78,9 +80,9 @@ MACHINE_RESET( midtunit );
extern UINT8 midtunit_gfx_rom_large;
-VIDEO_START( midtunit );
-VIDEO_START( midwunit );
-VIDEO_START( midxunit );
+
+
+
diff --git a/src/mame/includes/midvunit.h b/src/mame/includes/midvunit.h
index 37773172225..458c39e6105 100644
--- a/src/mame/includes/midvunit.h
+++ b/src/mame/includes/midvunit.h
@@ -115,6 +115,10 @@ public:
DECLARE_DRIVER_INIT(crusnusa);
void init_crusnwld_common(offs_t speedup);
void init_crusnusa_common(offs_t speedup);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(midvplus);
};
@@ -127,5 +131,5 @@ public:
-VIDEO_START( midvunit );
+
SCREEN_UPDATE_IND16( midvunit );
diff --git a/src/mame/includes/midwunit.h b/src/mame/includes/midwunit.h
index 7dd9d6e6a3d..5778e8ec0cd 100644
--- a/src/mame/includes/midwunit.h
+++ b/src/mame/includes/midwunit.h
@@ -39,6 +39,8 @@ public:
DECLARE_DRIVER_INIT(rmpgwt);
DECLARE_DRIVER_INIT(umk3r11);
DECLARE_DRIVER_INIT(mk3r20);
+ DECLARE_MACHINE_RESET(midwunit);
+ DECLARE_VIDEO_START(midwunit);
};
/*----------- defined in machine/midwunit.c -----------*/
@@ -48,6 +50,6 @@ public:
-MACHINE_RESET( midwunit );
+
diff --git a/src/mame/includes/midxunit.h b/src/mame/includes/midxunit.h
index 29a05fcdb99..5c48bc9e2fb 100644
--- a/src/mame/includes/midxunit.h
+++ b/src/mame/includes/midxunit.h
@@ -35,6 +35,8 @@ public:
DECLARE_READ16_MEMBER(midxunit_sound_state_r);
DECLARE_WRITE16_MEMBER(midxunit_sound_w);
DECLARE_DRIVER_INIT(revx);
+ DECLARE_MACHINE_RESET(midxunit);
+ DECLARE_VIDEO_START(midxunit);
};
@@ -45,6 +47,6 @@ public:
-MACHINE_RESET( midxunit );
+
diff --git a/src/mame/includes/midyunit.h b/src/mame/includes/midyunit.h
index fe5fb21ec8a..38f6f269138 100644
--- a/src/mame/includes/midyunit.h
+++ b/src/mame/includes/midyunit.h
@@ -101,6 +101,12 @@ public:
DECLARE_DRIVER_INIT(hiimpact);
DECLARE_DRIVER_INIT(mkyturbo);
DECLARE_DRIVER_INIT(term2la2);
+ DECLARE_MACHINE_RESET(midyunit);
+ DECLARE_VIDEO_START(midzunit);
+ DECLARE_VIDEO_START(midyunit_4bit);
+ DECLARE_VIDEO_START(midyunit_6bit);
+ DECLARE_VIDEO_START(mkyawdim);
+ DECLARE_VIDEO_START(common);
};
@@ -110,16 +116,16 @@ public:
-MACHINE_RESET( midyunit );
+
/*----------- defined in video/midyunit.c -----------*/
-VIDEO_START( midyunit_4bit );
-VIDEO_START( midyunit_6bit );
-VIDEO_START( mkyawdim );
-VIDEO_START( midzunit );
+
+
+
+
diff --git a/src/mame/includes/midzeus.h b/src/mame/includes/midzeus.h
index 2b96d05fb53..06329351d33 100644
--- a/src/mame/includes/midzeus.h
+++ b/src/mame/includes/midzeus.h
@@ -52,18 +52,22 @@ public:
DECLARE_DRIVER_INIT(mk4);
DECLARE_DRIVER_INIT(thegrid);
DECLARE_DRIVER_INIT(crusnexo);
+ DECLARE_MACHINE_START(midzeus);
+ DECLARE_MACHINE_RESET(midzeus);
+ DECLARE_VIDEO_START(midzeus);
+ DECLARE_VIDEO_START(midzeus2);
};
/*----------- defined in video/midzeus.c -----------*/
-VIDEO_START( midzeus );
+
SCREEN_UPDATE_IND16( midzeus );
/*----------- defined in video/midzeus2.c -----------*/
-VIDEO_START( midzeus2 );
+
SCREEN_UPDATE_RGB32( midzeus2 );
READ32_HANDLER( zeus2_r );
diff --git a/src/mame/includes/mikie.h b/src/mame/includes/mikie.h
index b8a5c047cb1..e43e2aebbaf 100644
--- a/src/mame/includes/mikie.h
+++ b/src/mame/includes/mikie.h
@@ -39,12 +39,16 @@ public:
DECLARE_WRITE8_MEMBER(mikie_palettebank_w);
DECLARE_WRITE8_MEMBER(mikie_flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/mikie.c -----------*/
-PALETTE_INIT( mikie );
-VIDEO_START( mikie );
+
+
SCREEN_UPDATE_IND16( mikie );
diff --git a/src/mame/includes/mitchell.h b/src/mame/includes/mitchell.h
index 19138ae2afa..ef776411831 100644
--- a/src/mame/includes/mitchell.h
+++ b/src/mame/includes/mitchell.h
@@ -97,6 +97,9 @@ public:
DECLARE_DRIVER_INIT(blockbl);
DECLARE_DRIVER_INIT(dokaben);
TILE_GET_INFO_MEMBER(get_tile_info);
+ DECLARE_MACHINE_START(mitchell);
+ DECLARE_MACHINE_RESET(mitchell);
+ DECLARE_VIDEO_START(pang);
};
@@ -105,5 +108,5 @@ public:
-VIDEO_START( pang );
+
SCREEN_UPDATE_IND16( pang );
diff --git a/src/mame/includes/mjkjidai.h b/src/mame/includes/mjkjidai.h
index a1a3e2ef77a..208fea9fb77 100644
--- a/src/mame/includes/mjkjidai.h
+++ b/src/mame/includes/mjkjidai.h
@@ -27,12 +27,13 @@ public:
DECLARE_WRITE8_MEMBER(mjkjidai_ctrl_w);
DECLARE_WRITE8_MEMBER(adpcm_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/mjkjidai.c -----------*/
-VIDEO_START( mjkjidai );
+
SCREEN_UPDATE_IND16( mjkjidai );
diff --git a/src/mame/includes/model1.h b/src/mame/includes/model1.h
index 6064510ea7a..7a109e0ffc8 100644
--- a/src/mame/includes/model1.h
+++ b/src/mame/includes/model1.h
@@ -130,6 +130,10 @@ public:
DECLARE_WRITE16_MEMBER(model1_listctl_w);
DECLARE_WRITE16_MEMBER(m1_snd_mpcm_bnk1_w);
DECLARE_WRITE16_MEMBER(m1_snd_mpcm_bnk2_w);
+ DECLARE_MACHINE_START(model1);
+ DECLARE_MACHINE_RESET(model1);
+ DECLARE_VIDEO_START(model1);
+ DECLARE_MACHINE_RESET(model1_vr);
};
@@ -141,7 +145,7 @@ extern const mb86233_cpu_core model1_vr_tgp_config;
ADDRESS_MAP_EXTERN( model1_vr_tgp_map, 32 );
-MACHINE_START( model1 );
+
void model1_vr_tgp_reset( running_machine &machine );
void model1_tgp_reset(running_machine &machine, int swa);
@@ -149,7 +153,7 @@ void model1_tgp_reset(running_machine &machine, int swa);
/*----------- defined in video/model1.c -----------*/
-VIDEO_START(model1);
+
SCREEN_UPDATE_RGB32(model1);
SCREEN_VBLANK(model1);
diff --git a/src/mame/includes/model2.h b/src/mame/includes/model2.h
index 93c876095c6..a6a23144787 100644
--- a/src/mame/includes/model2.h
+++ b/src/mame/includes/model2.h
@@ -154,12 +154,20 @@ public:
DECLARE_DRIVER_INIT(doa);
DECLARE_DRIVER_INIT(zerogun);
DECLARE_DRIVER_INIT(sgt24h);
+ DECLARE_MACHINE_START(model2);
+ DECLARE_MACHINE_RESET(model2o);
+ DECLARE_VIDEO_START(model2);
+ DECLARE_MACHINE_RESET(model2);
+ DECLARE_MACHINE_RESET(model2b);
+ DECLARE_MACHINE_RESET(model2c);
+ DECLARE_MACHINE_RESET(model2_common);
+ DECLARE_MACHINE_RESET(model2_scsp);
};
/*----------- defined in video/model2.c -----------*/
-VIDEO_START(model2);
+
SCREEN_UPDATE_RGB32(model2);
void model2_3d_set_zclip( running_machine &machine, UINT8 clip );
diff --git a/src/mame/includes/model3.h b/src/mame/includes/model3.h
index 53d8cfb4b00..54de373c64f 100644
--- a/src/mame/includes/model3.h
+++ b/src/mame/includes/model3.h
@@ -188,6 +188,15 @@ public:
DECLARE_DRIVER_INIT(dayto2pe);
DECLARE_DRIVER_INIT(spikeout);
DECLARE_DRIVER_INIT(model3_15);
+ virtual void video_start();
+ DECLARE_MACHINE_START(model3_10);
+ DECLARE_MACHINE_RESET(model3_10);
+ DECLARE_MACHINE_START(model3_15);
+ DECLARE_MACHINE_RESET(model3_15);
+ DECLARE_MACHINE_START(model3_20);
+ DECLARE_MACHINE_RESET(model3_20);
+ DECLARE_MACHINE_START(model3_21);
+ DECLARE_MACHINE_RESET(model3_21);
};
@@ -207,7 +216,7 @@ void model3_tap_reset(running_machine &machine);
/*----------- defined in video/model3.c -----------*/
-VIDEO_START(model3);
+
SCREEN_UPDATE_IND16(model3);
void real3d_display_list_end(running_machine &machine);
diff --git a/src/mame/includes/momoko.h b/src/mame/includes/momoko.h
index e7c8874aa61..36a52861f40 100644
--- a/src/mame/includes/momoko.h
+++ b/src/mame/includes/momoko.h
@@ -43,6 +43,8 @@ public:
DECLARE_WRITE8_MEMBER(momoko_bg_select_w);
DECLARE_WRITE8_MEMBER(momoko_bg_priority_w);
DECLARE_WRITE8_MEMBER(momoko_flipscreen_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/moo.h b/src/mame/includes/moo.h
index 6f4d68f1d79..87b6e7e5d73 100644
--- a/src/mame/includes/moo.h
+++ b/src/mame/includes/moo.h
@@ -50,6 +50,9 @@ public:
DECLARE_WRITE16_MEMBER(moo_prot_w);
DECLARE_WRITE16_MEMBER(moobl_oki_bank_w);
DECLARE_DRIVER_INIT(moo);
+ DECLARE_MACHINE_START(moo);
+ DECLARE_MACHINE_RESET(moo);
+ DECLARE_VIDEO_START(moo);
};
@@ -59,5 +62,5 @@ public:
extern void moo_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags);
extern void moo_sprite_callback(running_machine &machine, int *code, int *color, int *priority_mask);
-VIDEO_START(moo);
+
SCREEN_UPDATE_RGB32(moo);
diff --git a/src/mame/includes/mosaic.h b/src/mame/includes/mosaic.h
index 460d67d87d9..b7127c64855 100644
--- a/src/mame/includes/mosaic.h
+++ b/src/mame/includes/mosaic.h
@@ -31,11 +31,14 @@ public:
DECLARE_WRITE8_MEMBER(mosaic_bgvideoram_w);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/mosaic.c -----------*/
-VIDEO_START( mosaic );
+
SCREEN_UPDATE_IND16( mosaic );
diff --git a/src/mame/includes/mouser.h b/src/mame/includes/mouser.h
index b0c532d6614..865941784a7 100644
--- a/src/mame/includes/mouser.h
+++ b/src/mame/includes/mouser.h
@@ -32,10 +32,13 @@ public:
DECLARE_WRITE8_MEMBER(mouser_flip_screen_x_w);
DECLARE_WRITE8_MEMBER(mouser_flip_screen_y_w);
DECLARE_DRIVER_INIT(mouser);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*----------- defined in video/mouser.c -----------*/
-PALETTE_INIT( mouser );
+
SCREEN_UPDATE_IND16( mouser );
diff --git a/src/mame/includes/mpu4.h b/src/mame/includes/mpu4.h
index bac61e427e7..79fa6d43c20 100644
--- a/src/mame/includes/mpu4.h
+++ b/src/mame/includes/mpu4.h
@@ -249,6 +249,12 @@ public:
DECLARE_DRIVER_INIT(m_grtecpss);
DECLARE_DRIVER_INIT(connect4);
DECLARE_DRIVER_INIT(m4altreels);
+ DECLARE_MACHINE_START(mod2);
+ DECLARE_MACHINE_RESET(mpu4);
+ DECLARE_MACHINE_START(mpu4yam);
+ DECLARE_MACHINE_START(mpu4oki);
+ DECLARE_MACHINE_START(mpu4bwb);
+ DECLARE_MACHINE_START(mpu4cry);
};
/* mpu4.c, used by mpu4vid.c */
diff --git a/src/mame/includes/mrdo.h b/src/mame/includes/mrdo.h
index 3438b630306..e8a804f47c3 100644
--- a/src/mame/includes/mrdo.h
+++ b/src/mame/includes/mrdo.h
@@ -30,12 +30,14 @@ public:
DECLARE_WRITE8_MEMBER(mrdo_flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/mrdo.c -----------*/
-PALETTE_INIT( mrdo );
-VIDEO_START( mrdo );
+
+
SCREEN_UPDATE_IND16( mrdo );
diff --git a/src/mame/includes/mrflea.h b/src/mame/includes/mrflea.h
index 1994ab4ffff..12b934f448f 100644
--- a/src/mame/includes/mrflea.h
+++ b/src/mame/includes/mrflea.h
@@ -42,6 +42,8 @@ public:
DECLARE_WRITE8_MEMBER(mrflea_gfx_bank_w);
DECLARE_WRITE8_MEMBER(mrflea_videoram_w);
DECLARE_WRITE8_MEMBER(mrflea_spriteram_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/mrjong.h b/src/mame/includes/mrjong.h
index 1ea65b89728..0f690203776 100644
--- a/src/mame/includes/mrjong.h
+++ b/src/mame/includes/mrjong.h
@@ -23,12 +23,14 @@ public:
DECLARE_WRITE8_MEMBER(mrjong_colorram_w);
DECLARE_WRITE8_MEMBER(mrjong_flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/mrjong.c -----------*/
-PALETTE_INIT( mrjong );
-VIDEO_START( mrjong );
+
+
SCREEN_UPDATE_IND16( mrjong );
diff --git a/src/mame/includes/ms32.h b/src/mame/includes/ms32.h
index 9a7a8ed4909..9a5e11510a3 100644
--- a/src/mame/includes/ms32.h
+++ b/src/mame/includes/ms32.h
@@ -84,6 +84,9 @@ public:
TILE_GET_INFO_MEMBER(get_ms32_roz_tile_info);
TILE_GET_INFO_MEMBER(get_ms32_bg_tile_info);
TILE_GET_INFO_MEMBER(get_ms32_extra_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(f1superb);
};
@@ -93,6 +96,6 @@ public:
-VIDEO_START( ms32 );
-VIDEO_START( f1superb );
+
+
SCREEN_UPDATE_RGB32( ms32 );
diff --git a/src/mame/includes/msisaac.h b/src/mame/includes/msisaac.h
index 256b3236203..7777bc45e40 100644
--- a/src/mame/includes/msisaac.h
+++ b/src/mame/includes/msisaac.h
@@ -68,6 +68,10 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(ta7630);
};
@@ -76,4 +80,4 @@ public:
SCREEN_UPDATE_IND16( msisaac );
-VIDEO_START( msisaac );
+
diff --git a/src/mame/includes/mugsmash.h b/src/mame/includes/mugsmash.h
index 2658ac5eadc..66365f244d7 100644
--- a/src/mame/includes/mugsmash.h
+++ b/src/mame/includes/mugsmash.h
@@ -28,11 +28,13 @@ public:
DECLARE_WRITE16_MEMBER(mugsmash_reg_w);
TILE_GET_INFO_MEMBER(get_mugsmash_tile_info1);
TILE_GET_INFO_MEMBER(get_mugsmash_tile_info2);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/mugsmash.c -----------*/
-VIDEO_START( mugsmash );
+
SCREEN_UPDATE_IND16( mugsmash );
diff --git a/src/mame/includes/munchmo.h b/src/mame/includes/munchmo.h
index 1eece77c81d..1a80270efe1 100644
--- a/src/mame/includes/munchmo.h
+++ b/src/mame/includes/munchmo.h
@@ -42,12 +42,16 @@ public:
DECLARE_WRITE8_MEMBER(mnchmobl_flipscreen_w);
DECLARE_READ8_MEMBER(munchmo_ay1reset_r);
DECLARE_READ8_MEMBER(munchmo_ay2reset_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/munchmo.c -----------*/
-PALETTE_INIT( mnchmobl );
-VIDEO_START( mnchmobl );
+
+
SCREEN_UPDATE_IND16( mnchmobl );
diff --git a/src/mame/includes/mustache.h b/src/mame/includes/mustache.h
index 41dcac15b37..272af74622d 100644
--- a/src/mame/includes/mustache.h
+++ b/src/mame/includes/mustache.h
@@ -16,11 +16,14 @@ public:
DECLARE_WRITE8_MEMBER(mustache_scroll_w);
DECLARE_DRIVER_INIT(mustache);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/mustache.c -----------*/
-VIDEO_START( mustache );
+
SCREEN_UPDATE_IND16( mustache );
-PALETTE_INIT( mustache );
+
diff --git a/src/mame/includes/mw8080bw.h b/src/mame/includes/mw8080bw.h
index edf3a2b8e45..f4fe858cb10 100644
--- a/src/mame/includes/mw8080bw.h
+++ b/src/mame/includes/mw8080bw.h
@@ -128,6 +128,17 @@ public:
DECLARE_WRITE8_MEMBER(bowler_audio_4_w);
DECLARE_WRITE8_MEMBER(bowler_audio_5_w);
DECLARE_WRITE8_MEMBER(bowler_audio_6_w);
+ DECLARE_MACHINE_START(mw8080bw);
+ DECLARE_MACHINE_RESET(mw8080bw);
+ DECLARE_MACHINE_START(maze);
+ DECLARE_MACHINE_START(boothill);
+ DECLARE_MACHINE_START(desertgu);
+ DECLARE_MACHINE_START(gmissile);
+ DECLARE_MACHINE_START(m4);
+ DECLARE_MACHINE_START(clowns);
+ DECLARE_MACHINE_START(spcenctr);
+ DECLARE_MACHINE_START(phantom2);
+ DECLARE_MACHINE_START(invaders);
};
@@ -182,8 +193,8 @@ int invaders_is_cabinet_cocktail(running_machine &machine);
/*----------- defined in machine/mw8080bw.c -----------*/
-MACHINE_START( mw8080bw );
-MACHINE_RESET( mw8080bw );
+
+
/*----------- defined in audio/mw8080bw.c -----------*/
diff --git a/src/mame/includes/mystston.h b/src/mame/includes/mystston.h
index 96e14b840b4..c1c43040f78 100644
--- a/src/mame/includes/mystston.h
+++ b/src/mame/includes/mystston.h
@@ -44,6 +44,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ DECLARE_VIDEO_START(mystston);
+ DECLARE_VIDEO_RESET(mystston);
};
diff --git a/src/mame/includes/mystwarr.h b/src/mame/includes/mystwarr.h
index 719d4923bc7..3ea0f031a8e 100644
--- a/src/mame/includes/mystwarr.h
+++ b/src/mame/includes/mystwarr.h
@@ -54,17 +54,30 @@ public:
DECLARE_READ16_MEMBER(ddd_053936_tilerom_2_r);
TILE_GET_INFO_MEMBER(get_gai_936_tile_info);
TILE_GET_INFO_MEMBER(get_ult_936_tile_info);
+ DECLARE_MACHINE_START(mystwarr);
+ DECLARE_MACHINE_RESET(mystwarr);
+ DECLARE_VIDEO_START(mystwarr);
+ DECLARE_MACHINE_RESET(viostorm);
+ DECLARE_VIDEO_START(viostorm);
+ DECLARE_MACHINE_RESET(metamrph);
+ DECLARE_VIDEO_START(metamrph);
+ DECLARE_MACHINE_RESET(dadandrn);
+ DECLARE_VIDEO_START(dadandrn);
+ DECLARE_MACHINE_RESET(gaiapols);
+ DECLARE_VIDEO_START(gaiapols);
+ DECLARE_MACHINE_RESET(martchmp);
+ DECLARE_VIDEO_START(martchmp);
};
/*----------- defined in video/mystwarr.c -----------*/
-VIDEO_START( gaiapols );
-VIDEO_START( dadandrn );
-VIDEO_START( viostorm );
-VIDEO_START( metamrph );
-VIDEO_START( martchmp );
-VIDEO_START( mystwarr );
+
+
+
+
+
+
SCREEN_UPDATE_RGB32( dadandrn );
SCREEN_UPDATE_RGB32( mystwarr );
SCREEN_UPDATE_RGB32( metamrph );
diff --git a/src/mame/includes/n64.h b/src/mame/includes/n64.h
index fb5ec9768f3..0d79cd0da5a 100644
--- a/src/mame/includes/n64.h
+++ b/src/mame/includes/n64.h
@@ -20,6 +20,9 @@ public:
n64_rdp *m_rdp;
DECLARE_DRIVER_INIT(aleck64);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- devices -----------*/
@@ -282,7 +285,7 @@ extern WRITE32_DEVICE_HANDLER( n64_sp_reg_w );
extern READ32_DEVICE_HANDLER( n64_dp_reg_r );
extern WRITE32_DEVICE_HANDLER( n64_dp_reg_w );
-MACHINE_START( n64 );
-MACHINE_RESET( n64 );
+
+
#endif
diff --git a/src/mame/includes/n8080.h b/src/mame/includes/n8080.h
index 80f10bb7c59..8b670a66aae 100644
--- a/src/mame/includes/n8080.h
+++ b/src/mame/includes/n8080.h
@@ -58,6 +58,25 @@ public:
DECLARE_WRITE8_MEMBER(helifire_sound_ctrl_w);
DECLARE_WRITE_LINE_MEMBER(n8080_inte_callback);
DECLARE_WRITE8_MEMBER(n8080_status_callback);
+ DECLARE_MACHINE_START(spacefev);
+ DECLARE_MACHINE_RESET(spacefev);
+ DECLARE_VIDEO_START(spacefev);
+ DECLARE_PALETTE_INIT(n8080);
+ DECLARE_MACHINE_START(sheriff);
+ DECLARE_MACHINE_RESET(sheriff);
+ DECLARE_VIDEO_START(sheriff);
+ DECLARE_MACHINE_START(helifire);
+ DECLARE_MACHINE_RESET(helifire);
+ DECLARE_VIDEO_START(helifire);
+ DECLARE_PALETTE_INIT(helifire);
+ DECLARE_MACHINE_START(spacefev_sound);
+ DECLARE_MACHINE_RESET(spacefev_sound);
+ DECLARE_MACHINE_START(sheriff_sound);
+ DECLARE_MACHINE_RESET(sheriff_sound);
+ DECLARE_MACHINE_START(helifire_sound);
+ DECLARE_MACHINE_RESET(helifire_sound);
+ DECLARE_MACHINE_START(n8080);
+ DECLARE_MACHINE_RESET(n8080);
};
@@ -65,12 +84,12 @@ public:
/*----------- defined in video/n8080.c -----------*/
-PALETTE_INIT( n8080 );
-PALETTE_INIT( helifire );
-VIDEO_START( spacefev );
-VIDEO_START( sheriff );
-VIDEO_START( helifire );
+
+
+
+
+
SCREEN_UPDATE_IND16( spacefev );
SCREEN_UPDATE_IND16( sheriff );
SCREEN_UPDATE_IND16( helifire );
@@ -84,10 +103,10 @@ MACHINE_CONFIG_EXTERN( spacefev_sound );
MACHINE_CONFIG_EXTERN( sheriff_sound );
MACHINE_CONFIG_EXTERN( helifire_sound );
-MACHINE_START( spacefev_sound );
-MACHINE_START( sheriff_sound );
-MACHINE_START( helifire_sound );
-MACHINE_RESET( spacefev_sound );
-MACHINE_RESET( sheriff_sound );
-MACHINE_RESET( helifire_sound );
+
+
+
+
+
+
diff --git a/src/mame/includes/namcofl.h b/src/mame/includes/namcofl.h
index 3a15030be7c..d03346d2813 100644
--- a/src/mame/includes/namcofl.h
+++ b/src/mame/includes/namcofl.h
@@ -54,11 +54,14 @@ public:
DECLARE_WRITE32_MEMBER(namcofl_spritebank_w);
DECLARE_DRIVER_INIT(speedrcr);
DECLARE_DRIVER_INIT(finalapr);
+ DECLARE_MACHINE_START(namcofl);
+ DECLARE_MACHINE_RESET(namcofl);
+ DECLARE_VIDEO_START(namcofl);
};
/*----------- defined in video/namcofl.c -----------*/
-VIDEO_START( namcofl );
+
SCREEN_UPDATE_IND16( namcofl );
diff --git a/src/mame/includes/namcona1.h b/src/mame/includes/namcona1.h
index c94f749a2af..3a57fdd7fa6 100644
--- a/src/mame/includes/namcona1.h
+++ b/src/mame/includes/namcona1.h
@@ -107,6 +107,9 @@ public:
TILE_GET_INFO_MEMBER(tilemap_get_info2);
TILE_GET_INFO_MEMBER(tilemap_get_info3);
TILE_GET_INFO_MEMBER(roz_get_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mame/includes/namconb1.h b/src/mame/includes/namconb1.h
index 0be313d6338..360171ffe53 100644
--- a/src/mame/includes/namconb1.h
+++ b/src/mame/includes/namconb1.h
@@ -72,13 +72,16 @@ public:
DECLARE_DRIVER_INIT(gslgr94j);
DECLARE_DRIVER_INIT(outfxies);
DECLARE_DRIVER_INIT(gslgr94u);
+ DECLARE_MACHINE_START(namconb);
+ DECLARE_VIDEO_START(namconb1);
+ DECLARE_VIDEO_START(namconb2);
};
/*----------- defined in video/namconb1.c -----------*/
SCREEN_UPDATE_IND16( namconb1 );
-VIDEO_START( namconb1 );
+
SCREEN_UPDATE_IND16( namconb2 );
-VIDEO_START( namconb2 );
+
diff --git a/src/mame/includes/namcond1.h b/src/mame/includes/namcond1.h
index a80d24d95f7..c0e9b64ed23 100644
--- a/src/mame/includes/namcond1.h
+++ b/src/mame/includes/namcond1.h
@@ -25,12 +25,14 @@ public:
DECLARE_READ16_MEMBER(namcond1_cuskey_r);
DECLARE_WRITE16_MEMBER(namcond1_shared_ram_w);
DECLARE_WRITE16_MEMBER(namcond1_cuskey_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in machine/namcond1.c -----------*/
-MACHINE_START( namcond1 );
-MACHINE_RESET( namcond1 );
+
+
diff --git a/src/mame/includes/namcos1.h b/src/mame/includes/namcos1.h
index 3698cbbcb33..41f94a48baa 100644
--- a/src/mame/includes/namcos1.h
+++ b/src/mame/includes/namcos1.h
@@ -91,6 +91,8 @@ public:
TILE_GET_INFO_MEMBER(bg_get_info3);
TILE_GET_INFO_MEMBER(fg_get_info4);
TILE_GET_INFO_MEMBER(fg_get_info5);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -104,7 +106,7 @@ void namcos1_init_DACs(running_machine &machine);
-MACHINE_RESET( namcos1 );
+
/*----------- defined in video/namcos1.c -----------*/
@@ -115,6 +117,6 @@ WRITE8_HANDLER( namcos1_paletteram_w );
READ8_HANDLER( namcos1_spriteram_r );
WRITE8_HANDLER( namcos1_spriteram_w );
-VIDEO_START( namcos1 );
+
SCREEN_UPDATE_IND16( namcos1 );
SCREEN_VBLANK( namcos1 );
diff --git a/src/mame/includes/namcos2.h b/src/mame/includes/namcos2.h
index 924985fc966..3f74d382d3c 100644
--- a/src/mame/includes/namcos2.h
+++ b/src/mame/includes/namcos2.h
@@ -159,7 +159,8 @@ public:
DECLARE_WRITE16_MEMBER( c355_obj_ram_w );
DECLARE_READ16_MEMBER( c355_obj_position_r );
DECLARE_WRITE16_MEMBER( c355_obj_position_w );
-
+ DECLARE_MACHINE_START(namcos2);
+ DECLARE_MACHINE_RESET(namcos2);
protected:
// C355 Motion Object internals
template<class _BitmapClass>
@@ -296,9 +297,6 @@ public:
extern void (*namcos2_kickstart)(running_machine &machine, int internal);
-MACHINE_START( namcos2 );
-MACHINE_RESET( namcos2 );
-
READ16_HANDLER( namcos2_flap_prot_r );
/**************************************************************/
diff --git a/src/mame/includes/namcos21.h b/src/mame/includes/namcos21.h
index fca20db01f2..252b985e0d7 100644
--- a/src/mame/includes/namcos21.h
+++ b/src/mame/includes/namcos21.h
@@ -152,6 +152,8 @@ public:
DECLARE_DRIVER_INIT(solvalou);
DECLARE_DRIVER_INIT(cybsled);
DECLARE_DRIVER_INIT(aircomb);
+ DECLARE_MACHINE_START(namcos21);
+ DECLARE_VIDEO_START(namcos21);
};
diff --git a/src/mame/includes/namcos22.h b/src/mame/includes/namcos22.h
index cba4ec7d6c0..8b52c66025c 100644
--- a/src/mame/includes/namcos22.h
+++ b/src/mame/includes/namcos22.h
@@ -250,15 +250,19 @@ public:
DECLARE_DRIVER_INIT(ridgeraj);
DECLARE_DRIVER_INIT(alpinesa);
TILE_GET_INFO_MEMBER(TextTilemapGetInfo);
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(namcos22s);
+ DECLARE_VIDEO_START(namcos22);
+ DECLARE_VIDEO_START(common);
};
/*----------- defined in video/namcos22.c -----------*/
-VIDEO_START( namcos22 );
+
SCREEN_UPDATE_RGB32( namcos22 );
-VIDEO_START( namcos22s );
+
SCREEN_UPDATE_RGB32( namcos22s );
void namcos22_draw_direct_poly( running_machine &machine, const UINT16 *pSource );
diff --git a/src/mame/includes/namcos86.h b/src/mame/includes/namcos86.h
index ca600df2197..e0445915ced 100644
--- a/src/mame/includes/namcos86.h
+++ b/src/mame/includes/namcos86.h
@@ -49,13 +49,16 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info1);
TILE_GET_INFO_MEMBER(get_tile_info2);
TILE_GET_INFO_MEMBER(get_tile_info3);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/namcos86.c -----------*/
-PALETTE_INIT( namcos86 );
-VIDEO_START( namcos86 );
+
+
SCREEN_UPDATE_IND16( namcos86 );
SCREEN_VBLANK( namcos86 );
diff --git a/src/mame/includes/naughtyb.h b/src/mame/includes/naughtyb.h
index 3c64a972d34..f079e33db0b 100644
--- a/src/mame/includes/naughtyb.h
+++ b/src/mame/includes/naughtyb.h
@@ -29,12 +29,14 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_DRIVER_INIT(trvmstr);
DECLARE_DRIVER_INIT(popflame);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/naughtyb.c -----------*/
-VIDEO_START( naughtyb );
-PALETTE_INIT( naughtyb );
+
+
SCREEN_UPDATE_IND16( naughtyb );
diff --git a/src/mame/includes/nbmj8688.h b/src/mame/includes/nbmj8688.h
index 624970cb946..ca7b964195e 100644
--- a/src/mame/includes/nbmj8688.h
+++ b/src/mame/includes/nbmj8688.h
@@ -78,22 +78,31 @@ public:
DECLARE_DRIVER_INIT(crystalg);
DECLARE_DRIVER_INIT(citylove);
DECLARE_DRIVER_INIT(kanatuen);
+ DECLARE_VIDEO_START(mbmj8688_pure_12bit);
+ DECLARE_PALETTE_INIT(mbmj8688_12bit);
+ DECLARE_VIDEO_START(mbmj8688_pure_16bit_LCD);
+ DECLARE_PALETTE_INIT(mbmj8688_16bit);
+ DECLARE_VIDEO_START(mbmj8688_8bit);
+ DECLARE_PALETTE_INIT(mbmj8688_8bit);
+ DECLARE_VIDEO_START(mbmj8688_hybrid_16bit);
+ DECLARE_VIDEO_START(mbmj8688_hybrid_12bit);
+ DECLARE_VIDEO_START(mbmj8688_pure_16bit);
};
/*----------- defined in video/nbmj8688.c -----------*/
-PALETTE_INIT( mbmj8688_8bit );
-PALETTE_INIT( mbmj8688_12bit );
-PALETTE_INIT( mbmj8688_16bit );
+
+
+
SCREEN_UPDATE_IND16( mbmj8688 );
SCREEN_UPDATE_IND16( mbmj8688_lcd0 );
SCREEN_UPDATE_IND16( mbmj8688_lcd1 );
-VIDEO_START( mbmj8688_8bit );
-VIDEO_START( mbmj8688_hybrid_12bit );
-VIDEO_START( mbmj8688_pure_12bit );
-VIDEO_START( mbmj8688_hybrid_16bit );
-VIDEO_START( mbmj8688_pure_16bit );
-VIDEO_START( mbmj8688_pure_16bit_LCD );
+
+
+
+
+
+
diff --git a/src/mame/includes/nbmj8891.h b/src/mame/includes/nbmj8891.h
index 65bdb1dbc20..765fbd89ec0 100644
--- a/src/mame/includes/nbmj8891.h
+++ b/src/mame/includes/nbmj8891.h
@@ -71,12 +71,14 @@ public:
DECLARE_DRIVER_INIT(lovehous);
DECLARE_DRIVER_INIT(club90s);
DECLARE_DRIVER_INIT(maiko);
+ virtual void video_start();
+ DECLARE_VIDEO_START(nbmj8891_1layer);
};
/*----------- defined in video/nbmj8891.c -----------*/
SCREEN_UPDATE_IND16( nbmj8891 );
-VIDEO_START( nbmj8891_1layer );
-VIDEO_START( nbmj8891_2layer );
+
+
diff --git a/src/mame/includes/nbmj8900.h b/src/mame/includes/nbmj8900.h
index fd403849e0b..7dfe9e09676 100644
--- a/src/mame/includes/nbmj8900.h
+++ b/src/mame/includes/nbmj8900.h
@@ -43,11 +43,12 @@ public:
DECLARE_WRITE8_MEMBER(nbmj8900_romsel_w);
DECLARE_DRIVER_INIT(togenkyo);
DECLARE_DRIVER_INIT(ohpaipee);
+ virtual void video_start();
};
/*----------- defined in video/nbmj8900.c -----------*/
SCREEN_UPDATE_IND16( nbmj8900 );
-VIDEO_START( nbmj8900_2layer );
+
diff --git a/src/mame/includes/nbmj8991.h b/src/mame/includes/nbmj8991.h
index 27f606552cf..fc9d05340c4 100644
--- a/src/mame/includes/nbmj8991.h
+++ b/src/mame/includes/nbmj8991.h
@@ -49,6 +49,8 @@ public:
DECLARE_DRIVER_INIT(mcontest);
DECLARE_DRIVER_INIT(finalbny);
DECLARE_DRIVER_INIT(qmhayaku);
+ DECLARE_MACHINE_RESET(nbmj8991);
+ DECLARE_VIDEO_START(nbmj8991);
};
@@ -56,5 +58,5 @@ public:
SCREEN_UPDATE_IND16( nbmj8991_type1 );
SCREEN_UPDATE_IND16( nbmj8991_type2 );
-VIDEO_START( nbmj8991 );
+
diff --git a/src/mame/includes/nbmj9195.h b/src/mame/includes/nbmj9195.h
index 720ab4d915f..8132f04deb1 100644
--- a/src/mame/includes/nbmj9195.h
+++ b/src/mame/includes/nbmj9195.h
@@ -106,15 +106,19 @@ public:
DECLARE_WRITE8_MEMBER(nbmj9195_clut_0_w);
DECLARE_WRITE8_MEMBER(nbmj9195_clut_1_w);
DECLARE_DRIVER_INIT(nbmj9195);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(nbmj9195_1layer);
+ DECLARE_VIDEO_START(nbmj9195_nb22090);
};
/*----------- defined in video/nbmj9195.c -----------*/
SCREEN_UPDATE_IND16( nbmj9195 );
-VIDEO_START( nbmj9195_1layer );
-VIDEO_START( nbmj9195_2layer );
-VIDEO_START( nbmj9195_nb22090 );
+
+
+
diff --git a/src/mame/includes/nemesis.h b/src/mame/includes/nemesis.h
index 3600bb3a71a..d99d8c7e58c 100644
--- a/src/mame/includes/nemesis.h
+++ b/src/mame/includes/nemesis.h
@@ -81,6 +81,9 @@ public:
DECLARE_WRITE8_MEMBER(city_sound_bank_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -88,5 +91,5 @@ public:
-VIDEO_START( nemesis );
+
SCREEN_UPDATE_IND16( nemesis );
diff --git a/src/mame/includes/neogeo.h b/src/mame/includes/neogeo.h
index f8d58fab082..a04537e9f02 100644
--- a/src/mame/includes/neogeo.h
+++ b/src/mame/includes/neogeo.h
@@ -203,6 +203,10 @@ public:
DECLARE_DRIVER_INIT(sbp);
DECLARE_DRIVER_INIT(mvs);
void mvs_install_protection(device_image_interface& image);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void video_reset();
};
@@ -302,8 +306,8 @@ void matrimbl_decrypt(running_machine &machine);
/*----------- defined in video/neogeo.c -----------*/
-VIDEO_START( neogeo );
-VIDEO_RESET( neogeo );
+
+
SCREEN_UPDATE_RGB32( neogeo );
diff --git a/src/mame/includes/news.h b/src/mame/includes/news.h
index c0d450e3a25..234753e5dad 100644
--- a/src/mame/includes/news.h
+++ b/src/mame/includes/news.h
@@ -21,11 +21,14 @@ public:
DECLARE_WRITE8_MEMBER(news_bgpic_w);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/news.c -----------*/
-VIDEO_START( news );
+
SCREEN_UPDATE_IND16( news );
diff --git a/src/mame/includes/ninjakd2.h b/src/mame/includes/ninjakd2.h
index 0f6960f77b4..202e4fce064 100644
--- a/src/mame/includes/ninjakd2.h
+++ b/src/mame/includes/ninjakd2.h
@@ -64,6 +64,14 @@ public:
TILE_GET_INFO_MEMBER(robokid_get_bg0_tile_info);
TILE_GET_INFO_MEMBER(robokid_get_bg1_tile_info);
TILE_GET_INFO_MEMBER(robokid_get_bg2_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(mnight);
+ DECLARE_VIDEO_START(arkarea);
+ DECLARE_MACHINE_RESET(robokid);
+ DECLARE_VIDEO_START(robokid);
+ DECLARE_MACHINE_RESET(omegaf);
+ DECLARE_VIDEO_START(omegaf);
};
diff --git a/src/mame/includes/ninjaw.h b/src/mame/includes/ninjaw.h
index 423f1c2cd43..9bdc574d5dc 100644
--- a/src/mame/includes/ninjaw.h
+++ b/src/mame/includes/ninjaw.h
@@ -40,12 +40,15 @@ public:
DECLARE_READ16_MEMBER(ninjaw_sound_r);
DECLARE_WRITE8_MEMBER(ninjaw_pancontrol);
DECLARE_WRITE16_MEMBER(tc0100scn_triple_screen_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/ninjaw.c -----------*/
-VIDEO_START( ninjaw );
+
SCREEN_UPDATE_IND16( ninjaw_left );
SCREEN_UPDATE_IND16( ninjaw_middle );
SCREEN_UPDATE_IND16( ninjaw_right );
diff --git a/src/mame/includes/nitedrvr.h b/src/mame/includes/nitedrvr.h
index 6a441a85511..e1054f41872 100644
--- a/src/mame/includes/nitedrvr.h
+++ b/src/mame/includes/nitedrvr.h
@@ -53,6 +53,9 @@ public:
DECLARE_WRITE8_MEMBER(nitedrvr_videoram_w);
DECLARE_WRITE8_MEMBER(nitedrvr_hvc_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -61,8 +64,8 @@ public:
TIMER_DEVICE_CALLBACK( nitedrvr_crash_toggle_callback );
-MACHINE_RESET( nitedrvr );
-MACHINE_START( nitedrvr );
+
+
/*----------- defined in audio/nitedrvr.c -----------*/
@@ -73,5 +76,5 @@ DISCRETE_SOUND_EXTERN( nitedrvr );
/*----------- defined in video/nitedrvr.c -----------*/
-VIDEO_START( nitedrvr );
+
SCREEN_UPDATE_IND16( nitedrvr );
diff --git a/src/mame/includes/niyanpai.h b/src/mame/includes/niyanpai.h
index 919a4d377a1..d2df48f8008 100644
--- a/src/mame/includes/niyanpai.h
+++ b/src/mame/includes/niyanpai.h
@@ -77,12 +77,14 @@ public:
DECLARE_WRITE16_MEMBER(niyanpai_clutsel_2_w);
DECLARE_CUSTOM_INPUT_MEMBER(musobana_outcoin_flag_r);
DECLARE_DRIVER_INIT(niyanpai);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/niyanpai.c -----------*/
SCREEN_UPDATE_IND16( niyanpai );
-VIDEO_START( niyanpai );
+
diff --git a/src/mame/includes/nmk16.h b/src/mame/includes/nmk16.h
index f07b301f1fd..79ae1d6677b 100644
--- a/src/mame/includes/nmk16.h
+++ b/src/mame/includes/nmk16.h
@@ -115,6 +115,18 @@ public:
TILE_GET_INFO_MEMBER(macross_get_tx_tile_info);
TILE_GET_INFO_MEMBER(bjtwin_get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_tile_info_0_8bit);
+ DECLARE_MACHINE_RESET(mustang_sound);
+ DECLARE_VIDEO_START(macross);
+ DECLARE_MACHINE_RESET(NMK004);
+ DECLARE_VIDEO_START(bioship);
+ DECLARE_VIDEO_START(strahl);
+ DECLARE_VIDEO_START(gunnail);
+ DECLARE_VIDEO_START(macross2);
+ DECLARE_VIDEO_START(raphero);
+ DECLARE_VIDEO_START(bjtwin);
+ DECLARE_VIDEO_START(afega);
+ DECLARE_VIDEO_START(firehawk);
+ DECLARE_VIDEO_START(grdnstrm);
};
@@ -122,13 +134,13 @@ public:
-VIDEO_START( macross );
-VIDEO_START( gunnail );
-VIDEO_START( macross2 );
-VIDEO_START( raphero );
-VIDEO_START( bjtwin );
-VIDEO_START( bioship );
-VIDEO_START( strahl );
+
+
+
+
+
+
+
SCREEN_UPDATE_IND16( macross );
SCREEN_UPDATE_IND16( manybloc );
SCREEN_UPDATE_IND16( tharrier );
@@ -140,9 +152,9 @@ SCREEN_UPDATE_IND16( bjtwin );
SCREEN_VBLANK( nmk );
SCREEN_VBLANK( strahl );
-VIDEO_START( afega );
-VIDEO_START( grdnstrm );
-VIDEO_START( firehawk );
+
+
+
SCREEN_UPDATE_IND16( afega );
SCREEN_UPDATE_IND16( redhawkb );
SCREEN_UPDATE_IND16(redhawki );
diff --git a/src/mame/includes/norautp.h b/src/mame/includes/norautp.h
index 8e30ae1598f..bebc4616313 100644
--- a/src/mame/includes/norautp.h
+++ b/src/mame/includes/norautp.h
@@ -25,6 +25,8 @@ public:
DECLARE_DRIVER_INIT(ssa);
DECLARE_DRIVER_INIT(enc);
DECLARE_DRIVER_INIT(deb);
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mame/includes/nova2001.h b/src/mame/includes/nova2001.h
index 5e1d2c52b5d..2ef3c84b52e 100644
--- a/src/mame/includes/nova2001.h
+++ b/src/mame/includes/nova2001.h
@@ -34,6 +34,12 @@ public:
TILE_GET_INFO_MEMBER(pkunwar_get_bg_tile_info);
TILE_GET_INFO_MEMBER(raiders5_get_bg_tile_info);
TILE_GET_INFO_MEMBER(raiders5_get_fg_tile_info);
+ DECLARE_VIDEO_START(nova2001);
+ DECLARE_PALETTE_INIT(nova2001);
+ DECLARE_MACHINE_START(ninjakun);
+ DECLARE_VIDEO_START(ninjakun);
+ DECLARE_VIDEO_START(pkunwar);
+ DECLARE_VIDEO_START(raiders5);
};
diff --git a/src/mame/includes/nycaptor.h b/src/mame/includes/nycaptor.h
index d92a9f937ce..8327792f3d9 100644
--- a/src/mame/includes/nycaptor.h
+++ b/src/mame/includes/nycaptor.h
@@ -99,6 +99,10 @@ public:
DECLARE_DRIVER_INIT(bronx);
DECLARE_DRIVER_INIT(nycaptor);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(ta7630);
};
@@ -111,5 +115,5 @@ public:
-VIDEO_START( nycaptor );
+
SCREEN_UPDATE_IND16( nycaptor );
diff --git a/src/mame/includes/offtwall.h b/src/mame/includes/offtwall.h
index 03d6de4b6af..0770c479ac9 100644
--- a/src/mame/includes/offtwall.h
+++ b/src/mame/includes/offtwall.h
@@ -30,10 +30,13 @@ public:
DECLARE_DRIVER_INIT(offtwall);
DECLARE_DRIVER_INIT(offtwalc);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(offtwall);
+ DECLARE_MACHINE_RESET(offtwall);
+ DECLARE_VIDEO_START(offtwall);
};
/*----------- defined in video/offtwall.c -----------*/
-VIDEO_START( offtwall );
+
SCREEN_UPDATE_IND16( offtwall );
diff --git a/src/mame/includes/ohmygod.h b/src/mame/includes/ohmygod.h
index 37bf4978b44..9c1341c97c0 100644
--- a/src/mame/includes/ohmygod.h
+++ b/src/mame/includes/ohmygod.h
@@ -34,11 +34,14 @@ public:
DECLARE_DRIVER_INIT(ohmygod);
DECLARE_DRIVER_INIT(naname);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/ohmygod.c -----------*/
-VIDEO_START( ohmygod );
+
SCREEN_UPDATE_IND16( ohmygod );
diff --git a/src/mame/includes/ojankohs.h b/src/mame/includes/ojankohs.h
index fce069022db..80e3da148a6 100644
--- a/src/mame/includes/ojankohs.h
+++ b/src/mame/includes/ojankohs.h
@@ -61,17 +61,26 @@ public:
DECLARE_READ8_MEMBER(ojankohs_ay8910_1_r);
TILE_GET_INFO_MEMBER(ojankohs_get_tile_info);
TILE_GET_INFO_MEMBER(ojankoy_get_tile_info);
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(ojankohs);
+ DECLARE_VIDEO_START(ojankohs);
+ DECLARE_MACHINE_START(ojankoy);
+ DECLARE_VIDEO_START(ojankoy);
+ DECLARE_PALETTE_INIT(ojankoy);
+ DECLARE_MACHINE_START(ojankoc);
+ DECLARE_VIDEO_START(ojankoc);
+ DECLARE_MACHINE_START(common);
};
/*----------- defined in video/ojankohs.c -----------*/
-PALETTE_INIT( ojankoy );
-VIDEO_START( ojankohs );
-VIDEO_START( ojankoy );
-VIDEO_START( ojankoc );
+
+
+
+
SCREEN_UPDATE_IND16( ojankohs );
SCREEN_UPDATE_IND16( ojankoc );
diff --git a/src/mame/includes/oneshot.h b/src/mame/includes/oneshot.h
index 63f331d21a5..70e4004147b 100644
--- a/src/mame/includes/oneshot.h
+++ b/src/mame/includes/oneshot.h
@@ -46,11 +46,14 @@ public:
TILE_GET_INFO_MEMBER(get_oneshot_bg_tile_info);
TILE_GET_INFO_MEMBER(get_oneshot_mid_tile_info);
TILE_GET_INFO_MEMBER(get_oneshot_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/oneshot.c -----------*/
-VIDEO_START( oneshot );
+
SCREEN_UPDATE_IND16( oneshot );
SCREEN_UPDATE_IND16( maddonna );
diff --git a/src/mame/includes/opwolf.h b/src/mame/includes/opwolf.h
index 769ab092088..7e55ecf67cf 100644
--- a/src/mame/includes/opwolf.h
+++ b/src/mame/includes/opwolf.h
@@ -70,6 +70,8 @@ public:
DECLARE_WRITE8_MEMBER(opwolf_adpcm_c_w);
DECLARE_DRIVER_INIT(opwolf);
DECLARE_DRIVER_INIT(opwolfb);
+ virtual void machine_start();
+ DECLARE_MACHINE_RESET(opwolf);
};
diff --git a/src/mame/includes/orbit.h b/src/mame/includes/orbit.h
index ffd4abaede4..c6c0dc5365c 100644
--- a/src/mame/includes/orbit.h
+++ b/src/mame/includes/orbit.h
@@ -40,6 +40,9 @@ public:
DECLARE_WRITE8_MEMBER(orbit_misc_w);
DECLARE_WRITE8_MEMBER(orbit_playfield_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -54,6 +57,6 @@ DISCRETE_SOUND_EXTERN( orbit );
/*----------- defined in video/orbit.c -----------*/
-VIDEO_START( orbit );
+
SCREEN_UPDATE_IND16( orbit );
diff --git a/src/mame/includes/othldrby.h b/src/mame/includes/othldrby.h
index 8b8179fede5..bdbdefd3ee7 100644
--- a/src/mame/includes/othldrby.h
+++ b/src/mame/includes/othldrby.h
@@ -38,12 +38,15 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info0);
TILE_GET_INFO_MEMBER(get_tile_info1);
TILE_GET_INFO_MEMBER(get_tile_info2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/othldrby.c -----------*/
-VIDEO_START( othldrby );
+
SCREEN_VBLANK( othldrby );
SCREEN_UPDATE_IND16( othldrby );
diff --git a/src/mame/includes/othunder.h b/src/mame/includes/othunder.h
index 02f2eddba84..717dc6e8269 100644
--- a/src/mame/includes/othunder.h
+++ b/src/mame/includes/othunder.h
@@ -59,10 +59,13 @@ public:
DECLARE_WRITE16_MEMBER(othunder_sound_w);
DECLARE_READ16_MEMBER(othunder_sound_r);
DECLARE_WRITE8_MEMBER(othunder_TC0310FAM_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/othunder.c -----------*/
-VIDEO_START( othunder );
+
SCREEN_UPDATE_IND16( othunder );
diff --git a/src/mame/includes/overdriv.h b/src/mame/includes/overdriv.h
index 9bd37de01c3..ef28ac6c9bf 100644
--- a/src/mame/includes/overdriv.h
+++ b/src/mame/includes/overdriv.h
@@ -40,6 +40,8 @@ public:
DECLARE_WRITE16_MEMBER(overdriv_cpuB_irq6_w);
DECLARE_READ8_MEMBER(overdriv_1_sound_r);
DECLARE_READ8_MEMBER(overdriv_2_sound_r);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in video/overdriv.c -----------*/
diff --git a/src/mame/includes/pacland.h b/src/mame/includes/pacland.h
index 8339f726a8e..20f7fef81c9 100644
--- a/src/mame/includes/pacland.h
+++ b/src/mame/includes/pacland.h
@@ -35,12 +35,14 @@ public:
DECLARE_WRITE8_MEMBER(pacland_bankswitch_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/pacland.c -----------*/
-PALETTE_INIT( pacland );
-VIDEO_START( pacland );
+
+
SCREEN_UPDATE_IND16( pacland );
diff --git a/src/mame/includes/pacman.h b/src/mame/includes/pacman.h
index 0ecc08c03a4..a84a5560d26 100644
--- a/src/mame/includes/pacman.h
+++ b/src/mame/includes/pacman.h
@@ -122,23 +122,35 @@ public:
TILE_GET_INFO_MEMBER(s2650_get_tile_info);
TILEMAP_MAPPER_MEMBER(jrpacman_scan_rows);
TILE_GET_INFO_MEMBER(jrpacman_get_tile_info);
+ DECLARE_VIDEO_START(pacman);
+ DECLARE_PALETTE_INIT(pacman);
+ DECLARE_VIDEO_START(birdiy);
+ DECLARE_MACHINE_START(theglobp);
+ DECLARE_MACHINE_RESET(theglobp);
+ DECLARE_MACHINE_START(acitya);
+ DECLARE_MACHINE_RESET(acitya);
+ DECLARE_VIDEO_START(s2650games);
+ DECLARE_MACHINE_RESET(mschamp);
+ DECLARE_MACHINE_RESET(superabc);
+ DECLARE_VIDEO_START(pengo);
+ DECLARE_VIDEO_START(jrpacman);
};
/*----------- defined in video/pacman.c -----------*/
-PALETTE_INIT( pacman );
-VIDEO_START( pacman );
+
+
SCREEN_UPDATE_IND16( pacman );
-VIDEO_START( pengo );
-VIDEO_START( s2650games );
+
+
SCREEN_UPDATE_IND16( s2650games );
-VIDEO_START( jrpacman );
-VIDEO_START( birdiy );
+
+
/*----------- defined in machine/pacplus.c -----------*/
@@ -153,13 +165,13 @@ void jumpshot_decode(running_machine &machine);
/*----------- defined in machine/theglobp.c -----------*/
-MACHINE_START( theglobp );
-MACHINE_RESET( theglobp );
+
+
READ8_HANDLER( theglobp_decrypt_rom );
/*----------- defined in machine/acitya.c -------------*/
-MACHINE_START( acitya );
-MACHINE_RESET( acitya );
+
+
READ8_HANDLER( acitya_decrypt_rom );
diff --git a/src/mame/includes/pandoras.h b/src/mame/includes/pandoras.h
index 74edfe0f84d..080e1383b3f 100644
--- a/src/mame/includes/pandoras.h
+++ b/src/mame/includes/pandoras.h
@@ -46,14 +46,18 @@ public:
DECLARE_READ8_MEMBER(pandoras_portA_r);
DECLARE_READ8_MEMBER(pandoras_portB_r);
TILE_GET_INFO_MEMBER(get_tile_info0);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/pandoras.c -----------*/
-PALETTE_INIT( pandoras );
-VIDEO_START( pandoras );
+
+
SCREEN_UPDATE_IND16( pandoras );
diff --git a/src/mame/includes/paradise.h b/src/mame/includes/paradise.h
index 3e504a01bcd..25c4b75b45c 100644
--- a/src/mame/includes/paradise.h
+++ b/src/mame/includes/paradise.h
@@ -48,6 +48,9 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
TILE_GET_INFO_MEMBER(get_tile_info_2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/paradise.c -----------*/
@@ -55,7 +58,7 @@ public:
-VIDEO_START( paradise );
+
SCREEN_UPDATE_IND16( paradise );
SCREEN_UPDATE_IND16( torus );
diff --git a/src/mame/includes/parodius.h b/src/mame/includes/parodius.h
index 040e7832648..eab4542bf7c 100644
--- a/src/mame/includes/parodius.h
+++ b/src/mame/includes/parodius.h
@@ -40,6 +40,8 @@ public:
DECLARE_WRITE8_MEMBER(parodius_sh_irqtrigger_w);
DECLARE_WRITE8_MEMBER(sound_arm_nmi_w);
DECLARE_READ8_MEMBER(parodius_sound_r);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in video/parodius.c -----------*/
diff --git a/src/mame/includes/pass.h b/src/mame/includes/pass.h
index 92090b39411..2c6ed102c2a 100644
--- a/src/mame/includes/pass.h
+++ b/src/mame/includes/pass.h
@@ -15,11 +15,12 @@ public:
DECLARE_WRITE16_MEMBER(pass_fg_videoram_w);
TILE_GET_INFO_MEMBER(get_pass_bg_tile_info);
TILE_GET_INFO_MEMBER(get_pass_fg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/pass.c -----------*/
-VIDEO_START( pass );
+
SCREEN_UPDATE_IND16( pass );
diff --git a/src/mame/includes/pastelg.h b/src/mame/includes/pastelg.h
index 1a3fe88a6b0..b447f2d8afc 100644
--- a/src/mame/includes/pastelg.h
+++ b/src/mame/includes/pastelg.h
@@ -32,14 +32,16 @@ public:
DECLARE_WRITE8_MEMBER(pastelg_romsel_w);
DECLARE_CUSTOM_INPUT_MEMBER(nb1413m3_hackbusyflag_r);
DECLARE_DRIVER_INIT(pastelg);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/pastelg.c -----------*/
-PALETTE_INIT( pastelg );
+
SCREEN_UPDATE_IND16( pastelg );
-VIDEO_START( pastelg );
+
int pastelg_blitter_src_addr_r(address_space *space);
diff --git a/src/mame/includes/pbaction.h b/src/mame/includes/pbaction.h
index bbd513ac6bd..ed769309ecf 100644
--- a/src/mame/includes/pbaction.h
+++ b/src/mame/includes/pbaction.h
@@ -48,6 +48,9 @@ public:
DECLARE_DRIVER_INIT(pbactio4);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mame/includes/pcktgal.h b/src/mame/includes/pcktgal.h
index 697c980c242..0482b9d3fb7 100644
--- a/src/mame/includes/pcktgal.h
+++ b/src/mame/includes/pcktgal.h
@@ -16,12 +16,13 @@ public:
DECLARE_DRIVER_INIT(pcktgal);
DECLARE_DRIVER_INIT(deco222);
DECLARE_DRIVER_INIT(graphics);
+ virtual void palette_init();
};
/*----------- defined in video/pcktgal.c -----------*/
-PALETTE_INIT( pcktgal );
+
SCREEN_UPDATE_IND16( pcktgal );
SCREEN_UPDATE_IND16( pcktgalb );
diff --git a/src/mame/includes/pgm.h b/src/mame/includes/pgm.h
index 045640a0be1..dc0dab72abb 100644
--- a/src/mame/includes/pgm.h
+++ b/src/mame/includes/pgm.h
@@ -111,6 +111,9 @@ public:
DECLARE_DRIVER_INIT(pstar);
TILE_GET_INFO_MEMBER(get_pgm_tx_tilemap_tile_info);
TILE_GET_INFO_MEMBER(get_pgm_bg_tilemap_tile_info);
+ DECLARE_VIDEO_START(pgm);
+ DECLARE_MACHINE_START(pgm);
+ DECLARE_MACHINE_RESET(pgm);
};
@@ -198,6 +201,7 @@ public:
DECLARE_DRIVER_INIT(kov);
DECLARE_DRIVER_INIT(kovboot);
DECLARE_DRIVER_INIT(oldsplus);
+ DECLARE_MACHINE_START(pgm_arm_type1);
};
/* for machine/pgmprot2.c type games */
@@ -225,6 +229,7 @@ public:
DECLARE_DRIVER_INIT(ddp2);
DECLARE_DRIVER_INIT(dw2001);
DECLARE_DRIVER_INIT(dwpc);
+ DECLARE_MACHINE_START(pgm_arm_type2);
};
@@ -254,6 +259,7 @@ public:
DECLARE_DRIVER_INIT(killbldp);
DECLARE_DRIVER_INIT(dmnfrnt);
DECLARE_DRIVER_INIT(happy6);
+ DECLARE_MACHINE_START(pgm_arm_type3);
};
@@ -275,6 +281,8 @@ public:
DECLARE_DRIVER_INIT(killbld);
DECLARE_DRIVER_INIT(drgw3);
+ DECLARE_MACHINE_RESET(killbld);
+ DECLARE_MACHINE_RESET(dw3);
};
/* for machine/pgmprot6.c type games */
@@ -295,6 +303,7 @@ public:
required_shared_ptr<UINT16> m_sharedprotram;
DECLARE_DRIVER_INIT(olds);
+ DECLARE_MACHINE_RESET(olds);
};
@@ -321,8 +330,8 @@ ADDRESS_MAP_EXTERN( pgm_mem, 16 );
ADDRESS_MAP_EXTERN( pgm_basic_mem, 16 );
ADDRESS_MAP_EXTERN( pgm_base_mem, 16 );
-MACHINE_START( pgm );
-MACHINE_RESET( pgm );
+
+
/*----------- defined in machine/pgmcrypt.c -----------*/
@@ -419,6 +428,6 @@ INPUT_PORTS_EXTERN( olds );
/*----------- defined in video/pgm.c -----------*/
-VIDEO_START( pgm );
+
SCREEN_VBLANK( pgm );
SCREEN_UPDATE_IND16( pgm );
diff --git a/src/mame/includes/phoenix.h b/src/mame/includes/phoenix.h
index d84c76267bc..ab96fc49ac0 100644
--- a/src/mame/includes/phoenix.h
+++ b/src/mame/includes/phoenix.h
@@ -30,6 +30,11 @@ public:
DECLARE_DRIVER_INIT(condor);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ DECLARE_MACHINE_RESET(phoenix);
+ DECLARE_VIDEO_START(phoenix);
+ DECLARE_PALETTE_INIT(phoenix);
+ DECLARE_PALETTE_INIT(survival);
+ DECLARE_PALETTE_INIT(pleiads);
};
@@ -80,10 +85,10 @@ extern const device_type PHOENIX;
/*----------- defined in video/phoenix.c -----------*/
-PALETTE_INIT( phoenix );
-PALETTE_INIT( survival );
-PALETTE_INIT( pleiads );
-VIDEO_START( phoenix );
+
+
+
+
SCREEN_UPDATE_IND16( phoenix );
diff --git a/src/mame/includes/pingpong.h b/src/mame/includes/pingpong.h
index a03f5fea454..02733b7c414 100644
--- a/src/mame/includes/pingpong.h
+++ b/src/mame/includes/pingpong.h
@@ -24,12 +24,14 @@ public:
DECLARE_DRIVER_INIT(cashquiz);
DECLARE_DRIVER_INIT(merlinmm);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/pingpong.c -----------*/
-PALETTE_INIT( pingpong );
-VIDEO_START( pingpong );
+
+
SCREEN_UPDATE_IND16( pingpong );
diff --git a/src/mame/includes/pirates.h b/src/mame/includes/pirates.h
index 73c13252730..c938b3d581e 100644
--- a/src/mame/includes/pirates.h
+++ b/src/mame/includes/pirates.h
@@ -28,11 +28,12 @@ public:
TILE_GET_INFO_MEMBER(get_tx_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/pirates.c -----------*/
-VIDEO_START( pirates );
+
SCREEN_UPDATE_IND16( pirates );
diff --git a/src/mame/includes/pitnrun.h b/src/mame/includes/pitnrun.h
index 8bfcf5939f8..3996bdbba42 100644
--- a/src/mame/includes/pitnrun.h
+++ b/src/mame/includes/pitnrun.h
@@ -48,6 +48,9 @@ public:
DECLARE_WRITE8_MEMBER(pitnrun_color_select_w);
TILE_GET_INFO_MEMBER(get_tile_info1);
TILE_GET_INFO_MEMBER(get_tile_info2);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -55,13 +58,13 @@ public:
-MACHINE_RESET( pitnrun );
+
/*----------- defined in video/pitnrun.c -----------*/
-PALETTE_INIT(pitnrun);
-VIDEO_START(pitnrun);
+
+
SCREEN_UPDATE_IND16(pitnrun);
diff --git a/src/mame/includes/pktgaldx.h b/src/mame/includes/pktgaldx.h
index d4bb1bc3ba1..b463e8e54dc 100644
--- a/src/mame/includes/pktgaldx.h
+++ b/src/mame/includes/pktgaldx.h
@@ -31,6 +31,7 @@ public:
DECLARE_READ16_MEMBER(pckgaldx_protection_r);
DECLARE_WRITE16_MEMBER(pktgaldx_oki_bank_w);
DECLARE_DRIVER_INIT(pktgaldx);
+ virtual void machine_start();
};
diff --git a/src/mame/includes/playch10.h b/src/mame/includes/playch10.h
index 588b9e6545a..350556ff19b 100644
--- a/src/mame/includes/playch10.h
+++ b/src/mame/includes/playch10.h
@@ -108,14 +108,20 @@ public:
DECLARE_DRIVER_INIT(pciboard);
DECLARE_DRIVER_INIT(pcaboard);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(playch10_hboard);
+ DECLARE_VIDEO_START(playch10_hboard);
};
/*----------- defined in machine/playch10.c -----------*/
-MACHINE_RESET( pc10 );
-MACHINE_START( pc10 );
-MACHINE_START( playch10_hboard );
+
+
+
@@ -124,8 +130,8 @@ MACHINE_START( playch10_hboard );
extern const ppu2c0x_interface playch10_ppu_interface;
extern const ppu2c0x_interface playch10_ppu_interface_hboard;
-PALETTE_INIT( playch10 );
-VIDEO_START( playch10 );
-VIDEO_START( playch10_hboard );
+
+
+
SCREEN_UPDATE_IND16( playch10_top );
SCREEN_UPDATE_IND16( playch10_bottom );
diff --git a/src/mame/includes/playmark.h b/src/mame/includes/playmark.h
index e885d3fff89..bce16c9475e 100644
--- a/src/mame/includes/playmark.h
+++ b/src/mame/includes/playmark.h
@@ -88,17 +88,28 @@ public:
TILE_GET_INFO_MEMBER(hrdtimes_get_fg_tile_info);
TILE_GET_INFO_MEMBER(hrdtimes_get_bg_tile_info);
TILE_GET_INFO_MEMBER(powerbal_get_bg_tile_info);
+ DECLARE_MACHINE_START(playmark);
+ DECLARE_MACHINE_RESET(playmark);
+ DECLARE_VIDEO_START(bigtwin);
+ DECLARE_VIDEO_START(bigtwinb);
+ DECLARE_VIDEO_START(wbeachvl);
+ DECLARE_VIDEO_START(excelsr);
+ DECLARE_VIDEO_START(hotmind);
+ DECLARE_VIDEO_START(hrdtimes);
+ DECLARE_MACHINE_START(powerbal);
+ DECLARE_MACHINE_RESET(powerbal);
+ DECLARE_VIDEO_START(powerbal);
};
/*----------- defined in video/playmark.c -----------*/
-VIDEO_START( bigtwin );
-VIDEO_START( bigtwinb );
-VIDEO_START( wbeachvl );
-VIDEO_START( excelsr );
-VIDEO_START( hotmind );
-VIDEO_START( hrdtimes );
+
+
+
+
+
+
SCREEN_UPDATE_IND16( bigtwin );
SCREEN_UPDATE_IND16( bigtwinb );
diff --git a/src/mame/includes/plygonet.h b/src/mame/includes/plygonet.h
index 65deff9de1d..85eb60468dd 100644
--- a/src/mame/includes/plygonet.h
+++ b/src/mame/includes/plygonet.h
@@ -70,10 +70,12 @@ public:
TILE_GET_INFO_MEMBER(roz_get_tile_info);
TILEMAP_MAPPER_MEMBER(plygonet_scan);
TILEMAP_MAPPER_MEMBER(plygonet_scan_cols);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/plygonet.c -----------*/
-VIDEO_START( polygonet );
+
SCREEN_UPDATE_IND16( polygonet );
diff --git a/src/mame/includes/pokechmp.h b/src/mame/includes/pokechmp.h
index 426aaaa4f7f..5fbf747cec6 100644
--- a/src/mame/includes/pokechmp.h
+++ b/src/mame/includes/pokechmp.h
@@ -16,11 +16,12 @@ public:
DECLARE_WRITE8_MEMBER(pokechmp_flipscreen_w);
DECLARE_DRIVER_INIT(pokechmp);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/pokechmp.c -----------*/
-VIDEO_START( pokechmp );
+
SCREEN_UPDATE_IND16( pokechmp );
diff --git a/src/mame/includes/polepos.h b/src/mame/includes/polepos.h
index 4400bd715ef..53f6b4fb97a 100644
--- a/src/mame/includes/polepos.h
+++ b/src/mame/includes/polepos.h
@@ -76,6 +76,9 @@ public:
DECLARE_DRIVER_INIT(polepos2);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(tx_get_tile_info);
+ DECLARE_MACHINE_RESET(polepos);
+ DECLARE_VIDEO_START(polepos);
+ DECLARE_PALETTE_INIT(polepos);
};
@@ -114,8 +117,8 @@ DISCRETE_SOUND_EXTERN( polepos );
/*----------- defined in video/polepos.c -----------*/
-VIDEO_START( polepos );
-PALETTE_INIT( polepos );
+
+
SCREEN_UPDATE_IND16( polepos );
diff --git a/src/mame/includes/policetr.h b/src/mame/includes/policetr.h
index a4cb1f778a3..93daebe8a3d 100644
--- a/src/mame/includes/policetr.h
+++ b/src/mame/includes/policetr.h
@@ -45,6 +45,7 @@ public:
DECLARE_DRIVER_INIT(policetr);
DECLARE_DRIVER_INIT(sshooter);
DECLARE_DRIVER_INIT(plctr13b);
+ virtual void video_start();
};
@@ -52,5 +53,5 @@ public:
-VIDEO_START( policetr );
+
SCREEN_UPDATE_IND16( policetr );
diff --git a/src/mame/includes/polyplay.h b/src/mame/includes/polyplay.h
index 4c78ad7e947..d8e303e9c47 100644
--- a/src/mame/includes/polyplay.h
+++ b/src/mame/includes/polyplay.h
@@ -29,6 +29,9 @@ public:
DECLARE_WRITE8_MEMBER(polyplay_start_timer2);
DECLARE_READ8_MEMBER(polyplay_random_read);
DECLARE_WRITE8_MEMBER(polyplay_characterram_w);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -43,6 +46,6 @@ SAMPLES_START( polyplay_sh_start );
/*----------- defined in video/polyplay.c -----------*/
-PALETTE_INIT( polyplay );
-VIDEO_START( polyplay );
+
+
SCREEN_UPDATE_IND16( polyplay );
diff --git a/src/mame/includes/poolshrk.h b/src/mame/includes/poolshrk.h
index af83d1bbcd8..cbd5a6c3a5c 100644
--- a/src/mame/includes/poolshrk.h
+++ b/src/mame/includes/poolshrk.h
@@ -29,6 +29,8 @@ public:
DECLARE_READ8_MEMBER(poolshrk_irq_reset_r);
DECLARE_DRIVER_INIT(poolshrk);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -44,6 +46,6 @@ DISCRETE_SOUND_EXTERN( poolshrk );
/*----------- defined in video/poolshrk.c -----------*/
-VIDEO_START( poolshrk );
+
SCREEN_UPDATE_IND16( poolshrk );
diff --git a/src/mame/includes/pooyan.h b/src/mame/includes/pooyan.h
index 995eed7bf37..62c7edd0bc9 100644
--- a/src/mame/includes/pooyan.h
+++ b/src/mame/includes/pooyan.h
@@ -28,12 +28,16 @@ public:
DECLARE_WRITE8_MEMBER(pooyan_colorram_w);
DECLARE_WRITE8_MEMBER(pooyan_flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/pooyan.c -----------*/
-PALETTE_INIT( pooyan );
-VIDEO_START( pooyan );
+
+
SCREEN_UPDATE_IND16( pooyan );
diff --git a/src/mame/includes/popeye.h b/src/mame/includes/popeye.h
index 0fe2513117f..4a7d5be62ce 100644
--- a/src/mame/includes/popeye.h
+++ b/src/mame/includes/popeye.h
@@ -36,14 +36,18 @@ public:
DECLARE_DRIVER_INIT(skyskipr);
DECLARE_DRIVER_INIT(popeye);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(popeye);
+ DECLARE_PALETTE_INIT(popeyebl);
};
/*----------- defined in video/popeye.c -----------*/
-PALETTE_INIT( popeye );
-PALETTE_INIT( popeyebl );
-VIDEO_START( skyskipr );
-VIDEO_START( popeye );
+
+
+
+
SCREEN_UPDATE_IND16( popeye );
diff --git a/src/mame/includes/popper.h b/src/mame/includes/popper.h
index 4397d0cb50a..08c888d5231 100644
--- a/src/mame/includes/popper.h
+++ b/src/mame/includes/popper.h
@@ -50,13 +50,17 @@ public:
TILE_GET_INFO_MEMBER(get_popper_p0_tile_info);
TILE_GET_INFO_MEMBER(get_popper_ol_p123_tile_info);
TILE_GET_INFO_MEMBER(get_popper_ol_p0_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/popper.c -----------*/
-PALETTE_INIT( popper );
-VIDEO_START( popper );
+
+
SCREEN_UPDATE_IND16( popper );
diff --git a/src/mame/includes/portrait.h b/src/mame/includes/portrait.h
index 7b4290c8f5f..0e9612dc006 100644
--- a/src/mame/includes/portrait.h
+++ b/src/mame/includes/portrait.h
@@ -20,11 +20,13 @@ public:
DECLARE_WRITE8_MEMBER(portrait_fgvideo_write);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/portrait.c -----------*/
-PALETTE_INIT( portrait );
-VIDEO_START( portrait );
+
+
SCREEN_UPDATE_IND16( portrait );
diff --git a/src/mame/includes/powerins.h b/src/mame/includes/powerins.h
index 1baa033b54e..8b7efe035d3 100644
--- a/src/mame/includes/powerins.h
+++ b/src/mame/includes/powerins.h
@@ -28,6 +28,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILEMAP_MAPPER_MEMBER(powerins_get_memory_offset_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -36,5 +38,5 @@ public:
-VIDEO_START( powerins );
+
SCREEN_UPDATE_IND16( powerins );
diff --git a/src/mame/includes/prehisle.h b/src/mame/includes/prehisle.h
index 8b21489ed1e..841ef34ccb6 100644
--- a/src/mame/includes/prehisle.h
+++ b/src/mame/includes/prehisle.h
@@ -26,11 +26,12 @@ public:
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/prehisle.c -----------*/
-VIDEO_START( prehisle );
+
SCREEN_UPDATE_IND16( prehisle );
diff --git a/src/mame/includes/psikyo.h b/src/mame/includes/psikyo.h
index e3de8741d19..47894006c24 100644
--- a/src/mame/includes/psikyo.h
+++ b/src/mame/includes/psikyo.h
@@ -85,6 +85,10 @@ public:
DECLARE_DRIVER_INIT(gunbird);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(sngkace);
+ DECLARE_VIDEO_START(psikyo);
};
@@ -93,8 +97,8 @@ public:
void psikyo_switch_banks(running_machine &machine, int tmap, int bank);
-VIDEO_START( sngkace );
-VIDEO_START( psikyo );
+
+
SCREEN_UPDATE_IND16( psikyo );
SCREEN_UPDATE_IND16( psikyo_bootleg );
SCREEN_VBLANK( psikyo );
diff --git a/src/mame/includes/psikyo4.h b/src/mame/includes/psikyo4.h
index 98d4a5e8dfb..3600465fe0c 100644
--- a/src/mame/includes/psikyo4.h
+++ b/src/mame/includes/psikyo4.h
@@ -47,11 +47,14 @@ public:
DECLARE_WRITE32_MEMBER(ps4_eeprom_w);
DECLARE_READ32_MEMBER(ps4_eeprom_r);
DECLARE_DRIVER_INIT(hotgmck);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/psikyo4.c -----------*/
-VIDEO_START( psikyo4 );
+
SCREEN_UPDATE_IND16( psikyo4_left );
SCREEN_UPDATE_IND16( psikyo4_right );
diff --git a/src/mame/includes/psikyosh.h b/src/mame/includes/psikyosh.h
index 516fd721fe9..da9a5e7437e 100644
--- a/src/mame/includes/psikyosh.h
+++ b/src/mame/includes/psikyosh.h
@@ -63,10 +63,12 @@ public:
DECLARE_DRIVER_INIT(dragnblz);
DECLARE_DRIVER_INIT(gunbird2);
DECLARE_DRIVER_INIT(s1945ii);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/psikyosh.c -----------*/
-VIDEO_START( psikyosh );
+
SCREEN_UPDATE_RGB32( psikyosh );
SCREEN_VBLANK( psikyosh );
diff --git a/src/mame/includes/psychic5.h b/src/mame/includes/psychic5.h
index 575c72e443d..8ab2988b2b9 100644
--- a/src/mame/includes/psychic5.h
+++ b/src/mame/includes/psychic5.h
@@ -40,6 +40,11 @@ public:
DECLARE_WRITE8_MEMBER(bombsa_unknown_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(psychic5);
+ DECLARE_VIDEO_RESET(psychic5);
+ DECLARE_VIDEO_START(bombsa);
+ DECLARE_VIDEO_RESET(bombsa);
};
@@ -47,11 +52,11 @@ public:
-VIDEO_START( psychic5 );
-VIDEO_RESET( psychic5 );
+
+
SCREEN_UPDATE_RGB32( psychic5 );
-VIDEO_START( bombsa );
-VIDEO_RESET( bombsa );
+
+
SCREEN_UPDATE_RGB32( bombsa );
diff --git a/src/mame/includes/punchout.h b/src/mame/includes/punchout.h
index 8941aeab1aa..3d7c378f08a 100644
--- a/src/mame/includes/punchout.h
+++ b/src/mame/includes/punchout.h
@@ -60,14 +60,17 @@ public:
TILE_GET_INFO_MEMBER(armwrest_fg_get_info);
TILEMAP_MAPPER_MEMBER(armwrest_bs1_scan);
TILEMAP_MAPPER_MEMBER(armwrest_bs1_scan_flipx);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(armwrest);
};
/*----------- defined in video/punchout.c -----------*/
-VIDEO_START( punchout );
-VIDEO_START( armwrest );
+
+
SCREEN_UPDATE_IND16( punchout_top );
SCREEN_UPDATE_IND16( punchout_bottom );
SCREEN_UPDATE_IND16( armwrest_top );
diff --git a/src/mame/includes/pushman.h b/src/mame/includes/pushman.h
index 9e52f65e1a7..f65f5bf4ec6 100644
--- a/src/mame/includes/pushman.h
+++ b/src/mame/includes/pushman.h
@@ -44,12 +44,16 @@ public:
TILEMAP_MAPPER_MEMBER(background_scan_rows);
TILE_GET_INFO_MEMBER(get_back_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(pushman);
+ DECLARE_MACHINE_RESET(bballs);
};
/*----------- defined in video/pushman.c -----------*/
-VIDEO_START( pushman );
+
SCREEN_UPDATE_IND16( pushman );
diff --git a/src/mame/includes/qdrmfgp.h b/src/mame/includes/qdrmfgp.h
index f7200bb554c..a386b8d0953 100644
--- a/src/mame/includes/qdrmfgp.h
+++ b/src/mame/includes/qdrmfgp.h
@@ -33,12 +33,17 @@ public:
DECLARE_WRITE16_MEMBER(ide_alt_w);
DECLARE_WRITE_LINE_MEMBER(qdrmfgp_irq3_ack_w);
DECLARE_WRITE_LINE_MEMBER(qdrmfgp_irq4_ack_w);
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(qdrmfgp);
+ DECLARE_VIDEO_START(qdrmfgp);
+ DECLARE_MACHINE_START(qdrmfgp2);
+ DECLARE_VIDEO_START(qdrmfgp2);
};
/*----------- defined in video/qdrmfgp.c -----------*/
-VIDEO_START( qdrmfgp );
-VIDEO_START( qdrmfgp2 );
+
+
SCREEN_UPDATE_IND16( qdrmfgp );
void qdrmfgp_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags);
diff --git a/src/mame/includes/qix.h b/src/mame/includes/qix.h
index b83be78e851..394c287f792 100644
--- a/src/mame/includes/qix.h
+++ b/src/mame/includes/qix.h
@@ -81,6 +81,9 @@ public:
DECLARE_DRIVER_INIT(slither);
DECLARE_DRIVER_INIT(zookeep);
DECLARE_DRIVER_INIT(kram3);
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(qixmcu);
+ DECLARE_VIDEO_START(qix);
};
@@ -95,8 +98,8 @@ extern const pia6821_interface slither_pia_1_intf;
extern const pia6821_interface slither_pia_2_intf;
-MACHINE_START( qixmcu );
-MACHINE_RESET( qix );
+
+
diff --git a/src/mame/includes/quasar.h b/src/mame/includes/quasar.h
index b430fe6b6a0..aa3f1f654d9 100644
--- a/src/mame/includes/quasar.h
+++ b/src/mame/includes/quasar.h
@@ -24,11 +24,15 @@ public:
DECLARE_WRITE8_MEMBER(quasar_sh_command_w);
DECLARE_READ8_MEMBER(quasar_sh_command_r);
DECLARE_READ8_MEMBER(audio_t1_r);
+ DECLARE_MACHINE_START(quasar);
+ DECLARE_MACHINE_RESET(quasar);
+ DECLARE_VIDEO_START(quasar);
+ DECLARE_PALETTE_INIT(quasar);
};
/*----------- defined in video/quasar.c -----------*/
-PALETTE_INIT( quasar );
+
SCREEN_UPDATE_IND16( quasar );
-VIDEO_START( quasar );
+
diff --git a/src/mame/includes/quizdna.h b/src/mame/includes/quizdna.h
index 3587cff481d..7ff554d8047 100644
--- a/src/mame/includes/quizdna.h
+++ b/src/mame/includes/quizdna.h
@@ -23,12 +23,13 @@ public:
DECLARE_WRITE8_MEMBER(paletteram_xBGR_RRRR_GGGG_BBBB_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/quizdna.c -----------*/
-VIDEO_START( quizdna );
+
SCREEN_UPDATE_IND16( quizdna );
diff --git a/src/mame/includes/quizpani.h b/src/mame/includes/quizpani.h
index ac2cb7e7ba2..a95c44d410d 100644
--- a/src/mame/includes/quizpani.h
+++ b/src/mame/includes/quizpani.h
@@ -20,11 +20,12 @@ public:
TILEMAP_MAPPER_MEMBER(bg_scan);
TILE_GET_INFO_MEMBER(bg_tile_info);
TILE_GET_INFO_MEMBER(txt_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/quizpani.c -----------*/
-VIDEO_START( quizpani );
+
SCREEN_UPDATE_IND16( quizpani );
diff --git a/src/mame/includes/raiden.h b/src/mame/includes/raiden.h
index 0abe5f16d43..288288cbffc 100644
--- a/src/mame/includes/raiden.h
+++ b/src/mame/includes/raiden.h
@@ -37,11 +37,13 @@ public:
TILE_GET_INFO_MEMBER(get_back_tile_info);
TILE_GET_INFO_MEMBER(get_fore_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ virtual void video_start();
+ DECLARE_VIDEO_START(raidena);
};
/*----------- defined in video/raiden.c -----------*/
-VIDEO_START( raiden );
-VIDEO_START( raidena );
+
+
SCREEN_UPDATE_IND16( raiden );
diff --git a/src/mame/includes/raiden2.h b/src/mame/includes/raiden2.h
index 403c80170b5..366f22c1ac7 100644
--- a/src/mame/includes/raiden2.h
+++ b/src/mame/includes/raiden2.h
@@ -143,6 +143,11 @@ public:
TILE_GET_INFO_MEMBER(get_mid_tile_info);
TILE_GET_INFO_MEMBER(get_fore_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ DECLARE_MACHINE_RESET(raiden2);
+ DECLARE_VIDEO_START(raiden2);
+ DECLARE_MACHINE_RESET(zeroteam);
+ DECLARE_MACHINE_RESET(xsedae);
+ DECLARE_MACHINE_RESET(raidendx);
};
diff --git a/src/mame/includes/rainbow.h b/src/mame/includes/rainbow.h
index baa26b090b0..891cec7520c 100644
--- a/src/mame/includes/rainbow.h
+++ b/src/mame/includes/rainbow.h
@@ -45,6 +45,8 @@ public:
DECLARE_DRIVER_INIT(jumping);
DECLARE_DRIVER_INIT(rbislande);
DECLARE_DRIVER_INIT(rbisland);
+ virtual void machine_start();
+ DECLARE_VIDEO_START(jumping);
};
@@ -56,6 +58,6 @@ void rbisland_cchip_init(running_machine &machine, int version);
/*----------- defined in video/rainbow.c -----------*/
SCREEN_UPDATE_IND16( rainbow );
-VIDEO_START( jumping );
+
SCREEN_UPDATE_IND16( jumping );
diff --git a/src/mame/includes/rallyx.h b/src/mame/includes/rallyx.h
index 8b4d0cbe1f6..b4e1ad021af 100644
--- a/src/mame/includes/rallyx.h
+++ b/src/mame/includes/rallyx.h
@@ -53,18 +53,26 @@ public:
TILE_GET_INFO_MEMBER(rallyx_fg_get_tile_info);
TILE_GET_INFO_MEMBER(locomotn_bg_get_tile_info);
TILE_GET_INFO_MEMBER(locomotn_fg_get_tile_info);
+ DECLARE_MACHINE_START(rallyx);
+ DECLARE_MACHINE_RESET(rallyx);
+ DECLARE_VIDEO_START(rallyx);
+ DECLARE_PALETTE_INIT(rallyx);
+ DECLARE_VIDEO_START(jungler);
+ DECLARE_PALETTE_INIT(jungler);
+ DECLARE_VIDEO_START(locomotn);
+ DECLARE_VIDEO_START(commsega);
};
/*----------- defined in video/rallyx.c -----------*/
-PALETTE_INIT( rallyx );
-PALETTE_INIT( jungler );
-VIDEO_START( rallyx );
-VIDEO_START( jungler );
-VIDEO_START( locomotn );
-VIDEO_START( commsega );
+
+
+
+
+
+
SCREEN_UPDATE_IND16( rallyx );
SCREEN_UPDATE_IND16( jungler );
SCREEN_UPDATE_IND16( locomotn );
diff --git a/src/mame/includes/rampart.h b/src/mame/includes/rampart.h
index 71766d0fe6a..d7ef5466c2e 100644
--- a/src/mame/includes/rampart.h
+++ b/src/mame/includes/rampart.h
@@ -17,10 +17,13 @@ public:
UINT8 m_has_mo;
DECLARE_WRITE16_MEMBER(latch_w);
DECLARE_DRIVER_INIT(rampart);
+ DECLARE_MACHINE_START(rampart);
+ DECLARE_MACHINE_RESET(rampart);
+ DECLARE_VIDEO_START(rampart);
};
/*----------- defined in video/rampart.c -----------*/
-VIDEO_START( rampart );
+
SCREEN_UPDATE_IND16( rampart );
diff --git a/src/mame/includes/rastan.h b/src/mame/includes/rastan.h
index 5ec21d43c84..654f464576b 100644
--- a/src/mame/includes/rastan.h
+++ b/src/mame/includes/rastan.h
@@ -31,6 +31,8 @@ public:
DECLARE_WRITE8_MEMBER(rastan_bankswitch_w);
DECLARE_WRITE8_MEMBER(rastan_msm5205_start_w);
DECLARE_WRITE8_MEMBER(rastan_msm5205_stop_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/realbrk.h b/src/mame/includes/realbrk.h
index 53d04be8bdc..eef4200d951 100644
--- a/src/mame/includes/realbrk.h
+++ b/src/mame/includes/realbrk.h
@@ -43,6 +43,7 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
TILE_GET_INFO_MEMBER(get_tile_info_2);
+ virtual void video_start();
};
@@ -51,7 +52,7 @@ public:
#ifndef REALBRK_H
#define REALBRK_H
-VIDEO_START(realbrk);
+
SCREEN_UPDATE_IND16(realbrk);
SCREEN_UPDATE_IND16(dai2kaku);
diff --git a/src/mame/includes/redalert.h b/src/mame/includes/redalert.h
index a694c61a061..8b873b1374f 100644
--- a/src/mame/includes/redalert.h
+++ b/src/mame/includes/redalert.h
@@ -35,6 +35,8 @@ public:
DECLARE_WRITE8_MEMBER(redalert_ay8910_latch_2_w);
DECLARE_WRITE8_MEMBER(redalert_voice_command_w);
DECLARE_WRITE8_MEMBER(demoneye_audio_command_w);
+ DECLARE_VIDEO_START(redalert);
+ DECLARE_VIDEO_START(ww3);
};
diff --git a/src/mame/includes/relief.h b/src/mame/includes/relief.h
index a0b545ee7bc..a61e5071a20 100644
--- a/src/mame/includes/relief.h
+++ b/src/mame/includes/relief.h
@@ -23,10 +23,13 @@ public:
DECLARE_DRIVER_INIT(relief);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
+ DECLARE_MACHINE_START(relief);
+ DECLARE_MACHINE_RESET(relief);
+ DECLARE_VIDEO_START(relief);
};
/*----------- defined in video/relief.c -----------*/
-VIDEO_START( relief );
+
SCREEN_UPDATE_IND16( relief );
diff --git a/src/mame/includes/renegade.h b/src/mame/includes/renegade.h
index a0a1b1fb5cd..c4f70f47a71 100644
--- a/src/mame/includes/renegade.h
+++ b/src/mame/includes/renegade.h
@@ -69,10 +69,13 @@ public:
DECLARE_DRIVER_INIT(renegade);
TILE_GET_INFO_MEMBER(get_bg_tilemap_info);
TILE_GET_INFO_MEMBER(get_fg_tilemap_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/renegade.c -----------*/
SCREEN_UPDATE_IND16( renegade );
-VIDEO_START( renegade );
+
diff --git a/src/mame/includes/retofinv.h b/src/mame/includes/retofinv.h
index 87babf9b685..b185def5ec0 100644
--- a/src/mame/includes/retofinv.h
+++ b/src/mame/includes/retofinv.h
@@ -59,6 +59,8 @@ public:
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(fg_get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -68,6 +70,6 @@ public:
/*----------- defined in video/retofinv.c -----------*/
-VIDEO_START( retofinv );
-PALETTE_INIT( retofinv );
+
+
SCREEN_UPDATE_IND16( retofinv );
diff --git a/src/mame/includes/rltennis.h b/src/mame/includes/rltennis.h
index ad24cd6330b..e66766090a3 100644
--- a/src/mame/includes/rltennis.h
+++ b/src/mame/includes/rltennis.h
@@ -43,10 +43,13 @@ public:
DECLARE_WRITE16_MEMBER(rlt_snd1_w);
DECLARE_WRITE16_MEMBER(rlt_snd2_w);
DECLARE_WRITE16_MEMBER(rlt_blitter_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-VIDEO_START( rltennis );
+
SCREEN_UPDATE_IND16( rltennis );
diff --git a/src/mame/includes/rockrage.h b/src/mame/includes/rockrage.h
index 4e527ed20c3..6e83ff6a021 100644
--- a/src/mame/includes/rockrage.h
+++ b/src/mame/includes/rockrage.h
@@ -27,6 +27,9 @@ public:
DECLARE_WRITE8_MEMBER(rockrage_vreg_w);
DECLARE_READ8_MEMBER(rockrage_VLM5030_busy_r);
DECLARE_WRITE8_MEMBER(rockrage_speech_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -34,7 +37,7 @@ public:
SCREEN_UPDATE_IND16( rockrage );
-PALETTE_INIT( rockrage );
+
void rockrage_tile_callback(running_machine &machine, int layer, int bank, int *code, int *color, int *flags);
void rockrage_sprite_callback(running_machine &machine, int *code, int *color);
diff --git a/src/mame/includes/rocnrope.h b/src/mame/includes/rocnrope.h
index 3161aac1743..ffa304d6e5e 100644
--- a/src/mame/includes/rocnrope.h
+++ b/src/mame/includes/rocnrope.h
@@ -26,11 +26,13 @@ public:
DECLARE_DRIVER_INIT(rocnrope);
DECLARE_DRIVER_INIT(rocnropk);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/rocnrope.c -----------*/
-PALETTE_INIT( rocnrope );
-VIDEO_START( rocnrope );
+
+
SCREEN_UPDATE_IND16( rocnrope );
diff --git a/src/mame/includes/rohga.h b/src/mame/includes/rohga.h
index fd72bfabf4b..4c19e285132 100644
--- a/src/mame/includes/rohga.h
+++ b/src/mame/includes/rohga.h
@@ -54,6 +54,9 @@ public:
DECLARE_DRIVER_INIT(nitrobal);
DECLARE_DRIVER_INIT(schmeisr);
DECLARE_DRIVER_INIT(rohga);
+ DECLARE_VIDEO_START(rohga);
+ DECLARE_VIDEO_START(wizdfire);
+ DECLARE_VIDEO_START(schmeisr);
};
@@ -61,9 +64,9 @@ public:
/*----------- defined in video/rohga.c -----------*/
-VIDEO_START( rohga );
-VIDEO_START( schmeisr );
-VIDEO_START( wizdfire );
+
+
+
SCREEN_UPDATE_IND16( rohga );
diff --git a/src/mame/includes/rollerg.h b/src/mame/includes/rollerg.h
index 6af58cda337..382f13e184b 100644
--- a/src/mame/includes/rollerg.h
+++ b/src/mame/includes/rollerg.h
@@ -33,6 +33,9 @@ public:
DECLARE_READ8_MEMBER(pip_r);
DECLARE_READ8_MEMBER(rollerg_sound_r);
DECLARE_WRITE_LINE_MEMBER(rollerg_irq_ack_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/rollerg.c -----------*/
@@ -40,5 +43,5 @@ public:
extern void rollerg_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask);
extern void rollerg_zoom_callback(running_machine &machine, int *code,int *color,int *flags);
-VIDEO_START( rollerg );
+
SCREEN_UPDATE_IND16( rollerg );
diff --git a/src/mame/includes/rollrace.h b/src/mame/includes/rollrace.h
index f45948d19ea..c147800b7cd 100644
--- a/src/mame/includes/rollrace.h
+++ b/src/mame/includes/rollrace.h
@@ -33,12 +33,13 @@ public:
DECLARE_WRITE8_MEMBER(rollrace_backgroundcolor_w);
DECLARE_WRITE8_MEMBER(rollrace_flipy_w);
DECLARE_WRITE8_MEMBER(rollrace_flipx_w);
+ virtual void palette_init();
};
/*----------- defined in video/rollrace.c -----------*/
-PALETTE_INIT( rollrace );
+
SCREEN_UPDATE_IND16( rollrace );
diff --git a/src/mame/includes/rpunch.h b/src/mame/includes/rpunch.h
index 733b3016600..45ffa2f584d 100644
--- a/src/mame/includes/rpunch.h
+++ b/src/mame/includes/rpunch.h
@@ -37,11 +37,13 @@ public:
DECLARE_DRIVER_INIT(svolley);
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/rpunch.c -----------*/
-VIDEO_START( rpunch );
+
SCREEN_UPDATE_IND16( rpunch );
diff --git a/src/mame/includes/runaway.h b/src/mame/includes/runaway.h
index 24bf48b21ec..a44d0584bfb 100644
--- a/src/mame/includes/runaway.h
+++ b/src/mame/includes/runaway.h
@@ -20,13 +20,17 @@ public:
DECLARE_READ8_MEMBER(runaway_pot_r);
TILE_GET_INFO_MEMBER(runaway_get_tile_info);
TILE_GET_INFO_MEMBER(qwak_get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(qwak);
};
/*----------- defined in video/runaway.c -----------*/
-VIDEO_START( runaway );
-VIDEO_START( qwak );
+
+
SCREEN_UPDATE_IND16( runaway );
SCREEN_UPDATE_IND16( qwak );
diff --git a/src/mame/includes/rungun.h b/src/mame/includes/rungun.h
index f4b64d9b2af..d1801db80bc 100644
--- a/src/mame/includes/rungun.h
+++ b/src/mame/includes/rungun.h
@@ -49,6 +49,9 @@ public:
DECLARE_WRITE16_MEMBER(rng_936_videoram_w);
TILE_GET_INFO_MEMBER(ttl_get_tile_info);
TILE_GET_INFO_MEMBER(get_rng_936_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -59,5 +62,5 @@ public:
extern void rng_sprite_callback(running_machine &machine, int *code, int *color, int *priority_mask);
-VIDEO_START( rng );
+
SCREEN_UPDATE_IND16( rng );
diff --git a/src/mame/includes/sauro.h b/src/mame/includes/sauro.h
index f5903627636..dd5fe188ea9 100644
--- a/src/mame/includes/sauro.h
+++ b/src/mame/includes/sauro.h
@@ -34,14 +34,16 @@ public:
DECLARE_DRIVER_INIT(tecfri);
TILE_GET_INFO_MEMBER(get_tile_info_bg);
TILE_GET_INFO_MEMBER(get_tile_info_fg);
+ DECLARE_VIDEO_START(trckydoc);
+ DECLARE_VIDEO_START(sauro);
};
/*----------- defined in video/sauro.c -----------*/
-VIDEO_START( sauro );
-VIDEO_START( trckydoc );
+
+
SCREEN_UPDATE_IND16( sauro );
SCREEN_UPDATE_IND16( trckydoc );
diff --git a/src/mame/includes/sbasketb.h b/src/mame/includes/sbasketb.h
index 47813fb4de4..a0d6b169266 100644
--- a/src/mame/includes/sbasketb.h
+++ b/src/mame/includes/sbasketb.h
@@ -40,11 +40,13 @@ public:
DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/sbasketb.c -----------*/
-PALETTE_INIT( sbasketb );
-VIDEO_START( sbasketb );
+
+
SCREEN_UPDATE_IND16( sbasketb );
diff --git a/src/mame/includes/sbugger.h b/src/mame/includes/sbugger.h
index 02abcf82f36..8066761ba4f 100644
--- a/src/mame/includes/sbugger.h
+++ b/src/mame/includes/sbugger.h
@@ -14,11 +14,13 @@ public:
DECLARE_WRITE8_MEMBER(sbugger_videoram_attr_w);
DECLARE_WRITE_LINE_MEMBER(sbugger_interrupt);
TILE_GET_INFO_MEMBER(get_sbugger_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/sbugger.c -----------*/
-PALETTE_INIT(sbugger);
+
SCREEN_UPDATE_IND16(sbugger);
-VIDEO_START(sbugger);
+
diff --git a/src/mame/includes/scotrsht.h b/src/mame/includes/scotrsht.h
index 838000f7353..f816464f68f 100644
--- a/src/mame/includes/scotrsht.h
+++ b/src/mame/includes/scotrsht.h
@@ -23,12 +23,14 @@ public:
DECLARE_WRITE8_MEMBER(scotrsht_charbank_w);
DECLARE_WRITE8_MEMBER(scotrsht_palettebank_w);
TILE_GET_INFO_MEMBER(scotrsht_get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/scotrsht.c -----------*/
-PALETTE_INIT( scotrsht );
-VIDEO_START( scotrsht );
+
+
SCREEN_UPDATE_IND16( scotrsht );
diff --git a/src/mame/includes/scramble.h b/src/mame/includes/scramble.h
index 84bb5ac4043..1bc298f31f2 100644
--- a/src/mame/includes/scramble.h
+++ b/src/mame/includes/scramble.h
@@ -51,6 +51,8 @@ public:
DECLARE_DRIVER_INIT(hustler);
DECLARE_DRIVER_INIT(hustlerd);
DECLARE_DRIVER_INIT(billiard);
+ DECLARE_MACHINE_RESET(scramble);
+ DECLARE_MACHINE_RESET(explorer);
};
@@ -61,8 +63,8 @@ extern const i8255_interface(scramble_ppi_1_intf);
extern const i8255_interface(stratgyx_ppi_1_intf);
-MACHINE_RESET( scramble );
-MACHINE_RESET( explorer );
+
+
READ8_HANDLER( triplep_pip_r );
READ8_HANDLER( triplep_pap_r );
diff --git a/src/mame/includes/sderby.h b/src/mame/includes/sderby.h
index 9339619cdf7..8c7e08139ee 100644
--- a/src/mame/includes/sderby.h
+++ b/src/mame/includes/sderby.h
@@ -32,11 +32,12 @@ public:
TILE_GET_INFO_MEMBER(get_sderby_tile_info);
TILE_GET_INFO_MEMBER(get_sderby_md_tile_info);
TILE_GET_INFO_MEMBER(get_sderby_fg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/sderby.c -----------*/
-VIDEO_START( sderby );
+
SCREEN_UPDATE_IND16( sderby );
SCREEN_UPDATE_IND16( pmroulet );
diff --git a/src/mame/includes/segag80r.h b/src/mame/includes/segag80r.h
index b15aa9c668d..603ff41f14e 100644
--- a/src/mame/includes/segag80r.h
+++ b/src/mame/includes/segag80r.h
@@ -96,6 +96,8 @@ public:
TILE_GET_INFO_MEMBER(spaceod_get_tile_info);
TILEMAP_MAPPER_MEMBER(spaceod_scan_rows);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -122,7 +124,7 @@ INTERRUPT_GEN( segag80r_vblank_start );
-VIDEO_START( segag80r );
+
SCREEN_UPDATE_IND16( segag80r );
diff --git a/src/mame/includes/segag80v.h b/src/mame/includes/segag80v.h
index 2d5cdbb05ee..10a76f5dd98 100644
--- a/src/mame/includes/segag80v.h
+++ b/src/mame/includes/segag80v.h
@@ -50,6 +50,8 @@ public:
DECLARE_DRIVER_INIT(elim2);
DECLARE_DRIVER_INIT(tacscan);
DECLARE_DRIVER_INIT(spacfury);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -59,5 +61,5 @@ public:
/*----------- defined in video/segag80v.c -----------*/
-VIDEO_START( segag80v );
+
SCREEN_UPDATE_RGB32( segag80v );
diff --git a/src/mame/includes/segas24.h b/src/mame/includes/segas24.h
index f2107b728a5..1d6658da177 100644
--- a/src/mame/includes/segas24.h
+++ b/src/mame/includes/segas24.h
@@ -110,6 +110,8 @@ public:
DECLARE_DRIVER_INIT(dcclubfd);
DECLARE_DRIVER_INIT(qsww);
DECLARE_DRIVER_INIT(sgmast);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in video/segas24.c -----------*/
diff --git a/src/mame/includes/segas32.h b/src/mame/includes/segas32.h
index 20c91908206..020a9e9d358 100644
--- a/src/mame/includes/segas32.h
+++ b/src/mame/includes/segas32.h
@@ -171,6 +171,9 @@ public:
DECLARE_DRIVER_INIT(f1lap);
DECLARE_DRIVER_INIT(orunners);
TILE_GET_INFO_MEMBER(get_tile_info);
+ DECLARE_MACHINE_RESET(system32);
+ DECLARE_VIDEO_START(system32);
+ DECLARE_VIDEO_START(multi32);
};
@@ -190,8 +193,8 @@ void decrypt_ga2_protrom(running_machine &machine);
/*----------- defined in video/segas32.c -----------*/
-VIDEO_START(system32);
-VIDEO_START(multi32);
+
+
SCREEN_UPDATE_RGB32(system32);
SCREEN_UPDATE_RGB32(multi32_left);
SCREEN_UPDATE_RGB32(multi32_right);
diff --git a/src/mame/includes/seibuspi.h b/src/mame/includes/seibuspi.h
index 98a56d0eb92..fd0fea2ecd7 100644
--- a/src/mame/includes/seibuspi.h
+++ b/src/mame/includes/seibuspi.h
@@ -106,6 +106,13 @@ public:
TILE_GET_INFO_MEMBER(get_back_tile_info);
TILE_GET_INFO_MEMBER(get_mid_tile_info);
TILE_GET_INFO_MEMBER(get_fore_tile_info);
+ DECLARE_MACHINE_START(spi);
+ DECLARE_MACHINE_RESET(spi);
+ DECLARE_VIDEO_START(spi);
+ DECLARE_MACHINE_RESET(seibu386);
+ DECLARE_VIDEO_START(sys386f2);
+ DECLARE_MACHINE_START(sxx2f);
+ DECLARE_MACHINE_RESET(sxx2f);
};
@@ -116,10 +123,10 @@ void seibuspi_sprite_decrypt(UINT8 *src, int romsize);
/*----------- defined in video/seibuspi.c -----------*/
-VIDEO_START( spi );
+
SCREEN_UPDATE_RGB32( spi );
-VIDEO_START( sys386f2 );
+
SCREEN_UPDATE_RGB32( sys386f2 );
diff --git a/src/mame/includes/seicross.h b/src/mame/includes/seicross.h
index abb013b96cd..2b7e7f592c1 100644
--- a/src/mame/includes/seicross.h
+++ b/src/mame/includes/seicross.h
@@ -26,12 +26,15 @@ public:
DECLARE_READ8_MEMBER(friskyt_portB_r);
DECLARE_WRITE8_MEMBER(friskyt_portB_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/seicross.c -----------*/
-PALETTE_INIT( seicross );
-VIDEO_START( seicross );
+
+
SCREEN_UPDATE_IND16( seicross );
diff --git a/src/mame/includes/senjyo.h b/src/mame/includes/senjyo.h
index a1863d58344..c80d1ac1a4c 100644
--- a/src/mame/includes/senjyo.h
+++ b/src/mame/includes/senjyo.h
@@ -79,6 +79,8 @@ public:
TILE_GET_INFO_MEMBER(starforc_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
TILE_GET_INFO_MEMBER(get_bg3_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -92,5 +94,5 @@ extern const z80ctc_interface senjyo_ctc_intf;
/*----------- defined in video/senjyo.c -----------*/
-VIDEO_START( senjyo );
+
SCREEN_UPDATE_IND16( senjyo );
diff --git a/src/mame/includes/seta.h b/src/mame/includes/seta.h
index 15e79213865..8521de13e17 100644
--- a/src/mame/includes/seta.h
+++ b/src/mame/includes/seta.h
@@ -177,6 +177,21 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_1);
TILE_GET_INFO_MEMBER(get_tile_info_2);
TILE_GET_INFO_MEMBER(get_tile_info_3);
+ DECLARE_VIDEO_START(seta_no_layers);
+ DECLARE_VIDEO_START(twineagl_1_layer);
+ DECLARE_VIDEO_START(seta_1_layer);
+ DECLARE_MACHINE_RESET(calibr50);
+ DECLARE_PALETTE_INIT(usclssic);
+ DECLARE_VIDEO_START(seta_2_layers);
+ DECLARE_PALETTE_INIT(blandia);
+ DECLARE_PALETTE_INIT(setaroul);
+ DECLARE_PALETTE_INIT(zingzip);
+ DECLARE_MACHINE_START(wrofaero);
+ DECLARE_PALETTE_INIT(gundhara);
+ DECLARE_PALETTE_INIT(jjsquawk);
+ DECLARE_MACHINE_START(keroppi);
+ DECLARE_VIDEO_START(oisipuzl_2_layers);
+ DECLARE_PALETTE_INIT(inttoote);
};
/*----------- defined in video/seta.c -----------*/
@@ -185,19 +200,19 @@ void seta_coin_lockout_w(running_machine &machine, int data);
-PALETTE_INIT( blandia );
-PALETTE_INIT( gundhara );
-PALETTE_INIT( inttoote );
-PALETTE_INIT( setaroul );
-PALETTE_INIT( jjsquawk );
-PALETTE_INIT( usclssic );
-PALETTE_INIT( zingzip );
-VIDEO_START( seta_no_layers);
-VIDEO_START( twineagl_1_layer);
-VIDEO_START( seta_1_layer);
-VIDEO_START( seta_2_layers);
-VIDEO_START( oisipuzl_2_layers );
+
+
+
+
+
+
+
+
+
+
+
+
SCREEN_UPDATE_IND16( seta );
SCREEN_UPDATE_IND16( seta_no_layers );
diff --git a/src/mame/includes/seta2.h b/src/mame/includes/seta2.h
index fdfb3a1bf4c..63ee6af7e4d 100644
--- a/src/mame/includes/seta2.h
+++ b/src/mame/includes/seta2.h
@@ -65,13 +65,17 @@ public:
DECLARE_DRIVER_INIT(funcube3);
DECLARE_DRIVER_INIT(funcube);
DECLARE_DRIVER_INIT(funcube2);
+ DECLARE_VIDEO_START(seta2);
+ DECLARE_MACHINE_RESET(funcube);
+ DECLARE_VIDEO_START(seta2_yoffset);
+ DECLARE_VIDEO_START(seta2_xoffset);
};
/*----------- defined in video/seta2.c -----------*/
-VIDEO_START( seta2 );
-VIDEO_START( seta2_xoffset );
-VIDEO_START( seta2_yoffset );
+
+
+
SCREEN_UPDATE_IND16( seta2 );
SCREEN_VBLANK( seta2 );
diff --git a/src/mame/includes/sf.h b/src/mame/includes/sf.h
index 4e0132072de..a7b2e55facc 100644
--- a/src/mame/includes/sf.h
+++ b/src/mame/includes/sf.h
@@ -44,11 +44,14 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/sf.c -----------*/
-VIDEO_START( sf );
+
SCREEN_UPDATE_IND16( sf );
diff --git a/src/mame/includes/shadfrce.h b/src/mame/includes/shadfrce.h
index 8732e699ac7..72f27a56e95 100644
--- a/src/mame/includes/shadfrce.h
+++ b/src/mame/includes/shadfrce.h
@@ -41,11 +41,12 @@ public:
TILE_GET_INFO_MEMBER(get_shadfrce_fgtile_info);
TILE_GET_INFO_MEMBER(get_shadfrce_bg0tile_info);
TILE_GET_INFO_MEMBER(get_shadfrce_bg1tile_info);
+ virtual void video_start();
};
/*----------- defined in video/shadfrce.c -----------*/
-VIDEO_START( shadfrce );
+
SCREEN_VBLANK(shadfrce);
SCREEN_UPDATE_IND16( shadfrce );
diff --git a/src/mame/includes/shangha3.h b/src/mame/includes/shangha3.h
index 7b320b4dc70..e7f2f694fa4 100644
--- a/src/mame/includes/shangha3.h
+++ b/src/mame/includes/shangha3.h
@@ -26,10 +26,11 @@ public:
DECLARE_WRITE16_MEMBER(shangha3_blitter_go_w);
DECLARE_DRIVER_INIT(shangha3);
DECLARE_DRIVER_INIT(heberpop);
+ virtual void video_start();
};
/*----------- defined in video/shangha3.c -----------*/
-VIDEO_START( shangha3 );
+
SCREEN_UPDATE_IND16( shangha3 );
diff --git a/src/mame/includes/shangkid.h b/src/mame/includes/shangkid.h
index 4bd94c9eb6f..08423bb136e 100644
--- a/src/mame/includes/shangkid.h
+++ b/src/mame/includes/shangkid.h
@@ -26,14 +26,18 @@ public:
DECLARE_DRIVER_INIT(shangkid);
DECLARE_DRIVER_INIT(chinhero);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ DECLARE_MACHINE_RESET(chinhero);
+ DECLARE_VIDEO_START(shangkid);
+ DECLARE_PALETTE_INIT(dynamski);
+ DECLARE_MACHINE_RESET(shangkid);
};
/*----------- defined in video/shangkid.c -----------*/
-VIDEO_START( shangkid );
+
SCREEN_UPDATE_IND16( shangkid );
-PALETTE_INIT( dynamski );
+
SCREEN_UPDATE_IND16( dynamski );
diff --git a/src/mame/includes/shaolins.h b/src/mame/includes/shaolins.h
index 607fab84ac0..312604bbd2b 100644
--- a/src/mame/includes/shaolins.h
+++ b/src/mame/includes/shaolins.h
@@ -23,12 +23,14 @@ public:
DECLARE_WRITE8_MEMBER(shaolins_scroll_w);
DECLARE_WRITE8_MEMBER(shaolins_nmi_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/sauro.c -----------*/
-PALETTE_INIT( shaolins );
-VIDEO_START( shaolins );
+
+
SCREEN_UPDATE_IND16( shaolins );
diff --git a/src/mame/includes/shisen.h b/src/mame/includes/shisen.h
index 1f457367034..e6cc91bf381 100644
--- a/src/mame/includes/shisen.h
+++ b/src/mame/includes/shisen.h
@@ -16,11 +16,12 @@ public:
DECLARE_WRITE8_MEMBER(sichuan2_bankswitch_w);
DECLARE_WRITE8_MEMBER(sichuan2_paletteram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/shisen.c -----------*/
-VIDEO_START( sichuan2 );
+
SCREEN_UPDATE_IND16( sichuan2 );
diff --git a/src/mame/includes/shootout.h b/src/mame/includes/shootout.h
index df97c995e00..2ff285ee8af 100644
--- a/src/mame/includes/shootout.h
+++ b/src/mame/includes/shootout.h
@@ -24,13 +24,15 @@ public:
DECLARE_DRIVER_INIT(shootout);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/shootout.c -----------*/
-PALETTE_INIT( shootout );
-VIDEO_START( shootout );
+
+
SCREEN_UPDATE_IND16( shootout );
SCREEN_UPDATE_IND16( shootouj );
diff --git a/src/mame/includes/shuuz.h b/src/mame/includes/shuuz.h
index be18dcc8a14..ad2fc6ce04f 100644
--- a/src/mame/includes/shuuz.h
+++ b/src/mame/includes/shuuz.h
@@ -19,10 +19,13 @@ public:
DECLARE_READ16_MEMBER(leta_r);
DECLARE_READ16_MEMBER(special_port0_r);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(shuuz);
+ DECLARE_MACHINE_RESET(shuuz);
+ DECLARE_VIDEO_START(shuuz);
};
/*----------- defined in video/shuuz.c -----------*/
-VIDEO_START( shuuz );
+
SCREEN_UPDATE_IND16( shuuz );
diff --git a/src/mame/includes/sidearms.h b/src/mame/includes/sidearms.h
index aadefee35c0..07a1cdb7b39 100644
--- a/src/mame/includes/sidearms.h
+++ b/src/mame/includes/sidearms.h
@@ -50,10 +50,11 @@ public:
TILE_GET_INFO_MEMBER(get_philko_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILEMAP_MAPPER_MEMBER(sidearms_tilemap_scan);
+ virtual void video_start();
};
/*----------- defined in video/sidearms.c -----------*/
-VIDEO_START( sidearms );
+
SCREEN_UPDATE_IND16( sidearms );
diff --git a/src/mame/includes/sidepckt.h b/src/mame/includes/sidepckt.h
index 0e237b8074f..ba9898417da 100644
--- a/src/mame/includes/sidepckt.h
+++ b/src/mame/includes/sidepckt.h
@@ -26,12 +26,14 @@ public:
DECLARE_DRIVER_INIT(sidepckt);
DECLARE_DRIVER_INIT(sidepctj);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/sidepckt.c -----------*/
-PALETTE_INIT( sidepckt );
-VIDEO_START( sidepckt );
+
+
SCREEN_UPDATE_IND16( sidepckt );
diff --git a/src/mame/includes/silkroad.h b/src/mame/includes/silkroad.h
index a5a9d87d9a8..62abdc06594 100644
--- a/src/mame/includes/silkroad.h
+++ b/src/mame/includes/silkroad.h
@@ -27,10 +27,11 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_fg2_tile_info);
TILE_GET_INFO_MEMBER(get_fg3_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/silkroad.c -----------*/
-VIDEO_START(silkroad);
+
SCREEN_UPDATE_IND16(silkroad);
diff --git a/src/mame/includes/simpl156.h b/src/mame/includes/simpl156.h
index 4e5bc40d292..fa48b16170f 100644
--- a/src/mame/includes/simpl156.h
+++ b/src/mame/includes/simpl156.h
@@ -57,11 +57,12 @@ public:
DECLARE_DRIVER_INIT(prtytime);
DECLARE_DRIVER_INIT(osman);
DECLARE_DRIVER_INIT(chainrec);
+ virtual void video_start();
};
/*----------- defined in video/simpl156.c -----------*/
-VIDEO_START( simpl156 );
+
SCREEN_UPDATE_IND16( simpl156 );
diff --git a/src/mame/includes/simpsons.h b/src/mame/includes/simpsons.h
index 302c0f582f8..bb4634b2404 100644
--- a/src/mame/includes/simpsons.h
+++ b/src/mame/includes/simpsons.h
@@ -37,13 +37,15 @@ public:
DECLARE_WRITE8_MEMBER(simpsons_k052109_w);
DECLARE_READ8_MEMBER(simpsons_k053247_r);
DECLARE_WRITE8_MEMBER(simpsons_k053247_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in machine/simpsons.c -----------*/
READ8_DEVICE_HANDLER( simpsons_sound_r );
-MACHINE_RESET( simpsons );
-MACHINE_START( simpsons );
+
+
/*----------- defined in video/simpsons.c -----------*/
diff --git a/src/mame/includes/skullxbo.h b/src/mame/includes/skullxbo.h
index 31b4cf68ec4..1b61d505191 100644
--- a/src/mame/includes/skullxbo.h
+++ b/src/mame/includes/skullxbo.h
@@ -17,6 +17,9 @@ public:
DECLARE_DRIVER_INIT(skullxbo);
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(skullxbo);
+ DECLARE_MACHINE_RESET(skullxbo);
+ DECLARE_VIDEO_START(skullxbo);
};
@@ -27,7 +30,7 @@ WRITE16_HANDLER( skullxbo_xscroll_w );
WRITE16_HANDLER( skullxbo_yscroll_w );
WRITE16_HANDLER( skullxbo_mobmsb_w );
-VIDEO_START( skullxbo );
+
SCREEN_UPDATE_IND16( skullxbo );
void skullxbo_scanline_update(running_machine &machine, int param);
diff --git a/src/mame/includes/skydiver.h b/src/mame/includes/skydiver.h
index c0fb43b9b3b..81f486d91ae 100644
--- a/src/mame/includes/skydiver.h
+++ b/src/mame/includes/skydiver.h
@@ -47,6 +47,9 @@ public:
DECLARE_WRITE8_MEMBER(skydiver_sound_enable_w);
DECLARE_WRITE8_MEMBER(skydiver_whistle_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -57,6 +60,6 @@ DISCRETE_SOUND_EXTERN( skydiver );
/*----------- defined in video/skydiver.c -----------*/
-MACHINE_RESET( skydiver );
-VIDEO_START( skydiver );
+
+
SCREEN_UPDATE_IND16( skydiver );
diff --git a/src/mame/includes/skyfox.h b/src/mame/includes/skyfox.h
index 6e96231a00c..67db54511bb 100644
--- a/src/mame/includes/skyfox.h
+++ b/src/mame/includes/skyfox.h
@@ -28,12 +28,15 @@ public:
DECLARE_WRITE8_MEMBER(skyfox_vregs_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_DRIVER_INIT(skyfox);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*----------- defined in video/skyfox.c -----------*/
-PALETTE_INIT( skyfox );
+
SCREEN_UPDATE_IND16( skyfox );
diff --git a/src/mame/includes/skykid.h b/src/mame/includes/skykid.h
index acdf94d1e8e..06c4fd74bf5 100644
--- a/src/mame/includes/skykid.h
+++ b/src/mame/includes/skykid.h
@@ -37,12 +37,15 @@ public:
TILEMAP_MAPPER_MEMBER(tx_tilemap_scan);
TILE_GET_INFO_MEMBER(tx_get_tile_info);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/skykid.c -----------*/
-VIDEO_START( skykid );
+
SCREEN_UPDATE_IND16( skykid );
-PALETTE_INIT( skykid );
+
diff --git a/src/mame/includes/skyraid.h b/src/mame/includes/skyraid.h
index d500096c9f8..43930d54e71 100644
--- a/src/mame/includes/skyraid.h
+++ b/src/mame/includes/skyraid.h
@@ -23,6 +23,8 @@ public:
DECLARE_WRITE8_MEMBER(skyraid_range_w);
DECLARE_WRITE8_MEMBER(skyraid_offset_w);
DECLARE_WRITE8_MEMBER(skyraid_scroll_w);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -35,5 +37,5 @@ WRITE8_DEVICE_HANDLER( skyraid_sound_w );
/*----------- defined in video/skyraid.c -----------*/
-VIDEO_START(skyraid);
+
SCREEN_UPDATE_IND16(skyraid);
diff --git a/src/mame/includes/slapfght.h b/src/mame/includes/slapfght.h
index 1f0c2f0a584..26f9ba3e920 100644
--- a/src/mame/includes/slapfght.h
+++ b/src/mame/includes/slapfght.h
@@ -120,6 +120,9 @@ public:
TILE_GET_INFO_MEMBER(get_pf_tile_info);
TILE_GET_INFO_MEMBER(get_pf1_tile_info);
TILE_GET_INFO_MEMBER(get_fix_tile_info);
+ DECLARE_MACHINE_RESET(slapfight);
+ DECLARE_VIDEO_START(perfrman);
+ DECLARE_VIDEO_START(slapfight);
};
@@ -139,7 +142,7 @@ public:
/*----------- defined in machine/slapfght.c -----------*/
-MACHINE_RESET( slapfight );
+
@@ -155,6 +158,6 @@ INTERRUPT_GEN( getstar_interrupt );
SCREEN_UPDATE_IND16( slapfight );
SCREEN_UPDATE_IND16( perfrman );
-VIDEO_START( slapfight );
-VIDEO_START( perfrman );
+
+
diff --git a/src/mame/includes/slapshot.h b/src/mame/includes/slapshot.h
index 2755312a154..91354dd4517 100644
--- a/src/mame/includes/slapshot.h
+++ b/src/mame/includes/slapshot.h
@@ -62,11 +62,13 @@ public:
DECLARE_WRITE16_MEMBER(slapshot_msb_sound_w);
DECLARE_READ16_MEMBER(slapshot_msb_sound_r);
DECLARE_DRIVER_INIT(slapshot);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/slapshot.c -----------*/
-VIDEO_START( slapshot );
+
SCREEN_UPDATE_IND16( slapshot );
SCREEN_VBLANK( taito_no_buffer );
diff --git a/src/mame/includes/snk.h b/src/mame/includes/snk.h
index 2e144c9755a..3cac9e7c625 100644
--- a/src/mame/includes/snk.h
+++ b/src/mame/includes/snk.h
@@ -151,24 +151,23 @@ public:
TILE_GET_INFO_MEMBER(tnk3_get_bg_tile_info);
TILE_GET_INFO_MEMBER(ikari_get_bg_tile_info);
TILE_GET_INFO_MEMBER(gwar_get_bg_tile_info);
+ DECLARE_VIDEO_START(marvins);
+ DECLARE_PALETTE_INIT(tnk3);
+ DECLARE_VIDEO_START(jcross);
+ DECLARE_VIDEO_START(tnk3);
+ DECLARE_VIDEO_START(ikari);
+ DECLARE_VIDEO_START(gwar);
+ DECLARE_VIDEO_START(tdfever);
+ DECLARE_VIDEO_START(sgladiat);
+ DECLARE_VIDEO_START(hal21);
+ DECLARE_VIDEO_START(aso);
+ DECLARE_VIDEO_START(psychos);
+ DECLARE_VIDEO_START(snk_3bpp_shadow);
+ DECLARE_VIDEO_START(snk_4bpp_shadow);
};
/*----------- defined in video/snk.c -----------*/
-
-extern PALETTE_INIT( tnk3 );
-
-extern VIDEO_START( marvins );
-extern VIDEO_START( jcross );
-extern VIDEO_START( sgladiat );
-extern VIDEO_START( hal21 );
-extern VIDEO_START( aso );
-extern VIDEO_START( tnk3 );
-extern VIDEO_START( ikari );
-extern VIDEO_START( gwar );
-extern VIDEO_START( psychos );
-extern VIDEO_START( tdfever );
-
extern SCREEN_UPDATE_IND16( marvins );
extern SCREEN_UPDATE_IND16( tnk3 );
extern SCREEN_UPDATE_IND16( ikari );
diff --git a/src/mame/includes/snk6502.h b/src/mame/includes/snk6502.h
index b6ce8ea613a..82d187f74d2 100644
--- a/src/mame/includes/snk6502.h
+++ b/src/mame/includes/snk6502.h
@@ -51,6 +51,15 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(satansat_get_bg_tile_info);
TILE_GET_INFO_MEMBER(satansat_get_fg_tile_info);
+ DECLARE_MACHINE_RESET(sasuke);
+ DECLARE_VIDEO_START(satansat);
+ DECLARE_PALETTE_INIT(satansat);
+ DECLARE_MACHINE_RESET(vanguard);
+ DECLARE_VIDEO_START(snk6502);
+ DECLARE_PALETTE_INIT(snk6502);
+ DECLARE_MACHINE_RESET(satansat);
+ DECLARE_MACHINE_RESET(pballoon);
+ DECLARE_VIDEO_START(pballoon);
};
@@ -108,12 +117,12 @@ DISCRETE_SOUND_EXTERN( fantasy );
/*----------- defined in video/snk6502.c -----------*/
-PALETTE_INIT( snk6502 );
-VIDEO_START( snk6502 );
+
+
SCREEN_UPDATE_IND16( snk6502 );
-VIDEO_START( pballoon );
-PALETTE_INIT( satansat );
-VIDEO_START( satansat );
+
+
+
diff --git a/src/mame/includes/snk68.h b/src/mame/includes/snk68.h
index 41e9330d4ff..58d10ce8172 100644
--- a/src/mame/includes/snk68.h
+++ b/src/mame/includes/snk68.h
@@ -41,11 +41,13 @@ public:
DECLARE_DRIVER_INIT(searchar);
TILE_GET_INFO_MEMBER(get_pow_tile_info);
TILE_GET_INFO_MEMBER(get_searchar_tile_info);
+ virtual void video_start();
+ DECLARE_VIDEO_START(searchar);
};
/*----------- defined in video/snk68.c -----------*/
-VIDEO_START( pow );
-VIDEO_START( searchar );
+
+
SCREEN_UPDATE_IND16( pow );
diff --git a/src/mame/includes/snookr10.h b/src/mame/includes/snookr10.h
index b1bf2c1dbfa..83d3611bb26 100644
--- a/src/mame/includes/snookr10.h
+++ b/src/mame/includes/snookr10.h
@@ -24,14 +24,18 @@ public:
DECLARE_WRITE8_MEMBER(snookr10_colorram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(apple10_get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(apple10);
+ DECLARE_PALETTE_INIT(apple10);
};
/*----------- defined in video/snookr10.c -----------*/
-PALETTE_INIT( snookr10 );
-PALETTE_INIT( apple10 );
-VIDEO_START( snookr10 );
-VIDEO_START( apple10 );
+
+
+
+
SCREEN_UPDATE_IND16( snookr10 );
diff --git a/src/mame/includes/snowbros.h b/src/mame/includes/snowbros.h
index bb7c1aefd64..25faa52daa5 100644
--- a/src/mame/includes/snowbros.h
+++ b/src/mame/includes/snowbros.h
@@ -41,5 +41,7 @@ public:
DECLARE_DRIVER_INIT(4in1boot);
DECLARE_DRIVER_INIT(3in1semi);
DECLARE_DRIVER_INIT(cookbib2);
+ DECLARE_MACHINE_RESET(semiprot);
+ DECLARE_MACHINE_RESET(finalttr);
};
diff --git a/src/mame/includes/solomon.h b/src/mame/includes/solomon.h
index 8d35e517896..0f35ec04171 100644
--- a/src/mame/includes/solomon.h
+++ b/src/mame/includes/solomon.h
@@ -29,11 +29,12 @@ public:
DECLARE_WRITE8_MEMBER(solomon_flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/solomon.c -----------*/
-VIDEO_START( solomon );
+
SCREEN_UPDATE_IND16( solomon );
diff --git a/src/mame/includes/sonson.h b/src/mame/includes/sonson.h
index 747ce2e9c0b..d28fd47f40c 100644
--- a/src/mame/includes/sonson.h
+++ b/src/mame/includes/sonson.h
@@ -34,12 +34,16 @@ public:
DECLARE_WRITE8_MEMBER(sonson_scrollx_w);
DECLARE_WRITE8_MEMBER(sonson_flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/sonson.c -----------*/
-PALETTE_INIT( sonson );
-VIDEO_START( sonson );
+
+
SCREEN_UPDATE_IND16( sonson );
diff --git a/src/mame/includes/spacefb.h b/src/mame/includes/spacefb.h
index 1f26eb92aa7..5875a4d36a6 100644
--- a/src/mame/includes/spacefb.h
+++ b/src/mame/includes/spacefb.h
@@ -46,6 +46,9 @@ public:
DECLARE_READ8_MEMBER(spacefb_audio_t0_r);
DECLARE_READ8_MEMBER(spacefb_audio_t1_r);
DECLARE_WRITE8_MEMBER(spacefb_port_1_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -57,6 +60,6 @@ MACHINE_CONFIG_EXTERN( spacefb_audio );
/*----------- defined in video/spacefb.c -----------*/
-VIDEO_START( spacefb );
+
SCREEN_UPDATE_RGB32( spacefb );
diff --git a/src/mame/includes/spbactn.h b/src/mame/includes/spbactn.h
index 3422c1e1b81..a9eb91e9044 100644
--- a/src/mame/includes/spbactn.h
+++ b/src/mame/includes/spbactn.h
@@ -14,10 +14,11 @@ public:
bitmap_ind16 m_tile_bitmap_bg;
bitmap_ind16 m_tile_bitmap_fg;
DECLARE_WRITE16_MEMBER(soundcommand_w);
+ virtual void video_start();
};
/*----------- defined in video/spbactn.c -----------*/
-VIDEO_START( spbactn );
+
SCREEN_UPDATE_RGB32( spbactn );
diff --git a/src/mame/includes/spcforce.h b/src/mame/includes/spcforce.h
index 60272ef52af..500bb505269 100644
--- a/src/mame/includes/spcforce.h
+++ b/src/mame/includes/spcforce.h
@@ -32,6 +32,7 @@ public:
DECLARE_WRITE8_MEMBER(spcforce_soundtrigger_w);
DECLARE_WRITE8_MEMBER(irq_mask_w);
DECLARE_WRITE8_MEMBER(spcforce_flip_screen_w);
+ virtual void palette_init();
};
diff --git a/src/mame/includes/spdodgeb.h b/src/mame/includes/spdodgeb.h
index 58152174922..a64fab0fbd5 100644
--- a/src/mame/includes/spdodgeb.h
+++ b/src/mame/includes/spdodgeb.h
@@ -43,12 +43,15 @@ public:
DECLARE_WRITE8_MEMBER(spdodgeb_videoram_w);
TILEMAP_MAPPER_MEMBER(background_scan);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/spdodgeb.c -----------*/
-PALETTE_INIT( spdodgeb );
-VIDEO_START( spdodgeb );
+
+
SCREEN_UPDATE_IND16( spdodgeb );
TIMER_DEVICE_CALLBACK( spdodgeb_interrupt );
diff --git a/src/mame/includes/speedatk.h b/src/mame/includes/speedatk.h
index 14e601783aa..a7ca9a90fb1 100644
--- a/src/mame/includes/speedatk.h
+++ b/src/mame/includes/speedatk.h
@@ -24,11 +24,13 @@ public:
DECLARE_WRITE8_MEMBER(speedatk_colorram_w);
DECLARE_WRITE8_MEMBER(speedatk_6845_w);
DECLARE_WRITE8_MEMBER(speedatk_output_w);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/speedatk.c -----------*/
-PALETTE_INIT( speedatk );
-VIDEO_START( speedatk );
+
+
SCREEN_UPDATE_IND16( speedatk );
diff --git a/src/mame/includes/speedbal.h b/src/mame/includes/speedbal.h
index a98f76f805e..c1bc7b38fff 100644
--- a/src/mame/includes/speedbal.h
+++ b/src/mame/includes/speedbal.h
@@ -17,10 +17,11 @@ public:
DECLARE_WRITE8_MEMBER(speedbal_background_videoram_w);
TILE_GET_INFO_MEMBER(get_tile_info_bg);
TILE_GET_INFO_MEMBER(get_tile_info_fg);
+ virtual void video_start();
};
/*----------- defined in video/speedbal.c -----------*/
-VIDEO_START( speedbal );
+
SCREEN_UPDATE_IND16( speedbal );
diff --git a/src/mame/includes/speedspn.h b/src/mame/includes/speedspn.h
index 77c49abe362..a06293c51d4 100644
--- a/src/mame/includes/speedspn.h
+++ b/src/mame/includes/speedspn.h
@@ -20,12 +20,13 @@ public:
DECLARE_WRITE8_MEMBER(speedspn_global_display_w);
DECLARE_WRITE8_MEMBER(oki_banking_w);
TILE_GET_INFO_MEMBER(get_speedspn_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/speedspn.c -----------*/
-VIDEO_START( speedspn );
+
SCREEN_UPDATE_IND16( speedspn );
diff --git a/src/mame/includes/spiders.h b/src/mame/includes/spiders.h
index 097393fb0d7..42db9bc7904 100644
--- a/src/mame/includes/spiders.h
+++ b/src/mame/includes/spiders.h
@@ -28,6 +28,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(display_enable_changed);
DECLARE_WRITE8_MEMBER(gfx_rom_intf_w);
DECLARE_READ8_MEMBER(gfx_rom_r);
+ virtual void machine_start();
};
diff --git a/src/mame/includes/splash.h b/src/mame/includes/splash.h
index 9a49d7b0884..0a44e3dcd46 100644
--- a/src/mame/includes/splash.h
+++ b/src/mame/includes/splash.h
@@ -59,11 +59,14 @@ public:
DECLARE_DRIVER_INIT(rebus);
TILE_GET_INFO_MEMBER(get_tile_info_splash_tilemap0);
TILE_GET_INFO_MEMBER(get_tile_info_splash_tilemap1);
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(splash);
+ DECLARE_MACHINE_RESET(funystrp);
};
/*----------- defined in video/splash.c -----------*/
-VIDEO_START( splash );
+
SCREEN_UPDATE_IND16( splash );
SCREEN_UPDATE_IND16( funystrp );
diff --git a/src/mame/includes/sprcros2.h b/src/mame/includes/sprcros2.h
index b3b1db5566e..7a3ca78c867 100644
--- a/src/mame/includes/sprcros2.h
+++ b/src/mame/includes/sprcros2.h
@@ -27,12 +27,15 @@ public:
DECLARE_WRITE8_MEMBER(sprcros2_bgscrolly_w);
TILE_GET_INFO_MEMBER(get_sprcros2_bgtile_info);
TILE_GET_INFO_MEMBER(get_sprcros2_fgtile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/sprcros2.c -----------*/
-PALETTE_INIT( sprcros2 );
-VIDEO_START( sprcros2 );
+
+
SCREEN_UPDATE_IND16( sprcros2 );
diff --git a/src/mame/includes/sprint2.h b/src/mame/includes/sprint2.h
index ddca0f2bfcd..3d6f0ab5b8c 100644
--- a/src/mame/includes/sprint2.h
+++ b/src/mame/includes/sprint2.h
@@ -62,6 +62,8 @@ public:
DECLARE_DRIVER_INIT(sprint2);
DECLARE_DRIVER_INIT(dominos);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -76,8 +78,8 @@ DISCRETE_SOUND_EXTERN( dominos );
-PALETTE_INIT( sprint2 );
+
SCREEN_UPDATE_IND16( sprint2 );
-VIDEO_START( sprint2 );
+
SCREEN_VBLANK( sprint2 );
diff --git a/src/mame/includes/sprint4.h b/src/mame/includes/sprint4.h
index 4b01410ded2..866602eda5a 100644
--- a/src/mame/includes/sprint4.h
+++ b/src/mame/includes/sprint4.h
@@ -35,14 +35,17 @@ public:
DECLARE_WRITE8_MEMBER(sprint4_bang_w);
DECLARE_WRITE8_MEMBER(sprint4_attract_w);
TILE_GET_INFO_MEMBER(sprint4_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/sprint4.c -----------*/
-PALETTE_INIT( sprint4 );
+
SCREEN_VBLANK( sprint4 );
-VIDEO_START( sprint4 );
+
SCREEN_UPDATE_IND16( sprint4 );
diff --git a/src/mame/includes/sprint8.h b/src/mame/includes/sprint8.h
index 62f720aa3bd..6889c4bfe2c 100644
--- a/src/mame/includes/sprint8.h
+++ b/src/mame/includes/sprint8.h
@@ -32,6 +32,9 @@ public:
DECLARE_WRITE8_MEMBER(sprint8_video_ram_w);
TILE_GET_INFO_MEMBER(get_tile_info1);
TILE_GET_INFO_MEMBER(get_tile_info2);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -42,9 +45,9 @@ void sprint8_set_collision(running_machine &machine, int n);
/*----------- defined in video/sprint8.c -----------*/
-PALETTE_INIT( sprint8 );
+
SCREEN_VBLANK( sprint8 );
-VIDEO_START( sprint8 );
+
SCREEN_UPDATE_IND16( sprint8 );
diff --git a/src/mame/includes/spy.h b/src/mame/includes/spy.h
index 2c696e9fe4c..4fe5469b7ae 100644
--- a/src/mame/includes/spy.h
+++ b/src/mame/includes/spy.h
@@ -41,6 +41,9 @@ public:
DECLARE_WRITE8_MEMBER(sound_bank_w);
DECLARE_READ8_MEMBER(k052109_051960_r);
DECLARE_WRITE8_MEMBER(k052109_051960_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -49,5 +52,5 @@ public:
extern void spy_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags,int *priority);
extern void spy_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask,int *shadow);
-VIDEO_START( spy );
+
SCREEN_UPDATE_IND16( spy );
diff --git a/src/mame/includes/srmp2.h b/src/mame/includes/srmp2.h
index 3417712e6c5..765ffff91df 100644
--- a/src/mame/includes/srmp2.h
+++ b/src/mame/includes/srmp2.h
@@ -41,13 +41,18 @@ public:
DECLARE_WRITE8_MEMBER(rmgoldyh_rombank_w);
DECLARE_WRITE16_MEMBER(srmp2_adpcm_code_w);
DECLARE_WRITE8_MEMBER(srmp3_adpcm_code_w);
+ DECLARE_MACHINE_START(srmp2);
+ DECLARE_PALETTE_INIT(srmp2);
+ DECLARE_MACHINE_START(srmp3);
+ DECLARE_PALETTE_INIT(srmp3);
+ DECLARE_MACHINE_START(rmgoldyh);
};
/*----------- defined in video/srmp2.c -----------*/
-PALETTE_INIT( srmp2 );
+
SCREEN_UPDATE_IND16( srmp2 );
-PALETTE_INIT( srmp3 );
+
SCREEN_UPDATE_IND16( srmp3 );
SCREEN_UPDATE_IND16( mjyuugi );
diff --git a/src/mame/includes/srumbler.h b/src/mame/includes/srumbler.h
index 9296aa1a0a1..a0d576ea114 100644
--- a/src/mame/includes/srumbler.h
+++ b/src/mame/includes/srumbler.h
@@ -25,12 +25,14 @@ public:
DECLARE_WRITE8_MEMBER(srumbler_scroll_w);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/srumbler.c -----------*/
-VIDEO_START( srumbler );
+
SCREEN_UPDATE_IND16( srumbler );
SCREEN_VBLANK( srumbler );
diff --git a/src/mame/includes/sshangha.h b/src/mame/includes/sshangha.h
index 957700ecef6..50108875a50 100644
--- a/src/mame/includes/sshangha.h
+++ b/src/mame/includes/sshangha.h
@@ -47,11 +47,13 @@ public:
DECLARE_WRITE16_MEMBER(paletteram16_xbgr_word_be_tilehigh_w);
DECLARE_WRITE16_MEMBER(sshangha_video_w);
DECLARE_DRIVER_INIT(sshangha);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/sshangha.c -----------*/
-VIDEO_START( sshangha );
+
SCREEN_UPDATE_RGB32( sshangha );
diff --git a/src/mame/includes/sslam.h b/src/mame/includes/sslam.h
index 3d55e5c60a3..55701cfe5ee 100644
--- a/src/mame/includes/sslam.h
+++ b/src/mame/includes/sslam.h
@@ -48,12 +48,14 @@ public:
TILE_GET_INFO_MEMBER(get_sslam_md_tile_info);
TILE_GET_INFO_MEMBER(get_sslam_bg_tile_info);
TILE_GET_INFO_MEMBER(get_powerbls_bg_tile_info);
+ DECLARE_VIDEO_START(sslam);
+ DECLARE_VIDEO_START(powerbls);
};
/*----------- defined in video/sslam.c -----------*/
-VIDEO_START(sslam);
-VIDEO_START(powerbls);
+
+
SCREEN_UPDATE_IND16(sslam);
SCREEN_UPDATE_IND16(powerbls);
diff --git a/src/mame/includes/ssozumo.h b/src/mame/includes/ssozumo.h
index 1a7258c1da8..c57e826b526 100644
--- a/src/mame/includes/ssozumo.h
+++ b/src/mame/includes/ssozumo.h
@@ -33,12 +33,14 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/ssozumo.c -----------*/
-PALETTE_INIT( ssozumo );
-VIDEO_START( ssozumo );
+
+
SCREEN_UPDATE_IND16( ssozumo );
diff --git a/src/mame/includes/sspeedr.h b/src/mame/includes/sspeedr.h
index fddcef2fdf2..4d4fc25b721 100644
--- a/src/mame/includes/sspeedr.h
+++ b/src/mame/includes/sspeedr.h
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(sspeedr_track_horz_2_w);
DECLARE_WRITE8_MEMBER(sspeedr_track_vert_w);
DECLARE_WRITE8_MEMBER(sspeedr_track_ice_w);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -41,6 +43,6 @@ public:
-VIDEO_START( sspeedr );
+
SCREEN_UPDATE_IND16( sspeedr );
SCREEN_VBLANK( sspeedr );
diff --git a/src/mame/includes/ssrj.h b/src/mame/includes/ssrj.h
index 5a09f6dec8c..bd6168f3884 100644
--- a/src/mame/includes/ssrj.h
+++ b/src/mame/includes/ssrj.h
@@ -26,13 +26,16 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info1);
TILE_GET_INFO_MEMBER(get_tile_info2);
TILE_GET_INFO_MEMBER(get_tile_info4);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/ssrj.c -----------*/
-VIDEO_START( ssrj );
+
SCREEN_UPDATE_IND16( ssrj );
SCREEN_VBLANK( ssrj );
-PALETTE_INIT( ssrj );
+
diff --git a/src/mame/includes/ssv.h b/src/mame/includes/ssv.h
index fa57476c9cb..fa68efa6a0a 100644
--- a/src/mame/includes/ssv.h
+++ b/src/mame/includes/ssv.h
@@ -121,15 +121,19 @@ public:
DECLARE_DRIVER_INIT(twineag2);
DECLARE_DRIVER_INIT(mslider);
TILE_GET_INFO_MEMBER(get_tile_info_0);
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(gdfs);
+ DECLARE_VIDEO_START(eaglshot);
};
/*----------- defined in video/ssv.c -----------*/
void ssv_enable_video(running_machine &machine, int enable);
-VIDEO_START( ssv );
-VIDEO_START( eaglshot );
-VIDEO_START( gdfs );
+
+
+
SCREEN_UPDATE_IND16( ssv );
SCREEN_UPDATE_IND16( eaglshot );
diff --git a/src/mame/includes/st0016.h b/src/mame/includes/st0016.h
index b8b424800b0..a20fa4e348f 100644
--- a/src/mame/includes/st0016.h
+++ b/src/mame/includes/st0016.h
@@ -36,6 +36,7 @@ public:
DECLARE_DRIVER_INIT(mayjinsn);
DECLARE_DRIVER_INIT(mayjisn2);
DECLARE_DRIVER_INIT(renju);
+ DECLARE_VIDEO_START(st0016);
};
#define ISMACS (st0016_game&0x80)
@@ -69,5 +70,5 @@ extern UINT8 *st0016_charram;
void st0016_draw_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
-VIDEO_START(st0016);
+
SCREEN_UPDATE_IND16(st0016);
diff --git a/src/mame/includes/stactics.h b/src/mame/includes/stactics.h
index a7fea14de28..b6c9b23bd80 100644
--- a/src/mame/includes/stactics.h
+++ b/src/mame/includes/stactics.h
@@ -56,6 +56,9 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(stactics_get_not_shot_arrive);
DECLARE_CUSTOM_INPUT_MEMBER(get_motor_not_ready);
DECLARE_CUSTOM_INPUT_MEMBER(get_rng);
+ virtual void machine_start();
+ DECLARE_VIDEO_START(stactics);
+ DECLARE_PALETTE_INIT(stactics);
};
diff --git a/src/mame/includes/stadhero.h b/src/mame/includes/stadhero.h
index b1a333daa29..43453b0db71 100644
--- a/src/mame/includes/stadhero.h
+++ b/src/mame/includes/stadhero.h
@@ -14,11 +14,12 @@ public:
DECLARE_WRITE16_MEMBER(stadhero_control_w);
DECLARE_WRITE16_MEMBER(stadhero_pf1_data_w);
TILE_GET_INFO_MEMBER(get_pf1_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/stadhero.c -----------*/
-VIDEO_START( stadhero );
+
SCREEN_UPDATE_IND16( stadhero );
diff --git a/src/mame/includes/starcrus.h b/src/mame/includes/starcrus.h
index e542c2a909f..a0fb8bda970 100644
--- a/src/mame/includes/starcrus.h
+++ b/src/mame/includes/starcrus.h
@@ -49,10 +49,11 @@ public:
DECLARE_WRITE8_MEMBER(starcrus_proj_parm_1_w);
DECLARE_WRITE8_MEMBER(starcrus_proj_parm_2_w);
DECLARE_READ8_MEMBER(starcrus_coll_det_r);
+ virtual void video_start();
};
/*----------- defined in video/starcrus.c -----------*/
-VIDEO_START( starcrus );
+
SCREEN_UPDATE_IND16( starcrus );
diff --git a/src/mame/includes/starfire.h b/src/mame/includes/starfire.h
index 07c7f693ddf..b97ab955e3a 100644
--- a/src/mame/includes/starfire.h
+++ b/src/mame/includes/starfire.h
@@ -42,11 +42,12 @@ public:
DECLARE_READ8_MEMBER(starfire_videoram_r);
DECLARE_DRIVER_INIT(starfire);
DECLARE_DRIVER_INIT(fireone);
+ virtual void video_start();
};
/*----------- defined in video/starfire.c -----------*/
SCREEN_UPDATE_RGB32( starfire );
-VIDEO_START( starfire );
+
diff --git a/src/mame/includes/starshp1.h b/src/mame/includes/starshp1.h
index 44e0c701dba..9cf0fc3bd66 100644
--- a/src/mame/includes/starshp1.h
+++ b/src/mame/includes/starshp1.h
@@ -76,6 +76,8 @@ public:
DECLARE_WRITE8_MEMBER(starshp1_audio_w);
DECLARE_WRITE8_MEMBER(starshp1_analog_out_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -83,10 +85,10 @@ public:
-PALETTE_INIT( starshp1 );
+
SCREEN_UPDATE_IND16( starshp1 );
SCREEN_VBLANK( starshp1 );
-VIDEO_START( starshp1 );
+
/*----------- defined in audio/starshp1.c -----------*/
diff --git a/src/mame/includes/starwars.h b/src/mame/includes/starwars.h
index cf54bcc27df..ab48474255e 100644
--- a/src/mame/includes/starwars.h
+++ b/src/mame/includes/starwars.h
@@ -61,6 +61,7 @@ public:
DECLARE_DIRECT_UPDATE_MEMBER(esb_setdirect);
DECLARE_DRIVER_INIT(esb);
DECLARE_DRIVER_INIT(starwars);
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/stfight.h b/src/mame/includes/stfight.h
index ed2f18b6828..5163d551db6 100644
--- a/src/mame/includes/stfight.h
+++ b/src/mame/includes/stfight.h
@@ -42,12 +42,15 @@ public:
TILEMAP_MAPPER_MEMBER(bg_scan);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in machine/stfight.c -----------*/
-MACHINE_RESET( stfight );
+
INTERRUPT_GEN( stfight_vb_interrupt );
void stfight_adpcm_int(device_t *device);
WRITE8_DEVICE_HANDLER( stfight_adpcm_control_w );
@@ -55,6 +58,6 @@ WRITE8_DEVICE_HANDLER( stfight_adpcm_control_w );
/*----------- defined in video/stfight.c -----------*/
-PALETTE_INIT( stfight );
-VIDEO_START( stfight );
+
+
SCREEN_UPDATE_IND16( stfight );
diff --git a/src/mame/includes/stlforce.h b/src/mame/includes/stlforce.h
index 6d3b750c034..00fd9df6c79 100644
--- a/src/mame/includes/stlforce.h
+++ b/src/mame/includes/stlforce.h
@@ -42,10 +42,11 @@ public:
TILE_GET_INFO_MEMBER(get_stlforce_mlow_tile_info);
TILE_GET_INFO_MEMBER(get_stlforce_mhigh_tile_info);
TILE_GET_INFO_MEMBER(get_stlforce_tx_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/stlforce.c -----------*/
-VIDEO_START( stlforce );
+
SCREEN_UPDATE_IND16( stlforce );
diff --git a/src/mame/includes/strnskil.h b/src/mame/includes/strnskil.h
index 329a97afbd3..676779b48fa 100644
--- a/src/mame/includes/strnskil.h
+++ b/src/mame/includes/strnskil.h
@@ -28,12 +28,14 @@ public:
DECLARE_DRIVER_INIT(banbam);
DECLARE_DRIVER_INIT(pettanp);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/strnskil.c -----------*/
-PALETTE_INIT( strnskil );
-VIDEO_START( strnskil );
+
+
SCREEN_UPDATE_IND16( strnskil );
diff --git a/src/mame/includes/stv.h b/src/mame/includes/stv.h
index afbf7f31b33..e95bdb01c8d 100644
--- a/src/mame/includes/stv.h
+++ b/src/mame/includes/stv.h
@@ -193,6 +193,11 @@ public:
DECLARE_DRIVER_INIT(saturnus);
DECLARE_DRIVER_INIT(saturneu);
DECLARE_DRIVER_INIT(saturnjp);
+ DECLARE_MACHINE_START(saturn);
+ DECLARE_MACHINE_RESET(saturn);
+ DECLARE_VIDEO_START(stv_vdp2);
+ DECLARE_MACHINE_START(stv);
+ DECLARE_MACHINE_RESET(stv);
};
#define MASTER_CLOCK_352 57272720
@@ -256,7 +261,7 @@ WRITE32_HANDLER ( saturn_vdp2_vram_w );
WRITE32_HANDLER ( saturn_vdp2_cram_w );
WRITE16_HANDLER ( saturn_vdp2_regs_w );
-VIDEO_START ( stv_vdp2 );
+
SCREEN_UPDATE_RGB32( stv_vdp2 );
#if NEW_VIDEO_CODE
SCREEN_UPDATE_RGB32( saturn );
diff --git a/src/mame/includes/subs.h b/src/mame/includes/subs.h
index b8d104fc9b6..4b94c224123 100644
--- a/src/mame/includes/subs.h
+++ b/src/mame/includes/subs.h
@@ -40,12 +40,14 @@ public:
DECLARE_WRITE8_MEMBER(subs_lamp2_w);
DECLARE_WRITE8_MEMBER(subs_invert1_w);
DECLARE_WRITE8_MEMBER(subs_invert2_w);
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*----------- defined in machine/subs.c -----------*/
-MACHINE_RESET( subs );
+
INTERRUPT_GEN( subs_interrupt );
diff --git a/src/mame/includes/suna16.h b/src/mame/includes/suna16.h
index 3664707cfc6..8b041909e2f 100644
--- a/src/mame/includes/suna16.h
+++ b/src/mame/includes/suna16.h
@@ -34,6 +34,8 @@ public:
DECLARE_WRITE8_MEMBER(bssoccer_DAC4_w);
DECLARE_WRITE8_MEMBER(bestbest_ay8910_port_a_w);
DECLARE_DRIVER_INIT(uballoon);
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(uballoon);
};
@@ -41,6 +43,6 @@ public:
-VIDEO_START( suna16 );
+
SCREEN_UPDATE_IND16( suna16 );
SCREEN_UPDATE_IND16( bestbest );
diff --git a/src/mame/includes/suna8.h b/src/mame/includes/suna8.h
index a454d82a339..ae8e8e020de 100644
--- a/src/mame/includes/suna8.h
+++ b/src/mame/includes/suna8.h
@@ -98,6 +98,11 @@ public:
DECLARE_DRIVER_INIT(brickzn);
DECLARE_DRIVER_INIT(hardhead);
DECLARE_DRIVER_INIT(suna8);
+ DECLARE_VIDEO_START(suna8_textdim12);
+ DECLARE_VIDEO_START(suna8_textdim8);
+ DECLARE_MACHINE_RESET(brickzn);
+ DECLARE_VIDEO_START(suna8_textdim0);
+ DECLARE_MACHINE_RESET(hardhea2);
};
@@ -113,7 +118,7 @@ SAMPLES_START( suna8_sh_start );
-VIDEO_START( suna8_textdim0 );
-VIDEO_START( suna8_textdim8 );
-VIDEO_START( suna8_textdim12 );
+
+
+
SCREEN_UPDATE_IND16( suna8 );
diff --git a/src/mame/includes/supbtime.h b/src/mame/includes/supbtime.h
index ef9cda5108d..70ed5b58bd8 100644
--- a/src/mame/includes/supbtime.h
+++ b/src/mame/includes/supbtime.h
@@ -27,6 +27,7 @@ public:
device_t *m_deco_tilegen1;
DECLARE_READ16_MEMBER(supbtime_controls_r);
DECLARE_WRITE16_MEMBER(sound_w);
+ virtual void machine_start();
};
diff --git a/src/mame/includes/superchs.h b/src/mame/includes/superchs.h
index 29ca298d48c..15d24389159 100644
--- a/src/mame/includes/superchs.h
+++ b/src/mame/includes/superchs.h
@@ -37,10 +37,11 @@ public:
DECLARE_READ32_MEMBER(main_cycle_r);
DECLARE_READ16_MEMBER(sub_cycle_r);
DECLARE_DRIVER_INIT(superchs);
+ virtual void video_start();
};
/*----------- defined in video/superchs.c -----------*/
-VIDEO_START( superchs );
+
SCREEN_UPDATE_IND16( superchs );
diff --git a/src/mame/includes/superqix.h b/src/mame/includes/superqix.h
index c8b1154393a..4120e28a03f 100644
--- a/src/mame/includes/superqix.h
+++ b/src/mame/includes/superqix.h
@@ -72,13 +72,17 @@ public:
DECLARE_DRIVER_INIT(sqixa);
TILE_GET_INFO_MEMBER(pb_get_bg_tile_info);
TILE_GET_INFO_MEMBER(sqix_get_bg_tile_info);
+ DECLARE_MACHINE_START(pbillian);
+ DECLARE_VIDEO_START(pbillian);
+ DECLARE_MACHINE_START(superqix);
+ DECLARE_VIDEO_START(superqix);
};
/*----------- defined in video/superqix.c -----------*/
-VIDEO_START( pbillian );
+
SCREEN_UPDATE_IND16( pbillian );
-VIDEO_START( superqix );
+
SCREEN_UPDATE_IND16( superqix );
diff --git a/src/mame/includes/suprloco.h b/src/mame/includes/suprloco.h
index d8154a70333..4c0320b8c1e 100644
--- a/src/mame/includes/suprloco.h
+++ b/src/mame/includes/suprloco.h
@@ -20,11 +20,13 @@ public:
DECLARE_READ8_MEMBER(suprloco_control_r);
DECLARE_DRIVER_INIT(suprloco);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/suprloco.c -----------*/
-PALETTE_INIT( suprloco );
-VIDEO_START( suprloco );
+
+
SCREEN_UPDATE_IND16( suprloco );
diff --git a/src/mame/includes/suprnova.h b/src/mame/includes/suprnova.h
index ccb2f841eba..ea9bc48f5e9 100644
--- a/src/mame/includes/suprnova.h
+++ b/src/mame/includes/suprnova.h
@@ -126,6 +126,14 @@ public:
DECLARE_DRIVER_INIT(ryouran);
TILE_GET_INFO_MEMBER(get_tilemap_A_tile_info);
TILE_GET_INFO_MEMBER(get_tilemap_B_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void video_reset();
+ DECLARE_MACHINE_RESET(sknsa);
+ DECLARE_MACHINE_RESET(sknsj);
+ DECLARE_MACHINE_RESET(sknsu);
+ DECLARE_MACHINE_RESET(sknse);
+ DECLARE_MACHINE_RESET(sknsk);
};
@@ -138,7 +146,7 @@ void skns_draw_sprites(
UINT8* gfx_source, size_t gfx_length,
UINT32* sprite_regs );
-VIDEO_START(skns);
-VIDEO_RESET(skns);
+
+
SCREEN_VBLANK(skns);
SCREEN_UPDATE_RGB32(skns);
diff --git a/src/mame/includes/suprridr.h b/src/mame/includes/suprridr.h
index 1e4f4758611..d9131985992 100644
--- a/src/mame/includes/suprridr.h
+++ b/src/mame/includes/suprridr.h
@@ -38,13 +38,15 @@ public:
DECLARE_READ8_MEMBER(sound_data_r);
TILE_GET_INFO_MEMBER(get_tile_info);
TILE_GET_INFO_MEMBER(get_tile_info2);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/suprridr.c -----------*/
-VIDEO_START( suprridr );
-PALETTE_INIT( suprridr );
+
+
int suprridr_is_screen_flipped(running_machine &machine);
diff --git a/src/mame/includes/suprslam.h b/src/mame/includes/suprslam.h
index 212af1f83a5..7ad0a1d061f 100644
--- a/src/mame/includes/suprslam.h
+++ b/src/mame/includes/suprslam.h
@@ -46,11 +46,14 @@ public:
DECLARE_WRITE16_MEMBER(suprslam_bank_w);
TILE_GET_INFO_MEMBER(get_suprslam_tile_info);
TILE_GET_INFO_MEMBER(get_suprslam_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/suprslam.c -----------*/
-VIDEO_START( suprslam );
+
SCREEN_UPDATE_IND16( suprslam );
diff --git a/src/mame/includes/surpratk.h b/src/mame/includes/surpratk.h
index 263c6b674a7..8631bd3a116 100644
--- a/src/mame/includes/surpratk.h
+++ b/src/mame/includes/surpratk.h
@@ -32,6 +32,8 @@ public:
DECLARE_WRITE8_MEMBER(bankedram_w);
DECLARE_WRITE8_MEMBER(surpratk_videobank_w);
DECLARE_WRITE8_MEMBER(surpratk_5fc0_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in video/surpratk.c -----------*/
diff --git a/src/mame/includes/system1.h b/src/mame/includes/system1.h
index 679f7eb47f1..407806c6300 100644
--- a/src/mame/includes/system1.h
+++ b/src/mame/includes/system1.h
@@ -99,13 +99,18 @@ public:
DECLARE_DRIVER_INIT(gardia);
DECLARE_DRIVER_INIT(spatter);
TILE_GET_INFO_MEMBER(tile_get_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_START(system2);
+ DECLARE_VIDEO_START(system2);
};
/*----------- defined in video/system1.c -----------*/
-VIDEO_START( system1 );
-VIDEO_START( system2 );
+
+
WRITE8_DEVICE_HANDLER( system1_videoram_bank_w );
diff --git a/src/mame/includes/system16.h b/src/mame/includes/system16.h
index db789899af8..43dd9f42112 100644
--- a/src/mame/includes/system16.h
+++ b/src/mame/includes/system16.h
@@ -183,14 +183,16 @@ public:
TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_infotxt);
TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_info0);
TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_info1);
+ DECLARE_VIDEO_START(system16);
+ DECLARE_VIDEO_START(system18old);
+ DECLARE_VIDEO_START(s16a_bootleg_shinobi);
+ DECLARE_VIDEO_START(s16a_bootleg_passsht);
+ DECLARE_VIDEO_START(s16a_bootleg_wb3bl);
+ DECLARE_VIDEO_START(s16a_bootleg);
};
/*----------- defined in video/system16.c -----------*/
-extern VIDEO_START( s16a_bootleg );
-extern VIDEO_START( s16a_bootleg_wb3bl );
-extern VIDEO_START( s16a_bootleg_shinobi );
-extern VIDEO_START( s16a_bootleg_passsht );
extern SCREEN_UPDATE_IND16( s16a_bootleg );
extern SCREEN_UPDATE_IND16( s16a_bootleg_passht4b );
diff --git a/src/mame/includes/tagteam.h b/src/mame/includes/tagteam.h
index 38e41a36b61..6a00b1becc5 100644
--- a/src/mame/includes/tagteam.h
+++ b/src/mame/includes/tagteam.h
@@ -25,12 +25,14 @@ public:
DECLARE_WRITE8_MEMBER(tagteam_flipscreen_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/tagteam.c -----------*/
-PALETTE_INIT( tagteam );
-VIDEO_START( tagteam );
+
+
SCREEN_UPDATE_IND16( tagteam );
diff --git a/src/mame/includes/tail2nos.h b/src/mame/includes/tail2nos.h
index cea15f07321..539481da45d 100644
--- a/src/mame/includes/tail2nos.h
+++ b/src/mame/includes/tail2nos.h
@@ -35,6 +35,9 @@ public:
DECLARE_WRITE16_MEMBER(tail2nos_gfxbank_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -43,5 +46,5 @@ public:
extern void tail2nos_zoom_callback(running_machine &machine, int *code,int *color,int *flags);
-VIDEO_START( tail2nos );
+
SCREEN_UPDATE_IND16( tail2nos );
diff --git a/src/mame/includes/taito_b.h b/src/mame/includes/taito_b.h
index fb1c111e11c..21c2c171e4f 100644
--- a/src/mame/includes/taito_b.h
+++ b/src/mame/includes/taito_b.h
@@ -61,6 +61,15 @@ public:
DECLARE_WRITE16_MEMBER(tc0180vcu_framebuffer_word_w);
DECLARE_INPUT_CHANGED_MEMBER(realpunc_sensor);
DECLARE_DRIVER_INIT(taito_b);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(taitob_color_order0);
+ DECLARE_VIDEO_START(taitob_color_order1);
+ DECLARE_VIDEO_START(taitob_color_order2);
+ DECLARE_VIDEO_START(hitice);
+ DECLARE_VIDEO_RESET(hitice);
+ DECLARE_VIDEO_START(realpunc);
+ DECLARE_VIDEO_START(taitob_core);
};
@@ -69,13 +78,13 @@ public:
-VIDEO_START( taitob_color_order0 );
-VIDEO_START( taitob_color_order1 );
-VIDEO_START( taitob_color_order2 );
-VIDEO_START( hitice );
-VIDEO_START( realpunc );
-VIDEO_RESET( hitice );
+
+
+
+
+
+
SCREEN_UPDATE_RGB32( realpunc );
SCREEN_UPDATE_IND16( taitob );
diff --git a/src/mame/includes/taito_f2.h b/src/mame/includes/taito_f2.h
index 126a1d3c82a..1dfd5f49bd3 100644
--- a/src/mame/includes/taito_f2.h
+++ b/src/mame/includes/taito_f2.h
@@ -103,34 +103,60 @@ public:
DECLARE_DRIVER_INIT(cameltry);
DECLARE_DRIVER_INIT(mjnquest);
DECLARE_DRIVER_INIT(finalb);
+ DECLARE_MACHINE_START(f2);
+ DECLARE_VIDEO_START(taitof2_default);
+ DECLARE_MACHINE_START(common);
+ DECLARE_VIDEO_START(taitof2_dondokod);
+ DECLARE_VIDEO_START(taitof2_driftout);
+ DECLARE_VIDEO_START(taitof2_finalb);
+ DECLARE_VIDEO_START(taitof2_megab);
+ DECLARE_VIDEO_START(taitof2_thundfox);
+ DECLARE_VIDEO_START(taitof2_ssi);
+ DECLARE_VIDEO_START(taitof2_gunfront);
+ DECLARE_VIDEO_START(taitof2_growl);
+ DECLARE_VIDEO_START(taitof2_mjnquest);
+ DECLARE_VIDEO_START(taitof2_footchmp);
+ DECLARE_VIDEO_START(taitof2_hthero);
+ DECLARE_VIDEO_START(taitof2_koshien);
+ DECLARE_VIDEO_START(taitof2_yuyugogo);
+ DECLARE_VIDEO_START(taitof2_ninjak);
+ DECLARE_VIDEO_START(taitof2_solfigtr);
+ DECLARE_VIDEO_START(taitof2_pulirula);
+ DECLARE_VIDEO_START(taitof2_metalb);
+ DECLARE_VIDEO_START(taitof2_qzchikyu);
+ DECLARE_VIDEO_START(taitof2_yesnoj);
+ DECLARE_VIDEO_START(taitof2_deadconx);
+ DECLARE_VIDEO_START(taitof2_deadconxj);
+ DECLARE_VIDEO_START(taitof2_dinorex);
+ DECLARE_VIDEO_START(taitof2_quiz);
};
/*----------- defined in video/taito_f2.c -----------*/
-VIDEO_START( taitof2_default );
-VIDEO_START( taitof2_quiz );
-VIDEO_START( taitof2_finalb );
-VIDEO_START( taitof2_megab );
-VIDEO_START( taitof2_solfigtr );
-VIDEO_START( taitof2_koshien );
-VIDEO_START( taitof2_driftout );
-VIDEO_START( taitof2_dondokod );
-VIDEO_START( taitof2_thundfox );
-VIDEO_START( taitof2_growl );
-VIDEO_START( taitof2_yuyugogo );
-VIDEO_START( taitof2_mjnquest );
-VIDEO_START( taitof2_footchmp );
-VIDEO_START( taitof2_hthero );
-VIDEO_START( taitof2_ssi );
-VIDEO_START( taitof2_gunfront );
-VIDEO_START( taitof2_ninjak );
-VIDEO_START( taitof2_pulirula );
-VIDEO_START( taitof2_metalb );
-VIDEO_START( taitof2_qzchikyu );
-VIDEO_START( taitof2_yesnoj );
-VIDEO_START( taitof2_deadconx );
-VIDEO_START( taitof2_deadconxj );
-VIDEO_START( taitof2_dinorex );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SCREEN_VBLANK( taitof2_no_buffer );
SCREEN_VBLANK( taitof2_full_buffer_delayed );
SCREEN_VBLANK( taitof2_partial_buffer_delayed );
diff --git a/src/mame/includes/taito_f3.h b/src/mame/includes/taito_f3.h
index 750b76ae29f..3da24e10e49 100644
--- a/src/mame/includes/taito_f3.h
+++ b/src/mame/includes/taito_f3.h
@@ -268,12 +268,14 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info8);
TILE_GET_INFO_MEMBER(get_tile_info_vram);
TILE_GET_INFO_MEMBER(get_tile_info_pixel);
+ DECLARE_MACHINE_START(f3);
+ DECLARE_VIDEO_START(f3);
};
/*----------- defined in video/taito_f3.c -----------*/
-VIDEO_START( f3 );
+
SCREEN_UPDATE_RGB32( f3 );
SCREEN_VBLANK( f3 );
diff --git a/src/mame/includes/taito_h.h b/src/mame/includes/taito_h.h
index 943a440d330..2e81a887648 100644
--- a/src/mame/includes/taito_h.h
+++ b/src/mame/includes/taito_h.h
@@ -25,6 +25,8 @@ public:
device_t *m_tc0220ioc;
DECLARE_READ8_MEMBER(syvalion_input_bypass_r);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in video/taito_h.c -----------*/
diff --git a/src/mame/includes/taito_l.h b/src/mame/includes/taito_l.h
index 67e271c8821..53205a9697b 100644
--- a/src/mame/includes/taito_l.h
+++ b/src/mame/includes/taito_l.h
@@ -107,12 +107,24 @@ public:
TILE_GET_INFO_MEMBER(get_bg18_tile_info);
TILE_GET_INFO_MEMBER(get_bg19_tile_info);
TILE_GET_INFO_MEMBER(get_ch1a_tile_info);
+ DECLARE_MACHINE_START(taito_l);
+ DECLARE_MACHINE_RESET(fhawk);
+ DECLARE_VIDEO_START(taitol);
+ DECLARE_MACHINE_RESET(kurikint);
+ DECLARE_MACHINE_RESET(plotting);
+ DECLARE_MACHINE_RESET(evilston);
+ DECLARE_MACHINE_RESET(champwr);
+ DECLARE_MACHINE_RESET(raimais);
+ DECLARE_MACHINE_RESET(puzznic);
+ DECLARE_MACHINE_RESET(horshoes);
+ DECLARE_MACHINE_RESET(palamed);
+ DECLARE_MACHINE_RESET(cachat);
};
/*----------- defined in video/taito_l.c -----------*/
SCREEN_VBLANK( taitol );
-VIDEO_START( taitol );
+
SCREEN_UPDATE_IND16( taitol );
void taitol_chardef14_m(running_machine &machine, int offset);
diff --git a/src/mame/includes/taito_o.h b/src/mame/includes/taito_o.h
index bf690fe84b8..8110f2f5040 100644
--- a/src/mame/includes/taito_o.h
+++ b/src/mame/includes/taito_o.h
@@ -18,6 +18,7 @@ public:
device_t *m_tc0080vco;
DECLARE_WRITE16_MEMBER(io_w);
DECLARE_READ16_MEMBER(io_r);
+ virtual void machine_start();
};
/*----------- defined in video/taito_o.c -----------*/
diff --git a/src/mame/includes/taito_z.h b/src/mame/includes/taito_z.h
index f76ac41aa6e..2a94a266fb0 100644
--- a/src/mame/includes/taito_z.h
+++ b/src/mame/includes/taito_z.h
@@ -73,12 +73,16 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(taitoz_pedal_r);
DECLARE_DRIVER_INIT(taitoz);
DECLARE_DRIVER_INIT(bshark);
+ DECLARE_MACHINE_START(taitoz);
+ DECLARE_MACHINE_RESET(taitoz);
+ DECLARE_VIDEO_START(taitoz);
+ DECLARE_MACHINE_START(bshark);
};
/*----------- defined in video/taito_z.c -----------*/
-VIDEO_START( taitoz );
+
SCREEN_UPDATE_IND16( contcirc );
SCREEN_UPDATE_IND16( chasehq );
diff --git a/src/mame/includes/taitoair.h b/src/mame/includes/taitoair.h
index f146f49221e..9f4b5f36a56 100644
--- a/src/mame/includes/taitoair.h
+++ b/src/mame/includes/taitoair.h
@@ -79,12 +79,15 @@ public:
DECLARE_WRITE16_MEMBER(dsp_rasterize_w);
DECLARE_READ16_MEMBER(dsp_x_return_r);
DECLARE_READ16_MEMBER(dsp_y_return_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/taitoair.c -----------*/
SCREEN_UPDATE_IND16( taitoair );
-VIDEO_START( taitoair );
+
diff --git a/src/mame/includes/taitojc.h b/src/mame/includes/taitojc.h
index f8c75ec7305..da3a46862ae 100644
--- a/src/mame/includes/taitojc.h
+++ b/src/mame/includes/taitojc.h
@@ -157,6 +157,8 @@ public:
DECLARE_DRIVER_INIT(dangcurv);
DECLARE_DRIVER_INIT(taitojc);
TILE_GET_INFO_MEMBER(taitojc_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -165,7 +167,7 @@ public:
void taitojc_clear_frame(running_machine &machine);
void taitojc_render_polygons(running_machine &machine, UINT16 *polygon_fifo, int length);
-VIDEO_START(taitojc);
+
SCREEN_UPDATE_IND16(taitojc);
SCREEN_UPDATE_IND16(dendego);
diff --git a/src/mame/includes/taitosj.h b/src/mame/includes/taitosj.h
index 3039da4aa8b..681a9ef2d3c 100644
--- a/src/mame/includes/taitosj.h
+++ b/src/mame/includes/taitosj.h
@@ -85,18 +85,21 @@ public:
DECLARE_DRIVER_INIT(taitosj);
DECLARE_DRIVER_INIT(junglhbr);
DECLARE_DRIVER_INIT(spacecr);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in machine/taitosj.c -----------*/
-MACHINE_START( taitosj );
-MACHINE_RESET( taitosj );
+
+
/*----------- defined in video/taitosj.c -----------*/
-VIDEO_START( taitosj );
+
SCREEN_UPDATE_IND16( taitosj );
SCREEN_UPDATE_IND16( kikstart );
diff --git a/src/mame/includes/tank8.h b/src/mame/includes/tank8.h
index 4001ad8d862..f91aa944d00 100644
--- a/src/mame/includes/tank8.h
+++ b/src/mame/includes/tank8.h
@@ -56,6 +56,9 @@ public:
DECLARE_WRITE8_MEMBER(tank8_motor_w);
DECLARE_DRIVER_INIT(decode);
TILE_GET_INFO_MEMBER(tank8_get_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -71,9 +74,9 @@ void tank8_set_collision(running_machine &machine, int index);
/*----------- defined in video/tank8.c -----------*/
-PALETTE_INIT( tank8 );
+
SCREEN_VBLANK( tank8 );
-VIDEO_START( tank8 );
+
SCREEN_UPDATE_IND16( tank8 );
diff --git a/src/mame/includes/tankbatt.h b/src/mame/includes/tankbatt.h
index 9172b9df5e9..5c8ffae47f7 100644
--- a/src/mame/includes/tankbatt.h
+++ b/src/mame/includes/tankbatt.h
@@ -27,12 +27,14 @@ public:
DECLARE_WRITE8_MEMBER(tankbatt_videoram_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/tankbatt.c -----------*/
-PALETTE_INIT( tankbatt );
-VIDEO_START( tankbatt );
+
+
SCREEN_UPDATE_IND16( tankbatt );
diff --git a/src/mame/includes/tankbust.h b/src/mame/includes/tankbust.h
index 1bce8779b78..3023f0567b8 100644
--- a/src/mame/includes/tankbust.h
+++ b/src/mame/includes/tankbust.h
@@ -39,12 +39,15 @@ public:
DECLARE_READ8_MEMBER(tankbust_soundtimer_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_txt_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/tankbust.c -----------*/
-VIDEO_START( tankbust );
+
SCREEN_UPDATE_IND16( tankbust );
diff --git a/src/mame/includes/taotaido.h b/src/mame/includes/taotaido.h
index b9cb6e08dfa..3becb7a55f7 100644
--- a/src/mame/includes/taotaido.h
+++ b/src/mame/includes/taotaido.h
@@ -29,11 +29,12 @@ public:
DECLARE_WRITE16_MEMBER(taotaido_bgvideoram_w);
TILE_GET_INFO_MEMBER(taotaido_bg_tile_info);
TILEMAP_MAPPER_MEMBER(taotaido_tilemap_scan_rows);
+ virtual void video_start();
};
/*----------- defined in video/taotaido.c -----------*/
-VIDEO_START( taotaido );
+
SCREEN_UPDATE_IND16( taotaido );
SCREEN_VBLANK( taotaido );
diff --git a/src/mame/includes/targeth.h b/src/mame/includes/targeth.h
index b04edcb8211..7d1629b3566 100644
--- a/src/mame/includes/targeth.h
+++ b/src/mame/includes/targeth.h
@@ -19,10 +19,11 @@ public:
DECLARE_WRITE16_MEMBER(targeth_vram_w);
TILE_GET_INFO_MEMBER(get_tile_info_targeth_screen0);
TILE_GET_INFO_MEMBER(get_tile_info_targeth_screen1);
+ virtual void video_start();
};
/*----------- defined in video/targeth.c -----------*/
-VIDEO_START( targeth );
+
SCREEN_UPDATE_IND16( targeth );
diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h
index f9af3a96357..3a02c61c95d 100644
--- a/src/mame/includes/tatsumi.h
+++ b/src/mame/includes/tatsumi.h
@@ -115,6 +115,11 @@ public:
TILE_GET_INFO_MEMBER(get_text_tile_info);
TILE_GET_INFO_MEMBER(get_tile_info_bigfight_0);
TILE_GET_INFO_MEMBER(get_tile_info_bigfight_1);
+ DECLARE_MACHINE_RESET(apache3);
+ DECLARE_VIDEO_START(apache3);
+ DECLARE_VIDEO_START(roundup5);
+ DECLARE_VIDEO_START(cyclwarr);
+ DECLARE_VIDEO_START(bigfight);
};
@@ -131,10 +136,10 @@ void tatsumi_reset(running_machine &machine);
-VIDEO_START( apache3 );
-VIDEO_START( roundup5 );
-VIDEO_START( cyclwarr );
-VIDEO_START( bigfight );
+
+
+
+
SCREEN_UPDATE_RGB32( roundup5 );
SCREEN_UPDATE_RGB32( apache3 );
diff --git a/src/mame/includes/tbowl.h b/src/mame/includes/tbowl.h
index cab6a639027..6961a53d227 100644
--- a/src/mame/includes/tbowl.h
+++ b/src/mame/includes/tbowl.h
@@ -48,6 +48,8 @@ public:
TILE_GET_INFO_MEMBER(get_tx_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -55,7 +57,7 @@ public:
-VIDEO_START( tbowl );
+
SCREEN_UPDATE_IND16( tbowl_left );
SCREEN_UPDATE_IND16( tbowl_right );
diff --git a/src/mame/includes/tceptor.h b/src/mame/includes/tceptor.h
index e860020048b..19199f0ff0e 100644
--- a/src/mame/includes/tceptor.h
+++ b/src/mame/includes/tceptor.h
@@ -56,13 +56,17 @@ public:
TILE_GET_INFO_MEMBER(get_tx_tile_info);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/tceptor.c -----------*/
-PALETTE_INIT( tceptor );
-VIDEO_START( tceptor );
+
+
SCREEN_UPDATE_IND16( tceptor_2d );
SCREEN_UPDATE_IND16( tceptor_3d_left );
SCREEN_UPDATE_IND16( tceptor_3d_right );
diff --git a/src/mame/includes/tecmo.h b/src/mame/includes/tecmo.h
index ec58bf24fcb..90448b7c5dc 100644
--- a/src/mame/includes/tecmo.h
+++ b/src/mame/includes/tecmo.h
@@ -46,11 +46,13 @@ public:
TILE_GET_INFO_MEMBER(gemini_get_bg_tile_info);
TILE_GET_INFO_MEMBER(gemini_get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ DECLARE_MACHINE_RESET(rygar);
+ DECLARE_VIDEO_START(tecmo);
};
/*----------- defined in video/tecmo.c -----------*/
-VIDEO_START( tecmo );
+
SCREEN_UPDATE_IND16( tecmo );
diff --git a/src/mame/includes/tecmo16.h b/src/mame/includes/tecmo16.h
index 93093817cd2..6db07f1fcb0 100644
--- a/src/mame/includes/tecmo16.h
+++ b/src/mame/includes/tecmo16.h
@@ -46,6 +46,9 @@ public:
TILE_GET_INFO_MEMBER(fg_get_tile_info);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(tx_get_tile_info);
+ virtual void video_start();
+ DECLARE_VIDEO_START(ginkun);
+ DECLARE_VIDEO_START(riot);
};
@@ -53,7 +56,7 @@ public:
-VIDEO_START( fstarfrc );
-VIDEO_START( ginkun );
-VIDEO_START( riot );
+
+
+
SCREEN_UPDATE_RGB32( tecmo16 );
diff --git a/src/mame/includes/tecmosys.h b/src/mame/includes/tecmosys.h
index a0341240a52..544a57f18be 100644
--- a/src/mame/includes/tecmosys.h
+++ b/src/mame/includes/tecmosys.h
@@ -77,6 +77,8 @@ public:
TILE_GET_INFO_MEMBER(get_bg1tile_info);
TILE_GET_INFO_MEMBER(get_bg2tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -90,4 +92,4 @@ void tecmosys_prot_init(running_machine &machine, int which);
SCREEN_UPDATE_RGB32(tecmosys);
-VIDEO_START(tecmosys);
+
diff --git a/src/mame/includes/tehkanwc.h b/src/mame/includes/tehkanwc.h
index c92e37e2284..a7822883a1b 100644
--- a/src/mame/includes/tehkanwc.h
+++ b/src/mame/includes/tehkanwc.h
@@ -45,6 +45,7 @@ public:
DECLARE_DRIVER_INIT(teedoff);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
};
diff --git a/src/mame/includes/terracre.h b/src/mame/includes/terracre.h
index 981ca2311b3..3ff643d5ed4 100644
--- a/src/mame/includes/terracre.h
+++ b/src/mame/includes/terracre.h
@@ -33,11 +33,14 @@ public:
DECLARE_DRIVER_INIT(horekid);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(amazon);
};
/*----------- defined in video/terracre.c -----------*/
-PALETTE_INIT( amazon );
-VIDEO_START( amazon );
+
+
SCREEN_UPDATE_IND16( amazon );
diff --git a/src/mame/includes/tetrisp2.h b/src/mame/includes/tetrisp2.h
index 438fab5502d..be45e93012d 100644
--- a/src/mame/includes/tetrisp2.h
+++ b/src/mame/includes/tetrisp2.h
@@ -102,6 +102,10 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_fg);
TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_rot);
TILE_GET_INFO_MEMBER(stepstag_get_tile_info_fg);
+ DECLARE_VIDEO_START(tetrisp2);
+ DECLARE_VIDEO_START(nndmseal);
+ DECLARE_VIDEO_START(rockntread);
+ DECLARE_VIDEO_START(rocknms);
};
class stepstag_state : public tetrisp2_state
@@ -120,6 +124,7 @@ public:
DECLARE_WRITE16_MEMBER(stepstag_leds_w);
DECLARE_WRITE16_MEMBER( stepstag_palette_w );
DECLARE_DRIVER_INIT(stepstag);
+ DECLARE_VIDEO_START(stepstag);
};
/*----------- defined in video/tetrisp2.c -----------*/
@@ -127,19 +132,19 @@ public:
-VIDEO_START( tetrisp2 );
+
SCREEN_UPDATE_IND16( tetrisp2 );
-VIDEO_START( rockntread );
+
SCREEN_UPDATE_IND16( rockntread );
-VIDEO_START( rocknms );
+
SCREEN_UPDATE_RGB32( rocknms_left );
SCREEN_UPDATE_RGB32( rocknms_right );
-VIDEO_START( nndmseal );
-VIDEO_START( stepstag );
+
+
SCREEN_UPDATE_IND16( stepstag_left );
SCREEN_UPDATE_IND16( stepstag_mid );
SCREEN_UPDATE_IND16( stepstag_right );
diff --git a/src/mame/includes/thedeep.h b/src/mame/includes/thedeep.h
index 9ff2b8de7da..f7446afe6cc 100644
--- a/src/mame/includes/thedeep.h
+++ b/src/mame/includes/thedeep.h
@@ -46,13 +46,16 @@ public:
TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_back);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/thedeep.c -----------*/
-PALETTE_INIT( thedeep );
-VIDEO_START( thedeep );
+
+
SCREEN_UPDATE_IND16( thedeep );
diff --git a/src/mame/includes/thepit.h b/src/mame/includes/thepit.h
index d90825561c2..9b4f84cd7ab 100644
--- a/src/mame/includes/thepit.h
+++ b/src/mame/includes/thepit.h
@@ -35,12 +35,15 @@ public:
DECLARE_DRIVER_INIT(rtriv);
TILE_GET_INFO_MEMBER(solid_get_tile_info);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(suprmous);
};
/*----------- defined in video/thepit.c -----------*/
-PALETTE_INIT( thepit );
-PALETTE_INIT( suprmous );
-VIDEO_START( thepit );
+
+
+
SCREEN_UPDATE_IND16( thepit );
diff --git a/src/mame/includes/thief.h b/src/mame/includes/thief.h
index 434180db8eb..f229008760f 100644
--- a/src/mame/includes/thief.h
+++ b/src/mame/includes/thief.h
@@ -32,11 +32,12 @@ public:
DECLARE_WRITE8_MEMBER(thief_coprocessor_w);
DECLARE_WRITE8_MEMBER(tape_control_w);
DECLARE_DRIVER_INIT(thief);
+ virtual void video_start();
};
/*----------- defined in video/thief.c -----------*/
-VIDEO_START( thief );
+
SCREEN_UPDATE_IND16( thief );
diff --git a/src/mame/includes/thoop2.h b/src/mame/includes/thoop2.h
index e0f0a6797d1..1fec90792d1 100644
--- a/src/mame/includes/thoop2.h
+++ b/src/mame/includes/thoop2.h
@@ -19,10 +19,11 @@ public:
DECLARE_WRITE16_MEMBER(thoop2_vram_w);
TILE_GET_INFO_MEMBER(get_tile_info_thoop2_screen0);
TILE_GET_INFO_MEMBER(get_tile_info_thoop2_screen1);
+ virtual void video_start();
};
/*----------- defined in video/thoop2.c -----------*/
-VIDEO_START( thoop2 );
+
SCREEN_UPDATE_IND16( thoop2 );
diff --git a/src/mame/includes/thunderj.h b/src/mame/includes/thunderj.h
index 14a20aa616f..3c082872e1d 100644
--- a/src/mame/includes/thunderj.h
+++ b/src/mame/includes/thunderj.h
@@ -21,10 +21,13 @@ public:
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
+ DECLARE_MACHINE_START(thunderj);
+ DECLARE_MACHINE_RESET(thunderj);
+ DECLARE_VIDEO_START(thunderj);
};
/*----------- defined in video/thunderj.c -----------*/
-VIDEO_START( thunderj );
+
SCREEN_UPDATE_IND16( thunderj );
diff --git a/src/mame/includes/thunderx.h b/src/mame/includes/thunderx.h
index a4252d50d0c..b0614d553db 100644
--- a/src/mame/includes/thunderx.h
+++ b/src/mame/includes/thunderx.h
@@ -45,6 +45,11 @@ public:
DECLARE_READ8_MEMBER(k052109_051960_r);
DECLARE_WRITE8_MEMBER(k052109_051960_w);
DECLARE_WRITE8_MEMBER(scontra_snd_bankswitch_w);
+ virtual void video_start();
+ DECLARE_MACHINE_START(scontra);
+ DECLARE_MACHINE_RESET(scontra);
+ DECLARE_MACHINE_START(thunderx);
+ DECLARE_MACHINE_RESET(thunderx);
};
@@ -53,5 +58,5 @@ public:
extern void thunderx_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags,int *priority);
extern void thunderx_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask,int *shadow);
-VIDEO_START( scontra );
+
SCREEN_UPDATE_IND16( scontra );
diff --git a/src/mame/includes/tiamc1.h b/src/mame/includes/tiamc1.h
index b1353aaec63..06a077c2bef 100644
--- a/src/mame/includes/tiamc1.h
+++ b/src/mame/includes/tiamc1.h
@@ -30,6 +30,9 @@ public:
DECLARE_WRITE8_MEMBER(tiamc1_palette_w);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -66,7 +69,7 @@ WRITE8_DEVICE_HANDLER( tiamc1_timer1_gate_w );
/*----------- defined in video/tiamc1.c -----------*/
-PALETTE_INIT( tiamc1 );
-VIDEO_START( tiamc1 );
+
+
SCREEN_UPDATE_IND16( tiamc1 );
diff --git a/src/mame/includes/tigeroad.h b/src/mame/includes/tigeroad.h
index fe27f1947ed..84cf7715938 100644
--- a/src/mame/includes/tigeroad.h
+++ b/src/mame/includes/tigeroad.h
@@ -26,10 +26,11 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILEMAP_MAPPER_MEMBER(tigeroad_tilemap_scan);
+ virtual void video_start();
};
/*----------- defined in video/tigeroad.c -----------*/
-VIDEO_START( tigeroad );
+
SCREEN_UPDATE_IND16( tigeroad );
diff --git a/src/mame/includes/timelimt.h b/src/mame/includes/timelimt.h
index 64a7dda4e4f..59007202114 100644
--- a/src/mame/includes/timelimt.h
+++ b/src/mame/includes/timelimt.h
@@ -24,12 +24,16 @@ public:
DECLARE_WRITE8_MEMBER(timelimt_scroll_y_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/timelimt.c -----------*/
-VIDEO_START( timelimt );
-PALETTE_INIT( timelimt );
+
+
SCREEN_UPDATE_IND16( timelimt );
diff --git a/src/mame/includes/timeplt.h b/src/mame/includes/timeplt.h
index 44acdeae6fa..ed13097c20a 100644
--- a/src/mame/includes/timeplt.h
+++ b/src/mame/includes/timeplt.h
@@ -45,13 +45,18 @@ public:
DECLARE_WRITE8_MEMBER(chkun_sound_w);
TILE_GET_INFO_MEMBER(get_tile_info);
TILE_GET_INFO_MEMBER(get_chkun_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(chkun);
};
/*----------- defined in video/timeplt.c -----------*/
-PALETTE_INIT( timeplt );
-VIDEO_START( timeplt );
-VIDEO_START( chkun );
+
+
+
SCREEN_UPDATE_IND16( timeplt );
diff --git a/src/mame/includes/tmnt.h b/src/mame/includes/tmnt.h
index a986a5a040e..4021243e5a3 100644
--- a/src/mame/includes/tmnt.h
+++ b/src/mame/includes/tmnt.h
@@ -121,6 +121,17 @@ public:
DECLARE_DRIVER_INIT(cuebrick);
TILE_GET_INFO_MEMBER(glfgreat_get_roz_tile_info);
TILE_GET_INFO_MEMBER(prmrsocr_get_roz_tile_info);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
+ DECLARE_VIDEO_START(cuebrick);
+ DECLARE_VIDEO_START(mia);
+ DECLARE_MACHINE_RESET(tmnt);
+ DECLARE_VIDEO_START(tmnt);
+ DECLARE_VIDEO_START(lgtnfght);
+ DECLARE_VIDEO_START(blswhstl);
+ DECLARE_VIDEO_START(glfgreat);
+ DECLARE_MACHINE_START(prmrsocr);
+ DECLARE_VIDEO_START(prmrsocr);
};
@@ -140,13 +151,13 @@ extern void blswhstl_sprite_callback(running_machine &machine, int *code,int *co
extern void prmrsocr_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask);
-VIDEO_START( cuebrick );
-VIDEO_START( mia );
-VIDEO_START( tmnt );
-VIDEO_START( lgtnfght );
-VIDEO_START( blswhstl );
-VIDEO_START( glfgreat );
-VIDEO_START( prmrsocr );
+
+
+
+
+
+
+
SCREEN_UPDATE_IND16( mia );
SCREEN_UPDATE_IND16( tmnt );
diff --git a/src/mame/includes/tnzs.h b/src/mame/includes/tnzs.h
index 800a22282b1..c880a55172a 100644
--- a/src/mame/includes/tnzs.h
+++ b/src/mame/includes/tnzs.h
@@ -91,6 +91,11 @@ public:
DECLARE_DRIVER_INIT(kageki);
DECLARE_DRIVER_INIT(chukatai);
DECLARE_DRIVER_INIT(tnzsb);
+ DECLARE_MACHINE_START(tnzs);
+ DECLARE_MACHINE_RESET(tnzs);
+ DECLARE_PALETTE_INIT(arknoid2);
+ DECLARE_MACHINE_START(jpopnics);
+ DECLARE_MACHINE_RESET(jpopnics);
};
@@ -99,14 +104,14 @@ public:
INTERRUPT_GEN( arknoid2_interrupt );
-MACHINE_START( tnzs );
-MACHINE_RESET( tnzs );
-MACHINE_RESET( jpopnics );
-MACHINE_START( jpopnics );
+
+
+
+
/*----------- defined in video/tnzs.c -----------*/
-PALETTE_INIT( arknoid2 );
+
SCREEN_UPDATE_IND16( tnzs );
SCREEN_VBLANK( tnzs );
diff --git a/src/mame/includes/toaplan1.h b/src/mame/includes/toaplan1.h
index 061c5615140..5eb70418eb9 100644
--- a/src/mame/includes/toaplan1.h
+++ b/src/mame/includes/toaplan1.h
@@ -132,6 +132,12 @@ public:
TILE_GET_INFO_MEMBER(get_pf2_tile_info);
TILE_GET_INFO_MEMBER(get_pf3_tile_info);
TILE_GET_INFO_MEMBER(get_pf4_tile_info);
+ DECLARE_MACHINE_RESET(toaplan1);
+ DECLARE_VIDEO_START(rallybik);
+ DECLARE_VIDEO_START(toaplan1);
+ DECLARE_MACHINE_RESET(zerowing);
+ DECLARE_MACHINE_RESET(demonwld);
+ DECLARE_MACHINE_RESET(vimana);
};
@@ -140,10 +146,9 @@ public:
INTERRUPT_GEN( toaplan1_interrupt );
-MACHINE_RESET( toaplan1 );
-MACHINE_RESET( demonwld );
-MACHINE_RESET( vimana );
-MACHINE_RESET( zerowing ); /* hack for ZeroWing/OutZone. See video */
+
+
+
void toaplan1_driver_savestate(running_machine &machine);
void demonwld_driver_savestate(running_machine &machine);
@@ -158,7 +163,7 @@ void vimana_driver_savestate(running_machine &machine);
SCREEN_VBLANK( rallybik );
SCREEN_VBLANK( toaplan1 );
SCREEN_VBLANK( samesame );
-VIDEO_START( rallybik );
-VIDEO_START( toaplan1 );
+
+
SCREEN_UPDATE_IND16( rallybik );
SCREEN_UPDATE_IND16( toaplan1 );
diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h
index 2b3a6936980..698047ef63e 100644
--- a/src/mame/includes/toaplan2.h
+++ b/src/mame/includes/toaplan2.h
@@ -110,16 +110,25 @@ public:
DECLARE_DRIVER_INIT(vfive);
DECLARE_DRIVER_INIT(batrider);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ DECLARE_MACHINE_START(toaplan2);
+ DECLARE_MACHINE_RESET(toaplan2);
+ DECLARE_VIDEO_START(toaplan2);
+ DECLARE_MACHINE_RESET(ghox);
+ DECLARE_VIDEO_START(truxton2);
+ DECLARE_VIDEO_START(fixeightbl);
+ DECLARE_VIDEO_START(bgaregga);
+ DECLARE_VIDEO_START(batrider);
+ DECLARE_VIDEO_START(bgareggabl);
};
/*----------- defined in video/toaplan2.c -----------*/
-VIDEO_START( toaplan2 );
-VIDEO_START( truxton2 );
-VIDEO_START( fixeightbl );
-VIDEO_START( bgaregga );
-VIDEO_START( batrider );
-VIDEO_START( bgareggabl );
+
+
+
+
+
+
SCREEN_UPDATE_IND16( toaplan2 );
SCREEN_UPDATE_IND16( truxton2 );
diff --git a/src/mame/includes/toki.h b/src/mame/includes/toki.h
index ae30fc43be4..3a6de58bb85 100644
--- a/src/mame/includes/toki.h
+++ b/src/mame/includes/toki.h
@@ -37,11 +37,12 @@ public:
TILE_GET_INFO_MEMBER(get_text_tile_info);
TILE_GET_INFO_MEMBER(get_back_tile_info);
TILE_GET_INFO_MEMBER(get_fore_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/toki.c -----------*/
-VIDEO_START( toki );
+
SCREEN_UPDATE_IND16( toki );
SCREEN_UPDATE_IND16( tokib );
diff --git a/src/mame/includes/toobin.h b/src/mame/includes/toobin.h
index ff883a3001f..127f1000e7a 100644
--- a/src/mame/includes/toobin.h
+++ b/src/mame/includes/toobin.h
@@ -22,6 +22,9 @@ public:
DECLARE_DRIVER_INIT(toobin);
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(toobin);
+ DECLARE_MACHINE_RESET(toobin);
+ DECLARE_VIDEO_START(toobin);
};
@@ -33,5 +36,5 @@ WRITE16_HANDLER( toobin_xscroll_w );
WRITE16_HANDLER( toobin_yscroll_w );
WRITE16_HANDLER( toobin_slip_w );
-VIDEO_START( toobin );
+
SCREEN_UPDATE_RGB32( toobin );
diff --git a/src/mame/includes/topspeed.h b/src/mame/includes/topspeed.h
index 322773f8d4a..b354a4a8704 100644
--- a/src/mame/includes/topspeed.h
+++ b/src/mame/includes/topspeed.h
@@ -52,6 +52,8 @@ public:
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_WRITE8_MEMBER(topspeed_msm5205_command_w);
DECLARE_CUSTOM_INPUT_MEMBER(topspeed_pedal_r);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/toypop.h b/src/mame/includes/toypop.h
index d5b2584489d..d5c9120814c 100644
--- a/src/mame/includes/toypop.h
+++ b/src/mame/includes/toypop.h
@@ -46,11 +46,14 @@ public:
DECLARE_WRITE8_MEMBER(flip);
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/toypop.c -----------*/
-VIDEO_START( toypop );
+
SCREEN_UPDATE_IND16( toypop );
-PALETTE_INIT( toypop );
+
diff --git a/src/mame/includes/tp84.h b/src/mame/includes/tp84.h
index 57e8b58d996..f38e4dc2834 100644
--- a/src/mame/includes/tp84.h
+++ b/src/mame/includes/tp84.h
@@ -37,12 +37,15 @@ public:
DECLARE_READ8_MEMBER(tp84_scanline_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/tp84.c -----------*/
-PALETTE_INIT( tp84 );
-VIDEO_START( tp84 );
+
+
SCREEN_UPDATE_IND16( tp84 );
diff --git a/src/mame/includes/trackfld.h b/src/mame/includes/trackfld.h
index d7d4206daee..d6199ad94c1 100644
--- a/src/mame/includes/trackfld.h
+++ b/src/mame/includes/trackfld.h
@@ -60,14 +60,19 @@ public:
DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ DECLARE_MACHINE_START(trackfld);
+ DECLARE_MACHINE_RESET(trackfld);
+ DECLARE_VIDEO_START(trackfld);
+ DECLARE_PALETTE_INIT(trackfld);
+ DECLARE_VIDEO_START(atlantol);
};
/*----------- defined in video/trackfld.c -----------*/
-PALETTE_INIT( trackfld );
-VIDEO_START( trackfld );
+
+
SCREEN_UPDATE_IND16( trackfld );
-VIDEO_START( atlantol );
+
diff --git a/src/mame/includes/travrusa.h b/src/mame/includes/travrusa.h
index c2dc9590a02..d98a838de2b 100644
--- a/src/mame/includes/travrusa.h
+++ b/src/mame/includes/travrusa.h
@@ -20,12 +20,16 @@ public:
DECLARE_DRIVER_INIT(shtridra);
DECLARE_DRIVER_INIT(motorace);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(shtrider);
};
/*----------- defined in video/travrusa.c -----------*/
-PALETTE_INIT( travrusa );
-PALETTE_INIT( shtrider );
-VIDEO_START( travrusa );
+
+
+
SCREEN_UPDATE_IND16( travrusa );
diff --git a/src/mame/includes/triplhnt.h b/src/mame/includes/triplhnt.h
index 75ea8857a5b..1a1f9affbd9 100644
--- a/src/mame/includes/triplhnt.h
+++ b/src/mame/includes/triplhnt.h
@@ -48,6 +48,8 @@ public:
DECLARE_READ8_MEMBER(triplhnt_da_latch_r);
DECLARE_DRIVER_INIT(triplhnt);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -64,7 +66,7 @@ extern const samples_interface triplhnt_samples_interface;
/*----------- defined in video/triplhnt.c -----------*/
-VIDEO_START( triplhnt );
+
SCREEN_UPDATE_IND16( triplhnt );
diff --git a/src/mame/includes/truco.h b/src/mame/includes/truco.h
index 3a8e169f447..46717833a17 100644
--- a/src/mame/includes/truco.h
+++ b/src/mame/includes/truco.h
@@ -14,10 +14,12 @@ public:
DECLARE_WRITE8_MEMBER(portb_w);
DECLARE_WRITE8_MEMBER(pia_irqa_w);
DECLARE_WRITE8_MEMBER(pia_irqb_w);
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*----------- defined in video/truco.c -----------*/
SCREEN_UPDATE_IND16( truco );
-PALETTE_INIT( truco );
+
diff --git a/src/mame/includes/trucocl.h b/src/mame/includes/trucocl.h
index ec0ac290c95..064de31f262 100644
--- a/src/mame/includes/trucocl.h
+++ b/src/mame/includes/trucocl.h
@@ -19,11 +19,13 @@ public:
DECLARE_WRITE8_MEMBER(audio_dac_w);
DECLARE_DRIVER_INIT(trucocl);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/trucocl.c -----------*/
-PALETTE_INIT( trucocl );
-VIDEO_START( trucocl );
+
+
SCREEN_UPDATE_IND16( trucocl );
diff --git a/src/mame/includes/tryout.h b/src/mame/includes/tryout.h
index 3c79b196437..a105af08149 100644
--- a/src/mame/includes/tryout.h
+++ b/src/mame/includes/tryout.h
@@ -32,12 +32,14 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILEMAP_MAPPER_MEMBER(get_fg_memory_offset);
TILEMAP_MAPPER_MEMBER(get_bg_memory_offset);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/tryout.c -----------*/
-PALETTE_INIT( tryout );
-VIDEO_START( tryout );
+
+
SCREEN_UPDATE_IND16( tryout );
diff --git a/src/mame/includes/tsamurai.h b/src/mame/includes/tsamurai.h
index 1508859cadd..7001cf56380 100644
--- a/src/mame/includes/tsamurai.h
+++ b/src/mame/includes/tsamurai.h
@@ -55,6 +55,8 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_vsgongf_tile_info);
+ DECLARE_VIDEO_START(tsamurai);
+ DECLARE_VIDEO_START(vsgongf);
};
@@ -63,8 +65,8 @@ public:
-VIDEO_START( tsamurai );
+
SCREEN_UPDATE_IND16( tsamurai );
-VIDEO_START( vsgongf );
+
SCREEN_UPDATE_IND16( vsgongf );
diff --git a/src/mame/includes/tubep.h b/src/mame/includes/tubep.h
index 7bde8cb2d17..f50cecd6605 100644
--- a/src/mame/includes/tubep.h
+++ b/src/mame/includes/tubep.h
@@ -68,18 +68,26 @@ public:
DECLARE_WRITE8_MEMBER(ay8910_portB_1_w);
DECLARE_WRITE8_MEMBER(ay8910_portA_2_w);
DECLARE_WRITE8_MEMBER(ay8910_portB_2_w);
+ DECLARE_MACHINE_START(tubep);
+ DECLARE_MACHINE_RESET(tubep);
+ DECLARE_VIDEO_START(tubep);
+ DECLARE_VIDEO_RESET(tubep);
+ DECLARE_PALETTE_INIT(tubep);
+ DECLARE_MACHINE_START(rjammer);
+ DECLARE_MACHINE_RESET(rjammer);
+ DECLARE_PALETTE_INIT(rjammer);
};
/*----------- defined in video/tubep.c -----------*/
void tubep_vblank_end(running_machine &machine);
-PALETTE_INIT( tubep );
+
SCREEN_UPDATE_IND16( tubep );
-PALETTE_INIT( rjammer );
+
SCREEN_UPDATE_IND16( rjammer );
-VIDEO_START( tubep );
-VIDEO_RESET( tubep );
+
+
diff --git a/src/mame/includes/tumbleb.h b/src/mame/includes/tumbleb.h
index 15b1275f0f8..cf6b0066741 100644
--- a/src/mame/includes/tumbleb.h
+++ b/src/mame/includes/tumbleb.h
@@ -83,17 +83,25 @@ public:
TILE_GET_INFO_MEMBER(pangpang_get_bg1_tile_info);
TILE_GET_INFO_MEMBER(pangpang_get_bg2_tile_info);
TILE_GET_INFO_MEMBER(pangpang_get_fg_tile_info);
+ DECLARE_MACHINE_START(tumbleb);
+ DECLARE_MACHINE_RESET(tumbleb);
+ DECLARE_VIDEO_START(tumblepb);
+ DECLARE_VIDEO_START(fncywld);
+ DECLARE_MACHINE_RESET(htchctch);
+ DECLARE_VIDEO_START(suprtrio);
+ DECLARE_VIDEO_START(pangpang);
+ DECLARE_VIDEO_START(sdfight);
};
/*----------- defined in video/tumbleb.c -----------*/
-VIDEO_START( tumblepb );
-VIDEO_START( fncywld );
-VIDEO_START( sdfight );
-VIDEO_START( suprtrio );
-VIDEO_START( pangpang );
+
+
+
+
+
SCREEN_UPDATE_IND16( tumblepb );
SCREEN_UPDATE_IND16( jumpkids );
diff --git a/src/mame/includes/tumblep.h b/src/mame/includes/tumblep.h
index ce9b0c99f24..235348539ab 100644
--- a/src/mame/includes/tumblep.h
+++ b/src/mame/includes/tumblep.h
@@ -29,6 +29,7 @@ public:
DECLARE_READ16_MEMBER(tumblepop_controls_r);
DECLARE_WRITE16_MEMBER(tumblep_oki_w);
DECLARE_DRIVER_INIT(tumblep);
+ virtual void machine_start();
};
diff --git a/src/mame/includes/tunhunt.h b/src/mame/includes/tunhunt.h
index 31d8377bf50..b8ab9f1108e 100644
--- a/src/mame/includes/tunhunt.h
+++ b/src/mame/includes/tunhunt.h
@@ -22,12 +22,14 @@ public:
DECLARE_READ8_MEMBER(dsw2_3r);
DECLARE_READ8_MEMBER(dsw2_4r);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/tunhunt.c -----------*/
-PALETTE_INIT( tunhunt );
-VIDEO_START( tunhunt );
+
+
SCREEN_UPDATE_IND16( tunhunt );
diff --git a/src/mame/includes/turbo.h b/src/mame/includes/turbo.h
index 8b0e05ef537..0c6f0cf60c9 100644
--- a/src/mame/includes/turbo.h
+++ b/src/mame/includes/turbo.h
@@ -122,6 +122,12 @@ public:
DECLARE_DRIVER_INIT(buckrog_enc);
DECLARE_DRIVER_INIT(turbo_enc);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ DECLARE_VIDEO_START(turbo);
+ DECLARE_PALETTE_INIT(turbo);
+ DECLARE_PALETTE_INIT(subroc3d);
+ DECLARE_MACHINE_RESET(buckrog);
+ DECLARE_VIDEO_START(buckrog);
+ DECLARE_PALETTE_INIT(buckrog);
};
@@ -145,14 +151,14 @@ WRITE8_DEVICE_HANDLER( buckrog_sound_b_w );
/*----------- defined in video/turbo.c -----------*/
-PALETTE_INIT( turbo );
-VIDEO_START( turbo );
+
+
SCREEN_UPDATE_IND16( turbo );
-PALETTE_INIT( subroc3d );
+
SCREEN_UPDATE_IND16( subroc3d );
-PALETTE_INIT( buckrog );
-VIDEO_START( buckrog );
+
+
SCREEN_UPDATE_IND16( buckrog );
diff --git a/src/mame/includes/tutankhm.h b/src/mame/includes/tutankhm.h
index f49328d49b7..7a9d6d8cd60 100644
--- a/src/mame/includes/tutankhm.h
+++ b/src/mame/includes/tutankhm.h
@@ -29,6 +29,8 @@ public:
DECLARE_WRITE8_MEMBER(tutankhm_coin_counter_w);
DECLARE_WRITE8_MEMBER(tutankhm_flip_screen_x_w);
DECLARE_WRITE8_MEMBER(tutankhm_flip_screen_y_w);
+ DECLARE_MACHINE_START(tutankhm);
+ DECLARE_MACHINE_RESET(tutankhm);
};
diff --git a/src/mame/includes/twin16.h b/src/mame/includes/twin16.h
index ed5eac7e0d6..ed6b4bb061a 100644
--- a/src/mame/includes/twin16.h
+++ b/src/mame/includes/twin16.h
@@ -58,6 +58,9 @@ public:
DECLARE_DRIVER_INIT(twin16);
DECLARE_DRIVER_INIT(cuebrickj);
TILE_GET_INFO_MEMBER(get_text_tile_info);
+ DECLARE_MACHINE_START(twin16);
+ DECLARE_MACHINE_RESET(twin16);
+ DECLARE_VIDEO_START(twin16);
};
@@ -69,7 +72,7 @@ int twin16_spriteram_process_enable( running_machine &machine );
/*----------- defined in video/twin16.c -----------*/
-VIDEO_START( twin16 );
+
SCREEN_UPDATE_IND16( twin16 );
SCREEN_VBLANK( twin16 );
diff --git a/src/mame/includes/twincobr.h b/src/mame/includes/twincobr.h
index 1a63717aac8..a9ee1688bc8 100644
--- a/src/mame/includes/twincobr.h
+++ b/src/mame/includes/twincobr.h
@@ -101,6 +101,9 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ DECLARE_MACHINE_RESET(twincobr);
+ DECLARE_VIDEO_START(toaplan0);
+ DECLARE_MACHINE_RESET(wardner);
};
@@ -109,8 +112,8 @@ public:
INTERRUPT_GEN( twincobr_interrupt );
INTERRUPT_GEN( wardner_interrupt );
-MACHINE_RESET( twincobr );
-MACHINE_RESET( wardner );
+
+
extern void twincobr_driver_savestate(running_machine &machine);
@@ -122,5 +125,5 @@ extern const mc6845_interface twincobr_mc6845_intf;
extern void twincobr_flipscreen(running_machine &machine, int flip);
extern void twincobr_display(running_machine &machine, int enable);
-VIDEO_START( toaplan0 );
+
SCREEN_UPDATE_IND16( toaplan0 );
diff --git a/src/mame/includes/tx1.h b/src/mame/includes/tx1.h
index eb6046bd7a5..510807d225f 100644
--- a/src/mame/includes/tx1.h
+++ b/src/mame/includes/tx1.h
@@ -161,14 +161,21 @@ public:
DECLARE_WRITE8_MEMBER(bb_coin_cnt_w);
DECLARE_READ8_MEMBER(tx1_ppi_porta_r);
DECLARE_READ8_MEMBER(tx1_ppi_portb_r);
+ DECLARE_MACHINE_RESET(tx1);
+ DECLARE_VIDEO_START(tx1);
+ DECLARE_PALETTE_INIT(tx1);
+ DECLARE_MACHINE_RESET(buggyboy);
+ DECLARE_VIDEO_START(buggyboy);
+ DECLARE_PALETTE_INIT(buggyboy);
+ DECLARE_VIDEO_START(buggybjr);
};
/*----------- defined in machine/tx1.c -----------*/
-MACHINE_RESET( tx1 );
-MACHINE_RESET( buggyboy );
+
+
/*----------- defined in audio/tx1.c -----------*/
READ8_DEVICE_HANDLER( tx1_pit8253_r );
@@ -228,19 +235,19 @@ extern const device_type BUGGYBOY;
/*----------- defined in video/tx1.c -----------*/
-PALETTE_INIT( tx1 );
-VIDEO_START( tx1 );
+
+
SCREEN_UPDATE_IND16( tx1_left );
SCREEN_UPDATE_IND16( tx1_middle );
SCREEN_UPDATE_IND16( tx1_right );
SCREEN_VBLANK( tx1 );
-PALETTE_INIT( buggyboy );
-VIDEO_START( buggyboy );
+
+
SCREEN_UPDATE_IND16( buggyboy_left );
SCREEN_UPDATE_IND16( buggyboy_middle );
SCREEN_UPDATE_IND16( buggyboy_right );
SCREEN_VBLANK( buggyboy );
-VIDEO_START( buggybjr );
+
SCREEN_UPDATE_IND16( buggybjr );
diff --git a/src/mame/includes/ultraman.h b/src/mame/includes/ultraman.h
index e30ab97c5f1..495bde95ee3 100644
--- a/src/mame/includes/ultraman.h
+++ b/src/mame/includes/ultraman.h
@@ -30,6 +30,9 @@ public:
DECLARE_WRITE16_MEMBER(sound_cmd_w);
DECLARE_WRITE16_MEMBER(sound_irq_trigger_w);
DECLARE_WRITE16_MEMBER(ultraman_gfxctrl_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -42,5 +45,5 @@ extern void ultraman_zoom_callback_1(running_machine &machine, int *code,int *co
extern void ultraman_zoom_callback_2(running_machine &machine, int *code,int *color,int *flags);
-VIDEO_START( ultraman );
+
SCREEN_UPDATE_IND16( ultraman );
diff --git a/src/mame/includes/ultratnk.h b/src/mame/includes/ultratnk.h
index b6fdd71a258..d6caca2243a 100644
--- a/src/mame/includes/ultratnk.h
+++ b/src/mame/includes/ultratnk.h
@@ -36,13 +36,16 @@ public:
DECLARE_WRITE8_MEMBER(ultratnk_attract_w);
DECLARE_WRITE8_MEMBER(ultratnk_explosion_w);
TILE_GET_INFO_MEMBER(ultratnk_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/ultratnk.c -----------*/
-PALETTE_INIT( ultratnk );
-VIDEO_START( ultratnk );
+
+
SCREEN_UPDATE_IND16( ultratnk );
SCREEN_VBLANK( ultratnk );
diff --git a/src/mame/includes/undrfire.h b/src/mame/includes/undrfire.h
index 3fb824e9bfd..0bea56867a9 100644
--- a/src/mame/includes/undrfire.h
+++ b/src/mame/includes/undrfire.h
@@ -42,11 +42,12 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(frame_counter_r);
DECLARE_DRIVER_INIT(undrfire);
DECLARE_DRIVER_INIT(cbombers);
+ virtual void video_start();
};
/*----------- defined in video/undrfire.c -----------*/
-VIDEO_START( undrfire );
+
SCREEN_UPDATE_IND16( undrfire );
SCREEN_UPDATE_IND16( cbombers );
diff --git a/src/mame/includes/unico.h b/src/mame/includes/unico.h
index 09701eeae4b..f37d0ece0ab 100644
--- a/src/mame/includes/unico.h
+++ b/src/mame/includes/unico.h
@@ -36,6 +36,10 @@ public:
DECLARE_WRITE32_MEMBER(zeropnt2_eeprom_w);
TILE_GET_INFO_MEMBER(get_tile_info);
TILE_GET_INFO_MEMBER(get_tile_info32);
+ DECLARE_MACHINE_RESET(unico);
+ DECLARE_VIDEO_START(unico);
+ DECLARE_MACHINE_RESET(zeropt);
+ DECLARE_VIDEO_START(zeropnt2);
};
@@ -43,9 +47,9 @@ public:
-VIDEO_START( unico );
+
SCREEN_UPDATE_IND16( unico );
-VIDEO_START( zeropnt2 );
+
SCREEN_UPDATE_IND16( zeropnt2 );
diff --git a/src/mame/includes/usgames.h b/src/mame/includes/usgames.h
index 62109c2b541..36cbc34c3a2 100644
--- a/src/mame/includes/usgames.h
+++ b/src/mame/includes/usgames.h
@@ -15,11 +15,13 @@ public:
DECLARE_WRITE8_MEMBER(usgames_videoram_w);
DECLARE_WRITE8_MEMBER(usgames_charram_w);
TILE_GET_INFO_MEMBER(get_usgames_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/usgames.c -----------*/
-VIDEO_START( usgames );
-PALETTE_INIT( usgames );
+
+
SCREEN_UPDATE_IND16( usgames );
diff --git a/src/mame/includes/vaportra.h b/src/mame/includes/vaportra.h
index 0e797ff6e97..ade3f583c82 100644
--- a/src/mame/includes/vaportra.h
+++ b/src/mame/includes/vaportra.h
@@ -35,6 +35,8 @@ public:
DECLARE_WRITE16_MEMBER(vaportra_palette_24bit_rg_w);
DECLARE_WRITE16_MEMBER(vaportra_palette_24bit_b_w);
DECLARE_DRIVER_INIT(vaportra);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mame/includes/vastar.h b/src/mame/includes/vastar.h
index 24cc7df4db1..4e94dfabf7c 100644
--- a/src/mame/includes/vastar.h
+++ b/src/mame/includes/vastar.h
@@ -44,11 +44,13 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/vastar.c -----------*/
-VIDEO_START( vastar );
+
SCREEN_UPDATE_IND16( vastar );
diff --git a/src/mame/includes/vball.h b/src/mame/includes/vball.h
index 2a273551022..4b40c572fb5 100644
--- a/src/mame/includes/vball.h
+++ b/src/mame/includes/vball.h
@@ -30,12 +30,13 @@ public:
DECLARE_WRITE8_MEMBER(vb_attrib_w);
TILEMAP_MAPPER_MEMBER(background_scan);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/vball.c -----------*/
-VIDEO_START( vb );
+
SCREEN_UPDATE_IND16( vb );
void vb_bgprombank_w(running_machine &machine, int bank);
void vb_spprombank_w(running_machine &machine, int bank);
diff --git a/src/mame/includes/vectrex.h b/src/mame/includes/vectrex.h
index 11361470757..74e03f1d61a 100644
--- a/src/mame/includes/vectrex.h
+++ b/src/mame/includes/vectrex.h
@@ -67,6 +67,8 @@ public:
DECLARE_WRITE8_MEMBER(vectrex_via_w);
DECLARE_WRITE8_MEMBER(raaspec_led_w);
DECLARE_DRIVER_INIT(vectrex);
+ virtual void video_start();
+ DECLARE_VIDEO_START(raaspec);
};
@@ -91,10 +93,10 @@ READ8_DEVICE_HANDLER( vectrex_s1_via_pb_r );
extern const via6522_interface vectrex_via6522_interface;
extern const via6522_interface spectrum1_via6522_interface;
-VIDEO_START( vectrex );
+
SCREEN_UPDATE_RGB32( vectrex );
-VIDEO_START( raaspec );
+
diff --git a/src/mame/includes/vendetta.h b/src/mame/includes/vendetta.h
index e508d24aa6e..934309599cc 100644
--- a/src/mame/includes/vendetta.h
+++ b/src/mame/includes/vendetta.h
@@ -41,6 +41,8 @@ public:
DECLARE_READ8_MEMBER(vendetta_sound_r);
DECLARE_DRIVER_INIT(vendetta);
DECLARE_DRIVER_INIT(esckids);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*----------- defined in video/vendetta.c -----------*/
diff --git a/src/mame/includes/vertigo.h b/src/mame/includes/vertigo.h
index fa830715abc..11bdc20d770 100644
--- a/src/mame/includes/vertigo.h
+++ b/src/mame/includes/vertigo.h
@@ -108,6 +108,8 @@ public:
DECLARE_WRITE16_MEMBER(vertigo_motor_w);
DECLARE_READ16_MEMBER(vertigo_pit8254_lsb_r);
DECLARE_WRITE16_MEMBER(vertigo_pit8254_lsb_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -119,8 +121,8 @@ extern const struct pit8253_config vertigo_pit8254_config;
INTERRUPT_GEN( vertigo_interrupt );
-MACHINE_START( vertigo );
-MACHINE_RESET( vertigo );
+
+
/*----------- defined in video/vertigo.c -----------*/
diff --git a/src/mame/includes/vicdual.h b/src/mame/includes/vicdual.h
index 19e58ec0d5e..f4f51b49937 100644
--- a/src/mame/includes/vicdual.h
+++ b/src/mame/includes/vicdual.h
@@ -74,6 +74,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(brdrline_lives);
DECLARE_CUSTOM_INPUT_MEMBER(samurai_protection_r);
DECLARE_INPUT_CHANGED_MEMBER(coin_changed);
+ DECLARE_MACHINE_START(frogs_audio);
};
@@ -92,7 +93,7 @@ SCREEN_UPDATE_RGB32( vicdual_bw_or_color );
/*----------- defined in audio/vicdual.c -----------*/
-MACHINE_START( frogs_audio );
+
MACHINE_CONFIG_EXTERN( frogs_audio );
MACHINE_CONFIG_EXTERN( headon_audio );
WRITE8_HANDLER( frogs_audio_w );
diff --git a/src/mame/includes/victory.h b/src/mame/includes/victory.h
index ef374e61af5..041fe04b501 100644
--- a/src/mame/includes/victory.h
+++ b/src/mame/includes/victory.h
@@ -60,12 +60,13 @@ public:
DECLARE_WRITE8_MEMBER(victory_paletteram_w);
DECLARE_READ8_MEMBER(victory_video_control_r);
DECLARE_WRITE8_MEMBER(victory_video_control_w);
+ virtual void video_start();
};
/*----------- defined in video/victory.c -----------*/
-VIDEO_START( victory );
+
SCREEN_UPDATE_IND16( victory );
INTERRUPT_GEN( victory_vblank_interrupt );
diff --git a/src/mame/includes/videopin.h b/src/mame/includes/videopin.h
index c4dc48b1678..2970e5b2efb 100644
--- a/src/mame/includes/videopin.h
+++ b/src/mame/includes/videopin.h
@@ -39,6 +39,8 @@ public:
DECLARE_WRITE8_MEMBER(videopin_note_dvsr_w);
TILEMAP_MAPPER_MEMBER(get_memory_offset);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -50,6 +52,6 @@ DISCRETE_SOUND_EXTERN( videopin );
/*----------- defined in video/videopin.c -----------*/
-VIDEO_START( videopin );
+
SCREEN_UPDATE_IND16( videopin );
diff --git a/src/mame/includes/vigilant.h b/src/mame/includes/vigilant.h
index ae8165027d2..b9baa56bab5 100644
--- a/src/mame/includes/vigilant.h
+++ b/src/mame/includes/vigilant.h
@@ -24,12 +24,14 @@ public:
DECLARE_WRITE8_MEMBER(vigilant_horiz_scroll_w);
DECLARE_WRITE8_MEMBER(vigilant_rear_horiz_scroll_w);
DECLARE_WRITE8_MEMBER(vigilant_rear_color_w);
+ virtual void video_start();
+ virtual void video_reset();
};
/*----------- defined in video/vigilant.c -----------*/
-VIDEO_START( vigilant );
-VIDEO_RESET( vigilant );
+
+
SCREEN_UPDATE_IND16( vigilant );
SCREEN_UPDATE_IND16( kikcubic );
diff --git a/src/mame/includes/vindictr.h b/src/mame/includes/vindictr.h
index 042187ac060..5c6824fe562 100644
--- a/src/mame/includes/vindictr.h
+++ b/src/mame/includes/vindictr.h
@@ -19,6 +19,9 @@ public:
DECLARE_DRIVER_INIT(vindictr);
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(vindictr);
+ DECLARE_MACHINE_RESET(vindictr);
+ DECLARE_VIDEO_START(vindictr);
};
@@ -26,7 +29,7 @@ public:
WRITE16_HANDLER( vindictr_paletteram_w );
-VIDEO_START( vindictr );
+
SCREEN_UPDATE_IND16( vindictr );
void vindictr_scanline_update(screen_device &screen, int scanline);
diff --git a/src/mame/includes/volfied.h b/src/mame/includes/volfied.h
index 0b171f04c4f..ebad428220c 100644
--- a/src/mame/includes/volfied.h
+++ b/src/mame/includes/volfied.h
@@ -40,6 +40,9 @@ public:
DECLARE_READ16_MEMBER(volfied_video_ctrl_r);
DECLARE_WRITE16_MEMBER(volfied_video_mask_w);
DECLARE_WRITE16_MEMBER(volfied_sprite_ctrl_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -55,4 +58,4 @@ void volfied_cchip_reset(running_machine &machine);
SCREEN_UPDATE_IND16( volfied );
-VIDEO_START( volfied );
+
diff --git a/src/mame/includes/vsnes.h b/src/mame/includes/vsnes.h
index 17121705ae6..2c03d5477f9 100644
--- a/src/mame/includes/vsnes.h
+++ b/src/mame/includes/vsnes.h
@@ -91,17 +91,25 @@ public:
DECLARE_DRIVER_INIT(platoon);
DECLARE_DRIVER_INIT(rbibb);
DECLARE_DRIVER_INIT(vsdual);
+ DECLARE_MACHINE_START(vsnes);
+ DECLARE_MACHINE_RESET(vsnes);
+ DECLARE_VIDEO_START(vsnes);
+ DECLARE_PALETTE_INIT(vsnes);
+ DECLARE_MACHINE_START(vsdual);
+ DECLARE_MACHINE_RESET(vsdual);
+ DECLARE_VIDEO_START(vsdual);
+ DECLARE_PALETTE_INIT(vsdual);
};
/*----------- defined in video/vsnes.c -----------*/
-VIDEO_START( vsnes );
-PALETTE_INIT( vsnes );
+
+
SCREEN_UPDATE_IND16( vsnes );
-VIDEO_START( vsdual );
+
SCREEN_UPDATE_IND16( vsnes_bottom );
-PALETTE_INIT( vsdual );
+
extern const ppu2c0x_interface vsnes_ppu_interface_1;
extern const ppu2c0x_interface vsnes_ppu_interface_2;
@@ -109,9 +117,9 @@ extern const ppu2c0x_interface vsnes_ppu_interface_2;
/*----------- defined in machine/vsnes.c -----------*/
-MACHINE_RESET( vsnes );
-MACHINE_RESET( vsdual );
-MACHINE_START( vsnes );
-MACHINE_START( vsdual );
+
+
+
+
diff --git a/src/mame/includes/vulgus.h b/src/mame/includes/vulgus.h
index 663908a2d82..c414aa754c3 100644
--- a/src/mame/includes/vulgus.h
+++ b/src/mame/includes/vulgus.h
@@ -23,12 +23,14 @@ public:
DECLARE_WRITE8_MEMBER(vulgus_palette_bank_w);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/vulgus.c -----------*/
-VIDEO_START( vulgus );
-PALETTE_INIT( vulgus );
+
+
SCREEN_UPDATE_IND16( vulgus );
diff --git a/src/mame/includes/warpwarp.h b/src/mame/includes/warpwarp.h
index 4ed68d8dc9b..5639f696940 100644
--- a/src/mame/includes/warpwarp.h
+++ b/src/mame/includes/warpwarp.h
@@ -40,17 +40,23 @@ public:
TILE_GET_INFO_MEMBER(geebee_get_tile_info);
TILE_GET_INFO_MEMBER(navarone_get_tile_info);
TILE_GET_INFO_MEMBER(warpwarp_get_tile_info);
+ DECLARE_VIDEO_START(geebee);
+ DECLARE_PALETTE_INIT(geebee);
+ DECLARE_VIDEO_START(warpwarp);
+ DECLARE_PALETTE_INIT(warpwarp);
+ DECLARE_VIDEO_START(navarone);
+ DECLARE_PALETTE_INIT(navarone);
};
/*----------- defined in video/warpwarp.c -----------*/
-PALETTE_INIT( geebee );
-PALETTE_INIT( navarone );
-PALETTE_INIT( warpwarp );
-VIDEO_START( geebee );
-VIDEO_START( navarone );
-VIDEO_START( warpwarp );
+
+
+
+
+
+
SCREEN_UPDATE_IND16( geebee );
diff --git a/src/mame/includes/warriorb.h b/src/mame/includes/warriorb.h
index 1d34c5857dc..7d29ec141b0 100644
--- a/src/mame/includes/warriorb.h
+++ b/src/mame/includes/warriorb.h
@@ -35,11 +35,14 @@ public:
DECLARE_READ16_MEMBER(warriorb_sound_r);
DECLARE_WRITE8_MEMBER(warriorb_pancontrol);
DECLARE_WRITE16_MEMBER(tc0100scn_dual_screen_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/warriorb.c -----------*/
-VIDEO_START( warriorb );
+
SCREEN_UPDATE_IND16( warriorb_left );
SCREEN_UPDATE_IND16( warriorb_right );
diff --git a/src/mame/includes/wc90.h b/src/mame/includes/wc90.h
index 52e571e98c5..8565c5e14cf 100644
--- a/src/mame/includes/wc90.h
+++ b/src/mame/includes/wc90.h
@@ -50,11 +50,13 @@ public:
TILE_GET_INFO_MEMBER(get_tx_tile_info);
TILE_GET_INFO_MEMBER(track_get_bg_tile_info);
TILE_GET_INFO_MEMBER(track_get_fg_tile_info);
+ virtual void video_start();
+ DECLARE_VIDEO_START(wc90t);
};
/*----------- defined in video/wc90.c -----------*/
-VIDEO_START( wc90 );
-VIDEO_START( wc90t );
+
+
SCREEN_UPDATE_IND16( wc90 );
diff --git a/src/mame/includes/wc90b.h b/src/mame/includes/wc90b.h
index ba15e4edc70..986588dbeb8 100644
--- a/src/mame/includes/wc90b.h
+++ b/src/mame/includes/wc90b.h
@@ -38,11 +38,12 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/wc90b.c -----------*/
-VIDEO_START( wc90b );
+
SCREEN_UPDATE_IND16( wc90b );
diff --git a/src/mame/includes/wecleman.h b/src/mame/includes/wecleman.h
index b34d689571d..bf684e6ac68 100644
--- a/src/mame/includes/wecleman.h
+++ b/src/mame/includes/wecleman.h
@@ -72,15 +72,19 @@ public:
TILE_GET_INFO_MEMBER(wecleman_get_txt_tile_info);
TILE_GET_INFO_MEMBER(wecleman_get_bg_tile_info);
TILE_GET_INFO_MEMBER(wecleman_get_fg_tile_info);
+ DECLARE_MACHINE_RESET(wecleman);
+ DECLARE_VIDEO_START(wecleman);
+ DECLARE_MACHINE_RESET(hotchase);
+ DECLARE_VIDEO_START(hotchase);
};
/*----------- defined in video/wecleman.c -----------*/
SCREEN_UPDATE_RGB32( wecleman );
-VIDEO_START( wecleman );
+
SCREEN_UPDATE_IND16( hotchase );
-VIDEO_START( hotchase );
+
void hotchase_zoom_callback_0(running_machine &machine, int *code,int *color,int *flags);
void hotchase_zoom_callback_1(running_machine &machine, int *code,int *color,int *flags);
diff --git a/src/mame/includes/welltris.h b/src/mame/includes/welltris.h
index 94262a964ee..b026f9bb6b1 100644
--- a/src/mame/includes/welltris.h
+++ b/src/mame/includes/welltris.h
@@ -34,11 +34,12 @@ public:
DECLARE_DRIVER_INIT(quiz18k);
DECLARE_DRIVER_INIT(welltris);
TILE_GET_INFO_MEMBER(get_welltris_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/welltris.c -----------*/
-VIDEO_START( welltris );
+
SCREEN_UPDATE_IND16( welltris );
diff --git a/src/mame/includes/wgp.h b/src/mame/includes/wgp.h
index 7fa09419dc4..4d6703a6f4a 100644
--- a/src/mame/includes/wgp.h
+++ b/src/mame/includes/wgp.h
@@ -64,6 +64,10 @@ public:
TILE_GET_INFO_MEMBER(get_piv0_tile_info);
TILE_GET_INFO_MEMBER(get_piv1_tile_info);
TILE_GET_INFO_MEMBER(get_piv2_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_VIDEO_START(wgp2);
};
@@ -71,6 +75,6 @@ public:
-VIDEO_START( wgp );
-VIDEO_START( wgp2 );
+
+
SCREEN_UPDATE_IND16( wgp );
diff --git a/src/mame/includes/williams.h b/src/mame/includes/williams.h
index d11d3110e86..9544fc09604 100644
--- a/src/mame/includes/williams.h
+++ b/src/mame/includes/williams.h
@@ -91,6 +91,19 @@ public:
DECLARE_DRIVER_INIT(robotron);
DECLARE_DRIVER_INIT(bubbles);
TILE_GET_INFO_MEMBER(get_tile_info);
+ DECLARE_MACHINE_START(defender);
+ DECLARE_MACHINE_RESET(defender);
+ DECLARE_VIDEO_START(williams);
+ DECLARE_MACHINE_START(williams2);
+ DECLARE_MACHINE_RESET(williams2);
+ DECLARE_VIDEO_START(williams2);
+ DECLARE_MACHINE_START(williams);
+ DECLARE_MACHINE_RESET(williams);
+ DECLARE_MACHINE_START(blaster);
+ DECLARE_MACHINE_RESET(blaster);
+ DECLARE_VIDEO_START(blaster);
+ DECLARE_MACHINE_START(williams_common);
+ DECLARE_MACHINE_RESET(williams_common);
};
@@ -103,6 +116,9 @@ public:
required_device<williams_cvsd_sound_device> m_cvsd_sound;
DECLARE_DRIVER_INIT(joust2);
+ DECLARE_MACHINE_START(joust2);
+ DECLARE_MACHINE_RESET(joust2);
+
};
/*----------- defined in drivers/williams.c -----------*/
@@ -148,16 +164,16 @@ TIMER_DEVICE_CALLBACK( williams2_va11_callback );
TIMER_DEVICE_CALLBACK( williams2_endscreen_callback );
/* initialization */
-MACHINE_START( defender );
-MACHINE_RESET( defender );
-MACHINE_START( williams );
-MACHINE_RESET( williams );
-MACHINE_START( blaster );
-MACHINE_RESET( blaster );
-MACHINE_START( williams2 );
-MACHINE_RESET( williams2 );
-MACHINE_START( joust2 );
-MACHINE_RESET( joust2 );
+
+
+
+
+
+
+
+
+
+
/* banking */
@@ -175,9 +191,9 @@ MACHINE_RESET( joust2 );
#define WILLIAMS_TILEMAP_JOUST2 2 /* IC79 is a 74LS157 selector jumpered to be disabled */
-VIDEO_START( williams );
-VIDEO_START( blaster );
-VIDEO_START( williams2 );
+
+
+
SCREEN_UPDATE_RGB32( williams );
SCREEN_UPDATE_RGB32( blaster );
diff --git a/src/mame/includes/wiping.h b/src/mame/includes/wiping.h
index 67c1c6ca919..53ebc05980a 100644
--- a/src/mame/includes/wiping.h
+++ b/src/mame/includes/wiping.h
@@ -20,11 +20,12 @@ public:
DECLARE_WRITE8_MEMBER(main_irq_mask_w);
DECLARE_WRITE8_MEMBER(sound_irq_mask_w);
DECLARE_WRITE8_MEMBER(wiping_flipscreen_w);
+ virtual void palette_init();
};
/*----------- defined in video/wiping.c -----------*/
-PALETTE_INIT( wiping );
+
SCREEN_UPDATE_IND16( wiping );
diff --git a/src/mame/includes/wiz.h b/src/mame/includes/wiz.h
index 2575ba254bd..e9917a196c2 100644
--- a/src/mame/includes/wiz.h
+++ b/src/mame/includes/wiz.h
@@ -45,14 +45,17 @@ public:
DECLARE_DRIVER_INIT(wiz);
DECLARE_DRIVER_INIT(scion);
DECLARE_DRIVER_INIT(stinger);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/wiz.c -----------*/
-VIDEO_START( wiz );
-PALETTE_INIT( wiz );
+
+
SCREEN_UPDATE_IND16( wiz );
SCREEN_UPDATE_IND16( stinger );
SCREEN_UPDATE_IND16( kungfut );
diff --git a/src/mame/includes/wolfpack.h b/src/mame/includes/wolfpack.h
index 2e3b4da3681..53c0507c40a 100644
--- a/src/mame/includes/wolfpack.h
+++ b/src/mame/includes/wolfpack.h
@@ -51,13 +51,16 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(wolfpack_dial_r);
DECLARE_WRITE8_MEMBER(wolfpack_word_w);
DECLARE_WRITE8_MEMBER(wolfpack_start_speech_w);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/wolfpack.c -----------*/
-PALETTE_INIT( wolfpack );
+
SCREEN_UPDATE_IND16( wolfpack );
-VIDEO_START( wolfpack );
+
SCREEN_VBLANK( wolfpack );
diff --git a/src/mame/includes/wrally.h b/src/mame/includes/wrally.h
index fee79c41330..4d25c00ef16 100644
--- a/src/mame/includes/wrally.h
+++ b/src/mame/includes/wrally.h
@@ -23,6 +23,7 @@ public:
DECLARE_WRITE16_MEMBER(wrally_coin_lockout_w);
TILE_GET_INFO_MEMBER(get_tile_info_wrally_screen0);
TILE_GET_INFO_MEMBER(get_tile_info_wrally_screen1);
+ virtual void video_start();
};
@@ -31,6 +32,6 @@ public:
/*----------- defined in video/wrally.c -----------*/
-VIDEO_START( wrally );
+
SCREEN_UPDATE_IND16( wrally );
diff --git a/src/mame/includes/wwfsstar.h b/src/mame/includes/wwfsstar.h
index 868592b332c..9124a128968 100644
--- a/src/mame/includes/wwfsstar.h
+++ b/src/mame/includes/wwfsstar.h
@@ -25,10 +25,11 @@ public:
TILE_GET_INFO_MEMBER(get_fg0_tile_info);
TILEMAP_MAPPER_MEMBER(bg0_scan);
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
+ virtual void video_start();
};
/*----------- defined in video/wwfsstar.c -----------*/
-VIDEO_START( wwfsstar );
+
SCREEN_UPDATE_IND16( wwfsstar );
diff --git a/src/mame/includes/wwfwfest.h b/src/mame/includes/wwfwfest.h
index 4e719e5b1a0..dd64cf1ad8a 100644
--- a/src/mame/includes/wwfwfest.h
+++ b/src/mame/includes/wwfwfest.h
@@ -41,11 +41,13 @@ public:
TILE_GET_INFO_MEMBER(get_fg0_tile_info);
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ virtual void video_start();
+ DECLARE_VIDEO_START(wwfwfstb);
};
/*----------- defined in video/wwfwfest.c -----------*/
-VIDEO_START( wwfwfest );
-VIDEO_START( wwfwfstb );
+
+
SCREEN_UPDATE_IND16( wwfwfest );
diff --git a/src/mame/includes/xain.h b/src/mame/includes/xain.h
index 8c15fd3b586..c8ebdc53cdc 100644
--- a/src/mame/includes/xain.h
+++ b/src/mame/includes/xain.h
@@ -66,10 +66,12 @@ public:
TILE_GET_INFO_MEMBER(get_bgram0_tile_info);
TILE_GET_INFO_MEMBER(get_bgram1_tile_info);
TILE_GET_INFO_MEMBER(get_char_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/xain.c -----------*/
SCREEN_UPDATE_IND16( xain );
-VIDEO_START( xain );
+
diff --git a/src/mame/includes/xexex.h b/src/mame/includes/xexex.h
index 33e12d45c83..a0424b07513 100644
--- a/src/mame/includes/xexex.h
+++ b/src/mame/includes/xexex.h
@@ -61,6 +61,9 @@ public:
DECLARE_READ16_MEMBER(sound_status_r);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_DRIVER_INIT(xexex);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -69,5 +72,5 @@ public:
extern void xexex_sprite_callback(running_machine &machine, int *code, int *color, int *priority_mask);
extern void xexex_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags);
-VIDEO_START( xexex );
+
SCREEN_UPDATE_RGB32( xexex );
diff --git a/src/mame/includes/xmen.h b/src/mame/includes/xmen.h
index dda0adc49b8..92e79176be9 100644
--- a/src/mame/includes/xmen.h
+++ b/src/mame/includes/xmen.h
@@ -46,6 +46,9 @@ public:
DECLARE_WRITE16_MEMBER(xmen_18fa00_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_CUSTOM_INPUT_MEMBER(xmen_frame_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(xmen6p);
};
/*----------- defined in video/xmen.c -----------*/
@@ -53,7 +56,7 @@ public:
void xmen_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags,int *priority);
void xmen_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask);
-VIDEO_START( xmen6p );
+
SCREEN_UPDATE_IND16( xmen );
SCREEN_UPDATE_IND16( xmen6p_left );
SCREEN_UPDATE_IND16( xmen6p_right );
diff --git a/src/mame/includes/xorworld.h b/src/mame/includes/xorworld.h
index e0668151cbb..9b12ef2756b 100644
--- a/src/mame/includes/xorworld.h
+++ b/src/mame/includes/xorworld.h
@@ -17,12 +17,14 @@ public:
DECLARE_WRITE16_MEMBER(eeprom_data_w);
DECLARE_DRIVER_INIT(xorworld);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/xorworld.c -----------*/
-PALETTE_INIT( xorworld );
-VIDEO_START( xorworld );
+
+
SCREEN_UPDATE_IND16( xorworld );
diff --git a/src/mame/includes/xxmissio.h b/src/mame/includes/xxmissio.h
index 7c7e1056298..3afe59db01e 100644
--- a/src/mame/includes/xxmissio.h
+++ b/src/mame/includes/xxmissio.h
@@ -26,12 +26,14 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(xxmissio_status_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
};
/*----------- defined in video/xxmissio.c -----------*/
-VIDEO_START( xxmissio );
+
SCREEN_UPDATE_IND16( xxmissio );
WRITE8_DEVICE_HANDLER( xxmissio_scroll_x_w );
diff --git a/src/mame/includes/xybots.h b/src/mame/includes/xybots.h
index a99497d847f..e81bb6a7926 100644
--- a/src/mame/includes/xybots.h
+++ b/src/mame/includes/xybots.h
@@ -17,10 +17,13 @@ public:
DECLARE_DRIVER_INIT(xybots);
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ DECLARE_MACHINE_START(xybots);
+ DECLARE_MACHINE_RESET(xybots);
+ DECLARE_VIDEO_START(xybots);
};
/*----------- defined in video/xybots.c -----------*/
-VIDEO_START( xybots );
+
SCREEN_UPDATE_IND16( xybots );
diff --git a/src/mame/includes/xyonix.h b/src/mame/includes/xyonix.h
index bda321b957b..d55177f34d8 100644
--- a/src/mame/includes/xyonix.h
+++ b/src/mame/includes/xyonix.h
@@ -17,11 +17,13 @@ public:
DECLARE_WRITE8_MEMBER(xyonix_io_w);
DECLARE_WRITE8_MEMBER(xyonix_vidram_w);
TILE_GET_INFO_MEMBER(get_xyonix_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/xyonix.c -----------*/
-PALETTE_INIT( xyonix );
-VIDEO_START(xyonix);
+
+
SCREEN_UPDATE_IND16(xyonix);
diff --git a/src/mame/includes/yiear.h b/src/mame/includes/yiear.h
index f136939c3ed..c64efbd960e 100644
--- a/src/mame/includes/yiear.h
+++ b/src/mame/includes/yiear.h
@@ -31,12 +31,16 @@ public:
DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/yiear.c -----------*/
-PALETTE_INIT( yiear );
-VIDEO_START( yiear );
+
+
SCREEN_UPDATE_IND16( yiear );
diff --git a/src/mame/includes/yunsun16.h b/src/mame/includes/yunsun16.h
index 229798491f4..38ec8242d7d 100644
--- a/src/mame/includes/yunsun16.h
+++ b/src/mame/includes/yunsun16.h
@@ -41,11 +41,14 @@ public:
TILEMAP_MAPPER_MEMBER(yunsun16_tilemap_scan_pages);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/yunsun16.c -----------*/
-VIDEO_START( yunsun16 );
+
SCREEN_UPDATE_IND16( yunsun16 );
diff --git a/src/mame/includes/yunsung8.h b/src/mame/includes/yunsung8.h
index fb5ac0f8a68..316780e6f51 100644
--- a/src/mame/includes/yunsung8.h
+++ b/src/mame/includes/yunsung8.h
@@ -36,11 +36,14 @@ public:
DECLARE_WRITE8_MEMBER(yunsung8_sound_bankswitch_w);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/yunsung8.c -----------*/
-VIDEO_START( yunsung8 );
+
SCREEN_UPDATE_IND16( yunsung8 );
diff --git a/src/mame/includes/zac2650.h b/src/mame/includes/zac2650.h
index d77de393845..841290e8367 100644
--- a/src/mame/includes/zac2650.h
+++ b/src/mame/includes/zac2650.h
@@ -19,12 +19,14 @@ public:
DECLARE_WRITE8_MEMBER(zac_s2636_w);
DECLARE_READ8_MEMBER(tinvader_port_0_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/zac2650.c -----------*/
-VIDEO_START( tinvader );
+
SCREEN_UPDATE_IND16( tinvader );
diff --git a/src/mame/includes/zaccaria.h b/src/mame/includes/zaccaria.h
index 2d0cc4d7964..e4c0478555c 100644
--- a/src/mame/includes/zaccaria.h
+++ b/src/mame/includes/zaccaria.h
@@ -42,11 +42,13 @@ public:
DECLARE_WRITE8_MEMBER(zaccaria_port1b_w);
DECLARE_WRITE8_MEMBER(mc1408_data_w);
TILE_GET_INFO_MEMBER(get_tile_info);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/zaccaria.c -----------*/
-PALETTE_INIT( zaccaria );
-VIDEO_START( zaccaria );
+
+
SCREEN_UPDATE_IND16( zaccaria );
diff --git a/src/mame/includes/zaxxon.h b/src/mame/includes/zaxxon.h
index ba6458d58bd..bffdb6acce1 100644
--- a/src/mame/includes/zaxxon.h
+++ b/src/mame/includes/zaxxon.h
@@ -63,6 +63,11 @@ public:
TILE_GET_INFO_MEMBER(zaxxon_get_fg_tile_info);
TILE_GET_INFO_MEMBER(razmataz_get_fg_tile_info);
TILE_GET_INFO_MEMBER(congo_get_fg_tile_info);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(razmataz);
+ DECLARE_VIDEO_START(congo);
};
@@ -84,11 +89,11 @@ MACHINE_CONFIG_EXTERN( congo_samples );
-PALETTE_INIT( zaxxon );
-VIDEO_START( zaxxon );
-VIDEO_START( razmataz );
-VIDEO_START( congo );
+
+
+
+
SCREEN_UPDATE_IND16( zaxxon );
SCREEN_UPDATE_IND16( razmataz );
diff --git a/src/mame/includes/zodiack.h b/src/mame/includes/zodiack.h
index a741f5f3404..2b0d6eed9fe 100644
--- a/src/mame/includes/zodiack.h
+++ b/src/mame/includes/zodiack.h
@@ -62,10 +62,11 @@ protected:
// driver_device overrides
virtual void machine_start();
virtual void machine_reset();
-
- virtual void video_start();
+public:
+ virtual void video_start();
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ DECLARE_PALETTE_INIT(zodiack);
};
class percuss_state : public zodiack_state
@@ -77,4 +78,4 @@ public:
};
// in video/zodiack.c
-PALETTE_INIT( zodiack );
+
diff --git a/src/mame/machine/3do.c b/src/mame/machine/3do.c
index e80674cd352..ff3baf9acb1 100644
--- a/src/mame/machine/3do.c
+++ b/src/mame/machine/3do.c
@@ -965,13 +965,12 @@ void _3do_clio_init( running_machine &machine, screen_device *screen )
/* 9 -> 5 bits translation */
-VIDEO_START( _3do )
+VIDEO_START_MEMBER(_3do_state,_3do)
{
- _3do_state *state = machine.driver_data<_3do_state>();
/* We only keep the odd bits and get rid of the even bits */
for ( int i = 0; i < 512; i++ )
{
- state->m_video_bits[i] = ( i & 1 ) | ( ( i & 4 ) >> 1 ) | ( ( i & 0x10 ) >> 2 ) | ( ( i & 0x40 ) >> 3 ) | ( ( i & 0x100 ) >> 4 );
+ m_video_bits[i] = ( i & 1 ) | ( ( i & 4 ) >> 1 ) | ( ( i & 0x10 ) >> 2 ) | ( ( i & 0x40 ) >> 3 ) | ( ( i & 0x100 ) >> 4 );
}
}
diff --git a/src/mame/machine/acitya.c b/src/mame/machine/acitya.c
index bd676faa36e..875005cbc77 100644
--- a/src/mame/machine/acitya.c
+++ b/src/mame/machine/acitya.c
@@ -177,29 +177,27 @@ READ8_HANDLER( acitya_decrypt_rom )
}
-MACHINE_START( acitya )
+MACHINE_START_MEMBER(pacman_state,acitya)
{
- pacman_state *state = machine.driver_data<pacman_state>();
- UINT8 *RAM = state->memregion("maincpu")->base();
+ UINT8 *RAM = memregion("maincpu")->base();
/* While the PAL supports up to 16 decryption methods, only four
are actually used in the PAL. Therefore, we'll take a little
memory overhead and decrypt the ROMs using each method in advance. */
- acitya_decrypt_rom_8(machine);
- acitya_decrypt_rom_9(machine);
- acitya_decrypt_rom_A(machine);
- acitya_decrypt_rom_B(machine);
+ acitya_decrypt_rom_8(machine());
+ acitya_decrypt_rom_9(machine());
+ acitya_decrypt_rom_A(machine());
+ acitya_decrypt_rom_B(machine());
- state->membank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
- state_save_register_global(machine, state->m_counter);
+ state_save_register_global(machine(), m_counter);
}
-MACHINE_RESET( acitya )
+MACHINE_RESET_MEMBER(pacman_state,acitya)
{
- pacman_state *state = machine.driver_data<pacman_state>();
/* The initial state of the counter is 0x0B */
- state->m_counter = 0x0B;
- state->membank("bank1")->set_entry(3);
+ m_counter = 0x0B;
+ membank("bank1")->set_entry(3);
}
diff --git a/src/mame/machine/ajax.c b/src/mame/machine/ajax.c
index 0b2c276b932..286044694eb 100644
--- a/src/mame/machine/ajax.c
+++ b/src/mame/machine/ajax.c
@@ -194,37 +194,35 @@ WRITE8_MEMBER(ajax_state::ajax_bankswitch_2_w)
membank("bank1")->set_entry(data & 0x0f);
}
-MACHINE_START( ajax )
+void ajax_state::machine_start()
{
- ajax_state *state = machine.driver_data<ajax_state>();
- UINT8 *MAIN = state->memregion("maincpu")->base();
- UINT8 *SUB = state->memregion("sub")->base();
-
- state->membank("bank1")->configure_entries(0, 9, &SUB[0x10000], 0x2000);
- state->membank("bank2")->configure_entries(0, 12, &MAIN[0x10000], 0x2000);
-
- state->membank("bank1")->set_entry(0);
- state->membank("bank2")->set_entry(0);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_k007232_1 = machine.device("k007232_1");
- state->m_k007232_2 = machine.device("k007232_2");
- state->m_k052109 = machine.device("k052109");
- state->m_k051960 = machine.device("k051960");
- state->m_k051316 = machine.device("k051316");
-
- state->save_item(NAME(state->m_priority));
- state->save_item(NAME(state->m_firq_enable));
+ UINT8 *MAIN = memregion("maincpu")->base();
+ UINT8 *SUB = memregion("sub")->base();
+
+ membank("bank1")->configure_entries(0, 9, &SUB[0x10000], 0x2000);
+ membank("bank2")->configure_entries(0, 12, &MAIN[0x10000], 0x2000);
+
+ membank("bank1")->set_entry(0);
+ membank("bank2")->set_entry(0);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_k007232_1 = machine().device("k007232_1");
+ m_k007232_2 = machine().device("k007232_2");
+ m_k052109 = machine().device("k052109");
+ m_k051960 = machine().device("k051960");
+ m_k051316 = machine().device("k051316");
+
+ save_item(NAME(m_priority));
+ save_item(NAME(m_firq_enable));
}
-MACHINE_RESET( ajax )
+void ajax_state::machine_reset()
{
- ajax_state *state = machine.driver_data<ajax_state>();
- state->m_priority = 0;
- state->m_firq_enable = 0;
+ m_priority = 0;
+ m_firq_enable = 0;
}
INTERRUPT_GEN( ajax_interrupt )
diff --git a/src/mame/machine/amiga.c b/src/mame/machine/amiga.c
index 4cb6cac3d0c..8c821f843ff 100644
--- a/src/mame/machine/amiga.c
+++ b/src/mame/machine/amiga.c
@@ -283,21 +283,20 @@ static void amiga_m68k_reset(device_t *device)
}
-MACHINE_RESET( amiga )
+MACHINE_RESET_MEMBER(amiga_state,amiga)
{
- amiga_state *state = machine.driver_data<amiga_state>();
/* set m68k reset function */
- m68k_set_reset_callback(machine.device("maincpu"), amiga_m68k_reset);
+ m68k_set_reset_callback(machine().device("maincpu"), amiga_m68k_reset);
- amiga_m68k_reset(machine.device("maincpu"));
+ amiga_m68k_reset(machine().device("maincpu"));
/* call the system-specific callback */
- if (state->m_intf->reset_callback)
- (*state->m_intf->reset_callback)(machine);
+ if (m_intf->reset_callback)
+ (*m_intf->reset_callback)(machine());
/* start the scanline timer */
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(0), FUNC(scanline_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(scanline_callback));
}
diff --git a/src/mame/machine/asteroid.c b/src/mame/machine/asteroid.c
index bb4658a5231..dafaf4d8ffa 100644
--- a/src/mame/machine/asteroid.c
+++ b/src/mame/machine/asteroid.c
@@ -131,9 +131,8 @@ WRITE8_MEMBER(asteroid_state::astdelux_led_w)
}
-MACHINE_RESET( asteroid )
+void asteroid_state::machine_reset()
{
- asteroid_state *state = machine.driver_data<asteroid_state>();
- state->asteroid_bank_switch_w(*machine.device("maincpu")->memory().space(AS_PROGRAM), 0, 0);
- avgdvg_reset_w(machine.device("maincpu")->memory().space(AS_PROGRAM), 0, 0);
+ asteroid_bank_switch_w(*machine().device("maincpu")->memory().space(AS_PROGRAM), 0, 0);
+ avgdvg_reset_w(machine().device("maincpu")->memory().space(AS_PROGRAM), 0, 0);
}
diff --git a/src/mame/machine/bagman.c b/src/mame/machine/bagman.c
index 8df8a8770e6..fe61f8e4c7a 100644
--- a/src/mame/machine/bagman.c
+++ b/src/mame/machine/bagman.c
@@ -208,19 +208,18 @@ UINT8 line;
m_columnvalue[line + 1] = 1 - (data & 1);
}
-MACHINE_RESET( bagman )
+MACHINE_RESET_MEMBER(bagman_state,bagman)
{
- bagman_state *state = machine.driver_data<bagman_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- state->bagman_pal16r6_w(*space, 0, 1); /*pin 2*/
- state->bagman_pal16r6_w(*space, 1, 1); /*pin 3*/
- state->bagman_pal16r6_w(*space, 2, 1); /*pin 4*/
- state->bagman_pal16r6_w(*space, 3, 1); /*pin 5*/
- state->bagman_pal16r6_w(*space, 4, 1); /*pin 6*/
- state->bagman_pal16r6_w(*space, 5, 1); /*pin 7*/
- state->bagman_pal16r6_w(*space, 6, 1); /*pin 8*/
- state->bagman_pal16r6_w(*space, 7, 1); /*pin 9*/
- state->update_pal();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ bagman_pal16r6_w(*space, 0, 1); /*pin 2*/
+ bagman_pal16r6_w(*space, 1, 1); /*pin 3*/
+ bagman_pal16r6_w(*space, 2, 1); /*pin 4*/
+ bagman_pal16r6_w(*space, 3, 1); /*pin 5*/
+ bagman_pal16r6_w(*space, 4, 1); /*pin 6*/
+ bagman_pal16r6_w(*space, 5, 1); /*pin 7*/
+ bagman_pal16r6_w(*space, 6, 1); /*pin 8*/
+ bagman_pal16r6_w(*space, 7, 1); /*pin 9*/
+ update_pal();
}
READ8_MEMBER(bagman_state::bagman_pal16r6_r)
diff --git a/src/mame/machine/balsente.c b/src/mame/machine/balsente.c
index 60e4506afbf..3fa53271e3f 100644
--- a/src/mame/machine/balsente.c
+++ b/src/mame/machine/balsente.c
@@ -75,112 +75,110 @@ TIMER_DEVICE_CALLBACK( balsente_interrupt_timer )
}
-MACHINE_START( balsente )
+void balsente_state::machine_start()
{
- balsente_state *state = machine.driver_data<balsente_state>();
int i;
- state->m_cem_device[0] = state->m_cem1;
- state->m_cem_device[1] = state->m_cem2;
- state->m_cem_device[2] = state->m_cem3;
- state->m_cem_device[3] = state->m_cem4;
- state->m_cem_device[4] = state->m_cem5;
- state->m_cem_device[5] = state->m_cem6;
+ m_cem_device[0] = m_cem1;
+ m_cem_device[1] = m_cem2;
+ m_cem_device[2] = m_cem3;
+ m_cem_device[3] = m_cem4;
+ m_cem_device[4] = m_cem5;
+ m_cem_device[5] = m_cem6;
/* create the polynomial tables */
- poly17_init(machine);
+ poly17_init(machine());
/* register for saving */
for (i = 0; i < 3; i++)
{
- state_save_register_item(machine, "8253counter", NULL, i, state->m_counter[i].timer_active);
- state_save_register_item(machine, "8253counter", NULL, i, state->m_counter[i].initial);
- state_save_register_item(machine, "8253counter", NULL, i, state->m_counter[i].count);
- state_save_register_item(machine, "8253counter", NULL, i, state->m_counter[i].gate);
- state_save_register_item(machine, "8253counter", NULL, i, state->m_counter[i].out);
- state_save_register_item(machine, "8253counter", NULL, i, state->m_counter[i].mode);
- state_save_register_item(machine, "8253counter", NULL, i, state->m_counter[i].readbyte);
- state_save_register_item(machine, "8253counter", NULL, i, state->m_counter[i].writebyte);
+ state_save_register_item(machine(), "8253counter", NULL, i, m_counter[i].timer_active);
+ state_save_register_item(machine(), "8253counter", NULL, i, m_counter[i].initial);
+ state_save_register_item(machine(), "8253counter", NULL, i, m_counter[i].count);
+ state_save_register_item(machine(), "8253counter", NULL, i, m_counter[i].gate);
+ state_save_register_item(machine(), "8253counter", NULL, i, m_counter[i].out);
+ state_save_register_item(machine(), "8253counter", NULL, i, m_counter[i].mode);
+ state_save_register_item(machine(), "8253counter", NULL, i, m_counter[i].readbyte);
+ state_save_register_item(machine(), "8253counter", NULL, i, m_counter[i].writebyte);
}
- state->save_item(NAME(state->m_counter_control));
- state->save_item(NAME(state->m_counter_0_ff));
- state->save_item(NAME(state->m_counter_0_timer_active));
+ save_item(NAME(m_counter_control));
+ save_item(NAME(m_counter_0_ff));
+ save_item(NAME(m_counter_0_timer_active));
- state->save_item(NAME(state->m_analog_input_data));
- state->save_item(NAME(state->m_adc_value));
+ save_item(NAME(m_analog_input_data));
+ save_item(NAME(m_adc_value));
- state->save_item(NAME(state->m_dac_value));
- state->save_item(NAME(state->m_dac_register));
- state->save_item(NAME(state->m_chip_select));
+ save_item(NAME(m_dac_value));
+ save_item(NAME(m_dac_register));
+ save_item(NAME(m_chip_select));
- state->save_item(NAME(state->m_m6850_status));
- state->save_item(NAME(state->m_m6850_control));
- state->save_item(NAME(state->m_m6850_input));
- state->save_item(NAME(state->m_m6850_output));
- state->save_item(NAME(state->m_m6850_data_ready));
+ save_item(NAME(m_m6850_status));
+ save_item(NAME(m_m6850_control));
+ save_item(NAME(m_m6850_input));
+ save_item(NAME(m_m6850_output));
+ save_item(NAME(m_m6850_data_ready));
- state->save_item(NAME(state->m_m6850_sound_status));
- state->save_item(NAME(state->m_m6850_sound_control));
- state->save_item(NAME(state->m_m6850_sound_input));
- state->save_item(NAME(state->m_m6850_sound_output));
+ save_item(NAME(m_m6850_sound_status));
+ save_item(NAME(m_m6850_sound_control));
+ save_item(NAME(m_m6850_sound_input));
+ save_item(NAME(m_m6850_sound_output));
- state->save_item(NAME(state->m_noise_position));
+ save_item(NAME(m_noise_position));
- state->save_item(NAME(state->m_nstocker_bits));
- state->save_item(NAME(state->m_spiker_expand_color));
- state->save_item(NAME(state->m_spiker_expand_bgcolor));
- state->save_item(NAME(state->m_spiker_expand_bits));
- state->save_item(NAME(state->m_grudge_steering_result));
- state->save_item(NAME(state->m_grudge_last_steering));
+ save_item(NAME(m_nstocker_bits));
+ save_item(NAME(m_spiker_expand_color));
+ save_item(NAME(m_spiker_expand_bgcolor));
+ save_item(NAME(m_spiker_expand_bits));
+ save_item(NAME(m_grudge_steering_result));
+ save_item(NAME(m_grudge_last_steering));
}
-MACHINE_RESET( balsente )
+void balsente_state::machine_reset()
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- balsente_state *state = machine.driver_data<balsente_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int numbanks;
/* reset counters; counter 2's gate is tied high */
- memset(state->m_counter, 0, sizeof(state->m_counter));
- state->m_counter[1].timer = machine.device<timer_device>("8253_1_timer");
- state->m_counter[2].timer = machine.device<timer_device>("8253_2_timer");
- state->m_counter[2].gate = 1;
+ memset(m_counter, 0, sizeof(m_counter));
+ m_counter[1].timer = machine().device<timer_device>("8253_1_timer");
+ m_counter[2].timer = machine().device<timer_device>("8253_2_timer");
+ m_counter[2].gate = 1;
/* reset the manual counter 0 clock */
- state->m_counter_control = 0x00;
- state->m_counter_0_ff = 0;
- state->m_counter_0_timer_active = 0;
+ m_counter_control = 0x00;
+ m_counter_0_ff = 0;
+ m_counter_0_timer_active = 0;
/* reset the ADC states */
- state->m_adc_value = 0;
+ m_adc_value = 0;
/* reset the CEM3394 I/O states */
- state->m_dac_value = 0;
- state->m_dac_register = 0;
- state->m_chip_select = 0x3f;
+ m_dac_value = 0;
+ m_dac_register = 0;
+ m_chip_select = 0x3f;
/* reset game-specific states */
- state->m_grudge_steering_result = 0;
+ m_grudge_steering_result = 0;
/* reset the 6850 chips */
- state->balsente_m6850_w(*space, 0, 3);
- state->balsente_m6850_sound_w(*space, 0, 3);
+ balsente_m6850_w(*space, 0, 3);
+ balsente_m6850_sound_w(*space, 0, 3);
/* reset the noise generator */
- memset(state->m_noise_position, 0, sizeof(state->m_noise_position));
+ memset(m_noise_position, 0, sizeof(m_noise_position));
/* point the banks to bank 0 */
- numbanks = (state->memregion("maincpu")->bytes() > 0x40000) ? 16 : 8;
- state->membank("bank1")->configure_entries(0, numbanks, &state->memregion("maincpu")->base()[0x10000], 0x6000);
- state->membank("bank2")->configure_entries(0, numbanks, &state->memregion("maincpu")->base()[0x12000], 0x6000);
- state->membank("bank1")->set_entry(0);
- state->membank("bank2")->set_entry(0);
- machine.device("maincpu")->reset();
+ numbanks = (memregion("maincpu")->bytes() > 0x40000) ? 16 : 8;
+ membank("bank1")->configure_entries(0, numbanks, &memregion("maincpu")->base()[0x10000], 0x6000);
+ membank("bank2")->configure_entries(0, numbanks, &memregion("maincpu")->base()[0x12000], 0x6000);
+ membank("bank1")->set_entry(0);
+ membank("bank2")->set_entry(0);
+ machine().device("maincpu")->reset();
/* start a timer to generate interrupts */
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(0));
}
diff --git a/src/mame/machine/carpolo.c b/src/mame/machine/carpolo.c
index 8d39b16d92d..e62fcd9f657 100644
--- a/src/mame/machine/carpolo.c
+++ b/src/mame/machine/carpolo.c
@@ -480,84 +480,82 @@ const pia6821_interface carpolo_pia1_intf =
DEVCB_NULL /* IRQB */
};
-MACHINE_START( carpolo )
+void carpolo_state::machine_start()
{
- carpolo_state *state = machine.driver_data<carpolo_state>();
/* find flip-flops */
- state->m_ttl7474_2s_1 = machine.device<ttl7474_device>("7474_2s_1");
- state->m_ttl7474_2s_2 = machine.device<ttl7474_device>("7474_2s_2");
- state->m_ttl7474_2u_1 = machine.device<ttl7474_device>("7474_2u_1");
- state->m_ttl7474_2u_2 = machine.device<ttl7474_device>("7474_2u_2");
- state->m_ttl7474_1f_1 = machine.device<ttl7474_device>("7474_1f_1");
- state->m_ttl7474_1f_2 = machine.device<ttl7474_device>("7474_1f_2");
- state->m_ttl7474_1d_1 = machine.device<ttl7474_device>("7474_1d_1");
- state->m_ttl7474_1d_2 = machine.device<ttl7474_device>("7474_1d_2");
- state->m_ttl7474_1c_1 = machine.device<ttl7474_device>("7474_1c_1");
- state->m_ttl7474_1c_2 = machine.device<ttl7474_device>("7474_1c_2");
- state->m_ttl7474_1a_1 = machine.device<ttl7474_device>("7474_1a_1");
- state->m_ttl7474_1a_2 = machine.device<ttl7474_device>("7474_1a_2");
-
- state->m_ttl74148_3s = machine.device("74148_3s");
- state->m_ttl74153_1k = machine.device("74153_1k");
-
- state_save_register_global(machine, state->m_ball_screen_collision_cause);
- state_save_register_global(machine, state->m_car_ball_collision_x);
- state_save_register_global(machine, state->m_car_ball_collision_y);
- state_save_register_global(machine, state->m_car_car_collision_cause);
- state_save_register_global(machine, state->m_car_goal_collision_cause);
- state_save_register_global(machine, state->m_car_ball_collision_cause);
- state_save_register_global(machine, state->m_car_border_collision_cause);
- state_save_register_global(machine, state->m_priority_0_extension);
- state_save_register_global_array(machine, state->m_last_wheel_value);
-}
-
-MACHINE_RESET( carpolo )
+ m_ttl7474_2s_1 = machine().device<ttl7474_device>("7474_2s_1");
+ m_ttl7474_2s_2 = machine().device<ttl7474_device>("7474_2s_2");
+ m_ttl7474_2u_1 = machine().device<ttl7474_device>("7474_2u_1");
+ m_ttl7474_2u_2 = machine().device<ttl7474_device>("7474_2u_2");
+ m_ttl7474_1f_1 = machine().device<ttl7474_device>("7474_1f_1");
+ m_ttl7474_1f_2 = machine().device<ttl7474_device>("7474_1f_2");
+ m_ttl7474_1d_1 = machine().device<ttl7474_device>("7474_1d_1");
+ m_ttl7474_1d_2 = machine().device<ttl7474_device>("7474_1d_2");
+ m_ttl7474_1c_1 = machine().device<ttl7474_device>("7474_1c_1");
+ m_ttl7474_1c_2 = machine().device<ttl7474_device>("7474_1c_2");
+ m_ttl7474_1a_1 = machine().device<ttl7474_device>("7474_1a_1");
+ m_ttl7474_1a_2 = machine().device<ttl7474_device>("7474_1a_2");
+
+ m_ttl74148_3s = machine().device("74148_3s");
+ m_ttl74153_1k = machine().device("74153_1k");
+
+ state_save_register_global(machine(), m_ball_screen_collision_cause);
+ state_save_register_global(machine(), m_car_ball_collision_x);
+ state_save_register_global(machine(), m_car_ball_collision_y);
+ state_save_register_global(machine(), m_car_car_collision_cause);
+ state_save_register_global(machine(), m_car_goal_collision_cause);
+ state_save_register_global(machine(), m_car_ball_collision_cause);
+ state_save_register_global(machine(), m_car_border_collision_cause);
+ state_save_register_global(machine(), m_priority_0_extension);
+ state_save_register_global_array(machine(), m_last_wheel_value);
+}
+
+void carpolo_state::machine_reset()
{
- carpolo_state *state = machine.driver_data<carpolo_state>();
/* set up the priority encoder */
- ttl74148_enable_input_w(state->m_ttl74148_3s, 0); /* always enabled */
+ ttl74148_enable_input_w(m_ttl74148_3s, 0); /* always enabled */
/* set up the coin handling flip-flops */
- state->m_ttl7474_2s_1->d_w (1);
- state->m_ttl7474_2s_1->preset_w(1);
+ m_ttl7474_2s_1->d_w (1);
+ m_ttl7474_2s_1->preset_w(1);
- state->m_ttl7474_2s_2->d_w (1);
- state->m_ttl7474_2s_2->preset_w(1);
+ m_ttl7474_2s_2->d_w (1);
+ m_ttl7474_2s_2->preset_w(1);
- state->m_ttl7474_2u_1->d_w (1);
- state->m_ttl7474_2u_1->preset_w(1);
+ m_ttl7474_2u_1->d_w (1);
+ m_ttl7474_2u_1->preset_w(1);
- state->m_ttl7474_2u_2->d_w (1);
- state->m_ttl7474_2u_2->preset_w(1);
+ m_ttl7474_2u_2->d_w (1);
+ m_ttl7474_2u_2->preset_w(1);
/* set up the steering handling flip-flops */
- state->m_ttl7474_1f_1->d_w (1);
- state->m_ttl7474_1f_1->preset_w(1);
+ m_ttl7474_1f_1->d_w (1);
+ m_ttl7474_1f_1->preset_w(1);
- state->m_ttl7474_1f_2->clear_w (1);
- state->m_ttl7474_1f_2->preset_w(1);
+ m_ttl7474_1f_2->clear_w (1);
+ m_ttl7474_1f_2->preset_w(1);
- state->m_ttl7474_1d_1->d_w (1);
- state->m_ttl7474_1d_1->preset_w(1);
+ m_ttl7474_1d_1->d_w (1);
+ m_ttl7474_1d_1->preset_w(1);
- state->m_ttl7474_1d_2->clear_w (1);
- state->m_ttl7474_1d_2->preset_w(1);
+ m_ttl7474_1d_2->clear_w (1);
+ m_ttl7474_1d_2->preset_w(1);
- state->m_ttl7474_1c_1->d_w (1);
- state->m_ttl7474_1c_1->preset_w(1);
+ m_ttl7474_1c_1->d_w (1);
+ m_ttl7474_1c_1->preset_w(1);
- state->m_ttl7474_1c_2->clear_w (1);
- state->m_ttl7474_1c_2->preset_w(1);
+ m_ttl7474_1c_2->clear_w (1);
+ m_ttl7474_1c_2->preset_w(1);
- state->m_ttl7474_1a_1->d_w (1);
- state->m_ttl7474_1a_1->preset_w(1);
+ m_ttl7474_1a_1->d_w (1);
+ m_ttl7474_1a_1->preset_w(1);
- state->m_ttl7474_1a_2->clear_w (1);
- state->m_ttl7474_1a_2->preset_w(1);
+ m_ttl7474_1a_2->clear_w (1);
+ m_ttl7474_1a_2->preset_w(1);
/* set up the pedal handling chips */
- ttl74153_enable_w(state->m_ttl74153_1k, 0, 0);
- ttl74153_enable_w(state->m_ttl74153_1k, 1, 0);
+ ttl74153_enable_w(m_ttl74153_1k, 0, 0);
+ ttl74153_enable_w(m_ttl74153_1k, 1, 0);
}
diff --git a/src/mame/machine/dc.c b/src/mame/machine/dc.c
index 361d3fe62e5..ce9ed093000 100644
--- a/src/mame/machine/dc.c
+++ b/src/mame/machine/dc.c
@@ -787,52 +787,50 @@ static void rtc_initial_setup(running_machine &machine)
state->dc_rtc_timer = machine.scheduler().timer_alloc(FUNC(dc_rtc_increment));
}
-MACHINE_START( dc )
+void dc_state::machine_start()
{
- dc_state *state = machine.driver_data<dc_state>();
- rtc_initial_setup(machine);
+ rtc_initial_setup(machine());
// save states
- state_save_register_global_pointer(machine, state->dc_rtcregister, 4);
- state_save_register_global_pointer(machine, state->dc_sysctrl_regs, 0x200/4);
- state_save_register_global_pointer(machine, state->g2bus_regs, 0x100/4);
- state_save_register_global(machine, state->m_wave_dma.aica_addr);
- state_save_register_global(machine, state->m_wave_dma.root_addr);
- state_save_register_global(machine, state->m_wave_dma.size);
- state_save_register_global(machine, state->m_wave_dma.dir);
- state_save_register_global(machine, state->m_wave_dma.flag);
- state_save_register_global(machine, state->m_wave_dma.indirect);
- state_save_register_global(machine, state->m_wave_dma.start);
- state_save_register_global(machine, state->m_wave_dma.sel);
- state_save_register_global(machine, state->m_pvr_dma.pvr_addr);
- state_save_register_global(machine, state->m_pvr_dma.sys_addr);
- state_save_register_global(machine, state->m_pvr_dma.size);
- state_save_register_global(machine, state->m_pvr_dma.sel);
- state_save_register_global(machine, state->m_pvr_dma.dir);
- state_save_register_global(machine, state->m_pvr_dma.flag);
- state_save_register_global(machine, state->m_pvr_dma.start);
- state_save_register_global_pointer(machine,state->pvrta_regs,0x2000/4);
- state_save_register_global_pointer(machine,state->pvrctrl_regs,0x100/4);
- state_save_register_global(machine, state->debug_dip_status);
- state_save_register_global_pointer(machine,state->tafifo_buff,32);
- state_save_register_global(machine, state->scanline);
- state_save_register_global(machine, state->next_y);
- state_save_register_global_pointer(machine,state->dc_sound_ram.target(),state->dc_sound_ram.bytes());
-}
-
-MACHINE_RESET( dc )
+ state_save_register_global_pointer(machine(), dc_rtcregister, 4);
+ state_save_register_global_pointer(machine(), dc_sysctrl_regs, 0x200/4);
+ state_save_register_global_pointer(machine(), g2bus_regs, 0x100/4);
+ state_save_register_global(machine(), m_wave_dma.aica_addr);
+ state_save_register_global(machine(), m_wave_dma.root_addr);
+ state_save_register_global(machine(), m_wave_dma.size);
+ state_save_register_global(machine(), m_wave_dma.dir);
+ state_save_register_global(machine(), m_wave_dma.flag);
+ state_save_register_global(machine(), m_wave_dma.indirect);
+ state_save_register_global(machine(), m_wave_dma.start);
+ state_save_register_global(machine(), m_wave_dma.sel);
+ state_save_register_global(machine(), m_pvr_dma.pvr_addr);
+ state_save_register_global(machine(), m_pvr_dma.sys_addr);
+ state_save_register_global(machine(), m_pvr_dma.size);
+ state_save_register_global(machine(), m_pvr_dma.sel);
+ state_save_register_global(machine(), m_pvr_dma.dir);
+ state_save_register_global(machine(), m_pvr_dma.flag);
+ state_save_register_global(machine(), m_pvr_dma.start);
+ state_save_register_global_pointer(machine(),pvrta_regs,0x2000/4);
+ state_save_register_global_pointer(machine(),pvrctrl_regs,0x100/4);
+ state_save_register_global(machine(), debug_dip_status);
+ state_save_register_global_pointer(machine(),tafifo_buff,32);
+ state_save_register_global(machine(), scanline);
+ state_save_register_global(machine(), next_y);
+ state_save_register_global_pointer(machine(),dc_sound_ram.target(),dc_sound_ram.bytes());
+}
+
+void dc_state::machine_reset()
{
- dc_state *state = machine.driver_data<dc_state>();
/* halt the ARM7 */
- machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- memset(state->dc_sysctrl_regs, 0, sizeof(state->dc_sysctrl_regs));
+ memset(dc_sysctrl_regs, 0, sizeof(dc_sysctrl_regs));
- state->dc_rtc_timer->adjust(attotime::zero, 0, attotime::from_seconds(1));
+ dc_rtc_timer->adjust(attotime::zero, 0, attotime::from_seconds(1));
- state->dc_sysctrl_regs[SB_SBREV] = 0x0b;
+ dc_sysctrl_regs[SB_SBREV] = 0x0b;
}
READ64_DEVICE_HANDLER( dc_aica_reg_r )
diff --git a/src/mame/machine/decocass.c b/src/mame/machine/decocass.c
index 0421eb82dca..0842d97a171 100644
--- a/src/mame/machine/decocass.c
+++ b/src/mame/machine/decocass.c
@@ -1348,14 +1348,13 @@ void decocass_machine_state_save_init( running_machine &machine )
*
***************************************************************************/
-MACHINE_START( decocass )
+void decocass_state::machine_start()
{
- decocass_state *state = machine.driver_data<decocass_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
- state->m_cassette = machine.device("cassette");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
+ m_cassette = machine().device("cassette");
}
static void decocass_reset_common( running_machine &machine )
@@ -1412,278 +1411,250 @@ static void decocass_reset_common( running_machine &machine )
state->m_center_v_shift = 0;
}
-MACHINE_RESET( decocass )
+void decocass_state::machine_reset()
{
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
}
-MACHINE_RESET( ctsttape )
+MACHINE_RESET_MEMBER(decocass_state,ctsttape)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061)\n"));
- state->m_dongle_r = decocass_type1_pass_136_r;
+ m_dongle_r = decocass_type1_pass_136_r;
}
-MACHINE_RESET( chwy )
+MACHINE_RESET_MEMBER(decocass_state,chwy)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061 own PROM)\n"));
- state->m_dongle_r = decocass_type1_latch_27_pass_3_inv_2_r;
+ m_dongle_r = decocass_type1_latch_27_pass_3_inv_2_r;
}
-MACHINE_RESET( cdsteljn )
+MACHINE_RESET_MEMBER(decocass_state,cdsteljn)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (A-0061)\n"));
- state->m_dongle_r = decocass_type1_latch_27_pass_3_inv_2_r;
+ m_dongle_r = decocass_type1_latch_27_pass_3_inv_2_r;
}
-MACHINE_RESET( cterrani )
+MACHINE_RESET_MEMBER(decocass_state,cterrani)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061 straight)\n"));
- state->m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
- state->m_type1_inmap = MAKE_MAP(0,1,2,3,4,5,6,7);
- state->m_type1_outmap = MAKE_MAP(0,1,2,3,4,5,6,7);
+ m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
+ m_type1_inmap = MAKE_MAP(0,1,2,3,4,5,6,7);
+ m_type1_outmap = MAKE_MAP(0,1,2,3,4,5,6,7);
}
-MACHINE_RESET( castfant )
+MACHINE_RESET_MEMBER(decocass_state,castfant)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061)\n"));
- state->m_dongle_r = decocass_type1_latch_16_pass_3_inv_1_r;
+ m_dongle_r = decocass_type1_latch_16_pass_3_inv_1_r;
}
-MACHINE_RESET( csuperas )
+MACHINE_RESET_MEMBER(decocass_state,csuperas)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061 flip 4-5)\n"));
- state->m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
- state->m_type1_inmap = MAKE_MAP(0,1,2,3,5,4,6,7);
- state->m_type1_outmap = MAKE_MAP(0,1,2,3,5,4,6,7);
+ m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
+ m_type1_inmap = MAKE_MAP(0,1,2,3,5,4,6,7);
+ m_type1_outmap = MAKE_MAP(0,1,2,3,5,4,6,7);
}
-MACHINE_RESET( clocknch )
+MACHINE_RESET_MEMBER(decocass_state,clocknch)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061 flip 2-3)\n"));
- state->m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
- state->m_type1_inmap = MAKE_MAP(0,1,3,2,4,5,6,7);
- state->m_type1_outmap = MAKE_MAP(0,1,3,2,4,5,6,7);
+ m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
+ m_type1_inmap = MAKE_MAP(0,1,3,2,4,5,6,7);
+ m_type1_outmap = MAKE_MAP(0,1,3,2,4,5,6,7);
}
-MACHINE_RESET( cprogolf )
+MACHINE_RESET_MEMBER(decocass_state,cprogolf)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061 flip 0-1)\n"));
- state->m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
- state->m_type1_inmap = MAKE_MAP(1,0,2,3,4,5,6,7);
- state->m_type1_outmap = MAKE_MAP(1,0,2,3,4,5,6,7);
+ m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
+ m_type1_inmap = MAKE_MAP(1,0,2,3,4,5,6,7);
+ m_type1_outmap = MAKE_MAP(1,0,2,3,4,5,6,7);
}
-MACHINE_RESET( cprogolfj )
+MACHINE_RESET_MEMBER(decocass_state,cprogolfj)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (A-0061 flip 0-1)\n"));
- state->m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
- state->m_type1_inmap = MAKE_MAP(1,0,2,3,4,5,6,7);
- state->m_type1_outmap = MAKE_MAP(1,0,2,3,4,5,6,7);
+ m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
+ m_type1_inmap = MAKE_MAP(1,0,2,3,4,5,6,7);
+ m_type1_outmap = MAKE_MAP(1,0,2,3,4,5,6,7);
}
-MACHINE_RESET( cluckypo )
+MACHINE_RESET_MEMBER(decocass_state,cluckypo)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061 flip 1-3)\n"));
- state->m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
- state->m_type1_inmap = MAKE_MAP(0,3,2,1,4,5,6,7);
- state->m_type1_outmap = MAKE_MAP(0,3,2,1,4,5,6,7);
+ m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
+ m_type1_inmap = MAKE_MAP(0,3,2,1,4,5,6,7);
+ m_type1_outmap = MAKE_MAP(0,3,2,1,4,5,6,7);
}
-MACHINE_RESET( ctisland )
+MACHINE_RESET_MEMBER(decocass_state,ctisland)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061 flip 0-2)\n"));
- state->m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
- state->m_type1_inmap = MAKE_MAP(2,1,0,3,4,5,6,7);
- state->m_type1_outmap = MAKE_MAP(2,1,0,3,4,5,6,7);
+ m_dongle_r = decocass_type1_latch_26_pass_3_inv_2_r;
+ m_type1_inmap = MAKE_MAP(2,1,0,3,4,5,6,7);
+ m_type1_outmap = MAKE_MAP(2,1,0,3,4,5,6,7);
}
-MACHINE_RESET( cexplore )
+MACHINE_RESET_MEMBER(decocass_state,cexplore)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #1 (DE-0061 own PROM)\n"));
- state->m_dongle_r = decocass_type1_latch_26_pass_5_inv_2_r;
+ m_dongle_r = decocass_type1_latch_26_pass_5_inv_2_r;
}
-MACHINE_RESET( cdiscon1 )
+MACHINE_RESET_MEMBER(decocass_state,cdiscon1)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #2 (CS82-007)\n"));
- state->m_dongle_r = decocass_type2_r;
- state->m_dongle_w = decocass_type2_w;
+ m_dongle_r = decocass_type2_r;
+ m_dongle_w = decocass_type2_w;
}
-MACHINE_RESET( ctornado )
+MACHINE_RESET_MEMBER(decocass_state,ctornado)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #2 (CS82-007)\n"));
- state->m_dongle_r = decocass_type2_r;
- state->m_dongle_w = decocass_type2_w;
+ m_dongle_r = decocass_type2_r;
+ m_dongle_w = decocass_type2_w;
}
-MACHINE_RESET( cmissnx )
+MACHINE_RESET_MEMBER(decocass_state,cmissnx)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #2 (CS82-007)\n"));
- state->m_dongle_r = decocass_type2_r;
- state->m_dongle_w = decocass_type2_w;
+ m_dongle_r = decocass_type2_r;
+ m_dongle_w = decocass_type2_w;
}
-MACHINE_RESET( cptennis )
+MACHINE_RESET_MEMBER(decocass_state,cptennis)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #2 (CS82-007)\n"));
- state->m_dongle_r = decocass_type2_r;
- state->m_dongle_w = decocass_type2_w;
+ m_dongle_r = decocass_type2_r;
+ m_dongle_w = decocass_type2_w;
}
-MACHINE_RESET( cfishing )
+MACHINE_RESET_MEMBER(decocass_state,cfishing)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_01;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_01;
}
-MACHINE_RESET( cbtime )
+MACHINE_RESET_MEMBER(decocass_state,cbtime)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_12;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_12;
}
-MACHINE_RESET( cburnrub )
+MACHINE_RESET_MEMBER(decocass_state,cburnrub)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_67;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_67;
}
-MACHINE_RESET( cgraplop )
+MACHINE_RESET_MEMBER(decocass_state,cgraplop)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_56;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_56;
}
-MACHINE_RESET( cgraplop2 )
+MACHINE_RESET_MEMBER(decocass_state,cgraplop2)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_67;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_67;
}
-MACHINE_RESET( clapapa )
+MACHINE_RESET_MEMBER(decocass_state,clapapa)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_34_7;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_34_7;
}
-MACHINE_RESET( cskater )
+MACHINE_RESET_MEMBER(decocass_state,cskater)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_45;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_45;
}
-MACHINE_RESET( cprobowl )
+MACHINE_RESET_MEMBER(decocass_state,cprobowl)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_34_0;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_34_0;
}
-MACHINE_RESET( cnightst )
+MACHINE_RESET_MEMBER(decocass_state,cnightst)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_13;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_13;
}
-MACHINE_RESET( cpsoccer )
+MACHINE_RESET_MEMBER(decocass_state,cpsoccer)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_24;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_24;
}
-MACHINE_RESET( csdtenis )
+MACHINE_RESET_MEMBER(decocass_state,csdtenis)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_23_56;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_23_56;
}
-MACHINE_RESET( czeroize )
+MACHINE_RESET_MEMBER(decocass_state,czeroize)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- UINT8 *mem = state->memregion("dongle")->base();
- decocass_reset_common(machine);
+ UINT8 *mem = memregion("dongle")->base();
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_23_56;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_23_56;
/*
* FIXME: remove if the original ROM is available.
@@ -1699,50 +1670,45 @@ MACHINE_RESET( czeroize )
mem[0x08a1] = 0xf7;
}
-MACHINE_RESET( cppicf )
+MACHINE_RESET_MEMBER(decocass_state,cppicf)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_01;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_01;
}
-MACHINE_RESET( cfghtice )
+MACHINE_RESET_MEMBER(decocass_state,cfghtice)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #3 (PAL)\n"));
- state->m_dongle_r = decocass_type3_r;
- state->m_dongle_w = decocass_type3_w;
- state->m_type3_swap = TYPE3_SWAP_25;
+ m_dongle_r = decocass_type3_r;
+ m_dongle_w = decocass_type3_w;
+ m_type3_swap = TYPE3_SWAP_25;
}
-MACHINE_RESET( type4 )
+MACHINE_RESET_MEMBER(decocass_state,type4)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #4 (32K ROM)\n"));
- state->m_dongle_r = decocass_type4_r;
- state->m_dongle_w = decocass_type4_w;
+ m_dongle_r = decocass_type4_r;
+ m_dongle_w = decocass_type4_w;
}
-MACHINE_RESET( cbdash )
+MACHINE_RESET_MEMBER(decocass_state,cbdash)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("dongle type #5 (NOP)\n"));
- state->m_dongle_r = decocass_type5_r;
- state->m_dongle_w = decocass_type5_w;
+ m_dongle_r = decocass_type5_r;
+ m_dongle_w = decocass_type5_w;
}
-MACHINE_RESET( cflyball )
+MACHINE_RESET_MEMBER(decocass_state,cflyball)
{
- decocass_state *state = machine.driver_data<decocass_state>();
- decocass_reset_common(machine);
+ decocass_reset_common(machine());
LOG(0,("no dongle\n"));
- state->m_dongle_r = decocass_nodong_r;
+ m_dongle_r = decocass_nodong_r;
}
/***************************************************************************
diff --git a/src/mame/machine/decocass.h b/src/mame/machine/decocass.h
index 14e67cfa836..719d40f4b50 100644
--- a/src/mame/machine/decocass.h
+++ b/src/mame/machine/decocass.h
@@ -143,6 +143,43 @@ public:
TILE_GET_INFO_MEMBER(get_bg_l_tile_info);
TILE_GET_INFO_MEMBER(get_bg_r_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_RESET(ctsttape);
+ DECLARE_MACHINE_RESET(cprogolfj);
+ DECLARE_MACHINE_RESET(cdsteljn);
+ DECLARE_MACHINE_RESET(cfishing);
+ DECLARE_MACHINE_RESET(chwy);
+ DECLARE_MACHINE_RESET(cterrani);
+ DECLARE_MACHINE_RESET(castfant);
+ DECLARE_MACHINE_RESET(csuperas);
+ DECLARE_MACHINE_RESET(clocknch);
+ DECLARE_MACHINE_RESET(cprogolf);
+ DECLARE_MACHINE_RESET(cluckypo);
+ DECLARE_MACHINE_RESET(ctisland);
+ DECLARE_MACHINE_RESET(cexplore);
+ DECLARE_MACHINE_RESET(cdiscon1);
+ DECLARE_MACHINE_RESET(ctornado);
+ DECLARE_MACHINE_RESET(cmissnx);
+ DECLARE_MACHINE_RESET(cptennis);
+ DECLARE_MACHINE_RESET(cbtime);
+ DECLARE_MACHINE_RESET(cburnrub);
+ DECLARE_MACHINE_RESET(cgraplop);
+ DECLARE_MACHINE_RESET(cgraplop2);
+ DECLARE_MACHINE_RESET(clapapa);
+ DECLARE_MACHINE_RESET(cskater);
+ DECLARE_MACHINE_RESET(cprobowl);
+ DECLARE_MACHINE_RESET(cnightst);
+ DECLARE_MACHINE_RESET(cpsoccer);
+ DECLARE_MACHINE_RESET(csdtenis);
+ DECLARE_MACHINE_RESET(czeroize);
+ DECLARE_MACHINE_RESET(cppicf);
+ DECLARE_MACHINE_RESET(cfghtice);
+ DECLARE_MACHINE_RESET(type4);
+ DECLARE_MACHINE_RESET(cbdash);
+ DECLARE_MACHINE_RESET(cflyball);
};
@@ -170,41 +207,41 @@ WRITE8_HANDLER( decocass_e5xx_w );
WRITE8_HANDLER( decocass_de0091_w );
WRITE8_HANDLER( decocass_e900_w );
-MACHINE_START( decocass );
-MACHINE_RESET( decocass );
-MACHINE_RESET( ctsttape );
-MACHINE_RESET( chwy );
-MACHINE_RESET( cdsteljn );
-MACHINE_RESET( cfishing );
-MACHINE_RESET( cterrani );
-MACHINE_RESET( castfant );
-MACHINE_RESET( csuperas );
-MACHINE_RESET( clocknch );
-MACHINE_RESET( cprogolf );
-MACHINE_RESET( cprogolfj );
-MACHINE_RESET( cluckypo );
-MACHINE_RESET( ctisland );
-MACHINE_RESET( cexplore );
-MACHINE_RESET( cdiscon1 );
-MACHINE_RESET( ctornado );
-MACHINE_RESET( cmissnx );
-MACHINE_RESET( cptennis );
-MACHINE_RESET( cbtime );
-MACHINE_RESET( cburnrub );
-MACHINE_RESET( cgraplop );
-MACHINE_RESET( cgraplop2 );
-MACHINE_RESET( cskater );
-MACHINE_RESET( clapapa );
-MACHINE_RESET( cprobowl );
-MACHINE_RESET( cnightst );
-MACHINE_RESET( cpsoccer );
-MACHINE_RESET( csdtenis );
-MACHINE_RESET( czeroize );
-MACHINE_RESET( cppicf );
-MACHINE_RESET( cfghtice );
-MACHINE_RESET( type4 );
-MACHINE_RESET( cflyball );
-MACHINE_RESET( cbdash );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
WRITE8_HANDLER( i8041_p1_w );
READ8_HANDLER( i8041_p1_r );
@@ -237,7 +274,7 @@ WRITE8_HANDLER( decocass_part_v_shift_w );
WRITE8_HANDLER( decocass_center_h_shift_space_w );
WRITE8_HANDLER( decocass_center_v_shift_w );
-VIDEO_START( decocass );
+
SCREEN_UPDATE_IND16( decocass );
void decocass_video_state_save_init(running_machine &machine);
diff --git a/src/mame/machine/galaxold.c b/src/mame/machine/galaxold.c
index 009e7aa5a9f..f19249e97fe 100644
--- a/src/mame/machine/galaxold.c
+++ b/src/mame/machine/galaxold.c
@@ -85,20 +85,20 @@ static void machine_reset_common(running_machine &machine, int line)
int_timer->adjust(machine.primary_screen->time_until_pos(0));
}
-MACHINE_RESET( galaxold )
+MACHINE_RESET_MEMBER(galaxold_state,galaxold)
{
- machine_reset_common(machine, INPUT_LINE_NMI);
+ machine_reset_common(machine(), INPUT_LINE_NMI);
}
-MACHINE_RESET( devilfsg )
+MACHINE_RESET_MEMBER(galaxold_state,devilfsg)
{
- machine_reset_common(machine, 0);
+ machine_reset_common(machine(), 0);
}
-MACHINE_RESET( hunchbkg )
+MACHINE_RESET_MEMBER(galaxold_state,hunchbkg)
{
- machine_reset_common(machine, 0);
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(hunchbkg_irq_callback);
+ machine_reset_common(machine(), 0);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(hunchbkg_irq_callback);
}
WRITE8_MEMBER(galaxold_state::galaxold_coin_lockout_w)
diff --git a/src/mame/machine/harddriv.c b/src/mame/machine/harddriv.c
index 3a963aa767a..5244a7e23cc 100644
--- a/src/mame/machine/harddriv.c
+++ b/src/mame/machine/harddriv.c
@@ -51,48 +51,46 @@ static void hd68k_update_interrupts(running_machine &machine);
*
*************************************/
-MACHINE_START( harddriv )
+MACHINE_START_MEMBER(harddriv_state,harddriv)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
- atarigen_init(machine);
+ atarigen_init(machine());
/* predetermine memory regions */
- state->m_sim_memory = (UINT16 *)state->memregion("user1")->base();
- state->m_sim_memory_size = state->memregion("user1")->bytes() / 2;
- state->m_adsp_pgm_memory_word = (UINT16 *)(reinterpret_cast<UINT8 *>(state->m_adsp_pgm_memory.target()) + 1);
+ m_sim_memory = (UINT16 *)memregion("user1")->base();
+ m_sim_memory_size = memregion("user1")->bytes() / 2;
+ m_adsp_pgm_memory_word = (UINT16 *)(reinterpret_cast<UINT8 *>(m_adsp_pgm_memory.target()) + 1);
}
-MACHINE_RESET( harddriv )
+MACHINE_RESET_MEMBER(harddriv_state,harddriv)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
/* generic reset */
- atarigen_eeprom_reset(state);
+ atarigen_eeprom_reset(this);
slapstic_reset();
- atarigen_interrupt_reset(state, hd68k_update_interrupts);
+ atarigen_interrupt_reset(this, hd68k_update_interrupts);
/* halt several of the DSPs to start */
- if (state->m_adsp != NULL) state->m_adsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- if (state->m_dsp32 != NULL) state->m_dsp32->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- if (state->m_sounddsp != NULL) state->m_sounddsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ if (m_adsp != NULL) m_adsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ if (m_dsp32 != NULL) m_dsp32->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ if (m_sounddsp != NULL) m_sounddsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
/* if we found a 6502, reset the JSA board */
- if (state->m_jsacpu != NULL)
+ if (m_jsacpu != NULL)
atarijsa_reset();
- state->m_last_gsp_shiftreg = 0;
+ m_last_gsp_shiftreg = 0;
- state->m_m68k_adsp_buffer_bank = 0;
+ m_m68k_adsp_buffer_bank = 0;
/* reset IRQ states */
- state->m_irq_state = state->m_gsp_irq_state = state->m_msp_irq_state = state->m_adsp_irq_state = state->m_duart_irq_state = 0;
+ m_irq_state = m_gsp_irq_state = m_msp_irq_state = m_adsp_irq_state = m_duart_irq_state = 0;
/* reset the ADSP/DSIII/DSIV boards */
- state->m_adsp_halt = 1;
- state->m_adsp_br = 0;
- state->m_adsp_xflag = 0;
+ m_adsp_halt = 1;
+ m_adsp_br = 0;
+ m_adsp_xflag = 0;
}
diff --git a/src/mame/machine/irobot.c b/src/mame/machine/irobot.c
index f39632a6035..9bb6ce73608 100644
--- a/src/mame/machine/irobot.c
+++ b/src/mame/machine/irobot.c
@@ -167,31 +167,30 @@ static TIMER_CALLBACK( scanline_callback )
machine.scheduler().timer_set(machine.primary_screen->time_until_pos(scanline), FUNC(scanline_callback), scanline);
}
-MACHINE_RESET( irobot )
+void irobot_state::machine_reset()
{
- irobot_state *state = machine.driver_data<irobot_state>();
- UINT8 *MB = state->memregion("mathbox")->base();
+ UINT8 *MB = memregion("mathbox")->base();
/* initialize the memory regions */
- state->m_mbROM = MB + 0x00000;
- state->m_mbRAM = MB + 0x0c000;
- state->m_comRAM[0] = MB + 0x0e000;
- state->m_comRAM[1] = MB + 0x0f000;
+ m_mbROM = MB + 0x00000;
+ m_mbRAM = MB + 0x0c000;
+ m_comRAM[0] = MB + 0x0e000;
+ m_comRAM[1] = MB + 0x0f000;
- state->m_irvg_vblank=0;
- state->m_irvg_running = 0;
- state->m_irvg_timer = machine.device<timer_device>("irvg_timer");
- state->m_irmb_running = 0;
- state->m_irmb_timer = machine.device<timer_device>("irmb_timer");
+ m_irvg_vblank=0;
+ m_irvg_running = 0;
+ m_irvg_timer = machine().device<timer_device>("irvg_timer");
+ m_irmb_running = 0;
+ m_irmb_timer = machine().device<timer_device>("irmb_timer");
/* set an initial timer to go off on scanline 0 */
- machine.scheduler().timer_set(machine.primary_screen->time_until_pos(0), FUNC(scanline_callback));
+ machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(scanline_callback));
- state->irobot_rom_banksel_w(*machine.device("maincpu")->memory().space(AS_PROGRAM),0,0);
- state->irobot_out0_w(*machine.device("maincpu")->memory().space(AS_PROGRAM),0,0);
- state->m_combase = state->m_comRAM[0];
- state->m_combase_mb = state->m_comRAM[1];
- state->m_outx = 0;
+ irobot_rom_banksel_w(*machine().device("maincpu")->memory().space(AS_PROGRAM),0,0);
+ irobot_out0_w(*machine().device("maincpu")->memory().space(AS_PROGRAM),0,0);
+ m_combase = m_comRAM[0];
+ m_combase_mb = m_comRAM[1];
+ m_outx = 0;
}
WRITE8_MEMBER(irobot_state::irobot_control_w)
diff --git a/src/mame/machine/leland.c b/src/mame/machine/leland.c
index 077f8c48aad..19314a66644 100644
--- a/src/mame/machine/leland.c
+++ b/src/mame/machine/leland.c
@@ -316,99 +316,95 @@ WRITE8_MEMBER(leland_state::indyheat_analog_w)
*
*************************************/
-MACHINE_START( leland )
+MACHINE_START_MEMBER(leland_state,leland)
{
- leland_state *state = machine.driver_data<leland_state>();
/* allocate extra stuff */
- state->m_battery_ram = reinterpret_cast<UINT8 *>(state->memshare("battery")->ptr());
+ m_battery_ram = reinterpret_cast<UINT8 *>(memshare("battery")->ptr());
/* start scanline interrupts going */
- state->m_master_int_timer = machine.scheduler().timer_alloc(FUNC(leland_interrupt_callback));
+ m_master_int_timer = machine().scheduler().timer_alloc(FUNC(leland_interrupt_callback));
}
-MACHINE_RESET( leland )
+MACHINE_RESET_MEMBER(leland_state,leland)
{
- leland_state *state = machine.driver_data<leland_state>();
- state->m_master_int_timer->adjust(machine.primary_screen->time_until_pos(8), 8);
+ m_master_int_timer->adjust(machine().primary_screen->time_until_pos(8), 8);
/* reset globals */
- state->m_gfx_control = 0x00;
- leland_sound_port_w(machine.device("ay8910.1"), 0, 0xff);
- state->m_wcol_enable = 0;
-
- state->m_dangerz_x = 512;
- state->m_dangerz_y = 512;
- state->m_analog_result = 0xff;
- memset(state->m_dial_last_input, 0, sizeof(state->m_dial_last_input));
- memset(state->m_dial_last_result, 0, sizeof(state->m_dial_last_result));
-
- state->m_keycard_shift = 0;
- state->m_keycard_bit = 0;
- state->m_keycard_state = 0;
- state->m_keycard_clock = 0;
- memset(state->m_keycard_command, 0, sizeof(state->m_keycard_command));
-
- state->m_top_board_bank = 0;
- state->m_sound_port_bank = 0;
- state->m_alternate_bank = 0;
+ m_gfx_control = 0x00;
+ leland_sound_port_w(machine().device("ay8910.1"), 0, 0xff);
+ m_wcol_enable = 0;
+
+ m_dangerz_x = 512;
+ m_dangerz_y = 512;
+ m_analog_result = 0xff;
+ memset(m_dial_last_input, 0, sizeof(m_dial_last_input));
+ memset(m_dial_last_result, 0, sizeof(m_dial_last_result));
+
+ m_keycard_shift = 0;
+ m_keycard_bit = 0;
+ m_keycard_state = 0;
+ m_keycard_clock = 0;
+ memset(m_keycard_command, 0, sizeof(m_keycard_command));
+
+ m_top_board_bank = 0;
+ m_sound_port_bank = 0;
+ m_alternate_bank = 0;
/* initialize the master banks */
- state->m_master_length = state->memregion("master")->bytes();
- state->m_master_base = state->memregion("master")->base();
- (*state->m_update_master_bank)(machine);
+ m_master_length = memregion("master")->bytes();
+ m_master_base = memregion("master")->base();
+ (*m_update_master_bank)(machine());
/* initialize the slave banks */
- state->m_slave_length = state->memregion("slave")->bytes();
- state->m_slave_base = state->memregion("slave")->base();
- if (state->m_slave_length > 0x10000)
- state->membank("bank3")->set_base(&state->m_slave_base[0x10000]);
+ m_slave_length = memregion("slave")->bytes();
+ m_slave_base = memregion("slave")->base();
+ if (m_slave_length > 0x10000)
+ membank("bank3")->set_base(&m_slave_base[0x10000]);
}
-MACHINE_START( ataxx )
+MACHINE_START_MEMBER(leland_state,ataxx)
{
- leland_state *state = machine.driver_data<leland_state>();
/* set the odd data banks */
- state->m_battery_ram = reinterpret_cast<UINT8 *>(state->memshare("battery")->ptr());
- state->m_extra_tram = auto_alloc_array(machine, UINT8, ATAXX_EXTRA_TRAM_SIZE);
+ m_battery_ram = reinterpret_cast<UINT8 *>(memshare("battery")->ptr());
+ m_extra_tram = auto_alloc_array(machine(), UINT8, ATAXX_EXTRA_TRAM_SIZE);
/* start scanline interrupts going */
- state->m_master_int_timer = machine.scheduler().timer_alloc(FUNC(ataxx_interrupt_callback));
+ m_master_int_timer = machine().scheduler().timer_alloc(FUNC(ataxx_interrupt_callback));
}
-MACHINE_RESET( ataxx )
+MACHINE_RESET_MEMBER(leland_state,ataxx)
{
- leland_state *state = machine.driver_data<leland_state>();
- memset(state->m_extra_tram, 0, ATAXX_EXTRA_TRAM_SIZE);
- state->m_master_int_timer->adjust(machine.primary_screen->time_until_pos(8), 8);
+ memset(m_extra_tram, 0, ATAXX_EXTRA_TRAM_SIZE);
+ m_master_int_timer->adjust(machine().primary_screen->time_until_pos(8), 8);
/* initialize the XROM */
- state->m_xrom_length = state->memregion("user1")->bytes();
- state->m_xrom_base = state->memregion("user1")->base();
- state->m_xrom1_addr = 0;
- state->m_xrom2_addr = 0;
+ m_xrom_length = memregion("user1")->bytes();
+ m_xrom_base = memregion("user1")->base();
+ m_xrom1_addr = 0;
+ m_xrom2_addr = 0;
/* reset globals */
- state->m_wcol_enable = 0;
+ m_wcol_enable = 0;
- state->m_analog_result = 0xff;
- memset(state->m_dial_last_input, 0, sizeof(state->m_dial_last_input));
- memset(state->m_dial_last_result, 0, sizeof(state->m_dial_last_result));
+ m_analog_result = 0xff;
+ memset(m_dial_last_input, 0, sizeof(m_dial_last_input));
+ memset(m_dial_last_result, 0, sizeof(m_dial_last_result));
- state->m_master_bank = 0;
+ m_master_bank = 0;
/* initialize the master banks */
- state->m_master_length = state->memregion("master")->bytes();
- state->m_master_base = state->memregion("master")->base();
- ataxx_bankswitch(machine);
+ m_master_length = memregion("master")->bytes();
+ m_master_base = memregion("master")->base();
+ ataxx_bankswitch(machine());
/* initialize the slave banks */
- state->m_slave_length = state->memregion("slave")->bytes();
- state->m_slave_base = state->memregion("slave")->base();
- if (state->m_slave_length > 0x10000)
- state->membank("bank3")->set_base(&state->m_slave_base[0x10000]);
+ m_slave_length = memregion("slave")->bytes();
+ m_slave_base = memregion("slave")->base();
+ if (m_slave_length > 0x10000)
+ membank("bank3")->set_base(&m_slave_base[0x10000]);
}
diff --git a/src/mame/machine/mcr.c b/src/mame/machine/mcr.c
index 7d298e0fd4b..34c55dcc137 100644
--- a/src/mame/machine/mcr.c
+++ b/src/mame/machine/mcr.c
@@ -155,20 +155,20 @@ const z80sio_interface nflfoot_sio_intf =
*
*************************************/
-MACHINE_START( mcr )
+MACHINE_START_MEMBER(mcr_state,mcr)
{
- state_save_register_global(machine, mcr_cocktail_flip);
+ state_save_register_global(machine(), mcr_cocktail_flip);
}
-MACHINE_START( nflfoot )
+MACHINE_START_MEMBER(mcr_state,nflfoot)
{
/* allocate a timer for the IPU watchdog */
- ipu_watchdog_timer = machine.scheduler().timer_alloc(FUNC(ipu_watchdog_reset));
+ ipu_watchdog_timer = machine().scheduler().timer_alloc(FUNC(ipu_watchdog_reset));
}
-MACHINE_RESET( mcr )
+MACHINE_RESET_MEMBER(mcr_state,mcr)
{
/* reset cocktail flip */
mcr_cocktail_flip = 0;
diff --git a/src/mame/machine/mcr68.c b/src/mame/machine/mcr68.c
index 898da0fc7c2..cd1fe803fef 100644
--- a/src/mame/machine/mcr68.c
+++ b/src/mame/machine/mcr68.c
@@ -117,30 +117,29 @@ const pia6821_interface zwackery_pia2_intf =
*
*************************************/
-MACHINE_START( mcr68 )
+MACHINE_START_MEMBER(mcr68_state,mcr68)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
int i;
for (i = 0; i < 3; i++)
{
- struct counter_state *m6840 = &state->m_m6840_state[i];
+ struct counter_state *m6840 = &m_m6840_state[i];
- m6840->timer = machine.scheduler().timer_alloc(FUNC(counter_fired_callback));
+ m6840->timer = machine().scheduler().timer_alloc(FUNC(counter_fired_callback));
- state_save_register_item(machine, "m6840", NULL, i, m6840->control);
- state_save_register_item(machine, "m6840", NULL, i, m6840->latch);
- state_save_register_item(machine, "m6840", NULL, i, m6840->count);
- state_save_register_item(machine, "m6840", NULL, i, m6840->timer_active);
+ state_save_register_item(machine(), "m6840", NULL, i, m6840->control);
+ state_save_register_item(machine(), "m6840", NULL, i, m6840->latch);
+ state_save_register_item(machine(), "m6840", NULL, i, m6840->count);
+ state_save_register_item(machine(), "m6840", NULL, i, m6840->timer_active);
}
- state_save_register_global(machine, state->m_m6840_status);
- state_save_register_global(machine, state->m_m6840_status_read_since_int);
- state_save_register_global(machine, state->m_m6840_msb_buffer);
- state_save_register_global(machine, state->m_m6840_lsb_buffer);
- state_save_register_global(machine, state->m_m6840_irq_state);
- state_save_register_global(machine, state->m_v493_irq_state);
- state_save_register_global(machine, state->m_zwackery_sound_data);
+ state_save_register_global(machine(), m_m6840_status);
+ state_save_register_global(machine(), m_m6840_status_read_since_int);
+ state_save_register_global(machine(), m_m6840_msb_buffer);
+ state_save_register_global(machine(), m_m6840_lsb_buffer);
+ state_save_register_global(machine(), m_m6840_irq_state);
+ state_save_register_global(machine(), m_v493_irq_state);
+ state_save_register_global(machine(), m_zwackery_sound_data);
}
@@ -174,37 +173,35 @@ static void mcr68_common_init(running_machine &machine)
}
-MACHINE_RESET( mcr68 )
+MACHINE_RESET_MEMBER(mcr68_state,mcr68)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
/* for the most part all MCR/68k games are the same */
- mcr68_common_init(machine);
- state->m_v493_callback = mcr68_493_callback;
- state->m_v493_callback_name = "mcr68_493_callback";
+ mcr68_common_init(machine());
+ m_v493_callback = mcr68_493_callback;
+ m_v493_callback_name = "mcr68_493_callback";
/* vectors are 1 and 2 */
- state->m_v493_irq_vector = 1;
- state->m_m6840_irq_vector = 2;
+ m_v493_irq_vector = 1;
+ m_m6840_irq_vector = 2;
}
-MACHINE_START( zwackery )
+MACHINE_START_MEMBER(mcr68_state,zwackery)
{
- MACHINE_START_CALL(mcr68);
+ MACHINE_START_CALL_MEMBER(mcr68);
}
-MACHINE_RESET( zwackery )
+MACHINE_RESET_MEMBER(mcr68_state,zwackery)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
/* for the most part all MCR/68k games are the same */
- mcr68_common_init(machine);
- state->m_v493_callback = zwackery_493_callback;
- state->m_v493_callback_name = "zwackery_493_callback";
+ mcr68_common_init(machine());
+ m_v493_callback = zwackery_493_callback;
+ m_v493_callback_name = "zwackery_493_callback";
/* vectors are 5 and 6 */
- state->m_v493_irq_vector = 5;
- state->m_m6840_irq_vector = 6;
+ m_v493_irq_vector = 5;
+ m_m6840_irq_vector = 6;
}
diff --git a/src/mame/machine/mhavoc.c b/src/mame/machine/mhavoc.c
index 81006ef2278..f207f893723 100644
--- a/src/mame/machine/mhavoc.c
+++ b/src/mame/machine/mhavoc.c
@@ -63,55 +63,53 @@ WRITE8_MEMBER(mhavoc_state::mhavoc_gamma_irq_ack_w)
*
*************************************/
-MACHINE_START( mhavoc )
+void mhavoc_state::machine_start()
{
- mhavoc_state *state = machine.driver_data<mhavoc_state>();
- state_save_register_item(machine, "misc", NULL, 0, state->m_alpha_data);
- state_save_register_item(machine, "misc", NULL, 0, state->m_alpha_rcvd);
- state_save_register_item(machine, "misc", NULL, 0, state->m_alpha_xmtd);
- state_save_register_item(machine, "misc", NULL, 0, state->m_gamma_data);
- state_save_register_item(machine, "misc", NULL, 0, state->m_gamma_rcvd);
- state_save_register_item(machine, "misc", NULL, 0, state->m_gamma_xmtd);
- state_save_register_item(machine, "misc", NULL, 0, state->m_player_1);
- state_save_register_item(machine, "misc", NULL, 0, state->m_alpha_irq_clock);
- state_save_register_item(machine, "misc", NULL, 0, state->m_alpha_irq_clock_enable);
- state_save_register_item(machine, "misc", NULL, 0, state->m_gamma_irq_clock);
-
- state_save_register_item(machine, "misc", NULL, 0, state->m_speech_write_buffer);
+ state_save_register_item(machine(), "misc", NULL, 0, m_alpha_data);
+ state_save_register_item(machine(), "misc", NULL, 0, m_alpha_rcvd);
+ state_save_register_item(machine(), "misc", NULL, 0, m_alpha_xmtd);
+ state_save_register_item(machine(), "misc", NULL, 0, m_gamma_data);
+ state_save_register_item(machine(), "misc", NULL, 0, m_gamma_rcvd);
+ state_save_register_item(machine(), "misc", NULL, 0, m_gamma_xmtd);
+ state_save_register_item(machine(), "misc", NULL, 0, m_player_1);
+ state_save_register_item(machine(), "misc", NULL, 0, m_alpha_irq_clock);
+ state_save_register_item(machine(), "misc", NULL, 0, m_alpha_irq_clock_enable);
+ state_save_register_item(machine(), "misc", NULL, 0, m_gamma_irq_clock);
+
+ state_save_register_item(machine(), "misc", NULL, 0, m_speech_write_buffer);
}
-MACHINE_RESET( mhavoc )
+void mhavoc_state::machine_reset()
{
- mhavoc_state *state = machine.driver_data<mhavoc_state>();
- address_space *space = machine.device("alpha")->memory().space(AS_PROGRAM);
- state->m_has_gamma_cpu = (machine.device("gamma") != NULL);
+ address_space *space = machine().device("alpha")->memory().space(AS_PROGRAM);
+ m_has_gamma_cpu = (machine().device("gamma") != NULL);
- state->membank("bank1")->configure_entry(0, state->m_zram0);
- state->membank("bank1")->configure_entry(1, state->m_zram1);
- state->membank("bank2")->configure_entries(0, 4, state->memregion("alpha")->base() + 0x10000, 0x2000);
+ membank("bank1")->configure_entry(0, m_zram0);
+ membank("bank1")->configure_entry(1, m_zram1);
+ membank("bank2")->configure_entries(0, 4, memregion("alpha")->base() + 0x10000, 0x2000);
/* reset RAM/ROM banks to 0 */
- state->mhavoc_ram_banksel_w(*space, 0, 0);
- state->mhavoc_rom_banksel_w(*space, 0, 0);
+ mhavoc_ram_banksel_w(*space, 0, 0);
+ mhavoc_rom_banksel_w(*space, 0, 0);
/* reset alpha comm status */
- state->m_alpha_data = 0;
- state->m_alpha_rcvd = 0;
- state->m_alpha_xmtd = 0;
+ m_alpha_data = 0;
+ m_alpha_rcvd = 0;
+ m_alpha_xmtd = 0;
/* reset gamma comm status */
- state->m_gamma_data = 0;
- state->m_gamma_rcvd = 0;
- state->m_gamma_xmtd = 0;
+ m_gamma_data = 0;
+ m_gamma_rcvd = 0;
+ m_gamma_xmtd = 0;
/* reset player 1 flag */
- state->m_player_1 = 0;
+ m_player_1 = 0;
/* reset IRQ clock states */
- state->m_alpha_irq_clock = 0;
- state->m_alpha_irq_clock_enable = 1;
- state->m_gamma_irq_clock = 0;
+ m_alpha_irq_clock = 0;
+ m_alpha_irq_clock_enable = 1;
+ m_gamma_irq_clock = 0;
}
diff --git a/src/mame/machine/micro3d.c b/src/mame/machine/micro3d.c
index 530aec9fda9..ac47c55b72b 100644
--- a/src/mame/machine/micro3d.c
+++ b/src/mame/machine/micro3d.c
@@ -633,13 +633,12 @@ DRIVER_INIT_MEMBER(micro3d_state,botss)
DRIVER_INIT_CALL(micro3d);
}
-MACHINE_RESET( micro3d )
+void micro3d_state::machine_reset()
{
- micro3d_state *state = machine.driver_data<micro3d_state>();
- state->m_ti_uart[STATUS] = 1;
+ m_ti_uart[STATUS] = 1;
- machine.device("vgb")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("drmath")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("vgb")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("drmath")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
diff --git a/src/mame/machine/midtunit.c b/src/mame/machine/midtunit.c
index 7d224dd629f..54aa8de2c42 100644
--- a/src/mame/machine/midtunit.c
+++ b/src/mame/machine/midtunit.c
@@ -551,21 +551,20 @@ DRIVER_INIT_MEMBER(midtunit_state,mk2)
*
*************************************/
-MACHINE_RESET( midtunit )
+MACHINE_RESET_MEMBER(midtunit_state,midtunit)
{
- midtunit_state *state = machine.driver_data<midtunit_state>();
/* reset sound */
switch (chip_type)
{
case SOUND_ADPCM:
case SOUND_ADPCM_LARGE:
- state->m_adpcm_sound->reset_write(1);
- state->m_adpcm_sound->reset_write(0);
+ m_adpcm_sound->reset_write(1);
+ m_adpcm_sound->reset_write(0);
break;
case SOUND_DCS:
- dcs_reset_w(machine, 1);
- dcs_reset_w(machine, 0);
+ dcs_reset_w(machine(), 1);
+ dcs_reset_w(machine(), 0);
break;
}
}
diff --git a/src/mame/machine/midwunit.c b/src/mame/machine/midwunit.c
index 2b3545d858a..dd4df1016fd 100644
--- a/src/mame/machine/midwunit.c
+++ b/src/mame/machine/midwunit.c
@@ -337,18 +337,17 @@ DRIVER_INIT_MEMBER(midwunit_state,rmpgwt)
*
*************************************/
-MACHINE_RESET( midwunit )
+MACHINE_RESET_MEMBER(midwunit_state,midwunit)
{
- midwunit_state *state = machine.driver_data<midwunit_state>();
int i;
/* reset sound */
- dcs_reset_w(machine, 1);
- dcs_reset_w(machine, 0);
+ dcs_reset_w(machine(), 1);
+ dcs_reset_w(machine(), 0);
/* reset I/O shuffling */
for (i = 0; i < 16; i++)
- state->m_ioshuffle[i] = i % 8;
+ m_ioshuffle[i] = i % 8;
}
diff --git a/src/mame/machine/midxunit.c b/src/mame/machine/midxunit.c
index f14f0af16e0..de9c248581c 100644
--- a/src/mame/machine/midxunit.c
+++ b/src/mame/machine/midxunit.c
@@ -309,18 +309,17 @@ DRIVER_INIT_MEMBER(midxunit_state,revx)
*
*************************************/
-MACHINE_RESET( midxunit )
+MACHINE_RESET_MEMBER(midxunit_state,midxunit)
{
- midxunit_state *state = machine.driver_data<midxunit_state>();
int i;
/* reset sound */
- dcs_reset_w(machine, 1);
- dcs_reset_w(machine, 0);
+ dcs_reset_w(machine(), 1);
+ dcs_reset_w(machine(), 0);
/* reset I/O shuffling */
for (i = 0; i < 16; i++)
- state->m_ioshuffle[i] = i % 8;
+ m_ioshuffle[i] = i % 8;
dcs_set_io_callbacks(midxunit_dcs_output_full, NULL);
}
diff --git a/src/mame/machine/midyunit.c b/src/mame/machine/midyunit.c
index 40c15e81e37..a9eaf5a60ff 100644
--- a/src/mame/machine/midyunit.c
+++ b/src/mame/machine/midyunit.c
@@ -540,26 +540,25 @@ DRIVER_INIT_MEMBER(midyunit_state,totcarn)
*
*************************************/
-MACHINE_RESET( midyunit )
+MACHINE_RESET_MEMBER(midyunit_state,midyunit)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
/* reset sound */
- switch (state->m_chip_type)
+ switch (m_chip_type)
{
case SOUND_NARC:
- state->m_narc_sound->reset_write(1);
- state->m_narc_sound->reset_write(0);
+ m_narc_sound->reset_write(1);
+ m_narc_sound->reset_write(0);
break;
case SOUND_CVSD:
case SOUND_CVSD_SMALL:
- state->m_cvsd_sound->reset_write(1);
- state->m_cvsd_sound->reset_write(0);
+ m_cvsd_sound->reset_write(1);
+ m_cvsd_sound->reset_write(0);
break;
case SOUND_ADPCM:
- state->m_adpcm_sound->reset_write(1);
- state->m_adpcm_sound->reset_write(0);
+ m_adpcm_sound->reset_write(1);
+ m_adpcm_sound->reset_write(0);
break;
case SOUND_YAWDIM:
diff --git a/src/mame/machine/model1.c b/src/mame/machine/model1.c
index 080a3d1dab2..fa6c6f9e17b 100644
--- a/src/mame/machine/model1.c
+++ b/src/mame/machine/model1.c
@@ -1984,27 +1984,26 @@ WRITE16_MEMBER(model1_state::model1_tgp_copro_ram_w)
}
}
-MACHINE_START( model1 )
-{
- model1_state *state = machine.driver_data<model1_state>();
- state->m_ram_data = auto_alloc_array(machine, UINT32, 0x10000);
-
- state_save_register_global_pointer(machine, state->m_ram_data, 0x10000);
- state_save_register_global(machine, state->m_ram_adr);
- state_save_register_global(machine, state->m_ram_scanadr);
- state_save_register_global_array(machine, state->m_ram_latch);
- state_save_register_global(machine, state->m_fifoout_rpos);
- state_save_register_global(machine, state->m_fifoout_wpos);
- state_save_register_global_array(machine, state->m_fifoout_data);
- state_save_register_global(machine, state->m_fifoin_rpos);
- state_save_register_global(machine, state->m_fifoin_wpos);
- state_save_register_global_array(machine, state->m_fifoin_data);
- state_save_register_global_array(machine, state->m_cmat);
- state_save_register_global_2d_array(machine, state->m_mat_stack);
- state_save_register_global_2d_array(machine, state->m_mat_vector);
- state_save_register_global(machine, state->m_mat_stack_pos);
- state_save_register_global(machine, state->m_acc);
- state_save_register_global(machine, state->m_list_length);
+MACHINE_START_MEMBER(model1_state,model1)
+{
+ m_ram_data = auto_alloc_array(machine(), UINT32, 0x10000);
+
+ state_save_register_global_pointer(machine(), m_ram_data, 0x10000);
+ state_save_register_global(machine(), m_ram_adr);
+ state_save_register_global(machine(), m_ram_scanadr);
+ state_save_register_global_array(machine(), m_ram_latch);
+ state_save_register_global(machine(), m_fifoout_rpos);
+ state_save_register_global(machine(), m_fifoout_wpos);
+ state_save_register_global_array(machine(), m_fifoout_data);
+ state_save_register_global(machine(), m_fifoin_rpos);
+ state_save_register_global(machine(), m_fifoin_wpos);
+ state_save_register_global_array(machine(), m_fifoin_data);
+ state_save_register_global_array(machine(), m_cmat);
+ state_save_register_global_2d_array(machine(), m_mat_stack);
+ state_save_register_global_2d_array(machine(), m_mat_vector);
+ state_save_register_global(machine(), m_mat_stack_pos);
+ state_save_register_global(machine(), m_acc);
+ state_save_register_global(machine(), m_list_length);
}
void model1_tgp_reset(running_machine &machine, int swa)
diff --git a/src/mame/machine/mw8080bw.c b/src/mame/machine/mw8080bw.c
index 5ac8955bdb5..3da4d306f7c 100644
--- a/src/mame/machine/mw8080bw.c
+++ b/src/mame/machine/mw8080bw.c
@@ -94,20 +94,19 @@ static void mw8080bw_start_interrupt_timer( running_machine &machine )
*
*************************************/
-MACHINE_START( mw8080bw )
+MACHINE_START_MEMBER(mw8080bw_state,mw8080bw)
{
- mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
- mw8080bw_create_interrupt_timer(machine);
+ mw8080bw_create_interrupt_timer(machine());
- state->m_samples = machine.device<samples_device>("samples");
- state->m_samples1 = machine.device<samples_device>("samples1");
- state->m_samples2 = machine.device<samples_device>("samples2");
- state->m_sn = machine.device("snsnd");
- state->m_sn1 = machine.device("sn1");
- state->m_sn2 = machine.device("sn2");
- state->m_discrete = machine.device("discrete");
- state->m_mb14241 = machine.device("mb14241");
+ m_samples = machine().device<samples_device>("samples");
+ m_samples1 = machine().device<samples_device>("samples1");
+ m_samples2 = machine().device<samples_device>("samples2");
+ m_sn = machine().device("snsnd");
+ m_sn1 = machine().device("sn1");
+ m_sn2 = machine().device("sn2");
+ m_discrete = machine().device("discrete");
+ m_mb14241 = machine().device("mb14241");
}
@@ -117,7 +116,7 @@ MACHINE_START( mw8080bw )
*
*************************************/
-MACHINE_RESET( mw8080bw )
+MACHINE_RESET_MEMBER(mw8080bw_state,mw8080bw)
{
- mw8080bw_start_interrupt_timer(machine);
+ mw8080bw_start_interrupt_timer(machine());
}
diff --git a/src/mame/machine/n64.c b/src/mame/machine/n64.c
index 65c9e43229d..a38fc5fdca0 100644
--- a/src/mame/machine/n64.c
+++ b/src/mame/machine/n64.c
@@ -2402,29 +2402,28 @@ static void n64_machine_stop(running_machine &machine)
image->battery_save(data, 0x30800);
}
-MACHINE_START( n64 )
+void n64_state::machine_start()
{
- n64_state *state = machine.driver_data<n64_state>();
- rdram = reinterpret_cast<UINT32 *>(state->memshare("rdram")->ptr());
- n64_sram = reinterpret_cast<UINT32 *>(state->memshare("sram")->ptr());
- rsp_imem = reinterpret_cast<UINT32 *>(state->memshare("rsp_imem")->ptr());
- rsp_dmem = reinterpret_cast<UINT32 *>(state->memshare("rsp_dmem")->ptr());
+ rdram = reinterpret_cast<UINT32 *>(memshare("rdram")->ptr());
+ n64_sram = reinterpret_cast<UINT32 *>(memshare("sram")->ptr());
+ rsp_imem = reinterpret_cast<UINT32 *>(memshare("rsp_imem")->ptr());
+ rsp_dmem = reinterpret_cast<UINT32 *>(memshare("rsp_dmem")->ptr());
- mips3drc_set_options(machine.device("maincpu"), MIPS3DRC_COMPATIBLE_OPTIONS);
+ mips3drc_set_options(machine().device("maincpu"), MIPS3DRC_COMPATIBLE_OPTIONS);
/* configure fast RAM regions for DRC */
- mips3drc_add_fastram(machine.device("maincpu"), 0x00000000, 0x007fffff, FALSE, rdram);
+ mips3drc_add_fastram(machine().device("maincpu"), 0x00000000, 0x007fffff, FALSE, rdram);
- rspdrc_set_options(machine.device("rsp"), RSPDRC_STRICT_VERIFY);
- rspdrc_flush_drc_cache(machine.device("rsp"));
- rspdrc_add_dmem(machine.device("rsp"), rsp_dmem);
- rspdrc_add_imem(machine.device("rsp"), rsp_imem);
+ rspdrc_set_options(machine().device("rsp"), RSPDRC_STRICT_VERIFY);
+ rspdrc_flush_drc_cache(machine().device("rsp"));
+ rspdrc_add_dmem(machine().device("rsp"), rsp_dmem);
+ rspdrc_add_imem(machine().device("rsp"), rsp_imem);
/* add a hook for battery save */
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(n64_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(n64_machine_stop),&machine()));
}
-MACHINE_RESET( n64 )
+void n64_state::machine_reset()
{
- machine.device("rsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("rsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
diff --git a/src/mame/machine/namcond1.c b/src/mame/machine/namcond1.c
index 37a24744b70..529f55b9e9d 100644
--- a/src/mame/machine/namcond1.c
+++ b/src/mame/machine/namcond1.c
@@ -17,17 +17,15 @@
/* Perform basic machine initialisation */
-MACHINE_START( namcond1 )
+void namcond1_state::machine_start()
{
- namcond1_state *state = machine.driver_data<namcond1_state>();
- state_save_register_global(machine, state->m_h8_irq5_enabled);
+ state_save_register_global(machine(), m_h8_irq5_enabled);
}
-MACHINE_RESET( namcond1 )
+void namcond1_state::machine_reset()
{
- namcond1_state *state = machine.driver_data<namcond1_state>();
#ifdef MAME_DEBUG
- /*UINT8 *ROM = state->memregion(REGION_CPU1)->base();*/
+ /*UINT8 *ROM = memregion(REGION_CPU1)->base();*/
/*UINT32 debug_trigger_addr;*/
/*int i;*/
@@ -45,10 +43,10 @@ MACHINE_RESET( namcond1 )
#endif
// initialise MCU states
- state->m_h8_irq5_enabled = 0;
+ m_h8_irq5_enabled = 0;
// halt the MCU
- machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("mcu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
// instance of the shared ram pointer
diff --git a/src/mame/machine/namcos1.c b/src/mame/machine/namcos1.c
index 9ff70a0f699..1bfc4836e3a 100644
--- a/src/mame/machine/namcos1.c
+++ b/src/mame/machine/namcos1.c
@@ -843,47 +843,46 @@ static void namcos1_build_banks(running_machine &machine,read8_space_func key_r,
}
}
-MACHINE_RESET( namcos1 )
+void namcos1_state::machine_reset()
{
- namcos1_state *state = machine.driver_data<namcos1_state>();
static const bankhandler unknown_handler = { unknown_r, unknown_w, 0, NULL };
int bank;
/* Point all of our bankhandlers to the error handlers */
for (bank = 0; bank < 2*8 ; bank++)
- set_bank(machine, bank, &unknown_handler);
+ set_bank(machine(), bank, &unknown_handler);
- memset(state->m_chip, 0, sizeof(state->m_chip));
+ memset(m_chip, 0, sizeof(m_chip));
/* Default MMU setup for Cpu 0 */
- namcos1_bankswitch(machine, 0, 0x0000, 0x01 ); /* bank0 = 0x180(RAM) - evidence: wldcourt */
- namcos1_bankswitch(machine, 0, 0x0001, 0x80 );
- namcos1_bankswitch(machine, 0, 0x0200, 0x01 ); /* bank1 = 0x180(RAM) - evidence: berabohm */
- namcos1_bankswitch(machine, 0, 0x0201, 0x80 );
+ namcos1_bankswitch(machine(), 0, 0x0000, 0x01 ); /* bank0 = 0x180(RAM) - evidence: wldcourt */
+ namcos1_bankswitch(machine(), 0, 0x0001, 0x80 );
+ namcos1_bankswitch(machine(), 0, 0x0200, 0x01 ); /* bank1 = 0x180(RAM) - evidence: berabohm */
+ namcos1_bankswitch(machine(), 0, 0x0201, 0x80 );
- namcos1_bankswitch(machine, 0, 0x0e00, 0x03 ); /* bank7 = 0x3ff(PRG7) */
- namcos1_bankswitch(machine, 0, 0x0e01, 0xff );
+ namcos1_bankswitch(machine(), 0, 0x0e00, 0x03 ); /* bank7 = 0x3ff(PRG7) */
+ namcos1_bankswitch(machine(), 0, 0x0e01, 0xff );
/* Default MMU setup for Cpu 1 */
- namcos1_bankswitch(machine, 1, 0x0000, 0x01 ); /* bank0 = 0x180(RAM) - evidence: wldcourt */
- namcos1_bankswitch(machine, 1, 0x0001, 0x80 );
+ namcos1_bankswitch(machine(), 1, 0x0000, 0x01 ); /* bank0 = 0x180(RAM) - evidence: wldcourt */
+ namcos1_bankswitch(machine(), 1, 0x0001, 0x80 );
- namcos1_bankswitch(machine, 1, 0x0e00, 0x03); /* bank7 = 0x3ff(PRG7) */
- namcos1_bankswitch(machine, 1, 0x0e01, 0xff);
+ namcos1_bankswitch(machine(), 1, 0x0e00, 0x03); /* bank7 = 0x3ff(PRG7) */
+ namcos1_bankswitch(machine(), 1, 0x0e01, 0xff);
/* reset Cpu 0 and stop all other CPUs */
- machine.device("maincpu")->reset();
- machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("maincpu")->reset();
+ machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("mcu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
/* mcu patch data clear */
- state->m_mcu_patch_data = 0;
- state->m_reset = 0;
+ m_mcu_patch_data = 0;
+ m_reset = 0;
- namcos1_init_DACs(machine);
- memset(state->m_key, 0, sizeof(state->m_key));
- state->m_wdog = 0;
+ namcos1_init_DACs(machine());
+ memset(m_key, 0, sizeof(m_key));
+ m_wdog = 0;
}
diff --git a/src/mame/machine/namcos2.c b/src/mame/machine/namcos2.c
index 8c269ded968..eae15deb97b 100644
--- a/src/mame/machine/namcos2.c
+++ b/src/mame/machine/namcos2.c
@@ -103,17 +103,17 @@ ResetAllSubCPUs( running_machine &machine, int state )
}
}
-MACHINE_START( namcos2 )
+MACHINE_START_MEMBER(namcos2_shared_state,namcos2)
{
namcos2_kickstart = NULL;
- namcos2_eeprom = auto_alloc_array(machine, UINT8, namcos2_eeprom_size);
- machine.device<nvram_device>("nvram")->set_base(namcos2_eeprom, namcos2_eeprom_size);
- namcos2_posirq_timer = machine.scheduler().timer_alloc(FUNC(namcos2_posirq_tick));
+ namcos2_eeprom = auto_alloc_array(machine(), UINT8, namcos2_eeprom_size);
+ machine().device<nvram_device>("nvram")->set_base(namcos2_eeprom, namcos2_eeprom_size);
+ namcos2_posirq_timer = machine().scheduler().timer_alloc(FUNC(namcos2_posirq_tick));
}
-MACHINE_RESET( namcos2 )
+MACHINE_RESET_MEMBER(namcos2_shared_state,namcos2)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
mFinalLapProtCount = 0;
namcos2_mcu_analog_ctrl = 0;
namcos2_mcu_analog_data = 0xaa;
@@ -123,10 +123,10 @@ MACHINE_RESET( namcos2 )
/* Initialise the bank select in the sound CPU */
namcos2_sound_bankselect_w(space, 0, 0); /* Page in bank 0 */
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE );
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE );
/* Place CPU2 & CPU3 into the reset condition */
- ResetAllSubCPUs( machine, ASSERT_LINE );
+ ResetAllSubCPUs( machine(), ASSERT_LINE );
/* Initialise interrupt handlers */
InitC148();
diff --git a/src/mame/machine/nitedrvr.c b/src/mame/machine/nitedrvr.c
index 655e600e32a..a8a3311688e 100644
--- a/src/mame/machine/nitedrvr.c
+++ b/src/mame/machine/nitedrvr.c
@@ -274,35 +274,33 @@ TIMER_DEVICE_CALLBACK( nitedrvr_crash_toggle_callback )
}
}
-MACHINE_START( nitedrvr )
+void nitedrvr_state::machine_start()
{
- nitedrvr_state *state = machine.driver_data<nitedrvr_state>();
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_discrete = machine.device("discrete");
-
- state->save_item(NAME(state->m_gear));
- state->save_item(NAME(state->m_track));
- state->save_item(NAME(state->m_steering_buf));
- state->save_item(NAME(state->m_steering_val));
- state->save_item(NAME(state->m_crash_en));
- state->save_item(NAME(state->m_crash_data));
- state->save_item(NAME(state->m_crash_data_en));
- state->save_item(NAME(state->m_ac_line));
- state->save_item(NAME(state->m_last_steering_val));
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_discrete = machine().device("discrete");
+
+ save_item(NAME(m_gear));
+ save_item(NAME(m_track));
+ save_item(NAME(m_steering_buf));
+ save_item(NAME(m_steering_val));
+ save_item(NAME(m_crash_en));
+ save_item(NAME(m_crash_data));
+ save_item(NAME(m_crash_data_en));
+ save_item(NAME(m_ac_line));
+ save_item(NAME(m_last_steering_val));
}
-MACHINE_RESET( nitedrvr )
+void nitedrvr_state::machine_reset()
{
- nitedrvr_state *state = machine.driver_data<nitedrvr_state>();
- state->m_gear = 1;
- state->m_track = 0;
- state->m_steering_buf = 0;
- state->m_steering_val = 0;
- state->m_crash_en = 0;
- state->m_crash_data = 0x0f;
- state->m_crash_data_en = 0;
- state->m_ac_line = 0;
- state->m_last_steering_val = 0;
+ m_gear = 1;
+ m_track = 0;
+ m_steering_buf = 0;
+ m_steering_val = 0;
+ m_crash_en = 0;
+ m_crash_data = 0x0f;
+ m_crash_data_en = 0;
+ m_ac_line = 0;
+ m_last_steering_val = 0;
}
diff --git a/src/mame/machine/pgmprot1.c b/src/mame/machine/pgmprot1.c
index 40ae54f8989..b9ffbc4c2b2 100644
--- a/src/mame/machine/pgmprot1.c
+++ b/src/mame/machine/pgmprot1.c
@@ -205,21 +205,20 @@ static ADDRESS_MAP_START( cavepgm_mem, AS_PROGRAM, 16, pgm_arm_type1_state )
ADDRESS_MAP_END
-static MACHINE_START( pgm_arm_type1 )
+MACHINE_START_MEMBER(pgm_arm_type1_state,pgm_arm_type1)
{
- MACHINE_START_CALL(pgm);
+ MACHINE_START_CALL_MEMBER(pgm);
- pgm_arm_type1_state *state = machine.driver_data<pgm_arm_type1_state>();
- state->m_prot = machine.device<cpu_device>("prot");
+ m_prot = machine().device<cpu_device>("prot");
- state->save_item(NAME(state->m_value0));
- state->save_item(NAME(state->m_value1));
- state->save_item(NAME(state->m_valuekey));
- state->save_item(NAME(state->m_valueresponse));
- state->save_item(NAME(state->m_curslots));
- state->save_item(NAME(state->m_slots));
+ save_item(NAME(m_value0));
+ save_item(NAME(m_value1));
+ save_item(NAME(m_valuekey));
+ save_item(NAME(m_valueresponse));
+ save_item(NAME(m_curslots));
+ save_item(NAME(m_slots));
}
MACHINE_CONFIG_START( pgm_arm_type1_cave, pgm_arm_type1_state )
@@ -228,7 +227,7 @@ MACHINE_CONFIG_START( pgm_arm_type1_cave, pgm_arm_type1_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(cavepgm_mem)
- MCFG_MACHINE_START( pgm_arm_type1 )
+ MCFG_MACHINE_START_OVERRIDE(pgm_arm_type1_state, pgm_arm_type1 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(59.17) // verified on pcb
diff --git a/src/mame/machine/pgmprot2.c b/src/mame/machine/pgmprot2.c
index 1d1b66e66a7..dfd61cc466f 100644
--- a/src/mame/machine/pgmprot2.c
+++ b/src/mame/machine/pgmprot2.c
@@ -133,12 +133,11 @@ static ADDRESS_MAP_START( 55857F_arm7_map, AS_PROGRAM, 32, pgm_arm_type2_state )
AM_RANGE(0x50000000, 0x500003ff) AM_RAM
ADDRESS_MAP_END
-MACHINE_START( pgm_arm_type2 )
+MACHINE_START_MEMBER(pgm_arm_type2_state,pgm_arm_type2)
{
- MACHINE_START_CALL(pgm);
- pgm_arm_type2_state *state = machine.driver_data<pgm_arm_type2_state>();
+ MACHINE_START_CALL_MEMBER(pgm);
- state->m_prot = machine.device<cpu_device>("prot");
+ m_prot = machine().device<cpu_device>("prot");
/* register type specific Save State stuff here */
@@ -149,7 +148,7 @@ MACHINE_START( pgm_arm_type2 )
MACHINE_CONFIG_START( pgm_arm_type2, pgm_arm_type2_state )
MCFG_FRAGMENT_ADD(pgmbase)
- MCFG_MACHINE_START( pgm_arm_type2 )
+ MCFG_MACHINE_START_OVERRIDE(pgm_arm_type2_state, pgm_arm_type2 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(kov2_mem)
diff --git a/src/mame/machine/pgmprot3.c b/src/mame/machine/pgmprot3.c
index a7b422636f6..1d141ab048e 100644
--- a/src/mame/machine/pgmprot3.c
+++ b/src/mame/machine/pgmprot3.c
@@ -154,12 +154,11 @@ static ADDRESS_MAP_START( 55857G_arm7_map, AS_PROGRAM, 32, pgm_arm_type3_state )
ADDRESS_MAP_END
-MACHINE_START( pgm_arm_type3 )
+MACHINE_START_MEMBER(pgm_arm_type3_state,pgm_arm_type3)
{
- MACHINE_START_CALL(pgm);
- pgm_arm_type3_state *state = machine.driver_data<pgm_arm_type3_state>();
+ MACHINE_START_CALL_MEMBER(pgm);
- state->m_prot = machine.device<cpu_device>("prot");
+ m_prot = machine().device<cpu_device>("prot");
/* register type specific Save State stuff here */
}
@@ -170,7 +169,7 @@ MACHINE_START( pgm_arm_type3 )
MACHINE_CONFIG_START( pgm_arm_type3, pgm_arm_type3_state )
MCFG_FRAGMENT_ADD(pgmbase)
- MCFG_MACHINE_START( pgm_arm_type3 )
+ MCFG_MACHINE_START_OVERRIDE(pgm_arm_type3_state, pgm_arm_type3 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(svg_68k_mem)
diff --git a/src/mame/machine/pgmprot4.c b/src/mame/machine/pgmprot4.c
index c0bb9edc343..52ab9d1a673 100644
--- a/src/mame/machine/pgmprot4.c
+++ b/src/mame/machine/pgmprot4.c
@@ -349,20 +349,19 @@ static READ16_HANDLER( killbld_igs025_prot_r )
-static MACHINE_RESET( killbld )
+MACHINE_RESET_MEMBER(pgm_022_025_state,killbld)
{
- pgm_022_025_state *state = machine.driver_data<pgm_022_025_state>();
- MACHINE_RESET_CALL(pgm);
+ MACHINE_RESET_CALL_MEMBER(pgm);
/* fill the protection ram with a5 + auto dma */
- IGS022_reset(machine);
+ IGS022_reset(machine());
// Reset IGS025 stuff
- state->m_kb_cmd = 0;
- state->m_kb_reg = 0;
- state->m_kb_ptr = 0;
- state->m_kb_region_sequence_position = 0;
- memset(state->m_kb_regs, 0, 0x10 * sizeof(UINT32));
+ m_kb_cmd = 0;
+ m_kb_reg = 0;
+ m_kb_ptr = 0;
+ m_kb_region_sequence_position = 0;
+ memset(m_kb_regs, 0, 0x10 * sizeof(UINT32));
}
@@ -389,58 +388,57 @@ DRIVER_INIT_MEMBER(pgm_022_025_state,killbld)
save_item(NAME(m_kb_regs));
}
-static MACHINE_RESET( dw3 )
+MACHINE_RESET_MEMBER(pgm_022_025_state,dw3)
{
- pgm_022_025_state *state = machine.driver_data<pgm_022_025_state>();
- MACHINE_RESET_CALL(pgm);
+ MACHINE_RESET_CALL_MEMBER(pgm);
/* fill the protection ram with a5 + auto dma */
- IGS022_reset(machine);
+ IGS022_reset(machine());
/* game won't boot unless various values are in protection RAM
- these should almost certainly end up there as the result of executing the protection
commands are startup, but which, and how? */
-// state->m_sharedprotram[0x200/2] = 0x006d;
- state->m_sharedprotram[0x202/2] = 0x007c; // it cares about this, operation status flag?
+// m_sharedprotram[0x200/2] = 0x006d;
+ m_sharedprotram[0x202/2] = 0x007c; // it cares about this, operation status flag?
-// state->m_sharedprotram[0x20c/2] = 0x0000;
-// state->m_sharedprotram[0x20e/2] = 0x0007;
-// state->m_sharedprotram[0x210/2] = 0x0000;
-// state->m_sharedprotram[0x212/2] = 0x0004;
-// state->m_sharedprotram[0x214/2] = 0x0000;
-// state->m_sharedprotram[0x216/2] = 0x0007;
-// state->m_sharedprotram[0x218/2] = 0x0000;
-// state->m_sharedprotram[0x21a/2] = 0x0004;
+// m_sharedprotram[0x20c/2] = 0x0000;
+// m_sharedprotram[0x20e/2] = 0x0007;
+// m_sharedprotram[0x210/2] = 0x0000;
+// m_sharedprotram[0x212/2] = 0x0004;
+// m_sharedprotram[0x214/2] = 0x0000;
+// m_sharedprotram[0x216/2] = 0x0007;
+// m_sharedprotram[0x218/2] = 0x0000;
+// m_sharedprotram[0x21a/2] = 0x0004;
-// state->m_sharedprotram[0x288/2] = 0x0000;
-// state->m_sharedprotram[0x28a/2] = 0x00c2;
-// state->m_sharedprotram[0x28c/2] = 0x0000;
-// state->m_sharedprotram[0x28e/2] = 0x00c2;
-// state->m_sharedprotram[0x290/2] = 0x0500;
-// state->m_sharedprotram[0x292/2] = 0x1000;
-// state->m_sharedprotram[0x294/2] = 0x00c3;
-// state->m_sharedprotram[0x296/2] = 0x7104;
-// state->m_sharedprotram[0x298/2] = 0x0000;
-// state->m_sharedprotram[0x29a/2] = 0x0003;
-// state->m_sharedprotram[0x29c/2] = 0x0108;
-// state->m_sharedprotram[0x29e/2] = 0x0009;
+// m_sharedprotram[0x288/2] = 0x0000;
+// m_sharedprotram[0x28a/2] = 0x00c2;
+// m_sharedprotram[0x28c/2] = 0x0000;
+// m_sharedprotram[0x28e/2] = 0x00c2;
+// m_sharedprotram[0x290/2] = 0x0500;
+// m_sharedprotram[0x292/2] = 0x1000;
+// m_sharedprotram[0x294/2] = 0x00c3;
+// m_sharedprotram[0x296/2] = 0x7104;
+// m_sharedprotram[0x298/2] = 0x0000;
+// m_sharedprotram[0x29a/2] = 0x0003;
+// m_sharedprotram[0x29c/2] = 0x0108;
+// m_sharedprotram[0x29e/2] = 0x0009;
-// state->m_sharedprotram[0x2a2/2] = 0x84f6; // it cares about this, it's the version number of the data rom, copied automatically!
+// m_sharedprotram[0x2a2/2] = 0x84f6; // it cares about this, it's the version number of the data rom, copied automatically!
-// state->m_sharedprotram[0x2ac/2] = 0x006d;
-// state->m_sharedprotram[0x2ae/2] = 0x0000;
+// m_sharedprotram[0x2ac/2] = 0x006d;
+// m_sharedprotram[0x2ae/2] = 0x0000;
-// state->m_sharedprotram[0x2b0/2] = 0xaf56;
+// m_sharedprotram[0x2b0/2] = 0xaf56;
// Reset IGS025 stuff
- state->m_kb_cmd = 0;
- state->m_kb_reg = 0;
- state->m_kb_ptr = 0;
- state->m_kb_region_sequence_position = 0;
- memset(state->m_kb_regs, 0, 0x10 * sizeof(UINT32));
+ m_kb_cmd = 0;
+ m_kb_reg = 0;
+ m_kb_ptr = 0;
+ m_kb_region_sequence_position = 0;
+ memset(m_kb_regs, 0, 0x10 * sizeof(UINT32));
}
@@ -558,7 +556,7 @@ MACHINE_CONFIG_START( pgm_022_025_kb, pgm_022_025_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(killbld_mem)
- MCFG_MACHINE_RESET(killbld)
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_022_025_state,killbld)
MACHINE_CONFIG_END
@@ -568,7 +566,7 @@ MACHINE_CONFIG_START( pgm_022_025_dw, pgm_022_025_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(killbld_mem)
- MCFG_MACHINE_RESET(dw3)
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_022_025_state,dw3)
MACHINE_CONFIG_END
diff --git a/src/mame/machine/pgmprot6.c b/src/mame/machine/pgmprot6.c
index 29e975b7957..834104f0147 100644
--- a/src/mame/machine/pgmprot6.c
+++ b/src/mame/machine/pgmprot6.c
@@ -83,25 +83,24 @@ static void olds_write_reg( running_machine &machine, UINT16 addr, UINT32 val )
state->m_sharedprotram[(olds_prot_addr(addr) - 0x400000) / 2 + 1] = val & 0xffff;
}
-static MACHINE_RESET( olds )
+MACHINE_RESET_MEMBER(pgm_028_025_state,olds)
{
- pgm_028_025_state *state = machine.driver_data<pgm_028_025_state>();
- UINT16 *mem16 = (UINT16 *)state->memregion("user2")->base();
+ UINT16 *mem16 = (UINT16 *)memregion("user2")->base();
int i;
- MACHINE_RESET_CALL(pgm);
+ MACHINE_RESET_CALL_MEMBER(pgm);
/* populate shared protection ram with data read from pcb .. */
for (i = 0; i < 0x4000 / 2; i++)
{
- state->m_sharedprotram[i] = mem16[i];
+ m_sharedprotram[i] = mem16[i];
}
//ROM:004008B4 .word 0xFBA5
for(i = 0; i < 0x4000 / 2; i++)
{
- if (state->m_sharedprotram[i] == (0xffff - i))
- state->m_sharedprotram[i] = 0x4e75;
+ if (m_sharedprotram[i] == (0xffff - i))
+ m_sharedprotram[i] = 0x4e75;
}
}
@@ -226,7 +225,7 @@ MACHINE_CONFIG_START( pgm_028_025_ol, pgm_028_025_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(olds_mem)
- MCFG_MACHINE_RESET(olds)
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_028_025_state,olds)
MACHINE_CONFIG_END
diff --git a/src/mame/machine/pitnrun.c b/src/mame/machine/pitnrun.c
index 0389d244ee4..7eb45189ba7 100644
--- a/src/mame/machine/pitnrun.c
+++ b/src/mame/machine/pitnrun.c
@@ -12,12 +12,11 @@
#include "includes/pitnrun.h"
-MACHINE_RESET( pitnrun )
+void pitnrun_state::machine_reset()
{
- pitnrun_state *state = machine.driver_data<pitnrun_state>();
- state->m_zaccept = 1;
- state->m_zready = 0;
- machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
+ m_zaccept = 1;
+ m_zready = 0;
+ machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
}
static TIMER_CALLBACK( pitnrun_mcu_real_data_r )
diff --git a/src/mame/machine/playch10.c b/src/mame/machine/playch10.c
index cdbfa5cdc50..0726788d863 100644
--- a/src/mame/machine/playch10.c
+++ b/src/mame/machine/playch10.c
@@ -15,24 +15,23 @@ static void set_videoram_bank( running_machine &machine, int first, int count, i
*
*************************************/
-MACHINE_RESET( pc10 )
+void playch10_state::machine_reset()
{
- playch10_state *state = machine.driver_data<playch10_state>();
- device_t *rp5h01 = machine.device("rp5h01");
+ device_t *rp5h01 = machine().device("rp5h01");
/* initialize latches and flip-flops */
- state->m_pc10_nmi_enable = state->m_pc10_dog_di = state->m_pc10_dispmask = state->m_pc10_sdcs = state->m_pc10_int_detect = 0;
+ m_pc10_nmi_enable = m_pc10_dog_di = m_pc10_dispmask = m_pc10_sdcs = m_pc10_int_detect = 0;
- state->m_pc10_game_mode = state->m_pc10_dispmask_old = 0;
+ m_pc10_game_mode = m_pc10_dispmask_old = 0;
- state->m_cart_sel = 0;
- state->m_cntrl_mask = 1;
+ m_cart_sel = 0;
+ m_cntrl_mask = 1;
- state->m_input_latch[0] = state->m_input_latch[1] = 0;
+ m_input_latch[0] = m_input_latch[1] = 0;
/* variables used only in MMC2 game (mapper 9) */
- state->m_MMC2_bank[0] = state->m_MMC2_bank[1] = state->m_MMC2_bank[2] = state->m_MMC2_bank[3] = 0;
- state->m_MMC2_bank_latch[0] = state->m_MMC2_bank_latch[1] = 0xfe;
+ m_MMC2_bank[0] = m_MMC2_bank[1] = m_MMC2_bank[2] = m_MMC2_bank[3] = 0;
+ m_MMC2_bank_latch[0] = m_MMC2_bank_latch[1] = 0xfe;
/* reset the security chip */
rp5h01_enable_w(rp5h01, 0, 0);
@@ -40,44 +39,42 @@ MACHINE_RESET( pc10 )
rp5h01_reset_w(rp5h01, 0, 1);
rp5h01_enable_w(rp5h01, 0, 1);
- state->pc10_set_mirroring(state->m_mirroring);
+ pc10_set_mirroring(m_mirroring);
}
-MACHINE_START( pc10 )
+void playch10_state::machine_start()
{
- playch10_state *state = machine.driver_data<playch10_state>();
- state->m_vrom = state->memregion("gfx2")->base();
+ m_vrom = memregion("gfx2")->base();
/* allocate 4K of nametable ram here */
/* move to individual boards as documentation of actual boards allows */
- state->m_nt_ram = auto_alloc_array(machine, UINT8, 0x1000);
+ m_nt_ram = auto_alloc_array(machine(), UINT8, 0x1000);
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0, 0x1fff, read8_delegate(FUNC(playch10_state::pc10_chr_r),state), write8_delegate(FUNC(playch10_state::pc10_chr_w),state));
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(playch10_state::pc10_nt_r),state),write8_delegate(FUNC(playch10_state::pc10_nt_w),state));
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0, 0x1fff, read8_delegate(FUNC(playch10_state::pc10_chr_r),this), write8_delegate(FUNC(playch10_state::pc10_chr_w),this));
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(playch10_state::pc10_nt_r),this),write8_delegate(FUNC(playch10_state::pc10_nt_w),this));
- if (NULL != state->m_vram)
- set_videoram_bank(machine, 0, 8, 0, 8);
- else pc10_set_videorom_bank(machine, 0, 8, 0, 8);
+ if (NULL != m_vram)
+ set_videoram_bank(machine(), 0, 8, 0, 8);
+ else pc10_set_videorom_bank(machine(), 0, 8, 0, 8);
- nvram_device *nvram = machine.device<nvram_device>("nvram");
+ nvram_device *nvram = machine().device<nvram_device>("nvram");
if (nvram != NULL)
- nvram->set_base(state->memregion("cart" )->base() + 0x6000, 0x1000);
+ nvram->set_base(memregion("cart" )->base() + 0x6000, 0x1000);
}
-MACHINE_START( playch10_hboard )
+MACHINE_START_MEMBER(playch10_state,playch10_hboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- state->m_vrom = state->memregion("gfx2")->base();
+ m_vrom = memregion("gfx2")->base();
/* allocate 4K of nametable ram here */
/* move to individual boards as documentation of actual boards allows */
- state->m_nt_ram = auto_alloc_array(machine, UINT8, 0x1000);
+ m_nt_ram = auto_alloc_array(machine(), UINT8, 0x1000);
/* allocate vram */
- state->m_vram = auto_alloc_array(machine, UINT8, 0x2000);
+ m_vram = auto_alloc_array(machine(), UINT8, 0x2000);
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0, 0x1fff, read8_delegate(FUNC(playch10_state::pc10_chr_r),state), write8_delegate(FUNC(playch10_state::pc10_chr_w),state));
- machine.device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(playch10_state::pc10_nt_r),state), write8_delegate(FUNC(playch10_state::pc10_nt_w),state));
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0, 0x1fff, read8_delegate(FUNC(playch10_state::pc10_chr_r),this), write8_delegate(FUNC(playch10_state::pc10_chr_w),this));
+ machine().device("ppu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(playch10_state::pc10_nt_r),this), write8_delegate(FUNC(playch10_state::pc10_nt_w),this));
}
/*************************************
diff --git a/src/mame/machine/qix.c b/src/mame/machine/qix.c
index 9b4b13e7458..f7ad3d695ac 100644
--- a/src/mame/machine/qix.c
+++ b/src/mame/machine/qix.c
@@ -225,22 +225,20 @@ const pia6821_interface slither_pia_2_intf =
*
*************************************/
-MACHINE_RESET( qix )
+void qix_state::machine_reset()
{
- qix_state *state = machine.driver_data<qix_state>();
/* reset the coin counter register */
- state->m_coinctrl = 0x00;
+ m_coinctrl = 0x00;
}
-MACHINE_START( qixmcu )
+MACHINE_START_MEMBER(qix_state,qixmcu)
{
- qix_state *state = machine.driver_data<qix_state>();
/* set up save states */
- state->save_item(NAME(state->m_68705_port_in));
- state->save_item(NAME(state->m_coinctrl));
+ save_item(NAME(m_68705_port_in));
+ save_item(NAME(m_coinctrl));
}
diff --git a/src/mame/machine/scramble.c b/src/mame/machine/scramble.c
index b30c20d19f2..06c454ee4b9 100644
--- a/src/mame/machine/scramble.c
+++ b/src/mame/machine/scramble.c
@@ -13,23 +13,22 @@
#include "includes/scramble.h"
-MACHINE_RESET( scramble )
+MACHINE_RESET_MEMBER(scramble_state,scramble)
{
- scramble_state *state = machine.driver_data<scramble_state>();
- MACHINE_RESET_CALL(galaxold);
+ MACHINE_RESET_CALL_MEMBER(galaxold);
- if (machine.device("audiocpu") != NULL)
- scramble_sh_init(machine);
+ if (machine().device("audiocpu") != NULL)
+ scramble_sh_init(machine());
- state->m_security_2B_counter = 0;
+ m_security_2B_counter = 0;
}
-MACHINE_RESET( explorer )
+MACHINE_RESET_MEMBER(scramble_state,explorer)
{
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
RAM[0x47ff] = 0; /* If not set, it doesn't reset after the 1st time */
- MACHINE_RESET_CALL(galaxold);
+ MACHINE_RESET_CALL_MEMBER(galaxold);
}
diff --git a/src/mame/machine/simpsons.c b/src/mame/machine/simpsons.c
index f530c16e74a..33c750d52e2 100644
--- a/src/mame/machine/simpsons.c
+++ b/src/mame/machine/simpsons.c
@@ -75,55 +75,53 @@ static void simpsons_postload(running_machine &machine)
simpsons_video_banking(machine, state->m_video_bank);
}
-MACHINE_START( simpsons )
+void simpsons_state::machine_start()
{
- simpsons_state *state = machine.driver_data<simpsons_state>();
- state->m_generic_paletteram_8.allocate(0x1000);
- state->m_xtraram = auto_alloc_array_clear(machine, UINT8, 0x1000);
- state->m_spriteram = auto_alloc_array_clear(machine, UINT16, 0x1000 / 2);
-
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_k053260 = machine.device("k053260");
- state->m_k052109 = machine.device("k052109");
- state->m_k053246 = machine.device("k053246");
- state->m_k053251 = machine.device("k053251");
-
- state->save_item(NAME(state->m_firq_enabled));
- state->save_item(NAME(state->m_video_bank));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_layerpri));
- state->save_pointer(NAME(state->m_xtraram), 0x1000);
- state->save_pointer(NAME(state->m_spriteram), 0x1000 / 2);
- machine.save().register_postload(save_prepost_delegate(FUNC(simpsons_postload), &machine));
+ m_generic_paletteram_8.allocate(0x1000);
+ m_xtraram = auto_alloc_array_clear(machine(), UINT8, 0x1000);
+ m_spriteram = auto_alloc_array_clear(machine(), UINT16, 0x1000 / 2);
+
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_k053260 = machine().device("k053260");
+ m_k052109 = machine().device("k052109");
+ m_k053246 = machine().device("k053246");
+ m_k053251 = machine().device("k053251");
+
+ save_item(NAME(m_firq_enabled));
+ save_item(NAME(m_video_bank));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_layerpri));
+ save_pointer(NAME(m_xtraram), 0x1000);
+ save_pointer(NAME(m_spriteram), 0x1000 / 2);
+ machine().save().register_postload(save_prepost_delegate(FUNC(simpsons_postload), &machine()));
}
-MACHINE_RESET( simpsons )
+void simpsons_state::machine_reset()
{
- simpsons_state *state = machine.driver_data<simpsons_state>();
int i;
- konami_configure_set_lines(machine.device("maincpu"), simpsons_banking);
+ konami_configure_set_lines(machine().device("maincpu"), simpsons_banking);
for (i = 0; i < 3; i++)
{
- state->m_layerpri[i] = 0;
- state->m_layer_colorbase[i] = 0;
+ m_layerpri[i] = 0;
+ m_layer_colorbase[i] = 0;
}
- state->m_sprite_colorbase = 0;
- state->m_firq_enabled = 0;
- state->m_video_bank = 0;
+ m_sprite_colorbase = 0;
+ m_firq_enabled = 0;
+ m_video_bank = 0;
/* init the default banks */
- state->membank("bank1")->configure_entries(0, 64, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entries(0, 64, machine().root_device().memregion("maincpu")->base() + 0x10000, 0x2000);
+ membank("bank1")->set_entry(0);
- state->membank("bank2")->configure_entries(0, 2, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0);
- state->membank("bank2")->configure_entries(2, 6, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
- state->membank("bank2")->set_entry(0);
+ membank("bank2")->configure_entries(0, 2, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0);
+ membank("bank2")->configure_entries(2, 6, machine().root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
+ membank("bank2")->set_entry(0);
- simpsons_video_banking(machine, 0);
+ simpsons_video_banking(machine(), 0);
}
diff --git a/src/mame/machine/slapfght.c b/src/mame/machine/slapfght.c
index 6956d9f5a59..fe7aa796896 100644
--- a/src/mame/machine/slapfght.c
+++ b/src/mame/machine/slapfght.c
@@ -12,22 +12,21 @@
/* Perform basic machine initialisation */
-MACHINE_RESET( slapfight )
+MACHINE_RESET_MEMBER(slapfght_state,slapfight)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
/* MAIN CPU */
- state->m_slapfight_status_state=0;
- state->m_slapfight_status = 0xc7;
+ m_slapfight_status_state=0;
+ m_slapfight_status = 0xc7;
- state->m_getstar_sequence_index = 0;
- state->m_getstar_sh_intenabled = 0; /* disable sound cpu interrupts */
+ m_getstar_sequence_index = 0;
+ m_getstar_sh_intenabled = 0; /* disable sound cpu interrupts */
/* SOUND CPU */
- machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
/* MCU */
- state->m_mcu_val = 0;
+ m_mcu_val = 0;
}
/* Slapfight CPU input/output ports
diff --git a/src/mame/machine/slikshot.c b/src/mame/machine/slikshot.c
index dac0f6224b7..23edbc5a370 100644
--- a/src/mame/machine/slikshot.c
+++ b/src/mame/machine/slikshot.c
@@ -525,21 +525,20 @@ WRITE8_HANDLER( slikshot_z80_control_w )
*************************************/
-VIDEO_START( slikshot )
+VIDEO_START_MEMBER(itech8_state,slikshot)
{
- itech8_state *state = machine.driver_data<itech8_state>();
- VIDEO_START_CALL( itech8 );
-
- state->m_z80_ctrl = 0;
- state->m_z80_port_val = 0;
- state->m_z80_clear_to_send = 0;
-
- state->m_sensor0 = state->m_sensor1 = state->m_sensor2 = state->m_sensor3 = 0;
- state->m_curvx = 0, state->m_curvy = 1, state->m_curx = 0;
- state->m_ybuffer_next = 0;
- state->m_curxpos = 0;
- state->m_last_ytotal = 0;
- state->m_crosshair_vis = 0;
+ itech8_state::video_start();
+
+ m_z80_ctrl = 0;
+ m_z80_port_val = 0;
+ m_z80_clear_to_send = 0;
+
+ m_sensor0 = m_sensor1 = m_sensor2 = m_sensor3 = 0;
+ m_curvx = 0, m_curvy = 1, m_curx = 0;
+ m_ybuffer_next = 0;
+ m_curxpos = 0;
+ m_last_ytotal = 0;
+ m_crosshair_vis = 0;
}
diff --git a/src/mame/machine/stfight.c b/src/mame/machine/stfight.c
index e8a608de008..cc3107bee33 100644
--- a/src/mame/machine/stfight.c
+++ b/src/mame/machine/stfight.c
@@ -80,21 +80,20 @@ DRIVER_INIT_MEMBER(stfight_state,stfight)
m_decrypt[0xb5] = 0x00;
}
-MACHINE_RESET( stfight )
+void stfight_state::machine_reset()
{
- stfight_state *state = machine.driver_data<stfight_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- state->m_adpcm_data_offs = state->m_adpcm_data_end = 0;
- state->m_toggle = 0;
- state->m_fm_data = 0;
- state->m_coin_mech_latch[0] = 0x02;
- state->m_coin_mech_latch[1] = 0x01;
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ m_adpcm_data_offs = m_adpcm_data_end = 0;
+ m_toggle = 0;
+ m_fm_data = 0;
+ m_coin_mech_latch[0] = 0x02;
+ m_coin_mech_latch[1] = 0x01;
- state->m_coin_mech_query_active = 0;
- state->m_coin_mech_query = 0;
+ m_coin_mech_query_active = 0;
+ m_coin_mech_query = 0;
// initialise rom bank
- state->stfight_bank_w(*space, 0, 0 );
+ stfight_bank_w(*space, 0, 0 );
}
// It's entirely possible that this bank is never switched out
diff --git a/src/mame/machine/subs.c b/src/mame/machine/subs.c
index e64bc6df498..e8e3e145764 100644
--- a/src/mame/machine/subs.c
+++ b/src/mame/machine/subs.c
@@ -11,13 +11,12 @@
/***************************************************************************
subs_init_machine
***************************************************************************/
-MACHINE_RESET( subs )
+void subs_state::machine_reset()
{
- subs_state *state = machine.driver_data<subs_state>();
- state->m_steering_buf1 = 0;
- state->m_steering_buf2 = 0;
- state->m_steering_val1 = 0x00;
- state->m_steering_val2 = 0x00;
+ m_steering_buf1 = 0;
+ m_steering_buf2 = 0;
+ m_steering_val1 = 0x00;
+ m_steering_val2 = 0x00;
}
/***************************************************************************
diff --git a/src/mame/machine/taitosj.c b/src/mame/machine/taitosj.c
index a0c0935081f..88db39bb684 100644
--- a/src/mame/machine/taitosj.c
+++ b/src/mame/machine/taitosj.c
@@ -16,41 +16,39 @@
#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
-MACHINE_START( taitosj )
+void taitosj_state::machine_start()
{
- taitosj_state *state = machine.driver_data<taitosj_state>();
- state->membank("bank1")->configure_entry(0, state->memregion("maincpu")->base() + 0x6000);
- state->membank("bank1")->configure_entry(1, state->memregion("maincpu")->base() + 0x10000);
-
- state->save_item(NAME(state->m_fromz80));
- state->save_item(NAME(state->m_toz80));
- state->save_item(NAME(state->m_zaccept));
- state->save_item(NAME(state->m_zready));
- state->save_item(NAME(state->m_busreq));
-
- state->save_item(NAME(state->m_portA_in));
- state->save_item(NAME(state->m_portA_out));
- state->save_item(NAME(state->m_address));
- state->save_item(NAME(state->m_spacecr_prot_value));
- state->save_item(NAME(state->m_protection_value));
+ membank("bank1")->configure_entry(0, memregion("maincpu")->base() + 0x6000);
+ membank("bank1")->configure_entry(1, memregion("maincpu")->base() + 0x10000);
+
+ save_item(NAME(m_fromz80));
+ save_item(NAME(m_toz80));
+ save_item(NAME(m_zaccept));
+ save_item(NAME(m_zready));
+ save_item(NAME(m_busreq));
+
+ save_item(NAME(m_portA_in));
+ save_item(NAME(m_portA_out));
+ save_item(NAME(m_address));
+ save_item(NAME(m_spacecr_prot_value));
+ save_item(NAME(m_protection_value));
}
-MACHINE_RESET( taitosj )
+void taitosj_state::machine_reset()
{
- taitosj_state *state = machine.driver_data<taitosj_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* set the default ROM bank (many games only have one bank and */
/* never write to the bank selector register) */
- state->taitosj_bankswitch_w(*space, 0, 0);
+ taitosj_bankswitch_w(*space, 0, 0);
- state->m_zaccept = 1;
- state->m_zready = 0;
- state->m_busreq = 0;
- if (machine.device("mcu") != NULL)
- machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
+ m_zaccept = 1;
+ m_zready = 0;
+ m_busreq = 0;
+ if (machine().device("mcu") != NULL)
+ machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
- state->m_spacecr_prot_value = 0;
+ m_spacecr_prot_value = 0;
}
diff --git a/src/mame/machine/theglobp.c b/src/mame/machine/theglobp.c
index f9c32fc9958..0e308dabee3 100644
--- a/src/mame/machine/theglobp.c
+++ b/src/mame/machine/theglobp.c
@@ -231,29 +231,27 @@ READ8_HANDLER( theglobp_decrypt_rom )
}
-MACHINE_START( theglobp )
+MACHINE_START_MEMBER(pacman_state,theglobp)
{
- pacman_state *state = machine.driver_data<pacman_state>();
- UINT8 *RAM = state->memregion("maincpu")->base();
+ UINT8 *RAM = memregion("maincpu")->base();
/* While the PAL supports up to 16 decryption methods, only four
are actually used in the PAL. Therefore, we'll take a little
memory overhead and decrypt the ROMs using each method in advance. */
- theglobp_decrypt_rom_8(machine);
- theglobp_decrypt_rom_9(machine);
- theglobp_decrypt_rom_A(machine);
- theglobp_decrypt_rom_B(machine);
+ theglobp_decrypt_rom_8(machine());
+ theglobp_decrypt_rom_9(machine());
+ theglobp_decrypt_rom_A(machine());
+ theglobp_decrypt_rom_B(machine());
- state->membank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
+ membank("bank1")->configure_entries(0, 4, &RAM[0x10000], 0x4000);
- state_save_register_global(machine, state->m_counter);
+ state_save_register_global(machine(), m_counter);
}
-MACHINE_RESET( theglobp )
+MACHINE_RESET_MEMBER(pacman_state,theglobp)
{
- pacman_state *state = machine.driver_data<pacman_state>();
/* The initial state of the counter is 0x0A */
- state->m_counter = 0x0A;
- state->membank("bank1")->set_entry(2);
+ m_counter = 0x0A;
+ membank("bank1")->set_entry(2);
}
diff --git a/src/mame/machine/tnzs.c b/src/mame/machine/tnzs.c
index 9ee759afc46..12f00cba753 100644
--- a/src/mame/machine/tnzs.c
+++ b/src/mame/machine/tnzs.c
@@ -639,35 +639,33 @@ INTERRUPT_GEN( arknoid2_interrupt )
device->execute().set_input_line(0, HOLD_LINE);
}
-MACHINE_RESET( tnzs )
+MACHINE_RESET_MEMBER(tnzs_state,tnzs)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
/* initialize the mcu simulation */
- switch (state->m_mcu_type)
+ switch (m_mcu_type)
{
case MCU_ARKANOID:
case MCU_EXTRMATN:
case MCU_DRTOPPEL:
case MCU_PLUMPOP:
- mcu_reset(machine);
+ mcu_reset(machine());
break;
default:
break;
}
- state->m_screenflip = 0;
- state->m_kageki_csport_sel = 0;
- state->m_input_select = 0;
- state->m_mcu_readcredits = 0; // this might belong to mcu_reset
- state->m_insertcoin = 0; // this might belong to mcu_reset
+ m_screenflip = 0;
+ m_kageki_csport_sel = 0;
+ m_input_select = 0;
+ m_mcu_readcredits = 0; // this might belong to mcu_reset
+ m_insertcoin = 0; // this might belong to mcu_reset
}
-MACHINE_RESET( jpopnics )
+MACHINE_RESET_MEMBER(tnzs_state,jpopnics)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- state->m_screenflip = 0;
- state->m_mcu_type = -1;
+ m_screenflip = 0;
+ m_mcu_type = -1;
}
static void tnzs_postload(running_machine &machine)
@@ -677,51 +675,49 @@ static void tnzs_postload(running_machine &machine)
}
-MACHINE_START( jpopnics )
+MACHINE_START_MEMBER(tnzs_state,jpopnics)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- UINT8 *SUB = state->memregion("sub")->base();
- state->m_ROM = machine.root_device().memregion("maincpu")->base();
- state->m_bankedram = auto_alloc_array(machine, UINT8, 0x8000); // 2 banks of 0x4000
+ UINT8 *SUB = memregion("sub")->base();
+ m_ROM = machine().root_device().memregion("maincpu")->base();
+ m_bankedram = auto_alloc_array(machine(), UINT8, 0x8000); // 2 banks of 0x4000
- state->membank("subbank")->configure_entries(0, 4, &SUB[0x08000], 0x2000);
- state->membank("subbank")->set_entry(state->m_bank2);
+ membank("subbank")->configure_entries(0, 4, &SUB[0x08000], 0x2000);
+ membank("subbank")->set_entry(m_bank2);
- state->m_subcpu = machine.device<cpu_device>("sub");
- state->m_mcu = NULL;
+ m_subcpu = machine().device<cpu_device>("sub");
+ m_mcu = NULL;
- state->m_bank1 = 2;
- state->m_bank2 = 0;
+ m_bank1 = 2;
+ m_bank2 = 0;
- state->save_pointer(NAME(state->m_bankedram), 0x8000);
- state->save_item(NAME(state->m_screenflip));
- state->save_item(NAME(state->m_bank1));
- state->save_item(NAME(state->m_bank2));
+ save_pointer(NAME(m_bankedram), 0x8000);
+ save_item(NAME(m_screenflip));
+ save_item(NAME(m_bank1));
+ save_item(NAME(m_bank2));
- machine.save().register_postload(save_prepost_delegate(FUNC(tnzs_postload), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(tnzs_postload), &machine()));
}
-MACHINE_START( tnzs )
+MACHINE_START_MEMBER(tnzs_state,tnzs)
{
- tnzs_state *state = machine.driver_data<tnzs_state>();
- MACHINE_START_CALL( jpopnics );
-
- state->m_audiocpu = machine.device<cpu_device>("audiocpu");
- state->m_mcu = machine.device("mcu");
-
- state->save_item(NAME(state->m_kageki_csport_sel));
- state->save_item(NAME(state->m_input_select));
- state->save_item(NAME(state->m_mcu_readcredits));
- state->save_item(NAME(state->m_insertcoin));
- state->save_item(NAME(state->m_mcu_initializing));
- state->save_item(NAME(state->m_mcu_coinage_init));
- state->save_item(NAME(state->m_mcu_coinage));
- state->save_item(NAME(state->m_mcu_coins_a));
- state->save_item(NAME(state->m_mcu_coins_b));
- state->save_item(NAME(state->m_mcu_credits));
- state->save_item(NAME(state->m_mcu_reportcoin));
- state->save_item(NAME(state->m_mcu_command));
+ MACHINE_START_CALL_MEMBER( jpopnics );
+
+ m_audiocpu = machine().device<cpu_device>("audiocpu");
+ m_mcu = machine().device("mcu");
+
+ save_item(NAME(m_kageki_csport_sel));
+ save_item(NAME(m_input_select));
+ save_item(NAME(m_mcu_readcredits));
+ save_item(NAME(m_insertcoin));
+ save_item(NAME(m_mcu_initializing));
+ save_item(NAME(m_mcu_coinage_init));
+ save_item(NAME(m_mcu_coinage));
+ save_item(NAME(m_mcu_coins_a));
+ save_item(NAME(m_mcu_coins_b));
+ save_item(NAME(m_mcu_credits));
+ save_item(NAME(m_mcu_reportcoin));
+ save_item(NAME(m_mcu_command));
}
diff --git a/src/mame/machine/toaplan1.c b/src/mame/machine/toaplan1.c
index 14fc69f0bd1..1fb939f6e06 100644
--- a/src/mame/machine/toaplan1.c
+++ b/src/mame/machine/toaplan1.c
@@ -381,14 +381,13 @@ WRITE16_MEMBER(toaplan1_state::samesame_coin_w)
}
-MACHINE_RESET( toaplan1 )
+MACHINE_RESET_MEMBER(toaplan1_state,toaplan1)
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
- state->m_intenable = 0;
- state->m_coin_count = 0;
- state->m_unk_reset_port = 0;
- coin_lockout_global_w(machine, 0);
+ m_intenable = 0;
+ m_coin_count = 0;
+ m_unk_reset_port = 0;
+ coin_lockout_global_w(machine(), 0);
}
void toaplan1_driver_savestate(running_machine &machine)
@@ -400,22 +399,20 @@ void toaplan1_driver_savestate(running_machine &machine)
state->save_item(NAME(state->m_unk_reset_port));
}
-MACHINE_RESET( zerowing ) /* Hack for ZeroWing and OutZone. See the video driver */
+MACHINE_RESET_MEMBER(toaplan1_state,zerowing)/* Hack for ZeroWing and OutZone. See the video driver */
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
- MACHINE_RESET_CALL(toaplan1);
- state->m_unk_reset_port = 1;
+ MACHINE_RESET_CALL_MEMBER(toaplan1);
+ m_unk_reset_port = 1;
}
-MACHINE_RESET( demonwld )
+MACHINE_RESET_MEMBER(toaplan1_state,demonwld)
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
- MACHINE_RESET_CALL(toaplan1);
- state->m_dsp_addr_w = 0;
- state->m_main_ram_seg = 0;
- state->m_dsp_execute = 0;
+ MACHINE_RESET_CALL_MEMBER(toaplan1);
+ m_dsp_addr_w = 0;
+ m_main_ram_seg = 0;
+ m_dsp_execute = 0;
}
void demonwld_driver_savestate(running_machine &machine)
@@ -430,14 +427,13 @@ void demonwld_driver_savestate(running_machine &machine)
machine.save().register_postload(save_prepost_delegate(FUNC(demonwld_restore_dsp), &machine));
}
-MACHINE_RESET( vimana )
+MACHINE_RESET_MEMBER(toaplan1_state,vimana)
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
- MACHINE_RESET_CALL(toaplan1);
- state->m_vimana_coins[0] = state->m_vimana_coins[1] = 0;
- state->m_vimana_credits = 0;
- state->m_vimana_latch = 0;
+ MACHINE_RESET_CALL_MEMBER(toaplan1);
+ m_vimana_coins[0] = m_vimana_coins[1] = 0;
+ m_vimana_credits = 0;
+ m_vimana_latch = 0;
}
void vimana_driver_savestate(running_machine &machine)
diff --git a/src/mame/machine/twincobr.c b/src/mame/machine/twincobr.c
index 133ea564d23..e90a3875f56 100644
--- a/src/mame/machine/twincobr.c
+++ b/src/mame/machine/twincobr.c
@@ -309,28 +309,26 @@ WRITE8_MEMBER(twincobr_state::wardner_coin_dsp_w)
}
-MACHINE_RESET( twincobr )
+MACHINE_RESET_MEMBER(twincobr_state,twincobr)
{
- twincobr_state *state = machine.driver_data<twincobr_state>();
- state->m_toaplan_main_cpu = 0; /* 68000 */
- twincobr_display(machine, 0);
- state->m_intenable = 0;
- state->m_dsp_addr_w = 0;
- state->m_main_ram_seg = 0;
- state->m_dsp_execute = 0;
- state->m_dsp_BIO = CLEAR_LINE;
- state->m_wardner_membank = 0;
- state->m_fsharkbt_8741 = -1;
+ m_toaplan_main_cpu = 0; /* 68000 */
+ twincobr_display(machine(), 0);
+ m_intenable = 0;
+ m_dsp_addr_w = 0;
+ m_main_ram_seg = 0;
+ m_dsp_execute = 0;
+ m_dsp_BIO = CLEAR_LINE;
+ m_wardner_membank = 0;
+ m_fsharkbt_8741 = -1;
}
-MACHINE_RESET( wardner )
+MACHINE_RESET_MEMBER(twincobr_state,wardner)
{
- MACHINE_RESET_CALL(twincobr);
+ MACHINE_RESET_CALL_MEMBER(twincobr);
- twincobr_state *state = machine.driver_data<twincobr_state>();
- state->m_toaplan_main_cpu = 1; /* Z80 */
- twincobr_display(machine, 1);
+ m_toaplan_main_cpu = 1; /* Z80 */
+ twincobr_display(machine(), 1);
}
void twincobr_driver_savestate(running_machine &machine)
diff --git a/src/mame/machine/tx1.c b/src/mame/machine/tx1.c
index 6142cf5f69b..eb2ce99efb7 100644
--- a/src/mame/machine/tx1.c
+++ b/src/mame/machine/tx1.c
@@ -1402,14 +1402,12 @@ READ16_MEMBER(tx1_state::buggyboy_spcs_ram_r)
*
*************************************/
-MACHINE_RESET( buggyboy )
+MACHINE_RESET_MEMBER(tx1_state,buggyboy)
{
- tx1_state *state = machine.driver_data<tx1_state>();
- memset(&state->m_math, 0, sizeof(state->m_math));
+ memset(&m_math, 0, sizeof(m_math));
}
-MACHINE_RESET( tx1 )
+MACHINE_RESET_MEMBER(tx1_state,tx1)
{
- tx1_state *state = machine.driver_data<tx1_state>();
- memset(&state->m_math, 0, sizeof(state->m_math));
+ memset(&m_math, 0, sizeof(m_math));
}
diff --git a/src/mame/machine/vertigo.c b/src/mame/machine/vertigo.c
index 0e4c629729c..7b5cf25f970 100644
--- a/src/mame/machine/vertigo.c
+++ b/src/mame/machine/vertigo.c
@@ -198,35 +198,33 @@ READ16_MEMBER(vertigo_state::vertigo_sio_r)
*
*************************************/
-MACHINE_START( vertigo )
+void vertigo_state::machine_start()
{
- vertigo_state *state = machine.driver_data<vertigo_state>();
- state->m_custom = machine.device("custom");
- state->m_ttl74148 = machine.device("74148");
+ m_custom = machine().device("custom");
+ m_ttl74148 = machine().device("74148");
- state_save_register_global(machine, state->m_irq_state);
- state_save_register_global(machine, state->m_adc_result);
- state_save_register_global(machine, state->m_irq4_time);
+ state_save_register_global(machine(), m_irq_state);
+ state_save_register_global(machine(), m_adc_result);
+ state_save_register_global(machine(), m_irq4_time);
- vertigo_vproc_init(machine);
+ vertigo_vproc_init(machine());
}
-MACHINE_RESET( vertigo )
+void vertigo_state::machine_reset()
{
- vertigo_state *state = machine.driver_data<vertigo_state>();
int i;
- ttl74148_enable_input_w(state->m_ttl74148, 0);
+ ttl74148_enable_input_w(m_ttl74148, 0);
for (i = 0; i < 8; i++)
- ttl74148_input_line_w(state->m_ttl74148, i, 1);
+ ttl74148_input_line_w(m_ttl74148, i, 1);
- ttl74148_update(state->m_ttl74148);
- vertigo_vproc_reset(machine);
+ ttl74148_update(m_ttl74148);
+ vertigo_vproc_reset(machine());
- state->m_irq4_time = machine.time();
- state->m_irq_state = 7;
+ m_irq4_time = machine().time();
+ m_irq_state = 7;
}
diff --git a/src/mame/machine/vsnes.c b/src/mame/machine/vsnes.c
index d987d85512f..e4d9a870e81 100644
--- a/src/mame/machine/vsnes.c
+++ b/src/mame/machine/vsnes.c
@@ -136,14 +136,13 @@ READ8_MEMBER(vsnes_state::vsnes_in1_1_r)
*
*************************************/
-MACHINE_RESET( vsnes )
+MACHINE_RESET_MEMBER(vsnes_state,vsnes)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
- state->m_last_bank = 0xff;
- state->m_sound_fix = 0;
- state->m_input_latch[0] = state->m_input_latch[1] = 0;
- state->m_input_latch[2] = state->m_input_latch[3] = 0;
+ m_last_bank = 0xff;
+ m_sound_fix = 0;
+ m_input_latch[0] = m_input_latch[1] = 0;
+ m_input_latch[2] = m_input_latch[3] = 0;
}
@@ -153,12 +152,11 @@ MACHINE_RESET( vsnes )
*
*************************************/
-MACHINE_RESET( vsdual )
+MACHINE_RESET_MEMBER(vsnes_state,vsdual)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
- state->m_input_latch[0] = state->m_input_latch[1] = 0;
- state->m_input_latch[2] = state->m_input_latch[3] = 0;
+ m_input_latch[0] = m_input_latch[1] = 0;
+ m_input_latch[2] = m_input_latch[3] = 0;
}
@@ -186,75 +184,73 @@ static void v_set_videorom_bank( running_machine& machine, int start, int count,
}
}
-MACHINE_START( vsnes )
+MACHINE_START_MEMBER(vsnes_state,vsnes)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
- address_space *ppu1_space = machine.device("ppu1")->memory().space(AS_PROGRAM);
+ address_space *ppu1_space = machine().device("ppu1")->memory().space(AS_PROGRAM);
int i;
/* establish nametable ram */
- state->m_nt_ram[0] = auto_alloc_array(machine, UINT8, 0x1000);
+ m_nt_ram[0] = auto_alloc_array(machine(), UINT8, 0x1000);
/* set mirroring */
- state->m_nt_page[0][0] = state->m_nt_ram[0];
- state->m_nt_page[0][1] = state->m_nt_ram[0] + 0x400;
- state->m_nt_page[0][2] = state->m_nt_ram[0] + 0x800;
- state->m_nt_page[0][3] = state->m_nt_ram[0] + 0xc00;
+ m_nt_page[0][0] = m_nt_ram[0];
+ m_nt_page[0][1] = m_nt_ram[0] + 0x400;
+ m_nt_page[0][2] = m_nt_ram[0] + 0x800;
+ m_nt_page[0][3] = m_nt_ram[0] + 0xc00;
- ppu1_space->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(vsnes_state::vsnes_nt0_r),state), write8_delegate(FUNC(vsnes_state::vsnes_nt0_w),state));
+ ppu1_space->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(vsnes_state::vsnes_nt0_r),this), write8_delegate(FUNC(vsnes_state::vsnes_nt0_w),this));
- state->m_vrom[0] = state->memregion("gfx1")->base();
- state->m_vrom_size[0] = state->memregion("gfx1")->bytes();
- state->m_vrom_banks = state->m_vrom_size[0] / 0x400;
+ m_vrom[0] = memregion("gfx1")->base();
+ m_vrom_size[0] = memregion("gfx1")->bytes();
+ m_vrom_banks = m_vrom_size[0] / 0x400;
/* establish chr banks */
/* bank 1 is used already! */
/* DRIVER_INIT is called first - means we can handle this different for VRAM games! */
- if (NULL != state->m_vrom[0])
+ if (NULL != m_vrom[0])
{
for (i = 0; i < 8; i++)
{
ppu1_space->install_read_bank(0x0400 * i, 0x0400 * i + 0x03ff, chr_banknames[i]);
- state->membank(chr_banknames[i])->configure_entries(0, state->m_vrom_banks, state->m_vrom[0], 0x400);
+ membank(chr_banknames[i])->configure_entries(0, m_vrom_banks, m_vrom[0], 0x400);
}
- v_set_videorom_bank(machine, 0, 8, 0);
+ v_set_videorom_bank(machine(), 0, 8, 0);
}
else
{
- ppu1_space->install_ram(0x0000, 0x1fff, state->m_vram);
+ ppu1_space->install_ram(0x0000, 0x1fff, m_vram);
}
}
-MACHINE_START( vsdual )
+MACHINE_START_MEMBER(vsnes_state,vsdual)
{
- vsnes_state *state = machine.driver_data<vsnes_state>();
- state->m_vrom[0] = state->memregion("gfx1")->base();
- state->m_vrom[1] = state->memregion("gfx2")->base();
- state->m_vrom_size[0] = state->memregion("gfx1")->bytes();
- state->m_vrom_size[1] = state->memregion("gfx2")->bytes();
+ m_vrom[0] = memregion("gfx1")->base();
+ m_vrom[1] = memregion("gfx2")->base();
+ m_vrom_size[0] = memregion("gfx1")->bytes();
+ m_vrom_size[1] = memregion("gfx2")->bytes();
/* establish nametable ram */
- state->m_nt_ram[0] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_nt_ram[1] = auto_alloc_array(machine, UINT8, 0x1000);
+ m_nt_ram[0] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_nt_ram[1] = auto_alloc_array(machine(), UINT8, 0x1000);
/* set mirroring */
- state->m_nt_page[0][0] = state->m_nt_ram[0];
- state->m_nt_page[0][1] = state->m_nt_ram[0] + 0x400;
- state->m_nt_page[0][2] = state->m_nt_ram[0] + 0x800;
- state->m_nt_page[0][3] = state->m_nt_ram[0] + 0xc00;
- state->m_nt_page[1][0] = state->m_nt_ram[1];
- state->m_nt_page[1][1] = state->m_nt_ram[1] + 0x400;
- state->m_nt_page[1][2] = state->m_nt_ram[1] + 0x800;
- state->m_nt_page[1][3] = state->m_nt_ram[1] + 0xc00;
-
- machine.device("ppu1")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(vsnes_state::vsnes_nt0_r),state), write8_delegate(FUNC(vsnes_state::vsnes_nt0_w),state));
- machine.device("ppu2")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(vsnes_state::vsnes_nt1_r),state), write8_delegate(FUNC(vsnes_state::vsnes_nt1_w),state));
+ m_nt_page[0][0] = m_nt_ram[0];
+ m_nt_page[0][1] = m_nt_ram[0] + 0x400;
+ m_nt_page[0][2] = m_nt_ram[0] + 0x800;
+ m_nt_page[0][3] = m_nt_ram[0] + 0xc00;
+ m_nt_page[1][0] = m_nt_ram[1];
+ m_nt_page[1][1] = m_nt_ram[1] + 0x400;
+ m_nt_page[1][2] = m_nt_ram[1] + 0x800;
+ m_nt_page[1][3] = m_nt_ram[1] + 0xc00;
+
+ machine().device("ppu1")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(vsnes_state::vsnes_nt0_r),this), write8_delegate(FUNC(vsnes_state::vsnes_nt0_w),this));
+ machine().device("ppu2")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(vsnes_state::vsnes_nt1_r),this), write8_delegate(FUNC(vsnes_state::vsnes_nt1_w),this));
// read only!
- machine.device("ppu1")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank2");
+ machine().device("ppu1")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank2");
// read only!
- machine.device("ppu2")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank3");
- state->membank("bank2")->configure_entries(0, state->m_vrom_size[0] / 0x2000, state->m_vrom[0], 0x2000);
- state->membank("bank3")->configure_entries(0, state->m_vrom_size[1] / 0x2000, state->m_vrom[1], 0x2000);
- state->membank("bank2")->set_entry(0);
- state->membank("bank3")->set_entry(0);
+ machine().device("ppu2")->memory().space(AS_PROGRAM)->install_read_bank(0x0000, 0x1fff, "bank3");
+ membank("bank2")->configure_entries(0, m_vrom_size[0] / 0x2000, m_vrom[0], 0x2000);
+ membank("bank3")->configure_entries(0, m_vrom_size[1] / 0x2000, m_vrom[1], 0x2000);
+ membank("bank2")->set_entry(0);
+ membank("bank3")->set_entry(0);
}
/*************************************
diff --git a/src/mame/machine/williams.c b/src/mame/machine/williams.c
index 09e109c437c..3f188590c62 100644
--- a/src/mame/machine/williams.c
+++ b/src/mame/machine/williams.c
@@ -364,38 +364,37 @@ static void tshoot_main_irq(device_t *device, int state)
*
*************************************/
-static MACHINE_START( williams_common )
+MACHINE_START_MEMBER(williams_state,williams_common)
{
- williams_state *state = machine.driver_data<williams_state>();
/* configure the memory bank */
- state->membank("bank1")->configure_entry(0, state->m_videoram);
- state->membank("bank1")->configure_entry(1, state->memregion("maincpu")->base() + 0x10000);
+ membank("bank1")->configure_entry(0, m_videoram);
+ membank("bank1")->configure_entry(1, memregion("maincpu")->base() + 0x10000);
- state_save_register_global(machine, state->m_vram_bank);
+ state_save_register_global(machine(), m_vram_bank);
}
-static MACHINE_RESET( williams_common )
+MACHINE_RESET_MEMBER(williams_state,williams_common)
{
/* set a timer to go off every 16 scanlines, to toggle the VA11 line and update the screen */
- timer_device *scan_timer = machine.device<timer_device>("scan_timer");
- scan_timer->adjust(machine.primary_screen->time_until_pos(0));
+ timer_device *scan_timer = machine().device<timer_device>("scan_timer");
+ scan_timer->adjust(machine().primary_screen->time_until_pos(0));
/* also set a timer to go off on scanline 240 */
- timer_device *l240_timer = machine.device<timer_device>("240_timer");
- l240_timer->adjust(machine.primary_screen->time_until_pos(240));
+ timer_device *l240_timer = machine().device<timer_device>("240_timer");
+ l240_timer->adjust(machine().primary_screen->time_until_pos(240));
}
-MACHINE_START( williams )
+MACHINE_START_MEMBER(williams_state,williams)
{
- MACHINE_START_CALL(williams_common);
+ MACHINE_START_CALL_MEMBER(williams_common);
}
-MACHINE_RESET( williams )
+MACHINE_RESET_MEMBER(williams_state,williams)
{
- MACHINE_RESET_CALL(williams_common);
+ MACHINE_RESET_CALL_MEMBER(williams_common);
}
@@ -462,34 +461,32 @@ static void williams2_postload(running_machine &machine)
}
-MACHINE_START( williams2 )
+MACHINE_START_MEMBER(williams_state,williams2)
{
- williams_state *state = machine.driver_data<williams_state>();
/* configure memory banks */
- state->membank("bank1")->configure_entry(0, state->m_videoram);
- state->membank("bank1")->configure_entries(1, 4, state->memregion("maincpu")->base() + 0x10000, 0x10000);
+ membank("bank1")->configure_entry(0, m_videoram);
+ membank("bank1")->configure_entries(1, 4, memregion("maincpu")->base() + 0x10000, 0x10000);
/* register for save states */
- state_save_register_global(machine, state->m_vram_bank);
- machine.save().register_postload(save_prepost_delegate(FUNC(williams2_postload), &machine));
+ state_save_register_global(machine(), m_vram_bank);
+ machine().save().register_postload(save_prepost_delegate(FUNC(williams2_postload), &machine()));
}
-MACHINE_RESET( williams2 )
+MACHINE_RESET_MEMBER(williams_state,williams2)
{
- williams_state *state = machine.driver_data<williams_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* make sure our banking is reset */
- state->williams2_bank_select_w(*space, 0, 0);
+ williams2_bank_select_w(*space, 0, 0);
/* set a timer to go off every 16 scanlines, to toggle the VA11 line and update the screen */
- timer_device *scan_timer = machine.device<timer_device>("scan_timer");
- scan_timer->adjust(machine.primary_screen->time_until_pos(0));
+ timer_device *scan_timer = machine().device<timer_device>("scan_timer");
+ scan_timer->adjust(machine().primary_screen->time_until_pos(0));
/* also set a timer to go off on scanline 254 */
- timer_device *l254_timer = machine.device<timer_device>("254_timer");
- l254_timer->adjust(machine.primary_screen->time_until_pos(254));
+ timer_device *l254_timer = machine().device<timer_device>("254_timer");
+ l254_timer->adjust(machine().primary_screen->time_until_pos(254));
}
@@ -767,25 +764,24 @@ static void defender_postload(running_machine &machine)
}
-MACHINE_START( defender )
+MACHINE_START_MEMBER(williams_state,defender)
{
- MACHINE_START_CALL(williams_common);
+ MACHINE_START_CALL_MEMBER(williams_common);
/* configure the banking and make sure it is reset to 0 */
- machine.root_device().membank("bank1")->configure_entries(0, 9, &machine.root_device().memregion("maincpu")->base()[0x10000], 0x1000);
+ machine().root_device().membank("bank1")->configure_entries(0, 9, &machine().root_device().memregion("maincpu")->base()[0x10000], 0x1000);
- machine.save().register_postload(save_prepost_delegate(FUNC(defender_postload), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(defender_postload), &machine()));
}
-MACHINE_RESET( defender )
+MACHINE_RESET_MEMBER(williams_state,defender)
{
- williams_state *state = machine.driver_data<williams_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- MACHINE_RESET_CALL(williams_common);
+ MACHINE_RESET_CALL_MEMBER(williams_common);
- state->defender_bank_select_w(*space, 0, 0);
+ defender_bank_select_w(*space, 0, 0);
}
@@ -872,25 +868,24 @@ WRITE8_MEMBER(williams_state::sinistar_vram_select_w)
*
*************************************/
-MACHINE_START( blaster )
+MACHINE_START_MEMBER(williams_state,blaster)
{
- williams_state *state = machine.driver_data<williams_state>();
- MACHINE_START_CALL(williams_common);
+ MACHINE_START_CALL_MEMBER(williams_common);
/* banking is different for blaster */
- state->membank("bank1")->configure_entry(0, state->m_videoram);
- state->membank("bank1")->configure_entries(1, 16, state->memregion("maincpu")->base() + 0x18000, 0x4000);
+ membank("bank1")->configure_entry(0, m_videoram);
+ membank("bank1")->configure_entries(1, 16, memregion("maincpu")->base() + 0x18000, 0x4000);
- state->membank("bank2")->configure_entry(0, state->m_videoram + 0x4000);
- state->membank("bank2")->configure_entries(1, 16, state->memregion("maincpu")->base() + 0x10000, 0x0000);
+ membank("bank2")->configure_entry(0, m_videoram + 0x4000);
+ membank("bank2")->configure_entries(1, 16, memregion("maincpu")->base() + 0x10000, 0x0000);
- state_save_register_global(machine, state->m_blaster_bank);
+ state_save_register_global(machine(), m_blaster_bank);
}
-MACHINE_RESET( blaster )
+MACHINE_RESET_MEMBER(williams_state,blaster)
{
- MACHINE_RESET_CALL(williams_common);
+ MACHINE_RESET_CALL_MEMBER(williams_common);
}
@@ -983,17 +978,16 @@ static WRITE8_DEVICE_HANDLER( tshoot_lamp_w )
*
*************************************/
-MACHINE_START( joust2 )
+MACHINE_START_MEMBER(joust2_state,joust2)
{
- joust2_state *state = machine.driver_data<joust2_state>();
- MACHINE_START_CALL(williams2);
- state_save_register_global(machine, state->m_joust2_current_sound_data);
+ MACHINE_START_CALL_MEMBER(williams2);
+ state_save_register_global(machine(), m_joust2_current_sound_data);
}
-MACHINE_RESET( joust2 )
+MACHINE_RESET_MEMBER(joust2_state,joust2)
{
- MACHINE_RESET_CALL(williams2);
+ MACHINE_RESET_CALL_MEMBER(williams2);
}
diff --git a/src/mame/video/1942.c b/src/mame/video/1942.c
index 6b50f25c260..4d7050d11c9 100644
--- a/src/mame/video/1942.c
+++ b/src/mame/video/1942.c
@@ -24,9 +24,9 @@
***************************************************************************/
-PALETTE_INIT( 1942 )
+void _1942_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t palette[256];
int i, colorbase;
@@ -63,23 +63,23 @@ PALETTE_INIT( 1942 )
/* characters use palette entries 128-143 */
colorbase = 0;
for (i = 0; i < 64 * 4; i++)
- palette_set_color(machine, colorbase + i, palette[0x80 | *color_prom++]);
+ palette_set_color(machine(), colorbase + i, palette[0x80 | *color_prom++]);
colorbase += 64 * 4;
/* background tiles use palette entries 0-63 in four banks */
for (i = 0; i < 32 * 8; i++)
{
- palette_set_color(machine, colorbase + 0 * 32 * 8 + i, palette[0x00 | *color_prom]);
- palette_set_color(machine, colorbase + 1 * 32 * 8 + i, palette[0x10 | *color_prom]);
- palette_set_color(machine, colorbase + 2 * 32 * 8 + i, palette[0x20 | *color_prom]);
- palette_set_color(machine, colorbase + 3 * 32 * 8 + i, palette[0x30 | *color_prom]);
+ palette_set_color(machine(), colorbase + 0 * 32 * 8 + i, palette[0x00 | *color_prom]);
+ palette_set_color(machine(), colorbase + 1 * 32 * 8 + i, palette[0x10 | *color_prom]);
+ palette_set_color(machine(), colorbase + 2 * 32 * 8 + i, palette[0x20 | *color_prom]);
+ palette_set_color(machine(), colorbase + 3 * 32 * 8 + i, palette[0x30 | *color_prom]);
color_prom++;
}
colorbase += 4 * 32 * 8;
/* sprites use palette entries 64-79 */
for (i = 0; i < 16 * 16; i++)
- palette_set_color(machine, colorbase + i, palette[0x40 | *color_prom++]);
+ palette_set_color(machine(), colorbase + i, palette[0x40 | *color_prom++]);
}
@@ -123,13 +123,12 @@ TILE_GET_INFO_MEMBER(_1942_state::get_bg_tile_info)
Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( 1942 )
+void _1942_state::video_start()
{
- _1942_state *state = machine.driver_data<_1942_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1942_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1942_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(_1942_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(_1942_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 16);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/1943.c b/src/mame/video/1943.c
index c7bb56318fb..118fc4105b8 100644
--- a/src/mame/video/1943.c
+++ b/src/mame/video/1943.c
@@ -45,13 +45,13 @@ other 2 bits (output & 0x0c) unknown
***************************************************************************/
-PALETTE_INIT( 1943 )
+void _1943_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
for (i = 0; i < 0x100; i++)
{
@@ -79,7 +79,7 @@ PALETTE_INIT( 1943 )
bit3 = (color_prom[i + 0x200] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -89,7 +89,7 @@ PALETTE_INIT( 1943 )
for (i = 0x00; i < 0x80; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x40;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* foreground tiles use colors 0x00-0x3f */
@@ -97,7 +97,7 @@ PALETTE_INIT( 1943 )
{
UINT8 ctabentry = ((color_prom[0x200 + (i - 0x080)] & 0x03) << 4) |
((color_prom[0x100 + (i - 0x080)] & 0x0f) << 0);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* background tiles also use colors 0x00-0x3f */
@@ -105,7 +105,7 @@ PALETTE_INIT( 1943 )
{
UINT8 ctabentry = ((color_prom[0x400 + (i - 0x180)] & 0x03) << 4) |
((color_prom[0x300 + (i - 0x180)] & 0x0f) << 0);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites use colors 0x80-0xff
@@ -115,7 +115,7 @@ PALETTE_INIT( 1943 )
{
UINT8 ctabentry = ((color_prom[0x600 + (i - 0x280)] & 0x07) << 4) |
((color_prom[0x500 + (i - 0x280)] & 0x0f) << 0) | 0x80;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -201,20 +201,19 @@ TILE_GET_INFO_MEMBER(_1943_state::c1943_get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( 1943 )
+void _1943_state::video_start()
{
- _1943_state *state = machine.driver_data<_1943_state>();
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1943_state::c1943_get_bg2_tile_info),state), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1943_state::c1943_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1943_state::c1943_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(_1943_state::c1943_get_bg2_tile_info),this), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(_1943_state::c1943_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(_1943_state::c1943_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[1], 0x0f);
- state->m_fg_tilemap->set_transparent_pen(0);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[1], 0x0f);
+ m_fg_tilemap->set_transparent_pen(0);
- state->save_item(NAME(state->m_char_on));
- state->save_item(NAME(state->m_obj_on));
- state->save_item(NAME(state->m_bg1_on));
- state->save_item(NAME(state->m_bg2_on));
+ save_item(NAME(m_char_on));
+ save_item(NAME(m_obj_on));
+ save_item(NAME(m_bg1_on));
+ save_item(NAME(m_bg2_on));
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority )
diff --git a/src/mame/video/40love.c b/src/mame/video/40love.c
index 4eec233253e..913392d3747 100644
--- a/src/mame/video/40love.c
+++ b/src/mame/video/40love.c
@@ -10,12 +10,12 @@
* color prom decoding
*/
-PALETTE_INIT( fortyl )
+void fortyl_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, bit3, r, g, b;
@@ -27,20 +27,20 @@ PALETTE_INIT( fortyl )
r = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
/* green component */
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
/* blue component */
- bit0 = (color_prom[2*machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[2*machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[2*machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[2*machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[2*machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[2*machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[2*machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[2*machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
color_prom++;
}
@@ -100,30 +100,29 @@ static void redraw_pixels(running_machine &machine)
***************************************************************************/
-VIDEO_START( fortyl )
+void fortyl_state::video_start()
{
- fortyl_state *state = machine.driver_data<fortyl_state>();
- state->m_pixram1 = auto_alloc_array_clear(machine, UINT8, 0x4000);
- state->m_pixram2 = auto_alloc_array_clear(machine, UINT8, 0x4000);
+ m_pixram1 = auto_alloc_array_clear(machine(), UINT8, 0x4000);
+ m_pixram2 = auto_alloc_array_clear(machine(), UINT8, 0x4000);
- state->m_tmp_bitmap1 = auto_bitmap_ind16_alloc(machine, 256, 256);
- state->m_tmp_bitmap2 = auto_bitmap_ind16_alloc(machine, 256, 256);
+ m_tmp_bitmap1 = auto_bitmap_ind16_alloc(machine(), 256, 256);
+ m_tmp_bitmap2 = auto_bitmap_ind16_alloc(machine(), 256, 256);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fortyl_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fortyl_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_xoffset = 128; // this never changes
+ m_xoffset = 128; // this never changes
- state->m_bg_tilemap->set_scroll_rows(32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap->set_transparent_pen(0);
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_pix_color));
- state->save_pointer(NAME(state->m_pixram1), 0x4000);
- state->save_pointer(NAME(state->m_pixram2), 0x4000);
- state->save_item(NAME(*state->m_tmp_bitmap1));
- state->save_item(NAME(*state->m_tmp_bitmap2));
- state->save_item(NAME(state->m_pixram_sel));
- machine.save().register_postload(save_prepost_delegate(FUNC(redraw_pixels), &machine));
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_pix_color));
+ save_pointer(NAME(m_pixram1), 0x4000);
+ save_pointer(NAME(m_pixram2), 0x4000);
+ save_item(NAME(*m_tmp_bitmap1));
+ save_item(NAME(*m_tmp_bitmap2));
+ save_item(NAME(m_pixram_sel));
+ machine().save().register_postload(save_prepost_delegate(FUNC(redraw_pixels), &machine()));
}
diff --git a/src/mame/video/4enraya.c b/src/mame/video/4enraya.c
index 595df668aef..c78e358b943 100644
--- a/src/mame/video/4enraya.c
+++ b/src/mame/video/4enraya.c
@@ -28,11 +28,10 @@ TILE_GET_INFO_MEMBER(_4enraya_state::get_tile_info)
0);
}
-VIDEO_START( 4enraya )
+void _4enraya_state::video_start()
{
- _4enraya_state *state = machine.driver_data<_4enraya_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_4enraya_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(_4enraya_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
SCREEN_UPDATE_IND16( 4enraya )
diff --git a/src/mame/video/8080bw.c b/src/mame/video/8080bw.c
index 3d3bd26022b..f9aa9bffc8b 100644
--- a/src/mame/video/8080bw.c
+++ b/src/mame/video/8080bw.c
@@ -13,18 +13,17 @@
#define NUM_PENS (8)
-MACHINE_START( extra_8080bw_vh )
+MACHINE_START_MEMBER(_8080bw_state,extra_8080bw_vh)
{
- _8080bw_state *state = machine.driver_data<_8080bw_state>();
- state->save_item(NAME(state->m_c8080bw_flip_screen));
- state->save_item(NAME(state->m_color_map));
- state->save_item(NAME(state->m_screen_red));
+ save_item(NAME(m_c8080bw_flip_screen));
+ save_item(NAME(m_color_map));
+ save_item(NAME(m_screen_red));
// These two only belong to schaser, but for simplicity's sake let's waste
// two bytes in other drivers' .sta files.
- state->save_item(NAME(state->m_schaser_background_disable));
- state->save_item(NAME(state->m_schaser_background_select));
+ save_item(NAME(m_schaser_background_disable));
+ save_item(NAME(m_schaser_background_select));
}
diff --git a/src/mame/video/actfancr.c b/src/mame/video/actfancr.c
index d11a0c18cc4..3466714fc89 100644
--- a/src/mame/video/actfancr.c
+++ b/src/mame/video/actfancr.c
@@ -17,9 +17,9 @@ static void register_savestate( running_machine &machine )
state->save_item(NAME(state->m_flipscreen));
}
-VIDEO_START( actfancr )
+void actfancr_state::video_start()
{
- register_savestate(machine);
+ register_savestate(machine());
}
/******************************************************************************/
diff --git a/src/mame/video/aeroboto.c b/src/mame/video/aeroboto.c
index 354b3bb329e..1b02afe2604 100644
--- a/src/mame/video/aeroboto.c
+++ b/src/mame/video/aeroboto.c
@@ -39,33 +39,32 @@ TILE_GET_INFO_MEMBER(aeroboto_state::get_tile_info)
***************************************************************************/
-VIDEO_START( aeroboto )
+void aeroboto_state::video_start()
{
- aeroboto_state *state = machine.driver_data<aeroboto_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aeroboto_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_rows(64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aeroboto_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_rows(64);
- state->save_item(NAME(state->m_charbank));
- state->save_item(NAME(state->m_starsoff));
- state->save_item(NAME(state->m_sx));
- state->save_item(NAME(state->m_sy));
- state->save_item(NAME(state->m_ox));
- state->save_item(NAME(state->m_oy));
+ save_item(NAME(m_charbank));
+ save_item(NAME(m_starsoff));
+ save_item(NAME(m_sx));
+ save_item(NAME(m_sy));
+ save_item(NAME(m_ox));
+ save_item(NAME(m_oy));
#if STARS_LAYOUT
{
UINT8 *temp;
int i;
- temp = auto_alloc_array(machine, UINT8, state->m_stars_length);
- memcpy(temp, state->m_stars_rom, state->m_stars_length);
+ temp = auto_alloc_array(machine(), UINT8, m_stars_length);
+ memcpy(temp, m_stars_rom, m_stars_length);
- for (i = 0; i < state->m_stars_length; i++)
- state->m_stars_rom[(i & ~0xff) + (i << 5 & 0xe0) + (i >> 3 & 0x1f)] = temp[i];
+ for (i = 0; i < m_stars_length; i++)
+ m_stars_rom[(i & ~0xff) + (i << 5 & 0xe0) + (i >> 3 & 0x1f)] = temp[i];
- auto_free(machine, temp);
+ auto_free(machine(), temp);
}
#endif
}
diff --git a/src/mame/video/aerofgt.c b/src/mame/video/aerofgt.c
index 3c96c84d30f..a5ea1e27dc1 100644
--- a/src/mame/video/aerofgt.c
+++ b/src/mame/video/aerofgt.c
@@ -91,88 +91,83 @@ static void aerofgt_register_state_globals( running_machine &machine )
state->save_item(NAME(state->m_spritepalettebank));
}
-VIDEO_START( pspikes )
+VIDEO_START_MEMBER(aerofgt_state,pspikes)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
/* no bg2 in this game */
- state->m_sprite_gfx = 1;
+ m_sprite_gfx = 1;
- aerofgt_register_state_globals(machine);
- state->save_item(NAME(state->m_spikes91_lookup));
+ aerofgt_register_state_globals(machine());
+ save_item(NAME(m_spikes91_lookup));
}
-VIDEO_START( karatblz )
+VIDEO_START_MEMBER(aerofgt_state,karatblz)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg1_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,64);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg1_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,64,64);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg2_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_bg2_tilemap->set_transparent_pen(15);
- state->m_spritepalettebank = 0;
- state->m_sprite_gfx = 2;
+ m_bg2_tilemap->set_transparent_pen(15);
+ m_spritepalettebank = 0;
+ m_sprite_gfx = 2;
- aerofgt_register_state_globals(machine);
+ aerofgt_register_state_globals(machine());
}
-VIDEO_START( spinlbrk )
+VIDEO_START_MEMBER(aerofgt_state,spinlbrk)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
int i;
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::spinlbrk_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::spinlbrk_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_bg2_tilemap->set_transparent_pen(15);
+ m_bg2_tilemap->set_transparent_pen(15);
- state->m_spritepalettebank = 0;
- state->m_sprite_gfx = 2;
+ m_spritepalettebank = 0;
+ m_sprite_gfx = 2;
/* sprite maps are hardcoded in this game */
/* enemy sprites use ROM instead of RAM */
- state->m_spriteram2.set_target(reinterpret_cast<UINT16 *>(state->memregion("gfx5")->base()), 0x20000);
+ m_spriteram2.set_target(reinterpret_cast<UINT16 *>(memregion("gfx5")->base()), 0x20000);
/* front sprites are direct maps */
- state->m_spriteram1.set_target(state->m_spriteram2 + state->m_spriteram2.bytes() / 2, 0x4000);
+ m_spriteram1.set_target(m_spriteram2 + m_spriteram2.bytes() / 2, 0x4000);
- for (i = 0; i < state->m_spriteram1.bytes() / 2; i++)
+ for (i = 0; i < m_spriteram1.bytes() / 2; i++)
{
- state->m_spriteram1[i] = i;
+ m_spriteram1[i] = i;
}
- aerofgt_register_state_globals(machine);
+ aerofgt_register_state_globals(machine());
}
-VIDEO_START( turbofrc )
+VIDEO_START_MEMBER(aerofgt_state,turbofrc)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_bg2_tilemap->set_transparent_pen(15);
+ m_bg2_tilemap->set_transparent_pen(15);
- state->m_spritepalettebank = 0;
- state->m_sprite_gfx = 2;
+ m_spritepalettebank = 0;
+ m_sprite_gfx = 2;
- aerofgt_register_state_globals(machine);
+ aerofgt_register_state_globals(machine());
}
-VIDEO_START( wbbc97 )
+VIDEO_START_MEMBER(aerofgt_state,wbbc97)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
/* no bg2 in this game */
- state->m_bg1_tilemap->set_transparent_pen(15);
+ m_bg1_tilemap->set_transparent_pen(15);
- state->m_sprite_gfx = 1;
+ m_sprite_gfx = 1;
- aerofgt_register_state_globals(machine);
+ aerofgt_register_state_globals(machine());
- state->save_item(NAME(state->m_wbbc97_bitmap_enable));
+ save_item(NAME(m_wbbc97_bitmap_enable));
}
/***************************************************************************
diff --git a/src/mame/video/airbustr.c b/src/mame/video/airbustr.c
index 67d5ca76a18..116b4fd65be 100644
--- a/src/mame/video/airbustr.c
+++ b/src/mame/video/airbustr.c
@@ -107,22 +107,21 @@ TILE_GET_INFO_MEMBER(airbustr_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( airbustr )
+void airbustr_state::video_start()
{
- airbustr_state *state = machine.driver_data<airbustr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(airbustr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(airbustr_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(airbustr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(airbustr_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- machine.primary_screen->register_screen_bitmap(state->m_sprites_bitmap);
- state->m_fg_tilemap->set_transparent_pen(0);
+ machine().primary_screen->register_screen_bitmap(m_sprites_bitmap);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(0x094, 0x06a);
- state->m_bg_tilemap->set_scrolldy(0x100, 0x1ff);
- state->m_fg_tilemap->set_scrolldx(0x094, 0x06a);
- state->m_fg_tilemap->set_scrolldy(0x100, 0x1ff);
+ m_bg_tilemap->set_scrolldx(0x094, 0x06a);
+ m_bg_tilemap->set_scrolldy(0x100, 0x1ff);
+ m_fg_tilemap->set_scrolldx(0x094, 0x06a);
+ m_fg_tilemap->set_scrolldy(0x100, 0x1ff);
- state->save_item(NAME(state->m_sprites_bitmap));
+ save_item(NAME(m_sprites_bitmap));
}
diff --git a/src/mame/video/ajax.c b/src/mame/video/ajax.c
index a10680ed56e..f2d74fa537d 100644
--- a/src/mame/video/ajax.c
+++ b/src/mame/video/ajax.c
@@ -68,15 +68,14 @@ void ajax_zoom_callback( running_machine &machine, int *code, int *color, int *f
***************************************************************************/
-VIDEO_START( ajax )
+void ajax_state::video_start()
{
- ajax_state *state = machine.driver_data<ajax_state>();
- state->m_layer_colorbase[0] = 64;
- state->m_layer_colorbase[1] = 0;
- state->m_layer_colorbase[2] = 32;
- state->m_sprite_colorbase = 16;
- state->m_zoom_colorbase = 6; /* == 48 since it's 7-bit graphics */
+ m_layer_colorbase[0] = 64;
+ m_layer_colorbase[1] = 0;
+ m_layer_colorbase[2] = 32;
+ m_sprite_colorbase = 16;
+ m_zoom_colorbase = 6; /* == 48 since it's 7-bit graphics */
}
diff --git a/src/mame/video/aliens.c b/src/mame/video/aliens.c
index 10eb9fa49af..def90c14f77 100644
--- a/src/mame/video/aliens.c
+++ b/src/mame/video/aliens.c
@@ -53,16 +53,15 @@ void aliens_sprite_callback( running_machine &machine, int *code, int *color, in
***************************************************************************/
-VIDEO_START( aliens )
+void aliens_state::video_start()
{
- aliens_state *state = machine.driver_data<aliens_state>();
- state->m_generic_paletteram_8.allocate(0x400);
+ m_generic_paletteram_8.allocate(0x400);
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 4;
- state->m_layer_colorbase[2] = 8;
- state->m_sprite_colorbase = 16;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 4;
+ m_layer_colorbase[2] = 8;
+ m_sprite_colorbase = 16;
}
diff --git a/src/mame/video/alpha68k.c b/src/mame/video/alpha68k.c
index 9dfed5bfdb7..28879d48336 100644
--- a/src/mame/video/alpha68k.c
+++ b/src/mame/video/alpha68k.c
@@ -61,12 +61,11 @@ WRITE16_MEMBER(alpha68k_state::alpha68k_videoram_w)
m_fix_tilemap->mark_tile_dirty(offset / 2);
}
-VIDEO_START( alpha68k )
+VIDEO_START_MEMBER(alpha68k_state,alpha68k)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(alpha68k_state::get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(alpha68k_state::get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_fix_tilemap->set_transparent_pen(0);
}
/******************************************************************************/
@@ -380,13 +379,13 @@ SCREEN_UPDATE_IND16( alpha68k_I )
//ZT
/******************************************************************************/
-PALETTE_INIT( kyros )
+PALETTE_INIT_MEMBER(alpha68k_state,kyros)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -395,7 +394,7 @@ PALETTE_INIT( kyros )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -404,17 +403,17 @@ PALETTE_INIT( kyros )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = ((color_prom[i] & 0x0f) << 4) | (color_prom[i + 0x100] & 0x0f);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
-PALETTE_INIT( paddlem )
+PALETTE_INIT_MEMBER(alpha68k_state,paddlem)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -423,7 +422,7 @@ PALETTE_INIT( paddlem )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -432,7 +431,7 @@ PALETTE_INIT( paddlem )
for (i = 0; i < 0x400; i++)
{
UINT8 ctabentry = ((color_prom[i + 0x400] & 0x0f) << 4) | (color_prom[i] & 0x0f);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
diff --git a/src/mame/video/ambush.c b/src/mame/video/ambush.c
index 1bcc5516c3b..28ff04e58a6 100644
--- a/src/mame/video/ambush.c
+++ b/src/mame/video/ambush.c
@@ -18,12 +18,12 @@
***************************************************************************/
-PALETTE_INIT( ambush )
+void ambush_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -43,7 +43,7 @@ PALETTE_INIT( ambush )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
diff --git a/src/mame/video/amiga.c b/src/mame/video/amiga.c
index d0daa916a42..307d666043d 100644
--- a/src/mame/video/amiga.c
+++ b/src/mame/video/amiga.c
@@ -94,12 +94,12 @@ const UINT16 delay[256] =
*
*************************************/
-PALETTE_INIT( amiga )
+PALETTE_INIT_MEMBER(amiga_state,amiga)
{
int i;
for (i = 0; i < 0x1000; i++)
- palette_set_color_rgb(machine, i, pal4bit(i >> 8), pal4bit(i >> 4), pal4bit(i));
+ palette_set_color_rgb(machine(), i, pal4bit(i >> 8), pal4bit(i >> 4), pal4bit(i));
}
@@ -110,9 +110,8 @@ PALETTE_INIT( amiga )
*
*************************************/
-VIDEO_START( amiga )
+VIDEO_START_MEMBER(amiga_state,amiga)
{
- amiga_state *state = machine.driver_data<amiga_state>();
int j;
/* generate tables that produce the correct playfield color for dual playfield mode */
@@ -121,18 +120,18 @@ VIDEO_START( amiga )
int pf1pix = ((j >> 0) & 1) | ((j >> 1) & 2) | ((j >> 2) & 4);
int pf2pix = ((j >> 1) & 1) | ((j >> 2) & 2) | ((j >> 3) & 4);
- state->m_separate_bitplanes[0][j] = (pf1pix || !pf2pix) ? pf1pix : (pf2pix + 8);
- state->m_separate_bitplanes[1][j] = pf2pix ? (pf2pix + 8) : pf1pix;
+ m_separate_bitplanes[0][j] = (pf1pix || !pf2pix) ? pf1pix : (pf2pix + 8);
+ m_separate_bitplanes[1][j] = pf2pix ? (pf2pix + 8) : pf1pix;
}
#if GUESS_COPPER_OFFSET
- state->m_wait_offset = 3;
+ m_wait_offset = 3;
#endif
/* reset the genlock color */
- state->m_genlock_color = 0xffff;
+ m_genlock_color = 0xffff;
- state->m_sprite_ctl_written = 0;
+ m_sprite_ctl_written = 0;
}
diff --git a/src/mame/video/amigaaga.c b/src/mame/video/amigaaga.c
index e37eaf65b5a..d182c062754 100644
--- a/src/mame/video/amigaaga.c
+++ b/src/mame/video/amigaaga.c
@@ -71,13 +71,12 @@ void amiga_aga_palette_write(running_machine &machine, int color_reg, UINT16 dat
*
*************************************/
-VIDEO_START( amiga_aga )
+VIDEO_START_MEMBER(amiga_state,amiga_aga)
{
- amiga_state *state = machine.driver_data<amiga_state>();
- VIDEO_START_CALL( amiga );
+ VIDEO_START_CALL_MEMBER( amiga );
- state->m_aga_diwhigh_written = 0;
+ m_aga_diwhigh_written = 0;
}
diff --git a/src/mame/video/ampoker2.c b/src/mame/video/ampoker2.c
index a2124b0e1de..15cddae7817 100644
--- a/src/mame/video/ampoker2.c
+++ b/src/mame/video/ampoker2.c
@@ -71,9 +71,9 @@
#include "includes/ampoker2.h"
-PALETTE_INIT( ampoker2 )
+void ampoker2_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* - bits -
76543210
RRRGGGBB
@@ -89,7 +89,7 @@ PALETTE_INIT( ampoker2 )
2, resistances_b, weights_b, 0, 0);
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -108,7 +108,7 @@ PALETTE_INIT( ampoker2 )
bit2 = (color_prom[i] >> 7) & 0x01;
r = combine_3_weights(weights_r, bit0, bit1, bit2);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -145,17 +145,15 @@ TILE_GET_INFO_MEMBER(ampoker2_state::s2k_get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START(ampoker2)
+void ampoker2_state::video_start()
{
- ampoker2_state *state = machine.driver_data<ampoker2_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ampoker2_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ampoker2_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
}
-VIDEO_START(sigma2k)
+VIDEO_START_MEMBER(ampoker2_state,sigma2k)
{
- ampoker2_state *state = machine.driver_data<ampoker2_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ampoker2_state::s2k_get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ampoker2_state::s2k_get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
}
diff --git a/src/mame/video/amspdwy.c b/src/mame/video/amspdwy.c
index 87c6da4370a..d7d6f0a8ef3 100644
--- a/src/mame/video/amspdwy.c
+++ b/src/mame/video/amspdwy.c
@@ -73,10 +73,9 @@ TILEMAP_MAPPER_MEMBER(amspdwy_state::tilemap_scan_cols_back)
}
-VIDEO_START( amspdwy )
+void amspdwy_state::video_start()
{
- amspdwy_state *state = machine.driver_data<amspdwy_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(amspdwy_state::get_tile_info),state), tilemap_mapper_delegate(FUNC(amspdwy_state::tilemap_scan_cols_back),state), 8, 8, 0x20, 0x20);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(amspdwy_state::get_tile_info),this), tilemap_mapper_delegate(FUNC(amspdwy_state::tilemap_scan_cols_back),this), 8, 8, 0x20, 0x20);
}
diff --git a/src/mame/video/angelkds.c b/src/mame/video/angelkds.c
index 2615e4ddaa6..991f3f973b3 100644
--- a/src/mame/video/angelkds.c
+++ b/src/mame/video/angelkds.c
@@ -243,18 +243,17 @@ WRITE8_MEMBER(angelkds_state::angelkds_paletteram_w)
*/
-VIDEO_START( angelkds )
+void angelkds_state::video_start()
{
- angelkds_state *state = machine.driver_data<angelkds_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(angelkds_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(angelkds_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tx_tilemap->set_transparent_pen(0);
- state->m_bgbot_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(angelkds_state::get_bgbot_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bgbot_tilemap->set_transparent_pen(15);
+ m_bgbot_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(angelkds_state::get_bgbot_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bgbot_tilemap->set_transparent_pen(15);
- state->m_bgtop_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(angelkds_state::get_bgtop_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bgtop_tilemap->set_transparent_pen(15);
+ m_bgtop_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(angelkds_state::get_bgtop_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bgtop_tilemap->set_transparent_pen(15);
}
/* enable bits are uncertain */
diff --git a/src/mame/video/appoooh.c b/src/mame/video/appoooh.c
index 39a237ecf49..42375076720 100644
--- a/src/mame/video/appoooh.c
+++ b/src/mame/video/appoooh.c
@@ -20,12 +20,12 @@
***************************************************************************/
-PALETTE_INIT( appoooh )
+PALETTE_INIT_MEMBER(appoooh_state,appoooh)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
UINT8 pen;
int bit0, bit1, bit2, r, g, b;
@@ -55,16 +55,16 @@ PALETTE_INIT( appoooh )
bit2 = (color_prom[pen] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-PALETTE_INIT( robowres )
+PALETTE_INIT_MEMBER(appoooh_state,robowres)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -88,7 +88,7 @@ PALETTE_INIT( robowres )
bit2 = (color_prom[pen] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -130,19 +130,18 @@ TILE_GET_INFO_MEMBER(appoooh_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( appoooh )
+VIDEO_START_MEMBER(appoooh_state,appoooh)
{
- appoooh_state *state = machine.driver_data<appoooh_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(appoooh_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(appoooh_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(appoooh_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(appoooh_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scrolldy(8, 8);
- state->m_bg_tilemap->set_scrolldy(8, 8);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_scrolldy(8, 8);
+ m_bg_tilemap->set_scrolldy(8, 8);
- state->save_item(NAME(state->m_scroll_x));
- state->save_item(NAME(state->m_priority));
+ save_item(NAME(m_scroll_x));
+ save_item(NAME(m_priority));
}
WRITE8_MEMBER(appoooh_state::appoooh_scroll_w)
diff --git a/src/mame/video/aquarium.c b/src/mame/video/aquarium.c
index 2d280ed14bc..5b4472ccae8 100644
--- a/src/mame/video/aquarium.c
+++ b/src/mame/video/aquarium.c
@@ -141,15 +141,14 @@ WRITE16_MEMBER(aquarium_state::aquarium_bak_videoram_w)
m_bak_tilemap->mark_tile_dirty(offset / 2);
}
-VIDEO_START(aquarium)
+void aquarium_state::video_start()
{
- aquarium_state *state = machine.driver_data<aquarium_state>();
- state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aquarium_state::get_aquarium_txt_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_bak_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aquarium_state::get_aquarium_bak_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_mid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aquarium_state::get_aquarium_mid_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_txt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aquarium_state::get_aquarium_txt_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_bak_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aquarium_state::get_aquarium_bak_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_mid_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aquarium_state::get_aquarium_mid_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_txt_tilemap->set_transparent_pen(0);
- state->m_mid_tilemap->set_transparent_pen(0);
+ m_txt_tilemap->set_transparent_pen(0);
+ m_mid_tilemap->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16(aquarium)
diff --git a/src/mame/video/arabian.c b/src/mame/video/arabian.c
index 47a6759cec1..cca5fff558c 100644
--- a/src/mame/video/arabian.c
+++ b/src/mame/video/arabian.c
@@ -20,7 +20,7 @@
*
*************************************/
-PALETTE_INIT( arabian )
+void arabian_state::palette_init()
{
int i;
@@ -139,7 +139,7 @@ PALETTE_INIT( arabian )
b = (bhi * 192) + (bbase * 63);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -151,19 +151,18 @@ PALETTE_INIT( arabian )
*
*************************************/
-VIDEO_START( arabian )
+void arabian_state::video_start()
{
- arabian_state *state = machine.driver_data<arabian_state>();
- UINT8 *gfxbase = state->memregion("gfx1")->base();
+ UINT8 *gfxbase = memregion("gfx1")->base();
int offs;
/* allocate a common bitmap to use for both planes */
/* plane A (top plane with motion objects) is in the upper 4 bits */
/* plane B (bottom plane with playfield) is in the lower 4 bits */
- state->m_main_bitmap = auto_alloc_array(machine, UINT8, BITMAP_WIDTH * BITMAP_HEIGHT);
+ m_main_bitmap = auto_alloc_array(machine(), UINT8, BITMAP_WIDTH * BITMAP_HEIGHT);
/* allocate memory for the converted graphics data */
- state->m_converted_gfx = auto_alloc_array(machine, UINT8, 0x8000 * 2);
+ m_converted_gfx = auto_alloc_array(machine(), UINT8, 0x8000 * 2);
/*--------------------------------------------------
transform graphics data into more usable format
@@ -200,16 +199,16 @@ VIDEO_START( arabian )
v2 >>= 1;
p4 = (v1 & 0x01) | ((v1 & 0x10) >> 3) | ((v2 & 0x01) << 2) | ((v2 & 0x10) >> 1);
- state->m_converted_gfx[offs * 4 + 3] = p1;
- state->m_converted_gfx[offs * 4 + 2] = p2;
- state->m_converted_gfx[offs * 4 + 1] = p3;
- state->m_converted_gfx[offs * 4 + 0] = p4;
+ m_converted_gfx[offs * 4 + 3] = p1;
+ m_converted_gfx[offs * 4 + 2] = p2;
+ m_converted_gfx[offs * 4 + 1] = p3;
+ m_converted_gfx[offs * 4 + 0] = p4;
}
- state->save_pointer(NAME(state->m_main_bitmap), BITMAP_WIDTH * BITMAP_HEIGHT);
- state->save_pointer(NAME(state->m_converted_gfx), 0x8000 * 2);
- state->save_item(NAME(state->m_video_control));
- state->save_item(NAME(state->m_flip_screen));
+ save_pointer(NAME(m_main_bitmap), BITMAP_WIDTH * BITMAP_HEIGHT);
+ save_pointer(NAME(m_converted_gfx), 0x8000 * 2);
+ save_item(NAME(m_video_control));
+ save_item(NAME(m_flip_screen));
}
diff --git a/src/mame/video/arcadecl.c b/src/mame/video/arcadecl.c
index b8cebf6c0ef..7c93a65b3dc 100644
--- a/src/mame/video/arcadecl.c
+++ b/src/mame/video/arcadecl.c
@@ -21,7 +21,7 @@ static void arcadecl_bitmap_render(running_machine &machine, bitmap_ind16 &bitma
*
*************************************/
-VIDEO_START( arcadecl )
+VIDEO_START_MEMBER(arcadecl_state,arcadecl)
{
static const atarimo_desc modesc =
{
@@ -59,15 +59,14 @@ VIDEO_START( arcadecl )
0, /* resulting value to indicate "special" */
0, /* callback routine for special entries */
};
- arcadecl_state *state = machine.driver_data<arcadecl_state>();
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* set the intial scroll offset */
atarimo_set_xscroll(0, -12);
atarimo_set_yscroll(0, 0x110);
- state->m_has_mo = (machine.gfx[0]->elements() > 10);
+ m_has_mo = (machine().gfx[0]->elements() > 10);
}
diff --git a/src/mame/video/argus.c b/src/mame/video/argus.c
index 1b9fe75bcfd..1469efe38ac 100644
--- a/src/mame/video/argus.c
+++ b/src/mame/video/argus.c
@@ -267,85 +267,79 @@ static void reset_common(running_machine &machine)
state->m_palette_intensity = 0;
}
-VIDEO_START( argus )
+VIDEO_START_MEMBER(argus_state,argus)
{
- argus_state *state = machine.driver_data<argus_state>();
/* info offset w h col row */
- state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::argus_get_bg0_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::argus_get_bg1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::argus_get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::argus_get_bg0_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::argus_get_bg1_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::argus_get_tx_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_bg1_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_bg1_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
/* dummy RAM for back ground */
- state->m_dummy_bg0ram = auto_alloc_array(machine, UINT8, 0x800);
+ m_dummy_bg0ram = auto_alloc_array(machine(), UINT8, 0x800);
- jal_blend_init(machine, 1);
+ jal_blend_init(machine(), 1);
}
-VIDEO_RESET( argus )
+VIDEO_RESET_MEMBER(argus_state,argus)
{
- argus_state *state = machine.driver_data<argus_state>();
- state->m_lowbitscroll = 0;
- state->m_prvscrollx = 0;
- state->m_bg0_scrollx[0] = 0;
- state->m_bg0_scrollx[1] = 0;
- memset(state->m_dummy_bg0ram, 0, 0x800);
- reset_common(machine);
+ m_lowbitscroll = 0;
+ m_prvscrollx = 0;
+ m_bg0_scrollx[0] = 0;
+ m_bg0_scrollx[1] = 0;
+ memset(m_dummy_bg0ram, 0, 0x800);
+ reset_common(machine());
}
-VIDEO_START( valtric )
+VIDEO_START_MEMBER(argus_state,valtric)
{
- argus_state *state = machine.driver_data<argus_state>();
/* info offset w h col row */
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::valtric_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::valtric_get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::valtric_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::valtric_get_tx_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- machine.primary_screen->register_screen_bitmap(state->m_mosaicbitmap);
+ machine().primary_screen->register_screen_bitmap(m_mosaicbitmap);
- jal_blend_init(machine, 1);
+ jal_blend_init(machine(), 1);
}
-VIDEO_RESET( valtric )
+VIDEO_RESET_MEMBER(argus_state,valtric)
{
- argus_state *state = machine.driver_data<argus_state>();
- state->m_valtric_mosaic = 0x0f;
- reset_common(machine);
+ m_valtric_mosaic = 0x0f;
+ reset_common(machine());
}
-VIDEO_START( butasan )
+VIDEO_START_MEMBER(argus_state,butasan)
{
- argus_state *state = machine.driver_data<argus_state>();
/* info offset w h col row */
- state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::butasan_get_bg0_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::butasan_get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::butasan_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::butasan_get_bg0_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::butasan_get_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::butasan_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg1_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_bg1_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- state->m_butasan_pagedram[0] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_butasan_pagedram[1] = auto_alloc_array(machine, UINT8, 0x1000);
+ m_butasan_pagedram[0] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_butasan_pagedram[1] = auto_alloc_array(machine(), UINT8, 0x1000);
- state->m_butasan_bg0ram = &state->m_butasan_pagedram[0][0x000];
- state->m_butasan_bg0backram = &state->m_butasan_pagedram[0][0x800];
- state->m_butasan_txram = &state->m_butasan_pagedram[1][0x000];
- state->m_butasan_txbackram = &state->m_butasan_pagedram[1][0x800];
+ m_butasan_bg0ram = &m_butasan_pagedram[0][0x000];
+ m_butasan_bg0backram = &m_butasan_pagedram[0][0x800];
+ m_butasan_txram = &m_butasan_pagedram[1][0x000];
+ m_butasan_txbackram = &m_butasan_pagedram[1][0x800];
- jal_blend_init(machine, 1);
+ jal_blend_init(machine(), 1);
}
-VIDEO_RESET( butasan )
+VIDEO_RESET_MEMBER(argus_state,butasan)
{
- argus_state *state = machine.driver_data<argus_state>();
- state->m_butasan_page_latch = 0;
- state->m_butasan_bg1_status = 0x01;
- memset(state->m_butasan_pagedram[0], 0, 0x1000);
- memset(state->m_butasan_pagedram[1], 0, 0x1000);
- reset_common(machine);
+ m_butasan_page_latch = 0;
+ m_butasan_bg1_status = 0x01;
+ memset(m_butasan_pagedram[0], 0, 0x1000);
+ memset(m_butasan_pagedram[1], 0, 0x1000);
+ reset_common(machine());
}
diff --git a/src/mame/video/arkanoid.c b/src/mame/video/arkanoid.c
index 5e9a3a03c74..6241b7a2321 100644
--- a/src/mame/video/arkanoid.c
+++ b/src/mame/video/arkanoid.c
@@ -158,11 +158,10 @@ TILE_GET_INFO_MEMBER(arkanoid_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( arkanoid )
+VIDEO_START_MEMBER(arkanoid_state,arkanoid)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(arkanoid_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(arkanoid_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/armedf.c b/src/mame/video/armedf.c
index 1fdaa7c7fa5..90a9896d464 100644
--- a/src/mame/video/armedf.c
+++ b/src/mame/video/armedf.c
@@ -113,49 +113,47 @@ TILE_GET_INFO_MEMBER(armedf_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( terraf )
+VIDEO_START_MEMBER(armedf_state,terraf)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- state->m_sprite_offy = (state->m_scroll_type & 2 ) ? 0 : 128; /* legion, legiono, crazy climber 2 */
+ m_sprite_offy = (m_scroll_type & 2 ) ? 0 : 128; /* legion, legiono, crazy climber 2 */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_nb1414m4_tx_tile_info),state),
- (state->m_scroll_type == 2) ? tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type3),state) : tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type2),state), 8, 8, 64, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_nb1414m4_tx_tile_info),this),
+ (m_scroll_type == 2) ? tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type3),this) : tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type2),this), 8, 8, 64, 32);
- state->m_bg_tilemap->set_transparent_pen(0xf);
- state->m_fg_tilemap->set_transparent_pen(0xf);
- state->m_tx_tilemap->set_transparent_pen(0xf);
+ m_bg_tilemap->set_transparent_pen(0xf);
+ m_fg_tilemap->set_transparent_pen(0xf);
+ m_tx_tilemap->set_transparent_pen(0xf);
- if (state->m_scroll_type != 1)
- state->m_tx_tilemap->set_scrollx(0, -128);
+ if (m_scroll_type != 1)
+ m_tx_tilemap->set_scrollx(0, -128);
- state->m_text_videoram = auto_alloc_array(machine, UINT8, 0x1000);
- memset(state->m_text_videoram, 0x00, 0x1000);
+ m_text_videoram = auto_alloc_array(machine(), UINT8, 0x1000);
+ memset(m_text_videoram, 0x00, 0x1000);
}
-VIDEO_START( armedf )
+VIDEO_START_MEMBER(armedf_state,armedf)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- state->m_sprite_offy = (state->m_scroll_type & 2 ) ? 0 : 128; /* legion, legiono, crazy climber 2 */
+ m_sprite_offy = (m_scroll_type & 2 ) ? 0 : 128; /* legion, legiono, crazy climber 2 */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_armedf_tx_tile_info),state), tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type1),state), 8, 8, 64, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_armedf_tx_tile_info),this), tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type1),this), 8, 8, 64, 32);
- state->m_bg_tilemap->set_transparent_pen(0xf);
- state->m_fg_tilemap->set_transparent_pen(0xf);
- state->m_tx_tilemap->set_transparent_pen(0xf);
+ m_bg_tilemap->set_transparent_pen(0xf);
+ m_fg_tilemap->set_transparent_pen(0xf);
+ m_tx_tilemap->set_transparent_pen(0xf);
- if (state->m_scroll_type != 1)
- state->m_tx_tilemap->set_scrollx(0, -128);
+ if (m_scroll_type != 1)
+ m_tx_tilemap->set_scrollx(0, -128);
- state->m_text_videoram = auto_alloc_array(machine, UINT8, 0x1000);
- memset(state->m_text_videoram, 0x00, 0x1000);
+ m_text_videoram = auto_alloc_array(machine(), UINT8, 0x1000);
+ memset(m_text_videoram, 0x00, 0x1000);
}
/***************************************************************************
diff --git a/src/mame/video/artmagic.c b/src/mame/video/artmagic.c
index cbd48af8d5f..7ce0e542056 100644
--- a/src/mame/video/artmagic.c
+++ b/src/mame/video/artmagic.c
@@ -38,16 +38,15 @@ INLINE UINT16 *address_to_vram(artmagic_state *state, offs_t *address)
*
*************************************/
-VIDEO_START( artmagic )
+void artmagic_state::video_start()
{
- artmagic_state *state = machine.driver_data<artmagic_state>();
- state->m_blitter_base = (UINT16 *)state->memregion("gfx1")->base();
- state->m_blitter_mask = state->memregion("gfx1")->bytes()/2 - 1;
+ m_blitter_base = (UINT16 *)memregion("gfx1")->base();
+ m_blitter_mask = memregion("gfx1")->bytes()/2 - 1;
- state_save_register_global_array(machine, state->m_xor);
- state_save_register_global(machine, state->m_is_stoneball);
- state_save_register_global_array(machine, state->m_blitter_data);
- state_save_register_global(machine, state->m_blitter_page);
+ state_save_register_global_array(machine(), m_xor);
+ state_save_register_global(machine(), m_is_stoneball);
+ state_save_register_global_array(machine(), m_blitter_data);
+ state_save_register_global(machine(), m_blitter_page);
}
diff --git a/src/mame/video/ashnojoe.c b/src/mame/video/ashnojoe.c
index 20f2fe1e8d5..2c6d0767a61 100644
--- a/src/mame/video/ashnojoe.c
+++ b/src/mame/video/ashnojoe.c
@@ -189,23 +189,22 @@ WRITE16_MEMBER(ashnojoe_state::joe_tilemaps_yscroll_w)
}
}
-VIDEO_START( ashnojoe )
-{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
-
- state->m_joetilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_joetilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_2),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_joetilemap3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_3),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_joetilemap4 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_4),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_joetilemap5 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_5),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_joetilemap6 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_6),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_joetilemap7 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_7),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
-
- state->m_joetilemap->set_transparent_pen(15);
- state->m_joetilemap2->set_transparent_pen(15);
- state->m_joetilemap3->set_transparent_pen(15);
- state->m_joetilemap4->set_transparent_pen(15);
- state->m_joetilemap5->set_transparent_pen(15);
+void ashnojoe_state::video_start()
+{
+
+ m_joetilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_joetilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_2),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_joetilemap3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_3),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_joetilemap4 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_4),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_joetilemap5 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_5),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_joetilemap6 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_6),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_joetilemap7 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_7),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+
+ m_joetilemap->set_transparent_pen(15);
+ m_joetilemap2->set_transparent_pen(15);
+ m_joetilemap3->set_transparent_pen(15);
+ m_joetilemap4->set_transparent_pen(15);
+ m_joetilemap5->set_transparent_pen(15);
}
SCREEN_UPDATE_IND16( ashnojoe )
diff --git a/src/mame/video/astrocde.c b/src/mame/video/astrocde.c
index 99cd3e7b1ad..f92c25ff4fc 100644
--- a/src/mame/video/astrocde.c
+++ b/src/mame/video/astrocde.c
@@ -59,7 +59,7 @@ INLINE int mame_vpos_to_astrocade_vpos(int scanline)
*
*************************************/
-PALETTE_INIT( astrocde )
+void astrocde_state::palette_init()
{
/*
The Astrocade has a 256 color palette: 32 colors with 8 luminance
@@ -102,13 +102,13 @@ PALETTE_INIT( astrocde )
g = MIN(g, 255);
b = MAX(b, 0);
b = MIN(b, 255);
- palette_set_color(machine, color * 16 + luma, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), color * 16 + luma, MAKE_RGB(r, g, b));
}
}
}
-PALETTE_INIT( profpac )
+PALETTE_INIT_MEMBER(astrocde_state,profpac)
{
/* Professor Pac-Man uses a more standard 12-bit RGB palette layout */
static const int resistances[4] = { 6200, 3000, 1500, 750 };
@@ -148,7 +148,7 @@ PALETTE_INIT( profpac )
bit3 = (i >> 11) & 0x01;
r = combine_4_weights(weights, bit0, bit1, bit2, bit3);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -160,51 +160,49 @@ PALETTE_INIT( profpac )
*
*************************************/
-VIDEO_START( astrocde )
+void astrocde_state::video_start()
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
/* allocate timers */
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(scanline_callback));
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(1), 1);
- state->m_intoff_timer = machine.scheduler().timer_alloc(FUNC(interrupt_off));
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(scanline_callback));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(1), 1);
+ m_intoff_timer = machine().scheduler().timer_alloc(FUNC(interrupt_off));
/* register for save states */
- init_savestate(machine);
+ init_savestate(machine());
/* initialize the sparkle and stars */
- if (state->m_video_config & AC_STARS)
- init_sparklestar(machine);
+ if (m_video_config & AC_STARS)
+ init_sparklestar(machine());
}
-VIDEO_START( profpac )
+VIDEO_START_MEMBER(astrocde_state,profpac)
{
- astrocde_state *state = machine.driver_data<astrocde_state>();
/* allocate timers */
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(scanline_callback));
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(1), 1);
- state->m_intoff_timer = machine.scheduler().timer_alloc(FUNC(interrupt_off));
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(scanline_callback));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(1), 1);
+ m_intoff_timer = machine().scheduler().timer_alloc(FUNC(interrupt_off));
/* allocate videoram */
- state->m_profpac_videoram = auto_alloc_array(machine, UINT16, 0x4000 * 4);
+ m_profpac_videoram = auto_alloc_array(machine(), UINT16, 0x4000 * 4);
/* register for save states */
- init_savestate(machine);
+ init_savestate(machine());
/* register our specific save state data */
- state_save_register_global_pointer(machine, state->m_profpac_videoram, 0x4000 * 4);
- state_save_register_global_array(machine, state->m_profpac_palette);
- state_save_register_global_array(machine, state->m_profpac_colormap);
- state_save_register_global(machine, state->m_profpac_intercept);
- state_save_register_global(machine, state->m_profpac_vispage);
- state_save_register_global(machine, state->m_profpac_readpage);
- state_save_register_global(machine, state->m_profpac_readshift);
- state_save_register_global(machine, state->m_profpac_writepage);
- state_save_register_global(machine, state->m_profpac_writemode);
- state_save_register_global(machine, state->m_profpac_writemask);
- state_save_register_global(machine, state->m_profpac_vw);
+ state_save_register_global_pointer(machine(), m_profpac_videoram, 0x4000 * 4);
+ state_save_register_global_array(machine(), m_profpac_palette);
+ state_save_register_global_array(machine(), m_profpac_colormap);
+ state_save_register_global(machine(), m_profpac_intercept);
+ state_save_register_global(machine(), m_profpac_vispage);
+ state_save_register_global(machine(), m_profpac_readpage);
+ state_save_register_global(machine(), m_profpac_readshift);
+ state_save_register_global(machine(), m_profpac_writepage);
+ state_save_register_global(machine(), m_profpac_writemode);
+ state_save_register_global(machine(), m_profpac_writemask);
+ state_save_register_global(machine(), m_profpac_vw);
}
diff --git a/src/mame/video/atarifb.c b/src/mame/video/atarifb.c
index 7457ac9246c..9d930eaeeb7 100644
--- a/src/mame/video/atarifb.c
+++ b/src/mame/video/atarifb.c
@@ -87,13 +87,12 @@ WRITE8_MEMBER(atarifb_state::atarifb_field_videoram_w)
*
*************************************/
-VIDEO_START( atarifb )
+void atarifb_state::video_start()
{
- atarifb_state *state = machine.driver_data<atarifb_state>();
- state->m_alpha1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarifb_state::alpha1_get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 3, 32);
- state->m_alpha2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarifb_state::alpha2_get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 3, 32);
- state->m_field_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarifb_state::field_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_alpha1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarifb_state::alpha1_get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 3, 32);
+ m_alpha2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarifb_state::alpha2_get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 3, 32);
+ m_field_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarifb_state::field_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/atarig1.c b/src/mame/video/atarig1.c
index 6d8865e9c05..28ed4dc0d1d 100644
--- a/src/mame/video/atarig1.c
+++ b/src/mame/video/atarig1.c
@@ -42,31 +42,30 @@ TILE_GET_INFO_MEMBER(atarig1_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( atarig1 )
+VIDEO_START_MEMBER(atarig1_state,atarig1)
{
- atarig1_state *state = machine.driver_data<atarig1_state>();
/* blend the playfields and free the temporary one */
- atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x10);
+ atarigen_blend_gfx(machine(), 0, 2, 0x0f, 0x10);
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarig1_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarig1_state::get_playfield_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,64);
/* initialize the motion objects */
- state->m_rle = machine.device("rle");
+ m_rle = machine().device("rle");
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarig1_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarig1_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
/* reset statics */
- state->m_pfscroll_xoffset = state->m_is_pitfight ? 2 : 0;
+ m_pfscroll_xoffset = m_is_pitfight ? 2 : 0;
/* state saving */
- state->save_item(NAME(state->m_current_control));
- state->save_item(NAME(state->m_playfield_tile_bank));
- state->save_item(NAME(state->m_playfield_xscroll));
- state->save_item(NAME(state->m_playfield_yscroll));
+ save_item(NAME(m_current_control));
+ save_item(NAME(m_playfield_tile_bank));
+ save_item(NAME(m_playfield_xscroll));
+ save_item(NAME(m_playfield_yscroll));
}
diff --git a/src/mame/video/atarig42.c b/src/mame/video/atarig42.c
index 1c298021b18..2c7a57b51d9 100644
--- a/src/mame/video/atarig42.c
+++ b/src/mame/video/atarig42.c
@@ -65,29 +65,28 @@ TILEMAP_MAPPER_MEMBER(atarig42_state::atarig42_playfield_scan)
*
*************************************/
-VIDEO_START( atarig42 )
+VIDEO_START_MEMBER(atarig42_state,atarig42)
{
- atarig42_state *state = machine.driver_data<atarig42_state>();
/* blend the playfields and free the temporary one */
- atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x30);
+ atarigen_blend_gfx(machine(), 0, 2, 0x0f, 0x30);
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarig42_state::get_playfield_tile_info),state), tilemap_mapper_delegate(FUNC(atarig42_state::atarig42_playfield_scan),state), 8,8, 128,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarig42_state::get_playfield_tile_info),this), tilemap_mapper_delegate(FUNC(atarig42_state::atarig42_playfield_scan),this), 8,8, 128,64);
/* initialize the motion objects */
- state->m_rle = machine.device("rle");
+ m_rle = machine().device("rle");
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarig42_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarig42_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
/* save states */
- state->save_item(NAME(state->m_current_control));
- state->save_item(NAME(state->m_playfield_tile_bank));
- state->save_item(NAME(state->m_playfield_color_bank));
- state->save_item(NAME(state->m_playfield_xscroll));
- state->save_item(NAME(state->m_playfield_yscroll));
+ save_item(NAME(m_current_control));
+ save_item(NAME(m_playfield_tile_bank));
+ save_item(NAME(m_playfield_color_bank));
+ save_item(NAME(m_playfield_xscroll));
+ save_item(NAME(m_playfield_yscroll));
}
diff --git a/src/mame/video/atarigt.c b/src/mame/video/atarigt.c
index 0c176b29c0a..48468a59516 100644
--- a/src/mame/video/atarigt.c
+++ b/src/mame/video/atarigt.c
@@ -74,47 +74,46 @@ TILEMAP_MAPPER_MEMBER(atarigt_state::atarigt_playfield_scan)
*
*************************************/
-VIDEO_START( atarigt )
+VIDEO_START_MEMBER(atarigt_state,atarigt)
{
- atarigt_state *state = machine.driver_data<atarigt_state>();
pen_t *substitute_pens;
int i, width, height;
/* blend the playfields and free the temporary one */
- atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x30);
+ atarigen_blend_gfx(machine(), 0, 2, 0x0f, 0x30);
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarigt_state::get_playfield_tile_info),state), tilemap_mapper_delegate(FUNC(atarigt_state::atarigt_playfield_scan),state), 8,8, 128,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarigt_state::get_playfield_tile_info),this), tilemap_mapper_delegate(FUNC(atarigt_state::atarigt_playfield_scan),this), 8,8, 128,64);
/* initialize the motion objects */
- state->m_rle = machine.device("rle");
+ m_rle = machine().device("rle");
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarigt_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarigt_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
/* allocate temp bitmaps */
- width = machine.primary_screen->width();
- height = machine.primary_screen->height();
+ width = machine().primary_screen->width();
+ height = machine().primary_screen->height();
- state->m_pf_bitmap = auto_bitmap_ind16_alloc(machine, width, height);
- state->m_an_bitmap = auto_bitmap_ind16_alloc(machine, width, height);
+ m_pf_bitmap = auto_bitmap_ind16_alloc(machine(), width, height);
+ m_an_bitmap = auto_bitmap_ind16_alloc(machine(), width, height);
/* map pens 1:1 */
- substitute_pens = auto_alloc_array(machine, pen_t, 65536);
- for (i = 0; i < machine.total_colors(); i++)
+ substitute_pens = auto_alloc_array(machine(), pen_t, 65536);
+ for (i = 0; i < machine().total_colors(); i++)
substitute_pens[i] = i;
- machine.pens = substitute_pens;
+ machine().pens = substitute_pens;
/* reset statics */
- memset(state->m_colorram, 0, 0x80000);
+ memset(m_colorram, 0, 0x80000);
/* save states */
- state->save_item(NAME(state->m_playfield_tile_bank));
- state->save_item(NAME(state->m_playfield_color_bank));
- state->save_item(NAME(state->m_playfield_xscroll));
- state->save_item(NAME(state->m_playfield_yscroll));
- state->save_item(NAME(state->m_tram_checksum));
- state->save_item(NAME(state->m_expanded_mram));
+ save_item(NAME(m_playfield_tile_bank));
+ save_item(NAME(m_playfield_color_bank));
+ save_item(NAME(m_playfield_xscroll));
+ save_item(NAME(m_playfield_yscroll));
+ save_item(NAME(m_tram_checksum));
+ save_item(NAME(m_expanded_mram));
}
diff --git a/src/mame/video/atarigx2.c b/src/mame/video/atarigx2.c
index 88a287a03b7..124b0e71e64 100644
--- a/src/mame/video/atarigx2.c
+++ b/src/mame/video/atarigx2.c
@@ -65,29 +65,28 @@ TILEMAP_MAPPER_MEMBER(atarigx2_state::atarigx2_playfield_scan)
*
*************************************/
-VIDEO_START( atarigx2 )
+VIDEO_START_MEMBER(atarigx2_state,atarigx2)
{
- atarigx2_state *state = machine.driver_data<atarigx2_state>();
/* blend the playfields and free the temporary one */
- atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x30);
+ atarigen_blend_gfx(machine(), 0, 2, 0x0f, 0x30);
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarigx2_state::get_playfield_tile_info),state), tilemap_mapper_delegate(FUNC(atarigx2_state::atarigx2_playfield_scan),state), 8,8, 128,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarigx2_state::get_playfield_tile_info),this), tilemap_mapper_delegate(FUNC(atarigx2_state::atarigx2_playfield_scan),this), 8,8, 128,64);
/* initialize the motion objects */
- state->m_rle = machine.device("rle");
+ m_rle = machine().device("rle");
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarigx2_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarigx2_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
/* save states */
- state->save_item(NAME(state->m_current_control));
- state->save_item(NAME(state->m_playfield_tile_bank));
- state->save_item(NAME(state->m_playfield_color_bank));
- state->save_item(NAME(state->m_playfield_xscroll));
- state->save_item(NAME(state->m_playfield_yscroll));
+ save_item(NAME(m_current_control));
+ save_item(NAME(m_playfield_tile_bank));
+ save_item(NAME(m_playfield_color_bank));
+ save_item(NAME(m_playfield_xscroll));
+ save_item(NAME(m_playfield_yscroll));
}
diff --git a/src/mame/video/atarisy1.c b/src/mame/video/atarisy1.c
index f500be31f38..a4c8ea38604 100644
--- a/src/mame/video/atarisy1.c
+++ b/src/mame/video/atarisy1.c
@@ -120,7 +120,7 @@ TILE_GET_INFO_MEMBER(atarisy1_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( atarisy1 )
+VIDEO_START_MEMBER(atarisy1_state,atarisy1)
{
static const atarimo_desc modesc =
{
@@ -159,24 +159,23 @@ VIDEO_START( atarisy1 )
0 /* callback routine for special entries */
};
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
UINT16 motable[256];
UINT16 *codelookup;
UINT8 *colorlookup, *gfxlookup;
int i, size;
/* first decode the graphics */
- decode_gfx(machine, state->m_playfield_lookup, motable);
+ decode_gfx(machine(), m_playfield_lookup, motable);
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarisy1_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarisy1_state::get_playfield_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarisy1_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarisy1_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
/* modify the motion object code lookup */
codelookup = atarimo_get_code_lookup(0, &size);
@@ -194,12 +193,12 @@ VIDEO_START( atarisy1 )
/* reset the statics */
atarimo_set_yscroll(0, 256);
- state->m_next_timer_scanline = -1;
+ m_next_timer_scanline = -1;
/* save state */
- state->save_item(NAME(state->m_playfield_tile_bank));
- state->save_item(NAME(state->m_playfield_priority_pens));
- state->save_item(NAME(state->m_next_timer_scanline));
+ save_item(NAME(m_playfield_tile_bank));
+ save_item(NAME(m_playfield_priority_pens));
+ save_item(NAME(m_next_timer_scanline));
}
diff --git a/src/mame/video/atarisy2.c b/src/mame/video/atarisy2.c
index 89a8eb41e72..2ebdedb2368 100644
--- a/src/mame/video/atarisy2.c
+++ b/src/mame/video/atarisy2.c
@@ -53,7 +53,7 @@ TILE_GET_INFO_MEMBER(atarisy2_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( atarisy2 )
+VIDEO_START_MEMBER(atarisy2_state,atarisy2)
{
static const atarimo_desc modesc =
{
@@ -91,30 +91,29 @@ VIDEO_START( atarisy2 )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
/* initialize banked memory */
- state->m_alpha.set_target(&state->m_vram[0x0000], 0x2000);
- state->m_playfield.set_target(&state->m_vram[0x2000], 0x2000);
+ m_alpha.set_target(&m_vram[0x0000], 0x2000);
+ m_playfield.set_target(&m_vram[0x2000], 0x2000);
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarisy2_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 128,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarisy2_state::get_playfield_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 128,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarisy2_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,48);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atarisy2_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,48);
+ m_alpha_tilemap->set_transparent_pen(0);
/* reset the statics */
- state->m_yscroll_reset_timer = machine.scheduler().timer_alloc(FUNC(reset_yscroll_callback));
- state->m_videobank = 0;
+ m_yscroll_reset_timer = machine().scheduler().timer_alloc(FUNC(reset_yscroll_callback));
+ m_videobank = 0;
/* save states */
- state->save_item(NAME(state->m_playfield_tile_bank));
- state->save_item(NAME(state->m_videobank));
- state->save_item(NAME(state->m_vram));
+ save_item(NAME(m_playfield_tile_bank));
+ save_item(NAME(m_videobank));
+ save_item(NAME(m_vram));
}
diff --git a/src/mame/video/atetris.c b/src/mame/video/atetris.c
index 289bd684106..161f78f5fa1 100644
--- a/src/mame/video/atetris.c
+++ b/src/mame/video/atetris.c
@@ -47,11 +47,10 @@ WRITE8_MEMBER(atetris_state::atetris_videoram_w)
*
*************************************/
-VIDEO_START( atetris )
+void atetris_state::video_start()
{
- atetris_state *state = machine.driver_data<atetris_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atetris_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(atetris_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
}
diff --git a/src/mame/video/aztarac.c b/src/mame/video/aztarac.c
index 1168d488c4c..7325c69d8c0 100644
--- a/src/mame/video/aztarac.c
+++ b/src/mame/video/aztarac.c
@@ -80,18 +80,17 @@ WRITE16_MEMBER(aztarac_state::aztarac_ubr_w)
}
-VIDEO_START( aztarac )
+void aztarac_state::video_start()
{
- aztarac_state *state = machine.driver_data<aztarac_state>();
- const rectangle &visarea = machine.primary_screen->visible_area();
+ const rectangle &visarea = machine().primary_screen->visible_area();
int xmin = visarea.min_x;
int ymin = visarea.min_y;
int xmax = visarea.max_x;
int ymax = visarea.max_y;
- state->m_xcenter=((xmax + xmin) / 2) << 16;
- state->m_ycenter=((ymax + ymin) / 2) << 16;
+ m_xcenter=((xmax + xmin) / 2) << 16;
+ m_ycenter=((ymax + ymin) / 2) << 16;
- VIDEO_START_CALL(vector);
+ VIDEO_START_CALL_LEGACY(vector);
}
diff --git a/src/mame/video/badlands.c b/src/mame/video/badlands.c
index 2310c17f246..2f04918ef75 100644
--- a/src/mame/video/badlands.c
+++ b/src/mame/video/badlands.c
@@ -32,7 +32,7 @@ TILE_GET_INFO_MEMBER(badlands_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( badlands )
+VIDEO_START_MEMBER(badlands_state,badlands)
{
static const atarimo_desc modesc =
{
@@ -70,16 +70,15 @@ VIDEO_START( badlands )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- badlands_state *state = machine.driver_data<badlands_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(badlands_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(badlands_state::get_playfield_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* save states */
- state->save_item(NAME(state->m_playfield_tile_bank));
+ save_item(NAME(m_playfield_tile_bank));
}
diff --git a/src/mame/video/bagman.c b/src/mame/video/bagman.c
index 4c92a8ce26e..879a26c56b2 100644
--- a/src/mame/video/bagman.c
+++ b/src/mame/video/bagman.c
@@ -42,9 +42,9 @@ WRITE8_MEMBER(bagman_state::bagman_colorram_w)
bit 0 -- 1 kohm resistor -- /
***************************************************************************/
-PALETTE_INIT( bagman )
+PALETTE_INIT_MEMBER(bagman_state,bagman)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
@@ -57,7 +57,7 @@ PALETTE_INIT( bagman )
2, resistances_b, weights_b, 470, 0);
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -76,7 +76,7 @@ PALETTE_INIT( bagman )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -98,13 +98,12 @@ TILE_GET_INFO_MEMBER(bagman_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
}
-VIDEO_START( bagman )
+VIDEO_START_MEMBER(bagman_state,bagman)
{
- bagman_state *state = machine.driver_data<bagman_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bagman_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bagman_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_bg_tilemap->set_scrolldy(-1, -1);
+ m_bg_tilemap->set_scrolldy(-1, -1);
}
diff --git a/src/mame/video/balsente.c b/src/mame/video/balsente.c
index 217c31ca384..be1ed654980 100644
--- a/src/mame/video/balsente.c
+++ b/src/mame/video/balsente.c
@@ -16,22 +16,21 @@
*
*************************************/
-VIDEO_START( balsente )
+void balsente_state::video_start()
{
- balsente_state *state = machine.driver_data<balsente_state>();
/* reset the system */
- state->m_palettebank_vis = 0;
- state->m_sprite_bank[0] = state->memregion("gfx1")->base();
- state->m_sprite_bank[1] = state->memregion("gfx1")->base() + 0x10000;
+ m_palettebank_vis = 0;
+ m_sprite_bank[0] = memregion("gfx1")->base();
+ m_sprite_bank[1] = memregion("gfx1")->base() + 0x10000;
/* determine sprite size */
- state->m_sprite_data = state->memregion("gfx1")->base();
- state->m_sprite_mask = state->memregion("gfx1")->bytes() - 1;
+ m_sprite_data = memregion("gfx1")->base();
+ m_sprite_mask = memregion("gfx1")->bytes() - 1;
/* register for saving */
- state->save_item(NAME(state->m_expanded_videoram));
- state->save_item(NAME(state->m_palettebank_vis));
+ save_item(NAME(m_expanded_videoram));
+ save_item(NAME(m_palettebank_vis));
}
diff --git a/src/mame/video/bankp.c b/src/mame/video/bankp.c
index c74c4246fcc..cf37c90b722 100644
--- a/src/mame/video/bankp.c
+++ b/src/mame/video/bankp.c
@@ -33,13 +33,13 @@
***************************************************************************/
-PALETTE_INIT( bankp )
+void bankp_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
for (i = 0; i < 32; i++)
{
@@ -61,7 +61,7 @@ PALETTE_INIT( bankp )
bit2 = (*color_prom >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r,g,b));
color_prom++;
}
@@ -69,14 +69,14 @@ PALETTE_INIT( bankp )
/* color_prom now points to the beginning of the lookup table */
/* charset #1 lookup table */
- for (i = 0; i < machine.gfx[0]->colors() * machine.gfx[0]->granularity(); i++)
- colortable_entry_set_value(machine.colortable, machine.gfx[0]->colorbase() + i, *color_prom++ & 0x0f);
+ for (i = 0; i < machine().gfx[0]->colors() * machine().gfx[0]->granularity(); i++)
+ colortable_entry_set_value(machine().colortable, machine().gfx[0]->colorbase() + i, *color_prom++ & 0x0f);
color_prom += 128; /* skip the bottom half of the PROM - seems to be not used */
/* charset #2 lookup table */
- for (i = 0; i < machine.gfx[1]->colors() * machine.gfx[1]->granularity(); i++)
- colortable_entry_set_value(machine.colortable, machine.gfx[1]->colorbase() + i, *color_prom++ & 0x0f);
+ for (i = 0; i < machine().gfx[1]->colors() * machine().gfx[1]->granularity(); i++)
+ colortable_entry_set_value(machine().colortable, machine().gfx[1]->colorbase() + i, *color_prom++ & 0x0f);
/* the bottom half of the PROM seems to be not used */
}
@@ -152,18 +152,17 @@ TILE_GET_INFO_MEMBER(bankp_state::get_fg_tile_info)
tileinfo.group = color;
}
-VIDEO_START( bankp )
+void bankp_state::video_start()
{
- bankp_state *state = machine.driver_data<bankp_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bankp_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bankp_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bankp_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bankp_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[1], 0);
- colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[1], 0);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, machine().gfx[0], 0);
- state->save_item(NAME(state->m_scroll_x));
- state->save_item(NAME(state->m_priority));
+ save_item(NAME(m_scroll_x));
+ save_item(NAME(m_priority));
}
SCREEN_UPDATE_IND16( bankp )
diff --git a/src/mame/video/baraduke.c b/src/mame/video/baraduke.c
index e6930cee1cd..a69cee19283 100644
--- a/src/mame/video/baraduke.c
+++ b/src/mame/video/baraduke.c
@@ -15,9 +15,9 @@
***************************************************************************/
-PALETTE_INIT( baraduke )
+void baraduke_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int bit0,bit1,bit2,bit3,r,g,b;
@@ -44,7 +44,7 @@ PALETTE_INIT( baraduke )
bit3 = (color_prom[0] >> 7) & 0x01;
b = 0x0e*bit0 + 0x1f*bit1 + 0x43*bit2 + 0x8f*bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -113,19 +113,18 @@ TILE_GET_INFO_MEMBER(baraduke_state::get_tile_info1)
***************************************************************************/
-VIDEO_START( baraduke )
+void baraduke_state::video_start()
{
- baraduke_state *state = machine.driver_data<baraduke_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(baraduke_state::tx_get_tile_info),state),tilemap_mapper_delegate(FUNC(baraduke_state::tx_tilemap_scan),state),8,8,36,28);
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(baraduke_state::get_tile_info0),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(baraduke_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(baraduke_state::tx_get_tile_info),this),tilemap_mapper_delegate(FUNC(baraduke_state::tx_tilemap_scan),this),8,8,36,28);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(baraduke_state::get_tile_info0),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(baraduke_state::get_tile_info1),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_tx_tilemap->set_transparent_pen(3);
- state->m_bg_tilemap[0]->set_transparent_pen(7);
- state->m_bg_tilemap[1]->set_transparent_pen(7);
+ m_tx_tilemap->set_transparent_pen(3);
+ m_bg_tilemap[0]->set_transparent_pen(7);
+ m_bg_tilemap[1]->set_transparent_pen(7);
- state->m_tx_tilemap->set_scrolldx(0,512-288);
- state->m_tx_tilemap->set_scrolldy(16,16);
+ m_tx_tilemap->set_scrolldx(0,512-288);
+ m_tx_tilemap->set_scrolldy(16,16);
}
diff --git a/src/mame/video/batman.c b/src/mame/video/batman.c
index 6953e5270cf..c038c37a5ad 100644
--- a/src/mame/video/batman.c
+++ b/src/mame/video/batman.c
@@ -55,7 +55,7 @@ TILE_GET_INFO_MEMBER(batman_state::get_playfield2_tile_info)
*
*************************************/
-VIDEO_START( batman )
+VIDEO_START_MEMBER(batman_state,batman)
{
static const atarimo_desc modesc =
{
@@ -93,21 +93,20 @@ VIDEO_START( batman )
0, /* resulting value to indicate "special" */
NULL /* callback routine for special entries */
};
- batman_state *state = machine.driver_data<batman_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(batman_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(batman_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the second playfield */
- state->m_playfield2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(batman_state::get_playfield2_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
- state->m_playfield2_tilemap->set_transparent_pen(0);
+ m_playfield2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(batman_state::get_playfield2_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield2_tilemap->set_transparent_pen(0);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(batman_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(batman_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/battlane.c b/src/mame/video/battlane.c
index 8ab9a5af660..98d006769c2 100644
--- a/src/mame/video/battlane.c
+++ b/src/mame/video/battlane.c
@@ -133,11 +133,10 @@ TILEMAP_MAPPER_MEMBER(battlane_state::battlane_tilemap_scan_rows_2x2)
***************************************************************************/
-VIDEO_START( battlane )
+void battlane_state::video_start()
{
- battlane_state *state = machine.driver_data<battlane_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(battlane_state::get_tile_info_bg),state), tilemap_mapper_delegate(FUNC(battlane_state::battlane_tilemap_scan_rows_2x2),state), 16, 16, 32, 32);
- state->m_screen_bitmap.allocate(32 * 8, 32 * 8);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(battlane_state::get_tile_info_bg),this), tilemap_mapper_delegate(FUNC(battlane_state::battlane_tilemap_scan_rows_2x2),this), 16, 16, 32, 32);
+ m_screen_bitmap.allocate(32 * 8, 32 * 8);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/battlera.c b/src/mame/video/battlera.c
index 7cc6bf00607..8f99a300bce 100644
--- a/src/mame/video/battlera.c
+++ b/src/mame/video/battlera.c
@@ -14,26 +14,25 @@
/******************************************************************************/
-VIDEO_START( battlera )
+void battlera_state::video_start()
{
- battlera_state *state = machine.driver_data<battlera_state>();
- state->m_HuC6270_vram=auto_alloc_array(machine, UINT8, 0x20000);
- state->m_vram_dirty=auto_alloc_array(machine, UINT8, 0x1000);
+ m_HuC6270_vram=auto_alloc_array(machine(), UINT8, 0x20000);
+ m_vram_dirty=auto_alloc_array(machine(), UINT8, 0x1000);
- memset(state->m_HuC6270_vram,0,0x20000);
- memset(state->m_vram_dirty,1,0x1000);
+ memset(m_HuC6270_vram,0,0x20000);
+ memset(m_vram_dirty,1,0x1000);
- state->m_tile_bitmap=auto_bitmap_ind16_alloc(machine,512,512);
- state->m_front_bitmap=auto_bitmap_ind16_alloc(machine,512,512);
+ m_tile_bitmap=auto_bitmap_ind16_alloc(machine(),512,512);
+ m_front_bitmap=auto_bitmap_ind16_alloc(machine(),512,512);
- state->m_vram_ptr=0;
- state->m_inc_value=1;
- state->m_current_scanline=0;
- state->m_irq_enable=state->m_rcr_enable=state->m_sb_enable=state->m_bb_enable=0;
+ m_vram_ptr=0;
+ m_inc_value=1;
+ m_current_scanline=0;
+ m_irq_enable=m_rcr_enable=m_sb_enable=m_bb_enable=0;
- machine.gfx[0]->set_source(state->m_HuC6270_vram);
- machine.gfx[1]->set_source(state->m_HuC6270_vram);
- machine.gfx[2]->set_source(state->m_blank_tile);
+ machine().gfx[0]->set_source(m_HuC6270_vram);
+ machine().gfx[1]->set_source(m_HuC6270_vram);
+ machine().gfx[2]->set_source(m_blank_tile);
}
/******************************************************************************/
diff --git a/src/mame/video/battlex.c b/src/mame/video/battlex.c
index 74eafd02cc9..7dab35a229f 100644
--- a/src/mame/video/battlex.c
+++ b/src/mame/video/battlex.c
@@ -53,10 +53,9 @@ TILE_GET_INFO_MEMBER(battlex_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, tile, color, 0);
}
-VIDEO_START( battlex )
+void battlex_state::video_start()
{
- battlex_state *state = machine.driver_data<battlex_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(battlex_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(battlex_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/bbusters.c b/src/mame/video/bbusters.c
index 5185456d3bf..4d952ec4ec0 100644
--- a/src/mame/video/bbusters.c
+++ b/src/mame/video/bbusters.c
@@ -71,28 +71,26 @@ WRITE16_MEMBER(bbusters_state::bbusters_pf2_w)
/******************************************************************************/
-VIDEO_START( bbuster )
+VIDEO_START_MEMBER(bbusters_state,bbuster)
{
- bbusters_state *state = machine.driver_data<bbusters_state>();
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_bbusters_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
- state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf2_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_bbusters_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf1_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
+ m_pf2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf2_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
- state->m_pf1_tilemap->set_transparent_pen(15);
- state->m_fix_tilemap->set_transparent_pen(15);
+ m_pf1_tilemap->set_transparent_pen(15);
+ m_fix_tilemap->set_transparent_pen(15);
}
-VIDEO_START( mechatt )
+VIDEO_START_MEMBER(bbusters_state,mechatt)
{
- bbusters_state *state = machine.driver_data<bbusters_state>();
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_bbusters_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 256, 32);
- state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf2_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 256, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_bbusters_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf1_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 256, 32);
+ m_pf2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf2_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 256, 32);
- state->m_pf1_tilemap->set_transparent_pen(15);
- state->m_fix_tilemap->set_transparent_pen(15);
+ m_pf1_tilemap->set_transparent_pen(15);
+ m_fix_tilemap->set_transparent_pen(15);
}
/******************************************************************************/
diff --git a/src/mame/video/bigevglf.c b/src/mame/video/bigevglf.c
index bda915eb6c4..dd8de34ce02 100644
--- a/src/mame/video/bigevglf.c
+++ b/src/mame/video/bigevglf.c
@@ -49,22 +49,21 @@ READ8_MEMBER(bigevglf_state::bigevglf_vidram_r)
return m_vidram[0x10000 * m_plane_selected + m_vidram_bank + offset];
}
-VIDEO_START( bigevglf )
+void bigevglf_state::video_start()
{
- bigevglf_state *state = machine.driver_data<bigevglf_state>();
- machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap[0]);
- machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap[1]);
- machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap[2]);
- machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap[3]);
- state->save_item(NAME(state->m_tmp_bitmap[0]));
- state->save_item(NAME(state->m_tmp_bitmap[1]));
- state->save_item(NAME(state->m_tmp_bitmap[2]));
- state->save_item(NAME(state->m_tmp_bitmap[3]));
+ machine().primary_screen->register_screen_bitmap(m_tmp_bitmap[0]);
+ machine().primary_screen->register_screen_bitmap(m_tmp_bitmap[1]);
+ machine().primary_screen->register_screen_bitmap(m_tmp_bitmap[2]);
+ machine().primary_screen->register_screen_bitmap(m_tmp_bitmap[3]);
+ save_item(NAME(m_tmp_bitmap[0]));
+ save_item(NAME(m_tmp_bitmap[1]));
+ save_item(NAME(m_tmp_bitmap[2]));
+ save_item(NAME(m_tmp_bitmap[3]));
- state->m_vidram = auto_alloc_array(machine, UINT8, 0x100 * 0x100 * 4);
+ m_vidram = auto_alloc_array(machine(), UINT8, 0x100 * 0x100 * 4);
- state->save_pointer(NAME(state->m_vidram), 0x100 * 0x100 * 4);
+ save_pointer(NAME(m_vidram), 0x100 * 0x100 * 4);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/bigstrkb.c b/src/mame/video/bigstrkb.c
index 985b7b9a882..09bd79ab848 100644
--- a/src/mame/video/bigstrkb.c
+++ b/src/mame/video/bigstrkb.c
@@ -110,16 +110,15 @@ WRITE16_MEMBER(bigstrkb_state::bsb_videoram3_w)
/* Video Start / Update */
-VIDEO_START(bigstrkb)
+void bigstrkb_state::video_start()
{
- bigstrkb_state *state = machine.driver_data<bigstrkb_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile_info),state),TILEMAP_SCAN_COLS, 8, 8,64,32);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile2_info),state),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),state), 16, 16,128,64);
- state->m_tilemap3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile3_info),state),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),state), 16, 16,128,64);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile_info),this),TILEMAP_SCAN_COLS, 8, 8,64,32);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile2_info),this),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),this), 16, 16,128,64);
+ m_tilemap3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile3_info),this),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),this), 16, 16,128,64);
- state->m_tilemap->set_transparent_pen(15);
- //state->m_tilemap2->set_transparent_pen(15);
- state->m_tilemap3->set_transparent_pen(15);
+ m_tilemap->set_transparent_pen(15);
+ //m_tilemap2->set_transparent_pen(15);
+ m_tilemap3->set_transparent_pen(15);
}
SCREEN_UPDATE_IND16(bigstrkb)
diff --git a/src/mame/video/bionicc.c b/src/mame/video/bionicc.c
index fa7f88ac9e3..4500d18d6f3 100644
--- a/src/mame/video/bionicc.c
+++ b/src/mame/video/bionicc.c
@@ -89,18 +89,17 @@ TILE_GET_INFO_MEMBER(bionicc_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( bionicc )
+void bionicc_state::video_start()
{
- bionicc_state *state = machine.driver_data<bionicc_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bionicc_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bionicc_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bionicc_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bionicc_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bionicc_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bionicc_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tx_tilemap->set_transparent_pen(3);
- state->m_fg_tilemap->set_transmask(0, 0xffff, 0x8000); /* split type 0 is completely transparent in front half */
- state->m_fg_tilemap->set_transmask(1, 0xffc1, 0x803e); /* split type 1 has pens 1-5 opaque in front half */
- state->m_bg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(3);
+ m_fg_tilemap->set_transmask(0, 0xffff, 0x8000); /* split type 0 is completely transparent in front half */
+ m_fg_tilemap->set_transmask(1, 0xffc1, 0x803e); /* split type 1 has pens 1-5 opaque in front half */
+ m_bg_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/bishi.c b/src/mame/video/bishi.c
index d194fb19375..4da225aafee 100644
--- a/src/mame/video/bishi.c
+++ b/src/mame/video/bishi.c
@@ -24,24 +24,23 @@ void bishi_tile_callback( running_machine &machine, int layer, int *code, int *c
*color = state->m_layer_colorbase[layer] + ((*color & 0xf0));
}
-VIDEO_START( bishi )
+void bishi_state::video_start()
{
- bishi_state *state = machine.driver_data<bishi_state>();
- assert(machine.primary_screen->format() == BITMAP_FORMAT_RGB32);
+ assert(machine().primary_screen->format() == BITMAP_FORMAT_RGB32);
- k056832_set_layer_association(state->m_k056832, 0);
+ k056832_set_layer_association(m_k056832, 0);
- k056832_set_layer_offs(state->m_k056832, 0, -2, 0);
- k056832_set_layer_offs(state->m_k056832, 1, 2, 0);
- k056832_set_layer_offs(state->m_k056832, 2, 4, 0);
- k056832_set_layer_offs(state->m_k056832, 3, 6, 0);
+ k056832_set_layer_offs(m_k056832, 0, -2, 0);
+ k056832_set_layer_offs(m_k056832, 1, 2, 0);
+ k056832_set_layer_offs(m_k056832, 2, 4, 0);
+ k056832_set_layer_offs(m_k056832, 3, 6, 0);
// the 55555 is set to "0x10, 0x11, 0x12, 0x13", but these values are almost correct...
- state->m_layer_colorbase[0] = 0x00;
- state->m_layer_colorbase[1] = 0x40; // this one is wrong
- state->m_layer_colorbase[2] = 0x80;
- state->m_layer_colorbase[3] = 0xc0;
+ m_layer_colorbase[0] = 0x00;
+ m_layer_colorbase[1] = 0x40; // this one is wrong
+ m_layer_colorbase[2] = 0x80;
+ m_layer_colorbase[3] = 0xc0;
}
SCREEN_UPDATE_RGB32(bishi)
diff --git a/src/mame/video/bking.c b/src/mame/video/bking.c
index b5779dfbffe..fd9949d96d6 100644
--- a/src/mame/video/bking.c
+++ b/src/mame/video/bking.c
@@ -28,9 +28,9 @@
***************************************************************************/
-PALETTE_INIT( bking )
+void bking_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 220, 390, 820 };
static const int resistances_b [2] = { 220, 390 };
double rweights[3], gweights[3], bweights[2];
@@ -42,7 +42,7 @@ PALETTE_INIT( bking )
3, &resistances_rg[0], gweights, 0, 0,
2, &resistances_b[0], bweights, 0, 0);
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
UINT16 pen;
int bit0, bit1, bit2, r, g, b;
@@ -78,7 +78,7 @@ PALETTE_INIT( bking )
bit1 = (color_prom[pen] >> 7) & 0x01;
b = combine_2_weights(gweights, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -222,15 +222,14 @@ TILE_GET_INFO_MEMBER(bking_state::get_tile_info)
}
-VIDEO_START( bking )
+void bking_state::video_start()
{
- bking_state *state = machine.driver_data<bking_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bking_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap1);
- machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap2);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bking_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ machine().primary_screen->register_screen_bitmap(m_tmp_bitmap1);
+ machine().primary_screen->register_screen_bitmap(m_tmp_bitmap2);
- state->save_item(NAME(state->m_tmp_bitmap1));
- state->save_item(NAME(state->m_tmp_bitmap2));
+ save_item(NAME(m_tmp_bitmap1));
+ save_item(NAME(m_tmp_bitmap2));
}
diff --git a/src/mame/video/bladestl.c b/src/mame/video/bladestl.c
index 09ac6735278..f9aaec48c08 100644
--- a/src/mame/video/bladestl.c
+++ b/src/mame/video/bladestl.c
@@ -3,23 +3,23 @@
#include "includes/bladestl.h"
-PALETTE_INIT( bladestl )
+void bladestl_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x30);
+ machine().colortable = colortable_alloc(machine(), 0x30);
/* characters use pens 0x00-0x1f, no look-up table */
for (i = 0; i < 0x20; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprites use pens 0x20-0x2f */
for (i = 0x20; i < 0x120; i++)
{
UINT8 ctabentry = (color_prom[i - 0x20] & 0x0f) | 0x20;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
diff --git a/src/mame/video/blktiger.c b/src/mame/video/blktiger.c
index b8c34559fef..3567d1dbbdf 100644
--- a/src/mame/video/blktiger.c
+++ b/src/mame/video/blktiger.c
@@ -62,33 +62,32 @@ TILE_GET_INFO_MEMBER(blktiger_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( blktiger )
+void blktiger_state::video_start()
{
- blktiger_state *state = machine.driver_data<blktiger_state>();
- state->m_chon = 1;
- state->m_bgon = 1;
- state->m_objon = 1;
- state->m_screen_layout = 0;
+ m_chon = 1;
+ m_bgon = 1;
+ m_objon = 1;
+ m_screen_layout = 0;
- state->m_scroll_ram = auto_alloc_array(machine, UINT8, BGRAM_BANK_SIZE * BGRAM_BANKS);
+ m_scroll_ram = auto_alloc_array(machine(), UINT8, BGRAM_BANK_SIZE * BGRAM_BANKS);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blktiger_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap8x4 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blktiger_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(blktiger_state::bg8x4_scan),state), 16, 16, 128, 64);
- state->m_bg_tilemap4x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blktiger_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(blktiger_state::bg4x8_scan),state), 16, 16, 64, 128);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blktiger_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap8x4 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blktiger_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(blktiger_state::bg8x4_scan),this), 16, 16, 128, 64);
+ m_bg_tilemap4x8 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blktiger_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(blktiger_state::bg4x8_scan),this), 16, 16, 64, 128);
- state->m_tx_tilemap->set_transparent_pen(3);
+ m_tx_tilemap->set_transparent_pen(3);
- state->m_bg_tilemap8x4->set_transmask(0, 0xffff, 0x8000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap8x4->set_transmask(1, 0xfff0, 0x800f); /* split type 1 has pens 4-15 transparent in front half */
- state->m_bg_tilemap8x4->set_transmask(2, 0xff00, 0x80ff); /* split type 1 has pens 8-15 transparent in front half */
- state->m_bg_tilemap8x4->set_transmask(3, 0xf000, 0x8fff); /* split type 1 has pens 12-15 transparent in front half */
- state->m_bg_tilemap4x8->set_transmask(0, 0xffff, 0x8000);
- state->m_bg_tilemap4x8->set_transmask(1, 0xfff0, 0x800f);
- state->m_bg_tilemap4x8->set_transmask(2, 0xff00, 0x80ff);
- state->m_bg_tilemap4x8->set_transmask(3, 0xf000, 0x8fff);
+ m_bg_tilemap8x4->set_transmask(0, 0xffff, 0x8000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap8x4->set_transmask(1, 0xfff0, 0x800f); /* split type 1 has pens 4-15 transparent in front half */
+ m_bg_tilemap8x4->set_transmask(2, 0xff00, 0x80ff); /* split type 1 has pens 8-15 transparent in front half */
+ m_bg_tilemap8x4->set_transmask(3, 0xf000, 0x8fff); /* split type 1 has pens 12-15 transparent in front half */
+ m_bg_tilemap4x8->set_transmask(0, 0xffff, 0x8000);
+ m_bg_tilemap4x8->set_transmask(1, 0xfff0, 0x800f);
+ m_bg_tilemap4x8->set_transmask(2, 0xff00, 0x80ff);
+ m_bg_tilemap4x8->set_transmask(3, 0xf000, 0x8fff);
- state->save_pointer(NAME(state->m_scroll_ram), BGRAM_BANK_SIZE * BGRAM_BANKS);
+ save_pointer(NAME(m_scroll_ram), BGRAM_BANK_SIZE * BGRAM_BANKS);
}
diff --git a/src/mame/video/blmbycar.c b/src/mame/video/blmbycar.c
index 40beb5f8caf..8fde491520c 100644
--- a/src/mame/video/blmbycar.c
+++ b/src/mame/video/blmbycar.c
@@ -118,19 +118,18 @@ WRITE16_MEMBER(blmbycar_state::blmbycar_vram_1_w)
***************************************************************************/
-VIDEO_START( blmbycar )
+void blmbycar_state::video_start()
{
- blmbycar_state *state = machine.driver_data<blmbycar_state>();
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blmbycar_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blmbycar_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blmbycar_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blmbycar_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
- state->m_tilemap_0->set_scroll_rows(1);
- state->m_tilemap_0->set_scroll_cols(1);
+ m_tilemap_0->set_scroll_rows(1);
+ m_tilemap_0->set_scroll_cols(1);
- state->m_tilemap_1->set_scroll_rows(1);
- state->m_tilemap_1->set_scroll_cols(1);
- state->m_tilemap_1->set_transparent_pen(0);
+ m_tilemap_1->set_scroll_rows(1);
+ m_tilemap_1->set_scroll_cols(1);
+ m_tilemap_1->set_transparent_pen(0);
}
diff --git a/src/mame/video/blockade.c b/src/mame/video/blockade.c
index 9645634c2e6..01c00e64e48 100644
--- a/src/mame/video/blockade.c
+++ b/src/mame/video/blockade.c
@@ -20,10 +20,9 @@ TILE_GET_INFO_MEMBER(blockade_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
-VIDEO_START( blockade )
+void blockade_state::video_start()
{
- blockade_state *state = machine.driver_data<blockade_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blockade_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blockade_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
SCREEN_UPDATE_IND16( blockade )
diff --git a/src/mame/video/blockhl.c b/src/mame/video/blockhl.c
index 4d415dd76ad..0b827b81b09 100644
--- a/src/mame/video/blockhl.c
+++ b/src/mame/video/blockhl.c
@@ -41,16 +41,15 @@ void blockhl_sprite_callback( running_machine &machine, int *code, int *color, i
***************************************************************************/
-VIDEO_START( blockhl )
+void blockhl_state::video_start()
{
- blockhl_state *state = machine.driver_data<blockhl_state>();
- state->m_generic_paletteram_8.allocate(0x800);
+ m_generic_paletteram_8.allocate(0x800);
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 16;
- state->m_layer_colorbase[2] = 32;
- state->m_sprite_colorbase = 48;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 16;
+ m_layer_colorbase[2] = 32;
+ m_sprite_colorbase = 48;
}
SCREEN_UPDATE_IND16( blockhl )
diff --git a/src/mame/video/blockout.c b/src/mame/video/blockout.c
index f96835c5eb3..15024f4d33c 100644
--- a/src/mame/video/blockout.c
+++ b/src/mame/video/blockout.c
@@ -59,13 +59,12 @@ WRITE16_MEMBER(blockout_state::blockout_frontcolor_w)
Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( blockout )
+void blockout_state::video_start()
{
- blockout_state *state = machine.driver_data<blockout_state>();
/* Allocate temporary bitmaps */
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap);
- state->save_item(NAME(state->m_tmpbitmap));
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap);
+ save_item(NAME(m_tmpbitmap));
}
static void update_pixels( running_machine &machine, int x, int y )
diff --git a/src/mame/video/bloodbro.c b/src/mame/video/bloodbro.c
index c8d18dfd22a..a43d6056aa8 100644
--- a/src/mame/video/bloodbro.c
+++ b/src/mame/video/bloodbro.c
@@ -52,15 +52,14 @@ TILE_GET_INFO_MEMBER(bloodbro_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( bloodbro )
+void bloodbro_state::video_start()
{
- bloodbro_state *state = machine.driver_data<bloodbro_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bloodbro_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,32,16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bloodbro_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bloodbro_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bloodbro_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 16,16,32,16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bloodbro_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,16);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bloodbro_state::get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/blstroid.c b/src/mame/video/blstroid.c
index 0c323e7a308..0586dfadae8 100644
--- a/src/mame/video/blstroid.c
+++ b/src/mame/video/blstroid.c
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(blstroid_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( blstroid )
+VIDEO_START_MEMBER(blstroid_state,blstroid)
{
static const atarimo_desc modesc =
{
@@ -71,13 +71,12 @@ VIDEO_START( blstroid )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- blstroid_state *state = machine.driver_data<blstroid_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blstroid_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 16,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blstroid_state::get_playfield_tile_info),this), TILEMAP_SCAN_ROWS, 16,8, 64,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
}
diff --git a/src/mame/video/blueprnt.c b/src/mame/video/blueprnt.c
index dd2bff62054..d7512b85a03 100644
--- a/src/mame/video/blueprnt.c
+++ b/src/mame/video/blueprnt.c
@@ -20,11 +20,11 @@
***************************************************************************/
-PALETTE_INIT( blueprnt )
+void blueprnt_state::palette_init()
{
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
UINT8 pen;
int r, g, b;
@@ -42,7 +42,7 @@ PALETTE_INIT( blueprnt )
g = ((pen >> 2) & 1) * ((pen & 0x08) ? 0xbf : 0xff);
b = ((pen >> 1) & 1) * ((pen & 0x08) ? 0xbf : 0xff);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -83,15 +83,14 @@ TILE_GET_INFO_MEMBER(blueprnt_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( blueprnt )
+void blueprnt_state::video_start()
{
- blueprnt_state *state = machine.driver_data<blueprnt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blueprnt_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(blueprnt_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(32);
- state->save_item(NAME(state->m_gfx_bank));
+ save_item(NAME(m_gfx_bank));
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/bogeyman.c b/src/mame/video/bogeyman.c
index 0961e89cd5c..759f1b80f14 100644
--- a/src/mame/video/bogeyman.c
+++ b/src/mame/video/bogeyman.c
@@ -2,9 +2,9 @@
#include "includes/bogeyman.h"
-PALETTE_INIT( bogeyman )
+void bogeyman_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* first 16 colors are RAM */
@@ -31,7 +31,7 @@ PALETTE_INIT( bogeyman )
bit2 = (color_prom[256] >> 3) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i + 16, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i + 16, MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -90,13 +90,12 @@ TILE_GET_INFO_MEMBER(bogeyman_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(gfxbank, code, m_colbank, 0);
}
-VIDEO_START( bogeyman )
+void bogeyman_state::video_start()
{
- bogeyman_state *state = machine.driver_data<bogeyman_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bogeyman_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bogeyman_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bogeyman_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bogeyman_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/bombjack.c b/src/mame/video/bombjack.c
index 7e838a19c6d..6297c5f309e 100644
--- a/src/mame/video/bombjack.c
+++ b/src/mame/video/bombjack.c
@@ -61,13 +61,12 @@ TILE_GET_INFO_MEMBER(bombjack_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( bombjack )
+void bombjack_state::video_start()
{
- bombjack_state *state = machine.driver_data<bombjack_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bombjack_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bombjack_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bombjack_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bombjack_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/boogwing.c b/src/mame/video/boogwing.c
index 78dee27ec80..492376bf3f4 100644
--- a/src/mame/video/boogwing.c
+++ b/src/mame/video/boogwing.c
@@ -4,10 +4,10 @@
#include "video/decocomn.h"
#include "video/decospr.h"
-VIDEO_START( boogwing )
+void boogwing_state::video_start()
{
- machine.device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
- machine.device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
}
diff --git a/src/mame/video/bosco.c b/src/mame/video/bosco.c
index 39359a4075d..e4657df0a41 100644
--- a/src/mame/video/bosco.c
+++ b/src/mame/video/bosco.c
@@ -14,12 +14,12 @@
#define STARS_COLOR_BASE (64*4+64*4+4)
#define VIDEO_RAM_SIZE 0x400
-PALETTE_INIT( bosco )
+PALETTE_INIT_MEMBER(bosco_state,bosco)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- machine.colortable = colortable_alloc(machine, 32+64);
+ machine().colortable = colortable_alloc(machine(), 32+64);
/* core palette */
for (i = 0;i < 32;i++)
@@ -40,7 +40,7 @@ PALETTE_INIT( bosco )
bit2 = ((*color_prom) >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable,i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,i,MAKE_RGB(r,g,b));
color_prom++;
}
@@ -57,24 +57,24 @@ PALETTE_INIT( bosco )
bits = (i >> 4) & 0x03;
b = map[bits];
- colortable_palette_set_color(machine.colortable,32 + i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,32 + i,MAKE_RGB(r,g,b));
}
/* characters / sprites */
for (i = 0;i < 64*4;i++)
{
- colortable_entry_set_value(machine.colortable, i, (color_prom[i] & 0x0f) + 0x10); /* chars */
- colortable_entry_set_value(machine.colortable, i+64*4, color_prom[i] & 0x0f); /* sprites */
+ colortable_entry_set_value(machine().colortable, i, (color_prom[i] & 0x0f) + 0x10); /* chars */
+ colortable_entry_set_value(machine().colortable, i+64*4, color_prom[i] & 0x0f); /* sprites */
}
/* bullets lookup table */
/* they use colors 28-31, I think - PAL 5A controls it */
for (i = 0;i < 4;i++)
- colortable_entry_set_value(machine.colortable, 64*4+64*4+i, 31-i);
+ colortable_entry_set_value(machine().colortable, 64*4+64*4+i, 31-i);
/* now the stars */
for (i = 0;i < 64;i++)
- colortable_entry_set_value(machine.colortable, 64*4+64*4+4+i, 32 + i);
+ colortable_entry_set_value(machine().colortable, 64*4+64*4+4+i, 32 + i);
}
@@ -124,26 +124,25 @@ TILE_GET_INFO_MEMBER(bosco_state::fg_get_tile_info )
***************************************************************************/
-VIDEO_START( bosco )
+VIDEO_START_MEMBER(bosco_state,bosco)
{
- bosco_state *state = machine.driver_data<bosco_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bosco_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bosco_state::fg_get_tile_info),state),tilemap_mapper_delegate(FUNC(bosco_state::fg_tilemap_scan),state), 8,8, 8,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bosco_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bosco_state::fg_get_tile_info),this),tilemap_mapper_delegate(FUNC(bosco_state::fg_tilemap_scan),this), 8,8, 8,32);
- colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 0x1f);
- colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0x1f);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[0], 0x1f);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, machine().gfx[0], 0x1f);
- state->m_bg_tilemap->set_scrolldx(3,3);
+ m_bg_tilemap->set_scrolldx(3,3);
- state->m_spriteram = state->m_videoram + 0x03d4;
- state->m_spriteram_size = 0x0c;
- state->m_spriteram2 = state->m_spriteram + 0x0800;
- state->m_bosco_radarx = state->m_videoram + 0x03f0;
- state->m_bosco_radary = state->m_bosco_radarx + 0x0800;
+ m_spriteram = m_videoram + 0x03d4;
+ m_spriteram_size = 0x0c;
+ m_spriteram2 = m_spriteram + 0x0800;
+ m_bosco_radarx = m_videoram + 0x03f0;
+ m_bosco_radary = m_bosco_radarx + 0x0800;
- state->save_item(NAME(state->m_stars_scrollx));
- state->save_item(NAME(state->m_stars_scrolly));
+ save_item(NAME(m_stars_scrollx));
+ save_item(NAME(m_stars_scrolly));
}
diff --git a/src/mame/video/bottom9.c b/src/mame/video/bottom9.c
index e14ea5f9bcb..542337dde90 100644
--- a/src/mame/video/bottom9.c
+++ b/src/mame/video/bottom9.c
@@ -54,15 +54,14 @@ void bottom9_zoom_callback( running_machine &machine, int *code, int *color, int
***************************************************************************/
-VIDEO_START( bottom9 )
+void bottom9_state::video_start()
{
- bottom9_state *state = machine.driver_data<bottom9_state>();
- state->m_layer_colorbase[0] = 0; /* not used */
- state->m_layer_colorbase[1] = 0;
- state->m_layer_colorbase[2] = 16;
- state->m_sprite_colorbase = 32;
- state->m_zoom_colorbase = 48;
+ m_layer_colorbase[0] = 0; /* not used */
+ m_layer_colorbase[1] = 0;
+ m_layer_colorbase[2] = 16;
+ m_sprite_colorbase = 32;
+ m_zoom_colorbase = 48;
}
diff --git a/src/mame/video/brkthru.c b/src/mame/video/brkthru.c
index a2018877eba..1297d04a7a8 100644
--- a/src/mame/video/brkthru.c
+++ b/src/mame/video/brkthru.c
@@ -32,12 +32,12 @@
***************************************************************************/
-PALETTE_INIT( brkthru )
+void brkthru_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, bit3, r, g, b;
@@ -51,13 +51,13 @@ PALETTE_INIT( brkthru )
bit2 = (color_prom[0] >> 6) & 0x01;
bit3 = (color_prom[0] >> 7) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
color_prom++;
}
@@ -107,15 +107,14 @@ WRITE8_MEMBER(brkthru_state::brkthru_fgram_w)
m_fg_tilemap->mark_tile_dirty(offset);
}
-VIDEO_START( brkthru )
+void brkthru_state::video_start()
{
- brkthru_state *state = machine.driver_data<brkthru_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(brkthru_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(brkthru_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(brkthru_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(brkthru_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 16);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/bsktball.c b/src/mame/video/bsktball.c
index f101d1ce481..ca9285d73e9 100644
--- a/src/mame/video/bsktball.c
+++ b/src/mame/video/bsktball.c
@@ -25,10 +25,9 @@ TILE_GET_INFO_MEMBER(bsktball_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( bsktball )
+void bsktball_state::video_start()
{
- bsktball_state *state = machine.driver_data<bsktball_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bsktball_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bsktball_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/btime.c b/src/mame/video/btime.c
index 7d91b9a5ae6..5906ea7dbbc 100644
--- a/src/mame/video/btime.c
+++ b/src/mame/video/btime.c
@@ -28,9 +28,9 @@
***************************************************************************/
-PALETTE_INIT( btime )
+PALETTE_INIT_MEMBER(btime_state,btime)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
@@ -38,7 +38,7 @@ PALETTE_INIT( btime )
/* This function is also used by Eggs. */
if (color_prom == 0) return;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -58,7 +58,7 @@ PALETTE_INIT( btime )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -79,12 +79,12 @@ PALETTE_INIT( btime )
***************************************************************************/
-PALETTE_INIT( lnc )
+PALETTE_INIT_MEMBER(btime_state,lnc)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -104,7 +104,7 @@ PALETTE_INIT( lnc )
bit2 = (color_prom[i] >> 0) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -114,28 +114,26 @@ Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( btime )
+VIDEO_START_MEMBER(btime_state,btime)
{
- btime_state *state = machine.driver_data<btime_state>();
- if (machine.gfx[0]->srcdata() == NULL)
- machine.gfx[0]->set_source(state->m_deco_charram);
- if (machine.gfx[1]->srcdata() == NULL)
- machine.gfx[1]->set_source(state->m_deco_charram);
+ if (machine().gfx[0]->srcdata() == NULL)
+ machine().gfx[0]->set_source(m_deco_charram);
+ if (machine().gfx[1]->srcdata() == NULL)
+ machine().gfx[1]->set_source(m_deco_charram);
}
-VIDEO_START( bnj )
+VIDEO_START_MEMBER(btime_state,bnj)
{
- btime_state *state = machine.driver_data<btime_state>();
/* the background area is twice as wide as the screen */
int width = 256;
int height = 256;
- state->m_background_bitmap = auto_bitmap_ind16_alloc(machine, 2 * width, height);
+ m_background_bitmap = auto_bitmap_ind16_alloc(machine(), 2 * width, height);
- state->save_item(NAME(*state->m_background_bitmap));
+ save_item(NAME(*m_background_bitmap));
- VIDEO_START_CALL(btime);
+ VIDEO_START_CALL_MEMBER(btime);
}
diff --git a/src/mame/video/buggychl.c b/src/mame/video/buggychl.c
index daf845882fd..da1884d8140 100644
--- a/src/mame/video/buggychl.c
+++ b/src/mame/video/buggychl.c
@@ -2,25 +2,24 @@
#include "includes/buggychl.h"
-PALETTE_INIT( buggychl )
+void buggychl_state::palette_init()
{
int i;
/* arbitrary blue shading for the sky, estimation */
for (i = 0; i < 128; i++)
- palette_set_color(machine, i + 128, MAKE_RGB(0, 240-i, 255));
+ palette_set_color(machine(), i + 128, MAKE_RGB(0, 240-i, 255));
}
-VIDEO_START( buggychl )
+void buggychl_state::video_start()
{
- buggychl_state *state = machine.driver_data<buggychl_state>();
- machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap1);
- machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap2);
+ machine().primary_screen->register_screen_bitmap(m_tmp_bitmap1);
+ machine().primary_screen->register_screen_bitmap(m_tmp_bitmap2);
- state->save_item(NAME(state->m_tmp_bitmap1));
- state->save_item(NAME(state->m_tmp_bitmap2));
+ save_item(NAME(m_tmp_bitmap1));
+ save_item(NAME(m_tmp_bitmap2));
- machine.gfx[0]->set_source(state->m_charram);
+ machine().gfx[0]->set_source(m_charram);
}
diff --git a/src/mame/video/bwing.c b/src/mame/video/bwing.c
index 7091c86f6e4..69fa184658a 100644
--- a/src/mame/video/bwing.c
+++ b/src/mame/video/bwing.c
@@ -193,42 +193,41 @@ TILEMAP_MAPPER_MEMBER(bwing_state::bwing_scan_cols)
}
-VIDEO_START( bwing )
+void bwing_state::video_start()
{
- bwing_state *state = machine.driver_data<bwing_state>();
// UINT32 *dwptr;
int i;
- state->m_charmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_charinfo),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_fgtileinfo),state), tilemap_mapper_delegate(FUNC(bwing_state::bwing_scan_cols),state), 16, 16, 64, 64);
- state->m_bgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_bgtileinfo),state), tilemap_mapper_delegate(FUNC(bwing_state::bwing_scan_cols),state), 16, 16, 64, 64);
+ m_charmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_charinfo),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_fgmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_fgtileinfo),this), tilemap_mapper_delegate(FUNC(bwing_state::bwing_scan_cols),this), 16, 16, 64, 64);
+ m_bgmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_bgtileinfo),this), tilemap_mapper_delegate(FUNC(bwing_state::bwing_scan_cols),this), 16, 16, 64, 64);
- state->m_charmap->set_transparent_pen(0);
- state->m_fgmap->set_transparent_pen(0);
+ m_charmap->set_transparent_pen(0);
+ m_fgmap->set_transparent_pen(0);
- state->m_srxlat = auto_alloc_array(machine, int, 0x2000);
- state->save_pointer(NAME(state->m_srxlat), 0x2000);
+ m_srxlat = auto_alloc_array(machine(), int, 0x2000);
+ save_pointer(NAME(m_srxlat), 0x2000);
- fill_srxlat(state->m_srxlat);
+ fill_srxlat(m_srxlat);
- state->m_fgdata = state->memregion("gpu")->base();
- state->m_bgdata = state->m_fgdata + 0x1000;
+ m_fgdata = memregion("gpu")->base();
+ m_bgdata = m_fgdata + 0x1000;
for (i = 0; i < 4; i++)
- state->m_srbase[i] = state->m_fgdata + i * 0x2000;
+ m_srbase[i] = m_fgdata + i * 0x2000;
for (i = 0; i < 8; i++)
- state->m_sreg[i] = 0;
+ m_sreg[i] = 0;
-// state->m_fgfx = machine.gfx[2];
- machine.gfx[2]->set_source(state->m_srbase[1]);
+// m_fgfx = machine().gfx[2];
+ machine().gfx[2]->set_source(m_srbase[1]);
-// state->m_bgfx = machine.gfx[3];
- machine.gfx[3]->set_source(state->m_srbase[1] + 0x1000);
+// m_bgfx = machine().gfx[3];
+ machine().gfx[3]->set_source(m_srbase[1] + 0x1000);
/*
WTF??
- dwptr = machine.gfx[2]->pen_usage();
+ dwptr = machine().gfx[2]->pen_usage();
if (dwptr)
{
dwptr[0] = 0;
diff --git a/src/mame/video/cabal.c b/src/mame/video/cabal.c
index 008dc78bc14..a700645528b 100644
--- a/src/mame/video/cabal.c
+++ b/src/mame/video/cabal.c
@@ -40,15 +40,14 @@ TILE_GET_INFO_MEMBER(cabal_state::get_text_tile_info)
}
-VIDEO_START( cabal )
+void cabal_state::video_start()
{
- cabal_state *state = machine.driver_data<cabal_state>();
- state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabal_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,16,16);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabal_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,32,32);
+ m_background_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cabal_state::get_back_tile_info),this),TILEMAP_SCAN_ROWS,16,16,16,16);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cabal_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,32,32);
- state->m_text_layer->set_transparent_pen(3);
- state->m_background_layer->set_transparent_pen(15);
+ m_text_layer->set_transparent_pen(3);
+ m_background_layer->set_transparent_pen(15);
}
diff --git a/src/mame/video/calomega.c b/src/mame/video/calomega.c
index 654d61ff331..f7b088085c6 100644
--- a/src/mame/video/calomega.c
+++ b/src/mame/video/calomega.c
@@ -54,10 +54,9 @@ TILE_GET_INFO_MEMBER(calomega_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-VIDEO_START( calomega )
+void calomega_state::video_start()
{
- calomega_state *state = machine.driver_data<calomega_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(calomega_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 31);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(calomega_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 31);
}
SCREEN_UPDATE_IND16( calomega )
@@ -67,9 +66,9 @@ SCREEN_UPDATE_IND16( calomega )
return 0;
}
-PALETTE_INIT( calomega )
+void calomega_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* prom bits
7654 3210
---- ---x red component.
@@ -82,7 +81,7 @@ PALETTE_INIT( calomega )
/* 00000BGR */
if (color_prom == 0) return;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -99,6 +98,6 @@ PALETTE_INIT( calomega )
b = bit2 * 0xff;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
diff --git a/src/mame/video/canyon.c b/src/mame/video/canyon.c
index 1f0d43597b3..51aa9eecab6 100644
--- a/src/mame/video/canyon.c
+++ b/src/mame/video/canyon.c
@@ -23,11 +23,10 @@ TILE_GET_INFO_MEMBER(canyon_state::get_bg_tile_info)
}
-VIDEO_START( canyon )
+void canyon_state::video_start()
{
- canyon_state *state = machine.driver_data<canyon_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(canyon_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(canyon_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/capbowl.c b/src/mame/video/capbowl.c
index 728a49912c3..aa3bc93d0b7 100644
--- a/src/mame/video/capbowl.c
+++ b/src/mame/video/capbowl.c
@@ -38,10 +38,10 @@ static const struct tms34061_interface tms34061intf =
*
*************************************/
-VIDEO_START( capbowl )
+void capbowl_state::video_start()
{
/* initialize TMS34061 emulation */
- tms34061_start(machine, &tms34061intf);
+ tms34061_start(machine(), &tms34061intf);
}
diff --git a/src/mame/video/carjmbre.c b/src/mame/video/carjmbre.c
index af377fdb521..633173384bb 100644
--- a/src/mame/video/carjmbre.c
+++ b/src/mame/video/carjmbre.c
@@ -30,15 +30,15 @@ static const res_net_info carjmbre_net_info =
}
};
-PALETTE_INIT( carjmbre )
+void carjmbre_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &carjmbre_decode_info, &carjmbre_net_info);
- palette_set_colors(machine, 0, rgb, 64);
- palette_normalize_range(machine.palette, 0, 63, 0, 255);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &carjmbre_decode_info, &carjmbre_net_info);
+ palette_set_colors(machine(), 0, rgb, 64);
+ palette_normalize_range(machine().palette, 0, 63, 0, 255);
+ auto_free(machine(), rgb);
}
@@ -96,13 +96,12 @@ TILE_GET_INFO_MEMBER(carjmbre_state::get_carjmbre_tile_info)
0);
}
-VIDEO_START( carjmbre )
+void carjmbre_state::video_start()
{
- carjmbre_state *state = machine.driver_data<carjmbre_state>();
- state->m_cj_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(carjmbre_state::get_carjmbre_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->save_item(NAME(state->m_flipscreen));
- state->save_item(NAME(state->m_bgcolor));
+ m_cj_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(carjmbre_state::get_carjmbre_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ save_item(NAME(m_flipscreen));
+ save_item(NAME(m_bgcolor));
}
SCREEN_UPDATE_IND16( carjmbre )
diff --git a/src/mame/video/carpolo.c b/src/mame/video/carpolo.c
index 01401b66e43..fb33da2775b 100644
--- a/src/mame/video/carpolo.c
+++ b/src/mame/video/carpolo.c
@@ -64,9 +64,9 @@
*
**************************************************************************/
-PALETTE_INIT( carpolo )
+void carpolo_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* thanks to Jarek Burczynski for analyzing the circuit */
@@ -91,7 +91,7 @@ PALETTE_INIT( carpolo )
};
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
UINT8 pen, r, g, b;
@@ -130,7 +130,7 @@ PALETTE_INIT( carpolo )
/* blue component */
b = ((b_voltage[(color_prom[pen] >> 0) & 0x03] - MIN_VOLTAGE) / (MAX_VOLTAGE - MIN_VOLTAGE)) * 255.;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -141,23 +141,22 @@ PALETTE_INIT( carpolo )
*
*************************************/
-VIDEO_START( carpolo )
+void carpolo_state::video_start()
{
- carpolo_state *state = machine.driver_data<carpolo_state>();
- state->m_sprite_sprite_collision_bitmap1 = auto_bitmap_ind16_alloc(machine, SPRITE_WIDTH*2, SPRITE_HEIGHT*2);
- state->m_sprite_sprite_collision_bitmap2 = auto_bitmap_ind16_alloc(machine, SPRITE_WIDTH*2, SPRITE_HEIGHT*2);
+ m_sprite_sprite_collision_bitmap1 = auto_bitmap_ind16_alloc(machine(), SPRITE_WIDTH*2, SPRITE_HEIGHT*2);
+ m_sprite_sprite_collision_bitmap2 = auto_bitmap_ind16_alloc(machine(), SPRITE_WIDTH*2, SPRITE_HEIGHT*2);
- state->m_sprite_goal_collision_bitmap1 = auto_bitmap_ind16_alloc(machine, SPRITE_WIDTH+GOAL_WIDTH, SPRITE_HEIGHT+GOAL_HEIGHT);
- state->m_sprite_goal_collision_bitmap2 = auto_bitmap_ind16_alloc(machine, SPRITE_WIDTH+GOAL_WIDTH, SPRITE_HEIGHT+GOAL_HEIGHT);
+ m_sprite_goal_collision_bitmap1 = auto_bitmap_ind16_alloc(machine(), SPRITE_WIDTH+GOAL_WIDTH, SPRITE_HEIGHT+GOAL_HEIGHT);
+ m_sprite_goal_collision_bitmap2 = auto_bitmap_ind16_alloc(machine(), SPRITE_WIDTH+GOAL_WIDTH, SPRITE_HEIGHT+GOAL_HEIGHT);
- state->m_sprite_border_collision_bitmap = auto_bitmap_ind16_alloc(machine, SPRITE_WIDTH, SPRITE_HEIGHT);
+ m_sprite_border_collision_bitmap = auto_bitmap_ind16_alloc(machine(), SPRITE_WIDTH, SPRITE_HEIGHT);
- state_save_register_global_bitmap(machine, state->m_sprite_sprite_collision_bitmap1);
- state_save_register_global_bitmap(machine, state->m_sprite_sprite_collision_bitmap2);
- state_save_register_global_bitmap(machine, state->m_sprite_goal_collision_bitmap1);
- state_save_register_global_bitmap(machine, state->m_sprite_goal_collision_bitmap2);
- state_save_register_global_bitmap(machine, state->m_sprite_border_collision_bitmap);
+ state_save_register_global_bitmap(machine(), m_sprite_sprite_collision_bitmap1);
+ state_save_register_global_bitmap(machine(), m_sprite_sprite_collision_bitmap2);
+ state_save_register_global_bitmap(machine(), m_sprite_goal_collision_bitmap1);
+ state_save_register_global_bitmap(machine(), m_sprite_goal_collision_bitmap2);
+ state_save_register_global_bitmap(machine(), m_sprite_border_collision_bitmap);
}
diff --git a/src/mame/video/cave.c b/src/mame/video/cave.c
index 7c46b731331..333a2f93f70 100644
--- a/src/mame/video/cave.c
+++ b/src/mame/video/cave.c
@@ -72,22 +72,20 @@ static void sprite_draw_donpachi_zbuf(running_machine &machine, int priority);
***************************************************************************/
-PALETTE_INIT( cave )
+PALETTE_INIT_MEMBER(cave_state,cave)
{
- cave_state *state = machine.driver_data<cave_state>();
- int maxpen = state->m_paletteram.bytes() / 2;
+ int maxpen = m_paletteram.bytes() / 2;
int pen;
/* create a 1:1 palette map covering everything */
- state->m_palette_map = auto_alloc_array(machine, UINT16, machine.total_colors());
+ m_palette_map = auto_alloc_array(machine(), UINT16, machine().total_colors());
- for (pen = 0; pen < machine.total_colors(); pen++)
- state->m_palette_map[pen] = pen % maxpen;
+ for (pen = 0; pen < machine().total_colors(); pen++)
+ m_palette_map[pen] = pen % maxpen;
}
-PALETTE_INIT( dfeveron )
+PALETTE_INIT_MEMBER(cave_state,dfeveron)
{
- cave_state *state = machine.driver_data<cave_state>();
int color, pen;
/* Fill the 0-3fff range, used by sprites ($40 color codes * $100 pens)
@@ -95,16 +93,15 @@ PALETTE_INIT( dfeveron )
multiplies the color code by $100 (for consistency).
That's why we need this function. */
- PALETTE_INIT_CALL(cave);
+ PALETTE_INIT_CALL_MEMBER(cave);
for (color = 0; color < 0x40; color++)
for (pen = 0; pen < 0x10; pen++)
- state->m_palette_map[(color << 8) | pen] = (color << 4) | pen;
+ m_palette_map[(color << 8) | pen] = (color << 4) | pen;
}
-PALETTE_INIT( ddonpach )
+PALETTE_INIT_MEMBER(cave_state,ddonpach)
{
- cave_state *state = machine.driver_data<cave_state>();
int color, pen;
/* Fill the 8000-83ff range ($40 color codes * $10 pens) for
@@ -112,76 +109,72 @@ PALETTE_INIT( ddonpach )
like layer 2, but use the first 16 color of every 256 for
any given color code. */
- PALETTE_INIT_CALL(cave);
+ PALETTE_INIT_CALL_MEMBER(cave);
for (color = 0; color < 0x40; color++)
for (pen = 0; pen < 0x10; pen++)
- state->m_palette_map[0x8000 | (color << 4) | pen] = 0x4000 | (color << 8) | pen;
+ m_palette_map[0x8000 | (color << 4) | pen] = 0x4000 | (color << 8) | pen;
}
-PALETTE_INIT( mazinger )
+PALETTE_INIT_MEMBER(cave_state,mazinger)
{
- cave_state *state = machine.driver_data<cave_state>();
int color, pen;
- PALETTE_INIT_CALL(cave);
+ PALETTE_INIT_CALL_MEMBER(cave);
/* sprites (encrypted) are 4 bit deep */
for (color = 0; color < 0x40; color++)
for (pen = 0; pen < 0x100; pen++)
- state->m_palette_map[(color << 8) | pen] = (color << 4) + pen; /* yes, PLUS, not OR */
+ m_palette_map[(color << 8) | pen] = (color << 4) + pen; /* yes, PLUS, not OR */
/* layer 0 is 6 bit deep, there are 64 color codes but only $400
colors are actually addressable */
for (color = 0; color < 0x40; color++)
for (pen = 0; pen < 0x40; pen++)
- state->m_palette_map[0x4400 + ((color << 6) | pen)] = 0x400 | ((color & 0x0f) << 6) | pen;
+ m_palette_map[0x4400 + ((color << 6) | pen)] = 0x400 | ((color & 0x0f) << 6) | pen;
}
-PALETTE_INIT( sailormn )
+PALETTE_INIT_MEMBER(cave_state,sailormn)
{
- cave_state *state = machine.driver_data<cave_state>();
int color, pen;
- PALETTE_INIT_CALL(cave);
+ PALETTE_INIT_CALL_MEMBER(cave);
/* sprites (encrypted) are 4 bit deep */
for (color = 0; color < 0x40; color++)
for (pen = 0; pen < 0x100; pen++)
- state->m_palette_map[(color << 8) | pen] = (color << 4) + pen; /* yes, PLUS, not OR */
+ m_palette_map[(color << 8) | pen] = (color << 4) + pen; /* yes, PLUS, not OR */
/* layer 2 is 6 bit deep, there are 64 color codes but only $400
colors are actually addressable */
for (color = 0; color < 0x40; color++)
for (pen = 0; pen < 0x40; pen++)
- state->m_palette_map[0x4c00 | (color << 6) | pen] = 0xc00 | ((color & 0x0f) << 6) | pen;
+ m_palette_map[0x4c00 | (color << 6) | pen] = 0xc00 | ((color & 0x0f) << 6) | pen;
}
-PALETTE_INIT( pwrinst2 )
+PALETTE_INIT_MEMBER(cave_state,pwrinst2)
{
- cave_state *state = machine.driver_data<cave_state>();
int color, pen;
- PALETTE_INIT_CALL(cave);
+ PALETTE_INIT_CALL_MEMBER(cave);
for (color = 0; color < 0x80; color++)
for (pen = 0; pen < 0x10; pen++)
- state->m_palette_map[(color << 8) | pen] = (color << 4) | pen;
+ m_palette_map[(color << 8) | pen] = (color << 4) | pen;
for (pen = 0x8000; pen < 0xa800; pen++)
- state->m_palette_map[pen] = pen - 0x8000;
+ m_palette_map[pen] = pen - 0x8000;
}
-PALETTE_INIT( korokoro )
+PALETTE_INIT_MEMBER(cave_state,korokoro)
{
- cave_state *state = machine.driver_data<cave_state>();
int color, pen;
- PALETTE_INIT_CALL(cave);
+ PALETTE_INIT_CALL_MEMBER(cave);
for (color = 0; color < 0x40; color++)
for (pen = 0; pen < 0x10; pen++)
- state->m_palette_map[(color << 8) | pen] = 0x3c00 | (color << 4) | pen;
+ m_palette_map[(color << 8) | pen] = 0x3c00 | (color << 4) | pen;
}
@@ -459,23 +452,22 @@ static void cave_vh_start( running_machine &machine, int num )
}
}
-VIDEO_START( cave_1_layer ) { cave_vh_start(machine, 1); }
-VIDEO_START( cave_2_layers ) { cave_vh_start(machine, 2); }
-VIDEO_START( cave_3_layers ) { cave_vh_start(machine, 3); }
-VIDEO_START( cave_4_layers ) { cave_vh_start(machine, 4); }
+VIDEO_START_MEMBER(cave_state,cave_1_layer){ cave_vh_start(machine(), 1); }
+VIDEO_START_MEMBER(cave_state,cave_2_layers){ cave_vh_start(machine(), 2); }
+VIDEO_START_MEMBER(cave_state,cave_3_layers){ cave_vh_start(machine(), 3); }
+VIDEO_START_MEMBER(cave_state,cave_4_layers){ cave_vh_start(machine(), 4); }
-VIDEO_START( sailormn_3_layers )
+VIDEO_START_MEMBER(cave_state,sailormn_3_layers)
{
- cave_state *state = machine.driver_data<cave_state>();
- cave_vh_start(machine, 2);
+ cave_vh_start(machine(), 2);
/* Layer 2 (8x8) needs to be handled differently */
- state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cave_state::sailormn_get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8 );
+ m_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cave_state::sailormn_get_tile_info_2),this), TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8 );
- state->m_tilemap[2]->set_transparent_pen(0);
- state->m_tilemap[2]->set_scroll_rows(1);
- state->m_tilemap[2]->set_scroll_cols(1);
+ m_tilemap[2]->set_transparent_pen(0);
+ m_tilemap[2]->set_scroll_rows(1);
+ m_tilemap[2]->set_scroll_cols(1);
}
/***************************************************************************
diff --git a/src/mame/video/cbasebal.c b/src/mame/video/cbasebal.c
index a1dc46cec65..d33959594ce 100644
--- a/src/mame/video/cbasebal.c
+++ b/src/mame/video/cbasebal.c
@@ -36,20 +36,19 @@ TILE_GET_INFO_MEMBER(cbasebal_state::get_fg_tile_info)
***************************************************************************/
-VIDEO_START( cbasebal )
+void cbasebal_state::video_start()
{
- cbasebal_state *state = machine.driver_data<cbasebal_state>();
- state->m_textram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_scrollram = auto_alloc_array(machine, UINT8, 0x1000);
+ m_textram = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_scrollram = auto_alloc_array(machine(), UINT8, 0x1000);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cbasebal_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cbasebal_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cbasebal_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cbasebal_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(3);
+ m_fg_tilemap->set_transparent_pen(3);
- state->save_pointer(NAME(state->m_textram), 0x1000);
- state->save_pointer(NAME(state->m_scrollram), 0x1000);
+ save_pointer(NAME(m_textram), 0x1000);
+ save_pointer(NAME(m_scrollram), 0x1000);
}
diff --git a/src/mame/video/cbuster.c b/src/mame/video/cbuster.c
index 632f1b0b078..c7ea461bfa9 100644
--- a/src/mame/video/cbuster.c
+++ b/src/mame/video/cbuster.c
@@ -43,9 +43,9 @@ WRITE16_MEMBER(cbuster_state::twocrude_palette_24bit_b_w)
/******************************************************************************/
-VIDEO_START( twocrude )
+void cbuster_state::video_start()
{
- machine.device<decospr_device>("spritegen")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen")->alloc_sprite_bitmap();
}
SCREEN_UPDATE_RGB32( twocrude )
diff --git a/src/mame/video/ccastles.c b/src/mame/video/ccastles.c
index 806efb79029..c6b1af6d7e3 100644
--- a/src/mame/video/ccastles.c
+++ b/src/mame/video/ccastles.c
@@ -15,30 +15,29 @@
*
*************************************/
-VIDEO_START( ccastles )
+void ccastles_state::video_start()
{
- ccastles_state *state = machine.driver_data<ccastles_state>();
static const int resistances[3] = { 22000, 10000, 4700 };
/* get pointers to our PROMs */
- state->m_syncprom = machine.root_device().memregion("proms")->base() + 0x000;
- state->m_wpprom = machine.root_device().memregion("proms")->base() + 0x200;
- state->m_priprom = machine.root_device().memregion("proms")->base() + 0x300;
+ m_syncprom = machine().root_device().memregion("proms")->base() + 0x000;
+ m_wpprom = machine().root_device().memregion("proms")->base() + 0x200;
+ m_priprom = machine().root_device().memregion("proms")->base() + 0x300;
/* compute the color output resistor weights at startup */
compute_resistor_weights(0, 255, -1.0,
- 3, resistances, state->m_rweights, 1000, 0,
- 3, resistances, state->m_gweights, 1000, 0,
- 3, resistances, state->m_bweights, 1000, 0);
+ 3, resistances, m_rweights, 1000, 0,
+ 3, resistances, m_gweights, 1000, 0,
+ 3, resistances, m_bweights, 1000, 0);
/* allocate a bitmap for drawing sprites */
- machine.primary_screen->register_screen_bitmap(state->m_spritebitmap);
+ machine().primary_screen->register_screen_bitmap(m_spritebitmap);
/* register for savestates */
- state->save_item(NAME(state->m_video_control));
- state->save_item(NAME(state->m_bitmode_addr));
- state->save_item(NAME(state->m_hscroll));
- state->save_item(NAME(state->m_vscroll));
+ save_item(NAME(m_video_control));
+ save_item(NAME(m_bitmode_addr));
+ save_item(NAME(m_hscroll));
+ save_item(NAME(m_vscroll));
}
diff --git a/src/mame/video/cchasm.c b/src/mame/video/cchasm.c
index 6b8cacbe88f..00341546d88 100644
--- a/src/mame/video/cchasm.c
+++ b/src/mame/video/cchasm.c
@@ -119,13 +119,12 @@ WRITE16_MEMBER(cchasm_state::cchasm_refresh_control_w)
}
}
-VIDEO_START( cchasm )
+void cchasm_state::video_start()
{
- cchasm_state *state = machine.driver_data<cchasm_state>();
- const rectangle &visarea = machine.primary_screen->visible_area();
+ const rectangle &visarea = machine().primary_screen->visible_area();
- state->m_xcenter=visarea.xcenter() << 16;
- state->m_ycenter=visarea.ycenter() << 16;
+ m_xcenter=visarea.xcenter() << 16;
+ m_ycenter=visarea.ycenter() << 16;
- VIDEO_START_CALL(vector);
+ VIDEO_START_CALL_LEGACY(vector);
}
diff --git a/src/mame/video/cclimber.c b/src/mame/video/cclimber.c
index 999009a993d..429f529a2aa 100644
--- a/src/mame/video/cclimber.c
+++ b/src/mame/video/cclimber.c
@@ -36,9 +36,9 @@
bit 0 -- 1 kohm resistor -- RED
***************************************************************************/
-PALETTE_INIT( cclimber )
+PALETTE_INIT_MEMBER(cclimber_state,cclimber)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double weights_rg[3], weights_b[2];
@@ -50,7 +50,7 @@ PALETTE_INIT( cclimber )
2, resistances_b, weights_b, 0, 0,
0, 0, 0, 0, 0);
- for (i = 0;i < machine.total_colors(); i++)
+ for (i = 0;i < machine().total_colors(); i++)
{
int bit0, bit1, bit2;
int r, g, b;
@@ -72,7 +72,7 @@ PALETTE_INIT( cclimber )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -113,9 +113,9 @@ PALETTE_INIT( cclimber )
***************************************************************************/
-PALETTE_INIT( swimmer )
+PALETTE_INIT_MEMBER(cclimber_state,swimmer)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 0x100; i++)
@@ -141,7 +141,7 @@ PALETTE_INIT( swimmer )
bit2 = (color_prom[i + 0x100] >> 3) & 0x01;
b = 0x20 * bit0 + 0x40 * bit1 + 0x80 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
color_prom += 0x200;
@@ -170,21 +170,21 @@ PALETTE_INIT( swimmer )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x20 * bit0 + 0x40 * bit1 + 0x80 * bit2;
- palette_set_color(machine, i + 0x100, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i + 0x100, MAKE_RGB(r, g, b));
}
/* side panel backgrond pen */
#if 0
// values calculated from the resistors don't seem to match the real board
- palette_set_color(machine, SWIMMER_SIDE_BG_PEN, MAKE_RGB(0x24, 0x5d, 0x4e));
+ palette_set_color(machine(), SWIMMER_SIDE_BG_PEN, MAKE_RGB(0x24, 0x5d, 0x4e));
#endif
- palette_set_color(machine, SWIMMER_SIDE_BG_PEN, MAKE_RGB(0x20, 0x98, 0x79));
+ palette_set_color(machine(), SWIMMER_SIDE_BG_PEN, MAKE_RGB(0x20, 0x98, 0x79));
}
-PALETTE_INIT( yamato )
+PALETTE_INIT_MEMBER(cclimber_state,yamato)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* chars - 12 bits RGB */
@@ -214,7 +214,7 @@ PALETTE_INIT( yamato )
bit3 = (color_prom[i + 0x40] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
/* big sprite - 8 bits RGB */
@@ -241,18 +241,18 @@ PALETTE_INIT( yamato )
bit2 = (color_prom[i + 0x80] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i + 0x40, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i + 0x40, MAKE_RGB(r, g, b));
}
/* fake colors for bg gradient */
for (i = 0; i < 0x100; i++)
- palette_set_color(machine, YAMATO_SKY_PEN_BASE + i, MAKE_RGB(0, 0, i));
+ palette_set_color(machine(), YAMATO_SKY_PEN_BASE + i, MAKE_RGB(0, 0, i));
}
-PALETTE_INIT( toprollr )
+PALETTE_INIT_MEMBER(cclimber_state,toprollr)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 0xa0; i++)
@@ -278,7 +278,7 @@ PALETTE_INIT( toprollr )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -436,50 +436,47 @@ TILE_GET_INFO_MEMBER(cclimber_state::toproller_get_bg_tile_info)
}
-VIDEO_START( cclimber )
+VIDEO_START_MEMBER(cclimber_state,cclimber)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
- state->m_pf_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_pf_tilemap->set_transparent_pen(0);
- state->m_pf_tilemap->set_scroll_cols(32);
-
- state->m_bs_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_bs_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bs_tilemap->set_scroll_cols(1);
- state->m_bs_tilemap->set_scroll_rows(1);
- state->m_bs_tilemap->set_transmask(0, 0x01, 0); /* pen 0 is transaprent */
- state->m_bs_tilemap->set_transmask(1, 0x0f, 0); /* all 4 pens are transparent */
+ m_pf_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_pf_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_pf_tilemap->set_transparent_pen(0);
+ m_pf_tilemap->set_scroll_cols(32);
+
+ m_bs_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_bs_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bs_tilemap->set_scroll_cols(1);
+ m_bs_tilemap->set_scroll_rows(1);
+ m_bs_tilemap->set_transmask(0, 0x01, 0); /* pen 0 is transaprent */
+ m_bs_tilemap->set_transmask(1, 0x0f, 0); /* all 4 pens are transparent */
}
-VIDEO_START( swimmer )
+VIDEO_START_MEMBER(cclimber_state,swimmer)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
- state->m_pf_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::swimmer_get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_pf_tilemap->set_transparent_pen(0);
- state->m_pf_tilemap->set_scroll_cols(32);
-
- state->m_bs_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_bs_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bs_tilemap->set_scroll_cols(1);
- state->m_bs_tilemap->set_scroll_rows(1);
- state->m_bs_tilemap->set_transmask(0, 0x01, 0); /* pen 0 is transaprent */
- state->m_bs_tilemap->set_transmask(1, 0xff, 0); /* all 8 pens are transparent */
+ m_pf_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::swimmer_get_pf_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_pf_tilemap->set_transparent_pen(0);
+ m_pf_tilemap->set_scroll_cols(32);
+
+ m_bs_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_bs_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bs_tilemap->set_scroll_cols(1);
+ m_bs_tilemap->set_scroll_rows(1);
+ m_bs_tilemap->set_transmask(0, 0x01, 0); /* pen 0 is transaprent */
+ m_bs_tilemap->set_transmask(1, 0xff, 0); /* all 8 pens are transparent */
}
-VIDEO_START( toprollr )
+VIDEO_START_MEMBER(cclimber_state,toprollr)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
- state->m_pf_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::toprollr_get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_pf_tilemap->set_transparent_pen(0);
+ m_pf_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::toprollr_get_pf_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_pf_tilemap->set_transparent_pen(0);
- state->m_toproller_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::toproller_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_toproller_bg_tilemap->set_scroll_rows(1);
+ m_toproller_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::toproller_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_toproller_bg_tilemap->set_scroll_rows(1);
- state->m_bs_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::toprollr_get_bs_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bs_tilemap->set_scroll_cols(1);
- state->m_bs_tilemap->set_scroll_rows(1);
- state->m_bs_tilemap->set_transmask(0, 0x01, 0); /* pen 0 is transaprent */
- state->m_bs_tilemap->set_transmask(1, 0x0f, 0); /* all 4 pens are transparent */
+ m_bs_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::toprollr_get_bs_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bs_tilemap->set_scroll_cols(1);
+ m_bs_tilemap->set_scroll_rows(1);
+ m_bs_tilemap->set_transmask(0, 0x01, 0); /* pen 0 is transaprent */
+ m_bs_tilemap->set_transmask(1, 0x0f, 0); /* all 4 pens are transparent */
}
diff --git a/src/mame/video/centiped.c b/src/mame/video/centiped.c
index ba1502268b2..afb339a2fb5 100644
--- a/src/mame/video/centiped.c
+++ b/src/mame/video/centiped.c
@@ -93,42 +93,38 @@ static void init_common(running_machine &machine)
}
-VIDEO_START( centiped )
+VIDEO_START_MEMBER(centiped_state,centiped)
{
- init_common(machine);
- init_penmask(machine);
+ init_common(machine());
+ init_penmask(machine());
- centiped_state *state = machine.driver_data<centiped_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::centiped_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::centiped_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-VIDEO_START( warlords )
+VIDEO_START_MEMBER(centiped_state,warlords)
{
- init_common(machine);
+ init_common(machine());
- centiped_state *state = machine.driver_data<centiped_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::warlords_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::warlords_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-VIDEO_START( milliped )
+VIDEO_START_MEMBER(centiped_state,milliped)
{
- init_common(machine);
- init_penmask(machine);
+ init_common(machine());
+ init_penmask(machine());
- centiped_state *state = machine.driver_data<centiped_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::milliped_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::milliped_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-VIDEO_START( bullsdrt )
+VIDEO_START_MEMBER(centiped_state,bullsdrt)
{
- init_common(machine);
- init_penmask(machine);
+ init_common(machine());
+ init_penmask(machine());
- centiped_state *state = machine.driver_data<centiped_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::bullsdrt_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::bullsdrt_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -283,12 +279,12 @@ WRITE8_MEMBER(centiped_state::centiped_paletteram_w)
***************************************************************************/
-PALETTE_INIT( warlords )
+PALETTE_INIT_MEMBER(centiped_state,warlords)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
UINT8 pen;
int r, g, b;
@@ -313,7 +309,7 @@ PALETTE_INIT( warlords )
r = g = b = grey;
}
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
diff --git a/src/mame/video/chaknpop.c b/src/mame/video/chaknpop.c
index 2a1857e964e..b210c9fe997 100644
--- a/src/mame/video/chaknpop.c
+++ b/src/mame/video/chaknpop.c
@@ -22,9 +22,9 @@
palette decode
***************************************************************************/
-PALETTE_INIT( chaknpop )
+void chaknpop_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 1024; i++)
@@ -52,7 +52,7 @@ PALETTE_INIT( chaknpop )
bit2 = (col >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -150,28 +150,27 @@ TILE_GET_INFO_MEMBER(chaknpop_state::chaknpop_get_tx_tile_info)
Initialize video hardware emulation
***************************************************************************/
-VIDEO_START( chaknpop )
+void chaknpop_state::video_start()
{
- chaknpop_state *state = machine.driver_data<chaknpop_state>();
- UINT8 *RAM = state->memregion("maincpu")->base();
+ UINT8 *RAM = memregion("maincpu")->base();
/* info offset type w h col row */
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chaknpop_state::chaknpop_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(chaknpop_state::chaknpop_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_vram1 = &RAM[0x10000];
- state->m_vram2 = &RAM[0x12000];
- state->m_vram3 = &RAM[0x14000];
- state->m_vram4 = &RAM[0x16000];
+ m_vram1 = &RAM[0x10000];
+ m_vram2 = &RAM[0x12000];
+ m_vram3 = &RAM[0x14000];
+ m_vram4 = &RAM[0x16000];
- state->save_pointer(NAME(state->m_vram1), 0x2000);
- state->save_pointer(NAME(state->m_vram2), 0x2000);
- state->save_pointer(NAME(state->m_vram3), 0x2000);
- state->save_pointer(NAME(state->m_vram4), 0x2000);
+ save_pointer(NAME(m_vram1), 0x2000);
+ save_pointer(NAME(m_vram2), 0x2000);
+ save_pointer(NAME(m_vram3), 0x2000);
+ save_pointer(NAME(m_vram4), 0x2000);
- state->membank("bank1")->set_entry(0);
- tx_tilemap_mark_all_dirty(machine);
+ membank("bank1")->set_entry(0);
+ tx_tilemap_mark_all_dirty(machine());
- machine.save().register_postload(save_prepost_delegate(FUNC(tx_tilemap_mark_all_dirty), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(tx_tilemap_mark_all_dirty), &machine()));
}
diff --git a/src/mame/video/champbas.c b/src/mame/video/champbas.c
index 7706299aa19..fa5249ab508 100644
--- a/src/mame/video/champbas.c
+++ b/src/mame/video/champbas.c
@@ -20,9 +20,9 @@
***************************************************************************/
-PALETTE_INIT( champbas )
+PALETTE_INIT_MEMBER(champbas_state,champbas)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -35,7 +35,7 @@ PALETTE_INIT( champbas )
2, &resistances_b[0], bweights, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -60,7 +60,7 @@ PALETTE_INIT( champbas )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
color_prom += 0x20;
@@ -68,18 +68,18 @@ PALETTE_INIT( champbas )
for (i = 0; i < 0x200; i++)
{
UINT8 ctabentry = (color_prom[i & 0xff] & 0x0f) | ((i & 0x100) >> 4);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
-PALETTE_INIT( exctsccr )
+PALETTE_INIT_MEMBER(champbas_state,exctsccr)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -105,7 +105,7 @@ PALETTE_INIT( exctsccr )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -116,14 +116,14 @@ PALETTE_INIT( exctsccr )
{
int swapped_i = BITSWAP8(i, 2, 7, 6, 5, 4, 3, 1, 0);
UINT8 ctabentry = (color_prom[swapped_i] & 0x0f) | ((i & 0x80) >> 3);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites (4bpp) */
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[0x100 + i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i + 0x100, ctabentry);
+ colortable_entry_set_value(machine().colortable, i + 0x100, ctabentry);
}
}
@@ -147,16 +147,14 @@ TILE_GET_INFO_MEMBER(champbas_state::exctsccr_get_bg_tile_info)
-VIDEO_START( champbas )
+VIDEO_START_MEMBER(champbas_state,champbas)
{
- champbas_state *state = machine.driver_data<champbas_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(champbas_state::champbas_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(champbas_state::champbas_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-VIDEO_START( exctsccr )
+VIDEO_START_MEMBER(champbas_state,exctsccr)
{
- champbas_state *state = machine.driver_data<champbas_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(champbas_state::exctsccr_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(champbas_state::exctsccr_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/changela.c b/src/mame/video/changela.c
index a3b591109d7..7ed5d6cbc24 100644
--- a/src/mame/video/changela.c
+++ b/src/mame/video/changela.c
@@ -17,23 +17,22 @@ Todo: Priority between tree0 and tree1.
static TIMER_CALLBACK( changela_scanline_callback );
-VIDEO_START( changela )
+void changela_state::video_start()
{
- changela_state *state = machine.driver_data<changela_state>();
- state->m_memory_devices = auto_alloc_array(machine, UINT8, 4 * 0x800); /* 0 - not connected, 1,2,3 - RAMs*/
- state->m_tree_ram = auto_alloc_array(machine, UINT8, 2 * 0x20);
+ m_memory_devices = auto_alloc_array(machine(), UINT8, 4 * 0x800); /* 0 - not connected, 1,2,3 - RAMs*/
+ m_tree_ram = auto_alloc_array(machine(), UINT8, 2 * 0x20);
- machine.primary_screen->register_screen_bitmap(state->m_obj0_bitmap);
- machine.primary_screen->register_screen_bitmap(state->m_river_bitmap);
- machine.primary_screen->register_screen_bitmap(state->m_tree0_bitmap);
- machine.primary_screen->register_screen_bitmap(state->m_tree1_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_obj0_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_river_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_tree0_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_tree1_bitmap);
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(changela_scanline_callback));
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(30), 30);
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(changela_scanline_callback));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(30), 30);
- state->save_pointer(NAME(state->m_memory_devices), 4 * 0x800);
- state->save_pointer(NAME(state->m_tree_ram), 2 * 0x20);
+ save_pointer(NAME(m_memory_devices), 4 * 0x800);
+ save_pointer(NAME(m_tree_ram), 2 * 0x20);
}
/**************************************************************************
diff --git a/src/mame/video/cheekyms.c b/src/mame/video/cheekyms.c
index 05379e3430c..611dfb28b28 100644
--- a/src/mame/video/cheekyms.c
+++ b/src/mame/video/cheekyms.c
@@ -15,9 +15,9 @@ Functions to emulate the video hardware of the machine.
/* bit 3 and 7 of the char color PROMs are used for something -- not currently emulated -
thus GAME_IMPERFECT_GRAPHICS */
-PALETTE_INIT( cheekyms )
+void cheekyms_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, j, bit, r, g, b;
for (i = 0; i < 6; i++)
@@ -34,7 +34,7 @@ PALETTE_INIT( cheekyms )
bit = (color_prom[0x20 * (i / 2) + j] >> ((4 * (i & 1)) + 2)) & 0x01;
b = 0xff * bit;
- palette_set_color(machine, (i * 0x20) + j, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), (i * 0x20) + j, MAKE_RGB(r,g,b));
}
}
}
@@ -92,17 +92,16 @@ TILE_GET_INFO_MEMBER(cheekyms_state::cheekyms_get_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( cheekyms )
+void cheekyms_state::video_start()
{
- cheekyms_state *state = machine.driver_data<cheekyms_state>();
int width, height;
- width = machine.primary_screen->width();
- height = machine.primary_screen->height();
- state->m_bitmap_buffer = auto_bitmap_ind16_alloc(machine, width, height);
+ width = machine().primary_screen->width();
+ height = machine().primary_screen->height();
+ m_bitmap_buffer = auto_bitmap_ind16_alloc(machine(), width, height);
- state->m_cm_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cheekyms_state::cheekyms_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_cm_tilemap->set_transparent_pen(0);
+ m_cm_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cheekyms_state::cheekyms_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_cm_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/chqflag.c b/src/mame/video/chqflag.c
index 17b1cf1d822..4a5f6bc3a94 100644
--- a/src/mame/video/chqflag.c
+++ b/src/mame/video/chqflag.c
@@ -52,15 +52,14 @@ void chqflag_zoom_callback_1( running_machine &machine, int *code, int *color, i
***************************************************************************/
-VIDEO_START( chqflag )
+void chqflag_state::video_start()
{
- chqflag_state *state = machine.driver_data<chqflag_state>();
- state->m_generic_paletteram_8.allocate(0x800);
+ m_generic_paletteram_8.allocate(0x800);
- state->m_sprite_colorbase = 0;
- state->m_zoom_colorbase[0] = 0x10;
- state->m_zoom_colorbase[1] = 0x02;
+ m_sprite_colorbase = 0;
+ m_zoom_colorbase[0] = 0x10;
+ m_zoom_colorbase[1] = 0x02;
}
/***************************************************************************
diff --git a/src/mame/video/cinemat.c b/src/mame/video/cinemat.c
index ec9994767ea..463eb19477d 100644
--- a/src/mame/video/cinemat.c
+++ b/src/mame/video/cinemat.c
@@ -165,43 +165,38 @@ WRITE8_MEMBER(cinemat_state::cinemat_vector_control_w)
*
*************************************/
-VIDEO_START( cinemat_bilevel )
+void cinemat_state::video_start()
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- state->m_color_mode = COLOR_BILEVEL;
- VIDEO_START_CALL(vector);
+ m_color_mode = COLOR_BILEVEL;
+ VIDEO_START_CALL_LEGACY(vector);
}
-VIDEO_START( cinemat_16level )
+VIDEO_START_MEMBER(cinemat_state,cinemat_16level)
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- state->m_color_mode = COLOR_16LEVEL;
- VIDEO_START_CALL(vector);
+ m_color_mode = COLOR_16LEVEL;
+ VIDEO_START_CALL_LEGACY(vector);
}
-VIDEO_START( cinemat_64level )
+VIDEO_START_MEMBER(cinemat_state,cinemat_64level)
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- state->m_color_mode = COLOR_64LEVEL;
- VIDEO_START_CALL(vector);
+ m_color_mode = COLOR_64LEVEL;
+ VIDEO_START_CALL_LEGACY(vector);
}
-VIDEO_START( cinemat_color )
+VIDEO_START_MEMBER(cinemat_state,cinemat_color)
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- state->m_color_mode = COLOR_RGB;
- VIDEO_START_CALL(vector);
+ m_color_mode = COLOR_RGB;
+ VIDEO_START_CALL_LEGACY(vector);
}
-VIDEO_START( cinemat_qb3color )
+VIDEO_START_MEMBER(cinemat_state,cinemat_qb3color)
{
- cinemat_state *state = machine.driver_data<cinemat_state>();
- state->m_color_mode = COLOR_QB3;
- VIDEO_START_CALL(vector);
+ m_color_mode = COLOR_QB3;
+ VIDEO_START_CALL_LEGACY(vector);
}
diff --git a/src/mame/video/circus.c b/src/mame/video/circus.c
index 9e7793e09f2..5e374bbc8de 100644
--- a/src/mame/video/circus.c
+++ b/src/mame/video/circus.c
@@ -34,10 +34,9 @@ TILE_GET_INFO_MEMBER(circus_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
-VIDEO_START( circus )
+void circus_state::video_start()
{
- circus_state *state = machine.driver_data<circus_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(circus_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(circus_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_line( bitmap_ind16 &bitmap, const rectangle &cliprect, int x1, int y1, int x2, int y2, int dotted )
diff --git a/src/mame/video/circusc.c b/src/mame/video/circusc.c
index c4cecd9bae2..5f166a25118 100644
--- a/src/mame/video/circusc.c
+++ b/src/mame/video/circusc.c
@@ -30,9 +30,9 @@
***************************************************************************/
-PALETTE_INIT( circusc )
+void circusc_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -45,7 +45,7 @@ PALETTE_INIT( circusc )
2, &resistances_b[0], bweights, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -70,7 +70,7 @@ PALETTE_INIT( circusc )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -80,14 +80,14 @@ PALETTE_INIT( circusc )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry + 0x10);
+ colortable_entry_set_value(machine().colortable, i, ctabentry + 0x10);
}
/* sprites map to the lower 16 palette entries */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -118,12 +118,11 @@ TILE_GET_INFO_MEMBER(circusc_state::get_tile_info)
***************************************************************************/
-VIDEO_START( circusc )
+void circusc_state::video_start()
{
- circusc_state *state = machine.driver_data<circusc_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(circusc_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(circusc_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_scroll_cols(32);
}
diff --git a/src/mame/video/cischeat.c b/src/mame/video/cischeat.c
index 5f74dfe1daa..5033cc0bf17 100644
--- a/src/mame/video/cischeat.c
+++ b/src/mame/video/cischeat.c
@@ -228,28 +228,27 @@ void cischeat_state::cischeat_set_vreg_flag(int which, int data)
}
/* 32 colour codes for the tiles */
-VIDEO_START( cischeat )
+VIDEO_START_MEMBER(cischeat_state,cischeat)
{
- cischeat_state *state = machine.driver_data<cischeat_state>();
int i;
- state->m_spriteram = &state->m_ram[0x8000/2];
+ m_spriteram = &m_ram[0x8000/2];
- create_tilemaps(machine);
- state->m_tmap[0] = state->m_tilemap[0][0][0];
- state->m_tmap[1] = state->m_tilemap[1][0][0];
- state->m_tmap[2] = state->m_tilemap[2][0][0];
+ create_tilemaps(machine());
+ m_tmap[0] = m_tilemap[0][0][0];
+ m_tmap[1] = m_tilemap[1][0][0];
+ m_tmap[2] = m_tilemap[2][0][0];
- state->m_active_layers = 0;
+ m_active_layers = 0;
for (i = 0; i < 3; i ++)
{
- state->m_scroll_flag[i] = state->m_scrollx[i] = state->m_scrolly[i] = 0;
+ m_scroll_flag[i] = m_scrollx[i] = m_scrolly[i] = 0;
}
- state->m_bits_per_color_code = 5;
+ m_bits_per_color_code = 5;
- prepare_shadows(state);
+ prepare_shadows(this);
}
/**************************************************************************
@@ -257,18 +256,17 @@ VIDEO_START( cischeat )
**************************************************************************/
/* 16 colour codes for the tiles */
-VIDEO_START( f1gpstar )
+VIDEO_START_MEMBER(cischeat_state,f1gpstar)
{
- cischeat_state *state = machine.driver_data<cischeat_state>();
- VIDEO_START_CALL(cischeat);
+ VIDEO_START_CALL_MEMBER(cischeat);
- state->m_bits_per_color_code = 4;
+ m_bits_per_color_code = 4;
}
-VIDEO_START( bigrun )
+VIDEO_START_MEMBER(cischeat_state,bigrun)
{
- VIDEO_START_CALL(f1gpstar);
+ VIDEO_START_CALL_MEMBER(f1gpstar);
}
diff --git a/src/mame/video/citycon.c b/src/mame/video/citycon.c
index a4ad20cf81e..3e04eac9988 100644
--- a/src/mame/video/citycon.c
+++ b/src/mame/video/citycon.c
@@ -50,14 +50,13 @@ TILE_GET_INFO_MEMBER(citycon_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( citycon )
+void citycon_state::video_start()
{
- citycon_state *state = machine.driver_data<citycon_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(citycon_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(citycon_state::citycon_scan),state), 8, 8, 128, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(citycon_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(citycon_state::citycon_scan),state), 8, 8, 128, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(citycon_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(citycon_state::citycon_scan),this), 8, 8, 128, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(citycon_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(citycon_state::citycon_scan),this), 8, 8, 128, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scroll_rows(32);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_scroll_rows(32);
}
diff --git a/src/mame/video/cloak.c b/src/mame/video/cloak.c
index 305e5ba755f..ffe28ecf548 100644
--- a/src/mame/video/cloak.c
+++ b/src/mame/video/cloak.c
@@ -161,25 +161,24 @@ TILE_GET_INFO_MEMBER(cloak_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
-VIDEO_START( cloak )
+void cloak_state::video_start()
{
- cloak_state *state = machine.driver_data<cloak_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cloak_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cloak_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bitmap_videoram1 = auto_alloc_array(machine, UINT8, 256*256);
- state->m_bitmap_videoram2 = auto_alloc_array(machine, UINT8, 256*256);
- state->m_palette_ram = auto_alloc_array(machine, UINT16, NUM_PENS);
+ m_bitmap_videoram1 = auto_alloc_array(machine(), UINT8, 256*256);
+ m_bitmap_videoram2 = auto_alloc_array(machine(), UINT8, 256*256);
+ m_palette_ram = auto_alloc_array(machine(), UINT16, NUM_PENS);
- state->set_current_bitmap_videoram_pointer();
+ set_current_bitmap_videoram_pointer();
- state->save_item(NAME(state->m_bitmap_videoram_address_x));
- state->save_item(NAME(state->m_bitmap_videoram_address_y));
- state->save_item(NAME(state->m_bitmap_videoram_selected));
- state->save_pointer(NAME(state->m_bitmap_videoram1), 256*256);
- state->save_pointer(NAME(state->m_bitmap_videoram2), 256*256);
- state->save_pointer(NAME(state->m_palette_ram), NUM_PENS);
- machine.save().register_postload(save_prepost_delegate(FUNC(cloak_state::set_current_bitmap_videoram_pointer), state));
+ save_item(NAME(m_bitmap_videoram_address_x));
+ save_item(NAME(m_bitmap_videoram_address_y));
+ save_item(NAME(m_bitmap_videoram_selected));
+ save_pointer(NAME(m_bitmap_videoram1), 256*256);
+ save_pointer(NAME(m_bitmap_videoram2), 256*256);
+ save_pointer(NAME(m_palette_ram), NUM_PENS);
+ machine().save().register_postload(save_prepost_delegate(FUNC(cloak_state::set_current_bitmap_videoram_pointer), this));
}
static void draw_bitmap(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/cloud9.c b/src/mame/video/cloud9.c
index d7cbc7ee28a..c544c880da7 100644
--- a/src/mame/video/cloud9.c
+++ b/src/mame/video/cloud9.c
@@ -15,33 +15,32 @@
*
*************************************/
-VIDEO_START( cloud9 )
+void cloud9_state::video_start()
{
- cloud9_state *state = machine.driver_data<cloud9_state>();
static const int resistances[3] = { 22000, 10000, 4700 };
/* allocate second bank of videoram */
- state->m_videoram = auto_alloc_array(machine, UINT8, 0x8000);
- state->membank("bank1")->set_base(state->m_videoram);
+ m_videoram = auto_alloc_array(machine(), UINT8, 0x8000);
+ membank("bank1")->set_base(m_videoram);
/* get pointers to our PROMs */
- state->m_syncprom = machine.root_device().memregion("proms")->base() + 0x000;
- state->m_wpprom = machine.root_device().memregion("proms")->base() + 0x200;
- state->m_priprom = machine.root_device().memregion("proms")->base() + 0x300;
+ m_syncprom = machine().root_device().memregion("proms")->base() + 0x000;
+ m_wpprom = machine().root_device().memregion("proms")->base() + 0x200;
+ m_priprom = machine().root_device().memregion("proms")->base() + 0x300;
/* compute the color output resistor weights at startup */
compute_resistor_weights(0, 255, -1.0,
- 3, resistances, state->m_rweights, 1000, 0,
- 3, resistances, state->m_gweights, 1000, 0,
- 3, resistances, state->m_bweights, 1000, 0);
+ 3, resistances, m_rweights, 1000, 0,
+ 3, resistances, m_gweights, 1000, 0,
+ 3, resistances, m_bweights, 1000, 0);
/* allocate a bitmap for drawing sprites */
- machine.primary_screen->register_screen_bitmap(state->m_spritebitmap);
+ machine().primary_screen->register_screen_bitmap(m_spritebitmap);
/* register for savestates */
- state->save_pointer(NAME(state->m_videoram), 0x8000);
- state->save_item(NAME(state->m_video_control));
- state->save_item(NAME(state->m_bitmode_addr));
+ save_pointer(NAME(m_videoram), 0x8000);
+ save_item(NAME(m_video_control));
+ save_item(NAME(m_bitmode_addr));
}
diff --git a/src/mame/video/clshroad.c b/src/mame/video/clshroad.c
index 17c97a6c9bd..fff9bf22162 100644
--- a/src/mame/video/clshroad.c
+++ b/src/mame/video/clshroad.c
@@ -40,23 +40,23 @@ WRITE8_MEMBER(clshroad_state::clshroad_flipscreen_w)
}
-PALETTE_INIT( clshroad )
+PALETTE_INIT_MEMBER(clshroad_state,clshroad)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0;i < 256;i++)
- palette_set_color_rgb(machine,i, pal4bit(color_prom[i + 256 * 0]),
+ palette_set_color_rgb(machine(),i, pal4bit(color_prom[i + 256 * 0]),
pal4bit(color_prom[i + 256 * 1]),
pal4bit(color_prom[i + 256 * 2]));
}
-PALETTE_INIT( firebatl )
+PALETTE_INIT_MEMBER(clshroad_state,firebatl)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -65,20 +65,20 @@ PALETTE_INIT( firebatl )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
color_prom += 0x300;
for (i = 0; i < 0x200; i++)
- colortable_entry_set_value(machine.colortable, i, i & 0xff);
+ colortable_entry_set_value(machine().colortable, i, i & 0xff);
for (i = 0x200; i < 0x300; i++)
{
UINT8 ctabentry = ((color_prom[(i - 0x200) + 0x000] & 0x0f) << 4) |
(color_prom[(i - 0x200) + 0x100] & 0x0f);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -204,52 +204,50 @@ WRITE8_MEMBER(clshroad_state::clshroad_vram_1_w)
}
-VIDEO_START( firebatl )
+VIDEO_START_MEMBER(clshroad_state,firebatl)
{
- clshroad_state *state = machine.driver_data<clshroad_state>();
/* These 2 use the graphics and scroll value */
- state->m_tilemap_0a = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0a),state),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
- state->m_tilemap_0b = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0b),state),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
+ m_tilemap_0a = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0a),this),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
+ m_tilemap_0b = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0b),this),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
/* Text (No scrolling) */
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_fb1),state),tilemap_mapper_delegate(FUNC(clshroad_state::tilemap_scan_rows_extra),state),8,8,0x24,0x20);
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_fb1),this),tilemap_mapper_delegate(FUNC(clshroad_state::tilemap_scan_rows_extra),this),8,8,0x24,0x20);
- state->m_tilemap_0a->set_scroll_rows(1);
- state->m_tilemap_0b->set_scroll_rows(1);
- state->m_tilemap_1->set_scroll_rows(1);
+ m_tilemap_0a->set_scroll_rows(1);
+ m_tilemap_0b->set_scroll_rows(1);
+ m_tilemap_1->set_scroll_rows(1);
- state->m_tilemap_0a->set_scroll_cols(1);
- state->m_tilemap_0b->set_scroll_cols(1);
- state->m_tilemap_1->set_scroll_cols(1);
+ m_tilemap_0a->set_scroll_cols(1);
+ m_tilemap_0b->set_scroll_cols(1);
+ m_tilemap_1->set_scroll_cols(1);
- state->m_tilemap_0a->set_scrolldx(-0x30, -0xb5);
- state->m_tilemap_0b->set_scrolldx(-0x30, -0xb5);
+ m_tilemap_0a->set_scrolldx(-0x30, -0xb5);
+ m_tilemap_0b->set_scrolldx(-0x30, -0xb5);
- state->m_tilemap_0b->set_transparent_pen(0 );
- colortable_configure_tilemap_groups(machine.colortable, state->m_tilemap_1, machine.gfx[2], 0x0f);
+ m_tilemap_0b->set_transparent_pen(0 );
+ colortable_configure_tilemap_groups(machine().colortable, m_tilemap_1, machine().gfx[2], 0x0f);
}
-VIDEO_START( clshroad )
+VIDEO_START_MEMBER(clshroad_state,clshroad)
{
- clshroad_state *state = machine.driver_data<clshroad_state>();
/* These 2 use the graphics and scroll value */
- state->m_tilemap_0a = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0a),state),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
- state->m_tilemap_0b = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0b),state),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
+ m_tilemap_0a = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0a),this),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
+ m_tilemap_0b = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0b),this),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
/* Text (No scrolling) */
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_1),state),tilemap_mapper_delegate(FUNC(clshroad_state::tilemap_scan_rows_extra),state),8,8,0x24,0x20);
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_1),this),tilemap_mapper_delegate(FUNC(clshroad_state::tilemap_scan_rows_extra),this),8,8,0x24,0x20);
- state->m_tilemap_0a->set_scroll_rows(1);
- state->m_tilemap_0b->set_scroll_rows(1);
- state->m_tilemap_1->set_scroll_rows(1);
+ m_tilemap_0a->set_scroll_rows(1);
+ m_tilemap_0b->set_scroll_rows(1);
+ m_tilemap_1->set_scroll_rows(1);
- state->m_tilemap_0a->set_scroll_cols(1);
- state->m_tilemap_0b->set_scroll_cols(1);
- state->m_tilemap_1->set_scroll_cols(1);
+ m_tilemap_0a->set_scroll_cols(1);
+ m_tilemap_0b->set_scroll_cols(1);
+ m_tilemap_1->set_scroll_cols(1);
- state->m_tilemap_0a->set_scrolldx(-0x30, -0xb5);
- state->m_tilemap_0b->set_scrolldx(-0x30, -0xb5);
+ m_tilemap_0a->set_scrolldx(-0x30, -0xb5);
+ m_tilemap_0b->set_scrolldx(-0x30, -0xb5);
- state->m_tilemap_0b->set_transparent_pen(0x0f );
- state->m_tilemap_1->set_transparent_pen(0x0f );
+ m_tilemap_0b->set_transparent_pen(0x0f );
+ m_tilemap_1->set_transparent_pen(0x0f );
}
diff --git a/src/mame/video/cninja.c b/src/mame/video/cninja.c
index 1a879716043..4b2527e1d26 100644
--- a/src/mame/video/cninja.c
+++ b/src/mame/video/cninja.c
@@ -12,14 +12,13 @@
/******************************************************************************/
-VIDEO_START( stoneage )
+VIDEO_START_MEMBER(cninja_state,stoneage)
{
- cninja_state *state = machine.driver_data<cninja_state>();
/* The bootleg has broken scroll registers */
- deco16ic_set_scrolldx(state->m_deco_tilegen1, 3, 0, -10, -10); /* pf4 16x16 tilemap */
- deco16ic_set_scrolldx(state->m_deco_tilegen1, 1, 0, -10, -10); /* pf2 16x16 tilemap */
- deco16ic_set_scrolldx(state->m_deco_tilegen1, 0, 1, 2, 2); /* pf1 8x8 tilemap */
+ deco16ic_set_scrolldx(m_deco_tilegen1, 3, 0, -10, -10); /* pf4 16x16 tilemap */
+ deco16ic_set_scrolldx(m_deco_tilegen1, 1, 0, -10, -10); /* pf2 16x16 tilemap */
+ deco16ic_set_scrolldx(m_deco_tilegen1, 0, 1, 2, 2); /* pf1 8x8 tilemap */
}
/******************************************************************************/
@@ -241,10 +240,10 @@ SCREEN_UPDATE_IND16( robocop2 )
return 0;
}
-VIDEO_START( mutantf )
+VIDEO_START_MEMBER(cninja_state,mutantf)
{
- machine.device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
- machine.device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
}
SCREEN_UPDATE_RGB32( mutantf )
diff --git a/src/mame/video/combatsc.c b/src/mame/video/combatsc.c
index 1526fd3ebc7..3107f9cb287 100644
--- a/src/mame/video/combatsc.c
+++ b/src/mame/video/combatsc.c
@@ -10,13 +10,13 @@
#include "video/konicdev.h"
#include "includes/combatsc.h"
-PALETTE_INIT( combatsc )
+PALETTE_INIT_MEMBER(combatsc_state,combatsc)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int pal;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x80);
+ machine().colortable = colortable_alloc(machine(), 0x80);
for (pal = 0; pal < 8; pal++)
{
@@ -55,19 +55,19 @@ PALETTE_INIT( combatsc )
else
ctabentry = (pal << 4) | (color_prom[(clut << 8) | i] & 0x0f);
- colortable_entry_set_value(machine.colortable, (pal << 8) | i, ctabentry);
+ colortable_entry_set_value(machine().colortable, (pal << 8) | i, ctabentry);
}
}
}
-PALETTE_INIT( combatscb )
+PALETTE_INIT_MEMBER(combatsc_state,combatscb)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int pal;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x80);
+ machine().colortable = colortable_alloc(machine(), 0x80);
for (pal = 0; pal < 8; pal++)
{
@@ -84,7 +84,7 @@ PALETTE_INIT( combatscb )
/* chars - no lookup? */
ctabentry = (pal << 4) | (i & 0x0f); /* no lookup? */
- colortable_entry_set_value(machine.colortable, (pal << 8) | i, ctabentry);
+ colortable_entry_set_value(machine().colortable, (pal << 8) | i, ctabentry);
}
}
}
@@ -278,47 +278,45 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_text_info_bootleg)
***************************************************************************/
-VIDEO_START( combatsc )
+VIDEO_START_MEMBER(combatsc_state,combatsc)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_textlayer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_text_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info0),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info1),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_textlayer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_text_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_spriteram[0] = auto_alloc_array_clear(machine, UINT8, 0x800);
- state->m_spriteram[1] = auto_alloc_array_clear(machine, UINT8, 0x800);
+ m_spriteram[0] = auto_alloc_array_clear(machine(), UINT8, 0x800);
+ m_spriteram[1] = auto_alloc_array_clear(machine(), UINT8, 0x800);
- state->m_bg_tilemap[0]->set_transparent_pen(0);
- state->m_bg_tilemap[1]->set_transparent_pen(0);
- state->m_textlayer->set_transparent_pen(0);
+ m_bg_tilemap[0]->set_transparent_pen(0);
+ m_bg_tilemap[1]->set_transparent_pen(0);
+ m_textlayer->set_transparent_pen(0);
- state->m_textlayer->set_scroll_rows(32);
+ m_textlayer->set_scroll_rows(32);
- state->save_pointer(NAME(state->m_spriteram[0]), 0x800);
- state->save_pointer(NAME(state->m_spriteram[1]), 0x800);
+ save_pointer(NAME(m_spriteram[0]), 0x800);
+ save_pointer(NAME(m_spriteram[1]), 0x800);
}
-VIDEO_START( combatscb )
+VIDEO_START_MEMBER(combatsc_state,combatscb)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info0_bootleg),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info1_bootleg),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_textlayer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_text_info_bootleg),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info0_bootleg),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info1_bootleg),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_textlayer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_text_info_bootleg),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_spriteram[0] = auto_alloc_array_clear(machine, UINT8, 0x800);
- state->m_spriteram[1] = auto_alloc_array_clear(machine, UINT8, 0x800);
+ m_spriteram[0] = auto_alloc_array_clear(machine(), UINT8, 0x800);
+ m_spriteram[1] = auto_alloc_array_clear(machine(), UINT8, 0x800);
- state->m_bg_tilemap[0]->set_transparent_pen(0);
- state->m_bg_tilemap[1]->set_transparent_pen(0);
- state->m_textlayer->set_transparent_pen(0);
+ m_bg_tilemap[0]->set_transparent_pen(0);
+ m_bg_tilemap[1]->set_transparent_pen(0);
+ m_textlayer->set_transparent_pen(0);
- state->m_bg_tilemap[0]->set_scroll_rows(32);
- state->m_bg_tilemap[1]->set_scroll_rows(32);
+ m_bg_tilemap[0]->set_scroll_rows(32);
+ m_bg_tilemap[1]->set_scroll_rows(32);
- state->save_pointer(NAME(state->m_spriteram[0]), 0x800);
- state->save_pointer(NAME(state->m_spriteram[1]), 0x800);
+ save_pointer(NAME(m_spriteram[0]), 0x800);
+ save_pointer(NAME(m_spriteram[1]), 0x800);
}
/***************************************************************************
diff --git a/src/mame/video/commando.c b/src/mame/video/commando.c
index 5d8511d2e8a..5b8471925ca 100644
--- a/src/mame/video/commando.c
+++ b/src/mame/video/commando.c
@@ -86,14 +86,13 @@ TILE_GET_INFO_MEMBER(commando_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( commando )
+void commando_state::video_start()
{
- commando_state *state = machine.driver_data<commando_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(commando_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(commando_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(commando_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(commando_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(3);
+ m_fg_tilemap->set_transparent_pen(3);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/compgolf.c b/src/mame/video/compgolf.c
index 38b7660a258..96a9698dce7 100644
--- a/src/mame/video/compgolf.c
+++ b/src/mame/video/compgolf.c
@@ -9,12 +9,12 @@
#include "includes/compgolf.h"
-PALETTE_INIT( compgolf )
+void compgolf_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0,bit1,bit2,r,g,b;
bit0 = (color_prom[i] >> 0) & 0x01;
@@ -30,7 +30,7 @@ PALETTE_INIT( compgolf )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -67,13 +67,12 @@ TILE_GET_INFO_MEMBER(compgolf_state::get_back_info)
SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-VIDEO_START( compgolf )
+void compgolf_state::video_start()
{
- compgolf_state *state = machine.driver_data<compgolf_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(compgolf_state::get_back_info),state), tilemap_mapper_delegate(FUNC(compgolf_state::back_scan),state), 16, 16, 32, 32);
- state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(compgolf_state::get_text_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(compgolf_state::get_back_info),this), tilemap_mapper_delegate(FUNC(compgolf_state::back_scan),this), 16, 16, 32, 32);
+ m_text_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(compgolf_state::get_text_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_text_tilemap->set_transparent_pen(0);
+ m_text_tilemap->set_transparent_pen(0);
}
/*
diff --git a/src/mame/video/contra.c b/src/mame/video/contra.c
index 23b91e7f36f..f7ee799983b 100644
--- a/src/mame/video/contra.c
+++ b/src/mame/video/contra.c
@@ -20,13 +20,13 @@
**
***************************************************************************/
-PALETTE_INIT( contra )
+void contra_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int chip;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x80);
+ machine().colortable = colortable_alloc(machine(), 0x80);
for (chip = 0; chip < 2; chip++)
{
@@ -46,7 +46,7 @@ PALETTE_INIT( contra )
else
ctabentry = (pal << 4) | (color_prom[(clut << 8) | i] & 0x0f);
- colortable_entry_set_value(machine.colortable, (chip << 11) | (pal << 8) | i, ctabentry);
+ colortable_entry_set_value(machine().colortable, (chip << 11) | (pal << 8) | i, ctabentry);
}
}
}
@@ -162,30 +162,29 @@ TILE_GET_INFO_MEMBER(contra_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( contra )
+void contra_state::video_start()
{
- contra_state *state = machine.driver_data<contra_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(contra_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(contra_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(contra_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(contra_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(contra_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(contra_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_buffered_spriteram = auto_alloc_array(machine, UINT8, 0x800);
- state->m_buffered_spriteram_2 = auto_alloc_array(machine, UINT8, 0x800);
+ m_buffered_spriteram = auto_alloc_array(machine(), UINT8, 0x800);
+ m_buffered_spriteram_2 = auto_alloc_array(machine(), UINT8, 0x800);
- state->m_bg_clip = machine.primary_screen->visible_area();
- state->m_bg_clip.min_x += 40;
+ m_bg_clip = machine().primary_screen->visible_area();
+ m_bg_clip.min_x += 40;
- state->m_fg_clip = state->m_bg_clip;
+ m_fg_clip = m_bg_clip;
- state->m_tx_clip = machine.primary_screen->visible_area();
- state->m_tx_clip.max_x = 39;
- state->m_tx_clip.min_x = 0;
+ m_tx_clip = machine().primary_screen->visible_area();
+ m_tx_clip.max_x = 39;
+ m_tx_clip.min_x = 0;
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->save_pointer(NAME(state->m_buffered_spriteram), 0x800);
- state->save_pointer(NAME(state->m_buffered_spriteram_2), 0x800);
+ save_pointer(NAME(m_buffered_spriteram), 0x800);
+ save_pointer(NAME(m_buffered_spriteram_2), 0x800);
}
diff --git a/src/mame/video/cop01.c b/src/mame/video/cop01.c
index 33fd523b73e..3ae6f0691d1 100644
--- a/src/mame/video/cop01.c
+++ b/src/mame/video/cop01.c
@@ -10,13 +10,13 @@
#include "includes/cop01.h"
-PALETTE_INIT( cop01 )
+void cop01_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -25,7 +25,7 @@ PALETTE_INIT( cop01 )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -33,7 +33,7 @@ PALETTE_INIT( cop01 )
/* characters use colors 0x00-0x0f (or 0x00-0x7f, but the eight rows are identical) */
for (i = 0; i < 0x10; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* background tiles use colors 0xc0-0xff */
/* I don't know how much of the lookup table PROM is hooked up, */
@@ -42,14 +42,14 @@ PALETTE_INIT( cop01 )
{
UINT8 ctabentry = 0xc0 | ((i - 0x10) & 0x30) |
(color_prom[(((i - 0x10) & 0x40) >> 2) | ((i - 0x10) & 0x0f)] & 0x0f);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites use colors 0x80-0x8f (or 0x80-0xbf, but the four rows are identical) */
for (i = 0x90; i < 0x190; i++)
{
UINT8 ctabentry = 0x80 | (color_prom[i - 0x90 + 0x100] & 0x0f);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -98,17 +98,16 @@ TILE_GET_INFO_MEMBER(cop01_state::get_fg_tile_info)
***************************************************************************/
-VIDEO_START( cop01 )
+void cop01_state::video_start()
{
- cop01_state *state = machine.driver_data<cop01_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cop01_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cop01_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cop01_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cop01_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
/* priority doesn't exactly work this way, see above */
- state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x0fff, 0xf000); /* split type 1 has pens 0-11 transparent in front half */
+ m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x0fff, 0xf000); /* split type 1 has pens 0-11 transparent in front half */
}
diff --git a/src/mame/video/cosmic.c b/src/mame/video/cosmic.c
index a3edb10481e..833f93f0671 100644
--- a/src/mame/video/cosmic.c
+++ b/src/mame/video/cosmic.c
@@ -75,14 +75,13 @@ static pen_t magspot_map_color( running_machine &machine, UINT8 x, UINT8 y )
* (1k to ground) so second version of table has blue set to 2/3
*/
-PALETTE_INIT( panic )
+PALETTE_INIT_MEMBER(cosmic_state,panic)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- cosmic_state *state = machine.driver_data<cosmic_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x10);
+ machine().colortable = colortable_alloc(machine(), 0x10);
/* create a lookup table for the palette */
for (i = 0; i < 0x10; i++)
@@ -91,21 +90,21 @@ PALETTE_INIT( panic )
int g = pal1bit(i >> 1);
int b = ((i & 0x0c) == 0x08) ? 0xaa : pal1bit(i >> 2);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* background uses colors 0x00-0x0f */
for (i = 0; i < 0x0f; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprites use colors 0x00-0x07 */
for (i = 0x10; i < 0x30; i++)
{
UINT8 ctabentry = color_prom[i - 0x10] & 0x07;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
- state->m_map_color = panic_map_color;
+ m_map_color = panic_map_color;
}
@@ -118,38 +117,37 @@ PALETTE_INIT( panic )
*
*/
-PALETTE_INIT( cosmica )
+PALETTE_INIT_MEMBER(cosmic_state,cosmica)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- cosmic_state *state = machine.driver_data<cosmic_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x08);
+ machine().colortable = colortable_alloc(machine(), 0x08);
/* create a lookup table for the palette */
for (i = 0; i < 0x08; i++)
{
rgb_t color = MAKE_RGB(pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
- colortable_palette_set_color(machine.colortable, i, color);
+ colortable_palette_set_color(machine().colortable, i, color);
}
/* background and sprites use colors 0x00-0x07 */
for (i = 0; i < 0x08; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
for (i = 0x08; i < 0x28; i++)
{
UINT8 ctabentry;
ctabentry = (color_prom[i - 0x08] >> 0) & 0x07;
- colortable_entry_set_value(machine.colortable, i + 0x00, ctabentry);
+ colortable_entry_set_value(machine().colortable, i + 0x00, ctabentry);
ctabentry = (color_prom[i - 0x08] >> 4) & 0x07;
- colortable_entry_set_value(machine.colortable, i + 0x20, ctabentry);
+ colortable_entry_set_value(machine().colortable, i + 0x20, ctabentry);
}
- state->m_map_color = cosmica_map_color;
+ m_map_color = cosmica_map_color;
}
@@ -162,32 +160,30 @@ PALETTE_INIT( cosmica )
* It's possible that the background is dark gray and not black, as the
* resistor chain would never drop to zero, Anybody know ?
*/
-PALETTE_INIT( cosmicg )
+PALETTE_INIT_MEMBER(cosmic_state,cosmicg)
{
- cosmic_state *state = machine.driver_data<cosmic_state>();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int r = (i > 8) ? 0xff : 0xaa * ((i >> 0) & 1);
int g = 0xaa * ((i >> 1) & 1);
int b = 0xaa * ((i >> 2) & 1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
- state->m_map_color = cosmicg_map_color;
+ m_map_color = cosmicg_map_color;
}
-PALETTE_INIT( magspot )
+PALETTE_INIT_MEMBER(cosmic_state,magspot)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- cosmic_state *state = machine.driver_data<cosmic_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x10);
+ machine().colortable = colortable_alloc(machine(), 0x10);
/* create a lookup table for the palette */
for (i = 0; i < 0x10; i++)
@@ -196,54 +192,53 @@ PALETTE_INIT( magspot )
int g = pal1bit(i >> 1);
int b = pal1bit(i >> 2);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* background uses colors 0x00-0x0f */
for (i = 0; i < 0x0f; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprites use colors 0x00-0x0f */
for (i = 0x10; i < 0x30; i++)
{
UINT8 ctabentry = color_prom[i - 0x10] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
- state->m_map_color = magspot_map_color;
- state->m_magspot_pen_mask = 0x0f;
+ m_map_color = magspot_map_color;
+ m_magspot_pen_mask = 0x0f;
}
-PALETTE_INIT( nomnlnd )
+PALETTE_INIT_MEMBER(cosmic_state,nomnlnd)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- cosmic_state *state = machine.driver_data<cosmic_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x10);
+ machine().colortable = colortable_alloc(machine(), 0x10);
/* create a lookup table for the palette */
for (i = 0; i < 0x10; i++)
{
rgb_t color = MAKE_RGB(pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
- colortable_palette_set_color(machine.colortable, i, color);
+ colortable_palette_set_color(machine().colortable, i, color);
}
/* background uses colors 0x00-0x07 */
for (i = 0; i < 0x07; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprites use colors 0x00-0x07 */
for (i = 0x10; i < 0x30; i++)
{
UINT8 ctabentry = color_prom[i - 0x10] & 0x07;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
- state->m_map_color = magspot_map_color;
- state->m_magspot_pen_mask = 0x07;
+ m_map_color = magspot_map_color;
+ m_magspot_pen_mask = 0x07;
}
diff --git a/src/mame/video/cps1.c b/src/mame/video/cps1.c
index 827f03ccf0f..88087173c47 100644
--- a/src/mame/video/cps1.c
+++ b/src/mame/video/cps1.c
@@ -1485,10 +1485,9 @@ CPS1 VIDEO RENDERER
static void cps1_build_palette(running_machine &machine, const UINT16* const palette_base);
-static MACHINE_RESET( cps )
+MACHINE_RESET_MEMBER(cps_state,cps)
{
- cps_state *state = machine.driver_data<cps_state>();
- const char *gamename = machine.system().name;
+ const char *gamename = machine().system().name;
const struct CPS1config *pCFG = &cps1_config_table[0];
while (pCFG->name)
@@ -1499,9 +1498,9 @@ static MACHINE_RESET( cps )
pCFG++;
}
- state->m_game_config = pCFG;
+ m_game_config = pCFG;
- if (!state->m_game_config->name)
+ if (!m_game_config->name)
{
gamename = "cps2";
pCFG = &cps1_config_table[0];
@@ -1514,20 +1513,20 @@ static MACHINE_RESET( cps )
pCFG++;
}
- state->m_game_config = pCFG;
+ m_game_config = pCFG;
}
if (strcmp(gamename, "sf2rb") == 0)
{
/* Patch out protection check */
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
rom[0xe5464 / 2] = 0x6012;
}
if (strcmp(gamename, "sf2rb2") == 0)
{
/* Patch out protection check */
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
rom[0xe5332 / 2] = 0x6014;
}
@@ -1538,13 +1537,13 @@ static MACHINE_RESET( cps )
by the cpu core as a 32-bit branch. This branch would make the
game crash (address error, since it would branch to an odd address)
if location 180ca6 (outside ROM space) isn't 0. Protection check? */
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
rom[0x11756 / 2] = 0x4e71;
}
else if (strcmp(gamename, "ghouls") == 0)
{
/* Patch out self-test... it takes forever */
- UINT16 *rom = (UINT16 *)machine.root_device().memregion("maincpu")->base();
+ UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
rom[0x61964 / 2] = 0x4ef9;
rom[0x61966 / 2] = 0x0000;
rom[0x61968 / 2] = 0x0400;
@@ -2079,118 +2078,115 @@ static void cps1_update_transmasks( running_machine &machine )
}
}
-static VIDEO_START( cps )
+VIDEO_START_MEMBER(cps_state,cps)
{
- cps_state *state = machine.driver_data<cps_state>();
int i;
- MACHINE_RESET_CALL(cps);
+ MACHINE_RESET_CALL_MEMBER(cps);
/* Put in some const */
- state->m_scroll_size = 0x4000; /* scroll1, scroll2, scroll3 */
- state->m_obj_size = 0x0800;
- state->m_cps2_obj_size = 0x2000;
- state->m_other_size = 0x0800;
- state->m_palette_align = 0x0400; /* minimum alignment is a single palette page (512 colors). Verified on pcb. */
- state->m_palette_size = cps1_palette_entries * 32; /* Size of palette RAM */
- state->m_stars_rom_size = 0x2000; /* first 0x4000 of gfx ROM are used, but 0x0000-0x1fff is == 0x2000-0x3fff */
+ m_scroll_size = 0x4000; /* scroll1, scroll2, scroll3 */
+ m_obj_size = 0x0800;
+ m_cps2_obj_size = 0x2000;
+ m_other_size = 0x0800;
+ m_palette_align = 0x0400; /* minimum alignment is a single palette page (512 colors). Verified on pcb. */
+ m_palette_size = cps1_palette_entries * 32; /* Size of palette RAM */
+ m_stars_rom_size = 0x2000; /* first 0x4000 of gfx ROM are used, but 0x0000-0x1fff is == 0x2000-0x3fff */
/* create tilemaps */
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cps_state::get_tile0_info),state), tilemap_mapper_delegate(FUNC(cps_state::tilemap0_scan),state), 8, 8, 64, 64);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cps_state::get_tile1_info),state), tilemap_mapper_delegate(FUNC(cps_state::tilemap1_scan),state), 16, 16, 64, 64);
- state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cps_state::get_tile2_info),state), tilemap_mapper_delegate(FUNC(cps_state::tilemap2_scan),state), 32, 32, 64, 64);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cps_state::get_tile0_info),this), tilemap_mapper_delegate(FUNC(cps_state::tilemap0_scan),this), 8, 8, 64, 64);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cps_state::get_tile1_info),this), tilemap_mapper_delegate(FUNC(cps_state::tilemap1_scan),this), 16, 16, 64, 64);
+ m_bg_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(cps_state::get_tile2_info),this), tilemap_mapper_delegate(FUNC(cps_state::tilemap2_scan),this), 32, 32, 64, 64);
/* create empty tiles */
- memset(state->m_empty_tile, 0x0f, sizeof(state->m_empty_tile));
+ memset(m_empty_tile, 0x0f, sizeof(m_empty_tile));
/* front masks will change at runtime to handle sprite occluding */
- cps1_update_transmasks(machine);
+ cps1_update_transmasks(machine());
for (i = 0; i < cps1_palette_entries * 16; i++)
- palette_set_color(machine, i, MAKE_RGB(0,0,0));
+ palette_set_color(machine(), i, MAKE_RGB(0,0,0));
- state->m_buffered_obj = auto_alloc_array_clear(machine, UINT16, state->m_obj_size / 2);
+ m_buffered_obj = auto_alloc_array_clear(machine(), UINT16, m_obj_size / 2);
- if (state->m_cps_version == 2)
- state->m_cps2_buffered_obj = auto_alloc_array_clear(machine, UINT16, state->m_cps2_obj_size / 2);
+ if (m_cps_version == 2)
+ m_cps2_buffered_obj = auto_alloc_array_clear(machine(), UINT16, m_cps2_obj_size / 2);
/* clear RAM regions */
- memset(state->m_gfxram, 0, state->m_gfxram.bytes()); /* Clear GFX RAM */
- memset(state->m_cps_a_regs, 0, 0x40); /* Clear CPS-A registers */
- memset(state->m_cps_b_regs, 0, 0x40); /* Clear CPS-B registers */
+ memset(m_gfxram, 0, m_gfxram.bytes()); /* Clear GFX RAM */
+ memset(m_cps_a_regs, 0, 0x40); /* Clear CPS-A registers */
+ memset(m_cps_b_regs, 0, 0x40); /* Clear CPS-B registers */
- if (state->m_cps_version == 2)
+ if (m_cps_version == 2)
{
- memset(state->m_objram1, 0, state->m_cps2_obj_size);
- memset(state->m_objram2, 0, state->m_cps2_obj_size);
+ memset(m_objram1, 0, m_cps2_obj_size);
+ memset(m_objram2, 0, m_cps2_obj_size);
}
/* Put in some defaults */
- state->m_cps_a_regs[CPS1_OBJ_BASE] = 0x9200;
- state->m_cps_a_regs[CPS1_SCROLL1_BASE] = 0x9000;
- state->m_cps_a_regs[CPS1_SCROLL2_BASE] = 0x9040;
- state->m_cps_a_regs[CPS1_SCROLL3_BASE] = 0x9080;
- state->m_cps_a_regs[CPS1_OTHER_BASE] = 0x9100;
+ m_cps_a_regs[CPS1_OBJ_BASE] = 0x9200;
+ m_cps_a_regs[CPS1_SCROLL1_BASE] = 0x9000;
+ m_cps_a_regs[CPS1_SCROLL2_BASE] = 0x9040;
+ m_cps_a_regs[CPS1_SCROLL3_BASE] = 0x9080;
+ m_cps_a_regs[CPS1_OTHER_BASE] = 0x9100;
/* This should never be hit, since game_config is set in MACHINE_RESET */
- assert_always(state->m_game_config, "state_game_config hasn't been set up yet");
+ assert_always(m_game_config, "state_game_config hasn't been set up yet");
/* Set up old base */
- state->m_scroll1 = NULL;
- state->m_scroll2 = NULL;
- state->m_scroll3 = NULL;
- state->m_obj = NULL;
- state->m_other = NULL;
- cps1_get_video_base(machine); /* Calculate base pointers */
- cps1_get_video_base(machine); /* Calculate old base pointers */
+ m_scroll1 = NULL;
+ m_scroll2 = NULL;
+ m_scroll3 = NULL;
+ m_obj = NULL;
+ m_other = NULL;
+ cps1_get_video_base(machine()); /* Calculate base pointers */
+ cps1_get_video_base(machine()); /* Calculate old base pointers */
/* state save register */
- state->save_item(NAME(state->m_scanline1));
- state->save_item(NAME(state->m_scanline2));
- state->save_item(NAME(state->m_scancalls));
+ save_item(NAME(m_scanline1));
+ save_item(NAME(m_scanline2));
+ save_item(NAME(m_scancalls));
#if 0
/* these do not need to be saved, because they are recovered from cps_a_regs in cps1_postload */
- state->save_item(NAME(state->m_scroll1x));
- state->save_item(NAME(state->m_scroll1y));
- state->save_item(NAME(state->m_scroll2x));
- state->save_item(NAME(state->m_scroll2y));
- state->save_item(NAME(state->m_scroll3x));
- state->save_item(NAME(state->m_scroll3y));
- state->save_item(NAME(state->m_stars1x));
- state->save_item(NAME(state->m_stars1y));
- state->save_item(NAME(state->m_stars2x));
- state->save_item(NAME(state->m_stars2y));
- state->save_item(NAME(state->m_stars_enabled));
+ save_item(NAME(m_scroll1x));
+ save_item(NAME(m_scroll1y));
+ save_item(NAME(m_scroll2x));
+ save_item(NAME(m_scroll2y));
+ save_item(NAME(m_scroll3x));
+ save_item(NAME(m_scroll3y));
+ save_item(NAME(m_stars1x));
+ save_item(NAME(m_stars1y));
+ save_item(NAME(m_stars2x));
+ save_item(NAME(m_stars2y));
+ save_item(NAME(m_stars_enabled));
#endif
- state->save_item(NAME(state->m_last_sprite_offset));
- state->save_item(NAME(state->m_pri_ctrl));
- state->save_item(NAME(state->m_objram_bank));
+ save_item(NAME(m_last_sprite_offset));
+ save_item(NAME(m_pri_ctrl));
+ save_item(NAME(m_objram_bank));
- state->save_pointer(NAME(state->m_buffered_obj), state->m_obj_size / 2);
- if (state->m_cps_version == 2)
+ save_pointer(NAME(m_buffered_obj), m_obj_size / 2);
+ if (m_cps_version == 2)
{
- state->save_item(NAME(state->m_cps2_last_sprite_offset));
- state->save_pointer(NAME(state->m_cps2_buffered_obj), state->m_cps2_obj_size / 2);
+ save_item(NAME(m_cps2_last_sprite_offset));
+ save_pointer(NAME(m_cps2_buffered_obj), m_cps2_obj_size / 2);
}
- machine.save().register_postload(save_prepost_delegate(FUNC(cps1_get_video_base), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(cps1_get_video_base), &machine()));
}
-VIDEO_START( cps1 )
+VIDEO_START_MEMBER(cps_state,cps1)
{
- cps_state *state = machine.driver_data<cps_state>();
- state->m_cps_version = 1;
- VIDEO_START_CALL(cps);
+ m_cps_version = 1;
+ VIDEO_START_CALL_MEMBER(cps);
}
-VIDEO_START( cps2 )
+VIDEO_START_MEMBER(cps_state,cps2)
{
- cps_state *state = machine.driver_data<cps_state>();
- state->m_cps_version = 2;
- VIDEO_START_CALL(cps);
+ m_cps_version = 2;
+ VIDEO_START_CALL_MEMBER(cps);
}
/***************************************************************************
diff --git a/src/mame/video/crbaloon.c b/src/mame/video/crbaloon.c
index 31a833cae8f..2f772e3d2c6 100644
--- a/src/mame/video/crbaloon.c
+++ b/src/mame/video/crbaloon.c
@@ -23,11 +23,11 @@
***************************************************************************/
-PALETTE_INIT( crbaloon )
+void crbaloon_state::palette_init()
{
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
UINT8 pen;
int h, r, g, b;
@@ -42,7 +42,7 @@ PALETTE_INIT( crbaloon )
g = h * ((~pen >> 1) & 1);
b = h * ((~pen >> 2) & 1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -67,13 +67,12 @@ TILE_GET_INFO_MEMBER(crbaloon_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( crbaloon )
+void crbaloon_state::video_start()
{
- crbaloon_state *state = machine.driver_data<crbaloon_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crbaloon_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_XY, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(crbaloon_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS_FLIP_XY, 8, 8, 32, 32);
- state->save_item(NAME(state->m_collision_address));
- state->save_item(NAME(state->m_collision_address_clear));
+ save_item(NAME(m_collision_address));
+ save_item(NAME(m_collision_address_clear));
}
diff --git a/src/mame/video/crgolf.c b/src/mame/video/crgolf.c
index d66dfad5a2a..add36d7d14b 100644
--- a/src/mame/video/crgolf.c
+++ b/src/mame/video/crgolf.c
@@ -88,17 +88,16 @@ static void get_pens( running_machine &machine, pen_t *pens )
*
*************************************/
-static VIDEO_START( crgolf )
+VIDEO_START_MEMBER(crgolf_state,crgolf)
{
- crgolf_state *state = machine.driver_data<crgolf_state>();
/* allocate memory for the two bitmaps */
- state->m_videoram_a = auto_alloc_array(machine, UINT8, VIDEORAM_SIZE);
- state->m_videoram_b = auto_alloc_array(machine, UINT8, VIDEORAM_SIZE);
+ m_videoram_a = auto_alloc_array(machine(), UINT8, VIDEORAM_SIZE);
+ m_videoram_b = auto_alloc_array(machine(), UINT8, VIDEORAM_SIZE);
/* register for save states */
- state->save_pointer(NAME(state->m_videoram_a), VIDEORAM_SIZE);
- state->save_pointer(NAME(state->m_videoram_b), VIDEORAM_SIZE);
+ save_pointer(NAME(m_videoram_a), VIDEORAM_SIZE);
+ save_pointer(NAME(m_videoram_b), VIDEORAM_SIZE);
}
@@ -192,7 +191,7 @@ static SCREEN_UPDATE_RGB32( crgolf )
MACHINE_CONFIG_FRAGMENT( crgolf_video )
- MCFG_VIDEO_START(crgolf)
+ MCFG_VIDEO_START_OVERRIDE(crgolf_state,crgolf)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 247)
diff --git a/src/mame/video/crimfght.c b/src/mame/video/crimfght.c
index 882e62cf859..99e45b15d8e 100644
--- a/src/mame/video/crimfght.c
+++ b/src/mame/video/crimfght.c
@@ -55,16 +55,15 @@ void crimfght_sprite_callback( running_machine &machine, int *code, int *color,
***************************************************************************/
-VIDEO_START( crimfght )
+void crimfght_state::video_start()
{
- crimfght_state *state = machine.driver_data<crimfght_state>();
- state->m_generic_paletteram_8.allocate(0x400);
+ m_generic_paletteram_8.allocate(0x400);
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 4;
- state->m_layer_colorbase[2] = 8;
- state->m_sprite_colorbase = 16;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 4;
+ m_layer_colorbase[2] = 8;
+ m_sprite_colorbase = 16;
}
diff --git a/src/mame/video/crospang.c b/src/mame/video/crospang.c
index 403e40c6c31..853c08a650c 100644
--- a/src/mame/video/crospang.c
+++ b/src/mame/video/crospang.c
@@ -107,13 +107,12 @@ TILE_GET_INFO_MEMBER(crospang_state::get_fg_tile_info)
}
-VIDEO_START( crospang )
+void crospang_state::video_start()
{
- crospang_state *state = machine.driver_data<crospang_state>();
- state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crospang_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crospang_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(crospang_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(crospang_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_layer->set_transparent_pen(0);
+ m_fg_layer->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16( crospang )
diff --git a/src/mame/video/crshrace.c b/src/mame/video/crshrace.c
index de753b0e5a2..490d919579a 100644
--- a/src/mame/video/crshrace.c
+++ b/src/mame/video/crshrace.c
@@ -30,15 +30,14 @@ TILE_GET_INFO_MEMBER(crshrace_state::get_tile_info2)
***************************************************************************/
-VIDEO_START( crshrace )
+void crshrace_state::video_start()
{
- crshrace_state *state = machine.driver_data<crshrace_state>();
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crshrace_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crshrace_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(crshrace_state::get_tile_info1),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(crshrace_state::get_tile_info2),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap1->set_transparent_pen(0x0f);
- state->m_tilemap2->set_transparent_pen(0xff);
+ m_tilemap1->set_transparent_pen(0x0f);
+ m_tilemap2->set_transparent_pen(0xff);
}
diff --git a/src/mame/video/cvs.c b/src/mame/video/cvs.c
index ac7f701a055..10ec82329d0 100644
--- a/src/mame/video/cvs.c
+++ b/src/mame/video/cvs.c
@@ -25,13 +25,13 @@
* colours are taken from SRAM and are programmable *
******************************************************/
-PALETTE_INIT( cvs )
+PALETTE_INIT_MEMBER(cvs_state,cvs)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, attr;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x10);
+ machine().colortable = colortable_alloc(machine(), 0x10);
/* color mapping PROM */
for (attr = 0; attr < 0x100; attr++)
@@ -43,25 +43,25 @@ PALETTE_INIT( cvs )
/* bits 0 and 2 are swapped */
ctabentry = BITSWAP8(ctabentry,7,6,5,4,3,0,1,2);
- colortable_entry_set_value(machine.colortable, (attr << 3) | i, ctabentry);
+ colortable_entry_set_value(machine().colortable, (attr << 3) | i, ctabentry);
}
}
/* background collision map */
for (i = 0; i < 8; i++)
{
- colortable_entry_set_value(machine.colortable, 0x800 + i, 0);
- colortable_entry_set_value(machine.colortable, 0x808 + i, i & 0x04);
- colortable_entry_set_value(machine.colortable, 0x810 + i, i & 0x02);
- colortable_entry_set_value(machine.colortable, 0x818 + i, i & 0x06);
+ colortable_entry_set_value(machine().colortable, 0x800 + i, 0);
+ colortable_entry_set_value(machine().colortable, 0x808 + i, i & 0x04);
+ colortable_entry_set_value(machine().colortable, 0x810 + i, i & 0x02);
+ colortable_entry_set_value(machine().colortable, 0x818 + i, i & 0x06);
}
/* sprites */
for (i = 0; i < 8; i++)
- colortable_entry_set_value(machine.colortable, SPRITE_PEN_BASE + i, i | 0x08);
+ colortable_entry_set_value(machine().colortable, SPRITE_PEN_BASE + i, i | 0x08);
/* bullet */
- colortable_entry_set_value(machine.colortable, BULLET_STAR_PEN, 7);
+ colortable_entry_set_value(machine().colortable, BULLET_STAR_PEN, 7);
}
@@ -121,21 +121,20 @@ WRITE8_MEMBER(cvs_state::cvs_scroll_w)
}
-VIDEO_START( cvs )
+VIDEO_START_MEMBER(cvs_state,cvs)
{
- cvs_state *state = machine.driver_data<cvs_state>();
- cvs_init_stars(machine);
+ cvs_init_stars(machine());
/* create helper bitmaps */
- machine.primary_screen->register_screen_bitmap(state->m_background_bitmap);
- machine.primary_screen->register_screen_bitmap(state->m_collision_background);
- machine.primary_screen->register_screen_bitmap(state->m_scrolled_collision_background);
+ machine().primary_screen->register_screen_bitmap(m_background_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_collision_background);
+ machine().primary_screen->register_screen_bitmap(m_scrolled_collision_background);
/* register save */
- state->save_item(NAME(state->m_background_bitmap));
- state->save_item(NAME(state->m_collision_background));
- state->save_item(NAME(state->m_scrolled_collision_background));
+ save_item(NAME(m_background_bitmap));
+ save_item(NAME(m_collision_background));
+ save_item(NAME(m_scrolled_collision_background));
}
diff --git a/src/mame/video/cyberbal.c b/src/mame/video/cyberbal.c
index 8b16dac44e1..e7be8e54fba 100644
--- a/src/mame/video/cyberbal.c
+++ b/src/mame/video/cyberbal.c
@@ -176,9 +176,9 @@ static void video_start_cyberbal_common(running_machine &machine, int screens)
}
-VIDEO_START( cyberbal )
+VIDEO_START_MEMBER(cyberbal_state,cyberbal)
{
- video_start_cyberbal_common(machine, 2);
+ video_start_cyberbal_common(machine(), 2);
/* adjust the sprite positions */
atarimo_set_xscroll(0, 4);
@@ -186,9 +186,9 @@ VIDEO_START( cyberbal )
}
-VIDEO_START( cyberbal2p )
+VIDEO_START_MEMBER(cyberbal_state,cyberbal2p)
{
- video_start_cyberbal_common(machine, 1);
+ video_start_cyberbal_common(machine(), 1);
/* adjust the sprite positions */
atarimo_set_xscroll(0, 5);
diff --git a/src/mame/video/darius.c b/src/mame/video/darius.c
index a4865b004d2..df83af3dfe0 100644
--- a/src/mame/video/darius.c
+++ b/src/mame/video/darius.c
@@ -23,13 +23,12 @@ TILE_GET_INFO_MEMBER(darius_state::get_fg_tile_info)
/***************************************************************************/
-VIDEO_START( darius )
+void darius_state::video_start()
{
- darius_state *state = machine.driver_data<darius_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darius_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(darius_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
/***************************************************************************/
diff --git a/src/mame/video/darkmist.c b/src/mame/video/darkmist.c
index 04d5f2d344a..daae7254cbf 100644
--- a/src/mame/video/darkmist.c
+++ b/src/mame/video/darkmist.c
@@ -68,13 +68,13 @@ TILE_GET_INFO_MEMBER(darkmist_state::get_txttile_info)
0);
}
-PALETTE_INIT(darkmist)
+void darkmist_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x101);
+ machine().colortable = colortable_alloc(machine(), 0x101);
for (i = 0; i < 0x400; i++)
{
@@ -95,7 +95,7 @@ PALETTE_INIT(darkmist)
}
}
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -118,14 +118,13 @@ static void set_pens(running_machine &machine)
}
-VIDEO_START(darkmist)
+void darkmist_state::video_start()
{
- darkmist_state *state = machine.driver_data<darkmist_state>();
- state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_bgtile_info),state),TILEMAP_SCAN_ROWS,16,16,512,64 );
- state->m_fgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_fgtile_info),state),TILEMAP_SCAN_ROWS,16,16,64,256 );
- state->m_txtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_txttile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
- state->m_fgtilemap->set_transparent_pen(0);
- state->m_txtilemap->set_transparent_pen(0);
+ m_bgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_bgtile_info),this),TILEMAP_SCAN_ROWS,16,16,512,64 );
+ m_fgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_fgtile_info),this),TILEMAP_SCAN_ROWS,16,16,64,256 );
+ m_txtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_txttile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32 );
+ m_fgtilemap->set_transparent_pen(0);
+ m_txtilemap->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16( darkmist)
diff --git a/src/mame/video/darkseal.c b/src/mame/video/darkseal.c
index 4ca19217b7d..08f295c119d 100644
--- a/src/mame/video/darkseal.c
+++ b/src/mame/video/darkseal.c
@@ -53,7 +53,7 @@ WRITE16_MEMBER(darkseal_state::darkseal_palette_24bit_b_w)
/******************************************************************************/
-VIDEO_START( darkseal )
+void darkseal_state::video_start()
{
}
diff --git a/src/mame/video/dassault.c b/src/mame/video/dassault.c
index a66957c8245..272bed66fc0 100644
--- a/src/mame/video/dassault.c
+++ b/src/mame/video/dassault.c
@@ -21,10 +21,10 @@
/******************************************************************************/
-VIDEO_START(dassault)
+void dassault_state::video_start()
{
- machine.device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
- machine.device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
}
static void mixdassaultlayer(running_machine &machine, bitmap_rgb32 &bitmap, bitmap_ind16* sprite_bitmap, const rectangle &cliprect, UINT16 pri, UINT16 primask, UINT16 penbase, UINT8 alpha)
diff --git a/src/mame/video/dbz.c b/src/mame/video/dbz.c
index 7081df4437f..2afe0b4ea90 100644
--- a/src/mame/video/dbz.c
+++ b/src/mame/video/dbz.c
@@ -72,25 +72,24 @@ TILE_GET_INFO_MEMBER(dbz_state::get_dbz_bg1_tile_info)
SET_TILE_INFO_MEMBER(1, tileno, colour + (m_layer_colorbase[4] << 1), flag);
}
-VIDEO_START( dbz )
+void dbz_state::video_start()
{
- dbz_state *state = machine.driver_data<dbz_state>();
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dbz_state::get_dbz_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dbz_state::get_dbz_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dbz_state::get_dbz_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dbz_state::get_dbz_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_bg1_tilemap->set_transparent_pen(0);
- state->m_bg2_tilemap->set_transparent_pen(0);
+ m_bg1_tilemap->set_transparent_pen(0);
+ m_bg2_tilemap->set_transparent_pen(0);
- if (!strcmp(machine.system().name, "dbz"))
- k056832_set_layer_offs(state->m_k056832, 0, -34, -16);
+ if (!strcmp(machine().system().name, "dbz"))
+ k056832_set_layer_offs(m_k056832, 0, -34, -16);
else
- k056832_set_layer_offs(state->m_k056832, 0, -35, -16);
+ k056832_set_layer_offs(m_k056832, 0, -35, -16);
- k056832_set_layer_offs(state->m_k056832, 1, -31, -16);
- k056832_set_layer_offs(state->m_k056832, 3, -31, -16); //?
+ k056832_set_layer_offs(m_k056832, 1, -31, -16);
+ k056832_set_layer_offs(m_k056832, 3, -31, -16); //?
- k053247_set_sprite_offs(state->m_k053246, -87, 32);
+ k053247_set_sprite_offs(m_k053246, -87, 32);
}
SCREEN_UPDATE_IND16( dbz )
diff --git a/src/mame/video/dc.c b/src/mame/video/dc.c
index 51acd9399de..bf7f1e8141e 100644
--- a/src/mame/video/dc.c
+++ b/src/mame/video/dc.c
@@ -26,6 +26,7 @@ SPG_HBLANK_INT
---- ---- ---- ---- ---- --xx xxxx xxxx line_comp_val
*/
#define spg_hblank_in_irq ((state->pvrta_regs[SPG_HBLANK_INT] & 0x03ff0000) >> 16)
+#define spg_hblank_in_irq_new ((pvrta_regs[SPG_HBLANK_INT] & 0x03ff0000) >> 16)
#define spg_hblank_int_mode ((state->pvrta_regs[SPG_HBLANK_INT] & 0x00003000) >> 12)
#define spg_line_comp_val ((state->pvrta_regs[SPG_HBLANK_INT] & 0x000003ff) >> 0)
@@ -36,6 +37,8 @@ SPG_VBLANK_INT
*/
#define spg_vblank_out_irq_line_num ((state->pvrta_regs[SPG_VBLANK_INT] & 0x03ff0000) >> 16)
#define spg_vblank_in_irq_line_num ((state->pvrta_regs[SPG_VBLANK_INT] & 0x000003ff) >> 0)
+#define spg_vblank_out_irq_line_num_new ((pvrta_regs[SPG_VBLANK_INT] & 0x03ff0000) >> 16)
+#define spg_vblank_in_irq_line_num_new ((pvrta_regs[SPG_VBLANK_INT] & 0x000003ff) >> 0)
/*
@@ -2578,28 +2581,27 @@ static TIMER_CALLBACK(endofrender_isp)
}
-VIDEO_START(dc)
+void dc_state::video_start()
{
- dc_state *state = machine.driver_data<dc_state>();
- memset(state->pvrctrl_regs, 0, sizeof(state->pvrctrl_regs));
- memset(state->pvrta_regs, 0, sizeof(state->pvrta_regs));
+ memset(pvrctrl_regs, 0, sizeof(pvrctrl_regs));
+ memset(pvrta_regs, 0, sizeof(pvrta_regs));
memset(state_ta.grab, 0, sizeof(state_ta.grab));
pvr_build_parameterconfig();
// if the next 2 registers do not have the correct values, the naomi bios will hang
- state->pvrta_regs[PVRID]=0x17fd11db;
- state->pvrta_regs[REVISION]=0x11;
+ pvrta_regs[PVRID]=0x17fd11db;
+ pvrta_regs[REVISION]=0x11;
/* FIXME: move the following regs inside MACHINE_RESET */
- state->pvrta_regs[VO_CONTROL]= 0x00000108;
- state->pvrta_regs[SOFTRESET]= 0x00000007;
- state->pvrta_regs[VO_STARTX]= 0x0000009d;
- state->pvrta_regs[VO_STARTY]= 0x00150015;
- state->pvrta_regs[SPG_HBLANK]= 0x007e0345;
- state->pvrta_regs[SPG_LOAD]= 0x01060359;
- state->pvrta_regs[SPG_VBLANK]= 0x01500104;
- state->pvrta_regs[SPG_HBLANK_INT]= 0x031d0000;
- state->pvrta_regs[SPG_VBLANK_INT]= 0x01500104;
+ pvrta_regs[VO_CONTROL]= 0x00000108;
+ pvrta_regs[SOFTRESET]= 0x00000007;
+ pvrta_regs[VO_STARTX]= 0x0000009d;
+ pvrta_regs[VO_STARTY]= 0x00150015;
+ pvrta_regs[SPG_HBLANK]= 0x007e0345;
+ pvrta_regs[SPG_LOAD]= 0x01060359;
+ pvrta_regs[SPG_VBLANK]= 0x01500104;
+ pvrta_regs[SPG_HBLANK_INT]= 0x031d0000;
+ pvrta_regs[SPG_VBLANK_INT]= 0x01500104;
state_ta.tafifo_pos=0;
state_ta.tafifo_mask=7;
@@ -2611,27 +2613,27 @@ VIDEO_START(dc)
computedilated();
- state->vbout_timer = machine.scheduler().timer_alloc(FUNC(vbout));
- state->vbout_timer->adjust(machine.primary_screen->time_until_pos(spg_vblank_out_irq_line_num));
+ vbout_timer = machine().scheduler().timer_alloc(FUNC(vbout));
+ vbout_timer->adjust(machine().primary_screen->time_until_pos(spg_vblank_out_irq_line_num_new));
- state->vbin_timer = machine.scheduler().timer_alloc(FUNC(vbin));
- state->vbin_timer->adjust(machine.primary_screen->time_until_pos(spg_vblank_in_irq_line_num));
+ vbin_timer = machine().scheduler().timer_alloc(FUNC(vbin));
+ vbin_timer->adjust(machine().primary_screen->time_until_pos(spg_vblank_in_irq_line_num_new));
- state->hbin_timer = machine.scheduler().timer_alloc(FUNC(hbin));
- state->hbin_timer->adjust(machine.primary_screen->time_until_pos(0, spg_hblank_in_irq-1));
+ hbin_timer = machine().scheduler().timer_alloc(FUNC(hbin));
+ hbin_timer->adjust(machine().primary_screen->time_until_pos(0, spg_hblank_in_irq_new-1));
- state->scanline = 0;
- state->next_y = 0;
+ scanline = 0;
+ next_y = 0;
- state->endofrender_timer_isp = machine.scheduler().timer_alloc(FUNC(endofrender_isp));
- state->endofrender_timer_tsp = machine.scheduler().timer_alloc(FUNC(endofrender_tsp));
- state->endofrender_timer_video = machine.scheduler().timer_alloc(FUNC(endofrender_video));
+ endofrender_timer_isp = machine().scheduler().timer_alloc(FUNC(endofrender_isp));
+ endofrender_timer_tsp = machine().scheduler().timer_alloc(FUNC(endofrender_tsp));
+ endofrender_timer_video = machine().scheduler().timer_alloc(FUNC(endofrender_video));
- state->endofrender_timer_isp->adjust(attotime::never);
- state->endofrender_timer_tsp->adjust(attotime::never);
- state->endofrender_timer_video->adjust(attotime::never);
+ endofrender_timer_isp->adjust(attotime::never);
+ endofrender_timer_tsp->adjust(attotime::never);
+ endofrender_timer_video->adjust(attotime::never);
- fake_accumulationbuffer_bitmap = auto_bitmap_rgb32_alloc(machine,1024,1024);
+ fake_accumulationbuffer_bitmap = auto_bitmap_rgb32_alloc(machine(),1024,1024);
}
diff --git a/src/mame/video/dcheese.c b/src/mame/video/dcheese.c
index 9b118c67077..63a4f8f7594 100644
--- a/src/mame/video/dcheese.c
+++ b/src/mame/video/dcheese.c
@@ -25,9 +25,9 @@
*
*************************************/
-PALETTE_INIT( dcheese )
+void dcheese_state::palette_init()
{
- const UINT16 *src = (UINT16 *)machine.root_device().memregion("user1")->base();
+ const UINT16 *src = (UINT16 *)machine().root_device().memregion("user1")->base();
int i;
/* really 65536 colors, but they don't use the later ones so we can stay */
@@ -35,7 +35,7 @@ PALETTE_INIT( dcheese )
for (i = 0; i < 65534; i++)
{
int data = *src++;
- palette_set_color_rgb(machine, i, pal6bit(data >> 0), pal5bit(data >> 6), pal5bit(data >> 11));
+ palette_set_color_rgb(machine(), i, pal6bit(data >> 0), pal5bit(data >> 6), pal5bit(data >> 11));
}
}
@@ -90,22 +90,21 @@ static TIMER_CALLBACK( dcheese_signal_irq_callback )
*
*************************************/
-VIDEO_START( dcheese )
+void dcheese_state::video_start()
{
- dcheese_state *state = machine.driver_data<dcheese_state>();
/* the destination bitmap is not directly accessible to the CPU */
- state->m_dstbitmap = auto_bitmap_ind16_alloc(machine, DSTBITMAP_WIDTH, DSTBITMAP_HEIGHT);
+ m_dstbitmap = auto_bitmap_ind16_alloc(machine(), DSTBITMAP_WIDTH, DSTBITMAP_HEIGHT);
/* create a timer */
- state->m_blitter_timer = machine.scheduler().timer_alloc(FUNC(blitter_scanline_callback));
+ m_blitter_timer = machine().scheduler().timer_alloc(FUNC(blitter_scanline_callback));
/* register for saving */
- state->save_item(NAME(state->m_blitter_color));
- state->save_item(NAME(state->m_blitter_xparam));
- state->save_item(NAME(state->m_blitter_yparam));
- state->save_item(NAME(state->m_blitter_vidparam));
- state->save_item(NAME(*state->m_dstbitmap));
+ save_item(NAME(m_blitter_color));
+ save_item(NAME(m_blitter_xparam));
+ save_item(NAME(m_blitter_yparam));
+ save_item(NAME(m_blitter_vidparam));
+ save_item(NAME(*m_dstbitmap));
}
diff --git a/src/mame/video/dcon.c b/src/mame/video/dcon.c
index 565b6985d51..b17adfdf0d1 100644
--- a/src/mame/video/dcon.c
+++ b/src/mame/video/dcon.c
@@ -125,19 +125,18 @@ TILE_GET_INFO_MEMBER(dcon_state::get_text_tile_info)
0);
}
-VIDEO_START( dcon )
+void dcon_state::video_start()
{
- dcon_state *state = machine.driver_data<dcon_state>();
- state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,32,32);
- state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_fore_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_mid_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
+ m_background_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_back_tile_info),this),TILEMAP_SCAN_ROWS, 16,16,32,32);
+ m_foreground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_fore_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_midground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_mid_tile_info),this), TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,64,32);
- state->m_midground_layer->set_transparent_pen(15);
- state->m_foreground_layer->set_transparent_pen(15);
- state->m_text_layer->set_transparent_pen(15);
+ m_midground_layer->set_transparent_pen(15);
+ m_foreground_layer->set_transparent_pen(15);
+ m_text_layer->set_transparent_pen(15);
- state->m_gfx_bank_select = 0;
+ m_gfx_bank_select = 0;
}
static void draw_sprites(running_machine& machine, bitmap_ind16 &bitmap,const rectangle &cliprect)
diff --git a/src/mame/video/dday.c b/src/mame/video/dday.c
index ec7681294b7..55063eaad92 100644
--- a/src/mame/video/dday.c
+++ b/src/mame/video/dday.c
@@ -48,15 +48,15 @@ static void start_countdown_timer(running_machine &machine)
***************************************************************************/
-PALETTE_INIT( dday )
+void dday_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- palette_set_shadow_factor(machine, 1.0 / 8);
+ palette_set_shadow_factor(machine(), 1.0 / 8);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -65,85 +65,85 @@ PALETTE_INIT( dday )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* HACK!!! This table is handgenerated, but it matches the screenshot.
I have no clue how it really works */
- colortable_entry_set_value(machine.colortable, 0*8+0+0, 0x00);
- colortable_entry_set_value(machine.colortable, 0*8+0+1, 0x01);
- colortable_entry_set_value(machine.colortable, 0*8+0+2, 0x15);
- colortable_entry_set_value(machine.colortable, 0*8+0+3, 0x02);
- colortable_entry_set_value(machine.colortable, 0*8+4+0, 0x00);
- colortable_entry_set_value(machine.colortable, 0*8+4+1, 0x01);
- colortable_entry_set_value(machine.colortable, 0*8+4+2, 0x15);
- colortable_entry_set_value(machine.colortable, 0*8+4+3, 0x02);
-
- colortable_entry_set_value(machine.colortable, 1*8+0+0, 0x04);
- colortable_entry_set_value(machine.colortable, 1*8+0+1, 0x05);
- colortable_entry_set_value(machine.colortable, 1*8+0+2, 0x03);
- colortable_entry_set_value(machine.colortable, 1*8+0+3, 0x07);
- colortable_entry_set_value(machine.colortable, 1*8+4+0, 0x04);
- colortable_entry_set_value(machine.colortable, 1*8+4+1, 0x05);
- colortable_entry_set_value(machine.colortable, 1*8+4+2, 0x03);
- colortable_entry_set_value(machine.colortable, 1*8+4+3, 0x07);
-
- colortable_entry_set_value(machine.colortable, 2*8+0+0, 0x08);
- colortable_entry_set_value(machine.colortable, 2*8+0+1, 0x15);
- colortable_entry_set_value(machine.colortable, 2*8+0+2, 0x0a);
- colortable_entry_set_value(machine.colortable, 2*8+0+3, 0x03);
- colortable_entry_set_value(machine.colortable, 2*8+4+0, 0x08);
- colortable_entry_set_value(machine.colortable, 2*8+4+1, 0x15);
- colortable_entry_set_value(machine.colortable, 2*8+4+2, 0x0a);
- colortable_entry_set_value(machine.colortable, 2*8+4+3, 0x03);
-
- colortable_entry_set_value(machine.colortable, 3*8+0+0, 0x08);
- colortable_entry_set_value(machine.colortable, 3*8+0+1, 0x15);
- colortable_entry_set_value(machine.colortable, 3*8+0+2, 0x0a);
- colortable_entry_set_value(machine.colortable, 3*8+0+3, 0x03);
- colortable_entry_set_value(machine.colortable, 3*8+4+0, 0x08);
- colortable_entry_set_value(machine.colortable, 3*8+4+1, 0x15);
- colortable_entry_set_value(machine.colortable, 3*8+4+2, 0x0a);
- colortable_entry_set_value(machine.colortable, 3*8+4+3, 0x03);
-
- colortable_entry_set_value(machine.colortable, 4*8+0+0, 0x10);
- colortable_entry_set_value(machine.colortable, 4*8+0+1, 0x11);
- colortable_entry_set_value(machine.colortable, 4*8+0+2, 0x12);
- colortable_entry_set_value(machine.colortable, 4*8+0+3, 0x07);
- colortable_entry_set_value(machine.colortable, 4*8+4+0, 0x10);
- colortable_entry_set_value(machine.colortable, 4*8+4+1, 0x11);
- colortable_entry_set_value(machine.colortable, 4*8+4+2, 0x12);
- colortable_entry_set_value(machine.colortable, 4*8+4+3, 0x07);
-
- colortable_entry_set_value(machine.colortable, 5*8+0+0, 0x1d);
- colortable_entry_set_value(machine.colortable, 5*8+0+1, 0x15);
- colortable_entry_set_value(machine.colortable, 5*8+0+2, 0x16);
- colortable_entry_set_value(machine.colortable, 5*8+0+3, 0x1b);
- colortable_entry_set_value(machine.colortable, 5*8+4+0, 0x1d);
- colortable_entry_set_value(machine.colortable, 5*8+4+1, 0x15);
- colortable_entry_set_value(machine.colortable, 5*8+4+2, 0x16);
- colortable_entry_set_value(machine.colortable, 5*8+4+3, 0x1b);
-
- colortable_entry_set_value(machine.colortable, 6*8+0+0, 0x1d);
- colortable_entry_set_value(machine.colortable, 6*8+0+1, 0x15);
- colortable_entry_set_value(machine.colortable, 6*8+0+2, 0x1a);
- colortable_entry_set_value(machine.colortable, 6*8+0+3, 0x1b);
- colortable_entry_set_value(machine.colortable, 6*8+4+0, 0x1d);
- colortable_entry_set_value(machine.colortable, 6*8+4+1, 0x15);
- colortable_entry_set_value(machine.colortable, 6*8+4+2, 0x1a);
- colortable_entry_set_value(machine.colortable, 6*8+4+3, 0x1b);
-
- colortable_entry_set_value(machine.colortable, 7*8+0+0, 0x1d);
- colortable_entry_set_value(machine.colortable, 7*8+0+1, 0x02);
- colortable_entry_set_value(machine.colortable, 7*8+0+2, 0x04);
- colortable_entry_set_value(machine.colortable, 7*8+0+3, 0x1b);
- colortable_entry_set_value(machine.colortable, 7*8+4+0, 0x1d);
- colortable_entry_set_value(machine.colortable, 7*8+4+1, 0x02);
- colortable_entry_set_value(machine.colortable, 7*8+4+2, 0x04);
- colortable_entry_set_value(machine.colortable, 7*8+4+3, 0x1b);
+ colortable_entry_set_value(machine().colortable, 0*8+0+0, 0x00);
+ colortable_entry_set_value(machine().colortable, 0*8+0+1, 0x01);
+ colortable_entry_set_value(machine().colortable, 0*8+0+2, 0x15);
+ colortable_entry_set_value(machine().colortable, 0*8+0+3, 0x02);
+ colortable_entry_set_value(machine().colortable, 0*8+4+0, 0x00);
+ colortable_entry_set_value(machine().colortable, 0*8+4+1, 0x01);
+ colortable_entry_set_value(machine().colortable, 0*8+4+2, 0x15);
+ colortable_entry_set_value(machine().colortable, 0*8+4+3, 0x02);
+
+ colortable_entry_set_value(machine().colortable, 1*8+0+0, 0x04);
+ colortable_entry_set_value(machine().colortable, 1*8+0+1, 0x05);
+ colortable_entry_set_value(machine().colortable, 1*8+0+2, 0x03);
+ colortable_entry_set_value(machine().colortable, 1*8+0+3, 0x07);
+ colortable_entry_set_value(machine().colortable, 1*8+4+0, 0x04);
+ colortable_entry_set_value(machine().colortable, 1*8+4+1, 0x05);
+ colortable_entry_set_value(machine().colortable, 1*8+4+2, 0x03);
+ colortable_entry_set_value(machine().colortable, 1*8+4+3, 0x07);
+
+ colortable_entry_set_value(machine().colortable, 2*8+0+0, 0x08);
+ colortable_entry_set_value(machine().colortable, 2*8+0+1, 0x15);
+ colortable_entry_set_value(machine().colortable, 2*8+0+2, 0x0a);
+ colortable_entry_set_value(machine().colortable, 2*8+0+3, 0x03);
+ colortable_entry_set_value(machine().colortable, 2*8+4+0, 0x08);
+ colortable_entry_set_value(machine().colortable, 2*8+4+1, 0x15);
+ colortable_entry_set_value(machine().colortable, 2*8+4+2, 0x0a);
+ colortable_entry_set_value(machine().colortable, 2*8+4+3, 0x03);
+
+ colortable_entry_set_value(machine().colortable, 3*8+0+0, 0x08);
+ colortable_entry_set_value(machine().colortable, 3*8+0+1, 0x15);
+ colortable_entry_set_value(machine().colortable, 3*8+0+2, 0x0a);
+ colortable_entry_set_value(machine().colortable, 3*8+0+3, 0x03);
+ colortable_entry_set_value(machine().colortable, 3*8+4+0, 0x08);
+ colortable_entry_set_value(machine().colortable, 3*8+4+1, 0x15);
+ colortable_entry_set_value(machine().colortable, 3*8+4+2, 0x0a);
+ colortable_entry_set_value(machine().colortable, 3*8+4+3, 0x03);
+
+ colortable_entry_set_value(machine().colortable, 4*8+0+0, 0x10);
+ colortable_entry_set_value(machine().colortable, 4*8+0+1, 0x11);
+ colortable_entry_set_value(machine().colortable, 4*8+0+2, 0x12);
+ colortable_entry_set_value(machine().colortable, 4*8+0+3, 0x07);
+ colortable_entry_set_value(machine().colortable, 4*8+4+0, 0x10);
+ colortable_entry_set_value(machine().colortable, 4*8+4+1, 0x11);
+ colortable_entry_set_value(machine().colortable, 4*8+4+2, 0x12);
+ colortable_entry_set_value(machine().colortable, 4*8+4+3, 0x07);
+
+ colortable_entry_set_value(machine().colortable, 5*8+0+0, 0x1d);
+ colortable_entry_set_value(machine().colortable, 5*8+0+1, 0x15);
+ colortable_entry_set_value(machine().colortable, 5*8+0+2, 0x16);
+ colortable_entry_set_value(machine().colortable, 5*8+0+3, 0x1b);
+ colortable_entry_set_value(machine().colortable, 5*8+4+0, 0x1d);
+ colortable_entry_set_value(machine().colortable, 5*8+4+1, 0x15);
+ colortable_entry_set_value(machine().colortable, 5*8+4+2, 0x16);
+ colortable_entry_set_value(machine().colortable, 5*8+4+3, 0x1b);
+
+ colortable_entry_set_value(machine().colortable, 6*8+0+0, 0x1d);
+ colortable_entry_set_value(machine().colortable, 6*8+0+1, 0x15);
+ colortable_entry_set_value(machine().colortable, 6*8+0+2, 0x1a);
+ colortable_entry_set_value(machine().colortable, 6*8+0+3, 0x1b);
+ colortable_entry_set_value(machine().colortable, 6*8+4+0, 0x1d);
+ colortable_entry_set_value(machine().colortable, 6*8+4+1, 0x15);
+ colortable_entry_set_value(machine().colortable, 6*8+4+2, 0x1a);
+ colortable_entry_set_value(machine().colortable, 6*8+4+3, 0x1b);
+
+ colortable_entry_set_value(machine().colortable, 7*8+0+0, 0x1d);
+ colortable_entry_set_value(machine().colortable, 7*8+0+1, 0x02);
+ colortable_entry_set_value(machine().colortable, 7*8+0+2, 0x04);
+ colortable_entry_set_value(machine().colortable, 7*8+0+3, 0x1b);
+ colortable_entry_set_value(machine().colortable, 7*8+4+0, 0x1d);
+ colortable_entry_set_value(machine().colortable, 7*8+4+1, 0x02);
+ colortable_entry_set_value(machine().colortable, 7*8+4+2, 0x04);
+ colortable_entry_set_value(machine().colortable, 7*8+4+3, 0x1b);
}
@@ -207,21 +207,20 @@ TILE_GET_INFO_MEMBER(dday_state::get_sl_tile_info)
***************************************************************************/
-VIDEO_START( dday )
+void dday_state::video_start()
{
- dday_state *state = machine.driver_data<dday_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_sl_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_sl_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_text_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_sl_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_sl_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- machine.primary_screen->register_screen_bitmap(state->m_main_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_main_bitmap);
- state->m_bg_tilemap->set_transmask(0, 0x00f0, 0xff0f); /* pens 0-3 have priority over the foreground layer */
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_text_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transmask(0, 0x00f0, 0xff0f); /* pens 0-3 have priority over the foreground layer */
+ m_fg_tilemap->set_transparent_pen(0);
+ m_text_tilemap->set_transparent_pen(0);
- start_countdown_timer(machine);
+ start_countdown_timer(machine());
}
WRITE8_MEMBER(dday_state::dday_bgvideoram_w)
diff --git a/src/mame/video/ddragon.c b/src/mame/video/ddragon.c
index 96b97ef1fd9..6e1f7837b54 100644
--- a/src/mame/video/ddragon.c
+++ b/src/mame/video/ddragon.c
@@ -93,30 +93,28 @@ TILE_GET_INFO_MEMBER(ddragon_state::get_fg_16color_tile_info)
***************************************************************************/
-VIDEO_START( ddragon )
+VIDEO_START_MEMBER(ddragon_state,ddragon)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(ddragon_state::background_scan),state), 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(ddragon_state::background_scan),this), 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scrolldx(0, 384 - 256);
- state->m_bg_tilemap->set_scrolldx(0, 384 - 256);
- state->m_fg_tilemap->set_scrolldy(-8, -8);
- state->m_bg_tilemap->set_scrolldy(-8, -8);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_scrolldx(0, 384 - 256);
+ m_bg_tilemap->set_scrolldx(0, 384 - 256);
+ m_fg_tilemap->set_scrolldy(-8, -8);
+ m_bg_tilemap->set_scrolldy(-8, -8);
}
-VIDEO_START( chinagat )
+VIDEO_START_MEMBER(ddragon_state,chinagat)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(ddragon_state::background_scan),state), 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_fg_16color_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(ddragon_state::background_scan),this), 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_fg_16color_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scrolldy(-8, -8);
- state->m_bg_tilemap->set_scrolldy(-8, -8);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_scrolldy(-8, -8);
+ m_bg_tilemap->set_scrolldy(-8, -8);
}
diff --git a/src/mame/video/ddragon3.c b/src/mame/video/ddragon3.c
index 8e6695d3d89..43582b9be21 100644
--- a/src/mame/video/ddragon3.c
+++ b/src/mame/video/ddragon3.c
@@ -74,15 +74,14 @@ TILE_GET_INFO_MEMBER(ddragon3_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( ddragon3 )
+void ddragon3_state::video_start()
{
- ddragon3_state *state = machine.driver_data<ddragon3_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon3_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon3_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddragon3_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddragon3_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
/*
diff --git a/src/mame/video/ddribble.c b/src/mame/video/ddribble.c
index 71462f3c386..25303031923 100644
--- a/src/mame/video/ddribble.c
+++ b/src/mame/video/ddribble.c
@@ -10,22 +10,22 @@
#include "includes/ddribble.h"
-PALETTE_INIT( ddribble )
+void ddribble_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x40);
+ machine().colortable = colortable_alloc(machine(), 0x40);
for (i = 0x10; i < 0x40; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprite #2 uses pens 0x00-0x0f */
for (i = 0x40; i < 0x140; i++)
{
UINT8 ctabentry = color_prom[i - 0x40] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -121,14 +121,13 @@ TILE_GET_INFO_MEMBER(ddribble_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( ddribble )
+void ddribble_state::video_start()
{
- ddribble_state *state = machine.driver_data<ddribble_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddribble_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(ddribble_state::tilemap_scan),state), 8, 8, 64, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddribble_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(ddribble_state::tilemap_scan),state), 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddribble_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(ddribble_state::tilemap_scan),this), 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ddribble_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(ddribble_state::tilemap_scan),this), 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
/***************************************************************************
diff --git a/src/mame/video/deadang.c b/src/mame/video/deadang.c
index e6483415773..ed16010f65e 100644
--- a/src/mame/video/deadang.c
+++ b/src/mame/video/deadang.c
@@ -69,17 +69,16 @@ TILE_GET_INFO_MEMBER(deadang_state::get_text_tile_info)
SET_TILE_INFO_MEMBER(0,tile,color,0);
}
-VIDEO_START( deadang )
+void deadang_state::video_start()
{
- deadang_state *state = machine.driver_data<deadang_state>();
- state->m_pf3_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_pf3_tile_info),state),tilemap_mapper_delegate(FUNC(deadang_state::bg_scan),state),16,16,128,256);
- state->m_pf2_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_pf2_tile_info),state),tilemap_mapper_delegate(FUNC(deadang_state::bg_scan),state),16,16,128,256);
- state->m_pf1_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_pf1_tile_info),state),TILEMAP_SCAN_COLS,16,16, 32, 32);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
-
- state->m_pf2_layer->set_transparent_pen(15);
- state->m_pf1_layer->set_transparent_pen(15);
- state->m_text_layer->set_transparent_pen(15);
+ m_pf3_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_pf3_tile_info),this),tilemap_mapper_delegate(FUNC(deadang_state::bg_scan),this),16,16,128,256);
+ m_pf2_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_pf2_tile_info),this),tilemap_mapper_delegate(FUNC(deadang_state::bg_scan),this),16,16,128,256);
+ m_pf1_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_pf1_tile_info),this),TILEMAP_SCAN_COLS,16,16, 32, 32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+
+ m_pf2_layer->set_transparent_pen(15);
+ m_pf1_layer->set_transparent_pen(15);
+ m_text_layer->set_transparent_pen(15);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/dec0.c b/src/mame/video/dec0.c
index 88bdaf83886..1a490ec5220 100644
--- a/src/mame/video/dec0.c
+++ b/src/mame/video/dec0.c
@@ -371,22 +371,19 @@ WRITE16_MEMBER(dec0_state::dec0_priority_w)
COMBINE_DATA(&m_pri);
}
-VIDEO_START( dec0_nodma )
+VIDEO_START_MEMBER(dec0_state,dec0_nodma)
{
- dec0_state *state = machine.driver_data<dec0_state>();
- state->m_buffered_spriteram = state->m_spriteram;
+ m_buffered_spriteram = m_spriteram;
}
-VIDEO_START( dec0 )
+VIDEO_START_MEMBER(dec0_state,dec0)
{
- dec0_state *state = machine.driver_data<dec0_state>();
- VIDEO_START_CALL(dec0_nodma);
- state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, 0x800/2);
+ VIDEO_START_CALL_MEMBER(dec0_nodma);
+ m_buffered_spriteram = auto_alloc_array(machine(), UINT16, 0x800/2);
}
-VIDEO_START( automat )
+VIDEO_START_MEMBER(dec0_automat_state,automat)
{
-// dec0_state *state = machine.driver_data<dec0_state>();
}
/******************************************************************************/
diff --git a/src/mame/video/dec8.c b/src/mame/video/dec8.c
index b52f8707359..91d17067c49 100644
--- a/src/mame/video/dec8.c
+++ b/src/mame/video/dec8.c
@@ -75,12 +75,12 @@ sprites.
***************************************************************************/
-PALETTE_INIT( ghostb )
+PALETTE_INIT_MEMBER(dec8_state,ghostb)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, bit3, r, g, b;
@@ -94,13 +94,13 @@ PALETTE_INIT( ghostb )
bit2 = (color_prom[i] >> 6) & 0x01;
bit3 = (color_prom[i] >> 7) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- bit0 = (color_prom[i + machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[i + machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[i + machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[i + machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[i + machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[i + machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[i + machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[i + machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -293,16 +293,15 @@ TILE_GET_INFO_MEMBER(dec8_state::get_cobracom_fix_tile_info)
0);
}
-VIDEO_START( cobracom )
+VIDEO_START_MEMBER(dec8_state,cobracom)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_cobracom_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_cobracom_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap->set_transparent_pen(0);
- state->m_game_uses_priority = 0;
- machine.device<deco_bac06_device>("tilegen1")->set_colmask(0x3);
- machine.device<deco_bac06_device>("tilegen2")->set_colmask(0x3);
+ m_game_uses_priority = 0;
+ machine().device<deco_bac06_device>("tilegen1")->set_colmask(0x3);
+ machine().device<deco_bac06_device>("tilegen2")->set_colmask(0x3);
}
@@ -330,14 +329,13 @@ TILE_GET_INFO_MEMBER(dec8_state::get_ghostb_fix_tile_info)
0);
}
-VIDEO_START( ghostb )
+VIDEO_START_MEMBER(dec8_state,ghostb)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_ghostb_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_ghostb_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fix_tilemap->set_transparent_pen(0);
- state->m_game_uses_priority = 0;
- machine.device<deco_bac06_device>("tilegen1")->set_colmask(0xf);
+ m_game_uses_priority = 0;
+ machine().device<deco_bac06_device>("tilegen1")->set_colmask(0xf);
}
/******************************************************************************/
@@ -368,15 +366,14 @@ TILE_GET_INFO_MEMBER(dec8_state::get_oscar_fix_tile_info)
0);
}
-VIDEO_START( oscar )
+VIDEO_START_MEMBER(dec8_state,oscar)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_oscar_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_oscar_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap->set_transparent_pen(0);
- state->m_game_uses_priority = 1;
- machine.device<deco_bac06_device>("tilegen1")->set_colmask(0x7);
+ m_game_uses_priority = 1;
+ machine().device<deco_bac06_device>("tilegen1")->set_colmask(0x7);
}
@@ -446,25 +443,23 @@ TILE_GET_INFO_MEMBER(dec8_state::get_lastmisn_fix_tile_info)
0);
}
-VIDEO_START( lastmisn )
+VIDEO_START_MEMBER(dec8_state,lastmisn)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_tile_info),state), tilemap_mapper_delegate(FUNC(dec8_state::lastmisn_scan_rows),state), 16, 16, 32, 32);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_tile_info),this), tilemap_mapper_delegate(FUNC(dec8_state::lastmisn_scan_rows),this), 16, 16, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
- state->m_game_uses_priority = 0;
+ m_fix_tilemap->set_transparent_pen(0);
+ m_game_uses_priority = 0;
}
-VIDEO_START( shackled )
+VIDEO_START_MEMBER(dec8_state,shackled)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_tile_info),state), tilemap_mapper_delegate(FUNC(dec8_state::lastmisn_scan_rows),state), 16, 16, 32, 32);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_tile_info),this), tilemap_mapper_delegate(FUNC(dec8_state::lastmisn_scan_rows),this), 16, 16, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_transmask(0, 0x000f, 0xfff0); /* Bottom 12 pens */
- state->m_game_uses_priority = 1;
+ m_fix_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transmask(0, 0x000f, 0xfff0); /* Bottom 12 pens */
+ m_game_uses_priority = 1;
}
/******************************************************************************/
@@ -517,17 +512,16 @@ TILE_GET_INFO_MEMBER(dec8_state::get_srdarwin_tile_info)
tileinfo.group = color;
}
-VIDEO_START( srdarwin )
+VIDEO_START_MEMBER(dec8_state,srdarwin)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_srdarwin_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 16);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_srdarwin_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_srdarwin_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 16);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_srdarwin_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); //* draw as background only
- state->m_bg_tilemap->set_transmask(1, 0x00ff, 0xff00); /* Bottom 8 pens */
- state->m_bg_tilemap->set_transmask(2, 0x00ff, 0xff00); /* Bottom 8 pens */
- state->m_bg_tilemap->set_transmask(3, 0x0000, 0xffff); //* draw as foreground only
+ m_fix_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); //* draw as background only
+ m_bg_tilemap->set_transmask(1, 0x00ff, 0xff00); /* Bottom 8 pens */
+ m_bg_tilemap->set_transmask(2, 0x00ff, 0xff00); /* Bottom 8 pens */
+ m_bg_tilemap->set_transmask(3, 0x0000, 0xffff); //* draw as foreground only
}
/******************************************************************************/
@@ -590,25 +584,23 @@ TILE_GET_INFO_MEMBER(dec8_state::get_gondo_tile_info)
0);
}
-VIDEO_START( gondo )
+VIDEO_START_MEMBER(dec8_state,gondo)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_transmask(0, 0x00ff, 0xff00); /* Bottom 8 pens */
- state->m_game_uses_priority = 0;
+ m_fix_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transmask(0, 0x00ff, 0xff00); /* Bottom 8 pens */
+ m_game_uses_priority = 0;
}
-VIDEO_START( garyoret )
+VIDEO_START_MEMBER(dec8_state,garyoret)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
- state->m_game_uses_priority = 1;
+ m_fix_tilemap->set_transparent_pen(0);
+ m_game_uses_priority = 1;
}
/******************************************************************************/
diff --git a/src/mame/video/deco32.c b/src/mame/video/deco32.c
index 62d72b6465f..6b5c3230b6f 100644
--- a/src/mame/video/deco32.c
+++ b/src/mame/video/deco32.c
@@ -510,55 +510,50 @@ static void dragngun_draw_sprites(running_machine& machine, bitmap_rgb32 &bitmap
/******************************************************************************/
-VIDEO_START( captaven )
+VIDEO_START_MEMBER(deco32_state,captaven)
{
- deco32_state *state = machine.driver_data<deco32_state>();
- state->m_has_ace_ram=0;
+ m_has_ace_ram=0;
}
-VIDEO_START( fghthist )
+VIDEO_START_MEMBER(deco32_state,fghthist)
{
- deco32_state *state = machine.driver_data<deco32_state>();
- state->m_dirty_palette = auto_alloc_array(machine, UINT8, 4096);
- machine.device<decospr_device>("spritegen")->alloc_sprite_bitmap();
- state->m_has_ace_ram=0;
+ m_dirty_palette = auto_alloc_array(machine(), UINT8, 4096);
+ machine().device<decospr_device>("spritegen")->alloc_sprite_bitmap();
+ m_has_ace_ram=0;
}
-VIDEO_START( dragngun )
+VIDEO_START_MEMBER(dragngun_state,dragngun)
{
- dragngun_state *state = machine.driver_data<dragngun_state>();
- state->m_dirty_palette = auto_alloc_array(machine, UINT8, 4096);
+ m_dirty_palette = auto_alloc_array(machine(), UINT8, 4096);
- memset(state->m_dirty_palette,0,4096);
+ memset(m_dirty_palette,0,4096);
- state_save_register_global(machine, state->m_dragngun_sprite_ctrl);
- state->m_has_ace_ram=0;
+ state_save_register_global(machine(), m_dragngun_sprite_ctrl);
+ m_has_ace_ram=0;
}
-VIDEO_START( lockload )
+VIDEO_START_MEMBER(dragngun_state,lockload)
{
- dragngun_state *state = machine.driver_data<dragngun_state>();
- state->m_dirty_palette = auto_alloc_array(machine, UINT8, 4096);
+ m_dirty_palette = auto_alloc_array(machine(), UINT8, 4096);
- memset(state->m_dirty_palette,0,4096);
+ memset(m_dirty_palette,0,4096);
- state_save_register_global(machine, state->m_dragngun_sprite_ctrl);
- state->m_has_ace_ram=0;
+ state_save_register_global(machine(), m_dragngun_sprite_ctrl);
+ m_has_ace_ram=0;
}
-VIDEO_START( nslasher )
+VIDEO_START_MEMBER(deco32_state,nslasher)
{
- deco32_state *state = machine.driver_data<deco32_state>();
int width, height;
- state->m_dirty_palette = auto_alloc_array(machine, UINT8, 4096);
- width = machine.primary_screen->width();
- height = machine.primary_screen->height();
- state->m_tilemap_alpha_bitmap=auto_bitmap_ind16_alloc(machine, width, height );
- machine.device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
- machine.device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
- memset(state->m_dirty_palette,0,4096);
- state_save_register_global(machine, state->m_pri);
- state->m_has_ace_ram=1;
+ m_dirty_palette = auto_alloc_array(machine(), UINT8, 4096);
+ width = machine().primary_screen->width();
+ height = machine().primary_screen->height();
+ m_tilemap_alpha_bitmap=auto_bitmap_ind16_alloc(machine(), width, height );
+ machine().device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
+ memset(m_dirty_palette,0,4096);
+ state_save_register_global(machine(), m_pri);
+ m_has_ace_ram=1;
}
/******************************************************************************/
diff --git a/src/mame/video/deco_mlc.c b/src/mame/video/deco_mlc.c
index fae506860e6..39a9f68cae8 100644
--- a/src/mame/video/deco_mlc.c
+++ b/src/mame/video/deco_mlc.c
@@ -17,18 +17,17 @@
/******************************************************************************/
-VIDEO_START( mlc )
+VIDEO_START_MEMBER(deco_mlc_state,mlc)
{
- deco_mlc_state *state = machine.driver_data<deco_mlc_state>();
- if (machine.gfx[0]->granularity()==16)
- state->m_colour_mask=0x7f;
- else if (machine.gfx[0]->granularity()==32)
- state->m_colour_mask=0x3f;
+ if (machine().gfx[0]->granularity()==16)
+ m_colour_mask=0x7f;
+ else if (machine().gfx[0]->granularity()==32)
+ m_colour_mask=0x3f;
else
- state->m_colour_mask=0x1f;
+ m_colour_mask=0x1f;
-// temp_bitmap = auto_bitmap_rgb32_alloc( machine, 512, 512 );
- state->m_mlc_buffered_spriteram = auto_alloc_array(machine, UINT32, 0x3000/4);
+// temp_bitmap = auto_bitmap_rgb32_alloc( machine(), 512, 512 );
+ m_mlc_buffered_spriteram = auto_alloc_array(machine(), UINT32, 0x3000/4);
}
#ifdef UNUSED_FUNCTION
diff --git a/src/mame/video/decocass.c b/src/mame/video/decocass.c
index c6de544f26a..13aa5d654c7 100644
--- a/src/mame/video/decocass.c
+++ b/src/mame/video/decocass.c
@@ -486,35 +486,34 @@ static void draw_missiles(running_machine &machine,bitmap_ind16 &bitmap, const r
}
-VIDEO_START( decocass )
+void decocass_state::video_start()
{
- decocass_state *state = machine.driver_data<decocass_state>();
- state->m_bg_tilemap_l = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(decocass_state::get_bg_l_tile_info),state), tilemap_mapper_delegate(FUNC(decocass_state::bgvideoram_scan_cols),state), 16, 16, 32, 32);
- state->m_bg_tilemap_r = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(decocass_state::get_bg_r_tile_info),state), tilemap_mapper_delegate(FUNC(decocass_state::bgvideoram_scan_cols),state), 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(decocass_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(decocass_state::fgvideoram_scan_cols),state), 8, 8, 32, 32);
+ m_bg_tilemap_l = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(decocass_state::get_bg_l_tile_info),this), tilemap_mapper_delegate(FUNC(decocass_state::bgvideoram_scan_cols),this), 16, 16, 32, 32);
+ m_bg_tilemap_r = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(decocass_state::get_bg_r_tile_info),this), tilemap_mapper_delegate(FUNC(decocass_state::bgvideoram_scan_cols),this), 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(decocass_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(decocass_state::fgvideoram_scan_cols),this), 8, 8, 32, 32);
- state->m_bg_tilemap_l->set_transparent_pen(0);
- state->m_bg_tilemap_r->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap_l->set_transparent_pen(0);
+ m_bg_tilemap_r->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap_l_clip = machine.primary_screen->visible_area();
- state->m_bg_tilemap_l_clip.max_y = 256 / 2 - 1;
+ m_bg_tilemap_l_clip = machine().primary_screen->visible_area();
+ m_bg_tilemap_l_clip.max_y = 256 / 2 - 1;
- state->m_bg_tilemap_r_clip = machine.primary_screen->visible_area();
- state->m_bg_tilemap_r_clip.min_y = 256 / 2;
+ m_bg_tilemap_r_clip = machine().primary_screen->visible_area();
+ m_bg_tilemap_r_clip.min_y = 256 / 2;
/* background videroam bits D0-D3 are shared with the tileram */
- state->m_bgvideoram = state->m_tileram;
- state->m_bgvideoram_size = 0x0400; /* d000-d3ff */
+ m_bgvideoram = m_tileram;
+ m_bgvideoram_size = 0x0400; /* d000-d3ff */
- machine.gfx[0]->set_source(state->m_charram);
- machine.gfx[1]->set_source(state->m_charram);
- machine.gfx[2]->set_source(state->m_tileram);
- machine.gfx[3]->set_source(state->m_objectram);
+ machine().gfx[0]->set_source(m_charram);
+ machine().gfx[1]->set_source(m_charram);
+ machine().gfx[2]->set_source(m_tileram);
+ machine().gfx[3]->set_source(m_objectram);
/* This should ensure that the fake 17th tile is left blank
* now that dirty-tile tracking is handled by the core */
- machine.gfx[2]->decode(16);
+ machine().gfx[2]->decode(16);
}
SCREEN_UPDATE_IND16( decocass )
diff --git a/src/mame/video/deniam.c b/src/mame/video/deniam.c
index 409d2c91cbc..d47cc9e9f56 100644
--- a/src/mame/video/deniam.c
+++ b/src/mame/video/deniam.c
@@ -100,15 +100,14 @@ TILE_GET_INFO_MEMBER(deniam_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( deniam )
+void deniam_state::video_start()
{
- deniam_state *state = machine.driver_data<deniam_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),state), 8, 8, 128, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),state), 8, 8, 128, 64);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),this), 8, 8, 128, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),this), 8, 8, 128, 64);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/digdug.c b/src/mame/video/digdug.c
index fded1de7c84..45b33ab5d4c 100644
--- a/src/mame/video/digdug.c
+++ b/src/mame/video/digdug.c
@@ -21,12 +21,12 @@
***************************************************************************/
-PALETTE_INIT( digdug )
+PALETTE_INIT_MEMBER(digdug_state,digdug)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
for (i = 0;i < 32;i++)
{
@@ -44,24 +44,24 @@ PALETTE_INIT( digdug )
bit1 = (*color_prom >> 6) & 0x01;
bit2 = (*color_prom >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable,i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,i,MAKE_RGB(r,g,b));
color_prom++;
}
/* characters - direct mapping */
for (i = 0; i < 16; i++)
{
- colortable_entry_set_value(machine.colortable, i*2+0, 0);
- colortable_entry_set_value(machine.colortable, i*2+1, i);
+ colortable_entry_set_value(machine().colortable, i*2+0, 0);
+ colortable_entry_set_value(machine().colortable, i*2+1, i);
}
/* sprites */
for (i = 0;i < 0x100;i++)
- colortable_entry_set_value(machine.colortable, 16*2+i, (*color_prom++ & 0x0f) + 0x10);
+ colortable_entry_set_value(machine().colortable, 16*2+i, (*color_prom++ & 0x0f) + 0x10);
/* bg_select */
for (i = 0;i < 0x100;i++)
- colortable_entry_set_value(machine.colortable, 16*2+256+i, *color_prom++ & 0x0f);
+ colortable_entry_set_value(machine().colortable, 16*2+256+i, *color_prom++ & 0x0f);
}
@@ -141,19 +141,18 @@ TILE_GET_INFO_MEMBER(digdug_state::tx_get_tile_info)
***************************************************************************/
-VIDEO_START( digdug )
+VIDEO_START_MEMBER(digdug_state,digdug)
{
- digdug_state *state = machine.driver_data<digdug_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(digdug_state::bg_get_tile_info),state),tilemap_mapper_delegate(FUNC(digdug_state::tilemap_scan),state),8,8,36,28);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(digdug_state::tx_get_tile_info),state),tilemap_mapper_delegate(FUNC(digdug_state::tilemap_scan),state),8,8,36,28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(digdug_state::bg_get_tile_info),this),tilemap_mapper_delegate(FUNC(digdug_state::tilemap_scan),this),8,8,36,28);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(digdug_state::tx_get_tile_info),this),tilemap_mapper_delegate(FUNC(digdug_state::tilemap_scan),this),8,8,36,28);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->save_item(NAME(state->m_bg_select));
- state->save_item(NAME(state->m_tx_color_mode));
- state->save_item(NAME(state->m_bg_disable));
- state->save_item(NAME(state->m_bg_color_bank));
+ save_item(NAME(m_bg_select));
+ save_item(NAME(m_tx_color_mode));
+ save_item(NAME(m_bg_disable));
+ save_item(NAME(m_bg_color_bank));
}
diff --git a/src/mame/video/djboy.c b/src/mame/video/djboy.c
index 43b8f412391..f060026f8c2 100644
--- a/src/mame/video/djboy.c
+++ b/src/mame/video/djboy.c
@@ -36,10 +36,9 @@ WRITE8_MEMBER(djboy_state::djboy_videoram_w)
m_background->mark_tile_dirty(offset & 0x7ff);
}
-VIDEO_START( djboy )
+void djboy_state::video_start()
{
- djboy_state *state = machine.driver_data<djboy_state>();
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(djboy_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(djboy_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
}
WRITE8_MEMBER(djboy_state::djboy_paletteram_w)
diff --git a/src/mame/video/djmain.c b/src/mame/video/djmain.c
index e691dde1bd4..3e9222359ec 100644
--- a/src/mame/video/djmain.c
+++ b/src/mame/video/djmain.c
@@ -134,9 +134,9 @@ void djmain_tile_callback(running_machine& machine, int layer, int *code, int *c
{
}
-VIDEO_START( djmain )
+void djmain_state::video_start()
{
- device_t *k056832 = machine.device("k056832");
+ device_t *k056832 = machine().device("k056832");
k056832_set_layer_offs(k056832, 0, -92, -27);
// k056832_set_layer_offs(k056832, 1, -87, -27);
diff --git a/src/mame/video/dkong.c b/src/mame/video/dkong.c
index dd64f055dc9..9476a07a728 100644
--- a/src/mame/video/dkong.c
+++ b/src/mame/video/dkong.c
@@ -199,15 +199,14 @@ static const res_net_info radarscp_grid_net_info =
***************************************************************************/
-PALETTE_INIT( dkong2b)
+PALETTE_INIT_MEMBER(dkong_state,dkong2b)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- dkong_state *state = machine.driver_data<dkong_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
int i;
- rgb = compute_res_net_all(machine, color_prom, &dkong_decode_info, &dkong_net_info);
- palette_set_colors(machine, 0, rgb, 256);
+ rgb = compute_res_net_all(machine(), color_prom, &dkong_decode_info, &dkong_net_info);
+ palette_set_colors(machine(), 0, rgb, 256);
/* Now treat tri-state black background generation */
@@ -218,22 +217,21 @@ PALETTE_INIT( dkong2b)
r = compute_res_net( 1, 0, &dkong_net_bck_info );
g = compute_res_net( 1, 1, &dkong_net_bck_info );
b = compute_res_net( 1, 2, &dkong_net_bck_info );
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
}
- palette_normalize_range(machine.palette, 0, 255, 0, 255);
+ palette_normalize_range(machine().palette, 0, 255, 0, 255);
color_prom += 512;
/* color_prom now points to the beginning of the character color codes */
- state->m_color_codes = color_prom; /* we'll need it later */
- auto_free(machine, rgb);
+ m_color_codes = color_prom; /* we'll need it later */
+ auto_free(machine(), rgb);
}
#ifdef UNUSED_FUNCTION
-PALETTE_INIT( dkong4b )
+PALETTE_INIT_MEMBER(dkong_state,dkong4b)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- dkong_state *state = machine.driver_data<dkong_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int r,g,b;
@@ -247,7 +245,7 @@ PALETTE_INIT( dkong4b )
/* blue component */
b = compute_res_net( (color_prom[0]>>0) & 0x03, 2, &radarscp_net_info );
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
color_prom++;
}
@@ -259,21 +257,20 @@ PALETTE_INIT( dkong4b )
r = compute_res_net( 1, 0, &radarscp_net_bck_info );
g = compute_res_net( 1, 1, &radarscp_net_bck_info );
b = compute_res_net( 1, 2, &radarscp_net_bck_info );
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
}
- palette_normalize_range(machine.palette, 0, 255, 0, 255);
+ palette_normalize_range(machine().palette, 0, 255, 0, 255);
color_prom += 256;
/* color_prom now points to the beginning of the character color codes */
- state->m_color_codes = color_prom; /* we'll need it later */
+ m_color_codes = color_prom; /* we'll need it later */
}
#endif
-PALETTE_INIT( radarscp )
+PALETTE_INIT_MEMBER(dkong_state,radarscp)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- dkong_state *state = machine.driver_data<dkong_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int r,g,b;
@@ -287,7 +284,7 @@ PALETTE_INIT( radarscp )
/* blue component */
b = compute_res_net( (color_prom[0]>>0) & 0x03, 2, &radarscp_net_info );
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
color_prom++;
}
@@ -299,14 +296,14 @@ PALETTE_INIT( radarscp )
r = compute_res_net( 1, 0, &radarscp_net_bck_info );
g = compute_res_net( 1, 1, &radarscp_net_bck_info );
b = compute_res_net( 1, 2, &radarscp_net_bck_info );
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
}
/* Star color */
r = compute_res_net( 1, 0, &radarscp_stars_net_info );
g = compute_res_net( 0, 1, &radarscp_stars_net_info );
b = compute_res_net( 0, 2, &radarscp_stars_net_info );
- palette_set_color_rgb(machine,RADARSCP_STAR_COL,r,g,b);
+ palette_set_color_rgb(machine(),RADARSCP_STAR_COL,r,g,b);
/* Oscillating background */
for (i = 0;i < 256;i++)
@@ -315,7 +312,7 @@ PALETTE_INIT( radarscp )
g = compute_res_net( 0, 1, &radarscp_blue_net_info );
b = compute_res_net( i, 2, &radarscp_blue_net_info );
- palette_set_color_rgb(machine,RADARSCP_BCK_COL_OFFSET + i,r,g,b);
+ palette_set_color_rgb(machine(),RADARSCP_BCK_COL_OFFSET + i,r,g,b);
}
/* Grid */
@@ -325,20 +322,19 @@ PALETTE_INIT( radarscp )
g = compute_res_net( (i>>1) & 1, 1, &radarscp_grid_net_info );
b = compute_res_net( (i>>2) & 1, 2, &radarscp_grid_net_info );
- palette_set_color_rgb(machine,RADARSCP_GRID_COL_OFFSET + i,r,g,b);
+ palette_set_color_rgb(machine(),RADARSCP_GRID_COL_OFFSET + i,r,g,b);
}
- palette_normalize_range(machine.palette, 0, RADARSCP_GRID_COL_OFFSET+7, 0, 255);
+ palette_normalize_range(machine().palette, 0, RADARSCP_GRID_COL_OFFSET+7, 0, 255);
color_prom += 256;
/* color_prom now points to the beginning of the character color codes */
- state->m_color_codes = color_prom; /* we'll need it later */
+ m_color_codes = color_prom; /* we'll need it later */
}
-PALETTE_INIT( radarscp1 )
+PALETTE_INIT_MEMBER(dkong_state,radarscp1)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- dkong_state *state = machine.driver_data<dkong_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int r,g,b;
@@ -352,7 +348,7 @@ PALETTE_INIT( radarscp1 )
/* blue component */
b = compute_res_net( color_prom[0], 2, &radarscp1_net_info );
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
color_prom++;
}
@@ -364,14 +360,14 @@ PALETTE_INIT( radarscp1 )
r = compute_res_net( 0, 0, &radarscp1_net_info );
g = compute_res_net( 0, 1, &radarscp1_net_info );
b = compute_res_net( 0, 2, &radarscp1_net_info );
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
}
/* Star color */
r = compute_res_net( 1, 0, &radarscp_stars_net_info );
g = compute_res_net( 0, 1, &radarscp_stars_net_info );
b = compute_res_net( 0, 2, &radarscp_stars_net_info );
- palette_set_color_rgb(machine,RADARSCP_STAR_COL,r,g,b);
+ palette_set_color_rgb(machine(),RADARSCP_STAR_COL,r,g,b);
/* Oscillating background */
for (i = 0;i < 256;i++)
@@ -380,7 +376,7 @@ PALETTE_INIT( radarscp1 )
g = compute_res_net( 0, 1, &radarscp_blue_net_info );
b = compute_res_net( i, 2, &radarscp_blue_net_info );
- palette_set_color_rgb(machine,RADARSCP_BCK_COL_OFFSET + i,r,g,b);
+ palette_set_color_rgb(machine(),RADARSCP_BCK_COL_OFFSET + i,r,g,b);
}
/* Grid */
@@ -390,13 +386,13 @@ PALETTE_INIT( radarscp1 )
g = compute_res_net( (i>>1) & 1, 1, &radarscp_grid_net_info );
b = compute_res_net( (i>>2) & 1, 2, &radarscp_grid_net_info );
- palette_set_color_rgb(machine,RADARSCP_GRID_COL_OFFSET + i,r,g,b);
+ palette_set_color_rgb(machine(),RADARSCP_GRID_COL_OFFSET + i,r,g,b);
}
- palette_normalize_range(machine.palette, 0, RADARSCP_GRID_COL_OFFSET+7, 0, 255);
+ palette_normalize_range(machine().palette, 0, RADARSCP_GRID_COL_OFFSET+7, 0, 255);
color_prom += 512;
/* color_prom now points to the beginning of the character color codes */
- state->m_color_codes = color_prom; /* we'll need it later */
+ m_color_codes = color_prom; /* we'll need it later */
}
@@ -436,20 +432,19 @@ PALETTE_INIT( radarscp1 )
***************************************************************************/
-PALETTE_INIT( dkong3 )
+PALETTE_INIT_MEMBER(dkong_state,dkong3)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- dkong_state *state = machine.driver_data<dkong_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &dkong3_decode_info, &dkong3_net_info);
- palette_set_colors(machine, 0, rgb, 256);
- palette_normalize_range(machine.palette, 0, 255, 0, 255);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &dkong3_decode_info, &dkong3_net_info);
+ palette_set_colors(machine(), 0, rgb, 256);
+ palette_normalize_range(machine().palette, 0, 255, 0, 255);
+ auto_free(machine(), rgb);
color_prom += 1024;
/* color_prom now points to the beginning of the character color codes */
- state->m_color_codes = color_prom; /* we'll need it later */
+ m_color_codes = color_prom; /* we'll need it later */
}
TILE_GET_INFO_MEMBER(dkong_state::dkong_bg_tile_info)
@@ -891,66 +886,64 @@ static void check_palette(running_machine &machine)
switch (newset)
{
case 0x00:
- PALETTE_INIT_CALL(radarscp);
+ state->PALETTE_INIT_CALL_MEMBER(radarscp);
break;
case 0x01:
- PALETTE_INIT_CALL(dkong2b);
+ state->PALETTE_INIT_CALL_MEMBER(dkong2b);
break;
}
}
}
}
-static VIDEO_START( dkong_base )
+VIDEO_START_MEMBER(dkong_state,dkong_base)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- state->m_cd4049_b = (log(0.0 - log(cd4049_al)) - log(0.0 - log((1.0-cd4049_al))) ) / log(cd4049_vh/cd4049_vl);
- state->m_cd4049_a = log(0.0 - log(cd4049_al)) - state->m_cd4049_b * log(cd4049_vh);
+ m_cd4049_b = (log(0.0 - log(cd4049_al)) - log(0.0 - log((1.0-cd4049_al))) ) / log(cd4049_vh/cd4049_vl);
+ m_cd4049_a = log(0.0 - log(cd4049_al)) - m_cd4049_b * log(cd4049_vh);
- state->m_gfx_bank = 0;
- state->m_palette_bank = 0;
- state->m_sprite_bank = 0;
- state->m_vidhw = -1;
+ m_gfx_bank = 0;
+ m_palette_bank = 0;
+ m_sprite_bank = 0;
+ m_vidhw = -1;
- state->save_item(NAME(state->m_gfx_bank));
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_sprite_bank));
- state->save_item(NAME(state->m_grid_on));
+ save_item(NAME(m_gfx_bank));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_sprite_bank));
+ save_item(NAME(m_grid_on));
- state->save_item(NAME(state->m_grid_col));
- state->save_item(NAME(state->m_flip));
+ save_item(NAME(m_grid_col));
+ save_item(NAME(m_flip));
}
-VIDEO_START( dkong )
+VIDEO_START_MEMBER(dkong_state,dkong)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- VIDEO_START_CALL(dkong_base);
+ VIDEO_START_CALL_MEMBER(dkong_base);
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(scanline_callback));
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0));
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(scanline_callback));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(0));
- switch (state->m_hardware_type)
+ switch (m_hardware_type)
{
case HARDWARE_TRS02:
- machine.primary_screen->register_screen_bitmap(state->m_bg_bits);
- state->m_gfx3 = state->memregion("gfx3")->base();
- state->m_gfx3_len = state->memregion("gfx3")->bytes();
+ machine().primary_screen->register_screen_bitmap(m_bg_bits);
+ m_gfx3 = memregion("gfx3")->base();
+ m_gfx3_len = memregion("gfx3")->bytes();
/* fall through */
case HARDWARE_TKG04:
case HARDWARE_TKG02:
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::dkong_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scrolldx(0, 128);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::dkong_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scrolldx(0, 128);
break;
case HARDWARE_TRS01:
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::radarscp1_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scrolldx(0, 128);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::radarscp1_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scrolldx(0, 128);
- machine.primary_screen->register_screen_bitmap(state->m_bg_bits);
- state->m_gfx4 = state->memregion("gfx4")->base();
- state->m_gfx3 = state->memregion("gfx3")->base();
- state->m_gfx3_len = state->memregion("gfx3")->bytes();
+ machine().primary_screen->register_screen_bitmap(m_bg_bits);
+ m_gfx4 = memregion("gfx4")->base();
+ m_gfx3 = memregion("gfx3")->base();
+ m_gfx3_len = memregion("gfx3")->bytes();
break;
default:
diff --git a/src/mame/video/docastle.c b/src/mame/video/docastle.c
index fdbb9854fcf..fc19cfa2eaa 100644
--- a/src/mame/video/docastle.c
+++ b/src/mame/video/docastle.c
@@ -29,9 +29,9 @@
***************************************************************************/
-PALETTE_INIT( docastle )
+void docastle_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 256; i++)
@@ -57,8 +57,8 @@ PALETTE_INIT( docastle )
/* because the graphics are decoded as 4bpp with the top bit used for transparency
or priority, we create matching 3bpp sets of palette entries, which effectively
ignores the value of the top bit */
- palette_set_color(machine, ((i & 0xf8) << 1) | 0x00 | (i & 0x07), MAKE_RGB(r,g,b));
- palette_set_color(machine, ((i & 0xf8) << 1) | 0x08 | (i & 0x07), MAKE_RGB(r,g,b));
+ palette_set_color(machine(), ((i & 0xf8) << 1) | 0x00 | (i & 0x07), MAKE_RGB(r,g,b));
+ palette_set_color(machine(), ((i & 0xf8) << 1) | 0x08 | (i & 0x07), MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -116,14 +116,14 @@ static void video_start_common( running_machine &machine, UINT32 tile_transmask
state->m_do_tilemap->set_transmask(0, tile_transmask, 0x0000);
}
-VIDEO_START( docastle )
+void docastle_state::video_start()
{
- video_start_common(machine, 0x00ff);
+ video_start_common(machine(), 0x00ff);
}
-VIDEO_START( dorunrun )
+VIDEO_START_MEMBER(docastle_state,dorunrun)
{
- video_start_common(machine, 0xff00);
+ video_start_common(machine(), 0xff00);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/dogfgt.c b/src/mame/video/dogfgt.c
index ec85ca26a08..c208164e135 100644
--- a/src/mame/video/dogfgt.c
+++ b/src/mame/video/dogfgt.c
@@ -11,9 +11,9 @@
***************************************************************************/
-PALETTE_INIT( dogfgt )
+void dogfgt_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* first 16 colors are RAM */
@@ -37,7 +37,7 @@ PALETTE_INIT( dogfgt )
bit2 = (*color_prom >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i + 16, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i + 16, MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -65,16 +65,15 @@ TILE_GET_INFO_MEMBER(dogfgt_state::get_tile_info)
***************************************************************************/
-VIDEO_START( dogfgt )
+void dogfgt_state::video_start()
{
- dogfgt_state *state = machine.driver_data<dogfgt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dogfgt_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dogfgt_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bitmapram = auto_alloc_array(machine, UINT8, BITMAPRAM_SIZE);
- state->save_pointer(NAME(state->m_bitmapram), BITMAPRAM_SIZE);
+ m_bitmapram = auto_alloc_array(machine(), UINT8, BITMAPRAM_SIZE);
+ save_pointer(NAME(m_bitmapram), BITMAPRAM_SIZE);
- machine.primary_screen->register_screen_bitmap(state->m_pixbitmap);
- state->save_item(NAME(state->m_pixbitmap));
+ machine().primary_screen->register_screen_bitmap(m_pixbitmap);
+ save_item(NAME(m_pixbitmap));
}
diff --git a/src/mame/video/dooyong.c b/src/mame/video/dooyong.c
index 3257ee6d3b5..379ac6f975e 100644
--- a/src/mame/video/dooyong.c
+++ b/src/mame/video/dooyong.c
@@ -619,299 +619,291 @@ SCREEN_UPDATE_IND16( popbingo )
}
-VIDEO_START( lastday )
+VIDEO_START_MEMBER(dooyong_state,lastday)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
/* Configure tilemap callbacks */
- state->m_bg_tilerom = state->memregion("gfx5")->base();
- state->m_fg_tilerom = state->memregion("gfx6")->base();
- state->m_bg_tilerom2 = NULL;
- state->m_fg_tilerom2 = NULL;
- state->m_bg_gfx = 2;
- state->m_fg_gfx = 3;
- state->m_tx_tilemap_mode = 0;
+ m_bg_tilerom = memregion("gfx5")->base();
+ m_fg_tilerom = memregion("gfx6")->base();
+ m_bg_tilerom2 = NULL;
+ m_fg_tilerom2 = NULL;
+ m_bg_gfx = 2;
+ m_fg_gfx = 3;
+ m_tx_tilemap_mode = 0;
/* Create tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),this), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
/* Text layer is offset on this machine */
- state->m_tx_tilemap->set_scrolly(0, 8);
+ m_tx_tilemap->set_scrolly(0, 8);
- memset(state->m_bgscroll8, 0, 0x10);
- memset(state->m_bg2scroll8, 0, 0x10);
- memset(state->m_fgscroll8, 0, 0x10);
- memset(state->m_fg2scroll8, 0, 0x10);
+ memset(m_bgscroll8, 0, 0x10);
+ memset(m_bg2scroll8, 0, 0x10);
+ memset(m_fgscroll8, 0, 0x10);
+ memset(m_fg2scroll8, 0, 0x10);
/* Register for save/restore */
- state_save_register_global_array(machine, state->m_bgscroll8);
- state_save_register_global_array(machine, state->m_fgscroll8);
- state_save_register_global(machine, state->m_sprites_disabled);
- state_save_register_global(machine, state->m_interrupt_line_1);
- state_save_register_global(machine, state->m_interrupt_line_2);
+ state_save_register_global_array(machine(), m_bgscroll8);
+ state_save_register_global_array(machine(), m_fgscroll8);
+ state_save_register_global(machine(), m_sprites_disabled);
+ state_save_register_global(machine(), m_interrupt_line_1);
+ state_save_register_global(machine(), m_interrupt_line_2);
}
-VIDEO_START( gulfstrm )
+VIDEO_START_MEMBER(dooyong_state,gulfstrm)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
/* Configure tilemap callbacks */
- state->m_bg_tilerom = state->memregion("gfx5")->base();
- state->m_fg_tilerom = state->memregion("gfx6")->base();
- state->m_bg_tilerom2 = NULL;
- state->m_fg_tilerom2 = NULL;
- state->m_bg_gfx = 2;
- state->m_fg_gfx = 3;
- state->m_tx_tilemap_mode = 0;
+ m_bg_tilerom = memregion("gfx5")->base();
+ m_fg_tilerom = memregion("gfx6")->base();
+ m_bg_tilerom2 = NULL;
+ m_fg_tilerom2 = NULL;
+ m_bg_gfx = 2;
+ m_fg_gfx = 3;
+ m_tx_tilemap_mode = 0;
/* Create tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),this), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
/* Text layer is offset on this machine */
- state->m_tx_tilemap->set_scrolly(0, 8);
+ m_tx_tilemap->set_scrolly(0, 8);
- memset(state->m_bgscroll8, 0, 0x10);
- memset(state->m_bg2scroll8, 0, 0x10);
- memset(state->m_fgscroll8, 0, 0x10);
- memset(state->m_fg2scroll8, 0, 0x10);
+ memset(m_bgscroll8, 0, 0x10);
+ memset(m_bg2scroll8, 0, 0x10);
+ memset(m_fgscroll8, 0, 0x10);
+ memset(m_fg2scroll8, 0, 0x10);
/* Register for save/restore */
- state_save_register_global_array(machine, state->m_bgscroll8);
- state_save_register_global_array(machine, state->m_fgscroll8);
- state_save_register_global(machine, state->m_interrupt_line_1);
- state_save_register_global(machine, state->m_interrupt_line_2);
+ state_save_register_global_array(machine(), m_bgscroll8);
+ state_save_register_global_array(machine(), m_fgscroll8);
+ state_save_register_global(machine(), m_interrupt_line_1);
+ state_save_register_global(machine(), m_interrupt_line_2);
}
-VIDEO_START( pollux )
+VIDEO_START_MEMBER(dooyong_state,pollux)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
/* Configure tilemap callbacks */
- state->m_bg_tilerom = state->memregion("gfx5")->base();
- state->m_fg_tilerom = state->memregion("gfx6")->base();
- state->m_bg_tilerom2 = NULL;
- state->m_fg_tilerom2 = NULL;
- state->m_bg_gfx = 2;
- state->m_fg_gfx = 3;
- state->m_tx_tilemap_mode = 0;
+ m_bg_tilerom = memregion("gfx5")->base();
+ m_fg_tilerom = memregion("gfx6")->base();
+ m_bg_tilerom2 = NULL;
+ m_fg_tilerom2 = NULL;
+ m_bg_gfx = 2;
+ m_fg_gfx = 3;
+ m_tx_tilemap_mode = 0;
/* Create tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),this), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- memset(state->m_bgscroll8, 0, 0x10);
- memset(state->m_bg2scroll8, 0, 0x10);
- memset(state->m_fgscroll8, 0, 0x10);
- memset(state->m_fg2scroll8, 0, 0x10);
+ memset(m_bgscroll8, 0, 0x10);
+ memset(m_bg2scroll8, 0, 0x10);
+ memset(m_fgscroll8, 0, 0x10);
+ memset(m_fg2scroll8, 0, 0x10);
/* Register for save/restore */
- state_save_register_global_array(machine, state->m_bgscroll8);
- state_save_register_global_array(machine, state->m_fgscroll8);
- state_save_register_global(machine, state->m_interrupt_line_1);
- state_save_register_global(machine, state->m_interrupt_line_2);
+ state_save_register_global_array(machine(), m_bgscroll8);
+ state_save_register_global_array(machine(), m_fgscroll8);
+ state_save_register_global(machine(), m_interrupt_line_1);
+ state_save_register_global(machine(), m_interrupt_line_2);
}
-VIDEO_START( bluehawk )
+VIDEO_START_MEMBER(dooyong_state,bluehawk)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
/* Configure tilemap callbacks */
- state->m_bg_tilerom = state->memregion("gfx3")->base() + 0x78000;
- state->m_fg_tilerom = state->memregion("gfx4")->base() + 0x78000;
- state->m_fg2_tilerom = state->memregion("gfx5")->base() + 0x38000;
- state->m_bg_tilerom2 = NULL;
- state->m_fg_tilerom2 = NULL;
- state->m_fg2_tilerom2 = NULL;
- state->m_bg_gfx = 2;
- state->m_fg_gfx = 3;
- state->m_fg2_gfx = 4;
- state->m_tx_tilemap_mode = 1;
+ m_bg_tilerom = memregion("gfx3")->base() + 0x78000;
+ m_fg_tilerom = memregion("gfx4")->base() + 0x78000;
+ m_fg2_tilerom = memregion("gfx5")->base() + 0x38000;
+ m_bg_tilerom2 = NULL;
+ m_fg_tilerom2 = NULL;
+ m_fg2_tilerom2 = NULL;
+ m_bg_gfx = 2;
+ m_fg_gfx = 3;
+ m_fg2_gfx = 4;
+ m_tx_tilemap_mode = 1;
/* Create tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg2_tile_info),state), TILEMAP_SCAN_COLS,
+ m_fg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg2_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),this), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_fg2_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_fg2_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- memset(state->m_bgscroll8, 0, 0x10);
- memset(state->m_bg2scroll8, 0, 0x10);
- memset(state->m_fgscroll8, 0, 0x10);
- memset(state->m_fg2scroll8, 0, 0x10);
+ memset(m_bgscroll8, 0, 0x10);
+ memset(m_bg2scroll8, 0, 0x10);
+ memset(m_fgscroll8, 0, 0x10);
+ memset(m_fg2scroll8, 0, 0x10);
/* Register for save/restore */
- state_save_register_global_array(machine, state->m_bgscroll8);
- state_save_register_global_array(machine, state->m_fgscroll8);
- state_save_register_global_array(machine, state->m_fg2scroll8);
+ state_save_register_global_array(machine(), m_bgscroll8);
+ state_save_register_global_array(machine(), m_fgscroll8);
+ state_save_register_global_array(machine(), m_fg2scroll8);
}
-VIDEO_START( flytiger )
+VIDEO_START_MEMBER(dooyong_state,flytiger)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
/* Configure tilemap callbacks */
- state->m_bg_tilerom = state->memregion("gfx3")->base() + 0x78000;
- state->m_fg_tilerom = state->memregion("gfx4")->base() + 0x78000;
- state->m_bg_tilerom2 = NULL;
- state->m_fg_tilerom2 = NULL;
- state->m_bg_gfx = 2;
- state->m_fg_gfx = 3;
- state->m_tx_tilemap_mode = 0;
+ m_bg_tilerom = memregion("gfx3")->base() + 0x78000;
+ m_fg_tilerom = memregion("gfx4")->base() + 0x78000;
+ m_bg_tilerom2 = NULL;
+ m_fg_tilerom2 = NULL;
+ m_bg_gfx = 2;
+ m_fg_gfx = 3;
+ m_tx_tilemap_mode = 0;
/* Create tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::flytiger_get_fg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::flytiger_get_fg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),this), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
- state->m_bg_tilemap->set_transparent_pen(15);
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_bg_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- memset(state->m_bgscroll8, 0, 0x10);
- memset(state->m_bg2scroll8, 0, 0x10);
- memset(state->m_fgscroll8, 0, 0x10);
- memset(state->m_fg2scroll8, 0, 0x10);
+ memset(m_bgscroll8, 0, 0x10);
+ memset(m_bg2scroll8, 0, 0x10);
+ memset(m_fgscroll8, 0, 0x10);
+ memset(m_fg2scroll8, 0, 0x10);
/* Register for save/restore */
- state_save_register_global_array(machine, state->m_bgscroll8);
- state_save_register_global_array(machine, state->m_fgscroll8);
- state_save_register_global(machine, state->m_flytiger_pri);
+ state_save_register_global_array(machine(), m_bgscroll8);
+ state_save_register_global_array(machine(), m_fgscroll8);
+ state_save_register_global(machine(), m_flytiger_pri);
}
-VIDEO_START( primella )
+VIDEO_START_MEMBER(dooyong_state,primella)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
/* Configure tilemap callbacks */
- state->m_bg_tilerom = state->memregion("gfx2")->base() + state->memregion("gfx2")->bytes() - 0x8000;
- state->m_fg_tilerom = state->memregion("gfx3")->base() + state->memregion("gfx3")->bytes() - 0x8000;
- state->m_bg_tilerom2 = NULL;
- state->m_fg_tilerom2 = NULL;
- state->m_bg_gfx = 1;
- state->m_fg_gfx = 2;
- state->m_tx_tilemap_mode = 1;
+ m_bg_tilerom = memregion("gfx2")->base() + memregion("gfx2")->bytes() - 0x8000;
+ m_fg_tilerom = memregion("gfx3")->base() + memregion("gfx3")->bytes() - 0x8000;
+ m_bg_tilerom2 = NULL;
+ m_fg_tilerom2 = NULL;
+ m_bg_gfx = 1;
+ m_fg_gfx = 2;
+ m_tx_tilemap_mode = 1;
/* Create tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),this), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- memset(state->m_bgscroll8, 0, 0x10);
- memset(state->m_bg2scroll8, 0, 0x10);
- memset(state->m_fgscroll8, 0, 0x10);
- memset(state->m_fg2scroll8, 0, 0x10);
+ memset(m_bgscroll8, 0, 0x10);
+ memset(m_bg2scroll8, 0, 0x10);
+ memset(m_fgscroll8, 0, 0x10);
+ memset(m_fg2scroll8, 0, 0x10);
/* Register for save/restore */
- state_save_register_global_array(machine, state->m_bgscroll8);
- state_save_register_global_array(machine, state->m_fgscroll8);
- state_save_register_global(machine, state->m_tx_pri);
+ state_save_register_global_array(machine(), m_bgscroll8);
+ state_save_register_global_array(machine(), m_fgscroll8);
+ state_save_register_global(machine(), m_tx_pri);
}
-VIDEO_START( rshark )
+VIDEO_START_MEMBER(dooyong_state,rshark)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
/* Configure tilemap callbacks */
- state->m_bg_tilerom = state->memregion("gfx5")->base();
- state->m_bg2_tilerom = state->memregion("gfx4")->base();
- state->m_fg_tilerom = state->memregion("gfx3")->base();
- state->m_fg2_tilerom = state->memregion("gfx2")->base();
- state->m_bg_tilerom2 = state->memregion("gfx6")->base() + 0x60000;
- state->m_bg2_tilerom2 = state->memregion("gfx6")->base() + 0x40000;
- state->m_fg_tilerom2 = state->memregion("gfx6")->base() + 0x20000;
- state->m_fg2_tilerom2 = state->memregion("gfx6")->base() + 0x00000;
- state->m_bg_gfx = 4;
- state->m_bg2_gfx = 3;
- state->m_fg_gfx = 2;
- state->m_fg2_gfx = 1;
+ m_bg_tilerom = memregion("gfx5")->base();
+ m_bg2_tilerom = memregion("gfx4")->base();
+ m_fg_tilerom = memregion("gfx3")->base();
+ m_fg2_tilerom = memregion("gfx2")->base();
+ m_bg_tilerom2 = memregion("gfx6")->base() + 0x60000;
+ m_bg2_tilerom2 = memregion("gfx6")->base() + 0x40000;
+ m_fg_tilerom2 = memregion("gfx6")->base() + 0x20000;
+ m_fg2_tilerom2 = memregion("gfx6")->base() + 0x00000;
+ m_bg_gfx = 4;
+ m_bg2_gfx = 3;
+ m_fg_gfx = 2;
+ m_fg2_gfx = 1;
/* Create tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
16, 16, 64, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg2_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg2_tile_info),this), TILEMAP_SCAN_COLS,
16, 16, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS,
16, 16, 64, 32);
- state->m_fg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg2_tile_info),state), TILEMAP_SCAN_COLS,
+ m_fg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg2_tile_info),this), TILEMAP_SCAN_COLS,
16, 16, 64, 32);
/* Configure tilemap transparency */
- state->m_bg2_tilemap->set_transparent_pen(15);
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_fg2_tilemap->set_transparent_pen(15);
+ m_bg2_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_fg2_tilemap->set_transparent_pen(15);
- memset(state->m_bgscroll8, 0, 0x10);
- memset(state->m_bg2scroll8, 0, 0x10);
- memset(state->m_fgscroll8, 0, 0x10);
- memset(state->m_fg2scroll8, 0, 0x10);
+ memset(m_bgscroll8, 0, 0x10);
+ memset(m_bg2scroll8, 0, 0x10);
+ memset(m_fgscroll8, 0, 0x10);
+ memset(m_fg2scroll8, 0, 0x10);
/* Register for save/restore */
- state_save_register_global_array(machine, state->m_bgscroll8);
- state_save_register_global_array(machine, state->m_bg2scroll8);
- state_save_register_global_array(machine, state->m_fgscroll8);
- state_save_register_global_array(machine, state->m_fg2scroll8);
- state_save_register_global(machine, state->m_rshark_pri);
+ state_save_register_global_array(machine(), m_bgscroll8);
+ state_save_register_global_array(machine(), m_bg2scroll8);
+ state_save_register_global_array(machine(), m_fgscroll8);
+ state_save_register_global_array(machine(), m_fg2scroll8);
+ state_save_register_global(machine(), m_rshark_pri);
}
-VIDEO_START( popbingo )
+VIDEO_START_MEMBER(dooyong_state,popbingo)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
/* Configure tilemap callbacks */
- state->m_bg_tilerom = state->memregion("gfx2")->base();
- state->m_bg_gfx = 1;
+ m_bg_tilerom = memregion("gfx2")->base();
+ m_bg_gfx = 1;
/* Create tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_bg2_tilemap = state->m_fg_tilemap = state->m_fg2_tilemap = NULL; /* Stop scroll handler from crashing on these */
+ m_bg2_tilemap = m_fg_tilemap = m_fg2_tilemap = NULL; /* Stop scroll handler from crashing on these */
- memset(state->m_bgscroll8, 0, 0x10);
- memset(state->m_bg2scroll8, 0, 0x10);
- memset(state->m_fgscroll8, 0, 0x10);
- memset(state->m_fg2scroll8, 0, 0x10);
+ memset(m_bgscroll8, 0, 0x10);
+ memset(m_bg2scroll8, 0, 0x10);
+ memset(m_fgscroll8, 0, 0x10);
+ memset(m_fg2scroll8, 0, 0x10);
/* Register for save/restore */
- state_save_register_global_array(machine, state->m_bgscroll8);
- state_save_register_global_array(machine, state->m_bg2scroll8); // Not used atm
- state_save_register_global_array(machine, state->m_fgscroll8); // Not used atm
- state_save_register_global_array(machine, state->m_fg2scroll8); // Not used atm
- state_save_register_global(machine, state->m_rshark_pri);
+ state_save_register_global_array(machine(), m_bgscroll8);
+ state_save_register_global_array(machine(), m_bg2scroll8); // Not used atm
+ state_save_register_global_array(machine(), m_fgscroll8); // Not used atm
+ state_save_register_global_array(machine(), m_fg2scroll8); // Not used atm
+ state_save_register_global(machine(), m_rshark_pri);
}
diff --git a/src/mame/video/dragrace.c b/src/mame/video/dragrace.c
index db99f595974..4fff2a82c4e 100644
--- a/src/mame/video/dragrace.c
+++ b/src/mame/video/dragrace.c
@@ -39,10 +39,9 @@ TILE_GET_INFO_MEMBER(dragrace_state::get_tile_info)
}
-VIDEO_START( dragrace )
+void dragrace_state::video_start()
{
- dragrace_state *state = machine.driver_data<dragrace_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dragrace_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dragrace_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
diff --git a/src/mame/video/drgnmst.c b/src/mame/video/drgnmst.c
index 4e57e62cbe8..75dd7b04033 100644
--- a/src/mame/video/drgnmst.c
+++ b/src/mame/video/drgnmst.c
@@ -117,20 +117,19 @@ TILEMAP_MAPPER_MEMBER(drgnmst_state::drgnmst_bg_tilemap_scan_cols)
return (col * 8) + (row & 0x07) + ((row & 0xf8) >> 3) * 512;
}
-VIDEO_START(drgnmst)
+void drgnmst_state::video_start()
{
- drgnmst_state *state = machine.driver_data<drgnmst_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drgnmst_state::get_drgnmst_fg_tile_info),state), tilemap_mapper_delegate(FUNC(drgnmst_state::drgnmst_fg_tilemap_scan_cols),state), 8, 8, 64,64);
- state->m_fg_tilemap->set_transparent_pen(15);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(drgnmst_state::get_drgnmst_fg_tile_info),this), tilemap_mapper_delegate(FUNC(drgnmst_state::drgnmst_fg_tilemap_scan_cols),this), 8, 8, 64,64);
+ m_fg_tilemap->set_transparent_pen(15);
- state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drgnmst_state::get_drgnmst_md_tile_info),state), tilemap_mapper_delegate(FUNC(drgnmst_state::drgnmst_md_tilemap_scan_cols),state), 16, 16, 64,64);
- state->m_md_tilemap->set_transparent_pen(15);
+ m_md_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(drgnmst_state::get_drgnmst_md_tile_info),this), tilemap_mapper_delegate(FUNC(drgnmst_state::drgnmst_md_tilemap_scan_cols),this), 16, 16, 64,64);
+ m_md_tilemap->set_transparent_pen(15);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drgnmst_state::get_drgnmst_bg_tile_info),state), tilemap_mapper_delegate(FUNC(drgnmst_state::drgnmst_bg_tilemap_scan_cols),state), 32, 32, 64,64);
- state->m_bg_tilemap->set_transparent_pen(15);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(drgnmst_state::get_drgnmst_bg_tile_info),this), tilemap_mapper_delegate(FUNC(drgnmst_state::drgnmst_bg_tilemap_scan_cols),this), 32, 32, 64,64);
+ m_bg_tilemap->set_transparent_pen(15);
// do the other tilemaps have rowscroll too? probably not ..
- state->m_md_tilemap->set_scroll_rows(1024);
+ m_md_tilemap->set_scroll_rows(1024);
}
SCREEN_UPDATE_IND16(drgnmst)
diff --git a/src/mame/video/dribling.c b/src/mame/video/dribling.c
index 20342ec70e2..636bd8687db 100644
--- a/src/mame/video/dribling.c
+++ b/src/mame/video/dribling.c
@@ -15,9 +15,9 @@
*
*************************************/
-PALETTE_INIT( dribling )
+void dribling_state::palette_init()
{
- const UINT8 *prom = machine.root_device().memregion("proms")->base() + 0x400;
+ const UINT8 *prom = machine().root_device().memregion("proms")->base() + 0x400;
int i;
for (i = 0; i < 256; i++)
@@ -30,7 +30,7 @@ PALETTE_INIT( dribling )
g *= 0x55;
b *= 0xff;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
diff --git a/src/mame/video/drmicro.c b/src/mame/video/drmicro.c
index 9b9f832d965..822defe4b9b 100644
--- a/src/mame/video/drmicro.c
+++ b/src/mame/video/drmicro.c
@@ -56,13 +56,13 @@ TILE_GET_INFO_MEMBER(drmicro_state::get_bg2_tile_info)
/****************************************************************************/
-PALETTE_INIT( drmicro )
+void drmicro_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -88,7 +88,7 @@ PALETTE_INIT( drmicro )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -97,21 +97,20 @@ PALETTE_INIT( drmicro )
for (i = 0; i < 0x200; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
-VIDEO_START( drmicro)
+void drmicro_state::video_start()
{
- drmicro_state *state = machine.driver_data<drmicro_state>();
- state->m_videoram = auto_alloc_array(machine, UINT8, 0x1000);
- state->save_pointer(NAME(state->m_videoram), 0x1000);
+ m_videoram = auto_alloc_array(machine(), UINT8, 0x1000);
+ save_pointer(NAME(m_videoram), 0x1000);
- state->m_bg1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drmicro_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drmicro_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(drmicro_state::get_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(drmicro_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg2->set_transparent_pen(0);
+ m_bg2->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16( drmicro )
diff --git a/src/mame/video/dynax.c b/src/mame/video/dynax.c
index ada6d6b9388..2e280116708 100644
--- a/src/mame/video/dynax.c
+++ b/src/mame/video/dynax.c
@@ -26,19 +26,19 @@
/* 0 B01234 G01234 R01234 */
-PALETTE_INIT( sprtmtch )
+PALETTE_INIT_MEMBER(dynax_state,sprtmtch)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int x = (color_prom[i] << 8) + color_prom[0x200 + i];
/* The bits are in reverse order! */
int r = BITSWAP8((x >> 0) & 0x1f, 7, 6, 5, 0, 1, 2, 3, 4);
int g = BITSWAP8((x >> 5) & 0x1f, 7, 6, 5, 0, 1, 2, 3, 4);
int b = BITSWAP8((x >> 10) & 0x1f, 7, 6, 5, 0, 1, 2, 3, 4);
- palette_set_color_rgb(machine, i, pal5bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(), i, pal5bit(r), pal5bit(g), pal5bit(b));
}
}
@@ -800,166 +800,158 @@ static void dynax_common_reset( running_machine &machine )
state->save_item(NAME(state->m_hanamai_priority));
}
-VIDEO_START( hanamai )
+VIDEO_START_MEMBER(dynax_state,hanamai)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- state->m_pixmap[0][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[0][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[1][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[1][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[2][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[2][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[3][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[3][1] = auto_alloc_array(machine, UINT8, 256 * 256);
-
- dynax_common_reset(machine);
- state->m_layer_layout = LAYOUT_HANAMAI;
-
- state->save_pointer(NAME(state->m_pixmap[0][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[0][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[3][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[3][1]), 256 * 256);
+ m_pixmap[0][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[0][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[1][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[1][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[2][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[2][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[3][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[3][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+
+ dynax_common_reset(machine());
+ m_layer_layout = LAYOUT_HANAMAI;
+
+ save_pointer(NAME(m_pixmap[0][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[0][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[3][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[3][1]), 256 * 256);
}
-VIDEO_START( hnoridur )
+VIDEO_START_MEMBER(dynax_state,hnoridur)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- state->m_pixmap[0][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[0][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[1][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[1][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[2][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[2][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[3][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[3][1] = auto_alloc_array(machine, UINT8, 256 * 256);
-
- dynax_common_reset(machine);
- state->m_layer_layout = LAYOUT_HNORIDUR;
-
- state->m_priority_table = priority_hnoridur;
-
- state->save_pointer(NAME(state->m_pixmap[0][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[0][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[3][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[3][1]), 256 * 256);
+ m_pixmap[0][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[0][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[1][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[1][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[2][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[2][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[3][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[3][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+
+ dynax_common_reset(machine());
+ m_layer_layout = LAYOUT_HNORIDUR;
+
+ m_priority_table = priority_hnoridur;
+
+ save_pointer(NAME(m_pixmap[0][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[0][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[3][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[3][1]), 256 * 256);
}
-VIDEO_START( mcnpshnt )
+VIDEO_START_MEMBER(dynax_state,mcnpshnt)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- VIDEO_START_CALL(hnoridur);
- state->m_priority_table = priority_mcnpshnt;
+ VIDEO_START_CALL_MEMBER(hnoridur);
+ m_priority_table = priority_mcnpshnt;
}
-VIDEO_START( sprtmtch )
+VIDEO_START_MEMBER(dynax_state,sprtmtch)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- state->m_pixmap[0][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[0][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[1][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[1][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[2][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[2][1] = auto_alloc_array(machine, UINT8, 256 * 256);
-
- dynax_common_reset(machine);
- state->m_layer_layout = LAYOUT_DRGPUNCH;
-
- state->save_pointer(NAME(state->m_pixmap[0][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[0][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2][1]), 256 * 256);
+ m_pixmap[0][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[0][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[1][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[1][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[2][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[2][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+
+ dynax_common_reset(machine());
+ m_layer_layout = LAYOUT_DRGPUNCH;
+
+ save_pointer(NAME(m_pixmap[0][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[0][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2][1]), 256 * 256);
}
-VIDEO_START( jantouki )
+VIDEO_START_MEMBER(dynax_state,jantouki)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- state->m_pixmap[0][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[0][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[1][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[1][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[2][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[2][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[3][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[3][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[4][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[4][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[5][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[5][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[6][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[6][1] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[7][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[7][1] = auto_alloc_array(machine, UINT8, 256 * 256);
-
- dynax_common_reset(machine);
- state->m_layer_layout = LAYOUT_JANTOUKI;
- state->m_update_irq_func = jantouki_update_irq;
-
- state->save_pointer(NAME(state->m_pixmap[0][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[0][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[3][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[3][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[4][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[4][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[5][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[5][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[6][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[6][1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[7][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[7][1]), 256 * 256);
+ m_pixmap[0][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[0][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[1][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[1][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[2][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[2][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[3][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[3][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[4][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[4][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[5][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[5][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[6][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[6][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[7][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[7][1] = auto_alloc_array(machine(), UINT8, 256 * 256);
+
+ dynax_common_reset(machine());
+ m_layer_layout = LAYOUT_JANTOUKI;
+ m_update_irq_func = jantouki_update_irq;
+
+ save_pointer(NAME(m_pixmap[0][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[0][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[3][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[3][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[4][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[4][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[5][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[5][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[6][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[6][1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[7][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[7][1]), 256 * 256);
}
-VIDEO_START( mjdialq2 )
+VIDEO_START_MEMBER(dynax_state,mjdialq2)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- state->m_pixmap[0][0] = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_pixmap[1][0] = auto_alloc_array(machine, UINT8, 256 * 256);
+ m_pixmap[0][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_pixmap[1][0] = auto_alloc_array(machine(), UINT8, 256 * 256);
- dynax_common_reset(machine);
- state->m_layer_layout = LAYOUT_MJDIALQ2;
- state->m_update_irq_func = 0;
+ dynax_common_reset(machine());
+ m_layer_layout = LAYOUT_MJDIALQ2;
+ m_update_irq_func = 0;
- state->save_pointer(NAME(state->m_pixmap[0][0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[0][0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1][0]), 256 * 256);
}
-VIDEO_START( mjelctrn )
+VIDEO_START_MEMBER(dynax_state,mjelctrn)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- VIDEO_START_CALL(hnoridur);
+ VIDEO_START_CALL_MEMBER(hnoridur);
- state->m_priority_table = priority_mjelctrn;
- state->m_update_irq_func = mjelctrn_update_irq;
+ m_priority_table = priority_mjelctrn;
+ m_update_irq_func = mjelctrn_update_irq;
}
-VIDEO_START( neruton )
+VIDEO_START_MEMBER(dynax_state,neruton)
{
- dynax_state *state = machine.driver_data<dynax_state>();
- VIDEO_START_CALL(hnoridur);
+ VIDEO_START_CALL_MEMBER(hnoridur);
-// state->m_priority_table = priority_mjelctrn;
- state->m_update_irq_func = neruton_update_irq;
+// m_priority_table = priority_mjelctrn;
+ m_update_irq_func = neruton_update_irq;
}
/***************************************************************************
@@ -1396,10 +1388,10 @@ SCREEN_UPDATE_IND16( mjdialq2 )
// htengoku uses the mixer chip from ddenlovr
-VIDEO_START(htengoku)
+VIDEO_START_MEMBER(dynax_state,htengoku)
{
- VIDEO_START_CALL(ddenlovr);
- VIDEO_START_CALL(hnoridur);
+ VIDEO_START_CALL_MEMBER(ddenlovr);
+ VIDEO_START_CALL_MEMBER(hnoridur);
}
SCREEN_UPDATE_IND16(htengoku)
diff --git a/src/mame/video/dynduke.c b/src/mame/video/dynduke.c
index d64497cbe61..cfc0c43adf2 100644
--- a/src/mame/video/dynduke.c
+++ b/src/mame/video/dynduke.c
@@ -76,15 +76,14 @@ TILE_GET_INFO_MEMBER(dynduke_state::get_tx_tile_info)
0);
}
-VIDEO_START( dynduke )
+void dynduke_state::video_start()
{
- dynduke_state *state = machine.driver_data<dynduke_state>();
- state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynduke_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS, 16,16,32,32);
- state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynduke_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,16,16,32,32);
- state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynduke_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_bg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dynduke_state::get_bg_tile_info),this),TILEMAP_SCAN_COLS, 16,16,32,32);
+ m_fg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dynduke_state::get_fg_tile_info),this),TILEMAP_SCAN_COLS,16,16,32,32);
+ m_tx_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dynduke_state::get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_fg_layer->set_transparent_pen(15);
- state->m_tx_layer->set_transparent_pen(15);
+ m_fg_layer->set_transparent_pen(15);
+ m_tx_layer->set_transparent_pen(15);
}
WRITE16_MEMBER(dynduke_state::dynduke_gfxbank_w)
diff --git a/src/mame/video/eolith.c b/src/mame/video/eolith.c
index 66bfc0cae5e..d8fd24fdf66 100644
--- a/src/mame/video/eolith.c
+++ b/src/mame/video/eolith.c
@@ -30,10 +30,9 @@ READ32_MEMBER(eolith_state::eolith_vram_r)
return m_vram[offset+(0x40000/4)*m_buffer];
}
-VIDEO_START( eolith )
+VIDEO_START_MEMBER(eolith_state,eolith)
{
- eolith_state *state = machine.driver_data<eolith_state>();
- state->m_vram = auto_alloc_array(machine, UINT32, 0x40000*2/4);
+ m_vram = auto_alloc_array(machine(), UINT32, 0x40000*2/4);
}
SCREEN_UPDATE_IND16( eolith )
diff --git a/src/mame/video/eprom.c b/src/mame/video/eprom.c
index ce4eb69aa70..b9899fe2b88 100644
--- a/src/mame/video/eprom.c
+++ b/src/mame/video/eprom.c
@@ -88,7 +88,7 @@ TILE_GET_INFO_MEMBER(eprom_state::guts_get_playfield_tile_info)
*
*************************************/
-VIDEO_START( eprom )
+VIDEO_START_MEMBER(eprom_state,eprom)
{
static const atarimo_desc modesc =
{
@@ -126,25 +126,24 @@ VIDEO_START( eprom )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- eprom_state *state = machine.driver_data<eprom_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
/* save states */
- state->save_item(NAME(state->m_screen_intensity));
- state->save_item(NAME(state->m_video_disable));
+ save_item(NAME(m_screen_intensity));
+ save_item(NAME(m_video_disable));
}
-VIDEO_START( guts )
+VIDEO_START_MEMBER(eprom_state,guts)
{
static const atarimo_desc modesc =
{
@@ -182,21 +181,20 @@ VIDEO_START( guts )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- eprom_state *state = machine.driver_data<eprom_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::guts_get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::guts_get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
/* save states */
- state->save_item(NAME(state->m_screen_intensity));
- state->save_item(NAME(state->m_video_disable));
+ save_item(NAME(m_screen_intensity));
+ save_item(NAME(m_video_disable));
}
diff --git a/src/mame/video/equites.c b/src/mame/video/equites.c
index 91cecf61562..f1285446dc2 100644
--- a/src/mame/video/equites.c
+++ b/src/mame/video/equites.c
@@ -8,50 +8,50 @@
*
*************************************/
-PALETTE_INIT( equites )
+PALETTE_INIT_MEMBER(equites_state,equites)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- machine.colortable = colortable_alloc(machine, 256);
+ machine().colortable = colortable_alloc(machine(), 256);
for (i = 0; i < 256; i++)
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(pal4bit(color_prom[i]), pal4bit(color_prom[i + 0x100]), pal4bit(color_prom[i + 0x200])));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(pal4bit(color_prom[i]), pal4bit(color_prom[i + 0x100]), pal4bit(color_prom[i + 0x200])));
// point to the CLUT
color_prom += 0x380;
for (i = 0; i < 256; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
for (i = 0; i < 0x80; i++)
- colortable_entry_set_value(machine.colortable, i + 0x100, color_prom[i]);
+ colortable_entry_set_value(machine().colortable, i + 0x100, color_prom[i]);
}
-PALETTE_INIT( splndrbt )
+PALETTE_INIT_MEMBER(equites_state,splndrbt)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- machine.colortable = colortable_alloc(machine, 256);
+ machine().colortable = colortable_alloc(machine(), 256);
for (i = 0; i < 0x100; i++)
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(pal4bit(color_prom[i]), pal4bit(color_prom[i + 0x100]), pal4bit(color_prom[i + 0x200])));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(pal4bit(color_prom[i]), pal4bit(color_prom[i + 0x100]), pal4bit(color_prom[i + 0x200])));
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
// point to the bg CLUT
color_prom += 0x300;
for (i = 0; i < 0x80; i++)
- colortable_entry_set_value(machine.colortable, i + 0x100, color_prom[i] + 0x10);
+ colortable_entry_set_value(machine().colortable, i + 0x100, color_prom[i] + 0x10);
// point to the sprite CLUT
color_prom += 0x100;
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, i + 0x180, color_prom[i]);
+ colortable_entry_set_value(machine().colortable, i + 0x180, color_prom[i]);
}
@@ -111,34 +111,32 @@ TILE_GET_INFO_MEMBER(equites_state::splndrbt_bg_info)
*
*************************************/
-VIDEO_START( equites )
+VIDEO_START_MEMBER(equites_state,equites)
{
- equites_state *state = machine.driver_data<equites_state>();
- state->m_fg_videoram = auto_alloc_array(machine, UINT8, 0x800);
- state->save_pointer(NAME(state->m_fg_videoram), 0x800);
+ m_fg_videoram = auto_alloc_array(machine(), UINT8, 0x800);
+ save_pointer(NAME(m_fg_videoram), 0x800);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::equites_fg_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::equites_fg_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::equites_bg_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(0, -10);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::equites_bg_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scrolldx(0, -10);
}
-VIDEO_START( splndrbt )
+VIDEO_START_MEMBER(equites_state,splndrbt)
{
- equites_state *state = machine.driver_data<equites_state>();
- assert(machine.primary_screen->format() == BITMAP_FORMAT_IND16);
+ assert(machine().primary_screen->format() == BITMAP_FORMAT_IND16);
- state->m_fg_videoram = auto_alloc_array(machine, UINT8, 0x800);
- state->save_pointer(NAME(state->m_fg_videoram), 0x800);
+ m_fg_videoram = auto_alloc_array(machine(), UINT8, 0x800);
+ save_pointer(NAME(m_fg_videoram), 0x800);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::splndrbt_fg_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scrolldx(8, -8);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::splndrbt_fg_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_scrolldx(8, -8);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::splndrbt_bg_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[1], 0x10);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::splndrbt_bg_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[1], 0x10);
}
diff --git a/src/mame/video/esd16.c b/src/mame/video/esd16.c
index 4e543a0f208..7e343381bfb 100644
--- a/src/mame/video/esd16.c
+++ b/src/mame/video/esd16.c
@@ -133,26 +133,25 @@ WRITE16_MEMBER(esd16_state::esd16_tilemap0_color_jumppop_w)
***************************************************************************/
-VIDEO_START( esd16 )
+void esd16_state::video_start()
{
- esd16_state *state = machine.driver_data<esd16_state>();
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
/* swatpolc changes tilemap 0 to 16x16 at various times */
- state->m_tilemap_0_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_0_16x16),state), TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
+ m_tilemap_0_16x16 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_0_16x16),this), TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
/* hedpanic changes tilemap 1 to 16x16 at various times */
- state->m_tilemap_1_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_1_16x16),state), TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
+ m_tilemap_1_16x16 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_1_16x16),this), TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
- state->m_tilemap_0->set_scrolldx(-0x60 + 2, -0x60);
- state->m_tilemap_1->set_scrolldx(-0x60, -0x60 + 2);
- state->m_tilemap_0_16x16->set_scrolldx(-0x60 + 2, -0x60);
- state->m_tilemap_1_16x16->set_scrolldx(-0x60, -0x60 + 2);
+ m_tilemap_0->set_scrolldx(-0x60 + 2, -0x60);
+ m_tilemap_1->set_scrolldx(-0x60, -0x60 + 2);
+ m_tilemap_0_16x16->set_scrolldx(-0x60 + 2, -0x60);
+ m_tilemap_1_16x16->set_scrolldx(-0x60, -0x60 + 2);
- state->m_tilemap_1->set_transparent_pen(0x00);
- state->m_tilemap_1_16x16->set_transparent_pen(0x00);
+ m_tilemap_1->set_transparent_pen(0x00);
+ m_tilemap_1_16x16->set_transparent_pen(0x00);
}
diff --git a/src/mame/video/espial.c b/src/mame/video/espial.c
index 757dd0d70c3..4906e6ab9cf 100644
--- a/src/mame/video/espial.c
+++ b/src/mame/video/espial.c
@@ -29,12 +29,12 @@
***************************************************************************/
-PALETTE_INIT( espial )
+void espial_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -45,16 +45,16 @@ PALETTE_INIT( espial )
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
/* green component */
bit0 = (color_prom[i] >> 3) & 0x01;
- bit1 = (color_prom[i + machine.total_colors()] >> 0) & 0x01;
- bit2 = (color_prom[i + machine.total_colors()] >> 1) & 0x01;
+ bit1 = (color_prom[i + machine().total_colors()] >> 0) & 0x01;
+ bit2 = (color_prom[i + machine().total_colors()] >> 1) & 0x01;
g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
/* blue component */
bit0 = 0;
- bit1 = (color_prom[i + machine.total_colors()] >> 2) & 0x01;
- bit2 = (color_prom[i + machine.total_colors()] >> 3) & 0x01;
+ bit1 = (color_prom[i + machine().total_colors()] >> 2) & 0x01;
+ bit2 = (color_prom[i + machine().total_colors()] >> 3) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -85,27 +85,25 @@ TILE_GET_INFO_MEMBER(espial_state::get_tile_info)
*
*************************************/
-VIDEO_START( espial )
+void espial_state::video_start()
{
- espial_state *state = machine.driver_data<espial_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(espial_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(espial_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scroll_cols(32);
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_flipscreen));
}
-VIDEO_START( netwars )
+VIDEO_START_MEMBER(espial_state,netwars)
{
- espial_state *state = machine.driver_data<espial_state>();
/* Net Wars has a tile map that's twice as big as Espial's */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(espial_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(espial_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
- state->m_bg_tilemap->set_scroll_cols(32);
- state->m_bg_tilemap->set_scrolldy(0, 0x100);
+ m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_scrolldy(0, 0x100);
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_flipscreen));
}
diff --git a/src/mame/video/esripsys.c b/src/mame/video/esripsys.c
index 924f7550ed5..682f964d300 100644
--- a/src/mame/video/esripsys.c
+++ b/src/mame/video/esripsys.c
@@ -57,28 +57,27 @@ static TIMER_CALLBACK( hblank_end_callback )
state->m_hblank = 1;
}
-VIDEO_START( esripsys )
+void esripsys_state::video_start()
{
- esripsys_state *state = machine.driver_data<esripsys_state>();
- struct line_buffer_t *line_buffer = state->m_line_buffer;
+ struct line_buffer_t *line_buffer = m_line_buffer;
int i;
/* Allocate memory for the two 512-pixel line buffers */
- line_buffer[0].colour_buf = auto_alloc_array(machine, UINT8, 512);
- line_buffer[0].intensity_buf = auto_alloc_array(machine, UINT8, 512);
- line_buffer[0].priority_buf = auto_alloc_array(machine, UINT8, 512);
+ line_buffer[0].colour_buf = auto_alloc_array(machine(), UINT8, 512);
+ line_buffer[0].intensity_buf = auto_alloc_array(machine(), UINT8, 512);
+ line_buffer[0].priority_buf = auto_alloc_array(machine(), UINT8, 512);
- line_buffer[1].colour_buf = auto_alloc_array(machine, UINT8, 512);
- line_buffer[1].intensity_buf = auto_alloc_array(machine, UINT8, 512);
- line_buffer[1].priority_buf = auto_alloc_array(machine, UINT8, 512);
+ line_buffer[1].colour_buf = auto_alloc_array(machine(), UINT8, 512);
+ line_buffer[1].intensity_buf = auto_alloc_array(machine(), UINT8, 512);
+ line_buffer[1].priority_buf = auto_alloc_array(machine(), UINT8, 512);
/* Create and initialise the HBLANK timers */
- state->m_hblank_start_timer = machine.scheduler().timer_alloc(FUNC(hblank_start_callback));
- state->m_hblank_end_timer = machine.scheduler().timer_alloc(FUNC(hblank_end_callback));
- state->m_hblank_start_timer->adjust(machine.primary_screen->time_until_pos(0, ESRIPSYS_HBLANK_START));
+ m_hblank_start_timer = machine().scheduler().timer_alloc(FUNC(hblank_start_callback));
+ m_hblank_end_timer = machine().scheduler().timer_alloc(FUNC(hblank_end_callback));
+ m_hblank_start_timer->adjust(machine().primary_screen->time_until_pos(0, ESRIPSYS_HBLANK_START));
/* Create the sprite scaling table */
- state->m_scale_table = auto_alloc_array(machine, UINT8, 64 * 64);
+ m_scale_table = auto_alloc_array(machine(), UINT8, 64 * 64);
for (i = 0; i < 64; ++i)
{
@@ -106,12 +105,12 @@ VIDEO_START( esripsys )
if (i & 0x20)
p5 = BIT(j, 0);
- state->m_scale_table[i * 64 + j - 1] = p0 | p1 | p2 | p3 | p4 | p5;
+ m_scale_table[i * 64 + j - 1] = p0 | p1 | p2 | p3 | p4 | p5;
}
}
/* Now create a lookup table for scaling the sprite 'fig' value */
- state->m_fig_scale_table = auto_alloc_array(machine, UINT8, 1024 * 64);
+ m_fig_scale_table = auto_alloc_array(machine(), UINT8, 1024 * 64);
for (i = 0; i < 1024; ++i)
{
@@ -124,31 +123,31 @@ VIDEO_START( esripsys )
while (input_pixels)
{
- if (state->m_scale_table[scale * 64 + (scaled_pixels & 0x3f)] == 0)
+ if (m_scale_table[scale * 64 + (scaled_pixels & 0x3f)] == 0)
input_pixels--;
scaled_pixels++;
}
- state->m_fig_scale_table[i * 64 + scale] = scaled_pixels - 1;
+ m_fig_scale_table[i * 64 + scale] = scaled_pixels - 1;
}
}
/* Register stuff for state saving */
- state_save_register_global_pointer(machine, line_buffer[0].colour_buf, 512);
- state_save_register_global_pointer(machine, line_buffer[0].intensity_buf, 512);
- state_save_register_global_pointer(machine, line_buffer[0].priority_buf, 512);
-
- state_save_register_global_pointer(machine, line_buffer[1].colour_buf, 512);
- state_save_register_global_pointer(machine, line_buffer[1].intensity_buf, 512);
- state_save_register_global_pointer(machine, line_buffer[1].priority_buf, 512);
-
- state_save_register_global(machine, state->m_video_firq);
- state_save_register_global(machine, state->m_bg_intensity);
- state_save_register_global(machine, state->m_hblank);
- state_save_register_global(machine, state->m_video_firq_en);
- state_save_register_global(machine, state->m_frame_vbl);
- state_save_register_global(machine, state->m_12sel);
+ state_save_register_global_pointer(machine(), line_buffer[0].colour_buf, 512);
+ state_save_register_global_pointer(machine(), line_buffer[0].intensity_buf, 512);
+ state_save_register_global_pointer(machine(), line_buffer[0].priority_buf, 512);
+
+ state_save_register_global_pointer(machine(), line_buffer[1].colour_buf, 512);
+ state_save_register_global_pointer(machine(), line_buffer[1].intensity_buf, 512);
+ state_save_register_global_pointer(machine(), line_buffer[1].priority_buf, 512);
+
+ state_save_register_global(machine(), m_video_firq);
+ state_save_register_global(machine(), m_bg_intensity);
+ state_save_register_global(machine(), m_hblank);
+ state_save_register_global(machine(), m_video_firq_en);
+ state_save_register_global(machine(), m_frame_vbl);
+ state_save_register_global(machine(), m_12sel);
}
SCREEN_UPDATE_RGB32( esripsys )
diff --git a/src/mame/video/exedexes.c b/src/mame/video/exedexes.c
index 6a71551f914..7f03b3414cc 100644
--- a/src/mame/video/exedexes.c
+++ b/src/mame/video/exedexes.c
@@ -31,13 +31,13 @@
***************************************************************************/
-PALETTE_INIT( exedexes )
+void exedexes_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -46,7 +46,7 @@ PALETTE_INIT( exedexes )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -56,28 +56,28 @@ PALETTE_INIT( exedexes )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] | 0xc0;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* 32x32 tiles use colors 0-0x0f */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = color_prom[i];
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* 16x16 tiles use colors 0x40-0x4f */
for (i = 0x200; i < 0x300; i++)
{
UINT8 ctabentry = color_prom[i] | 0x40;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites use colors 0x80-0xbf in four banks */
for (i = 0x300; i < 0x400; i++)
{
UINT8 ctabentry = color_prom[i] | (color_prom[i + 0x100] << 4) | 0x80;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -168,16 +168,15 @@ TILEMAP_MAPPER_MEMBER(exedexes_state::exedexes_fg_tilemap_scan)
return ((col * 16 & 0xf0) >> 4) + (row * 16 & 0xf0) + (col * 16 & 0x700) + ((row * 16 & 0x700) << 3);
}
-VIDEO_START( exedexes )
+void exedexes_state::video_start()
{
- exedexes_state *state = machine.driver_data<exedexes_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exedexes_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(exedexes_state::exedexes_bg_tilemap_scan),state), 32, 32, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exedexes_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(exedexes_state::exedexes_fg_tilemap_scan),state), 16, 16, 128, 128);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exedexes_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(exedexes_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(exedexes_state::exedexes_bg_tilemap_scan),this), 32, 32, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(exedexes_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(exedexes_state::exedexes_fg_tilemap_scan),this), 16, 16, 128, 128);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(exedexes_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 0xcf);
+ m_fg_tilemap->set_transparent_pen(0);
+ colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, machine().gfx[0], 0xcf);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority )
diff --git a/src/mame/video/exerion.c b/src/mame/video/exerion.c
index f8bb8d4b852..ae3cab1b0e0 100644
--- a/src/mame/video/exerion.c
+++ b/src/mame/video/exerion.c
@@ -34,9 +34,9 @@
***************************************************************************/
-PALETTE_INIT( exerion )
+void exerion_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -49,7 +49,7 @@ PALETTE_INIT( exerion )
2, &resistances_b[0], bweights, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -74,7 +74,7 @@ PALETTE_INIT( exerion )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -84,7 +84,7 @@ PALETTE_INIT( exerion )
for (i = 0; i < 0x200; i++)
{
UINT8 ctabentry = 0x10 | (color_prom[(i & 0x1c0) | ((i & 3) << 4) | ((i >> 2) & 0x0f)] & 0x0f);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* bg chars (this is not the full story... there are four layers mixed */
@@ -92,7 +92,7 @@ PALETTE_INIT( exerion )
for (i = 0x200; i < 0x300; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -104,22 +104,21 @@ PALETTE_INIT( exerion )
*
*************************************/
-VIDEO_START( exerion )
+void exerion_state::video_start()
{
- exerion_state *state = machine.driver_data<exerion_state>();
int i;
UINT8 *gfx;
/* get pointers to the mixing and lookup PROMs */
- state->m_background_mixer = state->memregion("proms")->base() + 0x320;
+ m_background_mixer = memregion("proms")->base() + 0x320;
/* allocate memory for the decoded background graphics */
- state->m_background_gfx[0] = auto_alloc_array(machine, UINT16, 256 * 256 * 4);
- state->m_background_gfx[1] = state->m_background_gfx[0] + 256 * 256;
- state->m_background_gfx[2] = state->m_background_gfx[1] + 256 * 256;
- state->m_background_gfx[3] = state->m_background_gfx[2] + 256 * 256;
+ m_background_gfx[0] = auto_alloc_array(machine(), UINT16, 256 * 256 * 4);
+ m_background_gfx[1] = m_background_gfx[0] + 256 * 256;
+ m_background_gfx[2] = m_background_gfx[1] + 256 * 256;
+ m_background_gfx[3] = m_background_gfx[2] + 256 * 256;
- state->save_pointer(NAME(state->m_background_gfx[0]), 256 * 256 * 4);
+ save_pointer(NAME(m_background_gfx[0]), 256 * 256 * 4);
/*---------------------------------
* Decode the background graphics
@@ -136,13 +135,13 @@ VIDEO_START( exerion )
* Where AA,BB,CC,DD are the 2bpp data for the pixel,and a,b,c,d are the OR
* of these two bits together.
*/
- gfx = state->memregion("gfx3")->base();
+ gfx = memregion("gfx3")->base();
for (i = 0; i < 4; i++)
{
int y;
UINT8 *src = gfx + i * 0x2000;
- UINT16 *dst = state->m_background_gfx[i];
+ UINT16 *dst = m_background_gfx[i];
for (y = 0; y < 0x100; y++)
{
diff --git a/src/mame/video/exidy.c b/src/mame/video/exidy.c
index 200cf28cbf8..26fc0b56f62 100644
--- a/src/mame/video/exidy.c
+++ b/src/mame/video/exidy.c
@@ -31,23 +31,22 @@ void exidy_video_config(running_machine &machine, UINT8 _collision_mask, UINT8 _
*
*************************************/
-VIDEO_START( exidy )
+void exidy_state::video_start()
{
- exidy_state *state = machine.driver_data<exidy_state>();
- machine.primary_screen->register_screen_bitmap(state->m_background_bitmap);
- state->m_motion_object_1_vid.allocate(16, 16);
- state->m_motion_object_2_vid.allocate(16, 16);
- state->m_motion_object_2_clip.allocate(16, 16);
-
- state_save_register_global(machine, state->m_collision_mask);
- state_save_register_global(machine, state->m_collision_invert);
- state_save_register_global(machine, state->m_is_2bpp);
- state_save_register_global(machine, state->m_int_condition);
- state_save_register_global_bitmap(machine, &state->m_background_bitmap);
- state_save_register_global_bitmap(machine, &state->m_motion_object_1_vid);
- state_save_register_global_bitmap(machine, &state->m_motion_object_2_vid);
- state_save_register_global_bitmap(machine, &state->m_motion_object_2_clip);
+ machine().primary_screen->register_screen_bitmap(m_background_bitmap);
+ m_motion_object_1_vid.allocate(16, 16);
+ m_motion_object_2_vid.allocate(16, 16);
+ m_motion_object_2_clip.allocate(16, 16);
+
+ state_save_register_global(machine(), m_collision_mask);
+ state_save_register_global(machine(), m_collision_invert);
+ state_save_register_global(machine(), m_is_2bpp);
+ state_save_register_global(machine(), m_int_condition);
+ state_save_register_global_bitmap(machine(), &m_background_bitmap);
+ state_save_register_global_bitmap(machine(), &m_motion_object_1_vid);
+ state_save_register_global_bitmap(machine(), &m_motion_object_2_vid);
+ state_save_register_global_bitmap(machine(), &m_motion_object_2_clip);
}
diff --git a/src/mame/video/exidy440.c b/src/mame/video/exidy440.c
index 78b86952fb4..2ae4908e966 100644
--- a/src/mame/video/exidy440.c
+++ b/src/mame/video/exidy440.c
@@ -37,33 +37,31 @@ static void exidy440_update_firq(running_machine &machine);
*
*************************************/
-static VIDEO_START( exidy440 )
+VIDEO_START_MEMBER(exidy440_state,exidy440)
{
- exidy440_state *state = machine.driver_data<exidy440_state>();
/* reset the system */
- state->m_firq_enable = 0;
- state->m_firq_select = 0;
- state->m_palettebank_io = 0;
- state->m_palettebank_vis = 0;
- state->m_firq_vblank = 0;
- state->m_firq_beam = 0;
+ m_firq_enable = 0;
+ m_firq_select = 0;
+ m_palettebank_io = 0;
+ m_palettebank_vis = 0;
+ m_firq_vblank = 0;
+ m_firq_beam = 0;
/* allocate a buffer for VRAM */
- state->m_local_videoram = auto_alloc_array(machine, UINT8, 256 * 256 * 2);
- memset(state->m_local_videoram, 0, 256 * 256 * 2);
+ m_local_videoram = auto_alloc_array(machine(), UINT8, 256 * 256 * 2);
+ memset(m_local_videoram, 0, 256 * 256 * 2);
/* allocate a buffer for palette RAM */
- state->m_local_paletteram = auto_alloc_array(machine, UINT8, 512 * 2);
- memset(state->m_local_paletteram, 0, 512 * 2);
+ m_local_paletteram = auto_alloc_array(machine(), UINT8, 512 * 2);
+ memset(m_local_paletteram, 0, 512 * 2);
}
-static VIDEO_START( topsecex )
+VIDEO_START_MEMBER(exidy440_state,topsecex)
{
- exidy440_state *state = machine.driver_data<exidy440_state>();
- VIDEO_START_CALL(exidy440);
+ VIDEO_START_CALL_MEMBER(exidy440);
- *state->m_topsecex_yscroll = 0;
+ *m_topsecex_yscroll = 0;
}
@@ -476,7 +474,7 @@ static SCREEN_UPDATE_IND16( topsecex )
MACHINE_CONFIG_FRAGMENT( exidy440_video )
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(exidy440)
+ MCFG_VIDEO_START_OVERRIDE(exidy440_state,exidy440)
MCFG_PALETTE_LENGTH(256)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -487,7 +485,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( topsecex_video )
MCFG_VIDEO_ATTRIBUTES(0)
- MCFG_VIDEO_START(topsecex)
+ MCFG_VIDEO_START_OVERRIDE(exidy440_state,topsecex)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, TOPSECEX_VBSTART)
diff --git a/src/mame/video/exprraid.c b/src/mame/video/exprraid.c
index efcc8e58103..cb68c46fa38 100644
--- a/src/mame/video/exprraid.c
+++ b/src/mame/video/exprraid.c
@@ -78,15 +78,14 @@ TILE_GET_INFO_MEMBER(exprraid_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( exprraid )
+void exprraid_state::video_start()
{
- exprraid_state *state = machine.driver_data<exprraid_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exprraid_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exprraid_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(exprraid_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(exprraid_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_rows(2);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_rows(2);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/exterm.c b/src/mame/video/exterm.c
index 7093ad82ede..9bb3e31c3e2 100644
--- a/src/mame/video/exterm.c
+++ b/src/mame/video/exterm.c
@@ -15,13 +15,13 @@
*
*************************************/
-PALETTE_INIT( exterm )
+void exterm_state::palette_init()
{
int i;
/* initialize 555 RGB lookup */
for (i = 0; i < 32768; i++)
- palette_set_color_rgb(machine, i + 0x800, pal5bit(i >> 10), pal5bit(i >> 5), pal5bit(i >> 0));
+ palette_set_color_rgb(machine(), i + 0x800, pal5bit(i >> 10), pal5bit(i >> 5), pal5bit(i >> 0));
}
diff --git a/src/mame/video/f1gp.c b/src/mame/video/f1gp.c
index 95e5cbdf8fc..29179cd342b 100644
--- a/src/mame/video/f1gp.c
+++ b/src/mame/video/f1gp.c
@@ -40,49 +40,46 @@ TILE_GET_INFO_MEMBER(f1gp_state::get_fg_tile_info)
***************************************************************************/
-VIDEO_START( f1gp )
+VIDEO_START_MEMBER(f1gp_state,f1gp)
{
- f1gp_state *state = machine.driver_data<f1gp_state>();
- state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::f1gp_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_roz_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::f1gp_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0xff);
+ m_fg_tilemap->set_transparent_pen(0xff);
- state->m_zoomdata = (UINT16 *)state->memregion("gfx4")->base();
- machine.gfx[3]->set_source((UINT8 *)state->m_zoomdata);
+ m_zoomdata = (UINT16 *)memregion("gfx4")->base();
+ machine().gfx[3]->set_source((UINT8 *)m_zoomdata);
-// state->save_pointer(NAME(state->m_zoomdata), state->memregion("gfx4")->bytes());
+// save_pointer(NAME(m_zoomdata), memregion("gfx4")->bytes());
}
-VIDEO_START( f1gpb )
+VIDEO_START_MEMBER(f1gp_state,f1gpb)
{
- f1gp_state *state = machine.driver_data<f1gp_state>();
- state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::f1gp_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_roz_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::f1gp_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0xff);
+ m_fg_tilemap->set_transparent_pen(0xff);
- state->m_zoomdata = (UINT16 *)state->memregion("gfx4")->base();
- machine.gfx[3]->set_source((UINT8 *)state->m_zoomdata);
+ m_zoomdata = (UINT16 *)memregion("gfx4")->base();
+ machine().gfx[3]->set_source((UINT8 *)m_zoomdata);
-// state->save_pointer(NAME(state->m_zoomdata), state->memregion("gfx4")->bytes());
+// save_pointer(NAME(m_zoomdata), memregion("gfx4")->bytes());
}
-VIDEO_START( f1gp2 )
+VIDEO_START_MEMBER(f1gp_state,f1gp2)
{
- f1gp_state *state = machine.driver_data<f1gp_state>();
- state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::f1gp2_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_roz_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::f1gp2_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0xff);
- state->m_roz_tilemap->set_transparent_pen(0x0f);
+ m_fg_tilemap->set_transparent_pen(0xff);
+ m_roz_tilemap->set_transparent_pen(0x0f);
- state->m_fg_tilemap->set_scrolldx(-80, 0);
- state->m_fg_tilemap->set_scrolldy(-26, 0);
+ m_fg_tilemap->set_scrolldx(-80, 0);
+ m_fg_tilemap->set_scrolldy(-26, 0);
}
diff --git a/src/mame/video/fastfred.c b/src/mame/video/fastfred.c
index b48da054aae..5ea45171e92 100644
--- a/src/mame/video/fastfred.c
+++ b/src/mame/video/fastfred.c
@@ -23,9 +23,9 @@
***************************************************************************/
-PALETTE_INIT( fastfred )
+PALETTE_INIT_MEMBER(fastfred_state,fastfred)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[4] = { 1000, 470, 220, 100 };
double rweights[4], gweights[4], bweights[4];
int i;
@@ -37,7 +37,7 @@ PALETTE_INIT( fastfred )
4, resistances, bweights, 470, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -66,12 +66,12 @@ PALETTE_INIT( fastfred )
bit3 = (color_prom[i + 0x200] >> 3) & 0x01;
b = combine_4_weights(bweights, bit0, bit1, bit2, bit3);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* characters and sprites use the same palette */
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
}
/***************************************************************************
@@ -98,13 +98,12 @@ TILE_GET_INFO_MEMBER(fastfred_state::get_tile_info)
*
*************************************/
-VIDEO_START( fastfred )
+VIDEO_START_MEMBER(fastfred_state,fastfred)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(32);
}
@@ -345,23 +344,22 @@ WRITE8_HANDLER( imago_charbank_w )
}
}
-VIDEO_START( imago )
+VIDEO_START_MEMBER(fastfred_state,imago)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- state->m_web_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_web),state),TILEMAP_SCAN_ROWS, 8,8,32,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_bg),state), TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_fg),state), TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_web_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_web),this),TILEMAP_SCAN_ROWS, 8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_bg),this), TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_fg),this), TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
/* the game has a galaxian starfield */
- galaxold_init_stars(machine, 256);
- state->m_stars_on = 1;
+ galaxold_init_stars(machine(), 256);
+ m_stars_on = 1;
/* web colors */
- palette_set_color(machine,256+64+0,MAKE_RGB(0x50,0x00,0x00));
- palette_set_color(machine,256+64+1,MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color(machine(),256+64+0,MAKE_RGB(0x50,0x00,0x00));
+ palette_set_color(machine(),256+64+1,MAKE_RGB(0x00,0x00,0x00));
}
SCREEN_UPDATE_IND16( imago )
diff --git a/src/mame/video/fastlane.c b/src/mame/video/fastlane.c
index b7027f6eee4..e2a8a343ffc 100644
--- a/src/mame/video/fastlane.c
+++ b/src/mame/video/fastlane.c
@@ -3,13 +3,13 @@
#include "includes/fastlane.h"
-PALETTE_INIT( fastlane )
+void fastlane_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int pal;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x400);
+ machine().colortable = colortable_alloc(machine(), 0x400);
for (pal = 0; pal < 0x10; pal++)
{
@@ -18,7 +18,7 @@ PALETTE_INIT( fastlane )
for (i = 0; i < 0x400; i++)
{
UINT8 ctabentry = (i & 0x3f0) | color_prom[(pal << 4) | (i & 0x0f)];
- colortable_entry_set_value(machine.colortable, (pal << 10) | i, ctabentry);
+ colortable_entry_set_value(machine().colortable, (pal << 10) | i, ctabentry);
}
}
}
@@ -109,21 +109,20 @@ TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info1)
***************************************************************************/
-VIDEO_START( fastlane )
+void fastlane_state::video_start()
{
- fastlane_state *state = machine.driver_data<fastlane_state>();
- state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastlane_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastlane_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_layer0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fastlane_state::get_tile_info0),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_layer1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fastlane_state::get_tile_info1),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_layer0->set_scroll_rows(32);
+ m_layer0->set_scroll_rows(32);
- state->m_clip0 = machine.primary_screen->visible_area();
- state->m_clip0.min_x += 40;
+ m_clip0 = machine().primary_screen->visible_area();
+ m_clip0.min_x += 40;
- state->m_clip1 = machine.primary_screen->visible_area();
- state->m_clip1.max_x = 39;
- state->m_clip1.min_x = 0;
+ m_clip1 = machine().primary_screen->visible_area();
+ m_clip1.max_x = 39;
+ m_clip1.min_x = 0;
}
/***************************************************************************
diff --git a/src/mame/video/fcombat.c b/src/mame/video/fcombat.c
index dc2f22dc1fd..02838cbb3a9 100644
--- a/src/mame/video/fcombat.c
+++ b/src/mame/video/fcombat.c
@@ -37,13 +37,13 @@ TILE_GET_INFO_MEMBER(fcombat_state::get_bg_tile_info)
***************************************************************************/
-PALETTE_INIT( fcombat )
+void fcombat_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( fcombat )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -79,7 +79,7 @@ PALETTE_INIT( fcombat )
for (i = 0; i < 0x200; i++)
{
UINT8 ctabentry = (color_prom[(i & 0x1c0) | ((i & 3) << 4) | ((i >> 2) & 0x0f)] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* bg chars (this is not the full story... there are four layers mixed */
@@ -87,7 +87,7 @@ PALETTE_INIT( fcombat )
for (i = 0x200; i < 0x300; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -99,10 +99,9 @@ PALETTE_INIT( fcombat )
*
*************************************/
-VIDEO_START( fcombat )
+void fcombat_state::video_start()
{
- fcombat_state *state = machine.driver_data<fcombat_state>();
- state->m_bgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fcombat_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32 * 8 * 2, 32);
+ m_bgmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fcombat_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32 * 8 * 2, 32);
}
diff --git a/src/mame/video/fgoal.c b/src/mame/video/fgoal.c
index 298ef34a282..2c4501e7e08 100644
--- a/src/mame/video/fgoal.c
+++ b/src/mame/video/fgoal.c
@@ -26,14 +26,13 @@ WRITE8_MEMBER(fgoal_state::fgoal_xpos_w)
}
-VIDEO_START( fgoal )
+void fgoal_state::video_start()
{
- fgoal_state *state = machine.driver_data<fgoal_state>();
- machine.primary_screen->register_screen_bitmap(state->m_fgbitmap);
- machine.primary_screen->register_screen_bitmap(state->m_bgbitmap);
+ machine().primary_screen->register_screen_bitmap(m_fgbitmap);
+ machine().primary_screen->register_screen_bitmap(m_bgbitmap);
- state->save_item(NAME(state->m_fgbitmap));
- state->save_item(NAME(state->m_bgbitmap));
+ save_item(NAME(m_fgbitmap));
+ save_item(NAME(m_bgbitmap));
}
diff --git a/src/mame/video/finalizr.c b/src/mame/video/finalizr.c
index 705347f0cfc..9fb81139940 100644
--- a/src/mame/video/finalizr.c
+++ b/src/mame/video/finalizr.c
@@ -10,13 +10,13 @@
#include "includes/finalizr.h"
-PALETTE_INIT( finalizr )
+void finalizr_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -25,7 +25,7 @@ PALETTE_INIT( finalizr )
int g = pal4bit(color_prom[i + 0x00] >> 4);
int b = pal4bit(color_prom[i + 0x20] >> 0);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -34,13 +34,13 @@ PALETTE_INIT( finalizr )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -64,12 +64,11 @@ TILE_GET_INFO_MEMBER(finalizr_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( finalizr )
+void finalizr_state::video_start()
{
- finalizr_state *state = machine.driver_data<finalizr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(finalizr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(finalizr_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(finalizr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(finalizr_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/firetrap.c b/src/mame/video/firetrap.c
index e4d81dc2bab..0ab7ba8dcb3 100644
--- a/src/mame/video/firetrap.c
+++ b/src/mame/video/firetrap.c
@@ -34,13 +34,13 @@
***************************************************************************/
-PALETTE_INIT( firetrap )
+void firetrap_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, bit3, r, g, b;
@@ -55,13 +55,13 @@ PALETTE_INIT( firetrap )
bit2 = (color_prom[i] >> 6) & 0x01;
bit3 = (color_prom[i] >> 7) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- bit0 = (color_prom[i + machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[i + machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[i + machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[i + machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[i + machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[i + machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[i + machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[i + machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -123,15 +123,14 @@ TILE_GET_INFO_MEMBER(firetrap_state::get_bg2_tile_info)
***************************************************************************/
-VIDEO_START( firetrap )
+void firetrap_state::video_start()
{
- firetrap_state *state = machine.driver_data<firetrap_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(firetrap_state::get_fg_memory_offset),state), 8, 8, 32, 32);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(firetrap_state::get_bg_memory_offset),state), 16, 16, 32, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(firetrap_state::get_bg_memory_offset),state), 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(firetrap_state::get_fg_memory_offset),this), 8, 8, 32, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(firetrap_state::get_bg_memory_offset),this), 16, 16, 32, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(firetrap_state::get_bg_memory_offset),this), 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg1_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg1_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/firetrk.c b/src/mame/video/firetrk.c
index 734b3fe37da..c321d4b0937 100644
--- a/src/mame/video/firetrk.c
+++ b/src/mame/video/firetrk.c
@@ -18,9 +18,8 @@ static const rectangle playfield_window(0x02a, 0x115, 0x000, 0x0ff);
-PALETTE_INIT( firetrk )
+void firetrk_state::palette_init()
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
int i;
static const UINT8 colortable_source[] =
@@ -41,18 +40,18 @@ PALETTE_INIT( firetrk )
RGB_WHITE
};
- state->m_color1_mask = state->m_color2_mask = 0;
+ m_color1_mask = m_color2_mask = 0;
for (i = 0; i < ARRAY_LENGTH(colortable_source); i++)
{
UINT8 color = colortable_source[i];
if (color == 1)
- state->m_color1_mask |= 1 << i;
+ m_color1_mask |= 1 << i;
else if (color == 2)
- state->m_color2_mask |= 1 << i;
+ m_color2_mask |= 1 << i;
- palette_set_color(machine, i, palette_source[color]);
+ palette_set_color(machine(), i, palette_source[color]);
}
}
@@ -63,10 +62,9 @@ static void prom_to_palette(running_machine &machine, int number, UINT8 val)
}
-PALETTE_INIT( montecar )
+PALETTE_INIT_MEMBER(firetrk_state,montecar)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- firetrk_state *state = machine.driver_data<firetrk_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const UINT8 colortable_source[] =
@@ -102,22 +100,22 @@ PALETTE_INIT( montecar )
*
*/
- state->m_color1_mask = state->m_color2_mask = 0;
+ m_color1_mask = m_color2_mask = 0;
for (i = 0; i < ARRAY_LENGTH(colortable_source); i++)
{
UINT8 color = colortable_source[i];
if (color == 1)
- state->m_color1_mask |= 1 << i;
+ m_color1_mask |= 1 << i;
else if (color == 2)
- state->m_color2_mask |= 1 << i;
+ m_color2_mask |= 1 << i;
- prom_to_palette(machine, i, color_prom[0x100 + colortable_source[i]]);
+ prom_to_palette(machine(), i, color_prom[0x100 + colortable_source[i]]);
}
- palette_set_color(machine, ARRAY_LENGTH(colortable_source) + 0, RGB_BLACK);
- palette_set_color(machine, ARRAY_LENGTH(colortable_source) + 1, RGB_WHITE);
+ palette_set_color(machine(), ARRAY_LENGTH(colortable_source) + 0, RGB_BLACK);
+ palette_set_color(machine(), ARRAY_LENGTH(colortable_source) + 1, RGB_WHITE);
}
@@ -217,36 +215,33 @@ TILE_GET_INFO_MEMBER(firetrk_state::montecar_get_tile_info2)
}
-VIDEO_START( firetrk )
+void firetrk_state::video_start()
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
- machine.primary_screen->register_screen_bitmap(state->m_helper1);
- machine.primary_screen->register_screen_bitmap(state->m_helper2);
+ machine().primary_screen->register_screen_bitmap(m_helper1);
+ machine().primary_screen->register_screen_bitmap(m_helper2);
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::firetrk_get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::firetrk_get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::firetrk_get_tile_info1),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::firetrk_get_tile_info2),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
-VIDEO_START( superbug )
+VIDEO_START_MEMBER(firetrk_state,superbug)
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
- machine.primary_screen->register_screen_bitmap(state->m_helper1);
- machine.primary_screen->register_screen_bitmap(state->m_helper2);
+ machine().primary_screen->register_screen_bitmap(m_helper1);
+ machine().primary_screen->register_screen_bitmap(m_helper2);
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::superbug_get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::superbug_get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::superbug_get_tile_info1),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::superbug_get_tile_info2),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
-VIDEO_START( montecar )
+VIDEO_START_MEMBER(firetrk_state,montecar)
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
- machine.primary_screen->register_screen_bitmap(state->m_helper1);
- machine.primary_screen->register_screen_bitmap(state->m_helper2);
+ machine().primary_screen->register_screen_bitmap(m_helper1);
+ machine().primary_screen->register_screen_bitmap(m_helper2);
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::montecar_get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::montecar_get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::montecar_get_tile_info1),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::montecar_get_tile_info2),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
diff --git a/src/mame/video/fitfight.c b/src/mame/video/fitfight.c
index ca0dd6eca34..57103a1dd01 100644
--- a/src/mame/video/fitfight.c
+++ b/src/mame/video/fitfight.c
@@ -95,17 +95,16 @@ WRITE16_MEMBER(fitfight_state::fof_txt_tileram_w)
/* video start / update */
-VIDEO_START(fitfight)
+void fitfight_state::video_start()
{
- fitfight_state *state = machine.driver_data<fitfight_state>();
- state->m_fof_bak_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fitfight_state::get_fof_bak_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 128, 32);
+ m_fof_bak_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fitfight_state::get_fof_bak_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 128, 32);
/* opaque */
- state->m_fof_mid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fitfight_state::get_fof_mid_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 128, 32);
- state->m_fof_mid_tilemap->set_transparent_pen(0);
+ m_fof_mid_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fitfight_state::get_fof_mid_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 128, 32);
+ m_fof_mid_tilemap->set_transparent_pen(0);
- state->m_fof_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fitfight_state::get_fof_txt_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 128, 32);
- state->m_fof_txt_tilemap->set_transparent_pen(0);
+ m_fof_txt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fitfight_state::get_fof_txt_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 128, 32);
+ m_fof_txt_tilemap->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16(fitfight)
diff --git a/src/mame/video/flkatck.c b/src/mame/video/flkatck.c
index 217d43db55b..18135749ad8 100644
--- a/src/mame/video/flkatck.c
+++ b/src/mame/video/flkatck.c
@@ -67,11 +67,10 @@ TILE_GET_INFO_MEMBER(flkatck_state::get_tile_info_B)
***************************************************************************/
-VIDEO_START( flkatck )
+void flkatck_state::video_start()
{
- flkatck_state *state = machine.driver_data<flkatck_state>();
- state->m_k007121_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flkatck_state::get_tile_info_A),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_k007121_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flkatck_state::get_tile_info_B),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_k007121_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flkatck_state::get_tile_info_A),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_k007121_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flkatck_state::get_tile_info_B),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/flower.c b/src/mame/video/flower.c
index 22158cb082d..baa965620ae 100644
--- a/src/mame/video/flower.c
+++ b/src/mame/video/flower.c
@@ -4,13 +4,13 @@
#include "includes/flower.h"
-PALETTE_INIT( flower )
+void flower_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -19,11 +19,11 @@ PALETTE_INIT( flower )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -145,20 +145,19 @@ TILE_GET_INFO_MEMBER(flower_state::get_text_tile_info)
SET_TILE_INFO_MEMBER(0, code, color>>2, 0);
}
-VIDEO_START(flower)
+void flower_state::video_start()
{
- flower_state *state = machine.driver_data<flower_state>();
- state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_bg0_tile_info),state), TILEMAP_SCAN_ROWS,16,16,16,16);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS,16,16,16,16);
- state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_text_right_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_text_tile_info),state),TILEMAP_SCAN_COLS, 8, 8, 2,32);
+ m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_bg0_tile_info),this), TILEMAP_SCAN_ROWS,16,16,16,16);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_bg1_tile_info),this), TILEMAP_SCAN_ROWS,16,16,16,16);
+ m_text_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_text_right_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_text_tile_info),this),TILEMAP_SCAN_COLS, 8, 8, 2,32);
- state->m_bg1_tilemap->set_transparent_pen(15);
- state->m_text_tilemap->set_transparent_pen(3);
- state->m_text_right_tilemap->set_transparent_pen(3);
+ m_bg1_tilemap->set_transparent_pen(15);
+ m_text_tilemap->set_transparent_pen(3);
+ m_text_right_tilemap->set_transparent_pen(3);
- state->m_text_tilemap->set_scrolly(0, 16);
- state->m_text_right_tilemap->set_scrolly(0, 16);
+ m_text_tilemap->set_scrolly(0, 16);
+ m_text_right_tilemap->set_scrolly(0, 16);
}
SCREEN_UPDATE_IND16( flower )
diff --git a/src/mame/video/flstory.c b/src/mame/video/flstory.c
index 9d8eb8be2a4..3d4761d54ef 100644
--- a/src/mame/video/flstory.c
+++ b/src/mame/video/flstory.c
@@ -54,40 +54,37 @@ TILE_GET_INFO_MEMBER(flstory_state::get_rumba_tile_info)
0);
}
-VIDEO_START( flstory )
+VIDEO_START_MEMBER(flstory_state,flstory)
{
- flstory_state *state = machine.driver_data<flstory_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flstory_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
-// state->m_bg_tilemap->set_transparent_pen(15);
- state->m_bg_tilemap->set_transmask(0, 0x3fff, 0xc000); /* split type 0 has pens 0-13 transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
- state->m_bg_tilemap->set_scroll_cols(32);
-
- state->m_generic_paletteram_8.allocate(0x200);
- state->m_generic_paletteram2_8.allocate(0x200);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flstory_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+// m_bg_tilemap->set_transparent_pen(15);
+ m_bg_tilemap->set_transmask(0, 0x3fff, 0xc000); /* split type 0 has pens 0-13 transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
+ m_bg_tilemap->set_scroll_cols(32);
+
+ m_generic_paletteram_8.allocate(0x200);
+ m_generic_paletteram2_8.allocate(0x200);
}
-VIDEO_START( rumba )
+VIDEO_START_MEMBER(flstory_state,rumba)
{
- flstory_state *state = machine.driver_data<flstory_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flstory_state::get_rumba_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
-// state->m_bg_tilemap->set_transparent_pen(15);
- state->m_bg_tilemap->set_transmask(0, 0x3fff, 0xc000); /* split type 0 has pens 0-13 transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
- state->m_bg_tilemap->set_scroll_cols(32);
-
- state->m_generic_paletteram_8.allocate(0x200);
- state->m_generic_paletteram2_8.allocate(0x200);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flstory_state::get_rumba_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+// m_bg_tilemap->set_transparent_pen(15);
+ m_bg_tilemap->set_transmask(0, 0x3fff, 0xc000); /* split type 0 has pens 0-13 transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
+ m_bg_tilemap->set_scroll_cols(32);
+
+ m_generic_paletteram_8.allocate(0x200);
+ m_generic_paletteram2_8.allocate(0x200);
}
-VIDEO_START( victnine )
+VIDEO_START_MEMBER(flstory_state,victnine)
{
- flstory_state *state = machine.driver_data<flstory_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flstory_state::victnine_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(flstory_state::victnine_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scroll_cols(32);
- state->m_generic_paletteram_8.allocate(0x200);
- state->m_generic_paletteram2_8.allocate(0x200);
+ m_generic_paletteram_8.allocate(0x200);
+ m_generic_paletteram2_8.allocate(0x200);
}
WRITE8_MEMBER(flstory_state::flstory_videoram_w)
diff --git a/src/mame/video/foodf.c b/src/mame/video/foodf.c
index c57034169e4..8e867c47237 100644
--- a/src/mame/video/foodf.c
+++ b/src/mame/video/foodf.c
@@ -31,24 +31,23 @@ TILE_GET_INFO_MEMBER(foodf_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( foodf )
+VIDEO_START_MEMBER(foodf_state,foodf)
{
static const int resistances[3] = { 1000, 470, 220 };
- foodf_state *state = machine.driver_data<foodf_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(foodf_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 32,32);
- state->m_playfield_tilemap->set_transparent_pen(0);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(foodf_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 32,32);
+ m_playfield_tilemap->set_transparent_pen(0);
/* adjust the playfield for the 8 pixel offset */
- state->m_playfield_tilemap->set_scrollx(0, -8);
- state->save_item(NAME(state->m_playfield_flip));
+ m_playfield_tilemap->set_scrollx(0, -8);
+ save_item(NAME(m_playfield_flip));
/* compute the color output resistor weights */
compute_resistor_weights(0, 255, -1.0,
- 3, &resistances[0], state->m_rweights, 0, 0,
- 3, &resistances[0], state->m_gweights, 0, 0,
- 2, &resistances[1], state->m_bweights, 0, 0);
+ 3, &resistances[0], m_rweights, 0, 0,
+ 3, &resistances[0], m_gweights, 0, 0,
+ 2, &resistances[1], m_bweights, 0, 0);
}
diff --git a/src/mame/video/freekick.c b/src/mame/video/freekick.c
index 144e29436ae..03f15d0d9ef 100644
--- a/src/mame/video/freekick.c
+++ b/src/mame/video/freekick.c
@@ -14,10 +14,9 @@ TILE_GET_INFO_MEMBER(freekick_state::get_freek_tile_info)
}
-VIDEO_START( freekick )
+void freekick_state::video_start()
{
- freekick_state *state = machine.driver_data<freekick_state>();
- state->m_freek_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(freekick_state::get_freek_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_freek_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(freekick_state::get_freek_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/fromanc2.c b/src/mame/video/fromanc2.c
index bf78451ee02..22dc0cf00cd 100644
--- a/src/mame/video/fromanc2.c
+++ b/src/mame/video/fromanc2.c
@@ -379,143 +379,140 @@ WRITE16_MEMBER(fromanc2_state::fromanc4_gfxreg_2_w)
******************************************************************************/
-VIDEO_START( fromanc2 )
-{
- fromanc2_state *state = machine.driver_data<fromanc2_state>();
-
- state->m_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l3_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l3_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
-
- state->m_tilemap[0][1]->set_transparent_pen(0x000);
- state->m_tilemap[0][2]->set_transparent_pen(0x000);
- state->m_tilemap[0][3]->set_transparent_pen(0x000);
- state->m_tilemap[1][1]->set_transparent_pen(0x000);
- state->m_tilemap[1][2]->set_transparent_pen(0x000);
- state->m_tilemap[1][3]->set_transparent_pen(0x000);
-
- state->m_videoram[0][0] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[0][1] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[0][2] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[0][3] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[1][0] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[1][1] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[1][2] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[1][3] = auto_alloc_array(machine, UINT16, (64 * 64));
-
- state->m_paletteram[0] = auto_alloc_array(machine, UINT16, 0x800);
- state->m_paletteram[1] = auto_alloc_array(machine, UINT16, 0x800);
-
- state->save_pointer(NAME(state->m_videoram[0][0]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[0][1]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[0][2]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[0][3]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[1][0]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[1][1]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[1][2]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[1][3]), (64 * 64));
- state->save_pointer(NAME(state->m_paletteram[0]), 0x800);
- state->save_pointer(NAME(state->m_paletteram[1]), 0x800);
- state->save_item(NAME(state->m_scrollx[0]));
- state->save_item(NAME(state->m_scrollx[1]));
- state->save_item(NAME(state->m_scrolly[0]));
- state->save_item(NAME(state->m_scrolly[1]));
- state->save_item(NAME(state->m_gfxbank[0]));
- state->save_item(NAME(state->m_gfxbank[1]));
-}
-
-VIDEO_START( fromancr )
-{
- fromanc2_state *state = machine.driver_data<fromanc2_state>();
-
- state->m_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][3] = 0;
- state->m_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][3] = 0;
-
- state->m_tilemap[0][1]->set_transparent_pen(0x0ff);
- state->m_tilemap[0][2]->set_transparent_pen(0x0ff);
- state->m_tilemap[1][1]->set_transparent_pen(0x0ff);
- state->m_tilemap[1][2]->set_transparent_pen(0x0ff);
-
- state->m_videoram[0][0] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[0][1] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[0][2] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[1][0] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[1][1] = auto_alloc_array(machine, UINT16, (64 * 64));
- state->m_videoram[1][2] = auto_alloc_array(machine, UINT16, (64 * 64));
-
- state->m_paletteram[0] = auto_alloc_array(machine, UINT16, 0x800);
- state->m_paletteram[1] = auto_alloc_array(machine, UINT16, 0x800);
-
- state->save_pointer(NAME(state->m_videoram[0][0]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[0][1]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[0][2]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[1][0]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[1][1]), (64 * 64));
- state->save_pointer(NAME(state->m_videoram[1][2]), (64 * 64));
- state->save_pointer(NAME(state->m_paletteram[0]), 0x800);
- state->save_pointer(NAME(state->m_paletteram[1]), 0x800);
- state->save_item(NAME(state->m_scrollx[0]));
- state->save_item(NAME(state->m_scrollx[1]));
- state->save_item(NAME(state->m_scrolly[0]));
- state->save_item(NAME(state->m_scrolly[1]));
- state->save_item(NAME(state->m_gfxbank[0]));
- state->save_item(NAME(state->m_gfxbank[1]));
-}
-
-
-VIDEO_START( fromanc4 )
-{
- fromanc2_state *state = machine.driver_data<fromanc2_state>();
-
- state->m_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[0][3] = 0;
- state->m_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[1][3] = 0;
-
- state->m_tilemap[0][1]->set_transparent_pen(0x000);
- state->m_tilemap[0][2]->set_transparent_pen(0x000);
- state->m_tilemap[1][1]->set_transparent_pen(0x000);
- state->m_tilemap[1][2]->set_transparent_pen(0x000);
-
- state->m_videoram[0][0] = auto_alloc_array(machine, UINT16, (256 * 64));
- state->m_videoram[0][1] = auto_alloc_array(machine, UINT16, (256 * 64));
- state->m_videoram[0][2] = auto_alloc_array(machine, UINT16, (256 * 64));
- state->m_videoram[1][0] = auto_alloc_array(machine, UINT16, (256 * 64));
- state->m_videoram[1][1] = auto_alloc_array(machine, UINT16, (256 * 64));
- state->m_videoram[1][2] = auto_alloc_array(machine, UINT16, (256 * 64));
-
- state->m_paletteram[0] = auto_alloc_array(machine, UINT16, 0x800);
- state->m_paletteram[1] = auto_alloc_array(machine, UINT16, 0x800);
-
- state->save_pointer(NAME(state->m_videoram[0][0]), (256 * 64));
- state->save_pointer(NAME(state->m_videoram[0][1]), (256 * 64));
- state->save_pointer(NAME(state->m_videoram[0][2]), (256 * 64));
- state->save_pointer(NAME(state->m_videoram[1][0]), (256 * 64));
- state->save_pointer(NAME(state->m_videoram[1][1]), (256 * 64));
- state->save_pointer(NAME(state->m_videoram[1][2]), (256 * 64));
- state->save_pointer(NAME(state->m_paletteram[0]), 0x800);
- state->save_pointer(NAME(state->m_paletteram[1]), 0x800);
- state->save_item(NAME(state->m_scrollx[0]));
- state->save_item(NAME(state->m_scrollx[1]));
- state->save_item(NAME(state->m_scrolly[0]));
- state->save_item(NAME(state->m_scrolly[1]));
- state->save_item(NAME(state->m_gfxbank[0]));
- state->save_item(NAME(state->m_gfxbank[1]));
+VIDEO_START_MEMBER(fromanc2_state,fromanc2)
+{
+
+ m_tilemap[0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[0][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[0][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l3_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[1][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[1][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l3_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+
+ m_tilemap[0][1]->set_transparent_pen(0x000);
+ m_tilemap[0][2]->set_transparent_pen(0x000);
+ m_tilemap[0][3]->set_transparent_pen(0x000);
+ m_tilemap[1][1]->set_transparent_pen(0x000);
+ m_tilemap[1][2]->set_transparent_pen(0x000);
+ m_tilemap[1][3]->set_transparent_pen(0x000);
+
+ m_videoram[0][0] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[0][1] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[0][2] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[0][3] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[1][0] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[1][1] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[1][2] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[1][3] = auto_alloc_array(machine(), UINT16, (64 * 64));
+
+ m_paletteram[0] = auto_alloc_array(machine(), UINT16, 0x800);
+ m_paletteram[1] = auto_alloc_array(machine(), UINT16, 0x800);
+
+ save_pointer(NAME(m_videoram[0][0]), (64 * 64));
+ save_pointer(NAME(m_videoram[0][1]), (64 * 64));
+ save_pointer(NAME(m_videoram[0][2]), (64 * 64));
+ save_pointer(NAME(m_videoram[0][3]), (64 * 64));
+ save_pointer(NAME(m_videoram[1][0]), (64 * 64));
+ save_pointer(NAME(m_videoram[1][1]), (64 * 64));
+ save_pointer(NAME(m_videoram[1][2]), (64 * 64));
+ save_pointer(NAME(m_videoram[1][3]), (64 * 64));
+ save_pointer(NAME(m_paletteram[0]), 0x800);
+ save_pointer(NAME(m_paletteram[1]), 0x800);
+ save_item(NAME(m_scrollx[0]));
+ save_item(NAME(m_scrollx[1]));
+ save_item(NAME(m_scrolly[0]));
+ save_item(NAME(m_scrolly[1]));
+ save_item(NAME(m_gfxbank[0]));
+ save_item(NAME(m_gfxbank[1]));
+}
+
+VIDEO_START_MEMBER(fromanc2_state,fromancr)
+{
+
+ m_tilemap[0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[0][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[0][3] = 0;
+ m_tilemap[1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[1][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap[1][3] = 0;
+
+ m_tilemap[0][1]->set_transparent_pen(0x0ff);
+ m_tilemap[0][2]->set_transparent_pen(0x0ff);
+ m_tilemap[1][1]->set_transparent_pen(0x0ff);
+ m_tilemap[1][2]->set_transparent_pen(0x0ff);
+
+ m_videoram[0][0] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[0][1] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[0][2] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[1][0] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[1][1] = auto_alloc_array(machine(), UINT16, (64 * 64));
+ m_videoram[1][2] = auto_alloc_array(machine(), UINT16, (64 * 64));
+
+ m_paletteram[0] = auto_alloc_array(machine(), UINT16, 0x800);
+ m_paletteram[1] = auto_alloc_array(machine(), UINT16, 0x800);
+
+ save_pointer(NAME(m_videoram[0][0]), (64 * 64));
+ save_pointer(NAME(m_videoram[0][1]), (64 * 64));
+ save_pointer(NAME(m_videoram[0][2]), (64 * 64));
+ save_pointer(NAME(m_videoram[1][0]), (64 * 64));
+ save_pointer(NAME(m_videoram[1][1]), (64 * 64));
+ save_pointer(NAME(m_videoram[1][2]), (64 * 64));
+ save_pointer(NAME(m_paletteram[0]), 0x800);
+ save_pointer(NAME(m_paletteram[1]), 0x800);
+ save_item(NAME(m_scrollx[0]));
+ save_item(NAME(m_scrollx[1]));
+ save_item(NAME(m_scrolly[0]));
+ save_item(NAME(m_scrolly[1]));
+ save_item(NAME(m_gfxbank[0]));
+ save_item(NAME(m_gfxbank[1]));
+}
+
+
+VIDEO_START_MEMBER(fromanc2_state,fromanc4)
+{
+
+ m_tilemap[0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ m_tilemap[0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ m_tilemap[0][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ m_tilemap[0][3] = 0;
+ m_tilemap[1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ m_tilemap[1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ m_tilemap[1][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ m_tilemap[1][3] = 0;
+
+ m_tilemap[0][1]->set_transparent_pen(0x000);
+ m_tilemap[0][2]->set_transparent_pen(0x000);
+ m_tilemap[1][1]->set_transparent_pen(0x000);
+ m_tilemap[1][2]->set_transparent_pen(0x000);
+
+ m_videoram[0][0] = auto_alloc_array(machine(), UINT16, (256 * 64));
+ m_videoram[0][1] = auto_alloc_array(machine(), UINT16, (256 * 64));
+ m_videoram[0][2] = auto_alloc_array(machine(), UINT16, (256 * 64));
+ m_videoram[1][0] = auto_alloc_array(machine(), UINT16, (256 * 64));
+ m_videoram[1][1] = auto_alloc_array(machine(), UINT16, (256 * 64));
+ m_videoram[1][2] = auto_alloc_array(machine(), UINT16, (256 * 64));
+
+ m_paletteram[0] = auto_alloc_array(machine(), UINT16, 0x800);
+ m_paletteram[1] = auto_alloc_array(machine(), UINT16, 0x800);
+
+ save_pointer(NAME(m_videoram[0][0]), (256 * 64));
+ save_pointer(NAME(m_videoram[0][1]), (256 * 64));
+ save_pointer(NAME(m_videoram[0][2]), (256 * 64));
+ save_pointer(NAME(m_videoram[1][0]), (256 * 64));
+ save_pointer(NAME(m_videoram[1][1]), (256 * 64));
+ save_pointer(NAME(m_videoram[1][2]), (256 * 64));
+ save_pointer(NAME(m_paletteram[0]), 0x800);
+ save_pointer(NAME(m_paletteram[1]), 0x800);
+ save_item(NAME(m_scrollx[0]));
+ save_item(NAME(m_scrollx[1]));
+ save_item(NAME(m_scrolly[0]));
+ save_item(NAME(m_scrolly[1]));
+ save_item(NAME(m_gfxbank[0]));
+ save_item(NAME(m_gfxbank[1]));
}
/******************************************************************************
diff --git a/src/mame/video/fromance.c b/src/mame/video/fromance.c
index e29dd12c3c9..d69505c924b 100644
--- a/src/mame/video/fromance.c
+++ b/src/mame/video/fromance.c
@@ -89,43 +89,39 @@ static void init_common( running_machine &machine )
state->save_pointer(NAME(state->m_local_paletteram), 0x800 * 2);
}
-VIDEO_START( fromance )
+VIDEO_START_MEMBER(fromance_state,fromance)
{
- fromance_state *state = machine.driver_data<fromance_state>();
/* allocate tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_fromance_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_fromance_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_fromance_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_fromance_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
- init_common(machine);
+ init_common(machine());
}
-VIDEO_START( nekkyoku )
+VIDEO_START_MEMBER(fromance_state,nekkyoku)
{
- fromance_state *state = machine.driver_data<fromance_state>();
/* allocate tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_nekkyoku_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_nekkyoku_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_nekkyoku_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_nekkyoku_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
- init_common(machine);
+ init_common(machine());
}
-VIDEO_START( pipedrm )
+VIDEO_START_MEMBER(fromance_state,pipedrm)
{
- fromance_state *state = machine.driver_data<fromance_state>();
- VIDEO_START_CALL(fromance);
- state->m_scrolly_ofs = 0x00;
+ VIDEO_START_CALL_MEMBER(fromance);
+ m_scrolly_ofs = 0x00;
}
-VIDEO_START( hatris )
+VIDEO_START_MEMBER(fromance_state,hatris)
{
- fromance_state *state = machine.driver_data<fromance_state>();
- VIDEO_START_CALL(fromance);
- state->m_scrollx_ofs = 0xB9;
- state->m_scrolly_ofs = 0x00;
+ VIDEO_START_CALL_MEMBER(fromance);
+ m_scrollx_ofs = 0xB9;
+ m_scrolly_ofs = 0x00;
}
/*************************************
diff --git a/src/mame/video/funkybee.c b/src/mame/video/funkybee.c
index 41d967f807e..d21cb7c2635 100644
--- a/src/mame/video/funkybee.c
+++ b/src/mame/video/funkybee.c
@@ -9,9 +9,9 @@
#include "emu.h"
#include "includes/funkybee.h"
-PALETTE_INIT( funkybee )
+void funkybee_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* first, the character/sprite palette */
@@ -35,7 +35,7 @@ PALETTE_INIT( funkybee )
bit2 = (*color_prom >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -85,10 +85,9 @@ TILEMAP_MAPPER_MEMBER(funkybee_state::funkybee_tilemap_scan)
return 256 * row + col;
}
-VIDEO_START( funkybee )
+void funkybee_state::video_start()
{
- funkybee_state *state = machine.driver_data<funkybee_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(funkybee_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(funkybee_state::funkybee_tilemap_scan),state), 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(funkybee_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(funkybee_state::funkybee_tilemap_scan),this), 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/funworld.c b/src/mame/video/funworld.c
index 3187bf16978..56f46a712cb 100644
--- a/src/mame/video/funworld.c
+++ b/src/mame/video/funworld.c
@@ -105,9 +105,9 @@
#include "includes/funworld.h"
-PALETTE_INIT(funworld)
+PALETTE_INIT_MEMBER(funworld_state,funworld)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const int resistances_rb[3] = { 1000, 470, 220 };
static const int resistances_g [2] = { 470, 220 };
@@ -119,7 +119,7 @@ PALETTE_INIT(funworld)
2, resistances_g, weights_g, 100, 0);
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -138,7 +138,7 @@ PALETTE_INIT(funworld)
bit1 = (color_prom[i] >> 7) & 0x01;
g = combine_2_weights(weights_g, bit0, bit1);
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -180,16 +180,14 @@ TILE_GET_INFO_MEMBER(funworld_state::get_bg_tile_info)
}
-VIDEO_START(funworld)
+VIDEO_START_MEMBER(funworld_state,funworld)
{
- funworld_state *state = machine.driver_data<funworld_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(funworld_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 96, 29);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(funworld_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 96, 29);
}
-VIDEO_START(magicrd2)
+VIDEO_START_MEMBER(funworld_state,magicrd2)
{
- funworld_state *state = machine.driver_data<funworld_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(funworld_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 112, 34);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(funworld_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 112, 34);
}
diff --git a/src/mame/video/funybubl.c b/src/mame/video/funybubl.c
index 4c548561f7b..6137971fb1f 100644
--- a/src/mame/video/funybubl.c
+++ b/src/mame/video/funybubl.c
@@ -23,7 +23,7 @@ WRITE8_MEMBER(funybubl_state::funybubl_paldatawrite)
}
-VIDEO_START(funybubl)
+void funybubl_state::video_start()
{
}
diff --git a/src/mame/video/fuukifg2.c b/src/mame/video/fuukifg2.c
index 95e8a69d80f..88a036e9e97 100644
--- a/src/mame/video/fuukifg2.c
+++ b/src/mame/video/fuukifg2.c
@@ -80,32 +80,31 @@ WRITE16_MEMBER(fuuki16_state::fuuki16_vram_3_w){ fuuki16_vram_w(&space, offset,
/* Not used atm, seems to be fine without clearing pens? */
#if 0
-PALETTE_INIT( fuuki16 )
+PALETTE_INIT_MEMBER(fuuki16_state,fuuki16)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int pen;
/* The game does not initialise the palette at startup. It should
be totally black */
- for (pen = 0; pen < machine.total_colors(); pen++)
- palette_set_color(machine,pen,MAKE_RGB(0,0,0));
+ for (pen = 0; pen < machine().total_colors(); pen++)
+ palette_set_color(machine(),pen,MAKE_RGB(0,0,0));
}
#endif
-VIDEO_START( fuuki16 )
+void fuuki16_state::video_start()
{
- fuuki16_state *state = machine.driver_data<fuuki16_state>();
- state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_2),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap[3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_3),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap[0]->set_transparent_pen(0x0f); // 4 bits
- state->m_tilemap[1]->set_transparent_pen(0xff); // 8 bits
- state->m_tilemap[2]->set_transparent_pen(0x0f); // 4 bits
- state->m_tilemap[3]->set_transparent_pen(0x0f); // 4 bits
+ m_tilemap[0]->set_transparent_pen(0x0f); // 4 bits
+ m_tilemap[1]->set_transparent_pen(0xff); // 8 bits
+ m_tilemap[2]->set_transparent_pen(0x0f); // 4 bits
+ m_tilemap[3]->set_transparent_pen(0x0f); // 4 bits
- machine.gfx[2]->set_granularity(16); /* 256 colour tiles with palette selectable on 16 colour boundaries */
+ machine().gfx[2]->set_granularity(16); /* 256 colour tiles with palette selectable on 16 colour boundaries */
}
diff --git a/src/mame/video/fuukifg3.c b/src/mame/video/fuukifg3.c
index 7cc290bf039..49502c2282a 100644
--- a/src/mame/video/fuukifg3.c
+++ b/src/mame/video/fuukifg3.c
@@ -91,27 +91,26 @@ WRITE32_MEMBER(fuuki32_state::fuuki32_vram_3_w){ fuuki32_vram_w(&space, offset,
***************************************************************************/
-VIDEO_START( fuuki32 )
+void fuuki32_state::video_start()
{
- fuuki32_state *state = machine.driver_data<fuuki32_state>();
- state->m_buf_spriteram = auto_alloc_array(machine, UINT32, state->m_spriteram.bytes() / 4);
- state->m_buf_spriteram2 = auto_alloc_array(machine, UINT32, state->m_spriteram.bytes() / 4);
+ m_buf_spriteram = auto_alloc_array(machine(), UINT32, m_spriteram.bytes() / 4);
+ m_buf_spriteram2 = auto_alloc_array(machine(), UINT32, m_spriteram.bytes() / 4);
- state->save_pointer(NAME(state->m_buf_spriteram), state->m_spriteram.bytes() / 4);
- state->save_pointer(NAME(state->m_buf_spriteram2), state->m_spriteram.bytes() / 4);
+ save_pointer(NAME(m_buf_spriteram), m_spriteram.bytes() / 4);
+ save_pointer(NAME(m_buf_spriteram2), m_spriteram.bytes() / 4);
- state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_2),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap[3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_3),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap[0]->set_transparent_pen(0xff); // 8 bits
- state->m_tilemap[1]->set_transparent_pen(0xff); // 8 bits
- state->m_tilemap[2]->set_transparent_pen(0x0f); // 4 bits
- state->m_tilemap[3]->set_transparent_pen(0x0f); // 4 bits
+ m_tilemap[0]->set_transparent_pen(0xff); // 8 bits
+ m_tilemap[1]->set_transparent_pen(0xff); // 8 bits
+ m_tilemap[2]->set_transparent_pen(0x0f); // 4 bits
+ m_tilemap[3]->set_transparent_pen(0x0f); // 4 bits
- //machine.gfx[1]->set_granularity(16); /* 256 colour tiles with palette selectable on 16 colour boundaries */
- //machine.gfx[2]->set_granularity(16);
+ //machine().gfx[1]->set_granularity(16); /* 256 colour tiles with palette selectable on 16 colour boundaries */
+ //machine().gfx[2]->set_granularity(16);
}
diff --git a/src/mame/video/gaelco.c b/src/mame/video/gaelco.c
index 24c136bf71d..8c23c871ae8 100644
--- a/src/mame/video/gaelco.c
+++ b/src/mame/video/gaelco.c
@@ -72,24 +72,22 @@ WRITE16_MEMBER(gaelco_state::gaelco_vram_w)
***************************************************************************/
-VIDEO_START( bigkarnk )
+VIDEO_START_MEMBER(gaelco_state,bigkarnk)
{
- gaelco_state *state = machine.driver_data<gaelco_state>();
- state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen0),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen0),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap[0]->set_transmask(0, 0xff01, 0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
- state->m_tilemap[1]->set_transmask(0, 0xff01, 0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
+ m_tilemap[0]->set_transmask(0, 0xff01, 0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
+ m_tilemap[1]->set_transmask(0, 0xff01, 0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
}
-VIDEO_START( maniacsq )
+VIDEO_START_MEMBER(gaelco_state,maniacsq)
{
- gaelco_state *state = machine.driver_data<gaelco_state>();
- state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen0),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen0),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap[0]->set_transparent_pen(0);
- state->m_tilemap[1]->set_transparent_pen(0);
+ m_tilemap[0]->set_transparent_pen(0);
+ m_tilemap[1]->set_transparent_pen(0);
}
diff --git a/src/mame/video/gaelco2.c b/src/mame/video/gaelco2.c
index c5f0f3940bf..f1633fa70ce 100644
--- a/src/mame/video/gaelco2.c
+++ b/src/mame/video/gaelco2.c
@@ -256,46 +256,44 @@ WRITE16_MEMBER(gaelco2_state::gaelco2_palette_w)
***************************************************************************/
-VIDEO_START( gaelco2 )
+VIDEO_START_MEMBER(gaelco2_state,gaelco2)
{
- gaelco2_state *state = machine.driver_data<gaelco2_state>();
- state->m_videoram = state->m_spriteram->live();
+ m_videoram = m_spriteram->live();
/* create tilemaps */
- state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen0),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen1),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pant[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen0),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pant[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen1),this),TILEMAP_SCAN_ROWS,16,16,64,32);
/* set tilemap properties */
- state->m_pant[0]->set_transparent_pen(0);
- state->m_pant[1]->set_transparent_pen(0);
+ m_pant[0]->set_transparent_pen(0);
+ m_pant[1]->set_transparent_pen(0);
- state->m_pant[0]->set_scroll_rows(512);
- state->m_pant[0]->set_scroll_cols(1);
- state->m_pant[1]->set_scroll_rows(512);
- state->m_pant[1]->set_scroll_cols(1);
+ m_pant[0]->set_scroll_rows(512);
+ m_pant[0]->set_scroll_cols(1);
+ m_pant[1]->set_scroll_rows(512);
+ m_pant[1]->set_scroll_cols(1);
- state->m_dual_monitor = 0;
+ m_dual_monitor = 0;
}
-VIDEO_START( gaelco2_dual )
+VIDEO_START_MEMBER(gaelco2_state,gaelco2_dual)
{
- gaelco2_state *state = machine.driver_data<gaelco2_state>();
- state->m_videoram = state->m_spriteram->live();
+ m_videoram = m_spriteram->live();
/* create tilemaps */
- state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen0_dual),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen1_dual),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pant[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen0_dual),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pant[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen1_dual),this),TILEMAP_SCAN_ROWS,16,16,64,32);
/* set tilemap properties */
- state->m_pant[0]->set_transparent_pen(0);
- state->m_pant[1]->set_transparent_pen(0);
+ m_pant[0]->set_transparent_pen(0);
+ m_pant[1]->set_transparent_pen(0);
- state->m_pant[0]->set_scroll_rows(512);
- state->m_pant[0]->set_scroll_cols(1);
- state->m_pant[1]->set_scroll_rows(512);
- state->m_pant[1]->set_scroll_cols(1);
+ m_pant[0]->set_scroll_rows(512);
+ m_pant[0]->set_scroll_cols(1);
+ m_pant[1]->set_scroll_rows(512);
+ m_pant[1]->set_scroll_cols(1);
- state->m_dual_monitor = 1;
+ m_dual_monitor = 1;
}
/***************************************************************************
diff --git a/src/mame/video/gaelco3d.c b/src/mame/video/gaelco3d.c
index 8de62e9c6a7..e812a682171 100644
--- a/src/mame/video/gaelco3d.c
+++ b/src/mame/video/gaelco3d.c
@@ -65,22 +65,21 @@ gaelco3d_renderer::gaelco3d_renderer(gaelco3d_state &state)
*
*************************************/
-VIDEO_START( gaelco3d )
+void gaelco3d_state::video_start()
{
- gaelco3d_state *state = machine.driver_data<gaelco3d_state>();
- state->m_poly = auto_alloc(machine, gaelco3d_renderer(*state));
+ m_poly = auto_alloc(machine(), gaelco3d_renderer(*this));
- state->m_palette = auto_alloc_array(machine, rgb_t, 32768);
- state->m_polydata_buffer = auto_alloc_array(machine, UINT32, MAX_POLYDATA);
+ m_palette = auto_alloc_array(machine(), rgb_t, 32768);
+ m_polydata_buffer = auto_alloc_array(machine(), UINT32, MAX_POLYDATA);
/* save states */
- state_save_register_global_pointer(machine, state->m_palette, 32768);
- state_save_register_global_pointer(machine, state->m_polydata_buffer, MAX_POLYDATA);
- state_save_register_global(machine, state->m_polydata_count);
+ state_save_register_global_pointer(machine(), m_palette, 32768);
+ state_save_register_global_pointer(machine(), m_polydata_buffer, MAX_POLYDATA);
+ state_save_register_global(machine(), m_polydata_count);
- state_save_register_global(machine, state->m_lastscan);
+ state_save_register_global(machine(), m_lastscan);
}
diff --git a/src/mame/video/gaiden.c b/src/mame/video/gaiden.c
index 89e3b0996a1..56694c83130 100644
--- a/src/mame/video/gaiden.c
+++ b/src/mame/video/gaiden.c
@@ -68,91 +68,87 @@ TILE_GET_INFO_MEMBER(gaiden_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( gaiden )
+VIDEO_START_MEMBER(gaiden_state,gaiden)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
/* set up tile layers */
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_bg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_fg);
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info_raiga),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info_raiga),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_background->set_transparent_pen(0);
- state->m_foreground->set_transparent_pen(0);
- state->m_text_layer->set_transparent_pen(0);
+ m_background->set_transparent_pen(0);
+ m_foreground->set_transparent_pen(0);
+ m_text_layer->set_transparent_pen(0);
- state->m_background->set_scrolldy(0, 33);
- state->m_foreground->set_scrolldy(0, 33);
- state->m_text_layer->set_scrolldy(0, 31);
+ m_background->set_scrolldy(0, 33);
+ m_foreground->set_scrolldy(0, 33);
+ m_text_layer->set_scrolldy(0, 31);
- state->m_background->set_scrolldx(0, -1);
- state->m_foreground->set_scrolldx(0, -1);
- state->m_text_layer->set_scrolldx(0, -1);
+ m_background->set_scrolldx(0, -1);
+ m_foreground->set_scrolldx(0, -1);
+ m_text_layer->set_scrolldx(0, -1);
/* set up sprites */
- machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_sprite_bitmap);
}
-VIDEO_START( mastninj )
+VIDEO_START_MEMBER(gaiden_state,mastninj)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
/* set up tile layers */
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_bg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_fg);
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info_raiga),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info_raiga),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
-// state->m_background->set_transparent_pen(15);
- state->m_foreground->set_transparent_pen(15);
- state->m_text_layer->set_transparent_pen(15);
+// m_background->set_transparent_pen(15);
+ m_foreground->set_transparent_pen(15);
+ m_text_layer->set_transparent_pen(15);
/* set up sprites */
- machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_sprite_bitmap);
- state->m_background->set_scrolldx(-248, 248);
- state->m_foreground->set_scrolldx(-252, 252);
+ m_background->set_scrolldx(-248, 248);
+ m_foreground->set_scrolldx(-252, 252);
}
-VIDEO_START( raiga )
+VIDEO_START_MEMBER(gaiden_state,raiga)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
/* set up tile layers */
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_bg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_fg);
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info_raiga),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info_raiga),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_background->set_transparent_pen(0);
- state->m_foreground->set_transparent_pen(0);
- state->m_text_layer->set_transparent_pen(0);
+ m_background->set_transparent_pen(0);
+ m_foreground->set_transparent_pen(0);
+ m_text_layer->set_transparent_pen(0);
/* set up sprites */
- machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_sprite_bitmap);
}
-VIDEO_START( drgnbowl )
+VIDEO_START_MEMBER(gaiden_state,drgnbowl)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
/* set up tile layers */
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_foreground->set_transparent_pen(15);
- state->m_text_layer->set_transparent_pen(15);
+ m_foreground->set_transparent_pen(15);
+ m_text_layer->set_transparent_pen(15);
- state->m_background->set_scrolldx(-248, 248);
- state->m_foreground->set_scrolldx(-252, 252);
+ m_background->set_scrolldx(-248, 248);
+ m_foreground->set_scrolldx(-252, 252);
}
diff --git a/src/mame/video/galaga.c b/src/mame/video/galaga.c
index 354ce8157f7..93887eee84e 100644
--- a/src/mame/video/galaga.c
+++ b/src/mame/video/galaga.c
@@ -324,12 +324,12 @@ const struct star star_seed_tab[252]=
***************************************************************************/
-PALETTE_INIT( galaga )
+PALETTE_INIT_MEMBER(galaga_state,galaga)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- machine.colortable = colortable_alloc(machine, 32+64);
+ machine().colortable = colortable_alloc(machine(), 32+64);
/* core palette */
for (i = 0;i < 32;i++)
@@ -349,7 +349,7 @@ PALETTE_INIT( galaga )
bit2 = ((*color_prom) >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable,i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,i,MAKE_RGB(r,g,b));
color_prom++;
}
@@ -366,20 +366,20 @@ PALETTE_INIT( galaga )
bits = (i >> 4) & 0x03;
b = map[bits];
- colortable_palette_set_color(machine.colortable,32 + i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,32 + i,MAKE_RGB(r,g,b));
}
/* characters */
for (i = 0;i < 64*4;i++)
- colortable_entry_set_value(machine.colortable, i, (*(color_prom++) & 0x0f) + 0x10); /* chars */
+ colortable_entry_set_value(machine().colortable, i, (*(color_prom++) & 0x0f) + 0x10); /* chars */
/* sprites */
for (i = 0;i < 64*4;i++)
- colortable_entry_set_value(machine.colortable, 64*4+i, (*(color_prom++) & 0x0f));
+ colortable_entry_set_value(machine().colortable, 64*4+i, (*(color_prom++) & 0x0f));
/* now the stars */
for (i = 0;i < 64;i++)
- colortable_entry_set_value(machine.colortable, 64*4+64*4+i, 32 + i);
+ colortable_entry_set_value(machine().colortable, 64*4+64*4+i, 32 + i);
}
@@ -430,17 +430,16 @@ TILE_GET_INFO_MEMBER(galaga_state::get_tile_info)
***************************************************************************/
-VIDEO_START( galaga )
+VIDEO_START_MEMBER(galaga_state,galaga)
{
- galaga_state *state = machine.driver_data<galaga_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaga_state::get_tile_info),state),tilemap_mapper_delegate(FUNC(galaga_state::tilemap_scan),state),8,8,36,28);
- colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0x1f);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaga_state::get_tile_info),this),tilemap_mapper_delegate(FUNC(galaga_state::tilemap_scan),this),8,8,36,28);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, machine().gfx[0], 0x1f);
- state->m_galaga_gfxbank = 0;
+ m_galaga_gfxbank = 0;
- state->save_item(NAME(state->m_stars_scrollx));
- state->save_item(NAME(state->m_stars_scrolly));
- state->save_item(NAME(state->m_galaga_gfxbank));
+ save_item(NAME(m_stars_scrollx));
+ save_item(NAME(m_stars_scrolly));
+ save_item(NAME(m_galaga_gfxbank));
}
diff --git a/src/mame/video/galastrm.c b/src/mame/video/galastrm.c
index 01c3c14bd21..c8256b1bdef 100644
--- a/src/mame/video/galastrm.c
+++ b/src/mame/video/galastrm.c
@@ -28,16 +28,15 @@ static void galastrm_exit(running_machine &machine)
poly_free(state->m_poly);
}
-VIDEO_START( galastrm )
+void galastrm_state::video_start()
{
- galastrm_state *state = machine.driver_data<galastrm_state>();
- state->m_spritelist = auto_alloc_array(machine, struct tempsprite, 0x4000);
+ m_spritelist = auto_alloc_array(machine(), struct tempsprite, 0x4000);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmaps);
- machine.primary_screen->register_screen_bitmap(state->m_polybitmap);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmaps);
+ machine().primary_screen->register_screen_bitmap(m_polybitmap);
- state->m_poly = poly_alloc(machine, 16, sizeof(poly_extra_data), POLYFLAG_ALLOW_QUADS);
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(galastrm_exit), &machine));
+ m_poly = poly_alloc(machine(), 16, sizeof(poly_extra_data), POLYFLAG_ALLOW_QUADS);
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(galastrm_exit), &machine()));
}
/************************************************************
diff --git a/src/mame/video/galaxia.c b/src/mame/video/galaxia.c
index 993f999801b..c5aaa967670 100644
--- a/src/mame/video/galaxia.c
+++ b/src/mame/video/galaxia.c
@@ -18,7 +18,7 @@
// Colors are 1bpp, but how they are generated is a mystery
// there's no color prom on the pcb, nor palette ram
-PALETTE_INIT( galaxia )
+PALETTE_INIT_MEMBER(galaxia_state,galaxia)
{
// estimated with video/photo references
const int lut_clr[0x18] = {
@@ -33,14 +33,14 @@ PALETTE_INIT( galaxia )
};
for (int i = 0; i < 0x18; i++)
- palette_set_color_rgb(machine, i, pal1bit(lut_clr[i] >> 0), pal1bit(lut_clr[i] >> 1), pal1bit(lut_clr[i] >> 2));
+ palette_set_color_rgb(machine(), i, pal1bit(lut_clr[i] >> 0), pal1bit(lut_clr[i] >> 1), pal1bit(lut_clr[i] >> 2));
// stars/bullets
- palette_set_color_rgb(machine, STAR_PEN, pal1bit(1), pal1bit(1), pal1bit(1));
- palette_set_color_rgb(machine, BULLET_PEN, pal1bit(1), pal1bit(1), pal1bit(0));
+ palette_set_color_rgb(machine(), STAR_PEN, pal1bit(1), pal1bit(1), pal1bit(1));
+ palette_set_color_rgb(machine(), BULLET_PEN, pal1bit(1), pal1bit(1), pal1bit(0));
}
-PALETTE_INIT( astrowar )
+PALETTE_INIT_MEMBER(galaxia_state,astrowar)
{
// no reference material available(?), except for Data East astrof
const int lut_clr[8] = { 7, 3, 5, 1, 4, 2, 6, 7 };
@@ -48,16 +48,16 @@ PALETTE_INIT( astrowar )
for (int i = 0; i < 8; i++)
{
// background
- palette_set_color_rgb(machine, i*2, 0, 0, 0);
- palette_set_color_rgb(machine, i*2 + 1, pal1bit(lut_clr[i] >> 0), pal1bit(lut_clr[i] >> 1), pal1bit(lut_clr[i] >> 2));
+ palette_set_color_rgb(machine(), i*2, 0, 0, 0);
+ palette_set_color_rgb(machine(), i*2 + 1, pal1bit(lut_clr[i] >> 0), pal1bit(lut_clr[i] >> 1), pal1bit(lut_clr[i] >> 2));
// sprites
- palette_set_color_rgb(machine, i | SPRITE_PEN_BASE, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
+ palette_set_color_rgb(machine(), i | SPRITE_PEN_BASE, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
}
// stars/bullets
- palette_set_color_rgb(machine, STAR_PEN, pal1bit(1), pal1bit(1), pal1bit(1));
- palette_set_color_rgb(machine, BULLET_PEN, pal1bit(1), pal1bit(1), pal1bit(0));
+ palette_set_color_rgb(machine(), STAR_PEN, pal1bit(1), pal1bit(1), pal1bit(1));
+ palette_set_color_rgb(machine(), BULLET_PEN, pal1bit(1), pal1bit(1), pal1bit(0));
}
TILE_GET_INFO_MEMBER(galaxia_state::get_galaxia_bg_tile_info)
@@ -82,28 +82,26 @@ static void init_common( running_machine &machine )
cvs_init_stars(machine);
}
-VIDEO_START( galaxia )
+VIDEO_START_MEMBER(galaxia_state,galaxia)
{
- galaxia_state *state = machine.driver_data<galaxia_state>();
- init_common(machine);
+ init_common(machine());
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxia_state::get_galaxia_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(8);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxia_state::get_galaxia_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(8);
}
-VIDEO_START( astrowar )
+VIDEO_START_MEMBER(galaxia_state,astrowar)
{
- galaxia_state *state = machine.driver_data<galaxia_state>();
- init_common(machine);
+ init_common(machine());
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxia_state::get_astrowar_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(8);
- state->m_bg_tilemap->set_scrolldx(8, 8);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxia_state::get_astrowar_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(8);
+ m_bg_tilemap->set_scrolldx(8, 8);
- machine.primary_screen->register_screen_bitmap(state->m_temp_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_temp_bitmap);
}
diff --git a/src/mame/video/galaxian.c b/src/mame/video/galaxian.c
index 2b31084249c..c429eac1e3d 100644
--- a/src/mame/video/galaxian.c
+++ b/src/mame/video/galaxian.c
@@ -253,10 +253,9 @@ static void bullets_draw(running_machine &machine, bitmap_rgb32 &bitmap, const r
*
*************************************/
-PALETTE_INIT( galaxian )
+void galaxian_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- galaxian_state *state = machine.driver_data<galaxian_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int rgb_resistances[3] = { 1000, 470, 220 };
double rweights[3], gweights[3], bweights[2];
int i, minval, midval, maxval, len;
@@ -294,7 +293,7 @@ PALETTE_INIT( galaxian )
2, &rgb_resistances[1], bweights, 470, 0);
/* decode the palette first */
- len = machine.root_device().memregion("proms")->bytes();
+ len = machine().root_device().memregion("proms")->bytes();
for (i = 0; i < len; i++)
{
UINT8 bit0, bit1, bit2, r, g, b;
@@ -316,7 +315,7 @@ PALETTE_INIT( galaxian )
bit1 = BIT(color_prom[i],7);
b = combine_2_weights(bweights, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
/*
@@ -365,22 +364,21 @@ PALETTE_INIT( galaxian )
b = starmap[(bit1 << 1) | bit0];
/* set the RGB color */
- state->m_star_color[i] = MAKE_RGB(r, g, b);
+ m_star_color[i] = MAKE_RGB(r, g, b);
}
/* default bullet colors are white for the first 7, and yellow for the last one */
for (i = 0; i < 7; i++)
- state->m_bullet_color[i] = MAKE_RGB(0xff,0xff,0xff);
- state->m_bullet_color[7] = MAKE_RGB(0xff,0xff,0x00);
+ m_bullet_color[i] = MAKE_RGB(0xff,0xff,0xff);
+ m_bullet_color[7] = MAKE_RGB(0xff,0xff,0x00);
}
-PALETTE_INIT( moonwar )
+PALETTE_INIT_MEMBER(galaxian_state,moonwar)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- PALETTE_INIT_CALL(galaxian);
+ galaxian_state::palette_init();
/* wire mod to connect the bullet blue output to the 220 ohm resistor */
- state->m_bullet_color[7] = MAKE_RGB(0xef,0xef,0x97);
+ m_bullet_color[7] = MAKE_RGB(0xef,0xef,0x97);
}
/*************************************
@@ -389,41 +387,40 @@ PALETTE_INIT( moonwar )
*
*************************************/
-VIDEO_START( galaxian )
+void galaxian_state::video_start()
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
/* create a tilemap for the background */
- if (!state->m_sfx_tilemap)
+ if (!m_sfx_tilemap)
{
/* normal galaxian hardware is row-based and individually scrolling columns */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, GALAXIAN_XSCALE*8,8, 32,32);
- state->m_bg_tilemap->set_scroll_cols(32);
- state->m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
- state->m_bg_tilemap->set_scrolldy(0, 8);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),this), TILEMAP_SCAN_ROWS, GALAXIAN_XSCALE*8,8, 32,32);
+ m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
+ m_bg_tilemap->set_scrolldy(0, 8);
}
else
{
/* sfx hardware is column-based and individually scrolling rows */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),state), TILEMAP_SCAN_COLS, GALAXIAN_XSCALE*8,8, 32,32);
- state->m_bg_tilemap->set_scroll_rows(32);
- state->m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
- state->m_bg_tilemap->set_scrolldy(0, 8);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),this), TILEMAP_SCAN_COLS, GALAXIAN_XSCALE*8,8, 32,32);
+ m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
+ m_bg_tilemap->set_scrolldy(0, 8);
}
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
/* initialize globals */
- state->m_flipscreen_x = 0;
- state->m_flipscreen_y = 0;
- state->m_background_enable = 0;
- state->m_background_blue = 0;
- state->m_background_red = 0;
- state->m_background_green = 0;
+ m_flipscreen_x = 0;
+ m_flipscreen_y = 0;
+ m_background_enable = 0;
+ m_background_blue = 0;
+ m_background_red = 0;
+ m_background_green = 0;
/* initialize stars */
- stars_init(machine);
+ stars_init(machine());
/* register for save states */
- state_save_register(machine);
+ state_save_register(machine());
}
diff --git a/src/mame/video/galaxold.c b/src/mame/video/galaxold.c
index 451a1b547a3..9ad691ae8e5 100644
--- a/src/mame/video/galaxold.c
+++ b/src/mame/video/galaxold.c
@@ -7,9 +7,12 @@
#include "emu.h"
#include "includes/galaxold.h"
-#define STARS_COLOR_BASE (machine.root_device().memregion("proms")->bytes())
+#define STARS_COLOR_BASE_LEGACY (machine.root_device().memregion("proms")->bytes())
+#define STARS_COLOR_BASE (machine().root_device().memregion("proms")->bytes())
#define BULLETS_COLOR_BASE (STARS_COLOR_BASE + 64)
+#define BULLETS_COLOR_BASE_LEGACY (STARS_COLOR_BASE_LEGACY + 64)
#define BACKGROUND_COLOR_BASE (BULLETS_COLOR_BASE + 2)
+#define BACKGROUND_COLOR_BASE_LEGACY (BULLETS_COLOR_BASE_LEGACY + 2)
@@ -92,14 +95,14 @@ static void dambustr_draw_background(running_machine &machine, bitmap_ind16 &bit
The RGB outputs have a 470 ohm pull-down each.
***************************************************************************/
-PALETTE_INIT( galaxold )
+PALETTE_INIT_MEMBER(galaxold_state,galaxold)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, len;
/* first, the character/sprite palette */
- len = machine.root_device().memregion("proms")->bytes();
+ len = machine().root_device().memregion("proms")->bytes();
for (i = 0;i < len;i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -119,36 +122,36 @@ PALETTE_INIT( galaxold )
bit1 = BIT(*color_prom,7);
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
color_prom++;
}
- galaxold_init_stars(machine, STARS_COLOR_BASE);
+ galaxold_init_stars(machine(), STARS_COLOR_BASE);
/* bullets - yellow and white */
- palette_set_color(machine,BULLETS_COLOR_BASE+0,MAKE_RGB(0xef,0xef,0x00));
- palette_set_color(machine,BULLETS_COLOR_BASE+1,MAKE_RGB(0xef,0xef,0xef));
+ palette_set_color(machine(),BULLETS_COLOR_BASE+0,MAKE_RGB(0xef,0xef,0x00));
+ palette_set_color(machine(),BULLETS_COLOR_BASE+1,MAKE_RGB(0xef,0xef,0xef));
}
-PALETTE_INIT( scrambold )
+PALETTE_INIT_MEMBER(galaxold_state,scrambold)
{
- PALETTE_INIT_CALL(galaxold);
+ PALETTE_INIT_CALL_MEMBER(galaxold);
/* blue background - 390 ohm resistor */
- palette_set_color(machine,BACKGROUND_COLOR_BASE,MAKE_RGB(0,0,0x56));
+ palette_set_color(machine(),BACKGROUND_COLOR_BASE,MAKE_RGB(0,0,0x56));
}
-PALETTE_INIT( stratgyx )
+PALETTE_INIT_MEMBER(galaxold_state,stratgyx)
{
int base = BACKGROUND_COLOR_BASE;
int i;
- PALETTE_INIT_CALL(galaxold);
+ PALETTE_INIT_CALL_MEMBER(galaxold);
/* The background color generator is connected this way:
@@ -163,18 +166,18 @@ PALETTE_INIT( stratgyx )
int g = BIT(i,1) * 0x3c;
int b = BIT(i,2) * 0x47;
- palette_set_color_rgb(machine,base+i,r,g,b);
+ palette_set_color_rgb(machine(),base+i,r,g,b);
}
}
-PALETTE_INIT( rockclim )
+PALETTE_INIT_MEMBER(galaxold_state,rockclim)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, len;
/* first, the character/sprite palette */
- len = machine.root_device().memregion("proms")->bytes();
+ len = machine().root_device().memregion("proms")->bytes();
for (i = 0;i < len;i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -194,7 +197,7 @@ PALETTE_INIT( rockclim )
bit1 = BIT(*color_prom,7);
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
color_prom++;
}
}
@@ -216,9 +219,9 @@ PALETTE_INIT( rockclim )
The RGB outputs have a 470 ohm pull-down each.
***************************************************************************/
-PALETTE_INIT( darkplnt )
+PALETTE_INIT_MEMBER(galaxold_state,darkplnt)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
@@ -241,23 +244,23 @@ PALETTE_INIT( darkplnt )
bit2 = BIT(*color_prom,5);
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
color_prom++;
}
/* bullets - red and blue */
- palette_set_color(machine,BULLETS_COLOR_BASE+0,MAKE_RGB(0xef,0x00,0x00));
- palette_set_color(machine,BULLETS_COLOR_BASE+1,MAKE_RGB(0x00,0x00,0xef));
+ palette_set_color(machine(),BULLETS_COLOR_BASE+0,MAKE_RGB(0xef,0x00,0x00));
+ palette_set_color(machine(),BULLETS_COLOR_BASE+1,MAKE_RGB(0x00,0x00,0xef));
}
-PALETTE_INIT( minefld )
+PALETTE_INIT_MEMBER(galaxold_state,minefld)
{
int base = BACKGROUND_COLOR_BASE;
int i;
- PALETTE_INIT_CALL(galaxold);
+ PALETTE_INIT_CALL_MEMBER(galaxold);
/* set up background colors */
@@ -269,7 +272,7 @@ PALETTE_INIT( minefld )
int r = 0;
int g = i;
int b = i * 2;
- palette_set_color_rgb(machine,base+i,r,g,b);
+ palette_set_color_rgb(machine(),base+i,r,g,b);
}
/* graduated brown */
@@ -279,17 +282,17 @@ PALETTE_INIT( minefld )
int r = i * 1.5;
int g = i * 0.75;
int b = i / 2;
- palette_set_color_rgb(machine,base+128+i,r,g,b);
+ palette_set_color_rgb(machine(),base+128+i,r,g,b);
}
}
-PALETTE_INIT( rescue )
+PALETTE_INIT_MEMBER(galaxold_state,rescue)
{
int base = BACKGROUND_COLOR_BASE;
int i;
- PALETTE_INIT_CALL(galaxold);
+ PALETTE_INIT_CALL_MEMBER(galaxold);
/* set up background colors */
@@ -301,17 +304,17 @@ PALETTE_INIT( rescue )
int r = 0;
int g = i;
int b = i * 2;
- palette_set_color_rgb(machine,base+i,r,g,b);
+ palette_set_color_rgb(machine(),base+i,r,g,b);
}
}
-PALETTE_INIT( mariner )
+PALETTE_INIT_MEMBER(galaxold_state,mariner)
{
int base = BACKGROUND_COLOR_BASE;
int i;
- PALETTE_INIT_CALL(galaxold);
+ PALETTE_INIT_CALL_MEMBER(galaxold);
/* set up background colors */
@@ -331,19 +334,19 @@ PALETTE_INIT( mariner )
g = 0;
b = 0x0e * BIT(i,0) + 0x1f * BIT(i,1) + 0x43 * BIT(i,2) + 0x8f * BIT(i,3);
- palette_set_color_rgb(machine,base+i,r,g,b);
+ palette_set_color_rgb(machine(),base+i,r,g,b);
}
}
/* swapped r/g/b hook-up */
-PALETTE_INIT( dambustr )
+PALETTE_INIT_MEMBER(galaxold_state,dambustr)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int base = BACKGROUND_COLOR_BASE;
int i, len;
/* first, the character/sprite palette */
- len = machine.root_device().memregion("proms")->bytes();
+ len = machine().root_device().memregion("proms")->bytes();
for (i = 0;i < len;i++)
{
@@ -364,17 +367,17 @@ PALETTE_INIT( dambustr )
bit1 = BIT(*color_prom,7);
g = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color_rgb(machine,i,r,g,b);
+ palette_set_color_rgb(machine(),i,r,g,b);
color_prom++;
}
- galaxold_init_stars(machine, STARS_COLOR_BASE);
+ galaxold_init_stars(machine(), STARS_COLOR_BASE);
/* bullets - yellow and white */
- palette_set_color(machine,BULLETS_COLOR_BASE+0,MAKE_RGB(0xef,0xef,0x00));
- palette_set_color(machine,BULLETS_COLOR_BASE+1,MAKE_RGB(0xef,0xef,0xef));
+ palette_set_color(machine(),BULLETS_COLOR_BASE+0,MAKE_RGB(0xef,0xef,0x00));
+ palette_set_color(machine(),BULLETS_COLOR_BASE+1,MAKE_RGB(0xef,0xef,0xef));
/*
Assumption (not clear from the schematics):
@@ -390,18 +393,18 @@ PALETTE_INIT( dambustr )
int r = BIT(i,0) * 0x47;
int g = BIT(i,1) * 0x47;
int b = BIT(i,2) * 0x4f;
- palette_set_color_rgb(machine,base+i,r,g,b);
+ palette_set_color_rgb(machine(),base+i,r,g,b);
}
}
-PALETTE_INIT( turtles )
+PALETTE_INIT_MEMBER(galaxold_state,turtles)
{
int base = BACKGROUND_COLOR_BASE;
int i;
- PALETTE_INIT_CALL(galaxold);
+ PALETTE_INIT_CALL_MEMBER(galaxold);
/* The background color generator is connected this way:
@@ -416,7 +419,7 @@ PALETTE_INIT( turtles )
int g = BIT(i,1) * 0x47;
int b = BIT(i,2) * 0x55;
- palette_set_color_rgb(machine,base+i,r,g,b);
+ palette_set_color_rgb(machine(),base+i,r,g,b);
}
}
@@ -474,130 +477,118 @@ static void video_start_common(running_machine &machine)
state_save_register(machine);
}
-VIDEO_START( galaxold_plain )
+VIDEO_START_MEMBER(galaxold_state,galaxold_plain)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- video_start_common(machine);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ video_start_common(machine());
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_scroll_cols(32);
- state->m_color_mask = (machine.gfx[0]->granularity() == 4) ? 7 : 3;
+ m_color_mask = (machine().gfx[0]->granularity() == 4) ? 7 : 3;
}
-VIDEO_START( galaxold )
+VIDEO_START_MEMBER(galaxold_state,galaxold)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold_plain);
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
- state->m_draw_stars = galaxold_draw_stars;
+ m_draw_stars = galaxold_draw_stars;
- state->m_draw_bullets = galaxold_draw_bullets;
+ m_draw_bullets = galaxold_draw_bullets;
}
-VIDEO_START( scrambold )
+VIDEO_START_MEMBER(galaxold_state,scrambold)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold_plain);
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
/* FIXME: This most probably needs to be adjusted
* again when RAW video params are added to scramble
*/
- state->m_bg_tilemap->set_scrolldx(0, 0);
+ m_bg_tilemap->set_scrolldx(0, 0);
- state->m_draw_stars = scrambold_draw_stars;
+ m_draw_stars = scrambold_draw_stars;
- state->m_draw_bullets = scrambold_draw_bullets;
+ m_draw_bullets = scrambold_draw_bullets;
- state->m_draw_background = scrambold_draw_background;
+ m_draw_background = scrambold_draw_background;
}
-VIDEO_START( darkplnt )
+VIDEO_START_MEMBER(galaxold_state,darkplnt)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold_plain);
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
- state->m_bg_tilemap->set_scrolldx(0, 0);
- state->m_draw_bullets = darkplnt_draw_bullets;
+ m_bg_tilemap->set_scrolldx(0, 0);
+ m_draw_bullets = darkplnt_draw_bullets;
}
-VIDEO_START( rescue )
+VIDEO_START_MEMBER(galaxold_state,rescue)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(scrambold);
+ VIDEO_START_CALL_MEMBER(scrambold);
- state->m_draw_stars = rescue_draw_stars;
+ m_draw_stars = rescue_draw_stars;
- state->m_draw_background = rescue_draw_background;
+ m_draw_background = rescue_draw_background;
}
-VIDEO_START( minefld )
+VIDEO_START_MEMBER(galaxold_state,minefld)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(scrambold);
+ VIDEO_START_CALL_MEMBER(scrambold);
- state->m_draw_stars = rescue_draw_stars;
+ m_draw_stars = rescue_draw_stars;
- state->m_draw_background = minefld_draw_background;
+ m_draw_background = minefld_draw_background;
}
-VIDEO_START( stratgyx )
+VIDEO_START_MEMBER(galaxold_state,stratgyx)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold_plain);
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
- state->m_draw_background = stratgyx_draw_background;
+ m_draw_background = stratgyx_draw_background;
}
-VIDEO_START( ckongs )
+VIDEO_START_MEMBER(galaxold_state,ckongs)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(scrambold);
+ VIDEO_START_CALL_MEMBER(scrambold);
- state->m_modify_spritecode = mshuttle_modify_spritecode;
+ m_modify_spritecode = mshuttle_modify_spritecode;
}
-VIDEO_START( mariner )
+VIDEO_START_MEMBER(galaxold_state,mariner)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold_plain);
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
- state->m_draw_stars = mariner_draw_stars;
+ m_draw_stars = mariner_draw_stars;
- state->m_draw_bullets = scrambold_draw_bullets;
+ m_draw_bullets = scrambold_draw_bullets;
- state->m_draw_background = mariner_draw_background;
+ m_draw_background = mariner_draw_background;
- state->m_modify_charcode = mariner_modify_charcode;
+ m_modify_charcode = mariner_modify_charcode;
}
-VIDEO_START( mimonkey )
+VIDEO_START_MEMBER(galaxold_state,mimonkey)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(scrambold);
+ VIDEO_START_CALL_MEMBER(scrambold);
- state->m_modify_charcode = mimonkey_modify_charcode;
- state->m_modify_spritecode = mimonkey_modify_spritecode;
+ m_modify_charcode = mimonkey_modify_charcode;
+ m_modify_spritecode = mimonkey_modify_spritecode;
}
-VIDEO_START( dkongjrm )
+VIDEO_START_MEMBER(galaxold_state,dkongjrm)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold_plain);
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
- state->m_modify_charcode = pisces_modify_charcode;
- state->m_modify_spritecode = dkongjrm_modify_spritecode;
+ m_modify_charcode = pisces_modify_charcode;
+ m_modify_spritecode = dkongjrm_modify_spritecode;
- state->m_spriteram2_present= 1;
+ m_spriteram2_present= 1;
}
-VIDEO_START( scorpion )
+VIDEO_START_MEMBER(galaxold_state,scorpion)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(scrambold);
+ VIDEO_START_CALL_MEMBER(scrambold);
- state->m_modify_spritecode = batman2_modify_spritecode;
+ m_modify_spritecode = batman2_modify_spritecode;
}
static void pisces_modify_spritecode(running_machine &machine, UINT8 *spriteram, int *code, int *flipx, int *flipy, int offs)
@@ -606,13 +597,12 @@ static void pisces_modify_spritecode(running_machine &machine, UINT8 *spriteram,
*code |= (state->m_gfxbank[0] << 6);
}
-VIDEO_START( pisces )
+VIDEO_START_MEMBER(galaxold_state,pisces)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold);
+ VIDEO_START_CALL_MEMBER(galaxold);
- state->m_modify_charcode = pisces_modify_charcode;
- state->m_modify_spritecode = pisces_modify_spritecode;
+ m_modify_charcode = pisces_modify_charcode;
+ m_modify_spritecode = pisces_modify_spritecode;
}
#ifdef UNUSED_FUNCTION
@@ -631,12 +621,11 @@ static void theend_draw_bullets(running_machine &machine, bitmap_ind16 &bitmap,
}
}
-VIDEO_START( theend )
+VIDEO_START_MEMBER(galaxold_state,theend)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold);
+ VIDEO_START_CALL_MEMBER(galaxold);
- state->m_draw_bullets = theend_draw_bullets;
+ m_draw_bullets = theend_draw_bullets;
}
#endif
@@ -649,13 +638,12 @@ static void mooncrst_modify_spritecode(running_machine &machine, UINT8 *spritera
}
}
-VIDEO_START( mooncrst )
+VIDEO_START_MEMBER(galaxold_state,mooncrst)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold);
+ VIDEO_START_CALL_MEMBER(galaxold);
- state->m_modify_charcode = mooncrst_modify_charcode;
- state->m_modify_spritecode = mooncrst_modify_spritecode;
+ m_modify_charcode = mooncrst_modify_charcode;
+ m_modify_spritecode = mooncrst_modify_spritecode;
}
static void batman2_modify_charcode(running_machine &machine, UINT16 *code, UINT8 x)
@@ -667,13 +655,12 @@ static void batman2_modify_charcode(running_machine &machine, UINT16 *code, UINT
}
}
-VIDEO_START( batman2 )
+VIDEO_START_MEMBER(galaxold_state,batman2)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold);
+ VIDEO_START_CALL_MEMBER(galaxold);
- state->m_modify_charcode = batman2_modify_charcode;
- state->m_modify_spritecode = batman2_modify_spritecode;
+ m_modify_charcode = batman2_modify_charcode;
+ m_modify_spritecode = batman2_modify_spritecode;
}
@@ -690,19 +677,18 @@ static void rockclim_modify_spritecode(running_machine &machine, UINT8 *spritera
if (state->m_gfxbank[2]) *code|=0x40;
}
-VIDEO_START( rockclim )
+VIDEO_START_MEMBER(galaxold_state,rockclim)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold);
- state->m_rockclim_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::rockclim_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ VIDEO_START_CALL_MEMBER(galaxold);
+ m_rockclim_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::rockclim_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_draw_background = rockclim_draw_background;
- state->m_modify_charcode = mooncrst_modify_charcode;
- state->m_modify_spritecode = rockclim_modify_spritecode;
+ m_draw_background = rockclim_draw_background;
+ m_modify_charcode = mooncrst_modify_charcode;
+ m_modify_spritecode = rockclim_modify_spritecode;
- state->m_rockclim_v = state->m_rockclim_h = 0;
- state_save_register_global(machine, state->m_rockclim_v);
- state_save_register_global(machine, state->m_rockclim_h);
+ m_rockclim_v = m_rockclim_h = 0;
+ state_save_register_global(machine(), m_rockclim_v);
+ state_save_register_global(machine(), m_rockclim_h);
}
TILE_GET_INFO_MEMBER(galaxold_state::drivfrcg_get_tile_info)
@@ -718,37 +704,35 @@ TILE_GET_INFO_MEMBER(galaxold_state::drivfrcg_get_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( drivfrcg )
+VIDEO_START_MEMBER(galaxold_state,drivfrcg)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- video_start_common(machine);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::drivfrcg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ video_start_common(machine());
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::drivfrcg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(32);
- state->m_modify_spritecode = mshuttle_modify_spritecode;
- state->m_modify_color = drivfrcg_modify_color;
+ m_modify_spritecode = mshuttle_modify_spritecode;
+ m_modify_color = drivfrcg_modify_color;
- state->m_color_mask = 0xff;
+ m_color_mask = 0xff;
}
-VIDEO_START( ad2083 )
+VIDEO_START_MEMBER(galaxold_state,ad2083)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- video_start_common(machine);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::drivfrcg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ video_start_common(machine());
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::drivfrcg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(32);
- state->m_modify_spritecode = ad2083_modify_spritecode;
+ m_modify_spritecode = ad2083_modify_spritecode;
- state->m_draw_bullets = scrambold_draw_bullets;
+ m_draw_bullets = scrambold_draw_bullets;
- state->m_draw_background = ad2083_draw_background;
+ m_draw_background = ad2083_draw_background;
- state->m_color_mask = 7;
+ m_color_mask = 7;
}
@@ -770,24 +754,22 @@ TILE_GET_INFO_MEMBER(galaxold_state::racknrol_get_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( racknrol )
+VIDEO_START_MEMBER(galaxold_state,racknrol)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- video_start_common(machine);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::racknrol_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ video_start_common(machine());
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::racknrol_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_cols(32);
- state->m_color_mask = 0xff;
+ m_color_mask = 0xff;
}
-VIDEO_START( bongo )
+VIDEO_START_MEMBER(galaxold_state,bongo)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold_plain);
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
- state->m_modify_spritecode = batman2_modify_spritecode;
+ m_modify_spritecode = batman2_modify_spritecode;
}
TILE_GET_INFO_MEMBER(galaxold_state::dambustr_get_tile_info2)
@@ -810,32 +792,31 @@ TILE_GET_INFO_MEMBER(galaxold_state::dambustr_get_tile_info2)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( dambustr )
+VIDEO_START_MEMBER(galaxold_state,dambustr)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- VIDEO_START_CALL(galaxold);
+ VIDEO_START_CALL_MEMBER(galaxold);
- state->m_dambustr_bg_split_line = 0;
- state->m_dambustr_bg_color_1 = 0;
- state->m_dambustr_bg_color_2 = 0;
- state->m_dambustr_bg_priority = 0;
- state->m_dambustr_char_bank = 0;
+ m_dambustr_bg_split_line = 0;
+ m_dambustr_bg_color_1 = 0;
+ m_dambustr_bg_color_2 = 0;
+ m_dambustr_bg_priority = 0;
+ m_dambustr_char_bank = 0;
- state->m_draw_background = dambustr_draw_background;
+ m_draw_background = dambustr_draw_background;
- state->m_modify_charcode = dambustr_modify_charcode;
- state->m_modify_spritecode = dambustr_modify_spritecode;
+ m_modify_charcode = dambustr_modify_charcode;
+ m_modify_spritecode = dambustr_modify_spritecode;
- state->m_draw_bullets = dambustr_draw_bullets;
+ m_draw_bullets = dambustr_draw_bullets;
/* allocate the temporary bitmap for the background priority */
- state->m_dambustr_tmpbitmap = auto_bitmap_ind16_alloc(machine, machine.primary_screen->width(), machine.primary_screen->height());
+ m_dambustr_tmpbitmap = auto_bitmap_ind16_alloc(machine(), machine().primary_screen->width(), machine().primary_screen->height());
/* make a copy of the tilemap to emulate background priority */
- state->m_dambustr_videoram2 = auto_alloc_array(machine, UINT8, 0x0400);
- state->m_dambustr_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::dambustr_get_tile_info2),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_dambustr_videoram2 = auto_alloc_array(machine(), UINT8, 0x0400);
+ m_dambustr_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::dambustr_get_tile_info2),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_dambustr_tilemap2->set_transparent_pen(0);
+ m_dambustr_tilemap2->set_transparent_pen(0);
}
@@ -1128,7 +1109,7 @@ static void galaxold_draw_bullets(running_machine &machine, bitmap_ind16 &bitmap
/* yellow missile, white shells (this is the terminology on the schematics) */
- color = ((offs == 7*4) ? BULLETS_COLOR_BASE : BULLETS_COLOR_BASE + 1);
+ color = ((offs == 7*4) ? BULLETS_COLOR_BASE_LEGACY : BULLETS_COLOR_BASE_LEGACY + 1);
bitmap.pix16(y, x) = color;
}
@@ -1144,7 +1125,7 @@ static void scrambold_draw_bullets(running_machine &machine, bitmap_ind16 &bitma
if (cliprect.contains(x, y))
/* yellow bullets */
- bitmap.pix16(y, x) = BULLETS_COLOR_BASE;
+ bitmap.pix16(y, x) = BULLETS_COLOR_BASE_LEGACY;
}
static void darkplnt_draw_bullets(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int offs, int x, int y)
@@ -1172,11 +1153,11 @@ static void dambustr_draw_bullets(running_machine &machine, bitmap_ind16 &bitmap
{
if (offs < 4*4)
{
- color = BULLETS_COLOR_BASE;
+ color = BULLETS_COLOR_BASE_LEGACY;
y--;
}
else {
- color = BULLETS_COLOR_BASE + 1;
+ color = BULLETS_COLOR_BASE_LEGACY + 1;
x--;
}
@@ -1199,7 +1180,7 @@ static void scrambold_draw_background(running_machine &machine, bitmap_ind16 &bi
{
galaxold_state *state = machine.driver_data<galaxold_state>();
if (state->m_background_enable)
- bitmap.fill(BACKGROUND_COLOR_BASE, cliprect);
+ bitmap.fill(BACKGROUND_COLOR_BASE_LEGACY, cliprect);
else
bitmap.fill(0, cliprect);
}
@@ -1209,7 +1190,7 @@ static void ad2083_draw_background(running_machine &machine, bitmap_ind16 &bitma
galaxold_state *state = machine.driver_data<galaxold_state>();
int color = (state->m_background_blue << 2) | (state->m_background_green << 1) | state->m_background_red;
- bitmap.fill(BACKGROUND_COLOR_BASE + color, cliprect);
+ bitmap.fill(BACKGROUND_COLOR_BASE_LEGACY + color, cliprect);
}
static void stratgyx_draw_background(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -1217,7 +1198,7 @@ static void stratgyx_draw_background(running_machine &machine, bitmap_ind16 &bit
galaxold_state *state = machine.driver_data<galaxold_state>();
UINT8 x;
UINT8 *prom;
- int base = BACKGROUND_COLOR_BASE;
+ int base = BACKGROUND_COLOR_BASE_LEGACY;
/* the background PROM is connected the following way:
@@ -1254,7 +1235,7 @@ static void minefld_draw_background(running_machine &machine, bitmap_ind16 &bitm
galaxold_state *state = machine.driver_data<galaxold_state>();
if (state->m_background_enable)
{
- int base = BACKGROUND_COLOR_BASE;
+ int base = BACKGROUND_COLOR_BASE_LEGACY;
int x;
@@ -1275,7 +1256,7 @@ static void rescue_draw_background(running_machine &machine, bitmap_ind16 &bitma
galaxold_state *state = machine.driver_data<galaxold_state>();
if (state->m_background_enable)
{
- int base = BACKGROUND_COLOR_BASE;
+ int base = BACKGROUND_COLOR_BASE_LEGACY;
int x;
for (x = 0; x < 128; x++)
@@ -1293,7 +1274,7 @@ static void rescue_draw_background(running_machine &machine, bitmap_ind16 &bitma
static void mariner_draw_background(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
galaxold_state *state = machine.driver_data<galaxold_state>();
- int base = BACKGROUND_COLOR_BASE;
+ int base = BACKGROUND_COLOR_BASE_LEGACY;
UINT8 x;
UINT8 *prom;
@@ -1337,7 +1318,7 @@ static void mariner_draw_background(running_machine &machine, bitmap_ind16 &bitm
static void dambustr_draw_background(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
galaxold_state *state = machine.driver_data<galaxold_state>();
- int base = BACKGROUND_COLOR_BASE;
+ int base = BACKGROUND_COLOR_BASE_LEGACY;
int col1 = base + state->m_dambustr_bg_color_1;
int col2 = base + state->m_dambustr_bg_color_2;
diff --git a/src/mame/video/galivan.c b/src/mame/video/galivan.c
index d4f53bff6d8..6cf14f069bf 100644
--- a/src/mame/video/galivan.c
+++ b/src/mame/video/galivan.c
@@ -52,13 +52,13 @@ background: 0x4000 bytes of ROM: 76543210 tile code low bits
***************************************************************************/
-PALETTE_INIT( galivan )
+void galivan_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -67,7 +67,7 @@ PALETTE_INIT( galivan )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -75,7 +75,7 @@ PALETTE_INIT( galivan )
/* characters use colors 0-0x7f */
for (i = 0; i < 0x80; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* I think that */
/* background tiles use colors 0xc0-0xff in four banks */
@@ -90,7 +90,7 @@ PALETTE_INIT( galivan )
else
ctabentry = 0xc0 | (i & 0x0f) | ((i & 0x30) >> 0);
- colortable_entry_set_value(machine.colortable, 0x80 + i, ctabentry);
+ colortable_entry_set_value(machine().colortable, 0x80 + i, ctabentry);
}
/* sprites use colors 0x80-0xbf in four banks */
@@ -108,7 +108,7 @@ PALETTE_INIT( galivan )
else
ctabentry = 0x80 | ((i & 0x03) << 4) | (color_prom[i >> 4] & 0x0f);
- colortable_entry_set_value(machine.colortable, 0x180 + i_swapped, ctabentry);
+ colortable_entry_set_value(machine().colortable, 0x180 + i_swapped, ctabentry);
}
}
@@ -179,24 +179,22 @@ TILE_GET_INFO_MEMBER(galivan_state::ninjemak_get_tx_tile_info)
***************************************************************************/
-VIDEO_START( galivan )
+VIDEO_START_MEMBER(galivan_state,galivan)
{
- galivan_state *state = machine.driver_data<galivan_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::get_tx_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
}
-VIDEO_START( ninjemak )
+VIDEO_START_MEMBER(galivan_state,ninjemak)
{
- galivan_state *state = machine.driver_data<galivan_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::ninjemak_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 512, 32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::ninjemak_get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::ninjemak_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 512, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::ninjemak_get_tx_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/galpani2.c b/src/mame/video/galpani2.c
index d85e329631c..9a1b4119f0a 100644
--- a/src/mame/video/galpani2.c
+++ b/src/mame/video/galpani2.c
@@ -111,22 +111,21 @@ WRITE16_HANDLER( galpani2_bg15_w )
***************************************************************************/
-PALETTE_INIT( galpani2 )
+void galpani2_state::palette_init()
{
int i;
/* first $4200 colors are dynamic */
/* initialize 555 RGB lookup */
for (i = 0; i < 0x8000; i++)
- palette_set_color_rgb(machine,0x4200+i,pal5bit(i >> 5),pal5bit(i >> 10),pal5bit(i >> 0));
+ palette_set_color_rgb(machine(),0x4200+i,pal5bit(i >> 5),pal5bit(i >> 10),pal5bit(i >> 0));
}
-VIDEO_START( galpani2 )
+void galpani2_state::video_start()
{
- galpani2_state *state = machine.driver_data<galpani2_state>();
- state->m_bg15_bitmap = auto_bitmap_ind16_alloc(machine, 256*8, 256);
- state->m_bg8_bitmap[0] = auto_bitmap_ind16_alloc(machine, 512, 256);
- state->m_bg8_bitmap[1] = auto_bitmap_ind16_alloc(machine, 512, 256);
+ m_bg15_bitmap = auto_bitmap_ind16_alloc(machine(), 256*8, 256);
+ m_bg8_bitmap[0] = auto_bitmap_ind16_alloc(machine(), 512, 256);
+ m_bg8_bitmap[1] = auto_bitmap_ind16_alloc(machine(), 512, 256);
}
diff --git a/src/mame/video/galpanic.c b/src/mame/video/galpanic.c
index f9dd8b944f8..1dfbdb23448 100644
--- a/src/mame/video/galpanic.c
+++ b/src/mame/video/galpanic.c
@@ -3,14 +3,13 @@
#include "includes/galpanic.h"
-VIDEO_START( galpanic )
+VIDEO_START_MEMBER(galpanic_state,galpanic)
{
- galpanic_state *state = machine.driver_data<galpanic_state>();
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
- machine.primary_screen->register_screen_bitmap(state->m_sprites_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_sprites_bitmap);
}
-PALETTE_INIT( galpanic )
+PALETTE_INIT_MEMBER(galpanic_state,galpanic)
{
int i;
@@ -18,7 +17,7 @@ PALETTE_INIT( galpanic )
/* initialize 555 RGB lookup */
for (i = 0;i < 32768;i++)
- palette_set_color_rgb(machine,i+1024,pal5bit(i >> 5),pal5bit(i >> 10),pal5bit(i >> 0));
+ palette_set_color_rgb(machine(),i+1024,pal5bit(i >> 5),pal5bit(i >> 10),pal5bit(i >> 0));
}
diff --git a/src/mame/video/galspnbl.c b/src/mame/video/galspnbl.c
index d526c1a94a2..992b8e765b5 100644
--- a/src/mame/video/galspnbl.c
+++ b/src/mame/video/galspnbl.c
@@ -2,13 +2,13 @@
#include "includes/galspnbl.h"
-PALETTE_INIT( galspnbl )
+void galspnbl_state::palette_init()
{
int i;
/* initialize 555 RGB lookup */
for (i = 0; i < 32768; i++)
- palette_set_color_rgb(machine, i + 1024, pal5bit(i >> 5), pal5bit(i >> 10), pal5bit(i >> 0));
+ palette_set_color_rgb(machine(), i + 1024, pal5bit(i >> 5), pal5bit(i >> 10), pal5bit(i >> 0));
}
diff --git a/src/mame/video/gameplan.c b/src/mame/video/gameplan.c
index a4a0a4e36d1..30d1ba57cae 100644
--- a/src/mame/video/gameplan.c
+++ b/src/mame/video/gameplan.c
@@ -284,35 +284,34 @@ static TIMER_CALLBACK( via_0_ca1_timer_callback )
*
*************************************/
-static VIDEO_START( common )
+VIDEO_START_MEMBER(gameplan_state,common)
{
- gameplan_state *state = machine.driver_data<gameplan_state>();
- state->m_videoram_size = (HBSTART - HBEND) * (VBSTART - VBEND);
- state->m_videoram = auto_alloc_array(machine, UINT8, state->m_videoram_size);
+ m_videoram_size = (HBSTART - HBEND) * (VBSTART - VBEND);
+ m_videoram = auto_alloc_array(machine(), UINT8, m_videoram_size);
- state->m_via_0_ca1_timer = machine.scheduler().timer_alloc(FUNC(via_0_ca1_timer_callback));
+ m_via_0_ca1_timer = machine().scheduler().timer_alloc(FUNC(via_0_ca1_timer_callback));
/* register for save states */
- state->save_pointer(NAME(state->m_videoram), state->m_videoram_size);
+ save_pointer(NAME(m_videoram), m_videoram_size);
}
-static VIDEO_START( gameplan )
+VIDEO_START_MEMBER(gameplan_state,gameplan)
{
- VIDEO_START_CALL(common);
+ VIDEO_START_CALL_MEMBER(common);
}
-static VIDEO_START( leprechn )
+VIDEO_START_MEMBER(gameplan_state,leprechn)
{
- VIDEO_START_CALL(common);
+ VIDEO_START_CALL_MEMBER(common);
}
-static VIDEO_START( trvquest )
+VIDEO_START_MEMBER(gameplan_state,trvquest)
{
- VIDEO_START_CALL(common);
+ VIDEO_START_CALL_MEMBER(common);
}
@@ -323,10 +322,9 @@ static VIDEO_START( trvquest )
*
*************************************/
-static VIDEO_RESET( gameplan )
+VIDEO_RESET_MEMBER(gameplan_state,gameplan)
{
- gameplan_state *state = machine.driver_data<gameplan_state>();
- state->m_via_0_ca1_timer->adjust(machine.primary_screen->time_until_pos(VBSTART));
+ m_via_0_ca1_timer->adjust(machine().primary_screen->time_until_pos(VBSTART));
}
@@ -338,10 +336,10 @@ static VIDEO_RESET( gameplan )
*************************************/
MACHINE_CONFIG_FRAGMENT( gameplan_video )
- MCFG_VIDEO_START(gameplan)
- MCFG_VIDEO_RESET(gameplan)
+ MCFG_VIDEO_START_OVERRIDE(gameplan_state,gameplan)
+ MCFG_VIDEO_RESET_OVERRIDE(gameplan_state,gameplan)
- MCFG_VIDEO_START(gameplan)
+ MCFG_VIDEO_START_OVERRIDE(gameplan_state,gameplan)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(GAMEPLAN_PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
@@ -350,14 +348,14 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( leprechn_video )
- MCFG_VIDEO_START(leprechn)
+ MCFG_VIDEO_START_OVERRIDE(gameplan_state,leprechn)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(leprechn)
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED( trvquest_video, gameplan_video )
- MCFG_VIDEO_START(trvquest)
+ MCFG_VIDEO_START_OVERRIDE(gameplan_state,trvquest)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(gameplan)
MACHINE_CONFIG_END
diff --git a/src/mame/video/gaplus.c b/src/mame/video/gaplus.c
index 44da4997318..0d4c3ca70cd 100644
--- a/src/mame/video/gaplus.c
+++ b/src/mame/video/gaplus.c
@@ -23,13 +23,13 @@
***************************************************************************/
-PALETTE_INIT( gaplus )
+void gaplus_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 256);
+ machine().colortable = colortable_alloc(machine(), 256);
for (i = 0;i < 256;i++)
{
@@ -54,20 +54,20 @@ PALETTE_INIT( gaplus )
bit3 = (color_prom[i + 0x200] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- colortable_palette_set_color(machine.colortable,i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,i,MAKE_RGB(r,g,b));
}
color_prom += 0x300;
/* color_prom now points to the beginning of the lookup table */
/* characters use colors 0xf0-0xff */
- for (i = 0;i < machine.gfx[0]->colors() * machine.gfx[0]->granularity();i++)
- colortable_entry_set_value(machine.colortable, machine.gfx[0]->colorbase() + i, 0xf0 + (*color_prom++ & 0x0f));
+ for (i = 0;i < machine().gfx[0]->colors() * machine().gfx[0]->granularity();i++)
+ colortable_entry_set_value(machine().colortable, machine().gfx[0]->colorbase() + i, 0xf0 + (*color_prom++ & 0x0f));
/* sprites */
- for (i = 0;i < machine.gfx[1]->colors() * machine.gfx[1]->granularity();i++)
+ for (i = 0;i < machine().gfx[1]->colors() * machine().gfx[1]->granularity();i++)
{
- colortable_entry_set_value(machine.colortable, machine.gfx[1]->colorbase() + i, (color_prom[0] & 0x0f) + ((color_prom[0x200] & 0x0f) << 4));
+ colortable_entry_set_value(machine().colortable, machine().gfx[1]->colorbase() + i, (color_prom[0] & 0x0f) + ((color_prom[0x200] & 0x0f) << 4));
color_prom++;
}
}
@@ -179,14 +179,13 @@ static void starfield_init(running_machine &machine)
***************************************************************************/
-VIDEO_START( gaplus )
+void gaplus_state::video_start()
{
- gaplus_state *state = machine.driver_data<gaplus_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaplus_state::get_tile_info),state),tilemap_mapper_delegate(FUNC(gaplus_state::tilemap_scan),state),8,8,36,28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gaplus_state::get_tile_info),this),tilemap_mapper_delegate(FUNC(gaplus_state::tilemap_scan),this),8,8,36,28);
- colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 0xff);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[0], 0xff);
- starfield_init(machine);
+ starfield_init(machine());
}
diff --git a/src/mame/video/gatron.c b/src/mame/video/gatron.c
index 81d81025b0c..84aad44b32d 100644
--- a/src/mame/video/gatron.c
+++ b/src/mame/video/gatron.c
@@ -43,10 +43,9 @@ TILE_GET_INFO_MEMBER(gatron_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
-VIDEO_START( gat )
+void gatron_state::video_start()
{
- gatron_state *state = machine.driver_data<gatron_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gatron_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 16, 48, 16);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gatron_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 16, 48, 16);
}
SCREEN_UPDATE_IND16( gat )
@@ -56,7 +55,7 @@ SCREEN_UPDATE_IND16( gat )
return 0;
}
-PALETTE_INIT( gat )
+void gatron_state::palette_init()
{
}
diff --git a/src/mame/video/gauntlet.c b/src/mame/video/gauntlet.c
index e679682845d..77c82a2fe8c 100644
--- a/src/mame/video/gauntlet.c
+++ b/src/mame/video/gauntlet.c
@@ -43,7 +43,7 @@ TILE_GET_INFO_MEMBER(gauntlet_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( gauntlet )
+VIDEO_START_MEMBER(gauntlet_state,gauntlet)
{
static const atarimo_desc modesc =
{
@@ -82,19 +82,18 @@ VIDEO_START( gauntlet )
0 /* callback routine for special entries */
};
- gauntlet_state *state = machine.driver_data<gauntlet_state>();
UINT16 *codelookup;
int i, size;
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gauntlet_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gauntlet_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gauntlet_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gauntlet_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
/* modify the motion object code lookup table to account for the code XOR */
codelookup = atarimo_get_code_lookup(0, &size);
@@ -102,11 +101,11 @@ VIDEO_START( gauntlet )
codelookup[i] ^= 0x800;
/* set up the base color for the playfield */
- state->m_playfield_color_bank = state->m_vindctr2_screen_refresh ? 0 : 1;
+ m_playfield_color_bank = m_vindctr2_screen_refresh ? 0 : 1;
/* save states */
- state->save_item(NAME(state->m_playfield_tile_bank));
- state->save_item(NAME(state->m_playfield_color_bank));
+ save_item(NAME(m_playfield_tile_bank));
+ save_item(NAME(m_playfield_color_bank));
}
diff --git a/src/mame/video/gberet.c b/src/mame/video/gberet.c
index 8efbdec0ea9..c0777eaa2bd 100644
--- a/src/mame/video/gberet.c
+++ b/src/mame/video/gberet.c
@@ -21,13 +21,13 @@
***************************************************************************/
-PALETTE_INIT( gberet )
+PALETTE_INIT_MEMBER(gberet_state,gberet)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -53,7 +53,7 @@ PALETTE_INIT( gberet )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -62,7 +62,7 @@ PALETTE_INIT( gberet )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
for (i = 0x100; i < 0x200; i++)
@@ -74,7 +74,7 @@ PALETTE_INIT( gberet )
else
ctabentry = 0;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -118,13 +118,12 @@ TILE_GET_INFO_MEMBER(gberet_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( gberet )
+VIDEO_START_MEMBER(gberet_state,gberet)
{
- gberet_state *state = machine.driver_data<gberet_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gberet_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 0x10);
- state->m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gberet_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[0], 0x10);
+ m_bg_tilemap->set_scroll_rows(32);
}
static void gberet_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/gbusters.c b/src/mame/video/gbusters.c
index 641d6a06bcb..a9fe019b0c4 100644
--- a/src/mame/video/gbusters.c
+++ b/src/mame/video/gbusters.c
@@ -37,13 +37,12 @@ void gbusters_sprite_callback( running_machine &machine, int *code, int *color,
***************************************************************************/
-VIDEO_START( gbusters )
+void gbusters_state::video_start()
{
- gbusters_state *state = machine.driver_data<gbusters_state>();
- state->m_layer_colorbase[0] = 48;
- state->m_layer_colorbase[1] = 0;
- state->m_layer_colorbase[2] = 16;
- state->m_sprite_colorbase = 32;
+ m_layer_colorbase[0] = 48;
+ m_layer_colorbase[1] = 0;
+ m_layer_colorbase[2] = 16;
+ m_sprite_colorbase = 32;
}
diff --git a/src/mame/video/gcpinbal.c b/src/mame/video/gcpinbal.c
index 9221b84d07b..09d5807aad1 100644
--- a/src/mame/video/gcpinbal.c
+++ b/src/mame/video/gcpinbal.c
@@ -63,9 +63,9 @@ static void gcpinbal_core_vh_start( running_machine &machine )
state->m_tilemap[2]->set_scrolldy(-yoffs, 0);
}
-VIDEO_START( gcpinbal )
+void gcpinbal_state::video_start()
{
- gcpinbal_core_vh_start(machine);
+ gcpinbal_core_vh_start(machine());
}
diff --git a/src/mame/video/gijoe.c b/src/mame/video/gijoe.c
index e3605c97eb4..5df64bc1781 100644
--- a/src/mame/video/gijoe.c
+++ b/src/mame/video/gijoe.c
@@ -50,29 +50,28 @@ void gijoe_tile_callback( running_machine &machine, int layer, int *code, int *c
*color = (*color >> 2 & 0x0f) | state->m_layer_colorbase[layer];
}
-VIDEO_START( gijoe )
+void gijoe_state::video_start()
{
- gijoe_state *state = machine.driver_data<gijoe_state>();
int i;
- k056832_linemap_enable(state->m_k056832, 1);
+ k056832_linemap_enable(m_k056832, 1);
for (i = 0; i < 4; i++)
{
- state->m_avac_occupancy[i] = 0;
- state->m_avac_bits[i] = 0;
- state->m_layer_colorbase[i] = 0;
- state->m_layer_pri[i] = 0;
+ m_avac_occupancy[i] = 0;
+ m_avac_bits[i] = 0;
+ m_layer_colorbase[i] = 0;
+ m_layer_pri[i] = 0;
}
- state->m_avac_vrc = 0xffff;
+ m_avac_vrc = 0xffff;
- state->save_item(NAME(state->m_avac_vrc));
- state->save_item(NAME(state->m_sprite_colorbase));
- state->save_item(NAME(state->m_avac_occupancy));
- state->save_item(NAME(state->m_avac_bits)); // these could possibly be re-created at postload k056832 elements
- state->save_item(NAME(state->m_layer_colorbase));
- state->save_item(NAME(state->m_layer_pri));
+ save_item(NAME(m_avac_vrc));
+ save_item(NAME(m_sprite_colorbase));
+ save_item(NAME(m_avac_occupancy));
+ save_item(NAME(m_avac_bits)); // these could possibly be re-created at postload k056832 elements
+ save_item(NAME(m_layer_colorbase));
+ save_item(NAME(m_layer_pri));
}
SCREEN_UPDATE_IND16( gijoe )
diff --git a/src/mame/video/ginganin.c b/src/mame/video/ginganin.c
index 131dd14af72..113e5b39099 100644
--- a/src/mame/video/ginganin.c
+++ b/src/mame/video/ginganin.c
@@ -132,15 +132,14 @@ WRITE16_MEMBER(ginganin_state::ginganin_txtram16_w)
}
-VIDEO_START( ginganin )
+void ginganin_state::video_start()
{
- ginganin_state *state = machine.driver_data<ginganin_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ginganin_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, BG_NX, BG_NY);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ginganin_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, FG_NX, FG_NY);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ginganin_state::get_txt_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, TXT_NX, TXT_NY);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ginganin_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, BG_NX, BG_NY);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ginganin_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, FG_NX, FG_NY);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ginganin_state::get_txt_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, TXT_NX, TXT_NY);
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/gladiatr.c b/src/mame/video/gladiatr.c
index ad9adbfaa93..4c0327d1eaa 100644
--- a/src/mame/video/gladiatr.c
+++ b/src/mame/video/gladiatr.c
@@ -42,31 +42,29 @@ TILE_GET_INFO_MEMBER(gladiatr_state::fg_get_tile_info)
***************************************************************************/
-VIDEO_START( ppking )
+VIDEO_START_MEMBER(gladiatr_state,ppking)
{
- gladiatr_state *state = machine.driver_data<gladiatr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::fg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,64);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_cols(0x10);
+ m_bg_tilemap->set_scroll_cols(0x10);
- state->m_sprite_bank = 1;
+ m_sprite_bank = 1;
}
-VIDEO_START( gladiatr )
+VIDEO_START_MEMBER(gladiatr_state,gladiatr)
{
- gladiatr_state *state = machine.driver_data<gladiatr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::fg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(-0x30, 0x12f);
- state->m_fg_tilemap->set_scrolldx(-0x30, 0x12f);
+ m_bg_tilemap->set_scrolldx(-0x30, 0x12f);
+ m_fg_tilemap->set_scrolldx(-0x30, 0x12f);
- state->m_sprite_bank = 2;
+ m_sprite_bank = 2;
}
diff --git a/src/mame/video/glass.c b/src/mame/video/glass.c
index e96aebacf8f..efaa33b4960 100644
--- a/src/mame/video/glass.c
+++ b/src/mame/video/glass.c
@@ -123,17 +123,16 @@ WRITE16_MEMBER(glass_state::glass_vram_w)
***************************************************************************/
-VIDEO_START( glass )
+void glass_state::video_start()
{
- glass_state *state = machine.driver_data<glass_state>();
- state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(glass_state::get_tile_info_glass_screen0),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(glass_state::get_tile_info_glass_screen1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_screen_bitmap = auto_bitmap_ind16_alloc (machine, 320, 200);
+ m_pant[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(glass_state::get_tile_info_glass_screen0),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_pant[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(glass_state::get_tile_info_glass_screen1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_screen_bitmap = auto_bitmap_ind16_alloc (machine(), 320, 200);
- state->save_item(NAME(*state->m_screen_bitmap));
+ save_item(NAME(*m_screen_bitmap));
- state->m_pant[0]->set_transparent_pen(0);
- state->m_pant[1]->set_transparent_pen(0);
+ m_pant[0]->set_transparent_pen(0);
+ m_pant[1]->set_transparent_pen(0);
}
diff --git a/src/mame/video/gng.c b/src/mame/video/gng.c
index 646e17fc9a1..92c3b79e976 100644
--- a/src/mame/video/gng.c
+++ b/src/mame/video/gng.c
@@ -45,15 +45,14 @@ TILE_GET_INFO_MEMBER(gng_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( gng )
+void gng_state::video_start()
{
- gng_state *state = machine.driver_data<gng_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gng_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gng_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gng_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gng_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(3);
- state->m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x41, 0xbe); /* split type 1 has pens 0 and 6 transparent in front half */
+ m_fg_tilemap->set_transparent_pen(3);
+ m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x41, 0xbe); /* split type 1 has pens 0 and 6 transparent in front half */
}
diff --git a/src/mame/video/goal92.c b/src/mame/video/goal92.c
index 98f046ed13d..97f0bb497c8 100644
--- a/src/mame/video/goal92.c
+++ b/src/mame/video/goal92.c
@@ -129,19 +129,18 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
}
-VIDEO_START( goal92 )
+void goal92_state::video_start()
{
- goal92_state *state = machine.driver_data<goal92_state>();
- state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goal92_state::get_back_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goal92_state::get_fore_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goal92_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goal92_state::get_back_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goal92_state::get_fore_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tx_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goal92_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, 0x400 * 2);
- state_save_register_global_pointer(machine, state->m_buffered_spriteram, 0x400 * 2);
+ m_buffered_spriteram = auto_alloc_array(machine(), UINT16, 0x400 * 2);
+ state_save_register_global_pointer(machine(), m_buffered_spriteram, 0x400 * 2);
- state->m_bg_layer->set_transparent_pen(15);
- state->m_fg_layer->set_transparent_pen(15);
- state->m_tx_layer->set_transparent_pen(15);
+ m_bg_layer->set_transparent_pen(15);
+ m_fg_layer->set_transparent_pen(15);
+ m_tx_layer->set_transparent_pen(15);
}
SCREEN_UPDATE_IND16( goal92 )
diff --git a/src/mame/video/goindol.c b/src/mame/video/goindol.c
index c27432d6f78..16df70b7f4d 100644
--- a/src/mame/video/goindol.c
+++ b/src/mame/video/goindol.c
@@ -45,13 +45,12 @@ TILE_GET_INFO_MEMBER(goindol_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( goindol )
+void goindol_state::video_start()
{
- goindol_state *state = machine.driver_data<goindol_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goindol_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goindol_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goindol_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goindol_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/goldstar.c b/src/mame/video/goldstar.c
index 211567779e0..9994ab85d76 100644
--- a/src/mame/video/goldstar.c
+++ b/src/mame/video/goldstar.c
@@ -218,100 +218,95 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel3_tile_info)
-VIDEO_START( goldstar )
+VIDEO_START_MEMBER(goldstar_state,goldstar)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel1_tilemap->set_scroll_cols(64);
- state->m_reel2_tilemap->set_scroll_cols(64);
- state->m_reel3_tilemap->set_scroll_cols(64);
+ m_reel1_tilemap->set_scroll_cols(64);
+ m_reel2_tilemap->set_scroll_cols(64);
+ m_reel3_tilemap->set_scroll_cols(64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ m_fg_tilemap->set_transparent_pen(0);
// is there an enable reg for this game?
- state->m_cm_enable_reg = 0x0b;
+ m_cm_enable_reg = 0x0b;
}
-VIDEO_START( bingowng )
+VIDEO_START_MEMBER(goldstar_state,bingowng)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel1_tilemap->set_scroll_cols(64);
+ m_reel1_tilemap->set_scroll_cols(64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ m_fg_tilemap->set_transparent_pen(0);
// is there an enable reg for this game?
- state->m_cm_enable_reg = 0x0b;
+ m_cm_enable_reg = 0x0b;
}
-VIDEO_START( magical )
+VIDEO_START_MEMBER(goldstar_state,magical)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel1_tilemap->set_scroll_cols(32);
- state->m_reel2_tilemap->set_scroll_cols(32);
- state->m_reel3_tilemap->set_scroll_cols(32);
+ m_reel1_tilemap->set_scroll_cols(32);
+ m_reel2_tilemap->set_scroll_cols(32);
+ m_reel3_tilemap->set_scroll_cols(32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_magical_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_magical_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ m_fg_tilemap->set_transparent_pen(0);
// is there an enable reg for this game?
- state->m_cm_enable_reg = 0x0b;
+ m_cm_enable_reg = 0x0b;
}
-VIDEO_START( unkch )
+VIDEO_START_MEMBER(goldstar_state,unkch)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_unkch_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_unkch_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_unkch_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_unkch_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_unkch_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_unkch_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel1_tilemap->set_scroll_cols(32);
- state->m_reel2_tilemap->set_scroll_cols(32);
- state->m_reel3_tilemap->set_scroll_cols(32);
+ m_reel1_tilemap->set_scroll_cols(32);
+ m_reel2_tilemap->set_scroll_cols(32);
+ m_reel3_tilemap->set_scroll_cols(32);
- state->m_cmaster_girl_num = 0;
- state->m_cmaster_girl_pal = 0;
- state->m_unkch_vidreg = 0x00;
+ m_cmaster_girl_num = 0;
+ m_cmaster_girl_pal = 0;
+ m_unkch_vidreg = 0x00;
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_cherrym_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_cherrym_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_cm_enable_reg = 0x0b;
+ m_cm_enable_reg = 0x0b;
}
-VIDEO_START( cherrym )
+VIDEO_START_MEMBER(goldstar_state,cherrym)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ m_reel3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel1_tilemap->set_scroll_cols(64);
- state->m_reel2_tilemap->set_scroll_cols(64);
- state->m_reel3_tilemap->set_scroll_cols(64);
+ m_reel1_tilemap->set_scroll_cols(64);
+ m_reel2_tilemap->set_scroll_cols(64);
+ m_reel3_tilemap->set_scroll_cols(64);
- state->m_cmaster_girl_num = 0;
- state->m_cmaster_girl_pal = 0;
+ m_cmaster_girl_num = 0;
+ m_cmaster_girl_pal = 0;
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_cherrym_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_cherrym_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_cm_enable_reg = 0x0b;
+ m_cm_enable_reg = 0x0b;
}
diff --git a/src/mame/video/gomoku.c b/src/mame/video/gomoku.c
index abcbb4a8608..623534c7865 100644
--- a/src/mame/video/gomoku.c
+++ b/src/mame/video/gomoku.c
@@ -18,13 +18,13 @@
******************************************************************************/
-PALETTE_INIT( gomoku )
+void gomoku_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int bit0, bit1, bit2, r, g, b;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
/* red component */
bit0 = (*color_prom >> 0) & 0x01;
@@ -42,7 +42,7 @@ PALETTE_INIT( gomoku )
bit2 = (*color_prom >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine,i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(),i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -102,24 +102,23 @@ WRITE8_MEMBER(gomoku_state::gomoku_bg_dispsw_w)
******************************************************************************/
-VIDEO_START( gomoku )
+void gomoku_state::video_start()
{
- gomoku_state *state = machine.driver_data<gomoku_state>();
- UINT8 *GOMOKU_BG_X = state->memregion( "user1" )->base();
- UINT8 *GOMOKU_BG_Y = state->memregion( "user2" )->base();
- UINT8 *GOMOKU_BG_D = state->memregion( "user3" )->base();
+ UINT8 *GOMOKU_BG_X = memregion( "user1" )->base();
+ UINT8 *GOMOKU_BG_Y = memregion( "user2" )->base();
+ UINT8 *GOMOKU_BG_D = memregion( "user3" )->base();
int x, y;
int bgdata;
int color;
- machine.primary_screen->register_screen_bitmap(state->m_bg_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_bg_bitmap);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gomoku_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gomoku_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
/* make background bitmap */
- state->m_bg_bitmap.fill(0x20);
+ m_bg_bitmap.fill(0x20);
// board
for (y = 0; y < 256; y++)
@@ -133,7 +132,7 @@ VIDEO_START( gomoku )
if (bgdata & 0x01) color = 0x21; // board (brown)
if (bgdata & 0x02) color = 0x20; // frame line (while)
- state->m_bg_bitmap.pix16((255 - y - 1) & 0xff, (255 - x + 7) & 0xff) = color;
+ m_bg_bitmap.pix16((255 - y - 1) & 0xff, (255 - x + 7) & 0xff) = color;
}
}
}
diff --git a/src/mame/video/gotcha.c b/src/mame/video/gotcha.c
index 41d9dea58fa..e6a5c44a22b 100644
--- a/src/mame/video/gotcha.c
+++ b/src/mame/video/gotcha.c
@@ -40,16 +40,15 @@ TILE_GET_INFO_MEMBER(gotcha_state::bg_get_tile_info)
***************************************************************************/
-VIDEO_START( gotcha )
+void gotcha_state::video_start()
{
- gotcha_state *state = machine.driver_data<gotcha_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gotcha_state::fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(gotcha_state::gotcha_tilemap_scan),state), 16, 16, 64, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gotcha_state::bg_get_tile_info),state), tilemap_mapper_delegate(FUNC(gotcha_state::gotcha_tilemap_scan),state), 16, 16, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gotcha_state::fg_get_tile_info),this), tilemap_mapper_delegate(FUNC(gotcha_state::gotcha_tilemap_scan),this), 16, 16, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gotcha_state::bg_get_tile_info),this), tilemap_mapper_delegate(FUNC(gotcha_state::gotcha_tilemap_scan),this), 16, 16, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scrolldx(-1, 0);
- state->m_bg_tilemap->set_scrolldx(-5, 0);
+ m_fg_tilemap->set_scrolldx(-1, 0);
+ m_bg_tilemap->set_scrolldx(-5, 0);
}
diff --git a/src/mame/video/gottlieb.c b/src/mame/video/gottlieb.c
index e2fb6f60649..39ab5989ed1 100644
--- a/src/mame/video/gottlieb.c
+++ b/src/mame/video/gottlieb.c
@@ -142,58 +142,56 @@ TILE_GET_INFO_MEMBER(gottlieb_state::get_screwloo_bg_tile_info)
}
-VIDEO_START( gottlieb )
+void gottlieb_state::video_start()
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
static const int resistances[4] = { 2000, 1000, 470, 240 };
/* compute palette information */
/* note that there really are pullup/pulldown resistors, but this situation is complicated */
/* by the use of transistors, so we ignore that and just use the realtive resistor weights */
compute_resistor_weights(0, 255, -1.0,
- 4, resistances, state->m_weights, 180, 0,
- 4, resistances, state->m_weights, 180, 0,
- 4, resistances, state->m_weights, 180, 0);
- state->m_transparent0 = FALSE;
+ 4, resistances, m_weights, 180, 0,
+ 4, resistances, m_weights, 180, 0,
+ 4, resistances, m_weights, 180, 0);
+ m_transparent0 = FALSE;
/* configure the background tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gottlieb_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(0, 318 - 256);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gottlieb_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scrolldx(0, 318 - 256);
- machine.gfx[0]->set_source(state->m_charram);
+ machine().gfx[0]->set_source(m_charram);
/* save some state */
- state_save_register_global(machine, state->m_background_priority);
- state_save_register_global(machine, state->m_spritebank);
- state_save_register_global(machine, state->m_transparent0);
+ state_save_register_global(machine(), m_background_priority);
+ state_save_register_global(machine(), m_spritebank);
+ state_save_register_global(machine(), m_transparent0);
}
-VIDEO_START( screwloo )
+VIDEO_START_MEMBER(gottlieb_state,screwloo)
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
static const int resistances[4] = { 2000, 1000, 470, 240 };
/* compute palette information */
/* note that there really are pullup/pulldown resistors, but this situation is complicated */
/* by the use of transistors, so we ignore that and just use the realtive resistor weights */
compute_resistor_weights(0, 255, -1.0,
- 4, resistances, state->m_weights, 180, 0,
- 4, resistances, state->m_weights, 180, 0,
- 4, resistances, state->m_weights, 180, 0);
- state->m_transparent0 = FALSE;
+ 4, resistances, m_weights, 180, 0,
+ 4, resistances, m_weights, 180, 0,
+ 4, resistances, m_weights, 180, 0);
+ m_transparent0 = FALSE;
/* configure the background tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gottlieb_state::get_screwloo_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(0, 318 - 256);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gottlieb_state::get_screwloo_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scrolldx(0, 318 - 256);
- machine.gfx[0]->set_source(state->m_charram);
+ machine().gfx[0]->set_source(m_charram);
/* save some state */
- state_save_register_global(machine, state->m_background_priority);
- state_save_register_global(machine, state->m_spritebank);
- state_save_register_global(machine, state->m_transparent0);
+ state_save_register_global(machine(), m_background_priority);
+ state_save_register_global(machine(), m_spritebank);
+ state_save_register_global(machine(), m_transparent0);
}
diff --git a/src/mame/video/gotya.c b/src/mame/video/gotya.c
index 2cb82948268..f330dc2e17f 100644
--- a/src/mame/video/gotya.c
+++ b/src/mame/video/gotya.c
@@ -9,9 +9,9 @@
***************************************************************************/
-PALETTE_INIT( gotya )
+void gotya_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -24,7 +24,7 @@ PALETTE_INIT( gotya )
2, &resistances_b[0], bweights, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -49,7 +49,7 @@ PALETTE_INIT( gotya )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -58,7 +58,7 @@ PALETTE_INIT( gotya )
for (i = 0; i < 0x40; i++)
{
UINT8 ctabentry = color_prom[i] & 0x07;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -106,10 +106,9 @@ TILEMAP_MAPPER_MEMBER(gotya_state::tilemap_scan_rows_thehand)
return ((row) * (num_cols >> 1)) + (col & 31) + ((col >> 5) * 0x400);
}
-VIDEO_START( gotya )
+void gotya_state::video_start()
{
- gotya_state *state = machine.driver_data<gotya_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gotya_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(gotya_state::tilemap_scan_rows_thehand),state), 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gotya_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(gotya_state::tilemap_scan_rows_thehand),this), 8, 8, 64, 32);
}
static void draw_status_row( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int sx, int col )
diff --git a/src/mame/video/gradius3.c b/src/mame/video/gradius3.c
index c55c029cf12..6745b7617d1 100644
--- a/src/mame/video/gradius3.c
+++ b/src/mame/video/gradius3.c
@@ -68,27 +68,26 @@ static void gradius3_postload(running_machine &machine)
}
}
-VIDEO_START( gradius3 )
+void gradius3_state::video_start()
{
- gradius3_state *state = machine.driver_data<gradius3_state>();
int i;
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 32;
- state->m_layer_colorbase[2] = 48;
- state->m_sprite_colorbase = 16;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 32;
+ m_layer_colorbase[2] = 48;
+ m_sprite_colorbase = 16;
- k052109_set_layer_offsets(state->m_k052109, 2, -2, 0);
- k051960_set_sprite_offsets(state->m_k051960, 2, 0);
+ k052109_set_layer_offsets(m_k052109, 2, -2, 0);
+ k051960_set_sprite_offsets(m_k051960, 2, 0);
/* re-decode the sprites because the ROMs are connected to the custom IC differently
from how they are connected to the CPU. */
for (i = 0; i < TOTAL_SPRITES; i++)
- machine.gfx[1]->mark_dirty(i);
+ machine().gfx[1]->mark_dirty(i);
- machine.gfx[0]->set_source((UINT8 *)state->m_gfxram.target());
+ machine().gfx[0]->set_source((UINT8 *)m_gfxram.target());
- machine.save().register_postload(save_prepost_delegate(FUNC(gradius3_postload), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(gradius3_postload), &machine()));
}
diff --git a/src/mame/video/grchamp.c b/src/mame/video/grchamp.c
index 44fdee2bcd9..98bda17ee7e 100644
--- a/src/mame/video/grchamp.c
+++ b/src/mame/video/grchamp.c
@@ -12,12 +12,11 @@
#define RGB_MAX 191
-PALETTE_INIT( grchamp )
+void grchamp_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[3] = { 100, 270, 470 };
double rweights[3], gweights[3], bweights[2];
- grchamp_state *state = machine.driver_data<grchamp_state>();
int i;
/* compute the color output resistor weights */
@@ -48,7 +47,7 @@ PALETTE_INIT( grchamp )
bit1 = (color_prom[i] >> 7) & 1;
b = combine_2_weights(bweights, bit0, bit1);
- state->m_bgcolor[i] = MAKE_RGB(r, g, b);
+ m_bgcolor[i] = MAKE_RGB(r, g, b);
}
}
@@ -97,17 +96,16 @@ TILEMAP_MAPPER_MEMBER(grchamp_state::get_memory_offset)
}
-VIDEO_START( grchamp )
+void grchamp_state::video_start()
{
- grchamp_state *state = machine.driver_data<grchamp_state>();
- state->m_work_bitmap.allocate(32,32);
+ m_work_bitmap.allocate(32,32);
/* allocate tilemaps for each of the three sections */
- state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_left_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_left_tile_info),state), tilemap_mapper_delegate(FUNC(grchamp_state::get_memory_offset),state), 8,8, 64,32);
- state->m_right_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_right_tile_info),state), tilemap_mapper_delegate(FUNC(grchamp_state::get_memory_offset),state), 8,8, 64,32);
- state->m_center_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_center_tile_info),state), tilemap_mapper_delegate(FUNC(grchamp_state::get_memory_offset),state), 8,8, 64,32);
+ m_text_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_left_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_left_tile_info),this), tilemap_mapper_delegate(FUNC(grchamp_state::get_memory_offset),this), 8,8, 64,32);
+ m_right_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_right_tile_info),this), tilemap_mapper_delegate(FUNC(grchamp_state::get_memory_offset),this), 8,8, 64,32);
+ m_center_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_center_tile_info),this), tilemap_mapper_delegate(FUNC(grchamp_state::get_memory_offset),this), 8,8, 64,32);
}
#if 0
diff --git a/src/mame/video/gridlee.c b/src/mame/video/gridlee.c
index 572979ff831..06ea150c48a 100644
--- a/src/mame/video/gridlee.c
+++ b/src/mame/video/gridlee.c
@@ -18,14 +18,14 @@
*
*************************************/
-PALETTE_INIT( gridlee )
+void gridlee_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
- palette_set_color_rgb(machine,i,pal4bit(color_prom[0x0000]),pal4bit(color_prom[0x0800]),pal4bit(color_prom[0x1000]));
+ palette_set_color_rgb(machine(),i,pal4bit(color_prom[0x0000]),pal4bit(color_prom[0x0800]),pal4bit(color_prom[0x1000]));
color_prom++;
}
}
@@ -59,18 +59,17 @@ static void expand_pixels(running_machine &machine)
*
*************************************/
-VIDEO_START( gridlee )
+void gridlee_state::video_start()
{
- gridlee_state *state = machine.driver_data<gridlee_state>();
/* allocate a local copy of video RAM */
- state->m_local_videoram = auto_alloc_array_clear(machine, UINT8, 256 * 256);
+ m_local_videoram = auto_alloc_array_clear(machine(), UINT8, 256 * 256);
/* reset the palette */
- state->m_palettebank_vis = 0;
+ m_palettebank_vis = 0;
- state_save_register_global(machine, state->m_cocktail_flip);
- state_save_register_global(machine, state->m_palettebank_vis);
- machine.save().register_postload(save_prepost_delegate(FUNC(expand_pixels), &machine));
+ state_save_register_global(machine(), m_cocktail_flip);
+ state_save_register_global(machine(), m_palettebank_vis);
+ machine().save().register_postload(save_prepost_delegate(FUNC(expand_pixels), &machine()));
}
diff --git a/src/mame/video/groundfx.c b/src/mame/video/groundfx.c
index 3f52b420fc5..b96347dfe72 100644
--- a/src/mame/video/groundfx.c
+++ b/src/mame/video/groundfx.c
@@ -4,13 +4,12 @@
/******************************************************************/
-VIDEO_START( groundfx )
+void groundfx_state::video_start()
{
- groundfx_state *state = machine.driver_data<groundfx_state>();
- state->m_spritelist = auto_alloc_array(machine, struct tempsprite, 0x4000);
+ m_spritelist = auto_alloc_array(machine(), struct tempsprite, 0x4000);
/* Hack */
- state->m_hack_cliprect.set(69, 250, 24 + 5, 24 + 44);
+ m_hack_cliprect.set(69, 250, 24 + 5, 24 + 44);
}
/***************************************************************
diff --git a/src/mame/video/gstriker.c b/src/mame/video/gstriker.c
index 00c775ba3eb..711a15204c2 100644
--- a/src/mame/video/gstriker.c
+++ b/src/mame/video/gstriker.c
@@ -556,77 +556,74 @@ SCREEN_UPDATE_IND16(gstriker)
return 0;
}
-VIDEO_START(gstriker)
+VIDEO_START_MEMBER(gstriker_state,gstriker)
{
- gstriker_state *state = machine.driver_data<gstriker_state>();
// Palette bases are hardcoded, but should be probably extracted from the mixer registers
// Initalize the chip for the score plane
- VS920A_init(machine, 1);
- VS920A_set_gfx_region(state, 0, 0);
- VS920A_set_pal_base(state, 0, 0x30);
- VS920A_get_tilemap(state, 0)->set_transparent_pen(0xf);
+ VS920A_init(machine(), 1);
+ VS920A_set_gfx_region(this, 0, 0);
+ VS920A_set_pal_base(this, 0, 0x30);
+ VS920A_get_tilemap(this, 0)->set_transparent_pen(0xf);
// Initalize the chip for the screen plane
- MB60553_init(machine, 1);
- MB60553_set_gfx_region(state, 0, 1);
- MB60553_set_pal_base(state, 0, 0);
- MB60553_get_tilemap(state, 0)->set_transparent_pen(0xf);
+ MB60553_init(machine(), 1);
+ MB60553_set_gfx_region(this, 0, 1);
+ MB60553_set_pal_base(this, 0, 0);
+ MB60553_get_tilemap(this, 0)->set_transparent_pen(0xf);
// Initialize the sprite generator
CG10103_init(1);
- CG10103_set_gfx_region(state, 0, 2);
- CG10103_set_pal_base(state, 0, 0x10);
- CG10103_set_transpen(state, 0, 0x0);
+ CG10103_set_gfx_region(this, 0, 2);
+ CG10103_set_pal_base(this, 0, 0x10);
+ CG10103_set_transpen(this, 0, 0x0);
}
-VIDEO_START(twrldc94)
+VIDEO_START_MEMBER(gstriker_state,twrldc94)
{
- gstriker_state *state = machine.driver_data<gstriker_state>();
// Palette bases are hardcoded, but should be probably extracted from the mixer registers
// Initalize the chip for the score plane
- VS920A_init(machine, 1);
- VS920A_set_gfx_region(state, 0, 0);
- VS920A_set_pal_base(state, 0, 0x40);
- VS920A_get_tilemap(state, 0)->set_transparent_pen(0xf);
+ VS920A_init(machine(), 1);
+ VS920A_set_gfx_region(this, 0, 0);
+ VS920A_set_pal_base(this, 0, 0x40);
+ VS920A_get_tilemap(this, 0)->set_transparent_pen(0xf);
// Initalize the chip for the screen plane
- MB60553_init(machine, 1);
- MB60553_set_gfx_region(state, 0, 1);
- MB60553_set_pal_base(state, 0, 0x50);
- MB60553_get_tilemap(state, 0)->set_transparent_pen(0xf);
+ MB60553_init(machine(), 1);
+ MB60553_set_gfx_region(this, 0, 1);
+ MB60553_set_pal_base(this, 0, 0x50);
+ MB60553_get_tilemap(this, 0)->set_transparent_pen(0xf);
// Initialize the sprite generator
CG10103_init(1);
- CG10103_set_gfx_region(state, 0, 2);
- CG10103_set_pal_base(state, 0, 0x60);
- CG10103_set_transpen(state, 0, 0x0);
+ CG10103_set_gfx_region(this, 0, 2);
+ CG10103_set_pal_base(this, 0, 0x60);
+ CG10103_set_transpen(this, 0, 0x0);
}
-VIDEO_START(vgoalsoc)
+VIDEO_START_MEMBER(gstriker_state,vgoalsoc)
{
- gstriker_state *state = machine.driver_data<gstriker_state>();
// Palette bases are hardcoded, but should be probably extracted from the mixer registers
// Initalize the chip for the score plane
- VS920A_init(machine, 1);
- VS920A_set_gfx_region(state, 0, 0);
- VS920A_set_pal_base(state, 0, 0x30);
- VS920A_get_tilemap(state, 0)->set_transparent_pen(0xf);
+ VS920A_init(machine(), 1);
+ VS920A_set_gfx_region(this, 0, 0);
+ VS920A_set_pal_base(this, 0, 0x30);
+ VS920A_get_tilemap(this, 0)->set_transparent_pen(0xf);
// Initalize the chip for the screen plane
- MB60553_init(machine, 1);
- MB60553_set_gfx_region(state, 0, 1);
- MB60553_set_pal_base(state, 0, 0x20);
- MB60553_get_tilemap(state, 0)->set_transparent_pen(0xf);
+ MB60553_init(machine(), 1);
+ MB60553_set_gfx_region(this, 0, 1);
+ MB60553_set_pal_base(this, 0, 0x20);
+ MB60553_get_tilemap(this, 0)->set_transparent_pen(0xf);
// Initialize the sprite generator
CG10103_init(1);
- CG10103_set_gfx_region(state, 0, 2);
- CG10103_set_pal_base(state, 0, 0x00);
- CG10103_set_transpen(state, 0, 0xf);
+ CG10103_set_gfx_region(this, 0, 2);
+ CG10103_set_pal_base(this, 0, 0x00);
+ CG10103_set_transpen(this, 0, 0xf);
}
diff --git a/src/mame/video/gsword.c b/src/mame/video/gsword.c
index 9bd81d96e0b..5ca803b24e4 100644
--- a/src/mame/video/gsword.c
+++ b/src/mame/video/gsword.c
@@ -9,13 +9,13 @@
#include "includes/gsword.h"
-PALETTE_INIT( josvolly )
+PALETTE_INIT_MEMBER(gsword_state,josvolly)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -24,7 +24,7 @@ PALETTE_INIT( josvolly )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -32,24 +32,24 @@ PALETTE_INIT( josvolly )
/* characters */
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprites */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = (BITSWAP8(color_prom[i - 0x100],7,6,5,4,0,1,2,3) & 0x0f) | 0x80;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
-PALETTE_INIT( gsword )
+PALETTE_INIT_MEMBER(gsword_state,gsword)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -75,7 +75,7 @@ PALETTE_INIT( gsword )
bit2 = (color_prom[i + 0x000] >> 3) & 1;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -83,13 +83,13 @@ PALETTE_INIT( gsword )
/* characters */
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprites */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = (BITSWAP8(color_prom[i - 0x100],7,6,5,4,0,1,2,3) & 0x0f) | 0x80;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -152,10 +152,9 @@ TILE_GET_INFO_MEMBER(gsword_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( gsword )
+void gsword_state::video_start()
{
- gsword_state *state = machine.driver_data<gsword_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gsword_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gsword_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 64);
}
diff --git a/src/mame/video/gumbo.c b/src/mame/video/gumbo.c
index a7d59fa81e8..6547e1193ff 100644
--- a/src/mame/video/gumbo.c
+++ b/src/mame/video/gumbo.c
@@ -30,12 +30,11 @@ TILE_GET_INFO_MEMBER(gumbo_state::get_gumbo_fg_tile_info)
}
-VIDEO_START( gumbo )
+void gumbo_state::video_start()
{
- gumbo_state *state = machine.driver_data<gumbo_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gumbo_state::get_gumbo_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gumbo_state::get_gumbo_fg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
- state->m_fg_tilemap->set_transparent_pen(0xff);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gumbo_state::get_gumbo_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gumbo_state::get_gumbo_fg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
+ m_fg_tilemap->set_transparent_pen(0xff);
}
SCREEN_UPDATE_IND16( gumbo )
diff --git a/src/mame/video/gunbustr.c b/src/mame/video/gunbustr.c
index 6fb0b8bfacc..1f9f6f9afc2 100644
--- a/src/mame/video/gunbustr.c
+++ b/src/mame/video/gunbustr.c
@@ -4,10 +4,9 @@
/************************************************************/
-VIDEO_START( gunbustr )
+void gunbustr_state::video_start()
{
- gunbustr_state *state = machine.driver_data<gunbustr_state>();
- state->m_spritelist = auto_alloc_array(machine, struct tempsprite, 0x4000);
+ m_spritelist = auto_alloc_array(machine(), struct tempsprite, 0x4000);
}
/************************************************************
diff --git a/src/mame/video/gundealr.c b/src/mame/video/gundealr.c
index b880b765ee6..327086d35e1 100644
--- a/src/mame/video/gundealr.c
+++ b/src/mame/video/gundealr.c
@@ -50,13 +50,12 @@ TILE_GET_INFO_MEMBER(gundealr_state::get_fg_tile_info)
***************************************************************************/
-VIDEO_START( gundealr )
+void gundealr_state::video_start()
{
- gundealr_state *state = machine.driver_data<gundealr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gundealr_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gundealr_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(gundealr_state::gundealr_scan),state), 16, 16, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gundealr_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gundealr_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(gundealr_state::gundealr_scan),this), 16, 16, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/gunsmoke.c b/src/mame/video/gunsmoke.c
index 2f332d383cf..c986db23f5c 100644
--- a/src/mame/video/gunsmoke.c
+++ b/src/mame/video/gunsmoke.c
@@ -16,13 +16,13 @@
***************************************************************************/
-PALETTE_INIT( gunsmoke )
+void gunsmoke_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -31,7 +31,7 @@ PALETTE_INIT( gunsmoke )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -41,21 +41,21 @@ PALETTE_INIT( gunsmoke )
for (i = 0; i < 0x80; i++)
{
UINT8 ctabentry = color_prom[i] | 0x40;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* background tiles use colors 0-0x3f */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = color_prom[i] | ((color_prom[i + 0x100] & 0x03) << 4);
- colortable_entry_set_value(machine.colortable, i - 0x80, ctabentry);
+ colortable_entry_set_value(machine().colortable, i - 0x80, ctabentry);
}
/* sprites use colors 0x80-0xff */
for (i = 0x300; i < 0x400; i++)
{
UINT8 ctabentry = color_prom[i] | ((color_prom[i + 0x100] & 0x07) << 4) | 0x80;
- colortable_entry_set_value(machine.colortable, i - 0x180, ctabentry);
+ colortable_entry_set_value(machine().colortable, i - 0x180, ctabentry);
}
}
@@ -127,13 +127,12 @@ TILE_GET_INFO_MEMBER(gunsmoke_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( gunsmoke )
+void gunsmoke_state::video_start()
{
- gunsmoke_state *state = machine.driver_data<gunsmoke_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gunsmoke_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gunsmoke_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gunsmoke_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gunsmoke_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0x4f);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, machine().gfx[0], 0x4f);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/gyruss.c b/src/mame/video/gyruss.c
index d6546eb427c..485ee42cbac 100644
--- a/src/mame/video/gyruss.c
+++ b/src/mame/video/gyruss.c
@@ -29,9 +29,9 @@
***************************************************************************/
-PALETTE_INIT( gyruss )
+void gyruss_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double weights_rg[3], weights_b[2];
@@ -44,7 +44,7 @@ PALETTE_INIT( gyruss )
0, 0, 0, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( gyruss )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(weights_b, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -79,14 +79,14 @@ PALETTE_INIT( gyruss )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* characters map to the upper 16 palette entries */
for (i = 0x100; i < 0x140; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry + 0x10);
+ colortable_entry_set_value(machine().colortable, i, ctabentry + 0x10);
}
}
@@ -111,12 +111,11 @@ TILE_GET_INFO_MEMBER(gyruss_state::gyruss_get_tile_info)
}
-VIDEO_START( gyruss )
+void gyruss_state::video_start()
{
- gyruss_state *state = machine.driver_data<gyruss_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gyruss_state::gyruss_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tilemap->set_transmask(0, 0x00, 0); /* opaque */
- state->m_tilemap->set_transmask(1, 0x0f, 0); /* transparent */
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(gyruss_state::gyruss_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tilemap->set_transmask(0, 0x00, 0); /* opaque */
+ m_tilemap->set_transmask(1, 0x0f, 0); /* transparent */
}
diff --git a/src/mame/video/hanaawas.c b/src/mame/video/hanaawas.c
index ccb149717fe..93c9ccf4f92 100644
--- a/src/mame/video/hanaawas.c
+++ b/src/mame/video/hanaawas.c
@@ -15,13 +15,13 @@
***************************************************************************/
-PALETTE_INIT( hanaawas )
+void hanaawas_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x10);
+ machine().colortable = colortable_alloc(machine(), 0x10);
/* create a lookup table for the palette */
for (i = 0; i < 0x10; i++)
@@ -47,7 +47,7 @@ PALETTE_INIT( hanaawas )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -59,7 +59,7 @@ PALETTE_INIT( hanaawas )
{
int swapped_i = BITSWAP8(i,2,7,6,5,4,3,1,0);
UINT8 ctabentry = color_prom[swapped_i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -101,10 +101,9 @@ TILE_GET_INFO_MEMBER(hanaawas_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
}
-VIDEO_START( hanaawas )
+void hanaawas_state::video_start()
{
- hanaawas_state *state = machine.driver_data<hanaawas_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hanaawas_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hanaawas_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
SCREEN_UPDATE_IND16( hanaawas )
diff --git a/src/mame/video/harddriv.c b/src/mame/video/harddriv.c
index d9e656811e4..124509f6a67 100644
--- a/src/mame/video/harddriv.c
+++ b/src/mame/video/harddriv.c
@@ -28,16 +28,15 @@
*
*************************************/
-VIDEO_START( harddriv )
+VIDEO_START_MEMBER(harddriv_state,harddriv)
{
- harddriv_state *state = machine.driver_data<harddriv_state>();
UINT32 *destmask, mask;
int i;
/* fill in the mask table */
- destmask = state->m_mask_table;
+ destmask = m_mask_table;
for (i = 0; i < 65536; i++)
- if (state->m_gsp_multisync)
+ if (m_gsp_multisync)
{
mask = 0;
if (i & 0x0001) mask |= MASK(0);
@@ -85,7 +84,7 @@ VIDEO_START( harddriv )
}
/* init VRAM pointers */
- state->m_vram_mask = state->m_gsp_vram.bytes() - 1;
+ m_vram_mask = m_gsp_vram.bytes() - 1;
}
diff --git a/src/mame/video/hcastle.c b/src/mame/video/hcastle.c
index f9e62cd8f65..4c0afd21359 100644
--- a/src/mame/video/hcastle.c
+++ b/src/mame/video/hcastle.c
@@ -9,13 +9,13 @@
#include "includes/hcastle.h"
-PALETTE_INIT( hcastle )
+void hcastle_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int chip;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x80);
+ machine().colortable = colortable_alloc(machine(), 0x80);
for (chip = 0; chip < 2; chip++)
{
@@ -35,7 +35,7 @@ PALETTE_INIT( hcastle )
else
ctabentry = (pal << 4) | (color_prom[(clut << 8) | i] & 0x0f);
- colortable_entry_set_value(machine.colortable, (chip << 11) | (pal << 8) | i, ctabentry);
+ colortable_entry_set_value(machine().colortable, (chip << 11) | (pal << 8) | i, ctabentry);
}
}
}
@@ -127,14 +127,13 @@ TILE_GET_INFO_MEMBER(hcastle_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( hcastle )
+void hcastle_state::video_start()
{
- hcastle_state *state = machine.driver_data<hcastle_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hcastle_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(hcastle_state::tilemap_scan),state), 8, 8, 64, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hcastle_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(hcastle_state::tilemap_scan),state), 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hcastle_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(hcastle_state::tilemap_scan),this), 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hcastle_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(hcastle_state::tilemap_scan),this), 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/hexion.c b/src/mame/video/hexion.c
index 5b54ada764f..600aea90eac 100644
--- a/src/mame/video/hexion.c
+++ b/src/mame/video/hexion.c
@@ -38,19 +38,18 @@ TILE_GET_INFO_MEMBER(hexion_state::get_tile_info1)
***************************************************************************/
-VIDEO_START( hexion )
+void hexion_state::video_start()
{
- hexion_state *state = machine.driver_data<hexion_state>();
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hexion_state::get_tile_info0),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hexion_state::get_tile_info1),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hexion_state::get_tile_info0),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hexion_state::get_tile_info1),this),TILEMAP_SCAN_ROWS, 8,8,64,32);
- state->m_bg_tilemap[0]->set_transparent_pen(0);
- state->m_bg_tilemap[1]->set_scrollx(0,-4);
- state->m_bg_tilemap[1]->set_scrolly(0,4);
+ m_bg_tilemap[0]->set_transparent_pen(0);
+ m_bg_tilemap[1]->set_scrollx(0,-4);
+ m_bg_tilemap[1]->set_scrolly(0,4);
- state->m_vram[0] = state->memregion("maincpu")->base() + 0x30000;
- state->m_vram[1] = state->m_vram[0] + 0x2000;
- state->m_unkram = state->m_vram[1] + 0x2000;
+ m_vram[0] = memregion("maincpu")->base() + 0x30000;
+ m_vram[1] = m_vram[0] + 0x2000;
+ m_unkram = m_vram[1] + 0x2000;
}
diff --git a/src/mame/video/higemaru.c b/src/mame/video/higemaru.c
index 5e24fe017c9..c53256a6380 100644
--- a/src/mame/video/higemaru.c
+++ b/src/mame/video/higemaru.c
@@ -19,13 +19,13 @@ WRITE8_MEMBER(higemaru_state::higemaru_colorram_w)
***************************************************************************/
-PALETTE_INIT( higemaru )
+void higemaru_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -51,7 +51,7 @@ PALETTE_INIT( higemaru )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -61,14 +61,14 @@ PALETTE_INIT( higemaru )
for (i = 0; i < 0x80; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites use colors 16-31 */
for (i = 0x80; i < 0x180; i++)
{
UINT8 ctabentry = (color_prom[i + 0x80] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -97,10 +97,9 @@ TILE_GET_INFO_MEMBER(higemaru_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( higemaru )
+void higemaru_state::video_start()
{
- higemaru_state *state = machine.driver_data<higemaru_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(higemaru_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(higemaru_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/himesiki.c b/src/mame/video/himesiki.c
index 060591965f6..76bed981fc7 100644
--- a/src/mame/video/himesiki.c
+++ b/src/mame/video/himesiki.c
@@ -20,10 +20,9 @@ TILE_GET_INFO_MEMBER(himesiki_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, col, 0);
}
-VIDEO_START( himesiki )
+void himesiki_state::video_start()
{
- himesiki_state *state = machine.driver_data<himesiki_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(himesiki_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(himesiki_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
WRITE8_MEMBER(himesiki_state::himesiki_bg_ram_w)
diff --git a/src/mame/video/hnayayoi.c b/src/mame/video/hnayayoi.c
index 336f4fa9d8f..bcb0193c465 100644
--- a/src/mame/video/hnayayoi.c
+++ b/src/mame/video/hnayayoi.c
@@ -30,30 +30,28 @@ static void common_vh_start( running_machine &machine, int num_pixmaps )
}
}
-VIDEO_START( hnayayoi )
+void hnayayoi_state::video_start()
{
- hnayayoi_state *state = machine.driver_data<hnayayoi_state>();
- common_vh_start(machine, 4); /* 4 bitmaps -> 2 layers */
+ common_vh_start(machine(), 4); /* 4 bitmaps -> 2 layers */
- state->save_pointer(NAME(state->m_pixmap[0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[3]), 256 * 256);
+ save_pointer(NAME(m_pixmap[0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2]), 256 * 256);
+ save_pointer(NAME(m_pixmap[3]), 256 * 256);
}
-VIDEO_START( untoucha )
+VIDEO_START_MEMBER(hnayayoi_state,untoucha)
{
- hnayayoi_state *state = machine.driver_data<hnayayoi_state>();
- common_vh_start(machine, 8); /* 8 bitmaps -> 4 layers */
-
- state->save_pointer(NAME(state->m_pixmap[0]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[1]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[2]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[3]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[4]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[5]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[6]), 256 * 256);
- state->save_pointer(NAME(state->m_pixmap[7]), 256 * 256);
+ common_vh_start(machine(), 8); /* 8 bitmaps -> 4 layers */
+
+ save_pointer(NAME(m_pixmap[0]), 256 * 256);
+ save_pointer(NAME(m_pixmap[1]), 256 * 256);
+ save_pointer(NAME(m_pixmap[2]), 256 * 256);
+ save_pointer(NAME(m_pixmap[3]), 256 * 256);
+ save_pointer(NAME(m_pixmap[4]), 256 * 256);
+ save_pointer(NAME(m_pixmap[5]), 256 * 256);
+ save_pointer(NAME(m_pixmap[6]), 256 * 256);
+ save_pointer(NAME(m_pixmap[7]), 256 * 256);
}
diff --git a/src/mame/video/hng64.c b/src/mame/video/hng64.c
index 226fe8c3038..ad5566d26da 100644
--- a/src/mame/video/hng64.c
+++ b/src/mame/video/hng64.c
@@ -1645,56 +1645,55 @@ SCREEN_VBLANK( hng64 )
clear3d(screen.machine());
}
-VIDEO_START( hng64 )
+void hng64_state::video_start()
{
- hng64_state *state = machine.driver_data<hng64_state>();
- const rectangle &visarea = machine.primary_screen->visible_area();
+ const rectangle &visarea = machine().primary_screen->visible_area();
- state->m_old_animmask = -1;
- state->m_old_animbits = -1;
- state->m_old_tileflags0 = -1;
- state->m_old_tileflags1 = -1;
- state->m_old_tileflags2 = -1;
- state->m_old_tileflags3 = -1;
+ m_old_animmask = -1;
+ m_old_animbits = -1;
+ m_old_tileflags0 = -1;
+ m_old_tileflags1 = -1;
+ m_old_tileflags2 = -1;
+ m_old_tileflags3 = -1;
- state->m_tilemap0_8x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile0_8x8_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap0_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile0_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap0_16x16_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile0_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
+ m_tilemap0_8x8 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile0_8x8_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
+ m_tilemap0_16x16 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile0_16x16_info),this), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
+ m_tilemap0_16x16_alt = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile0_16x16_info),this), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
- state->m_tilemap1_8x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile1_8x8_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap1_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile1_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap1_16x16_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile1_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
+ m_tilemap1_8x8 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile1_8x8_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
+ m_tilemap1_16x16 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile1_16x16_info),this), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
+ m_tilemap1_16x16_alt = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile1_16x16_info),this), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
- state->m_tilemap2_8x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile2_8x8_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap2_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile2_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap2_16x16_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile2_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
+ m_tilemap2_8x8 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile2_8x8_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
+ m_tilemap2_16x16 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile2_16x16_info),this), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
+ m_tilemap2_16x16_alt = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile2_16x16_info),this), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
- state->m_tilemap3_8x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile3_8x8_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap3_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile3_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap3_16x16_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile3_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
+ m_tilemap3_8x8 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile3_8x8_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
+ m_tilemap3_16x16 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile3_16x16_info),this), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
+ m_tilemap3_16x16_alt = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile3_16x16_info),this), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
- state->m_tilemap0_8x8->set_transparent_pen(0);
- state->m_tilemap0_16x16->set_transparent_pen(0);
- state->m_tilemap0_16x16_alt->set_transparent_pen(0);
+ m_tilemap0_8x8->set_transparent_pen(0);
+ m_tilemap0_16x16->set_transparent_pen(0);
+ m_tilemap0_16x16_alt->set_transparent_pen(0);
- state->m_tilemap1_8x8->set_transparent_pen(0);
- state->m_tilemap1_16x16->set_transparent_pen(0);
- state->m_tilemap1_16x16_alt->set_transparent_pen(0);
+ m_tilemap1_8x8->set_transparent_pen(0);
+ m_tilemap1_16x16->set_transparent_pen(0);
+ m_tilemap1_16x16_alt->set_transparent_pen(0);
- state->m_tilemap2_8x8->set_transparent_pen(0);
- state->m_tilemap2_16x16->set_transparent_pen(0);
- state->m_tilemap2_16x16_alt->set_transparent_pen(0);
+ m_tilemap2_8x8->set_transparent_pen(0);
+ m_tilemap2_16x16->set_transparent_pen(0);
+ m_tilemap2_16x16_alt->set_transparent_pen(0);
- state->m_tilemap3_8x8->set_transparent_pen(0);
- state->m_tilemap3_16x16->set_transparent_pen(0);
- state->m_tilemap3_16x16_alt->set_transparent_pen(0);
+ m_tilemap3_8x8->set_transparent_pen(0);
+ m_tilemap3_16x16->set_transparent_pen(0);
+ m_tilemap3_16x16_alt->set_transparent_pen(0);
// Debug switch, turn on / off additive blending on a per-tilemap basis
- state->m_additive_tilemap_debug = 0;
+ m_additive_tilemap_debug = 0;
// 3d Buffer Allocation
- state->m_depthBuffer3d = auto_alloc_array(machine, float, (visarea.max_x + 1)*(visarea.max_y + 1));
- state->m_colorBuffer3d = auto_alloc_array(machine, UINT32, (visarea.max_x + 1)*(visarea.max_y + 1));
+ m_depthBuffer3d = auto_alloc_array(machine(), float, (visarea.max_x + 1)*(visarea.max_y + 1));
+ m_colorBuffer3d = auto_alloc_array(machine(), UINT32, (visarea.max_x + 1)*(visarea.max_y + 1));
}
diff --git a/src/mame/video/holeland.c b/src/mame/video/holeland.c
index 4e5325a88e3..a9f6df7ae82 100644
--- a/src/mame/video/holeland.c
+++ b/src/mame/video/holeland.c
@@ -52,19 +52,17 @@ TILE_GET_INFO_MEMBER(holeland_state::crzrally_get_tile_info)
***************************************************************************/
-VIDEO_START( holeland )
+VIDEO_START_MEMBER(holeland_state,holeland)
{
- holeland_state *state = machine.driver_data<holeland_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(holeland_state::holeland_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(holeland_state::holeland_get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x01, 0xfe); /* split type 1 has pen 0? transparent in front half */
+ m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x01, 0xfe); /* split type 1 has pen 0? transparent in front half */
}
-VIDEO_START( crzrally )
+VIDEO_START_MEMBER(holeland_state,crzrally)
{
- holeland_state *state = machine.driver_data<holeland_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(holeland_state::crzrally_get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(holeland_state::crzrally_get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
}
WRITE8_MEMBER(holeland_state::holeland_videoram_w)
diff --git a/src/mame/video/homedata.c b/src/mame/video/homedata.c
index 4073a875133..4487b70633d 100644
--- a/src/mame/video/homedata.c
+++ b/src/mame/video/homedata.c
@@ -313,9 +313,9 @@ finish:
***************************************************************************/
-PALETTE_INIT( mrokumei )
+PALETTE_INIT_MEMBER(homedata_state,mrokumei)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* initialize 555 RGB palette */
@@ -332,13 +332,13 @@ PALETTE_INIT( mrokumei )
g = ((color >> 7) & 0x1e) | ((color >> 2) & 1);
b = ((color >> 3) & 0x1e) | ((color >> 1) & 1);
- palette_set_color_rgb(machine, i, pal5bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(), i, pal5bit(r), pal5bit(g), pal5bit(b));
}
}
-PALETTE_INIT( reikaids )
+PALETTE_INIT_MEMBER(homedata_state,reikaids)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* initialize 555 RGB palette */
@@ -355,13 +355,13 @@ PALETTE_INIT( reikaids )
r = ((color >> 7) & 0x1e) | ((color >> 2) & 1);
b = ((color >> 3) & 0x1e) | ((color >> 1) & 1);
- palette_set_color_rgb(machine, i, pal5bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(), i, pal5bit(r), pal5bit(g), pal5bit(b));
}
}
-PALETTE_INIT( pteacher )
+PALETTE_INIT_MEMBER(homedata_state,pteacher)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* initialize 555 RGB palette */
@@ -378,13 +378,13 @@ PALETTE_INIT( pteacher )
r = ((color >> 6) & 0x1f);
b = ((color >> 1) & 0x1f);
- palette_set_color_rgb(machine, i, pal5bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(), i, pal5bit(r), pal5bit(g), pal5bit(b));
}
}
-PALETTE_INIT( mirderby )
+PALETTE_INIT_MEMBER(homedata_state,mirderby)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 0x100; i++)
@@ -394,7 +394,7 @@ PALETTE_INIT( mirderby )
g = color_prom[0x100+i];
b = color_prom[0x200+i];
- palette_set_color_rgb(machine,i,pal4bit(r),pal4bit(g),pal4bit(b));
+ palette_set_color_rgb(machine(),i,pal4bit(r),pal4bit(g),pal4bit(b));
}
}
@@ -623,74 +623,69 @@ TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info1_1)
***************************************************************************/
-VIDEO_START( mrokumei )
+VIDEO_START_MEMBER(homedata_state,mrokumei)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ m_bg_tilemap[0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ m_bg_tilemap[0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ m_bg_tilemap[1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info1_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ m_bg_tilemap[1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info1_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[0][1]->set_transparent_pen(0);
- state->m_bg_tilemap[1][1]->set_transparent_pen(0);
+ m_bg_tilemap[0][1]->set_transparent_pen(0);
+ m_bg_tilemap[1][1]->set_transparent_pen(0);
}
-VIDEO_START( reikaids )
+VIDEO_START_MEMBER(homedata_state,reikaids)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_2),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[0][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_3),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_2),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_3),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
-
- state->m_bg_tilemap[0][0]->set_transparent_pen(0xff);
- state->m_bg_tilemap[0][1]->set_transparent_pen(0xff);
- state->m_bg_tilemap[0][2]->set_transparent_pen(0xff);
- state->m_bg_tilemap[0][3]->set_transparent_pen(0xff);
- state->m_bg_tilemap[1][0]->set_transparent_pen(0xff);
- state->m_bg_tilemap[1][1]->set_transparent_pen(0xff);
- state->m_bg_tilemap[1][2]->set_transparent_pen(0xff);
- state->m_bg_tilemap[1][3]->set_transparent_pen(0xff);
+ m_bg_tilemap[0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[0][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_2),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[0][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_3),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_0),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_1),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[1][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_2),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap[1][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_3),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+
+ m_bg_tilemap[0][0]->set_transparent_pen(0xff);
+ m_bg_tilemap[0][1]->set_transparent_pen(0xff);
+ m_bg_tilemap[0][2]->set_transparent_pen(0xff);
+ m_bg_tilemap[0][3]->set_transparent_pen(0xff);
+ m_bg_tilemap[1][0]->set_transparent_pen(0xff);
+ m_bg_tilemap[1][1]->set_transparent_pen(0xff);
+ m_bg_tilemap[1][2]->set_transparent_pen(0xff);
+ m_bg_tilemap[1][3]->set_transparent_pen(0xff);
}
-VIDEO_START( pteacher )
+VIDEO_START_MEMBER(homedata_state,pteacher)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap[0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap[0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap[1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info1_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap[1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info1_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[0][1]->set_transparent_pen(0xff);
- state->m_bg_tilemap[1][1]->set_transparent_pen(0xff);
+ m_bg_tilemap[0][1]->set_transparent_pen(0xff);
+ m_bg_tilemap[1][1]->set_transparent_pen(0xff);
}
-VIDEO_START( lemnangl )
+VIDEO_START_MEMBER(homedata_state,lemnangl)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap[0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap[0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap[1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info1_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap[1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info1_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[0][1]->set_transparent_pen(0x0f);
- state->m_bg_tilemap[1][1]->set_transparent_pen(0x0f);
+ m_bg_tilemap[0][1]->set_transparent_pen(0x0f);
+ m_bg_tilemap[1][1]->set_transparent_pen(0x0f);
}
-VIDEO_START( mirderby )
+VIDEO_START_MEMBER(homedata_state,mirderby)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ m_bg_tilemap[0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ m_bg_tilemap[0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ m_bg_tilemap[1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info1_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ m_bg_tilemap[1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info1_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[0][1]->set_transparent_pen(0);
- state->m_bg_tilemap[1][1]->set_transparent_pen(0);
+ m_bg_tilemap[0][1]->set_transparent_pen(0);
+ m_bg_tilemap[1][1]->set_transparent_pen(0);
}
/***************************************************************************
diff --git a/src/mame/video/homerun.c b/src/mame/video/homerun.c
index da6c0351085..9c7e1226c39 100644
--- a/src/mame/video/homerun.c
+++ b/src/mame/video/homerun.c
@@ -96,10 +96,9 @@ TILE_GET_INFO_MEMBER(homerun_state::get_homerun_tile_info)
}
-VIDEO_START( homerun )
+void homerun_state::video_start()
{
- homerun_state *state = machine.driver_data<homerun_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homerun_state::get_homerun_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(homerun_state::get_homerun_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
}
diff --git a/src/mame/video/hyhoo.c b/src/mame/video/hyhoo.c
index 840da6d5969..e2cad5ce3ef 100644
--- a/src/mame/video/hyhoo.c
+++ b/src/mame/video/hyhoo.c
@@ -222,10 +222,9 @@ static void hyhoo_gfxdraw(running_machine &machine)
}
-VIDEO_START( hyhoo )
+void hyhoo_state::video_start()
{
- hyhoo_state *state = machine.driver_data<hyhoo_state>();
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap);
}
diff --git a/src/mame/video/hyperspt.c b/src/mame/video/hyperspt.c
index 54c6c34b640..c34a715d3bb 100644
--- a/src/mame/video/hyperspt.c
+++ b/src/mame/video/hyperspt.c
@@ -29,9 +29,9 @@
***************************************************************************/
-PALETTE_INIT( hyperspt )
+void hyperspt_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b[2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -44,7 +44,7 @@ PALETTE_INIT( hyperspt )
2, &resistances_b[0], bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( hyperspt )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -79,14 +79,14 @@ PALETTE_INIT( hyperspt )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* characters */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -120,12 +120,11 @@ TILE_GET_INFO_MEMBER(hyperspt_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-VIDEO_START( hyperspt )
+void hyperspt_state::video_start()
{
- hyperspt_state *state = machine.driver_data<hyperspt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyperspt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hyperspt_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap->set_scroll_rows(32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -199,10 +198,9 @@ TILE_GET_INFO_MEMBER(hyperspt_state::roadf_get_bg_tile_info)
SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-VIDEO_START( roadf )
+VIDEO_START_MEMBER(hyperspt_state,roadf)
{
- hyperspt_state *state = machine.driver_data<hyperspt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyperspt_state::roadf_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hyperspt_state::roadf_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap->set_scroll_rows(32);
}
diff --git a/src/mame/video/hyprduel.c b/src/mame/video/hyprduel.c
index 27109f42bfb..1bd8d097cf5 100644
--- a/src/mame/video/hyprduel.c
+++ b/src/mame/video/hyprduel.c
@@ -356,56 +356,53 @@ static void expand_gfx1(hyprduel_state &state)
}
}
-static VIDEO_START( common_14220 )
+VIDEO_START_MEMBER(hyprduel_state,common_14220)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- expand_gfx1(*state);
- alloc_empty_tiles(machine);
- state->m_tiletable_old = auto_alloc_array(machine, UINT16, state->m_tiletable.bytes() / 2);
- state->m_dirtyindex = auto_alloc_array(machine, UINT8, state->m_tiletable.bytes() / 4);
+ expand_gfx1(*this);
+ alloc_empty_tiles(machine());
+ m_tiletable_old = auto_alloc_array(machine(), UINT16, m_tiletable.bytes() / 2);
+ m_dirtyindex = auto_alloc_array(machine(), UINT8, m_tiletable.bytes() / 4);
- state->save_pointer(NAME(state->m_tiletable_old), state->m_tiletable.bytes() / 2);
- state->save_pointer(NAME(state->m_dirtyindex), state->m_tiletable.bytes() / 4);
+ save_pointer(NAME(m_tiletable_old), m_tiletable.bytes() / 2);
+ save_pointer(NAME(m_dirtyindex), m_tiletable.bytes() / 4);
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyprduel_state::get_tile_info_0_8bit),state), TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyprduel_state::get_tile_info_1_8bit),state), TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
- state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyprduel_state::get_tile_info_2_8bit),state), TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hyprduel_state::get_tile_info_0_8bit),this), TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hyprduel_state::get_tile_info_1_8bit),this), TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
+ m_bg_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(hyprduel_state::get_tile_info_2_8bit),this), TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
- state->m_bg_tilemap[0]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
- state->m_bg_tilemap[0]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
+ m_bg_tilemap[0]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
+ m_bg_tilemap[0]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
- state->m_bg_tilemap[1]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
- state->m_bg_tilemap[1]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
+ m_bg_tilemap[1]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
+ m_bg_tilemap[1]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
- state->m_bg_tilemap[2]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
- state->m_bg_tilemap[2]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
+ m_bg_tilemap[2]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
+ m_bg_tilemap[2]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
- state->m_bg_tilemap[0]->set_scrolldx(0, 0);
- state->m_bg_tilemap[1]->set_scrolldx(0, 0);
- state->m_bg_tilemap[2]->set_scrolldx(0, 0);
+ m_bg_tilemap[0]->set_scrolldx(0, 0);
+ m_bg_tilemap[1]->set_scrolldx(0, 0);
+ m_bg_tilemap[2]->set_scrolldx(0, 0);
/* Set up save state */
- state->save_item(NAME(state->m_sprite_xoffs));
- state->save_item(NAME(state->m_sprite_yoffs));
- machine.save().register_postload(save_prepost_delegate(FUNC(hyprduel_postload), &machine));
+ save_item(NAME(m_sprite_xoffs));
+ save_item(NAME(m_sprite_yoffs));
+ machine().save().register_postload(save_prepost_delegate(FUNC(hyprduel_postload), &machine()));
}
-VIDEO_START( hyprduel_14220 )
+VIDEO_START_MEMBER(hyprduel_state,hyprduel_14220)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- state->m_sprite_yoffs_sub = 2;
+ m_sprite_yoffs_sub = 2;
- VIDEO_START_CALL(common_14220);
+ VIDEO_START_CALL_MEMBER(common_14220);
}
-VIDEO_START( magerror_14220 )
+VIDEO_START_MEMBER(hyprduel_state,magerror_14220)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- state->m_sprite_yoffs_sub = 0;
+ m_sprite_yoffs_sub = 0;
- VIDEO_START_CALL(common_14220);
+ VIDEO_START_CALL_MEMBER(common_14220);
}
/***************************************************************************
diff --git a/src/mame/video/ikki.c b/src/mame/video/ikki.c
index ff5bcccb932..ef951496898 100644
--- a/src/mame/video/ikki.c
+++ b/src/mame/video/ikki.c
@@ -11,14 +11,13 @@ Video hardware driver by Uki
#include "emu.h"
#include "includes/ikki.h"
-PALETTE_INIT( ikki )
+void ikki_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- ikki_state *state = machine.driver_data<ikki_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable - extra pen for the punch through pen */
- machine.colortable = colortable_alloc(machine, 0x101);
+ machine().colortable = colortable_alloc(machine(), 0x101);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -27,7 +26,7 @@ PALETTE_INIT( ikki )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -41,18 +40,18 @@ PALETTE_INIT( ikki )
if (((i & 0x07) == 0x07) && (ctabentry == 0))
{
/* punch through */
- state->m_punch_through_pen = i;
+ m_punch_through_pen = i;
ctabentry = 0x100;
}
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* bg lookup table */
for (i = 0x200; i < 0x400; i++)
{
UINT8 ctabentry = color_prom[i];
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -116,11 +115,10 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
}
-VIDEO_START( ikki )
+void ikki_state::video_start()
{
- ikki_state *state = machine.driver_data<ikki_state>();
- machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
- state->save_item(NAME(state->m_sprite_bitmap));
+ machine().primary_screen->register_screen_bitmap(m_sprite_bitmap);
+ save_item(NAME(m_sprite_bitmap));
}
diff --git a/src/mame/video/inufuku.c b/src/mame/video/inufuku.c
index 12c5014b7f4..6f71b340e72 100644
--- a/src/mame/video/inufuku.c
+++ b/src/mame/video/inufuku.c
@@ -208,15 +208,14 @@ WRITE16_MEMBER(inufuku_state::inufuku_tx_videoram_w)
******************************************************************************/
-VIDEO_START( inufuku )
+void inufuku_state::video_start()
{
- inufuku_state *state = machine.driver_data<inufuku_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(inufuku_state::get_inufuku_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(inufuku_state::get_inufuku_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(inufuku_state::get_inufuku_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(inufuku_state::get_inufuku_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_bg_tilemap->set_transparent_pen(255);
- state->m_tx_tilemap->set_transparent_pen(255);
+ m_bg_tilemap->set_transparent_pen(255);
+ m_tx_tilemap->set_transparent_pen(255);
}
diff --git a/src/mame/video/iqblock.c b/src/mame/video/iqblock.c
index 3a5853c181c..a510a83349c 100644
--- a/src/mame/video/iqblock.c
+++ b/src/mame/video/iqblock.c
@@ -36,14 +36,13 @@ TILE_GET_INFO_MEMBER(iqblock_state::get_fg_tile_info)
***************************************************************************/
-VIDEO_START( iqblock )
+void iqblock_state::video_start()
{
- iqblock_state *state = machine.driver_data<iqblock_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(iqblock_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(iqblock_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,32,64, 8);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(iqblock_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(iqblock_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,32,64, 8);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scroll_cols(64);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_scroll_cols(64);
}
diff --git a/src/mame/video/irobot.c b/src/mame/video/irobot.c
index c53d9c3ae5e..c5f1255d49e 100644
--- a/src/mame/video/irobot.c
+++ b/src/mame/video/irobot.c
@@ -37,9 +37,9 @@
***************************************************************************/
-PALETTE_INIT( irobot )
+void irobot_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* convert the color prom for the text palette */
@@ -53,7 +53,7 @@ PALETTE_INIT( irobot )
int swapped_i = BITSWAP8(i,7,6,5,4,3,0,1,2);
- palette_set_color(machine, swapped_i + 64, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), swapped_i + 64, MAKE_RGB(r, g, b));
}
}
@@ -94,22 +94,21 @@ void irobot_poly_clear(running_machine &machine)
Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( irobot )
+void irobot_state::video_start()
{
- irobot_state *state = machine.driver_data<irobot_state>();
/* Setup 2 bitmaps for the polygon generator */
- int height = machine.primary_screen->height();
- state->m_polybitmap1 = auto_alloc_array(machine, UINT8, BITMAP_WIDTH * height);
- state->m_polybitmap2 = auto_alloc_array(machine, UINT8, BITMAP_WIDTH * height);
+ int height = machine().primary_screen->height();
+ m_polybitmap1 = auto_alloc_array(machine(), UINT8, BITMAP_WIDTH * height);
+ m_polybitmap2 = auto_alloc_array(machine(), UINT8, BITMAP_WIDTH * height);
/* clear the bitmaps so we start with valid palette look-up values for drawing */
- _irobot_poly_clear(machine, state->m_polybitmap1);
- _irobot_poly_clear(machine, state->m_polybitmap2);
+ _irobot_poly_clear(machine(), m_polybitmap1);
+ _irobot_poly_clear(machine(), m_polybitmap2);
/* Set clipping */
- state->m_ir_xmin = state->m_ir_ymin = 0;
- state->m_ir_xmax = machine.primary_screen->width();
- state->m_ir_ymax = machine.primary_screen->height();
+ m_ir_xmin = m_ir_ymin = 0;
+ m_ir_xmax = machine().primary_screen->width();
+ m_ir_ymax = machine().primary_screen->height();
}
diff --git a/src/mame/video/ironhors.c b/src/mame/video/ironhors.c
index 034511dfa77..0356d444696 100644
--- a/src/mame/video/ironhors.c
+++ b/src/mame/video/ironhors.c
@@ -16,9 +16,9 @@
***************************************************************************/
-PALETTE_INIT( ironhors )
+void ironhors_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[4] = { 2000, 1000, 470, 220 };
double rweights[4], gweights[4], bweights[4];
int i;
@@ -30,7 +30,7 @@ PALETTE_INIT( ironhors )
4, resistances, bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -59,7 +59,7 @@ PALETTE_INIT( ironhors )
bit3 = (color_prom[i + 0x200] >> 3) & 0x01;
b = combine_4_weights(bweights, bit0, bit1, bit2, bit3);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table,*/
@@ -74,7 +74,7 @@ PALETTE_INIT( ironhors )
for (j = 0; j < 8; j++)
{
UINT8 ctabentry = (j << 5) | ((~i & 0x100) >> 4) | (color_prom[i] & 0x0f);
- colortable_entry_set_value(machine.colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
+ colortable_entry_set_value(machine().colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
}
}
}
@@ -143,12 +143,11 @@ TILE_GET_INFO_MEMBER(ironhors_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( ironhors )
+void ironhors_state::video_start()
{
- ironhors_state *state = machine.driver_data<ironhors_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ironhors_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ironhors_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap->set_scroll_rows(32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -258,12 +257,11 @@ TILE_GET_INFO_MEMBER(ironhors_state::farwest_get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( farwest )
+VIDEO_START_MEMBER(ironhors_state,farwest)
{
- ironhors_state *state = machine.driver_data<ironhors_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ironhors_state::farwest_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ironhors_state::farwest_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap->set_scroll_rows(32);
}
static void farwest_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/itech32.c b/src/mame/video/itech32.c
index b7727f0e689..610ca2d409a 100644
--- a/src/mame/video/itech32.c
+++ b/src/mame/video/itech32.c
@@ -161,42 +161,41 @@ INLINE void enable_clipping(itech32_state *state)
*
*************************************/
-VIDEO_START( itech32 )
+void itech32_state::video_start()
{
- itech32_state *state = machine.driver_data<itech32_state>();
int i;
/* allocate memory */
- state->m_videoram = auto_alloc_array(machine, UINT16, VRAM_WIDTH * (state->m_vram_height + 16) * 2);
- memset(state->m_videoram, 0xff, VRAM_WIDTH * (state->m_vram_height + 16) * 2 * 2);
+ m_videoram = auto_alloc_array(machine(), UINT16, VRAM_WIDTH * (m_vram_height + 16) * 2);
+ memset(m_videoram, 0xff, VRAM_WIDTH * (m_vram_height + 16) * 2 * 2);
/* videoplane[0] is the foreground; videoplane[1] is the background */
- state->m_videoplane[0] = &state->m_videoram[0 * VRAM_WIDTH * (state->m_vram_height + 16) + 8 * VRAM_WIDTH];
- state->m_videoplane[1] = &state->m_videoram[1 * VRAM_WIDTH * (state->m_vram_height + 16) + 8 * VRAM_WIDTH];
+ m_videoplane[0] = &m_videoram[0 * VRAM_WIDTH * (m_vram_height + 16) + 8 * VRAM_WIDTH];
+ m_videoplane[1] = &m_videoram[1 * VRAM_WIDTH * (m_vram_height + 16) + 8 * VRAM_WIDTH];
/* set the masks */
- state->m_vram_mask = VRAM_WIDTH * state->m_vram_height - 1;
- state->m_vram_xmask = VRAM_WIDTH - 1;
- state->m_vram_ymask = state->m_vram_height - 1;
+ m_vram_mask = VRAM_WIDTH * m_vram_height - 1;
+ m_vram_xmask = VRAM_WIDTH - 1;
+ m_vram_ymask = m_vram_height - 1;
/* clear the planes initially */
- for (i = 0; i < VRAM_WIDTH * state->m_vram_height; i++)
- state->m_videoplane[0][i] = state->m_videoplane[1][i] = 0xff;
+ for (i = 0; i < VRAM_WIDTH * m_vram_height; i++)
+ m_videoplane[0][i] = m_videoplane[1][i] = 0xff;
/* fetch the GROM base */
- state->m_grom_base = state->memregion("gfx1")->base();
- state->m_grom_size = state->memregion("gfx1")->bytes();
- state->m_grom_bank = 0;
- state->m_grom_bank_mask = state->m_grom_size >> 24;
- if (state->m_grom_bank_mask == 2)
- state->m_grom_bank_mask = 3;
+ m_grom_base = memregion("gfx1")->base();
+ m_grom_size = memregion("gfx1")->bytes();
+ m_grom_bank = 0;
+ m_grom_bank_mask = m_grom_size >> 24;
+ if (m_grom_bank_mask == 2)
+ m_grom_bank_mask = 3;
/* reset statics */
- memset(state->m_video, 0, 0x80);
+ memset(m_video, 0, 0x80);
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(scanline_interrupt));
- state->m_enable_latch[0] = 1;
- state->m_enable_latch[1] = (state->m_planes > 1) ? 1 : 0;
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(scanline_interrupt));
+ m_enable_latch[0] = 1;
+ m_enable_latch[1] = (m_planes > 1) ? 1 : 0;
}
diff --git a/src/mame/video/itech8.c b/src/mame/video/itech8.c
index 98d12bcd673..b5e15dbe626 100644
--- a/src/mame/video/itech8.c
+++ b/src/mame/video/itech8.c
@@ -162,21 +162,20 @@ static const struct tms34061_interface tms34061intf =
*
*************************************/
-VIDEO_START( itech8 )
+void itech8_state::video_start()
{
- itech8_state *state = machine.driver_data<itech8_state>();
/* initialize TMS34061 emulation */
- tms34061_start(machine, &tms34061intf);
+ tms34061_start(machine(), &tms34061intf);
/* get the TMS34061 display state */
- tms34061_get_display_state(&state->m_tms_state);
+ tms34061_get_display_state(&m_tms_state);
/* reset statics */
- state->m_page_select = 0xc0;
+ m_page_select = 0xc0;
/* fetch the GROM base */
- state->m_grom_base = state->memregion("grom")->base();
- state->m_grom_size = state->memregion("grom")->bytes();
+ m_grom_base = memregion("grom")->base();
+ m_grom_size = memregion("grom")->bytes();
}
diff --git a/src/mame/video/jack.c b/src/mame/video/jack.c
index f247a114dbb..d621273fef3 100644
--- a/src/mame/video/jack.c
+++ b/src/mame/video/jack.c
@@ -55,10 +55,9 @@ TILEMAP_MAPPER_MEMBER(jack_state::tilemap_scan_cols_flipy)
return (col * num_rows) + (num_rows - 1 - row);
}
-VIDEO_START( jack )
+void jack_state::video_start()
{
- jack_state *state = machine.driver_data<jack_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jack_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(jack_state::tilemap_scan_cols_flipy),state), 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jack_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(jack_state::tilemap_scan_cols_flipy),this), 8, 8, 32, 32);
}
static void jack_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -107,12 +106,12 @@ SCREEN_UPDATE_IND16( jack )
3bpp gfx and different banking / colors bits
*/
-PALETTE_INIT( joinem )
+PALETTE_INIT_MEMBER(jack_state,joinem)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
bit0 = (color_prom[i] >> 0) & 0x01;
@@ -128,7 +127,7 @@ PALETTE_INIT( joinem )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -140,10 +139,9 @@ TILE_GET_INFO_MEMBER(jack_state::joinem_get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( joinem )
+VIDEO_START_MEMBER(jack_state,joinem)
{
- jack_state *state = machine.driver_data<jack_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jack_state::joinem_get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(jack_state::tilemap_scan_cols_flipy),state), 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jack_state::joinem_get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(jack_state::tilemap_scan_cols_flipy),this), 8, 8, 32, 32);
}
static void joinem_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/jackal.c b/src/mame/video/jackal.c
index 405c1e6af42..3d5b343e703 100644
--- a/src/mame/video/jackal.c
+++ b/src/mame/video/jackal.c
@@ -12,30 +12,30 @@
#include "includes/jackal.h"
-PALETTE_INIT( jackal )
+void jackal_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x200);
+ machine().colortable = colortable_alloc(machine(), 0x200);
for (i = 0; i < 0x100; i++)
{
UINT16 ctabentry = i | 0x100;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
for (i = 0x100; i < 0x200; i++)
{
UINT16 ctabentry = color_prom[i - 0x100] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
for (i = 0x200; i < 0x300; i++)
{
UINT16 ctabentry = (color_prom[i - 0x100] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -74,10 +74,9 @@ TILE_GET_INFO_MEMBER(jackal_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( jackal )
+void jackal_state::video_start()
{
- jackal_state *state = machine.driver_data<jackal_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackal_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jackal_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_background( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/jailbrek.c b/src/mame/video/jailbrek.c
index 8de8189c7f7..b139abc15f7 100644
--- a/src/mame/video/jailbrek.c
+++ b/src/mame/video/jailbrek.c
@@ -1,13 +1,13 @@
#include "emu.h"
#include "includes/jailbrek.h"
-PALETTE_INIT( jailbrek )
+void jailbrek_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -16,7 +16,7 @@ PALETTE_INIT( jailbrek )
int g = pal4bit(color_prom[i + 0x00] >> 4);
int b = pal4bit(color_prom[i + 0x20] >> 0);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -25,13 +25,13 @@ PALETTE_INIT( jailbrek )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -56,11 +56,10 @@ TILE_GET_INFO_MEMBER(jailbrek_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( jailbrek )
+void jailbrek_state::video_start()
{
- jailbrek_state *state = machine.driver_data<jailbrek_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jailbrek_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_scrolldx(0, 396 - 256);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(jailbrek_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap->set_scrolldx(0, 396 - 256);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/jedi.c b/src/mame/video/jedi.c
index c3cd1d074e1..73402c6a0bb 100644
--- a/src/mame/video/jedi.c
+++ b/src/mame/video/jedi.c
@@ -28,13 +28,12 @@
*
*************************************/
-static VIDEO_START( jedi )
+VIDEO_START_MEMBER(jedi_state,jedi)
{
- jedi_state *state = machine.driver_data<jedi_state>();
/* register for saving */
- state->save_item(NAME(state->m_vscroll));
- state->save_item(NAME(state->m_hscroll));
+ save_item(NAME(m_vscroll));
+ save_item(NAME(m_hscroll));
}
@@ -359,5 +358,5 @@ MACHINE_CONFIG_FRAGMENT( jedi_video )
MCFG_SCREEN_VISIBLE_AREA(0*8, 37*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(jedi)
- MCFG_VIDEO_START(jedi)
+ MCFG_VIDEO_START_OVERRIDE(jedi_state,jedi)
MACHINE_CONFIG_END
diff --git a/src/mame/video/jpmimpct.c b/src/mame/video/jpmimpct.c
index 7e49eca4e80..1901c13288c 100644
--- a/src/mame/video/jpmimpct.c
+++ b/src/mame/video/jpmimpct.c
@@ -128,14 +128,13 @@ void jpmimpct_scanline_update(screen_device &screen, bitmap_rgb32 &bitmap, int s
*
*************************************/
-VIDEO_START( jpmimpct )
+VIDEO_START_MEMBER(jpmimpct_state,jpmimpct)
{
- jpmimpct_state *state = machine.driver_data<jpmimpct_state>();
- memset(&state->m_bt477, 0, sizeof(state->m_bt477));
-
- state_save_register_global(machine, state->m_bt477.address);
- state_save_register_global(machine, state->m_bt477.addr_cnt);
- state_save_register_global(machine, state->m_bt477.pixmask);
- state_save_register_global(machine, state->m_bt477.command);
- state_save_register_global(machine, state->m_bt477.color);
+ memset(&m_bt477, 0, sizeof(m_bt477));
+
+ state_save_register_global(machine(), m_bt477.address);
+ state_save_register_global(machine(), m_bt477.addr_cnt);
+ state_save_register_global(machine(), m_bt477.pixmask);
+ state_save_register_global(machine(), m_bt477.command);
+ state_save_register_global(machine(), m_bt477.color);
}
diff --git a/src/mame/video/kaneko16.c b/src/mame/video/kaneko16.c
index 292e01b794f..7433290d896 100644
--- a/src/mame/video/kaneko16.c
+++ b/src/mame/video/kaneko16.c
@@ -17,10 +17,9 @@ WRITE16_MEMBER(kaneko16_state::kaneko16_display_enable)
COMBINE_DATA(&m_disp_enable);
}
-VIDEO_START( kaneko16 )
+VIDEO_START_MEMBER(kaneko16_state,kaneko16)
{
- kaneko16_state *state = machine.driver_data<kaneko16_state>();
- state->m_disp_enable = 1; // default enabled for games not using it
+ m_disp_enable = 1; // default enabled for games not using it
}
@@ -88,7 +87,7 @@ SCREEN_UPDATE_IND16( kaneko16 )
/* Berlwall and Gals Panic have an additional hi-color layers */
-PALETTE_INIT( berlwall )
+PALETTE_INIT_MEMBER(kaneko16_berlwall_state,berlwall)
{
int i;
@@ -96,18 +95,17 @@ PALETTE_INIT( berlwall )
/* initialize 555 RGB lookup */
for (i = 0; i < 32768; i++)
- palette_set_color_rgb(machine,2048 + i,pal5bit(i >> 5),pal5bit(i >> 10),pal5bit(i >> 0));
+ palette_set_color_rgb(machine(),2048 + i,pal5bit(i >> 5),pal5bit(i >> 10),pal5bit(i >> 0));
}
-VIDEO_START( berlwall )
+VIDEO_START_MEMBER(kaneko16_berlwall_state,berlwall)
{
- kaneko16_berlwall_state *state = machine.driver_data<kaneko16_berlwall_state>();
int sx, x,y;
- UINT8 *RAM = state->memregion("gfx3")->base();
+ UINT8 *RAM = memregion("gfx3")->base();
/* Render the hi-color static backgrounds held in the ROMs */
- state->m_bg15_bitmap.allocate(256 * 32, 256 * 1);
+ m_bg15_bitmap.allocate(256 * 32, 256 * 1);
/*
8aba is used as background color
@@ -140,10 +138,10 @@ VIDEO_START( berlwall )
if ((r & 0x10) && (b & 0x10))
g = (g - 1) & 0x1f; /* decrease with wraparound */
- state->m_bg15_bitmap.pix16(y, sx * 256 + x) = 2048 + ((g << 10) | (r << 5) | b);
+ m_bg15_bitmap.pix16(y, sx * 256 + x) = 2048 + ((g << 10) | (r << 5) | b);
}
- VIDEO_START_CALL(kaneko16);
+ VIDEO_START_CALL_MEMBER(kaneko16);
}
diff --git a/src/mame/video/kangaroo.c b/src/mame/video/kangaroo.c
index 6c32e590744..3b07f36b8e7 100644
--- a/src/mame/video/kangaroo.c
+++ b/src/mame/video/kangaroo.c
@@ -16,13 +16,12 @@ static void blitter_execute(running_machine &machine);
*
*************************************/
-VIDEO_START( kangaroo )
+void kangaroo_state::video_start()
{
- kangaroo_state *state = machine.driver_data<kangaroo_state>();
/* video RAM is accessed 32 bits at a time (two planes, 4bpp each, 4 pixels) */
- state->m_videoram = auto_alloc_array(machine, UINT32, 256 * 64);
- state->save_pointer(NAME(state->m_videoram), 256 * 64);
+ m_videoram = auto_alloc_array(machine(), UINT32, 256 * 64);
+ save_pointer(NAME(m_videoram), 256 * 64);
}
diff --git a/src/mame/video/karnov.c b/src/mame/video/karnov.c
index b00d77af223..ba8ee477c10 100644
--- a/src/mame/video/karnov.c
+++ b/src/mame/video/karnov.c
@@ -36,12 +36,12 @@
***************************************************************************/
-PALETTE_INIT( karnov )
+void karnov_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, bit3, r, g, b;
@@ -55,13 +55,13 @@ PALETTE_INIT( karnov )
bit2 = (color_prom[0] >> 6) & 0x01;
bit3 = (color_prom[0] >> 7) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -159,30 +159,28 @@ WRITE16_MEMBER(karnov_state::karnov_playfield_swap_w)
/******************************************************************************/
-VIDEO_START( karnov )
+VIDEO_START_MEMBER(karnov_state,karnov)
{
- karnov_state *state = machine.driver_data<karnov_state>();
/* Allocate bitmap & tilemap */
- state->m_bitmap_f = auto_bitmap_ind16_alloc(machine, 512, 512);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(karnov_state::get_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bitmap_f = auto_bitmap_ind16_alloc(machine(), 512, 512);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(karnov_state::get_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->save_item(NAME(*state->m_bitmap_f));
+ save_item(NAME(*m_bitmap_f));
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap->set_transparent_pen(0);
}
-VIDEO_START( wndrplnt )
+VIDEO_START_MEMBER(karnov_state,wndrplnt)
{
- karnov_state *state = machine.driver_data<karnov_state>();
/* Allocate bitmap & tilemap */
- state->m_bitmap_f = auto_bitmap_ind16_alloc(machine, 512, 512);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(karnov_state::get_fix_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_bitmap_f = auto_bitmap_ind16_alloc(machine(), 512, 512);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(karnov_state::get_fix_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->save_item(NAME(*state->m_bitmap_f));
+ save_item(NAME(*m_bitmap_f));
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap->set_transparent_pen(0);
}
/******************************************************************************/
diff --git a/src/mame/video/kchamp.c b/src/mame/video/kchamp.c
index bb54b1239e1..2f3a73b8793 100644
--- a/src/mame/video/kchamp.c
+++ b/src/mame/video/kchamp.c
@@ -10,18 +10,18 @@
#include "includes/kchamp.h"
-PALETTE_INIT( kchamp )
+void kchamp_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, red, green, blue;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
red = color_prom[i];
- green = color_prom[machine.total_colors() + i];
- blue = color_prom[2 * machine.total_colors() + i];
+ green = color_prom[machine().total_colors() + i];
+ blue = color_prom[2 * machine().total_colors() + i];
- palette_set_color_rgb(machine, i, pal4bit(red), pal4bit(green), pal4bit(blue));
+ palette_set_color_rgb(machine(), i, pal4bit(red), pal4bit(green), pal4bit(blue));
}
}
@@ -50,10 +50,9 @@ TILE_GET_INFO_MEMBER(kchamp_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( kchamp )
+void kchamp_state::video_start()
{
- kchamp_state *state = machine.driver_data<kchamp_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kchamp_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kchamp_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
/*
diff --git a/src/mame/video/kickgoal.c b/src/mame/video/kickgoal.c
index c81790b90f2..a5f69ddfe8a 100644
--- a/src/mame/video/kickgoal.c
+++ b/src/mame/video/kickgoal.c
@@ -116,48 +116,46 @@ static void kickgoal_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap
}
-VIDEO_START( kickgoal )
+VIDEO_START_MEMBER(kickgoal_state,kickgoal)
{
- kickgoal_state *state = machine.driver_data<kickgoal_state>();
- state->m_sprbase = 0x0000;
+ m_sprbase = 0x0000;
- state->m_fg_base = 0x7000;
- state->m_bg_base = 0x1000;
- state->m_bg_mask = 0x0fff;
+ m_fg_base = 0x7000;
+ m_bg_base = 0x1000;
+ m_bg_mask = 0x0fff;
- state->m_bg2_region = 2; // 32x32 tile source
- state->m_bg2_base = 0x2000 / 4;
- state->m_bg2_mask = (0x2000/4) - 1;
+ m_bg2_region = 2; // 32x32 tile source
+ m_bg2_base = 0x2000 / 4;
+ m_bg2_mask = (0x2000/4) - 1;
- state->m_fgtm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_fg_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksfg),state), 8, 8, 64, 64);
- state->m_bgtm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksbg),state), 16, 16, 64, 64);
- state->m_bg2tm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksbg2),state), 32, 32, 64, 64);
+ m_fgtm = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_fg_tile_info),this), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksfg),this), 8, 8, 64, 64);
+ m_bgtm = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg_tile_info),this), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksbg),this), 16, 16, 64, 64);
+ m_bg2tm = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksbg2),this), 32, 32, 64, 64);
- state->m_fgtm->set_transparent_pen(15);
- state->m_bgtm->set_transparent_pen(15);
+ m_fgtm->set_transparent_pen(15);
+ m_bgtm->set_transparent_pen(15);
}
-VIDEO_START( actionhw )
+VIDEO_START_MEMBER(kickgoal_state,actionhw)
{
- kickgoal_state *state = machine.driver_data<kickgoal_state>();
- state->m_sprbase = 0x4000;
- state->m_fg_base = 0x7000 * 2;
+ m_sprbase = 0x4000;
+ m_fg_base = 0x7000 * 2;
- state->m_bg_base = 0x0000;
- state->m_bg_mask = 0x1fff;
+ m_bg_base = 0x0000;
+ m_bg_mask = 0x1fff;
- state->m_bg2_region = 1; // 16x16 tile source
- state->m_bg2_base = 0x2000;
- state->m_bg2_mask = 0x2000 - 1;
+ m_bg2_region = 1; // 16x16 tile source
+ m_bg2_base = 0x2000;
+ m_bg2_mask = 0x2000 - 1;
- state->m_fgtm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_fg_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksfg),state), 8, 8, 64, 64);
- state->m_bgtm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksbg),state), 16, 16, 64, 64);
- state->m_bg2tm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_actionhwbg2),state), 16, 16, 64, 64);
+ m_fgtm = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_fg_tile_info),this), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksfg),this), 8, 8, 64, 64);
+ m_bgtm = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg_tile_info),this), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksbg),this), 16, 16, 64, 64);
+ m_bg2tm = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_actionhwbg2),this), 16, 16, 64, 64);
- state->m_fgtm->set_transparent_pen(15);
- state->m_bgtm->set_transparent_pen(15);
+ m_fgtm->set_transparent_pen(15);
+ m_bgtm->set_transparent_pen(15);
}
diff --git a/src/mame/video/kingobox.c b/src/mame/video/kingobox.c
index 04229a5fb57..3cadd555456 100644
--- a/src/mame/video/kingobox.c
+++ b/src/mame/video/kingobox.c
@@ -121,16 +121,16 @@ static void ringking_get_rgb_data( const UINT8 *color_prom, int i, int *r_data,
}
-PALETTE_INIT( kingofb )
+PALETTE_INIT_MEMBER(kingofb_state,kingofb)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- palette_init_common(machine, color_prom, kingofb_get_rgb_data);
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
+ palette_init_common(machine(), color_prom, kingofb_get_rgb_data);
}
-PALETTE_INIT( ringking )
+PALETTE_INIT_MEMBER(kingofb_state,ringking)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- palette_init_common(machine, color_prom, ringking_get_rgb_data);
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
+ palette_init_common(machine(), color_prom, ringking_get_rgb_data);
}
WRITE8_MEMBER(kingofb_state::kingofb_videoram_w)
@@ -194,13 +194,12 @@ TILE_GET_INFO_MEMBER(kingofb_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-VIDEO_START( kingofb )
+VIDEO_START_MEMBER(kingofb_state,kingofb)
{
- kingofb_state *state = machine.driver_data<kingofb_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void kingofb_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -262,13 +261,12 @@ TILE_GET_INFO_MEMBER(kingofb_state::ringking_get_bg_tile_info)
SET_TILE_INFO_MEMBER(4, code, color, 0);
}
-VIDEO_START( ringking )
+VIDEO_START_MEMBER(kingofb_state,ringking)
{
- kingofb_state *state = machine.driver_data<kingofb_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::ringking_get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::ringking_get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void ringking_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/klax.c b/src/mame/video/klax.c
index 81d771c6f84..72627b1455b 100644
--- a/src/mame/video/klax.c
+++ b/src/mame/video/klax.c
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(klax_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( klax )
+VIDEO_START_MEMBER(klax_state,klax)
{
static const atarimo_desc modesc =
{
@@ -71,13 +71,12 @@ VIDEO_START( klax )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- klax_state *state = machine.driver_data<klax_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(klax_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,32);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(klax_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,32);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
}
diff --git a/src/mame/video/kncljoe.c b/src/mame/video/kncljoe.c
index e4c073f81b0..d5922ba6515 100644
--- a/src/mame/video/kncljoe.c
+++ b/src/mame/video/kncljoe.c
@@ -14,13 +14,13 @@ Knuckle Joe - (c) 1985 Taito Corporation
***************************************************************************/
-PALETTE_INIT( kncljoe )
+void kncljoe_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x90);
+ machine().colortable = colortable_alloc(machine(), 0x90);
/* create a lookup table for the palette */
for (i = 0; i < 0x80; i++)
@@ -29,7 +29,7 @@ PALETTE_INIT( kncljoe )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
for (i = 0x80; i < 0x90; i++)
@@ -55,7 +55,7 @@ PALETTE_INIT( kncljoe )
bit2 = (color_prom[(i - 0x80) + 0x300] >> 2) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -63,13 +63,13 @@ PALETTE_INIT( kncljoe )
/* chars */
for (i = 0; i < 0x80; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprite lookup table */
for (i = 0x80; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i - 0x80] & 0x0f) | 0x80;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -101,12 +101,11 @@ TILE_GET_INFO_MEMBER(kncljoe_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( kncljoe )
+void kncljoe_state::video_start()
{
- kncljoe_state *state = machine.driver_data<kncljoe_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kncljoe_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kncljoe_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_scroll_rows(4);
+ m_bg_tilemap->set_scroll_rows(4);
}
diff --git a/src/mame/video/konamigx.c b/src/mame/video/konamigx.c
index 55179cc67d0..023ec16c492 100644
--- a/src/mame/video/konamigx.c
+++ b/src/mame/video/konamigx.c
@@ -2054,62 +2054,62 @@ static void _gxcommoninit(running_machine &machine)
}
-VIDEO_START(konamigx_5bpp)
+VIDEO_START_MEMBER(konamigx_state,konamigx_5bpp)
{
- if (!strcmp(machine.system().name,"sexyparo") || !strcmp(machine.system().name,"sexyparoa"))
+ if (!strcmp(machine().system().name,"sexyparo") || !strcmp(machine().system().name,"sexyparoa"))
game_tile_callback = konamigx_alpha_tile_callback;
else
game_tile_callback = konamigx_type2_tile_callback;
- K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, game_tile_callback, 0);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_5, 0, NULL, game_tile_callback, 0);
- _gxcommoninit(machine);
+ _gxcommoninit(machine());
/* here are some hand tuned per game scroll offsets to go with the per game visible areas,
i see no better way of doing this for now... */
- if (!strcmp(machine.system().name,"tbyahhoo"))
+ if (!strcmp(machine().system().name,"tbyahhoo"))
{
K056832_set_UpdateMode(1);
gx_tilemode = 1;
} else
- if (!strcmp(machine.system().name,"puzldama"))
+ if (!strcmp(machine().system().name,"puzldama"))
{
K053247GP_set_SpriteOffset(-46, -23);
konamigx_mixer_primode(5);
} else
- if (!strcmp(machine.system().name,"daiskiss"))
+ if (!strcmp(machine().system().name,"daiskiss"))
{
konamigx_mixer_primode(4);
} else
- if (!strcmp(machine.system().name,"gokuparo") || !strcmp(machine.system().name,"fantjour") || !strcmp(machine.system().name,"fantjoura"))
+ if (!strcmp(machine().system().name,"gokuparo") || !strcmp(machine().system().name,"fantjour") || !strcmp(machine().system().name,"fantjoura"))
{
K053247GP_set_SpriteOffset(-46, -23);
} else
- if (!strcmp(machine.system().name,"sexyparo") || !strcmp(machine.system().name,"sexyparoa"))
+ if (!strcmp(machine().system().name,"sexyparo") || !strcmp(machine().system().name,"sexyparoa"))
{
K053247GP_set_SpriteOffset(-42, -23);
}
}
-VIDEO_START(winspike)
+VIDEO_START_MEMBER(konamigx_state,winspike)
{
- K056832_vh_start(machine, "gfx1", K056832_BPP_8, 0, NULL, konamigx_alpha_tile_callback, 2);
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_LE2, -53, -23, konamigx_type2_sprite_callback);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_8, 0, NULL, konamigx_alpha_tile_callback, 2);
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_LE2, -53, -23, konamigx_type2_sprite_callback);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
}
-VIDEO_START(dragoonj)
+VIDEO_START_MEMBER(konamigx_state,dragoonj)
{
- K056832_vh_start(machine, "gfx1", K056832_BPP_5, 1, NULL, konamigx_type2_tile_callback, 0);
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_RNG, -53, -23, konamigx_dragoonj_sprite_callback);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_5, 1, NULL, konamigx_type2_tile_callback, 0);
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_RNG, -53, -23, konamigx_dragoonj_sprite_callback);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
K056832_set_LayerOffset(0, -2+1, 0);
K056832_set_LayerOffset(1, 0+1, 0);
@@ -2117,12 +2117,12 @@ VIDEO_START(dragoonj)
K056832_set_LayerOffset(3, 3+1, 0);
}
-VIDEO_START(le2)
+VIDEO_START_MEMBER(konamigx_state,le2)
{
- K056832_vh_start(machine, "gfx1", K056832_BPP_8, 1, NULL, konamigx_type2_tile_callback, 0);
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_LE2, -46, -23, konamigx_le2_sprite_callback);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_8, 1, NULL, konamigx_type2_tile_callback, 0);
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_LE2, -46, -23, konamigx_le2_sprite_callback);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
konamigx_mixer_primode(-1); // swapped layer B and C priorities?
@@ -2130,42 +2130,41 @@ VIDEO_START(le2)
K055555_write_reg(K55_INPUT_ENABLES, 1); // it doesn't turn on the video output at first for the test screens, maybe it should default to ON?
}
-VIDEO_START(konamigx_6bpp)
+VIDEO_START_MEMBER(konamigx_state,konamigx_6bpp)
{
- K056832_vh_start(machine, "gfx1", K056832_BPP_6, 0, NULL, konamigx_type2_tile_callback, 0);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_6, 0, NULL, konamigx_type2_tile_callback, 0);
- _gxcommoninit(machine);
+ _gxcommoninit(machine());
- if (!strcmp(machine.system().name,"tokkae") || !strcmp(machine.system().name,"tkmmpzdm"))
+ if (!strcmp(machine().system().name,"tokkae") || !strcmp(machine().system().name,"tkmmpzdm"))
{
K053247GP_set_SpriteOffset(-46, -23);
konamigx_mixer_primode(5);
}
}
-VIDEO_START(konamigx_type3)
+VIDEO_START_MEMBER(konamigx_state,konamigx_type3)
{
- konamigx_state *state = machine.driver_data<konamigx_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
- K056832_vh_start(machine, "gfx1", K056832_BPP_6, 0, NULL, konamigx_type2_tile_callback, 1);
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -132, -23, konamigx_type2_sprite_callback);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_6, 0, NULL, konamigx_type2_tile_callback, 1);
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_GX6, -132, -23, konamigx_type2_sprite_callback);
- dualscreen_left_tempbitmap = auto_bitmap_rgb32_alloc(machine, width, height);
- dualscreen_right_tempbitmap = auto_bitmap_rgb32_alloc(machine, width, height);
+ dualscreen_left_tempbitmap = auto_bitmap_rgb32_alloc(machine(), width, height);
+ dualscreen_right_tempbitmap = auto_bitmap_rgb32_alloc(machine(), width, height);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
- gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac3_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 256, 256);
- gx_psac_tilemap_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac3_alt_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 256, 256);
+ gx_psac_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac3_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 256, 256);
+ gx_psac_tilemap_alt = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac3_alt_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 256, 256);
gx_rozenable = 0;
gx_specialrozenable = 2;
/* set up tile layers */
- type3_roz_temp_bitmap = auto_bitmap_ind16_alloc(machine, width, height);
+ type3_roz_temp_bitmap = auto_bitmap_ind16_alloc(machine(), width, height);
//gx_psac_tilemap->set_flip(TILEMAP_FLIPX| TILEMAP_FLIPY);
@@ -2183,21 +2182,20 @@ VIDEO_START(konamigx_type3)
konamigx_palformat = 1;
}
-VIDEO_START(konamigx_type4)
+VIDEO_START_MEMBER(konamigx_state,konamigx_type4)
{
- konamigx_state *state = machine.driver_data<konamigx_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
- K056832_vh_start(machine, "gfx1", K056832_BPP_8, 0, NULL, konamigx_type2_tile_callback, 0);
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -79, -24, konamigx_type2_sprite_callback); // -23 looks better in intro
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_8, 0, NULL, konamigx_type2_tile_callback, 0);
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_GX6, -79, -24, konamigx_type2_sprite_callback); // -23 looks better in intro
- dualscreen_left_tempbitmap = auto_bitmap_rgb32_alloc(machine, width, height);
- dualscreen_right_tempbitmap = auto_bitmap_rgb32_alloc(machine, width, height);
+ dualscreen_left_tempbitmap = auto_bitmap_rgb32_alloc(machine(), width, height);
+ dualscreen_right_tempbitmap = auto_bitmap_rgb32_alloc(machine(), width, height);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
- gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
gx_rozenable = 0;
gx_specialrozenable = 3;
@@ -2215,21 +2213,20 @@ VIDEO_START(konamigx_type4)
}
-VIDEO_START(konamigx_type4_vsn)
+VIDEO_START_MEMBER(konamigx_state,konamigx_type4_vsn)
{
- konamigx_state *state = machine.driver_data<konamigx_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
- K056832_vh_start(machine, "gfx1", K056832_BPP_8, 0, NULL, konamigx_type2_tile_callback, 2); // set djmain_hack to 2 to kill layer association or half the tilemaps vanish on screen 0
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -132, -23, konamigx_type2_sprite_callback);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_8, 0, NULL, konamigx_type2_tile_callback, 2); // set djmain_hack to 2 to kill layer association or half the tilemaps vanish on screen 0
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_GX6, -132, -23, konamigx_type2_sprite_callback);
- dualscreen_left_tempbitmap = auto_bitmap_rgb32_alloc(machine, width, height);
- dualscreen_right_tempbitmap = auto_bitmap_rgb32_alloc(machine, width, height);
+ dualscreen_left_tempbitmap = auto_bitmap_rgb32_alloc(machine(), width, height);
+ dualscreen_right_tempbitmap = auto_bitmap_rgb32_alloc(machine(), width, height);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
- gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
gx_rozenable = 0;
gx_specialrozenable = 3;
@@ -2246,21 +2243,20 @@ VIDEO_START(konamigx_type4_vsn)
konamigx_palformat = 0;
}
-VIDEO_START(konamigx_type4_sd2)
+VIDEO_START_MEMBER(konamigx_state,konamigx_type4_sd2)
{
- konamigx_state *state = machine.driver_data<konamigx_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
- K056832_vh_start(machine, "gfx1", K056832_BPP_8, 0, NULL, konamigx_type2_tile_callback, 0);
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -81, -23, konamigx_type2_sprite_callback);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_8, 0, NULL, konamigx_type2_tile_callback, 0);
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_GX6, -81, -23, konamigx_type2_sprite_callback);
- dualscreen_left_tempbitmap = auto_bitmap_rgb32_alloc(machine, width, height);
- dualscreen_right_tempbitmap = auto_bitmap_rgb32_alloc(machine, width, height);
+ dualscreen_left_tempbitmap = auto_bitmap_rgb32_alloc(machine(), width, height);
+ dualscreen_right_tempbitmap = auto_bitmap_rgb32_alloc(machine(), width, height);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
- gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
gx_rozenable = 0;
gx_specialrozenable = 3;
@@ -2281,37 +2277,36 @@ VIDEO_START(konamigx_type4_sd2)
}
-VIDEO_START(konamigx_6bpp_2)
+VIDEO_START_MEMBER(konamigx_state,konamigx_6bpp_2)
{
- K056832_vh_start(machine, "gfx1", K056832_BPP_6, 1, NULL, konamigx_type2_tile_callback, 0);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_6, 1, NULL, konamigx_type2_tile_callback, 0);
- if (!strcmp(machine.system().name,"salmndr2") || !strcmp(machine.system().name,"salmndr2a"))
+ if (!strcmp(machine().system().name,"salmndr2") || !strcmp(machine().system().name,"salmndr2a"))
{
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -48, -23, konamigx_salmndr2_sprite_callback);
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_GX6, -48, -23, konamigx_salmndr2_sprite_callback);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
}
else
{
- _gxcommoninit(machine);
+ _gxcommoninit(machine());
}
}
-VIDEO_START(opengolf)
+VIDEO_START_MEMBER(konamigx_state,opengolf)
{
- konamigx_state *state = machine.driver_data<konamigx_state>();
- K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, konamigx_type2_tile_callback, 0);
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -53, -23, konamigx_type2_sprite_callback);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_5, 0, NULL, konamigx_type2_tile_callback, 0);
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_GX6, -53, -23, konamigx_type2_sprite_callback);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
K056832_set_LayerOffset(0, -2+1, 0);
K056832_set_LayerOffset(1, 0+1, 0);
K056832_set_LayerOffset(2, 2+1, 0);
K056832_set_LayerOffset(3, 3+1, 0);
- gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1a_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
- gx_psac_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1b_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1a_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1b_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
// transparency will be handled manually in post-processing
//gx_psac_tilemap->set_transparent_pen(0);
@@ -2320,8 +2315,8 @@ VIDEO_START(opengolf)
gx_rozenable = 0;
gx_specialrozenable = 1;
- gxtype1_roz_dstbitmap = auto_bitmap_ind16_alloc(machine,512,512); // BITMAP_FORMAT_IND16 because we NEED the raw pen data for post-processing
- gxtype1_roz_dstbitmap2 = auto_bitmap_ind16_alloc(machine,512,512); // BITMAP_FORMAT_IND16 because we NEED the raw pen data for post-processing
+ gxtype1_roz_dstbitmap = auto_bitmap_ind16_alloc(machine(),512,512); // BITMAP_FORMAT_IND16 because we NEED the raw pen data for post-processing
+ gxtype1_roz_dstbitmap2 = auto_bitmap_ind16_alloc(machine(),512,512); // BITMAP_FORMAT_IND16 because we NEED the raw pen data for post-processing
gxtype1_roz_dstbitmapclip.set(0, 512-1, 0, 512-1);
@@ -2332,25 +2327,24 @@ VIDEO_START(opengolf)
// urgh.. the priority bitmap is global, and because our temp bitmaps are bigger than the screen, this causes issues.. so just allocate something huge
// until there is a better solution, or priority bitmap can be specified manually.
- machine.priority_bitmap.allocate(2048,2048);
+ machine().priority_bitmap.allocate(2048,2048);
}
-VIDEO_START(racinfrc)
+VIDEO_START_MEMBER(konamigx_state,racinfrc)
{
- konamigx_state *state = machine.driver_data<konamigx_state>();
- K056832_vh_start(machine, "gfx1", K056832_BPP_6, 0, NULL, konamigx_type2_tile_callback, 0);
- K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX, -53, -23, konamigx_type2_sprite_callback);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_6, 0, NULL, konamigx_type2_tile_callback, 0);
+ K055673_vh_start(machine(), "gfx2", K055673_LAYOUT_GX, -53, -23, konamigx_type2_sprite_callback);
- _gxcommoninitnosprites(machine);
+ _gxcommoninitnosprites(machine());
K056832_set_LayerOffset(0, -2+1, 0);
K056832_set_LayerOffset(1, 0+1, 0);
K056832_set_LayerOffset(2, 2+1, 0);
K056832_set_LayerOffset(3, 3+1, 0);
- gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1a_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
- gx_psac_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1b_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1a_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1b_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
// transparency will be handled manually in post-processing
//gx_psac_tilemap->set_transparent_pen(0);
@@ -2359,8 +2353,8 @@ VIDEO_START(racinfrc)
gx_rozenable = 0;
gx_specialrozenable = 1;
- gxtype1_roz_dstbitmap = auto_bitmap_ind16_alloc(machine,512,512); // BITMAP_FORMAT_IND16 because we NEED the raw pen data for post-processing
- gxtype1_roz_dstbitmap2 = auto_bitmap_ind16_alloc(machine,512,512); // BITMAP_FORMAT_IND16 because we NEED the raw pen data for post-processing
+ gxtype1_roz_dstbitmap = auto_bitmap_ind16_alloc(machine(),512,512); // BITMAP_FORMAT_IND16 because we NEED the raw pen data for post-processing
+ gxtype1_roz_dstbitmap2 = auto_bitmap_ind16_alloc(machine(),512,512); // BITMAP_FORMAT_IND16 because we NEED the raw pen data for post-processing
gxtype1_roz_dstbitmapclip.set(0, 512-1, 0, 512-1);
@@ -2371,7 +2365,7 @@ VIDEO_START(racinfrc)
// urgh.. the priority bitmap is global, and because our temp bitmaps are bigger than the screen, this causes issues.. so just allocate something huge
// until there is a better solution, or priority bitmap can be specified manually.
- machine.priority_bitmap.allocate(2048,2048);
+ machine().priority_bitmap.allocate(2048,2048);
}
diff --git a/src/mame/video/kopunch.c b/src/mame/video/kopunch.c
index 764e7fe8424..235e5ef3170 100644
--- a/src/mame/video/kopunch.c
+++ b/src/mame/video/kopunch.c
@@ -2,13 +2,13 @@
#include "includes/kopunch.h"
-PALETTE_INIT( kopunch )
+void kopunch_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
color_prom += 24; /* first 24 colors are black */
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -28,7 +28,7 @@ PALETTE_INIT( kopunch )
bit2 = (*color_prom >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -80,15 +80,14 @@ TILE_GET_INFO_MEMBER(kopunch_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(1, code, 0, 0);
}
-VIDEO_START( kopunch )
+void kopunch_state::video_start()
{
- kopunch_state *state = machine.driver_data<kopunch_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kopunch_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kopunch_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kopunch_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kopunch_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(16, 16);
+ m_bg_tilemap->set_scrolldx(16, 16);
}
SCREEN_UPDATE_IND16( kopunch )
diff --git a/src/mame/video/ksayakyu.c b/src/mame/video/ksayakyu.c
index 90f7809144a..3cd5c8658ec 100644
--- a/src/mame/video/ksayakyu.c
+++ b/src/mame/video/ksayakyu.c
@@ -30,9 +30,9 @@ WRITE8_MEMBER(ksayakyu_state::ksayakyu_videoctrl_w)
m_tilemap->set_flip((data & 2) ? TILEMAP_FLIPX : 0);
}
-PALETTE_INIT( ksayakyu )
+void ksayakyu_state::palette_init()
{
- const UINT8 *prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *prom = machine().root_device().memregion("proms")->base();
int r, g, b, i;
for (i = 0; i < 0x100; i++)
@@ -41,7 +41,7 @@ PALETTE_INIT( ksayakyu )
g = (prom[i] & 0x38) >> 3;
b = (prom[i] & 0xc0) >> 6;
- palette_set_color_rgb(machine, i, pal3bit(r), pal3bit(g), pal2bit(b));
+ palette_set_color_rgb(machine(), i, pal3bit(r), pal3bit(g), pal2bit(b));
}
}
@@ -113,12 +113,11 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
}
}
-VIDEO_START(ksayakyu)
+void ksayakyu_state::video_start()
{
- ksayakyu_state *state = machine.driver_data<ksayakyu_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ksayakyu_state::get_ksayakyu_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32 * 8);
- state->m_textmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ksayakyu_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_textmap->set_transparent_pen(0);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ksayakyu_state::get_ksayakyu_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32 * 8);
+ m_textmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ksayakyu_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_textmap->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16(ksayakyu)
diff --git a/src/mame/video/kyugo.c b/src/mame/video/kyugo.c
index aace00ed91f..cbdb7e552d9 100644
--- a/src/mame/video/kyugo.c
+++ b/src/mame/video/kyugo.c
@@ -41,19 +41,18 @@ TILE_GET_INFO_MEMBER(kyugo_state::get_bg_tile_info)
*
*************************************/
-VIDEO_START( kyugo )
+void kyugo_state::video_start()
{
- kyugo_state *state = machine.driver_data<kyugo_state>();
- state->m_color_codes = state->memregion("proms")->base() + 0x300;
+ m_color_codes = memregion("proms")->base() + 0x300;
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kyugo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kyugo_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kyugo_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(kyugo_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scrolldx(0, 224);
- state->m_bg_tilemap->set_scrolldx(-32, 32);
+ m_fg_tilemap->set_scrolldx(0, 224);
+ m_bg_tilemap->set_scrolldx(-32, 32);
}
diff --git a/src/mame/video/labyrunr.c b/src/mame/video/labyrunr.c
index 5de33126696..ccbba100293 100644
--- a/src/mame/video/labyrunr.c
+++ b/src/mame/video/labyrunr.c
@@ -2,13 +2,13 @@
#include "video/konicdev.h"
#include "includes/labyrunr.h"
-PALETTE_INIT( labyrunr )
+void labyrunr_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int pal;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x80);
+ machine().colortable = colortable_alloc(machine(), 0x80);
for (pal = 0; pal < 8; pal++)
{
@@ -18,7 +18,7 @@ PALETTE_INIT( labyrunr )
int i;
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, (pal << 8) | i, (pal << 4) | (i & 0x0f));
+ colortable_entry_set_value(machine().colortable, (pal << 8) | i, (pal << 4) | (i & 0x0f));
}
/* sprites */
else
@@ -34,7 +34,7 @@ PALETTE_INIT( labyrunr )
else
ctabentry = (pal << 4) | (color_prom[i] & 0x0f);
- colortable_entry_set_value(machine.colortable, (pal << 8) | i, ctabentry);
+ colortable_entry_set_value(machine().colortable, (pal << 8) | i, ctabentry);
}
}
}
@@ -129,24 +129,23 @@ TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info1)
***************************************************************************/
-VIDEO_START( labyrunr )
+void labyrunr_state::video_start()
{
- labyrunr_state *state = machine.driver_data<labyrunr_state>();
- state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(labyrunr_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(labyrunr_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_layer0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(labyrunr_state::get_tile_info0),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_layer1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(labyrunr_state::get_tile_info1),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_layer0->set_transparent_pen(0);
- state->m_layer1->set_transparent_pen(0);
+ m_layer0->set_transparent_pen(0);
+ m_layer1->set_transparent_pen(0);
- state->m_clip0 = machine.primary_screen->visible_area();
- state->m_clip0.min_x += 40;
+ m_clip0 = machine().primary_screen->visible_area();
+ m_clip0.min_x += 40;
- state->m_clip1 = machine.primary_screen->visible_area();
- state->m_clip1.max_x = 39;
- state->m_clip1.min_x = 0;
+ m_clip1 = machine().primary_screen->visible_area();
+ m_clip1.max_x = 39;
+ m_clip1.min_x = 0;
- state->m_layer0->set_scroll_cols(32);
+ m_layer0->set_scroll_cols(32);
}
diff --git a/src/mame/video/ladybug.c b/src/mame/video/ladybug.c
index 8ac02c01170..33878895fbf 100644
--- a/src/mame/video/ladybug.c
+++ b/src/mame/video/ladybug.c
@@ -93,19 +93,19 @@ static void palette_init_common( running_machine &machine, const UINT8 *color_pr
}
-PALETTE_INIT( ladybug )
+PALETTE_INIT_MEMBER(ladybug_state,ladybug)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- palette_init_common(machine, color_prom, 0x20, 0, 5, 2, 6, 4, 7);
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
+ palette_init_common(machine(), color_prom, 0x20, 0, 5, 2, 6, 4, 7);
}
-PALETTE_INIT( sraider )
+PALETTE_INIT_MEMBER(ladybug_state,sraider)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* the resistor net may be probably different than Lady Bug */
- palette_init_common(machine, color_prom, 0x41, 3, 0, 5, 4, 7, 6);
+ palette_init_common(machine(), color_prom, 0x41, 3, 0, 5, 4, 7, 6);
/* star colors */
for (i = 0x20; i < 0x40; i++)
@@ -127,14 +127,14 @@ PALETTE_INIT( sraider )
bit0 = ((i - 0x20) >> 0) & 0x01;
r = 0x47 * bit0;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
for (i = 0x60; i < 0x80; i++)
- colortable_entry_set_value(machine.colortable, i, (i - 0x60) + 0x20);
+ colortable_entry_set_value(machine().colortable, i, (i - 0x60) + 0x20);
/* stationary part of grid */
- colortable_entry_set_value(machine.colortable, 0x81, 0x40);
+ colortable_entry_set_value(machine().colortable, 0x81, 0x40);
}
WRITE8_MEMBER(ladybug_state::ladybug_videoram_w)
@@ -207,26 +207,24 @@ TILE_GET_INFO_MEMBER(ladybug_state::get_grid_tile_info)
}
}
-VIDEO_START( ladybug )
+VIDEO_START_MEMBER(ladybug_state,ladybug)
{
- ladybug_state *state = machine.driver_data<ladybug_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap->set_transparent_pen(0);
}
-VIDEO_START( sraider )
+VIDEO_START_MEMBER(ladybug_state,sraider)
{
- ladybug_state *state = machine.driver_data<ladybug_state>();
- state->m_grid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_grid_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_grid_tilemap->set_scroll_rows(32);
- state->m_grid_tilemap->set_transparent_pen(0);
+ m_grid_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_grid_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_grid_tilemap->set_scroll_rows(32);
+ m_grid_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap->set_transparent_pen(0);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/ladyfrog.c b/src/mame/video/ladyfrog.c
index 34e60df4c9e..ff8e279d7c5 100644
--- a/src/mame/video/ladyfrog.c
+++ b/src/mame/video/ladyfrog.c
@@ -127,36 +127,33 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
}
}
-static VIDEO_START( ladyfrog_common )
+VIDEO_START_MEMBER(ladyfrog_state,ladyfrog_common)
{
- ladyfrog_state *state = machine.driver_data<ladyfrog_state>();
- state->m_spriteram = auto_alloc_array(machine, UINT8, 160);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ladyfrog_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_spriteram = auto_alloc_array(machine(), UINT8, 160);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ladyfrog_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_generic_paletteram_8.allocate(0x200);
- state->m_generic_paletteram2_8.allocate(0x200);
- state->m_bg_tilemap->set_scroll_cols(32);
- state->m_bg_tilemap->set_scrolldy(15, 15);
+ m_generic_paletteram_8.allocate(0x200);
+ m_generic_paletteram2_8.allocate(0x200);
+ m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_scrolldy(15, 15);
- state->save_pointer(NAME(state->m_spriteram), 160);
+ save_pointer(NAME(m_spriteram), 160);
}
-VIDEO_START( ladyfrog )
+void ladyfrog_state::video_start()
{
- ladyfrog_state *state = machine.driver_data<ladyfrog_state>();
// weird, there are sprite tiles at 0x000 and 0x400, but they don't contain all the sprites!
- state->m_spritetilebase = 0x800;
- VIDEO_START_CALL(ladyfrog_common);
+ m_spritetilebase = 0x800;
+ VIDEO_START_CALL_MEMBER(ladyfrog_common);
}
-VIDEO_START( toucheme )
+VIDEO_START_MEMBER(ladyfrog_state,toucheme)
{
- ladyfrog_state *state = machine.driver_data<ladyfrog_state>();
- state->m_spritetilebase = 0x000;
- VIDEO_START_CALL(ladyfrog_common);
+ m_spritetilebase = 0x000;
+ VIDEO_START_CALL_MEMBER(ladyfrog_common);
}
diff --git a/src/mame/video/lasso.c b/src/mame/video/lasso.c
index 1bdcd652e4e..879fa0d0cc5 100644
--- a/src/mame/video/lasso.c
+++ b/src/mame/video/lasso.c
@@ -64,30 +64,30 @@ static rgb_t get_color( int data )
}
-PALETTE_INIT( lasso )
+void lasso_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 0x40; i++)
- palette_set_color(machine, i, get_color(color_prom[i]));
+ palette_set_color(machine(), i, get_color(color_prom[i]));
}
-PALETTE_INIT( wwjgtin )
+PALETTE_INIT_MEMBER(lasso_state,wwjgtin)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x40);
+ machine().colortable = colortable_alloc(machine(), 0x40);
for (i = 0; i < 0x40; i++)
- colortable_palette_set_color(machine.colortable, i, get_color(color_prom[i]));
+ colortable_palette_set_color(machine().colortable, i, get_color(color_prom[i]));
/* characters/sprites */
for (i = 0; i < 0x40; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* track */
for (i = 0x40; i < 0x140; i++)
@@ -99,7 +99,7 @@ PALETTE_INIT( wwjgtin )
else
ctabentry = 0;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -163,35 +163,32 @@ TILE_GET_INFO_MEMBER(lasso_state::pinbo_get_bg_tile_info)
*
*************************************/
-VIDEO_START( lasso )
+void lasso_state::video_start()
{
- lasso_state *state = machine.driver_data<lasso_state>();
/* create tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::lasso_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::lasso_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
}
-VIDEO_START( wwjgtin )
+VIDEO_START_MEMBER(lasso_state,wwjgtin)
{
- lasso_state *state = machine.driver_data<lasso_state>();
/* create tilemaps */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::lasso_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_track_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::wwjgtin_get_track_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::lasso_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_track_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::wwjgtin_get_track_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 128, 64);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
}
-VIDEO_START( pinbo )
+VIDEO_START_MEMBER(lasso_state,pinbo)
{
- lasso_state *state = machine.driver_data<lasso_state>();
/* create tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::pinbo_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::pinbo_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/lastduel.c b/src/mame/video/lastduel.c
index 5379a39fa7b..63675170351 100644
--- a/src/mame/video/lastduel.c
+++ b/src/mame/video/lastduel.c
@@ -79,36 +79,34 @@ TILE_GET_INFO_MEMBER(lastduel_state::get_fix_info)
***************************************************************************/
-VIDEO_START( lastduel )
+VIDEO_START_MEMBER(lastduel_state,lastduel)
{
- lastduel_state *state = machine.driver_data<lastduel_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::ld_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::ld_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_fix_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::ld_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::ld_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_fix_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transmask(0, 0xffff, 0x0001);
- state->m_fg_tilemap->set_transmask(1, 0xf07f, 0x0f81);
- state->m_tx_tilemap->set_transparent_pen(3);
+ m_fg_tilemap->set_transmask(0, 0xffff, 0x0001);
+ m_fg_tilemap->set_transmask(1, 0xf07f, 0x0f81);
+ m_tx_tilemap->set_transparent_pen(3);
- state->m_sprite_flipy_mask = 0x40;
- state->m_sprite_pri_mask = 0x00;
- state->m_tilemap_priority = 0;
+ m_sprite_flipy_mask = 0x40;
+ m_sprite_pri_mask = 0x00;
+ m_tilemap_priority = 0;
}
-VIDEO_START( madgear )
+VIDEO_START_MEMBER(lastduel_state,madgear)
{
- lastduel_state *state = machine.driver_data<lastduel_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS,16,16,64,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,16,16,64,32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_fix_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_bg_tile_info),this),TILEMAP_SCAN_COLS,16,16,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_fg_tile_info),this),TILEMAP_SCAN_COLS,16,16,64,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_fix_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fg_tilemap->set_transmask(0, 0xffff, 0x8000);
- state->m_fg_tilemap->set_transmask(1, 0x80ff, 0xff00);
- state->m_tx_tilemap->set_transparent_pen(3);
- state->m_bg_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transmask(0, 0xffff, 0x8000);
+ m_fg_tilemap->set_transmask(1, 0x80ff, 0xff00);
+ m_tx_tilemap->set_transparent_pen(3);
+ m_bg_tilemap->set_transparent_pen(15);
- state->m_sprite_flipy_mask = 0x80;
- state->m_sprite_pri_mask = 0x10;
+ m_sprite_flipy_mask = 0x80;
+ m_sprite_pri_mask = 0x10;
}
diff --git a/src/mame/video/legionna.c b/src/mame/video/legionna.c
index b22fa950248..880791f54b7 100644
--- a/src/mame/video/legionna.c
+++ b/src/mame/video/legionna.c
@@ -131,86 +131,81 @@ TILE_GET_INFO_MEMBER(legionna_state::get_text_tile_info)
SET_TILE_INFO_MEMBER(0,tile,color,0);
}
-VIDEO_START( legionna )
+VIDEO_START_MEMBER(legionna_state,legionna)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_fore_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_mid_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
-
- state->m_scrollram16 = auto_alloc_array(machine, UINT16, 0x60/2);
- state->m_sprite_xoffs = 0;
- state->m_sprite_yoffs = 0;
-
- state->m_has_extended_banking = 0;
- state->m_has_extended_priority = 0;
-
- state->m_background_layer->set_transparent_pen(15);
- state->m_midground_layer->set_transparent_pen(15);
- state->m_foreground_layer->set_transparent_pen(15);
- state->m_text_layer->set_transparent_pen(15);
+ m_background_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_back_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_foreground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_fore_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_midground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_mid_tile_info),this), TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,64,32);
+
+ m_scrollram16 = auto_alloc_array(machine(), UINT16, 0x60/2);
+ m_sprite_xoffs = 0;
+ m_sprite_yoffs = 0;
+
+ m_has_extended_banking = 0;
+ m_has_extended_priority = 0;
+
+ m_background_layer->set_transparent_pen(15);
+ m_midground_layer->set_transparent_pen(15);
+ m_foreground_layer->set_transparent_pen(15);
+ m_text_layer->set_transparent_pen(15);
}
-VIDEO_START( denjinmk )
+VIDEO_START_MEMBER(legionna_state,denjinmk)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_fore_tile_info_denji),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_mid_tile_info_denji),state), TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
-
- state->m_scrollram16 = auto_alloc_array(machine, UINT16, 0x60/2);
- state->m_sprite_xoffs = 0;
- state->m_sprite_yoffs = 0;
-
- state->m_has_extended_banking = 1;
- state->m_has_extended_priority = 0;
-
- state->m_background_layer->set_transparent_pen(15);
- state->m_midground_layer->set_transparent_pen(15);
- state->m_foreground_layer->set_transparent_pen(15);
- state->m_text_layer->set_transparent_pen(7);//?
+ m_background_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_back_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_foreground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_fore_tile_info_denji),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_midground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_mid_tile_info_denji),this), TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,64,32);
+
+ m_scrollram16 = auto_alloc_array(machine(), UINT16, 0x60/2);
+ m_sprite_xoffs = 0;
+ m_sprite_yoffs = 0;
+
+ m_has_extended_banking = 1;
+ m_has_extended_priority = 0;
+
+ m_background_layer->set_transparent_pen(15);
+ m_midground_layer->set_transparent_pen(15);
+ m_foreground_layer->set_transparent_pen(15);
+ m_text_layer->set_transparent_pen(7);//?
}
-VIDEO_START( cupsoc )
+VIDEO_START_MEMBER(legionna_state,cupsoc)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_fore_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_mid_tile_info_cupsoc),state), TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
-
- state->m_scrollram16 = auto_alloc_array(machine, UINT16, 0x60/2);
- state->m_sprite_xoffs = 0;
- state->m_sprite_yoffs = 0;
-
- state->m_has_extended_banking = 0;
- state->m_has_extended_priority = 1;
-
- state->m_background_layer->set_transparent_pen(15);
- state->m_midground_layer->set_transparent_pen(15);
- state->m_foreground_layer->set_transparent_pen(15);
- state->m_text_layer->set_transparent_pen(15);
+ m_background_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_back_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_foreground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_fore_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_midground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_mid_tile_info_cupsoc),this), TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,64,32);
+
+ m_scrollram16 = auto_alloc_array(machine(), UINT16, 0x60/2);
+ m_sprite_xoffs = 0;
+ m_sprite_yoffs = 0;
+
+ m_has_extended_banking = 0;
+ m_has_extended_priority = 1;
+
+ m_background_layer->set_transparent_pen(15);
+ m_midground_layer->set_transparent_pen(15);
+ m_foreground_layer->set_transparent_pen(15);
+ m_text_layer->set_transparent_pen(15);
}
-VIDEO_START(grainbow)
+VIDEO_START_MEMBER(legionna_state,grainbow)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- VIDEO_START_CALL(legionna);
- state->m_sprite_xoffs = state->m_sprite_yoffs = 16;
+ VIDEO_START_CALL_MEMBER(legionna);
+ m_sprite_xoffs = m_sprite_yoffs = 16;
- state->m_has_extended_banking = 0;
- state->m_has_extended_priority = 1;
+ m_has_extended_banking = 0;
+ m_has_extended_priority = 1;
}
-VIDEO_START(godzilla)
+VIDEO_START_MEMBER(legionna_state,godzilla)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- VIDEO_START_CALL(legionna);
+ VIDEO_START_CALL_MEMBER(legionna);
- state->m_has_extended_banking = 1;
- state->m_has_extended_priority = 0;
+ m_has_extended_banking = 1;
+ m_has_extended_priority = 0;
}
diff --git a/src/mame/video/leland.c b/src/mame/video/leland.c
index 0e93a8fad05..a5f3db38699 100644
--- a/src/mame/video/leland.c
+++ b/src/mame/video/leland.c
@@ -55,27 +55,25 @@ static TIMER_CALLBACK( scanline_callback )
*
*************************************/
-static VIDEO_START( leland )
+VIDEO_START_MEMBER(leland_state,leland)
{
- leland_state *state = machine.driver_data<leland_state>();
/* allocate memory */
- state->m_video_ram = auto_alloc_array_clear(machine, UINT8, VRAM_SIZE);
+ m_video_ram = auto_alloc_array_clear(machine(), UINT8, VRAM_SIZE);
/* scanline timer */
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(scanline_callback));
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0));
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(scanline_callback));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(0));
}
-static VIDEO_START( ataxx )
+VIDEO_START_MEMBER(leland_state,ataxx)
{
- leland_state *state = machine.driver_data<leland_state>();
/* first do the standard stuff */
- VIDEO_START_CALL(leland);
+ VIDEO_START_CALL_MEMBER(leland);
/* allocate memory */
- state->m_ataxx_qram = auto_alloc_array_clear(machine, UINT8, QRAM_SIZE);
+ m_ataxx_qram = auto_alloc_array_clear(machine(), UINT8, QRAM_SIZE);
}
@@ -525,7 +523,7 @@ static SCREEN_UPDATE_IND16( ataxx )
MACHINE_CONFIG_FRAGMENT( leland_video )
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_VIDEO_START(leland)
+ MCFG_VIDEO_START_OVERRIDE(leland_state,leland)
MCFG_PALETTE_LENGTH(1024)
@@ -538,7 +536,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED( ataxx_video, leland_video )
- MCFG_VIDEO_START(ataxx)
+ MCFG_VIDEO_START_OVERRIDE(leland_state,ataxx)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(ataxx)
MACHINE_CONFIG_END
diff --git a/src/mame/video/lemmings.c b/src/mame/video/lemmings.c
index 71bf4e1f8d1..9fd6e5349cd 100644
--- a/src/mame/video/lemmings.c
+++ b/src/mame/video/lemmings.c
@@ -29,23 +29,22 @@ TILE_GET_INFO_MEMBER(lemmings_state::get_tile_info)
0);
}
-VIDEO_START( lemmings )
+void lemmings_state::video_start()
{
- lemmings_state *state = machine.driver_data<lemmings_state>();
- state->m_vram_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lemmings_state::get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ m_vram_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lemmings_state::get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
- state->m_vram_tilemap->set_transparent_pen(0);
- state->m_bitmap0.fill(0x100);
+ m_vram_tilemap->set_transparent_pen(0);
+ m_bitmap0.fill(0x100);
- machine.gfx[2]->set_source(state->m_vram_buffer);
+ machine().gfx[2]->set_source(m_vram_buffer);
- machine.device<decospr_device>("spritegen")->alloc_sprite_bitmap();
- machine.device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
- state->save_item(NAME(state->m_bitmap0));
- state->save_item(NAME(state->m_vram_buffer));
- state->save_item(NAME(state->m_sprite_triple_buffer_0));
- state->save_item(NAME(state->m_sprite_triple_buffer_1));
+ save_item(NAME(m_bitmap0));
+ save_item(NAME(m_vram_buffer));
+ save_item(NAME(m_sprite_triple_buffer_0));
+ save_item(NAME(m_sprite_triple_buffer_1));
}
SCREEN_VBLANK( lemmings )
diff --git a/src/mame/video/lethal.c b/src/mame/video/lethal.c
index 928774c8d2c..94728e70afc 100644
--- a/src/mame/video/lethal.c
+++ b/src/mame/video/lethal.c
@@ -47,33 +47,32 @@ void lethalen_tile_callback( running_machine &machine, int layer, int *code, int
*color = state->m_layer_colorbase[layer] + ((*color & 0x3c) << 2);
}
-VIDEO_START(lethalen)
+void lethal_state::video_start()
{
- lethal_state *state = machine.driver_data<lethal_state>();
// this game uses external linescroll RAM
- k056832_SetExtLinescroll(state->m_k056832);
+ k056832_SetExtLinescroll(m_k056832);
// the US and Japanese cabinets apparently use different mirror setups
- if (!strcmp(machine.system().name, "lethalenj"))
+ if (!strcmp(machine().system().name, "lethalenj"))
{
- k056832_set_layer_offs(state->m_k056832, 0, -195, 0);
- k056832_set_layer_offs(state->m_k056832, 1, -193, 0);
- k056832_set_layer_offs(state->m_k056832, 2, -191, 0);
- k056832_set_layer_offs(state->m_k056832, 3, -189, 0);
+ k056832_set_layer_offs(m_k056832, 0, -195, 0);
+ k056832_set_layer_offs(m_k056832, 1, -193, 0);
+ k056832_set_layer_offs(m_k056832, 2, -191, 0);
+ k056832_set_layer_offs(m_k056832, 3, -189, 0);
}
else
{
- k056832_set_layer_offs(state->m_k056832, 0, 188, 0);
- k056832_set_layer_offs(state->m_k056832, 1, 190, 0);
- k056832_set_layer_offs(state->m_k056832, 2, 192, 0);
- k056832_set_layer_offs(state->m_k056832, 3, 194, 0);
+ k056832_set_layer_offs(m_k056832, 0, 188, 0);
+ k056832_set_layer_offs(m_k056832, 1, 190, 0);
+ k056832_set_layer_offs(m_k056832, 2, 192, 0);
+ k056832_set_layer_offs(m_k056832, 3, 194, 0);
}
- state->m_layer_colorbase[0] = 0x00;
- state->m_layer_colorbase[1] = 0x40;
- state->m_layer_colorbase[2] = 0x80;
- state->m_layer_colorbase[3] = 0xc0;
+ m_layer_colorbase[0] = 0x00;
+ m_layer_colorbase[1] = 0x40;
+ m_layer_colorbase[2] = 0x80;
+ m_layer_colorbase[3] = 0xc0;
}
WRITE8_MEMBER(lethal_state::lethalen_palette_control)
diff --git a/src/mame/video/lethalj.c b/src/mame/video/lethalj.c
index b4b75948bd6..36b798f8e81 100644
--- a/src/mame/video/lethalj.c
+++ b/src/mame/video/lethalj.c
@@ -75,15 +75,14 @@ READ16_MEMBER(lethalj_state::lethalj_gun_r)
*
*************************************/
-VIDEO_START( lethalj )
+void lethalj_state::video_start()
{
- lethalj_state *state = machine.driver_data<lethalj_state>();
/* allocate video RAM for screen */
- state->m_screenram = auto_alloc_array(machine, UINT16, BLITTER_DEST_WIDTH * BLITTER_DEST_HEIGHT);
+ m_screenram = auto_alloc_array(machine(), UINT16, BLITTER_DEST_WIDTH * BLITTER_DEST_HEIGHT);
/* predetermine blitter info */
- state->m_blitter_base = (UINT16 *)state->memregion("gfx1")->base();
- state->m_blitter_rows = state->memregion("gfx1")->bytes() / (2*BLITTER_SOURCE_WIDTH);
+ m_blitter_base = (UINT16 *)memregion("gfx1")->base();
+ m_blitter_rows = memregion("gfx1")->bytes() / (2*BLITTER_SOURCE_WIDTH);
}
diff --git a/src/mame/video/liberate.c b/src/mame/video/liberate.c
index 4cabf464dcd..6f2b86ac68e 100644
--- a/src/mame/video/liberate.c
+++ b/src/mame/video/liberate.c
@@ -199,43 +199,39 @@ WRITE8_MEMBER(liberate_state::prosport_bg_vram_w)
/***************************************************************************/
-VIDEO_START( prosoccr )
+VIDEO_START_MEMBER(liberate_state,prosoccr)
{
- liberate_state *state = machine.driver_data<liberate_state>();
- state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),state), 16, 16, 32, 32);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),state), 8, 8, 32, 32);
+ m_back_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),this), 16, 16, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),this), 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap->set_transparent_pen(0);
- state->m_charram = auto_alloc_array(machine, UINT8, 0x1800 * 2);
+ m_charram = auto_alloc_array(machine(), UINT8, 0x1800 * 2);
}
-VIDEO_START( boomrang )
+VIDEO_START_MEMBER(liberate_state,boomrang)
{
- liberate_state *state = machine.driver_data<liberate_state>();
- state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),state), 16, 16, 32, 32);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),state), 8, 8, 32, 32);
+ m_back_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),this), 16, 16, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),this), 8, 8, 32, 32);
- state->m_back_tilemap->set_transmask(0, 0x0001, 0x007e); /* Bottom 1 pen/Top 7 pens */
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_back_tilemap->set_transmask(0, 0x0001, 0x007e); /* Bottom 1 pen/Top 7 pens */
+ m_fix_tilemap->set_transparent_pen(0);
}
-VIDEO_START( liberate )
+VIDEO_START_MEMBER(liberate_state,liberate)
{
- liberate_state *state = machine.driver_data<liberate_state>();
- state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),state), 16, 16, 32, 32);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),state), 8, 8, 32, 32);
+ m_back_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),this), 16, 16, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),this), 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap->set_transparent_pen(0);
}
-VIDEO_START( prosport )
+VIDEO_START_MEMBER(liberate_state,prosport)
{
- liberate_state *state = machine.driver_data<liberate_state>();
- state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::prosport_get_back_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),state), 16, 16, 32, 32);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),state), 8, 8, 32, 32);
+ m_back_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::prosport_get_back_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),this), 16, 16, 32, 32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),this), 8, 8, 32, 32);
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap->set_transparent_pen(0);
}
/***************************************************************************/
@@ -248,9 +244,9 @@ WRITE8_MEMBER(liberate_state::prosport_paletteram_w)
palette_set_color_rgb(machine(), offset, pal3bit(~data >> 0), pal3bit(~data >> 3), pal2bit(~data >> 6));
}
-PALETTE_INIT( liberate )
+PALETTE_INIT_MEMBER(liberate_state,liberate)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, bit0, bit1, bit2, g, r, b;
for (i = 0;i < 32;i++)
@@ -274,9 +270,9 @@ PALETTE_INIT( liberate )
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
color_prom++;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
- palette_set_color(machine,32,MAKE_RGB(0,0,0)); /* Allocate black for when no background is displayed */
+ palette_set_color(machine(),32,MAKE_RGB(0,0,0)); /* Allocate black for when no background is displayed */
}
/***************************************************************************/
diff --git a/src/mame/video/lkage.c b/src/mame/video/lkage.c
index 92a2ba55183..ae31d2251b7 100644
--- a/src/mame/video/lkage.c
+++ b/src/mame/video/lkage.c
@@ -83,20 +83,19 @@ TILE_GET_INFO_MEMBER(lkage_state::get_tx_tile_info)
SET_TILE_INFO_MEMBER( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
}
-VIDEO_START( lkage )
+void lkage_state::video_start()
{
- lkage_state *state = machine.driver_data<lkage_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lkage_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lkage_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lkage_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lkage_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lkage_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lkage_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(-5, -5 + 24);
- state->m_fg_tilemap->set_scrolldx(-3, -3 + 24);
- state->m_tx_tilemap->set_scrolldx(-1, -1 + 24);
+ m_bg_tilemap->set_scrolldx(-5, -5 + 24);
+ m_fg_tilemap->set_scrolldx(-3, -3 + 24);
+ m_tx_tilemap->set_scrolldx(-1, -1 + 24);
}
diff --git a/src/mame/video/lockon.c b/src/mame/video/lockon.c
index 4ada68b152e..e59dce1febf 100644
--- a/src/mame/video/lockon.c
+++ b/src/mame/video/lockon.c
@@ -98,9 +98,9 @@ static const res_net_info lockon_pd_net_info =
}
};
-PALETTE_INIT( lockon )
+void lockon_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 1024; ++i)
@@ -122,7 +122,7 @@ PALETTE_INIT( lockon )
b = compute_res_net((p1 & 0x1f), 2, &lockon_pd_net_info);
}
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -895,30 +895,29 @@ static void hud_draw( running_machine &machine, bitmap_ind16 &bitmap, const rect
*
*************************************/
-VIDEO_START( lockon )
+void lockon_state::video_start()
{
- lockon_state *state = machine.driver_data<lockon_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lockon_state::get_lockon_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap->set_transparent_pen(0);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lockon_state::get_lockon_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap->set_transparent_pen(0);
/* Allocate the two frame buffers for rotation */
- state->m_back_buffer = auto_bitmap_ind16_alloc(machine, 512, 512);
- state->m_front_buffer = auto_bitmap_ind16_alloc(machine, 512, 512);
+ m_back_buffer = auto_bitmap_ind16_alloc(machine(), 512, 512);
+ m_front_buffer = auto_bitmap_ind16_alloc(machine(), 512, 512);
/* 2kB of object ASIC palette RAM */
- state->m_obj_pal_ram = auto_alloc_array(machine, UINT8, 2048);
+ m_obj_pal_ram = auto_alloc_array(machine(), UINT8, 2048);
/* Timer for ground display list callback */
- state->m_bufend_timer = machine.scheduler().timer_alloc(FUNC(bufend_callback));
+ m_bufend_timer = machine().scheduler().timer_alloc(FUNC(bufend_callback));
/* Timer for the CRTC cursor pulse */
- state->m_cursor_timer = machine.scheduler().timer_alloc(FUNC(cursor_callback));
- state->m_cursor_timer->adjust(machine.primary_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
+ m_cursor_timer = machine().scheduler().timer_alloc(FUNC(cursor_callback));
+ m_cursor_timer->adjust(machine().primary_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
- state->save_item(NAME(*state->m_back_buffer));
- state->save_item(NAME(*state->m_front_buffer));
- state->save_pointer(NAME(state->m_obj_pal_ram), 2048);
+ save_item(NAME(*m_back_buffer));
+ save_item(NAME(*m_front_buffer));
+ save_pointer(NAME(m_obj_pal_ram), 2048);
}
SCREEN_UPDATE_IND16( lockon )
diff --git a/src/mame/video/lordgun.c b/src/mame/video/lordgun.c
index c3b844b642e..9c2e6697d55 100644
--- a/src/mame/video/lordgun.c
+++ b/src/mame/video/lordgun.c
@@ -94,45 +94,44 @@ WRITE16_MEMBER(lordgun_state::lordgun_vram_3_w){ lordgun_vram_w(&space, offset,
***************************************************************************/
-VIDEO_START( lordgun )
+void lordgun_state::video_start()
{
- lordgun_state *state = machine.driver_data<lordgun_state>();
int i;
- int w = machine.primary_screen->width();
- int h = machine.primary_screen->height();
+ int w = machine().primary_screen->width();
+ int h = machine().primary_screen->height();
// 0x800 x 200
- state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,8,8, 0x100, 0x40 );
+ m_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS,8,8, 0x100, 0x40 );
// 0x800 x 200
- state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,16,16, 0x80,0x20 );
+ m_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS,16,16, 0x80,0x20 );
// 0x800 x 200
- state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS,32,32, 0x40,0x10 );
+ m_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_2),this), TILEMAP_SCAN_ROWS,32,32, 0x40,0x10 );
// 0x200 x 100
- state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS,8,8, 0x40,0x20 );
+ m_tilemap[3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_3),this), TILEMAP_SCAN_ROWS,8,8, 0x40,0x20 );
- state->m_tilemap[0]->set_scroll_rows(1);
- state->m_tilemap[0]->set_scroll_cols(1);
- state->m_tilemap[0]->set_transparent_pen(0x3f);
+ m_tilemap[0]->set_scroll_rows(1);
+ m_tilemap[0]->set_scroll_cols(1);
+ m_tilemap[0]->set_transparent_pen(0x3f);
// Has line scroll
- state->m_tilemap[1]->set_scroll_rows(0x200);
- state->m_tilemap[1]->set_scroll_cols(1);
- state->m_tilemap[1]->set_transparent_pen(0x3f);
+ m_tilemap[1]->set_scroll_rows(0x200);
+ m_tilemap[1]->set_scroll_cols(1);
+ m_tilemap[1]->set_transparent_pen(0x3f);
- state->m_tilemap[2]->set_scroll_rows(1);
- state->m_tilemap[2]->set_scroll_cols(1);
- state->m_tilemap[2]->set_transparent_pen(0x3f);
+ m_tilemap[2]->set_scroll_rows(1);
+ m_tilemap[2]->set_scroll_cols(1);
+ m_tilemap[2]->set_transparent_pen(0x3f);
- state->m_tilemap[3]->set_scroll_rows(1);
- state->m_tilemap[3]->set_scroll_cols(1);
- state->m_tilemap[3]->set_transparent_pen(0x3f);
+ m_tilemap[3]->set_scroll_rows(1);
+ m_tilemap[3]->set_scroll_cols(1);
+ m_tilemap[3]->set_transparent_pen(0x3f);
// Buffer bitmaps for 4 tilemaps (0-3) + sprites (4)
for (i = 0; i < 5; i++)
- state->m_bitmaps[i] = auto_bitmap_ind16_alloc(machine, w, h);
+ m_bitmaps[i] = auto_bitmap_ind16_alloc(machine(), w, h);
}
/***************************************************************************
diff --git a/src/mame/video/lucky74.c b/src/mame/video/lucky74.c
index fc012d5dcde..a104cafcd2e 100644
--- a/src/mame/video/lucky74.c
+++ b/src/mame/video/lucky74.c
@@ -123,13 +123,13 @@ WRITE8_MEMBER(lucky74_state::lucky74_bg_colorram_w)
}
-PALETTE_INIT( lucky74 )
+void lucky74_state::palette_init()
/*
There are 2 states (see the technical notes).
We're constructing a double-sized palette with one half for each state.
*/
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const int resistances_rgb[4] = { 2000, 1000, 470, 220 };
double weights_r[4], weights_g[4], weights_b[4];
@@ -144,42 +144,42 @@ PALETTE_INIT( lucky74 )
{
int bit0, bit1, bit2, bit3, r1, g1, b1, r2, g2, b2;
- /* red component (state 1, PROM E6) */
+ /* red component (this 1, PROM E6) */
bit0 = (color_prom[0x000 + i] >> 0) & 0x01;
bit1 = (color_prom[0x000 + i] >> 1) & 0x01;
bit2 = (color_prom[0x000 + i] >> 2) & 0x01;
bit3 = (color_prom[0x000 + i] >> 3) & 0x01;
r1 = combine_4_weights(weights_r, bit0, bit1, bit2, bit3);
- /* red component (state 2, PROM E7) */
+ /* red component (this 2, PROM E7) */
bit0 = (color_prom[0x100 + i] >> 0) & 0x01;
bit1 = (color_prom[0x100 + i] >> 1) & 0x01;
bit2 = (color_prom[0x100 + i] >> 2) & 0x01;
bit3 = (color_prom[0x100 + i] >> 3) & 0x01;
r2 = combine_4_weights(weights_r, bit0, bit1, bit2, bit3);
- /* green component (state 1, PROM D6) */
+ /* green component (this 1, PROM D6) */
bit0 = (color_prom[0x200 + i] >> 0) & 0x01;
bit1 = (color_prom[0x200 + i] >> 1) & 0x01;
bit2 = (color_prom[0x200 + i] >> 2) & 0x01;
bit3 = (color_prom[0x200 + i] >> 3) & 0x01;
g1 = combine_4_weights(weights_g, bit0, bit1, bit2, bit3);
- /* green component (state 2, PROM D7) */
+ /* green component (this 2, PROM D7) */
bit0 = (color_prom[0x300 + i] >> 0) & 0x01;
bit1 = (color_prom[0x300 + i] >> 1) & 0x01;
bit2 = (color_prom[0x300 + i] >> 2) & 0x01;
bit3 = (color_prom[0x300 + i] >> 3) & 0x01;
g2 = combine_4_weights(weights_g, bit0, bit1, bit2, bit3);
- /* blue component (state 1, PROM C6) */
+ /* blue component (this 1, PROM C6) */
bit0 = (color_prom[0x400 + i] >> 0) & 0x01;
bit1 = (color_prom[0x400 + i] >> 1) & 0x01;
bit2 = (color_prom[0x400 + i] >> 2) & 0x01;
bit3 = (color_prom[0x400 + i] >> 3) & 0x01;
b1 = combine_4_weights(weights_b, bit0, bit1, bit2, bit3);
- /* blue component (state 2, PROM C7) */
+ /* blue component (this 2, PROM C7) */
bit0 = (color_prom[0x500 + i] >> 0) & 0x01;
bit1 = (color_prom[0x500 + i] >> 1) & 0x01;
bit2 = (color_prom[0x500 + i] >> 2) & 0x01;
@@ -188,10 +188,10 @@ PALETTE_INIT( lucky74 )
/* PROMs circuitry, 1st state */
- palette_set_color(machine, i, MAKE_RGB(r1, g1, b1));
+ palette_set_color(machine(), i, MAKE_RGB(r1, g1, b1));
/* PROMs circuitry, 2nd state */
- palette_set_color(machine, i + 256, MAKE_RGB(r2, g2, b2));
+ palette_set_color(machine(), i + 256, MAKE_RGB(r2, g2, b2));
}
}
@@ -227,13 +227,12 @@ TILE_GET_INFO_MEMBER(lucky74_state::get_bg_tile_info)
}
-VIDEO_START( lucky74 )
+void lucky74_state::video_start()
{
- lucky74_state *state = machine.driver_data<lucky74_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lucky74_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lucky74_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lucky74_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lucky74_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16( lucky74 )
diff --git a/src/mame/video/lvcards.c b/src/mame/video/lvcards.c
index 7206659c48f..be4eb04c730 100644
--- a/src/mame/video/lvcards.c
+++ b/src/mame/video/lvcards.c
@@ -10,12 +10,12 @@
#include "includes/lvcards.h"
-PALETTE_INIT( ponttehk )
+PALETTE_INIT_MEMBER(lvcards_state,ponttehk)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for ( i = 0; i < machine.total_colors(); i++ )
+ for ( i = 0; i < machine().total_colors(); i++ )
{
int bit0,bit1,bit2,bit3,r,g,b;
@@ -27,31 +27,31 @@ PALETTE_INIT( ponttehk )
r = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
/* green component */
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
/* blue component */
- bit0 = (color_prom[2*machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[2*machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[2*machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[2*machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[2*machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[2*machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[2*machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[2*machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
-PALETTE_INIT( lvcards ) //Ever so slightly different, but different enough.
+void lvcards_state::palette_init()//Ever so slightly different, but different enough.
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for ( i = 0; i < machine.total_colors(); i++ )
+ for ( i = 0; i < machine().total_colors(); i++ )
{
int bit0,bit1,bit2,bit3,r,g,b;
@@ -63,20 +63,20 @@ PALETTE_INIT( lvcards ) //Ever so slightly different, but different enough.
r = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
/* green component */
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x11;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x11;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x11;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x11;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x11;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x11;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x11;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x11;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
/* blue component */
- bit0 = (color_prom[2*machine.total_colors()] >> 0) & 0x11;
- bit1 = (color_prom[2*machine.total_colors()] >> 1) & 0x11;
- bit2 = (color_prom[2*machine.total_colors()] >> 2) & 0x11;
- bit3 = (color_prom[2*machine.total_colors()] >> 3) & 0x11;
+ bit0 = (color_prom[2*machine().total_colors()] >> 0) & 0x11;
+ bit1 = (color_prom[2*machine().total_colors()] >> 1) & 0x11;
+ bit2 = (color_prom[2*machine().total_colors()] >> 2) & 0x11;
+ bit3 = (color_prom[2*machine().total_colors()] >> 3) & 0x11;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
@@ -104,10 +104,9 @@ TILE_GET_INFO_MEMBER(lvcards_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( lvcards )
+void lvcards_state::video_start()
{
- lvcards_state *state = machine.driver_data<lvcards_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lvcards_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lvcards_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/lwings.c b/src/mame/video/lwings.c
index a51110e0a12..41cb67839fb 100644
--- a/src/mame/video/lwings.c
+++ b/src/mame/video/lwings.c
@@ -78,37 +78,34 @@ TILE_GET_INFO_MEMBER(lwings_state::get_bg2_tile_info)
***************************************************************************/
-VIDEO_START( lwings )
+void lwings_state::video_start()
{
- lwings_state *state = machine.driver_data<lwings_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::lwings_get_bg1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::lwings_get_bg1_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(3);
+ m_fg_tilemap->set_transparent_pen(3);
}
-VIDEO_START( trojan )
+VIDEO_START_MEMBER(lwings_state,trojan)
{
- lwings_state *state = machine.driver_data<lwings_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::trojan_get_bg1_tile_info),state),TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(lwings_state::get_bg2_memory_offset),state), 16, 16, 32, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::trojan_get_bg1_tile_info),this),TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(lwings_state::get_bg2_memory_offset),this), 16, 16, 32, 16);
- state->m_fg_tilemap->set_transparent_pen(3);
- state->m_bg1_tilemap->set_transmask(0, 0xffff, 0x0001); /* split type 0 is totally transparent in front half */
- state->m_bg1_tilemap->set_transmask(1, 0xf07f, 0x0f81); /* split type 1 has pens 7-11 opaque in front half */
+ m_fg_tilemap->set_transparent_pen(3);
+ m_bg1_tilemap->set_transmask(0, 0xffff, 0x0001); /* split type 0 is totally transparent in front half */
+ m_bg1_tilemap->set_transmask(1, 0xf07f, 0x0f81); /* split type 1 has pens 7-11 opaque in front half */
- state->m_bg2_avenger_hw = 0;
+ m_bg2_avenger_hw = 0;
}
-VIDEO_START( avengers )
+VIDEO_START_MEMBER(lwings_state,avengers)
{
- lwings_state *state = machine.driver_data<lwings_state>();
- VIDEO_START_CALL(trojan);
- state->m_bg2_avenger_hw = 1;
+ VIDEO_START_CALL_MEMBER(trojan);
+ m_bg2_avenger_hw = 1;
}
/***************************************************************************
diff --git a/src/mame/video/m10.c b/src/mame/video/m10.c
index aff8a1c418f..f96cd1d6891 100644
--- a/src/mame/video/m10.c
+++ b/src/mame/video/m10.c
@@ -98,30 +98,28 @@ INLINE void plot_pixel_m10( running_machine &machine, bitmap_ind16 &bm, int x, i
(IREMM10_HBSTART - 1) - (x - IREMM10_HBEND)) = col; // only when flip_screen(?)
}
-VIDEO_START( m10 )
+VIDEO_START_MEMBER(m10_state,m10)
{
- m10_state *state = machine.driver_data<m10_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m10_state::get_tile_info),state), tilemap_mapper_delegate(FUNC(m10_state::tilemap_scan),state), 8, 8, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_scrolldx(0, 62);
- state->m_tx_tilemap->set_scrolldy(0, 0);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m10_state::get_tile_info),this), tilemap_mapper_delegate(FUNC(m10_state::tilemap_scan),this), 8, 8, 32, 32);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_scrolldx(0, 62);
+ m_tx_tilemap->set_scrolldy(0, 0);
- state->m_back_gfx = auto_alloc(machine, gfx_element(machine, backlayout, state->m_chargen, 8, 0));
+ m_back_gfx = auto_alloc(machine(), gfx_element(machine(), backlayout, m_chargen, 8, 0));
- machine.gfx[1] = state->m_back_gfx;
+ machine().gfx[1] = m_back_gfx;
return ;
}
-VIDEO_START( m15 )
+VIDEO_START_MEMBER(m10_state,m15)
{
- m10_state *state = machine.driver_data<m10_state>();
- machine.gfx[0] = auto_alloc(machine, gfx_element(machine, charlayout, state->m_chargen, 8, 0));
+ machine().gfx[0] = auto_alloc(machine(), gfx_element(machine(), charlayout, m_chargen, 8, 0));
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m10_state::get_tile_info),state),tilemap_mapper_delegate(FUNC(m10_state::tilemap_scan),state), 8, 8, 32, 32);
- state->m_tx_tilemap->set_scrolldx(0, 116);
- state->m_tx_tilemap->set_scrolldy(0, 0);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m10_state::get_tile_info),this),tilemap_mapper_delegate(FUNC(m10_state::tilemap_scan),this), 8, 8, 32, 32);
+ m_tx_tilemap->set_scrolldx(0, 116);
+ m_tx_tilemap->set_scrolldy(0, 0);
return ;
}
diff --git a/src/mame/video/m107.c b/src/mame/video/m107.c
index 74b32bcf840..196454dcdec 100644
--- a/src/mame/video/m107.c
+++ b/src/mame/video/m107.c
@@ -118,20 +118,19 @@ WRITE16_MEMBER(m107_state::m107_control_w)
/*****************************************************************************/
-VIDEO_START( m107 )
+void m107_state::video_start()
{
- m107_state *state = machine.driver_data<m107_state>();
int laynum;
for (laynum = 0; laynum < 4; laynum++)
{
- pf_layer_info *layer = &state->m_pf_layer[laynum];
+ pf_layer_info *layer = &m_pf_layer[laynum];
/* allocate a tilemaps per layer */
- layer->tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m107_state::get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
+ layer->tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m107_state::get_pf_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,64);
/* set the user data to point to the layer */
- layer->tmap->set_user_data(&state->m_pf_layer[laynum]);
+ layer->tmap->set_user_data(&m_pf_layer[laynum]);
/* set scroll offsets */
layer->tmap->set_scrolldx(-3 + 2 * laynum, -3 + 2 * laynum);
@@ -142,7 +141,7 @@ VIDEO_START( m107 )
layer->tmap->set_transparent_pen(0);
}
- state->m_buffered_spriteram = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
+ m_buffered_spriteram = auto_alloc_array_clear(machine(), UINT16, 0x1000/2);
}
/*****************************************************************************/
diff --git a/src/mame/video/m52.c b/src/mame/video/m52.c
index 6555255cf29..b34f5a7934b 100644
--- a/src/mame/video/m52.c
+++ b/src/mame/video/m52.c
@@ -17,9 +17,9 @@
*
*************************************/
-PALETTE_INIT( m52 )
+void m52_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
const UINT8 *char_pal = color_prom + 0x000;
const UINT8 *back_pal = color_prom + 0x200;
const UINT8 *sprite_pal = color_prom + 0x220;
@@ -29,7 +29,7 @@ PALETTE_INIT( m52 )
double weights_r[3], weights_g[3], weights_b[3], scale;
int i;
- machine.colortable = colortable_alloc(machine, 512 + 32 + 32);
+ machine().colortable = colortable_alloc(machine(), 512 + 32 + 32);
/* compute palette information for characters/backgrounds */
scale = compute_resistor_weights(0, 255, -1.0,
@@ -45,7 +45,7 @@ PALETTE_INIT( m52 )
int g = combine_3_weights(weights_g, BIT(promval,3), BIT(promval,4), BIT(promval,5));
int b = combine_2_weights(weights_b, BIT(promval,6), BIT(promval,7));
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r,g,b));
}
/* background palette */
@@ -56,7 +56,7 @@ PALETTE_INIT( m52 )
int g = combine_3_weights(weights_g, BIT(promval,3), BIT(promval,4), BIT(promval,5));
int b = combine_2_weights(weights_b, BIT(promval,6), BIT(promval,7));
- colortable_palette_set_color(machine.colortable, 512+i, MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable, 512+i, MAKE_RGB(r,g,b));
}
/* compute palette information for sprites */
@@ -73,18 +73,18 @@ PALETTE_INIT( m52 )
int g = combine_3_weights(weights_g, BIT(promval,3), BIT(promval,4), BIT(promval,5));
int b = combine_3_weights(weights_b, BIT(promval,0), BIT(promval,1), BIT(promval,2));
- colortable_palette_set_color(machine.colortable, 512 + 32 + i, MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable, 512 + 32 + i, MAKE_RGB(r,g,b));
}
/* character lookup table */
for (i = 0; i < 512; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprite lookup table */
for (i = 0; i < 16 * 4; i++)
{
UINT8 promval = sprite_table[(i & 3) | ((i & ~3) << 1)];
- colortable_entry_set_value(machine.colortable, 512 + i, 512 + 32 + promval);
+ colortable_entry_set_value(machine().colortable, 512 + i, 512 + 32 + promval);
}
/* background */
@@ -93,18 +93,18 @@ PALETTE_INIT( m52 )
/* xbb00: mountains */
/* 0xxbb: hills */
/* 1xxbb: city */
- colortable_entry_set_value(machine.colortable, 512+16*4+0*4+0, 512);
- colortable_entry_set_value(machine.colortable, 512+16*4+0*4+1, 512+4);
- colortable_entry_set_value(machine.colortable, 512+16*4+0*4+2, 512+8);
- colortable_entry_set_value(machine.colortable, 512+16*4+0*4+3, 512+12);
- colortable_entry_set_value(machine.colortable, 512+16*4+1*4+0, 512);
- colortable_entry_set_value(machine.colortable, 512+16*4+1*4+1, 512+1);
- colortable_entry_set_value(machine.colortable, 512+16*4+1*4+2, 512+2);
- colortable_entry_set_value(machine.colortable, 512+16*4+1*4+3, 512+3);
- colortable_entry_set_value(machine.colortable, 512+16*4+2*4+0, 512);
- colortable_entry_set_value(machine.colortable, 512+16*4+2*4+1, 512+16+1);
- colortable_entry_set_value(machine.colortable, 512+16*4+2*4+2, 512+16+2);
- colortable_entry_set_value(machine.colortable, 512+16*4+2*4+3, 512+16+3);
+ colortable_entry_set_value(machine().colortable, 512+16*4+0*4+0, 512);
+ colortable_entry_set_value(machine().colortable, 512+16*4+0*4+1, 512+4);
+ colortable_entry_set_value(machine().colortable, 512+16*4+0*4+2, 512+8);
+ colortable_entry_set_value(machine().colortable, 512+16*4+0*4+3, 512+12);
+ colortable_entry_set_value(machine().colortable, 512+16*4+1*4+0, 512);
+ colortable_entry_set_value(machine().colortable, 512+16*4+1*4+1, 512+1);
+ colortable_entry_set_value(machine().colortable, 512+16*4+1*4+2, 512+2);
+ colortable_entry_set_value(machine().colortable, 512+16*4+1*4+3, 512+3);
+ colortable_entry_set_value(machine().colortable, 512+16*4+2*4+0, 512);
+ colortable_entry_set_value(machine().colortable, 512+16*4+2*4+1, 512+16+1);
+ colortable_entry_set_value(machine().colortable, 512+16*4+2*4+2, 512+16+2);
+ colortable_entry_set_value(machine().colortable, 512+16*4+2*4+3, 512+16+3);
}
@@ -146,22 +146,21 @@ TILE_GET_INFO_MEMBER(m52_state::get_tile_info)
*
*************************************/
-VIDEO_START( m52 )
+void m52_state::video_start()
{
- m52_state *state = machine.driver_data<m52_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m52_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m52_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(128 - 1, -1);
- state->m_bg_tilemap->set_scrolldy(16, 16);
- state->m_bg_tilemap->set_scroll_rows(4); /* only lines 192-256 scroll */
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scrolldx(128 - 1, -1);
+ m_bg_tilemap->set_scrolldy(16, 16);
+ m_bg_tilemap->set_scroll_rows(4); /* only lines 192-256 scroll */
- state->save_item(NAME(state->m_bg1xpos));
- state->save_item(NAME(state->m_bg1ypos));
- state->save_item(NAME(state->m_bg2xpos));
- state->save_item(NAME(state->m_bg2ypos));
- state->save_item(NAME(state->m_bgcontrol));
+ save_item(NAME(m_bg1xpos));
+ save_item(NAME(m_bg1ypos));
+ save_item(NAME(m_bg2xpos));
+ save_item(NAME(m_bg2ypos));
+ save_item(NAME(m_bgcontrol));
}
diff --git a/src/mame/video/m57.c b/src/mame/video/m57.c
index dbd2cda9bc2..52592c4005d 100644
--- a/src/mame/video/m57.c
+++ b/src/mame/video/m57.c
@@ -30,12 +30,12 @@
***************************************************************************/
-PALETTE_INIT( m57 )
+void m57_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- machine.colortable = colortable_alloc(machine, 32 * 8 + 16);
+ machine().colortable = colortable_alloc(machine(), 32 * 8 + 16);
/* character palette */
for (i = 0; i < 256; i++)
@@ -58,8 +58,8 @@ PALETTE_INIT( m57 )
bit2 = (color_prom[0] >> 2) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r,g,b));
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r,g,b));
+ colortable_entry_set_value(machine().colortable, i, i);
color_prom++;
}
@@ -87,7 +87,7 @@ PALETTE_INIT( m57 )
bit2 = (*color_prom >> 2) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i + 256, MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable, i + 256, MAKE_RGB(r,g,b));
color_prom++;
}
@@ -98,7 +98,7 @@ PALETTE_INIT( m57 )
/* sprite lookup table */
for (i = 0; i < 32 * 8; i++)
{
- colortable_entry_set_value(machine.colortable, i + 32 * 8, 256 + (~*color_prom & 0x0f));
+ colortable_entry_set_value(machine().colortable, i + 32 * 8, 256 + (~*color_prom & 0x0f));
color_prom++;
}
}
@@ -140,14 +140,13 @@ WRITE8_MEMBER(m57_state::m57_videoram_w)
*
*************************************/
-VIDEO_START( m57 )
+void m57_state::video_start()
{
- m57_state *state = machine.driver_data<m57_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m57_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_rows(256);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m57_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scroll_rows(256);
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_flipscreen));
}
diff --git a/src/mame/video/m58.c b/src/mame/video/m58.c
index 07b9a07105c..68c407193e4 100644
--- a/src/mame/video/m58.c
+++ b/src/mame/video/m58.c
@@ -19,9 +19,9 @@
*
*************************************/
-PALETTE_INIT( yard )
+void m58_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
const UINT8 *char_lopal = color_prom + 0x000;
const UINT8 *char_hipal = color_prom + 0x100;
const UINT8 *sprite_pal = color_prom + 0x200;
@@ -33,7 +33,7 @@ PALETTE_INIT( yard )
double weights_r[3], weights_g[3], weights_b[3], scale;
int i;
- machine.colortable = colortable_alloc(machine, 256+256+16);
+ machine().colortable = colortable_alloc(machine(), 256+256+16);
/* compute palette information for characters/radar */
scale = compute_resistor_weights(0, 255, -1.0,
@@ -49,7 +49,7 @@ PALETTE_INIT( yard )
int g = combine_3_weights(weights_g, BIT(promval,3), BIT(promval,4), BIT(promval,5));
int b = combine_3_weights(weights_b, BIT(promval,0), BIT(promval,1), BIT(promval,2));
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r,g,b));
}
/* radar palette */
@@ -60,7 +60,7 @@ PALETTE_INIT( yard )
int g = combine_3_weights(weights_g, BIT(promval,3), BIT(promval,4), BIT(promval,5));
int b = combine_3_weights(weights_b, BIT(promval,0), BIT(promval,1), BIT(promval,2));
- colortable_palette_set_color(machine.colortable, 256+i, MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable, 256+i, MAKE_RGB(r,g,b));
}
/* compute palette information for sprites */
@@ -77,22 +77,22 @@ PALETTE_INIT( yard )
int g = combine_3_weights(weights_g, BIT(promval,3), BIT(promval,4), BIT(promval,5));
int b = combine_3_weights(weights_b, BIT(promval,0), BIT(promval,1), BIT(promval,2));
- colortable_palette_set_color(machine.colortable, 256+256+i, MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable, 256+256+i, MAKE_RGB(r,g,b));
}
/* character lookup table */
for (i = 0; i < 256; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* radar lookup table */
for (i = 0; i < 256; i++)
- colortable_entry_set_value(machine.colortable, 256+i, 256+i);
+ colortable_entry_set_value(machine().colortable, 256+i, 256+i);
/* sprite lookup table */
for (i = 0; i < 256; i++)
{
UINT8 promval = sprite_table[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, 256+256+i, 256+256+promval);
+ colortable_entry_set_value(machine().colortable, 256+256+i, 256+256+promval);
}
}
@@ -174,19 +174,18 @@ TILEMAP_MAPPER_MEMBER(m58_state::yard_tilemap_scan_rows)
*
*************************************/
-VIDEO_START( yard )
+void m58_state::video_start()
{
- m58_state *state = machine.driver_data<m58_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
- const rectangle &visarea = machine.primary_screen->visible_area();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
+ const rectangle &visarea = machine().primary_screen->visible_area();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m58_state::yard_get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(m58_state::yard_tilemap_scan_rows),state), 8, 8, 64, 32);
- state->m_bg_tilemap->set_scrolldx(visarea.min_x, width - (visarea.max_x + 1));
- state->m_bg_tilemap->set_scrolldy(visarea.min_y - 8, height + 16 - (visarea.max_y + 1));
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m58_state::yard_get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(m58_state::yard_tilemap_scan_rows),this), 8, 8, 64, 32);
+ m_bg_tilemap->set_scrolldx(visarea.min_x, width - (visarea.max_x + 1));
+ m_bg_tilemap->set_scrolldy(visarea.min_y - 8, height + 16 - (visarea.max_y + 1));
- state->m_scroll_panel_bitmap = auto_bitmap_ind16_alloc(machine, SCROLL_PANEL_WIDTH, height);
+ m_scroll_panel_bitmap = auto_bitmap_ind16_alloc(machine(), SCROLL_PANEL_WIDTH, height);
}
diff --git a/src/mame/video/m62.c b/src/mame/video/m62.c
index bdf91377f12..4bfbf2ee347 100644
--- a/src/mame/video/m62.c
+++ b/src/mame/video/m62.c
@@ -197,93 +197,89 @@ static void m62_amplify_contrast(palette_t *palette, UINT32 numcolors)
palette_set_contrast(palette, 255000.0/ymax);
}
-PALETTE_INIT( m62 )
+void m62_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- m62_state *state = machine.driver_data<m62_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &m62_tile_decode_info, &m62_tile_net_info);
- palette_set_colors(machine, 0x000, rgb, 0x100);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &m62_tile_decode_info, &m62_tile_net_info);
+ palette_set_colors(machine(), 0x000, rgb, 0x100);
+ auto_free(machine(), rgb);
- rgb = compute_res_net_all(machine, color_prom, &m62_sprite_decode_info, &m62_sprite_net_info);
- palette_set_colors(machine, 0x100, rgb, 0x100);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &m62_sprite_decode_info, &m62_sprite_net_info);
+ palette_set_colors(machine(), 0x100, rgb, 0x100);
+ auto_free(machine(), rgb);
- m62_amplify_contrast(machine.palette,0);
+ m62_amplify_contrast(machine().palette,0);
/* we'll need this at run time */
- state->m_sprite_height_prom = color_prom + 0x600;
+ m_sprite_height_prom = color_prom + 0x600;
}
-PALETTE_INIT( lotlot )
+PALETTE_INIT_MEMBER(m62_state,lotlot)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- m62_state *state = machine.driver_data<m62_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &lotlot_tile_decode_info, &m62_tile_net_info);
- palette_set_colors(machine, 0x000, rgb, 0x180);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &lotlot_tile_decode_info, &m62_tile_net_info);
+ palette_set_colors(machine(), 0x000, rgb, 0x180);
+ auto_free(machine(), rgb);
- rgb = compute_res_net_all(machine, color_prom, &lotlot_sprite_decode_info, &m62_sprite_net_info);
- palette_set_colors(machine, 0x180, rgb, 0x180);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &lotlot_sprite_decode_info, &m62_sprite_net_info);
+ palette_set_colors(machine(), 0x180, rgb, 0x180);
+ auto_free(machine(), rgb);
- m62_amplify_contrast(machine.palette,0);
+ m62_amplify_contrast(machine().palette,0);
/* we'll need this at run time */
- state->m_sprite_height_prom = color_prom + 0x900;
+ m_sprite_height_prom = color_prom + 0x900;
}
-PALETTE_INIT( battroad )
+PALETTE_INIT_MEMBER(m62_state,battroad)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- m62_state *state = machine.driver_data<m62_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
// m62 palette
- rgb = compute_res_net_all(machine, color_prom, &m62_tile_decode_info, &m62_tile_net_info);
- palette_set_colors(machine, 0x000, rgb, 0x100);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &m62_tile_decode_info, &m62_tile_net_info);
+ palette_set_colors(machine(), 0x000, rgb, 0x100);
+ auto_free(machine(), rgb);
- rgb = compute_res_net_all(machine, color_prom, &m62_sprite_decode_info, &m62_sprite_net_info);
- palette_set_colors(machine, 0x100, rgb, 0x100);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &m62_sprite_decode_info, &m62_sprite_net_info);
+ palette_set_colors(machine(), 0x100, rgb, 0x100);
+ auto_free(machine(), rgb);
- m62_amplify_contrast(machine.palette,0x200);
+ m62_amplify_contrast(machine().palette,0x200);
// custom palette for foreground
- rgb = compute_res_net_all(machine, color_prom, &battroad_char_decode_info, &battroad_char_net_info);
- palette_set_colors(machine, 0x200, rgb, 0x020);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &battroad_char_decode_info, &battroad_char_net_info);
+ palette_set_colors(machine(), 0x200, rgb, 0x020);
+ auto_free(machine(), rgb);
/* we'll need this at run time */
- state->m_sprite_height_prom = color_prom + 0x620;
+ m_sprite_height_prom = color_prom + 0x620;
}
-PALETTE_INIT( spelunk2 )
+PALETTE_INIT_MEMBER(m62_state,spelunk2)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- m62_state *state = machine.driver_data<m62_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &spelunk2_tile_decode_info, &m62_tile_net_info);
- palette_set_colors(machine, 0x000, rgb, 0x200);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &spelunk2_tile_decode_info, &m62_tile_net_info);
+ palette_set_colors(machine(), 0x000, rgb, 0x200);
+ auto_free(machine(), rgb);
- rgb = compute_res_net_all(machine, color_prom, &spelunk2_sprite_decode_info, &m62_sprite_net_info);
- palette_set_colors(machine, 0x200, rgb, 0x100);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &spelunk2_sprite_decode_info, &m62_sprite_net_info);
+ palette_set_colors(machine(), 0x200, rgb, 0x100);
+ auto_free(machine(), rgb);
- m62_amplify_contrast(machine.palette,0);
+ m62_amplify_contrast(machine().palette,0);
/* we'll need this at run time */
- state->m_sprite_height_prom = color_prom + 0x700;
+ m_sprite_height_prom = color_prom + 0x700;
}
@@ -462,10 +458,9 @@ TILE_GET_INFO_MEMBER(m62_state::get_kungfum_bg_tile_info)
tileinfo.category = 0;
}
-VIDEO_START( kungfum )
+VIDEO_START_MEMBER(m62_state,kungfum)
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_kungfum_bg_tile_info),state), 32, 0, 8, 8, 64, 32);
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_kungfum_bg_tile_info),this), 32, 0, 8, 8, 64, 32);
}
SCREEN_UPDATE_IND16( kungfum )
@@ -507,13 +502,12 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun_bg_tile_info)
tileinfo.group = 0;
}
-VIDEO_START( ldrun )
+void m62_state::video_start()
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_ldrun_bg_tile_info),state), 1, 1, 8, 8, 64, 32);
- state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_ldrun_bg_tile_info),this), 1, 1, 8, 8, 64, 32);
+ m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
SCREEN_UPDATE_IND16( ldrun )
@@ -548,12 +542,11 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun2_bg_tile_info)
tileinfo.group = 0;
}
-VIDEO_START( ldrun2 )
+VIDEO_START_MEMBER(m62_state,ldrun2)
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_ldrun2_bg_tile_info),state), 1, 1, 8, 8, 64, 32);
- state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_ldrun2_bg_tile_info),this), 1, 1, 8, 8, 64, 32);
+ m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
@@ -612,13 +605,12 @@ TILE_GET_INFO_MEMBER(m62_state::get_battroad_fg_tile_info)
SET_TILE_INFO_MEMBER(2, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, 0);
}
-VIDEO_START( battroad )
+VIDEO_START_MEMBER(m62_state,battroad)
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_battroad_bg_tile_info),state), 1, 1, 8, 8, 64, 32);
- m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_battroad_fg_tile_info),state), 1, 1, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_battroad_bg_tile_info),this), 1, 1, 8, 8, 64, 32);
+ m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_battroad_fg_tile_info),this), 1, 1, 8, 8, 32, 32);
+ m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
SCREEN_UPDATE_IND16( battroad )
@@ -650,10 +642,9 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun4_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
}
-VIDEO_START( ldrun4 )
+VIDEO_START_MEMBER(m62_state,ldrun4)
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_ldrun4_bg_tile_info),state), 1, 0, 8, 8, 64, 32);
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_ldrun4_bg_tile_info),this), 1, 0, 8, 8, 64, 32);
}
SCREEN_UPDATE_IND16( ldrun4 )
@@ -691,11 +682,10 @@ TILE_GET_INFO_MEMBER(m62_state::get_lotlot_fg_tile_info)
SET_TILE_INFO_MEMBER(2, code | ((color & 0xc0) << 2), color & 0x1f, 0);
}
-VIDEO_START( lotlot )
+VIDEO_START_MEMBER(m62_state,lotlot)
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_bg_tile_info),state), 1, 1, 12, 10, 32, 64);
- m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_fg_tile_info),state), 1, 1, 12, 10, 32, 64);
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_bg_tile_info),this), 1, 1, 12, 10, 32, 64);
+ m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_fg_tile_info),this), 1, 1, 12, 10, 32, 64);
}
SCREEN_UPDATE_IND16( lotlot )
@@ -752,17 +742,16 @@ TILE_GET_INFO_MEMBER(m62_state::get_kidniki_fg_tile_info)
SET_TILE_INFO_MEMBER(2, code | ( ( color & 0xc0 ) << 2 ), color & 0x1f, 0);
}
-VIDEO_START( kidniki )
+VIDEO_START_MEMBER(m62_state,kidniki)
{
- m62_state *state = machine.driver_data<m62_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
- register_savestate(machine);
+ register_savestate(machine());
- m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_fg_tile_info),state), 1, 1, 12, 8, 32, 64);
+ m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_fg_tile_info),this), 1, 1, 12, 8, 32, 64);
}
SCREEN_UPDATE_IND16( kidniki )
@@ -810,11 +799,10 @@ TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_fg_tile_info)
SET_TILE_INFO_MEMBER(2, code | ((color & 0x10) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0);
}
-VIDEO_START( spelunkr )
+VIDEO_START_MEMBER(m62_state,spelunkr)
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_bg_tile_info),state), 1, 1, 8, 8, 64, 64);
- m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),state), 1, 1, 12, 8, 32, 32);
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_bg_tile_info),this), 1, 1, 8, 8, 64, 64);
+ m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),this), 1, 1, 12, 8, 32, 32);
}
SCREEN_UPDATE_IND16( spelunkr )
@@ -854,11 +842,10 @@ TILE_GET_INFO_MEMBER(m62_state::get_spelunk2_bg_tile_info)
SET_TILE_INFO_MEMBER( 0, code | ((color & 0xf0) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0 );
}
-VIDEO_START( spelunk2 )
+VIDEO_START_MEMBER(m62_state,spelunk2)
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunk2_bg_tile_info),state), 1, 1, 8, 8, 64, 64);
- m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),state), 1, 1, 12, 8, 32, 32);
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_spelunk2_bg_tile_info),this), 1, 1, 8, 8, 64, 64);
+ m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),this), 1, 1, 12, 8, 32, 32);
}
SCREEN_UPDATE_IND16( spelunk2 )
@@ -899,13 +886,12 @@ TILE_GET_INFO_MEMBER(m62_state::get_youjyudn_fg_tile_info)
SET_TILE_INFO_MEMBER(2, code | ((color & 0xc0) << 2), (color & 0x0f), 0);
}
-VIDEO_START( youjyudn )
+VIDEO_START_MEMBER(m62_state,youjyudn)
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_bg_tile_info),state), 1, 0, 8, 16, 64, 16);
- m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_fg_tile_info),state), 1, 1, 12, 8, 32, 32);
- state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_bg_tile_info),this), 1, 0, 8, 16, 64, 16);
+ m62_textlayer(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_fg_tile_info),this), 1, 1, 12, 8, 32, 32);
+ m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
SCREEN_UPDATE_IND16( youjyudn )
@@ -943,12 +929,11 @@ TILE_GET_INFO_MEMBER(m62_state::get_horizon_bg_tile_info)
tileinfo.group = 0;
}
-VIDEO_START( horizon )
+VIDEO_START_MEMBER(m62_state,horizon)
{
- m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_horizon_bg_tile_info),state), 32, 0, 8, 8, 64, 32);
- state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
+ m62_start(machine(), tilemap_get_info_delegate(FUNC(m62_state::get_horizon_bg_tile_info),this), 32, 0, 8, 8, 64, 32);
+ m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
SCREEN_UPDATE_IND16( horizon )
diff --git a/src/mame/video/m72.c b/src/mame/video/m72.c
index 8e15ff4778d..9f6be566fae 100644
--- a/src/mame/video/m72.c
+++ b/src/mame/video/m72.c
@@ -109,147 +109,140 @@ static void register_savestate(running_machine &machine)
}
-VIDEO_START( m72 )
+VIDEO_START_MEMBER(m72_state,m72)
{
- m72_state *state = machine.driver_data<m72_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::m72_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::m72_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::m72_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::m72_get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
+ m_buffered_spriteram = auto_alloc_array(machine(), UINT16, m_spriteram.bytes()/2);
- state->m_fg_tilemap->set_transmask(0,0xffff,0x0001);
- state->m_fg_tilemap->set_transmask(1,0x00ff,0xff01);
- state->m_fg_tilemap->set_transmask(2,0x0001,0xffff);
+ m_fg_tilemap->set_transmask(0,0xffff,0x0001);
+ m_fg_tilemap->set_transmask(1,0x00ff,0xff01);
+ m_fg_tilemap->set_transmask(2,0x0001,0xffff);
- state->m_bg_tilemap->set_transmask(0,0xffff,0x0000);
- state->m_bg_tilemap->set_transmask(1,0x00ff,0xff00);
+ m_bg_tilemap->set_transmask(0,0xffff,0x0000);
+ m_bg_tilemap->set_transmask(1,0x00ff,0xff00);
- //state->m_bg_tilemap->set_transmask(2,0x0001,0xfffe);
- state->m_bg_tilemap->set_transmask(2,0x0007,0xfff8); // needed for lohtj japan warning to look correct
- //state->m_bg_tilemap->set_transmask(2,0x001f,0xffe0); // needed for nspiritj japan warning to look correct
+ //m_bg_tilemap->set_transmask(2,0x0001,0xfffe);
+ m_bg_tilemap->set_transmask(2,0x0007,0xfff8); // needed for lohtj japan warning to look correct
+ //m_bg_tilemap->set_transmask(2,0x001f,0xffe0); // needed for nspiritj japan warning to look correct
// not sure what is needed to be able to see the imgfghto warning message
- memset(state->m_buffered_spriteram,0,state->m_spriteram.bytes());
+ memset(m_buffered_spriteram,0,m_spriteram.bytes());
- state->m_fg_tilemap->set_scrolldx(0,0);
- state->m_fg_tilemap->set_scrolldy(-128,16);
+ m_fg_tilemap->set_scrolldx(0,0);
+ m_fg_tilemap->set_scrolldy(-128,16);
- state->m_bg_tilemap->set_scrolldx(0,0);
- state->m_bg_tilemap->set_scrolldy(-128,16);
+ m_bg_tilemap->set_scrolldx(0,0);
+ m_bg_tilemap->set_scrolldy(-128,16);
- register_savestate(machine);
+ register_savestate(machine());
}
-VIDEO_START( xmultipl )
+VIDEO_START_MEMBER(m72_state,xmultipl)
{
- m72_state *state = machine.driver_data<m72_state>();
- VIDEO_START_CALL(m72);
+ VIDEO_START_CALL_MEMBER(m72);
- state->m_fg_tilemap->set_scrolldx(4,0);
- state->m_bg_tilemap->set_scrolldx(6,0);
+ m_fg_tilemap->set_scrolldx(4,0);
+ m_bg_tilemap->set_scrolldx(6,0);
}
-VIDEO_START( rtype2 )
+VIDEO_START_MEMBER(m72_state,rtype2)
{
- m72_state *state = machine.driver_data<m72_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
+ m_buffered_spriteram = auto_alloc_array(machine(), UINT16, m_spriteram.bytes()/2);
- state->m_fg_tilemap->set_transmask(0,0xffff,0x0001);
- state->m_fg_tilemap->set_transmask(1,0x00ff,0xff01);
- state->m_fg_tilemap->set_transmask(2,0x0001,0xffff);
+ m_fg_tilemap->set_transmask(0,0xffff,0x0001);
+ m_fg_tilemap->set_transmask(1,0x00ff,0xff01);
+ m_fg_tilemap->set_transmask(2,0x0001,0xffff);
- state->m_bg_tilemap->set_transmask(0,0xffff,0x0000);
- state->m_bg_tilemap->set_transmask(1,0x00ff,0xff00);
- state->m_bg_tilemap->set_transmask(2,0x0001,0xfffe);
+ m_bg_tilemap->set_transmask(0,0xffff,0x0000);
+ m_bg_tilemap->set_transmask(1,0x00ff,0xff00);
+ m_bg_tilemap->set_transmask(2,0x0001,0xfffe);
- memset(state->m_buffered_spriteram,0,state->m_spriteram.bytes());
+ memset(m_buffered_spriteram,0,m_spriteram.bytes());
- state->m_fg_tilemap->set_scrolldx(4,0);
- state->m_fg_tilemap->set_scrolldy(-128,16);
+ m_fg_tilemap->set_scrolldx(4,0);
+ m_fg_tilemap->set_scrolldy(-128,16);
- state->m_bg_tilemap->set_scrolldx(4,0);
- state->m_bg_tilemap->set_scrolldy(-128,16);
+ m_bg_tilemap->set_scrolldx(4,0);
+ m_bg_tilemap->set_scrolldy(-128,16);
- register_savestate(machine);
+ register_savestate(machine());
}
-VIDEO_START( poundfor )
+VIDEO_START_MEMBER(m72_state,poundfor)
{
- m72_state *state = machine.driver_data<m72_state>();
- VIDEO_START_CALL(rtype2);
+ VIDEO_START_CALL_MEMBER(rtype2);
- state->m_fg_tilemap->set_scrolldx(6,0);
- state->m_bg_tilemap->set_scrolldx(6,0);
+ m_fg_tilemap->set_scrolldx(6,0);
+ m_bg_tilemap->set_scrolldx(6,0);
}
-VIDEO_START( hharryu )
+VIDEO_START_MEMBER(m72_state,hharryu)
{
- m72_state *state = machine.driver_data<m72_state>();
- VIDEO_START_CALL(rtype2);
+ VIDEO_START_CALL_MEMBER(rtype2);
- state->m_fg_tilemap->set_scrolldx(4,0);
- state->m_bg_tilemap->set_scrolldx(6,0);
+ m_fg_tilemap->set_scrolldx(4,0);
+ m_bg_tilemap->set_scrolldx(6,0);
}
/* Major Title has a larger background RAM, and rowscroll */
-VIDEO_START( majtitle )
+VIDEO_START_MEMBER(m72_state,majtitle)
{
- m72_state *state = machine.driver_data<m72_state>();
// The tilemap can be 256x64, but seems to be used at 128x64 (scroll wraparound).
// The layout ramains 256x64, the right half is just not displayed.
-// state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,256,64);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(m72_state::majtitle_scan_rows),state),8,8,128,64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+// m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,256,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(m72_state::majtitle_scan_rows),this),8,8,128,64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
+ m_buffered_spriteram = auto_alloc_array(machine(), UINT16, m_spriteram.bytes()/2);
- state->m_fg_tilemap->set_transmask(0,0xffff,0x0001);
- state->m_fg_tilemap->set_transmask(1,0x00ff,0xff01);
- state->m_fg_tilemap->set_transmask(2,0x0001,0xffff);
+ m_fg_tilemap->set_transmask(0,0xffff,0x0001);
+ m_fg_tilemap->set_transmask(1,0x00ff,0xff01);
+ m_fg_tilemap->set_transmask(2,0x0001,0xffff);
- state->m_bg_tilemap->set_transmask(0,0xffff,0x0000);
- state->m_bg_tilemap->set_transmask(1,0x00ff,0xff00);
- state->m_bg_tilemap->set_transmask(2,0x0001,0xfffe);
+ m_bg_tilemap->set_transmask(0,0xffff,0x0000);
+ m_bg_tilemap->set_transmask(1,0x00ff,0xff00);
+ m_bg_tilemap->set_transmask(2,0x0001,0xfffe);
- memset(state->m_buffered_spriteram,0,state->m_spriteram.bytes());
+ memset(m_buffered_spriteram,0,m_spriteram.bytes());
- state->m_fg_tilemap->set_scrolldx(4,0);
- state->m_fg_tilemap->set_scrolldy(-128,16);
+ m_fg_tilemap->set_scrolldx(4,0);
+ m_fg_tilemap->set_scrolldy(-128,16);
- state->m_bg_tilemap->set_scrolldx(4,0);
- state->m_bg_tilemap->set_scrolldy(-128,16);
+ m_bg_tilemap->set_scrolldx(4,0);
+ m_bg_tilemap->set_scrolldy(-128,16);
- register_savestate(machine);
+ register_savestate(machine());
}
-VIDEO_START( hharry )
+VIDEO_START_MEMBER(m72_state,hharry)
{
- m72_state *state = machine.driver_data<m72_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::hharry_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::m72_get_fg_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::hharry_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::m72_get_fg_tile_info),this), TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
+ m_buffered_spriteram = auto_alloc_array(machine(), UINT16, m_spriteram.bytes()/2);
- state->m_fg_tilemap->set_transmask(0,0xffff,0x0001);
- state->m_fg_tilemap->set_transmask(1,0x00ff,0xff01);
- state->m_fg_tilemap->set_transmask(2,0x0001,0xffff);
+ m_fg_tilemap->set_transmask(0,0xffff,0x0001);
+ m_fg_tilemap->set_transmask(1,0x00ff,0xff01);
+ m_fg_tilemap->set_transmask(2,0x0001,0xffff);
- state->m_bg_tilemap->set_transmask(0,0xffff,0x0000);
- state->m_bg_tilemap->set_transmask(1,0x00ff,0xff00);
- state->m_bg_tilemap->set_transmask(2,0x0001,0xfffe);
+ m_bg_tilemap->set_transmask(0,0xffff,0x0000);
+ m_bg_tilemap->set_transmask(1,0x00ff,0xff00);
+ m_bg_tilemap->set_transmask(2,0x0001,0xfffe);
- memset(state->m_buffered_spriteram,0,state->m_spriteram.bytes());
+ memset(m_buffered_spriteram,0,m_spriteram.bytes());
- state->m_fg_tilemap->set_scrolldx(4,0);
- state->m_fg_tilemap->set_scrolldy(-128,16);
+ m_fg_tilemap->set_scrolldx(4,0);
+ m_fg_tilemap->set_scrolldy(-128,16);
- state->m_bg_tilemap->set_scrolldx(6,0);
- state->m_bg_tilemap->set_scrolldy(-128,16);
+ m_bg_tilemap->set_scrolldx(6,0);
+ m_bg_tilemap->set_scrolldy(-128,16);
- register_savestate(machine);
+ register_savestate(machine());
}
diff --git a/src/mame/video/m90.c b/src/mame/video/m90.c
index c5f946d9443..8f7f29af75f 100644
--- a/src/mame/video/m90.c
+++ b/src/mame/video/m90.c
@@ -93,50 +93,47 @@ TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf1w_tile_info){ dynablsb_get_tile_
TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,2); }
TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2w_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,2); }
-VIDEO_START( m90 )
+void m90_state::video_start()
{
- m90_state *state = machine.driver_data<m90_state>();
- state->m_pf1_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf1_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf1_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf1w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_pf2_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf2_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf2_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf2w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_pf1_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf1_tile_info),this), TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_pf1_wide_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf1w_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_pf2_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf2_tile_info),this), TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_pf2_wide_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf2w_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_pf1_layer->set_transparent_pen(0);
- state->m_pf1_wide_layer->set_transparent_pen(0);
+ m_pf1_layer->set_transparent_pen(0);
+ m_pf1_wide_layer->set_transparent_pen(0);
- state_save_register_global_array(machine, state->m_video_control_data);
- state_save_register_global(machine, state->m_last_pf1);
- state_save_register_global(machine, state->m_last_pf2);
+ state_save_register_global_array(machine(), m_video_control_data);
+ state_save_register_global(machine(), m_last_pf1);
+ state_save_register_global(machine(), m_last_pf2);
}
-VIDEO_START( bomblord )
+VIDEO_START_MEMBER(m90_state,bomblord)
{
- m90_state *state = machine.driver_data<m90_state>();
- state->m_pf1_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf1_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf1_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf1w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_pf2_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf2_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf2_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf2w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_pf1_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf1_tile_info),this), TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_pf1_wide_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf1w_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_pf2_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf2_tile_info),this), TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_pf2_wide_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf2w_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_pf2_layer->set_transparent_pen(0);
- state->m_pf2_wide_layer->set_transparent_pen(0);
- state->m_pf1_layer->set_transparent_pen(0);
- state->m_pf1_wide_layer->set_transparent_pen(0);
+ m_pf2_layer->set_transparent_pen(0);
+ m_pf2_wide_layer->set_transparent_pen(0);
+ m_pf1_layer->set_transparent_pen(0);
+ m_pf1_wide_layer->set_transparent_pen(0);
- state_save_register_global_array(machine, state->m_video_control_data);
+ state_save_register_global_array(machine(), m_video_control_data);
}
-VIDEO_START( dynablsb )
+VIDEO_START_MEMBER(m90_state,dynablsb)
{
- m90_state *state = machine.driver_data<m90_state>();
- state->m_pf1_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf1_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf1_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf1w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_pf2_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf2_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf2_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf2w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_pf1_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf1_tile_info),this), TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_pf1_wide_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf1w_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_pf2_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf2_tile_info),this), TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_pf2_wide_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf2w_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_pf2_layer->set_transparent_pen(0);
- state->m_pf2_wide_layer->set_transparent_pen(0);
+ m_pf2_layer->set_transparent_pen(0);
+ m_pf2_wide_layer->set_transparent_pen(0);
- state_save_register_global_array(machine, state->m_video_control_data);
+ state_save_register_global_array(machine(), m_video_control_data);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect)
diff --git a/src/mame/video/m92.c b/src/mame/video/m92.c
index 04393c0734f..47da5f7972e 100644
--- a/src/mame/video/m92.c
+++ b/src/mame/video/m92.c
@@ -237,23 +237,22 @@ WRITE16_MEMBER(m92_state::m92_master_control_w)
/*****************************************************************************/
-VIDEO_START( m92 )
+VIDEO_START_MEMBER(m92_state,m92)
{
- m92_state *state = machine.driver_data<m92_state>();
int laynum;
- memset(&state->m_pf_layer, 0, sizeof(state->m_pf_layer));
+ memset(&m_pf_layer, 0, sizeof(m_pf_layer));
for (laynum = 0; laynum < 3; laynum++)
{
- pf_layer_info *layer = &state->m_pf_layer[laynum];
+ pf_layer_info *layer = &m_pf_layer[laynum];
/* allocate two tilemaps per layer, one normal, one wide */
- layer->tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m92_state::get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
- layer->wide_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m92_state::get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 128,64);
+ layer->tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m92_state::get_pf_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,64);
+ layer->wide_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(m92_state::get_pf_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 128,64);
/* set the user data for each one to point to the layer */
- layer->tmap->set_user_data(&state->m_pf_layer[laynum]);
- layer->wide_tmap->set_user_data(&state->m_pf_layer[laynum]);
+ layer->tmap->set_user_data(&m_pf_layer[laynum]);
+ layer->wide_tmap->set_user_data(&m_pf_layer[laynum]);
/* set scroll offsets */
layer->tmap->set_scrolldx(2 * laynum, -2 * laynum + 8);
@@ -273,33 +272,32 @@ VIDEO_START( m92 )
layer->tmap->set_transmask(2, 0x0001, (laynum == 2) ? 0xfffe : 0xffff);
layer->wide_tmap->set_transmask(2, 0x0001, (laynum == 2) ? 0xfffe : 0xffff);
- state_save_register_item(machine, "layer", NULL, laynum, layer->vram_base);
- state_save_register_item_array(machine, "layer", NULL, laynum, layer->control);
+ state_save_register_item(machine(), "layer", NULL, laynum, layer->vram_base);
+ state_save_register_item_array(machine(), "layer", NULL, laynum, layer->control);
}
- state->m_generic_paletteram_16.allocate(0x1000/2);
+ m_generic_paletteram_16.allocate(0x1000/2);
- memset(state->m_spriteram->live(),0,0x800);
- memset(state->m_spriteram->buffer(),0,0x800);
+ memset(m_spriteram->live(),0,0x800);
+ memset(m_spriteram->buffer(),0,0x800);
- state->save_item(NAME(state->m_pf_master_control));
- state->save_item(NAME(state->m_videocontrol));
- state->save_item(NAME(state->m_sprite_list));
- state->save_item(NAME(state->m_raster_irq_position));
- state->save_item(NAME(state->m_sprite_buffer_busy));
- state->save_item(NAME(state->m_palette_bank));
+ save_item(NAME(m_pf_master_control));
+ save_item(NAME(m_videocontrol));
+ save_item(NAME(m_sprite_list));
+ save_item(NAME(m_raster_irq_position));
+ save_item(NAME(m_sprite_buffer_busy));
+ save_item(NAME(m_palette_bank));
}
-VIDEO_START( ppan )
+VIDEO_START_MEMBER(m92_state,ppan)
{
- m92_state *state = machine.driver_data<m92_state>();
int laynum;
- VIDEO_START_CALL(m92);
+ VIDEO_START_CALL_MEMBER(m92);
for (laynum = 0; laynum < 3; laynum++)
{
- pf_layer_info *layer = &state->m_pf_layer[laynum];
+ pf_layer_info *layer = &m_pf_layer[laynum];
/* set scroll offsets */
layer->tmap->set_scrolldx(2 * laynum + 11, -2 * laynum + 11);
diff --git a/src/mame/video/macrossp.c b/src/mame/video/macrossp.c
index 5f284c3b80f..e8f1bfa9e27 100644
--- a/src/mame/video/macrossp.c
+++ b/src/mame/video/macrossp.c
@@ -137,30 +137,29 @@ TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_text_tile_info)
/*** VIDEO START / UPDATE ***/
-VIDEO_START( macrossp )
+void macrossp_state::video_start()
{
- macrossp_state *state = machine.driver_data<macrossp_state>();
- state->m_spriteram_old = auto_alloc_array_clear(machine, UINT32, state->m_spriteram.bytes() / 4);
- state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT32, state->m_spriteram.bytes() / 4);
+ m_spriteram_old = auto_alloc_array_clear(machine(), UINT32, m_spriteram.bytes() / 4);
+ m_spriteram_old2 = auto_alloc_array_clear(machine(), UINT32, m_spriteram.bytes() / 4);
- state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_text_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_scra_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_scra_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_scrb_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_scrb_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_scrc_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_scrc_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_text_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_text_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_scra_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_scra_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_scrb_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_scrb_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_scrc_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_scrc_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_text_tilemap->set_transparent_pen(0);
- state->m_scra_tilemap->set_transparent_pen(0);
- state->m_scrb_tilemap->set_transparent_pen(0);
- state->m_scrc_tilemap->set_transparent_pen(0);
+ m_text_tilemap->set_transparent_pen(0);
+ m_scra_tilemap->set_transparent_pen(0);
+ m_scrb_tilemap->set_transparent_pen(0);
+ m_scrc_tilemap->set_transparent_pen(0);
- machine.gfx[0]->set_granularity(64);
- machine.gfx[1]->set_granularity(64);
- machine.gfx[2]->set_granularity(64);
- machine.gfx[3]->set_granularity(64);
+ machine().gfx[0]->set_granularity(64);
+ machine().gfx[1]->set_granularity(64);
+ machine().gfx[2]->set_granularity(64);
+ machine().gfx[3]->set_granularity(64);
- state->save_pointer(NAME(state->m_spriteram_old), state->m_spriteram.bytes() / 4);
- state->save_pointer(NAME(state->m_spriteram_old2), state->m_spriteram.bytes() / 4);
+ save_pointer(NAME(m_spriteram_old), m_spriteram.bytes() / 4);
+ save_pointer(NAME(m_spriteram_old2), m_spriteram.bytes() / 4);
}
diff --git a/src/mame/video/madalien.c b/src/mame/video/madalien.c
index ca71a648f15..8f5d740380c 100644
--- a/src/mame/video/madalien.c
+++ b/src/mame/video/madalien.c
@@ -14,13 +14,13 @@
#define PIXEL_CLOCK (MADALIEN_MAIN_CLOCK / 2)
-static PALETTE_INIT( madalien )
+PALETTE_INIT_MEMBER(madalien_state,madalien)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
for (i = 0; i < 0x20; i++)
{
@@ -41,11 +41,11 @@ static PALETTE_INIT( madalien )
if (BIT(color_prom[i], 5))
b += 0xc0;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
for (i = 0; i < 0x10; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
for (i = 0x10; i < 0x20; i++)
{
@@ -57,11 +57,11 @@ static PALETTE_INIT( madalien )
if (BIT((i - 0x10), 2))
ctabentry = ctabentry ^ 0x06;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
for (i = 0x20; i < 0x30; i++)
- colortable_entry_set_value(machine.colortable, i, (i - 0x20) | 0x10);
+ colortable_entry_set_value(machine().colortable, i, (i - 0x20) | 0x10);
}
@@ -117,17 +117,16 @@ WRITE8_MEMBER(madalien_state::madalien_videoram_w)
}
-static VIDEO_START( madalien )
+VIDEO_START_MEMBER(madalien_state,madalien)
{
- madalien_state *state = machine.driver_data<madalien_state>();
int i;
static const tilemap_mapper_delegate scan_functions[4] =
{
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),state),
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),state),
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),state),
- tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),state)
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),this),
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),this),
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),this),
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),this)
};
static const int tilemap_cols[4] =
@@ -135,28 +134,28 @@ static VIDEO_START( madalien )
16, 16, 32, 32
};
- state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_FG),state), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
- state->m_tilemap_fg->set_transparent_pen(0);
- state->m_tilemap_fg->set_scrolldx(0, 0x50);
- state->m_tilemap_fg->set_scrolldy(0, 0x20);
+ m_tilemap_fg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_FG),this), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ m_tilemap_fg->set_transparent_pen(0);
+ m_tilemap_fg->set_scrolldx(0, 0x50);
+ m_tilemap_fg->set_scrolldy(0, 0x20);
for (i = 0; i < 4; i++)
{
- state->m_tilemap_edge1[i] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_1),state), scan_functions[i], 16, 16, tilemap_cols[i], 8);
- state->m_tilemap_edge1[i]->set_scrolldx(0, 0x50);
- state->m_tilemap_edge1[i]->set_scrolldy(0, 0x20);
+ m_tilemap_edge1[i] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_1),this), scan_functions[i], 16, 16, tilemap_cols[i], 8);
+ m_tilemap_edge1[i]->set_scrolldx(0, 0x50);
+ m_tilemap_edge1[i]->set_scrolldy(0, 0x20);
- state->m_tilemap_edge2[i] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_2),state), scan_functions[i], 16, 16, tilemap_cols[i], 8);
- state->m_tilemap_edge2[i]->set_scrolldx(0, 0x50);
- state->m_tilemap_edge2[i]->set_scrolldy(0, machine.primary_screen->height() - 256);
+ m_tilemap_edge2[i] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_2),this), scan_functions[i], 16, 16, tilemap_cols[i], 8);
+ m_tilemap_edge2[i]->set_scrolldx(0, 0x50);
+ m_tilemap_edge2[i]->set_scrolldy(0, machine().primary_screen->height() - 256);
}
- state->m_headlight_bitmap = auto_bitmap_ind16_alloc(machine, 128, 128);
+ m_headlight_bitmap = auto_bitmap_ind16_alloc(machine(), 128, 128);
- machine.gfx[0]->set_source(state->m_charram);
+ machine().gfx[0]->set_source(m_charram);
- drawgfx_opaque(*state->m_headlight_bitmap, state->m_headlight_bitmap->cliprect(), machine.gfx[2], 0, 0, 0, 0, 0x00, 0x00);
- drawgfx_opaque(*state->m_headlight_bitmap, state->m_headlight_bitmap->cliprect(), machine.gfx[2], 0, 0, 0, 1, 0x00, 0x40);
+ drawgfx_opaque(*m_headlight_bitmap, m_headlight_bitmap->cliprect(), machine().gfx[2], 0, 0, 0, 0, 0x00, 0x00);
+ drawgfx_opaque(*m_headlight_bitmap, m_headlight_bitmap->cliprect(), machine().gfx[2], 0, 0, 0, 1, 0x00, 0x40);
}
@@ -401,8 +400,8 @@ MACHINE_CONFIG_FRAGMENT( madalien_video )
MCFG_GFXDECODE(madalien)
MCFG_PALETTE_LENGTH(0x30)
- MCFG_PALETTE_INIT(madalien)
- MCFG_VIDEO_START(madalien)
+ MCFG_PALETTE_INIT_OVERRIDE(madalien_state,madalien)
+ MCFG_VIDEO_START_OVERRIDE(madalien_state,madalien)
MCFG_MC6845_ADD("crtc", MC6845, PIXEL_CLOCK / 8, mc6845_intf)
MACHINE_CONFIG_END
diff --git a/src/mame/video/madmotor.c b/src/mame/video/madmotor.c
index c3bd372c782..1af35e9cff3 100644
--- a/src/mame/video/madmotor.c
+++ b/src/mame/video/madmotor.c
@@ -13,7 +13,7 @@
/******************************************************************************/
-VIDEO_START( madmotor )
+void madmotor_state::video_start()
{
}
diff --git a/src/mame/video/magmax.c b/src/mame/video/magmax.c
index a5353613a50..536221f8797 100644
--- a/src/mame/video/magmax.c
+++ b/src/mame/video/magmax.c
@@ -24,13 +24,13 @@ Additional tweaking by Jarek Burczynski
bit 0 -- 2.2kohm resistor -- RED/GREEN/BLUE
***************************************************************************/
-PALETTE_INIT( magmax )
+void magmax_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -39,7 +39,7 @@ PALETTE_INIT( magmax )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -47,39 +47,38 @@ PALETTE_INIT( magmax )
/* characters use colors 0-0x0f */
for (i = 0; i < 0x10; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/*sprites use colors 0x10-0x1f, color 0x1f being transparent*/
for (i = 0x10; i < 0x110; i++)
{
UINT8 ctabentry = (color_prom[i - 0x10] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* background uses all colors (no lookup table) */
for (i = 0x110; i < 0x210; i++)
- colortable_entry_set_value(machine.colortable, i, i - 0x110);
+ colortable_entry_set_value(machine().colortable, i, i - 0x110);
}
-VIDEO_START( magmax )
+void magmax_state::video_start()
{
- magmax_state *state = machine.driver_data<magmax_state>();
int i,v;
- UINT8 * prom14D = state->memregion("user2")->base();
+ UINT8 * prom14D = memregion("user2")->base();
/* Set up save state */
- state_save_register_global(machine, state->m_flipscreen);
+ state_save_register_global(machine(), m_flipscreen);
- state->m_prom_tab = auto_alloc_array(machine, UINT32, 256);
+ m_prom_tab = auto_alloc_array(machine(), UINT32, 256);
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
/* Allocate temporary bitmap */
for (i=0; i<256; i++)
{
v = (prom14D[i] << 4) + prom14D[i + 0x100];
- state->m_prom_tab[i] = ((v&0x1f)<<8) | ((v&0x10)<<10) | ((v&0xe0)>>1); /*convert data into more useful format*/
+ m_prom_tab[i] = ((v&0x1f)<<8) | ((v&0x10)<<10) | ((v&0xe0)>>1); /*convert data into more useful format*/
}
}
diff --git a/src/mame/video/mainevt.c b/src/mame/video/mainevt.c
index b44b842ca11..28c033f0e30 100644
--- a/src/mame/video/mainevt.c
+++ b/src/mame/video/mainevt.c
@@ -73,22 +73,20 @@ void dv_sprite_callback(running_machine &machine, int *code,int *color,int *prio
/*****************************************************************************/
-VIDEO_START( mainevt )
+VIDEO_START_MEMBER(mainevt_state,mainevt)
{
- mainevt_state *state = machine.driver_data<mainevt_state>();
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 8;
- state->m_layer_colorbase[2] = 4;
- state->m_sprite_colorbase = 12;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 8;
+ m_layer_colorbase[2] = 4;
+ m_sprite_colorbase = 12;
}
-VIDEO_START( dv )
+VIDEO_START_MEMBER(mainevt_state,dv)
{
- mainevt_state *state = machine.driver_data<mainevt_state>();
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 0;
- state->m_layer_colorbase[2] = 4;
- state->m_sprite_colorbase = 8;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 0;
+ m_layer_colorbase[2] = 4;
+ m_sprite_colorbase = 8;
}
/*****************************************************************************/
diff --git a/src/mame/video/mainsnk.c b/src/mame/video/mainsnk.c
index db2d10a46f4..b3b3c9bdf47 100644
--- a/src/mame/video/mainsnk.c
+++ b/src/mame/video/mainsnk.c
@@ -2,9 +2,9 @@
#include "includes/mainsnk.h"
-PALETTE_INIT( mainsnk )
+void mainsnk_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int num_colors = 0x400;
@@ -30,7 +30,7 @@ PALETTE_INIT( mainsnk )
bit3 = (color_prom[i + num_colors] >> 1) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -67,18 +67,17 @@ TILE_GET_INFO_MEMBER(mainsnk_state::get_bg_tile_info)
}
-VIDEO_START(mainsnk)
+void mainsnk_state::video_start()
{
- mainsnk_state *state = machine.driver_data<mainsnk_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mainsnk_state::get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(mainsnk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mainsnk_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mainsnk_state::get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(mainsnk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mainsnk_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_scrolldy(8, 8);
+ m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_scrolldy(8, 8);
- state->m_bg_tilemap->set_scrolldx(16, 16);
- state->m_bg_tilemap->set_scrolldy(8, 8);
+ m_bg_tilemap->set_scrolldx(16, 16);
+ m_bg_tilemap->set_scrolldy(8, 8);
}
diff --git a/src/mame/video/mappy.c b/src/mame/video/mappy.c
index 1045e89e2b9..574ac40a33c 100644
--- a/src/mame/video/mappy.c
+++ b/src/mame/video/mappy.c
@@ -30,9 +30,9 @@
***************************************************************************/
-PALETTE_INIT( superpac )
+PALETTE_INIT_MEMBER(mappy_state,superpac)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[3] = { 1000, 470, 220 };
double rweights[3], gweights[3], bweights[2];
int i;
@@ -44,7 +44,7 @@ PALETTE_INIT( superpac )
2, &resistances[1], bweights, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
/* create a lookup table for the palette */
for (i = 0; i < 32; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( superpac )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -79,20 +79,20 @@ PALETTE_INIT( superpac )
for (i = 0; i < 64*4; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, (ctabentry ^ 15) + 0x10);
+ colortable_entry_set_value(machine().colortable, i, (ctabentry ^ 15) + 0x10);
}
/* sprites map to the lower 16 palette entries */
for (i = 64*4; i < 128*4; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
-PALETTE_INIT( mappy )
+PALETTE_INIT_MEMBER(mappy_state,mappy)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[3] = { 1000, 470, 220 };
double rweights[3], gweights[3], bweights[2];
int i;
@@ -104,7 +104,7 @@ PALETTE_INIT( mappy )
2, &resistances[1], bweights, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
/* create a lookup table for the palette */
for (i = 0; i < 32; i++)
@@ -129,7 +129,7 @@ PALETTE_INIT( mappy )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -139,14 +139,14 @@ PALETTE_INIT( mappy )
for (i = 0*4; i < 64*4; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry + 0x10);
+ colortable_entry_set_value(machine().colortable, i, ctabentry + 0x10);
}
/* sprites map to the lower 16 palette entries */
- for (i = 64*4; i < machine.total_colors(); i++)
+ for (i = 64*4; i < machine().total_colors(); i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -162,9 +162,9 @@ PALETTE_INIT( mappy )
***************************************************************************/
-PALETTE_INIT( phozon )
+PALETTE_INIT_MEMBER(mappy_state,phozon)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[4] = { 2200, 1000, 470, 220 };
double rweights[4], gweights[4], bweights[4];
int i;
@@ -176,7 +176,7 @@ PALETTE_INIT( phozon )
4, &resistances[0], bweights, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
/* create a lookup table for the palette */
for (i = 0; i < 32; i++)
@@ -205,7 +205,7 @@ PALETTE_INIT( phozon )
bit3 = (color_prom[i + 0x200] >> 3) & 0x01;
b = combine_4_weights(bweights, bit0, bit1, bit2, bit3);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -215,14 +215,14 @@ PALETTE_INIT( phozon )
for (i = 0; i < 64*4; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites map to the upper 16 palette entries */
for (i = 64*4; i < 128*4; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry + 0x10);
+ colortable_entry_set_value(machine().colortable, i, ctabentry + 0x10);
}
}
@@ -318,35 +318,32 @@ TILE_GET_INFO_MEMBER(mappy_state::mappy_get_tile_info)
***************************************************************************/
-VIDEO_START( superpac )
+VIDEO_START_MEMBER(mappy_state,superpac)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mappy_state::superpac_get_tile_info),state),tilemap_mapper_delegate(FUNC(mappy_state::superpac_tilemap_scan),state),8,8,36,28);
- machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mappy_state::superpac_get_tile_info),this),tilemap_mapper_delegate(FUNC(mappy_state::superpac_tilemap_scan),this),8,8,36,28);
+ machine().primary_screen->register_screen_bitmap(m_sprite_bitmap);
- colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 31);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[0], 31);
}
-VIDEO_START( phozon )
+VIDEO_START_MEMBER(mappy_state,phozon)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mappy_state::phozon_get_tile_info),state),tilemap_mapper_delegate(FUNC(mappy_state::superpac_tilemap_scan),state),8,8,36,28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mappy_state::phozon_get_tile_info),this),tilemap_mapper_delegate(FUNC(mappy_state::superpac_tilemap_scan),this),8,8,36,28);
- colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 15);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[0], 15);
- state->save_item(NAME(state->m_scroll));
+ save_item(NAME(m_scroll));
}
-VIDEO_START( mappy )
+VIDEO_START_MEMBER(mappy_state,mappy)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mappy_state::mappy_get_tile_info),state),tilemap_mapper_delegate(FUNC(mappy_state::mappy_tilemap_scan),state),8,8,36,60);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mappy_state::mappy_get_tile_info),this),tilemap_mapper_delegate(FUNC(mappy_state::mappy_tilemap_scan),this),8,8,36,60);
- colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 31);
- state->m_bg_tilemap->set_scroll_cols(36);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[0], 31);
+ m_bg_tilemap->set_scroll_cols(36);
}
diff --git a/src/mame/video/marineb.c b/src/mame/video/marineb.c
index 07b8c781b57..208bf333469 100644
--- a/src/mame/video/marineb.c
+++ b/src/mame/video/marineb.c
@@ -10,12 +10,12 @@
#include "includes/marineb.h"
-PALETTE_INIT( marineb )
+void marineb_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -26,16 +26,16 @@ PALETTE_INIT( marineb )
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
/* green component */
bit0 = (color_prom[i] >> 3) & 0x01;
- bit1 = (color_prom[i + machine.total_colors()] >> 0) & 0x01;
- bit2 = (color_prom[i + machine.total_colors()] >> 1) & 0x01;
+ bit1 = (color_prom[i + machine().total_colors()] >> 0) & 0x01;
+ bit2 = (color_prom[i + machine().total_colors()] >> 1) & 0x01;
g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
/* blue component */
bit0 = 0;
- bit1 = (color_prom[i + machine.total_colors()] >> 2) & 0x01;
- bit2 = (color_prom[i + machine.total_colors()] >> 3) & 0x01;
+ bit1 = (color_prom[i + machine().total_colors()] >> 2) & 0x01;
+ bit2 = (color_prom[i + machine().total_colors()] >> 3) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -65,17 +65,16 @@ TILE_GET_INFO_MEMBER(marineb_state::get_tile_info)
*
*************************************/
-VIDEO_START( marineb )
+void marineb_state::video_start()
{
- marineb_state *state = machine.driver_data<marineb_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(marineb_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(marineb_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scroll_cols(32);
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_column_scroll));
- state->save_item(NAME(state->m_flipscreen_x));
- state->save_item(NAME(state->m_flipscreen_y));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_column_scroll));
+ save_item(NAME(m_flipscreen_x));
+ save_item(NAME(m_flipscreen_y));
}
diff --git a/src/mame/video/mario.c b/src/mame/video/mario.c
index d450d3fe5c9..a592af7c0cb 100644
--- a/src/mame/video/mario.c
+++ b/src/mame/video/mario.c
@@ -62,20 +62,20 @@ static const res_net_info mario_net_info_std =
bit 0 -- 470 ohm resistor -- inverter -- BLUE
***************************************************************************/
-PALETTE_INIT( mario )
+void mario_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &mario_decode_info, &mario_net_info);
- palette_set_colors(machine, 0, rgb, 256);
- auto_free(machine, rgb);
- rgb = compute_res_net_all(machine, color_prom+256, &mario_decode_info, &mario_net_info_std);
- palette_set_colors(machine, 256, rgb, 256);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &mario_decode_info, &mario_net_info);
+ palette_set_colors(machine(), 0, rgb, 256);
+ auto_free(machine(), rgb);
+ rgb = compute_res_net_all(machine(), color_prom+256, &mario_decode_info, &mario_net_info_std);
+ palette_set_colors(machine(), 256, rgb, 256);
+ auto_free(machine(), rgb);
- palette_normalize_range(machine.palette, 0, 255, 0, 255);
- palette_normalize_range(machine.palette, 256, 511, 0, 255);
+ palette_normalize_range(machine().palette, 0, 255, 0, 255);
+ palette_normalize_range(machine().palette, 256, 511, 0, 255);
}
WRITE8_MEMBER(mario_state::mario_videoram_w)
@@ -135,20 +135,19 @@ TILE_GET_INFO_MEMBER(mario_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( mario )
+void mario_state::video_start()
{
- mario_state *state = machine.driver_data<mario_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mario_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mario_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_gfx_bank = 0;
- state->m_palette_bank = 0;
- state->m_gfx_scroll = 0;
- state->save_item(NAME(state->m_gfx_bank));
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_gfx_scroll));
- state->save_item(NAME(state->m_flip));
+ m_gfx_bank = 0;
+ m_palette_bank = 0;
+ m_gfx_scroll = 0;
+ save_item(NAME(m_gfx_bank));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_gfx_scroll));
+ save_item(NAME(m_flip));
}
/*
diff --git a/src/mame/video/markham.c b/src/mame/video/markham.c
index 78c73dbb0fe..b2c6ebe6523 100644
--- a/src/mame/video/markham.c
+++ b/src/mame/video/markham.c
@@ -11,13 +11,13 @@
#include "emu.h"
#include "includes/markham.h"
-PALETTE_INIT( markham )
+void markham_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -26,7 +26,7 @@ PALETTE_INIT( markham )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -36,7 +36,7 @@ PALETTE_INIT( markham )
for (i = 0; i < 0x400; i++)
{
UINT8 ctabentry = color_prom[i];
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -64,12 +64,11 @@ TILE_GET_INFO_MEMBER(markham_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( markham )
+void markham_state::video_start()
{
- markham_state *state = machine.driver_data<markham_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(markham_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(markham_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap->set_scroll_rows(32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/matmania.c b/src/mame/video/matmania.c
index 3e2694bc7ec..0d9818e0cbe 100644
--- a/src/mame/video/matmania.c
+++ b/src/mame/video/matmania.c
@@ -41,9 +41,9 @@
bit 0 -- 2.2kohm resistor -- BLUE
***************************************************************************/
-PALETTE_INIT( matmania )
+void matmania_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 64; i++)
@@ -66,7 +66,7 @@ PALETTE_INIT( matmania )
bit3 = BIT(color_prom[64], 3);
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -113,15 +113,14 @@ WRITE8_MEMBER(matmania_state::matmania_paletteram_w)
***************************************************************************/
-VIDEO_START( matmania )
+void matmania_state::video_start()
{
- matmania_state *state = machine.driver_data<matmania_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
/* Mat Mania has a virtual screen twice as large as the visible screen */
- state->m_tmpbitmap = auto_bitmap_ind16_alloc(machine, width, 2 * height);
- state->m_tmpbitmap2 = auto_bitmap_ind16_alloc(machine, width, 2 * height);
+ m_tmpbitmap = auto_bitmap_ind16_alloc(machine(), width, 2 * height);
+ m_tmpbitmap2 = auto_bitmap_ind16_alloc(machine(), width, 2 * height);
}
diff --git a/src/mame/video/mcatadv.c b/src/mame/video/mcatadv.c
index 9d64e773eb3..f183c26ac8c 100644
--- a/src/mame/video/mcatadv.c
+++ b/src/mame/video/mcatadv.c
@@ -248,23 +248,22 @@ SCREEN_UPDATE_IND16( mcatadv )
return 0;
}
-VIDEO_START( mcatadv )
+void mcatadv_state::video_start()
{
- mcatadv_state *state = machine.driver_data<mcatadv_state>();
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap1->set_transparent_pen(0);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap1->set_transparent_pen(0);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap2->set_transparent_pen(0);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info2),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap2->set_transparent_pen(0);
- state->m_spriteram_old = auto_alloc_array_clear(machine, UINT16, state->m_spriteram.bytes() / 2);
- state->m_vidregs_old = auto_alloc_array(machine, UINT16, (0x0f + 1) / 2);
+ m_spriteram_old = auto_alloc_array_clear(machine(), UINT16, m_spriteram.bytes() / 2);
+ m_vidregs_old = auto_alloc_array(machine(), UINT16, (0x0f + 1) / 2);
- state->m_palette_bank1 = 0;
- state->m_palette_bank2 = 0;
+ m_palette_bank1 = 0;
+ m_palette_bank2 = 0;
- state->save_pointer(NAME(state->m_spriteram_old), state->m_spriteram.bytes() / 2);
- state->save_pointer(NAME(state->m_vidregs_old), (0x0f + 1) / 2);
+ save_pointer(NAME(m_spriteram_old), m_spriteram.bytes() / 2);
+ save_pointer(NAME(m_vidregs_old), (0x0f + 1) / 2);
}
SCREEN_VBLANK( mcatadv )
diff --git a/src/mame/video/mcd212.c b/src/mame/video/mcd212.c
index 0dd8b1ba517..892f0d46f39 100644
--- a/src/mame/video/mcd212.c
+++ b/src/mame/video/mcd212.c
@@ -1648,17 +1648,16 @@ void mcd212_ab_init(mcd212_ab_t *mcd212_ab)
}
}
-VIDEO_START( cdimono1 )
+void cdi_state::video_start()
{
- cdi_state *state = machine.driver_data<cdi_state>();
- mcd212_ab_init(&state->m_mcd212_ab);
- mcd212_init(machine, &state->m_mcd212_regs);
- state->m_mcd212_regs.scan_timer = machine.scheduler().timer_alloc(FUNC(mcd212_perform_scan));
- state->m_mcd212_regs.scan_timer->adjust(machine.primary_screen->time_until_pos(0, 0));
+ mcd212_ab_init(&m_mcd212_ab);
+ mcd212_init(machine(), &m_mcd212_regs);
+ m_mcd212_regs.scan_timer = machine().scheduler().timer_alloc(FUNC(mcd212_perform_scan));
+ m_mcd212_regs.scan_timer->adjust(machine().primary_screen->time_until_pos(0, 0));
- screen_device *screen = downcast<screen_device *>(machine.device("lcd"));
- screen->register_screen_bitmap(state->m_lcdbitmap);
+ screen_device *screen = downcast<screen_device *>(machine().device("lcd"));
+ screen->register_screen_bitmap(m_lcdbitmap);
}
SCREEN_UPDATE_RGB32( cdimono1 )
diff --git a/src/mame/video/mcr.c b/src/mame/video/mcr.c
index 22eacc0d306..74a13ca8ab1 100644
--- a/src/mame/video/mcr.c
+++ b/src/mame/video/mcr.c
@@ -95,26 +95,25 @@ TILE_GET_INFO_MEMBER(mcr_state::mcr_91490_get_tile_info)
*
*************************************/
-VIDEO_START( mcr )
+VIDEO_START_MEMBER(mcr_state,mcr)
{
- mcr_state *state = machine.driver_data<mcr_state>();
/* the tilemap callback is based on the CPU board */
switch (mcr_cpu_board)
{
case 90009:
- bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_90009_get_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_90009_get_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,30);
break;
case 90010:
- bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_90010_get_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_90010_get_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,30);
break;
case 91475:
- bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_90010_get_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_90010_get_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,30);
break;
case 91490:
- bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_91490_get_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_91490_get_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,30);
break;
default:
diff --git a/src/mame/video/mcr3.c b/src/mame/video/mcr3.c
index f739e1f286c..f527fda1122 100644
--- a/src/mame/video/mcr3.c
+++ b/src/mame/video/mcr3.c
@@ -67,13 +67,13 @@ TILE_GET_INFO_MEMBER(mcr3_state::spyhunt_get_alpha_tile_info)
*
*************************************/
-PALETTE_INIT( spyhunt )
+PALETTE_INIT_MEMBER(mcr3_state,spyhunt)
{
/* alpha colors are hard-coded */
- palette_set_color(machine,4*16+0,MAKE_RGB(0x00,0x00,0x00));
- palette_set_color(machine,4*16+1,MAKE_RGB(0x00,0xff,0x00));
- palette_set_color(machine,4*16+2,MAKE_RGB(0x00,0x00,0xff));
- palette_set_color(machine,4*16+3,MAKE_RGB(0xff,0xff,0xff));
+ palette_set_color(machine(),4*16+0,MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color(machine(),4*16+1,MAKE_RGB(0x00,0xff,0x00));
+ palette_set_color(machine(),4*16+2,MAKE_RGB(0x00,0x00,0xff));
+ palette_set_color(machine(),4*16+3,MAKE_RGB(0xff,0xff,0xff));
}
@@ -85,38 +85,35 @@ PALETTE_INIT( spyhunt )
*************************************/
#ifdef UNUSED_FUNCTION
-VIDEO_START( mcr3 )
+VIDEO_START_MEMBER(mcr3_state,mcr3)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
/* initialize the background tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,30);
}
#endif
-VIDEO_START( mcrmono )
+VIDEO_START_MEMBER(mcr3_state,mcrmono)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
/* initialize the background tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::mcrmono_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::mcrmono_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,30);
}
-VIDEO_START( spyhunt )
+VIDEO_START_MEMBER(mcr3_state,spyhunt)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
/* initialize the background tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::spyhunt_get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(mcr3_state::spyhunt_bg_scan),state), 64,32, 64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::spyhunt_get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(mcr3_state::spyhunt_bg_scan),this), 64,32, 64,32);
/* initialize the text tilemap */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::spyhunt_get_alpha_tile_info),state), TILEMAP_SCAN_COLS, 16,16, 32,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
- state->m_alpha_tilemap->set_scrollx(0, 16);
-
- state_save_register_global(machine, state->m_spyhunt_sprite_color_mask);
- state_save_register_global(machine, state->m_spyhunt_scrollx);
- state_save_register_global(machine, state->m_spyhunt_scrolly);
- state_save_register_global(machine, state->m_spyhunt_scroll_offset);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::spyhunt_get_alpha_tile_info),this), TILEMAP_SCAN_COLS, 16,16, 32,32);
+ m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap->set_scrollx(0, 16);
+
+ state_save_register_global(machine(), m_spyhunt_sprite_color_mask);
+ state_save_register_global(machine(), m_spyhunt_scrollx);
+ state_save_register_global(machine(), m_spyhunt_scrolly);
+ state_save_register_global(machine(), m_spyhunt_scroll_offset);
}
diff --git a/src/mame/video/mcr68.c b/src/mame/video/mcr68.c
index 871f54c6175..16a5d6bd075 100644
--- a/src/mame/video/mcr68.c
+++ b/src/mame/video/mcr68.c
@@ -56,35 +56,33 @@ TILE_GET_INFO_MEMBER(mcr68_state::zwackery_get_fg_tile_info)
*
*************************************/
-VIDEO_START( mcr68 )
+VIDEO_START_MEMBER(mcr68_state,mcr68)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
/* initialize the background tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr68_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr68_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,32);
+ m_bg_tilemap->set_transparent_pen(0);
}
-VIDEO_START( zwackery )
+VIDEO_START_MEMBER(mcr68_state,zwackery)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- const UINT8 *colordatabase = (const UINT8 *)state->memregion("gfx3")->base();
- gfx_element *gfx0 = machine.gfx[0];
- gfx_element *gfx2 = machine.gfx[2];
+ const UINT8 *colordatabase = (const UINT8 *)memregion("gfx3")->base();
+ gfx_element *gfx0 = machine().gfx[0];
+ gfx_element *gfx2 = machine().gfx[2];
UINT8 *srcdata0, *dest0;
UINT8 *srcdata2, *dest2;
int code, y, x;
/* initialize the background tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr68_state::zwackery_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr68_state::zwackery_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,32);
/* initialize the foreground tilemap */
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr68_state::zwackery_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mcr68_state::zwackery_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,32);
+ m_fg_tilemap->set_transparent_pen(0);
/* allocate memory for the assembled gfx data */
- srcdata0 = auto_alloc_array(machine, UINT8, gfx0->elements() * gfx0->width() * gfx0->height());
- srcdata2 = auto_alloc_array(machine, UINT8, gfx2->elements() * gfx2->width() * gfx2->height());
+ srcdata0 = auto_alloc_array(machine(), UINT8, gfx0->elements() * gfx0->width() * gfx0->height());
+ srcdata2 = auto_alloc_array(machine(), UINT8, gfx2->elements() * gfx2->width() * gfx2->height());
/* "colorize" each code */
dest0 = srcdata0;
diff --git a/src/mame/video/meadows.c b/src/mame/video/meadows.c
index a877184199f..4c261dfcce3 100644
--- a/src/mame/video/meadows.c
+++ b/src/mame/video/meadows.c
@@ -32,10 +32,9 @@ TILE_GET_INFO_MEMBER(meadows_state::get_tile_info)
*
*************************************/
-VIDEO_START( meadows )
+void meadows_state::video_start()
{
- meadows_state *state = machine.driver_data<meadows_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(meadows_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,30);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(meadows_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,30);
}
diff --git a/src/mame/video/megasys1.c b/src/mame/video/megasys1.c
index ed518ecf089..a8c8d47c7dc 100644
--- a/src/mame/video/megasys1.c
+++ b/src/mame/video/megasys1.c
@@ -220,31 +220,30 @@ static void create_tilemaps(running_machine &machine);
-VIDEO_START( megasys1 )
+VIDEO_START_MEMBER(megasys1_state,megasys1)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
int i;
- state->m_spriteram = &state->m_ram[0x8000/2];
+ m_spriteram = &m_ram[0x8000/2];
- state->m_buffer_objectram = auto_alloc_array(machine, UINT16, 0x2000);
- state->m_buffer_spriteram16 = auto_alloc_array(machine, UINT16, 0x2000);
- state->m_buffer2_objectram = auto_alloc_array(machine, UINT16, 0x2000);
- state->m_buffer2_spriteram16 = auto_alloc_array(machine, UINT16, 0x2000);
+ m_buffer_objectram = auto_alloc_array(machine(), UINT16, 0x2000);
+ m_buffer_spriteram16 = auto_alloc_array(machine(), UINT16, 0x2000);
+ m_buffer2_objectram = auto_alloc_array(machine(), UINT16, 0x2000);
+ m_buffer2_spriteram16 = auto_alloc_array(machine(), UINT16, 0x2000);
- create_tilemaps(machine);
- state->m_tmap[0] = state->m_tilemap[0][0][0];
- state->m_tmap[1] = state->m_tilemap[1][0][0];
- state->m_tmap[2] = state->m_tilemap[2][0][0];
+ create_tilemaps(machine());
+ m_tmap[0] = m_tilemap[0][0][0];
+ m_tmap[1] = m_tilemap[1][0][0];
+ m_tmap[2] = m_tilemap[2][0][0];
- state->m_active_layers = state->m_sprite_bank = state->m_screen_flag = state->m_sprite_flag = 0;
+ m_active_layers = m_sprite_bank = m_screen_flag = m_sprite_flag = 0;
for (i = 0; i < 3; i ++)
{
- state->m_scroll_flag[i] = state->m_scrollx[i] = state->m_scrolly[i] = 0;
+ m_scroll_flag[i] = m_scrollx[i] = m_scrolly[i] = 0;
}
- state->m_bits_per_color_code = 4;
+ m_bits_per_color_code = 4;
/*
The tile code of a specific layer is multiplied for a constant
@@ -263,19 +262,19 @@ VIDEO_START( megasys1 )
for each layer and hardwired to 1x or 4x for both tile sizes
*/
- state->m_8x8_scroll_factor[0] = 1; state->m_16x16_scroll_factor[0] = 4;
- state->m_8x8_scroll_factor[1] = 1; state->m_16x16_scroll_factor[1] = 4;
- state->m_8x8_scroll_factor[2] = 1; state->m_16x16_scroll_factor[2] = 4;
+ m_8x8_scroll_factor[0] = 1; m_16x16_scroll_factor[0] = 4;
+ m_8x8_scroll_factor[1] = 1; m_16x16_scroll_factor[1] = 4;
+ m_8x8_scroll_factor[2] = 1; m_16x16_scroll_factor[2] = 4;
- if (strcmp(machine.system().name, "soldamj") == 0)
+ if (strcmp(machine().system().name, "soldamj") == 0)
{
- state->m_8x8_scroll_factor[1] = 4; state->m_16x16_scroll_factor[1] = 4;
+ m_8x8_scroll_factor[1] = 4; m_16x16_scroll_factor[1] = 4;
}
- state->m_hardware_type_z = 0;
- if (strcmp(machine.system().name, "lomakai") == 0 ||
- strcmp(machine.system().name, "makaiden") == 0)
- state->m_hardware_type_z = 1;
+ m_hardware_type_z = 0;
+ if (strcmp(machine().system().name, "lomakai") == 0 ||
+ strcmp(machine().system().name, "makaiden") == 0)
+ m_hardware_type_z = 1;
}
/***************************************************************************
@@ -749,10 +748,9 @@ static const struct priority priorities[] =
pens.
*/
-PALETTE_INIT( megasys1 )
+PALETTE_INIT_MEMBER(megasys1_state,megasys1)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- megasys1_state *state = machine.driver_data<megasys1_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int pri_code, offset, i, order;
/* First check if we have an hand-crafted priority scheme
@@ -761,13 +759,13 @@ PALETTE_INIT( megasys1 )
i = 0;
while ( priorities[i].driver &&
- strcmp(priorities[i].driver, machine.system().name) != 0 &&
- strcmp(priorities[i].driver, machine.system().parent) != 0)
+ strcmp(priorities[i].driver, machine().system().name) != 0 &&
+ strcmp(priorities[i].driver, machine().system().parent) != 0)
i++;
if (priorities[i].driver)
{
- memcpy (state->m_layers_order, priorities[i].priorities, 16 * sizeof(int));
+ memcpy (m_layers_order, priorities[i].priorities, 16 * sizeof(int));
logerror("WARNING: using an hand-crafted priorities scheme\n");
@@ -895,7 +893,7 @@ PALETTE_INIT( megasys1 )
} // merging
- state->m_layers_order[pri_code] = order & 0xfffff; // at last!
+ m_layers_order[pri_code] = order & 0xfffff; // at last!
} // pri_code
@@ -904,7 +902,7 @@ PALETTE_INIT( megasys1 )
#if 0
/* log the priority schemes */
for (i = 0; i < 16; i++)
- logerror("PROM %X] %05x\n", i, state->m_layers_order[i]);
+ logerror("PROM %X] %05x\n", i, m_layers_order[i]);
#endif
diff --git a/src/mame/video/megazone.c b/src/mame/video/megazone.c
index 2a57af564db..94012039155 100644
--- a/src/mame/video/megazone.c
+++ b/src/mame/video/megazone.c
@@ -36,9 +36,9 @@ Changes by Martin M. (pfloyd@gmx.net) 14.10.2001:
***************************************************************************/
-PALETTE_INIT( megazone )
+void megazone_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -51,7 +51,7 @@ PALETTE_INIT( megazone )
2, &resistances_b[0], bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -76,7 +76,7 @@ PALETTE_INIT( megazone )
bit1 = BIT(color_prom[i], 7);
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -86,14 +86,14 @@ PALETTE_INIT( megazone )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* characters */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -102,12 +102,11 @@ WRITE8_MEMBER(megazone_state::megazone_flipscreen_w)
m_flipscreen = data & 1;
}
-VIDEO_START( megazone )
+void megazone_state::video_start()
{
- megazone_state *state = machine.driver_data<megazone_state>();
- state->m_tmpbitmap = auto_bitmap_ind16_alloc(machine, 256, 256);
+ m_tmpbitmap = auto_bitmap_ind16_alloc(machine(), 256, 256);
- state->save_item(NAME(*state->m_tmpbitmap));
+ save_item(NAME(*m_tmpbitmap));
}
diff --git a/src/mame/video/mermaid.c b/src/mame/video/mermaid.c
index d800216ccbc..d6e755aa8a3 100644
--- a/src/mame/video/mermaid.c
+++ b/src/mame/video/mermaid.c
@@ -2,13 +2,13 @@
#include "includes/mermaid.h"
-PALETTE_INIT( mermaid )
+void mermaid_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x41);
+ machine().colortable = colortable_alloc(machine(), 0x41);
for (i = 0; i < 0x40; i++)
{
@@ -16,30 +16,30 @@ PALETTE_INIT( mermaid )
int g = 0x21 * BIT(color_prom[i], 3) + 0x47 * BIT(color_prom[i], 4) + 0x97 * BIT(color_prom[i], 5);
int b = 0x47 * BIT(color_prom[i], 6) + 0x97 * BIT(color_prom[i], 7);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* blue background */
- colortable_palette_set_color(machine.colortable, 0x40, MAKE_RGB(0, 0, 0xff));
+ colortable_palette_set_color(machine().colortable, 0x40, MAKE_RGB(0, 0, 0xff));
/* char/sprite palette */
for (i = 0; i < 0x40; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* background palette */
- colortable_entry_set_value(machine.colortable, 0x40, 0x20);
- colortable_entry_set_value(machine.colortable, 0x41, 0x21);
- colortable_entry_set_value(machine.colortable, 0x42, 0x40);
- colortable_entry_set_value(machine.colortable, 0x43, 0x21);
+ colortable_entry_set_value(machine().colortable, 0x40, 0x20);
+ colortable_entry_set_value(machine().colortable, 0x41, 0x21);
+ colortable_entry_set_value(machine().colortable, 0x42, 0x40);
+ colortable_entry_set_value(machine().colortable, 0x43, 0x21);
}
-PALETTE_INIT( rougien )
+PALETTE_INIT_MEMBER(mermaid_state,rougien)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x41);
+ machine().colortable = colortable_alloc(machine(), 0x41);
for (i = 0; i < 0x40; i++)
{
@@ -47,21 +47,21 @@ PALETTE_INIT( rougien )
int g = 0x21 * BIT(color_prom[i], 3) + 0x47 * BIT(color_prom[i], 4) + 0x97 * BIT(color_prom[i], 5);
int b = 0x47 * BIT(color_prom[i], 6) + 0x97 * BIT(color_prom[i], 7);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* blue background */
- colortable_palette_set_color(machine.colortable, 0x40, MAKE_RGB(0, 0, 0));
+ colortable_palette_set_color(machine().colortable, 0x40, MAKE_RGB(0, 0, 0));
/* char/sprite palette */
for (i = 0; i < 0x40; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* background palette */
- colortable_entry_set_value(machine.colortable, 0x40, 0x40);
- colortable_entry_set_value(machine.colortable, 0x41, 0x00);
- colortable_entry_set_value(machine.colortable, 0x42, 0x00);
- colortable_entry_set_value(machine.colortable, 0x43, 0x02);
+ colortable_entry_set_value(machine().colortable, 0x40, 0x40);
+ colortable_entry_set_value(machine().colortable, 0x41, 0x00);
+ colortable_entry_set_value(machine().colortable, 0x42, 0x00);
+ colortable_entry_set_value(machine().colortable, 0x43, 0x02);
}
@@ -165,19 +165,18 @@ TILE_GET_INFO_MEMBER(mermaid_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( mermaid )
+void mermaid_state::video_start()
{
- mermaid_state *state = machine.driver_data<mermaid_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mermaid_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mermaid_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scroll_cols(32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mermaid_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_scroll_cols(32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mermaid_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap->set_scroll_cols(32);
+ m_fg_tilemap->set_transparent_pen(0);
- machine.primary_screen->register_screen_bitmap(state->m_helper);
- machine.primary_screen->register_screen_bitmap(state->m_helper2);
+ machine().primary_screen->register_screen_bitmap(m_helper);
+ machine().primary_screen->register_screen_bitmap(m_helper2);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/metlclsh.c b/src/mame/video/metlclsh.c
index 1d39ea2004a..d51b0f19d86 100644
--- a/src/mame/video/metlclsh.c
+++ b/src/mame/video/metlclsh.c
@@ -132,19 +132,18 @@ WRITE8_MEMBER(metlclsh_state::metlclsh_fgram_w)
***************************************************************************/
-VIDEO_START( metlclsh )
+void metlclsh_state::video_start()
{
- metlclsh_state *state = machine.driver_data<metlclsh_state>();
- state->m_otherram = auto_alloc_array(machine, UINT8, 0x800); // banked ram
+ m_otherram = auto_alloc_array(machine(), UINT8, 0x800); // banked ram
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(metlclsh_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(metlclsh_state::metlclsh_bgtilemap_scan),state), 16, 16, 32, 16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(metlclsh_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(metlclsh_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(metlclsh_state::metlclsh_bgtilemap_scan),this), 16, 16, 32, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(metlclsh_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->save_pointer(NAME(state->m_otherram), 0x800);
+ save_pointer(NAME(m_otherram), 0x800);
}
diff --git a/src/mame/video/metro.c b/src/mame/video/metro.c
index 61b8d79e061..a0a1a2e548f 100644
--- a/src/mame/video/metro.c
+++ b/src/mame/video/metro.c
@@ -282,100 +282,95 @@ static void expand_gfx1(metro_state &state)
}
}
-VIDEO_START( metro_i4100 )
+VIDEO_START_MEMBER(metro_state,metro_i4100)
{
- metro_state *state = machine.driver_data<metro_state>();
- expand_gfx1(*state);
+ expand_gfx1(*this);
- state->m_support_8bpp = 0;
- state->m_support_16x16 = 0;
- state->m_has_zoom = 0;
+ m_support_8bpp = 0;
+ m_support_16x16 = 0;
+ m_has_zoom = 0;
- state->m_bg_tilemap_enable[0] = 1;
- state->m_bg_tilemap_enable[1] = 1;
- state->m_bg_tilemap_enable[2] = 1;
+ m_bg_tilemap_enable[0] = 1;
+ m_bg_tilemap_enable[1] = 1;
+ m_bg_tilemap_enable[2] = 1;
- state->m_bg_tilemap_enable16[0] = 0;
- state->m_bg_tilemap_enable16[1] = 0;
- state->m_bg_tilemap_enable16[2] = 0;
+ m_bg_tilemap_enable16[0] = 0;
+ m_bg_tilemap_enable16[1] = 0;
+ m_bg_tilemap_enable16[2] = 0;
- state->m_bg_tilemap_scrolldx[0] = 0;
- state->m_bg_tilemap_scrolldx[1] = 0;
- state->m_bg_tilemap_scrolldx[2] = 0;
+ m_bg_tilemap_scrolldx[0] = 0;
+ m_bg_tilemap_scrolldx[1] = 0;
+ m_bg_tilemap_scrolldx[2] = 0;
}
-VIDEO_START( metro_i4220 )
+VIDEO_START_MEMBER(metro_state,metro_i4220)
{
- metro_state *state = machine.driver_data<metro_state>();
- expand_gfx1(*state);
+ expand_gfx1(*this);
- state->m_support_8bpp = 1;
- state->m_support_16x16 = 0;
- state->m_has_zoom = 0;
+ m_support_8bpp = 1;
+ m_support_16x16 = 0;
+ m_has_zoom = 0;
- state->m_bg_tilemap_enable[0] = 1;
- state->m_bg_tilemap_enable[1] = 1;
- state->m_bg_tilemap_enable[2] = 1;
+ m_bg_tilemap_enable[0] = 1;
+ m_bg_tilemap_enable[1] = 1;
+ m_bg_tilemap_enable[2] = 1;
- state->m_bg_tilemap_enable16[0] = 0;
- state->m_bg_tilemap_enable16[1] = 0;
- state->m_bg_tilemap_enable16[2] = 0;
+ m_bg_tilemap_enable16[0] = 0;
+ m_bg_tilemap_enable16[1] = 0;
+ m_bg_tilemap_enable16[2] = 0;
- state->m_bg_tilemap_scrolldx[0] = -2;
- state->m_bg_tilemap_scrolldx[1] = -2;
- state->m_bg_tilemap_scrolldx[2] = -2;
+ m_bg_tilemap_scrolldx[0] = -2;
+ m_bg_tilemap_scrolldx[1] = -2;
+ m_bg_tilemap_scrolldx[2] = -2;
}
-VIDEO_START( metro_i4300 )
+VIDEO_START_MEMBER(metro_state,metro_i4300)
{
- metro_state *state = machine.driver_data<metro_state>();
- expand_gfx1(*state);
+ expand_gfx1(*this);
- state->m_support_8bpp = 1;
- state->m_support_16x16 = 1;
- state->m_has_zoom = 0;
+ m_support_8bpp = 1;
+ m_support_16x16 = 1;
+ m_has_zoom = 0;
- state->m_bg_tilemap_enable[0] = 1;
- state->m_bg_tilemap_enable[1] = 1;
- state->m_bg_tilemap_enable[2] = 1;
+ m_bg_tilemap_enable[0] = 1;
+ m_bg_tilemap_enable[1] = 1;
+ m_bg_tilemap_enable[2] = 1;
- state->m_bg_tilemap_enable16[0] = 0;
- state->m_bg_tilemap_enable16[1] = 0;
- state->m_bg_tilemap_enable16[2] = 0;
+ m_bg_tilemap_enable16[0] = 0;
+ m_bg_tilemap_enable16[1] = 0;
+ m_bg_tilemap_enable16[2] = 0;
- state->m_bg_tilemap_scrolldx[0] = 0;
- state->m_bg_tilemap_scrolldx[1] = 0;
- state->m_bg_tilemap_scrolldx[2] = 0;
+ m_bg_tilemap_scrolldx[0] = 0;
+ m_bg_tilemap_scrolldx[1] = 0;
+ m_bg_tilemap_scrolldx[2] = 0;
}
-VIDEO_START( blzntrnd )
+VIDEO_START_MEMBER(metro_state,blzntrnd)
{
- metro_state *state = machine.driver_data<metro_state>();
- VIDEO_START_CALL(metro_i4220);
+ VIDEO_START_CALL_MEMBER(metro_i4220);
- state->m_has_zoom = 1;
+ m_has_zoom = 1;
- state->m_k053936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(metro_state::metro_k053936_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 512);
+ m_k053936_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(metro_state::metro_k053936_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 256, 512);
- state->m_bg_tilemap_scrolldx[0] = 8;
- state->m_bg_tilemap_scrolldx[1] = 8;
- state->m_bg_tilemap_scrolldx[2] = 8;
+ m_bg_tilemap_scrolldx[0] = 8;
+ m_bg_tilemap_scrolldx[1] = 8;
+ m_bg_tilemap_scrolldx[2] = 8;
}
-VIDEO_START( gstrik2 )
+VIDEO_START_MEMBER(metro_state,gstrik2)
{
- metro_state *state = machine.driver_data<metro_state>();
- VIDEO_START_CALL(metro_i4220);
+ VIDEO_START_CALL_MEMBER(metro_i4220);
- state->m_has_zoom = 1;
+ m_has_zoom = 1;
- state->m_k053936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(metro_state::metro_k053936_gstrik2_get_tile_info),state), tilemap_mapper_delegate(FUNC(metro_state::tilemap_scan_gstrik2),state), 16, 16, 128, 256);
+ m_k053936_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(metro_state::metro_k053936_gstrik2_get_tile_info),this), tilemap_mapper_delegate(FUNC(metro_state::tilemap_scan_gstrik2),this), 16, 16, 128, 256);
- state->m_bg_tilemap_scrolldx[0] = 8;
- state->m_bg_tilemap_scrolldx[1] = 0;
- state->m_bg_tilemap_scrolldx[2] = 8;
+ m_bg_tilemap_scrolldx[0] = 8;
+ m_bg_tilemap_scrolldx[1] = 0;
+ m_bg_tilemap_scrolldx[2] = 8;
}
/***************************************************************************
diff --git a/src/mame/video/micro3d.c b/src/mame/video/micro3d.c
index bef6cc701ec..ebe673e3bfd 100644
--- a/src/mame/video/micro3d.c
+++ b/src/mame/video/micro3d.c
@@ -35,26 +35,24 @@ enum
*
*************************************/
-VIDEO_START( micro3d )
+void micro3d_state::video_start()
{
- micro3d_state *state = machine.driver_data<micro3d_state>();
/* Allocate 512x12 x 2 3D frame buffers */
- state->m_frame_buffers[0] = auto_alloc_array(machine, UINT16, 1024 * 512);
- state->m_frame_buffers[1] = auto_alloc_array(machine, UINT16, 1024 * 512);
- state->m_tmp_buffer = auto_alloc_array(machine, UINT16, 1024 * 512);
+ m_frame_buffers[0] = auto_alloc_array(machine(), UINT16, 1024 * 512);
+ m_frame_buffers[1] = auto_alloc_array(machine(), UINT16, 1024 * 512);
+ m_tmp_buffer = auto_alloc_array(machine(), UINT16, 1024 * 512);
}
-VIDEO_RESET( micro3d )
+void micro3d_state::video_reset()
{
- micro3d_state *state = machine.driver_data<micro3d_state>();
- state->m_pipeline_state = 0;
- state->m_creg = 0;
+ m_pipeline_state = 0;
+ m_creg = 0;
- state->m_drawing_buffer = 0;
- state->m_display_buffer = 1;
+ m_drawing_buffer = 0;
+ m_display_buffer = 1;
}
diff --git a/src/mame/video/midtunit.c b/src/mame/video/midtunit.c
index ff0e6f033b3..a79537bedc8 100644
--- a/src/mame/video/midtunit.c
+++ b/src/mame/video/midtunit.c
@@ -7,6 +7,7 @@
#include "emu.h"
#include "cpu/tms34010/tms34010.h"
#include "includes/midtunit.h"
+#include "includes/midwunit.h"
#include "includes/midxunit.h"
@@ -85,10 +86,10 @@ static struct
*
*************************************/
-VIDEO_START( midtunit )
+VIDEO_START_MEMBER(midtunit_state,midtunit)
{
/* allocate memory */
- local_videoram = auto_alloc_array(machine, UINT16, 0x100000/2);
+ local_videoram = auto_alloc_array(machine(), UINT16, 0x100000/2);
/* reset all the globals */
gfxbank_offset[0] = 0x000000;
@@ -96,27 +97,26 @@ VIDEO_START( midtunit )
memset(dma_register, 0, sizeof(dma_register));
memset(&dma_state, 0, sizeof(dma_state));
- dma_state.gfxrom = machine.driver_data<midtunit_state>()->m_gfxrom->base();
/* register for state saving */
- state_save_register_global(machine, midtunit_control);
- state_save_register_global_array(machine, gfxbank_offset);
- state_save_register_global_pointer(machine, local_videoram, 0x100000/sizeof(local_videoram[0]));
- state_save_register_global(machine, videobank_select);
- state_save_register_global_array(machine, dma_register);
+ state_save_register_global(machine(), midtunit_control);
+ state_save_register_global_array(machine(), gfxbank_offset);
+ state_save_register_global_pointer(machine(), local_videoram, 0x100000/sizeof(local_videoram[0]));
+ state_save_register_global(machine(), videobank_select);
+ state_save_register_global_array(machine(), dma_register);
}
-VIDEO_START( midwunit )
+VIDEO_START_MEMBER(midwunit_state,midwunit)
{
- VIDEO_START_CALL(midtunit);
+ VIDEO_START_CALL_MEMBER(midtunit);
midtunit_gfx_rom_large = 1;
}
-VIDEO_START( midxunit )
+VIDEO_START_MEMBER(midxunit_state,midxunit)
{
- VIDEO_START_CALL(midtunit);
+ VIDEO_START_CALL_MEMBER(midtunit);
midtunit_gfx_rom_large = 1;
videobank_select = 1;
}
diff --git a/src/mame/video/midvunit.c b/src/mame/video/midvunit.c
index 6c2b7695a41..af60bec2d28 100644
--- a/src/mame/video/midvunit.c
+++ b/src/mame/video/midvunit.c
@@ -50,18 +50,17 @@ static TIMER_CALLBACK( scanline_timer_cb )
}
-VIDEO_START( midvunit )
+void midvunit_state::video_start()
{
- midvunit_state *state = machine.driver_data<midvunit_state>();
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(scanline_timer_cb));
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(scanline_timer_cb));
- state->m_poly = auto_alloc(machine, midvunit_renderer(*state));
+ m_poly = auto_alloc(machine(), midvunit_renderer(*this));
- state_save_register_global_array(machine, state->m_video_regs);
- state_save_register_global_array(machine, state->m_dma_data);
- state_save_register_global(machine, state->m_dma_data_index);
- state_save_register_global(machine, state->m_page_control);
- state_save_register_global(machine, state->m_video_changed);
+ state_save_register_global_array(machine(), m_video_regs);
+ state_save_register_global_array(machine(), m_dma_data);
+ state_save_register_global(machine(), m_dma_data_index);
+ state_save_register_global(machine(), m_page_control);
+ state_save_register_global(machine(), m_video_changed);
}
diff --git a/src/mame/video/midyunit.c b/src/mame/video/midyunit.c
index bf0c798c58b..09898758bf9 100644
--- a/src/mame/video/midyunit.c
+++ b/src/mame/video/midyunit.c
@@ -36,81 +36,76 @@ enum
*
*************************************/
-static VIDEO_START( common )
+VIDEO_START_MEMBER(midyunit_state,common)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
/* allocate memory */
- state->m_cmos_ram = auto_alloc_array(machine, UINT16, (0x2000 * 4)/2);
- state->m_local_videoram = auto_alloc_array_clear(machine, UINT16, 0x80000/2);
- state->m_pen_map = auto_alloc_array(machine, pen_t, 65536);
+ m_cmos_ram = auto_alloc_array(machine(), UINT16, (0x2000 * 4)/2);
+ m_local_videoram = auto_alloc_array_clear(machine(), UINT16, 0x80000/2);
+ m_pen_map = auto_alloc_array(machine(), pen_t, 65536);
- machine.device<nvram_device>("nvram")->set_base(state->m_cmos_ram, 0x2000 * 4);
+ machine().device<nvram_device>("nvram")->set_base(m_cmos_ram, 0x2000 * 4);
/* reset all the globals */
- state->m_cmos_page = 0;
- state->m_autoerase_enable = 0;
- state->m_yawdim_dma = 0;
+ m_cmos_page = 0;
+ m_autoerase_enable = 0;
+ m_yawdim_dma = 0;
/* reset DMA state */
- memset(state->m_dma_register, 0, sizeof(state->m_dma_register));
- memset(&state->m_dma_state, 0, sizeof(state->m_dma_state));
+ memset(m_dma_register, 0, sizeof(m_dma_register));
+ memset(&m_dma_state, 0, sizeof(m_dma_state));
/* register for state saving */
- state_save_register_global(machine, state->m_autoerase_enable);
- state_save_register_global_pointer(machine, state->m_local_videoram, 0x80000/2);
- state_save_register_global_pointer(machine, state->m_cmos_ram, (0x2000 * 4)/2);
- state_save_register_global(machine, state->m_videobank_select);
- state_save_register_global_array(machine, state->m_dma_register);
+ state_save_register_global(machine(), m_autoerase_enable);
+ state_save_register_global_pointer(machine(), m_local_videoram, 0x80000/2);
+ state_save_register_global_pointer(machine(), m_cmos_ram, (0x2000 * 4)/2);
+ state_save_register_global(machine(), m_videobank_select);
+ state_save_register_global_array(machine(), m_dma_register);
}
-VIDEO_START( midyunit_4bit )
+VIDEO_START_MEMBER(midyunit_state,midyunit_4bit)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
int i;
- VIDEO_START_CALL(common);
+ VIDEO_START_CALL_MEMBER(common);
/* init for 4-bit */
for (i = 0; i < 65536; i++)
- state->m_pen_map[i] = ((i & 0xf000) >> 8) | (i & 0x000f);
- state->m_palette_mask = 0x00ff;
+ m_pen_map[i] = ((i & 0xf000) >> 8) | (i & 0x000f);
+ m_palette_mask = 0x00ff;
}
-VIDEO_START( midyunit_6bit )
+VIDEO_START_MEMBER(midyunit_state,midyunit_6bit)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
int i;
- VIDEO_START_CALL(common);
+ VIDEO_START_CALL_MEMBER(common);
/* init for 6-bit */
for (i = 0; i < 65536; i++)
- state->m_pen_map[i] = ((i & 0xc000) >> 8) | (i & 0x0f3f);
- state->m_palette_mask = 0x0fff;
+ m_pen_map[i] = ((i & 0xc000) >> 8) | (i & 0x0f3f);
+ m_palette_mask = 0x0fff;
}
-VIDEO_START( mkyawdim )
+VIDEO_START_MEMBER(midyunit_state,mkyawdim)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
- VIDEO_START_CALL(midyunit_6bit);
- state->m_yawdim_dma = 1;
+ VIDEO_START_CALL_MEMBER(midyunit_6bit);
+ m_yawdim_dma = 1;
}
-VIDEO_START( midzunit )
+VIDEO_START_MEMBER(midyunit_state,midzunit)
{
- midyunit_state *state = machine.driver_data<midyunit_state>();
int i;
- VIDEO_START_CALL(common);
+ VIDEO_START_CALL_MEMBER(common);
/* init for 8-bit */
for (i = 0; i < 65536; i++)
- state->m_pen_map[i] = i & 0x1fff;
- state->m_palette_mask = 0x1fff;
+ m_pen_map[i] = i & 0x1fff;
+ m_palette_mask = 0x1fff;
}
diff --git a/src/mame/video/midzeus.c b/src/mame/video/midzeus.c
index d41d2ff9828..d8cfc742b4a 100644
--- a/src/mame/video/midzeus.c
+++ b/src/mame/video/midzeus.c
@@ -260,45 +260,45 @@ INLINE UINT8 get_texel_alt_4bit(const void *base, int y, int x, int width)
*
*************************************/
-VIDEO_START( midzeus )
+VIDEO_START_MEMBER(midzeus_state,midzeus)
{
int i;
/* allocate memory for "wave" RAM */
- waveram[0] = auto_alloc_array(machine, UINT32, WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8/4);
- waveram[1] = auto_alloc_array(machine, UINT32, WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 8/4);
+ waveram[0] = auto_alloc_array(machine(), UINT32, WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8/4);
+ waveram[1] = auto_alloc_array(machine(), UINT32, WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 8/4);
/* initialize a 5-5-5 palette */
for (i = 0; i < 32768; i++)
- palette_set_color_rgb(machine, i, pal5bit(i >> 10), pal5bit(i >> 5), pal5bit(i >> 0));
+ palette_set_color_rgb(machine(), i, pal5bit(i >> 10), pal5bit(i >> 5), pal5bit(i >> 0));
/* initialize polygon engine */
- poly = poly_alloc(machine, 10000, sizeof(poly_extra_data), POLYFLAG_ALLOW_QUADS);
+ poly = poly_alloc(machine(), 10000, sizeof(poly_extra_data), POLYFLAG_ALLOW_QUADS);
/* we need to cleanup on exit */
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(exit_handler), &machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(exit_handler), &machine()));
yoffs = 0;
texel_width = 256;
zeus_renderbase = waveram[1];
/* state saving */
- state_save_register_global_array(machine, zeus_fifo);
- state_save_register_global(machine, zeus_fifo_words);
- state_save_register_global_2d_array(machine, zeus_matrix);
- state_save_register_global_array(machine, zeus_point);
- state_save_register_global_array(machine, zeus_light);
- state_save_register_global(machine, zeus_palbase);
- state_save_register_global(machine, zeus_objdata);
- state_save_register_global(machine, zeus_cliprect.min_x);
- state_save_register_global(machine, zeus_cliprect.max_x);
- state_save_register_global(machine, zeus_cliprect.min_y);
- state_save_register_global(machine, zeus_cliprect.max_y);
- state_save_register_global_pointer(machine, waveram[0], WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8 / sizeof(waveram[0][0]));
- state_save_register_global_pointer(machine, waveram[1], WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 8 / sizeof(waveram[1][0]));
+ state_save_register_global_array(machine(), zeus_fifo);
+ state_save_register_global(machine(), zeus_fifo_words);
+ state_save_register_global_2d_array(machine(), zeus_matrix);
+ state_save_register_global_array(machine(), zeus_point);
+ state_save_register_global_array(machine(), zeus_light);
+ state_save_register_global(machine(), zeus_palbase);
+ state_save_register_global(machine(), zeus_objdata);
+ state_save_register_global(machine(), zeus_cliprect.min_x);
+ state_save_register_global(machine(), zeus_cliprect.max_x);
+ state_save_register_global(machine(), zeus_cliprect.min_y);
+ state_save_register_global(machine(), zeus_cliprect.max_y);
+ state_save_register_global_pointer(machine(), waveram[0], WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8 / sizeof(waveram[0][0]));
+ state_save_register_global_pointer(machine(), waveram[1], WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 8 / sizeof(waveram[1][0]));
/* hack */
- is_mk4b = strcmp(machine.system().name, "mk4b") == 0;
+ is_mk4b = strcmp(machine().system().name, "mk4b") == 0;
}
diff --git a/src/mame/video/midzeus2.c b/src/mame/video/midzeus2.c
index 8da11922639..9f3b242665e 100644
--- a/src/mame/video/midzeus2.c
+++ b/src/mame/video/midzeus2.c
@@ -263,37 +263,37 @@ static TIMER_CALLBACK( int_timer_callback )
}
-VIDEO_START( midzeus2 )
+VIDEO_START_MEMBER(midzeus_state,midzeus2)
{
/* allocate memory for "wave" RAM */
- waveram[0] = auto_alloc_array(machine, UINT32, WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8/4);
- waveram[1] = auto_alloc_array(machine, UINT32, WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 12/4);
+ waveram[0] = auto_alloc_array(machine(), UINT32, WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8/4);
+ waveram[1] = auto_alloc_array(machine(), UINT32, WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 12/4);
/* initialize polygon engine */
- poly = poly_alloc(machine, 10000, sizeof(poly_extra_data), POLYFLAG_ALLOW_QUADS);
+ poly = poly_alloc(machine(), 10000, sizeof(poly_extra_data), POLYFLAG_ALLOW_QUADS);
/* we need to cleanup on exit */
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(exit_handler), &machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(exit_handler), &machine()));
zbase = 2.0f;
yoffs = 0;
texel_width = 256;
zeus_renderbase = waveram[1];
- int_timer = machine.scheduler().timer_alloc(FUNC(int_timer_callback));
+ int_timer = machine().scheduler().timer_alloc(FUNC(int_timer_callback));
/* save states */
- state_save_register_global_pointer(machine, waveram[0], WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8 / sizeof(waveram[0][0]));
- state_save_register_global_pointer(machine, waveram[1], WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 12 / sizeof(waveram[1][0]));
- state_save_register_global_array(machine, zeus_fifo);
- state_save_register_global(machine, zeus_fifo_words);
- state_save_register_global(machine, zeus_cliprect.min_x);
- state_save_register_global(machine, zeus_cliprect.max_x);
- state_save_register_global(machine, zeus_cliprect.min_y);
- state_save_register_global(machine, zeus_cliprect.max_y);
- state_save_register_global_2d_array(machine, zeus_matrix);
- state_save_register_global_array(machine, zeus_point);
- state_save_register_global(machine, zeus_texbase);
+ state_save_register_global_pointer(machine(), waveram[0], WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8 / sizeof(waveram[0][0]));
+ state_save_register_global_pointer(machine(), waveram[1], WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 12 / sizeof(waveram[1][0]));
+ state_save_register_global_array(machine(), zeus_fifo);
+ state_save_register_global(machine(), zeus_fifo_words);
+ state_save_register_global(machine(), zeus_cliprect.min_x);
+ state_save_register_global(machine(), zeus_cliprect.max_x);
+ state_save_register_global(machine(), zeus_cliprect.min_y);
+ state_save_register_global(machine(), zeus_cliprect.max_y);
+ state_save_register_global_2d_array(machine(), zeus_matrix);
+ state_save_register_global_array(machine(), zeus_point);
+ state_save_register_global(machine(), zeus_texbase);
}
diff --git a/src/mame/video/mikie.c b/src/mame/video/mikie.c
index 660c537a46a..f46e6fbac34 100644
--- a/src/mame/video/mikie.c
+++ b/src/mame/video/mikie.c
@@ -26,9 +26,9 @@
***************************************************************************/
-PALETTE_INIT( mikie )
+void mikie_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[4] = { 2200, 1000, 470, 220 };
double rweights[4], gweights[4], bweights[4];
int i;
@@ -40,7 +40,7 @@ PALETTE_INIT( mikie )
4, resistances, bweights, 470, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( mikie )
bit3 = (color_prom[i + 0x200] >> 3) & 0x01;
b = combine_4_weights(bweights, bit0, bit1, bit2, bit3);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table,*/
@@ -83,7 +83,7 @@ PALETTE_INIT( mikie )
for (j = 0; j < 8; j++)
{
UINT8 ctabentry = (j << 5) | ((~i & 0x100) >> 4) | (color_prom[i] & 0x0f);
- colortable_entry_set_value(machine.colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
+ colortable_entry_set_value(machine().colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
}
}
}
@@ -136,10 +136,9 @@ TILE_GET_INFO_MEMBER(mikie_state::get_bg_tile_info)
}
-VIDEO_START( mikie )
+void mikie_state::video_start()
{
- mikie_state *state = machine.driver_data<mikie_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mikie_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mikie_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/mitchell.c b/src/mame/video/mitchell.c
index 3d123f7a132..5bf0acf2eb0 100644
--- a/src/mame/video/mitchell.c
+++ b/src/mame/video/mitchell.c
@@ -33,20 +33,19 @@ TILE_GET_INFO_MEMBER(mitchell_state::get_tile_info)
***************************************************************************/
-VIDEO_START( pang )
+VIDEO_START_MEMBER(mitchell_state,pang)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mitchell_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_transparent_pen(15);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mitchell_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap->set_transparent_pen(15);
/* OBJ RAM */
- state->m_objram = auto_alloc_array_clear(machine, UINT8, state->m_videoram.bytes());
+ m_objram = auto_alloc_array_clear(machine(), UINT8, m_videoram.bytes());
/* Palette RAM */
- state->m_generic_paletteram_8.allocate(2 * machine.total_colors());
+ m_generic_paletteram_8.allocate(2 * machine().total_colors());
- state->save_pointer(NAME(state->m_objram), state->m_videoram.bytes());
+ save_pointer(NAME(m_objram), m_videoram.bytes());
}
diff --git a/src/mame/video/mjkjidai.c b/src/mame/video/mjkjidai.c
index f2bd05964f2..428a6984109 100644
--- a/src/mame/video/mjkjidai.c
+++ b/src/mame/video/mjkjidai.c
@@ -25,10 +25,9 @@ TILE_GET_INFO_MEMBER(mjkjidai_state::get_tile_info)
***************************************************************************/
-VIDEO_START( mjkjidai )
+void mjkjidai_state::video_start()
{
- mjkjidai_state *state = machine.driver_data<mjkjidai_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mjkjidai_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mjkjidai_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
}
diff --git a/src/mame/video/model1.c b/src/mame/video/model1.c
index 5664178f82f..3579b310acd 100644
--- a/src/mame/video/model1.c
+++ b/src/mame/video/model1.c
@@ -1443,27 +1443,26 @@ static void tgp_scan(running_machine &machine)
state->m_render_done = 0;
}
-VIDEO_START(model1)
+VIDEO_START_MEMBER(model1_state,model1)
{
- model1_state *state = machine.driver_data<model1_state>();
- state->m_paletteram16 = state->m_generic_paletteram_16;
+ m_paletteram16 = m_generic_paletteram_16;
- state->m_view = auto_alloc_clear(machine, struct view);
+ m_view = auto_alloc_clear(machine(), struct view);
- state->m_poly_rom = (UINT32 *)state->memregion("user1")->base();
- state->m_poly_ram = auto_alloc_array_clear(machine, UINT32, 0x400000);
- state->m_tgp_ram = auto_alloc_array_clear(machine, UINT16, 0x100000-0x40000);
- state->m_pointdb = auto_alloc_array_clear(machine, struct point, 1000000*2);
- state->m_quaddb = auto_alloc_array_clear(machine, struct quad_m1, 1000000);
- state->m_quadind = auto_alloc_array_clear(machine, struct quad_m1 *, 1000000);
+ m_poly_rom = (UINT32 *)memregion("user1")->base();
+ m_poly_ram = auto_alloc_array_clear(machine(), UINT32, 0x400000);
+ m_tgp_ram = auto_alloc_array_clear(machine(), UINT16, 0x100000-0x40000);
+ m_pointdb = auto_alloc_array_clear(machine(), struct point, 1000000*2);
+ m_quaddb = auto_alloc_array_clear(machine(), struct quad_m1, 1000000);
+ m_quadind = auto_alloc_array_clear(machine(), struct quad_m1 *, 1000000);
- state->m_pointpt = state->m_pointdb;
- state->m_quadpt = state->m_quaddb;
- state->m_listctl[0] = state->m_listctl[1] = 0;
+ m_pointpt = m_pointdb;
+ m_quadpt = m_quaddb;
+ m_listctl[0] = m_listctl[1] = 0;
- state_save_register_global_pointer(machine, state->m_tgp_ram, 0x100000-0x40000);
- state_save_register_global_pointer(machine, state->m_poly_ram, 0x40000);
- state_save_register_global_array(machine, state->m_listctl);
+ state_save_register_global_pointer(machine(), m_tgp_ram, 0x100000-0x40000);
+ state_save_register_global_pointer(machine(), m_poly_ram, 0x40000);
+ state_save_register_global_array(machine(), m_listctl);
}
SCREEN_UPDATE_RGB32(model1)
diff --git a/src/mame/video/model2.c b/src/mame/video/model2.c
index 6ac83320ac1..50328374fa8 100644
--- a/src/mame/video/model2.c
+++ b/src/mame/video/model2.c
@@ -2700,23 +2700,22 @@ static void model2_exit(running_machine &machine)
poly_free(state->m_poly);
}
-VIDEO_START(model2)
+VIDEO_START_MEMBER(model2_state,model2)
{
- model2_state *state = machine.driver_data<model2_state>();
- const rectangle &visarea = machine.primary_screen->visible_area();
+ const rectangle &visarea = machine().primary_screen->visible_area();
int width = visarea.width();
int height = visarea.height();
- state->m_sys24_bitmap.allocate(width, height+4);
+ m_sys24_bitmap.allocate(width, height+4);
- state->m_poly = poly_alloc(machine, 4000, sizeof(poly_extra_data), 0);
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(model2_exit), &machine));
+ m_poly = poly_alloc(machine(), 4000, sizeof(poly_extra_data), 0);
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(model2_exit), &machine()));
/* initialize the hardware rasterizer */
- model2_3d_init( machine, (UINT16*)state->memregion("user3")->base() );
+ model2_3d_init( machine(), (UINT16*)memregion("user3")->base() );
/* initialize the geometry engine */
- geo_init( machine, (UINT32*)state->memregion("user2")->base() );
+ geo_init( machine(), (UINT32*)memregion("user2")->base() );
}
SCREEN_UPDATE_RGB32(model2)
diff --git a/src/mame/video/model3.c b/src/mame/video/model3.c
index 148e1449416..19b9b485843 100644
--- a/src/mame/video/model3.c
+++ b/src/mame/video/model3.c
@@ -114,45 +114,44 @@ static void model3_exit(running_machine &machine)
poly_free(state->m_poly);
}
-VIDEO_START( model3 )
+void model3_state::video_start()
{
- model3_state *state = machine.driver_data<model3_state>();
- state->m_poly = poly_alloc(machine, 4000, sizeof(poly_extra_data), 0);
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(model3_exit), &machine));
+ m_poly = poly_alloc(machine(), 4000, sizeof(poly_extra_data), 0);
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(model3_exit), &machine()));
- machine.primary_screen->register_screen_bitmap(state->m_bitmap3d);
- machine.primary_screen->register_screen_bitmap(state->m_zbuffer);
+ machine().primary_screen->register_screen_bitmap(m_bitmap3d);
+ machine().primary_screen->register_screen_bitmap(m_zbuffer);
- state->m_m3_char_ram = auto_alloc_array_clear(machine, UINT64, 0x100000/8);
- state->m_m3_tile_ram = auto_alloc_array_clear(machine, UINT64, 0x8000/8);
+ m_m3_char_ram = auto_alloc_array_clear(machine(), UINT64, 0x100000/8);
+ m_m3_tile_ram = auto_alloc_array_clear(machine(), UINT64, 0x8000/8);
- state->m_pal_lookup = auto_alloc_array_clear(machine, UINT16, 65536);
+ m_pal_lookup = auto_alloc_array_clear(machine(), UINT16, 65536);
- state->m_texture_fifo = auto_alloc_array_clear(machine, UINT32, 0x100000/4);
+ m_texture_fifo = auto_alloc_array_clear(machine(), UINT32, 0x100000/4);
/* 2x 4MB texture sheets */
- state->m_texture_ram[0] = auto_alloc_array(machine, UINT16, 0x400000/2);
- state->m_texture_ram[1] = auto_alloc_array(machine, UINT16, 0x400000/2);
+ m_texture_ram[0] = auto_alloc_array(machine(), UINT16, 0x400000/2);
+ m_texture_ram[1] = auto_alloc_array(machine(), UINT16, 0x400000/2);
/* 1MB Display List RAM */
- state->m_display_list_ram = auto_alloc_array_clear(machine, UINT32, 0x100000/4);
+ m_display_list_ram = auto_alloc_array_clear(machine(), UINT32, 0x100000/4);
/* 4MB for nodes (< Step 2.0 have only 2MB) */
- state->m_culling_ram = auto_alloc_array_clear(machine, UINT32, 0x400000/4);
+ m_culling_ram = auto_alloc_array_clear(machine(), UINT32, 0x400000/4);
/* 4MB Polygon RAM */
- state->m_polygon_ram = auto_alloc_array_clear(machine, UINT32, 0x400000/4);
+ m_polygon_ram = auto_alloc_array_clear(machine(), UINT32, 0x400000/4);
- state->m_tick = 0;
- state->m_debug_layer_disable = 0;
- state->m_vid_reg0 = 0;
+ m_tick = 0;
+ m_debug_layer_disable = 0;
+ m_vid_reg0 = 0;
- state->m_viewport_focal_length = 300.;
- state->m_viewport_region_x = 0;
- state->m_viewport_region_y = 0;
- state->m_viewport_region_width = 496;
- state->m_viewport_region_height = 384;
+ m_viewport_focal_length = 300.;
+ m_viewport_region_x = 0;
+ m_viewport_region_y = 0;
+ m_viewport_region_width = 496;
+ m_viewport_region_height = 384;
- init_matrix_stack(machine);
+ init_matrix_stack(machine());
}
static void draw_tile_4bit(running_machine &machine, bitmap_ind16 &bitmap, int tx, int ty, int tilenum)
diff --git a/src/mame/video/moo.c b/src/mame/video/moo.c
index d8dd4619b78..459d61b2ca0 100644
--- a/src/mame/video/moo.c
+++ b/src/mame/video/moo.c
@@ -35,31 +35,30 @@ void moo_tile_callback( running_machine &machine, int layer, int *code, int *col
*color = state->m_layer_colorbase[layer] | (*color >> 2 & 0x0f);
}
-VIDEO_START(moo)
+VIDEO_START_MEMBER(moo_state,moo)
{
- moo_state *state = machine.driver_data<moo_state>();
- assert(machine.primary_screen->format() == BITMAP_FORMAT_RGB32);
+ assert(machine().primary_screen->format() == BITMAP_FORMAT_RGB32);
- state->m_alpha_enabled = 0;
+ m_alpha_enabled = 0;
- if (!strcmp(machine.system().name, "bucky") || !strcmp(machine.system().name, "buckyua") || !strcmp(machine.system().name, "buckyaa"))
+ if (!strcmp(machine().system().name, "bucky") || !strcmp(machine().system().name, "buckyua") || !strcmp(machine().system().name, "buckyaa"))
{
// Bucky doesn't chain tilemaps
- k056832_set_layer_association(state->m_k056832, 0);
+ k056832_set_layer_association(m_k056832, 0);
- k056832_set_layer_offs(state->m_k056832, 0, -2, 0);
- k056832_set_layer_offs(state->m_k056832, 1, 2, 0);
- k056832_set_layer_offs(state->m_k056832, 2, 4, 0);
- k056832_set_layer_offs(state->m_k056832, 3, 6, 0);
+ k056832_set_layer_offs(m_k056832, 0, -2, 0);
+ k056832_set_layer_offs(m_k056832, 1, 2, 0);
+ k056832_set_layer_offs(m_k056832, 2, 4, 0);
+ k056832_set_layer_offs(m_k056832, 3, 6, 0);
}
else
{
// other than the intro showing one blank line alignment is good through the game
- k056832_set_layer_offs(state->m_k056832, 0, -2 + 1, 0);
- k056832_set_layer_offs(state->m_k056832, 1, 2 + 1, 0);
- k056832_set_layer_offs(state->m_k056832, 2, 4 + 1, 0);
- k056832_set_layer_offs(state->m_k056832, 3, 6 + 1, 0);
+ k056832_set_layer_offs(m_k056832, 0, -2 + 1, 0);
+ k056832_set_layer_offs(m_k056832, 1, 2 + 1, 0);
+ k056832_set_layer_offs(m_k056832, 2, 4 + 1, 0);
+ k056832_set_layer_offs(m_k056832, 3, 6 + 1, 0);
}
}
diff --git a/src/mame/video/mosaic.c b/src/mame/video/mosaic.c
index 0be63e44352..e3a6b81cd6f 100644
--- a/src/mame/video/mosaic.c
+++ b/src/mame/video/mosaic.c
@@ -43,14 +43,13 @@ TILE_GET_INFO_MEMBER(mosaic_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( mosaic )
+void mosaic_state::video_start()
{
- mosaic_state *state = machine.driver_data<mosaic_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mosaic_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mosaic_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mosaic_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mosaic_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(0xff);
+ m_fg_tilemap->set_transparent_pen(0xff);
}
diff --git a/src/mame/video/mouser.c b/src/mame/video/mouser.c
index fb578c4152e..853dab65e28 100644
--- a/src/mame/video/mouser.c
+++ b/src/mame/video/mouser.c
@@ -16,12 +16,12 @@
#include "emu.h"
#include "includes/mouser.h"
-PALETTE_INIT( mouser )
+void mouser_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -40,7 +40,7 @@ PALETTE_INIT( mouser )
bit1 = BIT(*color_prom, 7);
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
diff --git a/src/mame/video/mrdo.c b/src/mame/video/mrdo.c
index 697d78749f7..9571144b4ac 100644
--- a/src/mame/video/mrdo.c
+++ b/src/mame/video/mrdo.c
@@ -42,9 +42,9 @@
***************************************************************************/
-PALETTE_INIT( mrdo )
+void mrdo_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
const int R1 = 150;
@@ -76,7 +76,7 @@ PALETTE_INIT( mrdo )
}
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
for (i = 0; i < 0x100; i++)
{
@@ -102,7 +102,7 @@ PALETTE_INIT( mrdo )
bits2 = (color_prom[a2] >> 4) & 0x03;
b = weight[bits0 + (bits2 << 2)];
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -110,7 +110,7 @@ PALETTE_INIT( mrdo )
/* characters */
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprites */
for (i = 0x100; i < 0x140; i++)
@@ -122,7 +122,7 @@ PALETTE_INIT( mrdo )
else
ctabentry &= 0x0f; /* low 4 bits are for sprite color n */
- colortable_entry_set_value(machine.colortable, i, ctabentry + ((ctabentry & 0x0c) << 3));
+ colortable_entry_set_value(machine().colortable, i, ctabentry + ((ctabentry & 0x0c) << 3));
}
}
@@ -162,24 +162,23 @@ TILE_GET_INFO_MEMBER(mrdo_state::get_fg_tile_info)
***************************************************************************/
-VIDEO_START( mrdo )
+void mrdo_state::video_start()
{
- mrdo_state *state = machine.driver_data<mrdo_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mrdo_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mrdo_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mrdo_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mrdo_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(0, 56);
- state->m_fg_tilemap->set_scrolldx(0, 56);
- state->m_bg_tilemap->set_scrolldy(0, 6);
- state->m_fg_tilemap->set_scrolldy(0, 6);
+ m_bg_tilemap->set_scrolldx(0, 56);
+ m_fg_tilemap->set_scrolldx(0, 56);
+ m_bg_tilemap->set_scrolldy(0, 6);
+ m_fg_tilemap->set_scrolldy(0, 6);
- state->m_flipscreen = 0;
+ m_flipscreen = 0;
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_flipscreen));
}
diff --git a/src/mame/video/mrjong.c b/src/mame/video/mrjong.c
index 492a5ed624c..79d7aa15acf 100644
--- a/src/mame/video/mrjong.c
+++ b/src/mame/video/mrjong.c
@@ -16,13 +16,13 @@
***************************************************************************/
-PALETTE_INIT( mrjong )
+void mrjong_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x10);
+ machine().colortable = colortable_alloc(machine(), 0x10);
/* create a lookup table for the palette */
for (i = 0; i < 0x10; i++)
@@ -48,7 +48,7 @@ PALETTE_INIT( mrjong )
bit2 = BIT(color_prom[i], 7);
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -58,7 +58,7 @@ PALETTE_INIT( mrjong )
for (i = 0; i < 0x80; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -99,10 +99,9 @@ TILE_GET_INFO_MEMBER(mrjong_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( mrjong )
+void mrjong_state::video_start()
{
- mrjong_state *state = machine.driver_data<mrjong_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mrjong_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_XY, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mrjong_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS_FLIP_XY, 8, 8, 32, 32);
}
/*
diff --git a/src/mame/video/ms32.c b/src/mame/video/ms32.c
index de19af46efc..f575e79ab17 100644
--- a/src/mame/video/ms32.c
+++ b/src/mame/video/ms32.c
@@ -62,60 +62,58 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_extra_tile_info)
-VIDEO_START( ms32 )
+void ms32_state::video_start()
{
- ms32_state *state = machine.driver_data<ms32_state>();
- state->m_priram_8 = auto_alloc_array_clear(machine, UINT8, 0x2000);
- state->m_palram_16 = auto_alloc_array_clear(machine, UINT16, 0x20000);
- state->m_rozram_16 = auto_alloc_array_clear(machine, UINT16, 0x10000);
- state->m_lineram_16 = auto_alloc_array_clear(machine, UINT16, 0x1000);
- state->m_sprram_16 = auto_alloc_array_clear(machine, UINT16, 0x20000);
- state->m_bgram_16 = auto_alloc_array_clear(machine, UINT16, 0x4000);
- state->m_txram_16 = auto_alloc_array_clear(machine, UINT16, 0x4000);
+ m_priram_8 = auto_alloc_array_clear(machine(), UINT8, 0x2000);
+ m_palram_16 = auto_alloc_array_clear(machine(), UINT16, 0x20000);
+ m_rozram_16 = auto_alloc_array_clear(machine(), UINT16, 0x10000);
+ m_lineram_16 = auto_alloc_array_clear(machine(), UINT16, 0x1000);
+ m_sprram_16 = auto_alloc_array_clear(machine(), UINT16, 0x20000);
+ m_bgram_16 = auto_alloc_array_clear(machine(), UINT16, 0x4000);
+ m_txram_16 = auto_alloc_array_clear(machine(), UINT16, 0x4000);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_tx_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,64,64);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_bg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,64);
- state->m_bg_tilemap_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_bg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,256,16); // alt layout, controller by register?
- state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_roz_tile_info),state),TILEMAP_SCAN_ROWS,16,16,128,128);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_tx_tile_info),this),TILEMAP_SCAN_ROWS,8, 8,64,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_bg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,64);
+ m_bg_tilemap_alt = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_bg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,256,16); // alt layout, controller by register?
+ m_roz_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_roz_tile_info),this),TILEMAP_SCAN_ROWS,16,16,128,128);
/* set up tile layers */
- machine.primary_screen->register_screen_bitmap(state->m_temp_bitmap_tilemaps);
- machine.primary_screen->register_screen_bitmap(state->m_temp_bitmap_sprites);
- machine.primary_screen->register_screen_bitmap(state->m_temp_bitmap_sprites_pri); // not actually being used for rendering, we embed pri info in the raw colour bitmap
+ machine().primary_screen->register_screen_bitmap(m_temp_bitmap_tilemaps);
+ machine().primary_screen->register_screen_bitmap(m_temp_bitmap_sprites);
+ machine().primary_screen->register_screen_bitmap(m_temp_bitmap_sprites_pri); // not actually being used for rendering, we embed pri info in the raw colour bitmap
- state->m_temp_bitmap_tilemaps.fill(0);
- state->m_temp_bitmap_sprites.fill(0);
- state->m_temp_bitmap_sprites_pri.fill(0);
+ m_temp_bitmap_tilemaps.fill(0);
+ m_temp_bitmap_sprites.fill(0);
+ m_temp_bitmap_sprites_pri.fill(0);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap_alt->set_transparent_pen(0);
- state->m_roz_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap_alt->set_transparent_pen(0);
+ m_roz_tilemap->set_transparent_pen(0);
- state->m_reverse_sprite_order = 1;
+ m_reverse_sprite_order = 1;
/* i hate per game patches...how should priority really work? tetrisp2.c ? i can't follow it */
- if (!strcmp(machine.system().name,"kirarast")) state->m_reverse_sprite_order = 0;
- if (!strcmp(machine.system().name,"tp2m32")) state->m_reverse_sprite_order = 0;
- if (!strcmp(machine.system().name,"47pie2")) state->m_reverse_sprite_order = 0;
- if (!strcmp(machine.system().name,"47pie2o")) state->m_reverse_sprite_order = 0;
- if (!strcmp(machine.system().name,"hayaosi3")) state->m_reverse_sprite_order = 0;
- if (!strcmp(machine.system().name,"bnstars")) state->m_reverse_sprite_order = 0;
- if (!strcmp(machine.system().name,"wpksocv2")) state->m_reverse_sprite_order = 0;
+ if (!strcmp(machine().system().name,"kirarast")) m_reverse_sprite_order = 0;
+ if (!strcmp(machine().system().name,"tp2m32")) m_reverse_sprite_order = 0;
+ if (!strcmp(machine().system().name,"47pie2")) m_reverse_sprite_order = 0;
+ if (!strcmp(machine().system().name,"47pie2o")) m_reverse_sprite_order = 0;
+ if (!strcmp(machine().system().name,"hayaosi3")) m_reverse_sprite_order = 0;
+ if (!strcmp(machine().system().name,"bnstars")) m_reverse_sprite_order = 0;
+ if (!strcmp(machine().system().name,"wpksocv2")) m_reverse_sprite_order = 0;
// tp2m32 doesn't set the brightness registers so we need sensible defaults
- state->m_brt[0] = state->m_brt[1] = 0xffff;
+ m_brt[0] = m_brt[1] = 0xffff;
}
-VIDEO_START( f1superb )
+VIDEO_START_MEMBER(ms32_state,f1superb)
{
- ms32_state *state = machine.driver_data<ms32_state>();
- VIDEO_START_CALL( ms32 );
+ ms32_state::video_start();
- state->m_f1superb_extraram_16 = auto_alloc_array_clear(machine, UINT16, 0x10000);
- state->m_extra_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_extra_tile_info),state),TILEMAP_SCAN_ROWS,2048,1,1,0x400);
+ m_f1superb_extraram_16 = auto_alloc_array_clear(machine(), UINT16, 0x10000);
+ m_extra_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_extra_tile_info),this),TILEMAP_SCAN_ROWS,2048,1,1,0x400);
}
diff --git a/src/mame/video/msisaac.c b/src/mame/video/msisaac.c
index 44adf40b55d..a942a2bcee5 100644
--- a/src/mame/video/msisaac.c
+++ b/src/mame/video/msisaac.c
@@ -49,15 +49,14 @@ TILE_GET_INFO_MEMBER(msisaac_state::get_bg2_tile_info)
***************************************************************************/
-VIDEO_START( msisaac )
+void msisaac_state::video_start()
{
- msisaac_state *state = machine.driver_data<msisaac_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(msisaac_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(msisaac_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(msisaac_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(msisaac_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(msisaac_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(msisaac_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg2_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg2_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/mugsmash.c b/src/mame/video/mugsmash.c
index f3633646ca3..556d3a2a785 100644
--- a/src/mame/video/mugsmash.c
+++ b/src/mame/video/mugsmash.c
@@ -136,14 +136,13 @@ WRITE16_MEMBER(mugsmash_state::mugsmash_reg_w)
}
}
-VIDEO_START( mugsmash )
+void mugsmash_state::video_start()
{
- mugsmash_state *state = machine.driver_data<mugsmash_state>();
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mugsmash_state::get_mugsmash_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap1->set_transparent_pen(0);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mugsmash_state::get_mugsmash_tile_info1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap1->set_transparent_pen(0);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mugsmash_state::get_mugsmash_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mugsmash_state::get_mugsmash_tile_info2),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
}
SCREEN_UPDATE_IND16( mugsmash )
diff --git a/src/mame/video/munchmo.c b/src/mame/video/munchmo.c
index 32b341d6ee7..70931efb84b 100644
--- a/src/mame/video/munchmo.c
+++ b/src/mame/video/munchmo.c
@@ -2,12 +2,12 @@
#include "includes/munchmo.h"
-PALETTE_INIT( mnchmobl )
+void munchmo_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -26,7 +26,7 @@ PALETTE_INIT( mnchmobl )
bit1 = BIT(color_prom[i], 7);
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -41,10 +41,9 @@ WRITE8_MEMBER(munchmo_state::mnchmobl_flipscreen_w)
}
-VIDEO_START( mnchmobl )
+void munchmo_state::video_start()
{
- munchmo_state *state = machine.driver_data<munchmo_state>();
- state->m_tmpbitmap = auto_bitmap_ind16_alloc(machine, 512, 512);
+ m_tmpbitmap = auto_bitmap_ind16_alloc(machine(), 512, 512);
}
static void draw_status( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/mustache.c b/src/mame/video/mustache.c
index edea4a79b86..579243c565e 100644
--- a/src/mame/video/mustache.c
+++ b/src/mame/video/mustache.c
@@ -10,9 +10,9 @@
#include "includes/mustache.h"
-PALETTE_INIT(mustache)
+void mustache_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0;i < 256;i++)
@@ -40,7 +40,7 @@ PALETTE_INIT(mustache)
bit3 = (color_prom[i + 512] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -88,13 +88,12 @@ TILE_GET_INFO_MEMBER(mustache_state::get_bg_tile_info)
}
-VIDEO_START( mustache )
+void mustache_state::video_start()
{
- mustache_state *state = machine.driver_data<mustache_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mustache_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mustache_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS_FLIP_X,
8, 8, 64, 32);
- state->m_bg_tilemap->set_scroll_rows(4);
+ m_bg_tilemap->set_scroll_rows(4);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/mystston.c b/src/mame/video/mystston.c
index c2171935e24..fcc5727ba58 100644
--- a/src/mame/video/mystston.c
+++ b/src/mame/video/mystston.c
@@ -215,17 +215,16 @@ static void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_el
*
*************************************/
-static VIDEO_START( mystston )
+VIDEO_START_MEMBER(mystston_state,mystston)
{
- mystston_state *state = machine.driver_data<mystston_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mystston_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mystston_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mystston_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mystston_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
/* create the interrupt timer */
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(interrupt_callback));
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(interrupt_callback));
}
@@ -236,11 +235,10 @@ static VIDEO_START( mystston )
*
*************************************/
-static VIDEO_RESET( mystston )
+VIDEO_RESET_MEMBER(mystston_state,mystston)
{
- mystston_state *state = machine.driver_data<mystston_state>();
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(FIRST_INT_VPOS - 1, INT_HPOS), FIRST_INT_VPOS);
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(FIRST_INT_VPOS - 1, INT_HPOS), FIRST_INT_VPOS);
}
@@ -319,8 +317,8 @@ GFXDECODE_END
*************************************/
MACHINE_CONFIG_FRAGMENT( mystston_video )
- MCFG_VIDEO_START(mystston)
- MCFG_VIDEO_RESET(mystston)
+ MCFG_VIDEO_START_OVERRIDE(mystston_state,mystston)
+ MCFG_VIDEO_RESET_OVERRIDE(mystston_state,mystston)
MCFG_GFXDECODE(mystston)
MCFG_PALETTE_LENGTH(0x40)
diff --git a/src/mame/video/mystwarr.c b/src/mame/video/mystwarr.c
index 5f4658fbb57..93234ff27de 100644
--- a/src/mame/video/mystwarr.c
+++ b/src/mame/video/mystwarr.c
@@ -160,21 +160,20 @@ TILE_GET_INFO_MEMBER(mystwarr_state::get_gai_936_tile_info)
SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
}
-VIDEO_START(gaiapols)
+VIDEO_START_MEMBER(mystwarr_state,gaiapols)
{
- mystwarr_state *state = machine.driver_data<mystwarr_state>();
- K055555_vh_start(machine);
- K054338_vh_start(machine);
+ K055555_vh_start(machine());
+ K054338_vh_start(machine());
- state->m_gametype = 0;
+ m_gametype = 0;
- K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, game4bpp_tile_callback, 0);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_5, 0, NULL, game4bpp_tile_callback, 0);
- mystwarr_decode_tiles(machine);
+ mystwarr_decode_tiles(machine());
- K055673_vh_start(machine, "gfx2", 1, -61, -22, gaiapols_sprite_callback); // stage2 brick walls
+ K055673_vh_start(machine(), "gfx2", 1, -61, -22, gaiapols_sprite_callback); // stage2 brick walls
- konamigx_mixer_init(machine, 0);
+ konamigx_mixer_init(machine(), 0);
K056832_set_LayerOffset(0, -2+2-1, 0-1);
K056832_set_LayerOffset(1, 0+2, 0);
@@ -184,8 +183,8 @@ VIDEO_START(gaiapols)
K053936_wraparound_enable(0, 1);
K053936GP_set_offset(0, -10, 0); // floor tiles in demo loop2 (Elaine vs. boss)
- state->m_ult_936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mystwarr_state::get_gai_936_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
- state->m_ult_936_tilemap->set_transparent_pen(0);
+ m_ult_936_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mystwarr_state::get_gai_936_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
+ m_ult_936_tilemap->set_transparent_pen(0);
}
TILE_GET_INFO_MEMBER(mystwarr_state::get_ult_936_tile_info)
@@ -201,21 +200,20 @@ TILE_GET_INFO_MEMBER(mystwarr_state::get_ult_936_tile_info)
SET_TILE_INFO_MEMBER(0, tileno, colour, (dat1[tile_index]&0x40) ? TILE_FLIPX : 0);
}
-VIDEO_START(dadandrn)
+VIDEO_START_MEMBER(mystwarr_state,dadandrn)
{
- mystwarr_state *state = machine.driver_data<mystwarr_state>();
- K055555_vh_start(machine);
- K054338_vh_start(machine);
+ K055555_vh_start(machine());
+ K054338_vh_start(machine());
- state->m_gametype = 1;
+ m_gametype = 1;
- K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, game5bpp_tile_callback, 0);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_5, 0, NULL, game5bpp_tile_callback, 0);
- mystwarr_decode_tiles(machine);
+ mystwarr_decode_tiles(machine());
- K055673_vh_start(machine, "gfx2", 0, -42, -22, gaiapols_sprite_callback);
+ K055673_vh_start(machine(), "gfx2", 0, -42, -22, gaiapols_sprite_callback);
- konamigx_mixer_init(machine, 0);
+ konamigx_mixer_init(machine(), 0);
konamigx_mixer_primode(1);
@@ -227,50 +225,48 @@ VIDEO_START(dadandrn)
K053936_wraparound_enable(0, 1);
K053936GP_set_offset(0, -8, 0); // Brainy's laser
- state->m_ult_936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mystwarr_state::get_ult_936_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
- state->m_ult_936_tilemap->set_transparent_pen(0);
+ m_ult_936_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(mystwarr_state::get_ult_936_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
+ m_ult_936_tilemap->set_transparent_pen(0);
}
-VIDEO_START(mystwarr)
+VIDEO_START_MEMBER(mystwarr_state,mystwarr)
{
- mystwarr_state *state = machine.driver_data<mystwarr_state>();
- K055555_vh_start(machine);
- K054338_vh_start(machine);
+ K055555_vh_start(machine());
+ K054338_vh_start(machine());
- state->m_gametype = 0;
+ m_gametype = 0;
- K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, mystwarr_tile_callback, 0);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_5, 0, NULL, mystwarr_tile_callback, 0);
- mystwarr_decode_tiles(machine);
+ mystwarr_decode_tiles(machine());
- K055673_vh_start(machine, "gfx2", 0, -48, -24, mystwarr_sprite_callback);
+ K055673_vh_start(machine(), "gfx2", 0, -48, -24, mystwarr_sprite_callback);
- konamigx_mixer_init(machine, 0);
+ konamigx_mixer_init(machine(), 0);
K056832_set_LayerOffset(0, -2-3, 0);
K056832_set_LayerOffset(1, 0-3, 0);
K056832_set_LayerOffset(2, 2-3, 0);
K056832_set_LayerOffset(3, 3-3, 0);
- state->m_cbparam = 0;
+ m_cbparam = 0;
}
-VIDEO_START(metamrph)
+VIDEO_START_MEMBER(mystwarr_state,metamrph)
{
- mystwarr_state *state = machine.driver_data<mystwarr_state>();
- state->m_gametype = 0;
+ m_gametype = 0;
- K055555_vh_start(machine);
- K054338_vh_start(machine);
+ K055555_vh_start(machine());
+ K054338_vh_start(machine());
- K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, game4bpp_tile_callback, 0);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_5, 0, NULL, game4bpp_tile_callback, 0);
- mystwarr_decode_tiles(machine);
+ mystwarr_decode_tiles(machine());
- K055673_vh_start(machine, "gfx2", 1, -51, -22, metamrph_sprite_callback);
+ K055673_vh_start(machine(), "gfx2", 1, -51, -22, metamrph_sprite_callback);
- konamigx_mixer_init(machine, 0);
+ konamigx_mixer_init(machine(), 0);
// other reference, floor at first boss
K056832_set_LayerOffset(0, -2+4, 0); // text
@@ -279,21 +275,20 @@ VIDEO_START(metamrph)
K056832_set_LayerOffset(3, 3+4, 0); // attract sky background to sea
}
-VIDEO_START(viostorm)
+VIDEO_START_MEMBER(mystwarr_state,viostorm)
{
- mystwarr_state *state = machine.driver_data<mystwarr_state>();
- state->m_gametype = 0;
+ m_gametype = 0;
- K055555_vh_start(machine);
- K054338_vh_start(machine);
+ K055555_vh_start(machine());
+ K054338_vh_start(machine());
- K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, game4bpp_tile_callback, 0);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_5, 0, NULL, game4bpp_tile_callback, 0);
- mystwarr_decode_tiles(machine);
+ mystwarr_decode_tiles(machine());
- K055673_vh_start(machine, "gfx2", 1, -62, -23, metamrph_sprite_callback);
+ K055673_vh_start(machine(), "gfx2", 1, -62, -23, metamrph_sprite_callback);
- konamigx_mixer_init(machine, 0);
+ konamigx_mixer_init(machine(), 0);
K056832_set_LayerOffset(0, -2+1, 0);
K056832_set_LayerOffset(1, 0+1, 0);
@@ -301,21 +296,20 @@ VIDEO_START(viostorm)
K056832_set_LayerOffset(3, 3+1, 0);
}
-VIDEO_START(martchmp)
+VIDEO_START_MEMBER(mystwarr_state,martchmp)
{
- mystwarr_state *state = machine.driver_data<mystwarr_state>();
- state->m_gametype = 0;
+ m_gametype = 0;
- K055555_vh_start(machine);
- K054338_vh_start(machine);
+ K055555_vh_start(machine());
+ K054338_vh_start(machine());
- K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, game5bpp_tile_callback, 0);
+ K056832_vh_start(machine(), "gfx1", K056832_BPP_5, 0, NULL, game5bpp_tile_callback, 0);
- mystwarr_decode_tiles(machine);
+ mystwarr_decode_tiles(machine());
- K055673_vh_start(machine, "gfx2", 0, -58, -23, martchmp_sprite_callback);
+ K055673_vh_start(machine(), "gfx2", 0, -58, -23, martchmp_sprite_callback);
- konamigx_mixer_init(machine, 0);
+ konamigx_mixer_init(machine(), 0);
K056832_set_LayerOffset(0, -2-4, 0);
K056832_set_LayerOffset(1, 0-4, 0);
diff --git a/src/mame/video/n64.c b/src/mame/video/n64.c
index 17d6cfb0054..f66ee4d9820 100644
--- a/src/mame/video/n64.c
+++ b/src/mame/video/n64.c
@@ -3826,21 +3826,20 @@ n64_rdp::n64_rdp(n64_state &state) : poly_manager<UINT32, rdp_poly_state, 8, 320
_Fill[1] = &n64_rdp::_Fill32Bit;
}
-VIDEO_START(n64)
+void n64_state::video_start()
{
- n64_state *state = machine.driver_data<n64_state>();
- state->m_rdp = auto_alloc(machine, n64_rdp(*state));
+ m_rdp = auto_alloc(machine(), n64_rdp(*this));
- state->m_rdp->SetMachine(machine);
- state->m_rdp->InitInternalState();
+ m_rdp->SetMachine(machine());
+ m_rdp->InitInternalState();
- state->m_rdp->Blender.SetMachine(machine);
- state->m_rdp->Blender.SetProcessor(state->m_rdp);
+ m_rdp->Blender.SetMachine(machine());
+ m_rdp->Blender.SetProcessor(m_rdp);
- state->m_rdp->TexPipe.SetMachine(machine);
+ m_rdp->TexPipe.SetMachine(machine());
- state->m_rdp->AuxBuf = auto_alloc_array_clear(machine, UINT8, EXTENT_AUX_COUNT);
+ m_rdp->AuxBuf = auto_alloc_array_clear(machine(), UINT8, EXTENT_AUX_COUNT);
if (LOG_RDP_EXECUTION)
{
diff --git a/src/mame/video/n8080.c b/src/mame/video/n8080.c
index 906eaf09f8e..92d8e068595 100644
--- a/src/mame/video/n8080.c
+++ b/src/mame/video/n8080.c
@@ -17,30 +17,30 @@ WRITE8_MEMBER(n8080_state::n8080_video_control_w)
}
-PALETTE_INIT( n8080 )
+PALETTE_INIT_MEMBER(n8080_state,n8080)
{
int i;
for (i = 0; i < 8; i++)
- palette_set_color_rgb(machine, i, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
+ palette_set_color_rgb(machine(), i, pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
}
-PALETTE_INIT( helifire )
+PALETTE_INIT_MEMBER(n8080_state,helifire)
{
int i;
- PALETTE_INIT_CALL(n8080);
+ PALETTE_INIT_CALL_MEMBER(n8080);
for (i = 0; i < 0x100; i++)
{
int level = 0xff * exp(-3 * i / 255.); /* capacitor discharge */
- palette_set_color(machine, 0x000 + 8 + i, MAKE_RGB(0x00, 0x00, level)); /* shades of blue */
- palette_set_color(machine, 0x100 + 8 + i, MAKE_RGB(0x00, 0xC0, level)); /* shades of blue w/ green star */
+ palette_set_color(machine(), 0x000 + 8 + i, MAKE_RGB(0x00, 0x00, level)); /* shades of blue */
+ palette_set_color(machine(), 0x100 + 8 + i, MAKE_RGB(0x00, 0xC0, level)); /* shades of blue w/ green star */
- palette_set_color(machine, 0x200 + 8 + i, MAKE_RGB(level, 0x00, 0x00)); /* shades of red */
- palette_set_color(machine, 0x300 + 8 + i, MAKE_RGB(level, 0xC0, 0x00)); /* shades of red w/ green star */
+ palette_set_color(machine(), 0x200 + 8 + i, MAKE_RGB(level, 0x00, 0x00)); /* shades of red */
+ palette_set_color(machine(), 0x300 + 8 + i, MAKE_RGB(level, 0xC0, 0x00)); /* shades of red w/ green star */
}
}
@@ -88,40 +88,37 @@ static void helifire_next_line( running_machine &machine )
}
-VIDEO_START( spacefev )
+VIDEO_START_MEMBER(n8080_state,spacefev)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->m_cannon_timer = machine.scheduler().timer_alloc(FUNC(spacefev_stop_red_cannon));
+ m_cannon_timer = machine().scheduler().timer_alloc(FUNC(spacefev_stop_red_cannon));
- state->flip_screen_set_no_update(0);
+ flip_screen_set_no_update(0);
- state->save_item(NAME(state->m_spacefev_red_screen));
- state->save_item(NAME(state->m_spacefev_red_cannon));
+ save_item(NAME(m_spacefev_red_screen));
+ save_item(NAME(m_spacefev_red_cannon));
}
-VIDEO_START( sheriff )
+VIDEO_START_MEMBER(n8080_state,sheriff)
{
- n8080_state *state = machine.driver_data<n8080_state>();
- state->flip_screen_set_no_update(0);
+ flip_screen_set_no_update(0);
- state->save_item(NAME(state->m_sheriff_color_mode));
- state->save_item(NAME(state->m_sheriff_color_data));
+ save_item(NAME(m_sheriff_color_mode));
+ save_item(NAME(m_sheriff_color_data));
}
-VIDEO_START( helifire )
+VIDEO_START_MEMBER(n8080_state,helifire)
{
- n8080_state *state = machine.driver_data<n8080_state>();
UINT8 data = 0;
int i;
- state->save_item(NAME(state->m_helifire_mv));
- state->save_item(NAME(state->m_helifire_sc));
- state->save_item(NAME(state->m_helifire_flash));
- state->save_item(NAME(state->m_helifire_LSFR));
+ save_item(NAME(m_helifire_mv));
+ save_item(NAME(m_helifire_sc));
+ save_item(NAME(m_helifire_flash));
+ save_item(NAME(m_helifire_LSFR));
for (i = 0; i < 63; i++)
{
@@ -131,10 +128,10 @@ VIDEO_START( helifire )
data = (data << 1) | (bit & 1);
- state->m_helifire_LSFR[i] = data;
+ m_helifire_LSFR[i] = data;
}
- state->flip_screen_set_no_update(0);
+ flip_screen_set_no_update(0);
}
diff --git a/src/mame/video/namcofl.c b/src/mame/video/namcofl.c
index 5472df98243..3db44a24ddf 100644
--- a/src/mame/video/namcofl.c
+++ b/src/mame/video/namcofl.c
@@ -117,10 +117,9 @@ static int FLobjcode2tile( running_machine &machine, int code )
return code;
}
-VIDEO_START( namcofl )
+VIDEO_START_MEMBER(namcofl_state,namcofl)
{
- namcofl_state *state = machine.driver_data<namcofl_state>();
- state->namco_tilemap_init(NAMCOFL_TILEGFX, machine.root_device().memregion(NAMCOFL_TILEMASKREGION)->base(), TilemapCB );
- state->c355_obj_init(NAMCOFL_SPRITEGFX,0x0,namcos2_shared_state::c355_obj_code2tile_delegate(FUNC(FLobjcode2tile), &machine));
- state->c169_roz_init(NAMCOFL_ROTGFX,NAMCOFL_ROTMASKREGION);
+ namco_tilemap_init(NAMCOFL_TILEGFX, machine().root_device().memregion(NAMCOFL_TILEMASKREGION)->base(), TilemapCB );
+ c355_obj_init(NAMCOFL_SPRITEGFX,0x0,namcos2_shared_state::c355_obj_code2tile_delegate(FUNC(FLobjcode2tile), &machine()));
+ c169_roz_init(NAMCOFL_ROTGFX,NAMCOFL_ROTMASKREGION);
}
diff --git a/src/mame/video/namcona1.c b/src/mame/video/namcona1.c
index 7bab78b5cc5..36563f09815 100644
--- a/src/mame/video/namcona1.c
+++ b/src/mame/video/namcona1.c
@@ -275,32 +275,31 @@ static void UpdateGfx(running_machine &machine)
{
} /* UpdateGfx */
-VIDEO_START( namcona1 )
+void namcona1_state::video_start()
{
- namcona1_state *state = machine.driver_data<namcona1_state>();
static const tilemap_get_info_delegate get_info[4] = {
- tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info0),state),
- tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info1),state),
- tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info2),state),
- tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info3),state)
+ tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info0),this),
+ tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info1),this),
+ tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info2),this),
+ tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info3),this)
};
int i;
- state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcona1_state::roz_get_info),state), TILEMAP_SCAN_ROWS, 8,8,64,64 );
- state->m_roz_palette = -1;
+ m_roz_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcona1_state::roz_get_info),this), TILEMAP_SCAN_ROWS, 8,8,64,64 );
+ m_roz_palette = -1;
for( i=0; i<NAMCONA1_NUM_TILEMAPS; i++ )
{
- state->m_bg_tilemap[i] = &machine.tilemap().create(get_info[i], TILEMAP_SCAN_ROWS, 8,8,64,64 );
- state->m_tilemap_palette_bank[i] = -1;
+ m_bg_tilemap[i] = &machine().tilemap().create(get_info[i], TILEMAP_SCAN_ROWS, 8,8,64,64 );
+ m_tilemap_palette_bank[i] = -1;
}
- state->m_shaperam = auto_alloc_array(machine, UINT16, 0x2000*4/2 );
- state->m_cgram = auto_alloc_array(machine, UINT16, 0x1000*0x40/2 );
+ m_shaperam = auto_alloc_array(machine(), UINT16, 0x2000*4/2 );
+ m_cgram = auto_alloc_array(machine(), UINT16, 0x1000*0x40/2 );
- machine.gfx[0] = auto_alloc( machine, gfx_element( machine, cg_layout_8bpp, (UINT8 *)state->m_cgram, machine.total_colors()/256, 0 ));
- machine.gfx[1] = auto_alloc( machine, gfx_element( machine, cg_layout_4bpp, (UINT8 *)state->m_cgram, machine.total_colors()/16, 0 ));
- machine.gfx[2] = auto_alloc( machine, gfx_element( machine, shape_layout, (UINT8 *)state->m_shaperam, machine.total_colors()/2, 0 ));
+ machine().gfx[0] = auto_alloc( machine(), gfx_element( machine(), cg_layout_8bpp, (UINT8 *)m_cgram, machine().total_colors()/256, 0 ));
+ machine().gfx[1] = auto_alloc( machine(), gfx_element( machine(), cg_layout_4bpp, (UINT8 *)m_cgram, machine().total_colors()/16, 0 ));
+ machine().gfx[2] = auto_alloc( machine(), gfx_element( machine(), shape_layout, (UINT8 *)m_shaperam, machine().total_colors()/2, 0 ));
} /* namcona1_vh_start */
diff --git a/src/mame/video/namconb1.c b/src/mame/video/namconb1.c
index a44e0e9bd98..e6c0ec09533 100644
--- a/src/mame/video/namconb1.c
+++ b/src/mame/video/namconb1.c
@@ -162,11 +162,10 @@ NB1objcode2tile( running_machine &machine, int code )
return (code&0x7ff) + bank*0x800;
}
-VIDEO_START( namconb1 )
+VIDEO_START_MEMBER(namconb1_state,namconb1)
{
- namconb1_state *state = machine.driver_data<namconb1_state>();
- state->namco_tilemap_init(NAMCONB1_TILEGFX, machine.root_device().memregion(NAMCONB1_TILEMASKREGION)->base(), NB1TilemapCB );
- state->c355_obj_init(NAMCONB1_SPRITEGFX,0x0,namcos2_shared_state::c355_obj_code2tile_delegate(FUNC(NB1objcode2tile), &machine));
+ namco_tilemap_init(NAMCONB1_TILEGFX, machine().root_device().memregion(NAMCONB1_TILEMASKREGION)->base(), NB1TilemapCB );
+ c355_obj_init(NAMCONB1_SPRITEGFX,0x0,namcos2_shared_state::c355_obj_code2tile_delegate(FUNC(NB1objcode2tile), &machine()));
} /* namconb1 */
/****************************************************************************************************/
@@ -224,10 +223,9 @@ NB2objcode2tile( running_machine &machine, int code )
return code;
} /* NB2objcode2tile */
-VIDEO_START( namconb2 )
+VIDEO_START_MEMBER(namconb1_state,namconb2)
{
- namconb1_state *state = machine.driver_data<namconb1_state>();
- state->namco_tilemap_init(NAMCONB1_TILEGFX, machine.root_device().memregion(NAMCONB1_TILEMASKREGION)->base(), NB2TilemapCB );
- state->c355_obj_init(NAMCONB1_SPRITEGFX,0x0,namcos2_shared_state::c355_obj_code2tile_delegate(FUNC(NB2objcode2tile), &machine));
- state->c169_roz_init(NAMCONB1_ROTGFX,NAMCONB1_ROTMASKREGION);
+ namco_tilemap_init(NAMCONB1_TILEGFX, machine().root_device().memregion(NAMCONB1_TILEMASKREGION)->base(), NB2TilemapCB );
+ c355_obj_init(NAMCONB1_SPRITEGFX,0x0,namcos2_shared_state::c355_obj_code2tile_delegate(FUNC(NB2objcode2tile), &machine()));
+ c169_roz_init(NAMCONB1_ROTGFX,NAMCONB1_ROTMASKREGION);
} /* namconb2_vh_start */
diff --git a/src/mame/video/namcos1.c b/src/mame/video/namcos1.c
index 6e7da23f6d2..096e0bdd7f9 100644
--- a/src/mame/video/namcos1.c
+++ b/src/mame/video/namcos1.c
@@ -110,56 +110,55 @@ TILE_GET_INFO_MEMBER(namcos1_state::fg_get_info5)
***************************************************************************/
-VIDEO_START( namcos1 )
+void namcos1_state::video_start()
{
- namcos1_state *state = machine.driver_data<namcos1_state>();
int i;
- state->m_tilemap_maskdata = (UINT8 *)state->memregion("gfx1")->base();
+ m_tilemap_maskdata = (UINT8 *)memregion("gfx1")->base();
/* allocate videoram */
- state->m_videoram = auto_alloc_array(machine, UINT8, 0x8000);
- state->m_spriteram = auto_alloc_array(machine, UINT8, 0x1000);
+ m_videoram = auto_alloc_array(machine(), UINT8, 0x8000);
+ m_spriteram = auto_alloc_array(machine(), UINT8, 0x1000);
/* initialize playfields */
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info0),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info1),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info2),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_bg_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info3),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[4] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::fg_get_info4),state),TILEMAP_SCAN_ROWS,8,8,36,28);
- state->m_bg_tilemap[5] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::fg_get_info5),state),TILEMAP_SCAN_ROWS,8,8,36,28);
-
- state->m_bg_tilemap[4]->set_scrolldx(73,512-73);
- state->m_bg_tilemap[5]->set_scrolldx(73,512-73);
- state->m_bg_tilemap[4]->set_scrolldy(0x10,0x110);
- state->m_bg_tilemap[5]->set_scrolldy(0x10,0x110);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info0),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info1),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info2),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg_tilemap[3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info3),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap[4] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::fg_get_info4),this),TILEMAP_SCAN_ROWS,8,8,36,28);
+ m_bg_tilemap[5] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::fg_get_info5),this),TILEMAP_SCAN_ROWS,8,8,36,28);
+
+ m_bg_tilemap[4]->set_scrolldx(73,512-73);
+ m_bg_tilemap[5]->set_scrolldx(73,512-73);
+ m_bg_tilemap[4]->set_scrolldy(0x10,0x110);
+ m_bg_tilemap[5]->set_scrolldy(0x10,0x110);
/* register videoram to the save state system (post-allocation) */
- state_save_register_global_pointer(machine, state->m_videoram, 0x8000);
- state_save_register_global_array(machine, state->m_cus116);
- state_save_register_global_pointer(machine, state->m_spriteram, 0x1000);
- state_save_register_global_array(machine, state->m_playfield_control);
+ state_save_register_global_pointer(machine(), m_videoram, 0x8000);
+ state_save_register_global_array(machine(), m_cus116);
+ state_save_register_global_pointer(machine(), m_spriteram, 0x1000);
+ state_save_register_global_array(machine(), m_playfield_control);
/* set table for sprite color == 0x7f */
for (i = 0;i < 15;i++)
- state->m_drawmode_table[i] = DRAWMODE_SHADOW;
- state->m_drawmode_table[15] = DRAWMODE_NONE;
+ m_drawmode_table[i] = DRAWMODE_SHADOW;
+ m_drawmode_table[15] = DRAWMODE_NONE;
/* clear paletteram */
- memset(state->m_paletteram, 0, 0x8000);
- memset(state->m_cus116, 0, 0x10);
+ memset(m_paletteram, 0, 0x8000);
+ memset(m_cus116, 0, 0x10);
for (i = 0; i < 0x2000; i++)
- palette_set_color(machine, i, MAKE_RGB(0, 0, 0));
+ palette_set_color(machine(), i, MAKE_RGB(0, 0, 0));
/* all palette entries are not affected by shadow sprites... */
for (i = 0;i < 0x2000;i++)
- machine.shadow_table[i] = i;
+ machine().shadow_table[i] = i;
/* ... except for tilemap colors */
for (i = 0x0800;i < 0x1000;i++)
- machine.shadow_table[i] = i + 0x0800;
+ machine().shadow_table[i] = i + 0x0800;
- memset(state->m_playfield_control, 0, sizeof(state->m_playfield_control));
- state->m_copy_sprites = 0;
+ memset(m_playfield_control, 0, sizeof(m_playfield_control));
+ m_copy_sprites = 0;
}
diff --git a/src/mame/video/namcos21.c b/src/mame/video/namcos21.c
index 94aee1b2eac..0758276e4c0 100644
--- a/src/mame/video/namcos21.c
+++ b/src/mame/video/namcos21.c
@@ -113,15 +113,14 @@ CopyVisiblePolyFrameBuffer( running_machine &machine, bitmap_ind16 &bitmap, cons
}
} /* CopyVisiblePolyFrameBuffer */
-VIDEO_START( namcos21 )
+VIDEO_START_MEMBER(namcos21_state,namcos21)
{
- namcos21_state *state = machine.driver_data<namcos21_state>();
- if( state->m_gametype == NAMCOS21_WINRUN91 )
+ if( m_gametype == NAMCOS21_WINRUN91 )
{
- state->m_videoram = auto_alloc_array(machine, UINT8, 0x80000);
+ m_videoram = auto_alloc_array(machine(), UINT8, 0x80000);
}
- AllocatePolyFrameBuffer(machine);
- state->c355_obj_init(
+ AllocatePolyFrameBuffer(machine());
+ c355_obj_init(
0, /* gfx bank */
0xf, /* reverse palette mapping */
namcos2_shared_state::c355_obj_code2tile_delegate() );
diff --git a/src/mame/video/namcos22.c b/src/mame/video/namcos22.c
index 1e8ed3a866b..a9906d965b3 100644
--- a/src/mame/video/namcos22.c
+++ b/src/mame/video/namcos22.c
@@ -2724,63 +2724,60 @@ static void namcos22_exit(running_machine &machine)
poly_free(state->m_poly);
}
-static VIDEO_START( common )
+VIDEO_START_MEMBER(namcos22_state,common)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
int code;
- state->m_mix_bitmap = auto_bitmap_ind16_alloc(machine,640,480);
- state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos22_state::TextTilemapGetInfo),state),TILEMAP_SCAN_ROWS,16,16,64,64 );
- state->m_bgtilemap->set_transparent_pen(0xf);
+ m_mix_bitmap = auto_bitmap_ind16_alloc(machine(),640,480);
+ m_bgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos22_state::TextTilemapGetInfo),this),TILEMAP_SCAN_ROWS,16,16,64,64 );
+ m_bgtilemap->set_transparent_pen(0xf);
- state->m_mbDSPisActive = 0;
- memset( state->m_polygonram, 0xcc, 0x20000 );
+ m_mbDSPisActive = 0;
+ memset( m_polygonram, 0xcc, 0x20000 );
- for (code = 0; code < machine.gfx[GFX_TEXTURE_TILE]->elements(); code++)
- machine.gfx[GFX_TEXTURE_TILE]->decode(code);
+ for (code = 0; code < machine().gfx[GFX_TEXTURE_TILE]->elements(); code++)
+ machine().gfx[GFX_TEXTURE_TILE]->decode(code);
- Prepare3dTexture(machine, state->memregion("textilemap")->base(), machine.gfx[GFX_TEXTURE_TILE]->get_data(0) );
- state->m_dirtypal = auto_alloc_array(machine, UINT8, NAMCOS22_PALETTE_SIZE/4);
- state->m_mPtRomSize = state->memregion("pointrom")->bytes()/3;
- state->m_mpPolyL = state->memregion("pointrom")->base();
- state->m_mpPolyM = state->m_mpPolyL + state->m_mPtRomSize;
- state->m_mpPolyH = state->m_mpPolyM + state->m_mPtRomSize;
+ Prepare3dTexture(machine(), memregion("textilemap")->base(), machine().gfx[GFX_TEXTURE_TILE]->get_data(0) );
+ m_dirtypal = auto_alloc_array(machine(), UINT8, NAMCOS22_PALETTE_SIZE/4);
+ m_mPtRomSize = memregion("pointrom")->bytes()/3;
+ m_mpPolyL = memregion("pointrom")->base();
+ m_mpPolyM = m_mpPolyL + m_mPtRomSize;
+ m_mpPolyH = m_mpPolyM + m_mPtRomSize;
- state->m_poly = poly_alloc(machine, 4000, sizeof(poly_extra_data), 0);
- machine.add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(namcos22_reset), &machine));
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(namcos22_exit), &machine));
+ m_poly = poly_alloc(machine(), 4000, sizeof(poly_extra_data), 0);
+ machine().add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(namcos22_reset), &machine()));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(namcos22_exit), &machine()));
- machine.gfx[GFX_CHAR]->set_source((UINT8 *)state->m_cgram.target());
+ machine().gfx[GFX_CHAR]->set_source((UINT8 *)m_cgram.target());
}
-VIDEO_START( namcos22 )
+VIDEO_START_MEMBER(namcos22_state,namcos22)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- state->m_mbSuperSystem22 = 0;
- VIDEO_START_CALL(common);
+ m_mbSuperSystem22 = 0;
+ VIDEO_START_CALL_MEMBER(common);
}
-VIDEO_START( namcos22s )
+VIDEO_START_MEMBER(namcos22_state,namcos22s)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- state->m_mbSuperSystem22 = 1;
+ m_mbSuperSystem22 = 1;
// init spotram
- state->m_spotram = auto_alloc_array(machine, UINT16, SPOTRAM_SIZE);
- memset(state->m_spotram, 0, SPOTRAM_SIZE*2);
+ m_spotram = auto_alloc_array(machine(), UINT16, SPOTRAM_SIZE);
+ memset(m_spotram, 0, SPOTRAM_SIZE*2);
// init czram tables
int table;
for (table=0; table<4; table++)
{
- state->m_banked_czram[table] = auto_alloc_array(machine, UINT16, 0x100);
- memset(state->m_banked_czram[table], 0, 0x100*2);
- state->m_recalc_czram[table] = auto_alloc_array(machine, UINT8, 0x2000);
- memset(state->m_recalc_czram[table], 0, 0x2000);
- state->m_cz_was_written[table] = 0;
+ m_banked_czram[table] = auto_alloc_array(machine(), UINT16, 0x100);
+ memset(m_banked_czram[table], 0, 0x100*2);
+ m_recalc_czram[table] = auto_alloc_array(machine(), UINT8, 0x2000);
+ memset(m_recalc_czram[table], 0, 0x2000);
+ m_cz_was_written[table] = 0;
}
- VIDEO_START_CALL(common);
+ VIDEO_START_CALL_MEMBER(common);
}
SCREEN_UPDATE_RGB32( namcos22s )
diff --git a/src/mame/video/namcos86.c b/src/mame/video/namcos86.c
index 1a4249448ac..a606ace215b 100644
--- a/src/mame/video/namcos86.c
+++ b/src/mame/video/namcos86.c
@@ -32,10 +32,9 @@ Namco System 86 Video Hardware
***************************************************************************/
-PALETTE_INIT( namcos86 )
+void namcos86_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- namcos86_state *state = machine.driver_data<namcos86_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
rgb_t palette[512];
@@ -68,15 +67,15 @@ PALETTE_INIT( namcos86 )
/* tiles lookup table */
for (i = 0;i < 2048;i++)
- palette_set_color(machine, i, palette[*color_prom++]);
+ palette_set_color(machine(), i, palette[*color_prom++]);
/* sprites lookup table */
for (i = 0;i < 2048;i++)
- palette_set_color(machine, 2048 + i, palette[256 + *color_prom++]);
+ palette_set_color(machine(), 2048 + i, palette[256 + *color_prom++]);
/* color_prom now points to the beginning of the tile address decode PROM */
- state->m_tile_address_prom = color_prom; /* we'll need this at run time */
+ m_tile_address_prom = color_prom; /* we'll need this at run time */
}
@@ -132,20 +131,19 @@ TILE_GET_INFO_MEMBER(namcos86_state::get_tile_info3)
***************************************************************************/
-VIDEO_START( namcos86 )
+void namcos86_state::video_start()
{
- namcos86_state *state = machine.driver_data<namcos86_state>();
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info0),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info3),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info0),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info1),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info2),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap[3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info3),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[0]->set_transparent_pen(7);
- state->m_bg_tilemap[1]->set_transparent_pen(7);
- state->m_bg_tilemap[2]->set_transparent_pen(7);
- state->m_bg_tilemap[3]->set_transparent_pen(7);
+ m_bg_tilemap[0]->set_transparent_pen(7);
+ m_bg_tilemap[1]->set_transparent_pen(7);
+ m_bg_tilemap[2]->set_transparent_pen(7);
+ m_bg_tilemap[3]->set_transparent_pen(7);
- state->m_spriteram = state->m_rthunder_spriteram + 0x1800;
+ m_spriteram = m_rthunder_spriteram + 0x1800;
}
diff --git a/src/mame/video/naughtyb.c b/src/mame/video/naughtyb.c
index c845fded434..ea4f752bb1a 100644
--- a/src/mame/video/naughtyb.c
+++ b/src/mame/video/naughtyb.c
@@ -56,9 +56,9 @@ static const res_net_info naughtyb_net_info =
***************************************************************************/
-PALETTE_INIT( naughtyb )
+void naughtyb_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[2] = { 270, 130 };
double weights[2];
int i;
@@ -69,7 +69,7 @@ PALETTE_INIT( naughtyb )
2, resistances, weights, 0, 0,
0, 0, 0, 0, 0);
- for (i = 0;i < machine.total_colors(); i++)
+ for (i = 0;i < machine().total_colors(); i++)
{
int bit0, bit1;
int r, g, b;
@@ -89,7 +89,7 @@ PALETTE_INIT( naughtyb )
bit1 = (color_prom[i+0x100] >> 1) & 0x01;
b = combine_2_weights(weights, bit0, bit1);
- palette_set_color(machine, BITSWAP8(i,5,7,6,2,1,0,4,3), MAKE_RGB(r, g, b));
+ palette_set_color(machine(), BITSWAP8(i,5,7,6,2,1,0,4,3), MAKE_RGB(r, g, b));
}
}
@@ -99,13 +99,12 @@ PALETTE_INIT( naughtyb )
Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( naughtyb )
+void naughtyb_state::video_start()
{
- naughtyb_state *state = machine.driver_data<naughtyb_state>();
- state->m_palreg = state->m_bankreg = 0;
+ m_palreg = m_bankreg = 0;
/* Naughty Boy has a virtual screen twice as large as the visible screen */
- state->m_tmpbitmap.allocate(68*8,28*8,machine.primary_screen->format());
+ m_tmpbitmap.allocate(68*8,28*8,machine().primary_screen->format());
}
diff --git a/src/mame/video/nbmj8688.c b/src/mame/video/nbmj8688.c
index 82e98dd57d8..054f02b9ea0 100644
--- a/src/mame/video/nbmj8688.c
+++ b/src/mame/video/nbmj8688.c
@@ -38,7 +38,7 @@ enum
******************************************************************************/
-PALETTE_INIT( mbmj8688_8bit )
+PALETTE_INIT_MEMBER(nbmj8688_state,mbmj8688_8bit)
{
int i;
int bit0, bit1, bit2, r, g, b;
@@ -63,11 +63,11 @@ PALETTE_INIT( mbmj8688_8bit )
bit2 = ((i >> 7) & 0x01);
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-PALETTE_INIT( mbmj8688_12bit )
+PALETTE_INIT_MEMBER(nbmj8688_state,mbmj8688_12bit)
{
int i;
int r, g, b;
@@ -80,11 +80,11 @@ PALETTE_INIT( mbmj8688_12bit )
g = ((i & 0x38) >> 2) | (((i >> 8) & 0x02) >> 1);
b = ((i & 0xc0) >> 4) | (((i >> 8) & 0x0c) >> 2);
- palette_set_color_rgb(machine, i, pal4bit(r), pal4bit(g), pal4bit(b));
+ palette_set_color_rgb(machine(), i, pal4bit(r), pal4bit(g), pal4bit(b));
}
}
-PALETTE_INIT( mbmj8688_16bit )
+PALETTE_INIT_MEMBER(nbmj8688_state,mbmj8688_16bit)
{
int i;
int r, g, b;
@@ -96,7 +96,7 @@ PALETTE_INIT( mbmj8688_16bit )
g = (((i & 0x3800) >> 9) | ((i & 0x0018) >> 3)); // G 5bit
b = (((i & 0xc000) >> 11) | ((i & 0x00e0) >> 5)); // B 5bit
- palette_set_color_rgb(machine, i, pal6bit(r), pal5bit(g), pal5bit(b));
+ palette_set_color_rgb(machine(), i, pal6bit(r), pal5bit(g), pal5bit(b));
}
}
@@ -546,50 +546,44 @@ static void common_video_start(running_machine &machine)
state->m_mjsikaku_scrolly = 0; // reset because crystalg/crystal2 don't write to this register
}
-VIDEO_START( mbmj8688_8bit )
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_8bit)
{
- nbmj8688_state *state = machine.driver_data<nbmj8688_state>();
- state->m_mjsikaku_gfxmode = GFXTYPE_8BIT;
- common_video_start(machine);
+ m_mjsikaku_gfxmode = GFXTYPE_8BIT;
+ common_video_start(machine());
}
-VIDEO_START( mbmj8688_hybrid_12bit )
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_hybrid_12bit)
{
- nbmj8688_state *state = machine.driver_data<nbmj8688_state>();
- state->m_mjsikaku_gfxmode = GFXTYPE_HYBRID_12BIT;
- common_video_start(machine);
+ m_mjsikaku_gfxmode = GFXTYPE_HYBRID_12BIT;
+ common_video_start(machine());
}
-VIDEO_START( mbmj8688_pure_12bit )
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_pure_12bit)
{
- nbmj8688_state *state = machine.driver_data<nbmj8688_state>();
- state->m_mjsikaku_gfxmode = GFXTYPE_PURE_12BIT;
- common_video_start(machine);
+ m_mjsikaku_gfxmode = GFXTYPE_PURE_12BIT;
+ common_video_start(machine());
}
-VIDEO_START( mbmj8688_hybrid_16bit )
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_hybrid_16bit)
{
- nbmj8688_state *state = machine.driver_data<nbmj8688_state>();
- state->m_mjsikaku_gfxmode = GFXTYPE_HYBRID_16BIT;
- common_video_start(machine);
+ m_mjsikaku_gfxmode = GFXTYPE_HYBRID_16BIT;
+ common_video_start(machine());
}
-VIDEO_START( mbmj8688_pure_16bit )
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_pure_16bit)
{
- nbmj8688_state *state = machine.driver_data<nbmj8688_state>();
- state->m_mjsikaku_gfxmode = GFXTYPE_PURE_16BIT;
- common_video_start(machine);
+ m_mjsikaku_gfxmode = GFXTYPE_PURE_16BIT;
+ common_video_start(machine());
}
-VIDEO_START( mbmj8688_pure_16bit_LCD )
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_pure_16bit_LCD)
{
- nbmj8688_state *state = machine.driver_data<nbmj8688_state>();
- state->m_mjsikaku_gfxmode = GFXTYPE_PURE_16BIT;
+ m_mjsikaku_gfxmode = GFXTYPE_PURE_16BIT;
- state->m_HD61830B_ram[0] = auto_alloc_array(machine, UINT8, 0x10000);
- state->m_HD61830B_ram[1] = auto_alloc_array(machine, UINT8, 0x10000);
+ m_HD61830B_ram[0] = auto_alloc_array(machine(), UINT8, 0x10000);
+ m_HD61830B_ram[1] = auto_alloc_array(machine(), UINT8, 0x10000);
- common_video_start(machine);
+ common_video_start(machine());
}
diff --git a/src/mame/video/nbmj8891.c b/src/mame/video/nbmj8891.c
index 907813b7c47..2712109cedf 100644
--- a/src/mame/video/nbmj8891.c
+++ b/src/mame/video/nbmj8891.c
@@ -469,40 +469,38 @@ static void nbmj8891_gfxdraw(running_machine &machine)
******************************************************************************/
-VIDEO_START( nbmj8891_1layer )
+VIDEO_START_MEMBER(nbmj8891_state,nbmj8891_1layer)
{
- nbmj8891_state *state = machine.driver_data<nbmj8891_state>();
- UINT8 *CLUT = state->memregion("protection")->base();
+ UINT8 *CLUT = memregion("protection")->base();
int i;
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap0);
- state->m_videoram0 = auto_alloc_array(machine, UINT8, width * height);
- state->m_palette = auto_alloc_array(machine, UINT8, 0x200);
- state->m_clut = auto_alloc_array(machine, UINT8, 0x800);
- memset(state->m_videoram0, 0xff, (width * height * sizeof(char)));
- state->m_gfxdraw_mode = 0;
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap0);
+ m_videoram0 = auto_alloc_array(machine(), UINT8, width * height);
+ m_palette = auto_alloc_array(machine(), UINT8, 0x200);
+ m_clut = auto_alloc_array(machine(), UINT8, 0x800);
+ memset(m_videoram0, 0xff, (width * height * sizeof(char)));
+ m_gfxdraw_mode = 0;
if (nb1413m3_type == NB1413M3_TAIWANMB)
- for (i = 0; i < 0x0800; i++) state->m_clut[i] = CLUT[i];
+ for (i = 0; i < 0x0800; i++) m_clut[i] = CLUT[i];
}
-VIDEO_START( nbmj8891_2layer )
+void nbmj8891_state::video_start()
{
- nbmj8891_state *state = machine.driver_data<nbmj8891_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
-
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap0);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap1);
- state->m_videoram0 = auto_alloc_array(machine, UINT8, width * height);
- state->m_videoram1 = auto_alloc_array(machine, UINT8, width * height);
- state->m_palette = auto_alloc_array(machine, UINT8, 0x200);
- state->m_clut = auto_alloc_array(machine, UINT8, 0x800);
- memset(state->m_videoram0, 0xff, (width * height * sizeof(UINT8)));
- memset(state->m_videoram1, 0xff, (width * height * sizeof(UINT8)));
- state->m_gfxdraw_mode = 1;
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
+
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap0);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap1);
+ m_videoram0 = auto_alloc_array(machine(), UINT8, width * height);
+ m_videoram1 = auto_alloc_array(machine(), UINT8, width * height);
+ m_palette = auto_alloc_array(machine(), UINT8, 0x200);
+ m_clut = auto_alloc_array(machine(), UINT8, 0x800);
+ memset(m_videoram0, 0xff, (width * height * sizeof(UINT8)));
+ memset(m_videoram1, 0xff, (width * height * sizeof(UINT8)));
+ m_gfxdraw_mode = 1;
}
/******************************************************************************
diff --git a/src/mame/video/nbmj8900.c b/src/mame/video/nbmj8900.c
index 792cd992479..9eb15312349 100644
--- a/src/mame/video/nbmj8900.c
+++ b/src/mame/video/nbmj8900.c
@@ -364,22 +364,21 @@ static void nbmj8900_gfxdraw(running_machine &machine)
******************************************************************************/
-VIDEO_START( nbmj8900_2layer )
+void nbmj8900_state::video_start()
{
- nbmj8900_state *state = machine.driver_data<nbmj8900_state>();
- state->m_screen_width = machine.primary_screen->width();
- state->m_screen_height = machine.primary_screen->height();
-
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap0);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap1);
- state->m_videoram0 = auto_alloc_array(machine, UINT8, state->m_screen_width * state->m_screen_height);
- state->m_videoram1 = auto_alloc_array(machine, UINT8, state->m_screen_width * state->m_screen_height);
- state->m_palette = auto_alloc_array(machine, UINT8, 0x200);
- state->m_clut = auto_alloc_array(machine, UINT8, 0x800);
- memset(state->m_videoram0, 0xff, (state->m_screen_width * state->m_screen_height * sizeof(UINT8)));
- memset(state->m_videoram1, 0xff, (state->m_screen_width * state->m_screen_height * sizeof(UINT8)));
-// machine.pens[0x07f] = 0xff; /* palette_transparent_pen */
- state->m_gfxdraw_mode = 1;
+ m_screen_width = machine().primary_screen->width();
+ m_screen_height = machine().primary_screen->height();
+
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap0);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap1);
+ m_videoram0 = auto_alloc_array(machine(), UINT8, m_screen_width * m_screen_height);
+ m_videoram1 = auto_alloc_array(machine(), UINT8, m_screen_width * m_screen_height);
+ m_palette = auto_alloc_array(machine(), UINT8, 0x200);
+ m_clut = auto_alloc_array(machine(), UINT8, 0x800);
+ memset(m_videoram0, 0xff, (m_screen_width * m_screen_height * sizeof(UINT8)));
+ memset(m_videoram1, 0xff, (m_screen_width * m_screen_height * sizeof(UINT8)));
+// machine().pens[0x07f] = 0xff; /* palette_transparent_pen */
+ m_gfxdraw_mode = 1;
}
/******************************************************************************
diff --git a/src/mame/video/nbmj8991.c b/src/mame/video/nbmj8991.c
index 279aa95cfdf..8b9c7febfa8 100644
--- a/src/mame/video/nbmj8991.c
+++ b/src/mame/video/nbmj8991.c
@@ -287,16 +287,15 @@ static void nbmj8991_gfxdraw(running_machine &machine)
******************************************************************************/
-VIDEO_START( nbmj8991 )
+VIDEO_START_MEMBER(nbmj8991_state,nbmj8991)
{
- nbmj8991_state *state = machine.driver_data<nbmj8991_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap);
- state->m_videoram = auto_alloc_array(machine, UINT8, width * height);
- state->m_clut = auto_alloc_array(machine, UINT8, 0x800);
- memset(state->m_videoram, 0x00, (width * height * sizeof(UINT8)));
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap);
+ m_videoram = auto_alloc_array(machine(), UINT8, width * height);
+ m_clut = auto_alloc_array(machine(), UINT8, 0x800);
+ memset(m_videoram, 0x00, (width * height * sizeof(UINT8)));
}
SCREEN_UPDATE_IND16( nbmj8991_type1 )
diff --git a/src/mame/video/nbmj9195.c b/src/mame/video/nbmj9195.c
index e43f31ecb97..28b8472216d 100644
--- a/src/mame/video/nbmj9195.c
+++ b/src/mame/video/nbmj9195.c
@@ -384,57 +384,54 @@ WRITE8_MEMBER(nbmj9195_state::nbmj9195_clut_1_w){ nbmj9195_clut_w(&space, offset
******************************************************************************/
-VIDEO_START( nbmj9195_1layer )
+VIDEO_START_MEMBER(nbmj9195_state,nbmj9195_1layer)
{
- nbmj9195_state *state = machine.driver_data<nbmj9195_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
-
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap[0]);
- state->m_videoram[0] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_palette = auto_alloc_array(machine, UINT8, 0x200);
- state->m_clut[0] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_scanline[0] = state->m_scanline[1] = SCANLINE_MIN;
- state->m_nb19010_busyflag = 1;
- state->m_gfxdraw_mode = 0;
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
+
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap[0]);
+ m_videoram[0] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_palette = auto_alloc_array(machine(), UINT8, 0x200);
+ m_clut[0] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_scanline[0] = m_scanline[1] = SCANLINE_MIN;
+ m_nb19010_busyflag = 1;
+ m_gfxdraw_mode = 0;
}
-VIDEO_START( nbmj9195_2layer )
+void nbmj9195_state::video_start()
{
- nbmj9195_state *state = machine.driver_data<nbmj9195_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
-
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap[0]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap[1]);
- state->m_videoram[0] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_videoram[1] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_palette = auto_alloc_array(machine, UINT8, 0x200);
- state->m_clut[0] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_clut[1] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_scanline[0] = state->m_scanline[1] = SCANLINE_MIN;
- state->m_nb19010_busyflag = 1;
- state->m_gfxdraw_mode = 1;
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
+
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap[0]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap[1]);
+ m_videoram[0] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_videoram[1] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_palette = auto_alloc_array(machine(), UINT8, 0x200);
+ m_clut[0] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_clut[1] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_scanline[0] = m_scanline[1] = SCANLINE_MIN;
+ m_nb19010_busyflag = 1;
+ m_gfxdraw_mode = 1;
}
-VIDEO_START( nbmj9195_nb22090 )
+VIDEO_START_MEMBER(nbmj9195_state,nbmj9195_nb22090)
{
- nbmj9195_state *state = machine.driver_data<nbmj9195_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
-
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap[0]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap[1]);
- state->m_videoram[0] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_videoram[1] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_videoworkram[0] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_videoworkram[1] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_nb22090_palette = auto_alloc_array(machine, UINT8, 0xc00);
- state->m_clut[0] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_clut[1] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_scanline[0] = state->m_scanline[1] = SCANLINE_MIN;
- state->m_nb19010_busyflag = 1;
- state->m_gfxdraw_mode = 2;
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
+
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap[0]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap[1]);
+ m_videoram[0] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_videoram[1] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_videoworkram[0] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_videoworkram[1] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_nb22090_palette = auto_alloc_array(machine(), UINT8, 0xc00);
+ m_clut[0] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_clut[1] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_scanline[0] = m_scanline[1] = SCANLINE_MIN;
+ m_nb19010_busyflag = 1;
+ m_gfxdraw_mode = 2;
}
/******************************************************************************
diff --git a/src/mame/video/nemesis.c b/src/mame/video/nemesis.c
index 94c59186346..34f7da7511e 100644
--- a/src/mame/video/nemesis.c
+++ b/src/mame/video/nemesis.c
@@ -291,34 +291,33 @@ static void nemesis_postload(running_machine &machine)
/* claim a palette dirty array */
-VIDEO_START( nemesis )
+void nemesis_state::video_start()
{
- nemesis_state *state = machine.driver_data<nemesis_state>();
- state->m_spriteram_words = state->m_spriteram.bytes() / 2;
+ m_spriteram_words = m_spriteram.bytes() / 2;
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nemesis_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nemesis_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nemesis_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nemesis_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_background->set_transparent_pen(0);
- state->m_foreground->set_transparent_pen(0);
- state->m_background->set_scroll_rows(256);
- state->m_foreground->set_scroll_rows(256);
+ m_background->set_transparent_pen(0);
+ m_foreground->set_transparent_pen(0);
+ m_background->set_scroll_rows(256);
+ m_foreground->set_scroll_rows(256);
- memset(state->m_charram, 0, state->m_charram.bytes());
- memset(state->m_blank_tile, 0, ARRAY_LENGTH(state->m_blank_tile));
+ memset(m_charram, 0, m_charram.bytes());
+ memset(m_blank_tile, 0, ARRAY_LENGTH(m_blank_tile));
- machine.gfx[0]->set_source((UINT8 *)state->m_charram.target());
- machine.gfx[1]->set_source((UINT8 *)state->m_charram.target());
- machine.gfx[2]->set_source((UINT8 *)state->m_charram.target());
- machine.gfx[3]->set_source((UINT8 *)state->m_charram.target());
- machine.gfx[4]->set_source((UINT8 *)state->m_charram.target());
- machine.gfx[5]->set_source((UINT8 *)state->m_charram.target());
- machine.gfx[6]->set_source((UINT8 *)state->m_charram.target());
- machine.gfx[7]->set_source((UINT8 *)state->m_charram.target());
+ machine().gfx[0]->set_source((UINT8 *)m_charram.target());
+ machine().gfx[1]->set_source((UINT8 *)m_charram.target());
+ machine().gfx[2]->set_source((UINT8 *)m_charram.target());
+ machine().gfx[3]->set_source((UINT8 *)m_charram.target());
+ machine().gfx[4]->set_source((UINT8 *)m_charram.target());
+ machine().gfx[5]->set_source((UINT8 *)m_charram.target());
+ machine().gfx[6]->set_source((UINT8 *)m_charram.target());
+ machine().gfx[7]->set_source((UINT8 *)m_charram.target());
/* Set up save state */
- machine.save().register_postload(save_prepost_delegate(FUNC(nemesis_postload), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(nemesis_postload), &machine()));
}
diff --git a/src/mame/video/neogeo.c b/src/mame/video/neogeo.c
index ecd6344b2bf..8a49ec95adf 100644
--- a/src/mame/video/neogeo.c
+++ b/src/mame/video/neogeo.c
@@ -845,54 +845,53 @@ WRITE16_MEMBER(neogeo_state::neogeo_video_register_w)
*
*************************************/
-VIDEO_START( neogeo )
+void neogeo_state::video_start()
{
- neogeo_state *state = machine.driver_data<neogeo_state>();
/* allocate memory not directly mapped */
- state->m_palettes[0] = auto_alloc_array(machine, UINT16, NUM_PENS);
- state->m_palettes[1] = auto_alloc_array(machine, UINT16, NUM_PENS);
- state->m_pens = auto_alloc_array(machine, pen_t, NUM_PENS);
- state->m_videoram = auto_alloc_array(machine, UINT16, 0x20000/2);
+ m_palettes[0] = auto_alloc_array(machine(), UINT16, NUM_PENS);
+ m_palettes[1] = auto_alloc_array(machine(), UINT16, NUM_PENS);
+ m_pens = auto_alloc_array(machine(), pen_t, NUM_PENS);
+ m_videoram = auto_alloc_array(machine(), UINT16, 0x20000/2);
/* clear allocated memory */
- memset(state->m_palettes[0], 0x00, NUM_PENS * sizeof(UINT16));
- memset(state->m_palettes[1], 0x00, NUM_PENS * sizeof(UINT16));
- memset(state->m_pens, 0x00, NUM_PENS * sizeof(pen_t));
- memset(state->m_videoram, 0x00, 0x20000);
+ memset(m_palettes[0], 0x00, NUM_PENS * sizeof(UINT16));
+ memset(m_palettes[1], 0x00, NUM_PENS * sizeof(UINT16));
+ memset(m_pens, 0x00, NUM_PENS * sizeof(pen_t));
+ memset(m_videoram, 0x00, 0x20000);
- compute_rgb_weights(machine);
- create_sprite_line_timer(machine);
- create_auto_animation_timer(machine);
- optimize_sprite_data(machine);
+ compute_rgb_weights(machine());
+ create_sprite_line_timer(machine());
+ create_auto_animation_timer(machine());
+ optimize_sprite_data(machine());
/* initialize values that are not modified on a reset */
- state->m_videoram_read_buffer = 0;
- state->m_videoram_offset = 0;
- state->m_videoram_modulo = 0;
- state->m_auto_animation_speed = 0;
- state->m_auto_animation_disabled = 0;
- state->m_auto_animation_counter = 0;
- state->m_auto_animation_frame_counter = 0;
+ m_videoram_read_buffer = 0;
+ m_videoram_offset = 0;
+ m_videoram_modulo = 0;
+ m_auto_animation_speed = 0;
+ m_auto_animation_disabled = 0;
+ m_auto_animation_counter = 0;
+ m_auto_animation_frame_counter = 0;
/* register for state saving */
- state->save_pointer(NAME(state->m_palettes[0]), NUM_PENS);
- state->save_pointer(NAME(state->m_palettes[1]), NUM_PENS);
- state->save_pointer(NAME(state->m_videoram), 0x20000/2);
- state->save_item(NAME(state->m_videoram_read_buffer));
- state->save_item(NAME(state->m_videoram_modulo));
- state->save_item(NAME(state->m_videoram_offset));
- state->save_item(NAME(state->m_fixed_layer_source));
- state->save_item(NAME(state->m_screen_dark));
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_auto_animation_speed));
- state->save_item(NAME(state->m_auto_animation_disabled));
- state->save_item(NAME(state->m_auto_animation_counter));
- state->save_item(NAME(state->m_auto_animation_frame_counter));
+ save_pointer(NAME(m_palettes[0]), NUM_PENS);
+ save_pointer(NAME(m_palettes[1]), NUM_PENS);
+ save_pointer(NAME(m_videoram), 0x20000/2);
+ save_item(NAME(m_videoram_read_buffer));
+ save_item(NAME(m_videoram_modulo));
+ save_item(NAME(m_videoram_offset));
+ save_item(NAME(m_fixed_layer_source));
+ save_item(NAME(m_screen_dark));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_auto_animation_speed));
+ save_item(NAME(m_auto_animation_disabled));
+ save_item(NAME(m_auto_animation_counter));
+ save_item(NAME(m_auto_animation_frame_counter));
- machine.save().register_postload(save_prepost_delegate(FUNC(regenerate_pens), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(regenerate_pens), &machine()));
- state->m_region_zoomy = state->memregion("zoomy")->base();
+ m_region_zoomy = memregion("zoomy")->base();
}
@@ -903,11 +902,11 @@ VIDEO_START( neogeo )
*
*************************************/
-VIDEO_RESET( neogeo )
+void neogeo_state::video_reset()
{
- start_sprite_line_timer(machine);
- start_auto_animation_timer(machine);
- optimize_sprite_data(machine);
+ start_sprite_line_timer(machine());
+ start_auto_animation_timer(machine());
+ optimize_sprite_data(machine());
}
diff --git a/src/mame/video/news.c b/src/mame/video/news.c
index fef0ea99305..5305556723a 100644
--- a/src/mame/video/news.c
+++ b/src/mame/video/news.c
@@ -42,14 +42,13 @@ TILE_GET_INFO_MEMBER(news_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( news )
+void news_state::video_start()
{
- news_state *state = machine.driver_data<news_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(news_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(news_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(news_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(news_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/ninjakd2.c b/src/mame/video/ninjakd2.c
index ad944d07094..44b434315c3 100644
--- a/src/mame/video/ninjakd2.c
+++ b/src/mame/video/ninjakd2.c
@@ -124,87 +124,82 @@ static int stencil_arkarea( UINT16 pal );
static int stencil_robokid( UINT16 pal );
static int stencil_omegaf( UINT16 pal );
-VIDEO_START( ninjakd2 )
+void ninjakd2_state::video_start()
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- videoram_alloc(machine, 0);
+ videoram_alloc(machine(), 0);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::ninjakd2_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::ninjakd2_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_robokid_sprites = 0;
- state->m_stencil_compare_function = stencil_ninjakd2;
+ m_robokid_sprites = 0;
+ m_stencil_compare_function = stencil_ninjakd2;
}
-VIDEO_START( mnight )
+VIDEO_START_MEMBER(ninjakd2_state,mnight)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- videoram_alloc(machine, 0);
+ videoram_alloc(machine(), 0);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::mnight_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::mnight_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_robokid_sprites = 0;
- state->m_stencil_compare_function = stencil_mnight;
+ m_robokid_sprites = 0;
+ m_stencil_compare_function = stencil_mnight;
}
-VIDEO_START( arkarea )
+VIDEO_START_MEMBER(ninjakd2_state,arkarea)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- videoram_alloc(machine, 0);
+ videoram_alloc(machine(), 0);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::mnight_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::mnight_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_robokid_sprites = 0;
- state->m_stencil_compare_function = stencil_arkarea;
+ m_robokid_sprites = 0;
+ m_stencil_compare_function = stencil_arkarea;
}
-VIDEO_START( robokid )
+VIDEO_START_MEMBER(ninjakd2_state,robokid)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- state->m_bank_mask = 1;
+ m_bank_mask = 1;
- videoram_alloc(machine, 0x0800);
+ videoram_alloc(machine(), 0x0800);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::robokid_bg_scan),state), 16, 16, 32, 32);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::robokid_bg_scan),state), 16, 16, 32, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::robokid_bg_scan),state), 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(ninjakd2_state::robokid_bg_scan),this), 16, 16, 32, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(ninjakd2_state::robokid_bg_scan),this), 16, 16, 32, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(ninjakd2_state::robokid_bg_scan),this), 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_bg1_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_bg2_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_bg1_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_bg2_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_robokid_sprites = 1;
- state->m_stencil_compare_function = stencil_robokid;
+ m_robokid_sprites = 1;
+ m_stencil_compare_function = stencil_robokid;
}
-VIDEO_START( omegaf )
+VIDEO_START_MEMBER(ninjakd2_state,omegaf)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- state->m_bank_mask = 7;
+ m_bank_mask = 7;
- videoram_alloc(machine, 0x2000);
+ videoram_alloc(machine(), 0x2000);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),state), 16, 16, 128, 32);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),state), 16, 16, 128, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),state), 16, 16, 128, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),this), 16, 16, 128, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),this), 16, 16, 128, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),this), 16, 16, 128, 32);
- state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_bg0_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_bg1_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_bg2_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_bg0_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_bg1_tilemap->set_transparent_pen(TRANSPARENTCODE);
+ m_bg2_tilemap->set_transparent_pen(TRANSPARENTCODE);
- state->m_robokid_sprites = 1;
- state->m_stencil_compare_function = stencil_omegaf;
+ m_robokid_sprites = 1;
+ m_stencil_compare_function = stencil_omegaf;
}
diff --git a/src/mame/video/ninjaw.c b/src/mame/video/ninjaw.c
index 1095717d769..8d62af1b405 100644
--- a/src/mame/video/ninjaw.c
+++ b/src/mame/video/ninjaw.c
@@ -4,12 +4,11 @@
/**********************************************************/
-VIDEO_START( ninjaw )
+void ninjaw_state::video_start()
{
- ninjaw_state *state = machine.driver_data<ninjaw_state>();
/* Ensure palette from correct TC0110PCR used for each screen */
- tc0100scn_set_colbanks(state->m_tc0100scn_1, 0x0, 0x100, 0x200);
+ tc0100scn_set_colbanks(m_tc0100scn_1, 0x0, 0x100, 0x200);
}
/************************************************************
diff --git a/src/mame/video/nitedrvr.c b/src/mame/video/nitedrvr.c
index 5ca23afe7a0..bec96cc9d2a 100644
--- a/src/mame/video/nitedrvr.c
+++ b/src/mame/video/nitedrvr.c
@@ -32,10 +32,9 @@ TILE_GET_INFO_MEMBER(nitedrvr_state::get_bg_tile_info)
-VIDEO_START( nitedrvr )
+void nitedrvr_state::video_start()
{
- nitedrvr_state *state = machine.driver_data<nitedrvr_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nitedrvr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nitedrvr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_box( bitmap_ind16 &bitmap, int bx, int by, int ex, int ey )
diff --git a/src/mame/video/niyanpai.c b/src/mame/video/niyanpai.c
index 8d150aafbf0..44d50a79a64 100644
--- a/src/mame/video/niyanpai.c
+++ b/src/mame/video/niyanpai.c
@@ -357,26 +357,25 @@ WRITE16_MEMBER(niyanpai_state::niyanpai_clutsel_2_w){ niyanpai_clutsel_w(machine
******************************************************************************/
-VIDEO_START( niyanpai )
+void niyanpai_state::video_start()
{
- niyanpai_state *state = machine.driver_data<niyanpai_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
-
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap[0]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap[1]);
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap[2]);
- state->m_videoram[0] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_videoram[1] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_videoram[2] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_videoworkram[0] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_videoworkram[1] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_videoworkram[2] = auto_alloc_array_clear(machine, UINT16, width * height);
- state->m_palette = auto_alloc_array(machine, UINT16, 0x480);
- state->m_clut[0] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_clut[1] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_clut[2] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_nb19010_busyflag = 1;
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
+
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap[0]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap[1]);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap[2]);
+ m_videoram[0] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_videoram[1] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_videoram[2] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_videoworkram[0] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_videoworkram[1] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_videoworkram[2] = auto_alloc_array_clear(machine(), UINT16, width * height);
+ m_palette = auto_alloc_array(machine(), UINT16, 0x480);
+ m_clut[0] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_clut[1] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_clut[2] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_nb19010_busyflag = 1;
}
/******************************************************************************
diff --git a/src/mame/video/nmk16.c b/src/mame/video/nmk16.c
index 193ce512bce..8841b5caee5 100644
--- a/src/mame/video/nmk16.c
+++ b/src/mame/video/nmk16.c
@@ -120,92 +120,85 @@ static void nmk16_video_init(running_machine &machine)
}
-VIDEO_START( bioship )
+VIDEO_START_MEMBER(nmk16_state,bioship)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,32,32);
+ m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32);
- state->m_bg_tilemap0->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_bg_tilemap0->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- nmk16_video_init(machine);
- state->m_background_bitmap = auto_bitmap_ind16_alloc(machine,8192,512);
- state->m_bioship_background_bank=0;
- state->m_redraw_bitmap = 1;
+ nmk16_video_init(machine());
+ m_background_bitmap = auto_bitmap_ind16_alloc(machine(),8192,512);
+ m_bioship_background_bank=0;
+ m_redraw_bitmap = 1;
}
-VIDEO_START( strahl )
+VIDEO_START_MEMBER(nmk16_state,strahl)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::strahl_get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,32,32);
+ m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::strahl_get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32);
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- nmk16_video_init(machine);
+ nmk16_video_init(machine());
}
-VIDEO_START( macross )
+VIDEO_START_MEMBER(nmk16_state,macross)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,32,32);
+ m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- nmk16_video_init(machine);
+ nmk16_video_init(machine());
}
-VIDEO_START( gunnail )
+VIDEO_START_MEMBER(nmk16_state,gunnail)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
+ m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32);
- state->m_tx_tilemap->set_transparent_pen(15);
- state->m_bg_tilemap0->set_scroll_rows(512);
+ m_tx_tilemap->set_transparent_pen(15);
+ m_bg_tilemap0->set_scroll_rows(512);
- nmk16_video_init(machine);
- state->m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */
+ nmk16_video_init(machine());
+ m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */
/* from the other side of the tilemap (!) */
- state->m_simple_scroll = 0;
+ m_simple_scroll = 0;
}
-VIDEO_START( macross2 )
+VIDEO_START_MEMBER(nmk16_state,macross2)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_bg_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_bg_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_bg_tilemap3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg3_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ m_bg_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ m_bg_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ m_bg_tilemap3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg3_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- nmk16_video_init(machine);
- state->m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */
+ nmk16_video_init(machine());
+ m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */
/* from the other side of the tilemap (!) */
}
-VIDEO_START( raphero )
+VIDEO_START_MEMBER(nmk16_state,raphero)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- VIDEO_START_CALL( macross2 );
- state->m_simple_scroll = 0;
+ VIDEO_START_CALL_MEMBER( macross2 );
+ m_simple_scroll = 0;
}
-VIDEO_START( bjtwin )
+VIDEO_START_MEMBER(nmk16_state,bjtwin)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::bjtwin_get_bg_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
+ m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::bjtwin_get_bg_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32);
- nmk16_video_init(machine);
- state->m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */
+ nmk16_video_init(machine());
+ m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */
/* from the other side of the tilemap (!) */
}
@@ -888,59 +881,56 @@ SCREEN_VBLANK( strahl )
***************************************************************************/
-VIDEO_START( afega )
+VIDEO_START_MEMBER(nmk16_state,afega)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_spriteram_old = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
- state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
+ m_spriteram_old = auto_alloc_array_clear(machine(), UINT16, 0x1000/2);
+ m_spriteram_old2 = auto_alloc_array_clear(machine(), UINT16, 0x1000/2);
- state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),
+ m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),
16,16,
TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state), TILEMAP_SCAN_COLS,
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this), TILEMAP_SCAN_COLS,
8,8,
32,32);
- state->m_tx_tilemap->set_transparent_pen(0xf);
+ m_tx_tilemap->set_transparent_pen(0xf);
}
-VIDEO_START( grdnstrm )
+VIDEO_START_MEMBER(nmk16_state,grdnstrm)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_spriteram_old = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
- state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
+ m_spriteram_old = auto_alloc_array_clear(machine(), UINT16, 0x1000/2);
+ m_spriteram_old2 = auto_alloc_array_clear(machine(), UINT16, 0x1000/2);
- state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::get_tile_info_0_8bit),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),
+ m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::get_tile_info_0_8bit),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),
16,16,
TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state), TILEMAP_SCAN_COLS,
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this), TILEMAP_SCAN_COLS,
8,8,
32,32);
- state->m_tx_tilemap->set_transparent_pen(0xf);
+ m_tx_tilemap->set_transparent_pen(0xf);
}
-VIDEO_START( firehawk )
+VIDEO_START_MEMBER(nmk16_state,firehawk)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_spriteram_old = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
- state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
+ m_spriteram_old = auto_alloc_array_clear(machine(), UINT16, 0x1000/2);
+ m_spriteram_old2 = auto_alloc_array_clear(machine(), UINT16, 0x1000/2);
- state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::get_tile_info_0_8bit),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),
+ m_bg_tilemap0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::get_tile_info_0_8bit),this), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),this),
16,16,
TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state), TILEMAP_SCAN_COLS,
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),this), TILEMAP_SCAN_COLS,
8,8,
32,32);
- state->m_tx_tilemap->set_transparent_pen(0xf);
+ m_tx_tilemap->set_transparent_pen(0xf);
}
diff --git a/src/mame/video/nova2001.c b/src/mame/video/nova2001.c
index 8fa8aa0917a..af5c1576a48 100644
--- a/src/mame/video/nova2001.c
+++ b/src/mame/video/nova2001.c
@@ -8,9 +8,9 @@
*
*************************************/
-PALETTE_INIT( nova2001 )
+PALETTE_INIT_MEMBER(nova2001_state,nova2001)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* Color #1 is used for palette animation. */
@@ -44,7 +44,7 @@ PALETTE_INIT( nova2001 )
/* blue component */
b = (((color_prom[entry] >> 4) & 0x0c) | intensity) * 0x11;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -152,38 +152,34 @@ TILE_GET_INFO_MEMBER(nova2001_state::raiders5_get_fg_tile_info)
*
*************************************/
-VIDEO_START( nova2001 )
+VIDEO_START_MEMBER(nova2001_state,nova2001)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::nova2001_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::nova2001_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(0, -7);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::nova2001_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::nova2001_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scrolldx(0, -7);
}
-VIDEO_START( pkunwar )
+VIDEO_START_MEMBER(nova2001_state,pkunwar)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::pkunwar_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::pkunwar_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_transparent_pen(0);
}
-VIDEO_START( ninjakun )
+VIDEO_START_MEMBER(nova2001_state,ninjakun)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::ninjakun_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::ninjakun_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(7, 0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::ninjakun_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::ninjakun_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scrolldx(7, 0);
}
-VIDEO_START( raiders5 )
+VIDEO_START_MEMBER(nova2001_state,raiders5)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::raiders5_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::raiders5_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(7, 0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::raiders5_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::raiders5_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scrolldx(7, 0);
}
diff --git a/src/mame/video/nycaptor.c b/src/mame/video/nycaptor.c
index 7588941a16d..e4f02d4893b 100644
--- a/src/mame/video/nycaptor.c
+++ b/src/mame/video/nycaptor.c
@@ -71,23 +71,22 @@ TILE_GET_INFO_MEMBER(nycaptor_state::get_tile_info)
}
-VIDEO_START( nycaptor )
+void nycaptor_state::video_start()
{
- nycaptor_state *state = machine.driver_data<nycaptor_state>();
- state->m_spriteram = auto_alloc_array(machine, UINT8, 160);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nycaptor_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32 );
+ m_spriteram = auto_alloc_array(machine(), UINT8, 160);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(nycaptor_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32 );
- state->m_bg_tilemap->set_transmask(0, 0xf800, 0x7ff); //split 0
- state->m_bg_tilemap->set_transmask(1, 0xfe00, 0x01ff);//split 1
- state->m_bg_tilemap->set_transmask(2, 0xfffc, 0x0003);//split 2
- state->m_bg_tilemap->set_transmask(3, 0xfff0, 0x000f);//split 3
+ m_bg_tilemap->set_transmask(0, 0xf800, 0x7ff); //split 0
+ m_bg_tilemap->set_transmask(1, 0xfe00, 0x01ff);//split 1
+ m_bg_tilemap->set_transmask(2, 0xfffc, 0x0003);//split 2
+ m_bg_tilemap->set_transmask(3, 0xfff0, 0x000f);//split 3
- state->m_generic_paletteram_8.allocate(0x200);
- state->m_generic_paletteram2_8.allocate(0x200);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_generic_paletteram_8.allocate(0x200);
+ m_generic_paletteram2_8.allocate(0x200);
+ m_bg_tilemap->set_scroll_cols(32);
- state->save_pointer(NAME(state->m_spriteram), 160);
+ save_pointer(NAME(m_spriteram), 160);
}
WRITE8_MEMBER(nycaptor_state::nycaptor_videoram_w)
diff --git a/src/mame/video/offtwall.c b/src/mame/video/offtwall.c
index 29fbf6897b4..054dc352867 100644
--- a/src/mame/video/offtwall.c
+++ b/src/mame/video/offtwall.c
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(offtwall_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( offtwall )
+VIDEO_START_MEMBER(offtwall_state,offtwall)
{
static const atarimo_desc modesc =
{
@@ -71,13 +71,12 @@ VIDEO_START( offtwall )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- offtwall_state *state = machine.driver_data<offtwall_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(offtwall_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(offtwall_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
}
diff --git a/src/mame/video/ohmygod.c b/src/mame/video/ohmygod.c
index 14d52271fd4..b7ccaefdb40 100644
--- a/src/mame/video/ohmygod.c
+++ b/src/mame/video/ohmygod.c
@@ -26,10 +26,9 @@ TILE_GET_INFO_MEMBER(ohmygod_state::get_tile_info)
***************************************************************************/
-VIDEO_START( ohmygod )
+void ohmygod_state::video_start()
{
- ohmygod_state *state = machine.driver_data<ohmygod_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ohmygod_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ohmygod_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
}
diff --git a/src/mame/video/ojankohs.c b/src/mame/video/ojankohs.c
index 7b7008a6659..2a5d1bb0f3d 100644
--- a/src/mame/video/ojankohs.c
+++ b/src/mame/video/ojankohs.c
@@ -17,13 +17,13 @@
******************************************************************************/
-PALETTE_INIT( ojankoy )
+PALETTE_INIT_MEMBER(ojankohs_state,ojankoy)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int bit0, bit1, bit2, bit3, bit4, r, g, b;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
bit0 = BIT(color_prom[0], 2);
bit1 = BIT(color_prom[0], 3);
@@ -31,20 +31,20 @@ PALETTE_INIT( ojankoy )
bit3 = BIT(color_prom[0], 5);
bit4 = BIT(color_prom[0], 6);
r = 0x08 * bit0 + 0x11 * bit1 + 0x21 * bit2 + 0x43 * bit3 + 0x82 * bit4;
- bit0 = BIT(color_prom[machine.total_colors()], 5);
- bit1 = BIT(color_prom[machine.total_colors()], 6);
- bit2 = BIT(color_prom[machine.total_colors()], 7);
+ bit0 = BIT(color_prom[machine().total_colors()], 5);
+ bit1 = BIT(color_prom[machine().total_colors()], 6);
+ bit2 = BIT(color_prom[machine().total_colors()], 7);
bit3 = BIT(color_prom[0], 0);
bit4 = BIT(color_prom[0], 1);
g = 0x08 * bit0 + 0x11 * bit1 + 0x21 * bit2 + 0x43 * bit3 + 0x82 * bit4;
- bit0 = BIT(color_prom[machine.total_colors()], 0);
- bit1 = BIT(color_prom[machine.total_colors()], 1);
- bit2 = BIT(color_prom[machine.total_colors()], 2);
- bit3 = BIT(color_prom[machine.total_colors()], 3);
- bit4 = BIT(color_prom[machine.total_colors()], 4);
+ bit0 = BIT(color_prom[machine().total_colors()], 0);
+ bit1 = BIT(color_prom[machine().total_colors()], 1);
+ bit2 = BIT(color_prom[machine().total_colors()], 2);
+ bit3 = BIT(color_prom[machine().total_colors()], 3);
+ bit4 = BIT(color_prom[machine().total_colors()], 4);
b = 0x08 * bit0 + 0x11 * bit1 + 0x21 * bit2 + 0x43 * bit3 + 0x82 * bit4;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
color_prom++;
}
}
@@ -257,34 +257,31 @@ WRITE8_MEMBER(ojankohs_state::ojankoc_videoram_w)
******************************************************************************/
-VIDEO_START( ojankohs )
+VIDEO_START_MEMBER(ojankohs_state,ojankohs)
{
- ojankohs_state *state = machine.driver_data<ojankohs_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ojankohs_state::ojankohs_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
-// state->m_videoram = auto_alloc_array(machine, UINT8, 0x1000);
-// state->m_colorram = auto_alloc_array(machine, UINT8, 0x1000);
-// state->m_paletteram = auto_alloc_array(machine, UINT8, 0x800);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ojankohs_state::ojankohs_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+// m_videoram = auto_alloc_array(machine(), UINT8, 0x1000);
+// m_colorram = auto_alloc_array(machine(), UINT8, 0x1000);
+// m_paletteram = auto_alloc_array(machine(), UINT8, 0x800);
}
-VIDEO_START( ojankoy )
+VIDEO_START_MEMBER(ojankohs_state,ojankoy)
{
- ojankohs_state *state = machine.driver_data<ojankohs_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ojankohs_state::ojankoy_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
-// state->m_videoram = auto_alloc_array(machine, UINT8, 0x2000);
-// state->m_colorram = auto_alloc_array(machine, UINT8, 0x1000);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ojankohs_state::ojankoy_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+// m_videoram = auto_alloc_array(machine(), UINT8, 0x2000);
+// m_colorram = auto_alloc_array(machine(), UINT8, 0x1000);
}
-VIDEO_START( ojankoc )
+VIDEO_START_MEMBER(ojankohs_state,ojankoc)
{
- ojankohs_state *state = machine.driver_data<ojankohs_state>();
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap);
- state->m_videoram.allocate(0x8000);
- state->m_paletteram.allocate(0x20);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap);
+ m_videoram.allocate(0x8000);
+ m_paletteram.allocate(0x20);
- state->save_item(NAME(state->m_tmpbitmap));
+ save_item(NAME(m_tmpbitmap));
}
diff --git a/src/mame/video/oneshot.c b/src/mame/video/oneshot.c
index 2fed7650108..fd2dea76aa4 100644
--- a/src/mame/video/oneshot.c
+++ b/src/mame/video/oneshot.c
@@ -47,17 +47,16 @@ WRITE16_MEMBER(oneshot_state::oneshot_fg_videoram_w)
m_fg_tilemap->mark_tile_dirty(offset / 2);
}
-VIDEO_START( oneshot )
+void oneshot_state::video_start()
{
- oneshot_state *state = machine.driver_data<oneshot_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(oneshot_state::get_oneshot_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_mid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(oneshot_state::get_oneshot_mid_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(oneshot_state::get_oneshot_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(oneshot_state::get_oneshot_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_mid_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(oneshot_state::get_oneshot_mid_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(oneshot_state::get_oneshot_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_mid_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_mid_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_crosshairs( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/orbit.c b/src/mame/video/orbit.c
index 064048d7548..bf0dc8252b4 100644
--- a/src/mame/video/orbit.c
+++ b/src/mame/video/orbit.c
@@ -28,10 +28,9 @@ TILE_GET_INFO_MEMBER(orbit_state::get_tile_info)
}
-VIDEO_START( orbit )
+void orbit_state::video_start()
{
- orbit_state *state = machine.driver_data<orbit_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(orbit_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 30);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(orbit_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 30);
}
diff --git a/src/mame/video/othldrby.c b/src/mame/video/othldrby.c
index d34a97a13c5..d0a9b887d52 100644
--- a/src/mame/video/othldrby.c
+++ b/src/mame/video/othldrby.c
@@ -51,24 +51,23 @@ TILE_GET_INFO_MEMBER(othldrby_state::get_tile_info2)
***************************************************************************/
-VIDEO_START( othldrby )
+void othldrby_state::video_start()
{
- othldrby_state *state = machine.driver_data<othldrby_state>();
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(othldrby_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(othldrby_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(othldrby_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(othldrby_state::get_tile_info0),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(othldrby_state::get_tile_info1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(othldrby_state::get_tile_info2),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_vram = auto_alloc_array(machine, UINT16, VIDEORAM_SIZE);
- state->m_buf_spriteram = auto_alloc_array(machine, UINT16, 2 * SPRITERAM_SIZE);
- state->m_buf_spriteram2 = state->m_buf_spriteram + SPRITERAM_SIZE;
+ m_vram = auto_alloc_array(machine(), UINT16, VIDEORAM_SIZE);
+ m_buf_spriteram = auto_alloc_array(machine(), UINT16, 2 * SPRITERAM_SIZE);
+ m_buf_spriteram2 = m_buf_spriteram + SPRITERAM_SIZE;
- state->m_bg_tilemap[0]->set_transparent_pen(0);
- state->m_bg_tilemap[1]->set_transparent_pen(0);
- state->m_bg_tilemap[2]->set_transparent_pen(0);
+ m_bg_tilemap[0]->set_transparent_pen(0);
+ m_bg_tilemap[1]->set_transparent_pen(0);
+ m_bg_tilemap[2]->set_transparent_pen(0);
- state->save_pointer(NAME(state->m_vram), VIDEORAM_SIZE);
- state->save_pointer(NAME(state->m_buf_spriteram), 2 * SPRITERAM_SIZE);
+ save_pointer(NAME(m_vram), VIDEORAM_SIZE);
+ save_pointer(NAME(m_buf_spriteram), 2 * SPRITERAM_SIZE);
}
diff --git a/src/mame/video/othunder.c b/src/mame/video/othunder.c
index 3942ce707b8..08aaabff766 100644
--- a/src/mame/video/othunder.c
+++ b/src/mame/video/othunder.c
@@ -3,13 +3,12 @@
#include "includes/othunder.h"
-VIDEO_START( othunder )
+void othunder_state::video_start()
{
/* Up to $800/8 big sprites, requires 0x100 * sizeof(*spritelist)
Multiply this by 32 to give room for the number of small sprites,
which are what actually get put in the structure. */
- othunder_state *state = machine.driver_data<othunder_state>();
- state->m_spritelist = auto_alloc_array(machine, struct othunder_tempsprite, 0x2000);
+ m_spritelist = auto_alloc_array(machine(), struct othunder_tempsprite, 0x2000);
}
diff --git a/src/mame/video/pacland.c b/src/mame/video/pacland.c
index 4e6388d1101..d7ccd16a1e8 100644
--- a/src/mame/video/pacland.c
+++ b/src/mame/video/pacland.c
@@ -88,63 +88,62 @@ static void switch_palette(running_machine &machine)
}
}
-PALETTE_INIT( pacland )
+void pacland_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- pacland_state *state = machine.driver_data<pacland_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 256);
+ machine().colortable = colortable_alloc(machine(), 256);
- state->m_color_prom = color_prom; /* we'll need this later */
+ m_color_prom = color_prom; /* we'll need this later */
/* skip the palette data, it will be initialized later */
color_prom += 2 * 0x400;
/* color_prom now points to the beginning of the lookup table */
for (i = 0;i < 0x400;i++)
- colortable_entry_set_value(machine.colortable, machine.gfx[0]->colorbase() + i, *color_prom++);
+ colortable_entry_set_value(machine().colortable, machine().gfx[0]->colorbase() + i, *color_prom++);
/* Background */
for (i = 0;i < 0x400;i++)
- colortable_entry_set_value(machine.colortable, machine.gfx[1]->colorbase() + i, *color_prom++);
+ colortable_entry_set_value(machine().colortable, machine().gfx[1]->colorbase() + i, *color_prom++);
/* Sprites */
for (i = 0;i < 0x400;i++)
- colortable_entry_set_value(machine.colortable, machine.gfx[2]->colorbase() + i, *color_prom++);
+ colortable_entry_set_value(machine().colortable, machine().gfx[2]->colorbase() + i, *color_prom++);
- state->m_palette_bank = 0;
- switch_palette(machine);
+ m_palette_bank = 0;
+ switch_palette(machine());
/* precalculate transparency masks for sprites */
- state->m_transmask[0] = auto_alloc_array(machine, UINT32, 64);
- state->m_transmask[1] = auto_alloc_array(machine, UINT32, 64);
- state->m_transmask[2] = auto_alloc_array(machine, UINT32, 64);
+ m_transmask[0] = auto_alloc_array(machine(), UINT32, 64);
+ m_transmask[1] = auto_alloc_array(machine(), UINT32, 64);
+ m_transmask[2] = auto_alloc_array(machine(), UINT32, 64);
for (i = 0; i < 64; i++)
{
int palentry;
/* start with no transparency */
- state->m_transmask[0][i] = state->m_transmask[1][i] = state->m_transmask[2][i] = 0;
+ m_transmask[0][i] = m_transmask[1][i] = m_transmask[2][i] = 0;
/* iterate over all palette entries except the last one */
for (palentry = 0; palentry < 0x100; palentry++)
{
- UINT32 mask = colortable_get_transpen_mask(machine.colortable, machine.gfx[2], i, palentry);
+ UINT32 mask = colortable_get_transpen_mask(machine().colortable, machine().gfx[2], i, palentry);
/* transmask[0] is a mask that is used to draw only high priority sprite pixels; thus, pens
$00-$7F are opaque, and others are transparent */
if (palentry >= 0x80)
- state->m_transmask[0][i] |= mask;
+ m_transmask[0][i] |= mask;
/* transmask[1] is a normal drawing masking with palette entries $7F and $FF transparent */
if ((palentry & 0x7f) == 0x7f)
- state->m_transmask[1][i] |= mask;
+ m_transmask[1][i] |= mask;
/* transmask[2] is a mask of the topmost priority sprite pixels; thus pens $F0-$FE are
opaque, and others are transparent */
if (palentry < 0xf0 || palentry == 0xff)
- state->m_transmask[2][i] |= mask;
+ m_transmask[2][i] |= mask;
}
}
}
@@ -190,32 +189,31 @@ TILE_GET_INFO_MEMBER(pacland_state::get_fg_tile_info)
***************************************************************************/
-VIDEO_START( pacland )
+void pacland_state::video_start()
{
- pacland_state *state = machine.driver_data<pacland_state>();
int color;
- machine.primary_screen->register_screen_bitmap(state->m_fg_bitmap);
- state->m_fg_bitmap.fill(0xffff);
+ machine().primary_screen->register_screen_bitmap(m_fg_bitmap);
+ m_fg_bitmap.fill(0xffff);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacland_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacland_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pacland_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pacland_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fg_tilemap->set_scroll_rows(32);
+ m_fg_tilemap->set_scroll_rows(32);
/* create one group per color code; for each group, set the transparency mask
to correspond to the pens that are 0x7f or 0xff */
- assert(machine.gfx[0]->colors() <= TILEMAP_NUM_GROUPS);
- for (color = 0; color < machine.gfx[0]->colors(); color++)
+ assert(machine().gfx[0]->colors() <= TILEMAP_NUM_GROUPS);
+ for (color = 0; color < machine().gfx[0]->colors(); color++)
{
- UINT32 mask = colortable_get_transpen_mask(machine.colortable, machine.gfx[0], color, 0x7f);
- mask |= colortable_get_transpen_mask(machine.colortable, machine.gfx[0], color, 0xff);
- state->m_fg_tilemap->set_transmask(color, mask, 0);
+ UINT32 mask = colortable_get_transpen_mask(machine().colortable, machine().gfx[0], color, 0x7f);
+ mask |= colortable_get_transpen_mask(machine().colortable, machine().gfx[0], color, 0xff);
+ m_fg_tilemap->set_transmask(color, mask, 0);
}
- state_save_register_global(machine, state->m_palette_bank);
- state_save_register_global(machine, state->m_scroll0);
- state_save_register_global(machine, state->m_scroll1);
+ state_save_register_global(machine(), m_palette_bank);
+ state_save_register_global(machine(), m_scroll0);
+ state_save_register_global(machine(), m_scroll1);
}
diff --git a/src/mame/video/pacman.c b/src/mame/video/pacman.c
index 4eaca441462..3edba7c7c28 100644
--- a/src/mame/video/pacman.c
+++ b/src/mame/video/pacman.c
@@ -61,9 +61,9 @@
***************************************************************************/
-PALETTE_INIT( pacman )
+PALETTE_INIT_MEMBER(pacman_state,pacman)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[3] = { 1000, 470, 220 };
double rweights[3], gweights[3], bweights[2];
int i;
@@ -75,7 +75,7 @@ PALETTE_INIT( pacman )
2, &resistances[1], bweights, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
/* create a lookup table for the palette */
for (i = 0; i < 32; i++)
@@ -100,7 +100,7 @@ PALETTE_INIT( pacman )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -112,10 +112,10 @@ PALETTE_INIT( pacman )
UINT8 ctabentry = color_prom[i] & 0x0f;
/* first palette bank */
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
/* second palette bank */
- colortable_entry_set_value(machine.colortable, i + 64*4, 0x10 + ctabentry);
+ colortable_entry_set_value(machine().colortable, i + 64*4, 0x10 + ctabentry);
}
}
@@ -159,36 +159,34 @@ static void init_save_state(running_machine &machine)
}
-VIDEO_START( pacman )
+VIDEO_START_MEMBER(pacman_state,pacman)
{
- pacman_state *state = machine.driver_data<pacman_state>();
- init_save_state(machine);
+ init_save_state(machine());
- state->m_charbank = 0;
- state->m_spritebank = 0;
- state->m_palettebank = 0;
- state->m_colortablebank = 0;
- state->m_flipscreen = 0;
- state->m_bgpriority = 0;
- state->m_inv_spr = 0;
+ m_charbank = 0;
+ m_spritebank = 0;
+ m_palettebank = 0;
+ m_colortablebank = 0;
+ m_flipscreen = 0;
+ m_bgpriority = 0;
+ m_inv_spr = 0;
/* In the Pac Man based games (NOT Pengo) the first two sprites must be offset */
/* one pixel to the left to get a more correct placement */
- state->m_xoffsethack = 1;
+ m_xoffsethack = 1;
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::pacman_get_tile_info),state), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),state), 8, 8, 36, 28 );
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::pacman_get_tile_info),this), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),this), 8, 8, 36, 28 );
- state->m_bg_tilemap->set_scrolldx(0, 384 - 288 );
- state->m_bg_tilemap->set_scrolldy(0, 264 - 224 );
+ m_bg_tilemap->set_scrolldx(0, 384 - 288 );
+ m_bg_tilemap->set_scrolldy(0, 264 - 224 );
}
-VIDEO_START( birdiy )
+VIDEO_START_MEMBER(pacman_state,birdiy)
{
- pacman_state *state = machine.driver_data<pacman_state>();
- VIDEO_START_CALL( pacman );
- state->m_xoffsethack = 0;
- state->m_inv_spr = 1; // sprites are mirrored in X-axis compared to normal behaviour
+ VIDEO_START_CALL_MEMBER( pacman );
+ m_xoffsethack = 0;
+ m_inv_spr = 1; // sprites are mirrored in X-axis compared to normal behaviour
}
WRITE8_MEMBER(pacman_state::pacman_videoram_w)
@@ -318,24 +316,23 @@ SCREEN_UPDATE_IND16( pacman )
**************************************************************************/
-VIDEO_START( pengo )
+VIDEO_START_MEMBER(pacman_state,pengo)
{
- pacman_state *state = machine.driver_data<pacman_state>();
- init_save_state(machine);
+ init_save_state(machine());
- state->m_charbank = 0;
- state->m_spritebank = 0;
- state->m_palettebank = 0;
- state->m_colortablebank = 0;
- state->m_flipscreen = 0;
- state->m_bgpriority = 0;
- state->m_inv_spr = 0;
- state->m_xoffsethack = 0;
+ m_charbank = 0;
+ m_spritebank = 0;
+ m_palettebank = 0;
+ m_colortablebank = 0;
+ m_flipscreen = 0;
+ m_bgpriority = 0;
+ m_inv_spr = 0;
+ m_xoffsethack = 0;
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::pacman_get_tile_info),state), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),state), 8, 8, 36, 28 );
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::pacman_get_tile_info),this), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),this), 8, 8, 36, 28 );
- state->m_bg_tilemap->set_scrolldx(0, 384 - 288 );
- state->m_bg_tilemap->set_scrolldy(0, 264 - 224 );
+ m_bg_tilemap->set_scrolldx(0, 384 - 288 );
+ m_bg_tilemap->set_scrolldy(0, 264 - 224 );
}
WRITE8_MEMBER(pacman_state::pengo_palettebank_w)
@@ -385,23 +382,22 @@ TILE_GET_INFO_MEMBER(pacman_state::s2650_get_tile_info)
SET_TILE_INFO_MEMBER(0,code,attr & 0x1f,0);
}
-VIDEO_START( s2650games )
+VIDEO_START_MEMBER(pacman_state,s2650games)
{
- pacman_state *state = machine.driver_data<pacman_state>();
- init_save_state(machine);
+ init_save_state(machine());
- state->m_charbank = 0;
- state->m_spritebank = 0;
- state->m_palettebank = 0;
- state->m_colortablebank = 0;
- state->m_flipscreen = 0;
- state->m_bgpriority = 0;
- state->m_inv_spr = 0;
- state->m_xoffsethack = 1;
+ m_charbank = 0;
+ m_spritebank = 0;
+ m_palettebank = 0;
+ m_colortablebank = 0;
+ m_flipscreen = 0;
+ m_bgpriority = 0;
+ m_inv_spr = 0;
+ m_xoffsethack = 1;
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::s2650_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::s2650_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32 );
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_scroll_cols(32);
}
SCREEN_UPDATE_IND16( s2650games )
@@ -556,24 +552,23 @@ static void jrpacman_mark_tile_dirty( running_machine &machine, int offset )
}
}
-VIDEO_START( jrpacman )
+VIDEO_START_MEMBER(pacman_state,jrpacman)
{
- pacman_state *state = machine.driver_data<pacman_state>();
- init_save_state(machine);
+ init_save_state(machine());
- state->m_charbank = 0;
- state->m_spritebank = 0;
- state->m_palettebank = 0;
- state->m_colortablebank = 0;
- state->m_flipscreen = 0;
- state->m_bgpriority = 0;
- state->m_inv_spr = 0;
- state->m_xoffsethack = 1;
+ m_charbank = 0;
+ m_spritebank = 0;
+ m_palettebank = 0;
+ m_colortablebank = 0;
+ m_flipscreen = 0;
+ m_bgpriority = 0;
+ m_inv_spr = 0;
+ m_xoffsethack = 1;
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::jrpacman_get_tile_info),state),tilemap_mapper_delegate(FUNC(pacman_state::jrpacman_scan_rows),state),8,8,36,54 );
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::jrpacman_get_tile_info),this),tilemap_mapper_delegate(FUNC(pacman_state::jrpacman_scan_rows),this),8,8,36,54 );
- state->m_bg_tilemap->set_transparent_pen(0 );
- state->m_bg_tilemap->set_scroll_cols(36 );
+ m_bg_tilemap->set_transparent_pen(0 );
+ m_bg_tilemap->set_scroll_cols(36 );
}
WRITE8_MEMBER(pacman_state::jrpacman_videoram_w)
diff --git a/src/mame/video/pandoras.c b/src/mame/video/pandoras.c
index e90e6cc06b3..7c7b37e0ac8 100644
--- a/src/mame/video/pandoras.c
+++ b/src/mame/video/pandoras.c
@@ -21,9 +21,9 @@
***************************************************************************/
-PALETTE_INIT( pandoras )
+void pandoras_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -36,7 +36,7 @@ PALETTE_INIT( pandoras )
2, &resistances_b[0], bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -61,7 +61,7 @@ PALETTE_INIT( pandoras )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -71,14 +71,14 @@ PALETTE_INIT( pandoras )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* characters */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -105,12 +105,11 @@ TILE_GET_INFO_MEMBER(pandoras_state::get_tile_info0)
***************************************************************************/
-VIDEO_START( pandoras )
+void pandoras_state::video_start()
{
- pandoras_state *state = machine.driver_data<pandoras_state>();
- state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pandoras_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_layer0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pandoras_state::get_tile_info0),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->save_item(NAME(state->m_flipscreen));
+ save_item(NAME(m_flipscreen));
}
/***************************************************************************
diff --git a/src/mame/video/paradise.c b/src/mame/video/paradise.c
index 71384b85890..a23dab648a2 100644
--- a/src/mame/video/paradise.c
+++ b/src/mame/video/paradise.c
@@ -151,22 +151,21 @@ WRITE8_MEMBER(paradise_state::paradise_pixmap_w)
***************************************************************************/
-VIDEO_START( paradise )
+void paradise_state::video_start()
{
- paradise_state *state = machine.driver_data<paradise_state>();
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(paradise_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(paradise_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
- state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(paradise_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(paradise_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(paradise_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
+ m_tilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(paradise_state::get_tile_info_2),this), TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
/* pixmap */
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap);
- state->m_tilemap_0->set_transparent_pen(0x0f);
- state->m_tilemap_1->set_transparent_pen(0xff);
- state->m_tilemap_2->set_transparent_pen(0xff);
+ m_tilemap_0->set_transparent_pen(0x0f);
+ m_tilemap_1->set_transparent_pen(0xff);
+ m_tilemap_2->set_transparent_pen(0xff);
- state->save_item(NAME(state->m_tmpbitmap));
+ save_item(NAME(m_tmpbitmap));
}
diff --git a/src/mame/video/pass.c b/src/mame/video/pass.c
index c4259502677..27a243ad2a3 100644
--- a/src/mame/video/pass.c
+++ b/src/mame/video/pass.c
@@ -43,14 +43,13 @@ WRITE16_MEMBER(pass_state::pass_fg_videoram_w)
/* video update / start */
-VIDEO_START( pass )
+void pass_state::video_start()
{
- pass_state *state = machine.driver_data<pass_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pass_state::get_pass_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pass_state::get_pass_fg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pass_state::get_pass_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pass_state::get_pass_fg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
- state->m_fg_tilemap->set_transparent_pen(255);
+ m_fg_tilemap->set_transparent_pen(255);
}
SCREEN_UPDATE_IND16( pass )
diff --git a/src/mame/video/pastelg.c b/src/mame/video/pastelg.c
index 914bf9090ca..45082caea6b 100644
--- a/src/mame/video/pastelg.c
+++ b/src/mame/video/pastelg.c
@@ -19,13 +19,13 @@ static void pastelg_gfxdraw(running_machine &machine);
******************************************************************************/
-PALETTE_INIT( pastelg )
+void pastelg_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int bit0, bit1, bit2, bit3, r, g, b;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
bit0 = (color_prom[0] >> 0) & 0x01;
bit1 = (color_prom[0] >> 1) & 0x01;
@@ -37,13 +37,13 @@ PALETTE_INIT( pastelg )
bit2 = (color_prom[0] >> 6) & 0x01;
bit3 = (color_prom[0] >> 7) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -283,14 +283,13 @@ static void pastelg_gfxdraw(running_machine &machine)
******************************************************************************/
-VIDEO_START( pastelg )
+void pastelg_state::video_start()
{
- pastelg_state *state = machine.driver_data<pastelg_state>();
- int width = machine.primary_screen->width();
- int height = machine.primary_screen->height();
+ int width = machine().primary_screen->width();
+ int height = machine().primary_screen->height();
- state->m_videoram = auto_alloc_array_clear(machine, UINT8, width * height);
- state->m_clut = auto_alloc_array(machine, UINT8, 0x10);
+ m_videoram = auto_alloc_array_clear(machine(), UINT8, width * height);
+ m_clut = auto_alloc_array(machine(), UINT8, 0x10);
}
/******************************************************************************
diff --git a/src/mame/video/pbaction.c b/src/mame/video/pbaction.c
index 1bbbc43e546..ef351649808 100644
--- a/src/mame/video/pbaction.c
+++ b/src/mame/video/pbaction.c
@@ -68,13 +68,12 @@ TILE_GET_INFO_MEMBER(pbaction_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( pbaction )
+void pbaction_state::video_start()
{
- pbaction_state *state = machine.driver_data<pbaction_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pbaction_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pbaction_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pbaction_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pbaction_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/pcktgal.c b/src/mame/video/pcktgal.c
index d3e588b1de6..d143cca2d13 100644
--- a/src/mame/video/pcktgal.c
+++ b/src/mame/video/pcktgal.c
@@ -2,12 +2,12 @@
#include "includes/pcktgal.h"
#include "video/decbac06.h"
-PALETTE_INIT( pcktgal )
+void pcktgal_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,bit3,r,g,b;
@@ -21,13 +21,13 @@ PALETTE_INIT( pcktgal )
bit2 = (color_prom[i] >> 6) & 0x01;
bit3 = (color_prom[i] >> 7) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- bit0 = (color_prom[i + machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[i + machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[i + machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[i + machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[i + machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[i + machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[i + machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[i + machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
diff --git a/src/mame/video/pgm.c b/src/mame/video/pgm.c
index 8fed628e7b3..47db2d3caac 100644
--- a/src/mame/video/pgm.c
+++ b/src/mame/video/pgm.c
@@ -613,29 +613,28 @@ TILE_GET_INFO_MEMBER(pgm_state::get_pgm_bg_tilemap_tile_info)
/*** Video - Start / Update ****************************************************/
-VIDEO_START( pgm )
+VIDEO_START_MEMBER(pgm_state,pgm)
{
- pgm_state *state = machine.driver_data<pgm_state>();
int i;
- state->m_bdata = state->memregion("sprmask")->base();
- state->m_bdatasize = state->memregion("sprmask")->bytes() - 1;
- state->m_aoffset = 0;
- state->m_boffset = 0;
+ m_bdata = memregion("sprmask")->base();
+ m_bdatasize = memregion("sprmask")->bytes() - 1;
+ m_aoffset = 0;
+ m_boffset = 0;
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pgm_state::get_pgm_tx_tilemap_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pgm_state::get_pgm_tx_tilemap_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tx_tilemap->set_transparent_pen(15);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pgm_state::get_pgm_bg_tilemap_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 64, 16);
- state->m_bg_tilemap->set_transparent_pen(31);
- state->m_bg_tilemap->set_scroll_rows(16 * 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pgm_state::get_pgm_bg_tilemap_tile_info),this), TILEMAP_SCAN_ROWS, 32, 32, 64, 16);
+ m_bg_tilemap->set_transparent_pen(31);
+ m_bg_tilemap->set_scroll_rows(16 * 32);
for (i = 0; i < 0x1200 / 2; i++)
- palette_set_color(machine, i, MAKE_RGB(0, 0, 0));
+ palette_set_color(machine(), i, MAKE_RGB(0, 0, 0));
- state->m_spritebufferram = auto_alloc_array_clear(machine, UINT16, 0xa00/2);
+ m_spritebufferram = auto_alloc_array_clear(machine(), UINT16, 0xa00/2);
- state->save_pointer(NAME(state->m_spritebufferram), 0xa00/2);
+ save_pointer(NAME(m_spritebufferram), 0xa00/2);
}
SCREEN_UPDATE_IND16( pgm )
diff --git a/src/mame/video/phoenix.c b/src/mame/video/phoenix.c
index 33dac40ff1e..5420043ba6f 100644
--- a/src/mame/video/phoenix.c
+++ b/src/mame/video/phoenix.c
@@ -76,58 +76,58 @@ static const res_net_info survival_net_info =
}
};
-PALETTE_INIT( phoenix )
+PALETTE_INIT_MEMBER(phoenix_state,phoenix)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &phoenix_decode_info, &phoenix_net_info);
+ rgb = compute_res_net_all(machine(), color_prom, &phoenix_decode_info, &phoenix_net_info);
/* native order */
for (i=0;i<256;i++)
{
int col;
col = ((i << 3 ) & 0x18) | ((i>>2) & 0x07) | (i & 0x60);
- palette_set_color(machine,i,rgb[col]);
+ palette_set_color(machine(),i,rgb[col]);
}
- palette_normalize_range(machine.palette, 0, 255, 0, 255);
- auto_free(machine, rgb);
+ palette_normalize_range(machine().palette, 0, 255, 0, 255);
+ auto_free(machine(), rgb);
}
-PALETTE_INIT( survival )
+PALETTE_INIT_MEMBER(phoenix_state,survival)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &phoenix_decode_info, &survival_net_info);
+ rgb = compute_res_net_all(machine(), color_prom, &phoenix_decode_info, &survival_net_info);
/* native order */
for (i=0;i<256;i++)
{
int col;
col = ((i << 3 ) & 0x18) | ((i>>2) & 0x07) | (i & 0x60);
- palette_set_color(machine,i,rgb[col]);
+ palette_set_color(machine(),i,rgb[col]);
}
- palette_normalize_range(machine.palette, 0, 255, 0, 255);
- auto_free(machine, rgb);
+ palette_normalize_range(machine().palette, 0, 255, 0, 255);
+ auto_free(machine(), rgb);
}
-PALETTE_INIT( pleiads )
+PALETTE_INIT_MEMBER(phoenix_state,pleiads)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &phoenix_decode_info, &pleiades_net_info);
+ rgb = compute_res_net_all(machine(), color_prom, &phoenix_decode_info, &pleiades_net_info);
/* native order */
for (i=0;i<256;i++)
{
int col;
col = ((i << 3 ) & 0x18) | ((i>>2) & 0x07) | (i & 0xE0);
- palette_set_color(machine,i,rgb[col]);
+ palette_set_color(machine(),i,rgb[col]);
}
- palette_normalize_range(machine.palette, 0, 255, 0, 255);
- auto_free(machine, rgb);
+ palette_normalize_range(machine().palette, 0, 255, 0, 255);
+ auto_free(machine(), rgb);
}
/***************************************************************************
@@ -170,49 +170,48 @@ TILE_GET_INFO_MEMBER(phoenix_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( phoenix )
+VIDEO_START_MEMBER(phoenix_state,phoenix)
{
- phoenix_state *state = machine.driver_data<phoenix_state>();
- state->m_videoram_pg[0] = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_videoram_pg[1] = auto_alloc_array(machine, UINT8, 0x1000);
+ m_videoram_pg[0] = auto_alloc_array(machine(), UINT8, 0x1000);
+ m_videoram_pg[1] = auto_alloc_array(machine(), UINT8, 0x1000);
- state->membank("bank1")->configure_entry(0, state->m_videoram_pg[0]);
- state->membank("bank1")->configure_entry(1, state->m_videoram_pg[1]);
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->configure_entry(0, m_videoram_pg[0]);
+ membank("bank1")->configure_entry(1, m_videoram_pg[1]);
+ membank("bank1")->set_entry(0);
- state->m_videoram_pg_index = 0;
- state->m_palette_bank = 0;
- state->m_cocktail_mode = 0;
+ m_videoram_pg_index = 0;
+ m_palette_bank = 0;
+ m_cocktail_mode = 0;
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(phoenix_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(phoenix_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(phoenix_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(phoenix_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scrolldx(0, (HTOTAL - HBSTART));
- state->m_bg_tilemap->set_scrolldx(0, (HTOTAL - HBSTART));
- state->m_fg_tilemap->set_scrolldy(0, (VTOTAL - VBSTART));
- state->m_bg_tilemap->set_scrolldy(0, (VTOTAL - VBSTART));
+ m_fg_tilemap->set_scrolldx(0, (HTOTAL - HBSTART));
+ m_bg_tilemap->set_scrolldx(0, (HTOTAL - HBSTART));
+ m_fg_tilemap->set_scrolldy(0, (VTOTAL - VBSTART));
+ m_bg_tilemap->set_scrolldy(0, (VTOTAL - VBSTART));
- state_save_register_global_pointer(machine, state->m_videoram_pg[0], 0x1000);
- state_save_register_global_pointer(machine, state->m_videoram_pg[1], 0x1000);
- state_save_register_global(machine, state->m_videoram_pg_index);
- state_save_register_global(machine, state->m_palette_bank);
- state_save_register_global(machine, state->m_cocktail_mode);
+ state_save_register_global_pointer(machine(), m_videoram_pg[0], 0x1000);
+ state_save_register_global_pointer(machine(), m_videoram_pg[1], 0x1000);
+ state_save_register_global(machine(), m_videoram_pg_index);
+ state_save_register_global(machine(), m_palette_bank);
+ state_save_register_global(machine(), m_cocktail_mode);
/* some more candidates */
- state->m_pleiads_protection_question = 0;
- state->m_survival_protection_value = 0;
- state->m_survival_sid_value = 0;
- state->m_survival_input_readc = 0;
- state->m_survival_input_latches[0] = 0;
- state->m_survival_input_latches[1] = 0;
-
- state_save_register_global(machine, state->m_pleiads_protection_question);
- state_save_register_global(machine, state->m_survival_protection_value);
- state_save_register_global(machine, state->m_survival_sid_value);
- state_save_register_global(machine, state->m_survival_input_readc);
- state_save_register_global_array(machine, state->m_survival_input_latches);
+ m_pleiads_protection_question = 0;
+ m_survival_protection_value = 0;
+ m_survival_sid_value = 0;
+ m_survival_input_readc = 0;
+ m_survival_input_latches[0] = 0;
+ m_survival_input_latches[1] = 0;
+
+ state_save_register_global(machine(), m_pleiads_protection_question);
+ state_save_register_global(machine(), m_survival_protection_value);
+ state_save_register_global(machine(), m_survival_sid_value);
+ state_save_register_global(machine(), m_survival_input_readc);
+ state_save_register_global_array(machine(), m_survival_input_latches);
}
diff --git a/src/mame/video/pingpong.c b/src/mame/video/pingpong.c
index 4a5a0397d6a..977168e7ae7 100644
--- a/src/mame/video/pingpong.c
+++ b/src/mame/video/pingpong.c
@@ -30,13 +30,13 @@
bit 0 -- 1 kohm resistor -- RED
***************************************************************************/
-PALETTE_INIT( pingpong )
+void pingpong_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -62,7 +62,7 @@ PALETTE_INIT( pingpong )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -72,14 +72,14 @@ PALETTE_INIT( pingpong )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = BITSWAP8(color_prom[i],7,6,5,4,0,1,2,3);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -105,10 +105,9 @@ TILE_GET_INFO_MEMBER(pingpong_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( pingpong )
+void pingpong_state::video_start()
{
- pingpong_state *state = machine.driver_data<pingpong_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pingpong_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pingpong_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/pirates.c b/src/mame/video/pirates.c
index 046ff3805e0..dc8de290b17 100644
--- a/src/mame/video/pirates.c
+++ b/src/mame/video/pirates.c
@@ -33,17 +33,16 @@ TILE_GET_INFO_MEMBER(pirates_state::get_bg_tile_info)
/* video start / update */
-VIDEO_START(pirates)
+void pirates_state::video_start()
{
- pirates_state *state = machine.driver_data<pirates_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pirates_state::get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,36,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pirates_state::get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,36,32);
/* Not sure how big they can be, Pirates uses only 32 columns, Genix 44 */
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pirates_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pirates_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS, 8,8,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pirates_state::get_fg_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pirates_state::get_bg_tile_info),this),TILEMAP_SCAN_COLS, 8,8,64,32);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/pitnrun.c b/src/mame/video/pitnrun.c
index 57a3f1e064f..8a825e425eb 100644
--- a/src/mame/video/pitnrun.c
+++ b/src/mame/video/pitnrun.c
@@ -113,9 +113,9 @@ static void pitnrun_spotlights(running_machine &machine)
}
-PALETTE_INIT (pitnrun)
+void pitnrun_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int bit0,bit1,bit2,r,g,b;
for (i = 0;i < 32*3; i++)
@@ -133,7 +133,7 @@ PALETTE_INIT (pitnrun)
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
/* fake bg palette for lightning effect*/
@@ -155,22 +155,21 @@ PALETTE_INIT (pitnrun)
g/=3;
b/=3;
- palette_set_color_rgb(machine,i+16,(r>0xff)?0xff:r,(g>0xff)?0xff:g,(b>0xff)?0xff:b);
+ palette_set_color_rgb(machine(),i+16,(r>0xff)?0xff:r,(g>0xff)?0xff:g,(b>0xff)?0xff:b);
}
}
-VIDEO_START(pitnrun)
+void pitnrun_state::video_start()
{
- pitnrun_state *state = machine.driver_data<pitnrun_state>();
- state->m_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pitnrun_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
- state->m_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pitnrun_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,8,8,32*4,32 );
- state->m_fg->set_transparent_pen(0 );
- state->m_tmp_bitmap[0] = auto_bitmap_ind16_alloc(machine,128,128);
- state->m_tmp_bitmap[1] = auto_bitmap_ind16_alloc(machine,128,128);
- state->m_tmp_bitmap[2] = auto_bitmap_ind16_alloc(machine,128,128);
- state->m_tmp_bitmap[3] = auto_bitmap_ind16_alloc(machine,128,128);
- pitnrun_spotlights(machine);
+ m_fg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pitnrun_state::get_tile_info1),this),TILEMAP_SCAN_ROWS,8,8,32,32 );
+ m_bg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pitnrun_state::get_tile_info2),this),TILEMAP_SCAN_ROWS,8,8,32*4,32 );
+ m_fg->set_transparent_pen(0 );
+ m_tmp_bitmap[0] = auto_bitmap_ind16_alloc(machine(),128,128);
+ m_tmp_bitmap[1] = auto_bitmap_ind16_alloc(machine(),128,128);
+ m_tmp_bitmap[2] = auto_bitmap_ind16_alloc(machine(),128,128);
+ m_tmp_bitmap[3] = auto_bitmap_ind16_alloc(machine(),128,128);
+ pitnrun_spotlights(machine());
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/playch10.c b/src/mame/video/playch10.c
index 8e1b667887f..ac6d84f6c3f 100644
--- a/src/mame/video/playch10.c
+++ b/src/mame/video/playch10.c
@@ -14,10 +14,10 @@ WRITE8_MEMBER(playch10_state::playch10_videoram_w)
}
}
-PALETTE_INIT( playch10 )
+void playch10_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- ppu2c0x_device *ppu = machine.device<ppu2c0x_device>("ppu");
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
+ ppu2c0x_device *ppu = machine().device<ppu2c0x_device>("ppu");
int i;
for (i = 0; i < 256; i++)
@@ -50,12 +50,12 @@ PALETTE_INIT( playch10 )
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
- ppu->init_palette_rgb(machine, 256);
+ ppu->init_palette_rgb(machine(), 256);
}
static void ppu_irq( device_t *device, int *ppu_regs )
@@ -89,23 +89,21 @@ TILE_GET_INFO_MEMBER(playch10_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( playch10 )
+void playch10_state::video_start()
{
- playch10_state *state = machine.driver_data<playch10_state>();
- const UINT8 *bios = state->memregion("maincpu")->base();
- state->m_pc10_bios = (bios[3] == 0x2a) ? 1 : 2;
+ const UINT8 *bios = memregion("maincpu")->base();
+ m_pc10_bios = (bios[3] == 0x2a) ? 1 : 2;
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playch10_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playch10_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
-VIDEO_START( playch10_hboard )
+VIDEO_START_MEMBER(playch10_state,playch10_hboard)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- const UINT8 *bios = state->memregion("maincpu")->base();
- state->m_pc10_bios = (bios[3] == 0x2a) ? 1 : 2;
+ const UINT8 *bios = memregion("maincpu")->base();
+ m_pc10_bios = (bios[3] == 0x2a) ? 1 : 2;
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playch10_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playch10_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/playmark.c b/src/mame/video/playmark.c
index c956fdd03e9..f1ee9f26ac5 100644
--- a/src/mame/video/playmark.c
+++ b/src/mame/video/playmark.c
@@ -104,132 +104,126 @@ TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_bg_tile_info)
***************************************************************************/
-VIDEO_START( bigtwin )
+VIDEO_START_MEMBER(playmark_state,bigtwin)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
- state->m_xoffset = 0;
- state->m_yoffset = 0;
- state->m_txt_tile_offset = 0;
+ m_xoffset = 0;
+ m_yoffset = 0;
+ m_txt_tile_offset = 0;
- state->m_pri_masks[0] = 0;
- state->m_pri_masks[1] = 0;
- state->m_pri_masks[2] = 0;
+ m_pri_masks[0] = 0;
+ m_pri_masks[1] = 0;
+ m_pri_masks[2] = 0;
}
-VIDEO_START( bigtwinb )
+VIDEO_START_MEMBER(playmark_state,bigtwinb)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwinb_get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwinb_get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(-4, -4);
+ m_bg_tilemap->set_scrolldx(-4, -4);
- state->m_xoffset = 1;
- state->m_yoffset = 0;
- state->m_txt_tile_offset = 0x8000;
+ m_xoffset = 1;
+ m_yoffset = 0;
+ m_txt_tile_offset = 0x8000;
- state->m_pri_masks[0] = 0;
- state->m_pri_masks[1] = 0;
- state->m_pri_masks[2] = 0;
+ m_pri_masks[0] = 0;
+ m_pri_masks[1] = 0;
+ m_pri_masks[2] = 0;
}
-VIDEO_START( wbeachvl )
+VIDEO_START_MEMBER(playmark_state,wbeachvl)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_xoffset = 0;
- state->m_yoffset = 0;
- state->m_txt_tile_offset = 0;
+ m_xoffset = 0;
+ m_yoffset = 0;
+ m_txt_tile_offset = 0;
- state->m_pri_masks[0] = 0xfff0;
- state->m_pri_masks[1] = 0xfffc;
- state->m_pri_masks[2] = 0;
+ m_pri_masks[0] = 0xfff0;
+ m_pri_masks[1] = 0xfffc;
+ m_pri_masks[2] = 0;
}
-VIDEO_START( excelsr )
+VIDEO_START_MEMBER(playmark_state,excelsr)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
- state->m_xoffset = 0;
- state->m_yoffset = 0;
- state->m_txt_tile_offset = 0;
+ m_xoffset = 0;
+ m_yoffset = 0;
+ m_txt_tile_offset = 0;
- state->m_pri_masks[0] = 0;
- state->m_pri_masks[1] = 0xfffc;
- state->m_pri_masks[2] = 0xfff0;
+ m_pri_masks[0] = 0;
+ m_pri_masks[1] = 0xfffc;
+ m_pri_masks[2] = 0xfff0;
}
-VIDEO_START( hotmind )
+VIDEO_START_MEMBER(playmark_state,hotmind)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_scrolldx(-14, -14);
- state->m_fg_tilemap->set_scrolldx(-14, -14);
- state->m_bg_tilemap->set_scrolldx(-14, -14);
+ m_tx_tilemap->set_scrolldx(-14, -14);
+ m_fg_tilemap->set_scrolldx(-14, -14);
+ m_bg_tilemap->set_scrolldx(-14, -14);
- state->m_xoffset = -9;
- state->m_yoffset = -8;
- state->m_txt_tile_offset = 0x9000;
+ m_xoffset = -9;
+ m_yoffset = -8;
+ m_txt_tile_offset = 0x9000;
- state->m_pri_masks[0] = 0xfff0;
- state->m_pri_masks[1] = 0xfffc;
- state->m_pri_masks[2] = 0;
+ m_pri_masks[0] = 0xfff0;
+ m_pri_masks[1] = 0xfffc;
+ m_pri_masks[2] = 0;
}
-VIDEO_START( hrdtimes )
+VIDEO_START_MEMBER(playmark_state,hrdtimes)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_scrolldx(-14, -14);
- state->m_fg_tilemap->set_scrolldx(-10, -10);
- state->m_bg_tilemap->set_scrolldx(-12, -12);
+ m_tx_tilemap->set_scrolldx(-14, -14);
+ m_fg_tilemap->set_scrolldx(-10, -10);
+ m_bg_tilemap->set_scrolldx(-12, -12);
- state->m_xoffset = -8;
- state->m_yoffset = -8;
- state->m_txt_tile_offset = 0xfc00;
+ m_xoffset = -8;
+ m_yoffset = -8;
+ m_txt_tile_offset = 0xfc00;
- state->m_pri_masks[0] = 0xfff0;
- state->m_pri_masks[1] = 0xfffc;
- state->m_pri_masks[2] = 0;
+ m_pri_masks[0] = 0xfff0;
+ m_pri_masks[1] = 0xfffc;
+ m_pri_masks[2] = 0;
}
/***************************************************************************
diff --git a/src/mame/video/plygonet.c b/src/mame/video/plygonet.c
index 013d9840b47..cd2f91be9ac 100644
--- a/src/mame/video/plygonet.c
+++ b/src/mame/video/plygonet.c
@@ -78,9 +78,8 @@ TILEMAP_MAPPER_MEMBER(polygonet_state::plygonet_scan_cols)
return col * num_rows + (row^1);
}
-VIDEO_START( polygonet )
+void polygonet_state::video_start()
{
- polygonet_state *state = machine.driver_data<polygonet_state>();
static const gfx_layout charlayout =
{
8, 8, /* 8x8 */
@@ -93,28 +92,28 @@ VIDEO_START( polygonet )
};
/* find first empty slot to decode gfx */
- for (state->m_ttl_gfx_index = 0; state->m_ttl_gfx_index < MAX_GFX_ELEMENTS; state->m_ttl_gfx_index++)
- if (machine.gfx[state->m_ttl_gfx_index] == 0)
+ for (m_ttl_gfx_index = 0; m_ttl_gfx_index < MAX_GFX_ELEMENTS; m_ttl_gfx_index++)
+ if (machine().gfx[m_ttl_gfx_index] == 0)
break;
- assert(state->m_ttl_gfx_index != MAX_GFX_ELEMENTS);
+ assert(m_ttl_gfx_index != MAX_GFX_ELEMENTS);
/* decode the ttl layer's gfx */
- machine.gfx[state->m_ttl_gfx_index] = auto_alloc(machine, gfx_element(machine, charlayout, machine.root_device().memregion("gfx1")->base(), machine.total_colors() / 16, 0));
+ machine().gfx[m_ttl_gfx_index] = auto_alloc(machine(), gfx_element(machine(), charlayout, machine().root_device().memregion("gfx1")->base(), machine().total_colors() / 16, 0));
/* create the tilemap */
- state->m_ttl_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(polygonet_state::ttl_get_tile_info),state), tilemap_mapper_delegate(FUNC(polygonet_state::plygonet_scan),state), 8, 8, 64, 32);
+ m_ttl_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(polygonet_state::ttl_get_tile_info),this), tilemap_mapper_delegate(FUNC(polygonet_state::plygonet_scan),this), 8, 8, 64, 32);
- state->m_ttl_tilemap->set_transparent_pen(0);
+ m_ttl_tilemap->set_transparent_pen(0);
/* set up the roz t-map too */
- state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(polygonet_state::roz_get_tile_info),state), tilemap_mapper_delegate(FUNC(polygonet_state::plygonet_scan_cols),state), 16, 16, 32, 64);
- state->m_roz_tilemap->set_transparent_pen(0);
+ m_roz_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(polygonet_state::roz_get_tile_info),this), tilemap_mapper_delegate(FUNC(polygonet_state::plygonet_scan_cols),this), 16, 16, 32, 64);
+ m_roz_tilemap->set_transparent_pen(0);
/* save states */
- state->save_item(NAME(state->m_ttl_gfx_index));
- state->save_item(NAME(state->m_ttl_vram));
- state->save_item(NAME(state->m_roz_vram));
+ save_item(NAME(m_ttl_gfx_index));
+ save_item(NAME(m_ttl_vram));
+ save_item(NAME(m_roz_vram));
}
SCREEN_UPDATE_IND16( polygonet )
diff --git a/src/mame/video/pokechmp.c b/src/mame/video/pokechmp.c
index 1ab9d2889f3..32bad75dd1e 100644
--- a/src/mame/video/pokechmp.c
+++ b/src/mame/video/pokechmp.c
@@ -29,10 +29,9 @@ TILE_GET_INFO_MEMBER(pokechmp_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( pokechmp )
+void pokechmp_state::video_start()
{
- pokechmp_state *state = machine.driver_data<pokechmp_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pokechmp_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pokechmp_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/polepos.c b/src/mame/video/polepos.c
index 28be78ff160..43323bbd409 100644
--- a/src/mame/video/polepos.c
+++ b/src/mame/video/polepos.c
@@ -25,14 +25,13 @@
***************************************************************************/
-PALETTE_INIT( polepos )
+PALETTE_INIT_MEMBER(polepos_state,polepos)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- polepos_state *state = machine.driver_data<polepos_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, j;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 128);
+ machine().colortable = colortable_alloc(machine(), 128);
/*******************************************************
* Color PROMs
@@ -78,7 +77,7 @@ PALETTE_INIT( polepos )
bit3 = (color_prom[0x200 + i] >> 3) & 1;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- colortable_palette_set_color(machine.colortable,i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,i,MAKE_RGB(r,g,b));
}
/*******************************************************
@@ -89,8 +88,8 @@ PALETTE_INIT( polepos )
for (i = 0; i < 64*4; i++)
{
int color = color_prom[0x300 + i];
- colortable_entry_set_value(machine.colortable, 0x0000 + i, (color != 15) ? (0x020 + color) : 0x2f);
- colortable_entry_set_value(machine.colortable, 0x0100 + i, (color != 15) ? (0x060 + color) : 0x2f);
+ colortable_entry_set_value(machine().colortable, 0x0000 + i, (color != 15) ? (0x020 + color) : 0x2f);
+ colortable_entry_set_value(machine().colortable, 0x0100 + i, (color != 15) ? (0x060 + color) : 0x2f);
}
/*******************************************************
@@ -102,7 +101,7 @@ PALETTE_INIT( polepos )
for (i = 0; i < 64*4; i++)
{
int color = color_prom[0x400 + i];
- colortable_entry_set_value(machine.colortable, 0x0200 + i, 0x000 + color);
+ colortable_entry_set_value(machine().colortable, 0x0200 + i, 0x000 + color);
}
/*******************************************************
@@ -113,8 +112,8 @@ PALETTE_INIT( polepos )
for (i = 0; i < 64*16; i++)
{
int color = color_prom[0xc00 + i];
- colortable_entry_set_value(machine.colortable, 0x0300 + i, (color != 15) ? (0x010 + color) : 0x1f);
- colortable_entry_set_value(machine.colortable, 0x0700 + i, (color != 15) ? (0x050 + color) : 0x1f);
+ colortable_entry_set_value(machine().colortable, 0x0300 + i, (color != 15) ? (0x010 + color) : 0x1f);
+ colortable_entry_set_value(machine().colortable, 0x0700 + i, (color != 15) ? (0x050 + color) : 0x1f);
}
/*******************************************************
@@ -126,14 +125,14 @@ PALETTE_INIT( polepos )
for (i = 0; i < 64*16; i++)
{
int color = color_prom[0x800 + i];
- colortable_entry_set_value(machine.colortable, 0x0b00 + i, 0x040 + color);
+ colortable_entry_set_value(machine().colortable, 0x0b00 + i, 0x040 + color);
}
/* 136014-142, 136014-143, 136014-144 Vertical position modifiers */
for (i = 0; i < 256; i++)
{
j = color_prom[0x500 + i] + (color_prom[0x600 + i] << 4) + (color_prom[0x700 + i] << 8);
- state->m_vertical_position_modifier[i] = j;
+ m_vertical_position_modifier[i] = j;
}
}
@@ -191,13 +190,12 @@ TILE_GET_INFO_MEMBER(polepos_state::tx_get_tile_info)
***************************************************************************/
-VIDEO_START( polepos )
+VIDEO_START_MEMBER(polepos_state,polepos)
{
- polepos_state *state = machine.driver_data<polepos_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(polepos_state::bg_get_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,16);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(polepos_state::tx_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(polepos_state::bg_get_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,16);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(polepos_state::tx_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 0x2f);
+ colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, machine().gfx[0], 0x2f);
}
diff --git a/src/mame/video/policetr.c b/src/mame/video/policetr.c
index 98ab621518a..5f91cba831e 100644
--- a/src/mame/video/policetr.c
+++ b/src/mame/video/policetr.c
@@ -22,17 +22,16 @@
*
*************************************/
-VIDEO_START( policetr )
+void policetr_state::video_start()
{
- policetr_state *state = machine.driver_data<policetr_state>();
/* the source bitmap is in ROM */
- state->m_srcbitmap = state->memregion("gfx1")->base();
+ m_srcbitmap = memregion("gfx1")->base();
/* compute the height */
- state->m_srcbitmap_height_mask = (state->memregion("gfx1")->bytes() / SRCBITMAP_WIDTH) - 1;
+ m_srcbitmap_height_mask = (memregion("gfx1")->bytes() / SRCBITMAP_WIDTH) - 1;
/* the destination bitmap is not directly accessible to the CPU */
- state->m_dstbitmap = auto_alloc_array(machine, UINT8, DSTBITMAP_WIDTH * DSTBITMAP_HEIGHT);
+ m_dstbitmap = auto_alloc_array(machine(), UINT8, DSTBITMAP_WIDTH * DSTBITMAP_HEIGHT);
}
diff --git a/src/mame/video/polyplay.c b/src/mame/video/polyplay.c
index f483c659ded..918fa18dab3 100644
--- a/src/mame/video/polyplay.c
+++ b/src/mame/video/polyplay.c
@@ -13,19 +13,19 @@
#include "includes/polyplay.h"
-PALETTE_INIT( polyplay )
+void polyplay_state::palette_init()
{
- palette_set_color(machine,0,MAKE_RGB(0x00,0x00,0x00));
- palette_set_color(machine,1,MAKE_RGB(0xff,0xff,0xff));
-
- palette_set_color(machine,2,MAKE_RGB(0x00,0x00,0x00));
- palette_set_color(machine,3,MAKE_RGB(0xff,0x00,0x00));
- palette_set_color(machine,4,MAKE_RGB(0x00,0xff,0x00));
- palette_set_color(machine,5,MAKE_RGB(0xff,0xff,0x00));
- palette_set_color(machine,6,MAKE_RGB(0x00,0x00,0xff));
- palette_set_color(machine,7,MAKE_RGB(0xff,0x00,0xff));
- palette_set_color(machine,8,MAKE_RGB(0x00,0xff,0xff));
- palette_set_color(machine,9,MAKE_RGB(0xff,0xff,0xff));
+ palette_set_color(machine(),0,MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color(machine(),1,MAKE_RGB(0xff,0xff,0xff));
+
+ palette_set_color(machine(),2,MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color(machine(),3,MAKE_RGB(0xff,0x00,0x00));
+ palette_set_color(machine(),4,MAKE_RGB(0x00,0xff,0x00));
+ palette_set_color(machine(),5,MAKE_RGB(0xff,0xff,0x00));
+ palette_set_color(machine(),6,MAKE_RGB(0x00,0x00,0xff));
+ palette_set_color(machine(),7,MAKE_RGB(0xff,0x00,0xff));
+ palette_set_color(machine(),8,MAKE_RGB(0x00,0xff,0xff));
+ palette_set_color(machine(),9,MAKE_RGB(0xff,0xff,0xff));
}
@@ -39,10 +39,9 @@ WRITE8_MEMBER(polyplay_state::polyplay_characterram_w)
}
}
-VIDEO_START( polyplay )
+void polyplay_state::video_start()
{
- polyplay_state *state = machine.driver_data<polyplay_state>();
- machine.gfx[1]->set_source(state->m_characterram);
+ machine().gfx[1]->set_source(m_characterram);
}
diff --git a/src/mame/video/poolshrk.c b/src/mame/video/poolshrk.c
index 283c09ccabf..4a368cfdf02 100644
--- a/src/mame/video/poolshrk.c
+++ b/src/mame/video/poolshrk.c
@@ -16,13 +16,12 @@ TILE_GET_INFO_MEMBER(poolshrk_state::get_tile_info)
}
-VIDEO_START( poolshrk )
+void poolshrk_state::video_start()
{
- poolshrk_state *state = machine.driver_data<poolshrk_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(poolshrk_state::get_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(poolshrk_state::get_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/pooyan.c b/src/mame/video/pooyan.c
index 4caba227343..722575ec839 100644
--- a/src/mame/video/pooyan.c
+++ b/src/mame/video/pooyan.c
@@ -27,9 +27,9 @@
***************************************************************************/
-PALETTE_INIT( pooyan )
+void pooyan_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -42,7 +42,7 @@ PALETTE_INIT( pooyan )
2, resistances_b, bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -67,7 +67,7 @@ PALETTE_INIT( pooyan )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -77,14 +77,14 @@ PALETTE_INIT( pooyan )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -114,10 +114,9 @@ TILE_GET_INFO_MEMBER(pooyan_state::get_bg_tile_info)
*
*************************************/
-VIDEO_START( pooyan )
+void pooyan_state::video_start()
{
- pooyan_state *state = machine.driver_data<pooyan_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pooyan_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pooyan_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/popeye.c b/src/mame/video/popeye.c
index 61a5e71f1c5..e6ed97664ec 100644
--- a/src/mame/video/popeye.c
+++ b/src/mame/video/popeye.c
@@ -113,22 +113,20 @@ static void convert_color_prom(running_machine &machine,const UINT8 *color_prom)
}
}
-PALETTE_INIT( popeye )
+void popeye_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- popeye_state *state = machine.driver_data<popeye_state>();
- state->m_invertmask = 0xff;
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
+ m_invertmask = 0xff;
- convert_color_prom(machine,color_prom);
+ convert_color_prom(machine(),color_prom);
}
-PALETTE_INIT( popeyebl )
+PALETTE_INIT_MEMBER(popeye_state,popeyebl)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- popeye_state *state = machine.driver_data<popeye_state>();
- state->m_invertmask = 0x00;
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
+ m_invertmask = 0x00;
- convert_color_prom(machine,color_prom);
+ convert_color_prom(machine(),color_prom);
}
static void set_background_palette(running_machine &machine,int bank)
@@ -241,40 +239,38 @@ TILE_GET_INFO_MEMBER(popeye_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( skyskipr )
+void popeye_state::video_start()
{
- popeye_state *state = machine.driver_data<popeye_state>();
- state->m_bitmapram = auto_alloc_array(machine, UINT8, popeye_bitmapram_size);
- state->m_tmpbitmap2 = auto_bitmap_ind16_alloc(machine,1024,1024); /* actually 1024x512 but not rolling over vertically? */
+ m_bitmapram = auto_alloc_array(machine(), UINT8, popeye_bitmapram_size);
+ m_tmpbitmap2 = auto_bitmap_ind16_alloc(machine(),1024,1024); /* actually 1024x512 but not rolling over vertically? */
- state->m_bitmap_type = TYPE_SKYSKIPR;
+ m_bitmap_type = TYPE_SKYSKIPR;
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popeye_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(popeye_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_lastflip = 0;
+ m_lastflip = 0;
- state_save_register_global(machine, state->m_lastflip);
- state_save_register_global_bitmap(machine, state->m_tmpbitmap2);
- state_save_register_global_pointer(machine, state->m_bitmapram, popeye_bitmapram_size);
+ state_save_register_global(machine(), m_lastflip);
+ state_save_register_global_bitmap(machine(), m_tmpbitmap2);
+ state_save_register_global_pointer(machine(), m_bitmapram, popeye_bitmapram_size);
}
-VIDEO_START( popeye )
+VIDEO_START_MEMBER(popeye_state,popeye)
{
- popeye_state *state = machine.driver_data<popeye_state>();
- state->m_bitmapram = auto_alloc_array(machine, UINT8, popeye_bitmapram_size);
- state->m_tmpbitmap2 = auto_bitmap_ind16_alloc(machine,512,512);
+ m_bitmapram = auto_alloc_array(machine(), UINT8, popeye_bitmapram_size);
+ m_tmpbitmap2 = auto_bitmap_ind16_alloc(machine(),512,512);
- state->m_bitmap_type = TYPE_POPEYE;
+ m_bitmap_type = TYPE_POPEYE;
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popeye_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(popeye_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_lastflip = 0;
+ m_lastflip = 0;
- state_save_register_global(machine, state->m_lastflip);
- state_save_register_global_bitmap(machine, state->m_tmpbitmap2);
- state_save_register_global_pointer(machine, state->m_bitmapram, popeye_bitmapram_size);
+ state_save_register_global(machine(), m_lastflip);
+ state_save_register_global_bitmap(machine(), m_tmpbitmap2);
+ state_save_register_global_pointer(machine(), m_bitmapram, popeye_bitmapram_size);
}
static void draw_background(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/popper.c b/src/mame/video/popper.c
index 1e320a28b9e..9445e57e1e4 100644
--- a/src/mame/video/popper.c
+++ b/src/mame/video/popper.c
@@ -44,15 +44,15 @@ static const res_net_info popper_net_info =
*
***************************************************************************/
-PALETTE_INIT( popper )
+void popper_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &popper_decode_info, &popper_net_info);
- palette_set_colors(machine, 0, rgb, 64);
- palette_normalize_range(machine.palette, 0, 63, 0, 255);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &popper_decode_info, &popper_net_info);
+ palette_set_colors(machine(), 0, rgb, 64);
+ palette_normalize_range(machine().palette, 0, 63, 0, 255);
+ auto_free(machine(), rgb);
}
WRITE8_MEMBER(popper_state::popper_ol_videoram_w)
@@ -174,24 +174,23 @@ TILE_GET_INFO_MEMBER(popper_state::get_popper_ol_p0_tile_info)
0);
}
-VIDEO_START( popper )
+void popper_state::video_start()
{
- popper_state *state = machine.driver_data<popper_state>();
- state->m_p123_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_p123_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 33, 32 );
- state->m_p0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_p0_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 33, 32);
- state->m_ol_p123_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_ol_p123_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
- state->m_ol_p0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_ol_p0_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
-
- state->m_p123_tilemap->set_transmask(0, 0x0f, 0x01);
- state->m_p123_tilemap->set_transmask(1, 0x01, 0x0f);
- state->m_p0_tilemap->set_transmask(0, 0x0f, 0x0e);
- state->m_p0_tilemap->set_transmask(1, 0x0e, 0x0f);
- state->m_ol_p123_tilemap->set_transmask(0, 0x0f, 0x01);
- state->m_ol_p123_tilemap->set_transmask(1, 0x01, 0x0f);
- state->m_ol_p0_tilemap->set_transmask(0, 0x0f, 0x0e);
- state->m_ol_p0_tilemap->set_transmask(1, 0x0e, 0x0f);
-
- state->m_tilemap_clip = machine.primary_screen->visible_area();
+ m_p123_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_p123_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 33, 32 );
+ m_p0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_p0_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 33, 32);
+ m_ol_p123_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_ol_p123_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
+ m_ol_p0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_ol_p0_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
+
+ m_p123_tilemap->set_transmask(0, 0x0f, 0x01);
+ m_p123_tilemap->set_transmask(1, 0x01, 0x0f);
+ m_p0_tilemap->set_transmask(0, 0x0f, 0x0e);
+ m_p0_tilemap->set_transmask(1, 0x0e, 0x0f);
+ m_ol_p123_tilemap->set_transmask(0, 0x0f, 0x01);
+ m_ol_p123_tilemap->set_transmask(1, 0x01, 0x0f);
+ m_ol_p0_tilemap->set_transmask(0, 0x0f, 0x0e);
+ m_ol_p0_tilemap->set_transmask(1, 0x0e, 0x0f);
+
+ m_tilemap_clip = machine().primary_screen->visible_area();
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect )
diff --git a/src/mame/video/portrait.c b/src/mame/video/portrait.c
index bf43e569aff..d175ec01e35 100644
--- a/src/mame/video/portrait.c
+++ b/src/mame/video/portrait.c
@@ -62,25 +62,24 @@ TILE_GET_INFO_MEMBER(portrait_state::get_fg_tile_info)
get_tile_info( machine(), tileinfo, tile_index, m_fgvideoram );
}
-VIDEO_START( portrait )
+void portrait_state::video_start()
{
- portrait_state *state = machine.driver_data<portrait_state>();
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(portrait_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32 );
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(portrait_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32 );
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(portrait_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32 );
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(portrait_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32 );
- state->m_foreground->set_transparent_pen(7 );
+ m_foreground->set_transparent_pen(7 );
}
-PALETTE_INIT( portrait )
+void portrait_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- UINT8* lookup = machine.root_device().memregion("tileattr")->base();
+ UINT8* lookup = machine().root_device().memregion("tileattr")->base();
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x40);
+ machine().colortable = colortable_alloc(machine(), 0x40);
/*
for (i = 0;i < 0x40;i++)
@@ -93,7 +92,7 @@ PALETTE_INIT( portrait )
g = (data >> 3) & 0x3;
b = (data >> 5) & 0x7;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(pal3bit(r), pal2bit(g), pal3bit(b)));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(pal3bit(r), pal2bit(g), pal3bit(b)));
color_prom++;
}
@@ -108,10 +107,10 @@ PALETTE_INIT( portrait )
g = (data >> 5) & 0x1f;
b = (data >> 10) & 0x1f;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(pal5bit(r), pal5bit(g), pal5bit(b)));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(pal5bit(r), pal5bit(g), pal5bit(b)));
// ?? the lookup seems to reference 0x3f colours, unless 1 bit is priority or similar?
- colortable_palette_set_color(machine.colortable, i+0x20, MAKE_RGB(pal5bit(r>>1), pal5bit(g>>1), pal5bit(b>>1)));
+ colortable_palette_set_color(machine().colortable, i+0x20, MAKE_RGB(pal5bit(r>>1), pal5bit(g>>1), pal5bit(b>>1)));
color_prom++;
}
@@ -121,7 +120,7 @@ PALETTE_INIT( portrait )
for (i = 0;i < 0x800;i++)
{
UINT8 ctabentry = lookup[i]&0x3f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
diff --git a/src/mame/video/powerins.c b/src/mame/video/powerins.c
index d44b585b98c..b2dd54814d8 100644
--- a/src/mame/video/powerins.c
+++ b/src/mame/video/powerins.c
@@ -186,18 +186,17 @@ WRITE16_MEMBER(powerins_state::powerins_vram_1_w)
***************************************************************************/
-VIDEO_START( powerins )
+void powerins_state::video_start()
{
- powerins_state *state = machine.driver_data<powerins_state>();
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(powerins_state::get_tile_info_0),state),tilemap_mapper_delegate(FUNC(powerins_state::powerins_get_memory_offset_0),state),16,16,DIM_NX_0, DIM_NY_0 );
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(powerins_state::get_tile_info_1),state),TILEMAP_SCAN_COLS,8,8,DIM_NX_1, DIM_NY_1 );
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(powerins_state::get_tile_info_0),this),tilemap_mapper_delegate(FUNC(powerins_state::powerins_get_memory_offset_0),this),16,16,DIM_NX_0, DIM_NY_0 );
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(powerins_state::get_tile_info_1),this),TILEMAP_SCAN_COLS,8,8,DIM_NX_1, DIM_NY_1 );
- state->m_tilemap_0->set_scroll_rows(1);
- state->m_tilemap_0->set_scroll_cols(1);
+ m_tilemap_0->set_scroll_rows(1);
+ m_tilemap_0->set_scroll_cols(1);
- state->m_tilemap_1->set_scroll_rows(1);
- state->m_tilemap_1->set_scroll_cols(1);
- state->m_tilemap_1->set_transparent_pen(15);
+ m_tilemap_1->set_scroll_rows(1);
+ m_tilemap_1->set_scroll_cols(1);
+ m_tilemap_1->set_transparent_pen(15);
}
diff --git a/src/mame/video/prehisle.c b/src/mame/video/prehisle.c
index b0d1a772cef..e07945ebf67 100644
--- a/src/mame/video/prehisle.c
+++ b/src/mame/video/prehisle.c
@@ -89,24 +89,23 @@ TILE_GET_INFO_MEMBER(prehisle_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( prehisle )
+void prehisle_state::video_start()
{
- prehisle_state *state = machine.driver_data<prehisle_state>();
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_bg2_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_bg2_tile_info),this), TILEMAP_SCAN_COLS,
16, 16, 1024, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
16, 16, 256, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(15);
- state->m_fg_tilemap->set_transparent_pen(15);
+ m_bg_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
/* register for saving */
- state->save_item(NAME(state->m_invert_controls));
+ save_item(NAME(m_invert_controls));
}
/* sprite layout
diff --git a/src/mame/video/psikyo.c b/src/mame/video/psikyo.c
index e5db59d9d2b..a6d9038dd98 100644
--- a/src/mame/video/psikyo.c
+++ b/src/mame/video/psikyo.c
@@ -157,60 +157,59 @@ void psikyo_switch_banks( running_machine &machine, int tmap, int bank )
}
-VIDEO_START( psikyo )
+VIDEO_START_MEMBER(psikyo_state,psikyo)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
/* The Hardware is Capable of Changing the Dimensions of the Tilemaps, its safer to create
the various sized tilemaps now as opposed to later */
- state->m_tilemap_0_size0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
- state->m_tilemap_0_size1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
- state->m_tilemap_0_size2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
- state->m_tilemap_0_size3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
+ m_tilemap_0_size0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
+ m_tilemap_0_size1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
+ m_tilemap_0_size2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
+ m_tilemap_0_size3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
- state->m_tilemap_1_size0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
- state->m_tilemap_1_size1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
- state->m_tilemap_1_size2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
- state->m_tilemap_1_size3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
+ m_tilemap_1_size0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
+ m_tilemap_1_size1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
+ m_tilemap_1_size2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
+ m_tilemap_1_size3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
- state->m_spritebuf1 = auto_alloc_array(machine, UINT32, 0x2000 / 4);
- state->m_spritebuf2 = auto_alloc_array(machine, UINT32, 0x2000 / 4);
+ m_spritebuf1 = auto_alloc_array(machine(), UINT32, 0x2000 / 4);
+ m_spritebuf2 = auto_alloc_array(machine(), UINT32, 0x2000 / 4);
- state->m_tilemap_0_size0->set_scroll_rows(0x80 * 16); // line scrolling
- state->m_tilemap_0_size0->set_scroll_cols(1);
+ m_tilemap_0_size0->set_scroll_rows(0x80 * 16); // line scrolling
+ m_tilemap_0_size0->set_scroll_cols(1);
- state->m_tilemap_0_size1->set_scroll_rows(0x40 * 16); // line scrolling
- state->m_tilemap_0_size1->set_scroll_cols(1);
+ m_tilemap_0_size1->set_scroll_rows(0x40 * 16); // line scrolling
+ m_tilemap_0_size1->set_scroll_cols(1);
- state->m_tilemap_0_size2->set_scroll_rows(0x20 * 16); // line scrolling
- state->m_tilemap_0_size2->set_scroll_cols(1);
+ m_tilemap_0_size2->set_scroll_rows(0x20 * 16); // line scrolling
+ m_tilemap_0_size2->set_scroll_cols(1);
- state->m_tilemap_0_size3->set_scroll_rows(0x10 * 16); // line scrolling
- state->m_tilemap_0_size3->set_scroll_cols(1);
+ m_tilemap_0_size3->set_scroll_rows(0x10 * 16); // line scrolling
+ m_tilemap_0_size3->set_scroll_cols(1);
- state->m_tilemap_1_size0->set_scroll_rows(0x80 * 16); // line scrolling
- state->m_tilemap_1_size0->set_scroll_cols(1);
+ m_tilemap_1_size0->set_scroll_rows(0x80 * 16); // line scrolling
+ m_tilemap_1_size0->set_scroll_cols(1);
- state->m_tilemap_1_size1->set_scroll_rows(0x40 * 16); // line scrolling
- state->m_tilemap_1_size1->set_scroll_cols(1);
+ m_tilemap_1_size1->set_scroll_rows(0x40 * 16); // line scrolling
+ m_tilemap_1_size1->set_scroll_cols(1);
- state->m_tilemap_1_size2->set_scroll_rows(0x20 * 16); // line scrolling
- state->m_tilemap_1_size2->set_scroll_cols(1);
+ m_tilemap_1_size2->set_scroll_rows(0x20 * 16); // line scrolling
+ m_tilemap_1_size2->set_scroll_cols(1);
- state->m_tilemap_1_size3->set_scroll_rows(0x10 * 16); // line scrolling
- state->m_tilemap_1_size3->set_scroll_cols(1);
+ m_tilemap_1_size3->set_scroll_rows(0x10 * 16); // line scrolling
+ m_tilemap_1_size3->set_scroll_cols(1);
- state->save_pointer(NAME(state->m_spritebuf1), 0x2000 / 4);
- state->save_pointer(NAME(state->m_spritebuf2), 0x2000 / 4);
+ save_pointer(NAME(m_spritebuf1), 0x2000 / 4);
+ save_pointer(NAME(m_spritebuf2), 0x2000 / 4);
}
-VIDEO_START( sngkace )
+VIDEO_START_MEMBER(psikyo_state,sngkace)
{
- VIDEO_START_CALL( psikyo );
+ VIDEO_START_CALL_MEMBER( psikyo );
- psikyo_switch_banks(machine, 0, 0); // sngkace / samuraia don't use banking
- psikyo_switch_banks(machine, 1, 1); // They share "gfx2" to save memory on other boards
+ psikyo_switch_banks(machine(), 0, 0); // sngkace / samuraia don't use banking
+ psikyo_switch_banks(machine(), 1, 1); // They share "gfx2" to save memory on other boards
}
diff --git a/src/mame/video/psikyo4.c b/src/mame/video/psikyo4.c
index 7d0c156015b..3e4c13ff1bd 100644
--- a/src/mame/video/psikyo4.c
+++ b/src/mame/video/psikyo4.c
@@ -141,7 +141,7 @@ SCREEN_UPDATE_IND16( psikyo4_right )
return 0;
}
-VIDEO_START( psikyo4 )
+void psikyo4_state::video_start()
{
- machine.gfx[0]->set_granularity(32); /* 256 colour sprites with palette selectable on 32 colour boundaries */
+ machine().gfx[0]->set_granularity(32); /* 256 colour sprites with palette selectable on 32 colour boundaries */
}
diff --git a/src/mame/video/psikyosh.c b/src/mame/video/psikyosh.c
index 6529d9e510b..550157969c6 100644
--- a/src/mame/video/psikyosh.c
+++ b/src/mame/video/psikyosh.c
@@ -1219,17 +1219,16 @@ static void psikyosh_postlineblend( running_machine &machine, bitmap_rgb32 &bitm
}
-VIDEO_START( psikyosh )
+void psikyosh_state::video_start()
{
- psikyosh_state *state = machine.driver_data<psikyosh_state>();
- UINT8 *alphatable = state->m_alphatable;
+ UINT8 *alphatable = m_alphatable;
- machine.primary_screen->register_screen_bitmap(state->m_z_bitmap); /* z-buffer */
- state->m_zoom_bitmap.allocate(16*16, 16*16); /* temp buffer for assembling sprites */
- state->m_bg_bitmap.allocate(32*16, 32*16); /* temp buffer for assembling tilemaps */
- state->m_bg_zoom = auto_alloc_array(machine, UINT16, 256);
+ machine().primary_screen->register_screen_bitmap(m_z_bitmap); /* z-buffer */
+ m_zoom_bitmap.allocate(16*16, 16*16); /* temp buffer for assembling sprites */
+ m_bg_bitmap.allocate(32*16, 32*16); /* temp buffer for assembling tilemaps */
+ m_bg_zoom = auto_alloc_array(machine(), UINT16, 256);
- machine.gfx[1]->set_granularity(16); /* 256 colour sprites with palette selectable on 16 colour boundaries */
+ machine().gfx[1]->set_granularity(16); /* 256 colour sprites with palette selectable on 16 colour boundaries */
/* Pens 0xc0-0xff have a gradient of alpha values associated with them */
int i;
@@ -1245,13 +1244,13 @@ VIDEO_START( psikyosh )
/* precompute the background zoom table. verified against hardware.
unsure of the precision, we use .10 fixed point like the sprites */
for(i = 0; i < 0x100; i++) {
- state->m_bg_zoom[i] = (64 * 0x400) / (i + 64);
+ m_bg_zoom[i] = (64 * 0x400) / (i + 64);
}
- state->save_item(NAME(state->m_z_bitmap));
- state->save_item(NAME(state->m_zoom_bitmap));
- state->save_item(NAME(state->m_bg_bitmap));
- state->save_pointer(NAME(state->m_bg_zoom), 256);
+ save_item(NAME(m_z_bitmap));
+ save_item(NAME(m_zoom_bitmap));
+ save_item(NAME(m_bg_bitmap));
+ save_pointer(NAME(m_bg_zoom), 256);
}
diff --git a/src/mame/video/psychic5.c b/src/mame/video/psychic5.c
index e4d979a02b0..ca5bc859aa6 100644
--- a/src/mame/video/psychic5.c
+++ b/src/mame/video/psychic5.c
@@ -225,74 +225,70 @@ TILE_GET_INFO_MEMBER(psychic5_state::get_fg_tile_info)
Initialize and destroy video hardware emulation
***************************************************************************/
-VIDEO_START( psychic5 )
+VIDEO_START_MEMBER(psychic5_state,psychic5)
{
- psychic5_state *state = machine.driver_data<psychic5_state>();
/* info offset w h col row */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
- state->m_ps5_pagedram[0] = auto_alloc_array(machine, UINT8, 0x2000);
- state->m_ps5_pagedram[1] = auto_alloc_array(machine, UINT8, 0x2000);
+ m_ps5_pagedram[0] = auto_alloc_array(machine(), UINT8, 0x2000);
+ m_ps5_pagedram[1] = auto_alloc_array(machine(), UINT8, 0x2000);
- state->m_bg_videoram = &state->m_ps5_pagedram[0][0x0000];
- state->m_ps5_dummy_bg_ram = &state->m_ps5_pagedram[0][0x1000];
- state->m_ps5_io_ram = &state->m_ps5_pagedram[1][0x0000];
- state->m_ps5_palette_ram = &state->m_ps5_pagedram[1][0x0400];
- state->m_fg_videoram = &state->m_ps5_pagedram[1][0x1000];
+ m_bg_videoram = &m_ps5_pagedram[0][0x0000];
+ m_ps5_dummy_bg_ram = &m_ps5_pagedram[0][0x1000];
+ m_ps5_io_ram = &m_ps5_pagedram[1][0x0000];
+ m_ps5_palette_ram = &m_ps5_pagedram[1][0x0400];
+ m_fg_videoram = &m_ps5_pagedram[1][0x1000];
- jal_blend_init(machine, 1);
+ jal_blend_init(machine(), 1);
- state->m_bg_palette_ram_base = 0x400;
- state->m_bg_palette_base = 0x100;
+ m_bg_palette_ram_base = 0x400;
+ m_bg_palette_base = 0x100;
}
-VIDEO_START( bombsa )
+VIDEO_START_MEMBER(psychic5_state,bombsa)
{
- psychic5_state *state = machine.driver_data<psychic5_state>();
/* info offset w h col row */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
- state->m_ps5_pagedram[0] = auto_alloc_array(machine, UINT8, 0x2000);
- state->m_ps5_pagedram[1] = auto_alloc_array(machine, UINT8, 0x2000);
+ m_ps5_pagedram[0] = auto_alloc_array(machine(), UINT8, 0x2000);
+ m_ps5_pagedram[1] = auto_alloc_array(machine(), UINT8, 0x2000);
- state->m_bg_videoram = &state->m_ps5_pagedram[0][0x0000];
- state->m_ps5_dummy_bg_ram = &state->m_ps5_pagedram[0][0x1000];
- state->m_ps5_io_ram = &state->m_ps5_pagedram[1][0x0000];
- state->m_fg_videoram = &state->m_ps5_pagedram[1][0x0800];
- state->m_ps5_palette_ram = &state->m_ps5_pagedram[1][0x1000];
+ m_bg_videoram = &m_ps5_pagedram[0][0x0000];
+ m_ps5_dummy_bg_ram = &m_ps5_pagedram[0][0x1000];
+ m_ps5_io_ram = &m_ps5_pagedram[1][0x0000];
+ m_fg_videoram = &m_ps5_pagedram[1][0x0800];
+ m_ps5_palette_ram = &m_ps5_pagedram[1][0x1000];
- jal_blend_init(machine, 0);
+ jal_blend_init(machine(), 0);
- state->m_bg_palette_ram_base = 0x000;
- state->m_bg_palette_base = 0x000;
+ m_bg_palette_ram_base = 0x000;
+ m_bg_palette_base = 0x000;
}
-VIDEO_RESET( psychic5 )
+VIDEO_RESET_MEMBER(psychic5_state,psychic5)
{
- psychic5_state *state = machine.driver_data<psychic5_state>();
- state->m_bg_clip_mode = 0;
- state->m_ps5_vram_page = 0;
- state->m_bg_status = 0;
- memset(state->m_ps5_pagedram[0],0,0x2000);
- memset(state->m_ps5_pagedram[1],0,0x2000);
- state->m_palette_intensity = 0;
+ m_bg_clip_mode = 0;
+ m_ps5_vram_page = 0;
+ m_bg_status = 0;
+ memset(m_ps5_pagedram[0],0,0x2000);
+ memset(m_ps5_pagedram[1],0,0x2000);
+ m_palette_intensity = 0;
}
-VIDEO_RESET( bombsa )
+VIDEO_RESET_MEMBER(psychic5_state,bombsa)
{
- psychic5_state *state = machine.driver_data<psychic5_state>();
- state->m_ps5_vram_page = 0;
- state->m_bg_status = 0;
- state->m_title_screen = 0;
- memset(state->m_ps5_pagedram[0],0,0x2000);
- memset(state->m_ps5_pagedram[1],0,0x2000);
- state->m_palette_intensity = 0;
+ m_ps5_vram_page = 0;
+ m_bg_status = 0;
+ m_title_screen = 0;
+ memset(m_ps5_pagedram[0],0,0x2000);
+ memset(m_ps5_pagedram[1],0,0x2000);
+ m_palette_intensity = 0;
}
diff --git a/src/mame/video/punchout.c b/src/mame/video/punchout.c
index b9ff09dbd25..8a5ee38882b 100644
--- a/src/mame/video/punchout.c
+++ b/src/mame/video/punchout.c
@@ -119,38 +119,36 @@ TILEMAP_MAPPER_MEMBER(punchout_state::armwrest_bs1_scan_flipx)
}
-VIDEO_START( punchout )
+void punchout_state::video_start()
{
- punchout_state *state = machine.driver_data<punchout_state>();
- state->m_bg_top_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::top_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_bg_bot_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bot_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_bg_bot_tilemap->set_scroll_rows(32);
+ m_bg_top_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::top_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_bg_bot_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bot_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_bg_bot_tilemap->set_scroll_rows(32);
- state->m_spr1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 16,32);
- state->m_spr2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs2_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 16,32);
+ m_spr1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 16,32);
+ m_spr2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs2_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 16,32);
- state->m_fg_tilemap = NULL;
+ m_fg_tilemap = NULL;
- state->m_spr1_tilemap->set_transparent_pen(0x07);
- state->m_spr2_tilemap->set_transparent_pen(0x03);
+ m_spr1_tilemap->set_transparent_pen(0x07);
+ m_spr2_tilemap->set_transparent_pen(0x03);
}
-VIDEO_START( armwrest )
+VIDEO_START_MEMBER(punchout_state,armwrest)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- state->m_bg_top_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_top_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_bg_bot_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_bot_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
-
- state->m_spr1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),state), tilemap_mapper_delegate(FUNC(punchout_state::armwrest_bs1_scan),state), 8,8, 32,16);
- state->m_spr1_tilemap_flipx = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),state), tilemap_mapper_delegate(FUNC(punchout_state::armwrest_bs1_scan_flipx),state), 8,8, 32,16);
- state->m_spr2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs2_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 16,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_fg_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
-
- state->m_spr1_tilemap->set_transparent_pen(0x07);
- state->m_spr1_tilemap_flipx->set_transparent_pen(0x07);
- state->m_spr2_tilemap->set_transparent_pen(0x03);
- state->m_fg_tilemap->set_transparent_pen(0x07);
+ m_bg_top_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_top_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_bg_bot_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_bot_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+
+ m_spr1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),this), tilemap_mapper_delegate(FUNC(punchout_state::armwrest_bs1_scan),this), 8,8, 32,16);
+ m_spr1_tilemap_flipx = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),this), tilemap_mapper_delegate(FUNC(punchout_state::armwrest_bs1_scan_flipx),this), 8,8, 32,16);
+ m_spr2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs2_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 16,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_fg_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+
+ m_spr1_tilemap->set_transparent_pen(0x07);
+ m_spr1_tilemap_flipx->set_transparent_pen(0x07);
+ m_spr2_tilemap->set_transparent_pen(0x03);
+ m_fg_tilemap->set_transparent_pen(0x07);
}
diff --git a/src/mame/video/pushman.c b/src/mame/video/pushman.c
index da491d34912..a94da84f119 100644
--- a/src/mame/video/pushman.c
+++ b/src/mame/video/pushman.c
@@ -45,14 +45,13 @@ TILE_GET_INFO_MEMBER(pushman_state::get_text_tile_info)
***************************************************************************/
-VIDEO_START( pushman )
+void pushman_state::video_start()
{
- pushman_state *state = machine.driver_data<pushman_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pushman_state::get_back_tile_info),state), tilemap_mapper_delegate(FUNC(pushman_state::background_scan_rows),state), 32, 32, 128, 64);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pushman_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pushman_state::get_back_tile_info),this), tilemap_mapper_delegate(FUNC(pushman_state::background_scan_rows),this), 32, 32, 128, 64);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(pushman_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(3);
+ m_tx_tilemap->set_transparent_pen(3);
}
diff --git a/src/mame/video/qdrmfgp.c b/src/mame/video/qdrmfgp.c
index 6ff2a75f065..9325f59007d 100644
--- a/src/mame/video/qdrmfgp.c
+++ b/src/mame/video/qdrmfgp.c
@@ -27,9 +27,9 @@ void qdrmfgp2_tile_callback(running_machine &machine, int layer, int *code, int
***************************************************************************/
-VIDEO_START( qdrmfgp )
+VIDEO_START_MEMBER(qdrmfgp_state,qdrmfgp)
{
- device_t *k056832 = machine.device("k056832");
+ device_t *k056832 = machine().device("k056832");
k056832_set_layer_association(k056832, 0);
@@ -39,9 +39,9 @@ VIDEO_START( qdrmfgp )
k056832_set_layer_offs(k056832, 3, 8, 0);
}
-VIDEO_START( qdrmfgp2 )
+VIDEO_START_MEMBER(qdrmfgp_state,qdrmfgp2)
{
- device_t *k056832 = machine.device("k056832");
+ device_t *k056832 = machine().device("k056832");
k056832_set_layer_association(k056832, 0);
diff --git a/src/mame/video/qix.c b/src/mame/video/qix.c
index 3579e6dc519..0c62bc00129 100644
--- a/src/mame/video/qix.c
+++ b/src/mame/video/qix.c
@@ -41,17 +41,16 @@ static WRITE_LINE_DEVICE_HANDLER( display_enable_changed );
*
*************************************/
-static VIDEO_START( qix )
+VIDEO_START_MEMBER(qix_state,qix)
{
- qix_state *state = machine.driver_data<qix_state>();
/* allocate memory for the full video RAM */
- state->m_videoram.allocate(256 * 256);
+ m_videoram.allocate(256 * 256);
/* set up save states */
- state->save_item(NAME(state->m_flip));
- state->save_item(NAME(state->m_palette_bank));
- state->save_item(NAME(state->m_leds));
+ save_item(NAME(m_flip));
+ save_item(NAME(m_palette_bank));
+ save_item(NAME(m_leds));
}
@@ -422,7 +421,7 @@ MACHINE_CONFIG_FRAGMENT( qix_video )
MCFG_CPU_PROGRAM_MAP(qix_video_map)
MCFG_CPU_CONFIG(encryption_config) // for kram3
- MCFG_VIDEO_START(qix)
+ MCFG_VIDEO_START_OVERRIDE(qix_state,qix)
MCFG_MC6845_ADD(MC6845_TAG, MC6845, QIX_CHARACTER_CLOCK, mc6845_intf)
diff --git a/src/mame/video/quasar.c b/src/mame/video/quasar.c
index ceb992adcef..e6d99a4b225 100644
--- a/src/mame/video/quasar.c
+++ b/src/mame/video/quasar.c
@@ -19,19 +19,19 @@
#include "cpu/s2650/s2650.h"
#include "includes/quasar.h"
-PALETTE_INIT( quasar )
+PALETTE_INIT_MEMBER(quasar_state,quasar)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x500);
+ machine().colortable = colortable_alloc(machine(), 0x500);
/* standard 1 bit per color palette (background and sprites) */
for (i = 0; i < 8; i++)
{
rgb_t color = MAKE_RGB(pal1bit(i >> 0), pal1bit(i >> 1), pal1bit(i >> 2));
- colortable_palette_set_color(machine.colortable, i, color);
+ colortable_palette_set_color(machine().colortable, i, color);
}
/* effects color map */
@@ -59,49 +59,48 @@ PALETTE_INIT( quasar )
b = 0x4f * bit0 + 0xa8 * bit1;
/* intensity 0 */
- colortable_palette_set_color(machine.colortable, 0x100 + i, RGB_BLACK);
+ colortable_palette_set_color(machine().colortable, 0x100 + i, RGB_BLACK);
/* intensity 1 */
color = MAKE_RGB(r >> 2, g >> 2, b >> 2);
- colortable_palette_set_color(machine.colortable, 0x200 + i, color);
+ colortable_palette_set_color(machine().colortable, 0x200 + i, color);
/* intensity 2 */
color = MAKE_RGB((r >> 2) + (r >> 3), (g >> 2) + (g >> 3), (b >> 2) + (b >> 2));
- colortable_palette_set_color(machine.colortable, 0x300 + i, color);
+ colortable_palette_set_color(machine().colortable, 0x300 + i, color);
/* intensity 3 */
color = MAKE_RGB(r >> 1, g >> 1, b >> 1);
- colortable_palette_set_color(machine.colortable, 0x400 + i, color);
+ colortable_palette_set_color(machine().colortable, 0x400 + i, color);
}
// Address 0-2 from graphic rom
// 3-5 from color ram
// 6-8 from sprite chips (Used for priority)
for (i = 0; i < 0x200; i++)
- colortable_entry_set_value(machine.colortable, i, color_prom[i] & 0x07);
+ colortable_entry_set_value(machine().colortable, i, color_prom[i] & 0x07);
/* background for collision */
for (i = 1; i < 8; i++)
- colortable_entry_set_value(machine.colortable, 0x200 + i, 7);
- colortable_entry_set_value(machine.colortable, 0x200, 0);
+ colortable_entry_set_value(machine().colortable, 0x200 + i, 7);
+ colortable_entry_set_value(machine().colortable, 0x200, 0);
/* effects */
for (i = 0; i < 0x400; i++)
- colortable_entry_set_value(machine.colortable, 0x208 + i, 0x100 + i);
+ colortable_entry_set_value(machine().colortable, 0x208 + i, 0x100 + i);
}
-VIDEO_START( quasar )
+VIDEO_START_MEMBER(quasar_state,quasar)
{
- quasar_state *state = machine.driver_data<quasar_state>();
- state->m_effectram = auto_alloc_array(machine, UINT8, 0x400);
+ m_effectram = auto_alloc_array(machine(), UINT8, 0x400);
/* create helper bitmap */
- machine.primary_screen->register_screen_bitmap(state->m_collision_background);
+ machine().primary_screen->register_screen_bitmap(m_collision_background);
/* register save */
- state->save_item(NAME(state->m_collision_background));
- state->save_pointer(NAME(state->m_effectram), 0x400);
+ save_item(NAME(m_collision_background));
+ save_pointer(NAME(m_effectram), 0x400);
}
SCREEN_UPDATE_IND16( quasar )
diff --git a/src/mame/video/quizdna.c b/src/mame/video/quizdna.c
index 9ac8a52de7d..08d7a88839b 100644
--- a/src/mame/video/quizdna.c
+++ b/src/mame/video/quizdna.c
@@ -44,21 +44,20 @@ TILE_GET_INFO_MEMBER(quizdna_state::get_fg_tile_info)
}
-VIDEO_START( quizdna )
+void quizdna_state::video_start()
{
- quizdna_state *state = machine.driver_data<quizdna_state>();
- state->m_flipscreen = -1;
- state->m_video_enable = 0;
- state->m_bg_xscroll[0] = 0;
- state->m_bg_xscroll[1] = 0;
+ m_flipscreen = -1;
+ m_video_enable = 0;
+ m_bg_xscroll[0] = 0;
+ m_bg_xscroll[1] = 0;
- state->m_bg_ram = auto_alloc_array(machine, UINT8, 0x2000);
- state->m_fg_ram = auto_alloc_array(machine, UINT8, 0x1000);
+ m_bg_ram = auto_alloc_array(machine(), UINT8, 0x2000);
+ m_fg_ram = auto_alloc_array(machine(), UINT8, 0x1000);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizdna_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizdna_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,8,32,32 );
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(quizdna_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32 );
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(quizdna_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,16,8,32,32 );
- state->m_fg_tilemap->set_transparent_pen(0 );
+ m_fg_tilemap->set_transparent_pen(0 );
}
WRITE8_MEMBER(quizdna_state::quizdna_bg_ram_w)
diff --git a/src/mame/video/quizpani.c b/src/mame/video/quizpani.c
index e021daba0bd..15b6640efca 100644
--- a/src/mame/video/quizpani.c
+++ b/src/mame/video/quizpani.c
@@ -66,12 +66,11 @@ WRITE16_MEMBER(quizpani_state::quizpani_tilesbank_w)
}
}
-VIDEO_START( quizpani )
+void quizpani_state::video_start()
{
- quizpani_state *state = machine.driver_data<quizpani_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpani_state::bg_tile_info),state), tilemap_mapper_delegate(FUNC(quizpani_state::bg_scan),state),16,16,256,32);
- state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpani_state::txt_tile_info),state),tilemap_mapper_delegate(FUNC(quizpani_state::bg_scan),state),16,16,256,32);
- state->m_txt_tilemap->set_transparent_pen(15);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(quizpani_state::bg_tile_info),this), tilemap_mapper_delegate(FUNC(quizpani_state::bg_scan),this),16,16,256,32);
+ m_txt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(quizpani_state::txt_tile_info),this),tilemap_mapper_delegate(FUNC(quizpani_state::bg_scan),this),16,16,256,32);
+ m_txt_tilemap->set_transparent_pen(15);
}
SCREEN_UPDATE_IND16( quizpani )
diff --git a/src/mame/video/raiden.c b/src/mame/video/raiden.c
index 1a8d29a8542..faaa255e890 100644
--- a/src/mame/video/raiden.c
+++ b/src/mame/video/raiden.c
@@ -65,28 +65,26 @@ TILE_GET_INFO_MEMBER(raiden_state::get_text_tile_info)
0);
}
-VIDEO_START( raiden )
+void raiden_state::video_start()
{
- raiden_state *state = machine.driver_data<raiden_state>();
- state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_back_tile_info),state),TILEMAP_SCAN_COLS, 16,16,32,32);
- state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_fore_tile_info),state),TILEMAP_SCAN_COLS,16,16,32,32);
- state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_text_tile_info),state),TILEMAP_SCAN_COLS,8,8,32,32);
- state->m_alternate=0;
+ m_bg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_back_tile_info),this),TILEMAP_SCAN_COLS, 16,16,32,32);
+ m_fg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_fore_tile_info),this),TILEMAP_SCAN_COLS,16,16,32,32);
+ m_tx_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_text_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32);
+ m_alternate=0;
- state->m_fg_layer->set_transparent_pen(15);
- state->m_tx_layer->set_transparent_pen(15);
+ m_fg_layer->set_transparent_pen(15);
+ m_tx_layer->set_transparent_pen(15);
}
-VIDEO_START( raidena )
+VIDEO_START_MEMBER(raiden_state,raidena)
{
- raiden_state *state = machine.driver_data<raiden_state>();
- state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_back_tile_info),state),TILEMAP_SCAN_COLS, 16,16,32,32);
- state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_fore_tile_info),state),TILEMAP_SCAN_COLS,16,16,32,32);
- state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_alternate=1;
+ m_bg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_back_tile_info),this),TILEMAP_SCAN_COLS, 16,16,32,32);
+ m_fg_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_fore_tile_info),this),TILEMAP_SCAN_COLS,16,16,32,32);
+ m_tx_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_alternate=1;
- state->m_fg_layer->set_transparent_pen(15);
- state->m_tx_layer->set_transparent_pen(15);
+ m_fg_layer->set_transparent_pen(15);
+ m_tx_layer->set_transparent_pen(15);
}
WRITE16_MEMBER(raiden_state::raiden_control_w)
diff --git a/src/mame/video/rainbow.c b/src/mame/video/rainbow.c
index 1212ccac42d..05fdb30fb31 100644
--- a/src/mame/video/rainbow.c
+++ b/src/mame/video/rainbow.c
@@ -70,18 +70,17 @@ the Y settings are active low.
*/
-VIDEO_START( jumping )
+VIDEO_START_MEMBER(rbisland_state,jumping)
{
- rbisland_state *state = machine.driver_data<rbisland_state>();
- pc080sn_set_trans_pen(state->m_pc080sn, 1, 15);
+ pc080sn_set_trans_pen(m_pc080sn, 1, 15);
- state->m_sprite_ctrl = 0;
- state->m_sprites_flipscreen = 0;
+ m_sprite_ctrl = 0;
+ m_sprites_flipscreen = 0;
/* not 100% sure Jumping needs to save both... */
- state->save_item(NAME(state->m_sprite_ctrl));
- state->save_item(NAME(state->m_sprites_flipscreen));
+ save_item(NAME(m_sprite_ctrl));
+ save_item(NAME(m_sprites_flipscreen));
}
diff --git a/src/mame/video/rallyx.c b/src/mame/video/rallyx.c
index 07f9e525e7d..9905b9f7287 100644
--- a/src/mame/video/rallyx.c
+++ b/src/mame/video/rallyx.c
@@ -55,9 +55,9 @@ needs more color combination to render its graphics.
***************************************************************************/
-PALETTE_INIT( rallyx )
+PALETTE_INIT_MEMBER(rallyx_state,rallyx)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -70,7 +70,7 @@ PALETTE_INIT( rallyx )
2, &resistances_b[0], bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -95,7 +95,7 @@ PALETTE_INIT( rallyx )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -105,18 +105,18 @@ PALETTE_INIT( rallyx )
for (i = 0x000; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* bullets use colors 0x10-0x13 */
for (i = 0x100; i < 0x104; i++)
- colortable_entry_set_value(machine.colortable, i, (i - 0x100) | 0x10);
+ colortable_entry_set_value(machine().colortable, i, (i - 0x100) | 0x10);
}
-PALETTE_INIT( jungler )
+PALETTE_INIT_MEMBER(rallyx_state,jungler)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
static const int resistances_star[3] = { 150, 100 };
@@ -136,7 +136,7 @@ PALETTE_INIT( jungler )
2, resistances_b, bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x60);
+ machine().colortable = colortable_alloc(machine(), 0x60);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -161,7 +161,7 @@ PALETTE_INIT( jungler )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* star pens */
@@ -185,7 +185,7 @@ PALETTE_INIT( jungler )
bit1 = ((i - 0x20) >> 5) & 0x01;
b = combine_2_weights(bweights_star, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -195,16 +195,16 @@ PALETTE_INIT( jungler )
for (i = 0x000; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* bullets use colors 0x10-0x13 */
for (i = 0x100; i < 0x104; i++)
- colortable_entry_set_value(machine.colortable, i, (i - 0x100) | 0x10);
+ colortable_entry_set_value(machine().colortable, i, (i - 0x100) | 0x10);
/* stars */
for (i = 0x104; i < 0x144; i++)
- colortable_entry_set_value(machine.colortable, i, (i - 0x104) + 0x20);
+ colortable_entry_set_value(machine().colortable, i, (i - 0x104) + 0x20);
}
@@ -339,76 +339,72 @@ static void rallyx_video_start_common( running_machine &machine )
state->m_drawmode_table[3] = DRAWMODE_NONE;
}
-VIDEO_START( rallyx )
+VIDEO_START_MEMBER(rallyx_state,rallyx)
{
- rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),state), 8, 8, 8, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_fg_get_tile_info),this), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),this), 8, 8, 8, 32);
/* the scrolling tilemap is slightly misplaced in Rally X */
- state->m_bg_tilemap->set_scrolldx(3, 3);
+ m_bg_tilemap->set_scrolldx(3, 3);
- state->m_spriteram_base = 0x14;
+ m_spriteram_base = 0x14;
- rallyx_video_start_common(machine);
+ rallyx_video_start_common(machine());
}
-VIDEO_START( jungler )
+VIDEO_START_MEMBER(rallyx_state,jungler)
{
- rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),state), 8, 8, 8, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_fg_get_tile_info),this), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),this), 8, 8, 8, 32);
- state->m_spriteram_base = 0x14;
+ m_spriteram_base = 0x14;
- rallyx_video_start_common(machine);
- calculate_star_field(machine);
+ rallyx_video_start_common(machine());
+ calculate_star_field(machine());
}
-VIDEO_START( locomotn )
+VIDEO_START_MEMBER(rallyx_state,locomotn)
{
- rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),state), 8, 8, 8, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_fg_get_tile_info),this), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),this), 8, 8, 8, 32);
/* handle reduced visible area in some games */
- if (machine.primary_screen->visible_area().max_x == 32 * 8 - 1)
+ if (machine().primary_screen->visible_area().max_x == 32 * 8 - 1)
{
- state->m_bg_tilemap->set_scrolldx(0, 32);
- state->m_fg_tilemap->set_scrolldx(0, 32);
+ m_bg_tilemap->set_scrolldx(0, 32);
+ m_fg_tilemap->set_scrolldx(0, 32);
}
- state->m_spriteram_base = 0x14;
+ m_spriteram_base = 0x14;
- rallyx_video_start_common(machine);
- calculate_star_field(machine);
+ rallyx_video_start_common(machine());
+ calculate_star_field(machine());
}
-VIDEO_START( commsega )
+VIDEO_START_MEMBER(rallyx_state,commsega)
{
- rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),state), 8, 8, 8, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_fg_get_tile_info),this), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),this), 8, 8, 8, 32);
/* handle reduced visible area in some games */
- if (machine.primary_screen->visible_area().max_x == 32 * 8 - 1)
+ if (machine().primary_screen->visible_area().max_x == 32 * 8 - 1)
{
- state->m_bg_tilemap->set_scrolldx(0, 32);
- state->m_fg_tilemap->set_scrolldx(0, 32);
+ m_bg_tilemap->set_scrolldx(0, 32);
+ m_fg_tilemap->set_scrolldx(0, 32);
}
/* commsega has more sprites and bullets than the other games */
- state->m_spriteram_base = 0x00;
+ m_spriteram_base = 0x00;
- rallyx_video_start_common(machine);
- calculate_star_field(machine);
+ rallyx_video_start_common(machine());
+ calculate_star_field(machine());
}
diff --git a/src/mame/video/rampart.c b/src/mame/video/rampart.c
index 5b9de153fd8..ba48f956917 100644
--- a/src/mame/video/rampart.c
+++ b/src/mame/video/rampart.c
@@ -18,7 +18,7 @@ static void rampart_bitmap_render(running_machine &machine, bitmap_ind16 &bitmap
*
*************************************/
-VIDEO_START( rampart )
+VIDEO_START_MEMBER(rampart_state,rampart)
{
static const atarimo_desc modesc =
{
@@ -58,7 +58,7 @@ VIDEO_START( rampart )
};
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* set the intial scroll offset */
atarimo_set_xscroll(0, -12);
diff --git a/src/mame/video/realbrk.c b/src/mame/video/realbrk.c
index 21fd6608ebc..cc22f5c3cfa 100644
--- a/src/mame/video/realbrk.c
+++ b/src/mame/video/realbrk.c
@@ -142,22 +142,21 @@ WRITE16_MEMBER(realbrk_state::realbrk_vram_2_w)
***************************************************************************/
-VIDEO_START(realbrk)
+void realbrk_state::video_start()
{
- realbrk_state *state = machine.driver_data<realbrk_state>();
/* Backgrounds */
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(realbrk_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(realbrk_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(realbrk_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(realbrk_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
/* Text */
- state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(realbrk_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
+ m_tilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(realbrk_state::get_tile_info_2),this), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
- state->m_tilemap_0->set_transparent_pen(0);
- state->m_tilemap_1->set_transparent_pen(0);
- state->m_tilemap_2->set_transparent_pen(0);
+ m_tilemap_0->set_transparent_pen(0);
+ m_tilemap_1->set_transparent_pen(0);
+ m_tilemap_2->set_transparent_pen(0);
- state->m_tmpbitmap0 = auto_bitmap_ind16_alloc(machine,32,32);
- state->m_tmpbitmap1 = auto_bitmap_ind16_alloc(machine,32,32);
+ m_tmpbitmap0 = auto_bitmap_ind16_alloc(machine(),32,32);
+ m_tmpbitmap1 = auto_bitmap_ind16_alloc(machine(),32,32);
}
/***************************************************************************
diff --git a/src/mame/video/redalert.c b/src/mame/video/redalert.c
index f25880443bf..8726bc767b7 100644
--- a/src/mame/video/redalert.c
+++ b/src/mame/video/redalert.c
@@ -160,22 +160,20 @@ static void get_panther_pens(running_machine &machine, pen_t *pens)
*
*************************************/
-static VIDEO_START( redalert )
+VIDEO_START_MEMBER(redalert_state,redalert)
{
- redalert_state *state = machine.driver_data<redalert_state>();
- state->m_bitmap_colorram = auto_alloc_array(machine, UINT8, 0x0400);
+ m_bitmap_colorram = auto_alloc_array(machine(), UINT8, 0x0400);
- state->save_pointer(NAME(state->m_bitmap_colorram), 0x0400);
+ save_pointer(NAME(m_bitmap_colorram), 0x0400);
- state->m_control_xor = 0x00;
+ m_control_xor = 0x00;
}
-static VIDEO_START( ww3 )
+VIDEO_START_MEMBER(redalert_state,ww3)
{
- redalert_state *state = machine.driver_data<redalert_state>();
- VIDEO_START_CALL( redalert );
+ VIDEO_START_CALL_MEMBER( redalert );
- state->m_control_xor = 0x04;
+ m_control_xor = 0x04;
}
@@ -416,14 +414,14 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( redalert_video )
- MCFG_VIDEO_START(redalert)
+ MCFG_VIDEO_START_OVERRIDE(redalert_state,redalert)
MCFG_FRAGMENT_ADD( redalert_video_common )
MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( ww3_video )
- MCFG_VIDEO_START( ww3 )
+ MCFG_VIDEO_START_OVERRIDE(redalert_state, ww3 )
MCFG_FRAGMENT_ADD( redalert_video_common )
MACHINE_CONFIG_END
@@ -436,7 +434,7 @@ MACHINE_CONFIG_END
*************************************/
MACHINE_CONFIG_FRAGMENT( demoneye_video )
- MCFG_VIDEO_START(redalert)
+ MCFG_VIDEO_START_OVERRIDE(redalert_state,redalert)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -449,7 +447,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( panther_video )
- MCFG_VIDEO_START(ww3)
+ MCFG_VIDEO_START_OVERRIDE(redalert_state,ww3)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/video/redclash.c b/src/mame/video/redclash.c
index 8a6d0da92a8..e3018794b8b 100644
--- a/src/mame/video/redclash.c
+++ b/src/mame/video/redclash.c
@@ -18,13 +18,13 @@
***************************************************************************/
-PALETTE_INIT( redclash )
+PALETTE_INIT_MEMBER(ladybug_state,redclash)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x40);
+ machine().colortable = colortable_alloc(machine(), 0x40);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -47,7 +47,7 @@ PALETTE_INIT( redclash )
bit1 = (color_prom[i] >> 7) & 0x01;
b = 0x47 * bit0 + 0x97 * bit1;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* star colors */
@@ -70,7 +70,7 @@ PALETTE_INIT( redclash )
bit0 = ((i - 0x20) >> 0) & 0x01;
r = 0x47 * bit0;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -80,7 +80,7 @@ PALETTE_INIT( redclash )
for (i = 0; i < 0x20; i++)
{
UINT8 ctabentry = ((i << 3) & 0x18) | ((i >> 2) & 0x07);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites */
@@ -89,15 +89,15 @@ PALETTE_INIT( redclash )
UINT8 ctabentry = color_prom[(i - 0x20) >> 1];
ctabentry = BITSWAP8((color_prom[i - 0x20] >> 0) & 0x0f, 7,6,5,4,0,1,2,3);
- colortable_entry_set_value(machine.colortable, i + 0x00, ctabentry);
+ colortable_entry_set_value(machine().colortable, i + 0x00, ctabentry);
ctabentry = BITSWAP8((color_prom[i - 0x20] >> 4) & 0x0f, 7,6,5,4,0,1,2,3);
- colortable_entry_set_value(machine.colortable, i + 0x20, ctabentry);
+ colortable_entry_set_value(machine().colortable, i + 0x20, ctabentry);
}
/* stars */
for (i = 0x60; i < 0x80; i++)
- colortable_entry_set_value(machine.colortable, i, (i - 0x60) + 0x20);
+ colortable_entry_set_value(machine().colortable, i, (i - 0x60) + 0x20);
}
WRITE8_HANDLER( redclash_videoram_w )
@@ -176,12 +176,11 @@ TILE_GET_INFO_MEMBER(ladybug_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( redclash )
+VIDEO_START_MEMBER(ladybug_state,redclash)
{
- ladybug_state *state = machine.driver_data<ladybug_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/relief.c b/src/mame/video/relief.c
index cdc5f89f1fc..aee00c0a21e 100644
--- a/src/mame/video/relief.c
+++ b/src/mame/video/relief.c
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(relief_state::get_playfield2_tile_info)
*
*************************************/
-VIDEO_START( relief )
+VIDEO_START_MEMBER(relief_state,relief)
{
static const atarimo_desc modesc =
{
@@ -82,20 +82,19 @@ VIDEO_START( relief )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- relief_state *state = machine.driver_data<relief_state>();
/* MOs are 5bpp but with a 4-bit color granularity */
- machine.gfx[1]->set_granularity(16);
+ machine().gfx[1]->set_granularity(16);
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(relief_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(relief_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the second playfield */
- state->m_playfield2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(relief_state::get_playfield2_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
- state->m_playfield2_tilemap->set_transparent_pen(0);
+ m_playfield2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(relief_state::get_playfield2_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield2_tilemap->set_transparent_pen(0);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
}
diff --git a/src/mame/video/renegade.c b/src/mame/video/renegade.c
index 4b0fac4ef87..51340d0fe45 100644
--- a/src/mame/video/renegade.c
+++ b/src/mame/video/renegade.c
@@ -61,16 +61,15 @@ TILE_GET_INFO_MEMBER(renegade_state::get_fg_tilemap_info)
0);
}
-VIDEO_START( renegade )
+void renegade_state::video_start()
{
- renegade_state *state = machine.driver_data<renegade_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(renegade_state::get_bg_tilemap_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(renegade_state::get_fg_tilemap_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(renegade_state::get_bg_tilemap_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(renegade_state::get_fg_tilemap_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(256, 0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scrolldx(256, 0);
- state_save_register_global(machine, state->m_scrollx);
+ state_save_register_global(machine(), m_scrollx);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/retofinv.c b/src/mame/video/retofinv.c
index e6276c06220..b333f3eac31 100644
--- a/src/mame/video/retofinv.c
+++ b/src/mame/video/retofinv.c
@@ -10,13 +10,13 @@
#include "includes/retofinv.h"
-PALETTE_INIT( retofinv )
+void retofinv_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -25,7 +25,7 @@ PALETTE_INIT( retofinv )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -42,14 +42,14 @@ PALETTE_INIT( retofinv )
else
ctabentry = 0;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites and bg tiles */
for (i = 0; i < 0x800; i++)
{
UINT8 ctabentry = BITSWAP8(color_prom[i],4,5,6,7,3,2,1,0);
- colortable_entry_set_value(machine.colortable, i + 0x200, ctabentry);
+ colortable_entry_set_value(machine().colortable, i + 0x200, ctabentry);
}
}
@@ -102,13 +102,12 @@ TILE_GET_INFO_MEMBER(retofinv_state::fg_get_tile_info)
***************************************************************************/
-VIDEO_START( retofinv )
+void retofinv_state::video_start()
{
- retofinv_state *state = machine.driver_data<retofinv_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(retofinv_state::bg_get_tile_info),state),tilemap_mapper_delegate(FUNC(retofinv_state::tilemap_scan),state),8,8,36,28);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(retofinv_state::fg_get_tile_info),state),tilemap_mapper_delegate(FUNC(retofinv_state::tilemap_scan),state),8,8,36,28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(retofinv_state::bg_get_tile_info),this),tilemap_mapper_delegate(FUNC(retofinv_state::tilemap_scan),this),8,8,36,28);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(retofinv_state::fg_get_tile_info),this),tilemap_mapper_delegate(FUNC(retofinv_state::tilemap_scan),this),8,8,36,28);
- colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, machine().gfx[0], 0);
}
diff --git a/src/mame/video/rltennis.c b/src/mame/video/rltennis.c
index 2b64155e730..f50bf00f9be 100644
--- a/src/mame/video/rltennis.c
+++ b/src/mame/video/rltennis.c
@@ -220,13 +220,12 @@ WRITE16_MEMBER(rltennis_state::rlt_blitter_w)
}
}
-VIDEO_START( rltennis )
+void rltennis_state::video_start()
{
- rltennis_state *state = machine.driver_data<rltennis_state>();
- state->m_tmp_bitmap[BITMAP_BG] = auto_bitmap_ind16_alloc(machine, 512, 256);
- state->m_tmp_bitmap[BITMAP_FG_1] = auto_bitmap_ind16_alloc(machine, 512, 256);
- state->m_tmp_bitmap[BITMAP_FG_2] = auto_bitmap_ind16_alloc(machine, 512, 256);
- state->m_tmp_bitmap[BITMAP_FG_DISPLAY] = auto_bitmap_ind16_alloc(machine, 512, 256);
+ m_tmp_bitmap[BITMAP_BG] = auto_bitmap_ind16_alloc(machine(), 512, 256);
+ m_tmp_bitmap[BITMAP_FG_1] = auto_bitmap_ind16_alloc(machine(), 512, 256);
+ m_tmp_bitmap[BITMAP_FG_2] = auto_bitmap_ind16_alloc(machine(), 512, 256);
+ m_tmp_bitmap[BITMAP_FG_DISPLAY] = auto_bitmap_ind16_alloc(machine(), 512, 256);
}
SCREEN_UPDATE_IND16( rltennis )
diff --git a/src/mame/video/rockrage.c b/src/mame/video/rockrage.c
index 1c1cec544b4..b48ea7765fd 100644
--- a/src/mame/video/rockrage.c
+++ b/src/mame/video/rockrage.c
@@ -2,17 +2,17 @@
#include "video/konicdev.h"
#include "includes/rockrage.h"
-PALETTE_INIT( rockrage )
+void rockrage_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x40);
+ machine().colortable = colortable_alloc(machine(), 0x40);
/* sprites */
for (i = 0x20; i < 0x40; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* characters */
for (i = 0x40; i < 0x140; i++)
@@ -20,10 +20,10 @@ PALETTE_INIT( rockrage )
UINT8 ctabentry;
ctabentry = (color_prom[(i - 0x40) + 0x000] & 0x0f) | 0x00;
- colortable_entry_set_value(machine.colortable, i + 0x000, ctabentry);
+ colortable_entry_set_value(machine().colortable, i + 0x000, ctabentry);
ctabentry = (color_prom[(i - 0x40) + 0x100] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i + 0x100, ctabentry);
+ colortable_entry_set_value(machine().colortable, i + 0x100, ctabentry);
}
}
diff --git a/src/mame/video/rocnrope.c b/src/mame/video/rocnrope.c
index 2d9bc96c55f..6f4e6a84726 100644
--- a/src/mame/video/rocnrope.c
+++ b/src/mame/video/rocnrope.c
@@ -29,9 +29,9 @@
***************************************************************************/
-PALETTE_INIT( rocnrope )
+void rocnrope_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -44,7 +44,7 @@ PALETTE_INIT( rocnrope )
2, &resistances_b[0], bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( rocnrope )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -79,7 +79,7 @@ PALETTE_INIT( rocnrope )
for (i = 0; i < 0x200; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -114,10 +114,9 @@ TILE_GET_INFO_MEMBER(rocnrope_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-VIDEO_START( rocnrope )
+void rocnrope_state::video_start()
{
- rocnrope_state *state = machine.driver_data<rocnrope_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rocnrope_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rocnrope_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/rohga.c b/src/mame/video/rohga.c
index 09391d06cdc..5b070d03489 100644
--- a/src/mame/video/rohga.c
+++ b/src/mame/video/rohga.c
@@ -16,17 +16,17 @@ WRITE16_MEMBER(rohga_state::rohga_buffer_spriteram16_w)
m_spriteram->copy();
}
-VIDEO_START( rohga )
+VIDEO_START_MEMBER(rohga_state,rohga)
{
- machine.device<decospr_device>("spritegen1")->set_col_callback(rohga_col_callback);
- machine.device<decospr_device>("spritegen1")->set_pri_callback(rohga_pri_callback);
+ machine().device<decospr_device>("spritegen1")->set_col_callback(rohga_col_callback);
+ machine().device<decospr_device>("spritegen1")->set_pri_callback(rohga_pri_callback);
}
-VIDEO_START( schmeisr )
+VIDEO_START_MEMBER(rohga_state,schmeisr)
{
- VIDEO_START_CALL( rohga );
+ VIDEO_START_CALL_MEMBER( rohga );
// wire mods on pcb..
- machine.device<decospr_device>("spritegen1")->set_col_callback(schmeisr_col_callback);
+ machine().device<decospr_device>("spritegen1")->set_col_callback(schmeisr_col_callback);
}
@@ -112,10 +112,10 @@ SCREEN_UPDATE_IND16( rohga )
-VIDEO_START(wizdfire)
+VIDEO_START_MEMBER(rohga_state,wizdfire)
{
- machine.device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
- machine.device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
}
// not amazingly efficient, called multiple times to pull a layer out of the sprite bitmaps, but keeps correct sprite<->sprite priorities
diff --git a/src/mame/video/rollerg.c b/src/mame/video/rollerg.c
index 0f726e18e48..9bb13fd3ff1 100644
--- a/src/mame/video/rollerg.c
+++ b/src/mame/video/rollerg.c
@@ -44,11 +44,10 @@ void rollerg_zoom_callback( running_machine &machine, int *code, int *color, int
***************************************************************************/
-VIDEO_START( rollerg )
+void rollerg_state::video_start()
{
- rollerg_state *state = machine.driver_data<rollerg_state>();
- state->m_sprite_colorbase = 16;
- state->m_zoom_colorbase = 0;
+ m_sprite_colorbase = 16;
+ m_zoom_colorbase = 0;
}
diff --git a/src/mame/video/rollrace.c b/src/mame/video/rollrace.c
index 875e83f3e63..161bba25783 100644
--- a/src/mame/video/rollrace.c
+++ b/src/mame/video/rollrace.c
@@ -20,13 +20,13 @@
bit 0 -- 1 kohm resistor -- RED/GREEN/BLUE
***************************************************************************/
-PALETTE_INIT( rollrace )
+void rollrace_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,bit3,r,g,b;
@@ -36,18 +36,18 @@ PALETTE_INIT( rollrace )
bit2 = (color_prom[0] >> 2) & 0x01;
bit3 = (color_prom[0] >> 3) & 0x01;
r = 0x0e * bit0 + 0x1f * bit1 + 0x42 * bit2 + 0x90 * bit3;
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x42 * bit2 + 0x90 * bit3;
- bit0 = (color_prom[2*machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[2*machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[2*machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[2*machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[2*machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[2*machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[2*machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[2*machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x42 * bit2 + 0x90 * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
diff --git a/src/mame/video/rpunch.c b/src/mame/video/rpunch.c
index e1bc86ab953..6aa1e775a00 100644
--- a/src/mame/video/rpunch.c
+++ b/src/mame/video/rpunch.c
@@ -67,21 +67,20 @@ static TIMER_CALLBACK( crtc_interrupt_gen )
}
-VIDEO_START( rpunch )
+void rpunch_state::video_start()
{
- rpunch_state *state = machine.driver_data<rpunch_state>();
/* allocate tilemaps for the backgrounds */
- state->m_background[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rpunch_state::get_bg0_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,64);
- state->m_background[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rpunch_state::get_bg1_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,64);
+ m_background[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rpunch_state::get_bg0_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,64);
+ m_background[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rpunch_state::get_bg1_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,64);
/* configure the tilemaps */
- state->m_background[1]->set_transparent_pen(15);
+ m_background[1]->set_transparent_pen(15);
- if (state->m_bitmapram)
- memset(state->m_bitmapram, 0xff, state->m_bitmapram.bytes());
+ if (m_bitmapram)
+ memset(m_bitmapram, 0xff, m_bitmapram.bytes());
/* reset the timer */
- state->m_crtc_timer = machine.scheduler().timer_alloc(FUNC(crtc_interrupt_gen));
+ m_crtc_timer = machine().scheduler().timer_alloc(FUNC(crtc_interrupt_gen));
}
diff --git a/src/mame/video/runaway.c b/src/mame/video/runaway.c
index 1e5bbbc2e83..bae40598bcb 100644
--- a/src/mame/video/runaway.c
+++ b/src/mame/video/runaway.c
@@ -66,21 +66,19 @@ TILE_GET_INFO_MEMBER(runaway_state::qwak_get_tile_info)
-VIDEO_START( runaway )
+void runaway_state::video_start()
{
- runaway_state *state = machine.driver_data<runaway_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(runaway_state::runaway_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 30);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(runaway_state::runaway_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 30);
- state->save_item(NAME(state->m_tile_bank));
+ save_item(NAME(m_tile_bank));
}
-VIDEO_START( qwak )
+VIDEO_START_MEMBER(runaway_state,qwak)
{
- runaway_state *state = machine.driver_data<runaway_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(runaway_state::qwak_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 30);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(runaway_state::qwak_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 30);
- state->save_item(NAME(state->m_tile_bank));
+ save_item(NAME(m_tile_bank));
}
diff --git a/src/mame/video/rungun.c b/src/mame/video/rungun.c
index f1af1be7e6f..48cb19345a9 100644
--- a/src/mame/video/rungun.c
+++ b/src/mame/video/rungun.c
@@ -60,7 +60,7 @@ TILE_GET_INFO_MEMBER(rungun_state::get_rng_936_tile_info)
}
-VIDEO_START( rng )
+void rungun_state::video_start()
{
static const gfx_layout charlayout =
{
@@ -73,29 +73,28 @@ VIDEO_START( rng )
8*8*4
};
- rungun_state *state = machine.driver_data<rungun_state>();
int gfx_index;
- state->m_936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rungun_state::get_rng_936_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
- state->m_936_tilemap->set_transparent_pen(0);
+ m_936_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rungun_state::get_rng_936_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
+ m_936_tilemap->set_transparent_pen(0);
/* find first empty slot to decode gfx */
for (gfx_index = 0; gfx_index < MAX_GFX_ELEMENTS; gfx_index++)
- if (machine.gfx[gfx_index] == 0)
+ if (machine().gfx[gfx_index] == 0)
break;
assert(gfx_index != MAX_GFX_ELEMENTS);
// decode the ttl layer's gfx
- machine.gfx[gfx_index] = auto_alloc(machine, gfx_element(machine, charlayout, state->memregion("gfx3")->base(), machine.total_colors() / 16, 0));
- state->m_ttl_gfx_index = gfx_index;
+ machine().gfx[gfx_index] = auto_alloc(machine(), gfx_element(machine(), charlayout, memregion("gfx3")->base(), machine().total_colors() / 16, 0));
+ m_ttl_gfx_index = gfx_index;
// create the tilemap
- state->m_ttl_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rungun_state::ttl_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_ttl_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(rungun_state::ttl_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_ttl_tilemap->set_transparent_pen(0);
+ m_ttl_tilemap->set_transparent_pen(0);
- state->m_sprite_colorbase = 0x20;
+ m_sprite_colorbase = 0x20;
}
SCREEN_UPDATE_IND16(rng)
diff --git a/src/mame/video/sauro.c b/src/mame/video/sauro.c
index 2bf6156a2d6..557fa5233be 100644
--- a/src/mame/video/sauro.c
+++ b/src/mame/video/sauro.c
@@ -83,18 +83,17 @@ WRITE8_MEMBER(sauro_state::sauro_scroll_fg_w)
m_fg_tilemap->set_scrollx(0, scroll);
}
-VIDEO_START( sauro )
+VIDEO_START_MEMBER(sauro_state,sauro)
{
- sauro_state *state = machine.driver_data<sauro_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),this), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_fg),state), TILEMAP_SCAN_COLS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_fg),this), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_palette_bank = 0;
+ m_fg_tilemap->set_transparent_pen(0);
+ m_palette_bank = 0;
}
static void sauro_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -157,11 +156,10 @@ SCREEN_UPDATE_IND16( sauro )
/* Tricky Doc */
-VIDEO_START( trckydoc )
+VIDEO_START_MEMBER(sauro_state,trckydoc)
{
- sauro_state *state = machine.driver_data<sauro_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),this), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/sbasketb.c b/src/mame/video/sbasketb.c
index 8f229fe2ee0..97f3c9fe130 100644
--- a/src/mame/video/sbasketb.c
+++ b/src/mame/video/sbasketb.c
@@ -26,9 +26,9 @@
***************************************************************************/
-PALETTE_INIT( sbasketb )
+void sbasketb_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[4] = { 2000, 1000, 470, 220 };
double rweights[4], gweights[4], bweights[4];
int i;
@@ -40,7 +40,7 @@ PALETTE_INIT( sbasketb )
4, resistances, bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( sbasketb )
bit3 = (color_prom[i + 0x200] >> 3) & 0x01;
b = combine_4_weights(bweights, bit0, bit1, bit2, bit3);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table,*/
@@ -79,7 +79,7 @@ PALETTE_INIT( sbasketb )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0xf0;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites use colors 0-256 (?) in 16 banks */
@@ -90,7 +90,7 @@ PALETTE_INIT( sbasketb )
for (j = 0; j < 0x10; j++)
{
UINT8 ctabentry = (j << 4) | (color_prom[i + 0x100] & 0x0f);
- colortable_entry_set_value(machine.colortable, 0x100 + ((j << 8) | i), ctabentry);
+ colortable_entry_set_value(machine().colortable, 0x100 + ((j << 8) | i), ctabentry);
}
}
}
@@ -125,12 +125,11 @@ TILE_GET_INFO_MEMBER(sbasketb_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( sbasketb )
+void sbasketb_state::video_start()
{
- sbasketb_state *state = machine.driver_data<sbasketb_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbasketb_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sbasketb_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scroll_cols(32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/sbugger.c b/src/mame/video/sbugger.c
index 6912d8a7948..ea5773a864e 100644
--- a/src/mame/video/sbugger.c
+++ b/src/mame/video/sbugger.c
@@ -27,10 +27,9 @@ WRITE8_MEMBER(sbugger_state::sbugger_videoram_attr_w)
m_tilemap->mark_tile_dirty(offset);
}
-VIDEO_START(sbugger)
+void sbugger_state::video_start()
{
- sbugger_state *state = machine.driver_data<sbugger_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbugger_state::get_sbugger_tile_info),state), TILEMAP_SCAN_ROWS, 8, 16, 64, 16);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sbugger_state::get_sbugger_tile_info),this), TILEMAP_SCAN_ROWS, 8, 16, 64, 16);
}
SCREEN_UPDATE_IND16(sbugger)
@@ -41,20 +40,20 @@ SCREEN_UPDATE_IND16(sbugger)
}
/* not right but so we can see things ok */
-PALETTE_INIT(sbugger)
+void sbugger_state::palette_init()
{
/* just some random colours for now */
int i;
for (i = 0;i < 256;i++)
{
- int r = machine.rand()|0x80;
- int g = machine.rand()|0x80;
- int b = machine.rand()|0x80;
+ int r = machine().rand()|0x80;
+ int g = machine().rand()|0x80;
+ int b = machine().rand()|0x80;
if (i == 0) r = g = b = 0;
- palette_set_color(machine,i*2+1,MAKE_RGB(r,g,b));
- palette_set_color(machine,i*2,MAKE_RGB(0,0,0));
+ palette_set_color(machine(),i*2+1,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i*2,MAKE_RGB(0,0,0));
}
diff --git a/src/mame/video/scotrsht.c b/src/mame/video/scotrsht.c
index d162c162021..e1e209978aa 100644
--- a/src/mame/video/scotrsht.c
+++ b/src/mame/video/scotrsht.c
@@ -3,13 +3,13 @@
/* Similar as Iron Horse */
-PALETTE_INIT( scotrsht )
+void scotrsht_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -18,7 +18,7 @@ PALETTE_INIT( scotrsht )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -32,7 +32,7 @@ PALETTE_INIT( scotrsht )
for (j = 0; j < 8; j++)
{
UINT8 ctabentry = ((~i & 0x100) >> 1) | (j << 4) | (color_prom[i] & 0x0f);
- colortable_entry_set_value(machine.colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
+ colortable_entry_set_value(machine().colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
}
}
}
@@ -125,13 +125,12 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
}
}
-VIDEO_START( scotrsht )
+void scotrsht_state::video_start()
{
- scotrsht_state *state = machine.driver_data<scotrsht_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(scotrsht_state::scotrsht_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(scotrsht_state::scotrsht_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_scroll_cols(64);
+ m_bg_tilemap->set_scroll_cols(64);
}
SCREEN_UPDATE_IND16( scotrsht )
diff --git a/src/mame/video/sderby.c b/src/mame/video/sderby.c
index 90782f47f74..1a33d1b7323 100644
--- a/src/mame/video/sderby.c
+++ b/src/mame/video/sderby.c
@@ -89,17 +89,16 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re
}
-VIDEO_START( sderby )
+void sderby_state::video_start()
{
- sderby_state *state = machine.driver_data<sderby_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sderby_state::get_sderby_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
- state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sderby_state::get_sderby_md_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sderby_state::get_sderby_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ m_md_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sderby_state::get_sderby_md_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16,32,32);
- state->m_md_tilemap->set_transparent_pen(0);
+ m_md_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sderby_state::get_sderby_fg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sderby_state::get_sderby_fg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_fg_tilemap->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16( sderby )
diff --git a/src/mame/video/segag80r.c b/src/mame/video/segag80r.c
index 4a76343634f..2ca2f5558c7 100644
--- a/src/mame/video/segag80r.c
+++ b/src/mame/video/segag80r.c
@@ -179,26 +179,25 @@ TILE_GET_INFO_MEMBER(segag80r_state::bg_get_tile_info)
*
*************************************/
-VIDEO_START( segag80r )
+void segag80r_state::video_start()
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
static const int rg_resistances[3] = { 4700, 2400, 1200 };
static const int b_resistances[2] = { 2000, 1000 };
/* compute the color output resistor weights at startup */
compute_resistor_weights(0, 255, -1.0,
- 3, rg_resistances, state->m_rweights, 220, 0,
- 3, rg_resistances, state->m_gweights, 220, 0,
- 2, b_resistances, state->m_bweights, 220, 0);
+ 3, rg_resistances, m_rweights, 220, 0,
+ 3, rg_resistances, m_gweights, 220, 0,
+ 2, b_resistances, m_bweights, 220, 0);
- machine.gfx[0]->set_source(&videoram[0x800]);
+ machine().gfx[0]->set_source(&videoram[0x800]);
/* allocate paletteram */
- state->m_generic_paletteram_8.allocate(0x80);
+ m_generic_paletteram_8.allocate(0x80);
/* initialize the particulars for each type of background PCB */
- switch (state->m_background_pcb)
+ switch (m_background_pcb)
{
/* nothing to do here */
case G80_BACKGROUND_NONE:
@@ -207,40 +206,40 @@ VIDEO_START( segag80r )
/* create a fixed background palette and two tilemaps, one horizontally scrolling */
/* and one vertically scrolling */
case G80_BACKGROUND_SPACEOD:
- spaceod_bg_init_palette(machine);
- state->m_spaceod_bg_htilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::spaceod_get_tile_info),state), tilemap_mapper_delegate(FUNC(segag80r_state::spaceod_scan_rows),state), 8,8, 128,32);
- state->m_spaceod_bg_vtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::spaceod_get_tile_info),state), tilemap_mapper_delegate(FUNC(segag80r_state::spaceod_scan_rows),state), 8,8, 32,128);
+ spaceod_bg_init_palette(machine());
+ m_spaceod_bg_htilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::spaceod_get_tile_info),this), tilemap_mapper_delegate(FUNC(segag80r_state::spaceod_scan_rows),this), 8,8, 128,32);
+ m_spaceod_bg_vtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::spaceod_get_tile_info),this), tilemap_mapper_delegate(FUNC(segag80r_state::spaceod_scan_rows),this), 8,8, 32,128);
break;
/* background tilemap is effectively 1 screen x n screens */
case G80_BACKGROUND_MONSTERB:
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,machine.root_device().memregion("gfx2")->bytes() / 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,machine().root_device().memregion("gfx2")->bytes() / 32);
break;
/* background tilemap is effectively 4 screens x n screens */
case G80_BACKGROUND_PIGNEWT:
case G80_BACKGROUND_SINDBADM:
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 128,machine.root_device().memregion("gfx2")->bytes() / 128);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 128,machine().root_device().memregion("gfx2")->bytes() / 128);
break;
}
/* register for save states */
- state_save_register_global(machine, state->m_video_control);
- state_save_register_global(machine, state->m_video_flip);
- state_save_register_global(machine, state->m_vblank_latch);
-
- state_save_register_global(machine, state->m_spaceod_hcounter);
- state_save_register_global(machine, state->m_spaceod_vcounter);
- state_save_register_global(machine, state->m_spaceod_fixed_color);
- state_save_register_global(machine, state->m_spaceod_bg_control);
- state_save_register_global(machine, state->m_spaceod_bg_detect);
-
- state_save_register_global(machine, state->m_bg_enable);
- state_save_register_global(machine, state->m_bg_char_bank);
- state_save_register_global(machine, state->m_bg_scrollx);
- state_save_register_global(machine, state->m_bg_scrolly);
-
- state_save_register_global(machine, state->m_pignewt_bg_color_offset);
+ state_save_register_global(machine(), m_video_control);
+ state_save_register_global(machine(), m_video_flip);
+ state_save_register_global(machine(), m_vblank_latch);
+
+ state_save_register_global(machine(), m_spaceod_hcounter);
+ state_save_register_global(machine(), m_spaceod_vcounter);
+ state_save_register_global(machine(), m_spaceod_fixed_color);
+ state_save_register_global(machine(), m_spaceod_bg_control);
+ state_save_register_global(machine(), m_spaceod_bg_detect);
+
+ state_save_register_global(machine(), m_bg_enable);
+ state_save_register_global(machine(), m_bg_char_bank);
+ state_save_register_global(machine(), m_bg_scrollx);
+ state_save_register_global(machine(), m_bg_scrolly);
+
+ state_save_register_global(machine(), m_pignewt_bg_color_offset);
}
diff --git a/src/mame/video/segag80v.c b/src/mame/video/segag80v.c
index fc706b56de1..6fce742c7da 100644
--- a/src/mame/video/segag80v.c
+++ b/src/mame/video/segag80v.c
@@ -323,15 +323,14 @@ static void sega_generate_vector_list(running_machine &machine)
***************************************************************************/
-VIDEO_START( segag80v )
+void segag80v_state::video_start()
{
- segag80v_state *state = machine.driver_data<segag80v_state>();
- assert_always(state->m_vectorram.bytes() != 0, "vectorram==0");
+ assert_always(m_vectorram.bytes() != 0, "vectorram==0");
- state->m_min_x =machine.primary_screen->visible_area().min_x;
- state->m_min_y =machine.primary_screen->visible_area().min_y;
+ m_min_x =machine().primary_screen->visible_area().min_x;
+ m_min_y =machine().primary_screen->visible_area().min_y;
- VIDEO_START_CALL(vector);
+ VIDEO_START_CALL_LEGACY(vector);
}
diff --git a/src/mame/video/segas32.c b/src/mame/video/segas32.c
index be752ad6ada..0d6e9cd4a25 100644
--- a/src/mame/video/segas32.c
+++ b/src/mame/video/segas32.c
@@ -279,15 +279,15 @@ static void common_start(running_machine &machine, int multi32)
}
-VIDEO_START( system32 )
+VIDEO_START_MEMBER(segas32_state,system32)
{
- common_start(machine, 0);
+ common_start(machine(), 0);
}
-VIDEO_START( multi32 )
+VIDEO_START_MEMBER(segas32_state,multi32)
{
- common_start(machine, 1);
+ common_start(machine(), 1);
}
diff --git a/src/mame/video/seibuspi.c b/src/mame/video/seibuspi.c
index 0fba7332cff..16ef0ca15e4 100644
--- a/src/mame/video/seibuspi.c
+++ b/src/mame/video/seibuspi.c
@@ -457,66 +457,65 @@ TILE_GET_INFO_MEMBER(seibuspi_state::get_fore_tile_info)
SET_TILE_INFO_MEMBER(1, tile, color + 8, 0);
}
-VIDEO_START( spi )
+VIDEO_START_MEMBER(seibuspi_state,spi)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
int i;
int region_length;
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8,8,64,32 );
- state->m_back_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_back_tile_info),state), TILEMAP_SCAN_COLS, 16,16,32,32 );
- state->m_mid_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_mid_tile_info),state), TILEMAP_SCAN_COLS, 16,16,32,32 );
- state->m_fore_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_fore_tile_info),state), TILEMAP_SCAN_COLS, 16,16,32,32 );
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8,8,64,32 );
+ m_back_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_back_tile_info),this), TILEMAP_SCAN_COLS, 16,16,32,32 );
+ m_mid_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_mid_tile_info),this), TILEMAP_SCAN_COLS, 16,16,32,32 );
+ m_fore_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_fore_tile_info),this), TILEMAP_SCAN_COLS, 16,16,32,32 );
- state->m_text_layer->set_transparent_pen(31);
- state->m_mid_layer->set_transparent_pen(63);
- state->m_fore_layer->set_transparent_pen(63);
+ m_text_layer->set_transparent_pen(31);
+ m_mid_layer->set_transparent_pen(63);
+ m_fore_layer->set_transparent_pen(63);
- state->m_tilemap_ram = auto_alloc_array_clear(machine, UINT32, 0x4000/4);
- state->m_palette_ram = auto_alloc_array_clear(machine, UINT32, 0x3000/4);
- state->m_sprite_ram = auto_alloc_array_clear(machine, UINT32, 0x1000/4);
+ m_tilemap_ram = auto_alloc_array_clear(machine(), UINT32, 0x4000/4);
+ m_palette_ram = auto_alloc_array_clear(machine(), UINT32, 0x3000/4);
+ m_sprite_ram = auto_alloc_array_clear(machine(), UINT32, 0x1000/4);
- state->m_sprite_bpp = 6;
- state->m_sprite_dma_length = 0x1000;
+ m_sprite_bpp = 6;
+ m_sprite_dma_length = 0x1000;
for (i=0; i < 6144; i++) {
- palette_set_color(machine, i, MAKE_RGB(0, 0, 0));
+ palette_set_color(machine(), i, MAKE_RGB(0, 0, 0));
}
- memset(state->m_alpha_table, 0, 6144 * sizeof(UINT8));
+ memset(m_alpha_table, 0, 6144 * sizeof(UINT8));
// sprites
- //for (i = 1792; i < 1808; i++) { state->m_alpha_table[i] = 1; } // breaks rdft
- for (i = 1840; i < 1856; i++) { state->m_alpha_table[i] = 1; }
- for (i = 1920; i < 1952; i++) { state->m_alpha_table[i] = 1; }
- //for (i = 1984; i < 2048; i++) { state->m_alpha_table[i] = 1; } // breaks batlball
- //for (i = 3840; i < 3904; i++) { state->m_alpha_table[i] = 1; } // breaks rdft
- for (i = 4032; i < 4096; i++) { state->m_alpha_table[i] = 1; }
+ //for (i = 1792; i < 1808; i++) { m_alpha_table[i] = 1; } // breaks rdft
+ for (i = 1840; i < 1856; i++) { m_alpha_table[i] = 1; }
+ for (i = 1920; i < 1952; i++) { m_alpha_table[i] = 1; }
+ //for (i = 1984; i < 2048; i++) { m_alpha_table[i] = 1; } // breaks batlball
+ //for (i = 3840; i < 3904; i++) { m_alpha_table[i] = 1; } // breaks rdft
+ for (i = 4032; i < 4096; i++) { m_alpha_table[i] = 1; }
// mid layer
- for (i = 4960; i < 4992; i++) { state->m_alpha_table[i] = 1; } // breaks ejanhs
- for (i = 5040; i < 5056; i++) { state->m_alpha_table[i] = 1; } // breaks ejanhs
- for (i = 5104; i < 5120; i++) { state->m_alpha_table[i] = 1; }
+ for (i = 4960; i < 4992; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
+ for (i = 5040; i < 5056; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
+ for (i = 5104; i < 5120; i++) { m_alpha_table[i] = 1; }
// fore layer
- for (i = 5552; i < 5568; i++) { state->m_alpha_table[i] = 1; } // breaks ejanhs
- for (i = 5616; i < 5632; i++) { state->m_alpha_table[i] = 1; } // breaks ejanhs
+ for (i = 5552; i < 5568; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
+ for (i = 5616; i < 5632; i++) { m_alpha_table[i] = 1; } // breaks ejanhs
// text layer
- for (i = 6000; i < 6016; i++) { state->m_alpha_table[i] = 1; }
- for (i = 6128; i < 6144; i++) { state->m_alpha_table[i] = 1; }
+ for (i = 6000; i < 6016; i++) { m_alpha_table[i] = 1; }
+ for (i = 6128; i < 6144; i++) { m_alpha_table[i] = 1; }
- region_length = machine.root_device().memregion("gfx2")->bytes();
+ region_length = machine().root_device().memregion("gfx2")->bytes();
if (region_length <= 0x300000)
{
- state->m_bg_fore_layer_position = 0x2000;
+ m_bg_fore_layer_position = 0x2000;
}
else if (region_length <= 0x600000)
{
- state->m_bg_fore_layer_position = 0x4000;
+ m_bg_fore_layer_position = 0x4000;
}
else
{
- state->m_bg_fore_layer_position = 0x8000;
+ m_bg_fore_layer_position = 0x8000;
}
}
@@ -636,23 +635,22 @@ SCREEN_UPDATE_RGB32( spi )
return 0;
}
-VIDEO_START( sys386f2 )
+VIDEO_START_MEMBER(seibuspi_state,sys386f2)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
int i;
- state->m_palette_ram = auto_alloc_array_clear(machine, UINT32, 0x4000/4);
- state->m_sprite_ram = auto_alloc_array_clear(machine, UINT32, 0x2000/4);
+ m_palette_ram = auto_alloc_array_clear(machine(), UINT32, 0x4000/4);
+ m_sprite_ram = auto_alloc_array_clear(machine(), UINT32, 0x2000/4);
- state->m_sprite_bpp = 8;
- state->m_sprite_dma_length = 0x2000;
- state->m_layer_enable = 0;
+ m_sprite_bpp = 8;
+ m_sprite_dma_length = 0x2000;
+ m_layer_enable = 0;
for (i=0; i < 8192; i++) {
- palette_set_color(machine, i, MAKE_RGB(0, 0, 0));
+ palette_set_color(machine(), i, MAKE_RGB(0, 0, 0));
}
- memset(state->m_alpha_table, 0, 8192 * sizeof(UINT8));
+ memset(m_alpha_table, 0, 8192 * sizeof(UINT8));
}
SCREEN_UPDATE_RGB32( sys386f2 )
diff --git a/src/mame/video/seicross.c b/src/mame/video/seicross.c
index e50cbf90997..2a3745d824d 100644
--- a/src/mame/video/seicross.c
+++ b/src/mame/video/seicross.c
@@ -25,13 +25,13 @@
bit 0 -- 1 kohm resistor -- RED
***************************************************************************/
-PALETTE_INIT( seicross )
+void seicross_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -50,7 +50,7 @@ PALETTE_INIT( seicross )
bit1 = (color_prom[i] >> 7) & 0x01;
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -85,14 +85,13 @@ TILE_GET_INFO_MEMBER(seicross_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( seicross )
+void seicross_state::video_start()
{
- seicross_state *state = machine.driver_data<seicross_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seicross_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seicross_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_scroll_cols(32);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/senjyo.c b/src/mame/video/senjyo.c
index de413a99540..3df0927c5b1 100644
--- a/src/mame/video/senjyo.c
+++ b/src/mame/video/senjyo.c
@@ -87,30 +87,29 @@ TILE_GET_INFO_MEMBER(senjyo_state::get_bg3_tile_info)
***************************************************************************/
-VIDEO_START( senjyo )
+void senjyo_state::video_start()
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- if (state->m_is_senjyo)
+ if (m_is_senjyo)
{
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::senjyo_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 48); /* only 16x32 used by Star Force */
- state->m_bg3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg3_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 56); /* only 16x32 used by Star Force */
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::senjyo_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 48); /* only 16x32 used by Star Force */
+ m_bg3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg3_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 56); /* only 16x32 used by Star Force */
}
else
{
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::starforc_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 32); /* only 16x32 used by Star Force */
- state->m_bg3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg3_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 32); /* only 16x32 used by Star Force */
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::starforc_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 32); /* only 16x32 used by Star Force */
+ m_bg3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg3_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 32); /* only 16x32 used by Star Force */
}
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg1_tilemap->set_transparent_pen(0);
- state->m_bg2_tilemap->set_transparent_pen(0);
- state->m_bg3_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scroll_cols(32);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg1_tilemap->set_transparent_pen(0);
+ m_bg2_tilemap->set_transparent_pen(0);
+ m_bg3_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_scroll_cols(32);
}
diff --git a/src/mame/video/seta.c b/src/mame/video/seta.c
index 10edd61a92e..66d9c701a26 100644
--- a/src/mame/video/seta.c
+++ b/src/mame/video/seta.c
@@ -439,81 +439,78 @@ WRITE16_MEMBER(seta_state::twineagl_tilebank_w)
/* 2 layers */
-VIDEO_START( seta_2_layers )
+VIDEO_START_MEMBER(seta_state,seta_2_layers)
{
- seta_state *state = machine.driver_data<seta_state>();
- VIDEO_START_CALL( seta_no_layers );
+ VIDEO_START_CALL_MEMBER( seta_no_layers );
/* Each layer consists of 2 tilemaps: only one can be displayed
at any given time */
/* layer 0 */
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
/* layer 1 */
- state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS,
+ m_tilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_2),this), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS,
+ m_tilemap_3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_3),this), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemaps_flip = 0;
- state->m_color_mode_shift = 3;
+ m_tilemaps_flip = 0;
+ m_color_mode_shift = 3;
- state->m_tilemap_0->set_transparent_pen(0);
- state->m_tilemap_1->set_transparent_pen(0);
- state->m_tilemap_2->set_transparent_pen(0);
- state->m_tilemap_3->set_transparent_pen(0);
+ m_tilemap_0->set_transparent_pen(0);
+ m_tilemap_1->set_transparent_pen(0);
+ m_tilemap_2->set_transparent_pen(0);
+ m_tilemap_3->set_transparent_pen(0);
}
/* 1 layer */
-VIDEO_START( seta_1_layer )
+VIDEO_START_MEMBER(seta_state,seta_1_layer)
{
- seta_state *state = machine.driver_data<seta_state>();
- VIDEO_START_CALL( seta_no_layers );
+ VIDEO_START_CALL_MEMBER( seta_no_layers );
/* Each layer consists of 2 tilemaps: only one can be displayed
at any given time */
/* layer 0 */
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_color_mode_shift = 4;
+ m_color_mode_shift = 4;
- state->m_tilemap_0->set_transparent_pen(0);
- state->m_tilemap_1->set_transparent_pen(0);
+ m_tilemap_0->set_transparent_pen(0);
+ m_tilemap_1->set_transparent_pen(0);
}
-VIDEO_START( twineagl_1_layer )
+VIDEO_START_MEMBER(seta_state,twineagl_1_layer)
{
- seta_state *state = machine.driver_data<seta_state>();
- VIDEO_START_CALL( seta_no_layers );
+ VIDEO_START_CALL_MEMBER( seta_no_layers );
/* Each layer consists of 2 tilemaps: only one can be displayed
at any given time */
/* layer 0 */
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::twineagl_get_tile_info_0),state), TILEMAP_SCAN_ROWS,
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::twineagl_get_tile_info_0),this), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::twineagl_get_tile_info_1),state), TILEMAP_SCAN_ROWS,
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::twineagl_get_tile_info_1),this), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemap_0->set_transparent_pen(0);
- state->m_tilemap_1->set_transparent_pen(0);
+ m_tilemap_0->set_transparent_pen(0);
+ m_tilemap_1->set_transparent_pen(0);
}
int setac_gfxbank_callback( running_machine &machine, UINT16 code, UINT8 color )
@@ -527,37 +524,35 @@ int setac_gfxbank_callback( running_machine &machine, UINT16 code, UINT8 color )
}
/* NO layers, only sprites */
-VIDEO_START( seta_no_layers )
+VIDEO_START_MEMBER(seta_state,seta_no_layers)
{
- seta_state *state = machine.driver_data<seta_state>();
- state->m_tilemap_0 = 0;
- state->m_tilemap_1 = 0;
- state->m_tilemap_2 = 0;
- state->m_tilemap_3 = 0;
+ m_tilemap_0 = 0;
+ m_tilemap_1 = 0;
+ m_tilemap_2 = 0;
+ m_tilemap_3 = 0;
- state->m_tilemaps_flip = 0;
+ m_tilemaps_flip = 0;
- state->m_global_offsets = game_offsets;
- while (state->m_global_offsets->gamename && strcmp(machine.system().name, state->m_global_offsets->gamename))
- state->m_global_offsets++;
- state->m_samples_bank = -1; // set the samples bank to an out of range value at start-up
+ m_global_offsets = game_offsets;
+ while (m_global_offsets->gamename && strcmp(machine().system().name, m_global_offsets->gamename))
+ m_global_offsets++;
+ m_samples_bank = -1; // set the samples bank to an out of range value at start-up
// position kludges
- machine.device<seta001_device>("spritegen")->set_fg_xoffsets(state->m_global_offsets->sprite_offs[1], state->m_global_offsets->sprite_offs[0]);
- machine.device<seta001_device>("spritegen")->set_fg_yoffsets( -0x0a, 0x0e );
+ machine().device<seta001_device>("spritegen")->set_fg_xoffsets(m_global_offsets->sprite_offs[1], m_global_offsets->sprite_offs[0]);
+ machine().device<seta001_device>("spritegen")->set_fg_yoffsets( -0x0a, 0x0e );
// banking
- machine.device<seta001_device>("spritegen")->set_gfxbank_callback( setac_gfxbank_callback );
+ machine().device<seta001_device>("spritegen")->set_gfxbank_callback( setac_gfxbank_callback );
}
-VIDEO_START( oisipuzl_2_layers )
+VIDEO_START_MEMBER(seta_state,oisipuzl_2_layers)
{
- seta_state *state = machine.driver_data<seta_state>();
- VIDEO_START_CALL(seta_2_layers);
- state->m_tilemaps_flip = 1;
+ VIDEO_START_CALL_MEMBER(seta_2_layers);
+ m_tilemaps_flip = 1;
}
@@ -575,24 +570,24 @@ VIDEO_START( oisipuzl_2_layers )
The game can select to repeat every 16 colors to fill the 64 colors for the 6bpp gfx
or to use the first 64 colors of the palette regardless of the color code!
*/
-PALETTE_INIT( blandia )
+PALETTE_INIT_MEMBER(seta_state,blandia)
{
int color, pen;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x600*2);
+ machine().colortable = colortable_alloc(machine(), 0x600*2);
for (color = 0; color < 0x20; color++)
{
for (pen = 0; pen < 0x40; pen++)
{
// layer 2-3
- colortable_entry_set_value(machine.colortable, 0x0200 + ((color << 6) | pen), 0x200 + ((color << 4) | (pen & 0x0f)));
- colortable_entry_set_value(machine.colortable, 0x1200 + ((color << 6) | pen), 0x200 + pen);
+ colortable_entry_set_value(machine().colortable, 0x0200 + ((color << 6) | pen), 0x200 + ((color << 4) | (pen & 0x0f)));
+ colortable_entry_set_value(machine().colortable, 0x1200 + ((color << 6) | pen), 0x200 + pen);
// layer 0-1
- colortable_entry_set_value(machine.colortable, 0x0a00 + ((color << 6) | pen), 0x400 + ((color << 4) | (pen & 0x0f)));
- colortable_entry_set_value(machine.colortable, 0x1a00 + ((color << 6) | pen), 0x400 + pen);
+ colortable_entry_set_value(machine().colortable, 0x0a00 + ((color << 6) | pen), 0x400 + ((color << 4) | (pen & 0x0f)));
+ colortable_entry_set_value(machine().colortable, 0x1a00 + ((color << 6) | pen), 0x400 + pen);
}
}
@@ -600,7 +595,7 @@ PALETTE_INIT( blandia )
// what are used for palette from 0x800 to 0xBFF?
for(int i = 0; i < 0x2200; i++)
{
- colortable_entry_set_value(machine.colortable, 0x2200 + i, 0x600 + (i & 0x1ff));
+ colortable_entry_set_value(machine().colortable, 0x2200 + i, 0x600 + (i & 0x1ff));
}
}
@@ -608,90 +603,90 @@ PALETTE_INIT( blandia )
/* layers have 6 bits per pixel, but the color code has a 16 colors granularity,
even if the low 2 bits are ignored (so there are only 4 different palettes) */
-PALETTE_INIT( gundhara )
+PALETTE_INIT_MEMBER(seta_state,gundhara)
{
int color, pen;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x600);
+ machine().colortable = colortable_alloc(machine(), 0x600);
for (color = 0; color < 0x20; color++)
for (pen = 0; pen < 0x40; pen++)
{
- colortable_entry_set_value(machine.colortable, 0x0200 + ((color << 6) | pen), 0x400 + ((((color & ~3) << 4) + pen) & 0x1ff)); // used?
- colortable_entry_set_value(machine.colortable, 0x1200 + ((color << 6) | pen), 0x400 + ((((color & ~3) << 4) + pen) & 0x1ff));
+ colortable_entry_set_value(machine().colortable, 0x0200 + ((color << 6) | pen), 0x400 + ((((color & ~3) << 4) + pen) & 0x1ff)); // used?
+ colortable_entry_set_value(machine().colortable, 0x1200 + ((color << 6) | pen), 0x400 + ((((color & ~3) << 4) + pen) & 0x1ff));
- colortable_entry_set_value(machine.colortable, 0x0a00 + ((color << 6) | pen), 0x200 + ((((color & ~3) << 4) + pen) & 0x1ff)); // used?
- colortable_entry_set_value(machine.colortable, 0x1a00 + ((color << 6) | pen), 0x200 + ((((color & ~3) << 4) + pen) & 0x1ff));
+ colortable_entry_set_value(machine().colortable, 0x0a00 + ((color << 6) | pen), 0x200 + ((((color & ~3) << 4) + pen) & 0x1ff)); // used?
+ colortable_entry_set_value(machine().colortable, 0x1a00 + ((color << 6) | pen), 0x200 + ((((color & ~3) << 4) + pen) & 0x1ff));
}
}
/* layers have 6 bits per pixel, but the color code has a 16 colors granularity */
-PALETTE_INIT( jjsquawk )
+PALETTE_INIT_MEMBER(seta_state,jjsquawk)
{
int color, pen;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x600);
+ machine().colortable = colortable_alloc(machine(), 0x600);
for (color = 0; color < 0x20; color++)
for (pen = 0; pen < 0x40; pen++)
{
- colortable_entry_set_value(machine.colortable, 0x0200 + ((color << 6) | pen), 0x400 + (((color << 4) + pen) & 0x1ff)); // used by madshark
- colortable_entry_set_value(machine.colortable, 0x1200 + ((color << 6) | pen), 0x400 + (((color << 4) + pen) & 0x1ff));
+ colortable_entry_set_value(machine().colortable, 0x0200 + ((color << 6) | pen), 0x400 + (((color << 4) + pen) & 0x1ff)); // used by madshark
+ colortable_entry_set_value(machine().colortable, 0x1200 + ((color << 6) | pen), 0x400 + (((color << 4) + pen) & 0x1ff));
- colortable_entry_set_value(machine.colortable, 0x0a00 + ((color << 6) | pen), 0x200 + (((color << 4) + pen) & 0x1ff)); // used by madshark
- colortable_entry_set_value(machine.colortable, 0x1a00 + ((color << 6) | pen), 0x200 + (((color << 4) + pen) & 0x1ff));
+ colortable_entry_set_value(machine().colortable, 0x0a00 + ((color << 6) | pen), 0x200 + (((color << 4) + pen) & 0x1ff)); // used by madshark
+ colortable_entry_set_value(machine().colortable, 0x1a00 + ((color << 6) | pen), 0x200 + (((color << 4) + pen) & 0x1ff));
}
}
/* layer 0 is 6 bit per pixel, but the color code has a 16 colors granularity */
-PALETTE_INIT( zingzip )
+PALETTE_INIT_MEMBER(seta_state,zingzip)
{
int color, pen;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x600);
+ machine().colortable = colortable_alloc(machine(), 0x600);
for (color = 0; color < 0x20; color++)
for (pen = 0; pen < 0x40; pen++)
{
- colortable_entry_set_value(machine.colortable, 0x400 + ((color << 6) | pen), 0x400 + ((((color & ~3) << 4) + pen) & 0x1ff)); // used?
- colortable_entry_set_value(machine.colortable, 0xc00 + ((color << 6) | pen), 0x400 + ((((color & ~3) << 4) + pen) & 0x1ff));
+ colortable_entry_set_value(machine().colortable, 0x400 + ((color << 6) | pen), 0x400 + ((((color & ~3) << 4) + pen) & 0x1ff)); // used?
+ colortable_entry_set_value(machine().colortable, 0xc00 + ((color << 6) | pen), 0x400 + ((((color & ~3) << 4) + pen) & 0x1ff));
}
}
// color prom
-PALETTE_INIT( inttoote )
+PALETTE_INIT_MEMBER(seta_state,inttoote)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int x;
for (x = 0; x < 0x200 ; x++)
{
int data = (color_prom[x*2] <<8) | color_prom[x*2+1];
- palette_set_color_rgb(machine, x, pal5bit(data >> 10),pal5bit(data >> 5),pal5bit(data >> 0));
+ palette_set_color_rgb(machine(), x, pal5bit(data >> 10),pal5bit(data >> 5),pal5bit(data >> 0));
}
}
-PALETTE_INIT( setaroul )
+PALETTE_INIT_MEMBER(seta_state,setaroul)
{
- machine.gfx[0]->set_granularity(16);
- machine.gfx[1]->set_granularity(16);
+ machine().gfx[0]->set_granularity(16);
+ machine().gfx[1]->set_granularity(16);
- PALETTE_INIT_CALL(inttoote);
+ PALETTE_INIT_CALL_MEMBER(inttoote);
}
-PALETTE_INIT( usclssic )
+PALETTE_INIT_MEMBER(seta_state,usclssic)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int color, pen;
int x;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x400);
+ machine().colortable = colortable_alloc(machine(), 0x400);
/* DECODE PROM */
for (x = 0; x < 0x200 ; x++)
@@ -701,16 +696,16 @@ PALETTE_INIT( usclssic )
rgb_t color = MAKE_RGB(pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
if (x >= 0x100)
- colortable_palette_set_color(machine.colortable, x + 0x000, color);
+ colortable_palette_set_color(machine().colortable, x + 0x000, color);
else
- colortable_palette_set_color(machine.colortable, x + 0x300, color);
+ colortable_palette_set_color(machine().colortable, x + 0x300, color);
}
for (color = 0; color < 0x20; color++)
for (pen = 0; pen < 0x40; pen++)
{
- colortable_entry_set_value(machine.colortable, 0x200 + ((color << 6) | pen), 0x200 + ((((color & ~3) << 4) + pen) & 0x1ff)); // used?
- colortable_entry_set_value(machine.colortable, 0xa00 + ((color << 6) | pen), 0x200 + ((((color & ~3) << 4) + pen) & 0x1ff));
+ colortable_entry_set_value(machine().colortable, 0x200 + ((color << 6) | pen), 0x200 + ((((color & ~3) << 4) + pen) & 0x1ff)); // used?
+ colortable_entry_set_value(machine().colortable, 0xa00 + ((color << 6) | pen), 0x200 + ((((color & ~3) << 4) + pen) & 0x1ff));
}
}
diff --git a/src/mame/video/seta2.c b/src/mame/video/seta2.c
index ef09a8b33f3..7e65cdea147 100644
--- a/src/mame/video/seta2.c
+++ b/src/mame/video/seta2.c
@@ -442,40 +442,37 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re
***************************************************************************/
-VIDEO_START( seta2 )
+VIDEO_START_MEMBER(seta2_state,seta2)
{
- seta2_state *state = machine.driver_data<seta2_state>();
- machine.gfx[2]->set_granularity(16);
- machine.gfx[3]->set_granularity(16);
- machine.gfx[4]->set_granularity(16);
- machine.gfx[5]->set_granularity(16);
+ machine().gfx[2]->set_granularity(16);
+ machine().gfx[3]->set_granularity(16);
+ machine().gfx[4]->set_granularity(16);
+ machine().gfx[5]->set_granularity(16);
- state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
+ m_buffered_spriteram = auto_alloc_array(machine(), UINT16, m_spriteram.bytes()/2);
- state->m_xoffset = 0;
- state->m_yoffset = 0;
+ m_xoffset = 0;
+ m_yoffset = 0;
//TODO:FIX
- //state_save_register_global_pointer(machine, state->m_vregs, 0x40);
+ //state_save_register_global_pointer(machine(), m_vregs, 0x40);
}
-VIDEO_START( seta2_xoffset )
+VIDEO_START_MEMBER(seta2_state,seta2_xoffset)
{
- seta2_state *state = machine.driver_data<seta2_state>();
- VIDEO_START_CALL(seta2);
+ VIDEO_START_CALL_MEMBER(seta2);
- state->m_xoffset = 0x200;
+ m_xoffset = 0x200;
}
-VIDEO_START( seta2_yoffset )
+VIDEO_START_MEMBER(seta2_state,seta2_yoffset)
{
- seta2_state *state = machine.driver_data<seta2_state>();
- VIDEO_START_CALL(seta2);
+ VIDEO_START_CALL_MEMBER(seta2);
- state->m_yoffset = 0x10;
+ m_yoffset = 0x10;
}
SCREEN_UPDATE_IND16( seta2 )
diff --git a/src/mame/video/sf.c b/src/mame/video/sf.c
index 6737b079d30..68241ba0662 100644
--- a/src/mame/video/sf.c
+++ b/src/mame/video/sf.c
@@ -51,16 +51,15 @@ TILE_GET_INFO_MEMBER(sf_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( sf )
+void sf_state::video_start()
{
- sf_state *state = machine.driver_data<sf_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sf_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sf_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sf_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sf_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sf_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sf_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(3);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(3);
}
diff --git a/src/mame/video/shadfrce.c b/src/mame/video/shadfrce.c
index a0d2bd047c7..b6732fc9ae0 100644
--- a/src/mame/video/shadfrce.c
+++ b/src/mame/video/shadfrce.c
@@ -61,19 +61,18 @@ WRITE16_MEMBER(shadfrce_state::shadfrce_bg1videoram_w)
-VIDEO_START( shadfrce )
+void shadfrce_state::video_start()
{
- shadfrce_state *state = machine.driver_data<shadfrce_state>();
- state->m_fgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shadfrce_state::get_shadfrce_fgtile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_fgtilemap->set_transparent_pen(0);
+ m_fgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(shadfrce_state::get_shadfrce_fgtile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_fgtilemap->set_transparent_pen(0);
- state->m_bg0tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shadfrce_state::get_shadfrce_bg0tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
- state->m_bg0tilemap->set_transparent_pen(0);
+ m_bg0tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(shadfrce_state::get_shadfrce_bg0tile_info),this),TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ m_bg0tilemap->set_transparent_pen(0);
- state->m_bg1tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shadfrce_state::get_shadfrce_bg1tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ m_bg1tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(shadfrce_state::get_shadfrce_bg1tile_info),this),TILEMAP_SCAN_ROWS, 16, 16,32,32);
- state->m_spvideoram_old = auto_alloc_array(machine, UINT16, state->m_spvideoram.bytes()/2);
+ m_spvideoram_old = auto_alloc_array(machine(), UINT16, m_spvideoram.bytes()/2);
}
WRITE16_MEMBER(shadfrce_state::shadfrce_bg0scrollx_w)
diff --git a/src/mame/video/shangha3.c b/src/mame/video/shangha3.c
index b72652686d1..d8ceef60d08 100644
--- a/src/mame/video/shangha3.c
+++ b/src/mame/video/shangha3.c
@@ -63,23 +63,22 @@ Word | Bit(s) | Use
-VIDEO_START( shangha3 )
+void shangha3_state::video_start()
{
- shangha3_state *state = machine.driver_data<shangha3_state>();
int i;
- machine.primary_screen->register_screen_bitmap(state->m_rawbitmap);
+ machine().primary_screen->register_screen_bitmap(m_rawbitmap);
for (i = 0;i < 14;i++)
- state->m_drawmode_table[i] = DRAWMODE_SOURCE;
- state->m_drawmode_table[14] = state->m_do_shadows ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
- state->m_drawmode_table[15] = DRAWMODE_NONE;
+ m_drawmode_table[i] = DRAWMODE_SOURCE;
+ m_drawmode_table[14] = m_do_shadows ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
+ m_drawmode_table[15] = DRAWMODE_NONE;
- if (state->m_do_shadows)
+ if (m_do_shadows)
{
/* Prepare the shadow table */
for (i = 0;i < 128;i++)
- machine.shadow_table[i] = i+128;
+ machine().shadow_table[i] = i+128;
}
}
diff --git a/src/mame/video/shangkid.c b/src/mame/video/shangkid.c
index e6b97c2dbcc..1741510dc42 100644
--- a/src/mame/video/shangkid.c
+++ b/src/mame/video/shangkid.c
@@ -45,10 +45,9 @@ TILE_GET_INFO_MEMBER(shangkid_state::get_bg_tile_info){
(machine().root_device().memregion( "proms" )->base()[0x800+color*4]==2)?1:0;
}
-VIDEO_START( shangkid )
+VIDEO_START_MEMBER(shangkid_state,shangkid)
{
- shangkid_state *state = machine.driver_data<shangkid_state>();
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shangkid_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(shangkid_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
}
WRITE8_MEMBER(shangkid_state::shangkid_videoram_w)
@@ -198,13 +197,13 @@ SCREEN_UPDATE_IND16( shangkid )
}
-PALETTE_INIT( dynamski )
+PALETTE_INIT_MEMBER(shangkid_state,dynamski)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -212,7 +211,7 @@ PALETTE_INIT( dynamski )
UINT16 data = (color_prom[i | 0x20] << 8) | color_prom[i];
rgb_t color = MAKE_RGB(pal5bit(data >> 1), pal5bit(data >> 6), pal5bit(data >> 11));
- colortable_palette_set_color(machine.colortable, i, color);
+ colortable_palette_set_color(machine().colortable, i, color);
}
/* color_prom now points to the beginning of the lookup table */
@@ -222,14 +221,14 @@ PALETTE_INIT( dynamski )
for (i = 0; i < 0x40; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites */
for (i = 0x40; i < 0x80; i++)
{
UINT8 ctabentry = (color_prom[(i - 0x40) + 0x100] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
diff --git a/src/mame/video/shaolins.c b/src/mame/video/shaolins.c
index abc3b71ce36..33eaf9c3ef9 100644
--- a/src/mame/video/shaolins.c
+++ b/src/mame/video/shaolins.c
@@ -26,9 +26,9 @@
bit 0 -- 2.2kohm resistor -- RED/GREEN/BLUE
***************************************************************************/
-PALETTE_INIT( shaolins )
+void shaolins_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[4] = { 2200, 1000, 470, 220 };
double rweights[4], gweights[4], bweights[4];
int i;
@@ -40,7 +40,7 @@ PALETTE_INIT( shaolins )
4, resistances, bweights, 470, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( shaolins )
bit3 = (color_prom[i + 0x200] >> 3) & 0x01;
b = combine_4_weights(bweights, bit0, bit1, bit2, bit3);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table,*/
@@ -84,7 +84,7 @@ PALETTE_INIT( shaolins )
for (j = 0; j < 8; j++)
{
UINT8 ctabentry = (j << 5) | ((~i & 0x100) >> 4) | (color_prom[i] & 0x0f);
- colortable_entry_set_value(machine.colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
+ colortable_entry_set_value(machine().colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
}
}
}
@@ -143,14 +143,13 @@ TILE_GET_INFO_MEMBER(shaolins_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( shaolins )
+void shaolins_state::video_start()
{
- shaolins_state *state = machine.driver_data<shaolins_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shaolins_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(shaolins_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_scroll_cols(32);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/shisen.c b/src/mame/video/shisen.c
index ee966f786aa..2969e8c13c5 100644
--- a/src/mame/video/shisen.c
+++ b/src/mame/video/shisen.c
@@ -50,11 +50,10 @@ TILE_GET_INFO_MEMBER(shisen_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( sichuan2 )
+void shisen_state::video_start()
{
- shisen_state *state = machine.driver_data<shisen_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shisen_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(shisen_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
}
diff --git a/src/mame/video/shootout.c b/src/mame/video/shootout.c
index dd668128c1c..8e66d9c90f9 100644
--- a/src/mame/video/shootout.c
+++ b/src/mame/video/shootout.c
@@ -7,13 +7,13 @@
#include "includes/shootout.h"
-PALETTE_INIT( shootout )
+void shootout_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -33,7 +33,7 @@ PALETTE_INIT( shootout )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -79,13 +79,12 @@ WRITE8_MEMBER(shootout_state::shootout_textram_w)
m_foreground->mark_tile_dirty(offset&0x3ff );
}
-VIDEO_START( shootout )
+void shootout_state::video_start()
{
- shootout_state *state = machine.driver_data<shootout_state>();
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shootout_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shootout_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_foreground->set_transparent_pen(0 );
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(shootout_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(shootout_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_foreground->set_transparent_pen(0 );
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int bank_bits )
diff --git a/src/mame/video/shuuz.c b/src/mame/video/shuuz.c
index a1f3f25f86d..c635a8ea579 100644
--- a/src/mame/video/shuuz.c
+++ b/src/mame/video/shuuz.c
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(shuuz_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( shuuz )
+VIDEO_START_MEMBER(shuuz_state,shuuz)
{
static const atarimo_desc modesc =
{
@@ -71,13 +71,12 @@ VIDEO_START( shuuz )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- shuuz_state *state = machine.driver_data<shuuz_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shuuz_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(shuuz_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
}
diff --git a/src/mame/video/sidearms.c b/src/mame/video/sidearms.c
index 4b73defabbe..cd6a5942fba 100644
--- a/src/mame/video/sidearms.c
+++ b/src/mame/video/sidearms.c
@@ -137,32 +137,31 @@ TILEMAP_MAPPER_MEMBER(sidearms_state::sidearms_tilemap_scan)
return ((offset & 0xf801) | ((offset & 0x0700) >> 7) | ((offset & 0x00fe) << 3)) & 0x7fff;
}
-VIDEO_START( sidearms )
+void sidearms_state::video_start()
{
- sidearms_state *state = machine.driver_data<sidearms_state>();
- state->m_tilerom = state->memregion("gfx4")->base();
+ m_tilerom = memregion("gfx4")->base();
- if (!state->m_gameid)
+ if (!m_gameid)
{
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_sidearms_bg_tile_info),state), tilemap_mapper_delegate(FUNC(sidearms_state::sidearms_tilemap_scan),state),
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_sidearms_bg_tile_info),this), tilemap_mapper_delegate(FUNC(sidearms_state::sidearms_tilemap_scan),this),
32, 32, 128, 128);
- state->m_bg_tilemap->set_transparent_pen(15);
+ m_bg_tilemap->set_transparent_pen(15);
}
else
{
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_philko_bg_tile_info),state), tilemap_mapper_delegate(FUNC(sidearms_state::sidearms_tilemap_scan),state), 32, 32, 128, 128);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_philko_bg_tile_info),this), tilemap_mapper_delegate(FUNC(sidearms_state::sidearms_tilemap_scan),this), 32, 32, 128, 128);
}
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 64, 64);
- state->m_fg_tilemap->set_transparent_pen(3);
+ m_fg_tilemap->set_transparent_pen(3);
- state->m_hflop_74a_n = 1;
- state->m_latch_374 = state->m_vcount_191 = state->m_hcount_191 = 0;
+ m_hflop_74a_n = 1;
+ m_latch_374 = m_vcount_191 = m_hcount_191 = 0;
- state->m_flipon = state->m_charon = state->m_staron = state->m_objon = state->m_bgon = 0;
+ m_flipon = m_charon = m_staron = m_objon = m_bgon = 0;
}
static void draw_sprites_region(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int start_offset, int end_offset )
diff --git a/src/mame/video/sidepckt.c b/src/mame/video/sidepckt.c
index 269ff6af3b0..b5dac7f1586 100644
--- a/src/mame/video/sidepckt.c
+++ b/src/mame/video/sidepckt.c
@@ -2,12 +2,12 @@
#include "includes/sidepckt.h"
-PALETTE_INIT( sidepckt )
+void sidepckt_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,bit3,r,g,b;
@@ -24,13 +24,13 @@ PALETTE_INIT( sidepckt )
bit3 = (color_prom[i] >> 3) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
/* blue component */
- bit0 = (color_prom[i + machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[i + machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[i + machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[i + machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[i + machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[i + machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[i + machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[i + machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -61,15 +61,14 @@ TILE_GET_INFO_MEMBER(sidepckt_state::get_tile_info)
***************************************************************************/
-VIDEO_START( sidepckt )
+void sidepckt_state::video_start()
{
- sidepckt_state *state = machine.driver_data<sidepckt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sidepckt_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sidepckt_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_transmask(0,0xff,0x00); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1,0x01,0xfe); /* split type 1 has pen 0 transparent in front half */
+ m_bg_tilemap->set_transmask(0,0xff,0x00); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1,0x01,0xfe); /* split type 1 has pen 0 transparent in front half */
- machine.tilemap().set_flip_all(TILEMAP_FLIPX);
+ machine().tilemap().set_flip_all(TILEMAP_FLIPX);
}
diff --git a/src/mame/video/silkroad.c b/src/mame/video/silkroad.c
index 95b3dbe9567..6a3a6cd6937 100644
--- a/src/mame/video/silkroad.c
+++ b/src/mame/video/silkroad.c
@@ -123,16 +123,15 @@ WRITE32_MEMBER(silkroad_state::silkroad_fgram3_w)
m_fg3_tilemap->mark_tile_dirty(offset);
}
-VIDEO_START(silkroad)
+void silkroad_state::video_start()
{
- silkroad_state *state = machine.driver_data<silkroad_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silkroad_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silkroad_state::get_fg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silkroad_state::get_fg3_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(silkroad_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_fg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(silkroad_state::get_fg2_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_fg3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(silkroad_state::get_fg3_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_fg2_tilemap->set_transparent_pen(0);
- state->m_fg3_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_fg2_tilemap->set_transparent_pen(0);
+ m_fg3_tilemap->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16(silkroad)
diff --git a/src/mame/video/simpl156.c b/src/mame/video/simpl156.c
index 49d6e90782d..0b03304530b 100644
--- a/src/mame/video/simpl156.c
+++ b/src/mame/video/simpl156.c
@@ -8,22 +8,21 @@
#include "video/decospr.h"
-VIDEO_START( simpl156 )
+void simpl156_state::video_start()
{
- simpl156_state *state = machine.driver_data<simpl156_state>();
/* allocate the ram as 16-bit (we do it here because the CPU is 32-bit) */
- state->m_pf1_rowscroll = auto_alloc_array_clear(machine, UINT16, 0x800/2);
- state->m_pf2_rowscroll = auto_alloc_array_clear(machine, UINT16, 0x800/2);
- state->m_spriteram = auto_alloc_array_clear(machine, UINT16, 0x2000/2);
- state->m_generic_paletteram_16.allocate(0x1000/2);
+ m_pf1_rowscroll = auto_alloc_array_clear(machine(), UINT16, 0x800/2);
+ m_pf2_rowscroll = auto_alloc_array_clear(machine(), UINT16, 0x800/2);
+ m_spriteram = auto_alloc_array_clear(machine(), UINT16, 0x2000/2);
+ m_generic_paletteram_16.allocate(0x1000/2);
- memset(state->m_spriteram, 0xff, 0x2000);
+ memset(m_spriteram, 0xff, 0x2000);
/* and register the allocated ram so that save states still work */
- state->save_pointer(NAME(state->m_pf1_rowscroll), 0x800/2);
- state->save_pointer(NAME(state->m_pf2_rowscroll), 0x800/2);
- state->save_pointer(NAME(state->m_spriteram), 0x2000/2);
+ save_pointer(NAME(m_pf1_rowscroll), 0x800/2);
+ save_pointer(NAME(m_pf2_rowscroll), 0x800/2);
+ save_pointer(NAME(m_spriteram), 0x2000/2);
}
SCREEN_UPDATE_IND16( simpl156 )
diff --git a/src/mame/video/skullxbo.c b/src/mame/video/skullxbo.c
index ae09ea53f98..96c8650ca26 100644
--- a/src/mame/video/skullxbo.c
+++ b/src/mame/video/skullxbo.c
@@ -43,7 +43,7 @@ TILE_GET_INFO_MEMBER(skullxbo_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( skullxbo )
+VIDEO_START_MEMBER(skullxbo_state,skullxbo)
{
static const atarimo_desc modesc =
{
@@ -81,17 +81,16 @@ VIDEO_START( skullxbo )
0, /* resulting value to indicate "special" */
0, /* callback routine for special entries */
};
- skullxbo_state *state = machine.driver_data<skullxbo_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skullxbo_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 16,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skullxbo_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 16,8, 64,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skullxbo_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 16,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skullxbo_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 16,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/skydiver.c b/src/mame/video/skydiver.c
index 48f5467a60b..caed892a563 100644
--- a/src/mame/video/skydiver.c
+++ b/src/mame/video/skydiver.c
@@ -9,24 +9,23 @@
#include "sound/discrete.h"
-MACHINE_RESET( skydiver )
+void skydiver_state::machine_reset()
{
- skydiver_state *state = machine.driver_data<skydiver_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* reset all latches */
- state->skydiver_start_lamp_1_w(*space, 0, 0);
- state->skydiver_start_lamp_2_w(*space, 0, 0);
- state->skydiver_lamp_s_w(*space, 0, 0);
- state->skydiver_lamp_k_w(*space, 0, 0);
- state->skydiver_lamp_y_w(*space, 0, 0);
- state->skydiver_lamp_d_w(*space, 0, 0);
+ skydiver_start_lamp_1_w(*space, 0, 0);
+ skydiver_start_lamp_2_w(*space, 0, 0);
+ skydiver_lamp_s_w(*space, 0, 0);
+ skydiver_lamp_k_w(*space, 0, 0);
+ skydiver_lamp_y_w(*space, 0, 0);
+ skydiver_lamp_d_w(*space, 0, 0);
output_set_value("lampi", 0);
output_set_value("lampv", 0);
output_set_value("lampe", 0);
output_set_value("lampr", 0);
- state->skydiver_width_w(*space, 0, 0);
- state->skydiver_coin_lockout_w(*space, 0, 0);
+ skydiver_width_w(*space, 0, 0);
+ skydiver_coin_lockout_w(*space, 0, 0);
}
@@ -50,10 +49,9 @@ TILE_GET_INFO_MEMBER(skydiver_state::get_tile_info)
*
*************************************/
-VIDEO_START( skydiver )
+void skydiver_state::video_start()
{
- skydiver_state *state = machine.driver_data<skydiver_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skydiver_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skydiver_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
}
diff --git a/src/mame/video/skyfox.c b/src/mame/video/skyfox.c
index 158f87d2e75..e59539a0d19 100644
--- a/src/mame/video/skyfox.c
+++ b/src/mame/video/skyfox.c
@@ -87,9 +87,9 @@ WRITE8_MEMBER(skyfox_state::skyfox_vregs_w)
***************************************************************************/
-PALETTE_INIT( skyfox )
+void skyfox_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 256; i++)
@@ -115,13 +115,13 @@ PALETTE_INIT( skyfox )
bit3 = (color_prom[i + 2*256] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
/* Grey scale for the background??? */
for (i = 0; i < 256; i++)
{
- palette_set_color(machine,i + 256, MAKE_RGB(i, i, i));
+ palette_set_color(machine(),i + 256, MAKE_RGB(i, i, i));
}
}
diff --git a/src/mame/video/skykid.c b/src/mame/video/skykid.c
index 758de8f1782..c818bc703d5 100644
--- a/src/mame/video/skykid.c
+++ b/src/mame/video/skykid.c
@@ -15,13 +15,13 @@
***************************************************************************/
-PALETTE_INIT( skykid )
+void skykid_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -30,7 +30,7 @@ PALETTE_INIT( skykid )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -38,13 +38,13 @@ PALETTE_INIT( skykid )
/* text palette */
for (i = 0; i < 0x100; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* tiles/sprites */
for (i = 0x100; i < 0x500; i++)
{
UINT8 ctabentry = color_prom[i - 0x100];
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -109,17 +109,16 @@ TILE_GET_INFO_MEMBER(skykid_state::bg_get_tile_info)
***************************************************************************/
-VIDEO_START( skykid )
+void skykid_state::video_start()
{
- skykid_state *state = machine.driver_data<skykid_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skykid_state::tx_get_tile_info),state),tilemap_mapper_delegate(FUNC(skykid_state::tx_tilemap_scan),state), 8,8,36,28);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skykid_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skykid_state::tx_get_tile_info),this),tilemap_mapper_delegate(FUNC(skykid_state::tx_tilemap_scan),this), 8,8,36,28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skykid_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,64,32);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
- state_save_register_global(machine, state->m_priority);
- state_save_register_global(machine, state->m_scroll_x);
- state_save_register_global(machine, state->m_scroll_y);
+ state_save_register_global(machine(), m_priority);
+ state_save_register_global(machine(), m_scroll_x);
+ state_save_register_global(machine(), m_scroll_y);
}
diff --git a/src/mame/video/skyraid.c b/src/mame/video/skyraid.c
index cfc7575683f..7085e6b508b 100644
--- a/src/mame/video/skyraid.c
+++ b/src/mame/video/skyraid.c
@@ -8,11 +8,10 @@ Atari Sky Raider video emulation
#include "includes/skyraid.h"
-VIDEO_START( skyraid )
+void skyraid_state::video_start()
{
- skyraid_state *state = machine.driver_data<skyraid_state>();
- state->m_helper.allocate(128, 240);
+ m_helper.allocate(128, 240);
}
diff --git a/src/mame/video/slapfght.c b/src/mame/video/slapfght.c
index 520a8655bdf..421f968c40b 100644
--- a/src/mame/video/slapfght.c
+++ b/src/mame/video/slapfght.c
@@ -64,21 +64,19 @@ TILE_GET_INFO_MEMBER(slapfght_state::get_fix_tile_info)
***************************************************************************/
-VIDEO_START( perfrman )
+VIDEO_START_MEMBER(slapfght_state,perfrman)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(slapfght_state::get_pf_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(slapfght_state::get_pf_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_pf1_tilemap->set_transparent_pen(0);
+ m_pf1_tilemap->set_transparent_pen(0);
}
-VIDEO_START( slapfight )
+VIDEO_START_MEMBER(slapfght_state,slapfight)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(slapfght_state::get_pf1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(slapfght_state::get_fix_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(slapfght_state::get_pf1_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_fix_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(slapfght_state::get_fix_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fix_tilemap->set_transparent_pen(0);
+ m_fix_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/slapshot.c b/src/mame/video/slapshot.c
index 92b249bb799..e87e3342222 100644
--- a/src/mame/video/slapshot.c
+++ b/src/mame/video/slapshot.c
@@ -4,30 +4,29 @@
/**********************************************************/
-VIDEO_START( slapshot )
+void slapshot_state::video_start()
{
- slapshot_state *state = machine.driver_data<slapshot_state>();
int i;
- state->m_spriteram_delayed = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes() / 2);
- state->m_spriteram_buffered = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes() / 2);
- state->m_spritelist = auto_alloc_array(machine, struct slapshot_tempsprite, 0x400);
+ m_spriteram_delayed = auto_alloc_array(machine(), UINT16, m_spriteram.bytes() / 2);
+ m_spriteram_buffered = auto_alloc_array(machine(), UINT16, m_spriteram.bytes() / 2);
+ m_spritelist = auto_alloc_array(machine(), struct slapshot_tempsprite, 0x400);
for (i = 0; i < 8; i ++)
- state->m_spritebank[i] = 0x400 * i;
-
- state->m_sprites_disabled = 1;
- state->m_sprites_active_area = 0;
-
- state->save_item(NAME(state->m_spritebank));
- state->save_item(NAME(state->m_sprites_disabled));
- state->save_item(NAME(state->m_sprites_active_area));
- state->save_item(NAME(state->m_sprites_master_scrollx));
- state->save_item(NAME(state->m_sprites_master_scrolly));
- state->save_item(NAME(state->m_sprites_flipscreen));
- state->save_item(NAME(state->m_prepare_sprites));
- state->save_pointer(NAME(state->m_spriteram_delayed), state->m_spriteram.bytes() / 2);
- state->save_pointer(NAME(state->m_spriteram_buffered), state->m_spriteram.bytes() / 2);
+ m_spritebank[i] = 0x400 * i;
+
+ m_sprites_disabled = 1;
+ m_sprites_active_area = 0;
+
+ save_item(NAME(m_spritebank));
+ save_item(NAME(m_sprites_disabled));
+ save_item(NAME(m_sprites_active_area));
+ save_item(NAME(m_sprites_master_scrollx));
+ save_item(NAME(m_sprites_master_scrolly));
+ save_item(NAME(m_sprites_flipscreen));
+ save_item(NAME(m_prepare_sprites));
+ save_pointer(NAME(m_spriteram_delayed), m_spriteram.bytes() / 2);
+ save_pointer(NAME(m_spriteram_buffered), m_spriteram.bytes() / 2);
}
/************************************************************
diff --git a/src/mame/video/snk.c b/src/mame/video/snk.c
index b81fcc7012d..93b112b7fa5 100644
--- a/src/mame/video/snk.c
+++ b/src/mame/video/snk.c
@@ -25,9 +25,9 @@
/**************************************************************************************/
-PALETTE_INIT( tnk3 )
+PALETTE_INIT_MEMBER(snk_state,tnk3)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
int num_colors = 0x400;
@@ -53,7 +53,7 @@ PALETTE_INIT( tnk3 )
bit3 = (color_prom[i + num_colors] >> 1) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -181,209 +181,198 @@ TILE_GET_INFO_MEMBER(snk_state::gwar_get_bg_tile_info)
/**************************************************************************************/
-static VIDEO_START( snk_3bpp_shadow )
+VIDEO_START_MEMBER(snk_state,snk_3bpp_shadow)
{
- snk_state *state = machine.driver_data<snk_state>();
int i;
- if(!(machine.config().m_video_attributes & VIDEO_HAS_SHADOWS))
+ if(!(machine().config().m_video_attributes & VIDEO_HAS_SHADOWS))
fatalerror("driver should use VIDEO_HAS_SHADOWS\n");
/* prepare shadow draw table */
- for(i = 0; i <= 5; i++) state->m_drawmode_table[i] = DRAWMODE_SOURCE;
- state->m_drawmode_table[6] = (machine.config().m_video_attributes & VIDEO_HAS_SHADOWS) ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
- state->m_drawmode_table[7] = DRAWMODE_NONE;
+ for(i = 0; i <= 5; i++) m_drawmode_table[i] = DRAWMODE_SOURCE;
+ m_drawmode_table[6] = (machine().config().m_video_attributes & VIDEO_HAS_SHADOWS) ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
+ m_drawmode_table[7] = DRAWMODE_NONE;
for (i = 0x000;i < 0x400;i++)
- machine.shadow_table[i] = i | 0x200;
+ machine().shadow_table[i] = i | 0x200;
}
-static VIDEO_START( snk_4bpp_shadow )
+VIDEO_START_MEMBER(snk_state,snk_4bpp_shadow)
{
- snk_state *state = machine.driver_data<snk_state>();
int i;
- if(!(machine.config().m_video_attributes & VIDEO_HAS_SHADOWS))
+ if(!(machine().config().m_video_attributes & VIDEO_HAS_SHADOWS))
fatalerror("driver should use VIDEO_HAS_SHADOWS\n");
/* prepare shadow draw table */
- for(i = 0; i <= 13; i++) state->m_drawmode_table[i] = DRAWMODE_SOURCE;
- state->m_drawmode_table[14] = DRAWMODE_SHADOW;
- state->m_drawmode_table[15] = DRAWMODE_NONE;
+ for(i = 0; i <= 13; i++) m_drawmode_table[i] = DRAWMODE_SOURCE;
+ m_drawmode_table[14] = DRAWMODE_SHADOW;
+ m_drawmode_table[15] = DRAWMODE_NONE;
/* all palette entries are not affected by shadow sprites... */
for (i = 0x000;i < 0x400;i++)
- machine.shadow_table[i] = i;
+ machine().shadow_table[i] = i;
/* ... except for tilemap colors */
for (i = 0x200;i < 0x300;i++)
- machine.shadow_table[i] = i + 0x100;
+ machine().shadow_table[i] = i + 0x100;
}
-VIDEO_START( marvins )
+VIDEO_START_MEMBER(snk_state,marvins)
{
- snk_state *state = machine.driver_data<snk_state>();
- VIDEO_START_CALL(snk_3bpp_shadow);
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_fg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_fg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
- state->m_tx_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_scrolldy(8, 8);
+ m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_scrolldy(8, 8);
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_fg_tilemap->set_scrolldx(15, 31);
- state->m_fg_tilemap->set_scrolldy(8, -32);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_scrolldx(15, 31);
+ m_fg_tilemap->set_scrolldy(8, -32);
- state->m_bg_tilemap->set_scrolldx(15, 31);
- state->m_bg_tilemap->set_scrolldy(8, -32);
+ m_bg_tilemap->set_scrolldx(15, 31);
+ m_bg_tilemap->set_scrolldy(8, -32);
- state->m_tx_tile_offset = 0;
+ m_tx_tile_offset = 0;
}
-VIDEO_START( jcross )
+VIDEO_START_MEMBER(snk_state,jcross)
{
- snk_state *state = machine.driver_data<snk_state>();
- VIDEO_START_CALL(snk_3bpp_shadow);
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::aso_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 64);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::aso_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 64);
- state->m_tx_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_scrolldy(8, 8);
+ m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_scrolldy(8, 8);
- state->m_bg_tilemap->set_scrolldx(15, 24);
- state->m_bg_tilemap->set_scrolldy(8, -32);
+ m_bg_tilemap->set_scrolldx(15, 24);
+ m_bg_tilemap->set_scrolldy(8, -32);
- state->m_num_sprites = 25;
- state->m_yscroll_mask = 0x1ff;
- state->m_bg_tile_offset = 0;
- state->m_tx_tile_offset = 0;
+ m_num_sprites = 25;
+ m_yscroll_mask = 0x1ff;
+ m_bg_tile_offset = 0;
+ m_tx_tile_offset = 0;
}
-VIDEO_START( sgladiat )
+VIDEO_START_MEMBER(snk_state,sgladiat)
{
- snk_state *state = machine.driver_data<snk_state>();
- VIDEO_START_CALL(snk_3bpp_shadow);
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::aso_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::aso_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
- state->m_tx_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_scrolldy(8, 8);
+ m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_scrolldy(8, 8);
- state->m_bg_tilemap->set_scrolldx(15, 24);
- state->m_bg_tilemap->set_scrolldy(8, -32);
+ m_bg_tilemap->set_scrolldx(15, 24);
+ m_bg_tilemap->set_scrolldy(8, -32);
- state->m_num_sprites = 25;
- state->m_yscroll_mask = 0x0ff;
- state->m_bg_tile_offset = 0;
- state->m_tx_tile_offset = 0;
+ m_num_sprites = 25;
+ m_yscroll_mask = 0x0ff;
+ m_bg_tile_offset = 0;
+ m_tx_tile_offset = 0;
}
-VIDEO_START( hal21 )
+VIDEO_START_MEMBER(snk_state,hal21)
{
- snk_state *state = machine.driver_data<snk_state>();
- VIDEO_START_CALL(jcross);
+ VIDEO_START_CALL_MEMBER(jcross);
- state->m_bg_tilemap->set_scrolldy(8, -32+256);
+ m_bg_tilemap->set_scrolldy(8, -32+256);
- state->m_num_sprites = 50;
- state->m_yscroll_mask = 0x1ff;
+ m_num_sprites = 50;
+ m_yscroll_mask = 0x1ff;
}
-VIDEO_START( aso )
+VIDEO_START_MEMBER(snk_state,aso)
{
- snk_state *state = machine.driver_data<snk_state>();
- VIDEO_START_CALL(jcross);
+ VIDEO_START_CALL_MEMBER(jcross);
- state->m_bg_tilemap->set_scrolldx(15+256, 24+256);
+ m_bg_tilemap->set_scrolldx(15+256, 24+256);
- state->m_num_sprites = 50;
- state->m_yscroll_mask = 0x1ff;
+ m_num_sprites = 50;
+ m_yscroll_mask = 0x1ff;
}
-VIDEO_START( tnk3 )
+VIDEO_START_MEMBER(snk_state,tnk3)
{
- snk_state *state = machine.driver_data<snk_state>();
- VIDEO_START_CALL(snk_3bpp_shadow);
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::tnk3_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 64);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::tnk3_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 64);
- state->m_tx_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_scrolldy(8, 8);
+ m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_scrolldy(8, 8);
- state->m_bg_tilemap->set_scrolldx(15, 24);
- state->m_bg_tilemap->set_scrolldy(8, -32);
+ m_bg_tilemap->set_scrolldx(15, 24);
+ m_bg_tilemap->set_scrolldy(8, -32);
- state->m_num_sprites = 50;
- state->m_yscroll_mask = 0x1ff;
- state->m_tx_tile_offset = 0;
+ m_num_sprites = 50;
+ m_yscroll_mask = 0x1ff;
+ m_tx_tile_offset = 0;
}
-VIDEO_START( ikari )
+VIDEO_START_MEMBER(snk_state,ikari)
{
- snk_state *state = machine.driver_data<snk_state>();
- VIDEO_START_CALL(snk_3bpp_shadow);
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::ikari_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::ikari_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::ikari_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::ikari_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_scrolldy(8, 8);
+ m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_scrolldy(8, 8);
- state->m_bg_tilemap->set_scrolldx(15, 24);
- state->m_bg_tilemap->set_scrolldy(8, -32);
+ m_bg_tilemap->set_scrolldx(15, 24);
+ m_bg_tilemap->set_scrolldy(8, -32);
- state->m_tx_tile_offset = 0;
+ m_tx_tile_offset = 0;
}
-VIDEO_START( gwar )
+VIDEO_START_MEMBER(snk_state,gwar)
{
- snk_state *state = machine.driver_data<snk_state>();
int i;
/* prepare drawmode table */
- for(i = 0; i <= 14; i++) state->m_drawmode_table[i] = DRAWMODE_SOURCE;
- state->m_drawmode_table[15] = DRAWMODE_NONE;
+ for(i = 0; i <= 14; i++) m_drawmode_table[i] = DRAWMODE_SOURCE;
+ m_drawmode_table[15] = DRAWMODE_NONE;
- memset(state->m_empty_tile, 0xf, sizeof(state->m_empty_tile));
+ memset(m_empty_tile, 0xf, sizeof(m_empty_tile));
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::gwar_get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 50, 32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::gwar_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::gwar_get_tx_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 50, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::gwar_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
- state->m_bg_tilemap->set_scrolldx(16, 143);
- state->m_bg_tilemap->set_scrolldy(0, -32);
+ m_bg_tilemap->set_scrolldx(16, 143);
+ m_bg_tilemap->set_scrolldy(0, -32);
- state->m_tx_tile_offset = 0;
+ m_tx_tile_offset = 0;
- state->m_is_psychos = 0;
+ m_is_psychos = 0;
}
-VIDEO_START( psychos )
+VIDEO_START_MEMBER(snk_state,psychos)
{
- snk_state *state = machine.driver_data<snk_state>();
- VIDEO_START_CALL(gwar);
- state->m_is_psychos = 1;
+ VIDEO_START_CALL_MEMBER(gwar);
+ m_is_psychos = 1;
}
-VIDEO_START( tdfever )
+VIDEO_START_MEMBER(snk_state,tdfever)
{
- VIDEO_START_CALL(gwar);
- VIDEO_START_CALL(snk_4bpp_shadow);
+ VIDEO_START_CALL_MEMBER(gwar);
+ VIDEO_START_CALL_MEMBER(snk_4bpp_shadow);
}
/**************************************************************************************/
diff --git a/src/mame/video/snk6502.c b/src/mame/video/snk6502.c
index 275c0a76626..50648fc4329 100644
--- a/src/mame/video/snk6502.c
+++ b/src/mame/video/snk6502.c
@@ -22,13 +22,12 @@
Zarzon has a different PROM layout from the others.
***************************************************************************/
-PALETTE_INIT( snk6502 )
+PALETTE_INIT_MEMBER(snk6502_state,snk6502)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- snk6502_state *state = machine.driver_data<snk6502_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -56,22 +55,22 @@ PALETTE_INIT( snk6502 )
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- state->m_palette[i] = MAKE_RGB(r, g, b);
+ m_palette[i] = MAKE_RGB(r, g, b);
color_prom++;
}
- state->m_backcolor = 0; /* background color can be changed by the game */
+ m_backcolor = 0; /* background color can be changed by the game */
- for (i = 0; i < TOTAL_COLORS(machine,0); i++)
- palette_set_color(machine, COLOR(machine, 0, i), state->m_palette[i]);
+ for (i = 0; i < TOTAL_COLORS(machine(),0); i++)
+ palette_set_color(machine(), COLOR(machine(), 0, i), m_palette[i]);
- for (i = 0; i < TOTAL_COLORS(machine,1); i++)
+ for (i = 0; i < TOTAL_COLORS(machine(),1); i++)
{
if (i % 4 == 0)
- palette_set_color(machine, COLOR(machine, 1, i), state->m_palette[4 * state->m_backcolor + 0x20]);
+ palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[4 * m_backcolor + 0x20]);
else
- palette_set_color(machine, COLOR(machine, 1, i), state->m_palette[i + 0x20]);
+ palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[i + 0x20]);
}
}
@@ -172,26 +171,24 @@ TILE_GET_INFO_MEMBER(snk6502_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( snk6502 )
+VIDEO_START_MEMBER(snk6502_state,snk6502)
{
- snk6502_state *state = machine.driver_data<snk6502_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- machine.gfx[0]->set_source(state->m_charram);
+ machine().gfx[0]->set_source(m_charram);
}
-VIDEO_START( pballoon )
+VIDEO_START_MEMBER(snk6502_state,pballoon)
{
- snk6502_state *state = machine.driver_data<snk6502_state>();
- VIDEO_START_CALL( snk6502 );
+ VIDEO_START_CALL_MEMBER( snk6502 );
- state->m_bg_tilemap->set_scrolldy(-16, -16);
- state->m_fg_tilemap->set_scrolldy(-16, -16);
+ m_bg_tilemap->set_scrolldy(-16, -16);
+ m_fg_tilemap->set_scrolldy(-16, -16);
}
@@ -206,13 +203,12 @@ SCREEN_UPDATE_IND16( snk6502 )
/* Satan of Saturn */
-PALETTE_INIT( satansat )
+PALETTE_INIT_MEMBER(snk6502_state,satansat)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- snk6502_state *state = machine.driver_data<snk6502_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -240,22 +236,22 @@ PALETTE_INIT( satansat )
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- state->m_palette[i] = MAKE_RGB(r, g, b);
+ m_palette[i] = MAKE_RGB(r, g, b);
color_prom++;
}
- state->m_backcolor = 0; /* background color can be changed by the game */
+ m_backcolor = 0; /* background color can be changed by the game */
- for (i = 0; i < TOTAL_COLORS(machine,0); i++)
- palette_set_color(machine, COLOR(machine, 0, i), state->m_palette[4 * (i % 4) + (i / 4)]);
+ for (i = 0; i < TOTAL_COLORS(machine(),0); i++)
+ palette_set_color(machine(), COLOR(machine(), 0, i), m_palette[4 * (i % 4) + (i / 4)]);
- for (i = 0; i < TOTAL_COLORS(machine,1); i++)
+ for (i = 0; i < TOTAL_COLORS(machine(),1); i++)
{
if (i % 4 == 0)
- palette_set_color(machine, COLOR(machine, 1, i), state->m_palette[state->m_backcolor + 0x10]);
+ palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[m_backcolor + 0x10]);
else
- palette_set_color(machine, COLOR(machine, 1, i), state->m_palette[4 * (i % 4) + (i / 4) + 0x10]);
+ palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[4 * (i % 4) + (i / 4) + 0x10]);
}
}
@@ -307,14 +303,13 @@ TILE_GET_INFO_MEMBER(snk6502_state::satansat_get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( satansat )
+VIDEO_START_MEMBER(snk6502_state,satansat)
{
- snk6502_state *state = machine.driver_data<snk6502_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::satansat_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::satansat_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::satansat_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::satansat_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
- machine.gfx[0]->set_source(state->m_charram);
+ machine().gfx[0]->set_source(m_charram);
}
diff --git a/src/mame/video/snk68.c b/src/mame/video/snk68.c
index c0f9dc31d02..38dc0b4558f 100644
--- a/src/mame/video/snk68.c
+++ b/src/mame/video/snk68.c
@@ -58,23 +58,21 @@ static void common_video_start(running_machine &machine)
state->m_fg_tilemap->set_scrolldy(0, machine.primary_screen->height() - 256);
}
-VIDEO_START( pow )
+void snk68_state::video_start()
{
- snk68_state *state = machine.driver_data<snk68_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk68_state::get_pow_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fg_tile_offset = 0;
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk68_state::get_pow_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_fg_tile_offset = 0;
- common_video_start(machine);
+ common_video_start(machine());
}
-VIDEO_START( searchar )
+VIDEO_START_MEMBER(snk68_state,searchar)
{
- snk68_state *state = machine.driver_data<snk68_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk68_state::get_searchar_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snk68_state::get_searchar_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- common_video_start(machine);
+ common_video_start(machine());
}
/***************************************************************************
diff --git a/src/mame/video/snookr10.c b/src/mame/video/snookr10.c
index 4998d4578c9..b11d2dc7ded 100644
--- a/src/mame/video/snookr10.c
+++ b/src/mame/video/snookr10.c
@@ -55,9 +55,9 @@ WRITE8_MEMBER(snookr10_state::snookr10_colorram_w)
}
-PALETTE_INIT( snookr10 )
+void snookr10_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* GGBBBRRR */
int i;
@@ -71,7 +71,7 @@ PALETTE_INIT( snookr10 )
2, resistances_g, weights_g, 100, 0);
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -90,7 +90,7 @@ PALETTE_INIT( snookr10 )
bit1 = (color_prom[i] >> 7) & 0x01;
g = combine_2_weights(weights_g, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -115,9 +115,9 @@ TILE_GET_INFO_MEMBER(snookr10_state::get_bg_tile_info)
* For more information, see the driver notes. *
**********************************************************/
-PALETTE_INIT( apple10 )
+PALETTE_INIT_MEMBER(snookr10_state,apple10)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* GGBBBRRR */
int i, cn;
@@ -131,7 +131,7 @@ PALETTE_INIT( apple10 )
2, resistances_g, weights_g, 100, 0);
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -153,7 +153,7 @@ PALETTE_INIT( apple10 )
/* encrypted color matrix */
cn = BITSWAP8(i,4,5,6,7,2,3,0,1);
- palette_set_color(machine, cn, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), cn, MAKE_RGB(r,g,b));
}
}
@@ -173,16 +173,14 @@ TILE_GET_INFO_MEMBER(snookr10_state::apple10_get_bg_tile_info)
}
-VIDEO_START( snookr10 )
+void snookr10_state::video_start()
{
- snookr10_state *state = machine.driver_data<snookr10_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snookr10_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snookr10_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
}
-VIDEO_START( apple10 )
+VIDEO_START_MEMBER(snookr10_state,apple10)
{
- snookr10_state *state = machine.driver_data<snookr10_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snookr10_state::apple10_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(snookr10_state::apple10_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
}
SCREEN_UPDATE_IND16( snookr10 )
diff --git a/src/mame/video/solomon.c b/src/mame/video/solomon.c
index a94c11e9e19..2197ff3b137 100644
--- a/src/mame/video/solomon.c
+++ b/src/mame/video/solomon.c
@@ -57,17 +57,16 @@ TILE_GET_INFO_MEMBER(solomon_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( solomon )
+void solomon_state::video_start()
{
- solomon_state *state = machine.driver_data<solomon_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(solomon_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(solomon_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(solomon_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(solomon_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/sonson.c b/src/mame/video/sonson.c
index 52236426d7e..cb528bbb32d 100644
--- a/src/mame/video/sonson.c
+++ b/src/mame/video/sonson.c
@@ -39,13 +39,13 @@
***************************************************************************/
-PALETTE_INIT( sonson )
+void sonson_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -74,7 +74,7 @@ PALETTE_INIT( sonson )
bit3 = (color_prom[i + 0x00] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -84,14 +84,14 @@ PALETTE_INIT( sonson )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites use colors 0x10-0x1f */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -129,12 +129,11 @@ TILE_GET_INFO_MEMBER(sonson_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( sonson )
+void sonson_state::video_start()
{
- sonson_state *state = machine.driver_data<sonson_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sonson_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sonson_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap->set_scroll_rows(32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/spacefb.c b/src/mame/video/spacefb.c
index 92951f7293a..559310c88ec 100644
--- a/src/mame/video/spacefb.c
+++ b/src/mame/video/spacefb.c
@@ -65,9 +65,8 @@ WRITE8_MEMBER(spacefb_state::spacefb_port_2_w)
*
*************************************/
-VIDEO_START( spacefb )
+void spacefb_state::video_start()
{
- spacefb_state *state = machine.driver_data<spacefb_state>();
int width, height;
/* compute the color gun weights */
@@ -75,18 +74,18 @@ VIDEO_START( spacefb )
static const int resistances_b [] = { 470, 220 };
compute_resistor_weights(0, 0xff, -1.0,
- 3, resistances_rg, state->m_color_weights_rg, 470, 0,
- 2, resistances_b, state->m_color_weights_b, 470, 0,
+ 3, resistances_rg, m_color_weights_rg, 470, 0,
+ 2, resistances_b, m_color_weights_b, 470, 0,
0, 0, 0, 0, 0);
- width = machine.primary_screen->width();
- height = machine.primary_screen->height();
- state->m_object_present_map = auto_alloc_array(machine, UINT8, width * height);
+ width = machine().primary_screen->width();
+ height = machine().primary_screen->height();
+ m_object_present_map = auto_alloc_array(machine(), UINT8, width * height);
/* this start value positions the stars to match the flyer screen shot,
but most likely, the actual star position is random as the hardware
uses whatever value is on the shift register on power-up */
- state->m_star_shift_reg = 0x18f89;
+ m_star_shift_reg = 0x18f89;
}
diff --git a/src/mame/video/spbactn.c b/src/mame/video/spbactn.c
index 7c627e84c9e..26852ade003 100644
--- a/src/mame/video/spbactn.c
+++ b/src/mame/video/spbactn.c
@@ -106,13 +106,12 @@ static int draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const re
}
-VIDEO_START( spbactn )
+void spbactn_state::video_start()
{
- spbactn_state *state = machine.driver_data<spbactn_state>();
/* allocate bitmaps */
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_bg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_fg);
}
SCREEN_UPDATE_RGB32( spbactn )
diff --git a/src/mame/video/spdodgeb.c b/src/mame/video/spdodgeb.c
index 1d1848de7e2..90668196c26 100644
--- a/src/mame/video/spdodgeb.c
+++ b/src/mame/video/spdodgeb.c
@@ -3,13 +3,13 @@
#include "includes/spdodgeb.h"
-PALETTE_INIT( spdodgeb )
+void spdodgeb_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,bit3,r,g,b;
@@ -27,13 +27,13 @@ PALETTE_INIT( spdodgeb )
bit3 = (color_prom[0] >> 7) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
/* blue component */
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -69,10 +69,9 @@ TILE_GET_INFO_MEMBER(spdodgeb_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( spdodgeb )
+void spdodgeb_state::video_start()
{
- spdodgeb_state *state = machine.driver_data<spdodgeb_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spdodgeb_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(spdodgeb_state::background_scan),state),8,8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(spdodgeb_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(spdodgeb_state::background_scan),this),8,8,64,32);
}
diff --git a/src/mame/video/speedatk.c b/src/mame/video/speedatk.c
index 10b21b5607b..ac4529b52bb 100644
--- a/src/mame/video/speedatk.c
+++ b/src/mame/video/speedatk.c
@@ -8,13 +8,13 @@
#include "video/mc6845.h"
-PALETTE_INIT( speedatk )
+void speedatk_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x10);
+ machine().colortable = colortable_alloc(machine(), 0x10);
/* create a lookup table for the palette */
for (i = 0; i < 0x10; i++)
@@ -40,7 +40,7 @@ PALETTE_INIT( speedatk )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -49,7 +49,7 @@ PALETTE_INIT( speedatk )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -65,7 +65,7 @@ WRITE8_MEMBER(speedatk_state::speedatk_colorram_w)
m_colorram[offset] = data;
}
-VIDEO_START( speedatk )
+void speedatk_state::video_start()
{
}
diff --git a/src/mame/video/speedbal.c b/src/mame/video/speedbal.c
index 9ff44e0306b..ca110a1781d 100644
--- a/src/mame/video/speedbal.c
+++ b/src/mame/video/speedbal.c
@@ -34,17 +34,16 @@ TILE_GET_INFO_MEMBER(speedbal_state::get_tile_info_fg)
* *
*************************************/
-VIDEO_START( speedbal )
+void speedbal_state::video_start()
{
- speedbal_state *state = machine.driver_data<speedbal_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(speedbal_state::get_tile_info_bg),state), TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(speedbal_state::get_tile_info_fg),state), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(speedbal_state::get_tile_info_bg),this), TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(speedbal_state::get_tile_info_fg),this), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1,0x00f7,0x0000); /* split type 1 has pen 0-2, 4-7 transparent in front half */
+ m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1,0x00f7,0x0000); /* split type 1 has pen 0-2, 4-7 transparent in front half */
- state->m_fg_tilemap->set_transmask(0,0xffff,0x0001); /* split type 0 is totally transparent in front half and has pen 0 transparent in back half */
- state->m_fg_tilemap->set_transmask(1,0x0001,0x0001); /* split type 1 has pen 0 transparent in front and back half */
+ m_fg_tilemap->set_transmask(0,0xffff,0x0001); /* split type 0 is totally transparent in front half and has pen 0 transparent in back half */
+ m_fg_tilemap->set_transmask(1,0x0001,0x0001); /* split type 1 has pen 0 transparent in front and back half */
}
diff --git a/src/mame/video/speedspn.c b/src/mame/video/speedspn.c
index 3bb6d2dbd19..0ff4501e245 100644
--- a/src/mame/video/speedspn.c
+++ b/src/mame/video/speedspn.c
@@ -12,11 +12,10 @@ TILE_GET_INFO_MEMBER(speedspn_state::get_speedspn_tile_info)
SET_TILE_INFO_MEMBER(0,code,attr & 0x3f,(attr & 0x80) ? TILE_FLIPX : 0);
}
-VIDEO_START(speedspn)
+void speedspn_state::video_start()
{
- speedspn_state *state = machine.driver_data<speedspn_state>();
- state->m_vidram = auto_alloc_array(machine, UINT8, 0x1000 * 2);
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(speedspn_state::get_speedspn_tile_info),state),TILEMAP_SCAN_COLS, 8, 8,64,32);
+ m_vidram = auto_alloc_array(machine(), UINT8, 0x1000 * 2);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(speedspn_state::get_speedspn_tile_info),this),TILEMAP_SCAN_COLS, 8, 8,64,32);
}
WRITE8_MEMBER(speedspn_state::speedspn_vidram_w)
diff --git a/src/mame/video/splash.c b/src/mame/video/splash.c
index b50bd789e4a..5aa25d7bf5b 100644
--- a/src/mame/video/splash.c
+++ b/src/mame/video/splash.c
@@ -165,17 +165,16 @@ static void draw_bitmap(running_machine &machine, bitmap_ind16 &bitmap, const re
***************************************************************************/
-VIDEO_START( splash )
+void splash_state::video_start()
{
- splash_state *state = machine.driver_data<splash_state>();
- state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(splash_state::get_tile_info_splash_tilemap0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(splash_state::get_tile_info_splash_tilemap1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(splash_state::get_tile_info_splash_tilemap0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(splash_state::get_tile_info_splash_tilemap1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap[0]->set_transparent_pen(0);
- state->m_bg_tilemap[1]->set_transparent_pen(0);
+ m_bg_tilemap[0]->set_transparent_pen(0);
+ m_bg_tilemap[1]->set_transparent_pen(0);
- state->m_bg_tilemap[0]->set_scrollx(0, 4);
+ m_bg_tilemap[0]->set_scrollx(0, 4);
}
/***************************************************************************
diff --git a/src/mame/video/sprcros2.c b/src/mame/video/sprcros2.c
index e9241eb3f98..5e579981f42 100644
--- a/src/mame/video/sprcros2.c
+++ b/src/mame/video/sprcros2.c
@@ -7,13 +7,13 @@ Super Cross II (JPN Ver.)
#include "includes/sprcros2.h"
-PALETTE_INIT( sprcros2 )
+void sprcros2_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -37,9 +37,9 @@ PALETTE_INIT( sprcros2 )
bit0 = (color_prom[i] >> 6) & 0x01;
bit1 = (color_prom[i] >> 7) & 0x01;
b = 0x47 * bit0 + 0xb8 * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -49,14 +49,14 @@ PALETTE_INIT( sprcros2 )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | ((color_prom[i + 0x100] & 0x0f) << 4);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites & fg */
for (i = 0x100; i < 0x300; i++)
{
UINT8 ctabentry = color_prom[i + 0x100];
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -131,14 +131,13 @@ TILE_GET_INFO_MEMBER(sprcros2_state::get_sprcros2_fgtile_info)
0);
}
-VIDEO_START( sprcros2 )
+void sprcros2_state::video_start()
{
- sprcros2_state *state = machine.driver_data<sprcros2_state>();
- state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprcros2_state::get_sprcros2_bgtile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprcros2_state::get_sprcros2_fgtile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sprcros2_state::get_sprcros2_bgtile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sprcros2_state::get_sprcros2_fgtile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- colortable_configure_tilemap_groups(machine.colortable, state->m_fgtilemap, machine.gfx[2], 0);
+ colortable_configure_tilemap_groups(machine().colortable, m_fgtilemap, machine().gfx[2], 0);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect)
diff --git a/src/mame/video/sprint2.c b/src/mame/video/sprint2.c
index 39e45cd6ad9..1c3885742f7 100644
--- a/src/mame/video/sprint2.c
+++ b/src/mame/video/sprint2.c
@@ -8,29 +8,29 @@
#include "includes/sprint2.h"
-PALETTE_INIT( sprint2 )
+void sprint2_state::palette_init()
{
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 4);
-
- colortable_palette_set_color(machine.colortable, 0, MAKE_RGB(0x00, 0x00, 0x00));
- colortable_palette_set_color(machine.colortable, 1, MAKE_RGB(0x5b, 0x5b, 0x5b));
- colortable_palette_set_color(machine.colortable, 2, MAKE_RGB(0xa4, 0xa4, 0xa4));
- colortable_palette_set_color(machine.colortable, 3, MAKE_RGB(0xff, 0xff, 0xff));
-
- colortable_entry_set_value(machine.colortable, 0x0, 1); /* black playfield */
- colortable_entry_set_value(machine.colortable, 0x1, 0);
- colortable_entry_set_value(machine.colortable, 0x2, 1); /* white playfield */
- colortable_entry_set_value(machine.colortable, 0x3, 3);
-
- colortable_entry_set_value(machine.colortable, 0x4, 1); /* car #1 */
- colortable_entry_set_value(machine.colortable, 0x5, 3);
- colortable_entry_set_value(machine.colortable, 0x6, 1); /* car #2 */
- colortable_entry_set_value(machine.colortable, 0x7, 0);
- colortable_entry_set_value(machine.colortable, 0x8, 1); /* car #3 */
- colortable_entry_set_value(machine.colortable, 0x9, 2);
- colortable_entry_set_value(machine.colortable, 0xa, 1); /* car #4 */
- colortable_entry_set_value(machine.colortable, 0xb, 2);
+ machine().colortable = colortable_alloc(machine(), 4);
+
+ colortable_palette_set_color(machine().colortable, 0, MAKE_RGB(0x00, 0x00, 0x00));
+ colortable_palette_set_color(machine().colortable, 1, MAKE_RGB(0x5b, 0x5b, 0x5b));
+ colortable_palette_set_color(machine().colortable, 2, MAKE_RGB(0xa4, 0xa4, 0xa4));
+ colortable_palette_set_color(machine().colortable, 3, MAKE_RGB(0xff, 0xff, 0xff));
+
+ colortable_entry_set_value(machine().colortable, 0x0, 1); /* black playfield */
+ colortable_entry_set_value(machine().colortable, 0x1, 0);
+ colortable_entry_set_value(machine().colortable, 0x2, 1); /* white playfield */
+ colortable_entry_set_value(machine().colortable, 0x3, 3);
+
+ colortable_entry_set_value(machine().colortable, 0x4, 1); /* car #1 */
+ colortable_entry_set_value(machine().colortable, 0x5, 3);
+ colortable_entry_set_value(machine().colortable, 0x6, 1); /* car #2 */
+ colortable_entry_set_value(machine().colortable, 0x7, 0);
+ colortable_entry_set_value(machine().colortable, 0x8, 1); /* car #3 */
+ colortable_entry_set_value(machine().colortable, 0x9, 2);
+ colortable_entry_set_value(machine().colortable, 0xa, 1); /* car #4 */
+ colortable_entry_set_value(machine().colortable, 0xb, 2);
}
@@ -42,12 +42,11 @@ TILE_GET_INFO_MEMBER(sprint2_state::get_tile_info)
}
-VIDEO_START( sprint2 )
+void sprint2_state::video_start()
{
- sprint2_state *state = machine.driver_data<sprint2_state>();
- machine.primary_screen->register_screen_bitmap(state->m_helper);
+ machine().primary_screen->register_screen_bitmap(m_helper);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint2_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sprint2_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
}
diff --git a/src/mame/video/sprint4.c b/src/mame/video/sprint4.c
index 13a9c224899..20f9611c712 100644
--- a/src/mame/video/sprint4.c
+++ b/src/mame/video/sprint4.c
@@ -9,29 +9,29 @@ Atari Sprint 4 video emulation
#include "includes/sprint4.h"
-PALETTE_INIT( sprint4 )
+void sprint4_state::palette_init()
{
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 6);
-
- colortable_palette_set_color(machine.colortable, 0, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
- colortable_palette_set_color(machine.colortable, 1, MAKE_RGB(0xfc, 0xdf, 0x80)); /* peach */
- colortable_palette_set_color(machine.colortable, 2, MAKE_RGB(0xf0, 0x00, 0xf0)); /* violet */
- colortable_palette_set_color(machine.colortable, 3, MAKE_RGB(0x00, 0xf0, 0x0f)); /* green */
- colortable_palette_set_color(machine.colortable, 4, MAKE_RGB(0x30, 0x4f, 0xff)); /* blue */
- colortable_palette_set_color(machine.colortable, 5, MAKE_RGB(0xff, 0xff, 0xff)); /* white */
-
- colortable_entry_set_value(machine.colortable, 0, 0);
- colortable_entry_set_value(machine.colortable, 2, 0);
- colortable_entry_set_value(machine.colortable, 4, 0);
- colortable_entry_set_value(machine.colortable, 6, 0);
- colortable_entry_set_value(machine.colortable, 8, 0);
-
- colortable_entry_set_value(machine.colortable, 1, 1);
- colortable_entry_set_value(machine.colortable, 3, 2);
- colortable_entry_set_value(machine.colortable, 5, 3);
- colortable_entry_set_value(machine.colortable, 7, 4);
- colortable_entry_set_value(machine.colortable, 9, 5);
+ machine().colortable = colortable_alloc(machine(), 6);
+
+ colortable_palette_set_color(machine().colortable, 0, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
+ colortable_palette_set_color(machine().colortable, 1, MAKE_RGB(0xfc, 0xdf, 0x80)); /* peach */
+ colortable_palette_set_color(machine().colortable, 2, MAKE_RGB(0xf0, 0x00, 0xf0)); /* violet */
+ colortable_palette_set_color(machine().colortable, 3, MAKE_RGB(0x00, 0xf0, 0x0f)); /* green */
+ colortable_palette_set_color(machine().colortable, 4, MAKE_RGB(0x30, 0x4f, 0xff)); /* blue */
+ colortable_palette_set_color(machine().colortable, 5, MAKE_RGB(0xff, 0xff, 0xff)); /* white */
+
+ colortable_entry_set_value(machine().colortable, 0, 0);
+ colortable_entry_set_value(machine().colortable, 2, 0);
+ colortable_entry_set_value(machine().colortable, 4, 0);
+ colortable_entry_set_value(machine().colortable, 6, 0);
+ colortable_entry_set_value(machine().colortable, 8, 0);
+
+ colortable_entry_set_value(machine().colortable, 1, 1);
+ colortable_entry_set_value(machine().colortable, 3, 2);
+ colortable_entry_set_value(machine().colortable, 5, 3);
+ colortable_entry_set_value(machine().colortable, 7, 4);
+ colortable_entry_set_value(machine().colortable, 9, 5);
}
@@ -47,12 +47,11 @@ TILE_GET_INFO_MEMBER(sprint4_state::sprint4_tile_info)
}
-VIDEO_START( sprint4 )
+void sprint4_state::video_start()
{
- sprint4_state *state = machine.driver_data<sprint4_state>();
- machine.primary_screen->register_screen_bitmap(state->m_helper);
+ machine().primary_screen->register_screen_bitmap(m_helper);
- state->m_playfield = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint4_state::sprint4_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_playfield = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sprint4_state::sprint4_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/sprint8.c b/src/mame/video/sprint8.c
index c1a66503095..a5a31392637 100644
--- a/src/mame/video/sprint8.c
+++ b/src/mame/video/sprint8.c
@@ -8,23 +8,23 @@ Atari Sprint 8 video emulation
#include "includes/sprint8.h"
-PALETTE_INIT( sprint8 )
+void sprint8_state::palette_init()
{
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x12);
+ machine().colortable = colortable_alloc(machine(), 0x12);
for (i = 0; i < 0x10; i++)
{
- colortable_entry_set_value(machine.colortable, 2 * i + 0, 0x10);
- colortable_entry_set_value(machine.colortable, 2 * i + 1, i);
+ colortable_entry_set_value(machine().colortable, 2 * i + 0, 0x10);
+ colortable_entry_set_value(machine().colortable, 2 * i + 1, i);
}
- colortable_entry_set_value(machine.colortable, 0x20, 0x10);
- colortable_entry_set_value(machine.colortable, 0x21, 0x10);
- colortable_entry_set_value(machine.colortable, 0x22, 0x10);
- colortable_entry_set_value(machine.colortable, 0x23, 0x11);
+ colortable_entry_set_value(machine().colortable, 0x20, 0x10);
+ colortable_entry_set_value(machine().colortable, 0x21, 0x10);
+ colortable_entry_set_value(machine().colortable, 0x22, 0x10);
+ colortable_entry_set_value(machine().colortable, 0x23, 0x11);
}
@@ -111,17 +111,16 @@ WRITE8_MEMBER(sprint8_state::sprint8_video_ram_w)
}
-VIDEO_START( sprint8 )
+void sprint8_state::video_start()
{
- sprint8_state *state = machine.driver_data<sprint8_state>();
- machine.primary_screen->register_screen_bitmap(state->m_helper1);
- machine.primary_screen->register_screen_bitmap(state->m_helper2);
+ machine().primary_screen->register_screen_bitmap(m_helper1);
+ machine().primary_screen->register_screen_bitmap(m_helper2);
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint8_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint8_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sprint8_state::get_tile_info1),this), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sprint8_state::get_tile_info2),this), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
- state->m_tilemap1->set_scrolly(0, +24);
- state->m_tilemap2->set_scrolly(0, +24);
+ m_tilemap1->set_scrolly(0, +24);
+ m_tilemap2->set_scrolly(0, +24);
}
diff --git a/src/mame/video/spy.c b/src/mame/video/spy.c
index a73934694a9..2fa4792046d 100644
--- a/src/mame/video/spy.c
+++ b/src/mame/video/spy.c
@@ -44,14 +44,13 @@ void spy_sprite_callback( running_machine &machine, int *code, int *color, int *
***************************************************************************/
-VIDEO_START( spy )
+void spy_state::video_start()
{
- spy_state *state = machine.driver_data<spy_state>();
- state->m_layer_colorbase[0] = 48;
- state->m_layer_colorbase[1] = 0;
- state->m_layer_colorbase[2] = 16;
- state->m_sprite_colorbase = 32;
+ m_layer_colorbase[0] = 48;
+ m_layer_colorbase[1] = 0;
+ m_layer_colorbase[2] = 16;
+ m_sprite_colorbase = 32;
}
diff --git a/src/mame/video/srmp2.c b/src/mame/video/srmp2.c
index ca481a9828e..a6dfb346604 100644
--- a/src/mame/video/srmp2.c
+++ b/src/mame/video/srmp2.c
@@ -9,32 +9,32 @@ Functions to emulate the video hardware of the machine.
#include "includes/srmp2.h"
#include "video/seta001.h"
-PALETTE_INIT( srmp2 )
+PALETTE_INIT_MEMBER(srmp2_state,srmp2)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int col;
- col = (color_prom[i] << 8) + color_prom[i + machine.total_colors()];
- palette_set_color_rgb(machine,i ^ 0x0f,pal5bit(col >> 10),pal5bit(col >> 5),pal5bit(col >> 0));
+ col = (color_prom[i] << 8) + color_prom[i + machine().total_colors()];
+ palette_set_color_rgb(machine(),i ^ 0x0f,pal5bit(col >> 10),pal5bit(col >> 5),pal5bit(col >> 0));
}
}
-PALETTE_INIT( srmp3 )
+PALETTE_INIT_MEMBER(srmp2_state,srmp3)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int col;
- col = (color_prom[i] << 8) + color_prom[i + machine.total_colors()];
- palette_set_color_rgb(machine,i,pal5bit(col >> 10),pal5bit(col >> 5),pal5bit(col >> 0));
+ col = (color_prom[i] << 8) + color_prom[i + machine().total_colors()];
+ palette_set_color_rgb(machine(),i,pal5bit(col >> 10),pal5bit(col >> 5),pal5bit(col >> 0));
}
}
diff --git a/src/mame/video/srumbler.c b/src/mame/video/srumbler.c
index 9c49e0996f8..567bb417912 100644
--- a/src/mame/video/srumbler.c
+++ b/src/mame/video/srumbler.c
@@ -45,16 +45,15 @@ TILE_GET_INFO_MEMBER(srumbler_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( srumbler )
+void srumbler_state::video_start()
{
- srumbler_state *state = machine.driver_data<srumbler_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(srumbler_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(srumbler_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS, 16,16,64,64);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(srumbler_state::get_fg_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(srumbler_state::get_bg_tile_info),this),TILEMAP_SCAN_COLS, 16,16,64,64);
- state->m_fg_tilemap->set_transparent_pen(3);
+ m_fg_tilemap->set_transparent_pen(3);
- state->m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1,0x07ff,0xf800); /* split type 1 has pens 0-10 transparent in front half */
+ m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1,0x07ff,0xf800); /* split type 1 has pens 0-10 transparent in front half */
}
diff --git a/src/mame/video/sshangha.c b/src/mame/video/sshangha.c
index dae744cb43b..0782b2e933a 100644
--- a/src/mame/video/sshangha.c
+++ b/src/mame/video/sshangha.c
@@ -20,10 +20,10 @@ WRITE16_MEMBER(sshangha_state::sshangha_video_w)
/******************************************************************************/
-VIDEO_START( sshangha )
+void sshangha_state::video_start()
{
- machine.device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
- machine.device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen1")->alloc_sprite_bitmap();
+ machine().device<decospr_device>("spritegen2")->alloc_sprite_bitmap();
}
/******************************************************************************/
diff --git a/src/mame/video/sslam.c b/src/mame/video/sslam.c
index 0bfbfa40e68..865ebb6a9a7 100644
--- a/src/mame/video/sslam.c
+++ b/src/mame/video/sslam.c
@@ -158,29 +158,27 @@ WRITE16_MEMBER(sslam_state::powerbls_bg_tileram_w)
m_bg_tilemap->mark_tile_dirty(offset>>1);
}
-VIDEO_START(sslam)
+VIDEO_START_MEMBER(sslam_state,sslam)
{
- sslam_state *state = machine.driver_data<sslam_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_md_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_md_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_md_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_md_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_md_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
- state->m_sprites_x_offset = 0;
- state->save_item(NAME(state->m_sprites_x_offset));
+ m_sprites_x_offset = 0;
+ save_item(NAME(m_sprites_x_offset));
}
-VIDEO_START(powerbls)
+VIDEO_START_MEMBER(sslam_state,powerbls)
{
- sslam_state *state = machine.driver_data<sslam_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_powerbls_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_powerbls_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_sprites_x_offset = -21;
- state->save_item(NAME(state->m_sprites_x_offset));
+ m_sprites_x_offset = -21;
+ save_item(NAME(m_sprites_x_offset));
}
SCREEN_UPDATE_IND16(sslam)
diff --git a/src/mame/video/ssozumo.c b/src/mame/video/ssozumo.c
index ec8d01ed8e3..1401d09fa5e 100644
--- a/src/mame/video/ssozumo.c
+++ b/src/mame/video/ssozumo.c
@@ -12,9 +12,9 @@ Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/10/04
/**************************************************************************/
-PALETTE_INIT( ssozumo )
+void ssozumo_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int bit0, bit1, bit2, bit3, r, g, b;
int i;
@@ -36,7 +36,7 @@ PALETTE_INIT( ssozumo )
bit3 = (color_prom[64] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -130,17 +130,16 @@ TILE_GET_INFO_MEMBER(ssozumo_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( ssozumo )
+void ssozumo_state::video_start()
{
- ssozumo_state *state = machine.driver_data<ssozumo_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssozumo_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ssozumo_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_X,
16, 16, 16, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssozumo_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ssozumo_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_X,
8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/sspeedr.c b/src/mame/video/sspeedr.c
index cc27312c557..24c784dcf8a 100644
--- a/src/mame/video/sspeedr.c
+++ b/src/mame/video/sspeedr.c
@@ -239,10 +239,9 @@ static void draw_driver(running_machine &machine, bitmap_ind16 &bitmap, const re
}
-VIDEO_START( sspeedr )
+void sspeedr_state::video_start()
{
- sspeedr_state *state = machine.driver_data<sspeedr_state>();
- state->m_toggle = 0;
+ m_toggle = 0;
}
diff --git a/src/mame/video/ssrj.c b/src/mame/video/ssrj.c
index d25c4af0eca..4b58d3daa4c 100644
--- a/src/mame/video/ssrj.c
+++ b/src/mame/video/ssrj.c
@@ -216,17 +216,16 @@ static const UINT8 fakecols[4*4][8][3]=
};
-VIDEO_START( ssrj )
+void ssrj_state::video_start()
{
- ssrj_state *state = machine.driver_data<ssrj_state>();
- state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info1),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info2),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_tilemap4 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info4),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_tilemap2->set_transparent_pen(0);
- state->m_tilemap4->set_transparent_pen(0);
+ m_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info1),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info2),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_tilemap4 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info4),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_tilemap2->set_transparent_pen(0);
+ m_tilemap4->set_transparent_pen(0);
- state->m_buffer_spriteram = auto_alloc_array(machine, UINT8, 0x0800);
+ m_buffer_spriteram = auto_alloc_array(machine(), UINT8, 0x0800);
}
@@ -266,12 +265,12 @@ static void draw_objects(running_machine &machine, bitmap_ind16 &bitmap, const r
}
-PALETTE_INIT( ssrj )
+void ssrj_state::palette_init()
{
int i, j;
for(i=0; i<4*4; i++)
for(j=0; j<8; j++)
- palette_set_color_rgb(machine, i*8+j, fakecols[i][j][0], fakecols[i][j][1], fakecols[i][j][2]);
+ palette_set_color_rgb(machine(), i*8+j, fakecols[i][j][0], fakecols[i][j][1], fakecols[i][j][2]);
}
SCREEN_UPDATE_IND16( ssrj )
diff --git a/src/mame/video/ssv.c b/src/mame/video/ssv.c
index cd5b4501591..7425e999920 100644
--- a/src/mame/video/ssv.c
+++ b/src/mame/video/ssv.c
@@ -192,20 +192,19 @@ static void ssv_drawgfx( bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_el
}
-VIDEO_START( ssv )
+void ssv_state::video_start()
{
- machine.gfx[0]->set_granularity(64); /* 256 colour sprites with palette selectable on 64 colour boundaries */
+ machine().gfx[0]->set_granularity(64); /* 256 colour sprites with palette selectable on 64 colour boundaries */
}
-VIDEO_START( eaglshot )
+VIDEO_START_MEMBER(ssv_state,eaglshot)
{
- ssv_state *state = machine.driver_data<ssv_state>();
- VIDEO_START_CALL(ssv);
+ ssv_state::video_start();
- state->m_eaglshot_gfxram = auto_alloc_array(machine, UINT16, 16 * 0x40000 / 2);
+ m_eaglshot_gfxram = auto_alloc_array(machine(), UINT16, 16 * 0x40000 / 2);
- machine.gfx[0]->set_source((UINT8 *)state->m_eaglshot_gfxram);
- machine.gfx[1]->set_source((UINT8 *)state->m_eaglshot_gfxram);
+ machine().gfx[0]->set_source((UINT8 *)m_eaglshot_gfxram);
+ machine().gfx[1]->set_source((UINT8 *)m_eaglshot_gfxram);
}
TILE_GET_INFO_MEMBER(ssv_state::get_tile_info_0)
@@ -222,16 +221,15 @@ WRITE16_MEMBER(ssv_state::gdfs_tmapram_w)
m_gdfs_tmap->mark_tile_dirty(offset);
}
-VIDEO_START( gdfs )
+VIDEO_START_MEMBER(ssv_state,gdfs)
{
- ssv_state *state = machine.driver_data<ssv_state>();
- VIDEO_START_CALL(ssv);
+ ssv_state::video_start();
- state->m_gdfs_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssv_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16,16, 0x100,0x100);
+ m_gdfs_tmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ssv_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 16,16, 0x100,0x100);
- state->m_gdfs_tmap->set_transparent_pen(0);
+ m_gdfs_tmap->set_transparent_pen(0);
}
/***************************************************************************
diff --git a/src/mame/video/st0016.c b/src/mame/video/st0016.c
index 78a20b8d301..e4400c5ae81 100644
--- a/src/mame/video/st0016.c
+++ b/src/mame/video/st0016.c
@@ -433,24 +433,24 @@ static void st0016_save_init(running_machine &machine)
}
-VIDEO_START( st0016 )
+VIDEO_START_MEMBER(st0016_state,st0016)
{
int gfx_index=0;
macs_cart_slot = 0;
- st0016_charram=auto_alloc_array(machine, UINT8, ST0016_MAX_CHAR_BANK*ST0016_CHAR_BANK_SIZE);
- st0016_spriteram=auto_alloc_array(machine, UINT8, ST0016_MAX_SPR_BANK*ST0016_SPR_BANK_SIZE);
- st0016_paletteram=auto_alloc_array(machine, UINT8, ST0016_MAX_PAL_BANK*ST0016_PAL_BANK_SIZE);
+ st0016_charram=auto_alloc_array(machine(), UINT8, ST0016_MAX_CHAR_BANK*ST0016_CHAR_BANK_SIZE);
+ st0016_spriteram=auto_alloc_array(machine(), UINT8, ST0016_MAX_SPR_BANK*ST0016_SPR_BANK_SIZE);
+ st0016_paletteram=auto_alloc_array(machine(), UINT8, ST0016_MAX_PAL_BANK*ST0016_PAL_BANK_SIZE);
/* find first empty slot to decode gfx */
for (gfx_index = 0; gfx_index < MAX_GFX_ELEMENTS; gfx_index++)
- if (machine.gfx[gfx_index] == 0)
+ if (machine().gfx[gfx_index] == 0)
break;
assert(gfx_index != MAX_GFX_ELEMENTS);
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine.gfx[gfx_index] = auto_alloc(machine, gfx_element(machine, charlayout, (UINT8 *) st0016_charram, 0x40, 0));
+ machine().gfx[gfx_index] = auto_alloc(machine(), gfx_element(machine(), charlayout, (UINT8 *) st0016_charram, 0x40, 0));
st0016_ramgfx = gfx_index;
spr_dx=0;
@@ -459,32 +459,32 @@ VIDEO_START( st0016 )
switch(st0016_game&0x3f)
{
case 0: //renju kizoku
- machine.primary_screen->set_visible_area(0, 40*8-1, 0, 30*8-1);
+ machine().primary_screen->set_visible_area(0, 40*8-1, 0, 30*8-1);
spr_dx=0;
spr_dy=0;
break;
case 1: //neratte chu!
- machine.primary_screen->set_visible_area(8,41*8-1,0,30*8-1);
+ machine().primary_screen->set_visible_area(8,41*8-1,0,30*8-1);
spr_dx=0;
spr_dy=8;
break;
case 4: //mayjinsen 1&2
- machine.primary_screen->set_visible_area(0,32*8-1,0,28*8-1);
+ machine().primary_screen->set_visible_area(0,32*8-1,0,28*8-1);
break;
case 10:
- machine.primary_screen->set_visible_area(0,383,0,255);
+ machine().primary_screen->set_visible_area(0,383,0,255);
break;
case 11:
- machine.primary_screen->set_visible_area(0,383,0,383);
+ machine().primary_screen->set_visible_area(0,383,0,383);
break;
}
- st0016_save_init(machine);
+ st0016_save_init(machine());
}
diff --git a/src/mame/video/stactics.c b/src/mame/video/stactics.c
index aa4fee5dcfc..38dca203948 100644
--- a/src/mame/video/stactics.c
+++ b/src/mame/video/stactics.c
@@ -57,9 +57,9 @@ tilt the mirror up and down, and the monitor left and right.
*
*************************************/
-static PALETTE_INIT( stactics )
+PALETTE_INIT_MEMBER(stactics_state,stactics)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 0x400; i++)
@@ -78,7 +78,7 @@ static PALETTE_INIT( stactics )
/* blue component */
int b = 0xff * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -359,19 +359,18 @@ static void update_artwork(running_machine &machine, stactics_state *state)
*
*************************************/
-static VIDEO_START( stactics )
+VIDEO_START_MEMBER(stactics_state,stactics)
{
- stactics_state *state = machine.driver_data<stactics_state>();
- state->m_y_scroll_d = 0;
- state->m_y_scroll_e = 0;
- state->m_y_scroll_f = 0;
+ m_y_scroll_d = 0;
+ m_y_scroll_e = 0;
+ m_y_scroll_f = 0;
- state->m_frame_count = 0;
- state->m_shot_standby = 1;
- state->m_shot_arrive = 0;
- state->m_beam_state = 0;
- state->m_old_beam_state = 0;
+ m_frame_count = 0;
+ m_shot_standby = 1;
+ m_shot_arrive = 0;
+ m_beam_state = 0;
+ m_old_beam_state = 0;
}
@@ -416,6 +415,6 @@ MACHINE_CONFIG_FRAGMENT( stactics_video )
MCFG_PALETTE_LENGTH(0x400)
- MCFG_PALETTE_INIT(stactics)
- MCFG_VIDEO_START(stactics)
+ MCFG_PALETTE_INIT_OVERRIDE(stactics_state,stactics)
+ MCFG_VIDEO_START_OVERRIDE(stactics_state,stactics)
MACHINE_CONFIG_END
diff --git a/src/mame/video/stadhero.c b/src/mame/video/stadhero.c
index 9f5712bbc7c..ed7144d1f63 100644
--- a/src/mame/video/stadhero.c
+++ b/src/mame/video/stadhero.c
@@ -55,11 +55,10 @@ TILE_GET_INFO_MEMBER(stadhero_state::get_pf1_tile_info)
0);
}
-VIDEO_START( stadhero )
+void stadhero_state::video_start()
{
- stadhero_state *state = machine.driver_data<stadhero_state>();
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stadhero_state::get_pf1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_pf1_tilemap->set_transparent_pen(0);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(stadhero_state::get_pf1_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_pf1_tilemap->set_transparent_pen(0);
}
/******************************************************************************/
diff --git a/src/mame/video/starcrus.c b/src/mame/video/starcrus.c
index 95387baa09b..94c06a49d56 100644
--- a/src/mame/video/starcrus.c
+++ b/src/mame/video/starcrus.c
@@ -17,14 +17,13 @@ WRITE8_MEMBER(starcrus_state::starcrus_p1_y_w){ m_p1_y = data^0xff; }
WRITE8_MEMBER(starcrus_state::starcrus_p2_x_w){ m_p2_x = data^0xff; }
WRITE8_MEMBER(starcrus_state::starcrus_p2_y_w){ m_p2_y = data^0xff; }
-VIDEO_START( starcrus )
+void starcrus_state::video_start()
{
- starcrus_state *state = machine.driver_data<starcrus_state>();
- state->m_ship1_vid = auto_bitmap_ind16_alloc(machine, 16, 16);
- state->m_ship2_vid = auto_bitmap_ind16_alloc(machine, 16, 16);
+ m_ship1_vid = auto_bitmap_ind16_alloc(machine(), 16, 16);
+ m_ship2_vid = auto_bitmap_ind16_alloc(machine(), 16, 16);
- state->m_proj1_vid = auto_bitmap_ind16_alloc(machine, 16, 16);
- state->m_proj2_vid = auto_bitmap_ind16_alloc(machine, 16, 16);
+ m_proj1_vid = auto_bitmap_ind16_alloc(machine(), 16, 16);
+ m_proj2_vid = auto_bitmap_ind16_alloc(machine(), 16, 16);
}
WRITE8_MEMBER(starcrus_state::starcrus_ship_parm_1_w)
diff --git a/src/mame/video/starfire.c b/src/mame/video/starfire.c
index 70f80ee2f69..7f0c67fee95 100644
--- a/src/mame/video/starfire.c
+++ b/src/mame/video/starfire.c
@@ -15,19 +15,18 @@ static TIMER_CALLBACK( starfire_scanline_callback );
*
*************************************/
-VIDEO_START( starfire )
+void starfire_state::video_start()
{
- starfire_state *state = machine.driver_data<starfire_state>();
- machine.primary_screen->register_screen_bitmap(state->m_starfire_screen);
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(starfire_scanline_callback));
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(STARFIRE_VBEND), STARFIRE_VBEND);
+ machine().primary_screen->register_screen_bitmap(m_starfire_screen);
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(starfire_scanline_callback));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(STARFIRE_VBEND), STARFIRE_VBEND);
/* register for state saving */
- state->save_item(NAME(state->m_starfire_vidctrl));
- state->save_item(NAME(state->m_starfire_vidctrl1));
- state->save_item(NAME(state->m_starfire_color));
- state->save_item(NAME(state->m_starfire_colors));
+ save_item(NAME(m_starfire_vidctrl));
+ save_item(NAME(m_starfire_vidctrl1));
+ save_item(NAME(m_starfire_color));
+ save_item(NAME(m_starfire_colors));
}
diff --git a/src/mame/video/starshp1.c b/src/mame/video/starshp1.c
index 7b739ad1e8e..e3e21201cf5 100644
--- a/src/mame/video/starshp1.c
+++ b/src/mame/video/starshp1.c
@@ -21,7 +21,7 @@ static void set_pens(starshp1_state *state, colortable_t *colortable)
}
-PALETTE_INIT( starshp1 )
+void starshp1_state::palette_init()
{
int i;
@@ -38,10 +38,10 @@ PALETTE_INIT( starshp1 )
};
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 8);
+ machine().colortable = colortable_alloc(machine(), 8);
for (i = 0; i < sizeof(colortable_source) / sizeof(colortable_source[0]); i++)
- colortable_entry_set_value(machine.colortable, i, colortable_source[i]);
+ colortable_entry_set_value(machine().colortable, i, colortable_source[i]);
}
@@ -53,20 +53,19 @@ TILE_GET_INFO_MEMBER(starshp1_state::get_tile_info)
}
-VIDEO_START( starshp1 )
+void starshp1_state::video_start()
{
- starshp1_state *state = machine.driver_data<starshp1_state>();
UINT16 val = 0;
int i;
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(starshp1_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(starshp1_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrollx(0, -8);
+ m_bg_tilemap->set_scrollx(0, -8);
- state->m_LSFR = auto_alloc_array(machine, UINT16, 0x10000);
+ m_LSFR = auto_alloc_array(machine(), UINT16, 0x10000);
for (i = 0; i < 0x10000; i++)
{
@@ -75,12 +74,12 @@ VIDEO_START( starshp1 )
(val >> 0x7) ^
(val >> 0x1) ^ 1;
- state->m_LSFR[i] = val;
+ m_LSFR[i] = val;
val = (val << 1) | (bit & 1);
}
- machine.primary_screen->register_screen_bitmap(state->m_helper);
+ machine().primary_screen->register_screen_bitmap(m_helper);
}
diff --git a/src/mame/video/stfight.c b/src/mame/video/stfight.c
index 6b742f93166..e9d91595806 100644
--- a/src/mame/video/stfight.c
+++ b/src/mame/video/stfight.c
@@ -30,40 +30,40 @@
*/
-PALETTE_INIT( stfight )
+void stfight_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* text uses colors 0xc0-0xcf */
for (i = 0; i < 0x40; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0xc0;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* fg uses colors 0x40-0x7f */
for (i = 0x40; i < 0x140; i++)
{
UINT8 ctabentry = (color_prom[i + 0x1c0] & 0x0f) | ((color_prom[i + 0x0c0] & 0x03) << 4) | 0x40;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* bg uses colors 0-0x3f */
for (i = 0x140; i < 0x240; i++)
{
UINT8 ctabentry = (color_prom[i + 0x2c0] & 0x0f) | ((color_prom[i + 0x1c0] & 0x03) << 4);
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* bg uses colors 0x80-0xbf */
for (i = 0x240; i < 0x340; i++)
{
UINT8 ctabentry = (color_prom[i + 0x3c0] & 0x0f) | ((color_prom[i + 0x2c0] & 0x03) << 4) | 0x80;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -155,15 +155,14 @@ TILE_GET_INFO_MEMBER(stfight_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( stfight )
+void stfight_state::video_start()
{
- stfight_state *state = machine.driver_data<stfight_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(stfight_state::bg_scan),state),16,16,128,256);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_fg_tile_info),state),tilemap_mapper_delegate(FUNC(stfight_state::fg_scan),state),16,16,128,256);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(stfight_state::bg_scan),this),16,16,128,256);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_fg_tile_info),this),tilemap_mapper_delegate(FUNC(stfight_state::fg_scan),this),16,16,128,256);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,32,32);
- state->m_fg_tilemap->set_transparent_pen(0x0f);
- colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 0xcf);
+ m_fg_tilemap->set_transparent_pen(0x0f);
+ colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, machine().gfx[0], 0xcf);
}
diff --git a/src/mame/video/stlforce.c b/src/mame/video/stlforce.c
index 9f7a504f1db..febac73db54 100644
--- a/src/mame/video/stlforce.c
+++ b/src/mame/video/stlforce.c
@@ -176,20 +176,19 @@ SCREEN_UPDATE_IND16( stlforce )
return 0;
}
-VIDEO_START( stlforce )
+void stlforce_state::video_start()
{
- stlforce_state *state = machine.driver_data<stlforce_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_bg_tile_info),state), TILEMAP_SCAN_COLS, 16,16,64,16);
- state->m_mlow_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_mlow_tile_info),state), TILEMAP_SCAN_COLS, 16,16,64,16);
- state->m_mhigh_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_mhigh_tile_info),state),TILEMAP_SCAN_COLS, 16,16,64,16);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_bg_tile_info),this), TILEMAP_SCAN_COLS, 16,16,64,16);
+ m_mlow_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_mlow_tile_info),this), TILEMAP_SCAN_COLS, 16,16,64,16);
+ m_mhigh_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_mhigh_tile_info),this),TILEMAP_SCAN_COLS, 16,16,64,16);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_mlow_tilemap->set_transparent_pen(0);
- state->m_mhigh_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_mlow_tilemap->set_transparent_pen(0);
+ m_mhigh_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scroll_rows(256);
- state->m_mlow_tilemap->set_scroll_rows(256);
- state->m_mhigh_tilemap->set_scroll_rows(256);
+ m_bg_tilemap->set_scroll_rows(256);
+ m_mlow_tilemap->set_scroll_rows(256);
+ m_mhigh_tilemap->set_scroll_rows(256);
}
diff --git a/src/mame/video/strnskil.c b/src/mame/video/strnskil.c
index f46fc149cf0..4d1fe13bd11 100644
--- a/src/mame/video/strnskil.c
+++ b/src/mame/video/strnskil.c
@@ -12,13 +12,13 @@ Video hardware driver by Uki
#include "includes/strnskil.h"
-PALETTE_INIT( strnskil )
+void strnskil_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -27,7 +27,7 @@ PALETTE_INIT( strnskil )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -37,7 +37,7 @@ PALETTE_INIT( strnskil )
for (i = 0; i < 0x400; i++)
{
UINT8 ctabentry = color_prom[i];
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -70,13 +70,12 @@ TILE_GET_INFO_MEMBER(strnskil_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( strnskil )
+void strnskil_state::video_start()
{
- strnskil_state *state = machine.driver_data<strnskil_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(strnskil_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(strnskil_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap->set_scroll_rows(32);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/stvvdp2.c b/src/mame/video/stvvdp2.c
index 617434793eb..7c32bd6d64f 100644
--- a/src/mame/video/stvvdp2.c
+++ b/src/mame/video/stvvdp2.c
@@ -2105,7 +2105,7 @@ static struct stv_vdp2_debugging
UINT8 win; /*Enters into Window effect debug menu*/
UINT32 error; /*bits for VDP2 error logging*/
UINT8 roz; /*Debug roz on screen*/
-} debug;
+} vdpdebug;
/* Not sure if to use this for the rotating tilemaps as well or just use different draw functions, might add too much bloat */
static struct stv_vdp2_tilemap_capabilities
@@ -2272,15 +2272,15 @@ static void stv_vdp2_fill_rotation_parameter_table( running_machine &machine, UI
if(LOG_ROZ == 2)
{
if(machine.input().code_pressed_once(JOYCODE_Y_UP_SWITCH))
- debug.roz++;
+ vdpdebug.roz++;
if(machine.input().code_pressed_once(JOYCODE_Y_DOWN_SWITCH))
- debug.roz--;
+ vdpdebug.roz--;
- if(debug.roz > 10)
- debug.roz = 10;
+ if(vdpdebug.roz > 10)
+ vdpdebug.roz = 10;
- switch(debug.roz)
+ switch(vdpdebug.roz)
{
case 0: popmessage( "Rotation parameter Table (%d)", rot_parameter ); break;
case 1: popmessage( "xst = %x, yst = %x, zst = %x", RP.xst, RP.yst, RP.zst ); break;
@@ -5815,23 +5815,22 @@ static int stv_vdp2_start (running_machine &machine)
}
/* maybe we should move this to video/stv.c */
-VIDEO_START( stv_vdp2 )
+VIDEO_START_MEMBER(saturn_state,stv_vdp2)
{
- saturn_state *state = machine.driver_data<saturn_state>();
- machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap);
- stv_vdp2_start(machine);
- stv_vdp1_start(machine);
- debug.l_en = 0xff;
- debug.error = 0xffffffff;
- debug.roz = 0;
- machine.gfx[0]->set_source(state->m_vdp2.gfx_decode);
- machine.gfx[1]->set_source(state->m_vdp2.gfx_decode);
- machine.gfx[2]->set_source(state->m_vdp2.gfx_decode);
- machine.gfx[3]->set_source(state->m_vdp2.gfx_decode);
- machine.gfx[4]->set_source(state->m_vdp1.gfx_decode);
- machine.gfx[5]->set_source(state->m_vdp1.gfx_decode);
- machine.gfx[6]->set_source(state->m_vdp1.gfx_decode);
- machine.gfx[7]->set_source(state->m_vdp1.gfx_decode);
+ machine().primary_screen->register_screen_bitmap(m_tmpbitmap);
+ stv_vdp2_start(machine());
+ stv_vdp1_start(machine());
+ vdpdebug.l_en = 0xff;
+ vdpdebug.error = 0xffffffff;
+ vdpdebug.roz = 0;
+ machine().gfx[0]->set_source(m_vdp2.gfx_decode);
+ machine().gfx[1]->set_source(m_vdp2.gfx_decode);
+ machine().gfx[2]->set_source(m_vdp2.gfx_decode);
+ machine().gfx[3]->set_source(m_vdp2.gfx_decode);
+ machine().gfx[4]->set_source(m_vdp1.gfx_decode);
+ machine().gfx[5]->set_source(m_vdp1.gfx_decode);
+ machine().gfx[6]->set_source(m_vdp1.gfx_decode);
+ machine().gfx[7]->set_source(m_vdp1.gfx_decode);
}
void stv_vdp2_dynamic_res_change(running_machine &machine)
@@ -6648,33 +6647,33 @@ SCREEN_UPDATE_RGB32( stv_vdp2 )
#if DEBUG_MODE
if(screen.machine().input().code_pressed_once(KEYCODE_T))
{
- debug.l_en^=1;
- popmessage("NBG3 %sabled",debug.l_en & 1 ? "en" : "dis");
+ vdpdebug.l_en^=1;
+ popmessage("NBG3 %sabled",vdpdebug.l_en & 1 ? "en" : "dis");
}
if(screen.machine().input().code_pressed_once(KEYCODE_Y))
{
- debug.l_en^=2;
- popmessage("NBG2 %sabled",debug.l_en & 2 ? "en" : "dis");
+ vdpdebug.l_en^=2;
+ popmessage("NBG2 %sabled",vdpdebug.l_en & 2 ? "en" : "dis");
}
if(screen.machine().input().code_pressed_once(KEYCODE_U))
{
- debug.l_en^=4;
- popmessage("NBG1 %sabled",debug.l_en & 4 ? "en" : "dis");
+ vdpdebug.l_en^=4;
+ popmessage("NBG1 %sabled",vdpdebug.l_en & 4 ? "en" : "dis");
}
if(screen.machine().input().code_pressed_once(KEYCODE_I))
{
- debug.l_en^=8;
- popmessage("NBG0 %sabled",debug.l_en & 8 ? "en" : "dis");
+ vdpdebug.l_en^=8;
+ popmessage("NBG0 %sabled",vdpdebug.l_en & 8 ? "en" : "dis");
}
if(screen.machine().input().code_pressed_once(KEYCODE_K))
{
- debug.l_en^=0x10;
- popmessage("RBG0 %sabled",debug.l_en & 0x10 ? "en" : "dis");
+ vdpdebug.l_en^=0x10;
+ popmessage("RBG0 %sabled",vdpdebug.l_en & 0x10 ? "en" : "dis");
}
if(screen.machine().input().code_pressed_once(KEYCODE_O))
{
- debug.l_en^=0x20;
- popmessage("SPRITE %sabled",debug.l_en & 0x20 ? "en" : "dis");
+ vdpdebug.l_en^=0x20;
+ popmessage("SPRITE %sabled",vdpdebug.l_en & 0x20 ? "en" : "dis");
}
#endif
@@ -6689,12 +6688,12 @@ SCREEN_UPDATE_RGB32( stv_vdp2 )
/*If a plane has a priority value of zero it isn't shown at all.*/
for(pri=1;pri<8;pri++)
{
- if (debug.l_en & 1) { if(pri==STV_VDP2_N3PRIN) stv_vdp2_draw_NBG3(screen.machine(), state->m_tmpbitmap,cliprect); }
- if (debug.l_en & 2) { if(pri==STV_VDP2_N2PRIN) stv_vdp2_draw_NBG2(screen.machine(), state->m_tmpbitmap,cliprect); }
- if (debug.l_en & 4) { if(pri==STV_VDP2_N1PRIN) stv_vdp2_draw_NBG1(screen.machine(), state->m_tmpbitmap,cliprect); }
- if (debug.l_en & 8) { if(pri==STV_VDP2_N0PRIN) stv_vdp2_draw_NBG0(screen.machine(), state->m_tmpbitmap,cliprect); }
- if (debug.l_en & 0x10) { if(pri==STV_VDP2_R0PRIN) stv_vdp2_draw_RBG0(screen.machine(), state->m_tmpbitmap,cliprect); }
- if (debug.l_en & 0x20) { draw_sprites(screen.machine(),state->m_tmpbitmap,cliprect,pri); }
+ if (vdpdebug.l_en & 1) { if(pri==STV_VDP2_N3PRIN) stv_vdp2_draw_NBG3(screen.machine(), state->m_tmpbitmap,cliprect); }
+ if (vdpdebug.l_en & 2) { if(pri==STV_VDP2_N2PRIN) stv_vdp2_draw_NBG2(screen.machine(), state->m_tmpbitmap,cliprect); }
+ if (vdpdebug.l_en & 4) { if(pri==STV_VDP2_N1PRIN) stv_vdp2_draw_NBG1(screen.machine(), state->m_tmpbitmap,cliprect); }
+ if (vdpdebug.l_en & 8) { if(pri==STV_VDP2_N0PRIN) stv_vdp2_draw_NBG0(screen.machine(), state->m_tmpbitmap,cliprect); }
+ if (vdpdebug.l_en & 0x10) { if(pri==STV_VDP2_R0PRIN) stv_vdp2_draw_RBG0(screen.machine(), state->m_tmpbitmap,cliprect); }
+ if (vdpdebug.l_en & 0x20) { draw_sprites(screen.machine(),state->m_tmpbitmap,cliprect,pri); }
}
}
diff --git a/src/mame/video/suna16.c b/src/mame/video/suna16.c
index 730a67012d1..be42e0b7018 100644
--- a/src/mame/video/suna16.c
+++ b/src/mame/video/suna16.c
@@ -89,11 +89,10 @@ WRITE16_MEMBER(suna16_state::bestbest_flipscreen_w)
***************************************************************************/
-VIDEO_START( suna16 )
+void suna16_state::video_start()
{
- suna16_state *state = machine.driver_data<suna16_state>();
- state->m_paletteram = auto_alloc_array(machine, UINT16, machine.total_colors());
+ m_paletteram = auto_alloc_array(machine(), UINT16, machine().total_colors());
}
READ16_MEMBER(suna16_state::suna16_paletteram16_r)
diff --git a/src/mame/video/suna8.c b/src/mame/video/suna8.c
index 3d50299eb29..9f62694ea61 100644
--- a/src/mame/video/suna8.c
+++ b/src/mame/video/suna8.c
@@ -205,9 +205,9 @@ static void suna8_vh_start_common(running_machine &machine, int dim)
#endif
}
-VIDEO_START( suna8_textdim0 ) { suna8_vh_start_common(machine, 0); }
-VIDEO_START( suna8_textdim8 ) { suna8_vh_start_common(machine, 8); }
-VIDEO_START( suna8_textdim12 ) { suna8_vh_start_common(machine, 12); }
+VIDEO_START_MEMBER(suna8_state,suna8_textdim0){ suna8_vh_start_common(machine(), 0); }
+VIDEO_START_MEMBER(suna8_state,suna8_textdim8){ suna8_vh_start_common(machine(), 8); }
+VIDEO_START_MEMBER(suna8_state,suna8_textdim12){ suna8_vh_start_common(machine(), 12); }
/***************************************************************************
diff --git a/src/mame/video/superchs.c b/src/mame/video/superchs.c
index d183c3a9129..0173c78779e 100644
--- a/src/mame/video/superchs.c
+++ b/src/mame/video/superchs.c
@@ -2,10 +2,9 @@
#include "video/taitoic.h"
#include "includes/superchs.h"
-VIDEO_START( superchs )
+void superchs_state::video_start()
{
- superchs_state *state = machine.driver_data<superchs_state>();
- state->m_spritelist = auto_alloc_array(machine, struct tempsprite, 0x4000);
+ m_spritelist = auto_alloc_array(machine(), struct tempsprite, 0x4000);
}
/************************************************************
diff --git a/src/mame/video/superqix.c b/src/mame/video/superqix.c
index aa91ae6204b..992004c2381 100644
--- a/src/mame/video/superqix.c
+++ b/src/mame/video/superqix.c
@@ -47,26 +47,24 @@ TILE_GET_INFO_MEMBER(superqix_state::sqix_get_bg_tile_info)
***************************************************************************/
-VIDEO_START( pbillian )
+VIDEO_START_MEMBER(superqix_state,pbillian)
{
- superqix_state *state = machine.driver_data<superqix_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superqix_state::pb_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(superqix_state::pb_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8,32,32);
}
-VIDEO_START( superqix )
+VIDEO_START_MEMBER(superqix_state,superqix)
{
- superqix_state *state = machine.driver_data<superqix_state>();
- state->m_fg_bitmap[0] = auto_bitmap_ind16_alloc(machine, 256, 256);
- state->m_fg_bitmap[1] = auto_bitmap_ind16_alloc(machine, 256, 256);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superqix_state::sqix_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_bitmap[0] = auto_bitmap_ind16_alloc(machine(), 256, 256);
+ m_fg_bitmap[1] = auto_bitmap_ind16_alloc(machine(), 256, 256);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(superqix_state::sqix_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */
+ m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */
- state->save_item(NAME(state->m_gfxbank));
- state->save_item(NAME(state->m_show_bitmap));
- state->save_item(NAME(*state->m_fg_bitmap[0]));
- state->save_item(NAME(*state->m_fg_bitmap[1]));
+ save_item(NAME(m_gfxbank));
+ save_item(NAME(m_show_bitmap));
+ save_item(NAME(*m_fg_bitmap[0]));
+ save_item(NAME(*m_fg_bitmap[1]));
}
diff --git a/src/mame/video/suprloco.c b/src/mame/video/suprloco.c
index 62aa928ed91..f5b12ac10ea 100644
--- a/src/mame/video/suprloco.c
+++ b/src/mame/video/suprloco.c
@@ -28,9 +28,9 @@
I'm not sure about the resistor values, I'm using the Galaxian ones.
***************************************************************************/
-PALETTE_INIT( suprloco )
+void suprloco_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
@@ -54,15 +54,15 @@ PALETTE_INIT( suprloco )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
/* hack: generate a second bank of sprite palette with red changed to purple */
if (i >= 256)
{
if ((i & 0x0f) == 0x09)
- palette_set_color(machine,i+256,MAKE_RGB(r,g,0xff));
+ palette_set_color(machine(),i+256,MAKE_RGB(r,g,0xff));
else
- palette_set_color(machine,i+256,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i+256,MAKE_RGB(r,g,b));
}
}
}
@@ -94,12 +94,11 @@ TILE_GET_INFO_MEMBER(suprloco_state::get_tile_info)
***************************************************************************/
-VIDEO_START( suprloco )
+void suprloco_state::video_start()
{
- suprloco_state *state = machine.driver_data<suprloco_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprloco_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(suprloco_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_scroll_rows(32);
+ m_bg_tilemap->set_scroll_rows(32);
}
diff --git a/src/mame/video/suprnova.c b/src/mame/video/suprnova.c
index c62b9c87fca..24ba6d8a651 100644
--- a/src/mame/video/suprnova.c
+++ b/src/mame/video/suprnova.c
@@ -346,42 +346,40 @@ WRITE32_MEMBER(skns_state::skns_v3_regs_w)
}
-VIDEO_START(skns)
+void skns_state::video_start()
{
- skns_state *state = machine.driver_data<skns_state>();
- state->m_spritegen = machine.device<sknsspr_device>("spritegen");
+ m_spritegen = machine().device<sknsspr_device>("spritegen");
- state->m_tilemap_A = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skns_state::get_tilemap_A_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64, 64);
- state->m_tilemap_A->set_transparent_pen(0);
+ m_tilemap_A = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skns_state::get_tilemap_A_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64, 64);
+ m_tilemap_A->set_transparent_pen(0);
- state->m_tilemap_B = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skns_state::get_tilemap_B_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64, 64);
- state->m_tilemap_B->set_transparent_pen(0);
+ m_tilemap_B = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(skns_state::get_tilemap_B_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64, 64);
+ m_tilemap_B->set_transparent_pen(0);
- state->m_sprite_bitmap.allocate(1024,1024);
+ m_sprite_bitmap.allocate(1024,1024);
- state->m_tilemap_bitmap_lower.allocate(320,240);
- state->m_tilemap_bitmapflags_lower.allocate(320,240);
+ m_tilemap_bitmap_lower.allocate(320,240);
+ m_tilemap_bitmapflags_lower.allocate(320,240);
- state->m_tilemap_bitmap_higher.allocate(320,240);
- state->m_tilemap_bitmapflags_higher.allocate(320,240);
+ m_tilemap_bitmap_higher.allocate(320,240);
+ m_tilemap_bitmapflags_higher.allocate(320,240);
- machine.gfx[2]->set_granularity(256);
- machine.gfx[3]->set_granularity(256);
+ machine().gfx[2]->set_granularity(256);
+ machine().gfx[3]->set_granularity(256);
}
-VIDEO_RESET( skns )
+void skns_state::video_reset()
{
- skns_state *state = machine.driver_data<skns_state>();
- state->m_depthA = state->m_depthB = 0;
- state->m_use_spc_bright = state->m_use_v3_bright = 1;
- state->m_bright_spc_b= state->m_bright_spc_g = state->m_bright_spc_r = 0x00;
- state->m_bright_spc_b_trans = state->m_bright_spc_g_trans = state->m_bright_spc_r_trans = 0x00;
- state->m_bright_v3_b = state->m_bright_v3_g = state->m_bright_v3_r = 0x00;
- state->m_bright_v3_b_trans = state->m_bright_v3_g_trans = state->m_bright_v3_r_trans = 0x00;
-
- state->m_spc_changed = state->m_v3_changed = state->m_palette_updated = 0;
- state->m_alt_enable_background = state->m_alt_enable_sprites = 1;
+ m_depthA = m_depthB = 0;
+ m_use_spc_bright = m_use_v3_bright = 1;
+ m_bright_spc_b= m_bright_spc_g = m_bright_spc_r = 0x00;
+ m_bright_spc_b_trans = m_bright_spc_g_trans = m_bright_spc_r_trans = 0x00;
+ m_bright_v3_b = m_bright_v3_g = m_bright_v3_r = 0x00;
+ m_bright_v3_b_trans = m_bright_v3_g_trans = m_bright_v3_r_trans = 0x00;
+
+ m_spc_changed = m_v3_changed = m_palette_updated = 0;
+ m_alt_enable_background = m_alt_enable_sprites = 1;
}
static void supernova_draw_a( running_machine &machine, bitmap_ind16 &bitmap, bitmap_ind8 &bitmap_flags, const rectangle &cliprect, int tran )
diff --git a/src/mame/video/suprridr.c b/src/mame/video/suprridr.c
index 64c8f969fc7..3e1793c6c30 100644
--- a/src/mame/video/suprridr.c
+++ b/src/mame/video/suprridr.c
@@ -35,14 +35,13 @@ TILE_GET_INFO_MEMBER(suprridr_state::get_tile_info2)
*
*************************************/
-VIDEO_START( suprridr )
+void suprridr_state::video_start()
{
- suprridr_state *state = machine.driver_data<suprridr_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprridr_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprridr_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_bg_tilemap_noscroll = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprridr_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(suprridr_state::get_tile_info2),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(suprridr_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_bg_tilemap_noscroll = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(suprridr_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
@@ -53,9 +52,9 @@ VIDEO_START( suprridr )
*
*************************************/
-PALETTE_INIT( suprridr )
+void suprridr_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 96; i++)
@@ -77,7 +76,7 @@ PALETTE_INIT( suprridr )
bit1 = (*color_prom >> 7) & 0x01;
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
diff --git a/src/mame/video/suprslam.c b/src/mame/video/suprslam.c
index 5624c001a0f..66d7511e020 100644
--- a/src/mame/video/suprslam.c
+++ b/src/mame/video/suprslam.c
@@ -138,14 +138,13 @@ TILE_GET_INFO_MEMBER(suprslam_state::get_suprslam_bg_tile_info)
}
-VIDEO_START( suprslam )
+void suprslam_state::video_start()
{
- suprslam_state *state = machine.driver_data<suprslam_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprslam_state::get_suprslam_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_screen_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprslam_state::get_suprslam_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(suprslam_state::get_suprslam_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_screen_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(suprslam_state::get_suprslam_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_screen_tilemap->set_transparent_pen(15);
+ m_screen_tilemap->set_transparent_pen(15);
}
SCREEN_UPDATE_IND16( suprslam )
diff --git a/src/mame/video/system1.c b/src/mame/video/system1.c
index ef12b9eefdb..0e1427c41ed 100644
--- a/src/mame/video/system1.c
+++ b/src/mame/video/system1.c
@@ -148,15 +148,15 @@ static void video_start_common(running_machine &machine, int pagecount)
}
-VIDEO_START( system1 )
+void system1_state::video_start()
{
- video_start_common(machine, 2);
+ video_start_common(machine(), 2);
}
-VIDEO_START( system2 )
+VIDEO_START_MEMBER(system1_state,system2)
{
- video_start_common(machine, 8);
+ video_start_common(machine(), 8);
}
diff --git a/src/mame/video/system16.c b/src/mame/video/system16.c
index d7a1e132699..8c0cac79484 100644
--- a/src/mame/video/system16.c
+++ b/src/mame/video/system16.c
@@ -363,108 +363,106 @@ WRITE16_MEMBER(segas1x_bootleg_state::sys16_textram_w)
/***************************************************************************/
-VIDEO_START( system16 )
+VIDEO_START_MEMBER(segas1x_bootleg_state,system16)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
/* Normal colors */
compute_resistor_weights(0, 255, -1.0,
- 6, resistances_normal, state->m_weights[0][0], 0, 0,
- 6, resistances_normal, state->m_weights[0][1], 0, 0,
- 6, resistances_normal, state->m_weights[0][2], 0, 0
+ 6, resistances_normal, m_weights[0][0], 0, 0,
+ 6, resistances_normal, m_weights[0][1], 0, 0,
+ 6, resistances_normal, m_weights[0][2], 0, 0
);
/* Shadow/Highlight colors */
compute_resistor_weights(0, 255, -1.0,
- 6, resistances_sh, state->m_weights[1][0], 0, 0,
- 6, resistances_sh, state->m_weights[1][1], 0, 0,
- 6, resistances_sh, state->m_weights[1][2], 0, 0
+ 6, resistances_sh, m_weights[1][0], 0, 0,
+ 6, resistances_sh, m_weights[1][1], 0, 0,
+ 6, resistances_sh, m_weights[1][2], 0, 0
);
- if (!state->m_bg1_trans)
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
+ if (!m_bg1_trans)
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
else
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_text_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_text_map),state),
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_text_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_text_map),this),
8,8,
40,28 );
{
- if (state->m_bg1_trans) state->m_background->set_transparent_pen(0);
- state->m_foreground->set_transparent_pen(0);
- state->m_text_layer->set_transparent_pen(0);
+ if (m_bg1_trans) m_background->set_transparent_pen(0);
+ m_foreground->set_transparent_pen(0);
+ m_text_layer->set_transparent_pen(0);
- state->m_tile_bank0 = 0;
- state->m_tile_bank1 = 1;
+ m_tile_bank0 = 0;
+ m_tile_bank1 = 1;
- state->m_fg_scrollx = 0;
- state->m_fg_scrolly = 0;
+ m_fg_scrollx = 0;
+ m_fg_scrolly = 0;
- state->m_bg_scrollx = 0;
- state->m_bg_scrolly = 0;
+ m_bg_scrollx = 0;
+ m_bg_scrolly = 0;
- state->m_refreshenable = 1;
+ m_refreshenable = 1;
/* common defaults */
- state->m_tilebank_switch = 0x1000;
+ m_tilebank_switch = 0x1000;
// Defaults for sys16 games
- state->m_textlayer_lo_min = 0;
- state->m_textlayer_lo_max = 0x7f;
- state->m_textlayer_hi_min = 0x80;
- state->m_textlayer_hi_max = 0xff;
+ m_textlayer_lo_min = 0;
+ m_textlayer_lo_max = 0x7f;
+ m_textlayer_hi_min = 0x80;
+ m_textlayer_hi_max = 0xff;
- state->m_system18 = 0;
+ m_system18 = 0;
}
- setup_system16_bootleg_spritebanking(machine);
+ setup_system16_bootleg_spritebanking(machine());
}
-VIDEO_START( system18old )
+VIDEO_START_MEMBER(segas1x_bootleg_state,system18old)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- VIDEO_START_CALL(system16);
+ VIDEO_START_CALL_MEMBER(system16);
- state->m_bg1_trans = 1;
+ m_bg1_trans = 1;
- state->m_background2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
+ m_background2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
- state->m_foreground2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_fg2_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
+ m_foreground2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_fg2_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
- state->m_foreground2->set_transparent_pen(0);
+ m_foreground2->set_transparent_pen(0);
- if (state->m_splittab_fg_x)
+ if (m_splittab_fg_x)
{
- state->m_foreground ->set_scroll_rows(64);
- state->m_foreground2 ->set_scroll_rows(64);
+ m_foreground ->set_scroll_rows(64);
+ m_foreground2 ->set_scroll_rows(64);
}
- if (state->m_splittab_bg_x)
+ if (m_splittab_bg_x)
{
- state->m_background ->set_scroll_rows(64);
- state->m_background2 ->set_scroll_rows(64);
+ m_background ->set_scroll_rows(64);
+ m_background2 ->set_scroll_rows(64);
}
- state->m_textlayer_lo_min = 0;
- state->m_textlayer_lo_max = 0x1f;
- state->m_textlayer_hi_min = 0x20;
- state->m_textlayer_hi_max = 0xff;
+ m_textlayer_lo_min = 0;
+ m_textlayer_lo_max = 0x1f;
+ m_textlayer_hi_min = 0x20;
+ m_textlayer_hi_max = 0xff;
- state->m_system18 = 1;
+ m_system18 = 1;
}
@@ -557,53 +555,52 @@ WRITE16_MEMBER(segas1x_bootleg_state::s16a_bootleg_tilemapselect_w)
}
-VIDEO_START( s16a_bootleg )
+VIDEO_START_MEMBER(segas1x_bootleg_state,s16a_bootleg)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
/* Normal colors */
compute_resistor_weights(0, 255, -1.0,
- 6, resistances_normal, state->m_weights[0][0], 0, 0,
- 6, resistances_normal, state->m_weights[0][1], 0, 0,
- 6, resistances_normal, state->m_weights[0][2], 0, 0
+ 6, resistances_normal, m_weights[0][0], 0, 0,
+ 6, resistances_normal, m_weights[0][1], 0, 0,
+ 6, resistances_normal, m_weights[0][2], 0, 0
);
/* Shadow/Highlight colors */
compute_resistor_weights(0, 255, -1.0,
- 6, resistances_sh, state->m_weights[1][0], 0, 0,
- 6, resistances_sh, state->m_weights[1][1], 0, 0,
- 6, resistances_sh, state->m_weights[1][2], 0, 0
+ 6, resistances_sh, m_weights[1][0], 0, 0,
+ 6, resistances_sh, m_weights[1][1], 0, 0,
+ 6, resistances_sh, m_weights[1][2], 0, 0
);
- state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_s16a_bootleg_tile_infotxt),state), TILEMAP_SCAN_ROWS, 8,8, 64,32 );
+ m_text_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_s16a_bootleg_tile_infotxt),this), TILEMAP_SCAN_ROWS, 8,8, 64,32 );
// the system16a bootlegs have simple tilemaps instead of the paged system
- state->m_bg_tilemaps[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_s16a_bootleg_tile_info0),state), TILEMAP_SCAN_ROWS, 8,8, 64,32 );
- state->m_bg_tilemaps[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_s16a_bootleg_tile_info1),state), TILEMAP_SCAN_ROWS, 8,8, 64,32 );
+ m_bg_tilemaps[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_s16a_bootleg_tile_info0),this), TILEMAP_SCAN_ROWS, 8,8, 64,32 );
+ m_bg_tilemaps[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_s16a_bootleg_tile_info1),this), TILEMAP_SCAN_ROWS, 8,8, 64,32 );
- state->m_text_tilemap->set_transparent_pen(0);
- state->m_bg_tilemaps[0]->set_transparent_pen(0);
- state->m_bg_tilemaps[1]->set_transparent_pen(0);
+ m_text_tilemap->set_transparent_pen(0);
+ m_bg_tilemaps[0]->set_transparent_pen(0);
+ m_bg_tilemaps[1]->set_transparent_pen(0);
}
-VIDEO_START( s16a_bootleg_wb3bl )
+VIDEO_START_MEMBER(segas1x_bootleg_state,s16a_bootleg_wb3bl)
{
- VIDEO_START_CALL(s16a_bootleg);
- setup_system16_bootleg_spritebanking(machine);
+ VIDEO_START_CALL_MEMBER(s16a_bootleg);
+ setup_system16_bootleg_spritebanking(machine());
}
-VIDEO_START( s16a_bootleg_shinobi )
+VIDEO_START_MEMBER(segas1x_bootleg_state,s16a_bootleg_shinobi)
{
- VIDEO_START_CALL(s16a_bootleg);
- setup_system16_bootleg_spritebanking(machine);
+ VIDEO_START_CALL_MEMBER(s16a_bootleg);
+ setup_system16_bootleg_spritebanking(machine());
}
-VIDEO_START( s16a_bootleg_passsht )
+VIDEO_START_MEMBER(segas1x_bootleg_state,s16a_bootleg_passsht)
{
- VIDEO_START_CALL(s16a_bootleg);
- setup_system16_bootleg_spritebanking(machine);
+ VIDEO_START_CALL_MEMBER(s16a_bootleg);
+ setup_system16_bootleg_spritebanking(machine());
}
// Passing Shot (2 player), Shinobi (Datsu), Wonderboy 3
diff --git a/src/mame/video/tagteam.c b/src/mame/video/tagteam.c
index 16892f5409a..4fc79c9b3b0 100644
--- a/src/mame/video/tagteam.c
+++ b/src/mame/video/tagteam.c
@@ -32,14 +32,14 @@ static const res_net_decode_info tagteam_decode_info =
{ 0x07, 0x07, 0x03 } /* masks */
};
-PALETTE_INIT( tagteam )
+void tagteam_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t *rgb;
- rgb = compute_res_net_all(machine, color_prom, &tagteam_decode_info, &tagteam_net_info);
- palette_set_colors(machine, 0x00, rgb, 0x20);
- auto_free(machine, rgb);
+ rgb = compute_res_net_all(machine(), color_prom, &tagteam_decode_info, &tagteam_net_info);
+ palette_set_colors(machine(), 0x00, rgb, 0x20);
+ auto_free(machine(), rgb);
}
@@ -135,10 +135,9 @@ TILE_GET_INFO_MEMBER(tagteam_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( tagteam )
+void tagteam_state::video_start()
{
- tagteam_state *state = machine.driver_data<tagteam_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tagteam_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tagteam_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS_FLIP_X,
8, 8, 32, 32);
}
diff --git a/src/mame/video/tail2nos.c b/src/mame/video/tail2nos.c
index defd3bf893a..165b0f43999 100644
--- a/src/mame/video/tail2nos.c
+++ b/src/mame/video/tail2nos.c
@@ -53,18 +53,17 @@ static void tail2nos_postload(running_machine &machine)
}
}
-VIDEO_START( tail2nos )
+void tail2nos_state::video_start()
{
- tail2nos_state *state = machine.driver_data<tail2nos_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tail2nos_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tail2nos_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_transparent_pen(15);
+ m_bg_tilemap->set_transparent_pen(15);
- state->m_zoomdata = (UINT16 *)state->memregion("gfx3")->base();
+ m_zoomdata = (UINT16 *)memregion("gfx3")->base();
- state->save_pointer(NAME(state->m_zoomdata), 0x20000 / 2);
- machine.save().register_postload(save_prepost_delegate(FUNC(tail2nos_postload), &machine));
+ save_pointer(NAME(m_zoomdata), 0x20000 / 2);
+ machine().save().register_postload(save_prepost_delegate(FUNC(tail2nos_postload), &machine()));
}
diff --git a/src/mame/video/taito_b.c b/src/mame/video/taito_b.c
index 676904f92db..c42aae5a6ff 100644
--- a/src/mame/video/taito_b.c
+++ b/src/mame/video/taito_b.c
@@ -38,81 +38,75 @@ WRITE16_MEMBER(taitob_state::realpunc_video_ctrl_w)
COMBINE_DATA(&m_realpunc_video_ctrl);
}
-static VIDEO_START( taitob_core )
+VIDEO_START_MEMBER(taitob_state,taitob_core)
{
- taitob_state *state = machine.driver_data<taitob_state>();
- state->m_framebuffer[0] = auto_bitmap_ind16_alloc(machine, 512, 256);
- state->m_framebuffer[1] = auto_bitmap_ind16_alloc(machine, 512, 256);
- state->m_pixel_bitmap = NULL; /* only hitice needs this */
+ m_framebuffer[0] = auto_bitmap_ind16_alloc(machine(), 512, 256);
+ m_framebuffer[1] = auto_bitmap_ind16_alloc(machine(), 512, 256);
+ m_pixel_bitmap = NULL; /* only hitice needs this */
- state->save_item(NAME(state->m_pixel_scroll));
+ save_item(NAME(m_pixel_scroll));
- state->save_item(NAME(*state->m_framebuffer[0]));
- state->save_item(NAME(*state->m_framebuffer[1]));
+ save_item(NAME(*m_framebuffer[0]));
+ save_item(NAME(*m_framebuffer[1]));
}
-VIDEO_START( taitob_color_order0 )
+VIDEO_START_MEMBER(taitob_state,taitob_color_order0)
{
/*graphics are shared, only that they use different palette*/
/*this is the basic layout used in: Nastar, Ashura Blaster, Hit the Ice, Rambo3, Tetris*/
/*Note that in both this and color order 1 pixel_color_base/color_granularity is equal to sprites color base. Pure coincidence? */
- taitob_state *state = machine.driver_data<taitob_state>();
- state->m_b_sp_color_base = 0x40 * 16; /*sprites */
+ m_b_sp_color_base = 0x40 * 16; /*sprites */
/* bg, fg, tx color_base are set in the tc0180vcu interface */
- VIDEO_START_CALL(taitob_core);
+ VIDEO_START_CALL_MEMBER(taitob_core);
}
-VIDEO_START( taitob_color_order1 )
+VIDEO_START_MEMBER(taitob_state,taitob_color_order1)
{
/* this is the reversed layout used in: Crime City, Puzzle Bobble */
- taitob_state *state = machine.driver_data<taitob_state>();
- state->m_b_sp_color_base = 0x80 * 16;
+ m_b_sp_color_base = 0x80 * 16;
- VIDEO_START_CALL(taitob_core);
+ VIDEO_START_CALL_MEMBER(taitob_core);
}
-VIDEO_START( taitob_color_order2 )
+VIDEO_START_MEMBER(taitob_state,taitob_color_order2)
{
/*this is used in: rambo3a, masterw, silentd, selfeena, ryujin */
- taitob_state *state = machine.driver_data<taitob_state>();
- state->m_b_sp_color_base = 0x10 * 16;
+ m_b_sp_color_base = 0x10 * 16;
- VIDEO_START_CALL(taitob_core);
+ VIDEO_START_CALL_MEMBER(taitob_core);
}
-VIDEO_START( hitice )
+VIDEO_START_MEMBER(taitob_state,hitice)
{
- taitob_state *state = machine.driver_data<taitob_state>();
- VIDEO_START_CALL(taitob_color_order0);
+ VIDEO_START_CALL_MEMBER(taitob_color_order0);
- state->m_b_fg_color_base = 0x80; /* hitice also uses this for the pixel_bitmap */
+ m_b_fg_color_base = 0x80; /* hitice also uses this for the pixel_bitmap */
- state->m_pixel_bitmap = auto_bitmap_ind16_alloc(machine, 1024, 512);
+ m_pixel_bitmap = auto_bitmap_ind16_alloc(machine(), 1024, 512);
- state->save_item(NAME(*state->m_pixel_bitmap));
+ save_item(NAME(*m_pixel_bitmap));
}
-VIDEO_RESET( hitice )
+VIDEO_RESET_MEMBER(taitob_state,hitice)
{
/* kludge: clear the bitmap on startup */
- hitice_clear_pixel_bitmap(machine);
+ hitice_clear_pixel_bitmap(machine());
}
-VIDEO_START( realpunc )
+VIDEO_START_MEMBER(taitob_state,realpunc)
{
- taitob_state *state = machine.driver_data<taitob_state>();
- state->m_realpunc_bitmap = auto_bitmap_ind16_alloc(machine, machine.primary_screen->width(), machine.primary_screen->height());
+ m_realpunc_bitmap = auto_bitmap_ind16_alloc(machine(), machine().primary_screen->width(), machine().primary_screen->height());
- VIDEO_START_CALL(taitob_color_order0);
+ VIDEO_START_CALL_MEMBER(taitob_color_order0);
}
diff --git a/src/mame/video/taito_f2.c b/src/mame/video/taito_f2.c
index 10b7b8f14f4..75f4e41f02e 100644
--- a/src/mame/video/taito_f2.c
+++ b/src/mame/video/taito_f2.c
@@ -75,148 +75,142 @@ static void taitof2_core_vh_start (running_machine &machine, int sprite_type, in
/* ( spritetype, hide, hideflip, xoffs, yoffs, flipx, flipy, textflipx, textflipy) */
/**************************************************************************************/
-VIDEO_START( taitof2_default )
+VIDEO_START_MEMBER(taitof2_state,taitof2_default)
{
- taitof2_core_vh_start(machine, 0, 0, 0);
+ taitof2_core_vh_start(machine(), 0, 0, 0);
}
-VIDEO_START( taitof2_megab ) /* Megab, Liquidk */
+VIDEO_START_MEMBER(taitof2_state,taitof2_megab)/* Megab, Liquidk */
{
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
-VIDEO_START( taitof2_quiz ) /* Quiz Crayons, Quiz Jinsei */
+VIDEO_START_MEMBER(taitof2_state,taitof2_quiz)/* Quiz Crayons, Quiz Jinsei */
{
- taitof2_core_vh_start(machine, 3, 3, 3);
+ taitof2_core_vh_start(machine(), 3, 3, 3);
}
-VIDEO_START( taitof2_finalb )
+VIDEO_START_MEMBER(taitof2_state,taitof2_finalb)
{
- taitof2_core_vh_start(machine, 0, 1, 1);
+ taitof2_core_vh_start(machine(), 0, 1, 1);
}
-VIDEO_START( taitof2_ssi )
+VIDEO_START_MEMBER(taitof2_state,taitof2_ssi)
{
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
-VIDEO_START( taitof2_growl )
+VIDEO_START_MEMBER(taitof2_state,taitof2_growl)
{
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
-VIDEO_START( taitof2_ninjak )
+VIDEO_START_MEMBER(taitof2_state,taitof2_ninjak)
{
- taitof2_core_vh_start(machine, 0, 0, 0);
+ taitof2_core_vh_start(machine(), 0, 0, 0);
}
-VIDEO_START( taitof2_qzchikyu )
+VIDEO_START_MEMBER(taitof2_state,taitof2_qzchikyu)
{
- taitof2_core_vh_start(machine, 0, 0, 4);
+ taitof2_core_vh_start(machine(), 0, 0, 4);
}
-VIDEO_START( taitof2_solfigtr )
+VIDEO_START_MEMBER(taitof2_state,taitof2_solfigtr)
{
- taitof2_core_vh_start(machine, 0, 3, -3);
+ taitof2_core_vh_start(machine(), 0, 3, -3);
}
-VIDEO_START( taitof2_koshien )
+VIDEO_START_MEMBER(taitof2_state,taitof2_koshien)
{
- taitof2_core_vh_start(machine, 0, 1, - 1);
+ taitof2_core_vh_start(machine(), 0, 1, - 1);
}
-VIDEO_START( taitof2_gunfront )
+VIDEO_START_MEMBER(taitof2_state,taitof2_gunfront)
{
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
-VIDEO_START( taitof2_thundfox )
+VIDEO_START_MEMBER(taitof2_state,taitof2_thundfox)
{
- taitof2_core_vh_start(machine, 0, 3, -3);
+ taitof2_core_vh_start(machine(), 0, 3, -3);
}
-VIDEO_START( taitof2_mjnquest )
+VIDEO_START_MEMBER(taitof2_state,taitof2_mjnquest)
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- taitof2_core_vh_start(machine, 0, 0, 0);
+ taitof2_core_vh_start(machine(), 0, 0, 0);
- tc0100scn_set_bg_tilemask(state->m_tc0100scn, 0x7fff);
+ tc0100scn_set_bg_tilemask(m_tc0100scn, 0x7fff);
}
-VIDEO_START( taitof2_footchmp )
+VIDEO_START_MEMBER(taitof2_state,taitof2_footchmp)
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
- state->m_game = FOOTCHMP;
+ m_game = FOOTCHMP;
}
-VIDEO_START( taitof2_hthero )
+VIDEO_START_MEMBER(taitof2_state,taitof2_hthero)
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
- state->m_game = FOOTCHMP;
+ m_game = FOOTCHMP;
}
-VIDEO_START( taitof2_deadconx )
+VIDEO_START_MEMBER(taitof2_state,taitof2_deadconx)
{
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
-VIDEO_START( taitof2_deadconxj )
+VIDEO_START_MEMBER(taitof2_state,taitof2_deadconxj)
{
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
-VIDEO_START( taitof2_metalb )
+VIDEO_START_MEMBER(taitof2_state,taitof2_metalb)
{
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
-VIDEO_START( taitof2_yuyugogo )
+VIDEO_START_MEMBER(taitof2_state,taitof2_yuyugogo)
{
- taitof2_core_vh_start(machine, 1, 3, 3);
+ taitof2_core_vh_start(machine(), 1, 3, 3);
}
-VIDEO_START( taitof2_yesnoj )
+VIDEO_START_MEMBER(taitof2_state,taitof2_yesnoj)
{
- taitof2_core_vh_start(machine, 0, 3, 3);
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
-VIDEO_START( taitof2_dinorex )
+VIDEO_START_MEMBER(taitof2_state,taitof2_dinorex)
{
- taitof2_core_vh_start(machine, 3, 3, 3);
+ taitof2_core_vh_start(machine(), 3, 3, 3);
}
-VIDEO_START( taitof2_dondokod ) /* dondokod, cameltry */
+VIDEO_START_MEMBER(taitof2_state,taitof2_dondokod)/* dondokod, cameltry */
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- state->m_pivot_xdisp = -16;
- state->m_pivot_ydisp = 0;
- taitof2_core_vh_start(machine, 0, 3, 3);
+ m_pivot_xdisp = -16;
+ m_pivot_ydisp = 0;
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
-VIDEO_START( taitof2_pulirula )
+VIDEO_START_MEMBER(taitof2_state,taitof2_pulirula)
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- state->m_pivot_xdisp = -10; /* alignment seems correct (see level 2, falling */
- state->m_pivot_ydisp = 16; /* block of ice after armour man) */
- taitof2_core_vh_start(machine, 2, 3, 3);
+ m_pivot_xdisp = -10; /* alignment seems correct (see level 2, falling */
+ m_pivot_ydisp = 16; /* block of ice after armour man) */
+ taitof2_core_vh_start(machine(), 2, 3, 3);
}
-VIDEO_START( taitof2_driftout )
+VIDEO_START_MEMBER(taitof2_state,taitof2_driftout)
{
- taitof2_state *state = machine.driver_data<taitof2_state>();
- state->m_pivot_xdisp = -16;
- state->m_pivot_ydisp = 16;
- taitof2_core_vh_start(machine, 0, 3, 3);
+ m_pivot_xdisp = -16;
+ m_pivot_ydisp = 16;
+ taitof2_core_vh_start(machine(), 0, 3, 3);
}
diff --git a/src/mame/video/taito_f3.c b/src/mame/video/taito_f3.c
index 8f327514003..d6ed5fe0c5c 100644
--- a/src/mame/video/taito_f3.c
+++ b/src/mame/video/taito_f3.c
@@ -529,147 +529,146 @@ SCREEN_VBLANK( f3 )
}
}
-VIDEO_START( f3 )
+VIDEO_START_MEMBER(taito_f3_state,f3)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
const struct F3config *pCFG=&f3_config_table[0];
int i;
- state->m_f3_alpha_level_2as=127;
- state->m_f3_alpha_level_2ad=127;
- state->m_f3_alpha_level_3as=127;
- state->m_f3_alpha_level_3ad=127;
- state->m_f3_alpha_level_2bs=127;
- state->m_f3_alpha_level_2bd=127;
- state->m_f3_alpha_level_3bs=127;
- state->m_f3_alpha_level_3bd=127;
- state->m_alpha_level_last = -1;
-
- state->m_pdest_2a = 0x10;
- state->m_pdest_2b = 0x20;
- state->m_tr_2a = 0;
- state->m_tr_2b = 1;
- state->m_pdest_3a = 0x40;
- state->m_pdest_3b = 0x80;
- state->m_tr_3a = 0;
- state->m_tr_3b = 1;
-
- state->m_spritelist=0;
- state->m_spriteram16_buffered=0;
- state->m_pf_line_inf=0;
- state->m_tile_opaque_sp=0;
+ m_f3_alpha_level_2as=127;
+ m_f3_alpha_level_2ad=127;
+ m_f3_alpha_level_3as=127;
+ m_f3_alpha_level_3ad=127;
+ m_f3_alpha_level_2bs=127;
+ m_f3_alpha_level_2bd=127;
+ m_f3_alpha_level_3bs=127;
+ m_f3_alpha_level_3bd=127;
+ m_alpha_level_last = -1;
+
+ m_pdest_2a = 0x10;
+ m_pdest_2b = 0x20;
+ m_tr_2a = 0;
+ m_tr_2b = 1;
+ m_pdest_3a = 0x40;
+ m_pdest_3b = 0x80;
+ m_tr_3a = 0;
+ m_tr_3b = 1;
+
+ m_spritelist=0;
+ m_spriteram16_buffered=0;
+ m_pf_line_inf=0;
+ m_tile_opaque_sp=0;
/* Setup individual game */
do {
- if (pCFG->name==state->m_f3_game)
+ if (pCFG->name==m_f3_game)
{
break;
}
pCFG++;
} while(pCFG->name);
- state->m_f3_game_config=pCFG;
+ m_f3_game_config=pCFG;
- state->m_f3_vram = auto_alloc_array_clear(machine, UINT16, 0x2000/2);
- state->m_f3_pf_data = auto_alloc_array_clear(machine, UINT16, 0xc000/2);
- state->m_videoram = auto_alloc_array_clear(machine, UINT16, 0x2000/2);
- state->m_f3_line_ram = auto_alloc_array_clear(machine, UINT16, 0x10000/2);
- state->m_f3_pivot_ram = auto_alloc_array_clear(machine, UINT16, 0x10000/2);
- state->m_spriteram = auto_alloc_array_clear(machine, UINT16, 0x10000/2);
+ m_f3_vram = auto_alloc_array_clear(machine(), UINT16, 0x2000/2);
+ m_f3_pf_data = auto_alloc_array_clear(machine(), UINT16, 0xc000/2);
+ m_videoram = auto_alloc_array_clear(machine(), UINT16, 0x2000/2);
+ m_f3_line_ram = auto_alloc_array_clear(machine(), UINT16, 0x10000/2);
+ m_f3_pivot_ram = auto_alloc_array_clear(machine(), UINT16, 0x10000/2);
+ m_spriteram = auto_alloc_array_clear(machine(), UINT16, 0x10000/2);
- if (state->m_f3_game_config->extend) {
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pf3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info3),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pf4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info4),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ if (m_f3_game_config->extend) {
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info1),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pf2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info2),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pf3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info3),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pf4_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info4),this),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_f3_pf_data_1=state->m_f3_pf_data+(0x0000/2);
- state->m_f3_pf_data_2=state->m_f3_pf_data+(0x2000/2);
- state->m_f3_pf_data_3=state->m_f3_pf_data+(0x4000/2);
- state->m_f3_pf_data_4=state->m_f3_pf_data+(0x6000/2);
+ m_f3_pf_data_1=m_f3_pf_data+(0x0000/2);
+ m_f3_pf_data_2=m_f3_pf_data+(0x2000/2);
+ m_f3_pf_data_3=m_f3_pf_data+(0x4000/2);
+ m_f3_pf_data_4=m_f3_pf_data+(0x6000/2);
- state->m_width_mask=0x3ff;
- state->m_twidth_mask=0x7f;
- state->m_twidth_mask_bit=7;
+ m_width_mask=0x3ff;
+ m_twidth_mask=0x7f;
+ m_twidth_mask_bit=7;
- state->m_pf1_tilemap->set_transparent_pen(0);
- state->m_pf2_tilemap->set_transparent_pen(0);
- state->m_pf3_tilemap->set_transparent_pen(0);
- state->m_pf4_tilemap->set_transparent_pen(0);
+ m_pf1_tilemap->set_transparent_pen(0);
+ m_pf2_tilemap->set_transparent_pen(0);
+ m_pf3_tilemap->set_transparent_pen(0);
+ m_pf4_tilemap->set_transparent_pen(0);
} else {
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info3),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info4),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf5_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info5),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf6_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info6),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf7_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info7),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf8_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info8),state),TILEMAP_SCAN_ROWS,16,16,32,32);
-
- state->m_f3_pf_data_1=state->m_f3_pf_data+(0x0000/2);
- state->m_f3_pf_data_2=state->m_f3_pf_data+(0x1000/2);
- state->m_f3_pf_data_3=state->m_f3_pf_data+(0x2000/2);
- state->m_f3_pf_data_4=state->m_f3_pf_data+(0x3000/2);
- state->m_f3_pf_data_5=state->m_f3_pf_data+(0x4000/2);
- state->m_f3_pf_data_6=state->m_f3_pf_data+(0x5000/2);
- state->m_f3_pf_data_7=state->m_f3_pf_data+(0x6000/2);
- state->m_f3_pf_data_8=state->m_f3_pf_data+(0x7000/2);
-
- state->m_width_mask=0x1ff;
- state->m_twidth_mask=0x3f;
- state->m_twidth_mask_bit=6;
-
- state->m_pf1_tilemap->set_transparent_pen(0);
- state->m_pf2_tilemap->set_transparent_pen(0);
- state->m_pf3_tilemap->set_transparent_pen(0);
- state->m_pf4_tilemap->set_transparent_pen(0);
- state->m_pf5_tilemap->set_transparent_pen(0);
- state->m_pf6_tilemap->set_transparent_pen(0);
- state->m_pf7_tilemap->set_transparent_pen(0);
- state->m_pf8_tilemap->set_transparent_pen(0);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info1),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_pf2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info2),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_pf3_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info3),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_pf4_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info4),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_pf5_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info5),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_pf6_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info6),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_pf7_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info7),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_pf8_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info8),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+
+ m_f3_pf_data_1=m_f3_pf_data+(0x0000/2);
+ m_f3_pf_data_2=m_f3_pf_data+(0x1000/2);
+ m_f3_pf_data_3=m_f3_pf_data+(0x2000/2);
+ m_f3_pf_data_4=m_f3_pf_data+(0x3000/2);
+ m_f3_pf_data_5=m_f3_pf_data+(0x4000/2);
+ m_f3_pf_data_6=m_f3_pf_data+(0x5000/2);
+ m_f3_pf_data_7=m_f3_pf_data+(0x6000/2);
+ m_f3_pf_data_8=m_f3_pf_data+(0x7000/2);
+
+ m_width_mask=0x1ff;
+ m_twidth_mask=0x3f;
+ m_twidth_mask_bit=6;
+
+ m_pf1_tilemap->set_transparent_pen(0);
+ m_pf2_tilemap->set_transparent_pen(0);
+ m_pf3_tilemap->set_transparent_pen(0);
+ m_pf4_tilemap->set_transparent_pen(0);
+ m_pf5_tilemap->set_transparent_pen(0);
+ m_pf6_tilemap->set_transparent_pen(0);
+ m_pf7_tilemap->set_transparent_pen(0);
+ m_pf8_tilemap->set_transparent_pen(0);
}
- state->m_spriteram16_buffered = auto_alloc_array(machine, UINT16, 0x10000/2);
- state->m_spritelist = auto_alloc_array(machine, struct tempsprite, 0x400);
- state->m_sprite_end = state->m_spritelist;
- state->m_vram_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info_vram),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pixel_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info_pixel),state),TILEMAP_SCAN_COLS,8,8,64,32);
- state->m_pf_line_inf = auto_alloc_array(machine, struct f3_playfield_line_inf, 5);
- state->m_sa_line_inf = auto_alloc_array(machine, struct f3_spritealpha_line_inf, 1);
- machine.primary_screen->register_screen_bitmap(state->m_pri_alp_bitmap);
- state->m_tile_opaque_sp = auto_alloc_array(machine, UINT8, machine.gfx[2]->elements());
+ m_spriteram16_buffered = auto_alloc_array(machine(), UINT16, 0x10000/2);
+ m_spritelist = auto_alloc_array(machine(), struct tempsprite, 0x400);
+ m_sprite_end = m_spritelist;
+ m_vram_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info_vram),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_pixel_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info_pixel),this),TILEMAP_SCAN_COLS,8,8,64,32);
+ m_pf_line_inf = auto_alloc_array(machine(), struct f3_playfield_line_inf, 5);
+ m_sa_line_inf = auto_alloc_array(machine(), struct f3_spritealpha_line_inf, 1);
+ machine().primary_screen->register_screen_bitmap(m_pri_alp_bitmap);
+ m_tile_opaque_sp = auto_alloc_array(machine(), UINT8, machine().gfx[2]->elements());
for (i=0; i<8; i++)
- state->m_tile_opaque_pf[i] = auto_alloc_array(machine, UINT8, machine.gfx[1]->elements());
+ m_tile_opaque_pf[i] = auto_alloc_array(machine(), UINT8, machine().gfx[1]->elements());
- state->m_vram_layer->set_transparent_pen(0);
- state->m_pixel_layer->set_transparent_pen(0);
+ m_vram_layer->set_transparent_pen(0);
+ m_pixel_layer->set_transparent_pen(0);
/* Palettes have 4 bpp indexes despite up to 6 bpp data. The unused */
/* top bits in the gfx data are cleared later. */
- machine.gfx[1]->set_granularity(16);
- machine.gfx[2]->set_granularity(16);
+ machine().gfx[1]->set_granularity(16);
+ machine().gfx[2]->set_granularity(16);
- state->m_flipscreen = 0;
- memset(state->m_spriteram16_buffered,0,0x10000);
- memset(state->m_spriteram,0,0x10000);
+ m_flipscreen = 0;
+ memset(m_spriteram16_buffered,0,0x10000);
+ memset(m_spriteram,0,0x10000);
- state_save_register_global_array(machine, state->m_f3_control_0);
- state_save_register_global_array(machine, state->m_f3_control_1);
+ state_save_register_global_array(machine(), m_f3_control_0);
+ state_save_register_global_array(machine(), m_f3_control_1);
- machine.gfx[0]->set_source((UINT8 *)state->m_f3_vram);
- machine.gfx[3]->set_source((UINT8 *)state->m_f3_pivot_ram);
+ machine().gfx[0]->set_source((UINT8 *)m_f3_vram);
+ machine().gfx[3]->set_source((UINT8 *)m_f3_pivot_ram);
- state->m_f3_skip_this_frame=0;
+ m_f3_skip_this_frame=0;
- state->m_sprite_lag=state->m_f3_game_config->sprite_lag;
+ m_sprite_lag=m_f3_game_config->sprite_lag;
- init_alpha_blend_func(machine);
+ init_alpha_blend_func(machine());
{
- gfx_element *sprite_gfx = machine.gfx[2];
+ gfx_element *sprite_gfx = machine().gfx[2];
int c;
for (c = 0;c < sprite_gfx->elements();c++)
@@ -686,14 +685,14 @@ VIDEO_START( f3 )
}
dp += sprite_gfx->rowbytes();
}
- if(chk_trans_or_opa==1) state->m_tile_opaque_sp[c]=1;
- else state->m_tile_opaque_sp[c]=0;
+ if(chk_trans_or_opa==1) m_tile_opaque_sp[c]=1;
+ else m_tile_opaque_sp[c]=0;
}
}
{
- gfx_element *pf_gfx = machine.gfx[1];
+ gfx_element *pf_gfx = machine().gfx[1];
int c;
for (c = 0;c < pf_gfx->elements();c++)
@@ -718,7 +717,7 @@ VIDEO_START( f3 )
}
dp += pf_gfx->rowbytes();
}
- state->m_tile_opaque_pf[extra_planes][c]=chk_trans_or_opa;
+ m_tile_opaque_pf[extra_planes][c]=chk_trans_or_opa;
}
}
}
diff --git a/src/mame/video/taito_l.c b/src/mame/video/taito_l.c
index 5329d8d8d5d..a2f50d2948d 100644
--- a/src/mame/video/taito_l.c
+++ b/src/mame/video/taito_l.c
@@ -57,24 +57,23 @@ TILE_GET_INFO_MEMBER(taitol_state::get_ch1a_tile_info)
***************************************************************************/
-VIDEO_START( taitol )
+VIDEO_START_MEMBER(taitol_state,taitol)
{
- taitol_state *state = machine.driver_data<taitol_state>();
int i;
- state->m_bg18_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taitol_state::get_bg18_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg19_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taitol_state::get_bg19_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_ch1a_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taitol_state::get_ch1a_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg18_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taitol_state::get_bg18_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg19_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taitol_state::get_bg19_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_ch1a_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taitol_state::get_ch1a_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg18_tilemap->set_transparent_pen(0);
- state->m_ch1a_tilemap->set_transparent_pen(0);
+ m_bg18_tilemap->set_transparent_pen(0);
+ m_ch1a_tilemap->set_transparent_pen(0);
for (i = 0; i < 256; i++)
- palette_set_color(machine, i, MAKE_RGB(0, 0, 0));
+ palette_set_color(machine(), i, MAKE_RGB(0, 0, 0));
- state->m_ch1a_tilemap->set_scrolldx(-8, -8);
- state->m_bg18_tilemap->set_scrolldx(28, -11);
- state->m_bg19_tilemap->set_scrolldx(38, -21);
+ m_ch1a_tilemap->set_scrolldx(-8, -8);
+ m_bg18_tilemap->set_scrolldx(28, -11);
+ m_bg19_tilemap->set_scrolldx(38, -21);
}
diff --git a/src/mame/video/taito_z.c b/src/mame/video/taito_z.c
index 9b085eb0cb8..17942d9ffaa 100644
--- a/src/mame/video/taito_z.c
+++ b/src/mame/video/taito_z.c
@@ -4,14 +4,13 @@
/**********************************************************/
-VIDEO_START( taitoz )
+VIDEO_START_MEMBER(taitoz_state,taitoz)
{
- taitoz_state *state = machine.driver_data<taitoz_state>();
- state->m_road_palbank = 3;
- state->m_sci_spriteframe = 0;
+ m_road_palbank = 3;
+ m_sci_spriteframe = 0;
- state->save_item(NAME(state->m_road_palbank));
- state->save_item(NAME(state->m_sci_spriteframe));
+ save_item(NAME(m_road_palbank));
+ save_item(NAME(m_sci_spriteframe));
}
/********************************************************
diff --git a/src/mame/video/taitoair.c b/src/mame/video/taitoair.c
index 262dba41fad..16c21d3f3a1 100644
--- a/src/mame/video/taitoair.c
+++ b/src/mame/video/taitoair.c
@@ -551,16 +551,15 @@ READ16_MEMBER(taitoair_state::dsp_y_return_r)
return res;
}
-VIDEO_START( taitoair )
+void taitoair_state::video_start()
{
- taitoair_state *state = machine.driver_data<taitoair_state>();
int width, height;
- width = machine.primary_screen->width();
- height = machine.primary_screen->height();
- state->m_framebuffer[0] = auto_bitmap_ind16_alloc(machine, width, height);
- state->m_framebuffer[1] = auto_bitmap_ind16_alloc(machine, width, height);
- //state->m_buffer3d = auto_bitmap_ind16_alloc(machine, width, height);
+ width = machine().primary_screen->width();
+ height = machine().primary_screen->height();
+ m_framebuffer[0] = auto_bitmap_ind16_alloc(machine(), width, height);
+ m_framebuffer[1] = auto_bitmap_ind16_alloc(machine(), width, height);
+ //m_buffer3d = auto_bitmap_ind16_alloc(machine(), width, height);
}
SCREEN_UPDATE_IND16( taitoair )
diff --git a/src/mame/video/taitojc.c b/src/mame/video/taitojc.c
index b9862aa9997..a3e6b8a3ba0 100644
--- a/src/mame/video/taitojc.c
+++ b/src/mame/video/taitojc.c
@@ -298,36 +298,35 @@ static void taitojc_exit(running_machine &machine)
{
}
-VIDEO_START( taitojc )
+void taitojc_state::video_start()
{
- taitojc_state *state = machine.driver_data<taitojc_state>();
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(taitojc_exit), &machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(taitojc_exit), &machine()));
/* find first empty slot to decode gfx */
- for (state->m_gfx_index = 0; state->m_gfx_index < MAX_GFX_ELEMENTS; state->m_gfx_index++)
- if (machine.gfx[state->m_gfx_index] == 0)
+ for (m_gfx_index = 0; m_gfx_index < MAX_GFX_ELEMENTS; m_gfx_index++)
+ if (machine().gfx[m_gfx_index] == 0)
break;
- assert(state->m_gfx_index != MAX_GFX_ELEMENTS);
+ assert(m_gfx_index != MAX_GFX_ELEMENTS);
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taitojc_state::taitojc_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taitojc_state::taitojc_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_tilemap->set_transparent_pen(0);
+ m_tilemap->set_transparent_pen(0);
- state->m_char_ram = auto_alloc_array_clear(machine, UINT32, 0x4000/4);
- state->m_tile_ram = auto_alloc_array_clear(machine, UINT32, 0x4000/4);
+ m_char_ram = auto_alloc_array_clear(machine(), UINT32, 0x4000/4);
+ m_tile_ram = auto_alloc_array_clear(machine(), UINT32, 0x4000/4);
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine.gfx[state->m_gfx_index] = auto_alloc(machine, gfx_element(machine, taitojc_char_layout, (UINT8 *)state->m_char_ram, machine.total_colors() / 16, 0));
+ machine().gfx[m_gfx_index] = auto_alloc(machine(), gfx_element(machine(), taitojc_char_layout, (UINT8 *)m_char_ram, machine().total_colors() / 16, 0));
- state->m_texture = auto_alloc_array(machine, UINT8, 0x400000);
+ m_texture = auto_alloc_array(machine(), UINT8, 0x400000);
- machine.primary_screen->register_screen_bitmap(state->m_framebuffer);
- machine.primary_screen->register_screen_bitmap(state->m_zbuffer);
+ machine().primary_screen->register_screen_bitmap(m_framebuffer);
+ machine().primary_screen->register_screen_bitmap(m_zbuffer);
/* create renderer */
- state->m_renderer = auto_alloc(machine, taitojc_renderer(machine, &state->m_framebuffer, &state->m_zbuffer, state->m_texture));
+ m_renderer = auto_alloc(machine(), taitojc_renderer(machine(), &m_framebuffer, &m_zbuffer, m_texture));
}
SCREEN_UPDATE_IND16( taitojc )
diff --git a/src/mame/video/taitosj.c b/src/mame/video/taitosj.c
index 2746e1799b6..c5bb9be7a10 100644
--- a/src/mame/video/taitosj.c
+++ b/src/mame/video/taitosj.c
@@ -171,28 +171,27 @@ static void compute_draw_order(running_machine &machine)
}
-VIDEO_START( taitosj )
+void taitosj_state::video_start()
{
- taitosj_state *state = machine.driver_data<taitosj_state>();
int i;
- state->m_sprite_layer_collbitmap1.allocate(16,16);
+ m_sprite_layer_collbitmap1.allocate(16,16);
for (i = 0; i < 3; i++)
{
- machine.primary_screen->register_screen_bitmap(state->m_layer_bitmap[i]);
- machine.primary_screen->register_screen_bitmap(state->m_sprite_layer_collbitmap2[i]);
+ machine().primary_screen->register_screen_bitmap(m_layer_bitmap[i]);
+ machine().primary_screen->register_screen_bitmap(m_sprite_layer_collbitmap2[i]);
}
- state->m_sprite_sprite_collbitmap1.allocate(32,32);
- state->m_sprite_sprite_collbitmap2.allocate(32,32);
+ m_sprite_sprite_collbitmap1.allocate(32,32);
+ m_sprite_sprite_collbitmap2.allocate(32,32);
- machine.gfx[0]->set_source(state->m_characterram);
- machine.gfx[1]->set_source(state->m_characterram);
- machine.gfx[2]->set_source(state->m_characterram + 0x1800);
- machine.gfx[3]->set_source(state->m_characterram + 0x1800);
+ machine().gfx[0]->set_source(m_characterram);
+ machine().gfx[1]->set_source(m_characterram);
+ machine().gfx[2]->set_source(m_characterram + 0x1800);
+ machine().gfx[3]->set_source(m_characterram + 0x1800);
- compute_draw_order(machine);
+ compute_draw_order(machine());
}
diff --git a/src/mame/video/tank8.c b/src/mame/video/tank8.c
index 9b0fa3c1f7f..a5ead4dfa5e 100644
--- a/src/mame/video/tank8.c
+++ b/src/mame/video/tank8.c
@@ -8,29 +8,29 @@ Atari Tank 8 video emulation
#include "includes/tank8.h"
-PALETTE_INIT( tank8 )
+void tank8_state::palette_init()
{
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x0a);
+ machine().colortable = colortable_alloc(machine(), 0x0a);
- colortable_palette_set_color(machine.colortable, 8, MAKE_RGB(0x00, 0x00, 0x00));
- colortable_palette_set_color(machine.colortable, 9, MAKE_RGB(0xff, 0xff, 0xff));
+ colortable_palette_set_color(machine().colortable, 8, MAKE_RGB(0x00, 0x00, 0x00));
+ colortable_palette_set_color(machine().colortable, 9, MAKE_RGB(0xff, 0xff, 0xff));
for (i = 0; i < 8; i++)
{
- colortable_entry_set_value(machine.colortable, 2 * i + 0, 8);
- colortable_entry_set_value(machine.colortable, 2 * i + 1, i);
+ colortable_entry_set_value(machine().colortable, 2 * i + 0, 8);
+ colortable_entry_set_value(machine().colortable, 2 * i + 1, i);
}
/* walls */
- colortable_entry_set_value(machine.colortable, 0x10, 8);
- colortable_entry_set_value(machine.colortable, 0x11, 9);
+ colortable_entry_set_value(machine().colortable, 0x10, 8);
+ colortable_entry_set_value(machine().colortable, 0x11, 9);
/* mines */
- colortable_entry_set_value(machine.colortable, 0x12, 8);
- colortable_entry_set_value(machine.colortable, 0x13, 9);
+ colortable_entry_set_value(machine().colortable, 0x12, 8);
+ colortable_entry_set_value(machine().colortable, 0x13, 9);
}
@@ -99,18 +99,17 @@ TILE_GET_INFO_MEMBER(tank8_state::tank8_get_tile_info)
-VIDEO_START( tank8 )
+void tank8_state::video_start()
{
- tank8_state *state = machine.driver_data<tank8_state>();
- machine.primary_screen->register_screen_bitmap(state->m_helper1);
- machine.primary_screen->register_screen_bitmap(state->m_helper2);
- machine.primary_screen->register_screen_bitmap(state->m_helper3);
+ machine().primary_screen->register_screen_bitmap(m_helper1);
+ machine().primary_screen->register_screen_bitmap(m_helper2);
+ machine().primary_screen->register_screen_bitmap(m_helper3);
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tank8_state::tank8_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tank8_state::tank8_get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
/* VBLANK starts on scanline #256 and ends on scanline #24 */
- state->m_tilemap->set_scrolly(0, 2 * 24);
+ m_tilemap->set_scrolly(0, 2 * 24);
}
diff --git a/src/mame/video/tankbatt.c b/src/mame/video/tankbatt.c
index 03dcab7cb70..a966c30c242 100644
--- a/src/mame/video/tankbatt.c
+++ b/src/mame/video/tankbatt.c
@@ -15,16 +15,16 @@
Convert the color PROMs into a more useable format.
***************************************************************************/
-PALETTE_INIT( tankbatt )
+void tankbatt_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
#define RES_1 0xc0 /* this is a guess */
#define RES_2 0x3f /* this is a guess */
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -49,13 +49,13 @@ PALETTE_INIT( tankbatt )
b = RES_1 * bit3;
if (bit3) b += RES_2 * bit0;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
for (i = 0; i < 0x200; i += 2)
{
- colortable_entry_set_value(machine.colortable, i + 0, 0);
- colortable_entry_set_value(machine.colortable, i + 1, i >> 1);
+ colortable_entry_set_value(machine().colortable, i + 0, 0);
+ colortable_entry_set_value(machine().colortable, i + 1, i >> 1);
}
}
@@ -75,10 +75,9 @@ TILE_GET_INFO_MEMBER(tankbatt_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( tankbatt )
+void tankbatt_state::video_start()
{
- tankbatt_state *state = machine.driver_data<tankbatt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tankbatt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tankbatt_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_bullets(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/tankbust.c b/src/mame/video/tankbust.c
index 2f569130e3f..d7fc231a5a9 100644
--- a/src/mame/video/tankbust.c
+++ b/src/mame/video/tankbust.c
@@ -74,17 +74,16 @@ TILE_GET_INFO_MEMBER(tankbust_state::get_txt_tile_info)
***************************************************************************/
-VIDEO_START( tankbust )
+void tankbust_state::video_start()
{
- tankbust_state *state = machine.driver_data<tankbust_state>();
/* not scrollable */
- state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tankbust_state::get_txt_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_txt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tankbust_state::get_txt_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
/* scrollable */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tankbust_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tankbust_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_txt_tilemap->set_transparent_pen(0);
+ m_txt_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/taotaido.c b/src/mame/video/taotaido.c
index 0fddf0df71f..13f517c4394 100644
--- a/src/mame/video/taotaido.c
+++ b/src/mame/video/taotaido.c
@@ -180,16 +180,15 @@ TILEMAP_MAPPER_MEMBER(taotaido_state::taotaido_tilemap_scan_rows)
return row*0x40 + (col&0x3f) + ((col&0x40)<<6);
}
-VIDEO_START(taotaido)
+void taotaido_state::video_start()
{
- taotaido_state *state = machine.driver_data<taotaido_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taotaido_state::taotaido_bg_tile_info),state),tilemap_mapper_delegate(FUNC(taotaido_state::taotaido_tilemap_scan_rows),state),16,16,128,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(taotaido_state::taotaido_bg_tile_info),this),tilemap_mapper_delegate(FUNC(taotaido_state::taotaido_tilemap_scan_rows),this),16,16,128,64);
- state->m_spriteram_old = auto_alloc_array(machine, UINT16, 0x2000/2);
- state->m_spriteram_older = auto_alloc_array(machine, UINT16, 0x2000/2);
+ m_spriteram_old = auto_alloc_array(machine(), UINT16, 0x2000/2);
+ m_spriteram_older = auto_alloc_array(machine(), UINT16, 0x2000/2);
- state->m_spriteram2_old = auto_alloc_array(machine, UINT16, 0x10000/2);
- state->m_spriteram2_older = auto_alloc_array(machine, UINT16, 0x10000/2);
+ m_spriteram2_old = auto_alloc_array(machine(), UINT16, 0x10000/2);
+ m_spriteram2_older = auto_alloc_array(machine(), UINT16, 0x10000/2);
}
diff --git a/src/mame/video/targeth.c b/src/mame/video/targeth.c
index dc7b90753bb..a01e06f4692 100644
--- a/src/mame/video/targeth.c
+++ b/src/mame/video/targeth.c
@@ -69,13 +69,12 @@ WRITE16_MEMBER(targeth_state::targeth_vram_w)
***************************************************************************/
-VIDEO_START( targeth )
+void targeth_state::video_start()
{
- targeth_state *state = machine.driver_data<targeth_state>();
- state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(targeth_state::get_tile_info_targeth_screen0),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(targeth_state::get_tile_info_targeth_screen1),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pant[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(targeth_state::get_tile_info_targeth_screen0),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pant[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(targeth_state::get_tile_info_targeth_screen1),this),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[0]->set_transparent_pen(0);
+ m_pant[0]->set_transparent_pen(0);
}
diff --git a/src/mame/video/tatsumi.c b/src/mame/video/tatsumi.c
index da8ca04ae40..ec0889f732b 100644
--- a/src/mame/video/tatsumi.c
+++ b/src/mame/video/tatsumi.c
@@ -186,50 +186,46 @@ TILE_GET_INFO_MEMBER(tatsumi_state::get_tile_info_bigfight_1)
/********************************************************************/
-VIDEO_START( apache3 )
+VIDEO_START_MEMBER(tatsumi_state,apache3)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
- state->m_temp_bitmap.allocate(512, 512);
- state->m_apache3_road_x_ram = auto_alloc_array(machine, UINT8, 512);
+ m_tx_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_shadow_pen_array = auto_alloc_array_clear(machine(), UINT8, 8192);
+ m_temp_bitmap.allocate(512, 512);
+ m_apache3_road_x_ram = auto_alloc_array(machine(), UINT8, 512);
- state->m_tx_layer->set_transparent_pen(0);
+ m_tx_layer->set_transparent_pen(0);
}
-VIDEO_START( roundup5 )
+VIDEO_START_MEMBER(tatsumi_state,roundup5)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
- state->m_roundup5_vram = auto_alloc_array(machine, UINT16, (0x48000 * 4)/2);
+ m_tx_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
+ m_shadow_pen_array = auto_alloc_array_clear(machine(), UINT8, 8192);
+ m_roundup5_vram = auto_alloc_array(machine(), UINT16, (0x48000 * 4)/2);
- state->m_tx_layer->set_transparent_pen(0);
+ m_tx_layer->set_transparent_pen(0);
- machine.gfx[1]->set_source((UINT8 *)state->m_roundup5_vram);
+ machine().gfx[1]->set_source((UINT8 *)m_roundup5_vram);
}
-VIDEO_START( cyclwarr )
+VIDEO_START_MEMBER(tatsumi_state,cyclwarr)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,64,512);
- //state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,64,512);
- state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,128,256);
- state->m_layer2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),state),TILEMAP_SCAN_ROWS,8,8,64,512);
- state->m_layer3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),state),TILEMAP_SCAN_ROWS,8,8,64,512);
+ m_layer0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),this),TILEMAP_SCAN_ROWS,8,8,64,512);
+ //m_layer1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),this),TILEMAP_SCAN_ROWS,8,8,64,512);
+ m_layer1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),this),TILEMAP_SCAN_ROWS,8,8,128,256);
+ m_layer2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),this),TILEMAP_SCAN_ROWS,8,8,64,512);
+ m_layer3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),this),TILEMAP_SCAN_ROWS,8,8,64,512);
- state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
+ m_shadow_pen_array = auto_alloc_array_clear(machine(), UINT8, 8192);
}
-VIDEO_START( bigfight )
+VIDEO_START_MEMBER(tatsumi_state,bigfight)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,128,256);
- state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,128,256);
- state->m_layer2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),state),TILEMAP_SCAN_ROWS,8,8,128,256);
- state->m_layer3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),state),TILEMAP_SCAN_ROWS,8,8,128,256);
+ m_layer0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),this),TILEMAP_SCAN_ROWS,8,8,128,256);
+ m_layer1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),this),TILEMAP_SCAN_ROWS,8,8,128,256);
+ m_layer2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),this),TILEMAP_SCAN_ROWS,8,8,128,256);
+ m_layer3 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),this),TILEMAP_SCAN_ROWS,8,8,128,256);
- state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
+ m_shadow_pen_array = auto_alloc_array_clear(machine(), UINT8, 8192);
}
/********************************************************************/
diff --git a/src/mame/video/tbowl.c b/src/mame/video/tbowl.c
index 95845200e8e..46114e51a63 100644
--- a/src/mame/video/tbowl.c
+++ b/src/mame/video/tbowl.c
@@ -187,16 +187,15 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re
/*** Video Start / Update ***/
-VIDEO_START( tbowl )
+void tbowl_state::video_start()
{
- tbowl_state *state = machine.driver_data<tbowl_state>();
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tbowl_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tbowl_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,128,32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tbowl_state::get_bg2_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,128,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tbowl_state::get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tbowl_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16,128,32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tbowl_state::get_bg2_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16,128,32);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_bg2_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_bg2_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/tceptor.c b/src/mame/video/tceptor.c
index 32cb46baca5..bef73fd73f0 100644
--- a/src/mame/video/tceptor.c
+++ b/src/mame/video/tceptor.c
@@ -18,14 +18,13 @@
/*******************************************************************/
-PALETTE_INIT( tceptor )
+void tceptor_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- tceptor_state *state = machine.driver_data<tceptor_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x400);
+ machine().colortable = colortable_alloc(machine(), 0x400);
/* create a lookup table for the palette */
for (i = 0; i < 0x400; i++)
@@ -34,7 +33,7 @@ PALETTE_INIT( tceptor )
int g = pal4bit(color_prom[i + 0x400]);
int b = pal4bit(color_prom[i + 0x800]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -53,36 +52,36 @@ PALETTE_INIT( tceptor )
for (i = 0; i < 0x0400; i++)
{
int ctabentry = color_prom[i];
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites lookup table (1024 colors) */
for (i = 0x0400; i < 0x0800; i++)
{
int ctabentry = color_prom[i] | 0x300;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* background: no lookup PROM, use directly (512 colors) */
for (i = 0x0a00; i < 0x0c00; i++)
{
int ctabentry = i & 0x1ff;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* road lookup table (256 colors) */
for (i = 0x0f00; i < 0x1000; i++)
{
int ctabentry = color_prom[i - 0x700] | 0x200;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* setup sprite mask color map */
/* tceptor2: only 0x23 */
- memset(state->m_is_mask_spr, 0, sizeof state->m_is_mask_spr);
+ memset(m_is_mask_spr, 0, sizeof m_is_mask_spr);
for (i = 0; i < 0x400; i++)
- if (colortable_entry_get_value(machine.colortable, i | 0x400) == SPR_MASK_COLOR)
- state->m_is_mask_spr[i >> 4] = 1;
+ if (colortable_entry_get_value(machine().colortable, i | 0x400) == SPR_MASK_COLOR)
+ m_is_mask_spr[i >> 4] = 1;
}
@@ -365,47 +364,46 @@ static void decode_sprite32(running_machine &machine, const char * region)
decode_sprite(machine, state->m_sprite32, &spr32_layout, dst);
}
-VIDEO_START( tceptor )
+void tceptor_state::video_start()
{
- tceptor_state *state = machine.driver_data<tceptor_state>();
int gfx_index;
- state->m_sprite_ram_buffered = auto_alloc_array_clear(machine, UINT16, 0x200/2);
+ m_sprite_ram_buffered = auto_alloc_array_clear(machine(), UINT16, 0x200/2);
/* find first empty slot to decode gfx */
for (gfx_index = 0; gfx_index < MAX_GFX_ELEMENTS; gfx_index++)
- if (machine.gfx[gfx_index] == 0)
+ if (machine().gfx[gfx_index] == 0)
break;
assert(gfx_index + 4 <= MAX_GFX_ELEMENTS);
- state->m_bg = gfx_index++;
- decode_bg(machine, "gfx2");
+ m_bg = gfx_index++;
+ decode_bg(machine(), "gfx2");
- state->m_sprite16 = gfx_index++;
- decode_sprite16(machine, "gfx3");
+ m_sprite16 = gfx_index++;
+ decode_sprite16(machine(), "gfx3");
- state->m_sprite32 = gfx_index++;
- decode_sprite32(machine, "gfx4");
+ m_sprite32 = gfx_index++;
+ decode_sprite32(machine(), "gfx4");
/* allocate temp bitmaps */
- machine.primary_screen->register_screen_bitmap(state->m_temp_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_temp_bitmap);
- state->m_c45_road->set_transparent_color(colortable_entry_get_value(machine.colortable, 0xfff));
+ m_c45_road->set_transparent_color(colortable_entry_get_value(machine().colortable, 0xfff));
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tceptor_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 34, 28);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tceptor_state::get_tx_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 34, 28);
- state->m_tx_tilemap->set_scrollx(0, -2*8);
- state->m_tx_tilemap->set_scrolly(0, 0);
- colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 7);
+ m_tx_tilemap->set_scrollx(0, -2*8);
+ m_tx_tilemap->set_scrolly(0, 0);
+ colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, machine().gfx[0], 7);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tceptor_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tceptor_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tceptor_state::get_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tceptor_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state_save_register_global_pointer(machine, state->m_sprite_ram_buffered, 0x200 / 2);
- state_save_register_global(machine, state->m_bg1_scroll_x);
- state_save_register_global(machine, state->m_bg1_scroll_y);
- state_save_register_global(machine, state->m_bg2_scroll_x);
- state_save_register_global(machine, state->m_bg2_scroll_y);
+ state_save_register_global_pointer(machine(), m_sprite_ram_buffered, 0x200 / 2);
+ state_save_register_global(machine(), m_bg1_scroll_x);
+ state_save_register_global(machine(), m_bg1_scroll_y);
+ state_save_register_global(machine(), m_bg2_scroll_x);
+ state_save_register_global(machine(), m_bg2_scroll_y);
}
diff --git a/src/mame/video/tecmo.c b/src/mame/video/tecmo.c
index 4ae54866f3e..73705795271 100644
--- a/src/mame/video/tecmo.c
+++ b/src/mame/video/tecmo.c
@@ -79,27 +79,26 @@ TILE_GET_INFO_MEMBER(tecmo_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( tecmo )
+VIDEO_START_MEMBER(tecmo_state,tecmo)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- if (state->m_video_type == 2) /* gemini */
+ if (m_video_type == 2) /* gemini */
{
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::gemini_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::gemini_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::gemini_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::gemini_get_fg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,16);
}
else /* rygar, silkworm */
{
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,16);
}
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_scrolldx(-48,256+48);
- state->m_fg_tilemap->set_scrolldx(-48,256+48);
+ m_bg_tilemap->set_scrolldx(-48,256+48);
+ m_fg_tilemap->set_scrolldx(-48,256+48);
}
diff --git a/src/mame/video/tecmo16.c b/src/mame/video/tecmo16.c
index c0668abfb4f..26c14d9acdb 100644
--- a/src/mame/video/tecmo16.c
+++ b/src/mame/video/tecmo16.c
@@ -53,73 +53,70 @@ TILE_GET_INFO_MEMBER(tecmo16_state::tx_get_tile_info)
/******************************************************************************/
-VIDEO_START( fstarfrc )
+void tecmo16_state::video_start()
{
- tecmo16_state *state = machine.driver_data<tecmo16_state>();
/* set up tile layers */
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_bg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_fg);
/* set up sprites */
- machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_sprite_bitmap);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::tx_get_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::fg_get_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::tx_get_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_scrolly(0,-16);
- state->m_flipscreen = 0;
- state->m_game_is_riot = 0;
+ m_tx_tilemap->set_scrolly(0,-16);
+ m_flipscreen = 0;
+ m_game_is_riot = 0;
}
-VIDEO_START( ginkun )
+VIDEO_START_MEMBER(tecmo16_state,ginkun)
{
- tecmo16_state *state = machine.driver_data<tecmo16_state>();
/* set up tile layers */
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_bg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_fg);
/* set up sprites */
- machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_sprite_bitmap);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::tx_get_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::fg_get_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::tx_get_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_flipscreen = 0;
- state->m_game_is_riot = 0;
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_flipscreen = 0;
+ m_game_is_riot = 0;
}
-VIDEO_START( riot )
+VIDEO_START_MEMBER(tecmo16_state,riot)
{
- tecmo16_state *state = machine.driver_data<tecmo16_state>();
/* set up tile layers */
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
- machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_bg);
+ machine().primary_screen->register_screen_bitmap(m_tile_bitmap_fg);
/* set up sprites */
- machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
-
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::tx_get_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
-
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_scrolldy(-16,-16);
- state->m_flipscreen = 0;
- state->m_game_is_riot = 1;
+ machine().primary_screen->register_screen_bitmap(m_sprite_bitmap);
+
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::fg_get_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::tx_get_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_scrolldy(-16,-16);
+ m_flipscreen = 0;
+ m_game_is_riot = 1;
}
/******************************************************************************/
diff --git a/src/mame/video/tecmosys.c b/src/mame/video/tecmosys.c
index 6c4a8943930..5e631ab8bb1 100644
--- a/src/mame/video/tecmosys.c
+++ b/src/mame/video/tecmosys.c
@@ -328,28 +328,27 @@ SCREEN_UPDATE_RGB32(tecmosys)
return 0;
}
-VIDEO_START(tecmosys)
+void tecmosys_state::video_start()
{
- tecmosys_state *state = machine.driver_data<tecmosys_state>();
- state->m_sprite_bitmap.allocate(320,240);
- state->m_sprite_bitmap.fill(0x4000);
+ m_sprite_bitmap.allocate(320,240);
+ m_sprite_bitmap.fill(0x4000);
- state->m_tmp_tilemap_composebitmap.allocate(320,240);
- state->m_tmp_tilemap_renderbitmap.allocate(320,240);
+ m_tmp_tilemap_composebitmap.allocate(320,240);
+ m_tmp_tilemap_renderbitmap.allocate(320,240);
- state->m_tmp_tilemap_composebitmap.fill(0x0000);
- state->m_tmp_tilemap_renderbitmap.fill(0x0000);
+ m_tmp_tilemap_composebitmap.fill(0x0000);
+ m_tmp_tilemap_renderbitmap.fill(0x0000);
- state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32*2,32*2);
- state->m_txt_tilemap->set_transparent_pen(0);
+ m_txt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32*2,32*2);
+ m_txt_tilemap->set_transparent_pen(0);
- state->m_bg0tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg0tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_bg0tilemap->set_transparent_pen(0);
+ m_bg0tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg0tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_bg0tilemap->set_transparent_pen(0);
- state->m_bg1tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg1tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_bg1tilemap->set_transparent_pen(0);
+ m_bg1tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg1tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_bg1tilemap->set_transparent_pen(0);
- state->m_bg2tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg2tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_bg2tilemap->set_transparent_pen(0);
+ m_bg2tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg2tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_bg2tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/tehkanwc.c b/src/mame/video/tehkanwc.c
index a67ef7fb922..bf215b1985a 100644
--- a/src/mame/video/tehkanwc.c
+++ b/src/mame/video/tehkanwc.c
@@ -85,16 +85,15 @@ TILE_GET_INFO_MEMBER(tehkanwc_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( tehkanwc )
+void tehkanwc_state::video_start()
{
- tehkanwc_state *state = machine.driver_data<tehkanwc_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tehkanwc_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tehkanwc_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
16, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tehkanwc_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tehkanwc_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
/*
diff --git a/src/mame/video/terracre.c b/src/mame/video/terracre.c
index 371bbbaa5d3..6541c611065 100644
--- a/src/mame/video/terracre.c
+++ b/src/mame/video/terracre.c
@@ -89,13 +89,13 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
}
}
-PALETTE_INIT( amazon )
+void terracre_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -104,7 +104,7 @@ PALETTE_INIT( amazon )
int g = pal4bit(color_prom[i + 0x100]);
int b = pal4bit(color_prom[i + 0x200]);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -112,7 +112,7 @@ PALETTE_INIT( amazon )
/* characters use colors 0-0x0f */
for (i = 0; i < 0x10; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* background tiles use colors 0xc0-0xff in four banks */
/* the bottom two bits of the color code select the palette bank for */
@@ -126,7 +126,7 @@ PALETTE_INIT( amazon )
else
ctabentry = 0xc0 | (i & 0x0f) | ((i & 0x30) >> 0);
- colortable_entry_set_value(machine.colortable, 0x10 + i, ctabentry);
+ colortable_entry_set_value(machine().colortable, 0x10 + i, ctabentry);
}
/* sprites use colors 128-191 in four banks */
@@ -144,7 +144,7 @@ PALETTE_INIT( amazon )
else
ctabentry = 0x80 | ((i & 0x03) << 4) | (color_prom[i >> 4] & 0x0f);
- colortable_entry_set_value(machine.colortable, 0x110 + i_swapped, ctabentry);
+ colortable_entry_set_value(machine().colortable, 0x110 + i_swapped, ctabentry);
}
}
@@ -183,16 +183,15 @@ WRITE16_MEMBER(terracre_state::amazon_scrollx_w)
m_background->set_scrollx(0,m_xscroll);
}
-VIDEO_START( amazon )
+void terracre_state::video_start()
{
- terracre_state *state = machine.driver_data<terracre_state>();
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(terracre_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS,16,16,64,32);
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(terracre_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
- state->m_foreground->set_transparent_pen(0xf);
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(terracre_state::get_bg_tile_info),this),TILEMAP_SCAN_COLS,16,16,64,32);
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(terracre_state::get_fg_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32);
+ m_foreground->set_transparent_pen(0xf);
/* register for saving */
- state_save_register_global(machine, state->m_xscroll);
- state_save_register_global(machine, state->m_yscroll);
+ state_save_register_global(machine(), m_xscroll);
+ state_save_register_global(machine(), m_yscroll);
}
SCREEN_UPDATE_IND16( amazon )
diff --git a/src/mame/video/tetrisp2.c b/src/mame/video/tetrisp2.c
index 3e151acc1be..d5b2c4300b9 100644
--- a/src/mame/video/tetrisp2.c
+++ b/src/mame/video/tetrisp2.c
@@ -234,63 +234,59 @@ WRITE16_MEMBER(tetrisp2_state::rocknms_sub_vram_rot_w)
-VIDEO_START( tetrisp2 )
+VIDEO_START_MEMBER(tetrisp2_state,tetrisp2)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- state->m_flipscreen_old = -1;
+ m_flipscreen_old = -1;
- state->m_tilemap_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_bg),state),TILEMAP_SCAN_ROWS,16,16,NX_0,NY_0);
- state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_fg),state),TILEMAP_SCAN_ROWS,8,8,NX_1,NY_1);
- state->m_tilemap_rot = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rot),state),TILEMAP_SCAN_ROWS,16,16,NX_0*2,NY_0*2);
- state->m_tilemap_bg->set_transparent_pen(0);
- state->m_tilemap_fg->set_transparent_pen(0);
- state->m_tilemap_rot->set_transparent_pen(0);
+ m_tilemap_bg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_bg),this),TILEMAP_SCAN_ROWS,16,16,NX_0,NY_0);
+ m_tilemap_fg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_fg),this),TILEMAP_SCAN_ROWS,8,8,NX_1,NY_1);
+ m_tilemap_rot = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rot),this),TILEMAP_SCAN_ROWS,16,16,NX_0*2,NY_0*2);
+ m_tilemap_bg->set_transparent_pen(0);
+ m_tilemap_fg->set_transparent_pen(0);
+ m_tilemap_rot->set_transparent_pen(0);
// should be smaller and mirrored like m32 I guess
- state->m_priority = auto_alloc_array(machine, UINT8, 0x40000);
- ms32_rearrange_sprites(machine, "gfx1");
+ m_priority = auto_alloc_array(machine(), UINT8, 0x40000);
+ ms32_rearrange_sprites(machine(), "gfx1");
}
-VIDEO_START( nndmseal )
+VIDEO_START_MEMBER(tetrisp2_state,nndmseal)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- VIDEO_START_CALL( tetrisp2 );
- state->m_tilemap_bg->set_scrolldx(-4,-4);
+ VIDEO_START_CALL_MEMBER( tetrisp2 );
+ m_tilemap_bg->set_scrolldx(-4,-4);
}
-VIDEO_START( rockntread )
+VIDEO_START_MEMBER(tetrisp2_state,rockntread)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- state->m_flipscreen_old = -1;
+ m_flipscreen_old = -1;
- state->m_tilemap_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_bg),state),TILEMAP_SCAN_ROWS,16, 16, 256, 16); // rockn ms(main),1,2,3,4
- state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_fg),state),TILEMAP_SCAN_ROWS,8, 8, 64, 64);
- state->m_tilemap_rot = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rot),state),TILEMAP_SCAN_ROWS,16, 16, 128, 128);
+ m_tilemap_bg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_bg),this),TILEMAP_SCAN_ROWS,16, 16, 256, 16); // rockn ms(main),1,2,3,4
+ m_tilemap_fg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_fg),this),TILEMAP_SCAN_ROWS,8, 8, 64, 64);
+ m_tilemap_rot = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rot),this),TILEMAP_SCAN_ROWS,16, 16, 128, 128);
- state->m_tilemap_bg->set_transparent_pen(0);
- state->m_tilemap_fg->set_transparent_pen(0);
- state->m_tilemap_rot->set_transparent_pen(0);
+ m_tilemap_bg->set_transparent_pen(0);
+ m_tilemap_fg->set_transparent_pen(0);
+ m_tilemap_rot->set_transparent_pen(0);
// should be smaller and mirrored like m32 I guess
- state->m_priority = auto_alloc_array(machine, UINT8, 0x40000);
- ms32_rearrange_sprites(machine, "gfx1");
+ m_priority = auto_alloc_array(machine(), UINT8, 0x40000);
+ ms32_rearrange_sprites(machine(), "gfx1");
}
-VIDEO_START( rocknms )
+VIDEO_START_MEMBER(tetrisp2_state,rocknms)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- VIDEO_START_CALL( rockntread );
+ VIDEO_START_CALL_MEMBER( rockntread );
- state->m_tilemap_sub_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_bg),state),TILEMAP_SCAN_ROWS,16, 16, 32, 256); // rockn ms(sub)
- state->m_tilemap_sub_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_fg),state),TILEMAP_SCAN_ROWS,8, 8, 64, 64);
- state->m_tilemap_sub_rot = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_rot),state),TILEMAP_SCAN_ROWS,16, 16, 128, 128);
+ m_tilemap_sub_bg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_bg),this),TILEMAP_SCAN_ROWS,16, 16, 32, 256); // rockn ms(sub)
+ m_tilemap_sub_fg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_fg),this),TILEMAP_SCAN_ROWS,8, 8, 64, 64);
+ m_tilemap_sub_rot = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_rot),this),TILEMAP_SCAN_ROWS,16, 16, 128, 128);
- state->m_tilemap_sub_bg->set_transparent_pen(0);
- state->m_tilemap_sub_fg->set_transparent_pen(0);
- state->m_tilemap_sub_rot->set_transparent_pen(0);
+ m_tilemap_sub_bg->set_transparent_pen(0);
+ m_tilemap_sub_fg->set_transparent_pen(0);
+ m_tilemap_sub_rot->set_transparent_pen(0);
- ms32_rearrange_sprites(machine, "gfx5");
+ ms32_rearrange_sprites(machine(), "gfx5");
}
@@ -746,24 +742,23 @@ TILE_GET_INFO_MEMBER(tetrisp2_state::stepstag_get_tile_info_fg)
0);
}
-VIDEO_START( stepstag )
+VIDEO_START_MEMBER(stepstag_state,stepstag)
{
- stepstag_state *state = machine.driver_data<stepstag_state>();
- state->m_flipscreen_old = -1;
+ m_flipscreen_old = -1;
- state->m_tilemap_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_bg),state),TILEMAP_SCAN_ROWS,16,16,NX_0,NY_0);
+ m_tilemap_bg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_bg),this),TILEMAP_SCAN_ROWS,16,16,NX_0,NY_0);
// Temporary hack
- state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::stepstag_get_tile_info_fg),state),TILEMAP_SCAN_ROWS,8,8,NX_1,NY_1);
- state->m_tilemap_rot = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rot),state),TILEMAP_SCAN_ROWS,16,16,NX_0*2,NY_0*2);
- state->m_tilemap_bg->set_transparent_pen(0);
- state->m_tilemap_fg->set_transparent_pen(0);
- state->m_tilemap_rot->set_transparent_pen(0);
+ m_tilemap_fg = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::stepstag_get_tile_info_fg),this),TILEMAP_SCAN_ROWS,8,8,NX_1,NY_1);
+ m_tilemap_rot = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rot),this),TILEMAP_SCAN_ROWS,16,16,NX_0*2,NY_0*2);
+ m_tilemap_bg->set_transparent_pen(0);
+ m_tilemap_fg->set_transparent_pen(0);
+ m_tilemap_rot->set_transparent_pen(0);
// should be smaller and mirrored like m32 I guess
- state->m_priority = auto_alloc_array(machine, UINT8, 0x40000);
+ m_priority = auto_alloc_array(machine(), UINT8, 0x40000);
- ms32_rearrange_sprites(machine, "sprites_horiz");
- ms32_rearrange_sprites(machine, "sprites_vert");
+ ms32_rearrange_sprites(machine(), "sprites_horiz");
+ ms32_rearrange_sprites(machine(), "sprites_vert");
}
SCREEN_UPDATE_IND16( stepstag_left )
diff --git a/src/mame/video/thedeep.c b/src/mame/video/thedeep.c
index a6afa9b2d74..fda1cb79152 100644
--- a/src/mame/video/thedeep.c
+++ b/src/mame/video/thedeep.c
@@ -84,12 +84,12 @@ WRITE8_MEMBER(thedeep_state::thedeep_vram_1_w)
***************************************************************************/
-PALETTE_INIT( thedeep )
+void thedeep_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0;i < 512;i++)
- palette_set_color_rgb(machine,i,pal4bit(color_prom[0x400 + i] >> 0),pal4bit(color_prom[0x400 + i] >> 4),pal4bit(color_prom[0x200 + i] >> 0));
+ palette_set_color_rgb(machine(),i,pal4bit(color_prom[0x400 + i] >> 0),pal4bit(color_prom[0x400 + i] >> 4),pal4bit(color_prom[0x200 + i] >> 0));
}
/***************************************************************************
@@ -98,16 +98,15 @@ PALETTE_INIT( thedeep )
***************************************************************************/
-VIDEO_START( thedeep )
+void thedeep_state::video_start()
{
- thedeep_state *state = machine.driver_data<thedeep_state>();
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thedeep_state::get_tile_info_0),state),tilemap_mapper_delegate(FUNC(thedeep_state::tilemap_scan_rows_back),state),16,16,0x20,0x20);
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thedeep_state::get_tile_info_1),state),TILEMAP_SCAN_ROWS,8,8,0x20,0x20);
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(thedeep_state::get_tile_info_0),this),tilemap_mapper_delegate(FUNC(thedeep_state::tilemap_scan_rows_back),this),16,16,0x20,0x20);
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(thedeep_state::get_tile_info_1),this),TILEMAP_SCAN_ROWS,8,8,0x20,0x20);
- state->m_tilemap_0->set_transparent_pen(0 );
- state->m_tilemap_1->set_transparent_pen(0 );
+ m_tilemap_0->set_transparent_pen(0 );
+ m_tilemap_1->set_transparent_pen(0 );
- state->m_tilemap_0->set_scroll_cols(0x20); // column scroll for the background
+ m_tilemap_0->set_scroll_cols(0x20); // column scroll for the background
}
/***************************************************************************
diff --git a/src/mame/video/thepit.c b/src/mame/video/thepit.c
index 04c49cfe314..48bf8863e2c 100644
--- a/src/mame/video/thepit.c
+++ b/src/mame/video/thepit.c
@@ -26,9 +26,9 @@
***************************************************************************/
-PALETTE_INIT( thepit )
+void thepit_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 32; i++)
@@ -50,13 +50,13 @@ PALETTE_INIT( thepit )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
/* allocate primary colors for the background and foreground
this is wrong, but I don't know where to pick the colors from */
for (i = 0; i < 8; i++)
- palette_set_color_rgb(machine, i + 32, pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i >> 0));
+ palette_set_color_rgb(machine(), i + 32, pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i >> 0));
}
@@ -67,9 +67,9 @@ PALETTE_INIT( thepit )
***************************************************************************/
-PALETTE_INIT( suprmous )
+PALETTE_INIT_MEMBER(thepit_state,suprmous)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 32; i++)
@@ -78,13 +78,13 @@ PALETTE_INIT( suprmous )
UINT8 g = BITSWAP8(color_prom[i + 0x20], 0, 1, 2, 3, 4, 5, 6, 7);
UINT8 r = (b>>5&7)<<2 | (g>>6&3);
- palette_set_color_rgb(machine, i, pal5bit(r), pal5bit(g), pal4bit(b));
+ palette_set_color_rgb(machine(), i, pal5bit(r), pal5bit(g), pal4bit(b));
}
/* allocate primary colors for the background and foreground
this is wrong, but I don't know where to pick the colors from */
for (i = 0; i < 8; i++)
- palette_set_color_rgb(machine, i + 32, pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i >> 0));
+ palette_set_color_rgb(machine(), i + 32, pal1bit(i >> 2), pal1bit(i >> 1), pal1bit(i >> 0));
}
@@ -120,20 +120,19 @@ TILE_GET_INFO_MEMBER(thepit_state::get_tile_info)
*
*************************************/
-VIDEO_START( thepit )
+void thepit_state::video_start()
{
- thepit_state *state = machine.driver_data<thepit_state>();
- state->m_solid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thepit_state::solid_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_solid_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(thepit_state::solid_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thepit_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_tilemap->set_transparent_pen(0);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(thepit_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_tilemap->set_transparent_pen(0);
- state->m_solid_tilemap->set_scroll_cols(32);
- state->m_tilemap->set_scroll_cols(32);
+ m_solid_tilemap->set_scroll_cols(32);
+ m_tilemap->set_scroll_cols(32);
- state->m_dummy_tile = auto_alloc_array_clear(machine, UINT8, 8*8);
+ m_dummy_tile = auto_alloc_array_clear(machine(), UINT8, 8*8);
- state->m_graphics_bank = 0; /* only used in intrepid */
+ m_graphics_bank = 0; /* only used in intrepid */
}
diff --git a/src/mame/video/thief.c b/src/mame/video/thief.c
index 3ddc18d3f47..93ebb208de2 100644
--- a/src/mame/video/thief.c
+++ b/src/mame/video/thief.c
@@ -90,14 +90,13 @@ WRITE8_MEMBER(thief_state::thief_videoram_w){
/***************************************************************************/
-VIDEO_START( thief ){
- thief_state *state = machine.driver_data<thief_state>();
- memset( &state->m_coprocessor, 0x00, sizeof(state->m_coprocessor) );
+void thief_state::video_start(){
+ memset( &m_coprocessor, 0x00, sizeof(m_coprocessor) );
- state->m_videoram = auto_alloc_array_clear(machine, UINT8, 0x2000*4*2 );
+ m_videoram = auto_alloc_array_clear(machine(), UINT8, 0x2000*4*2 );
- state->m_coprocessor.image_ram = auto_alloc_array(machine, UINT8, 0x2000 );
- state->m_coprocessor.context_ram = auto_alloc_array(machine, UINT8, 0x400 );
+ m_coprocessor.image_ram = auto_alloc_array(machine(), UINT8, 0x2000 );
+ m_coprocessor.context_ram = auto_alloc_array(machine(), UINT8, 0x400 );
}
SCREEN_UPDATE_IND16( thief ){
diff --git a/src/mame/video/thoop2.c b/src/mame/video/thoop2.c
index 7f1d22538b1..2911c17590c 100644
--- a/src/mame/video/thoop2.c
+++ b/src/mame/video/thoop2.c
@@ -77,19 +77,18 @@ WRITE16_MEMBER(thoop2_state::thoop2_vram_w)
***************************************************************************/
-VIDEO_START( thoop2 )
+void thoop2_state::video_start()
{
- thoop2_state *state = machine.driver_data<thoop2_state>();
int i;
- state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thoop2_state::get_tile_info_thoop2_screen0),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thoop2_state::get_tile_info_thoop2_screen1),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_pant[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(thoop2_state::get_tile_info_thoop2_screen0),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_pant[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(thoop2_state::get_tile_info_thoop2_screen1),this),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pant[0]->set_transmask(0,0xff01,0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
- state->m_pant[1]->set_transmask(0,0xff01,0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
+ m_pant[0]->set_transmask(0,0xff01,0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
+ m_pant[1]->set_transmask(0,0xff01,0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
for (i = 0; i < 5; i++){
- state->m_sprite_table[i] = auto_alloc_array(machine, int, 512);
+ m_sprite_table[i] = auto_alloc_array(machine(), int, 512);
}
}
diff --git a/src/mame/video/thunderj.c b/src/mame/video/thunderj.c
index 6557e532f6b..c4639014327 100644
--- a/src/mame/video/thunderj.c
+++ b/src/mame/video/thunderj.c
@@ -56,7 +56,7 @@ TILE_GET_INFO_MEMBER(thunderj_state::get_playfield2_tile_info)
*
*************************************/
-VIDEO_START( thunderj )
+VIDEO_START_MEMBER(thunderj_state,thunderj)
{
static const atarimo_desc modesc =
{
@@ -94,21 +94,20 @@ VIDEO_START( thunderj )
0, /* resulting value to indicate "special" */
NULL /* callback routine for special entries */
};
- thunderj_state *state = machine.driver_data<thunderj_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thunderj_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(thunderj_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the second playfield */
- state->m_playfield2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thunderj_state::get_playfield2_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
- state->m_playfield2_tilemap->set_transparent_pen(0);
+ m_playfield2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(thunderj_state::get_playfield2_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield2_tilemap->set_transparent_pen(0);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thunderj_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(thunderj_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/thunderx.c b/src/mame/video/thunderx.c
index b15ff39c33c..8e85e55e616 100644
--- a/src/mame/video/thunderx.c
+++ b/src/mame/video/thunderx.c
@@ -48,15 +48,14 @@ void thunderx_sprite_callback( running_machine &machine, int *code,int *color, i
***************************************************************************/
-VIDEO_START( scontra )
+void thunderx_state::video_start()
{
- thunderx_state *state = machine.driver_data<thunderx_state>();
- state->m_layer_colorbase[0] = 48;
- state->m_layer_colorbase[1] = 0;
- state->m_layer_colorbase[2] = 16;
- state->m_sprite_colorbase = 32;
+ m_layer_colorbase[0] = 48;
+ m_layer_colorbase[1] = 0;
+ m_layer_colorbase[2] = 16;
+ m_sprite_colorbase = 32;
- palette_set_shadow_factor(machine,7.0/8.0);
+ palette_set_shadow_factor(machine(),7.0/8.0);
}
diff --git a/src/mame/video/tiamc1.c b/src/mame/video/tiamc1.c
index 5c66fab78b0..b97a3ba02a8 100644
--- a/src/mame/video/tiamc1.c
+++ b/src/mame/video/tiamc1.c
@@ -77,9 +77,8 @@ WRITE8_MEMBER(tiamc1_state::tiamc1_palette_w)
palette_set_color(machine(), offset, m_palette[data]);
}
-PALETTE_INIT( tiamc1 )
+void tiamc1_state::palette_init()
{
- tiamc1_state *state = machine.driver_data<tiamc1_state>();
// Voltage computed by Proteus
//static const float g_v[8]={1.05f,0.87f,0.81f,0.62f,0.44f,0.25f,0.19f,0.00f};
//static const float r_v[8]={1.37f,1.13f,1.00f,0.75f,0.63f,0.38f,0.25f,0.00f};
@@ -94,7 +93,7 @@ PALETTE_INIT( tiamc1 )
int r, g, b, ir, ig, ib;
float tcol;
- state->m_palette = auto_alloc_array(machine, rgb_t, 256);
+ m_palette = auto_alloc_array(machine(), rgb_t, 256);
for (col = 0; col < 256; col++) {
ir = (col >> 3) & 7;
@@ -107,7 +106,7 @@ PALETTE_INIT( tiamc1 )
tcol = 255.0f * b_v[ib] / b_v[0];
b = 255 - (((int)tcol) & 255);
- state->m_palette[col] = MAKE_RGB(r,g,b);
+ m_palette[col] = MAKE_RGB(r,g,b);
}
}
@@ -121,37 +120,36 @@ TILE_GET_INFO_MEMBER(tiamc1_state::get_bg2_tile_info)
SET_TILE_INFO_MEMBER(0, m_tileram[tile_index + 1024], 0, 0);
}
-VIDEO_START( tiamc1 )
+void tiamc1_state::video_start()
{
- tiamc1_state *state = machine.driver_data<tiamc1_state>();
UINT8 *video_ram;
- video_ram = auto_alloc_array_clear(machine, UINT8, 0x3040);
+ video_ram = auto_alloc_array_clear(machine(), UINT8, 0x3040);
- state->m_charram = video_ram + 0x0800; /* Ram is banked */
- state->m_tileram = video_ram + 0x0000;
+ m_charram = video_ram + 0x0800; /* Ram is banked */
+ m_tileram = video_ram + 0x0000;
- state->m_spriteram_y = video_ram + 0x3000;
- state->m_spriteram_x = video_ram + 0x3010;
- state->m_spriteram_n = video_ram + 0x3020;
- state->m_spriteram_a = video_ram + 0x3030;
+ m_spriteram_y = video_ram + 0x3000;
+ m_spriteram_x = video_ram + 0x3010;
+ m_spriteram_n = video_ram + 0x3020;
+ m_spriteram_a = video_ram + 0x3030;
- state_save_register_global_pointer(machine, video_ram, 0x3040);
+ state_save_register_global_pointer(machine(), video_ram, 0x3040);
- state->m_bg_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tiamc1_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tiamc1_state::get_bg1_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_bg_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tiamc1_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tiamc1_state::get_bg2_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_bg_vshift = 0;
- state->m_bg_hshift = 0;
+ m_bg_vshift = 0;
+ m_bg_hshift = 0;
- state_save_register_global(machine, state->m_layers_ctrl);
- state_save_register_global(machine, state->m_bg_vshift);
- state_save_register_global(machine, state->m_bg_hshift);
+ state_save_register_global(machine(), m_layers_ctrl);
+ state_save_register_global(machine(), m_bg_vshift);
+ state_save_register_global(machine(), m_bg_hshift);
- machine.gfx[0]->set_source(state->m_charram);
+ machine().gfx[0]->set_source(m_charram);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/tigeroad.c b/src/mame/video/tigeroad.c
index 9cfd543a195..96af6a2dbe6 100644
--- a/src/mame/video/tigeroad.c
+++ b/src/mame/video/tigeroad.c
@@ -141,19 +141,18 @@ TILEMAP_MAPPER_MEMBER(tigeroad_state::tigeroad_tilemap_scan)
return 2 * (col % 8) + 16 * ((127 - row) % 8) + 128 * (col / 8) + 2048 * ((127 - row) / 8);
}
-VIDEO_START( tigeroad )
+void tigeroad_state::video_start()
{
- tigeroad_state *state = machine.driver_data<tigeroad_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tigeroad_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(tigeroad_state::tigeroad_tilemap_scan),state),
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tigeroad_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(tigeroad_state::tigeroad_tilemap_scan),this),
32, 32, 128, 128);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tigeroad_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tigeroad_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_bg_tilemap->set_transmask(0, 0xffff, 0);
- state->m_bg_tilemap->set_transmask(1, 0x1ff, 0xfe00);
+ m_bg_tilemap->set_transmask(0, 0xffff, 0);
+ m_bg_tilemap->set_transmask(1, 0x1ff, 0xfe00);
- state->m_fg_tilemap->set_transparent_pen(3);
+ m_fg_tilemap->set_transparent_pen(3);
}
SCREEN_UPDATE_IND16( tigeroad )
diff --git a/src/mame/video/timelimt.c b/src/mame/video/timelimt.c
index 69e4375f03b..b4c1b2cfbdc 100644
--- a/src/mame/video/timelimt.c
+++ b/src/mame/video/timelimt.c
@@ -20,11 +20,11 @@
***************************************************************************/
-PALETTE_INIT( timelimt ) {
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+void timelimt_state::palette_init(){
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -43,7 +43,7 @@ PALETTE_INIT( timelimt ) {
bit1 = (*color_prom >> 7) & 0x01;
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -65,16 +65,15 @@ TILE_GET_INFO_MEMBER(timelimt_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, videoram[tile_index], 0, 0);
}
-VIDEO_START( timelimt )
+void timelimt_state::video_start()
{
- timelimt_state *state = machine.driver_data<timelimt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timelimt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(timelimt_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timelimt_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(timelimt_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
/***************************************************************************/
diff --git a/src/mame/video/timeplt.c b/src/mame/video/timeplt.c
index 52b4ddaa5a7..9d541d3485d 100644
--- a/src/mame/video/timeplt.c
+++ b/src/mame/video/timeplt.c
@@ -37,9 +37,9 @@
***************************************************************************/
-PALETTE_INIT( timeplt )
+void timeplt_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
rgb_t palette[32];
int i;
@@ -75,11 +75,11 @@ PALETTE_INIT( timeplt )
/* sprites */
for (i = 0; i < 64 * 4; i++)
- palette_set_color(machine, 32 * 4 + i, palette[*color_prom++ & 0x0f]);
+ palette_set_color(machine(), 32 * 4 + i, palette[*color_prom++ & 0x0f]);
/* characters */
for (i = 0; i < 32 * 4; i++)
- palette_set_color(machine, i, palette[(*color_prom++ & 0x0f) + 0x10]);
+ palette_set_color(machine(), i, palette[(*color_prom++ & 0x0f) + 0x10]);
}
@@ -120,16 +120,14 @@ TILE_GET_INFO_MEMBER(timeplt_state::get_chkun_tile_info)
*
*************************************/
-VIDEO_START( timeplt )
+void timeplt_state::video_start()
{
- timeplt_state *state = machine.driver_data<timeplt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timeplt_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(timeplt_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-VIDEO_START( chkun )
+VIDEO_START_MEMBER(timeplt_state,chkun)
{
- timeplt_state *state = machine.driver_data<timeplt_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timeplt_state::get_chkun_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(timeplt_state::get_chkun_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/tmnt.c b/src/mame/video/tmnt.c
index 62792be26a7..9b88d50b19d 100644
--- a/src/mame/video/tmnt.c
+++ b/src/mame/video/tmnt.c
@@ -220,89 +220,82 @@ void prmrsocr_sprite_callback( running_machine &machine, int *code, int *color,
***************************************************************************/
-VIDEO_START( cuebrick )
+VIDEO_START_MEMBER(tmnt_state,cuebrick)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 32;
- state->m_layer_colorbase[2] = 40;
- state->m_sprite_colorbase = 16;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 32;
+ m_layer_colorbase[2] = 40;
+ m_sprite_colorbase = 16;
}
-VIDEO_START( mia )
+VIDEO_START_MEMBER(tmnt_state,mia)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 32;
- state->m_layer_colorbase[2] = 40;
- state->m_sprite_colorbase = 16;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 32;
+ m_layer_colorbase[2] = 40;
+ m_sprite_colorbase = 16;
- state->m_tmnt_priorityflag = 0;
- state->save_item(NAME(state->m_tmnt_priorityflag));
+ m_tmnt_priorityflag = 0;
+ save_item(NAME(m_tmnt_priorityflag));
}
-VIDEO_START( tmnt )
+VIDEO_START_MEMBER(tmnt_state,tmnt)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_layer_colorbase[0] = 0;
- state->m_layer_colorbase[1] = 32;
- state->m_layer_colorbase[2] = 40;
- state->m_sprite_colorbase = 16;
+ m_layer_colorbase[0] = 0;
+ m_layer_colorbase[1] = 32;
+ m_layer_colorbase[2] = 40;
+ m_sprite_colorbase = 16;
- state->m_tmnt_priorityflag = 0;
- state->save_item(NAME(state->m_tmnt_priorityflag));
+ m_tmnt_priorityflag = 0;
+ save_item(NAME(m_tmnt_priorityflag));
- palette_set_shadow_factor(machine,0.75);
+ palette_set_shadow_factor(machine(),0.75);
}
-VIDEO_START( lgtnfght ) /* also tmnt2, ssriders */
+VIDEO_START_MEMBER(tmnt_state,lgtnfght)/* also tmnt2, ssriders */
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- k05324x_set_z_rejection(state->m_k053245, 0);
+ k05324x_set_z_rejection(m_k053245, 0);
- state->m_dim_c = state->m_dim_v = state->m_lastdim = state->m_lasten = 0;
+ m_dim_c = m_dim_v = m_lastdim = m_lasten = 0;
- state->save_item(NAME(state->m_dim_c));
- state->save_item(NAME(state->m_dim_v));
- state->save_item(NAME(state->m_lastdim));
- state->save_item(NAME(state->m_lasten));
+ save_item(NAME(m_dim_c));
+ save_item(NAME(m_dim_v));
+ save_item(NAME(m_lastdim));
+ save_item(NAME(m_lasten));
}
-VIDEO_START( glfgreat )
+VIDEO_START_MEMBER(tmnt_state,glfgreat)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tmnt_state::glfgreat_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
- state->m_roz_tilemap->set_transparent_pen(0);
+ m_roz_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tmnt_state::glfgreat_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
+ m_roz_tilemap->set_transparent_pen(0);
- state->m_glfgreat_roz_rom_bank = 0;
- state->m_glfgreat_roz_char_bank = 0;
- state->m_glfgreat_roz_rom_mode = 0;
- state->save_item(NAME(state->m_glfgreat_roz_rom_bank));
- state->save_item(NAME(state->m_glfgreat_roz_char_bank));
- state->save_item(NAME(state->m_glfgreat_roz_rom_mode));
+ m_glfgreat_roz_rom_bank = 0;
+ m_glfgreat_roz_char_bank = 0;
+ m_glfgreat_roz_rom_mode = 0;
+ save_item(NAME(m_glfgreat_roz_rom_bank));
+ save_item(NAME(m_glfgreat_roz_char_bank));
+ save_item(NAME(m_glfgreat_roz_rom_mode));
}
-VIDEO_START( prmrsocr )
+VIDEO_START_MEMBER(tmnt_state,prmrsocr)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tmnt_state::prmrsocr_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 512, 256);
- state->m_roz_tilemap->set_transparent_pen(0);
+ m_roz_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tmnt_state::prmrsocr_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 512, 256);
+ m_roz_tilemap->set_transparent_pen(0);
- state->m_prmrsocr_sprite_bank = 0;
- state->m_glfgreat_roz_char_bank = 0;
- state->save_item(NAME(state->m_prmrsocr_sprite_bank));
- state->save_item(NAME(state->m_glfgreat_roz_char_bank));
+ m_prmrsocr_sprite_bank = 0;
+ m_glfgreat_roz_char_bank = 0;
+ save_item(NAME(m_prmrsocr_sprite_bank));
+ save_item(NAME(m_glfgreat_roz_char_bank));
}
-VIDEO_START( blswhstl )
+VIDEO_START_MEMBER(tmnt_state,blswhstl)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_blswhstl_rombank = -1;
- state->save_item(NAME(state->m_blswhstl_rombank));
+ m_blswhstl_rombank = -1;
+ save_item(NAME(m_blswhstl_rombank));
}
diff --git a/src/mame/video/tnzs.c b/src/mame/video/tnzs.c
index 32bf8654766..2b4d02436bb 100644
--- a/src/mame/video/tnzs.c
+++ b/src/mame/video/tnzs.c
@@ -30,15 +30,15 @@
***************************************************************************/
-PALETTE_INIT( arknoid2 )
+PALETTE_INIT_MEMBER(tnzs_state,arknoid2)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, col;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
col = (color_prom[i] << 8) + color_prom[i + 512];
- palette_set_color_rgb(machine, i, pal5bit(col >> 10), pal5bit(col >> 5), pal5bit(col >> 0));
+ palette_set_color_rgb(machine(), i, pal5bit(col >> 10), pal5bit(col >> 5), pal5bit(col >> 0));
}
}
diff --git a/src/mame/video/toaplan1.c b/src/mame/video/toaplan1.c
index 059ef28fe56..3fc181d50a1 100644
--- a/src/mame/video/toaplan1.c
+++ b/src/mame/video/toaplan1.c
@@ -329,54 +329,52 @@ static void register_common(running_machine &machine)
}
-VIDEO_START( rallybik )
+VIDEO_START_MEMBER(toaplan1_state,rallybik)
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
- toaplan1_create_tilemaps(machine);
- toaplan1_paletteram_alloc(machine);
- toaplan1_vram_alloc(machine);
+ toaplan1_create_tilemaps(machine());
+ toaplan1_paletteram_alloc(machine());
+ toaplan1_vram_alloc(machine());
- state->m_buffered_spriteram = auto_alloc_array_clear(machine, UINT16, state->m_spriteram.bytes()/2);
- state->save_pointer(NAME(state->m_buffered_spriteram), state->m_spriteram.bytes()/2);
+ m_buffered_spriteram = auto_alloc_array_clear(machine(), UINT16, m_spriteram.bytes()/2);
+ save_pointer(NAME(m_buffered_spriteram), m_spriteram.bytes()/2);
- state->m_scrollx_offs1 = 0x00d + 6;
- state->m_scrollx_offs2 = 0x00d + 4;
- state->m_scrollx_offs3 = 0x00d + 2;
- state->m_scrollx_offs4 = 0x00d + 0;
- state->m_scrolly_offs = 0x111;
+ m_scrollx_offs1 = 0x00d + 6;
+ m_scrollx_offs2 = 0x00d + 4;
+ m_scrollx_offs3 = 0x00d + 2;
+ m_scrollx_offs4 = 0x00d + 0;
+ m_scrolly_offs = 0x111;
- state->m_bcu_flipscreen = -1;
- state->m_fcu_flipscreen = 0;
- state->m_reset = 0;
+ m_bcu_flipscreen = -1;
+ m_fcu_flipscreen = 0;
+ m_reset = 0;
- register_common(machine);
+ register_common(machine());
- machine.save().register_postload(save_prepost_delegate(FUNC(rallybik_flipscreen), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(rallybik_flipscreen), &machine()));
}
-VIDEO_START( toaplan1 )
+VIDEO_START_MEMBER(toaplan1_state,toaplan1)
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
- toaplan1_create_tilemaps(machine);
- toaplan1_paletteram_alloc(machine);
- toaplan1_vram_alloc(machine);
- toaplan1_spritevram_alloc(machine);
+ toaplan1_create_tilemaps(machine());
+ toaplan1_paletteram_alloc(machine());
+ toaplan1_vram_alloc(machine());
+ toaplan1_spritevram_alloc(machine());
- state->m_scrollx_offs1 = 0x1ef + 6;
- state->m_scrollx_offs2 = 0x1ef + 4;
- state->m_scrollx_offs3 = 0x1ef + 2;
- state->m_scrollx_offs4 = 0x1ef + 0;
- state->m_scrolly_offs = 0x101;
+ m_scrollx_offs1 = 0x1ef + 6;
+ m_scrollx_offs2 = 0x1ef + 4;
+ m_scrollx_offs3 = 0x1ef + 2;
+ m_scrollx_offs4 = 0x1ef + 0;
+ m_scrolly_offs = 0x101;
- state->m_bcu_flipscreen = -1;
- state->m_fcu_flipscreen = 0;
- state->m_reset = 1;
+ m_bcu_flipscreen = -1;
+ m_fcu_flipscreen = 0;
+ m_reset = 1;
- register_common(machine);
+ register_common(machine());
- machine.save().register_postload(save_prepost_delegate(FUNC(toaplan1_flipscreen), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(toaplan1_flipscreen), &machine()));
}
diff --git a/src/mame/video/toaplan2.c b/src/mame/video/toaplan2.c
index ed2828ddf99..36ebb963cb0 100644
--- a/src/mame/video/toaplan2.c
+++ b/src/mame/video/toaplan2.c
@@ -78,112 +78,106 @@ static void truxton2_postload(running_machine &machine)
machine.gfx[2]->mark_dirty(i);
}
-VIDEO_START( toaplan2 )
+VIDEO_START_MEMBER(toaplan2_state,toaplan2)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
/* cache the VDP device */
- state->m_vdp0 = machine.device<gp9001vdp_device>("gp9001vdp0");
- state->m_vdp1 = machine.device<gp9001vdp_device>("gp9001vdp1");
+ m_vdp0 = machine().device<gp9001vdp_device>("gp9001vdp0");
+ m_vdp1 = machine().device<gp9001vdp_device>("gp9001vdp1");
/* our current VDP implementation needs this bitmap to work with */
- machine.primary_screen->register_screen_bitmap(state->m_custom_priority_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_custom_priority_bitmap);
- if (state->m_vdp0 != NULL)
+ if (m_vdp0 != NULL)
{
- state->m_secondary_render_bitmap.reset();
- state->m_vdp0->custom_priority_bitmap = &state->m_custom_priority_bitmap;
+ m_secondary_render_bitmap.reset();
+ m_vdp0->custom_priority_bitmap = &m_custom_priority_bitmap;
}
- if (state->m_vdp1 != NULL)
+ if (m_vdp1 != NULL)
{
- machine.primary_screen->register_screen_bitmap(state->m_secondary_render_bitmap);
- state->m_vdp1->custom_priority_bitmap = &state->m_custom_priority_bitmap;
+ machine().primary_screen->register_screen_bitmap(m_secondary_render_bitmap);
+ m_vdp1->custom_priority_bitmap = &m_custom_priority_bitmap;
}
- register_state_save(machine);
+ register_state_save(machine());
}
-VIDEO_START( truxton2 )
+VIDEO_START_MEMBER(toaplan2_state,truxton2)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- VIDEO_START_CALL( toaplan2 );
+ VIDEO_START_CALL_MEMBER( toaplan2 );
/* Create the Text tilemap for this game */
- machine.gfx[2]->set_source(reinterpret_cast<UINT8 *>(state->m_tx_gfxram16.target()));
- machine.save().register_postload(save_prepost_delegate(FUNC(truxton2_postload), &machine));
+ machine().gfx[2]->set_source(reinterpret_cast<UINT8 *>(m_tx_gfxram16.target()));
+ machine().save().register_postload(save_prepost_delegate(FUNC(truxton2_postload), &machine()));
- truxton2_create_tx_tilemap(machine);
- state->m_tx_tilemap->set_scrolldx(0x1d4 +1, 0x2a);
+ truxton2_create_tx_tilemap(machine());
+ m_tx_tilemap->set_scrolldx(0x1d4 +1, 0x2a);
}
-VIDEO_START( fixeightbl )
+VIDEO_START_MEMBER(toaplan2_state,fixeightbl)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- VIDEO_START_CALL( toaplan2 );
+ VIDEO_START_CALL_MEMBER( toaplan2 );
/* Create the Text tilemap for this game */
- truxton2_create_tx_tilemap(machine);
+ truxton2_create_tx_tilemap(machine());
/* This bootleg has additional layer offsets on the VDP */
- state->m_vdp0->bg.extra_xoffset.normal = -0x1d6 -26;
- state->m_vdp0->bg.extra_yoffset.normal = -0x1ef -15;
+ m_vdp0->bg.extra_xoffset.normal = -0x1d6 -26;
+ m_vdp0->bg.extra_yoffset.normal = -0x1ef -15;
- state->m_vdp0->fg.extra_xoffset.normal = -0x1d8 -22;
- state->m_vdp0->fg.extra_yoffset.normal = -0x1ef -15;
+ m_vdp0->fg.extra_xoffset.normal = -0x1d8 -22;
+ m_vdp0->fg.extra_yoffset.normal = -0x1ef -15;
- state->m_vdp0->top.extra_xoffset.normal = -0x1da -18;
- state->m_vdp0->top.extra_yoffset.normal = -0x1ef -15;
+ m_vdp0->top.extra_xoffset.normal = -0x1da -18;
+ m_vdp0->top.extra_yoffset.normal = -0x1ef -15;
- state->m_vdp0->sp.extra_xoffset.normal = 8;//-0x1cc -64;
- state->m_vdp0->sp.extra_yoffset.normal = 8;//-0x1ef -128;
+ m_vdp0->sp.extra_xoffset.normal = 8;//-0x1cc -64;
+ m_vdp0->sp.extra_yoffset.normal = 8;//-0x1ef -128;
- state->m_vdp0->init_scroll_regs();
+ m_vdp0->init_scroll_regs();
- state->m_tx_tilemap->set_scrolldx(0, 0);
+ m_tx_tilemap->set_scrolldx(0, 0);
}
-VIDEO_START( bgaregga )
+VIDEO_START_MEMBER(toaplan2_state,bgaregga)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- VIDEO_START_CALL( toaplan2 );
+ VIDEO_START_CALL_MEMBER( toaplan2 );
/* Create the Text tilemap for this game */
- truxton2_create_tx_tilemap(machine);
- state->m_tx_tilemap->set_scrolldx(0x1d4, 0x2a);
+ truxton2_create_tx_tilemap(machine());
+ m_tx_tilemap->set_scrolldx(0x1d4, 0x2a);
}
-VIDEO_START( bgareggabl )
+VIDEO_START_MEMBER(toaplan2_state,bgareggabl)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- VIDEO_START_CALL( toaplan2 );
+ VIDEO_START_CALL_MEMBER( toaplan2 );
/* Create the Text tilemap for this game */
- truxton2_create_tx_tilemap(machine);
- state->m_tx_tilemap->set_scrolldx(0x04, 0x2a);
+ truxton2_create_tx_tilemap(machine());
+ m_tx_tilemap->set_scrolldx(0x04, 0x2a);
}
-VIDEO_START( batrider )
+VIDEO_START_MEMBER(toaplan2_state,batrider)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
- VIDEO_START_CALL( toaplan2 );
+ VIDEO_START_CALL_MEMBER( toaplan2 );
- state->m_vdp0->sp.use_sprite_buffer = 0; // disable buffering on this game
+ m_vdp0->sp.use_sprite_buffer = 0; // disable buffering on this game
/* Create the Text tilemap for this game */
- state->m_tx_gfxram16.allocate(RAIZING_TX_GFXRAM_SIZE/2);
- machine.gfx[2]->set_source(reinterpret_cast<UINT8 *>(state->m_tx_gfxram16.target()));
- machine.save().register_postload(save_prepost_delegate(FUNC(truxton2_postload), &machine));
+ m_tx_gfxram16.allocate(RAIZING_TX_GFXRAM_SIZE/2);
+ machine().gfx[2]->set_source(reinterpret_cast<UINT8 *>(m_tx_gfxram16.target()));
+ machine().save().register_postload(save_prepost_delegate(FUNC(truxton2_postload), &machine()));
- truxton2_create_tx_tilemap(machine);
- state->m_tx_tilemap->set_scrolldx(0x1d4, 0x2a);
+ truxton2_create_tx_tilemap(machine());
+ m_tx_tilemap->set_scrolldx(0x1d4, 0x2a);
/* Has special banking */
- state->m_vdp0->gp9001_gfxrom_is_banked = 1;
+ m_vdp0->gp9001_gfxrom_is_banked = 1;
}
WRITE16_MEMBER(toaplan2_state::toaplan2_txvideoram16_w)
diff --git a/src/mame/video/toki.c b/src/mame/video/toki.c
index fdf6edee0bd..cd18668f057 100644
--- a/src/mame/video/toki.c
+++ b/src/mame/video/toki.c
@@ -82,16 +82,15 @@ TILE_GET_INFO_MEMBER(toki_state::get_fore_tile_info)
*
*************************************/
-VIDEO_START( toki )
+void toki_state::video_start()
{
- toki_state *state = machine.driver_data<toki_state>();
- state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toki_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,32,32);
- state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toki_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toki_state::get_fore_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_text_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(toki_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,32,32);
+ m_background_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(toki_state::get_back_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
+ m_foreground_layer = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(toki_state::get_fore_tile_info),this),TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_text_layer->set_transparent_pen(15);
- state->m_background_layer->set_transparent_pen(15);
- state->m_foreground_layer->set_transparent_pen(15);
+ m_text_layer->set_transparent_pen(15);
+ m_background_layer->set_transparent_pen(15);
+ m_foreground_layer->set_transparent_pen(15);
}
/*************************************/
diff --git a/src/mame/video/toobin.c b/src/mame/video/toobin.c
index 58f5371c3a9..55eb06527cc 100644
--- a/src/mame/video/toobin.c
+++ b/src/mame/video/toobin.c
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(toobin_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( toobin )
+VIDEO_START_MEMBER(toobin_state,toobin)
{
static const atarimo_desc modesc =
{
@@ -82,22 +82,21 @@ VIDEO_START( toobin )
0, /* resulting value to indicate "special" */
0 /* callback routine for special entries */
};
- toobin_state *state = machine.driver_data<toobin_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toobin_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 128,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(toobin_state::get_playfield_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 128,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toobin_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,48);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(toobin_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,48);
+ m_alpha_tilemap->set_transparent_pen(0);
/* allocate a playfield bitmap for rendering */
- machine.primary_screen->register_screen_bitmap(state->m_pfbitmap);
+ machine().primary_screen->register_screen_bitmap(m_pfbitmap);
- state->save_item(NAME(state->m_brightness));
+ save_item(NAME(m_brightness));
}
diff --git a/src/mame/video/toypop.c b/src/mame/video/toypop.c
index 87eb475176f..01378d914f1 100644
--- a/src/mame/video/toypop.c
+++ b/src/mame/video/toypop.c
@@ -18,11 +18,11 @@
***************************************************************************/
-PALETTE_INIT( toypop )
+void toypop_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 256);
+ machine().colortable = colortable_alloc(machine(), 256);
for (int i = 0;i < 256;i++)
{
@@ -47,7 +47,7 @@ PALETTE_INIT( toypop )
bit3 = (color_prom[i+0x200] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r,g,b));
}
for (int i = 0;i < 256;i++)
@@ -55,17 +55,17 @@ PALETTE_INIT( toypop )
UINT8 entry;
// characters
- colortable_entry_set_value(machine.colortable, i + 0*256, (color_prom[i + 0x300] & 0x0f) | 0x70);
- colortable_entry_set_value(machine.colortable, i + 1*256, (color_prom[i + 0x300] & 0x0f) | 0xf0);
+ colortable_entry_set_value(machine().colortable, i + 0*256, (color_prom[i + 0x300] & 0x0f) | 0x70);
+ colortable_entry_set_value(machine().colortable, i + 1*256, (color_prom[i + 0x300] & 0x0f) | 0xf0);
// sprites
entry = color_prom[i + 0x500];
- colortable_entry_set_value(machine.colortable, i + 2*256, entry);
+ colortable_entry_set_value(machine().colortable, i + 2*256, entry);
}
for (int i = 0;i < 16;i++)
{
// background
- colortable_entry_set_value(machine.colortable, i + 3*256 + 0*16, 0x60 + i);
- colortable_entry_set_value(machine.colortable, i + 3*256 + 1*16, 0xe0 + i);
+ colortable_entry_set_value(machine().colortable, i + 3*256 + 0*16, 0x60 + i);
+ colortable_entry_set_value(machine().colortable, i + 3*256 + 1*16, 0xe0 + i);
}
}
@@ -110,12 +110,11 @@ TILE_GET_INFO_MEMBER(toypop_state::get_tile_info)
***************************************************************************/
-VIDEO_START( toypop )
+void toypop_state::video_start()
{
- toypop_state *state = machine.driver_data<toypop_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toypop_state::get_tile_info),state), tilemap_mapper_delegate(FUNC(toypop_state::tilemap_scan),state),8,8,36,28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(toypop_state::get_tile_info),this), tilemap_mapper_delegate(FUNC(toypop_state::tilemap_scan),this),8,8,36,28);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/tp84.c b/src/mame/video/tp84.c
index 634c902fcdf..f468c6cbb46 100644
--- a/src/mame/video/tp84.c
+++ b/src/mame/video/tp84.c
@@ -41,9 +41,9 @@
220 ohm
100 ohm
*/
-PALETTE_INIT( tp84 )
+void tp84_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[4] = { 1000, 470, 220, 100 };
double weights[4];
int i;
@@ -55,7 +55,7 @@ PALETTE_INIT( tp84 )
0, 0, 0, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x100);
+ machine().colortable = colortable_alloc(machine(), 0x100);
/* create a lookup table for the palette */
for (i = 0; i < 0x100; i++)
@@ -84,7 +84,7 @@ PALETTE_INIT( tp84 )
bit3 = (color_prom[i + 0x200] >> 3) & 0x01;
b = combine_4_weights(weights, bit0, bit1, bit2, bit3);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -98,7 +98,7 @@ PALETTE_INIT( tp84 )
for (j = 0; j < 8; j++)
{
UINT8 ctabentry = ((~i & 0x100) >> 1) | (j << 4) | (color_prom[i] & 0x0f);
- colortable_entry_set_value(machine.colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
+ colortable_entry_set_value(machine().colortable, ((i & 0x100) << 3) | (j << 8) | (i & 0xff), ctabentry);
}
}
}
@@ -142,11 +142,10 @@ TILE_GET_INFO_MEMBER(tp84_state::get_fg_tile_info)
}
-VIDEO_START( tp84 )
+void tp84_state::video_start()
{
- tp84_state *state = machine.driver_data<tp84_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tp84_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tp84_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tp84_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tp84_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/trackfld.c b/src/mame/video/trackfld.c
index 1e2ffd822cd..afa5c61704c 100644
--- a/src/mame/video/trackfld.c
+++ b/src/mame/video/trackfld.c
@@ -29,9 +29,9 @@
***************************************************************************/
-PALETTE_INIT( trackfld )
+PALETTE_INIT_MEMBER(trackfld_state,trackfld)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -44,7 +44,7 @@ PALETTE_INIT( trackfld )
2, &resistances_b[0], bweights, 1000, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( trackfld )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -79,14 +79,14 @@ PALETTE_INIT( trackfld )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* characters */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -171,20 +171,18 @@ TILE_GET_INFO_MEMBER(trackfld_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-VIDEO_START( trackfld )
+VIDEO_START_MEMBER(trackfld_state,trackfld)
{
- trackfld_state *state = machine.driver_data<trackfld_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(trackfld_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_scroll_rows(32);
- state->m_sprites_gfx_banked = 0;
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(trackfld_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap->set_scroll_rows(32);
+ m_sprites_gfx_banked = 0;
}
-VIDEO_START( atlantol )
+VIDEO_START_MEMBER(trackfld_state,atlantol)
{
- trackfld_state *state = machine.driver_data<trackfld_state>();
- VIDEO_START_CALL( trackfld );
- state->m_sprites_gfx_banked = 1;
+ VIDEO_START_CALL_MEMBER( trackfld );
+ m_sprites_gfx_banked = 1;
}
diff --git a/src/mame/video/travrusa.c b/src/mame/video/travrusa.c
index d2d7503ffa3..93bd2ec64b1 100644
--- a/src/mame/video/travrusa.c
+++ b/src/mame/video/travrusa.c
@@ -37,13 +37,13 @@ J Clegg
***************************************************************************/
-PALETTE_INIT( travrusa )
+void travrusa_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x90);
+ machine().colortable = colortable_alloc(machine(), 0x90);
/* create a lookup table for the palette */
for (i = 0; i < 0x80; i++)
@@ -69,7 +69,7 @@ PALETTE_INIT( travrusa )
bit2 = (color_prom[i] >> 2) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
for (i = 0x80; i < 0x90; i++)
@@ -95,7 +95,7 @@ PALETTE_INIT( travrusa )
bit2 = (color_prom[(i - 0x80) + 0x200] >> 2) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -103,23 +103,23 @@ PALETTE_INIT( travrusa )
/* characters */
for (i = 0; i < 0x80; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprites */
for (i = 0x80; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i - 0x80] & 0x0f) | 0x80;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
-PALETTE_INIT( shtrider )
+PALETTE_INIT_MEMBER(travrusa_state,shtrider)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x90);
+ machine().colortable = colortable_alloc(machine(), 0x90);
/* create a lookup table for the palette */
for (i = 0; i < 0x80; i++)
@@ -145,7 +145,7 @@ PALETTE_INIT( shtrider )
bit2 = (color_prom[i + 0x100] >> 2) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
for (i = 0x80; i < 0x90; i++)
@@ -171,7 +171,7 @@ PALETTE_INIT( shtrider )
bit2 = (color_prom[(i - 0x80) + 0x200] >> 2) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -179,13 +179,13 @@ PALETTE_INIT( shtrider )
/* characters */
for (i = 0; i < 0x80; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* sprites */
for (i = 0x80; i < 0x100; i++)
{
UINT8 ctabentry = (color_prom[i - 0x80] & 0x0f) | 0x80;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
@@ -219,18 +219,17 @@ TILE_GET_INFO_MEMBER(travrusa_state::get_tile_info)
***************************************************************************/
-VIDEO_START( travrusa )
+void travrusa_state::video_start()
{
- travrusa_state *state = machine.driver_data<travrusa_state>();
- state->save_item(NAME(state->m_scrollx));
+ save_item(NAME(m_scrollx));
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(travrusa_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(travrusa_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
- state->m_bg_tilemap->set_transmask(1, 0x3f, 0xc0); /* split type 1 has pens 6 and 7 opaque - tunnels */
+ m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
+ m_bg_tilemap->set_transmask(1, 0x3f, 0xc0); /* split type 1 has pens 6 and 7 opaque - tunnels */
- state->m_bg_tilemap->set_scroll_rows(4);
+ m_bg_tilemap->set_scroll_rows(4);
}
diff --git a/src/mame/video/triplhnt.c b/src/mame/video/triplhnt.c
index f60ee819a46..5e92058af4b 100644
--- a/src/mame/video/triplhnt.c
+++ b/src/mame/video/triplhnt.c
@@ -16,12 +16,11 @@ TILE_GET_INFO_MEMBER(triplhnt_state::get_tile_info)
}
-VIDEO_START( triplhnt )
+void triplhnt_state::video_start()
{
- triplhnt_state *state = machine.driver_data<triplhnt_state>();
- machine.primary_screen->register_screen_bitmap(state->m_helper);
+ machine().primary_screen->register_screen_bitmap(m_helper);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(triplhnt_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(triplhnt_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
diff --git a/src/mame/video/truco.c b/src/mame/video/truco.c
index 83d64aac12c..486fca15156 100644
--- a/src/mame/video/truco.c
+++ b/src/mame/video/truco.c
@@ -9,11 +9,11 @@
#include "emu.h"
#include "includes/truco.h"
-PALETTE_INIT( truco )
+void truco_state::palette_init()
{
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int r = ( i & 0x8 ) ? 0xff : 0x00;
int g = ( i & 0x4 ) ? 0xff : 0x00;
@@ -27,7 +27,7 @@ PALETTE_INIT( truco )
b >>= 1;
}
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
diff --git a/src/mame/video/trucocl.c b/src/mame/video/trucocl.c
index 579efd4af64..3853ba63294 100644
--- a/src/mame/video/trucocl.c
+++ b/src/mame/video/trucocl.c
@@ -36,13 +36,13 @@ Daughterboard: Custom made, plugged in the 2 roms and Z80 mainboard sockets.
#include "includes/trucocl.h"
-PALETTE_INIT( trucocl )
+void trucocl_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0;i < 32;i++)
- palette_set_color_rgb(machine,i,pal4bit(color_prom[i] >> 0),pal4bit(color_prom[i+32] >> 0),pal4bit(color_prom[i+32] >> 4));
+ palette_set_color_rgb(machine(),i,pal4bit(color_prom[i] >> 0),pal4bit(color_prom[i+32] >> 0),pal4bit(color_prom[i+32] >> 4));
}
WRITE8_MEMBER(trucocl_state::trucocl_videoram_w)
@@ -71,10 +71,9 @@ TILE_GET_INFO_MEMBER(trucocl_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(gfxsel,code,colour,0);
}
-VIDEO_START( trucocl )
+void trucocl_state::video_start()
{
- trucocl_state *state = machine.driver_data<trucocl_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(trucocl_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32 );
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(trucocl_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32 );
}
SCREEN_UPDATE_IND16( trucocl )
diff --git a/src/mame/video/tryout.c b/src/mame/video/tryout.c
index cade4f1f8a0..284f5296219 100644
--- a/src/mame/video/tryout.c
+++ b/src/mame/video/tryout.c
@@ -9,12 +9,12 @@
#include "includes/tryout.h"
-PALETTE_INIT( tryout )
+void tryout_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -34,7 +34,7 @@ PALETTE_INIT( tryout )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -163,18 +163,17 @@ TILEMAP_MAPPER_MEMBER(tryout_state::get_bg_memory_offset)
return a;
}
-VIDEO_START( tryout )
+void tryout_state::video_start()
{
- tryout_state *state = machine.driver_data<tryout_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tryout_state::get_fg_tile_info),state),tilemap_mapper_delegate(FUNC(tryout_state::get_fg_memory_offset),state),8,8,32,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tryout_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(tryout_state::get_bg_memory_offset),state),16,16,64,16);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tryout_state::get_fg_tile_info),this),tilemap_mapper_delegate(FUNC(tryout_state::get_fg_memory_offset),this),8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tryout_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(tryout_state::get_bg_memory_offset),this),16,16,64,16);
- state->m_vram=auto_alloc_array(machine, UINT8, 8 * 0x800);
- state->m_vram_gfx=auto_alloc_array(machine, UINT8, 0x6000);
+ m_vram=auto_alloc_array(machine(), UINT8, 8 * 0x800);
+ m_vram_gfx=auto_alloc_array(machine(), UINT8, 0x6000);
- machine.gfx[2]->set_source(state->m_vram_gfx);
+ machine().gfx[2]->set_source(m_vram_gfx);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect)
diff --git a/src/mame/video/tsamurai.c b/src/mame/video/tsamurai.c
index 3d00d6fb44a..8d4f061d952 100644
--- a/src/mame/video/tsamurai.c
+++ b/src/mame/video/tsamurai.c
@@ -44,14 +44,13 @@ TILE_GET_INFO_MEMBER(tsamurai_state::get_fg_tile_info)
***************************************************************************/
-VIDEO_START( tsamurai )
+VIDEO_START_MEMBER(tsamurai_state,tsamurai)
{
- tsamurai_state *state = machine.driver_data<tsamurai_state>();
- state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tsamurai_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tsamurai_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_background = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tsamurai_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tsamurai_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_background->set_transparent_pen(0);
- state->m_foreground->set_transparent_pen(0);
+ m_background->set_transparent_pen(0);
+ m_foreground->set_transparent_pen(0);
}
@@ -244,10 +243,9 @@ TILE_GET_INFO_MEMBER(tsamurai_state::get_vsgongf_tile_info)
0);
}
-VIDEO_START( vsgongf )
+VIDEO_START_MEMBER(tsamurai_state,vsgongf)
{
- tsamurai_state *state = machine.driver_data<tsamurai_state>();
- state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tsamurai_state::get_vsgongf_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_foreground = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tsamurai_state::get_vsgongf_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
}
SCREEN_UPDATE_IND16( vsgongf )
diff --git a/src/mame/video/tubep.c b/src/mame/video/tubep.c
index f6d20b34611..af48171bf94 100644
--- a/src/mame/video/tubep.c
+++ b/src/mame/video/tubep.c
@@ -131,10 +131,9 @@
***************************************************************************/
-PALETTE_INIT( tubep )
+PALETTE_INIT_MEMBER(tubep_state,tubep)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- tubep_state *state = machine.driver_data<tubep_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i,r,g,b;
/* background/sprites palette variables */
@@ -190,7 +189,7 @@ PALETTE_INIT( tubep )
bit1 = (*color_prom >> 7) & 0x01;
b = combine_2_weights(weights_txt_b, bit0, bit1);
- palette_set_color(machine,i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i, MAKE_RGB(r,g,b));
color_prom++;
}
@@ -198,7 +197,7 @@ PALETTE_INIT( tubep )
/* sprites use the second PROM to control 8 x LS368. We copy content of this PROM over here */
for (i = 0; i < 32; i++)
{
- state->m_prom2[i] = *color_prom;
+ m_prom2[i] = *color_prom;
color_prom++;
}
@@ -331,68 +330,66 @@ PALETTE_INIT( tubep )
/*logerror("Calculate [%x:%x] (active resistors:r=%i g=%i b=%i) = ", i, shade, active_r, active_g, active_b);*/
/*logerror("r:%3i g:%3i b:%3i\n",r,g,b );*/
- palette_set_color(machine,32+i*0x40+sh, MAKE_RGB(r,g,b));
+ palette_set_color(machine(),32+i*0x40+sh, MAKE_RGB(r,g,b));
}
}
}
-VIDEO_START( tubep )
+VIDEO_START_MEMBER(tubep_state,tubep)
{
- tubep_state *state = machine.driver_data<tubep_state>();
- state->m_spritemap = auto_alloc_array(machine, UINT8, 256*256*2);
+ m_spritemap = auto_alloc_array(machine(), UINT8, 256*256*2);
/* Set up save state */
- state_save_register_global(machine, state->m_romD_addr);
- state_save_register_global(machine, state->m_romEF_addr);
- state_save_register_global(machine, state->m_E16_add_b);
- state_save_register_global(machine, state->m_HINV);
- state_save_register_global(machine, state->m_VINV);
- state_save_register_global(machine, state->m_XSize);
- state_save_register_global(machine, state->m_YSize);
- state_save_register_global(machine, state->m_mark_1);
- state_save_register_global(machine, state->m_mark_2);
- state_save_register_global(machine, state->m_colorram_addr_hi);
- state_save_register_global(machine, state->m_ls273_g6);
- state_save_register_global(machine, state->m_ls273_j6);
- state_save_register_global(machine, state->m_romHI_addr_mid);
- state_save_register_global(machine, state->m_romHI_addr_msb);
- state_save_register_global(machine, state->m_DISP);
- state_save_register_global(machine, state->m_background_romsel);
- state_save_register_global(machine, state->m_color_A4);
- state_save_register_global(machine, state->m_ls175_b7);
- state_save_register_global(machine, state->m_ls175_e8);
- state_save_register_global(machine, state->m_ls377_data);
- state_save_register_global(machine, state->m_page);
+ state_save_register_global(machine(), m_romD_addr);
+ state_save_register_global(machine(), m_romEF_addr);
+ state_save_register_global(machine(), m_E16_add_b);
+ state_save_register_global(machine(), m_HINV);
+ state_save_register_global(machine(), m_VINV);
+ state_save_register_global(machine(), m_XSize);
+ state_save_register_global(machine(), m_YSize);
+ state_save_register_global(machine(), m_mark_1);
+ state_save_register_global(machine(), m_mark_2);
+ state_save_register_global(machine(), m_colorram_addr_hi);
+ state_save_register_global(machine(), m_ls273_g6);
+ state_save_register_global(machine(), m_ls273_j6);
+ state_save_register_global(machine(), m_romHI_addr_mid);
+ state_save_register_global(machine(), m_romHI_addr_msb);
+ state_save_register_global(machine(), m_DISP);
+ state_save_register_global(machine(), m_background_romsel);
+ state_save_register_global(machine(), m_color_A4);
+ state_save_register_global(machine(), m_ls175_b7);
+ state_save_register_global(machine(), m_ls175_e8);
+ state_save_register_global(machine(), m_ls377_data);
+ state_save_register_global(machine(), m_page);
}
-VIDEO_RESET( tubep )
+VIDEO_RESET_MEMBER(tubep_state,tubep)
{
- tubep_state *state = machine.driver_data<tubep_state>();
- memset(state->m_spritemap,0,256*256*2);
-
- state->m_romD_addr = 0;
- state->m_romEF_addr = 0;
- state->m_E16_add_b = 0;
- state->m_HINV = 0;
- state->m_VINV = 0;
- state->m_XSize = 0;
- state->m_YSize = 0;
- state->m_mark_1 = 0;
- state->m_mark_2 = 0;
- state->m_colorram_addr_hi = 0;
- state->m_ls273_g6 = 0;
- state->m_ls273_j6 = 0;
- state->m_romHI_addr_mid = 0;
- state->m_romHI_addr_msb = 0;
- state->m_DISP = 0;
- state->m_background_romsel = 0;
- state->m_color_A4 = 0;
- state->m_ls175_b7 = 0x0f | 0xf0;
- state->m_ls175_e8 = 0x0f;
- state->m_ls377_data = 0;
- state->m_page = 0;
+ memset(m_spritemap,0,256*256*2);
+
+ m_romD_addr = 0;
+ m_romEF_addr = 0;
+ m_E16_add_b = 0;
+ m_HINV = 0;
+ m_VINV = 0;
+ m_XSize = 0;
+ m_YSize = 0;
+ m_mark_1 = 0;
+ m_mark_2 = 0;
+ m_colorram_addr_hi = 0;
+ m_ls273_g6 = 0;
+ m_ls273_j6 = 0;
+ m_romHI_addr_mid = 0;
+ m_romHI_addr_msb = 0;
+ m_DISP = 0;
+ m_background_romsel = 0;
+ m_color_A4 = 0;
+ m_ls175_b7 = 0x0f | 0xf0;
+ m_ls175_e8 = 0x0f;
+ m_ls377_data = 0;
+ m_page = 0;
}
@@ -684,9 +681,9 @@ SCREEN_UPDATE_IND16( tubep )
***************************************************************************/
-PALETTE_INIT( rjammer )
+PALETTE_INIT_MEMBER(tubep_state,rjammer)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const int resistors_rg[3] = { 1000, 470, 220 };
@@ -699,7 +696,7 @@ PALETTE_INIT( rjammer )
2, resistors_b, weights_b, 470, 0,
0, 0, 0, 0, 0 );
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -718,7 +715,7 @@ PALETTE_INIT( rjammer )
bit1 = (*color_prom >> 7) & 0x01;
b = combine_2_weights(weights_b, bit0, bit1);
- palette_set_color(machine,i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i, MAKE_RGB(r,g,b));
color_prom++;
}
diff --git a/src/mame/video/tumbleb.c b/src/mame/video/tumbleb.c
index b1281822308..6b0c102a37c 100644
--- a/src/mame/video/tumbleb.c
+++ b/src/mame/video/tumbleb.c
@@ -233,75 +233,70 @@ static void tumbleb_tilemap_redraw(running_machine &machine)
state->m_pf2_alt_tilemap->mark_all_dirty();
}
-VIDEO_START( pangpang )
+VIDEO_START_MEMBER(tumbleb_state,pangpang)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
- state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_pf1_alt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
+ m_pf2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
- state->m_pf1_tilemap->set_transparent_pen(0);
- state->m_pf1_alt_tilemap->set_transparent_pen(0);
+ m_pf1_tilemap->set_transparent_pen(0);
+ m_pf1_alt_tilemap->set_transparent_pen(0);
- machine.save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine()));
}
-VIDEO_START( tumblepb )
+VIDEO_START_MEMBER(tumbleb_state,tumblepb)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
- state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_pf1_alt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
+ m_pf2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
- state->m_pf1_tilemap->set_transparent_pen(0);
- state->m_pf1_alt_tilemap->set_transparent_pen(0);
+ m_pf1_tilemap->set_transparent_pen(0);
+ m_pf1_alt_tilemap->set_transparent_pen(0);
- machine.save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine()));
}
-VIDEO_START( sdfight )
+VIDEO_START_MEMBER(tumbleb_state,sdfight)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); // 64*64 to prevent bad tilemap wrapping? - check real behavior
- state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
- state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); // 64*64 to prevent bad tilemap wrapping? - check real behavior
+ m_pf1_alt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
+ m_pf2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
- state->m_pf1_tilemap->set_transparent_pen(0);
- state->m_pf1_alt_tilemap->set_transparent_pen(0);
+ m_pf1_tilemap->set_transparent_pen(0);
+ m_pf1_alt_tilemap->set_transparent_pen(0);
- machine.save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine()));
}
-VIDEO_START( fncywld )
+VIDEO_START_MEMBER(tumbleb_state,fncywld)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
- state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_pf1_alt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
+ m_pf2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
- state->m_pf1_tilemap->set_transparent_pen(15);
- state->m_pf1_alt_tilemap->set_transparent_pen(15);
+ m_pf1_tilemap->set_transparent_pen(15);
+ m_pf1_alt_tilemap->set_transparent_pen(15);
- machine.save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine()));
}
-VIDEO_START( suprtrio )
+VIDEO_START_MEMBER(tumbleb_state,suprtrio)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
- state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ m_pf1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_pf1_alt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
+ m_pf2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
- state->m_pf1_alt_tilemap->set_transparent_pen(0);
+ m_pf1_alt_tilemap->set_transparent_pen(0);
- machine.save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine));
+ machine().save().register_postload(save_prepost_delegate(FUNC(tumbleb_tilemap_redraw), &machine()));
}
/******************************************************************************/
diff --git a/src/mame/video/tunhunt.c b/src/mame/video/tunhunt.c
index b88c24e30d4..ec4dbd19b08 100644
--- a/src/mame/video/tunhunt.c
+++ b/src/mame/video/tunhunt.c
@@ -65,24 +65,23 @@ TILE_GET_INFO_MEMBER(tunhunt_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( tunhunt )
+void tunhunt_state::video_start()
{
/*
Motion Object RAM contains 64 lines of run-length encoded data.
We keep track of dirty lines and cache the expanded bitmap.
With max RLE expansion, bitmap size is 256x64.
*/
- tunhunt_state *state = machine.driver_data<tunhunt_state>();
- state->m_tmpbitmap.allocate(256, 64, machine.primary_screen->format());
+ m_tmpbitmap.allocate(256, 64, machine().primary_screen->format());
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tunhunt_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(tunhunt_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scrollx(0, 64);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_scrollx(0, 64);
}
-PALETTE_INIT( tunhunt )
+void tunhunt_state::palette_init()
{
int i;
@@ -92,11 +91,11 @@ PALETTE_INIT( tunhunt )
*/
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x10);
+ machine().colortable = colortable_alloc(machine(), 0x10);
/* motion objects/box */
for (i = 0; i < 0x10; i++)
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* AlphaNumerics (1bpp)
* 2 bits of hilite select from 4 different background colors
@@ -105,26 +104,26 @@ PALETTE_INIT( tunhunt )
*/
/* alpha hilite#0 */
- colortable_entry_set_value(machine.colortable, 0x10, 0x0); /* background color#0 (transparent) */
- colortable_entry_set_value(machine.colortable, 0x11, 0x4); /* foreground color */
+ colortable_entry_set_value(machine().colortable, 0x10, 0x0); /* background color#0 (transparent) */
+ colortable_entry_set_value(machine().colortable, 0x11, 0x4); /* foreground color */
/* alpha hilite#1 */
- colortable_entry_set_value(machine.colortable, 0x12, 0x5); /* background color#1 */
- colortable_entry_set_value(machine.colortable, 0x13, 0x4); /* foreground color */
+ colortable_entry_set_value(machine().colortable, 0x12, 0x5); /* background color#1 */
+ colortable_entry_set_value(machine().colortable, 0x13, 0x4); /* foreground color */
/* alpha hilite#2 */
- colortable_entry_set_value(machine.colortable, 0x14, 0x6); /* background color#2 */
- colortable_entry_set_value(machine.colortable, 0x15, 0x4); /* foreground color */
+ colortable_entry_set_value(machine().colortable, 0x14, 0x6); /* background color#2 */
+ colortable_entry_set_value(machine().colortable, 0x15, 0x4); /* foreground color */
/* alpha hilite#3 */
- colortable_entry_set_value(machine.colortable, 0x16, 0xf); /* background color#3 */
- colortable_entry_set_value(machine.colortable, 0x17, 0x4); /* foreground color */
+ colortable_entry_set_value(machine().colortable, 0x16, 0xf); /* background color#3 */
+ colortable_entry_set_value(machine().colortable, 0x17, 0x4); /* foreground color */
/* shell graphics; these are either 1bpp (2 banks) or 2bpp. It isn't clear which.
* In any event, the following pens are associated with the shell graphics:
*/
- colortable_entry_set_value(machine.colortable, 0x18, 0);
- colortable_entry_set_value(machine.colortable, 0x19, 4);//1;
+ colortable_entry_set_value(machine().colortable, 0x18, 0);
+ colortable_entry_set_value(machine().colortable, 0x19, 4);//1;
}
/*
diff --git a/src/mame/video/turbo.c b/src/mame/video/turbo.c
index 7e763bcb612..7267737ade4 100644
--- a/src/mame/video/turbo.c
+++ b/src/mame/video/turbo.c
@@ -39,7 +39,7 @@ static const UINT32 sprite_expand[16] =
*
*************************************/
-PALETTE_INIT( turbo )
+PALETTE_INIT_MEMBER(turbo_state,turbo)
{
static const int resistances[3] = { 1000, 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -73,12 +73,12 @@ PALETTE_INIT( turbo )
bit1 = (i >> 7) & 1;
b = combine_2_weights(bweights, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-PALETTE_INIT( subroc3d )
+PALETTE_INIT_MEMBER(turbo_state,subroc3d)
{
static const int resistances[3] = { 1000, 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -112,12 +112,12 @@ PALETTE_INIT( subroc3d )
bit1 = (i >> 7) & 1;
b = combine_2_weights(bweights, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
-PALETTE_INIT( buckrog )
+PALETTE_INIT_MEMBER(turbo_state,buckrog)
{
static const int resistances[4] = { 2200, 1000, 500, 250 };
double rweights[3], gweights[3], bweights[4];
@@ -153,7 +153,7 @@ PALETTE_INIT( buckrog )
bit3 = (i >> 7) & 1;
b = combine_4_weights(bweights, bit0, bit1, bit2, bit3);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -172,25 +172,23 @@ TILE_GET_INFO_MEMBER(turbo_state::get_fg_tile_info)
}
-VIDEO_START( turbo )
+VIDEO_START_MEMBER(turbo_state,turbo)
{
- turbo_state *state = machine.driver_data<turbo_state>();
/* initialize the foreground tilemap */
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(turbo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(turbo_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
}
-VIDEO_START( buckrog )
+VIDEO_START_MEMBER(turbo_state,buckrog)
{
- turbo_state *state = machine.driver_data<turbo_state>();
/* initialize the foreground tilemap */
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(turbo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(turbo_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
/* allocate the bitmap RAM */
- state->m_buckrog_bitmap_ram = auto_alloc_array(machine, UINT8, 0xe000);
- state->save_pointer(NAME(state->m_buckrog_bitmap_ram), 0xe000);
+ m_buckrog_bitmap_ram = auto_alloc_array(machine(), UINT8, 0xe000);
+ save_pointer(NAME(m_buckrog_bitmap_ram), 0xe000);
}
diff --git a/src/mame/video/twin16.c b/src/mame/video/twin16.c
index 9f8480a7aa4..7969d3b4a58 100644
--- a/src/mame/video/twin16.c
+++ b/src/mame/video/twin16.c
@@ -491,28 +491,27 @@ TILE_GET_INFO_MEMBER(twin16_state::get_text_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-VIDEO_START( twin16 )
+VIDEO_START_MEMBER(twin16_state,twin16)
{
- twin16_state *state = machine.driver_data<twin16_state>();
- state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(twin16_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_text_tilemap->set_transparent_pen(0);
+ m_text_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(twin16_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_text_tilemap->set_transparent_pen(0);
- palette_set_shadow_factor(machine,0.4); // screenshots estimate
+ palette_set_shadow_factor(machine(),0.4); // screenshots estimate
- memset(state->m_sprite_buffer,0xff,0x800*sizeof(UINT16));
- state->m_sprite_busy = 0;
- state->m_sprite_timer = machine.scheduler().timer_alloc(FUNC(twin16_sprite_tick));
- state->m_sprite_timer->adjust(attotime::never);
+ memset(m_sprite_buffer,0xff,0x800*sizeof(UINT16));
+ m_sprite_busy = 0;
+ m_sprite_timer = machine().scheduler().timer_alloc(FUNC(twin16_sprite_tick));
+ m_sprite_timer->adjust(attotime::never);
/* register for savestates */
- state_save_register_global_array(machine, state->m_sprite_buffer);
- state_save_register_global_array(machine, state->m_scrollx);
- state_save_register_global_array(machine, state->m_scrolly);
-
- state_save_register_global(machine, state->m_need_process_spriteram);
- state_save_register_global(machine, state->m_gfx_bank);
- state_save_register_global(machine, state->m_video_register);
- state_save_register_global(machine, state->m_sprite_busy);
+ state_save_register_global_array(machine(), m_sprite_buffer);
+ state_save_register_global_array(machine(), m_scrollx);
+ state_save_register_global_array(machine(), m_scrolly);
+
+ state_save_register_global(machine(), m_need_process_spriteram);
+ state_save_register_global(machine(), m_gfx_bank);
+ state_save_register_global(machine(), m_video_register);
+ state_save_register_global(machine(), m_sprite_busy);
}
SCREEN_UPDATE_IND16( twin16 )
diff --git a/src/mame/video/twincobr.c b/src/mame/video/twincobr.c
index 361843e9a28..8d0f66396be 100644
--- a/src/mame/video/twincobr.c
+++ b/src/mame/video/twincobr.c
@@ -98,44 +98,43 @@ static void twincobr_create_tilemaps(running_machine &machine)
state->m_tx_tilemap->set_transparent_pen(0);
}
-VIDEO_START( toaplan0 )
+VIDEO_START_MEMBER(twincobr_state,toaplan0)
{
- twincobr_state *state = machine.driver_data<twincobr_state>();
/* the video RAM is accessed via ports, it's not memory mapped */
- state->m_txvideoram_size = 0x0800;
- state->m_bgvideoram_size = 0x2000; /* banked two times 0x1000 */
- state->m_fgvideoram_size = 0x1000;
-
- twincobr_create_tilemaps(machine);
-
- state->m_txvideoram16 = auto_alloc_array_clear(machine, UINT16, state->m_txvideoram_size);
- state->m_fgvideoram16 = auto_alloc_array_clear(machine, UINT16, state->m_fgvideoram_size);
- state->m_bgvideoram16 = auto_alloc_array_clear(machine, UINT16, state->m_bgvideoram_size);
-
- state->m_display_on = 0;
- twincobr_display(machine, state->m_display_on);
-
- state_save_register_global_pointer(machine, state->m_txvideoram16, state->m_txvideoram_size);
- state_save_register_global_pointer(machine, state->m_fgvideoram16, state->m_fgvideoram_size);
- state_save_register_global_pointer(machine, state->m_bgvideoram16, state->m_bgvideoram_size);
- state_save_register_global(machine, state->m_txoffs);
- state_save_register_global(machine, state->m_fgoffs);
- state_save_register_global(machine, state->m_bgoffs);
- state_save_register_global(machine, state->m_scroll_x);
- state_save_register_global(machine, state->m_scroll_y);
- state_save_register_global(machine, state->m_txscrollx);
- state_save_register_global(machine, state->m_fgscrollx);
- state_save_register_global(machine, state->m_bgscrollx);
- state_save_register_global(machine, state->m_txscrolly);
- state_save_register_global(machine, state->m_fgscrolly);
- state_save_register_global(machine, state->m_bgscrolly);
- state_save_register_global(machine, state->m_display_on);
- state_save_register_global(machine, state->m_fg_rom_bank);
- state_save_register_global(machine, state->m_bg_ram_bank);
- state_save_register_global(machine, state->m_flip_screen);
- state_save_register_global(machine, state->m_wardner_sprite_hack);
- machine.save().register_postload(save_prepost_delegate(FUNC(twincobr_restore_screen), &machine));
+ m_txvideoram_size = 0x0800;
+ m_bgvideoram_size = 0x2000; /* banked two times 0x1000 */
+ m_fgvideoram_size = 0x1000;
+
+ twincobr_create_tilemaps(machine());
+
+ m_txvideoram16 = auto_alloc_array_clear(machine(), UINT16, m_txvideoram_size);
+ m_fgvideoram16 = auto_alloc_array_clear(machine(), UINT16, m_fgvideoram_size);
+ m_bgvideoram16 = auto_alloc_array_clear(machine(), UINT16, m_bgvideoram_size);
+
+ m_display_on = 0;
+ twincobr_display(machine(), m_display_on);
+
+ state_save_register_global_pointer(machine(), m_txvideoram16, m_txvideoram_size);
+ state_save_register_global_pointer(machine(), m_fgvideoram16, m_fgvideoram_size);
+ state_save_register_global_pointer(machine(), m_bgvideoram16, m_bgvideoram_size);
+ state_save_register_global(machine(), m_txoffs);
+ state_save_register_global(machine(), m_fgoffs);
+ state_save_register_global(machine(), m_bgoffs);
+ state_save_register_global(machine(), m_scroll_x);
+ state_save_register_global(machine(), m_scroll_y);
+ state_save_register_global(machine(), m_txscrollx);
+ state_save_register_global(machine(), m_fgscrollx);
+ state_save_register_global(machine(), m_bgscrollx);
+ state_save_register_global(machine(), m_txscrolly);
+ state_save_register_global(machine(), m_fgscrolly);
+ state_save_register_global(machine(), m_bgscrolly);
+ state_save_register_global(machine(), m_display_on);
+ state_save_register_global(machine(), m_fg_rom_bank);
+ state_save_register_global(machine(), m_bg_ram_bank);
+ state_save_register_global(machine(), m_flip_screen);
+ state_save_register_global(machine(), m_wardner_sprite_hack);
+ machine().save().register_postload(save_prepost_delegate(FUNC(twincobr_restore_screen), &machine()));
}
static void twincobr_restore_screen(running_machine &machine)
diff --git a/src/mame/video/tx1.c b/src/mame/video/tx1.c
index 15e5845c6d5..a41a14404a8 100644
--- a/src/mame/video/tx1.c
+++ b/src/mame/video/tx1.c
@@ -110,9 +110,9 @@ enum
***************************************************************************/
-PALETTE_INIT( tx1 )
+PALETTE_INIT_MEMBER(tx1_state,tx1)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
static const res_net_info tx1_net_info =
@@ -133,7 +133,7 @@ PALETTE_INIT( tx1 )
g = compute_res_net(color_prom[i + 0x400] & 0xf, 1, &tx1_net_info);
b = compute_res_net(color_prom[i + 0x500] & 0xf, 2, &tx1_net_info);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -1102,22 +1102,21 @@ static void tx1_draw_objects(running_machine &machine, UINT8 *bitmap)
*
*************************************/
-VIDEO_START( tx1 )
+VIDEO_START_MEMBER(tx1_state,tx1)
{
- tx1_state *state = machine.driver_data<tx1_state>();
/* Allocate a large bitmap that covers the three screens */
- state->m_bitmap = auto_bitmap_ind16_alloc(machine, 768, 256);
+ m_bitmap = auto_bitmap_ind16_alloc(machine(), 768, 256);
/* Allocate some bitmaps */
- state->m_chr_bmp = auto_alloc_array(machine, UINT8, 256 * 3 * 240);
- state->m_obj_bmp = auto_alloc_array(machine, UINT8, 256 * 3 * 240);
- state->m_rod_bmp = auto_alloc_array(machine, UINT8, 256 * 3 * 240);
+ m_chr_bmp = auto_alloc_array(machine(), UINT8, 256 * 3 * 240);
+ m_obj_bmp = auto_alloc_array(machine(), UINT8, 256 * 3 * 240);
+ m_rod_bmp = auto_alloc_array(machine(), UINT8, 256 * 3 * 240);
/* Set a timer to run the interrupts */
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(interrupt_callback));
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(interrupt_callback));
/* /CUDISP CRTC interrupt */
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
}
SCREEN_VBLANK( tx1 )
@@ -1247,9 +1246,9 @@ SCREEN_UPDATE_IND16( tx1_right )
***************************************************************************/
-PALETTE_INIT( buggyboy )
+PALETTE_INIT_MEMBER(tx1_state,buggyboy)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
for (i = 0; i < 0x100; i++)
@@ -1278,7 +1277,7 @@ PALETTE_INIT( buggyboy )
bit4 = BIT(color_prom[i + 0x300], 0);
b = 0x06 * bit4 + 0x0d * bit0 + 0x1e * bit1 + 0x41 * bit2 + 0x8a * bit3;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
@@ -2996,34 +2995,32 @@ static void bb_combine_layers(running_machine &machine, bitmap_ind16 &bitmap, in
}
}
-VIDEO_START( buggyboy )
+VIDEO_START_MEMBER(tx1_state,buggyboy)
{
- tx1_state *state = machine.driver_data<tx1_state>();
/* Allocate some bitmaps */
- state->m_chr_bmp = auto_alloc_array(machine, UINT8, 3 * 256 * 240);
- state->m_obj_bmp = auto_alloc_array(machine, UINT8, 3 * 256 * 240);
- state->m_rod_bmp = auto_alloc_array(machine, UINT8, 3 * 256 * 240);
+ m_chr_bmp = auto_alloc_array(machine(), UINT8, 3 * 256 * 240);
+ m_obj_bmp = auto_alloc_array(machine(), UINT8, 3 * 256 * 240);
+ m_rod_bmp = auto_alloc_array(machine(), UINT8, 3 * 256 * 240);
/* Set a timer to run the interrupts */
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(interrupt_callback));
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(interrupt_callback));
/* /CUDISP CRTC interrupt */
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
}
-VIDEO_START( buggybjr )
+VIDEO_START_MEMBER(tx1_state,buggybjr)
{
- tx1_state *state = machine.driver_data<tx1_state>();
/* Allocate some bitmaps */
- state->m_chr_bmp = auto_alloc_array(machine, UINT8, 256 * 240);
- state->m_obj_bmp = auto_alloc_array(machine, UINT8, 256 * 240);
- state->m_rod_bmp = auto_alloc_array(machine, UINT8, 256 * 240);
+ m_chr_bmp = auto_alloc_array(machine(), UINT8, 256 * 240);
+ m_obj_bmp = auto_alloc_array(machine(), UINT8, 256 * 240);
+ m_rod_bmp = auto_alloc_array(machine(), UINT8, 256 * 240);
/* Set a timer to run the interrupts */
- state->m_interrupt_timer = machine.scheduler().timer_alloc(FUNC(interrupt_callback));
+ m_interrupt_timer = machine().scheduler().timer_alloc(FUNC(interrupt_callback));
/* /CUDISP CRTC interrupt */
- state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
+ m_interrupt_timer->adjust(machine().primary_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
}
SCREEN_VBLANK( buggyboy )
diff --git a/src/mame/video/ultraman.c b/src/mame/video/ultraman.c
index 986cda5c945..e74e6efd357 100644
--- a/src/mame/video/ultraman.c
+++ b/src/mame/video/ultraman.c
@@ -53,13 +53,12 @@ void ultraman_zoom_callback_2(running_machine &machine, int *code, int *color, i
***************************************************************************/
-VIDEO_START( ultraman )
+void ultraman_state::video_start()
{
- ultraman_state *state = machine.driver_data<ultraman_state>();
- state->m_sprite_colorbase = 192;
- state->m_zoom_colorbase[0] = 0;
- state->m_zoom_colorbase[1] = 64;
- state->m_zoom_colorbase[2] = 128;
+ m_sprite_colorbase = 192;
+ m_zoom_colorbase[0] = 0;
+ m_zoom_colorbase[1] = 64;
+ m_zoom_colorbase[2] = 128;
}
diff --git a/src/mame/video/ultratnk.c b/src/mame/video/ultratnk.c
index c3c71c63723..bd520a0e5cb 100644
--- a/src/mame/video/ultratnk.c
+++ b/src/mame/video/ultratnk.c
@@ -9,28 +9,28 @@ Atari Ultra Tank video emulation
#include "audio/sprint4.h"
-PALETTE_INIT( ultratnk )
+void ultratnk_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 4);
-
- colortable_palette_set_color(machine.colortable, 0, MAKE_RGB(0x00, 0x00, 0x00));
- colortable_palette_set_color(machine.colortable, 1, MAKE_RGB(0xa4, 0xa4, 0xa4));
- colortable_palette_set_color(machine.colortable, 2, MAKE_RGB(0x5b, 0x5b, 0x5b));
- colortable_palette_set_color(machine.colortable, 3, MAKE_RGB(0xff, 0xff, 0xff));
-
- colortable_entry_set_value(machine.colortable, 0, color_prom[0x00] & 3);
- colortable_entry_set_value(machine.colortable, 2, color_prom[0x00] & 3);
- colortable_entry_set_value(machine.colortable, 4, color_prom[0x00] & 3);
- colortable_entry_set_value(machine.colortable, 6, color_prom[0x00] & 3);
- colortable_entry_set_value(machine.colortable, 8, color_prom[0x00] & 3);
-
- colortable_entry_set_value(machine.colortable, 1, color_prom[0x01] & 3);
- colortable_entry_set_value(machine.colortable, 3, color_prom[0x02] & 3);
- colortable_entry_set_value(machine.colortable, 5, color_prom[0x04] & 3);
- colortable_entry_set_value(machine.colortable, 7, color_prom[0x08] & 3);
- colortable_entry_set_value(machine.colortable, 9, color_prom[0x10] & 3);
+ machine().colortable = colortable_alloc(machine(), 4);
+
+ colortable_palette_set_color(machine().colortable, 0, MAKE_RGB(0x00, 0x00, 0x00));
+ colortable_palette_set_color(machine().colortable, 1, MAKE_RGB(0xa4, 0xa4, 0xa4));
+ colortable_palette_set_color(machine().colortable, 2, MAKE_RGB(0x5b, 0x5b, 0x5b));
+ colortable_palette_set_color(machine().colortable, 3, MAKE_RGB(0xff, 0xff, 0xff));
+
+ colortable_entry_set_value(machine().colortable, 0, color_prom[0x00] & 3);
+ colortable_entry_set_value(machine().colortable, 2, color_prom[0x00] & 3);
+ colortable_entry_set_value(machine().colortable, 4, color_prom[0x00] & 3);
+ colortable_entry_set_value(machine().colortable, 6, color_prom[0x00] & 3);
+ colortable_entry_set_value(machine().colortable, 8, color_prom[0x00] & 3);
+
+ colortable_entry_set_value(machine().colortable, 1, color_prom[0x01] & 3);
+ colortable_entry_set_value(machine().colortable, 3, color_prom[0x02] & 3);
+ colortable_entry_set_value(machine().colortable, 5, color_prom[0x04] & 3);
+ colortable_entry_set_value(machine().colortable, 7, color_prom[0x08] & 3);
+ colortable_entry_set_value(machine().colortable, 9, color_prom[0x10] & 3);
}
@@ -46,12 +46,11 @@ TILE_GET_INFO_MEMBER(ultratnk_state::ultratnk_tile_info)
}
-VIDEO_START( ultratnk )
+void ultratnk_state::video_start()
{
- ultratnk_state *state = machine.driver_data<ultratnk_state>();
- machine.primary_screen->register_screen_bitmap(state->m_helper);
+ machine().primary_screen->register_screen_bitmap(m_helper);
- state->m_playfield = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ultratnk_state::ultratnk_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_playfield = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ultratnk_state::ultratnk_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/undrfire.c b/src/mame/video/undrfire.c
index f90db20e939..70c8eb840f0 100644
--- a/src/mame/video/undrfire.c
+++ b/src/mame/video/undrfire.c
@@ -6,15 +6,14 @@
/******************************************************************/
-VIDEO_START( undrfire )
+void undrfire_state::video_start()
{
- undrfire_state *state = machine.driver_data<undrfire_state>();
int i;
- state->m_spritelist = auto_alloc_array(machine, struct tempsprite, 0x4000);
+ m_spritelist = auto_alloc_array(machine(), struct tempsprite, 0x4000);
for (i = 0; i < 16384; i++) /* Fix later - some weird colours in places */
- palette_set_color(machine, i, MAKE_RGB(0,0,0));
+ palette_set_color(machine(), i, MAKE_RGB(0,0,0));
}
/***************************************************************
diff --git a/src/mame/video/unico.c b/src/mame/video/unico.c
index 4aec338de36..233ada4ca2a 100644
--- a/src/mame/video/unico.c
+++ b/src/mame/video/unico.c
@@ -131,68 +131,66 @@ WRITE32_MEMBER(unico_state::unico_vram32_w)
***************************************************************************/
-VIDEO_START( unico )
+VIDEO_START_MEMBER(unico_state,unico)
{
- unico_state *state = machine.driver_data<unico_state>();
- state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),state),TILEMAP_SCAN_ROWS,
+ m_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),this),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),state),TILEMAP_SCAN_ROWS,
+ m_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),this),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),state),TILEMAP_SCAN_ROWS,
+ m_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),this),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[0]->set_user_data(&state->m_vram[0x8000/2]);
- state->m_tilemap[1]->set_user_data(&state->m_vram[0x0000/2]);
- state->m_tilemap[2]->set_user_data(&state->m_vram[0x4000/2]);
+ m_tilemap[0]->set_user_data(&m_vram[0x8000/2]);
+ m_tilemap[1]->set_user_data(&m_vram[0x0000/2]);
+ m_tilemap[2]->set_user_data(&m_vram[0x4000/2]);
- state->m_sprites_scrolldx = -0x3f;
- state->m_sprites_scrolldy = -0x0e;
+ m_sprites_scrolldx = -0x3f;
+ m_sprites_scrolldy = -0x0e;
- state->m_tilemap[0]->set_scrolldx(-0x32,0);
- state->m_tilemap[1]->set_scrolldx(-0x30,0);
- state->m_tilemap[2]->set_scrolldx(-0x2e,0);
+ m_tilemap[0]->set_scrolldx(-0x32,0);
+ m_tilemap[1]->set_scrolldx(-0x30,0);
+ m_tilemap[2]->set_scrolldx(-0x2e,0);
- state->m_tilemap[0]->set_scrolldy(-0x0f,0);
- state->m_tilemap[1]->set_scrolldy(-0x0f,0);
- state->m_tilemap[2]->set_scrolldy(-0x0f,0);
+ m_tilemap[0]->set_scrolldy(-0x0f,0);
+ m_tilemap[1]->set_scrolldy(-0x0f,0);
+ m_tilemap[2]->set_scrolldy(-0x0f,0);
- state->m_tilemap[0]->set_transparent_pen(0x00);
- state->m_tilemap[1]->set_transparent_pen(0x00);
- state->m_tilemap[2]->set_transparent_pen(0x00);
+ m_tilemap[0]->set_transparent_pen(0x00);
+ m_tilemap[1]->set_transparent_pen(0x00);
+ m_tilemap[2]->set_transparent_pen(0x00);
}
-VIDEO_START( zeropnt2 )
+VIDEO_START_MEMBER(unico_state,zeropnt2)
{
- unico_state *state = machine.driver_data<unico_state>();
- state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),state),TILEMAP_SCAN_ROWS,
+ m_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),this),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),state),TILEMAP_SCAN_ROWS,
+ m_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),this),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),state),TILEMAP_SCAN_ROWS,
+ m_tilemap[2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),this),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[0]->set_user_data(&state->m_vram32[0x8000/4]);
- state->m_tilemap[1]->set_user_data(&state->m_vram32[0x0000/4]);
- state->m_tilemap[2]->set_user_data(&state->m_vram32[0x4000/4]);
+ m_tilemap[0]->set_user_data(&m_vram32[0x8000/4]);
+ m_tilemap[1]->set_user_data(&m_vram32[0x0000/4]);
+ m_tilemap[2]->set_user_data(&m_vram32[0x4000/4]);
- state->m_sprites_scrolldx = -0x3f;
- state->m_sprites_scrolldy = -0x0e;
+ m_sprites_scrolldx = -0x3f;
+ m_sprites_scrolldy = -0x0e;
- state->m_tilemap[0]->set_scrolldx(-0x32,0);
- state->m_tilemap[1]->set_scrolldx(-0x30,0);
- state->m_tilemap[2]->set_scrolldx(-0x2e,0);
+ m_tilemap[0]->set_scrolldx(-0x32,0);
+ m_tilemap[1]->set_scrolldx(-0x30,0);
+ m_tilemap[2]->set_scrolldx(-0x2e,0);
- state->m_tilemap[0]->set_scrolldy(-0x0f,0);
- state->m_tilemap[1]->set_scrolldy(-0x0f,0);
- state->m_tilemap[2]->set_scrolldy(-0x0f,0);
+ m_tilemap[0]->set_scrolldy(-0x0f,0);
+ m_tilemap[1]->set_scrolldy(-0x0f,0);
+ m_tilemap[2]->set_scrolldy(-0x0f,0);
- state->m_tilemap[0]->set_transparent_pen(0x00);
- state->m_tilemap[1]->set_transparent_pen(0x00);
- state->m_tilemap[2]->set_transparent_pen(0x00);
+ m_tilemap[0]->set_transparent_pen(0x00);
+ m_tilemap[1]->set_transparent_pen(0x00);
+ m_tilemap[2]->set_transparent_pen(0x00);
}
diff --git a/src/mame/video/usgames.c b/src/mame/video/usgames.c
index b38d98ae9ff..ed6a5463be4 100644
--- a/src/mame/video/usgames.c
+++ b/src/mame/video/usgames.c
@@ -2,7 +2,7 @@
#include "includes/usgames.h"
-PALETTE_INIT(usgames)
+void usgames_state::palette_init()
{
int j;
@@ -25,7 +25,7 @@ PALETTE_INIT(usgames)
g = 0x7f * g * (i + 1);
b = 0x7f * b * (i + 1);
- palette_set_color(machine,j,MAKE_RGB(r, g, b));
+ palette_set_color(machine(),j,MAKE_RGB(r, g, b));
}
}
@@ -41,11 +41,10 @@ TILE_GET_INFO_MEMBER(usgames_state::get_usgames_tile_info)
SET_TILE_INFO_MEMBER(0,tileno,colour,0);
}
-VIDEO_START(usgames)
+void usgames_state::video_start()
{
- usgames_state *state = machine.driver_data<usgames_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(usgames_state::get_usgames_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- machine.gfx[0]->set_source(state->m_charram);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(usgames_state::get_usgames_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ machine().gfx[0]->set_source(m_charram);
}
diff --git a/src/mame/video/vastar.c b/src/mame/video/vastar.c
index 82f5a18c9f1..43c54ae82eb 100644
--- a/src/mame/video/vastar.c
+++ b/src/mame/video/vastar.c
@@ -65,20 +65,19 @@ TILE_GET_INFO_MEMBER(vastar_state::get_bg2_tile_info)
***************************************************************************/
-VIDEO_START( vastar )
+void vastar_state::video_start()
{
- vastar_state *state = machine.driver_data<vastar_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vastar_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vastar_state::get_bg1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vastar_state::get_bg2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vastar_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vastar_state::get_bg1_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg2_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vastar_state::get_bg2_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg1_tilemap->set_transparent_pen(0);
- state->m_bg2_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_bg1_tilemap->set_transparent_pen(0);
+ m_bg2_tilemap->set_transparent_pen(0);
- state->m_bg1_tilemap->set_scroll_cols(32);
- state->m_bg2_tilemap->set_scroll_cols(32);
+ m_bg1_tilemap->set_scroll_cols(32);
+ m_bg2_tilemap->set_scroll_cols(32);
}
diff --git a/src/mame/video/vball.c b/src/mame/video/vball.c
index ea232120292..001a2f7fc68 100644
--- a/src/mame/video/vball.c
+++ b/src/mame/video/vball.c
@@ -37,15 +37,14 @@ TILE_GET_INFO_MEMBER(vball_state::get_bg_tile_info)
}
-VIDEO_START( vb )
+void vball_state::video_start()
{
- vball_state *state = machine.driver_data<vball_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vball_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(vball_state::background_scan),state), 8, 8,64,64);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vball_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(vball_state::background_scan),this), 8, 8,64,64);
- state->m_bg_tilemap->set_scroll_rows(32);
- state->m_gfxset=0;
- state->m_vb_bgprombank=0xff;
- state->m_vb_spprombank=0xff;
+ m_bg_tilemap->set_scroll_rows(32);
+ m_gfxset=0;
+ m_vb_bgprombank=0xff;
+ m_vb_spprombank=0xff;
}
WRITE8_MEMBER(vball_state::vb_videoram_w)
diff --git a/src/mame/video/vectrex.c b/src/mame/video/vectrex.c
index 6400e5bf3c6..96b0a8c6d35 100644
--- a/src/mame/video/vectrex.c
+++ b/src/mame/video/vectrex.c
@@ -277,31 +277,30 @@ static TIMER_CALLBACK(update_signal)
*********************************************************************/
-VIDEO_START(vectrex)
+void vectrex_state::video_start()
{
- vectrex_state *state = machine.driver_data<vectrex_state>();
- screen_device *screen = machine.first_screen();
+ screen_device *screen = machine().first_screen();
const rectangle &visarea = screen->visible_area();
- state->m_x_center=(visarea.width() / 2) << 16;
- state->m_y_center=(visarea.height() / 2) << 16;
- state->m_x_max = visarea.max_x << 16;
- state->m_y_max = visarea.max_y << 16;
+ m_x_center=(visarea.width() / 2) << 16;
+ m_y_center=(visarea.height() / 2) << 16;
+ m_x_max = visarea.max_x << 16;
+ m_y_max = visarea.max_y << 16;
- state->m_imager_freq = 1;
+ m_imager_freq = 1;
- state->vector_add_point_function = vectrex_add_point;
- state->m_imager_timer = machine.scheduler().timer_alloc(FUNC(vectrex_imager_eye));
- state->m_imager_timer->adjust(
- attotime::from_hz(state->m_imager_freq),
+ vector_add_point_function = vectrex_add_point;
+ m_imager_timer = machine().scheduler().timer_alloc(FUNC(vectrex_imager_eye));
+ m_imager_timer->adjust(
+ attotime::from_hz(m_imager_freq),
2,
- attotime::from_hz(state->m_imager_freq));
+ attotime::from_hz(m_imager_freq));
- state->m_lp_t = machine.scheduler().timer_alloc(FUNC(lightpen_trigger));
+ m_lp_t = machine().scheduler().timer_alloc(FUNC(lightpen_trigger));
- state->m_refresh = machine.scheduler().timer_alloc(FUNC(vectrex_refresh));
+ m_refresh = machine().scheduler().timer_alloc(FUNC(vectrex_refresh));
- VIDEO_START_CALL(vector);
+ VIDEO_START_CALL_LEGACY(vector);
}
@@ -485,19 +484,18 @@ WRITE8_MEMBER(vectrex_state::raaspec_led_w)
}
-VIDEO_START(raaspec)
+VIDEO_START_MEMBER(vectrex_state,raaspec)
{
- vectrex_state *state = machine.driver_data<vectrex_state>();
- screen_device *screen = machine.first_screen();
+ screen_device *screen = machine().first_screen();
const rectangle &visarea = screen->visible_area();
- state->m_x_center=(visarea.width() / 2) << 16;
- state->m_y_center=(visarea.height() / 2) << 16;
- state->m_x_max = visarea.max_x << 16;
- state->m_y_max = visarea.max_y << 16;
+ m_x_center=(visarea.width() / 2) << 16;
+ m_y_center=(visarea.height() / 2) << 16;
+ m_x_max = visarea.max_x << 16;
+ m_y_max = visarea.max_y << 16;
- state->vector_add_point_function = vectrex_add_point;
- state->m_refresh = machine.scheduler().timer_alloc(FUNC(vectrex_refresh));
+ vector_add_point_function = vectrex_add_point;
+ m_refresh = machine().scheduler().timer_alloc(FUNC(vectrex_refresh));
- VIDEO_START_CALL(vector);
+ VIDEO_START_CALL_LEGACY(vector);
}
diff --git a/src/mame/video/victory.c b/src/mame/video/victory.c
index 218a1bf7202..ef9d0cefd52 100644
--- a/src/mame/video/victory.c
+++ b/src/mame/video/victory.c
@@ -38,29 +38,28 @@ static int command7(running_machine &machine);
*
*************************************/
-VIDEO_START( victory )
+void victory_state::video_start()
{
- victory_state *state = machine.driver_data<victory_state>();
/* allocate bitmapram */
- state->m_rram = auto_alloc_array(machine, UINT8, 0x4000);
- state->m_gram = auto_alloc_array(machine, UINT8, 0x4000);
- state->m_bram = auto_alloc_array(machine, UINT8, 0x4000);
+ m_rram = auto_alloc_array(machine(), UINT8, 0x4000);
+ m_gram = auto_alloc_array(machine(), UINT8, 0x4000);
+ m_bram = auto_alloc_array(machine(), UINT8, 0x4000);
/* allocate bitmaps */
- state->m_bgbitmap = auto_alloc_array(machine, UINT8, 256 * 256);
- state->m_fgbitmap = auto_alloc_array(machine, UINT8, 256 * 256);
+ m_bgbitmap = auto_alloc_array(machine(), UINT8, 256 * 256);
+ m_fgbitmap = auto_alloc_array(machine(), UINT8, 256 * 256);
/* reset globals */
- state->m_vblank_irq = 0;
- state->m_fgcoll = state->m_fgcollx = state->m_fgcolly = 0;
- state->m_bgcoll = state->m_bgcollx = state->m_bgcolly = 0;
- state->m_scrollx = state->m_scrolly = 0;
- state->m_video_control = 0;
- memset(&state->m_micro, 0, sizeof(state->m_micro));
- state->m_micro.timer = machine.scheduler().timer_alloc(FUNC_NULL);
+ m_vblank_irq = 0;
+ m_fgcoll = m_fgcollx = m_fgcolly = 0;
+ m_bgcoll = m_bgcollx = m_bgcolly = 0;
+ m_scrollx = m_scrolly = 0;
+ m_video_control = 0;
+ memset(&m_micro, 0, sizeof(m_micro));
+ m_micro.timer = machine().scheduler().timer_alloc(FUNC_NULL);
/* register for state saving */
- state_save_register_global_array(machine, state->m_paletteram);
+ state_save_register_global_array(machine(), m_paletteram);
}
diff --git a/src/mame/video/videopin.c b/src/mame/video/videopin.c
index 994cf906058..826d2da9bda 100644
--- a/src/mame/video/videopin.c
+++ b/src/mame/video/videopin.c
@@ -25,10 +25,9 @@ TILE_GET_INFO_MEMBER(videopin_state::get_tile_info)
}
-VIDEO_START( videopin )
+void videopin_state::video_start()
{
- videopin_state *state = machine.driver_data<videopin_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(videopin_state::get_tile_info),state), tilemap_mapper_delegate(FUNC(videopin_state::get_memory_offset),state), 8, 8, 48, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(videopin_state::get_tile_info),this), tilemap_mapper_delegate(FUNC(videopin_state::get_memory_offset),this), 8, 8, 48, 32);
}
diff --git a/src/mame/video/vigilant.c b/src/mame/video/vigilant.c
index 30fbdcd355c..96eccc339c5 100644
--- a/src/mame/video/vigilant.c
+++ b/src/mame/video/vigilant.c
@@ -17,23 +17,21 @@
static const rectangle bottomvisiblearea(16*8, 48*8-1, 6*8, 32*8-1);
-VIDEO_START( vigilant )
+void vigilant_state::video_start()
{
- vigilant_state *state = machine.driver_data<vigilant_state>();
- state->m_bg_bitmap = auto_bitmap_ind16_alloc(machine,512*4,256);
+ m_bg_bitmap = auto_bitmap_ind16_alloc(machine(),512*4,256);
}
-VIDEO_RESET( vigilant )
+void vigilant_state::video_reset()
{
- vigilant_state *state = machine.driver_data<vigilant_state>();
- state->m_horiz_scroll_low = 0;
- state->m_horiz_scroll_high = 0;
- state->m_rear_horiz_scroll_low = 0;
- state->m_rear_horiz_scroll_high = 0;
- state->m_rear_color = 0;
- state->m_rear_disable = 1;
- state->m_rear_refresh = 1;
+ m_horiz_scroll_low = 0;
+ m_horiz_scroll_high = 0;
+ m_rear_horiz_scroll_low = 0;
+ m_rear_horiz_scroll_high = 0;
+ m_rear_color = 0;
+ m_rear_disable = 1;
+ m_rear_refresh = 1;
}
diff --git a/src/mame/video/vindictr.c b/src/mame/video/vindictr.c
index 32ba3b9aa11..0d63f15f341 100644
--- a/src/mame/video/vindictr.c
+++ b/src/mame/video/vindictr.c
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(vindictr_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( vindictr )
+VIDEO_START_MEMBER(vindictr_state,vindictr)
{
static const atarimo_desc modesc =
{
@@ -80,22 +80,21 @@ VIDEO_START( vindictr )
0, /* resulting value to indicate "special" */
NULL /* callback routine for special entries */
};
- vindictr_state *state = machine.driver_data<vindictr_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vindictr_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vindictr_state::get_playfield_tile_info),this), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vindictr_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vindictr_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
/* save states */
- state->save_item(NAME(state->m_playfield_tile_bank));
- state->save_item(NAME(state->m_playfield_xscroll));
- state->save_item(NAME(state->m_playfield_yscroll));
+ save_item(NAME(m_playfield_tile_bank));
+ save_item(NAME(m_playfield_xscroll));
+ save_item(NAME(m_playfield_yscroll));
}
diff --git a/src/mame/video/volfied.c b/src/mame/video/volfied.c
index 483452f28dc..8a7e5227605 100644
--- a/src/mame/video/volfied.c
+++ b/src/mame/video/volfied.c
@@ -6,17 +6,16 @@
INITIALISATION AND CLEAN-UP
******************************************************/
-VIDEO_START( volfied )
+void volfied_state::video_start()
{
- volfied_state *state = machine.driver_data<volfied_state>();
- state->m_video_ram = auto_alloc_array(machine, UINT16, 0x40000);
+ m_video_ram = auto_alloc_array(machine(), UINT16, 0x40000);
- state->m_video_ctrl = 0;
- state->m_video_mask = 0;
+ m_video_ctrl = 0;
+ m_video_mask = 0;
- state->save_pointer(NAME(state->m_video_ram), 0x40000);
- state->save_item(NAME(state->m_video_ctrl));
- state->save_item(NAME(state->m_video_mask));
+ save_pointer(NAME(m_video_ram), 0x40000);
+ save_item(NAME(m_video_ctrl));
+ save_item(NAME(m_video_mask));
}
diff --git a/src/mame/video/vsnes.c b/src/mame/video/vsnes.c
index 02fe6419851..f6a8c4d8b9d 100644
--- a/src/mame/video/vsnes.c
+++ b/src/mame/video/vsnes.c
@@ -3,18 +3,18 @@
#include "includes/vsnes.h"
-PALETTE_INIT( vsnes )
+PALETTE_INIT_MEMBER(vsnes_state,vsnes)
{
- ppu2c0x_device *ppu = machine.device<ppu2c0x_device>("ppu1");
- ppu->init_palette_rgb(machine, 0 );
+ ppu2c0x_device *ppu = machine().device<ppu2c0x_device>("ppu1");
+ ppu->init_palette_rgb(machine(), 0 );
}
-PALETTE_INIT( vsdual )
+PALETTE_INIT_MEMBER(vsnes_state,vsdual)
{
- ppu2c0x_device *ppu1 = machine.device<ppu2c0x_device>("ppu1");
- ppu2c0x_device *ppu2 = machine.device<ppu2c0x_device>("ppu2");
- ppu1->init_palette_rgb(machine, 0 );
- ppu2->init_palette_rgb(machine, 8*4*16 );
+ ppu2c0x_device *ppu1 = machine().device<ppu2c0x_device>("ppu1");
+ ppu2c0x_device *ppu2 = machine().device<ppu2c0x_device>("ppu2");
+ ppu1->init_palette_rgb(machine(), 0 );
+ ppu2->init_palette_rgb(machine(), 8*4*16 );
}
static void ppu_irq_1( device_t *device, int *ppu_regs )
@@ -49,11 +49,11 @@ const ppu2c0x_interface vsnes_ppu_interface_2 =
ppu_irq_2 /* irq */
};
-VIDEO_START( vsnes )
+VIDEO_START_MEMBER(vsnes_state,vsnes )
{
}
-VIDEO_START( vsdual )
+VIDEO_START_MEMBER(vsnes_state,vsdual )
{
}
diff --git a/src/mame/video/vulgus.c b/src/mame/video/vulgus.c
index 22cb8aaf33d..df8fd908f24 100644
--- a/src/mame/video/vulgus.c
+++ b/src/mame/video/vulgus.c
@@ -16,12 +16,12 @@
***************************************************************************/
-PALETTE_INIT( vulgus )
+void vulgus_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- machine.colortable = colortable_alloc(machine, 256);
+ machine().colortable = colortable_alloc(machine(), 256);
for (i = 0;i < 256;i++)
{
@@ -43,7 +43,7 @@ PALETTE_INIT( vulgus )
bit3 = (color_prom[2*256] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- colortable_palette_set_color(machine.colortable,i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,i,MAKE_RGB(r,g,b));
color_prom++;
}
@@ -52,20 +52,20 @@ PALETTE_INIT( vulgus )
/* characters use colors 32-47 (?) */
- for (i = 0;i < machine.gfx[0]->colors() * machine.gfx[0]->granularity();i++)
- colortable_entry_set_value(machine.colortable, machine.gfx[0]->colorbase() + i, 32 + *color_prom++);
+ for (i = 0;i < machine().gfx[0]->colors() * machine().gfx[0]->granularity();i++)
+ colortable_entry_set_value(machine().colortable, machine().gfx[0]->colorbase() + i, 32 + *color_prom++);
/* sprites use colors 16-31 */
- for (i = 0;i < machine.gfx[2]->colors() * machine.gfx[2]->granularity();i++)
- colortable_entry_set_value(machine.colortable, machine.gfx[2]->colorbase() + i, 16 + *color_prom++);
+ for (i = 0;i < machine().gfx[2]->colors() * machine().gfx[2]->granularity();i++)
+ colortable_entry_set_value(machine().colortable, machine().gfx[2]->colorbase() + i, 16 + *color_prom++);
/* background tiles use colors 0-15, 64-79, 128-143, 192-207 in four banks */
- for (i = 0;i < machine.gfx[1]->colors() * machine.gfx[1]->granularity() / 4;i++)
+ for (i = 0;i < machine().gfx[1]->colors() * machine().gfx[1]->granularity() / 4;i++)
{
- colortable_entry_set_value(machine.colortable, machine.gfx[1]->colorbase() + 0*32*8 + i, *color_prom);
- colortable_entry_set_value(machine.colortable, machine.gfx[1]->colorbase() + 1*32*8 + i, *color_prom + 64);
- colortable_entry_set_value(machine.colortable, machine.gfx[1]->colorbase() + 2*32*8 + i, *color_prom + 128);
- colortable_entry_set_value(machine.colortable, machine.gfx[1]->colorbase() + 3*32*8 + i, *color_prom + 192);
+ colortable_entry_set_value(machine().colortable, machine().gfx[1]->colorbase() + 0*32*8 + i, *color_prom);
+ colortable_entry_set_value(machine().colortable, machine().gfx[1]->colorbase() + 1*32*8 + i, *color_prom + 64);
+ colortable_entry_set_value(machine().colortable, machine().gfx[1]->colorbase() + 2*32*8 + i, *color_prom + 128);
+ colortable_entry_set_value(machine().colortable, machine().gfx[1]->colorbase() + 3*32*8 + i, *color_prom + 192);
color_prom++;
}
}
@@ -111,13 +111,12 @@ TILE_GET_INFO_MEMBER(vulgus_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( vulgus )
+void vulgus_state::video_start()
{
- vulgus_state *state = machine.driver_data<vulgus_state>();
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vulgus_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vulgus_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS,16,16,32,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vulgus_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(vulgus_state::get_bg_tile_info),this),TILEMAP_SCAN_COLS,16,16,32,32);
- colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 47);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, machine().gfx[0], 47);
}
diff --git a/src/mame/video/warpwarp.c b/src/mame/video/warpwarp.c
index e9854bea3e8..44c5eede81a 100644
--- a/src/mame/video/warpwarp.c
+++ b/src/mame/video/warpwarp.c
@@ -18,24 +18,24 @@ static const rgb_t geebee_palette[] =
MAKE_RGB(0x7f,0x7f,0x7f) /* grey */
};
-PALETTE_INIT( geebee )
-{
- palette_set_color(machine, 0, geebee_palette[0]);
- palette_set_color(machine, 1, geebee_palette[1]);
- palette_set_color(machine, 2, geebee_palette[1]);
- palette_set_color(machine, 3, geebee_palette[0]);
- palette_set_color(machine, 4, geebee_palette[0]);
- palette_set_color(machine, 5, geebee_palette[2]);
- palette_set_color(machine, 6, geebee_palette[2]);
- palette_set_color(machine, 7, geebee_palette[0]);
+PALETTE_INIT_MEMBER(warpwarp_state,geebee)
+{
+ palette_set_color(machine(), 0, geebee_palette[0]);
+ palette_set_color(machine(), 1, geebee_palette[1]);
+ palette_set_color(machine(), 2, geebee_palette[1]);
+ palette_set_color(machine(), 3, geebee_palette[0]);
+ palette_set_color(machine(), 4, geebee_palette[0]);
+ palette_set_color(machine(), 5, geebee_palette[2]);
+ palette_set_color(machine(), 6, geebee_palette[2]);
+ palette_set_color(machine(), 7, geebee_palette[0]);
}
-PALETTE_INIT( navarone )
+PALETTE_INIT_MEMBER(warpwarp_state,navarone)
{
- palette_set_color(machine, 0, geebee_palette[0]);
- palette_set_color(machine, 1, geebee_palette[1]);
- palette_set_color(machine, 2, geebee_palette[1]);
- palette_set_color(machine, 3, geebee_palette[0]);
+ palette_set_color(machine(), 0, geebee_palette[0]);
+ palette_set_color(machine(), 1, geebee_palette[1]);
+ palette_set_color(machine(), 2, geebee_palette[1]);
+ palette_set_color(machine(), 3, geebee_palette[0]);
}
@@ -59,7 +59,7 @@ PALETTE_INIT( navarone )
***************************************************************************/
-PALETTE_INIT( warpwarp )
+PALETTE_INIT_MEMBER(warpwarp_state,warpwarp)
{
int i;
static const int resistances_tiles_rg[] = { 1600, 820, 390 };
@@ -95,11 +95,11 @@ PALETTE_INIT( warpwarp )
bit1 = (i >> 7) & 0x01;
b = combine_2_weights(weights_tiles_b, bit0, bit1);
- palette_set_color(machine, (i * 2) + 0, RGB_BLACK);
- palette_set_color(machine, (i * 2) + 1, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), (i * 2) + 0, RGB_BLACK);
+ palette_set_color(machine(), (i * 2) + 1, MAKE_RGB(r, g, b));
}
- palette_set_color(machine, 0x200, MAKE_RGB(weight_ball[0], weight_ball[0], weight_ball[0]));
+ palette_set_color(machine(), 0x200, MAKE_RGB(weight_ball[0], weight_ball[0], weight_ball[0]));
}
@@ -164,22 +164,19 @@ TILE_GET_INFO_MEMBER(warpwarp_state::warpwarp_get_tile_info)
***************************************************************************/
-VIDEO_START( geebee )
+VIDEO_START_MEMBER(warpwarp_state,geebee)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpwarp_state::geebee_get_tile_info),state),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),state),8,8,34,28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(warpwarp_state::geebee_get_tile_info),this),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),this),8,8,34,28);
}
-VIDEO_START( navarone )
+VIDEO_START_MEMBER(warpwarp_state,navarone)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpwarp_state::navarone_get_tile_info),state),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),state),8,8,34,28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(warpwarp_state::navarone_get_tile_info),this),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),this),8,8,34,28);
}
-VIDEO_START( warpwarp )
+VIDEO_START_MEMBER(warpwarp_state,warpwarp)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpwarp_state::warpwarp_get_tile_info),state),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),state),8,8,34,28);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(warpwarp_state::warpwarp_get_tile_info),this),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),this),8,8,34,28);
}
diff --git a/src/mame/video/warriorb.c b/src/mame/video/warriorb.c
index 89288adb269..df06f51b9c6 100644
--- a/src/mame/video/warriorb.c
+++ b/src/mame/video/warriorb.c
@@ -4,12 +4,11 @@
/**********************************************************/
-VIDEO_START( warriorb )
+void warriorb_state::video_start()
{
- warriorb_state *state = machine.driver_data<warriorb_state>();
/* Ensure palette from correct TC0110PCR used for each screen */
- tc0100scn_set_colbanks(state->m_tc0100scn_1, 0x0, 0x100, 0x0);
+ tc0100scn_set_colbanks(m_tc0100scn_1, 0x0, 0x100, 0x0);
}
diff --git a/src/mame/video/wc90.c b/src/mame/video/wc90.c
index c99651dd9e1..33563faa443 100644
--- a/src/mame/video/wc90.c
+++ b/src/mame/video/wc90.c
@@ -72,26 +72,24 @@ TILE_GET_INFO_MEMBER(wc90_state::track_get_fg_tile_info)
***************************************************************************/
-VIDEO_START( wc90 )
+void wc90_state::video_start()
{
- wc90_state *state = machine.driver_data<wc90_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,64,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 16,16,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
}
-VIDEO_START( wc90t )
+VIDEO_START_MEMBER(wc90_state,wc90t)
{
- wc90_state *state = machine.driver_data<wc90_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::track_get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,64,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::track_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::track_get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 16,16,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::track_get_fg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_tx_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_tx_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/wc90b.c b/src/mame/video/wc90b.c
index 59384bbe8c9..d9b2f3b4ff3 100644
--- a/src/mame/video/wc90b.c
+++ b/src/mame/video/wc90b.c
@@ -47,15 +47,14 @@ TILE_GET_INFO_MEMBER(wc90b_state::get_tx_tile_info)
***************************************************************************/
-VIDEO_START( wc90b )
+void wc90b_state::video_start()
{
- wc90b_state *state = machine.driver_data<wc90b_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90b_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,64,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90b_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90b_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wc90b_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 16,16,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wc90b_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wc90b_state::get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_fg_tilemap->set_transparent_pen(15);
- state->m_tx_tilemap->set_transparent_pen(15);
+ m_fg_tilemap->set_transparent_pen(15);
+ m_tx_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/wecleman.c b/src/mame/video/wecleman.c
index 109b1151803..b7db1b9eaaa 100644
--- a/src/mame/video/wecleman.c
+++ b/src/mame/video/wecleman.c
@@ -878,9 +878,8 @@ WRITE16_MEMBER(wecleman_state::wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w)
Initializations
***************************************************************************/
-VIDEO_START( wecleman )
+VIDEO_START_MEMBER(wecleman_state,wecleman)
{
- wecleman_state *state = machine.driver_data<wecleman_state>();
/*
Sprite banking - each bank is 0x20000 bytes (we support 0x40 bank codes)
This game has ROMs for 16 banks
@@ -896,75 +895,75 @@ VIDEO_START( wecleman )
UINT8 *buffer;
int i, j;
- assert(machine.primary_screen->format() == BITMAP_FORMAT_RGB32);
- buffer = auto_alloc_array(machine, UINT8, 0x12c00); // working buffer for sprite operations
+ assert(machine().primary_screen->format() == BITMAP_FORMAT_RGB32);
+ buffer = auto_alloc_array(machine(), UINT8, 0x12c00); // working buffer for sprite operations
- state->m_gameid = 0;
- state->m_gfx_bank = bank;
- state->m_spr_offsx = -0xbc + BMP_PAD;
- state->m_spr_offsy = 1 + BMP_PAD;
- state->m_cloud_blend = BLEND_MAX;
- state->m_cloud_ds = 0;
- state->m_cloud_visible = 0;
- state->m_black_pen = get_black_pen(machine);
+ m_gameid = 0;
+ m_gfx_bank = bank;
+ m_spr_offsx = -0xbc + BMP_PAD;
+ m_spr_offsy = 1 + BMP_PAD;
+ m_cloud_blend = BLEND_MAX;
+ m_cloud_ds = 0;
+ m_cloud_visible = 0;
+ m_black_pen = get_black_pen(machine());
- state->m_rgb_half = (UINT16*)(buffer + 0x00000);
- state->m_t32x32pm = (int*)(buffer + 0x10020);
- state->m_spr_ptr_list = (struct sprite **)(buffer + 0x12000);
- state->m_spr_idx_list = (int *)(buffer + 0x12400);
- state->m_spr_pri_list = (int *)(buffer + 0x12800);
+ m_rgb_half = (UINT16*)(buffer + 0x00000);
+ m_t32x32pm = (int*)(buffer + 0x10020);
+ m_spr_ptr_list = (struct sprite **)(buffer + 0x12000);
+ m_spr_idx_list = (int *)(buffer + 0x12400);
+ m_spr_pri_list = (int *)(buffer + 0x12800);
for (i=0; i<0x8000; i++)
{
j = i>>1;
- state->m_rgb_half[i] = (j&0xf) | (j&0x1e0) | (j&0x3c00);
+ m_rgb_half[i] = (j&0xf) | (j&0x1e0) | (j&0x3c00);
}
for (j=0; j<0x20; j++)
{
for (i=-0x1f; i<0x20; i++)
{
- *(state->m_t32x32pm + (j<<6) + i) = i * j;
+ *(m_t32x32pm + (j<<6) + i) = i * j;
}
}
- state->m_sprite_list = auto_alloc_array_clear(machine, struct sprite, NUM_SPRITES);
+ m_sprite_list = auto_alloc_array_clear(machine(), struct sprite, NUM_SPRITES);
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_bg_tile_info),state),
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_bg_tile_info),this),
TILEMAP_SCAN_ROWS,
/* We draw part of the road below */
8,8,
PAGE_NX * 2, PAGE_NY * 2 );
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_fg_tile_info),state),
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_fg_tile_info),this),
TILEMAP_SCAN_ROWS,
8,8,
PAGE_NX * 2, PAGE_NY * 2);
- state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_txt_tile_info),state),
+ m_txt_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_txt_tile_info),this),
TILEMAP_SCAN_ROWS,
8,8,
PAGE_NX * 1, PAGE_NY * 1);
- state->m_bg_tilemap->set_scroll_rows(TILEMAP_DIMY); /* Screen-wise scrolling */
- state->m_bg_tilemap->set_scroll_cols(1);
- state->m_bg_tilemap->set_transparent_pen(0);
+ m_bg_tilemap->set_scroll_rows(TILEMAP_DIMY); /* Screen-wise scrolling */
+ m_bg_tilemap->set_scroll_cols(1);
+ m_bg_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap->set_scroll_rows(TILEMAP_DIMY); /* Screen-wise scrolling */
- state->m_fg_tilemap->set_scroll_cols(1);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_scroll_rows(TILEMAP_DIMY); /* Screen-wise scrolling */
+ m_fg_tilemap->set_scroll_cols(1);
+ m_fg_tilemap->set_transparent_pen(0);
- state->m_txt_tilemap->set_scroll_rows(1);
- state->m_txt_tilemap->set_scroll_cols(1);
- state->m_txt_tilemap->set_transparent_pen(0);
+ m_txt_tilemap->set_scroll_rows(1);
+ m_txt_tilemap->set_scroll_cols(1);
+ m_txt_tilemap->set_transparent_pen(0);
- state->m_txt_tilemap->set_scrollx(0, 512-320-16 -BMP_PAD);
- state->m_txt_tilemap->set_scrolly(0, -BMP_PAD );
+ m_txt_tilemap->set_scrollx(0, 512-320-16 -BMP_PAD);
+ m_txt_tilemap->set_scrolly(0, -BMP_PAD );
// patches out a mysterious pixel floating in the sky (tile decoding bug?)
- *const_cast<UINT8 *>(machine.gfx[0]->get_data(0xaca)+7) = 0;
+ *const_cast<UINT8 *>(machine().gfx[0]->get_data(0xaca)+7) = 0;
}
// Callbacks for the K051316
@@ -981,9 +980,8 @@ void hotchase_zoom_callback_1(running_machine &machine, int *code,int *color,int
*color = ((*color & 0x3f) << 1) | ((*code & 0x80) >> 7);
}
-VIDEO_START( hotchase )
+VIDEO_START_MEMBER(wecleman_state,hotchase)
{
- wecleman_state *state = machine.driver_data<wecleman_state>();
/*
Sprite banking - each bank is 0x20000 bytes (we support 0x40 bank codes)
This game has ROMs for 0x30 banks
@@ -998,17 +996,17 @@ VIDEO_START( hotchase )
UINT8 *buffer;
- buffer = auto_alloc_array(machine, UINT8, 0x400); // reserve 1k for sprite list
+ buffer = auto_alloc_array(machine(), UINT8, 0x400); // reserve 1k for sprite list
- state->m_gameid = 1;
- state->m_gfx_bank = bank;
- state->m_spr_offsx = -0xc0;
- state->m_spr_offsy = 0;
- state->m_black_pen = get_black_pen(machine);
+ m_gameid = 1;
+ m_gfx_bank = bank;
+ m_spr_offsx = -0xc0;
+ m_spr_offsy = 0;
+ m_black_pen = get_black_pen(machine());
- state->m_spr_ptr_list = (struct sprite **)buffer;
+ m_spr_ptr_list = (struct sprite **)buffer;
- state->m_sprite_list = auto_alloc_array_clear(machine, struct sprite, NUM_SPRITES);
+ m_sprite_list = auto_alloc_array_clear(machine(), struct sprite, NUM_SPRITES);
}
diff --git a/src/mame/video/welltris.c b/src/mame/video/welltris.c
index e79b44aca81..ee35801995d 100644
--- a/src/mame/video/welltris.c
+++ b/src/mame/video/welltris.c
@@ -210,12 +210,11 @@ WRITE16_MEMBER(welltris_state::welltris_charvideoram_w)
m_char_tilemap->mark_tile_dirty(offset);
}
-VIDEO_START( welltris )
+void welltris_state::video_start()
{
- welltris_state *state = machine.driver_data<welltris_state>();
- state->m_char_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(welltris_state::get_welltris_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_char_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(welltris_state::get_welltris_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_char_tilemap->set_transparent_pen(15);
+ m_char_tilemap->set_transparent_pen(15);
}
static void draw_background(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/wgp.c b/src/mame/video/wgp.c
index ea107655230..ee80ce3b7a1 100644
--- a/src/mame/video/wgp.c
+++ b/src/mame/video/wgp.c
@@ -67,14 +67,14 @@ static void wgp_core_vh_start( running_machine &machine, int piv_xoffs, int piv_
state->save_item(NAME(state->m_piv_scrolly));
}
-VIDEO_START( wgp )
+void wgp_state::video_start()
{
- wgp_core_vh_start(machine, 32, 16);
+ wgp_core_vh_start(machine(), 32, 16);
}
-VIDEO_START( wgp2 )
+VIDEO_START_MEMBER(wgp_state,wgp2)
{
- wgp_core_vh_start(machine, 32, 16);
+ wgp_core_vh_start(machine(), 32, 16);
}
diff --git a/src/mame/video/williams.c b/src/mame/video/williams.c
index 767da2199e7..44abff7fe49 100644
--- a/src/mame/video/williams.c
+++ b/src/mame/video/williams.c
@@ -130,37 +130,34 @@ static void state_save_register(running_machine &machine)
}
-VIDEO_START( williams )
+VIDEO_START_MEMBER(williams_state,williams)
{
- williams_state *state = machine.driver_data<williams_state>();
- blitter_init(machine, state->m_blitter_config, NULL);
- create_palette_lookup(machine);
- state_save_register(machine);
+ blitter_init(machine(), m_blitter_config, NULL);
+ create_palette_lookup(machine());
+ state_save_register(machine());
}
-VIDEO_START( blaster )
+VIDEO_START_MEMBER(williams_state,blaster)
{
- williams_state *state = machine.driver_data<williams_state>();
- blitter_init(machine, state->m_blitter_config, state->memregion("proms")->base());
- create_palette_lookup(machine);
- state_save_register(machine);
+ blitter_init(machine(), m_blitter_config, memregion("proms")->base());
+ create_palette_lookup(machine());
+ state_save_register(machine());
}
-VIDEO_START( williams2 )
+VIDEO_START_MEMBER(williams_state,williams2)
{
- williams_state *state = machine.driver_data<williams_state>();
- blitter_init(machine, state->m_blitter_config, NULL);
+ blitter_init(machine(), m_blitter_config, NULL);
/* allocate paletteram */
- state->m_generic_paletteram_8.allocate(0x400 * 2);
+ m_generic_paletteram_8.allocate(0x400 * 2);
/* create the tilemap */
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(williams_state::get_tile_info),state), TILEMAP_SCAN_COLS, 24,16, 128,16);
- state->m_bg_tilemap->set_scrolldx(2, 0);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(williams_state::get_tile_info),this), TILEMAP_SCAN_COLS, 24,16, 128,16);
+ m_bg_tilemap->set_scrolldx(2, 0);
- state_save_register(machine);
+ state_save_register(machine());
}
diff --git a/src/mame/video/wiping.c b/src/mame/video/wiping.c
index 6bd338a5ad1..f92bce300f0 100644
--- a/src/mame/video/wiping.c
+++ b/src/mame/video/wiping.c
@@ -17,9 +17,9 @@
***************************************************************************/
-PALETTE_INIT( wiping )
+void wiping_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances_rg[3] = { 1000, 470, 220 };
static const int resistances_b [2] = { 470, 220 };
double rweights[3], gweights[3], bweights[2];
@@ -32,7 +32,7 @@ PALETTE_INIT( wiping )
2, &resistances_b[0], bweights, 470, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x20);
+ machine().colortable = colortable_alloc(machine(), 0x20);
/* create a lookup table for the palette */
for (i = 0; i < 0x20; i++)
@@ -57,7 +57,7 @@ PALETTE_INIT( wiping )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the lookup table */
@@ -67,14 +67,14 @@ PALETTE_INIT( wiping )
for (i = 0; i < 0x100; i++)
{
UINT8 ctabentry = color_prom[i ^ 0x03] & 0x0f;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
/* sprites use colors 16-31 */
for (i = 0x100; i < 0x200; i++)
{
UINT8 ctabentry = (color_prom[i ^ 0x03] & 0x0f) | 0x10;
- colortable_entry_set_value(machine.colortable, i, ctabentry);
+ colortable_entry_set_value(machine().colortable, i, ctabentry);
}
}
diff --git a/src/mame/video/wiz.c b/src/mame/video/wiz.c
index 9a5c8887306..df558670b99 100644
--- a/src/mame/video/wiz.c
+++ b/src/mame/video/wiz.c
@@ -10,14 +10,13 @@
#include "includes/wiz.h"
-VIDEO_START( wiz )
+void wiz_state::video_start()
{
- wiz_state *state = machine.driver_data<wiz_state>();
- state_save_register_global_array(machine, state->m_char_bank);
- state_save_register_global_array(machine, state->m_palbank);
- state_save_register_global(machine, state->m_flipx);
- state_save_register_global(machine, state->m_flipy);
- state_save_register_global(machine, state->m_bgpen);
+ state_save_register_global_array(machine(), m_char_bank);
+ state_save_register_global_array(machine(), m_palbank);
+ state_save_register_global(machine(), m_flipx);
+ state_save_register_global(machine(), m_flipy);
+ state_save_register_global(machine(), m_bgpen);
}
/***************************************************************************
@@ -33,13 +32,13 @@ VIDEO_START( wiz )
bit 0 -- 1 kohm resistor -- RED/GREEN/BLUE
***************************************************************************/
-PALETTE_INIT( wiz )
+void wiz_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,bit3,r,g,b;
@@ -49,18 +48,18 @@ PALETTE_INIT( wiz )
bit2 = (color_prom[0] >> 2) & 0x01;
bit3 = (color_prom[0] >> 3) & 0x01;
r = 0x0e * bit0 + 0x1f * bit1 + 0x42 * bit2 + 0x90 * bit3;
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x01;
g = 0x0e * bit0 + 0x1f * bit1 + 0x42 * bit2 + 0x90 * bit3;
- bit0 = (color_prom[2*machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[2*machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[2*machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[2*machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[2*machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[2*machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[2*machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[2*machine().total_colors()] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x42 * bit2 + 0x90 * bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
diff --git a/src/mame/video/wolfpack.c b/src/mame/video/wolfpack.c
index 9a783603f34..dcba9c42837 100644
--- a/src/mame/video/wolfpack.c
+++ b/src/mame/video/wolfpack.c
@@ -8,40 +8,40 @@ Atari Wolf Pack (prototype) video emulation
#include "includes/wolfpack.h"
-PALETTE_INIT( wolfpack )
+void wolfpack_state::palette_init()
{
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 8);
+ machine().colortable = colortable_alloc(machine(), 8);
- colortable_palette_set_color(machine.colortable, 0, MAKE_RGB(0x00, 0x00, 0x00));
- colortable_palette_set_color(machine.colortable, 1, MAKE_RGB(0xc1, 0xc1, 0xc1));
- colortable_palette_set_color(machine.colortable, 2, MAKE_RGB(0x81, 0x81, 0x81));
- colortable_palette_set_color(machine.colortable, 3, MAKE_RGB(0x48, 0x48, 0x48));
+ colortable_palette_set_color(machine().colortable, 0, MAKE_RGB(0x00, 0x00, 0x00));
+ colortable_palette_set_color(machine().colortable, 1, MAKE_RGB(0xc1, 0xc1, 0xc1));
+ colortable_palette_set_color(machine().colortable, 2, MAKE_RGB(0x81, 0x81, 0x81));
+ colortable_palette_set_color(machine().colortable, 3, MAKE_RGB(0x48, 0x48, 0x48));
for (i = 0; i < 4; i++)
{
- rgb_t color = colortable_palette_get_color(machine.colortable, i);
+ rgb_t color = colortable_palette_get_color(machine().colortable, i);
- colortable_palette_set_color(machine.colortable, 4 + i,
+ colortable_palette_set_color(machine().colortable, 4 + i,
MAKE_RGB(RGB_RED(color) < 0xb8 ? RGB_RED(color) + 0x48 : 0xff,
RGB_GREEN(color) < 0xb8 ? RGB_GREEN(color) + 0x48 : 0xff,
RGB_BLUE(color) < 0xb8 ? RGB_BLUE(color) + 0x48 : 0xff));
}
- colortable_entry_set_value(machine.colortable, 0x00, 0);
- colortable_entry_set_value(machine.colortable, 0x01, 1);
- colortable_entry_set_value(machine.colortable, 0x02, 1);
- colortable_entry_set_value(machine.colortable, 0x03, 0);
- colortable_entry_set_value(machine.colortable, 0x04, 0);
- colortable_entry_set_value(machine.colortable, 0x05, 2);
- colortable_entry_set_value(machine.colortable, 0x06, 0);
- colortable_entry_set_value(machine.colortable, 0x07, 3);
- colortable_entry_set_value(machine.colortable, 0x08, 4);
- colortable_entry_set_value(machine.colortable, 0x09, 5);
- colortable_entry_set_value(machine.colortable, 0x0a, 6);
- colortable_entry_set_value(machine.colortable, 0x0b, 7);
+ colortable_entry_set_value(machine().colortable, 0x00, 0);
+ colortable_entry_set_value(machine().colortable, 0x01, 1);
+ colortable_entry_set_value(machine().colortable, 0x02, 1);
+ colortable_entry_set_value(machine().colortable, 0x03, 0);
+ colortable_entry_set_value(machine().colortable, 0x04, 0);
+ colortable_entry_set_value(machine().colortable, 0x05, 2);
+ colortable_entry_set_value(machine().colortable, 0x06, 0);
+ colortable_entry_set_value(machine().colortable, 0x07, 3);
+ colortable_entry_set_value(machine().colortable, 0x08, 4);
+ colortable_entry_set_value(machine().colortable, 0x09, 5);
+ colortable_entry_set_value(machine().colortable, 0x0a, 6);
+ colortable_entry_set_value(machine().colortable, 0x0b, 7);
}
@@ -95,16 +95,15 @@ WRITE8_MEMBER(wolfpack_state::wolfpack_torpedo_v_w)
}
-VIDEO_START( wolfpack )
+void wolfpack_state::video_start()
{
- wolfpack_state *state = machine.driver_data<wolfpack_state>();
UINT16 val = 0;
int i;
- state->m_LFSR = auto_alloc_array(machine, UINT8, 0x8000);
+ m_LFSR = auto_alloc_array(machine(), UINT8, 0x8000);
- machine.primary_screen->register_screen_bitmap(state->m_helper);
+ machine().primary_screen->register_screen_bitmap(m_helper);
for (i = 0; i < 0x8000; i++)
{
@@ -112,10 +111,10 @@ VIDEO_START( wolfpack )
val = (val << 1) | (bit & 1);
- state->m_LFSR[i] = (val & 0xc00) == 0xc00;
+ m_LFSR[i] = (val & 0xc00) == 0xc00;
}
- state->m_current_index = 0x80;
+ m_current_index = 0x80;
}
diff --git a/src/mame/video/wrally.c b/src/mame/video/wrally.c
index 840caf4e051..9efc4ecfb27 100644
--- a/src/mame/video/wrally.c
+++ b/src/mame/video/wrally.c
@@ -62,14 +62,13 @@ TILE_GET_INFO_MEMBER(wrally_state::get_tile_info_wrally_screen1)
***************************************************************************/
-VIDEO_START( wrally )
+void wrally_state::video_start()
{
- wrally_state *state = machine.driver_data<wrally_state>();
- state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wrally_state::get_tile_info_wrally_screen0),state),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wrally_state::get_tile_info_wrally_screen1),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pant[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wrally_state::get_tile_info_wrally_screen0),this),TILEMAP_SCAN_ROWS,16,16,64,32);
+ m_pant[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wrally_state::get_tile_info_wrally_screen1),this),TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[0]->set_transmask(0,0xff01,0x00ff); /* this layer is split in two (pens 1..7, pens 8-15) */
- state->m_pant[1]->set_transparent_pen(0);
+ m_pant[0]->set_transmask(0,0xff01,0x00ff); /* this layer is split in two (pens 1..7, pens 8-15) */
+ m_pant[1]->set_transparent_pen(0);
}
diff --git a/src/mame/video/wwfsstar.c b/src/mame/video/wwfsstar.c
index f68c7f44974..ff60c5348c1 100644
--- a/src/mame/video/wwfsstar.c
+++ b/src/mame/video/wwfsstar.c
@@ -205,15 +205,14 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
*******************************************************************************/
-VIDEO_START( wwfsstar )
+void wwfsstar_state::video_start()
{
- wwfsstar_state *state = machine.driver_data<wwfsstar_state>();
- state->m_fg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfsstar_state::get_fg0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_fg0_tilemap->set_transparent_pen(0);
+ m_fg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wwfsstar_state::get_fg0_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_fg0_tilemap->set_transparent_pen(0);
- state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfsstar_state::get_bg0_tile_info),state),tilemap_mapper_delegate(FUNC(wwfsstar_state::bg0_scan),state), 16, 16,32,32);
- state->m_fg0_tilemap->set_transparent_pen(0);
+ m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wwfsstar_state::get_bg0_tile_info),this),tilemap_mapper_delegate(FUNC(wwfsstar_state::bg0_scan),this), 16, 16,32,32);
+ m_fg0_tilemap->set_transparent_pen(0);
}
SCREEN_UPDATE_IND16( wwfsstar )
diff --git a/src/mame/video/wwfwfest.c b/src/mame/video/wwfwfest.c
index df5aa3c69ea..6c624af76d8 100644
--- a/src/mame/video/wwfwfest.c
+++ b/src/mame/video/wwfwfest.c
@@ -219,34 +219,32 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
Draw Order / Priority seems to affect where the scroll values are used also.
*******************************************************************************/
-VIDEO_START( wwfwfest )
+void wwfwfest_state::video_start()
{
- wwfwfest_state *state = machine.driver_data<wwfwfest_state>();
- state_save_register_global(machine, state->m_pri);
- state_save_register_global(machine, state->m_bg0_scrollx);
- state_save_register_global(machine, state->m_bg0_scrolly);
- state_save_register_global(machine, state->m_bg1_scrollx);
- state_save_register_global(machine, state->m_bg1_scrolly);
+ state_save_register_global(machine(), m_pri);
+ state_save_register_global(machine(), m_bg0_scrollx);
+ state_save_register_global(machine(), m_bg0_scrolly);
+ state_save_register_global(machine(), m_bg1_scrollx);
+ state_save_register_global(machine(), m_bg1_scrolly);
- state->m_fg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfwfest_state::get_fg0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfwfest_state::get_bg1_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
- state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfwfest_state::get_bg0_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ m_fg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wwfwfest_state::get_fg0_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_bg1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wwfwfest_state::get_bg1_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ m_bg0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(wwfwfest_state::get_bg0_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16,32,32);
- state->m_fg0_tilemap->set_transparent_pen(0);
- state->m_bg1_tilemap->set_transparent_pen(0);
- state->m_bg0_tilemap->set_transparent_pen(0);
+ m_fg0_tilemap->set_transparent_pen(0);
+ m_bg1_tilemap->set_transparent_pen(0);
+ m_bg0_tilemap->set_transparent_pen(0);
- state->m_sprite_xoff = state->m_bg0_dx = state->m_bg1_dx[0] = state->m_bg1_dx[1] = 0;
+ m_sprite_xoff = m_bg0_dx = m_bg1_dx[0] = m_bg1_dx[1] = 0;
}
-VIDEO_START( wwfwfstb )
+VIDEO_START_MEMBER(wwfwfest_state,wwfwfstb)
{
- wwfwfest_state *state = machine.driver_data<wwfwfest_state>();
- VIDEO_START_CALL(wwfwfest);
+ wwfwfest_state::video_start();
- state->m_sprite_xoff = 2;
- state->m_bg0_dx = state->m_bg1_dx[0] = -4;
- state->m_bg1_dx[1] = -2;
+ m_sprite_xoff = 2;
+ m_bg0_dx = m_bg1_dx[0] = -4;
+ m_bg1_dx[1] = -2;
}
SCREEN_UPDATE_IND16( wwfwfest )
diff --git a/src/mame/video/xain.c b/src/mame/video/xain.c
index 92ba62ddd53..56697d5911b 100644
--- a/src/mame/video/xain.c
+++ b/src/mame/video/xain.c
@@ -83,16 +83,15 @@ TILE_GET_INFO_MEMBER(xain_state::get_char_tile_info)
***************************************************************************/
-VIDEO_START( xain )
+void xain_state::video_start()
{
- xain_state *state = machine.driver_data<xain_state>();
- state->m_bgram0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xain_state::get_bgram0_tile_info),state),tilemap_mapper_delegate(FUNC(xain_state::back_scan),state),16,16,32,32);
- state->m_bgram1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xain_state::get_bgram1_tile_info),state),tilemap_mapper_delegate(FUNC(xain_state::back_scan),state),16,16,32,32);
- state->m_char_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xain_state::get_char_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ m_bgram0_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xain_state::get_bgram0_tile_info),this),tilemap_mapper_delegate(FUNC(xain_state::back_scan),this),16,16,32,32);
+ m_bgram1_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xain_state::get_bgram1_tile_info),this),tilemap_mapper_delegate(FUNC(xain_state::back_scan),this),16,16,32,32);
+ m_char_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xain_state::get_char_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_bgram0_tilemap->set_transparent_pen(0);
- state->m_bgram1_tilemap->set_transparent_pen(0);
- state->m_char_tilemap->set_transparent_pen(0);
+ m_bgram0_tilemap->set_transparent_pen(0);
+ m_bgram1_tilemap->set_transparent_pen(0);
+ m_char_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/xevious.c b/src/mame/video/xevious.c
index 5908d638e38..67c8a9d70c3 100644
--- a/src/mame/video/xevious.c
+++ b/src/mame/video/xevious.c
@@ -24,13 +24,13 @@
bit 0 -- 2.2kohm resistor -- RED/GREEN/BLUE
***************************************************************************/
-PALETTE_INIT( xevious )
+PALETTE_INIT_MEMBER(xevious_state,xevious)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- #define TOTAL_COLORS(gfxn) (machine.gfx[gfxn]->colors() * machine.gfx[gfxn]->granularity())
+ #define TOTAL_COLORS(gfxn) (machine().gfx[gfxn]->colors() * machine().gfx[gfxn]->granularity())
- machine.colortable = colortable_alloc(machine, 128+1);
+ machine().colortable = colortable_alloc(machine(), 128+1);
for (i = 0;i < 128;i++)
{
@@ -55,12 +55,12 @@ PALETTE_INIT( xevious )
bit3 = (color_prom[2*256] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- colortable_palette_set_color(machine.colortable,i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,i,MAKE_RGB(r,g,b));
color_prom++;
}
/* color 0x80 is used by sprites to mark transparency */
- colortable_palette_set_color(machine.colortable,0x80,MAKE_RGB(0,0,0));
+ colortable_palette_set_color(machine().colortable,0x80,MAKE_RGB(0,0,0));
color_prom += 128; /* the bottom part of the PROM is unused */
color_prom += 2*256;
@@ -69,7 +69,7 @@ PALETTE_INIT( xevious )
/* background tiles */
for (i = 0;i < TOTAL_COLORS(1);i++)
{
- colortable_entry_set_value(machine.colortable, machine.gfx[1]->colorbase() + i,
+ colortable_entry_set_value(machine().colortable, machine().gfx[1]->colorbase() + i,
(color_prom[0] & 0x0f) | ((color_prom[TOTAL_COLORS(1)] & 0x0f) << 4));
color_prom++;
@@ -81,7 +81,7 @@ PALETTE_INIT( xevious )
{
int c = (color_prom[0] & 0x0f) | ((color_prom[TOTAL_COLORS(2)] & 0x0f) << 4);
- colortable_entry_set_value(machine.colortable, machine.gfx[2]->colorbase() + i,
+ colortable_entry_set_value(machine().colortable, machine().gfx[2]->colorbase() + i,
(c & 0x80) ? (c & 0x7f) : 0x80);
color_prom++;
@@ -91,19 +91,19 @@ PALETTE_INIT( xevious )
/* foreground characters */
for (i = 0;i < TOTAL_COLORS(0);i++)
{
- colortable_entry_set_value(machine.colortable, machine.gfx[0]->colorbase() + i,
+ colortable_entry_set_value(machine().colortable, machine().gfx[0]->colorbase() + i,
(i % 2 != 0) ? (i / 2) : 0x80);
}
}
-PALETTE_INIT( battles )
+PALETTE_INIT_MEMBER(xevious_state,battles)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- machine.colortable = colortable_alloc(machine, 128+1);
+ machine().colortable = colortable_alloc(machine(), 128+1);
for (i = 0;i < 128;i++)
{
@@ -128,12 +128,12 @@ PALETTE_INIT( battles )
bit3 = (color_prom[2*256] >> 3) & 0x01;
b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
- colortable_palette_set_color(machine.colortable,i,MAKE_RGB(r,g,b));
+ colortable_palette_set_color(machine().colortable,i,MAKE_RGB(r,g,b));
color_prom++;
}
/* color 0x80 is used by sprites to mark transparency */
- colortable_palette_set_color(machine.colortable,0x80,MAKE_RGB(0,0,0));
+ colortable_palette_set_color(machine().colortable,0x80,MAKE_RGB(0,0,0));
color_prom += 128; /* the bottom part of the PROM is unused */
color_prom += 2*256;
@@ -142,7 +142,7 @@ PALETTE_INIT( battles )
/* background tiles */
for (i = 0;i < TOTAL_COLORS(1);i++)
{
- colortable_entry_set_value(machine.colortable, machine.gfx[1]->colorbase() + i,
+ colortable_entry_set_value(machine().colortable, machine().gfx[1]->colorbase() + i,
(color_prom[0] & 0x0f) | ((color_prom[0x400] & 0x0f) << 4));
color_prom++;
@@ -154,7 +154,7 @@ PALETTE_INIT( battles )
{
int c = (color_prom[0] & 0x0f) | ((color_prom[0x400] & 0x0f) << 4);
- colortable_entry_set_value(machine.colortable, machine.gfx[2]->colorbase() + i,
+ colortable_entry_set_value(machine().colortable, machine().gfx[2]->colorbase() + i,
(c & 0x80) ? (c & 0x7f) : 0x80);
color_prom++;
@@ -163,7 +163,7 @@ PALETTE_INIT( battles )
/* foreground characters */
for (i = 0;i < TOTAL_COLORS(0);i++)
{
- colortable_entry_set_value(machine.colortable, machine.gfx[0]->colorbase() + i,
+ colortable_entry_set_value(machine().colortable, machine().gfx[0]->colorbase() + i,
(i % 2 != 0) ? (i / 2) : 0x80);
}
}
@@ -213,22 +213,21 @@ TILE_GET_INFO_MEMBER(xevious_state::get_bg_tile_info)
***************************************************************************/
-VIDEO_START( xevious )
+VIDEO_START_MEMBER(xevious_state,xevious)
{
- xevious_state *state = machine.driver_data<xevious_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xevious_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xevious_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xevious_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xevious_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap->set_scrolldx(-20,288+27);
- state->m_bg_tilemap->set_scrolldy(-16,-16);
- state->m_fg_tilemap->set_scrolldx(-32,288+32);
- state->m_fg_tilemap->set_scrolldy(-18,-10);
- state->m_fg_tilemap->set_transparent_pen(0);
- state->m_xevious_bs[0] = 0;
- state->m_xevious_bs[1] = 0;
+ m_bg_tilemap->set_scrolldx(-20,288+27);
+ m_bg_tilemap->set_scrolldy(-16,-16);
+ m_fg_tilemap->set_scrolldx(-32,288+32);
+ m_fg_tilemap->set_scrolldy(-18,-10);
+ m_fg_tilemap->set_transparent_pen(0);
+ m_xevious_bs[0] = 0;
+ m_xevious_bs[1] = 0;
- state->save_item(NAME(state->m_xevious_bs));
+ save_item(NAME(m_xevious_bs));
}
diff --git a/src/mame/video/xexex.c b/src/mame/video/xexex.c
index 25ae912b104..c9d3aea3471 100644
--- a/src/mame/video/xexex.c
+++ b/src/mame/video/xexex.c
@@ -31,19 +31,18 @@ void xexex_tile_callback(running_machine &machine, int layer, int *code, int *co
*color = state->m_layer_colorbase[layer] | (*color >> 2 & 0x0f);
}
-VIDEO_START( xexex )
+void xexex_state::video_start()
{
- xexex_state *state = machine.driver_data<xexex_state>();
- assert(machine.primary_screen->format() == BITMAP_FORMAT_RGB32);
+ assert(machine().primary_screen->format() == BITMAP_FORMAT_RGB32);
- state->m_cur_alpha = 0;
+ m_cur_alpha = 0;
// Xexex has relative plane offsets of -2,2,4,6 vs. -2,0,2,3 in MW and GX.
- k056832_set_layer_offs(state->m_k056832, 0, -2, 16);
- k056832_set_layer_offs(state->m_k056832, 1, 2, 16);
- k056832_set_layer_offs(state->m_k056832, 2, 4, 16);
- k056832_set_layer_offs(state->m_k056832, 3, 6, 16);
+ k056832_set_layer_offs(m_k056832, 0, -2, 16);
+ k056832_set_layer_offs(m_k056832, 1, 2, 16);
+ k056832_set_layer_offs(m_k056832, 2, 4, 16);
+ k056832_set_layer_offs(m_k056832, 3, 6, 16);
}
SCREEN_UPDATE_RGB32( xexex )
diff --git a/src/mame/video/xmen.c b/src/mame/video/xmen.c
index b0decf56b85..81633249b1f 100644
--- a/src/mame/video/xmen.c
+++ b/src/mame/video/xmen.c
@@ -51,17 +51,16 @@ void xmen_sprite_callback( running_machine &machine, int *code, int *color, int
***************************************************************************/
-VIDEO_START( xmen6p )
+VIDEO_START_MEMBER(xmen_state,xmen6p)
{
- xmen_state *state = machine.driver_data<xmen_state>();
- k053247_get_ram(state->m_k053246, &state->m_k053247_ram);
+ k053247_get_ram(m_k053246, &m_k053247_ram);
- state->m_screen_left = auto_bitmap_ind16_alloc(machine, 64 * 8, 32 * 8);
- state->m_screen_right = auto_bitmap_ind16_alloc(machine, 64 * 8, 32 * 8);
+ m_screen_left = auto_bitmap_ind16_alloc(machine(), 64 * 8, 32 * 8);
+ m_screen_right = auto_bitmap_ind16_alloc(machine(), 64 * 8, 32 * 8);
- state->save_item(NAME(*state->m_screen_left));
- state->save_item(NAME(*state->m_screen_right));
+ save_item(NAME(*m_screen_left));
+ save_item(NAME(*m_screen_right));
}
diff --git a/src/mame/video/xorworld.c b/src/mame/video/xorworld.c
index f51b3fe3089..8707fe03714 100644
--- a/src/mame/video/xorworld.c
+++ b/src/mame/video/xorworld.c
@@ -16,12 +16,12 @@
***************************************************************************/
-PALETTE_INIT( xorworld )
+void xorworld_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++){
+ for (i = 0;i < machine().total_colors();i++){
int bit0,bit1,bit2,bit3;
int r,g,b;
@@ -32,18 +32,18 @@ PALETTE_INIT( xorworld )
bit3 = (color_prom[0] >> 3) & 0x01;
r = 0x0e*bit0 + 0x1e*bit1 + 0x44*bit2 + 0x8f*bit3;
/* green component */
- bit0 = (color_prom[machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[machine().total_colors()] >> 3) & 0x01;
g = 0x0e*bit0 + 0x1e*bit1 + 0x44*bit2 + 0x8f*bit3;
/* blue component */
- bit0 = (color_prom[2*machine.total_colors()] >> 0) & 0x01;
- bit1 = (color_prom[2*machine.total_colors()] >> 1) & 0x01;
- bit2 = (color_prom[2*machine.total_colors()] >> 2) & 0x01;
- bit3 = (color_prom[2*machine.total_colors()] >> 3) & 0x01;
+ bit0 = (color_prom[2*machine().total_colors()] >> 0) & 0x01;
+ bit1 = (color_prom[2*machine().total_colors()] >> 1) & 0x01;
+ bit2 = (color_prom[2*machine().total_colors()] >> 2) & 0x01;
+ bit3 = (color_prom[2*machine().total_colors()] >> 3) & 0x01;
b = 0x0e*bit0 + 0x1e * bit1 + 0x44*bit2 + 0x8f*bit3;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
color_prom++;
}
@@ -75,10 +75,9 @@ TILE_GET_INFO_MEMBER(xorworld_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, data >> 12, 0);
}
-VIDEO_START( xorworld )
+void xorworld_state::video_start()
{
- xorworld_state *state = machine.driver_data<xorworld_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xorworld_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xorworld_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/xxmissio.c b/src/mame/video/xxmissio.c
index 1f79ee204e6..d2ce281c21b 100644
--- a/src/mame/video/xxmissio.c
+++ b/src/mame/video/xxmissio.c
@@ -66,17 +66,16 @@ TILE_GET_INFO_MEMBER(xxmissio_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-VIDEO_START( xxmissio )
+void xxmissio_state::video_start()
{
- xxmissio_state *state = machine.driver_data<xxmissio_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xxmissio_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
- state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xxmissio_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xxmissio_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xxmissio_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
- state->m_bg_tilemap->set_scroll_cols(1);
- state->m_bg_tilemap->set_scroll_rows(1);
- state->m_bg_tilemap->set_scrolldx(2, 12);
+ m_bg_tilemap->set_scroll_cols(1);
+ m_bg_tilemap->set_scroll_rows(1);
+ m_bg_tilemap->set_scrolldx(2, 12);
- state->m_fg_tilemap->set_transparent_pen(0);
+ m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/xybots.c b/src/mame/video/xybots.c
index 28d1781d579..05b31aa909f 100644
--- a/src/mame/video/xybots.c
+++ b/src/mame/video/xybots.c
@@ -43,7 +43,7 @@ TILE_GET_INFO_MEMBER(xybots_state::get_playfield_tile_info)
*
*************************************/
-VIDEO_START( xybots )
+VIDEO_START_MEMBER(xybots_state,xybots)
{
static const atarimo_desc modesc =
{
@@ -81,17 +81,16 @@ VIDEO_START( xybots )
0, /* resulting value to indicate "special" */
NULL /* callback routine for special entries */
};
- xybots_state *state = machine.driver_data<xybots_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xybots_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_playfield_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xybots_state::get_playfield_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
/* initialize the motion objects */
- atarimo_init(machine, 0, &modesc);
+ atarimo_init(machine(), 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xybots_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
- state->m_alpha_tilemap->set_transparent_pen(0);
+ m_alpha_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xybots_state::get_alpha_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ m_alpha_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/xyonix.c b/src/mame/video/xyonix.c
index 4f1a9765411..556b8d71369 100644
--- a/src/mame/video/xyonix.c
+++ b/src/mame/video/xyonix.c
@@ -1,13 +1,13 @@
#include "emu.h"
#include "includes/xyonix.h"
-PALETTE_INIT( xyonix )
+void xyonix_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0;i < machine.total_colors();i++)
+ for (i = 0;i < machine().total_colors();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -26,7 +26,7 @@ PALETTE_INIT( xyonix )
bit1 = (color_prom[i] >> 4) & 0x01;
b = 0x4f * bit0 + 0xa8 * bit1;
- palette_set_color(machine,i,MAKE_RGB(r,g,b));
+ palette_set_color(machine(),i,MAKE_RGB(r,g,b));
}
}
@@ -48,11 +48,10 @@ WRITE8_MEMBER(xyonix_state::xyonix_vidram_w)
m_tilemap->mark_tile_dirty((offset-1)&0x0fff);
}
-VIDEO_START(xyonix)
+void xyonix_state::video_start()
{
- xyonix_state *state = machine.driver_data<xyonix_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xyonix_state::get_xyonix_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 80, 32);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(xyonix_state::get_xyonix_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 80, 32);
}
SCREEN_UPDATE_IND16(xyonix)
diff --git a/src/mame/video/yiear.c b/src/mame/video/yiear.c
index cd5e4ee2649..c93cd698222 100644
--- a/src/mame/video/yiear.c
+++ b/src/mame/video/yiear.c
@@ -28,12 +28,12 @@
***************************************************************************/
-PALETTE_INIT( yiear )
+void yiear_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2, r, g, b;
@@ -55,7 +55,7 @@ PALETTE_INIT( yiear )
bit2 = (*color_prom >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
color_prom++;
}
}
@@ -97,10 +97,9 @@ TILE_GET_INFO_MEMBER(yiear_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, flags);
}
-VIDEO_START( yiear )
+void yiear_state::video_start()
{
- yiear_state *state = machine.driver_data<yiear_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yiear_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(yiear_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/yunsun16.c b/src/mame/video/yunsun16.c
index fbee4371774..93375d1fb7d 100644
--- a/src/mame/video/yunsun16.c
+++ b/src/mame/video/yunsun16.c
@@ -92,23 +92,22 @@ WRITE16_MEMBER(yunsun16_state::yunsun16_vram_1_w)
***************************************************************************/
-VIDEO_START( yunsun16 )
+void yunsun16_state::video_start()
{
- yunsun16_state *state = machine.driver_data<yunsun16_state>();
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yunsun16_state::get_tile_info_0),state),tilemap_mapper_delegate(FUNC(yunsun16_state::yunsun16_tilemap_scan_pages),state),
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(yunsun16_state::get_tile_info_0),this),tilemap_mapper_delegate(FUNC(yunsun16_state::yunsun16_tilemap_scan_pages),this),
16,16, TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yunsun16_state::get_tile_info_1),state),tilemap_mapper_delegate(FUNC(yunsun16_state::yunsun16_tilemap_scan_pages),state),
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(yunsun16_state::get_tile_info_1),this),tilemap_mapper_delegate(FUNC(yunsun16_state::yunsun16_tilemap_scan_pages),this),
16,16, TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tilemap_0->set_scrolldx(-0x34, 0);
- state->m_tilemap_1->set_scrolldx(-0x38, 0);
+ m_tilemap_0->set_scrolldx(-0x34, 0);
+ m_tilemap_1->set_scrolldx(-0x38, 0);
- state->m_tilemap_0->set_scrolldy(-0x10, 0);
- state->m_tilemap_1->set_scrolldy(-0x10, 0);
+ m_tilemap_0->set_scrolldy(-0x10, 0);
+ m_tilemap_1->set_scrolldy(-0x10, 0);
- state->m_tilemap_0->set_transparent_pen(0xff);
- state->m_tilemap_1->set_transparent_pen(0xff);
+ m_tilemap_0->set_transparent_pen(0xff);
+ m_tilemap_1->set_transparent_pen(0xff);
}
diff --git a/src/mame/video/yunsung8.c b/src/mame/video/yunsung8.c
index 970ee1927b1..e9feeabfa26 100644
--- a/src/mame/video/yunsung8.c
+++ b/src/mame/video/yunsung8.c
@@ -169,14 +169,13 @@ TILE_GET_INFO_MEMBER(yunsung8_state::get_tile_info_1)
***************************************************************************/
-VIDEO_START( yunsung8 )
+void yunsung8_state::video_start()
{
- yunsung8_state *state = machine.driver_data<yunsung8_state>();
- state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yunsung8_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_0, DIM_NY_0 );
- state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yunsung8_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_1, DIM_NY_1 );
+ m_tilemap_0 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(yunsung8_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_0, DIM_NY_0 );
+ m_tilemap_1 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(yunsung8_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_1, DIM_NY_1 );
- state->m_tilemap_1->set_transparent_pen(0);
+ m_tilemap_1->set_transparent_pen(0);
}
diff --git a/src/mame/video/zac2650.c b/src/mame/video/zac2650.c
index 50a77ee77ab..04c3534b7d0 100644
--- a/src/mame/video/zac2650.c
+++ b/src/mame/video/zac2650.c
@@ -119,17 +119,16 @@ TILE_GET_INFO_MEMBER(zac2650_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
-VIDEO_START( tinvader )
+void zac2650_state::video_start()
{
- zac2650_state *state = machine.driver_data<zac2650_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(zac2650_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(zac2650_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
24, 24, 32, 32);
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
- machine.primary_screen->register_screen_bitmap(state->m_spritebitmap);
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_spritebitmap);
- machine.gfx[1]->set_source(state->m_s2636_0_ram);
- machine.gfx[2]->set_source(state->m_s2636_0_ram);
+ machine().gfx[1]->set_source(m_s2636_0_ram);
+ machine().gfx[2]->set_source(m_s2636_0_ram);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/zaccaria.c b/src/mame/video/zaccaria.c
index 6790d7b0d69..f606f43a5b3 100644
--- a/src/mame/video/zaccaria.c
+++ b/src/mame/video/zaccaria.c
@@ -33,9 +33,9 @@ Here's the hookup from the proms (82s131) to the r-g-b-outputs
***************************************************************************/
-PALETTE_INIT( zaccaria )
+void zaccaria_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i, j, k;
static const int resistances_rg[] = { 1200, 1000, 820 };
static const int resistances_b[] = { 1000, 820 };
@@ -48,7 +48,7 @@ PALETTE_INIT( zaccaria )
0, 0, 0, 0, 0);
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x200);
+ machine().colortable = colortable_alloc(machine(), 0x200);
for (i = 0; i < 0x200; i++)
{
@@ -61,7 +61,7 @@ PALETTE_INIT( zaccaria )
black anyway.
*/
if (((i % 64) / 8) == 0)
- colortable_palette_set_color(machine.colortable, i, RGB_BLACK);
+ colortable_palette_set_color(machine().colortable, i, RGB_BLACK);
else
{
int bit0, bit1, bit2;
@@ -84,7 +84,7 @@ PALETTE_INIT( zaccaria )
bit1 = (color_prom[i + 0x200] >> 0) & 0x01;
b = combine_2_weights(weights_b, bit0, bit1);
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
}
@@ -96,13 +96,13 @@ PALETTE_INIT( zaccaria )
for (j = 0;j < 4;j++)
for (k = 0;k < 8;k++)
/* swap j and k to make the colors sequential */
- colortable_entry_set_value(machine.colortable, 0 + 32 * i + 8 * j + k, 64 * i + 8 * k + 2*j);
+ colortable_entry_set_value(machine().colortable, 0 + 32 * i + 8 * j + k, 64 * i + 8 * k + 2*j);
for (i = 0;i < 8;i++)
for (j = 0;j < 4;j++)
for (k = 0;k < 8;k++)
/* swap j and k to make the colors sequential */
- colortable_entry_set_value(machine.colortable, 256 + 32 * i + 8 * j + k, 64 * i + 8 * k + 2*j+1);
+ colortable_entry_set_value(machine().colortable, 256 + 32 * i + 8 * j + k, 64 * i + 8 * k + 2*j+1);
}
@@ -131,12 +131,11 @@ TILE_GET_INFO_MEMBER(zaccaria_state::get_tile_info)
***************************************************************************/
-VIDEO_START( zaccaria )
+void zaccaria_state::video_start()
{
- zaccaria_state *state = machine.driver_data<zaccaria_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(zaccaria_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(zaccaria_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap->set_scroll_cols(32);
+ m_bg_tilemap->set_scroll_cols(32);
}
diff --git a/src/mame/video/zaxxon.c b/src/mame/video/zaxxon.c
index dbdd901dd3b..0fbfe975500 100644
--- a/src/mame/video/zaxxon.c
+++ b/src/mame/video/zaxxon.c
@@ -15,10 +15,9 @@
*
*************************************/
-PALETTE_INIT( zaxxon )
+void zaxxon_state::palette_init()
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
- zaxxon_state *state = machine.driver_data<zaxxon_state>();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
static const int resistances[3] = { 1000, 470, 220 };
double rweights[3], gweights[3], bweights[2];
int i;
@@ -30,7 +29,7 @@ PALETTE_INIT( zaxxon )
2, &resistances[1], bweights, 470, 0);
/* initialize the palette with these colors */
- for (i = 0; i < machine.total_colors(); i++)
+ for (i = 0; i < machine().total_colors(); i++)
{
int bit0, bit1, bit2;
int r, g, b;
@@ -52,11 +51,11 @@ PALETTE_INIT( zaxxon )
bit1 = (color_prom[i] >> 7) & 0x01;
b = combine_2_weights(bweights, bit0, bit1);
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
/* color_prom now points to the beginning of the character color codes */
- state->m_color_codes = &color_prom[256];
+ m_color_codes = &color_prom[256];
}
@@ -145,33 +144,30 @@ static void video_start_common(running_machine &machine, tilemap_get_info_delega
}
-VIDEO_START( zaxxon )
+void zaxxon_state::video_start()
{
- zaxxon_state *state = machine.driver_data<zaxxon_state>();
- video_start_common(machine, tilemap_get_info_delegate(FUNC(zaxxon_state::zaxxon_get_fg_tile_info),state));
+ video_start_common(machine(), tilemap_get_info_delegate(FUNC(zaxxon_state::zaxxon_get_fg_tile_info),this));
}
-VIDEO_START( razmataz )
+VIDEO_START_MEMBER(zaxxon_state,razmataz)
{
- zaxxon_state *state = machine.driver_data<zaxxon_state>();
- video_start_common(machine, tilemap_get_info_delegate(FUNC(zaxxon_state::razmataz_get_fg_tile_info),state));
+ video_start_common(machine(), tilemap_get_info_delegate(FUNC(zaxxon_state::razmataz_get_fg_tile_info),this));
}
-VIDEO_START( congo )
+VIDEO_START_MEMBER(zaxxon_state,congo)
{
- zaxxon_state *state = machine.driver_data<zaxxon_state>();
/* allocate our own spriteram since it is not accessible by the main CPU */
- state->m_spriteram.allocate(0x100);
+ m_spriteram.allocate(0x100);
/* register for save states */
- state->save_item(NAME(state->m_congo_fg_bank));
- state->save_item(NAME(state->m_congo_color_bank));
- state->save_item(NAME(state->m_congo_custom));
+ save_item(NAME(m_congo_fg_bank));
+ save_item(NAME(m_congo_color_bank));
+ save_item(NAME(m_congo_custom));
- video_start_common(machine, tilemap_get_info_delegate(FUNC(zaxxon_state::congo_get_fg_tile_info),state));
+ video_start_common(machine(), tilemap_get_info_delegate(FUNC(zaxxon_state::congo_get_fg_tile_info),this));
}
diff --git a/src/mame/video/zodiack.c b/src/mame/video/zodiack.c
index bc3ddd9e4ef..46862c31497 100644
--- a/src/mame/video/zodiack.c
+++ b/src/mame/video/zodiack.c
@@ -46,13 +46,13 @@ WRITE8_MEMBER( zodiack_state::flipscreen_w )
}
}
-PALETTE_INIT( zodiack )
+PALETTE_INIT_MEMBER(zodiack_state,zodiack)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
/* allocate the colortable */
- machine.colortable = colortable_alloc(machine, 0x31);
+ machine().colortable = colortable_alloc(machine(), 0x31);
/* create a lookup table for the palette */
for (i = 0; i < 0x30; i++)
@@ -78,25 +78,25 @@ PALETTE_INIT( zodiack )
bit2 = (color_prom[i] >> 7) & 0x01;
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
}
/* white for bullets */
- colortable_palette_set_color(machine.colortable, 0x30, RGB_WHITE);
+ colortable_palette_set_color(machine().colortable, 0x30, RGB_WHITE);
for (i = 0; i < 0x20; i++)
if ((i & 3) == 0)
- colortable_entry_set_value(machine.colortable, i, 0);
+ colortable_entry_set_value(machine().colortable, i, 0);
for (i = 0; i < 0x10; i += 2)
{
- colortable_entry_set_value(machine.colortable, 0x20 + i, 32 + (i / 2));
- colortable_entry_set_value(machine.colortable, 0x21 + i, 40 + (i / 2));
+ colortable_entry_set_value(machine().colortable, 0x20 + i, 32 + (i / 2));
+ colortable_entry_set_value(machine().colortable, 0x21 + i, 40 + (i / 2));
}
/* bullet */
- colortable_entry_set_value(machine.colortable, 0x30, 0);
- colortable_entry_set_value(machine.colortable, 0x31, 0x30);
+ colortable_entry_set_value(machine().colortable, 0x30, 0);
+ colortable_entry_set_value(machine().colortable, 0x31, 0x30);
}
TILE_GET_INFO_MEMBER(zodiack_state::get_bg_tile_info)