summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emu/driver.h28
-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
-rw-r--r--src/mess/drivers/4004clk.c11
-rw-r--r--src/mess/drivers/a2600.c263
-rw-r--r--src/mess/drivers/a310.c14
-rw-r--r--src/mess/drivers/a5105.c6
-rw-r--r--src/mess/drivers/a51xx.c18
-rw-r--r--src/mess/drivers/a6809.c4
-rw-r--r--src/mess/drivers/a7150.c8
-rw-r--r--src/mess/drivers/a7800.c13
-rw-r--r--src/mess/drivers/ac1.c2
-rw-r--r--src/mess/drivers/advision.c1
-rw-r--r--src/mess/drivers/aim65.c1
-rw-r--r--src/mess/drivers/alphatro.c22
-rw-r--r--src/mess/drivers/altair.c9
-rw-r--r--src/mess/drivers/ami1200.c4
-rw-r--r--src/mess/drivers/amiga.c31
-rw-r--r--src/mess/drivers/amstr_pc.c8
-rw-r--r--src/mess/drivers/amstrad.c42
-rw-r--r--src/mess/drivers/apexc.c23
-rw-r--r--src/mess/drivers/apf.c11
-rw-r--r--src/mess/drivers/apogee.c4
-rw-r--r--src/mess/drivers/apollo.c32
-rw-r--r--src/mess/drivers/apple1.c2
-rw-r--r--src/mess/drivers/apple2.c26
-rw-r--r--src/mess/drivers/apple2gs.c16
-rw-r--r--src/mess/drivers/apple3.c6
-rw-r--r--src/mess/drivers/applix.c21
-rw-r--r--src/mess/drivers/apricot.c10
-rw-r--r--src/mess/drivers/aquarius.c2
-rw-r--r--src/mess/drivers/arcadia.c10
-rw-r--r--src/mess/drivers/astrocde.c2
-rw-r--r--src/mess/drivers/at.c4
-rw-r--r--src/mess/drivers/atari400.c6
-rw-r--r--src/mess/drivers/atm.c24
-rw-r--r--src/mess/drivers/avigo.c1
-rw-r--r--src/mess/drivers/b16.c13
-rw-r--r--src/mess/drivers/b2m.c4
-rw-r--r--src/mess/drivers/basic52.c9
-rw-r--r--src/mess/drivers/bbc.c38
-rw-r--r--src/mess/drivers/bbcbc.c8
-rw-r--r--src/mess/drivers/bebox.c2
-rw-r--r--src/mess/drivers/bk.c3
-rw-r--r--src/mess/drivers/bmjr.c31
-rw-r--r--src/mess/drivers/bml3.c26
-rw-r--r--src/mess/drivers/bob85.c4
-rw-r--r--src/mess/drivers/busicom.c19
-rw-r--r--src/mess/drivers/bw2.c7
-rw-r--r--src/mess/drivers/c65.c8
-rw-r--r--src/mess/drivers/camplynx.c22
-rw-r--r--src/mess/drivers/casloopy.c10
-rw-r--r--src/mess/drivers/cat.c44
-rw-r--r--src/mess/drivers/cbmb.c14
-rw-r--r--src/mess/drivers/cfx9850.c12
-rw-r--r--src/mess/drivers/cgenie.c23
-rw-r--r--src/mess/drivers/channelf.c8
-rw-r--r--src/mess/drivers/clcd.c8
-rw-r--r--src/mess/drivers/cm1800.c4
-rw-r--r--src/mess/drivers/codata.c15
-rw-r--r--src/mess/drivers/compis.c20
-rw-r--r--src/mess/drivers/comquest.c8
-rw-r--r--src/mess/drivers/concept.c2
-rw-r--r--src/mess/drivers/cortex.c8
-rw-r--r--src/mess/drivers/craft.c8
-rw-r--r--src/mess/drivers/cxhumax.c81
-rw-r--r--src/mess/drivers/cybiko.c17
-rw-r--r--src/mess/drivers/d6800.c8
-rw-r--r--src/mess/drivers/d6809.c4
-rw-r--r--src/mess/drivers/dai.c4
-rw-r--r--src/mess/drivers/dc.c4
-rw-r--r--src/mess/drivers/dct11em.c8
-rw-r--r--src/mess/drivers/dectalk.c6
-rw-r--r--src/mess/drivers/dgn_beta.c6
-rw-r--r--src/mess/drivers/dm7000.c21
-rw-r--r--src/mess/drivers/dms5000.c8
-rw-r--r--src/mess/drivers/dms86.c4
-rw-r--r--src/mess/drivers/dual68.c11
-rw-r--r--src/mess/drivers/ec65.c13
-rw-r--r--src/mess/drivers/einstein.c59
-rw-r--r--src/mess/drivers/electron.c7
-rw-r--r--src/mess/drivers/elwro800.c24
-rw-r--r--src/mess/drivers/enterp.c7
-rw-r--r--src/mess/drivers/esq1.c11
-rw-r--r--src/mess/drivers/ex800.c9
-rw-r--r--src/mess/drivers/exelv.c7
-rw-r--r--src/mess/drivers/fm7.c180
-rw-r--r--src/mess/drivers/fmtowns.c4
-rw-r--r--src/mess/drivers/fp1100.c20
-rw-r--r--src/mess/drivers/fp6000.c17
-rw-r--r--src/mess/drivers/galaxy.c6
-rw-r--r--src/mess/drivers/galeb.c1
-rw-r--r--src/mess/drivers/gamecom.c7
-rw-r--r--src/mess/drivers/gb.c28
-rw-r--r--src/mess/drivers/gba.c145
-rw-r--r--src/mess/drivers/geneve.c44
-rw-r--r--src/mess/drivers/gizmondo.c19
-rw-r--r--src/mess/drivers/glasgow.c32
-rw-r--r--src/mess/drivers/gmaster.c5
-rw-r--r--src/mess/drivers/gp32.c10
-rw-r--r--src/mess/drivers/h89.c4
-rw-r--r--src/mess/drivers/hec2hrp.c120
-rw-r--r--src/mess/drivers/homelab.c43
-rw-r--r--src/mess/drivers/horizon.c13
-rw-r--r--src/mess/drivers/hp16500.c4
-rw-r--r--src/mess/drivers/hp48.c12
-rw-r--r--src/mess/drivers/hp49gp.c14
-rw-r--r--src/mess/drivers/hp9k.c8
-rw-r--r--src/mess/drivers/ht68k.c11
-rw-r--r--src/mess/drivers/hx20.c8
-rw-r--r--src/mess/drivers/if800.c10
-rw-r--r--src/mess/drivers/indiana.c4
-rw-r--r--src/mess/drivers/interact.c22
-rw-r--r--src/mess/drivers/intv.c21
-rw-r--r--src/mess/drivers/ip20.c27
-rw-r--r--src/mess/drivers/ip22.c33
-rw-r--r--src/mess/drivers/irisha.c3
-rw-r--r--src/mess/drivers/jr100.c16
-rw-r--r--src/mess/drivers/jr200.c34
-rw-r--r--src/mess/drivers/jtc.c4
-rw-r--r--src/mess/drivers/juicebox.c19
-rw-r--r--src/mess/drivers/junior.c16
-rw-r--r--src/mess/drivers/k1003.c4
-rw-r--r--src/mess/drivers/kaypro.c12
-rw-r--r--src/mess/drivers/kc.c4
-rw-r--r--src/mess/drivers/kim1.c22
-rw-r--r--src/mess/drivers/konin.c8
-rw-r--r--src/mess/drivers/kramermc.c2
-rw-r--r--src/mess/drivers/lcmate2.c8
-rw-r--r--src/mess/drivers/lisa.c3
-rw-r--r--src/mess/drivers/llc.c8
-rw-r--r--src/mess/drivers/lviv.c3
-rw-r--r--src/mess/drivers/lx800.c10
-rw-r--r--src/mess/drivers/lynx.c7
-rw-r--r--src/mess/drivers/m20.c4
-rw-r--r--src/mess/drivers/m79152pc.c11
-rw-r--r--src/mess/drivers/mac.c58
-rw-r--r--src/mess/drivers/mbc200.c4
-rw-r--r--src/mess/drivers/mbc55x.c9
-rw-r--r--src/mess/drivers/mbee.c26
-rw-r--r--src/mess/drivers/mc80.c8
-rw-r--r--src/mess/drivers/megadriv.c41
-rw-r--r--src/mess/drivers/mephisto.c46
-rw-r--r--src/mess/drivers/microdec.c7
-rw-r--r--src/mess/drivers/micronic.c7
-rw-r--r--src/mess/drivers/microtan.c2
-rw-r--r--src/mess/drivers/mikro80.c2
-rw-r--r--src/mess/drivers/mikrosha.c4
-rw-r--r--src/mess/drivers/mini2440.c24
-rw-r--r--src/mess/drivers/mirage.c4
-rw-r--r--src/mess/drivers/mk1.c4
-rw-r--r--src/mess/drivers/mk14.c4
-rw-r--r--src/mess/drivers/mk2.c4
-rw-r--r--src/mess/drivers/mk85.c8
-rw-r--r--src/mess/drivers/mk90.c8
-rw-r--r--src/mess/drivers/mmd1.c30
-rw-r--r--src/mess/drivers/mmodular.c94
-rw-r--r--src/mess/drivers/mod8.c6
-rw-r--r--src/mess/drivers/ms0515.c38
-rw-r--r--src/mess/drivers/mstation.c8
-rw-r--r--src/mess/drivers/msx.c8
-rw-r--r--src/mess/drivers/mtx.c4
-rw-r--r--src/mess/drivers/multi16.c14
-rw-r--r--src/mess/drivers/multi8.c45
-rw-r--r--src/mess/drivers/myb3k.c12
-rw-r--r--src/mess/drivers/mz2000.c33
-rw-r--r--src/mess/drivers/mz2500.c43
-rw-r--r--src/mess/drivers/mz6500.c8
-rw-r--r--src/mess/drivers/mz700.c4
-rw-r--r--src/mess/drivers/mz80.c2
-rw-r--r--src/mess/drivers/n64.c6
-rw-r--r--src/mess/drivers/nakajies.c8
-rw-r--r--src/mess/drivers/nascom1.c1
-rw-r--r--src/mess/drivers/nc.c76
-rw-r--r--src/mess/drivers/nes.c6
-rw-r--r--src/mess/drivers/ng_aes.c61
-rw-r--r--src/mess/drivers/odyssey2.c9
-rw-r--r--src/mess/drivers/ondra.c3
-rw-r--r--src/mess/drivers/orao.c2
-rw-r--r--src/mess/drivers/oric.c10
-rw-r--r--src/mess/drivers/orion.c22
-rw-r--r--src/mess/drivers/osbexec.c23
-rw-r--r--src/mess/drivers/osborne1.c10
-rw-r--r--src/mess/drivers/p112.c8
-rw-r--r--src/mess/drivers/p2000t.c14
-rw-r--r--src/mess/drivers/p8k.c45
-rw-r--r--src/mess/drivers/palm.c34
-rw-r--r--src/mess/drivers/palmz22.c20
-rw-r--r--src/mess/drivers/partner.c6
-rw-r--r--src/mess/drivers/paso1600.c20
-rw-r--r--src/mess/drivers/pasogo.c12
-rw-r--r--src/mess/drivers/pasopia.c21
-rw-r--r--src/mess/drivers/pasopia7.c43
-rw-r--r--src/mess/drivers/pb1000.c8
-rw-r--r--src/mess/drivers/pc.c56
-rw-r--r--src/mess/drivers/pc100.c19
-rw-r--r--src/mess/drivers/pc1500.c8
-rw-r--r--src/mess/drivers/pc2000.c8
-rw-r--r--src/mess/drivers/pc4.c7
-rw-r--r--src/mess/drivers/pc6001.c178
-rw-r--r--src/mess/drivers/pc8801.c141
-rw-r--r--src/mess/drivers/pc88va.c44
-rw-r--r--src/mess/drivers/pc9801.c98
-rw-r--r--src/mess/drivers/pce.c16
-rw-r--r--src/mess/drivers/pce220.c11
-rw-r--r--src/mess/drivers/pcw.c50
-rw-r--r--src/mess/drivers/pcw16.c18
-rw-r--r--src/mess/drivers/pdp1.c54
-rw-r--r--src/mess/drivers/pdp11.c38
-rw-r--r--src/mess/drivers/pecom.c2
-rw-r--r--src/mess/drivers/pentagon.c24
-rw-r--r--src/mess/drivers/pet.c12
-rw-r--r--src/mess/drivers/phunsy.c6
-rw-r--r--src/mess/drivers/pk8000.c12
-rw-r--r--src/mess/drivers/pk8020.c3
-rw-r--r--src/mess/drivers/pmd85.c3
-rw-r--r--src/mess/drivers/pmi80.c4
-rw-r--r--src/mess/drivers/pockstat.c96
-rw-r--r--src/mess/drivers/pokemini.c11
-rw-r--r--src/mess/drivers/poly.c4
-rw-r--r--src/mess/drivers/poly88.c2
-rw-r--r--src/mess/drivers/portfoli.c7
-rw-r--r--src/mess/drivers/pp01.c4
-rw-r--r--src/mess/drivers/prestige.c8
-rw-r--r--src/mess/drivers/primo.c9
-rw-r--r--src/mess/drivers/psion.c7
-rw-r--r--src/mess/drivers/psx.c9
-rw-r--r--src/mess/drivers/pt68k4.c15
-rw-r--r--src/mess/drivers/pv1000.c42
-rw-r--r--src/mess/drivers/pv2000.c19
-rw-r--r--src/mess/drivers/pv9234.c11
-rw-r--r--src/mess/drivers/px4.c33
-rw-r--r--src/mess/drivers/px8.c7
-rw-r--r--src/mess/drivers/pyl601.c29
-rw-r--r--src/mess/drivers/qx10.c4
-rw-r--r--src/mess/drivers/radio86.c4
-rw-r--r--src/mess/drivers/rainbow.c15
-rw-r--r--src/mess/drivers/rex6000.c8
-rw-r--r--src/mess/drivers/rmnimbus.c9
-rw-r--r--src/mess/drivers/rt1715.c26
-rw-r--r--src/mess/drivers/rvoice.c73
-rw-r--r--src/mess/drivers/samcoupe.c9
-rw-r--r--src/mess/drivers/sapi1.c12
-rw-r--r--src/mess/drivers/sbc6510.c4
-rw-r--r--src/mess/drivers/sc2.c30
-rw-r--r--src/mess/drivers/scorpion.c33
-rw-r--r--src/mess/drivers/scv.c50
-rw-r--r--src/mess/drivers/sgi_ip2.c8
-rw-r--r--src/mess/drivers/sgi_ip6.c19
-rw-r--r--src/mess/drivers/sm1800.c10
-rw-r--r--src/mess/drivers/smc777.c30
-rw-r--r--src/mess/drivers/sms.c18
-rw-r--r--src/mess/drivers/socrates.c63
-rw-r--r--src/mess/drivers/sorcerer.c4
-rw-r--r--src/mess/drivers/spc1000.c21
-rw-r--r--src/mess/drivers/spec128.c23
-rw-r--r--src/mess/drivers/special.c20
-rw-r--r--src/mess/drivers/specpls3.c15
-rw-r--r--src/mess/drivers/spectrum.c17
-rw-r--r--src/mess/drivers/ssem.c7
-rw-r--r--src/mess/drivers/ssystem3.c2
-rw-r--r--src/mess/drivers/super80.c8
-rw-r--r--src/mess/drivers/supercon.c17
-rw-r--r--src/mess/drivers/supracan.c85
-rw-r--r--src/mess/drivers/svi318.c16
-rw-r--r--src/mess/drivers/svision.c56
-rw-r--r--src/mess/drivers/swtpc.c4
-rw-r--r--src/mess/drivers/sym1.c1
-rw-r--r--src/mess/drivers/sys2900.c13
-rw-r--r--src/mess/drivers/systec.c8
-rw-r--r--src/mess/drivers/terak.c8
-rw-r--r--src/mess/drivers/ti85.c23
-rw-r--r--src/mess/drivers/ti89.c7
-rw-r--r--src/mess/drivers/ti990_10.c21
-rw-r--r--src/mess/drivers/ti990_4.c20
-rw-r--r--src/mess/drivers/ti99_2.c21
-rw-r--r--src/mess/drivers/ti99_4p.c51
-rw-r--r--src/mess/drivers/ti99_4x.c93
-rw-r--r--src/mess/drivers/ti99_8.c40
-rw-r--r--src/mess/drivers/tim011.c8
-rw-r--r--src/mess/drivers/timex.c34
-rw-r--r--src/mess/drivers/tk80bs.c20
-rw-r--r--src/mess/drivers/tm990189.c49
-rw-r--r--src/mess/drivers/tricep.c11
-rw-r--r--src/mess/drivers/trs80.c9
-rw-r--r--src/mess/drivers/tutor.c17
-rw-r--r--src/mess/drivers/tvc.c5
-rw-r--r--src/mess/drivers/tx0.c36
-rw-r--r--src/mess/drivers/uknc.c8
-rw-r--r--src/mess/drivers/unior.c15
-rw-r--r--src/mess/drivers/unistar.c8
-rw-r--r--src/mess/drivers/ut88.c8
-rw-r--r--src/mess/drivers/uzebox.c4
-rw-r--r--src/mess/drivers/v6809.c13
-rw-r--r--src/mess/drivers/vboy.c91
-rw-r--r--src/mess/drivers/vc4000.c6
-rw-r--r--src/mess/drivers/vector06.c4
-rw-r--r--src/mess/drivers/vector4.c9
-rw-r--r--src/mess/drivers/vii.c49
-rw-r--r--src/mess/drivers/vk100.c58
-rw-r--r--src/mess/drivers/votrtnt.c9
-rw-r--r--src/mess/drivers/vt100.c21
-rw-r--r--src/mess/drivers/vt220.c10
-rw-r--r--src/mess/drivers/vt240.c6
-rw-r--r--src/mess/drivers/vt320.c10
-rw-r--r--src/mess/drivers/vt520.c15
-rw-r--r--src/mess/drivers/vta2000.c23
-rw-r--r--src/mess/drivers/vtech2.c19
-rw-r--r--src/mess/drivers/wswan.c15
-rw-r--r--src/mess/drivers/x07.c7
-rw-r--r--src/mess/drivers/x1.c110
-rw-r--r--src/mess/drivers/x1twin.c8
-rw-r--r--src/mess/drivers/x68k.c119
-rw-r--r--src/mess/drivers/z100.c31
-rw-r--r--src/mess/drivers/z1013.c18
-rw-r--r--src/mess/drivers/z80ne.c16
-rw-r--r--src/mess/drivers/z88.c1
-rw-r--r--src/mess/drivers/zexall.c9
-rw-r--r--src/mess/drivers/zsbc3.c4
-rw-r--r--src/mess/drivers/zx.c31
-rw-r--r--src/mess/includes/a7800.h8
-rw-r--r--src/mess/includes/ac1.h6
-rw-r--r--src/mess/includes/advision.h3
-rw-r--r--src/mess/includes/aim65.h3
-rw-r--r--src/mess/includes/amstrad.h43
-rw-r--r--src/mess/includes/apollo.h8
-rw-r--r--src/mess/includes/apple1.h6
-rw-r--r--src/mess/includes/apple2.h27
-rw-r--r--src/mess/includes/apple2gs.h14
-rw-r--r--src/mess/includes/apple3.h6
-rw-r--r--src/mess/includes/aquarius.h6
-rw-r--r--src/mess/includes/arcadia.h2
-rw-r--r--src/mess/includes/at.h7
-rw-r--r--src/mess/includes/avigo.h1
-rw-r--r--src/mess/includes/b2m.h4
-rw-r--r--src/mess/includes/bbc.h37
-rw-r--r--src/mess/includes/bebox.h6
-rw-r--r--src/mess/includes/bk.h3
-rw-r--r--src/mess/includes/busicom.h4
-rw-r--r--src/mess/includes/bw2.h1
-rw-r--r--src/mess/includes/c65.h4
-rw-r--r--src/mess/includes/cbmb.h10
-rw-r--r--src/mess/includes/cgenie.h11
-rw-r--r--src/mess/includes/channelf.h6
-rw-r--r--src/mess/includes/compis.h7
-rw-r--r--src/mess/includes/comquest.h4
-rw-r--r--src/mess/includes/concept.h6
-rw-r--r--src/mess/includes/cxhumax.h3
-rw-r--r--src/mess/includes/cybiko.h19
-rw-r--r--src/mess/includes/dai.h12
-rw-r--r--src/mess/includes/dgn_beta.h6
-rw-r--r--src/mess/includes/dm7000.h2
-rw-r--r--src/mess/includes/einstein.h4
-rw-r--r--src/mess/includes/electron.h7
-rw-r--r--src/mess/includes/enterp.h7
-rw-r--r--src/mess/includes/fm7.h11
-rw-r--r--src/mess/includes/galaxy.h9
-rw-r--r--src/mess/includes/galeb.h1
-rw-r--r--src/mess/includes/gamecom.h5
-rw-r--r--src/mess/includes/gb.h46
-rw-r--r--src/mess/includes/gba.h3
-rw-r--r--src/mess/includes/gmaster.h1
-rw-r--r--src/mess/includes/gp32.h2
-rw-r--r--src/mess/includes/hec2hrp.h9
-rw-r--r--src/mess/includes/hp48.h7
-rw-r--r--src/mess/includes/intv.h4
-rw-r--r--src/mess/includes/irisha.h3
-rw-r--r--src/mess/includes/jtc.h2
-rw-r--r--src/mess/includes/kaypro.h18
-rw-r--r--src/mess/includes/kc.h1
-rw-r--r--src/mess/includes/kramermc.h6
-rw-r--r--src/mess/includes/kyocera.h2
-rw-r--r--src/mess/includes/lisa.h9
-rw-r--r--src/mess/includes/llc.h4
-rw-r--r--src/mess/includes/lviv.h5
-rw-r--r--src/mess/includes/lynx.h7
-rw-r--r--src/mess/includes/mac.h40
-rw-r--r--src/mess/includes/mbc55x.h13
-rw-r--r--src/mess/includes/mbee.h36
-rw-r--r--src/mess/includes/mc80.h4
-rw-r--r--src/mess/includes/micronic.h1
-rw-r--r--src/mess/includes/microtan.h4
-rw-r--r--src/mess/includes/mikro80.h2
-rw-r--r--src/mess/includes/mikromik.h1
-rw-r--r--src/mess/includes/msx.h4
-rw-r--r--src/mess/includes/mtx.h6
-rw-r--r--src/mess/includes/mz700.h9
-rw-r--r--src/mess/includes/mz80.h2
-rw-r--r--src/mess/includes/nascom1.h5
-rw-r--r--src/mess/includes/nc.h6
-rw-r--r--src/mess/includes/nes.h12
-rw-r--r--src/mess/includes/odyssey2.h9
-rw-r--r--src/mess/includes/ondra.h3
-rw-r--r--src/mess/includes/orao.h8
-rw-r--r--src/mess/includes/oric.h13
-rw-r--r--src/mess/includes/orion.h7
-rw-r--r--src/mess/includes/osborne1.h4
-rw-r--r--src/mess/includes/p2000t.h4
-rw-r--r--src/mess/includes/partner.h5
-rw-r--r--src/mess/includes/pc.h16
-rw-r--r--src/mess/includes/pc4.h1
-rw-r--r--src/mess/includes/pc8401a.h3
-rw-r--r--src/mess/includes/pce.h6
-rw-r--r--src/mess/includes/pcw.h4
-rw-r--r--src/mess/includes/pcw16.h3
-rw-r--r--src/mess/includes/pdp1.h6
-rw-r--r--src/mess/includes/pecom.h7
-rw-r--r--src/mess/includes/pet.h5
-rw-r--r--src/mess/includes/pk8020.h6
-rw-r--r--src/mess/includes/pmd85.h3
-rw-r--r--src/mess/includes/pokemini.h1
-rw-r--r--src/mess/includes/poly88.h4
-rw-r--r--src/mess/includes/portfoli.h1
-rw-r--r--src/mess/includes/pp01.h4
-rw-r--r--src/mess/includes/primo.h2
-rw-r--r--src/mess/includes/psion.h1
-rw-r--r--src/mess/includes/px8.h1
-rw-r--r--src/mess/includes/radio86.h2
-rw-r--r--src/mess/includes/rmnimbus.h13
-rw-r--r--src/mess/includes/samcoupe.h7
-rw-r--r--src/mess/includes/sapi1.h15
-rw-r--r--src/mess/includes/sms.h12
-rw-r--r--src/mess/includes/sorcerer.h9
-rw-r--r--src/mess/includes/special.h30
-rw-r--r--src/mess/includes/spectrum.h19
-rw-r--r--src/mess/includes/ssystem3.h2
-rw-r--r--src/mess/includes/super80.h11
-rw-r--r--src/mess/includes/svi318.h15
-rw-r--r--src/mess/includes/svision.h5
-rw-r--r--src/mess/includes/sym1.h3
-rw-r--r--src/mess/includes/tandy1t.h1
-rw-r--r--src/mess/includes/ti85.h21
-rw-r--r--src/mess/includes/ti89.h1
-rw-r--r--src/mess/includes/trs80.h18
-rw-r--r--src/mess/includes/tvc.h1
-rw-r--r--src/mess/includes/tx0.h6
-rw-r--r--src/mess/includes/ut88.h4
-rw-r--r--src/mess/includes/vc4000.h2
-rw-r--r--src/mess/includes/vector06.h4
-rw-r--r--src/mess/includes/vtech2.h11
-rw-r--r--src/mess/includes/wswan.h11
-rw-r--r--src/mess/includes/x07.h1
-rw-r--r--src/mess/includes/x1.h15
-rw-r--r--src/mess/includes/x68k.h9
-rw-r--r--src/mess/includes/z80ne.h25
-rw-r--r--src/mess/includes/z88.h1
-rw-r--r--src/mess/includes/zx.h14
-rw-r--r--src/mess/machine/a7800.c25
-rw-r--r--src/mess/machine/ac1.c5
-rw-r--r--src/mess/machine/aim65.c36
-rw-r--r--src/mess/machine/amstrad.c251
-rw-r--r--src/mess/machine/apollo.c37
-rw-r--r--src/mess/machine/apple1.c4
-rw-r--r--src/mess/machine/apple2.c69
-rw-r--r--src/mess/machine/apple2gs.c225
-rw-r--r--src/mess/machine/apple3.c2
-rw-r--r--src/mess/machine/at.c17
-rw-r--r--src/mess/machine/b2m.c48
-rw-r--r--src/mess/machine/bbc.c125
-rw-r--r--src/mess/machine/bebox.c23
-rw-r--r--src/mess/machine/bk.c13
-rw-r--r--src/mess/machine/c65.c13
-rw-r--r--src/mess/machine/cbmb.c2
-rw-r--r--src/mess/machine/cgenie.c60
-rw-r--r--src/mess/machine/compis.c13
-rw-r--r--src/mess/machine/concept.c19
-rw-r--r--src/mess/machine/cybiko.c48
-rw-r--r--src/mess/machine/dai.c16
-rw-r--r--src/mess/machine/dgn_beta.c19
-rw-r--r--src/mess/machine/electron.c15
-rw-r--r--src/mess/machine/galaxy.c28
-rw-r--r--src/mess/machine/gamecom.c17
-rw-r--r--src/mess/machine/gb.c136
-rw-r--r--src/mess/machine/hp48.c27
-rw-r--r--src/mess/machine/intv.c29
-rw-r--r--src/mess/machine/irisha.c9
-rw-r--r--src/mess/machine/kay_kbd.c11
-rw-r--r--src/mess/machine/kaypro.c18
-rw-r--r--src/mess/machine/kramermc.c5
-rw-r--r--src/mess/machine/lisa.c54
-rw-r--r--src/mess/machine/llc.c22
-rw-r--r--src/mess/machine/lviv.c25
-rw-r--r--src/mess/machine/lynx.c34
-rw-r--r--src/mess/machine/mbc55x.c23
-rw-r--r--src/mess/machine/mbee.c66
-rw-r--r--src/mess/machine/mc80.c8
-rw-r--r--src/mess/machine/microtan.c7
-rw-r--r--src/mess/machine/mikro80.c9
-rw-r--r--src/mess/machine/msx.c21
-rw-r--r--src/mess/machine/mtx.c23
-rw-r--r--src/mess/machine/mz700.c9
-rw-r--r--src/mess/machine/mz80.c11
-rw-r--r--src/mess/machine/nascom1.c23
-rw-r--r--src/mess/machine/nes.c44
-rw-r--r--src/mess/machine/odyssey2.c9
-rw-r--r--src/mess/machine/ondra.c13
-rw-r--r--src/mess/machine/orao.c2
-rw-r--r--src/mess/machine/oric.c99
-rw-r--r--src/mess/machine/orion.c117
-rw-r--r--src/mess/machine/osborne1.c21
-rw-r--r--src/mess/machine/partner.c13
-rw-r--r--src/mess/machine/pc.c126
-rw-r--r--src/mess/machine/pce.c18
-rw-r--r--src/mess/machine/pecom.c28
-rw-r--r--src/mess/machine/pet.c43
-rw-r--r--src/mess/machine/pk8020.c11
-rw-r--r--src/mess/machine/pmd85.c21
-rw-r--r--src/mess/machine/poly88.c11
-rw-r--r--src/mess/machine/pp01.c11
-rw-r--r--src/mess/machine/primo.c8
-rw-r--r--src/mess/machine/radio86.c11
-rw-r--r--src/mess/machine/rmnimbus.c45
-rw-r--r--src/mess/machine/samcoupe.c36
-rw-r--r--src/mess/machine/sapi1.c14
-rw-r--r--src/mess/machine/sms.c166
-rw-r--r--src/mess/machine/sorcerer.c43
-rw-r--r--src/mess/machine/special.c32
-rw-r--r--src/mess/machine/svi318.c30
-rw-r--r--src/mess/machine/sym1.c11
-rw-r--r--src/mess/machine/tandy1t.c6
-rw-r--r--src/mess/machine/ti85.c158
-rw-r--r--src/mess/machine/trs80.c40
-rw-r--r--src/mess/machine/ut88.c20
-rw-r--r--src/mess/machine/vector06.c25
-rw-r--r--src/mess/machine/vtech2.c12
-rw-r--r--src/mess/machine/wswan.c101
-rw-r--r--src/mess/machine/z80ne.c126
-rw-r--r--src/mess/machine/zx.c21
-rw-r--r--src/mess/video/a7800.c41
-rw-r--r--src/mess/video/ac1.c2
-rw-r--r--src/mess/video/advision.c4
-rw-r--r--src/mess/video/apple1.c11
-rw-r--r--src/mess/video/apple2.c26
-rw-r--r--src/mess/video/apple2gs.c11
-rw-r--r--src/mess/video/apple3.c11
-rw-r--r--src/mess/video/aquarius.c13
-rw-r--r--src/mess/video/arcadia.c29
-rw-r--r--src/mess/video/avigo.c6
-rw-r--r--src/mess/video/b2m.c6
-rw-r--r--src/mess/video/bbc.c16
-rw-r--r--src/mess/video/bk.c2
-rw-r--r--src/mess/video/busicom.c10
-rw-r--r--src/mess/video/cbmb.c10
-rw-r--r--src/mess/video/cgenie.c9
-rw-r--r--src/mess/video/channelf.c9
-rw-r--r--src/mess/video/comquest.c2
-rw-r--r--src/mess/video/dai.c6
-rw-r--r--src/mess/video/electron.c11
-rw-r--r--src/mess/video/epnick.c15
-rw-r--r--src/mess/video/fm7.c36
-rw-r--r--src/mess/video/galaxy.c11
-rw-r--r--src/mess/video/galeb.c2
-rw-r--r--src/mess/video/gamecom.c9
-rw-r--r--src/mess/video/gb.c50
-rw-r--r--src/mess/video/hec2video.c4
-rw-r--r--src/mess/video/hp48.c4
-rw-r--r--src/mess/video/intv.c37
-rw-r--r--src/mess/video/irisha.c2
-rw-r--r--src/mess/video/kaypro.c13
-rw-r--r--src/mess/video/kc.c4
-rw-r--r--src/mess/video/kramermc.c2
-rw-r--r--src/mess/video/kyocera.c10
-rw-r--r--src/mess/video/llc.c5
-rw-r--r--src/mess/video/lviv.c6
-rw-r--r--src/mess/video/mac.c168
-rw-r--r--src/mess/video/mbc55x.c14
-rw-r--r--src/mess/video/mbee.c55
-rw-r--r--src/mess/video/mc80.c7
-rw-r--r--src/mess/video/microtan.c11
-rw-r--r--src/mess/video/mikro80.c2
-rw-r--r--src/mess/video/mikromik.c10
-rw-r--r--src/mess/video/mz700.c15
-rw-r--r--src/mess/video/mz80.c5
-rw-r--r--src/mess/video/nc.c6
-rw-r--r--src/mess/video/nes.c12
-rw-r--r--src/mess/video/odyssey2.c51
-rw-r--r--src/mess/video/ondra.c5
-rw-r--r--src/mess/video/orao.c3
-rw-r--r--src/mess/video/oric.c27
-rw-r--r--src/mess/video/orion.c6
-rw-r--r--src/mess/video/p2000m.c5
-rw-r--r--src/mess/video/pc8401a.c10
-rw-r--r--src/mess/video/pcw.c11
-rw-r--r--src/mess/video/pcw16.c6
-rw-r--r--src/mess/video/pdp1.c15
-rw-r--r--src/mess/video/pecom.c13
-rw-r--r--src/mess/video/pk8020.c6
-rw-r--r--src/mess/video/pmd85.c6
-rw-r--r--src/mess/video/poly88.c5
-rw-r--r--src/mess/video/pp01.c6
-rw-r--r--src/mess/video/radio86.c4
-rw-r--r--src/mess/video/rmnimbus.c20
-rw-r--r--src/mess/video/sapi1.c7
-rw-r--r--src/mess/video/special.c21
-rw-r--r--src/mess/video/spectrum.c36
-rw-r--r--src/mess/video/ssystem3.c9
-rw-r--r--src/mess/video/super80.c20
-rw-r--r--src/mess/video/ti85.c49
-rw-r--r--src/mess/video/timex.c7
-rw-r--r--src/mess/video/trs80.c13
-rw-r--r--src/mess/video/tx0.c15
-rw-r--r--src/mess/video/ut88.c2
-rw-r--r--src/mess/video/vc4000.c49
-rw-r--r--src/mess/video/vector06.c6
-rw-r--r--src/mess/video/vtech2.c2
-rw-r--r--src/mess/video/x68k.c33
-rw-r--r--src/mess/video/z88.c8
-rw-r--r--src/mess/video/zx.c9
2970 files changed, 34086 insertions, 35562 deletions
diff --git a/src/emu/driver.h b/src/emu/driver.h
index 732148fca32..d53ddf536a3 100644
--- a/src/emu/driver.h
+++ b/src/emu/driver.h
@@ -56,13 +56,13 @@
driver_device::static_set_callback(*owner, driver_device::CB_MACHINE_START, MACHINE_START_NAME(_func)); \
#define MCFG_MACHINE_START_OVERRIDE(_class, _func) \
- driver_device::static_set_callback(*owner, driver_device::CB_MACHINE_START, driver_callback_delegate(&_class::_func, #_class "::" #_func, downcast<_class *>(&config.root_device())));
+ driver_device::static_set_callback(*owner, driver_device::CB_MACHINE_START, driver_callback_delegate(&_class::MACHINE_START_NAME(_func), #_class "::machine_start_" #_func, downcast<_class *>(&config.root_device())));
#define MCFG_MACHINE_RESET(_func) \
driver_device::static_set_callback(*owner, driver_device::CB_MACHINE_RESET, MACHINE_RESET_NAME(_func)); \
#define MCFG_MACHINE_RESET_OVERRIDE(_class, _func) \
- driver_device::static_set_callback(*owner, driver_device::CB_MACHINE_RESET, driver_callback_delegate(&_class::_func, #_class "::" #_func, downcast<_class *>(&config.root_device())));
+ driver_device::static_set_callback(*owner, driver_device::CB_MACHINE_RESET, driver_callback_delegate(&_class::MACHINE_RESET_NAME(_func), #_class "::machine_reset_" #_func, downcast<_class *>(&config.root_device())));
// core sound callbacks
@@ -84,19 +84,19 @@
driver_device::static_set_callback(*owner, driver_device::CB_PALETTE_INIT, PALETTE_INIT_NAME(_func)); \
#define MCFG_PALETTE_INIT_OVERRIDE(_class, _func) \
- driver_device::static_set_callback(*owner, driver_device::CB_PALETTE_INIT, driver_callback_delegate(&_class::_func, #_class "::" #_func, downcast<_class *>(&config.root_device())));
+ driver_device::static_set_callback(*owner, driver_device::CB_PALETTE_INIT, driver_callback_delegate(&_class::PALETTE_INIT_NAME(_func), #_class "::palette_init_" #_func, downcast<_class *>(&config.root_device())));
#define MCFG_VIDEO_START(_func) \
driver_device::static_set_callback(*owner, driver_device::CB_VIDEO_START, VIDEO_START_NAME(_func)); \
#define MCFG_VIDEO_START_OVERRIDE(_class, _func) \
- driver_device::static_set_callback(*owner, driver_device::CB_VIDEO_START, driver_callback_delegate(&_class::_func, #_class "::" #_func, downcast<_class *>(&config.root_device())));
+ driver_device::static_set_callback(*owner, driver_device::CB_VIDEO_START, driver_callback_delegate(&_class::VIDEO_START_NAME(_func), #_class "::video_start_" #_func, downcast<_class *>(&config.root_device())));
#define MCFG_VIDEO_RESET(_func) \
driver_device::static_set_callback(*owner, driver_device::CB_VIDEO_RESET, VIDEO_RESET_NAME(_func)); \
#define MCFG_VIDEO_RESET_OVERRIDE(_class, _func) \
- driver_device::static_set_callback(*owner, driver_device::CB_VIDEO_RESET, driver_callback_delegate(&_class::_func, #_class "::" #_func, downcast<_class *>(&config.root_device())));
+ driver_device::static_set_callback(*owner, driver_device::CB_VIDEO_RESET, driver_callback_delegate(&_class::VIDEO_RESET_NAME(_func), #_class "::video_reset_" #_func, downcast<_class *>(&config.root_device())));
@@ -108,10 +108,18 @@
#define MACHINE_START_NAME(name) machine_start_##name
#define MACHINE_START(name) void MACHINE_START_NAME(name)(running_machine &machine)
#define MACHINE_START_CALL(name) MACHINE_START_NAME(name)(machine)
+#define MACHINE_START_CALL_MEMBER(name) MACHINE_START_NAME(name)()
+#define MACHINE_START_CALL_LEGACY(name) MACHINE_START_NAME(name)(machine())
+#define DECLARE_MACHINE_START(name) void MACHINE_START_NAME(name)()
+#define MACHINE_START_MEMBER(cls,name) void cls::MACHINE_START_NAME(name)()
#define MACHINE_RESET_NAME(name) machine_reset_##name
#define MACHINE_RESET(name) void MACHINE_RESET_NAME(name)(running_machine &machine)
#define MACHINE_RESET_CALL(name) MACHINE_RESET_NAME(name)(machine)
+#define MACHINE_RESET_CALL_MEMBER(name) MACHINE_RESET_NAME(name)()
+#define MACHINE_RESET_CALL_LEGACY(name) MACHINE_RESET_NAME(name)(machine())
+#define DECLARE_MACHINE_RESET(name) void MACHINE_RESET_NAME(name)()
+#define MACHINE_RESET_MEMBER(cls,name) void cls::MACHINE_RESET_NAME(name)()
#define SOUND_START_NAME(name) sound_start_##name
#define SOUND_START(name) void SOUND_START_NAME(name)(running_machine &machine)
@@ -124,14 +132,24 @@
#define PALETTE_INIT_NAME(name) palette_init_##name
#define PALETTE_INIT(name) void PALETTE_INIT_NAME(name)(running_machine &machine)
#define PALETTE_INIT_CALL(name) PALETTE_INIT_NAME(name)(machine)
+#define PALETTE_INIT_CALL_MEMBER(name) PALETTE_INIT_NAME(name)()
+#define DECLARE_PALETTE_INIT(name) void PALETTE_INIT_NAME(name)()
+#define PALETTE_INIT_MEMBER(cls,name) void cls::PALETTE_INIT_NAME(name)()
#define VIDEO_START_NAME(name) video_start_##name
#define VIDEO_START(name) void VIDEO_START_NAME(name)(running_machine &machine)
#define VIDEO_START_CALL(name) VIDEO_START_NAME(name)(machine)
+#define VIDEO_START_CALL_MEMBER(name) VIDEO_START_NAME(name)()
+#define VIDEO_START_CALL_LEGACY(name) VIDEO_START_NAME(name)(machine())
+#define DECLARE_VIDEO_START(name) void VIDEO_START_NAME(name)()
+#define VIDEO_START_MEMBER(cls,name) void cls::VIDEO_START_NAME(name)()
#define VIDEO_RESET_NAME(name) video_reset_##name
#define VIDEO_RESET(name) void VIDEO_RESET_NAME(name)(running_machine &machine)
#define VIDEO_RESET_CALL(name) VIDEO_RESET_NAME(name)(machine)
+#define VIDEO_RESET_CALL_MEMBER(name) VIDEO_RESET_NAME(name)()
+#define DECLARE_VIDEO_RESET(name) void VIDEO_RESET_NAME(name)()
+#define VIDEO_RESET_MEMBER(cls,name) void cls::VIDEO_RESET_NAME(name)()
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)
diff --git a/src/mess/drivers/4004clk.c b/src/mess/drivers/4004clk.c
index 772bebabfa1..6cf98892cde 100644
--- a/src/mess/drivers/4004clk.c
+++ b/src/mess/drivers/4004clk.c
@@ -28,6 +28,7 @@ public:
DECLARE_WRITE8_MEMBER( relays_w );
UINT16 m_nixie[16];
UINT8 m_timer;
+ virtual void machine_start();
};
READ8_MEMBER(nixieclock_state::data_r)
@@ -130,14 +131,13 @@ static TIMER_DEVICE_CALLBACK(timer_callback)
state->m_timer^=1;
}
-static MACHINE_START(4004clk)
+void nixieclock_state::machine_start()
{
- nixieclock_state *state = machine.driver_data<nixieclock_state>();
- state->m_timer = 0;
+ m_timer = 0;
/* register for state saving */
- state->save_item(NAME(state->m_timer));
- state->save_pointer(NAME(state->m_nixie), 6);
+ save_item(NAME(m_timer));
+ save_pointer(NAME(m_nixie), 6);
}
static MACHINE_CONFIG_START( 4004clk, nixieclock_state )
@@ -148,7 +148,6 @@ static MACHINE_CONFIG_START( 4004clk, nixieclock_state )
MCFG_CPU_DATA_MAP(4004clk_mem)
MCFG_CPU_IO_MAP(4004clk_io)
- MCFG_MACHINE_START(4004clk)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_4004clk)
diff --git a/src/mess/drivers/a2600.c b/src/mess/drivers/a2600.c
index 16b54d30e75..e0d938d3001 100644
--- a/src/mess/drivers/a2600.c
+++ b/src/mess/drivers/a2600.c
@@ -111,11 +111,15 @@ public:
DECLARE_WRITE16_MEMBER(a2600_tia_vsync_callback_pal);
void modeDPC_check_flag(UINT8 data_fetcher);
void modeDPC_decrement_counter(UINT8 data_fetcher);
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(a2600);
+ DECLARE_MACHINE_START(a2600p);
};
#define CART machine.root_device().memregion("user1")->base()
+#define CART_MEMBER machine().root_device().memregion("user1")->base()
#define MASTER_CLOCK_NTSC 3579545
#define MASTER_CLOCK_PAL 3546894
@@ -1590,14 +1594,14 @@ static void common_init(running_machine &machine)
state->m_dpc.oscillator = machine.scheduler().timer_alloc(FUNC(modeDPC_timer_callback));
}
-static MACHINE_START( a2600 )
+MACHINE_START_MEMBER(a2600_state,a2600)
{
- common_init(machine);
+ common_init(machine());
}
-static MACHINE_START( a2600p )
+MACHINE_START_MEMBER(a2600_state,a2600p)
{
- common_init(machine);
+ common_init(machine());
}
#ifdef UNUSED_FUNCTIONS
@@ -1726,68 +1730,67 @@ static void set_controller( running_machine &machine, const char *controller, un
}
#endif
-static MACHINE_RESET( a2600 )
+void a2600_state::machine_reset()
{
- a2600_state *state = machine.driver_data<a2600_state>();
- address_space* space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space* space = machine().device("maincpu")->memory().space(AS_PROGRAM);
int chip = 0xFF;
static const unsigned char snowwhite[] = { 0x10, 0xd0, 0xff, 0xff }; // Snow White Proto
- state->m_current_reset_bank_counter++;
+ m_current_reset_bank_counter++;
#ifdef UNUSED_FUNCTIONS
/* auto-detect special controllers */
unsigned long controltemp;
- controltemp = detect_2600controllers(machine);
- set_controller( machine, STR_LEFT_CONTROLLER, controltemp >> 16 );
- set_controller( machine, STR_RIGHT_CONTROLLER, controltemp & 0xFFFF );
+ controltemp = detect_2600controllers(machine());
+ set_controller( machine(), STR_LEFT_CONTROLLER, controltemp >> 16 );
+ set_controller( machine(), STR_RIGHT_CONTROLLER, controltemp & 0xFFFF );
#endif
/* auto-detect bank mode */
- if (state->m_banking_mode == 0xff) if (detect_modeDC(machine)) state->m_banking_mode = modeDC;
- if (state->m_banking_mode == 0xff) if (detect_mode3E(machine)) state->m_banking_mode = mode3E;
- if (state->m_banking_mode == 0xff) if (detect_modeFE(machine)) state->m_banking_mode = modeFE;
- if (state->m_banking_mode == 0xff) if (detect_modeSS(machine)) state->m_banking_mode = modeSS;
- if (state->m_banking_mode == 0xff) if (detect_modeE0(machine)) state->m_banking_mode = modeE0;
- if (state->m_banking_mode == 0xff) if (detect_modeCV(machine)) state->m_banking_mode = modeCV;
- if (state->m_banking_mode == 0xff) if (detect_modeFV(machine)) state->m_banking_mode = modeFV;
- if (state->m_banking_mode == 0xff) if (detect_modeJVP(machine)) state->m_banking_mode = modeJVP;
- if (state->m_banking_mode == 0xff) if (detect_modeUA(machine)) state->m_banking_mode = modeUA;
- if (state->m_banking_mode == 0xff) if (detect_8K_mode3F(machine)) state->m_banking_mode = mode3F;
- if (state->m_banking_mode == 0xff) if (detect_32K_mode3F(machine)) state->m_banking_mode = mode3F;
- if (state->m_banking_mode == 0xff) if (detect_modeE7(machine)) state->m_banking_mode = modeE7;
-
- if (state->m_banking_mode == 0xff)
+ if (m_banking_mode == 0xff) if (detect_modeDC(machine())) m_banking_mode = modeDC;
+ if (m_banking_mode == 0xff) if (detect_mode3E(machine())) m_banking_mode = mode3E;
+ if (m_banking_mode == 0xff) if (detect_modeFE(machine())) m_banking_mode = modeFE;
+ if (m_banking_mode == 0xff) if (detect_modeSS(machine())) m_banking_mode = modeSS;
+ if (m_banking_mode == 0xff) if (detect_modeE0(machine())) m_banking_mode = modeE0;
+ if (m_banking_mode == 0xff) if (detect_modeCV(machine())) m_banking_mode = modeCV;
+ if (m_banking_mode == 0xff) if (detect_modeFV(machine())) m_banking_mode = modeFV;
+ if (m_banking_mode == 0xff) if (detect_modeJVP(machine())) m_banking_mode = modeJVP;
+ if (m_banking_mode == 0xff) if (detect_modeUA(machine())) m_banking_mode = modeUA;
+ if (m_banking_mode == 0xff) if (detect_8K_mode3F(machine())) m_banking_mode = mode3F;
+ if (m_banking_mode == 0xff) if (detect_32K_mode3F(machine())) m_banking_mode = mode3F;
+ if (m_banking_mode == 0xff) if (detect_modeE7(machine())) m_banking_mode = modeE7;
+
+ if (m_banking_mode == 0xff)
{
- switch (state->m_cart_size)
+ switch (m_cart_size)
{
case 0x800:
- state->m_banking_mode = mode2K;
+ m_banking_mode = mode2K;
break;
case 0x1000:
- state->m_banking_mode = mode4K;
+ m_banking_mode = mode4K;
break;
case 0x2000:
- state->m_banking_mode = modeF8;
+ m_banking_mode = modeF8;
break;
case 0x28FF:
case 0x2900:
- state->m_banking_mode = modeDPC;
+ m_banking_mode = modeDPC;
break;
case 0x3000:
- state->m_banking_mode = modeFA;
+ m_banking_mode = modeFA;
break;
case 0x4000:
- state->m_banking_mode = modeF6;
+ m_banking_mode = modeF6;
break;
case 0x8000:
- state->m_banking_mode = modeF4;
+ m_banking_mode = modeF4;
break;
case 0x10000:
- state->m_banking_mode = mode32in1;
+ m_banking_mode = mode32in1;
break;
case 0x80000:
- state->m_banking_mode = mode3F;
+ m_banking_mode = mode3F;
break;
}
}
@@ -1796,9 +1799,9 @@ static MACHINE_RESET( a2600 )
chip = 0;
- if (state->m_cart_size == 0x2000 || state->m_cart_size == 0x4000 || state->m_cart_size == 0x8000)
+ if (m_cart_size == 0x2000 || m_cart_size == 0x4000 || m_cart_size == 0x8000)
{
- chip = detect_super_chip(machine);
+ chip = detect_super_chip(machine());
}
/* Super chip games:
@@ -1809,235 +1812,235 @@ static MACHINE_RESET( a2600 )
/* set up ROM banks */
- switch (state->m_banking_mode)
+ switch (m_banking_mode)
{
case mode2K:
- install_banks(machine, 2, 0x0000);
+ install_banks(machine(), 2, 0x0000);
break;
case mode4K:
- install_banks(machine, 1, 0x0000);
+ install_banks(machine(), 1, 0x0000);
break;
case modeF8:
- if (!memcmp(&CART[0x1ffc],snowwhite,sizeof(snowwhite)))
+ if (!memcmp(&CART_MEMBER[0x1ffc],snowwhite,sizeof(snowwhite)))
{
- install_banks(machine, 1, 0x0000);
+ install_banks(machine(), 1, 0x0000);
}
else
{
- install_banks(machine, 1, 0x1000);
+ install_banks(machine(), 1, 0x1000);
}
break;
case modeFA:
- install_banks(machine, 1, 0x2000);
+ install_banks(machine(), 1, 0x2000);
break;
case modeF6:
- install_banks(machine, 1, 0x0000);
+ install_banks(machine(), 1, 0x0000);
break;
case modeF4:
- install_banks(machine, 1, 0x7000);
+ install_banks(machine(), 1, 0x7000);
break;
case modeFE:
- install_banks(machine, 1, 0x0000);
+ install_banks(machine(), 1, 0x0000);
break;
case modeE0:
- install_banks(machine, 4, 0x1c00);
+ install_banks(machine(), 4, 0x1c00);
break;
case mode3F:
- install_banks(machine, 2, state->m_cart_size - 0x800);
- state->m_number_banks = state->m_cart_size / 0x800;
+ install_banks(machine(), 2, m_cart_size - 0x800);
+ m_number_banks = m_cart_size / 0x800;
break;
case modeUA:
- install_banks(machine, 1, 0x1000);
+ install_banks(machine(), 1, 0x1000);
break;
case modeE7:
- install_banks(machine, 2, 0x3800);
+ install_banks(machine(), 2, 0x3800);
break;
case modeDC:
- install_banks(machine, 1, 0x1000 * state->m_current_bank);
+ install_banks(machine(), 1, 0x1000 * m_current_bank);
break;
case modeCV:
- install_banks(machine, 2, 0x0000);
+ install_banks(machine(), 2, 0x0000);
break;
case mode3E:
- install_banks(machine, 2, state->m_cart_size - 0x800);
- state->m_number_banks = state->m_cart_size / 0x800;
- state->m_mode3E_ram_enabled = 0;
+ install_banks(machine(), 2, m_cart_size - 0x800);
+ m_number_banks = m_cart_size / 0x800;
+ m_mode3E_ram_enabled = 0;
break;
case modeSS:
- install_banks(machine, 2, 0x0000);
+ install_banks(machine(), 2, 0x0000);
break;
case modeFV:
- install_banks(machine, 1, 0x0000);
- state->m_current_bank = 0;
+ install_banks(machine(), 1, 0x0000);
+ m_current_bank = 0;
break;
case modeDPC:
- install_banks(machine, 1, 0x0000);
+ install_banks(machine(), 1, 0x0000);
break;
case mode32in1:
- install_banks(machine, 2, 0x0000);
- state->m_current_reset_bank_counter = state->m_current_reset_bank_counter & 0x1F;
+ install_banks(machine(), 2, 0x0000);
+ m_current_reset_bank_counter = m_current_reset_bank_counter & 0x1F;
break;
case modeJVP:
- state->m_current_reset_bank_counter = state->m_current_reset_bank_counter & 1;
- if ( state->m_cart_size == 0x2000 )
- state->m_current_reset_bank_counter = 0;
- state->m_current_bank = state->m_current_reset_bank_counter * 2;
- install_banks(machine, 1, 0x1000 * state->m_current_bank);
+ m_current_reset_bank_counter = m_current_reset_bank_counter & 1;
+ if ( m_cart_size == 0x2000 )
+ m_current_reset_bank_counter = 0;
+ m_current_bank = m_current_reset_bank_counter * 2;
+ install_banks(machine(), 1, 0x1000 * m_current_bank);
break;
}
/* set up bank counter */
- if (state->m_banking_mode == modeDC)
+ if (m_banking_mode == modeDC)
{
- space->install_read_handler(0x1fec, 0x1fec, read8_delegate(FUNC(a2600_state::current_bank_r),state));
+ space->install_read_handler(0x1fec, 0x1fec, read8_delegate(FUNC(a2600_state::current_bank_r),this));
}
/* set up bank switch registers */
- switch (state->m_banking_mode)
+ switch (m_banking_mode)
{
case modeF8:
- space->install_write_handler(0x1ff8, 0x1ff9, write8_delegate(FUNC(a2600_state::modeF8_switch_w),state));
- space->install_read_handler(0x1ff8, 0x1ff9, read8_delegate(FUNC(a2600_state::modeF8_switch_r),state));
+ space->install_write_handler(0x1ff8, 0x1ff9, write8_delegate(FUNC(a2600_state::modeF8_switch_w),this));
+ space->install_read_handler(0x1ff8, 0x1ff9, read8_delegate(FUNC(a2600_state::modeF8_switch_r),this));
break;
case modeFA:
- space->install_write_handler(0x1ff8, 0x1ffa, write8_delegate(FUNC(a2600_state::modeFA_switch_w),state));
- space->install_read_handler(0x1ff8, 0x1ffa, read8_delegate(FUNC(a2600_state::modeFA_switch_r),state));
+ space->install_write_handler(0x1ff8, 0x1ffa, write8_delegate(FUNC(a2600_state::modeFA_switch_w),this));
+ space->install_read_handler(0x1ff8, 0x1ffa, read8_delegate(FUNC(a2600_state::modeFA_switch_r),this));
break;
case modeF6:
- space->install_write_handler(0x1ff6, 0x1ff9, write8_delegate(FUNC(a2600_state::modeF6_switch_w),state));
- space->install_read_handler(0x1ff6, 0x1ff9, read8_delegate(FUNC(a2600_state::modeF6_switch_r),state));
- space->set_direct_update_handler(direct_update_delegate(FUNC(a2600_state::modeF6_opbase), state));
+ space->install_write_handler(0x1ff6, 0x1ff9, write8_delegate(FUNC(a2600_state::modeF6_switch_w),this));
+ space->install_read_handler(0x1ff6, 0x1ff9, read8_delegate(FUNC(a2600_state::modeF6_switch_r),this));
+ space->set_direct_update_handler(direct_update_delegate(FUNC(a2600_state::modeF6_opbase), this));
break;
case modeF4:
- space->install_write_handler(0x1ff4, 0x1ffb, write8_delegate(FUNC(a2600_state::modeF4_switch_w),state));
- space->install_read_handler(0x1ff4, 0x1ffb, read8_delegate(FUNC(a2600_state::modeF4_switch_r),state));
+ space->install_write_handler(0x1ff4, 0x1ffb, write8_delegate(FUNC(a2600_state::modeF4_switch_w),this));
+ space->install_read_handler(0x1ff4, 0x1ffb, read8_delegate(FUNC(a2600_state::modeF4_switch_r),this));
break;
case modeE0:
- space->install_write_handler(0x1fe0, 0x1ff8, write8_delegate(FUNC(a2600_state::modeE0_switch_w),state));
- space->install_read_handler(0x1fe0, 0x1ff8, read8_delegate(FUNC(a2600_state::modeE0_switch_r),state));
+ space->install_write_handler(0x1fe0, 0x1ff8, write8_delegate(FUNC(a2600_state::modeE0_switch_w),this));
+ space->install_read_handler(0x1fe0, 0x1ff8, read8_delegate(FUNC(a2600_state::modeE0_switch_r),this));
break;
case mode3F:
- space->install_write_handler(0x00, 0x3f, write8_delegate(FUNC(a2600_state::mode3F_switch_w),state));
+ space->install_write_handler(0x00, 0x3f, write8_delegate(FUNC(a2600_state::mode3F_switch_w),this));
break;
case modeUA:
- space->install_write_handler(0x200, 0x27f, write8_delegate(FUNC(a2600_state::modeUA_switch_w),state));
- space->install_read_handler(0x200, 0x27f, read8_delegate(FUNC(a2600_state::modeUA_switch_r),state));
+ space->install_write_handler(0x200, 0x27f, write8_delegate(FUNC(a2600_state::modeUA_switch_w),this));
+ space->install_read_handler(0x200, 0x27f, read8_delegate(FUNC(a2600_state::modeUA_switch_r),this));
break;
case modeE7:
- space->install_write_handler(0x1fe0, 0x1fe7, write8_delegate(FUNC(a2600_state::modeE7_switch_w),state));
- space->install_read_handler(0x1fe0, 0x1fe7, read8_delegate(FUNC(a2600_state::modeE7_switch_r),state));
- space->install_write_handler(0x1fe8, 0x1feb, write8_delegate(FUNC(a2600_state::modeE7_RAM_switch_w),state));
- space->install_read_handler(0x1fe8, 0x1feb, read8_delegate(FUNC(a2600_state::modeE7_RAM_switch_r),state));
+ space->install_write_handler(0x1fe0, 0x1fe7, write8_delegate(FUNC(a2600_state::modeE7_switch_w),this));
+ space->install_read_handler(0x1fe0, 0x1fe7, read8_delegate(FUNC(a2600_state::modeE7_switch_r),this));
+ space->install_write_handler(0x1fe8, 0x1feb, write8_delegate(FUNC(a2600_state::modeE7_RAM_switch_w),this));
+ space->install_read_handler(0x1fe8, 0x1feb, read8_delegate(FUNC(a2600_state::modeE7_RAM_switch_r),this));
space->install_readwrite_bank(0x1800, 0x18ff, "bank9");
- state->membank("bank9")->set_base(state->m_extra_RAM->base() + 4 * 256 );
+ membank("bank9")->set_base(m_extra_RAM->base() + 4 * 256 );
break;
case modeDC:
- space->install_write_handler(0x1ff0, 0x1ff0, write8_delegate(FUNC(a2600_state::modeDC_switch_w),state));
- space->install_read_handler(0x1ff0, 0x1ff0, read8_delegate(FUNC(a2600_state::modeDC_switch_r),state));
+ space->install_write_handler(0x1ff0, 0x1ff0, write8_delegate(FUNC(a2600_state::modeDC_switch_w),this));
+ space->install_read_handler(0x1ff0, 0x1ff0, read8_delegate(FUNC(a2600_state::modeDC_switch_r),this));
break;
case modeFE:
- space->install_write_handler(0x01fe, 0x01fe, write8_delegate(FUNC(a2600_state::modeFE_switch_w),state));
- space->install_read_handler(0x01fe, 0x01fe, read8_delegate(FUNC(a2600_state::modeFE_switch_r),state));
+ space->install_write_handler(0x01fe, 0x01fe, write8_delegate(FUNC(a2600_state::modeFE_switch_w),this));
+ space->install_read_handler(0x01fe, 0x01fe, read8_delegate(FUNC(a2600_state::modeFE_switch_r),this));
break;
case mode3E:
- space->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(a2600_state::mode3E_RAM_switch_w),state));
- space->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(a2600_state::mode3E_switch_w),state));
- space->install_write_handler(0x1400, 0x15ff, write8_delegate(FUNC(a2600_state::mode3E_RAM_w),state));
+ space->install_write_handler(0x3e, 0x3e, write8_delegate(FUNC(a2600_state::mode3E_RAM_switch_w),this));
+ space->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(a2600_state::mode3E_switch_w),this));
+ space->install_write_handler(0x1400, 0x15ff, write8_delegate(FUNC(a2600_state::mode3E_RAM_w),this));
break;
case modeSS:
- space->install_read_handler(0x1000, 0x1fff, read8_delegate(FUNC(a2600_state::modeSS_r),state));
- state->m_bank_base[1] = state->m_extra_RAM->base() + 2 * 0x800;
- state->m_bank_base[2] = CART;
- state->membank("bank1")->set_base(state->m_bank_base[1] );
- state->membank("bank2")->set_base(state->m_bank_base[2] );
- state->m_modeSS_write_enabled = 0;
- state->m_modeSS_byte_started = 0;
- space->set_direct_update_handler(direct_update_delegate(FUNC(a2600_state::modeSS_opbase), state));
+ space->install_read_handler(0x1000, 0x1fff, read8_delegate(FUNC(a2600_state::modeSS_r),this));
+ m_bank_base[1] = m_extra_RAM->base() + 2 * 0x800;
+ m_bank_base[2] = CART_MEMBER;
+ membank("bank1")->set_base(m_bank_base[1] );
+ membank("bank2")->set_base(m_bank_base[2] );
+ m_modeSS_write_enabled = 0;
+ m_modeSS_byte_started = 0;
+ space->set_direct_update_handler(direct_update_delegate(FUNC(a2600_state::modeSS_opbase), this));
/* The Supercharger has no motor control so just enable it */
- machine.device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MOTOR_DISABLED );
+ machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MOTOR_DISABLED );
break;
case modeFV:
- space->install_write_handler(0x1fd0, 0x1fd0, write8_delegate(FUNC(a2600_state::modeFV_switch_w),state));
- space->install_read_handler(0x1fd0, 0x1fd0, read8_delegate(FUNC(a2600_state::modeFV_switch_r),state));
+ space->install_write_handler(0x1fd0, 0x1fd0, write8_delegate(FUNC(a2600_state::modeFV_switch_w),this));
+ space->install_read_handler(0x1fd0, 0x1fd0, read8_delegate(FUNC(a2600_state::modeFV_switch_r),this));
break;
case modeDPC:
- space->install_read_handler(0x1000, 0x103f, read8_delegate(FUNC(a2600_state::modeDPC_r),state));
- space->install_write_handler(0x1040, 0x107f, write8_delegate(FUNC(a2600_state::modeDPC_w),state));
- space->install_write_handler(0x1ff8, 0x1ff9, write8_delegate(FUNC(a2600_state::modeF8_switch_w),state));
- space->install_read_handler(0x1ff8, 0x1ff9, read8_delegate(FUNC(a2600_state::modeF8_switch_r),state));
- space->set_direct_update_handler(direct_update_delegate(FUNC(a2600_state::modeDPC_opbase_handler), state));
+ space->install_read_handler(0x1000, 0x103f, read8_delegate(FUNC(a2600_state::modeDPC_r),this));
+ space->install_write_handler(0x1040, 0x107f, write8_delegate(FUNC(a2600_state::modeDPC_w),this));
+ space->install_write_handler(0x1ff8, 0x1ff9, write8_delegate(FUNC(a2600_state::modeF8_switch_w),this));
+ space->install_read_handler(0x1ff8, 0x1ff9, read8_delegate(FUNC(a2600_state::modeF8_switch_r),this));
+ space->set_direct_update_handler(direct_update_delegate(FUNC(a2600_state::modeDPC_opbase_handler), this));
{
int data_fetcher;
for( data_fetcher = 0; data_fetcher < 8; data_fetcher++ )
{
- state->m_dpc.df[data_fetcher].osc_clk = 0;
- state->m_dpc.df[data_fetcher].flag = 0;
- state->m_dpc.df[data_fetcher].music_mode = 0;
+ m_dpc.df[data_fetcher].osc_clk = 0;
+ m_dpc.df[data_fetcher].flag = 0;
+ m_dpc.df[data_fetcher].music_mode = 0;
}
}
- state->m_dpc.oscillator->adjust(attotime::from_hz(42000), 0, attotime::from_hz(42000));
+ m_dpc.oscillator->adjust(attotime::from_hz(42000), 0, attotime::from_hz(42000));
break;
case mode32in1:
- state->membank("bank1")->set_base(CART + state->m_current_reset_bank_counter * 0x800 );
- state->membank("bank2")->set_base(CART + state->m_current_reset_bank_counter * 0x800 );
+ membank("bank1")->set_base(CART_MEMBER + m_current_reset_bank_counter * 0x800 );
+ membank("bank2")->set_base(CART_MEMBER + m_current_reset_bank_counter * 0x800 );
break;
case modeJVP:
- space->install_read_handler(0x0FA0, 0x0FC0, read8_delegate(FUNC(a2600_state::modeJVP_switch_r),state));
- space->install_write_handler(0x0FA0, 0x0FC0, write8_delegate(FUNC(a2600_state::modeJVP_switch_w),state));
+ space->install_read_handler(0x0FA0, 0x0FC0, read8_delegate(FUNC(a2600_state::modeJVP_switch_r),this));
+ space->install_write_handler(0x0FA0, 0x0FC0, write8_delegate(FUNC(a2600_state::modeJVP_switch_w),this));
break;
}
/* set up extra RAM */
- if (state->m_banking_mode == modeFA)
+ if (m_banking_mode == modeFA)
{
space->install_write_bank(0x1000, 0x10ff, "bank9");
space->install_read_bank(0x1100, 0x11ff, "bank9");
- state->membank("bank9")->set_base(state->m_extra_RAM->base());
+ membank("bank9")->set_base(m_extra_RAM->base());
}
- if (state->m_banking_mode == modeCV)
+ if (m_banking_mode == modeCV)
{
space->install_write_bank(0x1400, 0x17ff, "bank9");
space->install_read_bank(0x1000, 0x13ff, "bank9");
- state->membank("bank9")->set_base(state->m_extra_RAM->base());
+ membank("bank9")->set_base(m_extra_RAM->base());
}
if (chip)
@@ -2045,11 +2048,11 @@ static MACHINE_RESET( a2600 )
space->install_write_bank(0x1000, 0x107f, "bank9");
space->install_read_bank(0x1080, 0x10ff, "bank9");
- state->membank("bank9")->set_base(state->m_extra_RAM->base());
+ membank("bank9")->set_base(m_extra_RAM->base());
}
/* Banks may have changed, reset the cpu so it uses the correct reset vector */
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
@@ -2232,8 +2235,7 @@ static MACHINE_CONFIG_START( a2600, a2600_state )
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK_NTSC / 3) /* actually M6507 */
MCFG_CPU_PROGRAM_MAP(a2600_mem)
- MCFG_MACHINE_START(a2600)
- MCFG_MACHINE_RESET(a2600)
+ MCFG_MACHINE_START_OVERRIDE(a2600_state,a2600)
/* video hardware */
MCFG_TIA_VIDEO_ADD("tia_video", a2600_tia_interface)
@@ -2265,8 +2267,7 @@ static MACHINE_CONFIG_START( a2600p, a2600_state )
MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK_PAL / 3) /* actually M6507 */
MCFG_CPU_PROGRAM_MAP(a2600_mem)
- MCFG_MACHINE_START(a2600p)
- MCFG_MACHINE_RESET(a2600)
+ MCFG_MACHINE_START_OVERRIDE(a2600_state,a2600p)
/* video hardware */
MCFG_TIA_VIDEO_ADD("tia_video", a2600_tia_interface_pal)
diff --git a/src/mess/drivers/a310.c b/src/mess/drivers/a310.c
index 1c38d78e369..519beb4cb8c 100644
--- a/src/mess/drivers/a310.c
+++ b/src/mess/drivers/a310.c
@@ -77,6 +77,8 @@ public:
DECLARE_READ32_MEMBER(a310_psy_wram_r);
DECLARE_WRITE32_MEMBER(a310_psy_wram_w);
DECLARE_DRIVER_INIT(a310);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -116,17 +118,17 @@ DRIVER_INIT_MEMBER(a310_state,a310)
archimedes_driver_init(machine());
}
-static MACHINE_START( a310 )
+void a310_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( a310 )
+void a310_state::machine_reset()
{
- archimedes_reset(machine);
+ archimedes_reset(machine());
}
static ADDRESS_MAP_START( a310_mem, AS_PROGRAM, 32, a310_state )
@@ -268,8 +270,6 @@ static MACHINE_CONFIG_START( a310, a310_state )
MCFG_CPU_ADD("maincpu", ARM, 8000000) /* 8 MHz */
MCFG_CPU_PROGRAM_MAP(a310_mem)
- MCFG_MACHINE_START( a310 )
- MCFG_MACHINE_RESET( a310 )
MCFG_I2CMEM_ADD("i2cmem",i2cmem_interface)
diff --git a/src/mess/drivers/a5105.c b/src/mess/drivers/a5105.c
index 12f87003219..2455bd937fe 100644
--- a/src/mess/drivers/a5105.c
+++ b/src/mess/drivers/a5105.c
@@ -65,6 +65,7 @@ public:
UINT8 m_memsel[4];
virtual void machine_reset();
virtual void video_start();
+ virtual void palette_init();
};
/* TODO */
@@ -483,7 +484,7 @@ static GFXDECODE_START( a5105 )
GFXDECODE_END
-static PALETTE_INIT( gdc )
+void a5105_state::palette_init()
{
int i;
int r,g,b;
@@ -494,7 +495,7 @@ static PALETTE_INIT( gdc )
g = i & 2 ? ((i & 8) ? 0xaa : 0xff) : 0x00;
b = i & 1 ? ((i & 8) ? 0xaa : 0xff) : 0x00;
- palette_set_color(machine, i, MAKE_RGB(r,g,b));
+ palette_set_color(machine(), i, MAKE_RGB(r,g,b));
}
}
@@ -593,7 +594,6 @@ static MACHINE_CONFIG_START( a5105, a5105_state )
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 25*8-1)
MCFG_GFXDECODE(a5105)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(gdc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/a51xx.c b/src/mess/drivers/a51xx.c
index 2c29a45c7be..868135dac7c 100644
--- a/src/mess/drivers/a51xx.c
+++ b/src/mess/drivers/a51xx.c
@@ -19,6 +19,10 @@ public:
a51xx_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(a5130);
+ DECLARE_VIDEO_START(a5130);
};
@@ -50,11 +54,11 @@ static INPUT_PORTS_START( a5120 )
INPUT_PORTS_END
-static MACHINE_RESET(a5120)
+void a51xx_state::machine_reset()
{
}
-static VIDEO_START( a5120 )
+void a51xx_state::video_start()
{
}
@@ -69,11 +73,11 @@ static INPUT_PORTS_START( a5130 )
INPUT_PORTS_END
-static MACHINE_RESET(a5130)
+MACHINE_RESET_MEMBER(a51xx_state,a5130)
{
}
-static VIDEO_START( a5130 )
+VIDEO_START_MEMBER(a51xx_state,a5130)
{
}
@@ -106,7 +110,6 @@ static MACHINE_CONFIG_START( a5120, a51xx_state )
MCFG_CPU_PROGRAM_MAP(a5120_mem)
MCFG_CPU_IO_MAP(a5120_io)
- MCFG_MACHINE_RESET(a5120)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -120,7 +123,6 @@ static MACHINE_CONFIG_START( a5120, a51xx_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(a5120)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( a5130, a5120 )
@@ -129,13 +131,13 @@ static MACHINE_CONFIG_DERIVED( a5130, a5120 )
MCFG_CPU_PROGRAM_MAP(a5130_mem)
MCFG_CPU_IO_MAP(a5130_io)
- MCFG_MACHINE_RESET(a5130)
+ MCFG_MACHINE_RESET_OVERRIDE(a51xx_state,a5130)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(a5130)
- MCFG_VIDEO_START(a5130)
+ MCFG_VIDEO_START_OVERRIDE(a51xx_state,a5130)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/a6809.c b/src/mess/drivers/a6809.c
index 8b285dae804..df279338b74 100644
--- a/src/mess/drivers/a6809.c
+++ b/src/mess/drivers/a6809.c
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE8_MEMBER( kb_w );
UINT8 m_keydata;
+ virtual void machine_reset();
};
@@ -54,7 +55,7 @@ static INPUT_PORTS_START( a6809 )
INPUT_PORTS_END
-static MACHINE_RESET(a6809)
+void a6809_state::machine_reset()
{
}
@@ -135,7 +136,6 @@ static MACHINE_CONFIG_START( a6809, a6809_state )
MCFG_CPU_PROGRAM_MAP(a6809_mem)
MCFG_CPU_IO_MAP(a6809_io)
- MCFG_MACHINE_RESET(a6809)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/a7150.c b/src/mess/drivers/a7150.c
index 8aebf8eaf40..b4ef32ad738 100644
--- a/src/mess/drivers/a7150.c
+++ b/src/mess/drivers/a7150.c
@@ -18,6 +18,8 @@ public:
a7150_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -32,11 +34,11 @@ static INPUT_PORTS_START( a7150 )
INPUT_PORTS_END
-static MACHINE_RESET(a7150)
+void a7150_state::machine_reset()
{
}
-static VIDEO_START( a7150 )
+void a7150_state::video_start()
{
}
@@ -50,7 +52,6 @@ static MACHINE_CONFIG_START( a7150, a7150_state )
MCFG_CPU_ADD("maincpu", I8086, 4915000)
MCFG_CPU_PROGRAM_MAP(a7150_mem)
- MCFG_MACHINE_RESET(a7150)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -63,7 +64,6 @@ static MACHINE_CONFIG_START( a7150, a7150_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(a7150)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/a7800.c b/src/mess/drivers/a7800.c
index 7546dbd8dc4..6643305ddef 100644
--- a/src/mess/drivers/a7800.c
+++ b/src/mess/drivers/a7800.c
@@ -233,15 +233,15 @@ static const rgb_t a7800p_palette[256*3] =
/* Initialise the palette */
-static PALETTE_INIT(a7800)
+void a7800_state::palette_init()
{
- palette_set_colors(machine, 0, a7800_palette, ARRAY_LENGTH(a7800_palette));
+ palette_set_colors(machine(), 0, a7800_palette, ARRAY_LENGTH(a7800_palette));
}
-static PALETTE_INIT(a7800p)
+PALETTE_INIT_MEMBER(a7800_state,a7800p)
{
- palette_set_colors(machine, 0, a7800p_palette, ARRAY_LENGTH(a7800p_palette));
+ palette_set_colors(machine(), 0, a7800p_palette, ARRAY_LENGTH(a7800p_palette));
}
@@ -255,7 +255,6 @@ static MACHINE_CONFIG_START( a7800_ntsc, a7800_state )
MCFG_CPU_PROGRAM_MAP(a7800_mem)
MCFG_TIMER_ADD_SCANLINE("scantimer", a7800_interrupt, "screen", 0, 1)
- MCFG_MACHINE_RESET(a7800)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -266,9 +265,7 @@ static MACHINE_CONFIG_START( a7800_ntsc, a7800_state )
MCFG_SCREEN_UPDATE_STATIC(a7800)
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(a7800_palette))
- MCFG_PALETTE_INIT(a7800)
- MCFG_VIDEO_START(a7800)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -305,7 +302,7 @@ static MACHINE_CONFIG_DERIVED( a7800_pal, a7800_ntsc )
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_SIZE(640,312)
MCFG_SCREEN_VISIBLE_AREA(0,319,50,50+225)
- MCFG_PALETTE_INIT( a7800p )
+ MCFG_PALETTE_INIT_OVERRIDE(a7800_state, a7800p )
/* sound hardware */
MCFG_DEVICE_REMOVE("pokey")
diff --git a/src/mess/drivers/ac1.c b/src/mess/drivers/ac1.c
index e72f8342fdb..7c076870148 100644
--- a/src/mess/drivers/ac1.c
+++ b/src/mess/drivers/ac1.c
@@ -125,7 +125,6 @@ static MACHINE_CONFIG_START( ac1, ac1_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz / 4)
MCFG_CPU_PROGRAM_MAP(ac1_mem)
MCFG_CPU_IO_MAP(ac1_io)
- MCFG_MACHINE_RESET( ac1 )
MCFG_Z80PIO_ADD( "z80pio", XTAL_8MHz / 4, ac1_z80pio_intf )
@@ -142,7 +141,6 @@ static MACHINE_CONFIG_START( ac1, ac1_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(ac1)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
diff --git a/src/mess/drivers/advision.c b/src/mess/drivers/advision.c
index 6c48671566b..7200a7059d1 100644
--- a/src/mess/drivers/advision.c
+++ b/src/mess/drivers/advision.c
@@ -87,7 +87,6 @@ static MACHINE_CONFIG_START( advision, advision_state )
MCFG_SCREEN_SIZE(320, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(advision)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/aim65.c b/src/mess/drivers/aim65.c
index 38b164de005..2123098f29b 100644
--- a/src/mess/drivers/aim65.c
+++ b/src/mess/drivers/aim65.c
@@ -260,7 +260,6 @@ static MACHINE_CONFIG_START( aim65, aim65_state )
MCFG_CPU_ADD("maincpu", M6502, AIM65_CLOCK) /* 1 MHz */
MCFG_CPU_PROGRAM_MAP(aim65_mem)
- MCFG_MACHINE_START(aim65)
MCFG_DEFAULT_LAYOUT(layout_aim65)
diff --git a/src/mess/drivers/alphatro.c b/src/mess/drivers/alphatro.c
index a5dc2665a35..c7472cf0b48 100644
--- a/src/mess/drivers/alphatro.c
+++ b/src/mess/drivers/alphatro.c
@@ -70,6 +70,7 @@ private:
static const device_timer_id SYSTEM_TIMER = 0;
static const device_timer_id SERIAL_TIMER = 1;
UINT8 m_timer_bit;
+ virtual void palette_init();
};
static TIMER_CALLBACK( alphatro_beepoff )
@@ -363,19 +364,19 @@ void alphatro_state::machine_reset()
beep_set_frequency(m_beep, 950); /* piezo-device needs to be measured */
}
-static PALETTE_INIT( alphatro )
+void alphatro_state::palette_init()
{
// RGB colours
- palette_set_color_rgb(machine, 0, 0x00, 0x00, 0x00);
- palette_set_color_rgb(machine, 1, 0x00, 0x00, 0xff);
- palette_set_color_rgb(machine, 2, 0xff, 0x00, 0x00);
- palette_set_color_rgb(machine, 3, 0xff, 0x00, 0xff);
- palette_set_color_rgb(machine, 4, 0x00, 0xff, 0x00);
- palette_set_color_rgb(machine, 5, 0x00, 0xff, 0xff);
- palette_set_color_rgb(machine, 6, 0xff, 0xff, 0x00);
- palette_set_color_rgb(machine, 7, 0xff, 0xff, 0xff);
+ palette_set_color_rgb(machine(), 0, 0x00, 0x00, 0x00);
+ palette_set_color_rgb(machine(), 1, 0x00, 0x00, 0xff);
+ palette_set_color_rgb(machine(), 2, 0xff, 0x00, 0x00);
+ palette_set_color_rgb(machine(), 3, 0xff, 0x00, 0xff);
+ palette_set_color_rgb(machine(), 4, 0x00, 0xff, 0x00);
+ palette_set_color_rgb(machine(), 5, 0x00, 0xff, 0xff);
+ palette_set_color_rgb(machine(), 6, 0xff, 0xff, 0x00);
+ palette_set_color_rgb(machine(), 7, 0xff, 0xff, 0xff);
// Amber
- palette_set_color_rgb(machine, 8, 0xf7, 0xaa, 0x00);
+ palette_set_color_rgb(machine(), 8, 0xf7, 0xaa, 0x00);
}
static const mc6845_interface alphatro_crtc6845_interface =
@@ -430,7 +431,6 @@ static MACHINE_CONFIG_START( alphatro, alphatro_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_GFXDECODE(alphatro)
- MCFG_PALETTE_INIT(alphatro)
MCFG_PALETTE_LENGTH(9) // 8 colours + amber
/* sound hardware */
diff --git a/src/mess/drivers/altair.c b/src/mess/drivers/altair.c
index bb65b2c5aa5..9695b9e7db8 100644
--- a/src/mess/drivers/altair.c
+++ b/src/mess/drivers/altair.c
@@ -41,6 +41,7 @@ public:
DECLARE_WRITE8_MEMBER(kbd_put);
UINT8 m_term_data;
required_shared_ptr<UINT8> m_ram;
+ virtual void machine_reset();
};
@@ -103,13 +104,12 @@ QUICKLOAD_LOAD(altair)
}
-static MACHINE_RESET(altair)
+void altair_state::machine_reset()
{
- altair_state *state = machine.driver_data<altair_state>();
// Set startup addess done by turn-key
- machine.device("maincpu")->state().set_state_int(I8085_PC, 0xFD00);
+ machine().device("maincpu")->state().set_state_int(I8085_PC, 0xFD00);
- state->m_term_data = 0;
+ m_term_data = 0;
}
WRITE8_MEMBER( altair_state::kbd_put )
@@ -128,7 +128,6 @@ static MACHINE_CONFIG_START( altair, altair_state )
MCFG_CPU_PROGRAM_MAP(altair_mem)
MCFG_CPU_IO_MAP(altair_io)
- MCFG_MACHINE_RESET(altair)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/ami1200.c b/src/mess/drivers/ami1200.c
index a6dc8a6069b..de3c1524707 100644
--- a/src/mess/drivers/ami1200.c
+++ b/src/mess/drivers/ami1200.c
@@ -291,7 +291,7 @@ static MACHINE_CONFIG_START( a1200n, ami1200_state )
// MCFG_CPU_ADD("keyboard_mpu", MC68HC05)
- MCFG_MACHINE_RESET(amiga)
+ MCFG_MACHINE_RESET_OVERRIDE(ami1200_state,amiga)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -303,7 +303,7 @@ static MACHINE_CONFIG_START( a1200n, ami1200_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(ami1200_state,amiga_aga)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mess/drivers/amiga.c b/src/mess/drivers/amiga.c
index 91d00d79ba1..7ef4a3a8f48 100644
--- a/src/mess/drivers/amiga.c
+++ b/src/mess/drivers/amiga.c
@@ -38,6 +38,15 @@ would commence ($C00000).
#include "imagedev/chd_cd.h"
#include "imagedev/cartslot.h"
+class cdtv_state : public amiga_state
+{
+public:
+ cdtv_state(const machine_config &mconfig, device_type type, const char *tag)
+ : amiga_state(mconfig, type, tag) { }
+
+ DECLARE_MACHINE_START(cdtv);
+ DECLARE_MACHINE_RESET(cdtv);
+};
static READ8_DEVICE_HANDLER( amiga_cia_0_portA_r );
static READ8_DEVICE_HANDLER( amiga_cia_0_cdtv_portA_r );
@@ -267,18 +276,18 @@ INPUT_PORTS_END
Machine drivers
***************************************************************************/
-static MACHINE_START( cdtv )
+MACHINE_START_MEMBER(cdtv_state,cdtv)
{
- MACHINE_START_CALL( amigacd );
+ MACHINE_START_CALL_LEGACY( amigacd );
}
-static MACHINE_RESET( cdtv )
+MACHINE_RESET_MEMBER(cdtv_state,cdtv)
{
- MACHINE_RESET_CALL( amiga );
+ MACHINE_RESET_CALL_MEMBER( amiga );
/* initialize the cdrom controller */
- MACHINE_RESET_CALL( amigacd );
+ MACHINE_RESET_CALL_LEGACY( amigacd );
}
static const mos6526_interface cia_0_ntsc_intf =
@@ -382,7 +391,7 @@ static MACHINE_CONFIG_START( ntsc, amiga_state )
MCFG_SCREEN_REFRESH_RATE(59.997)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MCFG_MACHINE_RESET( amiga )
+ MCFG_MACHINE_RESET_OVERRIDE(amiga_state, amiga )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -391,9 +400,9 @@ static MACHINE_CONFIG_START( ntsc, 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)
/* devices */
MCFG_MSM6242_ADD("rtc",amiga_rtc_intf)
@@ -435,7 +444,7 @@ struct cdrom_interface cdtv_cdrom =
NULL
};
-static MACHINE_CONFIG_DERIVED( cdtv, ntsc )
+static MACHINE_CONFIG_DERIVED_CLASS( cdtv, ntsc, cdtv_state)
MCFG_CPU_REPLACE("maincpu", M68000, CDTV_CLOCK_X1 / 4)
MCFG_CPU_PROGRAM_MAP(cdtv_mem)
@@ -448,8 +457,8 @@ static MACHINE_CONFIG_DERIVED( cdtv, ntsc )
// MCFG_CPU_ADD("lcd", LC6554, XTAL_4MHz) /* 4 MHz? */
// MCFG_CPU_PROGRAM_MAP(cdtv_lcd_mem)
- MCFG_MACHINE_START( cdtv )
- MCFG_MACHINE_RESET( cdtv )
+ MCFG_MACHINE_START_OVERRIDE(cdtv_state, cdtv )
+ MCFG_MACHINE_RESET_OVERRIDE(cdtv_state, cdtv )
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mess/drivers/amstr_pc.c b/src/mess/drivers/amstr_pc.c
index 7526068e6de..c3e424a065a 100644
--- a/src/mess/drivers/amstr_pc.c
+++ b/src/mess/drivers/amstr_pc.c
@@ -266,8 +266,8 @@ static MACHINE_CONFIG_START( pc200, pc_state )
/* basic machine hardware */
MCFG_CPU_PC(pc200, pc200, I8086, 8000000, pc_frame_interrupt)
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -336,8 +336,8 @@ static MACHINE_CONFIG_START( ppc512, pc_state )
MCFG_CPU_IO_MAP(ppc512_io)
MCFG_TIMER_ADD_SCANLINE("scantimer", pc_frame_interrupt, "screen", 0, 1)
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
diff --git a/src/mess/drivers/amstrad.c b/src/mess/drivers/amstrad.c
index a7d30be1f66..00353b6c64e 100644
--- a/src/mess/drivers/amstrad.c
+++ b/src/mess/drivers/amstrad.c
@@ -317,14 +317,14 @@ INPUT_PORTS_END
static INPUT_CHANGED( cpc_monitor_changed )
{
running_machine &machine = field.machine();
-
+ amstrad_state *drvstate = machine.driver_data<amstrad_state>();
if ( (machine.root_device().ioport("green_display")->read()) & 0x01 )
{
- PALETTE_INIT_CALL( amstrad_cpc_green );
+ drvstate->PALETTE_INIT_CALL_MEMBER( amstrad_cpc_green );
}
else
{
- PALETTE_INIT_CALL( amstrad_cpc );
+ drvstate->PALETTE_INIT_CALL_MEMBER( amstrad_cpc );
}
}
@@ -883,8 +883,8 @@ static MACHINE_CONFIG_START( amstrad, amstrad_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( amstrad )
- MCFG_MACHINE_RESET( amstrad )
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state, amstrad )
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state, amstrad )
MCFG_I8255_ADD( "ppi8255", amstrad_ppi8255_interface )
@@ -897,11 +897,11 @@ static MACHINE_CONFIG_START( amstrad, amstrad_state )
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_PALETTE_LENGTH(32)
- MCFG_PALETTE_INIT(amstrad_cpc)
+ MCFG_PALETTE_INIT_OVERRIDE(amstrad_state,amstrad_cpc)
MCFG_MC6845_ADD( "mc6845", MC6845, XTAL_16MHz / 16, amstrad_mc6845_intf )
- MCFG_VIDEO_START(amstrad)
+ MCFG_VIDEO_START_OVERRIDE(amstrad_state,amstrad)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -934,10 +934,10 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( kccomp, amstrad )
- MCFG_MACHINE_START(kccomp)
- MCFG_MACHINE_RESET(kccomp)
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state,kccomp)
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state,kccomp)
- MCFG_PALETTE_INIT(kccomp)
+ MCFG_PALETTE_INIT_OVERRIDE(amstrad_state,kccomp)
MACHINE_CONFIG_END
@@ -949,8 +949,8 @@ static MACHINE_CONFIG_START( cpcplus, amstrad_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( plus )
- MCFG_MACHINE_RESET( plus )
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state, plus )
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state, plus )
MCFG_I8255_ADD( "ppi8255", amstrad_ppi8255_interface )
@@ -963,11 +963,11 @@ static MACHINE_CONFIG_START( cpcplus, amstrad_state )
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT(amstrad_plus)
+ MCFG_PALETTE_INIT_OVERRIDE(amstrad_state,amstrad_plus)
MCFG_MC6845_ADD( "mc6845", MC6845, XTAL_40MHz / 40, amstrad_plus_mc6845_intf )
- MCFG_VIDEO_START(amstrad)
+ MCFG_VIDEO_START_OVERRIDE(amstrad_state,amstrad)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1007,8 +1007,8 @@ static MACHINE_CONFIG_START( gx4000, amstrad_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( gx4000 )
- MCFG_MACHINE_RESET( gx4000 )
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state, gx4000 )
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state, gx4000 )
MCFG_I8255_ADD( "ppi8255", amstrad_ppi8255_interface )
@@ -1021,11 +1021,11 @@ static MACHINE_CONFIG_START( gx4000, amstrad_state )
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT(amstrad_plus)
+ MCFG_PALETTE_INIT_OVERRIDE(amstrad_state,amstrad_plus)
MCFG_MC6845_ADD( "mc6845", MC6845, XTAL_40MHz / 40, amstrad_plus_mc6845_intf )
- MCFG_VIDEO_START(amstrad)
+ MCFG_VIDEO_START_OVERRIDE(amstrad_state,amstrad)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1042,14 +1042,14 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( aleste, amstrad )
- MCFG_MACHINE_START(aleste)
- MCFG_MACHINE_RESET(aleste)
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state,aleste)
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state,aleste)
MCFG_SOUND_REPLACE("ay", AY8910, XTAL_16MHz / 16)
MCFG_SOUND_CONFIG(ay8912_interface)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MCFG_PALETTE_LENGTH(32+64)
- MCFG_PALETTE_INIT(aleste)
+ MCFG_PALETTE_INIT_OVERRIDE(amstrad_state,aleste)
MCFG_MC146818_ADD( "rtc", MC146818_IGNORE_CENTURY )
MCFG_UPD765A_MODIFY("upd765", aleste_8272_interface)
diff --git a/src/mess/drivers/apexc.c b/src/mess/drivers/apexc.c
index 359e4a8f82a..ba8fdfad0d0 100644
--- a/src/mess/drivers/apexc.c
+++ b/src/mess/drivers/apexc.c
@@ -28,6 +28,9 @@ public:
int m_letters;
int m_pos;
DECLARE_DRIVER_INIT(apexc);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -35,9 +38,9 @@ static void apexc_teletyper_init(running_machine &machine);
static void apexc_teletyper_putchar(running_machine &machine, int character);
-static MACHINE_START(apexc)
+void apexc_state::machine_start()
{
- apexc_teletyper_init(machine);
+ apexc_teletyper_init(machine());
}
@@ -543,20 +546,19 @@ static const rectangle teletyper_scroll_clear_window(
);
static const int var_teletyper_scroll_step = - teletyper_scroll_step;
-static PALETTE_INIT( apexc )
+void apexc_state::palette_init()
{
- palette_set_colors(machine, 0, apexc_palette, APEXC_PALETTE_SIZE);
+ palette_set_colors(machine(), 0, apexc_palette, APEXC_PALETTE_SIZE);
}
-static VIDEO_START( apexc )
+void apexc_state::video_start()
{
- apexc_state *state = machine.driver_data<apexc_state>();
- screen_device *screen = machine.first_screen();
+ screen_device *screen = machine().first_screen();
int width = screen->width();
int height = screen->height();
- state->m_bitmap = auto_bitmap_ind16_alloc(machine, width, height);
- state->m_bitmap->fill(0, /*machine.visible_area*/teletyper_window);
+ m_bitmap = auto_bitmap_ind16_alloc(machine(), width, height);
+ m_bitmap->fill(0, /*machine().visible_area*/teletyper_window);
}
/* draw a small 8*8 LED (well, there were no LEDs at the time, so let's call this a lamp ;-) ) */
@@ -870,7 +872,6 @@ static MACHINE_CONFIG_START( apexc, apexc_state )
MCFG_CPU_VBLANK_INT("screen", apexc_interrupt)
/*MCFG_CPU_PERIODIC_INT(func, rate)*/
- MCFG_MACHINE_START( apexc )
/* video hardware does not exist, but we display a control panel and the typewriter output */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -883,8 +884,6 @@ static MACHINE_CONFIG_START( apexc, apexc_state )
MCFG_GFXDECODE(apexc)
MCFG_PALETTE_LENGTH(APEXC_PALETTE_SIZE)
- MCFG_PALETTE_INIT(apexc)
- MCFG_VIDEO_START(apexc)
MCFG_APEXC_CYLINDER_ADD("cylinder")
MCFG_APEXC_TAPE_PUNCHER_ADD("tape_puncher")
diff --git a/src/mess/drivers/apf.c b/src/mess/drivers/apf.c
index f64e21e208b..235bdf60e8f 100644
--- a/src/mess/drivers/apf.c
+++ b/src/mess/drivers/apf.c
@@ -127,6 +127,7 @@ public:
required_shared_ptr<UINT8> m_p_videoram;
UINT8 m_apf_ints;
void apf_update_ints(UINT8 intnum);
+ virtual void machine_start();
};
@@ -355,14 +356,13 @@ static const pia6821_interface apf_imagination_pia_interface=
};
-static MACHINE_START( apf_imagination )
+void apf_state::machine_start()
{
- apf_state *state = machine.driver_data<apf_state>();
- state->m_apf_ints = 0;
+ m_apf_ints = 0;
- if (state->m_cass) // apfimag only
- state->m_cass->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
+ if (m_cass) // apfimag only
+ m_cass->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
}
WRITE8_MEMBER( apf_state::apf_dischw_w)
@@ -697,7 +697,6 @@ static MACHINE_CONFIG_START( apf_imagination, apf_state )
MCFG_CPU_ADD("maincpu", M6800, 1000000 ) /* backgammon uses timing from vertical interrupt to switch between video modes during frame */
MCFG_CPU_PROGRAM_MAP(apf_imagination_map)
- MCFG_MACHINE_START( apf_imagination )
/* video hardware */
MCFG_SCREEN_MC6847_NTSC_ADD("screen", "mc6847")
diff --git a/src/mess/drivers/apogee.c b/src/mess/drivers/apogee.c
index 75c92f27fbc..29024e8b3e1 100644
--- a/src/mess/drivers/apogee.c
+++ b/src/mess/drivers/apogee.c
@@ -165,7 +165,7 @@ static MACHINE_CONFIG_START( apogee, apogee_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", I8080, XTAL_16MHz / 9)
MCFG_CPU_PROGRAM_MAP(apogee_mem)
- MCFG_MACHINE_RESET( radio86 )
+ MCFG_MACHINE_RESET_OVERRIDE(apogee_state, radio86 )
MCFG_I8255_ADD( "ppi8255_1", radio86_ppi8255_interface_1 )
@@ -182,7 +182,7 @@ static MACHINE_CONFIG_START( apogee, apogee_state )
MCFG_GFXDECODE(apogee)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(radio86)
+ MCFG_PALETTE_INIT_OVERRIDE(apogee_state,radio86)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
diff --git a/src/mess/drivers/apollo.c b/src/mess/drivers/apollo.c
index 37c962f98c1..f4e36fc2679 100644
--- a/src/mess/drivers/apollo.c
+++ b/src/mess/drivers/apollo.c
@@ -997,13 +997,13 @@ ADDRESS_MAP_END
Machine Reset
***************************************************************************/
-static MACHINE_RESET( dn3500 )
+void apollo_state::machine_reset()
{
- device_t *cpu = machine.device(MAINCPU);
+ device_t *cpu = machine().device(MAINCPU);
- MLOG1(("machine_reset_dn3500"));
+ //MLOG1(("machine_reset_dn3500"));
- MACHINE_RESET_CALL(apollo);
+ MACHINE_RESET_CALL_MEMBER(apollo);
// set configuration
omti8621_set_verbose(apollo_config(APOLLO_CONF_DISK_TRACE));
@@ -1016,16 +1016,16 @@ static MACHINE_RESET( dn3500 )
// check label of physical volume and get sector data of logical volume 1
// Note: sector data starts with 32 byte block header
- if (omti8621_get_sector(machine.device(APOLLO_WDC_TAG), 0, db, sizeof(db), 0) == sizeof(db) &&
+ if (omti8621_get_sector(machine().device(APOLLO_WDC_TAG), 0, db, sizeof(db), 0) == sizeof(db) &&
memcmp (db+0x22, "APOLLO", 6) == 0 &&
- omti8621_get_sector(machine.device(APOLLO_WDC_TAG), sector1, db, sizeof(db), 0) == sizeof(db))
+ omti8621_get_sector(machine().device(APOLLO_WDC_TAG), sector1, db, sizeof(db), 0) == sizeof(db))
{
- MLOG2(("machine_reset_dn3500: node ID is %06X (from ROM)", node_id));
+// MLOG2(("machine_reset_dn3500: node ID is %06X (from ROM)", node_id));
// set node_id from UID of logical volume 1 of logical unit 0
node_id = (((db[0x49] << 8) | db[0x4a]) << 8) | db[0x4b];
- MLOG2(("machine_reset_dn3500: node ID is %06X (from disk)", node_id));
+// MLOG2(("machine_reset_dn3500: node ID is %06X (from disk)", node_id));
}
}
@@ -1040,7 +1040,7 @@ static void apollo_reset_instr_callback(device_t *device)
DLOG1(("apollo_reset_instr_callback"));
// reset the CPU board devices
- MACHINE_RESET_CALL(apollo);
+ apollo->MACHINE_RESET_CALL_MEMBER(apollo);
apollo->dma8237_1->reset();
apollo->dma8237_2->reset();
apollo->pic8259_master->reset();
@@ -1062,14 +1062,14 @@ static void apollo_reset_instr_callback(device_t *device)
Machine Start
***************************************************************************/
-static MACHINE_START( dn3500 ) {
- memory_share *messram = machine.root_device().memshare("messram");
- MLOG1(("machine_start_dn3500: ram size is %d MB", (int)messram->bytes()/(1024*1024)));
+void apollo_state::machine_start(){
+ memory_share *messram = machine().root_device().memshare("messram");
+ //MLOG1(("machine_start_dn3500: ram size is %d MB", (int)messram->bytes()/(1024*1024)));
// clear ram
memset(messram->ptr(), 0x55, messram->bytes());
- MACHINE_START_CALL(apollo);
+ MACHINE_START_CALL_MEMBER(apollo);
}
/***************************************************************************
@@ -1206,8 +1206,6 @@ static MACHINE_CONFIG_START( dn3500, apollo_state )
MCFG_CPU_PROGRAM_MAP(dn3500_map)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( dn3500 )
- MCFG_MACHINE_RESET( dn3500 )
MCFG_FRAGMENT_ADD( apollo )
@@ -1249,8 +1247,6 @@ static MACHINE_CONFIG_DERIVED( dn3000, dn3500 )
MCFG_CPU_PROGRAM_MAP(dn3000_map)
MCFG_DEVICE_REMOVE( APOLLO_SIO2_TAG )
- MCFG_MACHINE_START( dn3500 )
- MCFG_MACHINE_RESET( dn3500 )
MCFG_RAM_MODIFY("messram")
MCFG_RAM_DEFAULT_SIZE("8M")
@@ -1283,8 +1279,6 @@ static MACHINE_CONFIG_DERIVED( dn5500, dn3500 )
MCFG_CPU_REPLACE(MAINCPU, M68040, 25000000) /* 25 MHz */
MCFG_CPU_PROGRAM_MAP(dn5500_map)
- MCFG_MACHINE_START( dn3500 )
- MCFG_MACHINE_RESET( dn3500 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( dsp5500, dn5500 )
diff --git a/src/mess/drivers/apple1.c b/src/mess/drivers/apple1.c
index d2a1d80d595..cc01b9f9cdf 100644
--- a/src/mess/drivers/apple1.c
+++ b/src/mess/drivers/apple1.c
@@ -283,7 +283,6 @@ static MACHINE_CONFIG_START( apple1, apple1_state )
MCFG_CPU_ADD("maincpu", M6502, 960000) /* 1.023 MHz */
MCFG_CPU_PROGRAM_MAP(apple1_map)
- MCFG_MACHINE_RESET( apple1 )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
MCFG_SCREEN_ADD("screen", RASTER)
@@ -305,7 +304,6 @@ static MACHINE_CONFIG_START( apple1, apple1_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(apple1)
MCFG_PIA6821_ADD( "pia", apple1_pia0 )
diff --git a/src/mess/drivers/apple2.c b/src/mess/drivers/apple2.c
index 757aaca9112..60b7ea91a53 100644
--- a/src/mess/drivers/apple2.c
+++ b/src/mess/drivers/apple2.c
@@ -578,9 +578,9 @@ static const rgb_t apple2_palette[] =
};
/* Initialize the palette */
-PALETTE_INIT( apple2 )
+PALETTE_INIT_MEMBER(apple2_state,apple2)
{
- palette_set_colors(machine, 0, apple2_palette, ARRAY_LENGTH(apple2_palette));
+ palette_set_colors(machine(), 0, apple2_palette, ARRAY_LENGTH(apple2_palette));
}
static const cassette_interface apple2_cassette_interface =
@@ -645,7 +645,7 @@ static MACHINE_CONFIG_START( apple2_common, apple2_state )
MCFG_TIMER_ADD_SCANLINE("scantimer", apple2_interrupt, "screen", 0, 1)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( apple2 )
+ MCFG_MACHINE_START_OVERRIDE(apple2_state, apple2 )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -655,9 +655,9 @@ static MACHINE_CONFIG_START( apple2_common, apple2_state )
MCFG_SCREEN_UPDATE_STATIC(apple2)
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(apple2_palette))
- MCFG_PALETTE_INIT(apple2)
+ MCFG_PALETTE_INIT_OVERRIDE(apple2_state,apple2)
- MCFG_VIDEO_START(apple2)
+ MCFG_VIDEO_START_OVERRIDE(apple2_state,apple2)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -679,7 +679,7 @@ static MACHINE_CONFIG_START( apple2_common, apple2_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( apple2, apple2_common )
- MCFG_MACHINE_START(apple2orig)
+ MCFG_MACHINE_START_OVERRIDE(apple2_state,apple2orig)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -693,8 +693,8 @@ static MACHINE_CONFIG_DERIVED( apple2, apple2_common )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( apple2p, apple2_common )
- MCFG_MACHINE_START(apple2orig)
- MCFG_VIDEO_START(apple2p)
+ MCFG_MACHINE_START_OVERRIDE(apple2_state,apple2orig)
+ MCFG_VIDEO_START_OVERRIDE(apple2_state,apple2p)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -708,7 +708,7 @@ static MACHINE_CONFIG_DERIVED( apple2p, apple2_common )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( apple2e, apple2_common )
- MCFG_VIDEO_START(apple2e)
+ MCFG_VIDEO_START_OVERRIDE(apple2_state,apple2e)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")
@@ -726,8 +726,8 @@ static MACHINE_CONFIG_DERIVED( apple2e, apple2_common )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( tk2000, apple2_common )
- MCFG_MACHINE_START(tk2000)
- MCFG_VIDEO_START(apple2e)
+ MCFG_MACHINE_START_OVERRIDE(apple2_state,tk2000)
+ MCFG_VIDEO_START_OVERRIDE(apple2_state,apple2e)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("64K")
@@ -784,7 +784,7 @@ static MACHINE_CONFIG_DERIVED( apple2c_iwm, apple2c )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( laser128, apple2c )
- MCFG_MACHINE_START(laser128)
+ MCFG_MACHINE_START_OVERRIDE(apple2_state,laser128)
MCFG_A2BUS_SLOT_REMOVE("sl6")
@@ -798,7 +798,7 @@ static MACHINE_CONFIG_DERIVED( laser128, apple2c )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( space84, apple2p )
- MCFG_MACHINE_START(space84)
+ MCFG_MACHINE_START_OVERRIDE(apple2_state,space84)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mess/drivers/apple2gs.c b/src/mess/drivers/apple2gs.c
index 439e7605644..b6e98258e4e 100644
--- a/src/mess/drivers/apple2gs.c
+++ b/src/mess/drivers/apple2gs.c
@@ -131,15 +131,15 @@ INPUT_PORTS_END
/* Initialize the palette */
-static PALETTE_INIT( apple2gs )
+PALETTE_INIT_MEMBER(apple2gs_state,apple2gs)
{
int i;
- PALETTE_INIT_CALL(apple2);
+ PALETTE_INIT_CALL_MEMBER(apple2);
for (i = 0; i < 16; i++)
{
- palette_set_color_rgb(machine, i,
+ palette_set_color_rgb(machine(), i,
apple2gs_palette[(3*i)]*17,
apple2gs_palette[(3*i)+1]*17,
apple2gs_palette[(3*i)+2]*17);
@@ -248,11 +248,11 @@ static MACHINE_CONFIG_START( apple2gs, apple2gs_state )
MCFG_PALETTE_LENGTH( 16+256 )
MCFG_GFXDECODE( apple2gs )
- MCFG_MACHINE_START( apple2gs )
- MCFG_MACHINE_RESET( apple2gs )
+ MCFG_MACHINE_START_OVERRIDE(apple2gs_state, apple2gs )
+ MCFG_MACHINE_RESET_OVERRIDE(apple2gs_state, apple2gs )
- MCFG_PALETTE_INIT( apple2gs )
- MCFG_VIDEO_START( apple2gs )
+ MCFG_PALETTE_INIT_OVERRIDE(apple2gs_state, apple2gs )
+ MCFG_VIDEO_START_OVERRIDE(apple2gs_state, apple2gs )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -296,7 +296,7 @@ static MACHINE_CONFIG_START( apple2gs, apple2gs_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( apple2gsr1, apple2gs )
- MCFG_MACHINE_START( apple2gsr1 )
+ MCFG_MACHINE_START_OVERRIDE(apple2gs_state, apple2gsr1 )
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("1280K") // 256K on board + 1M in the expansion slot was common for ROM 01
diff --git a/src/mess/drivers/apple3.c b/src/mess/drivers/apple3.c
index 136fc50d07b..ebf0c6bf209 100644
--- a/src/mess/drivers/apple3.c
+++ b/src/mess/drivers/apple3.c
@@ -74,7 +74,7 @@ static MACHINE_CONFIG_START( apple3, apple3_state )
MCFG_CPU_PERIODIC_INT(apple3_interrupt, 192)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( apple3 )
+ MCFG_MACHINE_RESET_OVERRIDE(apple3_state, apple3 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -85,9 +85,9 @@ static MACHINE_CONFIG_START( apple3, apple3_state )
MCFG_SCREEN_UPDATE_STATIC( apple3 )
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT( apple2 )
+ MCFG_PALETTE_INIT_OVERRIDE(apple3_state, apple2 )
- MCFG_VIDEO_START( apple3 )
+ MCFG_VIDEO_START_OVERRIDE(apple3_state, apple3 )
/* slot bus */
MCFG_A2BUS_BUS_ADD("a2bus", "maincpu", a2bus_intf)
diff --git a/src/mess/drivers/applix.c b/src/mess/drivers/applix.c
index e06eb94e6e2..891d65ee620 100644
--- a/src/mess/drivers/applix.c
+++ b/src/mess/drivers/applix.c
@@ -41,6 +41,9 @@ public:
DECLARE_WRITE16_MEMBER(applix_index_w);
DECLARE_WRITE16_MEMBER(applix_register_w);
required_shared_ptr<UINT16> m_base;
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
WRITE16_MEMBER( applix_state::applix_index_w )
@@ -102,16 +105,15 @@ static INPUT_PORTS_START( applix )
INPUT_PORTS_END
-static MACHINE_RESET(applix)
+void applix_state::machine_reset()
{
- applix_state *state = machine.driver_data<applix_state>();
- UINT8* RAM = state->memregion("maincpu")->base();
- memcpy(state->m_base, RAM+0x500000, 16);
- machine.device("maincpu")->reset();
+ UINT8* RAM = memregion("maincpu")->base();
+ memcpy(m_base, RAM+0x500000, 16);
+ machine().device("maincpu")->reset();
}
-static PALETTE_INIT( applix )
+void applix_state::palette_init()
{ // shades need to be verified - the names on the right are from the manual
const UINT8 colors[16*3] = {
0x00, 0x00, 0x00, // 0 Black
@@ -136,12 +138,12 @@ static PALETTE_INIT( applix )
for (i = 0; i < 48; color_count++)
{
r = colors[i++]; g = colors[i++]; b = colors[i++];
- palette_set_color(machine, color_count, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), color_count, MAKE_RGB(r, g, b));
}
}
-static VIDEO_START( applix )
+void applix_state::video_start()
{
}
@@ -205,7 +207,6 @@ static MACHINE_CONFIG_START( applix, applix_state )
MCFG_CPU_ADD("maincpu", M68000, 7500000)
MCFG_CPU_PROGRAM_MAP(applix_mem)
- MCFG_MACHINE_RESET(applix)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -216,9 +217,7 @@ static MACHINE_CONFIG_START( applix, applix_state )
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(applix)
- MCFG_VIDEO_START(applix)
MCFG_MC6845_ADD("crtc", MC6845, 1875000, applix_crtc) // 6545
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/apricot.c b/src/mess/drivers/apricot.c
index a8a0c9dcb76..91ff09783c0 100644
--- a/src/mess/drivers/apricot.c
+++ b/src/mess/drivers/apricot.c
@@ -63,6 +63,7 @@ public:
bool m_display_enabled;
required_shared_ptr<UINT16> m_screen_buffer;
DECLARE_DRIVER_INIT(apricot);
+ virtual void palette_init();
};
@@ -309,11 +310,11 @@ INPUT_PORTS_END
PALETTE
***************************************************************************/
-static PALETTE_INIT( apricot )
+void apricot_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
- palette_set_color(machine, 1, MAKE_RGB(0x00, 0x7f, 0x00)); /* low intensity */
- palette_set_color(machine, 2, MAKE_RGB(0x00, 0xff, 0x00)); /* high intensitiy */
+ palette_set_color(machine(), 0, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
+ palette_set_color(machine(), 1, MAKE_RGB(0x00, 0x7f, 0x00)); /* low intensity */
+ palette_set_color(machine(), 2, MAKE_RGB(0x00, 0xff, 0x00)); /* high intensitiy */
}
@@ -377,7 +378,6 @@ static MACHINE_CONFIG_START( apricot, apricot_state )
MCFG_SCREEN_REFRESH_RATE(72)
MCFG_SCREEN_UPDATE_STATIC(apricot)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(apricot)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/aquarius.c b/src/mess/drivers/aquarius.c
index 513b0f72dcc..e11db47d247 100644
--- a/src/mess/drivers/aquarius.c
+++ b/src/mess/drivers/aquarius.c
@@ -409,9 +409,7 @@ static MACHINE_CONFIG_START( aquarius, aquarius_state )
MCFG_GFXDECODE( aquarius )
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT( aquarius )
- MCFG_VIDEO_START( aquarius )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/arcadia.c b/src/mess/drivers/arcadia.c
index c402f8a6e72..b288f87ac5d 100644
--- a/src/mess/drivers/arcadia.c
+++ b/src/mess/drivers/arcadia.c
@@ -438,17 +438,17 @@ static const unsigned short arcadia_palette[128+8] = /* bgnd, fgnd */
7,0, 7,1, 7,2, 7,3, 7,4, 7,5, 7,6, 7,7
};
-static PALETTE_INIT( arcadia )
+void arcadia_state::palette_init()
{
int i;
- machine.colortable = colortable_alloc(machine, 8);
+ machine().colortable = colortable_alloc(machine(), 8);
for (i = 0; i < 8; i++)
- colortable_palette_set_color(machine.colortable, i, arcadia_colors[i]);
+ colortable_palette_set_color(machine().colortable, i, arcadia_colors[i]);
for (i = 0; i < 128+8; i++)
- colortable_entry_set_value(machine.colortable, i, arcadia_palette[i]);
+ colortable_entry_set_value(machine().colortable, i, arcadia_palette[i]);
}
static DEVICE_IMAGE_LOAD( arcadia_cart )
@@ -543,9 +543,7 @@ static MACHINE_CONFIG_START( arcadia, arcadia_state )
MCFG_GFXDECODE( arcadia )
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(arcadia_palette))
- MCFG_PALETTE_INIT( arcadia )
- MCFG_VIDEO_START( arcadia )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/astrocde.c b/src/mess/drivers/astrocde.c
index 84876c5e470..ebd5886f6c2 100644
--- a/src/mess/drivers/astrocde.c
+++ b/src/mess/drivers/astrocde.c
@@ -251,9 +251,7 @@ static MACHINE_CONFIG_START( astrocde, astrocde_state )
MCFG_SCREEN_UPDATE_STATIC(astrocde)
MCFG_PALETTE_LENGTH(512)
- MCFG_PALETTE_INIT(astrocde)
- MCFG_VIDEO_START(astrocde)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/at.c b/src/mess/drivers/at.c
index c22912b9199..1e6cb8d03aa 100644
--- a/src/mess/drivers/at.c
+++ b/src/mess/drivers/at.c
@@ -380,8 +380,8 @@ static SLOT_INTERFACE_START(pc_isa16_cards)
SLOT_INTERFACE_END
static MACHINE_CONFIG_FRAGMENT( at_motherboard )
- MCFG_MACHINE_START( at )
- MCFG_MACHINE_RESET( at )
+ MCFG_MACHINE_START_OVERRIDE(at_state, at )
+ MCFG_MACHINE_RESET_OVERRIDE(at_state, at )
MCFG_PIT8254_ADD( "pit8254", at_pit8254_config )
diff --git a/src/mess/drivers/atari400.c b/src/mess/drivers/atari400.c
index 7db0d8cee83..58fc2b7ee89 100644
--- a/src/mess/drivers/atari400.c
+++ b/src/mess/drivers/atari400.c
@@ -238,6 +238,7 @@ public:
DECLARE_DRIVER_INIT(xegs);
DECLARE_DRIVER_INIT(a800xl);
DECLARE_DRIVER_INIT(a600xl);
+ virtual void palette_init();
};
/**************************************************************
@@ -731,13 +732,13 @@ static const UINT8 atari_palette[256*3] =
/* Initialise the palette */
-static PALETTE_INIT( mess_atari )
+void a400_state::palette_init()
{
int i;
for ( i = 0; i < sizeof(atari_palette) / 3; i++ )
{
- palette_set_color_rgb(machine, i, atari_palette[i*3], atari_palette[i*3+1], atari_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, atari_palette[i*3], atari_palette[i*3+1], atari_palette[i*3+2]);
}
}
@@ -1090,7 +1091,6 @@ static MACHINE_CONFIG_START( atari_common_nodac, a400_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(1))
MCFG_SCREEN_VISIBLE_AREA(MIN_X, MAX_X, MIN_Y, MAX_Y)
MCFG_PALETTE_LENGTH(sizeof(atari_palette) / 3)
- MCFG_PALETTE_INIT(mess_atari)
MCFG_SCREEN_UPDATE_STATIC(atari)
MCFG_VIDEO_START(atari)
diff --git a/src/mess/drivers/atm.c b/src/mess/drivers/atm.c
index 066ab5217fb..ac02807ad09 100644
--- a/src/mess/drivers/atm.c
+++ b/src/mess/drivers/atm.c
@@ -29,6 +29,7 @@ public:
DECLARE_WRITE8_MEMBER(atm_port_7ffd_w);
DIRECT_UPDATE_MEMBER(atm_direct);
+ DECLARE_MACHINE_RESET(atm);
};
@@ -116,12 +117,11 @@ static ADDRESS_MAP_START (atm_io, AS_IO, 8, atm_state )
AM_RANGE(0xc000, 0xc000) AM_DEVREADWRITE_LEGACY("ay8912", ay8910_r, ay8910_address_w) AM_MIRROR(0x3ffd)
ADDRESS_MAP_END
-static MACHINE_RESET( atm )
+MACHINE_RESET_MEMBER(atm_state,atm)
{
- atm_state *state = machine.driver_data<atm_state>();
- UINT8 *messram = machine.device<ram_device>(RAM_TAG)->pointer();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- device_t *beta = machine.device(BETA_DISK_TAG);
+ UINT8 *messram = machine().device<ram_device>(RAM_TAG)->pointer();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ device_t *beta = machine().device(BETA_DISK_TAG);
space->install_read_bank(0x0000, 0x3fff, "bank1");
space->unmap_write(0x0000, 0x3fff);
@@ -130,20 +130,20 @@ static MACHINE_RESET( atm )
betadisk_enable(beta);
betadisk_clear_status(beta);
}
- space->set_direct_update_handler(direct_update_delegate(FUNC(atm_state::atm_direct), state));
+ space->set_direct_update_handler(direct_update_delegate(FUNC(atm_state::atm_direct), this));
memset(messram,0,128*1024);
/* Bank 5 is always in 0x4000 - 0x7fff */
- state->membank("bank2")->set_base(messram + (5<<14));
+ membank("bank2")->set_base(messram + (5<<14));
/* Bank 2 is always in 0x8000 - 0xbfff */
- state->membank("bank3")->set_base(messram + (2<<14));
+ membank("bank3")->set_base(messram + (2<<14));
- state->m_port_7ffd_data = 0;
- state->m_port_1ffd_data = -1;
+ m_port_7ffd_data = 0;
+ m_port_1ffd_data = -1;
- atm_update_memory(machine);
+ atm_update_memory(machine());
}
/* F4 Character Displayer */
@@ -172,7 +172,7 @@ GFXDECODE_END
static MACHINE_CONFIG_DERIVED_CLASS( atm, spectrum_128, atm_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(atm_io)
- MCFG_MACHINE_RESET( atm )
+ MCFG_MACHINE_RESET_OVERRIDE(atm_state, atm )
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
MCFG_GFXDECODE(atm)
diff --git a/src/mess/drivers/avigo.c b/src/mess/drivers/avigo.c
index b835a3c8424..3af8c4203fd 100644
--- a/src/mess/drivers/avigo.c
+++ b/src/mess/drivers/avigo.c
@@ -909,7 +909,6 @@ static MACHINE_CONFIG_START( avigo, avigo_state )
MCFG_GFXDECODE(avigo)
MCFG_PALETTE_LENGTH(AVIGO_NUM_COLOURS)
- MCFG_PALETTE_INIT( avigo )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/b16.c b/src/mess/drivers/b16.c
index 40b6371baff..46393e82179 100644
--- a/src/mess/drivers/b16.c
+++ b/src/mess/drivers/b16.c
@@ -41,6 +41,8 @@ public:
mc6845_device *m_mc6845;
i8237_device *m_dma8237;
+ virtual void machine_start();
+ virtual void machine_reset();
};
#define mc6845_h_char_total (m_crtc_vreg[0])
@@ -233,15 +235,14 @@ static GFXDECODE_START( b16 )
GFXDECODE_ENTRY( "pcg", 0x0000, b16_charlayout, 0, 1 )
GFXDECODE_END
-static MACHINE_START(b16)
+void b16_state::machine_start()
{
- b16_state *state = machine.driver_data<b16_state>();
- state->m_dma8237 = machine.device<i8237_device>( "dma8237" );
- state->m_mc6845 = machine.device<mc6845_device>("crtc");
+ m_dma8237 = machine().device<i8237_device>( "dma8237" );
+ m_mc6845 = machine().device<mc6845_device>("crtc");
}
-static MACHINE_RESET(b16)
+void b16_state::machine_reset()
{
}
@@ -282,8 +283,6 @@ static MACHINE_CONFIG_START( b16, b16_state )
MCFG_CPU_PROGRAM_MAP(b16_map)
MCFG_CPU_IO_MAP(b16_io)
- MCFG_MACHINE_START(b16)
- MCFG_MACHINE_RESET(b16)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/b2m.c b/src/mess/drivers/b2m.c
index 43ac8c1ce41..578b216186b 100644
--- a/src/mess/drivers/b2m.c
+++ b/src/mess/drivers/b2m.c
@@ -206,8 +206,6 @@ static MACHINE_CONFIG_START( b2m, b2m_state )
MCFG_CPU_IO_MAP(b2m_io)
MCFG_CPU_VBLANK_INT("screen", b2m_vblank_interrupt)
- MCFG_MACHINE_START( b2m )
- MCFG_MACHINE_RESET( b2m )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -218,7 +216,6 @@ static MACHINE_CONFIG_START( b2m, b2m_state )
MCFG_SCREEN_UPDATE_STATIC(b2m)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(b2m)
MCFG_PIT8253_ADD( "pit8253", b2m_pit8253_intf )
@@ -230,7 +227,6 @@ static MACHINE_CONFIG_START( b2m, b2m_state )
MCFG_PIC8259_ADD( "pic8259", b2m_pic8259_config )
- MCFG_VIDEO_START(b2m)
/* sound */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/basic52.c b/src/mess/drivers/basic52.c
index 0e88d43d232..b1c41d91425 100644
--- a/src/mess/drivers/basic52.c
+++ b/src/mess/drivers/basic52.c
@@ -49,6 +49,7 @@ public:
UINT8 m_term_data;
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
+ virtual void machine_reset();
};
@@ -94,11 +95,10 @@ READ8_MEMBER( basic52_state::unk_r)
return m_term_data; // won't boot without this
}
-static MACHINE_RESET( basic52 )
+void basic52_state::machine_reset()
{
- basic52_state *state = machine.driver_data<basic52_state>();
- i8051_set_serial_tx_callback(state->m_maincpu, to_term);
- i8051_set_serial_rx_callback(state->m_maincpu, from_term);
+ i8051_set_serial_tx_callback(m_maincpu, to_term);
+ i8051_set_serial_rx_callback(m_maincpu, from_term);
}
WRITE8_MEMBER( basic52_state::kbd_put )
@@ -129,7 +129,6 @@ static MACHINE_CONFIG_START( basic31, basic52_state )
MCFG_CPU_PROGRAM_MAP(basic52_mem)
MCFG_CPU_IO_MAP(basic52_io)
- MCFG_MACHINE_RESET(basic52)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/bbc.c b/src/mess/drivers/bbc.c
index fe27b2afe01..c2f53228000 100644
--- a/src/mess/drivers/bbc.c
+++ b/src/mess/drivers/bbc.c
@@ -293,9 +293,9 @@ static const rgb_t bbc_palette[8]=
MAKE_RGB(0x000,0x000,0x000)
};
-static PALETTE_INIT( bbc )
+PALETTE_INIT_MEMBER(bbc_state,bbc)
{
- palette_set_colors(machine, 0, bbc_palette, ARRAY_LENGTH(bbc_palette));
+ palette_set_colors(machine(), 0, bbc_palette, ARRAY_LENGTH(bbc_palette));
}
/* 2008-05 FP:
@@ -843,8 +843,8 @@ static MACHINE_CONFIG_START( bbca, bbc_state )
MCFG_CPU_PERIODIC_INT(bbcb_keyscan, 1000) /* scan keyboard */
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( bbca )
- MCFG_MACHINE_RESET( bbca )
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbca )
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbca )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -853,12 +853,12 @@ static MACHINE_CONFIG_START( bbca, bbc_state )
MCFG_SCREEN_UPDATE_DEVICE("mc6845", mc6845_device, screen_update)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(bbc)
+ MCFG_PALETTE_INIT_OVERRIDE(bbc_state,bbc)
MCFG_SAA505X_VIDEO_ADD("saa505x", bbc_saa505x_intf)
MCFG_MC6845_ADD("mc6845",MC6845,2000000, bbc_mc6845_intf)
- MCFG_VIDEO_START(bbca)
+ MCFG_VIDEO_START_OVERRIDE(bbc_state,bbca)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -884,9 +884,9 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bbcb, bbca )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( bbcb_mem)
- MCFG_MACHINE_START( bbcb )
- MCFG_MACHINE_RESET( bbcb )
- MCFG_VIDEO_START( bbcb )
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbcb )
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbcb )
+ MCFG_VIDEO_START_OVERRIDE(bbc_state, bbcb )
/* devices */
MCFG_UPD7002_ADD("upd7002", bbc_uPD7002)
@@ -909,9 +909,9 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bbcbp, bbcb )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( bbcbp_mem)
- MCFG_MACHINE_START( bbcbp )
- MCFG_MACHINE_RESET( bbcbp )
- MCFG_VIDEO_START( bbcbp )
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbcbp )
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbcbp )
+ MCFG_VIDEO_START_OVERRIDE(bbc_state, bbcbp )
MCFG_DEVICE_REMOVE("i8271")
MACHINE_CONFIG_END
@@ -920,9 +920,9 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bbcbp128, bbcbp )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( bbcbp128_mem)
- MCFG_MACHINE_START( bbcbp )
- MCFG_MACHINE_RESET( bbcbp )
- MCFG_VIDEO_START( bbcbp )
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbcbp )
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbcbp )
+ MCFG_VIDEO_START_OVERRIDE(bbc_state, bbcbp )
MACHINE_CONFIG_END
@@ -935,8 +935,8 @@ static MACHINE_CONFIG_START( bbcm, bbc_state )
MCFG_CPU_PERIODIC_INT(bbcm_keyscan, 1000) /* scan keyboard */
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( bbcm )
- MCFG_MACHINE_RESET( bbcm )
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbcm )
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbcm )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -945,14 +945,14 @@ static MACHINE_CONFIG_START( bbcm, bbc_state )
MCFG_SCREEN_SIZE(800,300)
MCFG_SCREEN_VISIBLE_AREA(0,800-1,0,300-1)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(bbc)
+ MCFG_PALETTE_INIT_OVERRIDE(bbc_state,bbc)
MCFG_SCREEN_UPDATE_DEVICE("mc6845", mc6845_device, screen_update)
MCFG_SAA505X_VIDEO_ADD("saa505x", bbc_saa505x_intf)
MCFG_MC6845_ADD("mc6845",MC6845,2000000, bbc_mc6845_intf)
- MCFG_VIDEO_START(bbcm)
+ MCFG_VIDEO_START_OVERRIDE(bbc_state,bbcm)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/bbcbc.c b/src/mess/drivers/bbcbc.c
index 8f6c350af3a..191b19f890c 100644
--- a/src/mess/drivers/bbcbc.c
+++ b/src/mess/drivers/bbcbc.c
@@ -26,6 +26,8 @@ public:
{ }
required_device<cpu_device> m_maincpu;
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -159,11 +161,11 @@ static DEVICE_IMAGE_LOAD( bbcbc_cart )
}
-static MACHINE_START( bbcbc )
+void bbcbc_state::machine_start()
{
}
-static MACHINE_RESET( bbcbc )
+void bbcbc_state::machine_reset()
{
}
@@ -174,8 +176,6 @@ static MACHINE_CONFIG_START( bbcbc, bbcbc_state )
MCFG_CPU_IO_MAP( bbcbc_io)
MCFG_CPU_CONFIG(bbcbc_daisy_chain)
- MCFG_MACHINE_START( bbcbc )
- MCFG_MACHINE_RESET( bbcbc )
MCFG_Z80PIO_ADD( "z80pio", MAIN_CLOCK / 8, bbcbc_z80pio_intf )
diff --git a/src/mess/drivers/bebox.c b/src/mess/drivers/bebox.c
index f625aeb484b..b6f75dc9c07 100644
--- a/src/mess/drivers/bebox.c
+++ b/src/mess/drivers/bebox.c
@@ -184,8 +184,6 @@ static MACHINE_CONFIG_START( bebox, bebox_state )
/* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_vga )
- MCFG_MACHINE_START( bebox )
- MCFG_MACHINE_RESET( bebox )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ym3812", YM3812, 3579545)
diff --git a/src/mess/drivers/bk.c b/src/mess/drivers/bk.c
index 7c2ece53af5..3b41c24c0ca 100644
--- a/src/mess/drivers/bk.c
+++ b/src/mess/drivers/bk.c
@@ -176,8 +176,6 @@ static MACHINE_CONFIG_START( bk0010, bk_state )
MCFG_CPU_CONFIG(t11_data)
MCFG_CPU_PROGRAM_MAP(bk0010_mem)
- MCFG_MACHINE_START( bk0010 )
- MCFG_MACHINE_RESET( bk0010 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -190,7 +188,6 @@ static MACHINE_CONFIG_START( bk0010, bk_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(bk0010)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
diff --git a/src/mess/drivers/bmjr.c b/src/mess/drivers/bmjr.c
index f60ee62853e..19422d6fa7c 100644
--- a/src/mess/drivers/bmjr.c
+++ b/src/mess/drivers/bmjr.c
@@ -48,14 +48,17 @@ public:
UINT8 m_xor_display;
UINT8 m_key_mux;
DECLARE_DRIVER_INIT(bmjr);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START( bmjr )
+void bmjr_state::video_start()
{
- bmjr_state *state = machine.driver_data<bmjr_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
+ m_p_chargen = memregion("chargen")->base();
}
static SCREEN_UPDATE_IND16( bmjr )
@@ -319,27 +322,25 @@ static GFXDECODE_START( bmjr )
GFXDECODE_ENTRY( "chargen", 0x0000, bmjr_charlayout, 0, 4 )
GFXDECODE_END
-static PALETTE_INIT( bmjr )
+void bmjr_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(bmjr)
+void bmjr_state::machine_start()
{
- bmjr_state *state = machine.driver_data<bmjr_state>();
- beep_set_frequency(state->m_beep, 1200); //guesswork
- beep_set_state(state->m_beep, 0);
+ beep_set_frequency(m_beep, 1200); //guesswork
+ beep_set_state(m_beep, 0);
}
-static MACHINE_RESET(bmjr)
+void bmjr_state::machine_reset()
{
- bmjr_state *state = machine.driver_data<bmjr_state>();
- state->m_tape_switch = 0;
- state->m_cass->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
+ m_tape_switch = 0;
+ m_cass->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
}
static MACHINE_CONFIG_START( bmjr, bmjr_state )
@@ -348,8 +349,6 @@ static MACHINE_CONFIG_START( bmjr, bmjr_state )
MCFG_CPU_PROGRAM_MAP(bmjr_mem)
MCFG_CPU_VBLANK_INT("screen", irq0_line_hold)
- MCFG_MACHINE_START(bmjr)
- MCFG_MACHINE_RESET(bmjr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -357,10 +356,8 @@ static MACHINE_CONFIG_START( bmjr, bmjr_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(256, 192)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 192-1)
- MCFG_VIDEO_START(bmjr)
MCFG_SCREEN_UPDATE_STATIC(bmjr)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(bmjr)
MCFG_GFXDECODE(bmjr)
/* Audio */
diff --git a/src/mess/drivers/bml3.c b/src/mess/drivers/bml3.c
index 0644bc45a77..56d3e9d2a0b 100644
--- a/src/mess/drivers/bml3.c
+++ b/src/mess/drivers/bml3.c
@@ -108,6 +108,9 @@ public:
protected:
virtual void machine_reset();
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
#define mc6845_h_char_total (state->m_crtc_vreg[0])
@@ -128,10 +131,9 @@ protected:
#define mc6845_update_addr (((state->m_crtc_vreg[0x12]<<8) & 0x3f00) | (state->m_crtc_vreg[0x13] & 0xff))
-static VIDEO_START( bml3 )
+void bml3_state::video_start()
{
- bml3_state *state = machine.driver_data<bml3_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
+ m_p_chargen = memregion("chargen")->base();
}
static SCREEN_UPDATE_IND16( bml3 )
@@ -615,21 +617,20 @@ static INTERRUPT_GEN( bml3_timer_firq )
}
}
-static PALETTE_INIT( bml3 )
+void bml3_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(bml3)
+void bml3_state::machine_start()
{
- bml3_state *state = machine.driver_data<bml3_state>();
- beep_set_frequency(machine.device(BEEPER_TAG),1200); //guesswork
- beep_set_state(machine.device(BEEPER_TAG),0);
- state->m_extram = auto_alloc_array(machine,UINT8,0x10000);
+ beep_set_frequency(machine().device(BEEPER_TAG),1200); //guesswork
+ beep_set_state(machine().device(BEEPER_TAG),0);
+ m_extram = auto_alloc_array(machine(),UINT8,0x10000);
}
void bml3_state::machine_reset()
@@ -890,8 +891,7 @@ static MACHINE_CONFIG_START( bml3, bml3_state )
MCFG_CPU_VBLANK_INT("screen", bml3_timer_firq )
// MCFG_CPU_PERIODIC_INT(bml3_firq,45)
- MCFG_MACHINE_START(bml3)
-// MCFG_MACHINE_RESET(bml3)
+// MCFG_MACHINE_RESET_OVERRIDE(bml3_state,bml3)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -900,9 +900,7 @@ static MACHINE_CONFIG_START( bml3, bml3_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
MCFG_SCREEN_UPDATE_STATIC(bml3)
- MCFG_VIDEO_START(bml3)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(bml3)
MCFG_GFXDECODE(bml3)
/* Devices */
diff --git a/src/mess/drivers/bob85.c b/src/mess/drivers/bob85.c
index f1613d8f29d..d94cf12d19d 100644
--- a/src/mess/drivers/bob85.c
+++ b/src/mess/drivers/bob85.c
@@ -30,6 +30,7 @@ public:
DECLARE_READ_LINE_MEMBER(sid_r);
UINT8 m_prev_key;
UINT8 m_count_key;
+ virtual void machine_reset();
};
@@ -162,7 +163,7 @@ static INPUT_PORTS_START( bob85 )
PORT_BIT(0xC0, IP_ACTIVE_HIGH, IPT_UNUSED)
INPUT_PORTS_END
-static MACHINE_RESET(bob85)
+void bob85_state::machine_reset()
{
}
@@ -200,7 +201,6 @@ static MACHINE_CONFIG_START( bob85, bob85_state )
MCFG_CPU_IO_MAP(bob85_io)
MCFG_CPU_CONFIG(cpu_config)
- MCFG_MACHINE_RESET(bob85)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_bob85)
diff --git a/src/mess/drivers/busicom.c b/src/mess/drivers/busicom.c
index 6feafb791e7..b22c4319d8a 100644
--- a/src/mess/drivers/busicom.c
+++ b/src/mess/drivers/busicom.c
@@ -188,22 +188,21 @@ static TIMER_DEVICE_CALLBACK(timer_callback)
}
-static MACHINE_START(busicom)
+void busicom_state::machine_start()
{
}
-static MACHINE_RESET(busicom)
+void busicom_state::machine_reset()
{
- busicom_state *state = machine.driver_data<busicom_state>();
int i,j;
- state->m_drum_index =0;
- state->m_keyboard_shifter = 0;
- state->m_printer_shifter = 0;
+ m_drum_index =0;
+ m_keyboard_shifter = 0;
+ m_printer_shifter = 0;
for(i=0;i<17;i++) {
for(j=0;j<11;j++) {
- state->m_printer_line[j][i] = 0;
- state->m_printer_line_color[j] = 0;
+ m_printer_line[j][i] = 0;
+ m_printer_line_color[j] = 0;
}
}
@@ -218,8 +217,6 @@ static MACHINE_CONFIG_START( busicom, busicom_state )
MCFG_CPU_DATA_MAP(busicom_mem)
MCFG_CPU_IO_MAP(busicom_io)
- MCFG_MACHINE_RESET(busicom)
- MCFG_MACHINE_START(busicom)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -230,9 +227,7 @@ static MACHINE_CONFIG_START( busicom, busicom_state )
MCFG_SCREEN_UPDATE_STATIC(busicom)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(busicom)
- MCFG_VIDEO_START(busicom)
MCFG_TIMER_ADD_PERIODIC("busicom_timer", timer_callback, attotime::from_msec(28*2))
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/bw2.c b/src/mess/drivers/bw2.c
index bb4d01aeefc..c7b7006c130 100644
--- a/src/mess/drivers/bw2.c
+++ b/src/mess/drivers/bw2.c
@@ -557,10 +557,10 @@ static const struct pit8253_config pit_intf =
/* Video */
-static PALETTE_INIT( bw2 )
+void bw2_state::palette_init()
{
- palette_set_color_rgb(machine, 0, 0xa5, 0xad, 0xa5);
- palette_set_color_rgb(machine, 1, 0x31, 0x39, 0x10);
+ palette_set_color_rgb(machine(), 0, 0xa5, 0xad, 0xa5);
+ palette_set_color_rgb(machine(), 1, 0x31, 0x39, 0x10);
}
static MSM6255_CHAR_RAM_READ( bw2_charram_r )
@@ -678,7 +678,6 @@ static MACHINE_CONFIG_START( bw2, bw2_state )
MCFG_DEFAULT_LAYOUT( layout_lcd )
MCFG_PALETTE_LENGTH( 2 )
- MCFG_PALETTE_INIT( bw2 )
// devices
MCFG_PIT8253_ADD(PIT8253_TAG, pit_intf)
diff --git a/src/mess/drivers/c65.c b/src/mess/drivers/c65.c
index c0ff98f6e3c..b646bdf594f 100644
--- a/src/mess/drivers/c65.c
+++ b/src/mess/drivers/c65.c
@@ -172,13 +172,13 @@ INPUT_PORTS_END
*
*************************************/
-static PALETTE_INIT( c65 )
+PALETTE_INIT_MEMBER(c65_state,c65)
{
int i;
for ( i = 0; i < 0x100; i++ )
{
- palette_set_color_rgb(machine, i, 0, 0, 0);
+ palette_set_color_rgb(machine(), i, 0, 0, 0);
}
}
@@ -309,7 +309,7 @@ static MACHINE_CONFIG_START( c65, c65_state )
MCFG_CPU_VBLANK_INT("screen", c65_frame_interrupt)
MCFG_CPU_PERIODIC_INT(vic3_raster_irq, VIC6567_HRETRACERATE)
- MCFG_MACHINE_START( c65 )
+ MCFG_MACHINE_START_OVERRIDE(c65_state, c65 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -320,7 +320,7 @@ static MACHINE_CONFIG_START( c65, c65_state )
MCFG_SCREEN_UPDATE_STATIC( c65 )
MCFG_PALETTE_LENGTH(0x100)
- MCFG_PALETTE_INIT( c65 )
+ MCFG_PALETTE_INIT_OVERRIDE(c65_state, c65 )
MCFG_VIC3_ADD("vic3", c65_vic3_ntsc_intf)
diff --git a/src/mess/drivers/camplynx.c b/src/mess/drivers/camplynx.c
index 16af468634f..5116d73a3a8 100644
--- a/src/mess/drivers/camplynx.c
+++ b/src/mess/drivers/camplynx.c
@@ -104,6 +104,9 @@ public:
DECLARE_WRITE8_MEMBER(lynx128k_bank_w);
DECLARE_WRITE8_MEMBER(lynx128k_irq);
DECLARE_DRIVER_INIT(lynx48k);
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_RESET(lynx128k);
};
/* These bankswitch handlers are very incomplete, just enough to get the
@@ -325,10 +328,9 @@ static INPUT_PORTS_START( lynx48k )
INPUT_PORTS_END
-static MACHINE_RESET( lynx128k )
+MACHINE_RESET_MEMBER(camplynx_state,lynx128k)
{
- camplynx_state *state = machine.driver_data<camplynx_state>();
- address_space *mem = state->m_maincpu->space(AS_PROGRAM);
+ address_space *mem = m_maincpu->space(AS_PROGRAM);
mem->install_read_bank (0x0000, 0x1fff, "bank1");
mem->install_read_bank (0x2000, 0x3fff, "bank2");
mem->install_read_bank (0x4000, 0x5fff, "bank3");
@@ -346,7 +348,7 @@ static MACHINE_RESET( lynx128k )
mem->install_write_bank (0xc000, 0xdfff, "bank17");
mem->install_write_bank (0xe000, 0xffff, "bank18");
- state->lynx128k_bank_w(*mem, 0, 0);
+ lynx128k_bank_w(*mem, 0, 0);
}
WRITE8_MEMBER( camplynx_state::lynx128k_irq )
@@ -367,14 +369,14 @@ static const UINT8 lynx48k_palette[8*3] =
0xff, 0xff, 0xff, /* 7 White */
};
-static PALETTE_INIT( lynx48k )
+void camplynx_state::palette_init()
{
UINT8 r, b, g, i=0, color_count = 8;
while (color_count--)
{
r = lynx48k_palette[i++]; g = lynx48k_palette[i++]; b = lynx48k_palette[i++];
- palette_set_color(machine, 7-color_count, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), 7-color_count, MAKE_RGB(r, g, b));
}
}
@@ -426,7 +428,7 @@ static MC6845_UPDATE_ROW( lynx128k_update_row )
}
}
-static VIDEO_START( lynx48k )
+void camplynx_state::video_start()
{
}
@@ -471,9 +473,7 @@ static MACHINE_CONFIG_START( lynx48k, camplynx_state )
MCFG_SCREEN_SIZE(512, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 479)
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_VIDEO_START(lynx48k)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(lynx48k)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -491,7 +491,7 @@ static MACHINE_CONFIG_START( lynx128k, camplynx_state )
MCFG_CPU_PROGRAM_MAP(lynx128k_mem)
MCFG_CPU_IO_MAP(lynx128k_io)
- MCFG_MACHINE_RESET(lynx128k)
+ MCFG_MACHINE_RESET_OVERRIDE(camplynx_state,lynx128k)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -500,9 +500,7 @@ static MACHINE_CONFIG_START( lynx128k, camplynx_state )
MCFG_SCREEN_SIZE(512, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 479)
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_VIDEO_START(lynx48k)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(lynx48k)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/casloopy.c b/src/mess/drivers/casloopy.c
index e7aafe8f6d1..771d2d8d23b 100644
--- a/src/mess/drivers/casloopy.c
+++ b/src/mess/drivers/casloopy.c
@@ -153,11 +153,13 @@ public:
required_shared_ptr<UINT32> m_bios_rom;
DECLARE_DRIVER_INIT(casloopy);
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( casloopy )
+void casloopy_state::video_start()
{
}
@@ -183,9 +185,9 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( casloopy )
INPUT_PORTS_END
-static MACHINE_RESET( casloopy )
+void casloopy_state::machine_reset()
{
- //machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE); //halt the CPU until we find enough data to proceed
+ //machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE); //halt the CPU until we find enough data to proceed
}
@@ -198,7 +200,6 @@ static MACHINE_CONFIG_START( casloopy, casloopy_state )
// MCFG_CPU_ADD("subcpu",V60,8000000)
// MCFG_CPU_PROGRAM_MAP(casloopy_sub_map)
- MCFG_MACHINE_RESET(casloopy)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -210,7 +211,6 @@ static MACHINE_CONFIG_START( casloopy, casloopy_state )
MCFG_PALETTE_LENGTH(512)
- MCFG_VIDEO_START(casloopy)
MCFG_CARTSLOT_ADD("cart")
MCFG_CARTSLOT_EXTENSION_LIST("ic1,bin")
diff --git a/src/mess/drivers/cat.c b/src/mess/drivers/cat.c
index 8da1025b68e..f3497642717 100644
--- a/src/mess/drivers/cat.c
+++ b/src/mess/drivers/cat.c
@@ -63,6 +63,12 @@ public:
UINT16 m_pr_cont;
UINT8 m_keyboard_line;
emu_timer *m_keyboard_timer;
+ DECLARE_MACHINE_START(cat);
+ DECLARE_MACHINE_RESET(cat);
+ DECLARE_VIDEO_START(cat);
+ DECLARE_MACHINE_START(swyft);
+ DECLARE_MACHINE_RESET(swyft);
+ DECLARE_VIDEO_START(swyft);
};
WRITE16_MEMBER( cat_state::cat_video_status_w )
@@ -300,23 +306,21 @@ static IRQ_CALLBACK(cat_int_ack)
return M68K_INT_ACK_AUTOVECTOR;
}
-static MACHINE_START(cat)
+MACHINE_START_MEMBER(cat_state,cat)
{
- cat_state *state = machine.driver_data<cat_state>();
- state->m_duart_inp = 0x0e;
- state->m_keyboard_timer = machine.scheduler().timer_alloc(FUNC(keyboard_callback));
- machine.device<nvram_device>("nvram")->set_base(state->m_p_sram, 0x4000);
+ m_duart_inp = 0x0e;
+ m_keyboard_timer = machine().scheduler().timer_alloc(FUNC(keyboard_callback));
+ machine().device<nvram_device>("nvram")->set_base(m_p_sram, 0x4000);
}
-static MACHINE_RESET(cat)
+MACHINE_RESET_MEMBER(cat_state,cat)
{
- cat_state *state = machine.driver_data<cat_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(cat_int_ack);
- state->m_keyboard_timer->adjust(attotime::zero, 0, attotime::from_hz(120));
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(cat_int_ack);
+ m_keyboard_timer->adjust(attotime::zero, 0, attotime::from_hz(120));
}
-static VIDEO_START( cat )
+VIDEO_START_MEMBER(cat_state,cat)
{
}
@@ -353,16 +357,16 @@ static TIMER_CALLBACK( swyft_reset )
memset(machine.device("maincpu")->memory().space(AS_PROGRAM)->get_read_ptr(0xe2341), 0xff, 1);
}
-static MACHINE_START(swyft)
+MACHINE_START_MEMBER(cat_state,swyft)
{
}
-static MACHINE_RESET(swyft)
+MACHINE_RESET_MEMBER(cat_state,swyft)
{
- machine.scheduler().timer_set(attotime::from_usec(10), FUNC(swyft_reset));
+ machine().scheduler().timer_set(attotime::from_usec(10), FUNC(swyft_reset));
}
-static VIDEO_START( swyft )
+VIDEO_START_MEMBER(cat_state,swyft)
{
}
@@ -427,8 +431,8 @@ static MACHINE_CONFIG_START( cat, cat_state )
MCFG_CPU_ADD("maincpu",M68000, XTAL_5MHz)
MCFG_CPU_PROGRAM_MAP(cat_mem)
- MCFG_MACHINE_START(cat)
- MCFG_MACHINE_RESET(cat)
+ MCFG_MACHINE_START_OVERRIDE(cat_state,cat)
+ MCFG_MACHINE_RESET_OVERRIDE(cat_state,cat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -441,7 +445,7 @@ static MACHINE_CONFIG_START( cat, cat_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(cat)
+ MCFG_VIDEO_START_OVERRIDE(cat_state,cat)
MCFG_DUART68681_ADD( "duart68681", XTAL_5MHz, cat_duart68681_config )
@@ -454,8 +458,8 @@ static MACHINE_CONFIG_START( swyft, cat_state )
MCFG_CPU_ADD("maincpu",M68000, XTAL_5MHz)
MCFG_CPU_PROGRAM_MAP(swyft_mem)
- MCFG_MACHINE_START(swyft)
- MCFG_MACHINE_RESET(swyft)
+ MCFG_MACHINE_START_OVERRIDE(cat_state,swyft)
+ MCFG_MACHINE_RESET_OVERRIDE(cat_state,swyft)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -468,7 +472,7 @@ static MACHINE_CONFIG_START( swyft, cat_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(swyft)
+ MCFG_VIDEO_START_OVERRIDE(cat_state,swyft)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/cbmb.c b/src/mess/drivers/cbmb.c
index c03c1759e6b..f24244b848d 100644
--- a/src/mess/drivers/cbmb.c
+++ b/src/mess/drivers/cbmb.c
@@ -275,12 +275,12 @@ static GFXDECODE_START( cbm700 )
GFXDECODE_ENTRY( "gfx1", 0x1000, cbm700_charlayout, 0, 1 )
GFXDECODE_END
-static PALETTE_INIT( cbm700 )
+PALETTE_INIT_MEMBER(cbmb_state,cbm700)
{
int i;
for ( i = 0; i < 2; i++ ) {
- palette_set_color_rgb(machine, i, cbm700_palette[i*3], cbm700_palette[i*3+1], cbm700_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, cbm700_palette[i*3], cbm700_palette[i*3+1], cbm700_palette[i*3+2]);
}
}
@@ -422,7 +422,7 @@ static MACHINE_CONFIG_START( cbm600, cbmb_state )
MCFG_CPU_ADD("maincpu", M6509, 7833600) /* 7.8336 MHz */
MCFG_CPU_PROGRAM_MAP(cbmb_mem)
- MCFG_MACHINE_RESET( cbmb )
+ MCFG_MACHINE_RESET_OVERRIDE(cbmb_state, cbmb )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -434,11 +434,11 @@ static MACHINE_CONFIG_START( cbm600, cbmb_state )
MCFG_GFXDECODE( cbm600 )
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(cbm700_palette) / 3)
- MCFG_PALETTE_INIT( cbm700 )
+ MCFG_PALETTE_INIT_OVERRIDE(cbmb_state, cbm700 )
MCFG_MC6845_ADD("crtc", MC6845, XTAL_18MHz / 8 /*?*/ /* I do not know if this is correct, please verify */, cbm600_crtc)
- MCFG_VIDEO_START( cbmb_crtc )
+ MCFG_VIDEO_START_OVERRIDE(cbmb_state, cbmb_crtc )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -478,7 +478,7 @@ static MACHINE_CONFIG_DERIVED( cbm700, cbm600 )
MCFG_DEVICE_REMOVE("crtc")
MCFG_MC6845_ADD("crtc", MC6845, XTAL_18MHz / 8 /*? I do not know if this is correct, please verify */, cbm700_crtc)
- MCFG_VIDEO_START( cbm700 )
+ MCFG_VIDEO_START_OVERRIDE(cbmb_state, cbm700 )
MACHINE_CONFIG_END
@@ -500,7 +500,7 @@ static MACHINE_CONFIG_START( p500, cbmb_state )
MCFG_CPU_PROGRAM_MAP(p500_mem)
//MCFG_CPU_PERIODIC_INT(vic2_raster_irq, VIC6567_HRETRACERATE)
- MCFG_MACHINE_RESET( cbmb )
+ MCFG_MACHINE_RESET_OVERRIDE(cbmb_state, cbmb )
/* video hardware */
MCFG_MOS6567_ADD("vic6567", "screen", VIC6567_CLOCK, vic_intf, vic_videoram_map, vic_colorram_map)
diff --git a/src/mess/drivers/cfx9850.c b/src/mess/drivers/cfx9850.c
index 4a5e8be2157..06878088cc0 100644
--- a/src/mess/drivers/cfx9850.c
+++ b/src/mess/drivers/cfx9850.c
@@ -36,6 +36,7 @@ public:
required_shared_ptr<UINT8> m_video_ram;
required_shared_ptr<UINT8> m_display_ram;
UINT16 m_ko; /* KO lines KO1 - KO14 */
+ virtual void palette_init();
};
@@ -185,12 +186,12 @@ static INPUT_PORTS_START( cfx9850 )
INPUT_PORTS_END
-static PALETTE_INIT( cfx9850 )
+void cfx9850_state::palette_init()
{
- palette_set_color_rgb( machine, 0, 0xff, 0xff, 0xff );
- palette_set_color_rgb( machine, 1, 0x00, 0x00, 0xff );
- palette_set_color_rgb( machine, 2, 0x00, 0xff, 0x00 );
- palette_set_color_rgb( machine, 3, 0xff, 0x00, 0x00 );
+ palette_set_color_rgb( machine(), 0, 0xff, 0xff, 0xff );
+ palette_set_color_rgb( machine(), 1, 0x00, 0x00, 0xff );
+ palette_set_color_rgb( machine(), 2, 0x00, 0xff, 0x00 );
+ palette_set_color_rgb( machine(), 3, 0xff, 0x00, 0x00 );
}
@@ -238,7 +239,6 @@ static MACHINE_CONFIG_START( cfx9850, cfx9850_state )
/* TODO: It uses a color display, but I'm being lazy here. 3 colour lcd */
MCFG_PALETTE_LENGTH( 4 )
- MCFG_PALETTE_INIT( cfx9850 )
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/cgenie.c b/src/mess/drivers/cgenie.c
index 7e17038d05d..227c4e10f11 100644
--- a/src/mess/drivers/cgenie.c
+++ b/src/mess/drivers/cgenie.c
@@ -443,36 +443,36 @@ static const unsigned short cgenie_palette[] =
};
/* Initialise the palette */
-static PALETTE_INIT( cgenie )
+PALETTE_INIT_MEMBER(cgenie_state,cgenie)
{
UINT8 i, r, g, b;
- machine.colortable = colortable_alloc(machine, 49);
+ machine().colortable = colortable_alloc(machine(), 49);
for ( i = 0; i < 49; i++ )
{
r = cgenie_colors[i*3]; g = cgenie_colors[i*3+1]; b = cgenie_colors[i*3+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));
}
for(i=0; i<108; i++)
- colortable_entry_set_value(machine.colortable, i, cgenie_palette[i]);
+ colortable_entry_set_value(machine().colortable, i, cgenie_palette[i]);
}
-static PALETTE_INIT( cgenienz )
+PALETTE_INIT_MEMBER(cgenie_state,cgenienz)
{
UINT8 i, r, g, b;
- machine.colortable = colortable_alloc(machine, 49);
+ machine().colortable = colortable_alloc(machine(), 49);
for ( i = 0; i < 49; i++ )
{
r = cgenienz_colors[i*3]; g = cgenienz_colors[i*3+1]; b = cgenienz_colors[i*3+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));
}
for(i=0; i<108; i++)
- colortable_entry_set_value(machine.colortable, i, cgenie_palette[i]);
+ colortable_entry_set_value(machine().colortable, i, cgenie_palette[i]);
}
static const ay8910_interface cgenie_ay8910_interface =
@@ -527,8 +527,6 @@ static MACHINE_CONFIG_START( cgenie_common, cgenie_state )
MCFG_CPU_PERIODIC_INT(cgenie_timer_interrupt, 40)
MCFG_QUANTUM_TIME(attotime::from_hz(240))
- MCFG_MACHINE_START( cgenie )
- MCFG_MACHINE_RESET( cgenie )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -542,7 +540,6 @@ static MACHINE_CONFIG_START( cgenie_common, cgenie_state )
MCFG_PALETTE_LENGTH(108)
// Actually the video is driven by an HD46505 clocked at XTAL_17_73447MHz/16
- MCFG_VIDEO_START( cgenie )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -570,12 +567,12 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cgenie, cgenie_common )
- MCFG_PALETTE_INIT( cgenie )
+ MCFG_PALETTE_INIT_OVERRIDE(cgenie_state, cgenie )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cgenienz, cgenie_common )
- MCFG_PALETTE_INIT( cgenienz )
+ MCFG_PALETTE_INIT_OVERRIDE(cgenie_state, cgenienz )
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mess/drivers/channelf.c b/src/mess/drivers/channelf.c
index 61374969fbe..d9e292a2610 100644
--- a/src/mess/drivers/channelf.c
+++ b/src/mess/drivers/channelf.c
@@ -273,9 +273,7 @@ static MACHINE_CONFIG_START( channelf, channelf_state )
MCFG_SCREEN_UPDATE_STATIC( channelf )
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT( channelf )
- MCFG_VIDEO_START( channelf )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -301,9 +299,7 @@ static MACHINE_CONFIG_START( sabavdpl, channelf_state )
MCFG_SCREEN_UPDATE_STATIC( channelf )
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT( channelf )
- MCFG_VIDEO_START( channelf )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -330,9 +326,7 @@ static MACHINE_CONFIG_START( channlf2, channelf_state )
MCFG_SCREEN_UPDATE_STATIC( channelf )
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT( channelf )
- MCFG_VIDEO_START( channelf )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -359,9 +353,7 @@ static MACHINE_CONFIG_START( sabavpl2, channelf_state )
MCFG_SCREEN_UPDATE_STATIC( channelf )
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT( channelf )
- MCFG_VIDEO_START( channelf )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/clcd.c b/src/mess/drivers/clcd.c
index 4661f13754a..120d6e0c734 100644
--- a/src/mess/drivers/clcd.c
+++ b/src/mess/drivers/clcd.c
@@ -124,6 +124,7 @@ private:
int keyColumnSelect;
int keyClockState;
int keyReadState;
+ virtual void palette_init();
};
static ADDRESS_MAP_START( clcd_mem, AS_PROGRAM, 8, clcd_state )
@@ -231,10 +232,10 @@ static INPUT_PORTS_START( clcd )
INPUT_PORTS_END
-static PALETTE_INIT( clcd )
+void clcd_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(32,240,32));
- palette_set_color(machine, 1, MAKE_RGB(32,32,32));
+ palette_set_color(machine(), 0, MAKE_RGB(32,240,32));
+ palette_set_color(machine(), 1, MAKE_RGB(32,32,32));
}
static const via6522_interface via0_intf =
@@ -308,7 +309,6 @@ static MACHINE_CONFIG_START( clcd, clcd_state )
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(clcd)
MCFG_GFXDECODE(clcd)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/cm1800.c b/src/mess/drivers/cm1800.c
index b0690f38941..e30dbfc375a 100644
--- a/src/mess/drivers/cm1800.c
+++ b/src/mess/drivers/cm1800.c
@@ -48,6 +48,7 @@ public:
UINT8 m_term_data;
required_device<generic_terminal_device> m_terminal;
+ virtual void machine_reset();
};
READ8_MEMBER( cm1800_state::term_status_r )
@@ -84,7 +85,7 @@ static INPUT_PORTS_START( cm1800 )
INPUT_PORTS_END
-static MACHINE_RESET(cm1800)
+void cm1800_state::machine_reset()
{
}
@@ -99,7 +100,6 @@ static MACHINE_CONFIG_START( cm1800, cm1800_state )
MCFG_CPU_PROGRAM_MAP(cm1800_mem)
MCFG_CPU_IO_MAP(cm1800_io)
- MCFG_MACHINE_RESET(cm1800)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/codata.c b/src/mess/drivers/codata.c
index 503ade8c5ca..919b8c42335 100644
--- a/src/mess/drivers/codata.c
+++ b/src/mess/drivers/codata.c
@@ -18,6 +18,8 @@ public:
m_p_base(*this, "p_base"){ }
required_shared_ptr<UINT16> m_p_base;
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -36,15 +38,14 @@ static INPUT_PORTS_START( codata )
INPUT_PORTS_END
-static MACHINE_RESET(codata)
+void codata_state::machine_reset()
{
- codata_state *state = machine.driver_data<codata_state>();
- UINT8* RAM = state->memregion("user1")->base();
- memcpy(state->m_p_base, RAM, 16);
- machine.device("maincpu")->reset();
+ UINT8* RAM = memregion("user1")->base();
+ memcpy(m_p_base, RAM, 16);
+ machine().device("maincpu")->reset();
}
-static VIDEO_START( codata )
+void codata_state::video_start()
{
}
@@ -58,7 +59,6 @@ static MACHINE_CONFIG_START( codata, codata_state )
MCFG_CPU_ADD("maincpu",M68000, XTAL_16MHz / 2)
MCFG_CPU_PROGRAM_MAP(codata_mem)
- MCFG_MACHINE_RESET(codata)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -71,7 +71,6 @@ static MACHINE_CONFIG_START( codata, codata_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(codata)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/compis.c b/src/mess/drivers/compis.c
index d46483feda4..88abaa356ca 100644
--- a/src/mess/drivers/compis.c
+++ b/src/mess/drivers/compis.c
@@ -64,22 +64,22 @@ static const unsigned char COMPIS_palette[16*3] =
255, 255, 255
};
-static PALETTE_INIT( compis_gdc )
+PALETTE_INIT_MEMBER(compis_state,compis_gdc)
{
int i;
for ( i = 0; i < 16; i++ ) {
- palette_set_color_rgb(machine, i, COMPIS_palette[i*3], COMPIS_palette[i*3+1], COMPIS_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, COMPIS_palette[i*3], COMPIS_palette[i*3+1], COMPIS_palette[i*3+2]);
}
}
#endif
-static PALETTE_INIT( compis )
+void compis_state::palette_init()
{
- palette_set_color(machine, 0, RGB_BLACK); // black
- palette_set_color(machine, 1, MAKE_RGB(0x00, 0xc0, 0x00)); // green
- palette_set_color(machine, 2, MAKE_RGB(0x00, 0xff, 0x00)); // highlight
+ palette_set_color(machine(), 0, RGB_BLACK); // black
+ palette_set_color(machine(), 1, MAKE_RGB(0x00, 0xc0, 0x00)); // green
+ palette_set_color(machine(), 2, MAKE_RGB(0x00, 0xff, 0x00)); // highlight
}
static SCREEN_UPDATE_IND16( compis2 ) // temporary
@@ -363,8 +363,6 @@ static MACHINE_CONFIG_START( compis, compis_state )
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(compis)
- MCFG_MACHINE_RESET(compis)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -376,10 +374,9 @@ static MACHINE_CONFIG_START( compis, compis_state )
MCFG_SCREEN_UPDATE_DEVICE("upd7220", upd7220_device, screen_update)
#if 0
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(compis_gdc)
+ MCFG_PALETTE_INIT_OVERRIDE(compis_state,compis_gdc)
#endif
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(compis)
/* Devices */
MCFG_PIT8253_ADD( "pit8253", compis_pit8253_config )
@@ -409,8 +406,6 @@ static MACHINE_CONFIG_START( compis2, compis_state )
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(compis)
- MCFG_MACHINE_RESET(compis)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -421,7 +416,6 @@ static MACHINE_CONFIG_START( compis2, compis_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
MCFG_SCREEN_UPDATE_STATIC(compis2)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(compis)
/* Devices */
MCFG_PIT8253_ADD( "pit8253", compis_pit8253_config )
diff --git a/src/mess/drivers/comquest.c b/src/mess/drivers/comquest.c
index 4f37bcc46d2..569d57757b1 100644
--- a/src/mess/drivers/comquest.c
+++ b/src/mess/drivers/comquest.c
@@ -203,10 +203,10 @@ static GFXDECODE_START( comquest )
GFXDECODE_END
-static MACHINE_RESET( comquest )
+void comquest_state::machine_reset()
{
-// UINT8 *mem=machine.root_device().memregion("user1")->base();
-// state->membank(1)->set_base(mem+0x00000);
+// UINT8 *mem=machine().root_device().memregion("user1")->base();
+// membank(1)->set_base(mem+0x00000);
}
static const UINT32 amask= 0xffff;
@@ -245,7 +245,6 @@ static MACHINE_CONFIG_START( comquest, comquest_state )
MCFG_CPU_PROGRAM_MAP(comquest_mem)
MCFG_CPU_CONFIG( amask )
- MCFG_MACHINE_RESET( comquest )
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -259,7 +258,6 @@ static MACHINE_CONFIG_START( comquest, comquest_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START( comquest )
/* sound hardware */
/* unknown ? */
diff --git a/src/mess/drivers/concept.c b/src/mess/drivers/concept.c
index 7fae00e2dbb..69c355a6169 100644
--- a/src/mess/drivers/concept.c
+++ b/src/mess/drivers/concept.c
@@ -122,7 +122,6 @@ static MACHINE_CONFIG_START( concept, concept_state )
MCFG_CPU_VBLANK_INT("screen", concept_interrupt)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(concept)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -136,7 +135,6 @@ static MACHINE_CONFIG_START( concept, concept_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(concept)
/* no sound? */
diff --git a/src/mess/drivers/cortex.c b/src/mess/drivers/cortex.c
index eaba10e7e9f..b18a4105732 100644
--- a/src/mess/drivers/cortex.c
+++ b/src/mess/drivers/cortex.c
@@ -27,6 +27,8 @@ public:
cortex_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
static ADDRESS_MAP_START( cortex_mem, AS_PROGRAM, 8, cortex_state )
@@ -44,11 +46,11 @@ static INPUT_PORTS_START( cortex )
INPUT_PORTS_END
-static MACHINE_RESET( cortex )
+void cortex_state::machine_reset()
{
}
-static VIDEO_START( cortex )
+void cortex_state::video_start()
{
}
@@ -73,7 +75,6 @@ static MACHINE_CONFIG_START( cortex, cortex_state )
MCFG_CPU_PROGRAM_MAP(cortex_mem)
MCFG_CPU_IO_MAP(cortex_io)
- MCFG_MACHINE_RESET(cortex)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -81,7 +82,6 @@ static MACHINE_CONFIG_START( cortex, cortex_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(cortex)
MCFG_SCREEN_UPDATE_STATIC(cortex)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/craft.c b/src/mess/drivers/craft.c
index d65a7afa8cf..058b8394d15 100644
--- a/src/mess/drivers/craft.c
+++ b/src/mess/drivers/craft.c
@@ -72,6 +72,7 @@ public:
DECLARE_READ8_MEMBER(avr8_read);
DECLARE_WRITE8_MEMBER(avr8_write);
DECLARE_DRIVER_INIT(craft);
+ virtual void machine_reset();
};
void craft_state::machine_start()
@@ -963,9 +964,9 @@ DRIVER_INIT_MEMBER(craft_state,craft)
{
}
-static MACHINE_RESET( craft )
+void craft_state::machine_reset()
{
- craft_state *state = machine.driver_data<craft_state>();
+ craft_state *state = machine().driver_data<craft_state>();
AVR8_TIMSK1 = 0;
AVR8_OCR1AH = 0;
@@ -977,7 +978,7 @@ static MACHINE_RESET( craft )
AVR8_TCNT1H = 0;
AVR8_TCNT1L = 0;
- machine.device<dac_device>("dac")->write_unsigned8(0x00);
+ machine().device<dac_device>("dac")->write_unsigned8(0x00);
}
static MACHINE_CONFIG_START( craft, craft_state )
@@ -987,7 +988,6 @@ static MACHINE_CONFIG_START( craft, craft_state )
MCFG_CPU_PROGRAM_MAP(craft_prg_map)
MCFG_CPU_IO_MAP(craft_io_map)
- MCFG_MACHINE_RESET(craft)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/cxhumax.c b/src/mess/drivers/cxhumax.c
index 86d9a100a40..255c06d8197 100644
--- a/src/mess/drivers/cxhumax.c
+++ b/src/mess/drivers/cxhumax.c
@@ -820,7 +820,7 @@ WRITE32_MEMBER( cxhumax_state::cx_hdmi_w )
COMBINE_DATA(&m_hdmi_regs[offset]);
}
-static VIDEO_START( cxhumax )
+void cxhumax_state::video_start()
{
}
@@ -978,29 +978,27 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( cxhumax )
INPUT_PORTS_END
-static MACHINE_START( cxhumax )
+void cxhumax_state::machine_start()
{
- cxhumax_state *state = machine.driver_data<cxhumax_state>();
- state->m_i2cmem = machine.device("eeprom");
+ m_i2cmem = machine().device("eeprom");
int index = 0;
for(index = 0; index < MAX_CX_TIMERS; index++)
{
- state->m_timer_regs.timer[index].timer = machine.scheduler().timer_alloc(FUNC(timer_tick));
- state->m_timer_regs.timer[index].timer->adjust(attotime::never, index);
+ m_timer_regs.timer[index].timer = machine().scheduler().timer_alloc(FUNC(timer_tick));
+ m_timer_regs.timer[index].timer->adjust(attotime::never, index);
}
}
-static MACHINE_RESET( cxhumax )
+void cxhumax_state::machine_reset()
{
- cxhumax_state *state = machine.driver_data<cxhumax_state>();
- state->m_i2c0_regs[0x08/4] = 0x08; // SDA high
- state->m_i2c2_regs[0x08/4] = 0x08; // SDA high
+ m_i2c0_regs[0x08/4] = 0x08; // SDA high
+ m_i2c2_regs[0x08/4] = 0x08; // SDA high
- UINT8* FLASH = machine.root_device().memregion("flash")->base();
- memcpy(state->m_ram,FLASH,0x400000);
+ UINT8* FLASH = machine().root_device().memregion("flash")->base();
+ memcpy(m_ram,FLASH,0x400000);
- state->m_chipcontrol_regs[PIN_CONFIG_0_REG] =
+ m_chipcontrol_regs[PIN_CONFIG_0_REG] =
1 << 0 | /* Short Reset: 0=200ms delay ; 1=1ms delay */
1 << 1 | /* Software config bit. OK */
1 << 4 | /* SDRAM memory controller data width. 0=16bit 1=32bit */
@@ -1013,45 +1011,45 @@ static MACHINE_RESET( cxhumax )
0 << 29 | /* 0=using SC2 1=not using SC2 */
0 << 30 | /* 0=using SC1 (TDA8004) 1=not using SC1 */
1 << 31; /* 0=Ext clk for boot 1=Int PLL for boot OK */
- state->m_chipcontrol_regs[SREG_MODE_REG] = 0x0000020F;
+ m_chipcontrol_regs[SREG_MODE_REG] = 0x0000020F;
- memset(state->m_isaromdescr_regs,0,sizeof(state->m_isaromdescr_regs));
- memset(state->m_isadescr_regs,0,sizeof(state->m_isadescr_regs));
- state->m_rommode_reg=0;
- state->m_xoemask_reg=0;
- memset(state->m_extdesc_regs,0,sizeof(state->m_extdesc_regs));
+ memset(m_isaromdescr_regs,0,sizeof(m_isaromdescr_regs));
+ memset(m_isadescr_regs,0,sizeof(m_isadescr_regs));
+ m_rommode_reg=0;
+ m_xoemask_reg=0;
+ memset(m_extdesc_regs,0,sizeof(m_extdesc_regs));
- state->m_pll_regs[SREG_MPG_0_INTFRAC_REG] = (0x1A << 25) /* integer */ | 0x5D1764 /* fraction */;
- state->m_pll_regs[SREG_MPG_1_INTFRAC_REG] = (0x1A << 25) /* integer */ | 0x5D1764 /* fraction */;
- state->m_pll_regs[SREG_ARM_INTFRAC_REG] = (0x28 << 25) /* integer */ | 0xCEDE62 /* fraction */;
- state->m_pll_regs[SREG_MEM_INTFRAC_REG] = (0x13 << 25) /* integer */ | 0xC9B26D /* fraction */;
- state->m_pll_regs[SREG_USB_INTFRAC_REG] = (0x08 << 25) /* integer */ | 0x52BF5B /* fraction */;
+ m_pll_regs[SREG_MPG_0_INTFRAC_REG] = (0x1A << 25) /* integer */ | 0x5D1764 /* fraction */;
+ m_pll_regs[SREG_MPG_1_INTFRAC_REG] = (0x1A << 25) /* integer */ | 0x5D1764 /* fraction */;
+ m_pll_regs[SREG_ARM_INTFRAC_REG] = (0x28 << 25) /* integer */ | 0xCEDE62 /* fraction */;
+ m_pll_regs[SREG_MEM_INTFRAC_REG] = (0x13 << 25) /* integer */ | 0xC9B26D /* fraction */;
+ m_pll_regs[SREG_USB_INTFRAC_REG] = (0x08 << 25) /* integer */ | 0x52BF5B /* fraction */;
- state->m_clkdiv_regs[SREG_DIV_0_REG] = (2<<0)|(1<<6)|(2<<8)|(2<<14)|(10<<16)|(1<<22)|(10<<24)|(1<<30);
- state->m_clkdiv_regs[SREG_DIV_1_REG] = (5<<0)|(0<<6)|(12<<8)|(0<<14)|(4<<16)|(1<<22)|(5<<24)|(1<<30);
- state->m_clkdiv_regs[SREG_DIV_2_REG] = (22<<0)|(0<<6)|(12<<8)|(1<<14)|(4<<16)|(3<<22); //|(5<<24)|(1<<30);???
- state->m_clkdiv_regs[SREG_DIV_3_REG] = (5<<0)|(0<<6)|(5<<8)|(0<<14)|(5<<16)|(0<<22)|(5<<24)|(0<<30);
- state->m_clkdiv_regs[SREG_DIV_4_REG] = (8<<0)|(0<<6)|(5<<8)|(0<<14)|(5<<16)|(0<<22)|(5<<24)|(0<<30);
- state->m_clkdiv_regs[SREG_DIV_5_REG] = (8<<0)|(0<<6)|(5<<8)|(0<<14)|(5<<16)|(0<<22);
+ m_clkdiv_regs[SREG_DIV_0_REG] = (2<<0)|(1<<6)|(2<<8)|(2<<14)|(10<<16)|(1<<22)|(10<<24)|(1<<30);
+ m_clkdiv_regs[SREG_DIV_1_REG] = (5<<0)|(0<<6)|(12<<8)|(0<<14)|(4<<16)|(1<<22)|(5<<24)|(1<<30);
+ m_clkdiv_regs[SREG_DIV_2_REG] = (22<<0)|(0<<6)|(12<<8)|(1<<14)|(4<<16)|(3<<22); //|(5<<24)|(1<<30);???
+ m_clkdiv_regs[SREG_DIV_3_REG] = (5<<0)|(0<<6)|(5<<8)|(0<<14)|(5<<16)|(0<<22)|(5<<24)|(0<<30);
+ m_clkdiv_regs[SREG_DIV_4_REG] = (8<<0)|(0<<6)|(5<<8)|(0<<14)|(5<<16)|(0<<22)|(5<<24)|(0<<30);
+ m_clkdiv_regs[SREG_DIV_5_REG] = (8<<0)|(0<<6)|(5<<8)|(0<<14)|(5<<16)|(0<<22);
- state->m_pllprescale_reg=0xFFF;
+ m_pllprescale_reg=0xFFF;
- state->m_mccfg_regs[MC_CFG0] = ((state->m_chipcontrol_regs[PIN_CONFIG_0_REG]>>4)&1)<<16;
- state->m_mccfg_regs[MC_CFG1] = 0;
- state->m_mccfg_regs[MC_CFG2] = (7<<8)|(7<<0);
+ m_mccfg_regs[MC_CFG0] = ((m_chipcontrol_regs[PIN_CONFIG_0_REG]>>4)&1)<<16;
+ m_mccfg_regs[MC_CFG1] = 0;
+ m_mccfg_regs[MC_CFG2] = (7<<8)|(7<<0);
// UART2
- state->m_uart2_regs[UART_FIFC_REG] = 0x30;
+ m_uart2_regs[UART_FIFC_REG] = 0x30;
// Clear SS TX FIFO
- memset(state->m_ss_tx_fifo,0,sizeof(state->m_ss_tx_fifo));
- state->m_ss_regs[SS_BAUD_REG] = 1; // Default SS clock = 13,5MHz
+ memset(m_ss_tx_fifo,0,sizeof(m_ss_tx_fifo));
+ m_ss_regs[SS_BAUD_REG] = 1; // Default SS clock = 13,5MHz
- memset(state->m_intctrl_regs,0,sizeof(state->m_intctrl_regs));
+ memset(m_intctrl_regs,0,sizeof(m_intctrl_regs));
- memset(state->m_hdmi_regs,0,sizeof(state->m_hdmi_regs));
+ memset(m_hdmi_regs,0,sizeof(m_hdmi_regs));
- memset(state->m_gxa_cmd_regs,0,sizeof(state->m_gxa_cmd_regs));
+ memset(m_gxa_cmd_regs,0,sizeof(m_gxa_cmd_regs));
}
static GENERIC_TERMINAL_INTERFACE( terminal_intf )
@@ -1068,8 +1066,6 @@ static MACHINE_CONFIG_START( cxhumax, cxhumax_state )
MCFG_CPU_ADD("maincpu", ARM920T, 180000000) // CX24175 (RevC up?)
MCFG_CPU_PROGRAM_MAP(cxhumax_map)
- MCFG_MACHINE_RESET(cxhumax)
- MCFG_MACHINE_START(cxhumax)
MCFG_INTEL_28F320J3D_ADD("flash")
MCFG_I2CMEM_ADD("eeprom",i2cmem_interface)
@@ -1087,7 +1083,6 @@ static MACHINE_CONFIG_START( cxhumax, cxhumax_state )
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
- MCFG_VIDEO_START(cxhumax)
MACHINE_CONFIG_END
ROM_START( hxhdci2k )
diff --git a/src/mess/drivers/cybiko.c b/src/mess/drivers/cybiko.c
index 4c6538e28e0..6debfea06ab 100644
--- a/src/mess/drivers/cybiko.c
+++ b/src/mess/drivers/cybiko.c
@@ -283,14 +283,14 @@ INPUT_PORTS_END
// PALETTE INIT //
////////////////////
-PALETTE_INIT( hd66421 )
+void cybiko_state::palette_init()
{
// init palette
for (int i = 0; i < 4; i++)
{
- palette_set_color(machine, i, RGB_WHITE);
+ palette_set_color(machine(), i, RGB_WHITE);
#ifndef HD66421_BRIGHTNESS_DOES_NOT_WORK
- palette_set_pen_contrast(machine, i, 1.0 * i / (4 - 1));
+ palette_set_pen_contrast(machine(), i, 1.0 * i / (4 - 1));
#endif
}
}
@@ -326,15 +326,12 @@ static MACHINE_CONFIG_START( cybikov1, cybiko_state )
// video
MCFG_HD66421_ADD("hd66421")
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(hd66421)
MCFG_DEFAULT_LAYOUT(layout_lcd)
// sound
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD(SPEAKER_TAG, SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
// machine
- MCFG_MACHINE_START(cybikov1)
- MCFG_MACHINE_RESET(cybikov1)
/* rtc */
MCFG_PCF8593_ADD("rtc")
MCFG_AT45DB041_ADD("flash1")
@@ -356,8 +353,8 @@ static MACHINE_CONFIG_DERIVED( cybikov2, cybikov1)
MCFG_CPU_PROGRAM_MAP(cybikov2_mem )
MCFG_CPU_IO_MAP(cybikov2_io )
// machine
- MCFG_MACHINE_START(cybikov2)
- MCFG_MACHINE_RESET(cybikov2)
+ MCFG_MACHINE_START_OVERRIDE(cybiko_state,cybikov2)
+ MCFG_MACHINE_RESET_OVERRIDE(cybiko_state,cybikov2)
MCFG_SST39VF020_ADD("flash2", cybyko_sst39vfx_intf)
/* internal ram */
@@ -372,8 +369,8 @@ static MACHINE_CONFIG_DERIVED( cybikoxt, cybikov1)
MCFG_CPU_PROGRAM_MAP(cybikoxt_mem )
MCFG_CPU_IO_MAP(cybikoxt_io )
// machine
- MCFG_MACHINE_START(cybikoxt)
- MCFG_MACHINE_RESET(cybikoxt)
+ MCFG_MACHINE_START_OVERRIDE(cybiko_state,cybikoxt)
+ MCFG_MACHINE_RESET_OVERRIDE(cybiko_state,cybikoxt)
MCFG_DEVICE_REMOVE("flash1")
MCFG_SST39VF400A_ADD("flash2", cybyko_sst39vfx_intf)
diff --git a/src/mess/drivers/d6800.c b/src/mess/drivers/d6800.c
index 5a31b311572..80de332730c 100644
--- a/src/mess/drivers/d6800.c
+++ b/src/mess/drivers/d6800.c
@@ -76,6 +76,8 @@ public:
private:
UINT8 m_kbd_s;
UINT8 m_portb;
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -296,11 +298,11 @@ static const pia6821_interface d6800_mc6821_intf =
/* Machine Initialization */
-static MACHINE_START( d6800 )
+void d6800_state::machine_start()
{
}
-static MACHINE_RESET( d6800 )
+void d6800_state::machine_reset()
{
}
@@ -359,8 +361,6 @@ static MACHINE_CONFIG_START( d6800, d6800_state )
MCFG_CPU_ADD("maincpu",M6800, XTAL_4MHz/4)
MCFG_CPU_PROGRAM_MAP(d6800_map)
- MCFG_MACHINE_START(d6800)
- MCFG_MACHINE_RESET(d6800)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/d6809.c b/src/mess/drivers/d6809.c
index c4503398822..ec242b9eaf7 100644
--- a/src/mess/drivers/d6809.c
+++ b/src/mess/drivers/d6809.c
@@ -100,6 +100,7 @@ public:
DECLARE_READ8_MEMBER( term_r );
DECLARE_WRITE8_MEMBER( term_w );
UINT8 m_term_data;
+ virtual void machine_reset();
};
READ8_MEMBER( d6809_state::term_r )
@@ -139,7 +140,7 @@ static GENERIC_TERMINAL_INTERFACE( terminal_intf )
DEVCB_DRIVER_MEMBER(d6809_state, kbd_put)
};
-static MACHINE_RESET(d6809)
+void d6809_state::machine_reset()
{
}
@@ -149,7 +150,6 @@ static MACHINE_CONFIG_START( d6809, d6809_state )
MCFG_CPU_ADD("maincpu",M6809E, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(d6809_mem)
- MCFG_MACHINE_RESET(d6809)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/dai.c b/src/mess/drivers/dai.c
index 272596bb34b..423e043a633 100644
--- a/src/mess/drivers/dai.c
+++ b/src/mess/drivers/dai.c
@@ -202,8 +202,6 @@ static MACHINE_CONFIG_START( dai, dai_state )
MCFG_CPU_IO_MAP(dai_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( dai )
- MCFG_MACHINE_RESET( dai )
MCFG_PIT8253_ADD( "pit8253", dai_pit8253_intf )
@@ -219,9 +217,7 @@ static MACHINE_CONFIG_START( dai, dai_state )
MCFG_GFXDECODE(dai)
MCFG_PALETTE_LENGTH(sizeof (dai_palette) / 3)
- MCFG_PALETTE_INIT( dai )
- MCFG_VIDEO_START( dai )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/dc.c b/src/mess/drivers/dc.c
index d878184e981..df4f12b30f0 100644
--- a/src/mess/drivers/dc.c
+++ b/src/mess/drivers/dc.c
@@ -210,7 +210,7 @@ static MACHINE_RESET( dc_console )
dc_state *state = machine.driver_data<dc_state>();
device_t *aica = machine.device("aica");
- MACHINE_RESET_CALL(dc);
+ state->machine_reset();
aica_set_ram_base(aica, state->dc_sound_ram, 2*1024*1024);
dreamcast_atapi_reset(machine);
}
@@ -239,7 +239,6 @@ static MACHINE_CONFIG_START( dc, dc_state )
MCFG_CPU_ADD("soundcpu", ARM7, ((XTAL_33_8688MHz*2)/3)/8) // AICA bus clock is 2/3rds * 33.8688. ARM7 gets 1 bus cycle out of each 8.
MCFG_CPU_PROGRAM_MAP(dc_audio_map)
- MCFG_MACHINE_START( dc )
MCFG_MACHINE_RESET( dc_console )
MCFG_MAPLE_DC_ADD( "maple_dc", "maincpu", dc_maple_irq )
@@ -258,7 +257,6 @@ static MACHINE_CONFIG_START( dc, 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/mess/drivers/dct11em.c b/src/mess/drivers/dct11em.c
index c22f6b27080..d27e15848c5 100644
--- a/src/mess/drivers/dct11em.c
+++ b/src/mess/drivers/dct11em.c
@@ -14,6 +14,8 @@ class dct11em_state : public driver_device
public:
dct11em_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
static ADDRESS_MAP_START( dct11em_mem, AS_PROGRAM, 16, dct11em_state )
@@ -28,11 +30,11 @@ static INPUT_PORTS_START( dct11em )
INPUT_PORTS_END
-static MACHINE_RESET(dct11em)
+void dct11em_state::machine_reset()
{
}
-static VIDEO_START( dct11em )
+void dct11em_state::video_start()
{
}
@@ -52,7 +54,6 @@ static MACHINE_CONFIG_START( dct11em, dct11em_state )
MCFG_CPU_CONFIG(t11_data)
MCFG_CPU_PROGRAM_MAP(dct11em_mem)
- MCFG_MACHINE_RESET(dct11em)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -60,7 +61,6 @@ static MACHINE_CONFIG_START( dct11em, dct11em_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(dct11em)
MCFG_SCREEN_UPDATE_STATIC(dct11em)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/dectalk.c b/src/mess/drivers/dectalk.c
index 1c5c20e6fba..965010fa76a 100644
--- a/src/mess/drivers/dectalk.c
+++ b/src/mess/drivers/dectalk.c
@@ -193,6 +193,7 @@ public:
DECLARE_WRITE16_MEMBER(spc_outfifo_data_w);
DECLARE_READ16_MEMBER(spc_semaphore_r);
DECLARE_DRIVER_INIT(dectalk);
+ virtual void machine_reset();
};
@@ -344,10 +345,10 @@ static void dectalk_reset(device_t *device)
state->m_duart_outport = 0;
}
-static MACHINE_RESET( dectalk )
+void dectalk_state::machine_reset()
{
/* hook the RESET line, which resets a slew of other components */
- m68k_set_reset_callback(machine.device("maincpu"), dectalk_reset);
+ m68k_set_reset_callback(machine().device("maincpu"), dectalk_reset);
}
/* Begin 68k i/o handlers */
@@ -731,7 +732,6 @@ static MACHINE_CONFIG_START( dectalk, dectalk_state )
MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* E74 20MHz OSC (/2) */
MCFG_CPU_PROGRAM_MAP(m68k_mem)
MCFG_CPU_IO_MAP(m68k_io)
- MCFG_MACHINE_RESET(dectalk)
MCFG_DUART68681_ADD( "duart68681", XTAL_3_6864MHz, dectalk_duart68681_config ) /* Y3 3.6864MHz Xtal */
diff --git a/src/mess/drivers/dgn_beta.c b/src/mess/drivers/dgn_beta.c
index 3d5595b7c17..4b2a011d700 100644
--- a/src/mess/drivers/dgn_beta.c
+++ b/src/mess/drivers/dgn_beta.c
@@ -277,12 +277,12 @@ static INPUT_PORTS_START( dgnbeta )
INPUT_PORTS_END
-static PALETTE_INIT( dgnbeta )
+void dgn_beta_state::palette_init()
{
int i;
for ( i = 0; i < sizeof(dgnbeta_palette) / 3; i++ ) {
- palette_set_color_rgb(machine, i, dgnbeta_palette[i*3], dgnbeta_palette[i*3+1], dgnbeta_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, dgnbeta_palette[i*3], dgnbeta_palette[i*3+1], dgnbeta_palette[i*3+2]);
}
}
@@ -327,7 +327,6 @@ static MACHINE_CONFIG_START( dgnbeta, dgn_beta_state )
MCFG_CPU_ADD(DMACPU_TAG, M6809E, DGNBETA_CPU_SPEED_HZ) /* 2 MHz */
MCFG_CPU_PROGRAM_MAP(dgnbeta_map)
- MCFG_MACHINE_START( dgnbeta )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -339,7 +338,6 @@ static MACHINE_CONFIG_START( dgnbeta, dgn_beta_state )
MCFG_GFXDECODE(dgnbeta)
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(dgnbeta_palette) / 3)
- MCFG_PALETTE_INIT( dgnbeta )
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
MCFG_PIA6821_ADD( PIA_0_TAG, dgnbeta_pia_intf[0] )
diff --git a/src/mess/drivers/dm7000.c b/src/mess/drivers/dm7000.c
index aedfa579009..64483cb8c21 100644
--- a/src/mess/drivers/dm7000.c
+++ b/src/mess/drivers/dm7000.c
@@ -248,19 +248,18 @@ static INPUT_PORTS_START( dm7000 )
INPUT_PORTS_END
-static MACHINE_RESET(dm7000)
+void dm7000_state::machine_reset()
{
- dm7000_state *state = machine.driver_data<dm7000_state>();
-
- state->dcr[DCRSTB045_CICVCR] = 0x00000001;
- state->dcr[DCRSTB045_SCCR] = 0x00420080 /* default for serial divs */ | 0x3f /* undocumented?? used to print clocks */;
- state->dcr[DCRSTB045_VIDEO_CNTL] = 0x00009000;
- state->dcr[DCRSTB045_DISP_MODE] = 0x00880000;
- state->dcr[DCRSTB045_FRAME_BUFR_BASE] = 0x0f000000;
- state->m_scc0_lsr = UART_LSR_THRE | UART_LSR_TEMT;
+
+ dcr[DCRSTB045_CICVCR] = 0x00000001;
+ dcr[DCRSTB045_SCCR] = 0x00420080 /* default for serial divs */ | 0x3f /* undocumented?? used to print clocks */;
+ dcr[DCRSTB045_VIDEO_CNTL] = 0x00009000;
+ dcr[DCRSTB045_DISP_MODE] = 0x00880000;
+ dcr[DCRSTB045_FRAME_BUFR_BASE] = 0x0f000000;
+ m_scc0_lsr = UART_LSR_THRE | UART_LSR_TEMT;
}
-static VIDEO_START( dm7000 )
+void dm7000_state::video_start()
{
}
@@ -317,7 +316,6 @@ static MACHINE_CONFIG_START( dm7000, dm7000_state )
MCFG_CPU_CONFIG(ppc405_config)
MCFG_CPU_PROGRAM_MAP(dm7000_mem)
- MCFG_MACHINE_RESET(dm7000)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -332,7 +330,6 @@ static MACHINE_CONFIG_START( dm7000, dm7000_state )
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
- MCFG_VIDEO_START(dm7000)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/dms5000.c b/src/mess/drivers/dms5000.c
index 42ea7d040ec..400e84f247d 100644
--- a/src/mess/drivers/dms5000.c
+++ b/src/mess/drivers/dms5000.c
@@ -16,6 +16,8 @@ public:
dms5000_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -34,11 +36,11 @@ static INPUT_PORTS_START( dms5000 )
INPUT_PORTS_END
-static MACHINE_RESET(dms5000)
+void dms5000_state::machine_reset()
{
}
-static VIDEO_START( dms5000 )
+void dms5000_state::video_start()
{
}
@@ -53,7 +55,6 @@ static MACHINE_CONFIG_START( dms5000, dms5000_state )
MCFG_CPU_PROGRAM_MAP(dms5000_mem)
MCFG_CPU_IO_MAP(dms5000_io)
- MCFG_MACHINE_RESET(dms5000)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -61,7 +62,6 @@ static MACHINE_CONFIG_START( dms5000, dms5000_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(dms5000)
MCFG_SCREEN_UPDATE_STATIC(dms5000)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/dms86.c b/src/mess/drivers/dms86.c
index edb0dacafb6..6e74c4ea70f 100644
--- a/src/mess/drivers/dms86.c
+++ b/src/mess/drivers/dms86.c
@@ -45,6 +45,7 @@ public:
DECLARE_WRITE8_MEMBER( kbd_put );
UINT8 *m_ram;
UINT8 m_term_data;
+ virtual void machine_reset();
};
READ16_MEMBER( dms86_state::dms86_82_r )
@@ -93,7 +94,7 @@ static INPUT_PORTS_START( dms86 )
INPUT_PORTS_END
-static MACHINE_RESET(dms86)
+void dms86_state::machine_reset()
{
}
@@ -114,7 +115,6 @@ static MACHINE_CONFIG_START( dms86, dms86_state )
MCFG_CPU_PROGRAM_MAP(dms86_mem)
MCFG_CPU_IO_MAP(dms86_io)
- MCFG_MACHINE_RESET(dms86)
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/dual68.c b/src/mess/drivers/dual68.c
index efbc3cb57ba..b356757b156 100644
--- a/src/mess/drivers/dual68.c
+++ b/src/mess/drivers/dual68.c
@@ -28,6 +28,7 @@ public:
DECLARE_WRITE16_MEMBER( dual68_terminal_w );
//UINT8 m_term_data;
required_shared_ptr<UINT16> m_p_ram;
+ virtual void machine_reset();
};
@@ -60,14 +61,13 @@ static INPUT_PORTS_START( dual68 )
INPUT_PORTS_END
-static MACHINE_RESET(dual68)
+void dual68_state::machine_reset()
{
- dual68_state *state = machine.driver_data<dual68_state>();
- UINT8* user1 = state->memregion("user1")->base();
+ UINT8* user1 = memregion("user1")->base();
- memcpy((UINT8*)state->m_p_ram.target(),user1,0x2000);
+ memcpy((UINT8*)m_p_ram.target(),user1,0x2000);
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
WRITE8_MEMBER( dual68_state::kbd_put )
@@ -89,7 +89,6 @@ static MACHINE_CONFIG_START( dual68, dual68_state )
MCFG_CPU_PROGRAM_MAP(sio4_mem)
MCFG_CPU_IO_MAP(sio4_io)
- MCFG_MACHINE_RESET(dual68)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG,terminal_intf)
diff --git a/src/mess/drivers/ec65.c b/src/mess/drivers/ec65.c
index b7b3d441669..cd80d3889f4 100644
--- a/src/mess/drivers/ec65.c
+++ b/src/mess/drivers/ec65.c
@@ -41,6 +41,8 @@ public:
UINT8 m_keyboard_input;
optional_device<via6522_device> m_via_0;
required_shared_ptr<UINT8> m_p_videoram;
+ virtual void machine_reset();
+ virtual void video_start();
};
static ADDRESS_MAP_START(ec65_mem, AS_PROGRAM, 8, ec65_state)
@@ -171,14 +173,13 @@ static ASCII_KEYBOARD_INTERFACE( keyboard_intf )
DEVCB_DRIVER_MEMBER(ec65_state, kbd_put)
};
-static MACHINE_RESET(ec65)
+void ec65_state::machine_reset()
{
}
-static VIDEO_START( ec65 )
+void ec65_state::video_start()
{
- ec65_state *state = machine.driver_data<ec65_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
+ m_p_chargen = memregion("chargen")->base();
}
static MC6845_UPDATE_ROW( ec65_update_row )
@@ -249,7 +250,6 @@ static MACHINE_CONFIG_START( ec65, ec65_state )
MCFG_CPU_ADD("maincpu",M6502, XTAL_4MHz / 4)
MCFG_CPU_PROGRAM_MAP(ec65_mem)
- MCFG_MACHINE_RESET(ec65)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -265,7 +265,6 @@ static MACHINE_CONFIG_START( ec65, ec65_state )
MCFG_MC6845_ADD(MC6845_TAG, MC6845, XTAL_16MHz / 8, ec65_crtc6845_interface)
- MCFG_VIDEO_START(ec65)
/* devices */
MCFG_PIA6821_ADD( PIA6821_TAG, ec65_pia_interface )
@@ -282,7 +281,6 @@ static MACHINE_CONFIG_START( ec65k, ec65_state )
MCFG_CPU_ADD("maincpu",G65816, XTAL_4MHz) // can use 4,2 or 1 MHz
MCFG_CPU_PROGRAM_MAP(ec65k_mem)
- MCFG_MACHINE_RESET(ec65)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -298,7 +296,6 @@ static MACHINE_CONFIG_START( ec65k, ec65_state )
MCFG_MC6845_ADD(MC6845_TAG, MC6845, XTAL_16MHz / 8, ec65_crtc6845_interface)
- MCFG_VIDEO_START(ec65)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/einstein.c b/src/mess/drivers/einstein.c
index ae4b9a64025..0bb93b12554 100644
--- a/src/mess/drivers/einstein.c
+++ b/src/mess/drivers/einstein.c
@@ -415,67 +415,64 @@ static TMS9928A_INTERFACE(einstein_tms9929a_interface)
DEVCB_NULL
};
-static MACHINE_START( einstein )
+void einstein_state::machine_start()
{
}
-static MACHINE_RESET( einstein )
+void einstein_state::machine_reset()
{
- einstein_state *state = machine.driver_data<einstein_state>();
//device_t *floppy;
- //UINT8 config = machine.root_device().ioport("config")->read();
+ //UINT8 config = machine().root_device().ioport("config")->read();
/* save pointers to our devices */
- state->m_color_screen = machine.device("screen");
- state->m_ctc = machine.device<z80ctc_device>(IC_I058);
+ m_color_screen = machine().device("screen");
+ m_ctc = machine().device<z80ctc_device>(IC_I058);
/* initialize memory mapping */
- state->membank("bank2")->set_base(machine.device<ram_device>(RAM_TAG)->pointer());
- state->membank("bank3")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0x8000);
- state->m_rom_enabled = 1;
- einstein_page_rom(machine);
+ membank("bank2")->set_base(machine().device<ram_device>(RAM_TAG)->pointer());
+ membank("bank3")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0x8000);
+ m_rom_enabled = 1;
+ einstein_page_rom(machine());
/* a reset causes the fire int, adc int, keyboard int mask
to be set to 1, which causes all these to be DISABLED */
- state->m_interrupt = 0;
- state->m_interrupt_mask = 0;
+ m_interrupt = 0;
+ m_interrupt_mask = 0;
- state->m_ctc_trigger = 0;
+ m_ctc_trigger = 0;
/* configure floppy drives */
/* floppy_type_t type_80 = FLOPPY_STANDARD_5_25_DSHD;
floppy_type_t type_40 = FLOPPY_STANDARD_5_25_SSDD_40;
- floppy = machine.device("floppy0");
+ floppy = machine().device("floppy0");
floppy_drive_set_geometry(floppy, config & 0x01 ? type_80 : type_40);
- floppy = machine.device("floppy1");
+ floppy = machine().device("floppy1");
floppy_drive_set_geometry(floppy, config & 0x02 ? type_80 : type_40);
- floppy = machine.device("floppy2");
+ floppy = machine().device("floppy2");
floppy_drive_set_geometry(floppy, config & 0x04 ? type_80 : type_40);
- floppy = machine.device("floppy3");
+ floppy = machine().device("floppy3");
floppy_drive_set_geometry(floppy, config & 0x08 ? type_80 : type_40);*/
}
-static MACHINE_RESET( einstein2 )
+MACHINE_RESET_MEMBER(einstein_state,einstein2)
{
- einstein_state *einstein = machine.driver_data<einstein_state>();
/* call standard initialization first */
- MACHINE_RESET_CALL(einstein);
+ einstein_state::machine_reset();
/* get 80 column specific devices */
- einstein->m_mc6845 = machine.device<mc6845_device>("crtc");
- einstein->m_crtc_screen = machine.device<screen_device>("80column");
+ m_mc6845 = machine().device<mc6845_device>("crtc");
+ m_crtc_screen = machine().device<screen_device>("80column");
/* 80 column card palette */
- palette_set_color(machine, TMS9928A_PALETTE_SIZE, RGB_BLACK);
- palette_set_color(machine, TMS9928A_PALETTE_SIZE + 1, MAKE_RGB(0, 224, 0));
+ palette_set_color(machine(), TMS9928A_PALETTE_SIZE, RGB_BLACK);
+ palette_set_color(machine(), TMS9928A_PALETTE_SIZE + 1, MAKE_RGB(0, 224, 0));
}
-static MACHINE_START( einstein2 )
+MACHINE_START_MEMBER(einstein_state,einstein2)
{
- einstein_state *einstein = machine.driver_data<einstein_state>();
- einstein->m_crtc_ram = auto_alloc_array(machine, UINT8, 2048);
- MACHINE_START_CALL(einstein);
+ m_crtc_ram = auto_alloc_array(machine(), UINT8, 2048);
+ einstein_state::machine_start();
}
@@ -779,8 +776,6 @@ static MACHINE_CONFIG_START( einstein, einstein_state )
MCFG_CPU_IO_MAP(einstein_io)
MCFG_CPU_CONFIG(einstein_daisy_chain)
- MCFG_MACHINE_START(einstein)
- MCFG_MACHINE_RESET(einstein)
/* this is actually clocked at the system clock 4 MHz, but this would be too fast for our
driver. So we update at 50Hz and hope this is good enough. */
@@ -836,8 +831,8 @@ static MACHINE_CONFIG_DERIVED( einstei2, einstein )
MCFG_CPU_MODIFY(IC_I001)
MCFG_CPU_IO_MAP(einstein2_io)
- MCFG_MACHINE_START(einstein2)
- MCFG_MACHINE_RESET(einstein2)
+ MCFG_MACHINE_START_OVERRIDE(einstein_state,einstein2)
+ MCFG_MACHINE_RESET_OVERRIDE(einstein_state,einstein2)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mess/drivers/electron.c b/src/mess/drivers/electron.c
index 7417b4bccde..28c3fce666e 100644
--- a/src/mess/drivers/electron.c
+++ b/src/mess/drivers/electron.c
@@ -41,9 +41,9 @@ static const rgb_t electron_palette[8]=
MAKE_RGB(0x000,0x000,0x000)
};
-static PALETTE_INIT( electron )
+void electron_state::palette_init()
{
- palette_set_colors(machine, 0, electron_palette, ARRAY_LENGTH(electron_palette));
+ palette_set_colors(machine(), 0, electron_palette, ARRAY_LENGTH(electron_palette));
}
static ADDRESS_MAP_START(electron_mem, AS_PROGRAM, 8, electron_state )
@@ -180,7 +180,6 @@ static MACHINE_CONFIG_START( electron, electron_state )
MCFG_CPU_ADD( "maincpu", M6502, 2000000 )
MCFG_CPU_PROGRAM_MAP( electron_mem)
- MCFG_MACHINE_START( electron )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE( 50.08 )
@@ -189,9 +188,7 @@ static MACHINE_CONFIG_START( electron, electron_state )
MCFG_SCREEN_UPDATE_STATIC(electron)
MCFG_PALETTE_LENGTH( 16 )
- MCFG_PALETTE_INIT(electron)
- MCFG_VIDEO_START(electron)
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
MCFG_SPEAKER_STANDARD_MONO( "mono" )
diff --git a/src/mess/drivers/elwro800.c b/src/mess/drivers/elwro800.c
index 6d356393f0a..e635fe3319d 100644
--- a/src/mess/drivers/elwro800.c
+++ b/src/mess/drivers/elwro800.c
@@ -49,6 +49,7 @@ public:
DECLARE_WRITE8_MEMBER(elwro800jr_fdc_control_w);
DECLARE_READ8_MEMBER(elwro800jr_io_r);
DECLARE_WRITE8_MEMBER(elwro800jr_io_w);
+ DECLARE_MACHINE_RESET(elwro800);
};
@@ -507,23 +508,22 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_RESET(elwro800)
+MACHINE_RESET_MEMBER(elwro800_state,elwro800)
{
- elwro800_state *state = machine.driver_data<elwro800_state>();
- UINT8 *messram = machine.device<ram_device>(RAM_TAG)->pointer();
+ UINT8 *messram = machine().device<ram_device>(RAM_TAG)->pointer();
- state->m_df_on_databus = 0xdf;
+ m_df_on_databus = 0xdf;
memset(messram, 0, 64*1024);
- state->membank("bank3")->set_base(messram + 0x4000);
+ membank("bank3")->set_base(messram + 0x4000);
- state->m_port_7ffd_data = 0;
- state->m_port_1ffd_data = -1;
+ m_port_7ffd_data = 0;
+ m_port_1ffd_data = -1;
// this is a reset of ls175 in mmu
- elwro800jr_mmu_w(machine, 0);
+ elwro800jr_mmu_w(machine(), 0);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(elwro800_state::elwro800_direct_handler), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(elwro800_state::elwro800_direct_handler), this));
}
static const cassette_interface elwro800jr_cassette_interface =
@@ -580,7 +580,7 @@ static MACHINE_CONFIG_START( elwro800, elwro800_state )
MCFG_CPU_IO_MAP(elwro800_io)
MCFG_CPU_VBLANK_INT("screen", elwro800jr_interrupt)
- MCFG_MACHINE_RESET(elwro800)
+ MCFG_MACHINE_RESET_OVERRIDE(elwro800_state,elwro800)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -592,10 +592,10 @@ static MACHINE_CONFIG_START( elwro800, elwro800_state )
MCFG_SCREEN_VBLANK_STATIC( spectrum )
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT( spectrum )
+ MCFG_PALETTE_INIT_OVERRIDE(elwro800_state, spectrum )
MCFG_GFXDECODE(elwro800)
- MCFG_VIDEO_START( spectrum )
+ MCFG_VIDEO_START_OVERRIDE(elwro800_state, spectrum )
MCFG_UPD765A_ADD("upd765", elwro800jr_upd765_interface)
MCFG_I8255A_ADD( "ppi8255", elwro800jr_ppi8255_interface)
diff --git a/src/mess/drivers/enterp.c b/src/mess/drivers/enterp.c
index 7dd4a07917d..0ea84d1f692 100644
--- a/src/mess/drivers/enterp.c
+++ b/src/mess/drivers/enterp.c
@@ -170,9 +170,9 @@ static const dave_interface enterprise_dave_interface =
};
-static MACHINE_RESET( enterprise )
+void ep_state::machine_reset()
{
- machine.device("maincpu")->execute().set_input_line_vector(0, 0xff);
+ machine().device("maincpu")->execute().set_input_line_vector(0, 0xff);
}
@@ -450,7 +450,6 @@ static MACHINE_CONFIG_START( ep64, ep_state )
MCFG_CPU_PROGRAM_MAP(enterprise_mem)
MCFG_CPU_IO_MAP(enterprise_io)
- MCFG_MACHINE_RESET(enterprise)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -461,9 +460,7 @@ static MACHINE_CONFIG_START( ep64, ep_state )
MCFG_SCREEN_UPDATE_STATIC(epnick)
MCFG_PALETTE_LENGTH(NICK_PALETTE_SIZE)
- MCFG_PALETTE_INIT(epnick)
- MCFG_VIDEO_START(epnick)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/esq1.c b/src/mess/drivers/esq1.c
index 783e05f05b3..7b596c85731 100644
--- a/src/mess/drivers/esq1.c
+++ b/src/mess/drivers/esq1.c
@@ -91,6 +91,7 @@ public:
int m_seq_bank;
UINT8 m_seqram[0x10000];
UINT8 m_dosram[0x2000];
+ virtual void machine_reset();
};
@@ -103,14 +104,13 @@ static UINT8 esq1_adc_read(device_t *device)
return 0x80;
}
-static MACHINE_RESET( esq1 )
+void esq1_state::machine_reset()
{
// set default OSROM banking
- esq1_state *state = machine.driver_data<esq1_state>();
- state->membank("osbank")->set_base(machine.root_device().memregion("osrom")->base() );
+ membank("osbank")->set_base(machine().root_device().memregion("osrom")->base() );
- state->m_mapper_state = 0;
- state->m_seq_bank = 0;
+ m_mapper_state = 0;
+ m_seq_bank = 0;
}
READ8_MEMBER(esq1_state::wd1772_r)
@@ -267,7 +267,6 @@ static MACHINE_CONFIG_START( esq1, esq1_state )
MCFG_CPU_ADD("maincpu", M6809E, 4000000) // how fast is it?
MCFG_CPU_PROGRAM_MAP(esq1_map)
- MCFG_MACHINE_RESET( esq1 )
MCFG_DUART68681_ADD("duart", 4000000, duart_config)
diff --git a/src/mess/drivers/ex800.c b/src/mess/drivers/ex800.c
index 11e4c3c87cf..16748e32405 100644
--- a/src/mess/drivers/ex800.c
+++ b/src/mess/drivers/ex800.c
@@ -153,6 +153,7 @@ public:
DECLARE_WRITE8_MEMBER(ex800_iosel_w);
DECLARE_READ8_MEMBER(ex800_gate7a_r);
DECLARE_WRITE8_MEMBER(ex800_gate7a_w);
+ virtual void machine_start();
};
@@ -202,11 +203,10 @@ static INPUT_CHANGED( online_switch )
}
-static MACHINE_START(ex800)
+void ex800_state::machine_start()
{
- ex800_state *state = machine.driver_data<ex800_state>();
- state->m_irq_state = ASSERT_LINE;
- device_t *speaker = machine.device(BEEPER_TAG);
+ m_irq_state = ASSERT_LINE;
+ device_t *speaker = machine().device(BEEPER_TAG);
/* Setup beep */
beep_set_state(speaker, 0);
beep_set_frequency(speaker, 4000); /* measured at 4000 Hz */
@@ -451,7 +451,6 @@ static MACHINE_CONFIG_START( ex800, ex800_state )
MCFG_CPU_PROGRAM_MAP(ex800_mem)
MCFG_CPU_IO_MAP(ex800_io)
- MCFG_MACHINE_START(ex800)
MCFG_DEFAULT_LAYOUT(layout_ex800)
diff --git a/src/mess/drivers/exelv.c b/src/mess/drivers/exelv.c
index af87fba7c4a..d5f37c313ea 100644
--- a/src/mess/drivers/exelv.c
+++ b/src/mess/drivers/exelv.c
@@ -104,6 +104,7 @@ public:
/* mailbox data */
UINT8 m_wx318; /* data of 74ls374 labeled wx318 */
UINT8 m_wx319; /* data of 74sl374 labeled wx319 */
+ virtual void palette_init();
};
@@ -484,7 +485,7 @@ static const tms5220_interface exl100_tms5220_interface =
};
-static PALETTE_INIT( exelv )
+void exelv_state::palette_init()
{
int i, red, green, blue;
@@ -494,7 +495,7 @@ static PALETTE_INIT( exelv )
red = (i & 1) ? 255 : 0; /* red */
green = (i & 2) ? 255 : 0; /* green */
blue = (i & 4) ? 255 : 0; /* blue */
- palette_set_color_rgb(machine, i, red, green, blue);
+ palette_set_color_rgb(machine(), i, red, green, blue);
}
}
@@ -552,7 +553,6 @@ static MACHINE_CONFIG_START( exl100, exelv_state )
MCFG_SCREEN_VISIBLE_AREA(0, TMS3556_TOTAL_WIDTH-1, 0, TMS3556_TOTAL_HEIGHT*2-1)
#endif
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(exelv)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
@@ -593,7 +593,6 @@ static MACHINE_CONFIG_START( exeltel, exelv_state )
MCFG_SCREEN_VISIBLE_AREA(0, TMS3556_TOTAL_WIDTH-1, 0, TMS3556_TOTAL_HEIGHT*2-1)
#endif
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(exelv)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
diff --git a/src/mess/drivers/fm7.c b/src/mess/drivers/fm7.c
index c8ad1636d23..5344c1a5bcf 100644
--- a/src/mess/drivers/fm7.c
+++ b/src/mess/drivers/fm7.c
@@ -1842,138 +1842,133 @@ DRIVER_INIT_MEMBER(fm7_state,fm7)
machine().device("sub")->execute().set_irq_acknowledge_callback(fm7_sub_irq_ack);
}
-static MACHINE_START(fm7)
+MACHINE_START_MEMBER(fm7_state,fm7)
{
- fm7_state *state = machine.driver_data<fm7_state>();
// The FM-7 has no initialisation ROM, and no other obvious
// way to set the reset vector, so for now this will have to do.
- UINT8* RAM = state->memregion("maincpu")->base();
+ UINT8* RAM = memregion("maincpu")->base();
RAM[0xfffe] = 0xfe;
RAM[0xffff] = 0x00;
- memset(state->m_shared_ram,0xff,0x80);
- state->m_type = SYS_FM7;
+ memset(m_shared_ram,0xff,0x80);
+ m_type = SYS_FM7;
- beep_set_frequency(machine.device(BEEPER_TAG),1200);
- beep_set_state(machine.device(BEEPER_TAG),0);
+ beep_set_frequency(machine().device(BEEPER_TAG),1200);
+ beep_set_state(machine().device(BEEPER_TAG),0);
}
-static MACHINE_START(fm77av)
+MACHINE_START_MEMBER(fm7_state,fm77av)
{
- fm7_state *state = machine.driver_data<fm7_state>();
- UINT8* RAM = machine.root_device().memregion("maincpu")->base();
- UINT8* ROM = machine.root_device().memregion("init")->base();
+ UINT8* RAM = machine().root_device().memregion("maincpu")->base();
+ UINT8* ROM = machine().root_device().memregion("init")->base();
- memset(state->m_shared_ram,0xff,0x80);
+ memset(m_shared_ram,0xff,0x80);
// last part of Initiate ROM is visible at the end of RAM too (interrupt vectors)
memcpy(RAM+0x3fff0,ROM+0x1ff0,16);
- state->m_video.subrom = 0; // default sub CPU ROM is type C.
- RAM = machine.root_device().memregion("subsyscg")->base();
- state->membank("bank20")->set_base(RAM);
- RAM = state->memregion("subsys_c")->base();
- state->membank("bank21")->set_base(RAM+0x800);
+ m_video.subrom = 0; // default sub CPU ROM is type C.
+ RAM = machine().root_device().memregion("subsyscg")->base();
+ membank("bank20")->set_base(RAM);
+ RAM = memregion("subsys_c")->base();
+ membank("bank21")->set_base(RAM+0x800);
- state->m_type = SYS_FM77AV;
- beep_set_frequency(machine.device(BEEPER_TAG),1200);
- beep_set_state(machine.device(BEEPER_TAG),0);
+ m_type = SYS_FM77AV;
+ beep_set_frequency(machine().device(BEEPER_TAG),1200);
+ beep_set_state(machine().device(BEEPER_TAG),0);
}
-static MACHINE_START(fm11)
+MACHINE_START_MEMBER(fm7_state,fm11)
{
- fm7_state *state = machine.driver_data<fm7_state>();
- UINT8* RAM = machine.root_device().memregion("maincpu")->base();
- UINT8* ROM = state->memregion("init")->base();
+ UINT8* RAM = machine().root_device().memregion("maincpu")->base();
+ UINT8* ROM = memregion("init")->base();
- memset(state->m_shared_ram,0xff,0x80);
- state->m_type = SYS_FM11;
- beep_set_frequency(machine.device(BEEPER_TAG),1200);
- beep_set_state(machine.device(BEEPER_TAG),0);
+ memset(m_shared_ram,0xff,0x80);
+ m_type = SYS_FM11;
+ beep_set_frequency(machine().device(BEEPER_TAG),1200);
+ beep_set_state(machine().device(BEEPER_TAG),0);
// last part of Initiate ROM is visible at the end of RAM too (interrupt vectors)
memcpy(RAM+0x3fff0,ROM+0x0ff0,16);
}
-static MACHINE_START(fm16)
+MACHINE_START_MEMBER(fm7_state,fm16)
{
- fm7_state *state = machine.driver_data<fm7_state>();
- state->m_type = SYS_FM16;
- beep_set_frequency(machine.device(BEEPER_TAG),1200);
- beep_set_state(machine.device(BEEPER_TAG),0);
+ m_type = SYS_FM16;
+ beep_set_frequency(machine().device(BEEPER_TAG),1200);
+ beep_set_state(machine().device(BEEPER_TAG),0);
}
-static MACHINE_RESET(fm7)
+void fm7_state::machine_reset()
{
- fm7_state *state = machine.driver_data<fm7_state>();
- UINT8* RAM = machine.root_device().memregion("maincpu")->base();
- UINT8* ROM = state->memregion("init")->base();
-
- state->m_timer->adjust(attotime::from_nsec(2034500),0,attotime::from_nsec(2034500));
- state->m_subtimer->adjust(attotime::from_msec(20),0,attotime::from_msec(20));
- state->m_keyboard_timer->adjust(attotime::zero,0,attotime::from_msec(10));
- if(state->m_type == SYS_FM77AV || state->m_type == SYS_FM77AV40EX || state->m_type == SYS_FM11)
- state->m_fm77av_vsync_timer->adjust(machine.primary_screen->time_until_vblank_end());
-
- state->m_irq_mask = 0x00;
- state->m_irq_flags = 0x00;
- state->m_video.attn_irq = 0;
- state->m_video.sub_busy = 0x80; // busy at reset
- if(state->m_type == SYS_FM11 || state->m_type == SYS_FM16)
- state->m_basic_rom_en = 0; // all FM11/16 systems have no BASIC ROM except for the FM-11 ST
+ UINT8* RAM = machine().root_device().memregion("maincpu")->base();
+ UINT8* ROM = memregion("init")->base();
+
+ m_timer->adjust(attotime::from_nsec(2034500),0,attotime::from_nsec(2034500));
+ m_subtimer->adjust(attotime::from_msec(20),0,attotime::from_msec(20));
+ m_keyboard_timer->adjust(attotime::zero,0,attotime::from_msec(10));
+ if(m_type == SYS_FM77AV || m_type == SYS_FM77AV40EX || m_type == SYS_FM11)
+ m_fm77av_vsync_timer->adjust(machine().primary_screen->time_until_vblank_end());
+
+ m_irq_mask = 0x00;
+ m_irq_flags = 0x00;
+ m_video.attn_irq = 0;
+ m_video.sub_busy = 0x80; // busy at reset
+ if(m_type == SYS_FM11 || m_type == SYS_FM16)
+ m_basic_rom_en = 0; // all FM11/16 systems have no BASIC ROM except for the FM-11 ST
else
- state->m_basic_rom_en = 1; // enabled at reset
- if(state->m_type == SYS_FM77AV || state->m_type == SYS_FM77AV40EX)
+ m_basic_rom_en = 1; // enabled at reset
+ if(m_type == SYS_FM77AV || m_type == SYS_FM77AV40EX)
{
- state->m_init_rom_en = 1;
+ m_init_rom_en = 1;
// last part of Initiate ROM is visible at the end of RAM too (interrupt vectors)
memcpy(RAM+0x3fff0,ROM+0x1ff0,16);
}
- else if (state->m_type == SYS_FM11)
+ else if (m_type == SYS_FM11)
{
- state->m_init_rom_en = 1;
+ m_init_rom_en = 1;
// last part of Initiate ROM is visible at the end of RAM too (interrupt vectors)
memcpy(RAM+0x3fff0,ROM+0x0ff0,16);
}
else
- state->m_init_rom_en = 0;
- if(state->m_type == SYS_FM7)
- state->membank("bank1")->set_base(RAM+0x38000);
- state->m_key_delay = 700; // 700ms on FM-7
- state->m_key_repeat = 70; // 70ms on FM-7
- state->m_break_flag = 0;
- state->m_key_scan_mode = KEY_MODE_FM7;
- state->m_psg_regsel = 0;
- state->m_psg_data = 0;
- state->m_fdc_side = 0;
- state->m_fdc_drive = 0;
- state->m_mmr.mode = 0;
- state->m_mmr.segment = 0;
- state->m_mmr.enabled = 0;
- state->m_fm77av_ym_irq = 0;
- state->m_encoder.latch = 1;
- state->m_encoder.ack = 1;
+ m_init_rom_en = 0;
+ if(m_type == SYS_FM7)
+ membank("bank1")->set_base(RAM+0x38000);
+ m_key_delay = 700; // 700ms on FM-7
+ m_key_repeat = 70; // 70ms on FM-7
+ m_break_flag = 0;
+ m_key_scan_mode = KEY_MODE_FM7;
+ m_psg_regsel = 0;
+ m_psg_data = 0;
+ m_fdc_side = 0;
+ m_fdc_drive = 0;
+ m_mmr.mode = 0;
+ m_mmr.segment = 0;
+ m_mmr.enabled = 0;
+ m_fm77av_ym_irq = 0;
+ m_encoder.latch = 1;
+ m_encoder.ack = 1;
// set boot mode (FM-7 only, AV and later has boot RAM instead)
- if(state->m_type == SYS_FM7)
+ if(m_type == SYS_FM7)
{
- if(!(machine.root_device().ioport("DSW")->read() & 0x02))
+ if(!(machine().root_device().ioport("DSW")->read() & 0x02))
{ // DOS mode
- state->membank("bank17")->set_base(machine.root_device().memregion("dos")->base());
+ membank("bank17")->set_base(machine().root_device().memregion("dos")->base());
}
else
{ // BASIC mode
- state->membank("bank17")->set_base(machine.root_device().memregion("basic")->base());
+ membank("bank17")->set_base(machine().root_device().memregion("basic")->base());
}
}
- if(state->m_type == SYS_FM77AV || state->m_type == SYS_FM77AV40EX || state->m_type == SYS_FM11)
+ if(m_type == SYS_FM77AV || m_type == SYS_FM77AV40EX || m_type == SYS_FM11)
{
- fm7_mmr_refresh(machine.device("maincpu")->memory().space(AS_PROGRAM));
+ fm7_mmr_refresh(machine().device("maincpu")->memory().space(AS_PROGRAM));
}
- if(state->m_type == SYS_FM11)
+ if(m_type == SYS_FM11)
{
// Probably best to halt the 8088, I'm pretty sure it and the main 6809 should not be running at the same time
- machine.device("x86")->execute().set_input_line(INPUT_LINE_HALT,ASSERT_LINE);
+ machine().device("x86")->execute().set_input_line(INPUT_LINE_HALT,ASSERT_LINE);
}
}
@@ -2049,8 +2044,7 @@ static MACHINE_CONFIG_START( fm7, fm7_state )
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono", 0.25)
- MCFG_MACHINE_START(fm7)
- MCFG_MACHINE_RESET(fm7)
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2062,9 +2056,7 @@ static MACHINE_CONFIG_START( fm7, fm7_state )
MCFG_SCREEN_UPDATE_STATIC(fm7)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(fm7)
- MCFG_VIDEO_START(fm7)
MCFG_CASSETTE_ADD(CASSETTE_TAG, fm7_cassette_interface)
@@ -2094,8 +2086,7 @@ static MACHINE_CONFIG_START( fm8, fm7_state )
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono",0.25)
- MCFG_MACHINE_START(fm7)
- MCFG_MACHINE_RESET(fm7)
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2107,9 +2098,7 @@ static MACHINE_CONFIG_START( fm8, fm7_state )
MCFG_SCREEN_UPDATE_STATIC(fm7)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(fm7)
- MCFG_VIDEO_START(fm7)
MCFG_CASSETTE_ADD(CASSETTE_TAG, fm7_cassette_interface)
@@ -2140,8 +2129,7 @@ static MACHINE_CONFIG_START( fm77av, fm7_state )
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono",0.25)
- MCFG_MACHINE_START(fm77av)
- MCFG_MACHINE_RESET(fm7)
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm77av)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2152,9 +2140,7 @@ static MACHINE_CONFIG_START( fm77av, fm7_state )
MCFG_SCREEN_UPDATE_STATIC(fm7)
MCFG_PALETTE_LENGTH(8 + 4096)
- MCFG_PALETTE_INIT(fm7)
- MCFG_VIDEO_START(fm7)
MCFG_CASSETTE_ADD(CASSETTE_TAG, fm7_cassette_interface)
@@ -2189,8 +2175,7 @@ static MACHINE_CONFIG_START( fm11, fm7_state )
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono",0.25)
- MCFG_MACHINE_START(fm11)
- MCFG_MACHINE_RESET(fm7)
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm11)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2202,9 +2187,7 @@ static MACHINE_CONFIG_START( fm11, fm7_state )
MCFG_SCREEN_UPDATE_STATIC(fm7)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(fm7)
- MCFG_VIDEO_START(fm7)
MCFG_CASSETTE_ADD(CASSETTE_TAG, fm7_cassette_interface)
@@ -2233,8 +2216,7 @@ static MACHINE_CONFIG_START( fm16beta, fm7_state )
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono",0.25)
- MCFG_MACHINE_START(fm16)
- MCFG_MACHINE_RESET(fm7)
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm16)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2246,9 +2228,7 @@ static MACHINE_CONFIG_START( fm16beta, fm7_state )
MCFG_SCREEN_UPDATE_STATIC(fm7)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(fm7)
- MCFG_VIDEO_START(fm7)
MCFG_CASSETTE_ADD(CASSETTE_TAG, fm7_cassette_interface)
diff --git a/src/mess/drivers/fmtowns.c b/src/mess/drivers/fmtowns.c
index d9cd88dc2a1..9b09a80fc60 100644
--- a/src/mess/drivers/fmtowns.c
+++ b/src/mess/drivers/fmtowns.c
@@ -2672,7 +2672,7 @@ static MACHINE_CONFIG_FRAGMENT( towns_base )
MCFG_CPU_IO_MAP(towns_io)
MCFG_CPU_VBLANK_INT("screen", towns_vsync_irq)
- // MCFG_MACHINE_RESET(towns)
+ // MCFG_MACHINE_RESET_OVERRIDE(towns_state,towns)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2722,7 +2722,7 @@ static MACHINE_CONFIG_FRAGMENT( towns_base )
MCFG_NVRAM_ADD_0FILL("nvram")
- //MCFG_VIDEO_START(towns)
+ //MCFG_VIDEO_START_OVERRIDE(towns_state,towns)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/drivers/fp1100.c b/src/mess/drivers/fp1100.c
index fa82724ee7d..c2d0d23dd44 100644
--- a/src/mess/drivers/fp1100.c
+++ b/src/mess/drivers/fp1100.c
@@ -112,9 +112,12 @@ public:
UINT8 portb;
UINT8 portc;
}m_upd7801;
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( fp1100 )
+void fp1100_state::video_start()
{
}
@@ -341,23 +344,21 @@ static INPUT_PORTS_START( fp1100 )
INPUT_PORTS_END
-static MACHINE_START(fp1100)
+void fp1100_state::machine_start()
{
- fp1100_state *state = machine.driver_data<fp1100_state>();
- state->m_wram = state->memregion("wram")->base();
+ m_wram = memregion("wram")->base();
}
-static MACHINE_RESET(fp1100)
+void fp1100_state::machine_reset()
{
- fp1100_state *state = machine.driver_data<fp1100_state>();
int i;
UINT8 slot_type;
const UINT8 id_type[4] = { 0xff, 0x00, 0x01, 0x04};
for(i=0;i<8;i++)
{
- slot_type = (machine.root_device().ioport("SLOTS")->read() >> i*2) & 3;
- state->m_slot[i].id = id_type[slot_type];
+ slot_type = (machine().root_device().ioport("SLOTS")->read() >> i*2) & 3;
+ m_slot[i].id = id_type[slot_type];
}
}
@@ -413,8 +414,6 @@ static MACHINE_CONFIG_START( fp1100, fp1100_state )
MCFG_CPU_IO_MAP( fp1100_slave_io )
MCFG_CPU_CONFIG( fp1100_slave_cpu_config )
- MCFG_MACHINE_START(fp1100)
- MCFG_MACHINE_RESET(fp1100)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -422,7 +421,6 @@ static MACHINE_CONFIG_START( fp1100, fp1100_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(fp1100)
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
MCFG_PALETTE_LENGTH(8)
MCFG_GFXDECODE(fp1100)
diff --git a/src/mess/drivers/fp6000.c b/src/mess/drivers/fp6000.c
index 6a754754a44..ca2d6b9bc7c 100644
--- a/src/mess/drivers/fp6000.c
+++ b/src/mess/drivers/fp6000.c
@@ -48,9 +48,12 @@ public:
DECLARE_READ16_MEMBER(unk_r);
DECLARE_READ16_MEMBER(ex_board_r);
DECLARE_READ16_MEMBER(pit_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( fp6000 )
+void fp6000_state::video_start()
{
}
@@ -273,15 +276,14 @@ static GFXDECODE_START( fp6000 )
GFXDECODE_END
-static MACHINE_START(fp6000)
+void fp6000_state::machine_start()
{
- fp6000_state *state = machine.driver_data<fp6000_state>();
- state->m_char_rom = state->memregion("pcg")->base();
- state->m_mc6845 = machine.device<mc6845_device>("crtc");
+ m_char_rom = memregion("pcg")->base();
+ m_mc6845 = machine().device<mc6845_device>("crtc");
}
-static MACHINE_RESET(fp6000)
+void fp6000_state::machine_reset()
{
}
@@ -305,8 +307,6 @@ static MACHINE_CONFIG_START( fp6000, fp6000_state )
MCFG_CPU_PROGRAM_MAP(fp6000_map)
MCFG_CPU_IO_MAP(fp6000_io)
- MCFG_MACHINE_START(fp6000)
- MCFG_MACHINE_RESET(fp6000)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -322,7 +322,6 @@ static MACHINE_CONFIG_START( fp6000, fp6000_state )
// MCFG_PALETTE_INIT(black_and_white)
MCFG_GFXDECODE(fp6000)
- MCFG_VIDEO_START(fp6000)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/galaxy.c b/src/mess/drivers/galaxy.c
index 42789a8d547..b728eb4f30a 100644
--- a/src/mess/drivers/galaxy.c
+++ b/src/mess/drivers/galaxy.c
@@ -191,7 +191,7 @@ static MACHINE_CONFIG_START( galaxy, galaxy_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_MACHINE_RESET( galaxy )
+ MCFG_MACHINE_RESET_OVERRIDE(galaxy_state, galaxy )
/* video hardware */
MCFG_SCREEN_SIZE(384, 212)
@@ -202,7 +202,6 @@ static MACHINE_CONFIG_START( galaxy, galaxy_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT( black_and_white )
- MCFG_VIDEO_START( galaxy )
/* snapshot */
MCFG_SNAPSHOT_ADD("snapshot", galaxy, "gal", 0)
@@ -228,7 +227,7 @@ static MACHINE_CONFIG_START( galaxyp, galaxy_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_MACHINE_RESET( galaxyp )
+ MCFG_MACHINE_RESET_OVERRIDE(galaxy_state, galaxyp )
/* video hardware */
MCFG_SCREEN_SIZE(384, 208)
@@ -238,7 +237,6 @@ static MACHINE_CONFIG_START( galaxyp, galaxy_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT( black_and_white )
- MCFG_VIDEO_START( galaxy )
/* snapshot */
MCFG_SNAPSHOT_ADD("snapshot", galaxy, "gal", 0)
diff --git a/src/mess/drivers/galeb.c b/src/mess/drivers/galeb.c
index ba443d76309..63f1ed137f3 100644
--- a/src/mess/drivers/galeb.c
+++ b/src/mess/drivers/galeb.c
@@ -143,7 +143,6 @@ static MACHINE_CONFIG_START( galeb, galeb_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(galeb)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/gamecom.c b/src/mess/drivers/gamecom.c
index 2f73b94c9be..27b3ab6fb11 100644
--- a/src/mess/drivers/gamecom.c
+++ b/src/mess/drivers/gamecom.c
@@ -74,12 +74,12 @@ static const unsigned char palette[] =
0x00, 0x00, 0x00, /* Black */
};
-static PALETTE_INIT( gamecom )
+void gamecom_state::palette_init()
{
int index;
for ( index = 0; index < 5; index++ )
{
- palette_set_color_rgb(machine, 4-index, palette[index*3+0], palette[index*3+1], palette[index*3+2] );
+ palette_set_color_rgb(machine(), 4-index, palette[index*3+0], palette[index*3+1], palette[index*3+2] );
}
}
@@ -105,10 +105,8 @@ static MACHINE_CONFIG_START( gamecom, gamecom_state )
//MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_MACHINE_RESET( gamecom )
/* video hardware */
- MCFG_VIDEO_START( gamecom )
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE( 59.732155 )
@@ -119,7 +117,6 @@ static MACHINE_CONFIG_START( gamecom, gamecom_state )
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(5)
- MCFG_PALETTE_INIT(gamecom)
/* sound hardware */
#if 0
diff --git a/src/mess/drivers/gb.c b/src/mess/drivers/gb.c
index 6615d04ac0e..3e0685c50c2 100644
--- a/src/mess/drivers/gb.c
+++ b/src/mess/drivers/gb.c
@@ -566,8 +566,8 @@ static MACHINE_CONFIG_START( gb_common, gb_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( gb )
- MCFG_MACHINE_RESET( gb )
+ MCFG_MACHINE_START_OVERRIDE(gb_state, gb )
+ MCFG_MACHINE_RESET_OVERRIDE(gb_state, gb )
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(DMG_FRAMES_PER_SECOND)
@@ -580,7 +580,7 @@ static MACHINE_CONFIG_START( gb_common, gb_state )
MCFG_GFXDECODE(gb)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(gb)
+ MCFG_PALETTE_INIT_OVERRIDE(gb_state,gb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -608,8 +608,8 @@ static MACHINE_CONFIG_DERIVED( supergb, gameboy )
MCFG_CPU_MODIFY("maincpu")
MCFG_LR35902_CONFIG(sgb_cpu_reset)
- MCFG_MACHINE_START( sgb )
- MCFG_MACHINE_RESET( sgb )
+ MCFG_MACHINE_START_OVERRIDE(gb_state, sgb )
+ MCFG_MACHINE_RESET_OVERRIDE(gb_state, sgb )
MCFG_DEFAULT_LAYOUT(layout_horizont) /* runs on a TV, not an LCD */
@@ -617,14 +617,14 @@ static MACHINE_CONFIG_DERIVED( supergb, gameboy )
MCFG_SCREEN_SIZE(32*8, 28*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_PALETTE_LENGTH(32768)
- MCFG_PALETTE_INIT(sgb)
+ MCFG_PALETTE_INIT_OVERRIDE(gb_state,sgb)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gbpocket, gameboy )
MCFG_CPU_MODIFY("maincpu")
MCFG_LR35902_CONFIG(mgb_cpu_reset)
- MCFG_MACHINE_RESET( gbpocket )
- MCFG_PALETTE_INIT(gbp)
+ MCFG_MACHINE_RESET_OVERRIDE(gb_state, gbpocket )
+ MCFG_PALETTE_INIT_OVERRIDE(gb_state,gbp)
MCFG_CARTSLOT_MODIFY("cart")
MCFG_CARTSLOT_MANDATORY
@@ -635,11 +635,11 @@ static MACHINE_CONFIG_DERIVED( gbcolor, gb_common )
MCFG_CPU_PROGRAM_MAP( gbc_map)
MCFG_LR35902_CONFIG(cgb_cpu_reset)
- MCFG_MACHINE_START(gbc)
- MCFG_MACHINE_RESET(gbc)
+ MCFG_MACHINE_START_OVERRIDE(gb_state,gbc)
+ MCFG_MACHINE_RESET_OVERRIDE(gb_state,gbc)
MCFG_PALETTE_LENGTH(32768)
- MCFG_PALETTE_INIT(gbc)
+ MCFG_PALETTE_INIT_OVERRIDE(gb_state,gbc)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -667,8 +667,8 @@ static MACHINE_CONFIG_START( megaduck, gb_state )
MCFG_SCREEN_VBLANK_TIME(0)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( megaduck )
- MCFG_MACHINE_RESET( megaduck )
+ MCFG_MACHINE_START_OVERRIDE(gb_state, megaduck )
+ MCFG_MACHINE_RESET_OVERRIDE(gb_state, megaduck )
MCFG_SCREEN_UPDATE_DRIVER(gb_state, screen_update)
MCFG_SCREEN_SIZE(20*8, 18*8)
@@ -677,7 +677,7 @@ static MACHINE_CONFIG_START( megaduck, gb_state )
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_GFXDECODE(gb)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(megaduck)
+ MCFG_PALETTE_INIT_OVERRIDE(gb_state,megaduck)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("custom", GAMEBOY, 0)
diff --git a/src/mess/drivers/gba.c b/src/mess/drivers/gba.c
index 025e2538605..f75fe4c5e97 100644
--- a/src/mess/drivers/gba.c
+++ b/src/mess/drivers/gba.c
@@ -67,7 +67,7 @@ static void gba_machine_stop(running_machine &machine)
}
}
-static PALETTE_INIT( gba )
+void gba_state::palette_init()
{
UINT8 r, g, b;
for( b = 0; b < 32; b++ )
@@ -76,7 +76,7 @@ static PALETTE_INIT( gba )
{
for( r = 0; r < 32; r++ )
{
- palette_set_color_rgb( machine, ( b << 10 ) | ( g << 5 ) | r, pal5bit(r), pal5bit(g), pal5bit(b) );
+ palette_set_color_rgb( machine(), ( b << 10 ) | ( g << 5 ) | r, pal5bit(r), pal5bit(g), pal5bit(b) );
}
}
}
@@ -2113,45 +2113,44 @@ static TIMER_CALLBACK( perform_scan )
state->m_scan_timer->adjust(machine.primary_screen->time_until_pos(( scanline + 1 ) % 228, 0));
}
-static MACHINE_RESET( gba )
+void gba_state::machine_reset()
{
- dac_device *gb_a_l = machine.device<dac_device>("direct_a_left");
- dac_device *gb_a_r = machine.device<dac_device>("direct_a_right");
- dac_device *gb_b_l = machine.device<dac_device>("direct_b_left");
- dac_device *gb_b_r = machine.device<dac_device>("direct_b_right");
- gba_state *state = machine.driver_data<gba_state>();
-
- //memset(state, 0, sizeof(state));
- state->m_SOUNDBIAS = 0x0200;
- state->m_eeprom_state = EEP_IDLE;
- state->m_SIOMULTI0 = 0xffff;
- state->m_SIOMULTI1 = 0xffff;
- state->m_SIOMULTI2 = 0xffff;
- state->m_SIOMULTI3 = 0xffff;
- state->m_KEYCNT = 0x03ff;
- state->m_RCNT = 0x8000;
- state->m_JOYSTAT = 0x0002;
- state->m_gfxBG2Changed = 0;
- state->m_gfxBG3Changed = 0;
- state->m_gfxBG2X = 0;
- state->m_gfxBG2Y = 0;
- state->m_gfxBG3X = 0;
- state->m_gfxBG3Y = 0;
-
- state->m_windowOn = 0;
- state->m_fxOn = 0;
-
- state->m_bios_protected = 0;
-
- state->m_scan_timer->adjust(machine.primary_screen->time_until_pos(0, 0));
- state->m_hbl_timer->adjust(attotime::never);
- state->m_dma_timer[0]->adjust(attotime::never);
- state->m_dma_timer[1]->adjust(attotime::never, 1);
- state->m_dma_timer[2]->adjust(attotime::never, 2);
- state->m_dma_timer[3]->adjust(attotime::never, 3);
-
- state->m_fifo_a_ptr = state->m_fifo_b_ptr = 17; // indicate empty
- state->m_fifo_a_in = state->m_fifo_b_in = 17;
+ dac_device *gb_a_l = machine().device<dac_device>("direct_a_left");
+ dac_device *gb_a_r = machine().device<dac_device>("direct_a_right");
+ dac_device *gb_b_l = machine().device<dac_device>("direct_b_left");
+ dac_device *gb_b_r = machine().device<dac_device>("direct_b_right");
+
+ //memset(this, 0, sizeof(this));
+ m_SOUNDBIAS = 0x0200;
+ m_eeprom_state = EEP_IDLE;
+ m_SIOMULTI0 = 0xffff;
+ m_SIOMULTI1 = 0xffff;
+ m_SIOMULTI2 = 0xffff;
+ m_SIOMULTI3 = 0xffff;
+ m_KEYCNT = 0x03ff;
+ m_RCNT = 0x8000;
+ m_JOYSTAT = 0x0002;
+ m_gfxBG2Changed = 0;
+ m_gfxBG3Changed = 0;
+ m_gfxBG2X = 0;
+ m_gfxBG2Y = 0;
+ m_gfxBG3X = 0;
+ m_gfxBG3Y = 0;
+
+ m_windowOn = 0;
+ m_fxOn = 0;
+
+ m_bios_protected = 0;
+
+ m_scan_timer->adjust(machine().primary_screen->time_until_pos(0, 0));
+ m_hbl_timer->adjust(attotime::never);
+ m_dma_timer[0]->adjust(attotime::never);
+ m_dma_timer[1]->adjust(attotime::never, 1);
+ m_dma_timer[2]->adjust(attotime::never, 2);
+ m_dma_timer[3]->adjust(attotime::never, 3);
+
+ m_fifo_a_ptr = m_fifo_b_ptr = 17; // indicate empty
+ m_fifo_a_in = m_fifo_b_in = 17;
// and clear the DACs
gb_a_l->write_signed8(0x80);
@@ -2159,55 +2158,54 @@ static MACHINE_RESET( gba )
gb_b_l->write_signed8(0x80);
gb_b_r->write_signed8(0x80);
- if (state->m_flash_battery_load != 0)
+ if (m_flash_battery_load != 0)
{
- device_image_interface *image = dynamic_cast<device_image_interface *>(state->m_nvimage);
- UINT8 *nvram = auto_alloc_array( machine, UINT8, state->m_flash_size);
- image->battery_load( nvram, state->m_flash_size, 0xff);
- for (int i = 0; i < state->m_flash_size; i++)
+ device_image_interface *image = dynamic_cast<device_image_interface *>(m_nvimage);
+ UINT8 *nvram = auto_alloc_array( machine(), UINT8, m_flash_size);
+ image->battery_load( nvram, m_flash_size, 0xff);
+ for (int i = 0; i < m_flash_size; i++)
{
- state->m_mFlashDev->write_raw( i, nvram[i]);
+ m_mFlashDev->write_raw( i, nvram[i]);
}
- auto_free( machine, nvram);
- state->m_flash_battery_load = 0;
+ auto_free( machine(), nvram);
+ m_flash_battery_load = 0;
}
}
-static MACHINE_START( gba )
+void gba_state::machine_start()
{
- gba_state *state = machine.driver_data<gba_state>();
/* add a hook for battery save */
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(gba_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(gba_machine_stop),&machine()));
/* create a timer to fire scanline functions */
- state->m_scan_timer = machine.scheduler().timer_alloc(FUNC(perform_scan));
- state->m_hbl_timer = machine.scheduler().timer_alloc(FUNC(perform_hbl));
- state->m_scan_timer->adjust(machine.primary_screen->time_until_pos(0, 0));
+ m_scan_timer = machine().scheduler().timer_alloc(FUNC(perform_scan));
+ m_hbl_timer = machine().scheduler().timer_alloc(FUNC(perform_hbl));
+ m_scan_timer->adjust(machine().primary_screen->time_until_pos(0, 0));
/* and one for each DMA channel */
- state->m_dma_timer[0] = machine.scheduler().timer_alloc(FUNC(dma_complete));
- state->m_dma_timer[1] = machine.scheduler().timer_alloc(FUNC(dma_complete));
- state->m_dma_timer[2] = machine.scheduler().timer_alloc(FUNC(dma_complete));
- state->m_dma_timer[3] = machine.scheduler().timer_alloc(FUNC(dma_complete));
- state->m_dma_timer[0]->adjust(attotime::never);
- state->m_dma_timer[1]->adjust(attotime::never, 1);
- state->m_dma_timer[2]->adjust(attotime::never, 2);
- state->m_dma_timer[3]->adjust(attotime::never, 3);
+ m_dma_timer[0] = machine().scheduler().timer_alloc(FUNC(dma_complete));
+ m_dma_timer[1] = machine().scheduler().timer_alloc(FUNC(dma_complete));
+ m_dma_timer[2] = machine().scheduler().timer_alloc(FUNC(dma_complete));
+ m_dma_timer[3] = machine().scheduler().timer_alloc(FUNC(dma_complete));
+ m_dma_timer[0]->adjust(attotime::never);
+ m_dma_timer[1]->adjust(attotime::never, 1);
+ m_dma_timer[2]->adjust(attotime::never, 2);
+ m_dma_timer[3]->adjust(attotime::never, 3);
/* also one for each timer (heh) */
- state->m_tmr_timer[0] = machine.scheduler().timer_alloc(FUNC(timer_expire));
- state->m_tmr_timer[1] = machine.scheduler().timer_alloc(FUNC(timer_expire));
- state->m_tmr_timer[2] = machine.scheduler().timer_alloc(FUNC(timer_expire));
- state->m_tmr_timer[3] = machine.scheduler().timer_alloc(FUNC(timer_expire));
- state->m_tmr_timer[0]->adjust(attotime::never);
- state->m_tmr_timer[1]->adjust(attotime::never, 1);
- state->m_tmr_timer[2]->adjust(attotime::never, 2);
- state->m_tmr_timer[3]->adjust(attotime::never, 3);
+ m_tmr_timer[0] = machine().scheduler().timer_alloc(FUNC(timer_expire));
+ m_tmr_timer[1] = machine().scheduler().timer_alloc(FUNC(timer_expire));
+ m_tmr_timer[2] = machine().scheduler().timer_alloc(FUNC(timer_expire));
+ m_tmr_timer[3] = machine().scheduler().timer_alloc(FUNC(timer_expire));
+ m_tmr_timer[0]->adjust(attotime::never);
+ m_tmr_timer[1]->adjust(attotime::never, 1);
+ m_tmr_timer[2]->adjust(attotime::never, 2);
+ m_tmr_timer[3]->adjust(attotime::never, 3);
/* and an IRQ handling timer */
- state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(handle_irq));
- state->m_irq_timer->adjust(attotime::never);
+ m_irq_timer = machine().scheduler().timer_alloc(FUNC(handle_irq));
+ m_irq_timer->adjust(attotime::never);
}
ROM_START( gba )
@@ -3158,8 +3156,6 @@ static MACHINE_CONFIG_START( gbadv, gba_state )
MCFG_CPU_ADD("maincpu", ARM7, 16777216)
MCFG_CPU_PROGRAM_MAP(gbadvance_map)
- MCFG_MACHINE_START(gba)
- MCFG_MACHINE_RESET(gba)
MCFG_SCREEN_ADD("gbalcd", RASTER) // htot hst vwid vtot vst vis
MCFG_SCREEN_RAW_PARAMS(16777216/4, 308, 0, 240, 228, 0, 160)
@@ -3167,7 +3163,6 @@ static MACHINE_CONFIG_START( gbadv, gba_state )
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(32768)
- MCFG_PALETTE_INIT( gba )
MCFG_SPEAKER_STANDARD_STEREO("spkleft", "spkright")
MCFG_SOUND_ADD("custom", GAMEBOY, 0)
diff --git a/src/mess/drivers/geneve.c b/src/mess/drivers/geneve.c
index cc70070ae59..b9dc2d9a315 100644
--- a/src/mess/drivers/geneve.c
+++ b/src/mess/drivers/geneve.c
@@ -258,7 +258,9 @@ public:
WRITE_LINE_MEMBER( mapper_ready );
DECLARE_DRIVER_INIT(geneve);
-
+ virtual void machine_start();
+ virtual void machine_reset();
+
void set_tms9901_INT2_from_v9938(v99x8_device &vdp, int state);
line_state m_inta;
@@ -716,38 +718,36 @@ DRIVER_INIT_MEMBER(geneve,geneve)
{
}
-static MACHINE_START( geneve )
+void geneve::machine_start()
{
- geneve *driver = machine.driver_data<geneve>();
- driver->m_tms9901 = static_cast<tms9901_device*>(machine.device(TMS9901_TAG));
- driver->m_mapper = static_cast<geneve_mapper_device*>(machine.device(GMAPPER_TAG));
- driver->m_keyboard = static_cast<geneve_keyboard_device*>(machine.device(GKEYBOARD_TAG));
- driver->m_peribox = static_cast<peribox_device*>(machine.device(PERIBOX_TAG));
- driver->m_mouse = static_cast<geneve_mouse_device*>(machine.device(GMOUSE_TAG));
- driver->m_cpu = static_cast<tms9995_device*>(machine.device("maincpu"));
- driver->m_joyport = static_cast<joyport_device*>(machine.device(JOYPORT_TAG));
+ m_tms9901 = static_cast<tms9901_device*>(machine().device(TMS9901_TAG));
+ m_mapper = static_cast<geneve_mapper_device*>(machine().device(GMAPPER_TAG));
+ m_keyboard = static_cast<geneve_keyboard_device*>(machine().device(GKEYBOARD_TAG));
+ m_peribox = static_cast<peribox_device*>(machine().device(PERIBOX_TAG));
+ m_mouse = static_cast<geneve_mouse_device*>(machine().device(GMOUSE_TAG));
+ m_cpu = static_cast<tms9995_device*>(machine().device("maincpu"));
+ m_joyport = static_cast<joyport_device*>(machine().device(JOYPORT_TAG));
}
/*
Reset the machine.
*/
-static MACHINE_RESET( geneve )
+void geneve::machine_reset()
{
- geneve *driver = machine.driver_data<geneve>();
- driver->m_inta = CLEAR_LINE; // flag reflecting the INTA line
- driver->m_intb = CLEAR_LINE; // flag reflecting the INTB line
- driver->m_int2 = CLEAR_LINE; // flag reflecting the INT2 line
- driver->m_keyint = CLEAR_LINE;
+ m_inta = CLEAR_LINE; // flag reflecting the INTA line
+ m_intb = CLEAR_LINE; // flag reflecting the INTB line
+ m_int2 = CLEAR_LINE; // flag reflecting the INT2 line
+ m_keyint = CLEAR_LINE;
// No automatic wait state (auto wait state is enabled with READY=CLEAR at RESET)
- driver->m_cpu->set_ready(ASSERT_LINE);
- driver->m_cpu->set_hold(CLEAR_LINE);
+ m_cpu->set_ready(ASSERT_LINE);
+ m_cpu->set_hold(CLEAR_LINE);
- driver->m_ready_line = driver->m_ready_line1 = ASSERT_LINE;
+ m_ready_line = m_ready_line1 = ASSERT_LINE;
- driver->m_peribox->set_genmod(machine.root_device().ioport("MODE")->read()==GENMOD);
+ m_peribox->set_genmod(machine().root_device().ioport("MODE")->read()==GENMOD);
- driver->m_joyport->write_port(0x01); // select Joystick 1
+ m_joyport->write_port(0x01); // select Joystick 1
}
static MACHINE_CONFIG_START( geneve_60hz, geneve )
@@ -755,8 +755,6 @@ static MACHINE_CONFIG_START( geneve_60hz, geneve )
// TMS9995 CPU @ 12.0 MHz
MCFG_TMS9995_ADD("maincpu", TMS9995, 12000000, memmap, crumap, geneve_processor_config)
- MCFG_MACHINE_START( geneve )
- MCFG_MACHINE_RESET( geneve )
// video hardware
// Although we should have a 60 Hz screen rate, we have to set it to 30 here.
diff --git a/src/mess/drivers/gizmondo.c b/src/mess/drivers/gizmondo.c
index f4a1842addb..3171420f023 100644
--- a/src/mess/drivers/gizmondo.c
+++ b/src/mess/drivers/gizmondo.c
@@ -61,6 +61,8 @@ public:
UINT32 m_port[9];
device_t *m_s3c2440;
DECLARE_DRIVER_INIT(gizmondo);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/*******************************************************************************
@@ -134,18 +136,17 @@ static QUICKLOAD_LOAD( gizmondo )
MACHINE HARDWARE
*******************************************************************************/
-static MACHINE_START( gizmondo )
+void gizmondo_state::machine_start()
{
- gizmondo_state *gizmondo = machine.driver_data<gizmondo_state>();
- gizmondo->m_s3c2440 = machine.device( "s3c2440");
- gizmondo->m_port[S3C2440_GPIO_PORT_B] = 0x055E;
- gizmondo->m_port[S3C2440_GPIO_PORT_C] = 0x5F20;
- gizmondo->m_port[S3C2440_GPIO_PORT_D] = 0x4F60;
+ m_s3c2440 = machine().device( "s3c2440");
+ m_port[S3C2440_GPIO_PORT_B] = 0x055E;
+ m_port[S3C2440_GPIO_PORT_C] = 0x5F20;
+ m_port[S3C2440_GPIO_PORT_D] = 0x4F60;
}
-static MACHINE_RESET( gizmondo )
+void gizmondo_state::machine_reset()
{
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
/*******************************************************************************
@@ -205,8 +206,6 @@ static MACHINE_CONFIG_START( gizmondo, gizmondo_state )
MCFG_VIDEO_START(gf4500)
- MCFG_MACHINE_START(gizmondo)
- MCFG_MACHINE_RESET(gizmondo)
MCFG_S3C2440_ADD("s3c2440", 12000000, gizmondo_s3c2440_intf)
diff --git a/src/mess/drivers/glasgow.c b/src/mess/drivers/glasgow.c
index cdcf91c46b8..93216122d1c 100644
--- a/src/mess/drivers/glasgow.c
+++ b/src/mess/drivers/glasgow.c
@@ -82,6 +82,9 @@ public:
UINT16 m_beeper;
DECLARE_READ16_MEMBER(read_test);
DECLARE_READ16_MEMBER(read_board_amsterd);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(dallas32);
};
@@ -280,34 +283,31 @@ static TIMER_DEVICE_CALLBACK( update_nmi32 )
timer.machine().device("maincpu")->execute().set_input_line(6, HOLD_LINE);
}
-static MACHINE_START( glasgow )
+void glasgow_state::machine_start()
{
- glasgow_state *state = machine.driver_data<glasgow_state>();
mboard_key_selector = 0;
- state->m_irq_flag = 0;
- state->m_lcd_shift_counter = 3;
- beep_set_frequency(state->m_beep, 44);
+ m_irq_flag = 0;
+ m_lcd_shift_counter = 3;
+ beep_set_frequency(m_beep, 44);
- mboard_savestate_register(machine);
+ mboard_savestate_register(machine());
}
-static MACHINE_START( dallas32 )
+MACHINE_START_MEMBER(glasgow_state,dallas32)
{
- glasgow_state *state = machine.driver_data<glasgow_state>();
- state->m_lcd_shift_counter = 3;
- beep_set_frequency(state->m_beep, 44);
+ m_lcd_shift_counter = 3;
+ beep_set_frequency(m_beep, 44);
- mboard_savestate_register(machine);
+ mboard_savestate_register(machine());
}
-static MACHINE_RESET( glasgow )
+void glasgow_state::machine_reset()
{
- glasgow_state *state = machine.driver_data<glasgow_state>();
- state->m_lcd_shift_counter = 3;
+ m_lcd_shift_counter = 3;
mboard_set_border_pieces();
mboard_set_board();
@@ -510,8 +510,6 @@ static MACHINE_CONFIG_START( glasgow, glasgow_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 12000000)
MCFG_CPU_PROGRAM_MAP(glasgow_mem)
- MCFG_MACHINE_START(glasgow)
- MCFG_MACHINE_RESET(glasgow)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD(BEEPER_TAG, BEEP, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
@@ -530,7 +528,7 @@ static MACHINE_CONFIG_DERIVED( dallas32, glasgow )
/* basic machine hardware */
MCFG_CPU_REPLACE("maincpu", M68020, 14000000)
MCFG_CPU_PROGRAM_MAP(dallas32_mem)
- MCFG_MACHINE_START( dallas32 )
+ MCFG_MACHINE_START_OVERRIDE(glasgow_state, dallas32 )
MCFG_DEVICE_REMOVE("nmi_timer")
MCFG_TIMER_ADD_PERIODIC("nmi_timer", update_nmi32, attotime::from_hz(50))
diff --git a/src/mess/drivers/gmaster.c b/src/mess/drivers/gmaster.c
index 067cded1759..0f482927ee9 100644
--- a/src/mess/drivers/gmaster.c
+++ b/src/mess/drivers/gmaster.c
@@ -162,13 +162,13 @@ static const unsigned char gmaster_palette[2][3] =
#endif
};
-static PALETTE_INIT( gmaster )
+void gmaster_state::palette_init()
{
int i;
for (i = 0; i < 2; i++)
{
- palette_set_color_rgb(machine, i, gmaster_palette[i][0], gmaster_palette[i][1], gmaster_palette[i][2]);
+ palette_set_color_rgb(machine(), i, gmaster_palette[i][0], gmaster_palette[i][1], gmaster_palette[i][2]);
}
}
@@ -231,7 +231,6 @@ static MACHINE_CONFIG_START( gmaster, gmaster_state )
MCFG_SCREEN_UPDATE_STATIC(gmaster)
MCFG_PALETTE_LENGTH(sizeof(gmaster_palette)/sizeof(gmaster_palette[0]))
- MCFG_PALETTE_INIT(gmaster)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/gp32.c b/src/mess/drivers/gp32.c
index 692b7ee8925..cf308f86a21 100644
--- a/src/mess/drivers/gp32.c
+++ b/src/mess/drivers/gp32.c
@@ -1725,14 +1725,14 @@ static INPUT_PORTS_START( gp32 )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_START ) PORT_NAME("START") PORT_PLAYER(1)
INPUT_PORTS_END
-static MACHINE_START( gp32 )
+void gp32_state::machine_start()
{
- s3c240x_machine_start(machine);
+ s3c240x_machine_start(machine());
}
-static MACHINE_RESET( gp32 )
+void gp32_state::machine_reset()
{
- s3c240x_machine_reset(machine);
+ s3c240x_machine_reset(machine());
}
static MACHINE_CONFIG_START( gp32, gp32_state )
@@ -1751,8 +1751,6 @@ static MACHINE_CONFIG_START( gp32, gp32_state )
/* 320x240 is 4:3 but ROT270 causes an aspect ratio of 3:4 by default */
MCFG_DEFAULT_LAYOUT(layout_lcd_rot)
- MCFG_MACHINE_START(gp32)
- MCFG_MACHINE_RESET(gp32)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("dac1", DAC, 0)
diff --git a/src/mess/drivers/h89.c b/src/mess/drivers/h89.c
index 6a148e87cca..ab30f27cdb3 100644
--- a/src/mess/drivers/h89.c
+++ b/src/mess/drivers/h89.c
@@ -40,6 +40,7 @@ public:
DECLARE_WRITE8_MEMBER( port_f2_w );
UINT8 m_port_f2;
+ virtual void machine_reset();
};
@@ -92,7 +93,7 @@ static INPUT_PORTS_START( h89 )
INPUT_PORTS_END
-static MACHINE_RESET(h89)
+void h89_state::machine_reset()
{
}
@@ -130,7 +131,6 @@ static MACHINE_CONFIG_START( h89, h89_state )
MCFG_CPU_PROGRAM_MAP(h89_mem)
MCFG_CPU_IO_MAP(h89_io)
- MCFG_MACHINE_RESET(h89)
#if 0
/* video hardware */
diff --git a/src/mess/drivers/hec2hrp.c b/src/mess/drivers/hec2hrp.c
index 17c75794e7e..d9b4ae80880 100644
--- a/src/mess/drivers/hec2hrp.c
+++ b/src/mess/drivers/hec2hrp.c
@@ -292,102 +292,98 @@ static INPUT_PORTS_START( hec2hrp )
INPUT_PORTS_END
/*****************************************************************************/
-static MACHINE_START( hec2hrp )
+MACHINE_START_MEMBER(hec2hrp_state,hec2hrp)
/*****************************************************************************/
{
- hector_init(machine);
+ hector_init(machine());
}
-static MACHINE_RESET(hec2hrp)
+MACHINE_RESET_MEMBER(hec2hrp_state,hec2hrp)
{
// Machines init
- hector_reset(machine, 1, 0);
+ hector_reset(machine(), 1, 0);
}
/*****************************************************************************/
-static MACHINE_START( hec2hrx )
+MACHINE_START_MEMBER(hec2hrp_state,hec2hrx)
/*****************************************************************************/
{
- hec2hrp_state *state = machine.driver_data<hec2hrp_state>();
- UINT8 *RAM = machine.root_device().memregion("maincpu" )->base(); // pointer to mess ram
+ UINT8 *RAM = machine().root_device().memregion("maincpu" )->base(); // pointer to mess ram
//Patch rom possible !
//RAMD2[0xff6b] = 0x0ff; // force verbose mode hector !
// Memory install for bank switching
- state->membank("bank1")->configure_entry(HECTOR_BANK_PROG , &RAM[0xc000] ); // Mess ram
- state->membank("bank1")->configure_entry(HECTOR_BANK_VIDEO, state->m_hector_videoram_hrx); // Video ram
+ membank("bank1")->configure_entry(HECTOR_BANK_PROG , &RAM[0xc000] ); // Mess ram
+ membank("bank1")->configure_entry(HECTOR_BANK_VIDEO, m_hector_videoram_hrx); // Video ram
// Set bank HECTOR_BANK_PROG as basic bank
- state->membank("bank1")->set_entry(HECTOR_BANK_PROG);
+ membank("bank1")->set_entry(HECTOR_BANK_PROG);
/******************************************************SPECIFIQUE MX ***************************/
- state->membank("bank2")->configure_entry(HECTORMX_BANK_PAGE0 , &RAM[0x0000] ); // Mess ram
- state->membank("bank2")->configure_entry(HECTORMX_BANK_PAGE1 , machine.root_device().memregion("page1")->base() ); // Rom page 1
- state->membank("bank2")->configure_entry(HECTORMX_BANK_PAGE2 , machine.root_device().memregion("page2")->base() ); // Rom page 2
- state->membank("bank2")->set_entry(HECTORMX_BANK_PAGE0);
+ membank("bank2")->configure_entry(HECTORMX_BANK_PAGE0 , &RAM[0x0000] ); // Mess ram
+ membank("bank2")->configure_entry(HECTORMX_BANK_PAGE1 , machine().root_device().memregion("page1")->base() ); // Rom page 1
+ membank("bank2")->configure_entry(HECTORMX_BANK_PAGE2 , machine().root_device().memregion("page2")->base() ); // Rom page 2
+ membank("bank2")->set_entry(HECTORMX_BANK_PAGE0);
/******************************************************SPECIFIQUE MX ***************************/
/*************************************************SPECIFIQUE DISK II ***************************/
- state->membank("bank3")->configure_entry(DISCII_BANK_ROM , machine.root_device().memregion("rom_disc2")->base() ); // ROM
- state->membank("bank3")->configure_entry(DISCII_BANK_RAM , state->memregion("disc2mem" )->base() ); // RAM
- state->membank("bank3")->set_entry(DISCII_BANK_ROM);
+ membank("bank3")->configure_entry(DISCII_BANK_ROM , machine().root_device().memregion("rom_disc2")->base() ); // ROM
+ membank("bank3")->configure_entry(DISCII_BANK_RAM , memregion("disc2mem" )->base() ); // RAM
+ membank("bank3")->set_entry(DISCII_BANK_ROM);
/*************************************************SPECIFIQUE DISK II ***************************/
// As video HR ram is in bank, use extern memory
- state->m_hector_videoram.set_target(state->m_hector_videoram_hrx,state->m_hector_videoram.bytes());
+ m_hector_videoram.set_target(m_hector_videoram_hrx,m_hector_videoram.bytes());
- hector_init(machine);
- hector_disc2_init(machine); // Init of the Disc II !
+ hector_init(machine());
+ hector_disc2_init(machine()); // Init of the Disc II !
}
/*****************************************************************************/
-static MACHINE_START( hec2mdhrx )
+MACHINE_START_MEMBER(hec2hrp_state,hec2mdhrx)
/*****************************************************************************/
//minidisc
{
- hec2hrp_state *state = machine.driver_data<hec2hrp_state>();
- UINT8 *RAM = machine.root_device().memregion("maincpu" )->base(); // pointer to mess ram
+ UINT8 *RAM = machine().root_device().memregion("maincpu" )->base(); // pointer to mess ram
// Memory install for bank switching
- state->membank("bank1")->configure_entry(HECTOR_BANK_PROG , &RAM[0xc000] ); // Mess ram
- state->membank("bank1")->configure_entry(HECTOR_BANK_VIDEO, state->m_hector_videoram_hrx); // Video ram
+ membank("bank1")->configure_entry(HECTOR_BANK_PROG , &RAM[0xc000] ); // Mess ram
+ membank("bank1")->configure_entry(HECTOR_BANK_VIDEO, m_hector_videoram_hrx); // Video ram
// Set bank HECTOR_BANK_PROG as basic bank
- state->membank("bank1")->set_entry(HECTOR_BANK_PROG);
+ membank("bank1")->set_entry(HECTOR_BANK_PROG);
//Here the bank 5 is not used for the language switch but for the floppy ROM.....
/******************************************************SPECIFIQUE Mini disque ***************************/
- state->membank("bank2")->configure_entry(HECTOR_BANK_BASE , &RAM[0x0000] ); // Rom base page
- state->membank("bank2")->configure_entry(HECTOR_BANK_DISC , state->memregion("page2")->base() ); // Rom page mini disc
- state->membank("bank2")->set_entry(HECTOR_BANK_BASE);
+ membank("bank2")->configure_entry(HECTOR_BANK_BASE , &RAM[0x0000] ); // Rom base page
+ membank("bank2")->configure_entry(HECTOR_BANK_DISC , memregion("page2")->base() ); // Rom page mini disc
+ membank("bank2")->set_entry(HECTOR_BANK_BASE);
/******************************************************SPECIFIQUE Mini disque ***************************/
// As video HR ram is in bank, use extern memory
- state->m_hector_videoram.set_target(state->m_hector_videoram_hrx,state->m_hector_videoram.bytes());
+ m_hector_videoram.set_target(m_hector_videoram_hrx,m_hector_videoram.bytes());
- hector_init(machine);
- hector_minidisc_init(machine);
+ hector_init(machine());
+ hector_minidisc_init(machine());
}
-static MACHINE_RESET(hec2hrx)
+MACHINE_RESET_MEMBER(hec2hrp_state,hec2hrx)
{
- hec2hrp_state *state = machine.driver_data<hec2hrp_state>();
//Hector Memory
- state->membank("bank1")->set_entry(HECTOR_BANK_PROG);
- state->membank("bank2")->set_entry(HECTORMX_BANK_PAGE0);
+ membank("bank1")->set_entry(HECTOR_BANK_PROG);
+ membank("bank2")->set_entry(HECTORMX_BANK_PAGE0);
//DISK II Memory
- state->membank("bank3")->set_entry(DISCII_BANK_ROM);
+ membank("bank3")->set_entry(DISCII_BANK_ROM);
// Machines init
- hector_reset(machine, 1, 1);
- hector_disc2_reset(machine);
+ hector_reset(machine(), 1, 1);
+ hector_disc2_reset(machine());
}
//minidisc
-static MACHINE_RESET(hec2mdhrx)
+MACHINE_RESET_MEMBER(hec2hrp_state,hec2mdhrx)
{
- hec2hrp_state *state = machine.driver_data<hec2hrp_state>();
//Hector Memory
- state->membank("bank1")->set_entry(HECTOR_BANK_PROG);
- state->membank("bank2")->set_entry(HECTORMX_BANK_PAGE0);
+ membank("bank1")->set_entry(HECTOR_BANK_PROG);
+ membank("bank2")->set_entry(HECTORMX_BANK_PAGE0);
// Machines init
- hector_reset(machine, 1, 0);
+ hector_reset(machine(), 1, 0);
}
/* Cassette definition */
@@ -445,8 +441,8 @@ static MACHINE_CONFIG_START( hec2hr, hec2hrp_state )
MCFG_CPU_PROGRAM_MAP(hec2hrp_mem)
MCFG_CPU_IO_MAP(hec2hrp_io)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) /* put on the Z80 irq in Hz*/
- MCFG_MACHINE_RESET(hec2hrp)
- MCFG_MACHINE_START(hec2hrp)
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrp)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -457,7 +453,7 @@ static MACHINE_CONFIG_START( hec2hr, hec2hrp_state )
MCFG_SCREEN_UPDATE_STATIC(hec2hrp)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(hec2hrp)
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -488,8 +484,8 @@ static MACHINE_CONFIG_START( hec2hrp, hec2hrp_state )
MCFG_CPU_PROGRAM_MAP(hec2hrp_mem)
MCFG_CPU_IO_MAP(hec2hrp_io)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) /* put on the Z80 irq in Hz*/
- MCFG_MACHINE_RESET(hec2hrp)
- MCFG_MACHINE_START(hec2hrp)
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrp)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -500,7 +496,7 @@ static MACHINE_CONFIG_START( hec2hrp, hec2hrp_state )
MCFG_SCREEN_UPDATE_STATIC(hec2hrp)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(hec2hrp)
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -538,8 +534,8 @@ static MACHINE_CONFIG_START( hec2mx40, hec2hrp_state )
MCFG_CPU_IO_MAP(hecdisc2_io)
MCFG_UPD765A_ADD("upd765", hector_disc2_upd765_interface)
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(hector_disc2_floppy_interface)
- MCFG_MACHINE_RESET(hec2hrx)
- MCFG_MACHINE_START(hec2hrx)
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -550,7 +546,7 @@ static MACHINE_CONFIG_START( hec2mx40, hec2hrp_state )
MCFG_SCREEN_UPDATE_STATIC(hec2hrp)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(hec2hrp)
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -580,8 +576,8 @@ static MACHINE_CONFIG_START( hec2hrx, hec2hrp_state )
MCFG_CPU_PROGRAM_MAP(hec2hrx_mem)
MCFG_CPU_IO_MAP(hec2hrx_io)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) // put on the Z80 irq in Hz
- MCFG_MACHINE_RESET(hec2hrx)
- MCFG_MACHINE_START(hec2hrx)
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
/* Disc II unit */
MCFG_CPU_ADD("disc2cpu",Z80, XTAL_4MHz)
@@ -599,7 +595,7 @@ static MACHINE_CONFIG_START( hec2hrx, hec2hrp_state )
MCFG_SCREEN_UPDATE_STATIC(hec2hrp)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(hec2hrp)
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -630,8 +626,8 @@ static MACHINE_CONFIG_START( hec2mdhrx, hec2hrp_state )
MCFG_CPU_PROGRAM_MAP(hec2hrx_mem)
MCFG_CPU_IO_MAP(hec2mdhrx_io)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) // put on the Z80 irq in Hz
- MCFG_MACHINE_RESET(hec2mdhrx)
- MCFG_MACHINE_START(hec2mdhrx)
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2mdhrx)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2mdhrx)
/* Mini Disc */
MCFG_FD1793_ADD("wd179x", hector_wd17xx_interface )
@@ -647,7 +643,7 @@ static MACHINE_CONFIG_START( hec2mdhrx, hec2hrp_state )
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(hec2hrp)
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -678,8 +674,8 @@ static MACHINE_CONFIG_START( hec2mx80, hec2hrp_state )
MCFG_CPU_PROGRAM_MAP(hec2hrx_mem)
MCFG_CPU_IO_MAP(hec2mx80_io)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) // put on the Z80 irq in Hz
- MCFG_MACHINE_RESET(hec2hrx)
- MCFG_MACHINE_START(hec2hrx)
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
/* Disc II unit */
MCFG_CPU_ADD("disc2cpu",Z80, XTAL_4MHz)
@@ -697,7 +693,7 @@ static MACHINE_CONFIG_START( hec2mx80, hec2hrp_state )
MCFG_SCREEN_UPDATE_STATIC(hec2hrp)
MCFG_PALETTE_LENGTH(16)
- MCFG_VIDEO_START(hec2hrp)
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/homelab.c b/src/mess/drivers/homelab.c
index 2eba18c7a59..71b3605f226 100644
--- a/src/mess/drivers/homelab.c
+++ b/src/mess/drivers/homelab.c
@@ -66,6 +66,11 @@ public:
required_device<device_t> m_speaker;
required_device<cassette_image_device> m_cass;
DECLARE_DRIVER_INIT(brailab4);
+ DECLARE_VIDEO_START(homelab2);
+ DECLARE_MACHINE_RESET(homelab3);
+ DECLARE_VIDEO_START(homelab3);
+ DECLARE_MACHINE_RESET(brailab4);
+ DECLARE_VIDEO_START(brailab4);
};
static INTERRUPT_GEN( homelab_frame )
@@ -115,15 +120,14 @@ WRITE8_MEMBER( homelab_state::cass_w )
m_cass->output(BIT(data, 0) ? -1.0 : +1.0); // FIXME
}
-MACHINE_RESET( homelab3 )
+MACHINE_RESET_MEMBER(homelab_state,homelab3)
{
}
-MACHINE_RESET( brailab4 )
+MACHINE_RESET_MEMBER(homelab_state,brailab4)
{
- homelab_state *state = machine.driver_data<homelab_state>();
- state->membank("bank1")->set_entry(0);
+ membank("bank1")->set_entry(0);
}
WRITE8_MEMBER( homelab_state::port7f_w )
@@ -536,25 +540,22 @@ static INPUT_PORTS_START( brailab4 ) // F4 to F8 are foreign characters
PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
-static VIDEO_START( homelab2 )
+VIDEO_START_MEMBER(homelab_state,homelab2)
{
- homelab_state *state = machine.driver_data<homelab_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
- state->m_p_videoram = state->memregion("maincpu")->base()+0xc000;
+ m_p_chargen = memregion("chargen")->base();
+ m_p_videoram = memregion("maincpu")->base()+0xc000;
}
-static VIDEO_START( homelab3 )
+VIDEO_START_MEMBER(homelab_state,homelab3)
{
- homelab_state *state = machine.driver_data<homelab_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
- state->m_p_videoram = state->memregion("maincpu")->base()+0xf800;
+ m_p_chargen = memregion("chargen")->base();
+ m_p_videoram = memregion("maincpu")->base()+0xf800;
}
-static VIDEO_START( brailab4 )
+VIDEO_START_MEMBER(homelab_state,brailab4)
{
- homelab_state *state = machine.driver_data<homelab_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
- state->m_p_videoram = state->memregion("maincpu")->base()+0x17800;
+ m_p_chargen = memregion("chargen")->base();
+ m_p_videoram = memregion("maincpu")->base()+0x17800;
}
static SCREEN_UPDATE_IND16( homelab2 )
@@ -748,7 +749,7 @@ static MACHINE_CONFIG_START( homelab, homelab_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_SIZE(40*8, 25*8)
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 25*8-1)
- MCFG_VIDEO_START(homelab2)
+ MCFG_VIDEO_START_OVERRIDE(homelab_state,homelab2)
MCFG_SCREEN_UPDATE_STATIC(homelab2)
MCFG_GFXDECODE(homelab)
MCFG_PALETTE_LENGTH(2)
@@ -770,7 +771,7 @@ static MACHINE_CONFIG_START( homelab3, homelab_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz / 4)
MCFG_CPU_PROGRAM_MAP(homelab3_mem)
MCFG_CPU_IO_MAP(homelab3_io)
- MCFG_MACHINE_RESET(homelab3)
+ MCFG_MACHINE_RESET_OVERRIDE(homelab_state,homelab3)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -778,7 +779,7 @@ static MACHINE_CONFIG_START( homelab3, homelab_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
- MCFG_VIDEO_START(homelab3)
+ MCFG_VIDEO_START_OVERRIDE(homelab_state,homelab3)
MCFG_SCREEN_UPDATE_STATIC(homelab3)
MCFG_GFXDECODE(homelab)
MCFG_PALETTE_LENGTH(2)
@@ -800,7 +801,7 @@ static MACHINE_CONFIG_START( brailab4, homelab_state )
MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz / 4)
MCFG_CPU_PROGRAM_MAP(brailab4_mem)
MCFG_CPU_IO_MAP(brailab4_io)
- MCFG_MACHINE_RESET(brailab4)
+ MCFG_MACHINE_RESET_OVERRIDE(homelab_state,brailab4)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -808,7 +809,7 @@ static MACHINE_CONFIG_START( brailab4, homelab_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
- MCFG_VIDEO_START(brailab4)
+ MCFG_VIDEO_START_OVERRIDE(homelab_state,brailab4)
MCFG_SCREEN_UPDATE_STATIC(homelab3)
MCFG_GFXDECODE(homelab)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/horizon.c b/src/mess/drivers/horizon.c
index 965c07e9d3e..b8add30e569 100644
--- a/src/mess/drivers/horizon.c
+++ b/src/mess/drivers/horizon.c
@@ -28,6 +28,8 @@ public:
required_device<device_t> m_terminal;
DECLARE_WRITE8_MEMBER( kbd_put );
//UINT8 m_term_data;
+ virtual void machine_reset();
+ DECLARE_MACHINE_RESET(horizon_sd);
};
@@ -60,14 +62,14 @@ static INPUT_PORTS_START( horizon )
INPUT_PORTS_END
-static MACHINE_RESET(horizon)
+void horizon_state::machine_reset()
{
- machine.device("maincpu")->state().set_state_int(Z80_PC, 0xe800);
+ machine().device("maincpu")->state().set_state_int(Z80_PC, 0xe800);
}
-static MACHINE_RESET(horizon_sd)
+MACHINE_RESET_MEMBER(horizon_state,horizon_sd)
{
- machine.device("maincpu")->state().set_state_int(Z80_PC, 0xe900);
+ machine().device("maincpu")->state().set_state_int(Z80_PC, 0xe900);
}
WRITE8_MEMBER( horizon_state::kbd_put )
@@ -85,7 +87,6 @@ static MACHINE_CONFIG_START( horizon, horizon_state )
MCFG_CPU_PROGRAM_MAP(horizon_mem)
MCFG_CPU_IO_MAP(horizon_io)
- MCFG_MACHINE_RESET(horizon)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
@@ -96,7 +97,7 @@ static MACHINE_CONFIG_DERIVED( horizsd, horizon )
MCFG_CPU_PROGRAM_MAP( horizon_sd_mem)
MCFG_CPU_IO_MAP(horizon_sd_io)
- MCFG_MACHINE_RESET(horizon_sd)
+ MCFG_MACHINE_RESET_OVERRIDE(horizon_state,horizon_sd)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/hp16500.c b/src/mess/drivers/hp16500.c
index c23935fcd23..c247e2992a8 100644
--- a/src/mess/drivers/hp16500.c
+++ b/src/mess/drivers/hp16500.c
@@ -28,6 +28,7 @@ public:
hp16500_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void video_start();
};
@@ -37,7 +38,7 @@ static ADDRESS_MAP_START(hp16500_map, AS_PROGRAM, 32, hp16500_state)
AM_RANGE(0x00800000, 0x009fffff) AM_RAM // 284e end of test - d0 = 0 for pass
ADDRESS_MAP_END
-static VIDEO_START( hp16500 )
+void hp16500_state::video_start()
{
}
@@ -61,7 +62,6 @@ static MACHINE_CONFIG_START( hp16500, hp16500_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(hp16500)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/hp48.c b/src/mess/drivers/hp48.c
index 062465a53b0..73cff196b74 100644
--- a/src/mess/drivers/hp48.c
+++ b/src/mess/drivers/hp48.c
@@ -938,7 +938,6 @@ static const char layout_hp48s [] = "hp48s";
static MACHINE_CONFIG_START( hp48_common, hp48_state )
- MCFG_MACHINE_RESET ( hp48 )
/* cpu */
MCFG_CPU_ADD ( "maincpu", SATURN, 3937007 ) /* almost 4 MHz */
@@ -957,7 +956,6 @@ static MACHINE_CONFIG_START( hp48_common, hp48_state )
MCFG_SCREEN_UPDATE_STATIC( hp48 )
MCFG_PALETTE_LENGTH( 256 ) /* monochrome, but with varying contrast and grayscale */
- MCFG_PALETTE_INIT( hp48 )
/* sound */
MCFG_SPEAKER_STANDARD_MONO( "mono" )
@@ -966,7 +964,7 @@ static MACHINE_CONFIG_START( hp48_common, hp48_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hp48gx, hp48_common )
- MCFG_MACHINE_START ( hp48gx )
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48gx )
MCFG_DEFAULT_LAYOUT ( layout_hp48gx )
/* expansion ports */
@@ -979,7 +977,7 @@ static MACHINE_CONFIG_DERIVED( hp48gx, hp48_common )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hp48g, hp48_common )
- MCFG_MACHINE_START ( hp48g )
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48g )
MCFG_DEFAULT_LAYOUT ( layout_hp48g )
/* serial I/O */
@@ -989,7 +987,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hp48gp, hp48_common )
- MCFG_MACHINE_START ( hp48gp )
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48gp )
MCFG_DEFAULT_LAYOUT ( layout_hp48gp )
/* serial I/O */
@@ -1001,7 +999,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hp48sx, hp48_common )
MCFG_CPU_MODIFY ( "maincpu" )
MCFG_CPU_CLOCK ( 2000000 )
- MCFG_MACHINE_START ( hp48sx )
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48sx )
MCFG_DEFAULT_LAYOUT ( layout_hp48sx )
/* expansion ports */
@@ -1015,7 +1013,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hp48s, hp48_common )
MCFG_CPU_MODIFY ( "maincpu" )
MCFG_CPU_CLOCK ( 2000000 )
- MCFG_MACHINE_START ( hp48s )
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48s )
MCFG_DEFAULT_LAYOUT ( layout_hp48s )
/* serial I/O */
diff --git a/src/mess/drivers/hp49gp.c b/src/mess/drivers/hp49gp.c
index c2df527aecd..ea276e14535 100644
--- a/src/mess/drivers/hp49gp.c
+++ b/src/mess/drivers/hp49gp.c
@@ -44,6 +44,8 @@ public:
required_shared_ptr<UINT32> m_steppingstone;
lcd_spi_t m_lcd_spi;
DECLARE_DRIVER_INIT(hp49gp);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/***************************************************************************
@@ -237,16 +239,14 @@ static INPUT_CHANGED( port_changed )
// ...
-static MACHINE_START( hp49gp )
+void hp49gp_state::machine_start()
{
- hp49gp_state *hp49gp = machine.driver_data<hp49gp_state>();
- hp49gp->m_s3c2410 = machine.device( "s3c2410");
+ m_s3c2410 = machine().device( "s3c2410");
}
-static MACHINE_RESET( hp49gp )
+void hp49gp_state::machine_reset()
{
-// hp49gp_state *hp49gp = machine.driver_data<hp49gp_state>();
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
/***************************************************************************
@@ -305,8 +305,6 @@ static MACHINE_CONFIG_START( hp49gp, hp49gp_state )
MCFG_DEFAULT_LAYOUT(layout_lcd)
- MCFG_MACHINE_START(hp49gp)
- MCFG_MACHINE_RESET(hp49gp)
MCFG_S3C2410_ADD("s3c2410", 12000000, hp49gp_s3c2410_intf)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/hp9k.c b/src/mess/drivers/hp9k.c
index 36389128c8d..e9f929e8248 100644
--- a/src/mess/drivers/hp9k.c
+++ b/src/mess/drivers/hp9k.c
@@ -25,6 +25,8 @@ public:
required_device<cpu_device> m_maincpu;
required_shared_ptr<UINT16> m_p_videoram;
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -42,7 +44,7 @@ static INPUT_PORTS_START( hp9k )
INPUT_PORTS_END
-static MACHINE_RESET(hp9k)
+void hp9k_state::machine_reset()
{
}
@@ -65,7 +67,7 @@ static GFXDECODE_START( hp9k )
GFXDECODE_END
-static VIDEO_START( hp9k )
+void hp9k_state::video_start()
{
}
@@ -79,7 +81,6 @@ static MACHINE_CONFIG_START( hp9k, hp9k_state )
MCFG_CPU_ADD("maincpu",M68000, XTAL_8MHz)
MCFG_CPU_PROGRAM_MAP(hp9k_mem)
- MCFG_MACHINE_RESET(hp9k)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -87,7 +88,6 @@ static MACHINE_CONFIG_START( hp9k, hp9k_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(hp9k)
MCFG_SCREEN_UPDATE_STATIC(hp9k)
MCFG_GFXDECODE(hp9k)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/ht68k.c b/src/mess/drivers/ht68k.c
index afebf9694a6..ba6110b8209 100644
--- a/src/mess/drivers/ht68k.c
+++ b/src/mess/drivers/ht68k.c
@@ -55,6 +55,7 @@ public:
DECLARE_WRITE8_MEMBER(kbd_put);
DECLARE_WRITE_LINE_MEMBER(ht68k_fdc_intrq_w);
required_shared_ptr<UINT16> m_p_ram;
+ virtual void machine_reset();
};
@@ -79,14 +80,13 @@ static INPUT_PORTS_START( ht68k )
INPUT_PORTS_END
-static MACHINE_RESET(ht68k)
+void ht68k_state::machine_reset()
{
- ht68k_state *state = machine.driver_data<ht68k_state>();
- UINT8* user1 = state->memregion("user1")->base();
+ UINT8* user1 = memregion("user1")->base();
- memcpy((UINT8*)state->m_p_ram.target(),user1,0x8000);
+ memcpy((UINT8*)m_p_ram.target(),user1,0x8000);
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
static void duart_irq_handler(device_t *device, int state, UINT8 vector)
@@ -151,7 +151,6 @@ static MACHINE_CONFIG_START( ht68k, ht68k_state )
MCFG_CPU_ADD("maincpu",M68000, XTAL_8MHz)
MCFG_CPU_PROGRAM_MAP(ht68k_mem)
- MCFG_MACHINE_RESET(ht68k)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/hx20.c b/src/mess/drivers/hx20.c
index 1b2b06dfe15..ad43c688edd 100644
--- a/src/mess/drivers/hx20.c
+++ b/src/mess/drivers/hx20.c
@@ -16,6 +16,8 @@ public:
hx20_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -29,11 +31,11 @@ static INPUT_PORTS_START( ehx20 )
INPUT_PORTS_END
-static MACHINE_RESET(ehx20)
+void hx20_state::machine_reset()
{
}
-static VIDEO_START( ehx20 )
+void hx20_state::video_start()
{
}
@@ -93,7 +95,6 @@ static MACHINE_CONFIG_START( ehx20, hx20_state )
MCFG_CPU_ADD("maincpu",HD63701, 614000) // HD6301
MCFG_CPU_PROGRAM_MAP(ehx20_mem)
- MCFG_MACHINE_RESET(ehx20)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -107,7 +108,6 @@ static MACHINE_CONFIG_START( ehx20, hx20_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(ehx20)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/if800.c b/src/mess/drivers/if800.c
index 214a5ca24a8..6b81191a0b3 100644
--- a/src/mess/drivers/if800.c
+++ b/src/mess/drivers/if800.c
@@ -23,6 +23,8 @@ public:
required_device<upd7220_device> m_hgdc;
required_shared_ptr<UINT8> m_video_ram;
+ virtual void machine_start();
+ virtual void machine_reset();
};
static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
@@ -58,12 +60,12 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( if800 )
INPUT_PORTS_END
-static MACHINE_START(if800)
+void if800_state::machine_start()
{
}
-static MACHINE_RESET(if800)
+void if800_state::machine_reset()
{
}
@@ -87,8 +89,6 @@ static MACHINE_CONFIG_START( if800, if800_state )
MCFG_CPU_PROGRAM_MAP(if800_map)
MCFG_CPU_IO_MAP(if800_io)
- MCFG_MACHINE_START(if800)
- MCFG_MACHINE_RESET(if800)
// MCFG_PIC8259_ADD( "pic8259", if800_pic8259_config )
MCFG_UPD7220_ADD("upd7220", 8000000/4, hgdc_intf, upd7220_map)
@@ -104,7 +104,7 @@ static MACHINE_CONFIG_START( if800, if800_state )
MCFG_PALETTE_LENGTH(8)
// MCFG_PALETTE_INIT(black_and_white)
-// MCFG_VIDEO_START(if800)
+// MCFG_VIDEO_START_OVERRIDE(if800_state,if800)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/indiana.c b/src/mess/drivers/indiana.c
index a2860010195..155eb4daf18 100644
--- a/src/mess/drivers/indiana.c
+++ b/src/mess/drivers/indiana.c
@@ -21,6 +21,7 @@ public:
indiana_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
DECLARE_DRIVER_INIT(indiana);
+ virtual void machine_reset();
};
@@ -42,7 +43,7 @@ static INPUT_PORTS_START( indiana )
INPUT_PORTS_END
-static MACHINE_RESET(indiana)
+void indiana_state::machine_reset()
{
}
@@ -69,7 +70,6 @@ static MACHINE_CONFIG_START( indiana, indiana_state )
MCFG_CPU_ADD("maincpu",M68030, XTAL_16MHz)
MCFG_CPU_PROGRAM_MAP(indiana_mem)
- MCFG_MACHINE_RESET(indiana)
/* video hardware */
MCFG_GFXDECODE(indiana)
diff --git a/src/mess/drivers/interact.c b/src/mess/drivers/interact.c
index e9481724ec1..0c395f5a20b 100644
--- a/src/mess/drivers/interact.c
+++ b/src/mess/drivers/interact.c
@@ -70,6 +70,8 @@ public:
m_videoram(*this, "videoram") { }
required_shared_ptr<UINT8> m_videoram;
+ DECLARE_MACHINE_START(interact);
+ DECLARE_MACHINE_RESET(interact);
};
@@ -117,14 +119,14 @@ static DISCRETE_SOUND_START( hec2hrp )
DISCRETE_OUTPUT(NODE_01, 5000)
DISCRETE_SOUND_END
-static MACHINE_RESET(interact)
+MACHINE_RESET_MEMBER(interact_state,interact)
{
- hector_reset(machine, 0, 0);
+ hector_reset(machine(), 0, 0);
}
-static MACHINE_START(interact)
+MACHINE_START_MEMBER(interact_state,interact)
{
- hector_init(machine);
+ hector_init(machine());
}
static SCREEN_UPDATE_IND16( interact )
@@ -143,8 +145,8 @@ static MACHINE_CONFIG_START( interact, interact_state )
MCFG_CPU_PROGRAM_MAP(interact_mem)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) /* put on the I8080 irq in Hz*/
- MCFG_MACHINE_RESET(interact)
- MCFG_MACHINE_START(interact)
+ MCFG_MACHINE_RESET_OVERRIDE(interact_state,interact)
+ MCFG_MACHINE_START_OVERRIDE(interact_state,interact)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -156,7 +158,7 @@ static MACHINE_CONFIG_START( interact, interact_state )
MCFG_PALETTE_LENGTH(16) /* 8 colours, but only 4 at a time*/
- MCFG_VIDEO_START(hec2hrp)
+ MCFG_VIDEO_START_OVERRIDE(interact_state,hec2hrp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
@@ -184,8 +186,8 @@ static MACHINE_CONFIG_START( hector1, interact_state )
MCFG_CPU_PROGRAM_MAP(interact_mem)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) /* put on the I8080 irq in Hz*/
- MCFG_MACHINE_RESET(interact)
- MCFG_MACHINE_START(interact)
+ MCFG_MACHINE_RESET_OVERRIDE(interact_state,interact)
+ MCFG_MACHINE_START_OVERRIDE(interact_state,interact)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -197,7 +199,7 @@ static MACHINE_CONFIG_START( hector1, interact_state )
MCFG_PALETTE_LENGTH(16) /* 8 colours, but only 4 at a time*/
- MCFG_VIDEO_START(hec2hrp)
+ MCFG_VIDEO_START_OVERRIDE(interact_state,hec2hrp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
diff --git a/src/mess/drivers/intv.c b/src/mess/drivers/intv.c
index 64b00623259..c6c965044d7 100644
--- a/src/mess/drivers/intv.c
+++ b/src/mess/drivers/intv.c
@@ -85,28 +85,28 @@ static const unsigned char intv_colors[] =
0xB5, 0x1A, 0x58 /* PURPLE */
};
-static PALETTE_INIT( intv )
+void intv_state::palette_init()
{
int k = 0;
UINT8 i, j, r, g, b;
/* Two copies of everything (why?) */
- machine.colortable = colortable_alloc(machine, 32);
+ machine().colortable = colortable_alloc(machine(), 32);
for ( i = 0; i < 16; i++ )
{
r = intv_colors[i*3]; g = intv_colors[i*3+1]; b = intv_colors[i*3+2];
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
- colortable_palette_set_color(machine.colortable, i + 16, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i + 16, MAKE_RGB(r, g, b));
}
for(i=0;i<16;i++)
{
for(j=0;j<16;j++)
{
- colortable_entry_set_value(machine.colortable, k++, i);
- colortable_entry_set_value(machine.colortable, k++, j);
+ colortable_entry_set_value(machine().colortable, k++, i);
+ colortable_entry_set_value(machine().colortable, k++, j);
}
}
@@ -114,8 +114,8 @@ static PALETTE_INIT( intv )
{
for(j=16;j<32;j++)
{
- colortable_entry_set_value(machine.colortable, k++, i);
- colortable_entry_set_value(machine.colortable, k++, j);
+ colortable_entry_set_value(machine().colortable, k++, i);
+ colortable_entry_set_value(machine().colortable, k++, j);
}
}
}
@@ -814,7 +814,6 @@ static MACHINE_CONFIG_START( intv, intv_state )
MCFG_CPU_VBLANK_INT("screen", intv_interrupt)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( intv )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -826,9 +825,7 @@ static MACHINE_CONFIG_START( intv, intv_state )
MCFG_GFXDECODE( intv )
MCFG_PALETTE_LENGTH(0x400)
- MCFG_PALETTE_INIT( intv )
- MCFG_VIDEO_START( intv )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -864,7 +861,7 @@ static MACHINE_CONFIG_DERIVED( intvecs, intv )
MCFG_SOUND_CONFIG(intv_ay8914_ecs_interface)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
- MCFG_MACHINE_RESET( intvecs )
+ MCFG_MACHINE_RESET_OVERRIDE(intv_state, intvecs )
/* cassette */
//MCFG_CASSETTE_ADD( CASSETTE_TAG, ecs_cassette_interface )
diff --git a/src/mess/drivers/ip20.c b/src/mess/drivers/ip20.c
index 8f58d4fc42c..89d09cd6ccc 100644
--- a/src/mess/drivers/ip20.c
+++ b/src/mess/drivers/ip20.c
@@ -60,6 +60,8 @@ public:
DECLARE_READ32_MEMBER(int_r);
DECLARE_WRITE32_MEMBER(int_w);
DECLARE_DRIVER_INIT(ip204415);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -78,7 +80,7 @@ INLINE void ATTR_PRINTF(3,4) verboselog(running_machine &machine, int n_level, c
}
}
-static VIDEO_START( ip204415 )
+void ip20_state::video_start()
{
}
@@ -551,22 +553,21 @@ static TIMER_CALLBACK(ip20_timer)
machine.scheduler().timer_set(attotime::from_msec(1), FUNC(ip20_timer));
}
-static MACHINE_START( ip204415 )
+void ip20_state::machine_start()
{
- ip20_state *state = machine.driver_data<ip20_state>();
- sgi_mc_init(machine);
+ sgi_mc_init(machine());
- state->m_HPC.nMiscStatus = 0;
- state->m_HPC.nParBufPtr = 0;
- state->m_HPC.nLocalIOReg0Mask = 0;
- state->m_HPC.nLocalIOReg1Mask = 0;
- state->m_HPC.nVMEIntMask0 = 0;
- state->m_HPC.nVMEIntMask1 = 0;
+ m_HPC.nMiscStatus = 0;
+ m_HPC.nParBufPtr = 0;
+ m_HPC.nLocalIOReg0Mask = 0;
+ m_HPC.nLocalIOReg1Mask = 0;
+ m_HPC.nVMEIntMask0 = 0;
+ m_HPC.nVMEIntMask1 = 0;
- state->m_RTC.nTemp = 0;
+ m_RTC.nTemp = 0;
- machine.scheduler().timer_set(attotime::from_msec(1), FUNC(ip20_timer));
+ machine().scheduler().timer_set(attotime::from_msec(1), FUNC(ip20_timer));
}
static INPUT_PORTS_START( ip204415 )
@@ -585,7 +586,6 @@ static MACHINE_CONFIG_START( ip204415, ip20_state )
MCFG_CPU_CONFIG( config )
MCFG_CPU_PROGRAM_MAP( ip204415_map)
- MCFG_MACHINE_START( ip204415 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -597,7 +597,6 @@ static MACHINE_CONFIG_START( ip204415, ip20_state )
MCFG_PALETTE_LENGTH(65536)
- MCFG_VIDEO_START( ip204415 )
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/ip22.c b/src/mess/drivers/ip22.c
index b9dcf0d642a..077e4317885 100644
--- a/src/mess/drivers/ip22.c
+++ b/src/mess/drivers/ip22.c
@@ -129,6 +129,8 @@ public:
DECLARE_READ32_MEMBER(hpc3_unkpbus0_r);
DECLARE_WRITE32_MEMBER(hpc3_unkpbus0_w);
DECLARE_DRIVER_INIT(ip225015);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -1218,23 +1220,23 @@ static TIMER_CALLBACK(ip22_timer)
machine.scheduler().timer_set(attotime::from_msec(1), FUNC(ip22_timer));
}
-static MACHINE_RESET( ip225015 )
+void ip22_state::machine_reset()
{
- ip22_state *state = machine.driver_data<ip22_state>();
- state->m_HPC3.nenetr_nbdp = 0x80000000;
- state->m_HPC3.nenetr_cbp = 0x80000000;
- state->m_nIntCounter = 0;
+ ip22_state *state = machine().driver_data<ip22_state>();
+ m_HPC3.nenetr_nbdp = 0x80000000;
+ m_HPC3.nenetr_cbp = 0x80000000;
+ m_nIntCounter = 0;
RTC_REGISTERB = 0x08;
RTC_REGISTERD = 0x80;
- machine.scheduler().timer_set(attotime::from_msec(1), FUNC(ip22_timer));
+ machine().scheduler().timer_set(attotime::from_msec(1), FUNC(ip22_timer));
// set up low RAM mirror
- state->membank("bank1")->set_base(state->m_mainram);
+ membank("bank1")->set_base(m_mainram);
- state->m_PBUS_DMA.nActive = 0;
+ m_PBUS_DMA.nActive = 0;
- mips3drc_set_options(machine.device("maincpu"), MIPS3DRC_COMPATIBLE_OPTIONS | MIPS3DRC_CHECK_OVERFLOWS);
+ mips3drc_set_options(machine().device("maincpu"), MIPS3DRC_COMPATIBLE_OPTIONS | MIPS3DRC_CHECK_OVERFLOWS);
}
static void dump_chain(address_space *space, UINT32 ch_base)
@@ -1509,16 +1511,15 @@ static int ip22_get_out2(running_machine &machine) {
return pit8253_get_output(machine.device("pit8254"), 2 );
}
-static MACHINE_START( ip225015 )
+void ip22_state::machine_start()
{
- ip22_state *state = machine.driver_data<ip22_state>();
- sgi_mc_init(machine);
+ sgi_mc_init(machine());
// SCSI init
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(ip225015_exit),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(ip225015_exit),&machine()));
- machine.device<nvram_device>("nvram_user")->set_base(state->m_RTC.nUserRAM, 0x200);
- machine.device<nvram_device>("nvram")->set_base(state->m_RTC.nRAM, 0x200);
+ machine().device<nvram_device>("nvram_user")->set_base(m_RTC.nUserRAM, 0x200);
+ machine().device<nvram_device>("nvram")->set_base(m_RTC.nRAM, 0x200);
}
DRIVER_INIT_MEMBER(ip22_state,ip225015)
@@ -1636,8 +1637,6 @@ static MACHINE_CONFIG_START( ip225015, ip22_state )
MCFG_CPU_PROGRAM_MAP( ip225015_map)
MCFG_CPU_VBLANK_INT("screen", ip22_vbl)
- MCFG_MACHINE_START( ip225015 )
- MCFG_MACHINE_RESET( ip225015 )
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_NVRAM_ADD_0FILL("nvram_user")
diff --git a/src/mess/drivers/irisha.c b/src/mess/drivers/irisha.c
index 0c9918f93f3..ecc9f986620 100644
--- a/src/mess/drivers/irisha.c
+++ b/src/mess/drivers/irisha.c
@@ -152,8 +152,6 @@ static MACHINE_CONFIG_START( irisha, irisha_state )
MCFG_CPU_PROGRAM_MAP(irisha_mem)
MCFG_CPU_IO_MAP(irisha_io)
- MCFG_MACHINE_START( irisha )
- MCFG_MACHINE_RESET( irisha )
MCFG_I8255_ADD( "ppi8255", irisha_ppi8255_interface )
@@ -173,7 +171,6 @@ static MACHINE_CONFIG_START( irisha, irisha_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(irisha)
/* uart */
MCFG_I8251_ADD("uart", default_i8251_interface)
diff --git a/src/mess/drivers/jr100.c b/src/mess/drivers/jr100.c
index 87f7caf9fe1..28e6bf2fb3d 100644
--- a/src/mess/drivers/jr100.c
+++ b/src/mess/drivers/jr100.c
@@ -39,6 +39,9 @@ public:
UINT16 m_t1latch;
UINT8 m_beep_en;
DECLARE_WRITE8_MEMBER(jr100_via_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -156,17 +159,17 @@ INPUT_PORTS_START( jr100 )
PORT_BIT(0xE0, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
-static MACHINE_START(jr100)
+void jr100_state::machine_start()
{
- beep_set_frequency(machine.device(BEEPER_TAG),0);
- beep_set_state(machine.device(BEEPER_TAG),0);
+ beep_set_frequency(machine().device(BEEPER_TAG),0);
+ beep_set_state(machine().device(BEEPER_TAG),0);
}
-static MACHINE_RESET(jr100)
+void jr100_state::machine_reset()
{
}
-static VIDEO_START( jr100 )
+void jr100_state::video_start()
{
}
@@ -355,8 +358,6 @@ static MACHINE_CONFIG_START( jr100, jr100_state )
MCFG_CPU_ADD("maincpu",M6802, XTAL_14_31818MHz / 4) // clock devided internaly by 4
MCFG_CPU_PROGRAM_MAP(jr100_mem)
- MCFG_MACHINE_START(jr100)
- MCFG_MACHINE_RESET(jr100)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -370,7 +371,6 @@ static MACHINE_CONFIG_START( jr100, jr100_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(jr100)
MCFG_VIA6522_ADD("via", XTAL_14_31818MHz / 16, jr100_via_intf)
diff --git a/src/mess/drivers/jr200.c b/src/mess/drivers/jr200.c
index 34cbc407f86..fd810839766 100644
--- a/src/mess/drivers/jr200.c
+++ b/src/mess/drivers/jr200.c
@@ -48,6 +48,10 @@ public:
DECLARE_WRITE8_MEMBER(jr200_border_col_w);
DECLARE_READ8_MEMBER(mn1271_io_r);
DECLARE_WRITE8_MEMBER(mn1271_io_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -109,7 +113,7 @@ static const UINT8 jr200_keycodes[4][9][8] =
};
-static VIDEO_START( jr200 )
+void jr200_state::video_start()
{
}
@@ -452,12 +456,12 @@ static INPUT_PORTS_START( jr200 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("RIGHT CTRL") PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(UCHAR_MAMEKEY(RCONTROL))
INPUT_PORTS_END
-static PALETTE_INIT( jr200 )
+void jr200_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 const gfx_layout tiles8x8_layout =
@@ -476,27 +480,25 @@ static GFXDECODE_START( jr200 )
GFXDECODE_ENTRY( "pcg", 0, tiles8x8_layout, 0, 1 )
GFXDECODE_END
-static MACHINE_START(jr200)
+void jr200_state::machine_start()
{
- jr200_state *state = machine.driver_data<jr200_state>();
- beep_set_frequency(machine.device(BEEPER_TAG),0);
- beep_set_state(machine.device(BEEPER_TAG),0);
- state->m_timer_d = machine.scheduler().timer_alloc(FUNC(timer_d_callback));
+ beep_set_frequency(machine().device(BEEPER_TAG),0);
+ beep_set_state(machine().device(BEEPER_TAG),0);
+ m_timer_d = machine().scheduler().timer_alloc(FUNC(timer_d_callback));
}
-static MACHINE_RESET(jr200)
+void jr200_state::machine_reset()
{
- jr200_state *state = machine.driver_data<jr200_state>();
- UINT8 *gfx_rom = machine.root_device().memregion("gfx_rom")->base();
- UINT8 *gfx_ram = state->memregion("gfx_ram")->base();
+ UINT8 *gfx_rom = machine().root_device().memregion("gfx_rom")->base();
+ UINT8 *gfx_ram = memregion("gfx_ram")->base();
int i;
- memset(state->m_mn1271_ram,0,0x800);
+ memset(m_mn1271_ram,0,0x800);
for(i=0;i<0x800;i++)
gfx_ram[i] = gfx_rom[i];
for(i=0;i<0x800;i+=8)
- machine.gfx[0]->mark_dirty(i >> 3);
+ machine().gfx[0]->mark_dirty(i >> 3);
}
@@ -507,8 +509,6 @@ static MACHINE_CONFIG_START( jr200, jr200_state )
// MCFG_CPU_ADD("mn1544", MN1544, ?)
- MCFG_MACHINE_START(jr200)
- MCFG_MACHINE_RESET(jr200)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -520,9 +520,7 @@ static MACHINE_CONFIG_START( jr200, jr200_state )
MCFG_GFXDECODE(jr200)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(jr200)
- MCFG_VIDEO_START(jr200)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/jtc.c b/src/mess/drivers/jtc.c
index ffc1ab15a69..d2bafe3f01d 100644
--- a/src/mess/drivers/jtc.c
+++ b/src/mess/drivers/jtc.c
@@ -535,7 +535,7 @@ UINT32 jtces23_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
return 0;
}
-static PALETTE_INIT( jtc_es40 )
+PALETTE_INIT_MEMBER(jtc_state,jtc_es40)
{
}
@@ -718,7 +718,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( jtces40, basic, jtces40_state )
MCFG_GFXDECODE(jtces40)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(jtc_es40)
+ MCFG_PALETTE_INIT_OVERRIDE(jtc_state,jtc_es40)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/drivers/juicebox.c b/src/mess/drivers/juicebox.c
index 8f4f8d6945c..085bc639378 100644
--- a/src/mess/drivers/juicebox.c
+++ b/src/mess/drivers/juicebox.c
@@ -57,6 +57,8 @@ public:
DECLARE_READ32_MEMBER(juicebox_nand_r);
DECLARE_WRITE32_MEMBER(juicebox_nand_w);
DECLARE_DRIVER_INIT(juicebox);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/***************************************************************************
@@ -245,18 +247,17 @@ static INPUT_CHANGED( port_changed )
// ...
-static MACHINE_START( juicebox )
+void juicebox_state::machine_start()
{
- juicebox_state *juicebox = machine.driver_data<juicebox_state>();
- juicebox->s3c44b0 = machine.device( "s3c44b0");
- smc_init( machine);
- juicebox->dac = machine.device<dac_device>( "dac");
+ s3c44b0 = machine().device( "s3c44b0");
+ smc_init( machine());
+ dac = machine().device<dac_device>( "dac");
}
-static MACHINE_RESET( juicebox )
+void juicebox_state::machine_reset()
{
- machine.device("maincpu")->reset();
- smc_reset( machine);
+ machine().device("maincpu")->reset();
+ smc_reset( machine());
}
/***************************************************************************
@@ -310,8 +311,6 @@ static MACHINE_CONFIG_START( juicebox, juicebox_state )
MCFG_SOUND_ADD("dac", DAC, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
- MCFG_MACHINE_START(juicebox)
- MCFG_MACHINE_RESET(juicebox)
MCFG_S3C44B0_ADD("s3c44b0", 10000000, juicebox_s3c44b0_intf)
diff --git a/src/mess/drivers/junior.c b/src/mess/drivers/junior.c
index 9609a9ad384..348a301e582 100644
--- a/src/mess/drivers/junior.c
+++ b/src/mess/drivers/junior.c
@@ -45,6 +45,8 @@ public:
UINT8 m_port_a;
UINT8 m_port_b;
UINT8 m_led_time[6];
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -204,21 +206,19 @@ static TIMER_DEVICE_CALLBACK( junior_update_leds )
}
-static MACHINE_START( junior )
+void junior_state::machine_start()
{
- junior_state *state = machine.driver_data<junior_state>();
- state_save_register_item(machine, "junior", NULL, 0, state->m_port_a );
- state_save_register_item(machine, "junior", NULL, 0, state->m_port_b );
+ state_save_register_item(machine(), "junior", NULL, 0, m_port_a );
+ state_save_register_item(machine(), "junior", NULL, 0, m_port_b );
}
-static MACHINE_RESET(junior)
+void junior_state::machine_reset()
{
- junior_state *state = machine.driver_data<junior_state>();
int i;
for ( i = 0; i < 6; i++ )
- state->m_led_time[i] = 0;
+ m_led_time[i] = 0;
}
@@ -228,8 +228,6 @@ static MACHINE_CONFIG_START( junior, junior_state )
MCFG_CPU_PROGRAM_MAP(junior_mem)
MCFG_QUANTUM_TIME(attotime::from_hz(50))
- MCFG_MACHINE_START( junior )
- MCFG_MACHINE_RESET(junior)
/* video hardware */
MCFG_DEFAULT_LAYOUT( layout_junior )
diff --git a/src/mess/drivers/k1003.c b/src/mess/drivers/k1003.c
index dc42ee48284..afc3533d259 100644
--- a/src/mess/drivers/k1003.c
+++ b/src/mess/drivers/k1003.c
@@ -58,6 +58,7 @@ public:
UINT8 m_disp_1;
UINT8 m_disp_2;
UINT8 bit_to_dec(UINT8 val);
+ virtual void machine_reset();
};
@@ -125,7 +126,7 @@ static INPUT_PORTS_START( k1003 )
INPUT_PORTS_END
-static MACHINE_RESET(k1003)
+void k1003_state::machine_reset()
{
}
@@ -135,7 +136,6 @@ static MACHINE_CONFIG_START( k1003, k1003_state )
MCFG_CPU_PROGRAM_MAP(k1003_mem)
MCFG_CPU_IO_MAP(k1003_io)
- MCFG_MACHINE_RESET(k1003)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_k1003)
diff --git a/src/mess/drivers/kaypro.c b/src/mess/drivers/kaypro.c
index d5edeffe645..1d747d32548 100644
--- a/src/mess/drivers/kaypro.c
+++ b/src/mess/drivers/kaypro.c
@@ -242,8 +242,8 @@ static MACHINE_CONFIG_START( kayproii, kaypro_state )
MCFG_CPU_VBLANK_INT("screen", kay_kbd_interrupt) /* this doesn't actually exist, it is to run the keyboard */
MCFG_CPU_CONFIG(kayproii_daisy_chain)
- MCFG_MACHINE_START( kayproii )
- MCFG_MACHINE_RESET( kayproii )
+ MCFG_MACHINE_START_OVERRIDE(kaypro_state, kayproii )
+ MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kayproii )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -251,7 +251,7 @@ static MACHINE_CONFIG_START( kayproii, kaypro_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(80*7, 24*10)
MCFG_SCREEN_VISIBLE_AREA(0,80*7-1,0,24*10-1)
- MCFG_VIDEO_START( kaypro )
+ MCFG_VIDEO_START_OVERRIDE(kaypro_state, kaypro )
MCFG_SCREEN_UPDATE_STATIC( kayproii )
MCFG_GFXDECODE(kayproii)
MCFG_PALETTE_LENGTH(2)
@@ -287,7 +287,7 @@ static MACHINE_CONFIG_START( kaypro2x, kaypro_state )
MCFG_CPU_VBLANK_INT("screen", kay_kbd_interrupt)
MCFG_CPU_CONFIG(kaypro2x_daisy_chain)
- MCFG_MACHINE_RESET( kaypro2x )
+ MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kaypro2x )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -295,11 +295,11 @@ static MACHINE_CONFIG_START( kaypro2x, kaypro_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(80*8, 25*16)
MCFG_SCREEN_VISIBLE_AREA(0,80*8-1,0,25*16-1)
- MCFG_VIDEO_START( kaypro )
+ MCFG_VIDEO_START_OVERRIDE(kaypro_state, kaypro )
MCFG_SCREEN_UPDATE_STATIC( kaypro2x )
MCFG_GFXDECODE(kaypro2x)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(kaypro)
+ MCFG_PALETTE_INIT_OVERRIDE(kaypro_state,kaypro)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/kc.c b/src/mess/drivers/kc.c
index 77c3ba016cb..e47e70aa1de 100644
--- a/src/mess/drivers/kc.c
+++ b/src/mess/drivers/kc.c
@@ -143,7 +143,7 @@ static MACHINE_CONFIG_START( kc85_3, kc_state )
MCFG_TIMER_ADD_SCANLINE("scantimer", kc_scanline, "screen", 0, 1)
MCFG_PALETTE_LENGTH(KC85_PALETTE_SIZE)
- MCFG_PALETTE_INIT( kc85 )
+ MCFG_PALETTE_INIT_OVERRIDE(kc85_4_state, kc85 )
MCFG_KC_KEYBOARD_ADD("keyboard", XTAL_4MHz, kc85_keyboard_interface)
@@ -195,7 +195,7 @@ static MACHINE_CONFIG_START( kc85_4, kc85_4_state )
MCFG_TIMER_ADD_SCANLINE("scantimer", kc_scanline, "screen", 0, 1)
MCFG_PALETTE_LENGTH(KC85_PALETTE_SIZE)
- MCFG_PALETTE_INIT( kc85 )
+ MCFG_PALETTE_INIT_OVERRIDE(kc85_4_state, kc85 )
MCFG_KC_KEYBOARD_ADD("keyboard", XTAL_4MHz, kc85_keyboard_interface)
diff --git a/src/mess/drivers/kim1.c b/src/mess/drivers/kim1.c
index 25db344390a..fc9e62f12d0 100644
--- a/src/mess/drivers/kim1.c
+++ b/src/mess/drivers/kim1.c
@@ -121,6 +121,8 @@ public:
UINT8 m_311_output;
UINT32 m_cassette_high_count;
UINT8 m_led_time[6];
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -296,25 +298,23 @@ static TIMER_DEVICE_CALLBACK( kim1_update_leds )
}
-static MACHINE_START( kim1 )
+void kim1_state::machine_start()
{
- kim1_state *state = machine.driver_data<kim1_state>();
- state_save_register_item(machine, "kim1", NULL, 0, state->m_u2_port_b );
- state_save_register_item(machine, "kim1", NULL, 0, state->m_311_output );
- state_save_register_item(machine, "kim1", NULL, 0, state->m_cassette_high_count );
+ state_save_register_item(machine(), "kim1", NULL, 0, m_u2_port_b );
+ state_save_register_item(machine(), "kim1", NULL, 0, m_311_output );
+ state_save_register_item(machine(), "kim1", NULL, 0, m_cassette_high_count );
}
-static MACHINE_RESET( kim1 )
+void kim1_state::machine_reset()
{
- kim1_state *state = machine.driver_data<kim1_state>();
UINT8 i;
for ( i = 0; i < 6; i++ )
- state->m_led_time[i] = 0;
+ m_led_time[i] = 0;
- state->m_311_output = 0;
- state->m_cassette_high_count = 0;
+ m_311_output = 0;
+ m_cassette_high_count = 0;
}
@@ -334,8 +334,6 @@ static MACHINE_CONFIG_START( kim1, kim1_state )
MCFG_CPU_PROGRAM_MAP(kim1_map)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( kim1 )
- MCFG_MACHINE_RESET( kim1 )
/* video */
MCFG_DEFAULT_LAYOUT( layout_kim1 )
diff --git a/src/mess/drivers/konin.c b/src/mess/drivers/konin.c
index 66555828069..0f131eb9b1b 100644
--- a/src/mess/drivers/konin.c
+++ b/src/mess/drivers/konin.c
@@ -37,6 +37,8 @@ public:
konin_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
static ADDRESS_MAP_START( konin_mem, AS_PROGRAM, 8, konin_state )
@@ -55,11 +57,11 @@ static INPUT_PORTS_START( konin )
INPUT_PORTS_END
-static MACHINE_RESET(konin)
+void konin_state::machine_reset()
{
}
-static VIDEO_START( konin )
+void konin_state::video_start()
{
}
@@ -74,7 +76,6 @@ static MACHINE_CONFIG_START( konin, konin_state )
MCFG_CPU_PROGRAM_MAP(konin_mem)
MCFG_CPU_IO_MAP(konin_io)
- MCFG_MACHINE_RESET(konin)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -82,7 +83,6 @@ static MACHINE_CONFIG_START( konin, konin_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(konin)
MCFG_SCREEN_UPDATE_STATIC(konin)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/kramermc.c b/src/mess/drivers/kramermc.c
index 6f2dabbbe8f..6239359e654 100644
--- a/src/mess/drivers/kramermc.c
+++ b/src/mess/drivers/kramermc.c
@@ -109,7 +109,6 @@ static MACHINE_CONFIG_START( kramermc, kramermc_state )
MCFG_CPU_ADD("maincpu", Z80, 1500000)
MCFG_CPU_PROGRAM_MAP(kramermc_mem)
MCFG_CPU_IO_MAP(kramermc_io)
- MCFG_MACHINE_RESET( kramermc )
MCFG_Z80PIO_ADD( "z80pio", 1500000, kramermc_z80pio_intf )
@@ -126,7 +125,6 @@ static MACHINE_CONFIG_START( kramermc, kramermc_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(kramermc)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/lcmate2.c b/src/mess/drivers/lcmate2.c
index 987f93a1a50..5a9dac2c9ef 100644
--- a/src/mess/drivers/lcmate2.c
+++ b/src/mess/drivers/lcmate2.c
@@ -57,6 +57,7 @@ public:
DECLARE_READ8_MEMBER( key_r );
DECLARE_WRITE8_MEMBER( speaker_w );
DECLARE_WRITE8_MEMBER( bankswitch_w );
+ virtual void palette_init();
};
WRITE8_MEMBER( lcmate2_state::speaker_w )
@@ -191,10 +192,10 @@ static INPUT_PORTS_START( lcmate2 )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_UNUSED
INPUT_PORTS_END
-static PALETTE_INIT( lcmate2 )
+void lcmate2_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
void lcmate2_state::machine_start()
@@ -245,7 +246,6 @@ static MACHINE_CONFIG_START( lcmate2, lcmate2_state )
MCFG_SCREEN_SIZE(120, 18)
MCFG_SCREEN_VISIBLE_AREA(0, 120-1, 0, 18-1)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(lcmate2)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_GFXDECODE(lcmate2)
diff --git a/src/mess/drivers/lisa.c b/src/mess/drivers/lisa.c
index c2cacf0e20b..2f350a7c728 100644
--- a/src/mess/drivers/lisa.c
+++ b/src/mess/drivers/lisa.c
@@ -149,8 +149,6 @@ static MACHINE_CONFIG_START( lisa, lisa_state )
MCFG_CPU_PROGRAM_MAP(lisa_fdc_map)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( lisa )
- MCFG_MACHINE_RESET( lisa )
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -163,7 +161,6 @@ static MACHINE_CONFIG_START( lisa, lisa_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(lisa)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/llc.c b/src/mess/drivers/llc.c
index 5434c11ebb1..07034d1d917 100644
--- a/src/mess/drivers/llc.c
+++ b/src/mess/drivers/llc.c
@@ -202,8 +202,8 @@ static MACHINE_CONFIG_START( llc1, llc_state )
MCFG_CPU_PROGRAM_MAP(llc1_mem)
MCFG_CPU_IO_MAP(llc1_io)
- MCFG_MACHINE_START( llc1 )
- MCFG_MACHINE_RESET( llc1 )
+ MCFG_MACHINE_START_OVERRIDE(llc_state, llc1 )
+ MCFG_MACHINE_RESET_OVERRIDE(llc_state, llc1 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -215,7 +215,6 @@ static MACHINE_CONFIG_START( llc1, llc_state )
MCFG_GFXDECODE(llc1)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(llc)
MCFG_DEFAULT_LAYOUT(layout_llc1)
MCFG_Z80PIO_ADD( "z80pio1", XTAL_3MHz, llc1_z80pio1_intf )
@@ -231,7 +230,7 @@ static MACHINE_CONFIG_START( llc2, llc_state )
MCFG_CPU_PROGRAM_MAP(llc2_mem)
MCFG_CPU_IO_MAP(llc2_io)
- MCFG_MACHINE_RESET( llc2 )
+ MCFG_MACHINE_RESET_OVERRIDE(llc_state, llc2 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -243,7 +242,6 @@ static MACHINE_CONFIG_START( llc2, llc_state )
MCFG_GFXDECODE(llc2)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(llc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/lviv.c b/src/mess/drivers/lviv.c
index ef743a819eb..d0db3da5162 100644
--- a/src/mess/drivers/lviv.c
+++ b/src/mess/drivers/lviv.c
@@ -433,7 +433,6 @@ static MACHINE_CONFIG_START( lviv, lviv_state )
MCFG_CPU_IO_MAP(io_map)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( lviv )
MCFG_I8255_ADD( "ppi8255_0", lviv_ppi8255_interface_0 )
@@ -449,9 +448,7 @@ static MACHINE_CONFIG_START( lviv, lviv_state )
MCFG_SCREEN_UPDATE_STATIC( lviv )
MCFG_PALETTE_LENGTH(sizeof (lviv_palette) / 3)
- MCFG_PALETTE_INIT( lviv )
- MCFG_VIDEO_START( lviv )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/lx800.c b/src/mess/drivers/lx800.c
index 9ebfbc6633a..e84a7250ec5 100644
--- a/src/mess/drivers/lx800.c
+++ b/src/mess/drivers/lx800.c
@@ -44,6 +44,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(lx800_centronics_pe_w);
DECLARE_WRITE_LINE_MEMBER(lx800_paperempty_led_w);
DECLARE_WRITE_LINE_MEMBER(lx800_reset_w);
+ virtual void machine_start();
};
@@ -143,12 +144,10 @@ WRITE_LINE_MEMBER( lx800_state::lx800_reset_w )
MACHINE EMULATION
***************************************************************************/
-static MACHINE_START( lx800 )
+void lx800_state::machine_start()
{
- lx800_state *lx800 = machine.driver_data<lx800_state>();
-
- beep_set_state(lx800->m_beep, 0);
- beep_set_frequency(lx800->m_beep, 4000); /* ? */
+ beep_set_state(m_beep, 0);
+ beep_set_frequency(m_beep, 4000); /* ? */
}
@@ -264,7 +263,6 @@ static MACHINE_CONFIG_START( lx800, lx800_state )
MCFG_CPU_PROGRAM_MAP(lx800_mem)
MCFG_CPU_IO_MAP(lx800_io)
- MCFG_MACHINE_START(lx800)
MCFG_DEFAULT_LAYOUT(layout_lx800)
diff --git a/src/mess/drivers/lynx.c b/src/mess/drivers/lynx.c
index 7e37373f729..7936bc4ef7c 100644
--- a/src/mess/drivers/lynx.c
+++ b/src/mess/drivers/lynx.c
@@ -41,13 +41,13 @@ static INPUT_PORTS_START( lynx )
// power on and power off buttons
INPUT_PORTS_END
-static PALETTE_INIT( lynx )
+void lynx_state::palette_init()
{
int i;
for (i=0; i< 0x1000; i++)
{
- palette_set_color_rgb(machine, i,
+ palette_set_color_rgb(machine(), i,
((i >> 0) & 0x0f) * 0x11,
((i >> 4) & 0x0f) * 0x11,
((i >> 8) & 0x0f) * 0x11);
@@ -71,8 +71,6 @@ static MACHINE_CONFIG_START( lynx, lynx_state )
MCFG_CPU_PROGRAM_MAP(lynx_mem)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( lynx )
- MCFG_MACHINE_RESET( lynx )
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -84,7 +82,6 @@ static MACHINE_CONFIG_START( lynx, lynx_state )
MCFG_DEFAULT_LAYOUT(layout_lynx)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_PALETTE_INIT( lynx )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/m20.c b/src/mess/drivers/m20.c
index 964880d6172..54a5897758a 100644
--- a/src/mess/drivers/m20.c
+++ b/src/mess/drivers/m20.c
@@ -93,6 +93,7 @@ private:
UINT8 m_port21;
public:
DECLARE_DRIVER_INIT(m20);
+ virtual void video_start();
};
@@ -100,7 +101,7 @@ public:
#define PIXEL_CLOCK XTAL_4_433619MHz
-static VIDEO_START( m20 )
+void m20_state::video_start()
{
}
@@ -545,7 +546,6 @@ static MACHINE_CONFIG_START( m20, m20_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- MCFG_VIDEO_START(m20)
MCFG_SCREEN_UPDATE_STATIC(m20)
MCFG_PALETTE_LENGTH(4)
diff --git a/src/mess/drivers/m79152pc.c b/src/mess/drivers/m79152pc.c
index d70703c0aaf..7fbeba1e4bc 100644
--- a/src/mess/drivers/m79152pc.c
+++ b/src/mess/drivers/m79152pc.c
@@ -22,6 +22,8 @@ public:
UINT8 *m_p_chargen;
required_shared_ptr<UINT8> m_p_videoram;
required_shared_ptr<UINT8> m_p_attributes;
+ virtual void machine_reset();
+ virtual void video_start();
};
static ADDRESS_MAP_START(m79152pc_mem, AS_PROGRAM, 8, m79152pc_state)
@@ -42,14 +44,13 @@ static INPUT_PORTS_START( m79152pc )
INPUT_PORTS_END
-static MACHINE_RESET(m79152pc)
+void m79152pc_state::machine_reset()
{
}
-static VIDEO_START( m79152pc )
+void m79152pc_state::video_start()
{
- m79152pc_state *state = machine.driver_data<m79152pc_state>();
- state->m_p_chargen = state->memregion("chargen")->base()+4;
+ m_p_chargen = memregion("chargen")->base()+4;
}
static SCREEN_UPDATE_IND16( m79152pc )
@@ -111,7 +112,6 @@ static MACHINE_CONFIG_START( m79152pc, m79152pc_state )
MCFG_CPU_PROGRAM_MAP(m79152pc_mem)
MCFG_CPU_IO_MAP(m79152pc_io)
- MCFG_MACHINE_RESET(m79152pc)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -119,7 +119,6 @@ static MACHINE_CONFIG_START( m79152pc, m79152pc_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 300)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 300-1)
- MCFG_VIDEO_START(m79152pc)
MCFG_SCREEN_UPDATE_STATIC(m79152pc)
MCFG_GFXDECODE(m79152pc)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/mac.c b/src/mess/drivers/mac.c
index e3c07bb4090..dff689de30f 100644
--- a/src/mess/drivers/mac.c
+++ b/src/mess/drivers/mac.c
@@ -393,7 +393,7 @@ WRITE8_MEMBER ( mac_state::mac_rbv_w )
}
// Portable/PB100 video
-static VIDEO_START( macprtb )
+VIDEO_START_MEMBER(mac_state,macprtb)
{
}
@@ -889,9 +889,9 @@ static MACHINE_CONFIG_START( mac512ke, mac_state )
MCFG_SCREEN_UPDATE_STATIC(mac)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(mac)
+ MCFG_PALETTE_INIT_OVERRIDE(mac_state,mac)
- MCFG_VIDEO_START(mac)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,mac)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -972,9 +972,9 @@ static MACHINE_CONFIG_START( macprtb, mac_state )
MCFG_SCREEN_UPDATE_STATIC(macprtb)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(mac)
+ MCFG_PALETTE_INIT_OVERRIDE(mac_state,mac)
- MCFG_VIDEO_START(macprtb)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macprtb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1114,8 +1114,8 @@ static MACHINE_CONFIG_DERIVED( maclc, macii )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(macv8)
- MCFG_VIDEO_RESET(macrbv)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macv8)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_ADD(MAC_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
@@ -1166,8 +1166,8 @@ static MACHINE_CONFIG_DERIVED( maclc3, maclc )
MCFG_CPU_PROGRAM_MAP(maclc3_map)
MCFG_CPU_VBLANK_INT(MAC_SCREEN_NAME, mac_rbv_vbl)
- MCFG_VIDEO_START(macsonora)
- MCFG_VIDEO_RESET(macsonora)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macsonora)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macsonora)
MCFG_SCREEN_MODIFY(MAC_SCREEN_NAME)
MCFG_SCREEN_UPDATE_STATIC(macrbvvram)
@@ -1195,8 +1195,8 @@ static MACHINE_CONFIG_DERIVED( maciivx, maclc )
MCFG_CPU_PROGRAM_MAP(maclc3_map)
MCFG_CPU_VBLANK_INT(MAC_SCREEN_NAME, mac_rbv_vbl)
- MCFG_VIDEO_START(macv8)
- MCFG_VIDEO_RESET(macrbv)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macv8)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_MODIFY(MAC_SCREEN_NAME)
MCFG_SCREEN_UPDATE_STATIC(macrbvvram)
@@ -1219,8 +1219,8 @@ static MACHINE_CONFIG_DERIVED( maciivi, maclc )
MCFG_CPU_PROGRAM_MAP(maclc3_map)
MCFG_CPU_VBLANK_INT(MAC_SCREEN_NAME, mac_rbv_vbl)
- MCFG_VIDEO_START(macv8)
- MCFG_VIDEO_RESET(macrbv)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macv8)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_MODIFY(MAC_SCREEN_NAME)
MCFG_SCREEN_UPDATE_STATIC(macrbvvram)
@@ -1268,9 +1268,9 @@ static MACHINE_CONFIG_START( macse30, mac_state )
MCFG_SCREEN_UPDATE_STATIC(macse30)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(mac)
+ MCFG_PALETTE_INIT_OVERRIDE(mac_state,mac)
- MCFG_VIDEO_START(mac)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,mac)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1319,9 +1319,9 @@ static MACHINE_CONFIG_START( macpb140, mac_state )
MCFG_SCREEN_UPDATE_STATIC(macpb140)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(mac)
+ MCFG_PALETTE_INIT_OVERRIDE(mac_state,mac)
- MCFG_VIDEO_START(macprtb)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macprtb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1390,9 +1390,9 @@ static MACHINE_CONFIG_START( macpb160, mac_state )
MCFG_SCREEN_UPDATE_STATIC(macpb160)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(macgsc)
+ MCFG_PALETTE_INIT_OVERRIDE(mac_state,macgsc)
- MCFG_VIDEO_START(macprtb)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macprtb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1463,8 +1463,8 @@ static MACHINE_CONFIG_DERIVED( macclas2, maclc )
MCFG_CPU_REPLACE("maincpu", M68030, C15M)
MCFG_CPU_PROGRAM_MAP(maclc_map)
- MCFG_VIDEO_START(macv8)
- MCFG_VIDEO_RESET(maceagle)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macv8)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,maceagle)
MCFG_SCREEN_MODIFY(MAC_SCREEN_NAME)
MCFG_SCREEN_SIZE(MAC_H_TOTAL, MAC_V_TOTAL)
@@ -1495,8 +1495,8 @@ static MACHINE_CONFIG_DERIVED( maciici, macii )
MCFG_NUBUS_SLOT_REMOVE("nba")
MCFG_NUBUS_SLOT_REMOVE("nbb")
- MCFG_VIDEO_START(macrbv)
- MCFG_VIDEO_RESET(macrbv)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macrbv)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_ADD(MAC_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
@@ -1527,8 +1527,8 @@ static MACHINE_CONFIG_DERIVED( maciisi, macii )
MCFG_NUBUS_SLOT_REMOVE("nbe")
MCFG_NUBUS_BUS_REMOVE("nubus")
- MCFG_VIDEO_START(macrbv)
- MCFG_VIDEO_RESET(macrbv)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macrbv)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_ADD(MAC_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
@@ -1562,8 +1562,8 @@ static MACHINE_CONFIG_START( pwrmac, mac_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_VIDEO_START(macsonora)
- MCFG_VIDEO_RESET(macrbv)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macsonora)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1608,8 +1608,8 @@ static MACHINE_CONFIG_START( macqd700, mac_state )
MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 870-1)
MCFG_SCREEN_UPDATE_STATIC(macdafb)
- MCFG_VIDEO_START(macdafb)
- MCFG_VIDEO_RESET(macdafb)
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macdafb)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macdafb)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mess/drivers/mbc200.c b/src/mess/drivers/mbc200.c
index be4fbeef3fc..ac7ea7c2fa2 100644
--- a/src/mess/drivers/mbc200.c
+++ b/src/mess/drivers/mbc200.c
@@ -61,6 +61,7 @@ public:
UINT8 m_comm_latch;
required_shared_ptr<UINT8> m_vram;
+ virtual void video_start();
};
@@ -145,7 +146,7 @@ static const mc6845_interface mbc200_crtc = {
NULL
};
-static VIDEO_START( mbc200 )
+void mbc200_state::video_start()
{
}
@@ -267,7 +268,6 @@ static MACHINE_CONFIG_START( mbc200, mbc200_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(mbc200)
MCFG_MC6845_ADD("crtc", H46505, XTAL_8MHz / 4, mbc200_crtc) // HD46505SP
MCFG_I8255_ADD("ppi8255_1", mbc200_ppi8255_interface_1) // i8255AC-5
diff --git a/src/mess/drivers/mbc55x.c b/src/mess/drivers/mbc55x.c
index 2ca08dc42b3..11aa6dcbebb 100644
--- a/src/mess/drivers/mbc55x.c
+++ b/src/mess/drivers/mbc55x.c
@@ -217,14 +217,14 @@ static INPUT_PORTS_START( mbc55x )
INPUT_PORTS_END
-static PALETTE_INIT( mbc55x )
+void mbc55x_state::palette_init()
{
int colourno;
logerror("initializing palette\n");
for ( colourno = 0; colourno < SCREEN_NO_COLOURS; colourno++ )
- palette_set_color_rgb(machine, colourno, mbc55x_palette[colourno][RED], mbc55x_palette[colourno][GREEN], mbc55x_palette[colourno][BLUE]);
+ palette_set_color_rgb(machine(), colourno, mbc55x_palette[colourno][RED], mbc55x_palette[colourno][GREEN], mbc55x_palette[colourno][BLUE]);
}
@@ -234,8 +234,6 @@ static MACHINE_CONFIG_START( mbc55x, mbc55x_state )
MCFG_CPU_PROGRAM_MAP(mbc55x_mem)
MCFG_CPU_IO_MAP(mbc55x_io)
- MCFG_MACHINE_START( mbc55x )
- MCFG_MACHINE_RESET(mbc55x)
/* video hardware */
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
@@ -244,13 +242,10 @@ static MACHINE_CONFIG_START( mbc55x, mbc55x_state )
MCFG_SCREEN_VBLANK_STATIC(mbc55x)
MCFG_PALETTE_LENGTH(SCREEN_NO_COLOURS * 3)
- MCFG_PALETTE_INIT( mbc55x )
// MCFG_SCREEN_SIZE(650, 260)
// MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 249)
- MCFG_VIDEO_START(mbc55x)
- MCFG_VIDEO_RESET(mbc55x)
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")
diff --git a/src/mess/drivers/mbee.c b/src/mess/drivers/mbee.c
index 83c3acbf733..06492d3cde4 100644
--- a/src/mess/drivers/mbee.c
+++ b/src/mess/drivers/mbee.c
@@ -673,7 +673,7 @@ static MACHINE_CONFIG_START( mbee, mbee_state )
MCFG_CPU_IO_MAP(mbee_io)
MCFG_CPU_CONFIG(mbee_daisy_chain)
- MCFG_MACHINE_RESET( mbee )
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee )
MCFG_Z80PIO_ADD( "z80pio", XTAL_12MHz / 6, mbee_z80pio_intf )
@@ -688,7 +688,7 @@ static MACHINE_CONFIG_START( mbee, mbee_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(monochrome_amber) // usually sold with amber or green monitor
- MCFG_VIDEO_START(mbee)
+ MCFG_VIDEO_START_OVERRIDE(mbee_state,mbee)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -714,7 +714,7 @@ static MACHINE_CONFIG_START( mbeeic, mbee_state )
MCFG_CPU_CONFIG(mbee_daisy_chain)
//MCFG_CPU_VBLANK_INT("screen", mbee_interrupt)
- MCFG_MACHINE_RESET( mbee )
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee )
MCFG_Z80PIO_ADD( "z80pio", 3375000, mbee_z80pio_intf )
@@ -727,9 +727,9 @@ static MACHINE_CONFIG_START( mbeeic, mbee_state )
MCFG_GFXDECODE(mbeeic)
MCFG_PALETTE_LENGTH(96)
- MCFG_PALETTE_INIT(mbeeic)
+ MCFG_PALETTE_INIT_OVERRIDE(mbee_state,mbeeic)
- MCFG_VIDEO_START(mbeeic)
+ MCFG_VIDEO_START_OVERRIDE(mbee_state,mbeeic)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -759,17 +759,17 @@ static MACHINE_CONFIG_DERIVED( mbeepc85, mbeeic )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mbeepc85b, mbeepc85 )
- MCFG_PALETTE_INIT(mbeepc85b)
+ MCFG_PALETTE_INIT_OVERRIDE(mbee_state,mbeepc85b)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mbeeppc, mbeeic )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbeeppc_mem)
MCFG_CPU_IO_MAP(mbeeppc_io)
- MCFG_VIDEO_START(mbeeppc)
+ MCFG_VIDEO_START_OVERRIDE(mbee_state,mbeeppc)
MCFG_GFXDECODE(mbeeppc)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(mbeeppc)
+ MCFG_PALETTE_INIT_OVERRIDE(mbee_state,mbeeppc)
MCFG_DEVICE_REMOVE("crtc")
MCFG_MC6845_ADD("crtc", SY6545_1, XTAL_13_5MHz / 8, mbeeppc_crtc)
MACHINE_CONFIG_END
@@ -778,7 +778,7 @@ static MACHINE_CONFIG_DERIVED( mbee56, mbeeic )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbee56_mem)
MCFG_CPU_IO_MAP(mbee56_io)
- MCFG_MACHINE_RESET( mbee56 )
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee56 )
MCFG_WD2793_ADD("fdc", mbee_wd17xx_interface )
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(mbee_floppy_interface)
MACHINE_CONFIG_END
@@ -787,14 +787,14 @@ static MACHINE_CONFIG_DERIVED( mbee64, mbee56 )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbee64_mem)
MCFG_CPU_IO_MAP(mbee64_io)
- MCFG_MACHINE_RESET( mbee64 )
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee64 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mbee128, mbeeppc )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbee128_mem)
MCFG_CPU_IO_MAP(mbee128_io)
- MCFG_MACHINE_RESET( mbee128 )
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee128 )
MCFG_WD2793_ADD("fdc", mbee_wd17xx_interface )
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(mbee_floppy_interface)
MACHINE_CONFIG_END
@@ -802,7 +802,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mbee256, mbee128 )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP(mbee256_io)
- MCFG_MACHINE_RESET( mbee256 )
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee256 )
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
MCFG_DEVICE_REMOVE("crtc")
MCFG_MC6845_ADD("crtc", SY6545_1, XTAL_13_5MHz / 8, mbee256_crtc)
@@ -812,7 +812,7 @@ static MACHINE_CONFIG_DERIVED( mbeett, mbeeppc )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP(mbeett_mem)
MCFG_CPU_IO_MAP(mbeett_io)
- MCFG_MACHINE_RESET( mbeett )
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbeett )
MCFG_MC146818_ADD( "rtc", MC146818_STANDARD )
MCFG_DEVICE_REMOVE("crtc")
MCFG_MC6845_ADD("crtc", SY6545_1, XTAL_13_5MHz / 8, mbee256_crtc)
diff --git a/src/mess/drivers/mc80.c b/src/mess/drivers/mc80.c
index 5a384e6c9b8..adb671b9fde 100644
--- a/src/mess/drivers/mc80.c
+++ b/src/mess/drivers/mc80.c
@@ -164,7 +164,7 @@ static MACHINE_CONFIG_START( mc8020, mc80_state )
MCFG_CPU_PROGRAM_MAP(mc8020_mem)
MCFG_CPU_IO_MAP(mc8020_io)
- MCFG_MACHINE_RESET(mc8020)
+ MCFG_MACHINE_RESET_OVERRIDE(mc80_state,mc8020)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -172,7 +172,7 @@ static MACHINE_CONFIG_START( mc8020, mc80_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(32*6, 16*8)
MCFG_SCREEN_VISIBLE_AREA(0, 32*6-1, 0, 16*8-1)
- MCFG_VIDEO_START(mc8020)
+ MCFG_VIDEO_START_OVERRIDE(mc80_state,mc8020)
MCFG_SCREEN_UPDATE_STATIC(mc8020)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
@@ -190,7 +190,7 @@ static MACHINE_CONFIG_START( mc8030, mc80_state )
MCFG_CPU_IO_MAP(mc8030_io)
MCFG_CPU_CONFIG(mc8030_daisy_chain)
- MCFG_MACHINE_RESET(mc8030)
+ MCFG_MACHINE_RESET_OVERRIDE(mc80_state,mc8030)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -198,7 +198,7 @@ static MACHINE_CONFIG_START( mc8030, mc80_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- MCFG_VIDEO_START(mc8030)
+ MCFG_VIDEO_START_OVERRIDE(mc80_state,mc8030)
MCFG_SCREEN_UPDATE_STATIC(mc8030)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/megadriv.c b/src/mess/drivers/megadriv.c
index fdd53f9e7b6..b3bf99f0f7c 100644
--- a/src/mess/drivers/megadriv.c
+++ b/src/mess/drivers/megadriv.c
@@ -2,6 +2,17 @@
#include "emu.h"
#include "includes/megadriv.h"
+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;
+ DECLARE_MACHINE_START(ms_megadriv);
+ DECLARE_MACHINE_RESET(ms_megadriv);
+};
+
/*************************************
*
* Input handlers
@@ -306,23 +317,23 @@ INPUT_PORTS_END
*
*************************************/
-static MACHINE_START( ms_megadriv )
+MACHINE_START_MEMBER(pico_state,ms_megadriv)
{
- mess_init_6buttons_pad(machine);
- MACHINE_START_CALL( md_sram );
+ mess_init_6buttons_pad(machine());
+ MACHINE_START_CALL_LEGACY( md_sram );
}
-static MACHINE_RESET( ms_megadriv )
+MACHINE_RESET_MEMBER(pico_state,ms_megadriv)
{
- MACHINE_RESET_CALL( megadriv );
+ MACHINE_RESET_CALL_LEGACY( megadriv );
}
static MACHINE_CONFIG_START( ms_megadriv, md_cons_state )
MCFG_FRAGMENT_ADD( md_ntsc )
MCFG_NVRAM_HANDLER_CLEAR()
- MCFG_MACHINE_START( ms_megadriv )
- MCFG_MACHINE_RESET( ms_megadriv )
+ MCFG_MACHINE_START_OVERRIDE(pico_state, ms_megadriv )
+ MCFG_MACHINE_RESET_OVERRIDE(pico_state, ms_megadriv )
MCFG_FRAGMENT_ADD( genesis_cartslot )
MACHINE_CONFIG_END
@@ -331,8 +342,8 @@ static MACHINE_CONFIG_START( ms_megadpal, md_cons_state )
MCFG_FRAGMENT_ADD( md_pal )
MCFG_NVRAM_HANDLER_CLEAR()
- MCFG_MACHINE_START( ms_megadriv )
- MCFG_MACHINE_RESET( ms_megadriv )
+ MCFG_MACHINE_START_OVERRIDE(pico_state, ms_megadriv )
+ MCFG_MACHINE_RESET_OVERRIDE(pico_state, ms_megadriv )
MCFG_FRAGMENT_ADD( genesis_cartslot )
MACHINE_CONFIG_END
@@ -342,8 +353,8 @@ static MACHINE_CONFIG_START( ms_megdsvp, mdsvp_state )
MCFG_FRAGMENT_ADD( md_svp )
MCFG_NVRAM_HANDLER_CLEAR()
- MCFG_MACHINE_START( ms_megadriv )
- MCFG_MACHINE_RESET( ms_megadriv )
+ MCFG_MACHINE_START_OVERRIDE(pico_state, ms_megadriv )
+ MCFG_MACHINE_RESET_OVERRIDE(pico_state, ms_megadriv )
MCFG_FRAGMENT_ADD( genesis_cartslot )
MACHINE_CONFIG_END
@@ -353,8 +364,8 @@ static MACHINE_CONFIG_START( ms_megdsvppal, mdsvp_state )
MCFG_FRAGMENT_ADD( md_svp )
MCFG_NVRAM_HANDLER_CLEAR()
- MCFG_MACHINE_START( ms_megadriv )
- MCFG_MACHINE_RESET( ms_megadriv )
+ MCFG_MACHINE_START_OVERRIDE(pico_state, ms_megadriv )
+ MCFG_MACHINE_RESET_OVERRIDE(pico_state, ms_megadriv )
MCFG_FRAGMENT_ADD( genesis_cartslot )
MACHINE_CONFIG_END
@@ -815,7 +826,7 @@ static MACHINE_CONFIG_START( pico, pico_state )
MCFG_DEVICE_REMOVE("genesis_snd_z80")
- MCFG_MACHINE_RESET( ms_megadriv )
+ MCFG_MACHINE_RESET_OVERRIDE(pico_state, ms_megadriv )
MCFG_FRAGMENT_ADD( pico_cartslot )
MACHINE_CONFIG_END
@@ -829,7 +840,7 @@ static MACHINE_CONFIG_START( picopal, pico_state )
MCFG_DEVICE_REMOVE("genesis_snd_z80")
- MCFG_MACHINE_RESET( ms_megadriv )
+ MCFG_MACHINE_RESET_OVERRIDE(pico_state, ms_megadriv )
MCFG_FRAGMENT_ADD( pico_cartslot )
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/mephisto.c b/src/mess/drivers/mephisto.c
index 738f3fdb953..fa3d5936d42 100644
--- a/src/mess/drivers/mephisto.c
+++ b/src/mess/drivers/mephisto.c
@@ -90,6 +90,9 @@ public:
UINT8 m_led7;
UINT8 m_allowNMI;
DECLARE_DRIVER_INIT(mephisto);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(mm2);
};
@@ -354,47 +357,44 @@ static TIMER_DEVICE_CALLBACK( update_irq ) //only mm2
beep_set_state(state->m_beep, state->m_led_status&64?1:0);
}
-static MACHINE_START( mephisto )
+void mephisto_state::machine_start()
{
- mephisto_state *state = machine.driver_data<mephisto_state>();
- state->m_lcd_shift_counter = 3;
- state->m_allowNMI = 1;
- mboard_savestate_register(machine);
+ m_lcd_shift_counter = 3;
+ m_allowNMI = 1;
+ mboard_savestate_register(machine());
}
-static MACHINE_START( mm2 )
+MACHINE_START_MEMBER(mephisto_state,mm2)
{
- mephisto_state *state = machine.driver_data<mephisto_state>();
- state->m_lcd_shift_counter = 3;
- state->m_led7=0xff;
+ m_lcd_shift_counter = 3;
+ m_led7=0xff;
- mboard_savestate_register(machine);
+ mboard_savestate_register(machine());
}
-static MACHINE_RESET( mephisto )
+void mephisto_state::machine_reset()
{
- mephisto_state *state = machine.driver_data<mephisto_state>();
- state->m_lcd_shift_counter = 3;
- state->m_allowNMI = 1;
+ m_lcd_shift_counter = 3;
+ m_allowNMI = 1;
mboard_set_border_pieces();
mboard_set_board();
/* adjust artwork depending on current emulation*/
- if (!strcmp(machine.system().name,"mm2") )
+ if (!strcmp(machine().system().name,"mm2") )
output_set_value("MM",1);
- else if (!strcmp(machine.system().name,"mm4") )
+ else if (!strcmp(machine().system().name,"mm4") )
output_set_value("MM",2);
- else if (!strcmp(machine.system().name,"mm4tk") )
+ else if (!strcmp(machine().system().name,"mm4tk") )
output_set_value("MM",5);
- else if (!strcmp(machine.system().name,"mm5tk") )
+ else if (!strcmp(machine().system().name,"mm5tk") )
output_set_value("MM",5);
- else if (!strcmp(machine.system().name,"mm5") )
+ else if (!strcmp(machine().system().name,"mm5") )
output_set_value("MM",3);
- else if (!strcmp(machine.system().name,"mm50") )
+ else if (!strcmp(machine().system().name,"mm50") )
output_set_value("MM",3);
- else if (!strcmp(machine.system().name,"rebel5") )
+ else if (!strcmp(machine().system().name,"rebel5") )
output_set_value("MM",4);
}
@@ -404,8 +404,6 @@ static MACHINE_CONFIG_START( mephisto, mephisto_state )
MCFG_CPU_ADD("maincpu",M65C02,4915200) /* 65C02 */
MCFG_CPU_PROGRAM_MAP(mephisto_mem)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( mephisto )
- MCFG_MACHINE_RESET( mephisto )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -428,7 +426,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mm2, mephisto )
MCFG_CPU_REPLACE("maincpu", M65C02, 3700000)
MCFG_CPU_PROGRAM_MAP(mm2_mem)
- MCFG_MACHINE_START( mm2 )
+ MCFG_MACHINE_START_OVERRIDE(mephisto_state, mm2 )
MCFG_DEVICE_REMOVE("nmi_timer")
MCFG_TIMER_ADD_PERIODIC("irq_timer", update_irq, attotime::from_hz(450))
diff --git a/src/mess/drivers/microdec.c b/src/mess/drivers/microdec.c
index d63b9c834b3..a1889ef6213 100644
--- a/src/mess/drivers/microdec.c
+++ b/src/mess/drivers/microdec.c
@@ -27,6 +27,7 @@ public:
UINT8 m_term_data;
required_device<generic_terminal_device> m_terminal;
+ virtual void machine_reset();
};
@@ -62,10 +63,9 @@ static INPUT_PORTS_START( microdec )
INPUT_PORTS_END
-static MACHINE_RESET(microdec)
+void microdec_state::machine_reset()
{
- microdec_state *state = machine.driver_data<microdec_state>();
- state->m_term_data = 0;
+ m_term_data = 0;
}
WRITE8_MEMBER( microdec_state::kbd_put )
@@ -110,7 +110,6 @@ static MACHINE_CONFIG_START( microdec, microdec_state )
MCFG_CPU_PROGRAM_MAP(microdec_mem)
MCFG_CPU_IO_MAP(microdec_io)
- MCFG_MACHINE_RESET(microdec)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/micronic.c b/src/mess/drivers/micronic.c
index f26430c1efa..a007bb260b5 100644
--- a/src/mess/drivers/micronic.c
+++ b/src/mess/drivers/micronic.c
@@ -314,10 +314,10 @@ static NVRAM_HANDLER( micronic )
}
}
-static PALETTE_INIT( micronic )
+void micronic_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
static HD61830_INTERFACE( lcdc_intf )
@@ -372,7 +372,6 @@ static MACHINE_CONFIG_START( micronic, micronic_state )
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(micronic)
MCFG_HD61830_ADD(HD61830_TAG, XTAL_4_9152MHz/2/2, lcdc_intf)
diff --git a/src/mess/drivers/microtan.c b/src/mess/drivers/microtan.c
index 3bafc7c36f6..af9d4203fc3 100644
--- a/src/mess/drivers/microtan.c
+++ b/src/mess/drivers/microtan.c
@@ -221,7 +221,6 @@ static MACHINE_CONFIG_START( microtan, microtan_state )
MCFG_CPU_PROGRAM_MAP(microtan_map)
MCFG_CPU_VBLANK_INT("screen", microtan_interrupt)
- MCFG_MACHINE_RESET(microtan)
/* video hardware - include overscan */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -235,7 +234,6 @@ static MACHINE_CONFIG_START( microtan, microtan_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(microtan)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/mikro80.c b/src/mess/drivers/mikro80.c
index ecabc42a83b..4b587e8200a 100644
--- a/src/mess/drivers/mikro80.c
+++ b/src/mess/drivers/mikro80.c
@@ -174,7 +174,6 @@ static MACHINE_CONFIG_START( mikro80, mikro80_state )
MCFG_CPU_ADD("maincpu",I8080, 2000000)
MCFG_CPU_PROGRAM_MAP(mikro80_mem)
MCFG_CPU_IO_MAP(mikro80_io)
- MCFG_MACHINE_RESET( mikro80 )
MCFG_I8255_ADD( "ppi8255", mikro80_ppi8255_interface )
@@ -190,7 +189,6 @@ static MACHINE_CONFIG_START( mikro80, mikro80_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(mikro80)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
diff --git a/src/mess/drivers/mikrosha.c b/src/mess/drivers/mikrosha.c
index 0ceee786883..5ea8e2a054e 100644
--- a/src/mess/drivers/mikrosha.c
+++ b/src/mess/drivers/mikrosha.c
@@ -200,7 +200,7 @@ static MACHINE_CONFIG_START( mikrosha, mikrosha_state )
MCFG_CPU_PROGRAM_MAP(mikrosha_mem)
MCFG_CPU_IO_MAP(mikrosha_io)
- MCFG_MACHINE_RESET( radio86 )
+ MCFG_MACHINE_RESET_OVERRIDE(mikrosha_state, radio86 )
MCFG_I8255_ADD( "ppi8255_1", mikrosha_ppi8255_interface_1 )
@@ -220,7 +220,7 @@ static MACHINE_CONFIG_START( mikrosha, mikrosha_state )
MCFG_GFXDECODE(mikrosha)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(radio86)
+ MCFG_PALETTE_INIT_OVERRIDE(mikrosha_state,radio86)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
diff --git a/src/mess/drivers/mini2440.c b/src/mess/drivers/mini2440.c
index 721cecc1c72..1bdfee16a1c 100644
--- a/src/mess/drivers/mini2440.c
+++ b/src/mess/drivers/mini2440.c
@@ -42,6 +42,8 @@ public:
UINT32 m_port[9];
DECLARE_DRIVER_INIT(mini2440);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/***************************************************************************
@@ -164,21 +166,19 @@ static INPUT_CHANGED( mini2440_input_changed )
// ...
-static MACHINE_START( mini2440 )
+void mini2440_state::machine_start()
{
- mini2440_state *state = machine.driver_data<mini2440_state>();
- state->m_s3c2440 = machine.device("s3c2440");
- state->m_nand = machine.device<nand_device>("nand");
- state->m_dac[0] = machine.device<dac_device>("dac1");
- state->m_dac[1] = machine.device<dac_device>("dac2");
- state->m_nand->set_data_ptr(state->memregion("nand")->base());
+ m_s3c2440 = machine().device("s3c2440");
+ m_nand = machine().device<nand_device>("nand");
+ m_dac[0] = machine().device<dac_device>("dac1");
+ m_dac[1] = machine().device<dac_device>("dac2");
+ m_nand->set_data_ptr(memregion("nand")->base());
}
-static MACHINE_RESET( mini2440 )
+void mini2440_state::machine_reset()
{
- mini2440_state *state = machine.driver_data<mini2440_state>();
- machine.device("maincpu")->reset();
- memset( state->m_port, 0, sizeof( state->m_port));
+ machine().device("maincpu")->reset();
+ memset( m_port, 0, sizeof( m_port));
}
/***************************************************************************
@@ -236,8 +236,6 @@ static MACHINE_CONFIG_START( mini2440, mini2440_state )
MCFG_SCREEN_UPDATE_DEVICE("s3c2440", s3c2440_device, screen_update)
- MCFG_MACHINE_START(mini2440)
- MCFG_MACHINE_RESET(mini2440)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("dac1", DAC, 0)
diff --git a/src/mess/drivers/mirage.c b/src/mess/drivers/mirage.c
index 235fac13b7e..f6d03968010 100644
--- a/src/mess/drivers/mirage.c
+++ b/src/mess/drivers/mirage.c
@@ -94,6 +94,7 @@ public:
void fdc_intrq_w(bool state);
DECLARE_DRIVER_INIT(mirage);
+ virtual void video_start();
};
const floppy_format_type mirage_state::floppy_formats[] = {
@@ -119,7 +120,7 @@ static UINT8 mirage_adc_read(device_t *device)
return 0x80;
}
-static VIDEO_START( mirage )
+void mirage_state::video_start()
{
}
@@ -249,7 +250,6 @@ static MACHINE_CONFIG_START( mirage, mirage_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_VIDEO_START(mirage)
MCFG_SCREEN_UPDATE_STATIC(mirage)
MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 1, 239)
diff --git a/src/mess/drivers/mk1.c b/src/mess/drivers/mk1.c
index 037ce43924d..a7434aa40ca 100644
--- a/src/mess/drivers/mk1.c
+++ b/src/mess/drivers/mk1.c
@@ -55,6 +55,7 @@ public:
DECLARE_WRITE8_MEMBER(mk1_f8_w);
UINT8 m_f8[2];
UINT8 m_led[4];
+ virtual void machine_start();
};
@@ -159,7 +160,7 @@ static TIMER_DEVICE_CALLBACK( mk1_update_leds )
}
-static MACHINE_START( mk1 )
+void mk1_state::machine_start()
{
}
@@ -185,7 +186,6 @@ static MACHINE_CONFIG_START( mk1, mk1_state )
MCFG_CPU_IO_MAP( mk1_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( mk1 )
MCFG_F3853_ADD( "f3853", MAIN_CLOCK, mk1_config )
diff --git a/src/mess/drivers/mk14.c b/src/mess/drivers/mk14.c
index aa5323dfe69..187b5375e1f 100644
--- a/src/mess/drivers/mk14.c
+++ b/src/mess/drivers/mk14.c
@@ -20,6 +20,7 @@ public:
DECLARE_READ8_MEMBER(keyboard_r);
DECLARE_WRITE8_MEMBER(display_w);
+ virtual void machine_reset();
};
/*
@@ -127,7 +128,7 @@ static INPUT_PORTS_START( mk14 )
INPUT_PORTS_END
-static MACHINE_RESET(mk14)
+void mk14_state::machine_reset()
{
}
@@ -146,7 +147,6 @@ static MACHINE_CONFIG_START( mk14, mk14_state )
MCFG_CPU_ADD("maincpu", INS8060, XTAL_4_433619MHz)
MCFG_CPU_PROGRAM_MAP(mk14_mem)
- MCFG_MACHINE_RESET(mk14)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_mk14)
diff --git a/src/mess/drivers/mk2.c b/src/mess/drivers/mk2.c
index 69b084753f5..f68beb35d1a 100644
--- a/src/mess/drivers/mk2.c
+++ b/src/mess/drivers/mk2.c
@@ -72,6 +72,7 @@ public:
DECLARE_READ8_MEMBER(mk2_read_b);
DECLARE_WRITE8_MEMBER(mk2_write_b);
UINT8 m_led[5];
+ virtual void machine_start();
};
@@ -127,7 +128,7 @@ static TIMER_DEVICE_CALLBACK( update_leds )
state->m_led[0]= state->m_led[1]= state->m_led[2]= state->m_led[3]= state->m_led[4]= 0;
}
-static MACHINE_START( mk2 )
+void mk2_state::machine_start()
{
}
@@ -195,7 +196,6 @@ static MACHINE_CONFIG_START( mk2, mk2_state )
MCFG_CPU_PROGRAM_MAP(mk2_mem)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( mk2 )
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_mk2)
diff --git a/src/mess/drivers/mk85.c b/src/mess/drivers/mk85.c
index dbdae357e28..2a1bf97ee16 100644
--- a/src/mess/drivers/mk85.c
+++ b/src/mess/drivers/mk85.c
@@ -27,6 +27,8 @@ public:
mk85_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -41,11 +43,11 @@ static INPUT_PORTS_START( mk85 )
INPUT_PORTS_END
-static MACHINE_RESET(mk85)
+void mk85_state::machine_reset()
{
}
-static VIDEO_START( mk85 )
+void mk85_state::video_start()
{
}
@@ -65,7 +67,6 @@ static MACHINE_CONFIG_START( mk85, mk85_state )
MCFG_CPU_CONFIG(t11_data)
MCFG_CPU_PROGRAM_MAP(mk85_mem)
- MCFG_MACHINE_RESET(mk85)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -73,7 +74,6 @@ static MACHINE_CONFIG_START( mk85, mk85_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(mk85)
MCFG_SCREEN_UPDATE_STATIC(mk85)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/mk90.c b/src/mess/drivers/mk90.c
index 172df360570..4e7b7c745a2 100644
--- a/src/mess/drivers/mk90.c
+++ b/src/mess/drivers/mk90.c
@@ -24,6 +24,8 @@ public:
mk90_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -46,11 +48,11 @@ static INPUT_PORTS_START( mk90 )
INPUT_PORTS_END
-static MACHINE_RESET(mk90)
+void mk90_state::machine_reset()
{
}
-static VIDEO_START( mk90 )
+void mk90_state::video_start()
{
}
@@ -70,7 +72,6 @@ static MACHINE_CONFIG_START( mk90, mk90_state )
MCFG_CPU_CONFIG(t11_data)
MCFG_CPU_PROGRAM_MAP(mk90_mem)
- MCFG_MACHINE_RESET(mk90)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -78,7 +79,6 @@ static MACHINE_CONFIG_START( mk90, mk90_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(mk90)
MCFG_SCREEN_UPDATE_STATIC(mk90)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/mmd1.c b/src/mess/drivers/mmd1.c
index 3366f28afee..7dec14a75dc 100644
--- a/src/mess/drivers/mmd1.c
+++ b/src/mess/drivers/mmd1.c
@@ -169,6 +169,8 @@ public:
UINT8 m_return_code;
UINT8 m_digit;
DECLARE_DRIVER_INIT(mmd2);
+ DECLARE_MACHINE_RESET(mmd1);
+ DECLARE_MACHINE_RESET(mmd2);
};
@@ -439,23 +441,21 @@ static I8085_CONFIG( mmd2_cpu_config )
DEVCB_NULL /* SOD changed callback (I8085A only) */
};
-static MACHINE_RESET( mmd1 )
+MACHINE_RESET_MEMBER(mmd1_state,mmd1)
{
- mmd1_state *state = machine.driver_data<mmd1_state>();
- state->m_return_code = 0xff;
+ m_return_code = 0xff;
}
-static MACHINE_RESET( mmd2 )
+MACHINE_RESET_MEMBER(mmd1_state,mmd2)
{
- mmd1_state *state = machine.driver_data<mmd1_state>();
- state->membank("bank1")->set_entry(0);
- state->membank("bank2")->set_entry(0);
- state->membank("bank3")->set_entry(0);
- state->membank("bank4")->set_entry(0);
- state->membank("bank5")->set_entry(0);
- state->membank("bank6")->set_entry(0);
- state->membank("bank7")->set_entry(0);
- state->membank("bank8")->set_entry(0);
+ membank("bank1")->set_entry(0);
+ membank("bank2")->set_entry(0);
+ membank("bank3")->set_entry(0);
+ membank("bank4")->set_entry(0);
+ membank("bank5")->set_entry(0);
+ membank("bank6")->set_entry(0);
+ membank("bank7")->set_entry(0);
+ membank("bank8")->set_entry(0);
}
DRIVER_INIT_MEMBER(mmd1_state,mmd2)
@@ -497,7 +497,7 @@ static MACHINE_CONFIG_START( mmd1, mmd1_state )
MCFG_CPU_PROGRAM_MAP(mmd1_mem)
MCFG_CPU_IO_MAP(mmd1_io)
- MCFG_MACHINE_RESET(mmd1)
+ MCFG_MACHINE_RESET_OVERRIDE(mmd1_state,mmd1)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_mmd1)
@@ -510,7 +510,7 @@ static MACHINE_CONFIG_START( mmd2, mmd1_state )
MCFG_CPU_IO_MAP(mmd2_io)
MCFG_CPU_CONFIG(mmd2_cpu_config)
- MCFG_MACHINE_RESET(mmd2)
+ MCFG_MACHINE_RESET_OVERRIDE(mmd1_state,mmd2)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_mmd2)
diff --git a/src/mess/drivers/mmodular.c b/src/mess/drivers/mmodular.c
index e7591316ce6..c3cbda6d5db 100644
--- a/src/mess/drivers/mmodular.c
+++ b/src/mess/drivers/mmodular.c
@@ -183,6 +183,18 @@ public:
DECLARE_READ32_MEMBER(read_1800000);
DECLARE_WRITE32_MEMBER(write_1000000);
DECLARE_DRIVER_INIT(polgar);
+ DECLARE_MACHINE_START(polgar);
+ DECLARE_MACHINE_RESET(polgar);
+ DECLARE_MACHINE_START(sfortea);
+ DECLARE_MACHINE_RESET(sfortea);
+ DECLARE_MACHINE_START(van32);
+ DECLARE_MACHINE_RESET(van16);
+ DECLARE_MACHINE_RESET(monteciv);
+ DECLARE_MACHINE_START(diablo68);
+ DECLARE_MACHINE_START(van16);
+ DECLARE_MACHINE_START(risc);
+ DECLARE_MACHINE_RESET(academy);
+ DECLARE_PALETTE_INIT(chess_lcd);
};
static HD44780_INTERFACE( chess_display )
@@ -988,15 +1000,15 @@ static TIMER_DEVICE_CALLBACK( timer_update_irq_academy )
}
-static MACHINE_START( van32 )
+MACHINE_START_MEMBER(polgar_state,van32)
{
// patch LCD delay loop on the 68030 machines until waitstates and/or opcode timings are fixed in MAME core
// patches gen32 gen32_41 gen32_oc lond030
- UINT8 *rom = machine.root_device().memregion("maincpu")->base();
+ UINT8 *rom = machine().root_device().memregion("maincpu")->base();
if(rom[0x870] == 0x0c && rom[0x871] == 0x78) {
- if (!strcmp(machine.system().name,"gen32_oc")) {
+ if (!strcmp(machine().system().name,"gen32_oc")) {
rom[0x870] = 0x6c;
} else {
rom[0x870] = 0x38;
@@ -1005,7 +1017,7 @@ static MACHINE_START( van32 )
}
-static MACHINE_START( risc )
+MACHINE_START_MEMBER(polgar_state,risc)
{
}
@@ -1017,51 +1029,51 @@ static void common_chess_start(void)
mboard_set_board();
}
-static MACHINE_START( polgar )
+MACHINE_START_MEMBER(polgar_state,polgar)
{
common_chess_start();
- mboard_savestate_register(machine);
+ mboard_savestate_register(machine());
}
-static MACHINE_START( sfortea )
+MACHINE_START_MEMBER(polgar_state,sfortea)
{
common_chess_start();
- mboard_savestate_register(machine);
+ mboard_savestate_register(machine());
}
-static MACHINE_START( diablo68 )
+MACHINE_START_MEMBER(polgar_state,diablo68)
{
common_chess_start();
}
-static MACHINE_START( van16 )
+MACHINE_START_MEMBER(polgar_state,van16)
{
- mboard_savestate_register(machine);
+ mboard_savestate_register(machine());
}
-static MACHINE_RESET( van16 )
+MACHINE_RESET_MEMBER(polgar_state,van16)
{
common_chess_start();
}
-static MACHINE_RESET( polgar )
+MACHINE_RESET_MEMBER(polgar_state,polgar)
{
common_chess_start();
}
-static MACHINE_RESET( sfortea )
+MACHINE_RESET_MEMBER(polgar_state,sfortea)
{
common_chess_start();
}
-static MACHINE_RESET( monteciv )
+MACHINE_RESET_MEMBER(polgar_state,monteciv)
{
montecivtop = 0;
montecivbot = 0;
@@ -1072,17 +1084,17 @@ static MACHINE_RESET( monteciv )
}
-static MACHINE_RESET( academy )
+MACHINE_RESET_MEMBER(polgar_state,academy)
{
academyallowNMI = 0;
common_chess_start();
}
-static PALETTE_INIT( chess_lcd )
+PALETTE_INIT_MEMBER(polgar_state,chess_lcd)
{
- // palette_set_color(machine, 0, MAKE_RGB(138, 146, 148)); // some think this is closer, but slightly less readable
- palette_set_color(machine, 0, MAKE_RGB(255, 255, 255));
- palette_set_color(machine, 1, MAKE_RGB(0, 0, 0));
+ // palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148)); // some think this is closer, but slightly less readable
+ palette_set_color(machine(), 0, MAKE_RGB(255, 255, 255));
+ palette_set_color(machine(), 1, MAKE_RGB(0, 0, 0));
}
static const gfx_layout chess_charlayout =
@@ -1525,7 +1537,7 @@ static MACHINE_CONFIG_FRAGMENT ( chess_common )
MCFG_SCREEN_VISIBLE_AREA(0, 100-1, 0, 22-3)
MCFG_SCREEN_UPDATE_DEVICE("hd44780", hd44780_device, screen_update)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(chess_lcd)
+ MCFG_PALETTE_INIT_OVERRIDE(polgar_state,chess_lcd)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
MCFG_GFXDECODE(chess_lcd)
@@ -1544,8 +1556,8 @@ static MACHINE_CONFIG_START( polgar, polgar_state )
MCFG_CPU_ADD("maincpu",M65C02,4915200)
MCFG_CPU_PROGRAM_MAP(polgar_mem)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( polgar )
- MCFG_MACHINE_RESET( polgar )
+ MCFG_MACHINE_START_OVERRIDE(polgar_state, polgar )
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state, polgar )
MCFG_FRAGMENT_ADD( chess_common )
MCFG_TIMER_ADD_PERIODIC("irq_timer", cause_nmi, attotime::from_hz(600))
@@ -1558,8 +1570,8 @@ static MACHINE_CONFIG_START( sfortea, polgar_state )
MCFG_CPU_ADD("maincpu",M65C02,5000000)
MCFG_CPU_PROGRAM_MAP(sfortea_mem)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( sfortea )
- MCFG_MACHINE_RESET( sfortea )
+ MCFG_MACHINE_START_OVERRIDE(polgar_state, sfortea )
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state, sfortea )
MCFG_FRAGMENT_ADD( chess_common )
/* acia */
@@ -1573,8 +1585,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( alm32, polgar_state )
MCFG_CPU_ADD("maincpu", M68020, XTAL_12MHz)
MCFG_CPU_PROGRAM_MAP(alm32_mem)
- MCFG_MACHINE_START(van32)
- MCFG_MACHINE_RESET(van16)
+ MCFG_MACHINE_START_OVERRIDE(polgar_state,van32)
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state,van16)
MCFG_TIMER_ADD_PERIODIC("int_timer", timer_update_irq6, attotime::from_hz(750))
MCFG_TIMER_ADD_PERIODIC("artwork_timer", mboard_update_artwork, attotime::from_hz(120))
@@ -1586,7 +1598,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( academy, polgar )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(academy_mem)
- MCFG_MACHINE_RESET( academy )
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state, academy )
//MCFG_DEVICE_REMOVE("int_timer")
MCFG_TIMER_ADD_PERIODIC("int_timer", timer_update_irq_academy, attotime::from_hz(600))
@@ -1602,8 +1614,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( monteciv, polgar_state )
MCFG_CPU_ADD("maincpu",M65C02,8000000)
MCFG_CPU_PROGRAM_MAP( monteciv_mem )
- MCFG_MACHINE_START( polgar )
- MCFG_MACHINE_RESET( monteciv )
+ MCFG_MACHINE_START_OVERRIDE(polgar_state, polgar )
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state, monteciv )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("beep", BEEP, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
@@ -1622,7 +1634,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( diablo68, polgar_state )
MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz)
MCFG_CPU_PROGRAM_MAP(diablo68_mem)
- MCFG_MACHINE_START(diablo68)
+ MCFG_MACHINE_START_OVERRIDE(polgar_state,diablo68)
MCFG_FRAGMENT_ADD( chess_common )
/* acia */
@@ -1638,8 +1650,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( van16, polgar_state )
MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz)
MCFG_CPU_PROGRAM_MAP(van16_mem)
- MCFG_MACHINE_START(van16)
- MCFG_MACHINE_RESET(van16)
+ MCFG_MACHINE_START_OVERRIDE(polgar_state,van16)
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state,van16)
MCFG_TIMER_ADD_PERIODIC("int_timer", timer_update_irq6, attotime::from_hz(600)) // chess clock right, diags wrong
// MCFG_TIMER_ADD_PERIODIC("int_timer", timer_update_irq6, attotime::from_hz(587)) // vv
MCFG_TIMER_ADD_PERIODIC("artwork_timer", mboard_update_artwork, attotime::from_hz(120))
@@ -1656,8 +1668,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( van32, polgar_state )
MCFG_CPU_ADD("maincpu", M68020, XTAL_12MHz)
MCFG_CPU_PROGRAM_MAP(van32_mem)
- MCFG_MACHINE_START(van32)
- MCFG_MACHINE_RESET(van16)
+ MCFG_MACHINE_START_OVERRIDE(polgar_state,van32)
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state,van16)
MCFG_TIMER_ADD_PERIODIC("int_timer", timer_update_irq6, attotime::from_hz(750))
MCFG_TIMER_ADD_PERIODIC("artwork_timer", mboard_update_artwork, attotime::from_hz(120))
@@ -1669,8 +1681,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( risc, polgar_state )
MCFG_CPU_ADD("maincpu", ARM, 14000000)
MCFG_CPU_PROGRAM_MAP(risc_mem)
- MCFG_MACHINE_START(risc)
- MCFG_MACHINE_RESET(van16)
+ MCFG_MACHINE_START_OVERRIDE(polgar_state,risc)
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state,van16)
MCFG_TIMER_ADD_PERIODIC("artwork_timer", mboard_update_artwork, attotime::from_hz(120))
MCFG_FRAGMENT_ADD( chess_common )
@@ -1681,8 +1693,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( gen32, polgar_state )
MCFG_CPU_ADD("maincpu", M68030, XTAL_33_333MHz)
MCFG_CPU_PROGRAM_MAP(gen32_mem)
- MCFG_MACHINE_START(van32)
- MCFG_MACHINE_RESET(van16)
+ MCFG_MACHINE_START_OVERRIDE(polgar_state,van32)
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state,van16)
MCFG_TIMER_ADD_PERIODIC("int_timer", timer_update_irq6, attotime::from_hz(375))
// MCFG_TIMER_ADD_PERIODIC("int_timer", timer_update_irq6, attotime::from_hz(368.64))
MCFG_TIMER_ADD_PERIODIC("artwork_timer", mboard_update_artwork, attotime::from_hz(120))
@@ -1705,8 +1717,8 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( bpl32, polgar_state )
MCFG_CPU_ADD("maincpu", M68020, XTAL_24_576MHz)
MCFG_CPU_PROGRAM_MAP(bpl32_mem)
- MCFG_MACHINE_START(van32)
- MCFG_MACHINE_RESET(van16)
+ MCFG_MACHINE_START_OVERRIDE(polgar_state,van32)
+ MCFG_MACHINE_RESET_OVERRIDE(polgar_state,van16)
MCFG_TIMER_ADD_PERIODIC("int_timer", timer_update_irq6, attotime::from_hz(750))
MCFG_TIMER_ADD_PERIODIC("artwork_timer", mboard_update_artwork, attotime::from_hz(100))
diff --git a/src/mess/drivers/mod8.c b/src/mess/drivers/mod8.c
index 85d5a281047..c816f20a5a3 100644
--- a/src/mess/drivers/mod8.c
+++ b/src/mess/drivers/mod8.c
@@ -35,6 +35,7 @@ public:
UINT16 m_tty_data;
UINT8 m_tty_key_data;
int m_tty_cnt;
+ virtual void machine_reset();
};
WRITE8_MEMBER( mod8_state::out_w )
@@ -86,9 +87,9 @@ static IRQ_CALLBACK ( mod8_irq_callback )
return 0xC0; // LAA - NOP equivalent
}
-static MACHINE_RESET(mod8)
+void mod8_state::machine_reset()
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(mod8_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(mod8_irq_callback);
}
WRITE8_MEMBER( mod8_state::kbd_put )
@@ -108,7 +109,6 @@ static MACHINE_CONFIG_START( mod8, mod8_state )
MCFG_CPU_PROGRAM_MAP(mod8_mem)
MCFG_CPU_IO_MAP(mod8_io)
- MCFG_MACHINE_RESET(mod8)
/* video hardware */
MCFG_GENERIC_TELEPRINTER_ADD(TELEPRINTER_TAG, teleprinter_intf)
diff --git a/src/mess/drivers/ms0515.c b/src/mess/drivers/ms0515.c
index 5b623892c40..6bb628feb1a 100644
--- a/src/mess/drivers/ms0515.c
+++ b/src/mess/drivers/ms0515.c
@@ -32,6 +32,7 @@ public:
UINT8 *m_video_ram;
UINT8 m_sysreg;
int m_blink;
+ virtual void palette_init();
};
static ADDRESS_MAP_START(ms0515_mem, AS_PROGRAM, 16, ms0515_state)
@@ -212,25 +213,25 @@ static SCREEN_UPDATE_IND16( ms0515 )
return 0;
}
-static PALETTE_INIT( ms0515 )
+void ms0515_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0, 0, 0));
- palette_set_color(machine, 1, MAKE_RGB(0, 0, 127));
- palette_set_color(machine, 2, MAKE_RGB(127, 0, 0));
- palette_set_color(machine, 3, MAKE_RGB(127, 0, 127));
- palette_set_color(machine, 4, MAKE_RGB(0, 127, 0));
- palette_set_color(machine, 5, MAKE_RGB(0, 127, 127));
- palette_set_color(machine, 6, MAKE_RGB(127, 127, 0));
- palette_set_color(machine, 7, MAKE_RGB(127, 127, 127));
-
- palette_set_color(machine, 8, MAKE_RGB(127, 127, 127));
- palette_set_color(machine, 9, MAKE_RGB(127, 127, 255));
- palette_set_color(machine, 10, MAKE_RGB(255, 127, 127));
- palette_set_color(machine, 11, MAKE_RGB(255, 127, 255));
- palette_set_color(machine, 12, MAKE_RGB(127, 255, 127));
- palette_set_color(machine, 13, MAKE_RGB(127, 255, 255));
- palette_set_color(machine, 14, MAKE_RGB(255, 255, 127));
- palette_set_color(machine, 15, MAKE_RGB(255, 255, 255));
+ palette_set_color(machine(), 0, MAKE_RGB(0, 0, 0));
+ palette_set_color(machine(), 1, MAKE_RGB(0, 0, 127));
+ palette_set_color(machine(), 2, MAKE_RGB(127, 0, 0));
+ palette_set_color(machine(), 3, MAKE_RGB(127, 0, 127));
+ palette_set_color(machine(), 4, MAKE_RGB(0, 127, 0));
+ palette_set_color(machine(), 5, MAKE_RGB(0, 127, 127));
+ palette_set_color(machine(), 6, MAKE_RGB(127, 127, 0));
+ palette_set_color(machine(), 7, MAKE_RGB(127, 127, 127));
+
+ palette_set_color(machine(), 8, MAKE_RGB(127, 127, 127));
+ palette_set_color(machine(), 9, MAKE_RGB(127, 127, 255));
+ palette_set_color(machine(), 10, MAKE_RGB(255, 127, 127));
+ palette_set_color(machine(), 11, MAKE_RGB(255, 127, 255));
+ palette_set_color(machine(), 12, MAKE_RGB(127, 255, 127));
+ palette_set_color(machine(), 13, MAKE_RGB(127, 255, 255));
+ palette_set_color(machine(), 14, MAKE_RGB(255, 255, 127));
+ palette_set_color(machine(), 15, MAKE_RGB(255, 255, 255));
}
static WRITE8_DEVICE_HANDLER(ms0515_portc_w)
@@ -267,7 +268,6 @@ static MACHINE_CONFIG_START( ms0515, ms0515_state )
MCFG_SCREEN_UPDATE_STATIC(ms0515)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(ms0515)
MCFG_I8255_ADD( "ppi8255_1", ms0515_ppi8255_interface_1 )
//MCFG_I8255_ADD( "ppi8255_2", ms0515_ppi8255_interface_2 )
diff --git a/src/mess/drivers/mstation.c b/src/mess/drivers/mstation.c
index b755613ee94..b24682158df 100644
--- a/src/mess/drivers/mstation.c
+++ b/src/mess/drivers/mstation.c
@@ -87,6 +87,7 @@ public:
virtual void machine_start();
virtual void machine_reset();
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ virtual void palette_init();
};
READ8_MEMBER( mstation_state::flash_0x0000_read_handler )
@@ -486,10 +487,10 @@ static TIMER_DEVICE_CALLBACK( mstation_kb_timer )
state->refresh_ints();
}
-static PALETTE_INIT( mstation )
+void mstation_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
static RP5C01_INTERFACE( rtc_intf )
@@ -512,7 +513,6 @@ static MACHINE_CONFIG_START( mstation, mstation_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 128-1)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(mstation)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_AMD_29F080_ADD("flash0")
diff --git a/src/mess/drivers/msx.c b/src/mess/drivers/msx.c
index 4ec5567dae9..17d1c3be9c5 100644
--- a/src/mess/drivers/msx.c
+++ b/src/mess/drivers/msx.c
@@ -1072,8 +1072,8 @@ static MACHINE_CONFIG_START( msx, msx_state )
MCFG_CPU_VBLANK_INT("screen", msx_interrupt) /* Needed for mouse updates */
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( msx )
- MCFG_MACHINE_RESET( msx )
+ MCFG_MACHINE_START_OVERRIDE(msx_state, msx )
+ MCFG_MACHINE_RESET_OVERRIDE(msx_state, msx )
MCFG_I8255_ADD( "ppi8255", msx_ppi8255_interface )
@@ -1151,8 +1151,8 @@ static MACHINE_CONFIG_START( msx2, msx_state )
MCFG_TIMER_ADD_SCANLINE("scantimer", msx2_interrupt, "screen", 0, 1)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( msx2 )
- MCFG_MACHINE_RESET( msx2 )
+ MCFG_MACHINE_START_OVERRIDE(msx_state, msx2 )
+ MCFG_MACHINE_RESET_OVERRIDE(msx_state, msx2 )
MCFG_I8255_ADD( "ppi8255", msx_ppi8255_interface )
diff --git a/src/mess/drivers/mtx.c b/src/mess/drivers/mtx.c
index 37b39e2a8df..79c2349ef28 100644
--- a/src/mess/drivers/mtx.c
+++ b/src/mess/drivers/mtx.c
@@ -353,8 +353,8 @@ static MACHINE_CONFIG_START( mtx512, mtx_state )
MCFG_CPU_IO_MAP(mtx_io)
MCFG_CPU_CONFIG(mtx_daisy_chain)
- MCFG_MACHINE_START(mtx512)
- MCFG_MACHINE_RESET(mtx512)
+ MCFG_MACHINE_START_OVERRIDE(mtx_state,mtx512)
+ MCFG_MACHINE_RESET_OVERRIDE(mtx_state,mtx512)
/* video hardware */
MCFG_TMS9928A_ADD( "tms9929a", TMS9929A, mtx_tms9928a_interface )
diff --git a/src/mess/drivers/multi16.c b/src/mess/drivers/multi16.c
index 7a2a2592694..3908e71b1c9 100644
--- a/src/mess/drivers/multi16.c
+++ b/src/mess/drivers/multi16.c
@@ -29,10 +29,13 @@ public:
DECLARE_WRITE_LINE_MEMBER(multi16_set_int_line);
required_shared_ptr<UINT16> m_p_vram;
UINT8 m_crtc_vreg[0x100],m_crtc_index;
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( multi16 )
+void multi16_state::video_start()
{
}
@@ -131,13 +134,13 @@ static const struct pic8259_interface multi16_pic8259_config =
DEVCB_NULL
};
-static MACHINE_START(multi16)
+void multi16_state::machine_start()
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(multi16_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(multi16_irq_callback);
}
-static MACHINE_RESET(multi16)
+void multi16_state::machine_reset()
{
}
@@ -161,8 +164,6 @@ static MACHINE_CONFIG_START( multi16, multi16_state )
MCFG_CPU_PROGRAM_MAP(multi16_map)
MCFG_CPU_IO_MAP(multi16_io)
- MCFG_MACHINE_START(multi16)
- MCFG_MACHINE_RESET(multi16)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -170,7 +171,6 @@ static MACHINE_CONFIG_START( multi16, multi16_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
- MCFG_VIDEO_START(multi16)
MCFG_SCREEN_UPDATE_STATIC(multi16)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mess/drivers/multi8.c b/src/mess/drivers/multi8.c
index 1a782b5a871..097c971769d 100644
--- a/src/mess/drivers/multi8.c
+++ b/src/mess/drivers/multi8.c
@@ -64,6 +64,10 @@ public:
UINT16 m_knj_addr;
DECLARE_READ8_MEMBER(ay8912_0_r);
DECLARE_READ8_MEMBER(ay8912_1_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
#define mc6845_h_char_total (state->m_crtc_vreg[0])
@@ -83,18 +87,17 @@ public:
#define mc6845_light_pen_addr (((state->m_crtc_vreg[0x10]<<8) & 0x3f00) | (state->m_crtc_vreg[0x11] & 0xff))
#define mc6845_update_addr (((state->m_crtc_vreg[0x12]<<8) & 0x3f00) | (state->m_crtc_vreg[0x13] & 0xff))
-static VIDEO_START( multi8 )
+void multi8_state::video_start()
{
- multi8_state *state = machine.driver_data<multi8_state>();
- state->m_keyb_press = state->m_keyb_press_flag = state->m_shift_press_flag = state->m_display_reg = 0;
+ m_keyb_press = m_keyb_press_flag = m_shift_press_flag = m_display_reg = 0;
- for (state->m_bw_mode = 0; state->m_bw_mode < 8; state->m_bw_mode++)
- state->m_pen_clut[state->m_bw_mode]=0;
+ for (m_bw_mode = 0; m_bw_mode < 8; m_bw_mode++)
+ m_pen_clut[m_bw_mode]=0;
- state->m_vram_bank = 8;
- state->m_bw_mode = 0;
- state->m_p_chargen = state->memregion("chargen")->base();
+ m_vram_bank = 8;
+ m_bw_mode = 0;
+ m_p_chargen = memregion("chargen")->base();
}
static void multi8_draw_pixel(running_machine &machine, bitmap_ind16 &bitmap,int y,int x,UINT8 pen,UINT8 width)
@@ -568,12 +571,12 @@ static const mc6845_interface mc6845_intf =
NULL /* update address callback */
};
-static PALETTE_INIT( multi8 )
+void multi8_state::palette_init()
{
UINT8 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));
}
READ8_MEMBER( multi8_state::porta_r )
@@ -641,20 +644,18 @@ static const ym2203_interface ym2203_config =
};
-static MACHINE_START(multi8)
+void multi8_state::machine_start()
{
- multi8_state *state = machine.driver_data<multi8_state>();
- state->m_p_vram = machine.root_device().memregion("vram")->base();
- state->m_p_wram = machine.root_device().memregion("wram")->base();
- state->m_p_kanji = state->memregion("kanji")->base();
+ m_p_vram = machine().root_device().memregion("vram")->base();
+ m_p_wram = machine().root_device().memregion("wram")->base();
+ m_p_kanji = memregion("kanji")->base();
}
-static MACHINE_RESET(multi8)
+void multi8_state::machine_reset()
{
- multi8_state *state = machine.driver_data<multi8_state>();
- beep_set_frequency(machine.device(BEEPER_TAG),1200); //guesswork
- beep_set_state(machine.device(BEEPER_TAG),0);
- state->m_mcu_init = 0;
+ beep_set_frequency(machine().device(BEEPER_TAG),1200); //guesswork
+ beep_set_state(machine().device(BEEPER_TAG),0);
+ m_mcu_init = 0;
}
static MACHINE_CONFIG_START( multi8, multi8_state )
@@ -663,8 +664,6 @@ static MACHINE_CONFIG_START( multi8, multi8_state )
MCFG_CPU_PROGRAM_MAP(multi8_mem)
MCFG_CPU_IO_MAP(multi8_io)
- MCFG_MACHINE_START(multi8)
- MCFG_MACHINE_RESET(multi8)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -672,10 +671,8 @@ static MACHINE_CONFIG_START( multi8, multi8_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
- MCFG_VIDEO_START(multi8)
MCFG_SCREEN_UPDATE_STATIC(multi8)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(multi8)
MCFG_GFXDECODE(multi8)
/* Audio */
diff --git a/src/mess/drivers/myb3k.c b/src/mess/drivers/myb3k.c
index df8b5ff6f7d..d4eb99acf65 100644
--- a/src/mess/drivers/myb3k.c
+++ b/src/mess/drivers/myb3k.c
@@ -38,9 +38,12 @@ public:
required_shared_ptr<UINT8> m_p_vram;
UINT8 m_crtc_vreg[0x100],m_crtc_index;
UINT8 m_vmode;
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( myb3k )
+void myb3k_state::video_start()
{
}
@@ -203,11 +206,11 @@ static INPUT_PORTS_START( myb3k )
INPUT_PORTS_END
-static MACHINE_START(myb3k)
+void myb3k_state::machine_start()
{
}
-static MACHINE_RESET(myb3k)
+void myb3k_state::machine_reset()
{
}
@@ -270,8 +273,6 @@ static MACHINE_CONFIG_START( myb3k, myb3k_state )
MCFG_CPU_PROGRAM_MAP(myb3k_map)
MCFG_CPU_IO_MAP(myb3k_io)
- MCFG_MACHINE_START(myb3k)
- MCFG_MACHINE_RESET(myb3k)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -279,7 +280,6 @@ static MACHINE_CONFIG_START( myb3k, myb3k_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(320, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
- MCFG_VIDEO_START(myb3k)
MCFG_SCREEN_UPDATE_STATIC(myb3k)
MCFG_GFXDECODE(myb3k)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/mz2000.c b/src/mess/drivers/mz2000.c
index 7f77a3af370..a0ce520c6e4 100644
--- a/src/mess/drivers/mz2000.c
+++ b/src/mess/drivers/mz2000.c
@@ -76,9 +76,11 @@ public:
DECLARE_WRITE8_MEMBER(timer_w);
DECLARE_WRITE8_MEMBER(mz2000_tvram_attr_w);
DECLARE_WRITE8_MEMBER(mz2000_gvram_mask_w);
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( mz2000 )
+void mz2000_state::video_start()
{
}
@@ -506,20 +508,19 @@ static INPUT_PORTS_START( mz2000 )
INPUT_PORTS_END
-static MACHINE_RESET(mz2000)
+void mz2000_state::machine_reset()
{
- mz2000_state *state = machine.driver_data<mz2000_state>();
- state->m_ipl_enable = 1;
- state->m_tvram_enable = 0;
- state->m_gvram_enable = 0;
+ m_ipl_enable = 1;
+ m_tvram_enable = 0;
+ m_gvram_enable = 0;
- beep_set_frequency(machine.device(BEEPER_TAG),4096);
- beep_set_state(machine.device(BEEPER_TAG),0);
+ beep_set_frequency(machine().device(BEEPER_TAG),4096);
+ beep_set_state(machine().device(BEEPER_TAG),0);
- state->m_color_mode = machine.root_device().ioport("CONFIG")->read() & 1;
- state->m_has_fdc = (machine.root_device().ioport("CONFIG")->read() & 2) >> 1;
- state->m_hi_mode = (machine.root_device().ioport("CONFIG")->read() & 4) >> 2;
+ m_color_mode = machine().root_device().ioport("CONFIG")->read() & 1;
+ m_has_fdc = (machine().root_device().ioport("CONFIG")->read() & 2) >> 1;
+ m_hi_mode = (machine().root_device().ioport("CONFIG")->read() & 4) >> 2;
{
int i;
@@ -527,11 +528,11 @@ static MACHINE_RESET(mz2000)
for(i=0;i<8;i++)
{
- r = (state->m_color_mode) ? (i & 2)>>1 : 0;
- g = (state->m_color_mode) ? (i & 4)>>2 : ((i) ? 1 : 0);
- b = (state->m_color_mode) ? (i & 1)>>0 : 0;
+ r = (m_color_mode) ? (i & 2)>>1 : 0;
+ g = (m_color_mode) ? (i & 4)>>2 : ((i) ? 1 : 0);
+ b = (m_color_mode) ? (i & 1)>>0 : 0;
- palette_set_color_rgb(machine, i,pal1bit(r),pal1bit(g),pal1bit(b));
+ palette_set_color_rgb(machine(), i,pal1bit(r),pal1bit(g),pal1bit(b));
}
}
}
@@ -830,7 +831,6 @@ static MACHINE_CONFIG_START( mz2000, mz2000_state )
MCFG_CPU_PROGRAM_MAP(mz2000_map)
MCFG_CPU_IO_MAP(mz2000_io)
- MCFG_MACHINE_RESET(mz2000)
MCFG_I8255_ADD( "i8255_0", ppi8255_intf )
MCFG_Z80PIO_ADD( "z80pio_1", MASTER_CLOCK, mz2000_pio1_intf )
@@ -853,7 +853,6 @@ static MACHINE_CONFIG_START( mz2000, mz2000_state )
MCFG_GFXDECODE(mz2000)
MCFG_PALETTE_LENGTH(8)
- MCFG_VIDEO_START(mz2000)
MCFG_SCREEN_UPDATE_STATIC(mz2000)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/mz2500.c b/src/mess/drivers/mz2500.c
index 53bb212b094..1c41f894bb7 100644
--- a/src/mess/drivers/mz2500.c
+++ b/src/mess/drivers/mz2500.c
@@ -160,6 +160,9 @@ public:
UINT8 mz2500_cg_latch_compare();
UINT8 mz2500_ram_read(UINT16 offset, UINT8 bank_num);
void mz2500_ram_write(UINT16 offset, UINT8 data, UINT8 bank_num);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -177,7 +180,7 @@ static const UINT8 bank_reset_val[2][8] =
/* video stuff*/
-static VIDEO_START( mz2500 )
+void mz2500_state::video_start()
{
}
@@ -1715,19 +1718,18 @@ static void mz2500_reset(mz2500_state *state, UINT8 type)
state->m_bank_val[i] = bank_reset_val[type][i];
}
-static MACHINE_RESET(mz2500)
+void mz2500_state::machine_reset()
{
- mz2500_state *state = machine.driver_data<mz2500_state>();
- UINT8 *RAM = machine.root_device().memregion("maincpu")->base();
- UINT8 *IPL = state->memregion("ipl")->base();
+ UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
+ UINT8 *IPL = memregion("ipl")->base();
UINT32 i;
- mz2500_reset(state, IPL_RESET);
+ mz2500_reset(this, IPL_RESET);
- //state->m_irq_vector[0] = 0xef; /* RST 28h - vblank */
+ //m_irq_vector[0] = 0xef; /* RST 28h - vblank */
- state->m_text_col_size = 0;
- state->m_text_font_reg = 0;
+ m_text_col_size = 0;
+ m_text_font_reg = 0;
/* copy IPL to its natural bank ROM/RAM position */
for(i=0;i<0x8000;i++)
@@ -1742,16 +1744,16 @@ static MACHINE_RESET(mz2500)
/* disable IRQ */
for(i=0;i<4;i++)
- state->m_irq_mask[i] = 0;
+ m_irq_mask[i] = 0;
- state->m_kanji_bank = 0;
+ m_kanji_bank = 0;
- state->m_cg_clear_flag = 0;
+ m_cg_clear_flag = 0;
- beep_set_frequency(machine.device(BEEPER_TAG),4096);
- beep_set_state(machine.device(BEEPER_TAG),0);
+ beep_set_frequency(machine().device(BEEPER_TAG),4096);
+ beep_set_state(machine().device(BEEPER_TAG),0);
-// state->m_monitor_type = machine.root_device().ioport("DSW1")->read() & 0x40 ? 1 : 0;
+// m_monitor_type = machine().root_device().ioport("DSW1")->read() & 0x40 ? 1 : 0;
}
static const gfx_layout mz2500_cg_layout =
@@ -1997,16 +1999,16 @@ static const ym2203_interface ym2203_interface_1 =
DEVCB_NULL
};
-static PALETTE_INIT( mz2500 )
+void mz2500_state::palette_init()
{
int i;
for(i=0;i<0x200;i++)
- palette_set_color_rgb(machine, i,pal1bit(0),pal1bit(0),pal1bit(0));
+ palette_set_color_rgb(machine(), i,pal1bit(0),pal1bit(0),pal1bit(0));
/* set up 8 colors (PCG) */
for(i=0;i<8;i++)
- palette_set_color_rgb(machine, i+8,pal1bit((i & 2)>>1),pal1bit((i & 4)>>2),pal1bit((i & 1)>>0));
+ palette_set_color_rgb(machine(), i+8,pal1bit((i & 2)>>1),pal1bit((i & 4)>>2),pal1bit((i & 1)>>0));
/* set up 16 colors (PCG / CG) */
@@ -2031,7 +2033,7 @@ static PALETTE_INIT( mz2500 )
bit2 = i & 0x40 ? 4 : 0;
g = bit0|bit1|bit2;
- palette_set_color_rgb(machine, i+0x100,pal3bit(r),pal3bit(g),pal3bit(b));
+ palette_set_color_rgb(machine(), i+0x100,pal3bit(r),pal3bit(g),pal3bit(b));
}
}
}
@@ -2097,7 +2099,6 @@ static MACHINE_CONFIG_START( mz2500, mz2500_state )
MCFG_CPU_IO_MAP(mz2500_io)
MCFG_CPU_VBLANK_INT("screen", mz2500_vbl)
- MCFG_MACHINE_RESET(mz2500)
MCFG_I8255_ADD( "i8255_0", ppi8255_intf )
MCFG_Z80PIO_ADD( "z80pio_1", 6000000, mz2500_pio1_intf )
@@ -2115,11 +2116,9 @@ static MACHINE_CONFIG_START( mz2500, mz2500_state )
MCFG_SCREEN_UPDATE_STATIC(mz2500)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_PALETTE_INIT(mz2500)
MCFG_GFXDECODE(mz2500)
- MCFG_VIDEO_START(mz2500)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/mz6500.c b/src/mess/drivers/mz6500.c
index dcb8dd72791..2dfaf90dbe2 100644
--- a/src/mess/drivers/mz6500.c
+++ b/src/mess/drivers/mz6500.c
@@ -30,6 +30,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(fdc_irq);
DECLARE_WRITE_LINE_MEMBER(fdc_drq);
required_shared_ptr<UINT8> m_video_ram;
+ virtual void machine_reset();
+ virtual void video_start();
};
static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
@@ -51,7 +53,7 @@ static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
}
-static VIDEO_START( mz6500 )
+void mz6500_state::video_start()
{
}
@@ -115,7 +117,7 @@ static INPUT_PORTS_START( mz6500 )
INPUT_PORTS_END
-static MACHINE_RESET(mz6500)
+void mz6500_state::machine_reset()
{
}
@@ -173,14 +175,12 @@ static MACHINE_CONFIG_START( mz6500, mz6500_state )
MCFG_CPU_PROGRAM_MAP(mz6500_map)
MCFG_CPU_IO_MAP(mz6500_io)
- MCFG_MACHINE_RESET(mz6500)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DEVICE("upd7220", upd7220_device, screen_update)
- MCFG_VIDEO_START(mz6500)
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mess/drivers/mz700.c b/src/mess/drivers/mz700.c
index 3ca357e3f8b..2b6ae33b3cc 100644
--- a/src/mess/drivers/mz700.c
+++ b/src/mess/drivers/mz700.c
@@ -353,7 +353,6 @@ static MACHINE_CONFIG_START( mz700, mz_state )
MCFG_CPU_PROGRAM_MAP(mz700_mem)
MCFG_CPU_IO_MAP(mz700_io)
- MCFG_MACHINE_START(mz700)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -362,7 +361,6 @@ static MACHINE_CONFIG_START( mz700, mz_state )
MCFG_GFXDECODE(mz700)
MCFG_PALETTE_LENGTH(256*2)
- MCFG_PALETTE_INIT(mz700)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -397,7 +395,7 @@ static MACHINE_CONFIG_DERIVED( mz800, mz700 )
MCFG_CPU_IO_MAP(mz800_io)
MCFG_GFXDECODE(mz800)
- MCFG_VIDEO_START(mz800)
+ MCFG_VIDEO_START_OVERRIDE(mz_state,mz800)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(mz800)
diff --git a/src/mess/drivers/mz80.c b/src/mess/drivers/mz80.c
index 9fd31fdab26..d62ffd11dee 100644
--- a/src/mess/drivers/mz80.c
+++ b/src/mess/drivers/mz80.c
@@ -283,14 +283,12 @@ static MACHINE_CONFIG_START( mz80k, mz80_state )
MCFG_CPU_PROGRAM_MAP(mz80k_mem)
MCFG_CPU_IO_MAP(mz80k_io)
- MCFG_MACHINE_RESET( mz80k )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(320, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 199)
- MCFG_VIDEO_START(mz80k)
MCFG_SCREEN_UPDATE_STATIC(mz80k)
MCFG_GFXDECODE(mz80k)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/n64.c b/src/mess/drivers/n64.c
index 0d157546f38..715ce9c2cee 100644
--- a/src/mess/drivers/n64.c
+++ b/src/mess/drivers/n64.c
@@ -233,7 +233,8 @@ static DEVICE_IMAGE_LOAD(n64_cart)
MACHINE_START( n64dd )
{
- MACHINE_START_CALL( n64 );
+ n64_state *state = machine.driver_data<n64_state>();
+ state->machine_start();
UINT8 *ipl = machine.root_device().memregion("ddipl")->base();
@@ -268,8 +269,6 @@ static MACHINE_CONFIG_START( n64, n64_state )
MCFG_CPU_CONFIG(n64_rsp_config)
MCFG_CPU_PROGRAM_MAP(rsp_map)
- MCFG_MACHINE_START( n64 )
- MCFG_MACHINE_RESET( n64 )
//MCFG_QUANTUM_TIME(attotime::from_hz(1000000))
MCFG_QUANTUM_TIME(attotime::from_hz(1200))
@@ -283,7 +282,6 @@ static MACHINE_CONFIG_START( n64, n64_state )
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_VIDEO_START(n64)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mess/drivers/nakajies.c b/src/mess/drivers/nakajies.c
index 50959c81f67..e8bddbc2906 100644
--- a/src/mess/drivers/nakajies.c
+++ b/src/mess/drivers/nakajies.c
@@ -333,6 +333,7 @@ public:
/* Banking */
UINT8 m_bank[8];
UINT8 *m_bank_base[8];
+ virtual void palette_init();
};
@@ -694,10 +695,10 @@ static TIMER_DEVICE_CALLBACK( kb_timer )
}
-static PALETTE_INIT(nakajies)
+void nakajies_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
@@ -749,7 +750,6 @@ static MACHINE_CONFIG_START( nakajies210, nakajies_state )
MCFG_GFXDECODE(wales210)
MCFG_PALETTE_LENGTH( 2 )
MCFG_DEFAULT_LAYOUT(layout_lcd)
- MCFG_PALETTE_INIT(nakajies)
/* sound */
MCFG_SPEAKER_STANDARD_MONO( "mono" )
diff --git a/src/mess/drivers/nascom1.c b/src/mess/drivers/nascom1.c
index ba2d97c4bbd..c3096cf6ea1 100644
--- a/src/mess/drivers/nascom1.c
+++ b/src/mess/drivers/nascom1.c
@@ -281,7 +281,6 @@ static MACHINE_CONFIG_START( nascom1, nascom1_state )
MCFG_CPU_PROGRAM_MAP(nascom1_mem)
MCFG_CPU_IO_MAP(nascom1_io)
- MCFG_MACHINE_RESET( nascom1 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/nc.c b/src/mess/drivers/nc.c
index ece1d813f8b..12774c3d066 100644
--- a/src/mess/drivers/nc.c
+++ b/src/mess/drivers/nc.c
@@ -919,24 +919,23 @@ static const centronics_interface nc100_centronics_config =
};
-static MACHINE_RESET( nc100 )
+void nc_state::machine_reset()
{
- nc_state *state = machine.driver_data<nc_state>();
/* 256k of rom */
- state->m_membank_rom_mask = 0x0f;
+ m_membank_rom_mask = 0x0f;
- state->m_membank_internal_ram_mask = 3;
+ m_membank_internal_ram_mask = 3;
- state->m_membank_card_ram_mask = 0x03f;
+ m_membank_card_ram_mask = 0x03f;
- nc_common_init_machine(machine);
+ nc_common_init_machine(machine());
- nc_common_open_stream_for_reading(machine);
- nc_common_restore_memory_from_stream(machine);
- nc_common_close_stream(machine);
+ nc_common_open_stream_for_reading(machine());
+ nc_common_restore_memory_from_stream(machine());
+ nc_common_close_stream(machine());
/* serial */
- state->m_irq_latch_mask = (1<<0) | (1<<1);
+ m_irq_latch_mask = (1<<0) | (1<<1);
}
static void nc100_machine_stop(running_machine &machine)
@@ -946,19 +945,18 @@ static void nc100_machine_stop(running_machine &machine)
nc_common_close_stream(machine);
}
-static MACHINE_START( nc100 )
+void nc_state::machine_start()
{
- nc_state *state = machine.driver_data<nc_state>();
- state->m_type = NC_TYPE_1xx;
+ m_type = NC_TYPE_1xx;
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nc100_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nc100_machine_stop),&machine()));
/* keyboard timer */
- state->m_keyboard_timer = machine.scheduler().timer_alloc(FUNC(nc_keyboard_timer_callback));
- state->m_keyboard_timer->adjust(attotime::from_msec(10));
+ m_keyboard_timer = machine().scheduler().timer_alloc(FUNC(nc_keyboard_timer_callback));
+ m_keyboard_timer->adjust(attotime::from_msec(10));
/* serial timer */
- state->m_serial_timer = machine.scheduler().timer_alloc(FUNC(nc_serial_timer_callback));
+ m_serial_timer = machine().scheduler().timer_alloc(FUNC(nc_serial_timer_callback));
}
@@ -1307,28 +1305,27 @@ static void nc200_floppy_drive_index_callback(int drive_id)
}
#endif
-static MACHINE_RESET( nc200 )
+MACHINE_RESET_MEMBER(nc_state,nc200)
{
- nc_state *state = machine.driver_data<nc_state>();
/* 512k of rom */
- state->m_membank_rom_mask = 0x1f;
+ m_membank_rom_mask = 0x1f;
- state->m_membank_internal_ram_mask = 7;
+ m_membank_internal_ram_mask = 7;
- state->m_membank_card_ram_mask = 0x03f;
+ m_membank_card_ram_mask = 0x03f;
- nc_common_init_machine(machine);
+ nc_common_init_machine(machine());
- state->m_nc200_uart_interrupt_irq = 0;
+ m_nc200_uart_interrupt_irq = 0;
- nc_common_open_stream_for_reading(machine);
- nc_common_restore_memory_from_stream(machine);
- nc_common_close_stream(machine);
+ nc_common_open_stream_for_reading(machine());
+ nc_common_restore_memory_from_stream(machine());
+ nc_common_close_stream(machine());
/* fdc, serial */
- state->m_irq_latch_mask = /*(1<<5) |*/ (1<<2);
+ m_irq_latch_mask = /*(1<<5) |*/ (1<<2);
- nc200_video_set_backlight(machine, 0);
+ nc200_video_set_backlight(machine(), 0);
}
static void nc200_machine_stop(running_machine &machine)
@@ -1338,19 +1335,18 @@ static void nc200_machine_stop(running_machine &machine)
nc_common_close_stream(machine);
}
-static MACHINE_START( nc200 )
+MACHINE_START_MEMBER(nc_state,nc200)
{
- nc_state *state = machine.driver_data<nc_state>();
- state->m_type = NC_TYPE_200;
+ m_type = NC_TYPE_200;
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nc200_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nc200_machine_stop),&machine()));
/* keyboard timer */
- state->m_keyboard_timer = machine.scheduler().timer_alloc(FUNC(nc_keyboard_timer_callback));
- state->m_keyboard_timer->adjust(attotime::from_msec(10));
+ m_keyboard_timer = machine().scheduler().timer_alloc(FUNC(nc_keyboard_timer_callback));
+ m_keyboard_timer->adjust(attotime::from_msec(10));
/* serial timer */
- state->m_serial_timer = machine.scheduler().timer_alloc(FUNC(nc_serial_timer_callback));
+ m_serial_timer = machine().scheduler().timer_alloc(FUNC(nc_serial_timer_callback));
}
/*
@@ -1603,8 +1599,6 @@ static MACHINE_CONFIG_START( nc100, nc_state )
MCFG_CPU_IO_MAP(nc100_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( nc100 )
- MCFG_MACHINE_RESET( nc100 )
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -1615,10 +1609,8 @@ static MACHINE_CONFIG_START( nc100, nc_state )
MCFG_SCREEN_UPDATE_STATIC( nc )
MCFG_PALETTE_LENGTH(NC_NUM_COLOURS)
- MCFG_PALETTE_INIT( nc )
MCFG_DEFAULT_LAYOUT(layout_lcd)
- MCFG_VIDEO_START( nc )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1670,8 +1662,8 @@ static MACHINE_CONFIG_DERIVED( nc200, nc100 )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP(nc200_io)
- MCFG_MACHINE_START( nc200 )
- MCFG_MACHINE_RESET( nc200 )
+ MCFG_MACHINE_START_OVERRIDE(nc_state, nc200 )
+ MCFG_MACHINE_RESET_OVERRIDE(nc_state, nc200 )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mess/drivers/nes.c b/src/mess/drivers/nes.c
index f1468cf6354..97ec91845ed 100644
--- a/src/mess/drivers/nes.c
+++ b/src/mess/drivers/nes.c
@@ -458,8 +458,6 @@ static MACHINE_CONFIG_START( nes, nes_state )
MCFG_CPU_ADD("maincpu", N2A03, NTSC_CLOCK)
MCFG_CPU_PROGRAM_MAP(nes_map)
- MCFG_MACHINE_START( nes )
- MCFG_MACHINE_RESET( nes )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60.098)
@@ -472,8 +470,6 @@ static MACHINE_CONFIG_START( nes, nes_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_STATIC(nes)
- MCFG_PALETTE_INIT(nes)
- MCFG_VIDEO_START(nes)
MCFG_PALETTE_LENGTH(4*16*8)
@@ -509,7 +505,6 @@ static MACHINE_CONFIG_DERIVED( nespal, nes )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC((106.53/(PAL_CLOCK/1000000)) * (PPU_VBLANK_LAST_SCANLINE_PAL-PPU_VBLANK_FIRST_SCANLINE+1+2)))
MCFG_SCREEN_SIZE(32*8, 312)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
- MCFG_VIDEO_START(nes)
/* sound hardware */
MCFG_SOUND_REPLACE("nessound", NES, PAL_CLOCK)
@@ -530,7 +525,6 @@ static MACHINE_CONFIG_DERIVED( dendy, nes )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(50.00697796827)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC((106.53/(PAL_CLOCK/1000000)) * (PPU_VBLANK_LAST_SCANLINE_PAL-PPU_VBLANK_FIRST_SCANLINE+1+2)))
- MCFG_VIDEO_START(nes)
/* sound hardware */
MCFG_SOUND_REPLACE("nessound", NES, 26601712/15) /* 26.601712MHz / 15 == 1.77344746666... MHz */
diff --git a/src/mess/drivers/ng_aes.c b/src/mess/drivers/ng_aes.c
index a1b4a685c2d..02119023976 100644
--- a/src/mess/drivers/ng_aes.c
+++ b/src/mess/drivers/ng_aes.c
@@ -88,6 +88,10 @@ public:
DECLARE_READ16_MEMBER(aes_in1_r);
DECLARE_READ16_MEMBER(aes_in2_r);
DECLARE_DRIVER_INIT(neogeo);
+ DECLARE_MACHINE_START(neocd);
+ DECLARE_MACHINE_START(neogeo);
+ DECLARE_MACHINE_RESET(neogeo);
+
};
@@ -972,7 +976,7 @@ WRITE16_MEMBER(ng_aes_state::neocd_control_w)
logerror("CTRL: 0xExxxxx set to area %i\n",data & 0xff);
break;
case 0x140/2: // end sprite transfer
- video_reset_neogeo(machine());
+ video_reset();
break;
case 0x142/2: // end PCM transfer
break;
@@ -980,7 +984,7 @@ WRITE16_MEMBER(ng_aes_state::neocd_control_w)
machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET,PULSE_LINE);
break;
case 0x148/2: // end FIX transfer
- video_reset_neogeo(machine());
+ video_reset();
break;
case 0x1a0/2:
m_neocd_ctrl.spr_bank_sel = data & 0xff;
@@ -1194,31 +1198,29 @@ static void common_machine_start(running_machine &machine)
machine.save().register_postload(save_prepost_delegate(FUNC(aes_postload), state));
}
-static MACHINE_START( neogeo )
+MACHINE_START_MEMBER(ng_aes_state,neogeo)
{
- ng_aes_state *state = machine.driver_data<ng_aes_state>();
- common_machine_start(machine);
+ common_machine_start(machine());
/* initialize the memcard data structure */
- state->m_memcard_data = auto_alloc_array_clear(machine, UINT8, MEMCARD_SIZE);
- state->save_pointer(NAME(state->m_memcard_data), 0x0800);
+ m_memcard_data = auto_alloc_array_clear(machine(), UINT8, MEMCARD_SIZE);
+ save_pointer(NAME(m_memcard_data), 0x0800);
}
-static MACHINE_START(neocd)
+MACHINE_START_MEMBER(ng_aes_state,neocd)
{
- ng_aes_state *state = machine.driver_data<ng_aes_state>();
- UINT8* ROM = machine.root_device().memregion("mainbios")->base();
- UINT8* RAM = machine.root_device().memregion("maincpu")->base();
- UINT8* Z80bios = machine.root_device().memregion("audiobios")->base();
- UINT8* FIXbios = state->memregion("fixedbios")->base();
+ UINT8* ROM = machine().root_device().memregion("mainbios")->base();
+ UINT8* RAM = machine().root_device().memregion("maincpu")->base();
+ UINT8* Z80bios = machine().root_device().memregion("audiobios")->base();
+ UINT8* FIXbios = memregion("fixedbios")->base();
int x;
- common_machine_start(machine);
+ common_machine_start(machine());
/* initialize the memcard data structure */
/* NeoCD doesn't have memcard slots, rather, it has a larger internal memory which works the same */
- state->m_memcard_data = auto_alloc_array_clear(machine, UINT8, 0x2000);
- state->save_pointer(NAME(state->m_memcard_data), 0x2000);
+ m_memcard_data = auto_alloc_array_clear(machine(), UINT8, 0x2000);
+ save_pointer(NAME(m_memcard_data), 0x2000);
// copy initial 68k vectors into RAM
memcpy(RAM,ROM,0x80);
@@ -1248,29 +1250,28 @@ static MACHINE_START(neocd)
*
*************************************/
-static MACHINE_RESET( neogeo )
+MACHINE_RESET_MEMBER(ng_aes_state,neogeo)
{
- 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);
}
@@ -1639,12 +1640,10 @@ static MACHINE_CONFIG_START( neogeo, ng_aes_state )
MCFG_CPU_PROGRAM_MAP(audio_map)
MCFG_CPU_IO_MAP(audio_io_map)
- MCFG_MACHINE_START(neogeo)
- MCFG_MACHINE_RESET(neogeo)
+ MCFG_MACHINE_START_OVERRIDE(ng_aes_state, neogeo)
+ MCFG_MACHINE_RESET_OVERRIDE(ng_aes_state, neogeo)
/* video hardware */
- MCFG_VIDEO_START(neogeo)
- MCFG_VIDEO_RESET(neogeo)
MCFG_DEFAULT_LAYOUT(layout_neogeo)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1683,7 +1682,7 @@ static MACHINE_CONFIG_DERIVED( neocd, neogeo )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(neocd_main_map)
- MCFG_MACHINE_START(neocd)
+ MCFG_MACHINE_START_OVERRIDE(ng_aes_state,neocd)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mess/drivers/odyssey2.c b/src/mess/drivers/odyssey2.c
index caf8a6d71c0..50fc1fe87b1 100644
--- a/src/mess/drivers/odyssey2.c
+++ b/src/mess/drivers/odyssey2.c
@@ -179,7 +179,6 @@ static MACHINE_CONFIG_START( odyssey2, odyssey2_state )
MCFG_CPU_IO_MAP(odyssey2_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( odyssey2 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -188,9 +187,7 @@ static MACHINE_CONFIG_START( odyssey2, odyssey2_state )
MCFG_GFXDECODE( odyssey2 )
MCFG_PALETTE_LENGTH(24)
- MCFG_PALETTE_INIT( odyssey2 )
- MCFG_VIDEO_START( odyssey2 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -212,7 +209,6 @@ static MACHINE_CONFIG_START( videopac, odyssey2_state )
MCFG_CPU_IO_MAP(odyssey2_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( odyssey2 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -221,9 +217,7 @@ static MACHINE_CONFIG_START( videopac, odyssey2_state )
MCFG_GFXDECODE( odyssey2 )
MCFG_PALETTE_LENGTH(24)
- MCFG_PALETTE_INIT( odyssey2 )
- MCFG_VIDEO_START( odyssey2 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -244,7 +238,6 @@ static MACHINE_CONFIG_START( g7400, odyssey2_state )
MCFG_CPU_IO_MAP(g7400_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( odyssey2 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -253,9 +246,7 @@ static MACHINE_CONFIG_START( g7400, odyssey2_state )
MCFG_GFXDECODE( odyssey2 )
MCFG_PALETTE_LENGTH(24)
- MCFG_PALETTE_INIT( odyssey2 )
- MCFG_VIDEO_START( odyssey2 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/ondra.c b/src/mess/drivers/ondra.c
index 01d09bf1870..6b9c92d0293 100644
--- a/src/mess/drivers/ondra.c
+++ b/src/mess/drivers/ondra.c
@@ -127,8 +127,6 @@ static MACHINE_CONFIG_START( ondra, ondra_state )
MCFG_CPU_IO_MAP(ondra_io)
MCFG_CPU_VBLANK_INT("screen", ondra_interrupt)
- MCFG_MACHINE_START( ondra )
- MCFG_MACHINE_RESET( ondra )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -141,7 +139,6 @@ static MACHINE_CONFIG_START( ondra, ondra_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(ondra)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/orao.c b/src/mess/drivers/orao.c
index ec178776c8d..0eddffaf2ad 100644
--- a/src/mess/drivers/orao.c
+++ b/src/mess/drivers/orao.c
@@ -176,7 +176,6 @@ static MACHINE_CONFIG_START( orao, orao_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M6502, 1000000)
MCFG_CPU_PROGRAM_MAP(orao_mem)
- MCFG_MACHINE_RESET( orao )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -189,7 +188,6 @@ static MACHINE_CONFIG_START( orao, orao_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(orao)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/oric.c b/src/mess/drivers/oric.c
index ba56797b45a..e4c57eb3bae 100644
--- a/src/mess/drivers/oric.c
+++ b/src/mess/drivers/oric.c
@@ -309,12 +309,12 @@ static const unsigned char oric_palette[8*3] =
};
/* Initialise the palette */
-static PALETTE_INIT( oric )
+void oric_state::palette_init()
{
int i;
for ( i = 0; i < sizeof(oric_palette) / 3; i++ ) {
- palette_set_color_rgb(machine, i, oric_palette[i*3], oric_palette[i*3+1], oric_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, oric_palette[i*3], oric_palette[i*3+1], oric_palette[i*3+2]);
}
}
@@ -379,8 +379,6 @@ static MACHINE_CONFIG_START( oric, oric_state )
MCFG_CPU_PROGRAM_MAP(oric_mem)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( oric )
- MCFG_MACHINE_RESET( oric )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -391,9 +389,7 @@ static MACHINE_CONFIG_START( oric, oric_state )
MCFG_SCREEN_UPDATE_STATIC( oric )
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT( oric )
- MCFG_VIDEO_START( oric )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -426,7 +422,7 @@ static MACHINE_CONFIG_DERIVED( telstrat, oric )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( telestrat_mem)
- MCFG_MACHINE_START( telestrat )
+ MCFG_MACHINE_START_OVERRIDE(oric_state, telestrat )
/* acia */
MCFG_ACIA6551_ADD("acia")
diff --git a/src/mess/drivers/orion.c b/src/mess/drivers/orion.c
index daaf46d3f10..13b700acdcc 100644
--- a/src/mess/drivers/orion.c
+++ b/src/mess/drivers/orion.c
@@ -129,8 +129,8 @@ static MACHINE_CONFIG_START( orion128, orion_state )
MCFG_CPU_PROGRAM_MAP(orion128_mem)
MCFG_CPU_IO_MAP(orion128_io)
- MCFG_MACHINE_START( orion128 )
- MCFG_MACHINE_RESET( orion128 )
+ MCFG_MACHINE_START_OVERRIDE(orion_state, orion128 )
+ MCFG_MACHINE_RESET_OVERRIDE(orion_state, orion128 )
MCFG_I8255A_ADD( "ppi8255_1", orion128_ppi8255_interface_1 )
@@ -145,9 +145,9 @@ static MACHINE_CONFIG_START( orion128, orion_state )
MCFG_SCREEN_UPDATE_STATIC(orion128)
MCFG_PALETTE_LENGTH(18)
- MCFG_PALETTE_INIT( orion128 )
+ MCFG_PALETTE_INIT_OVERRIDE(orion_state, orion128 )
- MCFG_VIDEO_START(orion128)
+ MCFG_VIDEO_START_OVERRIDE(orion_state,orion128)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
@@ -185,8 +185,8 @@ static MACHINE_CONFIG_START( orionz80, orion_state )
MCFG_CPU_IO_MAP(orionz80_io)
MCFG_CPU_VBLANK_INT("screen",orionz80_interrupt)
- MCFG_MACHINE_START( orionz80 )
- MCFG_MACHINE_RESET( orionz80 )
+ MCFG_MACHINE_START_OVERRIDE(orion_state, orionz80 )
+ MCFG_MACHINE_RESET_OVERRIDE(orion_state, orionz80 )
MCFG_I8255A_ADD( "ppi8255_1", orion128_ppi8255_interface_1 )
@@ -201,9 +201,9 @@ static MACHINE_CONFIG_START( orionz80, orion_state )
MCFG_SCREEN_UPDATE_STATIC(orion128)
MCFG_PALETTE_LENGTH(18)
- MCFG_PALETTE_INIT( orion128 )
+ MCFG_PALETTE_INIT_OVERRIDE(orion_state, orion128 )
- MCFG_VIDEO_START(orion128)
+ MCFG_VIDEO_START_OVERRIDE(orion_state,orion128)
MCFG_MC146818_ADD( "rtc", MC146818_IGNORE_CENTURY )
@@ -241,7 +241,7 @@ static MACHINE_CONFIG_START( orionpro, orion_state )
MCFG_CPU_PROGRAM_MAP(orionpro_mem)
MCFG_CPU_IO_MAP(orionpro_io)
- MCFG_MACHINE_RESET( orionpro )
+ MCFG_MACHINE_RESET_OVERRIDE(orion_state, orionpro )
MCFG_I8255A_ADD( "ppi8255_1", orion128_ppi8255_interface_1 )
@@ -256,9 +256,9 @@ static MACHINE_CONFIG_START( orionpro, orion_state )
MCFG_SCREEN_UPDATE_STATIC(orion128)
MCFG_PALETTE_LENGTH(18)
- MCFG_PALETTE_INIT( orion128 )
+ MCFG_PALETTE_INIT_OVERRIDE(orion_state, orion128 )
- MCFG_VIDEO_START(orion128)
+ MCFG_VIDEO_START_OVERRIDE(orion_state,orion128)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD(SPEAKER_TAG, SPEAKER_SOUND, 0)
diff --git a/src/mess/drivers/osbexec.c b/src/mess/drivers/osbexec.c
index ff7d902593d..7b05635aef2 100644
--- a/src/mess/drivers/osbexec.c
+++ b/src/mess/drivers/osbexec.c
@@ -108,6 +108,8 @@ public:
DECLARE_READ8_MEMBER(osbexec_kbd_r);
DECLARE_READ8_MEMBER(osbexec_rtc_r);
DECLARE_DRIVER_INIT(osbexec);
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -299,11 +301,11 @@ static INPUT_PORTS_START( osbexec )
INPUT_PORTS_END
-static PALETTE_INIT( osbexec )
+void osbexec_state::palette_init()
{
- palette_set_color_rgb( machine, 0, 0, 0, 0 ); /* Black */
- palette_set_color_rgb( machine, 1, 0, 255, 0 ); /* Full */
- palette_set_color_rgb( machine, 2, 0, 128, 0 ); /* Dimmed */
+ palette_set_color_rgb( machine(), 0, 0, 0, 0 ); /* Black */
+ palette_set_color_rgb( machine(), 1, 0, 255, 0 ); /* Full */
+ palette_set_color_rgb( machine(), 2, 0, 128, 0 ); /* Dimmed */
}
void osbexec_state::video_start()
@@ -619,17 +621,16 @@ DRIVER_INIT_MEMBER(osbexec_state,osbexec)
}
-static MACHINE_RESET( osbexec )
+void osbexec_state::machine_reset()
{
- osbexec_state *state = machine.driver_data<osbexec_state>();
- state->m_pia0_porta = 0xC0; /* Enable ROM and VRAM on reset */
+ m_pia0_porta = 0xC0; /* Enable ROM and VRAM on reset */
- state->set_banks( machine );
+ set_banks( machine() );
- state->m_video_timer->adjust( machine.primary_screen->time_until_pos( 0, 0 ) );
+ m_video_timer->adjust( machine().primary_screen->time_until_pos( 0, 0 ) );
- state->m_rtc = 0;
+ m_rtc = 0;
}
@@ -646,14 +647,12 @@ static MACHINE_CONFIG_START( osbexec, osbexec_state )
MCFG_CPU_IO_MAP( osbexec_io)
MCFG_CPU_CONFIG( osbexec_daisy_config )
- MCFG_MACHINE_RESET( osbexec )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_UPDATE_DRIVER(osbexec_state, screen_update)
MCFG_SCREEN_RAW_PARAMS( MAIN_CLOCK/2, 768, 0, 640, 260, 0, 240 ) /* May not be correct */
MCFG_PALETTE_LENGTH( 3 )
- MCFG_PALETTE_INIT( osbexec )
MCFG_SPEAKER_STANDARD_MONO( "mono" )
MCFG_SOUND_ADD(SPEAKER_TAG, SPEAKER_SOUND, 0)
diff --git a/src/mess/drivers/osborne1.c b/src/mess/drivers/osborne1.c
index fb575b65825..7ea69f09f5d 100644
--- a/src/mess/drivers/osborne1.c
+++ b/src/mess/drivers/osborne1.c
@@ -142,11 +142,11 @@ static INPUT_PORTS_START( osborne1 )
INPUT_PORTS_END
-static PALETTE_INIT( osborne1 )
+void osborne1_state::palette_init()
{
- palette_set_color_rgb( machine, 0, 0, 0, 0 ); /* Black */
- palette_set_color_rgb( machine, 1, 0, 255, 0 ); /* Full */
- palette_set_color_rgb( machine, 2, 0, 128, 0 ); /* Dimmed */
+ palette_set_color_rgb( machine(), 0, 0, 0, 0 ); /* Black */
+ palette_set_color_rgb( machine(), 1, 0, 255, 0 ); /* Full */
+ palette_set_color_rgb( machine(), 2, 0, 128, 0 ); /* Dimmed */
}
@@ -248,7 +248,6 @@ static MACHINE_CONFIG_START( osborne1, osborne1_state )
MCFG_CPU_IO_MAP( osborne1_io)
MCFG_CPU_CONFIG( osborne1_daisy_chain )
- MCFG_MACHINE_RESET( osborne1 )
MCFG_DEVICE_ADD( "osborne1_daisy", OSBORNE1_DAISY, 0 )
@@ -257,7 +256,6 @@ static MACHINE_CONFIG_START( osborne1, osborne1_state )
MCFG_SCREEN_RAW_PARAMS( MAIN_CLOCK/2, 512, 0, 416, 260, 0, 240 )
MCFG_GFXDECODE(osborne1)
MCFG_PALETTE_LENGTH( 3 )
- MCFG_PALETTE_INIT( osborne1 )
MCFG_SPEAKER_STANDARD_MONO( "mono" )
MCFG_SOUND_ADD( BEEPER_TAG, BEEP, 0 )
diff --git a/src/mess/drivers/p112.c b/src/mess/drivers/p112.c
index bb47d174463..31bfeb7e488 100644
--- a/src/mess/drivers/p112.c
+++ b/src/mess/drivers/p112.c
@@ -41,6 +41,8 @@ public:
p112_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -60,11 +62,11 @@ static INPUT_PORTS_START( p112 )
INPUT_PORTS_END
-static MACHINE_RESET(p112)
+void p112_state::machine_reset()
{
}
-static VIDEO_START( p112 )
+void p112_state::video_start()
{
}
@@ -79,7 +81,6 @@ static MACHINE_CONFIG_START( p112, p112_state )
MCFG_CPU_PROGRAM_MAP(p112_mem)
MCFG_CPU_IO_MAP(p112_io)
- MCFG_MACHINE_RESET(p112)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -92,7 +93,6 @@ static MACHINE_CONFIG_START( p112, p112_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(p112)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/p2000t.c b/src/mess/drivers/p2000t.c
index cbc793278d9..15de111d6aa 100644
--- a/src/mess/drivers/p2000t.c
+++ b/src/mess/drivers/p2000t.c
@@ -74,12 +74,12 @@ static const gfx_layout p2000m_charlayout =
8 * 10
};
-static PALETTE_INIT( p2000m )
+PALETTE_INIT_MEMBER(p2000t_state,p2000m)
{
- palette_set_color(machine,0,RGB_WHITE); /* white */
- palette_set_color(machine,1,RGB_BLACK); /* black */
- palette_set_color(machine,2,RGB_BLACK); /* black */
- palette_set_color(machine,3,RGB_WHITE); /* white */
+ palette_set_color(machine(),0,RGB_WHITE); /* white */
+ palette_set_color(machine(),1,RGB_BLACK); /* black */
+ palette_set_color(machine(),2,RGB_BLACK); /* black */
+ palette_set_color(machine(),3,RGB_WHITE); /* white */
}
static GFXDECODE_START( p2000m )
@@ -269,11 +269,11 @@ static MACHINE_CONFIG_START( p2000m, p2000t_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(80 * 12, 24 * 20)
MCFG_SCREEN_VISIBLE_AREA(0, 80 * 12 - 1, 0, 24 * 20 - 1)
- MCFG_VIDEO_START(p2000m)
+ MCFG_VIDEO_START_OVERRIDE(p2000t_state,p2000m)
MCFG_SCREEN_UPDATE_STATIC(p2000m)
MCFG_GFXDECODE( p2000m )
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(p2000m)
+ MCFG_PALETTE_INIT_OVERRIDE(p2000t_state,p2000m)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/p8k.c b/src/mess/drivers/p8k.c
index 8f41d5e1f83..0c9e54123de 100644
--- a/src/mess/drivers/p8k.c
+++ b/src/mess/drivers/p8k.c
@@ -80,6 +80,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
DECLARE_DRIVER_INIT(p8k);
+ DECLARE_MACHINE_RESET(p8k);
+ DECLARE_MACHINE_RESET(p8k_16);
};
/***************************************************************************
@@ -386,25 +388,24 @@ static INPUT_PORTS_START( p8k )
INPUT_PORTS_END
-static MACHINE_RESET( p8k )
-{
- p8k_state *state = machine.driver_data<p8k_state>();
- state->membank("bank0")->set_entry(0);
- state->membank("bank1")->set_entry(0);
- state->membank("bank2")->set_entry(0);
- state->membank("bank3")->set_entry(0);
- state->membank("bank4")->set_entry(0);
- state->membank("bank5")->set_entry(0);
- state->membank("bank6")->set_entry(0);
- state->membank("bank7")->set_entry(0);
- state->membank("bank8")->set_entry(0);
- state->membank("bank9")->set_entry(0);
- state->membank("bank10")->set_entry(0);
- state->membank("bank11")->set_entry(0);
- state->membank("bank12")->set_entry(0);
- state->membank("bank13")->set_entry(0);
- state->membank("bank14")->set_entry(0);
- state->membank("bank15")->set_entry(0);
+MACHINE_RESET_MEMBER(p8k_state,p8k)
+{
+ membank("bank0")->set_entry(0);
+ membank("bank1")->set_entry(0);
+ membank("bank2")->set_entry(0);
+ membank("bank3")->set_entry(0);
+ membank("bank4")->set_entry(0);
+ membank("bank5")->set_entry(0);
+ membank("bank6")->set_entry(0);
+ membank("bank7")->set_entry(0);
+ membank("bank8")->set_entry(0);
+ membank("bank9")->set_entry(0);
+ membank("bank10")->set_entry(0);
+ membank("bank11")->set_entry(0);
+ membank("bank12")->set_entry(0);
+ membank("bank13")->set_entry(0);
+ membank("bank14")->set_entry(0);
+ membank("bank15")->set_entry(0);
}
DRIVER_INIT_MEMBER(p8k_state,p8k)
@@ -454,7 +455,7 @@ static GENERIC_TERMINAL_INTERFACE( terminal_intf_16 )
-static MACHINE_RESET( p8k_16 )
+MACHINE_RESET_MEMBER(p8k_state,p8k_16)
{
}
@@ -712,7 +713,7 @@ static MACHINE_CONFIG_START( p8k, p8k_state )
MCFG_CPU_CONFIG(p8k_daisy_chain)
MCFG_CPU_PROGRAM_MAP(p8k_memmap)
MCFG_CPU_IO_MAP(p8k_iomap)
- MCFG_MACHINE_RESET(p8k)
+ MCFG_MACHINE_RESET_OVERRIDE(p8k_state,p8k)
/* peripheral hardware */
MCFG_Z80DMA_ADD("z80dma", XTAL_4MHz, p8k_dma_intf)
@@ -742,7 +743,7 @@ static MACHINE_CONFIG_START( p8k_16, p8k_state )
MCFG_CPU_CONFIG(p8k_16_daisy_chain)
MCFG_CPU_PROGRAM_MAP(p8k_16_memmap)
MCFG_CPU_IO_MAP(p8k_16_iomap)
- MCFG_MACHINE_RESET(p8k_16)
+ MCFG_MACHINE_RESET_OVERRIDE(p8k_state,p8k_16)
/* peripheral hardware */
MCFG_Z80CTC_ADD("z80ctc_0", XTAL_4MHz, p8k_16_ctc_0_intf)
diff --git a/src/mess/drivers/palm.c b/src/mess/drivers/palm.c
index d581b187529..469f93ad388 100644
--- a/src/mess/drivers/palm.c
+++ b/src/mess/drivers/palm.c
@@ -41,6 +41,8 @@ public:
//DECLARE_READ16_MEMBER(palm_spim_in);
UINT8 m_port_f_latch;
UINT16 m_spim_data;
+ virtual void machine_start();
+ virtual void machine_reset();
};
static offs_t palm_dasm_override(device_t &device, char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, int options);
@@ -116,30 +118,28 @@ static void palm_spim_exchange( device_t *device )
}
}
-static MACHINE_START( palm )
+void palm_state::machine_start()
{
- palm_state *state = machine.driver_data<palm_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- space->install_read_bank (0x000000, machine.device<ram_device>(RAM_TAG)->size() - 1, machine.device<ram_device>(RAM_TAG)->size() - 1, 0, "bank1");
- space->install_write_bank(0x000000, machine.device<ram_device>(RAM_TAG)->size() - 1, machine.device<ram_device>(RAM_TAG)->size() - 1, 0, "bank1");
- state->membank("bank1")->set_base(machine.device<ram_device>(RAM_TAG)->pointer());
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ space->install_read_bank (0x000000, machine().device<ram_device>(RAM_TAG)->size() - 1, machine().device<ram_device>(RAM_TAG)->size() - 1, 0, "bank1");
+ space->install_write_bank(0x000000, machine().device<ram_device>(RAM_TAG)->size() - 1, machine().device<ram_device>(RAM_TAG)->size() - 1, 0, "bank1");
+ membank("bank1")->set_base(machine().device<ram_device>(RAM_TAG)->pointer());
- state->save_item(NAME(state->m_port_f_latch));
- state->save_item(NAME(state->m_spim_data));
+ save_item(NAME(m_port_f_latch));
+ save_item(NAME(m_spim_data));
- if (state->m_maincpu->debug())
- state->m_maincpu->debug()->set_dasm_override(palm_dasm_override);
+ if (m_maincpu->debug())
+ m_maincpu->debug()->set_dasm_override(palm_dasm_override);
}
-static MACHINE_RESET( palm )
+void palm_state::machine_reset()
{
// Copy boot ROM
- UINT8* bios = machine.root_device().memregion("bios")->base();
- memset(machine.device<ram_device>(RAM_TAG)->pointer(), 0, machine.device<ram_device>(RAM_TAG)->size());
- memcpy(machine.device<ram_device>(RAM_TAG)->pointer(), bios, 0x20000);
+ UINT8* bios = machine().root_device().memregion("bios")->base();
+ memset(machine().device<ram_device>(RAM_TAG)->pointer(), 0, machine().device<ram_device>(RAM_TAG)->size());
+ memcpy(machine().device<ram_device>(RAM_TAG)->pointer(), bios, 0x20000);
- palm_state *state = machine.driver_data<palm_state>();
- state->m_maincpu->reset();
+ m_maincpu->reset();
}
@@ -210,8 +210,6 @@ static MACHINE_CONFIG_START( palm, palm_state )
MCFG_SCREEN_VBLANK_TIME( ATTOSECONDS_IN_USEC(1260) )
MCFG_QUANTUM_TIME( attotime::from_hz(60) )
- MCFG_MACHINE_START( palm )
- MCFG_MACHINE_RESET( palm )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES( VIDEO_UPDATE_BEFORE_VBLANK )
diff --git a/src/mess/drivers/palmz22.c b/src/mess/drivers/palmz22.c
index 0eca42a26db..1ad48605a3f 100644
--- a/src/mess/drivers/palmz22.c
+++ b/src/mess/drivers/palmz22.c
@@ -99,6 +99,8 @@ public:
UINT32 m_port[8];
DECLARE_DRIVER_INIT(palmz22);
+ virtual void machine_start();
+ virtual void machine_reset();
};
/***************************************************************************
@@ -238,19 +240,17 @@ static INPUT_CHANGED( palmz22_input_changed )
// MACHINE
-static MACHINE_START( palmz22 )
+void palmz22_state::machine_start()
{
- palmz22_state *state = machine.driver_data<palmz22_state>();
- state->m_s3c2410 = machine.device( "s3c2410");
- state->m_nand = machine.device<nand_device>("nand");
- state->m_nand->set_data_ptr( state->memregion("nand")->base());
+ m_s3c2410 = machine().device( "s3c2410");
+ m_nand = machine().device<nand_device>("nand");
+ m_nand->set_data_ptr( memregion("nand")->base());
}
-static MACHINE_RESET( palmz22 )
+void palmz22_state::machine_reset()
{
- palmz22_state *state = machine.driver_data<palmz22_state>();
- machine.device("maincpu")->reset();
- memset( state->m_port, 0, sizeof( state->m_port));
+ machine().device("maincpu")->reset();
+ memset( m_port, 0, sizeof( m_port));
}
/***************************************************************************
@@ -308,8 +308,6 @@ static MACHINE_CONFIG_START( palmz22, palmz22_state )
MCFG_SCREEN_UPDATE_DEVICE("s3c2410", s3c2410_device, screen_update)
- MCFG_MACHINE_START(palmz22)
- MCFG_MACHINE_RESET(palmz22)
MCFG_S3C2410_ADD("s3c2410", 12000000, palmz22_s3c2410_intf)
diff --git a/src/mess/drivers/partner.c b/src/mess/drivers/partner.c
index d9e871b0347..d93cdda22ec 100644
--- a/src/mess/drivers/partner.c
+++ b/src/mess/drivers/partner.c
@@ -193,8 +193,8 @@ static MACHINE_CONFIG_START( partner, partner_state )
MCFG_CPU_ADD("maincpu", I8080, XTAL_16MHz / 9)
MCFG_CPU_PROGRAM_MAP(partner_mem)
- MCFG_MACHINE_START( partner )
- MCFG_MACHINE_RESET( partner )
+ MCFG_MACHINE_START_OVERRIDE(partner_state, partner )
+ MCFG_MACHINE_RESET_OVERRIDE(partner_state, partner )
MCFG_I8255_ADD( "ppi8255_1", radio86_ppi8255_interface_1 )
@@ -209,7 +209,7 @@ static MACHINE_CONFIG_START( partner, partner_state )
MCFG_GFXDECODE(partner)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(radio86)
+ MCFG_PALETTE_INIT_OVERRIDE(partner_state,radio86)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
diff --git a/src/mess/drivers/paso1600.c b/src/mess/drivers/paso1600.c
index 0a3c5b762c1..5350fc3bbce 100644
--- a/src/mess/drivers/paso1600.c
+++ b/src/mess/drivers/paso1600.c
@@ -52,6 +52,9 @@ public:
}m_keyb;
DECLARE_READ8_MEMBER(pc_dma_read_byte);
DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
#define mc6845_h_char_total (state->m_crtc_vreg[0])
@@ -72,11 +75,10 @@ public:
#define mc6845_update_addr (((state->m_crtc_vreg[0x12]<<8) & 0x3f00) | (state->m_crtc_vreg[0x13] & 0xff))
-static VIDEO_START( paso1600 )
+void paso1600_state::video_start()
{
- paso1600_state *state = machine.driver_data<paso1600_state>();
- state->m_p_chargen = machine.root_device().memregion("chargen")->base();
- state->m_p_pcg = state->memregion("pcg")->base();
+ m_p_chargen = machine().root_device().memregion("chargen")->base();
+ m_p_pcg = memregion("pcg")->base();
}
static SCREEN_UPDATE_IND16( paso1600 )
@@ -289,14 +291,13 @@ static const struct pic8259_interface paso1600_pic8259_config =
DEVCB_NULL
};
-static MACHINE_START(paso1600)
+void paso1600_state::machine_start()
{
- paso1600_state *state = machine.driver_data<paso1600_state>();
- state->m_maincpu->set_irq_acknowledge_callback(paso1600_irq_callback);
+ m_maincpu->set_irq_acknowledge_callback(paso1600_irq_callback);
}
-static MACHINE_RESET(paso1600)
+void paso1600_state::machine_reset()
{
}
@@ -335,8 +336,6 @@ static MACHINE_CONFIG_START( paso1600, paso1600_state )
MCFG_CPU_PROGRAM_MAP(paso1600_map)
MCFG_CPU_IO_MAP(paso1600_io)
- MCFG_MACHINE_START(paso1600)
- MCFG_MACHINE_RESET(paso1600)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -344,7 +343,6 @@ static MACHINE_CONFIG_START( paso1600, paso1600_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(paso1600)
MCFG_SCREEN_UPDATE_STATIC(paso1600)
MCFG_GFXDECODE(paso1600)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mess/drivers/pasogo.c b/src/mess/drivers/pasogo.c
index 0963be05220..1e71dae686e 100644
--- a/src/mess/drivers/pasogo.c
+++ b/src/mess/drivers/pasogo.c
@@ -69,6 +69,8 @@ public:
struct _vg230_t m_vg230;
struct _ems_t m_ems;
DECLARE_DRIVER_INIT(pasogo);
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -380,13 +382,13 @@ static const unsigned char pasogo_palette[][3] =
{ 255,255,255 }
};
-static PALETTE_INIT( pasogo )
+void pasogo_state::palette_init()
{
int i;
for ( i = 0; i < ARRAY_LENGTH(pasogo_palette); i++ )
{
- palette_set_color_rgb(machine, i, pasogo_palette[i][0], pasogo_palette[i][1], pasogo_palette[i][2]);
+ palette_set_color_rgb(machine(), i, pasogo_palette[i][0], pasogo_palette[i][1], pasogo_palette[i][2]);
}
}
@@ -458,9 +460,9 @@ static IRQ_CALLBACK(pasogo_irq_callback)
return pic8259_acknowledge( device->machine().device("pic8259"));
}
-static MACHINE_RESET( pasogo )
+void pasogo_state::machine_reset()
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pasogo_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pasogo_irq_callback);
}
//static const unsigned i86_address_mask = 0x000fffff;
@@ -505,7 +507,6 @@ static MACHINE_CONFIG_START( pasogo, pasogo_state )
MCFG_CPU_IO_MAP( pasogo_io)
MCFG_CPU_VBLANK_INT("screen", pasogo_interrupt)
// MCFG_CPU_CONFIG(i86_address_mask)
- MCFG_MACHINE_RESET( pasogo )
MCFG_PIT8254_ADD( "pit8254", pc_pit8254_config )
@@ -518,7 +519,6 @@ static MACHINE_CONFIG_START( pasogo, pasogo_state )
MCFG_SCREEN_UPDATE_STATIC(pasogo)
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(pasogo_palette))
- MCFG_PALETTE_INIT(pasogo)
#if 0
MCFG_SPEAKER_STANDARD_MONO("gmaster")
MCFG_SOUND_ADD("custom", CUSTOM, 0)
diff --git a/src/mess/drivers/pasopia.c b/src/mess/drivers/pasopia.c
index 13b9960cd1c..109c4dd1dcb 100644
--- a/src/mess/drivers/pasopia.c
+++ b/src/mess/drivers/pasopia.c
@@ -70,9 +70,12 @@ public:
bool m_ram_bank;
UINT8 *m_p_vram;
DECLARE_DRIVER_INIT(pasopia);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( pasopia )
+void pasopia_state::video_start()
{
}
@@ -140,16 +143,15 @@ static INPUT_PORTS_START( pasopia )
PASOPIA_KEYBOARD
INPUT_PORTS_END
-static MACHINE_START(pasopia)
+void pasopia_state::machine_start()
{
- pasopia_state *state = machine.driver_data<pasopia_state>();
- state->m_p_vram = state->memregion("vram")->base();
- state->m_hblank = 0;
- state->membank("bank1")->set_entry(0);
- state->membank("bank2")->set_entry(0);
+ m_p_vram = memregion("vram")->base();
+ m_hblank = 0;
+ membank("bank1")->set_entry(0);
+ membank("bank2")->set_entry(0);
}
-static MACHINE_RESET(pasopia)
+void pasopia_state::machine_reset()
{
}
@@ -351,8 +353,6 @@ static MACHINE_CONFIG_START( pasopia, pasopia_state )
MCFG_CPU_IO_MAP(pasopia_io)
MCFG_CPU_CONFIG(pasopia_daisy)
- MCFG_MACHINE_START(pasopia)
- MCFG_MACHINE_RESET(pasopia)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -360,7 +360,6 @@ static MACHINE_CONFIG_START( pasopia, pasopia_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(pasopia)
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
MCFG_GFXDECODE(pasopia)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mess/drivers/pasopia7.c b/src/mess/drivers/pasopia7.c
index c90c11bbf41..6a205d4d737 100644
--- a/src/mess/drivers/pasopia7.c
+++ b/src/mess/drivers/pasopia7.c
@@ -105,15 +105,18 @@ public:
UINT8 m_mux_data;
DECLARE_DRIVER_INIT(p7_lcd);
DECLARE_DRIVER_INIT(p7_raster);
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(pasopia7);
+ DECLARE_PALETTE_INIT(p7_raster);
+ DECLARE_PALETTE_INIT(p7_lcd);
};
#define VDP_CLOCK XTAL_3_579545MHz/4
#define LCD_CLOCK VDP_CLOCK/10
-static VIDEO_START( pasopia7 )
+VIDEO_START_MEMBER(pasopia7_state,pasopia7)
{
- pasopia7_state *state = machine.driver_data<pasopia7_state>();
- state->m_p7_pal = auto_alloc_array(machine, UINT8, 0x10);
+ m_p7_pal = auto_alloc_array(machine(), UINT8, 0x10);
}
#define keyb_press(_val_,_charset_) \
@@ -934,36 +937,35 @@ static I8255_INTERFACE( ppi8255_intf_2 )
DEVCB_DRIVER_MEMBER(pasopia7_state, nmi_reg_w) /* Port C write */
};
-static MACHINE_RESET( pasopia7 )
+void pasopia7_state::machine_reset()
{
- pasopia7_state *state = machine.driver_data<pasopia7_state>();
- UINT8 *bios = state->memregion("maincpu")->base();
+ UINT8 *bios = memregion("maincpu")->base();
- state->membank("bank1")->set_base(bios + 0x10000);
- state->membank("bank2")->set_base(bios + 0x10000);
-// state->membank("bank3")->set_base(bios + 0x10000);
-// state->membank("bank4")->set_base(bios + 0x10000);
+ membank("bank1")->set_base(bios + 0x10000);
+ membank("bank2")->set_base(bios + 0x10000);
+// membank("bank3")->set_base(bios + 0x10000);
+// membank("bank4")->set_base(bios + 0x10000);
- state->m_nmi_reset |= 4;
+ m_nmi_reset |= 4;
}
-static PALETTE_INIT( p7_raster )
+PALETTE_INIT_MEMBER(pasopia7_state,p7_raster)
{
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));
}
/* TODO: palette values are mostly likely to be wrong in there */
-static PALETTE_INIT( p7_lcd )
+PALETTE_INIT_MEMBER(pasopia7_state,p7_lcd)
{
int i;
- palette_set_color_rgb(machine, 0, 0xa0, 0xa8, 0xa0);
+ palette_set_color_rgb(machine(), 0, 0xa0, 0xa8, 0xa0);
for( i = 1; i < 8; i++)
- palette_set_color_rgb(machine, i, 0x30, 0x38, 0x10);
+ palette_set_color_rgb(machine(), i, 0x30, 0x38, 0x10);
}
static const struct upd765_interface pasopia7_upd765_interface =
@@ -1013,7 +1015,6 @@ static MACHINE_CONFIG_START( p7_base, pasopia7_state )
MCFG_CPU_IO_MAP(pasopia7_io)
MCFG_CPU_CONFIG(p7_daisy)
- MCFG_MACHINE_RESET(pasopia7)
/* Audio */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1040,10 +1041,10 @@ static MACHINE_CONFIG_DERIVED( p7_raster, p7_base )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 32-1)
- MCFG_VIDEO_START(pasopia7)
+ MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7)
MCFG_SCREEN_UPDATE_STATIC(pasopia7)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(p7_raster)
+ MCFG_PALETTE_INIT_OVERRIDE(pasopia7_state,p7_raster)
MCFG_GFXDECODE( pasopia7 )
MCFG_MC6845_ADD("crtc", H46505, VDP_CLOCK, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */
@@ -1056,10 +1057,10 @@ static MACHINE_CONFIG_DERIVED( p7_lcd, p7_base )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
- MCFG_VIDEO_START(pasopia7)
+ MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7)
MCFG_SCREEN_UPDATE_STATIC(pasopia7)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(p7_lcd)
+ MCFG_PALETTE_INIT_OVERRIDE(pasopia7_state,p7_lcd)
MCFG_GFXDECODE( pasopia7 )
MCFG_MC6845_ADD("crtc", H46505, LCD_CLOCK, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */
diff --git a/src/mess/drivers/pb1000.c b/src/mess/drivers/pb1000.c
index 4450f072284..a5c490016f7 100644
--- a/src/mess/drivers/pb1000.c
+++ b/src/mess/drivers/pb1000.c
@@ -50,6 +50,7 @@ public:
UINT16 pb1000_kb_r(running_machine &machine);
void kb_matrix_w(running_machine &machine, UINT8 matrix);
UINT16 read_touchscreen(running_machine &machine, UINT8 line);
+ virtual void palette_init();
};
static ADDRESS_MAP_START(pb1000_mem, AS_PROGRAM, 16, pb1000_state)
@@ -276,10 +277,10 @@ static INPUT_PORTS_START( pb2000c )
PORT_BIT(0xffff, IP_ACTIVE_HIGH, IPT_UNUSED)
INPUT_PORTS_END
-static PALETTE_INIT( pb1000 )
+void pb1000_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
@@ -515,7 +516,6 @@ static MACHINE_CONFIG_START( pb1000, pb1000_state )
MCFG_SCREEN_VISIBLE_AREA(0, 192-1, 0, 32-1)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT( pb1000 )
MCFG_GFXDECODE( pb1000 )
MCFG_HD44352_ADD("hd44352", 910000, hd44352_pb1000_conf)
diff --git a/src/mess/drivers/pc.c b/src/mess/drivers/pc.c
index e2fcff35e93..13c4de8d8b5 100644
--- a/src/mess/drivers/pc.c
+++ b/src/mess/drivers/pc.c
@@ -958,8 +958,8 @@ static MACHINE_CONFIG_START( pccga, pc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1040,8 +1040,8 @@ static MACHINE_CONFIG_START( europc, pc_state )
/* basic machine hardware */
MCFG_CPU_PC(europc, europc, I8088, 4772720*2, pc_frame_interrupt)
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1090,8 +1090,8 @@ static MACHINE_CONFIG_START( t1000hx, pc_state )
/* basic machine hardware */
MCFG_CPU_PC(tandy1000, tandy1000, I8088, 8000000, pc_frame_interrupt)
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1139,8 +1139,8 @@ static MACHINE_CONFIG_START( t1000_16, pc_state )
/* basic machine hardware */
MCFG_CPU_PC(tandy1000_16, tandy1000_16, I8086, XTAL_28_63636MHz / 3, pc_frame_interrupt)
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(tandy1000rl)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,tandy1000rl)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1188,8 +1188,8 @@ static MACHINE_CONFIG_START( t1000_286, pc_state )
/* basic machine hardware */
MCFG_CPU_PC(tandy1000_286, tandy1000_286, I80286, XTAL_28_63636MHz / 2, pc_frame_interrupt)
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1259,8 +1259,8 @@ static MACHINE_CONFIG_START( ibmpcjr, pc_state )
/* basic machine hardware */
MCFG_CPU_PC(ibmpcjr, ibmpcjr, I8088, 4900000, pcjr_frame_interrupt) /* TODO: Get correct cpu frequency, probably XTAL_14_31818MHz/3 */
- MCFG_MACHINE_START(pcjr)
- MCFG_MACHINE_RESET(pcjr)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pcjr)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pcjr)
MCFG_PIT8253_ADD( "pit8253", pcjr_pit8253_config )
@@ -1343,8 +1343,8 @@ static MACHINE_CONFIG_START( mc1502, pc_state )
MCFG_CPU_IO_MAP(mc1502_io)
MCFG_CPU_CONFIG(i86_address_mask)
- MCFG_MACHINE_START(mc1502)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,mc1502)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", mc1502_pit8253_config )
@@ -1386,8 +1386,8 @@ static MACHINE_CONFIG_START( ec1841, pc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1434,8 +1434,8 @@ static MACHINE_CONFIG_START( iskr1031, pc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1488,8 +1488,8 @@ static MACHINE_CONFIG_START( iskr3104, pc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1541,8 +1541,8 @@ static MACHINE_CONFIG_START( poisk2, pc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1594,8 +1594,8 @@ static MACHINE_CONFIG_START( zenith, pc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1647,8 +1647,8 @@ static MACHINE_CONFIG_START( olivetti, pc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
@@ -1700,8 +1700,8 @@ static MACHINE_CONFIG_START( ibm5550, pc_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(pc)
- MCFG_MACHINE_RESET(pc)
+ MCFG_MACHINE_START_OVERRIDE(pc_state,pc)
+ MCFG_MACHINE_RESET_OVERRIDE(pc_state,pc)
MCFG_PIT8253_ADD( "pit8253", ibm5150_pit8253_config )
diff --git a/src/mess/drivers/pc100.c b/src/mess/drivers/pc100.c
index f8209487f73..f600b5e1ba0 100644
--- a/src/mess/drivers/pc100.c
+++ b/src/mess/drivers/pc100.c
@@ -60,9 +60,12 @@ public:
UINT8 addr;
UINT8 reg[8];
}m_crtc;
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( pc100 )
+void pc100_state::video_start()
{
}
@@ -327,16 +330,15 @@ static const struct pic8259_interface pc100_pic8259_config =
DEVCB_NULL
};
-static MACHINE_START(pc100)
+void pc100_state::machine_start()
{
- pc100_state *state = machine.driver_data<pc100_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pc100_irq_callback);
- state->m_kanji_rom = (UINT16 *)(*machine.root_device().memregion("kanji"));
- state->m_vram = (UINT16 *)(*state->memregion("vram"));
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pc100_irq_callback);
+ m_kanji_rom = (UINT16 *)(*machine().root_device().memregion("kanji"));
+ m_vram = (UINT16 *)(*memregion("vram"));
}
-static MACHINE_RESET(pc100)
+void pc100_state::machine_reset()
{
}
@@ -386,8 +388,6 @@ static MACHINE_CONFIG_START( pc100, pc100_state )
MCFG_CPU_IO_MAP(pc100_io)
MCFG_CPU_VBLANK_INT("screen",pc100_vblank_irq)
- MCFG_MACHINE_START(pc100)
- MCFG_MACHINE_RESET(pc100)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -395,7 +395,6 @@ static MACHINE_CONFIG_START( pc100, pc100_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(1024, 1024)
MCFG_SCREEN_VISIBLE_AREA(0, 768-1, 0, 512-1)
- MCFG_VIDEO_START(pc100)
MCFG_SCREEN_UPDATE_STATIC(pc100)
MCFG_GFXDECODE(pc100)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mess/drivers/pc1500.c b/src/mess/drivers/pc1500.c
index 13c5d8a9bae..0c0a857b3ee 100644
--- a/src/mess/drivers/pc1500.c
+++ b/src/mess/drivers/pc1500.c
@@ -41,6 +41,7 @@ public:
DECLARE_WRITE8_MEMBER( port_c_w );
static UINT8 pc1500_kb_r(device_t *device);
+ virtual void palette_init();
};
static ADDRESS_MAP_START( pc1500_mem , AS_PROGRAM, 8, pc1500_state)
@@ -256,10 +257,10 @@ READ8_MEMBER( pc1500_state::port_a_r )
return 0xff;
}
-static PALETTE_INIT( pc1500 )
+void pc1500_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
static const lh5801_cpu_core lh5801_pc1500_config =
@@ -298,7 +299,6 @@ static MACHINE_CONFIG_START( pc1500, pc1500_state )
MCFG_SCREEN_VISIBLE_AREA(0, 156-1, 0, 7-1)
MCFG_DEFAULT_LAYOUT(layout_pc1500)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(pc1500)
MCFG_LH5810_ADD("lh5810", lh5810_pc1500_config)
diff --git a/src/mess/drivers/pc2000.c b/src/mess/drivers/pc2000.c
index 3cc612f39b2..e4d6e8b58bc 100644
--- a/src/mess/drivers/pc2000.c
+++ b/src/mess/drivers/pc2000.c
@@ -46,6 +46,7 @@ public:
DECLARE_WRITE8_MEMBER( rombank2_w );
DECLARE_READ8_MEMBER( beep_r );
DECLARE_WRITE8_MEMBER( beep_w );
+ virtual void palette_init();
};
@@ -295,10 +296,10 @@ void pc2000_state::machine_reset()
membank("bank2")->set_entry(0);
}
-static PALETTE_INIT( pc2000 )
+void pc2000_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
static const gfx_layout hd44780_charlayout =
@@ -339,7 +340,6 @@ static MACHINE_CONFIG_START( pc2000, pc2000_state )
MCFG_SCREEN_VISIBLE_AREA(0, 120-1, 0, 18-1)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(pc2000)
MCFG_GFXDECODE(pc2000)
MCFG_DEFAULT_LAYOUT(layout_lcd)
diff --git a/src/mess/drivers/pc4.c b/src/mess/drivers/pc4.c
index 7a2fee5c288..e685986e6e2 100644
--- a/src/mess/drivers/pc4.c
+++ b/src/mess/drivers/pc4.c
@@ -156,10 +156,10 @@ static INPUT_PORTS_START( pc4 )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_UNUSED
INPUT_PORTS_END
-static PALETTE_INIT( pc4 )
+void pc4_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
static const gfx_layout pc4_charlayout =
@@ -220,7 +220,6 @@ static MACHINE_CONFIG_START( pc4, pc4_state )
MCFG_SCREEN_VISIBLE_AREA(0, 240-1, 0, 36-1)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(pc4)
MCFG_GFXDECODE(pc4)
/* sound hardware */
diff --git a/src/mess/drivers/pc6001.c b/src/mess/drivers/pc6001.c
index 9c4288676ce..aaf3baca474 100644
--- a/src/mess/drivers/pc6001.c
+++ b/src/mess/drivers/pc6001.c
@@ -223,6 +223,13 @@ public:
DECLARE_WRITE8_MEMBER(pc6001sr_vram_bank_w);
DECLARE_WRITE8_MEMBER(pc6001sr_system_latch_w);
DECLARE_WRITE8_MEMBER(necsr_ppi8255_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_RESET(pc6001m2);
+ DECLARE_PALETTE_INIT(pc6001m2);
+ DECLARE_MACHINE_RESET(pc6001sr);
};
@@ -231,9 +238,8 @@ public:
#define IRQ_LOG (0)
-static VIDEO_START( pc6001 )
+void pc6001_state::video_start()
{
- pc6001_state *state = machine.driver_data<pc6001_state>();
#if 0
m6847_config cfg;
@@ -242,9 +248,9 @@ static VIDEO_START( pc6001 )
cfg.get_attributes = pc6001_get_attributes;
cfg.get_video_ram = pc6001_get_video_ram;
cfg.get_char_rom = pc6001_get_char_rom;
- m6847_init(machine, &cfg);
+ m6847_init(machine(), &cfg);
#endif
- state->m_video_ram = auto_alloc_array(machine, UINT8, 0x4000);
+ m_video_ram = auto_alloc_array(machine(), UINT8, 0x4000);
}
/* this is known as gfx mode 4 */
@@ -2094,113 +2100,109 @@ static TIMER_DEVICE_CALLBACK(keyboard_callback)
}
}
-static MACHINE_START(pc6001)
+void pc6001_state::machine_start()
{
- pc6001_state *state = machine.driver_data<pc6001_state>();
- state->m_timer_hz_div = 3;
+ m_timer_hz_div = 3;
{
- attotime period = attotime::from_hz((487.5*4)/(state->m_timer_hz_div+1));
- state->m_timer_irq_timer = machine.scheduler().timer_alloc(FUNC(audio_callback));
- state->m_timer_irq_timer->adjust(period, 0, period);
+ attotime period = attotime::from_hz((487.5*4)/(m_timer_hz_div+1));
+ m_timer_irq_timer = machine().scheduler().timer_alloc(FUNC(audio_callback));
+ m_timer_irq_timer->adjust(period, 0, period);
}
}
-static MACHINE_RESET(pc6001)
+void pc6001_state::machine_reset()
{
- pc6001_state *state = machine.driver_data<pc6001_state>();
- UINT8 *work_ram = state->memregion("maincpu")->base();
+ UINT8 *work_ram = memregion("maincpu")->base();
- state->m_video_ram = work_ram + 0xc000;
+ m_video_ram = work_ram + 0xc000;
- state->m_port_c_8255=0;
+ m_port_c_8255=0;
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pc6001_irq_callback);
- state->m_cas_switch = 0;
- state->m_cas_offset = 0;
- state->m_timer_irq_mask = 1;
- state->m_timer_irq_mask2 = 1;
- state->m_timer_irq_vector = 0x06; // actually vector is fixed in plain PC-6001
- state->m_timer_hz_div = 3;
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pc6001_irq_callback);
+ m_cas_switch = 0;
+ m_cas_offset = 0;
+ m_timer_irq_mask = 1;
+ m_timer_irq_mask2 = 1;
+ m_timer_irq_vector = 0x06; // actually vector is fixed in plain PC-6001
+ m_timer_hz_div = 3;
}
-static MACHINE_RESET(pc6001m2)
+MACHINE_RESET_MEMBER(pc6001_state,pc6001m2)
{
- pc6001_state *state = machine.driver_data<pc6001_state>();
- UINT8 *work_ram = machine.root_device().memregion("maincpu")->base();
+ UINT8 *work_ram = machine().root_device().memregion("maincpu")->base();
- state->m_video_ram = work_ram + 0xc000 + 0x28000;
+ m_video_ram = work_ram + 0xc000 + 0x28000;
- state->m_port_c_8255=0;
+ m_port_c_8255=0;
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pc6001_irq_callback);
- state->m_cas_switch = 0;
- state->m_cas_offset = 0;
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pc6001_irq_callback);
+ m_cas_switch = 0;
+ m_cas_offset = 0;
/* set default bankswitch */
{
- UINT8 *ROM = state->memregion("maincpu")->base();
- state->m_bank_r0 = 0x71;
- state->membank("bank1")->set_base(&ROM[BASICROM(0)]);
- state->membank("bank2")->set_base(&ROM[BASICROM(1)]);
- state->membank("bank3")->set_base(&ROM[EXROM(0)]);
- state->membank("bank4")->set_base(&ROM[EXROM(1)]);
- state->m_bank_r1 = 0xdd;
- state->membank("bank5")->set_base(&ROM[WRAM(4)]);
- state->membank("bank6")->set_base(&ROM[WRAM(5)]);
- state->membank("bank7")->set_base(&ROM[WRAM(6)]);
- state->membank("bank8")->set_base(&ROM[WRAM(7)]);
- state->m_bank_opt = 0x02; //tv rom
- state->m_bank_w = 0x50; //enable write to work ram 4,5,6,7
- state->m_gfx_bank_on = 0;
+ UINT8 *ROM = memregion("maincpu")->base();
+ m_bank_r0 = 0x71;
+ membank("bank1")->set_base(&ROM[BASICROM(0)]);
+ membank("bank2")->set_base(&ROM[BASICROM(1)]);
+ membank("bank3")->set_base(&ROM[EXROM(0)]);
+ membank("bank4")->set_base(&ROM[EXROM(1)]);
+ m_bank_r1 = 0xdd;
+ membank("bank5")->set_base(&ROM[WRAM(4)]);
+ membank("bank6")->set_base(&ROM[WRAM(5)]);
+ membank("bank7")->set_base(&ROM[WRAM(6)]);
+ membank("bank8")->set_base(&ROM[WRAM(7)]);
+ m_bank_opt = 0x02; //tv rom
+ m_bank_w = 0x50; //enable write to work ram 4,5,6,7
+ m_gfx_bank_on = 0;
}
- state->m_timer_irq_mask = 1;
- state->m_timer_irq_mask2 = 1;
- state->m_timer_irq_vector = 0x06;
+ m_timer_irq_mask = 1;
+ m_timer_irq_mask2 = 1;
+ m_timer_irq_vector = 0x06;
}
-static MACHINE_RESET(pc6001sr)
+MACHINE_RESET_MEMBER(pc6001_state,pc6001sr)
{
- pc6001_state *state = machine.driver_data<pc6001_state>();
- UINT8 *work_ram = machine.root_device().memregion("maincpu")->base();
+ UINT8 *work_ram = machine().root_device().memregion("maincpu")->base();
- state->m_video_ram = work_ram + 0x70000;
+ m_video_ram = work_ram + 0x70000;
- state->m_port_c_8255=0;
+ m_port_c_8255=0;
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pc6001_irq_callback);
- state->m_cas_switch = 0;
- state->m_cas_offset = 0;
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pc6001_irq_callback);
+ m_cas_switch = 0;
+ m_cas_offset = 0;
/* set default bankswitch */
{
- UINT8 *ROM = state->memregion("maincpu")->base();
- state->m_sr_bank_r[0] = 0xf8; state->membank("bank1")->set_base(&ROM[SR_SYSROM_1(0x08)]);
- state->m_sr_bank_r[1] = 0xfa; state->membank("bank2")->set_base(&ROM[SR_SYSROM_1(0x0a)]);
- state->m_sr_bank_r[2] = 0xb0; state->membank("bank3")->set_base(&ROM[SR_EXROM1(0x00)]);
- state->m_sr_bank_r[3] = 0xc0; state->membank("bank4")->set_base(&ROM[SR_EXROM0(0x00)]);
- state->m_sr_bank_r[4] = 0x08; state->membank("bank5")->set_base(&ROM[SR_WRAM0(0x08)]);
- state->m_sr_bank_r[5] = 0x0a; state->membank("bank6")->set_base(&ROM[SR_WRAM0(0x0a)]);
- state->m_sr_bank_r[6] = 0x0c; state->membank("bank7")->set_base(&ROM[SR_WRAM0(0x0c)]);
- state->m_sr_bank_r[7] = 0x0e; state->membank("bank8")->set_base(&ROM[SR_WRAM0(0x0e)]);
-// state->m_bank_opt = 0x02; //tv rom
+ UINT8 *ROM = memregion("maincpu")->base();
+ m_sr_bank_r[0] = 0xf8; membank("bank1")->set_base(&ROM[SR_SYSROM_1(0x08)]);
+ m_sr_bank_r[1] = 0xfa; membank("bank2")->set_base(&ROM[SR_SYSROM_1(0x0a)]);
+ m_sr_bank_r[2] = 0xb0; membank("bank3")->set_base(&ROM[SR_EXROM1(0x00)]);
+ m_sr_bank_r[3] = 0xc0; membank("bank4")->set_base(&ROM[SR_EXROM0(0x00)]);
+ m_sr_bank_r[4] = 0x08; membank("bank5")->set_base(&ROM[SR_WRAM0(0x08)]);
+ m_sr_bank_r[5] = 0x0a; membank("bank6")->set_base(&ROM[SR_WRAM0(0x0a)]);
+ m_sr_bank_r[6] = 0x0c; membank("bank7")->set_base(&ROM[SR_WRAM0(0x0c)]);
+ m_sr_bank_r[7] = 0x0e; membank("bank8")->set_base(&ROM[SR_WRAM0(0x0e)]);
+// m_bank_opt = 0x02; //tv rom
/* enable default work RAM writes */
- state->m_sr_bank_w[0] = 0x00;
- state->m_sr_bank_w[1] = 0x02;
- state->m_sr_bank_w[2] = 0x04;
- state->m_sr_bank_w[3] = 0x06;
- state->m_sr_bank_w[4] = 0x08;
- state->m_sr_bank_w[5] = 0x0a;
- state->m_sr_bank_w[6] = 0x0c;
- state->m_sr_bank_w[7] = 0x0e;
-
- state->m_gfx_bank_on = 0;
+ m_sr_bank_w[0] = 0x00;
+ m_sr_bank_w[1] = 0x02;
+ m_sr_bank_w[2] = 0x04;
+ m_sr_bank_w[3] = 0x06;
+ m_sr_bank_w[4] = 0x08;
+ m_sr_bank_w[5] = 0x0a;
+ m_sr_bank_w[6] = 0x0c;
+ m_sr_bank_w[7] = 0x0e;
+
+ m_gfx_bank_on = 0;
}
- state->m_timer_irq_mask = 1;
- state->m_timer_irq_mask2 = 1;
- state->m_timer_irq_vector = 0x06;
+ m_timer_irq_mask = 1;
+ m_timer_irq_mask2 = 1;
+ m_timer_irq_vector = 0x06;
}
static const rgb_t defcolors[] =
@@ -2241,23 +2243,23 @@ static const rgb_t mk2_defcolors[] =
MAKE_RGB(0xff, 0xff, 0xff) /* WHITE */
};
-static PALETTE_INIT(pc6001)
+void pc6001_state::palette_init()
{
int i;
for(i=0;i<8+4;i++)
- palette_set_color(machine, i+8,defcolors[i]);
+ palette_set_color(machine(), i+8,defcolors[i]);
}
-static PALETTE_INIT(pc6001m2)
+PALETTE_INIT_MEMBER(pc6001_state,pc6001m2)
{
int i;
for(i=0;i<8;i++)
- palette_set_color(machine, i+8,defcolors[i]);
+ palette_set_color(machine(), i+8,defcolors[i]);
for(i=0x10;i<0x20;i++)
- palette_set_color(machine, i,mk2_defcolors[i-0x10]);
+ palette_set_color(machine(), i,mk2_defcolors[i-0x10]);
}
static const cassette_interface pc6001_cassette_interface =
@@ -2327,8 +2329,6 @@ static MACHINE_CONFIG_START( pc6001, pc6001_state )
// MCFG_CPU_ADD("subcpu", I8049, 7987200)
- MCFG_MACHINE_START(pc6001)
- MCFG_MACHINE_RESET(pc6001)
MCFG_GFXDECODE(pc6001m2)
@@ -2341,10 +2341,8 @@ static MACHINE_CONFIG_START( pc6001, pc6001_state )
MCFG_SCREEN_SIZE(320, 25+192+26)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
- MCFG_VIDEO_START(pc6001)
MCFG_PALETTE_LENGTH(16+4)
- MCFG_PALETTE_INIT(pc6001)
MCFG_I8255_ADD( "ppi8255", pc6001_ppi8255_interface )
/* uart */
@@ -2377,12 +2375,12 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pc6001m2, pc6001 )
- MCFG_MACHINE_RESET(pc6001m2)
+ MCFG_MACHINE_RESET_OVERRIDE(pc6001_state,pc6001m2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(pc6001m2)
MCFG_PALETTE_LENGTH(16+16)
- MCFG_PALETTE_INIT(pc6001m2)
+ MCFG_PALETTE_INIT_OVERRIDE(pc6001_state,pc6001m2)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -2404,7 +2402,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pc6001sr, pc6001m2 )
- MCFG_MACHINE_RESET(pc6001sr)
+ MCFG_MACHINE_RESET_OVERRIDE(pc6001_state,pc6001sr)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(pc6001sr)
diff --git a/src/mess/drivers/pc8801.c b/src/mess/drivers/pc8801.c
index e4dd0f45eff..506be98aa47 100644
--- a/src/mess/drivers/pc8801.c
+++ b/src/mess/drivers/pc8801.c
@@ -444,6 +444,13 @@ public:
protected:
virtual void video_start();
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
+public:
+ DECLARE_MACHINE_RESET(pc8801_clock_speed);
+ DECLARE_MACHINE_RESET(pc8801_dic);
+ DECLARE_MACHINE_RESET(pc8801_cdrom);
};
@@ -2416,143 +2423,138 @@ static INTERRUPT_GEN( pc8801_vrtc_irq )
}
#endif
-static MACHINE_START( pc8801 )
+void pc8801_state::machine_start()
{
- pc8801_state *state = machine.driver_data<pc8801_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pc8801_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pc8801_irq_callback);
- state->m_rtc->cs_w(1);
- state->m_rtc->oe_w(1);
+ m_rtc->cs_w(1);
+ m_rtc->oe_w(1);
}
-static MACHINE_RESET( pc8801 )
+void pc8801_state::machine_reset()
{
- pc8801_state *state = machine.driver_data<pc8801_state>();
#define kB 1024
#define MB 1024*1024
const UINT32 extram_type[] = { 0*kB, 32*kB,64*kB,128*kB,128*kB,256*kB,512*kB,1*MB,2*MB,4*MB,8*MB,1*MB+128*kB,2*MB+128*kB,4*MB+128*kB, 0*kB, 0*kB };
#undef kB
#undef MB
- state->m_ext_rom_bank = 0xff;
- state->m_gfx_ctrl = 0x31;
- state->m_window_offset_bank = 0x80;
- state->m_misc_ctrl = 0x80;
- state->m_layer_mask = 0x00;
- state->m_vram_sel = 3;
+ m_ext_rom_bank = 0xff;
+ m_gfx_ctrl = 0x31;
+ m_window_offset_bank = 0x80;
+ m_misc_ctrl = 0x80;
+ m_layer_mask = 0x00;
+ m_vram_sel = 3;
-// pc8801_dynamic_res_change(machine);
+// pc8801_dynamic_res_change(machine());
- state->m_fdc_irq_opcode = 0; //TODO: copied from PC-88VA, could be wrong here ... should be 0x7f ld a,a in the latter case
- state->m_mouse.phase = 0;
+ m_fdc_irq_opcode = 0; //TODO: copied from PC-88VA, could be wrong here ... should be 0x7f ld a,a in the latter case
+ m_mouse.phase = 0;
- machine.device("fdccpu")->execute().set_input_line_vector(0, 0);
+ machine().device("fdccpu")->execute().set_input_line_vector(0, 0);
{
- state->m_txt_color = 2;
+ m_txt_color = 2;
}
{
int i;
for(i=0;i<3;i++)
- state->m_alu_reg[i] = 0x00;
+ m_alu_reg[i] = 0x00;
}
{
- state->m_crtc.param_count = 0;
- state->m_crtc.cmd = 0;
- state->m_crtc.status = 0;
+ m_crtc.param_count = 0;
+ m_crtc.cmd = 0;
+ m_crtc.status = 0;
}
- beep_set_frequency(machine.device(BEEPER_TAG),2400);
- beep_set_state(machine.device(BEEPER_TAG),0);
+ beep_set_frequency(machine().device(BEEPER_TAG),2400);
+ beep_set_state(machine().device(BEEPER_TAG),0);
#ifdef USE_PROPER_I8214
{
/* initialize I8214 */
- state->m_pic->etlg_w(1);
- state->m_pic->inte_w(1);
+ m_pic->etlg_w(1);
+ m_pic->inte_w(1);
}
#else
{
- state->m_vrtc_irq_mask = 0;
- state->m_vrtc_irq_latch = 0;
- state->m_timer_irq_mask = 0;
- state->m_timer_irq_latch = 0;
- state->m_sound_irq_mask = 0;
- state->m_sound_irq_latch = 0;
- state->m_i8214_irq_level = 0;
- state->m_sound_irq_pending = 0;
+ m_vrtc_irq_mask = 0;
+ m_vrtc_irq_latch = 0;
+ m_timer_irq_mask = 0;
+ m_timer_irq_latch = 0;
+ m_sound_irq_mask = 0;
+ m_sound_irq_latch = 0;
+ m_i8214_irq_level = 0;
+ m_sound_irq_pending = 0;
}
#endif
{
- state->m_dma_address[2] = 0xf300;
+ m_dma_address[2] = 0xf300;
}
{
- state->m_extram_bank = 0;
- state->m_extram_mode = 0;
+ m_extram_bank = 0;
+ m_extram_mode = 0;
}
{
int i;
for(i=0;i<0x10;i++) //text + bitmap
- 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));
}
- state->m_has_clock_speed = 0;
- state->m_has_dictionary = 0;
- state->m_has_cdrom = 0;
+ m_has_clock_speed = 0;
+ m_has_dictionary = 0;
+ m_has_cdrom = 0;
- state->m_extram_size = extram_type[machine.root_device().ioport("MEM")->read() & 0x0f];
- state->m_has_opna = machine.root_device().ioport("BOARD_CONFIG")->read() & 1;
+ m_extram_size = extram_type[machine().root_device().ioport("MEM")->read() & 0x0f];
+ m_has_opna = machine().root_device().ioport("BOARD_CONFIG")->read() & 1;
}
-static MACHINE_RESET( pc8801_clock_speed )
+MACHINE_RESET_MEMBER(pc8801_state,pc8801_clock_speed)
{
- pc8801_state *state = machine.driver_data<pc8801_state>();
- MACHINE_RESET_CALL( pc8801 );
- state->m_has_clock_speed = 1;
- state->m_clock_setting = machine.root_device().ioport("CFG")->read() & 0x80;
+ pc8801_state::machine_reset();
+ m_has_clock_speed = 1;
+ m_clock_setting = machine().root_device().ioport("CFG")->read() & 0x80;
- machine.device("maincpu")->set_unscaled_clock(state->m_clock_setting ? XTAL_4MHz : XTAL_8MHz);
- machine.device("fdccpu")->set_unscaled_clock(state->m_clock_setting ? XTAL_4MHz : XTAL_8MHz); // correct?
- state->m_baudrate_val = 0;
+ machine().device("maincpu")->set_unscaled_clock(m_clock_setting ? XTAL_4MHz : XTAL_8MHz);
+ machine().device("fdccpu")->set_unscaled_clock(m_clock_setting ? XTAL_4MHz : XTAL_8MHz); // correct?
+ m_baudrate_val = 0;
}
-static MACHINE_RESET( pc8801_dic )
+MACHINE_RESET_MEMBER(pc8801_state,pc8801_dic)
{
- pc8801_state *state = machine.driver_data<pc8801_state>();
- MACHINE_RESET_CALL( pc8801_clock_speed );
- state->m_has_dictionary = 1;
- state->m_dic_bank = 0;
- state->m_dic_ctrl = 0;
+ MACHINE_RESET_CALL_MEMBER( pc8801_clock_speed );
+ m_has_dictionary = 1;
+ m_dic_bank = 0;
+ m_dic_ctrl = 0;
}
-static MACHINE_RESET( pc8801_cdrom )
+MACHINE_RESET_MEMBER(pc8801_state,pc8801_cdrom)
{
- pc8801_state *state = machine.driver_data<pc8801_state>();
- MACHINE_RESET_CALL( pc8801_dic );
- state->m_has_cdrom = 1;
+ MACHINE_RESET_CALL_MEMBER( pc8801_dic );
+ m_has_cdrom = 1;
{
int i;
for(i=0;i<0x10;i++)
- state->m_cdrom_reg[i] = 0;
+ m_cdrom_reg[i] = 0;
}
}
-static PALETTE_INIT( pc8801 )
+void pc8801_state::palette_init()
{
int i;
for(i=0;i<0x10;i++) //text + bitmap
- 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 const struct upd765_interface pc8801_upd765_interface =
@@ -2671,8 +2673,6 @@ static MACHINE_CONFIG_START( pc8801, pc8801_state )
//MCFG_QUANTUM_TIME(attotime::from_hz(300000))
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START( pc8801 )
- MCFG_MACHINE_RESET( pc8801 )
MCFG_I8255_ADD( "d8255_master", master_fdd_intf )
MCFG_I8255_ADD( "d8255_slave", slave_fdd_intf )
@@ -2698,9 +2698,8 @@ static MACHINE_CONFIG_START( pc8801, pc8801_state )
MCFG_GFXDECODE( pc8801 )
MCFG_PALETTE_LENGTH(0x10)
- MCFG_PALETTE_INIT( pc8801 )
-// MCFG_VIDEO_START(pc8801)
+// MCFG_VIDEO_START_OVERRIDE(pc8801_state,pc8801)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2719,15 +2718,15 @@ static MACHINE_CONFIG_START( pc8801, pc8801_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pc8801fh, pc8801 )
- MCFG_MACHINE_RESET( pc8801_clock_speed )
+ MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_clock_speed )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pc8801ma, pc8801 )
- MCFG_MACHINE_RESET( pc8801_dic )
+ MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_dic )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pc8801mc, pc8801 )
- MCFG_MACHINE_RESET( pc8801_cdrom )
+ MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_cdrom )
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/pc88va.c b/src/mess/drivers/pc88va.c
index 39ad87ed6ea..db606a6d5ad 100644
--- a/src/mess/drivers/pc88va.c
+++ b/src/mess/drivers/pc88va.c
@@ -98,11 +98,14 @@ public:
DECLARE_READ8_MEMBER(backupram_dsw_r);
DECLARE_WRITE8_MEMBER(sys_port1_w);
DECLARE_WRITE8_MEMBER(fdc_irq_vector_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static VIDEO_START( pc88va )
+void pc88va_state::video_start()
{
}
@@ -1525,40 +1528,38 @@ static const struct pic8259_interface pc88va_pic8259_slave_config =
DEVCB_NULL
};
-static MACHINE_START( pc88va )
+void pc88va_state::machine_start()
{
- pc88va_state *state = machine.driver_data<pc88va_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pc88va_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pc88va_irq_callback);
- state->m_t3_mouse_timer = machine.scheduler().timer_alloc(FUNC(t3_mouse_callback));
- state->m_t3_mouse_timer->adjust(attotime::never);
+ m_t3_mouse_timer = machine().scheduler().timer_alloc(FUNC(t3_mouse_callback));
+ m_t3_mouse_timer->adjust(attotime::never);
}
-static MACHINE_RESET( pc88va )
+void pc88va_state::machine_reset()
{
- pc88va_state *state = machine.driver_data<pc88va_state>();
- UINT8 *ROM00 = machine.root_device().memregion("rom00")->base();
- UINT8 *ROM10 = state->memregion("rom10")->base();
+ UINT8 *ROM00 = machine().root_device().memregion("rom00")->base();
+ UINT8 *ROM10 = memregion("rom10")->base();
- state->membank("rom10_bank")->set_base(&ROM10[0x00000]);
- state->membank("rom00_bank")->set_base(&ROM00[0x00000]);
+ membank("rom10_bank")->set_base(&ROM10[0x00000]);
+ membank("rom00_bank")->set_base(&ROM00[0x00000]);
- state->m_bank_reg = 0x4100;
- state->m_backupram_wp = 1;
+ m_bank_reg = 0x4100;
+ m_backupram_wp = 1;
/* default palette */
{
UINT8 i;
for(i=0;i<32;i++)
- palette_set_color_rgb(machine,i,pal1bit((i & 2) >> 1),pal1bit((i & 4) >> 2),pal1bit(i & 1));
+ palette_set_color_rgb(machine(),i,pal1bit((i & 2) >> 1),pal1bit((i & 4) >> 2),pal1bit(i & 1));
}
- state->m_tsp.tvram_vreg_offset = 0;
+ m_tsp.tvram_vreg_offset = 0;
- state->m_fdc_mode = 0;
- state->m_fdc_irq_opcode = 0x00; //0x7f ld a,a !
+ m_fdc_mode = 0;
+ m_fdc_irq_opcode = 0x00; //0x7f ld a,a !
- machine.device("fdccpu")->execute().set_input_line_vector(0, 0);
+ machine().device("fdccpu")->execute().set_input_line_vector(0, 0);
}
static INTERRUPT_GEN( pc88va_vrtc_irq )
@@ -1671,13 +1672,10 @@ static MACHINE_CONFIG_START( pc88va, pc88va_state )
MCFG_SCREEN_UPDATE_STATIC( pc88va )
MCFG_PALETTE_LENGTH(32)
-// MCFG_PALETTE_INIT( pc8801 )
+// MCFG_PALETTE_INIT_OVERRIDE(pc88va_state, pc8801 )
MCFG_GFXDECODE( pc88va )
- MCFG_VIDEO_START( pc88va )
- MCFG_MACHINE_START( pc88va )
- MCFG_MACHINE_RESET( pc88va )
MCFG_I8255_ADD( "d8255_2", master_fdd_intf )
MCFG_I8255_ADD( "d8255_3", r232c_ctrl_intf )
diff --git a/src/mess/drivers/pc9801.c b/src/mess/drivers/pc9801.c
index ee4a41106fd..1360ab58d2f 100644
--- a/src/mess/drivers/pc9801.c
+++ b/src/mess/drivers/pc9801.c
@@ -408,7 +408,13 @@ public:
private:
UINT8 m_sdip_read(UINT16 port, UINT8 sdip_offset);
void m_sdip_write(UINT16 port, UINT8 sdip_offset,UINT8 data);
-
+public:
+ DECLARE_MACHINE_START(pc9801);
+ DECLARE_MACHINE_RESET(pc9801);
+ DECLARE_MACHINE_RESET(pc9801f);
+ DECLARE_PALETTE_INIT(pc9801);
+ DECLARE_MACHINE_RESET(pc9801rs);
+ DECLARE_MACHINE_START(pc9821);
};
@@ -2506,14 +2512,14 @@ static const i8251_interface pc9801_uart_interface =
*
****************************************/
-static PALETTE_INIT( pc9801 )
+PALETTE_INIT_MEMBER(pc9801_state,pc9801)
{
int i;
for(i=0;i<8;i++)
- palette_set_color_rgb(machine, i, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
- for(i=8;i<machine.total_colors();i++)
- palette_set_color_rgb(machine, i, pal1bit(0), pal1bit(0), pal1bit(0));
+ palette_set_color_rgb(machine(), i, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
+ for(i=8;i<machine().total_colors();i++)
+ palette_set_color_rgb(machine(), i, pal1bit(0), pal1bit(0), pal1bit(0));
}
static IRQ_CALLBACK(irq_callback)
@@ -2521,19 +2527,17 @@ static IRQ_CALLBACK(irq_callback)
return pic8259_acknowledge( device->machine().device( "pic8259_master" ));
}
-static MACHINE_START(pc9801)
+MACHINE_START_MEMBER(pc9801_state,pc9801)
{
- pc9801_state *state = machine.driver_data<pc9801_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
- state->m_rtc->cs_w(1);
- state->m_rtc->oe_w(1);
+ m_rtc->cs_w(1);
+ m_rtc->oe_w(1);
}
-static MACHINE_RESET(pc9801)
+MACHINE_RESET_MEMBER(pc9801_state,pc9801)
{
- pc9801_state *state = machine.driver_data<pc9801_state>();
/* this looks like to be some kind of backup ram, system will boot with green colors otherwise */
{
@@ -2545,64 +2549,62 @@ static MACHINE_RESET(pc9801)
};
for(i=0;i<0x10;i++)
- state->m_tvram[(0x3fe0)+i*2] = default_memsw_data[i];
+ m_tvram[(0x3fe0)+i*2] = default_memsw_data[i];
}
- beep_set_frequency(machine.device(BEEPER_TAG),2400);
- beep_set_state(machine.device(BEEPER_TAG),0);
+ beep_set_frequency(machine().device(BEEPER_TAG),2400);
+ beep_set_state(machine().device(BEEPER_TAG),0);
- state->m_nmi_ff = 0;
+ m_nmi_ff = 0;
}
-static MACHINE_RESET(pc9801f)
+MACHINE_RESET_MEMBER(pc9801_state,pc9801f)
{
- MACHINE_RESET_CALL(pc9801);
+ MACHINE_RESET_CALL_MEMBER(pc9801);
/* 2dd interface ready line is ON by default */
- floppy_mon_w(floppy_get_device(machine, 0), CLEAR_LINE);
- floppy_mon_w(floppy_get_device(machine, 1), CLEAR_LINE);
- floppy_drive_set_ready_state(floppy_get_device(machine, 0), (1), 0);
- floppy_drive_set_ready_state(floppy_get_device(machine, 1), (1), 0);
+ floppy_mon_w(floppy_get_device(machine(), 0), CLEAR_LINE);
+ floppy_mon_w(floppy_get_device(machine(), 1), CLEAR_LINE);
+ floppy_drive_set_ready_state(floppy_get_device(machine(), 0), (1), 0);
+ floppy_drive_set_ready_state(floppy_get_device(machine(), 1), (1), 0);
{
UINT8 op_mode;
UINT8 *ROM;
- UINT8 *PRG = machine.root_device().memregion("fdc_data")->base();
+ UINT8 *PRG = machine().root_device().memregion("fdc_data")->base();
int i;
- ROM = machine.root_device().memregion("fdc_bios_2dd")->base();
- op_mode = (machine.root_device().ioport("ROM_LOAD")->read() & 2) >> 1;
+ ROM = machine().root_device().memregion("fdc_bios_2dd")->base();
+ op_mode = (machine().root_device().ioport("ROM_LOAD")->read() & 2) >> 1;
for(i=0;i<0x1000;i++)
ROM[i] = PRG[i+op_mode*0x8000];
- ROM = machine.root_device().memregion("fdc_bios_2hd")->base();
- op_mode = machine.root_device().ioport("ROM_LOAD")->read() & 1;
+ ROM = machine().root_device().memregion("fdc_bios_2hd")->base();
+ op_mode = machine().root_device().ioport("ROM_LOAD")->read() & 1;
for(i=0;i<0x1000;i++)
ROM[i] = PRG[i+op_mode*0x8000+0x10000];
}
}
-static MACHINE_RESET(pc9801rs)
+MACHINE_RESET_MEMBER(pc9801_state,pc9801rs)
{
- pc9801_state *state = machine.driver_data<pc9801_state>();
- MACHINE_RESET_CALL(pc9801);
+ MACHINE_RESET_CALL_MEMBER(pc9801);
- state->m_gate_a20 = 0;
- state->m_rom_bank = 0;
- state->m_fdc_ctrl = 3;
- state->m_access_ctrl = 0;
+ m_gate_a20 = 0;
+ m_rom_bank = 0;
+ m_fdc_ctrl = 3;
+ m_access_ctrl = 0;
- state->m_ram_size = machine.device<ram_device>(RAM_TAG)->size() - 0xa0000;
+ m_ram_size = machine().device<ram_device>(RAM_TAG)->size() - 0xa0000;
}
-static MACHINE_START(pc9821)
+MACHINE_START_MEMBER(pc9801_state,pc9821)
{
- pc9801_state *state = machine.driver_data<pc9801_state>();
- MACHINE_START_CALL(pc9801);
- state_save_register_global_pointer(machine, state->m_sdip, 24);
+ MACHINE_START_CALL_MEMBER(pc9801);
+ state_save_register_global_pointer(machine(), m_sdip, 24);
}
static INTERRUPT_GEN(pc9801_vrtc_irq)
@@ -2639,8 +2641,8 @@ static MACHINE_CONFIG_START( pc9801, pc9801_state )
MCFG_CPU_IO_MAP(pc9801_io)
MCFG_CPU_VBLANK_INT("screen",pc9801_vrtc_irq)
- MCFG_MACHINE_START(pc9801)
- MCFG_MACHINE_RESET(pc9801f)
+ MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801)
+ MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801f)
MCFG_PIT8253_ADD( "pit8253", pit8253_config )
MCFG_I8237_ADD( "dma8237", 5000000, dma8237_config ) //unknown clock
@@ -2675,7 +2677,7 @@ static MACHINE_CONFIG_START( pc9801, pc9801_state )
MCFG_UPD7220_ADD("upd7220_btm", 5000000/2, hgdc_2_intf, upd7220_2_map)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(pc9801)
+ MCFG_PALETTE_INIT_OVERRIDE(pc9801_state,pc9801)
MCFG_GFXDECODE(pc9801)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2702,8 +2704,8 @@ static MACHINE_CONFIG_START( pc9801rs, pc9801_state )
MCFG_CPU_IO_MAP(pc9801rs_io)
MCFG_CPU_VBLANK_INT("screen",pc9801_vrtc_irq)
- MCFG_MACHINE_START(pc9801)
- MCFG_MACHINE_RESET(pc9801rs)
+ MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801)
+ MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801rs)
MCFG_PIT8253_ADD( "pit8253", pc9801rs_pit8253_config )
MCFG_I8237_ADD( "dma8237", 16000000, dma8237_config ) //unknown clock
@@ -2734,7 +2736,7 @@ static MACHINE_CONFIG_START( pc9801rs, pc9801_state )
MCFG_UPD7220_ADD("upd7220_btm", 5000000/2, hgdc_2_intf, upd7220_2_map)
MCFG_PALETTE_LENGTH(16+16)
- MCFG_PALETTE_INIT(pc9801)
+ MCFG_PALETTE_INIT_OVERRIDE(pc9801_state,pc9801)
MCFG_GFXDECODE(pc9801)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2762,8 +2764,8 @@ static MACHINE_CONFIG_START( pc9821, pc9801_state )
MCFG_CPU_IO_MAP(pc9821_io)
MCFG_CPU_VBLANK_INT("screen",pc9801_vrtc_irq)
- MCFG_MACHINE_START(pc9821)
- MCFG_MACHINE_RESET(pc9801rs)
+ MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9821)
+ MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801rs)
MCFG_PIT8253_ADD( "pit8253", pc9801rs_pit8253_config )
MCFG_I8237_ADD( "dma8237", 16000000, dma8237_config ) //unknown clock
@@ -2794,7 +2796,7 @@ static MACHINE_CONFIG_START( pc9821, pc9801_state )
MCFG_UPD7220_ADD("upd7220_btm", 5000000/2, hgdc_2_intf, upd7220_2_map)
MCFG_PALETTE_LENGTH(16+16+256)
- MCFG_PALETTE_INIT(pc9801)
+ MCFG_PALETTE_INIT_OVERRIDE(pc9801_state,pc9801)
MCFG_GFXDECODE(pc9801)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/pce.c b/src/mess/drivers/pce.c
index ea544a43172..ebef609fd3b 100644
--- a/src/mess/drivers/pce.c
+++ b/src/mess/drivers/pce.c
@@ -353,8 +353,8 @@ static MACHINE_CONFIG_START( pce_common, pce_state )
// MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( pce )
- MCFG_MACHINE_RESET( mess_pce )
+ MCFG_MACHINE_START_OVERRIDE(pce_state, pce )
+ MCFG_MACHINE_RESET_OVERRIDE(pce_state, mess_pce )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -405,8 +405,8 @@ static MACHINE_CONFIG_START( sgx, pce_state )
MCFG_TIMER_ADD_SCANLINE("scantimer", sgx_interrupt, "screen", 0, 1)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( pce )
- MCFG_MACHINE_RESET( mess_pce )
+ MCFG_MACHINE_START_OVERRIDE(pce_state, pce )
+ MCFG_MACHINE_RESET_OVERRIDE(pce_state, mess_pce )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -571,8 +571,8 @@ static MACHINE_CONFIG_START( pce_common_new, pce_state )
MCFG_CPU_IO_MAP(pce_io_new)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( pce )
- MCFG_MACHINE_RESET( mess_pce )
+ MCFG_MACHINE_START_OVERRIDE(pce_state, pce )
+ MCFG_MACHINE_RESET_OVERRIDE(pce_state, mess_pce )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -623,8 +623,8 @@ static MACHINE_CONFIG_START( sgx_new, pce_state )
MCFG_CPU_IO_MAP(sgx_io_new)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( pce )
- MCFG_MACHINE_RESET( mess_pce )
+ MCFG_MACHINE_START_OVERRIDE(pce_state, pce )
+ MCFG_MACHINE_RESET_OVERRIDE(pce_state, mess_pce )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/pce220.c b/src/mess/drivers/pce220.c
index 5ffecbde431..5b44ea70474 100644
--- a/src/mess/drivers/pce220.c
+++ b/src/mess/drivers/pce220.c
@@ -91,6 +91,7 @@ public:
DECLARE_READ8_MEMBER( irq_status_r );
DECLARE_WRITE8_MEMBER( irq_ack_w );
DECLARE_WRITE8_MEMBER( irq_mask_w );
+ DECLARE_PALETTE_INIT(pce220);
};
class pcg850v_state : public pce220_state
@@ -913,10 +914,10 @@ static TIMER_DEVICE_CALLBACK(pce220_timer_callback)
}
}
-static PALETTE_INIT(pce220)
+PALETTE_INIT_MEMBER(pce220_state,pce220)
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
@@ -936,7 +937,7 @@ static MACHINE_CONFIG_START( pce220, pce220_state )
MCFG_SCREEN_VISIBLE_AREA(0, 24*6-1, 0, 4*8-1)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(pce220)
+ MCFG_PALETTE_INIT_OVERRIDE(pce220_state,pce220)
MCFG_DEFAULT_LAYOUT(layout_lcd)
/* sound hardware */
@@ -971,7 +972,7 @@ static MACHINE_CONFIG_START( pcg850v, pcg850v_state )
MCFG_SCREEN_VISIBLE_AREA(0, 144-1, 0, 48-1)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(pce220)
+ MCFG_PALETTE_INIT_OVERRIDE(pce220_state,pce220)
MCFG_DEFAULT_LAYOUT(layout_lcd)
/* sound hardware */
diff --git a/src/mess/drivers/pcw.c b/src/mess/drivers/pcw.c
index b30cd818ccb..3bc98acfd95 100644
--- a/src/mess/drivers/pcw.c
+++ b/src/mess/drivers/pcw.c
@@ -1042,47 +1042,45 @@ static TIMER_CALLBACK(setup_beep)
}
-static MACHINE_START( pcw )
+void pcw_state::machine_start()
{
- pcw_state *state = machine.driver_data<pcw_state>();
- state->m_fdc_interrupt_code = 2;
+ m_fdc_interrupt_code = 2;
}
-static MACHINE_RESET( pcw )
+void pcw_state::machine_reset()
{
- pcw_state *state = machine.driver_data<pcw_state>();
- UINT8* code = state->memregion("printer_mcu")->base();
+ UINT8* code = memregion("printer_mcu")->base();
int x;
/* ram paging is actually undefined at power-on */
- state->m_bank_force = 0xf0; // banks are locked for CPC-style paging - Batman expects this
+ m_bank_force = 0xf0; // banks are locked for CPC-style paging - Batman expects this
- state->m_banks[0] = 0x80;
- state->m_banks[1] = 0x81;
- state->m_banks[2] = 0x82;
- state->m_banks[3] = 0x83;
+ m_banks[0] = 0x80;
+ m_banks[1] = 0x81;
+ m_banks[2] = 0x82;
+ m_banks[3] = 0x83;
- pcw_update_mem(machine, 0, state->m_banks[0]);
- pcw_update_mem(machine, 1, state->m_banks[1]);
- pcw_update_mem(machine, 2, state->m_banks[2]);
- pcw_update_mem(machine, 3, state->m_banks[3]);
+ pcw_update_mem(machine(), 0, m_banks[0]);
+ pcw_update_mem(machine(), 1, m_banks[1]);
+ pcw_update_mem(machine(), 2, m_banks[2]);
+ pcw_update_mem(machine(), 3, m_banks[3]);
- state->m_boot = 0; // System starts up in bootstrap mode, disabled until it's possible to emulate it.
+ m_boot = 0; // System starts up in bootstrap mode, disabled until it's possible to emulate it.
/* copy boot code into RAM - yes, it's skipping a step */
- memset(machine.device<ram_device>(RAM_TAG)->pointer(),0x00,machine.device<ram_device>(RAM_TAG)->size());
+ memset(machine().device<ram_device>(RAM_TAG)->pointer(),0x00,machine().device<ram_device>(RAM_TAG)->size());
for(x=0;x<256;x++)
- machine.device<ram_device>(RAM_TAG)->pointer()[x+2] = code[x+0x300];
+ machine().device<ram_device>(RAM_TAG)->pointer()[x+2] = code[x+0x300];
/* and hack our way past the MCU side of the boot process */
code[0x01] = 0x40;
- state->m_printer_status = 0xff;
- state->m_printer_command = 0xff;
- state->m_printer_data = 0x00;
- state->m_printer_headpos = 0x00; // bring printer head to left margin
- state->m_printer_shift = 0;
- state->m_printer_shift_output = 0;
+ m_printer_status = 0xff;
+ m_printer_command = 0xff;
+ m_printer_data = 0x00;
+ m_printer_headpos = 0x00; // bring printer head to left margin
+ m_printer_shift = 0;
+ m_printer_shift_output = 0;
}
DRIVER_INIT_MEMBER(pcw_state,pcw)
@@ -1326,8 +1324,6 @@ static MACHINE_CONFIG_START( pcw, pcw_state )
// MCFG_QUANTUM_TIME(attotime::from_hz(50))
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- MCFG_MACHINE_START(pcw)
- MCFG_MACHINE_RESET(pcw)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1338,9 +1334,7 @@ static MACHINE_CONFIG_START( pcw, pcw_state )
MCFG_SCREEN_UPDATE_STATIC( pcw )
MCFG_PALETTE_LENGTH(PCW_NUM_COLOURS)
- MCFG_PALETTE_INIT( pcw )
- MCFG_VIDEO_START( pcw )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/pcw16.c b/src/mess/drivers/pcw16.c
index 986e994555c..214229ebeeb 100644
--- a/src/mess/drivers/pcw16.c
+++ b/src/mess/drivers/pcw16.c
@@ -1423,20 +1423,19 @@ static void pcw16_reset(running_machine &machine)
}
-static MACHINE_START( pcw16 )
+void pcw16_state::machine_start()
{
- pcw16_state *state = machine.driver_data<pcw16_state>();
- device_t *speaker = machine.device(BEEPER_TAG);
- state->m_system_status = 0;
- state->m_interrupt_counter = 0;
+ device_t *speaker = machine().device(BEEPER_TAG);
+ m_system_status = 0;
+ m_interrupt_counter = 0;
- pc_fdc_init(machine, &pcw16_fdc_interface);
+ pc_fdc_init(machine(), &pcw16_fdc_interface);
/* initialise keyboard */
- at_keyboard_init(machine, AT_KEYBOARD_TYPE_AT);
+ at_keyboard_init(machine(), AT_KEYBOARD_TYPE_AT);
at_keyboard_set_scan_code_set(3);
- pcw16_reset(machine);
+ pcw16_reset(machine());
beep_set_state(speaker,0);
beep_set_frequency(speaker,3750);
@@ -1480,7 +1479,6 @@ static MACHINE_CONFIG_START( pcw16, pcw16_state )
MCFG_CPU_IO_MAP(pcw16_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( pcw16 )
MCFG_NS16550_ADD( "ns16550_1", pcw16_com_interface[0], XTAL_1_8432MHz ) /* TODO: Verify uart model */
@@ -1495,9 +1493,7 @@ static MACHINE_CONFIG_START( pcw16, pcw16_state )
MCFG_SCREEN_UPDATE_STATIC( pcw16 )
MCFG_PALETTE_LENGTH(PCW16_NUM_COLOURS)
- MCFG_PALETTE_INIT( pcw16 )
- MCFG_VIDEO_START( pcw16 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/pdp1.c b/src/mess/drivers/pdp1.c
index c15247731b5..fca2d4f6a41 100644
--- a/src/mess/drivers/pdp1.c
+++ b/src/mess/drivers/pdp1.c
@@ -290,7 +290,7 @@ static GFXDECODE_START( pdp1 )
GFXDECODE_END
/* Initialise the palette */
-static PALETTE_INIT( pdp1 )
+void pdp1_state::palette_init()
{
/* rgb components for the two color emissions */
const double r1 = .1, g1 = .1, b1 = .924, r2 = .7, g2 = .7, b2 = .076;
@@ -302,7 +302,7 @@ static PALETTE_INIT( pdp1 )
double cur_level_1, cur_level_2;
UINT8 i, r, g, b;
- machine.colortable = colortable_alloc(machine, total_colors_needed);
+ machine().colortable = colortable_alloc(machine(), total_colors_needed);
/* initialize CRT palette */
@@ -319,28 +319,28 @@ static PALETTE_INIT( pdp1 )
g = (int) ((g1*cur_level_1 + g2*cur_level_2) + .5);
b = (int) ((b1*cur_level_1 + b2*cur_level_2) + .5);
/* write color in palette */
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
/* apply decay for next iteration */
cur_level_1 *= decay_1;
cur_level_2 *= decay_2;
}
- colortable_palette_set_color(machine.colortable, 0, MAKE_RGB(0, 0, 0));
+ colortable_palette_set_color(machine().colortable, 0, MAKE_RGB(0, 0, 0));
/* load static palette */
for ( i = 0; i < 6; i++ )
{
r = pdp1_colors[i*3]; g = pdp1_colors[i*3+1]; b = pdp1_colors[i*3+2];
- colortable_palette_set_color(machine.colortable, pen_crt_num_levels + i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, pen_crt_num_levels + i, MAKE_RGB(r, g, b));
}
/* copy colortable to palette */
for( i = 0; i < total_colors_needed; i++ )
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* set up palette for text */
for( i = 0; i < 6; i++ )
- colortable_entry_set_value(machine.colortable, total_colors_needed + i, pdp1_palette[i]);
+ colortable_entry_set_value(machine().colortable, total_colors_needed + i, pdp1_palette[i]);
}
@@ -490,23 +490,22 @@ static pdp1_reset_param_t pdp1_reset_param =
0 /* type 20 sequence break system support defined in input ports and pdp1_init_machine */
};
-static MACHINE_RESET( pdp1 )
+void pdp1_state::machine_reset()
{
- pdp1_state *state = machine.driver_data<pdp1_state>();
int cfg;
- cfg = machine.root_device().ioport("CFG")->read();
+ cfg = machine().root_device().ioport("CFG")->read();
pdp1_reset_param.extend_support = (cfg >> pdp1_config_extend_bit) & pdp1_config_extend_mask;
pdp1_reset_param.hw_mul_div = (cfg >> pdp1_config_hw_mul_div_bit) & pdp1_config_hw_mul_div_mask;
pdp1_reset_param.type_20_sbs = (cfg >> pdp1_config_type_20_sbs_bit) & pdp1_config_type_20_sbs_mask;
/* reset device state */
- state->m_tape_reader.rcl = state->m_tape_reader.rc = 0;
- state->m_io_status = io_st_tyo | io_st_ptp;
- state->m_lightpen.active = state->m_lightpen.down = 0;
- state->m_lightpen.x = state->m_lightpen.y = 0;
- state->m_lightpen.radius = 10; /* ??? */
- pdp1_update_lightpen_state(machine, &state->m_lightpen);
+ m_tape_reader.rcl = m_tape_reader.rc = 0;
+ m_io_status = io_st_tyo | io_st_ptp;
+ m_lightpen.active = m_lightpen.down = 0;
+ m_lightpen.x = m_lightpen.y = 0;
+ m_lightpen.radius = 10; /* ??? */
+ pdp1_update_lightpen_state(machine(), &m_lightpen);
}
@@ -524,9 +523,8 @@ static void pdp1_machine_stop(running_machine &machine)
Set up the pdp1_memory pointer, and generate font data.
*/
-static MACHINE_START( pdp1 )
+void pdp1_state::machine_start()
{
- pdp1_state *state = machine.driver_data<pdp1_state>();
UINT8 *dst;
static const unsigned char fontdata6x8[pdp1_fontdata_size] =
@@ -655,17 +653,17 @@ static MACHINE_START( pdp1 )
};
/* set up our font */
- dst = machine.root_device().memregion("gfx1")->base();
+ dst = machine().root_device().memregion("gfx1")->base();
memcpy(dst, fontdata6x8, pdp1_fontdata_size);
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(pdp1_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(pdp1_machine_stop),&machine()));
- state->m_tape_reader.timer = machine.scheduler().timer_alloc(FUNC(reader_callback));
- state->m_tape_puncher.timer = machine.scheduler().timer_alloc(FUNC(puncher_callback));
- state->m_typewriter.tyo_timer = machine.scheduler().timer_alloc(FUNC(tyo_callback));
- state->m_dpy_timer = machine.scheduler().timer_alloc(FUNC(dpy_callback));
- state->m_tape_reader.timer->adjust(attotime::zero, 0, attotime::from_hz(2500));
- state->m_tape_reader.timer->enable(0);
+ m_tape_reader.timer = machine().scheduler().timer_alloc(FUNC(reader_callback));
+ m_tape_puncher.timer = machine().scheduler().timer_alloc(FUNC(puncher_callback));
+ m_typewriter.tyo_timer = machine().scheduler().timer_alloc(FUNC(tyo_callback));
+ m_dpy_timer = machine().scheduler().timer_alloc(FUNC(dpy_callback));
+ m_tape_reader.timer->adjust(attotime::zero, 0, attotime::from_hz(2500));
+ m_tape_reader.timer->enable(0);
}
@@ -1958,8 +1956,6 @@ static MACHINE_CONFIG_START( pdp1, pdp1_state )
MCFG_CPU_PROGRAM_MAP(pdp1_map)
MCFG_CPU_VBLANK_INT("screen", pdp1_interrupt) /* dummy interrupt: handles input */
- MCFG_MACHINE_START( pdp1 )
- MCFG_MACHINE_RESET( pdp1 )
/* video hardware (includes the control panel and typewriter output) */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1979,8 +1975,6 @@ static MACHINE_CONFIG_START( pdp1, pdp1_state )
MCFG_GFXDECODE(pdp1)
MCFG_PALETTE_LENGTH(pen_crt_num_levels + sizeof(pdp1_colors) / 3 + sizeof(pdp1_palette))
- MCFG_PALETTE_INIT(pdp1)
- MCFG_VIDEO_START(pdp1)
MACHINE_CONFIG_END
/*
diff --git a/src/mess/drivers/pdp11.c b/src/mess/drivers/pdp11.c
index 598264e8794..7e235c5f25a 100644
--- a/src/mess/drivers/pdp11.c
+++ b/src/mess/drivers/pdp11.c
@@ -89,6 +89,9 @@ public:
DECLARE_WRITE8_MEMBER( kbd_put );
UINT8 m_term_data;
UINT16 m_term_status;
+ virtual void machine_reset();
+ DECLARE_MACHINE_RESET(pdp11ub2);
+ DECLARE_MACHINE_RESET(pdp11qb);
};
WRITE16_MEMBER(pdp11_state::term_w)
@@ -219,11 +222,11 @@ static INPUT_PORTS_START( pdp11 )
INPUT_PORTS_END
-static MACHINE_RESET(pdp11)
+void pdp11_state::machine_reset()
{
// Load M9301-YA
- UINT8* user1 = machine.root_device().memregion("user1")->base();
- UINT8* maincpu = machine.root_device().memregion("maincpu")->base();
+ UINT8* user1 = machine().root_device().memregion("user1")->base();
+ UINT8* maincpu = machine().root_device().memregion("maincpu")->base();
int i;
for(i=0;i<0x100;i++) {
@@ -263,40 +266,40 @@ static void load9312prom(UINT8 *desc, UINT8 *src, int size)
}
}
-static MACHINE_RESET(pdp11ub2)
+MACHINE_RESET_MEMBER(pdp11_state,pdp11ub2)
{
// Load M9312
- UINT8* user1 = machine.root_device().memregion("consproms")->base() + machine.root_device().ioport("CONSPROM")->read() * 0x0400;
- UINT8* maincpu = machine.root_device().memregion("maincpu")->base();
+ UINT8* user1 = machine().root_device().memregion("consproms")->base() + machine().root_device().ioport("CONSPROM")->read() * 0x0400;
+ UINT8* maincpu = machine().root_device().memregion("maincpu")->base();
//0165000
load9312prom(maincpu + 0165000,user1,0x100);
- UINT8 s1 = machine.root_device().ioport("S1")->read();
+ UINT8 s1 = machine().root_device().ioport("S1")->read();
if (s1 & 0x02) { // if boot enabled
UINT16 addr = 0173000;
if (s1 & 1) {
addr = 0165000;
}
- addr += machine.root_device().ioport("S1_2")->read() * 2;
- machine.device("maincpu")->state().set_state_int(T11_PC, addr);
+ addr += machine().root_device().ioport("S1_2")->read() * 2;
+ machine().device("maincpu")->state().set_state_int(T11_PC, addr);
}
//0173000
- load9312prom(maincpu + 0173000,machine.root_device().memregion("devproms")->base() + machine.root_device().ioport("DEVPROM1")->read() * 0x0200,0x080);
+ load9312prom(maincpu + 0173000,machine().root_device().memregion("devproms")->base() + machine().root_device().ioport("DEVPROM1")->read() * 0x0200,0x080);
//0173200
- load9312prom(maincpu + 0173200,machine.root_device().memregion("devproms")->base() + machine.root_device().ioport("DEVPROM2")->read() * 0x0200,0x080);
+ load9312prom(maincpu + 0173200,machine().root_device().memregion("devproms")->base() + machine().root_device().ioport("DEVPROM2")->read() * 0x0200,0x080);
//0173400
- load9312prom(maincpu + 0173400,machine.root_device().memregion("devproms")->base() + machine.root_device().ioport("DEVPROM3")->read() * 0x0200,0x080);
+ load9312prom(maincpu + 0173400,machine().root_device().memregion("devproms")->base() + machine().root_device().ioport("DEVPROM3")->read() * 0x0200,0x080);
//0173600
- load9312prom(maincpu + 0173600,machine.root_device().memregion("devproms")->base() + machine.root_device().ioport("DEVPROM4")->read() * 0x0200,0x080);
+ load9312prom(maincpu + 0173600,machine().root_device().memregion("devproms")->base() + machine().root_device().ioport("DEVPROM4")->read() * 0x0200,0x080);
}
-static MACHINE_RESET(pdp11qb)
+MACHINE_RESET_MEMBER(pdp11_state,pdp11qb)
{
- machine.device("maincpu")->state().set_state_int(T11_PC, 0xea00);
+ machine().device("maincpu")->state().set_state_int(T11_PC, 0xea00);
}
static const struct t11_setup pdp11_data =
@@ -326,7 +329,6 @@ static MACHINE_CONFIG_START( pdp11, pdp11_state )
MCFG_CPU_CONFIG(pdp11_data)
MCFG_CPU_PROGRAM_MAP(pdp11_mem)
- MCFG_MACHINE_RESET(pdp11)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
@@ -335,11 +337,11 @@ static MACHINE_CONFIG_START( pdp11, pdp11_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pdp11ub2, pdp11 )
- MCFG_MACHINE_RESET(pdp11ub2)
+ MCFG_MACHINE_RESET_OVERRIDE(pdp11_state,pdp11ub2)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pdp11qb, pdp11 )
- MCFG_MACHINE_RESET(pdp11qb)
+ MCFG_MACHINE_RESET_OVERRIDE(pdp11_state,pdp11qb)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CONFIG(mxv11_data)
diff --git a/src/mess/drivers/pecom.c b/src/mess/drivers/pecom.c
index 9e847129b0d..4e99b476265 100644
--- a/src/mess/drivers/pecom.c
+++ b/src/mess/drivers/pecom.c
@@ -182,8 +182,6 @@ static MACHINE_CONFIG_START( pecom64, pecom_state )
MCFG_CPU_IO_MAP(pecom64_io)
MCFG_CPU_CONFIG(pecom64_cdp1802_config)
- MCFG_MACHINE_START( pecom )
- MCFG_MACHINE_RESET( pecom )
// sound and video hardware
diff --git a/src/mess/drivers/pentagon.c b/src/mess/drivers/pentagon.c
index b04f339ab7f..a447a6a5ba8 100644
--- a/src/mess/drivers/pentagon.c
+++ b/src/mess/drivers/pentagon.c
@@ -17,6 +17,7 @@ public:
DECLARE_DIRECT_UPDATE_MEMBER(pentagon_direct);
DECLARE_WRITE8_MEMBER(pentagon_port_7ffd_w);
+ DECLARE_MACHINE_RESET(pentagon);
};
DIRECT_UPDATE_MEMBER(pentagon_state::pentagon_direct)
@@ -107,12 +108,11 @@ static ADDRESS_MAP_START (pentagon_io, AS_IO, 8, pentagon_state )
AM_RANGE(0xc000, 0xc000) AM_DEVREADWRITE_LEGACY("ay8912", ay8910_r, ay8910_address_w) AM_MIRROR(0x3ffd)
ADDRESS_MAP_END
-static MACHINE_RESET( pentagon )
+MACHINE_RESET_MEMBER(pentagon_state,pentagon)
{
- pentagon_state *state = machine.driver_data<pentagon_state>();
- UINT8 *messram = machine.device<ram_device>(RAM_TAG)->pointer();
- device_t *beta = machine.device(BETA_DISK_TAG);
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *messram = machine().device<ram_device>(RAM_TAG)->pointer();
+ device_t *beta = machine().device(BETA_DISK_TAG);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
space->install_read_bank(0x0000, 0x3fff, "bank1");
space->unmap_write(0x0000, 0x3fff);
@@ -121,19 +121,19 @@ static MACHINE_RESET( pentagon )
betadisk_enable(beta);
betadisk_clear_status(beta);
}
- space->set_direct_update_handler(direct_update_delegate(FUNC(pentagon_state::pentagon_direct), state));
+ space->set_direct_update_handler(direct_update_delegate(FUNC(pentagon_state::pentagon_direct), this));
memset(messram,0,128*1024);
/* Bank 5 is always in 0x4000 - 0x7fff */
- state->membank("bank2")->set_base(messram + (5<<14));
+ membank("bank2")->set_base(messram + (5<<14));
/* Bank 2 is always in 0x8000 - 0xbfff */
- state->membank("bank3")->set_base(messram + (2<<14));
+ membank("bank3")->set_base(messram + (2<<14));
- state->m_port_7ffd_data = 0;
- state->m_port_1ffd_data = -1;
- pentagon_update_memory(machine);
+ m_port_7ffd_data = 0;
+ m_port_1ffd_data = -1;
+ pentagon_update_memory(machine());
}
/* F4 Character Displayer */
@@ -157,7 +157,7 @@ GFXDECODE_END
static MACHINE_CONFIG_DERIVED_CLASS( pentagon, spectrum_128, pentagon_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(pentagon_io)
- MCFG_MACHINE_RESET( pentagon )
+ MCFG_MACHINE_RESET_OVERRIDE(pentagon_state, pentagon )
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
MCFG_GFXDECODE(pentagon)
diff --git a/src/mess/drivers/pet.c b/src/mess/drivers/pet.c
index da432d91e29..a16b0c97b7b 100644
--- a/src/mess/drivers/pet.c
+++ b/src/mess/drivers/pet.c
@@ -623,16 +623,16 @@ static const mc6845_interface crtc_pet80 = {
NULL
};
-static PALETTE_INIT( pet )
+void pet_state::palette_init()
{
int i;
for ( i = 0; i < sizeof(pet_palette) / 3; i++ ) {
- palette_set_color_rgb(machine, i, pet_palette[i*3], pet_palette[i*3+1], pet_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, pet_palette[i*3], pet_palette[i*3+1], pet_palette[i*3+2]);
}
}
-static VIDEO_START( pet_crtc )
+VIDEO_START_MEMBER(pet_state,pet_crtc)
{
}
@@ -661,7 +661,6 @@ static MACHINE_CONFIG_START( pet_general, pet_state )
MCFG_CPU_PROGRAM_MAP(pet_mem)
MCFG_CPU_VBLANK_INT("screen", pet_frame_interrupt)
- MCFG_MACHINE_RESET( pet )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -673,7 +672,6 @@ static MACHINE_CONFIG_START( pet_general, pet_state )
MCFG_GFXDECODE( pet )
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(pet_palette) / 3)
- MCFG_PALETTE_INIT( pet )
/* cassette */
MCFG_CASSETTE_ADD( CASSETTE_TAG, cbm_cassette_interface )
@@ -726,7 +724,7 @@ static MACHINE_CONFIG_DERIVED( pet40, pet )
MCFG_MC6845_ADD("crtc", MC6845, XTAL_17_73447MHz/3 /* This is a wild guess and mostly likely incorrect */, crtc_pet40)
- MCFG_VIDEO_START( pet_crtc )
+ MCFG_VIDEO_START_OVERRIDE(pet_state, pet_crtc )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DEVICE( "crtc", mc6845_device, screen_update )
@@ -757,7 +755,7 @@ static MACHINE_CONFIG_DERIVED( pet80, pet_general )
MCFG_MC6845_ADD("crtc", MC6845, XTAL_12MHz / 2 /* This is a wild guess and mostly likely incorrect */, crtc_pet80)
MCFG_GFXDECODE( pet80 )
- MCFG_VIDEO_START( pet_crtc )
+ MCFG_VIDEO_START_OVERRIDE(pet_state, pet_crtc )
MCFG_PIA6821_MODIFY( "pia_0", petb_pia0 )
diff --git a/src/mess/drivers/phunsy.c b/src/mess/drivers/phunsy.c
index f7679ec9eee..cc7dc8ebebf 100644
--- a/src/mess/drivers/phunsy.c
+++ b/src/mess/drivers/phunsy.c
@@ -57,6 +57,7 @@ public:
required_device<device_t> m_speaker;
required_device<cassette_image_device> m_cass;
required_shared_ptr<UINT8> m_videoram;
+ virtual void palette_init();
};
@@ -206,13 +207,13 @@ void phunsy_state::machine_reset()
}
-static PALETTE_INIT( phunsy )
+void phunsy_state::palette_init()
{
for ( int i = 0; i < 8; i++ )
{
int j = ( i << 5 ) | ( i << 2 ) | ( i >> 1 );
- palette_set_color_rgb( machine, i, j, j, j );
+ palette_set_color_rgb( machine(), i, j, j, j );
}
}
@@ -306,7 +307,6 @@ static MACHINE_CONFIG_START( phunsy, phunsy_state )
MCFG_SCREEN_UPDATE_DRIVER(phunsy_state, screen_update)
MCFG_GFXDECODE(phunsy)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(phunsy)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/pk8000.c b/src/mess/drivers/pk8000.c
index 39337a85a56..47acbbf001a 100644
--- a/src/mess/drivers/pk8000.c
+++ b/src/mess/drivers/pk8000.c
@@ -27,6 +27,8 @@ public:
UINT8 m_keyboard_line;
DECLARE_READ8_MEMBER(pk8000_joy_1_r);
DECLARE_READ8_MEMBER(pk8000_joy_2_r);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -316,13 +318,13 @@ static IRQ_CALLBACK(pk8000_irq_callback)
}
-static MACHINE_RESET(pk8000)
+void pk8000_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( pk8000 )
+void pk8000_state::video_start()
{
}
@@ -348,7 +350,6 @@ static MACHINE_CONFIG_START( pk8000, pk8000_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)
@@ -361,7 +362,6 @@ static MACHINE_CONFIG_START( pk8000, pk8000_state )
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT(pk8000)
- MCFG_VIDEO_START(pk8000)
MCFG_I8255_ADD( "ppi8255_1", pk8000_ppi8255_interface_1 )
MCFG_I8255_ADD( "ppi8255_2", pk8000_ppi8255_interface_2 )
diff --git a/src/mess/drivers/pk8020.c b/src/mess/drivers/pk8020.c
index f55d74f3293..0fce7af2f43 100644
--- a/src/mess/drivers/pk8020.c
+++ b/src/mess/drivers/pk8020.c
@@ -207,7 +207,6 @@ static MACHINE_CONFIG_START( pk8020, pk8020_state )
MCFG_CPU_IO_MAP(pk8020_io)
MCFG_CPU_VBLANK_INT("screen", pk8020_interrupt)
- MCFG_MACHINE_RESET( pk8020 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -219,9 +218,7 @@ static MACHINE_CONFIG_START( pk8020, pk8020_state )
MCFG_GFXDECODE(pk8020)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(pk8020)
- MCFG_VIDEO_START(pk8020)
MCFG_I8255_ADD( "ppi8255_1", pk8020_ppi8255_interface_1 )
MCFG_I8255_ADD( "ppi8255_2", pk8020_ppi8255_interface_2 )
diff --git a/src/mess/drivers/pmd85.c b/src/mess/drivers/pmd85.c
index 66fdbba5c92..a0671776b7e 100644
--- a/src/mess/drivers/pmd85.c
+++ b/src/mess/drivers/pmd85.c
@@ -551,7 +551,6 @@ static MACHINE_CONFIG_START( pmd85, pmd85_state )
MCFG_CPU_IO_MAP(pmd85_io_map)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( pmd85 )
MCFG_PIT8253_ADD( "pit8253", pmd85_pit8253_interface )
@@ -564,9 +563,7 @@ static MACHINE_CONFIG_START( pmd85, pmd85_state )
MCFG_SCREEN_UPDATE_STATIC( pmd85 )
MCFG_PALETTE_LENGTH(sizeof (pmd85_palette) / 3)
- MCFG_PALETTE_INIT( pmd85 )
- MCFG_VIDEO_START( pmd85 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/pmi80.c b/src/mess/drivers/pmi80.c
index b6c9801d4a0..1a1a72cf10a 100644
--- a/src/mess/drivers/pmi80.c
+++ b/src/mess/drivers/pmi80.c
@@ -48,6 +48,7 @@ public:
DECLARE_WRITE8_MEMBER(leds_w);
UINT8 m_keyrow;
bool m_ledready;
+ virtual void machine_reset();
};
@@ -141,7 +142,7 @@ static INPUT_PORTS_START( pmi80 )
INPUT_PORTS_END
-static MACHINE_RESET( pmi80 )
+void pmi80_state::machine_reset()
{
}
@@ -152,7 +153,6 @@ static MACHINE_CONFIG_START( pmi80, pmi80_state )
MCFG_CPU_PROGRAM_MAP(pmi80_mem)
MCFG_CPU_IO_MAP(pmi80_io)
- MCFG_MACHINE_RESET(pmi80)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_pmi80)
diff --git a/src/mess/drivers/pockstat.c b/src/mess/drivers/pockstat.c
index 63d0cd15bbb..8c227a81033 100644
--- a/src/mess/drivers/pockstat.c
+++ b/src/mess/drivers/pockstat.c
@@ -120,6 +120,8 @@ public:
DECLARE_READ32_MEMBER(ps_audio_r);
DECLARE_WRITE32_MEMBER(ps_audio_w);
DECLARE_WRITE32_MEMBER(ps_dac_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -866,63 +868,61 @@ static INPUT_PORTS_START( pockstat )
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED)
INPUT_PORTS_END
-static MACHINE_START( pockstat )
+void pockstat_state::machine_start()
{
- pockstat_state *state = machine.driver_data<pockstat_state>();
int index = 0;
for(index = 0; index < 3; index++)
{
- state->m_timer_regs.timer[index].timer = machine.scheduler().timer_alloc(FUNC(timer_tick));
- state->m_timer_regs.timer[index].timer->adjust(attotime::never, index);
+ m_timer_regs.timer[index].timer = machine().scheduler().timer_alloc(FUNC(timer_tick));
+ m_timer_regs.timer[index].timer->adjust(attotime::never, index);
}
- state->m_rtc_regs.time = 0x01000000;
- state->m_rtc_regs.date = 0x19990101;
-
- state->m_rtc_regs.timer = machine.scheduler().timer_alloc(FUNC(rtc_tick));
- state->m_rtc_regs.timer->adjust(attotime::from_hz(1), index);
-
- state->save_item(NAME(state->m_ftlb_regs.control));
- state->save_item(NAME(state->m_ftlb_regs.stat));
- state->save_item(NAME(state->m_ftlb_regs.valid));
- state->save_item(NAME(state->m_ftlb_regs.wait1));
- state->save_item(NAME(state->m_ftlb_regs.wait2));
- state->save_item(NAME(state->m_ftlb_regs.entry));
-
- state->save_item(NAME(state->m_intc_regs.hold));
- state->save_item(NAME(state->m_intc_regs.status));
- state->save_item(NAME(state->m_intc_regs.enable));
- state->save_item(NAME(state->m_intc_regs.mask));
-
- state->save_item(NAME(state->m_timer_regs.timer[0].period));
- state->save_item(NAME(state->m_timer_regs.timer[0].count));
- state->save_item(NAME(state->m_timer_regs.timer[0].control));
- state->save_item(NAME(state->m_timer_regs.timer[1].period));
- state->save_item(NAME(state->m_timer_regs.timer[1].count));
- state->save_item(NAME(state->m_timer_regs.timer[1].control));
- state->save_item(NAME(state->m_timer_regs.timer[2].period));
- state->save_item(NAME(state->m_timer_regs.timer[2].count));
- state->save_item(NAME(state->m_timer_regs.timer[2].control));
-
- state->save_item(NAME(state->m_clock_regs.mode));
- state->save_item(NAME(state->m_clock_regs.control));
-
- state->save_item(NAME(state->m_rtc_regs.mode));
- state->save_item(NAME(state->m_rtc_regs.control));
- state->save_item(NAME(state->m_rtc_regs.time));
- state->save_item(NAME(state->m_rtc_regs.date));
-
- state->save_item(NAME(state->m_ps_flash_write_enable_count));
- state->save_item(NAME(state->m_ps_flash_write_count));
+ m_rtc_regs.time = 0x01000000;
+ m_rtc_regs.date = 0x19990101;
+
+ m_rtc_regs.timer = machine().scheduler().timer_alloc(FUNC(rtc_tick));
+ m_rtc_regs.timer->adjust(attotime::from_hz(1), index);
+
+ save_item(NAME(m_ftlb_regs.control));
+ save_item(NAME(m_ftlb_regs.stat));
+ save_item(NAME(m_ftlb_regs.valid));
+ save_item(NAME(m_ftlb_regs.wait1));
+ save_item(NAME(m_ftlb_regs.wait2));
+ save_item(NAME(m_ftlb_regs.entry));
+
+ save_item(NAME(m_intc_regs.hold));
+ save_item(NAME(m_intc_regs.status));
+ save_item(NAME(m_intc_regs.enable));
+ save_item(NAME(m_intc_regs.mask));
+
+ save_item(NAME(m_timer_regs.timer[0].period));
+ save_item(NAME(m_timer_regs.timer[0].count));
+ save_item(NAME(m_timer_regs.timer[0].control));
+ save_item(NAME(m_timer_regs.timer[1].period));
+ save_item(NAME(m_timer_regs.timer[1].count));
+ save_item(NAME(m_timer_regs.timer[1].control));
+ save_item(NAME(m_timer_regs.timer[2].period));
+ save_item(NAME(m_timer_regs.timer[2].count));
+ save_item(NAME(m_timer_regs.timer[2].control));
+
+ save_item(NAME(m_clock_regs.mode));
+ save_item(NAME(m_clock_regs.control));
+
+ save_item(NAME(m_rtc_regs.mode));
+ save_item(NAME(m_rtc_regs.control));
+ save_item(NAME(m_rtc_regs.time));
+ save_item(NAME(m_rtc_regs.date));
+
+ save_item(NAME(m_ps_flash_write_enable_count));
+ save_item(NAME(m_ps_flash_write_count));
}
-static MACHINE_RESET( pockstat )
+void pockstat_state::machine_reset()
{
- pockstat_state *state = machine.driver_data<pockstat_state>();
- machine.device("maincpu")->state().set_pc(0x4000000);
+ machine().device("maincpu")->state().set_pc(0x4000000);
- state->m_ps_flash_write_enable_count = 0;
- state->m_ps_flash_write_count = 0;
+ m_ps_flash_write_enable_count = 0;
+ m_ps_flash_write_count = 0;
}
static SCREEN_UPDATE_RGB32( pockstat )
@@ -986,8 +986,6 @@ static MACHINE_CONFIG_START( pockstat, pockstat_state )
MCFG_CPU_ADD("maincpu", ARM7, DEFAULT_CLOCK)
MCFG_CPU_PROGRAM_MAP(pockstat_mem)
- MCFG_MACHINE_RESET(pockstat)
- MCFG_MACHINE_START(pockstat)
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
diff --git a/src/mess/drivers/pokemini.c b/src/mess/drivers/pokemini.c
index dc39f65185f..f95cb29fdad 100644
--- a/src/mess/drivers/pokemini.c
+++ b/src/mess/drivers/pokemini.c
@@ -31,12 +31,12 @@ static INPUT_PORTS_START( pokemini )
INPUT_PORTS_END
-static PALETTE_INIT( pokemini )
+void pokemini_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0xff, 0xfb, 0x87));
- palette_set_color(machine, 1, MAKE_RGB(0xb1, 0xae, 0x4e));
- palette_set_color(machine, 2, MAKE_RGB(0x84, 0x80, 0x4e));
- palette_set_color(machine, 3, MAKE_RGB(0x4e, 0x4e, 0x4e));
+ palette_set_color(machine(), 0, MAKE_RGB(0xff, 0xfb, 0x87));
+ palette_set_color(machine(), 1, MAKE_RGB(0xb1, 0xae, 0x4e));
+ palette_set_color(machine(), 2, MAKE_RGB(0x84, 0x80, 0x4e));
+ palette_set_color(machine(), 3, MAKE_RGB(0x4e, 0x4e, 0x4e));
}
static const INT16 speaker_levels[] = {-32768, 0, 32767};
@@ -83,7 +83,6 @@ static MACHINE_CONFIG_START( pokemini, pokemini_state )
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH( 4 )
- MCFG_PALETTE_INIT( pokemini )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/poly.c b/src/mess/drivers/poly.c
index 9920a77b411..ac27677cac8 100644
--- a/src/mess/drivers/poly.c
+++ b/src/mess/drivers/poly.c
@@ -52,6 +52,7 @@ public:
DECLARE_READ_LINE_MEMBER(pia1_cb1_in);
UINT8 m_term_data;
bool m_term_key;
+ virtual void machine_reset();
};
@@ -82,7 +83,7 @@ static INPUT_PORTS_START( poly )
INPUT_PORTS_END
-static MACHINE_RESET( poly )
+void poly_state::machine_reset()
{
}
@@ -180,7 +181,6 @@ static MACHINE_CONFIG_START( poly, poly_state )
MCFG_CPU_ADD("maincpu", M6809E, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(poly_mem)
- MCFG_MACHINE_RESET(poly)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/poly88.c b/src/mess/drivers/poly88.c
index 373491f7b57..d128c0f695c 100644
--- a/src/mess/drivers/poly88.c
+++ b/src/mess/drivers/poly88.c
@@ -171,7 +171,6 @@ static MACHINE_CONFIG_START( poly88, poly88_state )
MCFG_CPU_IO_MAP(poly88_io)
MCFG_CPU_VBLANK_INT("screen", poly88_interrupt)
- MCFG_MACHINE_RESET(poly88)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -185,7 +184,6 @@ static MACHINE_CONFIG_START( poly88, poly88_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(poly88)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/portfoli.c b/src/mess/drivers/portfoli.c
index 8d223db3309..a307d0e42f8 100644
--- a/src/mess/drivers/portfoli.c
+++ b/src/mess/drivers/portfoli.c
@@ -645,10 +645,10 @@ INPUT_PORTS_END
// PALETTE_INIT( portfolio )
//-------------------------------------------------
-static PALETTE_INIT( portfolio )
+void portfolio_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
//-------------------------------------------------
@@ -845,7 +845,6 @@ static MACHINE_CONFIG_START( portfolio, portfolio_state )
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(portfolio)
MCFG_GFXDECODE(portfolio)
diff --git a/src/mess/drivers/pp01.c b/src/mess/drivers/pp01.c
index 42efa54c4ff..13a5e50cdb6 100644
--- a/src/mess/drivers/pp01.c
+++ b/src/mess/drivers/pp01.c
@@ -201,8 +201,6 @@ static MACHINE_CONFIG_START( pp01, pp01_state )
MCFG_CPU_PROGRAM_MAP(pp01_mem)
MCFG_CPU_IO_MAP(pp01_io)
- MCFG_MACHINE_START( pp01 )
- MCFG_MACHINE_RESET( pp01 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -213,9 +211,7 @@ static MACHINE_CONFIG_START( pp01, pp01_state )
MCFG_SCREEN_UPDATE_STATIC(pp01)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(pp01)
- MCFG_VIDEO_START(pp01)
MCFG_PIT8253_ADD( "pit8253", pp01_pit8253_intf )
diff --git a/src/mess/drivers/prestige.c b/src/mess/drivers/prestige.c
index b70226aa449..b2937484ef5 100644
--- a/src/mess/drivers/prestige.c
+++ b/src/mess/drivers/prestige.c
@@ -110,6 +110,7 @@ public:
DECLARE_WRITE8_MEMBER( kb_w );
DECLARE_READ8_MEMBER( mouse_r );
DECLARE_WRITE8_MEMBER( mouse_w );
+ virtual void palette_init();
};
@@ -438,10 +439,10 @@ void prestige_state::machine_start()
m_vram = ram;
}
-static PALETTE_INIT( prestige )
+void prestige_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(39, 108, 51));
- palette_set_color(machine, 1, MAKE_RGB(16, 37, 84));
+ palette_set_color(machine(), 0, MAKE_RGB(39, 108, 51));
+ palette_set_color(machine(), 1, MAKE_RGB(16, 37, 84));
}
UINT32 prestige_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -492,7 +493,6 @@ static MACHINE_CONFIG_START( prestige, prestige_state )
MCFG_DEFAULT_LAYOUT( layout_lcd )
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(prestige)
/* cartridge */
MCFG_CARTSLOT_ADD("cart")
diff --git a/src/mess/drivers/primo.c b/src/mess/drivers/primo.c
index a04e25ef681..82a670066d2 100644
--- a/src/mess/drivers/primo.c
+++ b/src/mess/drivers/primo.c
@@ -264,7 +264,6 @@ static MACHINE_CONFIG_START( primoa32, primo_state )
MCFG_CPU_IO_MAP( primoa_port)
MCFG_CPU_VBLANK_INT("screen", primo_vblank_interrupt)
- MCFG_MACHINE_RESET( primoa )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -316,28 +315,28 @@ static MACHINE_CONFIG_DERIVED( primob32, primoa32 )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP( primob_port)
- MCFG_MACHINE_RESET( primob )
+ MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( primob48, primoa48 )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP( primob_port)
- MCFG_MACHINE_RESET( primob )
+ MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( primob64, primoa64 )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP( primob_port)
- MCFG_MACHINE_RESET( primob )
+ MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( primoc64, primoa64 )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_IO_MAP( primob_port)
- MCFG_MACHINE_RESET( primob )
+ MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob )
MACHINE_CONFIG_END
ROM_START( primoa32 )
diff --git a/src/mess/drivers/psion.c b/src/mess/drivers/psion.c
index 1db7ee0ebbc..625fe511852 100644
--- a/src/mess/drivers/psion.c
+++ b/src/mess/drivers/psion.c
@@ -439,10 +439,10 @@ void psion_state::machine_reset()
update_banks(machine());
}
-static PALETTE_INIT( psion )
+void psion_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
static const gfx_layout psion_charlayout =
@@ -481,7 +481,6 @@ static MACHINE_CONFIG_START( psion_2lines, psion_state )
MCFG_SCREEN_VISIBLE_AREA(0, 6*16-1, 0, 9*2-1)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(psion)
MCFG_GFXDECODE(psion)
MCFG_HD44780_ADD("hd44780", psion_2line_display)
diff --git a/src/mess/drivers/psx.c b/src/mess/drivers/psx.c
index b3469ace327..94ae5a2b189 100644
--- a/src/mess/drivers/psx.c
+++ b/src/mess/drivers/psx.c
@@ -54,6 +54,7 @@ public:
DECLARE_DIRECT_UPDATE_MEMBER(psx_default);
DECLARE_DIRECT_UPDATE_MEMBER(psx_setopbase);
DECLARE_DRIVER_INIT(psx);
+ DECLARE_MACHINE_RESET(psx);
};
@@ -701,9 +702,9 @@ static ADDRESS_MAP_START( psx_map, AS_PROGRAM, 32, psx1_state )
ADDRESS_MAP_END
-static MACHINE_RESET( psx )
+MACHINE_RESET_MEMBER(psx1_state,psx)
{
- psx_sio_install_handler( machine, 0, psx_sio0 );
+ psx_sio_install_handler( machine(), 0, psx_sio0 );
}
DRIVER_INIT_MEMBER(psx1_state,psx)
@@ -772,7 +773,7 @@ static MACHINE_CONFIG_START( psxntsc, psx1_state )
MCFG_CPU_ADD( "maincpu", CXD8530CQ, XTAL_67_7376MHz )
MCFG_CPU_PROGRAM_MAP( psx_map )
- MCFG_MACHINE_RESET( psx )
+ MCFG_MACHINE_RESET_OVERRIDE(psx1_state, psx )
/* video hardware */
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8561Q, 0x100000, XTAL_53_693175MHz )
@@ -802,7 +803,7 @@ static MACHINE_CONFIG_START( psxpal, psx1_state )
MCFG_CPU_ADD( "maincpu", CXD8530AQ, XTAL_67_7376MHz )
MCFG_CPU_PROGRAM_MAP( psx_map)
- MCFG_MACHINE_RESET( psx )
+ MCFG_MACHINE_RESET_OVERRIDE(psx1_state, psx )
/* video hardware */
/* TODO: visible area and refresh rate */
diff --git a/src/mess/drivers/pt68k4.c b/src/mess/drivers/pt68k4.c
index 0e28646b838..b83fdaa5fce 100644
--- a/src/mess/drivers/pt68k4.c
+++ b/src/mess/drivers/pt68k4.c
@@ -22,6 +22,8 @@ public:
m_p_ram(*this, "p_ram"){ }
required_shared_ptr<UINT16> m_p_ram;
+ virtual void machine_reset();
+ virtual void video_start();
};
static ADDRESS_MAP_START(pt68k4_mem, AS_PROGRAM, 16, pt68k4_state)
@@ -36,17 +38,16 @@ static INPUT_PORTS_START( pt68k4 )
INPUT_PORTS_END
-static MACHINE_RESET(pt68k4)
+void pt68k4_state::machine_reset()
{
- pt68k4_state *state = machine.driver_data<pt68k4_state>();
- UINT8* user1 = state->memregion("user1")->base();
+ UINT8* user1 = memregion("user1")->base();
- memcpy((UINT8*)state->m_p_ram.target(), user1, 8);
+ memcpy((UINT8*)m_p_ram.target(), user1, 8);
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
-static VIDEO_START( pt68k4 )
+void pt68k4_state::video_start()
{
}
@@ -60,7 +61,6 @@ static MACHINE_CONFIG_START( pt68k4, pt68k4_state )
MCFG_CPU_ADD("maincpu",M68000, XTAL_16MHz)
MCFG_CPU_PROGRAM_MAP(pt68k4_mem)
- MCFG_MACHINE_RESET(pt68k4)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -68,7 +68,6 @@ static MACHINE_CONFIG_START( pt68k4, pt68k4_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(pt68k4)
MCFG_SCREEN_UPDATE_STATIC(pt68k4)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/pv1000.c b/src/mess/drivers/pv1000.c
index d60e86ac793..5ae95a1a752 100644
--- a/src/mess/drivers/pv1000.c
+++ b/src/mess/drivers/pv1000.c
@@ -96,6 +96,9 @@ public:
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
required_shared_ptr<UINT8> m_p_videoram;
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -212,16 +215,16 @@ static INPUT_PORTS_START( pv1000 )
INPUT_PORTS_END
-static PALETTE_INIT( pv1000 )
+void pv1000_state::palette_init()
{
- palette_set_color_rgb( machine, 0, 0, 0, 0 );
- palette_set_color_rgb( machine, 1, 0, 0, 255 );
- palette_set_color_rgb( machine, 2, 0, 255, 0 );
- palette_set_color_rgb( machine, 3, 0, 255, 255 );
- palette_set_color_rgb( machine, 4, 255, 0, 0 );
- palette_set_color_rgb( machine, 5, 255, 0, 255 );
- palette_set_color_rgb( machine, 6, 255, 255, 0 );
- palette_set_color_rgb( machine, 7, 255, 255, 255 );
+ palette_set_color_rgb( machine(), 0, 0, 0, 0 );
+ palette_set_color_rgb( machine(), 1, 0, 0, 255 );
+ palette_set_color_rgb( machine(), 2, 0, 255, 0 );
+ palette_set_color_rgb( machine(), 3, 0, 255, 255 );
+ palette_set_color_rgb( machine(), 4, 255, 0, 0 );
+ palette_set_color_rgb( machine(), 5, 255, 0, 255 );
+ palette_set_color_rgb( machine(), 6, 255, 255, 0 );
+ palette_set_color_rgb( machine(), 7, 255, 255, 255 );
}
@@ -369,23 +372,21 @@ static TIMER_CALLBACK( d65010_irq_off_cb )
}
-static MACHINE_START( pv1000 )
+void pv1000_state::machine_start()
{
- pv1000_state *state = machine.driver_data<pv1000_state>();
- state->m_irq_on_timer = machine.scheduler().timer_alloc(FUNC(d65010_irq_on_cb));
- state->m_irq_off_timer = machine.scheduler().timer_alloc(FUNC(d65010_irq_off_cb));
+ m_irq_on_timer = machine().scheduler().timer_alloc(FUNC(d65010_irq_on_cb));
+ m_irq_off_timer = machine().scheduler().timer_alloc(FUNC(d65010_irq_off_cb));
}
-static MACHINE_RESET( pv1000 )
+void pv1000_state::machine_reset()
{
- pv1000_state *state = machine.driver_data<pv1000_state>();
- state->m_io_regs[5] = 0;
- state->m_fd_data = 0;
- state->m_irq_on_timer->adjust( state->m_screen->time_until_pos(195, 0 ) );
- state->m_irq_off_timer->adjust( attotime::never );
+ m_io_regs[5] = 0;
+ m_fd_data = 0;
+ m_irq_on_timer->adjust( m_screen->time_until_pos(195, 0 ) );
+ m_irq_off_timer->adjust( attotime::never );
}
@@ -413,8 +414,6 @@ static MACHINE_CONFIG_START( pv1000, pv1000_state )
MCFG_CPU_PROGRAM_MAP( pv1000 )
MCFG_CPU_IO_MAP( pv1000_io )
- MCFG_MACHINE_START( pv1000 )
- MCFG_MACHINE_RESET( pv1000 )
/* D65010G031 - Video & sound chip */
MCFG_SCREEN_ADD( "screen", RASTER )
@@ -422,7 +421,6 @@ static MACHINE_CONFIG_START( pv1000, pv1000_state )
MCFG_SCREEN_UPDATE_STATIC( pv1000 )
MCFG_PALETTE_LENGTH( 8 )
- MCFG_PALETTE_INIT( pv1000 )
MCFG_GFXDECODE( pv1000 )
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/pv2000.c b/src/mess/drivers/pv2000.c
index 94126911521..66cc6b5f48f 100644
--- a/src/mess/drivers/pv2000.c
+++ b/src/mess/drivers/pv2000.c
@@ -60,6 +60,8 @@ public:
UINT8 m_key_pressed;
UINT8 m_keyb_column;
UINT8 m_cass_conf;
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -361,20 +363,19 @@ static const sn76496_config psg_intf =
};
-static MACHINE_START( pv2000 )
+void pv2000_state::machine_start()
{
}
-static MACHINE_RESET( pv2000 )
+void pv2000_state::machine_reset()
{
- pv2000_state *state = machine.driver_data<pv2000_state>();
- state->m_last_state = 0;
- state->m_key_pressed = 0;
- state->m_keyb_column = 0;
+ m_last_state = 0;
+ m_key_pressed = 0;
+ m_keyb_column = 0;
- machine.device("maincpu")->execute().set_input_line_vector(INPUT_LINE_IRQ0, 0xff);
- memset(&state->memregion("maincpu")->base()[0x7000], 0xff, 0x1000); // initialize RAM
+ machine().device("maincpu")->execute().set_input_line_vector(INPUT_LINE_IRQ0, 0xff);
+ memset(&memregion("maincpu")->base()[0x7000], 0xff, 0x1000); // initialize RAM
}
static DEVICE_IMAGE_LOAD( pv2000_cart )
@@ -425,8 +426,6 @@ static MACHINE_CONFIG_START( pv2000, pv2000_state )
MCFG_CPU_PROGRAM_MAP(pv2000_map)
MCFG_CPU_IO_MAP(pv2000_io_map)
- MCFG_MACHINE_START(pv2000)
- MCFG_MACHINE_RESET(pv2000)
// video hardware
MCFG_TMS9928A_ADD( "tms9928a", TMS9928A, pv2000_tms9928a_interface )
diff --git a/src/mess/drivers/pv9234.c b/src/mess/drivers/pv9234.c
index bc5e0fc706d..e14fca54ae8 100644
--- a/src/mess/drivers/pv9234.c
+++ b/src/mess/drivers/pv9234.c
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE32_MEMBER(debug1_w);
DECLARE_WRITE32_MEMBER(debug2_w);
required_shared_ptr<UINT32> m_p_ram;
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -112,16 +114,15 @@ static INPUT_PORTS_START( pv9234 )
INPUT_PORTS_END
-static MACHINE_RESET(pv9234)
+void pv9234_state::machine_reset()
{
- pv9234_state *state = machine.driver_data<pv9234_state>();
int i;
for(i=0;i<0x1000/4;i++)
- state->m_p_ram[i] = 0;
+ m_p_ram[i] = 0;
}
-static VIDEO_START( pv9234 )
+void pv9234_state::video_start()
{
}
@@ -135,7 +136,6 @@ static MACHINE_CONFIG_START( pv9234, pv9234_state )
MCFG_CPU_ADD("maincpu", ARM7, 4915000) //probably a more powerful clone.
MCFG_CPU_PROGRAM_MAP(pv9234_map)
- MCFG_MACHINE_RESET(pv9234)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -148,7 +148,6 @@ static MACHINE_CONFIG_START( pv9234, pv9234_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(pv9234)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/px4.c b/src/mess/drivers/px4.c
index f82450222c2..a13afeec735 100644
--- a/src/mess/drivers/px4.c
+++ b/src/mess/drivers/px4.c
@@ -161,6 +161,10 @@ public:
DECLARE_READ8_MEMBER(px4_ramdisk_control_r);
DECLARE_DRIVER_INIT(px4);
DECLARE_DRIVER_INIT(px4p);
+ virtual void machine_reset();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(px4_ramdisk);
+ DECLARE_PALETTE_INIT(px4p);
};
@@ -1112,17 +1116,14 @@ DRIVER_INIT_MEMBER(px4_state,px4p)
m_ramdisk = auto_alloc_array(machine(), UINT8, 0x20000);
}
-static MACHINE_RESET( px4 )
+void px4_state::machine_reset()
{
- px4_state *px4 = machine.driver_data<px4_state>();
-
- px4->m_artsr = ART_TXRDY | ART_TXEMPTY;
+ m_artsr = ART_TXRDY | ART_TXEMPTY;
}
-static MACHINE_START( px4_ramdisk )
+MACHINE_START_MEMBER(px4_state,px4_ramdisk)
{
- px4_state *px4 = machine.driver_data<px4_state>();
- machine.device<nvram_device>("nvram")->set_base(px4->m_ramdisk, 0x20000);
+ machine().device<nvram_device>("nvram")->set_base(m_ramdisk, 0x20000);
}
/***************************************************************************
@@ -1329,16 +1330,16 @@ INPUT_PORTS_END
PALETTE
***************************************************************************/
-static PALETTE_INIT( px4 )
+void px4_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
-static PALETTE_INIT( px4p )
+PALETTE_INIT_MEMBER(px4_state,px4p)
{
- palette_set_color(machine, 0, MAKE_RGB(149, 157, 130));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(149, 157, 130));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
@@ -1362,7 +1363,6 @@ static MACHINE_CONFIG_START( px4, px4_state )
MCFG_CPU_PROGRAM_MAP(px4_mem)
MCFG_CPU_IO_MAP(px4_io)
- MCFG_MACHINE_RESET(px4)
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -1374,7 +1374,6 @@ static MACHINE_CONFIG_START( px4, px4_state )
MCFG_DEFAULT_LAYOUT(layout_px4)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(px4)
MCFG_TIMER_ADD_PERIODIC("one_sec", upd7508_1sec_callback, attotime::from_seconds(1))
MCFG_TIMER_ADD_PERIODIC("frc", frc_tick, attotime::from_hz(XTAL_7_3728MHz / 2 / 6))
@@ -1404,10 +1403,10 @@ static MACHINE_CONFIG_DERIVED( px4p, px4 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(px4p_io)
- MCFG_MACHINE_START(px4_ramdisk)
+ MCFG_MACHINE_START_OVERRIDE(px4_state,px4_ramdisk)
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_PALETTE_INIT(px4p)
+ MCFG_PALETTE_INIT_OVERRIDE(px4_state,px4p)
MCFG_CARTSLOT_ADD("ramdisk")
MCFG_CARTSLOT_NOT_MANDATORY
diff --git a/src/mess/drivers/px8.c b/src/mess/drivers/px8.c
index 5b8ba6157b6..be97e201c45 100644
--- a/src/mess/drivers/px8.c
+++ b/src/mess/drivers/px8.c
@@ -686,10 +686,10 @@ INPUT_PORTS_END
PALETTE_INIT( px8 )
-------------------------------------------------*/
-static PALETTE_INIT( px8 )
+void px8_state::palette_init()
{
- palette_set_color_rgb(machine, 0, 0xa5, 0xad, 0xa5);
- palette_set_color_rgb(machine, 1, 0x31, 0x39, 0x10);
+ palette_set_color_rgb(machine(), 0, 0xa5, 0xad, 0xa5);
+ palette_set_color_rgb(machine(), 1, 0x31, 0x39, 0x10);
}
/*-------------------------------------------------
@@ -819,7 +819,6 @@ static MACHINE_CONFIG_START( px8, px8_state )
MCFG_GFXDECODE(px8)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(px8)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/pyl601.c b/src/mess/drivers/pyl601.c
index 33ec53817c0..25340842a05 100644
--- a/src/mess/drivers/pyl601.c
+++ b/src/mess/drivers/pyl601.c
@@ -80,6 +80,8 @@ public:
required_device<device_t> m_fdc;
required_device<ram_device> m_ram;
DECLARE_DRIVER_INIT(pyl601);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -377,22 +379,21 @@ static INPUT_PORTS_START( pyl601 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Ctrl") PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(UCHAR_MAMEKEY(PGUP))
INPUT_PORTS_END
-static MACHINE_RESET(pyl601)
+void pyl601_state::machine_reset()
{
- pyl601_state *state = machine.driver_data<pyl601_state>();
- UINT8 *ram = state->m_ram->pointer();
- state->m_key_code = 0xff;
- state->membank("bank1")->set_base(ram + 0x0000);
- state->membank("bank2")->set_base(ram + 0xc000);
- state->membank("bank3")->set_base(ram + 0xe000);
- state->membank("bank4")->set_base(ram + 0xe700);
- state->membank("bank5")->set_base(state->memregion("maincpu")->base() + 0xf000);
- state->membank("bank6")->set_base(ram + 0xf000);
-
- machine.device("maincpu")->reset();
+ UINT8 *ram = m_ram->pointer();
+ m_key_code = 0xff;
+ membank("bank1")->set_base(ram + 0x0000);
+ membank("bank2")->set_base(ram + 0xc000);
+ membank("bank3")->set_base(ram + 0xe000);
+ membank("bank4")->set_base(ram + 0xe700);
+ membank("bank5")->set_base(memregion("maincpu")->base() + 0xf000);
+ membank("bank6")->set_base(ram + 0xf000);
+
+ machine().device("maincpu")->reset();
}
-static VIDEO_START( pyl601 )
+void pyl601_state::video_start()
{
}
@@ -584,7 +585,6 @@ static MACHINE_CONFIG_START( pyl601, pyl601_state )
MCFG_CPU_PROGRAM_MAP(pyl601_mem)
MCFG_CPU_VBLANK_INT("screen", pyl601_interrupt)
- MCFG_MACHINE_RESET(pyl601)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -592,7 +592,6 @@ static MACHINE_CONFIG_START( pyl601, pyl601_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 200 - 1)
- MCFG_VIDEO_START( pyl601 )
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
MCFG_GFXDECODE(pyl601)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/qx10.c b/src/mess/drivers/qx10.c
index 4c5e09bd419..bc5a70683b8 100644
--- a/src/mess/drivers/qx10.c
+++ b/src/mess/drivers/qx10.c
@@ -138,6 +138,7 @@ public:
UINT8 rx;
}m_rs232c;
+ virtual void palette_init();
};
static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
@@ -971,7 +972,7 @@ static UPD7220_INTERFACE( hgdc_intf )
DEVCB_NULL
};
-static PALETTE_INIT( gdc )
+void qx10_state::palette_init()
{
// ...
}
@@ -1019,7 +1020,6 @@ static MACHINE_CONFIG_START( qx10, qx10_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_GFXDECODE(qx10)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(gdc)
/* Devices */
MCFG_PIT8253_ADD("pit8253_1", qx10_pit8253_1_config)
diff --git a/src/mess/drivers/radio86.c b/src/mess/drivers/radio86.c
index 227a43aacbb..98b902061b4 100644
--- a/src/mess/drivers/radio86.c
+++ b/src/mess/drivers/radio86.c
@@ -352,7 +352,7 @@ static MACHINE_CONFIG_START( radio86, radio86_state )
MCFG_CPU_ADD("maincpu",I8080, XTAL_16MHz / 9)
MCFG_CPU_PROGRAM_MAP(radio86_mem)
MCFG_CPU_IO_MAP(radio86_io)
- MCFG_MACHINE_RESET( radio86 )
+ MCFG_MACHINE_RESET_OVERRIDE(radio86_state, radio86 )
MCFG_I8255_ADD( "ppi8255_1", radio86_ppi8255_interface_1 )
@@ -366,7 +366,7 @@ static MACHINE_CONFIG_START( radio86, radio86_state )
MCFG_SCREEN_UPDATE_STATIC(radio86)
MCFG_GFXDECODE(radio86)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(radio86)
+ MCFG_PALETTE_INIT_OVERRIDE(radio86_state,radio86)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
diff --git a/src/mess/drivers/rainbow.c b/src/mess/drivers/rainbow.c
index 39672811754..f8e832c1875 100644
--- a/src/mess/drivers/rainbow.c
+++ b/src/mess/drivers/rainbow.c
@@ -129,6 +129,7 @@ private:
UINT8 m_z80_mailbox, m_8088_mailbox;
void update_kbd_irq();
+ virtual void machine_reset();
};
void rainbow_state::machine_start()
@@ -190,17 +191,16 @@ static INPUT_PORTS_START( rainbow )
INPUT_PORTS_END
-static MACHINE_RESET( rainbow )
+void rainbow_state::machine_reset()
{
- rainbow_state *state = machine.driver_data<rainbow_state>();
- state->m_z80->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ m_z80->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- state->m_zflip = true;
- state->m_z80_halted = true;
- state->m_kbd_tx_ready = state->m_kbd_rx_ready = false;
+ m_zflip = true;
+ m_z80_halted = true;
+ m_kbd_tx_ready = m_kbd_rx_ready = false;
- state->m_kbd8251->input_callback(SERIAL_STATE_CTS); // raise clear to send
+ m_kbd8251->input_callback(SERIAL_STATE_CTS); // raise clear to send
}
static SCREEN_UPDATE_IND16( rainbow )
@@ -467,7 +467,6 @@ static MACHINE_CONFIG_START( rainbow, rainbow_state )
MCFG_CPU_PROGRAM_MAP(rainbowz80_mem)
MCFG_CPU_IO_MAP(rainbowz80_io)
- MCFG_MACHINE_RESET(rainbow)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/rex6000.c b/src/mess/drivers/rex6000.c
index 0706c7b7ec9..afab5745d04 100644
--- a/src/mess/drivers/rex6000.c
+++ b/src/mess/drivers/rex6000.c
@@ -114,6 +114,7 @@ public:
DECLARE_WRITE8_MEMBER( flash_0xa000_w );
UINT8 identify_bank_type(UINT32 bank);
+ virtual void palette_init();
};
@@ -558,10 +559,10 @@ WRITE_LINE_MEMBER( rex6000_state::alarm_irq )
}
-static PALETTE_INIT( rex6000 )
+void rex6000_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
static QUICKLOAD_LOAD(rex6000)
@@ -662,7 +663,6 @@ static MACHINE_CONFIG_START( rex6000, rex6000_state )
MCFG_SCREEN_VISIBLE_AREA(0, 240-1, 0, 120-1)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(rex6000)
MCFG_GFXDECODE(rex6000)
/* quickload */
diff --git a/src/mess/drivers/rmnimbus.c b/src/mess/drivers/rmnimbus.c
index d8f25ab0260..e42ec6c3831 100644
--- a/src/mess/drivers/rmnimbus.c
+++ b/src/mess/drivers/rmnimbus.c
@@ -278,13 +278,13 @@ static ADDRESS_MAP_START( nimbus_iocpu_io , AS_IO, 8, rmnimbus_state )
ADDRESS_MAP_END
-static PALETTE_INIT( nimbus )
+void rmnimbus_state::palette_init()
{
int colourno;
for ( colourno = 0; colourno < SCREEN_NO_COLOURS; colourno++ )
{
- palette_set_color_rgb(machine, colourno, nimbus_palette[colourno][RED], nimbus_palette[colourno][GREEN], nimbus_palette[colourno][BLUE]);
+ palette_set_color_rgb(machine(), colourno, nimbus_palette[colourno][RED], nimbus_palette[colourno][GREEN], nimbus_palette[colourno][BLUE]);
}
}
@@ -299,9 +299,7 @@ static MACHINE_CONFIG_START( nimbus, rmnimbus_state )
MCFG_CPU_PROGRAM_MAP(nimbus_iocpu_mem)
MCFG_CPU_IO_MAP(nimbus_iocpu_io)
- MCFG_MACHINE_START( nimbus )
- MCFG_MACHINE_RESET(nimbus)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -313,13 +311,10 @@ static MACHINE_CONFIG_START( nimbus, rmnimbus_state )
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
MCFG_PALETTE_LENGTH(SCREEN_NO_COLOURS * 3)
- MCFG_PALETTE_INIT( nimbus )
MCFG_SCREEN_SIZE(650, 260)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 249)
- MCFG_VIDEO_START(nimbus)
- MCFG_VIDEO_RESET(nimbus)
/* Backing storage */
diff --git a/src/mess/drivers/rt1715.c b/src/mess/drivers/rt1715.c
index 20f23d8a5c9..d0fbec1c818 100644
--- a/src/mess/drivers/rt1715.c
+++ b/src/mess/drivers/rt1715.c
@@ -41,6 +41,9 @@ public:
DECLARE_READ8_MEMBER(k7658_data_r);
DECLARE_WRITE8_MEMBER(k7658_data_w);
DECLARE_WRITE8_MEMBER(rt1715_rom_disable);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -107,18 +110,16 @@ WRITE8_MEMBER(rt1715_state::k7658_data_w)
MEMORY HANDLING
***************************************************************************/
-static MACHINE_START( rt1715 )
+void rt1715_state::machine_start()
{
- rt1715_state *state = machine.driver_data<rt1715_state>();
- state->membank("bank2")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0x0800);
- state->membank("bank3")->set_base(machine.device<ram_device>(RAM_TAG)->pointer());
+ membank("bank2")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0x0800);
+ membank("bank3")->set_base(machine().device<ram_device>(RAM_TAG)->pointer());
}
-static MACHINE_RESET( rt1715 )
+void rt1715_state::machine_reset()
{
- rt1715_state *state = machine.driver_data<rt1715_state>();
/* on reset, enable ROM */
- state->membank("bank1")->set_base(state->memregion("ipl")->base());
+ membank("bank1")->set_base(memregion("ipl")->base());
}
WRITE8_MEMBER(rt1715_state::rt1715_rom_disable)
@@ -172,11 +173,11 @@ static const i8275_interface rt1715_i8275_intf =
PALETTE
***************************************************************************/
-static PALETTE_INIT( rt1715 )
+void rt1715_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
- palette_set_color(machine, 1, MAKE_RGB(0x00, 0x7f, 0x00)); /* low intensity */
- palette_set_color(machine, 2, MAKE_RGB(0x00, 0xff, 0x00)); /* high intensitiy */
+ palette_set_color(machine(), 0, MAKE_RGB(0x00, 0x00, 0x00)); /* black */
+ palette_set_color(machine(), 1, MAKE_RGB(0x00, 0x7f, 0x00)); /* low intensity */
+ palette_set_color(machine(), 2, MAKE_RGB(0x00, 0xff, 0x00)); /* high intensitiy */
}
@@ -320,8 +321,6 @@ static MACHINE_CONFIG_START( rt1715, rt1715_state )
MCFG_CPU_IO_MAP(rt1715_io)
MCFG_CPU_CONFIG(rt1715_daisy_chain)
- MCFG_MACHINE_START(rt1715)
- MCFG_MACHINE_RESET(rt1715)
/* keyboard */
MCFG_CPU_ADD("keyboard", Z80, 683000)
@@ -338,7 +337,6 @@ static MACHINE_CONFIG_START( rt1715, rt1715_state )
MCFG_GFXDECODE(rt1715)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(rt1715)
MCFG_I8275_ADD("a26", rt1715_i8275_intf)
MCFG_Z80CTC_ADD("a30", XTAL_10MHz/4 /* ? */, rt1715_ctc_intf)
diff --git a/src/mess/drivers/rvoice.c b/src/mess/drivers/rvoice.c
index 78d7d4b3b6d..37c89e1b828 100644
--- a/src/mess/drivers/rvoice.c
+++ b/src/mess/drivers/rvoice.c
@@ -80,6 +80,7 @@ public:
DECLARE_READ8_MEMBER(main_hd63701_internal_registers_r);
DECLARE_WRITE8_MEMBER(main_hd63701_internal_registers_w);
DECLARE_DRIVER_INIT(rvoicepc);
+ virtual void machine_reset();
};
@@ -89,44 +90,43 @@ DRIVER_INIT_MEMBER(rvoice_state,rvoicepc)
{
}
-static MACHINE_RESET( rvoicepc )
+void rvoice_state::machine_reset()
{
- rvoice_state *state = machine.driver_data<rvoice_state>();
/* following is from datasheet at http://datasheets.chipdb.org/Hitachi/63701/HD63701Y0.pdf */
- state->m_hd63701y0.P1DDR = 0xFE; // port 1 ddr, W
- state->m_hd63701y0.P2DDR = 0x00; // port 2 ddr, W
- state->m_hd63701y0.PORT1 = 0x00; // port 1, R/W
- state->m_hd63701y0.PORT2 = 0x00; // port 2, R/W
- state->m_hd63701y0.P3DDR = 0xFE; // port 3 ddr, W
- state->m_hd63701y0.P4DDR = 0x00; // port 4 ddr, W
- state->m_hd63701y0.PORT3 = 0x00; // port 3, R/W
- state->m_hd63701y0.PORT4 = 0x00; // port 4, R/W
- state->m_hd63701y0.TCSR1 = 0x00; // timer control/status, R/W
- state->m_hd63701y0.FRCH = 0x00;
- state->m_hd63701y0.FRCL = 0x00;
- state->m_hd63701y0.OCR1H = 0xFF;
- state->m_hd63701y0.OCR1L = 0xFF;
- state->m_hd63701y0.ICRH = 0x00;
- state->m_hd63701y0.ICRL = 0x00;
- state->m_hd63701y0.TCSR2 = 0x10;
- state->m_hd63701y0.RMCR = 0xC0;
- state->m_hd63701y0.TRCSR1 = 0x20;
- state->m_hd63701y0.RDR = 0x00; // Receive Data Reg, R
- state->m_hd63701y0.TDR = 0x00; // Transmit Data Reg, W
- state->m_hd63701y0.RP5CR = 0x78; // or 0xF8; Ram/Port5 Control Reg, R/W
- state->m_hd63701y0.PORT5 = 0x00; // port 5, R/W
- state->m_hd63701y0.P6DDR = 0x00; // port 6 ddr, W
- state->m_hd63701y0.PORT6 = 0x00; // port 6, R/W
- state->m_hd63701y0.PORT7 = 0x00; // port 7, R/W
- state->m_hd63701y0.OCR2H = 0xFF;
- state->m_hd63701y0.OCR2L = 0xFF;
- state->m_hd63701y0.TCSR3 = 0x20;
- state->m_hd63701y0.TCONR = 0xFF;
- state->m_hd63701y0.T2CNT = 0x00;
- state->m_hd63701y0.TRCSR2 = 0x28;
- state->m_hd63701y0.TSTREG = 0x00;
- state->m_hd63701y0.P5DDR = 0x00; // port 5 ddr, W
- state->m_hd63701y0.P6CSR = 0x00;
+ m_hd63701y0.P1DDR = 0xFE; // port 1 ddr, W
+ m_hd63701y0.P2DDR = 0x00; // port 2 ddr, W
+ m_hd63701y0.PORT1 = 0x00; // port 1, R/W
+ m_hd63701y0.PORT2 = 0x00; // port 2, R/W
+ m_hd63701y0.P3DDR = 0xFE; // port 3 ddr, W
+ m_hd63701y0.P4DDR = 0x00; // port 4 ddr, W
+ m_hd63701y0.PORT3 = 0x00; // port 3, R/W
+ m_hd63701y0.PORT4 = 0x00; // port 4, R/W
+ m_hd63701y0.TCSR1 = 0x00; // timer control/status, R/W
+ m_hd63701y0.FRCH = 0x00;
+ m_hd63701y0.FRCL = 0x00;
+ m_hd63701y0.OCR1H = 0xFF;
+ m_hd63701y0.OCR1L = 0xFF;
+ m_hd63701y0.ICRH = 0x00;
+ m_hd63701y0.ICRL = 0x00;
+ m_hd63701y0.TCSR2 = 0x10;
+ m_hd63701y0.RMCR = 0xC0;
+ m_hd63701y0.TRCSR1 = 0x20;
+ m_hd63701y0.RDR = 0x00; // Receive Data Reg, R
+ m_hd63701y0.TDR = 0x00; // Transmit Data Reg, W
+ m_hd63701y0.RP5CR = 0x78; // or 0xF8; Ram/Port5 Control Reg, R/W
+ m_hd63701y0.PORT5 = 0x00; // port 5, R/W
+ m_hd63701y0.P6DDR = 0x00; // port 6 ddr, W
+ m_hd63701y0.PORT6 = 0x00; // port 6, R/W
+ m_hd63701y0.PORT7 = 0x00; // port 7, R/W
+ m_hd63701y0.OCR2H = 0xFF;
+ m_hd63701y0.OCR2L = 0xFF;
+ m_hd63701y0.TCSR3 = 0x20;
+ m_hd63701y0.TCONR = 0xFF;
+ m_hd63701y0.T2CNT = 0x00;
+ m_hd63701y0.TRCSR2 = 0x28;
+ m_hd63701y0.TSTREG = 0x00;
+ m_hd63701y0.P5DDR = 0x00; // port 5 ddr, W
+ m_hd63701y0.P6CSR = 0x00;
}
READ8_MEMBER(rvoice_state::main_hd63701_internal_registers_r)
@@ -366,7 +366,6 @@ static MACHINE_CONFIG_START( rvoicepc, rvoice_state )
//MCFG_CPU_PROGRAM_MAP(hd63701_slave_mem)
//MCFG_CPU_IO_MAP(hd63701_slave_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET(rvoicepc)
MCFG_ACIA6551_ADD("acia65c51")
diff --git a/src/mess/drivers/samcoupe.c b/src/mess/drivers/samcoupe.c
index 1e616dc70df..d6972c1250a 100644
--- a/src/mess/drivers/samcoupe.c
+++ b/src/mess/drivers/samcoupe.c
@@ -478,7 +478,7 @@ INPUT_PORTS_END
nothing G+4 R+4 B+4 ALL+1 G+2 R+2 B+2
*/
-static PALETTE_INIT( samcoupe )
+void samcoupe_state::palette_init()
{
for (int i = 0; i < 128; i++)
{
@@ -490,10 +490,10 @@ static PALETTE_INIT( samcoupe )
g <<= 5;
b <<= 5;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
- palette_normalize_range(machine.palette, 0, 127, 0, 255);
+ palette_normalize_range(machine().palette, 0, 127, 0, 255);
}
@@ -532,8 +532,6 @@ static MACHINE_CONFIG_START( samcoupe, samcoupe_state )
MCFG_CPU_IO_MAP(samcoupe_io)
MCFG_CPU_VBLANK_INT("screen", samcoupe_frame_interrupt)
- MCFG_MACHINE_START(samcoupe)
- MCFG_MACHINE_RESET(samcoupe)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -541,7 +539,6 @@ static MACHINE_CONFIG_START( samcoupe, samcoupe_state )
MCFG_SCREEN_UPDATE_DRIVER(samcoupe_state, screen_update)
MCFG_PALETTE_LENGTH(128)
- MCFG_PALETTE_INIT(samcoupe)
/* devices */
MCFG_CENTRONICS_PRINTER_ADD("lpt1", standard_centronics)
diff --git a/src/mess/drivers/sapi1.c b/src/mess/drivers/sapi1.c
index a4d2b312ac9..6ddc84e1596 100644
--- a/src/mess/drivers/sapi1.c
+++ b/src/mess/drivers/sapi1.c
@@ -174,8 +174,8 @@ static MACHINE_CONFIG_START( sapi1, sapi1_state )
MCFG_CPU_PROGRAM_MAP(sapi1_mem)
MCFG_CPU_IO_MAP(sapi1_io)
- MCFG_MACHINE_START( sapi1 )
- MCFG_MACHINE_RESET( sapi1 )
+ MCFG_MACHINE_START_OVERRIDE(sapi1_state, sapi1 )
+ MCFG_MACHINE_RESET_OVERRIDE(sapi1_state, sapi1 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -188,7 +188,7 @@ static MACHINE_CONFIG_START( sapi1, sapi1_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(sapi1)
+ MCFG_VIDEO_START_OVERRIDE(sapi1_state,sapi1)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -208,8 +208,8 @@ static MACHINE_CONFIG_START( sapi3, sapi1_state )
MCFG_CPU_PROGRAM_MAP(sapi3_mem)
MCFG_CPU_IO_MAP(sapi3_io)
- MCFG_MACHINE_START( sapi1 )
- MCFG_MACHINE_RESET( sapizps3 )
+ MCFG_MACHINE_START_OVERRIDE(sapi1_state, sapi1 )
+ MCFG_MACHINE_RESET_OVERRIDE(sapi1_state, sapizps3 )
/* video hardware */
//MCFG_SCREEN_ADD("screen", RASTER)
@@ -217,7 +217,7 @@ static MACHINE_CONFIG_START( sapi3, sapi1_state )
//MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
//MCFG_SCREEN_SIZE(80*6, 24*9)
//MCFG_SCREEN_VISIBLE_AREA(0, 80*6-1, 0, 24*9-1)
- //MCFG_VIDEO_START(sapizps3)
+ //MCFG_VIDEO_START_OVERRIDE(sapi1_state,sapizps3)
//MCFG_SCREEN_UPDATE_STATIC(sapizps3)
//MCFG_PALETTE_LENGTH(2)
//MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/sbc6510.c b/src/mess/drivers/sbc6510.c
index 5d3e601024a..bb2e0960639 100644
--- a/src/mess/drivers/sbc6510.c
+++ b/src/mess/drivers/sbc6510.c
@@ -72,6 +72,7 @@ public:
UINT8 m_key_row;
UINT8 m_2;
required_device<generic_terminal_device> m_terminal;
+ virtual void machine_reset();
};
@@ -193,7 +194,7 @@ static GENERIC_TERMINAL_INTERFACE( terminal_intf )
};
-static MACHINE_RESET(sbc6510)
+void sbc6510_state::machine_reset()
{
}
@@ -265,7 +266,6 @@ static MACHINE_CONFIG_START( sbc6510, sbc6510_state )
MCFG_CPU_CONFIG( sbc6510_m6510_interface )
MCFG_CPU_PROGRAM_MAP(sbc6510_mem)
- MCFG_MACHINE_RESET(sbc6510)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/sc2.c b/src/mess/drivers/sc2.c
index 4e146295c0f..81256de167e 100644
--- a/src/mess/drivers/sc2.c
+++ b/src/mess/drivers/sc2.c
@@ -35,6 +35,8 @@ public:
UINT8 m_digit_data;
UINT8 m_beep_state;
void sc2_update_display();
+ virtual void machine_start();
+ virtual void machine_reset();
};
READ8_MEMBER( sc2_state::sc2_beep )
@@ -90,26 +92,24 @@ static INPUT_PORTS_START( sc2 )
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("P") PORT_CODE(KEYCODE_O)
INPUT_PORTS_END
-static MACHINE_START(sc2)
+void sc2_state::machine_start()
{
- sc2_state *state = machine.driver_data<sc2_state>();
- state->save_item(NAME(state->m_led_7seg_data));
- state->save_item(NAME(state->m_kp_matrix));
- state->save_item(NAME(state->m_led_selected));
- state->save_item(NAME(state->m_digit_data));
- state->save_item(NAME(state->m_beep_state));
+ save_item(NAME(m_led_7seg_data));
+ save_item(NAME(m_kp_matrix));
+ save_item(NAME(m_led_selected));
+ save_item(NAME(m_digit_data));
+ save_item(NAME(m_beep_state));
}
-static MACHINE_RESET(sc2)
+void sc2_state::machine_reset()
{
- sc2_state *state = machine.driver_data<sc2_state>();
- state->m_kp_matrix = 0;
- state->m_led_selected = 0;
- state->m_digit_data = 0;
- state->m_beep_state = 0;
- memset(state->m_led_7seg_data, 0, ARRAY_LENGTH(state->m_led_7seg_data));
+ m_kp_matrix = 0;
+ m_led_selected = 0;
+ m_digit_data = 0;
+ m_beep_state = 0;
+ memset(m_led_7seg_data, 0, ARRAY_LENGTH(m_led_7seg_data));
}
void sc2_state::sc2_update_display()
@@ -210,8 +210,6 @@ static MACHINE_CONFIG_START( sc2, sc2_state )
MCFG_CPU_PROGRAM_MAP(sc2_mem)
MCFG_CPU_IO_MAP(sc2_io)
- MCFG_MACHINE_START(sc2)
- MCFG_MACHINE_RESET(sc2)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_sc2)
diff --git a/src/mess/drivers/scorpion.c b/src/mess/drivers/scorpion.c
index 710444c8daa..185f76edafa 100644
--- a/src/mess/drivers/scorpion.c
+++ b/src/mess/drivers/scorpion.c
@@ -165,6 +165,8 @@ public:
DECLARE_WRITE8_MEMBER(scorpion_0000_w);
DECLARE_WRITE8_MEMBER(scorpion_port_7ffd_w);
DECLARE_WRITE8_MEMBER(scorpion_port_1ffd_w);
+ DECLARE_MACHINE_START(scorpion);
+ DECLARE_MACHINE_RESET(scorpion);
};
/****************************************************************************************************/
@@ -320,34 +322,33 @@ static ADDRESS_MAP_START (scorpion_io, AS_IO, 8, scorpion_state )
ADDRESS_MAP_END
-static MACHINE_RESET( scorpion )
+MACHINE_RESET_MEMBER(scorpion_state,scorpion)
{
- scorpion_state *state = machine.driver_data<scorpion_state>();
- UINT8 *messram = machine.device<ram_device>(RAM_TAG)->pointer();
- device_t *beta = machine.device(BETA_DISK_TAG);
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *messram = machine().device<ram_device>(RAM_TAG)->pointer();
+ device_t *beta = machine().device(BETA_DISK_TAG);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- state->m_ram_0000 = NULL;
+ m_ram_0000 = NULL;
space->install_read_bank(0x0000, 0x3fff, "bank1");
- space->install_write_handler(0x0000, 0x3fff, write8_delegate(FUNC(scorpion_state::scorpion_0000_w),state));
+ space->install_write_handler(0x0000, 0x3fff, write8_delegate(FUNC(scorpion_state::scorpion_0000_w),this));
betadisk_disable(beta);
betadisk_clear_status(beta);
- space->set_direct_update_handler(direct_update_delegate(FUNC(scorpion_state::scorpion_direct), state));
+ space->set_direct_update_handler(direct_update_delegate(FUNC(scorpion_state::scorpion_direct), this));
memset(messram,0,256*1024);
/* Bank 5 is always in 0x4000 - 0x7fff */
- state->membank("bank2")->set_base(messram + (5<<14));
+ membank("bank2")->set_base(messram + (5<<14));
/* Bank 2 is always in 0x8000 - 0xbfff */
- state->membank("bank3")->set_base(messram + (2<<14));
+ membank("bank3")->set_base(messram + (2<<14));
- state->m_port_7ffd_data = 0;
- state->m_port_1ffd_data = 0;
- scorpion_update_memory(machine);
+ m_port_7ffd_data = 0;
+ m_port_1ffd_data = 0;
+ scorpion_update_memory(machine());
}
-static MACHINE_START( scorpion )
+MACHINE_START_MEMBER(scorpion_state,scorpion)
{
}
@@ -410,8 +411,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( scorpion, spectrum_128, scorpion_state )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(scorpion_io)
- MCFG_MACHINE_START( scorpion )
- MCFG_MACHINE_RESET( scorpion )
+ MCFG_MACHINE_START_OVERRIDE(scorpion_state, scorpion )
+ MCFG_MACHINE_RESET_OVERRIDE(scorpion_state, scorpion )
MCFG_GFXDECODE(scorpion)
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
diff --git a/src/mess/drivers/scv.c b/src/mess/drivers/scv.c
index e2b7acfda41..0808838535b 100644
--- a/src/mess/drivers/scv.c
+++ b/src/mess/drivers/scv.c
@@ -34,6 +34,9 @@ public:
UINT8 *m_cart_ram;
UINT32 m_cart_ram_size;
bool m_cart_ram_enabled;
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -351,7 +354,7 @@ static DEVICE_IMAGE_LOAD( scv_cart )
}
-static PALETTE_INIT( scv )
+void scv_state::palette_init()
{
/*
SCV Epoch-1A chip RGB voltage readouts from paused Bios color test:
@@ -384,22 +387,22 @@ static PALETTE_INIT( scv )
Quamtizing/scaling/rounding between 0 and 255 we thus get:
*/
- palette_set_color_rgb( machine, 0, 0, 0, 155);
- palette_set_color_rgb( machine, 1, 0, 0, 0);
- palette_set_color_rgb( machine, 2, 0, 0, 255);
- palette_set_color_rgb( machine, 3, 161, 0, 255);
- palette_set_color_rgb( machine, 4, 0, 255, 0);
- palette_set_color_rgb( machine, 5, 160, 255, 157);
- palette_set_color_rgb( machine, 6, 0, 255, 255);
- palette_set_color_rgb( machine, 7, 0, 161, 0);
- palette_set_color_rgb( machine, 8, 255, 0, 0);
- palette_set_color_rgb( machine, 9, 255, 161, 0);
- palette_set_color_rgb( machine, 10, 255, 0, 255);
- palette_set_color_rgb( machine, 11, 255, 160, 159);
- palette_set_color_rgb( machine, 12, 255, 255, 0);
- palette_set_color_rgb( machine, 13, 163, 160, 0);
- palette_set_color_rgb( machine, 14, 161, 160, 157);
- palette_set_color_rgb( machine, 15, 255, 255, 255);
+ palette_set_color_rgb( machine(), 0, 0, 0, 155);
+ palette_set_color_rgb( machine(), 1, 0, 0, 0);
+ palette_set_color_rgb( machine(), 2, 0, 0, 255);
+ palette_set_color_rgb( machine(), 3, 161, 0, 255);
+ palette_set_color_rgb( machine(), 4, 0, 255, 0);
+ palette_set_color_rgb( machine(), 5, 160, 255, 157);
+ palette_set_color_rgb( machine(), 6, 0, 255, 255);
+ palette_set_color_rgb( machine(), 7, 0, 161, 0);
+ palette_set_color_rgb( machine(), 8, 255, 0, 0);
+ palette_set_color_rgb( machine(), 9, 255, 161, 0);
+ palette_set_color_rgb( machine(), 10, 255, 0, 255);
+ palette_set_color_rgb( machine(), 11, 255, 160, 159);
+ palette_set_color_rgb( machine(), 12, 255, 255, 0);
+ palette_set_color_rgb( machine(), 13, 163, 160, 0);
+ palette_set_color_rgb( machine(), 14, 161, 160, 157);
+ palette_set_color_rgb( machine(), 15, 255, 255, 255);
}
@@ -745,19 +748,17 @@ WRITE_LINE_MEMBER( scv_state::scv_upd1771_ack_w )
}
-static MACHINE_START( scv )
+void scv_state::machine_start()
{
- scv_state *state = machine.driver_data<scv_state>();
- state->m_vb_timer = machine.scheduler().timer_alloc(FUNC(scv_vb_callback));
+ m_vb_timer = machine().scheduler().timer_alloc(FUNC(scv_vb_callback));
}
-static MACHINE_RESET( scv )
+void scv_state::machine_reset()
{
- scv_state *state = machine.driver_data<scv_state>();
- state->m_vb_timer->adjust( machine.primary_screen->time_until_pos(0, 0 ) );
+ m_vb_timer->adjust( machine().primary_screen->time_until_pos(0, 0 ) );
}
@@ -791,8 +792,6 @@ static MACHINE_CONFIG_START( scv, scv_state )
MCFG_CPU_IO_MAP( scv_io )
MCFG_CPU_CONFIG( scv_cpu_config )
- MCFG_MACHINE_START( scv )
- MCFG_MACHINE_RESET( scv )
/* Video chip is EPOCH TV-1 */
MCFG_SCREEN_ADD( "screen", RASTER )
@@ -801,7 +800,6 @@ static MACHINE_CONFIG_START( scv, scv_state )
MCFG_GFXDECODE(scv)
MCFG_PALETTE_LENGTH( 16 )
- MCFG_PALETTE_INIT( scv )
/* Sound is generated by UPD1771C clocked at XTAL_6MHz */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/sgi_ip2.c b/src/mess/drivers/sgi_ip2.c
index 1d2cf2559ee..ae33a8e1b42 100644
--- a/src/mess/drivers/sgi_ip2.c
+++ b/src/mess/drivers/sgi_ip2.c
@@ -100,6 +100,8 @@ public:
DECLARE_READ16_MEMBER(sgi_ip2_stklmt_r);
DECLARE_WRITE16_MEMBER(sgi_ip2_stklmt_w);
DECLARE_DRIVER_INIT(sgi_ip2);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -369,11 +371,11 @@ static INTERRUPT_GEN( sgi_ip2_vbl )
{
}
-static MACHINE_START( sgi_ip2 )
+void sgi_ip2_state::machine_start()
{
}
-static MACHINE_RESET( sgi_ip2 )
+void sgi_ip2_state::machine_reset()
{
}
@@ -477,8 +479,6 @@ static MACHINE_CONFIG_START( sgi_ip2, sgi_ip2_state )
MCFG_CPU_PROGRAM_MAP(sgi_ip2_map)
MCFG_CPU_VBLANK_INT(TERMINAL_TAG ":" TERMINAL_SCREEN_TAG, sgi_ip2_vbl)
- MCFG_MACHINE_START(sgi_ip2)
- MCFG_MACHINE_RESET(sgi_ip2)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG,sgi_terminal_intf)
diff --git a/src/mess/drivers/sgi_ip6.c b/src/mess/drivers/sgi_ip6.c
index 1de7c9c36dc..ac5ac710bd1 100644
--- a/src/mess/drivers/sgi_ip6.c
+++ b/src/mess/drivers/sgi_ip6.c
@@ -38,6 +38,9 @@ public:
DECLARE_READ32_MEMBER(ip6_unk3_r);
DECLARE_WRITE32_MEMBER(ip6_unk3_w);
DECLARE_DRIVER_INIT(sgi_ip6);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -66,7 +69,7 @@ INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level,
VIDEO HARDWARE
***************************************************************************/
-static VIDEO_START( sgi_ip6 )
+void sgi_ip6_state::video_start()
{
}
@@ -192,16 +195,15 @@ static INTERRUPT_GEN( sgi_ip6_vbl )
{
}
-static MACHINE_START( sgi_ip6 )
+void sgi_ip6_state::machine_start()
{
}
-static MACHINE_RESET( sgi_ip6 )
+void sgi_ip6_state::machine_reset()
{
- sgi_ip6_state *state = machine.driver_data<sgi_ip6_state>();
- state->m_ip6_regs.unknown_byte_0 = 0x80;
- state->m_ip6_regs.unknown_byte_1 = 0x80;
- state->m_ip6_regs.unknown_half_0 = 0;
+ m_ip6_regs.unknown_byte_0 = 0x80;
+ m_ip6_regs.unknown_byte_1 = 0x80;
+ m_ip6_regs.unknown_half_0 = 0;
}
/***************************************************************************
@@ -232,7 +234,6 @@ static MACHINE_CONFIG_START( sgi_ip6, sgi_ip6_state )
MCFG_CPU_PROGRAM_MAP( sgi_ip6_map )
MCFG_CPU_VBLANK_INT("screen", sgi_ip6_vbl)
- MCFG_MACHINE_RESET( sgi_ip6 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -242,9 +243,7 @@ static MACHINE_CONFIG_START( sgi_ip6, sgi_ip6_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_STATIC(sgi_ip6)
- MCFG_MACHINE_START( sgi_ip6 )
- MCFG_VIDEO_START(sgi_ip6)
MACHINE_CONFIG_END
static INPUT_PORTS_START( sgi_ip6 )
diff --git a/src/mess/drivers/sm1800.c b/src/mess/drivers/sm1800.c
index e9bbe899d80..02b7ba878e0 100644
--- a/src/mess/drivers/sm1800.c
+++ b/src/mess/drivers/sm1800.c
@@ -43,6 +43,7 @@ public:
UINT8 m_irq_state;
virtual void machine_reset();
virtual void video_start();
+ virtual void palette_init();
};
static ADDRESS_MAP_START(sm1800_mem, AS_PROGRAM, 8, sm1800_state)
@@ -156,11 +157,11 @@ I8255A_INTERFACE( sm1800_ppi8255_interface )
DEVCB_DRIVER_MEMBER(sm1800_state, sm1800_8255_portc_w)
};
-static PALETTE_INIT( sm1800 )
+void sm1800_state::palette_init()
{
- palette_set_color(machine, 0, RGB_BLACK); // black
- palette_set_color_rgb(machine, 1, 0xa0, 0xa0, 0xa0); // white
- palette_set_color(machine, 2, RGB_WHITE); // highlight
+ palette_set_color(machine(), 0, RGB_BLACK); // black
+ palette_set_color_rgb(machine(), 1, 0xa0, 0xa0, 0xa0); // white
+ palette_set_color(machine(), 2, RGB_WHITE); // highlight
}
@@ -199,7 +200,6 @@ static MACHINE_CONFIG_START( sm1800, sm1800_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_STATIC(sm1800)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(sm1800)
/* Devices */
MCFG_I8255_ADD ("i8255", sm1800_ppi8255_interface )
diff --git a/src/mess/drivers/smc777.c b/src/mess/drivers/smc777.c
index 849abbf5f23..99d1034e905 100644
--- a/src/mess/drivers/smc777.c
+++ b/src/mess/drivers/smc777.c
@@ -82,6 +82,10 @@ public:
DECLARE_WRITE8_MEMBER(smc777_irq_mask_w);
DECLARE_READ8_MEMBER(smc777_io_r);
DECLARE_WRITE8_MEMBER(smc777_io_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -89,7 +93,7 @@ public:
#define CRTC_MIN_X 10
#define CRTC_MIN_Y 10
-static VIDEO_START( smc777 )
+void smc777_state::video_start()
{
}
@@ -951,22 +955,20 @@ static TIMER_DEVICE_CALLBACK( keyboard_callback )
}
}
-static MACHINE_START(smc777)
+void smc777_state::machine_start()
{
- //smc777_state *state = machine.driver_data<smc777_state>();
- beep_set_frequency(machine.device(BEEPER_TAG),300); //guesswork
- beep_set_state(machine.device(BEEPER_TAG),0);
+ beep_set_frequency(machine().device(BEEPER_TAG),300); //guesswork
+ beep_set_state(machine().device(BEEPER_TAG),0);
}
-static MACHINE_RESET(smc777)
+void smc777_state::machine_reset()
{
- smc777_state *state = machine.driver_data<smc777_state>();
- state->m_raminh = 1;
- state->m_raminh_pending_change = 1;
- state->m_raminh_prefetch = 0xff;
+ m_raminh = 1;
+ m_raminh_pending_change = 1;
+ m_raminh_prefetch = 0xff;
}
static const gfx_layout smc777_charlayout =
@@ -998,7 +1000,7 @@ static const mc6845_interface mc6845_intf =
NULL /* update address callback */
};
-static PALETTE_INIT( smc777 )
+void smc777_state::palette_init()
{
int i;
@@ -1010,7 +1012,7 @@ static PALETTE_INIT( smc777 )
g = (i & 2) >> 1;
b = (i & 1) >> 0;
- palette_set_color_rgb(machine, i, pal1bit(r),pal1bit(g),pal1bit(b));
+ palette_set_color_rgb(machine(), i, pal1bit(r),pal1bit(g),pal1bit(b));
}
}
@@ -1079,8 +1081,6 @@ static MACHINE_CONFIG_START( smc777, smc777_state )
MCFG_CPU_IO_MAP(smc777_io)
MCFG_CPU_VBLANK_INT("screen",smc777_vblank_irq)
- MCFG_MACHINE_START(smc777)
- MCFG_MACHINE_RESET(smc777)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1091,12 +1091,10 @@ static MACHINE_CONFIG_START( smc777, smc777_state )
MCFG_SCREEN_UPDATE_STATIC(smc777)
MCFG_PALETTE_LENGTH(0x10+8) //16 palette entries + 8 special colors
- MCFG_PALETTE_INIT(smc777)
MCFG_GFXDECODE(smc777)
MCFG_MC6845_ADD("crtc", H46505, MASTER_CLOCK/2, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */
- MCFG_VIDEO_START(smc777)
MCFG_MB8876_ADD("fdc",smc777_mb8876_interface)
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(smc777_floppy_interface)
diff --git a/src/mess/drivers/sms.c b/src/mess/drivers/sms.c
index aa4480f8562..90b32dbe2da 100644
--- a/src/mess/drivers/sms.c
+++ b/src/mess/drivers/sms.c
@@ -376,8 +376,8 @@ static MACHINE_CONFIG_START( sms_ntsc_base, sms_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(sms)
- MCFG_MACHINE_RESET(sms)
+ MCFG_MACHINE_START_OVERRIDE(sms_state,sms)
+ MCFG_MACHINE_RESET_OVERRIDE(sms_state,sms)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -432,7 +432,7 @@ static MACHINE_CONFIG_DERIVED( sms1_ntsc, sms_ntsc_base )
MCFG_PALETTE_LENGTH(SEGA315_5124_PALETTE_SIZE)
MCFG_PALETTE_INIT(sega315_5124)
- MCFG_VIDEO_START(sms1)
+ MCFG_VIDEO_START_OVERRIDE(sms_state,sms1)
MCFG_SEGA315_5124_ADD("sms_vdp", _315_5124_ntsc_intf)
MACHINE_CONFIG_END
@@ -487,8 +487,8 @@ static MACHINE_CONFIG_START( sms_pal_base, sms_state )
MCFG_QUANTUM_TIME(attotime::from_hz(50))
- MCFG_MACHINE_START(sms)
- MCFG_MACHINE_RESET(sms)
+ MCFG_MACHINE_START_OVERRIDE(sms_state,sms)
+ MCFG_MACHINE_RESET_OVERRIDE(sms_state,sms)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -544,7 +544,7 @@ static MACHINE_CONFIG_DERIVED( sms1_pal, sms_pal_base )
MCFG_DEFAULT_LAYOUT(layout_sms1)
- MCFG_VIDEO_START(sms1)
+ MCFG_VIDEO_START_OVERRIDE(sms_state,sms1)
MCFG_SEGA315_5124_ADD("sms_vdp", _315_5124_pal_intf)
MACHINE_CONFIG_END
@@ -578,8 +578,8 @@ static MACHINE_CONFIG_START( gamegear, sms_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START(sms)
- MCFG_MACHINE_RESET(sms)
+ MCFG_MACHINE_START_OVERRIDE(sms_state,sms)
+ MCFG_MACHINE_RESET_OVERRIDE(sms_state,sms)
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -591,7 +591,7 @@ static MACHINE_CONFIG_START( gamegear, sms_state )
MCFG_PALETTE_LENGTH(SEGA315_5378_PALETTE_SIZE)
MCFG_PALETTE_INIT(sega315_5378)
- MCFG_VIDEO_START(gamegear)
+ MCFG_VIDEO_START_OVERRIDE(sms_state,gamegear)
MCFG_SEGA315_5378_ADD("sms_vdp", _315_5124_ntsc_intf)
diff --git a/src/mess/drivers/socrates.c b/src/mess/drivers/socrates.c
index 8e4cb60f051..145dfcb379c 100644
--- a/src/mess/drivers/socrates.c
+++ b/src/mess/drivers/socrates.c
@@ -124,6 +124,9 @@ public:
DECLARE_WRITE8_MEMBER(socrates_scroll_w);
DECLARE_WRITE8_MEMBER(socrates_sound_w);
DECLARE_DRIVER_INIT(socrates);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -204,28 +207,27 @@ static void socrates_check_kb_latch( running_machine &machine ) // if kb[1] is f
}
}
-static MACHINE_RESET( socrates )
+void socrates_state::machine_reset()
{
- socrates_state *state = machine.driver_data<socrates_state>();
- state->m_rom_bank = 0xF3; // actually set semi-randomly on real console but we need to initialize it somewhere...
- socrates_set_rom_bank( machine );
- state->m_ram_bank = 0; // the actual console sets it semi randomly on power up, and the bios cleans it up.
- socrates_set_ram_bank( machine );
- state->m_kb_latch_low[0] = 0xFF;
- state->m_kb_latch_high[0] = 0x8F;
- state->m_kb_latch_low[1] = 0x00;
- state->m_kb_latch_high[1] = 0x01;
- state->m_kb_latch_mouse = 0;
- state->m_kbmcu_rscount = 0;
- state->m_io40_latch = 0;
- state->m_hblankstate = 0;
- state->m_vblankstate = 0;
- state->m_speech_running = 0;
- state->m_speech_address = 0;
- state->m_speech_settings = 0;
- state->m_speech_dummy_read = 0;
- state->m_speech_load_address_count = 0;
- state->m_speech_load_settings_count = 0;
+ m_rom_bank = 0xF3; // actually set semi-randomly on real console but we need to initialize it somewhere...
+ socrates_set_rom_bank( machine() );
+ m_ram_bank = 0; // the actual console sets it semi randomly on power up, and the bios cleans it up.
+ socrates_set_ram_bank( machine() );
+ m_kb_latch_low[0] = 0xFF;
+ m_kb_latch_high[0] = 0x8F;
+ m_kb_latch_low[1] = 0x00;
+ m_kb_latch_high[1] = 0x01;
+ m_kb_latch_mouse = 0;
+ m_kbmcu_rscount = 0;
+ m_io40_latch = 0;
+ m_hblankstate = 0;
+ m_vblankstate = 0;
+ m_speech_running = 0;
+ m_speech_address = 0;
+ m_speech_settings = 0;
+ m_speech_dummy_read = 0;
+ m_speech_load_address_count = 0;
+ m_speech_load_settings_count = 0;
}
DRIVER_INIT_MEMBER(socrates_state,socrates)
@@ -590,22 +592,20 @@ return composedcolor;
}
-static PALETTE_INIT( socrates )
+void socrates_state::palette_init()
{
- socrates_state *state = machine.driver_data<socrates_state>();
int i; // iterator
for (i = 0; i < 256; i++)
{
- state->m_palette[i] = socrates_create_color(i);
+ m_palette[i] = socrates_create_color(i);
}
- palette_set_colors(machine, 0, state->m_palette, ARRAY_LENGTH(state->m_palette));
+ palette_set_colors(machine(), 0, m_palette, ARRAY_LENGTH(m_palette));
}
-static VIDEO_START( socrates )
+void socrates_state::video_start()
{
- socrates_state *state = machine.driver_data<socrates_state>();
- state->m_videoram = state->memregion("vram")->base();
- state->m_scroll_offset = 0;
+ m_videoram = memregion("vram")->base();
+ m_scroll_offset = 0;
}
static SCREEN_UPDATE_IND16( socrates )
@@ -926,8 +926,7 @@ static MACHINE_CONFIG_START( socrates, socrates_state )
MCFG_CPU_IO_MAP(z80_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
MCFG_CPU_VBLANK_INT("screen", assert_irq)
- //MCFG_MACHINE_START(socrates)
- MCFG_MACHINE_RESET(socrates)
+ //MCFG_MACHINE_START_OVERRIDE(socrates_state,socrates)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -938,9 +937,7 @@ static MACHINE_CONFIG_START( socrates, socrates_state )
MCFG_SCREEN_UPDATE_STATIC(socrates)
MCFG_PALETTE_LENGTH(256)
- MCFG_PALETTE_INIT(socrates)
- MCFG_VIDEO_START(socrates)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/sorcerer.c b/src/mess/drivers/sorcerer.c
index 8198435c277..050e860c607 100644
--- a/src/mess/drivers/sorcerer.c
+++ b/src/mess/drivers/sorcerer.c
@@ -425,8 +425,6 @@ static MACHINE_CONFIG_START( sorcerer, sorcerer_state )
MCFG_CPU_PROGRAM_MAP(sorcerer_mem)
MCFG_CPU_IO_MAP(sorcerer_io)
- MCFG_MACHINE_START( sorcerer )
- MCFG_MACHINE_RESET( sorcerer )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -478,7 +476,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sorcererd, sorcerer )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sorcererd_mem)
- MCFG_MACHINE_START( sorcererd )
+ MCFG_MACHINE_START_OVERRIDE(sorcerer_state, sorcererd )
MCFG_MICROPOLIS_ADD("fdc", default_micropolis_interface )
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(sorcerer_floppy_interface)
//MCFG_SOFTWARE_LIST_ADD("flop_list","sorcerer_flop") not created yet
diff --git a/src/mess/drivers/spc1000.c b/src/mess/drivers/spc1000.c
index 5b6a49a2724..d6a4d0c6362 100644
--- a/src/mess/drivers/spc1000.c
+++ b/src/mess/drivers/spc1000.c
@@ -38,6 +38,7 @@ public:
DECLARE_WRITE8_MEMBER(spc1000_video_ram_w);
DECLARE_READ8_MEMBER(spc1000_video_ram_r);
DECLARE_READ8_MEMBER(spc1000_keyboard_r);
+ virtual void machine_reset();
};
@@ -221,12 +222,11 @@ static INPUT_PORTS_START( spc1000 )
INPUT_PORTS_END
-static MACHINE_RESET(spc1000)
+void spc1000_state::machine_reset()
{
- spc1000_state *state = machine.driver_data<spc1000_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *mem = state->memregion("maincpu")->base();
- UINT8 *ram = machine.device<ram_device>(RAM_TAG)->pointer();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *mem = memregion("maincpu")->base();
+ UINT8 *ram = machine().device<ram_device>(RAM_TAG)->pointer();
space->install_read_bank(0x0000, 0x7fff, "bank1");
space->install_read_bank(0x8000, 0xffff, "bank3");
@@ -234,12 +234,12 @@ static MACHINE_RESET(spc1000)
space->install_write_bank(0x0000, 0x7fff, "bank2");
space->install_write_bank(0x8000, 0xffff, "bank4");
- state->membank("bank1")->set_base(mem);
- state->membank("bank2")->set_base(ram);
- state->membank("bank3")->set_base(mem);
- state->membank("bank4")->set_base(ram + 0x8000);
+ membank("bank1")->set_base(mem);
+ membank("bank2")->set_base(ram);
+ membank("bank3")->set_base(mem);
+ membank("bank4")->set_base(ram + 0x8000);
- state->m_IPLK = 1;
+ m_IPLK = 1;
}
static READ8_DEVICE_HANDLER( spc1000_mc6847_videoram_r )
@@ -302,7 +302,6 @@ static MACHINE_CONFIG_START( spc1000, spc1000_state )
MCFG_CPU_PROGRAM_MAP(spc1000_mem)
MCFG_CPU_IO_MAP(spc1000_io)
- MCFG_MACHINE_RESET(spc1000)
/* video hardware */
MCFG_SCREEN_MC6847_NTSC_ADD("screen", "mc6847")
diff --git a/src/mess/drivers/spec128.c b/src/mess/drivers/spec128.c
index f2249a4421c..32c9f54e1a5 100644
--- a/src/mess/drivers/spec128.c
+++ b/src/mess/drivers/spec128.c
@@ -252,26 +252,25 @@ static ADDRESS_MAP_START (spectrum_128_mem, AS_PROGRAM, 8, spectrum_state )
AM_RANGE( 0xc000, 0xffff) AM_RAMBANK("bank4")
ADDRESS_MAP_END
-static MACHINE_RESET( spectrum_128 )
+MACHINE_RESET_MEMBER(spectrum_state,spectrum_128)
{
- spectrum_state *state = machine.driver_data<spectrum_state>();
- UINT8 *messram = machine.device<ram_device>(RAM_TAG)->pointer();
+ UINT8 *messram = machine().device<ram_device>(RAM_TAG)->pointer();
memset(messram,0,128*1024);
/* 0x0000-0x3fff always holds ROM */
/* Bank 5 is always in 0x4000 - 0x7fff */
- state->membank("bank2")->set_base(messram + (5<<14));
+ membank("bank2")->set_base(messram + (5<<14));
/* Bank 2 is always in 0x8000 - 0xbfff */
- state->membank("bank3")->set_base(messram + (2<<14));
+ membank("bank3")->set_base(messram + (2<<14));
- MACHINE_RESET_CALL(spectrum);
+ MACHINE_RESET_CALL_MEMBER(spectrum);
/* set initial ram config */
- state->m_port_7ffd_data = 0;
- state->m_port_1ffd_data = -1;
- spectrum_128_update_memory(machine);
+ m_port_7ffd_data = 0;
+ m_port_1ffd_data = -1;
+ spectrum_128_update_memory(machine());
}
/* F4 Character Displayer */
@@ -299,14 +298,14 @@ MACHINE_CONFIG_DERIVED( spectrum_128, spectrum )
MCFG_CPU_PROGRAM_MAP(spectrum_128_mem)
MCFG_CPU_IO_MAP(spectrum_128_io)
- MCFG_MACHINE_RESET( spectrum_128 )
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum_128 )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT( spectrum )
+ MCFG_PALETTE_INIT_OVERRIDE(spectrum_state, spectrum )
MCFG_SCREEN_REFRESH_RATE(50.021)
- MCFG_VIDEO_START( spectrum_128 )
+ MCFG_VIDEO_START_OVERRIDE(spectrum_state, spectrum_128 )
MCFG_GFXDECODE(spec128)
/* sound hardware */
diff --git a/src/mess/drivers/special.c b/src/mess/drivers/special.c
index 8251da20a11..8a79b46826f 100644
--- a/src/mess/drivers/special.c
+++ b/src/mess/drivers/special.c
@@ -403,7 +403,7 @@ static MACHINE_CONFIG_START( special, special_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", I8080, 2000000)
MCFG_CPU_PROGRAM_MAP(specialist_mem)
- MCFG_MACHINE_RESET( special )
+ MCFG_MACHINE_RESET_OVERRIDE(special_state, special )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -411,7 +411,7 @@ static MACHINE_CONFIG_START( special, special_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(384, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 256-1)
- MCFG_VIDEO_START(special)
+ MCFG_VIDEO_START_OVERRIDE(special_state,special)
MCFG_SCREEN_UPDATE_STATIC(special)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
@@ -438,22 +438,22 @@ static MACHINE_CONFIG_DERIVED( specialp, special )
MCFG_SCREEN_UPDATE_STATIC(specialp)
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- MCFG_VIDEO_START(specialp)
+ MCFG_VIDEO_START_OVERRIDE(special_state,specialp)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( specimx, special )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(specimx_mem)
- MCFG_MACHINE_START ( specimx )
- MCFG_MACHINE_RESET ( specimx )
+ MCFG_MACHINE_START_OVERRIDE (special_state, specimx )
+ MCFG_MACHINE_RESET_OVERRIDE (special_state, specimx )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(specimx)
- MCFG_VIDEO_START(specimx)
+ MCFG_VIDEO_START_OVERRIDE(special_state,specimx)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT( specimx )
+ MCFG_PALETTE_INIT_OVERRIDE(special_state, specimx )
/* audio hardware */
MCFG_SOUND_ADD("custom", SPECIMX, 0)
@@ -474,7 +474,7 @@ static MACHINE_CONFIG_START( erik, special_state )
MCFG_CPU_ADD("maincpu", Z80, 4000000)
MCFG_CPU_PROGRAM_MAP(erik_mem)
MCFG_CPU_IO_MAP(erik_io_map)
- MCFG_MACHINE_RESET( erik )
+ MCFG_MACHINE_RESET_OVERRIDE(special_state, erik )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -482,10 +482,10 @@ static MACHINE_CONFIG_START( erik, special_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(384, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 256-1)
- MCFG_VIDEO_START(erik)
+ MCFG_VIDEO_START_OVERRIDE(special_state,erik)
MCFG_SCREEN_UPDATE_STATIC(erik)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(erik)
+ MCFG_PALETTE_INIT_OVERRIDE(special_state,erik)
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/specpls3.c b/src/mess/drivers/specpls3.c
index 809aa65fe16..835fbea0dd4 100644
--- a/src/mess/drivers/specpls3.c
+++ b/src/mess/drivers/specpls3.c
@@ -352,18 +352,17 @@ static ADDRESS_MAP_START (spectrum_plus3_io, AS_IO, 8, spectrum_state )
AM_RANGE(0x3000, 0x3000) AM_READWRITE_LEGACY(spectrum_plus3_port_3ffd_r,spectrum_plus3_port_3ffd_w) AM_MIRROR(0x0ffd)
ADDRESS_MAP_END
-static MACHINE_RESET( spectrum_plus3 )
+MACHINE_RESET_MEMBER(spectrum_state,spectrum_plus3)
{
- spectrum_state *state = machine.driver_data<spectrum_state>();
- UINT8 *messram = machine.device<ram_device>(RAM_TAG)->pointer();
+ UINT8 *messram = machine().device<ram_device>(RAM_TAG)->pointer();
memset(messram,0,128*1024);
- MACHINE_RESET_CALL(spectrum);
+ MACHINE_RESET_CALL_MEMBER(spectrum);
/* Initial configuration */
- state->m_port_7ffd_data = 0;
- state->m_port_1ffd_data = 0;
- spectrum_plus3_update_memory(machine);
+ m_port_7ffd_data = 0;
+ m_port_1ffd_data = 0;
+ spectrum_plus3_update_memory(machine());
}
DRIVER_INIT_MEMBER(spectrum_state,plus3)
@@ -414,7 +413,7 @@ static MACHINE_CONFIG_DERIVED( spectrum_plus3, spectrum_128 )
MCFG_SCREEN_REFRESH_RATE(50.01)
MCFG_GFXDECODE(specpls3)
- MCFG_MACHINE_RESET( spectrum_plus3 )
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum_plus3 )
MCFG_UPD765A_ADD("upd765", spectrum_plus3_upd765_interface)
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(specpls3_floppy_interface)
diff --git a/src/mess/drivers/spectrum.c b/src/mess/drivers/spectrum.c
index 3ee17e6826c..779841271fd 100644
--- a/src/mess/drivers/spectrum.c
+++ b/src/mess/drivers/spectrum.c
@@ -631,15 +631,14 @@ DRIVER_INIT_MEMBER(spectrum_state,spectrum)
}
}
-MACHINE_RESET( spectrum )
+MACHINE_RESET_MEMBER(spectrum_state,spectrum)
{
- spectrum_state *state = machine.driver_data<spectrum_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- space->set_direct_update_handler(direct_update_delegate(FUNC(spectrum_state::spectrum_direct), state));
+ space->set_direct_update_handler(direct_update_delegate(FUNC(spectrum_state::spectrum_direct), this));
- state->m_port_7ffd_data = -1;
- state->m_port_1ffd_data = -1;
+ m_port_7ffd_data = -1;
+ m_port_1ffd_data = -1;
}
/* F4 Character Displayer */
@@ -712,7 +711,7 @@ MACHINE_CONFIG_START( spectrum_common, spectrum_state )
MCFG_CPU_VBLANK_INT("screen", spec_interrupt)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( spectrum )
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -724,9 +723,9 @@ MACHINE_CONFIG_START( spectrum_common, spectrum_state )
MCFG_SCREEN_VBLANK_STATIC( spectrum )
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT( spectrum )
+ MCFG_PALETTE_INIT_OVERRIDE(spectrum_state, spectrum )
MCFG_GFXDECODE(spectrum)
- MCFG_VIDEO_START( spectrum )
+ MCFG_VIDEO_START_OVERRIDE(spectrum_state, spectrum )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/ssem.c b/src/mess/drivers/ssem.c
index 7bafe52e713..cd01fa12c26 100644
--- a/src/mess/drivers/ssem.c
+++ b/src/mess/drivers/ssem.c
@@ -20,6 +20,7 @@ public:
required_shared_ptr<UINT8> m_store;
UINT8 m_store_line;
+ virtual void machine_reset();
};
@@ -624,10 +625,9 @@ static DEVICE_IMAGE_LOAD(ssem_store)
* Machine definition *
\****************************************************/
-static MACHINE_RESET( ssem )
+void ssem_state::machine_reset()
{
- ssem_state *state = machine.driver_data<ssem_state>();
- state->m_store_line = 0;
+ m_store_line = 0;
}
static MACHINE_CONFIG_START( ssem, ssem_state )
@@ -635,7 +635,6 @@ static MACHINE_CONFIG_START( ssem, ssem_state )
MCFG_CPU_ADD("maincpu", SSEM, 700)
MCFG_CPU_PROGRAM_MAP(ssem_map)
- MCFG_MACHINE_RESET(ssem)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/ssystem3.c b/src/mess/drivers/ssystem3.c
index 703a9539c2b..428af2a58a8 100644
--- a/src/mess/drivers/ssystem3.c
+++ b/src/mess/drivers/ssystem3.c
@@ -317,9 +317,7 @@ static MACHINE_CONFIG_START( ssystem3, ssystem3_state )
MCFG_SCREEN_UPDATE_STATIC( ssystem3 )
MCFG_PALETTE_LENGTH(242 + 32768)
- MCFG_PALETTE_INIT( ssystem3 )
- MCFG_VIDEO_START( ssystem3 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/super80.c b/src/mess/drivers/super80.c
index ecd7f205fa3..4133e7da9fc 100644
--- a/src/mess/drivers/super80.c
+++ b/src/mess/drivers/super80.c
@@ -649,7 +649,7 @@ static MACHINE_CONFIG_START( super80, super80_state )
MCFG_GFXDECODE(super80)
MCFG_DEFAULT_LAYOUT( layout_super80 )
- MCFG_VIDEO_START(super80)
+ MCFG_VIDEO_START_OVERRIDE(super80_state,super80)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -688,7 +688,7 @@ static MACHINE_CONFIG_DERIVED( super80m, super80 )
MCFG_GFXDECODE(super80m)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(super80m)
+ MCFG_PALETTE_INIT_OVERRIDE(super80_state,super80m)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC(super80m)
@@ -712,13 +712,13 @@ static MACHINE_CONFIG_START( super80v, super80_state )
MCFG_SCREEN_VBLANK_STATIC(super80m)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(super80m)
+ MCFG_PALETTE_INIT_OVERRIDE(super80_state,super80m)
MCFG_MC6845_ADD("crtc", MC6845, MASTER_CLOCK / SUPER80V_DOTS, super80v_crtc)
MCFG_GFXDECODE(super80v)
MCFG_DEFAULT_LAYOUT( layout_super80 )
- MCFG_VIDEO_START(super80v)
+ MCFG_VIDEO_START_OVERRIDE(super80_state,super80v)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/supercon.c b/src/mess/drivers/supercon.c
index 8127678e62b..1692067d5d7 100644
--- a/src/mess/drivers/supercon.c
+++ b/src/mess/drivers/supercon.c
@@ -70,6 +70,7 @@ public:
void update_leds();
virtual void machine_reset();
DECLARE_DRIVER_INIT(supercon);
+ virtual void machine_start();
};
@@ -541,15 +542,14 @@ static void board_postload(supercon_state *state)
state->set_pieces();
}
-static MACHINE_START( supercon )
+void supercon_state::machine_start()
{
- supercon_state *state = machine.driver_data<supercon_state>();
- state->m_timer_update_irq = machine.scheduler().timer_alloc(FUNC(update_irq));
- state->m_timer_update_irq->adjust( attotime::zero, 0, attotime::from_hz(1000) );
- state->m_timer_mouse_click = machine.scheduler().timer_alloc(FUNC(mouse_click),NULL);
- state->save_item(NAME(state->m_save_board));
- machine.save().register_postload(save_prepost_delegate(FUNC(board_postload),state));
- machine.save().register_presave(save_prepost_delegate(FUNC(board_presave),state));
+ m_timer_update_irq = machine().scheduler().timer_alloc(FUNC(update_irq));
+ m_timer_update_irq->adjust( attotime::zero, 0, attotime::from_hz(1000) );
+ m_timer_mouse_click = machine().scheduler().timer_alloc(FUNC(mouse_click),NULL);
+ save_item(NAME(m_save_board));
+ machine().save().register_postload(save_prepost_delegate(FUNC(board_postload),this));
+ machine().save().register_presave(save_prepost_delegate(FUNC(board_presave),this));
}
void supercon_state::machine_reset()
@@ -732,7 +732,6 @@ static MACHINE_CONFIG_START( supercon, supercon_state )
MCFG_CPU_ADD("maincpu",M6502,MAIN_CLOCK)
MCFG_CPU_PROGRAM_MAP(supercon_mem)
- MCFG_MACHINE_START( supercon )
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_supercon)
diff --git a/src/mess/drivers/supracan.c b/src/mess/drivers/supracan.c
index 6de295a19ae..74b10b20ad4 100644
--- a/src/mess/drivers/supracan.c
+++ b/src/mess/drivers/supracan.c
@@ -198,6 +198,10 @@ public:
TILE_GET_INFO_MEMBER(get_supracan_tilemap1_tile_info);
TILE_GET_INFO_MEMBER(get_supracan_tilemap2_tile_info);
TILE_GET_INFO_MEMBER(get_supracan_roz_tile_info);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -399,34 +403,33 @@ TILE_GET_INFO_MEMBER(supracan_state::get_supracan_roz_tile_info)
}
-static VIDEO_START( supracan )
+void supracan_state::video_start()
{
- supracan_state *state = machine.driver_data<supracan_state>();
- state->m_sprite_final_bitmap.allocate(1024, 1024, BITMAP_FORMAT_IND16);
-
- state->m_vram = (UINT16*)(*machine.root_device().memregion("ram_gfx"));
- state->m_vram_swapped = (UINT16*)(*machine.root_device().memregion("ram_gfx2"));
- state->m_vram_addr_swapped = (UINT8*)(*state->memregion("ram_gfx3")); // hack for 1bpp layer at startup
-
- state->m_tilemap_sizes[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tilemap_sizes[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap_sizes[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
- state->m_tilemap_sizes[0][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
-
- state->m_tilemap_sizes[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tilemap_sizes[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap_sizes[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
- state->m_tilemap_sizes[1][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
-
- state->m_tilemap_sizes[2][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tilemap_sizes[2][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap_sizes[2][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
- state->m_tilemap_sizes[2][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
-
- state->m_tilemap_sizes[3][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tilemap_sizes[3][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap_sizes[3][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
- state->m_tilemap_sizes[3][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ m_sprite_final_bitmap.allocate(1024, 1024, BITMAP_FORMAT_IND16);
+
+ m_vram = (UINT16*)(*machine().root_device().memregion("ram_gfx"));
+ m_vram_swapped = (UINT16*)(*machine().root_device().memregion("ram_gfx2"));
+ m_vram_addr_swapped = (UINT8*)(*memregion("ram_gfx3")); // hack for 1bpp layer at startup
+
+ m_tilemap_sizes[0][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tilemap_sizes[0][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap_sizes[0][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
+ m_tilemap_sizes[0][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+
+ m_tilemap_sizes[1][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tilemap_sizes[1][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap_sizes[1][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
+ m_tilemap_sizes[1][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+
+ m_tilemap_sizes[2][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tilemap_sizes[2][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap_sizes[2][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
+ m_tilemap_sizes[2][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+
+ m_tilemap_sizes[3][0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_tilemap_sizes[3][1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ m_tilemap_sizes[3][2] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
+ m_tilemap_sizes[3][3] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
}
static int get_tilemap_dimensions(running_machine &machine, int &xsize, int &ysize, int layer)
@@ -1336,7 +1339,7 @@ static INPUT_PORTS_START( supracan )
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(4) PORT_NAME("P4 Button A")
INPUT_PORTS_END
-static PALETTE_INIT( supracan )
+void supracan_state::palette_init()
{
// Used for debugging purposes for now
//#if 0
@@ -1347,7 +1350,7 @@ static PALETTE_INIT( supracan )
r = (i & 0x1f) << 3;
g = ((i >> 5) & 0x1f) << 3;
b = ((i >> 10) & 0x1f) << 3;
- palette_set_color_rgb( machine, i, r, g, b );
+ palette_set_color_rgb( machine(), i, r, g, b );
}
//#endif
}
@@ -1768,25 +1771,23 @@ static DEVICE_IMAGE_LOAD( supracan_cart )
}
-static MACHINE_START( supracan )
+void supracan_state::machine_start()
{
- supracan_state *state = machine.driver_data<supracan_state>();
- state->m_video_timer = machine.scheduler().timer_alloc(FUNC(supracan_video_callback));
- state->m_hbl_timer = machine.scheduler().timer_alloc(FUNC(supracan_hbl_callback));
- state->m_line_on_timer = machine.scheduler().timer_alloc(FUNC(supracan_line_on_callback));
- state->m_line_off_timer = machine.scheduler().timer_alloc(FUNC(supracan_line_off_callback));
+ m_video_timer = machine().scheduler().timer_alloc(FUNC(supracan_video_callback));
+ m_hbl_timer = machine().scheduler().timer_alloc(FUNC(supracan_hbl_callback));
+ m_line_on_timer = machine().scheduler().timer_alloc(FUNC(supracan_line_on_callback));
+ m_line_off_timer = machine().scheduler().timer_alloc(FUNC(supracan_line_off_callback));
}
-static MACHINE_RESET( supracan )
+void supracan_state::machine_reset()
{
- supracan_state *state = machine.driver_data<supracan_state>();
- machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
+ machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
- state->m_video_timer->adjust( machine.primary_screen->time_until_pos( 0, 0 ) );
- state->m_irq_mask = 0;
+ m_video_timer->adjust( machine().primary_screen->time_until_pos( 0, 0 ) );
+ m_irq_mask = 0;
}
/* gfxdecode is retained for reference purposes but not otherwise used by the driver */
@@ -1914,15 +1915,11 @@ static MACHINE_CONFIG_START( supracan, supracan_state )
MCFG_QUANTUM_PERFECT_CPU("soundcpu")
#endif
- MCFG_MACHINE_START( supracan )
- MCFG_MACHINE_RESET( supracan )
MCFG_SCREEN_ADD( "screen", RASTER )
MCFG_SCREEN_RAW_PARAMS(XTAL_10_738635MHz/2, 348, 0, 256, 256, 0, 240 ) /* No idea if this is correct */
MCFG_SCREEN_UPDATE_STATIC( supracan )
- MCFG_VIDEO_START( supracan )
MCFG_PALETTE_LENGTH( 32768 )
- MCFG_PALETTE_INIT( supracan )
MCFG_GFXDECODE(supracan)
MCFG_CARTSLOT_ADD("cart")
diff --git a/src/mess/drivers/svi318.c b/src/mess/drivers/svi318.c
index fd65ebcd8fb..c526e8eb474 100644
--- a/src/mess/drivers/svi318.c
+++ b/src/mess/drivers/svi318.c
@@ -314,8 +314,8 @@ static MACHINE_CONFIG_START( svi318, svi318_state )
MCFG_CPU_IO_MAP( svi318_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( svi318_pal )
- MCFG_MACHINE_RESET( svi318 )
+ MCFG_MACHINE_START_OVERRIDE(svi318_state, svi318_pal )
+ MCFG_MACHINE_RESET_OVERRIDE(svi318_state, svi318 )
MCFG_I8255_ADD( "ppi8255", svi318_ppi8255_interface )
@@ -366,8 +366,8 @@ static MACHINE_CONFIG_DERIVED( svi318n, svi318 )
MCFG_TMS9928A_SCREEN_ADD_NTSC( "screen" )
MCFG_SCREEN_UPDATE_DEVICE( "tms9928a", tms9928a_device, screen_update )
- MCFG_MACHINE_START( svi318_ntsc )
- MCFG_MACHINE_RESET( svi318 )
+ MCFG_MACHINE_START_OVERRIDE(svi318_state, svi318_ntsc )
+ MCFG_MACHINE_RESET_OVERRIDE(svi318_state, svi318 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( svi328, svi318 )
@@ -425,8 +425,8 @@ static MACHINE_CONFIG_START( svi328_806, svi318_state )
MCFG_CPU_IO_MAP( svi328_806_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( svi318_pal )
- MCFG_MACHINE_RESET( svi328_806 )
+ MCFG_MACHINE_START_OVERRIDE(svi318_state, svi318_pal )
+ MCFG_MACHINE_RESET_OVERRIDE(svi318_state, svi328_806 )
MCFG_I8255A_ADD( "ppi8255", svi318_ppi8255_interface )
@@ -452,7 +452,7 @@ static MACHINE_CONFIG_START( svi328_806, svi318_state )
MCFG_MC6845_ADD("crtc", MC6845, XTAL_12MHz / 8, svi806_crtc6845_interface)
- MCFG_VIDEO_START( svi328_806 )
+ MCFG_VIDEO_START_OVERRIDE(svi318_state, svi328_806 )
/* Sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -483,7 +483,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( svi328n_806, svi328_806 )
- MCFG_MACHINE_START( svi318_ntsc )
+ MCFG_MACHINE_START_OVERRIDE(svi318_state, svi318_ntsc )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mess/drivers/svision.c b/src/mess/drivers/svision.c
index 872b0c1ebba..ad0410d51a7 100644
--- a/src/mess/drivers/svision.c
+++ b/src/mess/drivers/svision.c
@@ -325,28 +325,28 @@ static const unsigned char svisionn_palette[] =
245, 249, 248
};
-static PALETTE_INIT( svision )
+void svision_state::palette_init()
{
int i;
for( i = 0; i < sizeof(svision_palette) / 3; i++ ) {
- palette_set_color_rgb(machine, i, svision_palette[i*3], svision_palette[i*3+1], svision_palette[i*3+2] );
+ palette_set_color_rgb(machine(), i, svision_palette[i*3], svision_palette[i*3+1], svision_palette[i*3+2] );
}
}
-static PALETTE_INIT( svisionn )
+PALETTE_INIT_MEMBER(svision_state,svisionn)
{
int i;
for ( i = 0; i < sizeof(svisionn_palette) / 3; i++ ) {
- palette_set_color_rgb(machine, i, svisionn_palette[i*3], svisionn_palette[i*3+1], svisionn_palette[i*3+2] );
+ palette_set_color_rgb(machine(), i, svisionn_palette[i*3], svisionn_palette[i*3+1], svisionn_palette[i*3+2] );
}
}
-static PALETTE_INIT( svisionp )
+PALETTE_INIT_MEMBER(svision_state,svisionp)
{
int i;
for ( i = 0; i < sizeof(svisionn_palette) / 3; i++ ) {
- palette_set_color_rgb(machine, i, svisionp_palette[i*3], svisionp_palette[i*3+1], svisionp_palette[i*3+2] );
+ palette_set_color_rgb(machine(), i, svisionp_palette[i*3], svisionp_palette[i*3+1], svisionp_palette[i*3+2] );
}
}
@@ -486,30 +486,28 @@ static DEVICE_IMAGE_LOAD( svision_cart )
return IMAGE_INIT_PASS;
}
-static MACHINE_RESET( svision )
+void svision_state::machine_reset()
{
- svision_state *state = machine.driver_data<svision_state>();
- state->m_svision.timer_shot = FALSE;
- *state->m_dma_finished = FALSE;
- state->membank("bank1")->set_base(state->memregion("user1")->base());
+ m_svision.timer_shot = FALSE;
+ *m_dma_finished = FALSE;
+ membank("bank1")->set_base(memregion("user1")->base());
}
-static MACHINE_RESET( tvlink )
+MACHINE_RESET_MEMBER(svision_state,tvlink)
{
- svision_state *state = machine.driver_data<svision_state>();
- state->m_svision.timer_shot = FALSE;
- *state->m_dma_finished = FALSE;
- state->membank("bank1")->set_base(state->memregion("user1")->base());
- state->m_tvlink.palette_on = FALSE;
-
- memset(state->m_reg + 0x800, 0xff, 0x40); // normally done from state->m_tvlink microcontroller
- state->m_reg[0x82a] = 0xdf;
-
- state->m_tvlink.palette[0] = MAKE24_RGB32(svisionp_palette[(PALETTE_START+0)*3+0], svisionp_palette[(PALETTE_START+0)*3+1], svisionp_palette[(PALETTE_START+0)*3+2]);
- state->m_tvlink.palette[1] = MAKE24_RGB32(svisionp_palette[(PALETTE_START+1)*3+0], svisionp_palette[(PALETTE_START+1)*3+1], svisionp_palette[(PALETTE_START+1)*3+2]);
- state->m_tvlink.palette[2] = MAKE24_RGB32(svisionp_palette[(PALETTE_START+2)*3+0], svisionp_palette[(PALETTE_START+2)*3+1], svisionp_palette[(PALETTE_START+2)*3+2]);
- state->m_tvlink.palette[3] = MAKE24_RGB32(svisionp_palette[(PALETTE_START+3)*3+0], svisionp_palette[(PALETTE_START+3)*3+1], svisionp_palette[(PALETTE_START+3)*3+2]);
+ m_svision.timer_shot = FALSE;
+ *m_dma_finished = FALSE;
+ membank("bank1")->set_base(memregion("user1")->base());
+ m_tvlink.palette_on = FALSE;
+
+ memset(m_reg + 0x800, 0xff, 0x40); // normally done from m_tvlink microcontroller
+ m_reg[0x82a] = 0xdf;
+
+ m_tvlink.palette[0] = MAKE24_RGB32(svisionp_palette[(PALETTE_START+0)*3+0], svisionp_palette[(PALETTE_START+0)*3+1], svisionp_palette[(PALETTE_START+0)*3+2]);
+ m_tvlink.palette[1] = MAKE24_RGB32(svisionp_palette[(PALETTE_START+1)*3+0], svisionp_palette[(PALETTE_START+1)*3+1], svisionp_palette[(PALETTE_START+1)*3+2]);
+ m_tvlink.palette[2] = MAKE24_RGB32(svisionp_palette[(PALETTE_START+2)*3+0], svisionp_palette[(PALETTE_START+2)*3+1], svisionp_palette[(PALETTE_START+2)*3+2]);
+ m_tvlink.palette[3] = MAKE24_RGB32(svisionp_palette[(PALETTE_START+3)*3+0], svisionp_palette[(PALETTE_START+3)*3+1], svisionp_palette[(PALETTE_START+3)*3+2]);
}
static MACHINE_CONFIG_START( svision, svision_state )
@@ -518,7 +516,6 @@ static MACHINE_CONFIG_START( svision, svision_state )
MCFG_CPU_PROGRAM_MAP(svision_mem)
MCFG_CPU_VBLANK_INT("screen", svision_frame_int)
- MCFG_MACHINE_RESET( svision )
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -528,7 +525,6 @@ static MACHINE_CONFIG_START( svision, svision_state )
MCFG_SCREEN_UPDATE_STATIC( svision )
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(svision_palette) * 3)
- MCFG_PALETTE_INIT( svision )
MCFG_DEFAULT_LAYOUT(layout_svision)
@@ -558,7 +554,7 @@ static MACHINE_CONFIG_DERIVED( svisionp, svision )
MCFG_CPU_CLOCK(4430000)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(50)
- MCFG_PALETTE_INIT( svisionp )
+ MCFG_PALETTE_INIT_OVERRIDE(svision_state, svisionp )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( svisionn, svision )
@@ -566,14 +562,14 @@ static MACHINE_CONFIG_DERIVED( svisionn, svision )
MCFG_CPU_CLOCK(3560000/*?*/)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_PALETTE_INIT( svisionn )
+ MCFG_PALETTE_INIT_OVERRIDE(svision_state, svisionn )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( tvlinkp, svisionp )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(tvlink_mem)
- MCFG_MACHINE_RESET( tvlink )
+ MCFG_MACHINE_RESET_OVERRIDE(svision_state, tvlink )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_STATIC( tvlink )
diff --git a/src/mess/drivers/swtpc.c b/src/mess/drivers/swtpc.c
index c3b74802713..5d5287dd7d6 100644
--- a/src/mess/drivers/swtpc.c
+++ b/src/mess/drivers/swtpc.c
@@ -60,6 +60,7 @@ public:
DECLARE_WRITE8_MEMBER(swtpc_terminal_w);
DECLARE_WRITE8_MEMBER(kbd_put);
UINT8 m_term_data;
+ virtual void machine_reset();
};
// bit 0 - ready to receive a character; bit 1 - ready to send a character to the terminal
@@ -95,7 +96,7 @@ static INPUT_PORTS_START( swtpc )
INPUT_PORTS_END
-static MACHINE_RESET(swtpc)
+void swtpc_state::machine_reset()
{
}
@@ -114,7 +115,6 @@ static MACHINE_CONFIG_START( swtpc, swtpc_state )
MCFG_CPU_ADD("maincpu", M6800, XTAL_1MHz)
MCFG_CPU_PROGRAM_MAP(swtpc_mem)
- MCFG_MACHINE_RESET(swtpc)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/sym1.c b/src/mess/drivers/sym1.c
index c8239ab87ab..55198e0f72b 100644
--- a/src/mess/drivers/sym1.c
+++ b/src/mess/drivers/sym1.c
@@ -121,7 +121,6 @@ static MACHINE_CONFIG_START( sym1, sym1_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M6502, SYM1_CLOCK) /* 1 MHz */
MCFG_CPU_PROGRAM_MAP(sym1_map)
- MCFG_MACHINE_RESET(sym1)
MCFG_DEFAULT_LAYOUT(layout_sym1)
diff --git a/src/mess/drivers/sys2900.c b/src/mess/drivers/sys2900.c
index 6c550b4a146..4f8e35aa21f 100644
--- a/src/mess/drivers/sys2900.c
+++ b/src/mess/drivers/sys2900.c
@@ -44,6 +44,8 @@ public:
: driver_device(mconfig, type, tag) { }
DECLARE_DRIVER_INIT(sys2900);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -72,11 +74,10 @@ static TIMER_CALLBACK( sys2900_boot )
state->membank("boot")->set_entry(0);
}
-static MACHINE_RESET(sys2900)
+void sys2900_state::machine_reset()
{
- sys2900_state *state = machine.driver_data<sys2900_state>();
- state->membank("boot")->set_entry(1);
- machine.scheduler().timer_set(attotime::from_usec(5), FUNC(sys2900_boot));
+ membank("boot")->set_entry(1);
+ machine().scheduler().timer_set(attotime::from_usec(5), FUNC(sys2900_boot));
}
DRIVER_INIT_MEMBER(sys2900_state,sys2900)
@@ -85,7 +86,7 @@ DRIVER_INIT_MEMBER(sys2900_state,sys2900)
membank("boot")->configure_entries(0, 2, &RAM[0x0000], 0xf000);
}
-static VIDEO_START( sys2900 )
+void sys2900_state::video_start()
{
}
@@ -100,7 +101,6 @@ static MACHINE_CONFIG_START( sys2900, sys2900_state )
MCFG_CPU_PROGRAM_MAP(sys2900_mem)
MCFG_CPU_IO_MAP(sys2900_io)
- MCFG_MACHINE_RESET(sys2900)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -113,7 +113,6 @@ static MACHINE_CONFIG_START( sys2900, sys2900_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(sys2900)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/systec.c b/src/mess/drivers/systec.c
index 226dcd96cf3..518f67fa4d7 100644
--- a/src/mess/drivers/systec.c
+++ b/src/mess/drivers/systec.c
@@ -51,6 +51,7 @@ public:
DECLARE_READ8_MEMBER(systec_c6_r);
DECLARE_WRITE8_MEMBER( kbd_put );
UINT8 m_term_data;
+ virtual void machine_reset();
};
READ8_MEMBER( systec_state::systec_c4_r )
@@ -91,10 +92,10 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( systec )
INPUT_PORTS_END
-static MACHINE_RESET(systec)
+void systec_state::machine_reset()
{
- UINT8 *m_p_maincpu = machine.root_device().memregion("maincpu")->base();
- UINT8 *m_p_roms = machine.root_device().memregion("roms")->base();
+ UINT8 *m_p_maincpu = machine().root_device().memregion("maincpu")->base();
+ UINT8 *m_p_roms = machine().root_device().memregion("roms")->base();
memcpy(m_p_maincpu, m_p_roms, 0x2000);
}
@@ -104,7 +105,6 @@ static MACHINE_CONFIG_START( systec, systec_state )
MCFG_CPU_PROGRAM_MAP(systec_mem)
MCFG_CPU_IO_MAP(systec_io)
- MCFG_MACHINE_RESET(systec)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/terak.c b/src/mess/drivers/terak.c
index 42b1db26d03..5ce51f7c539 100644
--- a/src/mess/drivers/terak.c
+++ b/src/mess/drivers/terak.c
@@ -22,6 +22,8 @@ public:
UINT8 m_unit;
UINT8 m_cmd;
UINT16 m_data;
+ virtual void machine_reset();
+ virtual void video_start();
};
READ16_MEMBER( terak_state::terak_fdc_status_r )
@@ -67,11 +69,11 @@ static INPUT_PORTS_START( terak )
INPUT_PORTS_END
-static MACHINE_RESET(terak)
+void terak_state::machine_reset()
{
}
-static VIDEO_START( terak )
+void terak_state::video_start()
{
}
@@ -91,7 +93,6 @@ static MACHINE_CONFIG_START( terak, terak_state )
MCFG_CPU_CONFIG(t11_data)
MCFG_CPU_PROGRAM_MAP(terak_mem)
- MCFG_MACHINE_RESET(terak)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -104,7 +105,6 @@ static MACHINE_CONFIG_START( terak, terak_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START(terak)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/ti85.c b/src/mess/drivers/ti85.c
index 25d53fe9521..e96c50e85f1 100644
--- a/src/mess/drivers/ti85.c
+++ b/src/mess/drivers/ti85.c
@@ -494,7 +494,6 @@ static MACHINE_CONFIG_START( ti81, ti85_state )
MCFG_CPU_IO_MAP(ti81_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( ti81 )
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -505,9 +504,7 @@ static MACHINE_CONFIG_START( ti81, ti85_state )
MCFG_SCREEN_UPDATE_STATIC( ti85 )
MCFG_PALETTE_LENGTH(224)
- MCFG_PALETTE_INIT( ti85 )
- MCFG_VIDEO_START( ti85 )
MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END
@@ -518,7 +515,7 @@ static MACHINE_CONFIG_DERIVED( ti85, ti81 )
MCFG_CPU_CLOCK( 6000000) /* 6 MHz */
MCFG_CPU_IO_MAP(ti85_io)
- MCFG_MACHINE_RESET( ti85 )
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(128, 64)
@@ -548,12 +545,12 @@ static MACHINE_CONFIG_DERIVED( ti82, ti81 )
MCFG_CPU_CLOCK( 6000000) /* 6 MHz */
MCFG_CPU_IO_MAP(ti82_io)
- MCFG_MACHINE_RESET( ti85 )
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DEVICE("t6a04", t6a04_device, screen_update)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT( ti82 )
+ MCFG_PALETTE_INIT_OVERRIDE(ti85_state, ti82 )
MCFG_T6A04_ADD("t6a04", ti82_display)
@@ -576,12 +573,12 @@ static MACHINE_CONFIG_DERIVED( ti83, ti81 )
MCFG_CPU_CLOCK( 6000000) /* 6 MHz */
MCFG_CPU_IO_MAP(ti83_io)
- MCFG_MACHINE_RESET( ti85 )
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DEVICE("t6a04", t6a04_device, screen_update)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT( ti82 )
+ MCFG_PALETTE_INIT_OVERRIDE(ti85_state, ti82 )
MCFG_T6A04_ADD("t6a04", ti82_display)
MACHINE_CONFIG_END
@@ -591,8 +588,8 @@ static MACHINE_CONFIG_DERIVED( ti86, ti85 )
MCFG_CPU_PROGRAM_MAP(ti86_mem)
MCFG_CPU_IO_MAP(ti86_io)
- MCFG_MACHINE_START( ti86 )
- MCFG_MACHINE_RESET( ti85 )
+ MCFG_MACHINE_START_OVERRIDE(ti85_state, ti86 )
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
MCFG_DEVICE_REMOVE("nvram")
MCFG_NVRAM_HANDLER( ti86 )
@@ -607,13 +604,13 @@ static MACHINE_CONFIG_DERIVED( ti83p, ti81 )
MCFG_CPU_PROGRAM_MAP(ti86_mem)
MCFG_CPU_IO_MAP(ti83p_io)
- MCFG_MACHINE_START( ti83p )
- MCFG_MACHINE_RESET( ti85 )
+ MCFG_MACHINE_START_OVERRIDE(ti85_state, ti83p )
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DEVICE("t6a04", t6a04_device, screen_update)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT( ti82 )
+ MCFG_PALETTE_INIT_OVERRIDE(ti85_state, ti82 )
MCFG_T6A04_ADD("t6a04", ti82_display)
diff --git a/src/mess/drivers/ti89.c b/src/mess/drivers/ti89.c
index 3686180a2d2..ef93c4a5719 100644
--- a/src/mess/drivers/ti89.c
+++ b/src/mess/drivers/ti89.c
@@ -502,10 +502,10 @@ UINT32 ti68k_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c
return 0;
}
-static PALETTE_INIT( ti68k )
+void ti68k_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
static MACHINE_CONFIG_START( ti89, ti68k_state )
@@ -523,7 +523,6 @@ static MACHINE_CONFIG_START( ti89, ti68k_state )
MCFG_SCREEN_SIZE(240, 128)
MCFG_SCREEN_VISIBLE_AREA(0, 160-1, 0, 100-1)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(ti68k)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_SHARP_UNK128MBIT_ADD("flash") //should be LH28F320 for ti89t and v200 and LH28F160S3T for other models
diff --git a/src/mess/drivers/ti990_10.c b/src/mess/drivers/ti990_10.c
index b6089716e37..bdd02a89d2a 100644
--- a/src/mess/drivers/ti990_10.c
+++ b/src/mess/drivers/ti990_10.c
@@ -85,21 +85,24 @@ public:
device_t *m_terminal;
DECLARE_DRIVER_INIT(ti990_10);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
-static MACHINE_START( ti990_10 )
+void ti990_10_state::machine_start()
{
- MACHINE_START_CALL( ti990_hdc );
+ MACHINE_START_CALL_LEGACY( ti990_hdc );
}
-static MACHINE_RESET( ti990_10 )
+void ti990_10_state::machine_reset()
{
- ti990_hold_load(machine);
+ ti990_hold_load(machine());
ti990_reset_int();
- ti990_hdc_init(machine, ti990_set_int13);
+ ti990_hdc_init(machine(), ti990_set_int13);
}
static INTERRUPT_GEN( ti990_10_line_interrupt )
@@ -145,10 +148,9 @@ static const vdt911_init_params_t vdt911_intf =
ti990_set_int10
};
-static VIDEO_START( ti990_10 )
+void ti990_10_state::video_start()
{
- ti990_10_state *state = machine.driver_data<ti990_10_state>();
- state->m_terminal = machine.device("vdt911");
+ m_terminal = machine().device("vdt911");
}
static SCREEN_UPDATE_IND16( ti990_10 )
@@ -215,8 +217,6 @@ static MACHINE_CONFIG_START( ti990_10, ti990_10_state )
MCFG_CPU_IO_MAP(ti990_10_io)
MCFG_CPU_PERIODIC_INT(ti990_10_line_interrupt, 120/*or 100 in Europe*/)
- MCFG_MACHINE_START( ti990_10 )
- MCFG_MACHINE_RESET( ti990_10 )
/* video hardware - we emulate a single 911 vdt display */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -232,7 +232,6 @@ static MACHINE_CONFIG_START( ti990_10, ti990_10_state )
MCFG_PALETTE_INIT(vdt911)
MCFG_VDT911_VIDEO_ADD("vdt911", vdt911_intf)
- MCFG_VIDEO_START(ti990_10)
/* 911 VDT has a beep tone generator */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/ti990_4.c b/src/mess/drivers/ti990_4.c
index 82053acd7e6..64752e2c5b1 100644
--- a/src/mess/drivers/ti990_4.c
+++ b/src/mess/drivers/ti990_4.c
@@ -59,16 +59,18 @@ public:
DECLARE_WRITE8_MEMBER(ckon_ckof_callback);
DECLARE_WRITE8_MEMBER(lrex_callback);
DECLARE_DRIVER_INIT(ti990_4);
+ virtual void machine_reset();
+ virtual void video_start();
};
-static MACHINE_RESET(ti990_4)
+void ti990_4_state::machine_reset()
{
- ti990_hold_load(machine);
+ ti990_hold_load(machine());
ti990_reset_int();
- fd800_machine_init(machine, ti990_set_int7);
+ fd800_machine_init(machine(), ti990_set_int7);
}
@@ -127,11 +129,10 @@ static const vdt911_init_params_t vdt911_intf =
ti990_set_int3
};
-static VIDEO_START( ti990_4 )
+void ti990_4_state::video_start()
{
- ti990_4_state *state = machine.driver_data<ti990_4_state>();
- state->m_terminal = machine.device("vdt911");
+ m_terminal = machine().device("vdt911");
}
static SCREEN_UPDATE_IND16( ti990_4 )
@@ -148,11 +149,10 @@ static const asr733_init_params_t asr733_intf =
ti990_set_int6
};
-static VIDEO_START( ti990_4 )
+void ti990_4_state::video_start()
{
- ti990_4_state *state = machine.driver_data<ti990_4_state>();
- state->m_terminal = machine.device("asr733");
+ m_terminal = machine().device("asr733");
}
static SCREEN_UPDATE_IND16( ti990_4 )
@@ -248,7 +248,6 @@ static MACHINE_CONFIG_START( ti990_4, ti990_4_state )
MCFG_CPU_IO_MAP(ti990_4_cru_map)
MCFG_CPU_PERIODIC_INT(ti990_4_line_interrupt, 120/*or TIME_IN_HZ(100) in Europe*/)
- MCFG_MACHINE_RESET( ti990_4 )
/* video hardware - we emulate a single 911 vdt display */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -278,7 +277,6 @@ static MACHINE_CONFIG_START( ti990_4, ti990_4_state )
MCFG_PALETTE_INIT(asr733)
MCFG_ASR733_VIDEO_ADD("asr733", asr733_intf)
#endif
- MCFG_VIDEO_START(ti990_4)
#if VIDEO_911
/* 911 VDT has a beep tone generator */
diff --git a/src/mess/drivers/ti99_2.c b/src/mess/drivers/ti99_2.c
index 04225709441..9226b5a6d75 100644
--- a/src/mess/drivers/ti99_2.c
+++ b/src/mess/drivers/ti99_2.c
@@ -99,6 +99,8 @@ public:
DECLARE_READ8_MEMBER(ti99_2_read_misc_cru);
DECLARE_DRIVER_INIT(ti99_2_24);
DECLARE_DRIVER_INIT(ti99_2_32);
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -118,14 +120,13 @@ DRIVER_INIT_MEMBER(ti99_2_state,ti99_2_32)
#define TI99_2_32_ROMPAGE0 (machine().root_device().memregion("maincpu")->base()+0x4000)
#define TI99_2_32_ROMPAGE1 (machine().root_device().memregion("maincpu")->base()+0x10000)
-static MACHINE_RESET( ti99_2 )
+void ti99_2_state::machine_reset()
{
- ti99_2_state *state = machine.driver_data<ti99_2_state>();
- state->m_irq_state = ASSERT_LINE;
- if (! state->m_ROM_paged)
- state->membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base()+0x4000);
+ m_irq_state = ASSERT_LINE;
+ if (! m_ROM_paged)
+ membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base()+0x4000);
else
- state->membank("bank1")->set_base((state->memregion("maincpu")->base()+0x4000));
+ membank("bank1")->set_base((memregion("maincpu")->base()+0x4000));
}
static INTERRUPT_GEN( ti99_2_vblank_interrupt )
@@ -149,10 +150,10 @@ static INTERRUPT_GEN( ti99_2_vblank_interrupt )
*/
-static PALETTE_INIT(ti99_2)
+void ti99_2_state::palette_init()
{
- palette_set_color(machine,0,RGB_WHITE); /* white */
- palette_set_color(machine,1,RGB_BLACK); /* black */
+ palette_set_color(machine(),0,RGB_WHITE); /* white */
+ palette_set_color(machine(),1,RGB_BLACK); /* black */
}
@@ -381,7 +382,6 @@ static MACHINE_CONFIG_START( ti99_2, ti99_2_state )
MCFG_CPU_IO_MAP(ti99_2_io)
MCFG_CPU_VBLANK_INT("screen", ti99_2_vblank_interrupt)
- MCFG_MACHINE_RESET( ti99_2 )
/* video hardware */
/*MCFG_TMS9928A( &tms9918_interface )*/
@@ -394,7 +394,6 @@ static MACHINE_CONFIG_START( ti99_2, ti99_2_state )
MCFG_GFXDECODE(ti99_2)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(ti99_2)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/ti99_4p.c b/src/mess/drivers/ti99_4p.c
index 7ce6f5bee1e..32ac1b955a7 100644
--- a/src/mess/drivers/ti99_4p.c
+++ b/src/mess/drivers/ti99_4p.c
@@ -93,6 +93,8 @@ public:
DECLARE_WRITE8_MEMBER(tms9901_interrupt);
DECLARE_WRITE_LINE_MEMBER(handset_ack);
DECLARE_WRITE_LINE_MEMBER(alphaW);
+ virtual void machine_start();
+ DECLARE_MACHINE_RESET(ti99_4p);
void set_tms9901_INT2_from_v9938(v99x8_device &vdp, int state);
@@ -807,33 +809,32 @@ static TMS99xx_CONFIG( sgcpu_cpuconf )
DEVCB_NULL // Hold acknowledge
};
-MACHINE_START( ti99_4p )
+void ti99_4p::machine_start()
{
- ti99_4p *driver = machine.driver_data<ti99_4p>();
- driver->m_cpu = static_cast<tms9900_device*>(machine.device("maincpu"));
- driver->m_peribox = static_cast<peribox_device*>(machine.device(PERIBOX_TAG));
- driver->m_sound = static_cast<ti_sound_system_device*>(machine.device(TISOUND_TAG));
- driver->m_video = static_cast<ti_exp_video_device*>(machine.device(VIDEO_SYSTEM_TAG));
- driver->m_cassette = static_cast<cassette_image_device*>(machine.device(CASSETTE_TAG));
- driver->m_tms9901 = static_cast<tms9901_device*>(machine.device(TMS9901_TAG));
- driver->m_joyport = static_cast<joyport_device*>(machine.device(JOYPORT_TAG));
+ m_cpu = static_cast<tms9900_device*>(machine().device("maincpu"));
+ m_peribox = static_cast<peribox_device*>(machine().device(PERIBOX_TAG));
+ m_sound = static_cast<ti_sound_system_device*>(machine().device(TISOUND_TAG));
+ m_video = static_cast<ti_exp_video_device*>(machine().device(VIDEO_SYSTEM_TAG));
+ m_cassette = static_cast<cassette_image_device*>(machine().device(CASSETTE_TAG));
+ m_tms9901 = static_cast<tms9901_device*>(machine().device(TMS9901_TAG));
+ m_joyport = static_cast<joyport_device*>(machine().device(JOYPORT_TAG));
- driver->m_ram = (UINT16*)(*machine.root_device().memregion(SAMSMEM_TAG));
- driver->m_scratchpad = (UINT16*)(*machine.root_device().memregion(PADMEM_TAG));
+ m_ram = (UINT16*)(*machine().root_device().memregion(SAMSMEM_TAG));
+ m_scratchpad = (UINT16*)(*machine().root_device().memregion(PADMEM_TAG));
- driver->m_peribox->senila(CLEAR_LINE);
- driver->m_peribox->senilb(CLEAR_LINE);
+ m_peribox->senila(CLEAR_LINE);
+ m_peribox->senilb(CLEAR_LINE);
- driver->m_firstjoy = 6;
+ m_firstjoy = 6;
- driver->m_ready_line = driver->m_ready_line_dmux = ASSERT_LINE;
+ m_ready_line = m_ready_line_dmux = ASSERT_LINE;
- UINT16 *rom = (UINT16*)(*machine.root_device().memregion("maincpu"));
- driver->m_rom0 = rom + 0x2000;
- driver->m_dsr = rom + 0x6000;
- driver->m_rom6a = rom + 0x3000;
- driver->m_rom6b = rom + 0x7000;
+ UINT16 *rom = (UINT16*)(*machine().root_device().memregion("maincpu"));
+ m_rom0 = rom + 0x2000;
+ m_dsr = rom + 0x6000;
+ m_rom6a = rom + 0x3000;
+ m_rom6b = rom + 0x7000;
}
/*
@@ -858,13 +859,12 @@ static JOYPORT_CONFIG( joyport4a_60 )
/*
Reset the machine.
*/
-MACHINE_RESET( ti99_4p )
+MACHINE_RESET_MEMBER(ti99_4p,ti99_4p)
{
- ti99_4p *driver = machine.driver_data<ti99_4p>();
- driver->m_tms9901->set_single_int(12, 0);
+ m_tms9901->set_single_int(12, 0);
- driver->m_cpu->set_ready(ASSERT_LINE);
- driver->m_cpu->set_hold(CLEAR_LINE);
+ m_cpu->set_ready(ASSERT_LINE);
+ m_cpu->set_hold(CLEAR_LINE);
}
TIMER_DEVICE_CALLBACK( sgcpu_hblank_interrupt )
@@ -879,7 +879,6 @@ static MACHINE_CONFIG_START( ti99_4p_60hz, ti99_4p )
/* basic machine hardware */
/* TMS9900 CPU @ 3.0 MHz */
MCFG_TMS99xx_ADD("maincpu", TMS9900, 3000000, memmap, cru_map, sgcpu_cpuconf)
- MCFG_MACHINE_START( ti99_4p )
/* video hardware */
// Although we should have a 60 Hz screen rate, we have to set it to 30 here.
diff --git a/src/mess/drivers/ti99_4x.c b/src/mess/drivers/ti99_4x.c
index fde924026cd..a33cf1c2669 100644
--- a/src/mess/drivers/ti99_4x.c
+++ b/src/mess/drivers/ti99_4x.c
@@ -113,7 +113,10 @@ public:
DECLARE_WRITE_LINE_MEMBER(handset_ack);
DECLARE_WRITE_LINE_MEMBER(cs2_motor);
DECLARE_WRITE_LINE_MEMBER(alphaW);
-
+ DECLARE_MACHINE_START(ti99_4);
+ DECLARE_MACHINE_START(ti99_4a);
+ DECLARE_MACHINE_RESET(ti99_4);
+ DECLARE_MACHINE_RESET(ti99_4a);
private:
void set_keyboard_column(int number, int data);
int m_keyboard_column;
@@ -841,34 +844,32 @@ static JOYPORT_CONFIG( joyport4a_50 )
Machine definitions
******************************************************************************/
-MACHINE_START( ti99_4 )
+MACHINE_START_MEMBER(ti99_4x,ti99_4)
{
- ti99_4x *driver = machine.driver_data<ti99_4x>();
- driver->m_cpu = static_cast<tms9900_device*>(machine.device("maincpu"));
- driver->m_tms9901 = static_cast<tms9901_device*>(machine.device(TMS9901_TAG));
+ m_cpu = static_cast<tms9900_device*>(machine().device("maincpu"));
+ m_tms9901 = static_cast<tms9901_device*>(machine().device(TMS9901_TAG));
- driver->m_gromport = static_cast<gromport_device*>(machine.device(GROMPORT_TAG));
+ m_gromport = static_cast<gromport_device*>(machine().device(GROMPORT_TAG));
- driver->m_peribox = static_cast<peribox_device*>(machine.device(PERIBOX_TAG));
- driver->m_datamux = static_cast<ti99_datamux_device*>(machine.device(DATAMUX_TAG));
+ m_peribox = static_cast<peribox_device*>(machine().device(PERIBOX_TAG));
+ m_datamux = static_cast<ti99_datamux_device*>(machine().device(DATAMUX_TAG));
- driver->m_joyport = static_cast<joyport_device*>(machine.device(JOYPORT_TAG));
+ m_joyport = static_cast<joyport_device*>(machine().device(JOYPORT_TAG));
- driver->m_video = static_cast<ti_video_device*>(machine.device(VIDEO_SYSTEM_TAG));
+ m_video = static_cast<ti_video_device*>(machine().device(VIDEO_SYSTEM_TAG));
- driver->m_peribox->senila(CLEAR_LINE);
- driver->m_peribox->senilb(CLEAR_LINE);
- driver->m_firstjoy = 5;
+ m_peribox->senila(CLEAR_LINE);
+ m_peribox->senilb(CLEAR_LINE);
+ m_firstjoy = 5;
- driver->m_ready_line = driver->m_ready_line_dmux = ASSERT_LINE;
+ m_ready_line = m_ready_line_dmux = ASSERT_LINE;
}
-MACHINE_RESET( ti99_4 )
+MACHINE_RESET_MEMBER(ti99_4x,ti99_4)
{
- ti99_4x *driver = machine.driver_data<ti99_4x>();
- driver->m_cpu->set_ready(ASSERT_LINE);
- driver->m_cpu->set_hold(CLEAR_LINE);
+ m_cpu->set_ready(ASSERT_LINE);
+ m_cpu->set_hold(CLEAR_LINE);
}
/*
@@ -878,8 +879,8 @@ static MACHINE_CONFIG_START( ti99_4_60hz, ti99_4x )
/* CPU */
MCFG_TMS99xx_ADD("maincpu", TMS9900, 3000000, memmap, cru_map, ti99_cpuconf)
- MCFG_MACHINE_START( ti99_4 )
- MCFG_MACHINE_RESET( ti99_4 )
+ MCFG_MACHINE_START_OVERRIDE(ti99_4x, ti99_4 )
+ MCFG_MACHINE_RESET_OVERRIDE(ti99_4x, ti99_4 )
MCFG_TI_TMS991x_ADD_NTSC(VIDEO_SYSTEM_TAG, TMS9918, ti99_4_tms9928a_interface)
@@ -919,8 +920,8 @@ static MACHINE_CONFIG_START( ti99_4_50hz, ti99_4x )
/* CPU */
MCFG_TMS99xx_ADD("maincpu", TMS9900, 3000000, memmap, cru_map, ti99_cpuconf)
- MCFG_MACHINE_START( ti99_4 )
- MCFG_MACHINE_RESET( ti99_4 )
+ MCFG_MACHINE_START_OVERRIDE(ti99_4x, ti99_4 )
+ MCFG_MACHINE_RESET_OVERRIDE(ti99_4x, ti99_4 )
/* video hardware */
MCFG_TI_TMS991x_ADD_PAL(VIDEO_SYSTEM_TAG, TMS9929, ti99_4_tms9928a_interface)
@@ -961,39 +962,37 @@ MACHINE_CONFIG_END
TI-99/4A - replaced the 99/4
*/
-MACHINE_START( ti99_4a )
+MACHINE_START_MEMBER(ti99_4x,ti99_4a)
{
- ti99_4x *driver = machine.driver_data<ti99_4x>();
-
- driver->m_cpu = static_cast<tms9900_device*>(machine.device("maincpu"));
- driver->m_tms9901 = static_cast<tms9901_device*>(machine.device(TMS9901_TAG));
-
- driver->m_gromport = static_cast<gromport_device*>(machine.device(GROMPORT_TAG));
- driver->m_peribox = static_cast<peribox_device*>(machine.device(PERIBOX_TAG));
-
- driver->m_datamux = static_cast<ti99_datamux_device*>(machine.device(DATAMUX_TAG));
- driver->m_joyport = static_cast<joyport_device*>(machine.device(JOYPORT_TAG));
- driver->m_video = static_cast<ti_video_device*>(machine.device(VIDEO_SYSTEM_TAG));
- driver->m_firstjoy = 6;
- driver->m_peribox->senila(CLEAR_LINE);
- driver->m_peribox->senilb(CLEAR_LINE);
- driver->m_ready_line = driver->m_ready_line_dmux = ASSERT_LINE;
+ m_cpu = static_cast<tms9900_device*>(machine().device("maincpu"));
+ m_tms9901 = static_cast<tms9901_device*>(machine().device(TMS9901_TAG));
+
+ m_gromport = static_cast<gromport_device*>(machine().device(GROMPORT_TAG));
+ m_peribox = static_cast<peribox_device*>(machine().device(PERIBOX_TAG));
+
+ m_datamux = static_cast<ti99_datamux_device*>(machine().device(DATAMUX_TAG));
+ m_joyport = static_cast<joyport_device*>(machine().device(JOYPORT_TAG));
+ m_video = static_cast<ti_video_device*>(machine().device(VIDEO_SYSTEM_TAG));
+ m_firstjoy = 6;
+
+ m_peribox->senila(CLEAR_LINE);
+ m_peribox->senilb(CLEAR_LINE);
+ m_ready_line = m_ready_line_dmux = ASSERT_LINE;
}
-MACHINE_RESET( ti99_4a )
+MACHINE_RESET_MEMBER(ti99_4x,ti99_4a)
{
- ti99_4x *driver = machine.driver_data<ti99_4x>();
- driver->m_cpu->set_ready(ASSERT_LINE);
- driver->m_cpu->set_hold(CLEAR_LINE);
+ m_cpu->set_ready(ASSERT_LINE);
+ m_cpu->set_hold(CLEAR_LINE);
}
static MACHINE_CONFIG_START( ti99_4a_60hz, ti99_4x )
/* CPU */
MCFG_TMS99xx_ADD("maincpu", TMS9900, 3000000, memmap, cru_map, ti99_cpuconf)
- MCFG_MACHINE_START( ti99_4a )
- MCFG_MACHINE_RESET( ti99_4a )
+ MCFG_MACHINE_START_OVERRIDE(ti99_4x, ti99_4a )
+ MCFG_MACHINE_RESET_OVERRIDE(ti99_4x, ti99_4a )
/* Video hardware */
MCFG_TI_TMS991x_ADD_NTSC(VIDEO_SYSTEM_TAG, TMS9918A, ti99_4_tms9928a_interface)
@@ -1034,8 +1033,8 @@ static MACHINE_CONFIG_START( ti99_4a_50hz, ti99_4x )
/* CPU */
MCFG_TMS99xx_ADD("maincpu", TMS9900, 3000000, memmap, cru_map, ti99_cpuconf)
- MCFG_MACHINE_START( ti99_4a )
- MCFG_MACHINE_RESET( ti99_4a )
+ MCFG_MACHINE_START_OVERRIDE(ti99_4x, ti99_4a )
+ MCFG_MACHINE_RESET_OVERRIDE(ti99_4x, ti99_4a )
/* Video hardware */
MCFG_TI_TMS991x_ADD_PAL(VIDEO_SYSTEM_TAG, TMS9929A, ti99_4_tms9928a_interface)
@@ -1086,7 +1085,7 @@ static MACHINE_CONFIG_START( ti99_4ev_60hz, ti99_4x )
/* CPU */
MCFG_TMS99xx_ADD("maincpu", TMS9900, 3000000, memmap, cru_map, ti99_cpuconf)
- MCFG_MACHINE_START( ti99_4a )
+ MCFG_MACHINE_START_OVERRIDE(ti99_4x, ti99_4a )
/* video hardware */
// Although we should have a 60 Hz screen rate, we have to set it to 30 here.
diff --git a/src/mess/drivers/ti99_8.c b/src/mess/drivers/ti99_8.c
index fc19939445e..bd5d7b2dc4c 100644
--- a/src/mess/drivers/ti99_8.c
+++ b/src/mess/drivers/ti99_8.c
@@ -252,6 +252,8 @@ public:
DECLARE_WRITE8_MEMBER(tms9901_interrupt);
DECLARE_WRITE_LINE_MEMBER( clock_out );
+ virtual void machine_start();
+ virtual void machine_reset();
// Some values to keep
tms9995_device *m_cpu;
@@ -921,27 +923,25 @@ static JOYPORT_CONFIG( joyport8_50 )
50
};
-MACHINE_START( ti99_8 )
+void ti99_8::machine_start()
{
- ti99_8 *driver = machine.driver_data<ti99_8>();
- driver->m_cpu = static_cast<tms9995_device*>(machine.device("maincpu"));
- driver->m_tms9901 = static_cast<tms9901_device*>(machine.device(TMS9901_TAG));
- driver->m_gromport = static_cast<gromport_device*>(machine.device(GROMPORT_TAG));
- driver->m_peribox = static_cast<peribox_device*>(machine.device(PERIBOX_TAG));
- driver->m_mapper = static_cast<ti998_mapper_device*>(machine.device(MAPPER_TAG));
- driver->m_joyport = static_cast<joyport_device*>(machine.device(JOYPORT_TAG));
- driver->m_video = static_cast<ti_video_device*>(machine.device(VIDEO_SYSTEM_TAG));
-
- driver->m_peribox->senila(CLEAR_LINE);
- driver->m_peribox->senilb(CLEAR_LINE);
- driver->m_firstjoy = 14;
+ m_cpu = static_cast<tms9995_device*>(machine().device("maincpu"));
+ m_tms9901 = static_cast<tms9901_device*>(machine().device(TMS9901_TAG));
+ m_gromport = static_cast<gromport_device*>(machine().device(GROMPORT_TAG));
+ m_peribox = static_cast<peribox_device*>(machine().device(PERIBOX_TAG));
+ m_mapper = static_cast<ti998_mapper_device*>(machine().device(MAPPER_TAG));
+ m_joyport = static_cast<joyport_device*>(machine().device(JOYPORT_TAG));
+ m_video = static_cast<ti_video_device*>(machine().device(VIDEO_SYSTEM_TAG));
+
+ m_peribox->senila(CLEAR_LINE);
+ m_peribox->senilb(CLEAR_LINE);
+ m_firstjoy = 14;
}
-MACHINE_RESET( ti99_8 )
+void ti99_8::machine_reset()
{
- ti99_8 *driver = machine.driver_data<ti99_8>();
- driver->m_cpu->set_hold(CLEAR_LINE);
+ m_cpu->set_hold(CLEAR_LINE);
// Pulling down the line on RESET configures the CPU to insert one wait
// state on external memory accesses
@@ -951,10 +951,10 @@ MACHINE_RESET( ti99_8 )
// seems to keep READY low for one cycle when RESET* is
// asserted, but the timings are completely wrong this way
- driver->m_cpu->set_ready(CLEAR_LINE);
+ m_cpu->set_ready(CLEAR_LINE);
// But we assert the line here so that the system starts running
- driver->m_ready_line = driver->m_ready_line1 = ASSERT_LINE;
+ m_ready_line = m_ready_line1 = ASSERT_LINE;
}
static MACHINE_CONFIG_START( ti99_8_60hz, ti99_8 )
@@ -962,8 +962,6 @@ static MACHINE_CONFIG_START( ti99_8_60hz, ti99_8 )
/* TMS9995-MP9537 CPU @ 10.7 MHz */
MCFG_TMS9995_ADD("maincpu", TMS9995, 10738635, memmap, crumap, ti99_8_processor_config)
- MCFG_MACHINE_START( ti99_8 )
- MCFG_MACHINE_RESET( ti99_8 )
/* Video hardware */
MCFG_TI998_ADD_NTSC(VIDEO_SYSTEM_TAG, TMS9118, ti99_8_tms9118a_interface)
@@ -1007,8 +1005,6 @@ static MACHINE_CONFIG_START( ti99_8_50hz, ti99_8 )
/* basic machine hardware */
/* TMS9995-MP9537 CPU @ 10.7 MHz */
MCFG_TMS9995_ADD("maincpu", TMS9995, 10738635, memmap, crumap, ti99_8_processor_config)
- MCFG_MACHINE_START( ti99_8 )
- MCFG_MACHINE_RESET( ti99_8 )
/* Video hardware */
MCFG_TI998_ADD_PAL(VIDEO_SYSTEM_TAG, TMS9129, ti99_8_tms9118a_interface)
diff --git a/src/mess/drivers/tim011.c b/src/mess/drivers/tim011.c
index 4b899f50a23..f107df22cb1 100644
--- a/src/mess/drivers/tim011.c
+++ b/src/mess/drivers/tim011.c
@@ -15,6 +15,8 @@ class tim011_state : public driver_device
public:
tim011_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -35,11 +37,11 @@ static INPUT_PORTS_START( tim011 )
INPUT_PORTS_END
-static MACHINE_RESET(tim011)
+void tim011_state::machine_reset()
{
}
-static VIDEO_START( tim011 )
+void tim011_state::video_start()
{
}
@@ -55,7 +57,6 @@ static MACHINE_CONFIG_START( tim011,tim011_state )
MCFG_CPU_IO_MAP(tim011_io)
MCFG_CPU_VBLANK_INT("screen",irq0_line_hold)
- MCFG_MACHINE_RESET(tim011)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -63,7 +64,6 @@ static MACHINE_CONFIG_START( tim011,tim011_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- MCFG_VIDEO_START(tim011)
MCFG_SCREEN_UPDATE_STATIC(tim011)
MCFG_PALETTE_LENGTH(4)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/timex.c b/src/mess/drivers/timex.c
index 70ee6d2c477..a0a15ceffd6 100644
--- a/src/mess/drivers/timex.c
+++ b/src/mess/drivers/timex.c
@@ -561,14 +561,13 @@ static ADDRESS_MAP_START(ts2068_mem, AS_PROGRAM, 8, spectrum_state )
ADDRESS_MAP_END
-static MACHINE_RESET( ts2068 )
+MACHINE_RESET_MEMBER(spectrum_state,ts2068)
{
- spectrum_state *state = machine.driver_data<spectrum_state>();
- state->m_port_ff_data = 0;
- state->m_port_f4_data = 0;
- ts2068_update_memory(machine);
- MACHINE_RESET_CALL(spectrum);
+ m_port_ff_data = 0;
+ m_port_f4_data = 0;
+ ts2068_update_memory(machine());
+ MACHINE_RESET_CALL_MEMBER(spectrum);
}
@@ -598,16 +597,15 @@ static ADDRESS_MAP_START(tc2048_mem, AS_PROGRAM, 8, spectrum_state )
AM_RANGE( 0x4000, 0xffff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
ADDRESS_MAP_END
-static MACHINE_RESET( tc2048 )
+MACHINE_RESET_MEMBER(spectrum_state,tc2048)
{
- spectrum_state *state = machine.driver_data<spectrum_state>();
- UINT8 *messram = machine.device<ram_device>(RAM_TAG)->pointer();
+ UINT8 *messram = machine().device<ram_device>(RAM_TAG)->pointer();
- state->membank("bank1")->set_base(messram);
- state->membank("bank2")->set_base(messram);
- state->m_port_ff_data = 0;
- state->m_port_f4_data = -1;
- MACHINE_RESET_CALL(spectrum);
+ membank("bank1")->set_base(messram);
+ membank("bank2")->set_base(messram);
+ m_port_ff_data = 0;
+ m_port_f4_data = -1;
+ MACHINE_RESET_CALL_MEMBER(spectrum);
}
@@ -634,7 +632,7 @@ static MACHINE_CONFIG_DERIVED( ts2068, spectrum_128 )
MCFG_CPU_PROGRAM_MAP(ts2068_mem)
MCFG_CPU_IO_MAP(ts2068_io)
- MCFG_MACHINE_RESET( ts2068 )
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, ts2068 )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -645,7 +643,7 @@ static MACHINE_CONFIG_DERIVED( ts2068, spectrum_128 )
MCFG_GFXDECODE(ts2068)
- MCFG_VIDEO_START( ts2068 )
+ MCFG_VIDEO_START_OVERRIDE(spectrum_state, ts2068 )
/* sound */
MCFG_SOUND_REPLACE("ay8912", AY8912, XTAL_14_112MHz/8) /* From Schematic; 1.764 MHz */
@@ -676,7 +674,7 @@ static MACHINE_CONFIG_DERIVED( tc2048, spectrum )
MCFG_CPU_PROGRAM_MAP(tc2048_mem)
MCFG_CPU_IO_MAP(tc2048_io)
- MCFG_MACHINE_RESET( tc2048 )
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, tc2048 )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -685,7 +683,7 @@ static MACHINE_CONFIG_DERIVED( tc2048, spectrum )
MCFG_SCREEN_VISIBLE_AREA(0, TS2068_SCREEN_WIDTH-1, 0, SPEC_SCREEN_HEIGHT-1)
MCFG_SCREEN_UPDATE_STATIC( tc2048 )
- MCFG_VIDEO_START( spectrum_128 )
+ MCFG_VIDEO_START_OVERRIDE(spectrum_state, spectrum_128 )
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
diff --git a/src/mess/drivers/tk80bs.c b/src/mess/drivers/tk80bs.c
index 3e680c47e5d..328f3bd73c3 100644
--- a/src/mess/drivers/tk80bs.c
+++ b/src/mess/drivers/tk80bs.c
@@ -81,6 +81,10 @@ public:
UINT8 m_keyb_press_flag;
UINT8 m_shift_press_flag;
UINT8 m_ppi_portc;
+ DECLARE_MACHINE_RESET(tk80);
+ DECLARE_MACHINE_START(tk80bs);
+ DECLARE_MACHINE_RESET(tk80bs);
+ DECLARE_VIDEO_START(tk80bs);
};
/************************************************* TK80 ******************************************/
@@ -162,7 +166,7 @@ INPUT_PORTS_START( mikrolab )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_O)
INPUT_PORTS_END
-static MACHINE_RESET(tk80)
+MACHINE_RESET_MEMBER(tk80bs_state,tk80)
{
}
@@ -232,7 +236,7 @@ static MACHINE_CONFIG_START( tk80, tk80bs_state )
MCFG_CPU_PROGRAM_MAP(tk80_mem)
MCFG_CPU_IO_MAP(tk80_io)
- MCFG_MACHINE_RESET(tk80)
+ MCFG_MACHINE_RESET_OVERRIDE(tk80bs_state,tk80)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_tk80)
@@ -251,7 +255,7 @@ MACHINE_CONFIG_END
/************************************************* TK80BS ****************************************/
-static VIDEO_START( tk80bs )
+VIDEO_START_MEMBER(tk80bs_state,tk80bs)
{
}
@@ -322,11 +326,11 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( tk80bs )
INPUT_PORTS_END
-static MACHINE_START(tk80bs)
+MACHINE_START_MEMBER(tk80bs_state,tk80bs)
{
}
-static MACHINE_RESET(tk80bs)
+MACHINE_RESET_MEMBER(tk80bs_state,tk80bs)
{
}
@@ -394,8 +398,8 @@ static MACHINE_CONFIG_START( tk80bs, tk80bs_state )
MCFG_CPU_ADD("maincpu",I8080, XTAL_1MHz) //unknown clock
MCFG_CPU_PROGRAM_MAP(tk80bs_mem)
- MCFG_MACHINE_START(tk80bs)
- MCFG_MACHINE_RESET(tk80bs)
+ MCFG_MACHINE_START_OVERRIDE(tk80bs_state,tk80bs)
+ MCFG_MACHINE_RESET_OVERRIDE(tk80bs_state,tk80bs)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -403,7 +407,7 @@ static MACHINE_CONFIG_START( tk80bs, tk80bs_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(256, 128)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 128-1)
- MCFG_VIDEO_START(tk80bs)
+ MCFG_VIDEO_START_OVERRIDE(tk80bs_state,tk80bs)
MCFG_SCREEN_UPDATE_STATIC(tk80bs)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/tm990189.c b/src/mess/drivers/tm990189.c
index f4bba4ad966..7b31adc33da 100644
--- a/src/mess/drivers/tm990189.c
+++ b/src/mess/drivers/tm990189.c
@@ -140,7 +140,10 @@ public:
DECLARE_WRITE_LINE_MEMBER(sys9901_tapewdata_w);
DECLARE_WRITE8_MEMBER( xmit_callback );
-
+ DECLARE_MACHINE_START(tm990_189);
+ DECLARE_MACHINE_RESET(tm990_189);
+ DECLARE_MACHINE_START(tm990_189_v);
+ DECLARE_MACHINE_RESET(tm990_189_v);
private:
void draw_digit(void);
void led_set(int number, bool state);
@@ -156,18 +159,16 @@ static void hold_load(running_machine &machine);
-static MACHINE_RESET( tm990_189 )
+MACHINE_RESET_MEMBER(tm990189,tm990_189)
{
- tm990189 *state = machine.driver_data<tm990189>();
- state->m_tms9980a->set_ready(ASSERT_LINE);
- state->m_tms9980a->set_hold(CLEAR_LINE);
- hold_load(machine);
+ m_tms9980a->set_ready(ASSERT_LINE);
+ m_tms9980a->set_hold(CLEAR_LINE);
+ hold_load(machine());
}
-static MACHINE_START( tm990_189 )
+MACHINE_START_MEMBER(tm990189,tm990_189)
{
- tm990189 *state = machine.driver_data<tm990189>();
- state->m_displayena_timer = machine.scheduler().timer_alloc(FUNC_NULL);
+ m_displayena_timer = machine().scheduler().timer_alloc(FUNC_NULL);
}
static TMS9928A_INTERFACE(tms9918_interface)
@@ -177,24 +178,22 @@ static TMS9928A_INTERFACE(tms9918_interface)
DEVCB_NULL
};
-static MACHINE_START( tm990_189_v )
+MACHINE_START_MEMBER(tm990189,tm990_189_v)
{
- tm990189 *state = machine.driver_data<tm990189>();
- state->m_displayena_timer = machine.scheduler().timer_alloc(FUNC_NULL);
+ m_displayena_timer = machine().scheduler().timer_alloc(FUNC_NULL);
- state->m_joy1x_timer = machine.scheduler().timer_alloc(FUNC_NULL);
- state->m_joy1y_timer = machine.scheduler().timer_alloc(FUNC_NULL);
- state->m_joy2x_timer = machine.scheduler().timer_alloc(FUNC_NULL);
- state->m_joy2y_timer = machine.scheduler().timer_alloc(FUNC_NULL);
+ m_joy1x_timer = machine().scheduler().timer_alloc(FUNC_NULL);
+ m_joy1y_timer = machine().scheduler().timer_alloc(FUNC_NULL);
+ m_joy2x_timer = machine().scheduler().timer_alloc(FUNC_NULL);
+ m_joy2y_timer = machine().scheduler().timer_alloc(FUNC_NULL);
}
-static MACHINE_RESET( tm990_189_v )
+MACHINE_RESET_MEMBER(tm990189,tm990_189_v)
{
- tm990189 *state = machine.driver_data<tm990189>();
- state->m_tms9980a->set_ready(ASSERT_LINE);
- state->m_tms9980a->set_hold(CLEAR_LINE);
- hold_load(machine);
+ m_tms9980a->set_ready(ASSERT_LINE);
+ m_tms9980a->set_hold(CLEAR_LINE);
+ hold_load(machine());
}
/*
@@ -837,8 +836,8 @@ static MACHINE_CONFIG_START( tm990_189, tm990189 )
/* basic machine hardware */
MCFG_TMS99xx_ADD("maincpu", TMS9980A, 2000000, tm990_189_memmap, tm990_189_cru_map, cpuconf)
- MCFG_MACHINE_START( tm990_189 )
- MCFG_MACHINE_RESET( tm990_189 )
+ MCFG_MACHINE_START_OVERRIDE(tm990189, tm990_189 )
+ MCFG_MACHINE_RESET_OVERRIDE(tm990189, tm990_189 )
/* Video hardware */
MCFG_DEFAULT_LAYOUT(layout_tm990189)
@@ -866,8 +865,8 @@ static MACHINE_CONFIG_START( tm990_189_v, tm990189 )
/* basic machine hardware */
MCFG_TMS99xx_ADD("maincpu", TMS9980A, 2000000, tm990_189_v_memmap, tm990_189_cru_map, cpuconf)
- MCFG_MACHINE_START( tm990_189_v )
- MCFG_MACHINE_RESET( tm990_189_v )
+ MCFG_MACHINE_START_OVERRIDE(tm990189, tm990_189_v )
+ MCFG_MACHINE_RESET_OVERRIDE(tm990189, tm990_189_v )
/* video hardware */
MCFG_TMS9928A_ADD( "tms9918", TMS9918, tms9918_interface )
diff --git a/src/mess/drivers/tricep.c b/src/mess/drivers/tricep.c
index ba29b3ea89f..1b733fc754e 100644
--- a/src/mess/drivers/tricep.c
+++ b/src/mess/drivers/tricep.c
@@ -27,6 +27,7 @@ public:
DECLARE_WRITE16_MEMBER(tricep_terminal_w);
DECLARE_WRITE8_MEMBER(kbd_put);
required_shared_ptr<UINT16> m_p_ram;
+ virtual void machine_reset();
};
@@ -53,14 +54,13 @@ static INPUT_PORTS_START( tricep )
INPUT_PORTS_END
-static MACHINE_RESET(tricep)
+void tricep_state::machine_reset()
{
- tricep_state *state = machine.driver_data<tricep_state>();
- UINT8* user1 = state->memregion("user1")->base();
+ UINT8* user1 = memregion("user1")->base();
- memcpy((UINT8*)state->m_p_ram.target(),user1,0x2000);
+ memcpy((UINT8*)m_p_ram.target(),user1,0x2000);
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
WRITE8_MEMBER( tricep_state::kbd_put )
@@ -77,7 +77,6 @@ static MACHINE_CONFIG_START( tricep, tricep_state )
MCFG_CPU_ADD("maincpu",M68000, XTAL_8MHz)
MCFG_CPU_PROGRAM_MAP(tricep_mem)
- MCFG_MACHINE_RESET(tricep)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/trs80.c b/src/mess/drivers/trs80.c
index 1bdbd6eb5a6..11f71b0b424 100644
--- a/src/mess/drivers/trs80.c
+++ b/src/mess/drivers/trs80.c
@@ -581,8 +581,6 @@ static MACHINE_CONFIG_START( trs80, trs80_state ) // the original model I, leve
MCFG_CPU_PROGRAM_MAP(trs80_map)
MCFG_CPU_IO_MAP(trs80_io)
- MCFG_MACHINE_START( trs80 )
- MCFG_MACHINE_RESET( trs80 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -596,7 +594,6 @@ static MACHINE_CONFIG_START( trs80, trs80_state ) // the original model I, leve
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
- MCFG_VIDEO_START( trs80 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -630,7 +627,7 @@ static MACHINE_CONFIG_DERIVED( model3, model1 )
MCFG_CPU_IO_MAP( model3_io)
MCFG_CPU_PERIODIC_INT(trs80_rtc_interrupt, 30)
- MCFG_MACHINE_RESET( trs80m4 )
+ MCFG_MACHINE_RESET_OVERRIDE(trs80_state, trs80m4 )
MCFG_GFXDECODE(trs80m4)
MCFG_SCREEN_MODIFY("screen")
@@ -664,11 +661,11 @@ static MACHINE_CONFIG_DERIVED( lnw80, model1 )
MCFG_CPU_MODIFY( "maincpu" )
MCFG_CPU_PROGRAM_MAP( lnw80_map)
MCFG_CPU_IO_MAP( lnw80_io)
- MCFG_MACHINE_RESET( lnw80 )
+ MCFG_MACHINE_RESET_OVERRIDE(trs80_state, lnw80 )
MCFG_GFXDECODE(lnw80)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(lnw80)
+ MCFG_PALETTE_INIT_OVERRIDE(trs80_state,lnw80)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(80*6, 16*12)
MCFG_SCREEN_VISIBLE_AREA(0,80*6-1,0,16*12-1)
diff --git a/src/mess/drivers/tutor.c b/src/mess/drivers/tutor.c
index 331f02a45d1..b4239dafc27 100644
--- a/src/mess/drivers/tutor.c
+++ b/src/mess/drivers/tutor.c
@@ -204,6 +204,8 @@ public:
char m_printer_strobe;
DECLARE_DRIVER_INIT(tutor);
DECLARE_DRIVER_INIT(pyuuta);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -246,19 +248,18 @@ static TMS9928A_INTERFACE(tutor_tms9928a_interface)
DEVCB_NULL
};
-static MACHINE_START(tutor)
+void tutor_state::machine_start()
{
}
-static MACHINE_RESET(tutor)
+void tutor_state::machine_reset()
{
- tutor_state *state = machine.driver_data<tutor_state>();
- state->m_cartridge_enable = 0;
+ m_cartridge_enable = 0;
- state->m_tape_interrupt_enable = 0;
+ m_tape_interrupt_enable = 0;
- state->m_printer_data = 0;
- state->m_printer_strobe = 0;
+ m_printer_data = 0;
+ m_printer_strobe = 0;
}
/*
@@ -759,8 +760,6 @@ static MACHINE_CONFIG_START( tutor, tutor_state )
MCFG_CPU_PROGRAM_MAP(tutor_memmap)
MCFG_CPU_IO_MAP(tutor_io)
- MCFG_MACHINE_START( tutor )
- MCFG_MACHINE_RESET( tutor )
/* video hardware */
MCFG_TMS9928A_ADD( "tms9928a", TMS9928A, tutor_tms9928a_interface )
diff --git a/src/mess/drivers/tvc.c b/src/mess/drivers/tvc.c
index 17711721e2b..d408f9e88d0 100644
--- a/src/mess/drivers/tvc.c
+++ b/src/mess/drivers/tvc.c
@@ -573,7 +573,7 @@ static MC6845_UPDATE_ROW( tvc_update_row )
}
}
-static PALETTE_INIT( tvc )
+void tvc_state::palette_init()
{
const static unsigned char tvc_palette[16][3] =
{
@@ -597,7 +597,7 @@ static PALETTE_INIT( tvc )
int i;
for(i = 0; i < 16; i++)
- palette_set_color_rgb(machine, i, tvc_palette[i][0], tvc_palette[i][1], tvc_palette[i][2]);
+ palette_set_color_rgb(machine(), i, tvc_palette[i][0], tvc_palette[i][1], tvc_palette[i][2]);
}
WRITE_LINE_MEMBER(tvc_state::tvc_int_ff_set)
@@ -694,7 +694,6 @@ static MACHINE_CONFIG_START( tvc, tvc_state )
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
MCFG_PALETTE_LENGTH( 16 )
- MCFG_PALETTE_INIT(tvc)
MCFG_MC6845_ADD("crtc", MC6845, 3125000/2, tvc_crtc6845_interface) // clk taken from schematics
diff --git a/src/mess/drivers/tx0.c b/src/mess/drivers/tx0.c
index 50a4b5708e0..44fbf1be6dc 100644
--- a/src/mess/drivers/tx0.c
+++ b/src/mess/drivers/tx0.c
@@ -226,7 +226,7 @@ static GFXDECODE_START( tx0 )
GFXDECODE_END
/* Initialise the palette */
-static PALETTE_INIT( tx0 )
+void tx0_state::palette_init()
{
/* rgb components for the two color emissions */
const double r1 = .1, g1 = .1, b1 = .924, r2 = .7, g2 = .7, b2 = .076;
@@ -244,7 +244,7 @@ static PALETTE_INIT( tx0 )
#endif
UINT8 i, r, g, b;
- machine.colortable = colortable_alloc(machine, total_colors_needed);
+ machine().colortable = colortable_alloc(machine(), total_colors_needed);
/* initialize CRT palette */
@@ -261,7 +261,7 @@ static PALETTE_INIT( tx0 )
g = (int) ((g1*cur_level_1 + g2*cur_level_2) + .5);
b = (int) ((b1*cur_level_1 + b2*cur_level_2) + .5);
/* write color in palette */
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB(r, g, b));
/* apply decay for next iteration */
cur_level_1 *= decay_1;
cur_level_2 *= decay_2;
@@ -281,22 +281,22 @@ static PALETTE_INIT( tx0 )
mame_printf_debug("File %s line %d: Please take higher value for pen_crt_num_levels or smaller value for decay\n", __FILE__, __LINE__);*/
#endif
#endif
- colortable_palette_set_color(machine.colortable, 0, MAKE_RGB(0, 0, 0));
+ colortable_palette_set_color(machine().colortable, 0, MAKE_RGB(0, 0, 0));
/* load static palette */
for ( i = 0; i < 6; i++ )
{
r = tx0_colors[i*3]; g = tx0_colors[i*3+1]; b = tx0_colors[i*3+2];
- colortable_palette_set_color(machine.colortable, pen_crt_num_levels + i, MAKE_RGB(r, g, b));
+ colortable_palette_set_color(machine().colortable, pen_crt_num_levels + i, MAKE_RGB(r, g, b));
}
/* copy colortable to palette */
for( i = 0; i < total_colors_needed; i++ )
- colortable_entry_set_value(machine.colortable, i, i);
+ colortable_entry_set_value(machine().colortable, i, i);
/* set up palette for text */
for( i = 0; i < 6; i++ )
- colortable_entry_set_value(machine.colortable, total_colors_needed + i, tx0_palette[i]);
+ colortable_entry_set_value(machine().colortable, total_colors_needed + i, tx0_palette[i]);
}
static void tx0_io_cpy(device_t *device);
@@ -365,11 +365,10 @@ enum
};
-static MACHINE_RESET( tx0 )
+void tx0_state::machine_reset()
{
- tx0_state *state = machine.driver_data<tx0_state>();
/* reset device state */
- state->m_tape_reader.rcl = state->m_tape_reader.rc = 0;
+ m_tape_reader.rcl = m_tape_reader.rc = 0;
}
@@ -382,15 +381,14 @@ static void tx0_machine_stop(running_machine &machine)
}
-static MACHINE_START( tx0 )
+void tx0_state::machine_start()
{
- tx0_state *state = machine.driver_data<tx0_state>();
- state->m_tape_reader.timer = machine.scheduler().timer_alloc(FUNC(reader_callback));
- state->m_tape_puncher.timer = machine.scheduler().timer_alloc(FUNC(puncher_callback));
- state->m_typewriter.prt_timer = machine.scheduler().timer_alloc(FUNC(prt_callback));
- state->m_dis_timer = machine.scheduler().timer_alloc(FUNC(dis_callback));
+ m_tape_reader.timer = machine().scheduler().timer_alloc(FUNC(reader_callback));
+ m_tape_puncher.timer = machine().scheduler().timer_alloc(FUNC(puncher_callback));
+ m_typewriter.prt_timer = machine().scheduler().timer_alloc(FUNC(prt_callback));
+ m_dis_timer = machine().scheduler().timer_alloc(FUNC(dis_callback));
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(tx0_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(tx0_machine_stop),&machine()));
}
@@ -1610,8 +1608,6 @@ static MACHINE_CONFIG_START( tx0_64kw, tx0_state )
/* dummy interrupt: handles input */
MCFG_CPU_VBLANK_INT("screen", tx0_interrupt)
- MCFG_MACHINE_START( tx0 )
- MCFG_MACHINE_RESET( tx0 )
/* video hardware (includes the control panel and typewriter output) */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1631,8 +1627,6 @@ static MACHINE_CONFIG_START( tx0_64kw, tx0_state )
MCFG_GFXDECODE(tx0)
MCFG_PALETTE_LENGTH(pen_crt_num_levels + sizeof(tx0_colors) / 3 + sizeof(tx0_palette))
- MCFG_PALETTE_INIT(tx0)
- MCFG_VIDEO_START(tx0)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( tx0_8kw, tx0_64kw )
diff --git a/src/mess/drivers/uknc.c b/src/mess/drivers/uknc.c
index 4ab9da5602d..6681aef8981 100644
--- a/src/mess/drivers/uknc.c
+++ b/src/mess/drivers/uknc.c
@@ -16,6 +16,8 @@ public:
uknc_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -36,11 +38,11 @@ static INPUT_PORTS_START( uknc )
INPUT_PORTS_END
-static MACHINE_RESET(uknc)
+void uknc_state::machine_reset()
{
}
-static VIDEO_START( uknc )
+void uknc_state::video_start()
{
}
@@ -65,7 +67,6 @@ static MACHINE_CONFIG_START( uknc, uknc_state )
MCFG_CPU_CONFIG(t11_data)
MCFG_CPU_PROGRAM_MAP(uknc_sub_mem)
- MCFG_MACHINE_RESET(uknc)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -73,7 +74,6 @@ static MACHINE_CONFIG_START( uknc, uknc_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(uknc)
MCFG_SCREEN_UPDATE_STATIC(uknc)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/unior.c b/src/mess/drivers/unior.c
index 65ca0e5999b..6617f46e1cd 100644
--- a/src/mess/drivers/unior.c
+++ b/src/mess/drivers/unior.c
@@ -56,6 +56,8 @@ public:
UINT8 m_4c;
UINT8 m_cursor_col;
UINT8 m_cursor_row;
+ virtual void machine_reset();
+ virtual void video_start();
};
READ8_MEMBER( unior_state::unior_4c_r )
@@ -236,16 +238,15 @@ static INPUT_PORTS_START( unior )
INPUT_PORTS_END
-static MACHINE_RESET(unior)
+void unior_state::machine_reset()
{
- machine.device("maincpu")->state().set_state_int(I8085_PC, 0xF800);
+ machine().device("maincpu")->state().set_state_int(I8085_PC, 0xF800);
}
-static VIDEO_START( unior )
+void unior_state::video_start()
{
- unior_state *state = machine.driver_data<unior_state>();
- state->m_p_chargen = machine.root_device().memregion("chargen")->base();
- state->m_p_vram = state->memregion("vram")->base();
+ m_p_chargen = machine().root_device().memregion("chargen")->base();
+ m_p_vram = memregion("vram")->base();
}
static SCREEN_UPDATE_IND16( unior )
@@ -318,7 +319,6 @@ static MACHINE_CONFIG_START( unior, unior_state )
MCFG_CPU_PROGRAM_MAP(unior_mem)
MCFG_CPU_IO_MAP(unior_io)
- MCFG_MACHINE_RESET(unior)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -326,7 +326,6 @@ static MACHINE_CONFIG_START( unior, unior_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
- MCFG_VIDEO_START(unior)
MCFG_SCREEN_UPDATE_STATIC(unior)
MCFG_GFXDECODE(unior)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/unistar.c b/src/mess/drivers/unistar.c
index 4745505e8d5..9d29f32efac 100644
--- a/src/mess/drivers/unistar.c
+++ b/src/mess/drivers/unistar.c
@@ -16,6 +16,8 @@ public:
unistar_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -35,11 +37,11 @@ static INPUT_PORTS_START( unistar )
INPUT_PORTS_END
-static MACHINE_RESET( unistar )
+void unistar_state::machine_reset()
{
}
-static VIDEO_START( unistar )
+void unistar_state::video_start()
{
}
@@ -72,7 +74,6 @@ static MACHINE_CONFIG_START( unistar, unistar_state )
MCFG_CPU_PROGRAM_MAP(unistar_mem)
MCFG_CPU_IO_MAP(unistar_io)
- MCFG_MACHINE_RESET(unistar)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -80,7 +81,6 @@ static MACHINE_CONFIG_START( unistar, unistar_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(unistar)
MCFG_SCREEN_UPDATE_STATIC(unistar)
MCFG_GFXDECODE(unistar)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/ut88.c b/src/mess/drivers/ut88.c
index 564e78de524..4efcdc72aa2 100644
--- a/src/mess/drivers/ut88.c
+++ b/src/mess/drivers/ut88.c
@@ -188,7 +188,7 @@ static MACHINE_CONFIG_START( ut88, ut88_state )
MCFG_CPU_ADD("maincpu", I8080, 2000000)
MCFG_CPU_PROGRAM_MAP(ut88_mem)
MCFG_CPU_IO_MAP(ut88_io)
- MCFG_MACHINE_RESET( ut88 )
+ MCFG_MACHINE_RESET_OVERRIDE(ut88_state, ut88 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -196,7 +196,7 @@ static MACHINE_CONFIG_START( ut88, ut88_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(64*8, 28*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 28*8-1)
- MCFG_VIDEO_START(ut88)
+ MCFG_VIDEO_START_OVERRIDE(ut88_state,ut88)
MCFG_SCREEN_UPDATE_STATIC(ut88)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
@@ -219,8 +219,8 @@ static MACHINE_CONFIG_START( ut88mini, ut88_state )
MCFG_CPU_ADD("maincpu", I8080, 2000000)
MCFG_CPU_PROGRAM_MAP(ut88mini_mem)
MCFG_CPU_IO_MAP(ut88mini_io)
- MCFG_MACHINE_START(ut88mini)
- MCFG_MACHINE_RESET( ut88mini )
+ MCFG_MACHINE_START_OVERRIDE(ut88_state,ut88mini)
+ MCFG_MACHINE_RESET_OVERRIDE(ut88_state, ut88mini )
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_ut88mini)
diff --git a/src/mess/drivers/uzebox.c b/src/mess/drivers/uzebox.c
index f06460eccbc..7d3117b3efa 100644
--- a/src/mess/drivers/uzebox.c
+++ b/src/mess/drivers/uzebox.c
@@ -17,6 +17,7 @@ public:
{
}
DECLARE_DRIVER_INIT(uzebox);
+ virtual void machine_reset();
};
/****************************************************\
* Address maps *
@@ -55,7 +56,7 @@ DRIVER_INIT_MEMBER(uzebox_state,uzebox)
{
}
-static MACHINE_RESET( uzebox )
+void uzebox_state::machine_reset()
{
}
@@ -66,7 +67,6 @@ static MACHINE_CONFIG_START( uzebox, uzebox_state )
MCFG_CPU_PROGRAM_MAP(uzebox_prg_map)
MCFG_CPU_IO_MAP(uzebox_io_map)
- MCFG_MACHINE_RESET(uzebox)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/v6809.c b/src/mess/drivers/v6809.c
index 3aa1fd9a96e..e3587738636 100644
--- a/src/mess/drivers/v6809.c
+++ b/src/mess/drivers/v6809.c
@@ -79,6 +79,8 @@ public:
UINT8 m_video_index;
UINT8 m_term_data;
UINT8 m_vidbyte;
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -167,11 +169,10 @@ MC6845_ON_UPDATE_ADDR_CHANGED( v6809_update_addr )
state->m_video_address = address & 0x7ff;
}
-static VIDEO_START( v6809 )
+void v6809_state::video_start()
{
- v6809_state *state = machine.driver_data<v6809_state>();
- state->m_p_chargen = machine.root_device().memregion("chargen")->base();
- state->m_p_videoram = state->memregion("videoram")->base();
+ m_p_chargen = machine().root_device().memregion("chargen")->base();
+ m_p_videoram = memregion("videoram")->base();
}
static const mc6845_interface v6809_crtc = {
@@ -242,7 +243,7 @@ static ASCII_KEYBOARD_INTERFACE( keyboard_intf )
// *** Machine ****
-static MACHINE_RESET(v6809)
+void v6809_state::machine_reset()
{
}
@@ -252,7 +253,6 @@ static MACHINE_CONFIG_START( v6809, v6809_state )
MCFG_CPU_PROGRAM_MAP(v6809_mem)
MCFG_CPU_IO_MAP(v6809_io)
- MCFG_MACHINE_RESET(v6809)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -261,7 +261,6 @@ static MACHINE_CONFIG_START( v6809, v6809_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DEVICE("crtc", sy6545_1_device, screen_update)
- MCFG_VIDEO_START(v6809)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
MCFG_GFXDECODE(v6809)
diff --git a/src/mess/drivers/vboy.c b/src/mess/drivers/vboy.c
index 25d00517705..2e99a9c2926 100644
--- a/src/mess/drivers/vboy.c
+++ b/src/mess/drivers/vboy.c
@@ -147,30 +147,33 @@ public:
UINT16 x_mask, UINT16 y_mask, UINT8 ovr, bool right);
UINT8 display_world(int num, bitmap_ind16 &bitmap, bool right, int &cur_spt);
void m_set_brightness(void);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
-static VIDEO_START( vboy )
+void vboy_state::video_start()
{
- vboy_state *state = machine.driver_data<vboy_state>();
//int i;
// Allocate memory for temporary screens
- state->m_bg_map = auto_alloc_array_clear(machine, int, 0x1000*0x1000);
- state->m_ovr_map = auto_alloc_array_clear(machine, int, 8*8);
+ m_bg_map = auto_alloc_array_clear(machine(), int, 0x1000*0x1000);
+ m_ovr_map = auto_alloc_array_clear(machine(), int, 8*8);
// Allocate memory for framebuffers
- state->m_l_frame_0 = auto_alloc_array_clear(machine, UINT8, 0x6000);
- state->m_l_frame_1 = auto_alloc_array_clear(machine, UINT8, 0x6000);
- state->m_r_frame_0 = auto_alloc_array_clear(machine, UINT8, 0x6000);
- state->m_r_frame_1 = auto_alloc_array_clear(machine, UINT8, 0x6000);
-
- state->m_font = auto_alloc_array_clear(machine, UINT16, 2048 * 8);
- state->m_bgmap = auto_alloc_array(machine, UINT16, 0x20000 >> 1);
- state->m_objects = state->m_bgmap + (0x1e000 >> 1);
- state->m_columntab1 = state->m_bgmap + (0x1dc00 >> 1);
- state->m_columntab2 = state->m_bgmap + (0x1de00 >> 1);
- state->m_world = state->m_bgmap + (0x1d800 >> 1);
+ m_l_frame_0 = auto_alloc_array_clear(machine(), UINT8, 0x6000);
+ m_l_frame_1 = auto_alloc_array_clear(machine(), UINT8, 0x6000);
+ m_r_frame_0 = auto_alloc_array_clear(machine(), UINT8, 0x6000);
+ m_r_frame_1 = auto_alloc_array_clear(machine(), UINT8, 0x6000);
+
+ m_font = auto_alloc_array_clear(machine(), UINT16, 2048 * 8);
+ m_bgmap = auto_alloc_array(machine(), UINT16, 0x20000 >> 1);
+ m_objects = m_bgmap + (0x1e000 >> 1);
+ m_columntab1 = m_bgmap + (0x1dc00 >> 1);
+ m_columntab2 = m_bgmap + (0x1de00 >> 1);
+ m_world = m_bgmap + (0x1d800 >> 1);
}
void vboy_state::put_obj(bitmap_ind16 &bitmap, int x, int y, UINT16 code, bool flipx, bool flipy, UINT8 pal)
@@ -1151,38 +1154,36 @@ static void vboy_machine_stop(running_machine &machine)
}
}
-static MACHINE_START( vboy )
+void vboy_state::machine_start()
{
-// vboy_state *state = machine.driver_data<vboy_state>();
/* add a hook for battery save */
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(vboy_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(vboy_machine_stop),&machine()));
-// state->m_vboy_sram = auto_alloc_array(machine, UINT32, 0x10000/4);
+// m_vboy_sram = auto_alloc_array(machine(), UINT32, 0x10000/4);
}
-static MACHINE_RESET(vboy)
+void vboy_state::machine_reset()
{
- vboy_state *state = machine.driver_data<vboy_state>();
/* Initial values taken from Reality Boy, to be verified when emulation improves */
- state->m_vboy_regs.lpc = 0x6d;
- state->m_vboy_regs.lpc2 = 0xff;
- state->m_vboy_regs.lpt = 0x00;
- state->m_vboy_regs.lpr = 0x00;
- state->m_vboy_regs.klb = 0x00;
- state->m_vboy_regs.khb = 0x00;
- state->m_vboy_regs.tlb = 0xff;
- state->m_vboy_regs.thb = 0xff;
- state->m_vboy_regs.tcr = 0xe4;
- state->m_vboy_regs.wcr = 0xfc;
- state->m_vboy_regs.kcr = 0x4c;
- state->m_vip_regs.DPCTRL = 2; // ssquash relies on this at boot otherwise no frame_start irq is fired
- state->m_displayfb = 0;
- state->m_drawfb = 0;
-
- state->m_vboy_timer.count = 0;
- state->m_maintimer->adjust(attotime::never);
+ m_vboy_regs.lpc = 0x6d;
+ m_vboy_regs.lpc2 = 0xff;
+ m_vboy_regs.lpt = 0x00;
+ m_vboy_regs.lpr = 0x00;
+ m_vboy_regs.klb = 0x00;
+ m_vboy_regs.khb = 0x00;
+ m_vboy_regs.tlb = 0xff;
+ m_vboy_regs.thb = 0xff;
+ m_vboy_regs.tcr = 0xe4;
+ m_vboy_regs.wcr = 0xfc;
+ m_vboy_regs.kcr = 0x4c;
+ m_vip_regs.DPCTRL = 2; // ssquash relies on this at boot otherwise no frame_start irq is fired
+ m_displayfb = 0;
+ m_drawfb = 0;
+
+ m_vboy_timer.count = 0;
+ m_maintimer->adjust(attotime::never);
}
@@ -1230,12 +1231,12 @@ static TIMER_DEVICE_CALLBACK( timer_pad_tick )
state->m_maincpu->set_input_line(0, HOLD_LINE);
}
-static PALETTE_INIT( vboy )
+void vboy_state::palette_init()
{
- palette_set_color(machine, 0, RGB_BLACK);
- palette_set_color(machine, 1, RGB_BLACK);
- 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_BLACK);
+ palette_set_color(machine(), 2, RGB_BLACK);
+ palette_set_color(machine(), 3, RGB_BLACK);
}
void vboy_state::m_set_irq(UINT16 irq_vector)
@@ -1431,8 +1432,6 @@ static MACHINE_CONFIG_START( vboy, vboy_state )
MCFG_TIMER_ADD_SCANLINE("scantimer_l", vboy_scanlineL, "3dleft", 0, 1)
//MCFG_TIMER_ADD_SCANLINE("scantimer_r", vboy_scanlineR, "3dright", 0, 1)
- MCFG_MACHINE_START(vboy)
- MCFG_MACHINE_RESET(vboy)
// programmable timer
MCFG_TIMER_ADD("timer_main", timer_main_tick)
@@ -1442,9 +1441,7 @@ static MACHINE_CONFIG_START( vboy, vboy_state )
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_vboy)
- MCFG_VIDEO_START(vboy)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(vboy)
/* Left screen */
MCFG_SCREEN_ADD("3dleft", RASTER)
diff --git a/src/mess/drivers/vc4000.c b/src/mess/drivers/vc4000.c
index 9d93e843666..c54c92e766f 100644
--- a/src/mess/drivers/vc4000.c
+++ b/src/mess/drivers/vc4000.c
@@ -330,9 +330,9 @@ static const rgb_t vc4000_palette[] =
We can do that in the code with ^7 */
};
-static PALETTE_INIT( vc4000 )
+void vc4000_state::palette_init()
{
- palette_set_colors(machine, 0, vc4000_palette, ARRAY_LENGTH(vc4000_palette));
+ palette_set_colors(machine(), 0, vc4000_palette, ARRAY_LENGTH(vc4000_palette));
}
static DEVICE_IMAGE_LOAD( vc4000_cart )
@@ -402,9 +402,7 @@ static MACHINE_CONFIG_START( vc4000, vc4000_state )
MCFG_SCREEN_UPDATE_STATIC( vc4000 )
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT( vc4000 )
- MCFG_VIDEO_START( vc4000 )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/vector06.c b/src/mess/drivers/vector06.c
index 9fdfb1bde47..d6a61852211 100644
--- a/src/mess/drivers/vector06.c
+++ b/src/mess/drivers/vector06.c
@@ -165,8 +165,6 @@ static MACHINE_CONFIG_START( vector06, vector06_state )
MCFG_CPU_IO_MAP(vector06_io)
MCFG_CPU_VBLANK_INT("screen", vector06_interrupt)
- MCFG_MACHINE_START( vector06 )
- MCFG_MACHINE_RESET( vector06 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -175,9 +173,7 @@ static MACHINE_CONFIG_START( vector06, vector06_state )
MCFG_SCREEN_SIZE(256+64, 256+64)
MCFG_SCREEN_VISIBLE_AREA(0, 256+64-1, 0, 256+64-1)
MCFG_SCREEN_UPDATE_STATIC(vector06)
- MCFG_VIDEO_START(vector06)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(vector06)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_WAVE_ADD(WAVE_TAG, CASSETTE_TAG)
diff --git a/src/mess/drivers/vector4.c b/src/mess/drivers/vector4.c
index b310edfebf9..a11a4654162 100644
--- a/src/mess/drivers/vector4.c
+++ b/src/mess/drivers/vector4.c
@@ -27,6 +27,7 @@ public:
DECLARE_WRITE8_MEMBER(vector4_02_w);
DECLARE_WRITE8_MEMBER(kbd_put);
UINT8 m_term_data;
+ virtual void machine_reset();
};
@@ -70,11 +71,10 @@ static INPUT_PORTS_START( vector4 )
INPUT_PORTS_END
-static MACHINE_RESET(vector4)
+void vector4_state::machine_reset()
{
- vector4_state *state = machine.driver_data<vector4_state>();
- state->m_term_data = 0;
- machine.device("maincpu")->state().set_state_int(Z80_PC, 0xe000);
+ m_term_data = 0;
+ machine().device("maincpu")->state().set_state_int(Z80_PC, 0xe000);
}
WRITE8_MEMBER( vector4_state::kbd_put )
@@ -94,7 +94,6 @@ static MACHINE_CONFIG_START( vector4, vector4_state )
MCFG_CPU_PROGRAM_MAP(vector4_mem)
MCFG_CPU_IO_MAP(vector4_io)
- MCFG_MACHINE_RESET(vector4)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/vii.c b/src/mess/drivers/vii.c
index cf55c6c0a3f..04fc81554aa 100644
--- a/src/mess/drivers/vii.c
+++ b/src/mess/drivers/vii.c
@@ -136,6 +136,9 @@ public:
DECLARE_DRIVER_INIT(walle);
DECLARE_DRIVER_INIT(vii);
DECLARE_DRIVER_INIT(batman);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
enum
@@ -178,7 +181,7 @@ INLINE void verboselog(running_machine &machine, int n_level, const char *s_fmt,
* Video Hardware *
*************************/
-static VIDEO_START( vii )
+void vii_state::video_start()
{
}
@@ -987,35 +990,34 @@ static TIMER_CALLBACK( tmb2_tick )
state->m_io_regs[0x22] |= 2;
}
-static MACHINE_START( vii )
+void vii_state::machine_start()
{
- vii_state *state = machine.driver_data<vii_state>();
- memset(state->m_video_regs, 0, 0x100 * sizeof(UINT16));
- memset(state->m_io_regs, 0, 0x100 * sizeof(UINT16));
- state->m_current_bank = 0;
+ memset(m_video_regs, 0, 0x100 * sizeof(UINT16));
+ memset(m_io_regs, 0, 0x100 * sizeof(UINT16));
+ m_current_bank = 0;
- state->m_controller_input[0] = 0;
- state->m_controller_input[4] = 0;
- state->m_controller_input[6] = 0xff;
- state->m_controller_input[7] = 0;
+ m_controller_input[0] = 0;
+ m_controller_input[4] = 0;
+ m_controller_input[6] = 0xff;
+ m_controller_input[7] = 0;
- UINT8 *rom = state->memregion( "cart" )->base();
+ UINT8 *rom = memregion( "cart" )->base();
if (rom)
{ // to prevent batman crash
- memcpy(state->m_p_cart, rom + 0x4000*2, (0x400000 - 0x4000) * 2);
+ memcpy(m_p_cart, rom + 0x4000*2, (0x400000 - 0x4000) * 2);
}
- state->m_video_regs[0x36] = 0xffff;
- state->m_video_regs[0x37] = 0xffff;
+ m_video_regs[0x36] = 0xffff;
+ m_video_regs[0x37] = 0xffff;
- state->m_tmb1 = machine.scheduler().timer_alloc(FUNC(tmb1_tick));
- state->m_tmb2 = machine.scheduler().timer_alloc(FUNC(tmb2_tick));
- state->m_tmb1->reset();
- state->m_tmb2->reset();
+ m_tmb1 = machine().scheduler().timer_alloc(FUNC(tmb1_tick));
+ m_tmb2 = machine().scheduler().timer_alloc(FUNC(tmb2_tick));
+ m_tmb1->reset();
+ m_tmb2->reset();
}
-static MACHINE_RESET( vii )
+void vii_state::machine_reset()
{
}
@@ -1094,14 +1096,11 @@ static MACHINE_CONFIG_START( vii, vii_state )
MCFG_CPU_PROGRAM_MAP( vii_mem )
MCFG_CPU_VBLANK_INT("screen", vii_vblank)
- MCFG_MACHINE_START( vii )
- MCFG_MACHINE_RESET( vii )
MCFG_SCREEN_ADD( "screen", RASTER )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
- MCFG_VIDEO_START( vii )
MCFG_SCREEN_UPDATE_STATIC( vii )
MCFG_PALETTE_LENGTH(32768)
@@ -1119,14 +1118,11 @@ static MACHINE_CONFIG_START( vsmile, vii_state )
MCFG_CPU_PROGRAM_MAP( vii_mem )
MCFG_CPU_VBLANK_INT("screen", vii_vblank)
- MCFG_MACHINE_START( vii )
- MCFG_MACHINE_RESET( vii )
MCFG_SCREEN_ADD( "screen", RASTER )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
- MCFG_VIDEO_START( vii )
MCFG_SCREEN_UPDATE_STATIC( vii )
MCFG_PALETTE_LENGTH(32768)
@@ -1147,8 +1143,6 @@ static MACHINE_CONFIG_START( batman, vii_state )
MCFG_CPU_PROGRAM_MAP( vii_mem )
MCFG_CPU_VBLANK_INT("screen", vii_vblank)
- MCFG_MACHINE_START( vii )
- MCFG_MACHINE_RESET( vii )
MCFG_I2CMEM_ADD("i2cmem",i2cmem_interface)
@@ -1156,7 +1150,6 @@ static MACHINE_CONFIG_START( batman, vii_state )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
- MCFG_VIDEO_START( vii )
MCFG_SCREEN_UPDATE_STATIC( vii )
MCFG_PALETTE_LENGTH(32768)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/vk100.c b/src/mess/drivers/vk100.c
index b528ee3bef0..80416b6ed46 100644
--- a/src/mess/drivers/vk100.c
+++ b/src/mess/drivers/vk100.c
@@ -190,6 +190,8 @@ public:
DECLARE_READ8_MEMBER(SYSTAT_A);
DECLARE_READ8_MEMBER(SYSTAT_B);
DECLARE_DRIVER_INIT(vk100);
+ virtual void machine_reset();
+ virtual void video_start();
};
// vram access functions:
@@ -840,10 +842,9 @@ static INPUT_PORTS_START( vk100 )
INPUT_PORTS_END
-static MACHINE_RESET( vk100 )
+void vk100_state::machine_reset()
{
- vk100_state *state = machine.driver_data<vk100_state>();
- beep_set_frequency( state->m_speaker, 116 ); //116 hz (page 172 of TM), but duty cycle is wrong here!
+ beep_set_frequency( m_speaker, 116 ); //116 hz (page 172 of TM), but duty cycle is wrong here!
output_set_value("online_led",1);
output_set_value("local_led", 0);
output_set_value("noscroll_led",1);
@@ -851,25 +852,25 @@ static MACHINE_RESET( vk100 )
output_set_value("hardcopy_led", 1);
output_set_value("l1_led", 1);
output_set_value("l2_led", 1);
- state->m_vsync = 0;
- state->m_vgX = 0;
- state->m_vgY = 0;
- state->m_vgERR = 0;
- state->m_vgSOPS = 0;
- state->m_vgPAT = 0;
- state->m_vgPAT_Mask = 0x80;
- state->m_vgPMUL = 0;
- state->m_vgPMUL_Count = 0;
- state->m_vgDownCount = 0;
- state->VG_DU = 0;
- state->VG_DVM = 0;
- state->VG_DIR = 0;
- state->VG_WOPS = 0;
- state->m_VG_MODE = 0;
- state->m_vgGO = 0;
- state->m_ACTS = 1;
- state->m_RXDivisor = 6336;
- state->m_TXDivisor = 6336;
+ m_vsync = 0;
+ m_vgX = 0;
+ m_vgY = 0;
+ m_vgERR = 0;
+ m_vgSOPS = 0;
+ m_vgPAT = 0;
+ m_vgPAT_Mask = 0x80;
+ m_vgPMUL = 0;
+ m_vgPMUL_Count = 0;
+ m_vgDownCount = 0;
+ VG_DU = 0;
+ VG_DVM = 0;
+ VG_DIR = 0;
+ VG_WOPS = 0;
+ m_VG_MODE = 0;
+ m_vgGO = 0;
+ m_ACTS = 1;
+ m_RXDivisor = 6336;
+ m_TXDivisor = 6336;
}
static WRITE_LINE_DEVICE_HANDLER(crtc_vsync)
@@ -908,13 +909,12 @@ DRIVER_INIT_MEMBER(vk100_state,vk100)
//machine().scheduler().timer_set(attotime::from_hz(10000), FUNC(i8251_rx_clk));
}
-static VIDEO_START( vk100 )
+void vk100_state::video_start()
{
- vk100_state *state = machine.driver_data<vk100_state>();
- state->m_vram = state->memregion("vram")->base();
- state->m_trans = state->memregion("trans")->base();
- state->m_pattern = state->memregion("pattern")->base();
- state->m_dir = state->memregion("dir")->base();
+ m_vram = memregion("vram")->base();
+ m_trans = memregion("trans")->base();
+ m_pattern = memregion("pattern")->base();
+ m_dir = memregion("dir")->base();
}
static MC6845_UPDATE_ROW( vk100_update_row )
@@ -982,14 +982,12 @@ static MACHINE_CONFIG_START( vk100, vk100_state )
MCFG_CPU_PROGRAM_MAP(vk100_mem)
MCFG_CPU_IO_MAP(vk100_io)
- MCFG_MACHINE_RESET(vk100)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_45_6192Mhz/3, 882, 0, 720, 370, 0, 350 ) // fake screen timings for startup until 6845 sets real ones
MCFG_SCREEN_UPDATE_DEVICE( "crtc", mc6845_device, screen_update )
MCFG_MC6845_ADD( "crtc", H46505, XTAL_45_6192Mhz/3/12, mc6845_intf)
- MCFG_VIDEO_START(vk100) // to set m_vram pointer properly (is there a less roundabout way to do this?)
/* i8251 uart */
MCFG_I8251_ADD("i8251", i8251_intf)
diff --git a/src/mess/drivers/votrtnt.c b/src/mess/drivers/votrtnt.c
index af4ab6ed7e4..f191806eb8a 100644
--- a/src/mess/drivers/votrtnt.c
+++ b/src/mess/drivers/votrtnt.c
@@ -63,6 +63,7 @@ public:
DECLARE_WRITE8_MEMBER(votrtnt_kbd_put);
UINT8 m_term_data;
UINT8 m_term_status;
+ virtual void machine_reset();
};
READ8_MEMBER( votrtnt_state::votrtnt_acia_status_r )
@@ -111,11 +112,10 @@ static INPUT_PORTS_START(votrtnt)
PORT_DIPSETTING( 0x80, "9600" )
INPUT_PORTS_END
-static MACHINE_RESET(votrtnt)
+void votrtnt_state::machine_reset()
{
- votrtnt_state *state = machine.driver_data<votrtnt_state>();
- state->m_term_data = 0;
- state->m_term_status = 0xe2;
+ m_term_data = 0;
+ m_term_status = 0xe2;
}
WRITE8_MEMBER( votrtnt_state::votrtnt_kbd_put )
@@ -143,7 +143,6 @@ static MACHINE_CONFIG_START( votrtnt, votrtnt_state )
MCFG_CPU_ADD("maincpu", M6802, XTAL_2_4576MHz) /* 2.4576MHz XTAL, verified; divided by 4 inside the m6802*/
MCFG_CPU_PROGRAM_MAP(6802_mem)
- MCFG_MACHINE_RESET(votrtnt)
/* video hardware */
//MCFG_DEFAULT_LAYOUT(layout_votrtnt)
diff --git a/src/mess/drivers/vt100.c b/src/mess/drivers/vt100.c
index 17efcf701a3..712dcd9555b 100644
--- a/src/mess/drivers/vt100.c
+++ b/src/mess/drivers/vt100.c
@@ -54,6 +54,8 @@ public:
UINT8 m_key_code;
double m_send_baud_rate;
double m_recv_baud_rate;
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -335,17 +337,16 @@ static IRQ_CALLBACK(vt100_irq_callback)
return ret;
}
-static MACHINE_START(vt100)
+void vt100_state::machine_start()
{
}
-static MACHINE_RESET(vt100)
+void vt100_state::machine_reset()
{
- vt100_state *state = machine.driver_data<vt100_state>();
- state->m_keyboard_int = 0;
- state->m_receiver_int = 0;
- state->m_vertical_int = 0;
- beep_set_frequency( state->m_speaker, 786 ); // 7.945us per serial clock = ~125865.324hz, / 160 clocks per char = ~ 786 hz
+ m_keyboard_int = 0;
+ m_receiver_int = 0;
+ m_vertical_int = 0;
+ beep_set_frequency( m_speaker, 786 ); // 7.945us per serial clock = ~125865.324hz, / 160 clocks per char = ~ 786 hz
output_set_value("online_led",1);
output_set_value("local_led", 0);
output_set_value("locked_led",1);
@@ -354,9 +355,9 @@ static MACHINE_RESET(vt100)
output_set_value("l3_led", 1);
output_set_value("l4_led", 1);
- state->m_key_scan = 0;
+ m_key_scan = 0;
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(vt100_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(vt100_irq_callback);
}
READ8_MEMBER( vt100_state::vt100_read_video_ram_r )
@@ -412,8 +413,6 @@ static MACHINE_CONFIG_START( vt100, vt100_state )
MCFG_CPU_IO_MAP(vt100_io)
MCFG_CPU_VBLANK_INT("screen", vt100_vertical_interrupt)
- MCFG_MACHINE_START(vt100)
- MCFG_MACHINE_RESET(vt100)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mess/drivers/vt220.c b/src/mess/drivers/vt220.c
index cf1f880fa8e..d99159d8df7 100644
--- a/src/mess/drivers/vt220.c
+++ b/src/mess/drivers/vt220.c
@@ -17,6 +17,8 @@ public:
vt220_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -31,12 +33,12 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( vt220 )
INPUT_PORTS_END
-static MACHINE_RESET( vt220 )
+void vt220_state::machine_reset()
{
- memset(machine.device<ram_device>(RAM_TAG)->pointer(),0,16*1024);
+ memset(machine().device<ram_device>(RAM_TAG)->pointer(),0,16*1024);
}
-static VIDEO_START( vt220 )
+void vt220_state::video_start()
{
}
@@ -52,7 +54,6 @@ static MACHINE_CONFIG_START( vt220, vt220_state )
MCFG_CPU_PROGRAM_MAP(vt220_mem)
MCFG_CPU_IO_MAP(vt220_io)
- MCFG_MACHINE_RESET(vt220)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -60,7 +61,6 @@ static MACHINE_CONFIG_START( vt220, vt220_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(vt220)
MCFG_SCREEN_UPDATE_STATIC(vt220)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/vt240.c b/src/mess/drivers/vt240.c
index 18cf422ced7..673818a942c 100644
--- a/src/mess/drivers/vt240.c
+++ b/src/mess/drivers/vt240.c
@@ -46,6 +46,7 @@ public:
required_shared_ptr<UINT8> m_video_ram;
DECLARE_DRIVER_INIT(vt240);
+ virtual void machine_reset();
};
/* TODO */
@@ -125,7 +126,7 @@ static INPUT_PORTS_START( vt240 )
INPUT_PORTS_END
-static MACHINE_RESET(vt240)
+void vt240_state::machine_reset()
{
}
@@ -166,7 +167,6 @@ static MACHINE_CONFIG_START( vt240, vt240_state )
MCFG_CPU_IO_MAP(vt240_io)
MCFG_CPU_VBLANK_INT("screen",vt240_irq)
- MCFG_MACHINE_RESET(vt240)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -174,7 +174,7 @@ static MACHINE_CONFIG_START( vt240, vt240_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
-// MCFG_VIDEO_START(vt240)
+// MCFG_VIDEO_START_OVERRIDE(vt240_state,vt240)
MCFG_SCREEN_UPDATE_DEVICE("upd7220", upd7220_device, screen_update)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/vt320.c b/src/mess/drivers/vt320.c
index 68bab411006..3c16a5e3ef0 100644
--- a/src/mess/drivers/vt320.c
+++ b/src/mess/drivers/vt320.c
@@ -17,6 +17,8 @@ public:
vt320_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
+ virtual void machine_reset();
+ virtual void video_start();
};
/*
@@ -57,12 +59,12 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( vt320 )
INPUT_PORTS_END
-static MACHINE_RESET(vt320)
+void vt320_state::machine_reset()
{
- memset(machine.device<ram_device>(RAM_TAG)->pointer(),0,16*1024);
+ memset(machine().device<ram_device>(RAM_TAG)->pointer(),0,16*1024);
}
-static VIDEO_START( vt320 )
+void vt320_state::video_start()
{
}
@@ -78,7 +80,6 @@ static MACHINE_CONFIG_START( vt320, vt320_state )
MCFG_CPU_PROGRAM_MAP(vt320_mem)
MCFG_CPU_IO_MAP(vt320_io)
- MCFG_MACHINE_RESET(vt320)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -86,7 +87,6 @@ static MACHINE_CONFIG_START( vt320, vt320_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(vt320)
MCFG_SCREEN_UPDATE_STATIC(vt320)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/vt520.c b/src/mess/drivers/vt520.c
index 4782799736c..a5077d99ead 100644
--- a/src/mess/drivers/vt520.c
+++ b/src/mess/drivers/vt520.c
@@ -18,6 +18,8 @@ public:
: driver_device(mconfig, type, tag) { }
DECLARE_READ8_MEMBER(vt520_some_r);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -48,16 +50,15 @@ static INPUT_PORTS_START( vt520 )
INPUT_PORTS_END
-static MACHINE_RESET(vt520)
+void vt520_state::machine_reset()
{
- vt520_state *state = machine.driver_data<vt520_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *rom = state->memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *rom = memregion("maincpu")->base();
space->unmap_write(0x0000, 0xffff);
- state->membank("bank1")->set_base(rom + 0x70000);
+ membank("bank1")->set_base(rom + 0x70000);
}
-static VIDEO_START( vt520 )
+void vt520_state::video_start()
{
}
@@ -72,7 +73,6 @@ static MACHINE_CONFIG_START( vt520, vt520_state )
MCFG_CPU_PROGRAM_MAP(vt520_mem)
MCFG_CPU_IO_MAP(vt520_io)
- MCFG_MACHINE_RESET(vt520)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -80,7 +80,6 @@ static MACHINE_CONFIG_START( vt520, vt520_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(802, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 802-1, 0, 480-1)
- MCFG_VIDEO_START(vt520)
MCFG_SCREEN_UPDATE_STATIC(vt520)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
diff --git a/src/mess/drivers/vta2000.c b/src/mess/drivers/vta2000.c
index 4a0e28784e2..86ca3a8da1c 100644
--- a/src/mess/drivers/vta2000.c
+++ b/src/mess/drivers/vta2000.c
@@ -28,6 +28,9 @@ public:
required_device<cpu_device> m_maincpu;
const UINT8 *m_p_chargen;
const UINT8 *m_p_videoram;
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
static ADDRESS_MAP_START(vta2000_mem, AS_PROGRAM, 8, vta2000_state)
@@ -46,15 +49,14 @@ static INPUT_PORTS_START( vta2000 )
INPUT_PORTS_END
-static MACHINE_RESET(vta2000)
+void vta2000_state::machine_reset()
{
}
-static VIDEO_START( vta2000 )
+void vta2000_state::video_start()
{
- vta2000_state *state = machine.driver_data<vta2000_state>();
- state->m_p_chargen = machine.root_device().memregion("chargen")->base();
- state->m_p_videoram = state->memregion("maincpu")->base()+0x8000;
+ m_p_chargen = machine().root_device().memregion("chargen")->base();
+ m_p_videoram = memregion("maincpu")->base()+0x8000;
}
static SCREEN_UPDATE_IND16( vta2000 )
@@ -141,11 +143,11 @@ static GFXDECODE_START( vta2000 )
GFXDECODE_ENTRY( "chargen", 0x0000, vta2000_charlayout, 0, 1 )
GFXDECODE_END
-static PALETTE_INIT( vta2000 )
+void vta2000_state::palette_init()
{
- palette_set_color(machine, 0, RGB_BLACK); // black
- palette_set_color_rgb(machine, 1, 0x00, 0xc0, 0x00); // green
- palette_set_color_rgb(machine, 2, 0x00, 0xff, 0x00); // highlight
+ palette_set_color(machine(), 0, RGB_BLACK); // black
+ palette_set_color_rgb(machine(), 1, 0x00, 0xc0, 0x00); // green
+ palette_set_color_rgb(machine(), 2, 0x00, 0xff, 0x00); // highlight
}
static MACHINE_CONFIG_START( vta2000, vta2000_state )
@@ -154,7 +156,6 @@ static MACHINE_CONFIG_START( vta2000, vta2000_state )
MCFG_CPU_PROGRAM_MAP(vta2000_mem)
MCFG_CPU_IO_MAP(vta2000_io)
- MCFG_MACHINE_RESET(vta2000)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -162,10 +163,8 @@ static MACHINE_CONFIG_START( vta2000, vta2000_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(80*8, 25*12)
MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 25*12-1)
- MCFG_VIDEO_START(vta2000)
MCFG_SCREEN_UPDATE_STATIC(vta2000)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(vta2000)
MCFG_GFXDECODE(vta2000)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/vtech2.c b/src/mess/drivers/vtech2.c
index eeac4f1b779..f6f949a8d49 100644
--- a/src/mess/drivers/vtech2.c
+++ b/src/mess/drivers/vtech2.c
@@ -379,23 +379,23 @@ static const rgb_t vt_colors[] =
/* Initialise the palette */
-static PALETTE_INIT( vtech2 )
+void vtech2_state::palette_init()
{
int i;
- machine.colortable = colortable_alloc(machine, 16);
+ machine().colortable = colortable_alloc(machine(), 16);
for ( i = 0; i < 16; i++ )
- colortable_palette_set_color(machine.colortable, i, vt_colors[i]);
+ colortable_palette_set_color(machine().colortable, i, vt_colors[i]);
for (i = 0; i < 256; i++)
{
- colortable_entry_set_value(machine.colortable, 2*i, i&15);
- colortable_entry_set_value(machine.colortable, 2*i+1, i>>4);
+ colortable_entry_set_value(machine().colortable, 2*i, i&15);
+ colortable_entry_set_value(machine().colortable, 2*i+1, i>>4);
}
for (i = 0; i < 16; i++)
- colortable_entry_set_value(machine.colortable, 512+i, i);
+ colortable_entry_set_value(machine().colortable, 512+i, i);
}
static INTERRUPT_GEN( vtech2_interrupt )
@@ -433,7 +433,6 @@ static MACHINE_CONFIG_START( laser350, vtech2_state )
MCFG_CPU_VBLANK_INT("screen", vtech2_interrupt)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET( laser350 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -445,9 +444,7 @@ static MACHINE_CONFIG_START( laser350, vtech2_state )
MCFG_GFXDECODE( vtech2 )
MCFG_PALETTE_LENGTH(528)
- MCFG_PALETTE_INIT(vtech2)
- MCFG_VIDEO_START(laser)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -471,12 +468,12 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( laser500, laser350 )
- MCFG_MACHINE_RESET( laser500 )
+ MCFG_MACHINE_RESET_OVERRIDE(vtech2_state, laser500 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( laser700, laser350 )
- MCFG_MACHINE_RESET( laser700 )
+ MCFG_MACHINE_RESET_OVERRIDE(vtech2_state, laser700 )
/* Second 5.25" floppy drive */
MCFG_LEGACY_FLOPPY_DRIVE_ADD( FLOPPY_1, vtech2_floppy_interface )
diff --git a/src/mess/drivers/wswan.c b/src/mess/drivers/wswan.c
index b74a01a54c2..faff325036a 100644
--- a/src/mess/drivers/wswan.c
+++ b/src/mess/drivers/wswan.c
@@ -100,17 +100,17 @@ static GFXDECODE_START( wswan )
GFXDECODE_END
/* WonderSwan can display 16 shades of grey */
-static PALETTE_INIT( wswan )
+void wswan_state::palette_init()
{
int ii;
for (ii = 0; ii < 16; ii++)
{
UINT8 shade = ii * (256 / 16);
- palette_set_color_rgb(machine, 15 - ii, shade, shade, shade);
+ palette_set_color_rgb(machine(), 15 - ii, shade, shade, shade);
}
}
-static PALETTE_INIT( wscolor )
+PALETTE_INIT_MEMBER(wswan_state,wscolor)
{
int i;
for (i = 0; i < 4096; i++)
@@ -118,7 +118,7 @@ static PALETTE_INIT( wscolor )
int r = (i & 0x0f00) >> 8;
int g = (i & 0x00f0) >> 4;
int b = i & 0x000f;
- palette_set_color_rgb(machine, i, r << 4, g << 4, b << 4);
+ palette_set_color_rgb(machine(), i, r << 4, g << 4, b << 4);
}
}
@@ -140,12 +140,9 @@ static MACHINE_CONFIG_START( wswan, wswan_state )
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_MACHINE_START( wswan )
- MCFG_MACHINE_RESET( wswan )
MCFG_GFXDECODE(wswan)
MCFG_PALETTE_LENGTH(16)
- MCFG_PALETTE_INIT(wswan)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -169,9 +166,9 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( wscolor, wswan )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(wscolor_mem)
- MCFG_MACHINE_START( wscolor )
+ MCFG_MACHINE_START_OVERRIDE(wswan_state, wscolor )
MCFG_PALETTE_LENGTH(4096)
- MCFG_PALETTE_INIT( wscolor )
+ MCFG_PALETTE_INIT_OVERRIDE(wswan_state, wscolor )
/* software lists */
diff --git a/src/mess/drivers/x07.c b/src/mess/drivers/x07.c
index f037ac03868..8423f9b76d1 100644
--- a/src/mess/drivers/x07.c
+++ b/src/mess/drivers/x07.c
@@ -1073,10 +1073,10 @@ static DEVICE_IMAGE_LOAD( x07_card )
return IMAGE_INIT_PASS;
}
-static PALETTE_INIT( x07 )
+void x07_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
@@ -1516,7 +1516,6 @@ static MACHINE_CONFIG_START( x07, x07_state )
MCFG_SCREEN_SIZE(120, 32)
MCFG_SCREEN_VISIBLE_AREA(0, 120-1, 0, 32-1)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(x07)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_GFXDECODE(x07)
diff --git a/src/mess/drivers/x1.c b/src/mess/drivers/x1.c
index 2bbed673aca..68484ee1615 100644
--- a/src/mess/drivers/x1.c
+++ b/src/mess/drivers/x1.c
@@ -221,15 +221,14 @@
*
*************************************/
-VIDEO_START( x1 )
+VIDEO_START_MEMBER(x1_state,x1)
{
- x1_state *state = machine.driver_data<x1_state>();
- state->m_avram = auto_alloc_array_clear(machine, UINT8, 0x800);
- state->m_tvram = auto_alloc_array_clear(machine, UINT8, 0x800);
- state->m_kvram = auto_alloc_array_clear(machine, UINT8, 0x800);
- state->m_gfx_bitmap_ram = auto_alloc_array_clear(machine, UINT8, 0xc000*2);
- state->m_pal_4096 = auto_alloc_array_clear(machine, UINT8, 0x1000*3);
+ m_avram = auto_alloc_array_clear(machine(), UINT8, 0x800);
+ m_tvram = auto_alloc_array_clear(machine(), UINT8, 0x800);
+ m_kvram = auto_alloc_array_clear(machine(), UINT8, 0x800);
+ m_gfx_bitmap_ram = auto_alloc_array_clear(machine(), UINT8, 0xc000*2);
+ m_pal_4096 = auto_alloc_array_clear(machine(), UINT8, 0x1000*3);
}
static void x1_draw_pixel(running_machine &machine, bitmap_rgb32 &bitmap,int y,int x,UINT16 pen,UINT8 width,UINT8 height)
@@ -2464,89 +2463,86 @@ TIMER_CALLBACK(x1_rtc_increment)
if((state->m_rtc.year & 0xf0) >= 0xa0) { state->m_rtc.year = 0; } //roll over
}
-MACHINE_RESET( x1 )
+MACHINE_RESET_MEMBER(x1_state,x1)
{
- x1_state *state = machine.driver_data<x1_state>();
- //UINT8 *ROM = machine.root_device().memregion("x1_cpu")->base();
- UINT8 *PCG_RAM = state->memregion("pcg")->base();
+ //UINT8 *ROM = machine().root_device().memregion("x1_cpu")->base();
+ UINT8 *PCG_RAM = memregion("pcg")->base();
int i;
- memset(state->m_gfx_bitmap_ram,0x00,0xc000*2);
+ memset(m_gfx_bitmap_ram,0x00,0xc000*2);
for(i=0;i<0x1800;i++)
{
PCG_RAM[i] = 0;
- machine.gfx[1]->mark_dirty(i >> 3);
+ machine().gfx[1]->mark_dirty(i >> 3);
}
- state->m_is_turbo = 0;
+ m_is_turbo = 0;
- state->m_io_bank_mode = 0;
+ m_io_bank_mode = 0;
- //machine.device("x1_cpu")->execute().set_irq_acknowledge_callback(x1_irq_callback);
+ //machine().device("x1_cpu")->execute().set_irq_acknowledge_callback(x1_irq_callback);
- state->m_cmt_current_cmd = 0;
- state->m_cmt_test = 0;
- state->m_cass->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
+ m_cmt_current_cmd = 0;
+ m_cmt_test = 0;
+ m_cass->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
- state->m_key_irq_flag = state->m_ctc_irq_flag = 0;
- state->m_sub_cmd = 0;
- state->m_key_irq_vector = 0;
- state->m_sub_cmd_length = 0;
- state->m_sub_val[0] = 0;
- state->m_sub_val[1] = 0;
- state->m_sub_val[2] = 0;
- state->m_sub_val[3] = 0;
- state->m_sub_val[4] = 0;
- state->m_sub_obf = (state->m_sub_cmd_length) ? 0x00 : 0x20;
+ m_key_irq_flag = m_ctc_irq_flag = 0;
+ m_sub_cmd = 0;
+ m_key_irq_vector = 0;
+ m_sub_cmd_length = 0;
+ m_sub_val[0] = 0;
+ m_sub_val[1] = 0;
+ m_sub_val[2] = 0;
+ m_sub_val[3] = 0;
+ m_sub_val[4] = 0;
+ m_sub_obf = (m_sub_cmd_length) ? 0x00 : 0x20;
- state->m_rtc_timer->adjust(attotime::zero, 0, attotime::from_seconds(1));
+ m_rtc_timer->adjust(attotime::zero, 0, attotime::from_seconds(1));
/* Reinitialize palette here if there's a soft reset for the Turbo PAL stuff*/
for(i=0;i<0x10;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));
- state->m_ram_bank = 0;
-// state->m_old_vpos = -1;
+ m_ram_bank = 0;
+// m_old_vpos = -1;
}
-MACHINE_RESET( x1turbo )
+MACHINE_RESET_MEMBER(x1_state,x1turbo)
{
- x1_state *state = machine.driver_data<x1_state>();
- MACHINE_RESET_CALL( x1 );
- state->m_is_turbo = 1;
- state->m_ex_bank = 0x10;
+ MACHINE_RESET_CALL_MEMBER( x1 );
+ m_is_turbo = 1;
+ m_ex_bank = 0x10;
- state->m_scrn_reg.blackclip = 0;
+ m_scrn_reg.blackclip = 0;
}
-MACHINE_START( x1 )
+MACHINE_START_MEMBER(x1_state,x1)
{
- x1_state *state = machine.driver_data<x1_state>();
/* set up RTC */
{
system_time systime;
- machine.base_datetime(systime);
+ machine().base_datetime(systime);
- state->m_rtc.day = ((systime.local_time.mday / 10)<<4) | ((systime.local_time.mday % 10) & 0xf);
- state->m_rtc.month = ((systime.local_time.month+1));
- state->m_rtc.wday = ((systime.local_time.weekday % 10) & 0xf);
- state->m_rtc.year = (((systime.local_time.year % 100)/10)<<4) | ((systime.local_time.year % 10) & 0xf);
- state->m_rtc.hour = ((systime.local_time.hour / 10)<<4) | ((systime.local_time.hour % 10) & 0xf);
- state->m_rtc.min = ((systime.local_time.minute / 10)<<4) | ((systime.local_time.minute % 10) & 0xf);
- state->m_rtc.sec = ((systime.local_time.second / 10)<<4) | ((systime.local_time.second % 10) & 0xf);
+ m_rtc.day = ((systime.local_time.mday / 10)<<4) | ((systime.local_time.mday % 10) & 0xf);
+ m_rtc.month = ((systime.local_time.month+1));
+ m_rtc.wday = ((systime.local_time.weekday % 10) & 0xf);
+ m_rtc.year = (((systime.local_time.year % 100)/10)<<4) | ((systime.local_time.year % 10) & 0xf);
+ m_rtc.hour = ((systime.local_time.hour / 10)<<4) | ((systime.local_time.hour % 10) & 0xf);
+ m_rtc.min = ((systime.local_time.minute / 10)<<4) | ((systime.local_time.minute % 10) & 0xf);
+ m_rtc.sec = ((systime.local_time.second / 10)<<4) | ((systime.local_time.second % 10) & 0xf);
- state->m_rtc_timer = machine.scheduler().timer_alloc(FUNC(x1_rtc_increment));
+ m_rtc_timer = machine().scheduler().timer_alloc(FUNC(x1_rtc_increment));
}
}
-PALETTE_INIT(x1)
+PALETTE_INIT_MEMBER(x1_state,x1)
{
int i;
for(i=0;i<(0x10+0x1000);i++)
- palette_set_color(machine, i,MAKE_RGB(0x00,0x00,0x00));
+ palette_set_color(machine(), i,MAKE_RGB(0x00,0x00,0x00));
}
static LEGACY_FLOPPY_OPTIONS_START( x1 )
@@ -2584,8 +2580,8 @@ static MACHINE_CONFIG_START( x1, x1_state )
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_intf )
- MCFG_MACHINE_START(x1)
- MCFG_MACHINE_RESET(x1)
+ MCFG_MACHINE_START_OVERRIDE(x1_state,x1)
+ MCFG_MACHINE_RESET_OVERRIDE(x1_state,x1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2597,11 +2593,11 @@ static MACHINE_CONFIG_START( x1, x1_state )
MCFG_MC6845_ADD("crtc", H46505, (VDP_CLOCK/48), mc6845_intf) //unknown divider
MCFG_PALETTE_LENGTH(0x10+0x1000)
- MCFG_PALETTE_INIT(x1)
+ MCFG_PALETTE_INIT_OVERRIDE(x1_state,x1)
MCFG_GFXDECODE(x1)
- MCFG_VIDEO_START(x1)
+ MCFG_VIDEO_START_OVERRIDE(x1_state,x1)
MCFG_MB8877_ADD("fdc",x1_mb8877a_interface)
@@ -2637,7 +2633,7 @@ static MACHINE_CONFIG_DERIVED( x1turbo, x1 )
MCFG_CPU_PROGRAM_MAP(x1turbo_mem)
MCFG_CPU_IO_MAP(x1turbo_io)
MCFG_CPU_CONFIG(x1turbo_daisy)
- MCFG_MACHINE_RESET(x1turbo)
+ MCFG_MACHINE_RESET_OVERRIDE(x1_state,x1turbo)
// MCFG_Z80SIO_ADD( "sio", MAIN_CLOCK/4 , sio_intf )
MCFG_Z80SIO0_ADD("sio", MAIN_CLOCK/4 , sio_intf )
diff --git a/src/mess/drivers/x1twin.c b/src/mess/drivers/x1twin.c
index 470aa6ae9c6..1db950ac904 100644
--- a/src/mess/drivers/x1twin.c
+++ b/src/mess/drivers/x1twin.c
@@ -530,8 +530,8 @@ static MACHINE_CONFIG_START( x1twin, x1twin_state )
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_intf )
- MCFG_MACHINE_START(x1)
- MCFG_MACHINE_RESET(x1)
+ MCFG_MACHINE_START_OVERRIDE(x1twin_state,x1)
+ MCFG_MACHINE_RESET_OVERRIDE(x1twin_state,x1)
#if 0
MCFG_CPU_ADD("pce_cpu", H6280, PCE_MAIN_CLOCK/3)
@@ -557,11 +557,11 @@ static MACHINE_CONFIG_START( x1twin, x1twin_state )
MCFG_MC6845_ADD("crtc", H46505, (VDP_CLOCK/48), mc6845_intf) //unknown divider
MCFG_PALETTE_LENGTH(0x10+0x1000)
- MCFG_PALETTE_INIT(x1)
+ MCFG_PALETTE_INIT_OVERRIDE(x1twin_state,x1)
MCFG_GFXDECODE(x1)
- MCFG_VIDEO_START(x1)
+ MCFG_VIDEO_START_OVERRIDE(x1twin_state,x1)
MCFG_MB8877_ADD("fdc",x1_mb8877a_interface)
diff --git a/src/mess/drivers/x68k.c b/src/mess/drivers/x68k.c
index faea45046f0..968870fc7f7 100644
--- a/src/mess/drivers/x68k.c
+++ b/src/mess/drivers/x68k.c
@@ -2547,58 +2547,57 @@ static SLOT_INTERFACE_START(x68000_exp_cards)
SLOT_INTERFACE("cz6bs1",X68K_SCSIEXT) // Sharp CZ-6BS1 SCSI-1 controller
SLOT_INTERFACE_END
-static MACHINE_RESET( x68000 )
+MACHINE_RESET_MEMBER(x68k_state,x68000)
{
- x68k_state *state = machine.driver_data<x68k_state>();
/* The last half of the IPLROM is mapped to 0x000000 on reset only
Just copying the inital stack pointer and program counter should
more or less do the same job */
int drive;
- UINT8* romdata = state->memregion("user2")->base();
+ UINT8* romdata = memregion("user2")->base();
attotime irq_time;
- memset(machine.device<ram_device>(RAM_TAG)->pointer(),0,machine.device<ram_device>(RAM_TAG)->size());
- memcpy(machine.device<ram_device>(RAM_TAG)->pointer(),romdata,8);
+ memset(machine().device<ram_device>(RAM_TAG)->pointer(),0,machine().device<ram_device>(RAM_TAG)->size());
+ memcpy(machine().device<ram_device>(RAM_TAG)->pointer(),romdata,8);
// init keyboard
- state->m_keyboard.delay = 500; // 3*100+200
- state->m_keyboard.repeat = 110; // 4^2*5+30
+ m_keyboard.delay = 500; // 3*100+200
+ m_keyboard.repeat = 110; // 4^2*5+30
// check for disks
for(drive=0;drive<4;drive++)
{
- device_image_interface *image = dynamic_cast<device_image_interface *>(floppy_get_device(machine, drive));
+ device_image_interface *image = dynamic_cast<device_image_interface *>(floppy_get_device(machine(), drive));
if(image->exists())
- state->m_fdc.disk_inserted[drive] = 1;
+ m_fdc.disk_inserted[drive] = 1;
else
- state->m_fdc.disk_inserted[drive] = 0;
+ m_fdc.disk_inserted[drive] = 0;
}
// initialise CRTC, set registers to defaults for the standard text mode (768x512)
- state->m_crtc.reg[0] = 137; // Horizontal total (in characters)
- state->m_crtc.reg[1] = 14; // Horizontal sync end
- state->m_crtc.reg[2] = 28; // Horizontal start
- state->m_crtc.reg[3] = 124; // Horizontal end
- state->m_crtc.reg[4] = 567; // Vertical total
- state->m_crtc.reg[5] = 5; // Vertical sync end
- state->m_crtc.reg[6] = 40; // Vertical start
- state->m_crtc.reg[7] = 552; // Vertical end
- state->m_crtc.reg[8] = 27; // Horizontal adjust
+ m_crtc.reg[0] = 137; // Horizontal total (in characters)
+ m_crtc.reg[1] = 14; // Horizontal sync end
+ m_crtc.reg[2] = 28; // Horizontal start
+ m_crtc.reg[3] = 124; // Horizontal end
+ m_crtc.reg[4] = 567; // Vertical total
+ m_crtc.reg[5] = 5; // Vertical sync end
+ m_crtc.reg[6] = 40; // Vertical start
+ m_crtc.reg[7] = 552; // Vertical end
+ m_crtc.reg[8] = 27; // Horizontal adjust
- mfp_init(machine);
+ mfp_init(machine());
- state->m_scanline = machine.primary_screen->vpos();// = state->m_crtc.reg[6]; // Vertical start
+ m_scanline = machine().primary_screen->vpos();// = m_crtc.reg[6]; // Vertical start
// start VBlank timer
- state->m_crtc.vblank = 1;
- irq_time = machine.primary_screen->time_until_pos(state->m_crtc.reg[6],2);
- state->m_vblank_irq->adjust(irq_time);
+ m_crtc.vblank = 1;
+ irq_time = machine().primary_screen->time_until_pos(m_crtc.reg[6],2);
+ m_vblank_irq->adjust(irq_time);
// start HBlank timer
- state->m_scanline_timer->adjust(machine.primary_screen->scan_period(), 1);
+ m_scanline_timer->adjust(machine().primary_screen->scan_period(), 1);
- state->m_mfp.gpio = 0xfb;
+ m_mfp.gpio = 0xfb;
// reset output values
output_set_value("key_led_kana",1);
@@ -2613,74 +2612,72 @@ static MACHINE_RESET( x68000 )
output_set_indexed_value("eject_drv",drive,1);
output_set_indexed_value("ctrl_drv",drive,1);
output_set_indexed_value("access_drv",drive,1);
- floppy_install_unload_proc(floppy_get_device(machine, drive), x68k_unload_proc);
- floppy_install_load_proc(floppy_get_device(machine, drive), x68k_load_proc);
+ floppy_install_unload_proc(floppy_get_device(machine(), drive), x68k_unload_proc);
+ floppy_install_load_proc(floppy_get_device(machine(), drive), x68k_load_proc);
}
// reset CPU
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
-static MACHINE_START( x68000 )
+MACHINE_START_MEMBER(x68k_state,x68000)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- x68k_state *state = machine.driver_data<x68k_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Install RAM handlers */
- state->m_spriteram = (UINT16*)(*state->memregion("user1"));
+ m_spriteram = (UINT16*)(*memregion("user1"));
space->install_legacy_read_handler(0x000000,0xbffffb,0xffffffff,0,FUNC(x68k_emptyram_r));
space->install_legacy_write_handler(0x000000,0xbffffb,0xffffffff,0,FUNC(x68k_emptyram_w));
- space->install_readwrite_bank(0x000000,machine.device<ram_device>(RAM_TAG)->size()-1,0xffffffff,0,"bank1");
- state->membank("bank1")->set_base(machine.device<ram_device>(RAM_TAG)->pointer());
+ space->install_readwrite_bank(0x000000,machine().device<ram_device>(RAM_TAG)->size()-1,0xffffffff,0,"bank1");
+ membank("bank1")->set_base(machine().device<ram_device>(RAM_TAG)->pointer());
space->install_legacy_read_handler(0xc00000,0xdfffff,0xffffffff,0,FUNC(x68k_gvram_r));
space->install_legacy_write_handler(0xc00000,0xdfffff,0xffffffff,0,FUNC(x68k_gvram_w));
- state->membank("bank2")->set_base(state->m_gvram16); // so that code in VRAM is executable - needed for Terra Cresta
+ membank("bank2")->set_base(m_gvram16); // so that code in VRAM is executable - needed for Terra Cresta
space->install_legacy_read_handler(0xe00000,0xe7ffff,0xffffffff,0,FUNC(x68k_tvram_r));
space->install_legacy_write_handler(0xe00000,0xe7ffff,0xffffffff,0,FUNC(x68k_tvram_w));
- state->membank("bank3")->set_base(state->m_tvram16); // so that code in VRAM is executable - needed for Terra Cresta
+ membank("bank3")->set_base(m_tvram16); // so that code in VRAM is executable - needed for Terra Cresta
space->install_legacy_read_handler(0xed0000,0xed3fff,0xffffffff,0,FUNC(x68k_sram_r));
space->install_legacy_write_handler(0xed0000,0xed3fff,0xffffffff,0,FUNC(x68k_sram_w));
- state->membank("bank4")->set_base(state->m_nvram16); // so that code in SRAM is executable, there is an option for booting from SRAM
+ membank("bank4")->set_base(m_nvram16); // so that code in SRAM is executable, there is an option for booting from SRAM
// start keyboard timer
- state->m_kb_timer->adjust(attotime::zero, 0, attotime::from_msec(5)); // every 5ms
+ m_kb_timer->adjust(attotime::zero, 0, attotime::from_msec(5)); // every 5ms
// start mouse timer
- state->m_mouse_timer->adjust(attotime::zero, 0, attotime::from_msec(1)); // a guess for now
- state->m_mouse.inputtype = 0;
+ m_mouse_timer->adjust(attotime::zero, 0, attotime::from_msec(1)); // a guess for now
+ m_mouse.inputtype = 0;
// start LED timer
- state->m_led_timer->adjust(attotime::zero, 0, attotime::from_msec(400));
+ m_led_timer->adjust(attotime::zero, 0, attotime::from_msec(400));
}
-static MACHINE_START( x68030 )
+MACHINE_START_MEMBER(x68k_state,x68030)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- x68k_state *state = machine.driver_data<x68k_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Install RAM handlers */
- state->m_spriteram = (UINT16*)(*state->memregion("user1"));
+ m_spriteram = (UINT16*)(*memregion("user1"));
space->install_legacy_read_handler(0x000000,0xbffffb,0xffffffff,0,FUNC(x68k_rom0_r),0xffffffff);
space->install_legacy_write_handler(0x000000,0xbffffb,0xffffffff,0,FUNC(x68k_rom0_w),0xffffffff);
- space->install_readwrite_bank(0x000000,machine.device<ram_device>(RAM_TAG)->size()-1,0xffffffff,0,"bank1");
- state->membank("bank1")->set_base(machine.device<ram_device>(RAM_TAG)->pointer());
+ space->install_readwrite_bank(0x000000,machine().device<ram_device>(RAM_TAG)->size()-1,0xffffffff,0,"bank1");
+ membank("bank1")->set_base(machine().device<ram_device>(RAM_TAG)->pointer());
space->install_legacy_read_handler(0xc00000,0xdfffff,0xffffffff,0,FUNC(x68k_gvram32_r));
space->install_legacy_write_handler(0xc00000,0xdfffff,0xffffffff,0,FUNC(x68k_gvram32_w));
- state->membank("bank2")->set_base(state->m_gvram32); // so that code in VRAM is executable - needed for Terra Cresta
+ membank("bank2")->set_base(m_gvram32); // so that code in VRAM is executable - needed for Terra Cresta
space->install_legacy_read_handler(0xe00000,0xe7ffff,0xffffffff,0,FUNC(x68k_tvram32_r));
space->install_legacy_write_handler(0xe00000,0xe7ffff,0xffffffff,0,FUNC(x68k_tvram32_w));
- state->membank("bank3")->set_base(state->m_tvram32); // so that code in VRAM is executable - needed for Terra Cresta
+ membank("bank3")->set_base(m_tvram32); // so that code in VRAM is executable - needed for Terra Cresta
space->install_legacy_read_handler(0xed0000,0xed3fff,0xffffffff,0,FUNC(x68k_sram32_r));
space->install_legacy_write_handler(0xed0000,0xed3fff,0xffffffff,0,FUNC(x68k_sram32_w));
- state->membank("bank4")->set_base(state->m_nvram32); // so that code in SRAM is executable, there is an option for booting from SRAM
+ membank("bank4")->set_base(m_nvram32); // so that code in SRAM is executable, there is an option for booting from SRAM
// start keyboard timer
- state->m_kb_timer->adjust(attotime::zero, 0, attotime::from_msec(5)); // every 5ms
+ m_kb_timer->adjust(attotime::zero, 0, attotime::from_msec(5)); // every 5ms
// start mouse timer
- state->m_mouse_timer->adjust(attotime::zero, 0, attotime::from_msec(1)); // a guess for now
- state->m_mouse.inputtype = 0;
+ m_mouse_timer->adjust(attotime::zero, 0, attotime::from_msec(1)); // a guess for now
+ m_mouse.inputtype = 0;
// start LED timer
- state->m_led_timer->adjust(attotime::zero, 0, attotime::from_msec(400));
+ m_led_timer->adjust(attotime::zero, 0, attotime::from_msec(400));
}
DRIVER_INIT_MEMBER(x68k_state,x68000)
@@ -2747,8 +2744,8 @@ static MACHINE_CONFIG_FRAGMENT( x68000_base )
MCFG_CPU_VBLANK_INT("screen", x68k_vsync_irq)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_START( x68000 )
- MCFG_MACHINE_RESET( x68000 )
+ MCFG_MACHINE_START_OVERRIDE(x68k_state, x68000 )
+ MCFG_MACHINE_RESET_OVERRIDE(x68k_state, x68000 )
/* device hardware */
MCFG_MC68901_ADD(MC68901_TAG, 4000000, mfp_interface)
@@ -2771,9 +2768,9 @@ static MACHINE_CONFIG_FRAGMENT( x68000_base )
MCFG_SCREEN_UPDATE_STATIC( x68000 )
MCFG_PALETTE_LENGTH(65536)
- MCFG_PALETTE_INIT( x68000 )
+ MCFG_PALETTE_INIT_OVERRIDE(x68k_state, x68000 )
- MCFG_VIDEO_START( x68000 )
+ MCFG_VIDEO_START_OVERRIDE(x68k_state, x68000 )
MCFG_DEFAULT_LAYOUT( layout_x68000 )
@@ -2855,8 +2852,8 @@ static MACHINE_CONFIG_START( x68030, x68k_state )
MCFG_CPU_REPLACE("maincpu", M68030, 25000000) /* 25 MHz 68EC030 */
MCFG_CPU_PROGRAM_MAP(x68030_map)
- MCFG_MACHINE_START( x68030 )
- MCFG_MACHINE_RESET( x68000 )
+ MCFG_MACHINE_START_OVERRIDE(x68k_state, x68030 )
+ MCFG_MACHINE_RESET_OVERRIDE(x68k_state, x68000 )
MCFG_NVRAM_ADD_0FILL("nvram32")
diff --git a/src/mess/drivers/z100.c b/src/mess/drivers/z100.c
index b82f0d76601..9b35a873e0f 100644
--- a/src/mess/drivers/z100.c
+++ b/src/mess/drivers/z100.c
@@ -200,6 +200,10 @@ public:
mc6845_device *m_mc6845;
DECLARE_DRIVER_INIT(z100);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
#define mc6845_h_char_total (state->m_crtc_vreg[0])
@@ -220,11 +224,10 @@ public:
#define mc6845_update_addr (((state->m_crtc_vreg[0x12]<<8) & 0xff00) | (state->m_crtc_vreg[0x13] & 0xff))
-static VIDEO_START( z100 )
+void z100_state::video_start()
{
- z100_state *state = machine.driver_data<z100_state>();
- state->m_gvram = auto_alloc_array_clear(machine, UINT8, 0x30000);
+ m_gvram = auto_alloc_array_clear(machine(), UINT8, 0x30000);
}
static SCREEN_UPDATE_IND16( z100 )
@@ -741,33 +744,31 @@ static const floppy_interface z100_floppy_interface =
NULL
};
-static PALETTE_INIT(z100)
+void z100_state::palette_init()
{
// ...
}
-static MACHINE_START(z100)
+void z100_state::machine_start()
{
- z100_state *state = machine.driver_data<z100_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(z100_irq_callback);
- state->m_mc6845 = machine.device<mc6845_device>("crtc");
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(z100_irq_callback);
+ m_mc6845 = machine().device<mc6845_device>("crtc");
}
-static MACHINE_RESET(z100)
+void z100_state::machine_reset()
{
- //z100_state *state = machine.driver_data<z100_state>();
int i;
- if(machine.root_device().ioport("CONFIG")->read() & 1)
+ if(machine().root_device().ioport("CONFIG")->read() & 1)
{
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));
}
else
{
for(i=0;i<8;i++)
- palette_set_color_rgb(machine, i,pal3bit(0),pal3bit(i),pal3bit(0));
+ palette_set_color_rgb(machine(), i,pal3bit(0),pal3bit(i),pal3bit(0));
}
}
@@ -777,8 +778,6 @@ static MACHINE_CONFIG_START( z100, z100_state )
MCFG_CPU_PROGRAM_MAP(z100_mem)
MCFG_CPU_IO_MAP(z100_io)
- MCFG_MACHINE_START(z100)
- MCFG_MACHINE_RESET(z100)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -786,10 +785,8 @@ static MACHINE_CONFIG_START( z100, z100_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_VIDEO_START(z100)
MCFG_SCREEN_UPDATE_STATIC(z100)
MCFG_PALETTE_LENGTH(8)
- MCFG_PALETTE_INIT(z100)
/* Devices */
MCFG_MC6845_ADD("crtc", MC6845, XTAL_14_31818MHz/8, mc6845_intf) /* unknown clock, hand tuned to get ~50/~60 fps */
diff --git a/src/mess/drivers/z1013.c b/src/mess/drivers/z1013.c
index 062e50310c3..387cf71bfd5 100644
--- a/src/mess/drivers/z1013.c
+++ b/src/mess/drivers/z1013.c
@@ -74,6 +74,8 @@ public:
const UINT8 *m_p_chargen;
UINT8 m_keyboard_line;
bool m_keyboard_part;
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -213,10 +215,9 @@ static INPUT_PORTS_START( z1013 )
INPUT_PORTS_END
-VIDEO_START( z1013 )
+void z1013_state::video_start()
{
- z1013_state *state = machine.driver_data<z1013_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
+ m_p_chargen = memregion("chargen")->base();
}
SCREEN_UPDATE_IND16( z1013 )
@@ -254,12 +255,11 @@ SCREEN_UPDATE_IND16( z1013 )
return 0;
}
-MACHINE_RESET( z1013 )
+void z1013_state::machine_reset()
{
- z1013_state *state = machine.driver_data<z1013_state>();
- machine.device("maincpu")->state().set_state_int(Z80_PC, 0xF000);
- state->m_keyboard_part = 0;
- state->m_keyboard_line = 0;
+ machine().device("maincpu")->state().set_state_int(Z80_PC, 0xF000);
+ m_keyboard_part = 0;
+ m_keyboard_line = 0;
}
WRITE8_MEMBER( z1013_state::z1013_keyboard_w )
@@ -397,7 +397,6 @@ static MACHINE_CONFIG_START( z1013, z1013_state )
MCFG_CPU_PROGRAM_MAP(z1013_mem)
MCFG_CPU_IO_MAP(z1013_io)
- MCFG_MACHINE_RESET( z1013 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -405,7 +404,6 @@ static MACHINE_CONFIG_START( z1013, z1013_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 32*8-1)
- MCFG_VIDEO_START(z1013)
MCFG_SCREEN_UPDATE_STATIC(z1013)
MCFG_GFXDECODE(z1013)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/z80ne.c b/src/mess/drivers/z80ne.c
index 845a2b27da4..09f96fc09c2 100644
--- a/src/mess/drivers/z80ne.c
+++ b/src/mess/drivers/z80ne.c
@@ -475,8 +475,8 @@ static MACHINE_CONFIG_START( z80ne, z80ne_state )
MCFG_CPU_PROGRAM_MAP(z80ne_mem)
MCFG_CPU_IO_MAP(z80ne_io)
- MCFG_MACHINE_START(z80ne)
- MCFG_MACHINE_RESET(z80ne)
+ MCFG_MACHINE_START_OVERRIDE(z80ne_state,z80ne)
+ MCFG_MACHINE_RESET_OVERRIDE(z80ne_state,z80ne)
MCFG_AY31015_ADD( "ay_3_1015", z80ne_ay31015_config )
@@ -496,8 +496,8 @@ static MACHINE_CONFIG_DERIVED( z80net, z80ne )
MCFG_CPU_PROGRAM_MAP(z80net_mem)
MCFG_CPU_IO_MAP(z80net_io)
- MCFG_MACHINE_START( z80net )
- MCFG_MACHINE_RESET( z80net )
+ MCFG_MACHINE_START_OVERRIDE(z80ne_state, z80net )
+ MCFG_MACHINE_RESET_OVERRIDE(z80ne_state, z80net )
MCFG_KR2376_ADD( "lx388_kr2376", lx388_kr2376_interface)
@@ -519,8 +519,8 @@ static MACHINE_CONFIG_START( z80netb, z80ne_state )
MCFG_CPU_PROGRAM_MAP(z80netb_mem)
MCFG_CPU_IO_MAP(z80net_io)
- MCFG_MACHINE_START(z80netb)
- MCFG_MACHINE_RESET(z80netb)
+ MCFG_MACHINE_START_OVERRIDE(z80ne_state,z80netb)
+ MCFG_MACHINE_RESET_OVERRIDE(z80ne_state,z80netb)
MCFG_AY31015_ADD( "ay_3_1015", z80ne_ay31015_config )
@@ -547,8 +547,8 @@ static MACHINE_CONFIG_START( z80netf, z80ne_state )
MCFG_CPU_PROGRAM_MAP(z80netf_mem)
MCFG_CPU_IO_MAP(z80netf_io)
- MCFG_MACHINE_START(z80netf)
- MCFG_MACHINE_RESET(z80netf)
+ MCFG_MACHINE_START_OVERRIDE(z80ne_state,z80netf)
+ MCFG_MACHINE_RESET_OVERRIDE(z80ne_state,z80netf)
MCFG_AY31015_ADD( "ay_3_1015", z80ne_ay31015_config )
diff --git a/src/mess/drivers/z88.c b/src/mess/drivers/z88.c
index d05a5cfc2de..6785b1343c7 100644
--- a/src/mess/drivers/z88.c
+++ b/src/mess/drivers/z88.c
@@ -656,7 +656,6 @@ static MACHINE_CONFIG_START( z88, z88_state )
MCFG_SCREEN_UPDATE_DEVICE("blink", upd65031_device, screen_update)
MCFG_PALETTE_LENGTH(Z88_NUM_COLOURS)
- MCFG_PALETTE_INIT( z88 )
MCFG_DEFAULT_LAYOUT(layout_lcd)
diff --git a/src/mess/drivers/zexall.c b/src/mess/drivers/zexall.c
index f6326209824..8f3aca12dc1 100644
--- a/src/mess/drivers/zexall.c
+++ b/src/mess/drivers/zexall.c
@@ -49,6 +49,7 @@ public:
UINT8 m_out_req_last; // old value at 0xFFFE before the most recent write
UINT8 m_out_ack; // byte written to 0xFFFC
DECLARE_DRIVER_INIT(zexall);
+ virtual void machine_reset();
};
DRIVER_INIT_MEMBER(zexall_state,zexall)
@@ -59,12 +60,11 @@ DRIVER_INIT_MEMBER(zexall_state,zexall)
m_out_data = 0;
}
-static MACHINE_RESET( zexall )
+void zexall_state::machine_reset()
{
// rom is self-modifying, so need to refresh it on each run
- zexall_state *state = machine.driver_data<zexall_state>();
- UINT8 *rom = state->memregion("romcode")->base();
- UINT8 *ram = state->m_main_ram;
+ UINT8 *rom = memregion("romcode")->base();
+ UINT8 *ram = m_main_ram;
/* fill main ram with zexall code */
memcpy(ram, rom, 0x228a);
}
@@ -147,7 +147,6 @@ static MACHINE_CONFIG_START( zexall, zexall_state )
MCFG_CPU_PROGRAM_MAP(z80_mem)
MCFG_CPU_IO_MAP(z80_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_MACHINE_RESET(zexall)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, zexall_terminal_intf)
diff --git a/src/mess/drivers/zsbc3.c b/src/mess/drivers/zsbc3.c
index ff26510029a..e912aefd0a5 100644
--- a/src/mess/drivers/zsbc3.c
+++ b/src/mess/drivers/zsbc3.c
@@ -52,6 +52,7 @@ public:
DECLARE_READ8_MEMBER(zsbc3_2a_r);
DECLARE_WRITE8_MEMBER(kbd_put);
UINT8 m_term_data;
+ virtual void machine_reset();
};
@@ -85,7 +86,7 @@ static INPUT_PORTS_START( zsbc3 )
INPUT_PORTS_END
-static MACHINE_RESET(zsbc3)
+void zsbc3_state::machine_reset()
{
}
@@ -106,7 +107,6 @@ static MACHINE_CONFIG_START( zsbc3, zsbc3_state )
MCFG_CPU_PROGRAM_MAP(zsbc3_mem)
MCFG_CPU_IO_MAP(zsbc3_io)
- MCFG_MACHINE_RESET(zsbc3)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/zx.c b/src/mess/drivers/zx.c
index fb7f935437b..e9051fefab2 100644
--- a/src/mess/drivers/zx.c
+++ b/src/mess/drivers/zx.c
@@ -324,20 +324,20 @@ GFXDECODE_END
/* Palette Initialization */
-static PALETTE_INIT( zx80 )
+void zx_state::palette_init()
{
- palette_set_color(machine,0,RGB_WHITE); /* white */
- palette_set_color(machine,1,RGB_BLACK); /* black */
- palette_set_color(machine,2,RGB_BLACK); /* black */
- palette_set_color(machine,3,RGB_WHITE); /* white */
+ palette_set_color(machine(),0,RGB_WHITE); /* white */
+ palette_set_color(machine(),1,RGB_BLACK); /* black */
+ palette_set_color(machine(),2,RGB_BLACK); /* black */
+ palette_set_color(machine(),3,RGB_WHITE); /* white */
}
-static PALETTE_INIT( ts1000 )
+PALETTE_INIT_MEMBER(zx_state,ts1000)
{
- palette_set_color(machine,0,MAKE_RGB(64, 244, 244)); /* cyan */
- palette_set_color(machine,1,RGB_BLACK); /* black */
- palette_set_color(machine,2,RGB_BLACK); /* black */
- palette_set_color(machine,3,MAKE_RGB(64, 244, 244)); /* cyan */
+ palette_set_color(machine(),0,MAKE_RGB(64, 244, 244)); /* cyan */
+ palette_set_color(machine(),1,RGB_BLACK); /* black */
+ palette_set_color(machine(),2,RGB_BLACK); /* black */
+ palette_set_color(machine(),3,MAKE_RGB(64, 244, 244)); /* cyan */
}
@@ -388,7 +388,6 @@ static MACHINE_CONFIG_START( zx80, zx_state )
MCFG_SCREEN_REFRESH_RATE(ZX81_PAL_FRAMES_PER_SECOND)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(ZX81_VBLANK_DURATION))
- MCFG_MACHINE_RESET(zx80)
/* video hardware */
MCFG_SCREEN_UPDATE_DRIVER(zx_state, screen_update)
@@ -398,9 +397,7 @@ static MACHINE_CONFIG_START( zx80, zx_state )
MCFG_GFXDECODE(zx80)
MCFG_PALETTE_LENGTH(4)
- MCFG_PALETTE_INIT(zx80)
- MCFG_VIDEO_START(zx)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -429,7 +426,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ts1000, zx81 )
- MCFG_PALETTE_INIT(ts1000)
+ MCFG_PALETTE_INIT_OVERRIDE(zx_state,ts1000)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ts1500, ts1000 )
@@ -444,7 +441,7 @@ static MACHINE_CONFIG_DERIVED( pc8300, zx81 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(pc8300_io_map)
- MCFG_MACHINE_RESET(pc8300)
+ MCFG_MACHINE_RESET_OVERRIDE(zx_state,pc8300)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(ZX81_NTSC_FRAMES_PER_SECOND)
@@ -452,7 +449,6 @@ static MACHINE_CONFIG_DERIVED( pc8300, zx81 )
MCFG_SCREEN_VISIBLE_AREA(0, ZX81_PIXELS_PER_SCANLINE-1, 0, ZX81_NTSC_SCANLINES-1)
MCFG_GFXDECODE(pc8300)
- MCFG_PALETTE_INIT(zx80)
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
@@ -464,10 +460,9 @@ static MACHINE_CONFIG_DERIVED( pow3000, zx81 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(pow3000_io_map)
- MCFG_MACHINE_RESET(pow3000)
+ MCFG_MACHINE_RESET_OVERRIDE(zx_state,pow3000)
MCFG_GFXDECODE(pc8300)
- MCFG_PALETTE_INIT(zx80)
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
diff --git a/src/mess/includes/a7800.h b/src/mess/includes/a7800.h
index 903a5f47463..c6deab4d495 100644
--- a/src/mess/includes/a7800.h
+++ b/src/mess/includes/a7800.h
@@ -61,12 +61,16 @@ public:
DECLARE_WRITE8_MEMBER(a7800_MARIA_w);
DECLARE_DRIVER_INIT(a7800_pal);
DECLARE_DRIVER_INIT(a7800_ntsc);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(a7800p);
};
/*----------- defined in video/a7800.c -----------*/
-VIDEO_START( a7800 );
+
SCREEN_UPDATE_IND16( a7800 );
TIMER_DEVICE_CALLBACK( a7800_interrupt );
@@ -76,7 +80,7 @@ TIMER_DEVICE_CALLBACK( a7800_interrupt );
extern const riot6532_interface a7800_r6532_interface;
-MACHINE_RESET( a7800 );
+
void a7800_partialhash(hash_collection &dest, const unsigned char *data, unsigned long length, const char *functions);
diff --git a/src/mess/includes/ac1.h b/src/mess/includes/ac1.h
index 6e8b64ae06e..dffcfa4ba1d 100644
--- a/src/mess/includes/ac1.h
+++ b/src/mess/includes/ac1.h
@@ -18,12 +18,14 @@ public:
cassette_image_device *m_cassette;
DECLARE_DRIVER_INIT(ac1);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in machine/ac1.c -----------*/
-MACHINE_RESET( ac1 );
+
extern const z80pio_interface ac1_z80pio_intf;
@@ -31,7 +33,7 @@ extern const z80pio_interface ac1_z80pio_intf;
extern const gfx_layout ac1_charlayout;
-VIDEO_START( ac1 );
+
SCREEN_UPDATE_IND16( ac1 );
SCREEN_UPDATE_IND16( ac1_32 );
diff --git a/src/mess/includes/advision.h b/src/mess/includes/advision.h
index 4a09e9c2db1..5cbbfe4925a 100644
--- a/src/mess/includes/advision.h
+++ b/src/mess/includes/advision.h
@@ -64,10 +64,11 @@ public:
int m_sound_cmd;
int m_sound_d;
int m_sound_g;
+ virtual void palette_init();
};
/*----------- defined in video/advision.c -----------*/
-PALETTE_INIT( advision );
+
#endif
diff --git a/src/mess/includes/aim65.h b/src/mess/includes/aim65.h
index 33fcb306cf1..4d5362d2e73 100644
--- a/src/mess/includes/aim65.h
+++ b/src/mess/includes/aim65.h
@@ -56,6 +56,7 @@ public:
required_device<cpu_device> m_maincpu;
required_device<cassette_image_device> m_cass1;
required_device<cassette_image_device> m_cass2;
+ virtual void machine_start();
};
@@ -68,6 +69,6 @@ void aim65_update_ds4(device_t *device, int digit, int data);
void aim65_update_ds5(device_t *device, int digit, int data);
-MACHINE_START( aim65 );
+
#endif /* AIM65_H_ */
diff --git a/src/mess/includes/amstrad.h b/src/mess/includes/amstrad.h
index 902b72d1d69..ba85d6d7961 100644
--- a/src/mess/includes/amstrad.h
+++ b/src/mess/includes/amstrad.h
@@ -151,6 +151,22 @@ public:
DECLARE_READ8_MEMBER(amstrad_psg_porta_read);
void amstrad_plus_seqcheck(int data);
DECLARE_DRIVER_INIT(aleste);
+ DECLARE_MACHINE_START(amstrad);
+ DECLARE_MACHINE_RESET(amstrad);
+ DECLARE_VIDEO_START(amstrad);
+ DECLARE_PALETTE_INIT(amstrad_cpc);
+ DECLARE_PALETTE_INIT(amstrad_cpc_green);
+ DECLARE_MACHINE_START(plus);
+ DECLARE_MACHINE_RESET(plus);
+ DECLARE_PALETTE_INIT(amstrad_plus);
+ DECLARE_MACHINE_START(gx4000);
+ DECLARE_MACHINE_RESET(gx4000);
+ DECLARE_MACHINE_START(kccomp);
+ DECLARE_MACHINE_RESET(kccomp);
+ DECLARE_PALETTE_INIT(kccomp);
+ DECLARE_MACHINE_START(aleste);
+ DECLARE_MACHINE_RESET(aleste);
+ DECLARE_PALETTE_INIT(aleste);
};
@@ -170,16 +186,16 @@ WRITE_LINE_DEVICE_HANDLER( cpc_nmi_w );
WRITE_LINE_DEVICE_HANDLER( cpc_romdis );
WRITE_LINE_DEVICE_HANDLER( cpc_romen );
-MACHINE_START( amstrad );
-MACHINE_RESET( amstrad );
-MACHINE_START( kccomp );
-MACHINE_RESET( kccomp );
-MACHINE_START( plus );
-MACHINE_RESET( plus );
-MACHINE_START( gx4000 );
-MACHINE_RESET( gx4000 );
-MACHINE_START( aleste );
-MACHINE_RESET( aleste );
+
+
+
+
+
+
+
+
+
+
SNAPSHOT_LOAD( amstrad );
@@ -188,15 +204,10 @@ DEVICE_IMAGE_LOAD(amstrad_plus_cartridge);
extern const mc6845_interface amstrad_mc6845_intf;
extern const mc6845_interface amstrad_plus_mc6845_intf;
-VIDEO_START( amstrad );
+
SCREEN_UPDATE_IND16( amstrad );
SCREEN_VBLANK( amstrad );
-PALETTE_INIT( amstrad_cpc ); /* For CPC464, CPC664, and CPC6128 */
-PALETTE_INIT( amstrad_cpc_green ); /* For CPC464, CPC664, and CPC6128 */
-PALETTE_INIT( kccomp ); /* For KC Compact */
-PALETTE_INIT( amstrad_plus ); /* For CPC464+ and CPC6128+ */
-PALETTE_INIT( aleste ); /* For aleste */
SLOT_INTERFACE_START(cpc_exp_cards)
SLOT_INTERFACE("ssa1", CPC_SSA1)
diff --git a/src/mess/includes/apollo.h b/src/mess/includes/apollo.h
index 7729d9b21d3..d66569af92a 100644
--- a/src/mess/includes/apollo.h
+++ b/src/mess/includes/apollo.h
@@ -180,12 +180,16 @@ public:
DECLARE_DRIVER_INIT(apollo);
required_shared_ptr<UINT32> m_messram_ptr;
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_MACHINE_RESET(apollo);
+ DECLARE_MACHINE_START(apollo);
};
MACHINE_CONFIG_EXTERN( apollo );
-MACHINE_START( apollo );
-MACHINE_RESET( apollo );
+
+
/*----------- machine/apollo_config.c -----------*/
diff --git a/src/mess/includes/apple1.h b/src/mess/includes/apple1.h
index aab559bc5d6..37a8412b6b0 100644
--- a/src/mess/includes/apple1.h
+++ b/src/mess/includes/apple1.h
@@ -45,6 +45,8 @@ public:
DECLARE_WRITE8_MEMBER(apple1_cassette_w);
DECLARE_DRIVER_INIT(apple1);
TILE_GET_INFO_MEMBER(terminal_gettileinfo);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -52,14 +54,14 @@ public:
extern const pia6821_interface apple1_pia0;
-MACHINE_RESET( apple1 );
+
SNAPSHOT_LOAD( apple1 );
/*----------- defined in video/apple1.c -----------*/
-VIDEO_START( apple1 );
+
SCREEN_UPDATE_IND16( apple1 );
void apple1_vh_dsp_w (running_machine &machine, int data);
diff --git a/src/mess/includes/apple2.h b/src/mess/includes/apple2.h
index ce54dcacd2b..4f3b7765221 100644
--- a/src/mess/includes/apple2.h
+++ b/src/mess/includes/apple2.h
@@ -235,13 +235,22 @@ public:
write8_delegate wd_inh_d000;
read8_delegate rd_inh_e000;
write8_delegate wd_inh_e000;
+ DECLARE_MACHINE_START(apple2);
+ DECLARE_VIDEO_START(apple2);
+ DECLARE_PALETTE_INIT(apple2);
+ DECLARE_MACHINE_START(apple2orig);
+ DECLARE_VIDEO_START(apple2p);
+ DECLARE_VIDEO_START(apple2e);
+ DECLARE_MACHINE_START(tk2000);
+ DECLARE_MACHINE_START(laser128);
+ DECLARE_MACHINE_START(space84);
};
/*----------- defined in drivers/apple2.c -----------*/
INPUT_PORTS_EXTERN( apple2ep );
-PALETTE_INIT( apple2 );
+
/*----------- defined in machine/apple2.c -----------*/
@@ -252,11 +261,11 @@ void apple2_iwm_setdiskreg(running_machine &machine, UINT8 data);
UINT8 apple2_iwm_getdiskreg(running_machine &machine);
void apple2_init_common(running_machine &machine);
-MACHINE_START( apple2 );
-MACHINE_START( apple2orig );
-MACHINE_START( tk2000 );
-MACHINE_START( laser128 );
-MACHINE_START( space84 );
+
+
+
+
+
UINT8 apple2_getfloatingbusvalue(running_machine &machine);
READ8_HANDLER( apple2_c0xx_r );
WRITE8_HANDLER( apple2_c0xx_w );
@@ -279,9 +288,9 @@ void apple2_update_memory(running_machine &machine);
/*----------- defined in video/apple2.c -----------*/
void apple2_video_start(running_machine &machine, const UINT8 *vram, size_t vram_size, UINT32 ignored_softswitches, int hires_modulo);
-VIDEO_START( apple2 );
-VIDEO_START( apple2p );
-VIDEO_START( apple2e );
+
+
+
SCREEN_UPDATE_IND16( apple2 );
#endif /* APPLE2_H_ */
diff --git a/src/mess/includes/apple2gs.h b/src/mess/includes/apple2gs.h
index dd7f7a975d6..66b5daf5c77 100644
--- a/src/mess/includes/apple2gs.h
+++ b/src/mess/includes/apple2gs.h
@@ -135,21 +135,27 @@ public:
write8_delegate write_delegates_2gs0400[2];
write8_delegate write_delegates_2gs2000[2];
write8_delegate write_delegates_2gs4000[2];
+ DECLARE_MACHINE_START(apple2gs);
+ DECLARE_MACHINE_RESET(apple2gs);
+ DECLARE_VIDEO_START(apple2gs);
+ DECLARE_PALETTE_INIT(apple2gs);
+ DECLARE_MACHINE_START(apple2gsr1);
+ DECLARE_MACHINE_START(apple2gscommon);
};
/*----------- defined in machine/apple2gs.c -----------*/
-MACHINE_START( apple2gs );
-MACHINE_START( apple2gsr1 );
-MACHINE_RESET( apple2gs );
+
+
+
void apple2gs_doc_irq(device_t *device, int state);
/*----------- defined in video/apple2gs.c -----------*/
-VIDEO_START( apple2gs );
+
SCREEN_UPDATE_IND16( apple2gs );
diff --git a/src/mess/includes/apple3.h b/src/mess/includes/apple3.h
index e815ba191d8..b38eaaa5613 100644
--- a/src/mess/includes/apple3.h
+++ b/src/mess/includes/apple3.h
@@ -57,6 +57,8 @@ public:
void apple3_profile_w(offs_t offset, UINT8 data);
DECLARE_DIRECT_UPDATE_MEMBER(apple3_opbase);
DECLARE_DRIVER_INIT(apple3);
+ DECLARE_MACHINE_RESET(apple3);
+ DECLARE_VIDEO_START(apple3);
};
@@ -66,7 +68,7 @@ extern const applefdc_interface apple3_fdc_interface;
extern const via6522_interface apple3_via_0_intf;
extern const via6522_interface apple3_via_1_intf;
-MACHINE_RESET( apple3 );
+
INTERRUPT_GEN( apple3_interrupt );
@@ -74,7 +76,7 @@ INTERRUPT_GEN( apple3_interrupt );
/*----------- defined in video/apple3.c -----------*/
-VIDEO_START( apple3 );
+
SCREEN_UPDATE_IND16( apple3 );
void apple3_write_charmem(running_machine &machine);
diff --git a/src/mess/includes/aquarius.h b/src/mess/includes/aquarius.h
index 64da781f49b..c3b4dcc79ed 100644
--- a/src/mess/includes/aquarius.h
+++ b/src/mess/includes/aquarius.h
@@ -34,14 +34,16 @@ public:
DECLARE_WRITE8_MEMBER(floppy_w);
DECLARE_DRIVER_INIT(aquarius);
TILE_GET_INFO_MEMBER(aquarius_gettileinfo);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/aquarius.c -----------*/
-PALETTE_INIT( aquarius );
-VIDEO_START( aquarius );
+
+
SCREEN_UPDATE_IND16( aquarius );
#endif /* AQUARIUS_H_ */
diff --git a/src/mess/includes/arcadia.h b/src/mess/includes/arcadia.h
index 49e76ffa06a..d77ce9480b5 100644
--- a/src/mess/includes/arcadia.h
+++ b/src/mess/includes/arcadia.h
@@ -78,6 +78,8 @@ public:
} m_reg;
bitmap_ind16 *m_bitmap;
DECLARE_DRIVER_INIT(arcadia);
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mess/includes/at.h b/src/mess/includes/at.h
index 5f082026488..77043fa870c 100644
--- a/src/mess/includes/at.h
+++ b/src/mess/includes/at.h
@@ -178,7 +178,8 @@ public:
DECLARE_DRIVER_INIT(atcga);
DECLARE_DRIVER_INIT(atvga);
-
+ DECLARE_MACHINE_START(at);
+ DECLARE_MACHINE_RESET(at);
void pc_set_dma_channel(int channel, int state);
};
@@ -193,8 +194,8 @@ extern const am9517a_interface at_dma8237_2_config;
-MACHINE_START( at );
-MACHINE_RESET( at );
+
+
#endif /* AT_H_ */
diff --git a/src/mess/includes/avigo.h b/src/mess/includes/avigo.h
index 5f5c61277a6..3858188a5b7 100644
--- a/src/mess/includes/avigo.h
+++ b/src/mess/includes/avigo.h
@@ -104,6 +104,7 @@ public:
UINT8 m_screen_column;
UINT8 m_warm_start;
UINT8 * m_ram_base;
+ virtual void palette_init();
};
diff --git a/src/mess/includes/b2m.h b/src/mess/includes/b2m.h
index 2b31a57b2b1..1b9168dc60e 100644
--- a/src/mess/includes/b2m.h
+++ b/src/mess/includes/b2m.h
@@ -44,6 +44,10 @@ public:
DECLARE_WRITE8_MEMBER(b2m_localmachine_w);
DECLARE_READ8_MEMBER(b2m_localmachine_r);
DECLARE_DRIVER_INIT(b2m);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in machine/b2m.c -----------*/
diff --git a/src/mess/includes/bbc.h b/src/mess/includes/bbc.h
index 9fb3bf0b12c..acc8c7b5fb1 100644
--- a/src/mess/includes/bbc.h
+++ b/src/mess/includes/bbc.h
@@ -266,6 +266,19 @@ public:
DECLARE_DIRECT_UPDATE_MEMBER(bbcm_direct_handler);
DECLARE_DRIVER_INIT(bbc);
DECLARE_DRIVER_INIT(bbcm);
+ DECLARE_MACHINE_START(bbca);
+ DECLARE_MACHINE_RESET(bbca);
+ DECLARE_VIDEO_START(bbca);
+ DECLARE_PALETTE_INIT(bbc);
+ DECLARE_MACHINE_START(bbcm);
+ DECLARE_MACHINE_RESET(bbcm);
+ DECLARE_VIDEO_START(bbcm);
+ DECLARE_MACHINE_START(bbcb);
+ DECLARE_MACHINE_RESET(bbcb);
+ DECLARE_VIDEO_START(bbcb);
+ DECLARE_MACHINE_START(bbcbp);
+ DECLARE_MACHINE_RESET(bbcbp);
+ DECLARE_VIDEO_START(bbcbp);
};
@@ -279,15 +292,15 @@ extern const via6522_interface bbcb_system_via;
extern const via6522_interface bbcb_user_via;
extern const wd17xx_interface bbc_wd17xx_interface;
-MACHINE_START( bbca );
-MACHINE_START( bbcb );
-MACHINE_START( bbcbp );
-MACHINE_START( bbcm );
-MACHINE_RESET( bbca );
-MACHINE_RESET( bbcb );
-MACHINE_RESET( bbcbp );
-MACHINE_RESET( bbcm );
+
+
+
+
+
+
+
+
INTERRUPT_GEN( bbcb_keyscan );
INTERRUPT_GEN( bbcm_keyscan );
@@ -317,10 +330,10 @@ extern const uPD7002_interface bbc_uPD7002;
/*----------- defined in video/bbc.c -----------*/
-VIDEO_START( bbca );
-VIDEO_START( bbcb );
-VIDEO_START( bbcbp );
-VIDEO_START( bbcm );
+
+
+
+
SCREEN_UPDATE_IND16( bbc );
void bbc_draw_RGB_in(device_t *device, int offset, int data);
diff --git a/src/mess/includes/bebox.h b/src/mess/includes/bebox.h
index a77b2fc7cd5..a0f97a33e46 100644
--- a/src/mess/includes/bebox.h
+++ b/src/mess/includes/bebox.h
@@ -39,6 +39,8 @@ public:
UINT8 m_at_pages[0x10];
UINT32 m_scsi53c810_data[0x100 / 4];
DECLARE_DRIVER_INIT(bebox);
+ virtual void machine_start();
+ virtual void machine_reset();
};
@@ -54,8 +56,8 @@ extern const ins8250_interface bebox_uart_inteface_1;
extern const ins8250_interface bebox_uart_inteface_2;
extern const ins8250_interface bebox_uart_inteface_3;
-MACHINE_START( bebox );
-MACHINE_RESET( bebox );
+
+
READ64_HANDLER( bebox_cpu0_imask_r );
READ64_HANDLER( bebox_cpu1_imask_r );
diff --git a/src/mess/includes/bk.h b/src/mess/includes/bk.h
index cb7f6c9f0aa..70ec16ebc2d 100644
--- a/src/mess/includes/bk.h
+++ b/src/mess/includes/bk.h
@@ -33,6 +33,9 @@ public:
DECLARE_WRITE16_MEMBER(bk_floppy_cmd_w);
DECLARE_READ16_MEMBER(bk_floppy_data_r);
DECLARE_WRITE16_MEMBER(bk_floppy_data_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mess/includes/busicom.h b/src/mess/includes/busicom.h
index 574186c698c..739f0b7396d 100644
--- a/src/mess/includes/busicom.h
+++ b/src/mess/includes/busicom.h
@@ -26,6 +26,10 @@ public:
DECLARE_WRITE8_MEMBER(printer_w);
DECLARE_WRITE8_MEMBER(status_w);
DECLARE_WRITE8_MEMBER(printer_ctrl_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mess/includes/bw2.h b/src/mess/includes/bw2.h
index aaa60cd1556..3480152a035 100644
--- a/src/mess/includes/bw2.h
+++ b/src/mess/includes/bw2.h
@@ -93,6 +93,7 @@ public:
// video state
UINT8 *m_video_ram;
+ virtual void palette_init();
};
#endif
diff --git a/src/mess/includes/c65.h b/src/mess/includes/c65.h
index ff0df05c0b8..1588ba101cb 100644
--- a/src/mess/includes/c65.h
+++ b/src/mess/includes/c65.h
@@ -62,6 +62,8 @@ public:
DECLARE_READ8_MEMBER( sid_potx_r );
DECLARE_READ8_MEMBER( sid_poty_r );
+ DECLARE_MACHINE_START(c65);
+ DECLARE_PALETTE_INIT(c65);
};
@@ -82,7 +84,7 @@ int c65_dma_read_color(running_machine &machine, int offset);
void c65_vic_interrupt(running_machine &machine, int level);
void c65_bankswitch_interface(running_machine &machine, int value);
-MACHINE_START( c65 );
+
INTERRUPT_GEN( c65_frame_interrupt );
extern const mos6526_interface c65_cia0;
diff --git a/src/mess/includes/cbmb.h b/src/mess/includes/cbmb.h
index 7e7d8061371..7af1a34c90c 100644
--- a/src/mess/includes/cbmb.h
+++ b/src/mess/includes/cbmb.h
@@ -61,6 +61,10 @@ public:
DECLARE_DRIVER_INIT(cbm600hu);
DECLARE_DRIVER_INIT(cbm600pal);
DECLARE_DRIVER_INIT(cbm700);
+ DECLARE_MACHINE_RESET(cbmb);
+ DECLARE_VIDEO_START(cbmb_crtc);
+ DECLARE_PALETTE_INIT(cbm700);
+ DECLARE_VIDEO_START(cbm700);
};
/*----------- defined in machine/cbmb.c -----------*/
@@ -86,21 +90,21 @@ int cbmb_dma_read_color(running_machine &machine, int offset);
WRITE_LINE_DEVICE_HANDLER( cbmb_change_font );
-MACHINE_RESET( cbmb );
+
MACHINE_CONFIG_EXTERN( cbmb_cartslot );
/*----------- defined in video/cbmb.c -----------*/
-VIDEO_START( cbmb_crtc );
+
MC6845_UPDATE_ROW( cbm600_update_row );
MC6845_UPDATE_ROW( cbm700_update_row );
WRITE_LINE_DEVICE_HANDLER( cbmb_display_enable_changed );
void cbm600_vh_init(running_machine &machine);
void cbm700_vh_init(running_machine &machine);
-VIDEO_START( cbm700 );
+
void cbmb_vh_set_font(running_machine &machine, int font);
diff --git a/src/mess/includes/cgenie.h b/src/mess/includes/cgenie.h
index 60b94160ee1..53353bb54c9 100644
--- a/src/mess/includes/cgenie.h
+++ b/src/mess/includes/cgenie.h
@@ -65,6 +65,11 @@ public:
bitmap_ind16 m_dlybitmap;
int m_off_x;
int m_off_y;
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_PALETTE_INIT(cgenie);
+ DECLARE_PALETTE_INIT(cgenienz);
};
@@ -81,8 +86,8 @@ READ8_HANDLER ( cgenie_psg_port_b_r );
WRITE8_HANDLER ( cgenie_psg_port_a_w );
WRITE8_HANDLER ( cgenie_psg_port_b_w );
-MACHINE_START( cgenie );
-MACHINE_RESET( cgenie );
+
+
READ8_HANDLER ( cgenie_colorram_r );
READ8_HANDLER ( cgenie_fontram_r );
@@ -118,7 +123,7 @@ WRITE8_HANDLER ( cgenie_videoram_w );
/*----------- defined in video/cgenie.c -----------*/
-VIDEO_START( cgenie );
+
SCREEN_UPDATE_IND16( cgenie );
READ8_HANDLER ( cgenie_index_r );
diff --git a/src/mess/includes/channelf.h b/src/mess/includes/channelf.h
index efd10e9cfb4..614a09c81e1 100644
--- a/src/mess/includes/channelf.h
+++ b/src/mess/includes/channelf.h
@@ -48,13 +48,15 @@ public:
UINT8 m_row_reg;
UINT8 m_col_reg;
UINT8 port_read_with_latch(UINT8 ext, UINT8 latch_state);
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/channelf.c -----------*/
-PALETTE_INIT( channelf );
-VIDEO_START( channelf );
+
+
SCREEN_UPDATE_IND16( channelf );
diff --git a/src/mess/includes/compis.h b/src/mess/includes/compis.h
index 01816c631ad..976ba189e70 100644
--- a/src/mess/includes/compis.h
+++ b/src/mess/includes/compis.h
@@ -183,6 +183,9 @@ public:
required_shared_ptr<UINT8> m_video_ram;
DECLARE_DRIVER_INIT(compis);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -196,8 +199,8 @@ extern const struct pic8259_interface compis_pic8259_slave_config;
extern const i8251_interface compis_usart_interface;
extern const upd765_interface compis_fdc_interface;
-MACHINE_START(compis);
-MACHINE_RESET(compis);
+
+
INTERRUPT_GEN(compis_vblank_int);
#endif /* COMPIS_H_ */
diff --git a/src/mess/includes/comquest.h b/src/mess/includes/comquest.h
index 0cc88d870a7..7e3b41381f8 100644
--- a/src/mess/includes/comquest.h
+++ b/src/mess/includes/comquest.h
@@ -22,12 +22,14 @@ public:
int m_count;
DECLARE_READ8_MEMBER(comquest_read);
DECLARE_WRITE8_MEMBER(comquest_write);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in video/comquest.c -----------*/
-VIDEO_START( comquest );
+
SCREEN_UPDATE_IND16( comquest );
diff --git a/src/mess/includes/concept.h b/src/mess/includes/concept.h
index a31af4e7b38..7f2ee1f0fe9 100644
--- a/src/mess/includes/concept.h
+++ b/src/mess/includes/concept.h
@@ -53,6 +53,8 @@ public:
DECLARE_WRITE8_MEMBER(concept_fdc_reg_w);
DECLARE_READ8_MEMBER(concept_hdc_reg_r);
DECLARE_WRITE8_MEMBER(concept_hdc_reg_w);
+ virtual void machine_start();
+ virtual void video_start();
};
@@ -61,8 +63,8 @@ public:
extern const via6522_interface concept_via6522_intf;
extern const wd17xx_interface concept_wd17xx_interface;
-MACHINE_START(concept);
-VIDEO_START(concept);
+
+
SCREEN_UPDATE_IND16(concept);
INTERRUPT_GEN( concept_interrupt );
diff --git a/src/mess/includes/cxhumax.h b/src/mess/includes/cxhumax.h
index ab0d0ff0897..3b63f5eec14 100644
--- a/src/mess/includes/cxhumax.h
+++ b/src/mess/includes/cxhumax.h
@@ -148,6 +148,9 @@ public:
UINT32 m_hdmi_regs[0x400/4];
UINT32 m_gxa_cmd_regs[0x130/4];
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
#define INTDEST 0 // Interrupt destination (1=IRQ, 0=FIQ)
diff --git a/src/mess/includes/cybiko.h b/src/mess/includes/cybiko.h
index b1e76d6ea69..89674d1edda 100644
--- a/src/mess/includes/cybiko.h
+++ b/src/mess/includes/cybiko.h
@@ -79,6 +79,13 @@ public:
DECLARE_DRIVER_INIT(cybikoxt);
DECLARE_DRIVER_INIT(cybikov1);
DECLARE_DRIVER_INIT(cybikov2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(cybikov2);
+ DECLARE_MACHINE_RESET(cybikov2);
+ DECLARE_MACHINE_START(cybikoxt);
+ DECLARE_MACHINE_RESET(cybikoxt);
};
@@ -87,14 +94,14 @@ public:
// driver init
// machine start
-MACHINE_START( cybikov1 );
-MACHINE_START( cybikov2 );
-MACHINE_START( cybikoxt );
+
+
+
// machine reset
-MACHINE_RESET( cybikov1 );
-MACHINE_RESET( cybikov2 );
-MACHINE_RESET( cybikoxt );
+
+
+
#endif /* CYBIKO_H_ */
diff --git a/src/mess/includes/dai.h b/src/mess/includes/dai.h
index 1ef82b017f4..bf0c1e03e57 100644
--- a/src/mess/includes/dai.h
+++ b/src/mess/includes/dai.h
@@ -76,6 +76,10 @@ public:
DECLARE_WRITE8_MEMBER(dai_pit_w);
DECLARE_READ8_MEMBER(dai_keyboard_r);
DECLARE_WRITE8_MEMBER(dai_keyboard_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -85,17 +89,17 @@ extern const struct pit8253_config dai_pit8253_intf;
extern const i8255_interface dai_ppi82555_intf;
extern const tms5501_interface dai_tms5501_interface;
-MACHINE_START( dai );
-MACHINE_RESET( dai );
+
+
/*----------- defined in video/dai.c -----------*/
extern const unsigned char dai_palette[16*3];
-VIDEO_START( dai );
+
SCREEN_UPDATE_IND16( dai );
-PALETTE_INIT( dai );
+
/*----------- defined in audio/dai.c -----------*/
diff --git a/src/mess/includes/dgn_beta.h b/src/mess/includes/dgn_beta.h
index a4237524530..d9c46e287ac 100644
--- a/src/mess/includes/dgn_beta.h
+++ b/src/mess/includes/dgn_beta.h
@@ -142,6 +142,8 @@ public:
int m_ColourRAM[4];
int m_Field;
int m_DrawInterlace;
+ virtual void machine_start();
+ virtual void palette_init();
};
@@ -150,8 +152,8 @@ public:
extern const wd17xx_interface dgnbeta_wd17xx_interface;
extern const pia6821_interface dgnbeta_pia_intf[];
-MACHINE_START( dgnbeta );
-MACHINE_RESET( dgnbeta );
+
+
// Page IO at FE00
READ8_HANDLER( dgn_beta_page_r );
diff --git a/src/mess/includes/dm7000.h b/src/mess/includes/dm7000.h
index a19408a64a8..1286edfbd9a 100644
--- a/src/mess/includes/dm7000.h
+++ b/src/mess/includes/dm7000.h
@@ -40,6 +40,8 @@ public:
UINT16 m_enet_regs[32];
UINT32 dcr[1024];
+ virtual void machine_reset();
+ virtual void video_start();
};
/* */
diff --git a/src/mess/includes/einstein.h b/src/mess/includes/einstein.h
index dbbe3d271d5..37446f74d24 100644
--- a/src/mess/includes/einstein.h
+++ b/src/mess/includes/einstein.h
@@ -78,6 +78,10 @@ public:
DECLARE_WRITE8_MEMBER(einstein_kybintmsk_w);
DECLARE_WRITE8_MEMBER(einstein_adcintmsk_w);
DECLARE_WRITE8_MEMBER(einstein_fire_int_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(einstein2);
+ DECLARE_MACHINE_RESET(einstein2);
};
diff --git a/src/mess/includes/electron.h b/src/mess/includes/electron.h
index 6465d7b9d7c..4bf7dde2c35 100644
--- a/src/mess/includes/electron.h
+++ b/src/mess/includes/electron.h
@@ -71,19 +71,22 @@ public:
DECLARE_WRITE8_MEMBER(electron_ula_w);
void electron_tape_start();
void electron_tape_stop();
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in machine/electron.c -----------*/
-MACHINE_START( electron );
+
void electron_interrupt_handler(running_machine &machine, int mode, int interrupt);
/*----------- defined in video/electron.c -----------*/
-VIDEO_START( electron );
+
SCREEN_UPDATE_IND16( electron );
diff --git a/src/mess/includes/enterp.h b/src/mess/includes/enterp.h
index 521180b0d64..1b0adba3f74 100644
--- a/src/mess/includes/enterp.h
+++ b/src/mess/includes/enterp.h
@@ -26,13 +26,16 @@ public:
struct _NICK_STATE *nick;
DECLARE_READ8_MEMBER(exdos_card_r);
DECLARE_WRITE8_MEMBER(exdos_card_w);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/epnick.c -----------*/
-PALETTE_INIT( epnick );
-VIDEO_START( epnick );
+
+
SCREEN_UPDATE_IND16( epnick );
WRITE8_HANDLER( epnick_reg_w );
diff --git a/src/mess/includes/fm7.h b/src/mess/includes/fm7.h
index 4a1cf04748d..04a1ff95a04 100644
--- a/src/mess/includes/fm7.h
+++ b/src/mess/includes/fm7.h
@@ -231,6 +231,13 @@ public:
void fm77av_encoder_setup_command();
void fm77av_encoder_handle_command();
DECLARE_DRIVER_INIT(fm7);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(fm7);
+ DECLARE_MACHINE_START(fm77av);
+ DECLARE_MACHINE_START(fm11);
+ DECLARE_MACHINE_START(fm16);
};
@@ -248,8 +255,8 @@ TIMER_CALLBACK( fm77av_vsync );
-VIDEO_START( fm7 );
+
SCREEN_UPDATE_IND16( fm7 );
-PALETTE_INIT( fm7 );
+
#endif /*FM7_H_*/
diff --git a/src/mess/includes/galaxy.h b/src/mess/includes/galaxy.h
index 5f0686e451d..48389ccf9d9 100644
--- a/src/mess/includes/galaxy.h
+++ b/src/mess/includes/galaxy.h
@@ -28,22 +28,25 @@ public:
DECLARE_WRITE8_MEMBER(galaxy_latch_w);
DECLARE_DRIVER_INIT(galaxy);
DECLARE_DRIVER_INIT(galaxyp);
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(galaxy);
+ DECLARE_MACHINE_RESET(galaxyp);
};
/*----------- defined in machine/galaxy.c -----------*/
-MACHINE_RESET( galaxy );
+
INTERRUPT_GEN( galaxy_interrupt );
SNAPSHOT_LOAD( galaxy );
-MACHINE_RESET( galaxyp );
+
/*----------- defined in video/galaxy.c -----------*/
-VIDEO_START( galaxy );
+
SCREEN_UPDATE_IND16( galaxy );
void galaxy_set_timer(running_machine &machine);
diff --git a/src/mess/includes/galeb.h b/src/mess/includes/galeb.h
index 23b7404a847..d79b184ef67 100644
--- a/src/mess/includes/galeb.h
+++ b/src/mess/includes/galeb.h
@@ -17,6 +17,7 @@ public:
required_shared_ptr<UINT8> m_video_ram;
DECLARE_READ8_MEMBER(galeb_keyboard_r);
+ virtual void video_start();
};
/*----------- defined in video/galeb.c -----------*/
diff --git a/src/mess/includes/gamecom.h b/src/mess/includes/gamecom.h
index 74c4fdc31bd..93e2bfd8ce8 100644
--- a/src/mess/includes/gamecom.h
+++ b/src/mess/includes/gamecom.h
@@ -240,6 +240,9 @@ public:
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_DRIVER_INIT(gamecom);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -255,7 +258,7 @@ extern void gamecom_update_timers( device_t *device, int cycles );
/*----------- defined in video/gamecom.c -----------*/
-VIDEO_START( gamecom );
+
#endif /* GAMECOM_H_ */
diff --git a/src/mess/includes/gb.h b/src/mess/includes/gb.h
index 5530a4b3ef1..c6829ac5e4a 100644
--- a/src/mess/includes/gb.h
+++ b/src/mess/includes/gb.h
@@ -229,6 +229,22 @@ public:
DECLARE_WRITE8_MEMBER(gb_video_w);
DECLARE_READ8_MEMBER(gbc_video_r);
DECLARE_WRITE8_MEMBER(gbc_video_w);
+ DECLARE_MACHINE_START(gb);
+ DECLARE_MACHINE_RESET(gb);
+ DECLARE_PALETTE_INIT(gb);
+ DECLARE_MACHINE_START(megaduck);
+ DECLARE_MACHINE_RESET(megaduck);
+ DECLARE_PALETTE_INIT(megaduck);
+ DECLARE_MACHINE_START(sgb);
+ DECLARE_MACHINE_RESET(sgb);
+ DECLARE_PALETTE_INIT(sgb);
+ DECLARE_MACHINE_RESET(gbpocket);
+ DECLARE_PALETTE_INIT(gbp);
+ DECLARE_MACHINE_START(gbc);
+ DECLARE_MACHINE_RESET(gbc);
+ DECLARE_PALETTE_INIT(gbc);
+ DECLARE_MACHINE_START(gb_video);
+ DECLARE_MACHINE_START(gbc_video);
};
@@ -238,9 +254,9 @@ DEVICE_START(gb_cart);
DEVICE_IMAGE_LOAD(gb_cart);
INTERRUPT_GEN( gb_scanline_interrupt );
void gb_timer_callback(lr35902_cpu_device *device, int cycles);
-MACHINE_START( gb );
-MACHINE_RESET( gb );
-MACHINE_RESET( gbpocket );
+
+
+
/* -- Super Game Boy specific -- */
#define SGB_BORDER_PAL_OFFSET 64 /* Border colours stored from pal 4-7 */
@@ -248,17 +264,9 @@ MACHINE_RESET( gbpocket );
#define SGB_YOFFSET 40 /* GB screen starts at row 40 */
-extern MACHINE_START( sgb );
-extern MACHINE_RESET( sgb );
-
-MACHINE_START( gbc );
-MACHINE_RESET( gbc );
-
-
/* -- Megaduck specific -- */
extern DEVICE_IMAGE_LOAD(megaduck_cart);
-extern MACHINE_START( megaduck );
-extern MACHINE_RESET( megaduck );
+
/*----------- defined in video/gb.c -----------*/
@@ -273,14 +281,14 @@ enum
GB_VIDEO_CGB
};
-PALETTE_INIT( gb );
-PALETTE_INIT( gbp );
-PALETTE_INIT( sgb );
-PALETTE_INIT( gbc );
-PALETTE_INIT( megaduck );
-MACHINE_START( gb_video );
-MACHINE_START( gbc_video );
+
+
+
+
+
+
+
void gb_video_reset( running_machine &machine, int mode );
UINT8 *gb_get_vram_ptr(running_machine &machine);
diff --git a/src/mess/includes/gba.h b/src/mess/includes/gba.h
index e0a10253ebb..e155f9500c8 100644
--- a/src/mess/includes/gba.h
+++ b/src/mess/includes/gba.h
@@ -237,6 +237,9 @@ public:
DECLARE_READ32_MEMBER(eeprom_r);
DECLARE_WRITE32_MEMBER(eeprom_w);
DECLARE_DRIVER_INIT(gbadv);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*----------- defined in video/gba.c -----------*/
diff --git a/src/mess/includes/gmaster.h b/src/mess/includes/gmaster.h
index 04171abb95f..932ebd76fab 100644
--- a/src/mess/includes/gmaster.h
+++ b/src/mess/includes/gmaster.h
@@ -30,6 +30,7 @@ public:
DECLARE_READ8_MEMBER(gmaster_port_r);
DECLARE_WRITE8_MEMBER(gmaster_port_w);
DECLARE_DRIVER_INIT(gmaster);
+ virtual void palette_init();
};
diff --git a/src/mess/includes/gp32.h b/src/mess/includes/gp32.h
index 94482504466..a7dd86e035b 100644
--- a/src/mess/includes/gp32.h
+++ b/src/mess/includes/gp32.h
@@ -161,6 +161,8 @@ public:
DECLARE_WRITE32_MEMBER(s3c240x_spi_w);
DECLARE_READ32_MEMBER(s3c240x_mmc_r);
DECLARE_WRITE32_MEMBER(s3c240x_mmc_w);
+ virtual void machine_start();
+ virtual void machine_reset();
};
diff --git a/src/mess/includes/hec2hrp.h b/src/mess/includes/hec2hrp.h
index 54b6005fa3a..a1a77777d15 100644
--- a/src/mess/includes/hec2hrp.h
+++ b/src/mess/includes/hec2hrp.h
@@ -129,6 +129,13 @@ public:
DECLARE_WRITE8_MEMBER(hector_io_8255_w);
DECLARE_WRITE8_MEMBER(hector_mx40_io_port_w);
DECLARE_WRITE8_MEMBER(hector_mx80_io_port_w);
+ DECLARE_MACHINE_START(hec2hrp);
+ DECLARE_MACHINE_RESET(hec2hrp);
+ DECLARE_VIDEO_START(hec2hrp);
+ DECLARE_MACHINE_START(hec2hrx);
+ DECLARE_MACHINE_RESET(hec2hrx);
+ DECLARE_MACHINE_START(hec2mdhrx);
+ DECLARE_MACHINE_RESET(hec2mdhrx);
};
/*----------- defined in machine/hec2hrp.c -----------*/
@@ -146,7 +153,7 @@ READ8_HANDLER( hector_mx_io_port_r );
void hector_80c(running_machine &machine, bitmap_ind16 &bitmap, UINT8 *page, int ymax, int yram) ;
void hector_hr(running_machine &machine, bitmap_ind16 &bitmap, UINT8 *page, int ymax, int yram) ;
-VIDEO_START( hec2hrp );
+
SCREEN_UPDATE_IND16( hec2hrp );
/* Sound function*/
diff --git a/src/mess/includes/hp48.h b/src/mess/includes/hp48.h
index 7a35ae22678..3b457859d3d 100644
--- a/src/mess/includes/hp48.h
+++ b/src/mess/includes/hp48.h
@@ -68,6 +68,13 @@ public:
UINT8 m_screens[ HP48_NB_SCREENS ][ 64 ][ 144 ];
int m_cur_screen;
DECLARE_DRIVER_INIT(hp48);
+ virtual void machine_reset();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(hp48gx);
+ DECLARE_MACHINE_START(hp48g);
+ DECLARE_MACHINE_START(hp48gp);
+ DECLARE_MACHINE_START(hp48sx);
+ DECLARE_MACHINE_START(hp48s);
};
diff --git a/src/mess/includes/intv.h b/src/mess/includes/intv.h
index 2976d347f21..2641cd7c41b 100644
--- a/src/mess/includes/intv.h
+++ b/src/mess/includes/intv.h
@@ -126,6 +126,10 @@ public:
int m_tape_motor_mode;
DECLARE_DRIVER_INIT(intvkbd);
DECLARE_DRIVER_INIT(intv);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_RESET(intvecs);
};
/*----------- defined in video/intv.c -----------*/
diff --git a/src/mess/includes/irisha.h b/src/mess/includes/irisha.h
index a39228ccd92..26efb22a5c9 100644
--- a/src/mess/includes/irisha.h
+++ b/src/mess/includes/irisha.h
@@ -43,6 +43,9 @@ public:
void update_speaker();
DECLARE_DRIVER_INIT(irisha);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mess/includes/jtc.h b/src/mess/includes/jtc.h
index 9f454aed8c6..c1bfa9b3aeb 100644
--- a/src/mess/includes/jtc.h
+++ b/src/mess/includes/jtc.h
@@ -42,7 +42,7 @@ public:
DECLARE_WRITE8_MEMBER( p2_w );
DECLARE_READ8_MEMBER( p3_r );
DECLARE_WRITE8_MEMBER( p3_w );
-
+ DECLARE_PALETTE_INIT(jtc_es40);
optional_shared_ptr<UINT8> m_video_ram;
};
diff --git a/src/mess/includes/kaypro.h b/src/mess/includes/kaypro.h
index 3252a5ad150..76092fe0ecc 100644
--- a/src/mess/includes/kaypro.h
+++ b/src/mess/includes/kaypro.h
@@ -68,6 +68,12 @@ public:
struct _kay_kbd_t *m_kbd;
void mc6845_cursor_configure();
void mc6845_screen_configure();
+ DECLARE_MACHINE_START(kayproii);
+ DECLARE_MACHINE_RESET(kayproii);
+ DECLARE_VIDEO_START(kaypro);
+ DECLARE_MACHINE_RESET(kaypro2x);
+ DECLARE_PALETTE_INIT(kaypro);
+ DECLARE_MACHINE_RESET(kay_kbd);
};
@@ -77,7 +83,7 @@ UINT8 kay_kbd_c_r( running_machine &machine );
UINT8 kay_kbd_d_r( running_machine &machine );
void kay_kbd_d_w( running_machine &machine, UINT8 data );
INTERRUPT_GEN( kay_kbd_interrupt );
-MACHINE_RESET( kay_kbd );
+
INPUT_PORTS_EXTERN( kay_kbd );
@@ -92,9 +98,9 @@ extern const wd17xx_interface kaypro_wd1793_interface;
READ8_DEVICE_HANDLER( kaypro_sio_r );
WRITE8_DEVICE_HANDLER( kaypro_sio_w );
-MACHINE_RESET( kayproii );
-MACHINE_START( kayproii );
-MACHINE_RESET( kaypro2x );
+
+
+
QUICKLOAD_LOAD( kayproii );
QUICKLOAD_LOAD( kaypro2x );
@@ -102,8 +108,8 @@ QUICKLOAD_LOAD( kaypro2x );
/*----------- defined in video/kaypro.c -----------*/
MC6845_UPDATE_ROW( kaypro2x_update_row );
-PALETTE_INIT( kaypro );
-VIDEO_START( kaypro );
+
+
SCREEN_UPDATE_IND16( kayproii );
SCREEN_UPDATE_IND16( omni2 );
SCREEN_UPDATE_RGB32( kaypro2x );
diff --git a/src/mess/includes/kc.h b/src/mess/includes/kc.h
index 66f7177bfaa..fcfe926748e 100644
--- a/src/mess/includes/kc.h
+++ b/src/mess/includes/kc.h
@@ -145,6 +145,7 @@ public:
int m_cassette_in;
kcexp_slot_device * m_expansions[3];
+ DECLARE_PALETTE_INIT(kc85);
};
diff --git a/src/mess/includes/kramermc.h b/src/mess/includes/kramermc.h
index 2d3dffefa59..52ce6832d82 100644
--- a/src/mess/includes/kramermc.h
+++ b/src/mess/includes/kramermc.h
@@ -17,12 +17,14 @@ public:
UINT8 m_key_row;
DECLARE_DRIVER_INIT(kramermc);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in machine/kramermc.c -----------*/
-MACHINE_RESET( kramermc );
+
extern const z80pio_interface kramermc_z80pio_intf;
@@ -30,7 +32,7 @@ extern const z80pio_interface kramermc_z80pio_intf;
extern const gfx_layout kramermc_charlayout;
-VIDEO_START( kramermc );
+
SCREEN_UPDATE_IND16( kramermc );
diff --git a/src/mess/includes/kyocera.h b/src/mess/includes/kyocera.h
index 1333a56a945..86869b4ba0d 100644
--- a/src/mess/includes/kyocera.h
+++ b/src/mess/includes/kyocera.h
@@ -113,6 +113,8 @@ public:
/* sound state */
int m_buzzer; /* buzzer select */
int m_bell; /* bell output */
+
+ DECLARE_PALETTE_INIT(kc85);
};
class trsm100_state : public kc85_state
diff --git a/src/mess/includes/lisa.h b/src/mess/includes/lisa.h
index 0ce0073f8c8..13423f4e29a 100644
--- a/src/mess/includes/lisa.h
+++ b/src/mess/includes/lisa.h
@@ -160,6 +160,9 @@ public:
DECLARE_DRIVER_INIT(lisa210);
DECLARE_DRIVER_INIT(mac_xl);
DECLARE_DRIVER_INIT(lisa2);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -168,14 +171,14 @@ public:
extern const via6522_interface lisa_via6522_0_intf;
extern const via6522_interface lisa_via6522_1_intf;
-VIDEO_START( lisa );
+
SCREEN_UPDATE_IND16( lisa );
extern NVRAM_HANDLER(lisa);
-MACHINE_START( lisa );
-MACHINE_RESET( lisa );
+
+
INTERRUPT_GEN( lisa_interrupt );
diff --git a/src/mess/includes/llc.h b/src/mess/includes/llc.h
index 385e0cc9f5a..4882c6450cd 100644
--- a/src/mess/includes/llc.h
+++ b/src/mess/includes/llc.h
@@ -47,6 +47,10 @@ private:
public:
DECLARE_DRIVER_INIT(llc2);
DECLARE_DRIVER_INIT(llc1);
+ virtual void video_start();
+ DECLARE_MACHINE_START(llc1);
+ DECLARE_MACHINE_RESET(llc1);
+ DECLARE_MACHINE_RESET(llc2);
};
diff --git a/src/mess/includes/lviv.h b/src/mess/includes/lviv.h
index 58dc202c048..a7a8fda2597 100644
--- a/src/mess/includes/lviv.h
+++ b/src/mess/includes/lviv.h
@@ -23,6 +23,9 @@ public:
DECLARE_READ8_MEMBER(lviv_io_r);
DECLARE_WRITE8_MEMBER(lviv_io_w);
DECLARE_DIRECT_UPDATE_MEMBER(lviv_directoverride);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -31,7 +34,7 @@ public:
extern const i8255_interface lviv_ppi8255_interface_0;
extern const i8255_interface lviv_ppi8255_interface_1;
-MACHINE_RESET( lviv );
+
SNAPSHOT_LOAD( lviv );
diff --git a/src/mess/includes/lynx.h b/src/mess/includes/lynx.h
index 1f643b23610..e43c9da8d1b 100644
--- a/src/mess/includes/lynx.h
+++ b/src/mess/includes/lynx.h
@@ -137,13 +137,16 @@ public:
void lynx_multiply();
UINT8 lynx_timer_read(int which, int offset);
void lynx_timer_write(int which, int offset, UINT8 data);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
/*----------- defined in machine/lynx.c -----------*/
-MACHINE_START( lynx );
-MACHINE_RESET( lynx );
+
+
void lynx_timer_count_down(running_machine &machine, int nr);
diff --git a/src/mess/includes/mac.h b/src/mess/includes/mac.h
index 76724055c13..490e3789d69 100644
--- a/src/mess/includes/mac.h
+++ b/src/mess/includes/mac.h
@@ -142,25 +142,25 @@ void mac_scsi_irq(running_machine &machine, int state);
void mac_asc_irq(device_t *device, int state);
void mac_fdc_set_enable_lines(device_t *device, int enable_mask);
-MACHINE_START( macscsi );
-MACHINE_START( mac );
-MACHINE_RESET( mac );
+
+
+
NVRAM_HANDLER( mac );
/*----------- defined in video/mac.c -----------*/
-VIDEO_START( mac );
-VIDEO_START( macrbv );
-VIDEO_START( macv8 );
-VIDEO_START( macsonora );
-VIDEO_START( macdafb );
-VIDEO_RESET(macrbv);
-VIDEO_RESET(macdafb);
-VIDEO_RESET(maceagle);
-VIDEO_RESET(macsonora);
+
+
+
+
+
+
+
+
+
SCREEN_UPDATE_IND16( mac );
SCREEN_UPDATE_IND16( macse30 );
@@ -172,8 +172,8 @@ SCREEN_UPDATE_RGB32( macrbvvram );
SCREEN_UPDATE_RGB32( macdafb );
SCREEN_UPDATE_RGB32( macpbwd );
-PALETTE_INIT( mac );
-PALETTE_INIT( macgsc );
+
+
/*----------- defined in audio/mac.c -----------*/
@@ -501,6 +501,18 @@ public:
DECLARE_DRIVER_INIT(macpm7100);
DECLARE_DRIVER_INIT(macpm8100);
DECLARE_DRIVER_INIT(macpb100);
+ DECLARE_VIDEO_START(mac);
+ DECLARE_PALETTE_INIT(mac);
+ DECLARE_VIDEO_START(macprtb);
+ DECLARE_PALETTE_INIT(macgsc);
+ DECLARE_VIDEO_START(macsonora);
+ DECLARE_VIDEO_RESET(macrbv);
+ DECLARE_VIDEO_START(macdafb);
+ DECLARE_VIDEO_RESET(macdafb);
+ DECLARE_VIDEO_START(macv8);
+ DECLARE_VIDEO_RESET(macsonora);
+ DECLARE_VIDEO_RESET(maceagle);
+ DECLARE_VIDEO_START(macrbv);
};
#endif /* MAC_H_ */
diff --git a/src/mess/includes/mbc55x.h b/src/mess/includes/mbc55x.h
index 89bb2201894..e236c1d39e3 100644
--- a/src/mess/includes/mbc55x.h
+++ b/src/mess/includes/mbc55x.h
@@ -151,6 +151,11 @@ public:
DECLARE_READ8_MEMBER(mbc55x_kb_usart_r);
DECLARE_WRITE8_MEMBER(mbc55x_kb_usart_w);
DECLARE_DRIVER_INIT(mbc55x);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void video_reset();
+ virtual void palette_init();
};
/* IO chips */
@@ -173,8 +178,8 @@ extern const i8255_interface mbc55x_ppi8255_interface;
extern const i8251_interface mbc55x_i8251a_interface;
extern const i8251_interface mbc55x_i8251b_interface;
-MACHINE_RESET(mbc55x);
-MACHINE_START(mbc55x);
+
+
/* Memory controller */
@@ -215,9 +220,9 @@ extern const mc6845_interface mb55x_mc6845_intf;
READ16_HANDLER (mbc55x_video_io_r);
WRITE16_HANDLER (mbc55x_video_io_w);
-VIDEO_START( mbc55x );
+
SCREEN_VBLANK( mbc55x );
-VIDEO_RESET( mbc55x );
+
#define RED 0
#define GREEN 1
diff --git a/src/mess/includes/mbee.h b/src/mess/includes/mbee.h
index afb4800a072..a7bc61b3b33 100644
--- a/src/mess/includes/mbee.h
+++ b/src/mess/includes/mbee.h
@@ -128,6 +128,18 @@ public:
DECLARE_DRIVER_INIT(mbeeic);
DECLARE_DRIVER_INIT(mbee128);
DECLARE_DRIVER_INIT(mbee64);
+ DECLARE_MACHINE_RESET(mbee);
+ DECLARE_VIDEO_START(mbee);
+ DECLARE_VIDEO_START(mbeeic);
+ DECLARE_PALETTE_INIT(mbeeic);
+ DECLARE_PALETTE_INIT(mbeepc85b);
+ DECLARE_VIDEO_START(mbeeppc);
+ DECLARE_PALETTE_INIT(mbeeppc);
+ DECLARE_MACHINE_RESET(mbee56);
+ DECLARE_MACHINE_RESET(mbee64);
+ DECLARE_MACHINE_RESET(mbee128);
+ DECLARE_MACHINE_RESET(mbee256);
+ DECLARE_MACHINE_RESET(mbeett);
};
@@ -136,12 +148,12 @@ public:
extern const wd17xx_interface mbee_wd17xx_interface;
extern const z80pio_interface mbee_z80pio_intf;
-MACHINE_RESET( mbee );
-MACHINE_RESET( mbee56 );
-MACHINE_RESET( mbee64 );
-MACHINE_RESET( mbee128 );
-MACHINE_RESET( mbee256 );
-MACHINE_RESET( mbeett );
+
+
+
+
+
+
INTERRUPT_GEN( mbee_interrupt );
QUICKLOAD_LOAD( mbee );
@@ -154,14 +166,14 @@ MC6845_UPDATE_ROW( mbeeppc_update_row );
MC6845_ON_UPDATE_ADDR_CHANGED( mbee_update_addr );
MC6845_ON_UPDATE_ADDR_CHANGED( mbee256_update_addr );
-VIDEO_START( mbee );
+
SCREEN_UPDATE_RGB32( mbee );
-VIDEO_START( mbeeic );
+
SCREEN_UPDATE_RGB32( mbeeic );
-VIDEO_START( mbeeppc );
+
SCREEN_UPDATE_RGB32( mbeeppc );
-PALETTE_INIT( mbeeic );
-PALETTE_INIT( mbeepc85b );
-PALETTE_INIT( mbeeppc );
+
+
+
#endif /* MBEE_H_ */
diff --git a/src/mess/includes/mc80.h b/src/mess/includes/mc80.h
index ddcfb695daa..e207771be77 100644
--- a/src/mess/includes/mc80.h
+++ b/src/mess/includes/mc80.h
@@ -38,6 +38,10 @@ public:
DECLARE_WRITE8_MEMBER(asp_port_a_w);
DECLARE_WRITE8_MEMBER(asp_port_b_w);
optional_shared_ptr<UINT8> m_p_videoram;
+ DECLARE_MACHINE_RESET(mc8020);
+ DECLARE_VIDEO_START(mc8020);
+ DECLARE_MACHINE_RESET(mc8030);
+ DECLARE_VIDEO_START(mc8030);
};
diff --git a/src/mess/includes/micronic.h b/src/mess/includes/micronic.h
index 2dfab0f9244..2dc0666f0a3 100644
--- a/src/mess/includes/micronic.h
+++ b/src/mess/includes/micronic.h
@@ -60,6 +60,7 @@ public:
UINT8 m_lcd_contrast;
bool m_lcd_backlight;
UINT8 m_status_flag;
+ virtual void palette_init();
};
#endif
diff --git a/src/mess/includes/microtan.h b/src/mess/includes/microtan.h
index 9d35a6323d9..89b7c0f8056 100644
--- a/src/mess/includes/microtan.h
+++ b/src/mess/includes/microtan.h
@@ -49,6 +49,8 @@ public:
DECLARE_WRITE8_MEMBER(microtan_videoram_w);
DECLARE_DRIVER_INIT(microtan);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ virtual void machine_reset();
+ virtual void video_start();
};
@@ -57,7 +59,7 @@ public:
extern const via6522_interface microtan_via6522_0;
extern const via6522_interface microtan_via6522_1;
-MACHINE_RESET( microtan );
+
SNAPSHOT_LOAD( microtan );
QUICKLOAD_LOAD( microtan_hexfile );
diff --git a/src/mess/includes/mikro80.h b/src/mess/includes/mikro80.h
index 35f6b6b86de..3b5c5d5e9a6 100644
--- a/src/mess/includes/mikro80.h
+++ b/src/mess/includes/mikro80.h
@@ -31,6 +31,8 @@ public:
DECLARE_READ8_MEMBER(mikro80_tape_r);
DECLARE_DRIVER_INIT(radio99);
DECLARE_DRIVER_INIT(mikro80);
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mess/includes/mikromik.h b/src/mess/includes/mikromik.h
index 29e4c0f76c8..2b4041ee503 100644
--- a/src/mess/includes/mikromik.h
+++ b/src/mess/includes/mikromik.h
@@ -84,6 +84,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( drq2_w );
DECLARE_WRITE_LINE_MEMBER( drq1_w );
DECLARE_READ_LINE_MEMBER( dsra_r );
+ DECLARE_PALETTE_INIT(mm1);
void scan_keyboard();
diff --git a/src/mess/includes/msx.h b/src/mess/includes/msx.h
index 39f2f2a9ade..12e5917f048 100644
--- a/src/mess/includes/msx.h
+++ b/src/mess/includes/msx.h
@@ -120,6 +120,10 @@ public:
DECLARE_WRITE8_MEMBER(msx_psg_port_a_w);
DECLARE_WRITE8_MEMBER(msx_psg_port_b_w);
DECLARE_DRIVER_INIT(msx);
+ DECLARE_MACHINE_START(msx);
+ DECLARE_MACHINE_RESET(msx);
+ DECLARE_MACHINE_START(msx2);
+ DECLARE_MACHINE_RESET(msx2);
};
diff --git a/src/mess/includes/mtx.h b/src/mess/includes/mtx.h
index f103cf5bebd..109461063d8 100644
--- a/src/mess/includes/mtx.h
+++ b/src/mess/includes/mtx.h
@@ -56,12 +56,14 @@ public:
DECLARE_WRITE8_MEMBER(hrx_data_w);
DECLARE_READ8_MEMBER(hrx_attr_r);
DECLARE_WRITE8_MEMBER(hrx_attr_w);
+ DECLARE_MACHINE_START(mtx512);
+ DECLARE_MACHINE_RESET(mtx512);
};
/*----------- defined in machine/mtx.c -----------*/
-MACHINE_START( mtx512 );
-MACHINE_RESET( mtx512 );
+
+
SNAPSHOT_LOAD( mtx );
diff --git a/src/mess/includes/mz700.h b/src/mess/includes/mz700.h
index d013b1b968c..eb4a3024897 100644
--- a/src/mess/includes/mz700.h
+++ b/src/mess/includes/mz700.h
@@ -76,6 +76,9 @@ public:
DECLARE_WRITE8_MEMBER(mz800_cgram_w);
DECLARE_DRIVER_INIT(mz800);
DECLARE_DRIVER_INIT(mz700);
+ virtual void machine_start();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(mz800);
};
@@ -86,7 +89,7 @@ extern const struct pit8253_config mz800_pit8253_config;
extern const i8255_interface mz700_ppi8255_interface;
extern const z80pio_interface mz800_z80pio_config;
-MACHINE_START( mz700 );
+
/* bank switching */
@@ -97,9 +100,9 @@ MACHINE_START( mz700 );
/*----------- defined in video/mz700.c -----------*/
-PALETTE_INIT( mz700 );
+
SCREEN_UPDATE_IND16( mz700 );
-VIDEO_START( mz800 );
+
SCREEN_UPDATE_IND16( mz800 );
diff --git a/src/mess/includes/mz80.h b/src/mess/includes/mz80.h
index f6cae9ccd4e..33475e4882f 100644
--- a/src/mess/includes/mz80.h
+++ b/src/mess/includes/mz80.h
@@ -52,6 +52,8 @@ public:
const UINT8 *m_p_chargen;
required_shared_ptr<const UINT8> m_p_videoram;
DECLARE_DRIVER_INIT(mz80k);
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mess/includes/nascom1.h b/src/mess/includes/nascom1.h
index 0289fe0e036..232b5e010c2 100644
--- a/src/mess/includes/nascom1.h
+++ b/src/mess/includes/nascom1.h
@@ -47,6 +47,7 @@ public:
DECLARE_WRITE8_MEMBER(nascom1_port_01_w);
DECLARE_READ8_MEMBER(nascom1_port_02_r);
DECLARE_DRIVER_INIT(nascom1);
+ virtual void machine_reset();
};
@@ -63,8 +64,8 @@ SNAPSHOT_LOAD( nascom1 );
READ8_DEVICE_HANDLER( nascom1_hd6402_si );
WRITE8_DEVICE_HANDLER( nascom1_hd6402_so );
-MACHINE_RESET( nascom1 );
-MACHINE_RESET( nascom2 );
+
+
/*----------- defined in video/nascom1.c -----------*/
diff --git a/src/mess/includes/nc.h b/src/mess/includes/nc.h
index d03a11cedcf..8972812000f 100644
--- a/src/mess/includes/nc.h
+++ b/src/mess/includes/nc.h
@@ -73,6 +73,12 @@ public:
DECLARE_WRITE8_MEMBER(nc200_uart_control_w);
DECLARE_WRITE8_MEMBER(nc200_memory_card_wait_state_w);
DECLARE_WRITE8_MEMBER(nc200_poweroff_control_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(nc200);
+ DECLARE_MACHINE_RESET(nc200);
};
diff --git a/src/mess/includes/nes.h b/src/mess/includes/nes.h
index 1c34e305f45..3985fb97934 100644
--- a/src/mess/includes/nes.h
+++ b/src/mess/includes/nes.h
@@ -255,6 +255,10 @@ public:
DECLARE_WRITE8_MEMBER(nes_fds_w);
DECLARE_WRITE8_MEMBER(nes_vh_sprite_dma_w);
DECLARE_DRIVER_INIT(famicom);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -268,8 +272,8 @@ DEVICE_START(nes_disk);
DEVICE_IMAGE_LOAD(nes_disk);
DEVICE_IMAGE_UNLOAD(nes_disk);
-MACHINE_START( nes );
-MACHINE_RESET( nes );
+
+
@@ -279,8 +283,8 @@ void nes_partialhash(hash_collection &dest, const unsigned char *data, unsigned
/*----------- defined in video/nes.c -----------*/
-PALETTE_INIT( nes );
-VIDEO_START( nes );
+
+
SCREEN_UPDATE_IND16( nes );
diff --git a/src/mess/includes/odyssey2.h b/src/mess/includes/odyssey2.h
index d0d389d071a..0c385146796 100644
--- a/src/mess/includes/odyssey2.h
+++ b/src/mess/includes/odyssey2.h
@@ -111,6 +111,9 @@ public:
DECLARE_WRITE8_MEMBER(odyssey2_lum_w);
DECLARE_READ8_MEMBER(odyssey2_t1_r);
DECLARE_DRIVER_INIT(odyssey2);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
@@ -118,9 +121,9 @@ public:
extern const UINT8 odyssey2_colors[];
-VIDEO_START( odyssey2 );
+
SCREEN_UPDATE_IND16( odyssey2 );
-PALETTE_INIT( odyssey2 );
+
STREAM_UPDATE( odyssey2_sh_update );
@@ -148,7 +151,7 @@ extern const device_type ODYSSEY2;
/*----------- defined in machine/odyssey2.c -----------*/
-MACHINE_RESET( odyssey2 );
+
/* i/o ports */
diff --git a/src/mess/includes/ondra.h b/src/mess/includes/ondra.h
index 90718954b9e..69e1cce81cc 100644
--- a/src/mess/includes/ondra.h
+++ b/src/mess/includes/ondra.h
@@ -20,6 +20,9 @@ public:
DECLARE_WRITE8_MEMBER(ondra_port_03_w);
DECLARE_WRITE8_MEMBER(ondra_port_09_w);
DECLARE_WRITE8_MEMBER(ondra_port_0a_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
};
diff --git a/src/mess/includes/orao.h b/src/mess/includes/orao.h
index e253e87fcb1..f59aec1bbaa 100644
--- a/src/mess/includes/orao.h
+++ b/src/mess/includes/orao.h
@@ -22,19 +22,15 @@ public:
DECLARE_WRITE8_MEMBER(orao_io_w);
DECLARE_DRIVER_INIT(orao);
DECLARE_DRIVER_INIT(orao103);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in machine/orao.c -----------*/
-extern MACHINE_RESET( orao );
-
-
-
-
/*----------- defined in video/orao.c -----------*/
-extern VIDEO_START( orao );
extern SCREEN_UPDATE_IND16( orao );
diff --git a/src/mess/includes/oric.h b/src/mess/includes/oric.h
index 96164afe79b..b6da858749a 100644
--- a/src/mess/includes/oric.h
+++ b/src/mess/includes/oric.h
@@ -102,6 +102,11 @@ public:
DECLARE_WRITE8_MEMBER(oric_microdisc_w);
DECLARE_READ8_MEMBER(oric_IO_r);
DECLARE_WRITE8_MEMBER(oric_IO_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(telestrat);
};
@@ -111,17 +116,17 @@ extern const via6522_interface oric_6522_interface;
extern const via6522_interface telestrat_via2_interface;
extern const wd17xx_interface oric_wd17xx_interface;
-MACHINE_START( oric );
-MACHINE_RESET( oric );
+
+
/* Telestrat specific */
-MACHINE_START( telestrat );
+
/*----------- defined in video/oric.c -----------*/
-VIDEO_START( oric );
+
SCREEN_UPDATE_IND16( oric );
diff --git a/src/mess/includes/orion.h b/src/mess/includes/orion.h
index 0fca1b1df9a..8c388370b21 100644
--- a/src/mess/includes/orion.h
+++ b/src/mess/includes/orion.h
@@ -55,6 +55,13 @@ public:
DECLARE_WRITE8_MEMBER(orionpro_memory_page_w);
DECLARE_READ8_MEMBER(orionpro_io_r);
DECLARE_WRITE8_MEMBER(orionpro_io_w);
+ DECLARE_MACHINE_START(orion128);
+ DECLARE_MACHINE_RESET(orion128);
+ DECLARE_VIDEO_START(orion128);
+ DECLARE_PALETTE_INIT(orion128);
+ DECLARE_MACHINE_START(orionz80);
+ DECLARE_MACHINE_RESET(orionz80);
+ DECLARE_MACHINE_RESET(orionpro);
};
diff --git a/src/mess/includes/osborne1.h b/src/mess/includes/osborne1.h
index fc827c701ea..5d5c33ac646 100644
--- a/src/mess/includes/osborne1.h
+++ b/src/mess/includes/osborne1.h
@@ -80,6 +80,8 @@ public:
bool m_in_irq_handler;
bool m_beep_state;
DECLARE_DRIVER_INIT(osborne1);
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -88,7 +90,7 @@ public:
extern const pia6821_interface osborne1_ieee_pia_config;
extern const pia6821_interface osborne1_video_pia_config;
-MACHINE_RESET( osborne1 );
+
// ======================> osborne1_daisy_device
diff --git a/src/mess/includes/p2000t.h b/src/mess/includes/p2000t.h
index 3e27cceb668..45579353e66 100644
--- a/src/mess/includes/p2000t.h
+++ b/src/mess/includes/p2000t.h
@@ -38,7 +38,9 @@ public:
UINT8 m_port_202f;
UINT8 m_port_303f;
UINT8 m_port_707f;
- INT8 m_frame_count;
+ INT8 m_frame_count;
+ DECLARE_VIDEO_START(p2000m);
+ DECLARE_PALETTE_INIT(p2000m);
};
diff --git a/src/mess/includes/partner.h b/src/mess/includes/partner.h
index 18feadf4cfb..2bf59dec2ce 100644
--- a/src/mess/includes/partner.h
+++ b/src/mess/includes/partner.h
@@ -24,14 +24,13 @@ public:
DECLARE_WRITE8_MEMBER(partner_win_memory_page_w);
DECLARE_WRITE8_MEMBER(partner_mem_page_w);
DECLARE_DRIVER_INIT(partner);
+ DECLARE_MACHINE_START(partner);
+ DECLARE_MACHINE_RESET(partner);
};
/*----------- defined in machine/partner.c -----------*/
-extern MACHINE_RESET( partner );
-extern MACHINE_START( partner );
-
extern const i8257_interface partner_dma;
extern const wd17xx_interface partner_wd17xx_interface;
diff --git a/src/mess/includes/pc.h b/src/mess/includes/pc.h
index 29adf1358d9..bbf5a457684 100644
--- a/src/mess/includes/pc.h
+++ b/src/mess/includes/pc.h
@@ -80,6 +80,12 @@ public:
DECLARE_DRIVER_INIT(pc1512);
DECLARE_DRIVER_INIT(pc1640);
DECLARE_DRIVER_INIT(pc_vga);
+ DECLARE_MACHINE_START(pc);
+ DECLARE_MACHINE_RESET(pc);
+ DECLARE_MACHINE_RESET(tandy1000rl);
+ DECLARE_MACHINE_START(pcjr);
+ DECLARE_MACHINE_RESET(pcjr);
+ DECLARE_MACHINE_START(mc1502);
};
/*----------- defined in machine/pc.c -----------*/
@@ -113,11 +119,11 @@ READ8_DEVICE_HANDLER( mc1502_wd17xx_motor_r );
WRITE8_DEVICE_HANDLER( mc1502_wd17xx_aux_w );
-MACHINE_START( pc );
-MACHINE_RESET( pc );
-MACHINE_START( pcjr );
-MACHINE_RESET( pcjr );
-MACHINE_START( mc1502 );
+
+
+
+
+
DEVICE_IMAGE_LOAD( pcjr_cartridge );
diff --git a/src/mess/includes/pc4.h b/src/mess/includes/pc4.h
index 617315d67db..d4ccca1b11c 100644
--- a/src/mess/includes/pc4.h
+++ b/src/mess/includes/pc4.h
@@ -62,6 +62,7 @@ public:
INT8 m_disp_shift;
INT8 m_direction;
UINT8 m_blink;
+ virtual void palette_init();
};
#endif // _PC4_H_
diff --git a/src/mess/includes/pc8401a.h b/src/mess/includes/pc8401a.h
index e010d74cae2..ef421c9ae18 100644
--- a/src/mess/includes/pc8401a.h
+++ b/src/mess/includes/pc8401a.h
@@ -64,7 +64,8 @@ public:
DECLARE_WRITE8_MEMBER( port71_w );
DECLARE_READ8_MEMBER( ppi_pc_r );
DECLARE_WRITE8_MEMBER( ppi_pc_w );
-
+ DECLARE_PALETTE_INIT(pc8401a);
+
void scan_keyboard();
void bankswitch(UINT8 data);
diff --git a/src/mess/includes/pce.h b/src/mess/includes/pce.h
index 17f01b25edc..ea2b9f8c247 100644
--- a/src/mess/includes/pce.h
+++ b/src/mess/includes/pce.h
@@ -140,6 +140,8 @@ public:
DECLARE_DRIVER_INIT(tg16);
DECLARE_DRIVER_INIT(mess_pce);
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ DECLARE_MACHINE_START(pce);
+ DECLARE_MACHINE_RESET(mess_pce);
};
@@ -149,8 +151,8 @@ DEVICE_IMAGE_LOAD(pce_cart);
extern const msm5205_interface pce_cd_msm5205_interface;
-MACHINE_START( pce );
-MACHINE_RESET( mess_pce );
+
+
#endif /* PCE_H_ */
diff --git a/src/mess/includes/pcw.h b/src/mess/includes/pcw.h
index 7fc926e94e0..1b2a20a4b02 100644
--- a/src/mess/includes/pcw.h
+++ b/src/mess/includes/pcw.h
@@ -95,6 +95,10 @@ public:
DECLARE_WRITE8_MEMBER(pcw9512_parallel_w);
void mcu_transmit_serial(UINT8 bit);
DECLARE_DRIVER_INIT(pcw);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mess/includes/pcw16.h b/src/mess/includes/pcw16.h
index 0ead19bc5ff..5580c195fd2 100644
--- a/src/mess/includes/pcw16.h
+++ b/src/mess/includes/pcw16.h
@@ -95,6 +95,9 @@ public:
void pcw16_write_mem(UINT8 bank, UINT16 offset, UINT8 data);
UINT8 read_bank_data(UINT8 type, UINT16 offset);
void write_bank_data(UINT8 type, UINT16 offset, UINT8 data);
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mess/includes/pdp1.h b/src/mess/includes/pdp1.h
index 18b3633d502..20534a5b44e 100644
--- a/src/mess/includes/pdp1.h
+++ b/src/mess/includes/pdp1.h
@@ -255,13 +255,17 @@ public:
int m_pos;
int m_case_shift;
device_t *m_crt;
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/pdp1.c -----------*/
-VIDEO_START( pdp1 );
+
SCREEN_VBLANK( pdp1 );
SCREEN_UPDATE_IND16( pdp1 );
diff --git a/src/mess/includes/pecom.h b/src/mess/includes/pecom.h
index 79d953fca6f..bda7ca6cf97 100644
--- a/src/mess/includes/pecom.h
+++ b/src/mess/includes/pecom.h
@@ -36,13 +36,12 @@ public:
DECLARE_WRITE8_MEMBER(pecom_bank_w);
DECLARE_READ8_MEMBER(pecom_keyboard_r);
DECLARE_WRITE8_MEMBER(pecom_cdp1869_w);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_VIDEO_START(pecom);
};
/*----------- defined in machine/pecom.c -----------*/
-
-extern MACHINE_START( pecom );
-extern MACHINE_RESET( pecom );
-
extern const cosmac_interface pecom64_cdp1802_config;
/* ---------- defined in video/pecom.c ---------- */
diff --git a/src/mess/includes/pet.h b/src/mess/includes/pet.h
index 1b813b0aa65..1b12111aaac 100644
--- a/src/mess/includes/pet.h
+++ b/src/mess/includes/pet.h
@@ -52,6 +52,9 @@ public:
DECLARE_DRIVER_INIT(pet80);
DECLARE_DRIVER_INIT(pet);
DECLARE_DRIVER_INIT(pet2001);
+ virtual void machine_reset();
+ virtual void palette_init();
+ DECLARE_VIDEO_START(pet_crtc);
};
/*----------- defined in video/pet.c -----------*/
@@ -78,7 +81,7 @@ WRITE8_HANDLER(cbm8096_w);
extern READ8_HANDLER(superpet_r);
extern WRITE8_HANDLER(superpet_w);
-MACHINE_RESET( pet );
+
INTERRUPT_GEN( pet_frame_interrupt );
MACHINE_CONFIG_EXTERN( pet_cartslot );
diff --git a/src/mess/includes/pk8020.h b/src/mess/includes/pk8020.h
index 5f99beb6471..f546c01dd79 100644
--- a/src/mess/includes/pk8020.h
+++ b/src/mess/includes/pk8020.h
@@ -41,11 +41,13 @@ public:
DECLARE_WRITE8_MEMBER(gzu_w);
DECLARE_READ8_MEMBER(devices_r);
DECLARE_WRITE8_MEMBER(devices_w);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in machine/pk8020.c -----------*/
-extern MACHINE_RESET( pk8020 );
extern const i8255_interface pk8020_ppi8255_interface_1;
extern const i8255_interface pk8020_ppi8255_interface_2;
extern const i8255_interface pk8020_ppi8255_interface_3;
@@ -54,8 +56,6 @@ extern const struct pic8259_interface pk8020_pic8259_config;
extern INTERRUPT_GEN( pk8020_interrupt );
/*----------- defined in video/pk8020.c -----------*/
-extern PALETTE_INIT( pk8020 );
-extern VIDEO_START( pk8020 );
extern SCREEN_UPDATE_IND16( pk8020 );
#endif /* pk8020_H_ */
diff --git a/src/mess/includes/pmd85.h b/src/mess/includes/pmd85.h
index 8f3641f5627..aae98c422a3 100644
--- a/src/mess/includes/pmd85.h
+++ b/src/mess/includes/pmd85.h
@@ -36,6 +36,9 @@ public:
DECLARE_DRIVER_INIT(pmd853);
DECLARE_DRIVER_INIT(alfa);
DECLARE_DRIVER_INIT(c2717);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mess/includes/pokemini.h b/src/mess/includes/pokemini.h
index 06239c47238..351b88df110 100644
--- a/src/mess/includes/pokemini.h
+++ b/src/mess/includes/pokemini.h
@@ -63,6 +63,7 @@ public:
virtual void machine_start();
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ virtual void palette_init();
};
diff --git a/src/mess/includes/poly88.h b/src/mess/includes/poly88.h
index 2fdcd818181..de84f09a430 100644
--- a/src/mess/includes/poly88.h
+++ b/src/mess/includes/poly88.h
@@ -31,12 +31,14 @@ public:
DECLARE_READ8_MEMBER(poly88_keyboard_r);
DECLARE_WRITE8_MEMBER(poly88_intr_w);
DECLARE_DRIVER_INIT(poly88);
+ virtual void machine_reset();
+ virtual void video_start();
};
/*----------- defined in machine/poly88.c -----------*/
-MACHINE_RESET(poly88);
+
INTERRUPT_GEN( poly88_interrupt );
extern const i8251_interface poly88_usart_interface;
diff --git a/src/mess/includes/portfoli.h b/src/mess/includes/portfoli.h
index 8b3fe1f4e88..e7ae6dda7f7 100644
--- a/src/mess/includes/portfoli.h
+++ b/src/mess/includes/portfoli.h
@@ -84,6 +84,7 @@ public:
/* peripheral state */
UINT8 m_pid; /* peripheral identification */
+ virtual void palette_init();
};
#endif
diff --git a/src/mess/includes/pp01.h b/src/mess/includes/pp01.h
index dbb865a4a4a..8cead57cbdf 100644
--- a/src/mess/includes/pp01.h
+++ b/src/mess/includes/pp01.h
@@ -29,6 +29,10 @@ public:
DECLARE_WRITE8_MEMBER(pp01_video_b_2_w);
DECLARE_WRITE8_MEMBER(pp01_mem_block_w);
DECLARE_READ8_MEMBER(pp01_mem_block_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mess/includes/primo.h b/src/mess/includes/primo.h
index e826194a8c7..9dad8bc5259 100644
--- a/src/mess/includes/primo.h
+++ b/src/mess/includes/primo.h
@@ -31,6 +31,8 @@ public:
DECLARE_DRIVER_INIT(primo48);
DECLARE_DRIVER_INIT(primo64);
DECLARE_DRIVER_INIT(primo32);
+ virtual void machine_reset();
+ DECLARE_MACHINE_RESET(primob);
};
diff --git a/src/mess/includes/psion.h b/src/mess/includes/psion.h
index 345dca49a7e..64269881a4d 100644
--- a/src/mess/includes/psion.h
+++ b/src/mess/includes/psion.h
@@ -84,6 +84,7 @@ public:
void io_rw(address_space &space, UINT16 offset);
DECLARE_WRITE8_MEMBER( io_w );
DECLARE_READ8_MEMBER( io_r );
+ virtual void palette_init();
};
// device type definition
diff --git a/src/mess/includes/px8.h b/src/mess/includes/px8.h
index 144c7005816..9a2d62117fb 100644
--- a/src/mess/includes/px8.h
+++ b/src/mess/includes/px8.h
@@ -77,6 +77,7 @@ public:
/* keyboard state */
int m_ksc; /* keyboard scan column */
+ virtual void palette_init();
};
#endif
diff --git a/src/mess/includes/radio86.h b/src/mess/includes/radio86.h
index f7e26cd062e..474d53c7e7f 100644
--- a/src/mess/includes/radio86.h
+++ b/src/mess/includes/radio86.h
@@ -36,6 +36,8 @@ public:
DECLARE_WRITE8_MEMBER(radio86_pagesel);
DECLARE_DRIVER_INIT(radioram);
DECLARE_DRIVER_INIT(radio86);
+ DECLARE_MACHINE_RESET(radio86);
+ DECLARE_PALETTE_INIT(radio86);
};
diff --git a/src/mess/includes/rmnimbus.h b/src/mess/includes/rmnimbus.h
index 37100f8646e..30351f2435f 100644
--- a/src/mess/includes/rmnimbus.h
+++ b/src/mess/includes/rmnimbus.h
@@ -221,6 +221,11 @@ public:
DECLARE_READ16_MEMBER(nimbus_video_io_r);
DECLARE_WRITE16_MEMBER(nimbus_video_io_w);
DECLARE_DRIVER_INIT(nimbus);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void video_reset();
+ virtual void palette_init();
};
@@ -231,8 +236,8 @@ extern const unsigned char nimbus_palette[SCREEN_NO_COLOURS][3];
/*----------- defined in machine/rmnimbus.c -----------*/
-MACHINE_RESET(nimbus);
-MACHINE_START(nimbus);
+
+
/* 80186 Internal */
@@ -430,10 +435,10 @@ WRITE_LINE_DEVICE_HANDLER(nimbus_ack_w);
/*----------- defined in video/rmnimbus.c -----------*/
-VIDEO_START( nimbus );
+
SCREEN_VBLANK( nimbus );
SCREEN_UPDATE_IND16( nimbus );
-VIDEO_RESET( nimbus );
+
#define RED 0
#define GREEN 1
diff --git a/src/mess/includes/samcoupe.h b/src/mess/includes/samcoupe.h
index 03f72270d45..9954ee10b01 100644
--- a/src/mess/includes/samcoupe.h
+++ b/src/mess/includes/samcoupe.h
@@ -79,6 +79,9 @@ public:
DECLARE_READ8_MEMBER(samcoupe_keyboard_r);
DECLARE_WRITE8_MEMBER(samcoupe_border_w);
DECLARE_READ8_MEMBER(samcoupe_attributes_r);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
};
@@ -92,8 +95,8 @@ void samcoupe_irq(device_t *device, UINT8 src);
void samcoupe_update_memory(address_space *space);
UINT8 samcoupe_mouse_r(running_machine &machine);
-MACHINE_START( samcoupe );
-MACHINE_RESET( samcoupe );
+
+
/*----------- defined in video/samcoupe.c -----------*/
diff --git a/src/mess/includes/sapi1.h b/src/mess/includes/sapi1.h
index 697a45a8e14..2b5505e07ed 100644
--- a/src/mess/includes/sapi1.h
+++ b/src/mess/includes/sapi1.h
@@ -37,21 +37,16 @@ public:
UINT8 m_term_data;
DECLARE_DRIVER_INIT(sapi1);
DECLARE_DRIVER_INIT(sapizps3);
+ DECLARE_MACHINE_START(sapi1);
+ DECLARE_MACHINE_RESET(sapi1);
+ DECLARE_VIDEO_START(sapi1);
+ DECLARE_MACHINE_RESET(sapizps3);
+ DECLARE_VIDEO_START(sapizps3);
};
-
-/*----------- defined in machine/sapi1.c -----------*/
-
-extern MACHINE_START( sapi1 );
-extern MACHINE_RESET( sapi1 );
-extern MACHINE_RESET( sapizps3 );
-
-
/*----------- defined in video/sapi1.c -----------*/
-extern VIDEO_START( sapi1 );
extern SCREEN_UPDATE_IND16( sapi1 );
-extern VIDEO_START( sapizps3 );
extern SCREEN_UPDATE_IND16( sapizps3 );
#endif
diff --git a/src/mess/includes/sms.h b/src/mess/includes/sms.h
index f9d2a6f2420..f1421bd90ef 100644
--- a/src/mess/includes/sms.h
+++ b/src/mess/includes/sms.h
@@ -177,6 +177,10 @@ public:
DECLARE_DRIVER_INIT(smsj);
DECLARE_DRIVER_INIT(sms1);
DECLARE_DRIVER_INIT(smssdisp);
+ DECLARE_MACHINE_START(sms);
+ DECLARE_MACHINE_RESET(sms);
+ DECLARE_VIDEO_START(gamegear);
+ DECLARE_VIDEO_START(sms1);
};
@@ -193,8 +197,8 @@ WRITE_LINE_DEVICE_HANDLER( sms_store_int_callback );
DEVICE_START( sms_cart );
DEVICE_IMAGE_LOAD( sms_cart );
-MACHINE_START( sms );
-MACHINE_RESET( sms );
+
+
#define IO_EXPANSION (0x80) /* Expansion slot enable (1= disabled, 0= enabled) */
@@ -206,8 +210,8 @@ MACHINE_RESET( sms );
-VIDEO_START( sms1 );
-VIDEO_START( gamegear );
+
+
SCREEN_UPDATE_RGB32( sms1 );
SCREEN_UPDATE_RGB32( sms );
SCREEN_UPDATE_RGB32( gamegear );
diff --git a/src/mess/includes/sorcerer.h b/src/mess/includes/sorcerer.h
index e23e37e2557..6f46bddb0ea 100644
--- a/src/mess/includes/sorcerer.h
+++ b/src/mess/includes/sorcerer.h
@@ -83,15 +83,18 @@ public:
required_ioport m_iop_config;
required_ioport m_iop_vs;
DECLARE_DRIVER_INIT(sorcerer);
+ virtual void machine_start();
+ virtual void machine_reset();
+ DECLARE_MACHINE_START(sorcererd);
};
/*----------- defined in machine/sorcerer.c -----------*/
-MACHINE_START( sorcererd );
-MACHINE_START( sorcerer );
-MACHINE_RESET( sorcerer );
+
+
+
SNAPSHOT_LOAD( sorcerer );
#endif /* SORCERER_H_ */
diff --git a/src/mess/includes/special.h b/src/mess/includes/special.h
index 4c0d0268d4d..f7b3339b4bf 100644
--- a/src/mess/includes/special.h
+++ b/src/mess/includes/special.h
@@ -80,6 +80,16 @@ public:
optional_shared_ptr<UINT8> m_p_videoram;
DECLARE_DRIVER_INIT(erik);
DECLARE_DRIVER_INIT(special);
+ DECLARE_MACHINE_RESET(special);
+ DECLARE_VIDEO_START(special);
+ DECLARE_MACHINE_RESET(erik);
+ DECLARE_VIDEO_START(erik);
+ DECLARE_PALETTE_INIT(erik);
+ DECLARE_VIDEO_START(specialp);
+ DECLARE_MACHINE_START(specimx);
+ DECLARE_MACHINE_RESET(specimx);
+ DECLARE_VIDEO_START(specimx);
+ DECLARE_PALETTE_INIT(specimx);
};
@@ -88,29 +98,29 @@ public:
extern const struct pit8253_config specimx_pit8253_intf;
extern const i8255_interface specialist_ppi8255_interface;
-MACHINE_RESET( special );
-MACHINE_RESET( specimx );
-MACHINE_START ( specimx );
-MACHINE_RESET( erik );
+
+
+
+
/*----------- defined in video/special.c -----------*/
-VIDEO_START( special );
+
SCREEN_UPDATE_IND16( special );
-VIDEO_START( specialp );
+
SCREEN_UPDATE_IND16( specialp );
-VIDEO_START( specimx );
+
SCREEN_UPDATE_IND16( specimx );
-VIDEO_START( erik );
+
SCREEN_UPDATE_IND16( erik );
-PALETTE_INIT( erik );
-PALETTE_INIT( specimx );
+
+
extern const rgb_t specimx_palette[16];
/*----------- defined in audio/special.c -----------*/
diff --git a/src/mess/includes/spectrum.h b/src/mess/includes/spectrum.h
index 7882f63f66a..abe808ee4de 100644
--- a/src/mess/includes/spectrum.h
+++ b/src/mess/includes/spectrum.h
@@ -110,6 +110,15 @@ public:
DECLARE_DRIVER_INIT(spectrum);
DECLARE_DRIVER_INIT(plus2);
DECLARE_DRIVER_INIT(plus3);
+ DECLARE_MACHINE_RESET(spectrum);
+ DECLARE_VIDEO_START(spectrum);
+ DECLARE_PALETTE_INIT(spectrum);
+ DECLARE_MACHINE_RESET(tc2048);
+ DECLARE_VIDEO_START(spectrum_128);
+ DECLARE_MACHINE_RESET(spectrum_128);
+ DECLARE_MACHINE_RESET(spectrum_plus3);
+ DECLARE_MACHINE_RESET(ts2068);
+ DECLARE_VIDEO_START(ts2068);
};
@@ -119,7 +128,7 @@ INPUT_PORTS_EXTERN( spectrum );
INPUT_PORTS_EXTERN( spec_plus );
MACHINE_CONFIG_EXTERN( spectrum );
-MACHINE_RESET( spectrum );
+
/*----------- defined in drivers/spec128.c -----------*/
@@ -138,10 +147,10 @@ void ts2068_update_memory(running_machine &machine);
/*----------- defined in video/spectrum.c -----------*/
-PALETTE_INIT( spectrum );
-VIDEO_START( spectrum );
-VIDEO_START( spectrum_128 );
+
+
+
SCREEN_UPDATE_IND16( spectrum );
SCREEN_VBLANK( spectrum );
@@ -163,7 +172,7 @@ EVENT_LIST_ITEM *spectrum_EventList_GetFirstItem(running_machine &machine);
/*----------- defined in video/timex.c -----------*/
-VIDEO_START( ts2068 );
+
SCREEN_UPDATE_IND16( ts2068 );
SCREEN_UPDATE_IND16( tc2048 );
diff --git a/src/mess/includes/ssystem3.h b/src/mess/includes/ssystem3.h
index 5e230283bef..c10854ad723 100644
--- a/src/mess/includes/ssystem3.h
+++ b/src/mess/includes/ssystem3.h
@@ -45,6 +45,8 @@ public:
playfield_t m_playfield;
lcd_t m_lcd;
DECLARE_DRIVER_INIT(ssystem3);
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mess/includes/super80.h b/src/mess/includes/super80.h
index 56c25ab4dd1..6bbb60d12cb 100644
--- a/src/mess/includes/super80.h
+++ b/src/mess/includes/super80.h
@@ -77,25 +77,28 @@ public:
void mc6845_cursor_configure();
DECLARE_DRIVER_INIT(super80);
DECLARE_DRIVER_INIT(super80v);
+ DECLARE_VIDEO_START(super80);
+ DECLARE_VIDEO_START(super80v);
+ DECLARE_PALETTE_INIT(super80m);
};
/*----------- defined in video/super80.c -----------*/
-PALETTE_INIT( super80m );
+
SCREEN_UPDATE_IND16( super80 );
SCREEN_UPDATE_IND16( super80d );
SCREEN_UPDATE_IND16( super80e );
SCREEN_UPDATE_IND16( super80m );
-VIDEO_START( super80 );
+
SCREEN_VBLANK( super80m );
-VIDEO_START( super80v );
+
SCREEN_UPDATE_RGB32( super80v );
MC6845_UPDATE_ROW( super80v_update_row );
/*----------- defined in machine/super80.c -----------*/
-MACHINE_RESET( super80 );
+
extern const z80pio_interface super80_pio_intf;
diff --git a/src/mess/includes/svi318.h b/src/mess/includes/svi318.h
index e87d01734ba..5a02887c2aa 100644
--- a/src/mess/includes/svi318.h
+++ b/src/mess/includes/svi318.h
@@ -70,6 +70,11 @@ public:
DECLARE_READ8_MEMBER(svi318_io_ext_r);
DECLARE_WRITE8_MEMBER(svi318_io_ext_w);
DECLARE_DRIVER_INIT(svi318);
+ DECLARE_MACHINE_START(svi318_pal);
+ DECLARE_MACHINE_RESET(svi318);
+ DECLARE_MACHINE_RESET(svi328_806);
+ DECLARE_VIDEO_START(svi328_806);
+ DECLARE_MACHINE_START(svi318_ntsc);
};
@@ -79,9 +84,9 @@ extern const i8255_interface svi318_ppi8255_interface;
extern const ins8250_interface svi318_ins8250_interface[2];
extern const wd17xx_interface svi_wd17xx_interface;
-MACHINE_START( svi318_pal );
-MACHINE_START( svi318_ntsc );
-MACHINE_RESET( svi318 );
+
+
+
DEVICE_START( svi318_cart );
DEVICE_IMAGE_LOAD( svi318_cart );
@@ -93,7 +98,7 @@ DEVICE_IMAGE_UNLOAD( svi318_cart );
int svi318_cassette_present(running_machine &machine, int id);
MC6845_UPDATE_ROW( svi806_crtc6845_update_row );
-VIDEO_START( svi328_806 );
-MACHINE_RESET( svi328_806 );
+
+
#endif /* SVI318_H_ */
diff --git a/src/mess/includes/svision.h b/src/mess/includes/svision.h
index 621c1d4fba9..6a908abd9a9 100644
--- a/src/mess/includes/svision.h
+++ b/src/mess/includes/svision.h
@@ -49,6 +49,11 @@ public:
DECLARE_WRITE8_MEMBER(tvlink_w);
DECLARE_DRIVER_INIT(svisions);
DECLARE_DRIVER_INIT(svision);
+ virtual void machine_reset();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(svisionp);
+ DECLARE_PALETTE_INIT(svisionn);
+ DECLARE_MACHINE_RESET(tvlink);
};
diff --git a/src/mess/includes/sym1.h b/src/mess/includes/sym1.h
index ad947c38a41..b5ee476b51e 100644
--- a/src/mess/includes/sym1.h
+++ b/src/mess/includes/sym1.h
@@ -40,6 +40,7 @@ public:
UINT8 m_riot_port_b;
emu_timer *m_led_update;
DECLARE_DRIVER_INIT(sym1);
+ virtual void machine_reset();
};
@@ -56,7 +57,7 @@ extern const via6522_interface sym1_via0;
extern const via6522_interface sym1_via1;
extern const via6522_interface sym1_via2;
-MACHINE_RESET( sym1 );
+
#endif /* SYM1_H_ */
diff --git a/src/mess/includes/tandy1t.h b/src/mess/includes/tandy1t.h
index 5033906c87d..96ff12fbefc 100644
--- a/src/mess/includes/tandy1t.h
+++ b/src/mess/includes/tandy1t.h
@@ -18,7 +18,6 @@ extern READ8_HANDLER(tandy1000_pio_r);
extern NVRAM_HANDLER( tandy1000 );
-MACHINE_RESET( tandy1000rl );
READ8_HANDLER( tandy1000_bank_r );
WRITE8_HANDLER( tandy1000_bank_w );
diff --git a/src/mess/includes/ti85.h b/src/mess/includes/ti85.h
index f16dcc089da..41483e50409 100644
--- a/src/mess/includes/ti85.h
+++ b/src/mess/includes/ti85.h
@@ -94,15 +94,22 @@ public:
DECLARE_READ8_MEMBER( ti83_port_0002_r );
DECLARE_READ8_MEMBER( ti83_port_0003_r );
DECLARE_READ8_MEMBER( ti83p_port_0002_r );
+ virtual void machine_start();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_RESET(ti85);
+ DECLARE_PALETTE_INIT(ti82);
+ DECLARE_MACHINE_START(ti86);
+ DECLARE_MACHINE_START(ti83p);
};
/*----------- defined in machine/ti85.c -----------*/
-MACHINE_START( ti81 );
-MACHINE_START( ti83p );
-MACHINE_START( ti86 );
-MACHINE_RESET( ti85 );
+
+
+
+
NVRAM_HANDLER( ti83p );
NVRAM_HANDLER( ti86 );
@@ -112,10 +119,10 @@ SNAPSHOT_LOAD( ti8x );
/*----------- defined in video/ti85.c -----------*/
-VIDEO_START( ti85 );
+
SCREEN_UPDATE_IND16( ti85 );
-PALETTE_INIT( ti85 );
-PALETTE_INIT( ti82 );
+
+
#endif /* TI85_H_ */
diff --git a/src/mess/includes/ti89.h b/src/mess/includes/ti89.h
index 98d70bb6993..c16b51598f2 100644
--- a/src/mess/includes/ti89.h
+++ b/src/mess/includes/ti89.h
@@ -61,6 +61,7 @@ public:
DECLARE_WRITE16_MEMBER ( flash_w );
DECLARE_READ16_MEMBER ( flash_r );
UINT64 m_timer;
+ virtual void palette_init();
};
#endif // TI89_H_
diff --git a/src/mess/includes/trs80.h b/src/mess/includes/trs80.h
index acf050dc14a..becd393d721 100644
--- a/src/mess/includes/trs80.h
+++ b/src/mess/includes/trs80.h
@@ -110,6 +110,12 @@ public:
DECLARE_DRIVER_INIT(trs80m4p);
DECLARE_DRIVER_INIT(lnw80);
DECLARE_DRIVER_INIT(trs80);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ DECLARE_MACHINE_RESET(trs80m4);
+ DECLARE_MACHINE_RESET(lnw80);
+ DECLARE_PALETTE_INIT(lnw80);
};
@@ -117,10 +123,10 @@ public:
extern const wd17xx_interface trs80_wd17xx_interface;
-MACHINE_START( trs80 );
-MACHINE_RESET( trs80 );
-MACHINE_RESET( trs80m4 );
-MACHINE_RESET( lnw80 );
+
+
+
+
INTERRUPT_GEN( trs80_rtc_interrupt );
@@ -130,7 +136,7 @@ INTERRUPT_GEN( trs80_fdc_interrupt );
/*----------- defined in video/trs80.c -----------*/
-VIDEO_START( trs80 );
+
SCREEN_UPDATE_IND16( trs80 );
SCREEN_UPDATE_IND16( ht1080z );
SCREEN_UPDATE_IND16( meritum );
@@ -139,7 +145,7 @@ SCREEN_UPDATE_IND16( radionic );
SCREEN_UPDATE_IND16( trs80m4 );
-PALETTE_INIT( lnw80 );
+
#endif /* TRS80_H_ */
diff --git a/src/mess/includes/tvc.h b/src/mess/includes/tvc.h
index f32bbace7f8..41bd4bf97cf 100644
--- a/src/mess/includes/tvc.h
+++ b/src/mess/includes/tvc.h
@@ -128,6 +128,7 @@ public:
UINT8 m_vram_bank;
UINT8 m_cassette_ff;
UINT8 m_centronics_ff;
+ virtual void palette_init();
};
diff --git a/src/mess/includes/tx0.h b/src/mess/includes/tx0.h
index f319e60720d..c0545234d18 100644
--- a/src/mess/includes/tx0.h
+++ b/src/mess/includes/tx0.h
@@ -146,12 +146,16 @@ public:
int m_case_shift;
device_t *m_crt;
DECLARE_DRIVER_INIT(tx0);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
/*----------- defined in video/tx0.c -----------*/
-VIDEO_START( tx0 );
+
SCREEN_VBLANK( tx0 );
SCREEN_UPDATE_IND16( tx0 );
diff --git a/src/mess/includes/ut88.h b/src/mess/includes/ut88.h
index f78eb121e43..2648dd97070 100644
--- a/src/mess/includes/ut88.h
+++ b/src/mess/includes/ut88.h
@@ -43,6 +43,10 @@ public:
int m_lcd_digit[6];
DECLARE_DRIVER_INIT(ut88);
DECLARE_DRIVER_INIT(ut88mini);
+ DECLARE_MACHINE_RESET(ut88);
+ DECLARE_VIDEO_START(ut88);
+ DECLARE_MACHINE_START(ut88mini);
+ DECLARE_MACHINE_RESET(ut88mini);
};
diff --git a/src/mess/includes/vc4000.h b/src/mess/includes/vc4000.h
index ee141dcb2bb..09a65132e2d 100644
--- a/src/mess/includes/vc4000.h
+++ b/src/mess/includes/vc4000.h
@@ -94,6 +94,8 @@ public:
UINT8 m_irq_pause;
bitmap_ind16 *m_bitmap;
optional_device<cassette_image_device> m_cass;
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mess/includes/vector06.h b/src/mess/includes/vector06.h
index 84714a33993..265c392df54 100644
--- a/src/mess/includes/vector06.h
+++ b/src/mess/includes/vector06.h
@@ -59,6 +59,10 @@ public:
UINT8 m_romdisk_lsb;
UINT8 m_vblank_state;
void vector06_set_video_mode(int width);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
};
diff --git a/src/mess/includes/vtech2.h b/src/mess/includes/vtech2.h
index f4e81716565..3445ca3905f 100644
--- a/src/mess/includes/vtech2.h
+++ b/src/mess/includes/vtech2.h
@@ -49,14 +49,19 @@ public:
DECLARE_WRITE8_MEMBER(laser_two_color_w);
DECLARE_READ8_MEMBER(laser_fdc_r);
DECLARE_DRIVER_INIT(laser);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_MACHINE_RESET(laser500);
+ DECLARE_MACHINE_RESET(laser700);
};
/*----------- defined in machine/vtech2.c -----------*/
-MACHINE_RESET( laser350 );
-MACHINE_RESET( laser500 );
-MACHINE_RESET( laser700 );
+
+
+
DEVICE_IMAGE_LOAD( laser_cart );
DEVICE_IMAGE_UNLOAD( laser_cart );
diff --git a/src/mess/includes/wswan.h b/src/mess/includes/wswan.h
index f6907dc7610..1f5a8786d88 100644
--- a/src/mess/includes/wswan.h
+++ b/src/mess/includes/wswan.h
@@ -152,14 +152,19 @@ public:
bitmap_ind16 m_bitmap;
UINT8 m_rotate;
void wswan_clear_irq_line(int irq);
+ virtual void machine_start();
+ virtual void machine_reset();
+ virtual void palette_init();
+ DECLARE_MACHINE_START(wscolor);
+ DECLARE_PALETTE_INIT(wscolor);
};
/*----------- defined in machine/wswan.c -----------*/
-MACHINE_START( wswan );
-MACHINE_START( wscolor );
-MACHINE_RESET( wswan );
+
+
+
DEVICE_START(wswan_cart);
DEVICE_IMAGE_LOAD(wswan_cart);
diff --git a/src/mess/includes/x07.h b/src/mess/includes/x07.h
index a57e512a1b4..0879825cd7a 100644
--- a/src/mess/includes/x07.h
+++ b/src/mess/includes/x07.h
@@ -259,4 +259,5 @@ public:
UINT8 m_prn_char_code;
UINT8 m_prn_buffer[0x100];
UINT8 m_prn_size;
+ virtual void palette_init();
};
diff --git a/src/mess/includes/x1.h b/src/mess/includes/x1.h
index 9de743429b4..dd50c71c1c7 100644
--- a/src/mess/includes/x1.h
+++ b/src/mess/includes/x1.h
@@ -194,23 +194,28 @@ public:
required_device<mc6845_device> m_crtc;
required_device<z80ctc_device> m_ctc;
DECLARE_DRIVER_INIT(x1_kanji);
+ DECLARE_MACHINE_START(x1);
+ DECLARE_MACHINE_RESET(x1);
+ DECLARE_VIDEO_START(x1);
+ DECLARE_PALETTE_INIT(x1);
+ DECLARE_MACHINE_RESET(x1turbo);
};
/*----------- shared with x1twin.c -----------*/
-VIDEO_START( x1 );
+
SCREEN_UPDATE_RGB32( x1 );
TIMER_DEVICE_CALLBACK(x1_keyboard_callback);
TIMER_CALLBACK(x1_rtc_increment);
TIMER_DEVICE_CALLBACK( x1_cmt_wind_timer );
-MACHINE_RESET( x1 );
-MACHINE_RESET( x1turbo );
-MACHINE_START( x1 );
-PALETTE_INIT(x1);
+
+
+
+
diff --git a/src/mess/includes/x68k.h b/src/mess/includes/x68k.h
index ad57d4b0cef..03cfbab88a4 100644
--- a/src/mess/includes/x68k.h
+++ b/src/mess/includes/x68k.h
@@ -261,6 +261,11 @@ public:
TILE_GET_INFO_MEMBER(x68k_get_bg1_tile);
TILE_GET_INFO_MEMBER(x68k_get_bg0_tile_16);
TILE_GET_INFO_MEMBER(x68k_get_bg1_tile_16);
+ DECLARE_MACHINE_START(x68030);
+ DECLARE_MACHINE_RESET(x68000);
+ DECLARE_MACHINE_START(x68000);
+ DECLARE_VIDEO_START(x68000);
+ DECLARE_PALETTE_INIT(x68000);
};
@@ -280,7 +285,7 @@ TIMER_CALLBACK(x68k_crtc_raster_irq);
TIMER_CALLBACK(x68k_crtc_vblank_irq);
TIMER_CALLBACK(x68k_hsync);
-PALETTE_INIT( x68000 );
+
READ16_HANDLER( x68k_spritereg_r );
WRITE16_HANDLER( x68k_spritereg_w );
READ16_HANDLER( x68k_spriteram_r );
@@ -296,7 +301,7 @@ READ32_HANDLER( x68k_gvram32_r );
WRITE32_HANDLER( x68k_tvram32_w );
READ32_HANDLER( x68k_tvram32_r );
SCREEN_UPDATE_IND16( x68000 );
-VIDEO_START( x68000 );
+
#endif /* X68K_H_ */
diff --git a/src/mess/includes/z80ne.h b/src/mess/includes/z80ne.h
index 538656a3027..da2bb0bd011 100644
--- a/src/mess/includes/z80ne.h
+++ b/src/mess/includes/z80ne.h
@@ -95,6 +95,15 @@ public:
DECLARE_DRIVER_INIT(z80net);
DECLARE_DRIVER_INIT(z80netb);
DECLARE_DRIVER_INIT(z80ne);
+ DECLARE_MACHINE_START(z80ne);
+ DECLARE_MACHINE_RESET(z80ne);
+ DECLARE_MACHINE_START(z80netb);
+ DECLARE_MACHINE_RESET(z80netb);
+ DECLARE_MACHINE_START(z80netf);
+ DECLARE_MACHINE_RESET(z80netf);
+ DECLARE_MACHINE_START(z80net);
+ DECLARE_MACHINE_RESET(z80net);
+ DECLARE_MACHINE_RESET(z80ne_base);
};
@@ -107,14 +116,14 @@ READ8_DEVICE_HANDLER(lx390_reset_bank);
WRITE8_DEVICE_HANDLER(lx390_motor_w);
-MACHINE_RESET(z80ne);
-MACHINE_RESET(z80net);
-MACHINE_RESET(z80netb);
-MACHINE_RESET(z80netf);
-MACHINE_START(z80ne);
-MACHINE_START(z80net);
-MACHINE_START(z80netb);
-MACHINE_START(z80netf);
+
+
+
+
+
+
+
+
INPUT_CHANGED(z80ne_reset);
INPUT_CHANGED(z80ne_nmi);
diff --git a/src/mess/includes/z88.h b/src/mess/includes/z88.h
index 050bd010291..3b9af813510 100644
--- a/src/mess/includes/z88.h
+++ b/src/mess/includes/z88.h
@@ -85,6 +85,7 @@ public:
UINT8 * m_bios;
UINT8 * m_ram_base;
z88cart_slot_device * m_carts[4];
+ virtual void palette_init();
};
diff --git a/src/mess/includes/zx.h b/src/mess/includes/zx.h
index 5bb2f87dc53..10bcc3e5ddd 100644
--- a/src/mess/includes/zx.h
+++ b/src/mess/includes/zx.h
@@ -51,18 +51,24 @@ public:
DECLARE_DIRECT_UPDATE_MEMBER(pc8300_setdirect);
DECLARE_DIRECT_UPDATE_MEMBER(pow3000_setdirect);
DECLARE_DRIVER_INIT(zx);
+ virtual void machine_reset();
+ virtual void video_start();
+ virtual void palette_init();
+ DECLARE_PALETTE_INIT(ts1000);
+ DECLARE_MACHINE_RESET(pc8300);
+ DECLARE_MACHINE_RESET(pow3000);
};
/*----------- defined in machine/zx.c -----------*/
-MACHINE_RESET( zx80 );
-MACHINE_RESET( pow3000 );
-MACHINE_RESET( pc8300 );
+
+
+
/*----------- defined in video/zx.c -----------*/
-VIDEO_START( zx );
+
SCREEN_VBLANK( zx );
void zx_ula_bkgnd(running_machine &machine, int color);
diff --git a/src/mess/machine/a7800.c b/src/mess/machine/a7800.c
index f860e2a779f..7add428bcfb 100644
--- a/src/mess/machine/a7800.c
+++ b/src/mess/machine/a7800.c
@@ -104,27 +104,26 @@ DRIVER_INIT_MEMBER(a7800_state,a7800_pal)
}
-MACHINE_RESET( a7800 )
+void a7800_state::machine_reset()
{
- a7800_state *state = machine.driver_data<a7800_state>();
UINT8 *memory;
- address_space* space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space* space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- state->m_ctrl_lock = 0;
- state->m_ctrl_reg = 0;
- state->m_maria_flag = 0;
+ m_ctrl_lock = 0;
+ m_ctrl_reg = 0;
+ m_maria_flag = 0;
/* set banks to default states */
- memory = state->memregion("maincpu")->base();
- state->membank("bank1")->set_base(memory + 0x4000 );
- state->membank("bank2")->set_base(memory + 0x8000 );
- state->membank("bank3")->set_base(memory + 0xA000 );
- state->membank("bank4")->set_base(memory + 0xC000 );
+ memory = memregion("maincpu")->base();
+ membank("bank1")->set_base(memory + 0x4000 );
+ membank("bank2")->set_base(memory + 0x8000 );
+ membank("bank3")->set_base(memory + 0xA000 );
+ membank("bank4")->set_base(memory + 0xC000 );
/* pokey cartridge */
- if (state->m_cart_type & 0x01)
+ if (m_cart_type & 0x01)
{
- pokey_device *pokey = machine.device<pokey_device>("pokey");
+ pokey_device *pokey = machine().device<pokey_device>("pokey");
space->install_readwrite_handler(0x4000, 0x7FFF, read8_delegate(FUNC(pokey_device::read),pokey), write8_delegate(FUNC(pokey_device::write),pokey));
}
}
diff --git a/src/mess/machine/ac1.c b/src/mess/machine/ac1.c
index 6be53661798..c193ce9cdb7 100644
--- a/src/mess/machine/ac1.c
+++ b/src/mess/machine/ac1.c
@@ -114,8 +114,7 @@ DRIVER_INIT_MEMBER(ac1_state,ac1)
{
}
-MACHINE_RESET( ac1 )
+void ac1_state::machine_reset()
{
- ac1_state *state = machine.driver_data<ac1_state>();
- state->m_cassette = machine.device<cassette_image_device>(CASSETTE_TAG);
+ m_cassette = machine().device<cassette_image_device>(CASSETTE_TAG);
}
diff --git a/src/mess/machine/aim65.c b/src/mess/machine/aim65.c
index 27756ef6377..7f9566a9cb5 100644
--- a/src/mess/machine/aim65.c
+++ b/src/mess/machine/aim65.c
@@ -138,16 +138,15 @@ WRITE8_MEMBER( aim65_state::aim65_riot_a_w )
DRIVER INIT
***************************************************************************/
-MACHINE_START( aim65 )
+void aim65_state::machine_start()
{
- aim65_state *state = machine.driver_data<aim65_state>();
- ram_device *ram = machine.device<ram_device>(RAM_TAG);
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ ram_device *ram = machine().device<ram_device>(RAM_TAG);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Init RAM */
space->install_ram(0x0000, ram->size() - 1, ram->pointer());
- state->m_pb_save = 0;
+ m_pb_save = 0;
}
@@ -284,7 +283,7 @@ device - the output will be gibberish.
/* Other items from H file
-VIDEO_START( aim65 );
+
VIDEO_UPDATE( aim65 );
*/
@@ -296,7 +295,7 @@ DRIVER_MEMBER(aim65_state, aim65_printer_on), // out CB2
/* From Machine Config
- MCFG_VIDEO_START(aim65)
+ MCFG_VIDEO_START_OVERRIDE(aim65_state,aim65)
MCFG_VIDEO_UPDATE(aim65)
*/
@@ -368,19 +367,18 @@ WRITE8_MEMBER( aim65_state::aim65_pa_w )
}
}
-VIDEO_START( aim65 )
+VIDEO_START_MEMBER(aim65_state,aim65)
{
- aim65_state *state = machine.driver_data<aim65_state>();
- state->m_print_timer = machine.scheduler().timer_alloc(FUNC(aim65_printer_timer));
- state->m_printerRAM = auto_alloc_array(machine, UINT16, (600 * 10 * 2) / 2);
- memset(state->m_printerRAM, 0, videoram_size);
- VIDEO_START_CALL(generic);
- state->m_printer_x = 0;
- state->m_printer_y = 0;
- state->m_printer_dir = 0;
- state->m_flag_a = 0;
- state->m_flag_b = 0;
- state->m_printer_level = 0;
+ m_print_timer = machine().scheduler().timer_alloc(FUNC(aim65_printer_timer));
+ m_printerRAM = auto_alloc_array(machine(), UINT16, (600 * 10 * 2) / 2);
+ memset(m_printerRAM, 0, videoram_size);
+ VIDEO_START_CALL_MEMBER(generic);
+ m_printer_x = 0;
+ m_printer_y = 0;
+ m_printer_dir = 0;
+ m_flag_a = 0;
+ m_flag_b = 0;
+ m_printer_level = 0;
}
SCREEN_UPDATE( aim65 )
diff --git a/src/mess/machine/amstrad.c b/src/mess/machine/amstrad.c
index df2a7c12ba5..501c04271e0 100644
--- a/src/mess/machine/amstrad.c
+++ b/src/mess/machine/amstrad.c
@@ -203,15 +203,15 @@ static void amstrad_rethinkMemory(running_machine &machine);
/* Initialise the palette */
-PALETTE_INIT( amstrad_cpc )
+PALETTE_INIT_MEMBER(amstrad_state,amstrad_cpc)
{
- palette_set_colors(machine, 0, amstrad_palette, ARRAY_LENGTH(amstrad_palette));
+ palette_set_colors(machine(), 0, amstrad_palette, ARRAY_LENGTH(amstrad_palette));
}
-PALETTE_INIT( amstrad_cpc_green )
+PALETTE_INIT_MEMBER(amstrad_state,amstrad_cpc_green)
{
- palette_set_colors(machine, 0, amstrad_green_palette, ARRAY_LENGTH(amstrad_green_palette));
+ palette_set_colors(machine(), 0, amstrad_green_palette, ARRAY_LENGTH(amstrad_green_palette));
}
@@ -283,16 +283,16 @@ static unsigned char kccomp_get_colour_element(int colour_value)
/* the colour rom has the same 32 bytes repeated, but it might be possible to put a new rom in
with different data and be able to select the other entries - not tested on a real kc compact yet
and not supported by this driver */
-PALETTE_INIT( kccomp )
+PALETTE_INIT_MEMBER(amstrad_state,kccomp)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
int i;
color_prom = color_prom+0x018000;
for (i=0; i<32; i++)
{
- palette_set_color_rgb(machine, i,
+ palette_set_color_rgb(machine(), i,
kccomp_get_colour_element((color_prom[i]>>2) & 0x03),
kccomp_get_colour_element((color_prom[i]>>4) & 0x03),
kccomp_get_colour_element((color_prom[i]>>0) & 0x03));
@@ -306,11 +306,11 @@ Amstrad Plus
The Amstrad Plus has a 4096 colour palette
*********************************************/
-PALETTE_INIT( amstrad_plus )
+PALETTE_INIT_MEMBER(amstrad_state,amstrad_plus)
{
int i;
- palette_set_colors(machine, 0, amstrad_palette, sizeof(amstrad_palette) / 3);
+ palette_set_colors(machine(), 0, amstrad_palette, sizeof(amstrad_palette) / 3);
for ( i = 0; i < 0x1000; i++ )
{
int r, g, b;
@@ -323,17 +323,17 @@ PALETTE_INIT( amstrad_plus )
g = ( g << 4 ) | ( g );
b = ( b << 4 ) | ( b );
- palette_set_color_rgb(machine, i, r, g, b);
+ palette_set_color_rgb(machine(), i, r, g, b);
}
}
-PALETTE_INIT( aleste )
+PALETTE_INIT_MEMBER(amstrad_state,aleste)
{
int i;
/* CPC Colour data is stored in the colour ROM (RFCOLDAT.BIN) at 0x140-0x17f */
- unsigned char* pal = machine.root_device().memregion("user4")->base();
+ unsigned char* pal = machine().root_device().memregion("user4")->base();
for(i=0; i<32; i++)
{
@@ -347,7 +347,7 @@ PALETTE_INIT( aleste )
g = (g << 6);
b = (b << 6);
- palette_set_color_rgb(machine, i, r, g, b);
+ palette_set_color_rgb(machine(), i, r, g, b);
}
/* MSX colour palette is 6-bit RGB */
@@ -363,7 +363,7 @@ PALETTE_INIT( aleste )
g = (g << 6);
b = (b << 6);
- palette_set_color_rgb(machine, i+32, r, g, b);
+ palette_set_color_rgb(machine(), i+32, r, g, b);
}
}
@@ -1062,15 +1062,14 @@ static WRITE_LINE_DEVICE_HANDLER( amstrad_plus_de_changed )
}
-VIDEO_START( amstrad )
+VIDEO_START_MEMBER(amstrad_state,amstrad)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
- //screen_device *screen = downcast<screen_device *>(machine.device("screen"));
+ //screen_device *screen = downcast<screen_device *>(machine().device("screen"));
- amstrad_init_lookups(state);
+ amstrad_init_lookups(this);
- state->m_gate_array.bitmap = auto_bitmap_ind16_alloc( machine, state->m_screen->width(), state->m_screen->height() );
- state->m_gate_array.hsync_after_vsync_counter = 3;
+ m_gate_array.bitmap = auto_bitmap_ind16_alloc( machine(), m_screen->width(), m_screen->height() );
+ m_gate_array.hsync_after_vsync_counter = 3;
}
@@ -2939,162 +2938,154 @@ static TIMER_CALLBACK( cb_set_resolution )
}
-MACHINE_START( amstrad )
+MACHINE_START_MEMBER(amstrad_state,amstrad)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
- state->m_system_type = SYSTEM_CPC;
+ m_system_type = SYSTEM_CPC;
}
-MACHINE_RESET( amstrad )
+MACHINE_RESET_MEMBER(amstrad_state,amstrad)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
int i;
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
for (i=0; i<256; i++)
{
- state->m_Amstrad_ROM_Table[i] = &rom[0x014000];
+ m_Amstrad_ROM_Table[i] = &rom[0x014000];
}
- state->m_Amstrad_ROM_Table[7] = &rom[0x018000];
- amstrad_common_init(machine);
- amstrad_reset_machine(machine);
-// amstrad_init_palette(machine);
+ m_Amstrad_ROM_Table[7] = &rom[0x018000];
+ amstrad_common_init(machine());
+ amstrad_reset_machine(machine());
+// amstrad_init_palette(machine());
- state->m_gate_array.de = 0;
- state->m_gate_array.draw_p = NULL;
- state->m_gate_array.hsync = 0;
- state->m_gate_array.vsync = 0;
+ m_gate_array.de = 0;
+ m_gate_array.draw_p = NULL;
+ m_gate_array.hsync = 0;
+ m_gate_array.vsync = 0;
- machine.scheduler().timer_set( attotime::zero, FUNC(cb_set_resolution));
+ machine().scheduler().timer_set( attotime::zero, FUNC(cb_set_resolution));
}
-MACHINE_START( plus )
+MACHINE_START_MEMBER(amstrad_state,plus)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
- state->m_asic.ram = state->memregion("user1")->base(); // 16kB RAM for ASIC, memory-mapped registers.
- state->m_system_type = SYSTEM_PLUS;
+ m_asic.ram = memregion("user1")->base(); // 16kB RAM for ASIC, memory-mapped registers.
+ m_system_type = SYSTEM_PLUS;
}
-MACHINE_RESET( plus )
+MACHINE_RESET_MEMBER(amstrad_state,plus)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
+ address_space *space = m_maincpu->space(AS_PROGRAM);
int i;
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
for (i=0; i<128; i++) // fill ROM table
{
- state->m_Amstrad_ROM_Table[i] = &rom[0x4000]; // BASIC in system cart
+ m_Amstrad_ROM_Table[i] = &rom[0x4000]; // BASIC in system cart
}
for(i=128;i<160;i++)
{
- state->m_Amstrad_ROM_Table[i] = &rom[(i-128)*0x4000];
- }
- state->m_Amstrad_ROM_Table[7] = &rom[0xc000]; // AMSDOS in system cart
-
- state->m_asic.enabled = 0;
- state->m_asic.seqptr = 0;
- state->m_asic.pri = 0; // disable PRI
- state->m_asic.dma_status = 0; // disable all DMA channels
- state->m_asic.dma_addr[0] = 0;
- state->m_asic.dma_prescaler[0] = 0;
- state->m_asic.dma_addr[1] = 0;
- state->m_asic.dma_prescaler[1] = 0;
- state->m_asic.dma_addr[2] = 0;
- state->m_asic.dma_prescaler[2] = 0;
- state->m_asic.dma_clear = 1; // by default, DMA interrupts must be cleared by writing to the DSCR (&6c0f)
- state->m_plus_irq_cause = 6;
-
- amstrad_common_init(machine);
- amstrad_reset_machine(machine);
- state->m_asic.ram[0x2805] = 0x01; // interrupt vector is undefined at startup, except that bit 0 is always 1.
- AmstradCPC_GA_SetRamConfiguration(machine);
- amstrad_GateArray_write(machine, 0x081); // Epyx World of Sports requires upper ROM to be enabled by default
-
- space->install_read_handler(0x4000, 0x5fff, read8_delegate(FUNC(amstrad_state::amstrad_plus_asic_4000_r),state));
- space->install_read_handler(0x6000, 0x7fff, read8_delegate(FUNC(amstrad_state::amstrad_plus_asic_6000_r),state));
- space->install_write_handler(0x4000, 0x5fff, write8_delegate(FUNC(amstrad_state::amstrad_plus_asic_4000_w),state));
- space->install_write_handler(0x6000, 0x7fff, write8_delegate(FUNC(amstrad_state::amstrad_plus_asic_6000_w),state));
+ m_Amstrad_ROM_Table[i] = &rom[(i-128)*0x4000];
+ }
+ m_Amstrad_ROM_Table[7] = &rom[0xc000]; // AMSDOS in system cart
+
+ m_asic.enabled = 0;
+ m_asic.seqptr = 0;
+ m_asic.pri = 0; // disable PRI
+ m_asic.dma_status = 0; // disable all DMA channels
+ m_asic.dma_addr[0] = 0;
+ m_asic.dma_prescaler[0] = 0;
+ m_asic.dma_addr[1] = 0;
+ m_asic.dma_prescaler[1] = 0;
+ m_asic.dma_addr[2] = 0;
+ m_asic.dma_prescaler[2] = 0;
+ m_asic.dma_clear = 1; // by default, DMA interrupts must be cleared by writing to the DSCR (&6c0f)
+ m_plus_irq_cause = 6;
+
+ amstrad_common_init(machine());
+ amstrad_reset_machine(machine());
+ m_asic.ram[0x2805] = 0x01; // interrupt vector is undefined at startup, except that bit 0 is always 1.
+ AmstradCPC_GA_SetRamConfiguration(machine());
+ amstrad_GateArray_write(machine(), 0x081); // Epyx World of Sports requires upper ROM to be enabled by default
+
+ space->install_read_handler(0x4000, 0x5fff, read8_delegate(FUNC(amstrad_state::amstrad_plus_asic_4000_r),this));
+ space->install_read_handler(0x6000, 0x7fff, read8_delegate(FUNC(amstrad_state::amstrad_plus_asic_6000_r),this));
+ space->install_write_handler(0x4000, 0x5fff, write8_delegate(FUNC(amstrad_state::amstrad_plus_asic_4000_w),this));
+ space->install_write_handler(0x6000, 0x7fff, write8_delegate(FUNC(amstrad_state::amstrad_plus_asic_6000_w),this));
// multiface_init();
- machine.scheduler().timer_set( attotime::zero, FUNC(cb_set_resolution));
+ machine().scheduler().timer_set( attotime::zero, FUNC(cb_set_resolution));
}
-MACHINE_START( gx4000 )
+MACHINE_START_MEMBER(amstrad_state,gx4000)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
- state->m_asic.ram = state->memregion("user1")->base(); // 16kB RAM for ASIC, memory-mapped registers.
- state->m_system_type = SYSTEM_GX4000;
+ m_asic.ram = memregion("user1")->base(); // 16kB RAM for ASIC, memory-mapped registers.
+ m_system_type = SYSTEM_GX4000;
}
-MACHINE_RESET( gx4000 )
+MACHINE_RESET_MEMBER(amstrad_state,gx4000)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
+ address_space *space = m_maincpu->space(AS_PROGRAM);
int i;
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
for (i=0; i<128; i++) // fill ROM table
{
- state->m_Amstrad_ROM_Table[i] = &rom[0x4000];
+ m_Amstrad_ROM_Table[i] = &rom[0x4000];
}
for(i=128;i<160;i++)
{
- state->m_Amstrad_ROM_Table[i] = &rom[(i-128)*0x4000];
- }
- state->m_Amstrad_ROM_Table[7] = &rom[0xc000];
-
- state->m_asic.enabled = 0;
- state->m_asic.seqptr = 0;
- state->m_asic.pri = 0; // disable PRI
- state->m_asic.dma_status = 0; // disable all DMA channels
- state->m_asic.dma_addr[0] = 0;
- state->m_asic.dma_prescaler[0] = 0;
- state->m_asic.dma_addr[1] = 0;
- state->m_asic.dma_prescaler[1] = 0;
- state->m_asic.dma_addr[2] = 0;
- state->m_asic.dma_prescaler[2] = 0;
- state->m_asic.dma_clear = 1; // by default, DMA interrupts must be cleared by writing to the DSCR (&6c0f)
- state->m_plus_irq_cause = 6;
-
- amstrad_common_init(machine);
- amstrad_reset_machine(machine);
- state->m_asic.ram[0x2805] = 0x01; // interrupt vector is undefined at startup, except that bit 0 is always 1.
- AmstradCPC_GA_SetRamConfiguration(machine);
- amstrad_GateArray_write(machine, 0x081); // Epyx World of Sports requires upper ROM to be enabled by default
+ m_Amstrad_ROM_Table[i] = &rom[(i-128)*0x4000];
+ }
+ m_Amstrad_ROM_Table[7] = &rom[0xc000];
+
+ m_asic.enabled = 0;
+ m_asic.seqptr = 0;
+ m_asic.pri = 0; // disable PRI
+ m_asic.dma_status = 0; // disable all DMA channels
+ m_asic.dma_addr[0] = 0;
+ m_asic.dma_prescaler[0] = 0;
+ m_asic.dma_addr[1] = 0;
+ m_asic.dma_prescaler[1] = 0;
+ m_asic.dma_addr[2] = 0;
+ m_asic.dma_prescaler[2] = 0;
+ m_asic.dma_clear = 1; // by default, DMA interrupts must be cleared by writing to the DSCR (&6c0f)
+ m_plus_irq_cause = 6;
+
+ amstrad_common_init(machine());
+ amstrad_reset_machine(machine());
+ m_asic.ram[0x2805] = 0x01; // interrupt vector is undefined at startup, except that bit 0 is always 1.
+ AmstradCPC_GA_SetRamConfiguration(machine());
+ amstrad_GateArray_write(machine(), 0x081); // Epyx World of Sports requires upper ROM to be enabled by default
// multiface_init();
- space->install_read_handler(0x4000, 0x5fff, read8_delegate(FUNC(amstrad_state::amstrad_plus_asic_4000_r),state));
- space->install_read_handler(0x6000, 0x7fff, read8_delegate(FUNC(amstrad_state::amstrad_plus_asic_6000_r),state));
- space->install_write_handler(0x4000, 0x5fff, write8_delegate(FUNC(amstrad_state::amstrad_plus_asic_4000_w),state));
- space->install_write_handler(0x6000, 0x7fff, write8_delegate(FUNC(amstrad_state::amstrad_plus_asic_6000_w),state));
+ space->install_read_handler(0x4000, 0x5fff, read8_delegate(FUNC(amstrad_state::amstrad_plus_asic_4000_r),this));
+ space->install_read_handler(0x6000, 0x7fff, read8_delegate(FUNC(amstrad_state::amstrad_plus_asic_6000_r),this));
+ space->install_write_handler(0x4000, 0x5fff, write8_delegate(FUNC(amstrad_state::amstrad_plus_asic_4000_w),this));
+ space->install_write_handler(0x6000, 0x7fff, write8_delegate(FUNC(amstrad_state::amstrad_plus_asic_6000_w),this));
- machine.scheduler().timer_set( attotime::zero, FUNC(cb_set_resolution));
+ machine().scheduler().timer_set( attotime::zero, FUNC(cb_set_resolution));
}
-MACHINE_START( kccomp )
+MACHINE_START_MEMBER(amstrad_state,kccomp)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
- state->m_system_type = SYSTEM_CPC;
+ m_system_type = SYSTEM_CPC;
}
-MACHINE_RESET( kccomp )
+MACHINE_RESET_MEMBER(amstrad_state,kccomp)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
int i;
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
for (i=0; i<256; i++)
{
- state->m_Amstrad_ROM_Table[i] = &rom[0x014000];
+ m_Amstrad_ROM_Table[i] = &rom[0x014000];
}
- amstrad_common_init(machine);
- kccomp_reset_machine(machine);
+ amstrad_common_init(machine());
+ kccomp_reset_machine(machine());
/* bit 1 = /TEST. When 0, KC compact will enter data transfer
sequence, where another system using the expansion port signals
@@ -3102,33 +3093,31 @@ MACHINE_RESET( kccomp )
When the program has been transfered, it will be executed. This
is not supported in the driver */
/* bit 3,4 are tied to +5V, bit 2 is tied to 0V */
- state->m_ppi_port_inputs[amstrad_ppi_PortB] = (1<<4) | (1<<3) | 2;
+ m_ppi_port_inputs[amstrad_ppi_PortB] = (1<<4) | (1<<3) | 2;
}
-MACHINE_START( aleste )
+MACHINE_START_MEMBER(amstrad_state,aleste)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
- state->m_system_type = SYSTEM_ALESTE;
+ m_system_type = SYSTEM_ALESTE;
}
-MACHINE_RESET( aleste )
+MACHINE_RESET_MEMBER(amstrad_state,aleste)
{
- amstrad_state *state = machine.driver_data<amstrad_state>();
int i;
- UINT8 *rom = state->memregion("maincpu")->base();
+ UINT8 *rom = memregion("maincpu")->base();
for (i=0; i<256; i++)
{
- state->m_Amstrad_ROM_Table[i] = &rom[0x014000];
+ m_Amstrad_ROM_Table[i] = &rom[0x014000];
}
- state->m_Amstrad_ROM_Table[3] = &rom[0x01c000]; // MSX-DOS / BIOS
- state->m_Amstrad_ROM_Table[7] = &rom[0x018000]; // AMSDOS
- amstrad_common_init(machine);
- amstrad_reset_machine(machine);
+ m_Amstrad_ROM_Table[3] = &rom[0x01c000]; // MSX-DOS / BIOS
+ m_Amstrad_ROM_Table[7] = &rom[0x018000]; // AMSDOS
+ amstrad_common_init(machine());
+ amstrad_reset_machine(machine());
- machine.scheduler().timer_set( attotime::zero, FUNC(cb_set_resolution));
+ machine().scheduler().timer_set( attotime::zero, FUNC(cb_set_resolution));
}
diff --git a/src/mess/machine/apollo.c b/src/mess/machine/apollo.c
index 4649e2ed40d..a2a4993f7ab 100644
--- a/src/mess/machine/apollo.c
+++ b/src/mess/machine/apollo.c
@@ -1465,39 +1465,38 @@ DRIVER_INIT_MEMBER(apollo_state,apollo)
//MLOG1(("driver_init_apollo"));
}
-MACHINE_START( apollo )
+MACHINE_START_MEMBER(apollo_state,apollo)
{
- MLOG1(("machine_start_apollo"));
+ //MLOG1(("machine_start_apollo"));
- device_start_apollo_fdc (machine.device(APOLLO_FDC_TAG));
- device_start_apollo_ptm (machine.device(APOLLO_PTM_TAG) );
- device_start_apollo_sio(machine.device(APOLLO_SIO_TAG));
- device_start_apollo_sio2(machine.device(APOLLO_SIO2_TAG));
+ device_start_apollo_fdc (machine().device(APOLLO_FDC_TAG));
+ device_start_apollo_ptm (machine().device(APOLLO_PTM_TAG) );
+ device_start_apollo_sio(machine().device(APOLLO_SIO_TAG));
+ device_start_apollo_sio2(machine().device(APOLLO_SIO2_TAG));
if (apollo_is_dn3000())
{
- MLOG1(("faking mc146818 interrupts (DN3000 only)"));
+ //MLOG1(("faking mc146818 interrupts (DN3000 only)"));
// fake mc146818 interrupts (DN3000 only)
- machine.scheduler().timer_pulse(attotime::from_hz(2), FUNC(apollo_rtc_timer));
+ machine().scheduler().timer_pulse(attotime::from_hz(2), FUNC(apollo_rtc_timer));
}
}
-MACHINE_RESET( apollo )
+MACHINE_RESET_MEMBER(apollo_state,apollo)
{
- apollo_state *st = machine.driver_data<apollo_state>();
- MLOG1(("machine_reset_apollo"));
+ //MLOG1(("machine_reset_apollo"));
- st->dma8237_1 = machine.device(APOLLO_DMA1_TAG);
- st->dma8237_2 = machine.device(APOLLO_DMA2_TAG);
- st->pic8259_master = machine.device(APOLLO_PIC1_TAG);
- st->pic8259_slave = machine.device(APOLLO_PIC2_TAG);
+ dma8237_1 = machine().device(APOLLO_DMA1_TAG);
+ dma8237_2 = machine().device(APOLLO_DMA2_TAG);
+ pic8259_master = machine().device(APOLLO_PIC1_TAG);
+ pic8259_slave = machine().device(APOLLO_PIC2_TAG);
// set configuration
apollo_csr_set_servicemode(apollo_config(APOLLO_CONF_SERVICE_MODE));
- device_reset_apollo_ptm(machine.device(APOLLO_PTM_TAG));
- device_reset_apollo_rtc(machine.device(APOLLO_RTC_TAG));
- device_reset_apollo_sio(machine.device(APOLLO_SIO_TAG));
- device_reset_apollo_sio2(machine.device(APOLLO_SIO2_TAG));
+ device_reset_apollo_ptm(machine().device(APOLLO_PTM_TAG));
+ device_reset_apollo_rtc(machine().device(APOLLO_RTC_TAG));
+ device_reset_apollo_sio(machine().device(APOLLO_SIO_TAG));
+ device_reset_apollo_sio2(machine().device(APOLLO_SIO2_TAG));
device_reset_apollo_fdc(apollo_fdc_device);
}
diff --git a/src/mess/machine/apple1.c b/src/mess/machine/apple1.c
index 6edf178164f..34cb7c0db06 100644
--- a/src/mess/machine/apple1.c
+++ b/src/mess/machine/apple1.c
@@ -166,10 +166,10 @@ DRIVER_INIT_MEMBER(apple1_state,apple1)
** MACHINE_RESET: actions to perform on each cold boot.
*****************************************************************************/
-MACHINE_RESET( apple1 )
+void apple1_state::machine_reset()
{
/* Reset the display hardware. */
- apple1_vh_dsp_clr(machine);
+ apple1_vh_dsp_clr(machine());
}
diff --git a/src/mess/machine/apple2.c b/src/mess/machine/apple2.c
index 039071a8521..b9cec454571 100644
--- a/src/mess/machine/apple2.c
+++ b/src/mess/machine/apple2.c
@@ -1785,125 +1785,120 @@ void apple2_init_common(running_machine &machine)
-MACHINE_START( apple2 )
+MACHINE_START_MEMBER(apple2_state,apple2)
{
apple2_memmap_config mem_cfg;
void *apple2cp_ce00_ram = NULL;
- apple2_state *state = machine.driver_data<apple2_state>();
- state->m_flags_mask = 0;
+ m_flags_mask = 0;
/* there appears to be some hidden RAM that is swapped in on the Apple
* IIc plus; I have not found any official documentation but the BIOS
* clearly uses this area as writeable memory */
- if (!strcmp(machine.system().name, "apple2cp"))
- apple2cp_ce00_ram = auto_alloc_array(machine, UINT8, 0x200);
+ if (!strcmp(machine().system().name, "apple2cp"))
+ apple2cp_ce00_ram = auto_alloc_array(machine(), UINT8, 0x200);
- state->m_machinetype = APPLE_IIEPLUS;
+ m_machinetype = APPLE_IIEPLUS;
- apple2_init_common(machine);
+ apple2_init_common(machine());
/* setup memory */
memset(&mem_cfg, 0, sizeof(mem_cfg));
mem_cfg.first_bank = 1;
mem_cfg.memmap = apple2_memmap_entries;
mem_cfg.auxmem = (UINT8*)apple2cp_ce00_ram;
- apple2_setup_memory(machine, &mem_cfg);
+ apple2_setup_memory(machine(), &mem_cfg);
/* perform initial reset */
- apple2_reset(machine);
+ apple2_reset(machine());
}
-MACHINE_START( laser128 )
+MACHINE_START_MEMBER(apple2_state,laser128)
{
apple2_memmap_config mem_cfg;
- apple2_state *state = machine.driver_data<apple2_state>();
- state->m_flags_mask = 0;
- state->m_machinetype = LASER128;
+ m_flags_mask = 0;
+ m_machinetype = LASER128;
- apple2_init_common(machine);
+ apple2_init_common(machine());
/* setup memory */
memset(&mem_cfg, 0, sizeof(mem_cfg));
mem_cfg.first_bank = 1;
mem_cfg.memmap = apple2_memmap_entries;
mem_cfg.auxmem = (UINT8*)NULL;
- apple2_setup_memory(machine, &mem_cfg);
+ apple2_setup_memory(machine(), &mem_cfg);
/* perform initial reset */
- apple2_reset(machine);
+ apple2_reset(machine());
}
-MACHINE_START( apple2orig )
+MACHINE_START_MEMBER(apple2_state,apple2orig)
{
apple2_memmap_config mem_cfg;
void *apple2cp_ce00_ram = NULL;
- apple2_state *state = machine.driver_data<apple2_state>();
// II and II+ have no internal ROM or internal slot 3 h/w, so don't allow these states
- state->m_flags_mask = VAR_INTCXROM|VAR_SLOTC3ROM;
+ m_flags_mask = VAR_INTCXROM|VAR_SLOTC3ROM;
- state->m_machinetype = APPLE_II;
+ m_machinetype = APPLE_II;
- apple2_init_common(machine);
+ apple2_init_common(machine());
/* setup memory */
memset(&mem_cfg, 0, sizeof(mem_cfg));
mem_cfg.first_bank = 1;
mem_cfg.memmap = apple2_memmap_entries;
mem_cfg.auxmem = (UINT8*)apple2cp_ce00_ram;
- apple2_setup_memory(machine, &mem_cfg);
+ apple2_setup_memory(machine(), &mem_cfg);
/* perform initial reset */
- apple2_reset(machine);
+ apple2_reset(machine());
}
-MACHINE_START( space84 )
+MACHINE_START_MEMBER(apple2_state,space84)
{
apple2_memmap_config mem_cfg;
void *apple2cp_ce00_ram = NULL;
- apple2_state *state = machine.driver_data<apple2_state>();
// II and II+ have no internal ROM or internal slot 3 h/w, so don't allow these states
- state->m_flags_mask = VAR_INTCXROM|VAR_SLOTC3ROM;
+ m_flags_mask = VAR_INTCXROM|VAR_SLOTC3ROM;
- state->m_machinetype = SPACE84;
+ m_machinetype = SPACE84;
- apple2_init_common(machine);
+ apple2_init_common(machine());
/* setup memory */
memset(&mem_cfg, 0, sizeof(mem_cfg));
mem_cfg.first_bank = 1;
mem_cfg.memmap = apple2_memmap_entries;
mem_cfg.auxmem = (UINT8*)apple2cp_ce00_ram;
- apple2_setup_memory(machine, &mem_cfg);
+ apple2_setup_memory(machine(), &mem_cfg);
/* perform initial reset */
- apple2_reset(machine);
+ apple2_reset(machine());
}
-MACHINE_START( tk2000 )
+MACHINE_START_MEMBER(apple2_state,tk2000)
{
apple2_memmap_config mem_cfg;
- apple2_state *state = machine.driver_data<apple2_state>();
// II and II+ have no internal ROM or internal slot 3 h/w, so don't allow these states
- state->m_flags_mask = VAR_INTCXROM|VAR_SLOTC3ROM;
+ m_flags_mask = VAR_INTCXROM|VAR_SLOTC3ROM;
- state->m_machinetype = TK2000;
+ m_machinetype = TK2000;
- apple2_init_common(machine);
+ apple2_init_common(machine());
/* setup memory */
memset(&mem_cfg, 0, sizeof(mem_cfg));
mem_cfg.first_bank = 1;
mem_cfg.memmap = tk2000_memmap_entries;
mem_cfg.auxmem = (UINT8*)NULL;
- apple2_setup_memory(machine, &mem_cfg);
+ apple2_setup_memory(machine(), &mem_cfg);
/* perform initial reset */
- apple2_reset(machine);
+ apple2_reset(machine());
}
int apple2_pressed_specialkey(running_machine &machine, UINT8 key)
diff --git a/src/mess/machine/apple2gs.c b/src/mess/machine/apple2gs.c
index c3ce4790af8..efa6e70d4a7 100644
--- a/src/mess/machine/apple2gs.c
+++ b/src/mess/machine/apple2gs.c
@@ -1882,143 +1882,140 @@ static READ8_HANDLER( apple2gs_read_vector )
return space->read_byte(offset | 0xFF0000);
}
-MACHINE_RESET( apple2gs )
-{
- apple2gs_state *state = machine.driver_data<apple2gs_state>();
-
- state->apple2gs_refresh_delegates();
-
- state->m_cur_slot6_image = NULL;
- state->m_newvideo = 0x00;
- state->m_vgcint = 0x00;
- state->m_langsel = 0x00;
- state->m_sltromsel = 0x00;
- state->m_cyareg = 0x80;
- state->m_inten = 0x00;
- state->m_intflag = 0x00;
- state->m_shadow = 0x00;
- state->m_pending_irqs = 0x00;
- state->m_mouse_x = 0x00;
- state->m_mouse_y = 0x00;
- state->m_mouse_dx = 0x00;
- state->m_mouse_dy = 0x00;
- state->m_adb_state = ADBSTATE_IDLE;
- state->m_adb_kmstatus = 0x00;
- state->m_adb_command = 0;
- state->m_adb_mode = 0;
- state->m_adb_latent_result = 0;
- state->m_adb_command_length = 0;
- state->m_adb_command_pos = 0;
- memset(state->m_adb_command_bytes, 0, sizeof(state->m_adb_command_bytes));
- memset(state->m_adb_response_bytes, 0, sizeof(state->m_adb_response_bytes));
- state->m_adb_response_length = 0;
- state->m_adb_response_pos = 0;
- memset(state->m_adb_memory, 0, sizeof(state->m_adb_memory));
- state->m_adb_address_keyboard = 2;
- state->m_adb_address_mouse = 3;
+MACHINE_RESET_MEMBER(apple2gs_state,apple2gs)
+{
+
+ apple2gs_refresh_delegates();
+
+ m_cur_slot6_image = NULL;
+ m_newvideo = 0x00;
+ m_vgcint = 0x00;
+ m_langsel = 0x00;
+ m_sltromsel = 0x00;
+ m_cyareg = 0x80;
+ m_inten = 0x00;
+ m_intflag = 0x00;
+ m_shadow = 0x00;
+ m_pending_irqs = 0x00;
+ m_mouse_x = 0x00;
+ m_mouse_y = 0x00;
+ m_mouse_dx = 0x00;
+ m_mouse_dy = 0x00;
+ m_adb_state = ADBSTATE_IDLE;
+ m_adb_kmstatus = 0x00;
+ m_adb_command = 0;
+ m_adb_mode = 0;
+ m_adb_latent_result = 0;
+ m_adb_command_length = 0;
+ m_adb_command_pos = 0;
+ memset(m_adb_command_bytes, 0, sizeof(m_adb_command_bytes));
+ memset(m_adb_response_bytes, 0, sizeof(m_adb_response_bytes));
+ m_adb_response_length = 0;
+ m_adb_response_pos = 0;
+ memset(m_adb_memory, 0, sizeof(m_adb_memory));
+ m_adb_address_keyboard = 2;
+ m_adb_address_mouse = 3;
/* init time */
- state->m_clock_data = 0;
- state->m_clock_control =0;
- state->m_clock_read = 0;
- state->m_clock_reg1 = 0;
- state->m_clock_mode = CLOCKMODE_IDLE;
- state->m_clock_curtime = 0;
- state->m_clock_curtime_interval = 0;
+ m_clock_data = 0;
+ m_clock_control =0;
+ m_clock_read = 0;
+ m_clock_reg1 = 0;
+ m_clock_mode = CLOCKMODE_IDLE;
+ m_clock_curtime = 0;
+ m_clock_curtime_interval = 0;
- state->m_sndglu_ctrl = 0x00;
- state->m_sndglu_addr = 0;
- state->m_sndglu_dummy_read = 0;
+ m_sndglu_ctrl = 0x00;
+ m_sndglu_addr = 0;
+ m_sndglu_dummy_read = 0;
}
-MACHINE_START( apple2gscommon )
+MACHINE_START_MEMBER(apple2gs_state,apple2gscommon)
{
- apple2gs_state *state = machine.driver_data<apple2gs_state>();
- state->apple2gs_refresh_delegates();
- apple2_init_common(machine);
+ apple2gs_refresh_delegates();
+ apple2_init_common(machine());
/* set up Apple IIgs vectoring */
- g65816_set_read_vector_callback(machine.device("maincpu"), apple2gs_read_vector);
+ g65816_set_read_vector_callback(machine().device("maincpu"), apple2gs_read_vector);
/* setup globals */
- state->m_is_rom3 = true;
+ m_is_rom3 = true;
- machine.device<nvram_device>("nvram")->set_base(state->m_clock_bram, sizeof(state->m_clock_bram));
+ machine().device<nvram_device>("nvram")->set_base(m_clock_bram, sizeof(m_clock_bram));
/* save state stuff. note that the driver takes care of docram. */
- UINT8* ram = machine.device<ram_device>(RAM_TAG)->pointer();
- state_save_register_item_pointer(machine, "APPLE2GS_RAM", NULL, 0, ram, machine.device<ram_device>(RAM_TAG)->size());
-
- state_save_register_item(machine, "NEWVIDEO", NULL, 0, state->m_newvideo);
-
- state_save_register_item(machine, "VGCINT", NULL,0, state->m_vgcint);
- state_save_register_item(machine, "LANGSEL", NULL,0, state->m_langsel);
- state_save_register_item(machine, "SLTROMSEL", NULL,0, state->m_sltromsel);
- state_save_register_item(machine, "CYAREG", NULL,0, state->m_cyareg);
- state_save_register_item(machine, "INTEN", NULL,0, state->m_inten);
- state_save_register_item(machine, "INTFLAG", NULL,0, state->m_intflag);
- state_save_register_item(machine, "SHADOW", NULL,0, state->m_shadow);
- state_save_register_item(machine, "PENDIRQ", NULL,0, state->m_pending_irqs);
- state_save_register_item(machine, "MX", NULL,0, state->m_mouse_x);
- state_save_register_item(machine, "MY", NULL,0, state->m_mouse_y);
- state_save_register_item(machine, "MDX", NULL,0, state->m_mouse_dx);
- state_save_register_item(machine, "MDY", NULL,0, state->m_mouse_dy);
-
- state_save_register_item(machine, "CLKDATA", NULL,0, state->m_clock_data);
- state_save_register_item(machine, "CLKCTRL", NULL,0, state->m_clock_control);
- state_save_register_item(machine, "CLKRD", NULL,0, state->m_clock_read);
- state_save_register_item(machine, "CLKREG1", NULL,0, state->m_clock_reg1);
- state_save_register_item(machine, "CLKCURTIME", NULL,0, state->m_clock_curtime);
- state_save_register_item(machine, "CLKCURTIMEINT", NULL,0, state->m_clock_curtime_interval);
-// state_save_register_item(machine, "CLKMODE", NULL,0, state->m_clock_mode);
- state->save_item(NAME(state->m_clock_bram));
-
- state->save_item(NAME(state->m_adb_memory));
- state->save_item(NAME(state->m_adb_command_bytes));
- state->save_item(NAME(state->m_adb_response_bytes));
-// state_save_register_item(machine, "ADB", NULL,0, state->m_adb_state);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_command);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_mode);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_kmstatus);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_latent_result);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_command_length);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_command_pos);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_response_length);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_response_pos);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_address_keyboard);
- state_save_register_item(machine, "ADB", NULL,0, state->m_adb_address_mouse);
-
- state_save_register_item(machine, "SNDGLUCTRL", NULL,0, state->m_sndglu_ctrl);
- state_save_register_item(machine, "SNDGLUADDR", NULL,0, state->m_sndglu_addr);
- state_save_register_item(machine, "SNDGLUDUMMYRD", NULL,0, state->m_sndglu_dummy_read);
-
- state->m_clock_timer = machine.scheduler().timer_alloc(FUNC(apple2gs_clock_tick));
- state->m_clock_timer->adjust(attotime::from_seconds(1), 0, attotime::from_seconds(1));
-
- state->m_qsecond_timer = machine.scheduler().timer_alloc(FUNC(apple2gs_qsecond_tick));
- state->m_qsecond_timer->adjust(attotime::from_usec(266700), 0, attotime::from_usec(266700));
-
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(apple2gs_scanline_tick));
- state->m_scanline_timer->adjust(attotime::never);
+ UINT8* ram = machine().device<ram_device>(RAM_TAG)->pointer();
+ state_save_register_item_pointer(machine(), "APPLE2GS_RAM", NULL, 0, ram, machine().device<ram_device>(RAM_TAG)->size());
+
+ state_save_register_item(machine(), "NEWVIDEO", NULL, 0, m_newvideo);
+
+ state_save_register_item(machine(), "VGCINT", NULL,0, m_vgcint);
+ state_save_register_item(machine(), "LANGSEL", NULL,0, m_langsel);
+ state_save_register_item(machine(), "SLTROMSEL", NULL,0, m_sltromsel);
+ state_save_register_item(machine(), "CYAREG", NULL,0, m_cyareg);
+ state_save_register_item(machine(), "INTEN", NULL,0, m_inten);
+ state_save_register_item(machine(), "INTFLAG", NULL,0, m_intflag);
+ state_save_register_item(machine(), "SHADOW", NULL,0, m_shadow);
+ state_save_register_item(machine(), "PENDIRQ", NULL,0, m_pending_irqs);
+ state_save_register_item(machine(), "MX", NULL,0, m_mouse_x);
+ state_save_register_item(machine(), "MY", NULL,0, m_mouse_y);
+ state_save_register_item(machine(), "MDX", NULL,0, m_mouse_dx);
+ state_save_register_item(machine(), "MDY", NULL,0, m_mouse_dy);
+
+ state_save_register_item(machine(), "CLKDATA", NULL,0, m_clock_data);
+ state_save_register_item(machine(), "CLKCTRL", NULL,0, m_clock_control);
+ state_save_register_item(machine(), "CLKRD", NULL,0, m_clock_read);
+ state_save_register_item(machine(), "CLKREG1", NULL,0, m_clock_reg1);
+ state_save_register_item(machine(), "CLKCURTIME", NULL,0, m_clock_curtime);
+ state_save_register_item(machine(), "CLKCURTIMEINT", NULL,0, m_clock_curtime_interval);
+// state_save_register_item(machine(), "CLKMODE", NULL,0, m_clock_mode);
+ save_item(NAME(m_clock_bram));
+
+ save_item(NAME(m_adb_memory));
+ save_item(NAME(m_adb_command_bytes));
+ save_item(NAME(m_adb_response_bytes));
+// state_save_register_item(machine(), "ADB", NULL,0, m_adb_state);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_command);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_mode);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_kmstatus);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_latent_result);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_command_length);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_command_pos);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_response_length);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_response_pos);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_address_keyboard);
+ state_save_register_item(machine(), "ADB", NULL,0, m_adb_address_mouse);
+
+ state_save_register_item(machine(), "SNDGLUCTRL", NULL,0, m_sndglu_ctrl);
+ state_save_register_item(machine(), "SNDGLUADDR", NULL,0, m_sndglu_addr);
+ state_save_register_item(machine(), "SNDGLUDUMMYRD", NULL,0, m_sndglu_dummy_read);
+
+ m_clock_timer = machine().scheduler().timer_alloc(FUNC(apple2gs_clock_tick));
+ m_clock_timer->adjust(attotime::from_seconds(1), 0, attotime::from_seconds(1));
+
+ m_qsecond_timer = machine().scheduler().timer_alloc(FUNC(apple2gs_qsecond_tick));
+ m_qsecond_timer->adjust(attotime::from_usec(266700), 0, attotime::from_usec(266700));
+
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(apple2gs_scanline_tick));
+ m_scanline_timer->adjust(attotime::never);
// fire on scanline zero
- state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0, 0));
+ m_scanline_timer->adjust(machine().primary_screen->time_until_pos(0, 0));
}
-MACHINE_START( apple2gs )
+MACHINE_START_MEMBER(apple2gs_state,apple2gs)
{
- MACHINE_START_NAME(apple2gscommon)(machine);
- apple2gs_setup_memory(machine);
+ MACHINE_START_CALL_MEMBER(apple2gscommon);
+ apple2gs_setup_memory(machine());
}
-MACHINE_START( apple2gsr1 )
+MACHINE_START_MEMBER(apple2gs_state,apple2gsr1)
{
- MACHINE_START_NAME(apple2gscommon)(machine);
+ MACHINE_START_CALL_MEMBER(apple2gscommon);
- apple2gs_state *state = machine.driver_data<apple2gs_state>();
- state->m_is_rom3 = false;
- apple2gs_setup_memory(machine);
+ m_is_rom3 = false;
+ apple2gs_setup_memory(machine());
}
void apple2gs_state::apple2gs_refresh_delegates()
diff --git a/src/mess/machine/apple3.c b/src/mess/machine/apple3.c
index e4ce4ee049e..1c34a3341e1 100644
--- a/src/mess/machine/apple3.c
+++ b/src/mess/machine/apple3.c
@@ -541,7 +541,7 @@ const via6522_interface apple3_via_1_intf =
-MACHINE_RESET( apple3 )
+MACHINE_RESET_MEMBER(apple3_state,apple3)
{
}
diff --git a/src/mess/machine/at.c b/src/mess/machine/at.c
index e59d02387b2..a4da925c3b7 100644
--- a/src/mess/machine/at.c
+++ b/src/mess/machine/at.c
@@ -352,17 +352,16 @@ static IRQ_CALLBACK(at_irq_callback)
return pic8259_acknowledge(st->m_pic8259_master);
}
-MACHINE_START( at )
+MACHINE_START_MEMBER(at_state,at)
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(at_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(at_irq_callback);
}
-MACHINE_RESET( at )
+MACHINE_RESET_MEMBER(at_state,at)
{
- at_state *st = machine.driver_data<at_state>();
- st->m_poll_delay = 4;
- st->m_at_spkrdata = 0;
- st->m_at_speaker_input = 0;
- st->m_dma_channel = -1;
- st->m_cur_eop = false;
+ m_poll_delay = 4;
+ m_at_spkrdata = 0;
+ m_at_speaker_input = 0;
+ m_dma_channel = -1;
+ m_cur_eop = false;
}
diff --git a/src/mess/machine/b2m.c b/src/mess/machine/b2m.c
index f56de201486..61db41b0606 100644
--- a/src/mess/machine/b2m.c
+++ b/src/mess/machine/b2m.c
@@ -320,29 +320,28 @@ static void b2m_postload(b2m_state *state)
b2m_set_bank(state->machine(), state->m_b2m_8255_portc & 7);
}
-MACHINE_START(b2m)
+void b2m_state::machine_start()
{
- b2m_state *state = machine.driver_data<b2m_state>();
- state->m_pic = machine.device("pic8259");
- state->m_fdc = machine.device("wd1793");
- state->m_speaker = machine.device(SPEAKER_TAG);
+ m_pic = machine().device("pic8259");
+ m_fdc = machine().device("wd1793");
+ m_speaker = machine().device(SPEAKER_TAG);
- wd17xx_set_pause_time(state->m_fdc,10);
+ wd17xx_set_pause_time(m_fdc,10);
/* register for state saving */
- state->save_item(NAME(state->m_b2m_8255_porta));
- state->save_item(NAME(state->m_b2m_video_scroll));
- state->save_item(NAME(state->m_b2m_8255_portc));
- state->save_item(NAME(state->m_b2m_video_page));
- state->save_item(NAME(state->m_b2m_drive));
- state->save_item(NAME(state->m_b2m_side));
- state->save_item(NAME(state->m_b2m_romdisk_lsb));
- state->save_item(NAME(state->m_b2m_romdisk_msb));
- state->save_pointer(NAME(state->m_b2m_color), 4);
- state->save_item(NAME(state->m_b2m_localmachine));
- state->save_item(NAME(state->m_vblank_state));
-
- machine.save().register_postload(save_prepost_delegate(FUNC(b2m_postload), state));
+ save_item(NAME(m_b2m_8255_porta));
+ save_item(NAME(m_b2m_video_scroll));
+ save_item(NAME(m_b2m_8255_portc));
+ save_item(NAME(m_b2m_video_page));
+ save_item(NAME(m_b2m_drive));
+ save_item(NAME(m_b2m_side));
+ save_item(NAME(m_b2m_romdisk_lsb));
+ save_item(NAME(m_b2m_romdisk_msb));
+ save_pointer(NAME(m_b2m_color), 4);
+ save_item(NAME(m_b2m_localmachine));
+ save_item(NAME(m_vblank_state));
+
+ machine().save().register_postload(save_prepost_delegate(FUNC(b2m_postload), this));
}
static IRQ_CALLBACK(b2m_irq_callback)
@@ -366,12 +365,11 @@ INTERRUPT_GEN( b2m_vblank_interrupt )
pic8259_ir0_w(state->m_pic, state->m_vblank_state);
}
-MACHINE_RESET(b2m)
+void b2m_state::machine_reset()
{
- b2m_state *state = machine.driver_data<b2m_state>();
- state->m_b2m_side = 0;
- state->m_b2m_drive = 0;
+ m_b2m_side = 0;
+ m_b2m_drive = 0;
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(b2m_irq_callback);
- b2m_set_bank(machine, 7);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(b2m_irq_callback);
+ b2m_set_bank(machine(), 7);
}
diff --git a/src/mess/machine/bbc.c b/src/mess/machine/bbc.c
index a356cf700f6..be1cd726f84 100644
--- a/src/mess/machine/bbc.c
+++ b/src/mess/machine/bbc.c
@@ -1999,76 +1999,73 @@ DRIVER_INIT_MEMBER(bbc_state,bbcm)
m_tape_timer = machine().scheduler().timer_alloc(FUNC(bbc_tape_timer_cb));
}
-MACHINE_START( bbca )
+MACHINE_START_MEMBER(bbc_state,bbca)
{
}
-MACHINE_RESET( bbca )
+MACHINE_RESET_MEMBER(bbc_state,bbca)
{
- bbc_state *state = machine.driver_data<bbc_state>();
- UINT8 *ram = machine.root_device().memregion("maincpu")->base();
- state->m_RAMSize = 1;
- state->membank("bank1")->set_base(ram);
- state->membank("bank3")->set_base(ram);
+ UINT8 *ram = machine().root_device().memregion("maincpu")->base();
+ m_RAMSize = 1;
+ membank("bank1")->set_base(ram);
+ membank("bank3")->set_base(ram);
- state->membank("bank4")->set_base(machine.root_device().memregion("user1")->base()); /* bank 4 is the paged ROMs from 8000 to bfff */
- state->membank("bank7")->set_base(state->memregion("user1")->base()+0x10000); /* bank 7 points at the OS rom from c000 to ffff */
+ membank("bank4")->set_base(machine().root_device().memregion("user1")->base()); /* bank 4 is the paged ROMs from 8000 to bfff */
+ membank("bank7")->set_base(memregion("user1")->base()+0x10000); /* bank 7 points at the OS rom from c000 to ffff */
- bbcb_IC32_initialise(state);
+ bbcb_IC32_initialise(this);
}
-MACHINE_START( bbcb )
+MACHINE_START_MEMBER(bbc_state,bbcb)
{
- bbc_state *state = machine.driver_data<bbc_state>();
- state->m_mc6850_clock = 0;
+ m_mc6850_clock = 0;
//removed from here because MACHINE_START can no longer read DIP swiches.
//put in MACHINE_RESET instead.
- //state->m_DFSType= (machine.root_device().ioport("BBCCONFIG")->read()>>0)&0x07;
- //state->m_SWRAMtype=(machine.root_device().ioport("BBCCONFIG")->read()>>3)&0x03;
- //state->m_RAMSize= (machine.root_device().ioport("BBCCONFIG")->read()>>5)&0x01;
+ //m_DFSType= (machine().root_device().ioport("BBCCONFIG")->read()>>0)&0x07;
+ //m_SWRAMtype=(machine().root_device().ioport("BBCCONFIG")->read()>>3)&0x03;
+ //m_RAMSize= (machine().root_device().ioport("BBCCONFIG")->read()>>5)&0x01;
/*set up the required disc controller*/
- //switch (state->m_DFSType) {
+ //switch (m_DFSType) {
//case 0: case 1: case 2: case 3:
- state->m_previous_i8271_int_state=0;
+ m_previous_i8271_int_state=0;
// break;
//case 4: case 5: case 6:
- state->m_previous_wd177x_int_state=1;
+ m_previous_wd177x_int_state=1;
// break;
//}
}
-MACHINE_RESET( bbcb )
+MACHINE_RESET_MEMBER(bbc_state,bbcb)
{
- bbc_state *state = machine.driver_data<bbc_state>();
- UINT8 *ram = state->memregion("maincpu")->base();
- state->m_DFSType= (machine.root_device().ioport("BBCCONFIG")->read() >> 0) & 0x07;
- state->m_SWRAMtype = (machine.root_device().ioport("BBCCONFIG")->read() >> 3) & 0x03;
- state->m_RAMSize= (machine.root_device().ioport("BBCCONFIG")->read() >> 5) & 0x01;
+ UINT8 *ram = memregion("maincpu")->base();
+ m_DFSType= (machine().root_device().ioport("BBCCONFIG")->read() >> 0) & 0x07;
+ m_SWRAMtype = (machine().root_device().ioport("BBCCONFIG")->read() >> 3) & 0x03;
+ m_RAMSize= (machine().root_device().ioport("BBCCONFIG")->read() >> 5) & 0x01;
- state->membank("bank1")->set_base(ram);
- if (state->m_RAMSize)
+ membank("bank1")->set_base(ram);
+ if (m_RAMSize)
{
/* 32K Model B */
- state->membank("bank3")->set_base(ram + 0x4000);
- state->m_memorySize=32;
+ membank("bank3")->set_base(ram + 0x4000);
+ m_memorySize=32;
}
else
{
/* 16K just repeat the lower 16K*/
- state->membank("bank3")->set_base(ram);
- state->m_memorySize=16;
+ membank("bank3")->set_base(ram);
+ m_memorySize=16;
}
- state->membank("bank4")->set_base(machine.root_device().memregion("user1")->base()); /* bank 4 is the paged ROMs from 8000 to bfff */
- state->membank("bank7")->set_base(machine.root_device().memregion("user1")->base() + 0x40000); /* bank 7 points at the OS rom from c000 to ffff */
+ membank("bank4")->set_base(machine().root_device().memregion("user1")->base()); /* bank 4 is the paged ROMs from 8000 to bfff */
+ membank("bank7")->set_base(machine().root_device().memregion("user1")->base() + 0x40000); /* bank 7 points at the OS rom from c000 to ffff */
- bbcb_IC32_initialise(state);
+ bbcb_IC32_initialise(this);
- state->m_opusbank = 0;
+ m_opusbank = 0;
/*set up the required disc controller*/
- //switch (state->m_DFSType) {
+ //switch (m_DFSType) {
//case 0: case 1: case 2: case 3:
// break;
//case 4: case 5: case 6:
@@ -2077,60 +2074,56 @@ MACHINE_RESET( bbcb )
}
-MACHINE_START( bbcbp )
+MACHINE_START_MEMBER(bbc_state,bbcbp)
{
- bbc_state *state = machine.driver_data<bbc_state>();
- state->m_mc6850_clock = 0;
+ m_mc6850_clock = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(bbc_state::bbcbp_direct_handler), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(bbc_state::bbcbp_direct_handler), this));
/* bank 6 is the paged ROMs from b000 to bfff */
- state->membank("bank6")->configure_entries(0, 16, state->memregion("user1")->base() + 0x3000, 1<<14);
+ membank("bank6")->configure_entries(0, 16, memregion("user1")->base() + 0x3000, 1<<14);
}
-MACHINE_RESET( bbcbp )
+MACHINE_RESET_MEMBER(bbc_state,bbcbp)
{
- bbc_state *state = machine.driver_data<bbc_state>();
- state->membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base());
- state->membank("bank2")->set_base(machine.root_device().memregion("maincpu")->base()+0x03000); /* bank 2 screen/shadow ram from 3000 to 7fff */
- state->membank("bank4")->set_base(machine.root_device().memregion("user1")->base()); /* bank 4 is paged ROM or RAM from 8000 to afff */
- state->membank("bank6")->set_entry(0);
- state->membank("bank7")->set_base(state->memregion("user1")->base()+0x40000); /* bank 7 points at the OS rom from c000 to ffff */
+ membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base());
+ membank("bank2")->set_base(machine().root_device().memregion("maincpu")->base()+0x03000); /* bank 2 screen/shadow ram from 3000 to 7fff */
+ membank("bank4")->set_base(machine().root_device().memregion("user1")->base()); /* bank 4 is paged ROM or RAM from 8000 to afff */
+ membank("bank6")->set_entry(0);
+ membank("bank7")->set_base(memregion("user1")->base()+0x40000); /* bank 7 points at the OS rom from c000 to ffff */
- bbcb_IC32_initialise(state);
+ bbcb_IC32_initialise(this);
- state->m_previous_wd177x_int_state=1;
+ m_previous_wd177x_int_state=1;
}
-MACHINE_START( bbcm )
+MACHINE_START_MEMBER(bbc_state,bbcm)
{
- bbc_state *state = machine.driver_data<bbc_state>();
- state->m_mc6850_clock = 0;
+ m_mc6850_clock = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(bbc_state::bbcm_direct_handler), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(bbc_state::bbcm_direct_handler), this));
/* bank 5 is the paged ROMs from 9000 to bfff */
- state->membank("bank5")->configure_entries(0, 16, machine.root_device().memregion("user1")->base()+0x01000, 1<<14);
+ membank("bank5")->configure_entries(0, 16, machine().root_device().memregion("user1")->base()+0x01000, 1<<14);
/* Set ROM/IO bank to point to rom */
- state->membank( "bank8" )->set_base( state->memregion("user1")->base()+0x43c00);
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xFC00, 0xFEFF, "bank8");
+ membank( "bank8" )->set_base( memregion("user1")->base()+0x43c00);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_bank(0xFC00, 0xFEFF, "bank8");
}
-MACHINE_RESET( bbcm )
+MACHINE_RESET_MEMBER(bbc_state,bbcm)
{
- bbc_state *state = machine.driver_data<bbc_state>();
- state->membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base()); /* bank 1 regular lower ram from 0000 to 2fff */
- state->membank("bank2")->set_base(machine.root_device().memregion("maincpu")->base() + 0x3000); /* bank 2 screen/shadow ram from 3000 to 7fff */
- state->membank("bank4")->set_base(machine.root_device().memregion("user1")->base()); /* bank 4 is paged ROM or RAM from 8000 to 8fff */
- state->membank("bank5")->set_entry(0);
- state->membank("bank7")->set_base(state->memregion("user1")->base() + 0x40000); /* bank 6 OS rom of RAM from c000 to dfff */
+ membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base()); /* bank 1 regular lower ram from 0000 to 2fff */
+ membank("bank2")->set_base(machine().root_device().memregion("maincpu")->base() + 0x3000); /* bank 2 screen/shadow ram from 3000 to 7fff */
+ membank("bank4")->set_base(machine().root_device().memregion("user1")->base()); /* bank 4 is paged ROM or RAM from 8000 to 8fff */
+ membank("bank5")->set_entry(0);
+ membank("bank7")->set_base(memregion("user1")->base() + 0x40000); /* bank 6 OS rom of RAM from c000 to dfff */
- bbcb_IC32_initialise(state);
+ bbcb_IC32_initialise(this);
- state->m_previous_wd177x_int_state=1;
+ m_previous_wd177x_int_state=1;
}
diff --git a/src/mess/machine/bebox.c b/src/mess/machine/bebox.c
index ed6b403b102..2e9cbb23ef9 100644
--- a/src/mess/machine/bebox.c
+++ b/src/mess/machine/bebox.c
@@ -983,25 +983,24 @@ static TIMER_CALLBACK( bebox_get_devices ) {
*
*************************************/
-MACHINE_RESET( bebox )
+void bebox_state::machine_reset()
{
- bebox_state *state = machine.driver_data<bebox_state>();
- state->m_devices.pic8259_master = NULL;
- state->m_devices.pic8259_slave = NULL;
- state->m_devices.dma8237_1 = NULL;
- state->m_devices.dma8237_2 = NULL;
+ m_devices.pic8259_master = NULL;
+ m_devices.pic8259_slave = NULL;
+ m_devices.dma8237_1 = NULL;
+ m_devices.dma8237_2 = NULL;
- machine.scheduler().timer_set(attotime::zero, FUNC(bebox_get_devices));
+ machine().scheduler().timer_set(attotime::zero, FUNC(bebox_get_devices));
- machine.device("ppc1")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
- machine.device("ppc2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ machine().device("ppc1")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
+ machine().device("ppc2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- memcpy(machine.device<fujitsu_29f016a_device>("flash")->space()->get_read_ptr(0),state->memregion("user1")->base(),0x200000);
+ memcpy(machine().device<fujitsu_29f016a_device>("flash")->space()->get_read_ptr(0),memregion("user1")->base(),0x200000);
}
-MACHINE_START( bebox )
+void bebox_state::machine_start()
{
- pc_fdc_init(machine, &bebox_fdc_interface);
+ pc_fdc_init(machine(), &bebox_fdc_interface);
}
DRIVER_INIT_MEMBER(bebox_state,bebox)
diff --git a/src/mess/machine/bk.c b/src/mess/machine/bk.c
index d8c24e57677..d1a943af6de 100644
--- a/src/mess/machine/bk.c
+++ b/src/mess/machine/bk.c
@@ -66,9 +66,9 @@ static TIMER_CALLBACK(keyboard_callback)
}
-MACHINE_START(bk0010)
+void bk_state::machine_start()
{
- machine.scheduler().timer_pulse(attotime::from_hz(2400), FUNC(keyboard_callback));
+ machine().scheduler().timer_pulse(attotime::from_hz(2400), FUNC(keyboard_callback));
}
static IRQ_CALLBACK(bk0010_irq_callback)
@@ -78,13 +78,12 @@ static IRQ_CALLBACK(bk0010_irq_callback)
return state->m_key_irq_vector;
}
-MACHINE_RESET( bk0010 )
+void bk_state::machine_reset()
{
- bk_state *state = machine.driver_data<bk_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(bk0010_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(bk0010_irq_callback);
- state->m_kbd_state = 0;
- state->m_scrool = 01330;
+ m_kbd_state = 0;
+ m_scrool = 01330;
}
READ16_MEMBER(bk_state::bk_key_state_r)
diff --git a/src/mess/machine/c65.c b/src/mess/machine/c65.c
index d6cd32ea156..387bd72b95a 100644
--- a/src/mess/machine/c65.c
+++ b/src/mess/machine/c65.c
@@ -1005,20 +1005,19 @@ DRIVER_INIT_MEMBER(c65_state,c65pal)
m_pal = 1;
}
-MACHINE_START( c65 )
+MACHINE_START_MEMBER(c65_state,c65)
{
- c65_state *state = machine.driver_data<c65_state>();
/* clear upper memory */
- memset(machine.device<ram_device>(RAM_TAG)->pointer() + 128*1024, 0xff, machine.device<ram_device>(RAM_TAG)->size() - 128*1024);
+ memset(machine().device<ram_device>(RAM_TAG)->pointer() + 128*1024, 0xff, machine().device<ram_device>(RAM_TAG)->size() - 128*1024);
//removed cbm_drive_0_config (SERIAL, 10);
//removed cbm_drive_1_config (SERIAL, 11);
- state->m_vicaddr = state->m_memory;
+ m_vicaddr = m_memory;
- state->m_c64mode = 0;
+ m_c64mode = 0;
- c65_bankswitch_interface(machine, 0xff);
- c65_bankswitch (machine);
+ c65_bankswitch_interface(machine(), 0xff);
+ c65_bankswitch (machine());
}
diff --git a/src/mess/machine/cbmb.c b/src/mess/machine/cbmb.c
index b059f52062b..d8f9576e352 100644
--- a/src/mess/machine/cbmb.c
+++ b/src/mess/machine/cbmb.c
@@ -326,7 +326,7 @@ DRIVER_INIT_MEMBER(cbmb_state,p500)
m_cbm_ntsc = 1;
}
-MACHINE_RESET( cbmb )
+MACHINE_RESET_MEMBER(cbmb_state,cbmb)
{
//removed cbm_drive_0_config (IEEE8ON ? IEEE : 0, 8);
//removed cbm_drive_1_config (IEEE9ON ? IEEE : 0, 9);
diff --git a/src/mess/machine/cgenie.c b/src/mess/machine/cgenie.c
index 6531c5f1b1f..5ffa4d308de 100644
--- a/src/mess/machine/cgenie.c
+++ b/src/mess/machine/cgenie.c
@@ -45,12 +45,11 @@ static TIMER_CALLBACK( handle_cassette_input )
}
-MACHINE_RESET( cgenie )
+void cgenie_state::machine_reset()
{
- cgenie_state *state = machine.driver_data<cgenie_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- device_t *ay8910 = machine.device("ay8910");
- UINT8 *ROM = state->memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ device_t *ay8910 = machine().device("ay8910");
+ UINT8 *ROM = memregion("maincpu")->base();
/* reset the AY8910 to be quiet, since the cgenie BIOS doesn't */
AYWriteReg(0, 0, 0);
@@ -71,7 +70,7 @@ MACHINE_RESET( cgenie )
/* wipe out font RAM */
memset(&ROM[0x0f400], 0xff, 0x0400);
- if( machine.root_device().ioport("DSW0")->read() & 0x80 )
+ if( machine().root_device().ioport("DSW0")->read() & 0x80 )
{
logerror("cgenie floppy discs enabled\n");
}
@@ -81,13 +80,13 @@ MACHINE_RESET( cgenie )
}
/* copy DOS ROM, if enabled or wipe out that memory area */
- if( machine.root_device().ioport("DSW0")->read() & 0x40 )
+ if( machine().root_device().ioport("DSW0")->read() & 0x40 )
{
- if ( machine.root_device().ioport("DSW0")->read() & 0x80 )
+ if ( machine().root_device().ioport("DSW0")->read() & 0x80 )
{
space->install_read_bank(0xc000, 0xdfff, "bank10");
space->nop_write(0xc000, 0xdfff);
- state->membank("bank10")->set_base(&ROM[0x0c000]);
+ membank("bank10")->set_base(&ROM[0x0c000]);
logerror("cgenie DOS enabled\n");
memcpy(&ROM[0x0c000],&ROM[0x10000], 0x2000);
}
@@ -101,59 +100,58 @@ MACHINE_RESET( cgenie )
{
space->nop_readwrite(0xc000, 0xdfff);
logerror("cgenie DOS disabled\n");
- memset(&machine.root_device().memregion("maincpu")->base()[0x0c000], 0x00, 0x2000);
+ memset(&machine().root_device().memregion("maincpu")->base()[0x0c000], 0x00, 0x2000);
}
/* copy EXT ROM, if enabled or wipe out that memory area */
- if( machine.root_device().ioport("DSW0")->read() & 0x20 )
+ if( machine().root_device().ioport("DSW0")->read() & 0x20 )
{
space->install_rom(0xe000, 0xefff, 0); // mess 0135u3 need to check
logerror("cgenie EXT enabled\n");
- memcpy(&machine.root_device().memregion("maincpu")->base()[0x0e000],
- &machine.root_device().memregion("maincpu")->base()[0x12000], 0x1000);
+ memcpy(&machine().root_device().memregion("maincpu")->base()[0x0e000],
+ &machine().root_device().memregion("maincpu")->base()[0x12000], 0x1000);
}
else
{
space->nop_readwrite(0xe000, 0xefff);
logerror("cgenie EXT disabled\n");
- memset(&machine.root_device().memregion("maincpu")->base()[0x0e000], 0x00, 0x1000);
+ memset(&machine().root_device().memregion("maincpu")->base()[0x0e000], 0x00, 0x1000);
}
- state->m_cass_level = 0;
- state->m_cass_bit = 1;
+ m_cass_level = 0;
+ m_cass_bit = 1;
}
-MACHINE_START( cgenie )
+void cgenie_state::machine_start()
{
- cgenie_state *state = machine.driver_data<cgenie_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- UINT8 *gfx = state->memregion("gfx2")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *gfx = memregion("gfx2")->base();
int i;
/* initialize static variables */
- state->m_irq_status = 0;
- state->m_motor_drive = 0;
- state->m_head = 0;
- state->m_tv_mode = -1;
- state->m_port_ff = 0xff;
+ m_irq_status = 0;
+ m_motor_drive = 0;
+ m_head = 0;
+ m_tv_mode = -1;
+ m_port_ff = 0xff;
/*
* Every fifth cycle is a wait cycle, so I reduced
* the overlocking by one fitfth
* Underclocking causes the tape loading to not work.
*/
-// cpunum_set_clockscale(machine, 0, 0.80);
+// cpunum_set_clockscale(machine(), 0, 0.80);
/* Initialize some patterns to be displayed in graphics mode */
for( i = 0; i < 256; i++ )
memset(gfx + i * 8, i, 8);
/* set up RAM */
- space->install_read_bank(0x4000, 0x4000 + machine.device<ram_device>(RAM_TAG)->size() - 1, "bank1");
- space->install_legacy_write_handler(0x4000, 0x4000 + machine.device<ram_device>(RAM_TAG)->size() - 1, FUNC(cgenie_videoram_w));
- state->m_videoram = machine.device<ram_device>(RAM_TAG)->pointer();
- state->membank("bank1")->set_base(machine.device<ram_device>(RAM_TAG)->pointer());
- machine.scheduler().timer_pulse(attotime::from_hz(11025), FUNC(handle_cassette_input));
+ space->install_read_bank(0x4000, 0x4000 + machine().device<ram_device>(RAM_TAG)->size() - 1, "bank1");
+ space->install_legacy_write_handler(0x4000, 0x4000 + machine().device<ram_device>(RAM_TAG)->size() - 1, FUNC(cgenie_videoram_w));
+ m_videoram = machine().device<ram_device>(RAM_TAG)->pointer();
+ membank("bank1")->set_base(machine().device<ram_device>(RAM_TAG)->pointer());
+ machine().scheduler().timer_pulse(attotime::from_hz(11025), FUNC(handle_cassette_input));
}
/*************************************
diff --git a/src/mess/machine/compis.c b/src/mess/machine/compis.c
index 7d129c1c951..da2a5614648 100644
--- a/src/mess/machine/compis.c
+++ b/src/mess/machine/compis.c
@@ -1370,26 +1370,25 @@ DRIVER_INIT_MEMBER(compis_state,compis)
memset (&m_compis, 0, sizeof (m_compis) );
}
-MACHINE_START( compis )
+void compis_state::machine_start()
{
/* CPU */
- compis_cpu_init(machine);
+ compis_cpu_init(machine());
}
/*-------------------------------------------------------------------------*/
/* Name: compis */
/* Desc: Machine - Init */
/*-------------------------------------------------------------------------*/
-MACHINE_RESET( compis )
+void compis_state::machine_reset()
{
- compis_state *state = machine.driver_data<compis_state>();
/* FDC */
- compis_fdc_reset(machine);
+ compis_fdc_reset(machine());
/* Keyboard */
- compis_keyb_init(state);
+ compis_keyb_init(this);
/* OSP PIC 8259 */
- state->m_maincpu->set_irq_acknowledge_callback(compis_irq_callback);
+ m_maincpu->set_irq_acknowledge_callback(compis_irq_callback);
}
/*-------------------------------------------------------------------------*/
diff --git a/src/mess/machine/concept.c b/src/mess/machine/concept.c
index 32441add0be..89c491fb4ae 100644
--- a/src/mess/machine/concept.c
+++ b/src/mess/machine/concept.c
@@ -65,24 +65,23 @@ const via6522_interface concept_via6522_intf =
static void concept_fdc_init(running_machine &machine, int slot);
static void concept_hdc_init(running_machine &machine, int slot);
-MACHINE_START(concept)
+void concept_state::machine_start()
{
- concept_state *state = machine.driver_data<concept_state>();
/* initialize int state */
- state->m_pending_interrupts = 0;
+ m_pending_interrupts = 0;
/* initialize clock interface */
- state->m_clock_enable = 0/*1*/;
+ m_clock_enable = 0/*1*/;
/* clear keyboard interface state */
- state->m_KeyQueueHead = state->m_KeyQueueLen = 0;
- memset(state->m_KeyStateSave, 0, sizeof(state->m_KeyStateSave));
+ m_KeyQueueHead = m_KeyQueueLen = 0;
+ memset(m_KeyStateSave, 0, sizeof(m_KeyStateSave));
/* initialize expansion slots */
- memset(state->m_expansion_slots, 0, sizeof(state->m_expansion_slots));
+ memset(m_expansion_slots, 0, sizeof(m_expansion_slots));
- concept_hdc_init(machine, 1); /* Flat cable Hard Disk Controller in Slot 2 */
- concept_fdc_init(machine, 2); /* Floppy Disk Controller in Slot 3 */
+ concept_hdc_init(machine(), 1); /* Flat cable Hard Disk Controller in Slot 2 */
+ concept_fdc_init(machine(), 2); /* Floppy Disk Controller in Slot 3 */
}
static void install_expansion_slot(running_machine &machine, int slot,
@@ -96,7 +95,7 @@ static void install_expansion_slot(running_machine &machine, int slot,
state->m_expansion_slots[slot].rom_write = rom_write;
}
-VIDEO_START(concept)
+void concept_state::video_start()
{
}
diff --git a/src/mess/machine/cybiko.c b/src/mess/machine/cybiko.c
index ffe96247805..e04891501dc 100644
--- a/src/mess/machine/cybiko.c
+++ b/src/mess/machine/cybiko.c
@@ -182,71 +182,71 @@ static void cybiko_ramdisk_save(running_machine &machine, emu_file *file)
#endif
}
-MACHINE_START( cybikov1 )
+void cybiko_state::machine_start()
{
_logerror( 0, ("machine_start_cybikov1\n"));
// real-time clock
- nvram_system_load( machine, "rtc", cybiko_pcf8593_load, 0);
+ nvram_system_load( machine(), "rtc", cybiko_pcf8593_load, 0);
// serial dataflash
- nvram_system_load( machine, "flash1", cybiko_at45dbxx_load, 1);
+ nvram_system_load( machine(), "flash1", cybiko_at45dbxx_load, 1);
// serial port
- cybiko_rs232_init(machine);
+ cybiko_rs232_init(machine());
// other
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(machine_stop_cybikov1),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(machine_stop_cybikov1),&machine()));
}
-MACHINE_START( cybikov2 )
+MACHINE_START_MEMBER(cybiko_state,cybikov2)
{
- device_t *flash2 = machine.device("flash2");
+ device_t *flash2 = machine().device("flash2");
_logerror( 0, ("machine_start_cybikov2\n"));
// real-time clock
- nvram_system_load( machine, "rtc", cybiko_pcf8593_load, 0);
+ nvram_system_load( machine(), "rtc", cybiko_pcf8593_load, 0);
// serial dataflash
- nvram_system_load( machine, "flash1", cybiko_at45dbxx_load, 1);
+ nvram_system_load( machine(), "flash1", cybiko_at45dbxx_load, 1);
// multi-purpose flash
- nvram_system_load( machine, "flash2", cybiko_sst39vfx_load, 1);
- machine.root_device().membank( "bank2" )->set_base( sst39vfx_get_base(flash2));
+ nvram_system_load( machine(), "flash2", cybiko_sst39vfx_load, 1);
+ machine().root_device().membank( "bank2" )->set_base( sst39vfx_get_base(flash2));
// serial port
- cybiko_rs232_init(machine);
+ cybiko_rs232_init(machine());
// other
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(machine_stop_cybikov2),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(machine_stop_cybikov2),&machine()));
}
-MACHINE_START( cybikoxt )
+MACHINE_START_MEMBER(cybiko_state,cybikoxt)
{
- device_t *flash2 = machine.device("flash2");
+ device_t *flash2 = machine().device("flash2");
_logerror( 0, ("machine_start_cybikoxt\n"));
// real-time clock
- nvram_system_load( machine, "rtc", cybiko_pcf8593_load, 0);
+ nvram_system_load( machine(), "rtc", cybiko_pcf8593_load, 0);
// multi-purpose flash
- nvram_system_load( machine, "flash2", cybiko_sst39vfx_load, 1);
- machine.root_device().membank( "bank2" )->set_base( sst39vfx_get_base(flash2));
+ nvram_system_load( machine(), "flash2", cybiko_sst39vfx_load, 1);
+ machine().root_device().membank( "bank2" )->set_base( sst39vfx_get_base(flash2));
// ramdisk
- nvram_system_load( machine, "ramdisk", cybiko_ramdisk_load, 0);
+ nvram_system_load( machine(), "ramdisk", cybiko_ramdisk_load, 0);
// serial port
- cybiko_rs232_init(machine);
+ cybiko_rs232_init(machine());
// other
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(machine_stop_cybikoxt),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(machine_stop_cybikoxt),&machine()));
}
///////////////////
// MACHINE RESET //
///////////////////
-MACHINE_RESET( cybikov1 )
+void cybiko_state::machine_reset()
{
_logerror( 0, ("machine_reset_cybikov1\n"));
cybiko_rs232_reset();
}
-MACHINE_RESET( cybikov2 )
+MACHINE_RESET_MEMBER(cybiko_state,cybikov2)
{
_logerror( 0, ("machine_reset_cybikov2\n"));
cybiko_rs232_reset();
}
-MACHINE_RESET( cybikoxt )
+MACHINE_RESET_MEMBER(cybiko_state,cybikoxt)
{
_logerror( 0, ("machine_reset_cybikoxt\n"));
cybiko_rs232_reset();
diff --git a/src/mess/machine/dai.c b/src/mess/machine/dai.c
index ebcfeb02114..9667ab58bf6 100644
--- a/src/mess/machine/dai.c
+++ b/src/mess/machine/dai.c
@@ -111,21 +111,19 @@ static TIMER_CALLBACK( dai_timer )
state->m_tms5501->set_pio_bit_7((state->ioport("IN8")->read() & 0x04) ? 1:0);
}
-MACHINE_START( dai )
+void dai_state::machine_start()
{
- dai_state *state = machine.driver_data<dai_state>();
- state->membank("bank2")->configure_entries(0, 4, state->memregion("maincpu")->base() + 0x010000, 0x1000);
- machine.scheduler().timer_set(attotime::zero, FUNC(dai_bootstrap_callback));
- machine.scheduler().timer_pulse(attotime::from_hz(100), FUNC(dai_timer)); /* timer for tms5501 */
+ membank("bank2")->configure_entries(0, 4, memregion("maincpu")->base() + 0x010000, 0x1000);
+ machine().scheduler().timer_set(attotime::zero, FUNC(dai_bootstrap_callback));
+ machine().scheduler().timer_pulse(attotime::from_hz(100), FUNC(dai_timer)); /* timer for tms5501 */
- memset(machine.device<ram_device>(RAM_TAG)->pointer(), 0, machine.device<ram_device>(RAM_TAG)->size());
+ memset(machine().device<ram_device>(RAM_TAG)->pointer(), 0, machine().device<ram_device>(RAM_TAG)->size());
}
-MACHINE_RESET( dai )
+void dai_state::machine_reset()
{
- dai_state *state = machine.driver_data<dai_state>();
- state->membank("bank1")->set_base(machine.device<ram_device>(RAM_TAG)->pointer());
+ membank("bank1")->set_base(machine().device<ram_device>(RAM_TAG)->pointer());
}
/***************************************************************************
diff --git a/src/mess/machine/dgn_beta.c b/src/mess/machine/dgn_beta.c
index ca1878fd108..52b6ea96502 100644
--- a/src/mess/machine/dgn_beta.c
+++ b/src/mess/machine/dgn_beta.c
@@ -1104,24 +1104,23 @@ static void dgnbeta_reset(running_machine &machine)
state->m_wd2797_written=0;
}
-MACHINE_START( dgnbeta )
+void dgn_beta_state::machine_start()
{
- dgn_beta_state *state = machine.driver_data<dgn_beta_state>();
logerror("MACHINE_START( dgnbeta )\n");
- if (machine.device<cpu_device>(MAINCPU_TAG)->debug()) {
- machine.device<cpu_device>(MAINCPU_TAG)->debug()->set_dasm_override(dgnbeta_dasm_override);
+ if (machine().device<cpu_device>(MAINCPU_TAG)->debug()) {
+ machine().device<cpu_device>(MAINCPU_TAG)->debug()->set_dasm_override(dgnbeta_dasm_override);
}
- machine.add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(dgnbeta_reset),&machine));
- dgnbeta_reset(machine);
+ machine().add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(dgnbeta_reset),&machine()));
+ dgnbeta_reset(machine());
/* setup debug commands */
- if (machine.debug_flags & DEBUG_FLAG_ENABLED)
+ if (machine().debug_flags & DEBUG_FLAG_ENABLED)
{
- debug_console_register_command(machine, "beta_dat_log", CMDFLAG_NONE, 0, 0, 0, execute_beta_dat_log);
- debug_console_register_command(machine, "beta_key_dump", CMDFLAG_NONE, 0, 0, 0, execute_beta_key_dump);
+ debug_console_register_command(machine(), "beta_dat_log", CMDFLAG_NONE, 0, 0, 0, execute_beta_dat_log);
+ debug_console_register_command(machine(), "beta_key_dump", CMDFLAG_NONE, 0, 0, 0, execute_beta_key_dump);
}
- state->m_LogDatWrites=0;
+ m_LogDatWrites=0;
}
diff --git a/src/mess/machine/electron.c b/src/mess/machine/electron.c
index 1f03516bc9d..ad77381793a 100644
--- a/src/mess/machine/electron.c
+++ b/src/mess/machine/electron.c
@@ -340,15 +340,14 @@ static void electron_reset(running_machine &machine)
state->m_ula.vram = (UINT8 *)machine.device("maincpu")->memory().space(AS_PROGRAM)->get_read_ptr(state->m_ula.screen_base);
}
-MACHINE_START( electron )
+void electron_state::machine_start()
{
- electron_state *state = machine.driver_data<electron_state>();
- state->membank("bank2")->configure_entries(0, 16, state->memregion("user1")->base(), 0x4000);
+ membank("bank2")->configure_entries(0, 16, memregion("user1")->base(), 0x4000);
- state->m_ula.interrupt_status = 0x82;
- state->m_ula.interrupt_control = 0x00;
- machine.scheduler().timer_set(attotime::zero, FUNC(setup_beep));
- state->m_tape_timer = machine.scheduler().timer_alloc(FUNC(electron_tape_timer_handler));
- machine.add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(electron_reset),&machine));
+ m_ula.interrupt_status = 0x82;
+ m_ula.interrupt_control = 0x00;
+ machine().scheduler().timer_set(attotime::zero, FUNC(setup_beep));
+ m_tape_timer = machine().scheduler().timer_alloc(FUNC(electron_tape_timer_handler));
+ machine().add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(electron_reset),&machine()));
}
diff --git a/src/mess/machine/galaxy.c b/src/mess/machine/galaxy.c
index 8a3fedabf82..f9e76756319 100644
--- a/src/mess/machine/galaxy.c
+++ b/src/mess/machine/galaxy.c
@@ -169,24 +169,23 @@ DRIVER_INIT_MEMBER(galaxy_state,galaxy)
Machine Initialization
***************************************************************************/
-MACHINE_RESET( galaxy )
+MACHINE_RESET_MEMBER(galaxy_state,galaxy)
{
- galaxy_state *state = machine.driver_data<galaxy_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* ROM 2 enable/disable */
- if (machine.root_device().ioport("ROM2")->read()) {
+ if (machine().root_device().ioport("ROM2")->read()) {
space->install_read_bank(0x1000, 0x1fff, "bank10");
} else {
space->nop_read(0x1000, 0x1fff);
}
space->nop_write(0x1000, 0x1fff);
- if (machine.root_device().ioport("ROM2")->read())
- state->membank("bank10")->set_base(machine.root_device().memregion("maincpu")->base() + 0x1000);
+ if (machine().root_device().ioport("ROM2")->read())
+ membank("bank10")->set_base(machine().root_device().memregion("maincpu")->base() + 0x1000);
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(galaxy_irq_callback);
- state->m_interrupts_enabled = TRUE;
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(galaxy_irq_callback);
+ m_interrupts_enabled = TRUE;
}
DRIVER_INIT_MEMBER(galaxy_state,galaxyp)
@@ -194,13 +193,12 @@ DRIVER_INIT_MEMBER(galaxy_state,galaxyp)
DRIVER_INIT_CALL(galaxy);
}
-MACHINE_RESET( galaxyp )
+MACHINE_RESET_MEMBER(galaxy_state,galaxyp)
{
- galaxy_state *state = machine.driver_data<galaxy_state>();
- UINT8 *ROM = machine.root_device().memregion("maincpu")->base();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ UINT8 *ROM = machine().root_device().memregion("maincpu")->base();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(galaxy_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(galaxy_irq_callback);
ROM[0x0037] = 0x29;
ROM[0x03f9] = 0xcd;
@@ -209,6 +207,6 @@ MACHINE_RESET( galaxyp )
space->install_read_bank(0xe000, 0xefff, "bank11");
space->nop_write(0xe000, 0xefff);
- state->membank("bank11")->set_base(state->memregion("maincpu")->base() + 0xe000);
- state->m_interrupts_enabled = TRUE;
+ membank("bank11")->set_base(memregion("maincpu")->base() + 0xe000);
+ m_interrupts_enabled = TRUE;
}
diff --git a/src/mess/machine/gamecom.c b/src/mess/machine/gamecom.c
index dcb4a7377c9..a4be8c572c6 100644
--- a/src/mess/machine/gamecom.c
+++ b/src/mess/machine/gamecom.c
@@ -13,16 +13,15 @@ static TIMER_CALLBACK(gamecom_clock_timer_callback)
machine.device("maincpu")->execute().set_input_line(CK_INT, ASSERT_LINE );
}
-MACHINE_RESET( gamecom )
+void gamecom_state::machine_reset()
{
- gamecom_state *state = machine.driver_data<gamecom_state>();
- UINT8 *rom = state->memregion("kernel")->base();
- state->membank( "bank1" )->set_base( rom );
- state->membank( "bank2" )->set_base( rom );
- state->membank( "bank3" )->set_base( rom );
- state->membank( "bank4" )->set_base( rom );
-
- state->m_cartridge = NULL;
+ UINT8 *rom = memregion("kernel")->base();
+ membank( "bank1" )->set_base( rom );
+ membank( "bank2" )->set_base( rom );
+ membank( "bank3" )->set_base( rom );
+ membank( "bank4" )->set_base( rom );
+
+ m_cartridge = NULL;
}
void gamecom_state::gamecom_set_mmu(UINT8 mmu, UINT8 data )
diff --git a/src/mess/machine/gb.c b/src/mess/machine/gb.c
index 893ce301881..b760e37f06b 100644
--- a/src/mess/machine/gb.c
+++ b/src/mess/machine/gb.c
@@ -245,139 +245,132 @@ static void gb_init(running_machine &machine)
state->m_gb_io[0x07] = 0xF8; /* Upper bits of TIMEFRQ register are set to 1 */
}
-MACHINE_START( gb )
+MACHINE_START_MEMBER(gb_state,gb)
{
- gb_state *state = machine.driver_data<gb_state>();
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(gb_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(gb_machine_stop),&machine()));
/* Allocate the serial timer, and disable it */
- state->m_gb_serial_timer = machine.scheduler().timer_alloc(FUNC(gb_serial_timer_proc));
- state->m_gb_serial_timer->enable( 0 );
+ m_gb_serial_timer = machine().scheduler().timer_alloc(FUNC(gb_serial_timer_proc));
+ m_gb_serial_timer->enable( 0 );
- MACHINE_START_CALL( gb_video );
+ MACHINE_START_CALL_MEMBER( gb_video );
}
-MACHINE_START( gbc )
+MACHINE_START_MEMBER(gb_state,gbc)
{
- gb_state *state = machine.driver_data<gb_state>();
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(gb_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(gb_machine_stop),&machine()));
/* Allocate the serial timer, and disable it */
- state->m_gb_serial_timer = machine.scheduler().timer_alloc(FUNC(gb_serial_timer_proc));
- state->m_gb_serial_timer->enable( 0 );
+ m_gb_serial_timer = machine().scheduler().timer_alloc(FUNC(gb_serial_timer_proc));
+ m_gb_serial_timer->enable( 0 );
- MACHINE_START_CALL( gbc_video );
+ MACHINE_START_CALL_MEMBER( gbc_video );
}
-MACHINE_RESET( gb )
+MACHINE_RESET_MEMBER(gb_state,gb)
{
- gb_state *state = machine.driver_data<gb_state>();
- gb_init(machine);
+ gb_init(machine());
- gb_video_reset( machine, GB_VIDEO_DMG );
+ gb_video_reset( machine(), GB_VIDEO_DMG );
- gb_rom16_0000( machine, state->m_ROMMap[state->m_ROMBank00] );
+ gb_rom16_0000( machine(), m_ROMMap[m_ROMBank00] );
/* Enable BIOS rom */
- state->membank("bank5")->set_base(state->memregion("maincpu")->base() );
+ membank("bank5")->set_base(memregion("maincpu")->base() );
- state->m_divcount = 0x0004;
+ m_divcount = 0x0004;
}
-MACHINE_START( sgb )
+MACHINE_START_MEMBER(gb_state,sgb)
{
- gb_state *state = machine.driver_data<gb_state>();
- state->m_sgb_packets = -1;
- state->m_sgb_tile_data = auto_alloc_array_clear(machine, UINT8, 0x2000 );
+ m_sgb_packets = -1;
+ m_sgb_tile_data = auto_alloc_array_clear(machine(), UINT8, 0x2000 );
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(gb_machine_stop),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(gb_machine_stop),&machine()));
/* Allocate the serial timer, and disable it */
- state->m_gb_serial_timer = machine.scheduler().timer_alloc(FUNC(gb_serial_timer_proc));
- state->m_gb_serial_timer->enable( 0 );
+ m_gb_serial_timer = machine().scheduler().timer_alloc(FUNC(gb_serial_timer_proc));
+ m_gb_serial_timer->enable( 0 );
- MACHINE_START_CALL( gb_video );
+ MACHINE_START_CALL_MEMBER( gb_video );
}
-MACHINE_RESET( sgb )
+MACHINE_RESET_MEMBER(gb_state,sgb)
{
- gb_state *state = machine.driver_data<gb_state>();
- gb_init(machine);
+ gb_init(machine());
- gb_video_reset( machine, GB_VIDEO_SGB );
+ gb_video_reset( machine(), GB_VIDEO_SGB );
- gb_init_regs(machine);
+ gb_init_regs(machine());
- gb_rom16_0000( machine, state->m_ROMMap[state->m_ROMBank00] ? state->m_ROMMap[state->m_ROMBank00] : state->m_gb_dummy_rom_bank );
+ gb_rom16_0000( machine(), m_ROMMap[m_ROMBank00] ? m_ROMMap[m_ROMBank00] : m_gb_dummy_rom_bank );
/* Enable BIOS rom */
- state->membank("bank5")->set_base(state->memregion("maincpu")->base() );
+ membank("bank5")->set_base(memregion("maincpu")->base() );
- memset( state->m_sgb_tile_data, 0, 0x2000 );
+ memset( m_sgb_tile_data, 0, 0x2000 );
- state->m_sgb_window_mask = 0;
- memset( state->m_sgb_pal_map, 0, sizeof(state->m_sgb_pal_map) );
- memset( state->m_sgb_atf_data, 0, sizeof(state->m_sgb_atf_data) );
+ m_sgb_window_mask = 0;
+ memset( m_sgb_pal_map, 0, sizeof(m_sgb_pal_map) );
+ memset( m_sgb_atf_data, 0, sizeof(m_sgb_atf_data) );
/* HACKS for Donkey Kong Land 2 + 3.
For some reason that I haven't figured out, they store the tile
data differently. Hacks will go once I figure it out */
- state->m_sgb_hack = 0;
+ m_sgb_hack = 0;
- if (state->m_gb_cart) // make sure cart is in
+ if (m_gb_cart) // make sure cart is in
{
- if( strncmp( (const char*)(state->m_gb_cart + 0x134), "DONKEYKONGLAND 2", 16 ) == 0 ||
- strncmp( (const char*)(state->m_gb_cart + 0x134), "DONKEYKONGLAND 3", 16 ) == 0 )
- state->m_sgb_hack = 1;
+ if( strncmp( (const char*)(m_gb_cart + 0x134), "DONKEYKONGLAND 2", 16 ) == 0 ||
+ strncmp( (const char*)(m_gb_cart + 0x134), "DONKEYKONGLAND 3", 16 ) == 0 )
+ m_sgb_hack = 1;
}
- state->m_divcount = 0x0004;
+ m_divcount = 0x0004;
}
-MACHINE_RESET( gbpocket )
+MACHINE_RESET_MEMBER(gb_state,gbpocket)
{
- gb_state *state = machine.driver_data<gb_state>();
- gb_init(machine);
+ gb_init(machine());
- gb_video_reset( machine, GB_VIDEO_MGB );
+ gb_video_reset( machine(), GB_VIDEO_MGB );
- gb_init_regs(machine);
+ gb_init_regs(machine());
/* Initialize the Sound registers */
- gb_sound_w(machine.device("custom"), 0x16,0x80);
- gb_sound_w(machine.device("custom"), 0x15,0xF3);
- gb_sound_w(machine.device("custom"), 0x14,0x77);
+ gb_sound_w(machine().device("custom"), 0x16,0x80);
+ gb_sound_w(machine().device("custom"), 0x15,0xF3);
+ gb_sound_w(machine().device("custom"), 0x14,0x77);
/* Enable BIOS rom if we have one */
- gb_rom16_0000( machine, state->m_ROMMap[state->m_ROMBank00] ? state->m_ROMMap[state->m_ROMBank00] : state->m_gb_dummy_rom_bank );
+ gb_rom16_0000( machine(), m_ROMMap[m_ROMBank00] ? m_ROMMap[m_ROMBank00] : m_gb_dummy_rom_bank );
- state->m_divcount = 0xABC8;
+ m_divcount = 0xABC8;
}
-MACHINE_RESET( gbc )
+MACHINE_RESET_MEMBER(gb_state,gbc)
{
- gb_state *state = machine.driver_data<gb_state>();
int ii;
- gb_init(machine);
+ gb_init(machine());
- gb_video_reset( machine, GB_VIDEO_CGB );
+ gb_video_reset( machine(), GB_VIDEO_CGB );
- gb_init_regs(machine);
+ gb_init_regs(machine());
- gb_rom16_0000( machine, state->m_ROMMap[state->m_ROMBank00] ? state->m_ROMMap[state->m_ROMBank00] : state->m_gb_dummy_rom_bank );
+ gb_rom16_0000( machine(), m_ROMMap[m_ROMBank00] ? m_ROMMap[m_ROMBank00] : m_gb_dummy_rom_bank );
/* Enable BIOS rom */
- state->membank("bank5")->set_base(machine.root_device().memregion("maincpu")->base() );
- state->membank("bank6")->set_base(state->memregion("maincpu")->base() + 0x100 );
+ membank("bank5")->set_base(machine().root_device().memregion("maincpu")->base() );
+ membank("bank6")->set_base(memregion("maincpu")->base() + 0x100 );
/* Allocate memory for internal ram */
for( ii = 0; ii < 8; ii++ )
{
- state->m_GBC_RAMMap[ii] = machine.device<ram_device>(RAM_TAG)->pointer() + CGB_START_RAM_BANKS + ii * 0x1000;
- memset (state->m_GBC_RAMMap[ii], 0, 0x1000);
+ m_GBC_RAMMap[ii] = machine().device<ram_device>(RAM_TAG)->pointer() + CGB_START_RAM_BANKS + ii * 0x1000;
+ memset (m_GBC_RAMMap[ii], 0, 0x1000);
}
}
@@ -2021,22 +2014,21 @@ READ8_MEMBER(gb_state::gbc_io2_r)
****************************************************************************/
-MACHINE_START( megaduck )
+MACHINE_START_MEMBER(gb_state,megaduck)
{
- gb_state *state = machine.driver_data<gb_state>();
/* Allocate the serial timer, and disable it */
- state->m_gb_serial_timer = machine.scheduler().timer_alloc(FUNC(gb_serial_timer_proc));
- state->m_gb_serial_timer->enable( 0 );
+ m_gb_serial_timer = machine().scheduler().timer_alloc(FUNC(gb_serial_timer_proc));
+ m_gb_serial_timer->enable( 0 );
- MACHINE_START_CALL( gb_video );
+ MACHINE_START_CALL_MEMBER( gb_video );
}
-MACHINE_RESET( megaduck )
+MACHINE_RESET_MEMBER(gb_state,megaduck)
{
/* We may have to add some more stuff here, if not then it can be merged back into gb */
- gb_init(machine);
+ gb_init(machine());
- gb_video_reset( machine, GB_VIDEO_DMG );
+ gb_video_reset( machine(), GB_VIDEO_DMG );
}
/*
diff --git a/src/mess/machine/hp48.c b/src/mess/machine/hp48.c
index 8021b8463d8..4851167b17d 100644
--- a/src/mess/machine/hp48.c
+++ b/src/mess/machine/hp48.c
@@ -1105,12 +1105,11 @@ DRIVER_INIT_MEMBER(hp48_state,hp48)
m_port_size[1] = 0;
}
-MACHINE_RESET( hp48 )
+void hp48_state::machine_reset()
{
- hp48_state *state = machine.driver_data<hp48_state>();
LOG(( "hp48: machine reset called\n" ));
- hp48_reset_modules( machine );
- hp48_update_annunciators(state);
+ hp48_reset_modules( machine() );
+ hp48_update_annunciators(this);
}
static void hp48_machine_start( running_machine &machine, hp48_models model )
@@ -1210,29 +1209,29 @@ static void hp48_machine_start( running_machine &machine, hp48_models model )
}
-MACHINE_START( hp48s )
+MACHINE_START_MEMBER(hp48_state,hp48s)
{
- hp48_machine_start( machine, HP48_S );
+ hp48_machine_start( machine(), HP48_S );
}
-MACHINE_START( hp48sx )
+MACHINE_START_MEMBER(hp48_state,hp48sx)
{
- hp48_machine_start( machine, HP48_SX );
+ hp48_machine_start( machine(), HP48_SX );
}
-MACHINE_START( hp48g )
+MACHINE_START_MEMBER(hp48_state,hp48g)
{
- hp48_machine_start( machine, HP48_G );
+ hp48_machine_start( machine(), HP48_G );
}
-MACHINE_START( hp48gx )
+MACHINE_START_MEMBER(hp48_state,hp48gx)
{
- hp48_machine_start( machine, HP48_GX );
+ hp48_machine_start( machine(), HP48_GX );
}
-MACHINE_START( hp48gp )
+MACHINE_START_MEMBER(hp48_state,hp48gp)
{
- hp48_machine_start( machine, HP48_GP );
+ hp48_machine_start( machine(), HP48_GP );
}
diff --git a/src/mess/machine/intv.c b/src/mess/machine/intv.c
index 68762fbe76c..ef3726f1a0e 100644
--- a/src/mess/machine/intv.c
+++ b/src/mess/machine/intv.c
@@ -616,36 +616,35 @@ DRIVER_INIT_MEMBER(intv_state,intv)
#endif
/* Set Reset and INTR/INTRM Vector */
-MACHINE_RESET( intv )
+void intv_state::machine_reset()
{
- machine.device("maincpu")->execute().set_input_line_vector(CP1610_RESET, 0x1000);
+ machine().device("maincpu")->execute().set_input_line_vector(CP1610_RESET, 0x1000);
/* These are actually the same vector, and INTR is unused */
- machine.device("maincpu")->execute().set_input_line_vector(CP1610_INT_INTRM, 0x1004);
- machine.device("maincpu")->execute().set_input_line_vector(CP1610_INT_INTR, 0x1004);
+ machine().device("maincpu")->execute().set_input_line_vector(CP1610_INT_INTRM, 0x1004);
+ machine().device("maincpu")->execute().set_input_line_vector(CP1610_INT_INTR, 0x1004);
/* Set initial PC */
- machine.device("maincpu")->state().set_state_int(CP1610_R7, 0x1000);
+ machine().device("maincpu")->state().set_state_int(CP1610_R7, 0x1000);
return;
}
-MACHINE_RESET( intvecs )
+MACHINE_RESET_MEMBER(intv_state,intvecs)
{
- intv_state *state = machine.driver_data<intv_state>();
- state->membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base() + (0x2000 << 1));
- state->membank("bank2")->set_base(machine.root_device().memregion("ecs_rom")->base() + (0x7000 << 1));
- state->membank("bank3")->set_base(machine.root_device().memregion("maincpu")->base() + (0xE000 << 1));
- state->membank("bank4")->set_base(machine.root_device().memregion("maincpu")->base() + (0xF000 << 1));
+ membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base() + (0x2000 << 1));
+ membank("bank2")->set_base(machine().root_device().memregion("ecs_rom")->base() + (0x7000 << 1));
+ membank("bank3")->set_base(machine().root_device().memregion("maincpu")->base() + (0xE000 << 1));
+ membank("bank4")->set_base(machine().root_device().memregion("maincpu")->base() + (0xF000 << 1));
- machine.device("maincpu")->execute().set_input_line_vector(CP1610_RESET, 0x1000);
+ machine().device("maincpu")->execute().set_input_line_vector(CP1610_RESET, 0x1000);
/* These are actually the same vector, and INTR is unused */
- machine.device("maincpu")->execute().set_input_line_vector(CP1610_INT_INTRM, 0x1004);
- machine.device("maincpu")->execute().set_input_line_vector(CP1610_INT_INTR, 0x1004);
+ machine().device("maincpu")->execute().set_input_line_vector(CP1610_INT_INTRM, 0x1004);
+ machine().device("maincpu")->execute().set_input_line_vector(CP1610_INT_INTR, 0x1004);
/* Set initial PC */
- machine.device("maincpu")->state().set_state_int(CP1610_R7, 0x1000);
+ machine().device("maincpu")->state().set_state_int(CP1610_R7, 0x1000);
return;
}
diff --git a/src/mess/machine/irisha.c b/src/mess/machine/irisha.c
index d7dec5d0778..e83e558da24 100644
--- a/src/mess/machine/irisha.c
+++ b/src/mess/machine/irisha.c
@@ -25,15 +25,14 @@ static TIMER_CALLBACK( irisha_key )
state->m_keyboard_cnt = 0;
}
-MACHINE_START( irisha )
+void irisha_state::machine_start()
{
- machine.scheduler().timer_pulse(attotime::from_msec(30), FUNC(irisha_key));
+ machine().scheduler().timer_pulse(attotime::from_msec(30), FUNC(irisha_key));
}
-MACHINE_RESET( irisha )
+void irisha_state::machine_reset()
{
- irisha_state *state = machine.driver_data<irisha_state>();
- state->m_keypressed = 0;
+ m_keypressed = 0;
}
void irisha_state::update_speaker()
diff --git a/src/mess/machine/kay_kbd.c b/src/mess/machine/kay_kbd.c
index 46e6b749ecf..fef580f2b29 100644
--- a/src/mess/machine/kay_kbd.c
+++ b/src/mess/machine/kay_kbd.c
@@ -280,15 +280,14 @@ static const UINT8 keyboard[8][10][8] = {
},
};
-MACHINE_RESET( kay_kbd )
+MACHINE_RESET_MEMBER(kaypro_state,kay_kbd)
{
- kaypro_state *state = machine.driver_data<kaypro_state>();
- kay_kbd_t *kbd = state->m_kbd = auto_alloc_clear(machine, kay_kbd_t);
+ kay_kbd_t *kbd = m_kbd = auto_alloc_clear(machine(), kay_kbd_t);
/* disable CapsLock LED initially */
- set_led_status(machine, 1, 1);
- set_led_status(machine, 1, 0);
- kbd->beeper = machine.device(BEEPER_TAG);
+ set_led_status(machine(), 1, 1);
+ set_led_status(machine(), 1, 0);
+ kbd->beeper = machine().device(BEEPER_TAG);
kbd->beep_on = 1;
kbd->control_status = 0x14;
beep_set_state(kbd->beeper, 0);
diff --git a/src/mess/machine/kaypro.c b/src/mess/machine/kaypro.c
index e2eb230cdbe..0158f40f120 100644
--- a/src/mess/machine/kaypro.c
+++ b/src/mess/machine/kaypro.c
@@ -315,23 +315,21 @@ const wd17xx_interface kaypro_wd1793_interface =
Machine
************************************************************/
-MACHINE_START( kayproii )
+MACHINE_START_MEMBER(kaypro_state,kayproii)
{
- kaypro_state *state = machine.driver_data<kaypro_state>();
- state->m_pio_s->strobe_a(0);
+ m_pio_s->strobe_a(0);
}
-MACHINE_RESET( kayproii )
+MACHINE_RESET_MEMBER(kaypro_state,kayproii)
{
- MACHINE_RESET_CALL(kay_kbd);
+ MACHINE_RESET_CALL_MEMBER(kay_kbd);
}
-MACHINE_RESET( kaypro2x )
+MACHINE_RESET_MEMBER(kaypro_state,kaypro2x)
{
- kaypro_state *state = machine.driver_data<kaypro_state>();
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
- state->kaypro2x_system_port_w(*space, 0, 0x80);
- MACHINE_RESET_CALL(kay_kbd);
+ address_space *space = m_maincpu->space(AS_PROGRAM);
+ kaypro2x_system_port_w(*space, 0, 0x80);
+ MACHINE_RESET_CALL_MEMBER(kay_kbd);
}
/***********************************************************
diff --git a/src/mess/machine/kramermc.c b/src/mess/machine/kramermc.c
index b95fe9d6531..039a32006ab 100644
--- a/src/mess/machine/kramermc.c
+++ b/src/mess/machine/kramermc.c
@@ -47,8 +47,7 @@ DRIVER_INIT_MEMBER(kramermc_state,kramermc)
{
}
-MACHINE_RESET( kramermc )
+void kramermc_state::machine_reset()
{
- kramermc_state *state = machine.driver_data<kramermc_state>();
- state->m_key_row = 0;
+ m_key_row = 0;
}
diff --git a/src/mess/machine/lisa.c b/src/mess/machine/lisa.c
index b634e0c9ec2..793ff2281d2 100644
--- a/src/mess/machine/lisa.c
+++ b/src/mess/machine/lisa.c
@@ -815,7 +815,7 @@ static READ8_DEVICE_HANDLER(parallel_via_in_b)
LISA video emulation
*/
-VIDEO_START( lisa )
+void lisa_state::video_start()
{
}
@@ -1031,63 +1031,61 @@ DRIVER_INIT_MEMBER(lisa_state,mac_xl)
m_bad_parity_table = auto_alloc_array(machine(), UINT8, 0x40000); /* 1 bit per byte of CPU RAM */
}
-MACHINE_START( lisa )
+void lisa_state::machine_start()
{
- lisa_state *state = machine.driver_data<lisa_state>();
- state->m_mouse_timer = machine.scheduler().timer_alloc(FUNC(handle_mouse));
+ m_mouse_timer = machine().scheduler().timer_alloc(FUNC(handle_mouse));
/* read command every ms (don't know the real value) */
- machine.scheduler().timer_pulse(attotime::from_msec(1), FUNC(set_COPS_ready));
+ machine().scheduler().timer_pulse(attotime::from_msec(1), FUNC(set_COPS_ready));
}
-MACHINE_RESET( lisa )
+void lisa_state::machine_reset()
{
- lisa_state *state = machine.driver_data<lisa_state>();
- state->m_ram_ptr = machine.root_device().memregion("maincpu")->base() + RAM_OFFSET;
- state->m_rom_ptr = machine.root_device().memregion("maincpu")->base() + ROM_OFFSET;
- state->m_videoROM_ptr = state->memregion("gfx1")->base();
+ m_ram_ptr = machine().root_device().memregion("maincpu")->base() + RAM_OFFSET;
+ m_rom_ptr = machine().root_device().memregion("maincpu")->base() + ROM_OFFSET;
+ m_videoROM_ptr = memregion("gfx1")->base();
-// machine.device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate_create_static(lisa_OPbaseoverride, *machine));
-// m68k_set_reset_callback(machine.device("maincpu"), /*lisa_reset_instr_callback*/NULL);
+// machine().device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate_create_static(lisa_OPbaseoverride, *machine()));
+// m68k_set_reset_callback(machine().device("maincpu"), /*lisa_reset_instr_callback*/NULL);
/* init MMU */
- state->m_setup = 1;
- state->m_seg = 0;
+ m_setup = 1;
+ m_seg = 0;
/* init parity */
- state->m_diag2 = 0;
- state->m_test_parity = 0;
- state->m_parity_error_pending = 0;
+ m_diag2 = 0;
+ m_test_parity = 0;
+ m_parity_error_pending = 0;
- state->m_bad_parity_count = 0;
- memset(state->m_bad_parity_table, 0, 0x40000); /* Clear */
+ m_bad_parity_count = 0;
+ memset(m_bad_parity_table, 0, 0x40000); /* Clear */
/* init video */
- state->m_VTMSK = 0;
- set_VTIR(machine, 0);
+ m_VTMSK = 0;
+ set_VTIR(machine(), 0);
- state->m_video_address_latch = 0;
- state->m_videoram_ptr = (UINT16 *) state->m_ram_ptr;
+ m_video_address_latch = 0;
+ m_videoram_ptr = (UINT16 *) m_ram_ptr;
/* reset COPS keyboard/mouse controller */
- init_COPS(machine);
+ init_COPS(machine());
{
- via6522_device *via_0 = machine.device<via6522_device>("via6522_0");
+ via6522_device *via_0 = machine().device<via6522_device>("via6522_0");
COPS_via_out_ca2(via_0, 0, 0); /* VIA core forgets to do so */
}
/* initialize floppy */
{
- if (state->m_features.floppy_hardware == sony_lisa2)
+ if (m_features.floppy_hardware == sony_lisa2)
{
- sony_set_enable_lines(machine.device("fdc"),1); /* on lisa2, drive unit 1 is always selected (?) */
+ sony_set_enable_lines(machine().device("fdc"),1); /* on lisa2, drive unit 1 is always selected (?) */
}
}
/* reset 68k to pick up proper vectors from MMU */
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
INTERRUPT_GEN( lisa_interrupt )
diff --git a/src/mess/machine/llc.c b/src/mess/machine/llc.c
index 2a230d34c29..3c39837c2d2 100644
--- a/src/mess/machine/llc.c
+++ b/src/mess/machine/llc.c
@@ -125,14 +125,13 @@ DRIVER_INIT_MEMBER(llc_state,llc1)
{
}
-MACHINE_RESET( llc1 )
+MACHINE_RESET_MEMBER(llc_state,llc1)
{
- llc_state *state = machine.driver_data<llc_state>();
- state->m_term_status = 0;
- state->m_llc1_key = 0;
+ m_term_status = 0;
+ m_llc1_key = 0;
}
-MACHINE_START(llc1)
+MACHINE_START_MEMBER(llc_state,llc1)
{
}
@@ -151,22 +150,21 @@ DRIVER_INIT_MEMBER(llc_state,llc2)
m_p_videoram.set_target( machine().device<ram_device>(RAM_TAG)->pointer() + 0xc000,m_p_videoram.bytes());
}
-MACHINE_RESET( llc2 )
+MACHINE_RESET_MEMBER(llc_state,llc2)
{
- llc_state *state = machine.driver_data<llc_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
space->unmap_write(0x0000, 0x3fff);
- state->membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base());
+ membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base());
space->unmap_write(0x4000, 0x5fff);
- state->membank("bank2")->set_base(machine.root_device().memregion("maincpu")->base() + 0x4000);
+ membank("bank2")->set_base(machine().root_device().memregion("maincpu")->base() + 0x4000);
space->unmap_write(0x6000, 0xbfff);
- state->membank("bank3")->set_base(machine.root_device().memregion("maincpu")->base() + 0x6000);
+ membank("bank3")->set_base(machine().root_device().memregion("maincpu")->base() + 0x6000);
space->install_write_bank(0xc000, 0xffff, "bank4");
- state->membank("bank4")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0xc000);
+ membank("bank4")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0xc000);
}
diff --git a/src/mess/machine/lviv.c b/src/mess/machine/lviv.c
index 11c09325858..3e481f5fbe8 100644
--- a/src/mess/machine/lviv.c
+++ b/src/mess/machine/lviv.c
@@ -230,32 +230,31 @@ I8255A_INTERFACE( lviv_ppi8255_interface_1 )
DEVCB_HANDLER(lviv_ppi_1_portc_w)
};
-MACHINE_RESET( lviv )
+void lviv_state::machine_reset()
{
- lviv_state *state = machine.driver_data<lviv_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
UINT8 *mem;
- space->set_direct_update_handler(direct_update_delegate(FUNC(lviv_state::lviv_directoverride), state));
+ space->set_direct_update_handler(direct_update_delegate(FUNC(lviv_state::lviv_directoverride), this));
- state->m_video_ram = machine.device<ram_device>(RAM_TAG)->pointer() + 0xc000;
+ m_video_ram = machine().device<ram_device>(RAM_TAG)->pointer() + 0xc000;
- state->m_startup_mem_map = 1;
+ m_startup_mem_map = 1;
space->unmap_write(0x0000, 0x3fff);
space->unmap_write(0x4000, 0x7fff);
space->unmap_write(0x8000, 0xbfff);
space->unmap_write(0xC000, 0xffff);
- mem = state->memregion("maincpu")->base();
- state->membank("bank1")->set_base(mem + 0x010000);
- state->membank("bank2")->set_base(mem + 0x010000);
- state->membank("bank3")->set_base(mem + 0x010000);
- state->membank("bank4")->set_base(mem + 0x010000);
+ mem = memregion("maincpu")->base();
+ membank("bank1")->set_base(mem + 0x010000);
+ membank("bank2")->set_base(mem + 0x010000);
+ membank("bank3")->set_base(mem + 0x010000);
+ membank("bank4")->set_base(mem + 0x010000);
- /*machine.scheduler().timer_pulse(TIME_IN_NSEC(200), FUNC(lviv_draw_pixel));*/
+ /*machine().scheduler().timer_pulse(TIME_IN_NSEC(200), FUNC(lviv_draw_pixel));*/
- /*memset(machine.device<ram_device>(RAM_TAG)->pointer(), 0, sizeof(unsigned char)*0xffff);*/
+ /*memset(machine().device<ram_device>(RAM_TAG)->pointer(), 0, sizeof(unsigned char)*0xffff);*/
}
diff --git a/src/mess/machine/lynx.c b/src/mess/machine/lynx.c
index a31c7a64b50..6b75baf37bb 100644
--- a/src/mess/machine/lynx.c
+++ b/src/mess/machine/lynx.c
@@ -1962,36 +1962,34 @@ static void lynx_postload(lynx_state *state)
state->lynx_memory_config_w( *state->machine().device("maincpu")->memory().space(AS_PROGRAM), 0, state->m_memory_config);
}
-MACHINE_START( lynx )
+void lynx_state::machine_start()
{
- lynx_state *state = machine.driver_data<lynx_state>();
- state->m_bitmap_temp.allocate(160,102,0,0);
+ m_bitmap_temp.allocate(160,102,0,0);
int i;
- state->save_item(NAME(state->m_memory_config));
- state->save_pointer(NAME(state->m_mem_fe00.target()), state->m_mem_fe00.bytes());
- machine.save().register_postload(save_prepost_delegate(FUNC(lynx_postload), state));
+ save_item(NAME(m_memory_config));
+ save_pointer(NAME(m_mem_fe00.target()), m_mem_fe00.bytes());
+ machine().save().register_postload(save_prepost_delegate(FUNC(lynx_postload), this));
- state->membank("bank3")->configure_entry(0, machine.root_device().memregion("maincpu")->base() + 0x0000);
- state->membank("bank3")->configure_entry(1, state->m_mem_fe00);
- state->membank("bank4")->configure_entry(0, state->memregion("maincpu")->base() + 0x01fa);
- state->membank("bank4")->configure_entry(1, state->m_mem_fffa);
+ membank("bank3")->configure_entry(0, machine().root_device().memregion("maincpu")->base() + 0x0000);
+ membank("bank3")->configure_entry(1, m_mem_fe00);
+ membank("bank4")->configure_entry(0, memregion("maincpu")->base() + 0x01fa);
+ membank("bank4")->configure_entry(1, m_mem_fffa);
- state->m_audio = machine.device("custom");
+ m_audio = machine().device("custom");
- memset(&state->m_suzy, 0, sizeof(state->m_suzy));
+ memset(&m_suzy, 0, sizeof(m_suzy));
- machine.add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(lynx_reset),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(lynx_reset),&machine()));
for (i = 0; i < NR_LYNX_TIMERS; i++)
- lynx_timer_init(machine, i);
+ lynx_timer_init(machine(), i);
}
-MACHINE_RESET( lynx )
+void lynx_state::machine_reset()
{
- lynx_state *state = machine.driver_data<lynx_state>();
- render_target *target = machine.render().first_target();
- target->set_view(state->m_rotate);
+ render_target *target = machine().render().first_target();
+ target->set_view(m_rotate);
}
/****************************************
diff --git a/src/mess/machine/mbc55x.c b/src/mess/machine/mbc55x.c
index fe88d250094..869d46481c6 100644
--- a/src/mess/machine/mbc55x.c
+++ b/src/mess/machine/mbc55x.c
@@ -384,33 +384,32 @@ DRIVER_INIT_MEMBER(mbc55x_state,mbc55x)
{
}
-MACHINE_RESET( mbc55x )
+void mbc55x_state::machine_reset()
{
- set_ram_size(machine);
- keyboard_reset(machine);
- machine.device(MAINCPU_TAG)->execute().set_irq_acknowledge_callback(mbc55x_irq_callback);
+ set_ram_size(machine());
+ keyboard_reset(machine());
+ machine().device(MAINCPU_TAG)->execute().set_irq_acknowledge_callback(mbc55x_irq_callback);
}
-MACHINE_START( mbc55x )
+void mbc55x_state::machine_start()
{
- mbc55x_state *state = machine.driver_data<mbc55x_state>();
/* init cpu */
-// mbc55x_cpu_init(machine);
+// mbc55x_cpu_init(machine());
/* setup debug commands */
- if (machine.debug_flags & DEBUG_FLAG_ENABLED)
+ if (machine().debug_flags & DEBUG_FLAG_ENABLED)
{
- debug_console_register_command(machine, "mbc55x_debug", CMDFLAG_NONE, 0, 0, 1, mbc55x_debug);
+ debug_console_register_command(machine(), "mbc55x_debug", CMDFLAG_NONE, 0, 0, 1, mbc55x_debug);
/* set up the instruction hook */
- machine.device(MAINCPU_TAG)->debug()->set_instruction_hook(instruction_hook);
+ machine().device(MAINCPU_TAG)->debug()->set_instruction_hook(instruction_hook);
}
- state->m_debug_machine=DEBUG_NONE;
+ m_debug_machine=DEBUG_NONE;
// Allocate keyscan timer
- state->m_keyboard.keyscan_timer=machine.scheduler().timer_alloc(FUNC(keyscan_callback));
+ m_keyboard.keyscan_timer=machine().scheduler().timer_alloc(FUNC(keyscan_callback));
}
diff --git a/src/mess/machine/mbee.c b/src/mess/machine/mbee.c
index 8a68e03b217..8154c98e6da 100644
--- a/src/mess/machine/mbee.c
+++ b/src/mess/machine/mbee.c
@@ -509,60 +509,54 @@ static void machine_reset_common_disk(running_machine &machine)
// wd17xx_set_complete_command_delay(state->m_fdc, 50); /* default is 12 usec if not set */
}
-MACHINE_RESET( mbee )
+MACHINE_RESET_MEMBER(mbee_state,mbee)
{
- mbee_state *state = machine.driver_data<mbee_state>();
- state->membank("boot")->set_entry(1);
- machine.scheduler().timer_set(attotime::from_usec(4), FUNC(mbee_reset));
+ membank("boot")->set_entry(1);
+ machine().scheduler().timer_set(attotime::from_usec(4), FUNC(mbee_reset));
}
-MACHINE_RESET( mbee56 )
+MACHINE_RESET_MEMBER(mbee_state,mbee56)
{
- mbee_state *state = machine.driver_data<mbee_state>();
- machine_reset_common_disk(machine);
- state->membank("boot")->set_entry(1);
- machine.scheduler().timer_set(attotime::from_usec(4), FUNC(mbee_reset));
+ machine_reset_common_disk(machine());
+ membank("boot")->set_entry(1);
+ machine().scheduler().timer_set(attotime::from_usec(4), FUNC(mbee_reset));
}
-MACHINE_RESET( mbee64 )
+MACHINE_RESET_MEMBER(mbee_state,mbee64)
{
- mbee_state *state = machine.driver_data<mbee_state>();
- machine_reset_common_disk(machine);
- state->membank("boot")->set_entry(1);
- state->membank("bankl")->set_entry(1);
- state->membank("bankh")->set_entry(1);
+ machine_reset_common_disk(machine());
+ membank("boot")->set_entry(1);
+ membank("bankl")->set_entry(1);
+ membank("bankh")->set_entry(1);
}
-MACHINE_RESET( mbee128 )
+MACHINE_RESET_MEMBER(mbee_state,mbee128)
{
- mbee_state *state = machine.driver_data<mbee_state>();
- address_space *mem = machine.device("maincpu")->memory().space(AS_PROGRAM);
- machine_reset_common_disk(machine);
- state->mbee128_50_w(*mem,0,0); // set banks to default
- state->membank("boot")->set_entry(4); // boot time
+ address_space *mem = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ machine_reset_common_disk(machine());
+ mbee128_50_w(*mem,0,0); // set banks to default
+ membank("boot")->set_entry(4); // boot time
}
-MACHINE_RESET( mbee256 )
+MACHINE_RESET_MEMBER(mbee_state,mbee256)
{
- mbee_state *state = machine.driver_data<mbee_state>();
UINT8 i;
- address_space *mem = machine.device("maincpu")->memory().space(AS_PROGRAM);
- machine_reset_common_disk(machine);
- for (i = 0; i < 15; i++) state->m_mbee256_was_pressed[i] = 0;
- state->m_mbee256_q_pos = 0;
- state->mbee256_50_w(*mem,0,0); // set banks to default
- state->membank("boot")->set_entry(8); // boot time
- machine.scheduler().timer_set(attotime::from_usec(4), FUNC(mbee_reset));
+ address_space *mem = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ machine_reset_common_disk(machine());
+ for (i = 0; i < 15; i++) m_mbee256_was_pressed[i] = 0;
+ m_mbee256_q_pos = 0;
+ mbee256_50_w(*mem,0,0); // set banks to default
+ membank("boot")->set_entry(8); // boot time
+ machine().scheduler().timer_set(attotime::from_usec(4), FUNC(mbee_reset));
}
-MACHINE_RESET( mbeett )
+MACHINE_RESET_MEMBER(mbee_state,mbeett)
{
- mbee_state *state = machine.driver_data<mbee_state>();
UINT8 i;
- for (i = 0; i < 15; i++) state->m_mbee256_was_pressed[i] = 0;
- state->m_mbee256_q_pos = 0;
- state->membank("boot")->set_entry(1);
- machine.scheduler().timer_set(attotime::from_usec(4), FUNC(mbee_reset));
+ for (i = 0; i < 15; i++) m_mbee256_was_pressed[i] = 0;
+ m_mbee256_q_pos = 0;
+ membank("boot")->set_entry(1);
+ machine().scheduler().timer_set(attotime::from_usec(4), FUNC(mbee_reset));
}
INTERRUPT_GEN( mbee_interrupt )
diff --git a/src/mess/machine/mc80.c b/src/mess/machine/mc80.c
index 1bdd2e99887..9766fcd7108 100644
--- a/src/mess/machine/mc80.c
+++ b/src/mess/machine/mc80.c
@@ -18,9 +18,9 @@ static IRQ_CALLBACK( mc8020_irq_callback )
return 0x00;
}
-MACHINE_RESET( mc8020 )
+MACHINE_RESET_MEMBER(mc80_state,mc8020)
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(mc8020_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(mc8020_irq_callback);
}
WRITE_LINE_MEMBER( mc80_state::ctc_z0_w )
@@ -112,9 +112,9 @@ static IRQ_CALLBACK( mc8030_irq_callback )
return 0x20;
}
-MACHINE_RESET( mc8030 )
+MACHINE_RESET_MEMBER(mc80_state,mc8030)
{
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(mc8030_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(mc8030_irq_callback);
}
READ8_MEMBER( mc80_state::zve_port_a_r )
diff --git a/src/mess/machine/microtan.c b/src/mess/machine/microtan.c
index ad74108a8c8..ba608562cee 100644
--- a/src/mess/machine/microtan.c
+++ b/src/mess/machine/microtan.c
@@ -570,15 +570,14 @@ DRIVER_INIT_MEMBER(microtan_state,microtan)
m_timer = machine().scheduler().timer_alloc(FUNC(microtan_read_cassette));
}
-MACHINE_RESET( microtan )
+void microtan_state::machine_reset()
{
- microtan_state *state = machine.driver_data<microtan_state>();
int i;
static const char *const keynames[] = { "ROW0", "ROW1", "ROW2", "ROW3", "ROW4", "ROW5", "ROW6", "ROW7", "ROW8" };
for (i = 1; i < 10; i++)
{
- state->m_keyrows[i] = machine.root_device().ioport(keynames[i-1])->read();
+ m_keyrows[i] = machine().root_device().ioport(keynames[i-1])->read();
}
- set_led_status(machine, 1, (state->m_keyrows[3] & 0x80) ? 0 : 1);
+ set_led_status(machine(), 1, (m_keyrows[3] & 0x80) ? 0 : 1);
}
diff --git a/src/mess/machine/mikro80.c b/src/mess/machine/mikro80.c
index b2deb3cce0d..a8321064c0f 100644
--- a/src/mess/machine/mikro80.c
+++ b/src/mess/machine/mikro80.c
@@ -75,12 +75,11 @@ static TIMER_CALLBACK( mikro80_reset )
state->membank("bank1")->set_entry(0);
}
-MACHINE_RESET( mikro80 )
+void mikro80_state::machine_reset()
{
- mikro80_state *state = machine.driver_data<mikro80_state>();
- machine.scheduler().timer_set(attotime::from_usec(10), FUNC(mikro80_reset));
- state->membank("bank1")->set_entry(1);
- state->m_keyboard_mask = 0;
+ machine().scheduler().timer_set(attotime::from_usec(10), FUNC(mikro80_reset));
+ membank("bank1")->set_entry(1);
+ m_keyboard_mask = 0;
}
diff --git a/src/mess/machine/msx.c b/src/mess/machine/msx.c
index e0109c859f8..ab3c5ae98cc 100644
--- a/src/mess/machine/msx.c
+++ b/src/mess/machine/msx.c
@@ -367,28 +367,25 @@ void msx_state::msx_ch_reset_core ()
msx_memory_map_all ();
}
-MACHINE_START( msx )
+MACHINE_START_MEMBER(msx_state,msx)
{
- MACHINE_START_CALL( msx2 );
+ MACHINE_START_CALL_MEMBER( msx2 );
}
-MACHINE_START( msx2 )
+MACHINE_START_MEMBER(msx_state,msx2)
{
- msx_state *state = machine.driver_data<msx_state>();
- state->m_port_c_old = 0xff;
- state->m_dsk_stat = 0x7f;
+ m_port_c_old = 0xff;
+ m_dsk_stat = 0x7f;
}
-MACHINE_RESET( msx )
+MACHINE_RESET_MEMBER(msx_state,msx)
{
- msx_state *state = machine.driver_data<msx_state>();
- state->msx_ch_reset_core ();
+ msx_ch_reset_core ();
}
-MACHINE_RESET( msx2 )
+MACHINE_RESET_MEMBER(msx_state,msx2)
{
- msx_state *state = machine.driver_data<msx_state>();
- state->msx_ch_reset_core ();
+ msx_ch_reset_core ();
}
I8255_INTERFACE( msx_ppi8255_interface )
diff --git a/src/mess/machine/mtx.c b/src/mess/machine/mtx.c
index aeb787fc7d6..f9f868b04a8 100644
--- a/src/mess/machine/mtx.c
+++ b/src/mess/machine/mtx.c
@@ -372,29 +372,28 @@ SNAPSHOT_LOAD( mtx )
MACHINE_START( mtx512 )
-------------------------------------------------*/
-MACHINE_START( mtx512 )
+MACHINE_START_MEMBER(mtx_state,mtx512)
{
- mtx_state *state = machine.driver_data<mtx_state>();
- ram_device *messram = machine.device<ram_device>(RAM_TAG);
+ ram_device *messram = machine().device<ram_device>(RAM_TAG);
/* find devices */
- state->m_z80ctc = machine.device<z80ctc_device>(Z80CTC_TAG);
- state->m_z80dart = machine.device(Z80DART_TAG);
- state->m_cassette = machine.device<cassette_image_device>(CASSETTE_TAG);
+ m_z80ctc = machine().device<z80ctc_device>(Z80CTC_TAG);
+ m_z80dart = machine().device(Z80DART_TAG);
+ m_cassette = machine().device<cassette_image_device>(CASSETTE_TAG);
/* configure memory */
- state->membank("bank1")->set_base(machine.root_device().memregion("user1")->base());
- state->membank("bank2")->configure_entries(0, 8, state->memregion("user2")->base(), 0x2000);
- state->membank("bank3")->configure_entries(0, messram->size()/0x4000/2, messram->pointer(), 0x4000);
- state->membank("bank4")->configure_entries(0, messram->size()/0x4000/2, messram->pointer() + messram->size()/2, 0x4000);
+ membank("bank1")->set_base(machine().root_device().memregion("user1")->base());
+ membank("bank2")->configure_entries(0, 8, memregion("user2")->base(), 0x2000);
+ membank("bank3")->configure_entries(0, messram->size()/0x4000/2, messram->pointer(), 0x4000);
+ membank("bank4")->configure_entries(0, messram->size()/0x4000/2, messram->pointer() + messram->size()/2, 0x4000);
}
/*-------------------------------------------------
MACHINE_RESET( mtx512 )
-------------------------------------------------*/
-MACHINE_RESET( mtx512 )
+MACHINE_RESET_MEMBER(mtx_state,mtx512)
{
/* bank switching */
- bankswitch(machine, 0);
+ bankswitch(machine(), 0);
}
diff --git a/src/mess/machine/mz700.c b/src/mess/machine/mz700.c
index e7a07201a98..fd4827bc2c5 100644
--- a/src/mess/machine/mz700.c
+++ b/src/mess/machine/mz700.c
@@ -102,15 +102,14 @@ DRIVER_INIT_MEMBER(mz_state,mz800)
m_cgram = auto_alloc_array(machine(), UINT8, 0x1000);
}
-MACHINE_START( mz700 )
+void mz_state::machine_start()
{
- mz_state *mz = machine.driver_data<mz_state>();
- mz->m_pit = machine.device("pit8253");
- mz->m_ppi = machine.device<i8255_device>("ppi8255");
+ m_pit = machine().device("pit8253");
+ m_ppi = machine().device<i8255_device>("ppi8255");
/* reset memory map to defaults */
- mz->mz700_bank_4_w(*machine.device("maincpu")->memory().space(AS_PROGRAM), 0, 0);
+ mz700_bank_4_w(*machine().device("maincpu")->memory().space(AS_PROGRAM), 0, 0);
}
diff --git a/src/mess/machine/mz80.c b/src/mess/machine/mz80.c
index 6fd5a19755c..ec9a8db465a 100644
--- a/src/mess/machine/mz80.c
+++ b/src/mess/machine/mz80.c
@@ -14,13 +14,12 @@ DRIVER_INIT_MEMBER(mz80_state,mz80k)
{
}
-MACHINE_RESET( mz80k )
+void mz80_state::machine_reset()
{
- mz80_state *state = machine.driver_data<mz80_state>();
- state->m_mz80k_tempo_strobe = 0;
- state->m_mz80k_vertical = 0;
- state->m_mz80k_cursor_cnt = 0;
- state->m_mz80k_keyboard_line = 0;
+ m_mz80k_tempo_strobe = 0;
+ m_mz80k_vertical = 0;
+ m_mz80k_cursor_cnt = 0;
+ m_mz80k_keyboard_line = 0;
}
diff --git a/src/mess/machine/nascom1.c b/src/mess/machine/nascom1.c
index 8acca936a9c..2d4195bc438 100644
--- a/src/mess/machine/nascom1.c
+++ b/src/mess/machine/nascom1.c
@@ -244,21 +244,20 @@ SNAPSHOT_LOAD( nascom1 )
*
*************************************/
-MACHINE_RESET( nascom1 )
+void nascom1_state::machine_reset()
{
- nascom1_state *state = machine.driver_data<nascom1_state>();
- state->m_hd6402 = machine.device("hd6402");
+ m_hd6402 = machine().device("hd6402");
/* Set up hd6402 pins */
- ay31015_set_input_pin( state->m_hd6402, AY31015_SWE, 1 );
-
- ay31015_set_input_pin( state->m_hd6402, AY31015_CS, 0 );
- ay31015_set_input_pin( state->m_hd6402, AY31015_NP, 1 );
- ay31015_set_input_pin( state->m_hd6402, AY31015_NB1, 1 );
- ay31015_set_input_pin( state->m_hd6402, AY31015_NB2, 1 );
- ay31015_set_input_pin( state->m_hd6402, AY31015_EPS, 1 );
- ay31015_set_input_pin( state->m_hd6402, AY31015_TSB, 1 );
- ay31015_set_input_pin( state->m_hd6402, AY31015_CS, 1 );
+ ay31015_set_input_pin( m_hd6402, AY31015_SWE, 1 );
+
+ ay31015_set_input_pin( m_hd6402, AY31015_CS, 0 );
+ ay31015_set_input_pin( m_hd6402, AY31015_NP, 1 );
+ ay31015_set_input_pin( m_hd6402, AY31015_NB1, 1 );
+ ay31015_set_input_pin( m_hd6402, AY31015_NB2, 1 );
+ ay31015_set_input_pin( m_hd6402, AY31015_EPS, 1 );
+ ay31015_set_input_pin( m_hd6402, AY31015_TSB, 1 );
+ ay31015_set_input_pin( m_hd6402, AY31015_CS, 1 );
}
DRIVER_INIT_MEMBER(nascom1_state,nascom1)
diff --git a/src/mess/machine/nes.c b/src/mess/machine/nes.c
index 7633cc3f11d..73e3eedba4f 100644
--- a/src/mess/machine/nes.c
+++ b/src/mess/machine/nes.c
@@ -202,21 +202,20 @@ int nes_ppu_vidaccess( device_t *device, int address, int data )
return data;
}
-MACHINE_RESET( nes )
+void nes_state::machine_reset()
{
- nes_state *state = machine.driver_data<nes_state>();
/* Reset the mapper variables. Will also mark the char-gen ram as dirty */
- if (state->m_disk_expansion && state->m_pcb_id == NO_BOARD)
- state->m_ppu->set_hblank_callback(fds_irq);
+ if (m_disk_expansion && m_pcb_id == NO_BOARD)
+ m_ppu->set_hblank_callback(fds_irq);
else
- nes_pcb_reset(machine);
+ nes_pcb_reset(machine());
/* Reset the serial input ports */
- state->m_in_0.shift = 0;
- state->m_in_1.shift = 0;
+ m_in_0.shift = 0;
+ m_in_1.shift = 0;
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
static TIMER_CALLBACK( nes_irq_callback )
@@ -288,33 +287,32 @@ static void nes_state_register( running_machine &machine )
machine.save().register_postload(save_prepost_delegate(FUNC(nes_banks_restore), state));
}
-MACHINE_START( nes )
+void nes_state::machine_start()
{
- nes_state *state = machine.driver_data<nes_state>();
- state->m_ppu = machine.device<ppu2c0x_device>("ppu");
- init_nes_core(machine);
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nes_machine_stop),&machine));
+ m_ppu = machine().device<ppu2c0x_device>("ppu");
+ init_nes_core(machine());
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(nes_machine_stop),&machine()));
- state->m_maincpu = machine.device<cpu_device>("maincpu");
- state->m_sound = machine.device("nessound");
- state->m_cart = machine.device("cart");
+ m_maincpu = machine().device<cpu_device>("maincpu");
+ m_sound = machine().device("nessound");
+ m_cart = machine().device("cart");
// If we're starting famicom with no disk inserted, we still haven't initialized the VRAM needed for
// video emulation, so we need to take care of it now
- if (!state->m_vram)
+ if (!m_vram)
{
- state->m_vram = auto_alloc_array(machine, UINT8, 0x4000);
+ m_vram = auto_alloc_array(machine(), UINT8, 0x4000);
for (int i = 0; i < 8; i++)
{
- state->m_chr_map[i].source = CHRRAM;
- state->m_chr_map[i].origin = i * 0x400; // for save state uses!
- state->m_chr_map[i].access = &state->m_vram[state->m_chr_map[i].origin];
+ m_chr_map[i].source = CHRRAM;
+ m_chr_map[i].origin = i * 0x400; // for save state uses!
+ m_chr_map[i].access = &m_vram[m_chr_map[i].origin];
}
}
- state->m_irq_timer = machine.scheduler().timer_alloc(FUNC(nes_irq_callback));
- nes_state_register(machine);
+ m_irq_timer = machine().scheduler().timer_alloc(FUNC(nes_irq_callback));
+ nes_state_register(machine());
}
static void nes_machine_stop( running_machine &machine )
diff --git a/src/mess/machine/odyssey2.c b/src/mess/machine/odyssey2.c
index 9d25d2d4913..5d876f834a5 100644
--- a/src/mess/machine/odyssey2.c
+++ b/src/mess/machine/odyssey2.c
@@ -72,13 +72,12 @@ DRIVER_INIT_MEMBER(odyssey2_state,odyssey2)
m_cart_size = size;
}
-MACHINE_RESET( odyssey2 )
+void odyssey2_state::machine_reset()
{
- odyssey2_state *state = machine.driver_data<odyssey2_state>();
/* jump to "last" bank, will work for all sizes due to being mirrored */
- state->m_p1 = 0xFF;
- state->m_p2 = 0xFF;
- odyssey2_switch_banks(machine);
+ m_p1 = 0xFF;
+ m_p2 = 0xFF;
+ odyssey2_switch_banks(machine());
}
/****** External RAM ******************************/
diff --git a/src/mess/machine/ondra.c b/src/mess/machine/ondra.c
index 93744e16eeb..841f07b72f2 100644
--- a/src/mess/machine/ondra.c
+++ b/src/mess/machine/ondra.c
@@ -83,15 +83,14 @@ static TIMER_CALLBACK(nmi_check_callback)
}
}
-MACHINE_RESET( ondra )
+void ondra_state::machine_reset()
{
- ondra_state *state = machine.driver_data<ondra_state>();
- state->m_bank1_status = 0;
- state->m_bank2_status = 0;
- ondra_update_banks(machine);
+ m_bank1_status = 0;
+ m_bank2_status = 0;
+ ondra_update_banks(machine());
}
-MACHINE_START(ondra)
+void ondra_state::machine_start()
{
- machine.scheduler().timer_pulse(attotime::from_hz(10), FUNC(nmi_check_callback));
+ machine().scheduler().timer_pulse(attotime::from_hz(10), FUNC(nmi_check_callback));
}
diff --git a/src/mess/machine/orao.c b/src/mess/machine/orao.c
index cec13613da3..f240b2513ed 100644
--- a/src/mess/machine/orao.c
+++ b/src/mess/machine/orao.c
@@ -24,7 +24,7 @@ DRIVER_INIT_MEMBER(orao_state,orao103)
memset(m_memory,0xff,0x6000);
}
-MACHINE_RESET( orao )
+void orao_state::machine_reset()
{
}
diff --git a/src/mess/machine/oric.c b/src/mess/machine/oric.c
index c10c3c2b36d..8f0887e87ca 100644
--- a/src/mess/machine/oric.c
+++ b/src/mess/machine/oric.c
@@ -1052,23 +1052,21 @@ static void oric_common_init_machine(running_machine &machine)
machine.scheduler().timer_pulse(attotime::from_hz(4800), FUNC(oric_refresh_tape));
}
-MACHINE_START( oric )
+void oric_state::machine_start()
{
- oric_state *state = machine.driver_data<oric_state>();
- oric_common_init_machine(machine);
+ oric_common_init_machine(machine());
- state->m_is_telestrat = 0;
+ m_is_telestrat = 0;
- state->m_ram_0x0c000 = auto_alloc_array(machine, UINT8, 16384);
+ m_ram_0x0c000 = auto_alloc_array(machine(), UINT8, 16384);
}
-MACHINE_RESET( oric )
+void oric_state::machine_reset()
{
- oric_state *state = machine.driver_data<oric_state>();
- int disc_interface_id = machine.root_device().ioport("FLOPPY")->read() & 0x07;
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- if (state->m_is_telestrat)
+ int disc_interface_id = machine().root_device().ioport("FLOPPY")->read() & 0x07;
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ if (m_is_telestrat)
return;
switch (disc_interface_id)
@@ -1082,48 +1080,48 @@ MACHINE_RESET( oric )
unsigned char *rom_ptr;
/* os rom */
- oric_enable_memory(machine, 1, 3, TRUE, FALSE);
- rom_ptr = state->memregion("maincpu")->base() + 0x010000;
- state->membank("bank1")->set_base(rom_ptr);
- state->membank("bank2")->set_base(rom_ptr+0x02000);
- state->membank("bank3")->set_base(rom_ptr+0x03800);
- state->membank("bank5")->set_base(rom_ptr);
- state->membank("bank6")->set_base(rom_ptr+0x02000);
- state->membank("bank7")->set_base(rom_ptr+0x03800);
+ oric_enable_memory(machine(), 1, 3, TRUE, FALSE);
+ rom_ptr = memregion("maincpu")->base() + 0x010000;
+ membank("bank1")->set_base(rom_ptr);
+ membank("bank2")->set_base(rom_ptr+0x02000);
+ membank("bank3")->set_base(rom_ptr+0x03800);
+ membank("bank5")->set_base(rom_ptr);
+ membank("bank6")->set_base(rom_ptr+0x02000);
+ membank("bank7")->set_base(rom_ptr+0x03800);
if (disc_interface_id==ORIC_FLOPPY_INTERFACE_APPLE2)
{
- oric_install_apple2_interface(machine);
+ oric_install_apple2_interface(machine());
}
else
{
- space->install_read_handler(0x0300, 0x03ff, read8_delegate(FUNC(oric_state::oric_IO_r),state));
- space->install_write_handler(0x0300, 0x03ff, write8_delegate(FUNC(oric_state::oric_IO_w),state));
+ space->install_read_handler(0x0300, 0x03ff, read8_delegate(FUNC(oric_state::oric_IO_r),this));
+ space->install_write_handler(0x0300, 0x03ff, write8_delegate(FUNC(oric_state::oric_IO_w),this));
}
}
break;
case ORIC_FLOPPY_INTERFACE_APPLE2_V2:
{
- oric_install_apple2_v2_interface(machine);
+ oric_install_apple2_v2_interface(machine());
}
break;
case ORIC_FLOPPY_INTERFACE_MICRODISC:
{
- oric_install_microdisc_interface(machine);
+ oric_install_microdisc_interface(machine());
}
break;
case ORIC_FLOPPY_INTERFACE_JASMIN:
{
- oric_install_jasmin_interface(machine);
+ oric_install_jasmin_interface(machine());
}
break;
}
- machine.device("maincpu")->reset();
+ machine().device("maincpu")->reset();
}
@@ -1381,50 +1379,49 @@ static void telestrat_acia_callback(running_machine &machine, int irq_state)
}
#endif
-MACHINE_START( telestrat )
+MACHINE_START_MEMBER(oric_state,telestrat)
{
- oric_state *state = machine.driver_data<oric_state>();
- UINT8 *mem = state->memregion("maincpu")->base();
+ UINT8 *mem = memregion("maincpu")->base();
- oric_common_init_machine(machine);
+ oric_common_init_machine(machine());
- state->m_telestrat_via2_port_a_data = 0;
- state->m_telestrat_via2_port_b_data = 0;
- state->m_is_telestrat = 1;
+ m_telestrat_via2_port_a_data = 0;
+ m_telestrat_via2_port_b_data = 0;
+ m_is_telestrat = 1;
/* initialise overlay ram */
- state->m_telestrat_blocks[0].MemType = TELESTRAT_MEM_BLOCK_RAM;
- state->m_telestrat_blocks[0].ptr = mem+0x020000; //auto_alloc_array(machine, UINT8, 16384);
+ m_telestrat_blocks[0].MemType = TELESTRAT_MEM_BLOCK_RAM;
+ m_telestrat_blocks[0].ptr = mem+0x020000; //auto_alloc_array(machine(), UINT8, 16384);
- state->m_telestrat_blocks[1].MemType = TELESTRAT_MEM_BLOCK_RAM;
- state->m_telestrat_blocks[1].ptr = mem+0x024000; //auto_alloc_array(machine, UINT8, 16384);
+ m_telestrat_blocks[1].MemType = TELESTRAT_MEM_BLOCK_RAM;
+ m_telestrat_blocks[1].ptr = mem+0x024000; //auto_alloc_array(machine(), UINT8, 16384);
- state->m_telestrat_blocks[2].MemType = TELESTRAT_MEM_BLOCK_RAM;
- state->m_telestrat_blocks[2].ptr = mem+0x028000; //auto_alloc_array(machine, UINT8, 16384);
+ m_telestrat_blocks[2].MemType = TELESTRAT_MEM_BLOCK_RAM;
+ m_telestrat_blocks[2].ptr = mem+0x028000; //auto_alloc_array(machine(), UINT8, 16384);
/* initialise default cartridge */
- state->m_telestrat_blocks[3].MemType = TELESTRAT_MEM_BLOCK_ROM;
- state->m_telestrat_blocks[3].ptr = mem+0x010000; // telmatic.rom
+ m_telestrat_blocks[3].MemType = TELESTRAT_MEM_BLOCK_ROM;
+ m_telestrat_blocks[3].ptr = mem+0x010000; // telmatic.rom
- state->m_telestrat_blocks[4].MemType = TELESTRAT_MEM_BLOCK_RAM;
- state->m_telestrat_blocks[4].ptr = mem+0x02c000; //auto_alloc_array(machine, UINT8, 16384);
+ m_telestrat_blocks[4].MemType = TELESTRAT_MEM_BLOCK_RAM;
+ m_telestrat_blocks[4].ptr = mem+0x02c000; //auto_alloc_array(machine(), UINT8, 16384);
/* initialise default cartridge */
- state->m_telestrat_blocks[5].MemType = TELESTRAT_MEM_BLOCK_ROM;
- state->m_telestrat_blocks[5].ptr = mem+0x014000; // teleass.rom
+ m_telestrat_blocks[5].MemType = TELESTRAT_MEM_BLOCK_ROM;
+ m_telestrat_blocks[5].ptr = mem+0x014000; // teleass.rom
/* initialise default cartridge */
- state->m_telestrat_blocks[6].MemType = TELESTRAT_MEM_BLOCK_ROM;
- state->m_telestrat_blocks[6].ptr = mem+0x018000; // hyperbas.rom
+ m_telestrat_blocks[6].MemType = TELESTRAT_MEM_BLOCK_ROM;
+ m_telestrat_blocks[6].ptr = mem+0x018000; // hyperbas.rom
/* initialise default cartridge */
- state->m_telestrat_blocks[7].MemType = TELESTRAT_MEM_BLOCK_ROM;
- state->m_telestrat_blocks[7].ptr = mem+0x01c000; // telmon24.rom
+ m_telestrat_blocks[7].MemType = TELESTRAT_MEM_BLOCK_ROM;
+ m_telestrat_blocks[7].ptr = mem+0x01c000; // telmon24.rom
- state->m_telestrat_bank_selection = 7;
- telestrat_refresh_mem(machine);
+ m_telestrat_bank_selection = 7;
+ telestrat_refresh_mem(machine());
/* disable os rom, enable microdisc rom */
/* 0x0c000-0x0dfff will be ram, 0x0e000-0x0ffff will be microdisc rom */
- state->m_port_314_w = 0x0ff^((1<<7) | (1<<1));
+ m_port_314_w = 0x0ff^((1<<7) | (1<<1));
}
diff --git a/src/mess/machine/orion.c b/src/mess/machine/orion.c
index 07640dfb44f..b4e8f27e335 100644
--- a/src/mess/machine/orion.c
+++ b/src/mess/machine/orion.c
@@ -57,10 +57,9 @@ I8255A_INTERFACE( orion128_ppi8255_interface_1)
};
-MACHINE_START( orion128 )
+MACHINE_START_MEMBER(orion_state,orion128)
{
- orion_state *state = machine.driver_data<orion_state>();
- state->m_video_mode_mask = 7;
+ m_video_mode_mask = 7;
}
READ8_MEMBER(orion_state::orion128_system_r)
@@ -155,17 +154,16 @@ WRITE8_MEMBER(orion_state::orion128_memory_page_w)
}
}
-MACHINE_RESET ( orion128 )
+MACHINE_RESET_MEMBER(orion_state,orion128)
{
- orion_state *state = machine.driver_data<orion_state>();
- state->m_orion128_video_page = 0;
- state->m_orion128_video_mode = 0;
- state->m_orion128_memory_page = -1;
- state->membank("bank1")->set_base(state->memregion("maincpu")->base() + 0xf800);
- state->membank("bank2")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0xf000);
- state->m_orion128_video_width = SCREEN_WIDTH_384;
- orion_set_video_mode(machine,384);
- radio86_init_keyboard(machine);
+ m_orion128_video_page = 0;
+ m_orion128_video_mode = 0;
+ m_orion128_memory_page = -1;
+ membank("bank1")->set_base(memregion("maincpu")->base() + 0xf800);
+ membank("bank2")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0xf000);
+ m_orion128_video_width = SCREEN_WIDTH_384;
+ orion_set_video_mode(machine(),384);
+ radio86_init_keyboard(machine());
}
WRITE8_MEMBER(orion_state::orion_disk_control_w)
@@ -238,10 +236,9 @@ WRITE8_MEMBER(orion_state::orionz80_floppy_rtc_w)
}
-MACHINE_START( orionz80 )
+MACHINE_START_MEMBER(orion_state,orionz80)
{
- orion_state *state = machine.driver_data<orion_state>();
- state->m_video_mode_mask = 7;
+ m_video_mode_mask = 7;
}
WRITE8_MEMBER(orion_state::orionz80_sound_w)
@@ -329,44 +326,43 @@ WRITE8_MEMBER(orion_state::orionz80_dispatcher_w)
orionz80_switch_bank(machine());
}
-MACHINE_RESET ( orionz80 )
+MACHINE_RESET_MEMBER(orion_state,orionz80)
{
- orion_state *state = machine.driver_data<orion_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
space->unmap_write(0x0000, 0x3fff);
space->install_write_bank(0x4000, 0xefff, "bank2");
space->install_write_bank(0xf000, 0xf3ff, "bank3");
- space->install_write_handler(0xf400, 0xf4ff, write8_delegate(FUNC(orion_state::orion128_system_w),state));
- space->install_write_handler(0xf500, 0xf5ff, write8_delegate(FUNC(orion_state::orion128_romdisk_w),state));
- space->install_write_handler(0xf700, 0xf7ff, write8_delegate(FUNC(orion_state::orionz80_floppy_rtc_w),state));
- space->install_read_handler(0xf400, 0xf4ff, read8_delegate(FUNC(orion_state::orion128_system_r),state));
- space->install_read_handler(0xf500, 0xf5ff, read8_delegate(FUNC(orion_state::orion128_romdisk_r),state));
- space->install_read_handler(0xf700, 0xf7ff, read8_delegate(FUNC(orion_state::orionz80_floppy_rtc_r),state));
-
- space->install_write_handler(0xf800, 0xf8ff, write8_delegate(FUNC(orion_state::orion128_video_mode_w),state));
- space->install_write_handler(0xf900, 0xf9ff, write8_delegate(FUNC(orion_state::orionz80_memory_page_w),state));
- space->install_write_handler(0xfa00, 0xfaff, write8_delegate(FUNC(orion_state::orion128_video_page_w),state));
- space->install_write_handler(0xfb00, 0xfbff, write8_delegate(FUNC(orion_state::orionz80_dispatcher_w),state));
+ space->install_write_handler(0xf400, 0xf4ff, write8_delegate(FUNC(orion_state::orion128_system_w),this));
+ space->install_write_handler(0xf500, 0xf5ff, write8_delegate(FUNC(orion_state::orion128_romdisk_w),this));
+ space->install_write_handler(0xf700, 0xf7ff, write8_delegate(FUNC(orion_state::orionz80_floppy_rtc_w),this));
+ space->install_read_handler(0xf400, 0xf4ff, read8_delegate(FUNC(orion_state::orion128_system_r),this));
+ space->install_read_handler(0xf500, 0xf5ff, read8_delegate(FUNC(orion_state::orion128_romdisk_r),this));
+ space->install_read_handler(0xf700, 0xf7ff, read8_delegate(FUNC(orion_state::orionz80_floppy_rtc_r),this));
+
+ space->install_write_handler(0xf800, 0xf8ff, write8_delegate(FUNC(orion_state::orion128_video_mode_w),this));
+ space->install_write_handler(0xf900, 0xf9ff, write8_delegate(FUNC(orion_state::orionz80_memory_page_w),this));
+ space->install_write_handler(0xfa00, 0xfaff, write8_delegate(FUNC(orion_state::orion128_video_page_w),this));
+ space->install_write_handler(0xfb00, 0xfbff, write8_delegate(FUNC(orion_state::orionz80_dispatcher_w),this));
space->unmap_write(0xfc00, 0xfeff);
- space->install_write_handler(0xff00, 0xffff, write8_delegate(FUNC(orion_state::orionz80_sound_w),state));
+ space->install_write_handler(0xff00, 0xffff, write8_delegate(FUNC(orion_state::orionz80_sound_w),this));
- state->membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base() + 0xf800);
- state->membank("bank2")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0x4000);
- state->membank("bank3")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0xf000);
- state->membank("bank5")->set_base(state->memregion("maincpu")->base() + 0xf800);
+ membank("bank1")->set_base(machine().root_device().memregion("maincpu")->base() + 0xf800);
+ membank("bank2")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0x4000);
+ membank("bank3")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0xf000);
+ membank("bank5")->set_base(memregion("maincpu")->base() + 0xf800);
- state->m_orion128_video_page = 0;
- state->m_orion128_video_mode = 0;
- state->m_orionz80_memory_page = 0;
- state->m_orionz80_dispatcher = 0;
- state->m_speaker = 0;
- state->m_orion128_video_width = SCREEN_WIDTH_384;
- orion_set_video_mode(machine,384);
- radio86_init_keyboard(machine);
+ m_orion128_video_page = 0;
+ m_orion128_video_mode = 0;
+ m_orionz80_memory_page = 0;
+ m_orionz80_dispatcher = 0;
+ m_speaker = 0;
+ m_orion128_video_width = SCREEN_WIDTH_384;
+ orion_set_video_mode(machine(),384);
+ radio86_init_keyboard(machine());
}
INTERRUPT_GEN( orionz80_interrupt )
@@ -522,30 +518,29 @@ WRITE8_MEMBER(orion_state::orionpro_memory_page_w)
orionpro_bank_switch(machine());
}
-MACHINE_RESET ( orionpro )
+MACHINE_RESET_MEMBER(orion_state,orionpro)
{
- orion_state *state = machine.driver_data<orion_state>();
- radio86_init_keyboard(machine);
+ radio86_init_keyboard(machine());
- state->m_orion128_video_page = 0;
- state->m_orion128_video_mode = 0;
- state->m_orionpro_ram0_segment = 0;
- state->m_orionpro_ram1_segment = 0;
- state->m_orionpro_ram2_segment = 0;
+ m_orion128_video_page = 0;
+ m_orion128_video_mode = 0;
+ m_orionpro_ram0_segment = 0;
+ m_orionpro_ram1_segment = 0;
+ m_orionpro_ram2_segment = 0;
- state->m_orionpro_page = 0;
- state->m_orionpro_128_page = 0;
- state->m_orionpro_rom2_segment = 0;
+ m_orionpro_page = 0;
+ m_orionpro_128_page = 0;
+ m_orionpro_rom2_segment = 0;
- state->m_orionpro_dispatcher = 0x50;
- orionpro_bank_switch(machine);
+ m_orionpro_dispatcher = 0x50;
+ orionpro_bank_switch(machine());
- state->m_speaker = 0;
- state->m_orion128_video_width = SCREEN_WIDTH_384;
- orion_set_video_mode(machine,384);
+ m_speaker = 0;
+ m_orion128_video_width = SCREEN_WIDTH_384;
+ orion_set_video_mode(machine(),384);
- state->m_video_mode_mask = 31;
- state->m_orionpro_pseudo_color = 0;
+ m_video_mode_mask = 31;
+ m_orionpro_pseudo_color = 0;
}
READ8_MEMBER(orion_state::orionpro_io_r)
diff --git a/src/mess/machine/osborne1.c b/src/mess/machine/osborne1.c
index ec74ff28301..47d4cff7965 100644
--- a/src/mess/machine/osborne1.c
+++ b/src/mess/machine/osborne1.c
@@ -423,26 +423,25 @@ static void osborne1_load_proc(device_image_interface &image)
}
}
-MACHINE_RESET( osborne1 )
+void osborne1_state::machine_reset()
{
- osborne1_state *state = machine.driver_data<osborne1_state>();
int drive;
- address_space* space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space* space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Initialize memory configuration */
- state->osborne1_bankswitch_w( *space, 0x00, 0 );
+ osborne1_bankswitch_w( *space, 0x00, 0 );
- state->m_pia_0_irq_state = FALSE;
- state->m_pia_1_irq_state = FALSE;
- state->m_in_irq_handler = 0;
+ m_pia_0_irq_state = FALSE;
+ m_pia_1_irq_state = FALSE;
+ m_in_irq_handler = 0;
- state->m_p_chargen = state->memregion( "chargen" )->base();
+ m_p_chargen = memregion( "chargen" )->base();
- memset( machine.device<ram_device>(RAM_TAG)->pointer() + 0x10000, 0xFF, 0x1000 );
+ memset( machine().device<ram_device>(RAM_TAG)->pointer() + 0x10000, 0xFF, 0x1000 );
for(drive=0;drive<2;drive++)
- floppy_install_load_proc(floppy_get_device(machine, drive), osborne1_load_proc);
+ floppy_install_load_proc(floppy_get_device(machine(), drive), osborne1_load_proc);
- space->set_direct_update_handler(direct_update_delegate(FUNC(osborne1_state::osborne1_opbase), state));
+ space->set_direct_update_handler(direct_update_delegate(FUNC(osborne1_state::osborne1_opbase), this));
}
diff --git a/src/mess/machine/partner.c b/src/mess/machine/partner.c
index 85861de9d86..e96e5b61c04 100644
--- a/src/mess/machine/partner.c
+++ b/src/mess/machine/partner.c
@@ -40,9 +40,9 @@ const wd17xx_interface partner_wd17xx_interface =
{FLOPPY_0, FLOPPY_1, NULL, NULL}
};
-MACHINE_START( partner )
+MACHINE_START_MEMBER(partner_state,partner)
{
- device_t *fdc = machine.device("wd1793");
+ device_t *fdc = machine().device("wd1793");
wd17xx_set_pause_time(fdc, 10);
}
@@ -381,10 +381,9 @@ I8257_INTERFACE( partner_dma )
};
-MACHINE_RESET( partner )
+MACHINE_RESET_MEMBER(partner_state,partner)
{
- partner_state *state = machine.driver_data<partner_state>();
- state->m_mem_page = 0;
- state->m_win_mem_page = 0;
- partner_bank_switch(machine);
+ m_mem_page = 0;
+ m_win_mem_page = 0;
+ partner_bank_switch(machine());
}
diff --git a/src/mess/machine/pc.c b/src/mess/machine/pc.c
index 21ca9de4694..90e27b829ed 100644
--- a/src/mess/machine/pc.c
+++ b/src/mess/machine/pc.c
@@ -1432,53 +1432,49 @@ static IRQ_CALLBACK(pc_irq_callback)
}
-MACHINE_START( pc )
+MACHINE_START_MEMBER(pc_state,pc)
{
- pc_state *st = machine.driver_data<pc_state>();
-
- st->m_pic8259 = machine.device("pic8259");
- st->m_dma8237 = machine.device("dma8237");
- st->m_pit8253 = machine.device("pit8253");
- pc_fdc_init( machine, &fdc_interface_nc );
+ m_pic8259 = machine().device("pic8259");
+ m_dma8237 = machine().device("dma8237");
+ m_pit8253 = machine().device("pit8253");
+ pc_fdc_init( machine(), &fdc_interface_nc );
}
-MACHINE_RESET( pc )
+MACHINE_RESET_MEMBER(pc_state,pc)
{
- device_t *speaker = machine.device(SPEAKER_TAG);
- pc_state *st = machine.driver_data<pc_state>();
- st->m_maincpu = machine.device<cpu_device>("maincpu" );
- st->m_maincpu->set_irq_acknowledge_callback(pc_irq_callback);
+ device_t *speaker = machine().device(SPEAKER_TAG);
+ m_maincpu = machine().device<cpu_device>("maincpu" );
+ m_maincpu->set_irq_acknowledge_callback(pc_irq_callback);
- st->m_u73_q2 = 0;
- st->m_out1 = 0;
- st->m_pc_spkrdata = 0;
- st->m_pc_input = 1;
- st->m_dma_channel = 0;
- memset(st->m_dma_offset,0,sizeof(st->m_dma_offset));
- st->m_ppi_portc_switch_high = 0;
- st->m_ppi_speaker = 0;
- st->m_ppi_keyboard_clear = 0;
- st->m_ppi_keyb_clock = 0;
- st->m_ppi_portb = 0;
- st->m_ppi_clock_signal = 0;
- st->m_ppi_data_signal = 0;
- st->m_ppi_shift_register = 0;
- st->m_ppi_shift_enable = 0;
+ m_u73_q2 = 0;
+ m_out1 = 0;
+ m_pc_spkrdata = 0;
+ m_pc_input = 1;
+ m_dma_channel = 0;
+ memset(m_dma_offset,0,sizeof(m_dma_offset));
+ m_ppi_portc_switch_high = 0;
+ m_ppi_speaker = 0;
+ m_ppi_keyboard_clear = 0;
+ m_ppi_keyb_clock = 0;
+ m_ppi_portb = 0;
+ m_ppi_clock_signal = 0;
+ m_ppi_data_signal = 0;
+ m_ppi_shift_register = 0;
+ m_ppi_shift_enable = 0;
speaker_level_w( speaker, 0 );
}
-MACHINE_START( mc1502 )
+MACHINE_START_MEMBER(pc_state,mc1502)
{
- pc_state *st = machine.driver_data<pc_state>();
- st->m_maincpu = machine.device<cpu_device>("maincpu" );
- st->m_maincpu->set_irq_acknowledge_callback(pc_irq_callback);
+ m_maincpu = machine().device<cpu_device>("maincpu" );
+ m_maincpu->set_irq_acknowledge_callback(pc_irq_callback);
- st->m_pic8259 = machine.device("pic8259");
- st->m_dma8237 = NULL;
- st->m_pit8253 = machine.device("pit8253");
+ m_pic8259 = machine().device("pic8259");
+ m_dma8237 = NULL;
+ m_pit8253 = machine().device("pit8253");
/*
Keyboard polling circuit holds IRQ1 high until a key is
@@ -1486,51 +1482,49 @@ MACHINE_START( mc1502 )
40ms (check) for 20ms (check) until all keys are released.
Last pulse causes BIOS to write a 'break' scancode into port 60h.
*/
- pic8259_ir1_w(st->m_pic8259, 1);
+ pic8259_ir1_w(m_pic8259, 1);
memset(&mc1502_keyb, 0, sizeof(mc1502_keyb));
- mc1502_keyb.keyb_signal_timer = machine.scheduler().timer_alloc(FUNC(mc1502_keyb_signal_callback));
+ mc1502_keyb.keyb_signal_timer = machine().scheduler().timer_alloc(FUNC(mc1502_keyb_signal_callback));
mc1502_keyb.keyb_signal_timer->adjust( attotime::from_msec(20), 0, attotime::from_msec(20) );
}
-MACHINE_START( pcjr )
+MACHINE_START_MEMBER(pc_state,pcjr)
{
- pc_state *st = machine.driver_data<pc_state>();
- pc_fdc_init( machine, &pcjr_fdc_interface_nc );
- pcjr_keyb.keyb_signal_timer = machine.scheduler().timer_alloc(FUNC(pcjr_keyb_signal_callback));
- pc_int_delay_timer = machine.scheduler().timer_alloc(FUNC(pcjr_delayed_pic8259_irq));
- st->m_maincpu = machine.device<cpu_device>("maincpu" );
- st->m_maincpu->set_irq_acknowledge_callback(pc_irq_callback);
+ pc_fdc_init( machine(), &pcjr_fdc_interface_nc );
+ pcjr_keyb.keyb_signal_timer = machine().scheduler().timer_alloc(FUNC(pcjr_keyb_signal_callback));
+ pc_int_delay_timer = machine().scheduler().timer_alloc(FUNC(pcjr_delayed_pic8259_irq));
+ m_maincpu = machine().device<cpu_device>("maincpu" );
+ m_maincpu->set_irq_acknowledge_callback(pc_irq_callback);
- st->m_pic8259 = machine.device("pic8259");
- st->m_dma8237 = NULL;
- st->m_pit8253 = machine.device("pit8253");
+ m_pic8259 = machine().device("pic8259");
+ m_dma8237 = NULL;
+ m_pit8253 = machine().device("pit8253");
}
-MACHINE_RESET( pcjr )
+MACHINE_RESET_MEMBER(pc_state,pcjr)
{
- device_t *speaker = machine.device(SPEAKER_TAG);
- pc_state *st = machine.driver_data<pc_state>();
- st->m_u73_q2 = 0;
- st->m_out1 = 0;
- st->m_pc_spkrdata = 0;
- st->m_pc_input = 1;
- st->m_dma_channel = 0;
- memset(st->m_memboard,0xc,sizeof(st->m_memboard)); // check
- memset(st->m_dma_offset,0,sizeof(st->m_dma_offset));
- st->m_ppi_portc_switch_high = 0;
- st->m_ppi_speaker = 0;
- st->m_ppi_keyboard_clear = 0;
- st->m_ppi_keyb_clock = 0;
- st->m_ppi_portb = 0;
- st->m_ppi_clock_signal = 0;
- st->m_ppi_data_signal = 0;
- st->m_ppi_shift_register = 0;
- st->m_ppi_shift_enable = 0;
+ device_t *speaker = machine().device(SPEAKER_TAG);
+ m_u73_q2 = 0;
+ m_out1 = 0;
+ m_pc_spkrdata = 0;
+ m_pc_input = 1;
+ m_dma_channel = 0;
+ memset(m_memboard,0xc,sizeof(m_memboard)); // check
+ memset(m_dma_offset,0,sizeof(m_dma_offset));
+ m_ppi_portc_switch_high = 0;
+ m_ppi_speaker = 0;
+ m_ppi_keyboard_clear = 0;
+ m_ppi_keyb_clock = 0;
+ m_ppi_portb = 0;
+ m_ppi_clock_signal = 0;
+ m_ppi_data_signal = 0;
+ m_ppi_shift_register = 0;
+ m_ppi_shift_enable = 0;
speaker_level_w( speaker, 0 );
- pcjr_keyb_init(machine);
+ pcjr_keyb_init(machine());
}
diff --git a/src/mess/machine/pce.c b/src/mess/machine/pce.c
index a1f54cfe455..630288ccb4d 100644
--- a/src/mess/machine/pce.c
+++ b/src/mess/machine/pce.c
@@ -265,28 +265,26 @@ DRIVER_INIT_MEMBER(pce_state,sgx)
m_io_port_options = PCE_JOY_SIG | CONST_SIG;
}
-MACHINE_START( pce )
+MACHINE_START_MEMBER(pce_state,pce)
{
- pce_state *state = machine.driver_data<pce_state>();
- pce_cd_init( machine );
- machine.device<nvram_device>("nvram")->set_base(state->m_cd.bram, PCE_BRAM_SIZE);
+ pce_cd_init( machine() );
+ machine().device<nvram_device>("nvram")->set_base(m_cd.bram, PCE_BRAM_SIZE);
}
-MACHINE_RESET( mess_pce )
+MACHINE_RESET_MEMBER(pce_state,mess_pce)
{
- pce_state *state = machine.driver_data<pce_state>();
- pce_cd_t &pce_cd = state->m_cd;
+ pce_cd_t &pce_cd = m_cd;
int joy_i;
for (joy_i = 0; joy_i < 5; joy_i++)
- state->m_joy_6b_packet[joy_i] = 0;
+ m_joy_6b_packet[joy_i] = 0;
pce_cd.adpcm_read_buf = 0;
pce_cd.adpcm_write_buf = 0;
// TODO: add CD-DA stop command here
//pce_cd.cdda_status = PCE_CD_CDDA_OFF;
- //cdda_stop_audio( machine.device( "cdda" ) );
+ //cdda_stop_audio( machine().device( "cdda" ) );
pce_cd.regs[0x0c] |= PCE_CD_ADPCM_STOP_FLAG;
pce_cd.regs[0x0c] &= ~PCE_CD_ADPCM_PLAY_FLAG;
@@ -295,7 +293,7 @@ MACHINE_RESET( mess_pce )
/* Note: Arcade Card BIOS contents are the same as System 3, only internal HW differs.
We use a category to select between modes (some games can be run in either S-CD or A-CD modes) */
- state->m_acard = machine.root_device().ioport("A_CARD")->read() & 1;
+ m_acard = machine().root_device().ioport("A_CARD")->read() & 1;
}
/* todo: how many input ports does the PCE have? */
diff --git a/src/mess/machine/pecom.c b/src/mess/machine/pecom.c
index 91128a75db5..6fac0a4b32c 100644
--- a/src/mess/machine/pecom.c
+++ b/src/mess/machine/pecom.c
@@ -19,18 +19,16 @@ static TIMER_CALLBACK( reset_tick )
state->m_reset = 1;
}
-MACHINE_START( pecom )
+void pecom_state::machine_start()
{
- pecom_state *state = machine.driver_data<pecom_state>();
- state->m_reset_timer = machine.scheduler().timer_alloc(FUNC(reset_tick));
+ m_reset_timer = machine().scheduler().timer_alloc(FUNC(reset_tick));
}
-MACHINE_RESET( pecom )
+void pecom_state::machine_reset()
{
- UINT8 *rom = machine.root_device().memregion(CDP1802_TAG)->base();
- address_space *space = machine.device(CDP1802_TAG)->memory().space(AS_PROGRAM);
+ UINT8 *rom = machine().root_device().memregion(CDP1802_TAG)->base();
+ address_space *space = machine().device(CDP1802_TAG)->memory().space(AS_PROGRAM);
- pecom_state *state = machine.driver_data<pecom_state>();
space->unmap_write(0x0000, 0x3fff);
space->install_write_bank(0x4000, 0x7fff, "bank2");
@@ -38,14 +36,14 @@ MACHINE_RESET( pecom )
space->unmap_write(0xf800, 0xffff);
space->install_read_bank (0xf000, 0xf7ff, "bank3");
space->install_read_bank (0xf800, 0xffff, "bank4");
- state->membank("bank1")->set_base(rom + 0x8000);
- state->membank("bank2")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0x4000);
- state->membank("bank3")->set_base(rom + 0xf000);
- state->membank("bank4")->set_base(rom + 0xf800);
-
- state->m_reset = 0;
- state->m_dma = 0;
- state->m_reset_timer->adjust(attotime::from_msec(5));
+ membank("bank1")->set_base(rom + 0x8000);
+ membank("bank2")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0x4000);
+ membank("bank3")->set_base(rom + 0xf000);
+ membank("bank4")->set_base(rom + 0xf800);
+
+ m_reset = 0;
+ m_dma = 0;
+ m_reset_timer->adjust(attotime::from_msec(5));
}
READ8_MEMBER(pecom_state::pecom_cdp1869_charram_r)
diff --git a/src/mess/machine/pet.c b/src/mess/machine/pet.c
index 0481d382a9f..b4c2284278a 100644
--- a/src/mess/machine/pet.c
+++ b/src/mess/machine/pet.c
@@ -719,47 +719,46 @@ DRIVER_INIT_MEMBER(pet_state,superpet)
superpet_vh_init(machine());
}
-MACHINE_RESET( pet )
+void pet_state::machine_reset()
{
- pet_state *state = machine.driver_data<pet_state>();
- if (state->m_superpet)
+ if (m_superpet)
{
- state->m_spet.rom = 0;
- if (machine.root_device().ioport("CFG")->read() & 0x04)
+ m_spet.rom = 0;
+ if (machine().root_device().ioport("CFG")->read() & 0x04)
{
- machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 1);
- machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 0);
- state->m_font = 2;
+ machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 1);
+ machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 0);
+ m_font = 2;
}
else
{
- machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 0);
- machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 1);
- state->m_font = 0;
+ machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 0);
+ machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 1);
+ m_font = 0;
}
}
- if (state->m_cbm8096)
+ if (m_cbm8096)
{
- if (machine.root_device().ioport("CFG")->read() & 0x08)
+ if (machine().root_device().ioport("CFG")->read() & 0x08)
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff0, 0xfff0, FUNC(cbm8096_w));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xfff0, 0xfff0, FUNC(cbm8096_w));
}
else
{
- machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xfff0, 0xfff0);
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0xfff0, 0xfff0);
}
- cbm8096_w(machine.device("maincpu")->memory().space(AS_PROGRAM), 0, 0);
+ cbm8096_w(machine().device("maincpu")->memory().space(AS_PROGRAM), 0, 0);
}
-//removed cbm_drive_0_config (machine.root_device().ioport("CFG")->read() & 2 ? IEEE : 0, 8);
-//removed cbm_drive_1_config (machine.root_device().ioport("CFG")->read() & 1 ? IEEE : 0, 9);
- machine.device("maincpu")->reset();
+//removed cbm_drive_0_config (machine().root_device().ioport("CFG")->read() & 2 ? IEEE : 0, 8);
+//removed cbm_drive_1_config (machine().root_device().ioport("CFG")->read() & 1 ? IEEE : 0, 9);
+ machine().device("maincpu")->reset();
- state->m_ieee->ren_w(0);
- state->m_ieee->ifc_w(0);
- state->m_ieee->ifc_w(1);
+ m_ieee->ren_w(0);
+ m_ieee->ifc_w(0);
+ m_ieee->ifc_w(1);
}
diff --git a/src/mess/machine/pk8020.c b/src/mess/machine/pk8020.c
index 9895cde56e6..4977883caf8 100644
--- a/src/mess/machine/pk8020.c
+++ b/src/mess/machine/pk8020.c
@@ -994,14 +994,13 @@ static IRQ_CALLBACK( pk8020_irq_callback )
return pic8259_acknowledge(device->machine().device("pic8259"));
}
-MACHINE_RESET( pk8020 )
+void pk8020_state::machine_reset()
{
- pk8020_state *state = machine.driver_data<pk8020_state>();
- pk8020_set_bank(machine,0);
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(pk8020_irq_callback);
+ pk8020_set_bank(machine(),0);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(pk8020_irq_callback);
- state->m_sound_gate = 0;
- state->m_sound_level = 0;
+ m_sound_gate = 0;
+ m_sound_level = 0;
}
INTERRUPT_GEN( pk8020_interrupt )
diff --git a/src/mess/machine/pmd85.c b/src/mess/machine/pmd85.c
index aa2b1ccf5ec..8e7425cce64 100644
--- a/src/mess/machine/pmd85.c
+++ b/src/mess/machine/pmd85.c
@@ -930,19 +930,18 @@ static TIMER_CALLBACK( setup_machine_state )
}
-MACHINE_RESET( pmd85 )
+void pmd85_state::machine_reset()
{
- pmd85_state *state = machine.driver_data<pmd85_state>();
int i, j;
/* checking for Rom Module */
- switch (state->m_model)
+ switch (m_model)
{
case PMD85_1:
case PMD85_2A:
case PMD85_3:
case C2717:
- state->m_rom_module_present = (machine.root_device().ioport("DSW0")->read() & 0x01) ? 1 : 0;
+ m_rom_module_present = (machine().root_device().ioport("DSW0")->read() & 0x01) ? 1 : 0;
break;
case ALFA:
case MATO:
@@ -951,15 +950,15 @@ MACHINE_RESET( pmd85 )
for (i = 0; i < 4; i++)
for (j = 0; j < 3; j++)
- state->m_ppi_port_outputs[i][j] = 0;
+ m_ppi_port_outputs[i][j] = 0;
/* memory initialization */
- memset(machine.device<ram_device>(RAM_TAG)->pointer(), 0, sizeof(unsigned char)*0x10000);
- state->m_pmd853_memory_mapping = 1;
- state->m_startup_mem_map = 1;
- state->update_memory(machine);
+ memset(machine().device<ram_device>(RAM_TAG)->pointer(), 0, sizeof(unsigned char)*0x10000);
+ m_pmd853_memory_mapping = 1;
+ m_startup_mem_map = 1;
+ update_memory(machine());
- machine.scheduler().timer_set(attotime::zero, FUNC(setup_machine_state));
+ machine().scheduler().timer_set(attotime::zero, FUNC(setup_machine_state));
- machine.device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(pmd85_state::pmd85_opbaseoverride), state));
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(pmd85_state::pmd85_opbaseoverride), this));
}
diff --git a/src/mess/machine/poly88.c b/src/mess/machine/poly88.c
index 2ef0507fe88..2174bb7ee31 100644
--- a/src/mess/machine/poly88.c
+++ b/src/mess/machine/poly88.c
@@ -207,14 +207,13 @@ DRIVER_INIT_MEMBER(poly88_state,poly88)
machine().scheduler().timer_pulse(attotime::from_hz(24000), FUNC(keyboard_callback));
}
-MACHINE_RESET(poly88)
+void poly88_state::machine_reset()
{
- poly88_state *state = machine.driver_data<poly88_state>();
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(poly88_irq_callback);
- state->m_intr = 0;
- state->m_last_code = 0;
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(poly88_irq_callback);
+ m_intr = 0;
+ m_last_code = 0;
- machine.scheduler().timer_set(attotime::zero, FUNC(setup_machine_state));
+ machine().scheduler().timer_set(attotime::zero, FUNC(setup_machine_state));
}
INTERRUPT_GEN( poly88_interrupt )
diff --git a/src/mess/machine/pp01.c b/src/mess/machine/pp01.c
index 98eceb40384..c6e98560f84 100644
--- a/src/mess/machine/pp01.c
+++ b/src/mess/machine/pp01.c
@@ -130,14 +130,13 @@ static void pp01_set_memory(running_machine &machine,UINT8 block, UINT8 data)
}
}
-MACHINE_RESET( pp01 )
+void pp01_state::machine_reset()
{
- pp01_state *state = machine.driver_data<pp01_state>();
int i;
- memset(state->m_memory_block,0xff,16);
+ memset(m_memory_block,0xff,16);
for(i=0;i<16;i++) {
- state->m_memory_block[i] = 0xff;
- pp01_set_memory(machine, i, 0xff);
+ m_memory_block[i] = 0xff;
+ pp01_set_memory(machine(), i, 0xff);
}
}
@@ -152,7 +151,7 @@ READ8_MEMBER(pp01_state::pp01_mem_block_r)
return m_memory_block[offset];
}
-MACHINE_START(pp01)
+void pp01_state::machine_start()
{
}
diff --git a/src/mess/machine/primo.c b/src/mess/machine/primo.c
index ac580f02bf8..275a4570cab 100644
--- a/src/mess/machine/primo.c
+++ b/src/mess/machine/primo.c
@@ -246,14 +246,14 @@ static void primo_common_machine_init (running_machine &machine)
machine.device("maincpu")->set_clock_scale(machine.root_device().ioport("CPU_CLOCK")->read() ? 1.5 : 1.0);
}
-MACHINE_RESET( primoa )
+void primo_state::machine_reset()
{
- primo_common_machine_init(machine);
+ primo_common_machine_init(machine());
}
-MACHINE_RESET( primob )
+MACHINE_RESET_MEMBER(primo_state,primob)
{
- primo_common_machine_init(machine);
+ primo_common_machine_init(machine());
//removed cbm_drive_0_config(SERIAL, 8);
//removed cbm_drive_1_config(SERIAL, 9);
diff --git a/src/mess/machine/radio86.c b/src/mess/machine/radio86.c
index feebd9a5989..21f57829315 100644
--- a/src/mess/machine/radio86.c
+++ b/src/mess/machine/radio86.c
@@ -176,14 +176,13 @@ WRITE8_MEMBER(radio86_state::radio_io_w)
machine().device("maincpu")->memory().space(AS_PROGRAM)->write_byte((offset << 8) + offset,data);
}
-MACHINE_RESET( radio86 )
+MACHINE_RESET_MEMBER(radio86_state,radio86)
{
- radio86_state *state = machine.driver_data<radio86_state>();
- machine.scheduler().timer_set(attotime::from_usec(10), FUNC(radio86_reset));
- state->membank("bank1")->set_entry(1);
+ machine().scheduler().timer_set(attotime::from_usec(10), FUNC(radio86_reset));
+ membank("bank1")->set_entry(1);
- state->m_keyboard_mask = 0;
- state->m_disk_sel = 0;
+ m_keyboard_mask = 0;
+ m_disk_sel = 0;
}
diff --git a/src/mess/machine/rmnimbus.c b/src/mess/machine/rmnimbus.c
index 6ac07b26fab..0599dfbb7c1 100644
--- a/src/mess/machine/rmnimbus.c
+++ b/src/mess/machine/rmnimbus.c
@@ -181,7 +181,7 @@ static TIMER_CALLBACK(keyscan_callback);
static void pc8031_reset(running_machine &machine);
static void iou_reset(running_machine &machine);
-static void sound_reset(running_machine &machine);
+static void rmni_sound_reset(running_machine &machine);
static void mouse_js_reset(running_machine &machine);
static TIMER_CALLBACK(mouse_callback);
@@ -1249,45 +1249,44 @@ WRITE16_MEMBER(rmnimbus_state::nimbus_i186_internal_port_w)
}
}
-MACHINE_RESET(nimbus)
+void rmnimbus_state::machine_reset()
{
/* CPU */
- nimbus_cpu_reset(machine);
- iou_reset(machine);
- fdc_reset(machine);
- hdc_reset(machine);
- keyboard_reset(machine);
- pc8031_reset(machine);
- sound_reset(machine);
- memory_reset(machine);
- mouse_js_reset(machine);
+ nimbus_cpu_reset(machine());
+ iou_reset(machine());
+ fdc_reset(machine());
+ hdc_reset(machine());
+ keyboard_reset(machine());
+ pc8031_reset(machine());
+ rmni_sound_reset(machine());
+ memory_reset(machine());
+ mouse_js_reset(machine());
}
DRIVER_INIT_MEMBER(rmnimbus_state,nimbus)
{
}
-MACHINE_START( nimbus )
+void rmnimbus_state::machine_start()
{
- rmnimbus_state *state = machine.driver_data<rmnimbus_state>();
/* init cpu */
- nimbus_cpu_init(machine);
+ nimbus_cpu_init(machine());
- state->m_keyboard.keyscan_timer=machine.scheduler().timer_alloc(FUNC(keyscan_callback));
- state->m_nimbus_mouse.m_mouse_timer=machine.scheduler().timer_alloc(FUNC(mouse_callback));
+ m_keyboard.keyscan_timer=machine().scheduler().timer_alloc(FUNC(keyscan_callback));
+ m_nimbus_mouse.m_mouse_timer=machine().scheduler().timer_alloc(FUNC(mouse_callback));
/* setup debug commands */
- if (machine.debug_flags & DEBUG_FLAG_ENABLED)
+ if (machine().debug_flags & DEBUG_FLAG_ENABLED)
{
- debug_console_register_command(machine, "nimbus_irq", CMDFLAG_NONE, 0, 0, 2, execute_debug_irq);
- debug_console_register_command(machine, "nimbus_intmasks", CMDFLAG_NONE, 0, 0, 0, execute_debug_intmasks);
- debug_console_register_command(machine, "nimbus_debug", CMDFLAG_NONE, 0, 0, 1, nimbus_debug);
+ debug_console_register_command(machine(), "nimbus_irq", CMDFLAG_NONE, 0, 0, 2, execute_debug_irq);
+ debug_console_register_command(machine(), "nimbus_intmasks", CMDFLAG_NONE, 0, 0, 0, execute_debug_intmasks);
+ debug_console_register_command(machine(), "nimbus_debug", CMDFLAG_NONE, 0, 0, 1, nimbus_debug);
/* set up the instruction hook */
- machine.device(MAINCPU_TAG)->debug()->set_instruction_hook(instruction_hook);
+ machine().device(MAINCPU_TAG)->debug()->set_instruction_hook(instruction_hook);
}
- state->m_debug_machine=DEBUG_NONE;
+ m_debug_machine=DEBUG_NONE;
}
static void execute_debug_irq(running_machine &machine, int ref, int params, const char *param[])
@@ -2754,7 +2753,7 @@ static void iou_reset(running_machine &machine)
*/
-static void sound_reset(running_machine &machine)
+static void rmni_sound_reset(running_machine &machine)
{
rmnimbus_state *state = machine.driver_data<rmnimbus_state>();
//device_t *ay8910 = machine.device(AY8910_TAG);
diff --git a/src/mess/machine/samcoupe.c b/src/mess/machine/samcoupe.c
index 4e32e051f49..bedd0fef7ec 100644
--- a/src/mess/machine/samcoupe.c
+++ b/src/mess/machine/samcoupe.c
@@ -229,42 +229,40 @@ UINT8 samcoupe_mouse_r(running_machine &machine)
return result;
}
-MACHINE_START( samcoupe )
+void samcoupe_state::machine_start()
{
- samcoupe_state *state = machine.driver_data<samcoupe_state>();
- state->m_mouse_reset = machine.scheduler().timer_alloc(FUNC(samcoupe_mouse_reset));
+ m_mouse_reset = machine().scheduler().timer_alloc(FUNC(samcoupe_mouse_reset));
/* schedule our video updates */
- state->m_video_update_timer = machine.scheduler().timer_alloc(FUNC(sam_video_update_callback));
- state->m_video_update_timer->adjust(machine.primary_screen->time_until_pos(0, 0));
+ m_video_update_timer = machine().scheduler().timer_alloc(FUNC(sam_video_update_callback));
+ m_video_update_timer->adjust(machine().primary_screen->time_until_pos(0, 0));
}
/***************************************************************************
RESET
***************************************************************************/
-MACHINE_RESET( samcoupe )
+void samcoupe_state::machine_reset()
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- address_space *spaceio = machine.device("maincpu")->memory().space(AS_IO);
- samcoupe_state *state = machine.driver_data<samcoupe_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *spaceio = machine().device("maincpu")->memory().space(AS_IO);
/* initialize state */
- state->m_lmpr = 0x0f; /* ROM0 paged in, ROM1 paged out RAM Banks */
- state->m_hmpr = 0x01;
- state->m_vmpr = 0x81;
- state->m_line_int = 0xff; /* line interrupts disabled */
- state->m_status = 0x1f; /* no interrupts active */
+ m_lmpr = 0x0f; /* ROM0 paged in, ROM1 paged out RAM Banks */
+ m_hmpr = 0x01;
+ m_vmpr = 0x81;
+ m_line_int = 0xff; /* line interrupts disabled */
+ m_status = 0x1f; /* no interrupts active */
/* initialize mouse */
- state->m_mouse_index = 0;
- state->m_mouse_data[0] = 0xff;
- state->m_mouse_data[1] = 0xff;
+ m_mouse_index = 0;
+ m_mouse_data[0] = 0xff;
+ m_mouse_data[1] = 0xff;
- if (machine.root_device().ioport("config")->read() & 0x01)
+ if (machine().root_device().ioport("config")->read() & 0x01)
{
/* install RTC */
- device_t *rtc = machine.device("sambus_clock");
+ device_t *rtc = machine().device("sambus_clock");
spaceio->install_legacy_readwrite_handler(*rtc, 0xef, 0xef, 0xffff, 0xff00, FUNC(samcoupe_rtc_r), FUNC(samcoupe_rtc_w));
}
else
diff --git a/src/mess/machine/sapi1.c b/src/mess/machine/sapi1.c
index 64874e03de9..077d9cb2333 100644
--- a/src/mess/machine/sapi1.c
+++ b/src/mess/machine/sapi1.c
@@ -14,13 +14,12 @@ DRIVER_INIT_MEMBER(sapi1_state,sapi1)
{
}
-MACHINE_RESET( sapi1 )
+MACHINE_RESET_MEMBER(sapi1_state,sapi1)
{
- sapi1_state *state = machine.driver_data<sapi1_state>();
- state->m_keyboard_mask = 0;
+ m_keyboard_mask = 0;
}
-MACHINE_START(sapi1)
+MACHINE_START_MEMBER(sapi1_state,sapi1)
{
}
@@ -41,11 +40,10 @@ WRITE8_MEMBER( sapi1_state::sapi1_keyboard_w )
}
-MACHINE_RESET( sapizps3 )
+MACHINE_RESET_MEMBER(sapi1_state,sapizps3)
{
- sapi1_state *state = machine.driver_data<sapi1_state>();
- state->m_keyboard_mask = 0;
- state->membank("bank1")->set_entry(1);
+ m_keyboard_mask = 0;
+ membank("bank1")->set_entry(1);
}
DRIVER_INIT_MEMBER(sapi1_state,sapizps3)
diff --git a/src/mess/machine/sms.c b/src/mess/machine/sms.c
index 3f12124f5cf..2c4683dd35b 100644
--- a/src/mess/machine/sms.c
+++ b/src/mess/machine/sms.c
@@ -1924,125 +1924,123 @@ static void setup_banks( running_machine &machine )
}
}
-MACHINE_START( sms )
+MACHINE_START_MEMBER(sms_state,sms)
{
- sms_state *state = machine.driver_data<sms_state>();
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(sms_machine_stop),&machine));
- state->m_rapid_fire_timer = machine.scheduler().timer_alloc(FUNC(rapid_fire_callback));
- state->m_rapid_fire_timer->adjust(attotime::from_hz(10), 0, attotime::from_hz(10));
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(sms_machine_stop),&machine()));
+ m_rapid_fire_timer = machine().scheduler().timer_alloc(FUNC(rapid_fire_callback));
+ m_rapid_fire_timer->adjust(attotime::from_hz(10), 0, attotime::from_hz(10));
- state->m_lphaser_1_timer = machine.scheduler().timer_alloc(FUNC(lphaser_1_callback));
- state->m_lphaser_2_timer = machine.scheduler().timer_alloc(FUNC(lphaser_2_callback));
+ m_lphaser_1_timer = machine().scheduler().timer_alloc(FUNC(lphaser_1_callback));
+ m_lphaser_2_timer = machine().scheduler().timer_alloc(FUNC(lphaser_2_callback));
- state->m_main_cpu = machine.device("maincpu");
- state->m_control_cpu = machine.device("control");
- state->m_vdp = machine.device<sega315_5124_device>("sms_vdp");
- state->m_eeprom = machine.device<eeprom_device>("eeprom");
- state->m_ym = machine.device("ym2413");
- state->m_main_scr = machine.device("screen");
- state->m_left_lcd = machine.device("left_lcd");
- state->m_right_lcd = machine.device("right_lcd");
- state->m_space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ m_main_cpu = machine().device("maincpu");
+ m_control_cpu = machine().device("control");
+ m_vdp = machine().device<sega315_5124_device>("sms_vdp");
+ m_eeprom = machine().device<eeprom_device>("eeprom");
+ m_ym = machine().device("ym2413");
+ m_main_scr = machine().device("screen");
+ m_left_lcd = machine().device("left_lcd");
+ m_right_lcd = machine().device("right_lcd");
+ m_space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Check if lightgun has been chosen as input: if so, enable crosshair */
- machine.scheduler().timer_set(attotime::zero, FUNC(lightgun_tick));
+ machine().scheduler().timer_set(attotime::zero, FUNC(lightgun_tick));
}
-MACHINE_RESET( sms )
+MACHINE_RESET_MEMBER(sms_state,sms)
{
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- sms_state *state = machine.driver_data<sms_state>();
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- state->m_ctrl_reg = 0xff;
- if (state->m_has_fm)
- state->m_fm_detect = 0x01;
+ m_ctrl_reg = 0xff;
+ if (m_has_fm)
+ m_fm_detect = 0x01;
- state->m_mapper_ram = (UINT8*)space->get_write_ptr(0xdffc);
+ m_mapper_ram = (UINT8*)space->get_write_ptr(0xdffc);
- state->m_bios_port = 0;
+ m_bios_port = 0;
- if ( state->m_cartridge[state->m_current_cartridge].features & CF_CODEMASTERS_MAPPER )
+ if ( m_cartridge[m_current_cartridge].features & CF_CODEMASTERS_MAPPER )
{
/* Install special memory handlers */
- space->install_write_handler(0x0000, 0x0000, write8_delegate(FUNC(sms_state::sms_codemasters_page0_w),state));
- space->install_write_handler(0x4000, 0x4000, write8_delegate(FUNC(sms_state::sms_codemasters_page1_w),state));
+ space->install_write_handler(0x0000, 0x0000, write8_delegate(FUNC(sms_state::sms_codemasters_page0_w),this));
+ space->install_write_handler(0x4000, 0x4000, write8_delegate(FUNC(sms_state::sms_codemasters_page1_w),this));
}
- if ( state->m_cartridge[state->m_current_cartridge].features & CF_KOREAN_ZEMINA_MAPPER )
+ if ( m_cartridge[m_current_cartridge].features & CF_KOREAN_ZEMINA_MAPPER )
{
- space->install_write_handler(0x0000, 0x0003, write8_delegate(FUNC(sms_state::sms_korean_zemina_banksw_w),state));
+ space->install_write_handler(0x0000, 0x0003, write8_delegate(FUNC(sms_state::sms_korean_zemina_banksw_w),this));
}
- if ( state->m_cartridge[state->m_current_cartridge].features & CF_JANGGUN_MAPPER )
+ if ( m_cartridge[m_current_cartridge].features & CF_JANGGUN_MAPPER )
{
- space->install_write_handler(0x4000, 0x4000, write8_delegate(FUNC(sms_state::sms_janggun_bank0_w),state));
- space->install_write_handler(0x6000, 0x6000, write8_delegate(FUNC(sms_state::sms_janggun_bank1_w),state));
- space->install_write_handler(0x8000, 0x8000, write8_delegate(FUNC(sms_state::sms_janggun_bank2_w),state));
- space->install_write_handler(0xA000, 0xA000,write8_delegate(FUNC(sms_state::sms_janggun_bank3_w),state));
+ space->install_write_handler(0x4000, 0x4000, write8_delegate(FUNC(sms_state::sms_janggun_bank0_w),this));
+ space->install_write_handler(0x6000, 0x6000, write8_delegate(FUNC(sms_state::sms_janggun_bank1_w),this));
+ space->install_write_handler(0x8000, 0x8000, write8_delegate(FUNC(sms_state::sms_janggun_bank2_w),this));
+ space->install_write_handler(0xA000, 0xA000,write8_delegate(FUNC(sms_state::sms_janggun_bank3_w),this));
}
- if ( state->m_cartridge[state->m_current_cartridge].features & CF_4PAK_MAPPER )
+ if ( m_cartridge[m_current_cartridge].features & CF_4PAK_MAPPER )
{
- space->install_write_handler(0x3ffe, 0x3ffe, write8_delegate(FUNC(sms_state::sms_4pak_page0_w),state));
- space->install_write_handler(0x7fff, 0x7fff, write8_delegate(FUNC(sms_state::sms_4pak_page1_w),state));
- space->install_write_handler(0xbfff, 0xbfff, write8_delegate(FUNC(sms_state::sms_4pak_page2_w),state));
+ space->install_write_handler(0x3ffe, 0x3ffe, write8_delegate(FUNC(sms_state::sms_4pak_page0_w),this));
+ space->install_write_handler(0x7fff, 0x7fff, write8_delegate(FUNC(sms_state::sms_4pak_page1_w),this));
+ space->install_write_handler(0xbfff, 0xbfff, write8_delegate(FUNC(sms_state::sms_4pak_page2_w),this));
}
- if ( state->m_cartridge[state->m_current_cartridge].features & CF_TVDRAW )
+ if ( m_cartridge[m_current_cartridge].features & CF_TVDRAW )
{
- space->install_write_handler(0x6000, 0x6000, write8_delegate(FUNC(sms_state::sms_tvdraw_axis_w),state));
- space->install_read_handler(0x8000, 0x8000, read8_delegate(FUNC(sms_state::sms_tvdraw_status_r),state));
- space->install_read_handler(0xa000, 0xa000, read8_delegate(FUNC(sms_state::sms_tvdraw_data_r),state));
+ space->install_write_handler(0x6000, 0x6000, write8_delegate(FUNC(sms_state::sms_tvdraw_axis_w),this));
+ space->install_read_handler(0x8000, 0x8000, read8_delegate(FUNC(sms_state::sms_tvdraw_status_r),this));
+ space->install_read_handler(0xa000, 0xa000, read8_delegate(FUNC(sms_state::sms_tvdraw_data_r),this));
space->nop_write(0xa000, 0xa000);
- state->m_cartridge[state->m_current_cartridge].m_tvdraw_data = 0;
+ m_cartridge[m_current_cartridge].m_tvdraw_data = 0;
}
- if ( state->m_cartridge[state->m_current_cartridge].features & CF_93C46_EEPROM )
+ if ( m_cartridge[m_current_cartridge].features & CF_93C46_EEPROM )
{
- space->install_write_handler(0x8000,0x8000, write8_delegate(FUNC(sms_state::sms_93c46_w),state));
- space->install_read_handler(0x8000,0x8000, read8_delegate(FUNC(sms_state::sms_93c46_r),state));
+ space->install_write_handler(0x8000,0x8000, write8_delegate(FUNC(sms_state::sms_93c46_w),this));
+ space->install_read_handler(0x8000,0x8000, read8_delegate(FUNC(sms_state::sms_93c46_r),this));
}
- if (state->m_cartridge[state->m_current_cartridge].features & CF_GG_SMS_MODE)
+ if (m_cartridge[m_current_cartridge].features & CF_GG_SMS_MODE)
{
- state->m_vdp->set_sega315_5124_compatibility_mode(true);
+ m_vdp->set_sega315_5124_compatibility_mode(true);
}
/* Initialize SIO stuff for GG */
- state->m_gg_sio[0] = 0x7f;
- state->m_gg_sio[1] = 0xff;
- state->m_gg_sio[2] = 0x00;
- state->m_gg_sio[3] = 0xff;
- state->m_gg_sio[4] = 0x00;
+ m_gg_sio[0] = 0x7f;
+ m_gg_sio[1] = 0xff;
+ m_gg_sio[2] = 0x00;
+ m_gg_sio[3] = 0xff;
+ m_gg_sio[4] = 0x00;
- state->m_store_control = 0;
+ m_store_control = 0;
- setup_banks(machine);
+ setup_banks(machine());
setup_rom(space);
- state->m_rapid_fire_state_1 = 0;
- state->m_rapid_fire_state_2 = 0;
+ m_rapid_fire_state_1 = 0;
+ m_rapid_fire_state_2 = 0;
- state->m_last_paddle_read_time = 0;
- state->m_paddle_read_state = 0;
+ m_last_paddle_read_time = 0;
+ m_paddle_read_state = 0;
- state->m_last_sports_pad_time_1 = 0;
- state->m_last_sports_pad_time_2 = 0;
- state->m_sports_pad_state_1 = 0;
- state->m_sports_pad_state_2 = 0;
- state->m_sports_pad_last_data_1 = 0;
- state->m_sports_pad_last_data_2 = 0;
- state->m_sports_pad_1_x = 0;
- state->m_sports_pad_1_y = 0;
- state->m_sports_pad_2_x = 0;
- state->m_sports_pad_2_y = 0;
+ m_last_sports_pad_time_1 = 0;
+ m_last_sports_pad_time_2 = 0;
+ m_sports_pad_state_1 = 0;
+ m_sports_pad_state_2 = 0;
+ m_sports_pad_last_data_1 = 0;
+ m_sports_pad_last_data_2 = 0;
+ m_sports_pad_1_x = 0;
+ m_sports_pad_1_y = 0;
+ m_sports_pad_2_x = 0;
+ m_sports_pad_2_y = 0;
- state->m_lphaser_1_latch = 0;
- state->m_lphaser_2_latch = 0;
+ m_lphaser_1_latch = 0;
+ m_lphaser_2_latch = 0;
- state->m_sscope_state = 0;
+ m_sscope_state = 0;
}
READ8_MEMBER(sms_state::sms_store_cart_select_r)
@@ -2176,15 +2174,14 @@ DRIVER_INIT_MEMBER(sms_state,gamegeaj)
}
-VIDEO_START( sms1 )
+VIDEO_START_MEMBER(sms_state,sms1)
{
- sms_state *state = machine.driver_data<sms_state>();
- screen_device *screen = machine.first_screen();
+ screen_device *screen = machine().first_screen();
- screen->register_screen_bitmap(state->m_prevleft_bitmap);
- screen->register_screen_bitmap(state->m_prevright_bitmap);
- state->save_item(NAME(state->m_prevleft_bitmap));
- state->save_item(NAME(state->m_prevright_bitmap));
+ screen->register_screen_bitmap(m_prevleft_bitmap);
+ screen->register_screen_bitmap(m_prevright_bitmap);
+ save_item(NAME(m_prevleft_bitmap));
+ save_item(NAME(m_prevright_bitmap));
}
SCREEN_UPDATE_RGB32( sms1 )
@@ -2275,13 +2272,12 @@ SCREEN_UPDATE_RGB32( sms )
return 0;
}
-VIDEO_START( gamegear )
+VIDEO_START_MEMBER(sms_state,gamegear)
{
- sms_state *state = machine.driver_data<sms_state>();
- screen_device *screen = machine.first_screen();
+ screen_device *screen = machine().first_screen();
- screen->register_screen_bitmap(state->m_prev_bitmap);
- state->save_item(NAME(state->m_prev_bitmap));
+ screen->register_screen_bitmap(m_prev_bitmap);
+ save_item(NAME(m_prev_bitmap));
}
SCREEN_UPDATE_RGB32( gamegear )
diff --git a/src/mess/machine/sorcerer.c b/src/mess/machine/sorcerer.c
index be679d5192f..bef57d35603 100644
--- a/src/mess/machine/sorcerer.c
+++ b/src/mess/machine/sorcerer.c
@@ -351,19 +351,18 @@ SNAPSHOT_LOAD(sorcerer)
return IMAGE_INIT_PASS;
}
-MACHINE_START( sorcerer )
+void sorcerer_state::machine_start()
{
- sorcerer_state *state = machine.driver_data<sorcerer_state>();
- state->m_cassette_timer = machine.scheduler().timer_alloc(FUNC(sorcerer_cassette_tc));
+ m_cassette_timer = machine().scheduler().timer_alloc(FUNC(sorcerer_cassette_tc));
#if SORCERER_USING_RS232
- state->m_serial_timer = machine.scheduler().timer_alloc(FUNC(sorcerer_serial_tc));
+ m_serial_timer = machine().scheduler().timer_alloc(FUNC(sorcerer_serial_tc));
#endif
UINT16 endmem = 0xbfff;
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
+ address_space *space = m_maincpu->space(AS_PROGRAM);
/* configure RAM */
- switch (state->m_ram->size())
+ switch (m_ram->size())
{
case 8*1024:
space->unmap_readwrite(0x2000, endmem);
@@ -379,19 +378,18 @@ MACHINE_START( sorcerer )
}
}
-MACHINE_START( sorcererd )
+MACHINE_START_MEMBER(sorcerer_state,sorcererd)
{
- sorcerer_state *state = machine.driver_data<sorcerer_state>();
- state->m_cassette_timer = machine.scheduler().timer_alloc(FUNC(sorcerer_cassette_tc));
+ m_cassette_timer = machine().scheduler().timer_alloc(FUNC(sorcerer_cassette_tc));
#if SORCERER_USING_RS232
- state->m_serial_timer = machine.scheduler().timer_alloc(FUNC(sorcerer_serial_tc));
+ m_serial_timer = machine().scheduler().timer_alloc(FUNC(sorcerer_serial_tc));
#endif
UINT16 endmem = 0xbbff;
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
+ address_space *space = m_maincpu->space(AS_PROGRAM);
/* configure RAM */
- switch (state->m_ram->size())
+ switch (m_ram->size())
{
case 8*1024:
space->unmap_readwrite(0x2000, endmem);
@@ -407,20 +405,19 @@ MACHINE_START( sorcererd )
}
}
-MACHINE_RESET( sorcerer )
+void sorcerer_state::machine_reset()
{
- sorcerer_state *state = machine.driver_data<sorcerer_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
/* Initialize cassette interface */
- state->m_cass_data.output.length = 0;
- state->m_cass_data.output.level = 1;
- state->m_cass_data.input.length = 0;
- state->m_cass_data.input.bit = 1;
+ m_cass_data.output.length = 0;
+ m_cass_data.output.level = 1;
+ m_cass_data.input.length = 0;
+ m_cass_data.input.bit = 1;
- state->m_fe = 0xff;
- state->sorcerer_fe_w(*space, 0, 0, 0xff);
+ m_fe = 0xff;
+ sorcerer_fe_w(*space, 0, 0, 0xff);
- state->membank("boot")->set_entry(1);
- machine.scheduler().timer_set(attotime::from_usec(10), FUNC(sorcerer_reset));
+ membank("boot")->set_entry(1);
+ machine().scheduler().timer_set(attotime::from_usec(10), FUNC(sorcerer_reset));
}
diff --git a/src/mess/machine/special.c b/src/mess/machine/special.c
index f76236d856e..ae102dcfe06 100644
--- a/src/mess/machine/special.c
+++ b/src/mess/machine/special.c
@@ -108,11 +108,10 @@ static TIMER_CALLBACK( special_reset )
}
-MACHINE_RESET( special )
+MACHINE_RESET_MEMBER(special_state,special)
{
- special_state *state = machine.driver_data<special_state>();
- machine.scheduler().timer_set(attotime::from_usec(10), FUNC(special_reset));
- state->membank("bank1")->set_entry(1);
+ machine().scheduler().timer_set(attotime::from_usec(10), FUNC(special_reset));
+ membank("bank1")->set_entry(1);
}
@@ -220,10 +219,9 @@ const struct pit8253_config specimx_pit8253_intf =
}
};
-MACHINE_START( specimx )
+MACHINE_START_MEMBER(special_state,specimx)
{
- special_state *state = machine.driver_data<special_state>();
- state->m_specimx_audio = machine.device("custom");
+ m_specimx_audio = machine().device("custom");
}
static TIMER_CALLBACK( setup_pit8253_gates )
@@ -235,13 +233,12 @@ static TIMER_CALLBACK( setup_pit8253_gates )
pit8253_gate2_w(pit8253, 0);
}
-MACHINE_RESET( specimx )
+MACHINE_RESET_MEMBER(special_state,specimx)
{
- special_state *state = machine.driver_data<special_state>();
- state->specimx_set_bank(2, 0); // Initiali load ROM disk
- state->m_specimx_color = 0x70;
- machine.scheduler().timer_set(attotime::zero, FUNC(setup_pit8253_gates));
- device_t *fdc = machine.device("wd1793");
+ specimx_set_bank(2, 0); // Initiali load ROM disk
+ m_specimx_color = 0x70;
+ machine().scheduler().timer_set(attotime::zero, FUNC(setup_pit8253_gates));
+ device_t *fdc = machine().device("wd1793");
wd17xx_set_pause_time(fdc,12);
wd17xx_dden_w(fdc, 0);
}
@@ -347,12 +344,11 @@ DRIVER_INIT_MEMBER(special_state,erik)
m_erik_background = 0;
}
-MACHINE_RESET( erik )
+MACHINE_RESET_MEMBER(special_state,erik)
{
- special_state *state = machine.driver_data<special_state>();
- state->m_RR_register = 0x00;
- state->m_RC_register = 0x00;
- state->erik_set_bank();
+ m_RR_register = 0x00;
+ m_RC_register = 0x00;
+ erik_set_bank();
}
READ8_MEMBER( special_state::erik_rr_reg_r )
diff --git a/src/mess/machine/svi318.c b/src/mess/machine/svi318.c
index 6fc8f16aa4b..a31f6a8a7b7 100644
--- a/src/mess/machine/svi318.c
+++ b/src/mess/machine/svi318.c
@@ -386,22 +386,21 @@ WRITE8_MEMBER(svi318_state::svi806_ram_enable_w)
svi318_set_banks(machine());
}
-VIDEO_START( svi328_806 )
+VIDEO_START_MEMBER(svi318_state,svi328_806)
{
}
-MACHINE_RESET( svi328_806 )
+MACHINE_RESET_MEMBER(svi318_state,svi328_806)
{
- svi318_state *state = machine.driver_data<svi318_state>();
- MACHINE_RESET_CALL(svi318);
+ MACHINE_RESET_CALL_MEMBER(svi318);
- svi318_80col_init(machine);
- state->m_svi.svi806_present = 1;
- svi318_set_banks(machine);
+ svi318_80col_init(machine());
+ m_svi.svi806_present = 1;
+ svi318_set_banks(machine());
/* Set SVI-806 80 column card palette */
- palette_set_color_rgb( machine, TMS9928A_PALETTE_SIZE, 0, 0, 0 ); /* Monochrome black */
- palette_set_color_rgb( machine, TMS9928A_PALETTE_SIZE+1, 0, 224, 0 ); /* Monochrome green */
+ palette_set_color_rgb( machine(), TMS9928A_PALETTE_SIZE, 0, 0, 0 ); /* Monochrome black */
+ palette_set_color_rgb( machine(), TMS9928A_PALETTE_SIZE+1, 0, 224, 0 ); /* Monochrome green */
}
/* Init functions */
@@ -547,11 +546,11 @@ DRIVER_INIT_MEMBER(svi318_state,svi318)
memset (m_svi.empty_bank, 0xff, 0x8000);
}
-MACHINE_START( svi318_ntsc )
+MACHINE_START_MEMBER(svi318_state,svi318_ntsc)
{
}
-MACHINE_START( svi318_pal )
+MACHINE_START_MEMBER(svi318_state,svi318_pal)
{
}
@@ -576,17 +575,16 @@ static void svi318_load_proc(device_image_interface &image)
}
}
-MACHINE_RESET( svi318 )
+MACHINE_RESET_MEMBER(svi318_state,svi318)
{
- svi318_state *state = machine.driver_data<svi318_state>();
int drive;
- state->m_svi.bank_switch = 0xff;
- svi318_set_banks(machine);
+ m_svi.bank_switch = 0xff;
+ svi318_set_banks(machine());
for(drive=0;drive<2;drive++)
{
- floppy_install_load_proc(floppy_get_device(machine, drive), svi318_load_proc);
+ floppy_install_load_proc(floppy_get_device(machine(), drive), svi318_load_proc);
}
}
diff --git a/src/mess/machine/sym1.c b/src/mess/machine/sym1.c
index 35bf224a2ac..9da03cddfba 100644
--- a/src/mess/machine/sym1.c
+++ b/src/mess/machine/sym1.c
@@ -298,13 +298,12 @@ DRIVER_INIT_MEMBER(sym1_state,sym1)
}
-MACHINE_RESET( sym1 )
+void sym1_state::machine_reset()
{
- sym1_state *state = machine.driver_data<sym1_state>();
/* make 0xf800 to 0xffff point to the last half of the monitor ROM
so that the CPU can find its reset vectors */
- machine.device( "maincpu")->memory().space( AS_PROGRAM )->install_read_bank(0xf800, 0xffff, "bank1");
- machine.device( "maincpu")->memory().space( AS_PROGRAM )->nop_write(0xf800, 0xffff);
- state->membank("bank1")->set_base(state->m_monitor + 0x800);
- machine.device("maincpu")->reset();
+ machine().device( "maincpu")->memory().space( AS_PROGRAM )->install_read_bank(0xf800, 0xffff, "bank1");
+ machine().device( "maincpu")->memory().space( AS_PROGRAM )->nop_write(0xf800, 0xffff);
+ membank("bank1")->set_base(m_monitor + 0x800);
+ machine().device("maincpu")->reset();
}
diff --git a/src/mess/machine/tandy1t.c b/src/mess/machine/tandy1t.c
index 2bdd0fa2f1c..526915f6eae 100644
--- a/src/mess/machine/tandy1t.c
+++ b/src/mess/machine/tandy1t.c
@@ -249,11 +249,11 @@ static void tandy1000_set_bios_bank( running_machine &machine )
}
-MACHINE_RESET( tandy1000rl )
+MACHINE_RESET_MEMBER(pc_state,tandy1000rl)
{
- MACHINE_RESET_CALL( pc );
+ MACHINE_RESET_CALL_MEMBER( pc );
tandy.bios_bank = 6;
- tandy1000_set_bios_bank( machine );
+ tandy1000_set_bios_bank( machine() );
}
diff --git a/src/mess/machine/ti85.c b/src/mess/machine/ti85.c
index 2c3200c43ca..7147beff7aa 100644
--- a/src/mess/machine/ti85.c
+++ b/src/mess/machine/ti85.c
@@ -110,117 +110,113 @@ static void update_ti86_memory (running_machine &machine)
Machine Initialization
***************************************************************************/
-MACHINE_START( ti81 )
+void ti85_state::machine_start()
{
- ti85_state *state = machine.driver_data<ti85_state>();
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
- state->m_bios = state->memregion("bios")->base();
+ address_space *space = m_maincpu->space(AS_PROGRAM);
+ m_bios = memregion("bios")->base();
- state->m_timer_interrupt_mask = 0;
- state->m_timer_interrupt_status = 0;
- state->m_ON_interrupt_mask = 0;
- state->m_ON_interrupt_status = 0;
- state->m_ON_pressed = 0;
- state->m_power_mode = 0;
- state->m_keypad_mask = 0;
- state->m_ti8x_memory_page_1 = 0;
- state->m_LCD_memory_base = 0;
- state->m_LCD_status = 0;
- state->m_LCD_mask = 0;
- state->m_video_buffer_width = 0;
- state->m_interrupt_speed = 0;
- state->m_port4_bit0 = 0;
- state->m_ti81_port_7_data = 0;
-
- machine.scheduler().timer_pulse(attotime::from_hz(200), FUNC(ti85_timer_callback));
+ m_timer_interrupt_mask = 0;
+ m_timer_interrupt_status = 0;
+ m_ON_interrupt_mask = 0;
+ m_ON_interrupt_status = 0;
+ m_ON_pressed = 0;
+ m_power_mode = 0;
+ m_keypad_mask = 0;
+ m_ti8x_memory_page_1 = 0;
+ m_LCD_memory_base = 0;
+ m_LCD_status = 0;
+ m_LCD_mask = 0;
+ m_video_buffer_width = 0;
+ m_interrupt_speed = 0;
+ m_port4_bit0 = 0;
+ m_ti81_port_7_data = 0;
+
+ machine().scheduler().timer_pulse(attotime::from_hz(200), FUNC(ti85_timer_callback));
space->unmap_write(0x0000, 0x3fff);
space->unmap_write(0x4000, 0x7fff);
- state->membank("bank1")->set_base(state->m_bios);
- state->membank("bank2")->set_base(state->m_bios + 0x04000);
+ membank("bank1")->set_base(m_bios);
+ membank("bank2")->set_base(m_bios + 0x04000);
}
-MACHINE_RESET( ti85 )
+MACHINE_RESET_MEMBER(ti85_state,ti85)
{
- ti85_state *state = machine.driver_data<ti85_state>();
- state->m_red_out = 0x00;
- state->m_white_out = 0x00;
- state->m_PCR = 0xc0;
+ m_red_out = 0x00;
+ m_white_out = 0x00;
+ m_PCR = 0xc0;
}
-MACHINE_START( ti83p )
+MACHINE_START_MEMBER(ti85_state,ti83p)
{
- ti85_state *state = machine.driver_data<ti85_state>();
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
- state->m_bios = state->memregion("bios")->base();
+ address_space *space = m_maincpu->space(AS_PROGRAM);
+ m_bios = memregion("bios")->base();
- state->m_timer_interrupt_mask = 0;
- state->m_timer_interrupt_status = 0;
- state->m_ON_interrupt_mask = 0;
- state->m_ON_interrupt_status = 0;
- state->m_ON_pressed = 0;
- state->m_ti8x_memory_page_1 = 0;
- state->m_ti8x_memory_page_2 = 0;
- state->m_LCD_memory_base = 0;
- state->m_LCD_status = 0;
- state->m_LCD_mask = 0;
- state->m_power_mode = 0;
- state->m_keypad_mask = 0;
- state->m_video_buffer_width = 0;
- state->m_interrupt_speed = 0;
- state->m_port4_bit0 = 0;
-
- state->m_ti8x_ram = auto_alloc_array(machine, UINT8, 32*1024);
- memset(state->m_ti8x_ram, 0, sizeof(UINT8)*32*1024);
+ m_timer_interrupt_mask = 0;
+ m_timer_interrupt_status = 0;
+ m_ON_interrupt_mask = 0;
+ m_ON_interrupt_status = 0;
+ m_ON_pressed = 0;
+ m_ti8x_memory_page_1 = 0;
+ m_ti8x_memory_page_2 = 0;
+ m_LCD_memory_base = 0;
+ m_LCD_status = 0;
+ m_LCD_mask = 0;
+ m_power_mode = 0;
+ m_keypad_mask = 0;
+ m_video_buffer_width = 0;
+ m_interrupt_speed = 0;
+ m_port4_bit0 = 0;
+
+ m_ti8x_ram = auto_alloc_array(machine(), UINT8, 32*1024);
+ memset(m_ti8x_ram, 0, sizeof(UINT8)*32*1024);
space->unmap_write(0x0000, 0x3fff);
space->unmap_write(0x4000, 0x7fff);
space->unmap_write(0x8000, 0xbfff);
- state->membank("bank1")->set_base(state->m_bios);
- state->membank("bank2")->set_base(state->m_bios);
- state->membank("bank3")->set_base(state->m_bios);
- state->membank("bank4")->set_base(state->m_ti8x_ram);
+ membank("bank1")->set_base(m_bios);
+ membank("bank2")->set_base(m_bios);
+ membank("bank3")->set_base(m_bios);
+ membank("bank4")->set_base(m_ti8x_ram);
- machine.scheduler().timer_pulse(attotime::from_hz(200), FUNC(ti85_timer_callback));
+ machine().scheduler().timer_pulse(attotime::from_hz(200), FUNC(ti85_timer_callback));
}
-MACHINE_START( ti86 )
+MACHINE_START_MEMBER(ti85_state,ti86)
{
- ti85_state *state = machine.driver_data<ti85_state>();
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
- state->m_bios = state->memregion("bios")->base();
+ address_space *space = m_maincpu->space(AS_PROGRAM);
+ m_bios = memregion("bios")->base();
- state->m_timer_interrupt_mask = 0;
- state->m_timer_interrupt_status = 0;
- state->m_ON_interrupt_mask = 0;
- state->m_ON_interrupt_status = 0;
- state->m_ON_pressed = 0;
- state->m_ti8x_memory_page_1 = 0;
- state->m_ti8x_memory_page_2 = 0;
- state->m_LCD_memory_base = 0;
- state->m_LCD_status = 0;
- state->m_LCD_mask = 0;
- state->m_power_mode = 0;
- state->m_keypad_mask = 0;
- state->m_video_buffer_width = 0;
- state->m_interrupt_speed = 0;
- state->m_port4_bit0 = 0;
-
- state->m_ti8x_ram = auto_alloc_array(machine, UINT8, 128*1024);
- memset(state->m_ti8x_ram, 0, sizeof(UINT8)*128*1024);
+ m_timer_interrupt_mask = 0;
+ m_timer_interrupt_status = 0;
+ m_ON_interrupt_mask = 0;
+ m_ON_interrupt_status = 0;
+ m_ON_pressed = 0;
+ m_ti8x_memory_page_1 = 0;
+ m_ti8x_memory_page_2 = 0;
+ m_LCD_memory_base = 0;
+ m_LCD_status = 0;
+ m_LCD_mask = 0;
+ m_power_mode = 0;
+ m_keypad_mask = 0;
+ m_video_buffer_width = 0;
+ m_interrupt_speed = 0;
+ m_port4_bit0 = 0;
+
+ m_ti8x_ram = auto_alloc_array(machine(), UINT8, 128*1024);
+ memset(m_ti8x_ram, 0, sizeof(UINT8)*128*1024);
space->unmap_write(0x0000, 0x3fff);
- state->membank("bank1")->set_base(state->m_bios);
- state->membank("bank2")->set_base(state->m_bios + 0x04000);
+ membank("bank1")->set_base(m_bios);
+ membank("bank2")->set_base(m_bios + 0x04000);
- state->membank("bank4")->set_base(state->m_ti8x_ram);
+ membank("bank4")->set_base(m_ti8x_ram);
- machine.scheduler().timer_pulse(attotime::from_hz(200), FUNC(ti85_timer_callback));
+ machine().scheduler().timer_pulse(attotime::from_hz(200), FUNC(ti85_timer_callback));
}
diff --git a/src/mess/machine/trs80.c b/src/mess/machine/trs80.c
index ce1fb505a2f..2e7db2d16a4 100644
--- a/src/mess/machine/trs80.c
+++ b/src/mess/machine/trs80.c
@@ -847,28 +847,25 @@ READ8_MEMBER( trs80_state::trs80_keyboard_r )
* Machine *
*************************************/
-MACHINE_START( trs80 )
+void trs80_state::machine_start()
{
- trs80_state *state = machine.driver_data<trs80_state>();
- state->m_tape_unit=1;
- state->m_reg_load=1;
- state->m_nmi_data=0xff;
+ m_tape_unit=1;
+ m_reg_load=1;
+ m_nmi_data=0xff;
- state->m_cassette_data_timer = machine.scheduler().timer_alloc(FUNC(cassette_data_callback));
- state->m_cassette_data_timer->adjust( attotime::zero, 0, attotime::from_hz(11025) );
+ m_cassette_data_timer = machine().scheduler().timer_alloc(FUNC(cassette_data_callback));
+ m_cassette_data_timer->adjust( attotime::zero, 0, attotime::from_hz(11025) );
}
-MACHINE_RESET( trs80 )
+void trs80_state::machine_reset()
{
- trs80_state *state = machine.driver_data<trs80_state>();
- state->m_cassette_data = 0;
+ m_cassette_data = 0;
}
-MACHINE_RESET( trs80m4 )
+MACHINE_RESET_MEMBER(trs80_state,trs80m4)
{
- trs80_state *state = machine.driver_data<trs80_state>();
- address_space *mem = state->m_maincpu->space(AS_PROGRAM);
- state->m_cassette_data = 0;
+ address_space *mem = m_maincpu->space(AS_PROGRAM);
+ m_cassette_data = 0;
mem->install_read_bank (0x0000, 0x0fff, "bank1");
mem->install_read_bank (0x1000, 0x37e7, "bank2");
@@ -889,16 +886,15 @@ MACHINE_RESET( trs80m4 )
mem->install_write_bank (0x4000, 0xf3ff, "bank17");
mem->install_write_bank (0xf400, 0xf7ff, "bank18");
mem->install_write_bank (0xf800, 0xffff, "bank19");
- state->trs80m4p_9c_w(*mem, 0, 1); /* Enable the ROM */
- state->trs80m4_84_w(*mem, 0, 0); /* switch in devices at power-on */
+ trs80m4p_9c_w(*mem, 0, 1); /* Enable the ROM */
+ trs80m4_84_w(*mem, 0, 0); /* switch in devices at power-on */
}
-MACHINE_RESET( lnw80 )
+MACHINE_RESET_MEMBER(trs80_state,lnw80)
{
- trs80_state *state = machine.driver_data<trs80_state>();
- address_space *space = state->m_maincpu->space(AS_PROGRAM);
- state->m_cassette_data = 0;
- state->m_reg_load = 1;
- state->lnw80_fe_w(*space, 0, 0);
+ address_space *space = m_maincpu->space(AS_PROGRAM);
+ m_cassette_data = 0;
+ m_reg_load = 1;
+ lnw80_fe_w(*space, 0, 0);
}
diff --git a/src/mess/machine/ut88.c b/src/mess/machine/ut88.c
index 3f0bf7c6764..0e258b9b326 100644
--- a/src/mess/machine/ut88.c
+++ b/src/mess/machine/ut88.c
@@ -66,12 +66,11 @@ static TIMER_CALLBACK( ut88_reset )
state->membank("bank1")->set_entry(0);
}
-MACHINE_RESET( ut88 )
+MACHINE_RESET_MEMBER(ut88_state,ut88)
{
- ut88_state *state = machine.driver_data<ut88_state>();
- machine.scheduler().timer_set(attotime::from_usec(10), FUNC(ut88_reset));
- state->membank("bank1")->set_entry(1);
- state->m_keyboard_mask = 0;
+ machine().scheduler().timer_set(attotime::from_usec(10), FUNC(ut88_reset));
+ membank("bank1")->set_entry(1);
+ m_keyboard_mask = 0;
}
@@ -162,15 +161,14 @@ DRIVER_INIT_MEMBER(ut88_state,ut88mini)
{
}
-MACHINE_START( ut88mini )
+MACHINE_START_MEMBER(ut88_state,ut88mini)
{
- machine.scheduler().timer_pulse(attotime::from_hz(60), FUNC(update_display));
+ machine().scheduler().timer_pulse(attotime::from_hz(60), FUNC(update_display));
}
-MACHINE_RESET( ut88mini )
+MACHINE_RESET_MEMBER(ut88_state,ut88mini)
{
- ut88_state *state = machine.driver_data<ut88_state>();
- state->m_lcd_digit[0] = state->m_lcd_digit[1] = state->m_lcd_digit[2] = 0;
- state->m_lcd_digit[3] = state->m_lcd_digit[4] = state->m_lcd_digit[5] = 0;
+ m_lcd_digit[0] = m_lcd_digit[1] = m_lcd_digit[2] = 0;
+ m_lcd_digit[3] = m_lcd_digit[4] = m_lcd_digit[5] = 0;
}
diff --git a/src/mess/machine/vector06.c b/src/mess/machine/vector06.c
index 3c2a4251ba8..b313119afb0 100644
--- a/src/mess/machine/vector06.c
+++ b/src/mess/machine/vector06.c
@@ -163,28 +163,27 @@ WRITE8_MEMBER( vector06_state::vector06_disc_w )
wd17xx_set_drive(m_fdc,BIT(data, 0));
}
-MACHINE_START( vector06 )
+void vector06_state::machine_start()
{
- machine.scheduler().timer_pulse(attotime::from_hz(50), FUNC(reset_check_callback));
+ machine().scheduler().timer_pulse(attotime::from_hz(50), FUNC(reset_check_callback));
}
-MACHINE_RESET( vector06 )
+void vector06_state::machine_reset()
{
- vector06_state *state = machine.driver_data<vector06_state>();
- address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
- machine.device("maincpu")->execute().set_irq_acknowledge_callback(vector06_irq_callback);
+ machine().device("maincpu")->execute().set_irq_acknowledge_callback(vector06_irq_callback);
space->install_read_bank (0x0000, 0x7fff, "bank1");
space->install_write_bank(0x0000, 0x7fff, "bank2");
space->install_read_bank (0x8000, 0xffff, "bank3");
space->install_write_bank(0x8000, 0xffff, "bank4");
- state->membank("bank1")->set_base(state->memregion("maincpu")->base() + 0x10000);
- state->membank("bank2")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0x0000);
- state->membank("bank3")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0x8000);
- state->membank("bank4")->set_base(machine.device<ram_device>(RAM_TAG)->pointer() + 0x8000);
+ membank("bank1")->set_base(memregion("maincpu")->base() + 0x10000);
+ membank("bank2")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0x0000);
+ membank("bank3")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0x8000);
+ membank("bank4")->set_base(machine().device<ram_device>(RAM_TAG)->pointer() + 0x8000);
- state->m_keyboard_mask = 0;
- state->m_color_index = 0;
- state->m_video_mode = 0;
+ m_keyboard_mask = 0;
+ m_color_index = 0;
+ m_video_mode = 0;
}
diff --git a/src/mess/machine/vtech2.c b/src/mess/machine/vtech2.c
index aa24352c96d..d0758f8c67c 100644
--- a/src/mess/machine/vtech2.c
+++ b/src/mess/machine/vtech2.c
@@ -116,22 +116,22 @@ static void laser_machine_init(running_machine &machine, int bank_mask, int vide
state->laser_bank_select_w(*machine.device("maincpu")->memory().space(AS_PROGRAM), i, 0);
}
-MACHINE_RESET( laser350 )
+void vtech2_state::machine_reset()
{
/* banks 0 to 3 only, optional ROM extension */
- laser_machine_init(machine, 0xf00f, 3);
+ laser_machine_init(machine(), 0xf00f, 3);
}
-MACHINE_RESET( laser500 )
+MACHINE_RESET_MEMBER(vtech2_state,laser500)
{
/* banks 0 to 2, and 4-7 only , optional ROM extension */
- laser_machine_init(machine, 0xf0f7, 7);
+ laser_machine_init(machine(), 0xf0f7, 7);
}
-MACHINE_RESET( laser700 )
+MACHINE_RESET_MEMBER(vtech2_state,laser700)
{
/* all banks except #3 */
- laser_machine_init(machine, 0xfff7, 7);
+ laser_machine_init(machine(), 0xfff7, 7);
}
diff --git a/src/mess/machine/wswan.c b/src/mess/machine/wswan.c
index 83015dd540c..ee96082acb5 100644
--- a/src/mess/machine/wswan.c
+++ b/src/mess/machine/wswan.c
@@ -187,83 +187,80 @@ static void wswan_setup_bios( running_machine &machine )
}
}
-MACHINE_START( wswan )
+void wswan_state::machine_start()
{
- wswan_state *state = machine.driver_data<wswan_state>();
- state->m_ws_bios_bank = NULL;
- state->m_system_type = TYPE_WSWAN;
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(wswan_machine_stop),&machine));
- state->m_vdp.timer = machine.scheduler().timer_alloc(FUNC(wswan_scanline_interrupt), &state->m_vdp );
- state->m_vdp.timer->adjust( attotime::from_ticks( 256, 3072000 ), 0, attotime::from_ticks( 256, 3072000 ) );
+ m_ws_bios_bank = NULL;
+ m_system_type = TYPE_WSWAN;
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(wswan_machine_stop),&machine()));
+ m_vdp.timer = machine().scheduler().timer_alloc(FUNC(wswan_scanline_interrupt), &m_vdp );
+ m_vdp.timer->adjust( attotime::from_ticks( 256, 3072000 ), 0, attotime::from_ticks( 256, 3072000 ) );
- wswan_setup_bios(machine);
+ wswan_setup_bios(machine());
/* Set up RTC timer */
- if ( state->m_rtc.present )
- machine.scheduler().timer_pulse(attotime::from_seconds(1), FUNC(wswan_rtc_callback));
+ if ( m_rtc.present )
+ machine().scheduler().timer_pulse(attotime::from_seconds(1), FUNC(wswan_rtc_callback));
- machine.device<nvram_device>("nvram")->set_base(state->m_internal_eeprom, INTERNAL_EEPROM_SIZE);
+ machine().device<nvram_device>("nvram")->set_base(m_internal_eeprom, INTERNAL_EEPROM_SIZE);
}
-MACHINE_START( wscolor )
+MACHINE_START_MEMBER(wswan_state,wscolor)
{
- wswan_state *state = machine.driver_data<wswan_state>();
- state->m_ws_bios_bank = NULL;
- state->m_system_type = TYPE_WSC;
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(wswan_machine_stop),&machine));
- state->m_vdp.timer = machine.scheduler().timer_alloc(FUNC(wswan_scanline_interrupt), &state->m_vdp );
- state->m_vdp.timer->adjust( attotime::from_ticks( 256, 3072000 ), 0, attotime::from_ticks( 256, 3072000 ) );
+ m_ws_bios_bank = NULL;
+ m_system_type = TYPE_WSC;
+ machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(wswan_machine_stop),&machine()));
+ m_vdp.timer = machine().scheduler().timer_alloc(FUNC(wswan_scanline_interrupt), &m_vdp );
+ m_vdp.timer->adjust( attotime::from_ticks( 256, 3072000 ), 0, attotime::from_ticks( 256, 3072000 ) );
- wswan_setup_bios(machine);
+ wswan_setup_bios(machine());
/* Set up RTC timer */
- if ( state->m_rtc.present )
- machine.scheduler().timer_pulse(attotime::from_seconds(1), FUNC(wswan_rtc_callback));
+ if ( m_rtc.present )
+ machine().scheduler().timer_pulse(attotime::from_seconds(1), FUNC(wswan_rtc_callback));
- machine.device<nvram_device>("nvram")->set_base(state->m_internal_eeprom, INTERNAL_EEPROM_SIZE);
+ machine().device<nvram_device>("nvram")->set_base(m_internal_eeprom, INTERNAL_EEPROM_SIZE);
}
-MACHINE_RESET( wswan )
+void wswan_state::machine_reset()
{
- wswan_state *state = machine.driver_data<wswan_state>();
- address_space *space = machine.device( "maincpu")->memory().space( AS_PROGRAM );
+ address_space *space = machine().device( "maincpu")->memory().space( AS_PROGRAM );
/* Intialize ports */
- memcpy( state->m_ws_portram, ws_portram_init, 256 );
+ memcpy( m_ws_portram, ws_portram_init, 256 );
/* Initialize VDP */
- memset( &state->m_vdp, 0, sizeof( state->m_vdp ) );
+ memset( &m_vdp, 0, sizeof( m_vdp ) );
- state->m_vdp.vram = (UINT8*)space->get_read_ptr(0);
- state->m_vdp.palette_vram = (UINT8*)space->get_read_ptr(( state->m_system_type == TYPE_WSC ) ? 0xFE00 : 0 );
- state->m_vdp.current_line = 145; /* Randomly chosen, beginning of VBlank period to give cart some time to boot up */
- state->m_vdp.color_mode = 0;
- state->m_vdp.colors_16 = 0;
- state->m_vdp.tile_packed = 0;
+ m_vdp.vram = (UINT8*)space->get_read_ptr(0);
+ m_vdp.palette_vram = (UINT8*)space->get_read_ptr(( m_system_type == TYPE_WSC ) ? 0xFE00 : 0 );
+ m_vdp.current_line = 145; /* Randomly chosen, beginning of VBlank period to give cart some time to boot up */
+ m_vdp.color_mode = 0;
+ m_vdp.colors_16 = 0;
+ m_vdp.tile_packed = 0;
- render_target *target = machine.render().first_target();
- target->set_view(state->m_rotate);
+ render_target *target = machine().render().first_target();
+ target->set_view(m_rotate);
/* Initialize sound DMA */
- memset( &state->m_sound_dma, 0, sizeof( state->m_sound_dma ) );
+ memset( &m_sound_dma, 0, sizeof( m_sound_dma ) );
/* Switch in the banks */
- state->membank( "bank2" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 1) & (state->m_ROMBanks - 1)] );
- state->membank( "bank3" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 1) & (state->m_ROMBanks - 1)] );
- state->membank( "bank4" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 12) & (state->m_ROMBanks - 1)] );
- state->membank( "bank5" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 11) & (state->m_ROMBanks - 1)] );
- state->membank( "bank6" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 10) & (state->m_ROMBanks - 1)] );
- state->membank( "bank7" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 9) & (state->m_ROMBanks - 1)] );
- state->membank( "bank8" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 8) & (state->m_ROMBanks - 1)] );
- state->membank( "bank9" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 7) & (state->m_ROMBanks - 1)] );
- state->membank( "bank10" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 6) & (state->m_ROMBanks - 1)] );
- state->membank( "bank11" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 5) & (state->m_ROMBanks - 1)] );
- state->membank( "bank12" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 4) & (state->m_ROMBanks - 1)] );
- state->membank( "bank13" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 3) & (state->m_ROMBanks - 1)] );
- state->membank( "bank14" )->set_base( state->m_ROMMap[(state->m_ROMBanks - 2) & (state->m_ROMBanks - 1)] );
- state->m_bios_disabled = 0;
- state->membank( "bank15" )->set_base( state->m_ws_bios_bank );
-// state->membank( 15 )->set_base( state->m_ROMMap[(state->m_ROMBanks - 1) & (state->m_ROMBanks - 1)] );
+ membank( "bank2" )->set_base( m_ROMMap[(m_ROMBanks - 1) & (m_ROMBanks - 1)] );
+ membank( "bank3" )->set_base( m_ROMMap[(m_ROMBanks - 1) & (m_ROMBanks - 1)] );
+ membank( "bank4" )->set_base( m_ROMMap[(m_ROMBanks - 12) & (m_ROMBanks - 1)] );
+ membank( "bank5" )->set_base( m_ROMMap[(m_ROMBanks - 11) & (m_ROMBanks - 1)] );
+ membank( "bank6" )->set_base( m_ROMMap[(m_ROMBanks - 10) & (m_ROMBanks - 1)] );
+ membank( "bank7" )->set_base( m_ROMMap[(m_ROMBanks - 9) & (m_ROMBanks - 1)] );
+ membank( "bank8" )->set_base( m_ROMMap[(m_ROMBanks - 8) & (m_ROMBanks - 1)] );
+ membank( "bank9" )->set_base( m_ROMMap[(m_ROMBanks - 7) & (m_ROMBanks - 1)] );
+ membank( "bank10" )->set_base( m_ROMMap[(m_ROMBanks - 6) & (m_ROMBanks - 1)] );
+ membank( "bank11" )->set_base( m_ROMMap[(m_ROMBanks - 5) & (m_ROMBanks - 1)] );
+ membank( "bank12" )->set_base( m_ROMMap[(m_ROMBanks - 4) & (m_ROMBanks - 1)] );
+ membank( "bank13" )->set_base( m_ROMMap[(m_ROMBanks - 3) & (m_ROMBanks - 1)] );
+ membank( "bank14" )->set_base( m_ROMMap[(m_ROMBanks - 2) & (m_ROMBanks - 1)] );
+ m_bios_disabled = 0;
+ membank( "bank15" )->set_base( m_ws_bios_bank );
+// membank( 15 )->set_base( m_ROMMap[(m_ROMBanks - 1) & (m_ROMBanks - 1)] );
}
READ8_MEMBER( wswan_state::wswan_sram_r )
diff --git a/src/mess/machine/z80ne.c b/src/mess/machine/z80ne.c
index a047ee0da35..27e8f106e04 100644
--- a/src/mess/machine/z80ne.c
+++ b/src/mess/machine/z80ne.c
@@ -285,89 +285,88 @@ static void reset_lx390_banking(running_machine &machine)
*/
}
-static MACHINE_RESET(z80ne_base)
+MACHINE_RESET_MEMBER(z80ne_state,z80ne_base)
{
- z80ne_state *state = machine.driver_data<z80ne_state>();
int i;
- address_space *space = machine.device("z80ne")->memory().space(AS_PROGRAM);
+ address_space *space = machine().device("z80ne")->memory().space(AS_PROGRAM);
LOG(("In MACHINE_RESET z80ne_base\n"));
for ( i=0; i<LX383_KEYS; i++)
- state->m_lx383_key[i] = 0xf0 | i;
- state->m_lx383_scan_counter = 0x0f;
- state->m_lx383_downsampler = LX383_DOWNSAMPLING;
+ m_lx383_key[i] = 0xf0 | i;
+ m_lx383_scan_counter = 0x0f;
+ m_lx383_downsampler = LX383_DOWNSAMPLING;
/* Initialize cassette interface */
- switch(machine.root_device().ioport("LX.385")->read() & 0x07)
+ switch(machine().root_device().ioport("LX.385")->read() & 0x07)
{
case 0x01:
- state->m_cass_data.speed = TAPE_300BPS;
- state->m_cass_data.wave_filter = LX385_TAPE_SAMPLE_FREQ / 1600;
- state->m_cass_data.wave_short = LX385_TAPE_SAMPLE_FREQ / (2400 * 2);
- state->m_cass_data.wave_long = LX385_TAPE_SAMPLE_FREQ / (1200 * 2);
+ m_cass_data.speed = TAPE_300BPS;
+ m_cass_data.wave_filter = LX385_TAPE_SAMPLE_FREQ / 1600;
+ m_cass_data.wave_short = LX385_TAPE_SAMPLE_FREQ / (2400 * 2);
+ m_cass_data.wave_long = LX385_TAPE_SAMPLE_FREQ / (1200 * 2);
break;
case 0x02:
- state->m_cass_data.speed = TAPE_600BPS;
- state->m_cass_data.wave_filter = LX385_TAPE_SAMPLE_FREQ / 3200;
- state->m_cass_data.wave_short = LX385_TAPE_SAMPLE_FREQ / (4800 * 2);
- state->m_cass_data.wave_long = LX385_TAPE_SAMPLE_FREQ / (2400 * 2);
+ m_cass_data.speed = TAPE_600BPS;
+ m_cass_data.wave_filter = LX385_TAPE_SAMPLE_FREQ / 3200;
+ m_cass_data.wave_short = LX385_TAPE_SAMPLE_FREQ / (4800 * 2);
+ m_cass_data.wave_long = LX385_TAPE_SAMPLE_FREQ / (2400 * 2);
break;
case 0x04:
- state->m_cass_data.speed = TAPE_1200BPS;
- state->m_cass_data.wave_filter = LX385_TAPE_SAMPLE_FREQ / 6400;
- state->m_cass_data.wave_short = LX385_TAPE_SAMPLE_FREQ / (9600 * 2);
- state->m_cass_data.wave_long = LX385_TAPE_SAMPLE_FREQ / (4800 * 2);
+ m_cass_data.speed = TAPE_1200BPS;
+ m_cass_data.wave_filter = LX385_TAPE_SAMPLE_FREQ / 6400;
+ m_cass_data.wave_short = LX385_TAPE_SAMPLE_FREQ / (9600 * 2);
+ m_cass_data.wave_long = LX385_TAPE_SAMPLE_FREQ / (4800 * 2);
}
- state->m_cass_data.wave_length = state->m_cass_data.wave_short;
- state->m_cass_data.output.length = state->m_cass_data.wave_length;
- state->m_cass_data.output.level = 1;
- state->m_cass_data.input.length = 0;
- state->m_cass_data.input.bit = 1;
+ m_cass_data.wave_length = m_cass_data.wave_short;
+ m_cass_data.output.length = m_cass_data.wave_length;
+ m_cass_data.output.level = 1;
+ m_cass_data.input.length = 0;
+ m_cass_data.input.bit = 1;
- state->m_ay31015 = machine.device("ay_3_1015");
- ay31015_set_input_pin( state->m_ay31015, AY31015_CS, 0 );
- ay31015_set_input_pin( state->m_ay31015, AY31015_NB1, 1 );
- ay31015_set_input_pin( state->m_ay31015, AY31015_NB2, 1 );
- ay31015_set_input_pin( state->m_ay31015, AY31015_TSB, 1 );
- ay31015_set_input_pin( state->m_ay31015, AY31015_EPS, 1 );
- ay31015_set_input_pin( state->m_ay31015, AY31015_NP, machine.root_device().ioport("LX.385")->read() & 0x80 ? 1 : 0 );
- ay31015_set_input_pin( state->m_ay31015, AY31015_CS, 1 );
- ay31015_set_receiver_clock( state->m_ay31015, state->m_cass_data.speed * 16.0);
- ay31015_set_transmitter_clock( state->m_ay31015, state->m_cass_data.speed * 16.0);
+ m_ay31015 = machine().device("ay_3_1015");
+ ay31015_set_input_pin( m_ay31015, AY31015_CS, 0 );
+ ay31015_set_input_pin( m_ay31015, AY31015_NB1, 1 );
+ ay31015_set_input_pin( m_ay31015, AY31015_NB2, 1 );
+ ay31015_set_input_pin( m_ay31015, AY31015_TSB, 1 );
+ ay31015_set_input_pin( m_ay31015, AY31015_EPS, 1 );
+ ay31015_set_input_pin( m_ay31015, AY31015_NP, machine().root_device().ioport("LX.385")->read() & 0x80 ? 1 : 0 );
+ ay31015_set_input_pin( m_ay31015, AY31015_CS, 1 );
+ ay31015_set_receiver_clock( m_ay31015, m_cass_data.speed * 16.0);
+ ay31015_set_transmitter_clock( m_ay31015, m_cass_data.speed * 16.0);
- state->m_nmi_delay_counter = 0;
- state->lx385_ctrl_w(*space, 0, 0);
+ m_nmi_delay_counter = 0;
+ lx385_ctrl_w(*space, 0, 0);
}
-MACHINE_RESET(z80ne)
+MACHINE_RESET_MEMBER(z80ne_state,z80ne)
{
LOG(("In MACHINE_RESET z80ne\n"));
- reset_lx382_banking(machine);
- MACHINE_RESET_CALL( z80ne_base );
+ reset_lx382_banking(machine());
+ MACHINE_RESET_CALL_MEMBER( z80ne_base );
}
-MACHINE_RESET(z80net)
+MACHINE_RESET_MEMBER(z80ne_state,z80net)
{
LOG(("In MACHINE_RESET z80net\n"));
- MACHINE_RESET_CALL( z80ne );
- reset_lx388(machine);
+ MACHINE_RESET_CALL_MEMBER( z80ne );
+ reset_lx388(machine());
}
-MACHINE_RESET(z80netb)
+MACHINE_RESET_MEMBER(z80ne_state,z80netb)
{
LOG(("In MACHINE_RESET z80netb\n"));
- MACHINE_RESET_CALL( z80ne_base );
- reset_lx388(machine);
+ MACHINE_RESET_CALL_MEMBER( z80ne_base );
+ reset_lx388(machine());
}
-MACHINE_RESET(z80netf)
+MACHINE_RESET_MEMBER(z80ne_state,z80netf)
{
LOG(("In MACHINE_RESET z80netf\n"));
- reset_lx390_banking(machine);
- MACHINE_RESET_CALL( z80ne_base );
- reset_lx388(machine);
+ reset_lx390_banking(machine());
+ MACHINE_RESET_CALL_MEMBER( z80ne_base );
+ reset_lx388(machine());
}
INPUT_CHANGED( z80ne_reset )
@@ -393,34 +392,33 @@ INPUT_CHANGED( z80ne_nmi )
}
}
-MACHINE_START( z80ne )
+MACHINE_START_MEMBER(z80ne_state,z80ne)
{
- z80ne_state *state = machine.driver_data<z80ne_state>();
LOG(("In MACHINE_START z80ne\n"));
- state->m_lx385_ctrl = 0x1f;
- state_save_register_item( machine, "z80ne", NULL, 0, state->m_lx383_scan_counter );
- state_save_register_item( machine, "z80ne", NULL, 0, state->m_lx383_downsampler );
- state_save_register_item_array( machine, "z80ne", NULL, 0, state->m_lx383_key );
- state_save_register_item( machine, "z80ne", NULL, 0, state->m_nmi_delay_counter );
- state->m_cassette_timer = machine.scheduler().timer_alloc(FUNC(z80ne_cassette_tc));
- machine.scheduler().timer_pulse( attotime::from_hz(1000), FUNC(z80ne_kbd_scan));
+ m_lx385_ctrl = 0x1f;
+ state_save_register_item( machine(), "z80ne", NULL, 0, m_lx383_scan_counter );
+ state_save_register_item( machine(), "z80ne", NULL, 0, m_lx383_downsampler );
+ state_save_register_item_array( machine(), "z80ne", NULL, 0, m_lx383_key );
+ state_save_register_item( machine(), "z80ne", NULL, 0, m_nmi_delay_counter );
+ m_cassette_timer = machine().scheduler().timer_alloc(FUNC(z80ne_cassette_tc));
+ machine().scheduler().timer_pulse( attotime::from_hz(1000), FUNC(z80ne_kbd_scan));
}
-MACHINE_START( z80net )
+MACHINE_START_MEMBER(z80ne_state,z80net)
{
- MACHINE_START_CALL( z80ne );
+ MACHINE_START_CALL_MEMBER( z80ne );
LOG(("In MACHINE_START z80net\n"));
}
-MACHINE_START( z80netb )
+MACHINE_START_MEMBER(z80ne_state,z80netb)
{
- MACHINE_START_CALL( z80net );
+ MACHINE_START_CALL_MEMBER( z80net );
LOG(("In MACHINE_START z80netb\n"));
}
-MACHINE_START( z80netf )
+MACHINE_START_MEMBER(z80ne_state,z80netf)
{
- MACHINE_START_CALL( z80net );
+ MACHINE_START_CALL_MEMBER( z80net );
LOG(("In MACHINE_START z80netf\n"));
}
diff --git a/src/mess/machine/zx.c b/src/mess/machine/zx.c
index fb51fafd391..1d26d10c68c 100644
--- a/src/mess/machine/zx.c
+++ b/src/mess/machine/zx.c
@@ -72,25 +72,22 @@ DIRECT_UPDATE_MEMBER(zx_state::pow3000_setdirect)
return address;
}
-MACHINE_RESET( zx80 )
+void zx_state::machine_reset()
{
- zx_state *state = machine.driver_data<zx_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(zx_state::zx_setdirect), state));
- state->m_tape_bit = 0x80;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(zx_state::zx_setdirect), this));
+ m_tape_bit = 0x80;
}
-MACHINE_RESET( pow3000 )
+MACHINE_RESET_MEMBER(zx_state,pow3000)
{
- zx_state *state = machine.driver_data<zx_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(zx_state::pow3000_setdirect), state));
- state->m_tape_bit = 0x80;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(zx_state::pow3000_setdirect), this));
+ m_tape_bit = 0x80;
}
-MACHINE_RESET( pc8300 )
+MACHINE_RESET_MEMBER(zx_state,pc8300)
{
- zx_state *state = machine.driver_data<zx_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(zx_state::pc8300_setdirect), state));
- state->m_tape_bit = 0x80;
+ machine().device("maincpu")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(zx_state::pc8300_setdirect), this));
+ m_tape_bit = 0x80;
}
static TIMER_CALLBACK(zx_tape_pulse)
diff --git a/src/mess/video/a7800.c b/src/mess/video/a7800.c
index 6a780b79f9f..e78c5265918 100644
--- a/src/mess/video/a7800.c
+++ b/src/mess/video/a7800.c
@@ -48,34 +48,33 @@
Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( a7800 )
+void a7800_state::video_start()
{
- a7800_state *state = machine.driver_data<a7800_state>();
int i;
for(i=0; i<8; i++)
{
- state->m_maria_palette[i][0]=0;
- state->m_maria_palette[i][1]=0;
- state->m_maria_palette[i][2]=0;
- state->m_maria_palette[i][3]=0;
+ m_maria_palette[i][0]=0;
+ m_maria_palette[i][1]=0;
+ m_maria_palette[i][2]=0;
+ m_maria_palette[i][3]=0;
}
- state->m_maria_write_mode=0;
- state->m_maria_scanline=0;
- state->m_maria_dmaon=0;
- state->m_maria_vblank=0x80;
- state->m_maria_dll=0;
- state->m_maria_dodma=0;
- state->m_maria_wsync=0;
-
- state->m_maria_color_kill = 0;
- state->m_maria_cwidth = 0;
- state->m_maria_bcntl = 0;
- state->m_maria_kangaroo = 0;
- state->m_maria_rm = 0;
-
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ m_maria_write_mode=0;
+ m_maria_scanline=0;
+ m_maria_dmaon=0;
+ m_maria_vblank=0x80;
+ m_maria_dll=0;
+ m_maria_dodma=0;
+ m_maria_wsync=0;
+
+ m_maria_color_kill = 0;
+ m_maria_cwidth = 0;
+ m_maria_bcntl = 0;
+ m_maria_kangaroo = 0;
+ m_maria_rm = 0;
+
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
}
/***************************************************************************
diff --git a/src/mess/video/ac1.c b/src/mess/video/ac1.c
index 5dbda02b6b6..a9566b833ee 100644
--- a/src/mess/video/ac1.c
+++ b/src/mess/video/ac1.c
@@ -22,7 +22,7 @@ const gfx_layout ac1_charlayout =
8*8 /* size of one char */
};
-VIDEO_START( ac1 )
+void ac1_state::video_start()
{
}
diff --git a/src/mess/video/advision.c b/src/mess/video/advision.c
index 597d30c55cd..22adc2708e7 100644
--- a/src/mess/video/advision.c
+++ b/src/mess/video/advision.c
@@ -31,14 +31,14 @@ void advision_state::video_start()
***************************************************************************/
-PALETTE_INIT( advision )
+void advision_state::palette_init()
{
int i;
for( i = 0; i < 8; i++ )
{
/* 8 shades of RED */
- palette_set_color_rgb(machine, i, i * 0x22, 0x00, 0x00);
+ palette_set_color_rgb(machine(), i, i * 0x22, 0x00, 0x00);
}
}
diff --git a/src/mess/video/apple1.c b/src/mess/video/apple1.c
index c772c3bbc7d..f0d0243e594 100644
--- a/src/mess/video/apple1.c
+++ b/src/mess/video/apple1.c
@@ -228,19 +228,18 @@ static int apple1_getcursorcode(int original_code)
/**************************************************************************/
-VIDEO_START( apple1 )
+void apple1_state::video_start()
{
- apple1_state *state = machine.driver_data<apple1_state>();
- state->m_blink_on = 1; /* cursor is visible initially */
- state->m_terminal = terminal_create(
- machine,
+ m_blink_on = 1; /* cursor is visible initially */
+ m_terminal = terminal_create(
+ machine(),
0, /* graphics font 0 (the only one we have) */
32, /* Blank character is symbol 32 in the ROM */
8, /* use 8 bits for the character code */
apple1_getcursorcode,
40, 24); /* 40 columns, 24 rows */
- terminal_setcursor(state->m_terminal, 0, 0);
+ terminal_setcursor(m_terminal, 0, 0);
}
/* This function handles all writes to the video display. */
diff --git a/src/mess/video/apple2.c b/src/mess/video/apple2.c
index 45cf30ac2b6..b7f89132d65 100644
--- a/src/mess/video/apple2.c
+++ b/src/mess/video/apple2.c
@@ -442,35 +442,33 @@ void apple2_video_start(running_machine &machine, const UINT8 *vram, size_t vram
-VIDEO_START( apple2 )
+VIDEO_START_MEMBER(apple2_state,apple2)
{
- apple2_state *state = machine.driver_data<apple2_state>();
- apple2_video_start(machine, machine.device<ram_device>(RAM_TAG)->pointer(), machine.device<ram_device>(RAM_TAG)->size(), VAR_80COL | VAR_ALTCHARSET | VAR_DHIRES, 4);
+ apple2_video_start(machine(), machine().device<ram_device>(RAM_TAG)->pointer(), machine().device<ram_device>(RAM_TAG)->size(), VAR_80COL | VAR_ALTCHARSET | VAR_DHIRES, 4);
/* hack to fix the colors on apple2/apple2p */
- state->m_fgcolor = 0;
- state->m_bgcolor = 15;
+ m_fgcolor = 0;
+ m_bgcolor = 15;
- state->m_monochrome_dhr = false;
+ m_monochrome_dhr = false;
}
-VIDEO_START( apple2p )
+VIDEO_START_MEMBER(apple2_state,apple2p)
{
- apple2_state *state = machine.driver_data<apple2_state>();
- apple2_video_start(machine, machine.device<ram_device>(RAM_TAG)->pointer(), machine.device<ram_device>(RAM_TAG)->size(), VAR_80COL | VAR_ALTCHARSET | VAR_DHIRES, 8);
+ apple2_video_start(machine(), machine().device<ram_device>(RAM_TAG)->pointer(), machine().device<ram_device>(RAM_TAG)->size(), VAR_80COL | VAR_ALTCHARSET | VAR_DHIRES, 8);
/* hack to fix the colors on apple2/apple2p */
- state->m_fgcolor = 0;
- state->m_bgcolor = 15;
+ m_fgcolor = 0;
+ m_bgcolor = 15;
- state->m_monochrome_dhr = false;
+ m_monochrome_dhr = false;
}
-VIDEO_START( apple2e )
+VIDEO_START_MEMBER(apple2_state,apple2e)
{
- apple2_video_start(machine, machine.device<ram_device>(RAM_TAG)->pointer(), machine.device<ram_device>(RAM_TAG)->size(), 0, 8);
+ apple2_video_start(machine(), machine().device<ram_device>(RAM_TAG)->pointer(), machine().device<ram_device>(RAM_TAG)->size(), 0, 8);
}
diff --git a/src/mess/video/apple2gs.c b/src/mess/video/apple2gs.c
index d261a4561ab..cf8e684ca50 100644
--- a/src/mess/video/apple2gs.c
+++ b/src/mess/video/apple2gs.c
@@ -13,14 +13,13 @@
-VIDEO_START( apple2gs )
+VIDEO_START_MEMBER(apple2gs_state,apple2gs)
{
- apple2gs_state *state = machine.driver_data<apple2gs_state>();
- state->m_bordercolor = 0;
- apple2_video_start(machine, state->m_slowmem, 0x20000, 0, 8);
- state->m_legacy_gfx = auto_bitmap_ind16_alloc(machine, 560, 192);
+ m_bordercolor = 0;
+ apple2_video_start(machine(), m_slowmem, 0x20000, 0, 8);
+ m_legacy_gfx = auto_bitmap_ind16_alloc(machine(), 560, 192);
- state_save_register_item(machine, "BORDERCLR", NULL, 0, state->m_bordercolor);
+ state_save_register_item(machine(), "BORDERCLR", NULL, 0, m_bordercolor);
}
diff --git a/src/mess/video/apple3.c b/src/mess/video/apple3.c
index 130dbb51ded..cfcea2b8c7b 100644
--- a/src/mess/video/apple3.c
+++ b/src/mess/video/apple3.c
@@ -65,22 +65,21 @@ void apple3_write_charmem(running_machine &machine)
-VIDEO_START( apple3 )
+VIDEO_START_MEMBER(apple3_state,apple3)
{
- apple3_state *state = machine.driver_data<apple3_state>();
int i, j;
UINT32 v;
- state->m_char_mem = auto_alloc_array(machine, UINT8, 0x800);
- memset(state->m_char_mem, 0, 0x800);
+ m_char_mem = auto_alloc_array(machine(), UINT8, 0x800);
+ memset(m_char_mem, 0, 0x800);
- state->m_hgr_map = auto_alloc_array(machine, UINT32, 192);
+ m_hgr_map = auto_alloc_array(machine(), UINT32, 192);
for (i = 0; i < 24; i++)
{
v = text_map[i] - 0x0400;
for (j = 0; j < 8; j++)
{
- state->m_hgr_map[(i * 8) + j] = 0x2000 + v + (j * 0x400);
+ m_hgr_map[(i * 8) + j] = 0x2000 + v + (j * 0x400);
}
}
}
diff --git a/src/mess/video/aquarius.c b/src/mess/video/aquarius.c
index af5712d9c70..5999d1c4867 100644
--- a/src/mess/video/aquarius.c
+++ b/src/mess/video/aquarius.c
@@ -51,17 +51,17 @@ static const unsigned short aquarius_palette[] =
0,15, 1,15, 2,15, 3,15, 4,15, 5,15, 6,15, 7,15, 8,15, 9,15,10,15,11,15,12,15,13,15,14,15,15,15,
};
-PALETTE_INIT( aquarius )
+void aquarius_state::palette_init()
{
int i;
- machine.colortable = colortable_alloc(machine, 16);
+ machine().colortable = colortable_alloc(machine(), 16);
for (i = 0; i < 16; i++)
- colortable_palette_set_color(machine.colortable, i, aquarius_colors[i]);
+ colortable_palette_set_color(machine().colortable, i, aquarius_colors[i]);
for (i = 0; i < 512; i++)
- colortable_entry_set_value(machine.colortable, i, aquarius_palette[i]);
+ colortable_entry_set_value(machine().colortable, i, aquarius_palette[i]);
}
WRITE8_MEMBER(aquarius_state::aquarius_videoram_w)
@@ -88,10 +88,9 @@ TILE_GET_INFO_MEMBER(aquarius_state::aquarius_gettileinfo)
SET_TILE_INFO_MEMBER(bank, code, color, flags);
}
-VIDEO_START( aquarius )
+void aquarius_state::video_start()
{
- aquarius_state *state = machine.driver_data<aquarius_state>();
- state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aquarius_state::aquarius_gettileinfo),state), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
+ m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(aquarius_state::aquarius_gettileinfo),this), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
}
SCREEN_UPDATE_IND16( aquarius )
diff --git a/src/mess/video/arcadia.c b/src/mess/video/arcadia.c
index 1d6ee322c13..d46866171bc 100644
--- a/src/mess/video/arcadia.c
+++ b/src/mess/video/arcadia.c
@@ -283,30 +283,29 @@ static const UINT8 chars[0x40][8]={
// 8x user defined
};
-VIDEO_START( arcadia )
+void arcadia_state::video_start()
{
- arcadia_state *state = machine.driver_data<arcadia_state>();
int i;
- memcpy(&state->m_chars, chars, sizeof(chars));
+ memcpy(&m_chars, chars, sizeof(chars));
for (i=0; i<0x40; i++)
{
- state->m_rectangle[i][0]=0;
- state->m_rectangle[i][4]=0;
- if (i&1) state->m_rectangle[i][0]|=3;
- if (i&2) state->m_rectangle[i][0]|=0x1c;
- if (i&4) state->m_rectangle[i][0]|=0xe0;
- if (i&8) state->m_rectangle[i][4]|=3;
- if (i&0x10) state->m_rectangle[i][4]|=0x1c;
- if (i&0x20) state->m_rectangle[i][4]|=0xe0;
- state->m_rectangle[i][1]=state->m_rectangle[i][2]=state->m_rectangle[i][3]=state->m_rectangle[i][0];
- state->m_rectangle[i][5]=state->m_rectangle[i][6]=state->m_rectangle[i][7]=state->m_rectangle[i][4];
+ m_rectangle[i][0]=0;
+ m_rectangle[i][4]=0;
+ if (i&1) m_rectangle[i][0]|=3;
+ if (i&2) m_rectangle[i][0]|=0x1c;
+ if (i&4) m_rectangle[i][0]|=0xe0;
+ if (i&8) m_rectangle[i][4]|=3;
+ if (i&0x10) m_rectangle[i][4]|=0x1c;
+ if (i&0x20) m_rectangle[i][4]|=0xe0;
+ m_rectangle[i][1]=m_rectangle[i][2]=m_rectangle[i][3]=m_rectangle[i][0];
+ m_rectangle[i][5]=m_rectangle[i][6]=m_rectangle[i][7]=m_rectangle[i][4];
}
{
- screen_device *screen = machine.first_screen();
+ screen_device *screen = machine().first_screen();
int width = screen->width();
int height = screen->height();
- state->m_bitmap = auto_bitmap_ind16_alloc(machine, width, height);
+ m_bitmap = auto_bitmap_ind16_alloc(machine(), width, height);
}
}
diff --git a/src/mess/video/avigo.c b/src/mess/video/avigo.c
index b2dbb7c0016..e1497ef3acb 100644
--- a/src/mess/video/avigo.c
+++ b/src/mess/video/avigo.c
@@ -76,10 +76,10 @@ void avigo_state::video_start()
}
/* Initialise the palette */
-PALETTE_INIT( avigo )
+void avigo_state::palette_init()
{
- 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 */
}
UINT32 avigo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mess/video/b2m.c b/src/mess/video/b2m.c
index 0eac9177bd4..11aa14e966d 100644
--- a/src/mess/video/b2m.c
+++ b/src/mess/video/b2m.c
@@ -11,7 +11,7 @@
#include "includes/b2m.h"
#include "machine/ram.h"
-VIDEO_START( b2m )
+void b2m_state::video_start()
{
}
@@ -53,7 +53,7 @@ static const rgb_t b2m_palette[4] = {
MAKE_RGB(0x00, 0x00, 0x00), // 3
};
-PALETTE_INIT( b2m )
+void b2m_state::palette_init()
{
- palette_set_colors(machine, 0, b2m_palette, ARRAY_LENGTH(b2m_palette));
+ palette_set_colors(machine(), 0, b2m_palette, ARRAY_LENGTH(b2m_palette));
}
diff --git a/src/mess/video/bbc.c b/src/mess/video/bbc.c
index 1e157562168..d9554e74fb2 100644
--- a/src/mess/video/bbc.c
+++ b/src/mess/video/bbc.c
@@ -367,24 +367,24 @@ static void common_init(running_machine &machine, int memorySize)
}
-VIDEO_START( bbca )
+VIDEO_START_MEMBER(bbc_state,bbca)
{
- common_init(machine,16);
+ common_init(machine(),16);
}
-VIDEO_START( bbcb )
+VIDEO_START_MEMBER(bbc_state,bbcb)
{
- common_init(machine,32);
+ common_init(machine(),32);
}
-VIDEO_START( bbcbp )
+VIDEO_START_MEMBER(bbc_state,bbcbp)
{
- common_init(machine,32);
+ common_init(machine(),32);
}
-VIDEO_START( bbcm )
+VIDEO_START_MEMBER(bbc_state,bbcm)
{
- common_init(machine,32);
+ common_init(machine(),32);
}
diff --git a/src/mess/video/bk.c b/src/mess/video/bk.c
index 4bcef82ada2..90a99053021 100644
--- a/src/mess/video/bk.c
+++ b/src/mess/video/bk.c
@@ -11,7 +11,7 @@
#include "includes/bk.h"
-VIDEO_START( bk0010 )
+void bk_state::video_start()
{
}
diff --git a/src/mess/video/busicom.c b/src/mess/video/busicom.c
index eb46431b559..1ad7c87d983 100644
--- a/src/mess/video/busicom.c
+++ b/src/mess/video/busicom.c
@@ -1812,7 +1812,7 @@ static const UINT8 printer_font[]= {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
-VIDEO_START( busicom )
+void busicom_state::video_start()
{
}
@@ -1846,14 +1846,14 @@ static const UINT8 color[] = { 0xFF,0xDB,0xB7,0x92,0x6E,0x49,0x25,0x00 };
static const UINT8 color_red[] = { 0xb0,0xb5,0xc0,0xc5,0xd0,0xd5,0xdf };
-PALETTE_INIT( busicom )
+void busicom_state::palette_init()
{
int i;
for(i=0;i<8;i++) {
- palette_set_color( machine, i, MAKE_RGB(color[i],color[i],color[i]) );
+ palette_set_color( machine(), i, MAKE_RGB(color[i],color[i],color[i]) );
}
- palette_set_color( machine, 8, MAKE_RGB(0xff,0xff,0xff) );
+ palette_set_color( machine(), 8, MAKE_RGB(0xff,0xff,0xff) );
for(i=0;i<7;i++) {
- palette_set_color( machine, i+9, MAKE_RGB(color_red[i],0x00,0x00) );
+ palette_set_color( machine(), i+9, MAKE_RGB(color_red[i],0x00,0x00) );
}
}
diff --git a/src/mess/video/cbmb.c b/src/mess/video/cbmb.c
index e1a91cb37b4..ccece9bcd56 100644
--- a/src/mess/video/cbmb.c
+++ b/src/mess/video/cbmb.c
@@ -10,7 +10,7 @@
-VIDEO_START( cbmb_crtc )
+VIDEO_START_MEMBER(cbmb_state,cbmb_crtc)
{
}
@@ -38,7 +38,7 @@ void cbm700_vh_init(running_machine &machine)
}
}
-VIDEO_START( cbm700 )
+VIDEO_START_MEMBER(cbmb_state,cbm700)
{
int i;
@@ -48,9 +48,9 @@ VIDEO_START( cbm700 )
// if( i < 176 || i > 223 )
{
int y;
- for( y = 0; y < machine.gfx[0]->height(); y++ ) {
- *const_cast<UINT8 *>(machine.gfx[0]->get_data(i) + y * machine.gfx[0]->rowbytes() + 8) = 0;
- *const_cast<UINT8 *>(machine.gfx[1]->get_data(i) + y * machine.gfx[1]->rowbytes() + 8) = 0;
+ for( y = 0; y < machine().gfx[0]->height(); y++ ) {
+ *const_cast<UINT8 *>(machine().gfx[0]->get_data(i) + y * machine().gfx[0]->rowbytes() + 8) = 0;
+ *const_cast<UINT8 *>(machine().gfx[1]->get_data(i) + y * machine().gfx[1]->rowbytes() + 8) = 0;
}
}
}
diff --git a/src/mess/video/cgenie.c b/src/mess/video/cgenie.c
index ba40c4f5cc3..689f00992bb 100644
--- a/src/mess/video/cgenie.c
+++ b/src/mess/video/cgenie.c
@@ -18,13 +18,12 @@
Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( cgenie )
+void cgenie_state::video_start()
{
- cgenie_state *state = machine.driver_data<cgenie_state>();
- screen_device *screen = machine.first_screen();
+ screen_device *screen = machine().first_screen();
- screen->register_screen_bitmap(state->m_dlybitmap);
- screen->register_screen_bitmap(state->m_bitmap);
+ screen->register_screen_bitmap(m_dlybitmap);
+ screen->register_screen_bitmap(m_bitmap);
}
/***************************************************************************
diff --git a/src/mess/video/channelf.c b/src/mess/video/channelf.c
index 32ae62ffc2e..77ae2567158 100644
--- a/src/mess/video/channelf.c
+++ b/src/mess/video/channelf.c
@@ -29,15 +29,14 @@ static const UINT16 colormap[] = {
};
/* Initialise the palette */
-PALETTE_INIT( channelf )
+void channelf_state::palette_init()
{
- palette_set_colors(machine, 0, channelf_palette, ARRAY_LENGTH(channelf_palette));
+ palette_set_colors(machine(), 0, channelf_palette, ARRAY_LENGTH(channelf_palette));
}
-VIDEO_START( channelf )
+void channelf_state::video_start()
{
- channelf_state *state = machine.driver_data<channelf_state>();
- state->m_p_videoram = state->memregion("vram")->base();
+ m_p_videoram = memregion("vram")->base();
}
static int recalc_palette_offset(int reg1, int reg2)
diff --git a/src/mess/video/comquest.c b/src/mess/video/comquest.c
index be3daff283c..109b075fd69 100644
--- a/src/mess/video/comquest.c
+++ b/src/mess/video/comquest.c
@@ -2,7 +2,7 @@
#include "includes/comquest.h"
-VIDEO_START( comquest )
+void comquest_state::video_start()
{
}
diff --git a/src/mess/video/dai.c b/src/mess/video/dai.c
index 75868ac5224..895138ab858 100644
--- a/src/mess/video/dai.c
+++ b/src/mess/video/dai.c
@@ -40,18 +40,18 @@ const unsigned char dai_palette[16*3] =
};
-PALETTE_INIT( dai )
+void dai_state::palette_init()
{
int i;
for ( i = 0; i < sizeof(dai_palette) / 3; i++ )
{
- palette_set_color_rgb(machine, i, dai_palette[i * 3], dai_palette[i * 3 + 1], dai_palette[i * 3 + 2]);
+ palette_set_color_rgb(machine(), i, dai_palette[i * 3], dai_palette[i * 3 + 1], dai_palette[i * 3 + 2]);
}
}
-VIDEO_START( dai )
+void dai_state::video_start()
{
}
diff --git a/src/mess/video/electron.c b/src/mess/video/electron.c
index dfe58c69e03..dab1fe654c6 100644
--- a/src/mess/video/electron.c
+++ b/src/mess/video/electron.c
@@ -38,16 +38,15 @@ Mode changes are 'immediate', so any change in RAM access timing occurs exactly
static TIMER_CALLBACK( electron_scanline_interrupt );
-VIDEO_START( electron )
+void electron_state::video_start()
{
- electron_state *state = machine.driver_data<electron_state>();
int i;
for( i = 0; i < 256; i++ ) {
- state->m_map4[i] = ( ( i & 0x10 ) >> 3 ) | ( i & 0x01 );
- state->m_map16[i] = ( ( i & 0x40 ) >> 3 ) | ( ( i & 0x10 ) >> 2 ) | ( ( i & 0x04 ) >> 1 ) | ( i & 0x01 );
+ m_map4[i] = ( ( i & 0x10 ) >> 3 ) | ( i & 0x01 );
+ m_map16[i] = ( ( i & 0x40 ) >> 3 ) | ( ( i & 0x10 ) >> 2 ) | ( ( i & 0x04 ) >> 1 ) | ( i & 0x01 );
}
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(electron_scanline_interrupt));
- state->m_scanline_timer->adjust( machine.primary_screen->time_until_pos(0), 0, machine.primary_screen->scan_period() );
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(electron_scanline_interrupt));
+ m_scanline_timer->adjust( machine().primary_screen->time_until_pos(0), 0, machine().primary_screen->scan_period() );
}
INLINE UINT8 read_vram( electron_state *state, UINT16 addr )
diff --git a/src/mess/video/epnick.c b/src/mess/video/epnick.c
index f5b6d7dca7d..eec9824b569 100644
--- a/src/mess/video/epnick.c
+++ b/src/mess/video/epnick.c
@@ -165,13 +165,13 @@ the NICK_GET_RED8, NICK_GET_GREEN8, NICK_GET_BLUE8 macros
return a 8-bit colour value for the index specified. */
/* initial the palette */
-PALETTE_INIT( epnick )
+void ep_state::palette_init()
{
int i;
for (i=0; i<256; i++)
{
- palette_set_color_rgb( machine, i, NICK_GET_RED8(i), NICK_GET_GREEN8(i), NICK_GET_BLUE8(i) );
+ palette_set_color_rgb( machine(), i, NICK_GET_RED8(i), NICK_GET_GREEN8(i), NICK_GET_BLUE8(i) );
}
}
@@ -1024,14 +1024,13 @@ static void Nick_DoScreen(NICK_STATE *nick, bitmap_ind16 &bm)
}
-VIDEO_START( epnick )
+void ep_state::video_start()
{
- ep_state *state = machine.driver_data<ep_state>();
- state->nick = auto_alloc_clear(machine, NICK_STATE);
+ nick = auto_alloc_clear(machine(), NICK_STATE);
- state->nick->videoram = machine.device<ram_device>(RAM_TAG)->pointer();
- Nick_Init(state->nick);
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ nick->videoram = machine().device<ram_device>(RAM_TAG)->pointer();
+ Nick_Init(nick);
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
}
diff --git a/src/mess/video/fm7.c b/src/mess/video/fm7.c
index 3fa21ca656e..bad68be3a12 100644
--- a/src/mess/video/fm7.c
+++ b/src/mess/video/fm7.c
@@ -1494,22 +1494,21 @@ WRITE8_MEMBER(fm7_state::fm7_console_ram_banked_w)
RAM[0x1c000+offset] = data;
}
-VIDEO_START( fm7 )
+void fm7_state::video_start()
{
- fm7_state *state = machine.driver_data<fm7_state>();
- state->m_video.vram_access = 0;
- state->m_video.crt_enable = 0;
- state->m_video.vram_offset = 0x0000;
- state->m_video.vram_offset2 = 0x0000;
- state->m_video.sub_reset = 0;
- state->m_video.multi_page = 0;
- state->m_video.subrom = 0;
- state->m_video.cgrom = 0;
- state->m_video.fine_offset = 0;
- state->m_video.nmi_mask = 0;
- state->m_video.active_video_page = 0;
- state->m_video.display_video_page = 0;
- state->m_video.vsync_flag = 0;
+ m_video.vram_access = 0;
+ m_video.crt_enable = 0;
+ m_video.vram_offset = 0x0000;
+ m_video.vram_offset2 = 0x0000;
+ m_video.sub_reset = 0;
+ m_video.multi_page = 0;
+ m_video.subrom = 0;
+ m_video.cgrom = 0;
+ m_video.fine_offset = 0;
+ m_video.nmi_mask = 0;
+ m_video.active_video_page = 0;
+ m_video.display_video_page = 0;
+ m_video.vsync_flag = 0;
}
SCREEN_UPDATE_IND16( fm7 )
@@ -1601,13 +1600,12 @@ static const rgb_t fm7_initial_palette[8] = {
MAKE_RGB(0xff, 0xff, 0xff), // 7
};
-PALETTE_INIT( fm7 )
+void fm7_state::palette_init()
{
- fm7_state *state = machine.driver_data<fm7_state>();
int x;
- palette_set_colors(machine, 0, fm7_initial_palette, ARRAY_LENGTH(fm7_initial_palette));
+ palette_set_colors(machine(), 0, fm7_initial_palette, ARRAY_LENGTH(fm7_initial_palette));
for(x=0;x<8;x++)
- state->m_video.fm7_pal[x] = x;
+ m_video.fm7_pal[x] = x;
}
diff --git a/src/mess/video/galaxy.c b/src/mess/video/galaxy.c
index c62c3922d95..db652cecf24 100644
--- a/src/mess/video/galaxy.c
+++ b/src/mess/video/galaxy.c
@@ -110,15 +110,14 @@ void galaxy_set_timer(running_machine &machine)
state->m_gal_video_timer->adjust(attotime::zero, 0, attotime::from_hz(6144000 / 8));
}
-VIDEO_START( galaxy )
+void galaxy_state::video_start()
{
- galaxy_state *state = machine.driver_data<galaxy_state>();
- state->m_gal_cnt = 0;
+ m_gal_cnt = 0;
- state->m_gal_video_timer = machine.scheduler().timer_alloc(FUNC(gal_video));
- state->m_gal_video_timer->adjust(attotime::zero, 0, attotime::never);
+ m_gal_video_timer = machine().scheduler().timer_alloc(FUNC(gal_video));
+ m_gal_video_timer->adjust(attotime::zero, 0, attotime::never);
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
}
SCREEN_UPDATE_IND16( galaxy )
diff --git a/src/mess/video/galeb.c b/src/mess/video/galeb.c
index a38fa53b2ae..697033d4f0b 100644
--- a/src/mess/video/galeb.c
+++ b/src/mess/video/galeb.c
@@ -23,7 +23,7 @@ const gfx_layout galeb_charlayout =
8*8 /* size of one char */
};
-VIDEO_START( galeb )
+void galeb_state::video_start()
{
}
diff --git a/src/mess/video/gamecom.c b/src/mess/video/gamecom.c
index ef903c07490..1f5420e7305 100644
--- a/src/mess/video/gamecom.c
+++ b/src/mess/video/gamecom.c
@@ -63,10 +63,9 @@ static TIMER_CALLBACK( gamecom_scanline )
state->m_scanline = ( state->m_scanline + 1 ) % Y_PIXELS;
}
-VIDEO_START( gamecom )
+void gamecom_state::video_start()
{
- gamecom_state *state = machine.driver_data<gamecom_state>();
- state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(gamecom_scanline));
- state->m_scanline_timer->adjust( machine.primary_screen->time_until_pos(0 ), 0, machine.primary_screen->scan_period() );
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ m_scanline_timer = machine().scheduler().timer_alloc(FUNC(gamecom_scanline));
+ m_scanline_timer->adjust( machine().primary_screen->time_until_pos(0 ), 0, machine().primary_screen->scan_period() );
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
}
diff --git a/src/mess/video/gb.c b/src/mess/video/gb.c
index 5930af1dfef..dc036c7001d 100644
--- a/src/mess/video/gb.c
+++ b/src/mess/video/gb.c
@@ -77,27 +77,26 @@ static const unsigned char palette_megaduck[] = {
};
/* Initialise the palettes */
-PALETTE_INIT( gb )
+PALETTE_INIT_MEMBER(gb_state,gb)
{
int ii;
for( ii = 0; ii < 4; ii++)
{
- palette_set_color_rgb(machine, ii, palette[ii*3+0], palette[ii*3+1], palette[ii*3+2]);
+ palette_set_color_rgb(machine(), ii, palette[ii*3+0], palette[ii*3+1], palette[ii*3+2]);
}
}
-PALETTE_INIT( gbp )
+PALETTE_INIT_MEMBER(gb_state,gbp)
{
int ii;
for( ii = 0; ii < 4; ii++)
{
- palette_set_color_rgb(machine, ii, palette[(ii + 4)*3+0], palette[(ii + 4)*3+1], palette[(ii + 4)*3+2]);
+ palette_set_color_rgb(machine(), ii, palette[(ii + 4)*3+0], palette[(ii + 4)*3+1], palette[(ii + 4)*3+2]);
}
}
-PALETTE_INIT( sgb )
+PALETTE_INIT_MEMBER(gb_state,sgb)
{
- gb_state *state = machine.driver_data<gb_state>();
int ii, r, g, b;
for( ii = 0; ii < 32768; ii++ )
@@ -105,22 +104,21 @@ PALETTE_INIT( sgb )
r = (ii & 0x1F) << 3;
g = ((ii >> 5) & 0x1F) << 3;
b = ((ii >> 10) & 0x1F) << 3;
- palette_set_color_rgb(machine, ii, r, g, b );
+ palette_set_color_rgb(machine(), ii, r, g, b );
}
/* Some default colours for non-SGB games */
- state->m_sgb_pal[0] = 32767;
- state->m_sgb_pal[1] = 21140;
- state->m_sgb_pal[2] = 10570;
- state->m_sgb_pal[3] = 0;
+ m_sgb_pal[0] = 32767;
+ m_sgb_pal[1] = 21140;
+ m_sgb_pal[2] = 10570;
+ m_sgb_pal[3] = 0;
/* The rest of the colortable can be black */
for( ii = 4; ii < 8*16; ii++ )
- state->m_sgb_pal[ii] = 0;
+ m_sgb_pal[ii] = 0;
}
-PALETTE_INIT( gbc )
+PALETTE_INIT_MEMBER(gb_state,gbc)
{
- gb_state *state = machine.driver_data<gb_state>();
int ii, r, g, b;
for( ii = 0; ii < 32768; ii++ )
@@ -128,23 +126,23 @@ PALETTE_INIT( gbc )
r = (ii & 0x1F) << 3;
g = ((ii >> 5) & 0x1F) << 3;
b = ((ii >> 10) & 0x1F) << 3;
- palette_set_color_rgb( machine, ii, r, g, b );
+ palette_set_color_rgb( machine(), ii, r, g, b );
}
/* Background is initialised as white */
for( ii = 0; ii < 32; ii++ )
- state->m_lcd.cgb_bpal[ii] = 32767;
+ m_lcd.cgb_bpal[ii] = 32767;
/* Sprites are supposed to be uninitialized, but we'll make them black */
for( ii = 0; ii < 32; ii++ )
- state->m_lcd.cgb_spal[ii] = 0;
+ m_lcd.cgb_spal[ii] = 0;
}
-PALETTE_INIT( megaduck )
+PALETTE_INIT_MEMBER(gb_state,megaduck)
{
int ii;
for( ii = 0; ii < 4; ii++)
{
- palette_set_color_rgb(machine, ii, palette_megaduck[ii*3+0], palette_megaduck[ii*3+1], palette_megaduck[ii*3+2]);
+ palette_set_color_rgb(machine(), ii, palette_megaduck[ii*3+0], palette_megaduck[ii*3+1], palette_megaduck[ii*3+2]);
}
}
@@ -1201,18 +1199,16 @@ static TIMER_CALLBACK( gb_video_init_vbl )
machine.device("maincpu")->execute().set_input_line(VBL_INT, ASSERT_LINE );
}
-MACHINE_START( gb_video )
+MACHINE_START_MEMBER(gb_state,gb_video)
{
- gb_state *state = machine.driver_data<gb_state>();
- state->m_lcd.lcd_timer = machine.scheduler().timer_alloc(FUNC(gb_lcd_timer_proc));
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ m_lcd.lcd_timer = machine().scheduler().timer_alloc(FUNC(gb_lcd_timer_proc));
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
}
-MACHINE_START( gbc_video )
+MACHINE_START_MEMBER(gb_state,gbc_video)
{
- gb_state *state = machine.driver_data<gb_state>();
- state->m_lcd.lcd_timer = machine.scheduler().timer_alloc(FUNC(gbc_lcd_timer_proc));
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ m_lcd.lcd_timer = machine().scheduler().timer_alloc(FUNC(gbc_lcd_timer_proc));
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
}
UINT32 gb_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mess/video/hec2video.c b/src/mess/video/hec2video.c
index 504e6de1f07..693d5a74733 100644
--- a/src/mess/video/hec2video.c
+++ b/src/mess/video/hec2video.c
@@ -111,9 +111,9 @@ void hector_80c(running_machine &machine, bitmap_ind16 &bitmap, UINT8 *page, int
}
-VIDEO_START( hec2hrp )
+VIDEO_START_MEMBER(hec2hrp_state,hec2hrp)
{
- Init_Hector_Palette(machine);
+ Init_Hector_Palette(machine());
}
SCREEN_UPDATE_IND16( hec2hrp )
diff --git a/src/mess/video/hp48.c b/src/mess/video/hp48.c
index 913e4576062..9f1b406516d 100644
--- a/src/mess/video/hp48.c
+++ b/src/mess/video/hp48.c
@@ -39,13 +39,13 @@ static const int hp48_fg_color[3] = { 0, 0, 64 }; /* dark blue */
FUNCTIONS
***************************************************************************/
-PALETTE_INIT ( hp48 )
+void hp48_state::palette_init()
{
int i;
for ( i = 0; i < 255; i++ )
{
float c = i/255.;
- palette_set_color( machine, i, MAKE_ARGB( 0, mix2(0,c), mix2(1,c), mix2(2,c) ) );
+ palette_set_color( machine(), i, MAKE_ARGB( 0, mix2(0,c), mix2(1,c), mix2(2,c) ) );
}
}
diff --git a/src/mess/video/intv.c b/src/mess/video/intv.c
index a91f9584f87..44ab0f4292e 100644
--- a/src/mess/video/intv.c
+++ b/src/mess/video/intv.c
@@ -34,19 +34,18 @@ INLINE void intv_plot_box(intv_state *state, bitmap_ind16 &bm, int x, int y, int
bm.plot_box(x * state->m_x_scale, y * state->m_y_scale, w * state->m_x_scale, h * state->m_y_scale, SET_COLOR(color));
}
-VIDEO_START( intv )
+void intv_state::video_start()
{
- intv_state *state = machine.driver_data<intv_state>();
//int i,j,k;
- state->m_tms9927_num_rows = 25;
+ m_tms9927_num_rows = 25;
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
#if 0
for (i = 0; i < STIC_MOBS; i++)
{
- intv_sprite_type* s = &state->m_sprite[i];
+ intv_sprite_type* s = &m_sprite[i];
s->visible = 0;
s->xpos = 0;
s->ypos = 0;
@@ -67,28 +66,28 @@ VIDEO_START( intv )
{
for (k = 0; k < 128; k++)
{
- state->m_sprite_buffers[i][j][k] = 0;
+ m_sprite_buffers[i][j][k] = 0;
}
}
}
for(i = 0; i < STIC_REGISTERS; i++)
{
- state->m_stic_registers[i] = 0;
+ m_stic_registers[i] = 0;
}
- state->m_color_stack_mode = 0;
- state->m_color_stack_offset = 0;
- state->m_stic_handshake = 0;
- state->m_border_color = 0;
- state->m_col_delay = 0;
- state->m_row_delay = 0;
- state->m_left_edge_inhibit = 0;
- state->m_top_edge_inhibit = 0;
-
- state->m_gramdirty = 1;
+ m_color_stack_mode = 0;
+ m_color_stack_offset = 0;
+ m_stic_handshake = 0;
+ m_border_color = 0;
+ m_col_delay = 0;
+ m_row_delay = 0;
+ m_left_edge_inhibit = 0;
+ m_top_edge_inhibit = 0;
+
+ m_gramdirty = 1;
for(i=0;i<64;i++)
{
- state->m_gram[i] = 0;
- state->m_gramdirtybytes[i] = 1;
+ m_gram[i] = 0;
+ m_gramdirtybytes[i] = 1;
}
#endif
}
diff --git a/src/mess/video/irisha.c b/src/mess/video/irisha.c
index 79abea3a054..a8d2b18f2c5 100644
--- a/src/mess/video/irisha.c
+++ b/src/mess/video/irisha.c
@@ -11,7 +11,7 @@
#include "includes/irisha.h"
-VIDEO_START( irisha )
+void irisha_state::video_start()
{
}
diff --git a/src/mess/video/kaypro.c b/src/mess/video/kaypro.c
index 39fd7e866eb..2f222056691 100644
--- a/src/mess/video/kaypro.c
+++ b/src/mess/video/kaypro.c
@@ -9,11 +9,11 @@
************************************************************/
-PALETTE_INIT( kaypro )
+PALETTE_INIT_MEMBER(kaypro_state,kaypro)
{
- palette_set_color(machine, 0, RGB_BLACK); /* black */
- palette_set_color(machine, 1, MAKE_RGB(0, 220, 0)); /* green */
- palette_set_color(machine, 2, MAKE_RGB(0, 110, 0)); /* low intensity green */
+ palette_set_color(machine(), 0, RGB_BLACK); /* black */
+ palette_set_color(machine(), 1, MAKE_RGB(0, 220, 0)); /* green */
+ palette_set_color(machine(), 2, MAKE_RGB(0, 110, 0)); /* low intensity green */
}
SCREEN_UPDATE_IND16( kayproii )
@@ -313,8 +313,7 @@ WRITE8_MEMBER( kaypro_state::kaypro2x_videoram_w )
m_p_videoram[m_mc6845_video_address] = data;
}
-VIDEO_START( kaypro )
+VIDEO_START_MEMBER(kaypro_state,kaypro)
{
- kaypro_state *state = machine.driver_data<kaypro_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
+ m_p_chargen = memregion("chargen")->base();
}
diff --git a/src/mess/video/kc.c b/src/mess/video/kc.c
index 1802f123920..ea12567e56a 100644
--- a/src/mess/video/kc.c
+++ b/src/mess/video/kc.c
@@ -45,10 +45,10 @@ static const UINT8 kc85_palette[KC85_PALETTE_SIZE * 3] =
/* Initialise the palette */
-PALETTE_INIT( kc85 )
+PALETTE_INIT_MEMBER(kc_state,kc85)
{
for (int i = 0; i < sizeof(kc85_palette) / 3; i++ )
- palette_set_color_rgb(machine, i, kc85_palette[i*3], kc85_palette[i*3+1], kc85_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, kc85_palette[i*3], kc85_palette[i*3+1], kc85_palette[i*3+2]);
}
/* set new blink state */
diff --git a/src/mess/video/kramermc.c b/src/mess/video/kramermc.c
index 13a1b52a0e8..f3f9ea13a17 100644
--- a/src/mess/video/kramermc.c
+++ b/src/mess/video/kramermc.c
@@ -23,7 +23,7 @@ const gfx_layout kramermc_charlayout =
8*8 /* size of one char */
};
-VIDEO_START( kramermc )
+void kramermc_state::video_start()
{
}
diff --git a/src/mess/video/kyocera.c b/src/mess/video/kyocera.c
index 1ffb9b43ab6..3793fe6b403 100644
--- a/src/mess/video/kyocera.c
+++ b/src/mess/video/kyocera.c
@@ -1,9 +1,9 @@
#include "includes/kyocera.h"
-static PALETTE_INIT( kc85 )
+PALETTE_INIT_MEMBER(kc85_state,kc85)
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
}
UINT32 kc85_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -50,7 +50,7 @@ MACHINE_CONFIG_FRAGMENT( kc85_video )
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(kc85)
+ MCFG_PALETTE_INIT_OVERRIDE(kc85_state,kc85)
MCFG_HD44102_ADD(HD44102_0_TAG, SCREEN_TAG, 0, 0)
MCFG_HD44102_ADD(HD44102_1_TAG, SCREEN_TAG, 50, 0)
@@ -77,7 +77,7 @@ MACHINE_CONFIG_FRAGMENT( tandy200_video )
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(kc85)
+ MCFG_PALETTE_INIT_OVERRIDE(kc85_state,kc85)
MCFG_HD61830_ADD(HD61830_TAG, XTAL_4_9152MHz/2/2, lcdc_intf)
MCFG_DEVICE_ADDRESS_MAP(AS_0, tandy200_lcdc)
diff --git a/src/mess/video/llc.c b/src/mess/video/llc.c
index 952bb4e39e1..21bf45b51c1 100644
--- a/src/mess/video/llc.c
+++ b/src/mess/video/llc.c
@@ -10,10 +10,9 @@
#include "includes/llc.h"
-VIDEO_START( llc )
+void llc_state::video_start()
{
- llc_state *state = machine.driver_data<llc_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
+ m_p_chargen = memregion("chargen")->base();
}
SCREEN_UPDATE_IND16( llc1 )
diff --git a/src/mess/video/lviv.c b/src/mess/video/lviv.c
index 87956253f6f..c1b5ea3a515 100644
--- a/src/mess/video/lviv.c
+++ b/src/mess/video/lviv.c
@@ -24,12 +24,12 @@ const unsigned char lviv_palette[8*3] =
};
-PALETTE_INIT( lviv )
+void lviv_state::palette_init()
{
int i;
for ( i = 0; i < sizeof(lviv_palette) / 3; i++ ) {
- palette_set_color_rgb(machine, i, lviv_palette[i*3], lviv_palette[i*3+1], lviv_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, lviv_palette[i*3], lviv_palette[i*3+1], lviv_palette[i*3+2]);
}
}
@@ -59,7 +59,7 @@ void lviv_update_palette(running_machine &machine, UINT8 pal)
state->m_colortable[0][3] |= ((pal>>6)&0x01) ? 0x01 : 0x00;
}
-VIDEO_START( lviv )
+void lviv_state::video_start()
{
}
diff --git a/src/mess/video/mac.c b/src/mess/video/mac.c
index e8a524511d1..8446b0b6a54 100644
--- a/src/mess/video/mac.c
+++ b/src/mess/video/mac.c
@@ -56,22 +56,22 @@ Apple color FPD 01 11 10 (FPD = Full Page Display)
#include "includes/mac.h"
#include "machine/ram.h"
-PALETTE_INIT( mac )
+PALETTE_INIT_MEMBER(mac_state,mac)
{
- palette_set_color_rgb(machine, 0, 0xff, 0xff, 0xff);
- palette_set_color_rgb(machine, 1, 0x00, 0x00, 0x00);
+ palette_set_color_rgb(machine(), 0, 0xff, 0xff, 0xff);
+ palette_set_color_rgb(machine(), 1, 0x00, 0x00, 0x00);
}
// 4-level grayscale
-PALETTE_INIT( macgsc )
+PALETTE_INIT_MEMBER(mac_state,macgsc)
{
- palette_set_color_rgb(machine, 0, 0xff, 0xff, 0xff);
- palette_set_color_rgb(machine, 1, 0x7f, 0x7f, 0x7f);
- palette_set_color_rgb(machine, 2, 0x3f, 0x3f, 0x3f);
- palette_set_color_rgb(machine, 3, 0x00, 0x00, 0x00);
+ palette_set_color_rgb(machine(), 0, 0xff, 0xff, 0xff);
+ palette_set_color_rgb(machine(), 1, 0x7f, 0x7f, 0x7f);
+ palette_set_color_rgb(machine(), 2, 0x3f, 0x3f, 0x3f);
+ palette_set_color_rgb(machine(), 3, 0x00, 0x00, 0x00);
}
-VIDEO_START( mac )
+VIDEO_START_MEMBER(mac_state,mac)
{
}
@@ -216,43 +216,40 @@ SCREEN_UPDATE_IND16( macpb160 )
// IIci/IIsi RAM-Based Video (RBV) and children: V8, Eagle, Spice, VASP, Sonora
-VIDEO_START( macrbv )
+VIDEO_START_MEMBER(mac_state,macrbv)
{
}
-VIDEO_RESET(maceagle)
+VIDEO_RESET_MEMBER(mac_state,maceagle)
{
- mac_state *mac = machine.driver_data<mac_state>();
-
- mac->m_rbv_montype = 32;
- mac->m_rbv_palette[0xfe] = 0xffffff;
- mac->m_rbv_palette[0xff] = 0;
+ m_rbv_montype = 32;
+ m_rbv_palette[0xfe] = 0xffffff;
+ m_rbv_palette[0xff] = 0;
}
-VIDEO_RESET(macrbv)
+VIDEO_RESET_MEMBER(mac_state,macrbv)
{
- mac_state *mac = machine.driver_data<mac_state>();
rectangle visarea;
int htotal, vtotal;
double framerate;
int view;
- memset(mac->m_rbv_regs, 0, sizeof(mac->m_rbv_regs));
+ memset(m_rbv_regs, 0, sizeof(m_rbv_regs));
- mac->m_rbv_count = 0;
- mac->m_rbv_clutoffs = 0;
- mac->m_rbv_immed10wr = 0;
+ m_rbv_count = 0;
+ m_rbv_clutoffs = 0;
+ m_rbv_immed10wr = 0;
- mac->m_rbv_regs[2] = 0x7f;
- mac->m_rbv_regs[3] = 0;
+ m_rbv_regs[2] = 0x7f;
+ m_rbv_regs[3] = 0;
- mac->m_rbv_type = RBV_TYPE_RBV;
+ m_rbv_type = RBV_TYPE_RBV;
visarea.min_x = 0;
visarea.min_y = 0;
view = 0;
- mac->m_rbv_montype = machine.root_device().ioport("MONTYPE")->read_safe(2);
- switch (mac->m_rbv_montype)
+ m_rbv_montype = machine().root_device().ioport("MONTYPE")->read_safe(2);
+ switch (m_rbv_montype)
{
case 1: // 15" portrait display
visarea.max_x = 640-1;
@@ -282,39 +279,38 @@ VIDEO_RESET(macrbv)
}
// printf("RBV reset: monitor is %dx%d @ %f Hz\n", visarea.max_x+1, visarea.max_y+1, framerate);
- machine.primary_screen->configure(htotal, vtotal, visarea, HZ_TO_ATTOSECONDS(framerate));
- render_target *target = machine.render().first_target();
+ machine().primary_screen->configure(htotal, vtotal, visarea, HZ_TO_ATTOSECONDS(framerate));
+ render_target *target = machine().render().first_target();
target->set_view(view);
}
-VIDEO_RESET(macsonora)
+VIDEO_RESET_MEMBER(mac_state,macsonora)
{
- mac_state *mac = machine.driver_data<mac_state>();
rectangle visarea;
int htotal, vtotal;
double framerate;
- memset(mac->m_rbv_regs, 0, sizeof(mac->m_rbv_regs));
+ memset(m_rbv_regs, 0, sizeof(m_rbv_regs));
- mac->m_rbv_count = 0;
- mac->m_rbv_clutoffs = 0;
- mac->m_rbv_immed10wr = 0;
+ m_rbv_count = 0;
+ m_rbv_clutoffs = 0;
+ m_rbv_immed10wr = 0;
- mac->m_rbv_regs[2] = 0x7f;
- mac->m_rbv_regs[3] = 0;
+ m_rbv_regs[2] = 0x7f;
+ m_rbv_regs[3] = 0;
- mac->m_rbv_type = RBV_TYPE_SONORA;
+ m_rbv_type = RBV_TYPE_SONORA;
visarea.min_x = 0;
visarea.min_y = 0;
- mac->m_rbv_montype = machine.root_device().ioport("MONTYPE")->read_safe(2);
- switch (mac->m_rbv_montype)
+ m_rbv_montype = machine().root_device().ioport("MONTYPE")->read_safe(2);
+ switch (m_rbv_montype)
{
case 1: // 15" portrait display
visarea.max_x = 640-1;
visarea.max_y = 870-1;
- htotal = 832;
+ htotal = 832;
vtotal = 918;
framerate = 75.0;
break;
@@ -322,7 +318,7 @@ VIDEO_RESET(macsonora)
case 2: // 12" RGB
visarea.max_x = 512-1;
visarea.max_y = 384-1;
- htotal = 640;
+ htotal = 640;
vtotal = 407;
framerate = 60.15;
break;
@@ -331,53 +327,51 @@ VIDEO_RESET(macsonora)
default:
visarea.max_x = 640-1;
visarea.max_y = 480-1;
- htotal = 800;
+ htotal = 800;
vtotal = 525;
framerate = 59.94;
break;
}
// printf("RBV reset: monitor is %dx%d @ %f Hz\n", visarea.max_x+1, visarea.max_y+1, framerate);
- machine.primary_screen->configure(htotal, vtotal, visarea, HZ_TO_ATTOSECONDS(framerate));
+ machine().primary_screen->configure(htotal, vtotal, visarea, HZ_TO_ATTOSECONDS(framerate));
}
-VIDEO_START( macsonora )
+VIDEO_START_MEMBER(mac_state,macsonora)
{
- mac_state *mac = machine.driver_data<mac_state>();
- memset(mac->m_rbv_regs, 0, sizeof(mac->m_rbv_regs));
+ memset(m_rbv_regs, 0, sizeof(m_rbv_regs));
- mac->m_rbv_count = 0;
- mac->m_rbv_clutoffs = 0;
- mac->m_rbv_immed10wr = 0;
+ m_rbv_count = 0;
+ m_rbv_clutoffs = 0;
+ m_rbv_immed10wr = 0;
- mac->m_rbv_regs[2] = 0x7f;
- mac->m_rbv_regs[3] = 0;
- mac->m_rbv_regs[4] = 0x6;
- mac->m_rbv_regs[5] = 0x3;
+ m_rbv_regs[2] = 0x7f;
+ m_rbv_regs[3] = 0;
+ m_rbv_regs[4] = 0x6;
+ m_rbv_regs[5] = 0x3;
- mac->m_sonora_vctl[0] = 0x9f;
- mac->m_sonora_vctl[1] = 0;
- mac->m_sonora_vctl[2] = 0;
+ m_sonora_vctl[0] = 0x9f;
+ m_sonora_vctl[1] = 0;
+ m_sonora_vctl[2] = 0;
- mac->m_rbv_type = RBV_TYPE_SONORA;
+ m_rbv_type = RBV_TYPE_SONORA;
}
-VIDEO_START( macv8 )
+VIDEO_START_MEMBER(mac_state,macv8)
{
- mac_state *mac = machine.driver_data<mac_state>();
- memset(mac->m_rbv_regs, 0, sizeof(mac->m_rbv_regs));
+ memset(m_rbv_regs, 0, sizeof(m_rbv_regs));
- mac->m_rbv_count = 0;
- mac->m_rbv_clutoffs = 0;
- mac->m_rbv_immed10wr = 0;
+ m_rbv_count = 0;
+ m_rbv_clutoffs = 0;
+ m_rbv_immed10wr = 0;
- mac->m_rbv_regs[0] = 0x4f;
- mac->m_rbv_regs[1] = 0x06;
- mac->m_rbv_regs[2] = 0x7f;
+ m_rbv_regs[0] = 0x4f;
+ m_rbv_regs[1] = 0x06;
+ m_rbv_regs[2] = 0x7f;
- mac->m_rbv_type = RBV_TYPE_V8;
+ m_rbv_type = RBV_TYPE_V8;
}
SCREEN_UPDATE_RGB32( macrbv )
@@ -684,32 +678,28 @@ static TIMER_CALLBACK(dafb_cursor_tick)
mac->m_cursor_timer->adjust(mac->m_screen->time_until_pos(mac->m_cursor_line, 0), 0);
}
-VIDEO_START( macdafb )
+VIDEO_START_MEMBER(mac_state,macdafb)
{
- mac_state *mac = machine.driver_data<mac_state>();
+ m_vbl_timer = machine().scheduler().timer_alloc(FUNC(dafb_vbl_tick));
+ m_cursor_timer = machine().scheduler().timer_alloc(FUNC(dafb_cursor_tick));
- mac->m_vbl_timer = machine.scheduler().timer_alloc(FUNC(dafb_vbl_tick));
- mac->m_cursor_timer = machine.scheduler().timer_alloc(FUNC(dafb_cursor_tick));
-
- mac->m_vbl_timer->adjust(attotime::never);
- mac->m_cursor_timer->adjust(attotime::never);
+ m_vbl_timer->adjust(attotime::never);
+ m_cursor_timer->adjust(attotime::never);
}
-VIDEO_RESET(macdafb)
+VIDEO_RESET_MEMBER(mac_state,macdafb)
{
- mac_state *mac = machine.driver_data<mac_state>();
-
- mac->m_rbv_count = 0;
- mac->m_rbv_clutoffs = 0;
- mac->m_rbv_montype = 6;
- mac->m_rbv_vbltime = 0;
- mac->m_dafb_int_status = 0;
- mac->m_rbv_type = RBV_TYPE_DAFB;
- mac->m_dafb_mode = 0;
- mac->m_dafb_base = 0x1000;
- mac->m_dafb_stride = 256*4;
-
- memset(mac->m_rbv_palette, 0, sizeof(mac->m_rbv_palette));
+ m_rbv_count = 0;
+ m_rbv_clutoffs = 0;
+ m_rbv_montype = 6;
+ m_rbv_vbltime = 0;
+ m_dafb_int_status = 0;
+ m_rbv_type = RBV_TYPE_DAFB;
+ m_dafb_mode = 0;
+ m_dafb_base = 0x1000;
+ m_dafb_stride = 256*4;
+
+ memset(m_rbv_palette, 0, sizeof(m_rbv_palette));
}
READ32_MEMBER(mac_state::dafb_r)
diff --git a/src/mess/video/mbc55x.c b/src/mess/video/mbc55x.c
index 3757db084b7..4a6dc4ff0f5 100644
--- a/src/mess/video/mbc55x.c
+++ b/src/mess/video/mbc55x.c
@@ -173,24 +173,22 @@ const mc6845_interface mb55x_mc6845_intf =
NULL
};
-VIDEO_START( mbc55x )
+void mbc55x_state::video_start()
{
- mbc55x_state *mstate = machine.driver_data<mbc55x_state>();
- mstate->m_debug_video=0;
+ m_debug_video=0;
logerror("VIDEO_START\n");
- if (machine.debug_flags & DEBUG_FLAG_ENABLED)
+ if (machine().debug_flags & DEBUG_FLAG_ENABLED)
{
- debug_console_register_command(machine, "mbc55x_vid_debug", CMDFLAG_NONE, 0, 0, 1, video_debug);
+ debug_console_register_command(machine(), "mbc55x_vid_debug", CMDFLAG_NONE, 0, 0, 1, video_debug);
}
}
-VIDEO_RESET( mbc55x )
+void mbc55x_state::video_reset()
{
- mbc55x_state *mstate = machine.driver_data<mbc55x_state>();
// When we reset clear the video registers and video memory.
- memset(&mstate->m_video_mem,0,sizeof(mstate->m_video_mem));
+ memset(&m_video_mem,0,sizeof(m_video_mem));
logerror("Video reset\n");
}
diff --git a/src/mess/video/mbee.c b/src/mess/video/mbee.c
index be5e08c94db..f3402c6cd43 100644
--- a/src/mess/video/mbee.c
+++ b/src/mess/video/mbee.c
@@ -359,31 +359,28 @@ WRITE8_MEMBER ( mbee_state::m6545_data_w )
************************************************************/
-VIDEO_START( mbee )
+VIDEO_START_MEMBER(mbee_state,mbee)
{
- mbee_state *state = machine.driver_data<mbee_state>();
- state->m_p_videoram = machine.root_device().memregion("videoram")->base();
- state->m_p_gfxram = state->memregion("gfx")->base()+0x1000;
- state->m_is_premium = 0;
+ m_p_videoram = machine().root_device().memregion("videoram")->base();
+ m_p_gfxram = memregion("gfx")->base()+0x1000;
+ m_is_premium = 0;
}
-VIDEO_START( mbeeic )
+VIDEO_START_MEMBER(mbee_state,mbeeic)
{
- mbee_state *state = machine.driver_data<mbee_state>();
- state->m_p_videoram = machine.root_device().memregion("videoram")->base();
- state->m_p_colorram = machine.root_device().memregion("colorram")->base();
- state->m_p_gfxram = state->memregion("gfx")->base()+0x1000;
- state->m_is_premium = 0;
+ m_p_videoram = machine().root_device().memregion("videoram")->base();
+ m_p_colorram = machine().root_device().memregion("colorram")->base();
+ m_p_gfxram = memregion("gfx")->base()+0x1000;
+ m_is_premium = 0;
}
-VIDEO_START( mbeeppc )
+VIDEO_START_MEMBER(mbee_state,mbeeppc)
{
- mbee_state *state = machine.driver_data<mbee_state>();
- state->m_p_videoram = machine.root_device().memregion("videoram")->base();
- state->m_p_colorram = machine.root_device().memregion("colorram")->base();
- state->m_p_gfxram = machine.root_device().memregion("gfx")->base()+0x1000;
- state->m_p_attribram = state->memregion("attrib")->base();
- state->m_is_premium = 1;
+ m_p_videoram = machine().root_device().memregion("videoram")->base();
+ m_p_colorram = machine().root_device().memregion("colorram")->base();
+ m_p_gfxram = machine().root_device().memregion("gfx")->base()+0x1000;
+ m_p_attribram = memregion("attrib")->base();
+ m_is_premium = 1;
}
SCREEN_UPDATE_RGB32( mbee )
@@ -554,9 +551,9 @@ MC6845_UPDATE_ROW( mbeeppc_update_row )
************************************************************/
-PALETTE_INIT( mbeeic )
+PALETTE_INIT_MEMBER(mbee_state,mbeeic)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
UINT16 i;
UINT8 r, b, g, k;
UINT8 level[] = { 0, 0x80, 0xff, 0xff }; /* off, half, full intensity */
@@ -567,7 +564,7 @@ PALETTE_INIT( mbeeic )
r = level[((i>>0)&1)|((i>>2)&2)];
g = level[((i>>1)&1)|((i>>3)&2)];
b = level[((i>>2)&1)|((i>>4)&2)];
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
/* set up foreground palette (64-95) by reading the prom */
@@ -577,14 +574,14 @@ PALETTE_INIT( mbeeic )
r = level[((k>>2)&1)|((k>>4)&2)];
g = level[((k>>1)&1)|((k>>3)&2)];
b = level[((k>>0)&1)|((k>>2)&2)];
- palette_set_color(machine, i|64, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i|64, MAKE_RGB(r, g, b));
}
}
-PALETTE_INIT( mbeepc85b )
+PALETTE_INIT_MEMBER(mbee_state,mbeepc85b)
{
- const UINT8 *color_prom = machine.root_device().memregion("proms")->base();
+ const UINT8 *color_prom = machine().root_device().memregion("proms")->base();
UINT16 i;
UINT8 r, b, g, k;
UINT8 level[] = { 0, 0x80, 0x80, 0xff }; /* off, half, full intensity */
@@ -595,7 +592,7 @@ PALETTE_INIT( mbeepc85b )
r = level[((i>>0)&1)|((i>>2)&2)];
g = level[((i>>1)&1)|((i>>3)&2)];
b = level[((i>>2)&1)|((i>>4)&2)];
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
level[2] = 0xff;
@@ -607,12 +604,12 @@ PALETTE_INIT( mbeepc85b )
r = level[((k>>2)&1)|((k>>4)&2)];
g = level[((k>>1)&1)|((k>>3)&2)];
b = level[((k>>0)&1)|((k>>2)&2)];
- palette_set_color(machine, i|64, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i|64, MAKE_RGB(r, g, b));
}
}
-PALETTE_INIT( mbeeppc )
+PALETTE_INIT_MEMBER(mbee_state,mbeeppc)
{
UINT16 i;
UINT8 r, b, g;
@@ -623,7 +620,7 @@ PALETTE_INIT( mbeeppc )
r = (i & 1) ? 0xc0 : 0;
g = (i & 2) ? 0xc0 : 0;
b = (i & 4) ? 0xc0 : 0;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
/* set up 8 high intensity colours */
@@ -632,7 +629,7 @@ PALETTE_INIT( mbeeppc )
r = (i & 1) ? 0xff : 0;
g = (i & 2) ? 0xff : 0;
b = (i & 4) ? 0xff : 0;
- palette_set_color(machine, i, MAKE_RGB(r, g, b));
+ palette_set_color(machine(), i, MAKE_RGB(r, g, b));
}
}
diff --git a/src/mess/video/mc80.c b/src/mess/video/mc80.c
index c327ef229da..604b9f338ca 100644
--- a/src/mess/video/mc80.c
+++ b/src/mess/video/mc80.c
@@ -92,7 +92,7 @@ static const UINT8 prom[] = {
-VIDEO_START( mc8020 )
+VIDEO_START_MEMBER(mc80_state,mc8020)
{
}
@@ -137,10 +137,9 @@ SCREEN_UPDATE_IND16( mc8020 )
/*****************************************************************************/
-VIDEO_START( mc8030 )
+VIDEO_START_MEMBER(mc80_state,mc8030)
{
- mc80_state *state = machine.driver_data<mc80_state>();
- state->m_p_videoram.set_target(state->memregion("vram")->base(),state->m_p_videoram.bytes());
+ m_p_videoram.set_target(memregion("vram")->base(),m_p_videoram.bytes());
}
SCREEN_UPDATE_IND16( mc8030 )
diff --git a/src/mess/video/microtan.c b/src/mess/video/microtan.c
index 1276121806e..d39e7c77a71 100644
--- a/src/mess/video/microtan.c
+++ b/src/mess/video/microtan.c
@@ -38,15 +38,14 @@ TILE_GET_INFO_MEMBER(microtan_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(gfxn, code, 0, 0);
}
-VIDEO_START( microtan )
+void microtan_state::video_start()
{
- microtan_state *state = machine.driver_data<microtan_state>();
- state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(microtan_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(microtan_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 16, 32, 16);
- state->m_chunky_buffer = auto_alloc_array(machine, UINT8, 0x200);
- memset(state->m_chunky_buffer, 0, 0x200);
- state->m_chunky_graphics = 0;
+ m_chunky_buffer = auto_alloc_array(machine(), UINT8, 0x200);
+ memset(m_chunky_buffer, 0, 0x200);
+ m_chunky_graphics = 0;
}
SCREEN_UPDATE_IND16( microtan )
diff --git a/src/mess/video/mikro80.c b/src/mess/video/mikro80.c
index dcd10312f02..519e255b6f2 100644
--- a/src/mess/video/mikro80.c
+++ b/src/mess/video/mikro80.c
@@ -11,7 +11,7 @@
#include "includes/mikro80.h"
-VIDEO_START( mikro80 )
+void mikro80_state::video_start()
{
}
diff --git a/src/mess/video/mikromik.c b/src/mess/video/mikromik.c
index a939220e0f3..42a59c3c6b8 100644
--- a/src/mess/video/mikromik.c
+++ b/src/mess/video/mikromik.c
@@ -6,11 +6,11 @@
// PALETTE_INIT( mm1 )
//-------------------------------------------------
-static PALETTE_INIT( mm1 )
+PALETTE_INIT_MEMBER(mm1_state,mm1)
{
- palette_set_color(machine, 0, RGB_BLACK); /* black */
- palette_set_color_rgb(machine, 1, 0x00, 0xc0, 0x00); /* green */
- palette_set_color_rgb(machine, 2, 0x00, 0xff, 0x00); /* bright green */
+ palette_set_color(machine(), 0, RGB_BLACK); /* black */
+ palette_set_color_rgb(machine(), 1, 0x00, 0xc0, 0x00); /* green */
+ palette_set_color_rgb(machine(), 2, 0x00, 0xff, 0x00); /* bright green */
}
@@ -162,7 +162,7 @@ MACHINE_CONFIG_FRAGMENT( mm1m6_video )
MCFG_GFXDECODE(mm1)
MCFG_PALETTE_LENGTH(3)
- MCFG_PALETTE_INIT(mm1)
+ MCFG_PALETTE_INIT_OVERRIDE(mm1_state,mm1)
MCFG_I8275_ADD(I8275_TAG, crtc_intf)
MCFG_UPD7220_ADD(UPD7220_TAG, XTAL_18_720MHz/8, hgdc_intf, mm1_upd7220_map)
diff --git a/src/mess/video/mz700.c b/src/mess/video/mz700.c
index ba46629bc2b..96d1164d7d3 100644
--- a/src/mess/video/mz700.c
+++ b/src/mess/video/mz700.c
@@ -29,19 +29,19 @@
} while (0)
-PALETTE_INIT( mz700 )
+void mz_state::palette_init()
{
int i;
- machine.colortable = colortable_alloc(machine, 8);
+ machine().colortable = colortable_alloc(machine(), 8);
for (i = 0; i < 8; i++)
- colortable_palette_set_color(machine.colortable, i, MAKE_RGB((i & 2) ? 0xff : 0x00, (i & 4) ? 0xff : 0x00, (i & 1) ? 0xff : 0x00));
+ colortable_palette_set_color(machine().colortable, i, MAKE_RGB((i & 2) ? 0xff : 0x00, (i & 4) ? 0xff : 0x00, (i & 1) ? 0xff : 0x00));
for (i = 0; i < 256; i++)
{
- colortable_entry_set_value(machine.colortable, i*2, i & 7);
- colortable_entry_set_value(machine.colortable, i*2+1, (i >> 4) & 7);
+ colortable_entry_set_value(machine().colortable, i*2, i & 7);
+ colortable_entry_set_value(machine().colortable, i*2+1, (i >> 4) & 7);
}
}
@@ -76,10 +76,9 @@ SCREEN_UPDATE_IND16( mz700 )
MZ-800
***************************************************************************/
-VIDEO_START( mz800 )
+VIDEO_START_MEMBER(mz_state,mz800)
{
- mz_state *mz = machine.driver_data<mz_state>();
- machine.gfx[0]->set_source(mz->m_cgram);
+ machine().gfx[0]->set_source(m_cgram);
}
SCREEN_UPDATE_IND16( mz800 )
diff --git a/src/mess/video/mz80.c b/src/mess/video/mz80.c
index 19857cfdd8a..0f849b592e7 100644
--- a/src/mess/video/mz80.c
+++ b/src/mess/video/mz80.c
@@ -31,10 +31,9 @@ const gfx_layout mz80kj_charlayout =
};
/* Video hardware */
-VIDEO_START( mz80k )
+void mz80_state::video_start()
{
- mz80_state *state = machine.driver_data<mz80_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
+ m_p_chargen = memregion("chargen")->base();
}
SCREEN_UPDATE_IND16( mz80k )
diff --git a/src/mess/video/nc.c b/src/mess/video/nc.c
index f80e56817b7..8ca065f23bc 100644
--- a/src/mess/video/nc.c
+++ b/src/mess/video/nc.c
@@ -14,7 +14,7 @@
Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( nc )
+void nc_state::video_start()
{
}
@@ -35,9 +35,9 @@ static const rgb_t nc_palette[NC_NUM_COLOURS] =
/* Initialise the palette */
-PALETTE_INIT( nc )
+void nc_state::palette_init()
{
- palette_set_colors(machine, 0, nc_palette, ARRAY_LENGTH(nc_palette));
+ palette_set_colors(machine(), 0, nc_palette, ARRAY_LENGTH(nc_palette));
}
diff --git a/src/mess/video/nes.c b/src/mess/video/nes.c
index 7865d848d82..b819a7979bd 100644
--- a/src/mess/video/nes.c
+++ b/src/mess/video/nes.c
@@ -17,19 +17,17 @@ static void nes_vh_reset( running_machine &machine )
state->m_ppu->set_vidaccess_callback(nes_ppu_vidaccess);
}
-VIDEO_START( nes )
+void nes_state::video_start()
{
- nes_state *state = machine.driver_data<nes_state>();
- state->m_last_frame_flip = 0;
+ m_last_frame_flip = 0;
- machine.add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(nes_vh_reset),&machine));
+ machine().add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(FUNC(nes_vh_reset),&machine()));
}
-PALETTE_INIT( nes )
+void nes_state::palette_init()
{
- nes_state *state = machine.driver_data<nes_state>();
- state->m_ppu->init_palette(machine, 0);
+ m_ppu->init_palette(machine(), 0);
}
diff --git a/src/mess/video/odyssey2.c b/src/mess/video/odyssey2.c
index b70dfea8ba3..41bdb5ec91d 100644
--- a/src/mess/video/odyssey2.c
+++ b/src/mess/video/odyssey2.c
@@ -132,13 +132,13 @@ static const UINT8 o2_shape[0x40][8]={
-PALETTE_INIT( odyssey2 )
+void odyssey2_state::palette_init()
{
int i;
for ( i = 0; i < 24; i++ )
{
- palette_set_color_rgb( machine, i, odyssey2_colors[i*3], odyssey2_colors[i*3+1], odyssey2_colors[i*3+2] );
+ palette_set_color_rgb( machine(), i, odyssey2_colors[i*3], odyssey2_colors[i*3+1], odyssey2_colors[i*3+2] );
}
}
@@ -564,38 +564,37 @@ static TIMER_CALLBACK( i824x_hblank_callback )
***************************************************************************/
-VIDEO_START( odyssey2 )
+void odyssey2_state::video_start()
{
- odyssey2_state *state = machine.driver_data<odyssey2_state>();
- screen_device *screen = machine.first_screen();
+ screen_device *screen = machine().first_screen();
- memset(state->m_o2_vdc.reg, 0, 0x100);
+ memset(m_o2_vdc.reg, 0, 0x100);
- state->m_o2_snd_shift[0] = state->m_o2_snd_shift[1] = 0;
- state->m_x_beam_pos = 0;
- state->m_y_beam_pos = 0;
- state->m_control_status = 0;
- state->m_collision_status = 0;
- state->m_iff = 0;
- state->m_start_vpos = 0;
- state->m_start_vblank = 0;
- state->m_lum = 0;
+ m_o2_snd_shift[0] = m_o2_snd_shift[1] = 0;
+ m_x_beam_pos = 0;
+ m_y_beam_pos = 0;
+ m_control_status = 0;
+ m_collision_status = 0;
+ m_iff = 0;
+ m_start_vpos = 0;
+ m_start_vblank = 0;
+ m_lum = 0;
- state->m_o2_snd_shift[0] = machine.sample_rate() / 983;
- state->m_o2_snd_shift[1] = machine.sample_rate() / 3933;
+ m_o2_snd_shift[0] = machine().sample_rate() / 983;
+ m_o2_snd_shift[1] = machine().sample_rate() / 3933;
- state->m_start_vpos = I824X_START_Y;
- state->m_start_vblank = I824X_START_Y + I824X_SCREEN_HEIGHT;
- state->m_control_status = 0;
- state->m_iff = 0;
+ m_start_vpos = I824X_START_Y;
+ m_start_vblank = I824X_START_Y + I824X_SCREEN_HEIGHT;
+ m_control_status = 0;
+ m_iff = 0;
- screen->register_screen_bitmap(state->m_tmp_bitmap);
+ screen->register_screen_bitmap(m_tmp_bitmap);
- state->m_i824x_line_timer = machine.scheduler().timer_alloc(FUNC(i824x_scanline_callback));
- state->m_i824x_line_timer->adjust( machine.primary_screen->time_until_pos(1, I824X_START_ACTIVE_SCAN ), 0, machine.primary_screen->scan_period() );
+ m_i824x_line_timer = machine().scheduler().timer_alloc(FUNC(i824x_scanline_callback));
+ m_i824x_line_timer->adjust( machine().primary_screen->time_until_pos(1, I824X_START_ACTIVE_SCAN ), 0, machine().primary_screen->scan_period() );
- state->m_i824x_hblank_timer = machine.scheduler().timer_alloc(FUNC(i824x_hblank_callback));
- state->m_i824x_hblank_timer->adjust( machine.primary_screen->time_until_pos(1, I824X_END_ACTIVE_SCAN + 18 ), 0, machine.primary_screen->scan_period() );
+ m_i824x_hblank_timer = machine().scheduler().timer_alloc(FUNC(i824x_hblank_callback));
+ m_i824x_hblank_timer->adjust( machine().primary_screen->time_until_pos(1, I824X_END_ACTIVE_SCAN + 18 ), 0, machine().primary_screen->scan_period() );
}
/***************************************************************************
diff --git a/src/mess/video/ondra.c b/src/mess/video/ondra.c
index fcde0a77388..558b99e9f7b 100644
--- a/src/mess/video/ondra.c
+++ b/src/mess/video/ondra.c
@@ -13,10 +13,9 @@
-VIDEO_START( ondra )
+void ondra_state::video_start()
{
- ondra_state *state = machine.driver_data<ondra_state>();
- state->m_video_enable = 0;
+ m_video_enable = 0;
}
SCREEN_UPDATE_IND16( ondra )
diff --git a/src/mess/video/orao.c b/src/mess/video/orao.c
index 70e772128df..828f285572e 100644
--- a/src/mess/video/orao.c
+++ b/src/mess/video/orao.c
@@ -10,8 +10,7 @@
#include "emu.h"
#include "includes/orao.h"
-
-VIDEO_START( orao )
+void orao_state::video_start()
{
}
diff --git a/src/mess/video/oric.c b/src/mess/video/oric.c
index def59d749e1..fc4ba22ec74 100644
--- a/src/mess/video/oric.c
+++ b/src/mess/video/oric.c
@@ -286,23 +286,22 @@ SCREEN_UPDATE_IND16( oric )
}
-VIDEO_START( oric )
+void oric_state::video_start()
{
- oric_state *state = machine.driver_data<oric_state>();
// initialise variables
- state->m_vh_state.active_foreground_colour = 0;
- state->m_vh_state.active_background_colour = 0;
- state->m_vh_state.foreground_colour = 0;
- state->m_vh_state.background_colour = 0;
- state->m_vh_state.mode = 0;
- state->m_vh_state.text_attributes = 0;
- state->m_vh_state.read_addr = 0;
- state->m_vh_state.char_data = 0;
- state->m_vh_state.char_base = 0;
+ m_vh_state.active_foreground_colour = 0;
+ m_vh_state.active_background_colour = 0;
+ m_vh_state.foreground_colour = 0;
+ m_vh_state.background_colour = 0;
+ m_vh_state.mode = 0;
+ m_vh_state.text_attributes = 0;
+ m_vh_state.read_addr = 0;
+ m_vh_state.char_data = 0;
+ m_vh_state.char_base = 0;
/* initialise flash timer */
- state->m_vh_state.flash_count = 0;
- machine.scheduler().timer_pulse(attotime::from_hz(50), FUNC(oric_vh_timer_callback));
+ m_vh_state.flash_count = 0;
+ machine().scheduler().timer_pulse(attotime::from_hz(50), FUNC(oric_vh_timer_callback));
/* mode */
- oric_vh_update_attribute(machine,(1<<3)|(1<<4));
+ oric_vh_update_attribute(machine(),(1<<3)|(1<<4));
}
diff --git a/src/mess/video/orion.c b/src/mess/video/orion.c
index 75ccdd130cd..db2a2956b3e 100644
--- a/src/mess/video/orion.c
+++ b/src/mess/video/orion.c
@@ -12,7 +12,7 @@
#include "includes/orion.h"
#include "machine/ram.h"
-VIDEO_START( orion128 )
+VIDEO_START_MEMBER(orion_state,orion128)
{
}
@@ -108,9 +108,9 @@ static const rgb_t orion128_palette[18] = {
MAKE_RGB(0x32, 0xfa, 0xfa) // 11
};
-PALETTE_INIT( orion128 )
+PALETTE_INIT_MEMBER(orion_state,orion128 )
{
- palette_set_colors(machine, 0, orion128_palette, ARRAY_LENGTH(orion128_palette));
+ palette_set_colors(machine(), 0, orion128_palette, ARRAY_LENGTH(orion128_palette));
}
diff --git a/src/mess/video/p2000m.c b/src/mess/video/p2000m.c
index 72cc493471c..0f8875e6e65 100644
--- a/src/mess/video/p2000m.c
+++ b/src/mess/video/p2000m.c
@@ -11,10 +11,9 @@
-VIDEO_START( p2000m )
+VIDEO_START_MEMBER(p2000t_state,p2000m)
{
- p2000t_state *state = machine.driver_data<p2000t_state>();
- state->m_frame_count = 0;
+ m_frame_count = 0;
}
diff --git a/src/mess/video/pc8401a.c b/src/mess/video/pc8401a.c
index 85e7d886fe0..89070c6040c 100644
--- a/src/mess/video/pc8401a.c
+++ b/src/mess/video/pc8401a.c
@@ -3,10 +3,10 @@
/* PC-8401A */
-static PALETTE_INIT( pc8401a )
+PALETTE_INIT_MEMBER(pc8401a_state,pc8401a)
{
- palette_set_color(machine, 0, MAKE_RGB(39, 108, 51));
- palette_set_color(machine, 1, MAKE_RGB(16, 37, 84));
+ palette_set_color(machine(), 0, MAKE_RGB(39, 108, 51));
+ palette_set_color(machine(), 1, MAKE_RGB(16, 37, 84));
}
void pc8401a_state::video_start()
@@ -75,7 +75,7 @@ MACHINE_CONFIG_FRAGMENT( pc8401a_video )
// MCFG_DEFAULT_LAYOUT(layout_pc8401a)
MCFG_PALETTE_LENGTH(2)
- MCFG_PALETTE_INIT(pc8401a)
+ MCFG_PALETTE_INIT_OVERRIDE(pc8401a_state,pc8401a)
/* LCD */
MCFG_SCREEN_ADD(SCREEN_TAG, LCD)
@@ -91,7 +91,7 @@ MACHINE_CONFIG_FRAGMENT( pc8500_video )
MCFG_DEFAULT_LAYOUT(layout_pc8500)
MCFG_PALETTE_LENGTH(2+8)
- MCFG_PALETTE_INIT(pc8401a)
+ MCFG_PALETTE_INIT_OVERRIDE(pc8401a_state,pc8401a)
/* LCD */
MCFG_SCREEN_ADD(SCREEN_TAG, LCD)
diff --git a/src/mess/video/pcw.c b/src/mess/video/pcw.c
index 5c1b511422a..78f548532a3 100644
--- a/src/mess/video/pcw.c
+++ b/src/mess/video/pcw.c
@@ -19,13 +19,12 @@ INLINE void pcw_plot_pixel(bitmap_ind16 &bitmap, int x, int y, UINT32 color)
Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( pcw )
+void pcw_state::video_start()
{
- pcw_state *state = machine.driver_data<pcw_state>();
rectangle rect(0, PCW_PRINTER_WIDTH - 1, 0, PCW_PRINTER_HEIGHT - 1);
- state->m_prn_output = auto_bitmap_ind16_alloc(machine,PCW_PRINTER_WIDTH,PCW_PRINTER_HEIGHT);
- state->m_prn_output->fill(1, rect);
+ m_prn_output = auto_bitmap_ind16_alloc(machine(),PCW_PRINTER_WIDTH,PCW_PRINTER_HEIGHT);
+ m_prn_output->fill(1, rect);
}
/* two colours */
@@ -43,9 +42,9 @@ static const rgb_t pcw_palette[PCW_NUM_COLOURS] =
/* Initialise the palette */
-PALETTE_INIT( pcw )
+void pcw_state::palette_init()
{
- palette_set_colors(machine, 0, pcw_palette, ARRAY_LENGTH(pcw_palette));
+ palette_set_colors(machine(), 0, pcw_palette, ARRAY_LENGTH(pcw_palette));
}
/***************************************************************************
diff --git a/src/mess/video/pcw16.c b/src/mess/video/pcw16.c
index 16fffc34b5a..07587e3b3b7 100644
--- a/src/mess/video/pcw16.c
+++ b/src/mess/video/pcw16.c
@@ -54,12 +54,12 @@ INLINE void pcw16_plot_pixel(bitmap_ind16 &bitmap, int x, int y, UINT32 color)
}
/* Initialise the palette */
-PALETTE_INIT( pcw16 )
+void pcw16_state::palette_init()
{
- palette_set_colors(machine, 0, pcw16_palette, ARRAY_LENGTH(pcw16_palette));
+ palette_set_colors(machine(), 0, pcw16_palette, ARRAY_LENGTH(pcw16_palette));
}
-VIDEO_START( pcw16 )
+void pcw16_state::video_start()
{
}
diff --git a/src/mess/video/pdp1.c b/src/mess/video/pdp1.c
index cd8e09bde8e..d17cd45e4d4 100644
--- a/src/mess/video/pdp1.c
+++ b/src/mess/video/pdp1.c
@@ -41,22 +41,21 @@ INLINE void pdp1_plot_pixel(bitmap_ind16 &bitmap, int x, int y, UINT32 color)
/*
video init
*/
-VIDEO_START( pdp1 )
+void pdp1_state::video_start()
{
- pdp1_state *state = machine.driver_data<pdp1_state>();
- state->m_typewriter_color = color_typewriter_black;
+ m_typewriter_color = color_typewriter_black;
/* alloc bitmaps for our private fun */
- state->m_panel_bitmap.allocate(panel_window_width, panel_window_height, BITMAP_FORMAT_IND16);
- state->m_typewriter_bitmap.allocate(typewriter_window_width, typewriter_window_height, BITMAP_FORMAT_IND16);
+ m_panel_bitmap.allocate(panel_window_width, panel_window_height, BITMAP_FORMAT_IND16);
+ m_typewriter_bitmap.allocate(typewriter_window_width, typewriter_window_height, BITMAP_FORMAT_IND16);
/* set up out bitmaps */
- pdp1_draw_panel_backdrop(machine, state->m_panel_bitmap);
+ pdp1_draw_panel_backdrop(machine(), m_panel_bitmap);
const rectangle typewriter_bitmap_bounds(0, typewriter_window_width-1, 0, typewriter_window_height-1);
- state->m_typewriter_bitmap.fill(pen_typewriter_bg, typewriter_bitmap_bounds);
+ m_typewriter_bitmap.fill(pen_typewriter_bg, typewriter_bitmap_bounds);
- state->m_crt = machine.device("crt");
+ m_crt = machine().device("crt");
}
diff --git a/src/mess/video/pecom.c b/src/mess/video/pecom.c
index b9e027dc125..811ce07bf5a 100644
--- a/src/mess/video/pecom.c
+++ b/src/mess/video/pecom.c
@@ -94,23 +94,22 @@ static CDP1869_INTERFACE( pecom_cdp1869_intf )
DEVCB_LINE(pecom_prd_w)
};
-static VIDEO_START( pecom )
+VIDEO_START_MEMBER(pecom_state,pecom)
{
- pecom_state *state = machine.driver_data<pecom_state>();
/* allocate memory */
- state->m_charram = auto_alloc_array(machine, UINT8, PECOM_CHAR_RAM_SIZE);
+ m_charram = auto_alloc_array(machine(), UINT8, PECOM_CHAR_RAM_SIZE);
/* register for state saving */
- state->save_item(NAME(state->m_reset));
- state->save_item(NAME(state->m_dma));
- state->save_pointer(NAME(state->m_charram), PECOM_CHAR_RAM_SIZE);
+ save_item(NAME(m_reset));
+ save_item(NAME(m_dma));
+ save_pointer(NAME(m_charram), PECOM_CHAR_RAM_SIZE);
}
MACHINE_CONFIG_FRAGMENT( pecom_video )
MCFG_CDP1869_SCREEN_PAL_ADD(CDP1869_TAG, SCREEN_TAG, CDP1869_DOT_CLK_PAL)
- MCFG_VIDEO_START(pecom)
+ MCFG_VIDEO_START_OVERRIDE(pecom_state,pecom)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/video/pk8020.c b/src/mess/video/pk8020.c
index bbb55d0c138..a265879ea33 100644
--- a/src/mess/video/pk8020.c
+++ b/src/mess/video/pk8020.c
@@ -11,7 +11,7 @@
#include "includes/pk8020.h"
#include "machine/ram.h"
-VIDEO_START( pk8020 )
+void pk8020_state::video_start()
{
}
@@ -49,10 +49,10 @@ SCREEN_UPDATE_IND16( pk8020 )
return 0;
}
-PALETTE_INIT( pk8020 )
+void pk8020_state::palette_init()
{
int i;
for(i=0;i<16;i++) {
- palette_set_color( machine, i, MAKE_RGB(i*0x10,i*0x10,i*0x10) );
+ palette_set_color( machine(), i, MAKE_RGB(i*0x10,i*0x10,i*0x10) );
}
}
diff --git a/src/mess/video/pmd85.c b/src/mess/video/pmd85.c
index 7ead1c05c4f..36fc4d71945 100644
--- a/src/mess/video/pmd85.c
+++ b/src/mess/video/pmd85.c
@@ -19,16 +19,16 @@ const unsigned char pmd85_palette[3*3] =
0xff, 0xff, 0xff
};
-PALETTE_INIT( pmd85 )
+void pmd85_state::palette_init()
{
int i;
for ( i = 0; i < sizeof(pmd85_palette) / 3; i++ ) {
- palette_set_color_rgb(machine, i, pmd85_palette[i*3], pmd85_palette[i*3+1], pmd85_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, pmd85_palette[i*3], pmd85_palette[i*3+1], pmd85_palette[i*3+2]);
}
}
-VIDEO_START( pmd85 )
+void pmd85_state::video_start()
{
}
diff --git a/src/mess/video/poly88.c b/src/mess/video/poly88.c
index 40f7180537b..dbbbdee9dc5 100644
--- a/src/mess/video/poly88.c
+++ b/src/mess/video/poly88.c
@@ -21,10 +21,9 @@ static const UINT8 mcm6571a_shift[] =
1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0
};
-VIDEO_START( poly88 )
+void poly88_state::video_start()
{
- poly88_state *state = machine.driver_data<poly88_state>();
- state->m_FNT = state->memregion("chargen")->base();
+ m_FNT = memregion("chargen")->base();
}
SCREEN_UPDATE_IND16( poly88 )
diff --git a/src/mess/video/pp01.c b/src/mess/video/pp01.c
index 915c4ad791f..4f03d1dda6a 100644
--- a/src/mess/video/pp01.c
+++ b/src/mess/video/pp01.c
@@ -11,7 +11,7 @@
#include "includes/pp01.h"
#include "machine/ram.h"
-VIDEO_START( pp01 )
+void pp01_state::video_start()
{
}
@@ -51,7 +51,7 @@ static const rgb_t pp01_palette[8] = {
MAKE_RGB(0x80, 0x80, 0x80), // 7
};
-PALETTE_INIT( pp01 )
+void pp01_state::palette_init()
{
- palette_set_colors(machine, 0, pp01_palette, ARRAY_LENGTH(pp01_palette));
+ palette_set_colors(machine(), 0, pp01_palette, ARRAY_LENGTH(pp01_palette));
}
diff --git a/src/mess/video/radio86.c b/src/mess/video/radio86.c
index 98ea47de9fe..1e80a99efe4 100644
--- a/src/mess/video/radio86.c
+++ b/src/mess/video/radio86.c
@@ -122,8 +122,8 @@ static const rgb_t radio86_palette[3] = {
MAKE_RGB(0xff, 0xff, 0xff) // highlight
};
-PALETTE_INIT( radio86 )
+PALETTE_INIT_MEMBER(radio86_state,radio86)
{
- palette_set_colors(machine, 0, radio86_palette, ARRAY_LENGTH(radio86_palette));
+ palette_set_colors(machine(), 0, radio86_palette, ARRAY_LENGTH(radio86_palette));
}
diff --git a/src/mess/video/rmnimbus.c b/src/mess/video/rmnimbus.c
index 1da619921fb..cdddfa38e25 100644
--- a/src/mess/video/rmnimbus.c
+++ b/src/mess/video/rmnimbus.c
@@ -628,28 +628,26 @@ static void video_regdump(running_machine &machine, int ref, int params, const c
}
}
-VIDEO_START( nimbus )
+void rmnimbus_state::video_start()
{
- rmnimbus_state *state = machine.driver_data<rmnimbus_state>();
- state->m_debug_video=0;
+ m_debug_video=0;
logerror("VIDEO_START\n");
- if (machine.debug_flags & DEBUG_FLAG_ENABLED)
+ if (machine().debug_flags & DEBUG_FLAG_ENABLED)
{
- debug_console_register_command(machine, "nimbus_vid_debug", CMDFLAG_NONE, 0, 0, 1, video_debug);
- debug_console_register_command(machine, "nimbus_vid_regdump", CMDFLAG_NONE, 0, 0, 1, video_regdump);
+ debug_console_register_command(machine(), "nimbus_vid_debug", CMDFLAG_NONE, 0, 0, 1, video_debug);
+ debug_console_register_command(machine(), "nimbus_vid_regdump", CMDFLAG_NONE, 0, 0, 1, video_regdump);
}
}
-VIDEO_RESET( nimbus )
+void rmnimbus_state::video_reset()
{
- rmnimbus_state *state = machine.driver_data<rmnimbus_state>();
// When we reset clear the video registers and video memory.
- memset(&state->m_vidregs,0x00,sizeof(state->m_vidregs));
- memset(&state->m_video_mem,0,sizeof(state->m_video_mem));
+ memset(&m_vidregs,0x00,sizeof(m_vidregs));
+ memset(&m_video_mem,0,sizeof(m_video_mem));
- state->m_bpp=4; // bits per pixel
+ m_bpp=4; // bits per pixel
logerror("Video reset\n");
}
diff --git a/src/mess/video/sapi1.c b/src/mess/video/sapi1.c
index 1530ed4f8a2..176c7dedaff 100644
--- a/src/mess/video/sapi1.c
+++ b/src/mess/video/sapi1.c
@@ -84,10 +84,9 @@ static const UINT8 MHB2501[] = {
};
-VIDEO_START( sapi1 )
+VIDEO_START_MEMBER(sapi1_state,sapi1)
{
- sapi1_state *state = machine.driver_data<sapi1_state>();
- state->m_refresh_counter = 0;
+ m_refresh_counter = 0;
}
SCREEN_UPDATE_IND16( sapi1 )
@@ -140,7 +139,7 @@ SCREEN_UPDATE_IND16( sapi1 )
}
-VIDEO_START( sapizps3 )
+VIDEO_START_MEMBER(sapi1_state,sapizps3)
{
}
diff --git a/src/mess/video/special.c b/src/mess/video/special.c
index dae46d939ff..5237ddce0ac 100644
--- a/src/mess/video/special.c
+++ b/src/mess/video/special.c
@@ -10,7 +10,7 @@
#include "includes/special.h"
-VIDEO_START( special )
+VIDEO_START_MEMBER(special_state,special)
{
}
@@ -31,7 +31,7 @@ SCREEN_UPDATE_IND16( special )
}
return 0;
}
-VIDEO_START( specialp )
+VIDEO_START_MEMBER(special_state,specialp)
{
}
@@ -73,17 +73,16 @@ const rgb_t specimx_palette[16] = {
MAKE_RGB(0xff, 0xff, 0xff) // F
};
-PALETTE_INIT( specimx )
+PALETTE_INIT_MEMBER(special_state,specimx)
{
- palette_set_colors(machine, 0, specimx_palette, ARRAY_LENGTH(specimx_palette));
+ palette_set_colors(machine(), 0, specimx_palette, ARRAY_LENGTH(specimx_palette));
}
-VIDEO_START( specimx )
+VIDEO_START_MEMBER(special_state,specimx)
{
- special_state *state = machine.driver_data<special_state>();
- state->m_specimx_colorram = auto_alloc_array(machine, UINT8, 0x3000);
- memset(state->m_specimx_colorram,0x70,0x3000);
+ m_specimx_colorram = auto_alloc_array(machine(), UINT8, 0x3000);
+ memset(m_specimx_colorram,0x70,0x3000);
}
SCREEN_UPDATE_IND16( specimx )
@@ -116,13 +115,13 @@ static const rgb_t erik_palette[8] = {
MAKE_RGB(0xff, 0xff, 0xff) // 7
};
-PALETTE_INIT( erik )
+PALETTE_INIT_MEMBER(special_state,erik)
{
- palette_set_colors(machine, 0, erik_palette, ARRAY_LENGTH(erik_palette));
+ palette_set_colors(machine(), 0, erik_palette, ARRAY_LENGTH(erik_palette));
}
-VIDEO_START( erik )
+VIDEO_START_MEMBER(special_state,erik)
{
}
diff --git a/src/mess/video/spectrum.c b/src/mess/video/spectrum.c
index 6fbed0a07c4..b5d32100ebe 100644
--- a/src/mess/video/spectrum.c
+++ b/src/mess/video/spectrum.c
@@ -19,32 +19,30 @@
/***************************************************************************
Start the video hardware emulation.
***************************************************************************/
-VIDEO_START( spectrum )
+VIDEO_START_MEMBER(spectrum_state,spectrum)
{
- spectrum_state *state = machine.driver_data<spectrum_state>();
- state->m_LastDisplayedBorderColor = -1;
- state->m_frame_invert_count = 25;
- state->m_frame_number = 0;
- state->m_flash_invert = 0;
+ m_LastDisplayedBorderColor = -1;
+ m_frame_invert_count = 25;
+ m_frame_number = 0;
+ m_flash_invert = 0;
- spectrum_EventList_Initialise(machine, 30000);
+ spectrum_EventList_Initialise(machine(), 30000);
- state->m_retrace_cycles = SPEC_RETRACE_CYCLES;
+ m_retrace_cycles = SPEC_RETRACE_CYCLES;
- state->m_screen_location = state->m_video_ram;
+ m_screen_location = m_video_ram;
}
-VIDEO_START( spectrum_128 )
+VIDEO_START_MEMBER(spectrum_state,spectrum_128)
{
- spectrum_state *state = machine.driver_data<spectrum_state>();
- state->m_LastDisplayedBorderColor = -1;
- state->m_frame_invert_count = 25;
- state->m_frame_number = 0;
- state->m_flash_invert = 0;
+ m_LastDisplayedBorderColor = -1;
+ m_frame_invert_count = 25;
+ m_frame_number = 0;
+ m_flash_invert = 0;
- spectrum_EventList_Initialise(machine, 30000);
+ spectrum_EventList_Initialise(machine(), 30000);
- state->m_retrace_cycles = SPEC128_RETRACE_CYCLES;
+ m_retrace_cycles = SPEC128_RETRACE_CYCLES;
}
@@ -191,9 +189,9 @@ static const rgb_t spectrum_palette[16] = {
MAKE_RGB(0xff, 0xff, 0xff)
};
/* Initialise the palette */
-PALETTE_INIT( spectrum )
+PALETTE_INIT_MEMBER(spectrum_state,spectrum)
{
- palette_set_colors(machine, 0, spectrum_palette, ARRAY_LENGTH(spectrum_palette));
+ palette_set_colors(machine(), 0, spectrum_palette, ARRAY_LENGTH(spectrum_palette));
}
/***************************************************************************
diff --git a/src/mess/video/ssystem3.c b/src/mess/video/ssystem3.c
index 56e046c62de..82d1a3186b2 100644
--- a/src/mess/video/ssystem3.c
+++ b/src/mess/video/ssystem3.c
@@ -36,21 +36,20 @@ static const unsigned char ssystem3_palette[] =
};
-PALETTE_INIT( ssystem3 )
+void ssystem3_state::palette_init()
{
int i;
for ( i = 0; i < sizeof(ssystem3_palette) / 3; i++ ) {
- palette_set_color_rgb(machine, i, ssystem3_palette[i*3], ssystem3_palette[i*3+1], ssystem3_palette[i*3+2]);
+ palette_set_color_rgb(machine(), i, ssystem3_palette[i*3], ssystem3_palette[i*3+1], ssystem3_palette[i*3+2]);
}
}
-VIDEO_START( ssystem3 )
+void ssystem3_state::video_start()
{
- ssystem3_state *state = machine.driver_data<ssystem3_state>();
// artwork seams to need this
- state->m_videoram = auto_alloc_array(machine, UINT8, 6 * 2 + 24);
+ m_videoram = auto_alloc_array(machine(), UINT8, 6 * 2 + 24);
}
diff --git a/src/mess/video/super80.c b/src/mess/video/super80.c
index b5749e72ab3..f3c0a5b8915 100644
--- a/src/mess/video/super80.c
+++ b/src/mess/video/super80.c
@@ -63,9 +63,9 @@ static void palette_set_colors_rgb(running_machine &machine, const UINT8 *colors
}
}
-PALETTE_INIT( super80m )
+PALETTE_INIT_MEMBER(super80_state,super80m)
{
- palette_set_colors_rgb(machine, super80_rgb_palette);
+ palette_set_colors_rgb(machine(), super80_rgb_palette);
}
@@ -280,11 +280,10 @@ SCREEN_UPDATE_IND16( super80m )
return 0;
}
-VIDEO_START( super80 )
+VIDEO_START_MEMBER(super80_state,super80)
{
- super80_state *state = machine.driver_data<super80_state>();
- state->m_vidpg = 0xfe00;
- state->m_p_chargen = state->memregion("chargen")->base();
+ m_vidpg = 0xfe00;
+ m_p_chargen = memregion("chargen")->base();
}
/**************************** I/O PORTS *****************************************************************/
@@ -378,12 +377,11 @@ void super80_state::mc6845_cursor_configure()
if (curs_type == 3) for (i = r11; i < r10;i++) m_mc6845_cursor[i]=0; // now take a bite out of the middle
}
-VIDEO_START( super80v )
+VIDEO_START_MEMBER(super80_state,super80v)
{
- super80_state *state = machine.driver_data<super80_state>();
- state->m_p_pcgram = machine.root_device().memregion("maincpu")->base()+0xf000;
- state->m_p_videoram = machine.root_device().memregion("videoram")->base();
- state->m_p_colorram = state->memregion("colorram")->base();
+ m_p_pcgram = machine().root_device().memregion("maincpu")->base()+0xf000;
+ m_p_videoram = machine().root_device().memregion("videoram")->base();
+ m_p_colorram = memregion("colorram")->base();
}
SCREEN_UPDATE_RGB32( super80v )
diff --git a/src/mess/video/ti85.c b/src/mess/video/ti85.c
index 480c637660b..8b3335083f8 100644
--- a/src/mess/video/ti85.c
+++ b/src/mess/video/ti85.c
@@ -97,43 +97,42 @@ static const unsigned short ti85_palette[32][7] =
{ 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf }
};
-PALETTE_INIT( ti85 )
+void ti85_state::palette_init()
{
- ti85_state *state = machine.driver_data<ti85_state>();
UINT8 i, j, r, g, b;
- machine.colortable = colortable_alloc(machine, 224);
+ machine().colortable = colortable_alloc(machine(), 224);
for ( i = 0; i < 224; i++ )
{
r = ti85_colors[i][0]; g = ti85_colors[i][1]; b = ti85_colors[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));
}
for (i=0; i < 32; i++)
for (j=0; j < 7; j++)
- colortable_entry_set_value(machine.colortable, i*7+j, ti85_palette[i][j]);
+ colortable_entry_set_value(machine().colortable, i*7+j, ti85_palette[i][j]);
- if (!strncmp(machine.system().name, "ti81", 4))
+ if (!strncmp(machine().system().name, "ti81", 4))
{
- state->m_ti_video_memory_size = TI81_VIDEO_MEMORY_SIZE;
- state->m_ti_screen_x_size = TI81_SCREEN_X_SIZE;
- state->m_ti_screen_y_size = TI81_SCREEN_Y_SIZE;
- state->m_ti_number_of_frames = TI81_NUMBER_OF_FRAMES;
+ m_ti_video_memory_size = TI81_VIDEO_MEMORY_SIZE;
+ m_ti_screen_x_size = TI81_SCREEN_X_SIZE;
+ m_ti_screen_y_size = TI81_SCREEN_Y_SIZE;
+ m_ti_number_of_frames = TI81_NUMBER_OF_FRAMES;
}
- else if (!strncmp(machine.system().name, "ti85", 4))
+ else if (!strncmp(machine().system().name, "ti85", 4))
{
- state->m_ti_video_memory_size = TI85_VIDEO_MEMORY_SIZE;
- state->m_ti_screen_x_size = TI85_SCREEN_X_SIZE;
- state->m_ti_screen_y_size = TI85_SCREEN_Y_SIZE;
- state->m_ti_number_of_frames = TI85_NUMBER_OF_FRAMES;
+ m_ti_video_memory_size = TI85_VIDEO_MEMORY_SIZE;
+ m_ti_screen_x_size = TI85_SCREEN_X_SIZE;
+ m_ti_screen_y_size = TI85_SCREEN_Y_SIZE;
+ m_ti_number_of_frames = TI85_NUMBER_OF_FRAMES;
}
- else if (!strncmp(machine.system().name, "ti86", 4))
+ else if (!strncmp(machine().system().name, "ti86", 4))
{
- state->m_ti_video_memory_size = TI86_VIDEO_MEMORY_SIZE;
- state->m_ti_screen_x_size = TI86_SCREEN_X_SIZE;
- state->m_ti_screen_y_size = TI86_SCREEN_Y_SIZE;
- state->m_ti_number_of_frames = TI86_NUMBER_OF_FRAMES;
+ m_ti_video_memory_size = TI86_VIDEO_MEMORY_SIZE;
+ m_ti_screen_x_size = TI86_SCREEN_X_SIZE;
+ m_ti_screen_y_size = TI86_SCREEN_Y_SIZE;
+ m_ti_number_of_frames = TI86_NUMBER_OF_FRAMES;
}
else
{
@@ -141,10 +140,10 @@ PALETTE_INIT( ti85 )
return;
}
- state->m_frames = auto_alloc_array_clear(machine, UINT8, state->m_ti_number_of_frames*state->m_ti_video_memory_size);
+ m_frames = auto_alloc_array_clear(machine(), UINT8, m_ti_number_of_frames*m_ti_video_memory_size);
}
-VIDEO_START( ti85 )
+void ti85_state::video_start()
{
}
@@ -189,8 +188,8 @@ SCREEN_UPDATE_IND16( ti85 )
return 0;
}
-PALETTE_INIT( ti82 )
+PALETTE_INIT_MEMBER(ti85_state,ti82)
{
- palette_set_color(machine, 0, MAKE_RGB(160, 190, 170));
- palette_set_color(machine, 1, MAKE_RGB(83, 111, 138));
+ palette_set_color(machine(), 0, MAKE_RGB(160, 190, 170));
+ palette_set_color(machine(), 1, MAKE_RGB(83, 111, 138));
}
diff --git a/src/mess/video/timex.c b/src/mess/video/timex.c
index 79455ee29fd..4ba932594a0 100644
--- a/src/mess/video/timex.c
+++ b/src/mess/video/timex.c
@@ -23,11 +23,10 @@ INLINE void spectrum_plot_pixel(bitmap_ind16 &bitmap, int x, int y, UINT32 color
}
/* Update FLASH status for ts2068. Assumes flash update every 1/2s. */
-VIDEO_START( ts2068 )
+VIDEO_START_MEMBER(spectrum_state,ts2068)
{
- spectrum_state *state = machine.driver_data<spectrum_state>();
- VIDEO_START_CALL( spectrum );
- state->m_frame_invert_count = 30;
+ VIDEO_START_CALL_MEMBER( spectrum );
+ m_frame_invert_count = 30;
}
diff --git a/src/mess/video/trs80.c b/src/mess/video/trs80.c
index 2e7fa694a8d..05ef2fac462 100644
--- a/src/mess/video/trs80.c
+++ b/src/mess/video/trs80.c
@@ -42,12 +42,11 @@ WRITE8_MEMBER( trs80_state::trs80m4_88_w )
}
-VIDEO_START( trs80 )
+void trs80_state::video_start()
{
- trs80_state *state = machine.driver_data<trs80_state>();
- state->m_p_chargen = state->memregion("chargen")->base();
- state->m_size_store = 0xff;
- state->m_mode &= 2;
+ m_p_chargen = memregion("chargen")->base();
+ m_size_store = 0xff;
+ m_mode &= 2;
}
@@ -587,7 +586,7 @@ static const rgb_t lnw80_palette[] =
MAKE_RGB(0, 0, 0), // black
};
-PALETTE_INIT( lnw80 )
+PALETTE_INIT_MEMBER(trs80_state,lnw80)
{
- palette_set_colors(machine, 0, lnw80_palette, ARRAY_LENGTH(lnw80_palette));
+ palette_set_colors(machine(), 0, lnw80_palette, ARRAY_LENGTH(lnw80_palette));
}
diff --git a/src/mess/video/tx0.c b/src/mess/video/tx0.c
index 00c791e063d..2d11c94d076 100644
--- a/src/mess/video/tx0.c
+++ b/src/mess/video/tx0.c
@@ -27,22 +27,21 @@ static void tx0_draw_panel(running_machine &machine, bitmap_ind16 &bitmap);
/*
video init
*/
-VIDEO_START( tx0 )
+void tx0_state::video_start()
{
- tx0_state *state = machine.driver_data<tx0_state>();
- state->m_typewriter_color = color_typewriter_black;
+ m_typewriter_color = color_typewriter_black;
/* alloc bitmaps for our private fun */
- state->m_panel_bitmap.allocate(panel_window_width, panel_window_height, BITMAP_FORMAT_IND16);
- state->m_typewriter_bitmap.allocate(typewriter_window_width, typewriter_window_height, BITMAP_FORMAT_IND16);
+ m_panel_bitmap.allocate(panel_window_width, panel_window_height, BITMAP_FORMAT_IND16);
+ m_typewriter_bitmap.allocate(typewriter_window_width, typewriter_window_height, BITMAP_FORMAT_IND16);
/* set up out bitmaps */
- tx0_draw_panel_backdrop(machine, state->m_panel_bitmap);
+ tx0_draw_panel_backdrop(machine(), m_panel_bitmap);
const rectangle typewriter_bitmap_bounds(0, typewriter_window_width-1, 0, typewriter_window_height-1);
- state->m_typewriter_bitmap.fill(pen_typewriter_bg, typewriter_bitmap_bounds);
+ m_typewriter_bitmap.fill(pen_typewriter_bg, typewriter_bitmap_bounds);
- state->m_crt = machine.device("crt");
+ m_crt = machine().device("crt");
}
diff --git a/src/mess/video/ut88.c b/src/mess/video/ut88.c
index 3d77ad5caea..b4b607f0ed6 100644
--- a/src/mess/video/ut88.c
+++ b/src/mess/video/ut88.c
@@ -21,7 +21,7 @@ const gfx_layout ut88_charlayout =
8*8 /* size of one char */
};
-VIDEO_START( ut88 )
+VIDEO_START_MEMBER(ut88_state,ut88)
{
}
diff --git a/src/mess/video/vc4000.c b/src/mess/video/vc4000.c
index 0f52a9ba849..f01dc3b804c 100644
--- a/src/mess/video/vc4000.c
+++ b/src/mess/video/vc4000.c
@@ -22,43 +22,42 @@
-VIDEO_START(vc4000)
+void vc4000_state::video_start()
{
- vc4000_state *state = machine.driver_data<vc4000_state>();
- screen_device *screen = machine.first_screen();
+ screen_device *screen = machine().first_screen();
int i;
for (i=0;i<0x20; i++)
{
- state->m_sprite_collision[i]=0;
- if ((i&3)==3) state->m_sprite_collision[i]|=0x20;
- if ((i&5)==5) state->m_sprite_collision[i]|=0x10;
- if ((i&9)==9) state->m_sprite_collision[i]|=8;
- if ((i&6)==6) state->m_sprite_collision[i]|=4;
- if ((i&0xa)==0xa) state->m_sprite_collision[i]|=2;
- if ((i&0xc)==0xc) state->m_sprite_collision[i]|=1;
- state->m_background_collision[i]=0;
- if ((i&0x11)==0x11) state->m_background_collision[i]|=0x80;
- if ((i&0x12)==0x12) state->m_background_collision[i]|=0x40;
- if ((i&0x14)==0x14) state->m_background_collision[i]|=0x20;
- if ((i&0x18)==0x18) state->m_background_collision[i]|=0x10;
+ m_sprite_collision[i]=0;
+ if ((i&3)==3) m_sprite_collision[i]|=0x20;
+ if ((i&5)==5) m_sprite_collision[i]|=0x10;
+ if ((i&9)==9) m_sprite_collision[i]|=8;
+ if ((i&6)==6) m_sprite_collision[i]|=4;
+ if ((i&0xa)==0xa) m_sprite_collision[i]|=2;
+ if ((i&0xc)==0xc) m_sprite_collision[i]|=1;
+ m_background_collision[i]=0;
+ if ((i&0x11)==0x11) m_background_collision[i]|=0x80;
+ if ((i&0x12)==0x12) m_background_collision[i]|=0x40;
+ if ((i&0x14)==0x14) m_background_collision[i]|=0x20;
+ if ((i&0x18)==0x18) m_background_collision[i]|=0x10;
}
- state->m_joy1_x = STICKCENTRE;
- state->m_joy1_y = STICKCENTRE;
- state->m_joy2_x = STICKCENTRE;
- state->m_joy2_y = STICKCENTRE;
+ m_joy1_x = STICKCENTRE;
+ m_joy1_y = STICKCENTRE;
+ m_joy2_x = STICKCENTRE;
+ m_joy2_y = STICKCENTRE;
- memset(&state->m_video, 0, sizeof(state->m_video));
+ memset(&m_video, 0, sizeof(m_video));
for (i=0; i<3; i++)
{
- state->m_video.sprites[i].data = &state->m_video.reg.d.sprites[i];
- state->m_video.sprites[i].mask = 1 << i;
+ m_video.sprites[i].data = &m_video.reg.d.sprites[i];
+ m_video.sprites[i].mask = 1 << i;
}
- state->m_video.sprites[3].data = &state->m_video.reg.d.sprite4;
- state->m_video.sprites[3].mask = 1 << 3;
+ m_video.sprites[3].data = &m_video.reg.d.sprite4;
+ m_video.sprites[3].mask = 1 << 3;
- state->m_bitmap = auto_bitmap_ind16_alloc(machine, screen->width(), screen->height());
+ m_bitmap = auto_bitmap_ind16_alloc(machine(), screen->width(), screen->height());
}
INLINE UINT8 vc4000_joystick_return_to_centre(UINT8 joy)
diff --git a/src/mess/video/vector06.c b/src/mess/video/vector06.c
index 3446fbbaa37..a2ba2ad50c8 100644
--- a/src/mess/video/vector06.c
+++ b/src/mess/video/vector06.c
@@ -10,7 +10,7 @@
#include "includes/vector06.h"
-VIDEO_START( vector06 )
+void vector06_state::video_start()
{
}
@@ -53,8 +53,8 @@ SCREEN_UPDATE_IND16( vector06 )
return 0;
}
-PALETTE_INIT( vector06 )
+void vector06_state::palette_init()
{
for (UINT8 i=0; i<16; i++)
- palette_set_color( machine, i, RGB_BLACK );
+ palette_set_color( machine(), i, RGB_BLACK );
}
diff --git a/src/mess/video/vtech2.c b/src/mess/video/vtech2.c
index f24e0d786e3..a68037d2409 100644
--- a/src/mess/video/vtech2.c
+++ b/src/mess/video/vtech2.c
@@ -40,7 +40,7 @@
* 1 1 1 1 GR1 bank 3 0E000-0FFFF
*/
-VIDEO_START( laser )
+void vtech2_state::video_start()
{
}
diff --git a/src/mess/video/x68k.c b/src/mess/video/x68k.c
index 09cb0e5f2bb..68d0b048509 100644
--- a/src/mess/video/x68k.c
+++ b/src/mess/video/x68k.c
@@ -1054,7 +1054,7 @@ static void x68k_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, in
}
}
-PALETTE_INIT( x68000 )
+PALETTE_INIT_MEMBER(x68k_state,x68000)
{
int pal;
int r,g,b;
@@ -1064,7 +1064,7 @@ PALETTE_INIT( x68000 )
g = (pal & 0x7c00) >> 7;
r = (pal & 0x03e0) >> 2;
b = (pal & 0x001f) << 3;
- palette_set_color_rgb(machine,pal+512,r,g,b);
+ palette_set_color_rgb(machine(),pal+512,r,g,b);
}
}
@@ -1130,35 +1130,34 @@ TILE_GET_INFO_MEMBER(x68k_state::x68k_get_bg1_tile_16)
SET_TILE_INFO_MEMBER(1,code,colour+16,flags);
}
-VIDEO_START( x68000 )
+VIDEO_START_MEMBER(x68k_state,x68000)
{
- x68k_state *state = machine.driver_data<x68k_state>();
int gfx_index;
for (gfx_index = 0; gfx_index < MAX_GFX_ELEMENTS; gfx_index++)
- if (machine.gfx[gfx_index] == 0)
+ if (machine().gfx[gfx_index] == 0)
break;
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine.gfx[gfx_index] = auto_alloc(machine, gfx_element(machine, x68k_pcg_8, machine.root_device().memregion("user1")->base(), 32, 0));
+ machine().gfx[gfx_index] = auto_alloc(machine(), gfx_element(machine(), x68k_pcg_8, machine().root_device().memregion("user1")->base(), 32, 0));
gfx_index++;
- machine.gfx[gfx_index] = auto_alloc(machine, gfx_element(machine, x68k_pcg_16, state->memregion("user1")->base(), 32, 0));
- machine.gfx[gfx_index]->set_colors(32);
+ machine().gfx[gfx_index] = auto_alloc(machine(), gfx_element(machine(), x68k_pcg_16, memregion("user1")->base(), 32, 0));
+ machine().gfx[gfx_index]->set_colors(32);
/* Tilemaps */
- state->m_bg0_8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(x68k_state::x68k_get_bg0_tile),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_bg1_8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(x68k_state::x68k_get_bg1_tile),state),TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_bg0_16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(x68k_state::x68k_get_bg0_tile_16),state),TILEMAP_SCAN_ROWS,16,16,64,64);
- state->m_bg1_16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(x68k_state::x68k_get_bg1_tile_16),state),TILEMAP_SCAN_ROWS,16,16,64,64);
+ m_bg0_8 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(x68k_state::x68k_get_bg0_tile),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg1_8 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(x68k_state::x68k_get_bg1_tile),this),TILEMAP_SCAN_ROWS,8,8,64,64);
+ m_bg0_16 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(x68k_state::x68k_get_bg0_tile_16),this),TILEMAP_SCAN_ROWS,16,16,64,64);
+ m_bg1_16 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(x68k_state::x68k_get_bg1_tile_16),this),TILEMAP_SCAN_ROWS,16,16,64,64);
- state->m_bg0_8->set_transparent_pen(0);
- state->m_bg1_8->set_transparent_pen(0);
- state->m_bg0_16->set_transparent_pen(0);
- state->m_bg1_16->set_transparent_pen(0);
+ m_bg0_8->set_transparent_pen(0);
+ m_bg1_8->set_transparent_pen(0);
+ m_bg0_16->set_transparent_pen(0);
+ m_bg1_16->set_transparent_pen(0);
-// state->m_scanline_timer->adjust(attotime::zero, 0, attotime::from_hz(55.45)/568);
+// m_scanline_timer->adjust(attotime::zero, 0, attotime::from_hz(55.45)/568);
}
SCREEN_UPDATE_IND16( x68000 )
diff --git a/src/mess/video/z88.c b/src/mess/video/z88.c
index bb9548455e8..5eee6101db6 100644
--- a/src/mess/video/z88.c
+++ b/src/mess/video/z88.c
@@ -26,11 +26,11 @@ inline UINT8* z88_state::convert_address(UINT32 offset)
***************************************************************************/
// Initialise the palette
-PALETTE_INIT( z88 )
+void z88_state::palette_init()
{
- palette_set_color(machine, 0, MAKE_RGB(138, 146, 148));
- palette_set_color(machine, 1, MAKE_RGB(92, 83, 88));
- palette_set_color(machine, 2, MAKE_RGB(122, 126, 129));
+ palette_set_color(machine(), 0, MAKE_RGB(138, 146, 148));
+ palette_set_color(machine(), 1, MAKE_RGB(92, 83, 88));
+ palette_set_color(machine(), 2, MAKE_RGB(122, 126, 129));
}
/* temp - change to gfxelement structure */
diff --git a/src/mess/video/zx.c b/src/mess/video/zx.c
index a809ba7be29..aa68918f84f 100644
--- a/src/mess/video/zx.c
+++ b/src/mess/video/zx.c
@@ -190,12 +190,11 @@ void zx_ula_r(running_machine &machine, int offs, const char *region, const UINT
}
}
-VIDEO_START( zx )
+void zx_state::video_start()
{
- zx_state *state = machine.driver_data<zx_state>();
- state->m_ula_nmi = machine.scheduler().timer_alloc(FUNC(zx_ula_nmi));
- state->m_ula_irq_active = 0;
- machine.primary_screen->register_screen_bitmap(state->m_bitmap);
+ m_ula_nmi = machine().scheduler().timer_alloc(FUNC(zx_ula_nmi));
+ m_ula_irq_active = 0;
+ machine().primary_screen->register_screen_bitmap(m_bitmap);
}
SCREEN_VBLANK( zx )