summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/emu/bus/c64/xl80.c2
-rw-r--r--src/emu/bus/comx35/clm.c2
-rw-r--r--src/emu/bus/iq151/video32.c23
-rw-r--r--src/emu/bus/iq151/video32.h2
-rw-r--r--src/emu/bus/iq151/video64.c22
-rw-r--r--src/emu/bus/iq151/video64.h2
-rw-r--r--src/emu/drawgfx.c139
-rw-r--r--src/emu/drawgfx.h60
-rw-r--r--src/emu/driver.c1
-rw-r--r--src/emu/driver.h4
-rw-r--r--src/emu/machine.c4
-rw-r--r--src/emu/machine.h1
-rw-r--r--src/emu/machine/tc009xlvc.c35
-rw-r--r--src/emu/machine/tc009xlvc.h8
-rw-r--r--src/emu/mconfig.c1
-rw-r--r--src/emu/mconfig.h3
-rw-r--r--src/emu/tilemap.c6
-rw-r--r--src/emu/tilemap.h12
-rw-r--r--src/emu/ui/viewgfx.c21
-rw-r--r--src/emu/validity.c77
-rw-r--r--src/emu/validity.h4
-rw-r--r--src/emu/video.c4
-rw-r--r--src/emu/video/stvvdp2.c66
-rw-r--r--src/mame/drivers/1942.c4
-rw-r--r--src/mame/drivers/1943.c2
-rw-r--r--src/mame/drivers/1945kiii.c6
-rw-r--r--src/mame/drivers/2mindril.c2
-rw-r--r--src/mame/drivers/3x3puzzl.c8
-rw-r--r--src/mame/drivers/40love.c4
-rw-r--r--src/mame/drivers/4enraya.c2
-rw-r--r--src/mame/drivers/4roses.c2
-rw-r--r--src/mame/drivers/5clown.c4
-rw-r--r--src/mame/drivers/88games.c5
-rw-r--r--src/mame/drivers/ace.c34
-rw-r--r--src/mame/drivers/acefruit.c7
-rw-r--r--src/mame/drivers/acommand.c8
-rw-r--r--src/mame/drivers/actfancr.c12
-rw-r--r--src/mame/drivers/aeroboto.c2
-rw-r--r--src/mame/drivers/aerofgt.c42
-rw-r--r--src/mame/drivers/airbustr.c4
-rw-r--r--src/mame/drivers/ajax.c4
-rw-r--r--src/mame/drivers/albazc.c4
-rw-r--r--src/mame/drivers/albazg.c4
-rw-r--r--src/mame/drivers/aliens.c4
-rw-r--r--src/mame/drivers/alpha68k.c18
-rw-r--r--src/mame/drivers/amaticmg.c8
-rw-r--r--src/mame/drivers/ambush.c2
-rw-r--r--src/mame/drivers/ampoker2.c4
-rw-r--r--src/mame/drivers/amspdwy.c2
-rw-r--r--src/mame/drivers/angelkds.c2
-rw-r--r--src/mame/drivers/appoooh.c4
-rw-r--r--src/mame/drivers/aquarium.c2
-rw-r--r--src/mame/drivers/arcadecl.c3
-rw-r--r--src/mame/drivers/argus.c6
-rw-r--r--src/mame/drivers/aristmk4.c10
-rw-r--r--src/mame/drivers/arkanoid.c6
-rw-r--r--src/mame/drivers/armedf.c16
-rw-r--r--src/mame/drivers/ashnojoe.c2
-rw-r--r--src/mame/drivers/asterix.c3
-rw-r--r--src/mame/drivers/astrcorp.c6
-rw-r--r--src/mame/drivers/asuka.c24
-rw-r--r--src/mame/drivers/atarifb.c4
-rw-r--r--src/mame/drivers/atarig1.c2
-rw-r--r--src/mame/drivers/atarig42.c2
-rw-r--r--src/mame/drivers/atarigt.c2
-rw-r--r--src/mame/drivers/atarigx2.c2
-rw-r--r--src/mame/drivers/atarisy1.c3
-rw-r--r--src/mame/drivers/atarisy2.c3
-rw-r--r--src/mame/drivers/atetris.c4
-rw-r--r--src/mame/drivers/avt.c6
-rw-r--r--src/mame/drivers/backfire.c9
-rw-r--r--src/mame/drivers/badlands.c6
-rw-r--r--src/mame/drivers/bagman.c6
-rw-r--r--src/mame/drivers/bankp.c2
-rw-r--r--src/mame/drivers/baraduke.c2
-rw-r--r--src/mame/drivers/batman.c4
-rw-r--r--src/mame/drivers/battlane.c2
-rw-r--r--src/mame/drivers/battlera.c2
-rw-r--r--src/mame/drivers/battlex.c2
-rw-r--r--src/mame/drivers/battlnts.c4
-rw-r--r--src/mame/drivers/bbusters.c4
-rw-r--r--src/mame/drivers/bestleag.c16
-rw-r--r--src/mame/drivers/bfm_sc1.c3
-rw-r--r--src/mame/drivers/bfm_sc2.c3
-rw-r--r--src/mame/drivers/bigevglf.c2
-rw-r--r--src/mame/drivers/bigstrkb.c2
-rw-r--r--src/mame/drivers/bingoman.c2
-rw-r--r--src/mame/drivers/bingor.c2
-rw-r--r--src/mame/drivers/bionicc.c2
-rw-r--r--src/mame/drivers/bishi.c3
-rw-r--r--src/mame/drivers/bking.c2
-rw-r--r--src/mame/drivers/blackt96.c10
-rw-r--r--src/mame/drivers/bladestl.c4
-rw-r--r--src/mame/drivers/blitz.c4
-rw-r--r--src/mame/drivers/blktiger.c2
-rw-r--r--src/mame/drivers/blmbycar.c4
-rw-r--r--src/mame/drivers/blockade.c4
-rw-r--r--src/mame/drivers/blockhl.c4
-rw-r--r--src/mame/drivers/bloodbro.c4
-rw-r--r--src/mame/drivers/blstroid.c3
-rw-r--r--src/mame/drivers/blueprnt.c2
-rw-r--r--src/mame/drivers/bmcpokr.c4
-rw-r--r--src/mame/drivers/bnstars.c16
-rw-r--r--src/mame/drivers/bogeyman.c2
-rw-r--r--src/mame/drivers/bombjack.c2
-rw-r--r--src/mame/drivers/boogwing.c7
-rw-r--r--src/mame/drivers/bottom9.c5
-rw-r--r--src/mame/drivers/boxer.c8
-rw-r--r--src/mame/drivers/brkthru.c4
-rw-r--r--src/mame/drivers/bsktball.c2
-rw-r--r--src/mame/drivers/btime.c14
-rw-r--r--src/mame/drivers/bublbobl.c4
-rw-r--r--src/mame/drivers/buggychl.c2
-rw-r--r--src/mame/drivers/buster.c4
-rw-r--r--src/mame/drivers/bwing.c2
-rw-r--r--src/mame/drivers/cabal.c4
-rw-r--r--src/mame/drivers/cabaret.c6
-rw-r--r--src/mame/drivers/calomega.c4
-rw-r--r--src/mame/drivers/calorie.c10
-rw-r--r--src/mame/drivers/canyon.c2
-rw-r--r--src/mame/drivers/cardline.c4
-rw-r--r--src/mame/drivers/carjmbre.c2
-rw-r--r--src/mame/drivers/carpolo.c2
-rw-r--r--src/mame/drivers/carrera.c4
-rw-r--r--src/mame/drivers/caswin.c4
-rw-r--r--src/mame/drivers/cave.c32
-rw-r--r--src/mame/drivers/cb2001.c12
-rw-r--r--src/mame/drivers/cball.c6
-rw-r--r--src/mame/drivers/cbasebal.c2
-rw-r--r--src/mame/drivers/cbuster.c6
-rw-r--r--src/mame/drivers/ccastles.c2
-rw-r--r--src/mame/drivers/cchance.c3
-rw-r--r--src/mame/drivers/cclimber.c8
-rw-r--r--src/mame/drivers/centiped.c8
-rw-r--r--src/mame/drivers/chaknpop.c2
-rw-r--r--src/mame/drivers/cham24.c2
-rw-r--r--src/mame/drivers/champbas.c8
-rw-r--r--src/mame/drivers/champbwl.c6
-rw-r--r--src/mame/drivers/chanbara.c16
-rw-r--r--src/mame/drivers/chance32.c6
-rw-r--r--src/mame/drivers/cheekyms.c2
-rw-r--r--src/mame/drivers/chinagat.c6
-rw-r--r--src/mame/drivers/chinsan.c4
-rw-r--r--src/mame/drivers/chqflag.c5
-rw-r--r--src/mame/drivers/chsuper.c4
-rw-r--r--src/mame/drivers/circus.c8
-rw-r--r--src/mame/drivers/circusc.c2
-rw-r--r--src/mame/drivers/cischeat.c8
-rw-r--r--src/mame/drivers/citycon.c2
-rw-r--r--src/mame/drivers/cloak.c2
-rw-r--r--src/mame/drivers/cloud9.c2
-rw-r--r--src/mame/drivers/clshroad.c4
-rw-r--r--src/mame/drivers/cmmb.c8
-rw-r--r--src/mame/drivers/cninja.c36
-rw-r--r--src/mame/drivers/cntsteer.c28
-rw-r--r--src/mame/drivers/cobra.c2
-rw-r--r--src/mame/drivers/coinmstr.c4
-rw-r--r--src/mame/drivers/coinmvga.c4
-rw-r--r--src/mame/drivers/combatsc.c4
-rw-r--r--src/mame/drivers/commando.c2
-rw-r--r--src/mame/drivers/compgolf.c2
-rw-r--r--src/mame/drivers/contra.c2
-rw-r--r--src/mame/drivers/coolridr.c10
-rw-r--r--src/mame/drivers/cop01.c4
-rw-r--r--src/mame/drivers/copsnrob.c2
-rw-r--r--src/mame/drivers/cosmic.c8
-rw-r--r--src/mame/drivers/cps1.c2
-rw-r--r--src/mame/drivers/cps2.c2
-rw-r--r--src/mame/drivers/cps3.c38
-rw-r--r--src/mame/drivers/crbaloon.c2
-rw-r--r--src/mame/drivers/crimfght.c4
-rw-r--r--src/mame/drivers/crospang.c3
-rw-r--r--src/mame/drivers/crshrace.c3
-rw-r--r--src/mame/drivers/cshooter.c12
-rw-r--r--src/mame/drivers/cultures.c8
-rw-r--r--src/mame/drivers/cvs.c12
-rw-r--r--src/mame/drivers/cyberbal.c7
-rw-r--r--src/mame/drivers/cybertnk.c10
-rw-r--r--src/mame/drivers/cyclemb.c10
-rw-r--r--src/mame/drivers/d9final.c4
-rw-r--r--src/mame/drivers/dacholer.c10
-rw-r--r--src/mame/drivers/dambustr.c2
-rw-r--r--src/mame/drivers/darius.c3
-rw-r--r--src/mame/drivers/darkmist.c2
-rw-r--r--src/mame/drivers/darkseal.c6
-rw-r--r--src/mame/drivers/dassault.c7
-rw-r--r--src/mame/drivers/dblcrown.c8
-rw-r--r--src/mame/drivers/dblewing.c5
-rw-r--r--src/mame/drivers/dbz.c4
-rw-r--r--src/mame/drivers/dcon.c4
-rw-r--r--src/mame/drivers/dday.c2
-rw-r--r--src/mame/drivers/ddayjlc.c10
-rw-r--r--src/mame/drivers/ddealer.c21
-rw-r--r--src/mame/drivers/ddragon.c6
-rw-r--r--src/mame/drivers/ddragon3.c4
-rw-r--r--src/mame/drivers/ddribble.c2
-rw-r--r--src/mame/drivers/deadang.c2
-rw-r--r--src/mame/drivers/dec0.c22
-rw-r--r--src/mame/drivers/dec8.c30
-rw-r--r--src/mame/drivers/deco156.c10
-rw-r--r--src/mame/drivers/deco32.c42
-rw-r--r--src/mame/drivers/deco_ld.c6
-rw-r--r--src/mame/drivers/deco_mlc.c8
-rw-r--r--src/mame/drivers/decocass.c2
-rw-r--r--src/mame/drivers/deniam.c4
-rw-r--r--src/mame/drivers/destroyr.c10
-rw-r--r--src/mame/drivers/dfruit.c6
-rw-r--r--src/mame/drivers/dietgo.c4
-rw-r--r--src/mame/drivers/discoboy.c6
-rw-r--r--src/mame/drivers/diverboy.c4
-rw-r--r--src/mame/drivers/djboy.c4
-rw-r--r--src/mame/drivers/djmain.c3
-rw-r--r--src/mame/drivers/dkong.c6
-rw-r--r--src/mame/drivers/dlair.c4
-rw-r--r--src/mame/drivers/dlair2.c2
-rw-r--r--src/mame/drivers/dmndrby.c10
-rw-r--r--src/mame/drivers/docastle.c2
-rw-r--r--src/mame/drivers/dogfgt.c2
-rw-r--r--src/mame/drivers/dominob.c12
-rw-r--r--src/mame/drivers/dooyong.c18
-rw-r--r--src/mame/drivers/dragrace.c2
-rw-r--r--src/mame/drivers/dreambal.c3
-rw-r--r--src/mame/drivers/dreamwld.c8
-rw-r--r--src/mame/drivers/drgnmst.c2
-rw-r--r--src/mame/drivers/drmicro.c2
-rw-r--r--src/mame/drivers/drtomy.c8
-rw-r--r--src/mame/drivers/drw80pkr.c4
-rw-r--r--src/mame/drivers/dunhuang.c6
-rw-r--r--src/mame/drivers/dwarfd.c4
-rw-r--r--src/mame/drivers/dynadice.c4
-rw-r--r--src/mame/drivers/dynduke.c2
-rw-r--r--src/mame/drivers/egghunt.c6
-rw-r--r--src/mame/drivers/eprom.c9
-rw-r--r--src/mame/drivers/equites.c4
-rw-r--r--src/mame/drivers/esd16.c5
-rw-r--r--src/mame/drivers/esh.c4
-rw-r--r--src/mame/drivers/espial.c2
-rw-r--r--src/mame/drivers/ettrivia.c4
-rw-r--r--src/mame/drivers/exedexes.c2
-rw-r--r--src/mame/drivers/exerion.c2
-rw-r--r--src/mame/drivers/exidy.c2
-rw-r--r--src/mame/drivers/expro02.c4
-rw-r--r--src/mame/drivers/exprraid.c2
-rw-r--r--src/mame/drivers/exzisus.c2
-rw-r--r--src/mame/drivers/f1gp.c10
-rw-r--r--src/mame/drivers/famibox.c2
-rw-r--r--src/mame/drivers/fantland.c8
-rw-r--r--src/mame/drivers/fastfred.c10
-rw-r--r--src/mame/drivers/fastlane.c2
-rw-r--r--src/mame/drivers/fcombat.c2
-rw-r--r--src/mame/drivers/fcrash.c22
-rw-r--r--src/mame/drivers/feversoc.c4
-rw-r--r--src/mame/drivers/fgoal.c2
-rw-r--r--src/mame/drivers/finalizr.c2
-rw-r--r--src/mame/drivers/firefox.c6
-rw-r--r--src/mame/drivers/firetrap.c8
-rw-r--r--src/mame/drivers/firetrk.c6
-rw-r--r--src/mame/drivers/fitfight.c4
-rw-r--r--src/mame/drivers/flipjack.c4
-rw-r--r--src/mame/drivers/flkatck.c2
-rw-r--r--src/mame/drivers/flower.c2
-rw-r--r--src/mame/drivers/flstory.c8
-rw-r--r--src/mame/drivers/flyball.c6
-rw-r--r--src/mame/drivers/foodf.c2
-rw-r--r--src/mame/drivers/fortecar.c4
-rw-r--r--src/mame/drivers/freekick.c2
-rw-r--r--src/mame/drivers/fresh.c6
-rw-r--r--src/mame/drivers/fromanc2.c6
-rw-r--r--src/mame/drivers/fromance.c6
-rw-r--r--src/mame/drivers/funkybee.c2
-rw-r--r--src/mame/drivers/funkyjet.c5
-rw-r--r--src/mame/drivers/funworld.c4
-rw-r--r--src/mame/drivers/funybubl.c2
-rw-r--r--src/mame/drivers/fuukifg2.c2
-rw-r--r--src/mame/drivers/fuukifg3.c2
-rw-r--r--src/mame/drivers/gaelco.c8
-rw-r--r--src/mame/drivers/gaelco2.c12
-rw-r--r--src/mame/drivers/gaiden.c8
-rw-r--r--src/mame/drivers/gal3.c2
-rw-r--r--src/mame/drivers/galaga.c8
-rw-r--r--src/mame/drivers/galastrm.c4
-rw-r--r--src/mame/drivers/galaxi.c12
-rw-r--r--src/mame/drivers/galaxia.c4
-rw-r--r--src/mame/drivers/galaxian.c14
-rw-r--r--src/mame/drivers/galaxold.c16
-rw-r--r--src/mame/drivers/galivan.c4
-rw-r--r--src/mame/drivers/galpani2.c3
-rw-r--r--src/mame/drivers/galpanic.c3
-rw-r--r--src/mame/drivers/galspnbl.c2
-rw-r--r--src/mame/drivers/gamecstl.c4
-rw-r--r--src/mame/drivers/gaplus.c2
-rw-r--r--src/mame/drivers/gatron.c2
-rw-r--r--src/mame/drivers/gauntlet.c3
-rw-r--r--src/mame/drivers/gberet.c4
-rw-r--r--src/mame/drivers/gbusters.c4
-rw-r--r--src/mame/drivers/gcpinbal.c2
-rw-r--r--src/mame/drivers/gijoe.c3
-rw-r--r--src/mame/drivers/ginganin.c2
-rw-r--r--src/mame/drivers/gladiatr.c4
-rw-r--r--src/mame/drivers/glass.c2
-rw-r--r--src/mame/drivers/gluck2.c4
-rw-r--r--src/mame/drivers/gng.c2
-rw-r--r--src/mame/drivers/go2000.c8
-rw-r--r--src/mame/drivers/goal92.c2
-rw-r--r--src/mame/drivers/goindol.c2
-rw-r--r--src/mame/drivers/goldngam.c2
-rw-r--r--src/mame/drivers/goldnpkr.c12
-rw-r--r--src/mame/drivers/goldstar.c52
-rw-r--r--src/mame/drivers/gomoku.c2
-rw-r--r--src/mame/drivers/good.c6
-rw-r--r--src/mame/drivers/goodejan.c14
-rw-r--r--src/mame/drivers/gotcha.c4
-rw-r--r--src/mame/drivers/gottlieb.c2
-rw-r--r--src/mame/drivers/gotya.c2
-rw-r--r--src/mame/drivers/gpworld.c4
-rw-r--r--src/mame/drivers/gradius3.c4
-rw-r--r--src/mame/drivers/grchamp.c2
-rw-r--r--src/mame/drivers/groundfx.c4
-rw-r--r--src/mame/drivers/gstream.c10
-rw-r--r--src/mame/drivers/gstriker.c6
-rw-r--r--src/mame/drivers/gsword.c4
-rw-r--r--src/mame/drivers/gticlub.c8
-rw-r--r--src/mame/drivers/gumbo.c2
-rw-r--r--src/mame/drivers/gunbustr.c3
-rw-r--r--src/mame/drivers/gundealr.c2
-rw-r--r--src/mame/drivers/gunpey.c2
-rw-r--r--src/mame/drivers/gunsmoke.c5
-rw-r--r--src/mame/drivers/gyruss.c2
-rw-r--r--src/mame/drivers/hanaawas.c2
-rw-r--r--src/mame/drivers/hcastle.c2
-rw-r--r--src/mame/drivers/headonb.c4
-rw-r--r--src/mame/drivers/hexion.c2
-rw-r--r--src/mame/drivers/hideseek.c2
-rw-r--r--src/mame/drivers/higemaru.c2
-rw-r--r--src/mame/drivers/himesiki.c2
-rw-r--r--src/mame/drivers/hitme.c6
-rw-r--r--src/mame/drivers/hitpoker.c4
-rw-r--r--src/mame/drivers/hng64.c2
-rw-r--r--src/mame/drivers/holeland.c4
-rw-r--r--src/mame/drivers/homedata.c10
-rw-r--r--src/mame/drivers/homerun.c2
-rw-r--r--src/mame/drivers/hornet.c6
-rw-r--r--src/mame/drivers/hvyunit.c6
-rw-r--r--src/mame/drivers/hyperspt.c4
-rw-r--r--src/mame/drivers/hyprduel.c4
-rw-r--r--src/mame/drivers/ichiban.c2
-rw-r--r--src/mame/drivers/igs009.c22
-rw-r--r--src/mame/drivers/igs011.c8
-rw-r--r--src/mame/drivers/igs017.c22
-rw-r--r--src/mame/drivers/igs_m027.c6
-rw-r--r--src/mame/drivers/igspoker.c8
-rw-r--r--src/mame/drivers/ikki.c2
-rw-r--r--src/mame/drivers/intrscti.c6
-rw-r--r--src/mame/drivers/inufuku.c5
-rw-r--r--src/mame/drivers/iqblock.c2
-rw-r--r--src/mame/drivers/irobot.c2
-rw-r--r--src/mame/drivers/ironhors.c4
-rw-r--r--src/mame/drivers/istellar.c4
-rw-r--r--src/mame/drivers/itgambl2.c2
-rw-r--r--src/mame/drivers/itgambl3.c2
-rw-r--r--src/mame/drivers/itgamble.c2
-rw-r--r--src/mame/drivers/jack.c4
-rw-r--r--src/mame/drivers/jackal.c2
-rw-r--r--src/mame/drivers/jackie.c10
-rw-r--r--src/mame/drivers/jackpool.c4
-rw-r--r--src/mame/drivers/jailbrek.c2
-rw-r--r--src/mame/drivers/jalmah.c12
-rw-r--r--src/mame/drivers/jchan.c3
-rw-r--r--src/mame/drivers/jclub2.c17
-rw-r--r--src/mame/drivers/jokrwild.c4
-rw-r--r--src/mame/drivers/jollyjgr.c6
-rw-r--r--src/mame/drivers/jrpacman.c2
-rw-r--r--src/mame/drivers/jubilee.c4
-rw-r--r--src/mame/drivers/kaneko16.c30
-rw-r--r--src/mame/drivers/karnov.c6
-rw-r--r--src/mame/drivers/kchamp.c4
-rw-r--r--src/mame/drivers/kickgoal.c4
-rw-r--r--src/mame/drivers/kingdrby.c12
-rw-r--r--src/mame/drivers/kingobox.c4
-rw-r--r--src/mame/drivers/klax.c3
-rw-r--r--src/mame/drivers/kncljoe.c2
-rw-r--r--src/mame/drivers/koftball.c6
-rw-r--r--src/mame/drivers/koikoi.c4
-rw-r--r--src/mame/drivers/konamigx.c11
-rw-r--r--src/mame/drivers/kopunch.c2
-rw-r--r--src/mame/drivers/ksayakyu.c2
-rw-r--r--src/mame/drivers/kyugo.c2
-rw-r--r--src/mame/drivers/labyrunr.c2
-rw-r--r--src/mame/drivers/ladybug.c4
-rw-r--r--src/mame/drivers/ladyfrog.c2
-rw-r--r--src/mame/drivers/laserbat.c8
-rw-r--r--src/mame/drivers/lasso.c6
-rw-r--r--src/mame/drivers/lastbank.c3
-rw-r--r--src/mame/drivers/lastduel.c4
-rw-r--r--src/mame/drivers/lazercmd.c6
-rw-r--r--src/mame/drivers/lbeach.c10
-rw-r--r--src/mame/drivers/legionna.c14
-rw-r--r--src/mame/drivers/lemmings.c4
-rw-r--r--src/mame/drivers/lethal.c5
-rw-r--r--src/mame/drivers/lgp.c4
-rw-r--r--src/mame/drivers/liberate.c14
-rw-r--r--src/mame/drivers/limenko.c10
-rw-r--r--src/mame/drivers/lkage.c4
-rw-r--r--src/mame/drivers/lockon.c2
-rw-r--r--src/mame/drivers/looping.c6
-rw-r--r--src/mame/drivers/lordgun.c4
-rw-r--r--src/mame/drivers/lsasquad.c6
-rw-r--r--src/mame/drivers/ltcasino.c4
-rw-r--r--src/mame/drivers/luckgrln.c16
-rw-r--r--src/mame/drivers/lucky74.c2
-rw-r--r--src/mame/drivers/lvcards.c2
-rw-r--r--src/mame/drivers/lwings.c4
-rw-r--r--src/mame/drivers/m10.c2
-rw-r--r--src/mame/drivers/m107.c4
-rw-r--r--src/mame/drivers/m14.c4
-rw-r--r--src/mame/drivers/m52.c2
-rw-r--r--src/mame/drivers/m57.c2
-rw-r--r--src/mame/drivers/m58.c2
-rw-r--r--src/mame/drivers/m62.c18
-rw-r--r--src/mame/drivers/m63.c12
-rw-r--r--src/mame/drivers/m72.c26
-rw-r--r--src/mame/drivers/m90.c2
-rw-r--r--src/mame/drivers/m92.c10
-rw-r--r--src/mame/drivers/macrossp.c2
-rw-r--r--src/mame/drivers/macs.c2
-rw-r--r--src/mame/drivers/madmotor.c6
-rw-r--r--src/mame/drivers/magic10.c5
-rw-r--r--src/mame/drivers/magicfly.c6
-rw-r--r--src/mame/drivers/magmax.c2
-rw-r--r--src/mame/drivers/mainevt.c6
-rw-r--r--src/mame/drivers/mainsnk.c2
-rw-r--r--src/mame/drivers/majorpkr.c9
-rw-r--r--src/mame/drivers/malzak.c2
-rw-r--r--src/mame/drivers/mappy.c8
-rw-r--r--src/mame/drivers/marineb.c10
-rw-r--r--src/mame/drivers/marinedt.c8
-rw-r--r--src/mame/drivers/mario.c2
-rw-r--r--src/mame/drivers/markham.c2
-rw-r--r--src/mame/drivers/mastboy.c10
-rw-r--r--src/mame/drivers/matmania.c4
-rw-r--r--src/mame/drivers/mayumi.c4
-rw-r--r--src/mame/drivers/mcatadv.c2
-rw-r--r--src/mame/drivers/mcr.c2
-rw-r--r--src/mame/drivers/mcr3.c8
-rw-r--r--src/mame/drivers/mcr68.c4
-rw-r--r--src/mame/drivers/meadows.c6
-rw-r--r--src/mame/drivers/mediagx.c4
-rw-r--r--src/mame/drivers/megasys1.c8
-rw-r--r--src/mame/drivers/megazone.c2
-rw-r--r--src/mame/drivers/mermaid.c2
-rw-r--r--src/mame/drivers/metlclsh.c2
-rw-r--r--src/mame/drivers/metro.c50
-rw-r--r--src/mame/drivers/mexico86.c2
-rw-r--r--src/mame/drivers/mgolf.c8
-rw-r--r--src/mame/drivers/midas.c8
-rw-r--r--src/mame/drivers/mikie.c2
-rw-r--r--src/mame/drivers/mil4000.c10
-rw-r--r--src/mame/drivers/miniboy7.c4
-rw-r--r--src/mame/drivers/mirage.c5
-rw-r--r--src/mame/drivers/mirax.c6
-rw-r--r--src/mame/drivers/missb2.c8
-rw-r--r--src/mame/drivers/mitchell.c20
-rw-r--r--src/mame/drivers/mjkjidai.c2
-rw-r--r--src/mame/drivers/model1.c6
-rw-r--r--src/mame/drivers/model2.c9
-rw-r--r--src/mame/drivers/mogura.c8
-rw-r--r--src/mame/drivers/mole.c4
-rw-r--r--src/mame/drivers/momoko.c2
-rw-r--r--src/mame/drivers/monzagp.c4
-rw-r--r--src/mame/drivers/moo.c8
-rw-r--r--src/mame/drivers/mosaic.c2
-rw-r--r--src/mame/drivers/mouser.c2
-rw-r--r--src/mame/drivers/mpoker.c4
-rw-r--r--src/mame/drivers/mpu12wbk.c6
-rw-r--r--src/mame/drivers/mpu4dealem.c4
-rw-r--r--src/mame/drivers/mpu4vid.c21
-rw-r--r--src/mame/drivers/mrdo.c2
-rw-r--r--src/mame/drivers/mrflea.c2
-rw-r--r--src/mame/drivers/mrjong.c2
-rw-r--r--src/mame/drivers/ms32.c4
-rw-r--r--src/mame/drivers/msisaac.c2
-rw-r--r--src/mame/drivers/mugsmash.c2
-rw-r--r--src/mame/drivers/multfish.c6
-rw-r--r--src/mame/drivers/multigam.c2
-rw-r--r--src/mame/drivers/munchmo.c2
-rw-r--r--src/mame/drivers/murogem.c4
-rw-r--r--src/mame/drivers/murogmbl.c4
-rw-r--r--src/mame/drivers/mustache.c2
-rw-r--r--src/mame/drivers/mwarr.c12
-rw-r--r--src/mame/drivers/mystwarr.c8
-rw-r--r--src/mame/drivers/namcofl.c2
-rw-r--r--src/mame/drivers/namcoic.c30
-rw-r--r--src/mame/drivers/namconb1.c4
-rw-r--r--src/mame/drivers/namcond1.c3
-rw-r--r--src/mame/drivers/namcos1.c2
-rw-r--r--src/mame/drivers/namcos2.c16
-rw-r--r--src/mame/drivers/namcos21.c4
-rw-r--r--src/mame/drivers/namcos22.c4
-rw-r--r--src/mame/drivers/namcos23.c12
-rw-r--r--src/mame/drivers/namcos86.c2
-rw-r--r--src/mame/drivers/naughtyb.c4
-rw-r--r--src/mame/drivers/nemesis.c20
-rw-r--r--src/mame/drivers/neoprint.c6
-rw-r--r--src/mame/drivers/neptunp2.c2
-rw-r--r--src/mame/drivers/news.c2
-rw-r--r--src/mame/drivers/ninjakd2.c4
-rw-r--r--src/mame/drivers/ninjaw.c10
-rw-r--r--src/mame/drivers/nitedrvr.c2
-rw-r--r--src/mame/drivers/nmg5.c11
-rw-r--r--src/mame/drivers/nmk16.c54
-rw-r--r--src/mame/drivers/norautp.c6
-rw-r--r--src/mame/drivers/nova2001.c8
-rw-r--r--src/mame/drivers/nsmpoker.c4
-rw-r--r--src/mame/drivers/nwk-tr.c4
-rw-r--r--src/mame/drivers/nycaptor.c6
-rw-r--r--src/mame/drivers/offtwall.c6
-rw-r--r--src/mame/drivers/ohmygod.c2
-rw-r--r--src/mame/drivers/ojankohs.c6
-rw-r--r--src/mame/drivers/olibochu.c8
-rw-r--r--src/mame/drivers/oneshot.c2
-rw-r--r--src/mame/drivers/onetwo.c4
-rw-r--r--src/mame/drivers/opwolf.c8
-rw-r--r--src/mame/drivers/orbit.c2
-rw-r--r--src/mame/drivers/othunder.c3
-rw-r--r--src/mame/drivers/overdriv.c7
-rw-r--r--src/mame/drivers/pacland.c2
-rw-r--r--src/mame/drivers/pacman.c8
-rw-r--r--src/mame/drivers/pandoras.c2
-rw-r--r--src/mame/drivers/panicr.c14
-rw-r--r--src/mame/drivers/paradise.c6
-rw-r--r--src/mame/drivers/paranoia.c2
-rw-r--r--src/mame/drivers/parodius.c3
-rw-r--r--src/mame/drivers/pass.c2
-rw-r--r--src/mame/drivers/pbaction.c2
-rw-r--r--src/mame/drivers/pcktgal.c5
-rw-r--r--src/mame/drivers/pcxt.c2
-rw-r--r--src/mame/drivers/pengo.c2
-rw-r--r--src/mame/drivers/peplus.c4
-rw-r--r--src/mame/drivers/pgm.c4
-rw-r--r--src/mame/drivers/pgm2.c2
-rw-r--r--src/mame/drivers/phoenix.c6
-rw-r--r--src/mame/drivers/photoply.c2
-rw-r--r--src/mame/drivers/pinball2k.c4
-rw-r--r--src/mame/drivers/pingpong.c2
-rw-r--r--src/mame/drivers/pinkiri8.c6
-rw-r--r--src/mame/drivers/pipedrm.c5
-rw-r--r--src/mame/drivers/pipeline.c5
-rw-r--r--src/mame/drivers/pirates.c2
-rw-r--r--src/mame/drivers/pitnrun.c2
-rw-r--r--src/mame/drivers/pkscram.c8
-rw-r--r--src/mame/drivers/pktgaldx.c6
-rw-r--r--src/mame/drivers/playch10.c2
-rw-r--r--src/mame/drivers/playmark.c12
-rw-r--r--src/mame/drivers/plygonet.c2
-rw-r--r--src/mame/drivers/pokechmp.c2
-rw-r--r--src/mame/drivers/poker72.c4
-rw-r--r--src/mame/drivers/polepos.c4
-rw-r--r--src/mame/drivers/polyplay.c2
-rw-r--r--src/mame/drivers/poolshrk.c2
-rw-r--r--src/mame/drivers/pooyan.c2
-rw-r--r--src/mame/drivers/popeye.c2
-rw-r--r--src/mame/drivers/popobear.c14
-rw-r--r--src/mame/drivers/popper.c2
-rw-r--r--src/mame/drivers/portrait.c2
-rw-r--r--src/mame/drivers/powerbal.c10
-rw-r--r--src/mame/drivers/powerins.c2
-rw-r--r--src/mame/drivers/ppmast93.c6
-rw-r--r--src/mame/drivers/prehisle.c2
-rw-r--r--src/mame/drivers/progolf.c6
-rw-r--r--src/mame/drivers/psikyo.c8
-rw-r--r--src/mame/drivers/psikyo4.c2
-rw-r--r--src/mame/drivers/psikyosh.c2
-rw-r--r--src/mame/drivers/psychic5.c4
-rw-r--r--src/mame/drivers/pturn.c8
-rw-r--r--src/mame/drivers/punchout.c4
-rw-r--r--src/mame/drivers/pushman.c4
-rw-r--r--src/mame/drivers/pzletime.c8
-rw-r--r--src/mame/drivers/qdrmfgp.c4
-rw-r--r--src/mame/drivers/quasar.c2
-rw-r--r--src/mame/drivers/quizdna.c2
-rw-r--r--src/mame/drivers/quizpani.c2
-rw-r--r--src/mame/drivers/quizpun2.c6
-rw-r--r--src/mame/drivers/quizshow.c4
-rw-r--r--src/mame/drivers/r2dx_v33.c20
-rw-r--r--src/mame/drivers/rabbit.c8
-rw-r--r--src/mame/drivers/raiden.c2
-rw-r--r--src/mame/drivers/raiden2.c14
-rw-r--r--src/mame/drivers/rainbow.c7
-rw-r--r--src/mame/drivers/rallyx.c4
-rw-r--r--src/mame/drivers/rampart.c3
-rw-r--r--src/mame/drivers/rastan.c4
-rw-r--r--src/mame/drivers/rbmk.c6
-rw-r--r--src/mame/drivers/rcorsair.c2
-rw-r--r--src/mame/drivers/realbrk.c4
-rw-r--r--src/mame/drivers/redclash.c4
-rw-r--r--src/mame/drivers/relief.c4
-rw-r--r--src/mame/drivers/renegade.c2
-rw-r--r--src/mame/drivers/retofinv.c2
-rw-r--r--src/mame/drivers/rgum.c4
-rw-r--r--src/mame/drivers/rmhaihai.c8
-rw-r--r--src/mame/drivers/rockrage.c4
-rw-r--r--src/mame/drivers/rocnrope.c2
-rw-r--r--src/mame/drivers/rohga.c26
-rw-r--r--src/mame/drivers/rollerg.c7
-rw-r--r--src/mame/drivers/rollrace.c2
-rw-r--r--src/mame/drivers/rpunch.c4
-rw-r--r--src/mame/drivers/runaway.c4
-rw-r--r--src/mame/drivers/rungun.c3
-rw-r--r--src/mame/drivers/safarir.c6
-rw-r--r--src/mame/drivers/sandscrp.c4
-rw-r--r--src/mame/drivers/sanremo.c4
-rw-r--r--src/mame/drivers/sauro.c4
-rw-r--r--src/mame/drivers/sbasketb.c2
-rw-r--r--src/mame/drivers/sbowling.c4
-rw-r--r--src/mame/drivers/sbrkout.c6
-rw-r--r--src/mame/drivers/sbugger.c2
-rw-r--r--src/mame/drivers/scobra.c4
-rw-r--r--src/mame/drivers/scotrsht.c2
-rw-r--r--src/mame/drivers/scramble.c10
-rw-r--r--src/mame/drivers/scregg.c4
-rw-r--r--src/mame/drivers/sderby.c10
-rw-r--r--src/mame/drivers/seabattl.c8
-rw-r--r--src/mame/drivers/segag80r.c10
-rw-r--r--src/mame/drivers/segahang.c3
-rw-r--r--src/mame/drivers/segald.c4
-rw-r--r--src/mame/drivers/segaorun.c3
-rw-r--r--src/mame/drivers/segas16a.c3
-rw-r--r--src/mame/drivers/segas16b.c5
-rw-r--r--src/mame/drivers/segas18.c5
-rw-r--r--src/mame/drivers/segas24.c2
-rw-r--r--src/mame/drivers/segas32.c4
-rw-r--r--src/mame/drivers/segaxbd.c3
-rw-r--r--src/mame/drivers/segaybd.c3
-rw-r--r--src/mame/drivers/seibuspi.c8
-rw-r--r--src/mame/drivers/seicross.c2
-rw-r--r--src/mame/drivers/sengokmj.c14
-rw-r--r--src/mame/drivers/senjyo.c2
-rw-r--r--src/mame/drivers/seta.c124
-rw-r--r--src/mame/drivers/seta2.c6
-rw-r--r--src/mame/drivers/sf.c2
-rw-r--r--src/mame/drivers/sfbonus.c12
-rw-r--r--src/mame/drivers/shadfrce.c2
-rw-r--r--src/mame/drivers/shangha3.c6
-rw-r--r--src/mame/drivers/shangkid.c6
-rw-r--r--src/mame/drivers/shaolins.c2
-rw-r--r--src/mame/drivers/shisen.c2
-rw-r--r--src/mame/drivers/shootout.c4
-rw-r--r--src/mame/drivers/shuuz.c4
-rw-r--r--src/mame/drivers/sidearms.c6
-rw-r--r--src/mame/drivers/sidepckt.c2
-rw-r--r--src/mame/drivers/sigmab98.c6
-rw-r--r--src/mame/drivers/silkroad.c2
-rw-r--r--src/mame/drivers/silvmil.c7
-rw-r--r--src/mame/drivers/simpl156.c5
-rw-r--r--src/mame/drivers/simpsons.c3
-rw-r--r--src/mame/drivers/skimaxx.c2
-rw-r--r--src/mame/drivers/skullxbo.c3
-rw-r--r--src/mame/drivers/skyarmy.c6
-rw-r--r--src/mame/drivers/skydiver.c2
-rw-r--r--src/mame/drivers/skyfox.c2
-rw-r--r--src/mame/drivers/skykid.c2
-rw-r--r--src/mame/drivers/skylncr.c12
-rw-r--r--src/mame/drivers/skyraid.c2
-rw-r--r--src/mame/drivers/slapfght.c8
-rw-r--r--src/mame/drivers/slapshot.c6
-rw-r--r--src/mame/drivers/slotcarn.c2
-rw-r--r--src/mame/drivers/snk.c12
-rw-r--r--src/mame/drivers/snk6502.c6
-rw-r--r--src/mame/drivers/snk68.c2
-rw-r--r--src/mame/drivers/snookr10.c2
-rw-r--r--src/mame/drivers/snowbros.c15
-rw-r--r--src/mame/drivers/solomon.c2
-rw-r--r--src/mame/drivers/sonson.c2
-rw-r--r--src/mame/drivers/spbactn.c4
-rw-r--r--src/mame/drivers/spcforce.c2
-rw-r--r--src/mame/drivers/spdodgeb.c2
-rw-r--r--src/mame/drivers/speedatk.c2
-rw-r--r--src/mame/drivers/speedbal.c2
-rw-r--r--src/mame/drivers/speedspn.c2
-rw-r--r--src/mame/drivers/speglsht.c2
-rw-r--r--src/mame/drivers/splash.c6
-rw-r--r--src/mame/drivers/spoker.c8
-rw-r--r--src/mame/drivers/spool99.c4
-rw-r--r--src/mame/drivers/sprcros2.c2
-rw-r--r--src/mame/drivers/sprint2.c2
-rw-r--r--src/mame/drivers/sprint4.c2
-rw-r--r--src/mame/drivers/sprint8.c2
-rw-r--r--src/mame/drivers/spy.c4
-rw-r--r--src/mame/drivers/srmp2.c11
-rw-r--r--src/mame/drivers/srmp5.c4
-rw-r--r--src/mame/drivers/srmp6.c10
-rw-r--r--src/mame/drivers/srumbler.c2
-rw-r--r--src/mame/drivers/sshangha.c5
-rw-r--r--src/mame/drivers/sshot.c4
-rw-r--r--src/mame/drivers/ssingles.c4
-rw-r--r--src/mame/drivers/sslam.c4
-rw-r--r--src/mame/drivers/ssozumo.c2
-rw-r--r--src/mame/drivers/sspeedr.c2
-rw-r--r--src/mame/drivers/ssrj.c2
-rw-r--r--src/mame/drivers/ssv.c11
-rw-r--r--src/mame/drivers/st0016.c2
-rw-r--r--src/mame/drivers/stadhero.c4
-rw-r--r--src/mame/drivers/starcrus.c2
-rw-r--r--src/mame/drivers/starshp1.c2
-rw-r--r--src/mame/drivers/statriv2.c8
-rw-r--r--src/mame/drivers/stfight.c4
-rw-r--r--src/mame/drivers/stlforce.c2
-rw-r--r--src/mame/drivers/strnskil.c2
-rw-r--r--src/mame/drivers/stuntair.c8
-rw-r--r--src/mame/drivers/stv.c2
-rw-r--r--src/mame/drivers/sub.c6
-rw-r--r--src/mame/drivers/subs.c2
-rw-r--r--src/mame/drivers/subsino.c26
-rw-r--r--src/mame/drivers/subsino2.c10
-rw-r--r--src/mame/drivers/summit.c4
-rw-r--r--src/mame/drivers/suna16.c8
-rw-r--r--src/mame/drivers/suna8.c10
-rw-r--r--src/mame/drivers/supbtime.c10
-rw-r--r--src/mame/drivers/supdrapo.c4
-rw-r--r--src/mame/drivers/superchs.c3
-rw-r--r--src/mame/drivers/supercrd.c4
-rw-r--r--src/mame/drivers/superdq.c4
-rw-r--r--src/mame/drivers/superqix.c8
-rw-r--r--src/mame/drivers/superwng.c10
-rw-r--r--src/mame/drivers/suprgolf.c4
-rw-r--r--src/mame/drivers/suprloco.c2
-rw-r--r--src/mame/drivers/suprnova.c6
-rw-r--r--src/mame/drivers/suprridr.c2
-rw-r--r--src/mame/drivers/suprslam.c3
-rw-r--r--src/mame/drivers/surpratk.c3
-rw-r--r--src/mame/drivers/system1.c2
-rw-r--r--src/mame/drivers/system16.c6
-rw-r--r--src/mame/drivers/tagteam.c2
-rw-r--r--src/mame/drivers/tail2nos.c3
-rw-r--r--src/mame/drivers/taito_b.c51
-rw-r--r--src/mame/drivers/taito_f2.c77
-rw-r--r--src/mame/drivers/taito_f3.c4
-rw-r--r--src/mame/drivers/taito_h.c9
-rw-r--r--src/mame/drivers/taito_l.c12
-rw-r--r--src/mame/drivers/taito_o.c3
-rw-r--r--src/mame/drivers/taito_x.c12
-rw-r--r--src/mame/drivers/taito_z.c30
-rw-r--r--src/mame/drivers/taitoair.c3
-rw-r--r--src/mame/drivers/taitosj.c2
-rw-r--r--src/mame/drivers/tank8.c2
-rw-r--r--src/mame/drivers/tankbatt.c2
-rw-r--r--src/mame/drivers/tankbust.c2
-rw-r--r--src/mame/drivers/taotaido.c3
-rw-r--r--src/mame/drivers/targeth.c2
-rw-r--r--src/mame/drivers/tasman.c8
-rw-r--r--src/mame/drivers/tatsumi.c8
-rw-r--r--src/mame/drivers/tattack.c4
-rw-r--r--src/mame/drivers/taxidriv.c2
-rw-r--r--src/mame/drivers/tbowl.c2
-rw-r--r--src/mame/drivers/tceptor.c3
-rw-r--r--src/mame/drivers/tcl.c2
-rw-r--r--src/mame/drivers/tecmo.c4
-rw-r--r--src/mame/drivers/tecmo16.c2
-rw-r--r--src/mame/drivers/tecmosys.c2
-rw-r--r--src/mame/drivers/tehkanwc.c2
-rw-r--r--src/mame/drivers/terracre.c6
-rw-r--r--src/mame/drivers/tetrisp2.c12
-rw-r--r--src/mame/drivers/thedeep.c2
-rw-r--r--src/mame/drivers/thepit.c8
-rw-r--r--src/mame/drivers/thoop2.c2
-rw-r--r--src/mame/drivers/thunderj.c4
-rw-r--r--src/mame/drivers/thunderx.c8
-rw-r--r--src/mame/drivers/tiamc1.c2
-rw-r--r--src/mame/drivers/tigeroad.c2
-rw-r--r--src/mame/drivers/timelimt.c2
-rw-r--r--src/mame/drivers/timeplt.c6
-rw-r--r--src/mame/drivers/tmmjprd.c4
-rw-r--r--src/mame/drivers/tmnt.c38
-rw-r--r--src/mame/drivers/tmspoker.c7
-rw-r--r--src/mame/drivers/tnzs.c21
-rw-r--r--src/mame/drivers/toaplan1.c17
-rw-r--r--src/mame/drivers/toaplan2.c64
-rw-r--r--src/mame/drivers/toki.c4
-rw-r--r--src/mame/drivers/toobin.c3
-rw-r--r--src/mame/drivers/topspeed.c4
-rw-r--r--src/mame/drivers/tourvis.c2
-rw-r--r--src/mame/drivers/toypop.c2
-rw-r--r--src/mame/drivers/tp84.c2
-rw-r--r--src/mame/drivers/trackfld.c4
-rw-r--r--src/mame/drivers/travrusa.c4
-rw-r--r--src/mame/drivers/triplhnt.c2
-rw-r--r--src/mame/drivers/trucocl.c2
-rw-r--r--src/mame/drivers/trvmadns.c10
-rw-r--r--src/mame/drivers/tryout.c2
-rw-r--r--src/mame/drivers/tsamurai.c6
-rw-r--r--src/mame/drivers/tugboat.c8
-rw-r--r--src/mame/drivers/tumbleb.c21
-rw-r--r--src/mame/drivers/tumblep.c5
-rw-r--r--src/mame/drivers/tunhunt.c2
-rw-r--r--src/mame/drivers/turbo.c6
-rw-r--r--src/mame/drivers/twin16.c4
-rw-r--r--src/mame/drivers/twincobr.c3
-rw-r--r--src/mame/drivers/uapce.c2
-rw-r--r--src/mame/drivers/ultraman.c10
-rw-r--r--src/mame/drivers/ultratnk.c2
-rw-r--r--src/mame/drivers/umipoker.c10
-rw-r--r--src/mame/drivers/undrfire.c8
-rw-r--r--src/mame/drivers/unico.c6
-rw-r--r--src/mame/drivers/usgames.c2
-rw-r--r--src/mame/drivers/vamphalf.c8
-rw-r--r--src/mame/drivers/vaportra.c5
-rw-r--r--src/mame/drivers/vastar.c2
-rw-r--r--src/mame/drivers/vball.c2
-rw-r--r--src/mame/drivers/vega.c13
-rw-r--r--src/mame/drivers/vendetta.c5
-rw-r--r--src/mame/drivers/videopin.c2
-rw-r--r--src/mame/drivers/videopkr.c8
-rw-r--r--src/mame/drivers/vigilant.c6
-rw-r--r--src/mame/drivers/vindictr.c3
-rw-r--r--src/mame/drivers/vlc.c4
-rw-r--r--src/mame/drivers/volfied.c5
-rw-r--r--src/mame/drivers/vpoker.c4
-rw-r--r--src/mame/drivers/vroulet.c6
-rw-r--r--src/mame/drivers/vulgus.c2
-rw-r--r--src/mame/drivers/wallc.c4
-rw-r--r--src/mame/drivers/wardner.c3
-rw-r--r--src/mame/drivers/warpsped.c6
-rw-r--r--src/mame/drivers/warpwarp.c6
-rw-r--r--src/mame/drivers/warriorb.c8
-rw-r--r--src/mame/drivers/wc90.c2
-rw-r--r--src/mame/drivers/wc90b.c2
-rw-r--r--src/mame/drivers/wecleman.c7
-rw-r--r--src/mame/drivers/welltris.c5
-rw-r--r--src/mame/drivers/wgp.c4
-rw-r--r--src/mame/drivers/williams.c2
-rw-r--r--src/mame/drivers/wink.c4
-rw-r--r--src/mame/drivers/wiping.c2
-rw-r--r--src/mame/drivers/witch.c16
-rw-r--r--src/mame/drivers/wiz.c6
-rw-r--r--src/mame/drivers/wolfpack.c2
-rw-r--r--src/mame/drivers/wrally.c2
-rw-r--r--src/mame/drivers/wwfsstar.c2
-rw-r--r--src/mame/drivers/xain.c2
-rw-r--r--src/mame/drivers/xexex.c4
-rw-r--r--src/mame/drivers/xmen.c8
-rw-r--r--src/mame/drivers/xorworld.c2
-rw-r--r--src/mame/drivers/xxmissio.c2
-rw-r--r--src/mame/drivers/xybots.c3
-rw-r--r--src/mame/drivers/xyonix.c2
-rw-r--r--src/mame/drivers/yiear.c2
-rw-r--r--src/mame/drivers/yunsun16.c4
-rw-r--r--src/mame/drivers/yunsung8.c2
-rw-r--r--src/mame/drivers/zac2650.c2
-rw-r--r--src/mame/drivers/zaccaria.c2
-rw-r--r--src/mame/drivers/zaxxon.c2
-rw-r--r--src/mame/drivers/zerozone.c2
-rw-r--r--src/mame/drivers/zodiack.c2
-rw-r--r--src/mame/drivers/zr107.c6
-rw-r--r--src/mame/etc/template_driver.c2
-rw-r--r--src/mame/includes/namcoic.h5
-rw-r--r--src/mame/includes/namcos22.h3
-rw-r--r--src/mame/machine/atarigen.c6
-rw-r--r--src/mame/machine/atarigen.h6
-rw-r--r--src/mame/machine/megacd.c95
-rw-r--r--src/mame/machine/megacd.h6
-rw-r--r--src/mame/video/1942.c8
-rw-r--r--src/mame/video/1943.c12
-rw-r--r--src/mame/video/40love.c6
-rw-r--r--src/mame/video/4enraya.c2
-rw-r--r--src/mame/video/aeroboto.c4
-rw-r--r--src/mame/video/aerofgt.c28
-rw-r--r--src/mame/video/airbustr.c4
-rw-r--r--src/mame/video/alpha68k.c12
-rw-r--r--src/mame/video/ambush.c4
-rw-r--r--src/mame/video/ampoker2.c4
-rw-r--r--src/mame/video/amspdwy.c4
-rw-r--r--src/mame/video/angelkds.c8
-rw-r--r--src/mame/video/appoooh.c20
-rw-r--r--src/mame/video/aquarium.c10
-rw-r--r--src/mame/video/argus.c28
-rw-r--r--src/mame/video/arkanoid.c6
-rw-r--r--src/mame/video/armedf.c10
-rw-r--r--src/mame/video/ashnojoe.c14
-rw-r--r--src/mame/video/atarifb.c10
-rw-r--r--src/mame/video/atarig1.c4
-rw-r--r--src/mame/video/atarig42.c4
-rw-r--r--src/mame/video/atarigt.c4
-rw-r--r--src/mame/video/atarigx2.c4
-rw-r--r--src/mame/video/atarimo.c16
-rw-r--r--src/mame/video/atarimo.h7
-rw-r--r--src/mame/video/atarisy1.c14
-rw-r--r--src/mame/video/atarisy2.c4
-rw-r--r--src/mame/video/atetris.c2
-rw-r--r--src/mame/video/badlands.c2
-rw-r--r--src/mame/video/bagman.c6
-rw-r--r--src/mame/video/bankp.c16
-rw-r--r--src/mame/video/baraduke.c8
-rw-r--r--src/mame/video/batman.c6
-rw-r--r--src/mame/video/battlane.c6
-rw-r--r--src/mame/video/battlera.c28
-rw-r--r--src/mame/video/battlex.c4
-rw-r--r--src/mame/video/battlnts.c2
-rw-r--r--src/mame/video/bbusters.c8
-rw-r--r--src/mame/video/bfm_adr2.c20
-rw-r--r--src/mame/video/bfm_adr2.h7
-rw-r--r--src/mame/video/bigevglf.c2
-rw-r--r--src/mame/video/bigstrkb.c8
-rw-r--r--src/mame/video/bionicc.c8
-rw-r--r--src/mame/video/bking.c12
-rw-r--r--src/mame/video/bladestl.c2
-rw-r--r--src/mame/video/blktiger.c6
-rw-r--r--src/mame/video/blmbycar.c6
-rw-r--r--src/mame/video/blockade.c2
-rw-r--r--src/mame/video/bloodbro.c10
-rw-r--r--src/mame/video/blstroid.c2
-rw-r--r--src/mame/video/blueprnt.c4
-rw-r--r--src/mame/video/bogeyman.c8
-rw-r--r--src/mame/video/bombjack.c6
-rw-r--r--src/mame/video/bosco.c12
-rw-r--r--src/mame/video/brkthru.c16
-rw-r--r--src/mame/video/bsktball.c4
-rw-r--r--src/mame/video/btime.c24
-rw-r--r--src/mame/video/bublbobl.c2
-rw-r--r--src/mame/video/buggychl.c10
-rw-r--r--src/mame/video/bwing.c28
-rw-r--r--src/mame/video/cabal.c6
-rw-r--r--src/mame/video/calomega.c2
-rw-r--r--src/mame/video/canyon.c4
-rw-r--r--src/mame/video/carjmbre.c4
-rw-r--r--src/mame/video/carpolo.c26
-rw-r--r--src/mame/video/cave.c10
-rw-r--r--src/mame/video/cbasebal.c6
-rw-r--r--src/mame/video/ccastles.c2
-rw-r--r--src/mame/video/cclimber.c28
-rw-r--r--src/mame/video/centiped.c16
-rw-r--r--src/mame/video/chaknpop.c4
-rw-r--r--src/mame/video/champbas.c12
-rw-r--r--src/mame/video/cheekyms.c4
-rw-r--r--src/mame/video/circus.c8
-rw-r--r--src/mame/video/circusc.c6
-rw-r--r--src/mame/video/cischeat.c12
-rw-r--r--src/mame/video/citycon.c6
-rw-r--r--src/mame/video/cloak.c4
-rw-r--r--src/mame/video/cloud9.c4
-rw-r--r--src/mame/video/clshroad.c12
-rw-r--r--src/mame/video/cninja.c2
-rw-r--r--src/mame/video/combatsc.c16
-rw-r--r--src/mame/video/commando.c6
-rw-r--r--src/mame/video/compgolf.c8
-rw-r--r--src/mame/video/contra.c8
-rw-r--r--src/mame/video/cop01.c6
-rw-r--r--src/mame/video/copsnrob.c14
-rw-r--r--src/mame/video/cosmic.c4
-rw-r--r--src/mame/video/cps1.c14
-rw-r--r--src/mame/video/crbaloon.c2
-rw-r--r--src/mame/video/crospang.c4
-rw-r--r--src/mame/video/crshrace.c4
-rw-r--r--src/mame/video/cvs.c4
-rw-r--r--src/mame/video/cyberbal.c4
-rw-r--r--src/mame/video/darius.c4
-rw-r--r--src/mame/video/darkmist.c8
-rw-r--r--src/mame/video/dbz.c4
-rw-r--r--src/mame/video/dcon.c32
-rw-r--r--src/mame/video/dday.c8
-rw-r--r--src/mame/video/ddragon.c8
-rw-r--r--src/mame/video/ddragon3.c8
-rw-r--r--src/mame/video/ddribble.c6
-rw-r--r--src/mame/video/deadang.c10
-rw-r--r--src/mame/video/dec8.c22
-rw-r--r--src/mame/video/decbac06.c17
-rw-r--r--src/mame/video/decbac06.h6
-rw-r--r--src/mame/video/deckarn.c17
-rw-r--r--src/mame/video/deckarn.h8
-rw-r--r--src/mame/video/decmxc06.c17
-rw-r--r--src/mame/video/decmxc06.h9
-rw-r--r--src/mame/video/deco16ic.c23
-rw-r--r--src/mame/video/deco16ic.h8
-rw-r--r--src/mame/video/deco32.c8
-rw-r--r--src/mame/video/deco_mlc.c6
-rw-r--r--src/mame/video/decocass.c38
-rw-r--r--src/mame/video/decospr.c37
-rw-r--r--src/mame/video/decospr.h7
-rw-r--r--src/mame/video/deniam.c6
-rw-r--r--src/mame/video/digdug.c10
-rw-r--r--src/mame/video/djboy.c2
-rw-r--r--src/mame/video/djmain.c6
-rw-r--r--src/mame/video/dkong.c12
-rw-r--r--src/mame/video/docastle.c8
-rw-r--r--src/mame/video/dogfgt.c4
-rw-r--r--src/mame/video/dooyong.c12
-rw-r--r--src/mame/video/dragrace.c2
-rw-r--r--src/mame/video/drgnmst.c8
-rw-r--r--src/mame/video/drmicro.c8
-rw-r--r--src/mame/video/dynduke.c8
-rw-r--r--src/mame/video/eprom.c6
-rw-r--r--src/mame/video/equites.c16
-rw-r--r--src/mame/video/esd16.c8
-rw-r--r--src/mame/video/espial.c12
-rw-r--r--src/mame/video/exedexes.c10
-rw-r--r--src/mame/video/exerion.c4
-rw-r--r--src/mame/video/exidy.c10
-rw-r--r--src/mame/video/exprraid.c8
-rw-r--r--src/mame/video/exzisus.c4
-rw-r--r--src/mame/video/f1gp.c16
-rw-r--r--src/mame/video/fantland.c2
-rw-r--r--src/mame/video/fastfred.c10
-rw-r--r--src/mame/video/fastlane.c6
-rw-r--r--src/mame/video/fcombat.c6
-rw-r--r--src/mame/video/fgoal.c8
-rw-r--r--src/mame/video/finalizr.c8
-rw-r--r--src/mame/video/firetrap.c16
-rw-r--r--src/mame/video/firetrk.c44
-rw-r--r--src/mame/video/fitfight.c8
-rw-r--r--src/mame/video/flkatck.c6
-rw-r--r--src/mame/video/flower.c8
-rw-r--r--src/mame/video/flstory.c14
-rw-r--r--src/mame/video/foodf.c4
-rw-r--r--src/mame/video/freekick.c8
-rw-r--r--src/mame/video/fromanc2.c4
-rw-r--r--src/mame/video/fromance.c4
-rw-r--r--src/mame/video/funkybee.c8
-rw-r--r--src/mame/video/funworld.c2
-rw-r--r--src/mame/video/funybubl.c4
-rw-r--r--src/mame/video/fuukifg2.c6
-rw-r--r--src/mame/video/fuukifg3.c10
-rw-r--r--src/mame/video/gaelco.c6
-rw-r--r--src/mame/video/gaelco2.c10
-rw-r--r--src/mame/video/gaiden.c20
-rw-r--r--src/mame/video/galaga.c8
-rw-r--r--src/mame/video/galastrm.c2
-rw-r--r--src/mame/video/galaxia.c4
-rw-r--r--src/mame/video/galaxian.c4
-rw-r--r--src/mame/video/galaxold.c18
-rw-r--r--src/mame/video/galivan.c10
-rw-r--r--src/mame/video/galpanic.c2
-rw-r--r--src/mame/video/galspnbl.c6
-rw-r--r--src/mame/video/gaplus.c16
-rw-r--r--src/mame/video/gatron.c2
-rw-r--r--src/mame/video/gauntlet.c4
-rw-r--r--src/mame/video/gberet.c12
-rw-r--r--src/mame/video/gcpinbal.c8
-rw-r--r--src/mame/video/ginganin.c8
-rw-r--r--src/mame/video/gladiatr.c6
-rw-r--r--src/mame/video/glass.c6
-rw-r--r--src/mame/video/gng.c6
-rw-r--r--src/mame/video/goal92.c8
-rw-r--r--src/mame/video/goindol.c8
-rw-r--r--src/mame/video/goldstar.c22
-rw-r--r--src/mame/video/gomoku.c2
-rw-r--r--src/mame/video/gotcha.c2
-rw-r--r--src/mame/video/gottlieb.c16
-rw-r--r--src/mame/video/gotya.c6
-rw-r--r--src/mame/video/gp9001.c22
-rw-r--r--src/mame/video/gp9001.h7
-rw-r--r--src/mame/video/gradius3.c8
-rw-r--r--src/mame/video/grchamp.c18
-rw-r--r--src/mame/video/groundfx.c2
-rw-r--r--src/mame/video/gstriker.c4
-rw-r--r--src/mame/video/gsword.c6
-rw-r--r--src/mame/video/gumbo.c4
-rw-r--r--src/mame/video/gunbustr.c4
-rw-r--r--src/mame/video/gundealr.c4
-rw-r--r--src/mame/video/gunsmoke.c8
-rw-r--r--src/mame/video/gyruss.c4
-rw-r--r--src/mame/video/hanaawas.c2
-rw-r--r--src/mame/video/hcastle.c6
-rw-r--r--src/mame/video/hexion.c2
-rw-r--r--src/mame/video/higemaru.c6
-rw-r--r--src/mame/video/himesiki.c6
-rw-r--r--src/mame/video/hng64.c18
-rw-r--r--src/mame/video/holeland.c8
-rw-r--r--src/mame/video/homedata.c14
-rw-r--r--src/mame/video/homerun.c6
-rw-r--r--src/mame/video/hyperspt.c12
-rw-r--r--src/mame/video/hyprduel.c10
-rw-r--r--src/mame/video/ikki.c8
-rw-r--r--src/mame/video/inufuku.c4
-rw-r--r--src/mame/video/iqblock.c4
-rw-r--r--src/mame/video/irobot.c2
-rw-r--r--src/mame/video/ironhors.c28
-rw-r--r--src/mame/video/jack.c8
-rw-r--r--src/mame/video/jackal.c4
-rw-r--r--src/mame/video/jailbrek.c6
-rw-r--r--src/mame/video/k001604.c25
-rw-r--r--src/mame/video/k001604.h11
-rw-r--r--src/mame/video/k007342.c17
-rw-r--r--src/mame/video/k007342.h7
-rw-r--r--src/mame/video/k037122.c21
-rw-r--r--src/mame/video/k037122.h5
-rw-r--r--src/mame/video/k051316.c26
-rw-r--r--src/mame/video/k051316.h6
-rw-r--r--src/mame/video/k051960.c22
-rw-r--r--src/mame/video/k051960.h7
-rw-r--r--src/mame/video/k052109.c19
-rw-r--r--src/mame/video/k052109.h7
-rw-r--r--src/mame/video/k053244_k053245.c24
-rw-r--r--src/mame/video/k053244_k053245.h10
-rw-r--r--src/mame/video/k053246_k053247_k055673.c34
-rw-r--r--src/mame/video/k053246_k053247_k055673.h13
-rw-r--r--src/mame/video/k054156_k054157_k056832.c41
-rw-r--r--src/mame/video/k054156_k054157_k056832.h7
-rw-r--r--src/mame/video/kan_panb.c12
-rw-r--r--src/mame/video/kan_pand.c16
-rw-r--r--src/mame/video/kan_pand.h6
-rw-r--r--src/mame/video/kaneko_spr.c14
-rw-r--r--src/mame/video/kaneko_spr.h7
-rw-r--r--src/mame/video/kaneko_tmap.c14
-rw-r--r--src/mame/video/kaneko_tmap.h7
-rw-r--r--src/mame/video/karnov.c6
-rw-r--r--src/mame/video/kchamp.c6
-rw-r--r--src/mame/video/kickgoal.c8
-rw-r--r--src/mame/video/kingobox.c10
-rw-r--r--src/mame/video/klax.c2
-rw-r--r--src/mame/video/kncljoe.c4
-rw-r--r--src/mame/video/konami_helper.c4
-rw-r--r--src/mame/video/konami_helper.h2
-rw-r--r--src/mame/video/konamigx.c10
-rw-r--r--src/mame/video/kopunch.c4
-rw-r--r--src/mame/video/ksayakyu.c6
-rw-r--r--src/mame/video/kyugo.c6
-rw-r--r--src/mame/video/labyrunr.c8
-rw-r--r--src/mame/video/ladybug.c10
-rw-r--r--src/mame/video/ladyfrog.c6
-rw-r--r--src/mame/video/lasso.c8
-rw-r--r--src/mame/video/lastduel.c12
-rw-r--r--src/mame/video/lazercmd.c2
-rw-r--r--src/mame/video/legionna.c22
-rw-r--r--src/mame/video/lemmings.c6
-rw-r--r--src/mame/video/liberate.c22
-rw-r--r--src/mame/video/lkage.c8
-rw-r--r--src/mame/video/lockon.c2
-rw-r--r--src/mame/video/lordgun.c4
-rw-r--r--src/mame/video/lsasquad.c12
-rw-r--r--src/mame/video/lucky74.c4
-rw-r--r--src/mame/video/lvcards.c2
-rw-r--r--src/mame/video/lwings.c12
-rw-r--r--src/mame/video/m10.c8
-rw-r--r--src/mame/video/m107.c10
-rw-r--r--src/mame/video/m52.c12
-rw-r--r--src/mame/video/m57.c6
-rw-r--r--src/mame/video/m58.c4
-rw-r--r--src/mame/video/m62.c34
-rw-r--r--src/mame/video/m72.c8
-rw-r--r--src/mame/video/m90.c16
-rw-r--r--src/mame/video/m92.c18
-rw-r--r--src/mame/video/macrossp.c18
-rw-r--r--src/mame/video/madalien.c16
-rw-r--r--src/mame/video/magmax.c6
-rw-r--r--src/mame/video/mainsnk.c8
-rw-r--r--src/mame/video/malzak.c2
-rw-r--r--src/mame/video/mappy.c20
-rw-r--r--src/mame/video/marineb.c30
-rw-r--r--src/mame/video/mario.c6
-rw-r--r--src/mame/video/markham.c6
-rw-r--r--src/mame/video/matmania.c16
-rw-r--r--src/mame/video/mcatadv.c4
-rw-r--r--src/mame/video/mcr.c10
-rw-r--r--src/mame/video/mcr3.c16
-rw-r--r--src/mame/video/mcr68.c20
-rw-r--r--src/mame/video/meadows.c6
-rw-r--r--src/mame/video/megasys1.c8
-rw-r--r--src/mame/video/megazone.c8
-rw-r--r--src/mame/video/mermaid.c34
-rw-r--r--src/mame/video/metlclsh.c6
-rw-r--r--src/mame/video/metro.c8
-rw-r--r--src/mame/video/mexico86.c6
-rw-r--r--src/mame/video/mikie.c4
-rw-r--r--src/mame/video/mitchell.c4
-rw-r--r--src/mame/video/mjkjidai.c4
-rw-r--r--src/mame/video/momoko.c10
-rw-r--r--src/mame/video/mosaic.c4
-rw-r--r--src/mame/video/mouser.c6
-rw-r--r--src/mame/video/mrdo.c6
-rw-r--r--src/mame/video/mrflea.c4
-rw-r--r--src/mame/video/mrjong.c4
-rw-r--r--src/mame/video/ms32.c10
-rw-r--r--src/mame/video/msisaac.c10
-rw-r--r--src/mame/video/mugsmash.c6
-rw-r--r--src/mame/video/munchmo.c6
-rw-r--r--src/mame/video/mustache.c4
-rw-r--r--src/mame/video/mystston.c8
-rw-r--r--src/mame/video/mystwarr.c11
-rw-r--r--src/mame/video/namcona1.c27
-rw-r--r--src/mame/video/namcos1.c6
-rw-r--r--src/mame/video/namcos2.c2
-rw-r--r--src/mame/video/namcos22.c14
-rw-r--r--src/mame/video/namcos86.c8
-rw-r--r--src/mame/video/naughtyb.c4
-rw-r--r--src/mame/video/nemesis.c30
-rw-r--r--src/mame/video/news.c4
-rw-r--r--src/mame/video/ninjakd2.c10
-rw-r--r--src/mame/video/ninjaw.c2
-rw-r--r--src/mame/video/nitedrvr.c2
-rw-r--r--src/mame/video/nmk16.c24
-rw-r--r--src/mame/video/nova2001.c18
-rw-r--r--src/mame/video/nycaptor.c6
-rw-r--r--src/mame/video/offtwall.c2
-rw-r--r--src/mame/video/ohmygod.c4
-rw-r--r--src/mame/video/ojankohs.c4
-rw-r--r--src/mame/video/oneshot.c8
-rw-r--r--src/mame/video/orbit.c4
-rw-r--r--src/mame/video/othunder.c6
-rw-r--r--src/mame/video/pacland.c24
-rw-r--r--src/mame/video/pacman.c30
-rw-r--r--src/mame/video/pandoras.c6
-rw-r--r--src/mame/video/paradise.c12
-rw-r--r--src/mame/video/pass.c4
-rw-r--r--src/mame/video/pbaction.c6
-rw-r--r--src/mame/video/pc080sn.c17
-rw-r--r--src/mame/video/pc080sn.h8
-rw-r--r--src/mame/video/pc090oj.c16
-rw-r--r--src/mame/video/pc090oj.h7
-rw-r--r--src/mame/video/pcktgal.c2
-rw-r--r--src/mame/video/pgm.c4
-rw-r--r--src/mame/video/phoenix.c4
-rw-r--r--src/mame/video/pingpong.c6
-rw-r--r--src/mame/video/pirates.c8
-rw-r--r--src/mame/video/pitnrun.c6
-rw-r--r--src/mame/video/pktgaldx.c6
-rw-r--r--src/mame/video/playch10.c2
-rw-r--r--src/mame/video/playmark.c28
-rw-r--r--src/mame/video/plygonet.c8
-rw-r--r--src/mame/video/pokechmp.c4
-rw-r--r--src/mame/video/polepos.c8
-rw-r--r--src/mame/video/polyplay.c6
-rw-r--r--src/mame/video/poolshrk.c4
-rw-r--r--src/mame/video/pooyan.c6
-rw-r--r--src/mame/video/popeye.c4
-rw-r--r--src/mame/video/popper.c10
-rw-r--r--src/mame/video/portrait.c4
-rw-r--r--src/mame/video/powerins.c6
-rw-r--r--src/mame/video/prehisle.c8
-rw-r--r--src/mame/video/psikyo.c12
-rw-r--r--src/mame/video/psikyo4.c4
-rw-r--r--src/mame/video/psikyosh.c8
-rw-r--r--src/mame/video/psychic5.c6
-rw-r--r--src/mame/video/punchout.c14
-rw-r--r--src/mame/video/pushman.c6
-rw-r--r--src/mame/video/quasar.c4
-rw-r--r--src/mame/video/quizdna.c6
-rw-r--r--src/mame/video/quizpani.c4
-rw-r--r--src/mame/video/raiden.c8
-rw-r--r--src/mame/video/rainbow.c4
-rw-r--r--src/mame/video/rallyx.c24
-rw-r--r--src/mame/video/realbrk.c12
-rw-r--r--src/mame/video/redclash.c12
-rw-r--r--src/mame/video/relief.c6
-rw-r--r--src/mame/video/renegade.c8
-rw-r--r--src/mame/video/retofinv.c10
-rw-r--r--src/mame/video/rockrage.c2
-rw-r--r--src/mame/video/rocnrope.c6
-rw-r--r--src/mame/video/rollrace.c6
-rw-r--r--src/mame/video/rpunch.c6
-rw-r--r--src/mame/video/runaway.c12
-rw-r--r--src/mame/video/rungun.c8
-rw-r--r--src/mame/video/sauro.c8
-rw-r--r--src/mame/video/sbasketb.c4
-rw-r--r--src/mame/video/sbugger.c2
-rw-r--r--src/mame/video/scn2674.c13
-rw-r--r--src/mame/video/scn2674.h8
-rw-r--r--src/mame/video/scotrsht.c6
-rw-r--r--src/mame/video/sderby.c12
-rw-r--r--src/mame/video/segag80r.c10
-rw-r--r--src/mame/video/segaic16.c25
-rw-r--r--src/mame/video/segaic16.h7
-rw-r--r--src/mame/video/segaic24.c22
-rw-r--r--src/mame/video/segaic24.h7
-rw-r--r--src/mame/video/segas32.c2
-rw-r--r--src/mame/video/seibuspi.c10
-rw-r--r--src/mame/video/seicross.c10
-rw-r--r--src/mame/video/senjyo.c12
-rw-r--r--src/mame/video/seta.c12
-rw-r--r--src/mame/video/seta001.c34
-rw-r--r--src/mame/video/seta001.h8
-rw-r--r--src/mame/video/seta2.c24
-rw-r--r--src/mame/video/sf.c16
-rw-r--r--src/mame/video/shadfrce.c8
-rw-r--r--src/mame/video/shangha3.c6
-rw-r--r--src/mame/video/shangkid.c10
-rw-r--r--src/mame/video/shaolins.c6
-rw-r--r--src/mame/video/shisen.c2
-rw-r--r--src/mame/video/shootout.c6
-rw-r--r--src/mame/video/shuuz.c2
-rw-r--r--src/mame/video/sidearms.c8
-rw-r--r--src/mame/video/sidepckt.c6
-rw-r--r--src/mame/video/silkroad.c8
-rw-r--r--src/mame/video/skullxbo.c4
-rw-r--r--src/mame/video/skydiver.c4
-rw-r--r--src/mame/video/skyfox.c2
-rw-r--r--src/mame/video/skykid.c8
-rw-r--r--src/mame/video/skyraid.c6
-rw-r--r--src/mame/video/slapfght.c12
-rw-r--r--src/mame/video/slapshot.c6
-rw-r--r--src/mame/video/snk.c28
-rw-r--r--src/mame/video/snk6502.c42
-rw-r--r--src/mame/video/snk68.c8
-rw-r--r--src/mame/video/snookr10.c6
-rw-r--r--src/mame/video/solomon.c6
-rw-r--r--src/mame/video/sonson.c8
-rw-r--r--src/mame/video/spbactn.c14
-rw-r--r--src/mame/video/spcforce.c2
-rw-r--r--src/mame/video/spdodgeb.c4
-rw-r--r--src/mame/video/speedatk.c2
-rw-r--r--src/mame/video/speedbal.c6
-rw-r--r--src/mame/video/speedspn.c4
-rw-r--r--src/mame/video/splash.c8
-rw-r--r--src/mame/video/sprcros2.c10
-rw-r--r--src/mame/video/sprint2.c14
-rw-r--r--src/mame/video/sprint4.c12
-rw-r--r--src/mame/video/sprint8.c6
-rw-r--r--src/mame/video/srumbler.c6
-rw-r--r--src/mame/video/sslam.c10
-rw-r--r--src/mame/video/ssozumo.c6
-rw-r--r--src/mame/video/sspeedr.c4
-rw-r--r--src/mame/video/ssrj.c8
-rw-r--r--src/mame/video/ssv.c12
-rw-r--r--src/mame/video/st0016.c10
-rw-r--r--src/mame/video/st0020.c25
-rw-r--r--src/mame/video/st0020.h8
-rw-r--r--src/mame/video/stadhero.c2
-rw-r--r--src/mame/video/starcrus.c28
-rw-r--r--src/mame/video/starshp1.c10
-rw-r--r--src/mame/video/stfight.c22
-rw-r--r--src/mame/video/stlforce.c10
-rw-r--r--src/mame/video/strnskil.c6
-rw-r--r--src/mame/video/subs.c12
-rw-r--r--src/mame/video/suna16.c2
-rw-r--r--src/mame/video/suna8.c10
-rw-r--r--src/mame/video/superchs.c4
-rw-r--r--src/mame/video/superqix.c8
-rw-r--r--src/mame/video/suprloco.c2
-rw-r--r--src/mame/video/suprnova.c8
-rw-r--r--src/mame/video/suprridr.c6
-rw-r--r--src/mame/video/suprslam.c4
-rw-r--r--src/mame/video/system1.c2
-rw-r--r--src/mame/video/system16.c18
-rw-r--r--src/mame/video/tagteam.c6
-rw-r--r--src/mame/video/tail2nos.c8
-rw-r--r--src/mame/video/taito_b.c4
-rw-r--r--src/mame/video/taito_f2.c8
-rw-r--r--src/mame/video/taito_f3.c30
-rw-r--r--src/mame/video/taito_h.c6
-rw-r--r--src/mame/video/taito_l.c24
-rw-r--r--src/mame/video/taito_o.c2
-rw-r--r--src/mame/video/taito_z.c16
-rw-r--r--src/mame/video/taitoair.c2
-rw-r--r--src/mame/video/taitojc.c8
-rw-r--r--src/mame/video/taitosj.c24
-rw-r--r--src/mame/video/tank8.c4
-rw-r--r--src/mame/video/tankbatt.c4
-rw-r--r--src/mame/video/tankbust.c6
-rw-r--r--src/mame/video/taotaido.c2
-rw-r--r--src/mame/video/targeth.c6
-rw-r--r--src/mame/video/tatsumi.c14
-rw-r--r--src/mame/video/taxidriv.c8
-rw-r--r--src/mame/video/tbowl.c14
-rw-r--r--src/mame/video/tc0080vco.c25
-rw-r--r--src/mame/video/tc0080vco.h7
-rw-r--r--src/mame/video/tc0100scn.c33
-rw-r--r--src/mame/video/tc0100scn.h6
-rw-r--r--src/mame/video/tc0180vcu.c20
-rw-r--r--src/mame/video/tc0180vcu.h6
-rw-r--r--src/mame/video/tc0280grd.c16
-rw-r--r--src/mame/video/tc0280grd.h9
-rw-r--r--src/mame/video/tc0480scp.c24
-rw-r--r--src/mame/video/tc0480scp.h7
-rw-r--r--src/mame/video/tceptor.c18
-rw-r--r--src/mame/video/tecmo.c12
-rw-r--r--src/mame/video/tecmo16.c8
-rw-r--r--src/mame/video/tecmo_spr.c44
-rw-r--r--src/mame/video/tecmo_spr.h10
-rw-r--r--src/mame/video/tecmosys.c8
-rw-r--r--src/mame/video/tehkanwc.c6
-rw-r--r--src/mame/video/terracre.c6
-rw-r--r--src/mame/video/tetrisp2.c32
-rw-r--r--src/mame/video/thedeep.c6
-rw-r--r--src/mame/video/thepit.c8
-rw-r--r--src/mame/video/thoop2.c6
-rw-r--r--src/mame/video/thunderj.c6
-rw-r--r--src/mame/video/tiamc1.c10
-rw-r--r--src/mame/video/tigeroad.c6
-rw-r--r--src/mame/video/timelimt.c6
-rw-r--r--src/mame/video/timeplt.c6
-rw-r--r--src/mame/video/tmnt.c4
-rw-r--r--src/mame/video/toaplan1.c10
-rw-r--r--src/mame/video/toaplan2.c12
-rw-r--r--src/mame/video/toaplan_scu.c17
-rw-r--r--src/mame/video/toaplan_scu.h6
-rw-r--r--src/mame/video/toki.c10
-rw-r--r--src/mame/video/toobin.c4
-rw-r--r--src/mame/video/topspeed.c2
-rw-r--r--src/mame/video/toypop.c6
-rw-r--r--src/mame/video/tp84.c8
-rw-r--r--src/mame/video/trackfld.c10
-rw-r--r--src/mame/video/travrusa.c4
-rw-r--r--src/mame/video/triplhnt.c4
-rw-r--r--src/mame/video/trucocl.c2
-rw-r--r--src/mame/video/tryout.c14
-rw-r--r--src/mame/video/tsamurai.c8
-rw-r--r--src/mame/video/tumbleb.c14
-rw-r--r--src/mame/video/tunhunt.c6
-rw-r--r--src/mame/video/turbo.c2
-rw-r--r--src/mame/video/twin16.c2
-rw-r--r--src/mame/video/twincobr.c6
-rw-r--r--src/mame/video/ultratnk.c12
-rw-r--r--src/mame/video/undrfire.c8
-rw-r--r--src/mame/video/unico.c4
-rw-r--r--src/mame/video/usgames.c6
-rw-r--r--src/mame/video/vastar.c12
-rw-r--r--src/mame/video/vball.c4
-rw-r--r--src/mame/video/videopin.c4
-rw-r--r--src/mame/video/vigilant.c10
-rw-r--r--src/mame/video/vindictr.c4
-rw-r--r--src/mame/video/vsystem_spr.c16
-rw-r--r--src/mame/video/vsystem_spr.h6
-rw-r--r--src/mame/video/vsystem_spr2.c29
-rw-r--r--src/mame/video/vsystem_spr2.h6
-rw-r--r--src/mame/video/vulgus.c28
-rw-r--r--src/mame/video/warpwarp.c6
-rw-r--r--src/mame/video/warriorb.c2
-rw-r--r--src/mame/video/wc90.c12
-rw-r--r--src/mame/video/wc90b.c8
-rw-r--r--src/mame/video/wecleman.c28
-rw-r--r--src/mame/video/welltris.c2
-rw-r--r--src/mame/video/wgp.c8
-rw-r--r--src/mame/video/williams.c4
-rw-r--r--src/mame/video/wiping.c8
-rw-r--r--src/mame/video/wiz.c6
-rw-r--r--src/mame/video/wolfpack.c10
-rw-r--r--src/mame/video/wrally.c6
-rw-r--r--src/mame/video/wwfsstar.c6
-rw-r--r--src/mame/video/xain.c12
-rw-r--r--src/mame/video/xevious.c34
-rw-r--r--src/mame/video/xorworld.c4
-rw-r--r--src/mame/video/xxmissio.c6
-rw-r--r--src/mame/video/xybots.c4
-rw-r--r--src/mame/video/xyonix.c2
-rw-r--r--src/mame/video/ygv608.c63
-rw-r--r--src/mame/video/ygv608.h6
-rw-r--r--src/mame/video/yiear.c4
-rw-r--r--src/mame/video/yunsun16.c6
-rw-r--r--src/mame/video/yunsung8.c4
-rw-r--r--src/mame/video/zac2650.c32
-rw-r--r--src/mame/video/zaccaria.c4
-rw-r--r--src/mame/video/zaxxon.c10
-rw-r--r--src/mame/video/zerozone.c2
-rw-r--r--src/mame/video/zodiack.c8
-rw-r--r--src/mess/drivers/a5105.c4
-rw-r--r--src/mess/drivers/a51xx.c2
-rw-r--r--src/mess/drivers/ac1.c2
-rw-r--r--src/mess/drivers/ace.c2
-rw-r--r--src/mess/drivers/alphatro.c2
-rw-r--r--src/mess/drivers/amstr_pc.c4
-rw-r--r--src/mess/drivers/apc.c2
-rw-r--r--src/mess/drivers/apexc.c4
-rw-r--r--src/mess/drivers/apogee.c2
-rw-r--r--src/mess/drivers/apple1.c2
-rw-r--r--src/mess/drivers/apple2gs.c2
-rw-r--r--src/mess/drivers/apricotf.c2
-rw-r--r--src/mess/drivers/apricotp.c2
-rw-r--r--src/mess/drivers/aquarius.c2
-rw-r--r--src/mess/drivers/arcadia.c2
-rw-r--r--src/mess/drivers/atm.c5
-rw-r--r--src/mess/drivers/avigo.c2
-rw-r--r--src/mess/drivers/ax20.c4
-rw-r--r--src/mess/drivers/b16.c4
-rw-r--r--src/mess/drivers/bcs3.c2
-rw-r--r--src/mess/drivers/bigbord2.c2
-rw-r--r--src/mess/drivers/binbug.c4
-rw-r--r--src/mess/drivers/bmjr.c2
-rw-r--r--src/mess/drivers/bw12.c2
-rw-r--r--src/mess/drivers/c10.c2
-rw-r--r--src/mess/drivers/c128.c4
-rw-r--r--src/mess/drivers/c900.c2
-rw-r--r--src/mess/drivers/casloopy.c12
-rw-r--r--src/mess/drivers/cd2650.c2
-rw-r--r--src/mess/drivers/cdc721.c2
-rw-r--r--src/mess/drivers/cgenie.c2
-rw-r--r--src/mess/drivers/comquest.c2
-rw-r--r--src/mess/drivers/dai.c2
-rw-r--r--src/mess/drivers/dgn_beta.c2
-rw-r--r--src/mess/drivers/dim68k.c2
-rw-r--r--src/mess/drivers/dmv.c2
-rw-r--r--src/mess/drivers/ec65.c4
-rw-r--r--src/mess/drivers/einstein.c2
-rw-r--r--src/mess/drivers/elwro800.c2
-rw-r--r--src/mess/drivers/fmtowns.c2
-rw-r--r--src/mess/drivers/fp1100.c2
-rw-r--r--src/mess/drivers/fp200.c2
-rw-r--r--src/mess/drivers/fp6000.c4
-rw-r--r--src/mess/drivers/galaxy.c2
-rw-r--r--src/mess/drivers/galeb.c2
-rw-r--r--src/mess/drivers/gb.c4
-rw-r--r--src/mess/drivers/h19.c2
-rw-r--r--src/mess/drivers/homelab.c6
-rw-r--r--src/mess/drivers/homez80.c2
-rw-r--r--src/mess/drivers/hp9k.c4
-rw-r--r--src/mess/drivers/hprot1.c2
-rw-r--r--src/mess/drivers/huebler.c2
-rw-r--r--src/mess/drivers/ie15.c2
-rw-r--r--src/mess/drivers/intv.c2
-rw-r--r--src/mess/drivers/ipds.c2
-rw-r--r--src/mess/drivers/irisha.c2
-rw-r--r--src/mess/drivers/itt3030.c4
-rw-r--r--src/mess/drivers/jonos.c2
-rw-r--r--src/mess/drivers/jr100.c2
-rw-r--r--src/mess/drivers/jr200.c10
-rw-r--r--src/mess/drivers/jtc.c4
-rw-r--r--src/mess/drivers/kaypro.c4
-rw-r--r--src/mess/drivers/korgm1.c2
-rw-r--r--src/mess/drivers/kramermc.c2
-rw-r--r--src/mess/drivers/lcmate2.c2
-rw-r--r--src/mess/drivers/llc.c4
-rw-r--r--src/mess/drivers/m79152pc.c2
-rw-r--r--src/mess/drivers/mbc200.c2
-rw-r--r--src/mess/drivers/mbee.c6
-rw-r--r--src/mess/drivers/megadriv.c13
-rw-r--r--src/mess/drivers/microtan.c2
-rw-r--r--src/mess/drivers/mikro80.c2
-rw-r--r--src/mess/drivers/mikrosha.c2
-rw-r--r--src/mess/drivers/mmodular.c2
-rw-r--r--src/mess/drivers/modellot.c2
-rw-r--r--src/mess/drivers/molecular.c2
-rw-r--r--src/mess/drivers/multi8.c4
-rw-r--r--src/mess/drivers/mx2178.c2
-rw-r--r--src/mess/drivers/myb3k.c2
-rw-r--r--src/mess/drivers/mycom.c2
-rw-r--r--src/mess/drivers/mz2000.c4
-rw-r--r--src/mess/drivers/mz2500.c10
-rw-r--r--src/mess/drivers/mz3500.c2
-rw-r--r--src/mess/drivers/mz700.c5
-rw-r--r--src/mess/drivers/mz80.c4
-rw-r--r--src/mess/drivers/nakajies.c8
-rw-r--r--src/mess/drivers/nanos.c2
-rw-r--r--src/mess/drivers/nascom1.c4
-rw-r--r--src/mess/drivers/newbrain.c2
-rw-r--r--src/mess/drivers/odyssey2.c8
-rw-r--r--src/mess/drivers/okean240.c4
-rw-r--r--src/mess/drivers/osborne1.c2
-rw-r--r--src/mess/drivers/osi.c6
-rw-r--r--src/mess/drivers/p2000t.c2
-rw-r--r--src/mess/drivers/partner.c2
-rw-r--r--src/mess/drivers/paso1600.c4
-rw-r--r--src/mess/drivers/pasopia.c2
-rw-r--r--src/mess/drivers/pasopia7.c4
-rw-r--r--src/mess/drivers/pb1000.c2
-rw-r--r--src/mess/drivers/pc.c26
-rw-r--r--src/mess/drivers/pc100.c2
-rw-r--r--src/mess/drivers/pc2000.c4
-rw-r--r--src/mess/drivers/pc4.c2
-rw-r--r--src/mess/drivers/pc6001.c4
-rw-r--r--src/mess/drivers/pc8801.c2
-rw-r--r--src/mess/drivers/pc88va.c6
-rw-r--r--src/mess/drivers/pc9801.c12
-rw-r--r--src/mess/drivers/pcm.c2
-rw-r--r--src/mess/drivers/pda600.c2
-rw-r--r--src/mess/drivers/pdp1.c2
-rw-r--r--src/mess/drivers/pegasus.c2
-rw-r--r--src/mess/drivers/pentagon.c2
-rw-r--r--src/mess/drivers/phunsy.c2
-rw-r--r--src/mess/drivers/pk8020.c2
-rw-r--r--src/mess/drivers/plan80.c2
-rw-r--r--src/mess/drivers/pocketc.c4
-rw-r--r--src/mess/drivers/poly88.c2
-rw-r--r--src/mess/drivers/portfoli.c2
-rw-r--r--src/mess/drivers/psion.c2
-rw-r--r--src/mess/drivers/ptcsol.c2
-rw-r--r--src/mess/drivers/pv1000.c8
-rw-r--r--src/mess/drivers/px8.c2
-rw-r--r--src/mess/drivers/pyl601.c4
-rw-r--r--src/mess/drivers/qx10.c2
-rw-r--r--src/mess/drivers/radio86.c2
-rw-r--r--src/mess/drivers/rainbow.c2
-rw-r--r--src/mess/drivers/replicator.c2
-rw-r--r--src/mess/drivers/rex6000.c2
-rw-r--r--src/mess/drivers/rt1715.c2
-rw-r--r--src/mess/drivers/rx78.c2
-rw-r--r--src/mess/drivers/saturn.c2
-rw-r--r--src/mess/drivers/sbc6510.c2
-rw-r--r--src/mess/drivers/scorpion.c6
-rw-r--r--src/mess/drivers/scv.c2
-rw-r--r--src/mess/drivers/sm1800.c2
-rw-r--r--src/mess/drivers/smc777.c4
-rw-r--r--src/mess/drivers/sorcerer.c2
-rw-r--r--src/mess/drivers/spec128.c2
-rw-r--r--src/mess/drivers/specpls3.c2
-rw-r--r--src/mess/drivers/spectrum.c2
-rw-r--r--src/mess/drivers/super80.c10
-rw-r--r--src/mess/drivers/supracan.c20
-rw-r--r--src/mess/drivers/svi318.c2
-rw-r--r--src/mess/drivers/tek410x.c2
-rw-r--r--src/mess/drivers/ti990_10.c3
-rw-r--r--src/mess/drivers/ti990_4.c6
-rw-r--r--src/mess/drivers/ti99_2.c4
-rw-r--r--src/mess/drivers/tim100.c2
-rw-r--r--src/mess/drivers/timex.c2
-rw-r--r--src/mess/drivers/tk80bs.c4
-rw-r--r--src/mess/drivers/trs80.c14
-rw-r--r--src/mess/drivers/tx0.c2
-rw-r--r--src/mess/drivers/unior.c2
-rw-r--r--src/mess/drivers/unistar.c2
-rw-r--r--src/mess/drivers/ut88.c2
-rw-r--r--src/mess/drivers/v6809.c2
-rw-r--r--src/mess/drivers/vg5k.c2
-rw-r--r--src/mess/drivers/vt100.c2
-rw-r--r--src/mess/drivers/vt240.c2
-rw-r--r--src/mess/drivers/vta2000.c2
-rw-r--r--src/mess/drivers/vtech2.c2
-rw-r--r--src/mess/drivers/wswan.c2
-rw-r--r--src/mess/drivers/x07.c2
-rw-r--r--src/mess/drivers/x1.c10
-rw-r--r--src/mess/drivers/x1twin.c2
-rw-r--r--src/mess/drivers/x68k.c2
-rw-r--r--src/mess/drivers/xavix.c2
-rw-r--r--src/mess/drivers/xerox820.c4
-rw-r--r--src/mess/drivers/z1013.c2
-rw-r--r--src/mess/drivers/z9001.c2
-rw-r--r--src/mess/drivers/zrt80.c2
-rw-r--r--src/mess/drivers/zx.c8
-rw-r--r--src/mess/machine/cgenie.c2
-rw-r--r--src/mess/video/733_asr.c19
-rw-r--r--src/mess/video/733_asr.h8
-rw-r--r--src/mess/video/911_vdt.c18
-rw-r--r--src/mess/video/911_vdt.h7
-rw-r--r--src/mess/video/abc80.c4
-rw-r--r--src/mess/video/ac1.c4
-rw-r--r--src/mess/video/apple1.c6
-rw-r--r--src/mess/video/aquarius.c2
-rw-r--r--src/mess/video/arcadia.c6
-rw-r--r--src/mess/video/cgc7900.c2
-rw-r--r--src/mess/video/cgenie.c18
-rw-r--r--src/mess/video/comquest.c2
-rw-r--r--src/mess/video/galeb.c2
-rw-r--r--src/mess/video/intv.c12
-rw-r--r--src/mess/video/isa_mda.c4
-rw-r--r--src/mess/video/kramermc.c2
-rw-r--r--src/mess/video/microtan.c2
-rw-r--r--src/mess/video/mikromik.c2
-rw-r--r--src/mess/video/mz700.c6
-rw-r--r--src/mess/video/nascom1.c8
-rw-r--r--src/mess/video/p2000m.c2
-rw-r--r--src/mess/video/pc1251.c4
-rw-r--r--src/mess/video/pc1401.c4
-rw-r--r--src/mess/video/pc1403.c12
-rw-r--r--src/mess/video/pdp1.c2
-rw-r--r--src/mess/video/stic.c30
-rw-r--r--src/mess/video/tmc600.c2
-rw-r--r--src/mess/video/tx0.c2
-rw-r--r--src/mess/video/ut88.c2
-rw-r--r--src/mess/video/vtech2.c16
-rw-r--r--src/mess/video/x68k.c22
1646 files changed, 6762 insertions, 5190 deletions
diff --git a/src/emu/bus/c64/xl80.c b/src/emu/bus/c64/xl80.c
index b136118d30d..3169479f4f7 100644
--- a/src/emu/bus/c64/xl80.c
+++ b/src/emu/bus/c64/xl80.c
@@ -149,7 +149,7 @@ static MACHINE_CONFIG_FRAGMENT( c64_xl80 )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_REFRESH_RATE(50)
- //MCFG_GFXDECODE(c64_xl80)
+ MCFG_GFXDECODE_ADD("gfxdecode", c64_xl80)
MCFG_MC6845_ADD(HD46505SP_TAG, H46505, MC6845_SCREEN_TAG, XTAL_14_31818MHz, crtc_intf)
MACHINE_CONFIG_END
diff --git a/src/emu/bus/comx35/clm.c b/src/emu/bus/comx35/clm.c
index da879d18216..ca9af5b1977 100644
--- a/src/emu/bus/comx35/clm.c
+++ b/src/emu/bus/comx35/clm.c
@@ -168,7 +168,7 @@ static MACHINE_CONFIG_FRAGMENT( comx_clm )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_REFRESH_RATE(50)
- //MCFG_GFXDECODE(comx_clm)
+ MCFG_GFXDECODE_ADD("gfxdecode", comx_clm)
MCFG_MC6845_ADD(MC6845_TAG, MC6845, MC6845_SCREEN_TAG, XTAL_14_31818MHz/7, crtc_intf)
MACHINE_CONFIG_END
diff --git a/src/emu/bus/iq151/video32.c b/src/emu/bus/iq151/video32.c
index 4364736dd22..42a3caf637f 100644
--- a/src/emu/bus/iq151/video32.c
+++ b/src/emu/bus/iq151/video32.c
@@ -36,6 +36,13 @@ static const gfx_layout iq151_video32_charlayout =
8*8 /* every char takes 8 bytes */
};
+static GFXDECODE_START( video32 )
+GFXDECODE_END
+
+static MACHINE_CONFIG_FRAGMENT( video32 )
+ MCFG_GFXDECODE_ADD("gfxdecode", video32)
+MACHINE_CONFIG_END
+
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
@@ -52,10 +59,12 @@ const device_type IQ151_VIDEO32 = &device_creator<iq151_video32_device>;
iq151_video32_device::iq151_video32_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, IQ151_VIDEO32, "IQ151 video32", tag, owner, clock, "iq151_video32", __FILE__),
- device_iq151cart_interface( mconfig, *this )
+ device_iq151cart_interface( mconfig, *this ),
+ m_gfxdecode(*this, "gfxdecode")
{
}
+
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
@@ -65,7 +74,7 @@ void iq151_video32_device::device_start()
m_videoram = (UINT8*)memregion("videoram")->base();
m_chargen = (UINT8*)memregion("chargen")->base();
- machine().gfx[0] = auto_alloc(machine(), gfx_element(machine(), iq151_video32_charlayout, m_chargen, 1, 0));
+ m_gfxdecode->set_gfx(0, auto_alloc(machine(), gfx_element(machine(), iq151_video32_charlayout, m_chargen, 1, 0)));
}
//-------------------------------------------------
@@ -82,6 +91,16 @@ void iq151_video32_device::device_reset()
}
//-------------------------------------------------
+// machine_config_additions - device-specific
+// machine configurations
+//-------------------------------------------------
+
+machine_config_constructor iq151_video32_device::device_mconfig_additions() const
+{
+ return MACHINE_CONFIG_NAME( video32 );
+}
+
+//-------------------------------------------------
// device_rom_region
//-------------------------------------------------
diff --git a/src/emu/bus/iq151/video32.h b/src/emu/bus/iq151/video32.h
index 2d7bfbe23e6..627a4d0347f 100644
--- a/src/emu/bus/iq151/video32.h
+++ b/src/emu/bus/iq151/video32.h
@@ -24,6 +24,7 @@ public:
// optional information overrides
virtual const rom_entry *device_rom_region() const;
+ virtual machine_config_constructor device_mconfig_additions() const;
protected:
// device-level overrides
@@ -38,6 +39,7 @@ protected:
private:
UINT8 * m_videoram;
UINT8 * m_chargen;
+ required_device<gfxdecode_device> m_gfxdecode;
};
diff --git a/src/emu/bus/iq151/video64.c b/src/emu/bus/iq151/video64.c
index 601d6d2b61a..91d7eb74a02 100644
--- a/src/emu/bus/iq151/video64.c
+++ b/src/emu/bus/iq151/video64.c
@@ -36,6 +36,13 @@ static const gfx_layout iq151_video64_charlayout =
8*8 /* every char takes 8 bytes */
};
+static GFXDECODE_START( video64 )
+GFXDECODE_END
+
+static MACHINE_CONFIG_FRAGMENT( video64 )
+ MCFG_GFXDECODE_ADD("gfxdecode", video64)
+MACHINE_CONFIG_END
+
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
@@ -52,7 +59,8 @@ const device_type IQ151_VIDEO64 = &device_creator<iq151_video64_device>;
iq151_video64_device::iq151_video64_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, IQ151_VIDEO64, "IQ151 video64", tag, owner, clock, "iq151_video64", __FILE__),
- device_iq151cart_interface( mconfig, *this )
+ device_iq151cart_interface( mconfig, *this ),
+ m_gfxdecode(*this, "gfxdecode")
{
}
@@ -65,7 +73,7 @@ void iq151_video64_device::device_start()
m_videoram = (UINT8*)memregion("videoram")->base();
m_chargen = (UINT8*)memregion("chargen")->base();
- machine().gfx[0] = auto_alloc(machine(), gfx_element(machine(), iq151_video64_charlayout, m_chargen, 1, 0));
+ m_gfxdecode->set_gfx(0,auto_alloc(machine(), gfx_element(machine(), iq151_video64_charlayout, m_chargen, 1, 0)));
}
//-------------------------------------------------
@@ -82,6 +90,16 @@ void iq151_video64_device::device_reset()
}
//-------------------------------------------------
+// machine_config_additions - device-specific
+// machine configurations
+//-------------------------------------------------
+
+machine_config_constructor iq151_video64_device::device_mconfig_additions() const
+{
+ return MACHINE_CONFIG_NAME( video64 );
+}
+
+//-------------------------------------------------
// device_rom_region
//-------------------------------------------------
diff --git a/src/emu/bus/iq151/video64.h b/src/emu/bus/iq151/video64.h
index a0fea30936b..5c625eb8a77 100644
--- a/src/emu/bus/iq151/video64.h
+++ b/src/emu/bus/iq151/video64.h
@@ -24,6 +24,7 @@ public:
// optional information overrides
virtual const rom_entry *device_rom_region() const;
+ virtual machine_config_constructor device_mconfig_additions() const;
protected:
// device-level overrides
@@ -39,6 +40,7 @@ protected:
private:
UINT8 * m_videoram;
UINT8 * m_chargen;
+ required_device<gfxdecode_device> m_gfxdecode;
};
diff --git a/src/emu/drawgfx.c b/src/emu/drawgfx.c
index fd1ea3bddff..7e16649122d 100644
--- a/src/emu/drawgfx.c
+++ b/src/emu/drawgfx.c
@@ -11,6 +11,7 @@
#include "emu.h"
#include "drawgfxm.h"
+#include "validity.h"
/***************************************************************************
@@ -64,18 +65,45 @@ static inline INT32 normalize_yscroll(bitmap_t &bitmap, INT32 yscroll)
-/***************************************************************************
- GRAPHICS ELEMENTS
-***************************************************************************/
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
-/*-------------------------------------------------
- gfx_init - allocate memory for the graphics
- elements referenced by a machine
--------------------------------------------------*/
+const device_type GFXDECODE = &device_creator<gfxdecode_device>;
-void gfx_init(running_machine &machine)
+gfxdecode_device::gfxdecode_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : device_t(mconfig, GFXDECODE, "gfxdecode", tag, owner, clock, "gfxdecode", __FILE__),
+ m_gfxdecodeinfo(NULL)
{
- const gfx_decode_entry *gfxdecodeinfo = machine.config().m_gfxdecodeinfo;
+ memset(m_gfx, 0, sizeof(m_gfx));
+}
+
+//**************************************************************************
+// INITIALIZATION AND CONFIGURATION
+//**************************************************************************
+
+void gfxdecode_device::static_set_gfxdecodeinfo(device_t &device, const gfx_decode_entry *info)
+{
+ downcast<gfxdecode_device &>(device).m_gfxdecodeinfo = info;
+}
+
+//-------------------------------------------------
+// device_stop - final cleanup
+//-------------------------------------------------
+
+void gfxdecode_device::device_stop()
+{
+ for (int i = 0; i < MAX_GFX_ELEMENTS; i++)
+ auto_free(machine(), m_gfx[i]);
+}
+
+//-------------------------------------------------
+// device_start - start up the device
+//-------------------------------------------------
+
+void gfxdecode_device::device_start()
+{
+ const gfx_decode_entry *gfxdecodeinfo = m_gfxdecodeinfo;
int curgfx;
// skip if nothing to do
@@ -86,7 +114,10 @@ void gfx_init(running_machine &machine)
for (curgfx = 0; curgfx < MAX_GFX_ELEMENTS && gfxdecodeinfo[curgfx].gfxlayout != NULL; curgfx++)
{
const gfx_decode_entry *gfxdecode = &gfxdecodeinfo[curgfx];
- memory_region *region = (gfxdecode->memory_region != NULL) ? machine.root_device().memregion(gfxdecode->memory_region) : NULL;
+ // resolve the region
+ astring gfxregion;
+ owner()->subtag(gfxregion, gfxdecode->memory_region);
+ memory_region *region = (gfxdecode->memory_region != NULL) ? owner()->memregion(gfxregion) : NULL;
UINT32 region_length = (region != NULL) ? (8 * region->bytes()) : 0;
const UINT8 *region_base = (region != NULL) ? region->base() : NULL;
UINT32 xscale = (gfxdecode->xscale == 0) ? 1 : gfxdecode->xscale;
@@ -200,11 +231,94 @@ void gfx_init(running_machine &machine)
glcopy.total = total;
// allocate the graphics
- machine.gfx[curgfx] = auto_alloc(machine, gfx_element(machine, glcopy, (region_base != NULL) ? region_base + gfxdecode->start : NULL, gfxdecode->total_color_codes, gfxdecode->color_codes_start));
+ m_gfx[curgfx] = auto_alloc(machine(), gfx_element(machine(), glcopy, (region_base != NULL) ? region_base + gfxdecode->start : NULL, gfxdecode->total_color_codes, gfxdecode->color_codes_start));
+ }
+}
+
+
+//-------------------------------------------------
+// device_validity_check - validate graphics decoding
+// configuration
+//-------------------------------------------------/
+
+void gfxdecode_device::device_validity_check(validity_checker &valid) const
+{
+
+ // bail if no gfx
+ if (!m_gfxdecodeinfo)
+ return;
+
+ // iterate over graphics decoding entries
+ for (int gfxnum = 0; gfxnum < MAX_GFX_ELEMENTS && m_gfxdecodeinfo[gfxnum].gfxlayout != NULL; gfxnum++)
+ {
+ const gfx_decode_entry &gfx = m_gfxdecodeinfo[gfxnum];
+ const gfx_layout &layout = *gfx.gfxlayout;
+
+ // make sure the region exists
+ const char *region = gfx.memory_region;
+ if (region != NULL)
+ {
+ // resolve the region
+ astring gfxregion;
+
+ owner()->subtag(gfxregion, region);
+
+ // loop over gfx regions
+ UINT32 region_length = valid.region_length(gfxregion);
+ if (region_length == 0)
+ mame_printf_error("gfx[%d] references non-existent region '%s'\n", gfxnum, gfxregion.cstr());
+
+ // if we have a valid region, and we're not using auto-sizing, check the decode against the region length
+ else if (!IS_FRAC(layout.total))
+ {
+ // determine which plane is at the largest offset
+ int start = 0;
+ for (int plane = 0; plane < layout.planes; plane++)
+ if (layout.planeoffset[plane] > start)
+ start = layout.planeoffset[plane];
+ start &= ~(layout.charincrement - 1);
+
+ // determine the total length based on this info
+ int len = layout.total * layout.charincrement;
+
+ // do we have enough space in the region to cover the whole decode?
+ int avail = region_length - (gfx.start & ~(layout.charincrement / 8 - 1));
+
+ // if not, this is an error
+ if ((start + len) / 8 > avail)
+ mame_printf_error("gfx[%d] extends past allocated memory of region '%s'\n", gfxnum, region);
+ }
+ }
+
+ int xscale = (m_gfxdecodeinfo[gfxnum].xscale == 0) ? 1 : m_gfxdecodeinfo[gfxnum].xscale;
+ int yscale = (m_gfxdecodeinfo[gfxnum].yscale == 0) ? 1 : m_gfxdecodeinfo[gfxnum].yscale;
+
+ // verify raw decode, which can only be full-region and have no scaling
+ if (layout.planeoffset[0] == GFX_RAW)
+ {
+ if (layout.total != RGN_FRAC(1,1))
+ mame_printf_error("gfx[%d] with unsupported layout total\n", gfxnum);
+ if (xscale != 1 || yscale != 1)
+ mame_printf_error("gfx[%d] with unsupported xscale/yscale\n", gfxnum);
+ }
+
+ // verify traditional decode doesn't have too many planes or is not too large
+ else
+ {
+ if (layout.planes > MAX_GFX_PLANES)
+ mame_printf_error("gfx[%d] with invalid planes\n", gfxnum);
+ if (xscale * layout.width > MAX_ABS_GFX_SIZE || yscale * layout.height > MAX_ABS_GFX_SIZE)
+ mame_printf_error("gfx[%d] with invalid xscale/yscale\n", gfxnum);
+ }
}
+
}
+/***************************************************************************
+ GRAPHICS ELEMENTS
+***************************************************************************/
+
//-------------------------------------------------
// gfx_element - constructor
@@ -2190,3 +2304,6 @@ void copyrozbitmap_trans(bitmap_rgb32 &dest, const rectangle &cliprect, bitmap_r
DECLARE_NO_PRIORITY;
COPYROZBITMAP_CORE(UINT32, PIXEL_OP_COPY_TRANSPEN, NO_PRIORITY);
}
+
+GFXDECODE_START( empty )
+GFXDECODE_END \ No newline at end of file
diff --git a/src/emu/drawgfx.h b/src/emu/drawgfx.h
index 5be9341973b..fa485edc514 100644
--- a/src/emu/drawgfx.h
+++ b/src/emu/drawgfx.h
@@ -19,6 +19,22 @@
#define __DRAWGFX_H__
+//**************************************************************************
+// DEVICE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_GFXDECODE_ADD(_tag, _info) \
+ MCFG_DEVICE_ADD(_tag, GFXDECODE, 0) \
+ MCFG_GFXDECODE_INFO(_info) \
+
+#define MCFG_GFXDECODE_INFO(_info) \
+ gfxdecode_device::static_set_gfxdecodeinfo(*device, GFXDECODE_NAME(_info));
+
+
+#define MCFG_GFXDECODE_MODIFY(_tag, _info) \
+ MCFG_DEVICE_MODIFY(_tag) \
+ MCFG_GFXDECODE_INFO(_info) \
+
/***************************************************************************
CONSTANTS
@@ -288,12 +304,6 @@ struct gfx_decode_entry
FUNCTION PROTOTYPES
***************************************************************************/
-
-// ----- graphics elements -----
-
-// allocate memory for the graphics elements referenced by a machine
-void gfx_init(running_machine &machine);
-
// ----- scanline copying -----
// copy pixels from an 8bpp buffer to a single scanline of a bitmap
@@ -426,5 +436,43 @@ inline UINT32 alpha_blend_r32(UINT32 d, UINT32 s, UINT8 level)
((((s & 0xff0000) * level + (d & 0xff0000) * alphad) >> 8) & 0xff0000);
}
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> gfxdecode_device
+
+// device type definition
+extern const device_type GFXDECODE;
+
+class gfxdecode_device : public device_t
+{
+public:
+ // construction/destruction
+ gfxdecode_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ // static configuration
+ static void static_set_gfxdecodeinfo(device_t &device, const gfx_decode_entry *info);
+
+ gfx_element * gfx(int index) { assert(index < MAX_GFX_ELEMENTS); return m_gfx[index]; }
+ gfx_element ** gfx() { return m_gfx; }
+
+ void set_gfx(int index, gfx_element * val) { assert(index < MAX_GFX_ELEMENTS); m_gfx[index] = val; }
+protected:
+ // device-level overrides
+ virtual void device_validity_check(validity_checker &valid) const;
+ virtual void device_start();
+ virtual void device_stop();
+
+private:
+ // configuration state
+ const gfx_decode_entry *m_gfxdecodeinfo; // pointer to array of graphics decoding information
+ gfx_element * m_gfx[MAX_GFX_ELEMENTS]; // array of pointers to graphic sets (chars, sprites)
+};
+
+// device type iterator
+typedef device_type_iterator<&device_creator<gfxdecode_device>, gfxdecode_device> gfxdecode_device_iterator;
+
+GFXDECODE_EXTERN(empty);
#endif // __DRAWGFX_H__
diff --git a/src/emu/driver.c b/src/emu/driver.c
index 65ad6e23d0f..e9a498a1bbd 100644
--- a/src/emu/driver.c
+++ b/src/emu/driver.c
@@ -35,6 +35,7 @@ driver_device::driver_device(const machine_config &mconfig, device_type type, co
: device_t(mconfig, type, "Driver Device", tag, NULL, 0, "", __FILE__),
device_memory_interface(mconfig, *this),
m_screen(*this, "screen"),
+ m_gfxdecode(*this, "gfxdecode"),
m_generic_paletteram_8(*this, "paletteram"),
m_generic_paletteram2_8(*this, "paletteram2"),
m_generic_paletteram_16(*this, "paletteram"),
diff --git a/src/emu/driver.h b/src/emu/driver.h
index dd755130f5f..94981859fb1 100644
--- a/src/emu/driver.h
+++ b/src/emu/driver.h
@@ -103,6 +103,9 @@
// TYPE DEFINITIONS
//**************************************************************************
+// forward declarations
+class gfxdecode_device;
+
typedef delegate<void ()> driver_callback_delegate;
// legacy callback functions
@@ -375,6 +378,7 @@ protected:
public:
// generic devices
optional_device<screen_device> m_screen;
+ optional_device<gfxdecode_device> m_gfxdecode;
// generic pointers
optional_shared_ptr<UINT8> m_generic_paletteram_8;
diff --git a/src/emu/machine.c b/src/emu/machine.c
index 2aa164ead8f..67b8e7dcba3 100644
--- a/src/emu/machine.c
+++ b/src/emu/machine.c
@@ -186,7 +186,6 @@ running_machine::running_machine(const machine_config &_config, osd_interface &o
m_scheduler(*this),
m_lua_engine(*this)
{
- memset(gfx, 0, sizeof(gfx));
memset(&m_base_time, 0, sizeof(m_base_time));
// set the machine on all devices
@@ -305,9 +304,6 @@ void running_machine::start()
save().save_item(NAME(m_watchdog_enabled));
save().save_item(NAME(m_watchdog_counter));
- // allocate the gfx elements prior to device initialization
- gfx_init(*this);
-
// initialize image devices
image_init(*this);
m_tilemap = auto_alloc(*this, tilemap_manager(*this));
diff --git a/src/emu/machine.h b/src/emu/machine.h
index 4eeb1c359a5..02cc325334c 100644
--- a/src/emu/machine.h
+++ b/src/emu/machine.h
@@ -268,7 +268,6 @@ public:
cpu_device * firstcpu; // first CPU
// video-related information
- gfx_element * gfx[MAX_GFX_ELEMENTS];// array of pointers to graphic sets (chars, sprites)
screen_device * primary_screen; // the primary screen device, or NULL if screenless
palette_t * palette; // global palette object
diff --git a/src/emu/machine/tc009xlvc.c b/src/emu/machine/tc009xlvc.c
index fe98cef7d58..beda58b97af 100644
--- a/src/emu/machine/tc009xlvc.c
+++ b/src/emu/machine/tc009xlvc.c
@@ -85,7 +85,7 @@ READ8_MEMBER(tc0091lvc_device::tc0091lvc_pcg1_r)
WRITE8_MEMBER(tc0091lvc_device::tc0091lvc_pcg1_w)
{
m_pcg1_ram[offset] = data;
- machine().gfx[m_gfx_index]->mark_dirty((offset+0x4000) / 32);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty((offset+0x4000) / 32);
tx_tilemap->mark_all_dirty();
}
@@ -97,7 +97,7 @@ READ8_MEMBER(tc0091lvc_device::tc0091lvc_pcg2_r)
WRITE8_MEMBER(tc0091lvc_device::tc0091lvc_pcg2_w)
{
m_pcg2_ram[offset] = data;
- machine().gfx[m_gfx_index]->mark_dirty((offset+0xc000) / 32);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty((offset+0xc000) / 32);
tx_tilemap->mark_all_dirty();
}
@@ -110,7 +110,7 @@ WRITE8_MEMBER(tc0091lvc_device::tc0091lvc_vram0_w)
{
m_vram0[offset] = data;
bg0_tilemap->mark_tile_dirty(offset/2);
- machine().gfx[m_gfx_index]->mark_dirty((offset+0x8000) / 32);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty((offset+0x8000) / 32);
tx_tilemap->mark_all_dirty();
}
@@ -124,7 +124,7 @@ WRITE8_MEMBER(tc0091lvc_device::tc0091lvc_vram1_w)
{
m_vram1[offset] = data;
bg1_tilemap->mark_tile_dirty(offset/2);
- machine().gfx[m_gfx_index]->mark_dirty((offset+0x9000) / 32);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty((offset+0x9000) / 32);
tx_tilemap->mark_all_dirty();
}
@@ -137,7 +137,7 @@ WRITE8_MEMBER(tc0091lvc_device::tc0091lvc_tvram_w)
{
m_tvram[offset] = data;
tx_tilemap->mark_tile_dirty(offset/2);
- machine().gfx[m_gfx_index]->mark_dirty((offset+0xa000) / 32);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty((offset+0xa000) / 32);
tx_tilemap->mark_all_dirty();
}
@@ -149,7 +149,7 @@ READ8_MEMBER(tc0091lvc_device::tc0091lvc_spr_r)
WRITE8_MEMBER(tc0091lvc_device::tc0091lvc_spr_w)
{
m_sprram[offset] = data;
- machine().gfx[m_gfx_index]->mark_dirty((offset+0xb000) / 32);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty((offset+0xb000) / 32);
tx_tilemap->mark_all_dirty();
}
@@ -167,10 +167,22 @@ ADDRESS_MAP_END
tc0091lvc_device::tc0091lvc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, TC0091LVC, "TC0091LVC", tag, owner, clock, "tc0091lvc", __FILE__),
device_memory_interface(mconfig, *this),
- m_space_config("tc0091lvc", ENDIANNESS_LITTLE, 8,20, 0, NULL, *ADDRESS_MAP_NAME(tc0091lvc_map8))
+ m_space_config("tc0091lvc", ENDIANNESS_LITTLE, 8,20, 0, NULL, *ADDRESS_MAP_NAME(tc0091lvc_map8)),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void tc0091lvc_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<tc0091lvc_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
void tc0091lvc_device::device_config_complete()
{
@@ -192,6 +204,7 @@ TILE_GET_INFO_MEMBER(tc0091lvc_device::get_bg0_tile_info)
// | (state->m_horshoes_gfxbank << 12);
SET_TILE_INFO_MEMBER(
+ *m_gfxdecode,
0,
code,
(attr & 0xf0) >> 4,
@@ -207,6 +220,7 @@ TILE_GET_INFO_MEMBER(tc0091lvc_device::get_bg1_tile_info)
// | (state->m_horshoes_gfxbank << 12);
SET_TILE_INFO_MEMBER(
+ *m_gfxdecode,
0,
code,
(attr & 0xf0) >> 4,
@@ -220,6 +234,7 @@ TILE_GET_INFO_MEMBER(tc0091lvc_device::get_tx_tile_info)
| ((attr & 0x07) << 8);
SET_TILE_INFO_MEMBER(
+ *m_gfxdecode,
m_gfx_index,
code,
(attr & 0xf0) >> 4,
@@ -270,12 +285,12 @@ void tc0091lvc_device::device_start()
bg1_tilemap->set_scrolldx(38, -21);
for (m_gfx_index = 0; m_gfx_index < MAX_GFX_ELEMENTS; m_gfx_index++)
- if (machine().gfx[m_gfx_index] == 0)
+ if (m_gfxdecode->gfx(m_gfx_index) == 0)
break;
//printf("m_gfx_index %d\n", m_gfx_index);
- machine().gfx[m_gfx_index] = auto_alloc(machine(), gfx_element(machine(), char_layout, (UINT8 *)m_pcg_ram, machine().total_colors() / 16, 0));
+ m_gfxdecode->set_gfx(m_gfx_index, auto_alloc(machine(), gfx_element(machine(), char_layout, (UINT8 *)m_pcg_ram, machine().total_colors() / 16, 0)));
}
void tc0091lvc_device::device_reset()
@@ -290,7 +305,7 @@ const address_space_config *tc0091lvc_device::memory_space_config(address_spacen
void tc0091lvc_device::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 global_flip )
{
- gfx_element *gfx = screen.machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
int count;
for(count=0;count<0x3e7;count+=8)
diff --git a/src/emu/machine/tc009xlvc.h b/src/emu/machine/tc009xlvc.h
index c6d0aa303de..458ac613ddf 100644
--- a/src/emu/machine/tc009xlvc.h
+++ b/src/emu/machine/tc009xlvc.h
@@ -17,6 +17,9 @@ class tc0091lvc_device : public device_t,
public:
tc0091lvc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_READ8_MEMBER( vregs_r );
DECLARE_WRITE8_MEMBER( vregs_w );
@@ -76,8 +79,13 @@ protected:
virtual void device_reset();
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const;
address_space_config m_space_config;
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type TC0091LVC;
+#define MCFG_TC0091LVC_GFXDECODE(_gfxtag) \
+ tc0091lvc_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
+
#endif
diff --git a/src/emu/mconfig.c b/src/emu/mconfig.c
index bf9156e2b72..31b2c098851 100644
--- a/src/emu/mconfig.c
+++ b/src/emu/mconfig.c
@@ -28,7 +28,6 @@ machine_config::machine_config(const game_driver &gamedrv, emu_options &options)
m_nvram_handler(NULL),
m_memcard_handler(NULL),
m_video_attributes(0),
- m_gfxdecodeinfo(NULL),
m_total_colors(0),
m_default_layout(NULL),
m_gamedrv(gamedrv),
diff --git a/src/emu/mconfig.h b/src/emu/mconfig.h
index ce4e9b4f5ca..272bd86460d 100644
--- a/src/emu/mconfig.h
+++ b/src/emu/mconfig.h
@@ -117,7 +117,6 @@ public:
// other parameters
UINT32 m_video_attributes; // flags describing the video system
- const gfx_decode_entry *m_gfxdecodeinfo; // pointer to array of graphics decoding information
UINT32 m_total_colors; // total number of colors in the palette
const char * m_default_layout; // default layout for this machine
@@ -199,8 +198,6 @@ ATTR_COLD device_t *MACHINE_CONFIG_NAME(_name)(machine_config &config, device_t
// core video parameters
#define MCFG_VIDEO_ATTRIBUTES(_flags) \
config.m_video_attributes = _flags;
-#define MCFG_GFXDECODE(_gfx) \
- config.m_gfxdecodeinfo = GFXDECODE_NAME(_gfx);
#define MCFG_PALETTE_LENGTH(_length) \
config.m_total_colors = _length;
#define MCFG_DEFAULT_LAYOUT(_layout) \
diff --git a/src/emu/tilemap.c b/src/emu/tilemap.c
index 3c738c1f88f..27f1663d611 100644
--- a/src/emu/tilemap.c
+++ b/src/emu/tilemap.c
@@ -85,9 +85,9 @@ inline bool tilemap_t::gfx_elements_changed()
// iterate over all used gfx types and set the dirty flag if any of them have changed
for (int gfxnum = 0; usedmask != 0; usedmask >>= 1, gfxnum++)
if ((usedmask & 1) != 0)
- if (m_gfx_dirtyseq[gfxnum] != machine().gfx[gfxnum]->dirtyseq())
+ if (m_gfx_dirtyseq[gfxnum] != m_tileinfo.decoder->gfx(gfxnum)->dirtyseq())
{
- m_gfx_dirtyseq[gfxnum] = machine().gfx[gfxnum]->dirtyseq();
+ m_gfx_dirtyseq[gfxnum] = m_tileinfo.decoder->gfx(gfxnum)->dirtyseq();
isdirty = true;
}
@@ -754,7 +754,7 @@ g_profiler.start(PROFILER_TILEMAP_UPDATE);
if (m_tileinfo.gfxnum != 0xff && (m_gfx_used & (1 << m_tileinfo.gfxnum)) == 0)
{
m_gfx_used |= 1 << m_tileinfo.gfxnum;
- m_gfx_dirtyseq[m_tileinfo.gfxnum] = machine().gfx[m_tileinfo.gfxnum]->dirtyseq();
+ m_gfx_dirtyseq[m_tileinfo.gfxnum] = m_tileinfo.decoder->gfx(m_tileinfo.gfxnum)->dirtyseq();
}
g_profiler.stop();
diff --git a/src/emu/tilemap.h b/src/emu/tilemap.h
index 7a5c10ced2d..93a6e58a4f0 100644
--- a/src/emu/tilemap.h
+++ b/src/emu/tilemap.h
@@ -169,7 +169,7 @@
// set the common info for the tile
SET_TILE_INFO(
- 1, // use machine.gfx[1] for tile graphics
+ 1, // use m_gfxdecode->gfx(1) for tile graphics
code, // the index of the graphics for this tile
color, // the color to use for this tile
(flipx ? TILE_FLIPX : 0) | // flags for this tile; also
@@ -431,10 +431,12 @@ struct tile_data
UINT8 flags; // defaults to 0; one or more of TILE_* flags above
UINT8 pen_mask; // defaults to 0xff; mask to apply to pen_data while rendering the tile
UINT8 gfxnum; // defaults to 0xff; specify index of machine.gfx for auto-invalidation on dirty
-
- void set(running_machine &machine, int _gfxnum, int rawcode, int rawcolor, int _flags)
+ gfxdecode_device *decoder;
+
+ void set(running_machine &machine, gfxdecode_device &_decoder, int _gfxnum, int rawcode, int rawcolor, int _flags)
{
- gfx_element *gfx = machine.gfx[_gfxnum];
+ decoder = &_decoder;
+ gfx_element *gfx = _decoder.gfx(_gfxnum);
int code = rawcode % gfx->elements();
pen_data = gfx->get_data(code);
palette_base = gfx->colorbase() + gfx->granularity() * rawcolor;
@@ -772,7 +774,7 @@ private:
#define TILEMAP_MAPPER_MEMBER(_name) tilemap_memory_index _name(UINT32 col, UINT32 row, UINT32 num_cols, UINT32 num_rows)
// useful macro inside of a TILE_GET_INFO callback to set tile information
-#define SET_TILE_INFO_MEMBER(GFX,CODE,COLOR,FLAGS) tileinfo.set(machine(), GFX, CODE, COLOR, FLAGS)
+#define SET_TILE_INFO_MEMBER(DECODER,GFX,CODE,COLOR,FLAGS) tileinfo.set(machine(), DECODER, GFX, CODE, COLOR, FLAGS)
// Macros for setting tile attributes in the TILE_GET_INFO callback:
// TILE_FLIP_YX assumes that flipy is in bit 1 and flipx is in bit 0
diff --git a/src/emu/ui/viewgfx.c b/src/emu/ui/viewgfx.c
index e5415f1f1c5..5c584787826 100644
--- a/src/emu/ui/viewgfx.c
+++ b/src/emu/ui/viewgfx.c
@@ -151,9 +151,11 @@ static void ui_gfx_exit(running_machine &machine)
bool ui_gfx_is_relevant(running_machine &machine)
{
+ gfxdecode_device_iterator gfx_deviter(machine.root_device());
+
return machine.total_colors() != 0
|| machine.colortable != NULL
- || machine.gfx[0] != NULL
+ || gfx_deviter.first() != NULL
|| machine.tilemap().count() != 0;
}
@@ -165,6 +167,7 @@ bool ui_gfx_is_relevant(running_machine &machine)
UINT32 ui_gfx_ui_handler(running_machine &machine, render_container *container, UINT32 uistate)
{
ui_gfx_state *state = &ui_gfx;
+ gfxdecode_device_iterator gfx_deviter(machine.root_device());
// if we have nothing, implicitly cancel
if (!ui_gfx_is_relevant(machine))
@@ -191,7 +194,7 @@ again:
case 1:
// if we have graphics sets, display them
- if (machine.gfx[0] != NULL)
+ if (gfx_deviter.first() != NULL)
{
gfxset_handler(machine, container, state);
break;
@@ -440,9 +443,11 @@ static void palette_handle_keys(running_machine &machine, ui_gfx_state *state)
static void gfxset_handler(running_machine &machine, render_container *container, ui_gfx_state *state)
{
+ gfxdecode_device_iterator gfx_deviter(machine.root_device());
+ gfxdecode_device *m_gfxdecode = gfx_deviter.first();
render_font *ui_font = machine.ui().get_font();
int set = state->gfxset.set;
- gfx_element *gfx = machine.gfx[set];
+ gfx_element *gfx = m_gfxdecode->gfx(set);
float fullwidth, fullheight;
float cellwidth, cellheight;
float chwidth, chheight;
@@ -525,7 +530,7 @@ static void gfxset_handler(running_machine &machine, render_container *container
boxbounds.y1 = boxbounds.y0 + fullheight;
// figure out the title and expand the outer box to fit
- for (x = 0; x < MAX_GFX_ELEMENTS && machine.gfx[x] != NULL; x++) ;
+ for (x = 0; x < MAX_GFX_ELEMENTS && m_gfxdecode->gfx(x) != NULL; x++) ;
sprintf(title, "GFX %d/%d %dx%d COLOR %X", state->gfxset.set, x - 1, gfx->width(), gfx->height(), state->gfxset.color[set]);
titlewidth = ui_font->string_width(chheight, machine.render().ui_aspect(), title);
x0 = 0.0f;
@@ -604,6 +609,8 @@ static void gfxset_handler(running_machine &machine, render_container *container
static void gfxset_handle_keys(running_machine &machine, ui_gfx_state *state, int xcells, int ycells)
{
+ gfxdecode_device_iterator gfx_deviter(machine.root_device());
+ gfxdecode_device *m_gfxdecode = gfx_deviter.first();
ui_gfx_state oldstate = *state;
gfx_element *gfx;
int temp, set;
@@ -612,7 +619,7 @@ static void gfxset_handle_keys(running_machine &machine, ui_gfx_state *state, in
if (ui_input_pressed(machine, IPT_UI_PREV_GROUP))
{
for (temp = state->gfxset.set - 1; temp >= 0; temp--)
- if (machine.gfx[temp] != NULL)
+ if (m_gfxdecode->gfx(temp) != NULL)
break;
if (temp >= 0)
state->gfxset.set = temp;
@@ -620,7 +627,7 @@ static void gfxset_handle_keys(running_machine &machine, ui_gfx_state *state, in
if (ui_input_pressed(machine, IPT_UI_NEXT_GROUP))
{
for (temp = state->gfxset.set + 1; temp < MAX_GFX_ELEMENTS; temp++)
- if (machine.gfx[temp] != NULL)
+ if (m_gfxdecode->gfx(temp) != NULL)
break;
if (temp < MAX_GFX_ELEMENTS)
state->gfxset.set = temp;
@@ -628,7 +635,7 @@ static void gfxset_handle_keys(running_machine &machine, ui_gfx_state *state, in
// cache some info in locals
set = state->gfxset.set;
- gfx = machine.gfx[set];
+ gfx = m_gfxdecode->gfx(set);
// handle cells per line (minus,plus)
if (ui_input_pressed(machine, IPT_UI_ZOOM_OUT))
diff --git a/src/emu/validity.c b/src/emu/validity.c
index 053cc1c4556..9bec238ea0e 100644
--- a/src/emu/validity.c
+++ b/src/emu/validity.c
@@ -284,7 +284,6 @@ void validity_checker::validate_one(const game_driver &driver)
validate_roms();
validate_inputs();
validate_display();
- validate_gfx();
validate_devices();
}
catch (emu_fatalerror &err)
@@ -716,82 +715,6 @@ void validity_checker::validate_display()
//-------------------------------------------------
-// validate_gfx - validate graphics decoding
-// configuration
-//-------------------------------------------------
-
-void validity_checker::validate_gfx()
-{
- // bail if no gfx
- if (!m_current_config->m_gfxdecodeinfo)
- return;
-
- // iterate over graphics decoding entries
- for (int gfxnum = 0; gfxnum < MAX_GFX_ELEMENTS && m_current_config->m_gfxdecodeinfo[gfxnum].gfxlayout != NULL; gfxnum++)
- {
- const gfx_decode_entry &gfx = m_current_config->m_gfxdecodeinfo[gfxnum];
- const gfx_layout &layout = *gfx.gfxlayout;
-
- // make sure the region exists
- const char *region = gfx.memory_region;
- if (region != NULL)
- {
- // resolve the region
- astring gfxregion;
- m_current_config->root_device().subtag(gfxregion, region);
-
- // loop over gfx regions
- UINT32 region_length = m_region_map.find(gfxregion);
- if (region_length == 0)
- mame_printf_error("gfx[%d] references non-existent region '%s'\n", gfxnum, region);
-
- // if we have a valid region, and we're not using auto-sizing, check the decode against the region length
- else if (!IS_FRAC(layout.total))
- {
- // determine which plane is at the largest offset
- int start = 0;
- for (int plane = 0; plane < layout.planes; plane++)
- if (layout.planeoffset[plane] > start)
- start = layout.planeoffset[plane];
- start &= ~(layout.charincrement - 1);
-
- // determine the total length based on this info
- int len = layout.total * layout.charincrement;
-
- // do we have enough space in the region to cover the whole decode?
- int avail = region_length - (gfx.start & ~(layout.charincrement / 8 - 1));
-
- // if not, this is an error
- if ((start + len) / 8 > avail)
- mame_printf_error("gfx[%d] extends past allocated memory of region '%s'\n", gfxnum, region);
- }
- }
-
- int xscale = (m_current_config->m_gfxdecodeinfo[gfxnum].xscale == 0) ? 1 : m_current_config->m_gfxdecodeinfo[gfxnum].xscale;
- int yscale = (m_current_config->m_gfxdecodeinfo[gfxnum].yscale == 0) ? 1 : m_current_config->m_gfxdecodeinfo[gfxnum].yscale;
-
- // verify raw decode, which can only be full-region and have no scaling
- if (layout.planeoffset[0] == GFX_RAW)
- {
- if (layout.total != RGN_FRAC(1,1))
- mame_printf_error("gfx[%d] with unsupported layout total\n", gfxnum);
- if (xscale != 1 || yscale != 1)
- mame_printf_error("gfx[%d] with unsupported xscale/yscale\n", gfxnum);
- }
-
- // verify traditional decode doesn't have too many planes or is not too large
- else
- {
- if (layout.planes > MAX_GFX_PLANES)
- mame_printf_error("gfx[%d] with invalid planes\n", gfxnum);
- if (xscale * layout.width > MAX_ABS_GFX_SIZE || yscale * layout.height > MAX_ABS_GFX_SIZE)
- mame_printf_error("gfx[%d] with invalid xscale/yscale\n", gfxnum);
- }
- }
-}
-
-
-//-------------------------------------------------
// validate_analog_input_field - validate an
// analog input field
//-------------------------------------------------
diff --git a/src/emu/validity.h b/src/emu/validity.h
index 053f8a25ba6..e8e33cef291 100644
--- a/src/emu/validity.h
+++ b/src/emu/validity.h
@@ -46,7 +46,8 @@ public:
// helpers for devices
void validate_tag(const char *tag);
-
+ int region_length(const char *tag) { return m_region_map.find(tag); }
+
private:
// internal helpers
const char *ioport_string_from_index(UINT32 index);
@@ -63,7 +64,6 @@ private:
void validate_driver();
void validate_roms();
void validate_display();
- void validate_gfx();
void validate_analog_input_field(ioport_field &field);
void validate_dip_settings(ioport_field &field);
void validate_condition(ioport_condition &condition, device_t &device, int_map &port_map);
diff --git a/src/emu/video.c b/src/emu/video.c
index 89365643672..bf4ae762789 100644
--- a/src/emu/video.c
+++ b/src/emu/video.c
@@ -509,10 +509,6 @@ void video_manager::exit()
// stop recording any movie
end_recording();
- // free all the graphics elements
- for (int i = 0; i < MAX_GFX_ELEMENTS; i++)
- auto_free(machine(), machine().gfx[i]);
-
// free the snapshot target
machine().render().target_free(m_snap_target);
m_snap_bitmap.reset();
diff --git a/src/emu/video/stvvdp2.c b/src/emu/video/stvvdp2.c
index 7af2fc10c23..3399df7e1d2 100644
--- a/src/emu/video/stvvdp2.c
+++ b/src/emu/video/stvvdp2.c
@@ -4048,10 +4048,10 @@ void saturn_state::stv_vdp2_draw_basic_tilemap(bitmap_rgb32 &bitmap, const recta
else
{
/* normal */
- stv_vdp2_drawgfxzoom(bitmap,cliprect,machine().gfx[gfx],tilecode+(0+(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos >> 16, drawypos >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X, SCR_TILESIZE_Y,stv2_current_tilemap.alpha);
- stv_vdp2_drawgfxzoom(bitmap,cliprect,machine().gfx[gfx],tilecode+(1-(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,(drawxpos+tilesizex) >> 16,drawypos >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X1(tilesizex), SCR_TILESIZE_Y,stv2_current_tilemap.alpha);
- stv_vdp2_drawgfxzoom(bitmap,cliprect,machine().gfx[gfx],tilecode+(2+(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos >> 16,(drawypos+tilesizey) >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X, SCR_TILESIZE_Y1(tilesizey),stv2_current_tilemap.alpha);
- stv_vdp2_drawgfxzoom(bitmap,cliprect,machine().gfx[gfx],tilecode+(3-(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,(drawxpos+tilesizex)>> 16,(drawypos+tilesizey) >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X1(tilesizex), SCR_TILESIZE_Y1(tilesizey),stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfxzoom(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(0+(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos >> 16, drawypos >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X, SCR_TILESIZE_Y,stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfxzoom(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(1-(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,(drawxpos+tilesizex) >> 16,drawypos >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X1(tilesizex), SCR_TILESIZE_Y,stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfxzoom(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(2+(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos >> 16,(drawypos+tilesizey) >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X, SCR_TILESIZE_Y1(tilesizey),stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfxzoom(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(3-(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,(drawxpos+tilesizex)>> 16,(drawypos+tilesizey) >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X1(tilesizex), SCR_TILESIZE_Y1(tilesizey),stv2_current_tilemap.alpha);
}
}
else
@@ -4063,7 +4063,7 @@ void saturn_state::stv_vdp2_draw_basic_tilemap(bitmap_rgb32 &bitmap, const recta
stv_vdp2_drawgfxzoom_rgb555(bitmap,cliprect,tilecode,pal,flipyx&1,flipyx&2, drawxpos >> 16, drawypos >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X,SCR_TILESIZE_Y,stv2_current_tilemap.alpha);
}
else
- stv_vdp2_drawgfxzoom(bitmap,cliprect,machine().gfx[gfx],tilecode,pal,flipyx&1,flipyx&2, drawxpos >> 16, drawypos >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X,SCR_TILESIZE_Y,stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfxzoom(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode,pal,flipyx&1,flipyx&2, drawxpos >> 16, drawypos >> 16,stv2_current_tilemap.transparency,0,scalex,scaley,SCR_TILESIZE_X,SCR_TILESIZE_Y,stv2_current_tilemap.alpha);
}
}
else
@@ -4092,18 +4092,18 @@ void saturn_state::stv_vdp2_draw_basic_tilemap(bitmap_rgb32 &bitmap, const recta
else if (stv2_current_tilemap.transparency == STV_TRANSPARENCY_ALPHA)
{
/* alpha */
- stv_vdp2_drawgfx_alpha(bitmap,cliprect,machine().gfx[gfx],tilecode+(0+(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos, drawypos,0,stv2_current_tilemap.alpha);
- stv_vdp2_drawgfx_alpha(bitmap,cliprect,machine().gfx[gfx],tilecode+(1-(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos+8,drawypos,0,stv2_current_tilemap.alpha);
- stv_vdp2_drawgfx_alpha(bitmap,cliprect,machine().gfx[gfx],tilecode+(2+(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos,drawypos+8,0,stv2_current_tilemap.alpha);
- stv_vdp2_drawgfx_alpha(bitmap,cliprect,machine().gfx[gfx],tilecode+(3-(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos+8,drawypos+8,0,stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfx_alpha(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(0+(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos, drawypos,0,stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfx_alpha(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(1-(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos+8,drawypos,0,stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfx_alpha(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(2+(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos,drawypos+8,0,stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfx_alpha(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(3-(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos+8,drawypos+8,0,stv2_current_tilemap.alpha);
}
else
{
/* normal */
- stv_vdp2_drawgfx_transpen(bitmap,cliprect,machine().gfx[gfx],tilecode+(0+(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos, drawypos,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
- stv_vdp2_drawgfx_transpen(bitmap,cliprect,machine().gfx[gfx],tilecode+(1-(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos+8,drawypos,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
- stv_vdp2_drawgfx_transpen(bitmap,cliprect,machine().gfx[gfx],tilecode+(2+(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos,drawypos+8,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
- stv_vdp2_drawgfx_transpen(bitmap,cliprect,machine().gfx[gfx],tilecode+(3-(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos+8,drawypos+8,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
+ stv_vdp2_drawgfx_transpen(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(0+(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos, drawypos,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
+ stv_vdp2_drawgfx_transpen(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(1-(flipyx&1)+(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos+8,drawypos,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
+ stv_vdp2_drawgfx_transpen(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(2+(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos,drawypos+8,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
+ stv_vdp2_drawgfx_transpen(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode+(3-(flipyx&1)-(flipyx&2))*tilecodespacing,pal,flipyx&1,flipyx&2,drawxpos+8,drawypos+8,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
}
}
else
@@ -4119,9 +4119,9 @@ void saturn_state::stv_vdp2_draw_basic_tilemap(bitmap_rgb32 &bitmap, const recta
else
{
if (stv2_current_tilemap.transparency == STV_TRANSPARENCY_ALPHA)
- stv_vdp2_drawgfx_alpha(bitmap,cliprect,machine().gfx[gfx],tilecode,pal,flipyx&1,flipyx&2, drawxpos, drawypos,0,stv2_current_tilemap.alpha);
+ stv_vdp2_drawgfx_alpha(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode,pal,flipyx&1,flipyx&2, drawxpos, drawypos,0,stv2_current_tilemap.alpha);
else
- stv_vdp2_drawgfx_transpen(bitmap,cliprect,machine().gfx[gfx],tilecode,pal,flipyx&1,flipyx&2, drawxpos, drawypos,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
+ stv_vdp2_drawgfx_transpen(bitmap,cliprect,m_gfxdecode->gfx(gfx),tilecode,pal,flipyx&1,flipyx&2, drawxpos, drawypos,(stv2_current_tilemap.transparency==STV_TRANSPARENCY_PEN)?0:-1);
}
}
drawxpos = olddrawxpos;
@@ -5635,16 +5635,16 @@ WRITE32_MEMBER ( saturn_state::saturn_vdp2_vram_w )
gfxdata[offset*4+2] = (data & 0x0000ff00) >> 8;
gfxdata[offset*4+3] = (data & 0x000000ff) >> 0;
- space.machine().gfx[0]->mark_dirty(offset/8);
- space.machine().gfx[1]->mark_dirty(offset/8);
- space.machine().gfx[2]->mark_dirty(offset/8);
- space.machine().gfx[3]->mark_dirty(offset/8);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/8);
+ m_gfxdecode->gfx(1)->mark_dirty(offset/8);
+ m_gfxdecode->gfx(2)->mark_dirty(offset/8);
+ m_gfxdecode->gfx(3)->mark_dirty(offset/8);
/* 8-bit tiles overlap, so this affects the previous one as well */
if (offset/8 != 0)
{
- space.machine().gfx[2]->mark_dirty(offset/8 - 1);
- space.machine().gfx[3]->mark_dirty(offset/8 - 1);
+ m_gfxdecode->gfx(2)->mark_dirty(offset/8 - 1);
+ m_gfxdecode->gfx(3)->mark_dirty(offset/8 - 1);
}
if ( stv_rbg_cache_data.watch_vdp2_vram_writes )
@@ -6064,16 +6064,16 @@ void saturn_state::stv_vdp2_state_save_postload( void )
gfxdata[offset*4+2] = (data & 0x0000ff00) >> 8;
gfxdata[offset*4+3] = (data & 0x000000ff) >> 0;
- machine().gfx[0]->mark_dirty(offset/8);
- machine().gfx[1]->mark_dirty(offset/8);
- machine().gfx[2]->mark_dirty(offset/8);
- machine().gfx[3]->mark_dirty(offset/8);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/8);
+ m_gfxdecode->gfx(1)->mark_dirty(offset/8);
+ m_gfxdecode->gfx(2)->mark_dirty(offset/8);
+ m_gfxdecode->gfx(3)->mark_dirty(offset/8);
/* 8-bit tiles overlap, so this affects the previous one as well */
if (offset/8 != 0)
{
- machine().gfx[2]->mark_dirty(offset/8 - 1);
- machine().gfx[3]->mark_dirty(offset/8 - 1);
+ m_gfxdecode->gfx(2)->mark_dirty(offset/8 - 1);
+ m_gfxdecode->gfx(3)->mark_dirty(offset/8 - 1);
}
}
@@ -6100,8 +6100,8 @@ int saturn_state::stv_vdp2_start ( void )
m_vdp2_cram = auto_alloc_array_clear(machine(), UINT32, 0x080000/4 );
m_vdp2.gfx_decode = auto_alloc_array(machine(), UINT8, 0x100000 );
-// machine().gfx[0]->granularity()=4;
-// machine().gfx[1]->granularity()=4;
+// m_gfxdecode->gfx(0)->granularity()=4;
+// m_gfxdecode->gfx(1)->granularity()=4;
memset( &stv_rbg_cache_data, 0, sizeof(stv_rbg_cache_data));
stv_rbg_cache_data.is_cache_dirty = 3;
@@ -6123,10 +6123,10 @@ VIDEO_START_MEMBER(saturn_state,stv_vdp2)
stv_vdp2_start();
stv_vdp1_start();
m_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);
+ m_gfxdecode->gfx(0)->set_source(m_vdp2.gfx_decode);
+ m_gfxdecode->gfx(1)->set_source(m_vdp2.gfx_decode);
+ m_gfxdecode->gfx(2)->set_source(m_vdp2.gfx_decode);
+ m_gfxdecode->gfx(3)->set_source(m_vdp2.gfx_decode);
/* calc V counter offsets */
/* 224 mode */
diff --git a/src/mame/drivers/1942.c b/src/mame/drivers/1942.c
index 4154a18e364..6bcb6c3968a 100644
--- a/src/mame/drivers/1942.c
+++ b/src/mame/drivers/1942.c
@@ -540,7 +540,7 @@ static MACHINE_CONFIG_START( 1942, _1942_state )
/* video hardware */
- MCFG_GFXDECODE(1942)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1942)
MCFG_PALETTE_LENGTH(64*4+4*32*8+16*16)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -597,7 +597,7 @@ static MACHINE_CONFIG_START( 1942p, _1942_state )
/* video hardware */
- MCFG_GFXDECODE(1942p)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1942p)
MCFG_PALETTE_LENGTH(0x500)
MCFG_PALETTE_INIT_OVERRIDE(_1942_state, 1942p)
MCFG_VIDEO_START_OVERRIDE(_1942_state,c1942p)
diff --git a/src/mame/drivers/1943.c b/src/mame/drivers/1943.c
index 0bff8939c42..8b60947b1cd 100644
--- a/src/mame/drivers/1943.c
+++ b/src/mame/drivers/1943.c
@@ -320,7 +320,7 @@ static MACHINE_CONFIG_START( 1943, _1943_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(_1943_state, screen_update_1943)
- MCFG_GFXDECODE(1943)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1943)
MCFG_PALETTE_LENGTH(32*4+16*16+16*16+16*16)
// sound hardware
diff --git a/src/mame/drivers/1945kiii.c b/src/mame/drivers/1945kiii.c
index 9b7779c8302..a7625de1b34 100644
--- a/src/mame/drivers/1945kiii.c
+++ b/src/mame/drivers/1945kiii.c
@@ -93,7 +93,7 @@ WRITE16_MEMBER(k3_state::k3_bgram_w)
TILE_GET_INFO_MEMBER(k3_state::get_k3_bg_tile_info)
{
int tileno = m_bgram[tile_index];
- SET_TILE_INFO_MEMBER(1, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, 0, 0);
}
void k3_state::video_start()
@@ -103,7 +103,7 @@ void k3_state::video_start()
void k3_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT16 *source = m_spriteram_1;
UINT16 *source2 = m_spriteram_2;
UINT16 *finish = source + 0x1000 / 2;
@@ -262,7 +262,7 @@ static MACHINE_CONFIG_START( k3, k3_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", k3_state, irq4_line_hold)
- MCFG_GFXDECODE(1945kiii)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1945kiii)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/2mindril.c b/src/mame/drivers/2mindril.c
index 72aa4ce8372..1a3f8f74834 100644
--- a/src/mame/drivers/2mindril.c
+++ b/src/mame/drivers/2mindril.c
@@ -450,7 +450,7 @@ static MACHINE_CONFIG_START( drill, _2mindril_state )
MCFG_CPU_PROGRAM_MAP(drill_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", _2mindril_state, drill_vblank_irq)
//MCFG_CPU_PERIODIC_INT_DRIVER(_2mindril_state, drill_device_irq, 60)
- MCFG_GFXDECODE(2mindril)
+ MCFG_GFXDECODE_ADD("gfxdecode", 2mindril)
MCFG_MACHINE_START_OVERRIDE(_2mindril_state,drill)
MCFG_MACHINE_RESET_OVERRIDE(_2mindril_state,drill)
diff --git a/src/mame/drivers/3x3puzzl.c b/src/mame/drivers/3x3puzzl.c
index ccaa9675baa..f640b88ece5 100644
--- a/src/mame/drivers/3x3puzzl.c
+++ b/src/mame/drivers/3x3puzzl.c
@@ -99,7 +99,7 @@ protected:
TILE_GET_INFO_MEMBER(_3x3puzzle_state::get_tile1_info)
{
UINT16 code = m_videoram1_buffer[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
0,
@@ -109,7 +109,7 @@ TILE_GET_INFO_MEMBER(_3x3puzzle_state::get_tile1_info)
TILE_GET_INFO_MEMBER(_3x3puzzle_state::get_tile2_info)
{
UINT16 code = m_videoram2_buffer[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
1,
@@ -119,7 +119,7 @@ TILE_GET_INFO_MEMBER(_3x3puzzle_state::get_tile2_info)
TILE_GET_INFO_MEMBER(_3x3puzzle_state::get_tile3_info)
{
UINT16 code = m_videoram3_buffer[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
2,
@@ -390,7 +390,7 @@ static MACHINE_CONFIG_START( _3x3puzzle, _3x3puzzle_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
- MCFG_GFXDECODE(_3x3puzzle)
+ MCFG_GFXDECODE_ADD("gfxdecode", _3x3puzzle)
MCFG_PALETTE_LENGTH(0x600/2)
diff --git a/src/mame/drivers/40love.c b/src/mame/drivers/40love.c
index aac904ea292..80c38d756a7 100644
--- a/src/mame/drivers/40love.c
+++ b/src/mame/drivers/40love.c
@@ -1074,7 +1074,7 @@ static MACHINE_CONFIG_START( 40love, fortyl_state )
MCFG_SCREEN_VISIBLE_AREA(128,128+255, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(fortyl_state, screen_update_fortyl)
- MCFG_GFXDECODE(40love)
+ MCFG_GFXDECODE_ADD("gfxdecode", 40love)
MCFG_PALETTE_LENGTH(1024)
@@ -1129,7 +1129,7 @@ static MACHINE_CONFIG_START( undoukai, fortyl_state )
MCFG_SCREEN_VISIBLE_AREA(128,128+255, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(fortyl_state, screen_update_fortyl)
- MCFG_GFXDECODE(40love)
+ MCFG_GFXDECODE_ADD("gfxdecode", 40love)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/4enraya.c b/src/mame/drivers/4enraya.c
index 8792290816e..9f82bb0198e 100644
--- a/src/mame/drivers/4enraya.c
+++ b/src/mame/drivers/4enraya.c
@@ -327,7 +327,7 @@ static MACHINE_CONFIG_START( 4enraya, _4enraya_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(_4enraya_state, screen_update_4enraya)
- MCFG_GFXDECODE(4enraya)
+ MCFG_GFXDECODE_ADD("gfxdecode", 4enraya)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/drivers/4roses.c b/src/mame/drivers/4roses.c
index 2dfdb798143..56bd0994053 100644
--- a/src/mame/drivers/4roses.c
+++ b/src/mame/drivers/4roses.c
@@ -399,7 +399,7 @@ static MACHINE_CONFIG_START( 4roses, _4roses_state )
MCFG_SCREEN_VISIBLE_AREA(0*4, 96*4-1, 0*8, 29*8-1) /* guess. taken from funworld games */
MCFG_SCREEN_UPDATE_DRIVER(_4roses_state, screen_update_funworld)
- MCFG_GFXDECODE(4roses)
+ MCFG_GFXDECODE_ADD("gfxdecode", 4roses)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_PALETTE_INIT_OVERRIDE(_4roses_state,funworld)
diff --git a/src/mame/drivers/5clown.c b/src/mame/drivers/5clown.c
index 7ff8645d63a..19282253484 100644
--- a/src/mame/drivers/5clown.c
+++ b/src/mame/drivers/5clown.c
@@ -534,7 +534,7 @@ TILE_GET_INFO_MEMBER(_5clown_state::get_fclown_tile_info)
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c) >> 2 | ((attr & 0x80) >> 3); /* bits 2-3-4-5-7 for color */
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
@@ -1061,7 +1061,7 @@ static MACHINE_CONFIG_START( fclown, _5clown_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(_5clown_state, screen_update_fclown)
- MCFG_GFXDECODE(fclown)
+ MCFG_GFXDECODE_ADD("gfxdecode", fclown)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/88games.c b/src/mame/drivers/88games.c
index bbbab5eacdb..210bbca16fb 100644
--- a/src/mame/drivers/88games.c
+++ b/src/mame/drivers/88games.c
@@ -370,9 +370,14 @@ static MACHINE_CONFIG_START( 88games, _88games_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_K052109_ADD("k052109", _88games_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", _88games_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
MCFG_K051316_ADD("k051316", _88games_k051316_intf)
+ MCFG_K051316_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ace.c b/src/mame/drivers/ace.c
index d394d264e08..a23c58dd071 100644
--- a/src/mame/drivers/ace.c
+++ b/src/mame/drivers/ace.c
@@ -83,10 +83,10 @@ WRITE8_MEMBER(aceal_state::ace_objpos_w)
void aceal_state::video_start()
{
- 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);
+ m_gfxdecode->gfx(1)->set_source(m_characterram);
+ m_gfxdecode->gfx(2)->set_source(m_characterram);
+ m_gfxdecode->gfx(3)->set_source(m_characterram);
+ m_gfxdecode->gfx(4)->set_source(m_scoreram);
}
UINT32 aceal_state::screen_update_ace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -96,19 +96,19 @@ UINT32 aceal_state::screen_update_ace(screen_device &screen, bitmap_ind16 &bitma
/* first of all, fill the screen with the background color */
bitmap.fill(0, cliprect);
- machine().gfx[1]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect,
0,
0,
0, 0,
m_objpos[0], m_objpos[1]);
- machine().gfx[2]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->opaque(bitmap,cliprect,
0,
0,
0, 0,
m_objpos[2], m_objpos[3]);
- machine().gfx[3]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->opaque(bitmap,cliprect,
0,
0,
0, 0,
@@ -116,7 +116,7 @@ UINT32 aceal_state::screen_update_ace(screen_device &screen, bitmap_ind16 &bitma
for (offs = 0; offs < 8; offs++)
{
- machine().gfx[4]->opaque(bitmap,/* ?? */
+ m_gfxdecode->gfx(4)->opaque(bitmap,/* ?? */
cliprect,
offs,
0,
@@ -144,16 +144,16 @@ WRITE8_MEMBER(aceal_state::ace_characterram_w)
popmessage("write to %04x data = %02x\n", 0x8000 + offset, data);
}
m_characterram[offset] = data;
- machine().gfx[1]->mark_dirty(0);
- machine().gfx[2]->mark_dirty(0);
- machine().gfx[3]->mark_dirty(0);
+ m_gfxdecode->gfx(1)->mark_dirty(0);
+ m_gfxdecode->gfx(2)->mark_dirty(0);
+ m_gfxdecode->gfx(3)->mark_dirty(0);
}
}
WRITE8_MEMBER(aceal_state::ace_scoreram_w)
{
m_scoreram[offset] = data;
- machine().gfx[4]->mark_dirty(offset / 32);
+ m_gfxdecode->gfx(4)->mark_dirty(offset / 32);
}
READ8_MEMBER(aceal_state::unk_r)
@@ -323,10 +323,10 @@ GFXDECODE_END
void aceal_state::ace_postload()
{
- machine().gfx[1]->mark_dirty(0);
- machine().gfx[2]->mark_dirty(0);
- machine().gfx[3]->mark_dirty(0);
- machine().gfx[4]->mark_dirty(0);
+ m_gfxdecode->gfx(1)->mark_dirty(0);
+ m_gfxdecode->gfx(2)->mark_dirty(0);
+ m_gfxdecode->gfx(3)->mark_dirty(0);
+ m_gfxdecode->gfx(4)->mark_dirty(0);
}
void aceal_state::machine_start()
@@ -357,7 +357,7 @@ static MACHINE_CONFIG_START( ace, aceal_state )
MCFG_SCREEN_VISIBLE_AREA(4*8, 32*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aceal_state, screen_update_ace)
- MCFG_GFXDECODE(ace)
+ MCFG_GFXDECODE_ADD("gfxdecode", ace)
MCFG_PALETTE_LENGTH(2)
/* sound hardware */
diff --git a/src/mame/drivers/acefruit.c b/src/mame/drivers/acefruit.c
index 7dfbbbecf82..30a4daf53a8 100644
--- a/src/mame/drivers/acefruit.c
+++ b/src/mame/drivers/acefruit.c
@@ -128,7 +128,7 @@ UINT32 acefruit_state::screen_update_acefruit(screen_device &screen, bitmap_ind1
if( color < 0x4 )
{
- machine().gfx[ 1 ]->opaque(bitmap,cliprect, code, color, 0, 0, col * 16, row * 8 );
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect, code, color, 0, 0, col * 16, row * 8 );
}
else if( color >= 0x5 && color <= 0x7 )
{
@@ -136,7 +136,7 @@ UINT32 acefruit_state::screen_update_acefruit(screen_device &screen, bitmap_ind1
int x;
static const int spriteskip[] = { 1, 2, 4 };
int spritesize = spriteskip[ color - 5 ];
- gfx_element *gfx = machine().gfx[ 0 ];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
for( x = 0; x < 16; x++ )
{
@@ -600,9 +600,10 @@ static MACHINE_CONFIG_START( acefruit, acefruit_state )
MCFG_CPU_ADD("maincpu", Z80, 2500000) /* 2.5MHz */
MCFG_CPU_PROGRAM_MAP(acefruit_map)
MCFG_CPU_IO_MAP(acefruit_io)
- MCFG_GFXDECODE(acefruit)
MCFG_CPU_VBLANK_INT_DRIVER("screen", acefruit_state, acefruit_vblank)
+ MCFG_GFXDECODE_ADD("gfxdecode", acefruit)
+
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/acommand.c b/src/mame/drivers/acommand.c
index 077df46f2bc..98d7323574b 100644
--- a/src/mame/drivers/acommand.c
+++ b/src/mame/drivers/acommand.c
@@ -117,7 +117,7 @@ TILEMAP_MAPPER_MEMBER(acommand_state::bg_scan)
TILE_GET_INFO_MEMBER(acommand_state::ac_get_bg_tile_info)
{
int code = m_ac_bgvram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0xfff,
(code & 0xf000) >> 12,
@@ -127,7 +127,7 @@ TILE_GET_INFO_MEMBER(acommand_state::ac_get_bg_tile_info)
TILE_GET_INFO_MEMBER(acommand_state::ac_get_tx_tile_info)
{
int code = m_ac_txvram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0xfff,
(code & 0xf000) >> 12,
@@ -175,7 +175,7 @@ void acommand_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
xx = w;
do
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx, flipy,
@@ -617,7 +617,7 @@ static MACHINE_CONFIG_START( acommand, acommand_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(acommand_state, screen_update_acommand)
- MCFG_GFXDECODE(acommand)
+ MCFG_GFXDECODE_ADD("gfxdecode", acommand)
MCFG_PALETTE_LENGTH(0x4000)
diff --git a/src/mame/drivers/actfancr.c b/src/mame/drivers/actfancr.c
index bd0d8cf1893..bf4e6563522 100644
--- a/src/mame/drivers/actfancr.c
+++ b/src/mame/drivers/actfancr.c
@@ -325,17 +325,19 @@ static MACHINE_CONFIG_START( actfancr, actfancr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(actfancr_state, screen_update_actfancr)
- MCFG_GFXDECODE(actfan)
+ MCFG_GFXDECODE_ADD("gfxdecode", actfan)
MCFG_PALETTE_LENGTH(768)
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,2,2,2);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen2", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,0,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 1);
-
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -375,17 +377,19 @@ static MACHINE_CONFIG_START( triothep, actfancr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(actfancr_state, screen_update_actfancr)
- MCFG_GFXDECODE(triothep)
+ MCFG_GFXDECODE_ADD("gfxdecode", triothep)
MCFG_PALETTE_LENGTH(768)
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,2,2,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen2", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,0,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 1);
-
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/aeroboto.c b/src/mame/drivers/aeroboto.c
index f2ca026ab52..bb61d1ddce8 100644
--- a/src/mame/drivers/aeroboto.c
+++ b/src/mame/drivers/aeroboto.c
@@ -261,7 +261,7 @@ static MACHINE_CONFIG_START( formatz, aeroboto_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aeroboto_state, screen_update_aeroboto)
- MCFG_GFXDECODE(aeroboto)
+ MCFG_GFXDECODE_ADD("gfxdecode", aeroboto)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index 28f58568982..4595cbe284f 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -1326,12 +1326,13 @@ static MACHINE_CONFIG_START( pspikes, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8+4, 44*8+4-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_pspikes)
- MCFG_GFXDECODE(pspikes)
+ MCFG_GFXDECODE_ADD("gfxdecode", pspikes)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_old_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(1)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
@@ -1367,7 +1368,7 @@ static MACHINE_CONFIG_START( spikes91, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 320-1, 0*8+4, 224+4-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_spikes91)
- MCFG_GFXDECODE(spikes91)
+ MCFG_GFXDECODE_ADD("gfxdecode", spikes91)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
@@ -1399,7 +1400,7 @@ static MACHINE_CONFIG_START( pspikesb, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8+4, 44*8+4-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_pspikesb)
- MCFG_GFXDECODE(pspikesb)
+ MCFG_GFXDECODE_ADD("gfxdecode", pspikesb)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
@@ -1429,12 +1430,13 @@ static MACHINE_CONFIG_START( pspikesc, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8+4, 44*8+4-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_pspikes)
- MCFG_GFXDECODE(pspikes)
+ MCFG_GFXDECODE_ADD("gfxdecode", pspikes)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_old_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(1)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
@@ -1468,15 +1470,18 @@ static MACHINE_CONFIG_START( karatblz, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 45*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_karatblz)
- MCFG_GFXDECODE(turbofrc)
+ MCFG_GFXDECODE_ADD("gfxdecode", turbofrc)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_old_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(2)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_ol2_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(3)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,karatblz)
@@ -1514,16 +1519,19 @@ static MACHINE_CONFIG_START( spinlbrk, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 45*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_spinlbrk)
- MCFG_GFXDECODE(turbofrc)
+ MCFG_GFXDECODE_ADD("gfxdecode", turbofrc)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_PRITYPE(1)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(2)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_ol2_tile_callback ) // rom lookup
MCFG_VSYSTEM_SPR2_SET_PRITYPE(1)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(3)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,spinlbrk)
@@ -1561,15 +1569,18 @@ static MACHINE_CONFIG_START( turbofrc, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_turbofrc)
- MCFG_GFXDECODE(turbofrc)
+ MCFG_GFXDECODE_ADD("gfxdecode", turbofrc)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_old_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(2)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_ol2_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(3)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
@@ -1608,15 +1619,18 @@ static MACHINE_CONFIG_START( aerofgtb, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8+12, 40*8-1+12, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_turbofrc)
- MCFG_GFXDECODE(aerofgtb)
+ MCFG_GFXDECODE_ADD("gfxdecode", aerofgtb)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_old_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(2)
- MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
+
+ MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_ol2_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(3)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
@@ -1655,12 +1669,13 @@ static MACHINE_CONFIG_START( aerofgt, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_aerofgt)
- MCFG_GFXDECODE(aerofgt)
+ MCFG_GFXDECODE_ADD("gfxdecode", aerofgt)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0)
MCFG_VSYSTEM_SPR_SET_TILE_INDIRECT( aerofgt_state, aerofgt_tile_callback )
MCFG_VSYSTEM_SPR_SET_GFXREGION(2)
+ MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
@@ -1697,7 +1712,7 @@ static MACHINE_CONFIG_START( aerfboot, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8+12, 40*8-1+12, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_aerfboot)
- MCFG_GFXDECODE(aerfboot)
+ MCFG_GFXDECODE_ADD("gfxdecode", aerfboot)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
@@ -1728,7 +1743,7 @@ static MACHINE_CONFIG_START( aerfboo2, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8+12, 40*8-1+12, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_aerfboo2)
- MCFG_GFXDECODE(aerfboo2)
+ MCFG_GFXDECODE_ADD("gfxdecode", aerfboo2)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
@@ -1761,12 +1776,13 @@ static MACHINE_CONFIG_START( wbbc97, aerofgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8+14, 44*8-1+4, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_wbbc97)
- MCFG_GFXDECODE(wbbc97)
+ MCFG_GFXDECODE_ADD("gfxdecode", wbbc97)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( aerofgt_state, aerofgt_old_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(1)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(aerofgt_state,wbbc97)
diff --git a/src/mame/drivers/airbustr.c b/src/mame/drivers/airbustr.c
index 1f045004940..e47708857bd 100644
--- a/src/mame/drivers/airbustr.c
+++ b/src/mame/drivers/airbustr.c
@@ -636,11 +636,11 @@ static MACHINE_CONFIG_START( airbustr, airbustr_state )
MCFG_SCREEN_UPDATE_DRIVER(airbustr_state, screen_update_airbustr)
MCFG_SCREEN_VBLANK_DRIVER(airbustr_state, screen_eof_airbustr)
- MCFG_GFXDECODE(airbustr)
+ MCFG_GFXDECODE_ADD("gfxdecode", airbustr)
MCFG_PALETTE_LENGTH(768)
MCFG_KANEKO_PANDORA_ADD("pandora", airbustr_pandora_config)
-
+ MCFG_KANEKO_PANDORA_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ajax.c b/src/mame/drivers/ajax.c
index a40beeb15fd..d1224626659 100644
--- a/src/mame/drivers/ajax.c
+++ b/src/mame/drivers/ajax.c
@@ -230,10 +230,14 @@ static MACHINE_CONFIG_START( ajax, ajax_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", ajax_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", ajax_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
MCFG_K051316_ADD("k051316", ajax_k051316_intf)
+ MCFG_K051316_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/albazc.c b/src/mame/drivers/albazc.c
index 827ff24c73d..c10543c9e3c 100644
--- a/src/mame/drivers/albazc.c
+++ b/src/mame/drivers/albazc.c
@@ -85,7 +85,7 @@ void albazc_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect, code, color, flipx, flipy,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, code, color, flipx, flipy,
sx, sy, 0);
}
}
@@ -282,7 +282,7 @@ static MACHINE_CONFIG_START( hanaroku, albazc_state )
MCFG_SCREEN_VISIBLE_AREA(0, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(albazc_state, screen_update_hanaroku)
- MCFG_GFXDECODE(hanaroku)
+ MCFG_GFXDECODE_ADD("gfxdecode", hanaroku)
MCFG_PALETTE_LENGTH(0x200)
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index 6140046d62f..789c3650d84 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -88,7 +88,7 @@ TILE_GET_INFO_MEMBER(albazg_state::y_get_bg_tile_info)
int code = m_videoram[tile_index];
int color = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + ((color & 0xf8) << 3),
color & 0x7,
@@ -403,7 +403,7 @@ static MACHINE_CONFIG_START( yumefuda, albazg_state )
MCFG_MC6845_ADD("crtc", H46505, "screen", MASTER_CLOCK/16, mc6845_intf) /* hand tuned to get ~60 fps */
- MCFG_GFXDECODE( yumefuda )
+ MCFG_GFXDECODE_ADD("gfxdecode", yumefuda )
MCFG_PALETTE_LENGTH(0x80)
diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c
index 4173e9820bd..39ba80a9185 100644
--- a/src/mame/drivers/aliens.c
+++ b/src/mame/drivers/aliens.c
@@ -252,9 +252,11 @@ static MACHINE_CONFIG_START( aliens, aliens_state )
MCFG_PALETTE_LENGTH(512)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", aliens_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", aliens_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/alpha68k.c b/src/mame/drivers/alpha68k.c
index e63ddbb770c..60ae750c156 100644
--- a/src/mame/drivers/alpha68k.c
+++ b/src/mame/drivers/alpha68k.c
@@ -1963,7 +1963,7 @@ static MACHINE_CONFIG_START( sstingry, alpha68k_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_sstingry)
- MCFG_GFXDECODE(sstingry)
+ MCFG_GFXDECODE_ADD("gfxdecode", sstingry)
MCFG_PALETTE_LENGTH(256 + 1)
MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,kyros)
@@ -2008,7 +2008,7 @@ static MACHINE_CONFIG_START( kyros, alpha68k_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_kyros)
- MCFG_GFXDECODE(kyros)
+ MCFG_GFXDECODE_ADD("gfxdecode", kyros)
MCFG_PALETTE_LENGTH(256 + 1)
MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,kyros)
@@ -2053,7 +2053,7 @@ static MACHINE_CONFIG_START( jongbou, alpha68k_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_kyros)
- MCFG_GFXDECODE(jongbou)
+ MCFG_GFXDECODE_ADD("gfxdecode", jongbou)
MCFG_PALETTE_LENGTH(256 + 1)
MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,kyros)
@@ -2087,7 +2087,7 @@ static MACHINE_CONFIG_START( alpha68k_I, alpha68k_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_I)
- MCFG_GFXDECODE(paddle)
+ MCFG_GFXDECODE_ADD("gfxdecode", paddle)
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,paddlem)
@@ -2129,7 +2129,7 @@ static MACHINE_CONFIG_START( alpha68k_II, alpha68k_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_II)
- MCFG_GFXDECODE(alpha68k_II)
+ MCFG_GFXDECODE_ADD("gfxdecode", alpha68k_II)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
@@ -2178,7 +2178,7 @@ static MACHINE_CONFIG_START( alpha68k_II_gm, alpha68k_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_II)
- MCFG_GFXDECODE(alpha68k_II)
+ MCFG_GFXDECODE_ADD("gfxdecode", alpha68k_II)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
@@ -2221,7 +2221,7 @@ static MACHINE_CONFIG_START( alpha68k_V, alpha68k_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_V)
- MCFG_GFXDECODE(alpha68k_V)
+ MCFG_GFXDECODE_ADD("gfxdecode", alpha68k_V)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
@@ -2263,7 +2263,7 @@ static MACHINE_CONFIG_START( alpha68k_V_sb, alpha68k_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_V_sb)
- MCFG_GFXDECODE(alpha68k_V)
+ MCFG_GFXDECODE_ADD("gfxdecode", alpha68k_V)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
@@ -2304,7 +2304,7 @@ static MACHINE_CONFIG_START( tnextspc, alpha68k_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_I)
- MCFG_GFXDECODE(tnextspc)
+ MCFG_GFXDECODE_ADD("gfxdecode", tnextspc)
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT_OVERRIDE(alpha68k_state,paddlem)
diff --git a/src/mame/drivers/amaticmg.c b/src/mame/drivers/amaticmg.c
index d4ce9c558e7..4fa9a02b80e 100644
--- a/src/mame/drivers/amaticmg.c
+++ b/src/mame/drivers/amaticmg.c
@@ -471,7 +471,7 @@ void amaticmg_state::video_start()
UINT32 amaticmg_state::screen_update_amaticmg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int y,x;
int count = 0;
@@ -496,7 +496,7 @@ UINT32 amaticmg_state::screen_update_amaticmg(screen_device &screen, bitmap_ind1
UINT32 amaticmg_state::screen_update_amaticmg2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int y,x;
int count = 16;
@@ -880,7 +880,7 @@ static MACHINE_CONFIG_START( amaticmg, amaticmg_state )
MCFG_MC6845_ADD("crtc", MC6845, "screen", CRTC_CLOCK, mc6845_intf)
- MCFG_GFXDECODE(amaticmg)
+ MCFG_GFXDECODE_ADD("gfxdecode", amaticmg)
MCFG_PALETTE_LENGTH(0x200)
@@ -913,7 +913,7 @@ static MACHINE_CONFIG_DERIVED( amaticmg2, amaticmg )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(amaticmg_state, screen_update_amaticmg2)
- MCFG_GFXDECODE(amaticmg2)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 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 2bca6a7a60e..58a44cb3bd5 100644
--- a/src/mame/drivers/ambush.c
+++ b/src/mame/drivers/ambush.c
@@ -242,7 +242,7 @@ static MACHINE_CONFIG_START( ambush, ambush_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-3) /* The -3 makes the cocktail mode perfect */
MCFG_SCREEN_UPDATE_DRIVER(ambush_state, screen_update_ambush)
- MCFG_GFXDECODE(ambush)
+ MCFG_GFXDECODE_ADD("gfxdecode", ambush)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/ampoker2.c b/src/mame/drivers/ampoker2.c
index 5023e5c7808..39dc7091690 100644
--- a/src/mame/drivers/ampoker2.c
+++ b/src/mame/drivers/ampoker2.c
@@ -1184,7 +1184,7 @@ static MACHINE_CONFIG_START( ampoker2, ampoker2_state )
MCFG_SCREEN_VISIBLE_AREA(20*8, 56*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ampoker2_state, screen_update_ampoker2)
- MCFG_GFXDECODE(ampoker2)
+ MCFG_GFXDECODE_ADD("gfxdecode", ampoker2)
MCFG_PALETTE_LENGTH(512)
@@ -1200,7 +1200,7 @@ static MACHINE_CONFIG_DERIVED( sigma2k, ampoker2 )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(sigma2k)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 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 1ac181ea93f..4acb8e16c45 100644
--- a/src/mame/drivers/amspdwy.c
+++ b/src/mame/drivers/amspdwy.c
@@ -273,7 +273,7 @@ static MACHINE_CONFIG_START( amspdwy, amspdwy_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(amspdwy_state, screen_update_amspdwy)
- MCFG_GFXDECODE(amspdwy)
+ MCFG_GFXDECODE_ADD("gfxdecode", amspdwy)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/angelkds.c b/src/mame/drivers/angelkds.c
index 3710ff84d7a..a93e743a14b 100644
--- a/src/mame/drivers/angelkds.c
+++ b/src/mame/drivers/angelkds.c
@@ -612,7 +612,7 @@ static MACHINE_CONFIG_START( angelkds, angelkds_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(angelkds_state, screen_update_angelkds)
- MCFG_GFXDECODE(angelkds)
+ MCFG_GFXDECODE_ADD("gfxdecode", angelkds)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/appoooh.c b/src/mame/drivers/appoooh.c
index 8d43454b919..214bf87e8dd 100644
--- a/src/mame/drivers/appoooh.c
+++ b/src/mame/drivers/appoooh.c
@@ -455,7 +455,7 @@ static MACHINE_CONFIG_DERIVED( appoooh, appoooh_common )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(appoooh_state, screen_update_appoooh)
- MCFG_GFXDECODE(appoooh)
+ MCFG_GFXDECODE_ADD("gfxdecode", appoooh)
MCFG_PALETTE_LENGTH(32*8+32*8)
MCFG_PALETTE_INIT_OVERRIDE(appoooh_state,appoooh)
@@ -473,7 +473,7 @@ static MACHINE_CONFIG_DERIVED( robowres, appoooh_common )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(appoooh_state, screen_update_robowres)
- MCFG_GFXDECODE(robowres)
+ MCFG_GFXDECODE_ADD("gfxdecode", robowres)
MCFG_PALETTE_LENGTH(32*8+32*8)
MCFG_PALETTE_INIT_OVERRIDE(appoooh_state,robowres)
diff --git a/src/mame/drivers/aquarium.c b/src/mame/drivers/aquarium.c
index ba2a32d80c1..18fbd70ffb6 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -315,7 +315,7 @@ static MACHINE_CONFIG_START( aquarium, aquarium_state )
MCFG_SCREEN_VISIBLE_AREA(2*8, 42*8-1, 2*8, 34*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aquarium_state, screen_update_aquarium)
- MCFG_GFXDECODE(aquarium)
+ MCFG_GFXDECODE_ADD("gfxdecode", aquarium)
MCFG_PALETTE_LENGTH(0x1000/2)
diff --git a/src/mame/drivers/arcadecl.c b/src/mame/drivers/arcadecl.c
index ccc7879f405..1eff42217ef 100644
--- a/src/mame/drivers/arcadecl.c
+++ b/src/mame/drivers/arcadecl.c
@@ -327,10 +327,11 @@ static MACHINE_CONFIG_START( arcadecl, arcadecl_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(arcadecl)
+ MCFG_GFXDECODE_ADD("gfxdecode", arcadecl)
MCFG_PALETTE_LENGTH(512)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", arcadecl_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index 60fec2b0275..a427a5a2556 100644
--- a/src/mame/drivers/argus.c
+++ b/src/mame/drivers/argus.c
@@ -558,7 +558,7 @@ static MACHINE_CONFIG_START( argus, argus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(argus_state, screen_update_argus)
- MCFG_GFXDECODE(argus)
+ MCFG_GFXDECODE_ADD("gfxdecode", argus)
MCFG_PALETTE_LENGTH(896)
MCFG_VIDEO_START_OVERRIDE(argus_state,argus)
@@ -603,7 +603,7 @@ static MACHINE_CONFIG_START( valtric, argus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(argus_state, screen_update_valtric)
- MCFG_GFXDECODE(valtric)
+ MCFG_GFXDECODE_ADD("gfxdecode", valtric)
MCFG_PALETTE_LENGTH(768)
MCFG_VIDEO_START_OVERRIDE(argus_state,valtric)
@@ -648,7 +648,7 @@ static MACHINE_CONFIG_START( butasan, argus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(argus_state, screen_update_butasan)
- MCFG_GFXDECODE(butasan)
+ MCFG_GFXDECODE_ADD("gfxdecode", butasan)
MCFG_PALETTE_LENGTH(768)
MCFG_VIDEO_START_OVERRIDE(argus_state,butasan)
diff --git a/src/mame/drivers/aristmk4.c b/src/mame/drivers/aristmk4.c
index 7f9d33537b9..edae608a163 100644
--- a/src/mame/drivers/aristmk4.c
+++ b/src/mame/drivers/aristmk4.c
@@ -361,9 +361,9 @@ static const UINT8 cashcade_p[] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
void aristmk4_state::video_start()
{
int tile;
- for (tile = 0; tile < machine().gfx[0]->elements(); tile++)
+ for (tile = 0; tile < m_gfxdecode->gfx(0)->elements(); tile++)
{
- machine().gfx[0]->decode(tile);
+ m_gfxdecode->gfx(0)->decode(tile);
}
}
@@ -402,7 +402,7 @@ void aristmk4_state::uBackgroundColour()
UINT32 aristmk4_state::screen_update_aristmk4(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int x,y;
int count = 0;
int color;
@@ -1694,11 +1694,11 @@ static MACHINE_CONFIG_START( aristmk4, aristmk4_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(320, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 304-1, 0, 216-1) /* from the crtc registers... updated by crtc */
+ MCFG_SCREEN_UPDATE_DRIVER(aristmk4_state, screen_update_aristmk4)
- MCFG_GFXDECODE(aristmk4)
+ MCFG_GFXDECODE_ADD("gfxdecode", aristmk4)
MCFG_PALETTE_LENGTH(512)
- MCFG_SCREEN_UPDATE_DRIVER(aristmk4_state, screen_update_aristmk4)
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_intf )
MCFG_DEVICE_ADD("via6522_0", VIA6522, 0) /* 1 MHz.(only 1 or 2 MHz.are valid) */
diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c
index 0a10ada7356..0a9e15c6845 100644
--- a/src/mame/drivers/arkanoid.c
+++ b/src/mame/drivers/arkanoid.c
@@ -1219,7 +1219,7 @@ static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(arkanoid_state, screen_update_arkanoid)
- MCFG_GFXDECODE(arkanoid)
+ MCFG_GFXDECODE_ADD("gfxdecode", arkanoid)
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -1252,7 +1252,7 @@ static MACHINE_CONFIG_START( hexa, arkanoid_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(arkanoid_state, screen_update_hexa)
- MCFG_GFXDECODE(hexa)
+ MCFG_GFXDECODE_ADD("gfxdecode", hexa)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -1297,7 +1297,7 @@ static MACHINE_CONFIG_START( brixian, arkanoid_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(arkanoid_state, screen_update_hexa)
- MCFG_GFXDECODE(arkanoid)
+ MCFG_GFXDECODE_ADD("gfxdecode", arkanoid)
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c
index 3389d5f13cf..fcb38717090 100644
--- a/src/mame/drivers/armedf.c
+++ b/src/mame/drivers/armedf.c
@@ -1187,7 +1187,7 @@ static MACHINE_CONFIG_START( terraf, armedf_state )
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(armedf)
+ MCFG_GFXDECODE_ADD("gfxdecode", armedf)
MCFG_PALETTE_LENGTH(2048)
@@ -1236,7 +1236,7 @@ static MACHINE_CONFIG_START( terrafjb, armedf_state )
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(armedf)
+ MCFG_GFXDECODE_ADD("gfxdecode", armedf)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1280,7 +1280,7 @@ static MACHINE_CONFIG_START( kozure, armedf_state )
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(armedf)
+ MCFG_GFXDECODE_ADD("gfxdecode", armedf)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1324,7 +1324,7 @@ static MACHINE_CONFIG_START( armedf, armedf_state )
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(armedf)
+ MCFG_GFXDECODE_ADD("gfxdecode", armedf)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1368,7 +1368,7 @@ static MACHINE_CONFIG_START( cclimbr2, armedf_state )
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(armedf)
+ MCFG_GFXDECODE_ADD("gfxdecode", armedf)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1412,7 +1412,7 @@ static MACHINE_CONFIG_START( legion, armedf_state )
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(armedf)
+ MCFG_GFXDECODE_ADD("gfxdecode", armedf)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1456,7 +1456,7 @@ static MACHINE_CONFIG_START( legiono, armedf_state )
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(armedf)
+ MCFG_GFXDECODE_ADD("gfxdecode", armedf)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1511,7 +1511,7 @@ static MACHINE_CONFIG_START( bigfghtr, bigfghtr_state )
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(armedf)
+ MCFG_GFXDECODE_ADD("gfxdecode", armedf)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
diff --git a/src/mame/drivers/ashnojoe.c b/src/mame/drivers/ashnojoe.c
index 82efcbcfeb3..5d0508aa684 100644
--- a/src/mame/drivers/ashnojoe.c
+++ b/src/mame/drivers/ashnojoe.c
@@ -356,7 +356,7 @@ static MACHINE_CONFIG_START( ashnojoe, ashnojoe_state )
MCFG_SCREEN_VISIBLE_AREA(14*8, 50*8-1, 3*8, 29*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ashnojoe_state, screen_update_ashnojoe)
- MCFG_GFXDECODE(ashnojoe)
+ MCFG_GFXDECODE_ADD("gfxdecode", ashnojoe)
MCFG_PALETTE_LENGTH(0x1000/2)
diff --git a/src/mame/drivers/asterix.c b/src/mame/drivers/asterix.c
index 838ed715f5e..91a9cb2673a 100644
--- a/src/mame/drivers/asterix.c
+++ b/src/mame/drivers/asterix.c
@@ -292,8 +292,11 @@ static MACHINE_CONFIG_START( asterix, asterix_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K056832_ADD("k056832", asterix_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K053244_ADD("k053244", asterix_k05324x_intf)
+ MCFG_K053244_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
diff --git a/src/mame/drivers/astrcorp.c b/src/mame/drivers/astrcorp.c
index b007e0ffb4c..a4b5b5e8336 100644
--- a/src/mame/drivers/astrcorp.c
+++ b/src/mame/drivers/astrcorp.c
@@ -147,7 +147,7 @@ void astrocorp_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &clipre
{
for (xwrap = 0 ; xwrap <= 0x200 ; xwrap += 0x200)
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code, 0,
0, 0,
sx + x * 16 - xwrap, sy + y * 16 - ywrap, 0xff);
@@ -491,7 +491,7 @@ static MACHINE_CONFIG_START( showhand, astrocorp_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(astrocorp_state, screen_update_astrocorp)
- MCFG_GFXDECODE(astrocorp)
+ MCFG_GFXDECODE_ADD("gfxdecode", astrocorp)
MCFG_PALETTE_LENGTH(0x100)
MCFG_VIDEO_START_OVERRIDE(astrocorp_state,astrocorp)
@@ -542,7 +542,7 @@ static MACHINE_CONFIG_START( skilldrp, astrocorp_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x200-1, 0, 0xf0-1)
MCFG_SCREEN_UPDATE_DRIVER(astrocorp_state, screen_update_astrocorp)
- MCFG_GFXDECODE(astrocorp)
+ MCFG_GFXDECODE_ADD("gfxdecode", astrocorp)
MCFG_PALETTE_LENGTH(0x100)
MCFG_VIDEO_START_OVERRIDE(astrocorp_state,astrocorp)
diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c
index 9eceffeedf9..288411828e0 100644
--- a/src/mame/drivers/asuka.c
+++ b/src/mame/drivers/asuka.c
@@ -894,11 +894,13 @@ static MACHINE_CONFIG_START( bonzeadv, asuka_state )
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_bonzeadv)
MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
- MCFG_GFXDECODE(asuka)
+ MCFG_GFXDECODE_ADD("gfxdecode", asuka)
MCFG_PALETTE_LENGTH(4096)
MCFG_PC090OJ_ADD("pc090oj", bonzeadv_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn", asuka_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
/* sound hardware */
@@ -937,11 +939,13 @@ static MACHINE_CONFIG_START( asuka, asuka_state )
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
- MCFG_GFXDECODE(asuka)
+ MCFG_GFXDECODE_ADD("gfxdecode", asuka)
MCFG_PALETTE_LENGTH(4096)
MCFG_PC090OJ_ADD("pc090oj", asuka_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn", asuka_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
/* sound hardware */
@@ -988,11 +992,13 @@ static MACHINE_CONFIG_START( cadash, asuka_state )
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_bonzeadv)
MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
- MCFG_GFXDECODE(asuka)
+ MCFG_GFXDECODE_ADD("gfxdecode", asuka)
MCFG_PALETTE_LENGTH(4096)
MCFG_PC090OJ_ADD("pc090oj", asuka_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn", cadash_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
/* sound hardware */
@@ -1031,11 +1037,13 @@ static MACHINE_CONFIG_START( mofflott, asuka_state )
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
- MCFG_GFXDECODE(asuka)
+ MCFG_GFXDECODE_ADD("gfxdecode", asuka)
MCFG_PALETTE_LENGTH(4096) /* only Mofflott uses full palette space */
MCFG_PC090OJ_ADD("pc090oj", bonzeadv_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn", cadash_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
/* sound hardware */
@@ -1078,11 +1086,13 @@ static MACHINE_CONFIG_START( galmedes, asuka_state )
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
- MCFG_GFXDECODE(asuka)
+ MCFG_GFXDECODE_ADD("gfxdecode", asuka)
MCFG_PALETTE_LENGTH(4096) /* only Mofflott uses full palette space */
MCFG_PC090OJ_ADD("pc090oj", bonzeadv_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn", cadash_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
/* sound hardware */
@@ -1121,11 +1131,13 @@ static MACHINE_CONFIG_START( eto, asuka_state )
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
MCFG_SCREEN_VBLANK_DRIVER(asuka_state, screen_eof_asuka)
- MCFG_GFXDECODE(asuka)
+ MCFG_GFXDECODE_ADD("gfxdecode", asuka)
MCFG_PALETTE_LENGTH(4096)
MCFG_PC090OJ_ADD("pc090oj", bonzeadv_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn", cadash_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
/* sound hardware */
diff --git a/src/mame/drivers/atarifb.c b/src/mame/drivers/atarifb.c
index 403037f58ff..09022ab333d 100644
--- a/src/mame/drivers/atarifb.c
+++ b/src/mame/drivers/atarifb.c
@@ -562,7 +562,7 @@ static MACHINE_CONFIG_START( atarifb, atarifb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 38*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(atarifb_state, screen_update_atarifb)
- MCFG_GFXDECODE(atarifb)
+ MCFG_GFXDECODE_ADD("gfxdecode", atarifb)
MCFG_PALETTE_LENGTH(12)
@@ -610,7 +610,7 @@ static MACHINE_CONFIG_DERIVED( soccer, atarifb )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0*8, 38*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(atarifb_state, screen_update_soccer)
- MCFG_GFXDECODE(soccer)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", soccer)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/atarig1.c b/src/mame/drivers/atarig1.c
index 54b820c3a7a..3f4d6d2ae49 100644
--- a/src/mame/drivers/atarig1.c
+++ b/src/mame/drivers/atarig1.c
@@ -435,7 +435,7 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(atarig1)
+ MCFG_GFXDECODE_ADD("gfxdecode", atarig1)
MCFG_PALETTE_LENGTH(1280)
/* initialize the playfield */
diff --git a/src/mame/drivers/atarig42.c b/src/mame/drivers/atarig42.c
index f7225944027..3489466bdd9 100644
--- a/src/mame/drivers/atarig42.c
+++ b/src/mame/drivers/atarig42.c
@@ -545,7 +545,7 @@ static MACHINE_CONFIG_START( atarig42, atarig42_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(atarig42)
+ MCFG_GFXDECODE_ADD("gfxdecode", atarig42)
MCFG_PALETTE_LENGTH(2048)
MCFG_TILEMAP_ADD_CUSTOM("playfield", 2, atarig42_state, get_playfield_tile_info, 8,8, atarig42_playfield_scan, 128,64)
diff --git a/src/mame/drivers/atarigt.c b/src/mame/drivers/atarigt.c
index 25c1f2f532d..72de969e0be 100644
--- a/src/mame/drivers/atarigt.c
+++ b/src/mame/drivers/atarigt.c
@@ -831,7 +831,7 @@ static MACHINE_CONFIG_START( atarigt, atarigt_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(atarigt)
+ MCFG_GFXDECODE_ADD("gfxdecode", atarigt)
MCFG_PALETTE_LENGTH(32768)
MCFG_TILEMAP_ADD_CUSTOM("playfield", 2, atarigt_state, get_playfield_tile_info, 8,8, atarigt_playfield_scan, 128,64)
diff --git a/src/mame/drivers/atarigx2.c b/src/mame/drivers/atarigx2.c
index 8ea2e444c86..5759cbe2392 100644
--- a/src/mame/drivers/atarigx2.c
+++ b/src/mame/drivers/atarigx2.c
@@ -1413,7 +1413,7 @@ static MACHINE_CONFIG_START( atarigx2, atarigx2_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(atarigx2)
+ MCFG_GFXDECODE_ADD("gfxdecode", atarigx2)
MCFG_PALETTE_LENGTH(2048)
MCFG_TILEMAP_ADD_CUSTOM("playfield", 2, atarigx2_state, get_playfield_tile_info, 8,8, atarigx2_playfield_scan, 128,64)
diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c
index 4029d5cd2c7..0159d71b1bd 100644
--- a/src/mame/drivers/atarisy1.c
+++ b/src/mame/drivers/atarisy1.c
@@ -728,13 +728,14 @@ static MACHINE_CONFIG_START( atarisy1, atarisy1_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(atarisy1)
+ MCFG_GFXDECODE_ADD("gfxdecode", atarisy1)
MCFG_PALETTE_LENGTH(1024)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, atarisy1_state, get_playfield_tile_info, 8,8, SCAN_ROWS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, atarisy1_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", atarisy1_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c
index 134188f6ea7..ab30729adbe 100644
--- a/src/mame/drivers/atarisy2.c
+++ b/src/mame/drivers/atarisy2.c
@@ -1236,13 +1236,14 @@ static MACHINE_CONFIG_START( atarisy2, atarisy2_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(atarisy2)
+ MCFG_GFXDECODE_ADD("gfxdecode", atarisy2)
MCFG_PALETTE_LENGTH(256)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, atarisy2_state, get_playfield_tile_info, 8,8, SCAN_ROWS, 128,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, atarisy2_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,48, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", atarisy2_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 640, 0, 512, 416, 0, 384)
diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c
index ade94c5393d..11affe4fc47 100644
--- a/src/mame/drivers/atetris.c
+++ b/src/mame/drivers/atetris.c
@@ -331,7 +331,7 @@ static MACHINE_CONFIG_START( atetris, atetris_state )
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
- MCFG_GFXDECODE(atetris)
+ MCFG_GFXDECODE_ADD("gfxdecode", atetris)
MCFG_PALETTE_LENGTH(256)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -363,7 +363,7 @@ static MACHINE_CONFIG_START( atetrisb2, atetris_state )
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
- MCFG_GFXDECODE(atetris)
+ MCFG_GFXDECODE_ADD("gfxdecode", atetris)
MCFG_PALETTE_LENGTH(256)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/avt.c b/src/mame/drivers/avt.c
index db716b1d63a..e23c4cfbaa2 100644
--- a/src/mame/drivers/avt.c
+++ b/src/mame/drivers/avt.c
@@ -496,7 +496,7 @@ TILE_GET_INFO_MEMBER(avt_state::get_bg_tile_info)
int code = m_videoram[tile_index] | ((attr & 1) << 8);
int color = (attr & 0xf0)>>4;
- SET_TILE_INFO_MEMBER( 0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -510,7 +510,7 @@ UINT32 avt_state::screen_update_avt(screen_device &screen, bitmap_ind16 &bitmap,
{
int x,y;
int count;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
count = 0;
@@ -904,7 +904,7 @@ static MACHINE_CONFIG_START( avt, avt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) /* 240x224 (through CRTC) */
MCFG_SCREEN_UPDATE_DRIVER(avt_state, screen_update_avt)
- MCFG_GFXDECODE(avt)
+ MCFG_GFXDECODE_ADD("gfxdecode", avt)
MCFG_PALETTE_LENGTH(8*16)
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index e8eb46d39dd..d93a3088565 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -504,7 +504,7 @@ static MACHINE_CONFIG_START( backfire, backfire_state )
/* video hardware */
MCFG_PALETTE_LENGTH(2048)
- MCFG_GFXDECODE(backfire)
+ MCFG_GFXDECODE_ADD("gfxdecode", backfire)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
MCFG_SCREEN_ADD("lscreen", RASTER)
@@ -522,20 +522,25 @@ static MACHINE_CONFIG_START( backfire, backfire_state )
MCFG_SCREEN_UPDATE_DRIVER(backfire_state, screen_update_backfire_right)
- MCFG_DECO16IC_ADD("tilegen1", backfire_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_ADD("tilegen1", backfire_deco16ic_tilegen1_intf)
MCFG_DECO16IC_SET_SCREEN("lscreen")
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", backfire_deco16ic_tilegen2_intf)
MCFG_DECO16IC_SET_SCREEN("lscreen")
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
MCFG_VIDEO_SET_SCREEN("lscreen")
decospr_device::set_gfx_region(*device, 4);
decospr_device::set_pri_callback(*device, backfire_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
MCFG_VIDEO_SET_SCREEN("rscreen")
decospr_device::set_gfx_region(*device, 5);
decospr_device::set_pri_callback(*device, backfire_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
diff --git a/src/mame/drivers/badlands.c b/src/mame/drivers/badlands.c
index 0e554b31682..eb575147f2d 100644
--- a/src/mame/drivers/badlands.c
+++ b/src/mame/drivers/badlands.c
@@ -510,11 +510,12 @@ static MACHINE_CONFIG_START( badlands, badlands_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(badlands)
+ MCFG_GFXDECODE_ADD("gfxdecode", badlands)
MCFG_PALETTE_LENGTH(256)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, badlands_state, get_playfield_tile_info, 8,8, SCAN_ROWS, 64,32)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", badlands_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
@@ -712,11 +713,12 @@ static MACHINE_CONFIG_START( badlandsb, badlands_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(badlandsb)
+ MCFG_GFXDECODE_ADD("gfxdecode", badlandsb)
MCFG_PALETTE_LENGTH(256)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, badlands_state, get_playfield_tile_info, 8,8, SCAN_ROWS, 64,32)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", badlands_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/bagman.c b/src/mame/drivers/bagman.c
index a9d57e47b34..ed5ecd434aa 100644
--- a/src/mame/drivers/bagman.c
+++ b/src/mame/drivers/bagman.c
@@ -483,7 +483,7 @@ static MACHINE_CONFIG_START( bagman, bagman_state )
MCFG_SCREEN_RAW_PARAMS(BAGMAN_HCLK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(bagman_state, screen_update_bagman)
- MCFG_GFXDECODE(bagman)
+ MCFG_GFXDECODE_ADD("gfxdecode", bagman)
MCFG_PALETTE_LENGTH(64)
MCFG_PALETTE_INIT_OVERRIDE(bagman_state,bagman)
@@ -519,7 +519,7 @@ static MACHINE_CONFIG_START( pickin, bagman_state )
MCFG_SCREEN_RAW_PARAMS(BAGMAN_HCLK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(bagman_state, screen_update_bagman)
- MCFG_GFXDECODE(pickin)
+ MCFG_GFXDECODE_ADD("gfxdecode", pickin)
MCFG_PALETTE_LENGTH(64)
MCFG_PALETTE_INIT_OVERRIDE(bagman_state,bagman)
@@ -571,7 +571,7 @@ static MACHINE_CONFIG_START( botanic, bagman_state )
MCFG_SCREEN_RAW_PARAMS(BAGMAN_HCLK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(bagman_state, screen_update_bagman)
- MCFG_GFXDECODE(bagman)
+ MCFG_GFXDECODE_ADD("gfxdecode", bagman)
MCFG_PALETTE_LENGTH(64)
MCFG_PALETTE_INIT_OVERRIDE(bagman_state,bagman)
diff --git a/src/mame/drivers/bankp.c b/src/mame/drivers/bankp.c
index 94d289b640f..0a59841eae3 100644
--- a/src/mame/drivers/bankp.c
+++ b/src/mame/drivers/bankp.c
@@ -299,7 +299,7 @@ static MACHINE_CONFIG_START( bankp, bankp_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(bankp_state, screen_update_bankp)
- MCFG_GFXDECODE(bankp)
+ MCFG_GFXDECODE_ADD("gfxdecode", bankp)
MCFG_PALETTE_LENGTH(32*4+16*8)
diff --git a/src/mame/drivers/baraduke.c b/src/mame/drivers/baraduke.c
index 0877d2e302a..4cc7d23e6ad 100644
--- a/src/mame/drivers/baraduke.c
+++ b/src/mame/drivers/baraduke.c
@@ -395,7 +395,7 @@ static MACHINE_CONFIG_START( baraduke, baraduke_state )
MCFG_SCREEN_UPDATE_DRIVER(baraduke_state, screen_update_baraduke)
MCFG_SCREEN_VBLANK_DRIVER(baraduke_state, screen_eof_baraduke)
- MCFG_GFXDECODE(baraduke)
+ MCFG_GFXDECODE_ADD("gfxdecode", baraduke)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c
index 89ed2895217..ebc78c77f11 100644
--- a/src/mame/drivers/batman.c
+++ b/src/mame/drivers/batman.c
@@ -207,14 +207,14 @@ static MACHINE_CONFIG_START( batman, batman_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(batman)
+ MCFG_GFXDECODE_ADD("gfxdecode", batman)
MCFG_PALETTE_LENGTH(2048)
MCFG_ATARI_VAD_ADD("vad", "screen", WRITELINE(atarigen_state, scanline_int_write_line))
MCFG_ATARI_VAD_PLAYFIELD(batman_state, get_playfield_tile_info)
MCFG_ATARI_VAD_PLAYFIELD2(batman_state, get_playfield2_tile_info)
MCFG_ATARI_VAD_ALPHA(batman_state, get_alpha_tile_info)
- MCFG_ATARI_VAD_MOB(batman_state::s_mob_config)
+ MCFG_ATARI_VAD_MOB(batman_state::s_mob_config, "gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/battlane.c b/src/mame/drivers/battlane.c
index ddc00a8bf4f..f73a4873f9b 100644
--- a/src/mame/drivers/battlane.c
+++ b/src/mame/drivers/battlane.c
@@ -285,7 +285,7 @@ static MACHINE_CONFIG_START( battlane, battlane_state )
MCFG_SCREEN_VISIBLE_AREA(1 * 8, 31 * 8 - 1, 0 * 8, 32 * 8 - 1)
MCFG_SCREEN_UPDATE_DRIVER(battlane_state, screen_update_battlane)
- MCFG_GFXDECODE(battlane)
+ MCFG_GFXDECODE_ADD("gfxdecode", battlane)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c
index c01ab5ec442..841ec0422c3 100644
--- a/src/mame/drivers/battlera.c
+++ b/src/mame/drivers/battlera.c
@@ -244,7 +244,7 @@ static MACHINE_CONFIG_START( battlera, battlera_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(battlera_state, screen_update_battlera)
- MCFG_GFXDECODE(battlera)
+ MCFG_GFXDECODE_ADD("gfxdecode", battlera)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/battlex.c b/src/mame/drivers/battlex.c
index b9e92513648..f1cb24f3236 100644
--- a/src/mame/drivers/battlex.c
+++ b/src/mame/drivers/battlex.c
@@ -258,7 +258,7 @@ static MACHINE_CONFIG_START( battlex, battlex_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(battlex_state, screen_update_battlex)
- MCFG_GFXDECODE(battlex)
+ MCFG_GFXDECODE_ADD("gfxdecode", battlex)
MCFG_PALETTE_LENGTH(64)
/* sound hardware */
diff --git a/src/mame/drivers/battlnts.c b/src/mame/drivers/battlnts.c
index 4ffd62b78e0..e7a5bbf1e39 100644
--- a/src/mame/drivers/battlnts.c
+++ b/src/mame/drivers/battlnts.c
@@ -255,10 +255,12 @@ static MACHINE_CONFIG_START( battlnts, battlnts_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(battlnts_state, screen_update_battlnts)
- MCFG_GFXDECODE(battlnts)
+ MCFG_GFXDECODE_ADD("gfxdecode", battlnts)
MCFG_PALETTE_LENGTH(128)
MCFG_K007342_ADD("k007342", bladestl_k007342_intf)
+ MCFG_K007342_GFXDECODE("gfxdecode")
+
MCFG_K007420_ADD("k007420", bladestl_k007420_intf)
/* sound hardware */
diff --git a/src/mame/drivers/bbusters.c b/src/mame/drivers/bbusters.c
index b28a3ed3b15..54c1f00c7ca 100644
--- a/src/mame/drivers/bbusters.c
+++ b/src/mame/drivers/bbusters.c
@@ -681,7 +681,7 @@ static MACHINE_CONFIG_START( bbusters, bbusters_state )
MCFG_SCREEN_UPDATE_DRIVER(bbusters_state, screen_update_bbuster)
MCFG_SCREEN_VBLANK_DRIVER(bbusters_state, screen_eof_bbuster)
- MCFG_GFXDECODE(bbusters)
+ MCFG_GFXDECODE_ADD("gfxdecode", bbusters)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(bbusters_state,bbuster)
@@ -719,7 +719,7 @@ static MACHINE_CONFIG_START( mechatt, bbusters_state )
MCFG_SCREEN_UPDATE_DRIVER(bbusters_state, screen_update_mechatt)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(mechatt)
+ MCFG_GFXDECODE_ADD("gfxdecode", mechatt)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(bbusters_state,mechatt)
diff --git a/src/mame/drivers/bestleag.c b/src/mame/drivers/bestleag.c
index 6c3a56a1403..219a3a1aac3 100644
--- a/src/mame/drivers/bestleag.c
+++ b/src/mame/drivers/bestleag.c
@@ -70,7 +70,7 @@ TILE_GET_INFO_MEMBER(bestleag_state::get_tx_tile_info)
{
int code = m_txram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x0fff)|0x8000,
(code & 0xf000) >> 12,
@@ -81,7 +81,7 @@ TILE_GET_INFO_MEMBER(bestleag_state::get_bg_tile_info)
{
int code = m_bgram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(code & 0x0fff),
(code & 0xf000) >> 12,
@@ -92,7 +92,7 @@ TILE_GET_INFO_MEMBER(bestleag_state::get_fg_tile_info)
{
int code = m_fgram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(code & 0x0fff)|0x1000,
((code & 0xf000) >> 12)|0x10,
@@ -153,26 +153,26 @@ void bestleag_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
if(m_vregs[0x00/2] & 0x1000)
color &= 7;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx, 0,
flipx ? (sx+16) : (sx),sy,15);
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code+1,
color,
flipx, 0,
flipx ? (sx) : (sx+16),sy,15);
/* wraparound x */
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx, 0,
flipx ? (sx+16 - 512) : (sx - 512),sy,15);
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code+1,
color,
flipx, 0,
@@ -378,7 +378,7 @@ static MACHINE_CONFIG_START( bestleag, bestleag_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bestleag_state, screen_update_bestleag)
- MCFG_GFXDECODE(bestleag)
+ MCFG_GFXDECODE_ADD("gfxdecode", bestleag)
MCFG_PALETTE_LENGTH(0x800)
diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c
index a3a0e44a188..3d9edce7eda 100644
--- a/src/mame/drivers/bfm_sc1.c
+++ b/src/mame/drivers/bfm_sc1.c
@@ -1093,7 +1093,10 @@ static MACHINE_CONFIG_DERIVED( scorpion1_adder2, scorpion1 )
MCFG_DEFAULT_LAYOUT(layout_sc1_vid)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_BFM_ADDER2_ADD("adder2")
+ MCFG_BFM_ADDER2_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
/////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c
index 8a888c29e81..8c67269ecb7 100644
--- a/src/mame/drivers/bfm_sc2.c
+++ b/src/mame/drivers/bfm_sc2.c
@@ -2128,7 +2128,10 @@ static MACHINE_CONFIG_START( scorpion2_vid, bfm_sc2_state )
MCFG_NVRAM_ADD_CUSTOM_DRIVER("e2ram", bfm_sc2_state, e2ram_init)
MCFG_DEFAULT_LAYOUT(layout_sc2_vid)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_BFM_ADDER2_ADD("adder2")
+ MCFG_BFM_ADDER2_GFXDECODE("gfxdecode")
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
diff --git a/src/mame/drivers/bigevglf.c b/src/mame/drivers/bigevglf.c
index 687f5e5d805..0d14b81257f 100644
--- a/src/mame/drivers/bigevglf.c
+++ b/src/mame/drivers/bigevglf.c
@@ -510,7 +510,7 @@ static MACHINE_CONFIG_START( bigevglf, bigevglf_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bigevglf_state, screen_update_bigevglf)
- MCFG_GFXDECODE(bigevglf)
+ MCFG_GFXDECODE_ADD("gfxdecode", bigevglf)
MCFG_PALETTE_LENGTH(0x800)
/* sound hardware */
diff --git a/src/mame/drivers/bigstrkb.c b/src/mame/drivers/bigstrkb.c
index 2e47aabc3a0..f30020ed03b 100644
--- a/src/mame/drivers/bigstrkb.c
+++ b/src/mame/drivers/bigstrkb.c
@@ -200,7 +200,7 @@ static MACHINE_CONFIG_START( bigstrkb, bigstrkb_state )
MCFG_CPU_PROGRAM_MAP(bigstrkb_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", bigstrkb_state, irq6_line_hold)
- MCFG_GFXDECODE(bigstrkb)
+ MCFG_GFXDECODE_ADD("gfxdecode", bigstrkb)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/bingoman.c b/src/mame/drivers/bingoman.c
index 5ec97ba01e4..b2f93f668c6 100644
--- a/src/mame/drivers/bingoman.c
+++ b/src/mame/drivers/bingoman.c
@@ -383,7 +383,7 @@ static MACHINE_CONFIG_START( bingoman, bingoman_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
- MCFG_GFXDECODE(bingoman)
+ MCFG_GFXDECODE_ADD("gfxdecode", bingoman)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/drivers/bingor.c b/src/mame/drivers/bingor.c
index 13c0ad498f6..681b79d2fce 100644
--- a/src/mame/drivers/bingor.c
+++ b/src/mame/drivers/bingor.c
@@ -632,7 +632,7 @@ static MACHINE_CONFIG_START( bingor, bingor_state )
MCFG_CPU_IO_MAP(pic_io_map)
- MCFG_GFXDECODE(bingor)
+ MCFG_GFXDECODE_ADD("gfxdecode", bingor)
//MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/bionicc.c b/src/mame/drivers/bionicc.c
index ddd3eb576f4..586d1241f23 100644
--- a/src/mame/drivers/bionicc.c
+++ b/src/mame/drivers/bionicc.c
@@ -367,7 +367,7 @@ static MACHINE_CONFIG_START( bionicc, bionicc_state )
MCFG_SCREEN_UPDATE_DRIVER(bionicc_state, screen_update_bionicc)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(bionicc)
+ MCFG_GFXDECODE_ADD("gfxdecode", bionicc)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/bishi.c b/src/mame/drivers/bishi.c
index 8aa51d67085..eb0df04bd8f 100644
--- a/src/mame/drivers/bishi.c
+++ b/src/mame/drivers/bishi.c
@@ -410,8 +410,9 @@ static MACHINE_CONFIG_START( bishi, bishi_state )
MCFG_PALETTE_LENGTH(4096)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K056832_ADD("k056832", bishi_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K054338_ADD("k054338", bishi_k054338_intf)
MCFG_K055555_ADD("k055555")
diff --git a/src/mame/drivers/bking.c b/src/mame/drivers/bking.c
index aec6596cd6f..734dce70d12 100644
--- a/src/mame/drivers/bking.c
+++ b/src/mame/drivers/bking.c
@@ -480,7 +480,7 @@ static MACHINE_CONFIG_START( bking, bking_state )
MCFG_SCREEN_UPDATE_DRIVER(bking_state, screen_update_bking)
MCFG_SCREEN_VBLANK_DRIVER(bking_state, screen_eof_bking)
- MCFG_GFXDECODE(bking)
+ MCFG_GFXDECODE_ADD("gfxdecode", bking)
MCFG_PALETTE_LENGTH(4*8+4*4+4*2+4*2)
/* sound hardware */
diff --git a/src/mame/drivers/blackt96.c b/src/mame/drivers/blackt96.c
index a1b414d968c..3e0631efdba 100644
--- a/src/mame/drivers/blackt96.c
+++ b/src/mame/drivers/blackt96.c
@@ -161,7 +161,7 @@ public:
int flipyx = (ram[tile_index*2+1] & 0xc000)>>14; \
int col = (ram[tile_index*2] & 0x00ff); \
if (rgn==1) col >>=4; \
- SET_TILE_INFO_MEMBER(1-rgn, tileno, col, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1-rgn, tileno, col, TILE_FLIPYX(flipyx));
TILE_GET_INFO_MEMBER(blackt96_state::get_bg0_tile_info){ GET_INFO(m_spriteram0); }
TILE_GET_INFO_MEMBER(blackt96_state::get_bg1_tile_info){ GET_INFO(m_spriteram1); }
@@ -205,8 +205,8 @@ void blackt96_state::video_start()
void blackt96_state::draw_strip(bitmap_ind16 &bitmap, const rectangle &cliprect, int page, int column)
{
/* the very first 'page' in the spriteram contains the x/y positions for each tile strip */
- gfx_element *gfxbg = machine().gfx[0];
- gfx_element *gfxspr = machine().gfx[1];
+ gfx_element *gfxbg = m_gfxdecode->gfx(0);
+ gfx_element *gfxspr = m_gfxdecode->gfx(1);
int base = column * (0x80/2);
base += page * 2;
@@ -265,7 +265,7 @@ UINT32 blackt96_state::screen_update_blackt96(screen_device &screen, bitmap_ind1
/* Text Layer */
int count = 0;
int x,y;
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
for (x=0;x<64;x++)
{
@@ -600,7 +600,7 @@ static MACHINE_CONFIG_START( blackt96, blackt96_state )
MCFG_CPU_ADD("audiocpu", PIC16C57, 8000000) /* ? */
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_GFXDECODE(blackt96)
+ MCFG_GFXDECODE_ADD("gfxdecode", blackt96)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/bladestl.c b/src/mame/drivers/bladestl.c
index df617a7ca17..c1576eda5ce 100644
--- a/src/mame/drivers/bladestl.c
+++ b/src/mame/drivers/bladestl.c
@@ -334,10 +334,12 @@ static MACHINE_CONFIG_START( bladestl, bladestl_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bladestl_state, screen_update_bladestl)
- MCFG_GFXDECODE(bladestl)
+ MCFG_GFXDECODE_ADD("gfxdecode", bladestl)
MCFG_PALETTE_LENGTH(32 + 16*16)
MCFG_K007342_ADD("k007342", bladestl_k007342_intf)
+ MCFG_K007342_GFXDECODE("gfxdecode")
+
MCFG_K007420_ADD("k007420", bladestl_k007420_intf)
MCFG_K051733_ADD("k051733")
diff --git a/src/mame/drivers/blitz.c b/src/mame/drivers/blitz.c
index 886f875ba07..f5756d70c16 100644
--- a/src/mame/drivers/blitz.c
+++ b/src/mame/drivers/blitz.c
@@ -353,7 +353,7 @@ TILE_GET_INFO_MEMBER(blitz_state::get_bg_tile_info)
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
@@ -786,7 +786,7 @@ static MACHINE_CONFIG_START( megadpkr, blitz_state )
MCFG_MC6845_ADD("crtc", MC6845, "screen", CPU_CLOCK, mc6845_intf)
- MCFG_GFXDECODE(megadpkr)
+ MCFG_GFXDECODE_ADD("gfxdecode", megadpkr)
MCFG_PALETTE_LENGTH(256)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c
index 3eb1b65ab5e..c05ad0afab3 100644
--- a/src/mame/drivers/blktiger.c
+++ b/src/mame/drivers/blktiger.c
@@ -328,7 +328,7 @@ static MACHINE_CONFIG_START( blktiger, blktiger_state )
MCFG_SCREEN_UPDATE_DRIVER(blktiger_state, screen_update_blktiger)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(blktiger)
+ MCFG_GFXDECODE_ADD("gfxdecode", blktiger)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/blmbycar.c b/src/mame/drivers/blmbycar.c
index 5a97bff2dd6..bc35b0d8a7e 100644
--- a/src/mame/drivers/blmbycar.c
+++ b/src/mame/drivers/blmbycar.c
@@ -363,7 +363,7 @@ static MACHINE_CONFIG_START( blmbycar, blmbycar_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x180-1, 0, 0x100-1)
MCFG_SCREEN_UPDATE_DRIVER(blmbycar_state, screen_update_blmbycar)
- MCFG_GFXDECODE(blmbycar)
+ MCFG_GFXDECODE_ADD("gfxdecode", blmbycar)
MCFG_PALETTE_LENGTH(0x300)
@@ -404,7 +404,7 @@ static MACHINE_CONFIG_START( watrball, blmbycar_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x180-1, 16, 0x100-1)
MCFG_SCREEN_UPDATE_DRIVER(blmbycar_state, screen_update_blmbycar)
- MCFG_GFXDECODE(blmbycar)
+ MCFG_GFXDECODE_ADD("gfxdecode", blmbycar)
MCFG_PALETTE_LENGTH(0x300)
diff --git a/src/mame/drivers/blockade.c b/src/mame/drivers/blockade.c
index 65b0e7be92c..e1ff958fed3 100644
--- a/src/mame/drivers/blockade.c
+++ b/src/mame/drivers/blockade.c
@@ -479,7 +479,7 @@ static MACHINE_CONFIG_START( blockade, blockade_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(blockade_state, screen_update_blockade)
- MCFG_GFXDECODE(blockade)
+ MCFG_GFXDECODE_ADD("gfxdecode", blockade)
MCFG_PALETTE_LENGTH(2)
@@ -495,7 +495,7 @@ static MACHINE_CONFIG_START( blockade, blockade_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( blasto, blockade )
- MCFG_GFXDECODE(blasto)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", blasto)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/blockhl.c b/src/mame/drivers/blockhl.c
index 1fac0b2f637..ed728f01e0a 100644
--- a/src/mame/drivers/blockhl.c
+++ b/src/mame/drivers/blockhl.c
@@ -220,9 +220,11 @@ static MACHINE_CONFIG_START( blockhl, blockhl_state )
MCFG_PALETTE_LENGTH(1024)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", blockhl_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", blockhl_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/bloodbro.c b/src/mame/drivers/bloodbro.c
index ce7e346a05e..4ff2c642ff6 100644
--- a/src/mame/drivers/bloodbro.c
+++ b/src/mame/drivers/bloodbro.c
@@ -477,7 +477,7 @@ static MACHINE_CONFIG_START( bloodbro, bloodbro_state )
MCFG_SEIBU_CRTC_ADD("crtc",crtc_intf,0)
- MCFG_GFXDECODE(bloodbro)
+ MCFG_GFXDECODE_ADD("gfxdecode", bloodbro)
MCFG_PALETTE_LENGTH(2048)
// sound hardware
@@ -490,7 +490,7 @@ static MACHINE_CONFIG_DERIVED( weststry, bloodbro )
MCFG_CPU_PROGRAM_MAP(weststry_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", bloodbro_state, irq6_line_hold)
- MCFG_GFXDECODE(weststry)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", weststry)
MCFG_PALETTE_LENGTH(1024)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/blstroid.c b/src/mame/drivers/blstroid.c
index 87e2fd891d5..7814d2e61a0 100644
--- a/src/mame/drivers/blstroid.c
+++ b/src/mame/drivers/blstroid.c
@@ -183,11 +183,12 @@ static MACHINE_CONFIG_START( blstroid, blstroid_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(blstroid)
+ MCFG_GFXDECODE_ADD("gfxdecode", blstroid)
MCFG_PALETTE_LENGTH(512)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, blstroid_state, get_playfield_tile_info, 16,8, SCAN_ROWS, 64,64)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", blstroid_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/blueprnt.c b/src/mame/drivers/blueprnt.c
index 49eddff8104..0243b9e3ba9 100644
--- a/src/mame/drivers/blueprnt.c
+++ b/src/mame/drivers/blueprnt.c
@@ -385,7 +385,7 @@ static MACHINE_CONFIG_START( blueprnt, blueprnt_state )
MCFG_VIDEO_START_OVERRIDE(blueprnt_state, blueprnt)
MCFG_SCREEN_UPDATE_DRIVER(blueprnt_state, screen_update_blueprnt)
- MCFG_GFXDECODE(blueprnt)
+ MCFG_GFXDECODE_ADD("gfxdecode", blueprnt)
MCFG_PALETTE_LENGTH(128*4+8)
/* sound hardware */
diff --git a/src/mame/drivers/bmcpokr.c b/src/mame/drivers/bmcpokr.c
index 17ff02f7faa..3c76086d30f 100644
--- a/src/mame/drivers/bmcpokr.c
+++ b/src/mame/drivers/bmcpokr.c
@@ -201,7 +201,7 @@ GFXDECODE_END
UINT32 bmcpokr_state::screen_update_bmcpokr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0;
for (int y=0;y<32;y++)
@@ -236,7 +236,7 @@ static MACHINE_CONFIG_START( bmcpokr, bmcpokr_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(bmcpokr_state, screen_update_bmcpokr)
- MCFG_GFXDECODE(bmcpokr)
+ MCFG_GFXDECODE_ADD("gfxdecode", bmcpokr)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
diff --git a/src/mame/drivers/bnstars.c b/src/mame/drivers/bnstars.c
index 49557c12775..edd0be71046 100644
--- a/src/mame/drivers/bnstars.c
+++ b/src/mame/drivers/bnstars.c
@@ -177,7 +177,7 @@ TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_tx0_tile_info)
tileno = m_ms32_tx0_ram[tile_index *2+0] & 0x0000ffff;
colour = m_ms32_tx0_ram[tile_index *2+1] & 0x0000000f;
- SET_TILE_INFO_MEMBER(3,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3,tileno,colour,0);
}
TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_tx1_tile_info)
@@ -187,7 +187,7 @@ TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_tx1_tile_info)
tileno = m_ms32_tx1_ram[tile_index *2+0] & 0x0000ffff;
colour = m_ms32_tx1_ram[tile_index *2+1] & 0x0000000f;
- SET_TILE_INFO_MEMBER(7,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 7,tileno,colour,0);
}
WRITE32_MEMBER(bnstars_state::ms32_tx0_ram_w)
@@ -211,7 +211,7 @@ TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_bg0_tile_info)
tileno = m_ms32_bg0_ram[tile_index *2+0] & 0x0000ffff;
colour = m_ms32_bg0_ram[tile_index *2+1] & 0x0000000f;
- SET_TILE_INFO_MEMBER(2,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,tileno,colour,0);
}
TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_bg1_tile_info)
@@ -221,7 +221,7 @@ TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_bg1_tile_info)
tileno = m_ms32_bg1_ram[tile_index *2+0] & 0x0000ffff;
colour = m_ms32_bg1_ram[tile_index *2+1] & 0x0000000f;
- SET_TILE_INFO_MEMBER(6,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 6,tileno,colour,0);
}
WRITE32_MEMBER(bnstars_state::ms32_bg0_ram_w)
@@ -330,7 +330,7 @@ TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_roz0_tile_info)
tileno = m_ms32_roz0_ram[tile_index *2+0] & 0x0000ffff;
colour = m_ms32_roz0_ram[tile_index *2+1] & 0x0000000f;
- SET_TILE_INFO_MEMBER(1,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno,colour,0);
}
TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_roz1_tile_info)
@@ -340,7 +340,7 @@ TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_roz1_tile_info)
tileno = m_ms32_roz1_ram[tile_index *2+0] & 0x0000ffff;
colour = m_ms32_roz1_ram[tile_index *2+1] & 0x0000000f;
- SET_TILE_INFO_MEMBER(5,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 5,tileno,colour,0);
}
WRITE32_MEMBER(bnstars_state::ms32_roz0_ram_w)
@@ -423,7 +423,7 @@ void bnstars_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, co
int tx, ty, sx, sy, flipx, flipy;
int xsize, ysize, xzoom, yzoom;
int code, attr, color, size, pri, pri_mask;
- gfx_element *gfx = machine().gfx[region];
+ gfx_element *gfx = m_gfxdecode->gfx(region);
UINT32 *source = sprram_top;
const UINT32 *finish = sprram_top + (sprram_size - 0x10) / 4;
@@ -1387,7 +1387,7 @@ static MACHINE_CONFIG_START( bnstars, bnstars_state )
MCFG_QUANTUM_TIME(attotime::from_hz(60000))
- MCFG_GFXDECODE(bnstars)
+ MCFG_GFXDECODE_ADD("gfxdecode", bnstars)
MCFG_PALETTE_LENGTH(0x8000*2)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mame/drivers/bogeyman.c b/src/mame/drivers/bogeyman.c
index c803e1ef299..8dbbac05158 100644
--- a/src/mame/drivers/bogeyman.c
+++ b/src/mame/drivers/bogeyman.c
@@ -250,7 +250,7 @@ static MACHINE_CONFIG_START( bogeyman, bogeyman_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bogeyman_state, screen_update_bogeyman)
- MCFG_GFXDECODE(bogeyman)
+ MCFG_GFXDECODE_ADD("gfxdecode", bogeyman)
MCFG_PALETTE_LENGTH(16+256)
diff --git a/src/mame/drivers/bombjack.c b/src/mame/drivers/bombjack.c
index 2a2cab7693c..8fdd126d70a 100644
--- a/src/mame/drivers/bombjack.c
+++ b/src/mame/drivers/bombjack.c
@@ -370,7 +370,7 @@ static MACHINE_CONFIG_START( bombjack, bombjack_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bombjack_state, screen_update_bombjack)
- MCFG_GFXDECODE(bombjack)
+ MCFG_GFXDECODE_ADD("gfxdecode", bombjack)
MCFG_PALETTE_LENGTH(128)
diff --git a/src/mame/drivers/boogwing.c b/src/mame/drivers/boogwing.c
index 7d8223caae9..121568adda8 100644
--- a/src/mame/drivers/boogwing.c
+++ b/src/mame/drivers/boogwing.c
@@ -352,7 +352,7 @@ static MACHINE_CONFIG_START( boogwing, boogwing_state )
MCFG_SCREEN_UPDATE_DRIVER(boogwing_state, screen_update_boogwing)
MCFG_PALETTE_LENGTH(2048)
- MCFG_GFXDECODE(boogwing)
+ MCFG_GFXDECODE_ADD("gfxdecode", boogwing)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -361,13 +361,18 @@ static MACHINE_CONFIG_START( boogwing, boogwing_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", boogwing_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", boogwing_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO104_ADD("ioprot104")
MCFG_DECO146_SET_INTERFACE_SCRAMBLE_REVERSE
diff --git a/src/mame/drivers/bottom9.c b/src/mame/drivers/bottom9.c
index deddaaf2a4c..cb184aad7a4 100644
--- a/src/mame/drivers/bottom9.c
+++ b/src/mame/drivers/bottom9.c
@@ -351,10 +351,13 @@ static MACHINE_CONFIG_START( bottom9, bottom9_state )
MCFG_PALETTE_LENGTH(1024)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", bottom9_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", bottom9_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
MCFG_K051316_ADD("k051316", bottom9_k051316_intf)
+ MCFG_K051316_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/boxer.c b/src/mame/drivers/boxer.c
index e73a2d6a593..5bfbcff69a0 100644
--- a/src/mame/drivers/boxer.c
+++ b/src/mame/drivers/boxer.c
@@ -174,7 +174,7 @@ void boxer_state::draw_boxer( bitmap_ind16 &bitmap, const rectangle &cliprect )
code = p[32 * l + 4 * i + j];
- machine().gfx[n]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(n)->transpen(bitmap,cliprect,
code,
0,
code & 0x80, 0,
@@ -184,7 +184,7 @@ void boxer_state::draw_boxer( bitmap_ind16 &bitmap, const rectangle &cliprect )
code = p[32 * r + 4 * i - j + 3];
- machine().gfx[n]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(n)->transpen(bitmap,cliprect,
code,
0,
!(code & 0x80), 0,
@@ -209,7 +209,7 @@ UINT32 boxer_state::screen_update_boxer(screen_device &screen, bitmap_ind16 &bit
UINT8 code = m_tile_ram[32 * i + j];
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
0,
code & 0x40, code & 0x40,
@@ -479,7 +479,7 @@ static MACHINE_CONFIG_START( boxer, boxer_state )
MCFG_SCREEN_VISIBLE_AREA(8, 247, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(boxer_state, screen_update_boxer)
- MCFG_GFXDECODE(boxer)
+ MCFG_GFXDECODE_ADD("gfxdecode", boxer)
MCFG_PALETTE_LENGTH(4)
/* sound hardware */
diff --git a/src/mame/drivers/brkthru.c b/src/mame/drivers/brkthru.c
index a89804d7f63..bae48ba6c0c 100644
--- a/src/mame/drivers/brkthru.c
+++ b/src/mame/drivers/brkthru.c
@@ -381,7 +381,7 @@ static MACHINE_CONFIG_START( brkthru, brkthru_state )
/* video hardware */
- MCFG_GFXDECODE(brkthru)
+ MCFG_GFXDECODE_ADD("gfxdecode", brkthru)
MCFG_PALETTE_LENGTH(256)
/* not sure; assuming to be the same as darwin */
@@ -417,7 +417,7 @@ static MACHINE_CONFIG_START( darwin, brkthru_state )
/* video hardware */
- MCFG_GFXDECODE(brkthru)
+ MCFG_GFXDECODE_ADD("gfxdecode", brkthru)
MCFG_PALETTE_LENGTH(256)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/bsktball.c b/src/mame/drivers/bsktball.c
index 9051ba3c695..7a9c394e9c8 100644
--- a/src/mame/drivers/bsktball.c
+++ b/src/mame/drivers/bsktball.c
@@ -258,7 +258,7 @@ static MACHINE_CONFIG_START( bsktball, bsktball_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bsktball_state, screen_update_bsktball)
- MCFG_GFXDECODE(bsktball)
+ MCFG_GFXDECODE_ADD("gfxdecode", bsktball)
MCFG_PALETTE_LENGTH(2*4 + 4*4*4*4)
diff --git a/src/mame/drivers/btime.c b/src/mame/drivers/btime.c
index 1a180c7ccb2..374e676796d 100644
--- a/src/mame/drivers/btime.c
+++ b/src/mame/drivers/btime.c
@@ -1317,7 +1317,7 @@ static MACHINE_CONFIG_START( btime, btime_state )
MCFG_MACHINE_START_OVERRIDE(btime_state,btime)
MCFG_MACHINE_RESET_OVERRIDE(btime_state,btime)
- MCFG_GFXDECODE(btime)
+ MCFG_GFXDECODE_ADD("gfxdecode", btime)
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT_OVERRIDE(btime_state,btime)
@@ -1354,7 +1354,7 @@ static MACHINE_CONFIG_DERIVED( cookrace, btime )
MCFG_CPU_PROGRAM_MAP(audio_map)
/* video hardware */
- MCFG_GFXDECODE(cookrace)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", cookrace)
MCFG_PALETTE_LENGTH(16)
MCFG_SCREEN_MODIFY("screen")
@@ -1371,7 +1371,7 @@ static MACHINE_CONFIG_DERIVED( lnc, btime )
MCFG_MACHINE_RESET_OVERRIDE(btime_state,lnc)
/* video hardware */
- MCFG_GFXDECODE(lnc)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", lnc)
MCFG_PALETTE_LENGTH(8)
MCFG_PALETTE_INIT_OVERRIDE(btime_state,lnc)
@@ -1408,7 +1408,7 @@ static MACHINE_CONFIG_DERIVED( bnj, btime )
MCFG_CPU_PROGRAM_MAP(bnj_map)
/* video hardware */
- MCFG_GFXDECODE(bnj)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", bnj)
MCFG_PALETTE_LENGTH(16)
MCFG_VIDEO_START_OVERRIDE(btime_state,bnj)
@@ -1433,7 +1433,7 @@ static MACHINE_CONFIG_DERIVED( zoar, btime )
MCFG_CPU_PROGRAM_MAP(zoar_map)
/* video hardware */
- MCFG_GFXDECODE(zoar)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", zoar)
MCFG_PALETTE_LENGTH(64)
MCFG_DEVICE_MODIFY("screen")
@@ -1461,7 +1461,7 @@ static MACHINE_CONFIG_DERIVED( disco, btime )
MCFG_CPU_PROGRAM_MAP(disco_audio_map)
/* video hardware */
- MCFG_GFXDECODE(disco)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", disco)
MCFG_PALETTE_LENGTH(32)
MCFG_SCREEN_MODIFY("screen")
@@ -1476,7 +1476,7 @@ static MACHINE_CONFIG_DERIVED( tisland, btime )
MCFG_CPU_PROGRAM_MAP(tisland_map)
/* video hardware */
- MCFG_GFXDECODE(zoar)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", zoar)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bublbobl.c b/src/mame/drivers/bublbobl.c
index 864201c4d6f..3e3f9752fcb 100644
--- a/src/mame/drivers/bublbobl.c
+++ b/src/mame/drivers/bublbobl.c
@@ -770,7 +770,7 @@ static MACHINE_CONFIG_START( tokio, bublbobl_state )
MCFG_SCREEN_RAW_PARAMS(MAIN_XTAL/4, 384, 0, 256, 264, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(bublbobl_state, screen_update_bublbobl)
- MCFG_GFXDECODE(bublbobl)
+ MCFG_GFXDECODE_ADD("gfxdecode", bublbobl)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
@@ -850,7 +850,7 @@ static MACHINE_CONFIG_START( bublbobl, bublbobl_state )
MCFG_SCREEN_RAW_PARAMS(MAIN_XTAL/4, 384, 0, 256, 264, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(bublbobl_state, screen_update_bublbobl)
- MCFG_GFXDECODE(bublbobl)
+ MCFG_GFXDECODE_ADD("gfxdecode", bublbobl)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
diff --git a/src/mame/drivers/buggychl.c b/src/mame/drivers/buggychl.c
index d71965ffe50..81b4e8c33f2 100644
--- a/src/mame/drivers/buggychl.c
+++ b/src/mame/drivers/buggychl.c
@@ -408,7 +408,7 @@ static MACHINE_CONFIG_START( buggychl, buggychl_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(buggychl_state, screen_update_buggychl)
- MCFG_GFXDECODE(buggychl)
+ MCFG_GFXDECODE_ADD("gfxdecode", buggychl)
MCFG_PALETTE_LENGTH(128+128)
diff --git a/src/mame/drivers/buster.c b/src/mame/drivers/buster.c
index 7f0a0b7468d..47a692164aa 100644
--- a/src/mame/drivers/buster.c
+++ b/src/mame/drivers/buster.c
@@ -35,7 +35,7 @@ void buster_state::video_start()
UINT32 buster_state::screen_update_buster(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0x0000;
int y,x;
@@ -347,7 +347,7 @@ static MACHINE_CONFIG_START( buster, buster_state )
MCFG_SCREEN_UPDATE_DRIVER(buster_state, screen_update_buster)
MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL_3_579545MHz/4, mc6845_intf) //unknown clock / type
- MCFG_GFXDECODE(buster)
+ MCFG_GFXDECODE_ADD("gfxdecode", buster)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/drivers/bwing.c b/src/mame/drivers/bwing.c
index 58dd08ff2cf..595e45b5fa3 100644
--- a/src/mame/drivers/bwing.c
+++ b/src/mame/drivers/bwing.c
@@ -379,7 +379,7 @@ static MACHINE_CONFIG_START( bwing, bwing_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(bwing_state, screen_update_bwing)
- MCFG_GFXDECODE(bwing)
+ MCFG_GFXDECODE_ADD("gfxdecode", bwing)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index 20d8edd92ba..a3e07eea37f 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -488,7 +488,7 @@ static MACHINE_CONFIG_START( cabal, cabal_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cabal_state, screen_update_cabal)
- MCFG_GFXDECODE(cabal)
+ MCFG_GFXDECODE_ADD("gfxdecode", cabal)
MCFG_PALETTE_LENGTH(1024)
@@ -545,7 +545,7 @@ static MACHINE_CONFIG_START( cabalbl, cabal_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cabal_state, screen_update_cabal)
- MCFG_GFXDECODE(cabal)
+ MCFG_GFXDECODE_ADD("gfxdecode", cabal)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/cabaret.c b/src/mame/drivers/cabaret.c
index 5a81e6d69d4..8566aad520a 100644
--- a/src/mame/drivers/cabaret.c
+++ b/src/mame/drivers/cabaret.c
@@ -85,14 +85,14 @@ WRITE8_MEMBER(cabaret_state::bg_tile_w)
TILE_GET_INFO_MEMBER(cabaret_state::get_bg_tile_info)
{
int code = m_bg_tile_ram[tile_index];
- SET_TILE_INFO_MEMBER(1, code & 0xff, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code & 0xff, 0, 0);
}
TILE_GET_INFO_MEMBER(cabaret_state::get_fg_tile_info)
{
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
int tile = code & 0x1fff;
- SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
}
WRITE8_MEMBER(cabaret_state::fg_tile_w)
@@ -349,7 +349,7 @@ static MACHINE_CONFIG_START( cabaret, cabaret_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(cabaret_state, screen_update_cabaret)
- MCFG_GFXDECODE(cabaret)
+ MCFG_GFXDECODE_ADD("gfxdecode", cabaret)
MCFG_PALETTE_LENGTH(0x800)
diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c
index 85520d748bf..7e48b23a224 100644
--- a/src/mame/drivers/calomega.c
+++ b/src/mame/drivers/calomega.c
@@ -2655,7 +2655,7 @@ static MACHINE_CONFIG_START( sys903, calomega_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 31*8-1) /* Taken from MC6845 init, registers 01 & 06 */
MCFG_SCREEN_UPDATE_DRIVER(calomega_state, screen_update_calomega)
- MCFG_GFXDECODE(calomega)
+ MCFG_GFXDECODE_ADD("gfxdecode", calomega)
MCFG_PALETTE_LENGTH(1024)
@@ -2729,7 +2729,7 @@ static MACHINE_CONFIG_DERIVED( sys906, sys903 )
MCFG_PIA_WRITEPA_HANDLER(WRITE8(calomega_state, pia1_aout_w))
MCFG_PIA_WRITEPB_HANDLER(WRITE8(calomega_state, pia1_bout_w))
- MCFG_GFXDECODE(sys906)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", sys906)
/* sound hardware */
MCFG_SOUND_MODIFY("ay8912")
diff --git a/src/mame/drivers/calorie.c b/src/mame/drivers/calorie.c
index d14ed6ca602..641d1bfd4d7 100644
--- a/src/mame/drivers/calorie.c
+++ b/src/mame/drivers/calorie.c
@@ -132,7 +132,7 @@ TILE_GET_INFO_MEMBER(calorie_state::get_bg_tile_info)
int color = src[bg_base + tile_index + 0x100] & 0x0f;
int flag = src[bg_base + tile_index + 0x100] & 0x40 ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(1, code, color, flag);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flag);
}
TILE_GET_INFO_MEMBER(calorie_state::get_fg_tile_info)
@@ -140,7 +140,7 @@ TILE_GET_INFO_MEMBER(calorie_state::get_fg_tile_info)
int code = ((m_fg_ram[tile_index + 0x400] & 0x30) << 4) | m_fg_ram[tile_index];
int color = m_fg_ram[tile_index + 0x400] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((m_fg_ram[tile_index + 0x400] & 0xc0) >> 6));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, TILE_FLIPYX((m_fg_ram[tile_index + 0x400] & 0xc0) >> 6));
}
@@ -193,12 +193,12 @@ UINT32 calorie_state::screen_update_calorie(screen_device &screen, bitmap_ind16
if (m_sprites[x + 1] & 0x10)
{
/* 32x32 sprites */
- machine().gfx[3]->transpen(bitmap,cliprect, tileno | 0x40, color, flipx, flipy, xpos, ypos - 31, 0);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, tileno | 0x40, color, flipx, flipy, xpos, ypos - 31, 0);
}
else
{
/* 16x16 sprites */
- machine().gfx[2]->transpen(bitmap,cliprect, tileno, color, flipx, flipy, xpos, ypos - 15, 0);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, tileno, color, flipx, flipy, xpos, ypos - 15, 0);
}
}
return 0;
@@ -457,7 +457,7 @@ static MACHINE_CONFIG_START( calorie, calorie_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(calorie_state, screen_update_calorie)
- MCFG_GFXDECODE(calorie)
+ MCFG_GFXDECODE_ADD("gfxdecode", calorie)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/canyon.c b/src/mame/drivers/canyon.c
index 0727234bd86..ffe58167889 100644
--- a/src/mame/drivers/canyon.c
+++ b/src/mame/drivers/canyon.c
@@ -250,7 +250,7 @@ static MACHINE_CONFIG_START( canyon, canyon_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(canyon_state, screen_update_canyon)
- MCFG_GFXDECODE(canyon)
+ MCFG_GFXDECODE_ADD("gfxdecode", canyon)
MCFG_PALETTE_LENGTH(4)
diff --git a/src/mame/drivers/cardline.c b/src/mame/drivers/cardline.c
index a0f9d992d51..d065770ef60 100644
--- a/src/mame/drivers/cardline.c
+++ b/src/mame/drivers/cardline.c
@@ -48,7 +48,7 @@ public:
-#define DRAW_TILE(machine, offset, transparency) (machine).gfx[0]->transpen(bitmap,cliprect,\
+#define DRAW_TILE(machine, offset, transparency) m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,\
(m_videoram[index+offset] | (m_colorram[index+offset]<<8))&0x3fff,\
(m_colorram[index+offset]&0x80)>>7,\
0,0,\
@@ -230,7 +230,7 @@ static MACHINE_CONFIG_START( cardline, cardline_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cardline_state, screen_update_cardline)
- MCFG_GFXDECODE(cardline)
+ MCFG_GFXDECODE_ADD("gfxdecode", cardline)
MCFG_PALETTE_LENGTH(512)
MCFG_DEFAULT_LAYOUT(layout_cardline)
diff --git a/src/mame/drivers/carjmbre.c b/src/mame/drivers/carjmbre.c
index 7022d920422..719b012341e 100644
--- a/src/mame/drivers/carjmbre.c
+++ b/src/mame/drivers/carjmbre.c
@@ -215,7 +215,7 @@ static MACHINE_CONFIG_START( carjmbre, carjmbre_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(carjmbre_state, screen_update_carjmbre)
- MCFG_GFXDECODE(carjmbre)
+ MCFG_GFXDECODE_ADD("gfxdecode", carjmbre)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/carpolo.c b/src/mame/drivers/carpolo.c
index dae2f2b7585..a9a5d3cbd6b 100644
--- a/src/mame/drivers/carpolo.c
+++ b/src/mame/drivers/carpolo.c
@@ -292,7 +292,7 @@ static MACHINE_CONFIG_START( carpolo, carpolo_state )
MCFG_SCREEN_UPDATE_DRIVER(carpolo_state, screen_update_carpolo)
MCFG_SCREEN_VBLANK_DRIVER(carpolo_state, screen_eof_carpolo)
- MCFG_GFXDECODE(carpolo)
+ MCFG_GFXDECODE_ADD("gfxdecode", carpolo)
MCFG_PALETTE_LENGTH(12*2+2*16+4*2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index a6149b8996a..51ff2944b0a 100644
--- a/src/mame/drivers/carrera.c
+++ b/src/mame/drivers/carrera.c
@@ -261,7 +261,7 @@ UINT32 carrera_state::screen_update_carrera(screen_device &screen, bitmap_ind16
{
int tile = m_tileram[count&0x7ff] | m_tileram[(count&0x7ff)+0x800]<<8;
- machine().gfx[0]->opaque(bitmap,cliprect,tile,0,0,0,x*8,y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,tile,0,0,0,x*8,y*8);
count++;
}
}
@@ -344,7 +344,7 @@ static MACHINE_CONFIG_START( carrera, carrera_state )
MCFG_MC6845_ADD("crtc", MC6845, "screen", MASTER_CLOCK / 16, mc6845_intf)
- MCFG_GFXDECODE(carrera)
+ MCFG_GFXDECODE_ADD("gfxdecode", carrera)
MCFG_PALETTE_LENGTH(32)
/* sound hardware */
diff --git a/src/mame/drivers/caswin.c b/src/mame/drivers/caswin.c
index 10dd1b18e31..69778ac7d73 100644
--- a/src/mame/drivers/caswin.c
+++ b/src/mame/drivers/caswin.c
@@ -104,7 +104,7 @@ TILE_GET_INFO_MEMBER(caswin_state::get_sc0_tile_info)
int tile = (m_sc0_vram[tile_index] | ((m_sc0_attr[tile_index] & 0x70)<<4)) & 0x7ff;
int colour = m_sc0_attr[tile_index] & 0xf;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
colour,
@@ -343,7 +343,7 @@ static MACHINE_CONFIG_START( vvillage, caswin_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_GFXDECODE(vvillage)
+ MCFG_GFXDECODE_ADD("gfxdecode", vvillage)
MCFG_PALETTE_LENGTH(0x40)
diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c
index 9ca4e9fd96e..09e02494b0e 100644
--- a/src/mame/drivers/cave.c
+++ b/src/mame/drivers/cave.c
@@ -2005,7 +2005,7 @@ static MACHINE_CONFIG_START( dfeveron, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(dfeveron)
+ MCFG_GFXDECODE_ADD("gfxdecode", dfeveron)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OVERRIDE(cave_state,dfeveron)
@@ -2047,7 +2047,7 @@ static MACHINE_CONFIG_START( ddonpach, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(ddonpach)
+ MCFG_GFXDECODE_ADD("gfxdecode", ddonpach)
MCFG_PALETTE_LENGTH(0x8000 + 0x40*16) // $400 extra entries for layers 1&2
MCFG_PALETTE_INIT_OVERRIDE(cave_state,ddonpach)
@@ -2093,7 +2093,7 @@ static MACHINE_CONFIG_START( donpachi, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(donpachi)
+ MCFG_GFXDECODE_ADD("gfxdecode", donpachi)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OVERRIDE(cave_state,dfeveron)
@@ -2139,7 +2139,7 @@ static MACHINE_CONFIG_START( esprade, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(esprade)
+ MCFG_GFXDECODE_ADD("gfxdecode", esprade)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
@@ -2179,7 +2179,7 @@ static MACHINE_CONFIG_START( gaia, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(esprade)
+ MCFG_GFXDECODE_ADD("gfxdecode", esprade)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
@@ -2220,7 +2220,7 @@ static MACHINE_CONFIG_START( guwange, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(esprade)
+ MCFG_GFXDECODE_ADD("gfxdecode", esprade)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
@@ -2264,7 +2264,7 @@ static MACHINE_CONFIG_START( hotdogst, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(hotdogst)
+ MCFG_GFXDECODE_ADD("gfxdecode", hotdogst)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OVERRIDE(cave_state,dfeveron)
@@ -2317,7 +2317,7 @@ static MACHINE_CONFIG_START( korokoro, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1-2, 0, 240-1-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(korokoro)
+ MCFG_GFXDECODE_ADD("gfxdecode", korokoro)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OVERRIDE(cave_state,korokoro)
@@ -2371,7 +2371,7 @@ static MACHINE_CONFIG_START( mazinger, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(mazinger)
+ MCFG_GFXDECODE_ADD("gfxdecode", mazinger)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OVERRIDE(cave_state,mazinger)
@@ -2430,7 +2430,7 @@ static MACHINE_CONFIG_START( metmqstr, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0x7d, 0x7d + 0x180-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(donpachi)
+ MCFG_GFXDECODE_ADD("gfxdecode", donpachi)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OVERRIDE(cave_state,dfeveron)
@@ -2487,7 +2487,7 @@ static MACHINE_CONFIG_START( pacslot, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0x80, 0x80 + 0x140-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(tjumpman)
+ MCFG_GFXDECODE_ADD("gfxdecode", tjumpman)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
@@ -2556,7 +2556,7 @@ static MACHINE_CONFIG_START( ppsatan, cave_state )
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_ppsatan_right)
MCFG_TIMER_DRIVER_ADD("int_timer_right", cave_state, cave_vblank_start_right)
- MCFG_GFXDECODE(ppsatan)
+ MCFG_GFXDECODE_ADD("gfxdecode", ppsatan)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(cave_state,ppsatan)
MCFG_DEFAULT_LAYOUT(layout_ppsatan)
@@ -2608,7 +2608,7 @@ static MACHINE_CONFIG_START( pwrinst2, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0x70, 0x70 + 0x140-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(pwrinst2)
+ MCFG_GFXDECODE_ADD("gfxdecode", pwrinst2)
MCFG_PALETTE_LENGTH(0x8000+0x2800)
MCFG_PALETTE_INIT_OVERRIDE(cave_state,pwrinst2)
@@ -2672,7 +2672,7 @@ static MACHINE_CONFIG_START( sailormn, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0+1, 320+1-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(sailormn)
+ MCFG_GFXDECODE_ADD("gfxdecode", sailormn)
MCFG_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OVERRIDE(cave_state,sailormn) // 4 bit sprites, 6 bit tiles
@@ -2728,7 +2728,7 @@ static MACHINE_CONFIG_START( tjumpman, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0x80, 0x80 + 0x140-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(tjumpman)
+ MCFG_GFXDECODE_ADD("gfxdecode", tjumpman)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
@@ -2769,7 +2769,7 @@ static MACHINE_CONFIG_START( uopoko, cave_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(cave_state, screen_update_cave)
- MCFG_GFXDECODE(uopoko)
+ MCFG_GFXDECODE_ADD("gfxdecode", uopoko)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(cave_state,cave)
diff --git a/src/mame/drivers/cb2001.c b/src/mame/drivers/cb2001.c
index fc41ba3a932..1d50f22fcf1 100644
--- a/src/mame/drivers/cb2001.c
+++ b/src/mame/drivers/cb2001.c
@@ -359,7 +359,7 @@ UINT32 cb2001_state::screen_update_cb2001(screen_device &screen, bitmap_rgb32 &b
tile += m_videobank*0x2000;
- machine().gfx[0]->opaque(bitmap,cliprect,tile,colour,0,0,x*8,y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,tile,colour,0,0,x*8,y*8);
count++;
}
@@ -425,7 +425,7 @@ UINT32 cb2001_state::screen_update_cb2001(screen_device &screen, bitmap_rgb32 &b
tile += 0x1000;
}
- machine().gfx[0]->transpen(bitmap,cliprect,tile,colour,0,0,x*8,y*8,0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,tile,colour,0,0,x*8,y*8,0);
count++;
}
}
@@ -475,7 +475,7 @@ TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel1_tile_info)
int colour = 0;//= (cb2001_out_c&0x7) + 8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code+0x800,
colour,
@@ -493,7 +493,7 @@ TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel2_tile_info)
int colour = 0;//(cb2001_out_c&0x7) + 8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code+0x800,
colour,
@@ -511,7 +511,7 @@ TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel3_tile_info)
code &=0xff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code+0x800,
colour,
@@ -842,7 +842,7 @@ static MACHINE_CONFIG_START( cb2001, cb2001_state )
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
- MCFG_GFXDECODE(cb2001)
+ MCFG_GFXDECODE_ADD("gfxdecode", cb2001)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/cball.c b/src/mame/drivers/cball.c
index aea9485178b..08a7c61ccad 100644
--- a/src/mame/drivers/cball.c
+++ b/src/mame/drivers/cball.c
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(cball_state::get_tile_info)
{
UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, code >> 7, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, code >> 7, 0);
}
@@ -73,7 +73,7 @@ UINT32 cball_state::screen_update_cball(screen_device &screen, bitmap_ind16 &bit
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
/* draw sprite */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_video_ram[0x399] >> 4,
0,
0, 0,
@@ -258,7 +258,7 @@ static MACHINE_CONFIG_START( cball, cball_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 223)
MCFG_SCREEN_UPDATE_DRIVER(cball_state, screen_update_cball)
- MCFG_GFXDECODE(cball)
+ MCFG_GFXDECODE_ADD("gfxdecode", cball)
MCFG_PALETTE_LENGTH(6)
diff --git a/src/mame/drivers/cbasebal.c b/src/mame/drivers/cbasebal.c
index f9afd786d49..290ced11fb1 100644
--- a/src/mame/drivers/cbasebal.c
+++ b/src/mame/drivers/cbasebal.c
@@ -270,7 +270,7 @@ static MACHINE_CONFIG_START( cbasebal, cbasebal_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cbasebal_state, screen_update_cbasebal)
- MCFG_GFXDECODE(cbasebal)
+ MCFG_GFXDECODE_ADD("gfxdecode", cbasebal)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/cbuster.c b/src/mame/drivers/cbuster.c
index 2df2be78651..64d902023a6 100644
--- a/src/mame/drivers/cbuster.c
+++ b/src/mame/drivers/cbuster.c
@@ -316,14 +316,18 @@ static MACHINE_CONFIG_START( twocrude, cbuster_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cbuster_state, screen_update_twocrude)
- MCFG_GFXDECODE(cbuster)
+ MCFG_GFXDECODE_ADD("gfxdecode", cbuster)
MCFG_PALETTE_LENGTH(2048)
MCFG_DECO16IC_ADD("tilegen1", twocrude_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", twocrude_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c
index 49e4f70e50f..0a3f9b5c875 100644
--- a/src/mame/drivers/ccastles.c
+++ b/src/mame/drivers/ccastles.c
@@ -475,7 +475,7 @@ static MACHINE_CONFIG_START( ccastles, ccastles_state )
MCFG_X2212_ADD_AUTOSAVE("nvram_4a")
/* video hardware */
- MCFG_GFXDECODE(ccastles)
+ MCFG_GFXDECODE_ADD("gfxdecode", ccastles)
MCFG_PALETTE_LENGTH(32)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/cchance.c b/src/mame/drivers/cchance.c
index bd60f69cb95..b0b253d6e6f 100644
--- a/src/mame/drivers/cchance.c
+++ b/src/mame/drivers/cchance.c
@@ -218,9 +218,10 @@ static MACHINE_CONFIG_START( cchance, cchance_state )
MCFG_MACHINE_START_OVERRIDE(cchance_state,cchance)
MCFG_MACHINE_RESET_OVERRIDE(cchance_state,cchance)
- MCFG_GFXDECODE(cchance)
+ MCFG_GFXDECODE_ADD("gfxdecode", cchance)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/cclimber.c b/src/mame/drivers/cclimber.c
index c8e03d2c99e..457acaa971f 100644
--- a/src/mame/drivers/cclimber.c
+++ b/src/mame/drivers/cclimber.c
@@ -995,7 +995,7 @@ static MACHINE_CONFIG_START( root, cclimber_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cclimber_state, screen_update_cclimber)
- MCFG_GFXDECODE(cclimber)
+ MCFG_GFXDECODE_ADD("gfxdecode", cclimber)
MCFG_PALETTE_LENGTH(16*4+8*4)
MCFG_PALETTE_INIT_OVERRIDE(cclimber_state,cclimber)
@@ -1024,7 +1024,7 @@ static MACHINE_CONFIG_DERIVED( cannonb, cclimber )
MCFG_CPU_PROGRAM_MAP(cannonb_map)
/* video hardware */
- MCFG_GFXDECODE(cannonb)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", cannonb)
MACHINE_CONFIG_END
@@ -1063,7 +1063,7 @@ static MACHINE_CONFIG_DERIVED( toprollr, cclimber )
MCFG_CPU_PROGRAM_MAP(toprollr_map)
/* video hardware */
- MCFG_GFXDECODE(toprollr)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", toprollr)
MCFG_PALETTE_LENGTH(32*5)
MCFG_PALETTE_INIT_OVERRIDE(cclimber_state,toprollr)
@@ -1093,7 +1093,7 @@ static MACHINE_CONFIG_START( swimmer, cclimber_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cclimber_state, screen_update_swimmer)
- MCFG_GFXDECODE(swimmer)
+ MCFG_GFXDECODE_ADD("gfxdecode", swimmer)
MCFG_PALETTE_LENGTH(32*8+4*8+1)
MCFG_PALETTE_INIT_OVERRIDE(cclimber_state,swimmer)
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index 854dd708350..fcbd9f15269 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -1751,7 +1751,7 @@ static MACHINE_CONFIG_START( centiped_base, centiped_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(centiped_state, screen_update_centiped)
- MCFG_GFXDECODE(centiped)
+ MCFG_GFXDECODE_ADD("gfxdecode", centiped)
MCFG_PALETTE_LENGTH(4+4*4*4*4)
MCFG_VIDEO_START_OVERRIDE(centiped_state,centiped)
@@ -1824,7 +1824,7 @@ static MACHINE_CONFIG_DERIVED( milliped, centiped )
MCFG_CPU_PROGRAM_MAP(milliped_map)
/* video hardware */
- MCFG_GFXDECODE(milliped)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", milliped)
MCFG_PALETTE_LENGTH(4*4+4*4*4*4*4)
MCFG_VIDEO_START_OVERRIDE(centiped_state,milliped)
@@ -1860,7 +1860,7 @@ static MACHINE_CONFIG_DERIVED( warlords, centiped )
MCFG_CPU_PROGRAM_MAP(warlords_map)
/* video hardware */
- MCFG_GFXDECODE(warlords)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", warlords)
MCFG_PALETTE_LENGTH(8*4+8*4)
MCFG_PALETTE_INIT_OVERRIDE(centiped_state,warlords)
@@ -1901,7 +1901,7 @@ static MACHINE_CONFIG_START( bullsdrt, centiped_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(centiped_state, screen_update_bullsdrt)
- MCFG_GFXDECODE(centiped)
+ MCFG_GFXDECODE_ADD("gfxdecode", centiped)
MCFG_PALETTE_LENGTH(4+4*4*4*4)
MCFG_VIDEO_START_OVERRIDE(centiped_state,bullsdrt)
diff --git a/src/mame/drivers/chaknpop.c b/src/mame/drivers/chaknpop.c
index 918cfa3e3f2..a99d164db39 100644
--- a/src/mame/drivers/chaknpop.c
+++ b/src/mame/drivers/chaknpop.c
@@ -385,7 +385,7 @@ static MACHINE_CONFIG_START( chaknpop, chaknpop_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(chaknpop_state, screen_update_chaknpop)
- MCFG_GFXDECODE(chaknpop)
+ MCFG_GFXDECODE_ADD("gfxdecode", chaknpop)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/cham24.c b/src/mame/drivers/cham24.c
index 0500e232fe0..eaaf4304896 100644
--- a/src/mame/drivers/cham24.c
+++ b/src/mame/drivers/cham24.c
@@ -357,7 +357,7 @@ static MACHINE_CONFIG_START( cham24, cham24_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cham24_state, screen_update_cham24)
- MCFG_GFXDECODE(cham24)
+ MCFG_GFXDECODE_ADD("gfxdecode", cham24)
MCFG_PALETTE_LENGTH(8*4*16)
diff --git a/src/mame/drivers/champbas.c b/src/mame/drivers/champbas.c
index 832940f0b5e..4d0a3a18c2c 100644
--- a/src/mame/drivers/champbas.c
+++ b/src/mame/drivers/champbas.c
@@ -620,7 +620,7 @@ static MACHINE_CONFIG_START( talbot, champbas_state )
MCFG_SCREEN_UPDATE_DRIVER(champbas_state, screen_update_champbas)
MCFG_SCREEN_VBLANK_DRIVER(champbas_state, screen_eof_champbas)
- MCFG_GFXDECODE(talbot)
+ MCFG_GFXDECODE_ADD("gfxdecode", talbot)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(champbas_state,champbas)
@@ -655,7 +655,7 @@ static MACHINE_CONFIG_START( champbas, champbas_state )
MCFG_SCREEN_UPDATE_DRIVER(champbas_state, screen_update_champbas)
MCFG_SCREEN_VBLANK_DRIVER(champbas_state, screen_eof_champbas)
- MCFG_GFXDECODE(champbas)
+ MCFG_GFXDECODE_ADD("gfxdecode", champbas)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(champbas_state,champbas)
@@ -712,7 +712,7 @@ static MACHINE_CONFIG_START( exctsccr, champbas_state )
MCFG_SCREEN_UPDATE_DRIVER(champbas_state, screen_update_exctsccr)
MCFG_SCREEN_VBLANK_DRIVER(champbas_state, screen_eof_champbas)
- MCFG_GFXDECODE(exctsccr)
+ MCFG_GFXDECODE_ADD("gfxdecode", exctsccr)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(champbas_state,exctsccr)
@@ -763,7 +763,7 @@ static MACHINE_CONFIG_START( exctsccrb, champbas_state )
MCFG_SCREEN_UPDATE_DRIVER(champbas_state, screen_update_exctsccr)
MCFG_SCREEN_VBLANK_DRIVER(champbas_state, screen_eof_champbas)
- MCFG_GFXDECODE(exctsccr)
+ MCFG_GFXDECODE_ADD("gfxdecode", exctsccr)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(champbas_state,exctsccr)
diff --git a/src/mame/drivers/champbwl.c b/src/mame/drivers/champbwl.c
index f5e4aaf7434..7a237f7ece1 100644
--- a/src/mame/drivers/champbwl.c
+++ b/src/mame/drivers/champbwl.c
@@ -486,6 +486,7 @@ static MACHINE_CONFIG_START( champbwl, champbwl_state )
MCFG_MACHINE_RESET_OVERRIDE(champbwl_state,champbwl)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -496,7 +497,7 @@ static MACHINE_CONFIG_START( champbwl, champbwl_state )
MCFG_SCREEN_UPDATE_DRIVER(champbwl_state, screen_update_champbwl)
MCFG_SCREEN_VBLANK_DRIVER(champbwl_state, screen_eof_champbwl)
- MCFG_GFXDECODE(champbwl)
+ MCFG_GFXDECODE_ADD("gfxdecode", champbwl)
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT_OVERRIDE(champbwl_state,arknoid2)
@@ -546,6 +547,7 @@ static MACHINE_CONFIG_START( doraemon, champbwl_state )
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(2000), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW )
MCFG_MACHINE_START_OVERRIDE(champbwl_state,doraemon)
@@ -559,7 +561,7 @@ static MACHINE_CONFIG_START( doraemon, champbwl_state )
MCFG_SCREEN_UPDATE_DRIVER(champbwl_state, screen_update_doraemon)
MCFG_SCREEN_VBLANK_DRIVER(champbwl_state, screen_eof_doraemon)
- MCFG_GFXDECODE(champbwl)
+ MCFG_GFXDECODE_ADD("gfxdecode", champbwl)
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT_OVERRIDE(champbwl_state,arknoid2)
diff --git a/src/mame/drivers/chanbara.c b/src/mame/drivers/chanbara.c
index abe24320a1a..ba037107ab6 100644
--- a/src/mame/drivers/chanbara.c
+++ b/src/mame/drivers/chanbara.c
@@ -144,7 +144,7 @@ TILE_GET_INFO_MEMBER(chanbara_state::get_bg_tile_info)
int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 1) << 8);
int color = (m_colorram[tile_index] >> 1) & 0x1f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(chanbara_state::get_bg2_tile_info)
@@ -152,7 +152,7 @@ TILE_GET_INFO_MEMBER(chanbara_state::get_bg2_tile_info)
int code = m_videoram2[tile_index];
int color = (m_colorram2[tile_index] >> 1) & 0x1f;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
void chanbara_state::video_start()
@@ -188,18 +188,18 @@ void chanbara_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
{
if (!flipy)
{
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy-16, 0);
- machine().gfx[1]->transpen(bitmap,cliprect, code+1, color, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy-16, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code+1, color, flipx, flipy, sx, sy, 0);
}
else
{
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
- machine().gfx[1]->transpen(bitmap,cliprect, code+1, color, flipx, flipy, sx, sy-16, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code+1, color, flipx, flipy, sx, sy-16, 0);
}
}
else
{
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
}
}
}
@@ -406,7 +406,7 @@ static MACHINE_CONFIG_START( chanbara, chanbara_state )
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(chanbara_state, screen_update_chanbara)
- MCFG_GFXDECODE(chanbara)
+ MCFG_GFXDECODE_ADD("gfxdecode", chanbara)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/chance32.c b/src/mame/drivers/chance32.c
index 9ee9111b36b..425ffc29a71 100644
--- a/src/mame/drivers/chance32.c
+++ b/src/mame/drivers/chance32.c
@@ -70,7 +70,7 @@ TILE_GET_INFO_MEMBER(chance32_state::get_fg_tile_info)
{
int code = (m_fgram[tile_index * 2 + 1] << 8) | m_fgram[tile_index * 2];
int flip = (~code >> 12)&1;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0x0fff,
code >> 13,
@@ -81,7 +81,7 @@ TILE_GET_INFO_MEMBER(chance32_state::get_bg_tile_info)
{
int code = (m_bgram[tile_index * 2 +1] << 8) | m_bgram[tile_index * 2];
int flip = (~code >> 12)&1;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0x0fff,
code >> 13,
@@ -476,7 +476,7 @@ static MACHINE_CONFIG_START( chance32, chance32_state )
MCFG_MC6845_ADD("crtc", H46505, "screen", 12000000/16, mc6845_intf) /* 52.786 Hz (similar to Major Poker) */
- MCFG_GFXDECODE(chance32)
+ MCFG_GFXDECODE_ADD("gfxdecode", chance32)
MCFG_PALETTE_LENGTH(0x800)
diff --git a/src/mame/drivers/cheekyms.c b/src/mame/drivers/cheekyms.c
index 48802238c75..b1b4cd8fe41 100644
--- a/src/mame/drivers/cheekyms.c
+++ b/src/mame/drivers/cheekyms.c
@@ -135,7 +135,7 @@ static MACHINE_CONFIG_START( cheekyms, cheekyms_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cheekyms_state, screen_update_cheekyms)
- MCFG_GFXDECODE(cheekyms)
+ MCFG_GFXDECODE_ADD("gfxdecode", cheekyms)
MCFG_PALETTE_LENGTH(0xc0)
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index 0dc109c94bc..91fcbe5ddeb 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -587,7 +587,7 @@ static MACHINE_CONFIG_START( chinagat, chinagat_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240) /* based on ddragon driver */
MCFG_SCREEN_UPDATE_DRIVER(chinagat_state, screen_update_ddragon)
- MCFG_GFXDECODE(chinagat)
+ MCFG_GFXDECODE_ADD("gfxdecode", chinagat)
MCFG_PALETTE_LENGTH(384)
MCFG_VIDEO_START_OVERRIDE(chinagat_state,chinagat)
@@ -631,7 +631,7 @@ static MACHINE_CONFIG_START( saiyugoub1, chinagat_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240) /* based on ddragon driver */
MCFG_SCREEN_UPDATE_DRIVER(chinagat_state, screen_update_ddragon)
- MCFG_GFXDECODE(chinagat)
+ MCFG_GFXDECODE_ADD("gfxdecode", chinagat)
MCFG_PALETTE_LENGTH(384)
MCFG_VIDEO_START_OVERRIDE(chinagat_state,chinagat)
@@ -672,7 +672,7 @@ static MACHINE_CONFIG_START( saiyugoub2, chinagat_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 0, 240) /* based on ddragon driver */
MCFG_SCREEN_UPDATE_DRIVER(chinagat_state, screen_update_ddragon)
- MCFG_GFXDECODE(chinagat)
+ MCFG_GFXDECODE_ADD("gfxdecode", chinagat)
MCFG_PALETTE_LENGTH(384)
MCFG_VIDEO_START_OVERRIDE(chinagat_state,chinagat)
diff --git a/src/mame/drivers/chinsan.c b/src/mame/drivers/chinsan.c
index d4caa396c6d..42ef25ea64a 100644
--- a/src/mame/drivers/chinsan.c
+++ b/src/mame/drivers/chinsan.c
@@ -114,7 +114,7 @@ UINT32 chinsan_state::screen_update_chinsan(screen_device &screen, bitmap_ind16
int tileno, colour;
tileno = m_video[count] | (m_video[count + 0x800] << 8);
colour = m_video[count + 0x1000] >> 3;
- machine().gfx[0]->opaque(bitmap,cliprect,tileno,colour,0,0,x*8,y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,tileno,colour,0,0,x*8,y*8);
count++;
}
}
@@ -610,7 +610,7 @@ static MACHINE_CONFIG_START( chinsan, chinsan_state )
MCFG_SCREEN_VISIBLE_AREA(24, 512-24-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(chinsan_state, screen_update_chinsan)
- MCFG_GFXDECODE(chinsan)
+ MCFG_GFXDECODE_ADD("gfxdecode", chinsan)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c
index c144e364083..610ecc05166 100644
--- a/src/mame/drivers/chqflag.c
+++ b/src/mame/drivers/chqflag.c
@@ -350,10 +350,13 @@ static MACHINE_CONFIG_START( chqflag, chqflag_state )
MCFG_PALETTE_LENGTH(1024)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K051960_ADD("k051960", chqflag_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
MCFG_K051316_ADD("k051316_1", chqflag_k051316_intf_1)
+ MCFG_K051316_GFXDECODE("gfxdecode")
MCFG_K051316_ADD("k051316_2", chqflag_k051316_intf_2)
+ MCFG_K051316_GFXDECODE("gfxdecode")
MCFG_K051733_ADD("k051733")
/* sound hardware */
diff --git a/src/mame/drivers/chsuper.c b/src/mame/drivers/chsuper.c
index ef0972c29e2..0162423dd4d 100644
--- a/src/mame/drivers/chsuper.c
+++ b/src/mame/drivers/chsuper.c
@@ -59,7 +59,7 @@ void chsuper_state::video_start()
UINT32 chsuper_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0x0000;
int y,x;
@@ -215,7 +215,7 @@ static MACHINE_CONFIG_START( chsuper, chsuper_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_GFXDECODE(chsuper)
+ MCFG_GFXDECODE_ADD("gfxdecode", chsuper)
MCFG_PALETTE_LENGTH(0x100)
MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map)
diff --git a/src/mame/drivers/circus.c b/src/mame/drivers/circus.c
index 56beae39505..f188705545f 100644
--- a/src/mame/drivers/circus.c
+++ b/src/mame/drivers/circus.c
@@ -292,7 +292,7 @@ static MACHINE_CONFIG_START( circus, circus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 31*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(circus_state, screen_update_circus)
- MCFG_GFXDECODE(circus)
+ MCFG_GFXDECODE_ADD("gfxdecode", circus)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
@@ -325,7 +325,7 @@ static MACHINE_CONFIG_START( robotbwl, circus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 31*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(circus_state, screen_update_robotbwl)
- MCFG_GFXDECODE(robotbwl)
+ MCFG_GFXDECODE_ADD("gfxdecode", robotbwl)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
@@ -365,7 +365,7 @@ static MACHINE_CONFIG_START( crash, circus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 31*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(circus_state, screen_update_crash)
- MCFG_GFXDECODE(circus)
+ MCFG_GFXDECODE_ADD("gfxdecode", circus)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
@@ -397,7 +397,7 @@ static MACHINE_CONFIG_START( ripcord, circus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 31*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(circus_state, screen_update_ripcord)
- MCFG_GFXDECODE(circus)
+ MCFG_GFXDECODE_ADD("gfxdecode", circus)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mame/drivers/circusc.c b/src/mame/drivers/circusc.c
index e289a24cc29..f1c0c0318a2 100644
--- a/src/mame/drivers/circusc.c
+++ b/src/mame/drivers/circusc.c
@@ -347,7 +347,7 @@ static MACHINE_CONFIG_START( circusc, circusc_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(circusc_state, screen_update_circusc)
- MCFG_GFXDECODE(circusc)
+ MCFG_GFXDECODE_ADD("gfxdecode", circusc)
MCFG_PALETTE_LENGTH(16*16+16*16)
diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c
index abac697e226..715ca8eac82 100644
--- a/src/mame/drivers/cischeat.c
+++ b/src/mame/drivers/cischeat.c
@@ -1578,7 +1578,7 @@ static MACHINE_CONFIG_START( bigrun, cischeat_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(cischeat_state, screen_update_bigrun)
- MCFG_GFXDECODE(bigrun)
+ MCFG_GFXDECODE_ADD("gfxdecode", bigrun)
MCFG_PALETTE_LENGTH(16*16 * 3 + 64*16 * 2 + 64*16) /* scroll 0,1,2; road 0,1; sprites */
MCFG_VIDEO_START_OVERRIDE(cischeat_state,bigrun)
@@ -1620,7 +1620,7 @@ static MACHINE_CONFIG_DERIVED( cischeat, bigrun )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-8-1)
MCFG_SCREEN_UPDATE_DRIVER(cischeat_state, screen_update_cischeat)
- MCFG_GFXDECODE(cischeat)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", cischeat)
MCFG_PALETTE_LENGTH(32*16 * 3 + 64*16 * 2 + 128*16) /* scroll 0,1,2; road 0,1; sprites */
MCFG_VIDEO_START_OVERRIDE(cischeat_state,cischeat)
@@ -1646,7 +1646,7 @@ static MACHINE_CONFIG_DERIVED( f1gpstar, bigrun )
MCFG_CPU_PROGRAM_MAP(f1gpstar_sound_map)
/* video hardware */
- MCFG_GFXDECODE(f1gpstar)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", f1gpstar)
MCFG_PALETTE_LENGTH(16*16 * 3 + 64*16 * 2 + 128*16) /* scroll 0,1,2; road 0,1; sprites */
MCFG_VIDEO_START_OVERRIDE(cischeat_state,f1gpstar)
@@ -1711,7 +1711,7 @@ static MACHINE_CONFIG_START( scudhamm, cischeat_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0 +16, 256-1 -16)
MCFG_SCREEN_UPDATE_DRIVER(cischeat_state, screen_update_scudhamm)
- MCFG_GFXDECODE(scudhamm)
+ MCFG_GFXDECODE_ADD("gfxdecode", scudhamm)
MCFG_PALETTE_LENGTH(16*16+16*16+128*16)
MCFG_VIDEO_START_OVERRIDE(cischeat_state,f1gpstar)
diff --git a/src/mame/drivers/citycon.c b/src/mame/drivers/citycon.c
index 3c2db4da377..2f29224133b 100644
--- a/src/mame/drivers/citycon.c
+++ b/src/mame/drivers/citycon.c
@@ -214,7 +214,7 @@ static MACHINE_CONFIG_START( citycon, citycon_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(citycon_state, screen_update_citycon)
- MCFG_GFXDECODE(citycon)
+ MCFG_GFXDECODE_ADD("gfxdecode", citycon)
MCFG_PALETTE_LENGTH(640+1024) /* 640 real palette + 1024 virtual palette */
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black) /* guess */
diff --git a/src/mame/drivers/cloak.c b/src/mame/drivers/cloak.c
index 1e555ee98e9..75bae88c2b5 100644
--- a/src/mame/drivers/cloak.c
+++ b/src/mame/drivers/cloak.c
@@ -351,7 +351,7 @@ static MACHINE_CONFIG_START( cloak, cloak_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cloak_state, screen_update_cloak)
- MCFG_GFXDECODE(cloak)
+ MCFG_GFXDECODE_ADD("gfxdecode", cloak)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c
index af1e1ebc78e..297ca95eda0 100644
--- a/src/mame/drivers/cloud9.c
+++ b/src/mame/drivers/cloud9.c
@@ -425,7 +425,7 @@ static MACHINE_CONFIG_START( cloud9, cloud9_state )
MCFG_X2212_ADD_AUTOSAVE("nvram")
/* video hardware */
- MCFG_GFXDECODE(cloud9)
+ MCFG_GFXDECODE_ADD("gfxdecode", cloud9)
MCFG_PALETTE_LENGTH(64)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/clshroad.c b/src/mame/drivers/clshroad.c
index 221b79babd5..ebc6cd92d57 100644
--- a/src/mame/drivers/clshroad.c
+++ b/src/mame/drivers/clshroad.c
@@ -246,7 +246,7 @@ static MACHINE_CONFIG_START( firebatl, clshroad_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x120-1, 0x0+16, 0x100-16-1)
MCFG_SCREEN_UPDATE_DRIVER(clshroad_state, screen_update_clshroad)
- MCFG_GFXDECODE(firebatl)
+ MCFG_GFXDECODE_ADD("gfxdecode", firebatl)
MCFG_PALETTE_LENGTH(512+64*4)
MCFG_PALETTE_INIT_OVERRIDE(clshroad_state,firebatl)
@@ -279,7 +279,7 @@ static MACHINE_CONFIG_START( clshroad, clshroad_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x120-1, 0x0+16, 0x100-16-1)
MCFG_SCREEN_UPDATE_DRIVER(clshroad_state, screen_update_clshroad)
- MCFG_GFXDECODE(clshroad)
+ MCFG_GFXDECODE_ADD("gfxdecode", clshroad)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(clshroad_state,clshroad)
diff --git a/src/mame/drivers/cmmb.c b/src/mame/drivers/cmmb.c
index c225b08c01d..478d42d0e97 100644
--- a/src/mame/drivers/cmmb.c
+++ b/src/mame/drivers/cmmb.c
@@ -84,7 +84,7 @@ void cmmb_state::video_start()
UINT32 cmmb_state::screen_update_cmmb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
UINT8 *videoram = m_videoram;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0x00000;
int y,x;
@@ -120,8 +120,8 @@ WRITE8_MEMBER(cmmb_state::cmmb_charram_w)
offset&=0xfff;
/* dirty char */
- machine().gfx[0]->mark_dirty(offset >> 4);
- machine().gfx[1]->mark_dirty(offset >> 5);
+ m_gfxdecode->gfx(0)->mark_dirty(offset >> 4);
+ m_gfxdecode->gfx(1)->mark_dirty(offset >> 5);
}
@@ -332,7 +332,7 @@ static MACHINE_CONFIG_START( cmmb, cmmb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cmmb_state, screen_update_cmmb)
- MCFG_GFXDECODE(cmmb)
+ MCFG_GFXDECODE_ADD("gfxdecode", cmmb)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
diff --git a/src/mame/drivers/cninja.c b/src/mame/drivers/cninja.c
index 0c6091f77a8..5e5906e361c 100644
--- a/src/mame/drivers/cninja.c
+++ b/src/mame/drivers/cninja.c
@@ -948,7 +948,7 @@ static MACHINE_CONFIG_START( cninja, cninja_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_cninja)
- MCFG_GFXDECODE(cninja)
+ MCFG_GFXDECODE_ADD("gfxdecode", cninja)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -956,11 +956,15 @@ static MACHINE_CONFIG_START( cninja, cninja_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", cninja_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_pri_callback(*device, cninja_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO104_ADD("ioprot104")
MCFG_DECO146_SET_USE_MAGIC_ADDRESS_XOR
@@ -1005,7 +1009,7 @@ static MACHINE_CONFIG_START( stoneage, cninja_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_cninja)
- MCFG_GFXDECODE(cninja)
+ MCFG_GFXDECODE_ADD("gfxdecode", cninja)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(cninja_state,stoneage)
@@ -1015,11 +1019,15 @@ static MACHINE_CONFIG_START( stoneage, cninja_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", cninja_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_pri_callback(*device, cninja_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO104_ADD("ioprot104")
MCFG_DECO146_SET_USE_MAGIC_ADDRESS_XOR
@@ -1061,7 +1069,7 @@ static MACHINE_CONFIG_START( cninjabl, cninja_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_cninjabl)
- MCFG_GFXDECODE(cninjabl)
+ MCFG_GFXDECODE_ADD("gfxdecode", cninjabl)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1069,7 +1077,10 @@ static MACHINE_CONFIG_START( cninjabl, cninja_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", cninja_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1104,7 +1115,7 @@ static MACHINE_CONFIG_START( edrandy, cninja_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_edrandy)
- MCFG_GFXDECODE(cninja)
+ MCFG_GFXDECODE_ADD("gfxdecode", cninja)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1112,11 +1123,15 @@ static MACHINE_CONFIG_START( edrandy, cninja_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", edrandy_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", edrandy_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_pri_callback(*device, cninja_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO146_ADD("ioprot")
@@ -1160,7 +1175,7 @@ static MACHINE_CONFIG_START( robocop2, cninja_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_robocop2)
- MCFG_GFXDECODE(robocop2)
+ MCFG_GFXDECODE_ADD("gfxdecode", robocop2)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1168,11 +1183,15 @@ static MACHINE_CONFIG_START( robocop2, cninja_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", robocop2_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", robocop2_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_pri_callback(*device, cninja_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO146_ADD("ioprot")
MCFG_DECO146_SET_USE_MAGIC_ADDRESS_XOR
@@ -1221,7 +1240,7 @@ static MACHINE_CONFIG_START( mutantf, cninja_state )
MCFG_VIDEO_START_OVERRIDE(cninja_state,mutantf)
- MCFG_GFXDECODE(mutantf)
+ MCFG_GFXDECODE_ADD("gfxdecode", mutantf)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -1230,13 +1249,18 @@ static MACHINE_CONFIG_START( mutantf, cninja_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", mutantf_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", mutantf_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO146_ADD("ioprot")
diff --git a/src/mame/drivers/cntsteer.c b/src/mame/drivers/cntsteer.c
index 938a9a6c09a..07f49a76059 100644
--- a/src/mame/drivers/cntsteer.c
+++ b/src/mame/drivers/cntsteer.c
@@ -134,7 +134,7 @@ TILE_GET_INFO_MEMBER(cntsteer_state::get_bg_tile_info)
{
int code = m_videoram2[tile_index];
- SET_TILE_INFO_MEMBER(2, code + m_bg_bank, m_bg_color_bank, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code + m_bg_bank, m_bg_color_bank, 0);
}
TILE_GET_INFO_MEMBER(cntsteer_state::get_fg_tile_info)
@@ -144,7 +144,7 @@ TILE_GET_INFO_MEMBER(cntsteer_state::get_fg_tile_info)
code |= (attr & 0x01) << 8;
- SET_TILE_INFO_MEMBER(0, code, 0x30 + ((attr & 0x78) >> 3), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0x30 + ((attr & 0x78) >> 3), 0);
}
VIDEO_START_MEMBER(cntsteer_state,cntsteer)
@@ -214,17 +214,17 @@ void cntsteer_state::zerotrgt_draw_sprites( bitmap_ind16 &bitmap, const rectangl
{
if (fy)
{
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy, 0);
- machine().gfx[1]->transpen(bitmap,cliprect, code + 1, color, fx, fy, sx, sy - 16, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code + 1, color, fx, fy, sx, sy - 16, 0);
}
else
{
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy - 16, 0);
- machine().gfx[1]->transpen(bitmap,cliprect, code + 1, color, fx, fy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy - 16, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code + 1, color, fx, fy, sx, sy, 0);
}
}
else
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy, 0);
}
}
@@ -271,17 +271,17 @@ void cntsteer_state::cntsteer_draw_sprites( bitmap_ind16 &bitmap, const rectangl
{
if (fy)
{
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy, 0);
- machine().gfx[1]->transpen(bitmap,cliprect, code + 1, color, fx, fy, sx, sy - 16, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code + 1, color, fx, fy, sx, sy - 16, 0);
}
else
{
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy - 16, 0);
- machine().gfx[1]->transpen(bitmap,cliprect, code + 1, color, fx, fy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy - 16, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code + 1, color, fx, fy, sx, sy, 0);
}
}
else
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, fx, fy, sx, sy, 0);
}
}
@@ -901,7 +901,7 @@ static MACHINE_CONFIG_START( cntsteer, cntsteer_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- MCFG_GFXDECODE(cntsteer)
+ MCFG_GFXDECODE_ADD("gfxdecode", cntsteer)
MCFG_PALETTE_LENGTH(256)
// MCFG_PALETTE_INIT_OVERRIDE(cntsteer_state,zerotrgt)
@@ -948,7 +948,7 @@ static MACHINE_CONFIG_START( zerotrgt, cntsteer_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cntsteer_state, screen_update_zerotrgt)
- MCFG_GFXDECODE(zerotrgt)
+ MCFG_GFXDECODE_ADD("gfxdecode", zerotrgt)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(cntsteer_state,zerotrgt)
diff --git a/src/mame/drivers/cobra.c b/src/mame/drivers/cobra.c
index 38026fc56ea..e0c5b5902b6 100644
--- a/src/mame/drivers/cobra.c
+++ b/src/mame/drivers/cobra.c
@@ -3230,7 +3230,9 @@ static MACHINE_CONFIG_START( cobra, cobra_state )
MCFG_M48T58_ADD("m48t58")
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K001604_ADD("k001604", cobra_k001604_intf) // on the LAN board in Racing Jam DX
+ MCFG_K001604_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("cobra_jvs_host", COBRA_JVS_HOST, 4000000)
MCFG_JVS_DEVICE_ADD("cobra_jvs", COBRA_JVS, "cobra_jvs_host")
diff --git a/src/mame/drivers/coinmstr.c b/src/mame/drivers/coinmstr.c
index 88c44dd7518..6cfb88c42d8 100644
--- a/src/mame/drivers/coinmstr.c
+++ b/src/mame/drivers/coinmstr.c
@@ -1099,7 +1099,7 @@ TILE_GET_INFO_MEMBER(coinmstr_state::get_bg_tile_info)
tile |= (m_attr_ram3[tile_index + 0x0240] & 0x03) << (6+4);
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
}
void coinmstr_state::video_start()
@@ -1166,7 +1166,7 @@ static MACHINE_CONFIG_START( coinmstr, coinmstr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 46*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(coinmstr_state, screen_update_coinmstr)
- MCFG_GFXDECODE(coinmstr)
+ MCFG_GFXDECODE_ADD("gfxdecode", coinmstr)
MCFG_PALETTE_LENGTH(46*32*4)
diff --git a/src/mame/drivers/coinmvga.c b/src/mame/drivers/coinmvga.c
index 567bda4aa29..8b5711b4632 100644
--- a/src/mame/drivers/coinmvga.c
+++ b/src/mame/drivers/coinmvga.c
@@ -255,7 +255,7 @@ void coinmvga_state::video_start()
UINT32 coinmvga_state::screen_update_coinmvga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0x04000/2;
int y,x;
@@ -684,7 +684,7 @@ static MACHINE_CONFIG_START( coinmvga, coinmvga_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(coinmvga_state, screen_update_coinmvga)
- MCFG_GFXDECODE(coinmvga)
+ MCFG_GFXDECODE_ADD("gfxdecode", coinmvga)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/combatsc.c b/src/mame/drivers/combatsc.c
index 26d676f4f8f..1b9d16cebd4 100644
--- a/src/mame/drivers/combatsc.c
+++ b/src/mame/drivers/combatsc.c
@@ -730,7 +730,7 @@ static MACHINE_CONFIG_START( combatsc, combatsc_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(combatsc_state, screen_update_combatsc)
- MCFG_GFXDECODE(combatsc)
+ MCFG_GFXDECODE_ADD("gfxdecode", combatsc)
MCFG_PALETTE_LENGTH(8*16*16)
MCFG_PALETTE_INIT_OVERRIDE(combatsc_state,combatsc)
@@ -781,7 +781,7 @@ static MACHINE_CONFIG_START( combatscb, combatsc_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(combatsc_state, screen_update_combatscb)
- MCFG_GFXDECODE(combatscb)
+ MCFG_GFXDECODE_ADD("gfxdecode", combatscb)
MCFG_PALETTE_LENGTH(8*16*16)
MCFG_PALETTE_INIT_OVERRIDE(combatsc_state,combatscb)
diff --git a/src/mame/drivers/commando.c b/src/mame/drivers/commando.c
index 49752501449..5b3e47b8c4c 100644
--- a/src/mame/drivers/commando.c
+++ b/src/mame/drivers/commando.c
@@ -259,7 +259,7 @@ static MACHINE_CONFIG_START( commando, commando_state )
MCFG_SCREEN_UPDATE_DRIVER(commando_state, screen_update_commando)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(commando)
+ MCFG_GFXDECODE_ADD("gfxdecode", commando)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/compgolf.c b/src/mame/drivers/compgolf.c
index 767692c107b..cc99a351deb 100644
--- a/src/mame/drivers/compgolf.c
+++ b/src/mame/drivers/compgolf.c
@@ -256,7 +256,7 @@ static MACHINE_CONFIG_START( compgolf, compgolf_state )
MCFG_SCREEN_UPDATE_DRIVER(compgolf_state, screen_update_compgolf)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_GFXDECODE(compgolf)
+ MCFG_GFXDECODE_ADD("gfxdecode", compgolf)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/contra.c b/src/mame/drivers/contra.c
index 56f4184e2e0..85abddd6f4c 100644
--- a/src/mame/drivers/contra.c
+++ b/src/mame/drivers/contra.c
@@ -202,7 +202,7 @@ static MACHINE_CONFIG_START( contra, contra_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 35*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(contra_state, screen_update_contra)
- MCFG_GFXDECODE(contra)
+ MCFG_GFXDECODE_ADD("gfxdecode", contra)
MCFG_PALETTE_LENGTH(2*8*16*16)
diff --git a/src/mame/drivers/coolridr.c b/src/mame/drivers/coolridr.c
index 564bf22c832..6b1a4d5a822 100644
--- a/src/mame/drivers/coolridr.c
+++ b/src/mame/drivers/coolridr.c
@@ -546,7 +546,7 @@ void coolridr_state::video_start()
{
/* find first empty slot to decode gfx */
for (m_gfx_index = 0; m_gfx_index < MAX_GFX_ELEMENTS; m_gfx_index++)
- if (machine().gfx[m_gfx_index] == 0)
+ if (m_gfxdecode->gfx(m_gfx_index) == 0)
break;
m_screen->register_screen_bitmap(m_temp_bitmap_sprites);
@@ -559,7 +559,7 @@ void coolridr_state::video_start()
m_screen->register_screen_bitmap(m_screen1_bitmap);
m_screen->register_screen_bitmap(m_screen2_bitmap);
- machine().gfx[m_gfx_index] = auto_alloc(machine(), gfx_element(machine(), h1_tile_layout, m_h1_pcg, 8, 0));
+ m_gfxdecode->set_gfx(m_gfx_index, auto_alloc(machine(), gfx_element(machine(), h1_tile_layout, m_h1_pcg, 8, 0)));
}
/*
@@ -793,7 +793,7 @@ void coolridr_state::draw_bg_coolridr(bitmap_ind16 &bitmap, const rectangle &cli
int scrollx;
int scrolly;
UINT8 transpen_setting;
- gfx_element *gfx = machine().gfx[m_gfx_index];
+ gfx_element *gfx = m_gfxdecode->gfx(m_gfx_index);
#define VREG(_offs) \
m_framebuffer_vram[(0x9b80+_offs+which*0x40)/4]
@@ -2754,7 +2754,7 @@ void coolridr_state::sysh1_dma_transfer( address_space &space, UINT16 dma_index
for(int i=0;i<size;i++)
{
m_h1_pcg[dst] = space.read_byte(src);
- machine().gfx[m_gfx_index]->mark_dirty(dst/256);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty(dst/256);
dst++;
src++;
}
@@ -3599,7 +3599,7 @@ static MACHINE_CONFIG_START( coolridr, coolridr_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_GFXDECODE(coolridr)
+ MCFG_GFXDECODE_ADD("gfxdecode", coolridr)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/cop01.c b/src/mame/drivers/cop01.c
index 20535565b18..d32b643e1d7 100644
--- a/src/mame/drivers/cop01.c
+++ b/src/mame/drivers/cop01.c
@@ -462,7 +462,7 @@ static MACHINE_CONFIG_START( cop01, cop01_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cop01_state, screen_update_cop01)
- MCFG_GFXDECODE(cop01)
+ MCFG_GFXDECODE_ADD("gfxdecode", cop01)
MCFG_PALETTE_LENGTH(16+8*16+16*16)
@@ -500,7 +500,7 @@ static MACHINE_CONFIG_START( mightguy, cop01_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cop01_state, screen_update_cop01)
- MCFG_GFXDECODE(cop01)
+ MCFG_GFXDECODE_ADD("gfxdecode", cop01)
MCFG_PALETTE_LENGTH(16+8*16+16*16)
diff --git a/src/mame/drivers/copsnrob.c b/src/mame/drivers/copsnrob.c
index b5a63472ab0..8533bccf995 100644
--- a/src/mame/drivers/copsnrob.c
+++ b/src/mame/drivers/copsnrob.c
@@ -269,7 +269,7 @@ static MACHINE_CONFIG_START( copsnrob, copsnrob_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 26*8-1)
MCFG_SCREEN_UPDATE_DRIVER(copsnrob_state, screen_update_copsnrob)
- MCFG_GFXDECODE(copsnrob)
+ MCFG_GFXDECODE_ADD("gfxdecode", copsnrob)
MCFG_PALETTE_LENGTH(2)
/* sound hardware */
diff --git a/src/mame/drivers/cosmic.c b/src/mame/drivers/cosmic.c
index d87979bc86c..4bc6d2f9623 100644
--- a/src/mame/drivers/cosmic.c
+++ b/src/mame/drivers/cosmic.c
@@ -1026,7 +1026,7 @@ static MACHINE_CONFIG_DERIVED( panic, cosmic )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cosmic_state, panic_scanline, "screen", 0, 1)
/* video hardware */
- MCFG_GFXDECODE(panic)
+ MCFG_GFXDECODE_ADD("gfxdecode", panic)
MCFG_PALETTE_LENGTH(16+8*4)
MCFG_PALETTE_INIT_OVERRIDE(cosmic_state,panic)
@@ -1051,7 +1051,7 @@ static MACHINE_CONFIG_DERIVED( cosmica, cosmic )
MCFG_CPU_PROGRAM_MAP(cosmica_map)
/* video hardware */
- MCFG_GFXDECODE(cosmica)
+ MCFG_GFXDECODE_ADD("gfxdecode", cosmica)
MCFG_PALETTE_LENGTH(8+16*4)
MCFG_PALETTE_INIT_OVERRIDE(cosmic_state,cosmica)
@@ -1119,7 +1119,7 @@ static MACHINE_CONFIG_DERIVED( magspot, cosmic )
MCFG_CPU_PROGRAM_MAP(magspot_map)
/* video hardware */
- MCFG_GFXDECODE(panic)
+ MCFG_GFXDECODE_ADD("gfxdecode", panic)
MCFG_PALETTE_LENGTH(16+8*4)
MCFG_PALETTE_INIT_OVERRIDE(cosmic_state,magspot)
@@ -1151,7 +1151,7 @@ static MACHINE_CONFIG_DERIVED( nomnlnd, cosmic )
MCFG_CPU_PROGRAM_MAP(magspot_map)
/* video hardware */
- MCFG_GFXDECODE(panic)
+ MCFG_GFXDECODE_ADD("gfxdecode", panic)
MCFG_PALETTE_LENGTH(16+8*4)
MCFG_PALETTE_INIT_OVERRIDE(cosmic_state,nomnlnd)
diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c
index 0066d077844..5e89f20f9b2 100644
--- a/src/mame/drivers/cps1.c
+++ b/src/mame/drivers/cps1.c
@@ -3170,7 +3170,7 @@ static MACHINE_CONFIG_START( cps1_10MHz, cps_state )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(0xc00)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
diff --git a/src/mame/drivers/cps2.c b/src/mame/drivers/cps2.c
index 658d52b0807..7a117b2ae04 100644
--- a/src/mame/drivers/cps2.c
+++ b/src/mame/drivers/cps2.c
@@ -1269,7 +1269,7 @@ static MACHINE_CONFIG_START( cps2, cps_state )
8MHz / 15.4445kHz = 517.983 ~ 518 -> likely
16MHz -> same as 8 but with a /2 divider; also a possibility
*/
- MCFG_GFXDECODE(cps2)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps2)
MCFG_PALETTE_LENGTH(0xc00)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps2)
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index 4d13ff63702..b089699d1e1 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -904,13 +904,13 @@ void cps3_state::video_start()
save_pointer(NAME(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 *)m_ss_ram, machine().total_colors() / 16, 0));
+ m_gfxdecode->set_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 *)m_char_ram, machine().total_colors() / 64, 0));
- machine().gfx[1]->set_granularity(64);
+ m_gfxdecode->set_gfx(1, auto_alloc(machine(), gfx_element(machine(), cps3_tiles16x16_layout, (UINT8 *)m_char_ram, machine().total_colors() / 64, 0)));
+ m_gfxdecode->gfx(1)->set_granularity(64);
//decode_charram();
@@ -1001,10 +1001,10 @@ void cps3_state::cps3_draw_tilemapsprite_line(int tmnum, int drawline, bitmap_rg
yflip = (dat & 0x00000800)>>11;
xflip = (dat & 0x00001000)>>12;
- if (!bpp) machine().gfx[1]->set_granularity(256);
- else machine().gfx[1]->set_granularity(64);
+ if (!bpp) m_gfxdecode->gfx(1)->set_granularity(256);
+ else m_gfxdecode->gfx(1)->set_granularity(64);
- cps3_drawgfxzoom(bitmap,clip,machine().gfx[1],tileno,colour,xflip,yflip,(x*16)-scrollx%16,drawline-tilesubline,CPS3_TRANSPARENCY_PEN_INDEX,0, 0x10000, 0x10000, NULL, 0);
+ cps3_drawgfxzoom(bitmap,clip,m_gfxdecode->gfx(1),tileno,colour,xflip,yflip,(x*16)-scrollx%16,drawline-tilesubline,CPS3_TRANSPARENCY_PEN_INDEX,0, 0x10000, 0x10000, NULL, 0);
}
}
}
@@ -1230,13 +1230,13 @@ UINT32 cps3_state::screen_update_cps3(screen_device &screen, bitmap_rgb32 &bitma
/* use the bpp value from the main list or the sublists? */
if (whichbpp)
{
- if (!global_bpp) machine().gfx[1]->set_granularity(256);
- else machine().gfx[1]->set_granularity(64);
+ if (!global_bpp) m_gfxdecode->gfx(1)->set_granularity(256);
+ else m_gfxdecode->gfx(1)->set_granularity(64);
}
else
{
- if (!bpp) machine().gfx[1]->set_granularity(256);
- else machine().gfx[1]->set_granularity(64);
+ if (!bpp) m_gfxdecode->gfx(1)->set_granularity(256);
+ else m_gfxdecode->gfx(1)->set_granularity(64);
}
{
@@ -1244,11 +1244,11 @@ UINT32 cps3_state::screen_update_cps3(screen_device &screen, bitmap_rgb32 &bitma
if (global_alpha || alpha)
{
- cps3_drawgfxzoom(m_renderbuffer_bitmap,m_renderbuffer_clip,machine().gfx[1],realtileno,actualpal,0^flipx,0^flipy,current_xpos,current_ypos,CPS3_TRANSPARENCY_PEN_INDEX_BLEND,0,xinc,yinc, NULL, 0);
+ cps3_drawgfxzoom(m_renderbuffer_bitmap,m_renderbuffer_clip,m_gfxdecode->gfx(1),realtileno,actualpal,0^flipx,0^flipy,current_xpos,current_ypos,CPS3_TRANSPARENCY_PEN_INDEX_BLEND,0,xinc,yinc, NULL, 0);
}
else
{
- cps3_drawgfxzoom(m_renderbuffer_bitmap,m_renderbuffer_clip,machine().gfx[1],realtileno,actualpal,0^flipx,0^flipy,current_xpos,current_ypos,CPS3_TRANSPARENCY_PEN_INDEX,0,xinc,yinc, NULL, 0);
+ cps3_drawgfxzoom(m_renderbuffer_bitmap,m_renderbuffer_clip,m_gfxdecode->gfx(1),realtileno,actualpal,0^flipx,0^flipy,current_xpos,current_ypos,CPS3_TRANSPARENCY_PEN_INDEX,0,xinc,yinc, NULL, 0);
}
count++;
}
@@ -1314,7 +1314,7 @@ UINT32 cps3_state::screen_update_cps3(screen_device &screen, bitmap_rgb32 &bitma
pal += m_ss_pal_base << 5;
tile+=0x200;
- cps3_drawgfxzoom(bitmap, cliprect, machine().gfx[0],tile,pal,flipx,flipy,x*8,y*8,CPS3_TRANSPARENCY_PEN,0,0x10000,0x10000,NULL,0);
+ cps3_drawgfxzoom(bitmap, cliprect, m_gfxdecode->gfx(0),tile,pal,flipx,flipy,x*8,y*8,CPS3_TRANSPARENCY_PEN,0,0x10000,0x10000,NULL,0);
count++;
}
}
@@ -1337,7 +1337,7 @@ WRITE32_MEMBER(cps3_state::cps3_ssram_w)
// we only want to endian-flip the character data, the tilemap info is fine
data = LITTLE_ENDIANIZE_INT32(data);
mem_mask = LITTLE_ENDIANIZE_INT32(mem_mask);
- machine().gfx[0]->mark_dirty(offset/16);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/16);
}
COMBINE_DATA(&m_ss_ram[offset]);
@@ -1429,7 +1429,7 @@ WRITE32_MEMBER(cps3_state::cram_data_w)
mem_mask = LITTLE_ENDIANIZE_INT32(mem_mask);
data = LITTLE_ENDIANIZE_INT32(data);
COMBINE_DATA(&m_char_ram[fulloffset]);
- machine().gfx[1]->mark_dirty(fulloffset/0x40);
+ m_gfxdecode->gfx(1)->mark_dirty(fulloffset/0x40);
}
/* FLASH ROM ACCESS */
@@ -1892,7 +1892,7 @@ UINT32 cps3_state::process_byte( UINT8 real_byte, UINT32 destination, int max_le
while (m_rle_length)
{
dest[((destination+tranfercount)&0x7fffff)^3] = (m_last_normal_byte&0x3f);
- machine().gfx[1]->mark_dirty(((destination+tranfercount)&0x7fffff)/0x100);
+ m_gfxdecode->gfx(1)->mark_dirty(((destination+tranfercount)&0x7fffff)/0x100);
//printf("RLE WRite Byte %08x, %02x\n", destination+tranfercount, real_byte);
tranfercount++;
@@ -1911,7 +1911,7 @@ UINT32 cps3_state::process_byte( UINT8 real_byte, UINT32 destination, int max_le
//printf("Write Normal Data\n");
dest[(destination&0x7fffff)^3] = real_byte;
m_last_normal_byte = real_byte;
- machine().gfx[1]->mark_dirty((destination&0x7fffff)/0x100);
+ m_gfxdecode->gfx(1)->mark_dirty((destination&0x7fffff)/0x100);
return 1;
}
}
@@ -1980,7 +1980,7 @@ UINT32 cps3_state::ProcessByte8(UINT8 b,UINT32 dst_offset)
for(i=0;i<rle;++i)
{
destRAM[(dst_offset&0x7fffff)^3] = m_lastb;
- machine().gfx[1]->mark_dirty((dst_offset&0x7fffff)/0x100);
+ m_gfxdecode->gfx(1)->mark_dirty((dst_offset&0x7fffff)/0x100);
dst_offset++;
++l;
@@ -1994,7 +1994,7 @@ UINT32 cps3_state::ProcessByte8(UINT8 b,UINT32 dst_offset)
m_lastb2=m_lastb;
m_lastb=b;
destRAM[(dst_offset&0x7fffff)^3] = b;
- machine().gfx[1]->mark_dirty((dst_offset&0x7fffff)/0x100);
+ m_gfxdecode->gfx(1)->mark_dirty((dst_offset&0x7fffff)/0x100);
return 1;
}
}
diff --git a/src/mame/drivers/crbaloon.c b/src/mame/drivers/crbaloon.c
index d4122592f3a..8f02378f46c 100644
--- a/src/mame/drivers/crbaloon.c
+++ b/src/mame/drivers/crbaloon.c
@@ -369,7 +369,7 @@ static MACHINE_CONFIG_START( crbaloon, crbaloon_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_GFXDECODE(crbaloon)
+ MCFG_GFXDECODE_ADD("gfxdecode", crbaloon)
MCFG_PALETTE_LENGTH(32)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/crimfght.c b/src/mame/drivers/crimfght.c
index 5a2f1992159..8f5ef9c1c4a 100644
--- a/src/mame/drivers/crimfght.c
+++ b/src/mame/drivers/crimfght.c
@@ -283,9 +283,11 @@ static MACHINE_CONFIG_START( crimfght, crimfght_state )
MCFG_PALETTE_LENGTH(512)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", crimfght_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", crimfght_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/crospang.c b/src/mame/drivers/crospang.c
index c8c9b301390..e4369c4aa1b 100644
--- a/src/mame/drivers/crospang.c
+++ b/src/mame/drivers/crospang.c
@@ -355,13 +355,14 @@ static MACHINE_CONFIG_START( crospang, crospang_state )
MCFG_SCREEN_UPDATE_DRIVER(crospang_state, screen_update_crospang)
MCFG_PALETTE_LENGTH(0x300)
- MCFG_GFXDECODE(crospang)
+ MCFG_GFXDECODE_ADD("gfxdecode", crospang)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 0);
decospr_device::set_is_bootleg(*device, true);
decospr_device::set_offsets(*device, 5,7);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c
index a92dd5aa73c..2319fe15270 100644
--- a/src/mame/drivers/crshrace.c
+++ b/src/mame/drivers/crshrace.c
@@ -469,12 +469,13 @@ static MACHINE_CONFIG_START( crshrace, crshrace_state )
MCFG_SCREEN_UPDATE_DRIVER(crshrace_state, screen_update_crshrace)
MCFG_SCREEN_VBLANK_DRIVER(crshrace_state, screen_eof_crshrace)
- MCFG_GFXDECODE(crshrace)
+ MCFG_GFXDECODE_ADD("gfxdecode", crshrace)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0)
MCFG_VSYSTEM_SPR_SET_TILE_INDIRECT( crshrace_state, crshrace_tile_callback )
MCFG_VSYSTEM_SPR_SET_GFXREGION(2)
+ MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode")
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram2")
diff --git a/src/mame/drivers/cshooter.c b/src/mame/drivers/cshooter.c
index 95c24f3100d..19b6769f6db 100644
--- a/src/mame/drivers/cshooter.c
+++ b/src/mame/drivers/cshooter.c
@@ -154,7 +154,7 @@ TILE_GET_INFO_MEMBER(cshooter_state::get_cstx_tile_info)
int attr = (m_txram[tile_index*2+1]);
int color = attr & 0xf;
- SET_TILE_INFO_MEMBER(0, (code << 1) | ((attr & 0x20) >> 5), color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, (code << 1) | ((attr & 0x20) >> 5), color, 0);
}
WRITE8_MEMBER(cshooter_state::cshooter_txram_w)
@@ -183,10 +183,10 @@ void cshooter_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
tile_low += (tile_low > 0x9) ? 0x37 : 0x30;
tile_high += (tile_high > 0x9) ? 0x37 : 0x30;
- machine().gfx[0]->transpen(bitmap,cliprect, tile_high << 1, m_spriteram[i+1], 0, 0, m_spriteram[i+3],m_spriteram[i+2],0);
- machine().gfx[0]->transpen(bitmap,cliprect, tile_high << 1, m_spriteram[i+1], 0, 0, m_spriteram[i+3]+8,m_spriteram[i+2],0);
- machine().gfx[0]->transpen(bitmap,cliprect, tile_low << 1, m_spriteram[i+1], 0, 0, m_spriteram[i+3]+8,m_spriteram[i+2]+8,0);
- machine().gfx[0]->transpen(bitmap,cliprect, tile_low << 1, m_spriteram[i+1], 0, 0, m_spriteram[i+3],m_spriteram[i+2]+8,0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, tile_high << 1, m_spriteram[i+1], 0, 0, m_spriteram[i+3],m_spriteram[i+2],0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, tile_high << 1, m_spriteram[i+1], 0, 0, m_spriteram[i+3]+8,m_spriteram[i+2],0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, tile_low << 1, m_spriteram[i+1], 0, 0, m_spriteram[i+3]+8,m_spriteram[i+2]+8,0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, tile_low << 1, m_spriteram[i+1], 0, 0, m_spriteram[i+3],m_spriteram[i+2]+8,0);
}
}
@@ -450,7 +450,7 @@ static MACHINE_CONFIG_START( airraid, cshooter_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-1-16)
MCFG_SCREEN_UPDATE_DRIVER(cshooter_state, screen_update_airraid)
- MCFG_GFXDECODE(cshooter)
+ MCFG_GFXDECODE_ADD("gfxdecode", cshooter)
MCFG_PALETTE_LENGTH(0x100)
/* sound hardware */
diff --git a/src/mame/drivers/cultures.c b/src/mame/drivers/cultures.c
index 21c5dd480b5..1ed4c296645 100644
--- a/src/mame/drivers/cultures.c
+++ b/src/mame/drivers/cultures.c
@@ -68,20 +68,20 @@ TILE_GET_INFO_MEMBER(cultures_state::get_bg1_tile_info)
{
UINT8 *region = memregion("gfx3")->base() + 0x200000 + 0x80000 * m_bg1_bank;
int code = region[tile_index * 2] + (region[tile_index * 2 + 1] << 8);
- SET_TILE_INFO_MEMBER(2, code, code >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, code >> 12, 0);
}
TILE_GET_INFO_MEMBER(cultures_state::get_bg2_tile_info)
{
UINT8 *region = memregion("gfx2")->base() + 0x200000 + 0x80000 * m_bg2_bank;
int code = region[tile_index * 2] + (region[tile_index * 2 + 1] << 8);
- SET_TILE_INFO_MEMBER(1, code, code >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, code >> 12, 0);
}
TILE_GET_INFO_MEMBER(cultures_state::get_bg0_tile_info)
{
int code = m_bg0_videoram[tile_index * 2] + (m_bg0_videoram[tile_index * 2 + 1] << 8);
- SET_TILE_INFO_MEMBER(0, code, code >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, code >> 12, 0);
}
void cultures_state::video_start()
@@ -411,7 +411,7 @@ static MACHINE_CONFIG_START( cultures, cultures_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cultures_state, screen_update_cultures)
- MCFG_GFXDECODE(culture)
+ MCFG_GFXDECODE_ADD("gfxdecode", culture)
MCFG_PALETTE_LENGTH(0x2000)
diff --git a/src/mame/drivers/cvs.c b/src/mame/drivers/cvs.c
index b0b5d5e3a86..2b87944b73a 100644
--- a/src/mame/drivers/cvs.c
+++ b/src/mame/drivers/cvs.c
@@ -162,7 +162,7 @@ WRITE8_MEMBER(cvs_state::cvs_s2636_0_or_character_ram_w)
{
offset |= (0 * 0x800) | 0x400 | m_character_ram_page_start;
m_character_ram[offset] = data;
- machine().gfx[1]->mark_dirty((offset / 8) % 256);
+ m_gfxdecode->gfx(1)->mark_dirty((offset / 8) % 256);
}
else
m_s2636_0->work_ram_w(space, offset, data);
@@ -183,7 +183,7 @@ WRITE8_MEMBER(cvs_state::cvs_s2636_1_or_character_ram_w)
{
offset |= (1 * 0x800) | 0x400 | m_character_ram_page_start;
m_character_ram[offset] = data;
- machine().gfx[1]->mark_dirty((offset / 8) % 256);
+ m_gfxdecode->gfx(1)->mark_dirty((offset / 8) % 256);
}
else
m_s2636_1->work_ram_w(space, offset, data);
@@ -204,7 +204,7 @@ WRITE8_MEMBER(cvs_state::cvs_s2636_2_or_character_ram_w)
{
offset |= (2 * 0x800) | 0x400 | m_character_ram_page_start;
m_character_ram[offset] = data;
- machine().gfx[1]->mark_dirty((offset / 8) % 256);
+ m_gfxdecode->gfx(1)->mark_dirty((offset / 8) % 256);
}
else
m_s2636_2->work_ram_w(space, offset, data);
@@ -967,8 +967,8 @@ static const s2636_interface s2636_2_config =
MACHINE_START_MEMBER(cvs_state,cvs)
{
/* allocate memory */
- if (machine().gfx[1] != NULL)
- machine().gfx[1]->set_source(m_character_ram);
+ if (m_gfxdecode->gfx(1) != NULL)
+ m_gfxdecode->gfx(1)->set_source(m_character_ram);
start_393hz_timer();
@@ -1027,7 +1027,7 @@ static MACHINE_CONFIG_START( cvs, cvs_state )
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_VIDEO_START_OVERRIDE(cvs_state,cvs)
- MCFG_GFXDECODE(cvs)
+ MCFG_GFXDECODE_ADD("gfxdecode", cvs)
MCFG_PALETTE_LENGTH((256+4)*8+8+1)
MCFG_PALETTE_INIT_OVERRIDE(cvs_state,cvs)
diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c
index e830ffb6ec9..2750047f544 100644
--- a/src/mame/drivers/cyberbal.c
+++ b/src/mame/drivers/cyberbal.c
@@ -410,16 +410,18 @@ static MACHINE_CONFIG_START( cyberbal, cyberbal_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(interleaved)
+ MCFG_GFXDECODE_ADD("gfxdecode", interleaved)
MCFG_PALETTE_LENGTH(4096)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, cyberbal_state, get_playfield_tile_info, 16,8, SCAN_ROWS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, cyberbal_state, get_alpha_tile_info, 16,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "lscreen", cyberbal_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_TILEMAP_ADD_STANDARD("playfield2", 2, cyberbal_state, get_playfield_tile_info, 16,8, SCAN_ROWS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha2", 2, cyberbal_state, get_alpha_tile_info, 16,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob2", "rscreen", cyberbal_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("lscreen", RASTER)
/* note: these parameters are from published specs, not derived */
@@ -472,12 +474,13 @@ static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(cyberbal)
+ MCFG_GFXDECODE_ADD("gfxdecode", cyberbal)
MCFG_PALETTE_LENGTH(2048)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, cyberbal_state, get_playfield_tile_info, 16,8, SCAN_ROWS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, cyberbal_state, get_alpha_tile_info, 16,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", cyberbal_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/cybertnk.c b/src/mame/drivers/cybertnk.c
index e7e35893944..f8c2e07d1ab 100644
--- a/src/mame/drivers/cybertnk.c
+++ b/src/mame/drivers/cybertnk.c
@@ -245,7 +245,7 @@ TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap0_tile_info)
int pal = (code & 0xe000) >> 13;
pal |=(code & 0x1c00) >> 7;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0x1fff,
pal,
@@ -258,7 +258,7 @@ TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap1_tile_info)
int pal = (code & 0xe000) >> 13;
pal |=(code & 0x1c00) >> 7;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0x1fff,
pal,
@@ -271,7 +271,7 @@ TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap2_tile_info)
int pal = (code & 0xe000) >> 13;
pal |=(code & 0x1c00) >> 7;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code & 0x1fff,
pal,
@@ -296,7 +296,7 @@ static void draw_road(screen_device &screen, bitmap_ind16 &bitmap, const rectang
{
cybertnk_state *state = screen.machine().driver_data<cybertnk_state>();
int i;
- gfx_element *gfx = screen.machine().gfx[3];
+ gfx_element *gfx = state->m_gfxdecode->gfx(3);
for (i=0;i<0x1000/4;i+=4)
@@ -858,7 +858,7 @@ static MACHINE_CONFIG_START( cybertnk, cybertnk_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cybertnk_state, screen_update_cybertnk_right)
- MCFG_GFXDECODE(cybertnk)
+ MCFG_GFXDECODE_ADD("gfxdecode", cybertnk)
MCFG_PALETTE_LENGTH(0x4000)
diff --git a/src/mame/drivers/cyclemb.c b/src/mame/drivers/cyclemb.c
index 915986948ae..032eb3e6dee 100644
--- a/src/mame/drivers/cyclemb.c
+++ b/src/mame/drivers/cyclemb.c
@@ -166,7 +166,7 @@ void cyclemb_state::video_start()
void cyclemb_state::cyclemb_draw_tilemap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = screen.machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int x,y,count;
count = 0;
@@ -255,14 +255,14 @@ void cyclemb_state::cyclemb_draw_sprites(screen_device &screen, bitmap_ind16 &bi
fx = !fx;
fy = !fy;
}
- screen.machine().gfx[region]->transpen(bitmap,cliprect,spr_offs,col,fx,fy,x,y,0);
+ m_gfxdecode->gfx(region)->transpen(bitmap,cliprect,spr_offs,col,fx,fy,x,y,0);
}
}
void cyclemb_state::skydest_draw_tilemap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = screen.machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int x,y;
@@ -351,7 +351,7 @@ void cyclemb_state::skydest_draw_sprites(screen_device &screen, bitmap_ind16 &bi
fx = !fx;
fy = !fy;
}
- screen.machine().gfx[region]->transpen(bitmap,cliprect,spr_offs,col,fx,fy,x,y,0);
+ m_gfxdecode->gfx(region)->transpen(bitmap,cliprect,spr_offs,col,fx,fy,x,y,0);
}
}
@@ -914,7 +914,7 @@ static MACHINE_CONFIG_START( cyclemb, cyclemb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cyclemb_state, screen_update_cyclemb)
- MCFG_GFXDECODE(cyclemb)
+ MCFG_GFXDECODE_ADD("gfxdecode", cyclemb)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/d9final.c b/src/mame/drivers/d9final.c
index 2be69ee20df..ee508dce7a4 100644
--- a/src/mame/drivers/d9final.c
+++ b/src/mame/drivers/d9final.c
@@ -59,7 +59,7 @@ TILE_GET_INFO_MEMBER(d9final_state::get_sc0_tile_info)
int tile = ((m_hi_vram[tile_index] & 0x3f)<<8) | m_lo_vram[tile_index];
int color = m_cram[tile_index] & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -299,7 +299,7 @@ static MACHINE_CONFIG_START( d9final, d9final_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(d9final_state, screen_update_d9final)
- MCFG_GFXDECODE(d9final)
+ MCFG_GFXDECODE_ADD("gfxdecode", d9final)
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
diff --git a/src/mame/drivers/dacholer.c b/src/mame/drivers/dacholer.c
index 7eb95ef5224..78ba3e57b96 100644
--- a/src/mame/drivers/dacholer.c
+++ b/src/mame/drivers/dacholer.c
@@ -100,12 +100,12 @@ public:
TILE_GET_INFO_MEMBER(dacholer_state::get_bg_tile_info)
{
- SET_TILE_INFO_MEMBER(1, m_bgvideoram[tile_index] + m_bg_bank * 0x100, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, m_bgvideoram[tile_index] + m_bg_bank * 0x100, 0, 0);
}
TILE_GET_INFO_MEMBER(dacholer_state::get_fg_tile_info)
{
- SET_TILE_INFO_MEMBER(0, m_fgvideoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, m_fgvideoram[tile_index], 0, 0);
}
void dacholer_state::video_start()
@@ -149,7 +149,7 @@ void dacholer_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipy = !flipy;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
0,
flipx,flipy,
@@ -669,7 +669,7 @@ static MACHINE_CONFIG_START( dacholer, dacholer_state )
MCFG_SCREEN_UPDATE_DRIVER(dacholer_state, screen_update_dacholer)
MCFG_PALETTE_LENGTH(32)
- MCFG_GFXDECODE(dacholer)
+ MCFG_GFXDECODE_ADD("gfxdecode", dacholer)
/* sound hardware */
@@ -698,7 +698,7 @@ static MACHINE_CONFIG_DERIVED( itaten, dacholer )
MCFG_CPU_IO_MAP(itaten_snd_io_map)
MCFG_CPU_VBLANK_INT_REMOVE()
- MCFG_GFXDECODE(itaten)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", itaten)
MCFG_DEVICE_REMOVE("msm")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dambustr.c b/src/mame/drivers/dambustr.c
index 650f2113368..f4366bc1dd8 100644
--- a/src/mame/drivers/dambustr.c
+++ b/src/mame/drivers/dambustr.c
@@ -267,7 +267,7 @@ static MACHINE_CONFIG_START( dambustr, dambustr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(dambustr_state, screen_update_dambustr)
- MCFG_GFXDECODE(dambustr)
+ MCFG_GFXDECODE_ADD("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_OVERRIDE(dambustr_state,dambustr)
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index e2248965d86..7524e706c61 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -873,7 +873,7 @@ static MACHINE_CONFIG_START( darius, darius_state )
/* video hardware */
- MCFG_GFXDECODE(darius)
+ MCFG_GFXDECODE_ADD("gfxdecode", darius)
MCFG_PALETTE_LENGTH(4096*2)
MCFG_DEFAULT_LAYOUT(layout_darius)
@@ -900,6 +900,7 @@ static MACHINE_CONFIG_START( darius, darius_state )
MCFG_PC080SN_ADD("pc080sn", darius_pc080sn_intf)
+ MCFG_PC080SN_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/darkmist.c b/src/mame/drivers/darkmist.c
index f020c3f6394..06704f29e87 100644
--- a/src/mame/drivers/darkmist.c
+++ b/src/mame/drivers/darkmist.c
@@ -242,7 +242,7 @@ static MACHINE_CONFIG_START( darkmist, darkmist_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(darkmist_state, screen_update_darkmist)
- MCFG_GFXDECODE(darkmist)
+ MCFG_GFXDECODE_ADD("gfxdecode", darkmist)
MCFG_PALETTE_LENGTH(0x100*4)
/* sound hardware */
diff --git a/src/mame/drivers/darkseal.c b/src/mame/drivers/darkseal.c
index 99b0aa2a039..ce0c7753d6b 100644
--- a/src/mame/drivers/darkseal.c
+++ b/src/mame/drivers/darkseal.c
@@ -262,18 +262,20 @@ static MACHINE_CONFIG_START( darkseal, darkseal_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(darkseal_state, screen_update_darkseal)
- MCFG_GFXDECODE(darkseal)
+ MCFG_GFXDECODE_ADD("gfxdecode", darkseal)
MCFG_PALETTE_LENGTH(2048)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
MCFG_DECO16IC_ADD("tilegen1", darkseal_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DECO16IC_ADD("tilegen2", darkseal_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
-
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c
index 182788aaf50..40bee4df1fa 100644
--- a/src/mame/drivers/dassault.c
+++ b/src/mame/drivers/dassault.c
@@ -504,7 +504,7 @@ static MACHINE_CONFIG_START( dassault, dassault_state )
MCFG_SCREEN_UPDATE_DRIVER(dassault_state, screen_update_dassault)
- MCFG_GFXDECODE(dassault)
+ MCFG_GFXDECODE_ADD("gfxdecode", dassault)
MCFG_PALETTE_LENGTH(4096)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -513,13 +513,18 @@ static MACHINE_CONFIG_START( dassault, dassault_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", dassault_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", dassault_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
diff --git a/src/mame/drivers/dblcrown.c b/src/mame/drivers/dblcrown.c
index e839381f01f..980744f50e1 100644
--- a/src/mame/drivers/dblcrown.c
+++ b/src/mame/drivers/dblcrown.c
@@ -108,8 +108,8 @@ void dblcrown_state::video_start()
UINT32 dblcrown_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- gfx_element *gfx = machine().gfx[0];
- gfx_element *gfx_2 = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
+ gfx_element *gfx_2 = m_gfxdecode->gfx(1);
int x,y;
int count;
@@ -216,7 +216,7 @@ WRITE8_MEMBER( dblcrown_state::vram_w)
UINT8 *VRAM = memregion("vram")->base();
VRAM[(offset & 0xfff) | hi_offs] = data;
- machine().gfx[0]->mark_dirty(((offset & 0xfff) | hi_offs) / 32);
+ m_gfxdecode->gfx(0)->mark_dirty(((offset & 0xfff) | hi_offs) / 32);
}
#endif
}
@@ -571,7 +571,7 @@ static MACHINE_CONFIG_START( dblcrown, dblcrown_state )
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
- MCFG_GFXDECODE(dblcrown)
+ MCFG_GFXDECODE_ADD("gfxdecode", dblcrown)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c
index 0c06a20aa57..2ad71bca17d 100644
--- a/src/mame/drivers/dblewing.c
+++ b/src/mame/drivers/dblewing.c
@@ -387,12 +387,15 @@ static MACHINE_CONFIG_START( dblewing, dblewing_state )
MCFG_SCREEN_UPDATE_DRIVER(dblewing_state, screen_update_dblewing)
MCFG_PALETTE_LENGTH(4096)
- MCFG_GFXDECODE(dblewing)
+ MCFG_GFXDECODE_ADD("gfxdecode", dblewing)
MCFG_DECO16IC_ADD("tilegen1", dblewing_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
decospr_device::set_pri_callback(*device, dblwings_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO104_ADD("ioprot104")
MCFG_DECO146_SET_INTERFACE_SCRAMBLE_INTERLEAVE
diff --git a/src/mame/drivers/dbz.c b/src/mame/drivers/dbz.c
index cd6c689f4d5..4074b3cac92 100644
--- a/src/mame/drivers/dbz.c
+++ b/src/mame/drivers/dbz.c
@@ -372,12 +372,14 @@ static MACHINE_CONFIG_START( dbz, dbz_state )
MCFG_SCREEN_VISIBLE_AREA(0, 48*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(dbz_state, screen_update_dbz)
- MCFG_GFXDECODE(dbz)
+ MCFG_GFXDECODE_ADD("gfxdecode", dbz)
MCFG_PALETTE_LENGTH(0x4000/2)
MCFG_K056832_ADD("k056832", dbz_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K053246_ADD("k053246", dbz_k053246_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
MCFG_K053936_ADD("k053936_1", dbz_k053936_intf)
MCFG_K053936_ADD("k053936_2", dbz_k053936_intf)
diff --git a/src/mame/drivers/dcon.c b/src/mame/drivers/dcon.c
index f793ce389fe..f3911fa5a19 100644
--- a/src/mame/drivers/dcon.c
+++ b/src/mame/drivers/dcon.c
@@ -283,7 +283,7 @@ static MACHINE_CONFIG_START( dcon, dcon_state )
MCFG_SEIBU_CRTC_ADD("crtc",crtc_intf,0)
- MCFG_GFXDECODE(dcon)
+ MCFG_GFXDECODE_ADD("gfxdecode", dcon)
MCFG_PALETTE_LENGTH(2048)
/* sound hardware */
@@ -309,7 +309,7 @@ static MACHINE_CONFIG_START( sdgndmps, dcon_state )
MCFG_SEIBU_CRTC_ADD("crtc",crtc_intf,0)
- MCFG_GFXDECODE(dcon)
+ MCFG_GFXDECODE_ADD("gfxdecode", dcon)
MCFG_PALETTE_LENGTH(2048)
/* sound hardware */
diff --git a/src/mame/drivers/dday.c b/src/mame/drivers/dday.c
index 2894d5334bc..c3c743dc86a 100644
--- a/src/mame/drivers/dday.c
+++ b/src/mame/drivers/dday.c
@@ -267,7 +267,7 @@ static MACHINE_CONFIG_START( dday, dday_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(dday_state, screen_update_dday)
- MCFG_GFXDECODE(dday)
+ MCFG_GFXDECODE_ADD("gfxdecode", dday)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
diff --git a/src/mame/drivers/ddayjlc.c b/src/mame/drivers/ddayjlc.c
index d4597f1589e..0acc08d7cc9 100644
--- a/src/mame/drivers/ddayjlc.c
+++ b/src/mame/drivers/ddayjlc.c
@@ -381,7 +381,7 @@ TILE_GET_INFO_MEMBER(ddayjlc_state::get_tile_info_bg)
int color = (m_bgram[tile_index + 0x400] & 0x7);
color |= (m_bgram[tile_index + 0x400] & 0x40) >> 3;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
void ddayjlc_state::video_start()
@@ -406,7 +406,7 @@ UINT32 ddayjlc_state::screen_update_ddayjlc(screen_device &screen, bitmap_ind16
code = (code & 0x7f) | ((flags & 0x30) << 3);
- machine().gfx[0]->transpen(bitmap,cliprect, code, color, xflip, yflip, x, y, 0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, code, color, xflip, yflip, x, y, 0);
}
{
@@ -417,9 +417,9 @@ UINT32 ddayjlc_state::screen_update_ddayjlc(screen_device &screen, bitmap_ind16
{
c = m_videoram[y * 32 + x];
if (x > 1 && x < 30)
- machine().gfx[1]->transpen(bitmap,cliprect, c + m_char_bank * 0x100, 2, 0, 0, x*8, y*8, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, c + m_char_bank * 0x100, 2, 0, 0, x*8, y*8, 0);
else
- machine().gfx[1]->opaque(bitmap,cliprect, c + m_char_bank * 0x100, 2, 0, 0, x*8, y*8);
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect, c + m_char_bank * 0x100, 2, 0, 0, x*8, y*8);
}
}
return 0;
@@ -530,7 +530,7 @@ static MACHINE_CONFIG_START( ddayjlc, ddayjlc_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ddayjlc_state, screen_update_ddayjlc)
- MCFG_GFXDECODE(ddayjlc)
+ MCFG_GFXDECODE_ADD("gfxdecode", ddayjlc)
MCFG_PALETTE_LENGTH(0x200)
diff --git a/src/mame/drivers/ddealer.c b/src/mame/drivers/ddealer.c
index 77b4e853f8f..204b2aa7f43 100644
--- a/src/mame/drivers/ddealer.c
+++ b/src/mame/drivers/ddealer.c
@@ -165,6 +165,7 @@ public:
INTERRUPT_GEN_MEMBER(ddealer_interrupt);
TIMER_DEVICE_CALLBACK_MEMBER(ddealer_mcu_sim);
required_device<cpu_device> m_maincpu;
+ void ddealer_draw_video_layer( UINT16* vreg_base, UINT16* top, UINT16* bottom, bitmap_ind16 &bitmap, const rectangle &cliprect, int flipy);
};
@@ -177,7 +178,7 @@ WRITE16_MEMBER(ddealer_state::ddealer_flipscreen_w)
TILE_GET_INFO_MEMBER(ddealer_state::get_back_tile_info)
{
int code = m_back_vram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0xfff,
code >> 12,
@@ -190,9 +191,9 @@ void ddealer_state::video_start()
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)
+void ddealer_state::ddealer_draw_video_layer( UINT16* vreg_base, UINT16* top, UINT16* bottom, bitmap_ind16 &bitmap, const rectangle &cliprect, int flipy)
{
- gfx_element *gfx = machine.gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
INT16 sx, sy;
int x,y, count;
@@ -289,24 +290,24 @@ UINT32 ddealer_state::screen_update_ddealer(screen_device &screen, bitmap_ind16
{
if (m_vregs[0xcc / 2] & 0x80)
{
- ddealer_draw_video_layer(machine(), &m_vregs[0x1e0 / 2], m_left_fg_vram_top, m_left_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
- ddealer_draw_video_layer(machine(), &m_vregs[0xcc / 2], m_right_fg_vram_top, m_right_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
+ ddealer_draw_video_layer(&m_vregs[0x1e0 / 2], m_left_fg_vram_top, m_left_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
+ ddealer_draw_video_layer(&m_vregs[0xcc / 2], m_right_fg_vram_top, m_right_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
}
else
{
- ddealer_draw_video_layer(machine(), &m_vregs[0x1e0 / 2], m_left_fg_vram_top, m_left_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
+ ddealer_draw_video_layer(&m_vregs[0x1e0 / 2], m_left_fg_vram_top, m_left_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
}
}
else
{
if (m_vregs[0xcc / 2] & 0x80)
{
- ddealer_draw_video_layer(machine(), &m_vregs[0xcc / 2], m_left_fg_vram_top, m_left_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
- ddealer_draw_video_layer(machine(), &m_vregs[0x1e0 / 2], m_right_fg_vram_top, m_right_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
+ ddealer_draw_video_layer(&m_vregs[0xcc / 2], m_left_fg_vram_top, m_left_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
+ ddealer_draw_video_layer(&m_vregs[0x1e0 / 2], m_right_fg_vram_top, m_right_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
}
else
{
- ddealer_draw_video_layer(machine(), &m_vregs[0x1e0 / 2], m_left_fg_vram_top, m_left_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
+ ddealer_draw_video_layer(&m_vregs[0x1e0 / 2], m_left_fg_vram_top, m_left_fg_vram_bottom, bitmap, cliprect, m_flipscreen);
}
}
@@ -626,7 +627,7 @@ static MACHINE_CONFIG_START( ddealer, ddealer_state )
// M50747 or NMK-110 8131 MCU
- MCFG_GFXDECODE(ddealer)
+ MCFG_GFXDECODE_ADD("gfxdecode", ddealer)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/ddragon.c b/src/mame/drivers/ddragon.c
index 67dcdddb719..743fb337335 100644
--- a/src/mame/drivers/ddragon.c
+++ b/src/mame/drivers/ddragon.c
@@ -982,7 +982,7 @@ static MACHINE_CONFIG_START( ddragon, ddragon_state )
MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
/* video hardware */
- MCFG_GFXDECODE(ddragon)
+ MCFG_GFXDECODE_ADD("gfxdecode", ddragon)
MCFG_PALETTE_LENGTH(384)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1045,7 +1045,7 @@ static MACHINE_CONFIG_START( ddragon6809, ddragon_state )
MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
/* video hardware */
- MCFG_GFXDECODE(ddragon)
+ MCFG_GFXDECODE_ADD("gfxdecode", ddragon)
MCFG_PALETTE_LENGTH(384)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1091,7 +1091,7 @@ static MACHINE_CONFIG_START( ddragon2, ddragon_state )
MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
/* video hardware */
- MCFG_GFXDECODE(ddragon)
+ MCFG_GFXDECODE_ADD("gfxdecode", ddragon)
MCFG_PALETTE_LENGTH(384)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/ddragon3.c b/src/mame/drivers/ddragon3.c
index 9994d697552..b4c75d7d2bf 100644
--- a/src/mame/drivers/ddragon3.c
+++ b/src/mame/drivers/ddragon3.c
@@ -840,7 +840,7 @@ static MACHINE_CONFIG_START( ddragon3, ddragon3_state )
MCFG_SCREEN_UPDATE_DRIVER(ddragon3_state, screen_update_ddragon3)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(ddragon3)
+ MCFG_GFXDECODE_ADD("gfxdecode", ddragon3)
MCFG_PALETTE_LENGTH(768)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
@@ -905,7 +905,7 @@ static MACHINE_CONFIG_START( wwfwfest, wwfwfest_state )
MCFG_SCREEN_UPDATE_DRIVER(wwfwfest_state, screen_update_wwfwfest)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(wwfwfest)
+ MCFG_GFXDECODE_ADD("gfxdecode", wwfwfest)
MCFG_PALETTE_LENGTH(8192)
/* sound hardware */
diff --git a/src/mame/drivers/ddribble.c b/src/mame/drivers/ddribble.c
index ecfda0def5d..1dfe29d47b6 100644
--- a/src/mame/drivers/ddribble.c
+++ b/src/mame/drivers/ddribble.c
@@ -285,7 +285,7 @@ static MACHINE_CONFIG_START( ddribble, ddribble_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1) */
MCFG_SCREEN_UPDATE_DRIVER(ddribble_state, screen_update_ddribble)
- MCFG_GFXDECODE(ddribble)
+ MCFG_GFXDECODE_ADD("gfxdecode", ddribble)
MCFG_PALETTE_LENGTH(64 + 256)
diff --git a/src/mame/drivers/deadang.c b/src/mame/drivers/deadang.c
index a39c30e489a..9c69e7c40bc 100644
--- a/src/mame/drivers/deadang.c
+++ b/src/mame/drivers/deadang.c
@@ -253,7 +253,7 @@ static MACHINE_CONFIG_START( deadang, deadang_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(deadang_state, screen_update_deadang)
- MCFG_GFXDECODE(deadang)
+ MCFG_GFXDECODE_ADD("gfxdecode", deadang)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c
index b9933b20ab7..66525925def 100644
--- a/src/mame/drivers/dec0.c
+++ b/src/mame/drivers/dec0.c
@@ -1307,18 +1307,22 @@ WRITE_LINE_MEMBER(dec0_state::sound_irq2)
static MACHINE_CONFIG_START( dec0_base, dec0_state )
- MCFG_GFXDECODE(dec0)
+ MCFG_GFXDECODE_ADD("gfxdecode", dec0)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,0,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen2", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,1,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen3", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,2,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 3);
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0)
MACHINE_CONFIG_END
@@ -1413,17 +1417,20 @@ static MACHINE_CONFIG_START( automat, dec0_automat_state )
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,0,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen2", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,1,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen3", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,2,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 3);
-
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
MCFG_PALETTE_LENGTH(1024)
- MCFG_GFXDECODE(automat)
+ MCFG_GFXDECODE_ADD("gfxdecode", automat)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1466,17 +1473,20 @@ static MACHINE_CONFIG_START( secretab, dec0_automat_state )
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,0,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen2", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,1,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen3", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,2,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 3);
-
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
MCFG_PALETTE_LENGTH(1024)
- MCFG_GFXDECODE(secretab)
+ MCFG_GFXDECODE_ADD("gfxdecode", secretab)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1710,7 +1720,7 @@ static MACHINE_CONFIG_DERIVED( midres, dec0_base_sound_alt )
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_midres)
- MCFG_GFXDECODE(midres)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", midres)
MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0_nodma)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c
index f06d4c34c28..0ffa85a3f82 100644
--- a/src/mame/drivers/dec8.c
+++ b/src/mame/drivers/dec8.c
@@ -2015,6 +2015,7 @@ static MACHINE_CONFIG_START( lastmisn, dec8_state )
MCFG_DEVICE_ADD("spritegen_krn", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 1);
+ MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(58)
@@ -2024,7 +2025,7 @@ static MACHINE_CONFIG_START( lastmisn, dec8_state )
MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_lastmisn)
- MCFG_GFXDECODE(shackled)
+ MCFG_GFXDECODE_ADD("gfxdecode", shackled)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn)
@@ -2064,6 +2065,7 @@ static MACHINE_CONFIG_START( shackled, dec8_state )
MCFG_DEVICE_ADD("spritegen_krn", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 1);
+ MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(58)
@@ -2073,7 +2075,7 @@ static MACHINE_CONFIG_START( shackled, dec8_state )
MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_shackled)
- MCFG_GFXDECODE(shackled)
+ MCFG_GFXDECODE_ADD("gfxdecode", shackled)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dec8_state,shackled)
@@ -2112,6 +2114,7 @@ static MACHINE_CONFIG_START( gondo, dec8_state )
MCFG_DEVICE_ADD("spritegen_krn", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 1);
+ MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(58)
@@ -2122,7 +2125,7 @@ static MACHINE_CONFIG_START( gondo, dec8_state )
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_gondo)
MCFG_SCREEN_VBLANK_DRIVER(dec8_state, screen_eof_dec8)
- MCFG_GFXDECODE(gondo)
+ MCFG_GFXDECODE_ADD("gfxdecode", gondo)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dec8_state,gondo)
@@ -2161,6 +2164,7 @@ static MACHINE_CONFIG_START( garyoret, dec8_state )
MCFG_DEVICE_ADD("spritegen_krn", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 1);
+ MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(58)
@@ -2171,7 +2175,7 @@ static MACHINE_CONFIG_START( garyoret, dec8_state )
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_garyoret)
MCFG_SCREEN_VBLANK_DRIVER(dec8_state, screen_eof_dec8)
- MCFG_GFXDECODE(gondo)
+ MCFG_GFXDECODE_ADD("gfxdecode", gondo)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dec8_state,garyoret)
@@ -2210,9 +2214,11 @@ static MACHINE_CONFIG_START( ghostb, dec8_state )
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,2,2,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen_krn", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 1);
+ MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(58)
@@ -2223,7 +2229,7 @@ static MACHINE_CONFIG_START( ghostb, dec8_state )
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_ghostb)
MCFG_SCREEN_VBLANK_DRIVER(dec8_state, screen_eof_dec8)
- MCFG_GFXDECODE(ghostb)
+ MCFG_GFXDECODE_ADD("gfxdecode", ghostb)
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT_OVERRIDE(dec8_state,ghostb)
@@ -2269,6 +2275,7 @@ static MACHINE_CONFIG_START( csilver, dec8_state )
MCFG_DEVICE_ADD("spritegen_krn", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 1);
+ MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(58)
@@ -2278,7 +2285,7 @@ static MACHINE_CONFIG_START( csilver, dec8_state )
MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_lastmisn)
- MCFG_GFXDECODE(shackled)
+ MCFG_GFXDECODE_ADD("gfxdecode", shackled)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn)
@@ -2322,9 +2329,11 @@ static MACHINE_CONFIG_START( oscar, dec8_state )
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,2,2,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen_mxc", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 1);
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(58)
@@ -2334,7 +2343,7 @@ static MACHINE_CONFIG_START( oscar, dec8_state )
MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_oscar)
- MCFG_GFXDECODE(oscar)
+ MCFG_GFXDECODE_ADD("gfxdecode", oscar)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(dec8_state,oscar)
@@ -2376,7 +2385,7 @@ static MACHINE_CONFIG_START( srdarwin, dec8_state )
MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_srdarwin)
- MCFG_GFXDECODE(srdarwin)
+ MCFG_GFXDECODE_ADD("gfxdecode", srdarwin)
MCFG_PALETTE_LENGTH(144)
MCFG_VIDEO_START_OVERRIDE(dec8_state,srdarwin)
@@ -2412,11 +2421,14 @@ static MACHINE_CONFIG_START( cobracom, dec8_state )
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,2,2,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen2", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,3,3,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen_mxc", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 1);
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2427,7 +2439,7 @@ static MACHINE_CONFIG_START( cobracom, dec8_state )
MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_cobracom)
- MCFG_GFXDECODE(cobracom)
+ MCFG_GFXDECODE_ADD("gfxdecode", cobracom)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(dec8_state,cobracom)
diff --git a/src/mame/drivers/deco156.c b/src/mame/drivers/deco156.c
index 8b01880bdb7..53a41dbc5cd 100644
--- a/src/mame/drivers/deco156.c
+++ b/src/mame/drivers/deco156.c
@@ -365,14 +365,17 @@ static MACHINE_CONFIG_START( hvysmsh, deco156_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(deco156_state, screen_update_wcvol95)
- MCFG_GFXDECODE(hvysmsh)
+ MCFG_GFXDECODE_ADD("gfxdecode", hvysmsh)
MCFG_PALETTE_LENGTH(1024)
MCFG_DECO16IC_ADD("tilegen1", deco156_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
decospr_device::set_pri_callback(*device, deco156_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -402,14 +405,17 @@ static MACHINE_CONFIG_START( wcvol95, deco156_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(deco156_state, screen_update_wcvol95)
- MCFG_GFXDECODE(hvysmsh)
+ MCFG_GFXDECODE_ADD("gfxdecode", hvysmsh)
MCFG_PALETTE_LENGTH(1024)
MCFG_DECO16IC_ADD("tilegen1", deco156_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
decospr_device::set_pri_callback(*device, deco156_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index 7c5403db599..724fb58effb 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -1752,15 +1752,19 @@ static MACHINE_CONFIG_START( captaven, deco32_state )
MCFG_SCREEN_UPDATE_DRIVER(deco32_state, screen_update_captaven)
MCFG_SCREEN_VBLANK_DRIVER(deco32_state, screen_eof_captaven)
- MCFG_GFXDECODE(captaven)
+ MCFG_GFXDECODE_ADD("gfxdecode", captaven)
MCFG_PALETTE_LENGTH(2048)
MCFG_DECO16IC_ADD("tilegen1", captaven_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", captaven_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_pri_callback(*device, captaven_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO146_ADD("ioprot")
MCFG_DECO146_SET_SOUNDLATCH_CALLBACK(deco32_state, deco32_sound_cb)
@@ -1820,14 +1824,18 @@ static MACHINE_CONFIG_START( fghthist, deco32_state ) /* DE-0380-2 PCB */
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(deco32_state, screen_update_fghthist)
- MCFG_GFXDECODE(fghthist)
+ MCFG_GFXDECODE_ADD("gfxdecode", fghthist)
MCFG_PALETTE_LENGTH(2048)
MCFG_DECO16IC_ADD("tilegen1", fghthist_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", fghthist_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO146_ADD("ioprot")
MCFG_DECO146_SET_PORTA_CALLBACK( deco32_state, port_a_fghthist )
@@ -1875,14 +1883,18 @@ static MACHINE_CONFIG_START( fghthsta, deco32_state ) /* DE-0395-1 PCB */
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(deco32_state, screen_update_fghthist)
- MCFG_GFXDECODE(fghthist)
+ MCFG_GFXDECODE_ADD("gfxdecode", fghthist)
MCFG_PALETTE_LENGTH(2048)
MCFG_DECO16IC_ADD("tilegen1", fghthist_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", fghthist_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO146_ADD("ioprot")
MCFG_DECO146_SET_PORTA_CALLBACK( deco32_state, port_a_fghthist )
@@ -1996,9 +2008,12 @@ static MACHINE_CONFIG_START( dragngun, dragngun_state )
MCFG_BUFFERED_SPRITERAM32_ADD("spriteram")
MCFG_DECO16IC_ADD("tilegen1", dragngun_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", dragngun_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(dragngun)
+ MCFG_GFXDECODE_ADD("gfxdecode", dragngun)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(dragngun_state,dragngun)
@@ -2078,9 +2093,12 @@ static MACHINE_CONFIG_START( lockload, dragngun_state )
MCFG_BUFFERED_SPRITERAM32_ADD("spriteram")
MCFG_DECO16IC_ADD("tilegen1", lockload_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", lockload_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(dragngun)
+ MCFG_GFXDECODE_ADD("gfxdecode", dragngun)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(dragngun_state,lockload)
@@ -2163,15 +2181,20 @@ static MACHINE_CONFIG_START( tattass, deco32_state )
MCFG_SCREEN_UPDATE_DRIVER(deco32_state, screen_update_nslasher)
MCFG_DECO16IC_ADD("tilegen1", tattass_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", tattass_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(tattass)
+ MCFG_GFXDECODE_ADD("gfxdecode", tattass)
MCFG_PALETTE_LENGTH(2048)
MCFG_DECO104_ADD("ioprot104")
@@ -2207,15 +2230,20 @@ static MACHINE_CONFIG_START( nslasher, deco32_state )
MCFG_SCREEN_UPDATE_DRIVER(deco32_state, screen_update_nslasher)
MCFG_DECO16IC_ADD("tilegen1", tattass_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", tattass_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(nslasher)
+ MCFG_GFXDECODE_ADD("gfxdecode", nslasher)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(deco32_state,nslasher)
diff --git a/src/mame/drivers/deco_ld.c b/src/mame/drivers/deco_ld.c
index 0045267aec5..541254b9ec4 100644
--- a/src/mame/drivers/deco_ld.c
+++ b/src/mame/drivers/deco_ld.c
@@ -155,7 +155,7 @@ public:
void deco_ld_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect, UINT8 *spriteram, UINT16 tile_bank )
{
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
int i,spr_offs,x,y,col,fx,fy;
/*
@@ -200,7 +200,7 @@ void deco_ld_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect
UINT32 deco_ld_state::screen_update_rblaster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int y,x;
bitmap.fill(0, cliprect);
@@ -476,7 +476,7 @@ static MACHINE_CONFIG_START( rblaster, deco_ld_state )
/* video hardware */
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
- MCFG_GFXDECODE(rblaster)
+ MCFG_GFXDECODE_ADD("gfxdecode", rblaster)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
diff --git a/src/mame/drivers/deco_mlc.c b/src/mame/drivers/deco_mlc.c
index a4b668d7414..ab120062881 100644
--- a/src/mame/drivers/deco_mlc.c
+++ b/src/mame/drivers/deco_mlc.c
@@ -495,7 +495,7 @@ static MACHINE_CONFIG_START( avengrgs, deco_mlc_state )
MCFG_SCREEN_UPDATE_DRIVER(deco_mlc_state, screen_update_mlc)
MCFG_SCREEN_VBLANK_DRIVER(deco_mlc_state, screen_eof_mlc)
- MCFG_GFXDECODE(deco_mlc)
+ MCFG_GFXDECODE_ADD("gfxdecode", deco_mlc)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
@@ -528,7 +528,7 @@ static MACHINE_CONFIG_START( mlc, deco_mlc_state )
MCFG_SCREEN_UPDATE_DRIVER(deco_mlc_state, screen_update_mlc)
MCFG_SCREEN_VBLANK_DRIVER(deco_mlc_state, screen_eof_mlc)
- MCFG_GFXDECODE(deco_mlc)
+ MCFG_GFXDECODE_ADD("gfxdecode", deco_mlc)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE)
@@ -546,11 +546,11 @@ static MACHINE_CONFIG_START( mlc, deco_mlc_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mlc_6bpp, mlc )
- MCFG_GFXDECODE(6bpp)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 6bpp)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mlc_5bpp, mlc )
- MCFG_GFXDECODE(5bpp)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 5bpp)
MACHINE_CONFIG_END
/***************************************************************************/
diff --git a/src/mame/drivers/decocass.c b/src/mame/drivers/decocass.c
index b26eeead0fd..21735d1b2ef 100644
--- a/src/mame/drivers/decocass.c
+++ b/src/mame/drivers/decocass.c
@@ -736,7 +736,7 @@ static MACHINE_CONFIG_START( decocass, decocass_state )
MCFG_SCREEN_RAW_PARAMS(HCLK, 384, 0*8, 256, 272, 1*8, 248)
MCFG_SCREEN_UPDATE_DRIVER(decocass_state, screen_update_decocass)
- MCFG_GFXDECODE(decocass)
+ MCFG_GFXDECODE_ADD("gfxdecode", decocass)
MCFG_PALETTE_LENGTH(32+2*8+2*4)
/* sound hardware */
diff --git a/src/mame/drivers/deniam.c b/src/mame/drivers/deniam.c
index 635c75ff08e..e37fd5aeabb 100644
--- a/src/mame/drivers/deniam.c
+++ b/src/mame/drivers/deniam.c
@@ -280,7 +280,7 @@ static MACHINE_CONFIG_START( deniam16b, deniam_state )
MCFG_SCREEN_VISIBLE_AREA(24*8-4, 64*8-5, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(deniam_state, screen_update_deniam)
- MCFG_GFXDECODE(deniam)
+ MCFG_GFXDECODE_ADD("gfxdecode", deniam)
MCFG_PALETTE_LENGTH(2048)
@@ -312,7 +312,7 @@ static MACHINE_CONFIG_START( deniam16c, deniam_state )
MCFG_SCREEN_VISIBLE_AREA(24*8-4, 64*8-5, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(deniam_state, screen_update_deniam)
- MCFG_GFXDECODE(deniam)
+ MCFG_GFXDECODE_ADD("gfxdecode", deniam)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/destroyr.c b/src/mame/drivers/destroyr.c
index ced2585f61a..2493849d7a6 100644
--- a/src/mame/drivers/destroyr.c
+++ b/src/mame/drivers/destroyr.c
@@ -95,7 +95,7 @@ UINT32 destroyr_state::screen_update_destroyr(screen_device &screen, bitmap_ind1
continue;
}
- machine().gfx[2]->transpen(bitmap,cliprect, num, 0, flipx, 0, horz, 16 * i, 0);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, num, 0, flipx, 0, horz, 16 * i, 0);
}
/* draw alpha numerics */
@@ -105,7 +105,7 @@ UINT32 destroyr_state::screen_update_destroyr(screen_device &screen, bitmap_ind1
{
int num = m_alpha_num_ram[32 * i + j];
- machine().gfx[0]->transpen(bitmap,cliprect, num, 0, 0, 0, 8 * j, 8 * i, 0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, num, 0, 0, 0, 8 * j, 8 * i, 0);
}
}
@@ -116,13 +116,13 @@ UINT32 destroyr_state::screen_update_destroyr(screen_device &screen, bitmap_ind1
int horz = 256 - m_minor_obj_ram[i + 2];
int vert = 256 - m_minor_obj_ram[i + 4];
- machine().gfx[1]->transpen(bitmap,cliprect, num, 0, 0, 0, horz, vert, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, num, 0, 0, 0, horz, vert, 0);
}
/* draw waves */
for (i = 0; i < 4; i++)
{
- machine().gfx[3]->transpen(bitmap,cliprect, m_wavemod ? 1 : 0, 0, 0, 0, 64 * i, 0x4e, 0);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, m_wavemod ? 1 : 0, 0, 0, 0, 64 * i, 0x4e, 0);
}
/* draw cursor */
@@ -484,7 +484,7 @@ static MACHINE_CONFIG_START( destroyr, destroyr_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(destroyr_state, screen_update_destroyr)
- MCFG_GFXDECODE(destroyr)
+ MCFG_GFXDECODE_ADD("gfxdecode", destroyr)
MCFG_PALETTE_LENGTH(8)
/* sound hardware */
diff --git a/src/mame/drivers/dfruit.c b/src/mame/drivers/dfruit.c
index f1dae3589d3..b68a1dec023 100644
--- a/src/mame/drivers/dfruit.c
+++ b/src/mame/drivers/dfruit.c
@@ -401,9 +401,11 @@ static MACHINE_CONFIG_START( dfruit, dfruit_state )
MCFG_SCREEN_VBLANK_DRIVER(dfruit_state, screen_eof)
MCFG_DEVICE_ADD("tc0091lvc", TC0091LVC, 0)
+ MCFG_TC0091LVC_GFXDECODE("gfxdecode")
+
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_intf )
-
- MCFG_GFXDECODE( dfruit )
+
+ MCFG_GFXDECODE_ADD("gfxdecode", dfruit )
MCFG_PALETTE_LENGTH(0x100)
/* sound hardware */
diff --git a/src/mame/drivers/dietgo.c b/src/mame/drivers/dietgo.c
index d88492c6681..630675845b3 100644
--- a/src/mame/drivers/dietgo.c
+++ b/src/mame/drivers/dietgo.c
@@ -230,14 +230,16 @@ static MACHINE_CONFIG_START( dietgo, dietgo_state )
MCFG_SCREEN_UPDATE_DRIVER(dietgo_state, screen_update_dietgo)
MCFG_PALETTE_LENGTH(1024)
- MCFG_GFXDECODE(dietgo)
+ MCFG_GFXDECODE_ADD("gfxdecode", dietgo)
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", dietgo_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO104_ADD("ioprot104")
MCFG_DECO146_SET_INTERFACE_SCRAMBLE_INTERLEAVE
diff --git a/src/mame/drivers/discoboy.c b/src/mame/drivers/discoboy.c
index cb09c63d61d..37e85400d00 100644
--- a/src/mame/drivers/discoboy.c
+++ b/src/mame/drivers/discoboy.c
@@ -141,7 +141,7 @@ void discoboy_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipscreen,0,
@@ -198,7 +198,7 @@ UINT32 discoboy_state::screen_update_discoboy(screen_device &screen, bitmap_ind1
tileno = 0x2000 + (tileno & 0x1fff) + 0x0000;
}
- machine().gfx[1]->opaque(bitmap,cliprect, tileno, m_ram_att[count / 2], 0, 0, x*8, y*8);
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect, tileno, m_ram_att[count / 2], 0, 0, x*8, y*8);
count += 2;
}
}
@@ -507,7 +507,7 @@ static MACHINE_CONFIG_START( discoboy, discoboy_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, 512-1-8*8, 0+8, 256-1-8)
MCFG_SCREEN_UPDATE_DRIVER(discoboy_state, screen_update_discoboy)
- MCFG_GFXDECODE(discoboy)
+ MCFG_GFXDECODE_ADD("gfxdecode", discoboy)
MCFG_PALETTE_LENGTH(0x1000)
diff --git a/src/mame/drivers/diverboy.c b/src/mame/drivers/diverboy.c
index 3107af83d6d..057ef6b0f9a 100644
--- a/src/mame/drivers/diverboy.c
+++ b/src/mame/drivers/diverboy.c
@@ -107,7 +107,7 @@ void diverboy_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipr
if (!flash || (m_screen->frame_number() & 1))
{
- machine().gfx[bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transpen(bitmap,cliprect,
number,
colr,
0,0,
@@ -262,7 +262,7 @@ static MACHINE_CONFIG_START( diverboy, diverboy_state )
MCFG_CPU_PROGRAM_MAP(snd_map)
- MCFG_GFXDECODE(diverboy)
+ MCFG_GFXDECODE_ADD("gfxdecode", diverboy)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/djboy.c b/src/mame/drivers/djboy.c
index a5d317a5462..3f0d387646a 100644
--- a/src/mame/drivers/djboy.c
+++ b/src/mame/drivers/djboy.c
@@ -580,11 +580,11 @@ static MACHINE_CONFIG_START( djboy, djboy_state )
MCFG_SCREEN_UPDATE_DRIVER(djboy_state, screen_update_djboy)
MCFG_SCREEN_VBLANK_DRIVER(djboy_state, screen_eof_djboy)
- MCFG_GFXDECODE(djboy)
+ MCFG_GFXDECODE_ADD("gfxdecode", djboy)
MCFG_PALETTE_LENGTH(0x200)
MCFG_KANEKO_PANDORA_ADD("pandora", djboy_pandora_config)
-
+ MCFG_KANEKO_PANDORA_GFXDECODE("gfxdecode")
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/djmain.c b/src/mame/drivers/djmain.c
index 2b40c509c8d..2cf6e68eeb5 100644
--- a/src/mame/drivers/djmain.c
+++ b/src/mame/drivers/djmain.c
@@ -1421,9 +1421,10 @@ static MACHINE_CONFIG_START( djmain, djmain_state )
MCFG_SCREEN_UPDATE_DRIVER(djmain_state, screen_update_djmain)
MCFG_PALETTE_LENGTH(0x4440/4)
- MCFG_GFXDECODE(djmain)
+ MCFG_GFXDECODE_ADD("gfxdecode", djmain)
MCFG_K056832_ADD("k056832", djmain_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K055555_ADD("k055555")
/* sound hardware */
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index 06d1fb4b03b..1c3fb777eb5 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -1667,7 +1667,7 @@ static MACHINE_CONFIG_START( dkong_base, dkong_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dkong_state, screen_update_dkong)
- MCFG_GFXDECODE(dkong)
+ MCFG_GFXDECODE_ADD("gfxdecode", dkong)
MCFG_PALETTE_LENGTH(DK2B_PALETTE_LENGTH)
MCFG_PALETTE_INIT_OVERRIDE(dkong_state,dkong2b)
@@ -1729,7 +1729,7 @@ static MACHINE_CONFIG_START( dkong3, dkong_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(dkong_state, screen_update_dkong)
- MCFG_GFXDECODE(dkong)
+ MCFG_GFXDECODE_ADD("gfxdecode", dkong)
MCFG_PALETTE_LENGTH(DK3_PALETTE_LENGTH)
MCFG_PALETTE_INIT_OVERRIDE(dkong_state,dkong3)
@@ -1751,7 +1751,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pestplce, dkongjr )
/* video hardware */
- MCFG_GFXDECODE(pestplce)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pestplce)
MCFG_PALETTE_LENGTH(DK2B_PALETTE_LENGTH)
MCFG_PALETTE_INIT_OVERRIDE(dkong_state,dkong2b) /* wrong! */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c
index f6b5d18d5a7..07d6b4b2d43 100644
--- a/src/mame/drivers/dlair.c
+++ b/src/mame/drivers/dlair.c
@@ -245,7 +245,7 @@ UINT32 dlair_state::screen_update_dleuro(screen_device &screen, bitmap_ind16 &bi
for (x = 0; x < 32; x++)
{
UINT8 *base = &videoram[y * 64 + x * 2 + 1];
- machine().gfx[0]->opaque(bitmap,cliprect, base[0], base[1], 0, 0, 10 * x, 16 * y);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, base[0], base[1], 0, 0, 10 * x, 16 * y);
}
return 0;
@@ -784,7 +784,7 @@ static MACHINE_CONFIG_START( dleuro, dlair_state )
/* video hardware */
MCFG_LASERDISC_SCREEN_ADD_PAL("screen", "ld_22vp932")
- MCFG_GFXDECODE(dlair)
+ MCFG_GFXDECODE_ADD("gfxdecode", dlair)
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT_OVERRIDE(dlair_state,dleuro)
diff --git a/src/mame/drivers/dlair2.c b/src/mame/drivers/dlair2.c
index 5d33770e70d..dfa9d5aee5f 100644
--- a/src/mame/drivers/dlair2.c
+++ b/src/mame/drivers/dlair2.c
@@ -182,7 +182,7 @@ static MACHINE_CONFIG_START( dlair2, dlair2_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
-// MCFG_GFXDECODE(dlair2)
+// MCFG_GFXDECODE_ADD("gfxdecode", dlair2)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/dmndrby.c b/src/mame/drivers/dmndrby.c
index bfce85b5e62..7e58088b3e5 100644
--- a/src/mame/drivers/dmndrby.c
+++ b/src/mame/drivers/dmndrby.c
@@ -338,7 +338,7 @@ TILE_GET_INFO_MEMBER(dmndrby_state::get_dmndrby_tile_info)
int flipx = (attr&0x40)>>6;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
col,
@@ -358,9 +358,9 @@ UINT32 dmndrby_state::screen_update_dderby(screen_device &screen, bitmap_ind16 &
{
int x,y,count;
int off,scrolly;
- gfx_element *gfx = machine().gfx[0];
- gfx_element *sprites = machine().gfx[1];
- gfx_element *track = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
+ gfx_element *sprites = m_gfxdecode->gfx(1);
+ gfx_element *track = m_gfxdecode->gfx(2);
bitmap.fill(get_black_pen(machine()), cliprect);
@@ -537,7 +537,7 @@ static MACHINE_CONFIG_START( dderby, dmndrby_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(dmndrby_state, screen_update_dderby)
- MCFG_GFXDECODE(dmndrby)
+ MCFG_GFXDECODE_ADD("gfxdecode", dmndrby)
MCFG_PALETTE_LENGTH(0x300)
diff --git a/src/mame/drivers/docastle.c b/src/mame/drivers/docastle.c
index 681300238da..8c47cbe3af5 100644
--- a/src/mame/drivers/docastle.c
+++ b/src/mame/drivers/docastle.c
@@ -640,7 +640,7 @@ static MACHINE_CONFIG_START( docastle, docastle_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_9_828MHz/2, 0x138, 8, 0x100-8, 0x108, 0, 0xc0) // from crtc
MCFG_SCREEN_UPDATE_DRIVER(docastle_state, screen_update_docastle)
- MCFG_GFXDECODE(docastle)
+ MCFG_GFXDECODE_ADD("gfxdecode", docastle)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
diff --git a/src/mame/drivers/dogfgt.c b/src/mame/drivers/dogfgt.c
index e5dac09886a..b427a148975 100644
--- a/src/mame/drivers/dogfgt.c
+++ b/src/mame/drivers/dogfgt.c
@@ -253,7 +253,7 @@ static MACHINE_CONFIG_START( dogfgt, dogfgt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(dogfgt_state, screen_update_dogfgt)
- MCFG_GFXDECODE(dogfgt)
+ MCFG_GFXDECODE_ADD("gfxdecode", dogfgt)
MCFG_PALETTE_LENGTH(16+64)
/* sound hardware */
diff --git a/src/mame/drivers/dominob.c b/src/mame/drivers/dominob.c
index 463f80b8fc1..9cf3a99e523 100644
--- a/src/mame/drivers/dominob.c
+++ b/src/mame/drivers/dominob.c
@@ -93,7 +93,7 @@ public:
void dominob_state::video_start()
{
- machine().gfx[0]->set_granularity(8);
+ m_gfxdecode->gfx(0)->set_granularity(8);
}
void dominob_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -111,12 +111,12 @@ void dominob_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
code = m_spriteram[offs + 3] + ((m_spriteram[offs + 2] & 0x03) << 8) ;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
2 * code,
((m_spriteram[offs + 2] & 0xf8) >> 3) ,
flip_screen_x(),flip_screen_y(),
sx,sy + (flip_screen_y() ? 8 : -8),0);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
2 * code + 1,
((m_spriteram[offs + 2] & 0xf8) >> 3) ,
flip_screen_x(),flip_screen_y(),
@@ -136,7 +136,7 @@ UINT32 dominob_state::screen_update_dominob(screen_device &screen, bitmap_ind16
for (x = 0; x < 256 / 32; x++)
{
- machine().gfx[1]->opaque(bitmap,
+ m_gfxdecode->gfx(1)->opaque(bitmap,
cliprect,
m_bgram[index] + 256 * (m_bgram[index + 1] & 0xf),
m_bgram[index + 1] >> 4,
@@ -151,7 +151,7 @@ UINT32 dominob_state::screen_update_dominob(screen_device &screen, bitmap_ind16
for (x = 0; x < 32; x++)
{
- machine().gfx[0]->transpen(bitmap,
+ m_gfxdecode->gfx(0)->transpen(bitmap,
cliprect,
m_videoram[(y * 32 + x) * 2 + 1] + (m_videoram[(y * 32 + x) * 2] & 7) * 256,
(m_videoram[(y * 32 + x) * 2] >> 3),
@@ -311,7 +311,7 @@ static MACHINE_CONFIG_START( dominob, dominob_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(dominob_state, screen_update_dominob)
- MCFG_GFXDECODE(dominob)
+ MCFG_GFXDECODE_ADD("gfxdecode", dominob)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index c37cbb2040f..84ed6bec56b 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -873,7 +873,7 @@ static MACHINE_CONFIG_START( lastday, dooyong_state )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_lastday)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(lastday)
+ MCFG_GFXDECODE_ADD("gfxdecode", lastday)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dooyong_state,lastday)
@@ -917,7 +917,7 @@ static MACHINE_CONFIG_START( gulfstrm, dooyong_state )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_gulfstrm)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(lastday)
+ MCFG_GFXDECODE_ADD("gfxdecode", lastday)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dooyong_state,gulfstrm)
@@ -950,7 +950,7 @@ static MACHINE_CONFIG_START( pollux, dooyong_state )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_pollux)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(lastday)
+ MCFG_GFXDECODE_ADD("gfxdecode", lastday)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dooyong_state,pollux)
@@ -982,7 +982,7 @@ static MACHINE_CONFIG_START( bluehawk, dooyong_state )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_bluehawk)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(bluehawk)
+ MCFG_GFXDECODE_ADD("gfxdecode", bluehawk)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dooyong_state,bluehawk)
@@ -1014,7 +1014,7 @@ static MACHINE_CONFIG_START( flytiger, dooyong_state )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_flytiger)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(flytiger)
+ MCFG_GFXDECODE_ADD("gfxdecode", flytiger)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dooyong_state,flytiger)
@@ -1043,7 +1043,7 @@ static MACHINE_CONFIG_START( primella, dooyong_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 0*8, 32*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_primella)
- MCFG_GFXDECODE(primella)
+ MCFG_GFXDECODE_ADD("gfxdecode", primella)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(dooyong_state,primella)
@@ -1085,7 +1085,7 @@ static MACHINE_CONFIG_START( rshark, dooyong_state )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_rshark)
MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(rshark)
+ MCFG_GFXDECODE_ADD("gfxdecode", rshark)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(dooyong_state,rshark)
@@ -1115,7 +1115,7 @@ static MACHINE_CONFIG_START( superx, dooyong_state ) // dif mem map
MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_rshark)
MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(rshark)
+ MCFG_GFXDECODE_ADD("gfxdecode", rshark)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(dooyong_state,rshark)
@@ -1145,7 +1145,7 @@ static MACHINE_CONFIG_START( popbingo, dooyong_state )
MCFG_SCREEN_UPDATE_DRIVER(dooyong_state, screen_update_popbingo)
MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(popbingo)
+ MCFG_GFXDECODE_ADD("gfxdecode", popbingo)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(dooyong_state,popbingo)
diff --git a/src/mame/drivers/dragrace.c b/src/mame/drivers/dragrace.c
index ee7ea2455be..1743e94cbe7 100644
--- a/src/mame/drivers/dragrace.c
+++ b/src/mame/drivers/dragrace.c
@@ -338,7 +338,7 @@ static MACHINE_CONFIG_START( dragrace, dragrace_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(dragrace_state, screen_update_dragrace)
- MCFG_GFXDECODE(dragrace)
+ MCFG_GFXDECODE_ADD("gfxdecode", dragrace)
MCFG_PALETTE_LENGTH(16)
/* sound hardware */
diff --git a/src/mame/drivers/dreambal.c b/src/mame/drivers/dreambal.c
index 7123f09dfe6..3bdb59c9561 100644
--- a/src/mame/drivers/dreambal.c
+++ b/src/mame/drivers/dreambal.c
@@ -326,13 +326,14 @@ static MACHINE_CONFIG_START( dreambal, dreambal_state )
MCFG_SCREEN_UPDATE_DRIVER(dreambal_state, screen_update_dreambal)
MCFG_PALETTE_LENGTH(0x400/2)
- MCFG_GFXDECODE(dreambal)
+ MCFG_GFXDECODE_ADD("gfxdecode", dreambal)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") // 93lc46b
MCFG_DECO104_ADD("ioprot104")
MCFG_DECO16IC_ADD("tilegen1", dreambal_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/dreamwld.c b/src/mame/drivers/dreamwld.c
index 9a9e6520ff8..87da95781a7 100644
--- a/src/mame/drivers/dreamwld.c
+++ b/src/mame/drivers/dreamwld.c
@@ -174,7 +174,7 @@ public:
void dreamwld_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT32 *source = m_spritebuf1;
UINT32 *finish = m_spritebuf1 + 0x1000 / 4;
UINT16 *redirect = (UINT16 *)memregion("spritelut")->base();
@@ -249,7 +249,7 @@ TILE_GET_INFO_MEMBER(dreamwld_state::get_dreamwld_bg_tile_info)
tileno = (tile_index & 1) ? (m_bg_videoram[tile_index >> 1] & 0xffff) : ((m_bg_videoram[tile_index >> 1] >> 16) & 0xffff);
colour = tileno >> 13;
tileno &= 0x1fff;
- SET_TILE_INFO_MEMBER(1, tileno + m_tilebank[0] * 0x2000, 0x80 + colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno + m_tilebank[0] * 0x2000, 0x80 + colour, 0);
}
@@ -266,7 +266,7 @@ TILE_GET_INFO_MEMBER(dreamwld_state::get_dreamwld_bg2_tile_info)
tileno = (tile_index & 1) ? (m_bg2_videoram[tile_index >> 1] & 0xffff) : ((m_bg2_videoram[tile_index >> 1] >> 16) & 0xffff);
colour = tileno >> 13;
tileno &= 0x1fff;
- SET_TILE_INFO_MEMBER(1, tileno + m_tilebank[1] * 0x2000, 0xc0 + colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno + m_tilebank[1] * 0x2000, 0xc0 + colour, 0);
}
void dreamwld_state::video_start()
@@ -601,7 +601,7 @@ static MACHINE_CONFIG_START( baryon, dreamwld_state )
MCFG_SCREEN_VBLANK_DRIVER(dreamwld_state, screen_eof_dreamwld)
MCFG_PALETTE_LENGTH(0x1000)
- MCFG_GFXDECODE(dreamwld)
+ MCFG_GFXDECODE_ADD("gfxdecode", dreamwld)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/drgnmst.c b/src/mame/drivers/drgnmst.c
index a176f18a846..beaf1da5194 100644
--- a/src/mame/drivers/drgnmst.c
+++ b/src/mame/drivers/drgnmst.c
@@ -400,7 +400,7 @@ static MACHINE_CONFIG_START( drgnmst, drgnmst_state )
MCFG_CPU_IO_MAP(drgnmst_sound_io_map)
- MCFG_GFXDECODE(drgnmst)
+ MCFG_GFXDECODE_ADD("gfxdecode", drgnmst)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/drmicro.c b/src/mame/drivers/drmicro.c
index 347b4b91903..6eafe6fb0df 100644
--- a/src/mame/drivers/drmicro.c
+++ b/src/mame/drivers/drmicro.c
@@ -258,7 +258,7 @@ static MACHINE_CONFIG_START( drmicro, drmicro_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(drmicro_state, screen_update_drmicro)
- MCFG_GFXDECODE(drmicro)
+ MCFG_GFXDECODE_ADD("gfxdecode", drmicro)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/drtomy.c b/src/mame/drivers/drtomy.c
index 8604f9745a8..ea5f5c911ce 100644
--- a/src/mame/drivers/drtomy.c
+++ b/src/mame/drivers/drtomy.c
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(drtomy_state::get_tile_info_fg)
{
int code = m_videoram_fg[tile_index] & 0xfff;
int color = (m_videoram_fg[tile_index] & 0xf000) >> 12;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
@@ -62,7 +62,7 @@ TILE_GET_INFO_MEMBER(drtomy_state::get_tile_info_bg)
{
int code = m_videoram_bg[tile_index] & 0xfff;
int color = (m_videoram_bg[tile_index] & 0xf000) >> 12;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
@@ -86,7 +86,7 @@ TILE_GET_INFO_MEMBER(drtomy_state::get_tile_info_bg)
void drtomy_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
int i, x, y, ex, ey;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
static const int x_offset[2] = {0x0, 0x2};
static const int y_offset[2] = {0x0, 0x1};
@@ -308,7 +308,7 @@ static MACHINE_CONFIG_START( drtomy, drtomy_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(drtomy_state, screen_update_drtomy)
- MCFG_GFXDECODE(drtomy)
+ MCFG_GFXDECODE_ADD("gfxdecode", drtomy)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/drw80pkr.c b/src/mame/drivers/drw80pkr.c
index 175feab91c3..6947d1c5cce 100644
--- a/src/mame/drivers/drw80pkr.c
+++ b/src/mame/drivers/drw80pkr.c
@@ -333,7 +333,7 @@ TILE_GET_INFO_MEMBER(drw80pkr_state::get_bg_tile_info)
int color = m_color_ram[tile_index];
int code = m_video_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void drw80pkr_state::video_start()
@@ -480,7 +480,7 @@ static MACHINE_CONFIG_START( drw80pkr, drw80pkr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 24*8-1, 0*8, 27*8-1)
MCFG_SCREEN_UPDATE_DRIVER(drw80pkr_state, screen_update_drw80pkr)
- MCFG_GFXDECODE(drw80pkr)
+ MCFG_GFXDECODE_ADD("gfxdecode", drw80pkr)
MCFG_PALETTE_LENGTH(16*16)
diff --git a/src/mame/drivers/dunhuang.c b/src/mame/drivers/dunhuang.c
index 2dcd615078c..561493b37fb 100644
--- a/src/mame/drivers/dunhuang.c
+++ b/src/mame/drivers/dunhuang.c
@@ -137,13 +137,13 @@ TILE_GET_INFO_MEMBER(dunhuang_state::get_tile_info)
{
UINT16 code = m_videoram[tile_index];
UINT8 color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(dunhuang_state::get_tile_info2)
{
UINT16 code = m_videoram2[tile_index];
UINT8 color = m_colorram2[tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
void dunhuang_state::video_start()
@@ -832,7 +832,7 @@ static MACHINE_CONFIG_START( dunhuang, dunhuang_state )
MCFG_SCREEN_VISIBLE_AREA(0+8, 512-8-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(dunhuang_state, screen_update_dunhuang)
- MCFG_GFXDECODE(dunhuang)
+ MCFG_GFXDECODE_ADD("gfxdecode", dunhuang)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/dwarfd.c b/src/mame/drivers/dwarfd.c
index ae424868b4f..ca17e71bf55 100644
--- a/src/mame/drivers/dwarfd.c
+++ b/src/mame/drivers/dwarfd.c
@@ -834,7 +834,7 @@ void dwarfd_state::drawCrt( bitmap_rgb32 &bitmap,const rectangle &cliprect )
else
b = 1;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
tile + (m_bank + bank2) * 128,
0,
0, 0,
@@ -1066,7 +1066,7 @@ static MACHINE_CONFIG_START( dwarfd, dwarfd_state )
MCFG_SCREEN_VISIBLE_AREA(0, 272*2-1, 0, 200-1)
MCFG_SCREEN_UPDATE_DRIVER(dwarfd_state, screen_update_dwarfd)
- MCFG_GFXDECODE(dwarfd)
+ MCFG_GFXDECODE_ADD("gfxdecode", dwarfd)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/dynadice.c b/src/mame/drivers/dynadice.c
index 468441f59fb..2dcae48700f 100644
--- a/src/mame/drivers/dynadice.c
+++ b/src/mame/drivers/dynadice.c
@@ -203,7 +203,7 @@ GFXDECODE_END
TILE_GET_INFO_MEMBER(dynadice_state::get_tile_info)
{
int code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(1, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, 0);
}
void dynadice_state::video_start()
@@ -262,7 +262,7 @@ static MACHINE_CONFIG_START( dynadice, dynadice_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 34*8-1, 3*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(dynadice_state, screen_update_dynadice)
- MCFG_GFXDECODE(dynadice)
+ MCFG_GFXDECODE_ADD("gfxdecode", dynadice)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/drivers/dynduke.c b/src/mame/drivers/dynduke.c
index dff9612d5c1..91b79f0d61a 100644
--- a/src/mame/drivers/dynduke.c
+++ b/src/mame/drivers/dynduke.c
@@ -295,7 +295,7 @@ static MACHINE_CONFIG_START( dynduke, dynduke_state )
MCFG_SCREEN_UPDATE_DRIVER(dynduke_state, screen_update_dynduke)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(dynduke)
+ MCFG_GFXDECODE_ADD("gfxdecode", dynduke)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/egghunt.c b/src/mame/drivers/egghunt.c
index 147d3583613..80a39759cf8 100644
--- a/src/mame/drivers/egghunt.c
+++ b/src/mame/drivers/egghunt.c
@@ -119,7 +119,7 @@ void egghunt_state::draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect
sx = 496 - sx;
sy = 240 - sy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipscreen,flipscreen,
@@ -142,7 +142,7 @@ TILE_GET_INFO_MEMBER(egghunt_state::get_bg_tile_info)
// code += 0;
}
- SET_TILE_INFO_MEMBER(0, code, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, colour, 0);
}
READ8_MEMBER(egghunt_state::egghunt_bgram_r)
@@ -426,7 +426,7 @@ static MACHINE_CONFIG_START( egghunt, egghunt_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, 56*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(egghunt_state, screen_update_egghunt)
- MCFG_GFXDECODE(egghunt)
+ MCFG_GFXDECODE_ADD("gfxdecode", egghunt)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/eprom.c b/src/mame/drivers/eprom.c
index 56bacd2e12e..a528a039829 100644
--- a/src/mame/drivers/eprom.c
+++ b/src/mame/drivers/eprom.c
@@ -397,12 +397,13 @@ static MACHINE_CONFIG_START( eprom, eprom_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(eprom)
+ MCFG_GFXDECODE_ADD("gfxdecode", eprom)
MCFG_PALETTE_LENGTH(2048)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, eprom_state, get_playfield_tile_info, 8,8, SCAN_COLS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, eprom_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", eprom_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
@@ -437,12 +438,13 @@ static MACHINE_CONFIG_START( klaxp, eprom_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(eprom)
+ MCFG_GFXDECODE_ADD("gfxdecode", eprom)
MCFG_PALETTE_LENGTH(2048)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, eprom_state, get_playfield_tile_info, 8,8, SCAN_COLS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, eprom_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", eprom_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
@@ -476,12 +478,13 @@ static MACHINE_CONFIG_START( guts, eprom_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(guts)
+ MCFG_GFXDECODE_ADD("gfxdecode", guts)
MCFG_PALETTE_LENGTH(2048)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, eprom_state, guts_get_playfield_tile_info, 8,8, SCAN_COLS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, eprom_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", eprom_state::s_guts_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/equites.c b/src/mame/drivers/equites.c
index da0dae872ae..832bd34fdfa 100644
--- a/src/mame/drivers/equites.c
+++ b/src/mame/drivers/equites.c
@@ -1239,7 +1239,7 @@ static MACHINE_CONFIG_START( equites, equites_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 3*8, 29*8-1)
MCFG_SCREEN_UPDATE_DRIVER(equites_state, screen_update_equites)
- MCFG_GFXDECODE(equites)
+ MCFG_GFXDECODE_ADD("gfxdecode", equites)
MCFG_PALETTE_LENGTH(0x180)
MCFG_PALETTE_INIT_OVERRIDE(equites_state,equites)
MCFG_VIDEO_START_OVERRIDE(equites_state,equites)
@@ -1276,7 +1276,7 @@ static MACHINE_CONFIG_START( splndrbt, equites_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(equites_state, screen_update_splndrbt)
- MCFG_GFXDECODE(splndrbt)
+ MCFG_GFXDECODE_ADD("gfxdecode", splndrbt)
MCFG_PALETTE_LENGTH(0x280)
MCFG_PALETTE_INIT_OVERRIDE(equites_state,splndrbt)
MCFG_VIDEO_START_OVERRIDE(equites_state,splndrbt)
diff --git a/src/mame/drivers/esd16.c b/src/mame/drivers/esd16.c
index c9070043876..aaeaa179bcb 100644
--- a/src/mame/drivers/esd16.c
+++ b/src/mame/drivers/esd16.c
@@ -626,8 +626,9 @@ static MACHINE_CONFIG_START( esd16, esd16_state )
decospr_device::set_is_bootleg(*device, true);
decospr_device::set_pri_callback(*device, esd16_state::hedpanic_pri_callback);
decospr_device::set_flipallx(*device, 1);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(esd16)
+ MCFG_GFXDECODE_ADD("gfxdecode", esd16)
MCFG_PALETTE_LENGTH(0x1000/2)
@@ -652,7 +653,7 @@ static MACHINE_CONFIG_DERIVED( jumppop, esd16 )
MCFG_CPU_MODIFY("audiocpu")
MCFG_CPU_CLOCK( XTAL_14MHz/4) /* 3.5MHz - Verified */
- MCFG_GFXDECODE(jumppop)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", jumppop)
MCFG_SOUND_REPLACE("ymsnd", YM3812, XTAL_14MHz/4) /* 3.5MHz - Verified */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
diff --git a/src/mame/drivers/esh.c b/src/mame/drivers/esh.c
index 4532b8727ac..7965f502be0 100644
--- a/src/mame/drivers/esh.c
+++ b/src/mame/drivers/esh.c
@@ -88,7 +88,7 @@ UINT32 esh_state::screen_update_esh(screen_device &screen, bitmap_rgb32 &bitmap,
//int blinkLine = (m_tile_control_ram[current_screen_character] & 0x40) >> 6;
//int blinkChar = (m_tile_control_ram[current_screen_character] & 0x80) >> 7;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_tile_ram[current_screen_character] + (0x100 * tileOffs),
palIndex,
0, 0, charx*8, chary*8, 0);
@@ -333,7 +333,7 @@ static MACHINE_CONFIG_START( esh, esh_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_GFXDECODE(esh)
+ MCFG_GFXDECODE_ADD("gfxdecode", esh)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/espial.c b/src/mame/drivers/espial.c
index 222bf3b8a70..da47b8c1b65 100644
--- a/src/mame/drivers/espial.c
+++ b/src/mame/drivers/espial.c
@@ -331,7 +331,7 @@ static MACHINE_CONFIG_START( espial, espial_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(espial_state, screen_update_espial)
- MCFG_GFXDECODE(espial)
+ MCFG_GFXDECODE_ADD("gfxdecode", espial)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/ettrivia.c b/src/mame/drivers/ettrivia.c
index 9dfb7361ab8..62e66c7a506 100644
--- a/src/mame/drivers/ettrivia.c
+++ b/src/mame/drivers/ettrivia.c
@@ -206,7 +206,7 @@ void ettrivia_state::get_tile_info(tile_data &tileinfo, int tile_index, UINT8 *v
code += m_gfx_bank * 0x100;
- SET_TILE_INFO_MEMBER(gfx_code,code,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfx_code,code,color,0);
}
TILE_GET_INFO_MEMBER(ettrivia_state::get_tile_info_bg)
@@ -316,7 +316,7 @@ static MACHINE_CONFIG_START( ettrivia, ettrivia_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ettrivia_state, screen_update_ettrivia)
- MCFG_GFXDECODE(ettrivia)
+ MCFG_GFXDECODE_ADD("gfxdecode", ettrivia)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/exedexes.c b/src/mame/drivers/exedexes.c
index 98de5e9954e..1f586d4e782 100644
--- a/src/mame/drivers/exedexes.c
+++ b/src/mame/drivers/exedexes.c
@@ -234,7 +234,7 @@ static MACHINE_CONFIG_START( exedexes, exedexes_state )
MCFG_SCREEN_UPDATE_DRIVER(exedexes_state, screen_update_exedexes)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(exedexes)
+ MCFG_GFXDECODE_ADD("gfxdecode", exedexes)
MCFG_PALETTE_LENGTH(64*4+64*4+16*16+16*16)
diff --git a/src/mame/drivers/exerion.c b/src/mame/drivers/exerion.c
index ae098d66028..3816735a5c4 100644
--- a/src/mame/drivers/exerion.c
+++ b/src/mame/drivers/exerion.c
@@ -419,7 +419,7 @@ static MACHINE_CONFIG_START( exerion, exerion_state )
MCFG_SCREEN_RAW_PARAMS(EXERION_PIXEL_CLOCK, EXERION_HTOTAL, EXERION_HBEND, EXERION_HBSTART, EXERION_VTOTAL, EXERION_VBEND, EXERION_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(exerion_state, screen_update_exerion)
- MCFG_GFXDECODE(exerion)
+ MCFG_GFXDECODE_ADD("gfxdecode", exerion)
MCFG_PALETTE_LENGTH(256*3)
diff --git a/src/mame/drivers/exidy.c b/src/mame/drivers/exidy.c
index 54ad3793083..900a7b2043f 100644
--- a/src/mame/drivers/exidy.c
+++ b/src/mame/drivers/exidy.c
@@ -811,7 +811,7 @@ static MACHINE_CONFIG_START( base, exidy_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_GFXDECODE(exidy)
+ MCFG_GFXDECODE_ADD("gfxdecode", exidy)
MCFG_PALETTE_LENGTH(8)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/expro02.c b/src/mame/drivers/expro02.c
index 8ff64870904..e7939d3fa42 100644
--- a/src/mame/drivers/expro02.c
+++ b/src/mame/drivers/expro02.c
@@ -559,16 +559,18 @@ static MACHINE_CONFIG_START( galsnew, expro02_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-32-1)
MCFG_SCREEN_UPDATE_DRIVER(expro02_state, screen_update_galsnew)
- MCFG_GFXDECODE(1x4bit_1x4bit)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1x4bit_1x4bit)
MCFG_PALETTE_LENGTH(2048 + 32768)
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x5b, 0x8, 256, 224);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD_VU002_SPRITES
kaneko16_sprite_device::set_priorities(*device, 8,8,8,8); // above all (not verified)
kaneko16_sprite_device::set_offsets(*device, 0, -0x40);
+ MCFG_KANEKO16_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("calc1_mcu", KANEKO_HIT, 0)
kaneko_hit_device::set_type(*device, 0);
diff --git a/src/mame/drivers/exprraid.c b/src/mame/drivers/exprraid.c
index b7daffbf7a3..7e3cf4e649d 100644
--- a/src/mame/drivers/exprraid.c
+++ b/src/mame/drivers/exprraid.c
@@ -516,7 +516,7 @@ static MACHINE_CONFIG_START( exprraid, exprraid_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz/2, 384, 0, 256, 262, 8, 256-8) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(exprraid_state, screen_update_exprraid)
- MCFG_GFXDECODE(exprraid)
+ MCFG_GFXDECODE_ADD("gfxdecode", exprraid)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/exzisus.c b/src/mame/drivers/exzisus.c
index b9b58677796..4bde78db4ce 100644
--- a/src/mame/drivers/exzisus.c
+++ b/src/mame/drivers/exzisus.c
@@ -286,7 +286,7 @@ static MACHINE_CONFIG_START( exzisus, exzisus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(exzisus_state, screen_update_exzisus)
- MCFG_GFXDECODE(exzisus)
+ MCFG_GFXDECODE_ADD("gfxdecode", exzisus)
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c
index 5f76dc38488..480e2f01e37 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -461,17 +461,20 @@ static MACHINE_CONFIG_START( f1gp, f1gp_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(f1gp_state, screen_update_f1gp)
- MCFG_GFXDECODE(f1gp)
+ MCFG_GFXDECODE_ADD("gfxdecode", f1gp)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( f1gp_state, f1gp_old_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(1)
MCFG_VSYSTEM_SPR2_SET_PRITYPE(2)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("vsystem_spr_ol2", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_TILE_INDIRECT( f1gp_state, f1gp_ol2_tile_callback )
MCFG_VSYSTEM_SPR2_SET_GFXREGION(2)
MCFG_VSYSTEM_SPR2_SET_PRITYPE(2)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp)
@@ -513,7 +516,7 @@ static MACHINE_CONFIG_START( f1gpb, f1gp_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(f1gp_state, screen_update_f1gpb)
- MCFG_GFXDECODE(f1gp)
+ MCFG_GFXDECODE_ADD("gfxdecode", f1gp)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gpb)
@@ -534,7 +537,7 @@ static MACHINE_CONFIG_DERIVED( f1gp2, f1gp )
MCFG_CPU_PROGRAM_MAP(f1gp2_cpu1_map)
/* video hardware */
- MCFG_GFXDECODE(f1gp2)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", f1gp2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(f1gp_state, screen_update_f1gp2)
@@ -543,6 +546,7 @@ static MACHINE_CONFIG_DERIVED( f1gp2, f1gp )
MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0)
MCFG_VSYSTEM_SPR_SET_TILE_INDIRECT( f1gp_state, f1gp2_tile_callback )
MCFG_VSYSTEM_SPR_SET_GFXREGION(1)
+ MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode")
MCFG_DEVICE_REMOVE("k053936")
MCFG_K053936_ADD("k053936", f1gp2_k053936_intf)
diff --git a/src/mame/drivers/famibox.c b/src/mame/drivers/famibox.c
index cd3a3fb86b0..ea2c058ead0 100644
--- a/src/mame/drivers/famibox.c
+++ b/src/mame/drivers/famibox.c
@@ -591,7 +591,7 @@ static MACHINE_CONFIG_START( famibox, famibox_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(famibox_state, screen_update_famibox)
- MCFG_GFXDECODE(famibox)
+ MCFG_GFXDECODE_ADD("gfxdecode", famibox)
MCFG_PALETTE_LENGTH(8*4*16)
diff --git a/src/mame/drivers/fantland.c b/src/mame/drivers/fantland.c
index 972868148fa..d71641ad8a2 100644
--- a/src/mame/drivers/fantland.c
+++ b/src/mame/drivers/fantland.c
@@ -860,7 +860,7 @@ static MACHINE_CONFIG_START( fantland, fantland_state )
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update_fantland)
- MCFG_GFXDECODE(fantland)
+ MCFG_GFXDECODE_ADD("gfxdecode", fantland)
MCFG_PALETTE_LENGTH(256)
@@ -904,7 +904,7 @@ static MACHINE_CONFIG_START( galaxygn, fantland_state )
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update_fantland)
- MCFG_GFXDECODE(fantland)
+ MCFG_GFXDECODE_ADD("gfxdecode", fantland)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
@@ -1002,7 +1002,7 @@ static MACHINE_CONFIG_START( borntofi, fantland_state )
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update_fantland)
- MCFG_GFXDECODE(fantland)
+ MCFG_GFXDECODE_ADD("gfxdecode", fantland)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
@@ -1037,7 +1037,7 @@ static MACHINE_CONFIG_START( wheelrun, fantland_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update_fantland)
- MCFG_GFXDECODE(fantland)
+ MCFG_GFXDECODE_ADD("gfxdecode", fantland)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
diff --git a/src/mame/drivers/fastfred.c b/src/mame/drivers/fastfred.c
index 65c93488a55..25f8f88a2bf 100644
--- a/src/mame/drivers/fastfred.c
+++ b/src/mame/drivers/fastfred.c
@@ -124,7 +124,7 @@ READ8_MEMBER(fastfred_state::boggy84_custom_io_r)
MACHINE_START_MEMBER(fastfred_state,imago)
{
- machine().gfx[1]->set_source(m_imago_sprites);
+ m_gfxdecode->gfx(1)->set_source(m_imago_sprites);
}
WRITE8_MEMBER(fastfred_state::imago_dma_irq_w)
@@ -151,7 +151,7 @@ WRITE8_MEMBER(fastfred_state::imago_sprites_dma_w)
sprites_data = rom[m_imago_sprites_address + 0x2000*2 + m_imago_sprites_bank * 0x1000];
m_imago_sprites[offset + 0x800*2] = sprites_data;
- machine().gfx[1]->mark_dirty(offset/32);
+ m_gfxdecode->gfx(1)->mark_dirty(offset/32);
}
READ8_MEMBER(fastfred_state::imago_sprites_offset_r)
@@ -653,7 +653,7 @@ static MACHINE_CONFIG_START( fastfred, fastfred_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(fastfred_state, screen_update_fastfred)
- MCFG_GFXDECODE(fastfred)
+ MCFG_GFXDECODE_ADD("gfxdecode", fastfred)
MCFG_PALETTE_LENGTH(32*8)
MCFG_PALETTE_INIT_OVERRIDE(fastfred_state,fastfred)
@@ -678,7 +678,7 @@ static MACHINE_CONFIG_DERIVED( jumpcoas, fastfred )
MCFG_DEVICE_REMOVE("audiocpu")
/* video hardware */
- MCFG_GFXDECODE(jumpcoas)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", jumpcoas)
/* sound hardware */
MCFG_DEVICE_REMOVE("ay8910.2")
@@ -694,7 +694,7 @@ static MACHINE_CONFIG_DERIVED( imago, fastfred )
/* video hardware */
MCFG_PALETTE_LENGTH(256+64+2) /* 256 for characters, 64 for the stars and 2 for the web */
- MCFG_GFXDECODE(imago)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", imago)
MCFG_VIDEO_START_OVERRIDE(fastfred_state,imago)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/fastlane.c b/src/mame/drivers/fastlane.c
index 7f2830446cb..ae102fb23a1 100644
--- a/src/mame/drivers/fastlane.c
+++ b/src/mame/drivers/fastlane.c
@@ -217,7 +217,7 @@ static MACHINE_CONFIG_START( fastlane, fastlane_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 35*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(fastlane_state, screen_update_fastlane)
- MCFG_GFXDECODE(fastlane)
+ MCFG_GFXDECODE_ADD("gfxdecode", fastlane)
MCFG_PALETTE_LENGTH(1024*16)
MCFG_K007121_ADD("k007121")
diff --git a/src/mame/drivers/fcombat.c b/src/mame/drivers/fcombat.c
index 4b13dda039d..55a590ddbfc 100644
--- a/src/mame/drivers/fcombat.c
+++ b/src/mame/drivers/fcombat.c
@@ -294,7 +294,7 @@ static MACHINE_CONFIG_START( fcombat, fcombat_state )
MCFG_SCREEN_RAW_PARAMS(FCOMBAT_PIXEL_CLOCK, FCOMBAT_HTOTAL, FCOMBAT_HBEND, FCOMBAT_HBSTART, FCOMBAT_VTOTAL, FCOMBAT_VBEND, FCOMBAT_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(fcombat_state, screen_update_fcombat)
- MCFG_GFXDECODE(fcombat)
+ MCFG_GFXDECODE_ADD("gfxdecode", fcombat)
MCFG_PALETTE_LENGTH(256*3)
diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c
index 52244da3436..d9c5d374944 100644
--- a/src/mame/drivers/fcrash.c
+++ b/src/mame/drivers/fcrash.c
@@ -486,7 +486,7 @@ void cps_state::fcrash_render_sprites( screen_device &screen, bitmap_ind16 &bitm
{
int pos;
int base = m_sprite_base / 2;
- int num_sprites = machine().gfx[2]->elements();
+ int num_sprites = m_gfxdecode->gfx(2)->elements();
int last_sprite_offset = 0x1ffc;
UINT16 *sprite_ram = m_gfxram;
UINT16 tileno,flipx,flipy,colour,xpos,ypos;
@@ -513,7 +513,7 @@ void cps_state::fcrash_render_sprites( screen_device &screen, bitmap_ind16 &bitm
ypos = 256 - ypos - 16;
xpos = xpos + m_sprite_x_offset + 49;
- machine().gfx[2]->prio_transpen(bitmap,cliprect, tileno, colour, flipx, flipy, xpos, ypos, screen.priority(), 0x02, 15);
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap,cliprect, tileno, colour, flipx, flipy, xpos, ypos, screen.priority(), 0x02, 15);
}
}
}
@@ -1489,7 +1489,7 @@ static MACHINE_CONFIG_START( fcrash, cps_state )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
@@ -1547,7 +1547,7 @@ static MACHINE_CONFIG_START( kodb, cps_state )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(0xc00)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
@@ -1587,7 +1587,7 @@ static MACHINE_CONFIG_START( sf2mdt, cps_state )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
@@ -1630,7 +1630,7 @@ static MACHINE_CONFIG_START( knightsb, cps_state )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(0xc00)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
@@ -1969,7 +1969,7 @@ static MACHINE_CONFIG_START( dinopic, cps_state )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(0xc00)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
@@ -2121,7 +2121,7 @@ static MACHINE_CONFIG_START( sgyxz, cps_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(0xc00)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
@@ -2214,7 +2214,7 @@ static MACHINE_CONFIG_START( punipic, cps_state )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(0xc00)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
@@ -2400,7 +2400,7 @@ static MACHINE_CONFIG_START( sf2m1, cps_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_16MHz/2, 518, 64, 448, 259, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(0xc00)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
@@ -2604,7 +2604,7 @@ static MACHINE_CONFIG_START( slampic, cps_state )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
- MCFG_GFXDECODE(cps1)
+ MCFG_GFXDECODE_ADD("gfxdecode", cps1)
MCFG_PALETTE_LENGTH(0xc00)
MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
diff --git a/src/mame/drivers/feversoc.c b/src/mame/drivers/feversoc.c
index e2e96009f1f..48e934fd0a1 100644
--- a/src/mame/drivers/feversoc.c
+++ b/src/mame/drivers/feversoc.c
@@ -118,7 +118,7 @@ UINT32 feversoc_state::screen_update_feversoc(screen_device &screen, bitmap_ind1
for(dx=0;dx<w;dx++)
for(dy=0;dy<h;dy++)
- machine().gfx[0]->transpen(bitmap,cliprect,spr_offs++,colour,0,0,(sx+dx*16),(sy+dy*16),0x3f);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,spr_offs++,colour,0,0,(sx+dx*16),(sy+dy*16),0x3f);
}
return 0;
@@ -272,7 +272,7 @@ static MACHINE_CONFIG_START( feversoc, feversoc_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1) //dynamic resolution?
MCFG_SCREEN_UPDATE_DRIVER(feversoc_state, screen_update_feversoc)
- MCFG_GFXDECODE(feversoc)
+ MCFG_GFXDECODE_ADD("gfxdecode", feversoc)
MCFG_PALETTE_LENGTH(0x1000)
diff --git a/src/mame/drivers/fgoal.c b/src/mame/drivers/fgoal.c
index 7873ddca9d3..2ef7bb18421 100644
--- a/src/mame/drivers/fgoal.c
+++ b/src/mame/drivers/fgoal.c
@@ -377,7 +377,7 @@ static MACHINE_CONFIG_START( fgoal, fgoal_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 16, 255)
MCFG_SCREEN_UPDATE_DRIVER(fgoal_state, screen_update_fgoal)
- MCFG_GFXDECODE(fgoal)
+ MCFG_GFXDECODE_ADD("gfxdecode", fgoal)
MCFG_PALETTE_LENGTH(128 + 16 + 1)
diff --git a/src/mame/drivers/finalizr.c b/src/mame/drivers/finalizr.c
index 87935d4fec0..bc3e806bd70 100644
--- a/src/mame/drivers/finalizr.c
+++ b/src/mame/drivers/finalizr.c
@@ -270,7 +270,7 @@ static MACHINE_CONFIG_START( finalizr, finalizr_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 35*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(finalizr_state, screen_update_finalizr)
- MCFG_GFXDECODE(finalizr)
+ MCFG_GFXDECODE_ADD("gfxdecode", finalizr)
MCFG_PALETTE_LENGTH(2*16*16)
diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c
index ab6e0ca07ec..9991a0bc247 100644
--- a/src/mame/drivers/firefox.c
+++ b/src/mame/drivers/firefox.c
@@ -203,7 +203,7 @@ WRITE8_MEMBER(firefox_state::firefox_disc_data_w)
TILE_GET_INFO_MEMBER(firefox_state::bgtile_get_info)
{
- SET_TILE_INFO_MEMBER(0, m_tileram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, m_tileram[tile_index], 0, 0);
}
@@ -247,7 +247,7 @@ UINT32 firefox_state::screen_update_firefox(screen_device &screen, bitmap_rgb32
int flipx = flags & 0x20;
int code = sprite_data[ 15 - row ] + ( 256 * ( ( flags >> 6 ) & 3 ) );
- machine().gfx[ 1 ]->transpen(bitmap,cliprect, code, color, flipx, flipy, x + 8, gfxtop + 500 - y - ( row * 16 ), 0 );
+ m_gfxdecode->gfx( 1 )->transpen(bitmap,cliprect, code, color, flipx, flipy, x + 8, gfxtop + 500 - y - ( row * 16 ), 0 );
}
}
}
@@ -719,7 +719,7 @@ static MACHINE_CONFIG_START( firefox, firefox_state )
MCFG_WATCHDOG_TIME_INIT(attotime::from_hz((double)MASTER_XTAL/8/16/16/16/16))
/* video hardware */
- MCFG_GFXDECODE(firefox)
+ MCFG_GFXDECODE_ADD("gfxdecode", firefox)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c
index 8c9abdd0493..ce99197bd41 100644
--- a/src/mame/drivers/firetrap.c
+++ b/src/mame/drivers/firetrap.c
@@ -650,10 +650,9 @@ static MACHINE_CONFIG_START( firetrap, firetrap_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(firetrap_state, screen_update_firetrap)
- MCFG_GFXDECODE(firetrap)
+ MCFG_GFXDECODE_ADD("gfxdecode", firetrap)
MCFG_PALETTE_LENGTH(256)
-
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -684,12 +683,11 @@ static MACHINE_CONFIG_START( firetrapbl, firetrap_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(firetrap_state, screen_update_firetrap)
- MCFG_GFXDECODE(firetrap)
+ MCFG_GFXDECODE_ADD("gfxdecode", firetrap)
MCFG_PALETTE_LENGTH(256)
- MCFG_SCREEN_UPDATE_DRIVER(firetrap_state, screen_update_firetrap)
-
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/firetrk.c b/src/mame/drivers/firetrk.c
index 4e71d7360d9..0e91959dbe1 100644
--- a/src/mame/drivers/firetrk.c
+++ b/src/mame/drivers/firetrk.c
@@ -867,7 +867,7 @@ static MACHINE_CONFIG_START( firetrk, firetrk_state )
MCFG_SCREEN_UPDATE_DRIVER(firetrk_state, screen_update_firetrk)
MCFG_PALETTE_LENGTH(28)
- MCFG_GFXDECODE(firetrk)
+ MCFG_GFXDECODE_ADD("gfxdecode", firetrk)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -889,7 +889,7 @@ static MACHINE_CONFIG_DERIVED( superbug, firetrk )
MCFG_SCREEN_UPDATE_DRIVER(firetrk_state, screen_update_superbug)
MCFG_VIDEO_START_OVERRIDE(firetrk_state,superbug)
- MCFG_GFXDECODE(superbug)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", superbug)
MCFG_PALETTE_LENGTH(28)
/* sound hardware */
@@ -910,7 +910,7 @@ static MACHINE_CONFIG_DERIVED( montecar, firetrk )
MCFG_SCREEN_UPDATE_DRIVER(firetrk_state, screen_update_montecar)
MCFG_VIDEO_START_OVERRIDE(firetrk_state,montecar)
- MCFG_GFXDECODE(montecar)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", montecar)
MCFG_PALETTE_INIT_OVERRIDE(firetrk_state,montecar)
MCFG_PALETTE_LENGTH(46)
diff --git a/src/mame/drivers/fitfight.c b/src/mame/drivers/fitfight.c
index b1c37a69093..dbc3e5d477a 100644
--- a/src/mame/drivers/fitfight.c
+++ b/src/mame/drivers/fitfight.c
@@ -742,7 +742,7 @@ static MACHINE_CONFIG_START( fitfight, fitfight_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", fitfight_state, snd_irq)
- MCFG_GFXDECODE(fitfight)
+ MCFG_GFXDECODE_ADD("gfxdecode", fitfight)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -767,7 +767,7 @@ static MACHINE_CONFIG_START( bbprot, fitfight_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", fitfight_state, irq2_line_hold)
- MCFG_GFXDECODE(prot)
+ MCFG_GFXDECODE_ADD("gfxdecode", prot)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/flipjack.c b/src/mame/drivers/flipjack.c
index 5f87b9e7189..809bd73f92c 100644
--- a/src/mame/drivers/flipjack.c
+++ b/src/mame/drivers/flipjack.c
@@ -195,7 +195,7 @@ UINT32 flipjack_state::screen_update_flipjack(screen_device &screen, bitmap_rgb3
{
for (x=0;x<32;x++)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int tile = m_bank << 8 | m_vram[x+y*0x100];
int color = m_cram[x+y*0x100] & 0x3f;
@@ -498,7 +498,7 @@ static MACHINE_CONFIG_START( flipjack, flipjack_state )
MCFG_MC6845_ADD("crtc", HD6845, "screen", VIDEO_CLOCK/8, mc6845_intf)
- MCFG_GFXDECODE(flipjack)
+ MCFG_GFXDECODE_ADD("gfxdecode", flipjack)
MCFG_PALETTE_LENGTH(128+8)
diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c
index ae76048beb9..09fec146b18 100644
--- a/src/mame/drivers/flkatck.c
+++ b/src/mame/drivers/flkatck.c
@@ -229,7 +229,7 @@ static MACHINE_CONFIG_START( flkatck, flkatck_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 35*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(flkatck_state, screen_update_flkatck)
- MCFG_GFXDECODE(flkatck)
+ MCFG_GFXDECODE_ADD("gfxdecode", flkatck)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/flower.c b/src/mame/drivers/flower.c
index 2ff6306eda8..10cb80532ae 100644
--- a/src/mame/drivers/flower.c
+++ b/src/mame/drivers/flower.c
@@ -273,7 +273,7 @@ static MACHINE_CONFIG_START( flower, flower_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 34*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(flower_state, screen_update_flower)
- MCFG_GFXDECODE(flower)
+ MCFG_GFXDECODE_ADD("gfxdecode", flower)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c
index 5e5a2db8a12..bc2a8bf216e 100644
--- a/src/mame/drivers/flstory.c
+++ b/src/mame/drivers/flstory.c
@@ -1085,7 +1085,7 @@ static MACHINE_CONFIG_START( flstory, flstory_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(flstory_state, screen_update_flstory)
- MCFG_GFXDECODE(flstory)
+ MCFG_GFXDECODE_ADD("gfxdecode", flstory)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(flstory_state,flstory)
@@ -1142,7 +1142,7 @@ static MACHINE_CONFIG_START( onna34ro, flstory_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(flstory_state, screen_update_flstory)
- MCFG_GFXDECODE(flstory)
+ MCFG_GFXDECODE_ADD("gfxdecode", flstory)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(flstory_state,flstory)
@@ -1199,7 +1199,7 @@ static MACHINE_CONFIG_START( victnine, flstory_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(flstory_state, screen_update_victnine)
- MCFG_GFXDECODE(flstory)
+ MCFG_GFXDECODE_ADD("gfxdecode", flstory)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(flstory_state,victnine)
@@ -1262,7 +1262,7 @@ static MACHINE_CONFIG_START( rumba, flstory_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(flstory_state, screen_update_rumba)
- MCFG_GFXDECODE(flstory)
+ MCFG_GFXDECODE_ADD("gfxdecode", flstory)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(flstory_state,rumba)
diff --git a/src/mame/drivers/flyball.c b/src/mame/drivers/flyball.c
index 62eb4a51d0c..80db8d8c70d 100644
--- a/src/mame/drivers/flyball.c
+++ b/src/mame/drivers/flyball.c
@@ -102,7 +102,7 @@ TILE_GET_INFO_MEMBER(flyball_state::flyball_get_tile_info)
code += 64;
}
- SET_TILE_INFO_MEMBER(0, code, 0, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, flags);
}
@@ -129,7 +129,7 @@ UINT32 flyball_state::screen_update_flyball(screen_device &screen, bitmap_ind16
m_tmap->draw(screen, bitmap, cliprect, 0, 0);
/* draw pitcher */
- machine().gfx[1]->transpen(bitmap,cliprect, m_pitcher_pic ^ 0xf, 0, 1, 0, pitcherx, pitchery, 1);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, m_pitcher_pic ^ 0xf, 0, 1, 0, pitcherx, pitchery, 1);
/* draw ball */
@@ -448,7 +448,7 @@ static MACHINE_CONFIG_START( flyball, flyball_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(flyball_state, screen_update_flyball)
- MCFG_GFXDECODE(flyball)
+ MCFG_GFXDECODE_ADD("gfxdecode", flyball)
MCFG_PALETTE_LENGTH(4)
diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c
index abe7b47318e..31fbef0aa4c 100644
--- a/src/mame/drivers/foodf.c
+++ b/src/mame/drivers/foodf.c
@@ -366,7 +366,7 @@ static MACHINE_CONFIG_START( foodf, foodf_state )
MCFG_TIMER_DRIVER_ADD("scan_timer", foodf_state, scanline_update_timer)
/* video hardware */
- MCFG_GFXDECODE(foodf)
+ MCFG_GFXDECODE_ADD("gfxdecode", foodf)
MCFG_PALETTE_LENGTH(256)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("playfield", 2, foodf_state, get_playfield_tile_info, 8,8, SCAN_COLS, 32,32, 0)
diff --git a/src/mame/drivers/fortecar.c b/src/mame/drivers/fortecar.c
index 398aec10bc3..9721fa61e52 100644
--- a/src/mame/drivers/fortecar.c
+++ b/src/mame/drivers/fortecar.c
@@ -373,7 +373,7 @@ UINT32 fortecar_state::screen_update_fortecar(screen_device &screen, bitmap_ind1
if(bpp)
color&=0x3;
- machine().gfx[bpp]->opaque(bitmap,cliprect,tile,color,0,0,x*8,y*8);
+ m_gfxdecode->gfx(bpp)->opaque(bitmap,cliprect,tile,color,0,0,x*8,y*8);
count++;
}
@@ -696,7 +696,7 @@ static MACHINE_CONFIG_START( fortecar, fortecar_state )
MCFG_I8255A_ADD( "fcppi0", ppi8255_intf )
MCFG_V3021_ADD("rtc")
- MCFG_GFXDECODE(fortecar)
+ MCFG_GFXDECODE_ADD("gfxdecode", fortecar)
MCFG_PALETTE_LENGTH(0x200)
diff --git a/src/mame/drivers/freekick.c b/src/mame/drivers/freekick.c
index f83f136f183..37825da3608 100644
--- a/src/mame/drivers/freekick.c
+++ b/src/mame/drivers/freekick.c
@@ -637,7 +637,7 @@ static MACHINE_CONFIG_START( base, freekick_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz/2, 768/2, 0, 512/2, 263, 0+16, 224+16)
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_pbillrd)
- MCFG_GFXDECODE(freekick)
+ MCFG_GFXDECODE_ADD("gfxdecode", freekick)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/fresh.c b/src/mame/drivers/fresh.c
index 254722884f3..119c79b5ec1 100644
--- a/src/mame/drivers/fresh.c
+++ b/src/mame/drivers/fresh.c
@@ -108,7 +108,7 @@ TILE_GET_INFO_MEMBER(fresh_state::get_fresh_bg_tile_info)
int tileno, pal;
tileno = m_bg_videoram[tile_index];
pal = m_attr_videoram[tile_index];
- SET_TILE_INFO_MEMBER(1, tileno, pal, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, pal, 0);
}
@@ -130,7 +130,7 @@ TILE_GET_INFO_MEMBER(fresh_state::get_fresh_bg_2_tile_info)
int tileno, pal;
tileno = m_bg_2_videoram[tile_index];
pal = m_attr_2_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, tileno, pal, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, pal, 0);
}
@@ -625,7 +625,7 @@ static MACHINE_CONFIG_START( fresh, fresh_state )
MCFG_SCREEN_UPDATE_DRIVER(fresh_state, screen_update_fresh)
MCFG_PALETTE_LENGTH(0x1000) // or 0xc00
- MCFG_GFXDECODE(fresh)
+ MCFG_GFXDECODE_ADD("gfxdecode", fresh)
/* sound hw? */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/fromanc2.c b/src/mame/drivers/fromanc2.c
index 58399fbb220..870755c6909 100644
--- a/src/mame/drivers/fromanc2.c
+++ b/src/mame/drivers/fromanc2.c
@@ -537,7 +537,7 @@ static MACHINE_CONFIG_START( fromanc2, fromanc2_state )
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
/* video hardware */
- MCFG_GFXDECODE(fromanc2)
+ MCFG_GFXDECODE_ADD("gfxdecode", fromanc2)
MCFG_PALETTE_LENGTH(4096)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
@@ -587,7 +587,7 @@ static MACHINE_CONFIG_START( fromancr, fromanc2_state )
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
/* video hardware */
- MCFG_GFXDECODE(fromancr)
+ MCFG_GFXDECODE_ADD("gfxdecode", fromancr)
MCFG_PALETTE_LENGTH(4096)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
@@ -633,7 +633,7 @@ static MACHINE_CONFIG_START( fromanc4, fromanc2_state )
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
/* video hardware */
- MCFG_GFXDECODE(fromancr)
+ MCFG_GFXDECODE_ADD("gfxdecode", fromancr)
MCFG_PALETTE_LENGTH(4096)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mame/drivers/fromance.c b/src/mame/drivers/fromance.c
index 9a3c2b9cec6..381c1b63f1c 100644
--- a/src/mame/drivers/fromance.c
+++ b/src/mame/drivers/fromance.c
@@ -1042,7 +1042,7 @@ static MACHINE_CONFIG_START( nekkyoku, fromance_state )
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(fromance_state, screen_update_fromance)
- MCFG_GFXDECODE(fromance)
+ MCFG_GFXDECODE_ADD("gfxdecode", fromance)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(fromance_state,nekkyoku)
@@ -1080,7 +1080,7 @@ static MACHINE_CONFIG_START( idolmj, fromance_state )
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(fromance_state, screen_update_fromance)
- MCFG_GFXDECODE(fromance)
+ MCFG_GFXDECODE_ADD("gfxdecode", fromance)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(fromance_state,fromance)
@@ -1118,7 +1118,7 @@ static MACHINE_CONFIG_START( fromance, fromance_state )
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(fromance_state, screen_update_fromance)
- MCFG_GFXDECODE(fromance)
+ MCFG_GFXDECODE_ADD("gfxdecode", fromance)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(fromance_state,fromance)
diff --git a/src/mame/drivers/funkybee.c b/src/mame/drivers/funkybee.c
index 455d88afc01..c8b4e1fe924 100644
--- a/src/mame/drivers/funkybee.c
+++ b/src/mame/drivers/funkybee.c
@@ -305,7 +305,7 @@ static MACHINE_CONFIG_START( funkybee, funkybee_state )
MCFG_SCREEN_VISIBLE_AREA(12, 32*8-8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(funkybee_state, screen_update_funkybee)
- MCFG_GFXDECODE(funkybee)
+ MCFG_GFXDECODE_ADD("gfxdecode", funkybee)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c
index 765f5d7db57..f7dad5df9bb 100644
--- a/src/mame/drivers/funkyjet.c
+++ b/src/mame/drivers/funkyjet.c
@@ -337,12 +337,15 @@ static MACHINE_CONFIG_START( funkyjet, funkyjet_state )
MCFG_DECO146_SET_INTERFACE_SCRAMBLE_INTERLEAVE
- MCFG_GFXDECODE(funkyjet)
+ MCFG_GFXDECODE_ADD("gfxdecode", funkyjet)
MCFG_PALETTE_LENGTH(1024)
MCFG_DECO16IC_ADD("tilegen1", funkyjet_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index a55872b8a78..86abf32fc0e 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -2863,7 +2863,7 @@ static MACHINE_CONFIG_START( fw1stpal, funworld_state )
MCFG_SCREEN_VISIBLE_AREA(0*4, 96*4-1, 0*8, 29*8-1) /* Taken from MC6845 init, registers 01 & 06 */
MCFG_SCREEN_UPDATE_DRIVER(funworld_state, screen_update_funworld)
- MCFG_GFXDECODE(fw1stpal)
+ MCFG_GFXDECODE_ADD("gfxdecode", fw1stpal)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(funworld_state, funworld)
@@ -2884,7 +2884,7 @@ static MACHINE_CONFIG_DERIVED( fw2ndpal, fw1stpal )
MCFG_CPU_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_CPU_PROGRAM_MAP(funworld_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse)
- MCFG_GFXDECODE(fw2ndpal)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", fw2ndpal)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/funybubl.c b/src/mame/drivers/funybubl.c
index 61fa2b3eab2..6e840d4bec8 100644
--- a/src/mame/drivers/funybubl.c
+++ b/src/mame/drivers/funybubl.c
@@ -233,7 +233,7 @@ static MACHINE_CONFIG_START( funybubl, funybubl_state )
// MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(funybubl_state, screen_update_funybubl)
- MCFG_GFXDECODE(funybubl)
+ MCFG_GFXDECODE_ADD("gfxdecode", funybubl)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index 1d52e05919f..9df20d97701 100644
--- a/src/mame/drivers/fuukifg2.c
+++ b/src/mame/drivers/fuukifg2.c
@@ -465,7 +465,7 @@ static MACHINE_CONFIG_START( fuuki16, fuuki16_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(fuuki16_state, screen_update_fuuki16)
- MCFG_GFXDECODE(fuuki16)
+ MCFG_GFXDECODE_ADD("gfxdecode", fuuki16)
MCFG_PALETTE_LENGTH(0x800*4)
diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index a607201ae72..f9e61d0c5d5 100644
--- a/src/mame/drivers/fuukifg3.c
+++ b/src/mame/drivers/fuukifg3.c
@@ -591,7 +591,7 @@ static MACHINE_CONFIG_START( fuuki32, fuuki32_state )
MCFG_SCREEN_UPDATE_DRIVER(fuuki32_state, screen_update_fuuki32)
MCFG_SCREEN_VBLANK_DRIVER(fuuki32_state, screen_eof_fuuki32)
- MCFG_GFXDECODE(fuuki32)
+ MCFG_GFXDECODE_ADD("gfxdecode", fuuki32)
MCFG_PALETTE_LENGTH(0x4000/2)
diff --git a/src/mame/drivers/gaelco.c b/src/mame/drivers/gaelco.c
index d932bada2a5..113d2d3f44f 100644
--- a/src/mame/drivers/gaelco.c
+++ b/src/mame/drivers/gaelco.c
@@ -515,7 +515,7 @@ static MACHINE_CONFIG_START( bigkarnk, gaelco_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_bigkarnk)
- MCFG_GFXDECODE(0x100000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x100000)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(gaelco_state,bigkarnk)
@@ -546,7 +546,7 @@ static MACHINE_CONFIG_START( maniacsq, gaelco_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq)
- MCFG_GFXDECODE(0x100000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x100000)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(gaelco_state,maniacsq)
@@ -576,7 +576,7 @@ static MACHINE_CONFIG_START( squash, gaelco_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq)
- MCFG_GFXDECODE(0x100000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x100000)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(gaelco_state,maniacsq)
@@ -606,7 +606,7 @@ static MACHINE_CONFIG_START( thoop, gaelco_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq)
- MCFG_GFXDECODE(0x100000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x100000)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(gaelco_state,maniacsq)
diff --git a/src/mame/drivers/gaelco2.c b/src/mame/drivers/gaelco2.c
index b7aa0c2ac8c..453a792bc3e 100644
--- a/src/mame/drivers/gaelco2.c
+++ b/src/mame/drivers/gaelco2.c
@@ -170,7 +170,7 @@ static MACHINE_CONFIG_START( maniacsq, gaelco2_state )
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(0x0080000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x0080000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
@@ -290,7 +290,7 @@ static MACHINE_CONFIG_START( bang, gaelco2_state )
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(0x0200000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x0200000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
@@ -531,7 +531,7 @@ static MACHINE_CONFIG_START( alighunt, gaelco2_state )
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(0x0400000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x0400000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
@@ -764,7 +764,7 @@ static MACHINE_CONFIG_START( touchgo, gaelco2_state )
/* video hardware */
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
- MCFG_GFXDECODE(0x0400000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x0400000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
@@ -967,7 +967,7 @@ static MACHINE_CONFIG_START( snowboar, gaelco2_state )
MCFG_SCREEN_UPDATE_DRIVER(gaelco2_state, screen_update_gaelco2)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(0x0400000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x0400000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
@@ -1199,7 +1199,7 @@ static MACHINE_CONFIG_START( wrally2, gaelco2_state )
/* video hardware */
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
- MCFG_GFXDECODE(0x0200000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x0200000)
MCFG_PALETTE_LENGTH(4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mame/drivers/gaiden.c b/src/mame/drivers/gaiden.c
index 1eca1d01085..498bb25094b 100644
--- a/src/mame/drivers/gaiden.c
+++ b/src/mame/drivers/gaiden.c
@@ -770,7 +770,7 @@ static MACHINE_CONFIG_START( shadoww, gaiden_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gaiden_state, screen_update_gaiden)
- MCFG_GFXDECODE(gaiden)
+ MCFG_GFXDECODE_ADD("gfxdecode", gaiden)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(gaiden_state,gaiden)
@@ -802,7 +802,7 @@ static MACHINE_CONFIG_DERIVED( raiga, shadoww )
MCFG_SCREEN_UPDATE_DRIVER(gaiden_state, screen_update_raiga)
MCFG_VIDEO_START_OVERRIDE(gaiden_state,raiga)
- MCFG_GFXDECODE(raiga)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", raiga)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( drgnbowl, gaiden_state )
@@ -827,7 +827,7 @@ static MACHINE_CONFIG_START( drgnbowl, gaiden_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gaiden_state, screen_update_drgnbowl)
- MCFG_GFXDECODE(drgnbowl)
+ MCFG_GFXDECODE_ADD("gfxdecode", drgnbowl)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(gaiden_state,drgnbowl)
@@ -943,7 +943,7 @@ static MACHINE_CONFIG_START( mastninj, gaiden_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gaiden_state, screen_update_gaiden)
- MCFG_GFXDECODE(mastninj)
+ MCFG_GFXDECODE_ADD("gfxdecode", mastninj)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(gaiden_state,mastninj)
diff --git a/src/mame/drivers/gal3.c b/src/mame/drivers/gal3.c
index 85fec521d2a..cea7f79d683 100644
--- a/src/mame/drivers/gal3.c
+++ b/src/mame/drivers/gal3.c
@@ -630,7 +630,7 @@ static MACHINE_CONFIG_START( gal3, gal3_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0*8, 512-1)
MCFG_SCREEN_UPDATE_DRIVER(gal3_state, screen_update_gal3)
- MCFG_GFXDECODE(namcos21)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos21)
MCFG_PALETTE_LENGTH(NAMCOS21_NUM_COLORS)
MCFG_VIDEO_START_OVERRIDE(gal3_state,gal3)
diff --git a/src/mame/drivers/galaga.c b/src/mame/drivers/galaga.c
index 77fd8f418c3..5f0b6cfb238 100644
--- a/src/mame/drivers/galaga.c
+++ b/src/mame/drivers/galaga.c
@@ -1695,7 +1695,7 @@ static MACHINE_CONFIG_START( bosco, bosco_state )
MCFG_SCREEN_UPDATE_DRIVER(bosco_state, screen_update_bosco)
MCFG_SCREEN_VBLANK_DRIVER(bosco_state, screen_eof_bosco)
- MCFG_GFXDECODE(bosco)
+ MCFG_GFXDECODE_ADD("gfxdecode", bosco)
MCFG_PALETTE_LENGTH(64*4+64*4+4+64)
MCFG_PALETTE_INIT_OVERRIDE(bosco_state,bosco)
@@ -1751,7 +1751,7 @@ static MACHINE_CONFIG_START( galaga, galaga_state )
MCFG_SCREEN_UPDATE_DRIVER(galaga_state, screen_update_galaga)
MCFG_SCREEN_VBLANK_DRIVER(galaga_state, screen_eof_galaga)
- MCFG_GFXDECODE(galaga)
+ MCFG_GFXDECODE_ADD("gfxdecode", galaga)
MCFG_PALETTE_LENGTH(64*4+64*4+64)
MCFG_PALETTE_INIT_OVERRIDE(galaga_state,galaga)
@@ -1828,7 +1828,7 @@ static MACHINE_CONFIG_START( xevious, xevious_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 384, 0, 288, 264, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(xevious_state, screen_update_xevious)
- MCFG_GFXDECODE(xevious)
+ MCFG_GFXDECODE_ADD("gfxdecode", xevious)
MCFG_PALETTE_LENGTH(128*4+64*8+64*2)
MCFG_PALETTE_INIT_OVERRIDE(xevious_state,xevious)
@@ -1917,7 +1917,7 @@ static MACHINE_CONFIG_START( digdug, digdug_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 384, 0, 288, 264, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(digdug_state, screen_update_digdug)
- MCFG_GFXDECODE(digdug)
+ MCFG_GFXDECODE_ADD("gfxdecode", digdug)
MCFG_PALETTE_LENGTH(16*2+64*4+64*4)
MCFG_PALETTE_INIT_OVERRIDE(digdug_state,digdug)
diff --git a/src/mame/drivers/galastrm.c b/src/mame/drivers/galastrm.c
index 680326b98bb..de832cc3cb5 100644
--- a/src/mame/drivers/galastrm.c
+++ b/src/mame/drivers/galastrm.c
@@ -312,12 +312,14 @@ static MACHINE_CONFIG_START( galastrm, galastrm_state )
MCFG_SCREEN_VISIBLE_AREA(0+96, 40*8-1+96, 3*8+60, 32*8-1+60)
MCFG_SCREEN_UPDATE_DRIVER(galastrm_state, screen_update_galastrm)
- MCFG_GFXDECODE(galastrm)
+ MCFG_GFXDECODE_ADD("gfxdecode", galastrm)
MCFG_PALETTE_LENGTH(4096)
MCFG_TC0100SCN_ADD("tc0100scn", galastrm_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0480SCP_ADD("tc0480scp", galastrm_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_FRAGMENT_ADD(taito_en_sound)
diff --git a/src/mame/drivers/galaxi.c b/src/mame/drivers/galaxi.c
index b038d437616..06a255b5476 100644
--- a/src/mame/drivers/galaxi.c
+++ b/src/mame/drivers/galaxi.c
@@ -108,31 +108,31 @@ public:
TILE_GET_INFO_MEMBER(galaxi_state::get_bg1_tile_info)
{
UINT16 code = m_bg1_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0x10 + (code >> 12), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0x10 + (code >> 12), 0);
}
TILE_GET_INFO_MEMBER(galaxi_state::get_bg2_tile_info)
{
UINT16 code = m_bg2_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0x10 + (code >> 12), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0x10 + (code >> 12), 0);
}
TILE_GET_INFO_MEMBER(galaxi_state::get_bg3_tile_info)
{
UINT16 code = m_bg3_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, (code >> 12), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, (code >> 12), 0);
}
TILE_GET_INFO_MEMBER(galaxi_state::get_bg4_tile_info)
{
UINT16 code = m_bg4_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, (code >> 12), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, (code >> 12), 0);
}
TILE_GET_INFO_MEMBER(galaxi_state::get_fg_tile_info)
{
UINT16 code = m_fg_ram[tile_index];
- SET_TILE_INFO_MEMBER(1, code, 0x20 + (code >> 12), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0x20 + (code >> 12), 0);
}
WRITE16_MEMBER(galaxi_state::galaxi_bg1_w)
@@ -416,7 +416,7 @@ static MACHINE_CONFIG_START( galaxi, galaxi_state )
MCFG_SCREEN_VISIBLE_AREA(16*5, 512-16*2-1, 16*1, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(galaxi_state, screen_update_galaxi)
- MCFG_GFXDECODE(galaxi)
+ MCFG_GFXDECODE_ADD("gfxdecode", galaxi)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/galaxia.c b/src/mame/drivers/galaxia.c
index 513acad3f1e..a4e04ef2428 100644
--- a/src/mame/drivers/galaxia.c
+++ b/src/mame/drivers/galaxia.c
@@ -304,7 +304,7 @@ static MACHINE_CONFIG_START( galaxia, galaxia_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 30*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galaxia_state, screen_update_galaxia)
- MCFG_GFXDECODE(galaxia)
+ MCFG_GFXDECODE_ADD("gfxdecode", galaxia)
MCFG_PALETTE_LENGTH(0x18+2)
MCFG_PALETTE_INIT_OVERRIDE(galaxia_state,galaxia)
@@ -340,7 +340,7 @@ static MACHINE_CONFIG_START( astrowar, galaxia_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galaxia_state, screen_update_astrowar)
- MCFG_GFXDECODE(astrowar)
+ MCFG_GFXDECODE_ADD("gfxdecode", astrowar)
MCFG_PALETTE_LENGTH(0x18+2)
MCFG_PALETTE_INIT_OVERRIDE(galaxia_state,astrowar)
diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c
index 9705a5c0eb9..666c81ea0b7 100644
--- a/src/mame/drivers/galaxian.c
+++ b/src/mame/drivers/galaxian.c
@@ -5168,7 +5168,7 @@ static MACHINE_CONFIG_START( galaxian_base, galaxian_state )
MCFG_WATCHDOG_VBLANK_INIT(8)
/* video hardware */
- MCFG_GFXDECODE(galaxian)
+ MCFG_GFXDECODE_ADD("gfxdecode", galaxian)
MCFG_PALETTE_LENGTH(32)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -5253,7 +5253,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pacmanbl, galaxian )
/* separate tile/sprite ROMs */
- MCFG_GFXDECODE(pacmanbl)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pacmanbl)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( tenspot, galaxian )
@@ -5267,13 +5267,13 @@ static MACHINE_CONFIG_DERIVED( tenspot, galaxian )
//MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse)
/* separate tile/sprite ROMs */
- MCFG_GFXDECODE(tenspot)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", tenspot)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( zigzag, galaxian_base )
/* separate tile/sprite ROMs */
- MCFG_GFXDECODE(pacmanbl)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pacmanbl)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -5289,7 +5289,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gmgalax, galaxian )
/* banked video hardware */
- MCFG_GFXDECODE(gmgalax)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gmgalax)
MCFG_PALETTE_LENGTH(64)
MACHINE_CONFIG_END
@@ -6040,12 +6040,12 @@ void galaxian_state::tenspot_set_game_bank(running_machine& machine, int bank, i
{
for (x=0;x<0x200;x++)
{
- machine.gfx[0]->mark_dirty(x);
+ m_gfxdecode->gfx(0)->mark_dirty(x);
}
for (x=0;x<0x80;x++)
{
- machine.gfx[1]->mark_dirty(x);
+ m_gfxdecode->gfx(1)->mark_dirty(x);
}
}
diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c
index 1cda3560621..fedde1973aa 100644
--- a/src/mame/drivers/galaxold.c
+++ b/src/mame/drivers/galaxold.c
@@ -2343,7 +2343,7 @@ static MACHINE_CONFIG_START( galaxold_base, galaxold_state )
MCFG_TIMER_DRIVER_ADD("int_timer", galaxold_state, galaxold_interrupt_timer)
/* video hardware */
- MCFG_GFXDECODE(galaxian)
+ MCFG_GFXDECODE_ADD("gfxdecode", galaxian)
MCFG_PALETTE_LENGTH(32+2+64) /* 32 for the characters, 2 for the bullets, 64 for the stars */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2457,7 +2457,7 @@ static MACHINE_CONFIG_DERIVED( 4in1, galaxian )
MCFG_CPU_PROGRAM_MAP(_4in1_map)
/* video hardware */
- MCFG_GFXDECODE(_4in1)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", _4in1)
MCFG_VIDEO_START_OVERRIDE(galaxold_state,pisces)
MACHINE_CONFIG_END
@@ -2492,7 +2492,7 @@ static MACHINE_CONFIG_DERIVED( rockclim, galaxian )
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(rockclim_map)
- MCFG_GFXDECODE(rockclim)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", rockclim)
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(galaxold_state,rockclim)
@@ -2541,7 +2541,7 @@ static MACHINE_CONFIG_START( drivfrcg, galaxold_state )
MCFG_SCREEN_UPDATE_DRIVER(galaxold_state, screen_update_galaxold)
MCFG_PALETTE_LENGTH(64)
- MCFG_GFXDECODE(gmgalax)
+ MCFG_GFXDECODE_ADD("gfxdecode", gmgalax)
MCFG_PALETTE_INIT_OVERRIDE(galaxold_state,rockclim)
@@ -2608,7 +2608,7 @@ static MACHINE_CONFIG_START( racknrol, galaxold_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxold_state, hunchbks_vh_interrupt)
/* video hardware */
- MCFG_GFXDECODE(galaxian)
+ MCFG_GFXDECODE_ADD("gfxdecode", galaxian)
MCFG_PALETTE_LENGTH(32)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2633,7 +2633,7 @@ static MACHINE_CONFIG_START( hexpoola, galaxold_state )
MCFG_CPU_IO_MAP(hexpoola_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxold_state, hunchbks_vh_interrupt)
- MCFG_GFXDECODE(galaxian)
+ MCFG_GFXDECODE_ADD("gfxdecode", galaxian)
MCFG_PALETTE_LENGTH(32)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2656,7 +2656,7 @@ static MACHINE_CONFIG_DERIVED( ckongg, galaxian )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ckongg_map)
- MCFG_GFXDECODE(gmgalax)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gmgalax)
MCFG_VIDEO_START_OVERRIDE(galaxold_state,ckongs)
MACHINE_CONFIG_END
@@ -2668,7 +2668,7 @@ static MACHINE_CONFIG_DERIVED( ckongmc, galaxian )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(ckongmc_map)
- MCFG_GFXDECODE(gmgalax)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gmgalax)
MCFG_VIDEO_START_OVERRIDE(galaxold_state,ckongs)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/galivan.c b/src/mame/drivers/galivan.c
index 5955ce5d13c..a63c220fc35 100644
--- a/src/mame/drivers/galivan.c
+++ b/src/mame/drivers/galivan.c
@@ -449,7 +449,7 @@ static MACHINE_CONFIG_START( galivan, galivan_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galivan_state, screen_update_galivan)
- MCFG_GFXDECODE(galivan)
+ MCFG_GFXDECODE_ADD("gfxdecode", galivan)
MCFG_PALETTE_LENGTH(8*16+16*16+256*16)
MCFG_VIDEO_START_OVERRIDE(galivan_state,galivan)
@@ -491,7 +491,7 @@ static MACHINE_CONFIG_START( ninjemak, galivan_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galivan_state, screen_update_ninjemak)
- MCFG_GFXDECODE(ninjemak)
+ MCFG_GFXDECODE_ADD("gfxdecode", ninjemak)
MCFG_PALETTE_LENGTH(8*16+16*16+256*16)
MCFG_VIDEO_START_OVERRIDE(galivan_state,ninjemak)
diff --git a/src/mame/drivers/galpani2.c b/src/mame/drivers/galpani2.c
index e014f4b50a0..2cb037a66e8 100644
--- a/src/mame/drivers/galpani2.c
+++ b/src/mame/drivers/galpani2.c
@@ -627,11 +627,12 @@ static MACHINE_CONFIG_START( galpani2, galpani2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 256-1-16)
MCFG_SCREEN_UPDATE_DRIVER(galpani2_state, screen_update_galpani2)
- MCFG_GFXDECODE(galpani2)
+ MCFG_GFXDECODE_ADD("gfxdecode", galpani2)
MCFG_PALETTE_LENGTH(0x4000 + 0x200 + 0x8000) // sprites, bg8, bg15
MCFG_DEVICE_ADD_KC002_SPRITES
kaneko16_sprite_device::set_offsets(*device, 0x10000 - 0x16c0 + 0xc00, 0);
+ MCFG_KANEKO16_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c
index 477811783be..d780a9752d1 100644
--- a/src/mame/drivers/galpanic.c
+++ b/src/mame/drivers/galpanic.c
@@ -568,10 +568,11 @@ static MACHINE_CONFIG_START( galpanic, galpanic_state )
MCFG_SCREEN_UPDATE_DRIVER(galpanic_state, screen_update_galpanic)
MCFG_SCREEN_VBLANK_DRIVER(galpanic_state, screen_eof_galpanic)
- MCFG_GFXDECODE(galpanic)
+ MCFG_GFXDECODE_ADD("gfxdecode", galpanic)
MCFG_PALETTE_LENGTH(1024 + 32768)
MCFG_KANEKO_PANDORA_ADD("pandora", galpanic_pandora_config)
+ MCFG_KANEKO_PANDORA_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("calc1_mcu", KANEKO_HIT, 0)
kaneko_hit_device::set_type(*device, 0);
diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c
index be37933f867..a4a6aeb9a4c 100644
--- a/src/mame/drivers/galspnbl.c
+++ b/src/mame/drivers/galspnbl.c
@@ -235,7 +235,7 @@ static MACHINE_CONFIG_START( galspnbl, galspnbl_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(galspnbl_state, screen_update_galspnbl)
- MCFG_GFXDECODE(galspnbl)
+ MCFG_GFXDECODE_ADD("gfxdecode", galspnbl)
MCFG_PALETTE_LENGTH(1024 + 32768)
diff --git a/src/mame/drivers/gamecstl.c b/src/mame/drivers/gamecstl.c
index 99a002c500b..4b87378828f 100644
--- a/src/mame/drivers/gamecstl.c
+++ b/src/mame/drivers/gamecstl.c
@@ -135,7 +135,7 @@ void gamecstl_state::draw_char(bitmap_ind16 &bitmap, const rectangle &cliprect,
UINT32 gamecstl_state::screen_update_gamecstl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
int i, j;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT32 *cga = m_cga_ram;
int index = 0;
@@ -446,7 +446,7 @@ static MACHINE_CONFIG_START( gamecstl, gamecstl_state )
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 199)
MCFG_SCREEN_UPDATE_DRIVER(gamecstl_state, screen_update_gamecstl)
- MCFG_GFXDECODE(CGA)
+ MCFG_GFXDECODE_ADD("gfxdecode", CGA)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mame/drivers/gaplus.c b/src/mame/drivers/gaplus.c
index 5478a1eec7d..6035be6eef5 100644
--- a/src/mame/drivers/gaplus.c
+++ b/src/mame/drivers/gaplus.c
@@ -595,7 +595,7 @@ static MACHINE_CONFIG_START( gaplus, gaplus_state )
MCFG_SCREEN_UPDATE_DRIVER(gaplus_state, screen_update_gaplus)
MCFG_SCREEN_VBLANK_DRIVER(gaplus_state, screen_eof_gaplus)
- MCFG_GFXDECODE(gaplus)
+ MCFG_GFXDECODE_ADD("gfxdecode", gaplus)
MCFG_PALETTE_LENGTH(64*4+64*8)
/* sound hardware */
diff --git a/src/mame/drivers/gatron.c b/src/mame/drivers/gatron.c
index 05a87ad13e9..380522026ad 100644
--- a/src/mame/drivers/gatron.c
+++ b/src/mame/drivers/gatron.c
@@ -569,7 +569,7 @@ static MACHINE_CONFIG_START( gat, gatron_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 16*16-1)
MCFG_SCREEN_UPDATE_DRIVER(gatron_state, screen_update_gat)
- MCFG_GFXDECODE(gat)
+ MCFG_GFXDECODE_ADD("gfxdecode", gat)
MCFG_PALETTE_LENGTH(8)
/* sound hardware */
diff --git a/src/mame/drivers/gauntlet.c b/src/mame/drivers/gauntlet.c
index e7e8f385336..dcc8f5732fd 100644
--- a/src/mame/drivers/gauntlet.c
+++ b/src/mame/drivers/gauntlet.c
@@ -509,12 +509,13 @@ static MACHINE_CONFIG_START( gauntlet, gauntlet_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(gauntlet)
+ MCFG_GFXDECODE_ADD("gfxdecode", gauntlet)
MCFG_PALETTE_LENGTH(1024)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, gauntlet_state, get_playfield_tile_info, 8,8, SCAN_COLS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, gauntlet_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", gauntlet_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/gberet.c b/src/mame/drivers/gberet.c
index aa8026fe36a..c624abce5f4 100644
--- a/src/mame/drivers/gberet.c
+++ b/src/mame/drivers/gberet.c
@@ -415,7 +415,7 @@ static MACHINE_CONFIG_START( gberet, gberet_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gberet_state, screen_update_gberet)
- MCFG_GFXDECODE(gberet)
+ MCFG_GFXDECODE_ADD("gfxdecode", gberet)
MCFG_PALETTE_LENGTH(2*16*16)
MCFG_PALETTE_INIT_OVERRIDE(gberet_state,gberet)
@@ -454,7 +454,7 @@ static MACHINE_CONFIG_START( gberetb, gberet_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gberet_state, screen_update_gberetb)
- MCFG_GFXDECODE(gberetb)
+ MCFG_GFXDECODE_ADD("gfxdecode", gberetb)
MCFG_PALETTE_LENGTH(2*16*16)
MCFG_PALETTE_INIT_OVERRIDE(gberet_state,gberet)
diff --git a/src/mame/drivers/gbusters.c b/src/mame/drivers/gbusters.c
index cf1800184bf..848b44c6df4 100644
--- a/src/mame/drivers/gbusters.c
+++ b/src/mame/drivers/gbusters.c
@@ -305,9 +305,11 @@ static MACHINE_CONFIG_START( gbusters, gbusters_state )
MCFG_PALETTE_LENGTH(1024)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", gbusters_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", gbusters_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gcpinbal.c b/src/mame/drivers/gcpinbal.c
index fe6ff1f257b..74defec4daf 100644
--- a/src/mame/drivers/gcpinbal.c
+++ b/src/mame/drivers/gcpinbal.c
@@ -447,7 +447,7 @@ static MACHINE_CONFIG_START( gcpinbal, gcpinbal_state )
MCFG_SCREEN_UPDATE_DRIVER(gcpinbal_state, screen_update_gcpinbal)
- MCFG_GFXDECODE(gcpinbal)
+ MCFG_GFXDECODE_ADD("gfxdecode", gcpinbal)
MCFG_PALETTE_LENGTH(4096)
diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c
index 31fcf01f7cf..be15d7bde16 100644
--- a/src/mame/drivers/gijoe.c
+++ b/src/mame/drivers/gijoe.c
@@ -349,8 +349,11 @@ static MACHINE_CONFIG_START( gijoe, gijoe_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K056832_ADD("k056832", gijoe_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K053246_ADD("k053246", gijoe_k053247_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
diff --git a/src/mame/drivers/ginganin.c b/src/mame/drivers/ginganin.c
index 0ec4fe27720..5cc68325012 100644
--- a/src/mame/drivers/ginganin.c
+++ b/src/mame/drivers/ginganin.c
@@ -273,7 +273,7 @@ static MACHINE_CONFIG_START( ginganin, ginganin_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0 + 16 , 255 - 16)
MCFG_SCREEN_UPDATE_DRIVER(ginganin_state, screen_update_ginganin)
- MCFG_GFXDECODE(ginganin)
+ MCFG_GFXDECODE_ADD("gfxdecode", ginganin)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index be17eed4e00..f8bc5fc45d5 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -682,7 +682,7 @@ static MACHINE_CONFIG_START( ppking, gladiatr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gladiatr_state, screen_update_ppking)
- MCFG_GFXDECODE(ppking)
+ MCFG_GFXDECODE_ADD("gfxdecode", ppking)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(gladiatr_state,ppking)
@@ -730,7 +730,7 @@ static MACHINE_CONFIG_START( gladiatr, gladiatr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gladiatr_state, screen_update_gladiatr)
- MCFG_GFXDECODE(gladiatr)
+ MCFG_GFXDECODE_ADD("gfxdecode", gladiatr)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(gladiatr_state,gladiatr)
diff --git a/src/mame/drivers/glass.c b/src/mame/drivers/glass.c
index 24bfc708920..77e899e4f28 100644
--- a/src/mame/drivers/glass.c
+++ b/src/mame/drivers/glass.c
@@ -204,7 +204,7 @@ static MACHINE_CONFIG_START( glass, glass_state )
MCFG_SCREEN_VISIBLE_AREA(0, 368-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(glass_state, screen_update_glass)
- MCFG_GFXDECODE(glass)
+ MCFG_GFXDECODE_ADD("gfxdecode", glass)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/gluck2.c b/src/mame/drivers/gluck2.c
index 61d97da6bca..ea8cd32b976 100644
--- a/src/mame/drivers/gluck2.c
+++ b/src/mame/drivers/gluck2.c
@@ -253,7 +253,7 @@ TILE_GET_INFO_MEMBER(gluck2_state::get_gluck2_tile_info)
int bank = ((attr & 0xc0) >> 5 ) + ((attr & 0x02) >> 1 ); /* bits 1-6-7 handle the gfx banks */
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 handle the color */
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
@@ -565,7 +565,7 @@ static MACHINE_CONFIG_START( gluck2, gluck2_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) /* from MC6845 init, registers 01 & 06. */
MCFG_SCREEN_UPDATE_DRIVER(gluck2_state, screen_update_gluck2)
- MCFG_GFXDECODE(gluck2)
+ MCFG_GFXDECODE_ADD("gfxdecode", gluck2)
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT_OVERRIDE(gluck2_state, gluck2)
diff --git a/src/mame/drivers/gng.c b/src/mame/drivers/gng.c
index 6cadebddde3..f23654305ab 100644
--- a/src/mame/drivers/gng.c
+++ b/src/mame/drivers/gng.c
@@ -359,7 +359,7 @@ static MACHINE_CONFIG_START( gng, gng_state )
MCFG_SCREEN_UPDATE_DRIVER(gng_state, screen_update_gng)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(gng)
+ MCFG_GFXDECODE_ADD("gfxdecode", gng)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/go2000.c b/src/mame/drivers/go2000.c
index 05348c6cbdf..a7b50e94874 100644
--- a/src/mame/drivers/go2000.c
+++ b/src/mame/drivers/go2000.c
@@ -189,7 +189,7 @@ UINT32 go2000_state::screen_update_go2000(screen_device &screen, bitmap_ind16 &b
{
int tile = m_videoram[count];
int attr = m_videoram2[count];
- machine().gfx[0]->opaque(bitmap,cliprect, tile, attr, 0, 0, x * 8, y * 8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, tile, attr, 0, 0, x * 8, y * 8);
count++;
}
}
@@ -201,7 +201,7 @@ UINT32 go2000_state::screen_update_go2000(screen_device &screen, bitmap_ind16 &b
{
int tile = m_videoram[count];
int attr = m_videoram2[count];
- machine().gfx[0]->transpen(bitmap,cliprect, tile, attr, 0, 0, x * 8, y * 8, 0xf);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, tile, attr, 0, 0, x * 8, y * 8, 0xf);
count++;
}
}
@@ -289,7 +289,7 @@ UINT32 go2000_state::screen_update_go2000(screen_device &screen, bitmap_ind16 &b
tile_flipy = !tile_flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
(tile & 0x1fff) + bank*0x4000,
attr,
tile_flipx, tile_flipy,
@@ -329,7 +329,7 @@ static MACHINE_CONFIG_START( go2000, go2000_state )
MCFG_CPU_IO_MAP(go2000_sound_io)
- MCFG_GFXDECODE(go2000)
+ MCFG_GFXDECODE_ADD("gfxdecode", go2000)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/goal92.c b/src/mame/drivers/goal92.c
index c794c895e56..841ea98456b 100644
--- a/src/mame/drivers/goal92.c
+++ b/src/mame/drivers/goal92.c
@@ -323,7 +323,7 @@ static MACHINE_CONFIG_START( goal92, goal92_state )
MCFG_SCREEN_UPDATE_DRIVER(goal92_state, screen_update_goal92)
MCFG_SCREEN_VBLANK_DRIVER(goal92_state, screen_eof_goal92)
- MCFG_GFXDECODE(goal92)
+ MCFG_GFXDECODE_ADD("gfxdecode", goal92)
MCFG_PALETTE_LENGTH(128*16)
diff --git a/src/mame/drivers/goindol.c b/src/mame/drivers/goindol.c
index 126f5125f9f..4cd44359b0b 100644
--- a/src/mame/drivers/goindol.c
+++ b/src/mame/drivers/goindol.c
@@ -247,7 +247,7 @@ static MACHINE_CONFIG_START( goindol, goindol_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goindol_state, screen_update_goindol)
- MCFG_GFXDECODE(goindol)
+ MCFG_GFXDECODE_ADD("gfxdecode", goindol)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/goldngam.c b/src/mame/drivers/goldngam.c
index 43bbc25c2e0..8ad8426fa23 100644
--- a/src/mame/drivers/goldngam.c
+++ b/src/mame/drivers/goldngam.c
@@ -569,7 +569,7 @@ static MACHINE_CONFIG_START( swisspkr, goldngam_state )
MCFG_SCREEN_VISIBLE_AREA(4*8, 43*8-1, 1*8, 37*8-1) // 312x288
MCFG_SCREEN_UPDATE_DRIVER(goldngam_state, screen_update_goldngam)
- MCFG_GFXDECODE(goldngam)
+ MCFG_GFXDECODE_ADD("gfxdecode", goldngam)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c
index d6acb1d04cc..c8e49946bdd 100644
--- a/src/mame/drivers/goldnpkr.c
+++ b/src/mame/drivers/goldnpkr.c
@@ -1111,7 +1111,7 @@ TILE_GET_INFO_MEMBER(goldnpkr_state::get_bg_tile_info)
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
TILE_GET_INFO_MEMBER(goldnpkr_state::wcrdxtnd_get_bg_tile_info)
@@ -1129,7 +1129,7 @@ TILE_GET_INFO_MEMBER(goldnpkr_state::wcrdxtnd_get_bg_tile_info)
int bank = (attr & 0x03) + ((attr & 0xc0) >> 4); /* bits 0, 1, 6 & 7 switch the gfx banks */
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
void goldnpkr_state::video_start()
@@ -3714,7 +3714,7 @@ static MACHINE_CONFIG_START( goldnpkr_base, goldnpkr_state )
MCFG_MC6845_ADD("crtc", MC6845, "screen", CPU_CLOCK, mc6845_intf) /* 68B45 or 6845s @ CPU clock */
- MCFG_GFXDECODE(goldnpkr)
+ MCFG_GFXDECODE_ADD("gfxdecode", goldnpkr)
MCFG_PALETTE_LENGTH(256)
MACHINE_CONFIG_END
@@ -3802,7 +3802,7 @@ static MACHINE_CONFIG_DERIVED( wildcard, goldnpkr_base )
MCFG_PIA_WRITEPA_HANDLER(WRITE8(goldnpkr_state, mux_port_w))
/* video hardware */
-// MCFG_GFXDECODE(wildcard)
+// MCFG_GFXDECODE_MODIFY("gfxdecode", wildcard)
MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,witchcrd)
// MCFG_VIDEO_START_OVERRIDE(goldnpkr_state,wildcard)
@@ -3825,7 +3825,7 @@ static MACHINE_CONFIG_DERIVED( wcrdxtnd, goldnpkr_base )
MCFG_PIA_WRITEPA_HANDLER(WRITE8(goldnpkr_state, mux_port_w))
/* video hardware */
- MCFG_GFXDECODE(wcrdxtnd)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", wcrdxtnd)
MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,wcrdxtnd)
MCFG_VIDEO_START_OVERRIDE(goldnpkr_state,wcrdxtnd)
@@ -3854,7 +3854,7 @@ static MACHINE_CONFIG_DERIVED( wildcrdb, goldnpkr_base )
MCFG_PIA_WRITEPA_HANDLER(WRITE8(goldnpkr_state, wcfalcon_snd_w))
/* video hardware */
-// MCFG_GFXDECODE(wildcard)
+// MCFG_GFXDECODE_MODIFY("gfxdecode", wildcard)
MCFG_PALETTE_INIT_OVERRIDE(goldnpkr_state,witchcrd)
// MCFG_VIDEO_START_OVERRIDE(goldnpkr_state,wildcard)
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c
index 35a22fe343d..9fe9df4b3e1 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -6226,7 +6226,7 @@ static MACHINE_CONFIG_START( goldstar, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(goldstar)
+ MCFG_GFXDECODE_ADD("gfxdecode", goldstar)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6260,7 +6260,7 @@ static MACHINE_CONFIG_START( goldstbl, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(bl)
+ MCFG_GFXDECODE_ADD("gfxdecode", bl)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6293,7 +6293,7 @@ static MACHINE_CONFIG_START( moonlght, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(ml)
+ MCFG_GFXDECODE_ADD("gfxdecode", ml)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6391,7 +6391,7 @@ static MACHINE_CONFIG_START( chrygld, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(chry10)
+ MCFG_GFXDECODE_ADD("gfxdecode", chry10)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6432,7 +6432,7 @@ static MACHINE_CONFIG_START( cb3c, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(cb3c)
+ MCFG_GFXDECODE_ADD("gfxdecode", cb3c)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6472,7 +6472,7 @@ static MACHINE_CONFIG_START( ncb3, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(ncb3)
+ MCFG_GFXDECODE_ADD("gfxdecode", ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
@@ -6512,7 +6512,7 @@ static MACHINE_CONFIG_START( cm, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(cmbitmap)
+ MCFG_GFXDECODE_ADD("gfxdecode", cmbitmap)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6527,7 +6527,7 @@ static MACHINE_CONFIG_START( cm, goldstar_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cmasterc, cm )
- MCFG_GFXDECODE(cmasterc)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", cmasterc)
MACHINE_CONFIG_END
@@ -6552,7 +6552,7 @@ static MACHINE_CONFIG_START( cmnobmp, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(cm)
+ MCFG_GFXDECODE_ADD("gfxdecode", cm)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6587,7 +6587,7 @@ static MACHINE_CONFIG_START( cmast91, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_cmast91)
- MCFG_GFXDECODE(cmast91)
+ MCFG_GFXDECODE_ADD("gfxdecode", cmast91)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cmast91)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6629,7 +6629,7 @@ static MACHINE_CONFIG_START( lucky8, goldstar_state )
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(ncb3)
+ MCFG_GFXDECODE_ADD("gfxdecode", ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6668,7 +6668,7 @@ static MACHINE_CONFIG_START( bingowng, goldstar_state )
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_bingowng)
- MCFG_GFXDECODE(ncb3)
+ MCFG_GFXDECODE_ADD("gfxdecode", ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6707,7 +6707,7 @@ static MACHINE_CONFIG_START( bingownga, goldstar_state )
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_bingowng)
- MCFG_GFXDECODE(bingownga) /* GFX Decode is the only difference with the parent machine */
+ MCFG_GFXDECODE_ADD("gfxdecode", bingownga) /* GFX Decode is the only difference with the parent machine */
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6763,7 +6763,7 @@ static MACHINE_CONFIG_START( magodds, goldstar_state )
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_magical)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,magodds)
- MCFG_GFXDECODE(magodds)
+ MCFG_GFXDECODE_ADD("gfxdecode", magodds)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6804,7 +6804,7 @@ static MACHINE_CONFIG_START( kkotnoli, goldstar_state )
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
- MCFG_GFXDECODE(ncb3)
+ MCFG_GFXDECODE_ADD("gfxdecode", ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
@@ -6839,7 +6839,7 @@ static MACHINE_CONFIG_START( ladylinr, goldstar_state )
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
- MCFG_GFXDECODE(ncb3)
+ MCFG_GFXDECODE_ADD("gfxdecode", ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6879,7 +6879,7 @@ static MACHINE_CONFIG_START( wcat3, goldstar_state )
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
- MCFG_GFXDECODE(ncb3)
+ MCFG_GFXDECODE_ADD("gfxdecode", ncb3)
MCFG_PALETTE_LENGTH(256)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6919,7 +6919,7 @@ static MACHINE_CONFIG_START( amcoe1, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(cm)
+ MCFG_GFXDECODE_ADD("gfxdecode", cm)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6958,7 +6958,7 @@ static MACHINE_CONFIG_START( amcoe1a, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_amcoe1a)
- MCFG_GFXDECODE(cm)
+ MCFG_GFXDECODE_ADD("gfxdecode", cm)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -6997,7 +6997,7 @@ static MACHINE_CONFIG_START( amcoe2, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(cm)
+ MCFG_GFXDECODE_ADD("gfxdecode", cm)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -7031,7 +7031,7 @@ static MACHINE_CONFIG_START( nfm, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(nfm)
+ MCFG_GFXDECODE_ADD("gfxdecode", nfm)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -7062,7 +7062,7 @@ static MACHINE_CONFIG_START( unkch, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_unkch)
- MCFG_GFXDECODE(unkch)
+ MCFG_GFXDECODE_ADD("gfxdecode", unkch)
MCFG_PALETTE_LENGTH(512)
//MCFG_NVRAM_HANDLER(goldstar)
@@ -7078,12 +7078,12 @@ static MACHINE_CONFIG_START( unkch, goldstar_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cherrys, ncb3 )
- MCFG_GFXDECODE(cherrys)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", cherrys)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cm97, ncb3 )
- MCFG_GFXDECODE(cm97)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", cm97)
MACHINE_CONFIG_END
@@ -7110,7 +7110,7 @@ static MACHINE_CONFIG_START( pkrmast, goldstar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
- MCFG_GFXDECODE(pkrmast)
+ MCFG_GFXDECODE_ADD("gfxdecode", pkrmast)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -7147,7 +7147,7 @@ static MACHINE_CONFIG_START( megaline, goldstar_state )
MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar)
MCFG_PALETTE_INIT_OVERRIDE(goldstar_state,lucky8)
- MCFG_GFXDECODE(megaline)
+ MCFG_GFXDECODE_ADD("gfxdecode", megaline)
MCFG_PALETTE_LENGTH(256)
// MCFG_NVRAM_ADD_1FILL("nvram")
diff --git a/src/mame/drivers/gomoku.c b/src/mame/drivers/gomoku.c
index c33f2e89fab..c67b362d1f4 100644
--- a/src/mame/drivers/gomoku.c
+++ b/src/mame/drivers/gomoku.c
@@ -133,7 +133,7 @@ static MACHINE_CONFIG_START( gomoku, gomoku_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(gomoku_state, screen_update_gomoku)
- MCFG_GFXDECODE(gomoku)
+ MCFG_GFXDECODE_ADD("gfxdecode", gomoku)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/good.c b/src/mame/drivers/good.c
index bb5b7850e88..b7834265e2e 100644
--- a/src/mame/drivers/good.c
+++ b/src/mame/drivers/good.c
@@ -73,7 +73,7 @@ TILE_GET_INFO_MEMBER(good_state::get_fg_tile_info)
{
int tileno = m_fg_tilemapram[tile_index * 2];
int attr = m_fg_tilemapram[tile_index * 2 + 1] & 0xf;
- SET_TILE_INFO_MEMBER(0, tileno, attr, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, attr, 0);
}
WRITE16_MEMBER(good_state::bg_tilemapram_w)
@@ -86,7 +86,7 @@ TILE_GET_INFO_MEMBER(good_state::get_bg_tile_info)
{
int tileno = m_bg_tilemapram[tile_index * 2];
int attr = m_bg_tilemapram[tile_index * 2 + 1] & 0xf;
- SET_TILE_INFO_MEMBER(1, tileno, attr, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, attr, 0);
}
@@ -283,7 +283,7 @@ static MACHINE_CONFIG_START( good, good_state )
MCFG_CPU_PROGRAM_MAP(good_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", good_state, irq2_line_hold)
- MCFG_GFXDECODE(good)
+ MCFG_GFXDECODE_ADD("gfxdecode", good)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/goodejan.c b/src/mame/drivers/goodejan.c
index 2033fa3fbf5..1ee078e743c 100644
--- a/src/mame/drivers/goodejan.c
+++ b/src/mame/drivers/goodejan.c
@@ -252,28 +252,28 @@ TILE_GET_INFO_MEMBER( goodejan_state::seibucrtc_sc0_tile_info )
int tile = m_sc0_vram[tile_index] & 0xfff;
int color = (m_sc0_vram[tile_index] >> 12) & 0x0f;
tile+=(m_seibucrtc_sc0bank<<12);
- SET_TILE_INFO_MEMBER(1, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color, 0);
}
TILE_GET_INFO_MEMBER( goodejan_state::seibucrtc_sc2_tile_info )
{
int tile = m_sc2_vram[tile_index] & 0xfff;
int color = (m_sc2_vram[tile_index] >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(2, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tile, color, 0);
}
TILE_GET_INFO_MEMBER( goodejan_state::seibucrtc_sc1_tile_info )
{
int tile = m_sc1_vram[tile_index] & 0xfff;
int color = (m_sc1_vram[tile_index] >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(3, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, tile, color, 0);
}
TILE_GET_INFO_MEMBER( goodejan_state::seibucrtc_sc3_tile_info )
{
int tile = m_sc3_vram[tile_index] & 0xfff;
int color = (m_sc3_vram[tile_index] >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(4, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4, tile, color, 0);
}
void goodejan_state::draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect,int pri)
@@ -305,11 +305,11 @@ void goodejan_state::draw_sprites(running_machine &machine, bitmap_ind16 &bitmap
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++) {
if (!fx)
- machine.gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite++,
color,fx,fy,x+ax*16,y+ay*16,15);
else
- machine.gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite++,
color,fx,fy,x+(dx-1-ax)*16,y+ay*16,15);
}
@@ -659,7 +659,7 @@ static MACHINE_CONFIG_START( goodejan, goodejan_state )
MCFG_SEIBU_CRTC_ADD("crtc",crtc_intf,0)
- MCFG_GFXDECODE(goodejan)
+ MCFG_GFXDECODE_ADD("gfxdecode", goodejan)
MCFG_PALETTE_LENGTH(0x1000)
/* sound hardware */
diff --git a/src/mame/drivers/gotcha.c b/src/mame/drivers/gotcha.c
index 634552ba188..d6ceb176ea5 100644
--- a/src/mame/drivers/gotcha.c
+++ b/src/mame/drivers/gotcha.c
@@ -274,7 +274,7 @@ static MACHINE_CONFIG_START( gotcha, gotcha_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gotcha_state, screen_update_gotcha)
- MCFG_GFXDECODE(gotcha)
+ MCFG_GFXDECODE_ADD("gfxdecode", gotcha)
MCFG_PALETTE_LENGTH(768)
@@ -282,7 +282,7 @@ static MACHINE_CONFIG_START( gotcha, gotcha_state )
decospr_device::set_gfx_region(*device, 1);
decospr_device::set_is_bootleg(*device, true);
decospr_device::set_offsets(*device, 5,-1); // aligned to 2nd instruction screen in attract
-
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index ac32f735c41..dff6f77a60e 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -1739,7 +1739,7 @@ static MACHINE_CONFIG_START( gottlieb_core, gottlieb_state )
MCFG_SCREEN_RAW_PARAMS(SYSTEM_CLOCK/4, GOTTLIEB_VIDEO_HCOUNT, 0, GOTTLIEB_VIDEO_HBLANK, GOTTLIEB_VIDEO_VCOUNT, 0, GOTTLIEB_VIDEO_VBLANK)
MCFG_SCREEN_UPDATE_DRIVER(gottlieb_state, screen_update_gottlieb)
- MCFG_GFXDECODE(gfxdecode)
+ MCFG_GFXDECODE_ADD("gfxdecode", gfxdecode)
MCFG_PALETTE_LENGTH(16)
// basic speaker configuration
diff --git a/src/mame/drivers/gotya.c b/src/mame/drivers/gotya.c
index 4ef09caf292..f7c14f7f6b0 100644
--- a/src/mame/drivers/gotya.c
+++ b/src/mame/drivers/gotya.c
@@ -202,7 +202,7 @@ static MACHINE_CONFIG_START( gotya, gotya_state )
MCFG_SCREEN_VISIBLE_AREA(0, 36*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gotya_state, screen_update_gotya)
- MCFG_GFXDECODE(gotya)
+ MCFG_GFXDECODE_ADD("gfxdecode", gotya)
MCFG_PALETTE_LENGTH(16*4)
diff --git a/src/mame/drivers/gpworld.c b/src/mame/drivers/gpworld.c
index 0007b53da7c..ac226a9bf28 100644
--- a/src/mame/drivers/gpworld.c
+++ b/src/mame/drivers/gpworld.c
@@ -108,7 +108,7 @@ void gpworld_state::gpworld_draw_tiles(bitmap_rgb32 &bitmap,const rectangle &cli
{
int current_screen_character = (characterY*64) + characterX;
- machine().gfx[0]->transpen(bitmap,cliprect, m_tile_ram[current_screen_character],
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, m_tile_ram[current_screen_character],
characterY, 0, 0, characterX*8, characterY*8, 0);
}
}
@@ -494,7 +494,7 @@ static MACHINE_CONFIG_START( gpworld, gpworld_state )
/* video hardware */
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
- MCFG_GFXDECODE(gpworld)
+ MCFG_GFXDECODE_ADD("gfxdecode", gpworld)
MCFG_PALETTE_LENGTH(1024)
/* sound hardware */
diff --git a/src/mame/drivers/gradius3.c b/src/mame/drivers/gradius3.c
index fad697ae354..95cdc90a7d1 100644
--- a/src/mame/drivers/gradius3.c
+++ b/src/mame/drivers/gradius3.c
@@ -319,9 +319,11 @@ static MACHINE_CONFIG_START( gradius3, gradius3_state )
MCFG_PALETTE_LENGTH(2048)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", gradius3_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", gradius3_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/grchamp.c b/src/mame/drivers/grchamp.c
index a67d470d2a2..8497b6bb6b0 100644
--- a/src/mame/drivers/grchamp.c
+++ b/src/mame/drivers/grchamp.c
@@ -681,7 +681,7 @@ static MACHINE_CONFIG_START( grchamp, grchamp_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_GFXDECODE(grchamp)
+ MCFG_GFXDECODE_ADD("gfxdecode", grchamp)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
diff --git a/src/mame/drivers/groundfx.c b/src/mame/drivers/groundfx.c
index af14977bb29..3851ad685cc 100644
--- a/src/mame/drivers/groundfx.c
+++ b/src/mame/drivers/groundfx.c
@@ -366,12 +366,14 @@ static MACHINE_CONFIG_START( groundfx, groundfx_state )
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(groundfx_state, screen_update_groundfx)
- MCFG_GFXDECODE(groundfx)
+ MCFG_GFXDECODE_ADD("gfxdecode", groundfx)
MCFG_PALETTE_LENGTH(16384)
MCFG_TC0100SCN_ADD("tc0100scn", groundfx_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0480SCP_ADD("tc0480scp", groundfx_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_FRAGMENT_ADD(taito_en_sound)
diff --git a/src/mame/drivers/gstream.c b/src/mame/drivers/gstream.c
index b41b48a924f..a9caea4e793 100644
--- a/src/mame/drivers/gstream.c
+++ b/src/mame/drivers/gstream.c
@@ -452,14 +452,14 @@ TILE_GET_INFO_MEMBER(gstream_state::get_gs1_tile_info)
{
int tileno = (m_vram[tile_index + 0x000 / 4] & 0x0fff0000) >> 16;
int palette = (m_vram[tile_index + 0x000 / 4] & 0xc0000000) >> 30;
- SET_TILE_INFO_MEMBER(0, tileno, palette + 0x10, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, palette + 0x10, 0);
}
TILE_GET_INFO_MEMBER(gstream_state::get_gs2_tile_info)
{
int tileno = (m_vram[tile_index + 0x400 / 4] & 0x0fff0000) >> 16;
int palette = (m_vram[tile_index + 0x400 / 4] & 0xc0000000) >> 30;
- SET_TILE_INFO_MEMBER(0, tileno + 0x1000, palette + 0x14, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno + 0x1000, palette + 0x14, 0);
}
@@ -467,7 +467,7 @@ TILE_GET_INFO_MEMBER(gstream_state::get_gs3_tile_info)
{
int tileno = (m_vram[tile_index + 0x800 / 4] & 0x0fff0000) >> 16;
int palette = (m_vram[tile_index + 0x800 / 4] & 0xc0000000) >> 30;
- SET_TILE_INFO_MEMBER(0, tileno + 0x2000, palette + 0x18, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno + 0x2000, palette + 0x18, 0);
}
@@ -526,7 +526,7 @@ UINT32 gstream_state::screen_update_gstream(screen_device &screen, bitmap_ind16
if (x & 0x8000) x -= 0x10000;
if (y & 0x8000) y -= 0x10000;
- machine().gfx[1]->transpen(bitmap,cliprect,code,col,0,0,x-2,y,0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,code,col,0,0,x-2,y,0);
}
return 0;
@@ -577,7 +577,7 @@ static MACHINE_CONFIG_START( gstream, gstream_state )
MCFG_SCREEN_UPDATE_DRIVER(gstream_state, screen_update_gstream)
MCFG_PALETTE_LENGTH(0x1000 + 0x400 + 0x400 + 0x400) // sprites + 3 bg layers
- MCFG_GFXDECODE(gstream)
+ MCFG_GFXDECODE_ADD("gfxdecode", gstream)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gstriker.c b/src/mame/drivers/gstriker.c
index fe48b1d6456..ce4ec2887d6 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -552,7 +552,7 @@ static MACHINE_CONFIG_START( gstriker, gstriker_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gstriker_state, screen_update_gstriker)
- MCFG_GFXDECODE(gstriker)
+ MCFG_GFXDECODE_ADD("gfxdecode", gstriker)
MCFG_PALETTE_LENGTH(0x800)
MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0)
@@ -560,6 +560,7 @@ static MACHINE_CONFIG_START( gstriker, gstriker_state )
MCFG_VSYSTEM_SPR_SET_PALBASE(0x10)
MCFG_VSYSTEM_SPR_SET_PALMASK(0x1f)
MCFG_VSYSTEM_SPR_SET_TRANSPEN(0)
+ MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(gstriker_state,gstriker)
@@ -600,12 +601,13 @@ static MACHINE_CONFIG_START( vgoal, gstriker_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gstriker_state, screen_update_gstriker)
- MCFG_GFXDECODE(gstriker)
+ MCFG_GFXDECODE_ADD("gfxdecode", gstriker)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0)
MCFG_VSYSTEM_SPR_SET_GFXREGION(2)
MCFG_VSYSTEM_SPR_SET_PALBASE(0x00)
+ MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(gstriker_state,vgoalsoc)
diff --git a/src/mame/drivers/gsword.c b/src/mame/drivers/gsword.c
index 7439d4220df..175c45d5d2e 100644
--- a/src/mame/drivers/gsword.c
+++ b/src/mame/drivers/gsword.c
@@ -685,7 +685,7 @@ static MACHINE_CONFIG_START( gsword, gsword_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gsword_state, screen_update_gsword)
- MCFG_GFXDECODE(gsword)
+ MCFG_GFXDECODE_ADD("gfxdecode", gsword)
MCFG_PALETTE_LENGTH(64*4+64*4)
MCFG_PALETTE_INIT_OVERRIDE(gsword_state,gsword)
@@ -728,7 +728,7 @@ static MACHINE_CONFIG_START( josvolly, gsword_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gsword_state, screen_update_gsword)
- MCFG_GFXDECODE(gsword)
+ MCFG_GFXDECODE_ADD("gfxdecode", gsword)
MCFG_PALETTE_LENGTH(64*4+64*4)
MCFG_PALETTE_INIT_OVERRIDE(gsword_state,josvolly)
diff --git a/src/mame/drivers/gticlub.c b/src/mame/drivers/gticlub.c
index d1dc384a1de..afc8b543c13 100644
--- a/src/mame/drivers/gticlub.c
+++ b/src/mame/drivers/gticlub.c
@@ -983,7 +983,9 @@ static MACHINE_CONFIG_START( gticlub, gticlub_state )
MCFG_VIDEO_START_OVERRIDE(gticlub_state,gticlub)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K001604_ADD("k001604_1", gticlub_k001604_intf)
+ MCFG_K001604_GFXDECODE("gfxdecode")
MCFG_K056800_ADD("k056800", XTAL_33_8688MHz/2)
MCFG_K056800_INT_HANDLER(INPUTLINE("audiocpu", M68K_IRQ_2))
@@ -1011,6 +1013,7 @@ static MACHINE_CONFIG_DERIVED( slrasslt, gticlub )
MCFG_DEVICE_REMOVE("k001604_1")
MCFG_K001604_ADD("k001604_1", slrasslt_k001604_intf)
+ MCFG_K001604_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
@@ -1100,8 +1103,13 @@ static MACHINE_CONFIG_START( hangplt, gticlub_state )
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 383)
MCFG_SCREEN_UPDATE_DRIVER(gticlub_state, screen_update_hangplt)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_K001604_ADD("k001604_1", hangplt_k001604_intf_l)
+ MCFG_K001604_GFXDECODE("gfxdecode")
+
MCFG_K001604_ADD("k001604_2", hangplt_k001604_intf_r)
+ MCFG_K001604_GFXDECODE("gfxdecode")
MCFG_K056800_ADD("k056800", XTAL_33_8688MHz/2)
MCFG_K056800_INT_HANDLER(INPUTLINE("audiocpu", M68K_IRQ_2))
diff --git a/src/mame/drivers/gumbo.c b/src/mame/drivers/gumbo.c
index f981c945e67..19b5c9cf69b 100644
--- a/src/mame/drivers/gumbo.c
+++ b/src/mame/drivers/gumbo.c
@@ -233,7 +233,7 @@ static MACHINE_CONFIG_START( gumbo, gumbo_state )
MCFG_CPU_PROGRAM_MAP(gumbo_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", gumbo_state, irq1_line_hold) // all the same
- MCFG_GFXDECODE(gumbo)
+ MCFG_GFXDECODE_ADD("gfxdecode", gumbo)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/gunbustr.c b/src/mame/drivers/gunbustr.c
index cfe094f3225..61d8f805c81 100644
--- a/src/mame/drivers/gunbustr.c
+++ b/src/mame/drivers/gunbustr.c
@@ -311,11 +311,12 @@ static MACHINE_CONFIG_START( gunbustr, gunbustr_state )
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gunbustr_state, screen_update_gunbustr)
- MCFG_GFXDECODE(gunbustr)
+ MCFG_GFXDECODE_ADD("gfxdecode", gunbustr)
MCFG_PALETTE_LENGTH(8192)
MCFG_TC0480SCP_ADD("tc0480scp", gunbustr_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_FRAGMENT_ADD(taito_en_sound)
diff --git a/src/mame/drivers/gundealr.c b/src/mame/drivers/gundealr.c
index 54aa9425c71..b24cc57d037 100644
--- a/src/mame/drivers/gundealr.c
+++ b/src/mame/drivers/gundealr.c
@@ -417,7 +417,7 @@ static MACHINE_CONFIG_START( gundealr, gundealr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gundealr_state, screen_update_gundealr)
- MCFG_GFXDECODE(gundealr)
+ MCFG_GFXDECODE_ADD("gfxdecode", gundealr)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/gunpey.c b/src/mame/drivers/gunpey.c
index 6529b2fc5bc..b437dd83e97 100644
--- a/src/mame/drivers/gunpey.c
+++ b/src/mame/drivers/gunpey.c
@@ -1465,7 +1465,7 @@ static MACHINE_CONFIG_START( gunpey, gunpey_state )
MCFG_SCREEN_UPDATE_DRIVER(gunpey_state, screen_update_gunpey)
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_GFXDECODE(gunpey)
+ MCFG_GFXDECODE_ADD("gfxdecode", gunpey)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
diff --git a/src/mame/drivers/gunsmoke.c b/src/mame/drivers/gunsmoke.c
index 772d5681fc4..da44342a432 100644
--- a/src/mame/drivers/gunsmoke.c
+++ b/src/mame/drivers/gunsmoke.c
@@ -309,12 +309,11 @@ static MACHINE_CONFIG_START( gunsmoke, gunsmoke_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(gunsmoke_state, screen_update_gunsmoke)
- MCFG_GFXDECODE(gunsmoke)
+ MCFG_GFXDECODE_ADD("gfxdecode", gunsmoke)
MCFG_PALETTE_LENGTH(32*4+16*16+16*16)
- MCFG_SCREEN_UPDATE_DRIVER(gunsmoke_state, screen_update_gunsmoke)
-
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/gyruss.c b/src/mame/drivers/gyruss.c
index ad58093bdb3..0c9444742df 100644
--- a/src/mame/drivers/gyruss.c
+++ b/src/mame/drivers/gyruss.c
@@ -534,7 +534,7 @@ static MACHINE_CONFIG_START( gyruss, gyruss_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(gyruss_state, screen_update_gyruss)
- MCFG_GFXDECODE(gyruss)
+ MCFG_GFXDECODE_ADD("gfxdecode", gyruss)
MCFG_PALETTE_LENGTH(16*4+16*16)
diff --git a/src/mame/drivers/hanaawas.c b/src/mame/drivers/hanaawas.c
index a833f42e54d..74a867deb06 100644
--- a/src/mame/drivers/hanaawas.c
+++ b/src/mame/drivers/hanaawas.c
@@ -209,7 +209,7 @@ static MACHINE_CONFIG_START( hanaawas, hanaawas_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(hanaawas_state, screen_update_hanaawas)
- MCFG_GFXDECODE(hanaawas)
+ MCFG_GFXDECODE_ADD("gfxdecode", hanaawas)
MCFG_PALETTE_LENGTH(32*8)
diff --git a/src/mame/drivers/hcastle.c b/src/mame/drivers/hcastle.c
index 6e6c116d3f5..324c8d226b0 100644
--- a/src/mame/drivers/hcastle.c
+++ b/src/mame/drivers/hcastle.c
@@ -213,7 +213,7 @@ static MACHINE_CONFIG_START( hcastle, hcastle_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(hcastle_state, screen_update_hcastle)
- MCFG_GFXDECODE(hcastle)
+ MCFG_GFXDECODE_ADD("gfxdecode", hcastle)
MCFG_PALETTE_LENGTH(2*8*16*16)
diff --git a/src/mame/drivers/headonb.c b/src/mame/drivers/headonb.c
index f0e63d0ab1c..2fffb25437d 100644
--- a/src/mame/drivers/headonb.c
+++ b/src/mame/drivers/headonb.c
@@ -69,7 +69,7 @@ void headonb_state::palette_init()
TILE_GET_INFO_MEMBER(headonb_state::get_headonb_tile_info)
{
UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
void headonb_state::video_start()
@@ -175,7 +175,7 @@ static MACHINE_CONFIG_START( headonb, headonb_state )
MCFG_SCREEN_UPDATE_DRIVER(headonb_state, screen_update_headonb)
- MCFG_GFXDECODE(headonb)
+ MCFG_GFXDECODE_ADD("gfxdecode", headonb)
MCFG_PALETTE_LENGTH(2)
/* sound hardware */
diff --git a/src/mame/drivers/hexion.c b/src/mame/drivers/hexion.c
index e75321001d7..ecf110b63d4 100644
--- a/src/mame/drivers/hexion.c
+++ b/src/mame/drivers/hexion.c
@@ -234,7 +234,7 @@ static MACHINE_CONFIG_START( hexion, hexion_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(hexion_state, screen_update_hexion)
- MCFG_GFXDECODE(hexion)
+ MCFG_GFXDECODE_ADD("gfxdecode", hexion)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/hideseek.c b/src/mame/drivers/hideseek.c
index 86b4ed2404e..136de262151 100644
--- a/src/mame/drivers/hideseek.c
+++ b/src/mame/drivers/hideseek.c
@@ -108,7 +108,7 @@ static MACHINE_CONFIG_START( hideseek, hideseek_state )
MCFG_SCREEN_UPDATE_DRIVER(hideseek_state, screen_update_hideseek)
MCFG_PALETTE_LENGTH(0x10000)
- MCFG_GFXDECODE(hideseek)
+ MCFG_GFXDECODE_ADD("gfxdecode", hideseek)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
diff --git a/src/mame/drivers/higemaru.c b/src/mame/drivers/higemaru.c
index 41a5a7c216e..3af74abecc4 100644
--- a/src/mame/drivers/higemaru.c
+++ b/src/mame/drivers/higemaru.c
@@ -172,7 +172,7 @@ static MACHINE_CONFIG_START( higemaru, higemaru_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(higemaru_state, screen_update_higemaru)
- MCFG_GFXDECODE(higemaru)
+ MCFG_GFXDECODE_ADD("gfxdecode", higemaru)
MCFG_PALETTE_LENGTH(32*4+16*16)
diff --git a/src/mame/drivers/himesiki.c b/src/mame/drivers/himesiki.c
index d25e6f5076d..d4c45545447 100644
--- a/src/mame/drivers/himesiki.c
+++ b/src/mame/drivers/himesiki.c
@@ -305,7 +305,7 @@ static MACHINE_CONFIG_START( himesiki, himesiki_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 24*8-1)
MCFG_SCREEN_UPDATE_DRIVER(himesiki_state, screen_update_himesiki)
- MCFG_GFXDECODE(himesiki)
+ MCFG_GFXDECODE_ADD("gfxdecode", himesiki)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/hitme.c b/src/mame/drivers/hitme.c
index 9fad05d27bd..97dbf9518bd 100644
--- a/src/mame/drivers/hitme.c
+++ b/src/mame/drivers/hitme.c
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(hitme_state::get_hitme_tile_info)
{
/* the code is the low 6 bits */
UINT8 code = m_videoram[tile_index] & 0x3f;
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
@@ -322,7 +322,7 @@ static MACHINE_CONFIG_START( hitme, hitme_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 19*10-1)
MCFG_SCREEN_UPDATE_DRIVER(hitme_state, screen_update_hitme)
- MCFG_GFXDECODE(hitme)
+ MCFG_GFXDECODE_ADD("gfxdecode", hitme)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
@@ -351,7 +351,7 @@ static MACHINE_CONFIG_DERIVED( barricad, hitme )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 24*8-1)
MCFG_SCREEN_UPDATE_DRIVER(hitme_state, screen_update_barricad)
- MCFG_GFXDECODE(barricad)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 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 a9631b981f0..4635023337d 100644
--- a/src/mame/drivers/hitpoker.c
+++ b/src/mame/drivers/hitpoker.c
@@ -115,7 +115,7 @@ UINT32 hitpoker_state::screen_update_hitpoker(screen_device &screen, bitmap_ind1
gfx_bpp = (m_colorram[count] & 0x80)>>7; //flag between 4 and 8 bpp
color = gfx_bpp ? ((m_colorram[count] & 0x70)>>4) : (m_colorram[count] & 0xf);
- machine().gfx[gfx_bpp]->opaque(bitmap,cliprect,tile,color,0,0,x*8,y*8);
+ m_gfxdecode->gfx(gfx_bpp)->opaque(bitmap,cliprect,tile,color,0,0,x*8,y*8);
count+=2;
}
@@ -508,7 +508,7 @@ static MACHINE_CONFIG_START( hitpoker, hitpoker_state )
MCFG_MC6845_ADD("crtc", H46505, "screen", CRTC_CLOCK/2, mc6845_intf) /* hand tuned to get ~60 fps */
- MCFG_GFXDECODE(hitpoker)
+ MCFG_GFXDECODE_ADD("gfxdecode", hitpoker)
MCFG_PALETTE_LENGTH(0x800)
diff --git a/src/mame/drivers/hng64.c b/src/mame/drivers/hng64.c
index a8398da4158..e42acc3b573 100644
--- a/src/mame/drivers/hng64.c
+++ b/src/mame/drivers/hng64.c
@@ -1965,7 +1965,7 @@ static MACHINE_CONFIG_START( hng64, hng64_state )
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_MSM6242_ADD("rtc", hng64_rtc_intf)
- MCFG_GFXDECODE(hng64)
+ MCFG_GFXDECODE_ADD("gfxdecode", hng64)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
diff --git a/src/mame/drivers/holeland.c b/src/mame/drivers/holeland.c
index 2a70220ee66..7484ca2133e 100644
--- a/src/mame/drivers/holeland.c
+++ b/src/mame/drivers/holeland.c
@@ -290,7 +290,7 @@ static MACHINE_CONFIG_START( holeland, holeland_state )
MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 2*16, 30*16-1)
MCFG_SCREEN_UPDATE_DRIVER(holeland_state, screen_update_holeland)
- MCFG_GFXDECODE(holeland)
+ MCFG_GFXDECODE_ADD("gfxdecode", holeland)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -360,7 +360,7 @@ static MACHINE_CONFIG_START( crzrally, holeland_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(holeland_state, screen_update_crzrally)
- MCFG_GFXDECODE(crzrally)
+ MCFG_GFXDECODE_ADD("gfxdecode", crzrally)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c
index 4332492e759..d3d892c305e 100644
--- a/src/mame/drivers/homedata.c
+++ b/src/mame/drivers/homedata.c
@@ -1240,7 +1240,7 @@ static MACHINE_CONFIG_START( mrokumei, homedata_state )
MCFG_SCREEN_UPDATE_DRIVER(homedata_state, screen_update_mrokumei)
MCFG_SCREEN_VBLANK_DRIVER(homedata_state, screen_eof_homedata)
- MCFG_GFXDECODE(mrokumei)
+ MCFG_GFXDECODE_ADD("gfxdecode", mrokumei)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(homedata_state,mrokumei)
@@ -1305,7 +1305,7 @@ static MACHINE_CONFIG_START( reikaids, homedata_state )
MCFG_SCREEN_UPDATE_DRIVER(homedata_state, screen_update_reikaids)
MCFG_SCREEN_VBLANK_DRIVER(homedata_state, screen_eof_homedata)
- MCFG_GFXDECODE(reikaids)
+ MCFG_GFXDECODE_ADD("gfxdecode", reikaids)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(homedata_state,reikaids)
@@ -1356,7 +1356,7 @@ static MACHINE_CONFIG_START( pteacher, homedata_state )
MCFG_SCREEN_UPDATE_DRIVER(homedata_state, screen_update_pteacher)
MCFG_SCREEN_VBLANK_DRIVER(homedata_state, screen_eof_homedata)
- MCFG_GFXDECODE(pteacher)
+ MCFG_GFXDECODE_ADD("gfxdecode", pteacher)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(homedata_state,pteacher)
@@ -1381,7 +1381,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( lemnangl, pteacher )
/* video hardware */
- MCFG_GFXDECODE(lemnangl)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", lemnangl)
MCFG_VIDEO_START_OVERRIDE(homedata_state,lemnangl)
MACHINE_CONFIG_END
@@ -1518,7 +1518,7 @@ static MACHINE_CONFIG_START( mirderby, homedata_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 54*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(homedata_state, screen_update_mirderby)
- MCFG_GFXDECODE(mirderby)
+ MCFG_GFXDECODE_ADD("gfxdecode", mirderby)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_PALETTE_INIT_OVERRIDE(homedata_state,mirderby)
diff --git a/src/mame/drivers/homerun.c b/src/mame/drivers/homerun.c
index 2ee5086208c..73a842b1fbf 100644
--- a/src/mame/drivers/homerun.c
+++ b/src/mame/drivers/homerun.c
@@ -389,7 +389,7 @@ static MACHINE_CONFIG_START( dynashot, homerun_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(homerun_state, screen_update_homerun)
- MCFG_GFXDECODE(homerun)
+ MCFG_GFXDECODE_ADD("gfxdecode", homerun)
MCFG_PALETTE_LENGTH(16*4)
/* sound hardware */
diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c
index d8d41b4c0a2..c197a41d335 100644
--- a/src/mame/drivers/hornet.c
+++ b/src/mame/drivers/hornet.c
@@ -1001,7 +1001,10 @@ static MACHINE_CONFIG_START( hornet, hornet_state )
MCFG_PALETTE_LENGTH(65536)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_K037122_ADD("k037122_1", "screen", 0)
+ MCFG_K037122_GFXDECODE("gfxdecode")
MCFG_K056800_ADD("k056800", XTAL_16_9344MHz)
MCFG_K056800_INT_HANDLER(INPUTLINE("audiocpu", M68K_IRQ_2))
@@ -1071,7 +1074,10 @@ static MACHINE_CONFIG_DERIVED( hornet_2board, hornet )
MCFG_DEVICE_REMOVE("k037122_1")
MCFG_K037122_ADD("k037122_1", "lscreen", 0)
+ MCFG_K037122_GFXDECODE("gfxdecode")
+
MCFG_K037122_ADD("k037122_2", "rscreen", 1)
+ MCFG_K037122_GFXDECODE("gfxdecode")
MCFG_DEVICE_REMOVE("voodoo0")
MCFG_3DFX_VOODOO_1_ADD("voodoo0", STD_VOODOO_1_CLOCK, voodoo_l_intf)
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 993f5916db8..9dbb2fe43f8 100644
--- a/src/mame/drivers/hvyunit.c
+++ b/src/mame/drivers/hvyunit.c
@@ -169,7 +169,7 @@ TILE_GET_INFO_MEMBER(hvyunit_state::get_bg_tile_info)
int code = m_videoram[tile_index] + ((attr & 0x0f) << 8);
int color = (attr >> 4);
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
void hvyunit_state::video_start()
@@ -664,11 +664,11 @@ static MACHINE_CONFIG_START( hvyunit, hvyunit_state )
MCFG_SCREEN_UPDATE_DRIVER(hvyunit_state, screen_update_hvyunit)
MCFG_SCREEN_VBLANK_DRIVER(hvyunit_state, screen_eof_hvyunit)
- MCFG_GFXDECODE(hvyunit)
+ MCFG_GFXDECODE_ADD("gfxdecode", hvyunit)
MCFG_PALETTE_LENGTH(0x800)
MCFG_KANEKO_PANDORA_ADD("pandora", hvyunit_pandora_config)
-
+ MCFG_KANEKO_PANDORA_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/hyperspt.c b/src/mame/drivers/hyperspt.c
index 3e29f5dca75..9cde7e130f4 100644
--- a/src/mame/drivers/hyperspt.c
+++ b/src/mame/drivers/hyperspt.c
@@ -307,7 +307,7 @@ static MACHINE_CONFIG_START( hyperspt, hyperspt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(hyperspt_state, screen_update_hyperspt)
- MCFG_GFXDECODE(hyperspt)
+ MCFG_GFXDECODE_ADD("gfxdecode", hyperspt)
MCFG_PALETTE_LENGTH(16*16+16*16)
@@ -341,7 +341,7 @@ static MACHINE_CONFIG_DERIVED( roadf, hyperspt )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(roadf_map)
- MCFG_GFXDECODE(roadf)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", roadf)
MCFG_VIDEO_START_OVERRIDE(hyperspt_state,roadf)
MCFG_CPU_MODIFY("audiocpu")
diff --git a/src/mame/drivers/hyprduel.c b/src/mame/drivers/hyprduel.c
index ac62fcc61ed..0318f816e60 100644
--- a/src/mame/drivers/hyprduel.c
+++ b/src/mame/drivers/hyprduel.c
@@ -662,7 +662,7 @@ static MACHINE_CONFIG_START( hyprduel, hyprduel_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, FIRST_VISIBLE_LINE, LAST_VISIBLE_LINE)
MCFG_SCREEN_UPDATE_DRIVER(hyprduel_state, screen_update_hyprduel)
- MCFG_GFXDECODE(14220)
+ MCFG_GFXDECODE_ADD("gfxdecode", 14220)
MCFG_PALETTE_LENGTH(8192)
MCFG_VIDEO_START_OVERRIDE(hyprduel_state,hyprduel_14220)
@@ -703,7 +703,7 @@ static MACHINE_CONFIG_START( magerror, hyprduel_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, FIRST_VISIBLE_LINE, LAST_VISIBLE_LINE)
MCFG_SCREEN_UPDATE_DRIVER(hyprduel_state, screen_update_hyprduel)
- MCFG_GFXDECODE(14220)
+ MCFG_GFXDECODE_ADD("gfxdecode", 14220)
MCFG_PALETTE_LENGTH(8192)
MCFG_VIDEO_START_OVERRIDE(hyprduel_state,magerror_14220)
diff --git a/src/mame/drivers/ichiban.c b/src/mame/drivers/ichiban.c
index b83043a90c7..1e1887265c2 100644
--- a/src/mame/drivers/ichiban.c
+++ b/src/mame/drivers/ichiban.c
@@ -128,7 +128,7 @@ static MACHINE_CONFIG_START( ichibanjyan, ichibanjyan_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
- MCFG_GFXDECODE(ichibanjyan)
+ MCFG_GFXDECODE_ADD("gfxdecode", ichibanjyan)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/igs009.c b/src/mame/drivers/igs009.c
index ca0630708a3..66dcd968359 100644
--- a/src/mame/drivers/igs009.c
+++ b/src/mame/drivers/igs009.c
@@ -112,7 +112,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel1_tile_info)
{
int code = m_gp98_reel1_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code)+(((tile_index+1)&0x3)*0x100),
(code & 0x80) ? 0xc : 0,
@@ -124,7 +124,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel1_tile_info)
{
int code = m_gp98_reel1_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code*4)+(tile_index&0x3),
0,
@@ -142,7 +142,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel2_tile_info)
{
int code = m_gp98_reel2_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code)+(((tile_index+1)&0x3)*0x100),
(code & 0x80) ? 0xc : 0,
@@ -153,7 +153,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel2_tile_info)
{
int code = m_gp98_reel2_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code*4)+(tile_index&0x3),
0,
@@ -172,7 +172,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel3_tile_info)
{
int code = m_gp98_reel3_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code)+(((tile_index+1)&0x3)*0x100),
(code & 0x80) ? 0xc : 0,
@@ -183,7 +183,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel3_tile_info)
{
int code = m_gp98_reel3_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code*4)+(tile_index&0x3),
0,
@@ -202,7 +202,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel4_tile_info)
{
int code = m_gp98_reel4_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code)+(((tile_index+1)&0x3)*0x100),
(code & 0x80) ? 0xc : 0,
@@ -213,7 +213,7 @@ TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel4_tile_info)
{
int code = m_gp98_reel4_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code*4)+(tile_index&0x3),
0,
@@ -236,7 +236,7 @@ WRITE8_MEMBER(igs009_state::bg_scroll_w)
TILE_GET_INFO_MEMBER(igs009_state::get_fg_tile_info)
{
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
- SET_TILE_INFO_MEMBER(1, code, (4*(code >> 14)+3), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, (4*(code >> 14)+3), 0);
}
WRITE8_MEMBER(igs009_state::fg_tile_w)
@@ -760,7 +760,7 @@ static MACHINE_CONFIG_START( jingbell, igs009_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(igs009_state, screen_update_jingbell)
- MCFG_GFXDECODE(jingbell)
+ MCFG_GFXDECODE_ADD("gfxdecode", jingbell)
MCFG_PALETTE_LENGTH(0x400)
@@ -774,7 +774,7 @@ static MACHINE_CONFIG_START( jingbell, igs009_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gp98, jingbell )
- MCFG_GFXDECODE(gp98)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 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 516229fed8e..430fd3ebee7 100644
--- a/src/mame/drivers/igs011.c
+++ b/src/mame/drivers/igs011.c
@@ -3942,7 +3942,7 @@ static MACHINE_CONFIG_START( igs011_base, igs011_state )
MCFG_SCREEN_UPDATE_DRIVER(igs011_state, screen_update_igs011)
MCFG_PALETTE_LENGTH(0x800)
-// MCFG_GFXDECODE(igs011)
+// MCFG_GFXDECODE_ADD("gfxdecode", igs011)
/* sound hardware */
@@ -4035,7 +4035,7 @@ static MACHINE_CONFIG_DERIVED( lhb2, igs011_base )
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold)
MCFG_TIMER_ADD_PERIODIC("timer_irq", lev5_timer_irq_cb, attotime::from_hz(240)) // lev5 frequency drives the music tempo
-// MCFG_GFXDECODE(igs011_hi)
+// MCFG_GFXDECODE_ADD("gfxdecode", igs011_hi)
MCFG_SOUND_ADD("ymsnd", YM2413, XTAL_3_579545MHz)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
@@ -4051,7 +4051,7 @@ static MACHINE_CONFIG_DERIVED( nkishusp, igs011_base )
// VSync 60.0052Hz, HSync 15.620kHz
-// MCFG_GFXDECODE(igs011_hi)
+// MCFG_GFXDECODE_ADD("gfxdecode", igs011_hi)
MCFG_SOUND_ADD("ymsnd", YM2413, XTAL_3_579545MHz)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
@@ -4074,7 +4074,7 @@ static MACHINE_CONFIG_DERIVED( vbowl, igs011_base )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_DRIVER(igs011_state, screen_eof_vbowl)
-// MCFG_GFXDECODE(igs011_hi)
+// MCFG_GFXDECODE_ADD("gfxdecode", igs011_hi)
MCFG_DEVICE_REMOVE("oki")
MCFG_ICS2115_ADD("ics", 0, sound_irq)
diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c
index e049836d708..2c6ffc72b90 100644
--- a/src/mame/drivers/igs017.c
+++ b/src/mame/drivers/igs017.c
@@ -223,13 +223,13 @@ TILE_GET_INFO_MEMBER(igs017_state::get_fg_tile_info)
{
int code = m_fg_videoram[tile_index*4+0] + (m_fg_videoram[tile_index*4+1] << 8);
int attr = m_fg_videoram[tile_index*4+2] + (m_fg_videoram[tile_index*4+3] << 8);
- SET_TILE_INFO_MEMBER(0, code, COLOR(attr), TILE_FLIPXY( attr >> 5 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, COLOR(attr), TILE_FLIPXY( attr >> 5 ));
}
TILE_GET_INFO_MEMBER(igs017_state::get_bg_tile_info)
{
int code = m_bg_videoram[tile_index*4+0] + (m_bg_videoram[tile_index*4+1] << 8);
int attr = m_bg_videoram[tile_index*4+2] + (m_bg_videoram[tile_index*4+3] << 8);
- SET_TILE_INFO_MEMBER(0, code, COLOR(attr)+8, TILE_FLIPXY( attr >> 5 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, COLOR(attr)+8, TILE_FLIPXY( attr >> 5 ));
}
WRITE8_MEMBER(igs017_state::fg_w)
@@ -3496,7 +3496,7 @@ static MACHINE_CONFIG_START( iqblocka, igs017_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(igs017_state, screen_update_igs017)
- MCFG_GFXDECODE(igs017)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs017)
MCFG_PALETTE_LENGTH(0x100*2)
@@ -3560,7 +3560,7 @@ static MACHINE_CONFIG_START( mgcs, igs017_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(igs017_state, screen_update_igs017)
- MCFG_GFXDECODE(igs017_flipped)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs017_flipped)
MCFG_PALETTE_LENGTH(0x100*2)
@@ -3601,7 +3601,7 @@ static MACHINE_CONFIG_START( lhzb2, igs017_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(igs017_state, screen_update_igs017)
- MCFG_GFXDECODE(igs017_swapped)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs017_swapped)
MCFG_PALETTE_LENGTH(0x100*2)
// protection
@@ -3644,7 +3644,7 @@ static MACHINE_CONFIG_START( lhzb2a, igs017_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(igs017_state, screen_update_igs017)
- MCFG_GFXDECODE(igs017_swapped)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs017_swapped)
MCFG_PALETTE_LENGTH(0x100*2)
@@ -3675,7 +3675,7 @@ static MACHINE_CONFIG_START( slqz2, igs017_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(igs017_state, screen_update_igs017)
- MCFG_GFXDECODE(igs017)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs017)
MCFG_PALETTE_LENGTH(0x100*2)
// protection
@@ -3721,7 +3721,7 @@ static MACHINE_CONFIG_START( sdmg2, igs017_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(igs017_state, screen_update_igs017)
- MCFG_GFXDECODE(igs017)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs017)
MCFG_PALETTE_LENGTH(0x100*2)
@@ -3772,7 +3772,7 @@ static MACHINE_CONFIG_START( mgdha, igs017_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(igs017_state, screen_update_igs017)
- MCFG_GFXDECODE(igs017_swapped)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs017_swapped)
MCFG_PALETTE_LENGTH(0x100*2)
@@ -3803,7 +3803,7 @@ static MACHINE_CONFIG_START( tjsb, igs017_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(igs017_state, screen_update_igs017)
- MCFG_GFXDECODE(igs017)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs017)
MCFG_PALETTE_LENGTH(0x100*2)
@@ -3837,7 +3837,7 @@ static MACHINE_CONFIG_START( spkrform, igs017_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(igs017_state, screen_update_igs017)
- MCFG_GFXDECODE(igs017)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs017)
MCFG_PALETTE_LENGTH(0x100*2)
diff --git a/src/mame/drivers/igs_m027.c b/src/mame/drivers/igs_m027.c
index 28798b4f871..b5fd3b200b4 100644
--- a/src/mame/drivers/igs_m027.c
+++ b/src/mame/drivers/igs_m027.c
@@ -149,7 +149,7 @@ TILE_GET_INFO_MEMBER(igs_m027_state::get_tx_tilemap_tile_info)
tileno = m_igs_tx_videoram[tile_index] & 0xffff;
colour = (m_igs_tx_videoram[tile_index]>>0x10) & 0xffff;
- SET_TILE_INFO_MEMBER(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour,0);
}
/* BG Layer */
@@ -168,7 +168,7 @@ TILE_GET_INFO_MEMBER(igs_m027_state::get_bg_tilemap_tile_info)
tileno = m_igs_bg_videoram[tile_index] & 0xffff;
colour = (m_igs_bg_videoram[tile_index]>>0x10) & 0xffff;
- SET_TILE_INFO_MEMBER(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour,0);
}
@@ -389,7 +389,7 @@ static MACHINE_CONFIG_START( igs_majhong, igs_m027_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", igs_m027_state, igs_majhong_interrupt)
//MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_GFXDECODE(igs_m027)
+ MCFG_GFXDECODE_ADD("gfxdecode", igs_m027)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/igspoker.c b/src/mame/drivers/igspoker.c
index fce8673fcb4..9cdb29494f6 100644
--- a/src/mame/drivers/igspoker.c
+++ b/src/mame/drivers/igspoker.c
@@ -163,14 +163,14 @@ WRITE8_MEMBER(igspoker_state::igs_irqack_w)
TILE_GET_INFO_MEMBER(igspoker_state::get_bg_tile_info)
{
int code = m_bg_tile_ram[tile_index];
- SET_TILE_INFO_MEMBER(1 + (tile_index & 3), code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1 + (tile_index & 3), code, 0, 0);
}
TILE_GET_INFO_MEMBER(igspoker_state::get_fg_tile_info)
{
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
int tile = code & 0x1fff;
- SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
}
WRITE8_MEMBER(igspoker_state::bg_tile_w)
@@ -1782,7 +1782,7 @@ static MACHINE_CONFIG_START( igspoker, igspoker_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(igspoker_state, screen_update_igs_video)
- MCFG_GFXDECODE(igspoker)
+ MCFG_GFXDECODE_ADD("gfxdecode", igspoker)
MCFG_PALETTE_LENGTH(2048)
@@ -1820,7 +1820,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cpokerpk, number10 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(cpokerpk_io_map)
- MCFG_GFXDECODE(cpokerpk)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", cpokerpk)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ikki.c b/src/mame/drivers/ikki.c
index b5e60e6c6c9..a999766a3e2 100644
--- a/src/mame/drivers/ikki.c
+++ b/src/mame/drivers/ikki.c
@@ -257,7 +257,7 @@ static MACHINE_CONFIG_START( ikki, ikki_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ikki_state, screen_update_ikki)
- MCFG_GFXDECODE(ikki)
+ MCFG_GFXDECODE_ADD("gfxdecode", ikki)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/intrscti.c b/src/mame/drivers/intrscti.c
index 6122308d7f1..b5ac5318ca3 100644
--- a/src/mame/drivers/intrscti.c
+++ b/src/mame/drivers/intrscti.c
@@ -52,7 +52,7 @@ UINT32 intrscti_state::screen_update_intrscti(screen_device &screen, bitmap_ind1
{
int dat;
dat = m_vram[count];
- machine().gfx[0]->transpen(bitmap,cliprect,dat/*+0x100*/,0,0,0,x*8,y*8,0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,dat/*+0x100*/,0,0,0,x*8,y*8,0);
count++;
}
}
@@ -64,7 +64,7 @@ UINT32 intrscti_state::screen_update_intrscti(screen_device &screen, bitmap_ind1
{
int dat;
dat = m_vram[count];
- machine().gfx[0]->transpen(bitmap,cliprect,dat+0x100,0,0,0,x*8,y*8,0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,dat+0x100,0,0,0,x*8,y*8,0);
count++;
}
}
@@ -189,7 +189,7 @@ static MACHINE_CONFIG_START( intrscti, intrscti_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(intrscti_state, screen_update_intrscti)
- MCFG_GFXDECODE(intrscti)
+ MCFG_GFXDECODE_ADD("gfxdecode", intrscti)
MCFG_PALETTE_LENGTH(0x100)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c
index 84ab1be3c03..9ee1d72fddf 100644
--- a/src/mame/drivers/inufuku.c
+++ b/src/mame/drivers/inufuku.c
@@ -391,8 +391,9 @@ static MACHINE_CONFIG_START( inufuku, inufuku_state )
vsystem_spr_device::set_pdraw(*device, true);
MCFG_VSYSTEM_SPR_SET_TILE_INDIRECT( inufuku_state, inufuku_tile_callback )
MCFG_VSYSTEM_SPR_SET_GFXREGION(2)
+ MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(inufuku)
+ MCFG_GFXDECODE_ADD("gfxdecode", inufuku)
MCFG_PALETTE_LENGTH(4096)
@@ -408,7 +409,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( _3on3dunk, inufuku )
- MCFG_GFXDECODE(_3on3dunk)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", _3on3dunk)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/iqblock.c b/src/mame/drivers/iqblock.c
index f02ad7ced84..d96d5b68808 100644
--- a/src/mame/drivers/iqblock.c
+++ b/src/mame/drivers/iqblock.c
@@ -286,7 +286,7 @@ static MACHINE_CONFIG_START( iqblock, iqblock_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(iqblock_state, screen_update_iqblock)
- MCFG_GFXDECODE(iqblock)
+ MCFG_GFXDECODE_ADD("gfxdecode", iqblock)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/irobot.c b/src/mame/drivers/irobot.c
index dd9f9c7df18..58b3f4aaaca 100644
--- a/src/mame/drivers/irobot.c
+++ b/src/mame/drivers/irobot.c
@@ -326,7 +326,7 @@ static MACHINE_CONFIG_START( irobot, irobot_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 29*8-1)
MCFG_SCREEN_UPDATE_DRIVER(irobot_state, screen_update_irobot)
- MCFG_GFXDECODE(irobot)
+ MCFG_GFXDECODE_ADD("gfxdecode", irobot)
MCFG_PALETTE_LENGTH(64 + 32) /* 64 for polygons, 32 for text */
diff --git a/src/mame/drivers/ironhors.c b/src/mame/drivers/ironhors.c
index eff2ff644d2..bda50958d64 100644
--- a/src/mame/drivers/ironhors.c
+++ b/src/mame/drivers/ironhors.c
@@ -385,7 +385,7 @@ static MACHINE_CONFIG_START( ironhors, ironhors_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ironhors_state, screen_update_ironhors)
- MCFG_GFXDECODE(ironhors)
+ MCFG_GFXDECODE_ADD("gfxdecode", ironhors)
MCFG_PALETTE_LENGTH(16*8*16+16*8*16)
@@ -450,7 +450,7 @@ static MACHINE_CONFIG_DERIVED( farwest, ironhors )
MCFG_CPU_PROGRAM_MAP(farwest_slave_map)
MCFG_CPU_IO_MAP(0)
- MCFG_GFXDECODE(farwest)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", farwest)
MCFG_VIDEO_START_OVERRIDE(ironhors_state,farwest)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(ironhors_state, screen_update_farwest)
diff --git a/src/mame/drivers/istellar.c b/src/mame/drivers/istellar.c
index aed67b4bc6a..e4ecda82a05 100644
--- a/src/mame/drivers/istellar.c
+++ b/src/mame/drivers/istellar.c
@@ -82,7 +82,7 @@ UINT32 istellar_state::screen_update_istellar(screen_device &screen, bitmap_rgb3
int tile = m_tile_ram[x+y*32];
int attr = m_tile_control_ram[x+y*32];
- machine().gfx[0]->transpen(bitmap,cliprect,tile,attr & 0x0f,0, 0, x*8, y*8, 0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,tile,attr & 0x0f,0, 0, x*8, y*8, 0);
}
}
@@ -358,7 +358,7 @@ static MACHINE_CONFIG_START( istellar, istellar_state )
MCFG_PALETTE_LENGTH(256)
- MCFG_GFXDECODE(istellar)
+ MCFG_GFXDECODE_ADD("gfxdecode", istellar)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/itgambl2.c b/src/mame/drivers/itgambl2.c
index a5c497e8bbf..89bdf01f43d 100644
--- a/src/mame/drivers/itgambl2.c
+++ b/src/mame/drivers/itgambl2.c
@@ -278,7 +278,7 @@ static MACHINE_CONFIG_START( itgambl2, itgambl2_state )
MCFG_SCREEN_UPDATE_DRIVER(itgambl2_state, screen_update_itgambl2)
- MCFG_GFXDECODE(itgambl2)
+ MCFG_GFXDECODE_ADD("gfxdecode", itgambl2)
MCFG_PALETTE_LENGTH(0x200)
/* sound hardware */
diff --git a/src/mame/drivers/itgambl3.c b/src/mame/drivers/itgambl3.c
index 0c9eb894b03..0140cffac2d 100644
--- a/src/mame/drivers/itgambl3.c
+++ b/src/mame/drivers/itgambl3.c
@@ -267,7 +267,7 @@ static MACHINE_CONFIG_START( itgambl3, itgambl3_state )
MCFG_SCREEN_UPDATE_DRIVER(itgambl3_state, screen_update_itgambl3)
- MCFG_GFXDECODE(itgambl3)
+ MCFG_GFXDECODE_ADD("gfxdecode", itgambl3)
MCFG_PALETTE_LENGTH(0x200)
/* sound hardware */
diff --git a/src/mame/drivers/itgamble.c b/src/mame/drivers/itgamble.c
index b21fd3feb8a..eb80f167c36 100644
--- a/src/mame/drivers/itgamble.c
+++ b/src/mame/drivers/itgamble.c
@@ -216,7 +216,7 @@ static MACHINE_CONFIG_START( itgamble, itgamble_state )
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- MCFG_GFXDECODE(itgamble)
+ MCFG_GFXDECODE_ADD("gfxdecode", itgamble)
MCFG_PALETTE_LENGTH(0x200)
/* sound hardware */
diff --git a/src/mame/drivers/jack.c b/src/mame/drivers/jack.c
index 08cd1dc42b7..1b1c4d5ee37 100644
--- a/src/mame/drivers/jack.c
+++ b/src/mame/drivers/jack.c
@@ -922,7 +922,7 @@ static MACHINE_CONFIG_START( jack, jack_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(jack_state, screen_update_jack)
- MCFG_GFXDECODE(jack)
+ MCFG_GFXDECODE_ADD("gfxdecode", jack)
MCFG_PALETTE_LENGTH(32)
/* sound hardware */
@@ -972,7 +972,7 @@ static MACHINE_CONFIG_DERIVED( joinem, jack )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(jack_state, screen_update_joinem)
- MCFG_GFXDECODE(joinem)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", joinem)
MCFG_PALETTE_LENGTH(0x40)
MCFG_PALETTE_INIT_OVERRIDE(jack_state,joinem)
diff --git a/src/mame/drivers/jackal.c b/src/mame/drivers/jackal.c
index 8e339a51204..c3626c39aa3 100644
--- a/src/mame/drivers/jackal.c
+++ b/src/mame/drivers/jackal.c
@@ -368,7 +368,7 @@ static MACHINE_CONFIG_START( jackal, jackal_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(jackal_state, screen_update_jackal)
- MCFG_GFXDECODE(jackal)
+ MCFG_GFXDECODE_ADD("gfxdecode", jackal)
MCFG_PALETTE_LENGTH(0x300)
diff --git a/src/mame/drivers/jackie.c b/src/mame/drivers/jackie.c
index 4185f082f4c..0e520f25a1b 100644
--- a/src/mame/drivers/jackie.c
+++ b/src/mame/drivers/jackie.c
@@ -121,7 +121,7 @@ TILE_GET_INFO_MEMBER(jackie_state::get_fg_tile_info)
{
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
int tile = code & 0x1fff;
- SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
}
WRITE8_MEMBER(jackie_state::fg_tile_w)
@@ -154,7 +154,7 @@ WRITE8_MEMBER(jackie_state::jackie_reel1_ram_w)
TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel1_tile_info)
{
int code = m_reel1_ram[tile_index];
- SET_TILE_INFO_MEMBER(1, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, 0);
}
@@ -168,7 +168,7 @@ WRITE8_MEMBER(jackie_state::jackie_reel2_ram_w)
TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel2_tile_info)
{
int code = m_reel2_ram[tile_index];
- SET_TILE_INFO_MEMBER(1, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, 0);
}
@@ -181,7 +181,7 @@ WRITE8_MEMBER(jackie_state::jackie_reel3_ram_w)
TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel3_tile_info)
{
int code = m_reel3_ram[tile_index];
- SET_TILE_INFO_MEMBER(1, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, 0);
}
void jackie_state::video_start()
@@ -587,7 +587,7 @@ static MACHINE_CONFIG_START( jackie, jackie_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(jackie_state, screen_update_jackie)
- MCFG_GFXDECODE(jackie)
+ MCFG_GFXDECODE_ADD("gfxdecode", jackie)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/jackpool.c b/src/mame/drivers/jackpool.c
index f24017b41d3..9e0f73b18d3 100644
--- a/src/mame/drivers/jackpool.c
+++ b/src/mame/drivers/jackpool.c
@@ -54,7 +54,7 @@ void jackpool_state::video_start()
UINT32 jackpool_state::screen_update_jackpool(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int count;// = 0x00000/2;
int y,x;
@@ -266,7 +266,7 @@ static MACHINE_CONFIG_START( jackpool, jackpool_state )
MCFG_CPU_PROGRAM_MAP(jackpool_mem)
MCFG_CPU_VBLANK_INT_DRIVER("screen", jackpool_state, jackpool_interrupt) // ?
- MCFG_GFXDECODE(jackpool)
+ MCFG_GFXDECODE_ADD("gfxdecode", jackpool)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/jailbrek.c b/src/mame/drivers/jailbrek.c
index 7eedb27bceb..5886f8b35b0 100644
--- a/src/mame/drivers/jailbrek.c
+++ b/src/mame/drivers/jailbrek.c
@@ -251,7 +251,7 @@ static MACHINE_CONFIG_START( jailbrek, jailbrek_state )
/* video hardware */
- MCFG_GFXDECODE(jailbrek)
+ MCFG_GFXDECODE_ADD("gfxdecode", jailbrek)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/jalmah.c b/src/mame/drivers/jalmah.c
index b0e95b40903..ec1659c2aa7 100644
--- a/src/mame/drivers/jalmah.c
+++ b/src/mame/drivers/jalmah.c
@@ -275,7 +275,7 @@ TILEMAP_MAPPER_MEMBER(jalmah_state::range3_8x8)
TILE_GET_INFO_MEMBER(jalmah_state::get_sc0_tile_info)
{
int code = m_sc0_vram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
(code & 0xfff) + ((m_sc0bank & 3) << 12),
code >> 12,
@@ -285,7 +285,7 @@ TILE_GET_INFO_MEMBER(jalmah_state::get_sc0_tile_info)
TILE_GET_INFO_MEMBER(jalmah_state::get_sc1_tile_info)
{
int code = m_sc1_vram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code & 0xfff,
code >> 12,
@@ -295,7 +295,7 @@ TILE_GET_INFO_MEMBER(jalmah_state::get_sc1_tile_info)
TILE_GET_INFO_MEMBER(jalmah_state::get_sc2_tile_info)
{
int code = m_sc2_vram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0xfff,
code >> 12,
@@ -305,7 +305,7 @@ TILE_GET_INFO_MEMBER(jalmah_state::get_sc2_tile_info)
TILE_GET_INFO_MEMBER(jalmah_state::get_sc3_tile_info)
{
int code = m_sc3_vram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0xfff,
code >> 12,
@@ -1414,7 +1414,7 @@ static MACHINE_CONFIG_START( jalmah, jalmah_state )
//M50747 MCU
- MCFG_GFXDECODE(jalmah)
+ MCFG_GFXDECODE_ADD("gfxdecode", jalmah)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -1438,7 +1438,7 @@ static MACHINE_CONFIG_DERIVED( urashima, jalmah )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(urashima)
- MCFG_GFXDECODE(urashima)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", urashima)
MCFG_VIDEO_START_OVERRIDE(jalmah_state,urashima)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/jchan.c b/src/mame/drivers/jchan.c
index db8e38a5703..cb9ba13d724 100644
--- a/src/mame/drivers/jchan.c
+++ b/src/mame/drivers/jchan.c
@@ -588,7 +588,7 @@ static MACHINE_CONFIG_START( jchan, jchan_state )
MCFG_CPU_ADD("sub", M68000, 16000000)
MCFG_CPU_PROGRAM_MAP(jchan_sub)
- MCFG_GFXDECODE(jchan)
+ MCFG_GFXDECODE_ADD("gfxdecode", jchan)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -603,6 +603,7 @@ static MACHINE_CONFIG_START( jchan, jchan_state )
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 25, 11, 320, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
diff --git a/src/mame/drivers/jclub2.c b/src/mame/drivers/jclub2.c
index 5ff73f9f904..cce75e48d2a 100644
--- a/src/mame/drivers/jclub2.c
+++ b/src/mame/drivers/jclub2.c
@@ -171,14 +171,14 @@ TILE_GET_INFO_MEMBER(darkhors_state::get_tile_info_0)
{
UINT16 tile = m_tmapram[tile_index] >> 16;
UINT16 color = m_tmapram[tile_index] & 0xffff;
- SET_TILE_INFO_MEMBER(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
}
TILE_GET_INFO_MEMBER(darkhors_state::get_tile_info_1)
{
UINT16 tile = m_tmapram2[tile_index] >> 16;
UINT16 color = m_tmapram2[tile_index] & 0xffff;
- SET_TILE_INFO_MEMBER(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
}
WRITE32_MEMBER(darkhors_state::darkhors_tmapram_w)
@@ -220,7 +220,7 @@ void darkhors_state::draw_sprites_darkhors(bitmap_ind16 &bitmap, const rectangle
sy = -sy;
sy += 0xf8;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code/2, color,
flipx, flipy, sx, sy, 0);
}
@@ -233,7 +233,7 @@ VIDEO_START_MEMBER(darkhors_state,darkhors)
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 */
+ m_gfxdecode->gfx(0)->set_granularity(64); /* 256 colour sprites with palette selectable on 64 colour boundaries */
}
UINT32 darkhors_state::screen_update_darkhors(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -702,7 +702,7 @@ static MACHINE_CONFIG_START( darkhors, darkhors_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x190-1, 8, 0x100-8-1)
MCFG_SCREEN_UPDATE_DRIVER(darkhors_state, screen_update_darkhors)
- MCFG_GFXDECODE(darkhors)
+ MCFG_GFXDECODE_ADD("gfxdecode", darkhors)
MCFG_PALETTE_LENGTH(0x10000)
MCFG_VIDEO_START_OVERRIDE(darkhors_state,darkhors)
@@ -743,10 +743,13 @@ static MACHINE_CONFIG_START( jclub2, darkhors_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x190-1, 8, 0x100-8-1)
MCFG_SCREEN_UPDATE_DRIVER(darkhors_state, screen_update_jclub2)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
// NOT an ST0020 but instead ST0032, ram format isn't compatible at least
MCFG_DEVICE_ADD("st0020_spr", ST0020_SPRITES, 0)
st0020_device::set_is_st0032(*device, 1);
st0020_device::set_is_jclub2o(*device, 1); // offsets
+ MCFG_ST0020_SPRITES_GFXDECODE("gfxdecode")
MCFG_PALETTE_LENGTH(0x10000)
@@ -810,8 +813,12 @@ static MACHINE_CONFIG_START( jclub2o, darkhors_state )
MCFG_SCREEN_UPDATE_DRIVER(darkhors_state, screen_update_jclub2o)
MCFG_PALETTE_LENGTH(0x10000)
+
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_DEVICE_ADD("st0020_spr", ST0020_SPRITES, 0)
st0020_device::set_is_jclub2o(*device, 1);
+ MCFG_ST0020_SPRITES_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(darkhors_state,jclub2o)
diff --git a/src/mame/drivers/jokrwild.c b/src/mame/drivers/jokrwild.c
index f4c932c9c6a..1b391532463 100644
--- a/src/mame/drivers/jokrwild.c
+++ b/src/mame/drivers/jokrwild.c
@@ -153,7 +153,7 @@ TILE_GET_INFO_MEMBER(jokrwild_state::get_bg_tile_info)
int code = m_videoram[tile_index] | ((attr & 0xc0) << 2);
int color = (attr & 0x0f);
- SET_TILE_INFO_MEMBER( 0, code , color , 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code , color , 0);
}
@@ -472,7 +472,7 @@ static MACHINE_CONFIG_START( jokrwild, jokrwild_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 24*8-1, 0*8, 26*8-1) /* From MC6845, registers 01 & 06 */
MCFG_SCREEN_UPDATE_DRIVER(jokrwild_state, screen_update_jokrwild)
- MCFG_GFXDECODE(jokrwild)
+ MCFG_GFXDECODE_ADD("gfxdecode", jokrwild)
MCFG_PALETTE_LENGTH(512)
MCFG_MC6845_ADD("crtc", MC6845, "screen", MASTER_CLOCK/16, mc6845_intf) /* guess */
diff --git a/src/mame/drivers/jollyjgr.c b/src/mame/drivers/jollyjgr.c
index afac6a68340..c347a42cdf5 100644
--- a/src/mame/drivers/jollyjgr.c
+++ b/src/mame/drivers/jollyjgr.c
@@ -448,7 +448,7 @@ TILE_GET_INFO_MEMBER(jollyjgr_state::get_bg_tile_info)
{
int color = m_colorram[((tile_index & 0x1f) << 1) | 1] & 7;
int region = (m_tilemap_bank & 0x20) ? 2 : 0;
- SET_TILE_INFO_MEMBER(region, m_videoram[tile_index], color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, region, m_videoram[tile_index], color, 0);
}
void jollyjgr_state::video_start()
@@ -541,7 +541,7 @@ UINT32 jollyjgr_state::screen_update_jollyjgr(screen_device &screen, bitmap_ind1
if (offs < 3 * 4)
sy++;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,color,
flipx,flipy,
sx,sy,0);
@@ -662,7 +662,7 @@ static MACHINE_CONFIG_START( jollyjgr, jollyjgr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(jollyjgr_state, screen_update_jollyjgr)
- MCFG_GFXDECODE(jollyjgr)
+ MCFG_GFXDECODE_ADD("gfxdecode", jollyjgr)
MCFG_PALETTE_LENGTH(32+8) /* 32 for tilemap and sprites + 8 for the bitmap */
diff --git a/src/mame/drivers/jrpacman.c b/src/mame/drivers/jrpacman.c
index 4531efa2f17..2f246a92a69 100644
--- a/src/mame/drivers/jrpacman.c
+++ b/src/mame/drivers/jrpacman.c
@@ -300,7 +300,7 @@ static MACHINE_CONFIG_START( jrpacman, jrpacman_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(jrpacman_state, screen_update_pacman)
- MCFG_GFXDECODE(jrpacman)
+ MCFG_GFXDECODE_ADD("gfxdecode", jrpacman)
MCFG_PALETTE_LENGTH(128*4)
MCFG_PALETTE_INIT_OVERRIDE(jrpacman_state,pacman)
diff --git a/src/mame/drivers/jubilee.c b/src/mame/drivers/jubilee.c
index 5179b13166f..1ceb543e89a 100644
--- a/src/mame/drivers/jubilee.c
+++ b/src/mame/drivers/jubilee.c
@@ -127,7 +127,7 @@ TILE_GET_INFO_MEMBER(jubilee_state::get_bg_tile_info)
{
int code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER( 0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
@@ -459,7 +459,7 @@ static MACHINE_CONFIG_START( jubileep, jubilee_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(jubilee_state, screen_update_jubileep)
- MCFG_GFXDECODE(jubileep)
+ MCFG_GFXDECODE_ADD("gfxdecode", jubileep)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index c8025cce712..96acacd14f6 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -1632,15 +1632,17 @@ static MACHINE_CONFIG_START( berlwall, kaneko16_berlwall_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(kaneko16_berlwall_state, screen_update_berlwall)
- MCFG_GFXDECODE(1x4bit_1x4bit)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1x4bit_1x4bit)
MCFG_PALETTE_LENGTH(2048 + 32768) /* 32768 static colors for the bg */
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x5b, -0x8, 256, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD_VU002_SPRITES
kaneko16_sprite_device::set_altspacing(*device, 1);
+ MCFG_KANEKO16_SPRITE_GFXDECODE("gfxdecode")
MCFG_PALETTE_INIT_OVERRIDE(kaneko16_berlwall_state,berlwall)
@@ -1686,19 +1688,22 @@ static MACHINE_CONFIG_START( bakubrkr, kaneko16_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(kaneko16_berlwall_state, screen_update_kaneko16)
- MCFG_GFXDECODE(1x4bit_2x4bit)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1x4bit_2x4bit)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x5b, -0x8, 256, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("view2_1", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 2);
kaneko_view2_tilemap_device::set_offset(*device, 0x5b, -0x8, 256, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD_VU002_SPRITES
kaneko16_sprite_device::set_priorities(*device, 8,8,8,8); // above all
-
+ MCFG_KANEKO16_SPRITE_GFXDECODE("gfxdecode")
@@ -1755,16 +1760,18 @@ static MACHINE_CONFIG_START( blazeon, kaneko16_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1 -8)
MCFG_SCREEN_UPDATE_DRIVER(kaneko16_berlwall_state, screen_update_kaneko16)
- MCFG_GFXDECODE(1x4bit_1x4bit)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1x4bit_1x4bit)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x33, 0x8, 320, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD_VU002_SPRITES
kaneko16_sprite_device::set_priorities(*device, 1 /* "above tile[0], below the others" */ ,2 /* "above tile[0-1], below the others" */ ,8 /* above all */,8 /* above all */);
kaneko16_sprite_device::set_offsets(*device, 0x10000 - 0x680, 0x000);
+ MCFG_KANEKO16_SPRITE_GFXDECODE("gfxdecode")
// there is actually a 2nd sprite chip! looks like our device emulation handles both at once
@@ -1815,18 +1822,21 @@ static MACHINE_CONFIG_START( gtmr, kaneko16_gtmr_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(kaneko16_berlwall_state, screen_update_kaneko16)
- MCFG_GFXDECODE(1x8bit_2x4bit)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1x8bit_2x4bit)
MCFG_PALETTE_LENGTH(32768)
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x33, 0x0, 320, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("view2_1", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 2);
kaneko_view2_tilemap_device::set_offset(*device, 0x33, 0x0, 320, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD_KC002_SPRITES
+ MCFG_KANEKO16_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("toybox", KANEKO_TOYBOX, 0)
kaneko_toybox_device::set_toybox_table(*device, TABLE_NORMAL);
@@ -1933,20 +1943,22 @@ static MACHINE_CONFIG_START( mgcrystl, kaneko16_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(kaneko16_berlwall_state, screen_update_kaneko16)
- MCFG_GFXDECODE(1x4bit_2x4bit)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1x4bit_2x4bit)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x5b, -0x8, 256, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("view2_1", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 2);
kaneko_view2_tilemap_device::set_offset(*device, 0x5b, -0x8, 256, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD_VU002_SPRITES
kaneko16_sprite_device::set_priorities(*device, 2 /* below all */ ,3 /* above tile[0], below the other */ ,5 /* above all */ ,7 /* above all */);
-
+ MCFG_KANEKO16_SPRITE_GFXDECODE("gfxdecode")
@@ -2058,12 +2070,13 @@ static MACHINE_CONFIG_START( shogwarr, kaneko16_shogwarr_state )
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
- MCFG_GFXDECODE(1x4bit_1x4bit)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1x4bit_1x4bit)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x33, -0x8, 320, 240);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(kaneko16_shogwarr_state,kaneko16)
@@ -2071,6 +2084,7 @@ static MACHINE_CONFIG_START( shogwarr, kaneko16_shogwarr_state )
kaneko16_sprite_device::set_priorities(*device, 1 /* below all */ ,3 /* above tile[0], below the others */ ,5 /* above all */ ,7 /* above all */);
kaneko16_sprite_device::set_offsets(*device, 0xa00, -0x40);
kaneko16_sprite_device::set_fliptype(*device, 1);
+ MCFG_KANEKO16_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("kan_hit", KANEKO_HIT, 0)
kaneko_hit_device::set_type(*device, 1);
diff --git a/src/mame/drivers/karnov.c b/src/mame/drivers/karnov.c
index 6259091877c..3a24e26e2cb 100644
--- a/src/mame/drivers/karnov.c
+++ b/src/mame/drivers/karnov.c
@@ -802,11 +802,12 @@ static MACHINE_CONFIG_START( karnov, karnov_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(karnov_state, screen_update_karnov)
- MCFG_GFXDECODE(karnov)
+ MCFG_GFXDECODE_ADD("gfxdecode", karnov)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 2);
+ MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(karnov_state,karnov)
@@ -843,11 +844,12 @@ static MACHINE_CONFIG_START( wndrplnt, karnov_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(karnov_state, screen_update_karnov)
- MCFG_GFXDECODE(karnov)
+ MCFG_GFXDECODE_ADD("gfxdecode", karnov)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("spritegen", DECO_KARNOVSPRITES, 0)
deco_karnovsprites_device::set_gfx_region(*device, 2);
+ MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(karnov_state,wndrplnt)
diff --git a/src/mame/drivers/kchamp.c b/src/mame/drivers/kchamp.c
index 013fe5e98a0..7908dfb0e71 100644
--- a/src/mame/drivers/kchamp.c
+++ b/src/mame/drivers/kchamp.c
@@ -421,7 +421,7 @@ static MACHINE_CONFIG_START( kchampvs, kchamp_state )
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kchamp_state, screen_update_kchampvs)
- MCFG_GFXDECODE(kchamp)
+ MCFG_GFXDECODE_ADD("gfxdecode", kchamp)
MCFG_PALETTE_LENGTH(256)
@@ -468,7 +468,7 @@ static MACHINE_CONFIG_START( kchamp, kchamp_state )
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kchamp_state, screen_update_kchamp)
- MCFG_GFXDECODE(kchamp)
+ MCFG_GFXDECODE_ADD("gfxdecode", kchamp)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/kickgoal.c b/src/mame/drivers/kickgoal.c
index c80fb19b716..38adbd2d184 100644
--- a/src/mame/drivers/kickgoal.c
+++ b/src/mame/drivers/kickgoal.c
@@ -660,7 +660,7 @@ static MACHINE_CONFIG_START( kickgoal, kickgoal_state )
MCFG_SCREEN_VISIBLE_AREA(9*8, 55*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kickgoal_state, screen_update_kickgoal)
- MCFG_GFXDECODE(kickgoal)
+ MCFG_GFXDECODE_ADD("gfxdecode", kickgoal)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(kickgoal_state,kickgoal)
@@ -695,7 +695,7 @@ static MACHINE_CONFIG_START( actionhw, kickgoal_state )
MCFG_SCREEN_VISIBLE_AREA(10*8+2, 54*8-1+2, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kickgoal_state, screen_update_kickgoal)
- MCFG_GFXDECODE(actionhw)
+ MCFG_GFXDECODE_ADD("gfxdecode", actionhw)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(kickgoal_state,actionhw)
diff --git a/src/mame/drivers/kingdrby.c b/src/mame/drivers/kingdrby.c
index 170c0063217..0660e9659af 100644
--- a/src/mame/drivers/kingdrby.c
+++ b/src/mame/drivers/kingdrby.c
@@ -147,7 +147,7 @@ TILE_GET_INFO_MEMBER(kingdrby_state::get_sc0_tile_info)
tile&=0x1ff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile,
color|0x40,
@@ -164,7 +164,7 @@ TILE_GET_INFO_MEMBER(kingdrby_state::get_sc1_tile_info)
//0x13
//
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile,
color|0x40,
@@ -221,13 +221,13 @@ void kingdrby_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
{
for(dy=0;dy<h;dy++)
for(dx=0;dx<w;dx++)
- machine().gfx[0]->transpen(bitmap,cliprect,spr_offs++,colour,1,0,((x+16*w)-(dx+1)*16),(y+dy*16),0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,spr_offs++,colour,1,0,((x+16*w)-(dx+1)*16),(y+dy*16),0);
}
else
{
for(dy=0;dy<h;dy++)
for(dx=0;dx<w;dx++)
- machine().gfx[0]->transpen(bitmap,cliprect,spr_offs++,colour,0,0,(x+dx*16),(y+dy*16),0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,spr_offs++,colour,0,0,(x+dx*16),(y+dy*16),0);
}
}
}
@@ -1038,7 +1038,7 @@ static MACHINE_CONFIG_START( kingdrby, kingdrby_state )
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )
- MCFG_GFXDECODE(kingdrby)
+ MCFG_GFXDECODE_ADD("gfxdecode", kingdrby)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(kingdrby_state,kingdrby)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1077,7 +1077,7 @@ static MACHINE_CONFIG_DERIVED( cowrace, kingdrbb )
MCFG_CPU_PROGRAM_MAP(cowrace_sound_map)
MCFG_CPU_IO_MAP(cowrace_sound_io)
- MCFG_GFXDECODE(cowrace)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", cowrace)
MCFG_PALETTE_INIT_OVERRIDE(kingdrby_state,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 22ea09de67d..cb1457dd663 100644
--- a/src/mame/drivers/kingobox.c
+++ b/src/mame/drivers/kingobox.c
@@ -491,7 +491,7 @@ static MACHINE_CONFIG_START( kingofb, kingofb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kingofb_state, screen_update_kingofb)
- MCFG_GFXDECODE(kingobox)
+ MCFG_GFXDECODE_ADD("gfxdecode", kingobox)
MCFG_PALETTE_LENGTH(256+8*2)
MCFG_PALETTE_INIT_OVERRIDE(kingofb_state,kingofb)
@@ -541,7 +541,7 @@ static MACHINE_CONFIG_START( ringking, kingofb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kingofb_state, screen_update_ringking)
- MCFG_GFXDECODE(rk)
+ MCFG_GFXDECODE_ADD("gfxdecode", rk)
MCFG_PALETTE_LENGTH(256+8*2)
MCFG_PALETTE_INIT_OVERRIDE(kingofb_state,ringking)
diff --git a/src/mame/drivers/klax.c b/src/mame/drivers/klax.c
index 4db2282d48d..c85a9e34a21 100644
--- a/src/mame/drivers/klax.c
+++ b/src/mame/drivers/klax.c
@@ -169,11 +169,12 @@ static MACHINE_CONFIG_START( klax, klax_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(klax)
+ MCFG_GFXDECODE_ADD("gfxdecode", klax)
MCFG_PALETTE_LENGTH(512)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, klax_state, get_playfield_tile_info, 8,8, SCAN_COLS, 64,32)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", klax_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/kncljoe.c b/src/mame/drivers/kncljoe.c
index 0a5567e9d7f..7560b2675bc 100644
--- a/src/mame/drivers/kncljoe.c
+++ b/src/mame/drivers/kncljoe.c
@@ -285,7 +285,7 @@ static MACHINE_CONFIG_START( kncljoe, kncljoe_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kncljoe_state, screen_update_kncljoe)
- MCFG_GFXDECODE(kncljoe)
+ MCFG_GFXDECODE_ADD("gfxdecode", kncljoe)
MCFG_PALETTE_LENGTH(16*8+16*8)
diff --git a/src/mame/drivers/koftball.c b/src/mame/drivers/koftball.c
index 4922aa7ec1a..7ab2ac050ec 100644
--- a/src/mame/drivers/koftball.c
+++ b/src/mame/drivers/koftball.c
@@ -75,7 +75,7 @@ public:
TILE_GET_INFO_MEMBER(koftball_state::get_t1_tile_info)
{
int data = m_bmc_1_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
data,
0,
@@ -85,7 +85,7 @@ TILE_GET_INFO_MEMBER(koftball_state::get_t1_tile_info)
TILE_GET_INFO_MEMBER(koftball_state::get_t2_tile_info)
{
int data = m_bmc_2_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
data,
0,
@@ -250,7 +250,7 @@ static MACHINE_CONFIG_START( koftball, koftball_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_UPDATE_DRIVER(koftball_state, screen_update_koftball)
- MCFG_GFXDECODE(koftball)
+ MCFG_GFXDECODE_ADD("gfxdecode", koftball)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 30*8-1)
diff --git a/src/mame/drivers/koikoi.c b/src/mame/drivers/koikoi.c
index 6d69726f892..c8ab24a4dec 100644
--- a/src/mame/drivers/koikoi.c
+++ b/src/mame/drivers/koikoi.c
@@ -91,7 +91,7 @@ TILE_GET_INFO_MEMBER(koikoi_state::get_tile_info)
int color = (m_videoram[tile_index + 0x400] & 0x1f);
int flip = (m_videoram[tile_index + 0x400] & 0x80) ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0;
- SET_TILE_INFO_MEMBER( 0, code, color, flip);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flip);
}
void koikoi_state::palette_init()
@@ -376,7 +376,7 @@ static MACHINE_CONFIG_START( koikoi, koikoi_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(koikoi_state, screen_update_koikoi)
- MCFG_GFXDECODE(koikoi)
+ MCFG_GFXDECODE_ADD("gfxdecode", koikoi)
MCFG_PALETTE_LENGTH(8*32)
diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c
index c1a31d095d7..b88ba150f17 100644
--- a/src/mame/drivers/konamigx.c
+++ b/src/mame/drivers/konamigx.c
@@ -1641,11 +1641,14 @@ static MACHINE_CONFIG_START( konamigx, konamigx_state )
MCFG_PALETTE_LENGTH(8192)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K056832_ADD_NOINTF("k056832"/*, konamigx_k056832_intf*/)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K055555_ADD("k055555")
MCFG_K055673_ADD_NOINTF("k055673")
MCFG_K055673_SET_SCREEN("screen")
+ MCFG_K055673_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(konamigx_state,konamigx_5bpp)
@@ -1688,7 +1691,7 @@ static MACHINE_CONFIG_DERIVED( opengolf, konamigx )
MCFG_SCREEN_MODIFY("screen")
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_GFXDECODE_MODIFY("gfxdecode", opengolf)
MCFG_VIDEO_START_OVERRIDE(konamigx_state,opengolf)
MCFG_CPU_MODIFY("maincpu")
@@ -1702,7 +1705,7 @@ static MACHINE_CONFIG_DERIVED( racinfrc, konamigx )
MCFG_SCREEN_MODIFY("screen")
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_GFXDECODE_MODIFY("gfxdecode", racinfrc)
MCFG_VIDEO_START_OVERRIDE(konamigx_state,racinfrc)
MCFG_CPU_MODIFY("maincpu")
@@ -1734,7 +1737,7 @@ static MACHINE_CONFIG_DERIVED( gxtype3, konamigx )
MCFG_SCREEN_VISIBLE_AREA(0, 576-1, 16, 32*8-1-16)
MCFG_SCREEN_UPDATE_DRIVER(konamigx_state, screen_update_konamigx_right)
- MCFG_GFXDECODE(type34)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", type34)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gxtype4, konamigx )
@@ -1758,7 +1761,7 @@ static MACHINE_CONFIG_DERIVED( gxtype4, konamigx )
MCFG_SCREEN_UPDATE_DRIVER(konamigx_state, screen_update_konamigx_right)
MCFG_PALETTE_LENGTH(8192)
- MCFG_GFXDECODE(type4)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", type4)
MCFG_VIDEO_START_OVERRIDE(konamigx_state,konamigx_type4)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/kopunch.c b/src/mame/drivers/kopunch.c
index 4c4b70f0060..1e1df3c1058 100644
--- a/src/mame/drivers/kopunch.c
+++ b/src/mame/drivers/kopunch.c
@@ -194,7 +194,7 @@ static MACHINE_CONFIG_START( kopunch, kopunch_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kopunch_state, screen_update_kopunch)
- MCFG_GFXDECODE(kopunch)
+ MCFG_GFXDECODE_ADD("gfxdecode", kopunch)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/drivers/ksayakyu.c b/src/mame/drivers/ksayakyu.c
index be7ccbd4d63..78a3782731c 100644
--- a/src/mame/drivers/ksayakyu.c
+++ b/src/mame/drivers/ksayakyu.c
@@ -287,7 +287,7 @@ static MACHINE_CONFIG_START( ksayakyu, ksayakyu_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ksayakyu_state, screen_update_ksayakyu)
- MCFG_GFXDECODE(ksayakyu)
+ MCFG_GFXDECODE_ADD("gfxdecode", ksayakyu)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/kyugo.c b/src/mame/drivers/kyugo.c
index 103e1622d50..cb1cd99f15f 100644
--- a/src/mame/drivers/kyugo.c
+++ b/src/mame/drivers/kyugo.c
@@ -549,7 +549,7 @@ static MACHINE_CONFIG_START( gyrodine, kyugo_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kyugo_state, screen_update_kyugo)
- MCFG_GFXDECODE(kyugo)
+ MCFG_GFXDECODE_ADD("gfxdecode", kyugo)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/labyrunr.c b/src/mame/drivers/labyrunr.c
index aabad958504..bb4a25568ab 100644
--- a/src/mame/drivers/labyrunr.c
+++ b/src/mame/drivers/labyrunr.c
@@ -199,7 +199,7 @@ static MACHINE_CONFIG_START( labyrunr, labyrunr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 35*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(labyrunr_state, screen_update_labyrunr)
- MCFG_GFXDECODE(labyrunr)
+ MCFG_GFXDECODE_ADD("gfxdecode", labyrunr)
MCFG_PALETTE_LENGTH(2*8*16*16)
diff --git a/src/mame/drivers/ladybug.c b/src/mame/drivers/ladybug.c
index 820ce63d148..c054f5f22cf 100644
--- a/src/mame/drivers/ladybug.c
+++ b/src/mame/drivers/ladybug.c
@@ -766,7 +766,7 @@ static MACHINE_CONFIG_START( ladybug, ladybug_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ladybug_state, screen_update_ladybug)
- MCFG_GFXDECODE(ladybug)
+ MCFG_GFXDECODE_ADD("gfxdecode", ladybug)
MCFG_PALETTE_LENGTH(4*8+4*16)
MCFG_PALETTE_INIT_OVERRIDE(ladybug_state,ladybug)
@@ -807,7 +807,7 @@ static MACHINE_CONFIG_START( sraider, ladybug_state )
MCFG_SCREEN_UPDATE_DRIVER(ladybug_state, screen_update_sraider)
MCFG_SCREEN_VBLANK_DRIVER(ladybug_state, screen_eof_sraider)
- MCFG_GFXDECODE(sraider)
+ MCFG_GFXDECODE_ADD("gfxdecode", sraider)
MCFG_PALETTE_LENGTH(4*8+4*16+32+2)
MCFG_PALETTE_INIT_OVERRIDE(ladybug_state,sraider)
diff --git a/src/mame/drivers/ladyfrog.c b/src/mame/drivers/ladyfrog.c
index 29b6ca8b91e..03981336dbb 100644
--- a/src/mame/drivers/ladyfrog.c
+++ b/src/mame/drivers/ladyfrog.c
@@ -314,7 +314,7 @@ static MACHINE_CONFIG_START( ladyfrog, ladyfrog_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 29*8-1) // black borders in ladyfrog gameplay are correct
MCFG_SCREEN_UPDATE_DRIVER(ladyfrog_state, screen_update_ladyfrog)
- MCFG_GFXDECODE(ladyfrog)
+ MCFG_GFXDECODE_ADD("gfxdecode", ladyfrog)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c
index 798f88686ee..aa45208609a 100644
--- a/src/mame/drivers/laserbat.c
+++ b/src/mame/drivers/laserbat.c
@@ -476,7 +476,7 @@ GFXDECODE_END
TILE_GET_INFO_MEMBER(laserbat_state::get_tile_info)
{
// wrong color index!
- SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], m_colorram[tile_index] & 0x7f, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, m_videoram[tile_index], m_colorram[tile_index] & 0x7f, 0);
}
void laserbat_state::video_start()
@@ -521,7 +521,7 @@ UINT32 laserbat_state::screen_update_laserbat(screen_device &screen, bitmap_ind1
}
if (m_sprite_enable)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_sprite_code,
m_sprite_color,
0,0,
@@ -722,7 +722,7 @@ static MACHINE_CONFIG_START( laserbat, laserbat_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 29*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(laserbat_state, screen_update_laserbat)
- MCFG_GFXDECODE(laserbat)
+ MCFG_GFXDECODE_ADD("gfxdecode", laserbat)
MCFG_PALETTE_LENGTH(1024)
MCFG_S2636_ADD("s2636_1", s2636_1_config)
@@ -770,7 +770,7 @@ static MACHINE_CONFIG_START( catnmous, laserbat_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(laserbat_state, screen_update_laserbat)
- MCFG_GFXDECODE(laserbat)
+ MCFG_GFXDECODE_ADD("gfxdecode", laserbat)
MCFG_PALETTE_LENGTH(1024)
MCFG_S2636_ADD("s2636_1", s2636_1_config)
diff --git a/src/mame/drivers/lasso.c b/src/mame/drivers/lasso.c
index b3ce01d6c1a..422452c5db1 100644
--- a/src/mame/drivers/lasso.c
+++ b/src/mame/drivers/lasso.c
@@ -496,7 +496,7 @@ static MACHINE_CONFIG_START( base, lasso_state )
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(lasso_state, screen_update_lasso)
- MCFG_GFXDECODE(lasso)
+ MCFG_GFXDECODE_ADD("gfxdecode", lasso)
MCFG_PALETTE_LENGTH(0x40)
@@ -548,7 +548,7 @@ static MACHINE_CONFIG_DERIVED( wwjgtin, base )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1) // Smaller visible area?
MCFG_SCREEN_UPDATE_DRIVER(lasso_state, screen_update_wwjgtin)
- MCFG_GFXDECODE(wwjgtin) // Has 1 additional layer
+ MCFG_GFXDECODE_MODIFY("gfxdecode", wwjgtin) // Has 1 additional layer
MCFG_PALETTE_LENGTH(0x40 + 16*16)
MCFG_PALETTE_INIT_OVERRIDE(lasso_state,wwjgtin)
@@ -571,7 +571,7 @@ static MACHINE_CONFIG_DERIVED( pinbo, base )
MCFG_CPU_IO_MAP(pinbo_audio_io_map)
/* video hardware */
- MCFG_GFXDECODE(pinbo)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pinbo)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
MCFG_VIDEO_START_OVERRIDE(lasso_state,pinbo)
diff --git a/src/mame/drivers/lastbank.c b/src/mame/drivers/lastbank.c
index d22e262add4..26b47d0e42b 100644
--- a/src/mame/drivers/lastbank.c
+++ b/src/mame/drivers/lastbank.c
@@ -478,8 +478,9 @@ static MACHINE_CONFIG_START( lastbank, lastbank_state )
MCFG_SCREEN_VBLANK_DRIVER(lastbank_state, screen_eof)
MCFG_DEVICE_ADD("tc0091lvc", TC0091LVC, 0)
+ MCFG_TC0091LVC_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE( lastbank )
+ MCFG_GFXDECODE_ADD("gfxdecode", lastbank )
MCFG_PALETTE_LENGTH(0x100)
// MCFG_VIDEO_START_OVERRIDE(lastbank_state,lastbank)
diff --git a/src/mame/drivers/lastduel.c b/src/mame/drivers/lastduel.c
index ed4bb8d73db..bdadb8f4958 100644
--- a/src/mame/drivers/lastduel.c
+++ b/src/mame/drivers/lastduel.c
@@ -517,7 +517,7 @@ static MACHINE_CONFIG_START( lastduel, lastduel_state )
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
- MCFG_GFXDECODE(lastduel)
+ MCFG_GFXDECODE_ADD("gfxdecode", lastduel)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(lastduel_state,lastduel)
@@ -561,7 +561,7 @@ static MACHINE_CONFIG_START( madgear, lastduel_state )
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
- MCFG_GFXDECODE(madgear)
+ MCFG_GFXDECODE_ADD("gfxdecode", madgear)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(lastduel_state,madgear)
diff --git a/src/mame/drivers/lazercmd.c b/src/mame/drivers/lazercmd.c
index 1ab27a879cc..acbb578f25f 100644
--- a/src/mame/drivers/lazercmd.c
+++ b/src/mame/drivers/lazercmd.c
@@ -646,7 +646,7 @@ static MACHINE_CONFIG_START( lazercmd, lazercmd_state )
MCFG_SCREEN_VISIBLE_AREA(0 * HORZ_CHR, HORZ_RES * HORZ_CHR - 1, 0 * VERT_CHR, (VERT_RES - 1) * VERT_CHR - 1)
MCFG_SCREEN_UPDATE_DRIVER(lazercmd_state, screen_update_lazercmd)
- MCFG_GFXDECODE(lazercmd)
+ MCFG_GFXDECODE_ADD("gfxdecode", lazercmd)
MCFG_PALETTE_LENGTH(5)
/* sound hardware */
@@ -677,7 +677,7 @@ static MACHINE_CONFIG_START( medlanes, lazercmd_state )
MCFG_SCREEN_VISIBLE_AREA(0 * HORZ_CHR, HORZ_RES * HORZ_CHR - 1, 0 * VERT_CHR, VERT_RES * VERT_CHR - 1)
MCFG_SCREEN_UPDATE_DRIVER(lazercmd_state, screen_update_lazercmd)
- MCFG_GFXDECODE(lazercmd)
+ MCFG_GFXDECODE_ADD("gfxdecode", lazercmd)
MCFG_PALETTE_LENGTH(5)
/* sound hardware */
@@ -708,7 +708,7 @@ static MACHINE_CONFIG_START( bbonk, lazercmd_state )
MCFG_SCREEN_VISIBLE_AREA(0 * HORZ_CHR, HORZ_RES * HORZ_CHR - 1, 0 * VERT_CHR, (VERT_RES - 1) * VERT_CHR - 1)
MCFG_SCREEN_UPDATE_DRIVER(lazercmd_state, screen_update_lazercmd)
- MCFG_GFXDECODE(lazercmd)
+ MCFG_GFXDECODE_ADD("gfxdecode", lazercmd)
MCFG_PALETTE_LENGTH(5)
/* sound hardware */
diff --git a/src/mame/drivers/lbeach.c b/src/mame/drivers/lbeach.c
index f4bc53eab98..977fe69ac87 100644
--- a/src/mame/drivers/lbeach.c
+++ b/src/mame/drivers/lbeach.c
@@ -113,14 +113,14 @@ TILE_GET_INFO_MEMBER(lbeach_state::get_bg_tile_info)
// d6,d7: color
UINT8 code = m_bg_vram[tile_index];
- SET_TILE_INFO_MEMBER(1, code & 0x1f, code >> 6 & 3, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code & 0x1f, code >> 6 & 3, 0);
}
TILE_GET_INFO_MEMBER(lbeach_state::get_fg_tile_info)
{
UINT8 code = m_fg_vram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
void lbeach_state::video_start()
@@ -146,7 +146,7 @@ UINT32 lbeach_state::screen_update_lbeach(screen_device &screen, bitmap_ind16 &b
int sprite_y = 160;
m_colmap_car.fill(0, cliprect);
- machine().gfx[2]->transpen(m_colmap_car,cliprect, sprite_code, 0, 0, 0, sprite_x, sprite_y, 0);
+ m_gfxdecode->gfx(2)->transpen(m_colmap_car,cliprect, sprite_code, 0, 0, 0, sprite_x, sprite_y, 0);
bitmap_ind16 &fg_bitmap = m_fg_tilemap->pixmap();
m_collision_bg_car = 0;
@@ -165,7 +165,7 @@ UINT32 lbeach_state::screen_update_lbeach(screen_device &screen, bitmap_ind16 &b
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
// draw player car
- machine().gfx[2]->transpen(bitmap,cliprect, sprite_code, 0, 0, 0, sprite_x, sprite_y, 0);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, sprite_code, 0, 0, 0, sprite_x, sprite_y, 0);
return 0;
}
@@ -333,7 +333,7 @@ static MACHINE_CONFIG_START( lbeach, lbeach_state )
MCFG_SCREEN_UPDATE_DRIVER(lbeach_state, screen_update_lbeach)
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE) // needed for collision detection
- MCFG_GFXDECODE(lbeach)
+ MCFG_GFXDECODE_ADD("gfxdecode", lbeach)
MCFG_PALETTE_LENGTH(2+8+2)
/* sound hardware */
diff --git a/src/mame/drivers/legionna.c b/src/mame/drivers/legionna.c
index 27761ffe937..5d37547485c 100644
--- a/src/mame/drivers/legionna.c
+++ b/src/mame/drivers/legionna.c
@@ -1077,7 +1077,7 @@ static MACHINE_CONFIG_START( legionna, legionna_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(legionna_state, screen_update_legionna)
- MCFG_GFXDECODE(legionna)
+ MCFG_GFXDECODE_ADD("gfxdecode", legionna)
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
@@ -1107,7 +1107,7 @@ static MACHINE_CONFIG_START( heatbrl, legionna_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(legionna_state, screen_update_legionna)
- MCFG_GFXDECODE(heatbrl)
+ MCFG_GFXDECODE_ADD("gfxdecode", heatbrl)
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
@@ -1137,7 +1137,7 @@ static MACHINE_CONFIG_START( godzilla, legionna_state )
MCFG_SCREEN_RAW_PARAMS(14318180/2,442,0,320,262,0,224) // ~61 Hz
MCFG_SCREEN_UPDATE_DRIVER(legionna_state, screen_update_godzilla)
- MCFG_GFXDECODE(heatbrl)
+ MCFG_GFXDECODE_ADD("gfxdecode", heatbrl)
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
@@ -1166,7 +1166,7 @@ static MACHINE_CONFIG_START( denjinmk, legionna_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(legionna_state, screen_update_godzilla)
- MCFG_GFXDECODE(heatbrl)
+ MCFG_GFXDECODE_ADD("gfxdecode", heatbrl)
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
@@ -1195,7 +1195,7 @@ static MACHINE_CONFIG_START( grainbow, legionna_state )
MCFG_SCREEN_VISIBLE_AREA(2*8, 42*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(legionna_state, screen_update_grainbow)
- MCFG_GFXDECODE(grainbow)
+ MCFG_GFXDECODE_ADD("gfxdecode", grainbow)
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
@@ -1225,7 +1225,7 @@ static MACHINE_CONFIG_START( cupsoc, legionna_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(legionna_state, screen_update_grainbow)
- MCFG_GFXDECODE(cupsoc)
+ MCFG_GFXDECODE_ADD("gfxdecode", cupsoc)
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
@@ -1263,7 +1263,7 @@ static MACHINE_CONFIG_START( cupsocbl, legionna_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(legionna_state, screen_update_grainbow)
- MCFG_GFXDECODE(heatbrl_csb)
+ MCFG_GFXDECODE_ADD("gfxdecode", heatbrl_csb)
MCFG_PALETTE_LENGTH(128*16)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
diff --git a/src/mame/drivers/lemmings.c b/src/mame/drivers/lemmings.c
index 1380ea67ad6..b384a05fcb0 100644
--- a/src/mame/drivers/lemmings.c
+++ b/src/mame/drivers/lemmings.c
@@ -263,15 +263,17 @@ static MACHINE_CONFIG_START( lemmings, lemmings_state )
MCFG_SCREEN_UPDATE_DRIVER(lemmings_state, screen_update_lemmings)
MCFG_SCREEN_VBLANK_DRIVER(lemmings_state, screen_eof_lemmings)
- MCFG_GFXDECODE(lemmings)
+ MCFG_GFXDECODE_ADD("gfxdecode", lemmings)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 1);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 0);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO146_ADD("ioprot")
MCFG_DECO146_SET_USE_MAGIC_ADDRESS_XOR
diff --git a/src/mame/drivers/lethal.c b/src/mame/drivers/lethal.c
index 634ac7f3dbd..4b62f2e4298 100644
--- a/src/mame/drivers/lethal.c
+++ b/src/mame/drivers/lethal.c
@@ -717,7 +717,7 @@ static MACHINE_CONFIG_START( lethalen, lethal_state )
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
- MCFG_GFXDECODE(lethal)
+ MCFG_GFXDECODE_ADD("gfxdecode", lethal)
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
@@ -732,7 +732,9 @@ static MACHINE_CONFIG_START( lethalen, lethal_state )
MCFG_PALETTE_LENGTH(7168+1)
MCFG_K056832_ADD("k056832", lethalen_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K053244_ADD("k053244", lethalen_k05324x_intf)
+ MCFG_K053244_GFXDECODE("gfxdecode")
MCFG_K054000_ADD("k054000")
/* sound hardware */
@@ -751,6 +753,7 @@ static MACHINE_CONFIG_DERIVED( lethalej, lethalen )
MCFG_DEVICE_REMOVE("k053244")
MCFG_K053244_ADD("k053244", lethalej_k05324x_intf)
+ MCFG_K053244_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
ROM_START( lethalen ) // US version UAE
diff --git a/src/mame/drivers/lgp.c b/src/mame/drivers/lgp.c
index 1ef817ed5d7..3fa3d598d57 100644
--- a/src/mame/drivers/lgp.c
+++ b/src/mame/drivers/lgp.c
@@ -119,7 +119,7 @@ UINT32 lgp_state::screen_update_lgp(screen_device &screen, bitmap_rgb32 &bitmap,
/* Somewhere there's a flag that offsets the tilemap by 0x100*x */
/* Palette is likely set somewhere as well (tile_control_ram?) */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_tile_ram[current_screen_character],
0,
0, 0, charx*8, chary*8, 0);
@@ -380,7 +380,7 @@ static MACHINE_CONFIG_START( lgp, lgp_state )
MCFG_PALETTE_LENGTH(256)
/* MCFG_PALETTE_INIT_OVERRIDE(lgp_state,lgp) */
- MCFG_GFXDECODE(lgp)
+ MCFG_GFXDECODE_ADD("gfxdecode", lgp)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/liberate.c b/src/mame/drivers/liberate.c
index 610695e377e..56feaa014cc 100644
--- a/src/mame/drivers/liberate.c
+++ b/src/mame/drivers/liberate.c
@@ -159,8 +159,8 @@ WRITE8_MEMBER(liberate_state::prosoccr_charram_w)
offset &= 0x7ff;
/* dirty char */
- machine().gfx[0]->mark_dirty(offset >> 3);
-// machine().gfx[0]->mark_dirty((offset | 0x1800) >> 3);
+ m_gfxdecode->gfx(0)->mark_dirty(offset >> 3);
+// m_gfxdecode->gfx(0)->mark_dirty((offset | 0x1800) >> 3);
}
WRITE8_MEMBER(liberate_state::prosoccr_char_bank_w)
@@ -225,8 +225,8 @@ WRITE8_MEMBER(liberate_state::prosport_charram_w)
offset &= 0x7ff;
/* dirty char */
- machine().gfx[3]->mark_dirty((offset + 0x800) >> 3);
- machine().gfx[3 + 4]->mark_dirty((offset + 0x800) >> 5);
+ m_gfxdecode->gfx(3)->mark_dirty((offset + 0x800) >> 3);
+ m_gfxdecode->gfx(3 + 4)->mark_dirty((offset + 0x800) >> 5);
}
@@ -838,7 +838,7 @@ static MACHINE_CONFIG_START( liberate, liberate_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(liberate_state, screen_update_liberate)
- MCFG_GFXDECODE(liberate)
+ MCFG_GFXDECODE_ADD("gfxdecode", liberate)
MCFG_PALETTE_LENGTH(33)
MCFG_PALETTE_INIT_OVERRIDE(liberate_state,liberate)
@@ -887,7 +887,7 @@ static MACHINE_CONFIG_DERIVED( prosoccr, liberate )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(liberate_state, screen_update_prosoccr)
- MCFG_GFXDECODE(prosoccr)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", prosoccr)
MCFG_VIDEO_START_OVERRIDE(liberate_state,prosoccr)
MACHINE_CONFIG_END
@@ -917,7 +917,7 @@ static MACHINE_CONFIG_START( prosport, liberate_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(liberate_state, screen_update_prosport)
- MCFG_GFXDECODE(prosport)
+ MCFG_GFXDECODE_ADD("gfxdecode", prosport)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(liberate_state,prosport)
diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c
index 902fcc56d94..938b4e12d94 100644
--- a/src/mame/drivers/limenko.c
+++ b/src/mame/drivers/limenko.c
@@ -306,21 +306,21 @@ TILE_GET_INFO_MEMBER(limenko_state::get_bg_tile_info)
{
int tile = m_bg_videoram[tile_index] & 0x7ffff;
int color = (m_bg_videoram[tile_index]>>28) & 0xf;
- SET_TILE_INFO_MEMBER(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,0);
}
TILE_GET_INFO_MEMBER(limenko_state::get_md_tile_info)
{
int tile = m_md_videoram[tile_index] & 0x7ffff;
int color = (m_md_videoram[tile_index]>>28) & 0xf;
- SET_TILE_INFO_MEMBER(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,0);
}
TILE_GET_INFO_MEMBER(limenko_state::get_fg_tile_info)
{
int tile = m_fg_videoram[tile_index] & 0x7ffff;
int color = (m_fg_videoram[tile_index]>>28) & 0xf;
- SET_TILE_INFO_MEMBER(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,0);
}
static void draw_single_sprite(bitmap_ind16 &dest_bmp,const rectangle &clip,gfx_element *gfx,
@@ -764,7 +764,7 @@ static MACHINE_CONFIG_START( limenko, limenko_state )
MCFG_SCREEN_VISIBLE_AREA(0, 383, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(limenko_state, screen_update_limenko)
- MCFG_GFXDECODE(limenko)
+ MCFG_GFXDECODE_ADD("gfxdecode", limenko)
MCFG_PALETTE_LENGTH(0x1000)
@@ -795,7 +795,7 @@ static MACHINE_CONFIG_START( spotty, limenko_state )
MCFG_SCREEN_VISIBLE_AREA(0, 383, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(limenko_state, screen_update_limenko)
- MCFG_GFXDECODE(limenko)
+ MCFG_GFXDECODE_ADD("gfxdecode", limenko)
MCFG_PALETTE_LENGTH(0x1000)
diff --git a/src/mame/drivers/lkage.c b/src/mame/drivers/lkage.c
index 49bd488fb8c..bb3a1108ba9 100644
--- a/src/mame/drivers/lkage.c
+++ b/src/mame/drivers/lkage.c
@@ -562,7 +562,7 @@ static MACHINE_CONFIG_START( lkage, lkage_state )
MCFG_SCREEN_VISIBLE_AREA(2*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(lkage_state, screen_update_lkage)
- MCFG_GFXDECODE(lkage)
+ MCFG_GFXDECODE_ADD("gfxdecode", lkage)
MCFG_PALETTE_LENGTH(1024)
@@ -606,7 +606,7 @@ static MACHINE_CONFIG_START( lkageb, lkage_state )
MCFG_SCREEN_VISIBLE_AREA(2*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(lkage_state, screen_update_lkage)
- MCFG_GFXDECODE(lkage)
+ MCFG_GFXDECODE_ADD("gfxdecode", lkage)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/lockon.c b/src/mame/drivers/lockon.c
index 9d871128d30..61077b0c365 100644
--- a/src/mame/drivers/lockon.c
+++ b/src/mame/drivers/lockon.c
@@ -512,7 +512,7 @@ static MACHINE_CONFIG_START( lockon, lockon_state )
MCFG_SCREEN_UPDATE_DRIVER(lockon_state, screen_update_lockon)
MCFG_SCREEN_VBLANK_DRIVER(lockon_state, screen_eof_lockon)
- MCFG_GFXDECODE(lockon)
+ MCFG_GFXDECODE_ADD("gfxdecode", lockon)
MCFG_PALETTE_LENGTH(1024 + 2048)
diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c
index 88b8155f822..8bc57b81a2e 100644
--- a/src/mame/drivers/looping.c
+++ b/src/mame/drivers/looping.c
@@ -215,7 +215,7 @@ TILE_GET_INFO_MEMBER(looping_state::get_tile_info)
{
int tile_number = m_videoram[tile_index];
int color = m_colorram[(tile_index & 0x1f) * 2 + 1] & 0x07;
- SET_TILE_INFO_MEMBER(0, tile_number, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile_number, color, 0);
}
@@ -308,7 +308,7 @@ void looping_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
}
}
@@ -681,7 +681,7 @@ static MACHINE_CONFIG_START( looping, looping_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(looping_state, screen_update_looping)
- MCFG_GFXDECODE(looping)
+ MCFG_GFXDECODE_ADD("gfxdecode", looping)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index 7608aa17f43..70f57f816df 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -686,7 +686,7 @@ static MACHINE_CONFIG_START( lordgun, lordgun_state )
MCFG_SCREEN_VISIBLE_AREA(0,0x1c0-1, 0,0xe0-1)
MCFG_SCREEN_UPDATE_DRIVER(lordgun_state, screen_update_lordgun)
- MCFG_GFXDECODE(lordgun)
+ MCFG_GFXDECODE_ADD("gfxdecode", lordgun)
MCFG_PALETTE_LENGTH(0x800 * 8) // 0x800 real colors, repeated per priority level
// sound hardware
@@ -722,7 +722,7 @@ static MACHINE_CONFIG_START( aliencha, lordgun_state )
MCFG_SCREEN_VISIBLE_AREA(0,0x1c0-1, 0,0xe0-1)
MCFG_SCREEN_UPDATE_DRIVER(lordgun_state, screen_update_lordgun)
- MCFG_GFXDECODE(lordgun)
+ MCFG_GFXDECODE_ADD("gfxdecode", lordgun)
MCFG_PALETTE_LENGTH(0x800 * 8) // 0x800 real colors, repeated per priority level
// sound hardware
diff --git a/src/mame/drivers/lsasquad.c b/src/mame/drivers/lsasquad.c
index c5431e4b6bf..67f98f83d20 100644
--- a/src/mame/drivers/lsasquad.c
+++ b/src/mame/drivers/lsasquad.c
@@ -632,7 +632,7 @@ static MACHINE_CONFIG_START( lsasquad, lsasquad_state )
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(lsasquad_state, screen_update_lsasquad)
- MCFG_GFXDECODE(lsasquad)
+ MCFG_GFXDECODE_ADD("gfxdecode", lsasquad)
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -687,12 +687,12 @@ static MACHINE_CONFIG_START( daikaiju, lsasquad_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(lsasquad_state, screen_update_daikaiju)
- MCFG_GFXDECODE(lsasquad)
+ MCFG_GFXDECODE_ADD("gfxdecode", lsasquad)
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
- MCFG_SCREEN_UPDATE_DRIVER(lsasquad_state, screen_update_daikaiju)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/ltcasino.c b/src/mame/drivers/ltcasino.c
index da3ee992720..346de4d5b69 100644
--- a/src/mame/drivers/ltcasino.c
+++ b/src/mame/drivers/ltcasino.c
@@ -51,7 +51,7 @@ TILE_GET_INFO_MEMBER(ltcasino_state::get_ltcasino_tile_info)
tileno += (colour & 0x80) << 1;
- SET_TILE_INFO_MEMBER(0,tileno,0,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,0,0);
}
void ltcasino_state::video_start()
@@ -659,7 +659,7 @@ static MACHINE_CONFIG_START( ltcasino, ltcasino_state )
MCFG_SCREEN_VISIBLE_AREA(6*8, 58*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ltcasino_state, screen_update_ltcasino)
- MCFG_GFXDECODE(ltcasino)
+ MCFG_GFXDECODE_ADD("gfxdecode", ltcasino)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/luckgrln.c b/src/mame/drivers/luckgrln.c
index d495d431fe8..7cf264fe0f4 100644
--- a/src/mame/drivers/luckgrln.c
+++ b/src/mame/drivers/luckgrln.c
@@ -180,7 +180,7 @@ TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel1_tile_info)
code |= (attr & 0xe0)<<3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
col,
@@ -210,7 +210,7 @@ TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel2_tile_info)
code |= (attr & 0xe0)<<3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
col,
@@ -238,7 +238,7 @@ TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel3_tile_info)
code |= (attr & 0xe0)<<3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
col,
@@ -266,7 +266,7 @@ TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel4_tile_info)
code |= (attr & 0xe0)<<3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
col,
@@ -365,10 +365,10 @@ UINT32 luckgrln_state::screen_update_luckgrln(screen_device &screen, bitmap_ind1
if (bgenable==3) m_reel4_tilemap->draw(screen, bitmap, clip, 0, 0);
}
- if (tileattr&0x08) machine().gfx[region]->transpen(bitmap,clip,tile,col,0,0,x*8,y*8, 0);
+ if (tileattr&0x08) m_gfxdecode->gfx(region)->transpen(bitmap,clip,tile,col,0,0,x*8,y*8, 0);
#else // treat it as priority flag instead (looks better in non-adult title screen - needs verifying)
- if (!(tileattr&0x08)) machine().gfx[region]->transpen(bitmap,clip,tile,col,0,0,x*8,y*8, 0);
+ if (!(tileattr&0x08)) m_gfxdecode->gfx(region)->transpen(bitmap,clip,tile,col,0,0,x*8,y*8, 0);
if (tileattr&0x04)
{
@@ -378,7 +378,7 @@ UINT32 luckgrln_state::screen_update_luckgrln(screen_device &screen, bitmap_ind1
if (bgenable==3) m_reel4_tilemap->draw(screen, bitmap, clip, 0, 0);
}
- if ((tileattr&0x08)) machine().gfx[region]->transpen(bitmap,clip,tile,col,0,0,x*8,y*8, 0);
+ if ((tileattr&0x08)) m_gfxdecode->gfx(region)->transpen(bitmap,clip,tile,col,0,0,x*8,y*8, 0);
#endif
count++;
@@ -1011,7 +1011,7 @@ static MACHINE_CONFIG_START( luckgrln, luckgrln_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(luckgrln_state, screen_update_luckgrln)
- MCFG_GFXDECODE(luckgrln)
+ MCFG_GFXDECODE_ADD("gfxdecode", luckgrln)
MCFG_PALETTE_LENGTH(0x8000)
diff --git a/src/mame/drivers/lucky74.c b/src/mame/drivers/lucky74.c
index 9968bc9e1c2..5feca86d6d8 100644
--- a/src/mame/drivers/lucky74.c
+++ b/src/mame/drivers/lucky74.c
@@ -1550,7 +1550,7 @@ static MACHINE_CONFIG_START( lucky74, lucky74_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 1*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(lucky74_state, screen_update_lucky74)
- MCFG_GFXDECODE(lucky74)
+ MCFG_GFXDECODE_ADD("gfxdecode", lucky74)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/lvcards.c b/src/mame/drivers/lvcards.c
index 952726cc254..9ef2aaea5a0 100644
--- a/src/mame/drivers/lvcards.c
+++ b/src/mame/drivers/lvcards.c
@@ -476,7 +476,7 @@ static MACHINE_CONFIG_START( lvcards, lvcards_state )
MCFG_SCREEN_VISIBLE_AREA(8*0, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(lvcards_state, screen_update_lvcards)
- MCFG_GFXDECODE(lvcards)
+ MCFG_GFXDECODE_ADD("gfxdecode", lvcards)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index 0898a0e2106..c4d6c722d6d 100644
--- a/src/mame/drivers/lwings.c
+++ b/src/mame/drivers/lwings.c
@@ -791,7 +791,7 @@ static MACHINE_CONFIG_START( lwings, lwings_state )
MCFG_SCREEN_UPDATE_DRIVER(lwings_state, screen_update_lwings)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(lwings)
+ MCFG_GFXDECODE_ADD("gfxdecode", lwings)
MCFG_PALETTE_LENGTH(1024)
@@ -827,7 +827,7 @@ static MACHINE_CONFIG_DERIVED( trojan, lwings )
MCFG_CPU_PERIODIC_INT_DRIVER(lwings_state, irq0_line_hold, 4000)
/* video hardware */
- MCFG_GFXDECODE(trojan)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", trojan)
MCFG_VIDEO_START_OVERRIDE(lwings_state,trojan)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/m10.c b/src/mame/drivers/m10.c
index aa821034046..095f04f45b3 100644
--- a/src/mame/drivers/m10.c
+++ b/src/mame/drivers/m10.c
@@ -854,7 +854,7 @@ static MACHINE_CONFIG_START( m10, m10_state )
MCFG_SCREEN_RAW_PARAMS(IREMM10_PIXEL_CLOCK, IREMM10_HTOTAL, IREMM10_HBEND, IREMM10_HBSTART, IREMM10_VTOTAL, IREMM10_VBEND, IREMM10_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(m10_state, screen_update_m10)
- MCFG_GFXDECODE(m10)
+ MCFG_GFXDECODE_ADD("gfxdecode", m10)
MCFG_PALETTE_LENGTH(2*8)
MCFG_PALETTE_INIT_OVERRIDE(m10_state,m10)
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c
index 5a72a0d78be..cecb62cbd72 100644
--- a/src/mame/drivers/m107.c
+++ b/src/mame/drivers/m107.c
@@ -776,7 +776,7 @@ static MACHINE_CONFIG_START( firebarr, m107_state )
MCFG_SCREEN_VISIBLE_AREA(80, 511-112, 8, 247) /* 320 x 240 */
MCFG_SCREEN_UPDATE_DRIVER(m107_state, screen_update_m107)
- MCFG_GFXDECODE(firebarr)
+ MCFG_GFXDECODE_ADD("gfxdecode", firebarr)
MCFG_PALETTE_LENGTH(2048)
@@ -803,7 +803,7 @@ static MACHINE_CONFIG_DERIVED( dsoccr94, firebarr )
MCFG_V25_CONFIG(dsoccr94_decryption_table)
/* video hardware */
- MCFG_GFXDECODE(m107)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", m107)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m14.c b/src/mame/drivers/m14.c
index c9beddd1be5..535f920607d 100644
--- a/src/mame/drivers/m14.c
+++ b/src/mame/drivers/m14.c
@@ -124,7 +124,7 @@ TILE_GET_INFO_MEMBER(m14_state::m14_get_tile_info)
/* colorram & 0xf0 used but unknown purpose*/
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -343,7 +343,7 @@ static MACHINE_CONFIG_START( m14, m14_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m14_state, screen_update_m14)
- MCFG_GFXDECODE(m14)
+ MCFG_GFXDECODE_ADD("gfxdecode", m14)
MCFG_PALETTE_LENGTH(0x20)
diff --git a/src/mame/drivers/m52.c b/src/mame/drivers/m52.c
index 27746cb0cd6..7ed501dd802 100644
--- a/src/mame/drivers/m52.c
+++ b/src/mame/drivers/m52.c
@@ -398,7 +398,7 @@ static MACHINE_CONFIG_START( m52, m52_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", m52_state, irq0_line_hold)
/* video hardware */
- MCFG_GFXDECODE(m52)
+ MCFG_GFXDECODE_ADD("gfxdecode", m52)
MCFG_PALETTE_LENGTH(128*4+16*4+3*4)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/m57.c b/src/mame/drivers/m57.c
index c98588356f5..9402707a2de 100644
--- a/src/mame/drivers/m57.c
+++ b/src/mame/drivers/m57.c
@@ -240,7 +240,7 @@ static MACHINE_CONFIG_START( m57, m57_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m57_state, screen_update_m57)
- MCFG_GFXDECODE(m57)
+ MCFG_GFXDECODE_ADD("gfxdecode", m57)
MCFG_PALETTE_LENGTH(32*8+32*8)
diff --git a/src/mame/drivers/m58.c b/src/mame/drivers/m58.c
index 5215963f737..6860caad00b 100644
--- a/src/mame/drivers/m58.c
+++ b/src/mame/drivers/m58.c
@@ -196,7 +196,7 @@ static MACHINE_CONFIG_START( yard, m58_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", m58_state, irq0_line_hold)
/* video hardware */
- MCFG_GFXDECODE(yard)
+ MCFG_GFXDECODE_ADD("gfxdecode", yard)
MCFG_PALETTE_LENGTH(256+256+256)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/m62.c b/src/mame/drivers/m62.c
index b6be4d13848..d6e58df5617 100644
--- a/src/mame/drivers/m62.c
+++ b/src/mame/drivers/m62.c
@@ -946,7 +946,7 @@ static MACHINE_CONFIG_START( ldrun, m62_state )
MCFG_SCREEN_VISIBLE_AREA((64*8-384)/2, 64*8-(64*8-384)/2-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_ldrun)
- MCFG_GFXDECODE(ldrun)
+ MCFG_GFXDECODE_ADD("gfxdecode", ldrun)
MCFG_PALETTE_LENGTH(512)
@@ -984,7 +984,7 @@ static MACHINE_CONFIG_DERIVED( battroad, ldrun )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_battroad)
- MCFG_GFXDECODE(battroad)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", battroad)
MCFG_PALETTE_LENGTH(544)
MCFG_PALETTE_INIT_OVERRIDE(m62_state,battroad)
@@ -1013,7 +1013,7 @@ static MACHINE_CONFIG_DERIVED( ldrun3, ldrun )
MCFG_CPU_IO_MAP(ldrun3_io_map)
/* video hardware */
- MCFG_GFXDECODE(ldrun3)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", ldrun3)
MCFG_VIDEO_START_OVERRIDE(m62_state,ldrun2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_ldrun3)
@@ -1028,7 +1028,7 @@ static MACHINE_CONFIG_DERIVED( ldrun4, ldrun )
MCFG_CPU_IO_MAP(ldrun4_io_map)
/* video hardware */
- MCFG_GFXDECODE(ldrun3)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", ldrun3)
MCFG_VIDEO_START_OVERRIDE(m62_state,ldrun4)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_ldrun4)
@@ -1042,7 +1042,7 @@ static MACHINE_CONFIG_DERIVED( lotlot, ldrun )
MCFG_CPU_PROGRAM_MAP(lotlot_map)
/* video hardware */
- MCFG_GFXDECODE(lotlot)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", lotlot)
MCFG_PALETTE_LENGTH(768)
MCFG_PALETTE_INIT_OVERRIDE(m62_state,lotlot)
@@ -1060,7 +1060,7 @@ static MACHINE_CONFIG_DERIVED( kidniki, ldrun )
MCFG_CPU_IO_MAP(kidniki_io_map)
/* video hardware */
- MCFG_GFXDECODE(kidniki)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", kidniki)
MCFG_VIDEO_START_OVERRIDE(m62_state,kidniki)
MCFG_SCREEN_MODIFY("screen")
@@ -1075,7 +1075,7 @@ static MACHINE_CONFIG_DERIVED( spelunkr, ldrun )
MCFG_CPU_PROGRAM_MAP(spelunkr_map)
/* video hardware */
- MCFG_GFXDECODE(spelunkr)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", spelunkr)
MCFG_VIDEO_START_OVERRIDE(m62_state,spelunkr)
MCFG_SCREEN_MODIFY("screen")
@@ -1090,7 +1090,7 @@ static MACHINE_CONFIG_DERIVED( spelunk2, ldrun )
MCFG_CPU_PROGRAM_MAP(spelunk2_map)
/* video hardware */
- MCFG_GFXDECODE(spelunk2)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", spelunk2)
MCFG_PALETTE_LENGTH(768)
MCFG_PALETTE_INIT_OVERRIDE(m62_state,spelunk2)
@@ -1112,7 +1112,7 @@ static MACHINE_CONFIG_DERIVED( youjyudn, ldrun )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_youjyudn)
- MCFG_GFXDECODE(youjyudn)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", youjyudn)
MCFG_VIDEO_START_OVERRIDE(m62_state,youjyudn)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m63.c b/src/mame/drivers/m63.c
index f763c5e0c35..ab3a198cd01 100644
--- a/src/mame/drivers/m63.c
+++ b/src/mame/drivers/m63.c
@@ -303,14 +303,14 @@ TILE_GET_INFO_MEMBER(m63_state::get_bg_tile_info)
int code = m_videoram[tile_index] | ((attr & 0x30) << 4);
int color = (attr & 0x0f) + (m_pal_bank << 4);
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
TILE_GET_INFO_MEMBER(m63_state::get_fg_tile_info)
{
int code = m_videoram2[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, m_fg_flag);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, m_fg_flag);
}
VIDEO_START_MEMBER(m63_state,m63)
@@ -344,7 +344,7 @@ void m63_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
@@ -353,7 +353,7 @@ void m63_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
if (sx > 0xf0)
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx - 0x100, sy, 0);
@@ -772,7 +772,7 @@ static MACHINE_CONFIG_START( m63, m63_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m63_state, screen_update_m63)
- MCFG_GFXDECODE(m63)
+ MCFG_GFXDECODE_ADD("gfxdecode", m63)
MCFG_PALETTE_LENGTH(256+4)
MCFG_PALETTE_INIT_OVERRIDE(m63_state,m63)
@@ -816,7 +816,7 @@ static MACHINE_CONFIG_START( fghtbskt, m63_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m63_state, screen_update_m63)
- MCFG_GFXDECODE(fghtbskt)
+ MCFG_GFXDECODE_ADD("gfxdecode", fghtbskt)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index a78ec46c3b8..3ef1198fe06 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -1801,7 +1801,7 @@ static MACHINE_CONFIG_START( m72_base, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
- MCFG_GFXDECODE(m72)
+ MCFG_GFXDECODE_ADD("gfxdecode", m72)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1856,7 +1856,7 @@ static MACHINE_CONFIG_START( rtype, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
- MCFG_GFXDECODE(m72)
+ MCFG_GFXDECODE_ADD("gfxdecode", m72)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1893,7 +1893,7 @@ static MACHINE_CONFIG_START( xmultipl, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
- MCFG_GFXDECODE(m72)
+ MCFG_GFXDECODE_ADD("gfxdecode", m72)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1934,7 +1934,7 @@ static MACHINE_CONFIG_START( xmultiplm72, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
- MCFG_GFXDECODE(m72)
+ MCFG_GFXDECODE_ADD("gfxdecode", m72)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1975,7 +1975,7 @@ static MACHINE_CONFIG_START( dbreed, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
- MCFG_GFXDECODE(rtype2)
+ MCFG_GFXDECODE_ADD("gfxdecode", rtype2)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2016,7 +2016,7 @@ static MACHINE_CONFIG_START( dbreedm72, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
- MCFG_GFXDECODE(m72)
+ MCFG_GFXDECODE_ADD("gfxdecode", m72)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2057,7 +2057,7 @@ static MACHINE_CONFIG_START( rtype2, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
- MCFG_GFXDECODE(rtype2)
+ MCFG_GFXDECODE_ADD("gfxdecode", rtype2)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2098,7 +2098,7 @@ static MACHINE_CONFIG_START( majtitle, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
- MCFG_GFXDECODE(majtitle)
+ MCFG_GFXDECODE_ADD("gfxdecode", majtitle)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2139,7 +2139,7 @@ static MACHINE_CONFIG_START( hharry, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
- MCFG_GFXDECODE(rtype2)
+ MCFG_GFXDECODE_ADD("gfxdecode", rtype2)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2180,7 +2180,7 @@ static MACHINE_CONFIG_START( hharryu, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
- MCFG_GFXDECODE(rtype2)
+ MCFG_GFXDECODE_ADD("gfxdecode", rtype2)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2221,7 +2221,7 @@ static MACHINE_CONFIG_START( dkgenm72, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl)
/* video hardware */
- MCFG_GFXDECODE(m72)
+ MCFG_GFXDECODE_ADD("gfxdecode", m72)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2262,7 +2262,7 @@ static MACHINE_CONFIG_START( poundfor, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72)
/* video hardware */
- MCFG_GFXDECODE(rtype2)
+ MCFG_GFXDECODE_ADD("gfxdecode", rtype2)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2303,7 +2303,7 @@ static MACHINE_CONFIG_START( cosmccop, m72_state )
MCFG_MACHINE_RESET_OVERRIDE(m72_state,kengo)
/* video hardware */
- MCFG_GFXDECODE(rtype2)
+ MCFG_GFXDECODE_ADD("gfxdecode", rtype2)
MCFG_PALETTE_LENGTH(512)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index 1bc1704d93d..5b91592160f 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -734,7 +734,7 @@ static MACHINE_CONFIG_START( m90, m90_state )
MCFG_SCREEN_VISIBLE_AREA(6*8, 54*8-1, 17*8, 47*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m90_state, screen_update_m90)
- MCFG_GFXDECODE(m90)
+ MCFG_GFXDECODE_ADD("gfxdecode", m90)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c
index 8b6f7e9b38c..c9c4b56cdde 100644
--- a/src/mame/drivers/m92.c
+++ b/src/mame/drivers/m92.c
@@ -941,7 +941,7 @@ static MACHINE_CONFIG_START( m92, m92_state )
MCFG_SCREEN_VISIBLE_AREA(80, 511-112, 8, 247) /* 320 x 240 */
MCFG_SCREEN_UPDATE_DRIVER(m92_state, screen_update_m92)
- MCFG_GFXDECODE(m92)
+ MCFG_GFXDECODE_ADD("gfxdecode", m92)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(m92_state,m92)
@@ -1020,7 +1020,7 @@ static MACHINE_CONFIG_START( ppan, m92_state )
MCFG_SCREEN_VISIBLE_AREA(80, 511-112, 8, 247) /* 320 x 240 */
MCFG_SCREEN_UPDATE_DRIVER(m92_state, screen_update_ppan)
- MCFG_GFXDECODE(m92)
+ MCFG_GFXDECODE_ADD("gfxdecode", m92)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(m92_state,ppan)
@@ -1054,7 +1054,7 @@ static MACHINE_CONFIG_DERIVED( nbbatman2bl, m92 )
MCFG_DEVICE_REMOVE("ymsnd")
MCFG_DEVICE_REMOVE("irem")
- MCFG_GFXDECODE(bootleg)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", bootleg)
/* 8951 MCU as sound CPU */
/* OKI6295 (AD-65) as sound */
@@ -1065,14 +1065,14 @@ static MACHINE_CONFIG_DERIVED( psoldier, m92 )
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(psoldier_decryption_table)
/* video hardware */
- MCFG_GFXDECODE(psoldier)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", psoldier)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( dsoccr94j, m92 )
MCFG_CPU_MODIFY("soundcpu")
MCFG_V25_CONFIG(dsoccr94_decryption_table)
/* video hardware */
- MCFG_GFXDECODE(psoldier)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", psoldier)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gunforc2, m92 )
diff --git a/src/mame/drivers/macrossp.c b/src/mame/drivers/macrossp.c
index 346706cec43..1f8e91fd8c1 100644
--- a/src/mame/drivers/macrossp.c
+++ b/src/mame/drivers/macrossp.c
@@ -615,7 +615,7 @@ static MACHINE_CONFIG_START( macrossp, macrossp_state )
MCFG_SCREEN_UPDATE_DRIVER(macrossp_state, screen_update_macrossp)
MCFG_SCREEN_VBLANK_DRIVER(macrossp_state, screen_eof_macrossp)
- MCFG_GFXDECODE(macrossp)
+ MCFG_GFXDECODE_ADD("gfxdecode", macrossp)
MCFG_PALETTE_LENGTH(0x1000)
diff --git a/src/mame/drivers/macs.c b/src/mame/drivers/macs.c
index 0280de695b2..73e7dfab638 100644
--- a/src/mame/drivers/macs.c
+++ b/src/mame/drivers/macs.c
@@ -493,7 +493,7 @@ static MACHINE_CONFIG_START( macs, macs_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 128*8-1, 0*8, 128*8-1)
MCFG_SCREEN_UPDATE_DRIVER(st0016_state, screen_update_st0016)
- MCFG_GFXDECODE(macs)
+ MCFG_GFXDECODE_ADD("gfxdecode", macs)
MCFG_PALETTE_LENGTH(16*16*4+1)
MCFG_VIDEO_START_OVERRIDE(st0016_state,st0016)
diff --git a/src/mame/drivers/madmotor.c b/src/mame/drivers/madmotor.c
index 54e2648a6f1..b3a3447fdb8 100644
--- a/src/mame/drivers/madmotor.c
+++ b/src/mame/drivers/madmotor.c
@@ -248,18 +248,22 @@ static MACHINE_CONFIG_START( madmotor, madmotor_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(madmotor_state, screen_update_madmotor)
- MCFG_GFXDECODE(madmotor)
+ MCFG_GFXDECODE_ADD("gfxdecode", madmotor)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,0,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen2", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,1,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("tilegen3", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,2,1);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 3);
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
diff --git a/src/mame/drivers/magic10.c b/src/mame/drivers/magic10.c
index 037de531d8a..a5df73122aa 100644
--- a/src/mame/drivers/magic10.c
+++ b/src/mame/drivers/magic10.c
@@ -161,6 +161,7 @@ TILE_GET_INFO_MEMBER(magic10_state::get_layer0_tile_info)
{
SET_TILE_INFO_MEMBER
(
+ m_gfxdecode,
1,
m_layer0_videoram[tile_index * 2],
m_layer0_videoram[tile_index * 2 + 1] & 0x0f,
@@ -172,6 +173,7 @@ TILE_GET_INFO_MEMBER(magic10_state::get_layer1_tile_info)
{
SET_TILE_INFO_MEMBER
(
+ m_gfxdecode,
1,
m_layer1_videoram[tile_index * 2],
m_layer1_videoram[tile_index * 2 + 1] & 0x0f,
@@ -183,6 +185,7 @@ TILE_GET_INFO_MEMBER(magic10_state::get_layer2_tile_info)
{
SET_TILE_INFO_MEMBER
(
+ m_gfxdecode,
0,
m_layer2_videoram[tile_index * 2],
m_layer2_videoram[tile_index * 2 + 1] & 0x0f,
@@ -745,7 +748,7 @@ static MACHINE_CONFIG_START( magic10, magic10_state )
MCFG_SCREEN_UPDATE_DRIVER(magic10_state, screen_update_magic10)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_GFXDECODE(magic10)
+ MCFG_GFXDECODE_ADD("gfxdecode", magic10)
/* sound hardware */
diff --git a/src/mame/drivers/magicfly.c b/src/mame/drivers/magicfly.c
index 01e179a57cb..107ed3a8bf0 100644
--- a/src/mame/drivers/magicfly.c
+++ b/src/mame/drivers/magicfly.c
@@ -512,7 +512,7 @@ TILE_GET_INFO_MEMBER(magicfly_state::get_magicfly_tile_info)
m_colorram[0] = m_colorram[0] | ((m_colorram[0] & 0x08) << 4); /* only for 1st offset */
//m_colorram[tile_index] = attr | ((attr & 0x08) << 4); /* for the whole color RAM */
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
void magicfly_state::video_start()
@@ -543,7 +543,7 @@ TILE_GET_INFO_MEMBER(magicfly_state::get_7mezzo_tile_info)
m_colorram[0] = m_colorram[0] | ((m_colorram[0] & 0x04) << 5); /* only for 1st offset */
//m_colorram[tile_index] = attr | ((attr & 0x04) << 5); /* for the whole color RAM */
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
VIDEO_START_MEMBER(magicfly_state,7mezzo)
@@ -956,7 +956,7 @@ static MACHINE_CONFIG_START( magicfly, magicfly_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 29*8-1) /* Taken from MC6845 init, registers 01 & 06. */
MCFG_SCREEN_UPDATE_DRIVER(magicfly_state, screen_update_magicfly)
- MCFG_GFXDECODE(magicfly)
+ MCFG_GFXDECODE_ADD("gfxdecode", magicfly)
MCFG_PALETTE_LENGTH(32)
MCFG_PALETTE_INIT_OVERRIDE(magicfly_state, magicfly)
diff --git a/src/mame/drivers/magmax.c b/src/mame/drivers/magmax.c
index e9b51302980..8580a42ecfd 100644
--- a/src/mame/drivers/magmax.c
+++ b/src/mame/drivers/magmax.c
@@ -362,7 +362,7 @@ static MACHINE_CONFIG_START( magmax, magmax_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(magmax_state, screen_update_magmax)
- MCFG_GFXDECODE(magmax)
+ MCFG_GFXDECODE_ADD("gfxdecode", magmax)
MCFG_PALETTE_LENGTH(1*16 + 16*16 + 256)
diff --git a/src/mame/drivers/mainevt.c b/src/mame/drivers/mainevt.c
index 26dbb3f7030..7247da870c7 100644
--- a/src/mame/drivers/mainevt.c
+++ b/src/mame/drivers/mainevt.c
@@ -449,8 +449,11 @@ static MACHINE_CONFIG_START( mainevt, mainevt_state )
MCFG_VIDEO_START_OVERRIDE(mainevt_state,mainevt)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", mainevt_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", mainevt_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -507,8 +510,11 @@ static MACHINE_CONFIG_START( devstors, mainevt_state )
MCFG_VIDEO_START_OVERRIDE(mainevt_state,dv)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", dv_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", dv_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
MCFG_K051733_ADD("k051733")
/* sound hardware */
diff --git a/src/mame/drivers/mainsnk.c b/src/mame/drivers/mainsnk.c
index a5483b4dc2a..38ce6e80e43 100644
--- a/src/mame/drivers/mainsnk.c
+++ b/src/mame/drivers/mainsnk.c
@@ -403,7 +403,7 @@ static MACHINE_CONFIG_START( mainsnk, mainsnk_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 1*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mainsnk_state, screen_update_mainsnk)
- MCFG_GFXDECODE(mainsnk)
+ MCFG_GFXDECODE_ADD("gfxdecode", mainsnk)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/majorpkr.c b/src/mame/drivers/majorpkr.c
index e7b6f510187..c9ab87d1274 100644
--- a/src/mame/drivers/majorpkr.c
+++ b/src/mame/drivers/majorpkr.c
@@ -507,7 +507,7 @@ TILE_GET_INFO_MEMBER(majorpkr_state::bg_get_tile_info)
{
int code = m_videoram[0x800 + 2 * tile_index] + (m_videoram[0x800 + 2 * tile_index + 1] << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x1fff),
code >> 13,
@@ -518,7 +518,7 @@ TILE_GET_INFO_MEMBER(majorpkr_state::fg_get_tile_info)
{
int code = m_videoram[2 * tile_index] + (m_videoram[2 * tile_index + 1] << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(code & 0x07ff),
code >> 13,
@@ -1036,12 +1036,11 @@ static MACHINE_CONFIG_START( majorpkr, majorpkr_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE((47+1)*16, (36+1)*8) /* through CRTC registers: 768 x 296 */
MCFG_SCREEN_VISIBLE_AREA(0, (36*16)-1, 0, (28*8)-1) /* through CRTC registers: 560(+16) x 224 */
+ MCFG_SCREEN_UPDATE_DRIVER(majorpkr_state, screen_update_majorpkr)
- MCFG_GFXDECODE(majorpkr)
+ MCFG_GFXDECODE_ADD("gfxdecode", majorpkr)
MCFG_PALETTE_LENGTH(0x100 * 16)
- MCFG_SCREEN_UPDATE_DRIVER(majorpkr_state, screen_update_majorpkr)
-
MCFG_MC6845_ADD("crtc", MC6845, "screen", CRTC_CLOCK, mc6845_intf) /* verified */
/* sound hardware */
diff --git a/src/mame/drivers/malzak.c b/src/mame/drivers/malzak.c
index 325b294ea72..2990113c03f 100644
--- a/src/mame/drivers/malzak.c
+++ b/src/mame/drivers/malzak.c
@@ -357,7 +357,7 @@ static MACHINE_CONFIG_START( malzak, malzak_state )
MCFG_SCREEN_VISIBLE_AREA(0, 479, 0, 479)
MCFG_SCREEN_UPDATE_DRIVER(malzak_state, screen_update_malzak)
- MCFG_GFXDECODE(malzak)
+ MCFG_GFXDECODE_ADD("gfxdecode", malzak)
MCFG_PALETTE_LENGTH(128)
MCFG_S2636_ADD("s2636_0", malzac_s2636_0_config)
diff --git a/src/mame/drivers/mappy.c b/src/mame/drivers/mappy.c
index fd04f4d882f..ee4a90ed80a 100644
--- a/src/mame/drivers/mappy.c
+++ b/src/mame/drivers/mappy.c
@@ -1719,7 +1719,7 @@ static MACHINE_CONFIG_FRAGMENT( superpac_common )
MCFG_MACHINE_RESET_OVERRIDE(mappy_state,superpac)
/* video hardware */
- MCFG_GFXDECODE(superpac)
+ MCFG_GFXDECODE_ADD("gfxdecode", superpac)
MCFG_PALETTE_LENGTH(64*4+64*4)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1799,7 +1799,7 @@ static MACHINE_CONFIG_START( phozon, mappy_state )
MCFG_NAMCO56XX_ADD("namcoio_2", intf1_interleave)
/* video hardware */
- MCFG_GFXDECODE(phozon)
+ MCFG_GFXDECODE_ADD("gfxdecode", phozon)
MCFG_PALETTE_LENGTH(64*4+64*4)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1836,7 +1836,7 @@ static MACHINE_CONFIG_FRAGMENT( mappy_common )
MCFG_MACHINE_RESET_OVERRIDE(mappy_state,mappy)
/* video hardware */
- MCFG_GFXDECODE(mappy)
+ MCFG_GFXDECODE_ADD("gfxdecode", mappy)
MCFG_PALETTE_LENGTH(64*4+16*16)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1878,7 +1878,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( todruaga, digdug2 )
/* video hardware */
- MCFG_GFXDECODE(todruaga)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", todruaga)
MCFG_PALETTE_LENGTH(64*4+64*16)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/marineb.c b/src/mame/drivers/marineb.c
index 2fb90ac7abe..24a6a9963e6 100644
--- a/src/mame/drivers/marineb.c
+++ b/src/mame/drivers/marineb.c
@@ -546,7 +546,7 @@ static MACHINE_CONFIG_START( marineb, marineb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(marineb_state, screen_update_marineb)
- MCFG_GFXDECODE(marineb)
+ MCFG_GFXDECODE_ADD("gfxdecode", marineb)
MCFG_PALETTE_LENGTH(256)
@@ -562,7 +562,7 @@ static MACHINE_CONFIG_DERIVED( changes, marineb )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(changes)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", changes)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(marineb_state, screen_update_changes)
MACHINE_CONFIG_END
@@ -584,7 +584,7 @@ static MACHINE_CONFIG_DERIVED( hoccer, marineb )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(hoccer)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", hoccer)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(marineb_state, screen_update_hoccer)
MACHINE_CONFIG_END
@@ -598,7 +598,7 @@ static MACHINE_CONFIG_DERIVED( wanted, marineb )
MCFG_CPU_VBLANK_INT_DRIVER("screen", marineb_state, wanted_vblank_irq)
/* video hardware */
- MCFG_GFXDECODE(wanted)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", wanted)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(marineb_state, screen_update_springer)
@@ -616,7 +616,7 @@ static MACHINE_CONFIG_DERIVED( hopprobo, marineb )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(hopprobo)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", hopprobo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(marineb_state, screen_update_hopprobo)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/marinedt.c b/src/mame/drivers/marinedt.c
index b16ef45fcf0..9779a7afc0c 100644
--- a/src/mame/drivers/marinedt.c
+++ b/src/mame/drivers/marinedt.c
@@ -489,7 +489,7 @@ TILE_GET_INFO_MEMBER(marinedt_state::get_tile_info)
int color = 0;
int flags = TILE_FLIPX;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void marinedt_state::video_start()
@@ -527,14 +527,14 @@ UINT32 marinedt_state::screen_update_marinedt(screen_device &screen, bitmap_ind1
m_tx_tilemap->draw(screen, *m_tile, cliprect, 0, 0);
m_obj1->fill(0);
- machine().gfx[1]->transpen(*m_obj1,m_obj1->cliprect(),
+ m_gfxdecode->gfx(1)->transpen(*m_obj1,m_obj1->cliprect(),
OBJ_CODE(m_obj1_a),
OBJ_COLOR(m_obj1_a),
OBJ_FLIPX(m_obj1_a), OBJ_FLIPY(m_obj1_a),
0, 0, 0);
m_obj2->fill(0);
- machine().gfx[2]->transpen(*m_obj2,m_obj2->cliprect(),
+ m_gfxdecode->gfx(2)->transpen(*m_obj2,m_obj2->cliprect(),
OBJ_CODE(m_obj2_a),
OBJ_COLOR(m_obj2_a),
OBJ_FLIPX(m_obj2_a), OBJ_FLIPY(m_obj2_a),
@@ -682,7 +682,7 @@ static MACHINE_CONFIG_START( marinedt, marinedt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(marinedt_state, screen_update_marinedt)
- MCFG_GFXDECODE(marinedt)
+ MCFG_GFXDECODE_ADD("gfxdecode", marinedt)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/mario.c b/src/mame/drivers/mario.c
index e4dd20a5e9e..763850c7482 100644
--- a/src/mame/drivers/mario.c
+++ b/src/mame/drivers/mario.c
@@ -352,7 +352,7 @@ static MACHINE_CONFIG_START( mario_base, mario_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(mario_state, screen_update_mario)
- MCFG_GFXDECODE(mario)
+ MCFG_GFXDECODE_ADD("gfxdecode", mario)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/markham.c b/src/mame/drivers/markham.c
index 5a2d32c07de..d4188f97d13 100644
--- a/src/mame/drivers/markham.c
+++ b/src/mame/drivers/markham.c
@@ -193,7 +193,7 @@ static MACHINE_CONFIG_START( markham, markham_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(markham_state, screen_update_markham)
- MCFG_GFXDECODE(markham)
+ MCFG_GFXDECODE_ADD("gfxdecode", markham)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/mastboy.c b/src/mame/drivers/mastboy.c
index 6c0589a7942..26790fe2479 100644
--- a/src/mame/drivers/mastboy.c
+++ b/src/mame/drivers/mastboy.c
@@ -492,7 +492,7 @@ public:
void mastboy_state::video_start()
{
- machine().gfx[0]->set_source(m_vram);
+ m_gfxdecode->gfx(0)->set_source(m_vram);
}
UINT32 mastboy_state::screen_update_mastboy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -518,12 +518,12 @@ UINT32 mastboy_state::screen_update_mastboy(screen_device &screen, bitmap_ind16
if (tileno&0x800)
{
- gfx = machine().gfx[1];
+ gfx = m_gfxdecode->gfx(1);
tileno &=0x7ff;
}
else
{
- gfx = machine().gfx[0];
+ gfx = m_gfxdecode->gfx(0);
}
@@ -596,7 +596,7 @@ WRITE8_MEMBER(mastboy_state::banked_ram_w)
m_vram[offs] = data^0xff;
/* Decode the new tile */
- machine().gfx[0]->mark_dirty(offs/32);
+ m_gfxdecode->gfx(0)->mark_dirty(offs/32);
}
}
else
@@ -900,7 +900,7 @@ static MACHINE_CONFIG_START( mastboy, mastboy_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(mastboy_state, screen_update_mastboy)
- MCFG_GFXDECODE(mastboy)
+ MCFG_GFXDECODE_ADD("gfxdecode", mastboy)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/matmania.c b/src/mame/drivers/matmania.c
index 9a922be7df5..0fdc4afca50 100644
--- a/src/mame/drivers/matmania.c
+++ b/src/mame/drivers/matmania.c
@@ -323,7 +323,7 @@ static MACHINE_CONFIG_START( matmania, matmania_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(matmania_state, screen_update_matmania)
- MCFG_GFXDECODE(matmania)
+ MCFG_GFXDECODE_ADD("gfxdecode", matmania)
MCFG_PALETTE_LENGTH(64+16)
@@ -404,7 +404,7 @@ static MACHINE_CONFIG_START( maniach, matmania_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(matmania_state, screen_update_maniach)
- MCFG_GFXDECODE(maniach)
+ MCFG_GFXDECODE_ADD("gfxdecode", maniach)
MCFG_PALETTE_LENGTH(64+16)
diff --git a/src/mame/drivers/mayumi.c b/src/mame/drivers/mayumi.c
index 899635be249..03eb4f130da 100644
--- a/src/mame/drivers/mayumi.c
+++ b/src/mame/drivers/mayumi.c
@@ -62,7 +62,7 @@ TILE_GET_INFO_MEMBER(mayumi_state::get_tile_info)
int code = m_videoram[tile_index] + (m_videoram[tile_index + 0x800] & 0x1f) * 0x100;
int col = (m_videoram[tile_index + 0x1000] >> 3) & 0x1f;
- SET_TILE_INFO_MEMBER(0, code, col, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, col, 0);
}
void mayumi_state::video_start()
@@ -408,7 +408,7 @@ static MACHINE_CONFIG_START( mayumi, mayumi_state )
MCFG_SCREEN_VISIBLE_AREA(2*8, 62*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mayumi_state, screen_update_mayumi)
- MCFG_GFXDECODE(mayumi)
+ MCFG_GFXDECODE_ADD("gfxdecode", mayumi)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/mcatadv.c b/src/mame/drivers/mcatadv.c
index 91e20884536..4c1e0577c65 100644
--- a/src/mame/drivers/mcatadv.c
+++ b/src/mame/drivers/mcatadv.c
@@ -451,7 +451,7 @@ static MACHINE_CONFIG_START( mcatadv, mcatadv_state )
MCFG_SCREEN_UPDATE_DRIVER(mcatadv_state, screen_update_mcatadv)
MCFG_SCREEN_VBLANK_DRIVER(mcatadv_state, screen_eof_mcatadv)
- MCFG_GFXDECODE(mcatadv)
+ MCFG_GFXDECODE_ADD("gfxdecode", mcatadv)
MCFG_PALETTE_LENGTH(0x2000/2)
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c
index 6a7ef1e50f8..3df99672558 100644
--- a/src/mame/drivers/mcr.c
+++ b/src/mame/drivers/mcr.c
@@ -1851,7 +1851,7 @@ static MACHINE_CONFIG_START( mcr_90009, mcr_state )
MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 0*16, 30*16-1)
MCFG_SCREEN_UPDATE_DRIVER(mcr_state, screen_update_mcr)
- MCFG_GFXDECODE(mcr)
+ MCFG_GFXDECODE_ADD("gfxdecode", mcr)
MCFG_PALETTE_LENGTH(32)
MCFG_VIDEO_START_OVERRIDE(mcr_state,mcr)
diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c
index 1103f833728..92470ae4b79 100644
--- a/src/mame/drivers/mcr3.c
+++ b/src/mame/drivers/mcr3.c
@@ -1325,7 +1325,7 @@ static MACHINE_CONFIG_START( mcrmono, mcr3_state )
MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 0*16, 30*16-1)
MCFG_SCREEN_UPDATE_DRIVER(mcr3_state, screen_update_mcr3)
- MCFG_GFXDECODE(mcr3)
+ MCFG_GFXDECODE_ADD("gfxdecode", mcr3)
MCFG_PALETTE_LENGTH(64)
MCFG_VIDEO_START_OVERRIDE(mcr3_state,mcrmono)
@@ -1375,7 +1375,7 @@ static MACHINE_CONFIG_DERIVED( mcrscroll, mcrmono )
MCFG_SCREEN_SIZE(30*16, 30*16)
MCFG_SCREEN_VISIBLE_AREA(0, 30*16-1, 0, 30*16-1)
MCFG_SCREEN_UPDATE_DRIVER(mcr3_state, screen_update_spyhunt)
- MCFG_GFXDECODE(spyhunt)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", spyhunt)
MCFG_PALETTE_LENGTH(64+4)
MCFG_PALETTE_INIT_OVERRIDE(mcr3_state,spyhunt)
@@ -1442,13 +1442,13 @@ static MACHINE_CONFIG_START( spyhuntpr, mcr3_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(30*16, 30*8)
MCFG_SCREEN_VISIBLE_AREA(0, 30*16-1, 0, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(mcr3_state, screen_update_spyhuntpr)
- MCFG_GFXDECODE(spyhuntpr)
+ MCFG_GFXDECODE_ADD("gfxdecode", spyhuntpr)
MCFG_PALETTE_LENGTH(64+4)
MCFG_PALETTE_INIT_OVERRIDE(mcr3_state,spyhunt)
MCFG_VIDEO_START_OVERRIDE(mcr3_state,spyhuntpr)
- MCFG_SCREEN_UPDATE_DRIVER(mcr3_state, screen_update_spyhuntpr)
MCFG_CPU_ADD("audiocpu", Z80, 3000000 )
diff --git a/src/mame/drivers/mcr68.c b/src/mame/drivers/mcr68.c
index c12e23383ab..5495a0325f7 100644
--- a/src/mame/drivers/mcr68.c
+++ b/src/mame/drivers/mcr68.c
@@ -1051,7 +1051,7 @@ static MACHINE_CONFIG_START( zwackery, mcr68_state )
MCFG_SCREEN_VISIBLE_AREA(0, 32*16-1, 0, 30*16-1)
MCFG_SCREEN_UPDATE_DRIVER(mcr68_state, screen_update_zwackery)
- MCFG_GFXDECODE(zwackery)
+ MCFG_GFXDECODE_ADD("gfxdecode", zwackery)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(mcr68_state,zwackery)
@@ -1082,7 +1082,7 @@ static MACHINE_CONFIG_START( mcr68, mcr68_state )
MCFG_SCREEN_VISIBLE_AREA(0, 32*16-1, 0, 30*16-1)
MCFG_SCREEN_UPDATE_DRIVER(mcr68_state, screen_update_mcr68)
- MCFG_GFXDECODE(mcr68)
+ MCFG_GFXDECODE_ADD("gfxdecode", mcr68)
MCFG_PALETTE_LENGTH(64)
MCFG_VIDEO_START_OVERRIDE(mcr68_state,mcr68)
diff --git a/src/mame/drivers/meadows.c b/src/mame/drivers/meadows.c
index 6d29ebd6c83..bdf6cb2a03f 100644
--- a/src/mame/drivers/meadows.c
+++ b/src/mame/drivers/meadows.c
@@ -654,7 +654,7 @@ static MACHINE_CONFIG_START( meadows, meadows_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(meadows_state, screen_update_meadows)
- MCFG_GFXDECODE(meadows)
+ MCFG_GFXDECODE_ADD("gfxdecode", meadows)
MCFG_PALETTE_LENGTH(2)
/* audio hardware */
@@ -683,7 +683,7 @@ static MACHINE_CONFIG_START( minferno, meadows_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 24*8-1)
MCFG_SCREEN_UPDATE_DRIVER(meadows_state, screen_update_meadows)
- MCFG_GFXDECODE(minferno)
+ MCFG_GFXDECODE_ADD("gfxdecode", minferno)
MCFG_PALETTE_LENGTH(2)
/* audio hardware */
@@ -711,7 +711,7 @@ static MACHINE_CONFIG_START( bowl3d, meadows_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(meadows_state, screen_update_meadows)
- MCFG_GFXDECODE(meadows)
+ MCFG_GFXDECODE_ADD("gfxdecode", meadows)
MCFG_PALETTE_LENGTH(2)
/* audio hardware */
diff --git a/src/mame/drivers/mediagx.c b/src/mame/drivers/mediagx.c
index ef01c5848fc..38e28ce6856 100644
--- a/src/mame/drivers/mediagx.c
+++ b/src/mame/drivers/mediagx.c
@@ -348,7 +348,7 @@ void mediagx_state::draw_framebuffer(bitmap_rgb32 &bitmap, const rectangle &clip
void mediagx_state::draw_cga(bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int i, j;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT32 *cga = m_cga_ram;
int index = 0;
@@ -895,7 +895,7 @@ static MACHINE_CONFIG_START( mediagx, mediagx_state )
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(mediagx_state, screen_update_mediagx)
- MCFG_GFXDECODE(CGA)
+ MCFG_GFXDECODE_ADD("gfxdecode", CGA)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c
index 05d242f3ad4..f939480be0d 100644
--- a/src/mame/drivers/megasys1.c
+++ b/src/mame/drivers/megasys1.c
@@ -1476,7 +1476,7 @@ static MACHINE_CONFIG_START( system_A, megasys1_state )
MCFG_SCREEN_UPDATE_DRIVER(megasys1_state, screen_update_megasys1)
MCFG_SCREEN_VBLANK_DRIVER(megasys1_state, screen_eof_megasys1)
- MCFG_GFXDECODE(ABC)
+ MCFG_GFXDECODE_ADD("gfxdecode", ABC)
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT_OVERRIDE(megasys1_state,megasys1)
@@ -1536,7 +1536,7 @@ static MACHINE_CONFIG_START( system_Bbl, megasys1_state )
MCFG_SCREEN_UPDATE_DRIVER(megasys1_state, screen_update_megasys1)
MCFG_SCREEN_VBLANK_DRIVER(megasys1_state, screen_eof_megasys1)
- MCFG_GFXDECODE(ABC)
+ MCFG_GFXDECODE_ADD("gfxdecode", ABC)
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT_OVERRIDE(megasys1_state,megasys1)
@@ -1608,7 +1608,7 @@ static MACHINE_CONFIG_START( system_D, megasys1_state )
MCFG_SCREEN_UPDATE_DRIVER(megasys1_state, screen_update_megasys1)
MCFG_SCREEN_VBLANK_DRIVER(megasys1_state, screen_eof_megasys1)
- MCFG_GFXDECODE(ABC)
+ MCFG_GFXDECODE_ADD("gfxdecode", ABC)
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT_OVERRIDE(megasys1_state,megasys1)
@@ -1667,7 +1667,7 @@ static MACHINE_CONFIG_START( system_Z, megasys1_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(megasys1_state, screen_update_megasys1)
- MCFG_GFXDECODE(Z)
+ MCFG_GFXDECODE_ADD("gfxdecode", Z)
MCFG_PALETTE_LENGTH(768)
MCFG_VIDEO_START_OVERRIDE(megasys1_state,megasys1)
diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c
index 2a86d6479e7..7ee45690c0d 100644
--- a/src/mame/drivers/megazone.c
+++ b/src/mame/drivers/megazone.c
@@ -269,7 +269,7 @@ static MACHINE_CONFIG_START( megazone, megazone_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(megazone_state, screen_update_megazone)
- MCFG_GFXDECODE(megazone)
+ MCFG_GFXDECODE_ADD("gfxdecode", megazone)
MCFG_PALETTE_LENGTH(16*16+16*16)
diff --git a/src/mame/drivers/mermaid.c b/src/mame/drivers/mermaid.c
index b52c8d6edaf..e1f5fbe5bd4 100644
--- a/src/mame/drivers/mermaid.c
+++ b/src/mame/drivers/mermaid.c
@@ -449,7 +449,7 @@ static MACHINE_CONFIG_START( mermaid, mermaid_state )
MCFG_SCREEN_UPDATE_DRIVER(mermaid_state, screen_update_mermaid)
MCFG_SCREEN_VBLANK_DRIVER(mermaid_state, screen_eof_mermaid)
- MCFG_GFXDECODE(mermaid)
+ MCFG_GFXDECODE_ADD("gfxdecode", mermaid)
MCFG_PALETTE_LENGTH(4*16+2*2)
diff --git a/src/mame/drivers/metlclsh.c b/src/mame/drivers/metlclsh.c
index 74087c00f75..175da2a41a1 100644
--- a/src/mame/drivers/metlclsh.c
+++ b/src/mame/drivers/metlclsh.c
@@ -288,7 +288,7 @@ static MACHINE_CONFIG_START( metlclsh, metlclsh_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(metlclsh_state, screen_update_metlclsh)
- MCFG_GFXDECODE(metlclsh)
+ MCFG_GFXDECODE_ADD("gfxdecode", metlclsh)
MCFG_PALETTE_LENGTH(3 * 16)
diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c
index 1d2b0825e16..dd07e80c2cc 100644
--- a/src/mame/drivers/metro.c
+++ b/src/mame/drivers/metro.c
@@ -3584,7 +3584,7 @@ static MACHINE_CONFIG_START( balcube, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220_dx_tmap)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3617,7 +3617,7 @@ static MACHINE_CONFIG_START( daitoa, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220_dx_tmap)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3650,7 +3650,7 @@ static MACHINE_CONFIG_START( msgogo, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220_dx_tmap)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3683,7 +3683,7 @@ static MACHINE_CONFIG_START( bangball, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220_dx_tmap)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3716,7 +3716,7 @@ static MACHINE_CONFIG_START( batlbubl, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220_dx_tmap)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3753,7 +3753,7 @@ static MACHINE_CONFIG_START( daitorid, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220_dx_tmap)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3795,7 +3795,7 @@ static MACHINE_CONFIG_START( dharma, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3836,7 +3836,7 @@ static MACHINE_CONFIG_START( karatour, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4100)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4100)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3877,7 +3877,7 @@ static MACHINE_CONFIG_START( 3kokushi, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3918,7 +3918,7 @@ static MACHINE_CONFIG_START( lastfort, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 360-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4100)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4100)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3958,7 +3958,7 @@ static MACHINE_CONFIG_START( lastforg, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 360-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4100)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4100)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
MCFG_PALETTE_LENGTH(0x1000)
@@ -3992,7 +3992,7 @@ static MACHINE_CONFIG_START( dokyusei, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4300)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4300)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4027,7 +4027,7 @@ static MACHINE_CONFIG_START( dokyusp, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4300)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4300)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4063,7 +4063,7 @@ static MACHINE_CONFIG_START( gakusai, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4300)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4300)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4099,7 +4099,7 @@ static MACHINE_CONFIG_START( gakusai2, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4300)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4300)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4140,7 +4140,7 @@ static MACHINE_CONFIG_START( pangpoms, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 360-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4100)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4100)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4181,7 +4181,7 @@ static MACHINE_CONFIG_START( poitto, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 360-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4100)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4100)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4222,7 +4222,7 @@ static MACHINE_CONFIG_START( pururun, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4264,7 +4264,7 @@ static MACHINE_CONFIG_START( skyalert, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 360-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4100)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4100)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4100)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4305,7 +4305,7 @@ static MACHINE_CONFIG_START( toride2g, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4340,7 +4340,7 @@ static MACHINE_CONFIG_START( mouja, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4300)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4300)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4375,7 +4375,7 @@ static MACHINE_CONFIG_START( vmetal, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4220)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4220)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4220_dx_sprite)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4422,7 +4422,7 @@ static MACHINE_CONFIG_START( blzntrnd, metro_state )
MCFG_SCREEN_VISIBLE_AREA(8, 320-8-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(blzntrnd)
+ MCFG_GFXDECODE_ADD("gfxdecode", blzntrnd)
MCFG_VIDEO_START_OVERRIDE(metro_state,blzntrnd)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4469,7 +4469,7 @@ static MACHINE_CONFIG_START( gstrik2, metro_state )
MCFG_SCREEN_VISIBLE_AREA(8, 320-8-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(gstrik2)
+ MCFG_GFXDECODE_ADD("gfxdecode", gstrik2)
MCFG_VIDEO_START_OVERRIDE(metro_state,gstrik2)
MCFG_PALETTE_LENGTH(0x1000)
@@ -4506,7 +4506,7 @@ static MACHINE_CONFIG_START( puzzlet, metro_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(metro_state, screen_update_metro)
- MCFG_GFXDECODE(i4300)
+ MCFG_GFXDECODE_ADD("gfxdecode", i4300)
MCFG_VIDEO_START_OVERRIDE(metro_state,metro_i4300)
MCFG_PALETTE_LENGTH(0x1000)
diff --git a/src/mame/drivers/mexico86.c b/src/mame/drivers/mexico86.c
index cfcf1e5806a..83741699a11 100644
--- a/src/mame/drivers/mexico86.c
+++ b/src/mame/drivers/mexico86.c
@@ -488,7 +488,7 @@ static MACHINE_CONFIG_START( mexico86, mexico86_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mexico86_state, screen_update_mexico86)
- MCFG_GFXDECODE(mexico86)
+ MCFG_GFXDECODE_ADD("gfxdecode", mexico86)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/mgolf.c b/src/mame/drivers/mgolf.c
index 4bee41714a6..005bb7660b3 100644
--- a/src/mame/drivers/mgolf.c
+++ b/src/mame/drivers/mgolf.c
@@ -58,7 +58,7 @@ TILE_GET_INFO_MEMBER(mgolf_state::get_tile_info)
{
UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, code >> 7, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, code >> 7, 0);
}
@@ -85,14 +85,14 @@ UINT32 mgolf_state::screen_update_mgolf(screen_device &screen, bitmap_ind16 &bit
/* draw sprites */
for (i = 0; i < 2; i++)
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_video_ram[0x399 + 4 * i],
i,
0, 0,
m_video_ram[0x390 + 2 * i] - 7,
m_video_ram[0x398 + 4 * i] - 16, 0);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_video_ram[0x39b + 4 * i],
i,
0, 0,
@@ -356,7 +356,7 @@ static MACHINE_CONFIG_START( mgolf, mgolf_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 223)
MCFG_SCREEN_UPDATE_DRIVER(mgolf_state, screen_update_mgolf)
- MCFG_GFXDECODE(mgolf)
+ MCFG_GFXDECODE_ADD("gfxdecode", mgolf)
MCFG_PALETTE_LENGTH(4)
diff --git a/src/mame/drivers/midas.c b/src/mame/drivers/midas.c
index d3f1b9e9166..67b716790a0 100644
--- a/src/mame/drivers/midas.c
+++ b/src/mame/drivers/midas.c
@@ -95,7 +95,7 @@ public:
TILE_GET_INFO_MEMBER(midas_state::get_tile_info)
{
UINT16 code = m_gfxram[ tile_index + 0x7000 ];
- SET_TILE_INFO_MEMBER(1, code & 0xfff, (code >> 12) & 0xf, TILE_FLIPXY( 0 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code & 0xfff, (code >> 12) & 0xf, TILE_FLIPXY( 0 ));
}
void midas_state::video_start()
@@ -180,7 +180,7 @@ void midas_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
UINT16 code = codes[y*2];
UINT16 attr = codes[y*2+1];
- machine().gfx[0]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect,
code,
attr >> 8,
attr & 1, attr & 2,
@@ -711,7 +711,7 @@ static MACHINE_CONFIG_START( livequiz, midas_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(midas_state, screen_update_midas)
- MCFG_GFXDECODE(midas)
+ MCFG_GFXDECODE_ADD("gfxdecode", midas)
MCFG_PALETTE_LENGTH(0x10000)
@@ -744,7 +744,7 @@ static MACHINE_CONFIG_START( hammer, midas_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(midas_state, screen_update_midas)
- MCFG_GFXDECODE(midas)
+ MCFG_GFXDECODE_ADD("gfxdecode", midas)
MCFG_PALETTE_LENGTH(0x10000)
diff --git a/src/mame/drivers/mikie.c b/src/mame/drivers/mikie.c
index 607e58c3e8c..b1edc3b45d4 100644
--- a/src/mame/drivers/mikie.c
+++ b/src/mame/drivers/mikie.c
@@ -265,7 +265,7 @@ static MACHINE_CONFIG_START( mikie, mikie_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mikie_state, screen_update_mikie)
- MCFG_GFXDECODE(mikie)
+ MCFG_GFXDECODE_ADD("gfxdecode", mikie)
MCFG_PALETTE_LENGTH(16*8*16+16*8*16)
diff --git a/src/mame/drivers/mil4000.c b/src/mame/drivers/mil4000.c
index a8620699431..8f405ce6cb7 100644
--- a/src/mame/drivers/mil4000.c
+++ b/src/mame/drivers/mil4000.c
@@ -152,7 +152,7 @@ TILE_GET_INFO_MEMBER(mil4000_state::get_sc0_tile_info)
int tile = data >> 14;
int color = (m_sc0_vram[tile_index*2+1] & 0x1f)+0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -165,7 +165,7 @@ TILE_GET_INFO_MEMBER(mil4000_state::get_sc1_tile_info)
int tile = data >> 14;
int color = (m_sc1_vram[tile_index*2+1] & 0x1f)+0x10;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -178,7 +178,7 @@ TILE_GET_INFO_MEMBER(mil4000_state::get_sc2_tile_info)
int tile = data >> 14;
int color = (m_sc2_vram[tile_index*2+1] & 0x1f)+0x20;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -191,7 +191,7 @@ TILE_GET_INFO_MEMBER(mil4000_state::get_sc3_tile_info)
int tile = data >> 14;
int color = (m_sc3_vram[tile_index*2+1] & 0x1f)+0x30;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -406,7 +406,7 @@ static MACHINE_CONFIG_START( mil4000, mil4000_state )
MCFG_PALETTE_LENGTH(0x800)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
- MCFG_GFXDECODE(mil4000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 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 2469c3305bd..e98f836b848 100644
--- a/src/mame/drivers/miniboy7.c
+++ b/src/mame/drivers/miniboy7.c
@@ -206,7 +206,7 @@ TILE_GET_INFO_MEMBER(miniboy7_state::get_bg_tile_info)
if (bank == 1) /* temporary hack to point to the 3rd gfx bank */
bank = 2;
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
void miniboy7_state::video_start()
@@ -446,7 +446,7 @@ static MACHINE_CONFIG_START( miniboy7, miniboy7_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 37*8-1, 0*8, 37*8-1) /* Taken from MC6845, registers 01 & 06 */
MCFG_SCREEN_UPDATE_DRIVER(miniboy7_state, screen_update_miniboy7)
- MCFG_GFXDECODE(miniboy7)
+ MCFG_GFXDECODE_ADD("gfxdecode", miniboy7)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/mirage.c b/src/mame/drivers/mirage.c
index 5379a4b8ac9..6a07b9089d8 100644
--- a/src/mame/drivers/mirage.c
+++ b/src/mame/drivers/mirage.c
@@ -333,12 +333,15 @@ static MACHINE_CONFIG_START( mirage, miragemi_state )
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(mirage)
+ MCFG_GFXDECODE_ADD("gfxdecode", mirage)
MCFG_PALETTE_LENGTH(1024)
MCFG_DECO16IC_ADD("tilegen1", mirage_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mirax.c b/src/mame/drivers/mirax.c
index 6492fc4bd46..5e77184d58a 100644
--- a/src/mame/drivers/mirax.c
+++ b/src/mame/drivers/mirax.c
@@ -174,7 +174,7 @@ void mirax_state::palette_init()
void mirax_state::draw_tilemap(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 draw_flag)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int y,x;
int res_x,res_y,wrapy;
@@ -224,7 +224,7 @@ void mirax_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
y = (m_flipscreen_y) ? spriteram[count] : 0x100 - spriteram[count] - 16;
x = (m_flipscreen_x) ? 240 - spriteram[count+3] : spriteram[count+3];
- machine().gfx[1]->transpen(bitmap,cliprect,spr_offs,color,fx,fy,x,y,0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,spr_offs,color,fx,fy,x,y,0);
}
}
@@ -475,7 +475,7 @@ static MACHINE_CONFIG_START( mirax, mirax_state )
MCFG_SCREEN_UPDATE_DRIVER(mirax_state, screen_update_mirax)
MCFG_PALETTE_LENGTH(0x40)
- MCFG_GFXDECODE(mirax)
+ MCFG_GFXDECODE_ADD("gfxdecode", mirax)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ay1", AY8910, 12000000/4)
diff --git a/src/mame/drivers/missb2.c b/src/mame/drivers/missb2.c
index 1138441c126..83a704e0c24 100644
--- a/src/mame/drivers/missb2.c
+++ b/src/mame/drivers/missb2.c
@@ -68,7 +68,7 @@ UINT32 missb2_state::screen_update_missb2(screen_device &screen, bitmap_ind16 &b
//popmessage("%02x",(*m_bgvram) & 0x1f);
for (bg_offs = ((*m_bgvram) << 4); bg_offs < (((*m_bgvram) << 4) | 0xf); bg_offs++)
{
- machine().gfx[1]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect,
bg_offs,
1,
0,0,
@@ -128,7 +128,7 @@ UINT32 missb2_state::screen_update_missb2(screen_device &screen, bitmap_ind16 &b
flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
0,
flipx,flipy,
@@ -475,7 +475,7 @@ static MACHINE_CONFIG_START( missb2, missb2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(missb2_state, screen_update_missb2)
- MCFG_GFXDECODE(missb2)
+ MCFG_GFXDECODE_ADD("gfxdecode", missb2)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
@@ -490,7 +490,7 @@ static MACHINE_CONFIG_START( missb2, missb2_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bublpong, missb2 )
- MCFG_GFXDECODE(bublpong)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", bublpong)
MACHINE_CONFIG_END
/* ROMs */
diff --git a/src/mame/drivers/mitchell.c b/src/mame/drivers/mitchell.c
index dca4d9472c3..7c6a0c9ede7 100644
--- a/src/mame/drivers/mitchell.c
+++ b/src/mame/drivers/mitchell.c
@@ -1090,7 +1090,7 @@ static MACHINE_CONFIG_START( mgakuen, mitchell_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(mitchell_state, screen_update_pang)
- MCFG_GFXDECODE(mgakuen)
+ MCFG_GFXDECODE_ADD("gfxdecode", mgakuen)
MCFG_PALETTE_LENGTH(1024) /* less colors than the others */
MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
@@ -1125,12 +1125,12 @@ static MACHINE_CONFIG_START( pang, mitchell_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
+ MCFG_SCREEN_UPDATE_DRIVER(mitchell_state, screen_update_pang)
- MCFG_GFXDECODE(mitchell)
+ MCFG_GFXDECODE_ADD("gfxdecode", mitchell)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
- MCFG_SCREEN_UPDATE_DRIVER(mitchell_state, screen_update_pang)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1198,7 +1198,7 @@ static MACHINE_CONFIG_DERIVED( spangbl, pangnv )
MCFG_CPU_VBLANK_INT_DRIVER("screen", mitchell_state, irq0_line_hold)
MCFG_CPU_VBLANK_INT_DRIVER("screen", mitchell_state, nmi_line_pulse)
- MCFG_GFXDECODE(spangbl)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", spangbl)
MCFG_DEVICE_REMOVE("oki")
MCFG_SOUND_ADD("msm", MSM5205, 384000)
@@ -1229,12 +1229,12 @@ static MACHINE_CONFIG_START( mstworld, mitchell_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
+ MCFG_SCREEN_UPDATE_DRIVER(mitchell_state, screen_update_pang)
- MCFG_GFXDECODE(mstworld)
+ MCFG_GFXDECODE_ADD("gfxdecode", mstworld)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
- MCFG_SCREEN_UPDATE_DRIVER(mitchell_state, screen_update_pang)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1260,12 +1260,12 @@ static MACHINE_CONFIG_START( marukin, mitchell_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
+ MCFG_SCREEN_UPDATE_DRIVER(mitchell_state, screen_update_pang)
- MCFG_GFXDECODE(marukin)
+ MCFG_GFXDECODE_ADD("gfxdecode", marukin)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
- MCFG_SCREEN_UPDATE_DRIVER(mitchell_state, screen_update_pang)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1311,12 +1311,12 @@ static MACHINE_CONFIG_START( pkladiesbl, mitchell_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
+ MCFG_SCREEN_UPDATE_DRIVER(mitchell_state, screen_update_pang)
- MCFG_GFXDECODE(pkladiesbl)
+ MCFG_GFXDECODE_ADD("gfxdecode", pkladiesbl)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
- MCFG_SCREEN_UPDATE_DRIVER(mitchell_state, screen_update_pang)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/mjkjidai.c b/src/mame/drivers/mjkjidai.c
index 2f58a45707c..ca9b7103472 100644
--- a/src/mame/drivers/mjkjidai.c
+++ b/src/mame/drivers/mjkjidai.c
@@ -395,7 +395,7 @@ static MACHINE_CONFIG_START( mjkjidai, mjkjidai_state )
MCFG_SCREEN_VISIBLE_AREA(3*8, 61*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mjkjidai_state, screen_update_mjkjidai)
- MCFG_GFXDECODE(mjkjidai)
+ MCFG_GFXDECODE_ADD("gfxdecode", mjkjidai)
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/model1.c b/src/mame/drivers/model1.c
index d6d32f9df14..63893957ac3 100644
--- a/src/mame/drivers/model1.c
+++ b/src/mame/drivers/model1.c
@@ -1520,7 +1520,10 @@ static MACHINE_CONFIG_START( model1, model1_state )
MCFG_MACHINE_RESET_OVERRIDE(model1_state,model1)
MCFG_NVRAM_ADD_0FILL("nvram")
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_S24TILE_DEVICE_ADD("tile", 0x3fff)
+ MCFG_S24TILE_DEVICE_GFXDECODE("gfxdecode")
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
@@ -1560,7 +1563,10 @@ static MACHINE_CONFIG_START( model1_vr, model1_state )
MCFG_MACHINE_RESET_OVERRIDE(model1_state,model1_vr)
MCFG_NVRAM_ADD_0FILL("nvram")
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_S24TILE_DEVICE_ADD("tile", 0x3fff)
+ MCFG_S24TILE_DEVICE_GFXDECODE("gfxdecode")
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c
index 469ac038604..76c50746047 100644
--- a/src/mame/drivers/model2.c
+++ b/src/mame/drivers/model2.c
@@ -1969,7 +1969,10 @@ static MACHINE_CONFIG_START( model2o, model2_state )
MCFG_TIMER_DRIVER_ADD("timer3", model2_state, model2_timer_cb)
MCFG_TIMER_PTR((FPTR)3)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_S24TILE_DEVICE_ADD("tile", 0x3fff)
+ MCFG_S24TILE_DEVICE_GFXDECODE("gfxdecode")
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
@@ -2019,7 +2022,9 @@ static MACHINE_CONFIG_START( model2a, model2_state )
MCFG_TIMER_DRIVER_ADD("timer3", model2_state, model2_timer_cb)
MCFG_TIMER_PTR((FPTR)3)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_S24TILE_DEVICE_ADD("tile", 0x3fff)
+ MCFG_S24TILE_DEVICE_GFXDECODE("gfxdecode")
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
@@ -2121,7 +2126,9 @@ static MACHINE_CONFIG_START( model2b, model2_state )
MCFG_TIMER_DRIVER_ADD("timer3", model2_state, model2_timer_cb)
MCFG_TIMER_PTR((FPTR)3)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_S24TILE_DEVICE_ADD("tile", 0x3fff)
+ MCFG_S24TILE_DEVICE_GFXDECODE("gfxdecode")
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
@@ -2168,7 +2175,9 @@ static MACHINE_CONFIG_START( model2c, model2_state )
MCFG_TIMER_DRIVER_ADD("timer3", model2_state, model2_timer_cb)
MCFG_TIMER_PTR((FPTR)3)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_S24TILE_DEVICE_ADD("tile", 0x3fff)
+ MCFG_S24TILE_DEVICE_GFXDECODE("gfxdecode")
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
diff --git a/src/mame/drivers/mogura.c b/src/mame/drivers/mogura.c
index 97c1e894155..e5690eca487 100644
--- a/src/mame/drivers/mogura.c
+++ b/src/mame/drivers/mogura.c
@@ -73,7 +73,7 @@ TILE_GET_INFO_MEMBER(mogura_state::get_mogura_tile_info)
int code = m_tileram[tile_index];
int attr = m_tileram[tile_index + 0x800];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
(attr >> 1) & 7,
@@ -83,7 +83,7 @@ TILE_GET_INFO_MEMBER(mogura_state::get_mogura_tile_info)
void mogura_state::video_start()
{
- machine().gfx[0]->set_source(m_gfxram);
+ m_gfxdecode->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);
}
@@ -122,7 +122,7 @@ WRITE8_MEMBER(mogura_state::mogura_gfxram_w)
{
m_gfxram[offset] = data ;
- machine().gfx[0]->mark_dirty(offset / 16);
+ m_gfxdecode->gfx(0)->mark_dirty(offset / 16);
}
@@ -210,7 +210,7 @@ static MACHINE_CONFIG_START( mogura, mogura_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(mogura_state, screen_update_mogura)
- MCFG_GFXDECODE(mogura)
+ MCFG_GFXDECODE_ADD("gfxdecode", mogura)
MCFG_PALETTE_LENGTH(32)
/* sound hardware */
diff --git a/src/mame/drivers/mole.c b/src/mame/drivers/mole.c
index daf3900f49f..adaefefb077 100644
--- a/src/mame/drivers/mole.c
+++ b/src/mame/drivers/mole.c
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(mole_state::get_bg_tile_info)
{
UINT16 code = m_tileram[tile_index];
- SET_TILE_INFO_MEMBER((code & 0x200) ? 1 : 0, code & 0x1ff, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, (code & 0x200) ? 1 : 0, code & 0x1ff, 0, 0);
}
void mole_state::video_start()
@@ -328,7 +328,7 @@ static MACHINE_CONFIG_START( mole, mole_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 25*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mole_state, screen_update_mole)
- MCFG_GFXDECODE(mole)
+ MCFG_GFXDECODE_ADD("gfxdecode", mole)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/drivers/momoko.c b/src/mame/drivers/momoko.c
index ba7248d1c77..b4bcbc5ac6a 100644
--- a/src/mame/drivers/momoko.c
+++ b/src/mame/drivers/momoko.c
@@ -273,7 +273,7 @@ static MACHINE_CONFIG_START( momoko, momoko_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 29*8-1)
MCFG_SCREEN_UPDATE_DRIVER(momoko_state, screen_update_momoko)
- MCFG_GFXDECODE(momoko)
+ MCFG_GFXDECODE_ADD("gfxdecode", momoko)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
diff --git a/src/mame/drivers/monzagp.c b/src/mame/drivers/monzagp.c
index 34296c3b5cc..88826f6a5c6 100644
--- a/src/mame/drivers/monzagp.c
+++ b/src/mame/drivers/monzagp.c
@@ -102,7 +102,7 @@ UINT32 monzagp_state::screen_update_monzagp(screen_device &screen, bitmap_ind16
{
for(x=0;x<256;x++)
{
- machine().gfx[m_bank&1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_bank&1)->transpen(bitmap,cliprect,
m_vram[y*m_screenw+x],
//(m_vram[y*m_screenw+x]&0x3f)+(m_bank>>1)*64,
0,
@@ -269,7 +269,7 @@ static MACHINE_CONFIG_START( monzagp, monzagp_state )
MCFG_PALETTE_LENGTH(0x200)
- MCFG_GFXDECODE(monzagp)
+ MCFG_GFXDECODE_ADD("gfxdecode", monzagp)
MACHINE_CONFIG_END
ROM_START( monzagp )
diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c
index 28f83153034..3ab7240c22a 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -589,8 +589,11 @@ static MACHINE_CONFIG_START( moo, moo_state )
MCFG_VIDEO_START_OVERRIDE(moo_state,moo)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K053246_ADD("k053246", moo_k053247_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K056832_ADD("k056832", moo_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
MCFG_K054338_ADD("k054338", moo_k054338_intf)
@@ -632,8 +635,11 @@ static MACHINE_CONFIG_START( moobl, moo_state )
MCFG_VIDEO_START_OVERRIDE(moo_state,moo)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K053246_ADD("k053246", moo_k053247_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K056832_ADD("k056832", moo_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
MCFG_K054338_ADD("k054338", moo_k054338_intf)
@@ -654,7 +660,7 @@ static MACHINE_CONFIG_DERIVED( bucky, moo )
MCFG_DEVICE_REMOVE("k053246")
MCFG_K053246_ADD("k053246", bucky_k053247_intf) // diff x offset
-
+ MCFG_K053246_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_PALETTE_LENGTH(4096)
diff --git a/src/mame/drivers/mosaic.c b/src/mame/drivers/mosaic.c
index 1fb3bfa4da9..e45ff841e97 100644
--- a/src/mame/drivers/mosaic.c
+++ b/src/mame/drivers/mosaic.c
@@ -271,7 +271,7 @@ static MACHINE_CONFIG_START( mosaic, mosaic_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mosaic_state, screen_update_mosaic)
- MCFG_GFXDECODE(mosaic)
+ MCFG_GFXDECODE_ADD("gfxdecode", mosaic)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/mouser.c b/src/mame/drivers/mouser.c
index 70f81a3dd7c..7afe6cf7a28 100644
--- a/src/mame/drivers/mouser.c
+++ b/src/mame/drivers/mouser.c
@@ -213,7 +213,7 @@ static MACHINE_CONFIG_START( mouser, mouser_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mouser_state, screen_update_mouser)
- MCFG_GFXDECODE(mouser)
+ MCFG_GFXDECODE_ADD("gfxdecode", mouser)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/mpoker.c b/src/mame/drivers/mpoker.c
index 3c5919f4a3f..9257a3cf6fb 100644
--- a/src/mame/drivers/mpoker.c
+++ b/src/mame/drivers/mpoker.c
@@ -213,7 +213,7 @@ UINT32 mpoker_state::screen_update_mpoker(screen_device &screen, bitmap_ind16 &b
{
int y,x;
int count;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
count = 0;
for (y=0;y<32;y++)
@@ -601,7 +601,7 @@ static MACHINE_CONFIG_START( mpoker, mpoker_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(mpoker_state, screen_update_mpoker)
- MCFG_GFXDECODE(mpoker)
+ MCFG_GFXDECODE_ADD("gfxdecode", mpoker)
MCFG_PALETTE_LENGTH(0x200)
diff --git a/src/mame/drivers/mpu12wbk.c b/src/mame/drivers/mpu12wbk.c
index 0306d7f99da..3809bf7285e 100644
--- a/src/mame/drivers/mpu12wbk.c
+++ b/src/mame/drivers/mpu12wbk.c
@@ -266,8 +266,8 @@ TILE_GET_INFO_MEMBER(mpu12wbk_state::get_bg_tile_info)
// int code = m_videoram[tile_index] | ((attr & 0xc0) << 2);
// int color = (attr & 0x0f);
-// SET_TILE_INFO_MEMBER( 0, code, color, 0);
- SET_TILE_INFO_MEMBER( 0, 0 ,0 ,0);
+// SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, 0 ,0 ,0);
}
@@ -530,7 +530,7 @@ static MACHINE_CONFIG_START( mpu12wbk, mpu12wbk_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) /* Driven by MC6845, registers 01 & 06 */
MCFG_SCREEN_UPDATE_DRIVER(mpu12wbk_state, screen_update_mpu12wbk)
- MCFG_GFXDECODE(mpu12wbk)
+ MCFG_GFXDECODE_ADD("gfxdecode", mpu12wbk)
MCFG_PALETTE_LENGTH(512)
MCFG_MC6845_ADD("crtc", MC6845, "screen", MASTER_CLOCK/4, mc6845_intf) /* guess */
diff --git a/src/mame/drivers/mpu4dealem.c b/src/mame/drivers/mpu4dealem.c
index efd0d948be3..85a3d6da06e 100644
--- a/src/mame/drivers/mpu4dealem.c
+++ b/src/mame/drivers/mpu4dealem.c
@@ -124,7 +124,7 @@ UINT32 mpu4dealem_state::screen_update_dealem(screen_device &screen, bitmap_ind1
{
int tile = m_dealem_videoram[count + 0x1000] | (m_dealem_videoram[count] << 8);
count++;
- machine().gfx[0]->opaque(bitmap,cliprect,tile,0,0,0,x * 8,y * 8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,tile,0,0,0,x * 8,y * 8);
}
}
@@ -228,7 +228,7 @@ static MACHINE_CONFIG_START( dealem, mpu4dealem_state )
MCFG_SCREEN_REFRESH_RATE(56) /* Measured accurately from the flip-flop, but 6845 handles this */
MCFG_SCREEN_UPDATE_DRIVER(mpu4dealem_state, screen_update_dealem)
- MCFG_GFXDECODE(dealem)
+ MCFG_GFXDECODE_ADD("gfxdecode", dealem)
MCFG_PALETTE_LENGTH(32)
MCFG_PALETTE_INIT_OVERRIDE(mpu4dealem_state,dealem)
diff --git a/src/mame/drivers/mpu4vid.c b/src/mame/drivers/mpu4vid.c
index 8b525420e98..89dd0d7717e 100644
--- a/src/mame/drivers/mpu4vid.c
+++ b/src/mame/drivers/mpu4vid.c
@@ -477,10 +477,10 @@ WRITE16_MEMBER(mpu4vid_state::mpu4_vid_vidram_w )
{
COMBINE_DATA(&m_vid_vidram[offset]);
offset <<= 1;
- space.machine().gfx[m_gfx_index+0]->mark_dirty(offset/0x20);
- space.machine().gfx[m_gfx_index+1]->mark_dirty(offset/0x20);
- space.machine().gfx[m_gfx_index+2]->mark_dirty(offset/0x20);
- space.machine().gfx[m_gfx_index+3]->mark_dirty(offset/0x20);
+ m_gfxdecode->gfx(m_gfx_index+0)->mark_dirty(offset/0x20);
+ m_gfxdecode->gfx(m_gfx_index+1)->mark_dirty(offset/0x20);
+ m_gfxdecode->gfx(m_gfx_index+2)->mark_dirty(offset/0x20);
+ m_gfxdecode->gfx(m_gfx_index+3)->mark_dirty(offset/0x20);
}
@@ -495,16 +495,16 @@ VIDEO_START_MEMBER(mpu4vid_state,mpu4_vid)
/* find first empty slot to decode gfx */
for (m_gfx_index = 0; m_gfx_index < MAX_GFX_ELEMENTS; m_gfx_index++)
- if (machine().gfx[m_gfx_index] == 0)
+ if (m_gfxdecode->gfx(m_gfx_index) == 0)
break;
assert(m_gfx_index != MAX_GFX_ELEMENTS);
/* create the char set (gfx will then be updated dynamically from RAM) */
- 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));
+ m_gfxdecode->set_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)));
+ m_gfxdecode->set_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)));
+ m_gfxdecode->set_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)));
+ m_gfxdecode->set_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)));
m_scn2674->init_stuff();
@@ -1441,7 +1441,10 @@ static MACHINE_CONFIG_START( mpu4_vid, mpu4vid_state )
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_UPDATE_DRIVER(mpu4vid_state, screen_update_mpu4_vid)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_SCN2674_VIDEO_ADD("scn2674_vid", 0, WRITELINE(mpu4vid_state, update_mpu68_interrupts));
+ MCFG_SCN2674_GFXDECODE("gfxdecode")
MCFG_CPU_ADD("video", M68000, VIDEO_MASTER_CLOCK )
MCFG_CPU_PROGRAM_MAP(mpu4_68k_map)
diff --git a/src/mame/drivers/mrdo.c b/src/mame/drivers/mrdo.c
index 4275e5ddcd5..c126cc7095b 100644
--- a/src/mame/drivers/mrdo.c
+++ b/src/mame/drivers/mrdo.c
@@ -176,7 +176,7 @@ static MACHINE_CONFIG_START( mrdo, mrdo_state )
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/4, 312, 8, 248, 262, 32, 224)
MCFG_SCREEN_UPDATE_DRIVER(mrdo_state, screen_update_mrdo)
- MCFG_GFXDECODE(mrdo)
+ MCFG_GFXDECODE_ADD("gfxdecode", mrdo)
MCFG_PALETTE_LENGTH(64*4+16*4)
diff --git a/src/mame/drivers/mrflea.c b/src/mame/drivers/mrflea.c
index 215056d548b..74aaf85a3fc 100644
--- a/src/mame/drivers/mrflea.c
+++ b/src/mame/drivers/mrflea.c
@@ -367,7 +367,7 @@ static MACHINE_CONFIG_START( mrflea, mrflea_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mrflea_state, screen_update_mrflea)
- MCFG_GFXDECODE(mrflea)
+ MCFG_GFXDECODE_ADD("gfxdecode", mrflea)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/mrjong.c b/src/mame/drivers/mrjong.c
index e9857082d36..07657055b5e 100644
--- a/src/mame/drivers/mrjong.c
+++ b/src/mame/drivers/mrjong.c
@@ -194,7 +194,7 @@ static MACHINE_CONFIG_START( mrjong, mrjong_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 30*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mrjong_state, screen_update_mrjong)
- MCFG_GFXDECODE(mrjong)
+ MCFG_GFXDECODE_ADD("gfxdecode", mrjong)
MCFG_PALETTE_LENGTH(4*32)
diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c
index 77c8d9dc0d0..b04bd5f932e 100644
--- a/src/mame/drivers/ms32.c
+++ b/src/mame/drivers/ms32.c
@@ -1405,7 +1405,7 @@ static MACHINE_CONFIG_START( ms32, ms32_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ms32_state, screen_update_ms32)
- MCFG_GFXDECODE(ms32)
+ MCFG_GFXDECODE_ADD("gfxdecode", ms32)
MCFG_PALETTE_LENGTH(0x10000)
@@ -1422,7 +1422,7 @@ static MACHINE_CONFIG_DERIVED( f1superb, ms32 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(f1superb_map)
- MCFG_GFXDECODE(f1superb)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 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 99cde00f975..ba5ab63c9ba 100644
--- a/src/mame/drivers/msisaac.c
+++ b/src/mame/drivers/msisaac.c
@@ -489,7 +489,7 @@ static MACHINE_CONFIG_START( msisaac, msisaac_state )
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(msisaac_state, screen_update_msisaac)
- MCFG_GFXDECODE(msisaac)
+ MCFG_GFXDECODE_ADD("gfxdecode", msisaac)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/mugsmash.c b/src/mame/drivers/mugsmash.c
index 0c437cb2233..261ec9bf8f8 100644
--- a/src/mame/drivers/mugsmash.c
+++ b/src/mame/drivers/mugsmash.c
@@ -407,7 +407,7 @@ static MACHINE_CONFIG_START( mugsmash, mugsmash_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mugsmash_state, screen_update_mugsmash)
- MCFG_GFXDECODE(mugsmash)
+ MCFG_GFXDECODE_ADD("gfxdecode", mugsmash)
MCFG_PALETTE_LENGTH(0x300)
diff --git a/src/mame/drivers/multfish.c b/src/mame/drivers/multfish.c
index cf69b1d6736..b66cec048ac 100644
--- a/src/mame/drivers/multfish.c
+++ b/src/mame/drivers/multfish.c
@@ -263,7 +263,7 @@ TILE_GET_INFO_MEMBER(multfish_state::get_multfish_tile_info)
tileinfo.category = (attr&0x100)>>8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code&0x1fff,
attr&0x7,
@@ -274,7 +274,7 @@ TILE_GET_INFO_MEMBER(multfish_state::get_multfish_reel_tile_info)
{
int code = m_vid[tile_index*2+0x2000] | (m_vid[tile_index*2+0x2001] << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code&0x1fff)+0x2000,
(code>>14)+0x8,
@@ -1139,7 +1139,7 @@ static MACHINE_CONFIG_START( multfish, multfish_state )
MCFG_SCREEN_SIZE(64*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(17*16, 1024-16*7-1, 1*16, 32*16-1*16-1)
MCFG_SCREEN_UPDATE_DRIVER(multfish_state, screen_update_multfish)
- MCFG_GFXDECODE(multfish)
+ MCFG_GFXDECODE_ADD("gfxdecode", multfish)
MCFG_PALETTE_LENGTH(0x1000)
diff --git a/src/mame/drivers/multigam.c b/src/mame/drivers/multigam.c
index b7821495209..3c9e56407b9 100644
--- a/src/mame/drivers/multigam.c
+++ b/src/mame/drivers/multigam.c
@@ -1258,7 +1258,7 @@ static MACHINE_CONFIG_START( multigam, multigam_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(multigam_state, screen_update_multigam)
- MCFG_GFXDECODE(multigam)
+ MCFG_GFXDECODE_ADD("gfxdecode", multigam)
MCFG_PALETTE_LENGTH(8*4*16)
diff --git a/src/mame/drivers/munchmo.c b/src/mame/drivers/munchmo.c
index 953a726dec3..46adbef3afa 100644
--- a/src/mame/drivers/munchmo.c
+++ b/src/mame/drivers/munchmo.c
@@ -335,7 +335,7 @@ static MACHINE_CONFIG_START( mnchmobl, munchmo_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255+32+32,0, 255-16)
MCFG_SCREEN_UPDATE_DRIVER(munchmo_state, screen_update_mnchmobl)
- MCFG_GFXDECODE(mnchmobl)
+ MCFG_GFXDECODE_ADD("gfxdecode", mnchmobl)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/murogem.c b/src/mame/drivers/murogem.c
index b1026accecb..fc51d826081 100644
--- a/src/mame/drivers/murogem.c
+++ b/src/mame/drivers/murogem.c
@@ -221,7 +221,7 @@ UINT32 murogem_state::screen_update_murogem(screen_device &screen, bitmap_ind16
int tileno = m_videoram[count]&0x3f;
int attr = m_videoram[count+0x400]&0x0f;
- machine().gfx[0]->transpen(bitmap,cliprect,tileno,attr,0,0,xx*8,yy*8,0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,tileno,attr,0,0,xx*8,yy*8,0);
count++;
@@ -262,7 +262,7 @@ static MACHINE_CONFIG_START( murogem, murogem_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(murogem_state, screen_update_murogem)
- MCFG_GFXDECODE(murogem)
+ MCFG_GFXDECODE_ADD("gfxdecode", murogem)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/murogmbl.c b/src/mame/drivers/murogmbl.c
index eb3d45a2d4f..4641bcf0a2e 100644
--- a/src/mame/drivers/murogmbl.c
+++ b/src/mame/drivers/murogmbl.c
@@ -100,7 +100,7 @@ void murogmbl_state::video_start()
UINT32 murogmbl_state::screen_update_murogmbl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0;
int y, x;
@@ -188,7 +188,7 @@ static MACHINE_CONFIG_START( murogmbl, murogmbl_state )
MCFG_CPU_ADD("maincpu", Z80, 1000000) /* Z80? */
MCFG_CPU_PROGRAM_MAP(murogmbl_map)
- MCFG_GFXDECODE(murogmbl)
+ MCFG_GFXDECODE_ADD("gfxdecode", murogmbl)
/* video hardware */
diff --git a/src/mame/drivers/mustache.c b/src/mame/drivers/mustache.c
index a4c36e52aff..9388028fd4b 100644
--- a/src/mame/drivers/mustache.c
+++ b/src/mame/drivers/mustache.c
@@ -186,7 +186,7 @@ static MACHINE_CONFIG_START( mustache, mustache_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 0, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mustache_state, screen_update_mustache)
- MCFG_GFXDECODE(mustache)
+ MCFG_GFXDECODE_ADD("gfxdecode", mustache)
MCFG_PALETTE_LENGTH(8*16+16*8)
diff --git a/src/mame/drivers/mwarr.c b/src/mame/drivers/mwarr.c
index 32c2a055f17..11eb84f517b 100644
--- a/src/mame/drivers/mwarr.c
+++ b/src/mame/drivers/mwarr.c
@@ -363,7 +363,7 @@ TILE_GET_INFO_MEMBER(mwarr_state::get_bg_tile_info)
int tileno = m_bg_videoram[tile_index] & 0x1fff;
int colour = (m_bg_videoram[tile_index] & 0xe000) >> 13;
- SET_TILE_INFO_MEMBER(4, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4, tileno, colour, 0);
}
TILE_GET_INFO_MEMBER(mwarr_state::get_mlow_tile_info)
@@ -371,7 +371,7 @@ TILE_GET_INFO_MEMBER(mwarr_state::get_mlow_tile_info)
int tileno = m_mlow_videoram[tile_index] & 0x1fff;
int colour = (m_mlow_videoram[tile_index] & 0xe000) >> 13;
- SET_TILE_INFO_MEMBER(3, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, tileno, colour, 0);
}
TILE_GET_INFO_MEMBER(mwarr_state::get_mhigh_tile_info)
@@ -379,7 +379,7 @@ TILE_GET_INFO_MEMBER(mwarr_state::get_mhigh_tile_info)
int tileno = m_mhigh_videoram[tile_index] & 0x1fff;
int colour = (m_mhigh_videoram[tile_index] & 0xe000) >> 13;
- SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tileno, colour, 0);
}
TILE_GET_INFO_MEMBER(mwarr_state::get_tx_tile_info)
@@ -387,7 +387,7 @@ TILE_GET_INFO_MEMBER(mwarr_state::get_tx_tile_info)
int tileno = m_tx_videoram[tile_index] & 0x1fff;
int colour = (m_tx_videoram[tile_index] & 0xe000) >> 13;
- SET_TILE_INFO_MEMBER(1, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, colour, 0);
}
void mwarr_state::video_start()
@@ -412,7 +412,7 @@ void mwarr_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, con
{
const UINT16 *source = m_sprites_buffer + 0x800 - 4;
const UINT16 *finish = m_sprites_buffer;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int x, y, color, flipx, dy, pri, pri_mask, i;
while (source >= finish)
@@ -560,7 +560,7 @@ static MACHINE_CONFIG_START( mwarr, mwarr_state )
MCFG_SCREEN_VISIBLE_AREA(8+1, 48*8-1-8-1, 0, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mwarr_state, screen_update_mwarr)
- MCFG_GFXDECODE(mwarr)
+ MCFG_GFXDECODE_ADD("gfxdecode", mwarr)
MCFG_PALETTE_LENGTH(0x800)
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index 409756ef5d6..73c69493e27 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -1057,9 +1057,13 @@ static MACHINE_CONFIG_START( mystwarr, mystwarr_state )
MCFG_SCREEN_UPDATE_DRIVER(mystwarr_state, screen_update_mystwarr)
MCFG_PALETTE_LENGTH(2048)
+
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K056832_ADD_NOINTF("k056832"/*, mystwarr_k056832_intf*/)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K055555_ADD("k055555")
MCFG_K055673_ADD_NOINTF("k055673")
+ MCFG_K055673_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(mystwarr_state,mystwarr)
@@ -1138,7 +1142,7 @@ static MACHINE_CONFIG_DERIVED( dadandrn, mystwarr )
MCFG_DEVICE_REMOVE("k053252")
MCFG_K053252_ADD("k053252", 6000000, dadandrm_k053252_intf) // 6 MHz?
- MCFG_GFXDECODE(dadandrn)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", dadandrn)
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(mystwarr_state,dadandrn)
@@ -1164,7 +1168,7 @@ static MACHINE_CONFIG_DERIVED( gaiapols, mystwarr )
MCFG_DEVICE_REMOVE("k053252")
MCFG_K053252_ADD("k053252", 6000000, gaiapols_k053252_intf) // 6 MHz?
- MCFG_GFXDECODE(gaiapols)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gaiapols)
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(mystwarr_state,gaiapols)
diff --git a/src/mame/drivers/namcofl.c b/src/mame/drivers/namcofl.c
index 107787e7bd3..b2b4a3776bd 100644
--- a/src/mame/drivers/namcofl.c
+++ b/src/mame/drivers/namcofl.c
@@ -601,7 +601,7 @@ static MACHINE_CONFIG_START( namcofl, namcofl_state )
MCFG_PALETTE_LENGTH(8192)
- MCFG_GFXDECODE(2)
+ MCFG_GFXDECODE_ADD("gfxdecode", 2)
MCFG_VIDEO_START_OVERRIDE(namcofl_state,namcofl)
diff --git a/src/mame/drivers/namcoic.c b/src/mame/drivers/namcoic.c
index ca173364f53..604de23824c 100644
--- a/src/mame/drivers/namcoic.c
+++ b/src/mame/drivers/namcoic.c
@@ -48,7 +48,7 @@ inline void namcos2_shared_state::namcoic_get_tile_info(tile_data &tileinfo,int
int tile, mask;
mTilemapInfo.cb( machine(), vram[tile_index], &tile, &mask );
tileinfo.mask_data = mTilemapInfo.maskBaseAddr+mask*8;
- SET_TILE_INFO_MEMBER(mTilemapInfo.gfxbank,tile,0,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, mTilemapInfo.gfxbank,tile,0,0);
} /* get_tile_info */
TILE_GET_INFO_MEMBER( namcos2_shared_state::get_tile_info0 ) { namcoic_get_tile_info(tileinfo,tile_index,&mTilemapInfo.videoram[0x0000]); }
@@ -480,7 +480,7 @@ namcos2_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const r
int scaley = (sizey<<16)/((word0&0x0200)?0x20:0x10);
if(scalex && scaley)
{
- gfx_element *gfx = machine().gfx[rgn];
+ gfx_element *gfx = m_gfxdecode->gfx(rgn);
if( (word0&0x0200)==0 )
gfx->set_source_clip((word1&0x0001) ? 16 : 0, 16, (word1&0x0002) ? 16 : 0, 16);
@@ -615,7 +615,7 @@ void namcos2_state::draw_sprites_metalhawk(screen_device &screen, bitmap_ind16 &
screen,
bitmap,
rect,
- machine().gfx[0],
+ m_gfxdecode->gfx(0),
sprn, color,
flipx,flipy,
sx,sy,
@@ -855,7 +855,7 @@ void namcos2_shared_state::c355_obj_draw_sprite(screen_device &screen, _BitmapCl
screen,
bitmap,
clip,
- machine().gfx[m_c355_obj_gfxbank],
+ m_gfxdecode->gfx(m_c355_obj_gfxbank),
m_c355_obj_code2tile(tile) + offset,
color,
flipx,flipy,
@@ -1021,7 +1021,7 @@ void namcos2_shared_state::c169_roz_get_info(tile_data &tileinfo, int tile_index
tile &= 0x3fff; // cap mask offset
break;
}
- SET_TILE_INFO_MEMBER(m_c169_roz_gfxbank, mangle, 0/*color*/, 0/*flag*/);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_c169_roz_gfxbank, mangle, 0/*color*/, 0/*flag*/);
tileinfo.mask_data = m_c169_roz_mask + 32*tile;
}
@@ -1318,10 +1318,20 @@ namco_c45_road_device::namco_c45_road_device(const machine_config &mconfig, cons
: device_t(mconfig, NAMCO_C45_ROAD, "Namco C45 Road", tag, owner, clock, "namco_c45_road", __FILE__),
m_transparent_color(~0),
m_gfx(NULL),
- m_tilemap(NULL)
+ m_tilemap(NULL),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void namco_c45_road_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<namco_c45_road_device &>(device).m_gfxdecode.set_tag(tag);
+}
//-------------------------------------------------
// read -- read from RAM
@@ -1476,8 +1486,8 @@ TILE_GET_INFO_MEMBER( namco_c45_road_device::get_road_info )
{
// ------xx xxxxxxxx tile number
// xxxxxx-- -------- palette select
- UINT16 data = m_ram[tile_index];
- int tile = data & 0x3ff;
- int color = data >> 10;
- SET_TILE_INFO_MEMBER(*m_gfx, tile, color, 0);
+ //UINT16 data = m_ram[tile_index];
+ //int tile = data & 0x3ff;
+ //int color = data >> 10;
+ //SET_TILE_INFO_MEMBER(*m_gfxdecode, *m_gfx, tile, color, 0);
}
diff --git a/src/mame/drivers/namconb1.c b/src/mame/drivers/namconb1.c
index 039ff932d1f..df8ad565cd9 100644
--- a/src/mame/drivers/namconb1.c
+++ b/src/mame/drivers/namconb1.c
@@ -1162,7 +1162,7 @@ static MACHINE_CONFIG_START( namconb1, namconb1_state )
MCFG_SCREEN_VISIBLE_AREA(0, NAMCONB1_HBSTART-1, 0, NAMCONB1_VBSTART-1)
MCFG_SCREEN_UPDATE_DRIVER(namconb1_state, screen_update_namconb1)
- MCFG_GFXDECODE(namconb1)
+ MCFG_GFXDECODE_ADD("gfxdecode", namconb1)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_VIDEO_START_OVERRIDE(namconb1_state,namconb1)
@@ -1194,7 +1194,7 @@ static MACHINE_CONFIG_START( namconb2, namconb1_state )
MCFG_SCREEN_VISIBLE_AREA(0, NAMCONB1_HBSTART-1, 0, NAMCONB1_VBSTART-1)
MCFG_SCREEN_UPDATE_DRIVER(namconb1_state, screen_update_namconb2)
- MCFG_GFXDECODE(2)
+ MCFG_GFXDECODE_ADD("gfxdecode", 2)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_VIDEO_START_OVERRIDE(namconb1_state,namconb2)
diff --git a/src/mame/drivers/namcond1.c b/src/mame/drivers/namcond1.c
index 620f820abbb..e5d8777d45a 100644
--- a/src/mame/drivers/namcond1.c
+++ b/src/mame/drivers/namcond1.c
@@ -310,7 +310,7 @@ static MACHINE_CONFIG_START( namcond1, namcond1_state )
MCFG_SCREEN_VISIBLE_AREA(0, 287, 0, 223) // default visible area
MCFG_SCREEN_UPDATE_DEVICE("ygv608", ygv608_device, update_screen)
- MCFG_GFXDECODE(namcond1)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcond1)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
@@ -325,6 +325,7 @@ static MACHINE_CONFIG_START( namcond1, namcond1_state )
MCFG_AT28C16_ADD( "at28c16", NULL )
MCFG_YGV608_ADD("ygv608")
+ MCFG_YGV608_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
ROM_START( ncv1 )
diff --git a/src/mame/drivers/namcos1.c b/src/mame/drivers/namcos1.c
index 22b56641a7b..6e2d9f96672 100644
--- a/src/mame/drivers/namcos1.c
+++ b/src/mame/drivers/namcos1.c
@@ -1106,7 +1106,7 @@ static MACHINE_CONFIG_START( ns1, namcos1_state )
MCFG_SCREEN_UPDATE_DRIVER(namcos1_state, screen_update_namcos1)
MCFG_SCREEN_VBLANK_DRIVER(namcos1_state, screen_eof_namcos1)
- MCFG_GFXDECODE(namcos1)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos1)
MCFG_PALETTE_LENGTH(0x2000)
diff --git a/src/mame/drivers/namcos2.c b/src/mame/drivers/namcos2.c
index 0eec9087c14..5b848b1e5c0 100644
--- a/src/mame/drivers/namcos2.c
+++ b/src/mame/drivers/namcos2.c
@@ -1732,7 +1732,7 @@ static MACHINE_CONFIG_START( default, namcos2_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(namcos2_state, screen_update)
- MCFG_GFXDECODE(namcos2)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos2)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1806,7 +1806,7 @@ static MACHINE_CONFIG_START( gollygho, namcos2_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(namcos2_state, screen_update)
- MCFG_GFXDECODE(namcos2)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos2)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1853,12 +1853,13 @@ static MACHINE_CONFIG_START( finallap, namcos2_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(namcos2_state, screen_update_finallap)
- MCFG_GFXDECODE(finallap)
+ MCFG_GFXDECODE_ADD("gfxdecode", finallap)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_VIDEO_START_OVERRIDE(namcos2_state, finallap)
MCFG_NAMCO_C45_ROAD_ADD("c45_road")
+ MCFG_NAMCO_C45_ROAD_GFXDECODE("gfxdecode")
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1904,7 +1905,7 @@ static MACHINE_CONFIG_START( sgunner, namcos2_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(namcos2_state, screen_update_sgunner)
- MCFG_GFXDECODE(sgunner)
+ MCFG_GFXDECODE_ADD("gfxdecode", sgunner)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_VIDEO_START_OVERRIDE(namcos2_state, sgunner)
@@ -1958,7 +1959,7 @@ static MACHINE_CONFIG_START( sgunner2, namcos2_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(namcos2_state, screen_update_sgunner)
- MCFG_GFXDECODE(sgunner)
+ MCFG_GFXDECODE_ADD("gfxdecode", sgunner)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_VIDEO_START_OVERRIDE(namcos2_state, sgunner)
@@ -2007,12 +2008,13 @@ static MACHINE_CONFIG_START( luckywld, namcos2_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(namcos2_state, screen_update_luckywld)
- MCFG_GFXDECODE(luckywld)
+ MCFG_GFXDECODE_ADD("gfxdecode", luckywld)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_VIDEO_START_OVERRIDE(namcos2_state, luckywld)
MCFG_NAMCO_C45_ROAD_ADD("c45_road")
+ MCFG_NAMCO_C45_ROAD_GFXDECODE("gfxdecode")
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -2058,7 +2060,7 @@ static MACHINE_CONFIG_START( metlhawk, namcos2_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(namcos2_state, screen_update_metlhawk)
- MCFG_GFXDECODE(metlhawk)
+ MCFG_GFXDECODE_ADD("gfxdecode", metlhawk)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_VIDEO_START_OVERRIDE(namcos2_state, metlhawk)
diff --git a/src/mame/drivers/namcos21.c b/src/mame/drivers/namcos21.c
index fc988b54b65..c4b9d1850ad 100644
--- a/src/mame/drivers/namcos21.c
+++ b/src/mame/drivers/namcos21.c
@@ -1526,7 +1526,7 @@ static MACHINE_CONFIG_START( namcos21, namcos21_state )
MCFG_SCREEN_VISIBLE_AREA(0,495,0,479)
MCFG_SCREEN_UPDATE_DRIVER(namcos21_state, screen_update_namcos21)
- MCFG_GFXDECODE(namcos21)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos21)
MCFG_PALETTE_LENGTH(NAMCOS21_NUM_COLORS)
MCFG_VIDEO_START_OVERRIDE(namcos21_state,namcos21)
@@ -1581,7 +1581,7 @@ static MACHINE_CONFIG_START( driveyes, namcos21_state )
MCFG_SCREEN_VISIBLE_AREA(0,495,0,479)
MCFG_SCREEN_UPDATE_DRIVER(namcos21_state, screen_update_namcos21)
- MCFG_GFXDECODE(namcos21)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos21)
MCFG_PALETTE_LENGTH(NAMCOS21_NUM_COLORS)
MCFG_VIDEO_START_OVERRIDE(namcos21_state,namcos21)
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index a73a9bcf14b..07445b1d04a 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -3780,7 +3780,7 @@ static MACHINE_CONFIG_START( namcos22, namcos22_state )
MCFG_SCREEN_UPDATE_DRIVER(namcos22_state, screen_update_namcos22)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_GFXDECODE(namcos22)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos22)
MCFG_VIDEO_START_OVERRIDE(namcos22_state,namcos22)
/* sound hardware */
@@ -3831,7 +3831,7 @@ static MACHINE_CONFIG_START( namcos22s, namcos22_state )
MCFG_SCREEN_UPDATE_DRIVER(namcos22_state, screen_update_namcos22s)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_GFXDECODE(super)
+ MCFG_GFXDECODE_ADD("gfxdecode", super)
MCFG_VIDEO_START_OVERRIDE(namcos22_state,namcos22s)
/* sound hardware */
diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c
index ce0d20570ac..f35f1cddfca 100644
--- a/src/mame/drivers/namcos23.c
+++ b/src/mame/drivers/namcos23.c
@@ -2123,7 +2123,7 @@ TILE_GET_INFO_MEMBER(namcos23_state::TextTilemapGetInfo)
* ----.xx--.----.---- flip
* ----.--xx.xxxx.xxxx code
*/
- SET_TILE_INFO_MEMBER(0, data&0x03ff, data>>12, TILE_FLIPYX((data&0x0c00)>>10));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, data&0x03ff, data>>12, TILE_FLIPYX((data&0x0c00)>>10));
}
WRITE32_MEMBER(namcos23_state::s23_textram_w)
@@ -2136,7 +2136,7 @@ WRITE32_MEMBER(namcos23_state::s23_textram_w)
WRITE32_MEMBER(namcos23_state::s23_textchar_w)
{
COMBINE_DATA(&m_charram[offset]);
- machine().gfx[0]->mark_dirty(offset/32);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/32);
}
@@ -2145,7 +2145,7 @@ WRITE32_MEMBER(namcos23_state::s23_textchar_w)
VIDEO_START_MEMBER(namcos23_state,s23)
{
- machine().gfx[0]->set_source(reinterpret_cast<UINT8 *>(m_charram.target()));
+ m_gfxdecode->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);
m_bgtilemap->set_scrolldx(860, 860);
@@ -3456,7 +3456,7 @@ static MACHINE_CONFIG_START( gorgon, namcos23_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_GFXDECODE(namcos23)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos23)
MCFG_VIDEO_START_OVERRIDE(namcos23_state,s23)
@@ -3501,7 +3501,7 @@ static MACHINE_CONFIG_START( s23, namcos23_state )
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_GFXDECODE(namcos23)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos23)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -3562,7 +3562,7 @@ static MACHINE_CONFIG_START( ss23, namcos23_state )
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_GFXDECODE(namcos23)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos23)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/namcos86.c b/src/mame/drivers/namcos86.c
index 61168853de9..35abeea91ec 100644
--- a/src/mame/drivers/namcos86.c
+++ b/src/mame/drivers/namcos86.c
@@ -1014,7 +1014,7 @@ static MACHINE_CONFIG_START( hopmappy, namcos86_state )
MCFG_SCREEN_UPDATE_DRIVER(namcos86_state, screen_update_namcos86)
MCFG_SCREEN_VBLANK_DRIVER(namcos86_state, screen_eof_namcos86)
- MCFG_GFXDECODE(namcos86)
+ MCFG_GFXDECODE_ADD("gfxdecode", namcos86)
MCFG_PALETTE_LENGTH(4096)
diff --git a/src/mame/drivers/naughtyb.c b/src/mame/drivers/naughtyb.c
index a26a9341ac0..860eb209635 100644
--- a/src/mame/drivers/naughtyb.c
+++ b/src/mame/drivers/naughtyb.c
@@ -432,7 +432,7 @@ static MACHINE_CONFIG_START( naughtyb, naughtyb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(naughtyb_state, screen_update_naughtyb)
- MCFG_GFXDECODE(naughtyb)
+ MCFG_GFXDECODE_ADD("gfxdecode", naughtyb)
MCFG_PALETTE_LENGTH(256)
@@ -464,7 +464,7 @@ static MACHINE_CONFIG_START( popflame, naughtyb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(naughtyb_state, screen_update_naughtyb)
- MCFG_GFXDECODE(naughtyb)
+ MCFG_GFXDECODE_ADD("gfxdecode", naughtyb)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/nemesis.c b/src/mame/drivers/nemesis.c
index 3622f517fa0..17433c16974 100644
--- a/src/mame/drivers/nemesis.c
+++ b/src/mame/drivers/nemesis.c
@@ -1560,7 +1560,7 @@ static MACHINE_CONFIG_START( nemesis, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
@@ -1611,7 +1611,7 @@ static MACHINE_CONFIG_START( gx400, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
@@ -1664,7 +1664,7 @@ static MACHINE_CONFIG_START( konamigt, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
@@ -1715,7 +1715,7 @@ static MACHINE_CONFIG_START( rf2_gx400, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
@@ -1770,7 +1770,7 @@ static MACHINE_CONFIG_START( salamand, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
@@ -1816,7 +1816,7 @@ static MACHINE_CONFIG_START( blkpnthr, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
@@ -1858,7 +1858,7 @@ static MACHINE_CONFIG_START( citybomb, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
@@ -1904,7 +1904,7 @@ static MACHINE_CONFIG_START( nyanpani, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
@@ -1948,7 +1948,7 @@ static MACHINE_CONFIG_START( hcrash, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
@@ -2700,7 +2700,7 @@ static MACHINE_CONFIG_START( bubsys, nemesis_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nemesis_state, screen_update_nemesis)
- MCFG_GFXDECODE(nemesis)
+ MCFG_GFXDECODE_ADD("gfxdecode", nemesis)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/neoprint.c b/src/mame/drivers/neoprint.c
index 7e2cb51784e..54a40247d04 100644
--- a/src/mame/drivers/neoprint.c
+++ b/src/mame/drivers/neoprint.c
@@ -88,7 +88,7 @@ xxxx xxxx xxxx xxxx [2] scroll Y, signed
void neoprint_state::draw_layer(bitmap_ind16 &bitmap,const rectangle &cliprect,int layer,int data_shift)
{
int i, y, x;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
INT16 scrollx, scrolly;
i = (m_npvidregs[((layer*8)+0x06)/2] & 7) * 0x1000/4;
@@ -477,7 +477,7 @@ static MACHINE_CONFIG_START( neoprint, neoprint_state )
MCFG_UPD4990A_OLD_ADD("upd4990a")
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_GFXDECODE(neoprint)
+ MCFG_GFXDECODE_ADD("gfxdecode", neoprint)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -517,7 +517,7 @@ static MACHINE_CONFIG_START( nprsp, neoprint_state )
MCFG_UPD4990A_OLD_ADD("upd4990a")
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_GFXDECODE(neoprint)
+ MCFG_GFXDECODE_ADD("gfxdecode", neoprint)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/neptunp2.c b/src/mame/drivers/neptunp2.c
index 8e0c5882c03..5bbb57917a9 100644
--- a/src/mame/drivers/neptunp2.c
+++ b/src/mame/drivers/neptunp2.c
@@ -103,7 +103,7 @@ static MACHINE_CONFIG_START( neptunp2, neptunp2_state )
MCFG_SCREEN_UPDATE_DRIVER(neptunp2_state, screen_update)
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
- MCFG_GFXDECODE(neptunp2)
+ MCFG_GFXDECODE_ADD("gfxdecode", neptunp2)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
diff --git a/src/mame/drivers/news.c b/src/mame/drivers/news.c
index 801ceb82cc8..ec5290c4e37 100644
--- a/src/mame/drivers/news.c
+++ b/src/mame/drivers/news.c
@@ -139,7 +139,7 @@ static MACHINE_CONFIG_START( news, news_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(news_state, screen_update_news)
- MCFG_GFXDECODE(news)
+ MCFG_GFXDECODE_ADD("gfxdecode", news)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/ninjakd2.c b/src/mame/drivers/ninjakd2.c
index 0d9336791ce..1fdb7c55ecd 100644
--- a/src/mame/drivers/ninjakd2.c
+++ b/src/mame/drivers/ninjakd2.c
@@ -947,7 +947,7 @@ static MACHINE_CONFIG_START( ninjakd2, ninjakd2_state )
MCFG_SCREEN_UPDATE_DRIVER(ninjakd2_state, screen_update_ninjakd2)
MCFG_SCREEN_VBLANK_DRIVER(ninjakd2_state, screen_eof_ninjakd2)
- MCFG_GFXDECODE(ninjakd2)
+ MCFG_GFXDECODE_ADD("gfxdecode", ninjakd2)
MCFG_PALETTE_LENGTH(0x300)
/* sound hardware */
@@ -1004,7 +1004,7 @@ static MACHINE_CONFIG_DERIVED( robokid, mnight )
MCFG_CPU_PROGRAM_MAP(robokid_main_cpu)
/* video hardware */
- MCFG_GFXDECODE(robokid)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", robokid)
MCFG_PALETTE_LENGTH(0x400) // RAM is this large, but still only 0x300 colors used
MCFG_VIDEO_START_OVERRIDE(ninjakd2_state,robokid)
diff --git a/src/mame/drivers/ninjaw.c b/src/mame/drivers/ninjaw.c
index eecff3d6b0f..b566aecb155 100644
--- a/src/mame/drivers/ninjaw.c
+++ b/src/mame/drivers/ninjaw.c
@@ -813,7 +813,7 @@ static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
MCFG_TC0220IOC_ADD("tc0220ioc", ninjaw_io_intf)
/* video hardware */
- MCFG_GFXDECODE(ninjaw)
+ MCFG_GFXDECODE_ADD("gfxdecode", ninjaw)
MCFG_PALETTE_LENGTH(4096*3)
MCFG_DEFAULT_LAYOUT(layout_darius)
@@ -840,8 +840,11 @@ static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
MCFG_TC0100SCN_ADD("tc0100scn_1", darius2_tc0100scn_intf_l)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_2", darius2_tc0100scn_intf_m)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_3", darius2_tc0100scn_intf_r)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr_1", darius2_tc0110pcr_intf_l)
MCFG_TC0110PCR_ADD("tc0110pcr_2", darius2_tc0110pcr_intf_m)
MCFG_TC0110PCR_ADD("tc0110pcr_3", darius2_tc0110pcr_intf_r)
@@ -893,7 +896,7 @@ static MACHINE_CONFIG_START( darius2, ninjaw_state )
MCFG_TC0220IOC_ADD("tc0220ioc", ninjaw_io_intf)
/* video hardware */
- MCFG_GFXDECODE(ninjaw)
+ MCFG_GFXDECODE_ADD("gfxdecode", ninjaw)
MCFG_PALETTE_LENGTH(4096*3)
MCFG_DEFAULT_LAYOUT(layout_darius)
@@ -920,8 +923,11 @@ static MACHINE_CONFIG_START( darius2, ninjaw_state )
MCFG_TC0100SCN_ADD("tc0100scn_1", darius2_tc0100scn_intf_l)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_2", darius2_tc0100scn_intf_m)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_3", darius2_tc0100scn_intf_r)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr_1", darius2_tc0110pcr_intf_l)
MCFG_TC0110PCR_ADD("tc0110pcr_2", darius2_tc0110pcr_intf_m)
MCFG_TC0110PCR_ADD("tc0110pcr_3", darius2_tc0110pcr_intf_r)
diff --git a/src/mame/drivers/nitedrvr.c b/src/mame/drivers/nitedrvr.c
index ce1b48802d5..86f8204b23b 100644
--- a/src/mame/drivers/nitedrvr.c
+++ b/src/mame/drivers/nitedrvr.c
@@ -153,7 +153,7 @@ static MACHINE_CONFIG_START( nitedrvr, nitedrvr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nitedrvr_state, screen_update_nitedrvr)
- MCFG_GFXDECODE(nitedrvr)
+ MCFG_GFXDECODE_ADD("gfxdecode", nitedrvr)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c
index ac9c72910e4..5020b9f89a9 100644
--- a/src/mame/drivers/nmg5.c
+++ b/src/mame/drivers/nmg5.c
@@ -847,8 +847,8 @@ static INPUT_PORTS_START( wondstck )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
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);}
+TILE_GET_INFO_MEMBER(nmg5_state::fg_get_tile_info){ SET_TILE_INFO_MEMBER(m_gfxdecode, 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(m_gfxdecode, 0, m_bg_videoram[tile_index] | (m_gfx_bank << 16), 1, 0);}
void nmg5_state::video_start()
{
@@ -1016,7 +1016,7 @@ static MACHINE_CONFIG_START( nmg5, nmg5_state )
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(nmg5_state, screen_update_nmg5)
- MCFG_GFXDECODE(nmg5)
+ MCFG_GFXDECODE_ADD("gfxdecode", nmg5)
MCFG_PALETTE_LENGTH(0x400)
@@ -1025,6 +1025,7 @@ static MACHINE_CONFIG_START( nmg5, nmg5_state )
decospr_device::set_is_bootleg(*device, true);
decospr_device::set_flipallx(*device, 1);
decospr_device::set_offsets(*device, 0,8);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
@@ -1060,7 +1061,7 @@ static MACHINE_CONFIG_DERIVED( pclubys, nmg5 )
MCFG_CPU_MODIFY("soundcpu")
MCFG_CPU_PROGRAM_MAP(pclubys_sound_map)
- MCFG_GFXDECODE(pclubys)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pclubys)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( searchp2, nmg5 )
@@ -1070,7 +1071,7 @@ static MACHINE_CONFIG_DERIVED( searchp2, nmg5 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(55) // !
- MCFG_GFXDECODE(pclubys)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pclubys)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( 7ordi, nmg5 )
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index ad0f33310c6..82683a14326 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -3653,7 +3653,7 @@ static MACHINE_CONFIG_START( tharrier, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_tharrier)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(tharrier)
+ MCFG_GFXDECODE_ADD("gfxdecode", tharrier)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -3697,7 +3697,7 @@ static MACHINE_CONFIG_START( manybloc, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_manybloc)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(tharrier)
+ MCFG_GFXDECODE_ADD("gfxdecode", tharrier)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -3737,7 +3737,7 @@ static MACHINE_CONFIG_START( mustang, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -3781,7 +3781,7 @@ static MACHINE_CONFIG_START( mustangb, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -3811,7 +3811,7 @@ static MACHINE_CONFIG_START( bioship, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_bioship)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(bioship)
+ MCFG_GFXDECODE_ADD("gfxdecode", bioship)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,bioship)
@@ -3853,7 +3853,7 @@ static MACHINE_CONFIG_START( vandyke, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -3898,7 +3898,7 @@ static MACHINE_CONFIG_START( vandykeb, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -3929,7 +3929,7 @@ static MACHINE_CONFIG_START( acrobatm, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -3975,7 +3975,7 @@ static MACHINE_CONFIG_START( tdragonb, nmk16_state ) /* bootleg using Raiden
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -4002,7 +4002,7 @@ static MACHINE_CONFIG_START( tdragon, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -4048,7 +4048,7 @@ static MACHINE_CONFIG_START( ssmissin, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -4078,7 +4078,7 @@ static MACHINE_CONFIG_START( strahl, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_strahl)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_strahl)
- MCFG_GFXDECODE(strahl)
+ MCFG_GFXDECODE_ADD("gfxdecode", strahl)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,strahl)
@@ -4120,7 +4120,7 @@ static MACHINE_CONFIG_START( hachamf, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -4163,7 +4163,7 @@ static MACHINE_CONFIG_START( macross, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -4205,7 +4205,7 @@ static MACHINE_CONFIG_START( blkheart, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
@@ -4247,7 +4247,7 @@ static MACHINE_CONFIG_START( gunnail, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_gunnail)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,gunnail)
@@ -4293,7 +4293,7 @@ static MACHINE_CONFIG_START( macross2, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_gunnail)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross2)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross2)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross2)
@@ -4336,7 +4336,7 @@ static MACHINE_CONFIG_START( tdragon2, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_tdragon2)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross2)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross2)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross2)
@@ -4378,7 +4378,7 @@ static MACHINE_CONFIG_START( raphero, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_tdragon2)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross2)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross2)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,raphero)
@@ -4420,7 +4420,7 @@ static MACHINE_CONFIG_START( bjtwin, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_bjtwin)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(bjtwin)
+ MCFG_GFXDECODE_ADD("gfxdecode", bjtwin)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,bjtwin)
@@ -4455,7 +4455,7 @@ static MACHINE_CONFIG_START( atombjt, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_bjtwin)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(atombjt)
+ MCFG_GFXDECODE_ADD("gfxdecode", atombjt)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,bjtwin)
@@ -4916,7 +4916,7 @@ static MACHINE_CONFIG_START( stagger1, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_afega)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(stagger1)
+ MCFG_GFXDECODE_ADD("gfxdecode", stagger1)
MCFG_PALETTE_LENGTH(768)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,afega)
@@ -4946,7 +4946,7 @@ static MACHINE_CONFIG_DERIVED( redhawkb, stagger1 )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(redhawkb)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", redhawkb)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_redhawkb)
MACHINE_CONFIG_END
@@ -4956,7 +4956,7 @@ static MACHINE_CONFIG_DERIVED( grdnstrm, stagger1 )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(grdnstrm)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", grdnstrm)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,firehawk)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_firehawk)
@@ -4969,7 +4969,7 @@ static MACHINE_CONFIG_DERIVED( grdnstrmk, stagger1 ) /* Side by side with PCB, t
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(57) /* Side by side with PCB, MAME is too fast at 56 */
- MCFG_GFXDECODE(grdnstrm)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", grdnstrm)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,grdnstrm)
MACHINE_CONFIG_END
@@ -5001,7 +5001,7 @@ static MACHINE_CONFIG_START( firehawk, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_firehawk)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(grdnstrm)
+ MCFG_GFXDECODE_ADD("gfxdecode", grdnstrm)
MCFG_PALETTE_LENGTH(768)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,firehawk)
@@ -5036,7 +5036,7 @@ static MACHINE_CONFIG_START( twinactn, nmk16_state )
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_macross)
MCFG_SCREEN_VBLANK_DRIVER(nmk16_state, screen_eof_nmk)
- MCFG_GFXDECODE(macross)
+ MCFG_GFXDECODE_ADD("gfxdecode", macross)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
diff --git a/src/mame/drivers/norautp.c b/src/mame/drivers/norautp.c
index c42ad7352e3..909718cf210 100644
--- a/src/mame/drivers/norautp.c
+++ b/src/mame/drivers/norautp.c
@@ -589,7 +589,7 @@ UINT32 norautp_state::screen_update_norautp(screen_device &screen, bitmap_ind16
int tile = m_np_vram[count] & 0x3f;
int colour = (m_np_vram[count] & 0xc0) >> 6;
- machine().gfx[1]->opaque(bitmap,cliprect, tile, colour, 0, 0, (x * 32) + 8, y * 32);
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect, tile, colour, 0, 0, (x * 32) + 8, y * 32);
count+=2;
}
@@ -601,7 +601,7 @@ UINT32 norautp_state::screen_update_norautp(screen_device &screen, bitmap_ind16
int tile = m_np_vram[count] & 0x3f;
int colour = (m_np_vram[count] & 0xc0) >> 6;
- machine().gfx[0]->opaque(bitmap,cliprect, tile, colour, 0, 0, x * 16, y * 32);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, tile, colour, 0, 0, x * 16, y * 32);
count++;
}
@@ -1271,7 +1271,7 @@ static MACHINE_CONFIG_START( noraut_base, norautp_state )
MCFG_SCREEN_VISIBLE_AREA(2*16, 31*16-1, (0*16) + 8, 16*16-1) /* the hardware clips the top 8 pixels */
MCFG_SCREEN_UPDATE_DRIVER(norautp_state, screen_update_norautp)
- MCFG_GFXDECODE(norautp)
+ MCFG_GFXDECODE_ADD("gfxdecode", norautp)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c
index 06abafb9ecc..deac152df9e 100644
--- a/src/mame/drivers/nova2001.c
+++ b/src/mame/drivers/nova2001.c
@@ -692,7 +692,7 @@ static MACHINE_CONFIG_START( nova2001, nova2001_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nova2001_state, screen_update_nova2001)
- MCFG_GFXDECODE(nova2001)
+ MCFG_GFXDECODE_ADD("gfxdecode", nova2001)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(nova2001_state,nova2001)
@@ -733,7 +733,7 @@ static MACHINE_CONFIG_START( ninjakun, nova2001_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 28*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(nova2001_state, screen_update_ninjakun)
- MCFG_GFXDECODE(ninjakun)
+ MCFG_GFXDECODE_ADD("gfxdecode", ninjakun)
MCFG_PALETTE_LENGTH(0x300)
MCFG_VIDEO_START_OVERRIDE(nova2001_state,ninjakun)
@@ -765,7 +765,7 @@ static MACHINE_CONFIG_START( pkunwar, nova2001_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nova2001_state, screen_update_pkunwar)
- MCFG_GFXDECODE(pkunwar)
+ MCFG_GFXDECODE_ADD("gfxdecode", pkunwar)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(nova2001_state,nova2001)
@@ -804,7 +804,7 @@ static MACHINE_CONFIG_START( raiders5, nova2001_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nova2001_state, screen_update_raiders5)
- MCFG_GFXDECODE(raiders5)
+ MCFG_GFXDECODE_ADD("gfxdecode", raiders5)
MCFG_PALETTE_LENGTH(0x300)
MCFG_VIDEO_START_OVERRIDE(nova2001_state,raiders5)
diff --git a/src/mame/drivers/nsmpoker.c b/src/mame/drivers/nsmpoker.c
index 9d9b0d6374e..b96da5f73d7 100644
--- a/src/mame/drivers/nsmpoker.c
+++ b/src/mame/drivers/nsmpoker.c
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(nsmpoker_state::get_bg_tile_info)
// int bank = (attr & 0x08) >> 3;
// int color = (attr & 0x03);
- SET_TILE_INFO_MEMBER( 0 /* bank */, code, 0 /* color */, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0 /* bank */, code, 0 /* color */, 0);
}
@@ -428,7 +428,7 @@ static MACHINE_CONFIG_START( nsmpoker, nsmpoker_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nsmpoker_state, screen_update_nsmpoker)
- MCFG_GFXDECODE(nsmpoker)
+ MCFG_GFXDECODE_ADD("gfxdecode", nsmpoker)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/drivers/nwk-tr.c b/src/mame/drivers/nwk-tr.c
index 19aa2145fa5..8a80f31ec63 100644
--- a/src/mame/drivers/nwk-tr.c
+++ b/src/mame/drivers/nwk-tr.c
@@ -772,7 +772,10 @@ static MACHINE_CONFIG_START( nwktr, nwktr_state )
MCFG_PALETTE_LENGTH(65536)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_K001604_ADD("k001604", racingj_k001604_intf)
+ MCFG_K001604_GFXDECODE("gfxdecode")
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -788,6 +791,7 @@ static MACHINE_CONFIG_DERIVED( thrilld, nwktr )
MCFG_DEVICE_REMOVE("k001604")
MCFG_K001604_ADD("k001604", thrilld_k001604_intf)
+ MCFG_K001604_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
/*****************************************************************************/
diff --git a/src/mame/drivers/nycaptor.c b/src/mame/drivers/nycaptor.c
index a0a4aa939dd..93dc373c68e 100644
--- a/src/mame/drivers/nycaptor.c
+++ b/src/mame/drivers/nycaptor.c
@@ -845,7 +845,7 @@ static MACHINE_CONFIG_START( nycaptor, nycaptor_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nycaptor_state, screen_update_nycaptor)
- MCFG_GFXDECODE(nycaptor)
+ MCFG_GFXDECODE_ADD("gfxdecode", nycaptor)
MCFG_PALETTE_LENGTH(512)
@@ -903,7 +903,7 @@ static MACHINE_CONFIG_START( cyclshtg, nycaptor_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nycaptor_state, screen_update_nycaptor)
- MCFG_GFXDECODE(nycaptor)
+ MCFG_GFXDECODE_ADD("gfxdecode", nycaptor)
MCFG_PALETTE_LENGTH(512)
@@ -957,7 +957,7 @@ static MACHINE_CONFIG_START( bronx, nycaptor_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(nycaptor_state, screen_update_nycaptor)
- MCFG_GFXDECODE(nycaptor)
+ MCFG_GFXDECODE_ADD("gfxdecode", nycaptor)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/offtwall.c b/src/mame/drivers/offtwall.c
index 126cc842343..c2af6264c2b 100644
--- a/src/mame/drivers/offtwall.c
+++ b/src/mame/drivers/offtwall.c
@@ -368,13 +368,13 @@ static MACHINE_CONFIG_START( offtwall, offtwall_state )
MCFG_ATARI_EEPROM_2816_ADD("eeprom")
/* video hardware */
- MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(offtwall)
+ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
+ MCFG_GFXDECODE_ADD("gfxdecode", offtwall)
MCFG_PALETTE_LENGTH(2048)
MCFG_ATARI_VAD_ADD("vad", "screen", WRITELINE(atarigen_state, scanline_int_write_line))
MCFG_ATARI_VAD_PLAYFIELD(offtwall_state, get_playfield_tile_info)
- MCFG_ATARI_VAD_MOB(offtwall_state::s_mob_config)
+ MCFG_ATARI_VAD_MOB(offtwall_state::s_mob_config, "gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/ohmygod.c b/src/mame/drivers/ohmygod.c
index 5768cd180f8..cd26b2c7a14 100644
--- a/src/mame/drivers/ohmygod.c
+++ b/src/mame/drivers/ohmygod.c
@@ -330,7 +330,7 @@ static MACHINE_CONFIG_START( ohmygod, ohmygod_state )
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 0*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(ohmygod_state, screen_update_ohmygod)
- MCFG_GFXDECODE(ohmygod)
+ MCFG_GFXDECODE_ADD("gfxdecode", ohmygod)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/ojankohs.c b/src/mame/drivers/ojankohs.c
index 0527753f1a3..b1e4222498f 100644
--- a/src/mame/drivers/ojankohs.c
+++ b/src/mame/drivers/ojankohs.c
@@ -858,7 +858,7 @@ static MACHINE_CONFIG_START( ojankohs, ojankohs_state )
MCFG_SCREEN_VISIBLE_AREA(0, 288-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(ojankohs_state, screen_update_ojankohs)
- MCFG_GFXDECODE(ojankohs)
+ MCFG_GFXDECODE_ADD("gfxdecode", ojankohs)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ojankohs)
@@ -894,7 +894,7 @@ static MACHINE_CONFIG_START( ojankoy, ojankohs_state )
MCFG_SCREEN_VISIBLE_AREA(0, 288-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(ojankohs_state, screen_update_ojankohs)
- MCFG_GFXDECODE(ojankohs)
+ MCFG_GFXDECODE_ADD("gfxdecode", ojankohs)
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT_OVERRIDE(ojankohs_state,ojankoy)
@@ -931,7 +931,7 @@ static MACHINE_CONFIG_START( ccasino, ojankohs_state )
MCFG_SCREEN_VISIBLE_AREA(0, 288-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(ojankohs_state, screen_update_ojankohs)
- MCFG_GFXDECODE(ojankohs)
+ MCFG_GFXDECODE_ADD("gfxdecode", ojankohs)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ojankoy)
diff --git a/src/mame/drivers/olibochu.c b/src/mame/drivers/olibochu.c
index b99c6cd018f..daee27c6c6c 100644
--- a/src/mame/drivers/olibochu.c
+++ b/src/mame/drivers/olibochu.c
@@ -163,7 +163,7 @@ TILE_GET_INFO_MEMBER(olibochu_state::get_bg_tile_info)
int color = (attr & 0x1f) + 0x20;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void olibochu_state::video_start()
@@ -197,7 +197,7 @@ void olibochu_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
@@ -223,7 +223,7 @@ void olibochu_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
@@ -466,7 +466,7 @@ static MACHINE_CONFIG_START( olibochu, olibochu_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(olibochu_state, screen_update_olibochu)
- MCFG_GFXDECODE(olibochu)
+ MCFG_GFXDECODE_ADD("gfxdecode", olibochu)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/oneshot.c b/src/mame/drivers/oneshot.c
index 2638af362fd..ad07c60c2ae 100644
--- a/src/mame/drivers/oneshot.c
+++ b/src/mame/drivers/oneshot.c
@@ -372,7 +372,7 @@ static MACHINE_CONFIG_START( oneshot, oneshot_state )
MCFG_SCREEN_VISIBLE_AREA(0*16, 20*16-1, 0*16, 15*16-1)
MCFG_SCREEN_UPDATE_DRIVER(oneshot_state, screen_update_oneshot)
- MCFG_GFXDECODE(oneshot)
+ MCFG_GFXDECODE_ADD("gfxdecode", oneshot)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/onetwo.c b/src/mame/drivers/onetwo.c
index 81e2a9ea59e..88644d21370 100644
--- a/src/mame/drivers/onetwo.c
+++ b/src/mame/drivers/onetwo.c
@@ -97,7 +97,7 @@ TILE_GET_INFO_MEMBER(onetwo_state::get_fg_tile_info)
code &= 0x7fff;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void onetwo_state::video_start()
@@ -372,7 +372,7 @@ static MACHINE_CONFIG_START( onetwo, onetwo_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(onetwo_state, screen_update_onetwo)
- MCFG_GFXDECODE(onetwo)
+ MCFG_GFXDECODE_ADD("gfxdecode", onetwo)
MCFG_PALETTE_LENGTH(0x80)
diff --git a/src/mame/drivers/opwolf.c b/src/mame/drivers/opwolf.c
index 3b3394d2dec..140f6300daf 100644
--- a/src/mame/drivers/opwolf.c
+++ b/src/mame/drivers/opwolf.c
@@ -735,11 +735,13 @@ static MACHINE_CONFIG_START( opwolf, opwolf_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(opwolf_state, screen_update_opwolf)
- MCFG_GFXDECODE(opwolf)
+ MCFG_GFXDECODE_ADD("gfxdecode", opwolf)
MCFG_PALETTE_LENGTH(8192)
MCFG_PC080SN_ADD("pc080sn", opwolf_pc080sn_intf)
+ MCFG_PC080SN_GFXDECODE("gfxdecode")
MCFG_PC090OJ_ADD("pc090oj", opwolf_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -789,11 +791,13 @@ static MACHINE_CONFIG_START( opwolfb, opwolf_state ) /* OSC clocks unknown for t
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(opwolf_state, screen_update_opwolf)
- MCFG_GFXDECODE(opwolfb)
+ MCFG_GFXDECODE_ADD("gfxdecode", opwolfb)
MCFG_PALETTE_LENGTH(8192)
MCFG_PC080SN_ADD("pc080sn", opwolf_pc080sn_intf)
+ MCFG_PC080SN_GFXDECODE("gfxdecode")
MCFG_PC090OJ_ADD("pc090oj", opwolf_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/orbit.c b/src/mame/drivers/orbit.c
index 1be72a01e8b..9f439a24f25 100644
--- a/src/mame/drivers/orbit.c
+++ b/src/mame/drivers/orbit.c
@@ -301,7 +301,7 @@ static MACHINE_CONFIG_START( orbit, orbit_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK*2, 384*2, 0, 256*2, 261*2, 0, 240*2)
MCFG_SCREEN_UPDATE_DRIVER(orbit_state, screen_update_orbit)
- MCFG_GFXDECODE(orbit)
+ MCFG_GFXDECODE_ADD("gfxdecode", orbit)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c
index 5fddf031e02..62649aaeac2 100644
--- a/src/mame/drivers/othunder.c
+++ b/src/mame/drivers/othunder.c
@@ -690,11 +690,12 @@ static MACHINE_CONFIG_START( othunder, othunder_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(othunder_state, screen_update_othunder)
- MCFG_GFXDECODE(othunder)
+ MCFG_GFXDECODE_ADD("gfxdecode", othunder)
MCFG_PALETTE_LENGTH(4096)
MCFG_TC0100SCN_ADD("tc0100scn", othunder_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", othunder_tc0110pcr_intf)
/* sound hardware */
diff --git a/src/mame/drivers/overdriv.c b/src/mame/drivers/overdriv.c
index 901a4fe125d..b3be0a48f69 100644
--- a/src/mame/drivers/overdriv.c
+++ b/src/mame/drivers/overdriv.c
@@ -354,12 +354,17 @@ static MACHINE_CONFIG_START( overdriv, overdriv_state )
MCFG_SCREEN_VISIBLE_AREA(13*8, (64-13)*8-1, 0*8, 32*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(overdriv_state, screen_update_overdriv)
-// MCFG_GFXDECODE(overdriv)
+// MCFG_GFXDECODE_ADD("gfxdecode", overdriv)
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_K053246_ADD("k053246", overdriv_k053246_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K051316_ADD("k051316_1", overdriv_k051316_intf_1)
+ MCFG_K051316_GFXDECODE("gfxdecode")
MCFG_K051316_ADD("k051316_2", overdriv_k051316_intf_2)
+ MCFG_K051316_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
MCFG_K053250_ADD("k053250_1", "screen", 0, 0)
MCFG_K053250_ADD("k053250_2", "screen", 0, 0)
diff --git a/src/mame/drivers/pacland.c b/src/mame/drivers/pacland.c
index cef050019d9..83ee5ad1842 100644
--- a/src/mame/drivers/pacland.c
+++ b/src/mame/drivers/pacland.c
@@ -445,7 +445,7 @@ static MACHINE_CONFIG_START( pacland, pacland_state )
MCFG_SCREEN_VISIBLE_AREA(3*8, 39*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pacland_state, screen_update_pacland)
- MCFG_GFXDECODE(pacland)
+ MCFG_GFXDECODE_ADD("gfxdecode", pacland)
MCFG_PALETTE_LENGTH(256*4+256*4+64*16)
/* sound hardware */
diff --git a/src/mame/drivers/pacman.c b/src/mame/drivers/pacman.c
index 2629b90b27f..a1ecf5c8c0a 100644
--- a/src/mame/drivers/pacman.c
+++ b/src/mame/drivers/pacman.c
@@ -3328,7 +3328,7 @@ static MACHINE_CONFIG_START( pacman, pacman_state )
MCFG_WATCHDOG_VBLANK_INIT(16)
/* video hardware */
- MCFG_GFXDECODE(pacman)
+ MCFG_GFXDECODE_ADD("gfxdecode", pacman)
MCFG_PALETTE_LENGTH(128*4)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3482,7 +3482,7 @@ static MACHINE_CONFIG_DERIVED( s2650games, pacman )
MCFG_CPU_PROGRAM_MAP(s2650games_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", pacman_state, s2650_interrupt)
- MCFG_GFXDECODE(s2650games)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", s2650games)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(32*8, 32*8)
@@ -3558,14 +3558,14 @@ static MACHINE_CONFIG_DERIVED( superabc, pacman )
MCFG_MACHINE_RESET_OVERRIDE(pacman_state,superabc)
/* video hardware */
- MCFG_GFXDECODE(superabc)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", superabc)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( crush4, mschamp )
/* basic machine hardware */
- MCFG_GFXDECODE(crush4)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", crush4)
MACHINE_CONFIG_END
static const ay8910_interface crushs_ay8910_interface =
diff --git a/src/mame/drivers/pandoras.c b/src/mame/drivers/pandoras.c
index 31888e86c2b..6a7a0eefc5c 100644
--- a/src/mame/drivers/pandoras.c
+++ b/src/mame/drivers/pandoras.c
@@ -354,7 +354,7 @@ static MACHINE_CONFIG_START( pandoras, pandoras_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pandoras_state, screen_update_pandoras)
- MCFG_GFXDECODE(pandoras)
+ MCFG_GFXDECODE_ADD("gfxdecode", pandoras)
MCFG_PALETTE_LENGTH(16*16+16*16)
diff --git a/src/mame/drivers/panicr.c b/src/mame/drivers/panicr.c
index 46cb8b3be62..c3f6092648f 100644
--- a/src/mame/drivers/panicr.c
+++ b/src/mame/drivers/panicr.c
@@ -196,7 +196,7 @@ TILE_GET_INFO_MEMBER(panicr_state::get_bgtile_info)
code=memregion("user1")->base()[tile_index];
attr=memregion("user2")->base()[tile_index];
code+=((attr&7)<<8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
(attr & 0xf0) >> 4,
@@ -212,7 +212,7 @@ TILE_GET_INFO_MEMBER(panicr_state::get_infotile_info_2)
code=memregion("user1")->base()[tile_index];
attr=memregion("user2")->base()[tile_index];
code+=((attr&7)<<8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
code,
0,
@@ -230,7 +230,7 @@ TILE_GET_INFO_MEMBER(panicr_state::get_txttile_info)
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + ((attr & 8) << 5),
color,
@@ -244,7 +244,7 @@ void panicr_state::video_start()
m_infotilemap_2 = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_infotile_info_2),this),TILEMAP_SCAN_ROWS,16,16,1024,16 );
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);
+ colortable_configure_tilemap_groups(machine().colortable, m_txttilemap, m_gfxdecode->gfx(0), 0);
}
void panicr_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect )
@@ -277,10 +277,10 @@ void panicr_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect )
color = spriteram[offs+1] & 0x0f;
sprite = spriteram[offs+0] | (*m_spritebank << 8);
- machine().gfx[2]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transmask(bitmap,cliprect,
sprite,
color,flipx,flipy,x,y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[2], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(2), color, 0));
}
}
@@ -624,7 +624,7 @@ static MACHINE_CONFIG_START( panicr, panicr_state )
MCFG_SCREEN_UPDATE_DRIVER(panicr_state, screen_update_panicr)
- MCFG_GFXDECODE(panicr)
+ MCFG_GFXDECODE_ADD("gfxdecode", panicr)
MCFG_PALETTE_LENGTH(256*4)
diff --git a/src/mame/drivers/paradise.c b/src/mame/drivers/paradise.c
index e7a844b0284..4c4e91b776b 100644
--- a/src/mame/drivers/paradise.c
+++ b/src/mame/drivers/paradise.c
@@ -714,7 +714,7 @@ static MACHINE_CONFIG_START( paradise, paradise_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-1-16)
MCFG_SCREEN_UPDATE_DRIVER(paradise_state, screen_update_paradise)
- MCFG_GFXDECODE(paradise)
+ MCFG_GFXDECODE_ADD("gfxdecode", paradise)
MCFG_PALETTE_LENGTH(0x800 + 16)
@@ -742,7 +742,7 @@ static MACHINE_CONFIG_DERIVED( torus, paradise )
MCFG_CPU_PROGRAM_MAP(torus_map)
MCFG_CPU_IO_MAP(torus_io_map)
- MCFG_GFXDECODE(torus)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", torus)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(paradise_state, screen_update_torus)
@@ -756,7 +756,7 @@ static MACHINE_CONFIG_DERIVED( madball, paradise )
MCFG_CPU_PROGRAM_MAP(torus_map)
MCFG_CPU_IO_MAP(torus_io_map)
- MCFG_GFXDECODE(madball)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", madball)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(paradise_state, screen_update_madball)
diff --git a/src/mame/drivers/paranoia.c b/src/mame/drivers/paranoia.c
index ba59410b79a..c5c3f10cc06 100644
--- a/src/mame/drivers/paranoia.c
+++ b/src/mame/drivers/paranoia.c
@@ -201,7 +201,7 @@ static MACHINE_CONFIG_START( paranoia, paranoia_state )
MCFG_SCREEN_RAW_PARAMS(PCE_MAIN_CLOCK/2, VDC_WPF, 70, 70 + 512 + 32, VDC_LPF, 14, 14+242)
MCFG_SCREEN_UPDATE_STATIC( pce )
- /* MCFG_GFXDECODE( pce_gfxdecodeinfo ) */
+ /* MCFG_GFXDECODE_ADD("gfxdecode", pce_gfxdecodeinfo ) */
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT( vce )
diff --git a/src/mame/drivers/parodius.c b/src/mame/drivers/parodius.c
index d057a927d5f..6c3bba3b0ee 100644
--- a/src/mame/drivers/parodius.c
+++ b/src/mame/drivers/parodius.c
@@ -297,8 +297,11 @@ static MACHINE_CONFIG_START( parodius, parodius_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", parodius_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053245_ADD("k053245", parodius_k05324x_intf)
+ MCFG_K053245_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
diff --git a/src/mame/drivers/pass.c b/src/mame/drivers/pass.c
index d963ad890f6..663fab985c0 100644
--- a/src/mame/drivers/pass.c
+++ b/src/mame/drivers/pass.c
@@ -252,7 +252,7 @@ static MACHINE_CONFIG_START( pass, pass_state )
MCFG_SCREEN_UPDATE_DRIVER(pass_state, screen_update_pass)
MCFG_PALETTE_LENGTH(0x200)
- MCFG_GFXDECODE(pass)
+ MCFG_GFXDECODE_ADD("gfxdecode", pass)
/* sound hardware */
diff --git a/src/mame/drivers/pbaction.c b/src/mame/drivers/pbaction.c
index 1fddf145628..00353f67116 100644
--- a/src/mame/drivers/pbaction.c
+++ b/src/mame/drivers/pbaction.c
@@ -292,7 +292,7 @@ static MACHINE_CONFIG_START( pbaction, pbaction_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pbaction_state, screen_update_pbaction)
- MCFG_GFXDECODE(pbaction)
+ MCFG_GFXDECODE_ADD("gfxdecode", pbaction)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/pcktgal.c b/src/mame/drivers/pcktgal.c
index 7999fd43233..2349bc4de3e 100644
--- a/src/mame/drivers/pcktgal.c
+++ b/src/mame/drivers/pcktgal.c
@@ -240,12 +240,13 @@ static MACHINE_CONFIG_START( pcktgal, pcktgal_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pcktgal_state, screen_update_pcktgal)
- MCFG_GFXDECODE(pcktgal)
+ MCFG_GFXDECODE_ADD("gfxdecode", pcktgal)
MCFG_PALETTE_LENGTH(512)
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,0,0,0);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -263,7 +264,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bootleg, pcktgal )
- MCFG_GFXDECODE(bootleg)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", bootleg)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(pcktgal_state, screen_update_pcktgalb)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pcxt.c b/src/mame/drivers/pcxt.c
index 24d62dc61dc..2daeae7cfad 100644
--- a/src/mame/drivers/pcxt.c
+++ b/src/mame/drivers/pcxt.c
@@ -712,7 +712,7 @@ static MACHINE_CONFIG_START( filetto, pcxt_state )
MCFG_PIC8259_ADD( "pic8259_1", INPUTLINE("maincpu", 0), VCC, NULL )
MCFG_FRAGMENT_ADD( pcvideo_cga )
- MCFG_GFXDECODE(pcxt)
+ MCFG_GFXDECODE_ADD("gfxdecode", pcxt)
/*Sound Hardware*/
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pengo.c b/src/mame/drivers/pengo.c
index 317040e38db..5cd746c5956 100644
--- a/src/mame/drivers/pengo.c
+++ b/src/mame/drivers/pengo.c
@@ -382,7 +382,7 @@ static MACHINE_CONFIG_START( pengo, pengo_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", pengo_state, vblank_irq)
/* video hardware */
- MCFG_GFXDECODE(pengo)
+ MCFG_GFXDECODE_ADD("gfxdecode", pengo)
MCFG_PALETTE_LENGTH(128*4)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index fbac314ac57..fedff3b46ec 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -974,7 +974,7 @@ TILE_GET_INFO_MEMBER(peplus_state::get_bg_tile_info)
color += 0x10;
}
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void peplus_state::video_start()
@@ -1339,7 +1339,7 @@ static MACHINE_CONFIG_START( peplus, peplus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 25*8-1)
MCFG_SCREEN_UPDATE_DRIVER(peplus_state, screen_update_peplus)
- MCFG_GFXDECODE(peplus)
+ MCFG_GFXDECODE_ADD("gfxdecode", peplus)
MCFG_PALETTE_LENGTH(16*16*2)
MCFG_MC6845_ADD("crtc", R6545_1, "screen", MC6845_CLOCK, mc6845_intf)
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index 9cdfd75d839..9895986e2d9 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -528,7 +528,7 @@ MACHINE_CONFIG_FRAGMENT( pgmbase )
MCFG_SCREEN_UPDATE_DRIVER(pgm_state, screen_update_pgm)
MCFG_SCREEN_VBLANK_DRIVER(pgm_state, screen_eof_pgm)
- MCFG_GFXDECODE(pgm)
+ MCFG_GFXDECODE_ADD("gfxdecode", pgm)
MCFG_PALETTE_LENGTH(0x1200/2)
MCFG_VIDEO_START_OVERRIDE(pgm_state,pgm)
@@ -4024,7 +4024,7 @@ void pgm_state::expand_32x32x5bpp()
glcopy.total = (gfx2_size_needed / glcopy.charincrement)*8;
- machine().gfx[1] = auto_alloc(machine(), gfx_element(machine(), glcopy, (UINT8 *)dst, 32, 0x400));
+ m_gfxdecode->set_gfx(1, auto_alloc(machine(), gfx_element(machine(), glcopy, (UINT8 *)dst, 32, 0x400)));
}
diff --git a/src/mame/drivers/pgm2.c b/src/mame/drivers/pgm2.c
index 0f9282feb5e..7de50009836 100644
--- a/src/mame/drivers/pgm2.c
+++ b/src/mame/drivers/pgm2.c
@@ -198,7 +198,7 @@ static MACHINE_CONFIG_START( pgm2, pgm2_state )
// MCFG_DEVICE_DISABLE()
- MCFG_GFXDECODE(pgm2)
+ MCFG_GFXDECODE_ADD("gfxdecode", pgm2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/phoenix.c b/src/mame/drivers/phoenix.c
index 5bb2f3a3569..ab6aca43fb2 100644
--- a/src/mame/drivers/phoenix.c
+++ b/src/mame/drivers/phoenix.c
@@ -461,7 +461,7 @@ static MACHINE_CONFIG_START( phoenix, phoenix_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(phoenix_state, screen_update_phoenix)
- MCFG_GFXDECODE(phoenix)
+ MCFG_GFXDECODE_ADD("gfxdecode", phoenix)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(phoenix_state,phoenix)
@@ -490,7 +490,7 @@ static MACHINE_CONFIG_DERIVED( pleiads, phoenix )
MCFG_CPU_PROGRAM_MAP(pleiads_memory_map)
/* video hardware */
- MCFG_GFXDECODE(pleiads)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pleiads)
MCFG_PALETTE_INIT_OVERRIDE(phoenix_state,pleiads)
@@ -527,7 +527,7 @@ static MACHINE_CONFIG_START( survival, phoenix_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(phoenix_state, screen_update_phoenix)
- MCFG_GFXDECODE(phoenix)
+ MCFG_GFXDECODE_ADD("gfxdecode", phoenix)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(phoenix_state,survival)
diff --git a/src/mame/drivers/photoply.c b/src/mame/drivers/photoply.c
index ccd4d7ca258..a6cef441bb3 100644
--- a/src/mame/drivers/photoply.c
+++ b/src/mame/drivers/photoply.c
@@ -123,7 +123,7 @@ static MACHINE_CONFIG_START( photoply, photoply_state )
MCFG_FRAGMENT_ADD( pcat_common )
- MCFG_GFXDECODE( photoply )
+ MCFG_GFXDECODE_ADD("gfxdecode", photoply )
MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true)
MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
diff --git a/src/mame/drivers/pinball2k.c b/src/mame/drivers/pinball2k.c
index 4c90f13c443..1de2c879c45 100644
--- a/src/mame/drivers/pinball2k.c
+++ b/src/mame/drivers/pinball2k.c
@@ -257,7 +257,7 @@ void pinball2k_state::draw_framebuffer(bitmap_rgb32 &bitmap, const rectangle &cl
void pinball2k_state::draw_cga(bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
int i, j;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT32 *cga = m_cga_ram;
int index = 0;
@@ -591,7 +591,7 @@ static MACHINE_CONFIG_START( mediagx, pinball2k_state )
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(pinball2k_state, screen_update_mediagx)
- MCFG_GFXDECODE(CGA)
+ MCFG_GFXDECODE_ADD("gfxdecode", CGA)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
diff --git a/src/mame/drivers/pingpong.c b/src/mame/drivers/pingpong.c
index e4579969b1a..24acd7026e3 100644
--- a/src/mame/drivers/pingpong.c
+++ b/src/mame/drivers/pingpong.c
@@ -455,7 +455,7 @@ static MACHINE_CONFIG_START( pingpong, pingpong_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pingpong_state, screen_update_pingpong)
- MCFG_GFXDECODE(pingpong)
+ MCFG_GFXDECODE_ADD("gfxdecode", pingpong)
MCFG_PALETTE_LENGTH(64*4+64*4)
diff --git a/src/mame/drivers/pinkiri8.c b/src/mame/drivers/pinkiri8.c
index 3b7142d8d6a..db47633daa7 100644
--- a/src/mame/drivers/pinkiri8.c
+++ b/src/mame/drivers/pinkiri8.c
@@ -149,7 +149,7 @@ void pinkiri8_state::video_start() {}
void pinkiri8_state::draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
/* FIXME: color is a bit of a mystery */
{
@@ -177,7 +177,7 @@ void pinkiri8_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
{
int game_type_hack = 0;
int col_bank;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
if (!strcmp(machine().system().name,"janshi")) game_type_hack = 1;
@@ -1092,7 +1092,7 @@ static MACHINE_CONFIG_START( pinkiri8, pinkiri8_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 62*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pinkiri8_state, screen_update_pinkiri8)
- MCFG_GFXDECODE(pinkiri8)
+ MCFG_GFXDECODE_ADD("gfxdecode", pinkiri8)
MCFG_PALETTE_LENGTH(0x2000)
diff --git a/src/mame/drivers/pipedrm.c b/src/mame/drivers/pipedrm.c
index f60effeb018..71986a0a038 100644
--- a/src/mame/drivers/pipedrm.c
+++ b/src/mame/drivers/pipedrm.c
@@ -660,13 +660,14 @@ static MACHINE_CONFIG_START( pipedrm, pipedrm_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pipedrm_state, screen_update_pipedrm)
- MCFG_GFXDECODE(pipedrm)
+ MCFG_GFXDECODE_ADD("gfxdecode", pipedrm)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(2)
MCFG_VSYSTEM_SPR2_SET_OFFSETS(-13, -6)
MCFG_VSYSTEM_SPR2_SET_PRITYPE(3)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(pipedrm_state,pipedrm)
@@ -704,7 +705,7 @@ static MACHINE_CONFIG_START( hatris, pipedrm_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pipedrm_state, screen_update_fromance)
- MCFG_GFXDECODE(hatris)
+ MCFG_GFXDECODE_ADD("gfxdecode", hatris)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(pipedrm_state,hatris)
diff --git a/src/mame/drivers/pipeline.c b/src/mame/drivers/pipeline.c
index 1e005bfcbfb..691cae6837a 100644
--- a/src/mame/drivers/pipeline.c
+++ b/src/mame/drivers/pipeline.c
@@ -111,7 +111,7 @@ public:
TILE_GET_INFO_MEMBER(pipeline_state::get_tile_info)
{
int code = m_vram2[tile_index]+m_vram2[tile_index+0x800]*256;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
0,
@@ -124,6 +124,7 @@ TILE_GET_INFO_MEMBER(pipeline_state::get_tile_info2)
int color=((m_vram1[tile_index+0x800])&0xf);
SET_TILE_INFO_MEMBER
(
+ m_gfxdecode,
1,
code,
color,
@@ -414,7 +415,7 @@ static MACHINE_CONFIG_START( pipeline, pipeline_state )
MCFG_SCREEN_VISIBLE_AREA(0, 319, 16, 239)
MCFG_SCREEN_UPDATE_DRIVER(pipeline_state, screen_update_pipeline)
- MCFG_GFXDECODE(pipeline)
+ MCFG_GFXDECODE_ADD("gfxdecode", pipeline)
MCFG_PALETTE_LENGTH(0x100+0x100)
diff --git a/src/mame/drivers/pirates.c b/src/mame/drivers/pirates.c
index 0f767938f99..d895de932d2 100644
--- a/src/mame/drivers/pirates.c
+++ b/src/mame/drivers/pirates.c
@@ -253,7 +253,7 @@ static MACHINE_CONFIG_START( pirates, pirates_state )
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
- MCFG_GFXDECODE(pirates)
+ MCFG_GFXDECODE_ADD("gfxdecode", pirates)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/pitnrun.c b/src/mame/drivers/pitnrun.c
index fb095223c12..1513b9513d6 100644
--- a/src/mame/drivers/pitnrun.c
+++ b/src/mame/drivers/pitnrun.c
@@ -251,7 +251,7 @@ static MACHINE_CONFIG_START( pitnrun, pitnrun_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pitnrun_state, screen_update_pitnrun)
- MCFG_GFXDECODE(pitnrun)
+ MCFG_GFXDECODE_ADD("gfxdecode", pitnrun)
MCFG_PALETTE_LENGTH(32*3)
/* sound hardware */
diff --git a/src/mame/drivers/pkscram.c b/src/mame/drivers/pkscram.c
index d088584d552..dde0e03adaf 100644
--- a/src/mame/drivers/pkscram.c
+++ b/src/mame/drivers/pkscram.c
@@ -200,7 +200,7 @@ TILE_GET_INFO_MEMBER(pkscram_state::get_bg_tile_info)
int tile = m_pkscramble_bgtilemap_ram[tile_index*2];
int color = m_pkscramble_bgtilemap_ram[tile_index*2 + 1] & 0x7f;
- SET_TILE_INFO_MEMBER(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,0);
}
TILE_GET_INFO_MEMBER(pkscram_state::get_md_tile_info)
@@ -208,7 +208,7 @@ TILE_GET_INFO_MEMBER(pkscram_state::get_md_tile_info)
int tile = m_pkscramble_mdtilemap_ram[tile_index*2];
int color = m_pkscramble_mdtilemap_ram[tile_index*2 + 1] & 0x7f;
- SET_TILE_INFO_MEMBER(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,0);
}
TILE_GET_INFO_MEMBER(pkscram_state::get_fg_tile_info)
@@ -216,7 +216,7 @@ TILE_GET_INFO_MEMBER(pkscram_state::get_fg_tile_info)
int tile = m_pkscramble_fgtilemap_ram[tile_index*2];
int color = m_pkscramble_fgtilemap_ram[tile_index*2 + 1] & 0x7f;
- SET_TILE_INFO_MEMBER(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,0);
}
TIMER_DEVICE_CALLBACK_MEMBER(pkscram_state::scanline_callback)
@@ -318,7 +318,7 @@ static MACHINE_CONFIG_START( pkscramble, pkscram_state )
MCFG_SCREEN_UPDATE_DRIVER(pkscram_state, screen_update_pkscramble)
MCFG_PALETTE_LENGTH(0x800)
- MCFG_GFXDECODE(pkscram)
+ MCFG_GFXDECODE_ADD("gfxdecode", pkscram)
/* sound hardware */
diff --git a/src/mame/drivers/pktgaldx.c b/src/mame/drivers/pktgaldx.c
index fe95a90dd67..4078074f1bd 100644
--- a/src/mame/drivers/pktgaldx.c
+++ b/src/mame/drivers/pktgaldx.c
@@ -342,14 +342,16 @@ static MACHINE_CONFIG_START( pktgaldx, pktgaldx_state )
MCFG_SCREEN_UPDATE_DRIVER(pktgaldx_state, screen_update_pktgaldx)
MCFG_PALETTE_LENGTH(4096)
- MCFG_GFXDECODE(pktgaldx)
+ MCFG_GFXDECODE_ADD("gfxdecode", pktgaldx)
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", pktgaldx_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO104_ADD("ioprot104")
MCFG_DECO146_SET_INTERFACE_SCRAMBLE(8,9, 4,5,6,7 ,1,0,3,2) // hopefully this is correct, nothing else uses this arrangement!
@@ -384,7 +386,7 @@ static MACHINE_CONFIG_START( pktgaldb, pktgaldx_state )
MCFG_SCREEN_UPDATE_DRIVER(pktgaldx_state, screen_update_pktgaldb)
MCFG_PALETTE_LENGTH(4096)
- MCFG_GFXDECODE(bootleg)
+ MCFG_GFXDECODE_ADD("gfxdecode", bootleg)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/playch10.c b/src/mame/drivers/playch10.c
index 467d425b59c..7f3752a816e 100644
--- a/src/mame/drivers/playch10.c
+++ b/src/mame/drivers/playch10.c
@@ -678,7 +678,7 @@ static MACHINE_CONFIG_START( playch10, playch10_state )
// video hardware
- MCFG_GFXDECODE(playch10)
+ MCFG_GFXDECODE_ADD("gfxdecode", playch10)
MCFG_PALETTE_LENGTH(256+8*4*16)
MCFG_DEFAULT_LAYOUT(layout_dualhuov)
diff --git a/src/mame/drivers/playmark.c b/src/mame/drivers/playmark.c
index 8f4bcdc6ba1..eb34e3bb05c 100644
--- a/src/mame/drivers/playmark.c
+++ b/src/mame/drivers/playmark.c
@@ -1058,7 +1058,7 @@ static MACHINE_CONFIG_START( bigtwin, playmark_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_bigtwin)
- MCFG_GFXDECODE(playmark)
+ MCFG_GFXDECODE_ADD("gfxdecode", playmark)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(playmark_state,bigtwin)
@@ -1092,7 +1092,7 @@ static MACHINE_CONFIG_START( bigtwinb, playmark_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_bigtwinb)
- MCFG_GFXDECODE(bigtwinb)
+ MCFG_GFXDECODE_ADD("gfxdecode", bigtwinb)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(playmark_state,bigtwinb)
@@ -1129,7 +1129,7 @@ static MACHINE_CONFIG_START( wbeachvl, playmark_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_wbeachvl)
- MCFG_GFXDECODE(wbeachvl)
+ MCFG_GFXDECODE_ADD("gfxdecode", wbeachvl)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(playmark_state,wbeachvl)
@@ -1163,7 +1163,7 @@ static MACHINE_CONFIG_START( excelsr, playmark_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_excelsr)
- MCFG_GFXDECODE(excelsr)
+ MCFG_GFXDECODE_ADD("gfxdecode", excelsr)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(playmark_state,excelsr)
@@ -1200,7 +1200,7 @@ static MACHINE_CONFIG_START( hotmind, playmark_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_hrdtimes)
- MCFG_GFXDECODE(hrdtimes)
+ MCFG_GFXDECODE_ADD("gfxdecode", hrdtimes)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(playmark_state,hotmind)
@@ -1238,7 +1238,7 @@ static MACHINE_CONFIG_START( hrdtimes, playmark_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_hrdtimes)
- MCFG_GFXDECODE(hrdtimes)
+ MCFG_GFXDECODE_ADD("gfxdecode", hrdtimes)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(playmark_state,hrdtimes)
diff --git a/src/mame/drivers/plygonet.c b/src/mame/drivers/plygonet.c
index 269aa3eb659..fa949b27532 100644
--- a/src/mame/drivers/plygonet.c
+++ b/src/mame/drivers/plygonet.c
@@ -666,7 +666,7 @@ static MACHINE_CONFIG_START( plygonet, polygonet_state )
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
- MCFG_GFXDECODE(plygonet)
+ MCFG_GFXDECODE_ADD("gfxdecode", plygonet)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/pokechmp.c b/src/mame/drivers/pokechmp.c
index c4d6675f6db..bad860f112e 100644
--- a/src/mame/drivers/pokechmp.c
+++ b/src/mame/drivers/pokechmp.c
@@ -220,7 +220,7 @@ static MACHINE_CONFIG_START( pokechmp, pokechmp_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pokechmp_state, screen_update_pokechmp)
- MCFG_GFXDECODE(pokechmp)
+ MCFG_GFXDECODE_ADD("gfxdecode", pokechmp)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/poker72.c b/src/mame/drivers/poker72.c
index 44dc29775cc..8f03906e634 100644
--- a/src/mame/drivers/poker72.c
+++ b/src/mame/drivers/poker72.c
@@ -60,7 +60,7 @@ UINT32 poker72_state::screen_update_poker72(screen_device &screen, bitmap_ind16
tile|= m_tile_bank << 12;
- machine().gfx[0]->opaque(bitmap,cliprect,tile,color,fx,fy,x*8,y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,tile,color,fx,fy,x*8,y*8);
count+=2;
}
@@ -367,7 +367,7 @@ static MACHINE_CONFIG_START( poker72, poker72_state )
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(poker72_state, screen_update_poker72)
- MCFG_GFXDECODE(poker72)
+ MCFG_GFXDECODE_ADD("gfxdecode", poker72)
MCFG_PALETTE_LENGTH(0xe00)
diff --git a/src/mame/drivers/polepos.c b/src/mame/drivers/polepos.c
index 02ef7a224f8..8f9c2e4cd83 100644
--- a/src/mame/drivers/polepos.c
+++ b/src/mame/drivers/polepos.c
@@ -918,7 +918,7 @@ static MACHINE_CONFIG_START( polepos, polepos_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 384, 0, 256, 264, 16, 224+16)
MCFG_SCREEN_UPDATE_DRIVER(polepos_state, screen_update_polepos)
- MCFG_GFXDECODE(polepos)
+ MCFG_GFXDECODE_ADD("gfxdecode", polepos)
MCFG_PALETTE_LENGTH(0x0f00)
MCFG_DEFAULT_LAYOUT(layout_polepos)
@@ -997,7 +997,7 @@ static MACHINE_CONFIG_START( topracern, polepos_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 384, 0, 256, 264, 16, 224+16)
MCFG_SCREEN_UPDATE_DRIVER(polepos_state, screen_update_polepos)
- MCFG_GFXDECODE(polepos)
+ MCFG_GFXDECODE_ADD("gfxdecode", polepos)
MCFG_PALETTE_LENGTH(0x0f00)
MCFG_DEFAULT_LAYOUT(layout_topracer)
diff --git a/src/mame/drivers/polyplay.c b/src/mame/drivers/polyplay.c
index 933c3a4d95d..e952c1209b8 100644
--- a/src/mame/drivers/polyplay.c
+++ b/src/mame/drivers/polyplay.c
@@ -285,7 +285,7 @@ static MACHINE_CONFIG_START( polyplay, polyplay_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(polyplay_state, screen_update_polyplay)
- MCFG_GFXDECODE(polyplay)
+ MCFG_GFXDECODE_ADD("gfxdecode", polyplay)
MCFG_PALETTE_LENGTH(10)
diff --git a/src/mame/drivers/poolshrk.c b/src/mame/drivers/poolshrk.c
index 52a62290ce9..65ee624e3cb 100644
--- a/src/mame/drivers/poolshrk.c
+++ b/src/mame/drivers/poolshrk.c
@@ -225,7 +225,7 @@ static MACHINE_CONFIG_START( poolshrk, poolshrk_state )
MCFG_SCREEN_VISIBLE_AREA(1, 255, 24, 255)
MCFG_SCREEN_UPDATE_DRIVER(poolshrk_state, screen_update_poolshrk)
- MCFG_GFXDECODE(poolshrk)
+ MCFG_GFXDECODE_ADD("gfxdecode", poolshrk)
MCFG_PALETTE_LENGTH(4)
/* sound hardware */
diff --git a/src/mame/drivers/pooyan.c b/src/mame/drivers/pooyan.c
index 4a680b27e6a..6ff011bb0a9 100644
--- a/src/mame/drivers/pooyan.c
+++ b/src/mame/drivers/pooyan.c
@@ -197,7 +197,7 @@ static MACHINE_CONFIG_START( pooyan, pooyan_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pooyan_state, screen_update_pooyan)
- MCFG_GFXDECODE(pooyan)
+ MCFG_GFXDECODE_ADD("gfxdecode", pooyan)
MCFG_PALETTE_LENGTH(16*16+16*16)
diff --git a/src/mame/drivers/popeye.c b/src/mame/drivers/popeye.c
index 09de318cbb1..4e58f4ebb15 100644
--- a/src/mame/drivers/popeye.c
+++ b/src/mame/drivers/popeye.c
@@ -390,7 +390,7 @@ static MACHINE_CONFIG_START( skyskipr, popeye_state )
MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 2*16, 30*16-1)
MCFG_SCREEN_UPDATE_DRIVER(popeye_state, screen_update_popeye)
- MCFG_GFXDECODE(popeye)
+ MCFG_GFXDECODE_ADD("gfxdecode", popeye)
MCFG_PALETTE_LENGTH(16+16*2+64*4)
diff --git a/src/mame/drivers/popobear.c b/src/mame/drivers/popobear.c
index e2fdc2251e2..7be220d7bd3 100644
--- a/src/mame/drivers/popobear.c
+++ b/src/mame/drivers/popobear.c
@@ -145,7 +145,7 @@ public:
COMBINE_DATA(&m_vram_rearranged[swapped_offset]);
- machine().gfx[m_gfx_index]->mark_dirty((swapped_offset)/32);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty((swapped_offset)/32);
// unfortunately tilemaps and tilegfx share the same ram so we're always dirty if we write to RAM
m_bg_tilemap[0]->mark_all_dirty();
@@ -176,7 +176,7 @@ TILE_GET_INFO_MEMBER(popobear_state::get_popobear_bg0_tile_info)
int base = tilemap_base[0];
int tileno = m_vram[base/2 + tile_index];
int flipyx = (tileno>>14);
- SET_TILE_INFO_MEMBER(0, tileno&0x3fff, 0, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno&0x3fff, 0, TILE_FLIPYX(flipyx));
}
TILE_GET_INFO_MEMBER(popobear_state::get_popobear_bg1_tile_info)
@@ -184,7 +184,7 @@ TILE_GET_INFO_MEMBER(popobear_state::get_popobear_bg1_tile_info)
int base = tilemap_base[1];
int tileno = m_vram[base/2 + tile_index];
int flipyx = (tileno>>14);
- SET_TILE_INFO_MEMBER(0, tileno&0x3fff, 0, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno&0x3fff, 0, TILE_FLIPYX(flipyx));
}
TILE_GET_INFO_MEMBER(popobear_state::get_popobear_bg2_tile_info)
@@ -192,7 +192,7 @@ TILE_GET_INFO_MEMBER(popobear_state::get_popobear_bg2_tile_info)
int base = tilemap_base[2];
int tileno = m_vram[base/2 + tile_index];
int flipyx = (tileno>>14);
- SET_TILE_INFO_MEMBER(0, tileno&0x3fff, 0, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno&0x3fff, 0, TILE_FLIPYX(flipyx));
}
TILE_GET_INFO_MEMBER(popobear_state::get_popobear_bg3_tile_info)
@@ -200,7 +200,7 @@ TILE_GET_INFO_MEMBER(popobear_state::get_popobear_bg3_tile_info)
int base = tilemap_base[3];
int tileno = m_vram[base/2 + tile_index];
int flipyx = (tileno>>14);
- SET_TILE_INFO_MEMBER(0, tileno&0x3fff, 0, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno&0x3fff, 0, TILE_FLIPYX(flipyx));
}
@@ -210,7 +210,7 @@ void popobear_state::video_start()
{
/* find first empty slot to decode gfx */
for (m_gfx_index = 0; m_gfx_index < MAX_GFX_ELEMENTS; m_gfx_index++)
- if (machine().gfx[m_gfx_index] == 0)
+ if (m_gfxdecode->gfx(m_gfx_index) == 0)
break;
assert(m_gfx_index != MAX_GFX_ELEMENTS);
@@ -220,7 +220,7 @@ void popobear_state::video_start()
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine().gfx[m_gfx_index] = auto_alloc(machine(), gfx_element(machine(), popobear_char_layout, (UINT8 *)m_vram_rearranged, machine().total_colors() / 16, 0));
+ m_gfxdecode->set_gfx(m_gfx_index, auto_alloc(machine(), gfx_element(machine(), popobear_char_layout, (UINT8 *)m_vram_rearranged, machine().total_colors() / 16, 0)));
m_bg_tilemap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(popobear_state::get_popobear_bg0_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 64);
m_bg_tilemap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(popobear_state::get_popobear_bg1_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 128, 64);
diff --git a/src/mame/drivers/popper.c b/src/mame/drivers/popper.c
index 3d50284c08a..4a9750753d9 100644
--- a/src/mame/drivers/popper.c
+++ b/src/mame/drivers/popper.c
@@ -352,7 +352,7 @@ static MACHINE_CONFIG_START( popper, popper_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 33*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(popper_state, screen_update_popper)
- MCFG_GFXDECODE(popper)
+ MCFG_GFXDECODE_ADD("gfxdecode", popper)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/portrait.c b/src/mame/drivers/portrait.c
index 5738c04956d..bb25b8c34d6 100644
--- a/src/mame/drivers/portrait.c
+++ b/src/mame/drivers/portrait.c
@@ -259,7 +259,7 @@ static MACHINE_CONFIG_START( portrait, portrait_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 54*8-1, 0*8, 40*8-1)
MCFG_SCREEN_UPDATE_DRIVER(portrait_state, screen_update_portrait)
- MCFG_GFXDECODE(portrait)
+ MCFG_GFXDECODE_ADD("gfxdecode", portrait)
MCFG_PALETTE_LENGTH(0x800)
diff --git a/src/mame/drivers/powerbal.c b/src/mame/drivers/powerbal.c
index a68183a1609..f33161890c7 100644
--- a/src/mame/drivers/powerbal.c
+++ b/src/mame/drivers/powerbal.c
@@ -394,14 +394,14 @@ TILE_GET_INFO_MEMBER(powerbal_state::powerbal_get_bg_tile_info)
if (m_videoram1[tile_index] & 0x800)
code |= 0x8000;
- SET_TILE_INFO_MEMBER(1, code, colr >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, colr >> 12, 0);
}
void powerbal_state::draw_sprites_powerbal(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
UINT16 *spriteram = m_spriteram;
int offs;
- int height = machine().gfx[0]->height();
+ int height = m_gfxdecode->gfx(0)->height();
for (offs = 4; offs < m_spriteram.bytes() / 2; offs += 4)
{
@@ -417,7 +417,7 @@ void powerbal_state::draw_sprites_powerbal(bitmap_ind16 &bitmap, const rectangle
code = spriteram[offs + 2];
color = (spriteram[offs + 1] & 0xf000) >> 12;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,0,
@@ -502,7 +502,7 @@ static MACHINE_CONFIG_START( powerbal, powerbal_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(powerbal_state, screen_update_powerbal)
- MCFG_GFXDECODE(powerbal)
+ MCFG_GFXDECODE_ADD("gfxdecode", powerbal)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(powerbal_state,powerbal)
@@ -535,7 +535,7 @@ static MACHINE_CONFIG_START( magicstk, powerbal_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(powerbal_state, screen_update_powerbal)
- MCFG_GFXDECODE(powerbal)
+ MCFG_GFXDECODE_ADD("gfxdecode", powerbal)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(powerbal_state,powerbal)
diff --git a/src/mame/drivers/powerins.c b/src/mame/drivers/powerins.c
index 818703c1486..49af36b87f4 100644
--- a/src/mame/drivers/powerins.c
+++ b/src/mame/drivers/powerins.c
@@ -354,7 +354,7 @@ static MACHINE_CONFIG_START( powerins, powerins_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(powerins_state, screen_update_powerins)
- MCFG_GFXDECODE(powerins)
+ MCFG_GFXDECODE_ADD("gfxdecode", powerins)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/ppmast93.c b/src/mame/drivers/ppmast93.c
index d4434216a54..21a368e7a56 100644
--- a/src/mame/drivers/ppmast93.c
+++ b/src/mame/drivers/ppmast93.c
@@ -333,7 +333,7 @@ GFXDECODE_END
TILE_GET_INFO_MEMBER(ppmast93_state::get_ppmast93_bg_tile_info)
{
int code = (m_bgram[tile_index*2+1] << 8) | m_bgram[tile_index*2];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0x0fff,
(code & 0xf000) >> 12,
@@ -343,7 +343,7 @@ TILE_GET_INFO_MEMBER(ppmast93_state::get_ppmast93_bg_tile_info)
TILE_GET_INFO_MEMBER(ppmast93_state::get_ppmast93_fg_tile_info)
{
int code = (m_fgram[tile_index*2+1] << 8) | m_fgram[tile_index*2];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x0fff)+0x1000,
(code & 0xf000) >> 12,
@@ -385,7 +385,7 @@ static MACHINE_CONFIG_START( ppmast93, ppmast93_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(ppmast93_state, screen_update_ppmast93)
- MCFG_GFXDECODE(ppmast93)
+ MCFG_GFXDECODE_ADD("gfxdecode", ppmast93)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/prehisle.c b/src/mame/drivers/prehisle.c
index 4bdf2bbb131..dad0c5a434b 100644
--- a/src/mame/drivers/prehisle.c
+++ b/src/mame/drivers/prehisle.c
@@ -216,7 +216,7 @@ static MACHINE_CONFIG_START( prehisle, prehisle_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(prehisle_state, screen_update_prehisle)
- MCFG_GFXDECODE(prehisle)
+ MCFG_GFXDECODE_ADD("gfxdecode", prehisle)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/progolf.c b/src/mame/drivers/progolf.c
index 26ca0220880..ed15dba3afa 100644
--- a/src/mame/drivers/progolf.c
+++ b/src/mame/drivers/progolf.c
@@ -123,9 +123,9 @@ UINT32 progolf_state::screen_update_progolf(screen_device &screen, bitmap_ind16
{
int tile = videoram[count];
- machine().gfx[0]->opaque(bitmap,cliprect,tile,1,0,0,(256-x*8)+scroll,y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,tile,1,0,0,(256-x*8)+scroll,y*8);
/* wrap-around */
- machine().gfx[0]->opaque(bitmap,cliprect,tile,1,0,0,(256-x*8)+scroll-1024,y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,tile,1,0,0,(256-x*8)+scroll-1024,y*8);
count++;
}
@@ -437,7 +437,7 @@ static MACHINE_CONFIG_START( progolf, progolf_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(progolf_state, screen_update_progolf)
- MCFG_GFXDECODE(progolf)
+ MCFG_GFXDECODE_ADD("gfxdecode", progolf)
MCFG_PALETTE_LENGTH(32*3)
MCFG_MC6845_ADD("crtc", MC6845, "screen", 3000000/4, mc6845_intf) /* hand tuned to get ~57 fps */
diff --git a/src/mame/drivers/psikyo.c b/src/mame/drivers/psikyo.c
index a6232ea30d8..4d1f110e435 100644
--- a/src/mame/drivers/psikyo.c
+++ b/src/mame/drivers/psikyo.c
@@ -1050,7 +1050,7 @@ static MACHINE_CONFIG_START( sngkace, psikyo_state )
MCFG_SCREEN_UPDATE_DRIVER(psikyo_state, screen_update_psikyo)
MCFG_SCREEN_VBLANK_DRIVER(psikyo_state, screen_eof_psikyo)
- MCFG_GFXDECODE(psikyo)
+ MCFG_GFXDECODE_ADD("gfxdecode", psikyo)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_VIDEO_START_OVERRIDE(psikyo_state,sngkace)
@@ -1094,7 +1094,7 @@ static MACHINE_CONFIG_START( gunbird, psikyo_state )
MCFG_SCREEN_UPDATE_DRIVER(psikyo_state, screen_update_psikyo)
MCFG_SCREEN_VBLANK_DRIVER(psikyo_state, screen_eof_psikyo)
- MCFG_GFXDECODE(psikyo)
+ MCFG_GFXDECODE_ADD("gfxdecode", psikyo)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_VIDEO_START_OVERRIDE(psikyo_state,psikyo)
@@ -1127,7 +1127,7 @@ static MACHINE_CONFIG_START( s1945bl, psikyo_state ) /* Bootleg hardware based o
MCFG_SCREEN_UPDATE_DRIVER(psikyo_state, screen_update_psikyo_bootleg)
MCFG_SCREEN_VBLANK_DRIVER(psikyo_state, screen_eof_psikyo)
- MCFG_GFXDECODE(psikyo)
+ MCFG_GFXDECODE_ADD("gfxdecode", psikyo)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_VIDEO_START_OVERRIDE(psikyo_state,psikyo)
@@ -1175,7 +1175,7 @@ static MACHINE_CONFIG_START( s1945, psikyo_state )
MCFG_SCREEN_UPDATE_DRIVER(psikyo_state, screen_update_psikyo)
MCFG_SCREEN_VBLANK_DRIVER(psikyo_state, screen_eof_psikyo)
- MCFG_GFXDECODE(psikyo)
+ MCFG_GFXDECODE_ADD("gfxdecode", psikyo)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_VIDEO_START_OVERRIDE(psikyo_state,psikyo)
diff --git a/src/mame/drivers/psikyo4.c b/src/mame/drivers/psikyo4.c
index 7a23c441f48..9bc1418ea6c 100644
--- a/src/mame/drivers/psikyo4.c
+++ b/src/mame/drivers/psikyo4.c
@@ -660,7 +660,7 @@ static MACHINE_CONFIG_START( ps4big, psikyo4_state )
MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0)
/* video hardware */
- MCFG_GFXDECODE(ps4)
+ MCFG_GFXDECODE_ADD("gfxdecode", ps4)
MCFG_PALETTE_LENGTH((0x2000/4)*2 + 2) /* 0x2000/4 for each screen. 1 for each screen clear colour */
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mame/drivers/psikyosh.c b/src/mame/drivers/psikyosh.c
index 40ead945874..1c7a37b329f 100644
--- a/src/mame/drivers/psikyosh.c
+++ b/src/mame/drivers/psikyosh.c
@@ -801,7 +801,7 @@ static MACHINE_CONFIG_START( psikyo3v1, psikyosh_state )
MCFG_SCREEN_UPDATE_DRIVER(psikyosh_state, screen_update_psikyosh)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram32_device, vblank_copy_rising)
- MCFG_GFXDECODE(psikyosh)
+ MCFG_GFXDECODE_ADD("gfxdecode", psikyosh)
MCFG_PALETTE_LENGTH(0x5000/4)
diff --git a/src/mame/drivers/psychic5.c b/src/mame/drivers/psychic5.c
index ee1effde547..b8fad19930b 100644
--- a/src/mame/drivers/psychic5.c
+++ b/src/mame/drivers/psychic5.c
@@ -677,7 +677,7 @@ static MACHINE_CONFIG_START( psychic5, psychic5_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(psychic5_state, screen_update_psychic5)
- MCFG_GFXDECODE(psychic5)
+ MCFG_GFXDECODE_ADD("gfxdecode", psychic5)
MCFG_PALETTE_LENGTH(768)
MCFG_VIDEO_START_OVERRIDE(psychic5_state,psychic5)
@@ -722,7 +722,7 @@ static MACHINE_CONFIG_START( bombsa, psychic5_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(psychic5_state, screen_update_bombsa)
- MCFG_GFXDECODE(bombsa)
+ MCFG_GFXDECODE_ADD("gfxdecode", bombsa)
MCFG_PALETTE_LENGTH(768)
MCFG_VIDEO_START_OVERRIDE(psychic5_state,bombsa)
diff --git a/src/mame/drivers/pturn.c b/src/mame/drivers/pturn.c
index 842d836ab39..8ab76ff7f2f 100644
--- a/src/mame/drivers/pturn.c
+++ b/src/mame/drivers/pturn.c
@@ -143,7 +143,7 @@ TILE_GET_INFO_MEMBER(pturn_state::get_pturn_tile_info)
tileno=tile_lookup[tileno>>4]|(tileno&0xf)|(m_fgbank<<8);
- SET_TILE_INFO_MEMBER(0,tileno,m_fgpalette,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,m_fgpalette,0);
}
@@ -157,7 +157,7 @@ TILE_GET_INFO_MEMBER(pturn_state::get_pturn_bg_tile_info)
{
palno=25;
}
- SET_TILE_INFO_MEMBER(1,tileno+m_bgbank*256,palno,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno+m_bgbank*256,palno,0);
}
void pturn_state::video_start()
@@ -200,7 +200,7 @@ UINT32 pturn_state::screen_update_pturn(screen_device &screen, bitmap_ind16 &bit
if(sx|sy)
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
spriteram[offs+1] & 0x3f ,
(spriteram[offs+2] & 0x1f),
flipx, flipy,
@@ -505,7 +505,7 @@ static MACHINE_CONFIG_START( pturn, pturn_state )
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
- MCFG_GFXDECODE(pturn)
+ MCFG_GFXDECODE_ADD("gfxdecode", pturn)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/punchout.c b/src/mame/drivers/punchout.c
index 78ec6eb1472..bc4d4a64256 100644
--- a/src/mame/drivers/punchout.c
+++ b/src/mame/drivers/punchout.c
@@ -946,7 +946,7 @@ static MACHINE_CONFIG_START( punchout, punchout_state )
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
- MCFG_GFXDECODE(punchout)
+ MCFG_GFXDECODE_ADD("gfxdecode", punchout)
MCFG_PALETTE_LENGTH(0x200)
MCFG_DEFAULT_LAYOUT(layout_dualhovu)
@@ -985,7 +985,7 @@ static MACHINE_CONFIG_DERIVED( armwrest, punchout )
MCFG_CPU_PROGRAM_MAP(armwrest_map)
/* video hardware */
- MCFG_GFXDECODE(armwrest)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", armwrest)
MCFG_VIDEO_START_OVERRIDE(punchout_state,armwrest)
MCFG_SCREEN_MODIFY("top")
diff --git a/src/mame/drivers/pushman.c b/src/mame/drivers/pushman.c
index 82aa8a234cb..0f1721b428e 100644
--- a/src/mame/drivers/pushman.c
+++ b/src/mame/drivers/pushman.c
@@ -436,7 +436,7 @@ static MACHINE_CONFIG_START( pushman, pushman_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pushman_state, screen_update_pushman)
- MCFG_GFXDECODE(pushman)
+ MCFG_GFXDECODE_ADD("gfxdecode", pushman)
MCFG_PALETTE_LENGTH(1024)
@@ -482,7 +482,7 @@ static MACHINE_CONFIG_START( bballs, pushman_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pushman_state, screen_update_pushman)
- MCFG_GFXDECODE(pushman)
+ MCFG_GFXDECODE_ADD("gfxdecode", pushman)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/pzletime.c b/src/mame/drivers/pzletime.c
index 4253f50d3cf..f036569a819 100644
--- a/src/mame/drivers/pzletime.c
+++ b/src/mame/drivers/pzletime.c
@@ -76,7 +76,7 @@ TILE_GET_INFO_MEMBER(pzletime_state::get_mid_tile_info)
int tileno = m_mid_videoram[tile_index] & 0x0fff;
int colour = m_mid_videoram[tile_index] & 0xf000;
colour = colour >> 12;
- SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tileno, colour, 0);
}
TILE_GET_INFO_MEMBER(pzletime_state::get_txt_tile_info)
@@ -85,7 +85,7 @@ TILE_GET_INFO_MEMBER(pzletime_state::get_txt_tile_info)
int colour = m_txt_videoram[tile_index] & 0xf000;
colour = colour >> 12;
- SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour, 0);
tileinfo.category = BIT(colour, 3);
}
@@ -146,7 +146,7 @@ UINT32 pzletime_state::screen_update_pzletime(screen_device &screen, bitmap_ind1
// is spriteram[offs + 0] & 0x200 flipy? it's always set
- machine().gfx[1]->transpen(bitmap,cliprect, spr_offs, colour, 0, 1, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, spr_offs, colour, 0, 1, sx, sy, 0);
}
}
@@ -335,7 +335,7 @@ static MACHINE_CONFIG_START( pzletime, pzletime_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pzletime_state, screen_update_pzletime)
- MCFG_GFXDECODE(pzletime)
+ MCFG_GFXDECODE_ADD("gfxdecode", pzletime)
MCFG_PALETTE_LENGTH(0x300 + 32768)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
diff --git a/src/mame/drivers/qdrmfgp.c b/src/mame/drivers/qdrmfgp.c
index 97f40f4a66f..520da90653a 100644
--- a/src/mame/drivers/qdrmfgp.c
+++ b/src/mame/drivers/qdrmfgp.c
@@ -637,7 +637,9 @@ static MACHINE_CONFIG_START( qdrmfgp, qdrmfgp_state )
MCFG_VIDEO_START_OVERRIDE(qdrmfgp_state,qdrmfgp)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K056832_ADD("k056832", qdrmfgp_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K053252_ADD("k053252", XTAL_32MHz/4, qdrmfgp_k053252_intf)
/* sound hardware */
@@ -674,7 +676,9 @@ static MACHINE_CONFIG_START( qdrmfgp2, qdrmfgp_state )
MCFG_VIDEO_START_OVERRIDE(qdrmfgp_state,qdrmfgp2)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K056832_ADD("k056832", qdrmfgp2_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K053252_ADD("k053252", XTAL_32MHz/4, qdrmfgp2_k053252_intf)
/* sound hardware */
diff --git a/src/mame/drivers/quasar.c b/src/mame/drivers/quasar.c
index a61054a11a3..f4ce158998b 100644
--- a/src/mame/drivers/quasar.c
+++ b/src/mame/drivers/quasar.c
@@ -336,7 +336,7 @@ static MACHINE_CONFIG_START( quasar, quasar_state )
MCFG_SCREEN_VISIBLE_AREA(1*8+1, 29*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(quasar_state, screen_update_quasar)
- MCFG_GFXDECODE(quasar)
+ MCFG_GFXDECODE_ADD("gfxdecode", quasar)
MCFG_PALETTE_LENGTH((64+1)*8+(4*256))
MCFG_S2636_ADD("s2636_0", s2636_0_config)
diff --git a/src/mame/drivers/quizdna.c b/src/mame/drivers/quizdna.c
index a50a66b8105..0c4c596f935 100644
--- a/src/mame/drivers/quizdna.c
+++ b/src/mame/drivers/quizdna.c
@@ -454,7 +454,7 @@ static MACHINE_CONFIG_START( quizdna, quizdna_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, 56*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(quizdna_state, screen_update_quizdna)
- MCFG_GFXDECODE(quizdna)
+ MCFG_GFXDECODE_ADD("gfxdecode", quizdna)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/quizpani.c b/src/mame/drivers/quizpani.c
index b1b40602522..8c66000589a 100644
--- a/src/mame/drivers/quizpani.c
+++ b/src/mame/drivers/quizpani.c
@@ -199,7 +199,7 @@ static MACHINE_CONFIG_START( quizpani, quizpani_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", quizpani_state, irq4_line_hold)
MCFG_CPU_PERIODIC_INT_DRIVER(quizpani_state, irq1_line_hold, 164) // music tempo
- MCFG_GFXDECODE(quizpani)
+ MCFG_GFXDECODE_ADD("gfxdecode", quizpani)
MCFG_PALETTE_LENGTH(0x200)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c
index 994440ad403..3c538bcba62 100644
--- a/src/mame/drivers/quizpun2.c
+++ b/src/mame/drivers/quizpun2.c
@@ -129,14 +129,14 @@ public:
TILE_GET_INFO_MEMBER(quizpun2_state::get_bg_tile_info)
{
UINT16 code = m_bg_ram[ tile_index * 2 ] + m_bg_ram[ tile_index * 2 + 1 ] * 256;
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
TILE_GET_INFO_MEMBER(quizpun2_state::get_fg_tile_info)
{
UINT16 code = m_fg_ram[ tile_index * 4 ] + m_fg_ram[ tile_index * 4 + 1 ] * 256;
UINT8 color = m_fg_ram[ tile_index * 4 + 2 ];
- SET_TILE_INFO_MEMBER(1, code, color & 0x0f, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color & 0x0f, 0);
}
WRITE8_MEMBER(quizpun2_state::bg_ram_w)
@@ -509,7 +509,7 @@ static MACHINE_CONFIG_START( quizpun2, quizpun2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(quizpun2_state, screen_update_quizpun2)
- MCFG_GFXDECODE(quizpun2)
+ MCFG_GFXDECODE_ADD("gfxdecode", quizpun2)
MCFG_PALETTE_LENGTH(0x200)
diff --git a/src/mame/drivers/quizshow.c b/src/mame/drivers/quizshow.c
index 89af24c297e..af5643fa36a 100644
--- a/src/mame/drivers/quizshow.c
+++ b/src/mame/drivers/quizshow.c
@@ -107,7 +107,7 @@ TILE_GET_INFO_MEMBER(quizshow_state::get_tile_info)
// d6: blink, d7: invert
UINT8 color = (code & (m_blink_state | 0x80)) >> 6;
- SET_TILE_INFO_MEMBER(0, code & 0x3f, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x3f, color, 0);
}
void quizshow_state::video_start()
@@ -389,7 +389,7 @@ static MACHINE_CONFIG_START( quizshow, quizshow_state )
MCFG_SCREEN_UPDATE_DRIVER(quizshow_state, screen_update_quizshow)
- MCFG_GFXDECODE(quizshow)
+ MCFG_GFXDECODE_ADD("gfxdecode", quizshow)
MCFG_PALETTE_LENGTH(8*2)
/* sound hardware (discrete) */
diff --git a/src/mame/drivers/r2dx_v33.c b/src/mame/drivers/r2dx_v33.c
index 7f78f48e15f..8fb3f9d92fe 100644
--- a/src/mame/drivers/r2dx_v33.c
+++ b/src/mame/drivers/r2dx_v33.c
@@ -86,7 +86,7 @@ TILE_GET_INFO_MEMBER(r2dx_v33_state::get_bg_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(1,tile + 0x0000,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tile + 0x0000,color,0);
}
TILE_GET_INFO_MEMBER(r2dx_v33_state::get_md_tile_info)
@@ -96,7 +96,7 @@ TILE_GET_INFO_MEMBER(r2dx_v33_state::get_md_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(2,tile + 0x2000,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,tile + 0x2000,color,0);
}
TILE_GET_INFO_MEMBER(r2dx_v33_state::get_fg_tile_info)
@@ -106,7 +106,7 @@ TILE_GET_INFO_MEMBER(r2dx_v33_state::get_fg_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(3,tile + 0x1000,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3,tile + 0x1000,color,0);
}
TILE_GET_INFO_MEMBER(r2dx_v33_state::get_tx_tile_info)
@@ -116,7 +116,7 @@ TILE_GET_INFO_MEMBER(r2dx_v33_state::get_tx_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(4,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4,tile,color,0);
}
/* copied from Legionnaire */
@@ -163,7 +163,7 @@ void r2dx_v33_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++)
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite++,
color,fx,fy,x+ax*16,y+ay*16,15);
}
@@ -173,7 +173,7 @@ void r2dx_v33_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++)
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite++,
color,fx,fy,x+ax*16,y+(dy-ay-1)*16,15);
}
@@ -186,7 +186,7 @@ void r2dx_v33_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++)
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite++,
color,fx,fy,x+(dx-ax-1)*16,y+ay*16,15);
}
@@ -196,7 +196,7 @@ void r2dx_v33_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++)
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite++,
color,fx,fy,x+(dx-ax-1)*16,y+(dy-ay-1)*16,15);
}
@@ -708,7 +708,7 @@ static MACHINE_CONFIG_START( rdx_v33, r2dx_v33_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(r2dx_v33_state, screen_update_rdx_v33)
- MCFG_GFXDECODE(rdx_v33)
+ MCFG_GFXDECODE_ADD("gfxdecode", rdx_v33)
MCFG_PALETTE_LENGTH(2048)
@@ -738,7 +738,7 @@ static MACHINE_CONFIG_START( nzerotea, r2dx_v33_state )
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(r2dx_v33_state, screen_update_rdx_v33)
- MCFG_GFXDECODE(rdx_v33)
+ MCFG_GFXDECODE_ADD("gfxdecode", rdx_v33)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/rabbit.c b/src/mame/drivers/rabbit.c
index 0d31d7405c4..24d8cc6fd25 100644
--- a/src/mame/drivers/rabbit.c
+++ b/src/mame/drivers/rabbit.c
@@ -208,7 +208,7 @@ void rabbit_state::get_rabbit_tilemap_info(tile_data &tileinfo, int tile_index,
colour &= 0x0f;
colour += 0x20;
tileinfo.group = 1;
- SET_TILE_INFO_MEMBER(6+tilesize,tileno,colour,TILE_FLIPXY(flipxy));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 6+tilesize,tileno,colour,TILE_FLIPXY(flipxy));
}
else
{
@@ -216,7 +216,7 @@ void rabbit_state::get_rabbit_tilemap_info(tile_data &tileinfo, int tile_index,
if (cmask) colour&=0x3f; // see health bars
colour += 0x200;
tileinfo.group = 0;
- SET_TILE_INFO_MEMBER(4+tilesize,tileno,colour,TILE_FLIPXY(flipxy));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4+tilesize,tileno,colour,TILE_FLIPXY(flipxy));
}
}
@@ -287,7 +287,7 @@ sprites invisible at the end of a round in rabbit, why?
void rabbit_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
int xpos,ypos,tileno,xflip,yflip, colr;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
int todraw = (m_spriteregs[5]&0x0fff0000)>>16; // how many sprites to draw (start/end reg..) what is the other half?
UINT32 *source = (m_spriteram+ (todraw*2))-2;
@@ -895,7 +895,7 @@ static MACHINE_CONFIG_START( rabbit, rabbit_state )
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
- MCFG_GFXDECODE(rabbit)
+ MCFG_GFXDECODE_ADD("gfxdecode", rabbit)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/raiden.c b/src/mame/drivers/raiden.c
index 13fda6b0b51..f8b281e6b3d 100644
--- a/src/mame/drivers/raiden.c
+++ b/src/mame/drivers/raiden.c
@@ -290,7 +290,7 @@ static MACHINE_CONFIG_START( raiden, raiden_state )
MCFG_SCREEN_UPDATE_DRIVER(raiden_state, screen_update_raiden)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(raiden)
+ MCFG_GFXDECODE_ADD("gfxdecode", raiden)
MCFG_PALETTE_LENGTH(2048)
/* sound hardware */
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index 3f02ac1ff22..3d0f3ba0791 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -726,7 +726,7 @@ void raiden2_state::draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,
{
UINT16 *source = sprites + sprites_cur_start/2 - 4;
- gfx_element *gfx = machine.gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
// static int ytlim = 1;
// static int xtlim = 1;
@@ -955,7 +955,7 @@ TILE_GET_INFO_MEMBER(raiden2_state::get_back_tile_info)
tile = (tile & 0xfff) | (bg_bank << 12);
- SET_TILE_INFO_MEMBER(1,tile+0x0000,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tile+0x0000,color,0);
}
TILE_GET_INFO_MEMBER(raiden2_state::get_mid_tile_info)
@@ -965,7 +965,7 @@ TILE_GET_INFO_MEMBER(raiden2_state::get_mid_tile_info)
tile = (tile & 0xfff) | (mid_bank << 12);
- SET_TILE_INFO_MEMBER(1,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tile,color,0);
}
TILE_GET_INFO_MEMBER(raiden2_state::get_fore_tile_info)
@@ -975,7 +975,7 @@ TILE_GET_INFO_MEMBER(raiden2_state::get_fore_tile_info)
tile = (tile & 0xfff) | (fg_bank << 12);
- SET_TILE_INFO_MEMBER(1,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tile,color,0);
}
TILE_GET_INFO_MEMBER(raiden2_state::get_text_tile_info)
@@ -985,7 +985,7 @@ TILE_GET_INFO_MEMBER(raiden2_state::get_text_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,0);
}
/* VIDEO START (move to video file) */
@@ -1887,7 +1887,7 @@ static MACHINE_CONFIG_START( raiden2, raiden2_state )
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(raiden2_state, screen_update_raiden2)
- MCFG_GFXDECODE(raiden2)
+ MCFG_GFXDECODE_ADD("gfxdecode", raiden2)
MCFG_PALETTE_LENGTH(2048)
MCFG_SEIBU_CRTC_ADD("crtc",crtc_intf,0)
@@ -1943,7 +1943,7 @@ static MACHINE_CONFIG_START( zeroteam, raiden2_state )
// MCFG_SCREEN_REFRESH_RATE(55.47) /* verified on pcb */
MCFG_SCREEN_RAW_PARAMS(XTAL_32MHz/4,546,0,40*8,264,0,32*8) /* hand-tuned to match ~55.47 */
MCFG_SCREEN_UPDATE_DRIVER(raiden2_state, screen_update_raiden2)
- MCFG_GFXDECODE(raiden2)
+ MCFG_GFXDECODE_ADD("gfxdecode", raiden2)
MCFG_PALETTE_LENGTH(2048)
MCFG_SEIBU_CRTC_ADD("crtc",crtc_intf,0)
diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c
index 8f1eef54be1..ee457232665 100644
--- a/src/mame/drivers/rainbow.c
+++ b/src/mame/drivers/rainbow.c
@@ -666,11 +666,13 @@ static MACHINE_CONFIG_START( rbisland, rbisland_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rbisland_state, screen_update_rainbow)
- MCFG_GFXDECODE(rbisland)
+ MCFG_GFXDECODE_ADD("gfxdecode", rbisland)
MCFG_PALETTE_LENGTH(8192)
MCFG_PC080SN_ADD("pc080sn", rbisland_pc080sn_intf)
+ MCFG_PC080SN_GFXDECODE("gfxdecode")
MCFG_PC090OJ_ADD("pc090oj", rbisland_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -707,12 +709,13 @@ static MACHINE_CONFIG_START( jumping, rbisland_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rbisland_state, screen_update_jumping)
- MCFG_GFXDECODE(jumping)
+ MCFG_GFXDECODE_ADD("gfxdecode", jumping)
MCFG_PALETTE_LENGTH(8192)
MCFG_VIDEO_START_OVERRIDE(rbisland_state,jumping)
MCFG_PC080SN_ADD("pc080sn", jumping_pc080sn_intf)
+ MCFG_PC080SN_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/rallyx.c b/src/mame/drivers/rallyx.c
index e3fe3352505..407eb68a67d 100644
--- a/src/mame/drivers/rallyx.c
+++ b/src/mame/drivers/rallyx.c
@@ -869,7 +869,7 @@ static MACHINE_CONFIG_START( rallyx, rallyx_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rallyx_state, screen_update_rallyx)
- MCFG_GFXDECODE(rallyx)
+ MCFG_GFXDECODE_ADD("gfxdecode", rallyx)
MCFG_PALETTE_LENGTH(64*4+4)
MCFG_PALETTE_INIT_OVERRIDE(rallyx_state,rallyx)
@@ -907,7 +907,7 @@ static MACHINE_CONFIG_START( jungler, rallyx_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rallyx_state, screen_update_jungler)
- MCFG_GFXDECODE(jungler)
+ MCFG_GFXDECODE_ADD("gfxdecode", jungler)
MCFG_PALETTE_LENGTH(64*4+4+64)
MCFG_PALETTE_INIT_OVERRIDE(rallyx_state,jungler)
diff --git a/src/mame/drivers/rampart.c b/src/mame/drivers/rampart.c
index c0467c6ea45..68b61c483b1 100644
--- a/src/mame/drivers/rampart.c
+++ b/src/mame/drivers/rampart.c
@@ -347,10 +347,11 @@ static MACHINE_CONFIG_START( rampart, rampart_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(rampart)
+ MCFG_GFXDECODE_ADD("gfxdecode", rampart)
MCFG_PALETTE_LENGTH(512)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", rampart_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c
index b1e1b2a2aa7..72d6f2b1dcf 100644
--- a/src/mame/drivers/rastan.c
+++ b/src/mame/drivers/rastan.c
@@ -400,11 +400,13 @@ static MACHINE_CONFIG_START( rastan, rastan_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rastan_state, screen_update_rastan)
- MCFG_GFXDECODE(rastan)
+ MCFG_GFXDECODE_ADD("gfxdecode", rastan)
MCFG_PALETTE_LENGTH(8192)
MCFG_PC080SN_ADD("pc080sn", rastan_pc080sn_intf)
+ MCFG_PC080SN_GFXDECODE("gfxdecode")
MCFG_PC090OJ_ADD("pc090oj", rastan_pc090oj_intf)
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/rbmk.c b/src/mame/drivers/rbmk.c
index 48b70c0704a..9f4d9d4de5e 100644
--- a/src/mame/drivers/rbmk.c
+++ b/src/mame/drivers/rbmk.c
@@ -513,7 +513,7 @@ UINT32 rbmk_state::screen_update_rbmk(screen_device &screen, bitmap_ind16 &bitma
for (x=0;x<64;x++)
{
int tile = m_gms_vidram2[count+0x600];
- machine().gfx[0]->opaque(bitmap,cliprect,(tile&0xfff)+((m_tilebank&0x10)>>4)*0x1000,tile>>12,0,0,x*8,y*32);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,(tile&0xfff)+((m_tilebank&0x10)>>4)*0x1000,tile>>12,0,0,x*8,y*32);
count++;
}
}
@@ -525,7 +525,7 @@ UINT32 rbmk_state::screen_update_rbmk(screen_device &screen, bitmap_ind16 &bitma
for (x=0;x<64;x++)
{
int tile = m_gms_vidram[count];
- machine().gfx[1]->transpen(bitmap,cliprect,(tile&0xfff)+((m_tilebank>>1)&3)*0x1000,tile>>12,0,0,x*8,y*8,0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,(tile&0xfff)+((m_tilebank>>1)&3)*0x1000,tile>>12,0,0,x*8,y*8,0);
count++;
}
}
@@ -547,7 +547,7 @@ static MACHINE_CONFIG_START( rbmk, rbmk_state )
MCFG_CPU_IO_MAP(rbmk_mcu_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", rbmk_state, mcu_irq)
- MCFG_GFXDECODE(rbmk)
+ MCFG_GFXDECODE_ADD("gfxdecode", rbmk)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/rcorsair.c b/src/mame/drivers/rcorsair.c
index 0d85bba4448..1318cd20aed 100644
--- a/src/mame/drivers/rcorsair.c
+++ b/src/mame/drivers/rcorsair.c
@@ -143,7 +143,7 @@ static MACHINE_CONFIG_START( rcorsair, rcorsair_state )
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-1)
- MCFG_GFXDECODE(rcorsair)
+ MCFG_GFXDECODE_ADD("gfxdecode", rcorsair)
MCFG_PALETTE_LENGTH(0x100)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/realbrk.c b/src/mame/drivers/realbrk.c
index 42d4e288884..df208f6bb9f 100644
--- a/src/mame/drivers/realbrk.c
+++ b/src/mame/drivers/realbrk.c
@@ -779,7 +779,7 @@ static MACHINE_CONFIG_START( realbrk, realbrk_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xe0-1)
MCFG_SCREEN_UPDATE_DRIVER(realbrk_state, screen_update_realbrk)
- MCFG_GFXDECODE(realbrk)
+ MCFG_GFXDECODE_ADD("gfxdecode", realbrk)
MCFG_PALETTE_LENGTH(0x8000)
@@ -811,7 +811,7 @@ static MACHINE_CONFIG_DERIVED( dai2kaku, realbrk )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(dai2kaku_mem)
- MCFG_GFXDECODE(dai2kaku)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", dai2kaku)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(realbrk_state, screen_update_dai2kaku)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/redclash.c b/src/mame/drivers/redclash.c
index 7d17a2201ea..d171ee0ac49 100644
--- a/src/mame/drivers/redclash.c
+++ b/src/mame/drivers/redclash.c
@@ -363,7 +363,7 @@ static MACHINE_CONFIG_START( zerohour, ladybug_state )
MCFG_SCREEN_UPDATE_DRIVER(ladybug_state, screen_update_redclash)
MCFG_SCREEN_VBLANK_DRIVER(ladybug_state, screen_eof_redclash)
- MCFG_GFXDECODE(redclash)
+ MCFG_GFXDECODE_ADD("gfxdecode", redclash)
MCFG_PALETTE_LENGTH(4*8+4*16+32)
MCFG_PALETTE_INIT_OVERRIDE(ladybug_state,redclash)
@@ -391,7 +391,7 @@ static MACHINE_CONFIG_START( redclash, ladybug_state )
MCFG_SCREEN_UPDATE_DRIVER(ladybug_state, screen_update_redclash)
MCFG_SCREEN_VBLANK_DRIVER(ladybug_state, screen_eof_redclash)
- MCFG_GFXDECODE(redclash)
+ MCFG_GFXDECODE_ADD("gfxdecode", redclash)
MCFG_PALETTE_LENGTH(4*8+4*16+32)
MCFG_PALETTE_INIT_OVERRIDE(ladybug_state,redclash)
diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c
index 488eda0ca67..cdf7ef34fa2 100644
--- a/src/mame/drivers/relief.c
+++ b/src/mame/drivers/relief.c
@@ -272,13 +272,13 @@ static MACHINE_CONFIG_START( relief, relief_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(relief)
+ MCFG_GFXDECODE_ADD("gfxdecode", relief)
MCFG_PALETTE_LENGTH(2048)
MCFG_ATARI_VAD_ADD("vad", "screen", WRITELINE(atarigen_state, scanline_int_write_line))
MCFG_ATARI_VAD_PLAYFIELD(relief_state, get_playfield_tile_info)
MCFG_ATARI_VAD_PLAYFIELD2(relief_state, get_playfield2_tile_info)
- MCFG_ATARI_VAD_MOB(relief_state::s_mob_config)
+ MCFG_ATARI_VAD_MOB(relief_state::s_mob_config, "gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c
index d3629e6373c..6d27db3387d 100644
--- a/src/mame/drivers/renegade.c
+++ b/src/mame/drivers/renegade.c
@@ -893,7 +893,7 @@ static MACHINE_CONFIG_START( renegade, renegade_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 0, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(renegade_state, screen_update_renegade)
- MCFG_GFXDECODE(renegade)
+ MCFG_GFXDECODE_ADD("gfxdecode", renegade)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/retofinv.c b/src/mame/drivers/retofinv.c
index 2f63c2d06d8..cee79d41698 100644
--- a/src/mame/drivers/retofinv.c
+++ b/src/mame/drivers/retofinv.c
@@ -369,7 +369,7 @@ static MACHINE_CONFIG_START( retofinv, retofinv_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(retofinv_state, screen_update_retofinv)
- MCFG_GFXDECODE(retofinv)
+ MCFG_GFXDECODE_ADD("gfxdecode", retofinv)
MCFG_PALETTE_LENGTH(256*2+64*16+64*16)
diff --git a/src/mame/drivers/rgum.c b/src/mame/drivers/rgum.c
index 79f8fe4405f..14370640506 100644
--- a/src/mame/drivers/rgum.c
+++ b/src/mame/drivers/rgum.c
@@ -45,7 +45,7 @@ void rgum_state::video_start()
UINT32 rgum_state::screen_update_royalgum(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
int x,y,count;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
count = 0;
@@ -284,7 +284,7 @@ static MACHINE_CONFIG_START( rgum, rgum_state )
MCFG_I8255A_ADD( "ppi8255", ppi8255_intf )
- MCFG_GFXDECODE(rgum)
+ MCFG_GFXDECODE_ADD("gfxdecode", rgum)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/rmhaihai.c b/src/mame/drivers/rmhaihai.c
index c47c4984c17..060910ccd01 100644
--- a/src/mame/drivers/rmhaihai.c
+++ b/src/mame/drivers/rmhaihai.c
@@ -86,7 +86,7 @@ TILE_GET_INFO_MEMBER(rmhaihai_state::get_bg_tile_info)
int code = m_videoram[tile_index] + (m_gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
int color = (m_gfxbank << 5) + (attr >> 3);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void rmhaihai_state::video_start()
@@ -482,7 +482,7 @@ static MACHINE_CONFIG_START( rmhaihai, rmhaihai_state )
MCFG_SCREEN_VISIBLE_AREA(4*8, 60*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rmhaihai_state, screen_update_rmhaihai)
- MCFG_GFXDECODE(rmhaihai)
+ MCFG_GFXDECODE_ADD("gfxdecode", rmhaihai)
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -504,7 +504,7 @@ static MACHINE_CONFIG_DERIVED( rmhaisei, rmhaihai )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(themj)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", themj)
MCFG_PALETTE_LENGTH(0x200)
MACHINE_CONFIG_END
@@ -519,7 +519,7 @@ static MACHINE_CONFIG_DERIVED( themj, rmhaihai )
MCFG_MACHINE_RESET_OVERRIDE(rmhaihai_state,themj)
/* video hardware */
- MCFG_GFXDECODE(themj)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", themj)
MCFG_PALETTE_LENGTH(0x200)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/rockrage.c b/src/mame/drivers/rockrage.c
index d7279349419..7213fcae894 100644
--- a/src/mame/drivers/rockrage.c
+++ b/src/mame/drivers/rockrage.c
@@ -268,9 +268,11 @@ static MACHINE_CONFIG_START( rockrage, rockrage_state )
MCFG_SCREEN_UPDATE_DRIVER(rockrage_state, screen_update_rockrage)
MCFG_K007342_ADD("k007342", rockrage_k007342_intf)
+ MCFG_K007342_GFXDECODE("gfxdecode")
+
MCFG_K007420_ADD("k007420", rockrage_k007420_intf)
- MCFG_GFXDECODE(rockrage)
+ MCFG_GFXDECODE_ADD("gfxdecode", rockrage)
MCFG_PALETTE_LENGTH(64 + 2*16*16)
diff --git a/src/mame/drivers/rocnrope.c b/src/mame/drivers/rocnrope.c
index bbe732e568a..6cf438183f4 100644
--- a/src/mame/drivers/rocnrope.c
+++ b/src/mame/drivers/rocnrope.c
@@ -207,7 +207,7 @@ static MACHINE_CONFIG_START( rocnrope, rocnrope_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rocnrope_state, screen_update_rocnrope)
- MCFG_GFXDECODE(rocnrope)
+ MCFG_GFXDECODE_ADD("gfxdecode", rocnrope)
MCFG_PALETTE_LENGTH(16*16+16*16)
diff --git a/src/mame/drivers/rohga.c b/src/mame/drivers/rohga.c
index 90f7828b8ed..6e9a8ee8052 100644
--- a/src/mame/drivers/rohga.c
+++ b/src/mame/drivers/rohga.c
@@ -828,7 +828,7 @@ static MACHINE_CONFIG_START( rohga, rohga_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rohga_state, screen_update_rohga)
- MCFG_GFXDECODE(rohga)
+ MCFG_GFXDECODE_ADD("gfxdecode", rohga)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(rohga_state,rohga)
@@ -836,10 +836,14 @@ static MACHINE_CONFIG_START( rohga, rohga_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", rohga_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", rohga_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO104_ADD("ioprot104")
@@ -882,19 +886,24 @@ static MACHINE_CONFIG_START( wizdfire, rohga_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rohga_state, screen_update_wizdfire)
- MCFG_GFXDECODE(wizdfire)
+ MCFG_GFXDECODE_ADD("gfxdecode", wizdfire)
MCFG_PALETTE_LENGTH(2048)
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", rohga_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", rohga_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO104_ADD("ioprot104")
MCFG_DECO146_SET_INTERFACE_SCRAMBLE_REVERSE
@@ -940,19 +949,24 @@ static MACHINE_CONFIG_START( nitrobal, rohga_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rohga_state, screen_update_nitrobal)
- MCFG_GFXDECODE(wizdfire)
+ MCFG_GFXDECODE_ADD("gfxdecode", wizdfire)
MCFG_PALETTE_LENGTH(2048)
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", nitrobal_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", nitrobal_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 4);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(rohga_state,wizdfire)
@@ -999,7 +1013,7 @@ static MACHINE_CONFIG_START( schmeisr, rohga_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rohga_state, screen_update_rohga)
- MCFG_GFXDECODE(schmeisr)
+ MCFG_GFXDECODE_ADD("gfxdecode", schmeisr)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(rohga_state,schmeisr)
@@ -1007,10 +1021,14 @@ static MACHINE_CONFIG_START( schmeisr, rohga_state )
MCFG_DECOCOMN_ADD("deco_common")
MCFG_DECO16IC_ADD("tilegen1", rohga_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DECO16IC_ADD("tilegen2", rohga_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO104_ADD("ioprot104")
diff --git a/src/mame/drivers/rollerg.c b/src/mame/drivers/rollerg.c
index b74b43e02c8..918664308c5 100644
--- a/src/mame/drivers/rollerg.c
+++ b/src/mame/drivers/rollerg.c
@@ -289,9 +289,14 @@ static MACHINE_CONFIG_START( rollerg, rollerg_state )
MCFG_PALETTE_LENGTH(1024)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_K053244_ADD("k053244", rollerg_k05324x_intf)
+ MCFG_K053244_GFXDECODE("gfxdecode")
+
MCFG_K051316_ADD("k051316", rollerg_k051316_intf)
+ MCFG_K051316_GFXDECODE("gfxdecode")
+
MCFG_K053252_ADD("k053252", 3000000*2, rollerg_k053252_intf)
/* sound hardware */
diff --git a/src/mame/drivers/rollrace.c b/src/mame/drivers/rollrace.c
index 9f2c0bec6f0..2b40b1b3df2 100644
--- a/src/mame/drivers/rollrace.c
+++ b/src/mame/drivers/rollrace.c
@@ -237,7 +237,7 @@ static MACHINE_CONFIG_START( rollrace, rollrace_state )
MCFG_SCREEN_VISIBLE_AREA(16,255,16, 255-16)
MCFG_SCREEN_UPDATE_DRIVER(rollrace_state, screen_update_rollrace)
- MCFG_GFXDECODE(rollrace)
+ MCFG_GFXDECODE_ADD("gfxdecode", rollrace)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/rpunch.c b/src/mame/drivers/rpunch.c
index 20187a3ef63..c8c7bb07c50 100644
--- a/src/mame/drivers/rpunch.c
+++ b/src/mame/drivers/rpunch.c
@@ -490,7 +490,7 @@ static MACHINE_CONFIG_START( rpunch, rpunch_state )
MCFG_SCREEN_VISIBLE_AREA(8, 303-8, 0, 223-8)
MCFG_SCREEN_UPDATE_DRIVER(rpunch_state, screen_update_rpunch)
- MCFG_GFXDECODE(rpunch)
+ MCFG_GFXDECODE_ADD("gfxdecode", rpunch)
MCFG_PALETTE_LENGTH(1024)
@@ -525,7 +525,7 @@ static MACHINE_CONFIG_START( svolleybl, rpunch_state )
MCFG_SCREEN_VISIBLE_AREA(8, 303-8, 0, 223-8)
MCFG_SCREEN_UPDATE_DRIVER(rpunch_state, screen_update_rpunch)
- MCFG_GFXDECODE(svolleybl)
+ MCFG_GFXDECODE_ADD("gfxdecode", svolleybl)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/runaway.c b/src/mame/drivers/runaway.c
index 0036e47d709..6835aa35883 100644
--- a/src/mame/drivers/runaway.c
+++ b/src/mame/drivers/runaway.c
@@ -360,7 +360,7 @@ static MACHINE_CONFIG_START( runaway, runaway_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(runaway_state, screen_update_runaway)
- MCFG_GFXDECODE(runaway)
+ MCFG_GFXDECODE_ADD("gfxdecode", runaway)
MCFG_PALETTE_LENGTH(16)
@@ -382,7 +382,7 @@ static MACHINE_CONFIG_DERIVED( qwak, runaway )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(qwak)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", qwak)
MCFG_VIDEO_START_OVERRIDE(runaway_state,qwak)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c
index 1ca876447ed..d978f9a04bd 100644
--- a/src/mame/drivers/rungun.c
+++ b/src/mame/drivers/rungun.c
@@ -388,7 +388,7 @@ static MACHINE_CONFIG_START( rng, rungun_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // higher if sound stutters
- MCFG_GFXDECODE(rungun)
+ MCFG_GFXDECODE_ADD("gfxdecode", rungun)
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
@@ -406,6 +406,7 @@ static MACHINE_CONFIG_START( rng, rungun_state )
MCFG_K053936_ADD("k053936", rng_k053936_intf)
MCFG_K055673_ADD("k055673", rng_k055673_intf)
+ MCFG_K055673_GFXDECODE("gfxdecode")
MCFG_K053252_ADD("k053252", 16000000/2, rng_k053252_intf)
/* sound hardware */
diff --git a/src/mame/drivers/safarir.c b/src/mame/drivers/safarir.c
index 1d14e789280..acf63beaa05 100644
--- a/src/mame/drivers/safarir.c
+++ b/src/mame/drivers/safarir.c
@@ -173,7 +173,7 @@ TILE_GET_INFO_MEMBER(safarir_state::get_bg_tile_info)
color |= (tile_index & 0xc0) ? 1 : 0;
}
- SET_TILE_INFO_MEMBER(0, code & 0x7f, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x7f, color, 0);
}
@@ -190,7 +190,7 @@ TILE_GET_INFO_MEMBER(safarir_state::get_fg_tile_info)
flags = ((tile_index & 0x1f) >= 0x03) ? 0 : TILE_FORCE_LAYER0;
- SET_TILE_INFO_MEMBER(1, code & 0x7f, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code & 0x7f, color, flags);
}
@@ -407,7 +407,7 @@ static MACHINE_CONFIG_START( safarir, safarir_state )
/* video hardware */
MCFG_PALETTE_LENGTH(2*8)
- MCFG_GFXDECODE(safarir)
+ MCFG_GFXDECODE_ADD("gfxdecode", safarir)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SIZE(32*8, 32*8)
diff --git a/src/mame/drivers/sandscrp.c b/src/mame/drivers/sandscrp.c
index 75f2b6e2aad..c8c8f6a9cd5 100644
--- a/src/mame/drivers/sandscrp.c
+++ b/src/mame/drivers/sandscrp.c
@@ -509,17 +509,19 @@ static MACHINE_CONFIG_START( sandscrp, sandscrp_state )
MCFG_SCREEN_UPDATE_DRIVER(sandscrp_state, screen_update_sandscrp)
MCFG_SCREEN_VBLANK_DRIVER(sandscrp_state, screen_eof_sandscrp)
- MCFG_GFXDECODE(sandscrp)
+ MCFG_GFXDECODE_ADD("gfxdecode", sandscrp)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("view2_0", KANEKO_TMAP, 0)
kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x5b, 0, 256, 224);
+ MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("calc1_mcu", KANEKO_HIT, 0)
kaneko_hit_device::set_type(*device, 0);
MCFG_KANEKO_PANDORA_ADD("pandora", sandscrp_pandora_config)
+ MCFG_KANEKO_PANDORA_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/sanremo.c b/src/mame/drivers/sanremo.c
index ff48ad4b3d8..24a1255ad63 100644
--- a/src/mame/drivers/sanremo.c
+++ b/src/mame/drivers/sanremo.c
@@ -144,7 +144,7 @@ TILE_GET_INFO_MEMBER(sanremo_state::get_sanremo_tile_info)
int code = m_videoram[tile_index];
int bank = m_attrram[tile_index];
- SET_TILE_INFO_MEMBER( 0, code + bank * 256, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code + bank * 256, 0, 0);
}
void sanremo_state::video_start()
@@ -398,7 +398,7 @@ static MACHINE_CONFIG_START( sanremo, sanremo_state )
MCFG_MC6845_ADD("crtc", MC6845, "screen", CRTC_CLOCK, mc6845_intf)
- MCFG_GFXDECODE(sanremo)
+ MCFG_GFXDECODE_ADD("gfxdecode", sanremo)
MCFG_PALETTE_LENGTH(0x10)
/* sound hardware */
diff --git a/src/mame/drivers/sauro.c b/src/mame/drivers/sauro.c
index 2b0b9dcace2..2a8fc794b64 100644
--- a/src/mame/drivers/sauro.c
+++ b/src/mame/drivers/sauro.c
@@ -402,7 +402,7 @@ static MACHINE_CONFIG_DERIVED( trckydoc, tecfri )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(trckydoc_map)
- MCFG_GFXDECODE(trckydoc)
+ MCFG_GFXDECODE_ADD("gfxdecode", trckydoc)
MCFG_VIDEO_START_OVERRIDE(sauro_state,trckydoc)
MCFG_SCREEN_MODIFY("screen")
@@ -420,7 +420,7 @@ static MACHINE_CONFIG_DERIVED( sauro, tecfri )
MCFG_CPU_PROGRAM_MAP(sauro_sound_map)
MCFG_CPU_PERIODIC_INT_DRIVER(sauro_state, sauro_interrupt, 8*60) // ?
- MCFG_GFXDECODE(sauro)
+ MCFG_GFXDECODE_ADD("gfxdecode", sauro)
MCFG_VIDEO_START_OVERRIDE(sauro_state,sauro)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/sbasketb.c b/src/mame/drivers/sbasketb.c
index 5069621e0ac..67881e394f6 100644
--- a/src/mame/drivers/sbasketb.c
+++ b/src/mame/drivers/sbasketb.c
@@ -197,7 +197,7 @@ static MACHINE_CONFIG_START( sbasketb, sbasketb_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sbasketb_state, screen_update_sbasketb)
- MCFG_GFXDECODE(sbasketb)
+ MCFG_GFXDECODE_ADD("gfxdecode", sbasketb)
MCFG_PALETTE_LENGTH(16*16+16*16*16)
diff --git a/src/mame/drivers/sbowling.c b/src/mame/drivers/sbowling.c
index e362e7f2178..e3b6e2242cd 100644
--- a/src/mame/drivers/sbowling.c
+++ b/src/mame/drivers/sbowling.c
@@ -82,7 +82,7 @@ TILE_GET_INFO_MEMBER(sbowling_state::get_sb_tile_info)
UINT8 *rom = memregion("user1")->base();
int tileno = rom[tile_index + m_bgmap * 1024];
- SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, 0, 0);
}
static void plot_pixel_sbw(bitmap_ind16 *tmpbitmap, int x, int y, int col, int flip)
@@ -389,7 +389,7 @@ static MACHINE_CONFIG_START( sbowling, sbowling_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 4*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sbowling_state, screen_update_sbowling)
- MCFG_GFXDECODE(sbowling)
+ MCFG_GFXDECODE_ADD("gfxdecode", sbowling)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index 560687b261a..73c69009fee 100644
--- a/src/mame/drivers/sbrkout.c
+++ b/src/mame/drivers/sbrkout.c
@@ -307,7 +307,7 @@ TILE_GET_INFO_MEMBER(sbrkout_state::get_bg_tile_info)
{
UINT8 *videoram = m_videoram;
int code = (videoram[tile_index] & 0x80) ? videoram[tile_index] : 0;
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
@@ -345,7 +345,7 @@ UINT32 sbrkout_state::screen_update_sbrkout(screen_device &screen, bitmap_ind16
int sx = 31 * 8 - videoram[0x380 + 0x10 + ball * 2];
int sy = 30 * 8 - videoram[0x380 + 0x18 + ball * 2];
- machine().gfx[1]->transpen(bitmap,cliprect, code, 0, 0, 0, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, 0, 0, 0, sx, sy, 0);
}
return 0;
}
@@ -513,7 +513,7 @@ static MACHINE_CONFIG_START( sbrkout, sbrkout_state )
MCFG_WATCHDOG_VBLANK_INIT(8)
/* video hardware */
- MCFG_GFXDECODE(sbrkout)
+ MCFG_GFXDECODE_ADD("gfxdecode", sbrkout)
MCFG_PALETTE_LENGTH(2)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/sbugger.c b/src/mame/drivers/sbugger.c
index a530275cb27..048e8ab0a52 100644
--- a/src/mame/drivers/sbugger.c
+++ b/src/mame/drivers/sbugger.c
@@ -230,7 +230,7 @@ static MACHINE_CONFIG_START( sbugger, sbugger_state )
MCFG_CPU_IO_MAP(sbugger_io_map)
MCFG_I8156_ADD("i8156", 200000, i8156_intf) /* freq is an approximation */
- MCFG_GFXDECODE(sbugger)
+ MCFG_GFXDECODE_ADD("gfxdecode", sbugger)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c
index 81733bf2e5e..8acbf9452f6 100644
--- a/src/mame/drivers/scobra.c
+++ b/src/mame/drivers/scobra.c
@@ -758,7 +758,7 @@ static MACHINE_CONFIG_START( type1, scobra_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(scobra_state, screen_update_galaxold)
- MCFG_GFXDECODE(scobra)
+ MCFG_GFXDECODE_ADD("gfxdecode", scobra)
MCFG_PALETTE_LENGTH(32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for background */
MCFG_PALETTE_INIT_OVERRIDE(scobra_state,scrambold)
@@ -885,7 +885,7 @@ static MACHINE_CONFIG_START( hustler, scobra_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(scobra_state, screen_update_galaxold)
- MCFG_GFXDECODE(scobra)
+ MCFG_GFXDECODE_ADD("gfxdecode", scobra)
MCFG_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 for stars, 2 for bullets */
MCFG_PALETTE_INIT_OVERRIDE(scobra_state,galaxold)
diff --git a/src/mame/drivers/scotrsht.c b/src/mame/drivers/scotrsht.c
index 5cc0ffd27ce..61beffe7d1a 100644
--- a/src/mame/drivers/scotrsht.c
+++ b/src/mame/drivers/scotrsht.c
@@ -196,7 +196,7 @@ static MACHINE_CONFIG_START( scotrsht, scotrsht_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(scotrsht_state, screen_update_scotrsht)
- MCFG_GFXDECODE(scotrsht)
+ MCFG_GFXDECODE_ADD("gfxdecode", scotrsht)
MCFG_PALETTE_LENGTH(16*8*16+16*8*16)
diff --git a/src/mame/drivers/scramble.c b/src/mame/drivers/scramble.c
index 42311a010df..dc0f457f553 100644
--- a/src/mame/drivers/scramble.c
+++ b/src/mame/drivers/scramble.c
@@ -1474,7 +1474,7 @@ static MACHINE_CONFIG_START( scramble, scramble_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(scramble_state, screen_update_galaxold)
- MCFG_GFXDECODE(scramble)
+ MCFG_GFXDECODE_ADD("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_OVERRIDE(scramble_state,scrambold)
@@ -1512,7 +1512,7 @@ static MACHINE_CONFIG_DERIVED( devilfsh, scramble )
MCFG_CPU_PROGRAM_MAP(mars_map)
/* video hardware */
- MCFG_GFXDECODE(devilfsh)
+ MCFG_GFXDECODE_MODIFY("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_OVERRIDE(scramble_state,galaxold)
MACHINE_CONFIG_END
@@ -1524,7 +1524,7 @@ static MACHINE_CONFIG_DERIVED( newsin7, scramble )
MCFG_CPU_PROGRAM_MAP(newsin7_map)
/* video hardware */
- MCFG_GFXDECODE(newsin7)
+ MCFG_GFXDECODE_MODIFY("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_OVERRIDE(scramble_state,galaxold)
MCFG_VIDEO_START_OVERRIDE(scramble_state,scrambold)
@@ -1540,7 +1540,7 @@ static MACHINE_CONFIG_DERIVED( mrkougar, scramble )
MCFG_I8255A_ADD( "ppi8255_1", mrkougar_ppi_1_intf )
/* video hardware */
- MCFG_GFXDECODE(mrkougar)
+ MCFG_GFXDECODE_MODIFY("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_OVERRIDE(scramble_state,galaxold)
MACHINE_CONFIG_END
@@ -1711,7 +1711,7 @@ static MACHINE_CONFIG_START( ad2083, scramble_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(scramble_state, screen_update_galaxold)
- MCFG_GFXDECODE(ad2083)
+ MCFG_GFXDECODE_ADD("gfxdecode", ad2083)
MCFG_PALETTE_LENGTH(32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */
MCFG_PALETTE_INIT_OVERRIDE(scramble_state,turtles)
diff --git a/src/mame/drivers/scregg.c b/src/mame/drivers/scregg.c
index 8e37a0fd5d4..dedcbead124 100644
--- a/src/mame/drivers/scregg.c
+++ b/src/mame/drivers/scregg.c
@@ -267,7 +267,7 @@ static MACHINE_CONFIG_START( dommy, scregg_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz/2, 384, 8, 248, 272, 8, 248)
MCFG_SCREEN_UPDATE_DRIVER(scregg_state, screen_update_eggs)
- MCFG_GFXDECODE(scregg)
+ MCFG_GFXDECODE_ADD("gfxdecode", scregg)
MCFG_PALETTE_LENGTH(8)
MCFG_PALETTE_INIT_OVERRIDE(scregg_state,btime)
@@ -299,7 +299,7 @@ static MACHINE_CONFIG_START( scregg, scregg_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_12MHz/2, 384, 8, 248, 272, 8, 248)
MCFG_SCREEN_UPDATE_DRIVER(scregg_state, screen_update_eggs)
- MCFG_GFXDECODE(scregg)
+ MCFG_GFXDECODE_ADD("gfxdecode", scregg)
MCFG_PALETTE_LENGTH(8)
MCFG_PALETTE_INIT_OVERRIDE(scregg_state,btime)
diff --git a/src/mame/drivers/sderby.c b/src/mame/drivers/sderby.c
index 396a91e146a..14d25fd272f 100644
--- a/src/mame/drivers/sderby.c
+++ b/src/mame/drivers/sderby.c
@@ -562,7 +562,7 @@ static MACHINE_CONFIG_START( sderby, sderby_state )
MCFG_SCREEN_VISIBLE_AREA(4*8, 44*8-1, 3*8, 33*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sderby_state, screen_update_sderby)
- MCFG_GFXDECODE(sderby)
+ MCFG_GFXDECODE_ADD("gfxdecode", sderby)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -585,7 +585,7 @@ static MACHINE_CONFIG_START( sderbya, sderby_state )
MCFG_SCREEN_VISIBLE_AREA(4*8, 44*8-1, 3*8, 33*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sderby_state, screen_update_sderby)
- MCFG_GFXDECODE(sderby)
+ MCFG_GFXDECODE_ADD("gfxdecode", sderby)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -610,7 +610,7 @@ static MACHINE_CONFIG_START( luckboom, sderby_state )
MCFG_SCREEN_VISIBLE_AREA(4*8, 44*8-1, 3*8, 33*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sderby_state, screen_update_sderby)
- MCFG_GFXDECODE(sderby)
+ MCFG_GFXDECODE_ADD("gfxdecode", sderby)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -633,7 +633,7 @@ static MACHINE_CONFIG_START( spacewin, sderby_state )
MCFG_SCREEN_VISIBLE_AREA(4*8, 44*8-1, 3*8, 33*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sderby_state, screen_update_pmroulet)
- MCFG_GFXDECODE(sderby)
+ MCFG_GFXDECODE_ADD("gfxdecode", sderby)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -656,7 +656,7 @@ static MACHINE_CONFIG_START( pmroulet, sderby_state )
MCFG_SCREEN_VISIBLE_AREA(4*8, 44*8-1, 3*8, 33*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sderby_state, screen_update_pmroulet)
- MCFG_GFXDECODE(sderby)
+ MCFG_GFXDECODE_ADD("gfxdecode", sderby)
MCFG_PALETTE_LENGTH(0x1000)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/seabattl.c b/src/mame/drivers/seabattl.c
index a7e8e278a46..bbe37cd931c 100644
--- a/src/mame/drivers/seabattl.c
+++ b/src/mame/drivers/seabattl.c
@@ -128,7 +128,7 @@ TILE_GET_INFO_MEMBER(seabattl_state::get_bg_tile_info)
int code = m_videoram[tile_index];
int color = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(1, code, (color & 0x7), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, (color & 0x7), 0);
}
WRITE8_MEMBER(seabattl_state::seabattl_videoram_w)
@@ -154,7 +154,7 @@ UINT32 seabattl_state::screen_update_seabattl(screen_device &screen, bitmap_ind1
{
for ( x = 0; x < 32; x++ )
{
- machine().gfx[2]->opaque(bitmap,cliprect, (y & 0x0f) + (((x & 0x0f) + ((screen.frame_number() & 0xe0) >> 4)) << 4), 0, 0, 0, x*8, y*8 );
+ m_gfxdecode->gfx(2)->opaque(bitmap,cliprect, (y & 0x0f) + (((x & 0x0f) + ((screen.frame_number() & 0xe0) >> 4)) << 4), 0, 0, 0, x*8, y*8 );
}
}
}
@@ -178,7 +178,7 @@ UINT32 seabattl_state::screen_update_seabattl(screen_device &screen, bitmap_ind1
int x = ((offset & 0x0f) << 4) - ((m_objram[offset] & 0xf0) >> 4);
int y = (offset & 0xf0);
- machine().gfx[0]->transpen(bitmap,cliprect, code, 0, 0, 0, x, y, 0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, code, 0, 0, 0, x, y, 0);
}
}
@@ -542,7 +542,7 @@ static MACHINE_CONFIG_START( seabattl, seabattl_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 29*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seabattl_state, screen_update_seabattl)
- MCFG_GFXDECODE(seabattl)
+ MCFG_GFXDECODE_ADD("gfxdecode", seabattl)
MCFG_PALETTE_LENGTH(26)
/* sound hardware */
diff --git a/src/mame/drivers/segag80r.c b/src/mame/drivers/segag80r.c
index e0f0e1b5ef1..db5e2d0a8c8 100644
--- a/src/mame/drivers/segag80r.c
+++ b/src/mame/drivers/segag80r.c
@@ -828,7 +828,7 @@ static MACHINE_CONFIG_START( g80r_base, segag80r_state )
/* video hardware */
- MCFG_GFXDECODE(segag80r)
+ MCFG_GFXDECODE_ADD("gfxdecode", segag80r)
MCFG_PALETTE_LENGTH(64)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -870,7 +870,7 @@ static MACHINE_CONFIG_DERIVED( spaceod, g80r_base )
/* background board changes */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_SCREEN_MODIFY("screen")
- MCFG_GFXDECODE(spaceod)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", spaceod)
MCFG_PALETTE_LENGTH(64+64)
/* sound boards */
@@ -886,7 +886,7 @@ static MACHINE_CONFIG_DERIVED( monsterb, g80r_base )
MCFG_CPU_IO_MAP(main_ppi8255_portmap)
/* background board changes */
- MCFG_GFXDECODE(monsterb)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", monsterb)
MCFG_PALETTE_LENGTH(64+64)
/* sound boards */
@@ -899,7 +899,7 @@ static MACHINE_CONFIG_DERIVED( pignewt, g80r_base )
/* basic machine hardware */
/* background board changes */
- MCFG_GFXDECODE(monsterb)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", monsterb)
MCFG_PALETTE_LENGTH(64+64)
/* sound boards */
@@ -917,7 +917,7 @@ static MACHINE_CONFIG_DERIVED( sindbadm, g80r_base )
MCFG_I8255A_ADD( "ppi8255", sindbadm_ppi_intf )
/* video hardware */
- MCFG_GFXDECODE(monsterb)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", monsterb)
MCFG_PALETTE_LENGTH(64+64)
/* sound boards */
diff --git a/src/mame/drivers/segahang.c b/src/mame/drivers/segahang.c
index 46a50d162e2..4fed181cffa 100644
--- a/src/mame/drivers/segahang.c
+++ b/src/mame/drivers/segahang.c
@@ -817,10 +817,11 @@ static MACHINE_CONFIG_START( shared_base, segahang_state )
MCFG_I8255_ADD( "i8255_2", hangon_ppi_intf_1 )
MCFG_SEGAIC16VID_ADD("segaic16vid")
+ MCFG_SEGAIC16VID_GFXDECODE("gfxdecode")
MCFG_SEGAIC16_ROAD_ADD("segaic16road")
// video hardware
- MCFG_GFXDECODE(segahang)
+ MCFG_GFXDECODE_ADD("gfxdecode", segahang)
MCFG_PALETTE_LENGTH(2048*3)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/segald.c b/src/mame/drivers/segald.c
index 447222b62c5..f31f7c07b2d 100644
--- a/src/mame/drivers/segald.c
+++ b/src/mame/drivers/segald.c
@@ -75,7 +75,7 @@ void segald_state::astron_draw_characters(bitmap_rgb32 &bitmap,const rectangle &
for (characterY = 0; characterY < 32; characterY++)
{
int current_screen_character = (characterY*32) + characterX;
- machine().gfx[0]->transpen(bitmap,cliprect, m_fix_ram[current_screen_character],
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, m_fix_ram[current_screen_character],
1, 0, 0, characterX*8, characterY*8, 0);
}
}
@@ -376,7 +376,7 @@ static MACHINE_CONFIG_START( astron, segald_state )
/* video hardware */
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
- MCFG_GFXDECODE(segald)
+ MCFG_GFXDECODE_ADD("gfxdecode", segald)
MCFG_PALETTE_LENGTH(256)
/* sound hardare */
diff --git a/src/mame/drivers/segaorun.c b/src/mame/drivers/segaorun.c
index d5a952396ee..ea4897c5368 100644
--- a/src/mame/drivers/segaorun.c
+++ b/src/mame/drivers/segaorun.c
@@ -1203,7 +1203,7 @@ static MACHINE_CONFIG_START( outrun_base, segaorun_state )
MCFG_SEGA_315_5195_MAPPER_ADD("mapper", "maincpu", segaorun_state, memory_mapper, mapper_sound_r, mapper_sound_w)
// video hardware
- MCFG_GFXDECODE(segaorun)
+ MCFG_GFXDECODE_ADD("gfxdecode", segaorun)
MCFG_PALETTE_LENGTH(4096*3)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1211,6 +1211,7 @@ static MACHINE_CONFIG_START( outrun_base, segaorun_state )
MCFG_SCREEN_UPDATE_DRIVER(segaorun_state, screen_update_outrun)
MCFG_SEGAIC16VID_ADD("segaic16vid")
+ MCFG_SEGAIC16VID_GFXDECODE("gfxdecode")
MCFG_SEGAIC16_ROAD_ADD("segaic16road")
// sound hardware
diff --git a/src/mame/drivers/segas16a.c b/src/mame/drivers/segas16a.c
index c5413e28c4c..4e0f6cab611 100644
--- a/src/mame/drivers/segas16a.c
+++ b/src/mame/drivers/segas16a.c
@@ -1922,8 +1922,9 @@ static MACHINE_CONFIG_START( system16a, segas16a_state )
MCFG_SEGA_SYS16A_SPRITES_ADD("sprites")
MCFG_SEGAIC16VID_ADD("segaic16vid")
+ MCFG_SEGAIC16VID_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(segas16a)
+ MCFG_GFXDECODE_ADD("gfxdecode", segas16a)
MCFG_PALETTE_LENGTH(2048*3)
// sound hardware
diff --git a/src/mame/drivers/segas16b.c b/src/mame/drivers/segas16b.c
index 89bf2f3a5d0..d216b6c9bf6 100644
--- a/src/mame/drivers/segas16b.c
+++ b/src/mame/drivers/segas16b.c
@@ -3272,7 +3272,7 @@ static MACHINE_CONFIG_START( system16b, segas16b_state )
MCFG_SEGA_315_5195_MAPPER_ADD("mapper", "maincpu", segas16b_state, memory_mapper, mapper_sound_r, mapper_sound_w)
// video hardware
- MCFG_GFXDECODE(segas16b)
+ MCFG_GFXDECODE_ADD("gfxdecode", segas16b)
MCFG_PALETTE_LENGTH(2048*3)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3281,6 +3281,7 @@ static MACHINE_CONFIG_START( system16b, segas16b_state )
MCFG_SEGA_SYS16B_SPRITES_ADD("sprites")
MCFG_SEGAIC16VID_ADD("segaic16vid")
+ MCFG_SEGAIC16VID_GFXDECODE("gfxdecode")
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -7031,7 +7032,7 @@ WRITE16_MEMBER( isgsm_state::data_w )
if (dest == memregion("gfx1")->base())
{
// we need to re-decode the tiles if writing to this area to keep MAME happy
- machine().gfx[0]->mark_dirty((m_data_addr & 0x1ffff) / 8);
+ m_gfxdecode->gfx(0)->mark_dirty((m_data_addr & 0x1ffff) / 8);
}
}
}
diff --git a/src/mame/drivers/segas18.c b/src/mame/drivers/segas18.c
index cc9f258a703..357ce0dcf07 100644
--- a/src/mame/drivers/segas18.c
+++ b/src/mame/drivers/segas18.c
@@ -372,7 +372,7 @@ WRITE16_MEMBER( segas18_state::rom_5987_bank_w )
// tile banking
if (offset < 8)
{
- int maxbanks = machine().gfx[0]->elements() / 1024;
+ int maxbanks = m_gfxdecode->gfx(0)->elements() / 1024;
if (data >= maxbanks)
data %= maxbanks;
m_segaic16vid->segaic16_tilemap_set_bank(0, offset, data);
@@ -1250,11 +1250,12 @@ static MACHINE_CONFIG_START( system18, segas18_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(segas18_state, screen_update)
- MCFG_GFXDECODE(segas18)
+ MCFG_GFXDECODE_ADD("gfxdecode", segas18)
MCFG_PALETTE_LENGTH(2048*3+2048 + 64*3)
MCFG_SEGA_SYS16B_SPRITES_ADD("sprites")
MCFG_SEGAIC16VID_ADD("segaic16vid")
+ MCFG_SEGAIC16VID_GFXDECODE("gfxdecode")
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/segas24.c b/src/mame/drivers/segas24.c
index a84aca41b35..1c7bb089d29 100644
--- a/src/mame/drivers/segas24.c
+++ b/src/mame/drivers/segas24.c
@@ -1943,7 +1943,9 @@ static MACHINE_CONFIG_START( system24, segas24_state )
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_S24TILE_DEVICE_ADD("tile", 0xfff)
+ MCFG_S24TILE_DEVICE_GFXDECODE("gfxdecode")
MCFG_S24SPRITE_DEVICE_ADD("sprite")
MCFG_S24MIXER_DEVICE_ADD("mixer")
diff --git a/src/mame/drivers/segas32.c b/src/mame/drivers/segas32.c
index 051f10ae616..df97bc232aa 100644
--- a/src/mame/drivers/segas32.c
+++ b/src/mame/drivers/segas32.c
@@ -2343,7 +2343,7 @@ static MACHINE_CONFIG_START( system32, segas32_state )
MCFG_TIMER_DRIVER_ADD("v60_irq1", segas32_state, signal_v60_irq_callback)
/* video hardware */
- MCFG_GFXDECODE(segas32)
+ MCFG_GFXDECODE_ADD("gfxdecode", segas32)
MCFG_PALETTE_LENGTH(0x4000)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2400,7 +2400,7 @@ static MACHINE_CONFIG_START( multi32, segas32_state )
MCFG_TIMER_DRIVER_ADD("v60_irq1", segas32_state, signal_v60_irq_callback)
/* video hardware */
- MCFG_GFXDECODE(segas32)
+ MCFG_GFXDECODE_ADD("gfxdecode", segas32)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mame/drivers/segaxbd.c b/src/mame/drivers/segaxbd.c
index 4372a03267a..54634cf1f0a 100644
--- a/src/mame/drivers/segaxbd.c
+++ b/src/mame/drivers/segaxbd.c
@@ -1556,7 +1556,7 @@ static MACHINE_CONFIG_START( xboard, segaxbd_state )
MCFG_SEGA_315_5250_COMPARE_TIMER_ADD("cmptimer_subx")
// video hardware
- MCFG_GFXDECODE(segaxbd)
+ MCFG_GFXDECODE_ADD("gfxdecode", segaxbd)
MCFG_PALETTE_LENGTH(8192*3)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1565,6 +1565,7 @@ static MACHINE_CONFIG_START( xboard, segaxbd_state )
MCFG_SEGA_XBOARD_SPRITES_ADD("sprites")
MCFG_SEGAIC16VID_ADD("segaic16vid")
+ MCFG_SEGAIC16VID_GFXDECODE("gfxdecode")
MCFG_SEGAIC16_ROAD_ADD("segaic16road")
// sound hardware
diff --git a/src/mame/drivers/segaybd.c b/src/mame/drivers/segaybd.c
index 188a6253696..2ee1c4da660 100644
--- a/src/mame/drivers/segaybd.c
+++ b/src/mame/drivers/segaybd.c
@@ -1187,9 +1187,12 @@ static MACHINE_CONFIG_START( yboard, segaybd_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(segaybd_state,screen_update)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_SEGA_SYS16B_SPRITES_ADD("bsprites")
MCFG_SEGA_YBOARD_SPRITES_ADD("ysprites")
MCFG_SEGAIC16VID_ADD("segaic16vid")
+ MCFG_SEGAIC16VID_GFXDECODE("gfxdecode")
MCFG_PALETTE_LENGTH(8192*3)
diff --git a/src/mame/drivers/seibuspi.c b/src/mame/drivers/seibuspi.c
index 76b142e66c3..3b18e98c65b 100644
--- a/src/mame/drivers/seibuspi.c
+++ b/src/mame/drivers/seibuspi.c
@@ -1845,7 +1845,7 @@ static MACHINE_CONFIG_START( spi, seibuspi_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, SPI_HTOTAL, SPI_HBEND, SPI_HBSTART, SPI_VTOTAL, SPI_VBEND, SPI_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(seibuspi_state, screen_update_spi)
- MCFG_GFXDECODE(spi)
+ MCFG_GFXDECODE_ADD("gfxdecode", spi)
MCFG_PALETTE_LENGTH(6144)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
@@ -1943,7 +1943,7 @@ static MACHINE_CONFIG_START( sys386i, seibuspi_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, SPI_HTOTAL, SPI_HBEND, SPI_HBSTART, SPI_VTOTAL, SPI_VBEND, SPI_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(seibuspi_state, screen_update_spi)
- MCFG_GFXDECODE(spi)
+ MCFG_GFXDECODE_ADD("gfxdecode", spi)
MCFG_PALETTE_LENGTH(6144)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
@@ -1994,13 +1994,13 @@ static MACHINE_CONFIG_START( sys386f, seibuspi_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(seibuspi_state, screen_update_sys386f)
- MCFG_GFXDECODE(sys386f)
+ MCFG_GFXDECODE_ADD("gfxdecode", sys386f)
MCFG_PALETTE_LENGTH(8192)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
MCFG_VIDEO_START_OVERRIDE(seibuspi_state, sys386f)
- MCFG_SCREEN_UPDATE_DRIVER(seibuspi_state, screen_update_sys386f)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c
index 4916f1e3b70..53a1fd5d934 100644
--- a/src/mame/drivers/seicross.c
+++ b/src/mame/drivers/seicross.c
@@ -418,7 +418,7 @@ static MACHINE_CONFIG_START( nvram, seicross_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seicross_state, screen_update_seicross)
- MCFG_GFXDECODE(seicross)
+ MCFG_GFXDECODE_ADD("gfxdecode", seicross)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/sengokmj.c b/src/mame/drivers/sengokmj.c
index d80b1e03e80..759d765d8b2 100644
--- a/src/mame/drivers/sengokmj.c
+++ b/src/mame/drivers/sengokmj.c
@@ -216,28 +216,28 @@ TILE_GET_INFO_MEMBER( sengokmj_state::seibucrtc_sc0_tile_info )
int tile = m_sc0_vram[tile_index] & 0xfff;
int color = (m_sc0_vram[tile_index] >> 12) & 0x0f;
// tile+=(m_seibucrtc_sc0bank<<12);
- SET_TILE_INFO_MEMBER(1, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color, 0);
}
TILE_GET_INFO_MEMBER( sengokmj_state::seibucrtc_sc2_tile_info )
{
int tile = m_sc2_vram[tile_index] & 0xfff;
int color = (m_sc2_vram[tile_index] >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(2, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tile, color, 0);
}
TILE_GET_INFO_MEMBER( sengokmj_state::seibucrtc_sc1_tile_info )
{
int tile = m_sc1_vram[tile_index] & 0xfff;
int color = (m_sc1_vram[tile_index] >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(3, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, tile, color, 0);
}
TILE_GET_INFO_MEMBER( sengokmj_state::seibucrtc_sc3_tile_info )
{
int tile = m_sc3_vram[tile_index] & 0xfff;
int color = (m_sc3_vram[tile_index] >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(4, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4, tile, color, 0);
}
void sengokmj_state::draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const rectangle &cliprect,int pri)
@@ -269,11 +269,11 @@ void sengokmj_state::draw_sprites(running_machine &machine, bitmap_ind16 &bitmap
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++) {
if (!fx)
- machine.gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite++,
color,fx,fy,x+ax*16,y+ay*16,15);
else
- machine.gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite++,
color,fx,fy,x+(dx-1-ax)*16,y+ay*16,15);
}
@@ -578,7 +578,7 @@ static MACHINE_CONFIG_START( sengokmj, sengokmj_state )
MCFG_SEIBU_CRTC_ADD("crtc",crtc_intf,0)
- MCFG_GFXDECODE(sengokmj)
+ MCFG_GFXDECODE_ADD("gfxdecode", sengokmj)
MCFG_PALETTE_LENGTH(0x800)
/* sound hardware */
diff --git a/src/mame/drivers/senjyo.c b/src/mame/drivers/senjyo.c
index cf4af724414..28190a34cad 100644
--- a/src/mame/drivers/senjyo.c
+++ b/src/mame/drivers/senjyo.c
@@ -573,7 +573,7 @@ static MACHINE_CONFIG_START( senjyo, senjyo_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(senjyo_state, screen_update_senjyo)
- MCFG_GFXDECODE(senjyo)
+ MCFG_GFXDECODE_ADD("gfxdecode", senjyo)
MCFG_PALETTE_LENGTH(512+2) /* 512 real palette + 2 for the radar */
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
diff --git a/src/mame/drivers/seta.c b/src/mame/drivers/seta.c
index 2fc13eb2f84..c3742b67355 100644
--- a/src/mame/drivers/seta.c
+++ b/src/mame/drivers/seta.c
@@ -7490,6 +7490,7 @@ static MACHINE_CONFIG_START( tndrcade, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, tndrcade_sub_interrupt, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7499,7 +7500,7 @@ static MACHINE_CONFIG_START( tndrcade, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(tndrcade)
+ MCFG_GFXDECODE_ADD("gfxdecode", tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -7540,6 +7541,7 @@ static MACHINE_CONFIG_START( twineagl, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("s_scantimer", seta_state, seta_sub_interrupt, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7549,7 +7551,7 @@ static MACHINE_CONFIG_START( twineagl, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(downtown)
+ MCFG_GFXDECODE_ADD("gfxdecode", downtown)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(seta_state,twineagl_1_layer)
@@ -7582,6 +7584,7 @@ static MACHINE_CONFIG_START( downtown, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("s_scantimer", seta_state, seta_sub_interrupt, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7591,7 +7594,7 @@ static MACHINE_CONFIG_START( downtown, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(downtown)
+ MCFG_GFXDECODE_ADD("gfxdecode", downtown)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
@@ -7640,6 +7643,7 @@ static MACHINE_CONFIG_START( usclssic, seta_state )
MCFG_MACHINE_RESET_OVERRIDE(seta_state,calibr50)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7649,7 +7653,7 @@ static MACHINE_CONFIG_START( usclssic, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_usclssic)
- MCFG_GFXDECODE(usclssic)
+ MCFG_GFXDECODE_ADD("gfxdecode", usclssic)
MCFG_PALETTE_LENGTH(16*32 + 64*32*2) /* sprites, layer */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,usclssic) /* layer is 6 planes deep */
@@ -7689,6 +7693,7 @@ static MACHINE_CONFIG_START( calibr50, seta_state )
MCFG_MACHINE_RESET_OVERRIDE(seta_state,calibr50)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7698,7 +7703,7 @@ static MACHINE_CONFIG_START( calibr50, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(downtown)
+ MCFG_GFXDECODE_ADD("gfxdecode", downtown)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
@@ -7729,6 +7734,7 @@ static MACHINE_CONFIG_START( metafox, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("s_scantimer", seta_state, seta_sub_interrupt, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7738,7 +7744,7 @@ static MACHINE_CONFIG_START( metafox, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(downtown)
+ MCFG_GFXDECODE_ADD("gfxdecode", downtown)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
@@ -7765,6 +7771,7 @@ static MACHINE_CONFIG_START( atehate, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7774,7 +7781,7 @@ static MACHINE_CONFIG_START( atehate, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(tndrcade)
+ MCFG_GFXDECODE_ADD("gfxdecode", tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -7807,6 +7814,7 @@ static MACHINE_CONFIG_START( blandia, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_2_and_4, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7817,7 +7825,7 @@ static MACHINE_CONFIG_START( blandia, seta_state )
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
- MCFG_GFXDECODE(blandia)
+ MCFG_GFXDECODE_ADD("gfxdecode", blandia)
MCFG_PALETTE_LENGTH((16*32+64*32*4)*2) /* sprites, layer1, layer2, palette effect */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,blandia) /* layers 1&2 are 6 planes deep */
@@ -7840,6 +7848,7 @@ static MACHINE_CONFIG_START( blandiap, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_2_and_4, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7850,7 +7859,7 @@ static MACHINE_CONFIG_START( blandiap, seta_state )
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
- MCFG_GFXDECODE(blandia)
+ MCFG_GFXDECODE_ADD("gfxdecode", blandia)
MCFG_PALETTE_LENGTH((16*32+64*32*4)*2) /* sprites, layer1, layer2, palette effect */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,blandia) /* layers 1&2 are 6 planes deep */
@@ -7878,6 +7887,7 @@ static MACHINE_CONFIG_START( blockcar, seta_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7887,7 +7897,7 @@ static MACHINE_CONFIG_START( blockcar, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(tndrcade)
+ MCFG_GFXDECODE_ADD("gfxdecode", tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -7950,6 +7960,7 @@ static MACHINE_CONFIG_START( daioh, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -7959,7 +7970,7 @@ static MACHINE_CONFIG_START( daioh, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer1, layer2 */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
@@ -7991,6 +8002,7 @@ static MACHINE_CONFIG_START( drgnunit, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8001,7 +8013,7 @@ static MACHINE_CONFIG_START( drgnunit, seta_state )
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
- MCFG_GFXDECODE(downtown)
+ MCFG_GFXDECODE_ADD("gfxdecode", downtown)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
@@ -8026,6 +8038,7 @@ static MACHINE_CONFIG_START( qzkklgy2, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8036,7 +8049,7 @@ static MACHINE_CONFIG_START( qzkklgy2, seta_state )
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
- MCFG_GFXDECODE(qzkklgy2)
+ MCFG_GFXDECODE_ADD("gfxdecode", qzkklgy2)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
@@ -8074,6 +8087,7 @@ static MACHINE_CONFIG_START( setaroul, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, setaroul_interrupt, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
MCFG_NVRAM_ADD_RANDOM_FILL("nvram")
@@ -8086,7 +8100,7 @@ static MACHINE_CONFIG_START( setaroul, seta_state )
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_setaroul)
MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_setaroul)
- MCFG_GFXDECODE(setaroul)
+ MCFG_GFXDECODE_ADD("gfxdecode", setaroul)
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT_OVERRIDE(seta_state,setaroul)
@@ -8114,6 +8128,7 @@ static MACHINE_CONFIG_START( eightfrc, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8123,7 +8138,7 @@ static MACHINE_CONFIG_START( eightfrc, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer1, layer2 */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
@@ -8155,6 +8170,7 @@ static MACHINE_CONFIG_START( extdwnhl, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8164,7 +8180,7 @@ static MACHINE_CONFIG_START( extdwnhl, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(zingzip)
+ MCFG_GFXDECODE_ADD("gfxdecode", zingzip)
MCFG_PALETTE_LENGTH(16*32+16*32+64*32*2) /* sprites, layer2, layer1 */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,zingzip) /* layer 1 gfx is 6 planes deep */
@@ -8216,6 +8232,7 @@ static MACHINE_CONFIG_START( gundhara, seta_state )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8225,7 +8242,7 @@ static MACHINE_CONFIG_START( gundhara, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(jjsquawk)
+ MCFG_GFXDECODE_ADD("gfxdecode", jjsquawk)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer2, layer1 */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,gundhara) /* layers are 6 planes deep (seta_state,but have only 4 palettes) */
@@ -8257,6 +8274,7 @@ static MACHINE_CONFIG_START( jjsquawk, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8266,7 +8284,7 @@ static MACHINE_CONFIG_START( jjsquawk, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(jjsquawk)
+ MCFG_GFXDECODE_ADD("gfxdecode", jjsquawk)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer2, layer1 */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,jjsquawk) /* layers are 6 planes deep */
@@ -8289,6 +8307,7 @@ static MACHINE_CONFIG_START( jjsquawb, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8298,7 +8317,7 @@ static MACHINE_CONFIG_START( jjsquawb, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(jjsquawk)
+ MCFG_GFXDECODE_ADD("gfxdecode", jjsquawk)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer2, layer1 */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,jjsquawk) /* layers are 6 planes deep */
@@ -8330,6 +8349,7 @@ static MACHINE_CONFIG_START( kamenrid, seta_state )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8339,7 +8359,7 @@ static MACHINE_CONFIG_START( kamenrid, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
@@ -8367,6 +8387,7 @@ static MACHINE_CONFIG_START( orbs, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8376,7 +8397,7 @@ static MACHINE_CONFIG_START( orbs, seta_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 39*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(orbs)
+ MCFG_GFXDECODE_ADD("gfxdecode", orbs)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -8405,6 +8426,7 @@ static MACHINE_CONFIG_START( keroppi, seta_state )
MCFG_MACHINE_START_OVERRIDE(seta_state,keroppi)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8414,7 +8436,7 @@ static MACHINE_CONFIG_START( keroppi, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(orbs)
+ MCFG_GFXDECODE_ADD("gfxdecode", orbs)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -8441,6 +8463,7 @@ static MACHINE_CONFIG_START( krzybowl, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8450,7 +8473,7 @@ static MACHINE_CONFIG_START( krzybowl, seta_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 39*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(tndrcade)
+ MCFG_GFXDECODE_ADD("gfxdecode", tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -8482,6 +8505,7 @@ static MACHINE_CONFIG_START( madshark, seta_state )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8491,7 +8515,7 @@ static MACHINE_CONFIG_START( madshark, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(jjsquawk)
+ MCFG_GFXDECODE_ADD("gfxdecode", jjsquawk)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer2, layer1 */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,jjsquawk) /* layers are 6 planes deep */
@@ -8524,6 +8548,7 @@ static MACHINE_CONFIG_START( magspeed, seta_state )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8533,7 +8558,7 @@ static MACHINE_CONFIG_START( magspeed, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
@@ -8570,6 +8595,7 @@ static MACHINE_CONFIG_START( msgundam, seta_state )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8580,7 +8606,7 @@ static MACHINE_CONFIG_START( msgundam, seta_state )
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
MCFG_SCREEN_VBLANK_DRIVER(seta_state, screen_eof_seta_buffer_sprites)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
@@ -8608,6 +8634,7 @@ static MACHINE_CONFIG_START( oisipuzl, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8617,7 +8644,7 @@ static MACHINE_CONFIG_START( oisipuzl, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
MCFG_VIDEO_START_OVERRIDE(seta_state,oisipuzl_2_layers) // flip is inverted for the tilemaps
@@ -8645,6 +8672,7 @@ static MACHINE_CONFIG_START( triplfun, seta_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8654,7 +8682,7 @@ static MACHINE_CONFIG_START( triplfun, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
MCFG_VIDEO_START_OVERRIDE(seta_state,oisipuzl_2_layers) // flip is inverted for the tilemaps
@@ -8680,6 +8708,7 @@ static MACHINE_CONFIG_START( kiwame, seta_state )
the interrupt table is written to. */
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8689,7 +8718,7 @@ static MACHINE_CONFIG_START( kiwame, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 56*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(tndrcade)
+ MCFG_GFXDECODE_ADD("gfxdecode", tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -8719,6 +8748,7 @@ static MACHINE_CONFIG_START( rezon, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8728,7 +8758,7 @@ static MACHINE_CONFIG_START( rezon, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer1, layer2 */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
@@ -8758,6 +8788,7 @@ static MACHINE_CONFIG_START( thunderl, seta_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_hold)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8767,7 +8798,7 @@ static MACHINE_CONFIG_START( thunderl, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(tndrcade)
+ MCFG_GFXDECODE_ADD("gfxdecode", tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -8829,6 +8860,7 @@ static MACHINE_CONFIG_START( wiggie, seta_state )
MCFG_CPU_PROGRAM_MAP(wiggie_sound_map)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8838,7 +8870,7 @@ static MACHINE_CONFIG_START( wiggie, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(wiggie)
+ MCFG_GFXDECODE_ADD("gfxdecode", wiggie)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -8852,7 +8884,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( superbar, wiggie )
- MCFG_GFXDECODE(superbar)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", superbar)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( wits, seta_state )
@@ -8863,6 +8895,7 @@ static MACHINE_CONFIG_START( wits, seta_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_hold)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8872,7 +8905,7 @@ static MACHINE_CONFIG_START( wits, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(tndrcade)
+ MCFG_GFXDECODE_ADD("gfxdecode", tndrcade)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -8899,6 +8932,7 @@ static MACHINE_CONFIG_START( umanclub, seta_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8908,7 +8942,7 @@ static MACHINE_CONFIG_START( umanclub, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(tndrcade)
+ MCFG_GFXDECODE_ADD("gfxdecode", tndrcade)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -8939,6 +8973,7 @@ static MACHINE_CONFIG_START( utoukond, seta_state )
MCFG_CPU_IO_MAP(utoukond_sound_io_map)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8948,7 +8983,7 @@ static MACHINE_CONFIG_START( utoukond, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer2, layer1 */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
@@ -8988,6 +9023,7 @@ static MACHINE_CONFIG_START( wrofaero, seta_state )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -8997,7 +9033,7 @@ static MACHINE_CONFIG_START( wrofaero, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(msgundam)
+ MCFG_GFXDECODE_ADD("gfxdecode", msgundam)
MCFG_PALETTE_LENGTH(512 * 3) /* sprites, layer1, layer2 */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
@@ -9031,6 +9067,7 @@ static MACHINE_CONFIG_START( zingzip, seta_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9040,7 +9077,7 @@ static MACHINE_CONFIG_START( zingzip, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(zingzip)
+ MCFG_GFXDECODE_ADD("gfxdecode", zingzip)
MCFG_PALETTE_LENGTH(16*32+16*32+64*32*2) /* sprites, layer2, layer1 */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,zingzip) /* layer 1 gfx is 6 planes deep */
@@ -9057,7 +9094,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( zingzipbl, zingzip )
- MCFG_GFXDECODE(zingzipbl)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", zingzipbl)
MCFG_DEVICE_REMOVE("maincpu")
@@ -9084,6 +9121,7 @@ static MACHINE_CONFIG_START( pairlove, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9093,7 +9131,7 @@ static MACHINE_CONFIG_START( pairlove, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(tndrcade)
+ MCFG_GFXDECODE_ADD("gfxdecode", tndrcade)
MCFG_PALETTE_LENGTH(2048) /* sprites only */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
@@ -9131,6 +9169,7 @@ static MACHINE_CONFIG_START( crazyfgt, seta_state )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, crazyfgt_interrupt, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9140,7 +9179,7 @@ static MACHINE_CONFIG_START( crazyfgt, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
- MCFG_GFXDECODE(crazyfgt)
+ MCFG_GFXDECODE_ADD("gfxdecode", crazyfgt)
MCFG_PALETTE_LENGTH(16*32+64*32*4) /* sprites, layer1, layer2 */
MCFG_PALETTE_INIT_OVERRIDE(seta_state,gundhara) /* layers are 6 planes deep (seta_state,but have only 4 palettes) */
@@ -9195,6 +9234,7 @@ static MACHINE_CONFIG_START( inttoote, seta_state )
MCFG_DEVICE_ADD("pia1", PIA6821, 0)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9204,7 +9244,7 @@ static MACHINE_CONFIG_START( inttoote, seta_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_inttoote)
- MCFG_GFXDECODE(inttoote)
+ MCFG_GFXDECODE_ADD("gfxdecode", inttoote)
MCFG_PALETTE_LENGTH(512 * 1)
MCFG_PALETTE_INIT_OVERRIDE(seta_state,inttoote)
diff --git a/src/mame/drivers/seta2.c b/src/mame/drivers/seta2.c
index f7134d1c4d3..3099a2ad09a 100644
--- a/src/mame/drivers/seta2.c
+++ b/src/mame/drivers/seta2.c
@@ -2028,7 +2028,7 @@ static MACHINE_CONFIG_START( seta2, seta2_state )
MCFG_SCREEN_UPDATE_DRIVER(seta2_state, screen_update_seta2)
MCFG_SCREEN_VBLANK_DRIVER(seta2_state, screen_eof_seta2)
- MCFG_GFXDECODE(seta2)
+ MCFG_GFXDECODE_ADD("gfxdecode", seta2)
MCFG_PALETTE_LENGTH(0x8000+0xf0) // extra 0xf0 because we might draw 256-color object with 16-color granularity
MCFG_VIDEO_START_OVERRIDE(seta2_state,seta2)
@@ -2228,7 +2228,7 @@ static MACHINE_CONFIG_START( funcube, seta2_state )
MCFG_SCREEN_UPDATE_DRIVER(seta2_state, screen_update_seta2)
MCFG_SCREEN_VBLANK_DRIVER(seta2_state, screen_eof_seta2)
- MCFG_GFXDECODE(funcube)
+ MCFG_GFXDECODE_ADD("gfxdecode", funcube)
MCFG_PALETTE_LENGTH(0x8000+0xf0) // extra 0xf0 because we might draw 256-color object with 16-color granularity
MCFG_VIDEO_START_OVERRIDE(seta2_state,seta2)
@@ -2279,7 +2279,7 @@ static MACHINE_CONFIG_START( namcostr, seta2_state )
MCFG_SCREEN_UPDATE_DRIVER(seta2_state, screen_update_seta2)
MCFG_SCREEN_VBLANK_DRIVER(seta2_state, screen_eof_seta2)
- MCFG_GFXDECODE(funcube)
+ MCFG_GFXDECODE_ADD("gfxdecode", funcube)
MCFG_PALETTE_LENGTH(0x8000+0xf0) // extra 0xf0 because we might draw 256-color object with 16-color granularity
MCFG_VIDEO_START_OVERRIDE(seta2_state,seta2)
diff --git a/src/mame/drivers/sf.c b/src/mame/drivers/sf.c
index 787f800c953..f2ca8507cdd 100644
--- a/src/mame/drivers/sf.c
+++ b/src/mame/drivers/sf.c
@@ -840,7 +840,7 @@ static MACHINE_CONFIG_START( sf, sf_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(sf_state, screen_update_sf)
- MCFG_GFXDECODE(sf)
+ MCFG_GFXDECODE_ADD("gfxdecode", sf)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/sfbonus.c b/src/mame/drivers/sfbonus.c
index 01e33f2fb2b..e60171671d9 100644
--- a/src/mame/drivers/sfbonus.c
+++ b/src/mame/drivers/sfbonus.c
@@ -781,7 +781,7 @@ TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_tile_info)
int flipx = (m_tilemap_ram[(tile_index*2)+1] & 0x80)>>7;
int flipy = (m_tilemap_ram[(tile_index*2)+1] & 0x40)>>5;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
0,
@@ -796,7 +796,7 @@ TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel_tile_info)
int priority = (m_reel_ram[(tile_index*2)+1] & 0x40)>>6;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
priority, // colour aboused as priority
@@ -811,7 +811,7 @@ TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel2_tile_info)
int priority = (m_reel2_ram[(tile_index*2)+1] & 0x40)>>6;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
priority, // colour abused as priority
@@ -826,7 +826,7 @@ TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel3_tile_info)
int priority = (m_reel3_ram[(tile_index*2)+1] & 0x40)>>6;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
priority, // colour abused as priority
@@ -841,7 +841,7 @@ TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel4_tile_info)
int priority = (m_reel4_ram[(tile_index*2)+1] & 0x40)>>6;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
priority, // colour abused as priority
@@ -1366,7 +1366,7 @@ static MACHINE_CONFIG_START( sfbonus, sfbonus_state )
MCFG_NVRAM_ADD_0FILL("nvram")
- MCFG_GFXDECODE(sfbonus)
+ MCFG_GFXDECODE_ADD("gfxdecode", sfbonus)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/shadfrce.c b/src/mame/drivers/shadfrce.c
index 39fae0099a6..b4e65e1278f 100644
--- a/src/mame/drivers/shadfrce.c
+++ b/src/mame/drivers/shadfrce.c
@@ -554,7 +554,7 @@ static MACHINE_CONFIG_START( shadfrce, shadfrce_state )
MCFG_SCREEN_UPDATE_DRIVER(shadfrce_state, screen_update_shadfrce)
MCFG_SCREEN_VBLANK_DRIVER(shadfrce_state, screen_eof_shadfrce)
- MCFG_GFXDECODE(shadfrce)
+ MCFG_GFXDECODE_ADD("gfxdecode", shadfrce)
MCFG_PALETTE_LENGTH(0x4000)
diff --git a/src/mame/drivers/shangha3.c b/src/mame/drivers/shangha3.c
index 6c2a496a663..bf5240718a0 100644
--- a/src/mame/drivers/shangha3.c
+++ b/src/mame/drivers/shangha3.c
@@ -489,7 +489,7 @@ static MACHINE_CONFIG_START( shangha3, shangha3_state )
MCFG_SCREEN_UPDATE_DRIVER(shangha3_state, screen_update_shangha3)
- MCFG_GFXDECODE(shangha3)
+ MCFG_GFXDECODE_ADD("gfxdecode", shangha3)
MCFG_PALETTE_LENGTH(2048)
@@ -528,7 +528,7 @@ static MACHINE_CONFIG_START( heberpop, shangha3_state )
MCFG_SCREEN_UPDATE_DRIVER(shangha3_state, screen_update_shangha3)
- MCFG_GFXDECODE(shangha3)
+ MCFG_GFXDECODE_ADD("gfxdecode", shangha3)
MCFG_PALETTE_LENGTH(2048)
@@ -568,7 +568,7 @@ static MACHINE_CONFIG_START( blocken, shangha3_state )
MCFG_SCREEN_UPDATE_DRIVER(shangha3_state, screen_update_shangha3)
- MCFG_GFXDECODE(shangha3)
+ MCFG_GFXDECODE_ADD("gfxdecode", shangha3)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/shangkid.c b/src/mame/drivers/shangkid.c
index 2f30c529362..82cea41bb34 100644
--- a/src/mame/drivers/shangkid.c
+++ b/src/mame/drivers/shangkid.c
@@ -386,7 +386,7 @@ static MACHINE_CONFIG_START( chinhero, shangkid_state )
MCFG_SCREEN_VISIBLE_AREA(16, 319-16, 0, 223)
MCFG_SCREEN_UPDATE_DRIVER(shangkid_state, screen_update_shangkid)
- MCFG_GFXDECODE(chinhero)
+ MCFG_GFXDECODE_ADD("gfxdecode", chinhero)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -420,7 +420,7 @@ static MACHINE_CONFIG_DERIVED( shangkid, chinhero )
MCFG_MACHINE_RESET_OVERRIDE(shangkid_state,shangkid)
/* video hardware */
- MCFG_GFXDECODE(shangkid)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", shangkid)
MCFG_SOUND_MODIFY("aysnd")
MCFG_SOUND_CONFIG(shangkid_ay8910_interface)
@@ -465,7 +465,7 @@ static MACHINE_CONFIG_START( dynamski, shangkid_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255+32, 16, 255-16)
MCFG_SCREEN_UPDATE_DRIVER(shangkid_state, screen_update_dynamski)
- MCFG_GFXDECODE(dynamski)
+ MCFG_GFXDECODE_ADD("gfxdecode", dynamski)
MCFG_PALETTE_LENGTH(16*4+16*4)
MCFG_PALETTE_INIT_OVERRIDE(shangkid_state,dynamski)
diff --git a/src/mame/drivers/shaolins.c b/src/mame/drivers/shaolins.c
index 26e8ab76500..ccfc234fc65 100644
--- a/src/mame/drivers/shaolins.c
+++ b/src/mame/drivers/shaolins.c
@@ -200,7 +200,7 @@ static MACHINE_CONFIG_START( shaolins, shaolins_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(shaolins_state, screen_update_shaolins)
- MCFG_GFXDECODE(shaolins)
+ MCFG_GFXDECODE_ADD("gfxdecode", shaolins)
MCFG_PALETTE_LENGTH(16*8*16+16*8*16)
diff --git a/src/mame/drivers/shisen.c b/src/mame/drivers/shisen.c
index dd19580e24e..aebbb47823b 100644
--- a/src/mame/drivers/shisen.c
+++ b/src/mame/drivers/shisen.c
@@ -222,7 +222,7 @@ static MACHINE_CONFIG_START( shisen, shisen_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(shisen_state, screen_update_sichuan2)
- MCFG_GFXDECODE(shisen)
+ MCFG_GFXDECODE_ADD("gfxdecode", shisen)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/shootout.c b/src/mame/drivers/shootout.c
index 99f8f68e104..85bc4d77f00 100644
--- a/src/mame/drivers/shootout.c
+++ b/src/mame/drivers/shootout.c
@@ -273,7 +273,7 @@ static MACHINE_CONFIG_START( shootout, shootout_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(shootout_state, screen_update_shootout)
- MCFG_GFXDECODE(shootout)
+ MCFG_GFXDECODE_ADD("gfxdecode", shootout)
MCFG_PALETTE_LENGTH(256)
@@ -301,7 +301,7 @@ static MACHINE_CONFIG_START( shootouj, shootout_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(shootout_state, screen_update_shootouj)
- MCFG_GFXDECODE(shootout)
+ MCFG_GFXDECODE_ADD("gfxdecode", shootout)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/shuuz.c b/src/mame/drivers/shuuz.c
index 8284933878d..661b8a6e889 100644
--- a/src/mame/drivers/shuuz.c
+++ b/src/mame/drivers/shuuz.c
@@ -233,12 +233,12 @@ static MACHINE_CONFIG_START( shuuz, shuuz_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(shuuz)
+ MCFG_GFXDECODE_ADD("gfxdecode", shuuz)
MCFG_PALETTE_LENGTH(1024)
MCFG_ATARI_VAD_ADD("vad", "screen", WRITELINE(atarigen_state, scanline_int_write_line))
MCFG_ATARI_VAD_PLAYFIELD(shuuz_state, get_playfield_tile_info)
- MCFG_ATARI_VAD_MOB(shuuz_state::s_mob_config)
+ MCFG_ATARI_VAD_MOB(shuuz_state::s_mob_config, "gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c
index 49f4bff80d7..1a8f7c579aa 100644
--- a/src/mame/drivers/sidearms.c
+++ b/src/mame/drivers/sidearms.c
@@ -622,7 +622,7 @@ static MACHINE_CONFIG_START( sidearms, sidearms_state )
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update_sidearms)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(sidearms)
+ MCFG_GFXDECODE_ADD("gfxdecode", sidearms)
MCFG_PALETTE_LENGTH(1024)
@@ -666,7 +666,7 @@ static MACHINE_CONFIG_START( turtship, sidearms_state )
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update_sidearms)
- MCFG_GFXDECODE(turtship)
+ MCFG_GFXDECODE_ADD("gfxdecode", turtship)
MCFG_PALETTE_LENGTH(1024)
/* sound hardware */
@@ -712,7 +712,7 @@ static MACHINE_CONFIG_START( whizz, sidearms_state )
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update_sidearms)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(turtship)
+ MCFG_GFXDECODE_ADD("gfxdecode", turtship)
MCFG_PALETTE_LENGTH(1024)
/* sound hardware */
diff --git a/src/mame/drivers/sidepckt.c b/src/mame/drivers/sidepckt.c
index 4a10a62a927..369745a3b8f 100644
--- a/src/mame/drivers/sidepckt.c
+++ b/src/mame/drivers/sidepckt.c
@@ -379,7 +379,7 @@ static MACHINE_CONFIG_START( sidepckt, sidepckt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sidepckt_state, screen_update_sidepckt)
- MCFG_GFXDECODE(sidepckt)
+ MCFG_GFXDECODE_ADD("gfxdecode", sidepckt)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c
index 461294fc560..ea6a54a0bec 100644
--- a/src/mame/drivers/sigmab98.c
+++ b/src/mame/drivers/sigmab98.c
@@ -298,7 +298,7 @@ void sigmab98_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
{
for (x = x0; x != x1; x += dx)
{
- machine().gfx[gfx]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx)->zoom_transpen(bitmap,cliprect,
code++, color,
flipx, flipy,
(sx + x * dim) / 0x10000, (sy + y * dim) / 0x10000,
@@ -1698,7 +1698,7 @@ static MACHINE_CONFIG_START( gegege, sigmab98_state )
MCFG_SCREEN_VISIBLE_AREA(0,0x140-1, 0,0xf0-1)
MCFG_SCREEN_UPDATE_DRIVER(sigmab98_state, screen_update_sigmab98)
- MCFG_GFXDECODE(sigmab98)
+ MCFG_GFXDECODE_ADD("gfxdecode", sigmab98)
MCFG_PALETTE_LENGTH(0x100)
// sound hardware
@@ -1738,7 +1738,7 @@ static MACHINE_CONFIG_START( sammymdl, sigmab98_state )
MCFG_SCREEN_UPDATE_DRIVER(sigmab98_state, screen_update_sigmab98)
MCFG_SCREEN_VBLANK_DRIVER(sigmab98_state, screen_eof_sammymdl)
- MCFG_GFXDECODE(sigmab98)
+ MCFG_GFXDECODE_ADD("gfxdecode", sigmab98)
MCFG_PALETTE_LENGTH(0x100)
// sound hardware
diff --git a/src/mame/drivers/silkroad.c b/src/mame/drivers/silkroad.c
index db56b4f592d..4c1c1c6aaa6 100644
--- a/src/mame/drivers/silkroad.c
+++ b/src/mame/drivers/silkroad.c
@@ -283,7 +283,7 @@ static MACHINE_CONFIG_START( silkroad, silkroad_state )
MCFG_SCREEN_VISIBLE_AREA(6*8+2, 64*8-1-(10*8)-2, 2*8, 32*8-1-(2*8))
MCFG_SCREEN_UPDATE_DRIVER(silkroad_state, screen_update_silkroad)
- MCFG_GFXDECODE(silkroad)
+ MCFG_GFXDECODE_ADD("gfxdecode", silkroad)
MCFG_PALETTE_LENGTH(0x2000)
diff --git a/src/mame/drivers/silvmil.c b/src/mame/drivers/silvmil.c
index 39f1dc14c3c..fbfaf99601c 100644
--- a/src/mame/drivers/silvmil.c
+++ b/src/mame/drivers/silvmil.c
@@ -124,7 +124,7 @@ TILE_GET_INFO_MEMBER(silvmil_state::get_bg_tile_info)
int color = (data >> 12) & 0x0f;
int bank = m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
- SET_TILE_INFO_MEMBER(1, tile + bank, color + 0x20, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile + bank, color + 0x20, 0);
}
TILE_GET_INFO_MEMBER(silvmil_state::get_fg_tile_info)
@@ -134,7 +134,7 @@ TILE_GET_INFO_MEMBER(silvmil_state::get_fg_tile_info)
int color = (data >> 12) & 0x0f;
int bank = m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
- SET_TILE_INFO_MEMBER(1, tile + bank, color + 0x10, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile + bank, color + 0x10, 0);
}
TILEMAP_MAPPER_MEMBER(silvmil_state::deco16_scan_rows)
@@ -321,13 +321,14 @@ static MACHINE_CONFIG_START( silvmil, silvmil_state )
MCFG_SCREEN_UPDATE_DRIVER(silvmil_state, screen_update_silvmil)
MCFG_PALETTE_LENGTH(0x300)
- MCFG_GFXDECODE(silvmil)
+ MCFG_GFXDECODE_ADD("gfxdecode", silvmil)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 0);
decospr_device::set_is_bootleg(*device, true);
decospr_device::set_offsets(*device, 5,7);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/simpl156.c b/src/mame/drivers/simpl156.c
index 3206b07db8e..b12e4c07729 100644
--- a/src/mame/drivers/simpl156.c
+++ b/src/mame/drivers/simpl156.c
@@ -435,12 +435,15 @@ static MACHINE_CONFIG_START( chainrec, simpl156_state )
MCFG_SCREEN_UPDATE_DRIVER(simpl156_state, screen_update_simpl156)
MCFG_PALETTE_LENGTH(4096)
- MCFG_GFXDECODE(simpl156)
+ MCFG_GFXDECODE_ADD("gfxdecode", simpl156)
MCFG_DECO16IC_ADD("tilegen1", simpl156_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
decospr_device::set_pri_callback(*device, simpl156_pri_callback);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/simpsons.c b/src/mame/drivers/simpsons.c
index b0e675435ca..85567173019 100644
--- a/src/mame/drivers/simpsons.c
+++ b/src/mame/drivers/simpsons.c
@@ -344,8 +344,11 @@ static MACHINE_CONFIG_START( simpsons, simpsons_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", simpsons_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053246_ADD("k053246", simpsons_k053246_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
diff --git a/src/mame/drivers/skimaxx.c b/src/mame/drivers/skimaxx.c
index e10b2f975b7..8bdf37747e4 100644
--- a/src/mame/drivers/skimaxx.c
+++ b/src/mame/drivers/skimaxx.c
@@ -536,7 +536,7 @@ static MACHINE_CONFIG_START( skimaxx, skimaxx_state )
MCFG_SCREEN_UPDATE_DEVICE("tms", tms34010_device, tms340x0_ind16)
-// MCFG_GFXDECODE( skimaxx )
+// MCFG_GFXDECODE_ADD("gfxdecode", skimaxx )
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRRR_GGGGG_BBBBB)
MCFG_PALETTE_LENGTH(32768)
diff --git a/src/mame/drivers/skullxbo.c b/src/mame/drivers/skullxbo.c
index 388f3026724..52110c0ff26 100644
--- a/src/mame/drivers/skullxbo.c
+++ b/src/mame/drivers/skullxbo.c
@@ -235,12 +235,13 @@ static MACHINE_CONFIG_START( skullxbo, skullxbo_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(skullxbo)
+ MCFG_GFXDECODE_ADD("gfxdecode", skullxbo)
MCFG_PALETTE_LENGTH(2048)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, skullxbo_state, get_playfield_tile_info, 16,8, SCAN_COLS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, skullxbo_state, get_alpha_tile_info, 16,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", skullxbo_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/skyarmy.c b/src/mame/drivers/skyarmy.c
index f86dae86231..a6185d9d91c 100644
--- a/src/mame/drivers/skyarmy.c
+++ b/src/mame/drivers/skyarmy.c
@@ -74,7 +74,7 @@ TILE_GET_INFO_MEMBER(skyarmy_state::get_skyarmy_tile_info)
int code = m_videoram[tile_index];
int attr = BITSWAP8(m_colorram[tile_index], 7, 6, 5, 4, 3, 0, 1, 2) & 7;
- SET_TILE_INFO_MEMBER( 0, code, attr, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, attr, 0);
}
WRITE8_MEMBER(skyarmy_state::skyarmy_videoram_w)
@@ -145,7 +145,7 @@ UINT32 skyarmy_state::screen_update_skyarmy(screen_device &screen, bitmap_ind16
flipy = (spriteram[offs+1]&0x80)>>7;
flipx = (spriteram[offs+1]&0x40)>>6;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
spriteram[offs+1]&0x3f,
pal,
flipx,flipy,
@@ -292,7 +292,7 @@ static MACHINE_CONFIG_START( skyarmy, skyarmy_state )
MCFG_SCREEN_VISIBLE_AREA(0*8,32*8-1,1*8,31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(skyarmy_state, screen_update_skyarmy)
- MCFG_GFXDECODE(skyarmy)
+ MCFG_GFXDECODE_ADD("gfxdecode", skyarmy)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/skydiver.c b/src/mame/drivers/skydiver.c
index 4d30cd7d248..2a05988d17c 100644
--- a/src/mame/drivers/skydiver.c
+++ b/src/mame/drivers/skydiver.c
@@ -387,7 +387,7 @@ static MACHINE_CONFIG_START( skydiver, skydiver_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(skydiver_state, screen_update_skydiver)
- MCFG_GFXDECODE(skydiver)
+ MCFG_GFXDECODE_ADD("gfxdecode", skydiver)
MCFG_PALETTE_LENGTH(sizeof(colortable_source) / sizeof(colortable_source[0]))
diff --git a/src/mame/drivers/skyfox.c b/src/mame/drivers/skyfox.c
index 01e80680726..b8fab5ab118 100644
--- a/src/mame/drivers/skyfox.c
+++ b/src/mame/drivers/skyfox.c
@@ -248,7 +248,7 @@ static MACHINE_CONFIG_START( skyfox, skyfox_state )
MCFG_SCREEN_VISIBLE_AREA(0+0x60, 320-1+0x60, 0+16, 256-1-16) // from $30*2 to $CC*2+8
MCFG_SCREEN_UPDATE_DRIVER(skyfox_state, screen_update_skyfox)
- MCFG_GFXDECODE(skyfox)
+ MCFG_GFXDECODE_ADD("gfxdecode", skyfox)
MCFG_PALETTE_LENGTH(256+256) /* 256 static colors (+256 for the background??) */
diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c
index 25989d40321..12fda79a507 100644
--- a/src/mame/drivers/skykid.c
+++ b/src/mame/drivers/skykid.c
@@ -459,7 +459,7 @@ static MACHINE_CONFIG_START( skykid, skykid_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(skykid_state, screen_update_skykid)
- MCFG_GFXDECODE(skykid)
+ MCFG_GFXDECODE_ADD("gfxdecode", skykid)
MCFG_PALETTE_LENGTH(64*4+128*4+64*8)
diff --git a/src/mame/drivers/skylncr.c b/src/mame/drivers/skylncr.c
index 5e08e946349..251947f9fc1 100644
--- a/src/mame/drivers/skylncr.c
+++ b/src/mame/drivers/skylncr.c
@@ -135,31 +135,31 @@ WRITE8_MEMBER(skylncr_state::skylncr_colorram_w)
TILE_GET_INFO_MEMBER(skylncr_state::get_tile_info)
{
UINT16 code = m_videoram[ tile_index ] + (m_colorram[ tile_index ] << 8);
- SET_TILE_INFO_MEMBER(0, code, 0, TILE_FLIPYX( 0 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, TILE_FLIPYX( 0 ));
}
TILE_GET_INFO_MEMBER(skylncr_state::get_reel_1_tile_info)
{
UINT16 code = m_reeltiles_1_ram[ tile_index ] + (m_reeltileshigh_1_ram[ tile_index ] << 8);
- SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, TILE_FLIPYX( 0 ));
}
TILE_GET_INFO_MEMBER(skylncr_state::get_reel_2_tile_info)
{
UINT16 code = m_reeltiles_2_ram[ tile_index ] + (m_reeltileshigh_2_ram[ tile_index ] << 8);
- SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, TILE_FLIPYX( 0 ));
}
TILE_GET_INFO_MEMBER(skylncr_state::get_reel_3_tile_info)
{
UINT16 code = m_reeltiles_3_ram[ tile_index ] + (m_reeltileshigh_3_ram[ tile_index ] << 8);
- SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, TILE_FLIPYX( 0 ));
}
TILE_GET_INFO_MEMBER(skylncr_state::get_reel_4_tile_info)
{
UINT16 code = m_reeltiles_4_ram[ tile_index ] + (m_reeltileshigh_4_ram[ tile_index ] << 8);
- SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, TILE_FLIPYX( 0 ));
}
@@ -727,7 +727,7 @@ static MACHINE_CONFIG_START( skylncr, skylncr_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(skylncr_state, screen_update_skylncr)
- MCFG_GFXDECODE(skylncr)
+ MCFG_GFXDECODE_ADD("gfxdecode", skylncr)
MCFG_PALETTE_LENGTH(0x200)
diff --git a/src/mame/drivers/skyraid.c b/src/mame/drivers/skyraid.c
index bfe37692fbd..1fd90504572 100644
--- a/src/mame/drivers/skyraid.c
+++ b/src/mame/drivers/skyraid.c
@@ -228,7 +228,7 @@ static MACHINE_CONFIG_START( skyraid, skyraid_state )
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(skyraid_state, screen_update_skyraid)
- MCFG_GFXDECODE(skyraid)
+ MCFG_GFXDECODE_ADD("gfxdecode", skyraid)
MCFG_PALETTE_LENGTH(20)
diff --git a/src/mame/drivers/slapfght.c b/src/mame/drivers/slapfght.c
index 2a75105cd73..34f1862bde7 100644
--- a/src/mame/drivers/slapfght.c
+++ b/src/mame/drivers/slapfght.c
@@ -753,7 +753,7 @@ static MACHINE_CONFIG_START( perfrman, slapfght_state )
MCFG_SCREEN_UPDATE_DRIVER(slapfght_state, screen_update_perfrman)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(perfrman)
+ MCFG_GFXDECODE_ADD("gfxdecode", perfrman)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -799,7 +799,7 @@ static MACHINE_CONFIG_START( tigerhb, slapfght_state )
MCFG_SCREEN_UPDATE_DRIVER(slapfght_state, screen_update_slapfight)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(slapfght)
+ MCFG_GFXDECODE_ADD("gfxdecode", slapfght)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -847,7 +847,7 @@ static MACHINE_CONFIG_START( tigerh, slapfght_state )
MCFG_SCREEN_UPDATE_DRIVER(slapfght_state, screen_update_slapfight)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(slapfght)
+ MCFG_GFXDECODE_ADD("gfxdecode", slapfght)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -896,7 +896,7 @@ static MACHINE_CONFIG_START( slapfigh, slapfght_state )
MCFG_SCREEN_UPDATE_DRIVER(slapfght_state, screen_update_slapfight)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(slapfght)
+ MCFG_GFXDECODE_ADD("gfxdecode", slapfght)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/slapshot.c b/src/mame/drivers/slapshot.c
index 1c9cbe5b1dd..ea86d632908 100644
--- a/src/mame/drivers/slapshot.c
+++ b/src/mame/drivers/slapshot.c
@@ -546,11 +546,12 @@ static MACHINE_CONFIG_START( slapshot, slapshot_state )
MCFG_SCREEN_UPDATE_DRIVER(slapshot_state, screen_update_slapshot)
MCFG_SCREEN_VBLANK_DRIVER(slapshot_state, screen_eof_taito_no_buffer)
- MCFG_GFXDECODE(slapshot)
+ MCFG_GFXDECODE_ADD("gfxdecode", slapshot)
MCFG_PALETTE_LENGTH(8192)
MCFG_TC0480SCP_ADD("tc0480scp", slapshot_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
/* sound hardware */
@@ -592,11 +593,12 @@ static MACHINE_CONFIG_START( opwolf3, slapshot_state )
MCFG_SCREEN_UPDATE_DRIVER(slapshot_state, screen_update_slapshot)
MCFG_SCREEN_VBLANK_DRIVER(slapshot_state, screen_eof_taito_no_buffer)
- MCFG_GFXDECODE(slapshot)
+ MCFG_GFXDECODE_ADD("gfxdecode", slapshot)
MCFG_PALETTE_LENGTH(8192)
MCFG_TC0480SCP_ADD("tc0480scp", slapshot_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
/* sound hardware */
diff --git a/src/mame/drivers/slotcarn.c b/src/mame/drivers/slotcarn.c
index cfdf7e88f9f..6273fae6c32 100644
--- a/src/mame/drivers/slotcarn.c
+++ b/src/mame/drivers/slotcarn.c
@@ -625,7 +625,7 @@ static MACHINE_CONFIG_START( slotcarn, slotcarn_state )
MCFG_MC6845_ADD("crtc", MC6845, "screen", CRTC_CLOCK, mc6845_intf)
- MCFG_GFXDECODE(slotcarn)
+ MCFG_GFXDECODE_ADD("gfxdecode", slotcarn)
MCFG_PALETTE_LENGTH(0x400)
/* sound hardware */
diff --git a/src/mame/drivers/snk.c b/src/mame/drivers/snk.c
index 476e0ff0805..65defa1be5b 100644
--- a/src/mame/drivers/snk.c
+++ b/src/mame/drivers/snk.c
@@ -3630,7 +3630,7 @@ static MACHINE_CONFIG_START( marvins, snk_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 1*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snk_state, screen_update_marvins)
- MCFG_GFXDECODE(marvins)
+ MCFG_GFXDECODE_ADD("gfxdecode", marvins)
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT_OVERRIDE(snk_state,tnk3)
@@ -3699,7 +3699,7 @@ static MACHINE_CONFIG_START( jcross, snk_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 1*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snk_state, screen_update_tnk3)
- MCFG_GFXDECODE(tnk3)
+ MCFG_GFXDECODE_ADD("gfxdecode", tnk3)
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT_OVERRIDE(snk_state,tnk3)
@@ -3777,7 +3777,7 @@ static MACHINE_CONFIG_START( tnk3, snk_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 1*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snk_state, screen_update_tnk3)
- MCFG_GFXDECODE(tnk3)
+ MCFG_GFXDECODE_ADD("gfxdecode", tnk3)
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT_OVERRIDE(snk_state,tnk3)
@@ -3861,7 +3861,7 @@ static MACHINE_CONFIG_START( ikari, snk_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 1*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snk_state, screen_update_ikari)
- MCFG_GFXDECODE(ikari)
+ MCFG_GFXDECODE_ADD("gfxdecode", ikari)
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -3917,7 +3917,7 @@ static MACHINE_CONFIG_START( bermudat, snk_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 50*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snk_state, screen_update_gwar)
- MCFG_GFXDECODE(gwar)
+ MCFG_GFXDECODE_ADD("gfxdecode", gwar)
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -4021,7 +4021,7 @@ static MACHINE_CONFIG_START( tdfever, snk_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 50*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snk_state, screen_update_tdfever)
- MCFG_GFXDECODE(tdfever)
+ MCFG_GFXDECODE_ADD("gfxdecode", tdfever)
MCFG_PALETTE_LENGTH(0x400)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/snk6502.c b/src/mame/drivers/snk6502.c
index d924965979e..d9d9a73fcc4 100644
--- a/src/mame/drivers/snk6502.c
+++ b/src/mame/drivers/snk6502.c
@@ -830,7 +830,7 @@ static MACHINE_CONFIG_START( sasuke, snk6502_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snk6502_state, screen_update_snk6502)
- MCFG_GFXDECODE(sasuke)
+ MCFG_GFXDECODE_ADD("gfxdecode", sasuke)
MCFG_PALETTE_LENGTH(32)
MCFG_PALETTE_INIT_OVERRIDE(snk6502_state,satansat)
@@ -870,7 +870,7 @@ static MACHINE_CONFIG_DERIVED( satansat, sasuke )
MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,satansat)
// video hardware
- MCFG_GFXDECODE(satansat)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", satansat)
// sound hardware
MCFG_SAMPLES_REPLACE("samples", vanguard_samples_interface)
@@ -903,7 +903,7 @@ static MACHINE_CONFIG_START( vanguard, snk6502_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snk6502_state, screen_update_snk6502)
- MCFG_GFXDECODE(vanguard)
+ MCFG_GFXDECODE_ADD("gfxdecode", vanguard)
MCFG_PALETTE_LENGTH(64)
MCFG_PALETTE_INIT_OVERRIDE(snk6502_state,snk6502)
diff --git a/src/mame/drivers/snk68.c b/src/mame/drivers/snk68.c
index a6aba9ec40d..afbea47d4cb 100644
--- a/src/mame/drivers/snk68.c
+++ b/src/mame/drivers/snk68.c
@@ -595,7 +595,7 @@ static MACHINE_CONFIG_START( pow, snk68_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_24MHz/4, 384, 0, 256, 264, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(snk68_state, screen_update_pow)
- MCFG_GFXDECODE(pow)
+ MCFG_GFXDECODE_ADD("gfxdecode", pow)
MCFG_PALETTE_LENGTH(0x800)
diff --git a/src/mame/drivers/snookr10.c b/src/mame/drivers/snookr10.c
index 70e17160c04..3e892cf94ab 100644
--- a/src/mame/drivers/snookr10.c
+++ b/src/mame/drivers/snookr10.c
@@ -1041,7 +1041,7 @@ static MACHINE_CONFIG_START( snookr10, snookr10_state )
MCFG_SCREEN_VISIBLE_AREA(0*4, 96*4-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snookr10_state, screen_update_snookr10)
- MCFG_GFXDECODE(snookr10)
+ MCFG_GFXDECODE_ADD("gfxdecode", snookr10)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index 77d63cd1f95..7cc789c20a3 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -1535,10 +1535,11 @@ static MACHINE_CONFIG_START( snowbros, snowbros_state )
MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_snowbros)
MCFG_SCREEN_VBLANK_DRIVER(snowbros_state, screen_eof_snowbros)
- MCFG_GFXDECODE(snowbros)
+ MCFG_GFXDECODE_ADD("gfxdecode", snowbros)
MCFG_PALETTE_LENGTH(256)
MCFG_KANEKO_PANDORA_ADD("pandora", snowbros_pandora_config)
+ MCFG_KANEKO_PANDORA_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1559,7 +1560,7 @@ static MACHINE_CONFIG_DERIVED( wintbob, snowbros )
MCFG_DEVICE_REMOVE("pandora")
/* video hardware */
- MCFG_GFXDECODE(wb)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", wb)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_wintbob)
MCFG_SCREEN_VBLANK_NONE()
@@ -1578,7 +1579,7 @@ static MACHINE_CONFIG_DERIVED( semicom, snowbros )
MCFG_CPU_PROGRAM_MAP(hyperpac_sound_map)
MCFG_CPU_IO_MAP(hyperpac_sound_io_map)
- MCFG_GFXDECODE(hyperpac)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", hyperpac)
/* sound hardware */
MCFG_SOUND_REPLACE("ymsnd", YM2151, 4000000)
@@ -1645,7 +1646,7 @@ static MACHINE_CONFIG_START( honeydol, snowbros_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_honeydol)
- MCFG_GFXDECODE(honeydol)
+ MCFG_GFXDECODE_ADD("gfxdecode", honeydol)
MCFG_PALETTE_LENGTH(0x800/2)
/* sound hardware */
@@ -1682,7 +1683,7 @@ static MACHINE_CONFIG_START( twinadv, snowbros_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_twinadv)
- MCFG_GFXDECODE(twinadv)
+ MCFG_GFXDECODE_ADD("gfxdecode", twinadv)
MCFG_PALETTE_LENGTH(0x100)
/* sound hardware */
@@ -1736,7 +1737,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( _4in1, semicom )
/* basic machine hardware */
- MCFG_GFXDECODE(snowbros)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", snowbros)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( snowbro3, snowbros_state )
@@ -1754,7 +1755,7 @@ static MACHINE_CONFIG_START( snowbro3, snowbros_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(snowbros_state, screen_update_snowbro3)
- MCFG_GFXDECODE(sb3)
+ MCFG_GFXDECODE_ADD("gfxdecode", sb3)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
diff --git a/src/mame/drivers/solomon.c b/src/mame/drivers/solomon.c
index 1c7522eaaab..671dba8bc7e 100644
--- a/src/mame/drivers/solomon.c
+++ b/src/mame/drivers/solomon.c
@@ -221,7 +221,7 @@ static MACHINE_CONFIG_START( solomon, solomon_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(solomon_state, screen_update_solomon)
- MCFG_GFXDECODE(solomon)
+ MCFG_GFXDECODE_ADD("gfxdecode", solomon)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/sonson.c b/src/mame/drivers/sonson.c
index 9d6e12dabeb..b6f17c2e9c5 100644
--- a/src/mame/drivers/sonson.c
+++ b/src/mame/drivers/sonson.c
@@ -254,7 +254,7 @@ static MACHINE_CONFIG_START( sonson, sonson_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sonson_state, screen_update_sonson)
- MCFG_GFXDECODE(sonson)
+ MCFG_GFXDECODE_ADD("gfxdecode", sonson)
MCFG_PALETTE_LENGTH(64*4+32*8)
diff --git a/src/mame/drivers/spbactn.c b/src/mame/drivers/spbactn.c
index e8d001b0ecd..77a7f4814de 100644
--- a/src/mame/drivers/spbactn.c
+++ b/src/mame/drivers/spbactn.c
@@ -426,7 +426,7 @@ static MACHINE_CONFIG_START( spbactn, spbactn_state )
MCFG_VIDEO_START_OVERRIDE(spbactn_state,spbactn)
MCFG_SCREEN_UPDATE_DRIVER(spbactn_state, screen_update_spbactn)
- MCFG_GFXDECODE(spbactn)
+ MCFG_GFXDECODE_ADD("gfxdecode", spbactn)
MCFG_PALETTE_LENGTH(0x2800/2)
@@ -468,7 +468,7 @@ static MACHINE_CONFIG_START( spbactnp, spbactn_state )
MCFG_VIDEO_START_OVERRIDE(spbactn_state,spbactnp)
MCFG_SCREEN_UPDATE_DRIVER(spbactn_state, screen_update_spbactnp)
- MCFG_GFXDECODE(spbactnp)
+ MCFG_GFXDECODE_ADD("gfxdecode", spbactnp)
MCFG_PALETTE_LENGTH(0x2800/2)
diff --git a/src/mame/drivers/spcforce.c b/src/mame/drivers/spcforce.c
index 4e388afcf51..69fe8fe2e55 100644
--- a/src/mame/drivers/spcforce.c
+++ b/src/mame/drivers/spcforce.c
@@ -278,7 +278,7 @@ static MACHINE_CONFIG_START( spcforce, spcforce_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(spcforce_state, screen_update_spcforce)
- MCFG_GFXDECODE(spcforce)
+ MCFG_GFXDECODE_ADD("gfxdecode", spcforce)
MCFG_PALETTE_LENGTH(sizeof(colortable_source) / sizeof(colortable_source[0]))
/* sound hardware */
diff --git a/src/mame/drivers/spdodgeb.c b/src/mame/drivers/spdodgeb.c
index 2698a4383b8..061e6b1f448 100644
--- a/src/mame/drivers/spdodgeb.c
+++ b/src/mame/drivers/spdodgeb.c
@@ -428,7 +428,7 @@ static MACHINE_CONFIG_START( spdodgeb, spdodgeb_state )
MCFG_SCREEN_RAW_PARAMS(12000000/2, 384, 0, 256, 272, 0, 240)
MCFG_SCREEN_UPDATE_DRIVER(spdodgeb_state, screen_update_spdodgeb)
- MCFG_GFXDECODE(spdodgeb)
+ MCFG_GFXDECODE_ADD("gfxdecode", spdodgeb)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index 3c70d9cb21d..226c69842b6 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -337,7 +337,7 @@ static MACHINE_CONFIG_START( speedatk, speedatk_state )
MCFG_MC6845_ADD("crtc", H46505, "screen", MASTER_CLOCK/16, mc6845_intf) /* hand tuned to get ~60 fps */
- MCFG_GFXDECODE(speedatk)
+ MCFG_GFXDECODE_ADD("gfxdecode", speedatk)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/speedbal.c b/src/mame/drivers/speedbal.c
index 27af0439463..67547f0623c 100644
--- a/src/mame/drivers/speedbal.c
+++ b/src/mame/drivers/speedbal.c
@@ -255,7 +255,7 @@ static MACHINE_CONFIG_START( speedbal, speedbal_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(speedbal_state, screen_update_speedbal)
- MCFG_GFXDECODE(speedbal)
+ MCFG_GFXDECODE_ADD("gfxdecode", speedbal)
MCFG_PALETTE_LENGTH(768)
/* sound hardware */
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index 9c62e417f64..4fe745b6967 100644
--- a/src/mame/drivers/speedspn.c
+++ b/src/mame/drivers/speedspn.c
@@ -285,7 +285,7 @@ static MACHINE_CONFIG_START( speedspn, speedspn_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, 56*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(speedspn_state, screen_update_speedspn)
- MCFG_GFXDECODE(speedspn)
+ MCFG_GFXDECODE_ADD("gfxdecode", speedspn)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/speglsht.c b/src/mame/drivers/speglsht.c
index a183b6c12a5..a8563b17b08 100644
--- a/src/mame/drivers/speglsht.c
+++ b/src/mame/drivers/speglsht.c
@@ -402,7 +402,7 @@ static MACHINE_CONFIG_START( speglsht, speglsht_state )
MCFG_SCREEN_VISIBLE_AREA(0, 319, 8, 239-8)
MCFG_SCREEN_UPDATE_DRIVER(speglsht_state, screen_update_speglsht)
- MCFG_GFXDECODE(speglsht)
+ MCFG_GFXDECODE_ADD("gfxdecode", speglsht)
MCFG_PALETTE_LENGTH(16*16*4+1)
MCFG_VIDEO_START_OVERRIDE(speglsht_state,speglsht)
diff --git a/src/mame/drivers/splash.c b/src/mame/drivers/splash.c
index f2c67b30f6c..e3f1b9ec325 100644
--- a/src/mame/drivers/splash.c
+++ b/src/mame/drivers/splash.c
@@ -502,7 +502,7 @@ static MACHINE_CONFIG_START( splash, splash_state )
MCFG_SCREEN_VISIBLE_AREA(2*8, 48*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(splash_state, screen_update_splash)
- MCFG_GFXDECODE(splash)
+ MCFG_GFXDECODE_ADD("gfxdecode", splash)
MCFG_PALETTE_LENGTH(2048)
@@ -555,7 +555,7 @@ static MACHINE_CONFIG_START( roldfrog, splash_state )
MCFG_SCREEN_UPDATE_DRIVER(splash_state, screen_update_splash)
- MCFG_GFXDECODE(splash)
+ MCFG_GFXDECODE_ADD("gfxdecode", splash)
MCFG_PALETTE_LENGTH(2048)
@@ -633,7 +633,7 @@ static MACHINE_CONFIG_START( funystrp, splash_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(splash_state, screen_update_funystrp)
- MCFG_GFXDECODE(splash)
+ MCFG_GFXDECODE_ADD("gfxdecode", splash)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/spoker.c b/src/mame/drivers/spoker.c
index 346b637528e..b48060a93e4 100644
--- a/src/mame/drivers/spoker.c
+++ b/src/mame/drivers/spoker.c
@@ -73,13 +73,13 @@ WRITE8_MEMBER(spoker_state::bg_tile_w)
TILE_GET_INFO_MEMBER(spoker_state::get_bg_tile_info)
{
int code = m_bg_tile_ram[tile_index];
- SET_TILE_INFO_MEMBER(1 + (tile_index & 3), code & 0xff, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1 + (tile_index & 3), code & 0xff, 0, 0);
}
TILE_GET_INFO_MEMBER(spoker_state::get_fg_tile_info)
{
int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
- SET_TILE_INFO_MEMBER(0, code, (4*(code >> 14)+3), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, (4*(code >> 14)+3), 0);
}
WRITE8_MEMBER(spoker_state::fg_tile_w)
@@ -535,7 +535,7 @@ static MACHINE_CONFIG_START( spoker, spoker_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(spoker_state, screen_update_spoker)
- MCFG_GFXDECODE(spoker)
+ MCFG_GFXDECODE_ADD("gfxdecode", spoker)
MCFG_PALETTE_LENGTH(0x400)
@@ -557,7 +557,7 @@ static MACHINE_CONFIG_DERIVED( 3super8, spoker )
MCFG_CPU_VBLANK_INT_DRIVER("screen", spoker_state, spoker_interrupt)
MCFG_CPU_PERIODIC_INT_DRIVER(spoker_state, irq0_line_hold, 120) // this signal comes from the PIC
- MCFG_GFXDECODE(3super8)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 3super8)
MCFG_DEVICE_REMOVE("ymsnd")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c
index c5f1d6dddd8..3b100c52624 100644
--- a/src/mame/drivers/spool99.c
+++ b/src/mame/drivers/spool99.c
@@ -133,7 +133,7 @@ TILE_GET_INFO_MEMBER(spool99_state::get_spool99_tile_info)
int code = ((m_vram[tile_index*2+1]<<8) | (m_vram[tile_index*2+0]));
int color = m_cram[tile_index*2+0];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0x3fff,
color & 0x1f,
@@ -352,7 +352,7 @@ static MACHINE_CONFIG_START( spool99, spool99_state )
MCFG_CPU_PROGRAM_MAP(spool99_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", spool99_state, irq0_line_hold)
- MCFG_GFXDECODE(spool99)
+ MCFG_GFXDECODE_ADD("gfxdecode", spool99)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/sprcros2.c b/src/mame/drivers/sprcros2.c
index 7a9b5ef372a..2a92c78a1f0 100644
--- a/src/mame/drivers/sprcros2.c
+++ b/src/mame/drivers/sprcros2.c
@@ -278,7 +278,7 @@ static MACHINE_CONFIG_START( sprcros2, sprcros2_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sprcros2_state, screen_update_sprcros2)
- MCFG_GFXDECODE(sprcros2)
+ MCFG_GFXDECODE_ADD("gfxdecode", sprcros2)
MCFG_PALETTE_LENGTH(768)
diff --git a/src/mame/drivers/sprint2.c b/src/mame/drivers/sprint2.c
index 5882ae82c45..70a76e1c719 100644
--- a/src/mame/drivers/sprint2.c
+++ b/src/mame/drivers/sprint2.c
@@ -497,7 +497,7 @@ static MACHINE_CONFIG_START( sprint2, sprint2_state )
MCFG_SCREEN_UPDATE_DRIVER(sprint2_state, screen_update_sprint2)
MCFG_SCREEN_VBLANK_DRIVER(sprint2_state, screen_eof_sprint2)
- MCFG_GFXDECODE(sprint2)
+ MCFG_GFXDECODE_ADD("gfxdecode", sprint2)
MCFG_PALETTE_LENGTH(12)
diff --git a/src/mame/drivers/sprint4.c b/src/mame/drivers/sprint4.c
index b1cd93a0a50..bd2b0736ceb 100644
--- a/src/mame/drivers/sprint4.c
+++ b/src/mame/drivers/sprint4.c
@@ -410,7 +410,7 @@ static MACHINE_CONFIG_START( sprint4, sprint4_state )
MCFG_SCREEN_UPDATE_DRIVER(sprint4_state, screen_update_sprint4)
MCFG_SCREEN_VBLANK_DRIVER(sprint4_state, screen_eof_sprint4)
- MCFG_GFXDECODE(sprint4)
+ MCFG_GFXDECODE_ADD("gfxdecode", sprint4)
MCFG_PALETTE_LENGTH(10)
diff --git a/src/mame/drivers/sprint8.c b/src/mame/drivers/sprint8.c
index 8850f54be0c..e79f474eff3 100644
--- a/src/mame/drivers/sprint8.c
+++ b/src/mame/drivers/sprint8.c
@@ -464,7 +464,7 @@ static MACHINE_CONFIG_START( sprint8, sprint8_state )
MCFG_SCREEN_UPDATE_DRIVER(sprint8_state, screen_update_sprint8)
MCFG_SCREEN_VBLANK_DRIVER(sprint8_state, screen_eof_sprint8)
- MCFG_GFXDECODE(sprint8)
+ MCFG_GFXDECODE_ADD("gfxdecode", sprint8)
MCFG_PALETTE_LENGTH(36)
diff --git a/src/mame/drivers/spy.c b/src/mame/drivers/spy.c
index e37a16fe41f..454765bbfce 100644
--- a/src/mame/drivers/spy.c
+++ b/src/mame/drivers/spy.c
@@ -538,9 +538,11 @@ static MACHINE_CONFIG_START( spy, spy_state )
MCFG_PALETTE_LENGTH(1024)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", spy_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", spy_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/srmp2.c b/src/mame/drivers/srmp2.c
index 710bd24b88c..f6d89e87d55 100644
--- a/src/mame/drivers/srmp2.c
+++ b/src/mame/drivers/srmp2.c
@@ -1168,6 +1168,7 @@ static MACHINE_CONFIG_START( srmp2, srmp2_state )
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1177,7 +1178,7 @@ static MACHINE_CONFIG_START( srmp2, srmp2_state )
MCFG_SCREEN_VISIBLE_AREA(16, 464-1, 8, 256-1-24)
MCFG_SCREEN_UPDATE_DRIVER(srmp2_state, screen_update_srmp2)
- MCFG_GFXDECODE(srmp2)
+ MCFG_GFXDECODE_ADD("gfxdecode", srmp2)
MCFG_PALETTE_LENGTH(1024) /* sprites only */
MCFG_PALETTE_INIT_OVERRIDE(srmp2_state,srmp2)
@@ -1209,6 +1210,7 @@ static MACHINE_CONFIG_START( srmp3, srmp2_state )
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1218,7 +1220,7 @@ static MACHINE_CONFIG_START( srmp3, srmp2_state )
MCFG_SCREEN_VISIBLE_AREA(16, 400-1, 8, 256-1-24)
MCFG_SCREEN_UPDATE_DRIVER(srmp2_state, screen_update_srmp3)
- MCFG_GFXDECODE(srmp3)
+ MCFG_GFXDECODE_ADD("gfxdecode", srmp3)
MCFG_PALETTE_LENGTH(512) /* sprites only */
MCFG_PALETTE_INIT_OVERRIDE(srmp2_state,srmp3)
@@ -1243,7 +1245,7 @@ static MACHINE_CONFIG_DERIVED( rmgoldyh, srmp3 )
MCFG_MACHINE_START_OVERRIDE(srmp2_state,rmgoldyh)
- MCFG_GFXDECODE(rmgoldyh)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", rmgoldyh)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( mjyuugi, srmp2_state )
@@ -1259,6 +1261,7 @@ static MACHINE_CONFIG_START( mjyuugi, srmp2_state )
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1268,7 +1271,7 @@ static MACHINE_CONFIG_START( mjyuugi, srmp2_state )
MCFG_SCREEN_VISIBLE_AREA(16, 400-1, 0, 256-1-16)
MCFG_SCREEN_UPDATE_DRIVER(srmp2_state, screen_update_mjyuugi)
- MCFG_GFXDECODE(srmp3)
+ MCFG_GFXDECODE_ADD("gfxdecode", srmp3)
MCFG_PALETTE_LENGTH(512) /* sprites only */
/* sound hardware */
diff --git a/src/mame/drivers/srmp5.c b/src/mame/drivers/srmp5.c
index f91ef3db1ea..e789d807243 100644
--- a/src/mame/drivers/srmp5.c
+++ b/src/mame/drivers/srmp5.c
@@ -212,7 +212,7 @@ UINT32 srmp5_state::screen_update_srmp5(screen_device &screen, bitmap_rgb32 &bit
{
if (m_tileduty[i] == 1)
{
- machine().gfx[0]->decode(i);
+ m_gfxdecode->gfx(0)->decode(i);
m_tileduty[i] = 0;
}
}
@@ -554,7 +554,7 @@ static MACHINE_CONFIG_START( srmp5, srmp5_state )
MCFG_PALETTE_LENGTH(0x1800)
#ifdef DEBUG_CHAR
- MCFG_GFXDECODE( srmp5 )
+ MCFG_GFXDECODE_ADD("gfxdecode", srmp5 )
#endif
MCFG_VIDEO_START_OVERRIDE(st0016_state,st0016)
diff --git a/src/mame/drivers/srmp6.c b/src/mame/drivers/srmp6.c
index a64a5cdb553..0a039c258d8 100644
--- a/src/mame/drivers/srmp6.c
+++ b/src/mame/drivers/srmp6.c
@@ -165,8 +165,8 @@ void srmp6_state::video_start()
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*)m_tileram, machine().total_colors() / 256, 0));
- machine().gfx[0]->set_granularity(256);
+ m_gfxdecode->set_gfx(0, auto_alloc(machine(), gfx_element(machine(), tiles8x8_layout, (UINT8*)m_tileram, machine().total_colors() / 256, 0)));
+ m_gfxdecode->gfx(0)->set_granularity(256);
m_brightness = 0x60;
}
@@ -273,7 +273,7 @@ UINT32 srmp6_state::screen_update_srmp6(screen_device &screen, bitmap_rgb32 &bit
else
yb=y+(height-yw-1)*8+global_y;
- machine().gfx[0]->alpha(bitmap,cliprect,tileno,global_pal,flip_x,flip_y,xb,yb,0,alpha);
+ m_gfxdecode->gfx(0)->alpha(bitmap,cliprect,tileno,global_pal,flip_x,flip_y,xb,yb,0,alpha);
tileno++;
}
}
@@ -385,7 +385,7 @@ UINT32 srmp6_state::process(UINT8 b,UINT32 dst_offset)
for(i=0;i<rle;++i)
{
tram[dst_offset + m_destl] = m_lastb;
- machine().gfx[0]->mark_dirty((dst_offset + m_destl)/0x40);
+ m_gfxdecode->gfx(0)->mark_dirty((dst_offset + m_destl)/0x40);
dst_offset++;
++l;
@@ -399,7 +399,7 @@ UINT32 srmp6_state::process(UINT8 b,UINT32 dst_offset)
m_lastb2 = m_lastb;
m_lastb = b;
tram[dst_offset + m_destl] = b;
- machine().gfx[0]->mark_dirty((dst_offset + m_destl)/0x40);
+ m_gfxdecode->gfx(0)->mark_dirty((dst_offset + m_destl)/0x40);
return 1;
}
diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c
index 3fad50ad691..53e1120e415 100644
--- a/src/mame/drivers/srumbler.c
+++ b/src/mame/drivers/srumbler.c
@@ -256,7 +256,7 @@ static MACHINE_CONFIG_START( srumbler, srumbler_state )
MCFG_SCREEN_UPDATE_DRIVER(srumbler_state, screen_update_srumbler)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(srumbler)
+ MCFG_GFXDECODE_ADD("gfxdecode", srumbler)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/sshangha.c b/src/mame/drivers/sshangha.c
index c8257642994..0ce3e3b1c3f 100644
--- a/src/mame/drivers/sshangha.c
+++ b/src/mame/drivers/sshangha.c
@@ -417,16 +417,19 @@ static MACHINE_CONFIG_START( sshangha, sshangha_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sshangha_state, screen_update_sshangha)
- MCFG_GFXDECODE(sshangha)
+ MCFG_GFXDECODE_ADD("gfxdecode", sshangha)
MCFG_PALETTE_LENGTH(0x4000)
MCFG_DECO16IC_ADD("tilegen1", sshangha_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO146_ADD("ioprot")
diff --git a/src/mame/drivers/sshot.c b/src/mame/drivers/sshot.c
index b8054596921..2a95143b43d 100644
--- a/src/mame/drivers/sshot.c
+++ b/src/mame/drivers/sshot.c
@@ -196,7 +196,7 @@ public:
TILE_GET_INFO_MEMBER(supershot_state::get_supershot_text_tile_info)
{
UINT8 code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
void supershot_state::video_start()
@@ -354,7 +354,7 @@ static MACHINE_CONFIG_START( supershot, supershot_state )
MCFG_SCREEN_UPDATE_DRIVER(supershot_state, screen_update_supershot)
- MCFG_GFXDECODE(supershot)
+ MCFG_GFXDECODE_ADD("gfxdecode", supershot)
MCFG_PALETTE_LENGTH(2)
/* sound hardware */
diff --git a/src/mame/drivers/ssingles.c b/src/mame/drivers/ssingles.c
index 5e7cd95e53c..269a8708ba5 100644
--- a/src/mame/drivers/ssingles.c
+++ b/src/mame/drivers/ssingles.c
@@ -577,7 +577,7 @@ static MACHINE_CONFIG_START( ssingles, ssingles_state )
MCFG_PALETTE_LENGTH(4) //guess
- MCFG_GFXDECODE(ssingles)
+ MCFG_GFXDECODE_ADD("gfxdecode", ssingles)
MCFG_MC6845_ADD("crtc", MC6845, "screen", 1000000 /* ? MHz */, ssingles_mc6845_intf)
@@ -608,7 +608,7 @@ static MACHINE_CONFIG_DERIVED( atamanot, ssingles )
MCFG_MC6845_ADD("crtc", MC6845, "screen", 1000000 /* ? MHz */, atamanot_mc6845_intf)
- MCFG_GFXDECODE(atamanot)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", atamanot)
MACHINE_CONFIG_END
ROM_START( ssingles )
diff --git a/src/mame/drivers/sslam.c b/src/mame/drivers/sslam.c
index 05c35e7309b..e2aa8b74ecc 100644
--- a/src/mame/drivers/sslam.c
+++ b/src/mame/drivers/sslam.c
@@ -713,7 +713,7 @@ static MACHINE_CONFIG_START( sslam, sslam_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 39*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sslam_state, screen_update_sslam)
- MCFG_GFXDECODE(sslam)
+ MCFG_GFXDECODE_ADD("gfxdecode", sslam)
MCFG_PALETTE_LENGTH(0x800)
MCFG_VIDEO_START_OVERRIDE(sslam_state,sslam)
@@ -743,7 +743,7 @@ static MACHINE_CONFIG_START( powerbls, sslam_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sslam_state, screen_update_powerbls)
- MCFG_GFXDECODE(powerbls)
+ MCFG_GFXDECODE_ADD("gfxdecode", powerbls)
MCFG_PALETTE_LENGTH(0x200)
MCFG_VIDEO_START_OVERRIDE(sslam_state,powerbls)
diff --git a/src/mame/drivers/ssozumo.c b/src/mame/drivers/ssozumo.c
index 7e1b5da3293..ab27afd23fd 100644
--- a/src/mame/drivers/ssozumo.c
+++ b/src/mame/drivers/ssozumo.c
@@ -204,7 +204,7 @@ static MACHINE_CONFIG_START( ssozumo, ssozumo_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8 - 1, 1*8, 31*8 - 1)
MCFG_SCREEN_UPDATE_DRIVER(ssozumo_state, screen_update_ssozumo)
- MCFG_GFXDECODE(ssozumo)
+ MCFG_GFXDECODE_ADD("gfxdecode", ssozumo)
MCFG_PALETTE_LENGTH(64 + 16)
diff --git a/src/mame/drivers/sspeedr.c b/src/mame/drivers/sspeedr.c
index 025278adbec..04ebc3aee9d 100644
--- a/src/mame/drivers/sspeedr.c
+++ b/src/mame/drivers/sspeedr.c
@@ -201,7 +201,7 @@ static MACHINE_CONFIG_START( sspeedr, sspeedr_state )
MCFG_SCREEN_UPDATE_DRIVER(sspeedr_state, screen_update_sspeedr)
MCFG_SCREEN_VBLANK_DRIVER(sspeedr_state, screen_eof_sspeedr)
- MCFG_GFXDECODE(sspeedr)
+ MCFG_GFXDECODE_ADD("gfxdecode", sspeedr)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mame/drivers/ssrj.c b/src/mame/drivers/ssrj.c
index b9680d5005e..242ed8d9f88 100644
--- a/src/mame/drivers/ssrj.c
+++ b/src/mame/drivers/ssrj.c
@@ -155,7 +155,7 @@ static MACHINE_CONFIG_START( ssrj, ssrj_state )
MCFG_SCREEN_UPDATE_DRIVER(ssrj_state, screen_update_ssrj)
MCFG_SCREEN_VBLANK_DRIVER(ssrj_state, screen_eof_ssrj)
- MCFG_GFXDECODE(ssrj)
+ MCFG_GFXDECODE_ADD("gfxdecode", ssrj)
MCFG_PALETTE_LENGTH(128)
diff --git a/src/mame/drivers/ssv.c b/src/mame/drivers/ssv.c
index eb450eba885..249fe4caf04 100644
--- a/src/mame/drivers/ssv.c
+++ b/src/mame/drivers/ssv.c
@@ -904,8 +904,8 @@ WRITE16_MEMBER(ssv_state::eaglshot_gfxram_w)
{
offset += (m_scroll[0x76/2] & 0xf) * 0x40000/2;
COMBINE_DATA(&m_eaglshot_gfxram[offset]);
- machine().gfx[0]->mark_dirty(offset / (16*8/2));
- machine().gfx[1]->mark_dirty(offset / (16*8/2));
+ m_gfxdecode->gfx(0)->mark_dirty(offset / (16*8/2));
+ m_gfxdecode->gfx(1)->mark_dirty(offset / (16*8/2));
}
@@ -2592,7 +2592,7 @@ static MACHINE_CONFIG_START( ssv, ssv_state )
MCFG_SCREEN_RAW_PARAMS(SSV_PIXEL_CLOCK,SSV_HTOTAL,SSV_HBEND,SSV_HBSTART,SSV_VTOTAL,SSV_VBEND,SSV_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(ssv_state, screen_update_ssv)
- MCFG_GFXDECODE(ssv)
+ MCFG_GFXDECODE_ADD("gfxdecode", ssv)
MCFG_PALETTE_LENGTH(0x8000)
/* sound hardware */
@@ -2641,8 +2641,9 @@ static MACHINE_CONFIG_DERIVED( gdfs, ssv )
MCFG_SCREEN_UPDATE_DRIVER(ssv_state, screen_update_gdfs)
MCFG_DEVICE_ADD("st0020_spr", ST0020_SPRITES, 0)
+ MCFG_ST0020_SPRITES_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(gdfs)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gdfs)
MCFG_VIDEO_START_OVERRIDE(ssv_state,gdfs)
MACHINE_CONFIG_END
@@ -2821,7 +2822,7 @@ static MACHINE_CONFIG_DERIVED( eaglshot, ssv )
MCFG_SCREEN_VISIBLE_AREA(0, (0xca - 0x2a)*2-1, 0, (0xf6 - 0x16)-1)
MCFG_SCREEN_UPDATE_DRIVER(ssv_state, screen_update_eaglshot)
- MCFG_GFXDECODE(eaglshot)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 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 fc07f80f709..86964a66652 100644
--- a/src/mame/drivers/st0016.c
+++ b/src/mame/drivers/st0016.c
@@ -422,7 +422,7 @@ static MACHINE_CONFIG_START( st0016, st0016_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 48*8-1)
MCFG_SCREEN_UPDATE_DRIVER(st0016_state, screen_update_st0016)
- MCFG_GFXDECODE(st0016)
+ MCFG_GFXDECODE_ADD("gfxdecode", st0016)
MCFG_PALETTE_LENGTH(16*16*4+1)
MCFG_VIDEO_START_OVERRIDE(st0016_state,st0016)
diff --git a/src/mame/drivers/stadhero.c b/src/mame/drivers/stadhero.c
index 5a978e33cb1..0cf86a58d22 100644
--- a/src/mame/drivers/stadhero.c
+++ b/src/mame/drivers/stadhero.c
@@ -235,14 +235,16 @@ static MACHINE_CONFIG_START( stadhero, stadhero_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(stadhero_state, screen_update_stadhero)
- MCFG_GFXDECODE(stadhero)
+ MCFG_GFXDECODE_ADD("gfxdecode", stadhero)
MCFG_PALETTE_LENGTH(1024)
MCFG_DEVICE_ADD("tilegen1", DECO_BAC06, 0)
deco_bac06_device::set_gfx_region_wide(*device,1,1,2);
+ MCFG_DECO_BAC06_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 2);
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
/* sound hardware */
diff --git a/src/mame/drivers/starcrus.c b/src/mame/drivers/starcrus.c
index fa70ff6c604..dd967b3a999 100644
--- a/src/mame/drivers/starcrus.c
+++ b/src/mame/drivers/starcrus.c
@@ -150,7 +150,7 @@ static MACHINE_CONFIG_START( starcrus, starcrus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(starcrus_state, screen_update_starcrus)
- MCFG_GFXDECODE(starcrus)
+ MCFG_GFXDECODE_ADD("gfxdecode", starcrus)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mame/drivers/starshp1.c b/src/mame/drivers/starshp1.c
index 84e00ddb3b9..29307ed7994 100644
--- a/src/mame/drivers/starshp1.c
+++ b/src/mame/drivers/starshp1.c
@@ -307,7 +307,7 @@ static MACHINE_CONFIG_START( starshp1, starshp1_state )
MCFG_SCREEN_UPDATE_DRIVER(starshp1_state, screen_update_starshp1)
MCFG_SCREEN_VBLANK_DRIVER(starshp1_state, screen_eof_starshp1)
- MCFG_GFXDECODE(starshp1)
+ MCFG_GFXDECODE_ADD("gfxdecode", starshp1)
MCFG_PALETTE_LENGTH(19)
diff --git a/src/mame/drivers/statriv2.c b/src/mame/drivers/statriv2.c
index 31ad35efaa6..e3d65de4ae5 100644
--- a/src/mame/drivers/statriv2.c
+++ b/src/mame/drivers/statriv2.c
@@ -136,7 +136,7 @@ TILE_GET_INFO_MEMBER(statriv2_state::horizontal_tile_info)
int code = videoram[0x400+tile_index];
int attr = videoram[tile_index] & 0x3f;
- SET_TILE_INFO_MEMBER(0, code, attr, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, attr, 0);
}
TILE_GET_INFO_MEMBER(statriv2_state::vertical_tile_info)
@@ -145,7 +145,7 @@ TILE_GET_INFO_MEMBER(statriv2_state::vertical_tile_info)
int code = videoram[0x400+tile_index];
int attr = videoram[tile_index] & 0x3f;
- SET_TILE_INFO_MEMBER(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), attr, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), attr, 0);
}
@@ -623,7 +623,7 @@ static MACHINE_CONFIG_START( statriv2, statriv2_state )
MCFG_TMS9927_ADD("tms", MASTER_CLOCK/2, tms9927_intf)
- MCFG_GFXDECODE(horizontal)
+ MCFG_GFXDECODE_ADD("gfxdecode", horizontal)
MCFG_PALETTE_LENGTH(2*64)
@@ -642,7 +642,7 @@ static MACHINE_CONFIG_DERIVED( statriv2v, statriv2 )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 392, 0, 256, 262, 0, 256)
MCFG_VIDEO_START_OVERRIDE(statriv2_state,vertical)
- MCFG_GFXDECODE(vertical)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", vertical)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( funcsino, statriv2 )
diff --git a/src/mame/drivers/stfight.c b/src/mame/drivers/stfight.c
index 4f95d289730..fabec1c1b5a 100644
--- a/src/mame/drivers/stfight.c
+++ b/src/mame/drivers/stfight.c
@@ -561,7 +561,7 @@ static MACHINE_CONFIG_START( stfight, stfight_state )
MCFG_SCREEN_UPDATE_DRIVER(stfight_state, screen_update_stfight)
MCFG_VIDEO_START_OVERRIDE(stfight_state,stfight)
- MCFG_GFXDECODE(stfight)
+ MCFG_GFXDECODE_ADD("gfxdecode", stfight)
MCFG_PALETTE_LENGTH(16*4+16*16+16*16+16*16)
/* sound hardware */
@@ -600,7 +600,7 @@ static MACHINE_CONFIG_DERIVED( cshooter, stfight )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(stfight_state, screen_update_cshooter)
- MCFG_GFXDECODE(cshooter)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", cshooter)
MCFG_VIDEO_START_OVERRIDE(stfight_state,cshooter)
MCFG_SOUND_MODIFY("ym1")
diff --git a/src/mame/drivers/stlforce.c b/src/mame/drivers/stlforce.c
index 64671926a32..370985c5d38 100644
--- a/src/mame/drivers/stlforce.c
+++ b/src/mame/drivers/stlforce.c
@@ -200,7 +200,7 @@ static MACHINE_CONFIG_START( stlforce, stlforce_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 47*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(stlforce_state, screen_update_stlforce)
- MCFG_GFXDECODE(stlforce)
+ MCFG_GFXDECODE_ADD("gfxdecode", stlforce)
MCFG_PALETTE_LENGTH(0x800)
diff --git a/src/mame/drivers/strnskil.c b/src/mame/drivers/strnskil.c
index 2769ac12069..bacdbba0fb4 100644
--- a/src/mame/drivers/strnskil.c
+++ b/src/mame/drivers/strnskil.c
@@ -351,7 +351,7 @@ static MACHINE_CONFIG_START( strnskil, strnskil_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(strnskil_state, screen_update_strnskil)
- MCFG_GFXDECODE(strnskil)
+ MCFG_GFXDECODE_ADD("gfxdecode", strnskil)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/stuntair.c b/src/mame/drivers/stuntair.c
index da6ccdcda84..651a5722f6c 100644
--- a/src/mame/drivers/stuntair.c
+++ b/src/mame/drivers/stuntair.c
@@ -167,7 +167,7 @@ TILE_GET_INFO_MEMBER(stuntair_state::get_stuntair_fg_tile_info)
// where does the FG palette come from? it's a 1bpp layer..
- SET_TILE_INFO_MEMBER(0, tileno&0x7f, 0, opaque?TILE_FORCE_LAYER0 : TILE_FORCE_LAYER1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno&0x7f, 0, opaque?TILE_FORCE_LAYER0 : TILE_FORCE_LAYER1);
}
TILE_GET_INFO_MEMBER(stuntair_state::get_stuntair_bg_tile_info)
@@ -176,7 +176,7 @@ TILE_GET_INFO_MEMBER(stuntair_state::get_stuntair_bg_tile_info)
tileno |= (m_bgattrram[tile_index] & 0x08)<<5;
int colour = (m_bgattrram[tile_index] & 0x07);
- SET_TILE_INFO_MEMBER(1, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, colour, 0);
}
@@ -191,7 +191,7 @@ void stuntair_state::video_start()
void stuntair_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
/* there seem to be 2 spritelists with something else (fixed values) between them.. is that significant? */
for (int i=0;i<0x400;i+=16)
@@ -538,7 +538,7 @@ static MACHINE_CONFIG_START( stuntair, stuntair_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(stuntair_state, screen_update_stuntair)
- MCFG_GFXDECODE(stuntair)
+ MCFG_GFXDECODE_ADD("gfxdecode", stuntair)
MCFG_PALETTE_LENGTH(0x100+2)
MCFG_PALETTE_INIT_OVERRIDE(stuntair_state, stuntair)
diff --git a/src/mame/drivers/stv.c b/src/mame/drivers/stv.c
index 448686ecd8f..3cf630217b7 100644
--- a/src/mame/drivers/stv.c
+++ b/src/mame/drivers/stv.c
@@ -1015,7 +1015,7 @@ static MACHINE_CONFIG_START( stv, stv_state )
MCFG_SCREEN_UPDATE_DRIVER(stv_state, screen_update_stv_vdp2)
MCFG_PALETTE_LENGTH(2048+(2048*2))//standard palette + extra memory for rgb brightness.
- MCFG_GFXDECODE(stv)
+ MCFG_GFXDECODE_ADD("gfxdecode", stv)
MCFG_VIDEO_START_OVERRIDE(stv_state,stv_vdp2)
diff --git a/src/mame/drivers/sub.c b/src/mame/drivers/sub.c
index a8c8db483fb..e338d86f2ff 100644
--- a/src/mame/drivers/sub.c
+++ b/src/mame/drivers/sub.c
@@ -149,8 +149,8 @@ void sub_state::video_start()
UINT32 sub_state::screen_update_sub(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
- gfx_element *gfx_1 = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
+ gfx_element *gfx_1 = m_gfxdecode->gfx(1);
int y,x;
int count = 0;
@@ -452,7 +452,7 @@ static MACHINE_CONFIG_START( sub, sub_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(sub_state, screen_update_sub)
- MCFG_GFXDECODE(sub)
+ MCFG_GFXDECODE_ADD("gfxdecode", sub)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/subs.c b/src/mame/drivers/subs.c
index 2bda66db631..69b981a817e 100644
--- a/src/mame/drivers/subs.c
+++ b/src/mame/drivers/subs.c
@@ -183,7 +183,7 @@ static MACHINE_CONFIG_START( subs, subs_state )
/* video hardware */
- MCFG_GFXDECODE(subs)
+ MCFG_GFXDECODE_ADD("gfxdecode", subs)
MCFG_PALETTE_LENGTH(4)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mame/drivers/subsino.c b/src/mame/drivers/subsino.c
index 5eae321db96..6905873e4db 100644
--- a/src/mame/drivers/subsino.c
+++ b/src/mame/drivers/subsino.c
@@ -361,14 +361,14 @@ TILE_GET_INFO_MEMBER(subsino_state::get_tile_info)
UINT16 color = (code >> 8) & 0x0f;
code = ((code & 0xf000) >> 4) + ((code & 0xff) >> 0);
code += m_tiles_offset;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(subsino_state::get_stisub_tile_info)
{
UINT16 code = m_videoram[ tile_index ] + (m_colorram[ tile_index ] << 8);
code&= 0x3fff;
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
@@ -392,7 +392,7 @@ TILE_GET_INFO_MEMBER(subsino_state::get_subsino_reel1_tile_info)
int code = m_reel1_ram[tile_index];
int colour = (m_out_c&0x7) + 8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
colour,
@@ -404,7 +404,7 @@ TILE_GET_INFO_MEMBER(subsino_state::get_stisub_reel1_tile_info)
int code = m_reel1_ram[tile_index];
int attr = m_reel1_attr[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code | (attr << 8),
0,
@@ -423,7 +423,7 @@ TILE_GET_INFO_MEMBER(subsino_state::get_subsino_reel2_tile_info)
int code = m_reel2_ram[tile_index];
int colour = (m_out_c&0x7) + 8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
colour,
@@ -435,7 +435,7 @@ TILE_GET_INFO_MEMBER(subsino_state::get_stisub_reel2_tile_info)
int code = m_reel2_ram[tile_index];
int attr = m_reel2_attr[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code | (attr << 8),
0,
@@ -453,7 +453,7 @@ TILE_GET_INFO_MEMBER(subsino_state::get_subsino_reel3_tile_info)
int code = m_reel3_ram[tile_index];
int colour = (m_out_c&0x7) + 8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
colour,
@@ -465,7 +465,7 @@ TILE_GET_INFO_MEMBER(subsino_state::get_stisub_reel3_tile_info)
int code = m_reel3_ram[tile_index];
int attr = m_reel3_attr[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code | (attr << 8),
0,
@@ -2813,7 +2813,7 @@ static MACHINE_CONFIG_START( victor21, subsino_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update_subsino)
- MCFG_GFXDECODE(subsino_depth3)
+ MCFG_GFXDECODE_ADD("gfxdecode", subsino_depth3)
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_2proms)
@@ -2855,7 +2855,7 @@ static MACHINE_CONFIG_START( crsbingo, subsino_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update_subsino)
- MCFG_GFXDECODE(subsino_depth4)
+ MCFG_GFXDECODE_ADD("gfxdecode", subsino_depth4)
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_2proms)
@@ -2886,7 +2886,7 @@ static MACHINE_CONFIG_START( srider, subsino_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update_subsino)
- MCFG_GFXDECODE(subsino_depth4)
+ MCFG_GFXDECODE_ADD("gfxdecode", subsino_depth4)
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_3proms)
@@ -2927,7 +2927,7 @@ static MACHINE_CONFIG_START( tisub, subsino_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update_subsino_reels)
- MCFG_GFXDECODE(subsino_depth4_reels)
+ MCFG_GFXDECODE_ADD("gfxdecode", subsino_depth4_reels)
MCFG_PALETTE_LENGTH(0x100)
MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_3proms)
@@ -2957,7 +2957,7 @@ static MACHINE_CONFIG_START( stisub, subsino_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(subsino_state, screen_update_stisub_reels)
- MCFG_GFXDECODE(subsino_stisub)
+ MCFG_GFXDECODE_ADD("gfxdecode", subsino_stisub)
MCFG_PALETTE_LENGTH(0x100)
//MCFG_PALETTE_INIT_OVERRIDE(subsino_state,subsino_3proms)
diff --git a/src/mame/drivers/subsino2.c b/src/mame/drivers/subsino2.c
index d9839ee7740..2d4dc4a69f3 100644
--- a/src/mame/drivers/subsino2.c
+++ b/src/mame/drivers/subsino2.c
@@ -188,7 +188,7 @@ inline void subsino2_state::ss9601_get_tile_info(layer_t *l, tile_data &tileinfo
case TILE_8x32: addr = tile_index & (~0x180); offs = (tile_index/0x80) & 3; break;
case TILE_64x32: addr = tile_index & (~0x187); offs = ((tile_index/0x80) & 3) + (tile_index & 7) * 4; break;
}
- SET_TILE_INFO_MEMBER(0, (l->videorams[VRAM_HI][addr] << 8) + l->videorams[VRAM_LO][addr] + offs, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, (l->videorams[VRAM_HI][addr] << 8) + l->videorams[VRAM_LO][addr] + offs, 0, 0);
}
// Layer 0
@@ -2141,7 +2141,7 @@ static MACHINE_CONFIG_START( bishjan, subsino2_state )
MCFG_SCREEN_REFRESH_RATE( 60 )
MCFG_SCREEN_UPDATE_DRIVER(subsino2_state, screen_update_subsino2)
- MCFG_GFXDECODE( ss9601 )
+ MCFG_GFXDECODE_ADD("gfxdecode", ss9601 )
MCFG_PALETTE_LENGTH( 256 )
MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
@@ -2169,7 +2169,7 @@ static MACHINE_CONFIG_START( mtrain, subsino2_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) // game reads vblank state
MCFG_SCREEN_UPDATE_DRIVER(subsino2_state, screen_update_subsino2)
- MCFG_GFXDECODE( ss9601 )
+ MCFG_GFXDECODE_ADD("gfxdecode", ss9601 )
MCFG_PALETTE_LENGTH( 256 )
MCFG_VIDEO_START_OVERRIDE(subsino2_state, mtrain )
@@ -2200,7 +2200,7 @@ static MACHINE_CONFIG_START( saklove, subsino2_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) // game reads vblank state
MCFG_SCREEN_UPDATE_DRIVER(subsino2_state, screen_update_subsino2)
- MCFG_GFXDECODE( ss9601 )
+ MCFG_GFXDECODE_ADD("gfxdecode", ss9601 )
MCFG_PALETTE_LENGTH( 256 )
MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
@@ -2235,7 +2235,7 @@ static MACHINE_CONFIG_START( xplan, subsino2_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) // game reads vblank state
MCFG_SCREEN_UPDATE_DRIVER(subsino2_state, screen_update_subsino2)
- MCFG_GFXDECODE( ss9601 )
+ MCFG_GFXDECODE_ADD("gfxdecode", ss9601 )
MCFG_PALETTE_LENGTH( 256 )
MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
diff --git a/src/mame/drivers/summit.c b/src/mame/drivers/summit.c
index beaf778528b..b3431168ff2 100644
--- a/src/mame/drivers/summit.c
+++ b/src/mame/drivers/summit.c
@@ -44,7 +44,7 @@ void summit_state::video_start()
UINT32 summit_state::screen_update_summit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0x0000;
int y,x;
@@ -311,7 +311,7 @@ static MACHINE_CONFIG_START( summit, summit_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(summit_state, screen_update_summit)
- MCFG_GFXDECODE(summit)
+ MCFG_GFXDECODE_ADD("gfxdecode", summit)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/suna16.c b/src/mame/drivers/suna16.c
index baf1e6f61db..9c6d492cb04 100644
--- a/src/mame/drivers/suna16.c
+++ b/src/mame/drivers/suna16.c
@@ -820,7 +820,7 @@ static MACHINE_CONFIG_START( bssoccer, suna16_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(suna16_state, screen_update_suna16)
- MCFG_GFXDECODE(suna16)
+ MCFG_GFXDECODE_ADD("gfxdecode", suna16)
MCFG_PALETTE_LENGTH(512)
@@ -878,7 +878,7 @@ static MACHINE_CONFIG_START( uballoon, suna16_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(suna16_state, screen_update_suna16)
- MCFG_GFXDECODE(suna16)
+ MCFG_GFXDECODE_ADD("gfxdecode", suna16)
MCFG_PALETTE_LENGTH(512)
@@ -926,7 +926,7 @@ static MACHINE_CONFIG_START( sunaq, suna16_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(suna16_state, screen_update_suna16)
- MCFG_GFXDECODE(suna16)
+ MCFG_GFXDECODE_ADD("gfxdecode", suna16)
MCFG_PALETTE_LENGTH(512)
@@ -987,7 +987,7 @@ static MACHINE_CONFIG_START( bestbest, suna16_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(suna16_state, screen_update_bestbest)
- MCFG_GFXDECODE(bestbest)
+ MCFG_GFXDECODE_ADD("gfxdecode", bestbest)
MCFG_PALETTE_LENGTH(256*8)
diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c
index 2b1d51c655f..9dc4266bd86 100644
--- a/src/mame/drivers/suna8.c
+++ b/src/mame/drivers/suna8.c
@@ -1840,7 +1840,7 @@ static MACHINE_CONFIG_START( hardhead, suna8_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(suna8_state, screen_update_suna8)
- MCFG_GFXDECODE(suna8)
+ MCFG_GFXDECODE_ADD("gfxdecode", suna8)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_textdim12)
@@ -1901,7 +1901,7 @@ static MACHINE_CONFIG_START( rranger, suna8_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(suna8_state, screen_update_suna8)
- MCFG_GFXDECODE(suna8)
+ MCFG_GFXDECODE_ADD("gfxdecode", suna8)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_textdim8)
@@ -1961,7 +1961,7 @@ static MACHINE_CONFIG_START( brickzn, suna8_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(suna8_state, screen_update_suna8)
- MCFG_GFXDECODE(suna8)
+ MCFG_GFXDECODE_ADD("gfxdecode", suna8)
MCFG_PALETTE_LENGTH(256 * 2) // 2 x Palette RAM
MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_brickzn)
@@ -2061,7 +2061,7 @@ static MACHINE_CONFIG_START( starfigh, suna8_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(suna8_state, screen_update_suna8)
- MCFG_GFXDECODE(suna8)
+ MCFG_GFXDECODE_ADD("gfxdecode", suna8)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_starfigh)
@@ -2108,7 +2108,7 @@ static MACHINE_CONFIG_START( sparkman, suna8_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(suna8_state, screen_update_suna8)
- MCFG_GFXDECODE(suna8_x2) // 2 sprite "chips"
+ MCFG_GFXDECODE_ADD("gfxdecode", suna8_x2) // 2 sprite "chips"
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_sparkman)
diff --git a/src/mame/drivers/supbtime.c b/src/mame/drivers/supbtime.c
index 13897faf478..6a6ca76b49a 100644
--- a/src/mame/drivers/supbtime.c
+++ b/src/mame/drivers/supbtime.c
@@ -341,12 +341,15 @@ static MACHINE_CONFIG_START( supbtime, supbtime_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(supbtime_state, screen_update_supbtime)
- MCFG_GFXDECODE(supbtime)
+ MCFG_GFXDECODE_ADD("gfxdecode", supbtime)
MCFG_PALETTE_LENGTH(1024)
MCFG_DECO16IC_ADD("tilegen1", supbtime_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -382,12 +385,15 @@ static MACHINE_CONFIG_START( chinatwn, supbtime_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(supbtime_state, screen_update_supbtime)
- MCFG_GFXDECODE(supbtime)
+ MCFG_GFXDECODE_ADD("gfxdecode", supbtime)
MCFG_PALETTE_LENGTH(1024)
MCFG_DECO16IC_ADD("tilegen1", supbtime_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/supdrapo.c b/src/mame/drivers/supdrapo.c
index 5c27cfd1465..8a159fa17cc 100644
--- a/src/mame/drivers/supdrapo.c
+++ b/src/mame/drivers/supdrapo.c
@@ -123,7 +123,7 @@ UINT32 supdrapo_state::screen_update_supdrapo(screen_device &screen, bitmap_ind1
/* Global Column Coloring, GUESS! */
color = m_col_line[(x*2) + 1] ? (m_col_line[(x*2) + 1] - 1) & 7 : 0;
- machine().gfx[0]->opaque(bitmap,cliprect, tile,color, 0, 0, x*8, y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, tile,color, 0, 0, x*8, y*8);
count++;
}
@@ -462,7 +462,7 @@ static MACHINE_CONFIG_START( supdrapo, supdrapo_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(supdrapo_state, screen_update_supdrapo)
- MCFG_GFXDECODE(supdrapo)
+ MCFG_GFXDECODE_ADD("gfxdecode", supdrapo)
MCFG_PALETTE_LENGTH(0x100)
diff --git a/src/mame/drivers/superchs.c b/src/mame/drivers/superchs.c
index 2f76942989e..8fd34876e60 100644
--- a/src/mame/drivers/superchs.c
+++ b/src/mame/drivers/superchs.c
@@ -345,11 +345,12 @@ static MACHINE_CONFIG_START( superchs, superchs_state )
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(superchs_state, screen_update_superchs)
- MCFG_GFXDECODE(superchs)
+ MCFG_GFXDECODE_ADD("gfxdecode", superchs)
MCFG_PALETTE_LENGTH(8192)
MCFG_TC0480SCP_ADD("tc0480scp", superchs_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_FRAGMENT_ADD(taito_en_sound)
diff --git a/src/mame/drivers/supercrd.c b/src/mame/drivers/supercrd.c
index 2e4e053aa1e..7796e26e857 100644
--- a/src/mame/drivers/supercrd.c
+++ b/src/mame/drivers/supercrd.c
@@ -258,7 +258,7 @@ TILE_GET_INFO_MEMBER(supercrd_state::get_bg_tile_info)
int code = attr & 0xfff;
int color = m_colorram[offs] >> 4; // 4 bits for color.
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -471,7 +471,7 @@ static MACHINE_CONFIG_START( supercrd, supercrd_state )
MCFG_SCREEN_VISIBLE_AREA(0*4, 96*4-1, 0*8, 29*8-1) /* Taken from MC6845 init, registers 01 & 06 */
MCFG_SCREEN_UPDATE_DRIVER(supercrd_state, screen_update_supercrd)
- MCFG_GFXDECODE(supercrd)
+ MCFG_GFXDECODE_ADD("gfxdecode", supercrd)
MCFG_PALETTE_LENGTH(0x200)
MCFG_PALETTE_INIT_OVERRIDE(supercrd_state, supercrd)
diff --git a/src/mame/drivers/superdq.c b/src/mame/drivers/superdq.c
index 1eab2130ff0..d102106e3c2 100644
--- a/src/mame/drivers/superdq.c
+++ b/src/mame/drivers/superdq.c
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(superdq_state::get_tile_info)
{
int tile = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, tile, m_color_bank, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, m_color_bank, 0);
}
void superdq_state::video_start()
@@ -333,7 +333,7 @@ static MACHINE_CONFIG_START( superdq, superdq_state )
/* video hardware */
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
- MCFG_GFXDECODE(superdq)
+ MCFG_GFXDECODE_ADD("gfxdecode", superdq)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/superqix.c b/src/mame/drivers/superqix.c
index 8146accbebb..6aa79505e4f 100644
--- a/src/mame/drivers/superqix.c
+++ b/src/mame/drivers/superqix.c
@@ -1005,7 +1005,7 @@ static MACHINE_CONFIG_START( pbillian, superqix_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(superqix_state, screen_update_pbillian)
- MCFG_GFXDECODE(pbillian)
+ MCFG_GFXDECODE_ADD("gfxdecode", pbillian)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(superqix_state,pbillian)
@@ -1039,7 +1039,7 @@ static MACHINE_CONFIG_START( hotsmash, superqix_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(superqix_state, screen_update_pbillian)
- MCFG_GFXDECODE(pbillian)
+ MCFG_GFXDECODE_ADD("gfxdecode", pbillian)
MCFG_PALETTE_LENGTH(512)
MCFG_VIDEO_START_OVERRIDE(superqix_state,pbillian)
@@ -1077,7 +1077,7 @@ static MACHINE_CONFIG_START( sqix, superqix_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(superqix_state, screen_update_superqix)
- MCFG_GFXDECODE(sqix)
+ MCFG_GFXDECODE_ADD("gfxdecode", sqix)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(superqix_state,superqix)
@@ -1120,7 +1120,7 @@ static MACHINE_CONFIG_START( sqixbl, superqix_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(superqix_state, screen_update_superqix)
- MCFG_GFXDECODE(sqix)
+ MCFG_GFXDECODE_ADD("gfxdecode", sqix)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(superqix_state,superqix)
diff --git a/src/mame/drivers/superwng.c b/src/mame/drivers/superwng.c
index 25899bf23c0..04e2bd3ae6a 100644
--- a/src/mame/drivers/superwng.c
+++ b/src/mame/drivers/superwng.c
@@ -89,7 +89,7 @@ TILE_GET_INFO_MEMBER(superwng_state::get_bg_tile_info)
int flipx=(attr&0x80) ? TILE_FLIPX : 0;
int flipy=(attr&0x80) ? TILE_FLIPY : 0;
- SET_TILE_INFO_MEMBER(0, code, attr & 0xf, flipx|flipy);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, attr & 0xf, flipx|flipy);
}
TILE_GET_INFO_MEMBER(superwng_state::get_fg_tile_info)
@@ -104,7 +104,7 @@ TILE_GET_INFO_MEMBER(superwng_state::get_fg_tile_info)
int flipx=(attr&0x80) ? TILE_FLIPX : 0;
int flipy=(attr&0x80) ? TILE_FLIPY : 0;
- SET_TILE_INFO_MEMBER(0, code, attr & 0xf, flipx|flipy);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, attr & 0xf, flipx|flipy);
}
void superwng_state::video_start()
@@ -153,7 +153,7 @@ UINT32 superwng_state::screen_update_superwng(screen_device &screen, bitmap_ind1
int sy = m_colorram_bg[i];
int color = m_colorram_bg[i + 1] & 0xf;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flip, flip,
@@ -475,11 +475,11 @@ static MACHINE_CONFIG_START( superwng, superwng_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(superwng_state, screen_update_superwng)
- MCFG_GFXDECODE(superwng)
+ MCFG_GFXDECODE_ADD("gfxdecode", superwng)
MCFG_PALETTE_LENGTH(0x40)
- MCFG_SCREEN_UPDATE_DRIVER(superwng_state, screen_update_superwng)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/suprgolf.c b/src/mame/drivers/suprgolf.c
index 48b08b8feaf..287d2aa6509 100644
--- a/src/mame/drivers/suprgolf.c
+++ b/src/mame/drivers/suprgolf.c
@@ -84,7 +84,7 @@ TILE_GET_INFO_MEMBER(suprgolf_state::get_tile_info)
int code = m_videoram[tile_index*2]+256*(m_videoram[tile_index*2+1]);
int color = m_videoram[tile_index*2+0x800] & 0x7f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -521,7 +521,7 @@ static MACHINE_CONFIG_START( suprgolf, suprgolf_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 191)
MCFG_SCREEN_UPDATE_DRIVER(suprgolf_state, screen_update_suprgolf)
- MCFG_GFXDECODE(suprgolf)
+ MCFG_GFXDECODE_ADD("gfxdecode", suprgolf)
MCFG_PALETTE_LENGTH(0x800)
/* sound hardware */
diff --git a/src/mame/drivers/suprloco.c b/src/mame/drivers/suprloco.c
index 41c113d32cc..a8af507fe03 100644
--- a/src/mame/drivers/suprloco.c
+++ b/src/mame/drivers/suprloco.c
@@ -177,7 +177,7 @@ static MACHINE_CONFIG_START( suprloco, suprloco_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(suprloco_state, screen_update_suprloco)
- MCFG_GFXDECODE(suprloco)
+ MCFG_GFXDECODE_ADD("gfxdecode", suprloco)
MCFG_PALETTE_LENGTH(512+256)
diff --git a/src/mame/drivers/suprnova.c b/src/mame/drivers/suprnova.c
index ceb67202840..49264f510e0 100644
--- a/src/mame/drivers/suprnova.c
+++ b/src/mame/drivers/suprnova.c
@@ -666,8 +666,8 @@ WRITE32_MEMBER(skns_state::skns_v3t_w)
COMBINE_DATA(&m_v3t_ram[offset]);
- machine().gfx[1]->mark_dirty(offset/0x40);
- machine().gfx[3]->mark_dirty(offset/0x20);
+ m_gfxdecode->gfx(1)->mark_dirty(offset/0x40);
+ m_gfxdecode->gfx(3)->mark_dirty(offset/0x20);
data = m_v3t_ram[offset];
// i think we need to swap around to decode .. endian issues?
@@ -773,7 +773,7 @@ static MACHINE_CONFIG_START( skns, skns_state )
MCFG_SCREEN_VBLANK_DRIVER(skns_state, screen_eof_skns)
MCFG_PALETTE_LENGTH(32768)
- MCFG_GFXDECODE(skns_bg)
+ MCFG_GFXDECODE_ADD("gfxdecode", skns_bg)
MCFG_DEVICE_ADD("spritegen", SKNS_SPRITE, 0)
diff --git a/src/mame/drivers/suprridr.c b/src/mame/drivers/suprridr.c
index ba6e1ea72c1..5b1c966398a 100644
--- a/src/mame/drivers/suprridr.c
+++ b/src/mame/drivers/suprridr.c
@@ -374,7 +374,7 @@ static MACHINE_CONFIG_START( suprridr, suprridr_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(suprridr_state, screen_update_suprridr)
- MCFG_GFXDECODE(suprridr)
+ MCFG_GFXDECODE_ADD("gfxdecode", suprridr)
MCFG_PALETTE_LENGTH(96)
diff --git a/src/mame/drivers/suprslam.c b/src/mame/drivers/suprslam.c
index 2bea9a5b70b..3ae7e3e21f4 100644
--- a/src/mame/drivers/suprslam.c
+++ b/src/mame/drivers/suprslam.c
@@ -313,7 +313,7 @@ static MACHINE_CONFIG_START( suprslam, suprslam_state )
MCFG_CPU_IO_MAP(sound_io_map)
- MCFG_GFXDECODE(suprslam)
+ MCFG_GFXDECODE_ADD("gfxdecode", suprslam)
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
@@ -329,6 +329,7 @@ static MACHINE_CONFIG_START( suprslam, suprslam_state )
MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0)
MCFG_VSYSTEM_SPR_SET_TILE_INDIRECT( suprslam_state, suprslam_tile_callback )
MCFG_VSYSTEM_SPR_SET_GFXREGION(1)
+ MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode")
MCFG_K053936_ADD("k053936", suprslam_k053936_intf)
diff --git a/src/mame/drivers/surpratk.c b/src/mame/drivers/surpratk.c
index 22b77fa0bd3..8dc1309395a 100644
--- a/src/mame/drivers/surpratk.c
+++ b/src/mame/drivers/surpratk.c
@@ -222,8 +222,11 @@ static MACHINE_CONFIG_START( surpratk, surpratk_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", surpratk_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053244_ADD("k053244", surpratk_k05324x_intf)
+ MCFG_K053244_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index b718d27c156..a3566085903 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -2158,7 +2158,7 @@ static MACHINE_CONFIG_START( sys1ppi, system1_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 640, 0, 512, 260, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(system1_state, screen_update_system1)
- MCFG_GFXDECODE(system1)
+ MCFG_GFXDECODE_ADD("gfxdecode", system1)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c
index f9b035e989e..cd3880c66e7 100644
--- a/src/mame/drivers/system16.c
+++ b/src/mame/drivers/system16.c
@@ -2007,7 +2007,7 @@ static MACHINE_CONFIG_START( system16, segas1x_bootleg_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_system16)
- MCFG_GFXDECODE(sys16)
+ MCFG_GFXDECODE_ADD("gfxdecode", sys16)
MCFG_PALETTE_LENGTH(2048*SHADOW_COLORS_MULTIPLIER)
MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system16)
@@ -2154,7 +2154,7 @@ static MACHINE_CONFIG_START( goldnaxeb1, segas1x_bootleg_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_system16)
- MCFG_GFXDECODE(sys16)
+ MCFG_GFXDECODE_ADD("gfxdecode", sys16)
MCFG_PALETTE_LENGTH(2048*SHADOW_COLORS_MULTIPLIER)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
@@ -2287,7 +2287,7 @@ static MACHINE_CONFIG_START( system18, segas1x_bootleg_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_system18old)
- MCFG_GFXDECODE(sys16)
+ MCFG_GFXDECODE_ADD("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_OVERRIDE(segas1x_bootleg_state,system18old)
diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c
index 14885e09c6d..cd2c5f19811 100644
--- a/src/mame/drivers/tagteam.c
+++ b/src/mame/drivers/tagteam.c
@@ -220,7 +220,7 @@ static MACHINE_CONFIG_START( tagteam, tagteam_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tagteam_state, screen_update_tagteam)
- MCFG_GFXDECODE(tagteam)
+ MCFG_GFXDECODE_ADD("gfxdecode", tagteam)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c
index 718497f12d9..6013dbc4024 100644
--- a/src/mame/drivers/tail2nos.c
+++ b/src/mame/drivers/tail2nos.c
@@ -242,11 +242,12 @@ static MACHINE_CONFIG_START( tail2nos, tail2nos_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tail2nos_state, screen_update_tail2nos)
- MCFG_GFXDECODE(tail2nos)
+ MCFG_GFXDECODE_ADD("gfxdecode", tail2nos)
MCFG_PALETTE_LENGTH(2048)
MCFG_K051316_ADD("k051316", tail2nos_k051316_intf)
+ MCFG_K051316_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/taito_b.c b/src/mame/drivers/taito_b.c
index e7322883f37..c2f303b4ece 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -2007,12 +2007,13 @@ static MACHINE_CONFIG_START( rastsag2, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2051,12 +2052,13 @@ static MACHINE_CONFIG_START( masterw, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2111,12 +2113,13 @@ static MACHINE_CONFIG_START( ashura, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2155,12 +2158,13 @@ static MACHINE_CONFIG_START( crimec, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_TC0180VCU_ADD("tc0180vcu", color1_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2199,13 +2203,14 @@ static MACHINE_CONFIG_START( hitice, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,hitice)
MCFG_VIDEO_RESET_OVERRIDE(taitob_state,hitice)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2249,12 +2254,13 @@ static MACHINE_CONFIG_START( rambo3p, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(rambo3)
+ MCFG_GFXDECODE_ADD("gfxdecode", rambo3)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2293,12 +2299,13 @@ static MACHINE_CONFIG_START( rambo3, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2341,12 +2348,13 @@ static MACHINE_CONFIG_START( pbobble, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_TC0180VCU_ADD("tc0180vcu", color1_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2389,12 +2397,13 @@ static MACHINE_CONFIG_START( spacedx, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_TC0180VCU_ADD("tc0180vcu", color1_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2433,12 +2442,13 @@ static MACHINE_CONFIG_START( spacedxo, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2481,12 +2491,13 @@ static MACHINE_CONFIG_START( qzshowby, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_TC0180VCU_ADD("tc0180vcu", color1_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2525,12 +2536,13 @@ static MACHINE_CONFIG_START( viofight, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2574,12 +2586,13 @@ static MACHINE_CONFIG_START( silentd, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2618,12 +2631,13 @@ static MACHINE_CONFIG_START( selfeena, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2671,12 +2685,13 @@ static MACHINE_CONFIG_START( ryujin, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_TC0180VCU_ADD("tc0180vcu", color2_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2722,12 +2737,13 @@ static MACHINE_CONFIG_START( sbm, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2771,7 +2787,7 @@ static MACHINE_CONFIG_START( realpunc, taitob_state )
MCFG_SCREEN_UPDATE_DRIVER(taitob_state, screen_update_taitob)
MCFG_SCREEN_VBLANK_DRIVER(taitob_state, screen_eof_taitob)
- MCFG_GFXDECODE(taito_b)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_b)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitob_state,realpunc)
@@ -2780,6 +2796,7 @@ static MACHINE_CONFIG_START( realpunc, taitob_state )
MCFG_HD63484_ADD("hd63484", realpunc_hd63484_intf)
MCFG_TC0180VCU_ADD("tc0180vcu", color0_tc0180vcu_intf)
+ MCFG_TC0180VCU_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c
index ed7d165f704..1e4aa3bf953 100644
--- a/src/mame/drivers/taito_f2.c
+++ b/src/mame/drivers/taito_f2.c
@@ -3026,7 +3026,7 @@ static MACHINE_CONFIG_START( taito_f2, taitof2_state )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2)
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_no_buffer)
- MCFG_GFXDECODE(taitof2)
+ MCFG_GFXDECODE_ADD("gfxdecode", taitof2)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_default)
@@ -3066,12 +3066,13 @@ static MACHINE_CONFIG_DERIVED( finalb, taito_f2_tc0220ioc )
MCFG_CPU_PROGRAM_MAP(finalb_map)
/* video hardware */
- MCFG_GFXDECODE(finalb)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", finalb)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_finalb)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
MCFG_TC0100SCN_ADD("tc0100scn", finalb_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
MACHINE_CONFIG_END
@@ -3083,14 +3084,16 @@ static MACHINE_CONFIG_DERIVED( dondokod, taito_f2_tc0220ioc )
MCFG_CPU_PROGRAM_MAP(dondokod_map)
/* video hardware */
- MCFG_GFXDECODE(pivot)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pivot)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
MCFG_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0280GRD_ADD("tc0280grd", taitof2_tc0280grd_intf)
+ MCFG_TC0280GRD_GFXDECODE("gfxdecode");
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3107,6 +3110,7 @@ static MACHINE_CONFIG_DERIVED( megab, taito_f2_tc0220ioc )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3118,14 +3122,16 @@ static MACHINE_CONFIG_DERIVED( thundfox, taito_f2_tc0220ioc )
MCFG_CPU_PROGRAM_MAP(thundfox_map)
/* video hardware */
- MCFG_GFXDECODE(thundfox)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", thundfox)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_thundfox)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_thundfox)
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed_thundfox)
MCFG_TC0100SCN_ADD("tc0100scn_1", thundfox_tc0100scn_intf_1)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_2", thundfox_tc0100scn_intf_2)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3137,13 +3143,15 @@ static MACHINE_CONFIG_DERIVED( cameltry, taito_f2_tc0220ioc )
MCFG_CPU_PROGRAM_MAP(cameltry_map)
/* video hardware */
- MCFG_GFXDECODE(pivot)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pivot)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
MCFG_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0280GRD_ADD("tc0280grd", taitof2_tc0280grd_intf)
+ MCFG_TC0280GRD_GFXDECODE("gfxdecode");
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3155,11 +3163,12 @@ static MACHINE_CONFIG_DERIVED( qtorimon, taito_f2_tc0220ioc )
MCFG_CPU_PROGRAM_MAP(qtorimon_map)
/* video hardware */
- MCFG_GFXDECODE(yuyugogo)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", yuyugogo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
MCFG_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
MACHINE_CONFIG_END
@@ -3177,6 +3186,7 @@ static MACHINE_CONFIG_DERIVED( liquidk, taito_f2_tc0220ioc )
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3188,11 +3198,12 @@ static MACHINE_CONFIG_DERIVED( quizhq, taito_f2 )
MCFG_CPU_PROGRAM_MAP(quizhq_map)
/* video hardware */
- MCFG_GFXDECODE(yuyugogo)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", yuyugogo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
MCFG_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
MACHINE_CONFIG_END
@@ -3210,6 +3221,7 @@ static MACHINE_CONFIG_DERIVED( ssi, taito_f2_tc0510nio )
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed_thundfox)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
@@ -3226,6 +3238,7 @@ static MACHINE_CONFIG_DERIVED( gunfront, taito_f2_tc0510nio )
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3242,6 +3255,7 @@ static MACHINE_CONFIG_DERIVED( growl, taito_f2 )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3256,6 +3270,7 @@ static MACHINE_CONFIG_DERIVED( mjnquest, taito_f2 )
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_mjnquest)
MCFG_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
MACHINE_CONFIG_END
@@ -3267,20 +3282,21 @@ static MACHINE_CONFIG_DERIVED( footchmp, taito_f2 )
MCFG_CPU_PROGRAM_MAP(footchmp_map)
/* video hardware */
- MCFG_GFXDECODE(deadconx)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", deadconx)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_footchmp)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_full_buffer_delayed)
MCFG_TC0480SCP_ADD("tc0480scp", footchmp_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( footchmpbl, footchmp )
/* video hardware */
- MCFG_GFXDECODE(footchmpbl)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", footchmpbl)
MACHINE_CONFIG_END
@@ -3291,7 +3307,7 @@ static MACHINE_CONFIG_DERIVED( hthero, taito_f2 )
MCFG_CPU_PROGRAM_MAP(footchmp_map)
/* video hardware */
- MCFG_GFXDECODE(deadconx)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", deadconx)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_hthero)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
@@ -3299,6 +3315,7 @@ static MACHINE_CONFIG_DERIVED( hthero, taito_f2 )
MCFG_TC0360PRI_ADD("tc0360pri")
MCFG_TC0480SCP_ADD("tc0480scp", hthero_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
@@ -3314,6 +3331,7 @@ static MACHINE_CONFIG_DERIVED( koshien, taito_f2_tc0510nio )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_TC0100SCN_ADD("tc0100scn", koshien_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3325,12 +3343,13 @@ static MACHINE_CONFIG_DERIVED( yuyugogo, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(yuyugogo_map)
/* video hardware */
- MCFG_GFXDECODE(yuyugogo)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", yuyugogo)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_yuyugogo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_yesnoj)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
@@ -3346,6 +3365,7 @@ static MACHINE_CONFIG_DERIVED( ninjak, taito_f2 )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_TC0100SCN_ADD("tc0100scn", finalb_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3362,6 +3382,7 @@ static MACHINE_CONFIG_DERIVED( solfigtr, taito_f2 )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_TC0100SCN_ADD("tc0100scn", solfigtr_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3377,6 +3398,7 @@ static MACHINE_CONFIG_DERIVED( qzquest, taito_f2_tc0510nio )
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed)
MCFG_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
@@ -3387,13 +3409,15 @@ static MACHINE_CONFIG_DERIVED( pulirula, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(pulirula_map)
/* video hardware */
- MCFG_GFXDECODE(pivot)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pivot)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_pulirula)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
MCFG_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0430GRW_ADD("tc0430grw", taitof2_tc0430grw_intf)
+ MCFG_TC0430GRW_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3405,13 +3429,14 @@ static MACHINE_CONFIG_DERIVED( metalb, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(metalb_map)
/* video hardware */
- MCFG_GFXDECODE(deadconx)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", deadconx)
MCFG_PALETTE_LENGTH(8192)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_metalb)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_metalb)
MCFG_TC0480SCP_ADD("tc0480scp", metalb_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3428,6 +3453,7 @@ static MACHINE_CONFIG_DERIVED( qzchikyu, taito_f2_tc0510nio )
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_partial_buffer_delayed_qzchikyu)
MCFG_TC0100SCN_ADD("tc0100scn", qzchikyu_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
@@ -3438,12 +3464,13 @@ static MACHINE_CONFIG_DERIVED( yesnoj, taito_f2 )
MCFG_CPU_PROGRAM_MAP(yesnoj_map)
/* video hardware */
- MCFG_GFXDECODE(yuyugogo)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", yuyugogo)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_yesnoj)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_yesnoj)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
@@ -3454,12 +3481,13 @@ static MACHINE_CONFIG_DERIVED( deadconx, taito_f2 )
MCFG_CPU_PROGRAM_MAP(deadconx_map)
/* video hardware */
- MCFG_GFXDECODE(deadconx)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", deadconx)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_deadconx)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
MCFG_TC0480SCP_ADD("tc0480scp", deadconx_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3471,12 +3499,13 @@ static MACHINE_CONFIG_DERIVED( deadconxj, taito_f2 )
MCFG_CPU_PROGRAM_MAP(deadconx_map)
/* video hardware */
- MCFG_GFXDECODE(deadconx)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", deadconx)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_deadconxj)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
MCFG_TC0480SCP_ADD("tc0480scp", deadconxj_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3493,6 +3522,7 @@ static MACHINE_CONFIG_DERIVED( dinorex, taito_f2_tc0510nio )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3509,6 +3539,7 @@ static MACHINE_CONFIG_DERIVED( qjinsei, taito_f2_tc0510nio )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3525,6 +3556,7 @@ static MACHINE_CONFIG_DERIVED( qcrayon, taito_f2_tc0510nio )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3541,6 +3573,7 @@ static MACHINE_CONFIG_DERIVED( qcrayon2, taito_f2_tc0510nio )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3552,13 +3585,15 @@ static MACHINE_CONFIG_DERIVED( driftout, taito_f2_tc0510nio )
MCFG_CPU_PROGRAM_MAP(driftout_map)
/* video hardware */
- MCFG_GFXDECODE(pivot)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pivot)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_driftout)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
MCFG_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0430GRW_ADD("tc0430grw", taitof2_tc0430grw_intf)
+ MCFG_TC0430GRW_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
MACHINE_CONFIG_END
@@ -3586,13 +3621,15 @@ static MACHINE_CONFIG_START( cameltrya, taitof2_state )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_no_buffer)
- MCFG_GFXDECODE(pivot)
+ MCFG_GFXDECODE_ADD("gfxdecode", pivot)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0280GRD_ADD("tc0280grd", taitof2_tc0280grd_intf)
+ MCFG_TC0280GRD_GFXDECODE("gfxdecode");
MCFG_TC0360PRI_ADD("tc0360pri")
/* sound hardware */
@@ -3636,13 +3673,15 @@ static MACHINE_CONFIG_START( driveout, taitof2_state )
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
MCFG_SCREEN_VBLANK_DRIVER(taitof2_state, screen_eof_taitof2_no_buffer)
- MCFG_GFXDECODE(pivot)
+ MCFG_GFXDECODE_ADD("gfxdecode", pivot)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_driftout)
MCFG_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0430GRW_ADD("tc0430grw", taitof2_tc0430grw_intf)
+ MCFG_TC0430GRW_GFXDECODE("gfxdecode")
MCFG_TC0360PRI_ADD("tc0360pri")
/* sound hardware */
diff --git a/src/mame/drivers/taito_f3.c b/src/mame/drivers/taito_f3.c
index 51a53b8401e..9c0e89915fe 100644
--- a/src/mame/drivers/taito_f3.c
+++ b/src/mame/drivers/taito_f3.c
@@ -451,7 +451,7 @@ static MACHINE_CONFIG_START( f3, taito_f3_state )
MCFG_SCREEN_UPDATE_DRIVER(taito_f3_state, screen_update_f3)
MCFG_SCREEN_VBLANK_DRIVER(taito_f3_state, screen_eof_f3)
- MCFG_GFXDECODE(taito_f3)
+ MCFG_GFXDECODE_ADD("gfxdecode", taito_f3)
MCFG_PALETTE_LENGTH(0x2000)
MCFG_VIDEO_START_OVERRIDE(taito_f3_state,f3)
@@ -544,7 +544,7 @@ static MACHINE_CONFIG_START( bubsympb, taito_f3_state )
MCFG_SCREEN_UPDATE_DRIVER(taito_f3_state, screen_update_f3)
MCFG_SCREEN_VBLANK_DRIVER(taito_f3_state, screen_eof_f3)
- MCFG_GFXDECODE(bubsympb)
+ MCFG_GFXDECODE_ADD("gfxdecode", bubsympb)
MCFG_PALETTE_LENGTH(8192)
MCFG_VIDEO_START_OVERRIDE(taito_f3_state,f3)
diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c
index 9966e7a407d..3cd2c9c128e 100644
--- a/src/mame/drivers/taito_h.c
+++ b/src/mame/drivers/taito_h.c
@@ -692,10 +692,11 @@ static MACHINE_CONFIG_START( syvalion, taitoh_state )
MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 3*16, 28*16-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoh_state, screen_update_syvalion)
- MCFG_GFXDECODE(syvalion)
+ MCFG_GFXDECODE_ADD("gfxdecode", syvalion)
MCFG_PALETTE_LENGTH(33*16)
MCFG_TC0080VCO_ADD("tc0080vco", syvalion_tc0080vco_intf)
+ MCFG_TC0080VCO_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -733,10 +734,11 @@ static MACHINE_CONFIG_START( recordbr, taitoh_state )
MCFG_SCREEN_VISIBLE_AREA(1*16, 21*16-1, 2*16, 17*16-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoh_state, screen_update_recordbr)
- MCFG_GFXDECODE(recordbr)
+ MCFG_GFXDECODE_ADD("gfxdecode", recordbr)
MCFG_PALETTE_LENGTH(32*16)
MCFG_TC0080VCO_ADD("tc0080vco", recordbr_tc0080vco_intf)
+ MCFG_TC0080VCO_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -782,10 +784,11 @@ static MACHINE_CONFIG_START( dleague, taitoh_state )
MCFG_SCREEN_VISIBLE_AREA(1*16, 21*16-1, 2*16, 17*16-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoh_state, screen_update_dleague)
- MCFG_GFXDECODE(dleague)
+ MCFG_GFXDECODE_ADD("gfxdecode", dleague)
MCFG_PALETTE_LENGTH(33*16)
MCFG_TC0080VCO_ADD("tc0080vco", recordbr_tc0080vco_intf)
+ MCFG_TC0080VCO_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/taito_l.c b/src/mame/drivers/taito_l.c
index 88141b49e35..8c1b26ee384 100644
--- a/src/mame/drivers/taito_l.c
+++ b/src/mame/drivers/taito_l.c
@@ -166,7 +166,7 @@ void taitol_state::taito_machine_reset()
m_cur_rombank = m_cur_rombank2 = 0;
membank("bank1")->set_base(memregion("maincpu")->base());
- machine().gfx[2]->set_source(m_rambanks);
+ m_gfxdecode->gfx(2)->set_source(m_rambanks);
m_adpcm_pos = 0;
m_adpcm_data = -1;
@@ -1823,7 +1823,7 @@ static MACHINE_CONFIG_START( fhawk, taitol_state )
MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol)
MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
- MCFG_GFXDECODE(2)
+ MCFG_GFXDECODE_ADD("gfxdecode", 2)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
@@ -1917,7 +1917,7 @@ static MACHINE_CONFIG_START( kurikint, taitol_state )
MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol)
MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
- MCFG_GFXDECODE(2)
+ MCFG_GFXDECODE_ADD("gfxdecode", 2)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
@@ -1940,7 +1940,7 @@ static MACHINE_CONFIG_DERIVED( kurikinta, kurikint )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(1)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 1)
MACHINE_CONFIG_END
@@ -1963,7 +1963,7 @@ static MACHINE_CONFIG_START( plotting, taitol_state )
MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol)
MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
- MCFG_GFXDECODE(1)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
@@ -2056,7 +2056,7 @@ static MACHINE_CONFIG_START( evilston, taitol_state )
MCFG_SCREEN_UPDATE_DRIVER(taitol_state, screen_update_taitol)
MCFG_SCREEN_VBLANK_DRIVER(taitol_state, screen_eof_taitol)
- MCFG_GFXDECODE(2)
+ MCFG_GFXDECODE_ADD("gfxdecode", 2)
MCFG_PALETTE_LENGTH(256)
MCFG_VIDEO_START_OVERRIDE(taitol_state,taitol)
diff --git a/src/mame/drivers/taito_o.c b/src/mame/drivers/taito_o.c
index edc349b7af0..d06dad498b9 100644
--- a/src/mame/drivers/taito_o.c
+++ b/src/mame/drivers/taito_o.c
@@ -255,10 +255,11 @@ static MACHINE_CONFIG_START( parentj, taitoo_state )
MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 3*16, 31*16-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoo_state, screen_update_parentj)
- MCFG_GFXDECODE(parentj)
+ MCFG_GFXDECODE_ADD("gfxdecode", parentj)
MCFG_PALETTE_LENGTH(33*16)
MCFG_TC0080VCO_ADD("tc0080vco", parentj_intf)
+ MCFG_TC0080VCO_GFXDECODE("gfxdecode")
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/taito_x.c b/src/mame/drivers/taito_x.c
index 1219b3a17a7..e4d9a41ed26 100644
--- a/src/mame/drivers/taito_x.c
+++ b/src/mame/drivers/taito_x.c
@@ -819,6 +819,7 @@ static MACHINE_CONFIG_START( superman, taitox_state )
MCFG_MACHINE_START_OVERRIDE(taitox_state,superman)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -828,7 +829,7 @@ static MACHINE_CONFIG_START( superman, taitox_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitox_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(superman)
+ MCFG_GFXDECODE_ADD("gfxdecode", superman)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
@@ -861,6 +862,7 @@ static MACHINE_CONFIG_START( daisenpu, taitox_state )
MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -870,7 +872,7 @@ static MACHINE_CONFIG_START( daisenpu, taitox_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitox_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(superman)
+ MCFG_GFXDECODE_ADD("gfxdecode", superman)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
@@ -901,6 +903,7 @@ static MACHINE_CONFIG_START( gigandes, taitox_state )
MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -910,7 +913,7 @@ static MACHINE_CONFIG_START( gigandes, taitox_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitox_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(superman)
+ MCFG_GFXDECODE_ADD("gfxdecode", superman)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
@@ -943,6 +946,7 @@ static MACHINE_CONFIG_START( ballbros, taitox_state )
MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -952,7 +956,7 @@ static MACHINE_CONFIG_START( ballbros, taitox_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitox_state, screen_update_seta_no_layers)
- MCFG_GFXDECODE(ballbros)
+ MCFG_GFXDECODE_ADD("gfxdecode", ballbros)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
diff --git a/src/mame/drivers/taito_z.c b/src/mame/drivers/taito_z.c
index 1476281551e..19be222abf1 100644
--- a/src/mame/drivers/taito_z.c
+++ b/src/mame/drivers/taito_z.c
@@ -3084,12 +3084,13 @@ static MACHINE_CONFIG_START( contcirc, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_contcirc)
- MCFG_GFXDECODE(taitoz)
+ MCFG_GFXDECODE_ADD("gfxdecode", taitoz)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
@@ -3146,12 +3147,13 @@ static MACHINE_CONFIG_START( chasehq, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_chasehq)
- MCFG_GFXDECODE(chasehq)
+ MCFG_GFXDECODE_ADD("gfxdecode", chasehq)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
@@ -3210,12 +3212,13 @@ static MACHINE_CONFIG_START( enforce, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_contcirc)
- MCFG_GFXDECODE(taitoz)
+ MCFG_GFXDECODE_ADD("gfxdecode", taitoz)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
@@ -3270,12 +3273,13 @@ static MACHINE_CONFIG_START( bshark, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_bshark)
- MCFG_GFXDECODE(taitoz)
+ MCFG_GFXDECODE_ADD("gfxdecode", taitoz)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
/* sound hardware */
@@ -3341,12 +3345,13 @@ static MACHINE_CONFIG_START( sci, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_sci)
- MCFG_GFXDECODE(taitoz)
+ MCFG_GFXDECODE_ADD("gfxdecode", taitoz)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
/* sound hardware */
@@ -3403,12 +3408,13 @@ static MACHINE_CONFIG_START( nightstr, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_chasehq)
- MCFG_GFXDECODE(chasehq)
+ MCFG_GFXDECODE_ADD("gfxdecode", chasehq)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
@@ -3467,12 +3473,13 @@ static MACHINE_CONFIG_START( aquajack, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_aquajack)
- MCFG_GFXDECODE(taitoz)
+ MCFG_GFXDECODE_ADD("gfxdecode", taitoz)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
@@ -3528,11 +3535,12 @@ static MACHINE_CONFIG_START( spacegun, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_spacegun)
- MCFG_GFXDECODE(taitoz)
+ MCFG_GFXDECODE_ADD("gfxdecode", taitoz)
MCFG_PALETTE_LENGTH(4096)
MCFG_TC0100SCN_ADD("tc0100scn", spacegun_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
/* sound hardware */
@@ -3589,12 +3597,13 @@ static MACHINE_CONFIG_START( dblaxle, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_dblaxle)
- MCFG_GFXDECODE(dblaxle)
+ MCFG_GFXDECODE_ADD("gfxdecode", dblaxle)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
/* sound hardware */
@@ -3651,12 +3660,13 @@ static MACHINE_CONFIG_START( racingb, taitoz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_racingb)
- MCFG_GFXDECODE(dblaxle)
+ MCFG_GFXDECODE_ADD("gfxdecode", dblaxle)
MCFG_PALETTE_LENGTH(4096)
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
/* sound hardware */
diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c
index 7d0eb71448e..c4252b9740a 100644
--- a/src/mame/drivers/taitoair.c
+++ b/src/mame/drivers/taitoair.c
@@ -717,11 +717,12 @@ static MACHINE_CONFIG_START( airsys, taitoair_state )
MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 3*16, 28*16-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoair_state, screen_update_taitoair)
- MCFG_GFXDECODE(airsys)
+ MCFG_GFXDECODE_ADD("gfxdecode", airsys)
MCFG_PALETTE_LENGTH(512*16+512*16)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
MCFG_TC0080VCO_ADD("tc0080vco", airsys_tc0080vco_intf)
+ MCFG_TC0080VCO_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c
index 3c1e9ab8562..fb455bdd7cc 100644
--- a/src/mame/drivers/taitosj.c
+++ b/src/mame/drivers/taitosj.c
@@ -1808,7 +1808,7 @@ static MACHINE_CONFIG_START( nomcu, taitosj_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitosj_state, screen_update_taitosj)
- MCFG_GFXDECODE(taitosj)
+ MCFG_GFXDECODE_ADD("gfxdecode", taitosj)
MCFG_PALETTE_LENGTH(64)
diff --git a/src/mame/drivers/tank8.c b/src/mame/drivers/tank8.c
index 2c541fdb993..322be93b71b 100644
--- a/src/mame/drivers/tank8.c
+++ b/src/mame/drivers/tank8.c
@@ -341,7 +341,7 @@ static MACHINE_CONFIG_START( tank8, tank8_state )
MCFG_SCREEN_UPDATE_DRIVER(tank8_state, screen_update_tank8)
MCFG_SCREEN_VBLANK_DRIVER(tank8_state, screen_eof_tank8)
- MCFG_GFXDECODE(tank8)
+ MCFG_GFXDECODE_ADD("gfxdecode", tank8)
MCFG_PALETTE_LENGTH(20)
diff --git a/src/mame/drivers/tankbatt.c b/src/mame/drivers/tankbatt.c
index c1919919943..54ede4c7f3e 100644
--- a/src/mame/drivers/tankbatt.c
+++ b/src/mame/drivers/tankbatt.c
@@ -293,7 +293,7 @@ static MACHINE_CONFIG_START( tankbatt, tankbatt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tankbatt_state, screen_update_tankbatt)
- MCFG_GFXDECODE(tankbatt)
+ MCFG_GFXDECODE_ADD("gfxdecode", tankbatt)
MCFG_PALETTE_LENGTH(256*2)
diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c
index 938283850eb..84cf33c8b68 100644
--- a/src/mame/drivers/tankbust.c
+++ b/src/mame/drivers/tankbust.c
@@ -346,7 +346,7 @@ static MACHINE_CONFIG_START( tankbust, tankbust_state )
// MCFG_SCREEN_VISIBLE_AREA ( 0*8, 64*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(tankbust_state, screen_update_tankbust)
- MCFG_GFXDECODE( tankbust )
+ MCFG_GFXDECODE_ADD("gfxdecode", tankbust )
MCFG_PALETTE_LENGTH( 128 )
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index 8b363df282d..e232c2a481f 100644
--- a/src/mame/drivers/taotaido.c
+++ b/src/mame/drivers/taotaido.c
@@ -337,7 +337,7 @@ static MACHINE_CONFIG_START( taotaido, taotaido_state )
MCFG_CPU_IO_MAP(sound_port_map)
/* IRQs are triggered by the YM2610 */
- MCFG_GFXDECODE(taotaido)
+ MCFG_GFXDECODE_ADD("gfxdecode", taotaido)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -352,6 +352,7 @@ static MACHINE_CONFIG_START( taotaido, taotaido_state )
MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0)
MCFG_VSYSTEM_SPR_SET_TILE_INDIRECT( taotaido_state, taotaido_tile_callback )
MCFG_VSYSTEM_SPR_SET_GFXREGION(0)
+ MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/targeth.c b/src/mame/drivers/targeth.c
index c2eb2d7d9b2..f2bc7a9e0d9 100644
--- a/src/mame/drivers/targeth.c
+++ b/src/mame/drivers/targeth.c
@@ -185,7 +185,7 @@ static MACHINE_CONFIG_START( targeth, targeth_state )
MCFG_SCREEN_VISIBLE_AREA(0, 24*16-1, 16, 16*16-1) /* 400x240 */
MCFG_SCREEN_UPDATE_DRIVER(targeth_state, screen_update_targeth)
- MCFG_GFXDECODE(0x080000)
+ MCFG_GFXDECODE_ADD("gfxdecode", 0x080000)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/tasman.c b/src/mame/drivers/tasman.c
index c1f54e24aa9..952fbb16771 100644
--- a/src/mame/drivers/tasman.c
+++ b/src/mame/drivers/tasman.c
@@ -59,7 +59,7 @@ VIDEO_START_MEMBER(kongambl_state,kongambl)
UINT32 kongambl_state::screen_update_kongambl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
#if CUSTOM_DRAW
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT32 count;
count = 0;
@@ -613,13 +613,15 @@ static MACHINE_CONFIG_START( kongambl, kongambl_state )
MCFG_VIDEO_START_OVERRIDE(kongambl_state,kongambl)
MCFG_K053246_ADD("k053246", k053247_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K055555_ADD("k055555")
MCFG_K055673_ADD_NOINTF("k055673")
+ MCFG_K055673_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(tasman)
+ MCFG_GFXDECODE_ADD("gfxdecode", tasman)
MCFG_K056832_ADD("k056832", k056832_intf)
-
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c
index a9d0fe7590f..3fd67bc5ac6 100644
--- a/src/mame/drivers/tatsumi.c
+++ b/src/mame/drivers/tatsumi.c
@@ -896,7 +896,7 @@ static MACHINE_CONFIG_START( apache3, tatsumi_state )
MCFG_SCREEN_RAW_PARAMS(CLOCK_2 / 8, 400, 0, 320, 280, 0, 240) // TODO: Hook up CRTC
MCFG_SCREEN_UPDATE_DRIVER(tatsumi_state, screen_update_apache3)
- MCFG_GFXDECODE(apache3)
+ MCFG_GFXDECODE_ADD("gfxdecode", apache3)
MCFG_PALETTE_LENGTH(1024 + 4096) /* 1024 real colours, and 4096 arranged as series of cluts */
MCFG_VIDEO_START_OVERRIDE(tatsumi_state,apache3)
@@ -937,7 +937,7 @@ static MACHINE_CONFIG_START( roundup5, tatsumi_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tatsumi_state, screen_update_roundup5)
- MCFG_GFXDECODE(roundup5)
+ MCFG_GFXDECODE_ADD("gfxdecode", roundup5)
MCFG_PALETTE_LENGTH(1024 + 4096) /* 1024 real colours, and 4096 arranged as series of cluts */
MCFG_VIDEO_START_OVERRIDE(tatsumi_state,roundup5)
@@ -979,7 +979,7 @@ static MACHINE_CONFIG_START( cyclwarr, tatsumi_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tatsumi_state, screen_update_cyclwarr)
- MCFG_GFXDECODE(cyclwarr)
+ MCFG_GFXDECODE_ADD("gfxdecode", cyclwarr)
MCFG_PALETTE_LENGTH(8192 + 8192)
MCFG_VIDEO_START_OVERRIDE(tatsumi_state,cyclwarr)
@@ -1021,7 +1021,7 @@ static MACHINE_CONFIG_START( bigfight, tatsumi_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tatsumi_state, screen_update_bigfight)
- MCFG_GFXDECODE(cyclwarr)
+ MCFG_GFXDECODE_ADD("gfxdecode", cyclwarr)
MCFG_PALETTE_LENGTH(8192 + 8192)
MCFG_VIDEO_START_OVERRIDE(tatsumi_state,bigfight)
diff --git a/src/mame/drivers/tattack.c b/src/mame/drivers/tattack.c
index 0f95e1e5590..d7af23b9da9 100644
--- a/src/mame/drivers/tattack.c
+++ b/src/mame/drivers/tattack.c
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(tattack_state::get_tile_info)
color>>=1;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -213,7 +213,7 @@ static MACHINE_CONFIG_START( tattack, tattack_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tattack_state, screen_update_tattack)
- MCFG_GFXDECODE(tattack)
+ MCFG_GFXDECODE_ADD("gfxdecode", tattack)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mame/drivers/taxidriv.c b/src/mame/drivers/taxidriv.c
index b552ed9e858..34cbc5db676 100644
--- a/src/mame/drivers/taxidriv.c
+++ b/src/mame/drivers/taxidriv.c
@@ -420,7 +420,7 @@ static MACHINE_CONFIG_START( taxidriv, taxidriv_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 27*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taxidriv_state, screen_update_taxidriv)
- MCFG_GFXDECODE(taxidriv)
+ MCFG_GFXDECODE_ADD("gfxdecode", taxidriv)
MCFG_PALETTE_LENGTH(16)
/* sound hardware */
diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c
index ec1271cb33a..80b1b115f6f 100644
--- a/src/mame/drivers/tbowl.c
+++ b/src/mame/drivers/tbowl.c
@@ -482,7 +482,7 @@ static MACHINE_CONFIG_START( tbowl, tbowl_state )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
/* video hardware */
- MCFG_GFXDECODE(tbowl)
+ MCFG_GFXDECODE_ADD("gfxdecode", tbowl)
MCFG_PALETTE_LENGTH(1024*2)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
diff --git a/src/mame/drivers/tceptor.c b/src/mame/drivers/tceptor.c
index 9d8419387a4..98a0a5b5661 100644
--- a/src/mame/drivers/tceptor.c
+++ b/src/mame/drivers/tceptor.c
@@ -382,11 +382,12 @@ static MACHINE_CONFIG_START( tceptor, tceptor_state )
/* video hardware */
- MCFG_GFXDECODE(tceptor)
+ MCFG_GFXDECODE_ADD("gfxdecode", tceptor)
MCFG_PALETTE_LENGTH(4096)
MCFG_DEFAULT_LAYOUT(layout_horizont)
MCFG_NAMCO_C45_ROAD_ADD("c45_road")
+ MCFG_NAMCO_C45_ROAD_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("2dscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60.606060)
diff --git a/src/mame/drivers/tcl.c b/src/mame/drivers/tcl.c
index 148101f2eb0..3b2ce96c925 100644
--- a/src/mame/drivers/tcl.c
+++ b/src/mame/drivers/tcl.c
@@ -140,7 +140,7 @@ static MACHINE_CONFIG_START( tcl, tcl_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tcl_state, screen_update_tcl)
- MCFG_GFXDECODE(tcl)
+ MCFG_GFXDECODE_ADD("gfxdecode", tcl)
MCFG_PALETTE_LENGTH(16*16)
diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c
index bc833563c60..8f62cbc20bc 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -638,7 +638,7 @@ static MACHINE_CONFIG_START( rygar, tecmo_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tecmo_state, screen_update_tecmo)
- MCFG_GFXDECODE(tecmo)
+ MCFG_GFXDECODE_ADD("gfxdecode", tecmo)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(tecmo_state,tecmo)
@@ -697,7 +697,7 @@ static MACHINE_CONFIG_START( backfirt, tecmo_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tecmo_state, screen_update_tecmo)
- MCFG_GFXDECODE(tecmo)
+ MCFG_GFXDECODE_ADD("gfxdecode", tecmo)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(tecmo_state,tecmo)
diff --git a/src/mame/drivers/tecmo16.c b/src/mame/drivers/tecmo16.c
index d0fdbb24f5f..4dc9f4b8a13 100644
--- a/src/mame/drivers/tecmo16.c
+++ b/src/mame/drivers/tecmo16.c
@@ -381,7 +381,7 @@ static MACHINE_CONFIG_START( fstarfrc, tecmo16_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tecmo16_state, screen_update_tecmo16)
- MCFG_GFXDECODE(tecmo16)
+ MCFG_GFXDECODE_ADD("gfxdecode", tecmo16)
MCFG_PALETTE_LENGTH(4096)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, all_black)
diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c
index bbf54ee75f1..9207c437cc9 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -454,7 +454,7 @@ static MACHINE_CONFIG_START( deroon, tecmosys_state )
MCFG_CPU_IO_MAP(io_map)
- MCFG_GFXDECODE(tecmosys)
+ MCFG_GFXDECODE_ADD("gfxdecode", tecmosys)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_ENABLE_STREAMING()
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index 7f5af39056e..09b9534da9e 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -667,7 +667,7 @@ static MACHINE_CONFIG_START( tehkanwc, tehkanwc_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tehkanwc_state, screen_update_tehkanwc)
- MCFG_GFXDECODE(tehkanwc)
+ MCFG_GFXDECODE_ADD("gfxdecode", tehkanwc)
MCFG_PALETTE_LENGTH(768)
diff --git a/src/mame/drivers/terracre.c b/src/mame/drivers/terracre.c
index 84ca595a8f6..9f0fdd09adb 100644
--- a/src/mame/drivers/terracre.c
+++ b/src/mame/drivers/terracre.c
@@ -529,7 +529,7 @@ static MACHINE_CONFIG_START( amazon, terracre_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(terracre_state, screen_update_amazon)
- MCFG_GFXDECODE(terracre)
+ MCFG_GFXDECODE_ADD("gfxdecode", terracre)
MCFG_PALETTE_LENGTH(1*16+16*16+16*256)
@@ -562,7 +562,7 @@ static MACHINE_CONFIG_START( ym3526, terracre_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(terracre_state, screen_update_amazon)
- MCFG_GFXDECODE(terracre)
+ MCFG_GFXDECODE_ADD("gfxdecode", terracre)
MCFG_PALETTE_LENGTH(1*16+16*16+16*256)
@@ -595,7 +595,7 @@ static MACHINE_CONFIG_START( ym2203, terracre_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(terracre_state, screen_update_amazon)
- MCFG_GFXDECODE(terracre)
+ MCFG_GFXDECODE_ADD("gfxdecode", terracre)
MCFG_PALETTE_LENGTH(1*16+16*16+16*256)
diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c
index f70f3075bf2..744061f491f 100644
--- a/src/mame/drivers/tetrisp2.c
+++ b/src/mame/drivers/tetrisp2.c
@@ -1339,7 +1339,7 @@ static MACHINE_CONFIG_START( tetrisp2, tetrisp2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xe0-1)
MCFG_SCREEN_UPDATE_DRIVER(tetrisp2_state, screen_update_tetrisp2)
- MCFG_GFXDECODE(tetrisp2)
+ MCFG_GFXDECODE_ADD("gfxdecode", tetrisp2)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,tetrisp2)
@@ -1370,7 +1370,7 @@ static MACHINE_CONFIG_START( nndmseal, tetrisp2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x180-1, 0, 0xf0-1)
MCFG_SCREEN_UPDATE_DRIVER(tetrisp2_state, screen_update_tetrisp2)
- MCFG_GFXDECODE(tetrisp2)
+ MCFG_GFXDECODE_ADD("gfxdecode", tetrisp2)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,nndmseal) // bg layer offset
@@ -1400,7 +1400,7 @@ static MACHINE_CONFIG_START( rockn, tetrisp2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xe0-1)
MCFG_SCREEN_UPDATE_DRIVER(tetrisp2_state, screen_update_rockntread)
- MCFG_GFXDECODE(tetrisp2)
+ MCFG_GFXDECODE_ADD("gfxdecode", tetrisp2)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,rockntread)
@@ -1431,7 +1431,7 @@ static MACHINE_CONFIG_START( rockn2, tetrisp2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xe0-1)
MCFG_SCREEN_UPDATE_DRIVER(tetrisp2_state, screen_update_rockntread)
- MCFG_GFXDECODE(tetrisp2)
+ MCFG_GFXDECODE_ADD("gfxdecode", tetrisp2)
MCFG_PALETTE_LENGTH(0x8000)
MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,rockntread)
@@ -1460,7 +1460,7 @@ static MACHINE_CONFIG_START( rocknms, tetrisp2_state )
/* video hardware */
- MCFG_GFXDECODE(rocknms)
+ MCFG_GFXDECODE_ADD("gfxdecode", rocknms)
MCFG_PALETTE_LENGTH(0x10000)
MCFG_DEFAULT_LAYOUT(layout_rocknms)
@@ -1525,7 +1525,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_OVERRIDE(stepstag_state, stepstag )
- MCFG_GFXDECODE(stepstag)
+ MCFG_GFXDECODE_ADD("gfxdecode", stepstag)
MCFG_DEFAULT_LAYOUT(layout_stepstag)
diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c
index a129aab445b..d7b2af69d0e 100644
--- a/src/mame/drivers/thedeep.c
+++ b/src/mame/drivers/thedeep.c
@@ -460,7 +460,7 @@ static MACHINE_CONFIG_START( thedeep, thedeep_state )
MCFG_SCREEN_VISIBLE_AREA(0, 0x100-1, 0, 0xf8-1)
MCFG_SCREEN_UPDATE_DRIVER(thedeep_state, screen_update_thedeep)
- MCFG_GFXDECODE(thedeep)
+ MCFG_GFXDECODE_ADD("gfxdecode", thedeep)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/thepit.c b/src/mame/drivers/thepit.c
index b824827acdd..8eca8cc710c 100644
--- a/src/mame/drivers/thepit.c
+++ b/src/mame/drivers/thepit.c
@@ -721,7 +721,7 @@ static MACHINE_CONFIG_START( thepit, thepit_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", thepit_state, irq0_line_hold)
/* video hardware */
- MCFG_GFXDECODE(thepit)
+ MCFG_GFXDECODE_ADD("gfxdecode", thepit)
MCFG_PALETTE_LENGTH(32+8)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -749,7 +749,7 @@ static MACHINE_CONFIG_DERIVED( desertdn, thepit )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(thepit_state, screen_update_desertdan)
- MCFG_GFXDECODE(intrepid)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", intrepid)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( intrepid, thepit )
@@ -759,7 +759,7 @@ static MACHINE_CONFIG_DERIVED( intrepid, thepit )
MCFG_CPU_PROGRAM_MAP(intrepid_main_map)
/* video hardware */
- MCFG_GFXDECODE(intrepid)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", intrepid)
MACHINE_CONFIG_END
@@ -769,7 +769,7 @@ static MACHINE_CONFIG_DERIVED( suprmous, intrepid )
/* video hardware */
MCFG_PALETTE_INIT_OVERRIDE(thepit_state,suprmous)
- MCFG_GFXDECODE(suprmous)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", suprmous)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/thoop2.c b/src/mame/drivers/thoop2.c
index 82a37e7c250..d89318fe498 100644
--- a/src/mame/drivers/thoop2.c
+++ b/src/mame/drivers/thoop2.c
@@ -201,7 +201,7 @@ static MACHINE_CONFIG_START( thoop2, thoop2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(thoop2_state, screen_update_thoop2)
- MCFG_GFXDECODE(thoop2)
+ MCFG_GFXDECODE_ADD("gfxdecode", thoop2)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/thunderj.c b/src/mame/drivers/thunderj.c
index 9291199a022..b7a3fba63ef 100644
--- a/src/mame/drivers/thunderj.c
+++ b/src/mame/drivers/thunderj.c
@@ -264,14 +264,14 @@ static MACHINE_CONFIG_START( thunderj, thunderj_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(thunderj)
+ MCFG_GFXDECODE_ADD("gfxdecode", thunderj)
MCFG_PALETTE_LENGTH(2048)
MCFG_ATARI_VAD_ADD("vad", "screen", WRITELINE(atarigen_state, scanline_int_write_line))
MCFG_ATARI_VAD_PLAYFIELD(thunderj_state, get_playfield_tile_info)
MCFG_ATARI_VAD_PLAYFIELD2(thunderj_state, get_playfield2_tile_info)
MCFG_ATARI_VAD_ALPHA(thunderj_state, get_alpha_tile_info)
- MCFG_ATARI_VAD_MOB(thunderj_state::s_mob_config)
+ MCFG_ATARI_VAD_MOB(thunderj_state::s_mob_config, "gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c
index bd5209ff1e1..e57abdecbd9 100644
--- a/src/mame/drivers/thunderx.c
+++ b/src/mame/drivers/thunderx.c
@@ -667,9 +667,11 @@ static MACHINE_CONFIG_START( scontra, thunderx_state )
MCFG_PALETTE_LENGTH(1024)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", thunderx_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", thunderx_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -710,9 +712,11 @@ static MACHINE_CONFIG_START( thunderx, thunderx_state )
MCFG_PALETTE_LENGTH(1024)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", thunderx_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", thunderx_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/tiamc1.c b/src/mame/drivers/tiamc1.c
index d984f078868..eb52a9db8d5 100644
--- a/src/mame/drivers/tiamc1.c
+++ b/src/mame/drivers/tiamc1.c
@@ -235,7 +235,7 @@ static MACHINE_CONFIG_START( tiamc1, tiamc1_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(tiamc1_state, screen_update_tiamc1)
- MCFG_GFXDECODE(tiamc1)
+ MCFG_GFXDECODE_ADD("gfxdecode", tiamc1)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c
index 348d980d826..de021020f96 100644
--- a/src/mame/drivers/tigeroad.c
+++ b/src/mame/drivers/tigeroad.c
@@ -534,7 +534,7 @@ static MACHINE_CONFIG_START( tigeroad, tigeroad_state )
MCFG_SCREEN_UPDATE_DRIVER(tigeroad_state, screen_update_tigeroad)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(tigeroad)
+ MCFG_GFXDECODE_ADD("gfxdecode", tigeroad)
MCFG_PALETTE_LENGTH(576)
diff --git a/src/mame/drivers/timelimt.c b/src/mame/drivers/timelimt.c
index 6089b8e6a30..96b535bdd13 100644
--- a/src/mame/drivers/timelimt.c
+++ b/src/mame/drivers/timelimt.c
@@ -246,7 +246,7 @@ static MACHINE_CONFIG_START( timelimt, timelimt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(timelimt_state, screen_update_timelimt)
- MCFG_GFXDECODE(timelimt)
+ MCFG_GFXDECODE_ADD("gfxdecode", timelimt)
MCFG_PALETTE_LENGTH(64+32)
diff --git a/src/mame/drivers/timeplt.c b/src/mame/drivers/timeplt.c
index 52a6b46d7ce..7df4e4967d9 100644
--- a/src/mame/drivers/timeplt.c
+++ b/src/mame/drivers/timeplt.c
@@ -476,7 +476,7 @@ static MACHINE_CONFIG_START( timeplt, timeplt_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(timeplt_state, screen_update_timeplt)
- MCFG_GFXDECODE(timeplt)
+ MCFG_GFXDECODE_ADD("gfxdecode", timeplt)
MCFG_PALETTE_LENGTH(32*4+64*4)
/* sound hardware */
@@ -494,7 +494,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bikkuric, timeplt )
- MCFG_GFXDECODE(chkun)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", chkun)
/* basic machine hardware */
MCFG_CPU_MODIFY("maincpu")
@@ -505,7 +505,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( chkun, bikkuric )
- MCFG_GFXDECODE(chkun)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", chkun)
/* sound hardware */
MCFG_SOUND_MODIFY("ay2")
diff --git a/src/mame/drivers/tmmjprd.c b/src/mame/drivers/tmmjprd.c
index 8ac2f715383..975e85a9354 100644
--- a/src/mame/drivers/tmmjprd.c
+++ b/src/mame/drivers/tmmjprd.c
@@ -107,7 +107,7 @@ WRITE32_MEMBER(tmmjprd_state::tmmjprd_tilemap3_w)
void tmmjprd_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int screen)
{
int xpos,ypos,tileno,xflip,yflip, colr;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int xoffs;
// int todraw = (m_spriteregs[5]&0x0fff0000)>>16; // how many sprites to draw (start/end reg..) what is the other half?
@@ -756,7 +756,7 @@ static MACHINE_CONFIG_START( tmmjprd, tmmjprd_state )
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_ENABLE_STREAMING()
- MCFG_GFXDECODE(tmmjprd)
+ MCFG_GFXDECODE_ADD("gfxdecode", tmmjprd)
// MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c
index 939b44e443d..7f5db71a0bd 100644
--- a/src/mame/drivers/tmnt.c
+++ b/src/mame/drivers/tmnt.c
@@ -2147,8 +2147,11 @@ static MACHINE_CONFIG_START( cuebrick, tmnt_state )
MCFG_VIDEO_START_OVERRIDE(tmnt_state,cuebrick)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", cuebrick_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", cuebrick_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2187,8 +2190,11 @@ static MACHINE_CONFIG_START( mia, tmnt_state )
MCFG_VIDEO_START_OVERRIDE(tmnt_state,mia)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", mia_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", mia_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2240,8 +2246,11 @@ static MACHINE_CONFIG_START( tmnt, tmnt_state )
MCFG_VIDEO_START_OVERRIDE(tmnt_state,tmnt)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", tmnt_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -2289,8 +2298,11 @@ static MACHINE_CONFIG_START( punkshot, tmnt_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", punkshot_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
@@ -2332,8 +2344,11 @@ static MACHINE_CONFIG_START( lgtnfght, tmnt_state )
MCFG_VIDEO_START_OVERRIDE(tmnt_state,lgtnfght)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
+ MCFG_K053245_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
@@ -2380,8 +2395,11 @@ static MACHINE_CONFIG_START( blswhstl, tmnt_state )
MCFG_VIDEO_START_OVERRIDE(tmnt_state, blswhstl )
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", blswhstl_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053245_ADD("k053245", blswhstl_k05324x_intf)
+ MCFG_K053245_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
MCFG_K054000_ADD("k054000")
@@ -2439,13 +2457,15 @@ static MACHINE_CONFIG_START( glfgreat, tmnt_state )
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(tmnt_state, screen_update_glfgreat)
- MCFG_GFXDECODE(glfgreat)
+ MCFG_GFXDECODE_ADD("gfxdecode", glfgreat)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(tmnt_state,glfgreat)
MCFG_K052109_ADD("k052109", glfgreat_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053245_ADD("k053245", glfgreat_k05324x_intf)
+ MCFG_K053245_GFXDECODE("gfxdecode")
MCFG_K053936_ADD("k053936", glfgreat_k053936_interface)
MCFG_K053251_ADD("k053251")
@@ -2497,13 +2517,15 @@ static MACHINE_CONFIG_START( prmrsocr, tmnt_state )
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(tmnt_state, screen_update_glfgreat)
- MCFG_GFXDECODE(glfgreat)
+ MCFG_GFXDECODE_ADD("gfxdecode", glfgreat)
MCFG_PALETTE_LENGTH(2048)
MCFG_VIDEO_START_OVERRIDE(tmnt_state,prmrsocr)
MCFG_K052109_ADD("k052109", glfgreat_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053245_ADD("k053245", prmrsocr_k05324x_intf)
+ MCFG_K053245_GFXDECODE("gfxdecode")
MCFG_K053936_ADD("k053936", prmrsocr_k053936_interface)
MCFG_K053251_ADD("k053251")
@@ -2551,8 +2573,11 @@ static MACHINE_CONFIG_START( tmnt2, tmnt_state )
MCFG_VIDEO_START_OVERRIDE(tmnt_state,lgtnfght)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
+ MCFG_K053245_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
@@ -2598,8 +2623,11 @@ static MACHINE_CONFIG_START( ssriders, tmnt_state )
MCFG_VIDEO_START_OVERRIDE(tmnt_state,lgtnfght)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
+ MCFG_K053245_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
@@ -2639,8 +2667,11 @@ static MACHINE_CONFIG_START( sunsetbl, tmnt_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", sunsetbl_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
+ MCFG_K053245_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
@@ -2679,8 +2710,11 @@ static MACHINE_CONFIG_START( thndrx2, tmnt_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K051960_ADD("k051960", thndrx2_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
MCFG_K054000_ADD("k054000")
diff --git a/src/mame/drivers/tmspoker.c b/src/mame/drivers/tmspoker.c
index 4edabb47a61..663f16a49e6 100644
--- a/src/mame/drivers/tmspoker.c
+++ b/src/mame/drivers/tmspoker.c
@@ -260,7 +260,7 @@ TILE_GET_INFO_MEMBER(tmspoker_state::get_bg_tile_info)
*/
int code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER( 0 /* bank */, code, 0 /* color */, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0 /* bank */, code, 0 /* color */, 0);
}
void tmspoker_state::video_start()
@@ -592,13 +592,12 @@ static MACHINE_CONFIG_START( tmspoker, tmspoker_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(tmspoker_state, screen_update_tmspoker)
- MCFG_GFXDECODE(tmspoker)
+ MCFG_GFXDECODE_ADD("gfxdecode", tmspoker)
MCFG_PALETTE_LENGTH(256)
- MCFG_SCREEN_UPDATE_DRIVER(tmspoker_state, screen_update_tmspoker)
-
MCFG_MC6845_ADD("crtc", MC6845, "screen", MASTER_CLOCK/4, mc6845_intf) /* guess */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tnzs.c b/src/mame/drivers/tnzs.c
index 8f42727b5bd..6558b5d044a 100644
--- a/src/mame/drivers/tnzs.c
+++ b/src/mame/drivers/tnzs.c
@@ -1616,6 +1616,7 @@ static MACHINE_CONFIG_START( arknoid2, tnzs_state )
MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1626,7 +1627,7 @@ static MACHINE_CONFIG_START( arknoid2, tnzs_state )
MCFG_SCREEN_UPDATE_DRIVER(tnzs_state, screen_update_tnzs)
MCFG_SCREEN_VBLANK_DRIVER(tnzs_state, screen_eof_tnzs)
- MCFG_GFXDECODE(tnzs)
+ MCFG_GFXDECODE_ADD("gfxdecode", tnzs)
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT_OVERRIDE(tnzs_state,arknoid2)
@@ -1657,6 +1658,7 @@ static MACHINE_CONFIG_START( drtoppel, tnzs_state )
MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1667,7 +1669,7 @@ static MACHINE_CONFIG_START( drtoppel, tnzs_state )
MCFG_SCREEN_UPDATE_DRIVER(tnzs_state, screen_update_tnzs)
MCFG_SCREEN_VBLANK_DRIVER(tnzs_state, screen_eof_tnzs)
- MCFG_GFXDECODE(tnzs)
+ MCFG_GFXDECODE_ADD("gfxdecode", tnzs)
MCFG_PALETTE_LENGTH(512)
MCFG_PALETTE_INIT_OVERRIDE(tnzs_state,arknoid2)
@@ -1701,6 +1703,7 @@ static MACHINE_CONFIG_START( tnzs, tnzs_state )
MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1711,7 +1714,7 @@ static MACHINE_CONFIG_START( tnzs, tnzs_state )
MCFG_SCREEN_UPDATE_DRIVER(tnzs_state, screen_update_tnzs)
MCFG_SCREEN_VBLANK_DRIVER(tnzs_state, screen_eof_tnzs)
- MCFG_GFXDECODE(tnzs)
+ MCFG_GFXDECODE_ADD("gfxdecode", tnzs)
MCFG_PALETTE_LENGTH(512)
@@ -1741,6 +1744,7 @@ static MACHINE_CONFIG_START( insectx, tnzs_state )
MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1751,7 +1755,7 @@ static MACHINE_CONFIG_START( insectx, tnzs_state )
MCFG_SCREEN_UPDATE_DRIVER(tnzs_state, screen_update_tnzs)
MCFG_SCREEN_VBLANK_DRIVER(tnzs_state, screen_eof_tnzs)
- MCFG_GFXDECODE(insectx)
+ MCFG_GFXDECODE_ADD("gfxdecode", insectx)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
@@ -1780,6 +1784,7 @@ static MACHINE_CONFIG_START( kageki, tnzs_state )
MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1790,7 +1795,7 @@ static MACHINE_CONFIG_START( kageki, tnzs_state )
MCFG_SCREEN_UPDATE_DRIVER(tnzs_state, screen_update_tnzs)
MCFG_SCREEN_VBLANK_DRIVER(tnzs_state, screen_eof_tnzs)
- MCFG_GFXDECODE(tnzs)
+ MCFG_GFXDECODE_ADD("gfxdecode", tnzs)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
@@ -1829,6 +1834,7 @@ static MACHINE_CONFIG_START( tnzsb, tnzs_state )
MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,tnzs)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1839,7 +1845,7 @@ static MACHINE_CONFIG_START( tnzsb, tnzs_state )
MCFG_SCREEN_UPDATE_DRIVER(tnzs_state, screen_update_tnzs)
MCFG_SCREEN_VBLANK_DRIVER(tnzs_state, screen_eof_tnzs)
- MCFG_GFXDECODE(tnzs)
+ MCFG_GFXDECODE_ADD("gfxdecode", tnzs)
MCFG_PALETTE_LENGTH(512)
/* sound hardware */
@@ -1889,6 +1895,7 @@ static MACHINE_CONFIG_START( jpopnics, tnzs_state )
MCFG_MACHINE_RESET_OVERRIDE(tnzs_state,jpopnics)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
+ MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1899,7 +1906,7 @@ static MACHINE_CONFIG_START( jpopnics, tnzs_state )
MCFG_SCREEN_UPDATE_DRIVER(tnzs_state, screen_update_tnzs)
MCFG_SCREEN_VBLANK_DRIVER(tnzs_state, screen_eof_tnzs)
- MCFG_GFXDECODE(tnzs)
+ MCFG_GFXDECODE_ADD("gfxdecode", tnzs)
MCFG_PALETTE_LENGTH(1024)
/* sound hardware */
diff --git a/src/mame/drivers/toaplan1.c b/src/mame/drivers/toaplan1.c
index 796025a240b..048564beeab 100644
--- a/src/mame/drivers/toaplan1.c
+++ b/src/mame/drivers/toaplan1.c
@@ -1825,8 +1825,9 @@ static MACHINE_CONFIG_START( rallybik, toaplan1_rallybik_state )
MCFG_SCREEN_VBLANK_DRIVER(toaplan1_rallybik_state, screen_eof_rallybik)
MCFG_TOAPLAN_SCU_ADD("toaplan_scu")
+ MCFG_TOAPLAN_SCU_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(rallybik)
+ MCFG_GFXDECODE_ADD("gfxdecode", rallybik)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
MCFG_VIDEO_START_OVERRIDE(toaplan1_rallybik_state,rallybik)
@@ -1863,7 +1864,7 @@ static MACHINE_CONFIG_START( truxton, toaplan1_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
- MCFG_GFXDECODE(toaplan1)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
@@ -1900,7 +1901,7 @@ static MACHINE_CONFIG_START( hellfire, toaplan1_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
- MCFG_GFXDECODE(toaplan1)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
@@ -1937,7 +1938,7 @@ static MACHINE_CONFIG_START( zerowing, toaplan1_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
- MCFG_GFXDECODE(toaplan1)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
@@ -1978,7 +1979,7 @@ static MACHINE_CONFIG_START( demonwld, toaplan1_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
- MCFG_GFXDECODE(toaplan1)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
@@ -2013,7 +2014,7 @@ static MACHINE_CONFIG_START( samesame, toaplan1_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_samesame)
- MCFG_GFXDECODE(toaplan1)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
@@ -2050,7 +2051,7 @@ static MACHINE_CONFIG_START( outzone, toaplan1_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
- MCFG_GFXDECODE(toaplan1)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
@@ -2085,7 +2086,7 @@ static MACHINE_CONFIG_START( vimana, toaplan1_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan1_state, screen_update_toaplan1)
MCFG_SCREEN_VBLANK_DRIVER(toaplan1_state, screen_eof_toaplan1)
- MCFG_GFXDECODE(toaplan1)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan1)
MCFG_PALETTE_LENGTH((64*16)+(64*16))
MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index f5fe4d31e9a..c2be68abb4b 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -3141,10 +3141,11 @@ static MACHINE_CONFIG_START( tekipaki, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3183,10 +3184,11 @@ static MACHINE_CONFIG_START( ghox, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3269,11 +3271,14 @@ static MACHINE_CONFIG_START( dogyuun, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_dogyuun)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(t2dualvdp)
+ MCFG_GFXDECODE_ADD("gfxdecode", t2dualvdp)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD_VDP1
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3314,10 +3319,11 @@ static MACHINE_CONFIG_START( kbash, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3352,10 +3358,11 @@ static MACHINE_CONFIG_START( kbash2, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3387,10 +3394,11 @@ static MACHINE_CONFIG_START( truxton2, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(truxton2)
+ MCFG_GFXDECODE_ADD("gfxdecode", truxton2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,truxton2)
@@ -3443,10 +3451,11 @@ static MACHINE_CONFIG_START( pipibibs, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3485,10 +3494,11 @@ static MACHINE_CONFIG_START( pipibibsbl, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3562,10 +3572,11 @@ static MACHINE_CONFIG_START( fixeight, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(truxton2)
+ MCFG_GFXDECODE_ADD("gfxdecode", truxton2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,truxton2)
@@ -3600,10 +3611,11 @@ static MACHINE_CONFIG_START( fixeightbl, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(fixeightbl)
+ MCFG_GFXDECODE_ADD("gfxdecode", fixeightbl)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,fixeightbl)
@@ -3638,10 +3650,11 @@ static MACHINE_CONFIG_START( vfive, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3677,11 +3690,14 @@ static MACHINE_CONFIG_START( batsugun, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_batsugun)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(t2dualvdp)
+ MCFG_GFXDECODE_ADD("gfxdecode", t2dualvdp)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD_VDP1
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3713,10 +3729,11 @@ static MACHINE_CONFIG_START( pwrkick, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3744,10 +3761,11 @@ static MACHINE_CONFIG_START( othldrby, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3778,10 +3796,11 @@ static MACHINE_CONFIG_START( snowbro2, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_toaplan2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(toaplan2)
+ MCFG_GFXDECODE_ADD("gfxdecode", toaplan2)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
@@ -3822,10 +3841,11 @@ static MACHINE_CONFIG_START( mahoudai, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(raizing)
+ MCFG_GFXDECODE_ADD("gfxdecode", raizing)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga)
@@ -3866,10 +3886,11 @@ static MACHINE_CONFIG_START( shippumd, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(raizing)
+ MCFG_GFXDECODE_ADD("gfxdecode", raizing)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga)
@@ -3921,10 +3942,11 @@ static MACHINE_CONFIG_START( bgaregga, toaplan2_state )
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_truxton2)
MCFG_SCREEN_VBLANK_DRIVER(toaplan2_state, screen_eof_toaplan2)
- MCFG_GFXDECODE(raizing)
+ MCFG_GFXDECODE_ADD("gfxdecode", raizing)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga)
@@ -3971,10 +3993,11 @@ static MACHINE_CONFIG_START( batrider, toaplan2_state )
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_batrider)
- MCFG_GFXDECODE(batrider)
+ MCFG_GFXDECODE_ADD("gfxdecode", batrider)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,batrider)
@@ -4023,10 +4046,11 @@ static MACHINE_CONFIG_START( bbakraid, toaplan2_state )
//MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_batrider)
- MCFG_GFXDECODE(batrider)
+ MCFG_GFXDECODE_ADD("gfxdecode", batrider)
MCFG_PALETTE_LENGTH(T2PALETTE_LENGTH)
MCFG_DEVICE_ADD_VDP0
+ MCFG_GP9001_VDP_GFXDECODE("gfxdecode")
MCFG_VIDEO_START_OVERRIDE(toaplan2_state,batrider)
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index 719602884f1..296851d5751 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -428,7 +428,7 @@ static MACHINE_CONFIG_START( toki, toki_state ) /* KOYO 20.000MHz near the cpu *
MCFG_SCREEN_UPDATE_DRIVER(toki_state, screen_update_toki)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(toki)
+ MCFG_GFXDECODE_ADD("gfxdecode", toki)
MCFG_PALETTE_LENGTH(1024)
@@ -457,7 +457,7 @@ static MACHINE_CONFIG_START( tokib, toki_state )
MCFG_SCREEN_UPDATE_DRIVER(toki_state, screen_update_tokib)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(tokib)
+ MCFG_GFXDECODE_ADD("gfxdecode", tokib)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/toobin.c b/src/mame/drivers/toobin.c
index 8da7d01f766..08295c596a3 100644
--- a/src/mame/drivers/toobin.c
+++ b/src/mame/drivers/toobin.c
@@ -211,12 +211,13 @@ static MACHINE_CONFIG_START( toobin, toobin_state )
MCFG_TILEMAP_ADD_STANDARD("playfield", 4, toobin_state, get_playfield_tile_info, 8,8, SCAN_ROWS, 128,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, toobin_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,48, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", toobin_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 640, 0, 512, 416, 0, 384)
MCFG_SCREEN_UPDATE_DRIVER(toobin_state, screen_update_toobin)
- MCFG_GFXDECODE(toobin)
+ MCFG_GFXDECODE_ADD("gfxdecode", toobin)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(toobin_state,toobin)
diff --git a/src/mame/drivers/topspeed.c b/src/mame/drivers/topspeed.c
index 33a3d929dc9..4c061af9279 100644
--- a/src/mame/drivers/topspeed.c
+++ b/src/mame/drivers/topspeed.c
@@ -622,7 +622,9 @@ static MACHINE_CONFIG_START( topspeed, topspeed_state )
MCFG_Z80CTC_ADD("ctc", XTAL_16MHz / 4, ctc_intf)
MCFG_PC080SN_ADD("pc080sn_1", pc080sn_intf)
+ MCFG_PC080SN_GFXDECODE("gfxdecode")
MCFG_PC080SN_ADD("pc080sn_2", pc080sn_intf)
+ MCFG_PC080SN_GFXDECODE("gfxdecode")
MCFG_TC0140SYT_ADD("tc0140syt", tc0140syt_intf)
MCFG_TC0220IOC_ADD("tc0220ioc", io_intf)
@@ -634,7 +636,7 @@ static MACHINE_CONFIG_START( topspeed, topspeed_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(topspeed_state, screen_update_topspeed)
- MCFG_GFXDECODE(topspeed)
+ MCFG_GFXDECODE_ADD("gfxdecode", topspeed)
MCFG_PALETTE_LENGTH(8192)
// sound hardware
diff --git a/src/mame/drivers/tourvis.c b/src/mame/drivers/tourvis.c
index 268bda8ca27..aa1c75680a7 100644
--- a/src/mame/drivers/tourvis.c
+++ b/src/mame/drivers/tourvis.c
@@ -382,7 +382,7 @@ static MACHINE_CONFIG_START( tourvision, tourvision_state )
MCFG_SCREEN_RAW_PARAMS(PCE_MAIN_CLOCK/2, VDC_WPF, 70, 70 + 512 + 32, VDC_LPF, 14, 14+242)
MCFG_SCREEN_UPDATE_STATIC( pce )
- /* MCFG_GFXDECODE( pce_gfxdecodeinfo ) */
+ /* MCFG_GFXDECODE_ADD("gfxdecode", pce_gfxdecodeinfo ) */
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT( vce )
diff --git a/src/mame/drivers/toypop.c b/src/mame/drivers/toypop.c
index 9497aa92d06..2b26de3aa40 100644
--- a/src/mame/drivers/toypop.c
+++ b/src/mame/drivers/toypop.c
@@ -566,7 +566,7 @@ static MACHINE_CONFIG_START( liblrabl, toypop_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(toypop_state, screen_update_toypop)
- MCFG_GFXDECODE(toypop)
+ MCFG_GFXDECODE_ADD("gfxdecode", toypop)
MCFG_PALETTE_LENGTH(128*4+64*4+16*2)
diff --git a/src/mame/drivers/tp84.c b/src/mame/drivers/tp84.c
index ba3671cd88a..127bfbf9d25 100644
--- a/src/mame/drivers/tp84.c
+++ b/src/mame/drivers/tp84.c
@@ -309,7 +309,7 @@ static MACHINE_CONFIG_START( tp84, tp84_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tp84_state, screen_update_tp84)
- MCFG_GFXDECODE(tp84)
+ MCFG_GFXDECODE_ADD("gfxdecode", tp84)
MCFG_PALETTE_LENGTH(4096)
diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c
index 59ca95c155d..4c31e9c6a84 100644
--- a/src/mame/drivers/trackfld.c
+++ b/src/mame/drivers/trackfld.c
@@ -909,7 +909,7 @@ static MACHINE_CONFIG_START( trackfld, trackfld_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(trackfld_state, screen_update_trackfld)
- MCFG_GFXDECODE(trackfld)
+ MCFG_GFXDECODE_ADD("gfxdecode", trackfld)
MCFG_PALETTE_LENGTH(16*16+16*16)
MCFG_PALETTE_INIT_OVERRIDE(trackfld_state,trackfld)
@@ -961,7 +961,7 @@ static MACHINE_CONFIG_START( yieartf, trackfld_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(trackfld_state, screen_update_trackfld)
- MCFG_GFXDECODE(trackfld)
+ MCFG_GFXDECODE_ADD("gfxdecode", trackfld)
MCFG_PALETTE_LENGTH(16*16+16*16)
MCFG_PALETTE_INIT_OVERRIDE(trackfld_state,trackfld)
diff --git a/src/mame/drivers/travrusa.c b/src/mame/drivers/travrusa.c
index acea799bf5f..1c98be75ae1 100644
--- a/src/mame/drivers/travrusa.c
+++ b/src/mame/drivers/travrusa.c
@@ -316,7 +316,7 @@ static MACHINE_CONFIG_START( travrusa, travrusa_state )
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(travrusa_state, screen_update_travrusa)
- MCFG_GFXDECODE(travrusa)
+ MCFG_GFXDECODE_ADD("gfxdecode", travrusa)
MCFG_PALETTE_LENGTH(16*8+16*8)
@@ -328,7 +328,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( shtrider, travrusa )
/* video hardware */
- MCFG_GFXDECODE(shtrider)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", shtrider)
MCFG_PALETTE_INIT_OVERRIDE(travrusa_state,shtrider)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/triplhnt.c b/src/mame/drivers/triplhnt.c
index b484dfcee75..26b70135da4 100644
--- a/src/mame/drivers/triplhnt.c
+++ b/src/mame/drivers/triplhnt.c
@@ -318,7 +318,7 @@ static MACHINE_CONFIG_START( triplhnt, triplhnt_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(triplhnt_state, screen_update_triplhnt)
- MCFG_GFXDECODE(triplhnt)
+ MCFG_GFXDECODE_ADD("gfxdecode", triplhnt)
MCFG_PALETTE_LENGTH(8)
/* sound hardware */
diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c
index 3a86b985d84..9631a29ac40 100644
--- a/src/mame/drivers/trucocl.c
+++ b/src/mame/drivers/trucocl.c
@@ -149,7 +149,7 @@ static MACHINE_CONFIG_START( trucocl, trucocl_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(trucocl_state, screen_update_trucocl)
- MCFG_GFXDECODE(trucocl)
+ MCFG_GFXDECODE_ADD("gfxdecode", trucocl)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c
index 0e85e74aff8..59e12eac646 100644
--- a/src/mame/drivers/trvmadns.c
+++ b/src/mame/drivers/trvmadns.c
@@ -191,7 +191,7 @@ WRITE8_MEMBER(trvmadns_state::trvmadns_banking_w)
WRITE8_MEMBER(trvmadns_state::trvmadns_gfxram_w)
{
m_gfxram[offset] = data;
- machine().gfx[0]->mark_dirty(offset/16);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/16);
}
WRITE8_MEMBER(trvmadns_state::trvmadns_palette_w)
@@ -304,7 +304,7 @@ TILE_GET_INFO_MEMBER(trvmadns_state::get_bg_tile_info)
//0x20? tile transparent pen 1?
//0x40? tile transparent pen 1?
- SET_TILE_INFO_MEMBER(0,tile,color,flag);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,flag);
tileinfo.category = (attr & 0x20)>>5;
}
@@ -315,13 +315,13 @@ void trvmadns_state::video_start()
// fg_tilemap->set_transparent_pen(1);
- machine().gfx[0]->set_source(m_gfxram);
+ m_gfxdecode->gfx(0)->set_source(m_gfxram);
}
UINT32 trvmadns_state::screen_update_trvmadns(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
int x,y,count;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
bitmap.fill(0xd, cliprect);
@@ -384,7 +384,7 @@ static MACHINE_CONFIG_START( trvmadns, trvmadns_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 31*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(trvmadns_state, screen_update_trvmadns)
- MCFG_GFXDECODE(trvmadns)
+ MCFG_GFXDECODE_ADD("gfxdecode", trvmadns)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mame/drivers/tryout.c b/src/mame/drivers/tryout.c
index 77f331bcc06..762a2f17166 100644
--- a/src/mame/drivers/tryout.c
+++ b/src/mame/drivers/tryout.c
@@ -202,7 +202,7 @@ static MACHINE_CONFIG_START( tryout, tryout_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tryout_state, screen_update_tryout)
- MCFG_GFXDECODE(tryout)
+ MCFG_GFXDECODE_ADD("gfxdecode", tryout)
MCFG_PALETTE_LENGTH(0x20)
diff --git a/src/mame/drivers/tsamurai.c b/src/mame/drivers/tsamurai.c
index 8b693b7395f..d813df7acf7 100644
--- a/src/mame/drivers/tsamurai.c
+++ b/src/mame/drivers/tsamurai.c
@@ -696,7 +696,7 @@ static MACHINE_CONFIG_START( tsamurai, tsamurai_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8)
MCFG_SCREEN_UPDATE_DRIVER(tsamurai_state, screen_update_tsamurai)
- MCFG_GFXDECODE(tsamurai)
+ MCFG_GFXDECODE_ADD("gfxdecode", tsamurai)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -736,7 +736,7 @@ static MACHINE_CONFIG_START( vsgongf, tsamurai_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8)
MCFG_SCREEN_UPDATE_DRIVER(tsamurai_state, screen_update_vsgongf)
- MCFG_GFXDECODE(tsamurai)
+ MCFG_GFXDECODE_ADD("gfxdecode", tsamurai)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
@@ -780,7 +780,7 @@ static MACHINE_CONFIG_START( m660, tsamurai_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8)
MCFG_SCREEN_UPDATE_DRIVER(tsamurai_state, screen_update_tsamurai)
- MCFG_GFXDECODE(tsamurai)
+ MCFG_GFXDECODE_ADD("gfxdecode", tsamurai)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/tugboat.c b/src/mame/drivers/tugboat.c
index dede2a0284d..78868e857c3 100644
--- a/src/mame/drivers/tugboat.c
+++ b/src/mame/drivers/tugboat.c
@@ -77,8 +77,8 @@ void tugboat_state::machine_start()
void tugboat_state::video_start()
{
- machine().gfx[0]->set_granularity(8);
- machine().gfx[2]->set_granularity(8);
+ m_gfxdecode->gfx(0)->set_granularity(8);
+ m_gfxdecode->gfx(2)->set_granularity(8);
}
/* there isn't the usual resistor array anywhere near the color prom,
@@ -149,7 +149,7 @@ void tugboat_state::draw_tilemap(bitmap_ind16 &bitmap,const rectangle &cliprect,
transpen = 1;
}
- machine().gfx[rgn]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(rgn)->transpen(bitmap,cliprect,
code,
color,
0,0,
@@ -357,7 +357,7 @@ static MACHINE_CONFIG_START( tugboat, tugboat_state )
MCFG_SCREEN_VISIBLE_AREA(1*8,31*8-1,2*8,30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(tugboat_state, screen_update_tugboat)
- MCFG_GFXDECODE(tugboat)
+ MCFG_GFXDECODE_ADD("gfxdecode", tugboat)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index bc31f726795..13f72776bb5 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -2061,8 +2061,9 @@ static MACHINE_CONFIG_START( tumblepb, tumbleb_state )
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_is_bootleg(*device, true);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(tumbleb)
+ MCFG_GFXDECODE_ADD("gfxdecode", tumbleb)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
@@ -2096,8 +2097,9 @@ static MACHINE_CONFIG_START( tumbleb2, tumbleb_state )
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_is_bootleg(*device, true);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(tumbleb)
+ MCFG_GFXDECODE_ADD("gfxdecode", tumbleb)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
@@ -2134,8 +2136,9 @@ static MACHINE_CONFIG_START( jumpkids, tumbleb_state )
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_is_bootleg(*device, true);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(tumbleb)
+ MCFG_GFXDECODE_ADD("gfxdecode", tumbleb)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
@@ -2169,8 +2172,9 @@ static MACHINE_CONFIG_START( fncywld, tumbleb_state )
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_is_bootleg(*device, true);
decospr_device::set_transpen(*device, 15);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(fncywld)
+ MCFG_GFXDECODE_ADD("gfxdecode", fncywld)
MCFG_PALETTE_LENGTH(0x800)
MCFG_VIDEO_START_OVERRIDE(tumbleb_state,fncywld)
@@ -2225,8 +2229,9 @@ static MACHINE_CONFIG_START( htchctch, tumbleb_state )
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_is_bootleg(*device, true);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(tumbleb)
+ MCFG_GFXDECODE_ADD("gfxdecode", tumbleb)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
@@ -2327,8 +2332,9 @@ static MACHINE_CONFIG_START( suprtrio, tumbleb_state )
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_is_bootleg(*device, true);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(suprtrio)
+ MCFG_GFXDECODE_ADD("gfxdecode", suprtrio)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(tumbleb_state,suprtrio)
@@ -2362,8 +2368,9 @@ static MACHINE_CONFIG_START( pangpang, tumbleb_state )
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 3);
decospr_device::set_is_bootleg(*device, true);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- MCFG_GFXDECODE(tumbleb)
+ MCFG_GFXDECODE_ADD("gfxdecode", tumbleb)
MCFG_PALETTE_LENGTH(1024)
MCFG_VIDEO_START_OVERRIDE(tumbleb_state,pangpang)
diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c
index af6da098102..14a6ae9b6c5 100644
--- a/src/mame/drivers/tumblep.c
+++ b/src/mame/drivers/tumblep.c
@@ -304,12 +304,15 @@ static MACHINE_CONFIG_START( tumblep, tumblep_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-2, 1*8, 31*8-1) // hmm
MCFG_SCREEN_UPDATE_DRIVER(tumblep_state, screen_update_tumblep)
- MCFG_GFXDECODE(tumblep)
+ MCFG_GFXDECODE_ADD("gfxdecode", tumblep)
MCFG_PALETTE_LENGTH(1024)
MCFG_DECO16IC_ADD("tilegen1", tumblep_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
+
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
decospr_device::set_gfx_region(*device, 2);
+ MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/tunhunt.c b/src/mame/drivers/tunhunt.c
index f84fb6620b9..13536241e9a 100644
--- a/src/mame/drivers/tunhunt.c
+++ b/src/mame/drivers/tunhunt.c
@@ -307,7 +307,7 @@ static MACHINE_CONFIG_START( tunhunt, tunhunt_state )
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 255-16)
MCFG_SCREEN_UPDATE_DRIVER(tunhunt_state, screen_update_tunhunt)
- MCFG_GFXDECODE(tunhunt)
+ MCFG_GFXDECODE_ADD("gfxdecode", tunhunt)
MCFG_PALETTE_LENGTH(0x1a)
diff --git a/src/mame/drivers/turbo.c b/src/mame/drivers/turbo.c
index 98fcfac174b..93137b4dc2e 100644
--- a/src/mame/drivers/turbo.c
+++ b/src/mame/drivers/turbo.c
@@ -940,7 +940,7 @@ static MACHINE_CONFIG_START( turbo, turbo_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_GFXDECODE(turbo)
+ MCFG_GFXDECODE_ADD("gfxdecode", turbo)
MCFG_PALETTE_LENGTH(256)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -969,7 +969,7 @@ static MACHINE_CONFIG_START( subroc3d, turbo_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_GFXDECODE(turbo)
+ MCFG_GFXDECODE_ADD("gfxdecode", turbo)
MCFG_PALETTE_LENGTH(256)
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1005,7 +1005,7 @@ static MACHINE_CONFIG_START( buckrog, turbo_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
- MCFG_GFXDECODE(turbo)
+ MCFG_GFXDECODE_ADD("gfxdecode", turbo)
MCFG_PALETTE_LENGTH(1024)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c
index 12bd515165a..628fc9ec8a0 100644
--- a/src/mame/drivers/twin16.c
+++ b/src/mame/drivers/twin16.c
@@ -679,7 +679,7 @@ static MACHINE_CONFIG_START( twin16, twin16_state )
MCFG_SCREEN_UPDATE_DRIVER(twin16_state, screen_update_twin16)
MCFG_SCREEN_VBLANK_DRIVER(twin16_state, screen_eof_twin16)
- MCFG_GFXDECODE(twin16)
+ MCFG_GFXDECODE_ADD("gfxdecode", twin16)
MCFG_PALETTE_LENGTH(0x400)
MCFG_VIDEO_START_OVERRIDE(twin16_state,twin16)
@@ -730,7 +730,7 @@ static MACHINE_CONFIG_START( fround, twin16_state )
MCFG_SCREEN_UPDATE_DRIVER(twin16_state, screen_update_twin16)
MCFG_SCREEN_VBLANK_DRIVER(twin16_state, screen_eof_twin16)
- MCFG_GFXDECODE(twin16)
+ MCFG_GFXDECODE_ADD("gfxdecode", twin16)
MCFG_PALETTE_LENGTH(0x400)
MCFG_VIDEO_START_OVERRIDE(twin16_state,twin16)
diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c
index 396f3ace622..d6fa5a4b78a 100644
--- a/src/mame/drivers/twincobr.c
+++ b/src/mame/drivers/twincobr.c
@@ -693,6 +693,7 @@ static MACHINE_CONFIG_START( twincobr, twincobr_state )
MCFG_MC6845_ADD("crtc", HD6845, "screen", XTAL_28MHz/8, twincobr_mc6845_intf) /* 3.5MHz measured on CLKin */
MCFG_TOAPLAN_SCU_ADD("toaplan_scu")
+ MCFG_TOAPLAN_SCU_GFXDECODE("gfxdecode")
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_BUFFERED_SPRITERAM16_ADD("spriteram16")
@@ -702,7 +703,7 @@ static MACHINE_CONFIG_START( twincobr, twincobr_state )
MCFG_SCREEN_UPDATE_DRIVER(twincobr_state, screen_update_toaplan0)
MCFG_SCREEN_VBLANK_DEVICE("spriteram16", buffered_spriteram16_device, vblank_copy_rising)
- MCFG_GFXDECODE(twincobr)
+ MCFG_GFXDECODE_ADD("gfxdecode", twincobr)
MCFG_PALETTE_LENGTH(1792)
MCFG_VIDEO_START_OVERRIDE(twincobr_state,toaplan0)
diff --git a/src/mame/drivers/uapce.c b/src/mame/drivers/uapce.c
index 3b79a1c87aa..6fa53a12798 100644
--- a/src/mame/drivers/uapce.c
+++ b/src/mame/drivers/uapce.c
@@ -324,7 +324,7 @@ static MACHINE_CONFIG_START( uapce, uapce_state )
MCFG_SCREEN_RAW_PARAMS(PCE_MAIN_CLOCK/2, VDC_WPF, 70, 70 + 512 + 32, VDC_LPF, 14, 14+242)
MCFG_SCREEN_UPDATE_STATIC( pce )
- /* MCFG_GFXDECODE( pce_gfxdecodeinfo ) */
+ /* MCFG_GFXDECODE_ADD("gfxdecode", pce_gfxdecodeinfo ) */
MCFG_PALETTE_LENGTH(1024)
MCFG_PALETTE_INIT( vce )
diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c
index db7d1b7277d..33ccac3a30b 100644
--- a/src/mame/drivers/ultraman.c
+++ b/src/mame/drivers/ultraman.c
@@ -228,11 +228,19 @@ static MACHINE_CONFIG_START( ultraman, ultraman_state )
MCFG_PALETTE_LENGTH(8192)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_K051960_ADD("k051960", ultraman_k051960_intf)
+ MCFG_K051960_GFXDECODE("gfxdecode")
+
MCFG_K051316_ADD("k051316_1", ultraman_k051316_intf_0)
+ MCFG_K051316_GFXDECODE("gfxdecode")
+
MCFG_K051316_ADD("k051316_2", ultraman_k051316_intf_1)
+ MCFG_K051316_GFXDECODE("gfxdecode")
+
MCFG_K051316_ADD("k051316_3", ultraman_k051316_intf_2)
+ MCFG_K051316_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/ultratnk.c b/src/mame/drivers/ultratnk.c
index e53122ecd89..9c3589cf4d4 100644
--- a/src/mame/drivers/ultratnk.c
+++ b/src/mame/drivers/ultratnk.c
@@ -313,7 +313,7 @@ static MACHINE_CONFIG_START( ultratnk, ultratnk_state )
MCFG_SCREEN_UPDATE_DRIVER(ultratnk_state, screen_update_ultratnk)
MCFG_SCREEN_VBLANK_DRIVER(ultratnk_state, screen_eof_ultratnk)
- MCFG_GFXDECODE(ultratnk)
+ MCFG_GFXDECODE_ADD("gfxdecode", ultratnk)
MCFG_PALETTE_LENGTH(10)
diff --git a/src/mame/drivers/umipoker.c b/src/mame/drivers/umipoker.c
index 4ee9302918f..6cf26389a45 100644
--- a/src/mame/drivers/umipoker.c
+++ b/src/mame/drivers/umipoker.c
@@ -79,7 +79,7 @@ TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_0)
int tile = m_vram_0[tile_index*2+0];
int color = m_vram_0[tile_index*2+1] & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -91,7 +91,7 @@ TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_1)
int tile = m_vram_1[tile_index*2+0];
int color = m_vram_1[tile_index*2+1] & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -103,7 +103,7 @@ TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_2)
int tile = m_vram_2[tile_index*2+0];
int color = m_vram_2[tile_index*2+1] & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -115,7 +115,7 @@ TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_3)
int tile = m_vram_3[tile_index*2+0];
int color = m_vram_3[tile_index*2+1] & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -675,7 +675,7 @@ static MACHINE_CONFIG_START( umipoker, umipoker_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, 48*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(umipoker_state, screen_update_umipoker)
- MCFG_GFXDECODE(umipoker)
+ MCFG_GFXDECODE_ADD("gfxdecode", umipoker)
MCFG_PALETTE_LENGTH(0x400)
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index 79059ff50fd..e179aa3b277 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -732,12 +732,14 @@ static MACHINE_CONFIG_START( undrfire, undrfire_state )
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(undrfire_state, screen_update_undrfire)
- MCFG_GFXDECODE(undrfire)
+ MCFG_GFXDECODE_ADD("gfxdecode", undrfire)
MCFG_PALETTE_LENGTH(16384)
MCFG_TC0100SCN_ADD("tc0100scn", undrfire_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0480SCP_ADD("tc0480scp", undrfire_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_FRAGMENT_ADD(taito_en_sound)
@@ -767,12 +769,14 @@ static MACHINE_CONFIG_START( cbombers, undrfire_state )
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(undrfire_state, screen_update_cbombers)
- MCFG_GFXDECODE(cbombers)
+ MCFG_GFXDECODE_ADD("gfxdecode", cbombers)
MCFG_PALETTE_LENGTH(16384)
MCFG_TC0100SCN_ADD("tc0100scn", undrfire_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0480SCP_ADD("tc0480scp", undrfire_tc0480scp_intf)
+ MCFG_TC0480SCP_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_FRAGMENT_ADD(taito_en_sound)
diff --git a/src/mame/drivers/unico.c b/src/mame/drivers/unico.c
index 3a2982f75b9..c62ee5d6fd1 100644
--- a/src/mame/drivers/unico.c
+++ b/src/mame/drivers/unico.c
@@ -582,7 +582,7 @@ static MACHINE_CONFIG_START( burglarx, unico_state )
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(unico_state, screen_update_unico)
- MCFG_GFXDECODE(unico)
+ MCFG_GFXDECODE_ADD("gfxdecode", unico)
MCFG_PALETTE_LENGTH(8192)
MCFG_VIDEO_START_OVERRIDE(unico_state,unico)
@@ -627,7 +627,7 @@ static MACHINE_CONFIG_START( zeropnt, unico_state )
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(unico_state, screen_update_unico)
- MCFG_GFXDECODE(unico)
+ MCFG_GFXDECODE_ADD("gfxdecode", unico)
MCFG_PALETTE_LENGTH(8192)
MCFG_VIDEO_START_OVERRIDE(unico_state,unico)
@@ -669,7 +669,7 @@ static MACHINE_CONFIG_START( zeropnt2, unico_state )
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(unico_state, screen_update_unico)
- MCFG_GFXDECODE(unico)
+ MCFG_GFXDECODE_ADD("gfxdecode", unico)
MCFG_PALETTE_LENGTH(8192)
MCFG_VIDEO_START_OVERRIDE(unico_state,unico)
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index 722abeec3e6..f5872f7abf5 100644
--- a/src/mame/drivers/usgames.c
+++ b/src/mame/drivers/usgames.c
@@ -245,7 +245,7 @@ static MACHINE_CONFIG_START( usg32, usgames_state )
MCFG_SCREEN_VISIBLE_AREA(7*8, 57*8-1, 0*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(usgames_state, screen_update_usgames)
- MCFG_GFXDECODE(usgames)
+ MCFG_GFXDECODE_ADD("gfxdecode", usgames)
MCFG_PALETTE_LENGTH(2*256)
diff --git a/src/mame/drivers/vamphalf.c b/src/mame/drivers/vamphalf.c
index 666ae107953..ef9dbfc0775 100644
--- a/src/mame/drivers/vamphalf.c
+++ b/src/mame/drivers/vamphalf.c
@@ -586,7 +586,7 @@ Offset+3
static void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap)
{
vamphalf_state *state = screen.machine().driver_data<vamphalf_state>();
- gfx_element *gfx = screen.machine().gfx[0];
+ gfx_element *gfx = state->m_gfxdecode->gfx(0);
UINT32 cnt;
int block, offs;
int code,color,x,y,fx,fy;
@@ -672,7 +672,7 @@ static void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap)
static void draw_sprites_aoh(screen_device &screen, bitmap_ind16 &bitmap)
{
vamphalf_state *state = screen.machine().driver_data<vamphalf_state>();
- gfx_element *gfx = screen.machine().gfx[0];
+ gfx_element *gfx = state->m_gfxdecode->gfx(0);
UINT32 cnt;
int block, offs;
int code,color,x,y,fx,fy;
@@ -996,7 +996,7 @@ static MACHINE_CONFIG_START( common, vamphalf_state )
MCFG_SCREEN_UPDATE_DRIVER(vamphalf_state, screen_update_common)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_GFXDECODE(vamphalf)
+ MCFG_GFXDECODE_ADD("gfxdecode", vamphalf)
MACHINE_CONFIG_END
static MACHINE_CONFIG_FRAGMENT( sound_ym_oki )
@@ -1127,7 +1127,7 @@ static MACHINE_CONFIG_START( aoh, vamphalf_state )
MCFG_SCREEN_UPDATE_DRIVER(vamphalf_state, screen_update_aoh)
MCFG_PALETTE_LENGTH(0x8000)
- MCFG_GFXDECODE(vamphalf)
+ MCFG_GFXDECODE_ADD("gfxdecode", vamphalf)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
diff --git a/src/mame/drivers/vaportra.c b/src/mame/drivers/vaportra.c
index 22b826f35ac..6f19b786aa9 100644
--- a/src/mame/drivers/vaportra.c
+++ b/src/mame/drivers/vaportra.c
@@ -255,16 +255,19 @@ static MACHINE_CONFIG_START( vaportra, vaportra_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_DRIVER(vaportra_state, screen_update_vaportra)
- MCFG_GFXDECODE(vaportra)
+ MCFG_GFXDECODE_ADD("gfxdecode", vaportra)
MCFG_PALETTE_LENGTH(1280)
MCFG_DECO16IC_ADD("tilegen1", vaportra_deco16ic_tilegen1_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DECO16IC_ADD("tilegen2", vaportra_deco16ic_tilegen2_intf)
+ MCFG_DECO16IC_GFXDECODE("gfxdecode")
MCFG_DEVICE_ADD("spritegen", DECO_MXC06, 0)
deco_mxc06_device::set_gfx_region(*device, 4);
+ MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c
index be19080b2a8..be3eff79e09 100644
--- a/src/mame/drivers/vastar.c
+++ b/src/mame/drivers/vastar.c
@@ -443,7 +443,7 @@ static MACHINE_CONFIG_START( vastar, vastar_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(vastar_state, screen_update_vastar)
- MCFG_GFXDECODE(vastar)
+ MCFG_GFXDECODE_ADD("gfxdecode", vastar)
MCFG_PALETTE_LENGTH(256)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, RRRR_GGGG_BBBB)
diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c
index cf25090eb71..7b700a682ba 100644
--- a/src/mame/drivers/vball.c
+++ b/src/mame/drivers/vball.c
@@ -409,7 +409,7 @@ static MACHINE_CONFIG_START( vball, vball_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 8, 248) /* based on ddragon driver */
MCFG_SCREEN_UPDATE_DRIVER(vball_state, screen_update_vb)
- MCFG_GFXDECODE(vb)
+ MCFG_GFXDECODE_ADD("gfxdecode", vb)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/vega.c b/src/mame/drivers/vega.c
index 23d08a46271..a110fbed2ab 100644
--- a/src/mame/drivers/vega.c
+++ b/src/mame/drivers/vega.c
@@ -529,7 +529,7 @@ static void draw_tilemap(vega_state *state, screen_device& screen, bitmap_ind16&
{
//for(int x=0;x<4;++x)
{
- screen.machine().gfx[1]->transpen(bitmap,cliprect, num, 0, 1,flip?1:0, x*4+x0-offset_x, (flip?(3-y):y)*8+y0-offset_y, 0);
+ state->m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, num, 0, 1,flip?1:0, x*4+x0-offset_x, (flip?(3-y):y)*8+y0-offset_y, 0);
++num;
}
}
@@ -578,7 +578,7 @@ UINT32 vega_state::screen_update_vega(screen_device &screen, bitmap_ind16 &bitma
// if(color==0) color=0xf;
- machine().gfx[0]->transpen(bitmap,cliprect, character, color, 0, 0, x*7, y*10,0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, character, color, 0, 0, x*7, y*10,0);
++idx;
}
@@ -599,7 +599,7 @@ UINT32 vega_state::screen_update_vega(screen_device &screen, bitmap_ind16 &bitma
{
//for(int x=0;x<4;++x)
{
- machine().gfx[2]->transpen(bitmap,cliprect, num, 0, 1, flip?1:0, x*4+x0, (flip?(3-y):y)*8+y0, 0);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, num, 0, 1, flip?1:0, x*4+x0, (flip?(3-y):y)*8+y0, 0);
++num;
}
}
@@ -639,7 +639,7 @@ UINT32 vega_state::screen_update_vega(screen_device &screen, bitmap_ind16 &bitma
for(int y=0;y<4;++y)
{
- machine().gfx[3]->transpen(bitmap,cliprect, strip_num, 0, !xor_line, 0, x*4+x0, y*8+y0, 0);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, strip_num, 0, !xor_line, 0, x*4+x0, y*8+y0, 0);
++strip_num;
}
}
@@ -847,12 +847,11 @@ static MACHINE_CONFIG_START( vega, vega_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0*8, 280, 0*8, 239)
+ MCFG_SCREEN_UPDATE_DRIVER(vega_state, screen_update_vega)
MCFG_PALETTE_LENGTH(0x100)
- MCFG_GFXDECODE(test_decode)
-
- MCFG_SCREEN_UPDATE_DRIVER(vega_state, screen_update_vega)
+ MCFG_GFXDECODE_ADD("gfxdecode", test_decode)
/* sound hardware */
diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c
index 35d97bfe2f2..510b181491a 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -501,8 +501,11 @@ static MACHINE_CONFIG_START( vendetta, vendetta_state )
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", vendetta_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053246_ADD("k053246", vendetta_k053246_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
MCFG_K054000_ADD("k054000")
@@ -532,8 +535,10 @@ static MACHINE_CONFIG_DERIVED( esckids, vendetta )
MCFG_DEVICE_REMOVE("k054000")
MCFG_DEVICE_REMOVE("k052109")
MCFG_K052109_ADD("k052109", esckids_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_DEVICE_REMOVE("k053246")
MCFG_K053246_ADD("k053246", esckids_k053246_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K053252_ADD("k053252", 6000000, esckids_k053252_intf)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c
index e5e78e22997..448a2ce34db 100644
--- a/src/mame/drivers/videopin.c
+++ b/src/mame/drivers/videopin.c
@@ -342,7 +342,7 @@ static MACHINE_CONFIG_START( videopin, videopin_state )
MCFG_SCREEN_VISIBLE_AREA(0, 303, 0, 255)
MCFG_SCREEN_UPDATE_DRIVER(videopin_state, screen_update_videopin)
- MCFG_GFXDECODE(videopin)
+ MCFG_GFXDECODE_ADD("gfxdecode", videopin)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mame/drivers/videopkr.c b/src/mame/drivers/videopkr.c
index 5a60559873a..462dc23b2ec 100644
--- a/src/mame/drivers/videopkr.c
+++ b/src/mame/drivers/videopkr.c
@@ -513,7 +513,7 @@ TILE_GET_INFO_MEMBER(videopkr_state::get_bg_tile_info)
int attr = m_color_ram[offs] + ioport("IN2")->read(); /* Color Switch Action */
int code = m_video_ram[offs];
int color = attr;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -1261,7 +1261,7 @@ static MACHINE_CONFIG_START( videopkr, videopkr_state )
MCFG_SCREEN_VBLANK_TIME(2080)
MCFG_SCREEN_UPDATE_DRIVER(videopkr_state, screen_update_videopkr)
- MCFG_GFXDECODE(videopkr)
+ MCFG_GFXDECODE_ADD("gfxdecode", videopkr)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
@@ -1293,7 +1293,7 @@ static MACHINE_CONFIG_DERIVED( videodad, videopkr )
MCFG_SCREEN_SIZE(32*16, 32*8)
MCFG_SCREEN_VISIBLE_AREA(4*16, 31*16-1, 2*8, 30*8-1)
- MCFG_GFXDECODE(videodad)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", videodad)
MCFG_VIDEO_START_OVERRIDE(videopkr_state,vidadcba)
MACHINE_CONFIG_END
@@ -1314,7 +1314,7 @@ static MACHINE_CONFIG_DERIVED( babypkr, videopkr )
MCFG_SCREEN_VISIBLE_AREA(5*16, 31*16-1, 3*8, 29*8-1)
MCFG_PALETTE_INIT_OVERRIDE(videopkr_state,babypkr)
- MCFG_GFXDECODE(videodad)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", videodad)
MCFG_VIDEO_START_OVERRIDE(videopkr_state,vidadcba)
MCFG_SOUND_ADD("aysnd", AY8910, CPU_CLOCK / 6)
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index f5b5e0bc673..c590edeab66 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -489,7 +489,7 @@ static MACHINE_CONFIG_START( vigilant, vigilant_state )
MCFG_SCREEN_VISIBLE_AREA(16*8, (64-16)*8-1, 0*8, 32*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(vigilant_state, screen_update_vigilant)
- MCFG_GFXDECODE(vigilant)
+ MCFG_GFXDECODE_ADD("gfxdecode", vigilant)
MCFG_PALETTE_LENGTH(512+32) /* 512 real palette, 32 virtual palette */
@@ -529,7 +529,7 @@ static MACHINE_CONFIG_START( buccanrs, vigilant_state )
MCFG_SCREEN_VISIBLE_AREA(16*8, (64-16)*8-1, 0*8, 32*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(vigilant_state, screen_update_vigilant)
- MCFG_GFXDECODE(buccanrs)
+ MCFG_GFXDECODE_ADD("gfxdecode", buccanrs)
MCFG_PALETTE_LENGTH(512+32) /* 512 real palette, 32 virtual palette */
@@ -586,7 +586,7 @@ static MACHINE_CONFIG_START( kikcubic, vigilant_state )
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 0*8, 32*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(vigilant_state, screen_update_kikcubic)
- MCFG_GFXDECODE(kikcubic)
+ MCFG_GFXDECODE_ADD("gfxdecode", kikcubic)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/vindictr.c b/src/mame/drivers/vindictr.c
index 2f839ec86e8..defef0cc49c 100644
--- a/src/mame/drivers/vindictr.c
+++ b/src/mame/drivers/vindictr.c
@@ -190,12 +190,13 @@ static MACHINE_CONFIG_START( vindictr, vindictr_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(vindictr)
+ MCFG_GFXDECODE_ADD("gfxdecode", vindictr)
MCFG_PALETTE_LENGTH(2048*8)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, vindictr_state, get_playfield_tile_info, 8,8, SCAN_COLS, 64,64)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, vindictr_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", vindictr_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/vlc.c b/src/mame/drivers/vlc.c
index 81206ecdd6b..ebf2d33f1f1 100644
--- a/src/mame/drivers/vlc.c
+++ b/src/mame/drivers/vlc.c
@@ -286,7 +286,7 @@ static TILE_GET_INFO_MEMBER( nevada_state::get_bg_tile_info )
int bank = (attr & 0x02) >> 1;
int color = (attr & 0x3c) >> 2;
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
*/
@@ -629,7 +629,7 @@ static MACHINE_CONFIG_START( nevada, nevada_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 31*8-1, 0*8, 31*8-1) /* From MC6845 init, registers 01 & 06. */
MCFG_SCREEN_UPDATE_DRIVER(nevada_state, screen_update_nevada)
- MCFG_GFXDECODE(nevada)
+ MCFG_GFXDECODE_ADD("gfxdecode", nevada)
MCFG_PALETTE_LENGTH(256)
MCFG_MC6845_ADD("crtc", MC6845, "screen", MC6845_CLOCK, mc6845_intf)
diff --git a/src/mame/drivers/volfied.c b/src/mame/drivers/volfied.c
index b4afbc3337d..1d78d909c4a 100644
--- a/src/mame/drivers/volfied.c
+++ b/src/mame/drivers/volfied.c
@@ -266,12 +266,13 @@ static MACHINE_CONFIG_START( volfied, volfied_state )
MCFG_SCREEN_VISIBLE_AREA(0, 319, 8, 247)
MCFG_SCREEN_UPDATE_DRIVER(volfied_state, screen_update_volfied)
- MCFG_GFXDECODE(volfied)
+ MCFG_GFXDECODE_ADD("gfxdecode", volfied)
MCFG_PALETTE_LENGTH(8192)
MCFG_PC090OJ_ADD("pc090oj", volfied_pc090oj_intf)
-
+ MCFG_PC090OJ_GFXDECODE("gfxdecode")
+
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/vpoker.c b/src/mame/drivers/vpoker.c
index 388159423ac..81ad48dfe31 100644
--- a/src/mame/drivers/vpoker.c
+++ b/src/mame/drivers/vpoker.c
@@ -141,7 +141,7 @@ void vpoker_state::video_start()
UINT32 vpoker_state::screen_update_vpoker(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
UINT8 *videoram = m_videoram;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int count = 0x0000;
int y,x;
@@ -671,7 +671,7 @@ static MACHINE_CONFIG_START( vpoker, vpoker_state )
// MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0*8, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(vpoker_state, screen_update_vpoker)
- MCFG_GFXDECODE(vpoker)
+ MCFG_GFXDECODE_ADD("gfxdecode", vpoker)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/drivers/vroulet.c b/src/mame/drivers/vroulet.c
index 7f392798c01..297255fceb7 100644
--- a/src/mame/drivers/vroulet.c
+++ b/src/mame/drivers/vroulet.c
@@ -109,7 +109,7 @@ TILE_GET_INFO_MEMBER(vroulet_state::get_bg_tile_info)
int code = m_videoram[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x1f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void vroulet_state::video_start()
@@ -121,7 +121,7 @@ void vroulet_state::video_start()
UINT32 vroulet_state::screen_update_vroulet(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- machine().gfx[0]->transpen(bitmap,cliprect, 0x320, 1, 0, 0,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, 0x320, 1, 0, 0,
m_ball[1], m_ball[0] - 12, 0);
return 0;
}
@@ -306,7 +306,7 @@ static MACHINE_CONFIG_START( vroulet, vroulet_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(vroulet_state, screen_update_vroulet)
- MCFG_GFXDECODE(vroulet)
+ MCFG_GFXDECODE_ADD("gfxdecode", vroulet)
MCFG_PALETTE_LENGTH(128*4)
diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c
index 720ab165105..d198a0c4d05 100644
--- a/src/mame/drivers/vulgus.c
+++ b/src/mame/drivers/vulgus.c
@@ -227,7 +227,7 @@ static MACHINE_CONFIG_START( vulgus, vulgus_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(vulgus_state, screen_update_vulgus)
- MCFG_GFXDECODE(vulgus)
+ MCFG_GFXDECODE_ADD("gfxdecode", vulgus)
MCFG_PALETTE_LENGTH(64*4+16*16+4*32*8)
diff --git a/src/mame/drivers/wallc.c b/src/mame/drivers/wallc.c
index 2e38a836fb8..83187e8ec73 100644
--- a/src/mame/drivers/wallc.c
+++ b/src/mame/drivers/wallc.c
@@ -149,7 +149,7 @@ WRITE8_MEMBER(wallc_state::wallc_videoram_w)
TILE_GET_INFO_MEMBER(wallc_state::get_bg_tile_info)
{
UINT8 *videoram = m_videoram;
- SET_TILE_INFO_MEMBER(0, videoram[tile_index] + 0x100, 1, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, videoram[tile_index] + 0x100, 1, 0);
}
void wallc_state::video_start()
@@ -315,7 +315,7 @@ static MACHINE_CONFIG_START( wallc, wallc_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(wallc_state, screen_update_wallc)
- MCFG_GFXDECODE(wallc)
+ MCFG_GFXDECODE_ADD("gfxdecode", wallc)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c
index 71b3b96b277..0048690cf44 100644
--- a/src/mame/drivers/wardner.c
+++ b/src/mame/drivers/wardner.c
@@ -406,6 +406,7 @@ static MACHINE_CONFIG_START( wardner, wardner_state )
MCFG_MC6845_ADD("crtc", HD6845, "screen", XTAL_14MHz/4, twincobr_mc6845_intf) /* 3.5MHz measured on CLKin */
MCFG_TOAPLAN_SCU_ADD("toaplan_scu")
+ MCFG_TOAPLAN_SCU_GFXDECODE("gfxdecode")
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
MCFG_BUFFERED_SPRITERAM8_ADD("spriteram8")
@@ -415,7 +416,7 @@ static MACHINE_CONFIG_START( wardner, wardner_state )
MCFG_SCREEN_UPDATE_DRIVER(wardner_state, screen_update_toaplan0)
MCFG_SCREEN_VBLANK_DEVICE("spriteram8", buffered_spriteram8_device, vblank_copy_rising)
- MCFG_GFXDECODE(wardner)
+ MCFG_GFXDECODE_ADD("gfxdecode", wardner)
MCFG_PALETTE_LENGTH(1792)
MCFG_VIDEO_START_OVERRIDE(wardner_state,toaplan0)
diff --git a/src/mame/drivers/warpsped.c b/src/mame/drivers/warpsped.c
index 59839bc7a2e..5932a895876 100644
--- a/src/mame/drivers/warpsped.c
+++ b/src/mame/drivers/warpsped.c
@@ -119,7 +119,7 @@ WRITE8_MEMBER(warpspeed_state::warpspeed_hardware_w)
TILE_GET_INFO_MEMBER(warpspeed_state::get_warpspeed_text_tile_info)
{
UINT8 code = m_videoram[tile_index] & 0x3f;
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
TILE_GET_INFO_MEMBER(warpspeed_state::get_warpspeed_starfield_tile_info)
@@ -129,7 +129,7 @@ TILE_GET_INFO_MEMBER(warpspeed_state::get_warpspeed_starfield_tile_info)
{
code = memregion("starfield")->base()[tile_index >> 1] & 0x3f;
}
- SET_TILE_INFO_MEMBER(1, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, 0);
}
WRITE8_MEMBER(warpspeed_state::warpspeed_vidram_w)
@@ -319,7 +319,7 @@ static MACHINE_CONFIG_START( warpspeed, warpspeed_state )
MCFG_SCREEN_UPDATE_DRIVER(warpspeed_state, screen_update_warpspeed)
- MCFG_GFXDECODE(warpspeed)
+ MCFG_GFXDECODE_ADD("gfxdecode", warpspeed)
MCFG_PALETTE_LENGTH(2+8)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/warpwarp.c b/src/mame/drivers/warpwarp.c
index 19651af1c6d..b53209f6cab 100644
--- a/src/mame/drivers/warpwarp.c
+++ b/src/mame/drivers/warpwarp.c
@@ -733,7 +733,7 @@ static MACHINE_CONFIG_START( geebee, warpwarp_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 384, 0, 272, 264, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(warpwarp_state, screen_update_geebee)
- MCFG_GFXDECODE(1k)
+ MCFG_GFXDECODE_ADD("gfxdecode", 1k)
MCFG_PALETTE_LENGTH(4*2)
MCFG_PALETTE_INIT_OVERRIDE(warpwarp_state,geebee)
@@ -749,7 +749,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( navarone, geebee )
/* basic machine hardware */
- MCFG_GFXDECODE(2k)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", 2k)
MCFG_PALETTE_LENGTH(2*2)
MCFG_PALETTE_INIT_OVERRIDE(warpwarp_state,navarone)
@@ -768,7 +768,7 @@ static MACHINE_CONFIG_START( bombbee, warpwarp_state )
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 384, 0, 272, 264, 0, 224)
MCFG_SCREEN_UPDATE_DRIVER(warpwarp_state, screen_update_geebee)
- MCFG_GFXDECODE(color)
+ MCFG_GFXDECODE_ADD("gfxdecode", color)
MCFG_PALETTE_LENGTH(2*256+1)
MCFG_PALETTE_INIT_OVERRIDE(warpwarp_state,warpwarp)
diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c
index 67a6b66d25d..40e8607980f 100644
--- a/src/mame/drivers/warriorb.c
+++ b/src/mame/drivers/warriorb.c
@@ -519,7 +519,7 @@ static MACHINE_CONFIG_START( darius2d, warriorb_state )
MCFG_TC0220IOC_ADD("tc0220ioc", darius2d_io_intf)
/* video hardware */
- MCFG_GFXDECODE(warriorb)
+ MCFG_GFXDECODE_ADD("gfxdecode", warriorb)
MCFG_PALETTE_LENGTH(4096*2)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
@@ -539,7 +539,9 @@ static MACHINE_CONFIG_START( darius2d, warriorb_state )
MCFG_TC0100SCN_ADD("tc0100scn_1", darius2d_tc0100scn_intf_l)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_2", darius2d_tc0100scn_intf_r)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr_1", darius2d_tc0110pcr_intf_l)
MCFG_TC0110PCR_ADD("tc0110pcr_2", darius2d_tc0110pcr_intf_r)
@@ -582,7 +584,7 @@ static MACHINE_CONFIG_START( warriorb, warriorb_state )
MCFG_TC0510NIO_ADD("tc0510nio", warriorb_io_intf)
/* video hardware */
- MCFG_GFXDECODE(warriorb)
+ MCFG_GFXDECODE_ADD("gfxdecode", warriorb)
MCFG_PALETTE_LENGTH(4096*2)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
@@ -602,7 +604,9 @@ static MACHINE_CONFIG_START( warriorb, warriorb_state )
MCFG_TC0100SCN_ADD("tc0100scn_1", warriorb_tc0100scn_intf_l)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_2", warriorb_tc0100scn_intf_r)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr_1", darius2d_tc0110pcr_intf_l)
MCFG_TC0110PCR_ADD("tc0110pcr_2", darius2d_tc0110pcr_intf_r)
diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c
index 4c2f81992f0..095cf1fb315 100644
--- a/src/mame/drivers/wc90.c
+++ b/src/mame/drivers/wc90.c
@@ -325,7 +325,7 @@ static MACHINE_CONFIG_START( wc90, wc90_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(wc90_state, screen_update_wc90)
- MCFG_GFXDECODE(wc90)
+ MCFG_GFXDECODE_ADD("gfxdecode", wc90)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c
index c757b3613e1..533097ec70a 100644
--- a/src/mame/drivers/wc90b.c
+++ b/src/mame/drivers/wc90b.c
@@ -377,7 +377,7 @@ static MACHINE_CONFIG_START( wc90b, wc90b_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(wc90b_state, screen_update_wc90b)
- MCFG_GFXDECODE(wc90b)
+ MCFG_GFXDECODE_ADD("gfxdecode", wc90b)
MCFG_PALETTE_LENGTH(1024)
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index 1918d89ccf0..fba161d4fea 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -1064,7 +1064,7 @@ static MACHINE_CONFIG_START( wecleman, wecleman_state )
MCFG_SCREEN_VISIBLE_AREA(0 +8, 320-1 +8, 0 +8, 224-1 +8)
MCFG_SCREEN_UPDATE_DRIVER(wecleman_state, screen_update_wecleman)
- MCFG_GFXDECODE(wecleman)
+ MCFG_GFXDECODE_ADD("gfxdecode", wecleman)
MCFG_PALETTE_LENGTH(2048)
@@ -1148,13 +1148,16 @@ static MACHINE_CONFIG_START( hotchase, wecleman_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(wecleman_state, screen_update_hotchase)
- MCFG_GFXDECODE(hotchase)
+ MCFG_GFXDECODE_ADD("gfxdecode", hotchase)
MCFG_PALETTE_LENGTH(2048*2)
MCFG_VIDEO_START_OVERRIDE(wecleman_state,hotchase)
MCFG_K051316_ADD("k051316_1", hotchase_k051316_intf_0)
+ MCFG_K051316_GFXDECODE("gfxdecode")
+
MCFG_K051316_ADD("k051316_2", hotchase_k051316_intf_1)
+ MCFG_K051316_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/welltris.c b/src/mame/drivers/welltris.c
index 5f1f2cf095d..9f42b9bb327 100644
--- a/src/mame/drivers/welltris.c
+++ b/src/mame/drivers/welltris.c
@@ -713,12 +713,13 @@ static MACHINE_CONFIG_START( welltris, welltris_state )
MCFG_SCREEN_VISIBLE_AREA(15, 367-1, 8, 248-1)
MCFG_SCREEN_UPDATE_DRIVER(welltris_state, screen_update_welltris)
- MCFG_GFXDECODE(welltris)
+ MCFG_GFXDECODE_ADD("gfxdecode", welltris)
MCFG_PALETTE_LENGTH(2048)
MCFG_DEVICE_ADD("vsystem_spr_old", VSYSTEM_SPR2, 0)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(1)
MCFG_VSYSTEM_SPR2_SET_PRITYPE(-1)
+ MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -738,7 +739,7 @@ static MACHINE_CONFIG_DERIVED( quiz18k, welltris )
MCFG_SCREEN_VISIBLE_AREA(15, 335-1, 0, 224-1)
MCFG_DEVICE_MODIFY("vsystem_spr_old")
- MCFG_VSYSTEM_SPR2_SET_OFFSETS(6, 1)
+ MCFG_VSYSTEM_SPR2_SET_OFFSETS(6, 1)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c
index a8ceb1a2a3d..5c2f15201f5 100644
--- a/src/mame/drivers/wgp.c
+++ b/src/mame/drivers/wgp.c
@@ -989,11 +989,12 @@ static MACHINE_CONFIG_START( wgp, wgp_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(wgp_state, screen_update_wgp)
- MCFG_GFXDECODE(wgp)
+ MCFG_GFXDECODE_ADD("gfxdecode", wgp)
MCFG_PALETTE_LENGTH(4096)
MCFG_TC0100SCN_ADD("tc0100scn", wgp_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -1017,6 +1018,7 @@ static MACHINE_CONFIG_DERIVED( wgp2, wgp )
MCFG_DEVICE_REMOVE("tc0100scn")
MCFG_TC0100SCN_ADD("tc0100scn", wgp2_tc0100scn_intf)
+ MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/williams.c b/src/mame/drivers/williams.c
index 9a9090cc16d..fa9c24aa7a2 100644
--- a/src/mame/drivers/williams.c
+++ b/src/mame/drivers/williams.c
@@ -1674,7 +1674,7 @@ static MACHINE_CONFIG_START( williams2, williams_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE | VIDEO_ALWAYS_UPDATE)
MCFG_PALETTE_LENGTH(1024)
- MCFG_GFXDECODE(williams2)
+ MCFG_GFXDECODE_ADD("gfxdecode", williams2)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK*2/3, 512, 8, 284, 260, 8, 248)
diff --git a/src/mame/drivers/wink.c b/src/mame/drivers/wink.c
index 115ea580e15..d1a7b1d0987 100644
--- a/src/mame/drivers/wink.c
+++ b/src/mame/drivers/wink.c
@@ -63,7 +63,7 @@ TILE_GET_INFO_MEMBER(wink_state::get_bg_tile_info)
code |= 0x100;
}
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
void wink_state::video_start()
@@ -366,7 +366,7 @@ static MACHINE_CONFIG_START( wink, wink_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(wink_state, screen_update_wink)
- MCFG_GFXDECODE(wink)
+ MCFG_GFXDECODE_ADD("gfxdecode", wink)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mame/drivers/wiping.c b/src/mame/drivers/wiping.c
index e01857ef17c..bb54f746aa5 100644
--- a/src/mame/drivers/wiping.c
+++ b/src/mame/drivers/wiping.c
@@ -293,7 +293,7 @@ static MACHINE_CONFIG_START( wiping, wiping_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(wiping_state, screen_update_wiping)
- MCFG_GFXDECODE(wiping)
+ MCFG_GFXDECODE_ADD("gfxdecode", wiping)
MCFG_PALETTE_LENGTH(64*4+64*4)
diff --git a/src/mame/drivers/witch.c b/src/mame/drivers/witch.c
index 1dc1b944bd7..5d8e9ca2bac 100644
--- a/src/mame/drivers/witch.c
+++ b/src/mame/drivers/witch.c
@@ -293,7 +293,7 @@ TILE_GET_INFO_MEMBER(witch_state::get_gfx0b_tile_info)
code=0;
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,//tiles beyond 0x7ff only for sprites?
color & 0x0f,
@@ -312,7 +312,7 @@ TILE_GET_INFO_MEMBER(witch_state::get_gfx0a_tile_info)
code=0;
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,//tiles beyond 0x7ff only for sprites?
color & 0x0f,
@@ -324,7 +324,7 @@ TILE_GET_INFO_MEMBER(witch_state::get_gfx1_tile_info)
int code = m_gfx1_vram[tile_index];
int color = m_gfx1_cram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code | ((color & 0xf0) << 4),
(color>>0) & 0x0f,
@@ -776,22 +776,22 @@ void witch_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
color = flags & 0x0f;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tileno, color,
flipx, flipy,
sx+8*flipx,sy+8*flipy,0);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tileno+1, color,
flipx, flipy,
sx+8-8*flipx,sy+8*flipy,0);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tileno+2, color,
flipx, flipy,
sx+8*flipx,sy+8-8*flipy,0);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tileno+3, color,
flipx, flipy,
sx+8-8*flipx,sy+8-8*flipy,0);
@@ -846,7 +846,7 @@ static MACHINE_CONFIG_START( witch, witch_state )
MCFG_SCREEN_VISIBLE_AREA(8, 256-1-8, 8*4, 256-8*4-1)
MCFG_SCREEN_UPDATE_DRIVER(witch_state, screen_update_witch)
- MCFG_GFXDECODE(witch)
+ MCFG_GFXDECODE_ADD("gfxdecode", witch)
MCFG_PALETTE_LENGTH(0x800)
diff --git a/src/mame/drivers/wiz.c b/src/mame/drivers/wiz.c
index 9730496ad64..77bfe6f109f 100644
--- a/src/mame/drivers/wiz.c
+++ b/src/mame/drivers/wiz.c
@@ -729,7 +729,7 @@ static MACHINE_CONFIG_START( wiz, wiz_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(wiz_state, screen_update_wiz)
- MCFG_GFXDECODE(wiz)
+ MCFG_GFXDECODE_ADD("gfxdecode", wiz)
MCFG_PALETTE_LENGTH(256)
@@ -755,7 +755,7 @@ static MACHINE_CONFIG_DERIVED( stinger, wiz )
MCFG_CPU_PROGRAM_MAP(stinger_sound_map)
/* video hardware */
- MCFG_GFXDECODE(stinger)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", stinger)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(wiz_state, screen_update_stinger)
@@ -784,7 +784,7 @@ static MACHINE_CONFIG_DERIVED( kungfut, wiz )
/* basic machine hardware */
/* video hardware */
- MCFG_GFXDECODE(stinger)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", stinger)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(wiz_state, screen_update_kungfut)
diff --git a/src/mame/drivers/wolfpack.c b/src/mame/drivers/wolfpack.c
index 5e7fa1277cd..35c1edee69d 100644
--- a/src/mame/drivers/wolfpack.c
+++ b/src/mame/drivers/wolfpack.c
@@ -313,7 +313,7 @@ static MACHINE_CONFIG_START( wolfpack, wolfpack_state )
MCFG_SCREEN_UPDATE_DRIVER(wolfpack_state, screen_update_wolfpack)
MCFG_SCREEN_VBLANK_DRIVER(wolfpack_state, screen_eof_wolfpack)
- MCFG_GFXDECODE(wolfpack)
+ MCFG_GFXDECODE_ADD("gfxdecode", wolfpack)
MCFG_PALETTE_LENGTH(12)
/* sound hardware */
diff --git a/src/mame/drivers/wrally.c b/src/mame/drivers/wrally.c
index c5d80d9fc17..803f196add9 100644
--- a/src/mame/drivers/wrally.c
+++ b/src/mame/drivers/wrally.c
@@ -257,7 +257,7 @@ static MACHINE_CONFIG_START( wrally, wrally_state )
MCFG_SCREEN_VISIBLE_AREA(8, 24*16-8-1, 16, 16*16-8-1)
MCFG_SCREEN_UPDATE_DRIVER(wrally_state, screen_update_wrally)
- MCFG_GFXDECODE(wrally)
+ MCFG_GFXDECODE_ADD("gfxdecode", wrally)
MCFG_PALETTE_LENGTH(1024*8)
diff --git a/src/mame/drivers/wwfsstar.c b/src/mame/drivers/wwfsstar.c
index b19b7ab1085..8f6092f9185 100644
--- a/src/mame/drivers/wwfsstar.c
+++ b/src/mame/drivers/wwfsstar.c
@@ -426,7 +426,7 @@ static MACHINE_CONFIG_START( wwfsstar, wwfsstar_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 320, 0, 256, 272, 8, 248) /* HTOTAL and VTOTAL are guessed */
MCFG_SCREEN_UPDATE_DRIVER(wwfsstar_state, screen_update_wwfsstar)
- MCFG_GFXDECODE(wwfsstar)
+ MCFG_GFXDECODE_ADD("gfxdecode", wwfsstar)
MCFG_PALETTE_LENGTH(384)
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index 3fd0fd8117f..81fb27a3fe5 100644
--- a/src/mame/drivers/xain.c
+++ b/src/mame/drivers/xain.c
@@ -594,7 +594,7 @@ static MACHINE_CONFIG_START( xsleena, xain_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 8, 248) /* based on ddragon driver */
MCFG_SCREEN_UPDATE_DRIVER(xain_state, screen_update_xain)
- MCFG_GFXDECODE(xain)
+ MCFG_GFXDECODE_ADD("gfxdecode", xain)
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index b2d751f3c30..a48737e2c4f 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -568,9 +568,11 @@ static MACHINE_CONFIG_START( xexex, xexex_state )
MCFG_PALETTE_LENGTH(2048)
-
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K056832_ADD("k056832", xexex_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K053246_ADD("k053246", xexex_k053246_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K053250_ADD("k053250", "screen", -5, -16)
MCFG_K053251_ADD("k053251")
MCFG_K053252_ADD("k053252", XTAL_32MHz/4, xexex_k053252_intf)
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index eaadc8adff0..06bebdc71e8 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -362,8 +362,11 @@ static MACHINE_CONFIG_START( xmen, xmen_state )
MCFG_SCREEN_UPDATE_DRIVER(xmen_state, screen_update_xmen)
MCFG_PALETTE_LENGTH(2048)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", xmen_k052109_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
MCFG_K053246_ADD("k053246", xmen_k053246_intf)
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
@@ -422,9 +425,12 @@ static MACHINE_CONFIG_START( xmen6p, xmen_state )
MCFG_VIDEO_START_OVERRIDE(xmen_state,xmen6p)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_K052109_ADD("k052109", xmen_k052109_intf)
- MCFG_K053246_ADD("k053246", xmen6p_k053246_intf)
+ MCFG_K052109_GFXDECODE("gfxdecode")
+ MCFG_K053246_ADD("k053246", xmen6p_k053246_intf)
MCFG_K053246_SET_SCREEN("screen")
+ MCFG_K053246_GFXDECODE("gfxdecode")
MCFG_K053251_ADD("k053251")
/* sound hardware */
diff --git a/src/mame/drivers/xorworld.c b/src/mame/drivers/xorworld.c
index c7ddce6d3f1..e6c007875d6 100644
--- a/src/mame/drivers/xorworld.c
+++ b/src/mame/drivers/xorworld.c
@@ -184,7 +184,7 @@ static MACHINE_CONFIG_START( xorworld, xorworld_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(xorworld_state, screen_update_xorworld)
- MCFG_GFXDECODE(xorworld)
+ MCFG_GFXDECODE_ADD("gfxdecode", xorworld)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/xxmissio.c b/src/mame/drivers/xxmissio.c
index e020fa44f5a..cf57ecad766 100644
--- a/src/mame/drivers/xxmissio.c
+++ b/src/mame/drivers/xxmissio.c
@@ -295,7 +295,7 @@ static MACHINE_CONFIG_START( xxmissio, xxmissio_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 4*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(xxmissio_state, screen_update_xxmissio)
- MCFG_GFXDECODE(xxmissio)
+ MCFG_GFXDECODE_ADD("gfxdecode", xxmissio)
MCFG_PALETTE_LENGTH(768)
diff --git a/src/mame/drivers/xybots.c b/src/mame/drivers/xybots.c
index 3dc03cfe117..339f2139715 100644
--- a/src/mame/drivers/xybots.c
+++ b/src/mame/drivers/xybots.c
@@ -190,12 +190,13 @@ static MACHINE_CONFIG_START( xybots, xybots_state )
/* video hardware */
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
- MCFG_GFXDECODE(xybots)
+ MCFG_GFXDECODE_ADD("gfxdecode", xybots)
MCFG_PALETTE_LENGTH(1024)
MCFG_TILEMAP_ADD_STANDARD("playfield", 2, xybots_state, get_playfield_tile_info, 8,8, SCAN_ROWS, 64,32)
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", 2, xybots_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,32, 0)
MCFG_ATARI_MOTION_OBJECTS_ADD("mob", "screen", xybots_state::s_mob_config)
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("gfxdecode")
MCFG_SCREEN_ADD("screen", RASTER)
/* note: these parameters are from published specs, not derived */
diff --git a/src/mame/drivers/xyonix.c b/src/mame/drivers/xyonix.c
index 37d08c0e85e..8e767a3b2a5 100644
--- a/src/mame/drivers/xyonix.c
+++ b/src/mame/drivers/xyonix.c
@@ -228,7 +228,7 @@ static MACHINE_CONFIG_START( xyonix, xyonix_state )
MCFG_SCREEN_VISIBLE_AREA(0, 80*4-1, 0, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(xyonix_state, screen_update_xyonix)
- MCFG_GFXDECODE(xyonix)
+ MCFG_GFXDECODE_ADD("gfxdecode", xyonix)
MCFG_PALETTE_LENGTH(256)
diff --git a/src/mame/drivers/yiear.c b/src/mame/drivers/yiear.c
index 8dfe3b8feb7..0448d2917eb 100644
--- a/src/mame/drivers/yiear.c
+++ b/src/mame/drivers/yiear.c
@@ -283,7 +283,7 @@ static MACHINE_CONFIG_START( yiear, yiear_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(yiear_state, screen_update_yiear)
- MCFG_GFXDECODE(yiear)
+ MCFG_GFXDECODE_ADD("gfxdecode", yiear)
MCFG_PALETTE_LENGTH(32)
diff --git a/src/mame/drivers/yunsun16.c b/src/mame/drivers/yunsun16.c
index 8c592b1a6b4..c2024784b51 100644
--- a/src/mame/drivers/yunsun16.c
+++ b/src/mame/drivers/yunsun16.c
@@ -592,7 +592,7 @@ static MACHINE_CONFIG_START( magicbub, yunsun16_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_16MHz/2, 512, 0x20, 0x180-0x20, 260, 0, 0xe0) /* TODO: completely inaccurate */
MCFG_SCREEN_UPDATE_DRIVER(yunsun16_state, screen_update_yunsun16)
- MCFG_GFXDECODE(yunsun16)
+ MCFG_GFXDECODE_ADD("gfxdecode", yunsun16)
MCFG_PALETTE_LENGTH(8192)
@@ -628,7 +628,7 @@ static MACHINE_CONFIG_START( shocking, yunsun16_state )
MCFG_SCREEN_UPDATE_DRIVER(yunsun16_state, screen_update_yunsun16)
- MCFG_GFXDECODE(yunsun16)
+ MCFG_GFXDECODE_ADD("gfxdecode", yunsun16)
MCFG_PALETTE_LENGTH(8192)
diff --git a/src/mame/drivers/yunsung8.c b/src/mame/drivers/yunsung8.c
index 22eceb156cc..24827210156 100644
--- a/src/mame/drivers/yunsung8.c
+++ b/src/mame/drivers/yunsung8.c
@@ -507,7 +507,7 @@ static MACHINE_CONFIG_START( yunsung8, yunsung8_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_16MHz/2, 512, 64, 512-64, 262, 8, 256-8) /* TODO: completely inaccurate */
MCFG_SCREEN_UPDATE_DRIVER(yunsung8_state, screen_update_yunsung8)
- MCFG_GFXDECODE(yunsung8)
+ MCFG_GFXDECODE_ADD("gfxdecode", yunsung8)
MCFG_PALETTE_LENGTH(2048)
diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c
index ce914261713..d6b13ee3430 100644
--- a/src/mame/drivers/zac2650.c
+++ b/src/mame/drivers/zac2650.c
@@ -250,7 +250,7 @@ static MACHINE_CONFIG_START( tinvader, zac2650_state )
MCFG_SCREEN_VISIBLE_AREA(0, 719, 0, 767)
MCFG_SCREEN_UPDATE_DRIVER(zac2650_state, screen_update_tinvader)
- MCFG_GFXDECODE(tinvader)
+ MCFG_GFXDECODE_ADD("gfxdecode", tinvader)
MCFG_PALETTE_LENGTH(4)
/* sound hardware */
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index c17ddbad287..eb994c1ec46 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -574,7 +574,7 @@ static MACHINE_CONFIG_START( zaccaria, zaccaria_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(zaccaria_state, screen_update_zaccaria)
- MCFG_GFXDECODE(zaccaria)
+ MCFG_GFXDECODE_ADD("gfxdecode", zaccaria)
MCFG_PALETTE_LENGTH(32*8+32*8)
diff --git a/src/mame/drivers/zaxxon.c b/src/mame/drivers/zaxxon.c
index 2b0bc365c4a..cfb16cc5a11 100644
--- a/src/mame/drivers/zaxxon.c
+++ b/src/mame/drivers/zaxxon.c
@@ -945,7 +945,7 @@ static MACHINE_CONFIG_START( root, zaxxon_state )
MCFG_I8255A_ADD( "ppi8255", zaxxon_ppi_intf )
/* video hardware */
- MCFG_GFXDECODE(zaxxon)
+ MCFG_GFXDECODE_ADD("gfxdecode", zaxxon)
MCFG_PALETTE_LENGTH(256)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/zerozone.c b/src/mame/drivers/zerozone.c
index 7e8fa2a6ac5..e1a9fdc3cc9 100644
--- a/src/mame/drivers/zerozone.c
+++ b/src/mame/drivers/zerozone.c
@@ -184,7 +184,7 @@ static MACHINE_CONFIG_START( zerozone, zerozone_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 47*8-1, 2*8, 30*8-1)
- MCFG_GFXDECODE(zerozone)
+ MCFG_GFXDECODE_ADD("gfxdecode", zerozone)
MCFG_PALETTE_LENGTH(256)
/* sound hardware */
diff --git a/src/mame/drivers/zodiack.c b/src/mame/drivers/zodiack.c
index f405b058819..15d1122c366 100644
--- a/src/mame/drivers/zodiack.c
+++ b/src/mame/drivers/zodiack.c
@@ -576,7 +576,7 @@ static MACHINE_CONFIG_START( zodiack, zodiack_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(zodiack_state, screen_update)
- MCFG_GFXDECODE(zodiack)
+ MCFG_GFXDECODE_ADD("gfxdecode", zodiack)
MCFG_PALETTE_LENGTH(4*8+2*8+2*1)
MCFG_PALETTE_INIT_OVERRIDE(zodiack_state,zodiack)
diff --git a/src/mame/drivers/zr107.c b/src/mame/drivers/zr107.c
index e45db28a49c..cd8bf9d0cda 100644
--- a/src/mame/drivers/zr107.c
+++ b/src/mame/drivers/zr107.c
@@ -773,7 +773,10 @@ static MACHINE_CONFIG_START( zr107, zr107_state )
MCFG_VIDEO_START_OVERRIDE(zr107_state,zr107)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_K056832_ADD("k056832", zr107_k056832_intf)
+ MCFG_K056832_GFXDECODE("gfxdecode")
MCFG_K056800_ADD("k056800", XTAL_18_432MHz)
MCFG_K056800_INT_HANDLER(INPUTLINE("audiocpu", M68K_IRQ_1))
@@ -833,7 +836,10 @@ static MACHINE_CONFIG_START( jetwave, zr107_state )
MCFG_VIDEO_START_OVERRIDE(zr107_state,jetwave)
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_K001604_ADD("k001604", jetwave_k001604_intf)
+ MCFG_K001604_GFXDECODE("gfxdecode")
MCFG_K056800_ADD("k056800", XTAL_18_432MHz)
MCFG_K056800_INT_HANDLER(INPUTLINE("audiocpu", M68K_IRQ_1))
diff --git a/src/mame/etc/template_driver.c b/src/mame/etc/template_driver.c
index ef96f4d7642..4f6727bc1f5 100644
--- a/src/mame/etc/template_driver.c
+++ b/src/mame/etc/template_driver.c
@@ -154,7 +154,7 @@ static MACHINE_CONFIG_START( xxx, xxx_state )
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_RAW_PARAMS(MAIN_CLOCK/2, 442, 0, 320, 264, 0, 240) /* generic video timing, change accordingly */
- MCFG_GFXDECODE(xxx)
+ MCFG_GFXDECODE_ADD("gfxdecode", xxx)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mame/includes/namcoic.h b/src/mame/includes/namcoic.h
index 3f12430b797..c5297e1caed 100644
--- a/src/mame/includes/namcoic.h
+++ b/src/mame/includes/namcoic.h
@@ -124,6 +124,8 @@ public:
// construction/destruction
namco_c45_road_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
// read/write handlers
DECLARE_READ16_MEMBER( read );
DECLARE_WRITE16_MEMBER( write );
@@ -147,12 +149,15 @@ protected:
UINT16 m_ram[0x20000/2]; // at 0x880000 in Final Lap; at 0xa00000 in Lucky&Wild
static const gfx_layout s_tile_layout;
+ required_device<gfxdecode_device> m_gfxdecode;
};
// device type definition
extern const device_type NAMCO_C45_ROAD;
+#define MCFG_NAMCO_C45_ROAD_GFXDECODE(_gfxtag) \
+ namco_c45_road_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
/*----------- defined in drivers/namcoic.c -----------*/
diff --git a/src/mame/includes/namcos22.h b/src/mame/includes/namcos22.h
index 62bc4ae44c2..667003f2485 100644
--- a/src/mame/includes/namcos22.h
+++ b/src/mame/includes/namcos22.h
@@ -125,6 +125,9 @@ class namcos22_renderer : public poly_manager<float, namcos22_object_data, 4, 80
public:
namcos22_renderer(namcos22_state &state);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
void render_scene(screen_device &screen, bitmap_rgb32 &bitmap);
struct namcos22_scenenode *new_scenenode(running_machine &machine, UINT32 zsort, namcos22_scenenode_type type);
diff --git a/src/mame/machine/atarigen.c b/src/mame/machine/atarigen.c
index 47a13af4f76..baa8c010cae 100644
--- a/src/mame/machine/atarigen.c
+++ b/src/mame/machine/atarigen.c
@@ -1486,8 +1486,8 @@ WRITE32_MEMBER(atarigen_state::paletteram32_666_w )
void atarigen_state::blend_gfx(int gfx0, int gfx1, int mask0, int mask1)
{
- gfx_element *gx0 = machine().gfx[gfx0];
- gfx_element *gx1 = machine().gfx[gfx1];
+ gfx_element *gx0 = m_gfxdecode->gfx(gfx0);
+ gfx_element *gx1 = m_gfxdecode->gfx(gfx1);
UINT8 *srcdata, *dest;
int c, x, y;
@@ -1520,7 +1520,7 @@ void atarigen_state::blend_gfx(int gfx0, int gfx1, int mask0, int mask1)
gx0->set_granularity(granularity);
// free the second graphics element
- machine().gfx[gfx1] = NULL;
+ m_gfxdecode->set_gfx(gfx1, NULL);
auto_free(machine(), gx1);
}
diff --git a/src/mame/machine/atarigen.h b/src/mame/machine/atarigen.h
index 6153c0ba2fa..04b689966b8 100644
--- a/src/mame/machine/atarigen.h
+++ b/src/mame/machine/atarigen.h
@@ -71,9 +71,11 @@
MCFG_TILEMAP_LAYOUT_STANDARD(SCAN_ROWS, 64,32) \
MCFG_TILEMAP_TRANSPARENT_PEN(0) }
-#define MCFG_ATARI_VAD_MOB(_config) \
+#define MCFG_ATARI_VAD_MOB(_config, _gfxdecode) \
{ astring fulltag(device->tag(), ":mob"); device_t *device; \
- MCFG_ATARI_MOTION_OBJECTS_ADD(fulltag, "^^screen", _config) }
+ MCFG_ATARI_MOTION_OBJECTS_ADD(fulltag, "^^screen", _config) \
+ MCFG_ATARI_MOTION_OBJECTS_GFXDECODE("^" _gfxdecode) }
+
#define MCFG_ATARI_EEPROM_2804_ADD(_tag) \
diff --git a/src/mame/machine/megacd.c b/src/mame/machine/megacd.c
index 3cd3b0f43a4..43bf1efcfc0 100644
--- a/src/mame/machine/megacd.c
+++ b/src/mame/machine/megacd.c
@@ -25,7 +25,8 @@ const device_type SEGA_SEGACD_EUROPE = &device_creator<sega_segacd_europe_device
sega_segacd_device::sega_segacd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- m_scdcpu(*this, "segacd_68k")
+ m_scdcpu(*this, "segacd_68k"),
+ m_gfxdecode(*this)
{
}
@@ -45,6 +46,16 @@ sega_segacd_europe_device::sega_segacd_europe_device(const machine_config &mconf
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void sega_segacd_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<sega_segacd_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
TIMER_DEVICE_CALLBACK_MEMBER( sega_segacd_device::segacd_irq3_timer_callback )
{
@@ -753,23 +764,23 @@ WRITE16_MEMBER( sega_segacd_device::scd_a12006_hint_register_w )
void sega_segacd_device::segacd_mark_tiles_dirty(running_machine& machine, int offset)
{
- machine.gfx[0]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
- machine.gfx[1]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
- machine.gfx[2]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
- machine.gfx[3]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
- machine.gfx[4]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
- machine.gfx[5]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
- machine.gfx[6]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
- machine.gfx[7]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
+ m_gfxdecode->gfx(0)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
+ m_gfxdecode->gfx(1)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
+ m_gfxdecode->gfx(2)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
+ m_gfxdecode->gfx(3)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
+ m_gfxdecode->gfx(4)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
+ m_gfxdecode->gfx(5)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
+ m_gfxdecode->gfx(6)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
+ m_gfxdecode->gfx(7)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE16));
- machine.gfx[8]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
- machine.gfx[9]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
- machine.gfx[10]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
- machine.gfx[11]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
- machine.gfx[12]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
- machine.gfx[13]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
- machine.gfx[14]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
- machine.gfx[15]->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
+ m_gfxdecode->gfx(8)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
+ m_gfxdecode->gfx(9)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
+ m_gfxdecode->gfx(10)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
+ m_gfxdecode->gfx(11)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
+ m_gfxdecode->gfx(12)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
+ m_gfxdecode->gfx(13)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
+ m_gfxdecode->gfx(14)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
+ m_gfxdecode->gfx(15)->mark_dirty((offset*2)/(SEGACD_BYTES_PER_TILE32));
}
@@ -847,14 +858,14 @@ TILE_GET_INFO_MEMBER( sega_segacd_device::get_stampmap_16x16_1x1_tile_info )
{
int tile_region, tileno;
SCD_GET_TILE_INFO_16x16_1x1(tile_region,tileno,(int)tile_index);
- SET_TILE_INFO_MEMBER(tile_region, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, tile_region, tileno, 0, 0);
}
TILE_GET_INFO_MEMBER( sega_segacd_device::get_stampmap_32x32_1x1_tile_info )
{
int tile_region, tileno;
SCD_GET_TILE_INFO_32x32_1x1(tile_region,tileno,(int)tile_index);
- SET_TILE_INFO_MEMBER(tile_region, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, tile_region, tileno, 0, 0);
}
@@ -862,14 +873,14 @@ TILE_GET_INFO_MEMBER( sega_segacd_device::get_stampmap_16x16_16x16_tile_info )
{
int tile_region, tileno;
SCD_GET_TILE_INFO_16x16_16x16(tile_region,tileno,(int)tile_index);
- SET_TILE_INFO_MEMBER(tile_region, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, tile_region, tileno, 0, 0);
}
TILE_GET_INFO_MEMBER( sega_segacd_device::get_stampmap_32x32_16x16_tile_info )
{
int tile_region, tileno;
SCD_GET_TILE_INFO_32x32_16x16(tile_region,tileno,(int)tile_index);
- SET_TILE_INFO_MEMBER(tile_region, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, tile_region, tileno, 0, 0);
}
// non-tilemap functions to get a pixel from a 'tilemap' based on the above, but looking up each pixel, as to avoid the heavy cache bitmap
@@ -904,7 +915,7 @@ inline UINT8 sega_segacd_device::get_stampmap_16x16_1x1_tile_info_pixel(running_
int tile_region, tileno;
SCD_GET_TILE_INFO_16x16_1x1(tile_region,tileno,(int)tile_index);
- gfx_element *gfx = machine.gfx[tile_region];
+ gfx_element *gfx = m_gfxdecode->gfx(tile_region);
tileno %= gfx->elements();
if (tileno==0) return 0x00;
@@ -943,7 +954,7 @@ inline UINT8 sega_segacd_device::get_stampmap_32x32_1x1_tile_info_pixel(running_
int tile_region, tileno;
SCD_GET_TILE_INFO_32x32_1x1(tile_region,tileno,(int)tile_index);
- gfx_element *gfx = machine.gfx[tile_region];
+ gfx_element *gfx = m_gfxdecode->gfx(tile_region);
tileno %= gfx->elements();
if (tileno==0) return 0x00; // does this apply in this mode?
@@ -982,7 +993,7 @@ inline UINT8 sega_segacd_device::get_stampmap_16x16_16x16_tile_info_pixel(runnin
int tile_region, tileno;
SCD_GET_TILE_INFO_16x16_16x16(tile_region,tileno,(int)tile_index);
- gfx_element *gfx = machine.gfx[tile_region];
+ gfx_element *gfx = m_gfxdecode->gfx(tile_region);
tileno %= gfx->elements();
if (tileno==0) return 0x00; // does this apply in this mode
@@ -1021,7 +1032,7 @@ inline UINT8 sega_segacd_device::get_stampmap_32x32_16x16_tile_info_pixel(runnin
int tile_region, tileno;
SCD_GET_TILE_INFO_32x32_16x16(tile_region,tileno,(int)tile_index);
- gfx_element *gfx = machine.gfx[tile_region];
+ gfx_element *gfx = m_gfxdecode->gfx(tile_region);
tileno %= gfx->elements();
if (tileno==0) return 0x00;
@@ -1599,23 +1610,23 @@ void sega_segacd_device::device_start()
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine().gfx[0] = auto_alloc(machine(), gfx_element(machine(), sega_16x16_r00_f0_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[1] = auto_alloc(machine(), gfx_element(machine(), sega_16x16_r01_f0_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[2] = auto_alloc(machine(), gfx_element(machine(), sega_16x16_r10_f0_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[3] = auto_alloc(machine(), gfx_element(machine(), sega_16x16_r11_f0_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[4] = auto_alloc(machine(), gfx_element(machine(), sega_16x16_r00_f1_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[5] = auto_alloc(machine(), gfx_element(machine(), sega_16x16_r11_f1_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[6] = auto_alloc(machine(), gfx_element(machine(), sega_16x16_r10_f1_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[7] = auto_alloc(machine(), gfx_element(machine(), sega_16x16_r01_f1_layout, (UINT8 *)segacd_dataram, 0, 0));
-
- machine().gfx[8] = auto_alloc(machine(), gfx_element(machine(), sega_32x32_r00_f0_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[9] = auto_alloc(machine(), gfx_element(machine(), sega_32x32_r01_f0_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[10]= auto_alloc(machine(), gfx_element(machine(), sega_32x32_r10_f0_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[11]= auto_alloc(machine(), gfx_element(machine(), sega_32x32_r11_f0_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[12]= auto_alloc(machine(), gfx_element(machine(), sega_32x32_r00_f1_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[13]= auto_alloc(machine(), gfx_element(machine(), sega_32x32_r11_f1_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[14]= auto_alloc(machine(), gfx_element(machine(), sega_32x32_r10_f1_layout, (UINT8 *)segacd_dataram, 0, 0));
- machine().gfx[15]= auto_alloc(machine(), gfx_element(machine(), sega_32x32_r01_f1_layout, (UINT8 *)segacd_dataram, 0, 0));
+ m_gfxdecode->set_gfx(0 , auto_alloc(machine(), gfx_element(machine(), sega_16x16_r00_f0_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(1 , auto_alloc(machine(), gfx_element(machine(), sega_16x16_r01_f0_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(2 , auto_alloc(machine(), gfx_element(machine(), sega_16x16_r10_f0_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(3 , auto_alloc(machine(), gfx_element(machine(), sega_16x16_r11_f0_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(4 , auto_alloc(machine(), gfx_element(machine(), sega_16x16_r00_f1_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(5 , auto_alloc(machine(), gfx_element(machine(), sega_16x16_r11_f1_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(6 , auto_alloc(machine(), gfx_element(machine(), sega_16x16_r10_f1_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(7 , auto_alloc(machine(), gfx_element(machine(), sega_16x16_r01_f1_layout, (UINT8 *)segacd_dataram, 0, 0)));
+
+ m_gfxdecode->set_gfx(8 , auto_alloc(machine(), gfx_element(machine(), sega_32x32_r00_f0_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(9 , auto_alloc(machine(), gfx_element(machine(), sega_32x32_r01_f0_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(10, auto_alloc(machine(), gfx_element(machine(), sega_32x32_r10_f0_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(11, auto_alloc(machine(), gfx_element(machine(), sega_32x32_r11_f0_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(12, auto_alloc(machine(), gfx_element(machine(), sega_32x32_r00_f1_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(13, auto_alloc(machine(), gfx_element(machine(), sega_32x32_r11_f1_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(14, auto_alloc(machine(), gfx_element(machine(), sega_32x32_r10_f1_layout, (UINT8 *)segacd_dataram, 0, 0)));
+ m_gfxdecode->set_gfx(15, auto_alloc(machine(), gfx_element(machine(), sega_32x32_r01_f1_layout, (UINT8 *)segacd_dataram, 0, 0)));
segacd_stampmap[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sega_segacd_device::get_stampmap_16x16_1x1_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
segacd_stampmap[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(sega_segacd_device::get_stampmap_32x32_1x1_tile_info),this), TILEMAP_SCAN_ROWS, 32, 32, 8, 8);
diff --git a/src/mame/machine/megacd.h b/src/mame/machine/megacd.h
index 803239afae9..f3a0483cfc7 100644
--- a/src/mame/machine/megacd.h
+++ b/src/mame/machine/megacd.h
@@ -193,6 +193,8 @@ _32x32_START
_32x32_SEQUENCE_1_FLIP
_32x32_END
+#define MCFG_SEGACD_GFXDECODE(_gfxtag) \
+ sega_segacd_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
class sega_segacd_device : public device_t
@@ -200,6 +202,9 @@ class sega_segacd_device : public device_t
public:
sega_segacd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
required_device<cpu_device> m_scdcpu;
lc89510_temp_device *lc89510_temp;
@@ -359,6 +364,7 @@ public:
void SegaCD_CDC_Do_DMA( int &dmacount, UINT8 *CDC_BUFFER, UINT16 &dma_addrc, UINT16 &destination );
timer_device* scd_dma_timer;
+ required_device<gfxdecode_device> m_gfxdecode;
protected:
virtual void device_start();
diff --git a/src/mame/video/1942.c b/src/mame/video/1942.c
index a13976b7f50..886a6b8a4c4 100644
--- a/src/mame/video/1942.c
+++ b/src/mame/video/1942.c
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(_1942_state::get_fg_tile_info)
code = m_fg_videoram[tile_index];
color = m_fg_videoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + ((color & 0x80) << 1),
color & 0x3f,
@@ -137,7 +137,7 @@ TILE_GET_INFO_MEMBER(_1942_state::get_bg_tile_info)
code = m_bg_videoram[tile_index];
color = m_bg_videoram[tile_index + 0x10];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code + ((color & 0x80) << 1),
(color & 0x1f) + (0x20 * m_palette_bank),
@@ -251,7 +251,7 @@ void _1942_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
do
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code + i,col,
flip_screen(),flip_screen(),
sx,sy + 16 * i * dir,15);
@@ -310,7 +310,7 @@ void _1942_state::draw_sprites_p( bitmap_ind16 &bitmap, const rectangle &cliprec
do
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code + i,col,
flip_screen(),flip_screen(),
sx,sy + 16 * i * dir,15);
diff --git a/src/mame/video/1943.c b/src/mame/video/1943.c
index 49dbfcb03dd..b0a35815912 100644
--- a/src/mame/video/1943.c
+++ b/src/mame/video/1943.c
@@ -171,7 +171,7 @@ TILE_GET_INFO_MEMBER(_1943_state::c1943_get_bg2_tile_info)
int color = (attr & 0x3c) >> 2;
int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
- SET_TILE_INFO_MEMBER(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, flags);
}
TILE_GET_INFO_MEMBER(_1943_state::c1943_get_bg_tile_info)
@@ -185,7 +185,7 @@ TILE_GET_INFO_MEMBER(_1943_state::c1943_get_bg_tile_info)
int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(_1943_state::c1943_get_fg_tile_info)
@@ -194,7 +194,7 @@ TILE_GET_INFO_MEMBER(_1943_state::c1943_get_fg_tile_info)
int code = m_videoram[tile_index] + ((attr & 0xe0) << 3);
int color = attr & 0x1f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void _1943_state::video_start()
@@ -203,7 +203,7 @@ void _1943_state::video_start()
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, m_bg_tilemap, machine().gfx[1], 0x0f);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, m_gfxdecode->gfx(1), 0x0f);
m_fg_tilemap->set_transparent_pen(0);
save_item(NAME(m_char_on));
@@ -234,12 +234,12 @@ void _1943_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect,
if (priority)
{
if (color != 0x0a && color != 0x0b)
- machine().gfx[3]->transpen(bitmap,cliprect, code, color, flip_screen(), flip_screen(), sx, sy, 0);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, code, color, flip_screen(), flip_screen(), sx, sy, 0);
}
else
{
if (color == 0x0a || color == 0x0b)
- machine().gfx[3]->transpen(bitmap,cliprect, code, color, flip_screen(), flip_screen(), sx, sy, 0);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, code, color, flip_screen(), flip_screen(), sx, sy, 0);
}
}
}
diff --git a/src/mame/video/40love.c b/src/mame/video/40love.c
index 16aefbc2842..d131f3483fa 100644
--- a/src/mame/video/40love.c
+++ b/src/mame/video/40love.c
@@ -74,7 +74,7 @@ TILE_GET_INFO_MEMBER(fortyl_state::get_bg_tile_info)
code = (code & 0x3f) | tile_l_bank | 0x100;
code |= tile_h_bank;
- SET_TILE_INFO_MEMBER( 0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
code,
tile_attrib & 0x07,
0);
@@ -290,7 +290,7 @@ void fortyl_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
if (spriteram[offs + 2] & 0xe0)
color = machine().rand() & 0xf;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -318,7 +318,7 @@ void fortyl_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
if (spriteram_2[offs + 2] & 0xe0)
color = machine().rand() & 0xf;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/4enraya.c b/src/mame/video/4enraya.c
index ee10eff5912..45fbb36a7cc 100644
--- a/src/mame/video/4enraya.c
+++ b/src/mame/video/4enraya.c
@@ -19,7 +19,7 @@ WRITE8_MEMBER(_4enraya_state::fenraya_videoram_w)
TILE_GET_INFO_MEMBER(_4enraya_state::get_tile_info)
{
int code = m_videoram[tile_index * 2] + (m_videoram[tile_index * 2 + 1] << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
0,
diff --git a/src/mame/video/aeroboto.c b/src/mame/video/aeroboto.c
index 224cd4b4a49..5a6e659d06d 100644
--- a/src/mame/video/aeroboto.c
+++ b/src/mame/video/aeroboto.c
@@ -24,7 +24,7 @@
TILE_GET_INFO_MEMBER(aeroboto_state::get_tile_info)
{
UINT8 code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + (m_charbank << 8),
m_tilecolor[code],
@@ -135,7 +135,7 @@ void aeroboto_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
y = 240 - y;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_spriteram[offs + 1],
m_spriteram[offs + 2] & 0x07,
flip_screen(), flip_screen(),
diff --git a/src/mame/video/aerofgt.c b/src/mame/video/aerofgt.c
index 008bba2d946..5530467d1f5 100644
--- a/src/mame/video/aerofgt.c
+++ b/src/mame/video/aerofgt.c
@@ -11,7 +11,7 @@ TILE_GET_INFO_MEMBER(aerofgt_state::get_pspikes_tile_info)
{
UINT16 code = m_bg1videoram[tile_index];
int bank = (code & 0x1000) >> 12;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x0fff) + (m_gfxbank[bank] << 12),
((code & 0xe000) >> 13) + 8 * m_charpalettebank,
@@ -21,7 +21,7 @@ TILE_GET_INFO_MEMBER(aerofgt_state::get_pspikes_tile_info)
TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg1_tile_info)
{
UINT16 code = m_bg1videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x1fff) + (m_gfxbank[0] << 13),
(code & 0xe000) >> 13,
@@ -32,7 +32,7 @@ TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg1_tile_info)
TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg2_tile_info)
{
UINT16 code = m_bg2videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(code & 0x1fff) + (m_gfxbank[1] << 13),
(code & 0xe000) >> 13,
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg2_tile_info)
TILE_GET_INFO_MEMBER(aerofgt_state::spinlbrk_bg1_tile_info)
{
UINT16 code = m_bg1videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x0fff) + (m_gfxbank[0] << 12),
(code & 0xf000) >> 12,
@@ -53,7 +53,7 @@ TILE_GET_INFO_MEMBER(aerofgt_state::get_bg1_tile_info)
{
UINT16 code = m_bg1videoram[tile_index];
int bank = (code & 0x1800) >> 11;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x07ff) + (m_gfxbank[bank] << 11),
(code & 0xe000) >> 13,
@@ -64,7 +64,7 @@ TILE_GET_INFO_MEMBER(aerofgt_state::get_bg2_tile_info)
{
UINT16 code = m_bg2videoram[tile_index];
int bank = 4 + ((code & 0x1800) >> 11);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(code & 0x07ff) + (m_gfxbank[bank] << 11),
(code & 0xe000) >> 13,
@@ -513,7 +513,7 @@ void aerofgt_state::aerfboo2_draw_sprites( screen_device &screen, bitmap_ind16 &
else
code = m_spriteram2[map_start % (m_spriteram2.bytes()/2)];
- machine().gfx[m_sprite_gfx + chip]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_sprite_gfx + chip)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -550,14 +550,14 @@ void aerofgt_state::pspikesb_draw_sprites( screen_device &screen, bitmap_ind16 &
flipx = m_spriteram3[i + 1] & 0x0800;
color = m_spriteram3[i + 1] & 0x000f;
- machine().gfx[m_sprite_gfx]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
xpos,ypos,15);
/* wrap around y */
- machine().gfx[m_sprite_gfx]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -593,14 +593,14 @@ void aerofgt_state::spikes91_draw_sprites( screen_device &screen, bitmap_ind16 &
realcode = (lookup[code] << 8) + lookup[0x10000 + code];
- machine().gfx[m_sprite_gfx]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect,
realcode,
color,
flipx,flipy,
xpos,ypos,15);
/* wrap around y */
- machine().gfx[m_sprite_gfx]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect,
realcode,
color,
flipx,flipy,
@@ -641,7 +641,7 @@ void aerofgt_state::aerfboot_draw_sprites( screen_device &screen, bitmap_ind16 &
sx = ((ox + 16 + 3) & 0x1ff) - 16;
- machine().gfx[m_sprite_gfx + (code >= 0x1000 ? 0 : 1)]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_sprite_gfx + (code >= 0x1000 ? 0 : 1))->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -679,7 +679,7 @@ void aerofgt_state::aerfboot_draw_sprites( screen_device &screen, bitmap_ind16 &
sx = ((ox + 16 + 3) & 0x1ff) - 16;
- machine().gfx[m_sprite_gfx + (code >= 0x1000 ? 0 : 1)]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_sprite_gfx + (code >= 0x1000 ? 0 : 1))->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -732,7 +732,7 @@ UINT32 aerofgt_state::screen_update_spikes91(screen_device &screen, bitmap_ind16
int i, scrolly;
int y, x;
int count;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
m_bg1_tilemap->set_scroll_rows(256);
scrolly = m_bg1scrolly;
diff --git a/src/mame/video/airbustr.c b/src/mame/video/airbustr.c
index a83bce7f8c5..cae15c09ecf 100644
--- a/src/mame/video/airbustr.c
+++ b/src/mame/video/airbustr.c
@@ -95,7 +95,7 @@ TILE_GET_INFO_MEMBER(airbustr_state::get_fg_tile_info)
int code = m_videoram2[tile_index] + ((attr & 0x0f) << 8);
int color = attr >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(airbustr_state::get_bg_tile_info)
@@ -104,7 +104,7 @@ TILE_GET_INFO_MEMBER(airbustr_state::get_bg_tile_info)
int code = m_videoram[tile_index] + ((attr & 0x0f) << 8);
int color = (attr >> 4) + 16;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void airbustr_state::video_start()
diff --git a/src/mame/video/alpha68k.c b/src/mame/video/alpha68k.c
index 7a376a11083..5ebc86dcf50 100644
--- a/src/mame/video/alpha68k.c
+++ b/src/mame/video/alpha68k.c
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(alpha68k_state::get_tile_info)
tile = tile | (m_bank_base << 8);
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
}
WRITE16_MEMBER(alpha68k_state::alpha68k_videoram_w)
@@ -104,7 +104,7 @@ void alpha68k_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
if (color)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tile,
color,
fx,fy,
@@ -249,7 +249,7 @@ void alpha68k_state::draw_sprites_V( bitmap_ind16 &bitmap, const rectangle &clip
}
if (color)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tile,
color,
fx,fy,
@@ -330,7 +330,7 @@ void alpha68k_state::draw_sprites_I( bitmap_ind16 &bitmap, const rectangle &clip
UINT16 *spriteram = m_spriteram;
int data, offs, mx, my, tile, color, fy, i;
UINT8 *color_prom = memregion("user1")->base();
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
for (offs = 0; offs < 0x400; offs += 0x20)
{
@@ -473,7 +473,7 @@ void alpha68k_state::kyros_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
else
jongbou_video_banking(&bank, data);
- machine().gfx[bank]->transpen(bitmap,cliprect, tile, color, fx, fy, mx, my, 0);
+ m_gfxdecode->gfx(bank)->transpen(bitmap,cliprect, tile, color, fx, fy, mx, my, 0);
}
}
//ZT
@@ -532,7 +532,7 @@ void alpha68k_state::sstingry_draw_sprites( bitmap_ind16 &bitmap, const rectangl
color = (data >> 7 & 0x18) | (data >> 13 & 7);
tile = data & 0x3ff;
bank = data >> 10 & 3;
- machine().gfx[bank]->transpen(bitmap,cliprect, tile, color, fx, fy, mx, my, 0);
+ m_gfxdecode->gfx(bank)->transpen(bitmap,cliprect, tile, color, fx, fy, mx, my, 0);
}
//ZT
if(m_flipscreen)
diff --git a/src/mame/video/ambush.c b/src/mame/video/ambush.c
index afa4bb86025..01356d5a7d0 100644
--- a/src/mame/video/ambush.c
+++ b/src/mame/video/ambush.c
@@ -78,7 +78,7 @@ void ambush_state::draw_chars( bitmap_ind16 &bitmap, const rectangle &cliprect,
scroll = ~scroll - 1;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
(col & 0x0f) | ((*m_colorbank & 0x03) << 4),
flip_screen(), flip_screen(),
@@ -145,7 +145,7 @@ UINT32 ambush_state::screen_update_ambush(screen_device &screen, bitmap_ind16 &b
flipy = !flipy;
}
- machine().gfx[gfx]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx)->transpen(bitmap,cliprect,
code, col | ((*m_colorbank & 0x03) << 4),
flipx, flipy,
sx,sy,0);
diff --git a/src/mame/video/ampoker2.c b/src/mame/video/ampoker2.c
index da7a1fb9aeb..41c358b7d2c 100644
--- a/src/mame/video/ampoker2.c
+++ b/src/mame/video/ampoker2.c
@@ -129,7 +129,7 @@ TILE_GET_INFO_MEMBER(ampoker2_state::get_bg_tile_info)
code = code + (256 * (color & 0x03)); /* code = color.bit1 + color.bit0 + code */
color = color >> 1; /* color = color - bit0 (bit1..bit7) */
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(ampoker2_state::s2k_get_bg_tile_info)
@@ -142,7 +142,7 @@ TILE_GET_INFO_MEMBER(ampoker2_state::s2k_get_bg_tile_info)
code = code + (256 * (color & 0x0f)); /* the game uses 2 extra bits */
color = color >> 1;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void ampoker2_state::video_start()
diff --git a/src/mame/video/amspdwy.c b/src/mame/video/amspdwy.c
index 185cdef7aa8..d90d1195330 100644
--- a/src/mame/video/amspdwy.c
+++ b/src/mame/video/amspdwy.c
@@ -46,7 +46,7 @@ TILE_GET_INFO_MEMBER(amspdwy_state::get_tile_info)
{
UINT8 code = m_videoram[tile_index];
UINT8 color = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + ((color & 0x18)<<5),
color & 0x07,
@@ -122,7 +122,7 @@ void amspdwy_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
// code + ((attr & 0x18)<<5),
code + ((attr & 0x08)<<5),
attr,
diff --git a/src/mame/video/angelkds.c b/src/mame/video/angelkds.c
index 4b23608b668..3fc32dd3a95 100644
--- a/src/mame/video/angelkds.c
+++ b/src/mame/video/angelkds.c
@@ -19,7 +19,7 @@ TILE_GET_INFO_MEMBER(angelkds_state::get_tx_tile_info)
int tileno;
tileno = m_txvideoram[tile_index] + (m_txbank * 0x100);
- SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, 0, 0);
}
WRITE8_MEMBER(angelkds_state::angelkds_txvideoram_w)
@@ -48,7 +48,7 @@ TILE_GET_INFO_MEMBER(angelkds_state::get_bgtop_tile_info)
tileno = m_bgtopvideoram[tile_index];
tileno += m_bgtopbank * 0x100 ;
- SET_TILE_INFO_MEMBER(1, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, 0, 0);
}
WRITE8_MEMBER(angelkds_state::angelkds_bgtopvideoram_w)
@@ -82,7 +82,7 @@ TILE_GET_INFO_MEMBER(angelkds_state::get_bgbot_tile_info)
tileno = m_bgbotvideoram[tile_index];
tileno += m_bgbotbank * 0x100 ;
- SET_TILE_INFO_MEMBER(2, tileno, 1, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tileno, 1, 0);
}
WRITE8_MEMBER(angelkds_state::angelkds_bgbotvideoram_w)
@@ -123,7 +123,7 @@ void angelkds_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
{
const UINT8 *source = m_spriteram + 0x100 - 4;
const UINT8 *finish = m_spriteram;
- gfx_element *gfx = machine().gfx[3];
+ gfx_element *gfx = m_gfxdecode->gfx(3);
while (source >= finish)
{
diff --git a/src/mame/video/appoooh.c b/src/mame/video/appoooh.c
index 496b1375379..9e05de25269 100644
--- a/src/mame/video/appoooh.c
+++ b/src/mame/video/appoooh.c
@@ -104,7 +104,7 @@ TILE_GET_INFO_MEMBER(appoooh_state::get_fg_tile_info)
{
int code = m_fg_videoram[tile_index] + 256 * ((m_fg_colorram[tile_index] >> 5) & 7);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
m_fg_colorram[tile_index] & 0x0f,
@@ -116,7 +116,7 @@ TILE_GET_INFO_MEMBER(appoooh_state::get_bg_tile_info)
{
int code = m_bg_videoram[tile_index] + 256 * ((m_bg_colorram[tile_index] >> 5) & 7);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
m_bg_colorram[tile_index] & 0x0f,
@@ -273,16 +273,16 @@ UINT32 appoooh_state::screen_update_appoooh(screen_device &screen, bitmap_ind16
if (m_priority == 1)
{
/* sprite set #1 */
- appoooh_draw_sprites(bitmap, cliprect, machine().gfx[2], m_spriteram);
+ appoooh_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(2), m_spriteram);
/* sprite set #2 */
- appoooh_draw_sprites(bitmap, cliprect, machine().gfx[3], m_spriteram_2);
+ appoooh_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(3), m_spriteram_2);
}
else
{
/* sprite set #2 */
- appoooh_draw_sprites(bitmap, cliprect, machine().gfx[3], m_spriteram_2);
+ appoooh_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(3), m_spriteram_2);
/* sprite set #1 */
- appoooh_draw_sprites(bitmap, cliprect, machine().gfx[2], m_spriteram);
+ appoooh_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(2), m_spriteram);
}
if (m_priority != 0) /* fg in front of sprites */
@@ -302,16 +302,16 @@ UINT32 appoooh_state::screen_update_robowres(screen_device &screen, bitmap_ind16
if (m_priority == 1)
{
/* sprite set #1 */
- robowres_draw_sprites(bitmap, cliprect, machine().gfx[2], m_spriteram);
+ robowres_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(2), m_spriteram);
/* sprite set #2 */
- robowres_draw_sprites(bitmap, cliprect, machine().gfx[3], m_spriteram_2);
+ robowres_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(3), m_spriteram_2);
}
else
{
/* sprite set #2 */
- robowres_draw_sprites(bitmap, cliprect, machine().gfx[3], m_spriteram_2);
+ robowres_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(3), m_spriteram_2);
/* sprite set #1 */
- robowres_draw_sprites(bitmap, cliprect, machine().gfx[2], m_spriteram);
+ robowres_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(2), m_spriteram);
}
if (m_priority != 0) /* fg in front of sprites */
diff --git a/src/mame/video/aquarium.c b/src/mame/video/aquarium.c
index a5a025f5c12..6ee2bac4a7d 100644
--- a/src/mame/video/aquarium.c
+++ b/src/mame/video/aquarium.c
@@ -42,14 +42,14 @@ void aquarium_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
for (chain_pos = chain; chain_pos >= 0; chain_pos--)
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
col,
flipx, flipy,
curx,cury,0);
/* wrap around y */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
col,
flipx, flipy,
@@ -91,7 +91,7 @@ TILE_GET_INFO_MEMBER(aquarium_state::get_aquarium_txt_tile_info)
tileno = (m_txt_videoram[tile_index] & 0x0fff);
colour = (m_txt_videoram[tile_index] & 0xf000) >> 12;
- SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tileno, colour, 0);
}
WRITE16_MEMBER(aquarium_state::aquarium_txt_videoram_w)
@@ -109,7 +109,7 @@ TILE_GET_INFO_MEMBER(aquarium_state::get_aquarium_mid_tile_info)
colour = (m_mid_videoram[tile_index * 2 + 1] & 0x001f);
flag = TILE_FLIPYX((m_mid_videoram[tile_index * 2 + 1] & 0x300) >> 8);
- SET_TILE_INFO_MEMBER(1, tileno, colour, flag);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, colour, flag);
tileinfo.category = (m_mid_videoram[tile_index * 2 + 1] & 0x20) >> 5;
}
@@ -129,7 +129,7 @@ TILE_GET_INFO_MEMBER(aquarium_state::get_aquarium_bak_tile_info)
colour = (m_bak_videoram[tile_index * 2 + 1] & 0x001f);
flag = TILE_FLIPYX((m_bak_videoram[tile_index * 2 + 1] & 0x300) >> 8);
- SET_TILE_INFO_MEMBER(3, tileno, colour, flag);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, tileno, colour, flag);
tileinfo.category = (m_bak_videoram[tile_index * 2 + 1] & 0x20) >> 5;
}
diff --git a/src/mame/video/argus.c b/src/mame/video/argus.c
index 33fe5f695b1..9356201c89f 100644
--- a/src/mame/video/argus.c
+++ b/src/mame/video/argus.c
@@ -131,7 +131,7 @@ TILE_GET_INFO_MEMBER(argus_state::argus_get_tx_tile_info)
lo = m_txram[tile_index];
hi = m_txram[tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
@@ -147,7 +147,7 @@ TILE_GET_INFO_MEMBER(argus_state::argus_get_bg0_tile_info)
lo = m_dummy_bg0ram[tile_index];
hi = m_dummy_bg0ram[tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
@@ -163,7 +163,7 @@ TILE_GET_INFO_MEMBER(argus_state::argus_get_bg1_tile_info)
lo = m_bg1ram[tile_index];
hi = m_bg1ram[tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
lo,
hi & 0x0f,
@@ -179,7 +179,7 @@ TILE_GET_INFO_MEMBER(argus_state::valtric_get_tx_tile_info)
lo = m_txram[tile_index];
hi = m_txram[tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
@@ -195,7 +195,7 @@ TILE_GET_INFO_MEMBER(argus_state::valtric_get_bg_tile_info)
lo = m_bg1ram[tile_index];
hi = m_bg1ram[tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
((hi & 0xc0) << 2) | ((hi & 0x20) << 5) | lo,
hi & 0x0f,
@@ -212,7 +212,7 @@ TILE_GET_INFO_MEMBER(argus_state::butasan_get_tx_tile_info)
lo = m_butasan_txram[tile_index];
hi = m_butasan_txram[tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
@@ -231,7 +231,7 @@ TILE_GET_INFO_MEMBER(argus_state::butasan_get_bg0_tile_info)
lo = m_butasan_bg0ram[attrib];
hi = m_butasan_bg0ram[attrib + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
@@ -247,7 +247,7 @@ TILE_GET_INFO_MEMBER(argus_state::butasan_get_bg1_tile_info)
tile = m_butasan_bg1ram[attrib] | ((m_butasan_bg1_status & 2) << 7);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile,
(tile & 0x80) >> 7,
@@ -841,7 +841,7 @@ void argus_state::argus_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &clip
if (priority != pri)
jal_blend_drawgfx(
- bitmap,cliprect,machine().gfx[0],
+ bitmap,cliprect,m_gfxdecode->gfx(0),
tile,
color,
flipx, flipy,
@@ -969,7 +969,7 @@ void argus_state::valtric_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cl
}
jal_blend_drawgfx(
- bitmap,cliprect,machine().gfx[0],
+ bitmap,cliprect,m_gfxdecode->gfx(0),
tile,
color,
flipx, flipy,
@@ -1020,7 +1020,7 @@ void argus_state::butasan_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cl
if ((offs >= 0x100 && offs <= 0x2ff) || (offs >= 0x400 && offs <= 0x57f))
{
jal_blend_drawgfx(
- bitmap,cliprect,machine().gfx[0],
+ bitmap,cliprect,m_gfxdecode->gfx(0),
tile,
color,
flipx, flipy,
@@ -1034,7 +1034,7 @@ void argus_state::butasan_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cl
td = (fx) ? (1 - i) : i;
jal_blend_drawgfx(
- bitmap,cliprect,machine().gfx[0],
+ bitmap,cliprect,m_gfxdecode->gfx(0),
tile + td,
color,
flipx, flipy,
@@ -1054,7 +1054,7 @@ void argus_state::butasan_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cl
td = (fx) ? (i * 2) + 1 - j : i * 2 + j;
jal_blend_drawgfx(
- bitmap,cliprect,machine().gfx[0],
+ bitmap,cliprect,m_gfxdecode->gfx(0),
tile + td,
color,
flipx, flipy,
@@ -1075,7 +1075,7 @@ void argus_state::butasan_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cl
td = (fx) ? (i * 4) + 3 - j : i * 4 + j;
jal_blend_drawgfx(
- bitmap,cliprect,machine().gfx[0],
+ bitmap,cliprect,m_gfxdecode->gfx(0),
tile + td,
color,
flipx, flipy,
diff --git a/src/mame/video/arkanoid.c b/src/mame/video/arkanoid.c
index c626f27f91b..7a433b4cc9d 100644
--- a/src/mame/video/arkanoid.c
+++ b/src/mame/video/arkanoid.c
@@ -166,7 +166,7 @@ TILE_GET_INFO_MEMBER(arkanoid_state::get_bg_tile_info)
int code = m_videoram[offs + 1] + ((m_videoram[offs] & 0x07) << 8) + 2048 * m_gfxbank;
int color = ((m_videoram[offs] & 0xf8) >> 3) + 32 * m_palettebank;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
VIDEO_START_MEMBER(arkanoid_state,arkanoid)
@@ -191,12 +191,12 @@ void arkanoid_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
code = m_spriteram[offs + 3] + ((m_spriteram[offs + 2] & 0x03) << 8) + 1024 * m_gfxbank;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
2 * code,
((m_spriteram[offs + 2] & 0xf8) >> 3) + 32 * m_palettebank,
flip_screen_x(),flip_screen_y(),
sx,sy + (flip_screen_y() ? 8 : -8),0);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
2 * code + 1,
((m_spriteram[offs + 2] & 0xf8) >> 3) + 32 * m_palettebank,
flip_screen_x(),flip_screen_y(),
diff --git a/src/mame/video/armedf.c b/src/mame/video/armedf.c
index 62b3108428c..be38158d06e 100644
--- a/src/mame/video/armedf.c
+++ b/src/mame/video/armedf.c
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(armedf_state::get_nb1414m4_tx_tile_info)
/* bit 3 controls priority, (0) nb1414m4 has priority over all the other video layers */
tileinfo.category = (attributes & 0x8) >> 3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number + 256 * (attributes & 0x3),
attributes >> 4,
@@ -76,7 +76,7 @@ TILE_GET_INFO_MEMBER(armedf_state::get_armedf_tx_tile_info)
/* bit 3 controls priority, (0) nb1414m4 has priority over all the other video layers */
tileinfo.category = (attributes & 0x8) >> 3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number + 256 * (attributes & 0x3),
attributes >> 4,
@@ -87,7 +87,7 @@ TILE_GET_INFO_MEMBER(armedf_state::get_armedf_tx_tile_info)
TILE_GET_INFO_MEMBER(armedf_state::get_fg_tile_info)
{
int data = m_fg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
data&0x7ff,
data>>11,
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(armedf_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(armedf_state::get_bg_tile_info)
{
int data = m_bg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
data & 0x3ff,
data >> 11,
@@ -351,7 +351,7 @@ void armedf_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
if (((buffered_spriteram[offs + 0] & 0x3000) >> 12) == priority)
{
- armedf_drawgfx(bitmap,cliprect,machine().gfx[3],
+ armedf_drawgfx(bitmap,cliprect,m_gfxdecode->gfx(3),
code & 0xfff,
color,clut,
flipx,flipy,
diff --git a/src/mame/video/ashnojoe.c b/src/mame/video/ashnojoe.c
index ad8a71e92b7..9586dd054e8 100644
--- a/src/mame/video/ashnojoe.c
+++ b/src/mame/video/ashnojoe.c
@@ -13,7 +13,7 @@ TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info)
{
int code = m_tileram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code & 0xfff,
((code >> 12) & 0x0f),
@@ -25,7 +25,7 @@ TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_2)
int code = m_tileram_2[tile_index * 2];
int attr = m_tileram_2[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
4,
(code & 0x7fff),
((attr >> 8) & 0x1f) + 0x40,
@@ -36,7 +36,7 @@ TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_3)
{
int code = m_tileram_3[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0xfff,
((code >> 12) & 0x0f) + 0x10,
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_4)
{
int code = m_tileram_4[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0xfff,
((code >> 12) & 0x0f) + 0x60,
@@ -59,7 +59,7 @@ TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_5)
int code = m_tileram_5[tile_index * 2];
int attr = m_tileram_5[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
4,
(code & 0x7fff),
((attr >> 8) & 0x1f) + 0x20,
@@ -71,7 +71,7 @@ TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_6)
int code = m_tileram_6[tile_index * 2];
int attr = m_tileram_6[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
(code & 0x1fff),
((attr >> 8) & 0x1f) + 0x70,
@@ -84,7 +84,7 @@ TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_7)
int code = m_tileram_7[tile_index * 2];
int attr = m_tileram_7[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
(code & 0x1fff),
((attr >> 8) & 0x1f) + 0x70,
diff --git a/src/mame/video/atarifb.c b/src/mame/video/atarifb.c
index c64db840f68..00dd3d946b8 100644
--- a/src/mame/video/atarifb.c
+++ b/src/mame/video/atarifb.c
@@ -23,7 +23,7 @@ void atarifb_state::get_tile_info_common( tile_data &tileinfo, tilemap_memory_in
if (disable)
code = 0; /* I *know* this is a space */
- SET_TILE_INFO_MEMBER(0, code, 0, (flip ? TILE_FLIPX | TILE_FLIPY : 0));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, (flip ? TILE_FLIPX | TILE_FLIPY : 0));
}
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(atarifb_state::field_get_tile_info)
int code = m_field_videoram[tile_index] & 0x3f;
int flipyx = m_field_videoram[tile_index] >> 6;
- SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, TILE_FLIPYX(flipyx));
}
@@ -139,14 +139,14 @@ void atarifb_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
{
shade = ((m_spriteram[obj * 2 + 1 + 0x20]) & 0x07);
- machine().gfx[gfx + 1]->transpen(bitmap,bigfield_area,
+ m_gfxdecode->gfx(gfx + 1)->transpen(bitmap,bigfield_area,
charcode, shade,
flipx, flipy, sx, sy, 0);
shade = ((m_spriteram[obj * 2 + 1 + 0x20]) & 0x08) >> 3;
}
- machine().gfx[gfx]->transpen(bitmap,bigfield_area,
+ m_gfxdecode->gfx(gfx)->transpen(bitmap,bigfield_area,
charcode, shade,
flipx, flipy, sx, sy, 0);
@@ -158,7 +158,7 @@ void atarifb_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
if ((charcode == 0x11) && (sy == 0x07))
{
sy = 0xf1; /* When multiplexed, it's 0x10...why? */
- machine().gfx[gfx]->transpen(bitmap,bigfield_area,
+ m_gfxdecode->gfx(gfx)->transpen(bitmap,bigfield_area,
charcode, 0,
flipx, flipy, sx, sy, 0);
}
diff --git a/src/mame/video/atarig1.c b/src/mame/video/atarig1.c
index b5809441f0f..017b687b1b0 100644
--- a/src/mame/video/atarig1.c
+++ b/src/mame/video/atarig1.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(atarig1_state::get_alpha_tile_info)
int code = data & 0xfff;
int color = (data >> 12) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(atarig1_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
int color = (data >> 12) & 7;
- SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data >> 15) & 1);
}
diff --git a/src/mame/video/atarig42.c b/src/mame/video/atarig42.c
index 4b31362cefa..1f05efce77d 100644
--- a/src/mame/video/atarig42.c
+++ b/src/mame/video/atarig42.c
@@ -39,7 +39,7 @@ TILE_GET_INFO_MEMBER(atarig42_state::get_alpha_tile_info)
int code = data & 0xfff;
int color = (data >> 12) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -48,7 +48,7 @@ TILE_GET_INFO_MEMBER(atarig42_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
int color = (m_playfield_base >> 5) + ((m_playfield_color_bank << 3) & 0x18) + ((data >> 12) & 7);
- SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data >> 15) & 1);
tileinfo.category = (m_playfield_color_bank >> 2) & 7;
}
diff --git a/src/mame/video/atarigt.c b/src/mame/video/atarigt.c
index 29197b2dc7d..5229ef89c67 100644
--- a/src/mame/video/atarigt.c
+++ b/src/mame/video/atarigt.c
@@ -49,7 +49,7 @@ TILE_GET_INFO_MEMBER(atarigt_state::get_alpha_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = data & 0xfff;
int color = (data >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
@@ -58,7 +58,7 @@ TILE_GET_INFO_MEMBER(atarigt_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
int color = (data >> 12) & 7;
- SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data >> 15) & 1);
}
diff --git a/src/mame/video/atarigx2.c b/src/mame/video/atarigx2.c
index 363a42caaab..349c7d6d995 100644
--- a/src/mame/video/atarigx2.c
+++ b/src/mame/video/atarigx2.c
@@ -39,7 +39,7 @@ TILE_GET_INFO_MEMBER(atarigx2_state::get_alpha_tile_info)
int code = data & 0xfff;
int color = (data >> 12) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -48,7 +48,7 @@ TILE_GET_INFO_MEMBER(atarigx2_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
int color = (m_playfield_base >> 5) + ((m_playfield_color_bank << 3) & 0x18) + ((data >> 12) & 7);
- SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data >> 15) & 1);
tileinfo.category = (m_playfield_color_bank >> 2) & 7;
}
diff --git a/src/mame/video/atarimo.c b/src/mame/video/atarimo.c
index 6ccfae8d687..90da6e9b44e 100644
--- a/src/mame/video/atarimo.c
+++ b/src/mame/video/atarimo.c
@@ -147,10 +147,20 @@ atari_motion_objects_device::atari_motion_objects_device(const machine_config &m
m_slipram(*this, "slip"),
m_activelast(NULL),
m_last_xpos(0),
- m_next_xpos(0)
+ m_next_xpos(0),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void atari_motion_objects_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<atari_motion_objects_device &>(device).m_gfxdecode.set_tag(tag);
+}
//-------------------------------------------------
// static_set_config: Set the tag of the
@@ -263,7 +273,7 @@ void atari_motion_objects_device::device_start()
sprite16_device_ind16::device_start();
// verify configuration
- gfx_element *gfx = machine().gfx[m_gfxindex];
+ gfx_element *gfx = m_gfxdecode->gfx(m_gfxindex);
if (gfx == NULL)
throw emu_fatalerror("No gfxelement #%d!", m_gfxindex);
@@ -425,7 +435,7 @@ void atari_motion_objects_device::render_object(bitmap_ind16 &bitmap, const rect
{
// select the gfx element and save off key information
int rawcode = m_codemask.extract(entry);
- gfx_element *gfx = machine().gfx[m_gfxlookup[rawcode >> 8]];
+ gfx_element *gfx = m_gfxdecode->gfx(m_gfxlookup[rawcode >> 8]);
int save_granularity = gfx->granularity();
int save_colorbase = gfx->colorbase();
int save_colors = gfx->colors();
diff --git a/src/mame/video/atarimo.h b/src/mame/video/atarimo.h
index c06f2573a45..446afa9b4cf 100644
--- a/src/mame/video/atarimo.h
+++ b/src/mame/video/atarimo.h
@@ -23,6 +23,9 @@
MCFG_VIDEO_SET_SCREEN(_screen) \
atari_motion_objects_device::static_set_config(*device, _config);
+#define MCFG_ATARI_MOTION_OBJECTS_GFXDECODE(_gfxtag) \
+ atari_motion_objects_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -82,7 +85,8 @@ public:
// construction/destruction
atari_motion_objects_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- // static configuration helpers
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void static_set_config(device_t &device, const atari_motion_objects_config &config);
// getters
@@ -217,6 +221,7 @@ private:
UINT32 m_last_xpos; // (during processing) the previous X position
UINT32 m_next_xpos; // (during processing) the next X position
+ required_device<gfxdecode_device> m_gfxdecode;
};
diff --git a/src/mame/video/atarisy1.c b/src/mame/video/atarisy1.c
index 86572114e4c..80ff1c4e4ab 100644
--- a/src/mame/video/atarisy1.c
+++ b/src/mame/video/atarisy1.c
@@ -87,7 +87,7 @@ TILE_GET_INFO_MEMBER(atarisy1_state::get_alpha_tile_info)
int code = data & 0x3ff;
int color = (data >> 10) & 0x07;
int opaque = data & 0x2000;
- SET_TILE_INFO_MEMBER(0, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(atarisy1_state::get_playfield_tile_info)
int gfxindex = (lookup >> 8) & 15;
int code = ((lookup & 0xff) << 8) | (data & 0xff);
int color = 0x20 + (((lookup >> 12) & 15) << m_bank_color_shift[gfxindex]);
- SET_TILE_INFO_MEMBER(gfxindex, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfxindex, code, color, (data >> 15) & 1);
}
@@ -608,7 +608,7 @@ int atarisy1_state::get_bank(UINT8 prom1, UINT8 prom2, int bpp)
/* don't have one? let's make it ... first find any empty slot */
for (gfx_index = 0; gfx_index < MAX_GFX_ELEMENTS; gfx_index++)
- if (machine().gfx[gfx_index] == NULL)
+ if (m_gfxdecode->gfx(gfx_index) == NULL)
break;
assert(gfx_index != MAX_GFX_ELEMENTS);
@@ -617,15 +617,15 @@ int atarisy1_state::get_bank(UINT8 prom1, UINT8 prom2, int bpp)
switch (bpp)
{
case 4:
- machine().gfx[gfx_index] = auto_alloc(machine(), gfx_element(machine(), objlayout_4bpp, srcdata, 0x40, 256));
+ m_gfxdecode->set_gfx(gfx_index,auto_alloc(machine(), gfx_element(machine(), objlayout_4bpp, srcdata, 0x40, 256)));
break;
case 5:
- machine().gfx[gfx_index] = auto_alloc(machine(), gfx_element(machine(), objlayout_5bpp, srcdata, 0x40, 256));
+ m_gfxdecode->set_gfx(gfx_index,auto_alloc(machine(), gfx_element(machine(), objlayout_5bpp, srcdata, 0x40, 256)));
break;
case 6:
- machine().gfx[gfx_index] = auto_alloc(machine(), gfx_element(machine(), objlayout_6bpp, srcdata, 0x40, 256));
+ m_gfxdecode->set_gfx(gfx_index,auto_alloc(machine(), gfx_element(machine(), objlayout_6bpp, srcdata, 0x40, 256)));
break;
default:
@@ -633,7 +633,7 @@ int atarisy1_state::get_bank(UINT8 prom1, UINT8 prom2, int bpp)
}
/* set the color information */
- machine().gfx[gfx_index]->set_granularity(8);
+ m_gfxdecode->gfx(gfx_index)->set_granularity(8);
m_bank_color_shift[gfx_index] = bpp - 3;
/* set the entry and return it */
diff --git a/src/mame/video/atarisy2.c b/src/mame/video/atarisy2.c
index e349d6bcfe3..19e4b691a1a 100644
--- a/src/mame/video/atarisy2.c
+++ b/src/mame/video/atarisy2.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(atarisy2_state::get_alpha_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = data & 0x3ff;
int color = (data >> 13) & 0x07;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(atarisy2_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = m_playfield_tile_bank[(data >> 10) & 1] + (data & 0x3ff);
int color = (data >> 11) & 7;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
tileinfo.category = (~data >> 14) & 3;
}
diff --git a/src/mame/video/atetris.c b/src/mame/video/atetris.c
index 6dd176ef30d..9f7a952847c 100644
--- a/src/mame/video/atetris.c
+++ b/src/mame/video/atetris.c
@@ -20,7 +20,7 @@ TILE_GET_INFO_MEMBER(atetris_state::get_tile_info)
int code = videoram[tile_index * 2] | ((videoram[tile_index * 2 + 1] & 7) << 8);
int color = (videoram[tile_index * 2 + 1] & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
diff --git a/src/mame/video/badlands.c b/src/mame/video/badlands.c
index 98ebd1c707d..d11c38eb9e5 100644
--- a/src/mame/video/badlands.c
+++ b/src/mame/video/badlands.c
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(badlands_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = (data & 0x1fff) + ((data & 0x1000) ? (m_playfield_tile_bank << 12) : 0);
int color = (data >> 13) & 0x07;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
diff --git a/src/mame/video/bagman.c b/src/mame/video/bagman.c
index b2ae91678a4..51d0696126e 100644
--- a/src/mame/video/bagman.c
+++ b/src/mame/video/bagman.c
@@ -87,11 +87,11 @@ WRITE8_MEMBER(bagman_state::bagman_flipscreen_w)
TILE_GET_INFO_MEMBER(bagman_state::get_bg_tile_info)
{
- int gfxbank = (machine().gfx[2] && (m_colorram[tile_index] & 0x10)) ? 2 : 0;
+ int gfxbank = (m_gfxdecode->gfx(2) && (m_colorram[tile_index] & 0x10)) ? 2 : 0;
int code = m_videoram[tile_index] + 8 * (m_colorram[tile_index] & 0x20);
int color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfxbank, code, color, 0);
}
VIDEO_START_MEMBER(bagman_state,bagman)
@@ -123,7 +123,7 @@ void bagman_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
}
if (spriteram[offs + 2] && spriteram[offs + 3])
- machine().gfx[1]->transpen(bitmap,
+ m_gfxdecode->gfx(1)->transpen(bitmap,
cliprect,
(spriteram[offs] & 0x3f) + 2 * (spriteram[offs + 1] & 0x20),
spriteram[offs + 1] & 0x1f,
diff --git a/src/mame/video/bankp.c b/src/mame/video/bankp.c
index f0f91706d78..96f49995ab5 100644
--- a/src/mame/video/bankp.c
+++ b/src/mame/video/bankp.c
@@ -69,14 +69,14 @@ void bankp_state::palette_init()
/* 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 < m_gfxdecode->gfx(0)->colors() * m_gfxdecode->gfx(0)->granularity(); i++)
+ colortable_entry_set_value(machine().colortable, m_gfxdecode->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 < m_gfxdecode->gfx(1)->colors() * m_gfxdecode->gfx(1)->granularity(); i++)
+ colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(1)->colorbase() + i, *color_prom++ & 0x0f);
/* the bottom half of the PROM seems to be not used */
}
@@ -133,7 +133,7 @@ TILE_GET_INFO_MEMBER(bankp_state::get_bg_tile_info)
int color = m_colorram2[tile_index] >> 4;
int flags = (m_colorram2[tile_index] & 0x08) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
tileinfo.group = color;
}
@@ -143,7 +143,7 @@ TILE_GET_INFO_MEMBER(bankp_state::get_fg_tile_info)
int color = m_colorram[tile_index] >> 3;
int flags = (m_colorram[tile_index] & 0x04) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
tileinfo.group = color;
}
@@ -152,8 +152,8 @@ void bankp_state::video_start()
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, m_bg_tilemap, machine().gfx[1], 0);
- colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, machine().gfx[0], 0);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, m_gfxdecode->gfx(1), 0);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, m_gfxdecode->gfx(0), 0);
save_item(NAME(m_scroll_x));
save_item(NAME(m_priority));
diff --git a/src/mame/video/baraduke.c b/src/mame/video/baraduke.c
index 73604cf377f..28276d14b35 100644
--- a/src/mame/video/baraduke.c
+++ b/src/mame/video/baraduke.c
@@ -74,7 +74,7 @@ TILEMAP_MAPPER_MEMBER(baraduke_state::tx_tilemap_scan)
TILE_GET_INFO_MEMBER(baraduke_state::tx_get_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_textram[tile_index],
(m_textram[tile_index+0x400] << 2) & 0x1ff,
@@ -86,7 +86,7 @@ TILE_GET_INFO_MEMBER(baraduke_state::get_tile_info0)
int code = m_videoram[2*tile_index];
int attr = m_videoram[2*tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code + ((attr & 0x03) << 8),
attr,
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(baraduke_state::get_tile_info1)
int code = m_videoram[0x1000 + 2*tile_index];
int attr = m_videoram[0x1000 + 2*tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code + ((attr & 0x03) << 8),
attr,
@@ -267,7 +267,7 @@ void baraduke_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
{
for (x = 0;x <= sizex;x++)
{
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,
diff --git a/src/mame/video/batman.c b/src/mame/video/batman.c
index a9100c1fe76..203728c09a7 100644
--- a/src/mame/video/batman.c
+++ b/src/mame/video/batman.c
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(batman_state::get_alpha_tile_info)
int code = ((data & 0x400) ? (m_alpha_tile_bank * 0x400) : 0) + (data & 0x3ff);
int color = (data >> 11) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(batman_state::get_playfield_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) & 0xff;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
tileinfo.category = (data2 >> 4) & 3;
}
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(batman_state::get_playfield2_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) >> 8;
int code = data1 & 0x7fff;
int color = data2 & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
tileinfo.category = (data2 >> 4) & 3;
}
diff --git a/src/mame/video/battlane.c b/src/mame/video/battlane.c
index e0eabbe9063..d8efe02e66f 100644
--- a/src/mame/video/battlane.c
+++ b/src/mame/video/battlane.c
@@ -99,7 +99,7 @@ TILE_GET_INFO_MEMBER(battlane_state::get_tile_info_bg)
int gfxn = (attr & 0x01) + 1;
int color = (attr >> 1) & 0x03;
- SET_TILE_INFO_MEMBER(gfxn, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfxn, code, color, 0);
}
TILEMAP_MAPPER_MEMBER(battlane_state::battlane_tilemap_scan_rows_2x2)
@@ -181,7 +181,7 @@ void battlane_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx, flipy,
@@ -192,7 +192,7 @@ void battlane_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
dy = flipy ? 16 : -16;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code + 1,
color,
flipx, flipy,
diff --git a/src/mame/video/battlera.c b/src/mame/video/battlera.c
index ec99c7880dd..724fa339df5 100644
--- a/src/mame/video/battlera.c
+++ b/src/mame/video/battlera.c
@@ -30,9 +30,9 @@ void battlera_state::video_start()
m_current_scanline=0;
m_irq_enable=m_rcr_enable=m_sb_enable=m_bb_enable=0;
- machine().gfx[0]->set_source(m_HuC6270_vram);
- machine().gfx[1]->set_source(m_HuC6270_vram);
- machine().gfx[2]->set_source(m_blank_tile);
+ m_gfxdecode->gfx(0)->set_source(m_HuC6270_vram);
+ m_gfxdecode->gfx(1)->set_source(m_HuC6270_vram);
+ m_gfxdecode->gfx(2)->set_source(m_blank_tile);
}
/******************************************************************************/
@@ -123,8 +123,8 @@ WRITE8_MEMBER(battlera_state::HuC6270_data_w)
case 2: /* VRAM */
if (m_HuC6270_vram[(m_HuC6270_registers[0]<<1)|1]!=data) {
m_HuC6270_vram[(m_HuC6270_registers[0]<<1)|1]=data;
- machine().gfx[0]->mark_dirty(m_HuC6270_registers[0]>>4);
- machine().gfx[1]->mark_dirty(m_HuC6270_registers[0]>>6);
+ m_gfxdecode->gfx(0)->mark_dirty(m_HuC6270_registers[0]>>4);
+ m_gfxdecode->gfx(1)->mark_dirty(m_HuC6270_registers[0]>>6);
}
if (m_HuC6270_registers[0]<0x1000) m_vram_dirty[m_HuC6270_registers[0]]=1;
return;
@@ -182,8 +182,8 @@ WRITE8_MEMBER(battlera_state::HuC6270_data_w)
case 2: /* VWR - VRAM */
if (m_HuC6270_vram[(m_HuC6270_registers[0]<<1)|0]!=data) {
m_HuC6270_vram[(m_HuC6270_registers[0]<<1)|0]=data;
- machine().gfx[0]->mark_dirty(m_HuC6270_registers[0]>>4);
- machine().gfx[1]->mark_dirty(m_HuC6270_registers[0]>>6);
+ m_gfxdecode->gfx(0)->mark_dirty(m_HuC6270_registers[0]>>4);
+ m_gfxdecode->gfx(1)->mark_dirty(m_HuC6270_registers[0]>>6);
if (m_HuC6270_registers[0]<0x1000) m_vram_dirty[m_HuC6270_registers[0]]=1;
}
m_HuC6270_registers[0]+=m_inc_value;
@@ -272,14 +272,14 @@ void battlera_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &clip,int
if (fy) { my += 16*(cgy-1); yinc = -16; } /* Swap tile order on Y flips */
for (i=0; i<cgy; i++) {
- machine().gfx[1]->transpen(bitmap,clip,
+ m_gfxdecode->gfx(1)->transpen(bitmap,clip,
code,
colour,
fx,fy,
mx,my,0);
if (cgx)
- machine().gfx[1]->transpen(bitmap,clip,
+ m_gfxdecode->gfx(1)->transpen(bitmap,clip,
code2,
colour,
fx,fy,
@@ -301,9 +301,9 @@ UINT32 battlera_state::screen_update_battlera(screen_device &screen, bitmap_ind1
int offs,code,scrollx,scrolly,mx,my;
/* if any tiles changed, redraw the VRAM */
- if (machine().gfx[0]->dirtyseq() != m_tile_dirtyseq)
+ if (m_gfxdecode->gfx(0)->dirtyseq() != m_tile_dirtyseq)
{
- m_tile_dirtyseq = machine().gfx[0]->dirtyseq();
+ m_tile_dirtyseq = m_gfxdecode->gfx(0)->dirtyseq();
memset(m_vram_dirty, 1, 0x1000);
}
@@ -318,17 +318,17 @@ UINT32 battlera_state::screen_update_battlera(screen_device &screen, bitmap_ind1
/* If this tile was changed OR tilemap was changed, redraw */
if (m_vram_dirty[offs/2]) {
m_vram_dirty[offs/2]=0;
- machine().gfx[0]->opaque(*m_tile_bitmap,m_tile_bitmap->cliprect(),
+ m_gfxdecode->gfx(0)->opaque(*m_tile_bitmap,m_tile_bitmap->cliprect(),
code,
m_HuC6270_vram[offs] >> 4,
0,0,
8*mx,8*my);
- machine().gfx[2]->opaque(*m_front_bitmap,m_tile_bitmap->cliprect(),
+ m_gfxdecode->gfx(2)->opaque(*m_front_bitmap,m_tile_bitmap->cliprect(),
0,
0, /* fill the spot with pen 256 */
0,0,
8*mx,8*my);
- machine().gfx[0]->transmask(*m_front_bitmap,m_tile_bitmap->cliprect(),
+ m_gfxdecode->gfx(0)->transmask(*m_front_bitmap,m_tile_bitmap->cliprect(),
code,
m_HuC6270_vram[offs] >> 4,
0,0,
diff --git a/src/mame/video/battlex.c b/src/mame/video/battlex.c
index e9be54e674b..e6c0757776a 100644
--- a/src/mame/video/battlex.c
+++ b/src/mame/video/battlex.c
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(battlex_state::get_bg_tile_info)
int tile = m_videoram[tile_index * 2] | (((m_videoram[tile_index * 2 + 1] & 0x01)) << 8);
int color = (m_videoram[tile_index * 2 + 1] & 0x0e) >> 1; // high bits unused
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
}
void battlex_state::video_start()
@@ -60,7 +60,7 @@ void battlex_state::video_start()
void battlex_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
UINT8 *source = m_spriteram;
UINT8 *finish = m_spriteram + 0x200;
diff --git a/src/mame/video/battlnts.c b/src/mame/video/battlnts.c
index 0d537101627..1c73a2baa14 100644
--- a/src/mame/video/battlnts.c
+++ b/src/mame/video/battlnts.c
@@ -46,7 +46,7 @@ UINT32 battlnts_state::screen_update_battlnts(screen_device &screen, bitmap_ind1
m_k007342->tilemap_update();
m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE ,0);
- m_k007420->sprites_draw(bitmap, cliprect, machine().gfx[1]);
+ m_k007420->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(1));
m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, 1 | TILEMAP_DRAW_OPAQUE ,0);
return 0;
}
diff --git a/src/mame/video/bbusters.c b/src/mame/video/bbusters.c
index f0ba676204f..a4cfd71eef3 100644
--- a/src/mame/video/bbusters.c
+++ b/src/mame/video/bbusters.c
@@ -31,21 +31,21 @@ TILE_GET_INFO_MEMBER(bbusters_state::get_bbusters_tile_info)
{
UINT16 tile = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0,tile&0xfff,tile>>12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile&0xfff,tile>>12,0);
}
TILE_GET_INFO_MEMBER(bbusters_state::get_pf1_tile_info)
{
UINT16 tile = m_pf1_data[tile_index];
- SET_TILE_INFO_MEMBER(3,tile&0xfff,tile>>12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3,tile&0xfff,tile>>12,0);
}
TILE_GET_INFO_MEMBER(bbusters_state::get_pf2_tile_info)
{
UINT16 tile = m_pf2_data[tile_index];
- SET_TILE_INFO_MEMBER(4,tile&0xfff,tile>>12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4,tile&0xfff,tile>>12,0);
}
WRITE16_MEMBER(bbusters_state::bbusters_video_w)
@@ -145,7 +145,7 @@ inline const UINT8 *bbusters_state::get_source_ptr(gfx_element *gfx, UINT32 spri
void bbusters_state::bbusters_draw_block(bitmap_ind16 &dest,int x,int y,int size,int flipx,int flipy,UINT32 sprite,int color,int bank,int block)
{
- gfx_element *gfx = machine().gfx[bank];
+ gfx_element *gfx = m_gfxdecode->gfx(bank);
pen_t pen_base = gfx->colorbase() + gfx->granularity() * (color % gfx->colors());
UINT32 xinc=(m_scale_line_count * 0x10000 ) / size;
UINT8 pixel;
diff --git a/src/mame/video/bfm_adr2.c b/src/mame/video/bfm_adr2.c
index 10f55fefe14..5ad75b94427 100644
--- a/src/mame/video/bfm_adr2.c
+++ b/src/mame/video/bfm_adr2.c
@@ -117,10 +117,20 @@ const device_type BFM_ADDER2 = &device_creator<bfm_adder2_device>;
bfm_adder2_device::bfm_adder2_device( const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock )
: device_t(mconfig, BFM_ADDER2, "BFM ADDER2", tag, owner, clock, "bfm_adder2", __FILE__),
- m_cpu(*this, "adder2")
+ m_cpu(*this, "adder2"),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void bfm_adder2_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<bfm_adder2_device &>(device).m_gfxdecode.set_tag(tag);
+}
///////////////////////////////////////////////////////////////////////////
@@ -142,7 +152,7 @@ TILE_GET_INFO_MEMBER( bfm_adder2_device::get_tile0_info )
flags = ((data & 0x4000)?TILE_FLIPY:0) |
((data & 0x2000)?TILE_FLIPX:0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, 0, code, color, flags);
}
///////////////////////////////////////////////////////////////////////////
@@ -165,7 +175,7 @@ TILE_GET_INFO_MEMBER( bfm_adder2_device::get_tile1_info )
flags = ((data & 0x4000)?TILE_FLIPY:0) |
((data & 0x2000)?TILE_FLIPX:0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, 0, code, color, flags);
}
// video initialisation ///////////////////////////////////////////////////
@@ -533,7 +543,7 @@ static const gfx_layout charlayout =
// there are max 128 of these groups
static GFXDECODE_START( adder2 )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 )
+ GFXDECODE_ENTRY( ":gfx1", 0, charlayout, 0, 16 )
GFXDECODE_END
///////////////////////////////////////////////////////////////////////////
@@ -547,7 +557,7 @@ static MACHINE_CONFIG_FRAGMENT( adder2 )
MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, bfm_adder2_device, update_screen)
MCFG_PALETTE_LENGTH(16)
- MCFG_GFXDECODE(adder2)
+ MCFG_GFXDECODE_ADD("gfxdecode", adder2)
MCFG_CPU_ADD("adder2", M6809, ADDER_CLOCK/4 ) // adder2 board 6809 CPU at 2 Mhz
MCFG_CPU_PROGRAM_MAP(adder2_memmap) // setup adder2 board memorymap
diff --git a/src/mame/video/bfm_adr2.h b/src/mame/video/bfm_adr2.h
index 1818ddbc1d2..82b715505b7 100644
--- a/src/mame/video/bfm_adr2.h
+++ b/src/mame/video/bfm_adr2.h
@@ -7,6 +7,9 @@ public:
// construction/destruction
bfm_adder2_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
TILE_GET_INFO_MEMBER( get_tile0_info );
TILE_GET_INFO_MEMBER( get_tile1_info );
UINT32 update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -59,6 +62,7 @@ private:
UINT8 m_adder2_sc2data;
optional_device<cpu_device> m_cpu;
+ required_device<gfxdecode_device> m_gfxdecode;
};
// device type definition
@@ -72,5 +76,8 @@ extern const device_type BFM_ADDER2;
#define MCFG_BFM_ADDER2_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, BFM_ADDER2, 0)
+#define MCFG_BFM_ADDER2_GFXDECODE(_gfxtag) \
+ bfm_adder2_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/bigevglf.c b/src/mame/video/bigevglf.c
index c3f0afef943..85dbf491976 100644
--- a/src/mame/video/bigevglf.c
+++ b/src/mame/video/bigevglf.c
@@ -74,7 +74,7 @@ void bigevglf_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
sx = m_spriteram2[i + 3];
sy = 200 - m_spriteram2[i];
for (j = 0; j < 16; j++)
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_spriteram1[(code << 4) + j] + ((m_spriteram1[0x400 + (code << 4) + j] & 0xf) << 8),
m_spriteram2[i + 2] & 0xf,
0,0,
diff --git a/src/mame/video/bigstrkb.c b/src/mame/video/bigstrkb.c
index 5b2eb85071d..468629170e2 100644
--- a/src/mame/video/bigstrkb.c
+++ b/src/mame/video/bigstrkb.c
@@ -16,7 +16,7 @@ void bigstrkb_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
( rest unused )
**- End of Comments -*/
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
UINT16 *source = m_spriteram;
UINT16 *finish = source + 0x800/2;
@@ -65,7 +65,7 @@ TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile_info)
tileno = m_videoram[tile_index] & 0x0fff;
col= m_videoram[tile_index] & 0xf000;
- SET_TILE_INFO_MEMBER(0,tileno,col>>12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,col>>12,0);
}
WRITE16_MEMBER(bigstrkb_state::bsb_videoram_w)
@@ -81,7 +81,7 @@ TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile2_info)
tileno = m_videoram2[tile_index] & 0x0fff;
col= m_videoram2[tile_index] & 0xf000;
- SET_TILE_INFO_MEMBER(1,tileno,col>>12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno,col>>12,0);
}
WRITE16_MEMBER(bigstrkb_state::bsb_videoram2_w)
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile3_info)
tileno = m_videoram3[tile_index] & 0x0fff;
col= m_videoram3[tile_index] & 0xf000;
- SET_TILE_INFO_MEMBER(1,tileno+0x2000,(col>>12)+(0x100/16),0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno+0x2000,(col>>12)+(0x100/16),0);
}
WRITE16_MEMBER(bigstrkb_state::bsb_videoram3_w)
diff --git a/src/mame/video/bionicc.c b/src/mame/video/bionicc.c
index 34d1e15913d..e26386335ed 100644
--- a/src/mame/video/bionicc.c
+++ b/src/mame/video/bionicc.c
@@ -36,7 +36,7 @@
TILE_GET_INFO_MEMBER(bionicc_state::get_bg_tile_info)
{
int attr = m_bgvideoram[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(m_bgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
(attr & 0x18) >> 3,
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(bionicc_state::get_fg_tile_info)
flags = TILE_FLIPXY((attr & 0xc0) >> 6);
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
(m_fgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
(attr & 0x18) >> 3,
@@ -71,7 +71,7 @@ TILE_GET_INFO_MEMBER(bionicc_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(bionicc_state::get_tx_tile_info)
{
int attr = m_txvideoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(m_txvideoram[tile_index] & 0xff) + ((attr & 0x00c0) << 2),
attr & 0x3f,
@@ -192,7 +192,7 @@ void bionicc_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
{
UINT16 *buffered_spriteram = m_spriteram->buffer();
int offs;
- gfx_element *gfx = machine().gfx[3];
+ gfx_element *gfx = m_gfxdecode->gfx(3);
for (offs = (m_spriteram->bytes() - 8) / 2; offs >= 0; offs -= 4)
{
diff --git a/src/mame/video/bking.c b/src/mame/video/bking.c
index 4f97aee25e5..5276419c4bb 100644
--- a/src/mame/video/bking.c
+++ b/src/mame/video/bking.c
@@ -214,7 +214,7 @@ TILE_GET_INFO_MEMBER(bking_state::get_tile_info)
if (code1 & 4) flags |= TILE_FLIPX;
if (code1 & 8) flags |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(0, code0 + 256 * code1, m_palette_bank, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code0 + 256 * code1, m_palette_bank, flags);
}
@@ -231,20 +231,20 @@ UINT32 bking_state::screen_update_bking(screen_device &screen, bitmap_ind16 &bit
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
/* draw the balls */
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
m_ball1_pic,
m_palette_bank,
0, 0,
m_xld1, m_yld1, 0);
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
m_ball2_pic,
m_palette_bank,
0, 0,
m_xld2, m_yld2, 0);
/* draw the crow */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_crow_pic,
m_palette_bank,
m_crow_flip, m_crow_flip,
@@ -271,7 +271,7 @@ void bking_state::screen_eof_bking(screen_device &screen, bool state)
xld = m_xld1;
yld = m_yld1;
- machine().gfx[2]->opaque(m_colmap_ball,rect, m_ball1_pic, 0, 0, 0, 0, 0);
+ m_gfxdecode->gfx(2)->opaque(m_colmap_ball,rect, m_ball1_pic, 0, 0, 0, 0, 0);
latch = 0x0c00;
}
@@ -280,7 +280,7 @@ void bking_state::screen_eof_bking(screen_device &screen, bool state)
xld = m_xld2;
yld = m_yld2;
- machine().gfx[3]->opaque(m_colmap_ball,rect, m_ball2_pic, 0, 0, 0, 0, 0);
+ m_gfxdecode->gfx(3)->opaque(m_colmap_ball,rect, m_ball2_pic, 0, 0, 0, 0, 0);
latch = 0x0400;
}
diff --git a/src/mame/video/bladestl.c b/src/mame/video/bladestl.c
index cd8ae0a17a8..2d5fce9266a 100644
--- a/src/mame/video/bladestl.c
+++ b/src/mame/video/bladestl.c
@@ -83,7 +83,7 @@ UINT32 bladestl_state::screen_update_bladestl(screen_device &screen, bitmap_ind1
m_k007342->tilemap_update();
m_k007342->tilemap_draw(screen, bitmap, cliprect, 1, TILEMAP_DRAW_OPAQUE ,0);
- m_k007420->sprites_draw(bitmap, cliprect, machine().gfx[1]);
+ m_k007420->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(1));
m_k007342->tilemap_draw(screen, bitmap, cliprect, 1, 1 | TILEMAP_DRAW_OPAQUE ,0);
m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, 0 ,0);
m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, 1 ,0);
diff --git a/src/mame/video/blktiger.c b/src/mame/video/blktiger.c
index c78a7917da5..b50490e9a95 100644
--- a/src/mame/video/blktiger.c
+++ b/src/mame/video/blktiger.c
@@ -37,7 +37,7 @@ TILE_GET_INFO_MEMBER(blktiger_state::get_bg_tile_info)
};
UINT8 attr = m_scroll_ram[2 * tile_index + 1];
int color = (attr & 0x78) >> 3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_scroll_ram[2 * tile_index] + ((attr & 0x07) << 8),
color,
@@ -48,7 +48,7 @@ TILE_GET_INFO_MEMBER(blktiger_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(blktiger_state::get_tx_tile_info)
{
UINT8 attr = m_txvideoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_txvideoram[tile_index] + ((attr & 0xe0) << 3),
attr & 0x1f,
@@ -207,7 +207,7 @@ void blktiger_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipx = !flipx;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx,flip_screen(),
diff --git a/src/mame/video/blmbycar.c b/src/mame/video/blmbycar.c
index 5ce285dd541..9150ce253cf 100644
--- a/src/mame/video/blmbycar.c
+++ b/src/mame/video/blmbycar.c
@@ -73,7 +73,7 @@ TILE_GET_INFO_MEMBER(blmbycar_state::get_tile_info_0)
{
UINT16 code = m_vram_0[tile_index * 2 + 0];
UINT16 attr = m_vram_0[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
attr & 0x1f,
@@ -86,7 +86,7 @@ TILE_GET_INFO_MEMBER(blmbycar_state::get_tile_info_1)
{
UINT16 code = m_vram_1[tile_index * 2 + 0];
UINT16 attr = m_vram_1[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
attr & 0x1f,
@@ -191,7 +191,7 @@ void blmbycar_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
x = (x & 0x1ff) - 0x10;
y = 0xf0 - ((y & 0xff) - (y & 0x100));
- machine().gfx[0]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect,
code,
0x20 + (attr & 0xf),
flipx, flipy,
diff --git a/src/mame/video/blockade.c b/src/mame/video/blockade.c
index ac775f40b9b..36a91ba9f9c 100644
--- a/src/mame/video/blockade.c
+++ b/src/mame/video/blockade.c
@@ -17,7 +17,7 @@ TILE_GET_INFO_MEMBER(blockade_state::get_bg_tile_info)
{
int code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
void blockade_state::video_start()
diff --git a/src/mame/video/bloodbro.c b/src/mame/video/bloodbro.c
index 9ea8d482092..2ef87c58d79 100644
--- a/src/mame/video/bloodbro.c
+++ b/src/mame/video/bloodbro.c
@@ -21,7 +21,7 @@
TILE_GET_INFO_MEMBER(bloodbro_state::get_bg_tile_info)
{
int code = m_bgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0xfff,
(code >> 12),
@@ -31,7 +31,7 @@ TILE_GET_INFO_MEMBER(bloodbro_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(bloodbro_state::get_fg_tile_info)
{
int code = m_fgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
(code & 0xfff)+0x1000,
(code >> 12),
@@ -41,7 +41,7 @@ TILE_GET_INFO_MEMBER(bloodbro_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(bloodbro_state::get_tx_tile_info)
{
int code = m_txvideoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0xfff,
code >> 12,
@@ -170,7 +170,7 @@ void bloodbro_state::bloodbro_draw_sprites(screen_device &screen, bitmap_ind16 &
{
for (y = 0;y <= height;y++)
{
- machine().gfx[3]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen(bitmap,cliprect,
tile_number++,
color,
flipx,flipy,
@@ -215,7 +215,7 @@ void bloodbro_state::weststry_draw_sprites(screen_device &screen, bitmap_ind16 &
/* Remap code 0x800 <-> 0x1000 */
code = (code&0x7ff) | ((code&0x800)<<1) | ((code&0x1000)>>1);
- machine().gfx[3]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/blstroid.c b/src/mame/video/blstroid.c
index f69a269ac1a..3c827ab9d14 100644
--- a/src/mame/video/blstroid.c
+++ b/src/mame/video/blstroid.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(blstroid_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = data & 0x1fff;
int color = (data >> 13) & 0x07;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
diff --git a/src/mame/video/blueprnt.c b/src/mame/video/blueprnt.c
index 90e675f9ed4..e60ae90eabf 100644
--- a/src/mame/video/blueprnt.c
+++ b/src/mame/video/blueprnt.c
@@ -109,7 +109,7 @@ TILE_GET_INFO_MEMBER(blueprnt_state::get_bg_tile_info)
tileinfo.category = (attr & 0x80) ? 1 : 0;
if (bank) code += m_gfx_bank * 0x100;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -145,7 +145,7 @@ void blueprnt_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
// sprites are slightly misplaced, regardless of the screen flip
- machine().gfx[1]->transpen(bitmap,cliprect, code, 0, flipx, flipy, 2 + sx, sy - 1, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, 0, flipx, flipy, 2 + sx, sy - 1, 0);
}
}
diff --git a/src/mame/video/bogeyman.c b/src/mame/video/bogeyman.c
index d15550c1eb7..4d32f5cb6ad 100644
--- a/src/mame/video/bogeyman.c
+++ b/src/mame/video/bogeyman.c
@@ -73,7 +73,7 @@ TILE_GET_INFO_MEMBER(bogeyman_state::get_bg_tile_info)
int code = m_videoram[tile_index] & 0x7f;
int color = (attr >> 1) & 0x07;
- SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfxbank, code, color, 0);
}
TILE_GET_INFO_MEMBER(bogeyman_state::get_fg_tile_info)
@@ -83,7 +83,7 @@ TILE_GET_INFO_MEMBER(bogeyman_state::get_fg_tile_info)
int gfxbank = tile / 0x200;
int code = tile & 0x1ff;
- SET_TILE_INFO_MEMBER(gfxbank, code, m_colbank, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfxbank, code, m_colbank, 0);
}
void bogeyman_state::video_start()
@@ -123,7 +123,7 @@ void bogeyman_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
@@ -131,7 +131,7 @@ void bogeyman_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
if (multi)
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code + 1, color,
flipx, flipy,
sx, sy + (flip_screen() ? -16 : 16), 0);
diff --git a/src/mame/video/bombjack.c b/src/mame/video/bombjack.c
index 8173ad1034f..69a81a7232a 100644
--- a/src/mame/video/bombjack.c
+++ b/src/mame/video/bombjack.c
@@ -49,7 +49,7 @@ TILE_GET_INFO_MEMBER(bombjack_state::get_bg_tile_info)
int color = attr & 0x0f;
int flags = (attr & 0x80) ? TILE_FLIPY : 0;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(bombjack_state::get_fg_tile_info)
@@ -57,7 +57,7 @@ TILE_GET_INFO_MEMBER(bombjack_state::get_fg_tile_info)
int code = m_videoram[tile_index] + 16 * (m_colorram[tile_index] & 0x10);
int color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void bombjack_state::video_start()
@@ -116,7 +116,7 @@ void bombjack_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipy = !flipy;
}
- machine().gfx[(m_spriteram[offs] & 0x80) ? 3 : 2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx((m_spriteram[offs] & 0x80) ? 3 : 2)->transpen(bitmap,cliprect,
m_spriteram[offs] & 0x7f,
m_spriteram[offs + 1] & 0x0f,
flipx,flipy,
diff --git a/src/mame/video/bosco.c b/src/mame/video/bosco.c
index a5eb4f02957..b0bbca9bfd7 100644
--- a/src/mame/video/bosco.c
+++ b/src/mame/video/bosco.c
@@ -97,7 +97,7 @@ inline void bosco_state::get_tile_info_bosco(tile_data &tileinfo,int tile_index,
UINT8 attr = m_videoram[ram_offs + tile_index + 0x800];
tileinfo.category = (attr & 0x20) >> 5;
tileinfo.group = attr & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[ram_offs + tile_index],
attr & 0x3f,
@@ -127,8 +127,8 @@ VIDEO_START_MEMBER(bosco_state,bosco)
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, m_bg_tilemap, machine().gfx[0], 0x1f);
- colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, machine().gfx[0], 0x1f);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, m_gfxdecode->gfx(0), 0x1f);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, m_gfxdecode->gfx(0), 0x1f);
m_bg_tilemap->set_scrolldx(3,3);
@@ -197,12 +197,12 @@ void bosco_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
if (flip) sx += 32-2;
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
(spriteram[offs] & 0xfc) >> 2,
color,
flipx,flipy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0x0f));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0x0f));
}
}
@@ -222,7 +222,7 @@ void bosco_state::draw_bullets(bitmap_ind16 &bitmap, const rectangle &cliprect,
y += 2;
}
- machine().gfx[2]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transmask(bitmap,cliprect,
((m_bosco_radarattr[offs] & 0x0e) >> 1) ^ 0x07,
0,
!flip,!flip,
diff --git a/src/mame/video/brkthru.c b/src/mame/video/brkthru.c
index 4464a70810d..6d1f9b175f8 100644
--- a/src/mame/video/brkthru.c
+++ b/src/mame/video/brkthru.c
@@ -83,7 +83,7 @@ TILE_GET_INFO_MEMBER(brkthru_state::get_bg_tile_info)
int region = 1 + (code >> 7);
int colour = m_bgbasecolor + ((m_videoram[tile_index * 2 + 1] & 0x04) >> 2);
- SET_TILE_INFO_MEMBER(region, code & 0x7f, colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, region, code & 0x7f, colour,0);
}
WRITE8_MEMBER(brkthru_state::brkthru_bgram_w)
@@ -96,7 +96,7 @@ WRITE8_MEMBER(brkthru_state::brkthru_bgram_w)
TILE_GET_INFO_MEMBER(brkthru_state::get_fg_tile_info)
{
UINT8 code = m_fg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
WRITE8_MEMBER(brkthru_state::brkthru_fgram_w)
@@ -196,24 +196,24 @@ void brkthru_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
if (m_spriteram[offs] & 0x10) /* double height */
{
- machine().gfx[9]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(9)->transpen(bitmap,cliprect,
code & ~1,
color,
m_flipscreen, m_flipscreen,
sx, m_flipscreen ? sy + 16 : sy - 16,0);
- machine().gfx[9]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(9)->transpen(bitmap,cliprect,
code | 1,
color,
m_flipscreen, m_flipscreen,
sx,sy,0);
/* redraw with wraparound */
- machine().gfx[9]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(9)->transpen(bitmap,cliprect,
code & ~1,
color,
m_flipscreen, m_flipscreen,
sx,(m_flipscreen ? sy + 16 : sy - 16) + 256,0);
- machine().gfx[9]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(9)->transpen(bitmap,cliprect,
code | 1,
color,
m_flipscreen, m_flipscreen,
@@ -222,14 +222,14 @@ void brkthru_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
}
else
{
- machine().gfx[9]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(9)->transpen(bitmap,cliprect,
code,
color,
m_flipscreen, m_flipscreen,
sx,sy,0);
/* redraw with wraparound */
- machine().gfx[9]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(9)->transpen(bitmap,cliprect,
code,
color,
m_flipscreen, m_flipscreen,
diff --git a/src/mame/video/bsktball.c b/src/mame/video/bsktball.c
index cd670ece351..67ff289f02a 100644
--- a/src/mame/video/bsktball.c
+++ b/src/mame/video/bsktball.c
@@ -21,7 +21,7 @@ TILE_GET_INFO_MEMBER(bsktball_state::get_bg_tile_info)
int color = (attr & 0x40) >> 6;
int flags = (attr & 0x80) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void bsktball_state::video_start()
@@ -44,7 +44,7 @@ void bsktball_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipr
pic = (pic & 0x3f);
color = (color & 0x3f);
- machine().gfx[1]->transpen(bitmap,cliprect, pic, color, flipx, 0, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, pic, color, flipx, 0, sx, sy, 0);
}
}
diff --git a/src/mame/video/btime.c b/src/mame/video/btime.c
index 3fee5f377af..952dd635e5c 100644
--- a/src/mame/video/btime.c
+++ b/src/mame/video/btime.c
@@ -116,10 +116,10 @@ Start the video hardware emulation.
VIDEO_START_MEMBER(btime_state,btime)
{
- 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);
+ if (m_gfxdecode->gfx(0)->srcdata() == NULL)
+ m_gfxdecode->gfx(0)->set_source(m_deco_charram);
+ if (m_gfxdecode->gfx(1)->srcdata() == NULL)
+ m_gfxdecode->gfx(1)->set_source(m_deco_charram);
}
@@ -219,10 +219,10 @@ WRITE8_MEMBER(btime_state::deco_charram_w)
offset &= 0x1fff;
/* dirty sprite */
- machine().gfx[1]->mark_dirty(offset >> 5);
+ m_gfxdecode->gfx(1)->mark_dirty(offset >> 5);
/* diry char */
- machine().gfx[0]->mark_dirty(offset >> 3);
+ m_gfxdecode->gfx(0)->mark_dirty(offset >> 3);
}
WRITE8_MEMBER(btime_state::bnj_background_w)
@@ -310,7 +310,7 @@ void btime_state::draw_chars( bitmap_ind16 &bitmap, const rectangle &cliprect, U
y = 33 - y;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flip_screen(),flip_screen(),
@@ -351,7 +351,7 @@ void btime_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
y = y - sprite_y_adjust;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
sprite_ram[offs + interleave],
color,
flipx,flipy,
@@ -360,7 +360,7 @@ void btime_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
y = y + (flip_screen() ? -256 : 256);
// Wrap around
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
sprite_ram[offs + interleave],
color,
flipx,flipy,
@@ -398,7 +398,7 @@ void btime_state::draw_background( bitmap_ind16 &bitmap, const rectangle &clipre
y = 256 - y;
}
- machine().gfx[2]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->opaque(bitmap,cliprect,
gfx[tileoffset + offs],
color,
flip_screen(),flip_screen(),
@@ -494,7 +494,7 @@ UINT32 btime_state::screen_update_bnj(screen_device &screen, bitmap_ind16 &bitma
sy = 256 - sy;
}
- machine().gfx[2]->opaque(*m_background_bitmap,m_background_bitmap->cliprect(),
+ m_gfxdecode->gfx(2)->opaque(*m_background_bitmap,m_background_bitmap->cliprect(),
(m_bnj_backgroundram[offs] >> 4) + ((offs & 0x80) >> 3) + 32,
0,
flip_screen(), flip_screen(),
@@ -540,7 +540,7 @@ UINT32 btime_state::screen_update_cookrace(screen_device &screen, bitmap_ind16 &
sy = 33 - sy;
}
- machine().gfx[2]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->opaque(bitmap,cliprect,
m_bnj_backgroundram[offs],
0,
flip_screen(), flip_screen(),
diff --git a/src/mame/video/bublbobl.c b/src/mame/video/bublbobl.c
index 3f2453d58a8..44cbb0a4828 100644
--- a/src/mame/video/bublbobl.c
+++ b/src/mame/video/bublbobl.c
@@ -80,7 +80,7 @@ UINT32 bublbobl_state::screen_update_bublbobl(screen_device &screen, bitmap_ind1
flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/buggychl.c b/src/mame/video/buggychl.c
index cd0aff3b256..67573245068 100644
--- a/src/mame/video/buggychl.c
+++ b/src/mame/video/buggychl.c
@@ -19,7 +19,7 @@ void buggychl_state::video_start()
save_item(NAME(m_tmp_bitmap1));
save_item(NAME(m_tmp_bitmap2));
- machine().gfx[0]->set_source(m_charram);
+ m_gfxdecode->gfx(0)->set_source(m_charram);
}
@@ -29,7 +29,7 @@ WRITE8_MEMBER(buggychl_state::buggychl_chargen_w)
if (m_charram[offset] != data)
{
m_charram[offset] = data;
- machine().gfx[0]->mark_dirty((offset / 8) & 0xff);
+ m_gfxdecode->gfx(0)->mark_dirty((offset / 8) & 0xff);
}
}
@@ -105,7 +105,7 @@ void buggychl_state::draw_bg( bitmap_ind16 &bitmap, const rectangle &cliprect )
if (flip_screen_y())
sy = 31 - sy;
- machine().gfx[0]->opaque(m_tmp_bitmap1,m_tmp_bitmap1.cliprect(),
+ m_gfxdecode->gfx(0)->opaque(m_tmp_bitmap1,m_tmp_bitmap1.cliprect(),
code,
2,
flip_screen_x(),flip_screen_y(),
@@ -144,7 +144,7 @@ void buggychl_state::draw_fg( bitmap_ind16 &bitmap, const rectangle &cliprect )
if (flipy)
sy = 31 - sy;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
0,
flipx,flipy,
@@ -201,7 +201,7 @@ void buggychl_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
code = 8 * (lookup[pos] | ((lookup[pos + 1] & 0x07) << 8));
realflipy = (lookup[pos + 1] & 0x80) ? !flipy : flipy;
code += (realflipy ? (charline ^ 7) : charline);
- pendata = machine().gfx[1]->get_data(code);
+ pendata = m_gfxdecode->gfx(1)->get_data(code);
for (x = 0; x < 16; x++)
{
diff --git a/src/mame/video/bwing.c b/src/mame/video/bwing.c
index 59d7f06a8a9..e6b45ae6bf8 100644
--- a/src/mame/video/bwing.c
+++ b/src/mame/video/bwing.c
@@ -96,9 +96,9 @@ WRITE8_MEMBER(bwing_state::bwing_scrollram_w)
{
offs = offset;
if (offset < 0x1000)
- machine().gfx[2]->mark_dirty(offset / 32);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 32);
else
- machine().gfx[3]->mark_dirty(offset / 32);
+ m_gfxdecode->gfx(3)->mark_dirty(offset / 32);
}
(m_srbase[m_srbank])[offs] = data;
@@ -172,19 +172,19 @@ WRITE8_MEMBER(bwing_state::bwing_paletteram_w)
TILE_GET_INFO_MEMBER(bwing_state::get_fgtileinfo)
{
- tileinfo.pen_data = machine().gfx[2]->get_data(m_fgdata[tile_index] & (BW_NTILES - 1));
- tileinfo.palette_base = machine().gfx[2]->colorbase() + ((m_fgdata[tile_index] >> 7) << 3);
+ tileinfo.pen_data = m_gfxdecode->gfx(2)->get_data(m_fgdata[tile_index] & (BW_NTILES - 1));
+ tileinfo.palette_base = m_gfxdecode->gfx(2)->colorbase() + ((m_fgdata[tile_index] >> 7) << 3);
}
TILE_GET_INFO_MEMBER(bwing_state::get_bgtileinfo)
{
- tileinfo.pen_data = machine().gfx[3]->get_data(m_bgdata[tile_index] & (BW_NTILES - 1));
- tileinfo.palette_base = machine().gfx[3]->colorbase() + ((m_bgdata[tile_index] >> 7) << 3);
+ tileinfo.pen_data = m_gfxdecode->gfx(3)->get_data(m_bgdata[tile_index] & (BW_NTILES - 1));
+ tileinfo.palette_base = m_gfxdecode->gfx(3)->colorbase() + ((m_bgdata[tile_index] >> 7) << 3);
}
TILE_GET_INFO_MEMBER(bwing_state::get_charinfo)
{
- SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, m_videoram[tile_index], 0, 0);
}
TILEMAP_MAPPER_MEMBER(bwing_state::bwing_scan_cols)
@@ -219,20 +219,20 @@ void bwing_state::video_start()
for (i = 0; i < 8; i++)
m_sreg[i] = 0;
-// m_fgfx = machine().gfx[2];
- machine().gfx[2]->set_source(m_srbase[1]);
+// m_fgfx = m_gfxdecode->gfx(2);
+ m_gfxdecode->gfx(2)->set_source(m_srbase[1]);
-// m_bgfx = machine().gfx[3];
- machine().gfx[3]->set_source(m_srbase[1] + 0x1000);
+// m_bgfx = m_gfxdecode->gfx(3);
+ m_gfxdecode->gfx(3)->set_source(m_srbase[1] + 0x1000);
/*
WTF??
- dwptr = machine().gfx[2]->pen_usage();
+ dwptr = m_gfxdecode->gfx(2)->pen_usage();
if (dwptr)
{
dwptr[0] = 0;
for(i = 1; i < BW_NTILES; i++)
- dwptr[i] = -1;
+ dwptr[i) = -1;
}
*/
}
@@ -243,7 +243,7 @@ void bwing_state::video_start()
void bwing_state::draw_sprites( bitmap_ind16 &bmp, const rectangle &clip, UINT8 *ram, int pri )
{
int attrib, fx, fy, code, x, y, color, i;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
for (i = 0; i < 0x200; i += 4)
{
diff --git a/src/mame/video/cabal.c b/src/mame/video/cabal.c
index 5034ca6e912..7dbbe56e17d 100644
--- a/src/mame/video/cabal.c
+++ b/src/mame/video/cabal.c
@@ -16,7 +16,7 @@ TILE_GET_INFO_MEMBER(cabal_state::get_back_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile,
color,
@@ -30,7 +30,7 @@ TILE_GET_INFO_MEMBER(cabal_state::get_text_tile_info)
tile &= 0x3ff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -126,7 +126,7 @@ void cabal_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
flipy = !flipy;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
tile_number,
color,
flipx,flipy,
diff --git a/src/mame/video/calomega.c b/src/mame/video/calomega.c
index 11827c27673..971a8eba9d1 100644
--- a/src/mame/video/calomega.c
+++ b/src/mame/video/calomega.c
@@ -51,7 +51,7 @@ TILE_GET_INFO_MEMBER(calomega_state::get_bg_tile_info)
if (attr == 0x32) /* Is the palette wrong? */
color = 0x39; /* 0x39 is the best match */
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
void calomega_state::video_start()
diff --git a/src/mame/video/canyon.c b/src/mame/video/canyon.c
index 61df3e2c8bf..d02e3443417 100644
--- a/src/mame/video/canyon.c
+++ b/src/mame/video/canyon.c
@@ -19,7 +19,7 @@ TILE_GET_INFO_MEMBER(canyon_state::get_bg_tile_info)
{
UINT8 code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code & 0x3f, code >> 7, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x3f, code >> 7, 0);
}
@@ -40,7 +40,7 @@ void canyon_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
int c = m_videoram[0x3d0 + 2 * i + 0x9];
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
c >> 3,
i,
!(c & 0x80), 0,
diff --git a/src/mame/video/carjmbre.c b/src/mame/video/carjmbre.c
index f4f58b7deb5..c7957e2d8c4 100644
--- a/src/mame/video/carjmbre.c
+++ b/src/mame/video/carjmbre.c
@@ -87,7 +87,7 @@ TILE_GET_INFO_MEMBER(carjmbre_state::get_carjmbre_tile_info)
UINT8 attr = m_videoram[tile_index + 0x400];
tile_number += (attr & 0x80) << 1; /* bank */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
attr & 0xf,
@@ -145,7 +145,7 @@ UINT32 carjmbre_state::screen_update_carjmbre(screen_device &screen, bitmap_ind1
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_spriteram[troffs + 1],
m_spriteram[troffs + 2] & 0xf,
flipx,flipy,
diff --git a/src/mame/video/carpolo.c b/src/mame/video/carpolo.c
index 141e48cdd87..c1a1563f4db 100644
--- a/src/mame/video/carpolo.c
+++ b/src/mame/video/carpolo.c
@@ -178,7 +178,7 @@ static void draw_alpha_line(running_machine &machine, bitmap_ind16 &bitmap, cons
code = state->m_alpharam[alpha_line * 32 + x] >> 2;
col = state->m_alpharam[alpha_line * 32 + x] & 0x03;
- machine.gfx[2]->transpen(bitmap,cliprect,
+ state->m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,col,
0,0,
x*8,video_line*8,0);
@@ -205,14 +205,14 @@ void carpolo_state::draw_sprite(bitmap_ind16 &bitmap, const rectangle &cliprect,
x = 240 - x;
y = 240 - y;
-
- machine().gfx[0]->transpen(bitmap,cliprect,
+
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
remapped_code, col,
0, flipy,
x, y,0);
/* draw with wrap around */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
remapped_code, col,
0, flipy,
(INT16)x - 256, y,0);
@@ -262,14 +262,14 @@ UINT32 carpolo_state::screen_update_carpolo(screen_device &screen, bitmap_ind16
/* left goal - position determined by bit 6 of the
horizontal and vertical timing PROMs */
- machine().gfx[1]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->zoom_transpen(bitmap,cliprect,
0,0,
0,0,
LEFT_GOAL_X,GOAL_Y,
0x20000,0x20000,0);
/* right goal */
- machine().gfx[1]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->zoom_transpen(bitmap,cliprect,
0,1,
1,0,
RIGHT_GOAL_X,GOAL_Y,
@@ -358,12 +358,12 @@ int carpolo_state::check_sprite_sprite_collision(int x1, int y1, int code1, int
m_sprite_sprite_collision_bitmap1->fill(0);
m_sprite_sprite_collision_bitmap2->fill(0);
- machine().gfx[0]->opaque(*m_sprite_sprite_collision_bitmap1,m_sprite_sprite_collision_bitmap1->cliprect(),
+ m_gfxdecode->gfx(0)->opaque(*m_sprite_sprite_collision_bitmap1,m_sprite_sprite_collision_bitmap1->cliprect(),
code1,0,
0,flipy1,
x1,y1);
- machine().gfx[0]->opaque(*m_sprite_sprite_collision_bitmap2,m_sprite_sprite_collision_bitmap2->cliprect(),
+ m_gfxdecode->gfx(0)->opaque(*m_sprite_sprite_collision_bitmap2,m_sprite_sprite_collision_bitmap2->cliprect(),
code2,0,
0,flipy2,
x2,y2);
@@ -411,12 +411,12 @@ int carpolo_state::check_sprite_left_goal_collision(int x1, int y1, int code1, i
m_sprite_goal_collision_bitmap1->fill(0);
m_sprite_goal_collision_bitmap2->fill(0);
- machine().gfx[0]->opaque(*m_sprite_goal_collision_bitmap1,m_sprite_goal_collision_bitmap1->cliprect(),
+ m_gfxdecode->gfx(0)->opaque(*m_sprite_goal_collision_bitmap1,m_sprite_goal_collision_bitmap1->cliprect(),
code1,0,
0,flipy1,
x1,y1);
- machine().gfx[1]->zoom_transpen(*m_sprite_goal_collision_bitmap2,m_sprite_goal_collision_bitmap2->cliprect(),
+ m_gfxdecode->gfx(1)->zoom_transpen(*m_sprite_goal_collision_bitmap2,m_sprite_goal_collision_bitmap2->cliprect(),
0,0,
0,0,
x2,y2,
@@ -468,12 +468,12 @@ int carpolo_state::check_sprite_right_goal_collision(int x1, int y1, int code1,
m_sprite_goal_collision_bitmap1->fill(0);
m_sprite_goal_collision_bitmap2->fill(0);
- machine().gfx[0]->opaque(*m_sprite_goal_collision_bitmap1,m_sprite_goal_collision_bitmap1->cliprect(),
+ m_gfxdecode->gfx(0)->opaque(*m_sprite_goal_collision_bitmap1,m_sprite_goal_collision_bitmap1->cliprect(),
code1,0,
0,flipy1,
x1,y1);
- machine().gfx[1]->zoom_transpen(*m_sprite_goal_collision_bitmap2,m_sprite_goal_collision_bitmap2->cliprect(),
+ m_gfxdecode->gfx(1)->zoom_transpen(*m_sprite_goal_collision_bitmap2,m_sprite_goal_collision_bitmap2->cliprect(),
0,1,
1,0,
x2,y2,
@@ -513,7 +513,7 @@ int carpolo_state::check_sprite_border_collision(UINT8 x1, UINT8 y1, int code1,
x1 = 240 - x1;
y1 = 240 - y1;
- machine().gfx[0]->opaque(*m_sprite_border_collision_bitmap,m_sprite_border_collision_bitmap->cliprect(),
+ m_gfxdecode->gfx(0)->opaque(*m_sprite_border_collision_bitmap,m_sprite_border_collision_bitmap->cliprect(),
code1,0,
0,flipy1,
0,0);
diff --git a/src/mame/video/cave.c b/src/mame/video/cave.c
index 3a8e555645f..a047f275e9a 100644
--- a/src/mame/video/cave.c
+++ b/src/mame/video/cave.c
@@ -243,7 +243,7 @@ inline void cave_state::get_tile_info( tile_data &tileinfo, int tile_index, int
code = (code & 0x00ffffff);
}
- SET_TILE_INFO_MEMBER( GFX, code, color, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, GFX, code, color, 0 );
tileinfo.category = pri;
}
@@ -287,7 +287,7 @@ TILE_GET_INFO_MEMBER(cave_state::sailormn_get_tile_info_2)
code += 0x40000;
}
- SET_TILE_INFO_MEMBER( 2, code, color, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0 );
tileinfo.category = pri;
}
@@ -425,9 +425,9 @@ void cave_state::cave_vh_start( int num )
m_row_effect_offs_n = -1;
m_row_effect_offs_f = 1;
- m_background_pen = machine().config().m_gfxdecodeinfo[0].color_codes_start +
- (machine().config().m_gfxdecodeinfo[0].total_color_codes - 1) *
- machine().gfx[0]->granularity();
+ m_background_pen = m_gfxdecode->gfx(0)->colorbase() +
+ (m_gfxdecode->gfx(0)->colors() - 1) *
+ m_gfxdecode->gfx(0)->granularity();
switch (m_kludge)
{
diff --git a/src/mame/video/cbasebal.c b/src/mame/video/cbasebal.c
index 02d1d55ed00..2e00a66a39b 100644
--- a/src/mame/video/cbasebal.c
+++ b/src/mame/video/cbasebal.c
@@ -11,7 +11,7 @@
TILE_GET_INFO_MEMBER(cbasebal_state::get_bg_tile_info)
{
UINT8 attr = m_scrollram[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_scrollram[2 * tile_index] + ((attr & 0x07) << 8) + 0x800 * m_tilebank,
(attr & 0xf0) >> 4,
@@ -21,7 +21,7 @@ TILE_GET_INFO_MEMBER(cbasebal_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(cbasebal_state::get_fg_tile_info)
{
UINT8 attr = m_textram[tile_index + 0x800];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_textram[tile_index] + ((attr & 0xf0) << 4),
attr & 0x07,
@@ -155,7 +155,7 @@ void cbasebal_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipx = !flipx;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx,m_flipscreen,
diff --git a/src/mame/video/ccastles.c b/src/mame/video/ccastles.c
index ab01e882eb8..473137e3a90 100644
--- a/src/mame/video/ccastles.c
+++ b/src/mame/video/ccastles.c
@@ -267,7 +267,7 @@ UINT32 ccastles_state::screen_update_ccastles(screen_device &screen, bitmap_ind1
int which = spriteaddr[offs];
int color = spriteaddr[offs + 2] >> 7;
- machine().gfx[0]->transpen(m_spritebitmap,cliprect, which, color, flip, flip, x, y, 7);
+ m_gfxdecode->gfx(0)->transpen(m_spritebitmap,cliprect, which, color, flip, flip, x, y, 7);
}
/* draw the bitmap to the screen, looping over Y */
diff --git a/src/mame/video/cclimber.c b/src/mame/video/cclimber.c
index 06de9cb527c..25da0b483c1 100644
--- a/src/mame/video/cclimber.c
+++ b/src/mame/video/cclimber.c
@@ -359,7 +359,7 @@ TILE_GET_INFO_MEMBER(cclimber_state::cclimber_get_pf_tile_info)
color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
@@ -376,7 +376,7 @@ TILE_GET_INFO_MEMBER(cclimber_state::swimmer_get_pf_tile_info)
code = ((m_colorram[tile_index] & 0x10) << 4) | m_videoram[tile_index];
color = ((*m_swimmer_palettebank & 0x01) << 4) | (m_colorram[tile_index] & 0x0f);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
@@ -388,7 +388,7 @@ TILE_GET_INFO_MEMBER(cclimber_state::toprollr_get_pf_tile_info)
code = ((attr & 0x30) << 4) | m_videoram[tile_index];
color = attr & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -405,7 +405,7 @@ TILE_GET_INFO_MEMBER(cclimber_state::cclimber_get_bs_tile_info)
code = ((m_bigsprite_control[1] & 0x08) << 5) | m_bigsprite_videoram[tile_index];
color = m_bigsprite_control[1] & 0x07;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
@@ -422,7 +422,7 @@ TILE_GET_INFO_MEMBER(cclimber_state::toprollr_get_bs_tile_info)
code = ((m_bigsprite_control[1] & 0x18) << 5) | m_bigsprite_videoram[tile_index];
color = m_bigsprite_control[1] & 0x07;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
@@ -431,7 +431,7 @@ TILE_GET_INFO_MEMBER(cclimber_state::toproller_get_bg_tile_info)
int code = ((m_toprollr_bg_coloram[tile_index] & 0x40) << 2) | m_toprollr_bg_videoram[tile_index];
int color = m_toprollr_bg_coloram[tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(3, code, color, TILE_FLIPX);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, code, color, TILE_FLIPX);
}
@@ -657,13 +657,13 @@ UINT32 cclimber_state::screen_update_cclimber(screen_device &screen, bitmap_ind1
if ((m_bigsprite_control[0] & 0x01))
{
cclimber_draw_bigsprite(screen, bitmap, cliprect);
- cclimber_draw_sprites(bitmap, cliprect, machine().gfx[1]);
+ cclimber_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
}
/* draw the "big sprite" over the regular sprites */
else
{
- cclimber_draw_sprites(bitmap, cliprect, machine().gfx[1]);
+ cclimber_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
cclimber_draw_bigsprite(screen, bitmap, cliprect);
}
@@ -691,13 +691,13 @@ UINT32 cclimber_state::screen_update_yamato(screen_device &screen, bitmap_ind16
if ((m_bigsprite_control[0] & 0x01))
{
cclimber_draw_bigsprite(screen, bitmap, cliprect);
- toprollr_draw_sprites(bitmap, cliprect, machine().gfx[1]);
+ toprollr_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
}
/* draw the "big sprite" over the regular sprites */
else
{
- toprollr_draw_sprites(bitmap, cliprect, machine().gfx[1]);
+ toprollr_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
cclimber_draw_bigsprite(screen, bitmap, cliprect);
}
@@ -743,13 +743,13 @@ UINT32 cclimber_state::screen_update_swimmer(screen_device &screen, bitmap_ind16
if ((m_bigsprite_control[0] & 0x01))
{
cclimber_draw_bigsprite(screen, bitmap, cliprect);
- swimmer_draw_sprites(bitmap, cliprect, machine().gfx[1]);
+ swimmer_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
}
/* draw the "big sprite" over the regular sprites */
else
{
- swimmer_draw_sprites(bitmap, cliprect, machine().gfx[1]);
+ swimmer_draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
cclimber_draw_bigsprite(screen, bitmap, cliprect);
}
@@ -774,7 +774,7 @@ UINT32 cclimber_state::screen_update_toprollr(screen_device &screen, bitmap_ind1
/* draw the "big sprite" over the regular sprites */
if ((m_bigsprite_control[1] & 0x20))
{
- toprollr_draw_sprites(bitmap, scroll_area_clip, machine().gfx[1]);
+ toprollr_draw_sprites(bitmap, scroll_area_clip, m_gfxdecode->gfx(1));
toprollr_draw_bigsprite(screen, bitmap, scroll_area_clip);
}
@@ -782,7 +782,7 @@ UINT32 cclimber_state::screen_update_toprollr(screen_device &screen, bitmap_ind1
else
{
toprollr_draw_bigsprite(screen, bitmap, scroll_area_clip);
- toprollr_draw_sprites(bitmap, scroll_area_clip, machine().gfx[1]);
+ toprollr_draw_sprites(bitmap, scroll_area_clip, m_gfxdecode->gfx(1));
}
m_pf_tilemap->mark_all_dirty();
diff --git a/src/mame/video/centiped.c b/src/mame/video/centiped.c
index 0aac4efb8c3..fdf07ee1dff 100644
--- a/src/mame/video/centiped.c
+++ b/src/mame/video/centiped.c
@@ -19,7 +19,7 @@ TILE_GET_INFO_MEMBER(centiped_state::centiped_get_tile_info)
UINT8 *videoram = m_videoram;
int data = videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, (data & 0x3f) + 0x40, 0, TILE_FLIPYX(data >> 6));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, (data & 0x3f) + 0x40, 0, TILE_FLIPYX(data >> 6));
}
@@ -29,7 +29,7 @@ TILE_GET_INFO_MEMBER(centiped_state::warlords_get_tile_info)
int data = videoram[tile_index];
int color = ((tile_index & 0x10) >> 4) | ((tile_index & 0x200) >> 8) | (m_flipscreen >> 5);
- SET_TILE_INFO_MEMBER(0, data & 0x3f, color, TILE_FLIPYX(data >> 6));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, data & 0x3f, color, TILE_FLIPYX(data >> 6));
}
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(centiped_state::milliped_get_tile_info)
/* Flip both x and y if flipscreen is non-zero */
int flip_tiles = (m_flipscreen) ? 0x03 : 0;
- SET_TILE_INFO_MEMBER(0, (data & 0x3f) + 0x40 + (bank * 0x80), color, TILE_FLIPYX(flip_tiles));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, (data & 0x3f) + 0x40 + (bank * 0x80), color, TILE_FLIPYX(flip_tiles));
}
@@ -52,7 +52,7 @@ TILE_GET_INFO_MEMBER(centiped_state::bullsdrt_get_tile_info)
int data = videoram[tile_index];
int bank = m_bullsdrt_tiles_bankram[tile_index & 0x1f] & 0x0f;
- SET_TILE_INFO_MEMBER(0, (data & 0x3f) + 0x40 * bank, 0, TILE_FLIPYX(data >> 6));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, (data & 0x3f) + 0x40 * bank, 0, TILE_FLIPYX(data >> 6));
}
@@ -439,7 +439,7 @@ UINT32 centiped_state::screen_update_centiped(screen_device &screen, bitmap_ind1
int x = spriteram[offs + 0x20];
int y = 240 - spriteram[offs + 0x10];
- machine().gfx[1]->transmask(bitmap,spriteclip, code, color, flipx, flipy, x, y, m_penmask[color & 0x3f]);
+ m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip, code, color, flipx, flipy, x, y, m_penmask[color & 0x3f]);
}
return 0;
}
@@ -484,7 +484,7 @@ UINT32 centiped_state::screen_update_warlords(screen_device &screen, bitmap_ind1
flipx = !flipx;
}
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, x, y, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, x, y, 0);
}
return 0;
}
@@ -515,7 +515,7 @@ UINT32 centiped_state::screen_update_bullsdrt(screen_device &screen, bitmap_ind1
int x = spriteram[offs + 0x20];
int y = 240 - spriteram[offs + 0x10];
- machine().gfx[1]->transpen(bitmap,spriteclip, code, color & 0x3f, 1, flipy, x, y, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,spriteclip, code, color & 0x3f, 1, flipy, x, y, 0);
}
return 0;
}
@@ -552,7 +552,7 @@ UINT32 centiped_state::screen_update_milliped(screen_device &screen, bitmap_ind1
flipy = !flipy;
}
- machine().gfx[1]->transmask(bitmap,spriteclip, code, color, flipx, flipy, x, y, m_penmask[color & 0x3f]);
+ m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip, code, color, flipx, flipy, x, y, m_penmask[color & 0x3f]);
}
return 0;
}
diff --git a/src/mame/video/chaknpop.c b/src/mame/video/chaknpop.c
index 4fbee7246f2..c7a424af535 100644
--- a/src/mame/video/chaknpop.c
+++ b/src/mame/video/chaknpop.c
@@ -137,7 +137,7 @@ TILE_GET_INFO_MEMBER(chaknpop_state::chaknpop_get_tx_tile_info)
tile |= tile_h_bank;
- SET_TILE_INFO_MEMBER(1, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color, 0);
}
@@ -199,7 +199,7 @@ void chaknpop_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
tile,
color,
flipx, flipy,
diff --git a/src/mame/video/champbas.c b/src/mame/video/champbas.c
index 65c94debe60..a600c08b4bd 100644
--- a/src/mame/video/champbas.c
+++ b/src/mame/video/champbas.c
@@ -134,7 +134,7 @@ TILE_GET_INFO_MEMBER(champbas_state::champbas_get_bg_tile_info)
int code = m_bg_videoram[tile_index] | (m_gfx_bank << 8);
int color = (m_bg_videoram[tile_index + 0x400] & 0x1f) | 0x20;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(champbas_state::exctsccr_get_bg_tile_info)
@@ -142,7 +142,7 @@ TILE_GET_INFO_MEMBER(champbas_state::exctsccr_get_bg_tile_info)
int code = m_bg_videoram[tile_index] | (m_gfx_bank << 8);
int color = m_bg_videoram[tile_index + 0x400] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -191,7 +191,7 @@ WRITE8_MEMBER(champbas_state::champbas_flipscreen_w)
void champbas_state::champbas_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
int offs;
- gfx_element* const gfx = machine().gfx[1];
+ gfx_element* const gfx = m_gfxdecode->gfx(1);
for (offs = m_spriteram.bytes() - 2; offs >= 0; offs -= 2)
{
@@ -241,7 +241,7 @@ void champbas_state::exctsccr_draw_sprites( bitmap_ind16 &bitmap, const rectangl
bank = ((obj1[offs + 1] >> 4) & 1);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code + (bank << 6),
color,
flipx, flipy,
@@ -264,12 +264,12 @@ void champbas_state::exctsccr_draw_sprites( bitmap_ind16 &bitmap, const rectangl
color = (obj1[offs + 1]) & 0x0f;
- machine().gfx[2]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transmask(bitmap,cliprect,
code,
color,
flipx, flipy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[2], color, 0x10));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(2), color, 0x10));
}
}
diff --git a/src/mame/video/cheekyms.c b/src/mame/video/cheekyms.c
index 254c3c72eaa..738b6afaea6 100644
--- a/src/mame/video/cheekyms.c
+++ b/src/mame/video/cheekyms.c
@@ -87,7 +87,7 @@ TILE_GET_INFO_MEMBER(cheekyms_state::cheekyms_get_tile_info)
color = palette | (x >> 1);
}
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void cheekyms_state::video_start()
@@ -155,7 +155,7 @@ UINT32 cheekyms_state::screen_update_cheekyms(screen_device &screen, bitmap_ind1
m_bitmap_buffer->fill(0, cliprect);
/* sprites go under the playfield */
- draw_sprites(bitmap, cliprect, machine().gfx[1], flip);
+ draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1), flip);
/* draw the tilemap to a temp bitmap */
m_cm_tilemap->draw(screen, *m_bitmap_buffer, cliprect, 0, 0);
diff --git a/src/mame/video/circus.c b/src/mame/video/circus.c
index 45161751e14..8f15625b15f 100644
--- a/src/mame/video/circus.c
+++ b/src/mame/video/circus.c
@@ -31,7 +31,7 @@ TILE_GET_INFO_MEMBER(circus_state::get_bg_tile_info)
{
int code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
void circus_state::video_start()
@@ -60,7 +60,7 @@ void circus_state::draw_line( bitmap_ind16 &bitmap, const rectangle &cliprect, i
void circus_state::draw_sprite_collision( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- gfx_element *sprite_gfx = machine().gfx[1];
+ gfx_element *sprite_gfx = m_gfxdecode->gfx(1);
const UINT8 *sprite_data = sprite_gfx->get_data(m_clown_z);
int sx, sy, dx, dy;
int pixel, collision = 0;
@@ -168,7 +168,7 @@ void circus_state::robotbwl_draw_bowling_alley( bitmap_ind16 &bitmap, const rect
void circus_state::robotbwl_draw_ball( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- machine().gfx[1]->transpen(bitmap,/* Y is horizontal position */
+ m_gfxdecode->gfx(1)->transpen(bitmap,/* Y is horizontal position */
cliprect,
m_clown_z,
0,
@@ -187,7 +187,7 @@ UINT32 circus_state::screen_update_robotbwl(screen_device &screen, bitmap_ind16
void circus_state::crash_draw_car( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- machine().gfx[1]->transpen(bitmap,/* Y is horizontal position */
+ m_gfxdecode->gfx(1)->transpen(bitmap,/* Y is horizontal position */
cliprect,
m_clown_z,
0,
diff --git a/src/mame/video/circusc.c b/src/mame/video/circusc.c
index 62be8f47b9f..afe4776b674 100644
--- a/src/mame/video/circusc.c
+++ b/src/mame/video/circusc.c
@@ -104,7 +104,7 @@ TILE_GET_INFO_MEMBER(circusc_state::get_tile_info)
UINT8 attr = m_colorram[tile_index];
tileinfo.category = (attr & 0x10) >> 4;
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
m_videoram[tile_index] + ((attr & 0x20) << 3),
attr & 0x0f,
TILE_FLIPYX((attr & 0xc0) >> 6));
@@ -186,11 +186,11 @@ void circusc_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
}
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
code, color,
flipx,flipy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
diff --git a/src/mame/video/cischeat.c b/src/mame/video/cischeat.c
index fdb59b325ea..5742837034e 100644
--- a/src/mame/video/cischeat.c
+++ b/src/mame/video/cischeat.c
@@ -170,14 +170,14 @@ TILE_GET_INFO_MEMBER(cischeat_state::cischeat_get_scroll_tile_info_8x8)
{
int tmap = (FPTR)tilemap.user_data();
UINT16 code = m_scrollram[tmap][tile_index];
- SET_TILE_INFO_MEMBER(tmap, (code & 0xfff), code >> (16 - m_bits_per_color_code), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, tmap, (code & 0xfff), code >> (16 - m_bits_per_color_code), 0);
}
TILE_GET_INFO_MEMBER(cischeat_state::cischeat_get_scroll_tile_info_16x16)
{
int tmap = (FPTR)tilemap.user_data();
UINT16 code = m_scrollram[tmap][tile_index/4];
- SET_TILE_INFO_MEMBER(tmap, (code & 0xfff) * 4 + (tile_index & 3), code >> (16 - m_bits_per_color_code), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, tmap, (code & 0xfff) * 4 + (tile_index & 3), code >> (16 - m_bits_per_color_code), 0);
}
void cischeat_state::create_tilemaps()
@@ -704,7 +704,7 @@ void cischeat_state::cischeat_draw_road(bitmap_ind16 &bitmap, const rectangle &c
int min_priority, max_priority;
rectangle rect = cliprect;
- gfx_element *gfx = machine().gfx[(road_num & 1)?5:4];
+ gfx_element *gfx = m_gfxdecode->gfx((road_num & 1)?5:4);
UINT16 *roadram = m_roadram[road_num & 1];
@@ -794,7 +794,7 @@ void cischeat_state::f1gpstar_draw_road(bitmap_ind16 &bitmap, const rectangle &c
int min_priority, max_priority;
rectangle rect = cliprect;
- gfx_element *gfx = machine().gfx[(road_num & 1)?5:4];
+ gfx_element *gfx = m_gfxdecode->gfx((road_num & 1)?5:4);
UINT16 *roadram = m_roadram[road_num & 1];
@@ -1003,7 +1003,7 @@ if ( (m_debugsprites) && ( ((attr & 0x0300)>>8) != (m_debugsprites-1) ) ) { cont
{
for (x = xstart; x != xend; x += xinc)
{
- machine().gfx[3]->zoom_transtable(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->zoom_transtable(bitmap,cliprect,
code++,
color,
flipx,flipy,
@@ -1157,7 +1157,7 @@ if ( (m_debugsprites) && ( ((attr & 0x0300)>>8) != (m_debugsprites-1) ) ) { cont
{
for (x = xstart; x != xend; x += xinc)
{
- machine().gfx[3]->zoom_transtable(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->zoom_transtable(bitmap,cliprect,
code++,
color,
flipx,flipy,
diff --git a/src/mame/video/citycon.c b/src/mame/video/citycon.c
index a302f8a9c13..79c253926c4 100644
--- a/src/mame/video/citycon.c
+++ b/src/mame/video/citycon.c
@@ -24,7 +24,7 @@ TILEMAP_MAPPER_MEMBER(citycon_state::citycon_scan)
TILE_GET_INFO_MEMBER(citycon_state::get_fg_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index],
(tile_index & 0x03e0) >> 5, /* color depends on scanline only */
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(citycon_state::get_bg_tile_info)
{
UINT8 *rom = memregion("gfx4")->base();
int code = rom[0x1000 * m_bg_image + tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3 + m_bg_image,
code,
rom[0xc000 + 0x100 * m_bg_image + code],
@@ -117,7 +117,7 @@ void citycon_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
flipx = !flipx;
}
- machine().gfx[m_spriteram[offs + 1] & 0x80 ? 2 : 1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_spriteram[offs + 1] & 0x80 ? 2 : 1)->transpen(bitmap,cliprect,
m_spriteram[offs + 1] & 0x7f,
m_spriteram[offs + 2] & 0x0f,
flipx,flip_screen(),
diff --git a/src/mame/video/cloak.c b/src/mame/video/cloak.c
index 88545834834..0d215b19d97 100644
--- a/src/mame/video/cloak.c
+++ b/src/mame/video/cloak.c
@@ -155,7 +155,7 @@ TILE_GET_INFO_MEMBER(cloak_state::get_bg_tile_info)
UINT8 *videoram = m_videoram;
int code = videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
void cloak_state::video_start()
@@ -212,7 +212,7 @@ void cloak_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect, code, 0, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, 0, flipx, flipy, sx, sy, 0);
}
}
diff --git a/src/mame/video/cloud9.c b/src/mame/video/cloud9.c
index 3324ec223e5..315f6946c0a 100644
--- a/src/mame/video/cloud9.c
+++ b/src/mame/video/cloud9.c
@@ -253,9 +253,9 @@ UINT32 cloud9_state::screen_update_cloud9(screen_device &screen, bitmap_ind16 &b
int which = spriteaddr[offs + 0x20];
int color = 0;
- machine().gfx[0]->transpen(m_spritebitmap,cliprect, which, color, xflip, yflip, x, y, 0);
+ m_gfxdecode->gfx(0)->transpen(m_spritebitmap,cliprect, which, color, xflip, yflip, x, y, 0);
if (x >= 256 - 16)
- machine().gfx[0]->transpen(m_spritebitmap,cliprect, which, color, xflip, yflip, x - 256, y, 0);
+ m_gfxdecode->gfx(0)->transpen(m_spritebitmap,cliprect, which, color, xflip, yflip, x - 256, y, 0);
}
/* draw the bitmap to the screen, looping over Y */
diff --git a/src/mame/video/clshroad.c b/src/mame/video/clshroad.c
index 8ea50252289..885aa5f6db2 100644
--- a/src/mame/video/clshroad.c
+++ b/src/mame/video/clshroad.c
@@ -110,7 +110,7 @@ TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_0a)
tile_index = (tile_index & 0x1f) + (tile_index & ~0x1f)*2;
code = m_vram_0[ tile_index * 2 + 0x40 ];
// color = m_vram_0[ tile_index * 2 + 0x41 ];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
0,
@@ -123,7 +123,7 @@ TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_0b)
tile_index = (tile_index & 0x1f) + (tile_index & ~0x1f)*2;
code = m_vram_0[ tile_index * 2 + 0x00 ];
// color = m_vram_0[ tile_index * 2 + 0x01 ];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
0,
@@ -179,7 +179,7 @@ TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_fb1)
UINT8 code = m_vram_1[ tile_index + 0x000 ];
UINT8 color = m_vram_1[ tile_index + 0x400 ] & 0x3f;
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
color,
@@ -190,7 +190,7 @@ TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_1)
{
UINT8 code = m_vram_1[ tile_index + 0x000 ];
UINT8 color = m_vram_1[ tile_index + 0x400 ];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code + ((color & 0xf0)<<4),
color & 0x0f,
@@ -224,7 +224,7 @@ VIDEO_START_MEMBER(clshroad_state,firebatl)
m_tilemap_0b->set_scrolldx(-0x30, -0xb5);
m_tilemap_0b->set_transparent_pen(0 );
- colortable_configure_tilemap_groups(machine().colortable, m_tilemap_1, machine().gfx[2], 0x0f);
+ colortable_configure_tilemap_groups(machine().colortable, m_tilemap_1, m_gfxdecode->gfx(2), 0x0f);
}
VIDEO_START_MEMBER(clshroad_state,clshroad)
@@ -303,7 +303,7 @@ void clshroad_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
attr & 0x0f,
flipx,flipy,
diff --git a/src/mame/video/cninja.c b/src/mame/video/cninja.c
index 5cbd1a91cc1..91d3d7c9ffa 100644
--- a/src/mame/video/cninja.c
+++ b/src/mame/video/cninja.c
@@ -105,7 +105,7 @@ void cninja_state::cninjabl_draw_sprites( screen_device &screen, bitmap_ind16 &b
while (multi >= 0)
{
- machine().gfx[3]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen(bitmap,cliprect,
sprite - multi * inc,
colour,
fx,fy,
diff --git a/src/mame/video/combatsc.c b/src/mame/video/combatsc.c
index 698903aaccd..898cf55afac 100644
--- a/src/mame/video/combatsc.c
+++ b/src/mame/video/combatsc.c
@@ -138,7 +138,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0)
number = m_page[0][tile_index + 0x400] + 256 * bank;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
number,
color,
@@ -172,7 +172,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1)
number = m_page[1][tile_index + 0x400] + 256 * bank;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
number,
color,
@@ -186,7 +186,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_text_info)
int number = m_page[0][tile_index + 0xc00];
int color = 16 + (attributes & 0x0f);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
number,
color,
@@ -219,7 +219,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0_bootleg)
color = pal*16;// + (attributes & 0x0f);
number = m_page[0][tile_index + 0x400] + 256 * bank;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
number,
color,
@@ -251,7 +251,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1_bootleg)
color = pal * 16;// + (attributes & 0x0f);
number = m_page[1][tile_index + 0x400] + 256 * bank;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
number,
color,
@@ -264,7 +264,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_text_info_bootleg)
int number = m_page[0][tile_index + 0xc00];
int color = 16;// + (attributes & 0x0f);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
number,
color,
@@ -385,7 +385,7 @@ void combatsc_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
address_space &space = machine().driver_data()->generic_space();
int base_color = (circuit * 4) * 16 + (k007121->ctrlram_r(space, 6) & 0x10) * 2;
- k007121->sprites_draw(bitmap, cliprect, machine().gfx[circuit], machine().colortable, source, base_color, 0, 0, priority_bitmap, pri_mask);
+ k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(circuit), machine().colortable, source, base_color, 0, 0, priority_bitmap, pri_mask);
}
@@ -504,7 +504,7 @@ byte #4:
void combatsc_state::bootleg_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, const UINT8 *source, int circuit )
{
address_space &space = m_maincpu->space(AS_PROGRAM);
- gfx_element *gfx = machine().gfx[circuit + 2];
+ gfx_element *gfx = m_gfxdecode->gfx(circuit + 2);
int limit = circuit ? (space.read_byte(0xc2) * 256 + space.read_byte(0xc3)) : (space.read_byte(0xc0) * 256 + space.read_byte(0xc1));
const UINT8 *finish;
diff --git a/src/mame/video/commando.c b/src/mame/video/commando.c
index 1b0cfb66aa3..ef774fa11d6 100644
--- a/src/mame/video/commando.c
+++ b/src/mame/video/commando.c
@@ -66,7 +66,7 @@ TILE_GET_INFO_MEMBER(commando_state::get_bg_tile_info)
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(commando_state::get_fg_tile_info)
@@ -76,7 +76,7 @@ TILE_GET_INFO_MEMBER(commando_state::get_fg_tile_info)
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void commando_state::video_start()
@@ -113,7 +113,7 @@ void commando_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
if (bank < 3)
- machine().gfx[2]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 15);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 15);
}
}
diff --git a/src/mame/video/compgolf.c b/src/mame/video/compgolf.c
index 6fd1269c02a..3d472291d0b 100644
--- a/src/mame/video/compgolf.c
+++ b/src/mame/video/compgolf.c
@@ -49,7 +49,7 @@ WRITE8_MEMBER(compgolf_state::compgolf_back_w)
TILE_GET_INFO_MEMBER(compgolf_state::get_text_info)
{
tile_index <<= 1;
- SET_TILE_INFO_MEMBER(2, m_videoram[tile_index + 1] | (m_videoram[tile_index] << 8), m_videoram[tile_index] >> 2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, m_videoram[tile_index + 1] | (m_videoram[tile_index] << 8), m_videoram[tile_index] >> 2, 0);
}
TILEMAP_MAPPER_MEMBER(compgolf_state::back_scan)
@@ -64,7 +64,7 @@ TILE_GET_INFO_MEMBER(compgolf_state::get_back_info)
int code = m_bg_ram[tile_index * 2 + 1] + ((attr & 1) << 8);
int color = (attr & 0x3e) >> 1;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
void compgolf_state::video_start()
@@ -99,14 +99,14 @@ void compgolf_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
fx = m_spriteram[offs] & 4;
fy = 0; /* ? */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite,
color,fx,fy,x,y,0);
/* Double Height */
if(m_spriteram[offs] & 0x10)
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite + 1,
color, fx, fy, x, y + 16, 0);
}
diff --git a/src/mame/video/contra.c b/src/mame/video/contra.c
index e913887e8ef..8db53749e1e 100644
--- a/src/mame/video/contra.c
+++ b/src/mame/video/contra.c
@@ -95,7 +95,7 @@ TILE_GET_INFO_MEMBER(contra_state::get_fg_tile_info)
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_fg_vram[tile_index] + bank * 256,
((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
@@ -124,7 +124,7 @@ TILE_GET_INFO_MEMBER(contra_state::get_bg_tile_info)
// 2009-12 FP: TO BE VERIFIED - old code used ctrl4 from chip 0?!?
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_bg_vram[tile_index] + bank * 256,
((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
@@ -146,7 +146,7 @@ TILE_GET_INFO_MEMBER(contra_state::get_tx_tile_info)
((attr >> (bit2 )) & 0x08) |
((attr >> (bit3 - 1)) & 0x10);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_tx_vram[tile_index] + bank * 256,
((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
@@ -293,7 +293,7 @@ void contra_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
else
source = m_buffered_spriteram_2;
- k007121->sprites_draw(bitmap, cliprect, machine().gfx[bank], machine().colortable, source, base_color, 40, 0, priority_bitmap, (UINT32)-1);
+ k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(bank), machine().colortable, source, base_color, 40, 0, priority_bitmap, (UINT32)-1);
}
UINT32 contra_state::screen_update_contra(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/cop01.c b/src/mame/video/cop01.c
index 2f92f0881e5..ba8c494a3d6 100644
--- a/src/mame/video/cop01.c
+++ b/src/mame/video/cop01.c
@@ -80,14 +80,14 @@ TILE_GET_INFO_MEMBER(cop01_state::get_bg_tile_info)
if (attr & 0x10)
pri = 0;
- SET_TILE_INFO_MEMBER(1, tile + ((attr & 0x03) << 8), (attr & 0x1c) >> 2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile + ((attr & 0x03) << 8), (attr & 0x1c) >> 2, 0);
tileinfo.group = pri;
}
TILE_GET_INFO_MEMBER(cop01_state::get_fg_tile_info)
{
int tile = m_fgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(0, tile, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, 0, 0);
}
@@ -191,7 +191,7 @@ void cop01_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
if (code & 0x80)
code += (m_vreg[0] & 0x30) << 3;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/copsnrob.c b/src/mame/video/copsnrob.c
index db46be062a9..b14949bd928 100644
--- a/src/mame/video/copsnrob.c
+++ b/src/mame/video/copsnrob.c
@@ -21,7 +21,7 @@ UINT32 copsnrob_state::screen_update_copsnrob(screen_device &screen, bitmap_ind1
sx = 31 - (offs % 32);
sy = offs / 32;
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
m_videoram[offs] & 0x3f,0,
0,0,
8*sx,8*sy);
@@ -30,25 +30,25 @@ UINT32 copsnrob_state::screen_update_copsnrob(screen_device &screen, bitmap_ind1
/* Draw the cars. Positioning was based on a screen shot */
if (m_cary[0])
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_carimage[0],0,
1,0,
0xe4,256 - m_cary[0],0);
if (m_cary[1])
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_carimage[1],0,
1,0,
0xc4,256 - m_cary[1],0);
if (m_cary[2])
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_carimage[2],0,
0,0,
0x24,256 - m_cary[2],0);
if (m_cary[3])
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_carimage[3],0,
0,0,
0x04,256 - m_cary[3],0);
@@ -77,7 +77,7 @@ UINT32 copsnrob_state::screen_update_copsnrob(screen_device &screen, bitmap_ind1
{
/* We've hit a truck's back end, so draw the truck. The front
end may be off the top of the screen, but we don't care. */
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
0,0,
0,0,
0x80,256 - (y + 31),0);
@@ -89,7 +89,7 @@ UINT32 copsnrob_state::screen_update_copsnrob(screen_device &screen, bitmap_ind1
{
/* We missed a truck's back end (it was off the bottom of the
screen) but have hit its front end, so draw the truck. */
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
0,0,
0,0,
0x80,256 - y,0);
diff --git a/src/mame/video/cosmic.c b/src/mame/video/cosmic.c
index af8ec245ac5..52335002c23 100644
--- a/src/mame/video/cosmic.c
+++ b/src/mame/video/cosmic.c
@@ -297,13 +297,13 @@ void cosmic_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
if (m_spriteram[offs] & 0x80)
/* 16x16 sprite */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code, color,
0, ~m_spriteram[offs] & 0x40,
256-m_spriteram[offs + 2],m_spriteram[offs + 1],0);
else
/* 32x32 sprite */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code >> 2, color,
0, ~m_spriteram[offs] & 0x40,
256-m_spriteram[offs + 2],m_spriteram[offs + 1],0);
diff --git a/src/mame/video/cps1.c b/src/mame/video/cps1.c
index 56e4d7b1572..642bc5f0716 100644
--- a/src/mame/video/cps1.c
+++ b/src/mame/video/cps1.c
@@ -2012,7 +2012,7 @@ TILE_GET_INFO_MEMBER(cps_state::get_tile0_info)
should alternate between the left and right side of the 16x16 tiles */
gfxset = (tile_index & 0x20) >> 5;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfxset,
code,
(attr & 0x1f) + 0x20,
@@ -2032,7 +2032,7 @@ TILE_GET_INFO_MEMBER(cps_state::get_tile1_info)
code = gfxrom_bank_mapper(GFXTYPE_SCROLL2, code);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
(attr & 0x1f) + 0x40,
@@ -2051,7 +2051,7 @@ TILE_GET_INFO_MEMBER(cps_state::get_tile2_info)
code = gfxrom_bank_mapper(GFXTYPE_SCROLL3, code);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
code,
(attr & 0x1f) + 0x60,
@@ -2319,14 +2319,14 @@ void cps_state::cps1_render_sprites( screen_device &screen, bitmap_ind16 &bitmap
#define DRAWSPRITE(CODE,COLOR,FLIPX,FLIPY,SX,SY) \
{ \
if (flip_screen()) \
- machine().gfx[2]->prio_transpen(bitmap,\
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap,\
cliprect, \
CODE, \
COLOR, \
!(FLIPX),!(FLIPY), \
512-16-(SX),256-16-(SY), screen.priority(),0x02,15); \
else \
- machine().gfx[2]->prio_transpen(bitmap,\
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap,\
cliprect, \
CODE, \
COLOR, \
@@ -2552,14 +2552,14 @@ void cps_state::cps2_render_sprites( screen_device &screen, bitmap_ind16 &bitmap
#define DRAWSPRITE(CODE,COLOR,FLIPX,FLIPY,SX,SY) \
{ \
if (flip_screen()) \
- machine().gfx[2]->prio_transpen(bitmap,\
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap,\
cliprect, \
CODE, \
COLOR, \
!(FLIPX),!(FLIPY), \
512-16-(SX),256-16-(SY), screen.priority(),primasks[priority],15); \
else \
- machine().gfx[2]->prio_transpen(bitmap,\
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap,\
cliprect, \
CODE, \
COLOR, \
diff --git a/src/mame/video/crbaloon.c b/src/mame/video/crbaloon.c
index 5e91380a777..804adf21ca1 100644
--- a/src/mame/video/crbaloon.c
+++ b/src/mame/video/crbaloon.c
@@ -64,7 +64,7 @@ TILE_GET_INFO_MEMBER(crbaloon_state::get_bg_tile_info)
int code = m_videoram[tile_index];
int color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void crbaloon_state::video_start()
diff --git a/src/mame/video/crospang.c b/src/mame/video/crospang.c
index a0a871c0a97..ee74d41b724 100644
--- a/src/mame/video/crospang.c
+++ b/src/mame/video/crospang.c
@@ -89,7 +89,7 @@ TILE_GET_INFO_MEMBER(crospang_state::get_bg_tile_info)
int tile = data & 0xfff;
int color = (data >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(1, tile + m_bestri_tilebank * 0x1000, color + 0x20, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile + m_bestri_tilebank * 0x1000, color + 0x20, 0);
}
TILE_GET_INFO_MEMBER(crospang_state::get_fg_tile_info)
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(crospang_state::get_fg_tile_info)
int tile = data & 0xfff;
int color = (data >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(1, tile + m_bestri_tilebank * 0x1000, color + 0x10, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile + m_bestri_tilebank * 0x1000, color + 0x10, 0);
}
diff --git a/src/mame/video/crshrace.c b/src/mame/video/crshrace.c
index bbe3d8de271..29c43298bd3 100644
--- a/src/mame/video/crshrace.c
+++ b/src/mame/video/crshrace.c
@@ -13,14 +13,14 @@ TILE_GET_INFO_MEMBER(crshrace_state::get_tile_info1)
{
int code = m_videoram1[tile_index];
- SET_TILE_INFO_MEMBER(1, (code & 0xfff) + (m_roz_bank << 12), code >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, (code & 0xfff) + (m_roz_bank << 12), code >> 12, 0);
}
TILE_GET_INFO_MEMBER(crshrace_state::get_tile_info2)
{
int code = m_videoram2[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
diff --git a/src/mame/video/cvs.c b/src/mame/video/cvs.c
index a4597b6178c..3c629ce1027 100644
--- a/src/mame/video/cvs.c
+++ b/src/mame/video/cvs.c
@@ -154,7 +154,7 @@ UINT32 cvs_state::screen_update_cvs(screen_device &screen, bitmap_ind16 &bitmap,
int gfxnum = (code < ram_based_char_start_indices[m_character_banking_mode]) ? 0 : 1;
- machine().gfx[gfxnum]->opaque(m_background_bitmap,m_background_bitmap.cliprect(),
+ m_gfxdecode->gfx(gfxnum)->opaque(m_background_bitmap,m_background_bitmap.cliprect(),
code, color,
0, 0,
x, y);
@@ -170,7 +170,7 @@ UINT32 cvs_state::screen_update_cvs(screen_device &screen, bitmap_ind16 &bitmap,
collision_color = 0x102;
}
- machine().gfx[gfxnum]->opaque(m_collision_background,m_collision_background.cliprect(),
+ m_gfxdecode->gfx(gfxnum)->opaque(m_collision_background,m_collision_background.cliprect(),
code, collision_color,
0, 0,
x, y);
diff --git a/src/mame/video/cyberbal.c b/src/mame/video/cyberbal.c
index 51f5fdd8bf8..4b2ba0eeadb 100644
--- a/src/mame/video/cyberbal.c
+++ b/src/mame/video/cyberbal.c
@@ -26,7 +26,7 @@ TILE_GET_INFO_MEMBER(cyberbal_state::get_alpha_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = data & 0xfff;
int color = (data >> 12) & 0x07;
- SET_TILE_INFO_MEMBER(2, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, (data >> 15) & 1);
}
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(cyberbal_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = data & 0x1fff;
int color = (data >> 11) & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data >> 15) & 1);
}
diff --git a/src/mame/video/darius.c b/src/mame/video/darius.c
index 3ac3d35db50..83962445cce 100644
--- a/src/mame/video/darius.c
+++ b/src/mame/video/darius.c
@@ -8,7 +8,7 @@ inline void darius_state::actual_get_fg_tile_info( tile_data &tileinfo, int tile
UINT16 code = (ram[tile_index + 0x2000] & 0x7ff);
UINT16 attr = ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfxnum,
code,
((attr & 0xff) << 2),
@@ -75,7 +75,7 @@ void darius_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
if (curx > 900) curx -= 1024;
if (cury > 400) cury -= 512;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
curx, cury, 0);
diff --git a/src/mame/video/darkmist.c b/src/mame/video/darkmist.c
index b62fca9d9f4..c33137730c3 100644
--- a/src/mame/video/darkmist.c
+++ b/src/mame/video/darkmist.c
@@ -20,7 +20,7 @@ TILE_GET_INFO_MEMBER(darkmist_state::get_bgtile_info)
code+=(attr&3)<<8;
pal=(attr>>4);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
pal,
@@ -41,7 +41,7 @@ TILE_GET_INFO_MEMBER(darkmist_state::get_fgtile_info)
pal+=16;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
pal,
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(darkmist_state::get_txttile_info)
pal+=48;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
pal,
@@ -179,7 +179,7 @@ UINT32 darkmist_state::screen_update_darkmist(screen_device &screen, bitmap_ind1
palette+=32;
- machine().gfx[2]->transpen(
+ m_gfxdecode->gfx(2)->transpen(
bitmap,cliprect,
tile,
palette,
diff --git a/src/mame/video/dbz.c b/src/mame/video/dbz.c
index eb19d60d007..0b4e3c50f91 100644
--- a/src/mame/video/dbz.c
+++ b/src/mame/video/dbz.c
@@ -51,7 +51,7 @@ TILE_GET_INFO_MEMBER(dbz_state::get_dbz_bg2_tile_info)
colour = (m_bg2_videoram[tile_index * 2] & 0x000f);
flag = (m_bg2_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(0, tileno, colour + (m_layer_colorbase[5] << 1), flag);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour + (m_layer_colorbase[5] << 1), flag);
}
WRITE16_MEMBER(dbz_state::dbz_bg1_videoram_w)
@@ -68,7 +68,7 @@ TILE_GET_INFO_MEMBER(dbz_state::get_dbz_bg1_tile_info)
colour = (m_bg1_videoram[tile_index * 2] & 0x000f);
flag = (m_bg1_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(1, tileno, colour + (m_layer_colorbase[4] << 1), flag);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, colour + (m_layer_colorbase[4] << 1), flag);
}
void dbz_state::video_start()
diff --git a/src/mame/video/dcon.c b/src/mame/video/dcon.c
index 3e6fd13503d..341ba00f233 100644
--- a/src/mame/video/dcon.c
+++ b/src/mame/video/dcon.c
@@ -49,7 +49,7 @@ TILE_GET_INFO_MEMBER(dcon_state::get_back_tile_info)
tile&=0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile,
color,
@@ -63,7 +63,7 @@ TILE_GET_INFO_MEMBER(dcon_state::get_fore_tile_info)
tile&=0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile,
color,
@@ -77,7 +77,7 @@ TILE_GET_INFO_MEMBER(dcon_state::get_mid_tile_info)
tile&=0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
tile|m_gfx_bank_select,
color,
@@ -91,7 +91,7 @@ TILE_GET_INFO_MEMBER(dcon_state::get_text_tile_info)
tile&=0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -157,76 +157,76 @@ void dcon_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,const
for (ay=0; ay<dy; ay++) {
if (!fx && !fy)
{
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+ax*16,y+ay*16,
screen.priority(),pri_mask,15);
// wrap around y
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+ax*16,y+ay*16 + 512,
screen.priority(),pri_mask,15);
// wrap around y
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+ax*16,y+ay*16 - 512,
screen.priority(),pri_mask,15);
}
else if (fx && !fy)
{
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+(dx-1-ax)*16,y+ay*16,
screen.priority(),pri_mask,15);
// wrap around y
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+(dx-1-ax)*16,y+ay*16 + 512,
screen.priority(),pri_mask,15);
// wrap around y
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+(dx-1-ax)*16,y+ay*16 - 512,
screen.priority(),pri_mask,15);
}
else if (!fx && fy)
{
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+ax*16,y+(dy-1-ay)*16,
screen.priority(),pri_mask,15);
// wrap around y
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+ax*16,y+(dy-1-ay)*16 + 512,
screen.priority(),pri_mask,15);
// wrap around y
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+ax*16,y+(dy-1-ay)*16 - 512,
screen.priority(),pri_mask,15);
}
else
{
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+(dx-1-ax)*16,y+(dy-1-ay)*16,
screen.priority(),pri_mask,15);
// wrap around y
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+(dx-1-ax)*16,y+(dy-1-ay)*16 + 512,
screen.priority(),pri_mask,15);
// wrap around y
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
sprite + inc,
color,fx,fy,x+(dx-1-ax)*16,y+(dy-1-ay)*16 - 512,
screen.priority(),pri_mask,15);
diff --git a/src/mame/video/dday.c b/src/mame/video/dday.c
index 1d67796d08a..a8d9acbf10e 100644
--- a/src/mame/video/dday.c
+++ b/src/mame/video/dday.c
@@ -155,7 +155,7 @@ TILE_GET_INFO_MEMBER(dday_state::get_bg_tile_info)
int code;
code = m_bgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, code >> 5, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, code >> 5, 0);
}
TILE_GET_INFO_MEMBER(dday_state::get_fg_tile_info)
@@ -164,7 +164,7 @@ TILE_GET_INFO_MEMBER(dday_state::get_fg_tile_info)
flipx = m_colorram[tile_index & 0x03e0] & 0x01;
code = m_fgvideoram[flipx ? tile_index ^ 0x1f : tile_index];
- SET_TILE_INFO_MEMBER(2, code, code >> 5, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, code >> 5, flipx ? TILE_FLIPX : 0);
}
TILE_GET_INFO_MEMBER(dday_state::get_text_tile_info)
@@ -172,7 +172,7 @@ TILE_GET_INFO_MEMBER(dday_state::get_text_tile_info)
int code;
code = m_textvideoram[tile_index];
- SET_TILE_INFO_MEMBER(1, code, code >> 5, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, code >> 5, 0);
}
TILE_GET_INFO_MEMBER(dday_state::get_sl_tile_info)
@@ -194,7 +194,7 @@ TILE_GET_INFO_MEMBER(dday_state::get_sl_tile_info)
/* no mirroring, draw dark spot */
code = 1;
- SET_TILE_INFO_MEMBER(3, code & 0x3f, 0, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, code & 0x3f, 0, flipx ? TILE_FLIPX : 0);
}
diff --git a/src/mame/video/ddragon.c b/src/mame/video/ddragon.c
index d24d6d47828..30ab2a0d5a1 100644
--- a/src/mame/video/ddragon.c
+++ b/src/mame/video/ddragon.c
@@ -59,7 +59,7 @@ TILEMAP_MAPPER_MEMBER(ddragon_state::background_scan)
TILE_GET_INFO_MEMBER(ddragon_state::get_bg_tile_info)
{
UINT8 attr = m_bgvideoram[2 * tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
m_bgvideoram[2 * tile_index+1] + ((attr & 0x07) << 8),
(attr >> 3) & 0x07,
@@ -69,7 +69,7 @@ TILE_GET_INFO_MEMBER(ddragon_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(ddragon_state::get_fg_tile_info)
{
UINT8 attr = m_fgvideoram[2 * tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_fgvideoram[2 * tile_index + 1] + ((attr & 0x07) << 8),
attr >> 5,
@@ -79,7 +79,7 @@ TILE_GET_INFO_MEMBER(ddragon_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(ddragon_state::get_fg_16color_tile_info)
{
UINT8 attr = m_fgvideoram[2 * tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_fgvideoram[2 * tile_index+1] + ((attr & 0x0f) << 8),
attr >> 4,
@@ -137,7 +137,7 @@ WRITE8_MEMBER(ddragon_state::ddragon_fgvideoram_w)
void ddragon_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
const UINT8 *src = m_spriteram;
const UINT32 bytes = m_spriteram.bytes();
diff --git a/src/mame/video/ddragon3.c b/src/mame/video/ddragon3.c
index cd60cb67add..725bfe20373 100644
--- a/src/mame/video/ddragon3.c
+++ b/src/mame/video/ddragon3.c
@@ -48,7 +48,7 @@ TILE_GET_INFO_MEMBER(ddragon3_state::get_bg_tile_info)
int code = (attr & 0x0fff) | ((m_bg_tilebase & 0x01) << 12);
int color = ((attr & 0xf000) >> 12);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -74,7 +74,7 @@ TILE_GET_INFO_MEMBER(ddragon3_state::get_fg_tile_info)
tilebase = &m_fg_videoram[tile_index*2];
tileno = (tilebase[1] & 0x1fff);
colbank = (tilebase[0] & 0x000f);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tileno,
colbank,
@@ -103,7 +103,7 @@ TILE_GET_INFO_MEMBER(wwfwfest_state::get_fg0_tile_info)
tilebase = &m_fg0_videoram[tile_index*2];
tileno = (tilebase[0] & 0x00ff) | ((tilebase[1] & 0x000f) << 8);
colbank = (tilebase[1] & 0x00f0) >> 4;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
tileno,
colbank,
@@ -184,7 +184,7 @@ void ddragon3_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
UINT16 *buffered_spriteram16 = m_spriteram->buffer();
int length = m_spriteram->bytes();
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
UINT16 *source = buffered_spriteram16;
UINT16 *finish = source + length/2;
diff --git a/src/mame/video/ddribble.c b/src/mame/video/ddribble.c
index f823dbdf404..746f2241104 100644
--- a/src/mame/video/ddribble.c
+++ b/src/mame/video/ddribble.c
@@ -96,7 +96,7 @@ TILE_GET_INFO_MEMBER(ddribble_state::get_fg_tile_info)
{
UINT8 attr = m_fg_videoram[tile_index];
int num = m_fg_videoram[tile_index + 0x400] + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5) + ((m_charbank[0] & 2) << 10);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
num,
0,
@@ -107,7 +107,7 @@ TILE_GET_INFO_MEMBER(ddribble_state::get_bg_tile_info)
{
UINT8 attr = m_bg_videoram[tile_index];
int num = m_bg_videoram[tile_index + 0x400] + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5) + (m_charbank[1] << 11);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
num,
0,
@@ -170,7 +170,7 @@ byte #4: attributes
void ddribble_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8* source, int lenght, int gfxset, int flipscreen )
{
- gfx_element *gfx = machine().gfx[gfxset];
+ gfx_element *gfx = m_gfxdecode->gfx(gfxset);
const UINT8 *finish = source + lenght;
while (source < finish)
diff --git a/src/mame/video/deadang.c b/src/mame/video/deadang.c
index 1d31a4837b7..2ab4b1434e2 100644
--- a/src/mame/video/deadang.c
+++ b/src/mame/video/deadang.c
@@ -41,14 +41,14 @@ TILE_GET_INFO_MEMBER(deadang_state::get_pf3_tile_info)
{
const UINT16 *bgMap = (const UINT16 *)memregion("gfx6")->base();
int code= bgMap[tile_index];
- SET_TILE_INFO_MEMBER(4,code&0x7ff,code>>12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4,code&0x7ff,code>>12,0);
}
TILE_GET_INFO_MEMBER(deadang_state::get_pf2_tile_info)
{
const UINT16 *bgMap = (const UINT16 *)memregion("gfx7")->base();
int code= bgMap[tile_index];
- SET_TILE_INFO_MEMBER(3,code&0x7ff,code>>12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3,code&0x7ff,code>>12,0);
}
TILE_GET_INFO_MEMBER(deadang_state::get_pf1_tile_info)
@@ -57,7 +57,7 @@ TILE_GET_INFO_MEMBER(deadang_state::get_pf1_tile_info)
int color=tile >> 12;
tile=tile&0xfff;
- SET_TILE_INFO_MEMBER(2,tile+m_deadangle_tilebank*0x1000,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,tile+m_deadangle_tilebank*0x1000,color,0);
}
TILE_GET_INFO_MEMBER(deadang_state::get_text_tile_info)
@@ -66,7 +66,7 @@ TILE_GET_INFO_MEMBER(deadang_state::get_text_tile_info)
int tile=(videoram[tile_index] & 0xff) | ((videoram[tile_index] >> 6) & 0x300);
int color=(videoram[tile_index] >> 8)&0xf;
- SET_TILE_INFO_MEMBER(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,0);
}
void deadang_state::video_start()
@@ -116,7 +116,7 @@ void deadang_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, co
if (fy) fy=0; else fy=1;
}
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite,
color,fx,fy,x,y,
screen.priority(),pri,15);
diff --git a/src/mame/video/dec8.c b/src/mame/video/dec8.c
index 039697129b7..42dea6e230b 100644
--- a/src/mame/video/dec8.c
+++ b/src/mame/video/dec8.c
@@ -240,13 +240,13 @@ void dec8_state::srdarwin_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
}
else sy2 = sy + 16;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
fx,flip_screen(),
sx,sy,0);
if (multi)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code+1,
color,
fx,flip_screen(),
@@ -277,7 +277,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_cobracom_fix_tile_info)
int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0xe000) >> 13;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile & 0xfff,
color,
@@ -313,7 +313,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_ghostb_fix_tile_info)
int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0xc00) >> 10;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile & 0x3ff,
color,
@@ -349,7 +349,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_oscar_fix_tile_info)
int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0xf000) >> 14;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile&0xfff,
color,
@@ -410,7 +410,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_lastmisn_tile_info)
else
tileinfo.category = 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile & 0xfff,
color,
@@ -423,7 +423,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_lastmisn_fix_tile_info)
int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0xc000) >> 14;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile&0xfff,
color,
@@ -470,7 +470,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_srdarwin_fix_tile_info)
tileinfo.category = 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -486,7 +486,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_srdarwin_tile_info)
tile = tile & 0x3ff;
bank = (tile / 0x100) + 2;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
bank,
tile,
color,
@@ -539,7 +539,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_gondo_fix_tile_info)
int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0x7000) >> 12;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile&0xfff,
color,
@@ -557,7 +557,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_gondo_tile_info)
else
tileinfo.category = 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile&0xfff,
color,
diff --git a/src/mame/video/decbac06.c b/src/mame/video/decbac06.c
index eaea3f33a53..069ce6348ec 100644
--- a/src/mame/video/decbac06.c
+++ b/src/mame/video/decbac06.c
@@ -77,7 +77,8 @@ deco_bac06_device::deco_bac06_device(const machine_config &mconfig, const char *
m_gfxregion16x16(0),
m_wide(0),
m_bppmult(0),
- m_bppmask(0)
+ m_bppmask(0),
+ m_gfxdecode(*this)
{
for (int i = 0; i < 8; i++)
{
@@ -86,6 +87,16 @@ deco_bac06_device::deco_bac06_device(const machine_config &mconfig, const char *
}
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void deco_bac06_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<deco_bac06_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
void deco_bac06_device::device_start()
{
m_pf_data = auto_alloc_array_clear(machine(), UINT16, 0x4000 / 2); // 0x2000 is the maximum needed, some games / chip setups map less and mirror - stadium hero banks this to 0x4000?!
@@ -155,7 +166,7 @@ TILE_GET_INFO_MEMBER(deco_bac06_device::get_pf8x8_tile_info)
if (m_rambank&1) tile_index+=0x1000;
int tile=m_pf_data[tile_index];
int colourpri=(tile>>12);
- SET_TILE_INFO_MEMBER(m_tile_region,tile&0xfff,0,0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, m_tile_region,tile&0xfff,0,0);
tileinfo.category = colourpri;
}
@@ -164,7 +175,7 @@ TILE_GET_INFO_MEMBER(deco_bac06_device::get_pf16x16_tile_info)
if (m_rambank&1) tile_index+=0x1000;
int tile=m_pf_data[tile_index];
int colourpri=(tile>>12);
- SET_TILE_INFO_MEMBER(m_tile_region,tile&0xfff,0,0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, m_tile_region,tile&0xfff,0,0);
tileinfo.category = colourpri;
}
diff --git a/src/mame/video/decbac06.h b/src/mame/video/decbac06.h
index 692b43ccdb2..e515c8aea0c 100644
--- a/src/mame/video/decbac06.h
+++ b/src/mame/video/decbac06.h
@@ -6,6 +6,8 @@ class deco_bac06_device : public device_t
public:
deco_bac06_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void set_gfx_region_wide(device_t &device, int region8x8, int region16x16, int wide);
UINT16* m_pf_data;
@@ -106,6 +108,10 @@ private:
TILEMAP_MAPPER_MEMBER(tile_shape2_8x8_scan);
TILE_GET_INFO_MEMBER(get_pf8x8_tile_info);
TILE_GET_INFO_MEMBER(get_pf16x16_tile_info);
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type DECO_BAC06;
+
+#define MCFG_DECO_BAC06_GFXDECODE(_gfxtag) \
+ deco_bac06_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
diff --git a/src/mame/video/deckarn.c b/src/mame/video/deckarn.c
index d586792696b..33af77c37c5 100644
--- a/src/mame/video/deckarn.c
+++ b/src/mame/video/deckarn.c
@@ -14,10 +14,21 @@ const device_type DECO_KARNOVSPRITES = &device_creator<deco_karnovsprites_device
deco_karnovsprites_device::deco_karnovsprites_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, DECO_KARNOVSPRITES, "karnovsprites_device", tag, owner, clock, "deco_karnovsprites", __FILE__),
- m_gfxregion(0)
+ m_gfxregion(0),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void deco_karnovsprites_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<deco_karnovsprites_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
void deco_karnovsprites_device::device_start()
{
}
@@ -99,13 +110,13 @@ void deco_karnovsprites_device::draw_sprites( running_machine &machine, bitmap_i
else
sprite2 = sprite + 1;
- machine.gfx[m_gfxregion]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen(bitmap,cliprect,
sprite,
colour,fx,fy,x,y,0);
/* 1 more sprite drawn underneath */
if (extra)
- machine.gfx[m_gfxregion]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen(bitmap,cliprect,
sprite2,
colour,fx,fy,x,y+16,0);
}
diff --git a/src/mame/video/deckarn.h b/src/mame/video/deckarn.h
index 383b5627eaa..33dd49eb5ec 100644
--- a/src/mame/video/deckarn.h
+++ b/src/mame/video/deckarn.h
@@ -6,6 +6,9 @@ public:
deco_karnovsprites_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
void set_gfxregion(int region) { m_gfxregion = region; };
void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16* spriteram, int size, int priority );
+
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void set_gfx_region(device_t &device, int region);
protected:
@@ -14,7 +17,10 @@ protected:
UINT8 m_gfxregion;
private:
-
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type DECO_KARNOVSPRITES;
+
+#define MCFG_DECO_KARNOVSPRITES_GFXDECODE(_gfxtag) \
+ deco_karnovsprites_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
diff --git a/src/mame/video/decmxc06.c b/src/mame/video/decmxc06.c
index d4813b88a7c..fdd70f4319c 100644
--- a/src/mame/video/decmxc06.c
+++ b/src/mame/video/decmxc06.c
@@ -49,10 +49,21 @@ const device_type DECO_MXC06 = &device_creator<deco_mxc06_device>;
deco_mxc06_device::deco_mxc06_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, DECO_MXC06, "decmxc06_device", tag, owner, clock, "deco_mxc06", __FILE__),
- m_gfxregion(0)
+ m_gfxregion(0),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void deco_mxc06_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<deco_mxc06_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
/* this implementation was originally from Mad Motor */
void deco_mxc06_device::draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16* spriteram, int pri_mask, int pri_val, int col_mask )
@@ -146,7 +157,7 @@ void deco_mxc06_device::draw_sprites( running_machine &machine, bitmap_ind16 &bi
if (draw)
{
- machine.gfx[m_gfxregion]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen(bitmap,cliprect,
code - y * incy,
color & col_mask,
flipx,flipy,
@@ -186,7 +197,7 @@ void deco_mxc06_device::draw_sprites_bootleg( running_machine &machine, bitmap_i
sx -= 0x100;
- machine.gfx[m_gfxregion]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen(bitmap,cliprect,
code,
color & col_mask,
flipx,flipy,
diff --git a/src/mame/video/decmxc06.h b/src/mame/video/decmxc06.h
index cac0c3ef891..cbdd4689f23 100644
--- a/src/mame/video/decmxc06.h
+++ b/src/mame/video/decmxc06.h
@@ -5,7 +5,11 @@ class deco_mxc06_device : public device_t
{
public:
deco_mxc06_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void set_gfx_region(device_t &device, int region);
+
void set_gfxregion(int region) { m_gfxregion = region; };
void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16* spriteram16, int pri_mask, int pri_val, int col_mask );
void draw_sprites_bootleg( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16* spriteram, int pri_mask, int pri_val, int col_mask );
@@ -18,8 +22,11 @@ protected:
int m_priority_type; // just so we can support the existing drivers without converting everything to pdrawgfx just yet
private:
-
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type DECO_MXC06;
+
+#define MCFG_DECO_MXC06_GFXDECODE(_gfxtag) \
+ deco_mxc06_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
diff --git a/src/mame/video/deco16ic.c b/src/mame/video/deco16ic.c
index a018d7288dc..e65bbc19653 100644
--- a/src/mame/video/deco16ic.c
+++ b/src/mame/video/deco16ic.c
@@ -180,11 +180,22 @@ deco16ic_device::deco16ic_device(const machine_config &mconfig, const char *tag,
m_pf2_bank(0),
m_pf12_last_small(0),
m_pf12_last_big(0),
- m_pf1_8bpp_mode(0)
+ m_pf1_8bpp_mode(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void deco16ic_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<deco16ic_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -306,7 +317,7 @@ TILE_GET_INFO_MEMBER(deco16ic_device::get_pf2_tile_info)
}
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_pf12_16x16_gfx_bank,
(tile & 0xfff) | m_pf2_bank,
(colour & m_pf2_colourmask) + m_pf2_colour_bank,
@@ -338,7 +349,7 @@ TILE_GET_INFO_MEMBER(deco16ic_device::get_pf1_tile_info)
// Captain America operates this chip in 8bpp mode.
// In 8bpp mode you appear to only get 1 layer, not 2, but you also
// have an extra 2 tile bits, and 2 less colour bits.
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_pf12_16x16_gfx_bank,
(tile & 0x3fff) | m_pf1_bank,
((colour & m_pf1_colourmask) + m_pf1_colour_bank)>>2,
@@ -346,7 +357,7 @@ TILE_GET_INFO_MEMBER(deco16ic_device::get_pf1_tile_info)
}
else
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_pf12_16x16_gfx_bank,
(tile & 0xfff) | m_pf1_bank,
(colour & m_pf1_colourmask) + m_pf1_colour_bank,
@@ -374,7 +385,7 @@ TILE_GET_INFO_MEMBER(deco16ic_device::get_pf2_tile_info_b)
}
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_pf12_8x8_gfx_bank,
(tile & 0xfff) | m_pf2_bank,
(colour & m_pf2_colourmask) + m_pf2_colour_bank,
@@ -401,7 +412,7 @@ TILE_GET_INFO_MEMBER(deco16ic_device::get_pf1_tile_info_b)
}
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_pf12_8x8_gfx_bank,
(tile & 0xfff) | m_pf1_bank,
(colour & m_pf1_colourmask) + m_pf1_colour_bank,
diff --git a/src/mame/video/deco16ic.h b/src/mame/video/deco16ic.h
index 972aaea916d..4227670589b 100644
--- a/src/mame/video/deco16ic.h
+++ b/src/mame/video/deco16ic.h
@@ -39,6 +39,10 @@ class deco16ic_device : public device_t,
public:
deco16ic_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~deco16ic_device() {}
+
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_WRITE16_MEMBER( pf1_data_w );
DECLARE_WRITE16_MEMBER( pf2_data_w );
@@ -143,6 +147,7 @@ private:
TILE_GET_INFO_MEMBER(get_pf1_tile_info);
TILE_GET_INFO_MEMBER(get_pf2_tile_info_b);
TILE_GET_INFO_MEMBER(get_pf1_tile_info_b);
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type DECO16IC;
@@ -159,4 +164,7 @@ extern const device_type DECO16IC;
#define MCFG_DECO16IC_SET_SCREEN MCFG_VIDEO_SET_SCREEN
+#define MCFG_DECO16IC_GFXDECODE(_gfxtag) \
+ deco16ic_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/deco32.c b/src/mame/video/deco32.c
index 516bd8cb204..0f670267679 100644
--- a/src/mame/video/deco32.c
+++ b/src/mame/video/deco32.c
@@ -476,7 +476,7 @@ void dragngun_state::dragngun_draw_sprites( bitmap_rgb32 &bitmap, const rectangl
if (zoomx!=0x10000 || zoomy!=0x10000)
dragngun_drawgfxzoom(
- bitmap,cliprect,machine().gfx[bank],
+ bitmap,cliprect,m_gfxdecode->gfx(bank),
sprite,
colour,
fx,fy,
@@ -484,7 +484,7 @@ void dragngun_state::dragngun_draw_sprites( bitmap_rgb32 &bitmap, const rectangl
15,zoomx,zoomy,NULL,0,
((xpos+(zoomx<<4))>>16) - (xpos>>16), ((ypos+(zoomy<<4))>>16) - (ypos>>16), alpha );
else
- machine().gfx[bank]->alpha(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->alpha(bitmap,cliprect,
sprite,
colour,
fx,fy,
@@ -679,7 +679,7 @@ void deco32_state::mixDualAlphaSprites(screen_device &screen, bitmap_rgb32 &bitm
const pen_t *pens = machine().pens;
const pen_t *pal0 = &pens[gfx0->colorbase()];
const pen_t *pal1 = &pens[gfx1->colorbase()];
- const pen_t *pal2 = &pens[machine().gfx[(m_pri&1) ? 1 : 2]->colorbase()];
+ const pen_t *pal2 = &pens[m_gfxdecode->gfx((m_pri&1) ? 1 : 2)->colorbase()];
int x,y;
bitmap_ind16& sprite0_mix_bitmap = machine().device<decospr_device>("spritegen1")->get_sprite_temp_bitmap();
bitmap_ind16& sprite1_mix_bitmap = machine().device<decospr_device>("spritegen2")->get_sprite_temp_bitmap();
@@ -860,7 +860,7 @@ UINT32 deco32_state::screen_update_nslasher(screen_device &screen, bitmap_rgb32
}
}
- mixDualAlphaSprites(screen, bitmap, cliprect, machine().gfx[3], machine().gfx[4], alphaTilemap);
+ mixDualAlphaSprites(screen, bitmap, cliprect, m_gfxdecode->gfx(3), m_gfxdecode->gfx(4), alphaTilemap);
m_deco_tilegen1->tilemap_1_draw(screen, bitmap, cliprect, 0, 0);
return 0;
diff --git a/src/mame/video/deco_mlc.c b/src/mame/video/deco_mlc.c
index aaa550ac8ae..fb2f6a96ca1 100644
--- a/src/mame/video/deco_mlc.c
+++ b/src/mame/video/deco_mlc.c
@@ -15,9 +15,9 @@
VIDEO_START_MEMBER(deco_mlc_state,mlc)
{
- if (machine().gfx[0]->granularity()==16)
+ if (m_gfxdecode->gfx(0)->granularity()==16)
m_colour_mask=0x7f;
- else if (machine().gfx[0]->granularity()==32)
+ else if (m_gfxdecode->gfx(0)->granularity()==32)
m_colour_mask=0x3f;
else
m_colour_mask=0x1f;
@@ -522,7 +522,7 @@ void deco_mlc_state::draw_sprites( const rectangle &cliprect, int scanline, UINT
}
mlc_drawgfxzoomline(
- dest,user_clip,machine().gfx[0],
+ dest,user_clip,m_gfxdecode->gfx(0),
tile,tile2,
color + colorOffset,fx,realxbase,
0,
diff --git a/src/mame/video/decocass.c b/src/mame/video/decocass.c
index 65a400e3338..7ee81ef292b 100644
--- a/src/mame/video/decocass.c
+++ b/src/mame/video/decocass.c
@@ -200,7 +200,7 @@ TILEMAP_MAPPER_MEMBER(decocass_state::bgvideoram_scan_cols )
TILE_GET_INFO_MEMBER(decocass_state::get_bg_l_tile_info)
{
int color = (m_color_center_bot >> 7) & 1;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
(0x80 == (tile_index & 0x80)) ? 16 : m_bgvideoram[tile_index] >> 4,
color,
@@ -210,7 +210,7 @@ TILE_GET_INFO_MEMBER(decocass_state::get_bg_l_tile_info)
TILE_GET_INFO_MEMBER(decocass_state::get_bg_r_tile_info )
{
int color = (m_color_center_bot >> 7) & 1;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
(0x00 == (tile_index & 0x80)) ? 16 : m_bgvideoram[tile_index] >> 4,
color,
@@ -221,7 +221,7 @@ TILE_GET_INFO_MEMBER(decocass_state::get_fg_tile_info )
{
UINT8 code = m_fgvideoram[tile_index];
UINT8 attr = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
256 * (attr & 3) + code,
m_color_center_bot & 1,
@@ -248,10 +248,10 @@ void decocass_state::draw_object(bitmap_ind16 &bitmap, const rectangle &cliprect
else
sx = 91 - (m_part_h_shift & 0x7f);
- machine().gfx[3]->transpen(bitmap,cliprect, 0, color, 0, 0, sx + 64, sy, 0);
- machine().gfx[3]->transpen(bitmap,cliprect, 1, color, 0, 0, sx, sy, 0);
- machine().gfx[3]->transpen(bitmap,cliprect, 0, color, 0, 1, sx + 64, sy - 64, 0);
- machine().gfx[3]->transpen(bitmap,cliprect, 1, color, 0, 1, sx, sy - 64, 0);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, 0, color, 0, 0, sx + 64, sy, 0);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, 1, color, 0, 0, sx, sy, 0);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, 0, color, 0, 1, sx + 64, sy - 64, 0);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, 1, color, 0, 1, sx, sy - 64, 0);
}
void decocass_state::draw_center(bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -301,9 +301,9 @@ WRITE8_MEMBER(decocass_state::decocass_charram_w )
{
m_charram[offset] = data;
/* dirty sprite */
- machine().gfx[1]->mark_dirty((offset >> 5) & 255);
+ m_gfxdecode->gfx(1)->mark_dirty((offset >> 5) & 255);
/* dirty char */
- machine().gfx[0]->mark_dirty((offset >> 3) & 1023);
+ m_gfxdecode->gfx(0)->mark_dirty((offset >> 3) & 1023);
}
@@ -329,7 +329,7 @@ WRITE8_MEMBER(decocass_state::decocass_tileram_w )
{
m_tileram[offset] = data;
/* dirty tile (64 bytes per tile) */
- machine().gfx[2]->mark_dirty((offset / 64) & 15);
+ m_gfxdecode->gfx(2)->mark_dirty((offset / 64) & 15);
/* first 1KB of tile RAM is shared with tilemap RAM */
if (offset < m_bgvideoram_size)
mark_bg_tile_dirty(offset);
@@ -339,8 +339,8 @@ WRITE8_MEMBER(decocass_state::decocass_objectram_w )
{
m_objectram[offset] = data;
/* dirty the object */
- machine().gfx[3]->mark_dirty(0);
- machine().gfx[3]->mark_dirty(1);
+ m_gfxdecode->gfx(3)->mark_dirty(0);
+ m_gfxdecode->gfx(3)->mark_dirty(1);
}
WRITE8_MEMBER(decocass_state::decocass_bgvideoram_w )
@@ -515,7 +515,7 @@ void decocass_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
sy -= sprite_y_adjust;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
sprite_ram[offs + interleave],
color,
flipx,flipy,
@@ -524,7 +524,7 @@ void decocass_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
sy += (flip_screen() ? -256 : 256);
// Wrap around
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
sprite_ram[offs + interleave],
color,
flipx,flipy,
@@ -674,14 +674,14 @@ void decocass_state::video_start()
m_bgvideoram = m_tileram;
m_bgvideoram_size = 0x0400; /* d000-d3ff */
- 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);
+ m_gfxdecode->gfx(0)->set_source(m_charram);
+ m_gfxdecode->gfx(1)->set_source(m_charram);
+ m_gfxdecode->gfx(2)->set_source(m_tileram);
+ m_gfxdecode->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);
+ m_gfxdecode->gfx(2)->decode(16);
}
UINT32 decocass_state::screen_update_decocass(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/decospr.c b/src/mame/video/decospr.c
index c6d5267d2cd..fe06040794e 100644
--- a/src/mame/video/decospr.c
+++ b/src/mame/video/decospr.c
@@ -169,10 +169,21 @@ decospr_device::decospr_device(const machine_config &mconfig, const char *tag, d
m_x_offset(0),
m_y_offset(0),
m_flipallx(0),
- m_transpen(0)
+ m_transpen(0),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void decospr_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<decospr_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
void decospr_device::device_start()
{
// printf("decospr_device::device_start()\n");
@@ -344,14 +355,14 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
if ((ypos<=cliprect.max_y) && (ypos>=(cliprect.min_y)-16))
{
if (m_pricallback)
- machine().gfx[m_gfxregion]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->prio_transpen(bitmap,cliprect,
sprite - multi * inc,
colour,
fx,fy,
x,ypos,
m_screen->priority(),pri,m_transpen);
else
- machine().gfx[m_gfxregion]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen(bitmap,cliprect,
sprite - multi * inc,
colour,
fx,fy,
@@ -363,14 +374,14 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
if (w)
{
if (m_pricallback)
- machine().gfx[m_gfxregion]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->prio_transpen(bitmap,cliprect,
(sprite - multi * inc)-mult2,
colour,
fx,fy,
x-16,ypos,
m_screen->priority(),pri,m_transpen);
else
- machine().gfx[m_gfxregion]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen(bitmap,cliprect,
(sprite - multi * inc)-mult2,
colour,
fx,fy,
@@ -381,7 +392,7 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
else
{
// if we have a sprite bitmap draw raw data to it for manual mixing
- machine().gfx[m_gfxregion]->transpen_raw(m_sprite_bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen_raw(m_sprite_bitmap,cliprect,
sprite - multi * inc,
colour<<m_raw_shift,
fx,fy,
@@ -389,7 +400,7 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
m_transpen);
if (w)
{
- machine().gfx[m_gfxregion]->transpen_raw(m_sprite_bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen_raw(m_sprite_bitmap,cliprect,
(sprite - multi * inc)-mult2,
colour<<m_raw_shift,
fx,fy,
@@ -468,7 +479,7 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
if ((ypos<=cliprect.max_y) && (ypos>=(cliprect.min_y)-16))
{
- machine().gfx[m_gfxregion]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->prio_transpen(bitmap,cliprect,
sprite + yy + h * xx,
colour,
fx,fy,
@@ -480,7 +491,7 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
if ((ypos<=cliprect.max_y) && (ypos>=(cliprect.min_y-16)))
{
- machine().gfx[m_gfxregion]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->prio_transpen(bitmap,cliprect,
sprite + yy + h * xx,
colour,
fx,fy,
@@ -495,7 +506,7 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
if ((ypos<=cliprect.max_y) && (ypos>=(cliprect.min_y)-16))
{
- machine().gfx[m_gfxregion]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen(bitmap,cliprect,
sprite + yy + h * xx,
colour,
fx,fy,
@@ -507,7 +518,7 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
if ((ypos<=cliprect.max_y) && (ypos>=(cliprect.min_y-16)))
{
- machine().gfx[m_gfxregion]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen(bitmap,cliprect,
sprite + yy + h * xx,
colour,
fx,fy,
@@ -522,7 +533,7 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
if ((ypos<=cliprect.max_y) && (ypos>=(cliprect.min_y)-16))
{
- machine().gfx[m_gfxregion]->transpen_raw(m_sprite_bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen_raw(m_sprite_bitmap,cliprect,
sprite + yy + h * xx,
colour<<m_raw_shift,
fx,fy,
@@ -534,7 +545,7 @@ void decospr_device::draw_sprites_common(_BitmapClass &bitmap, const rectangle &
if ((ypos<=cliprect.max_y) && (ypos>=(cliprect.min_y-16)))
{
- machine().gfx[m_gfxregion]->transpen_raw(m_sprite_bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen_raw(m_sprite_bitmap,cliprect,
sprite + yy + h * xx,
colour<<m_raw_shift,
fx,fy,
diff --git a/src/mame/video/decospr.h b/src/mame/video/decospr.h
index 767ea6a5981..fe7155b74fd 100644
--- a/src/mame/video/decospr.h
+++ b/src/mame/video/decospr.h
@@ -7,6 +7,9 @@ class decospr_device : public device_t,
{
public:
decospr_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void set_gfx_region(device_t &device, int gfxregion);
static void set_pri_callback(device_t &device, decospr_priority_callback_func callback);
static void set_col_callback(device_t &device, decospr_colour_callback_func callback);
@@ -74,6 +77,10 @@ protected:
private:
template<class _BitmapClass>
void draw_sprites_common(_BitmapClass &bitmap, const rectangle &cliprect, UINT16* spriteram, int sizewords, bool invert_flip);
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type DECO_SPRITE;
+
+#define MCFG_DECO_SPRITE_GFXDECODE(_gfxtag) \
+ decospr_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
diff --git a/src/mame/video/deniam.c b/src/mame/video/deniam.c
index 835899173cd..af4c1cc2dd9 100644
--- a/src/mame/video/deniam.c
+++ b/src/mame/video/deniam.c
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(deniam_state::get_bg_tile_info)
{
int page = tile_index >> 11;
UINT16 attr = m_videoram[m_bg_page[page] * 0x0800 + (tile_index & 0x7ff)];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
attr,
(attr & 0x1fc0) >> 6,
@@ -72,7 +72,7 @@ TILE_GET_INFO_MEMBER(deniam_state::get_fg_tile_info)
{
int page = tile_index >> 11;
UINT16 attr = m_videoram[m_fg_page[page] * 0x0800 + (tile_index & 0x7ff)];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
attr,
(attr & 0x1fc0) >> 6,
@@ -82,7 +82,7 @@ TILE_GET_INFO_MEMBER(deniam_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(deniam_state::get_tx_tile_info)
{
UINT16 attr = m_textram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
attr & 0xf1ff,
(attr & 0x0e00) >> 9,
diff --git a/src/mame/video/digdug.c b/src/mame/video/digdug.c
index 1c78ffa821a..f7e9e364226 100644
--- a/src/mame/video/digdug.c
+++ b/src/mame/video/digdug.c
@@ -99,7 +99,7 @@ TILE_GET_INFO_MEMBER(digdug_state::bg_get_tile_info)
tilemap RAM, therefore allowing to pick some bits of the color code from
the top 4 bits of alpha code. This feature is not used by Dig Dug. */
int color = m_bg_disable ? 0xf : (code >> 4);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
color | m_bg_color_bank,
@@ -126,7 +126,7 @@ TILE_GET_INFO_MEMBER(digdug_state::tx_get_tile_info)
timing signals, while x flip is done by selecting the 2nd character set.
We reproduce this here, but since the tilemap system automatically flips
characters when screen is flipped, we have to flip them back. */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x7f) | (flip_screen() ? 0x80 : 0),
color,
@@ -277,14 +277,14 @@ void digdug_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
{
for (x = 0;x <= size;x++)
{
- UINT32 transmask = colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0x1f);
- machine().gfx[1]->transmask(bitmap,visarea,
+ UINT32 transmask = colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0x1f);
+ m_gfxdecode->gfx(1)->transmask(bitmap,visarea,
sprite + gfx_offs[y ^ (size * flipy)][x ^ (size * flipx)],
color,
flipx,flipy,
((sx + 16*x) & 0xff), sy + 16*y,transmask);
/* wraparound */
- machine().gfx[1]->transmask(bitmap,visarea,
+ m_gfxdecode->gfx(1)->transmask(bitmap,visarea,
sprite + gfx_offs[y ^ (size * flipy)][x ^ (size * flipx)],
color,
flipx,flipy,
diff --git a/src/mame/video/djboy.c b/src/mame/video/djboy.c
index cc1e39b0b98..89d1a794bd4 100644
--- a/src/mame/video/djboy.c
+++ b/src/mame/video/djboy.c
@@ -26,7 +26,7 @@ TILE_GET_INFO_MEMBER(djboy_state::get_bg_tile_info)
if (color & 8)
code |= 0x1000;
- SET_TILE_INFO_MEMBER(1, code, color, 0); /* no flip */
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0); /* no flip */
}
WRITE8_MEMBER(djboy_state::djboy_videoram_w)
diff --git a/src/mame/video/djmain.c b/src/mame/video/djmain.c
index 947d640e31b..41c764e275a 100644
--- a/src/mame/video/djmain.c
+++ b/src/mame/video/djmain.c
@@ -16,7 +16,7 @@ void djmain_state::draw_sprites( bitmap_rgb32 &bitmap, const rectangle &cliprect
int offs, pri_code;
int sortedlist[NUM_SPRITES];
- machine().gfx[0]->set_colorbase(m_k055555->k055555_read_register(m_k055555, K55_PALBASE_SUB2) * 0x400);
+ m_gfxdecode->gfx(0)->set_colorbase(m_k055555->k055555_read_register(m_k055555, K55_PALBASE_SUB2) * 0x400);
for (offs = 0; offs < NUM_SPRITES; offs++)
sortedlist[offs] = -1;
@@ -94,7 +94,7 @@ void djmain_state::draw_sprites( bitmap_rgb32 &bitmap, const rectangle &cliprect
int zh = oy + (((y + 1) * yscale + (1 << 11)) >> 12) - sy;
- machine().gfx[0]->zoom_transpen(bitmap,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,
cliprect,
c,
color,
@@ -112,7 +112,7 @@ void djmain_state::draw_sprites( bitmap_rgb32 &bitmap, const rectangle &cliprect
int sy = oy + (y << 4);
- machine().gfx[0]->transpen(bitmap,
+ m_gfxdecode->gfx(0)->transpen(bitmap,
cliprect,
c,
color,
diff --git a/src/mame/video/dkong.c b/src/mame/video/dkong.c
index bd4ca3e7c0b..1d2a96e7a17 100644
--- a/src/mame/video/dkong.c
+++ b/src/mame/video/dkong.c
@@ -447,7 +447,7 @@ TILE_GET_INFO_MEMBER(dkong_state::dkong_bg_tile_info)
int code = m_video_ram[tile_index] + 256 * m_gfx_bank;
int color = (m_color_codes[tile_index % 32 + 32 * (tile_index / 32 / 4)] & 0x0f) + 0x10 * m_palette_bank;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(dkong_state::radarscp1_bg_tile_info)
@@ -456,7 +456,7 @@ TILE_GET_INFO_MEMBER(dkong_state::radarscp1_bg_tile_info)
int color = (m_color_codes[tile_index % 32] & 0x0f);
color = color | (m_palette_bank<<4);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
/***************************************************************************
@@ -632,11 +632,11 @@ void dkong_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
}
y = scanline - ((y + add_y + 1 + scanline_vfc) & 0x0F);
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, x, y, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, x, y, 0);
// wraparound
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, m_flip ? x + 256 : x - 256, y, 0);
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, x, y - 256, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, m_flip ? x + 256 : x - 256, y, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, x, y - 256, 0);
num_sprt++;
}
@@ -995,7 +995,7 @@ UINT32 dkong_state::screen_update_pestplce(screen_device &screen, bitmap_ind16 &
{
if (m_sprite_ram[offs])
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_sprite_ram[offs + 2],
(m_sprite_ram[offs + 1] & 0x0f) + 16 * m_palette_bank,
m_sprite_ram[offs + 1] & 0x80,m_sprite_ram[offs + 1] & 0x40,
diff --git a/src/mame/video/docastle.c b/src/mame/video/docastle.c
index 7ccb872b6e8..c85aca7a61b 100644
--- a/src/mame/video/docastle.c
+++ b/src/mame/video/docastle.c
@@ -89,7 +89,7 @@ TILE_GET_INFO_MEMBER(docastle_state::get_tile_info)
int code = m_videoram[tile_index] + 8 * (m_colorram[tile_index] & 0x20);
int color = m_colorram[tile_index] & 0x1f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void docastle_state::video_start_common( UINT32 tile_transmask )
@@ -119,7 +119,7 @@ void docastle_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
{
int sx, sy, flipx, flipy, code, color;
- if (machine().gfx[1]->elements() > 256)
+ if (m_gfxdecode->gfx(1)->elements() > 256)
{
/* spriteram
@@ -181,7 +181,7 @@ void docastle_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
}
/* first draw the sprite, visible */
- machine().gfx[1]->prio_transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -190,7 +190,7 @@ void docastle_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
0x00,0x80ff);
/* then draw the mask, behind the background but obscuring following sprites */
- machine().gfx[1]->prio_transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/dogfgt.c b/src/mame/video/dogfgt.c
index 18d5c46a8ac..29b66b6794e 100644
--- a/src/mame/video/dogfgt.c
+++ b/src/mame/video/dogfgt.c
@@ -51,7 +51,7 @@ void dogfgt_state::palette_init()
TILE_GET_INFO_MEMBER(dogfgt_state::get_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_bgvideoram[tile_index],
m_bgvideoram[tile_index + 0x400] & 0x03,
@@ -192,7 +192,7 @@ void dogfgt_state::draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_spriteram[offs + 1] + ((m_spriteram[offs] & 0x30) << 4),
(m_spriteram[offs] & 0x08) >> 3,
flipx,flipy,
diff --git a/src/mame/video/dooyong.c b/src/mame/video/dooyong.c
index 8d57135291c..6110f11ee8f 100644
--- a/src/mame/video/dooyong.c
+++ b/src/mame/video/dooyong.c
@@ -238,7 +238,7 @@ inline void dooyong_state::lastday_get_tile_info(tile_data &tileinfo, int tile_i
flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
}
- SET_TILE_INFO_MEMBER(graphics, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, graphics, code, color, flags);
}
inline void dooyong_state::rshark_get_tile_info(tile_data &tileinfo, int tile_index,
@@ -258,7 +258,7 @@ inline void dooyong_state::rshark_get_tile_info(tile_data &tileinfo, int tile_in
int color = tilerom2[offs] & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(graphics, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, graphics, code, color, flags);
}
TILE_GET_INFO_MEMBER(dooyong_state::get_bg_tile_info)
@@ -305,7 +305,7 @@ TILE_GET_INFO_MEMBER(dooyong_state::flytiger_get_fg_tile_info)
int color = (attr & 0x78) >> 3;
int flags = ((attr & 0x02) ? TILE_FLIPX : 0) | ((attr & 0x04) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(m_fg_gfx, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_fg_gfx, code, color, flags);
}
TILE_GET_INFO_MEMBER(dooyong_state::get_tx_tile_info)
@@ -330,7 +330,7 @@ TILE_GET_INFO_MEMBER(dooyong_state::get_tx_tile_info)
code = m_txvideoram[offs] | ((attr & 0x0f) << 8);
color = (attr & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -413,7 +413,7 @@ void dooyong_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, co
for (y = 0; y <= height; y++)
{
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + y,
color,
flipx, flipy,
@@ -481,7 +481,7 @@ void dooyong_state::rshark_draw_sprites(screen_device &screen, bitmap_ind16 &bit
for (x = 0; x <= width; x++)
{
int _x = sx + (16 * (flipx ? (width - x) : x));
- machine().gfx[0]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect,
code,
color,
flipx, flipy,
diff --git a/src/mame/video/dragrace.c b/src/mame/video/dragrace.c
index 49677f115c1..7bf2a130d4b 100644
--- a/src/mame/video/dragrace.c
+++ b/src/mame/video/dragrace.c
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(dragrace_state::get_tile_info)
break;
}
- SET_TILE_INFO_MEMBER(((code & 0xA0) == 0x80) ? 1 : 0, num, col, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, ((code & 0xA0) == 0x80) ? 1 : 0, num, col, 0);
}
diff --git a/src/mame/video/drgnmst.c b/src/mame/video/drgnmst.c
index dfd46b8e644..5df8ddc9ce7 100644
--- a/src/mame/video/drgnmst.c
+++ b/src/mame/video/drgnmst.c
@@ -13,7 +13,7 @@ TILE_GET_INFO_MEMBER(drgnmst_state::get_drgnmst_fg_tile_info)
colour = m_fg_videoram[tile_index * 2 + 1] & 0x1f;
flipyx = (m_fg_videoram[tile_index * 2 + 1] & 0x60)>>5;
- SET_TILE_INFO_MEMBER(1, tileno, colour, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, colour, TILE_FLIPYX(flipyx));
}
WRITE16_MEMBER(drgnmst_state::drgnmst_fg_videoram_w)
@@ -29,7 +29,7 @@ TILE_GET_INFO_MEMBER(drgnmst_state::get_drgnmst_bg_tile_info)
colour = m_bg_videoram[tile_index * 2 + 1] & 0x1f;
flipyx = (m_bg_videoram[tile_index * 2 + 1] & 0x60) >> 5;
- SET_TILE_INFO_MEMBER(3, tileno, colour, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, tileno, colour, TILE_FLIPYX(flipyx));
}
WRITE16_MEMBER(drgnmst_state::drgnmst_bg_videoram_w)
@@ -45,7 +45,7 @@ TILE_GET_INFO_MEMBER(drgnmst_state::get_drgnmst_md_tile_info)
colour = m_md_videoram[tile_index * 2 + 1] & 0x1f;
flipyx = (m_md_videoram[tile_index * 2 + 1] & 0x60) >> 5;
- SET_TILE_INFO_MEMBER(2, tileno, colour, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tileno, colour, TILE_FLIPYX(flipyx));
}
WRITE16_MEMBER(drgnmst_state::drgnmst_md_videoram_w)
@@ -56,7 +56,7 @@ WRITE16_MEMBER(drgnmst_state::drgnmst_md_videoram_w)
void drgnmst_state::draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect )
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT16 *source = m_spriteram;
UINT16 *finish = source + 0x800 / 2;
diff --git a/src/mame/video/drmicro.c b/src/mame/video/drmicro.c
index 5899e2b70fa..0003d043028 100644
--- a/src/mame/video/drmicro.c
+++ b/src/mame/video/drmicro.c
@@ -37,7 +37,7 @@ TILE_GET_INFO_MEMBER(drmicro_state::get_bg1_tile_info)
flags = ((col & 0x20) ? TILEMAP_FLIPY : 0) | ((col & 0x10) ? TILEMAP_FLIPX : 0);
col &= 0x0f;
- SET_TILE_INFO_MEMBER( 0, code, col, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, col, flags);
}
TILE_GET_INFO_MEMBER(drmicro_state::get_bg2_tile_info)
@@ -51,7 +51,7 @@ TILE_GET_INFO_MEMBER(drmicro_state::get_bg2_tile_info)
flags = ((col & 0x20) ? TILEMAP_FLIPY : 0) | ((col & 0x10) ? TILEMAP_FLIPX : 0);
col &= 0x0f;
- SET_TILE_INFO_MEMBER( 1, code, col, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, col, flags);
}
/****************************************************************************/
@@ -145,7 +145,7 @@ UINT32 drmicro_state::screen_update_drmicro(screen_device &screen, bitmap_ind16
else
x = (240 - x) & 0xff;
- machine().gfx[3-g]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3-g)->transpen(bitmap,cliprect,
chr,
col,
fx,fy,
@@ -153,7 +153,7 @@ UINT32 drmicro_state::screen_update_drmicro(screen_device &screen, bitmap_ind16
if (x > 240)
{
- machine().gfx[3-g]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3-g)->transpen(bitmap,cliprect,
chr,
col,
fx,fy,
diff --git a/src/mame/video/dynduke.c b/src/mame/video/dynduke.c
index 837e4c2b6c7..be2875f6b76 100644
--- a/src/mame/video/dynduke.c
+++ b/src/mame/video/dynduke.c
@@ -40,7 +40,7 @@ TILE_GET_INFO_MEMBER(dynduke_state::get_bg_tile_info)
tile=tile&0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile+m_back_bankbase,
color,
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(dynduke_state::get_fg_tile_info)
tile=tile&0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile+m_fore_bankbase,
color,
@@ -69,7 +69,7 @@ TILE_GET_INFO_MEMBER(dynduke_state::get_tx_tile_info)
tile = (tile & 0xff) | ((tile & 0xc000) >> 6);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -157,7 +157,7 @@ void dynduke_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,
if (fy) fy=0; else fy=1;
}
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
sprite,
color,fx,fy,x,y,15);
}
diff --git a/src/mame/video/eprom.c b/src/mame/video/eprom.c
index f74c7d2f693..dbd454113dd 100644
--- a/src/mame/video/eprom.c
+++ b/src/mame/video/eprom.c
@@ -55,7 +55,7 @@ TILE_GET_INFO_MEMBER(eprom_state::get_alpha_tile_info)
int code = data & 0x3ff;
int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -65,7 +65,7 @@ TILE_GET_INFO_MEMBER(eprom_state::get_playfield_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) >> 8;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
}
@@ -75,7 +75,7 @@ TILE_GET_INFO_MEMBER(eprom_state::guts_get_playfield_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) >> 8;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO_MEMBER(2, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, (data1 >> 15) & 1);
}
diff --git a/src/mame/video/equites.c b/src/mame/video/equites.c
index 6cc0abc0ff5..b7d36e8b3ea 100644
--- a/src/mame/video/equites.c
+++ b/src/mame/video/equites.c
@@ -67,7 +67,7 @@ TILE_GET_INFO_MEMBER(equites_state::equites_fg_info)
int tile = m_fg_videoram[2 * tile_index];
int color = m_fg_videoram[2 * tile_index + 1] & 0x1f;
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
if (color & 0x10)
tileinfo.flags |= TILE_FORCE_LAYER0;
}
@@ -77,7 +77,7 @@ TILE_GET_INFO_MEMBER(equites_state::splndrbt_fg_info)
int tile = m_fg_videoram[2 * tile_index] + (m_fg_char_bank << 8);
int color = m_fg_videoram[2 * tile_index + 1] & 0x3f;
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
if (color & 0x10)
tileinfo.flags |= TILE_FORCE_LAYER0;
}
@@ -89,7 +89,7 @@ TILE_GET_INFO_MEMBER(equites_state::equites_bg_info)
int color = (data & 0xf000) >> 12;
int fxy = (data & 0x0600) >> 9;
- SET_TILE_INFO_MEMBER(1, tile, color, TILE_FLIPXY(fxy));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color, TILE_FLIPXY(fxy));
}
TILE_GET_INFO_MEMBER(equites_state::splndrbt_bg_info)
@@ -99,7 +99,7 @@ TILE_GET_INFO_MEMBER(equites_state::splndrbt_bg_info)
int color = (data & 0xf800) >> 11;
int fxy = (data & 0x0600) >> 9;
- SET_TILE_INFO_MEMBER(1, tile, color, TILE_FLIPXY(fxy));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color, TILE_FLIPXY(fxy));
tileinfo.group = color;
}
@@ -136,7 +136,7 @@ VIDEO_START_MEMBER(equites_state,splndrbt)
m_fg_tilemap->set_scrolldx(8, -8);
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);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, m_gfxdecode->gfx(1), 0x10);
}
@@ -259,7 +259,7 @@ void equites_state::equites_draw_sprites_block( bitmap_ind16 &bitmap, const rect
int color = (~attr & 0xf000) >> 12;
int sx = (m_spriteram[offs] & 0xff00) >> 8;
int sy = (m_spriteram[offs] & 0x00ff);
- int transmask = colortable_get_transpen_mask(machine().colortable, machine().gfx[2], color, 0);
+ int transmask = colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(2), color, 0);
if (flip_screen())
{
@@ -275,7 +275,7 @@ void equites_state::equites_draw_sprites_block( bitmap_ind16 &bitmap, const rect
// sprites are 16x14 centered in a 16x16 square, so skip the first line
sy += 1;
- machine().gfx[2]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transmask(bitmap,cliprect,
tile,
color,
fx, fy,
@@ -321,7 +321,7 @@ void equites_state::splndrbt_draw_sprites( bitmap_ind16 &bitmap, const rectangle
{
const UINT8 * const xrom = memregion("user2")->base();
const UINT8 * const yrom = xrom + 0x100;
- gfx_element* gfx = machine().gfx[2];
+ gfx_element* gfx = m_gfxdecode->gfx(2);
int offs;
// note that sprites are actually 30x30, contained in 32x32 squares. The outer edge is not used.
diff --git a/src/mame/video/esd16.c b/src/mame/video/esd16.c
index 59cad14fc8b..de99c6426d0 100644
--- a/src/mame/video/esd16.c
+++ b/src/mame/video/esd16.c
@@ -53,7 +53,7 @@ Note: if MAME_DEBUG is defined, pressing Z with:
TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_0)
{
UINT16 code = m_vram_0[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
m_tilemap0_color,
@@ -63,7 +63,7 @@ TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_0)
TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_0_16x16)
{
UINT16 code = m_vram_0[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
m_tilemap0_color,
@@ -74,7 +74,7 @@ TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_0_16x16)
TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_1)
{
UINT16 code = m_vram_1[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
m_tilemap1_color,
@@ -84,7 +84,7 @@ TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_1)
TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_1_16x16)
{
UINT16 code = m_vram_1[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
m_tilemap1_color,
diff --git a/src/mame/video/espial.c b/src/mame/video/espial.c
index 67bc0826e41..953f37be602 100644
--- a/src/mame/video/espial.c
+++ b/src/mame/video/espial.c
@@ -71,7 +71,7 @@ TILE_GET_INFO_MEMBER(espial_state::get_tile_info)
UINT8 code = m_videoram[tile_index];
UINT8 col = m_colorram[tile_index];
UINT8 attr = m_attributeram[tile_index];
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
code | ((attr & 0x03) << 8),
col & 0x3f,
TILE_FLIPYX(attr >> 2));
@@ -184,11 +184,11 @@ void espial_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
{
if (m_flipscreen)
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,color,
flipx,flipy,
sx,sy + 16,0);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code + 1,
color,
flipx,flipy,
@@ -196,11 +196,11 @@ void espial_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
}
else
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,color,
flipx,flipy,
sx,sy - 16,0);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code + 1,color,
flipx,flipy,
sx,sy,0);
@@ -208,7 +208,7 @@ void espial_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
}
else
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,color,
flipx,flipy,
sx,sy,0);
diff --git a/src/mame/video/exedexes.c b/src/mame/video/exedexes.c
index 232ee9952d8..6e0632cadc2 100644
--- a/src/mame/video/exedexes.c
+++ b/src/mame/video/exedexes.c
@@ -132,14 +132,14 @@ TILE_GET_INFO_MEMBER(exedexes_state::get_bg_tile_info)
int color = tilerom[tile_index + (8 * 8)];
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(exedexes_state::get_fg_tile_info)
{
int code = memregion("gfx5")->base()[tile_index];
- SET_TILE_INFO_MEMBER(2, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, 0, 0);
}
TILE_GET_INFO_MEMBER(exedexes_state::get_tx_tile_info)
@@ -149,7 +149,7 @@ TILE_GET_INFO_MEMBER(exedexes_state::get_tx_tile_info)
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILEMAP_MAPPER_MEMBER(exedexes_state::exedexes_bg_tilemap_scan)
@@ -171,7 +171,7 @@ void exedexes_state::video_start()
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);
m_fg_tilemap->set_transparent_pen(0);
- colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, machine().gfx[0], 0xcf);
+ colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, m_gfxdecode->gfx(0), 0xcf);
}
void exedexes_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int priority )
@@ -197,7 +197,7 @@ void exedexes_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
sx = buffered_spriteram[offs + 3] - ((buffered_spriteram[offs + 1] & 0x80) << 1);
sy = buffered_spriteram[offs + 2];
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/exerion.c b/src/mame/video/exerion.c
index 888b877339d..eb7fa83a50e 100644
--- a/src/mame/video/exerion.c
+++ b/src/mame/video/exerion.c
@@ -370,7 +370,7 @@ UINT32 exerion_state::screen_update_exerion(screen_device &screen, bitmap_ind16
int code2 = code;
int color = ((flags >> 1) & 0x03) | ((code >> 5) & 0x04) | (code & 0x08) | (m_sprite_palette * 16);
- gfx_element *gfx = doubled ? machine().gfx[2] : machine().gfx[1];
+ gfx_element *gfx = doubled ? m_gfxdecode->gfx(2) : m_gfxdecode->gfx(1);
if (m_cocktail_flip)
{
@@ -406,7 +406,7 @@ UINT32 exerion_state::screen_update_exerion(screen_device &screen, bitmap_ind16
int y = m_cocktail_flip ? (31*8 - 8*sy) : 8*sy;
offs = sx + sy * 64;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_videoram[offs] + 256 * m_char_bank,
((m_videoram[offs] & 0xf0) >> 4) + m_char_palette * 16,
m_cocktail_flip, m_cocktail_flip, x, y, 0);
diff --git a/src/mame/video/exidy.c b/src/mame/video/exidy.c
index 987edcf1be9..966dd994931 100644
--- a/src/mame/video/exidy.c
+++ b/src/mame/video/exidy.c
@@ -216,7 +216,7 @@ void exidy_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
int sx = 236 - *m_sprite2_xpos - 4;
int sy = 244 - *m_sprite2_ypos - 4;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
((*m_spriteno >> 4) & 0x0f) + 32 + 16 * sprite_set_2, 1,
0, 0, sx, sy, 0);
@@ -230,7 +230,7 @@ void exidy_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
if (sy < 0) sy = 0;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
(*m_spriteno & 0x0f) + 16 * sprite_set_1, 0,
0, 0, sx, sy, 0);
}
@@ -295,7 +295,7 @@ void exidy_state::check_collision()
{
org_1_x = 236 - *m_sprite1_xpos - 4;
org_1_y = 244 - *m_sprite1_ypos - 4;
- machine().gfx[0]->transpen(m_motion_object_1_vid,clip,
+ m_gfxdecode->gfx(0)->transpen(m_motion_object_1_vid,clip,
(*m_spriteno & 0x0f) + 16 * sprite_set_1, 0,
0, 0, 0, 0, 0);
}
@@ -304,7 +304,7 @@ void exidy_state::check_collision()
m_motion_object_2_vid.fill(0xff, clip);
org_2_x = 236 - *m_sprite2_xpos - 4;
org_2_y = 244 - *m_sprite2_ypos - 4;
- machine().gfx[0]->transpen(m_motion_object_2_vid,clip,
+ m_gfxdecode->gfx(0)->transpen(m_motion_object_2_vid,clip,
((*m_spriteno >> 4) & 0x0f) + 32 + 16 * sprite_set_2, 0,
0, 0, 0, 0, 0);
@@ -314,7 +314,7 @@ void exidy_state::check_collision()
{
sx = org_2_x - org_1_x;
sy = org_2_y - org_1_y;
- machine().gfx[0]->transpen(m_motion_object_2_clip,clip,
+ m_gfxdecode->gfx(0)->transpen(m_motion_object_2_clip,clip,
((*m_spriteno >> 4) & 0x0f) + 32 + 16 * sprite_set_2, 0,
0, 0, sx, sy, 0);
}
diff --git a/src/mame/video/exprraid.c b/src/mame/video/exprraid.c
index ee03ee2c7d5..4ff23a973dc 100644
--- a/src/mame/video/exprraid.c
+++ b/src/mame/video/exprraid.c
@@ -66,7 +66,7 @@ TILE_GET_INFO_MEMBER(exprraid_state::get_bg_tile_info)
tileinfo.category = ((attr & 0x80) ? 1 : 0);
- SET_TILE_INFO_MEMBER(bank, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, flags);
}
TILE_GET_INFO_MEMBER(exprraid_state::get_fg_tile_info)
@@ -75,7 +75,7 @@ TILE_GET_INFO_MEMBER(exprraid_state::get_fg_tile_info)
int code = m_videoram[tile_index] + ((attr & 0x07) << 8);
int color = (attr & 0x10) >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void exprraid_state::video_start()
@@ -109,7 +109,7 @@ void exprraid_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
@@ -118,7 +118,7 @@ void exprraid_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
if (attr & 0x10)
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code + 1, color,
flipx, flipy,
sx, sy + (flip_screen() ? -16 : 16), 0);
diff --git a/src/mame/video/exzisus.c b/src/mame/video/exzisus.c
index 535c5930296..5b26113b7a6 100644
--- a/src/mame/video/exzisus.c
+++ b/src/mame/video/exzisus.c
@@ -136,7 +136,7 @@ UINT32 exzisus_state::screen_update_exzisus(screen_device &screen, bitmap_ind16
y = 248 - y;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code & 0x3fff,
color,
flip_screen(), flip_screen(),
@@ -205,7 +205,7 @@ UINT32 exzisus_state::screen_update_exzisus(screen_device &screen, bitmap_ind16
y = 248 - y;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code & 0x3fff,
color,
flip_screen(), flip_screen(),
diff --git a/src/mame/video/f1gp.c b/src/mame/video/f1gp.c
index ab3db33eec1..c1cb9bc4f07 100644
--- a/src/mame/video/f1gp.c
+++ b/src/mame/video/f1gp.c
@@ -16,21 +16,21 @@ TILE_GET_INFO_MEMBER(f1gp_state::f1gp_get_roz_tile_info)
{
int code = m_rozvideoram[tile_index];
- SET_TILE_INFO_MEMBER(3, code & 0x7ff, code >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, code & 0x7ff, code >> 12, 0);
}
TILE_GET_INFO_MEMBER(f1gp_state::f1gp2_get_roz_tile_info)
{
int code = m_rozvideoram[tile_index];
- SET_TILE_INFO_MEMBER(2, (code & 0x7ff) + (m_roz_bank << 11), code >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, (code & 0x7ff) + (m_roz_bank << 11), code >> 12, 0);
}
TILE_GET_INFO_MEMBER(f1gp_state::get_fg_tile_info)
{
int code = m_fgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code & 0x7fff, 0, (code & 0x8000) ? TILE_FLIPY : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x7fff, 0, (code & 0x8000) ? TILE_FLIPY : 0);
}
@@ -51,7 +51,7 @@ VIDEO_START_MEMBER(f1gp_state,f1gp)
m_fg_tilemap->set_transparent_pen(0xff);
m_zoomdata = (UINT16 *)memregion("gfx4")->base();
- machine().gfx[3]->set_source((UINT8 *)m_zoomdata);
+ m_gfxdecode->gfx(3)->set_source((UINT8 *)m_zoomdata);
save_pointer(NAME(m_zoomdata), memregion("gfx4")->bytes()/2);
}
@@ -65,7 +65,7 @@ VIDEO_START_MEMBER(f1gp_state,f1gpb)
m_fg_tilemap->set_transparent_pen(0xff);
m_zoomdata = (UINT16 *)memregion("gfx4")->base();
- machine().gfx[3]->set_source((UINT8 *)m_zoomdata);
+ m_gfxdecode->gfx(3)->set_source((UINT8 *)m_zoomdata);
save_pointer(NAME(m_zoomdata), memregion("gfx4")->bytes()/2);
}
@@ -117,7 +117,7 @@ READ16_MEMBER(f1gp_state::f1gp_zoomdata_r)
WRITE16_MEMBER(f1gp_state::f1gp_zoomdata_w)
{
COMBINE_DATA(&m_zoomdata[offset]);
- machine().gfx[3]->mark_dirty(offset / 64);
+ m_gfxdecode->gfx(3)->mark_dirty(offset / 64);
}
READ16_MEMBER(f1gp_state::f1gp_rozvideoram_r)
@@ -294,7 +294,7 @@ void f1gp_state::f1gpb_draw_sprites( screen_device &screen,bitmap_ind16 &bitmap,
gfx = 0;
}
- machine().gfx[1 + gfx]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1 + gfx)->prio_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -303,7 +303,7 @@ void f1gp_state::f1gpb_draw_sprites( screen_device &screen,bitmap_ind16 &bitmap,
pri ? 0 : 0x2,15);
// wrap around x
- machine().gfx[1 + gfx]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1 + gfx)->prio_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/fantland.c b/src/mame/video/fantland.c
index 4c279c7aaea..353a9081dcb 100644
--- a/src/mame/video/fantland.c
+++ b/src/mame/video/fantland.c
@@ -134,7 +134,7 @@ void fantland_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
if (x >= 0x180) x -= 0x200;
- machine().gfx[0]->transpen(bitmap,cliprect, code,color, flipx,flipy, x,y,0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, code,color, flipx,flipy, x,y,0);
}
}
diff --git a/src/mame/video/fastfred.c b/src/mame/video/fastfred.c
index 2caa44787d9..78a4bc61505 100644
--- a/src/mame/video/fastfred.c
+++ b/src/mame/video/fastfred.c
@@ -87,7 +87,7 @@ TILE_GET_INFO_MEMBER(fastfred_state::get_tile_info)
UINT16 code = m_charbank | m_videoram[tile_index];
UINT8 color = m_colorbank | (m_attributesram[2 * x + 1] & 0x07);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -277,7 +277,7 @@ void fastfred_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,flip_screen_x() ? spritevisibleareaflipx : spritevisiblearea,
+ m_gfxdecode->gfx(1)->transpen(bitmap,flip_screen_x() ? spritevisibleareaflipx : spritevisiblearea,
code,
m_colorbank | (m_spriteram[offs + 2] & 0x07),
flipx,flipy,
@@ -303,18 +303,18 @@ TILE_GET_INFO_MEMBER(fastfred_state::imago_get_tile_info_bg)
UINT16 code = m_charbank * 0x100 + m_videoram[tile_index];
UINT8 color = m_colorbank | (m_attributesram[2 * x + 1] & 0x07);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(fastfred_state::imago_get_tile_info_fg)
{
int code = m_imago_fg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(2, code, 2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, 2, 0);
}
TILE_GET_INFO_MEMBER(fastfred_state::imago_get_tile_info_web)
{
- SET_TILE_INFO_MEMBER(3, tile_index & 0x1ff, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, tile_index & 0x1ff, 0, 0);
}
WRITE8_MEMBER(fastfred_state::imago_fg_videoram_w )
diff --git a/src/mame/video/fastlane.c b/src/mame/video/fastlane.c
index d7f006e7f1f..bde6ff6aaf9 100644
--- a/src/mame/video/fastlane.c
+++ b/src/mame/video/fastlane.c
@@ -66,7 +66,7 @@ TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info0)
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code+bank*256,
1 + 64 * (attr & 0x0f),
@@ -94,7 +94,7 @@ TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info1)
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code+bank*256,
0 + 64 * (attr & 0x0f),
@@ -167,7 +167,7 @@ UINT32 fastlane_state::screen_update_fastlane(screen_device &screen, bitmap_ind1
m_layer0->set_scrolly(0, m_k007121->ctrlram_r(space, 2));
m_layer0->draw(screen, bitmap, finalclip0, 0, 0);
- m_k007121->sprites_draw(bitmap, cliprect, machine().gfx[0], machine().colortable, m_spriteram, 0, 40, 0, screen.priority(), (UINT32)-1);
+ m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), machine().colortable, m_spriteram, 0, 40, 0, screen.priority(), (UINT32)-1);
m_layer1->draw(screen, bitmap, finalclip1, 0, 0);
return 0;
}
diff --git a/src/mame/video/fcombat.c b/src/mame/video/fcombat.c
index 55c911ff0d8..fc2b73f99dd 100644
--- a/src/mame/video/fcombat.c
+++ b/src/mame/video/fcombat.c
@@ -16,7 +16,7 @@ TILE_GET_INFO_MEMBER(fcombat_state::get_bg_tile_info)
tileno = memregion("user1")->base()[tile_index];
palno = 0x18; //memregion("user2")->base()[tile_index] >> 3;
- SET_TILE_INFO_MEMBER(2, tileno, palno, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tileno, palno, 0);
}
@@ -159,7 +159,7 @@ UINT32 fcombat_state::screen_update_fcombat(screen_device &screen, bitmap_ind16
int code2 = code;
int color = ((flags >> 1) & 0x03) | ((code >> 5) & 0x04) | (code & 0x08) | (m_sprite_palette * 16);
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
if (m_cocktail_flip)
{
@@ -201,7 +201,7 @@ UINT32 fcombat_state::screen_update_fcombat(screen_device &screen, bitmap_ind16
int y = m_cocktail_flip ? (31 * 8 - 8 * sy) : 8 * sy;
offs = sx + sy * 64;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_videoram[offs] + 256 * m_char_bank,
((m_videoram[offs] & 0xf0) >> 4) + m_char_palette * 16,
m_cocktail_flip, m_cocktail_flip, x, y, 0);
diff --git a/src/mame/video/fgoal.c b/src/mame/video/fgoal.c
index 5bd66c29aa5..049a715b152 100644
--- a/src/mame/video/fgoal.c
+++ b/src/mame/video/fgoal.c
@@ -48,14 +48,14 @@ UINT32 fgoal_state::screen_update_fgoal(screen_device &screen, bitmap_ind16 &bit
if (m_fgoal_player == 1 && (ioport("IN1")->read() & 0x40))
{
- machine().gfx[0]->zoom_opaque(m_fgbitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_opaque(m_fgbitmap,cliprect,
0, (m_fgoal_player << 2) | m_current_color,
1, 1,
0, 16,
0x40000,
0x40000);
- machine().gfx[1]->zoom_opaque(m_bgbitmap,cliprect,
+ m_gfxdecode->gfx(1)->zoom_opaque(m_bgbitmap,cliprect,
0, 0,
1, 1,
0, 16,
@@ -64,14 +64,14 @@ UINT32 fgoal_state::screen_update_fgoal(screen_device &screen, bitmap_ind16 &bit
}
else
{
- machine().gfx[0]->zoom_opaque(m_fgbitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_opaque(m_fgbitmap,cliprect,
0, (m_fgoal_player << 2) | m_current_color,
0, 0,
0, 0,
0x40000,
0x40000);
- machine().gfx[1]->zoom_opaque(m_bgbitmap,cliprect,
+ m_gfxdecode->gfx(1)->zoom_opaque(m_bgbitmap,cliprect,
0, 0,
0, 0,
0, 0,
diff --git a/src/mame/video/finalizr.c b/src/mame/video/finalizr.c
index d5c14ccc8b3..14afd6ca1d6 100644
--- a/src/mame/video/finalizr.c
+++ b/src/mame/video/finalizr.c
@@ -51,7 +51,7 @@ TILE_GET_INFO_MEMBER(finalizr_state::get_bg_tile_info)
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
TILE_GET_INFO_MEMBER(finalizr_state::get_fg_tile_info)
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(finalizr_state::get_fg_tile_info)
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void finalizr_state::video_start()
@@ -93,8 +93,8 @@ UINT32 finalizr_state::screen_update_finalizr(screen_device &screen, bitmap_ind1
/* Draw the sprites. */
{
- gfx_element *gfx1 = machine().gfx[1];
- gfx_element *gfx2 = machine().gfx[2];
+ gfx_element *gfx1 = m_gfxdecode->gfx(1);
+ gfx_element *gfx2 = m_gfxdecode->gfx(2);
UINT8 *sr = m_spriterambank ? m_spriteram_2 : m_spriteram;
diff --git a/src/mame/video/firetrap.c b/src/mame/video/firetrap.c
index 42b90331454..749c1c50e32 100644
--- a/src/mame/video/firetrap.c
+++ b/src/mame/video/firetrap.c
@@ -88,7 +88,7 @@ TILE_GET_INFO_MEMBER(firetrap_state::get_fg_tile_info)
{
int code = m_fgvideoram[tile_index];
int color = m_fgvideoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code | ((color & 0x01) << 8),
color >> 4,
@@ -99,7 +99,7 @@ inline void firetrap_state::get_bg_tile_info(tile_data &tileinfo, int tile_index
{
int code = bgvideoram[tile_index];
int color = bgvideoram[tile_index + 0x100];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfx_region,
code + ((color & 0x03) << 8),
(color & 0x30) >> 4,
@@ -219,24 +219,24 @@ void firetrap_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
{
if (flip_screen()) sy -= 16;
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code & ~1,
color,
flipx,flipy,
sx,flipy ? sy : sy + 16,0);
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code | 1,
color,
flipx,flipy,
sx,flipy ? sy + 16 : sy,0);
/* redraw with wraparound */
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code & ~1,
color,
flipx,flipy,
sx - 256,flipy ? sy : sy + 16,0);
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code | 1,
color,
flipx,flipy,
@@ -244,14 +244,14 @@ void firetrap_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
else
{
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
sx,sy,0);
/* redraw with wraparound */
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/firetrk.c b/src/mame/video/firetrk.c
index 4412fb74d8c..0fde5e27d89 100644
--- a/src/mame/video/firetrk.c
+++ b/src/mame/video/firetrk.c
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(firetrk_state::firetrk_get_tile_info1)
if (m_flash)
color = color | 0x04;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
@@ -137,7 +137,7 @@ TILE_GET_INFO_MEMBER(firetrk_state::superbug_get_tile_info1)
if (m_flash)
color = color | 0x04;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
@@ -149,7 +149,7 @@ TILE_GET_INFO_MEMBER(firetrk_state::montecar_get_tile_info1)
if (m_flash)
color = color | 0x04;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
@@ -165,7 +165,7 @@ TILE_GET_INFO_MEMBER(firetrk_state::firetrk_get_tile_info2)
if ((code & 0x3c) == 0x0c)
color = 2; /* palette 0, 2 */
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
@@ -181,7 +181,7 @@ TILE_GET_INFO_MEMBER(firetrk_state::superbug_get_tile_info2)
if ((code & 0x38) == 0x00)
color = 2; /* palette 0, 2 */
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
@@ -203,7 +203,7 @@ TILE_GET_INFO_MEMBER(firetrk_state::montecar_get_tile_info2)
if ((code & 0x30) == 0x30)
color = 0; /* palette 0, 0 */
- SET_TILE_INFO_MEMBER(2, code & 0x3f, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code & 0x3f, color, 0);
}
@@ -346,21 +346,21 @@ UINT32 firetrk_state::screen_update_firetrk(screen_device &screen, bitmap_ind16
bitmap.fill(0, cliprect);
m_tilemap1->draw(screen, bitmap, playfield_window, 0, 0);
- firetrk_draw_car(bitmap, playfield_window, machine().gfx, 0, m_flash);
- firetrk_draw_car(bitmap, playfield_window, machine().gfx, 1, m_flash);
- draw_text(bitmap, cliprect, machine().gfx, m_alpha_num_ram + 0x00, 296, 0x10, 0x10);
- draw_text(bitmap, cliprect, machine().gfx, m_alpha_num_ram + 0x10, 8, 0x10, 0x10);
+ firetrk_draw_car(bitmap, playfield_window, m_gfxdecode->gfx(), 0, m_flash);
+ firetrk_draw_car(bitmap, playfield_window, m_gfxdecode->gfx(), 1, m_flash);
+ draw_text(bitmap, cliprect, m_gfxdecode->gfx(), m_alpha_num_ram + 0x00, 296, 0x10, 0x10);
+ draw_text(bitmap, cliprect, m_gfxdecode->gfx(), m_alpha_num_ram + 0x10, 8, 0x10, 0x10);
if (cliprect.max_y == screen.visible_area().max_y)
{
m_tilemap2->draw(screen, m_helper1, playfield_window, 0, 0);
m_helper2.fill(0xff, playfield_window);
- firetrk_draw_car(m_helper2, playfield_window, machine().gfx, 0, FALSE);
+ firetrk_draw_car(m_helper2, playfield_window, m_gfxdecode->gfx(), 0, FALSE);
check_collision(this, 0);
m_helper2.fill(0xff, playfield_window);
- firetrk_draw_car(m_helper2, playfield_window, machine().gfx, 1, FALSE);
+ firetrk_draw_car(m_helper2, playfield_window, m_gfxdecode->gfx(), 1, FALSE);
check_collision(this, 1);
*m_blink = FALSE;
@@ -380,16 +380,16 @@ UINT32 firetrk_state::screen_update_superbug(screen_device &screen, bitmap_ind16
bitmap.fill(0, cliprect);
m_tilemap1->draw(screen, bitmap, playfield_window, 0, 0);
- superbug_draw_car(bitmap, playfield_window, machine().gfx, m_flash);
- draw_text(bitmap, cliprect, machine().gfx, m_alpha_num_ram + 0x00, 296, 0x10, 0x10);
- draw_text(bitmap, cliprect, machine().gfx, m_alpha_num_ram + 0x10, 8, 0x10, 0x10);
+ superbug_draw_car(bitmap, playfield_window, m_gfxdecode->gfx(), m_flash);
+ draw_text(bitmap, cliprect, m_gfxdecode->gfx(), m_alpha_num_ram + 0x00, 296, 0x10, 0x10);
+ draw_text(bitmap, cliprect, m_gfxdecode->gfx(), m_alpha_num_ram + 0x10, 8, 0x10, 0x10);
if (cliprect.max_y == screen.visible_area().max_y)
{
m_tilemap2->draw(screen, m_helper1, playfield_window, 0, 0);
m_helper2.fill(0xff, playfield_window);
- superbug_draw_car(m_helper2, playfield_window, machine().gfx, FALSE);
+ superbug_draw_car(m_helper2, playfield_window, m_gfxdecode->gfx(), FALSE);
check_collision(this, 0);
*m_blink = FALSE;
@@ -409,21 +409,21 @@ UINT32 firetrk_state::screen_update_montecar(screen_device &screen, bitmap_ind16
bitmap.fill(0x2c, cliprect);
m_tilemap1->draw(screen, bitmap, playfield_window, 0, 0);
- montecar_draw_car(bitmap, playfield_window, machine().gfx, 0, FALSE);
- montecar_draw_car(bitmap, playfield_window, machine().gfx, 1, FALSE);
- draw_text(bitmap, cliprect, machine().gfx, m_alpha_num_ram + 0x00, 24, 0x20, 0x08);
- draw_text(bitmap, cliprect, machine().gfx, m_alpha_num_ram + 0x20, 16, 0x20, 0x08);
+ montecar_draw_car(bitmap, playfield_window, m_gfxdecode->gfx(), 0, FALSE);
+ montecar_draw_car(bitmap, playfield_window, m_gfxdecode->gfx(), 1, FALSE);
+ draw_text(bitmap, cliprect, m_gfxdecode->gfx(), m_alpha_num_ram + 0x00, 24, 0x20, 0x08);
+ draw_text(bitmap, cliprect, m_gfxdecode->gfx(), m_alpha_num_ram + 0x20, 16, 0x20, 0x08);
if (cliprect.max_y == screen.visible_area().max_y)
{
m_tilemap2->draw(screen, m_helper1, playfield_window, 0, 0);
m_helper2.fill(0xff, playfield_window);
- montecar_draw_car(m_helper2, playfield_window, machine().gfx, 0, TRUE);
+ montecar_draw_car(m_helper2, playfield_window, m_gfxdecode->gfx(), 0, TRUE);
check_collision(this, 0);
m_helper2.fill(0xff, playfield_window);
- montecar_draw_car(m_helper2, playfield_window, machine().gfx, 1, TRUE);
+ montecar_draw_car(m_helper2, playfield_window, m_gfxdecode->gfx(), 1, TRUE);
check_collision(this, 1);
}
diff --git a/src/mame/video/fitfight.c b/src/mame/video/fitfight.c
index 1f3279dd7a8..5713b4e9671 100644
--- a/src/mame/video/fitfight.c
+++ b/src/mame/video/fitfight.c
@@ -6,7 +6,7 @@
void fitfight_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int layer )
{
- gfx_element *gfx = machine().gfx[3];
+ gfx_element *gfx = m_gfxdecode->gfx(3);
UINT16 *source = m_spriteram;
UINT16 *finish = source + 0x800 / 2;
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(fitfight_state::get_fof_bak_tile_info)
int xflip = (m_fof_bak_tileram[tile_index * 2] & 0x0020) >> 5;
xflip ^= 1;
- SET_TILE_INFO_MEMBER(2, code, colr, TILE_FLIPYX(xflip));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, colr, TILE_FLIPYX(xflip));
}
WRITE16_MEMBER(fitfight_state::fof_bak_tileram_w)
@@ -64,7 +64,7 @@ TILE_GET_INFO_MEMBER(fitfight_state::get_fof_mid_tile_info)
int xflip = (m_fof_mid_tileram[tile_index * 2] & 0x0020) >> 5;
xflip ^= 1;
- SET_TILE_INFO_MEMBER(1, code, colr, TILE_FLIPYX(xflip));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, colr, TILE_FLIPYX(xflip));
}
WRITE16_MEMBER(fitfight_state::fof_mid_tileram_w)
@@ -80,7 +80,7 @@ TILE_GET_INFO_MEMBER(fitfight_state::get_fof_txt_tile_info)
int xflip = (m_fof_txt_tileram[tile_index * 2] & 0x0020) >> 5;
xflip ^= 1;
- SET_TILE_INFO_MEMBER(0, code, colr, TILE_FLIPYX(xflip));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, colr, TILE_FLIPYX(xflip));
}
WRITE16_MEMBER(fitfight_state::fof_txt_tileram_w)
diff --git a/src/mame/video/flkatck.c b/src/mame/video/flkatck.c
index cc7ee38a5c4..a8d1ecb4eb8 100644
--- a/src/mame/video/flkatck.c
+++ b/src/mame/video/flkatck.c
@@ -40,7 +40,7 @@ TILE_GET_INFO_MEMBER(flkatck_state::get_tile_info_A)
bank = 0; /* this allows the game to print text
in all banks selected by the k007121 */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + 256*bank,
(attr & 0x0f) + 16,
@@ -52,7 +52,7 @@ TILE_GET_INFO_MEMBER(flkatck_state::get_tile_info_B)
int attr = m_k007121_ram[tile_index + 0x800];
int code = m_k007121_ram[tile_index + 0xc00];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
(attr & 0x0f) + 16,
@@ -162,7 +162,7 @@ UINT32 flkatck_state::screen_update_flkatck(screen_device &screen, bitmap_ind16
/* draw the graphics */
m_k007121_tilemap[0]->draw(screen, bitmap, clip[0], 0, 0);
- m_k007121->sprites_draw(bitmap, cliprect, machine().gfx[0], NULL, &m_k007121_ram[0x1000], 0, 40, 0, screen.priority(), (UINT32)-1);
+ m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), NULL, &m_k007121_ram[0x1000], 0, 40, 0, screen.priority(), (UINT32)-1);
m_k007121_tilemap[1]->draw(screen, bitmap, clip[1], 0, 0);
return 0;
}
diff --git a/src/mame/video/flower.c b/src/mame/video/flower.c
index e085f7200b0..0c75b59a5fd 100644
--- a/src/mame/video/flower.c
+++ b/src/mame/video/flower.c
@@ -28,7 +28,7 @@ void flower_state::palette_init()
void flower_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
UINT8 *source = m_spriteram + 0x200;
UINT8 *finish = source - 0x200;
@@ -123,7 +123,7 @@ TILE_GET_INFO_MEMBER(flower_state::get_bg0_tile_info)
int color = m_bg0ram[tile_index+0x100];
/* Todo - may be tile flip bits? */
- SET_TILE_INFO_MEMBER(2, code, color>>4, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color>>4, 0);
}
TILE_GET_INFO_MEMBER(flower_state::get_bg1_tile_info)
@@ -132,7 +132,7 @@ TILE_GET_INFO_MEMBER(flower_state::get_bg1_tile_info)
int color = m_bg1ram[tile_index+0x100];
/* Todo - may be tile flip bits? */
- SET_TILE_INFO_MEMBER(2, code, color>>4, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color>>4, 0);
}
TILE_GET_INFO_MEMBER(flower_state::get_text_tile_info)
@@ -141,7 +141,7 @@ TILE_GET_INFO_MEMBER(flower_state::get_text_tile_info)
int color = m_textram[tile_index+0x400];
/* Todo - may be tile flip bits? */
- SET_TILE_INFO_MEMBER(0, code, color>>2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color>>2, 0);
}
void flower_state::video_start()
diff --git a/src/mame/video/flstory.c b/src/mame/video/flstory.c
index dbd86ec786a..ada062b6866 100644
--- a/src/mame/video/flstory.c
+++ b/src/mame/video/flstory.c
@@ -17,7 +17,7 @@ TILE_GET_INFO_MEMBER(flstory_state::get_tile_info)
int flags = TILE_FLIPYX((attr & 0x18) >> 3);
tileinfo.category = (attr & 0x20) >> 5;
tileinfo.group = (attr & 0x20) >> 5;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
attr & 0x0f,
@@ -31,7 +31,7 @@ TILE_GET_INFO_MEMBER(flstory_state::victnine_get_tile_info)
int tile_number = ((attr & 0x38) << 5) + code;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
attr & 0x07,
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(flstory_state::get_rumba_tile_info)
tileinfo.category = (attr & 0x20) >> 5;
tileinfo.group = (attr & 0x20) >> 5;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
col,
@@ -187,14 +187,14 @@ void flstory_state::flstory_draw_sprites( bitmap_ind16 &bitmap, const rectangle
flipx = ((m_spriteram[offs + 1] & 0x40) >> 6) ^ m_flipscreen;
flipy = ((m_spriteram[offs + 1] & 0x80) >> 7) ^ m_flipscreen;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
m_spriteram[offs + 1] & 0x0f,
flipx,flipy,
sx,sy,15);
/* wrap around */
if (sx > 240)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
m_spriteram[offs + 1] & 0x0f,
flipx,flipy,
@@ -242,14 +242,14 @@ void flstory_state::victnine_draw_sprites( bitmap_ind16 &bitmap, const rectangle
flipx = ((m_spriteram[offs + 1] & 0x40) >> 6) ^ m_flipscreen;
flipy = ((m_spriteram[offs + 1] & 0x80) >> 7) ^ m_flipscreen;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
m_spriteram[offs + 1] & 0x0f,
flipx,flipy,
sx,sy,15);
/* wrap around */
if (sx > 240)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
m_spriteram[offs + 1] & 0x0f,
flipx,flipy,
diff --git a/src/mame/video/foodf.c b/src/mame/video/foodf.c
index f4821b855b3..b05912565c1 100644
--- a/src/mame/video/foodf.c
+++ b/src/mame/video/foodf.c
@@ -22,7 +22,7 @@ TILE_GET_INFO_MEMBER(foodf_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = (data & 0xff) | ((data >> 7) & 0x100);
int color = (data >> 8) & 0x3f;
- SET_TILE_INFO_MEMBER(0, code, color, m_playfield_flip ? (TILE_FLIPX | TILE_FLIPY) : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, m_playfield_flip ? (TILE_FLIPX | TILE_FLIPY) : 0);
}
@@ -112,7 +112,7 @@ WRITE16_MEMBER(foodf_state::foodf_paletteram_w)
UINT32 foodf_state::screen_update_foodf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
int offs;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
bitmap_ind8 &priority_bitmap = screen.priority();
UINT16 *spriteram16 = m_spriteram;
diff --git a/src/mame/video/freekick.c b/src/mame/video/freekick.c
index 173c4920879..508df19ed25 100644
--- a/src/mame/video/freekick.c
+++ b/src/mame/video/freekick.c
@@ -10,7 +10,7 @@ TILE_GET_INFO_MEMBER(freekick_state::get_freek_tile_info)
tileno = m_videoram[tile_index] + ((m_videoram[tile_index + 0x400] & 0xe0) << 3);
palno = m_videoram[tile_index + 0x400] & 0x1f;
- SET_TILE_INFO_MEMBER(0, tileno, palno, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, palno, 0);
}
@@ -51,7 +51,7 @@ void freekick_state::gigas_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -85,7 +85,7 @@ void freekick_state::pbillrd_draw_sprites( bitmap_ind16 &bitmap, const rectangle
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -120,7 +120,7 @@ void freekick_state::freekick_draw_sprites( bitmap_ind16 &bitmap, const rectangl
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/fromanc2.c b/src/mame/video/fromanc2.c
index f2ebb540f21..12e0a362480 100644
--- a/src/mame/video/fromanc2.c
+++ b/src/mame/video/fromanc2.c
@@ -22,7 +22,7 @@ inline void fromanc2_state::fromanc2_get_tile_info( tile_data &tileinfo, int til
tile = (m_videoram[vram][layer][tile_index] & 0x3fff) | (m_gfxbank[vram][layer] << 14);
color = ((m_videoram[vram][layer][tile_index] & 0xc000) >> 14) | (0x10 * vram);
- SET_TILE_INFO_MEMBER(layer, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, layer, tile, color, 0);
}
TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v0_l0_tile_info){ fromanc2_get_tile_info(tileinfo, tile_index, 0, 0); }
@@ -42,7 +42,7 @@ inline void fromanc2_state::fromancr_get_tile_info( tile_data &tileinfo, int til
tile = m_videoram[vram][layer][tile_index] | (m_gfxbank[vram][layer] << 16);
color = vram;
- SET_TILE_INFO_MEMBER(layer, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, layer, tile, color, 0);
}
TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v0_l0_tile_info){ fromancr_get_tile_info(tileinfo, tile_index, 0, 0); }
diff --git a/src/mame/video/fromance.c b/src/mame/video/fromance.c
index 6ffdf8ecbb7..5b016e2096a 100644
--- a/src/mame/video/fromance.c
+++ b/src/mame/video/fromance.c
@@ -26,7 +26,7 @@ inline void fromance_state::get_fromance_tile_info( tile_data &tileinfo, int til
m_local_videoram[layer][0x2000 + tile_index];
int color = m_local_videoram[layer][tile_index] & 0x7f;
- SET_TILE_INFO_MEMBER(layer, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, layer, tile, color, 0);
}
TILE_GET_INFO_MEMBER(fromance_state::get_fromance_bg_tile_info){ get_fromance_tile_info(tileinfo, tile_index, 0); }
@@ -39,7 +39,7 @@ inline void fromance_state::get_nekkyoku_tile_info( tile_data &tileinfo, int til
m_local_videoram[layer][0x1000 + tile_index];
int color = m_local_videoram[layer][tile_index + 0x2000] & 0x3f;
- SET_TILE_INFO_MEMBER(layer, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, layer, tile, color, 0);
}
TILE_GET_INFO_MEMBER(fromance_state::get_nekkyoku_bg_tile_info){ get_nekkyoku_tile_info(tileinfo, tile_index, 0); }
diff --git a/src/mame/video/funkybee.c b/src/mame/video/funkybee.c
index 6360b9f5d21..2031a152c97 100644
--- a/src/mame/video/funkybee.c
+++ b/src/mame/video/funkybee.c
@@ -76,7 +76,7 @@ TILE_GET_INFO_MEMBER(funkybee_state::get_bg_tile_info)
int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1);
int color = m_colorram[tile_index] & 0x03;
- SET_TILE_INFO_MEMBER(m_gfx_bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_gfx_bank, code, color, 0);
}
TILEMAP_MAPPER_MEMBER(funkybee_state::funkybee_tilemap_scan)
@@ -111,7 +111,7 @@ void funkybee_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipx = !flipx;
}
- machine().gfx[2 + m_gfx_bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2 + m_gfx_bank)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
@@ -133,7 +133,7 @@ void funkybee_state::draw_columns( bitmap_ind16 &bitmap, const rectangle &clipre
if (flip)
sy = 248 - sy;
- machine().gfx[m_gfx_bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfx_bank)->transpen(bitmap,cliprect,
code, color,
flip, flip,
sx, sy,0);
@@ -146,7 +146,7 @@ void funkybee_state::draw_columns( bitmap_ind16 &bitmap, const rectangle &clipre
if (flip)
sy = 248 - sy;
- machine().gfx[m_gfx_bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfx_bank)->transpen(bitmap,cliprect,
code, color,
flip, flip,
sx, sy,0);
diff --git a/src/mame/video/funworld.c b/src/mame/video/funworld.c
index 8b96dd88ad0..12964e89926 100644
--- a/src/mame/video/funworld.c
+++ b/src/mame/video/funworld.c
@@ -119,7 +119,7 @@ TILE_GET_INFO_MEMBER(funworld_state::get_bg_tile_info)
int code = attr & 0xfff;
int color = m_colorram[offs] >> 4; // 4 bits for color.
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
diff --git a/src/mame/video/funybubl.c b/src/mame/video/funybubl.c
index 516d33a128b..18308d4775c 100644
--- a/src/mame/video/funybubl.c
+++ b/src/mame/video/funybubl.c
@@ -65,7 +65,7 @@ void funybubl_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
// bits 0x40 and 0x10 not used?...
- machine().gfx[1]->transpen(bitmap,cliprect, tile, 0, 0, 0, xpos, ypos, 255);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, tile, 0, 0, 0, xpos, ypos, 255);
source -= 0x20;
}
}
@@ -86,7 +86,7 @@ UINT32 funybubl_state::screen_update_funybubl(screen_device &screen, bitmap_ind1
int data;
data = m_banked_vram[offs] | (m_banked_vram[offs + 1] << 8);
- machine().gfx[0]->transpen(bitmap,cliprect, data & 0x7fff, (data & 0x8000) ? 2 : 1, 0, 0, x*8, y*8, 0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, data & 0x7fff, (data & 0x8000) ? 2 : 1, 0, 0, x*8, y*8, 0);
offs += 2;
}
}
diff --git a/src/mame/video/fuukifg2.c b/src/mame/video/fuukifg2.c
index 2df73a4e604..305f9e4011e 100644
--- a/src/mame/video/fuukifg2.c
+++ b/src/mame/video/fuukifg2.c
@@ -48,7 +48,7 @@ inline void fuuki16_state::get_tile_info(tile_data &tileinfo, tilemap_memory_ind
{
UINT16 code = m_vram[_N_][2 * tile_index + 0];
UINT16 attr = m_vram[_N_][2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(1 + _N_, code, attr & 0x3f, TILE_FLIPYX((attr >> 6) & 3));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1 + _N_, code, attr & 0x3f, TILE_FLIPYX((attr >> 6) & 3));
}
TILE_GET_INFO_MEMBER(fuuki16_state::get_tile_info_0){ get_tile_info(tileinfo, tile_index, 0); }
@@ -102,7 +102,7 @@ void fuuki16_state::video_start()
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 */
+ m_gfxdecode->gfx(2)->set_granularity(16); /* 256 colour tiles with palette selectable on 16 colour boundaries */
}
@@ -136,7 +136,7 @@ void fuuki16_state::video_start()
void fuuki16_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
{
int offs;
- gfx_element *gfx = screen.machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
bitmap_ind8 &priority_bitmap = screen.priority();
const rectangle &visarea = screen.visible_area();
UINT16 *spriteram16 = m_spriteram;
diff --git a/src/mame/video/fuukifg3.c b/src/mame/video/fuukifg3.c
index 415b18f9e36..75162b6ebf3 100644
--- a/src/mame/video/fuukifg3.c
+++ b/src/mame/video/fuukifg3.c
@@ -52,7 +52,7 @@ inline void fuuki32_state::get_tile_info8bpp(tile_data &tileinfo, tilemap_memory
{
UINT16 code = (m_vram[_N_][tile_index] & 0xffff0000) >> 16;
UINT16 attr = (m_vram[_N_][tile_index] & 0x0000ffff);
- SET_TILE_INFO_MEMBER(1 + _N_, code, (attr & 0x3f) >> 4, TILE_FLIPYX((attr >> 6) & 3));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1 + _N_, code, (attr & 0x3f) >> 4, TILE_FLIPYX((attr >> 6) & 3));
}
TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_0){ get_tile_info8bpp(tileinfo, tile_index, 0); }
@@ -62,7 +62,7 @@ inline void fuuki32_state::get_tile_info4bpp(tile_data &tileinfo, tilemap_memory
{
UINT16 code = (m_vram[_N_][tile_index] & 0xffff0000) >> 16;
UINT16 attr = (m_vram[_N_][tile_index] & 0x0000ffff);
- SET_TILE_INFO_MEMBER(1 + _N_, code, attr & 0x3f, TILE_FLIPYX((attr >> 6) & 3));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1 + _N_, code, attr & 0x3f, TILE_FLIPYX((attr >> 6) & 3));
}
TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_2){ get_tile_info4bpp(tileinfo, tile_index, 2); }
@@ -106,8 +106,8 @@ void fuuki32_state::video_start()
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);
+ //m_gfxdecode->gfx(1)->set_granularity(16); /* 256 colour tiles with palette selectable on 16 colour boundaries */
+ //m_gfxdecode->gfx(2)->set_granularity(16);
}
@@ -142,7 +142,7 @@ void fuuki32_state::video_start()
void fuuki32_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
{
int offs;
- gfx_element *gfx = screen.machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
bitmap_ind8 &priority_bitmap = screen.priority();
const rectangle &visarea = screen.visible_area();
int max_x = visarea.max_x + 1;
diff --git a/src/mame/video/gaelco.c b/src/mame/video/gaelco.c
index 115d93dce79..8474f34b317 100644
--- a/src/mame/video/gaelco.c
+++ b/src/mame/video/gaelco.c
@@ -39,7 +39,7 @@ TILE_GET_INFO_MEMBER(gaelco_state::get_tile_info_gaelco_screen0)
tileinfo.category = (data2 >> 6) & 0x03;
- SET_TILE_INFO_MEMBER(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode,1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
}
@@ -51,7 +51,7 @@ TILE_GET_INFO_MEMBER(gaelco_state::get_tile_info_gaelco_screen1)
tileinfo.category = (data2 >> 6) & 0x03;
- SET_TILE_INFO_MEMBER(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode,1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
}
/***************************************************************************
@@ -119,7 +119,7 @@ VIDEO_START_MEMBER(gaelco_state,maniacsq)
void gaelco_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
{
int i, x, y, ex, ey;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
static const int x_offset[2] = {0x0,0x2};
static const int y_offset[2] = {0x0,0x1};
diff --git a/src/mame/video/gaelco2.c b/src/mame/video/gaelco2.c
index 211edcda6ff..103dcaa7c5a 100644
--- a/src/mame/video/gaelco2.c
+++ b/src/mame/video/gaelco2.c
@@ -107,7 +107,7 @@ TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen0)
int data2 = m_videoram[(((m_vregs[0] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
int code = ((data & 0x07) << 16) | (data2 & 0xffff);
- SET_TILE_INFO_MEMBER(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
}
TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen1)
@@ -116,7 +116,7 @@ TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen1)
int data2 = m_videoram[(((m_vregs[1] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
int code = ((data & 0x07) << 16) | (data2 & 0xffff);
- SET_TILE_INFO_MEMBER(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
}
@@ -148,7 +148,7 @@ TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen0_dual)
int data2 = m_videoram[(((m_vregs[0] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
int code = ((data & 0x07) << 16) | (data2 & 0xffff);
- SET_TILE_INFO_MEMBER(0, code, ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
}
TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen1_dual)
@@ -157,7 +157,7 @@ TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen1_dual)
int data2 = m_videoram[(((m_vregs[1] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
int code = ((data & 0x07) << 16) | (data2 & 0xffff);
- SET_TILE_INFO_MEMBER(0, code, 0x40 + ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0x40 + ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
}
@@ -336,7 +336,7 @@ void gaelco2_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, co
{
UINT16 *buffered_spriteram16 = m_spriteram->buffer();
int j, x, y, ex, ey, px, py;
- gfx_element *gfx = screen.machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
/* get sprite ram start and end offsets */
int start_offset = (m_vregs[1] & 0x10)*0x100;
diff --git a/src/mame/video/gaiden.c b/src/mame/video/gaiden.c
index 49ba9c35c77..5651cbd1ea2 100644
--- a/src/mame/video/gaiden.c
+++ b/src/mame/video/gaiden.c
@@ -17,7 +17,7 @@ TILE_GET_INFO_MEMBER(gaiden_state::get_bg_tile_info)
{
UINT16 *videoram1 = &m_videoram3[0x0800];
UINT16 *videoram2 = m_videoram3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
videoram1[tile_index] & 0x0fff,
(videoram2[tile_index] & 0xf0) >> 4,
@@ -28,7 +28,7 @@ TILE_GET_INFO_MEMBER(gaiden_state::get_fg_tile_info)
{
UINT16 *videoram1 = &m_videoram2[0x0800];
UINT16 *videoram2 = m_videoram2;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
videoram1[tile_index] & 0x0fff,
(videoram2[tile_index] & 0xf0) >> 4,
@@ -43,7 +43,7 @@ TILE_GET_INFO_MEMBER(gaiden_state::get_fg_tile_info_raiga)
/* bit 3 controls blending */
tileinfo.category = (videoram2[tile_index] & 0x08) >> 3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
videoram1[tile_index] & 0x0fff,
((videoram2[tile_index] & 0xf0) >> 4) | (tileinfo.category ? 0x80 : 0x00),
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(gaiden_state::get_tx_tile_info)
{
UINT16 *videoram1 = &m_videoram[0x0400];
UINT16 *videoram2 = m_videoram;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
videoram1[tile_index] & 0x07ff,
(videoram2[tile_index] & 0xf0) >> 4,
@@ -353,16 +353,16 @@ void gaiden_state::drgnbowl_draw_sprites(screen_device &screen, bitmap_ind16 &bi
else
priority_mask = 0;
- machine().gfx[3]->prio_transpen_raw(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen_raw(bitmap,cliprect,
code,
- machine().gfx[3]->colorbase() + color * machine().gfx[3]->granularity(),
+ m_gfxdecode->gfx(3)->colorbase() + color * m_gfxdecode->gfx(3)->granularity(),
flipx,flipy,x,y,
screen.priority(), priority_mask,15);
/* wrap x*/
- machine().gfx[3]->prio_transpen_raw(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen_raw(bitmap,cliprect,
code,
- machine().gfx[3]->colorbase() + color * machine().gfx[3]->granularity(),
+ m_gfxdecode->gfx(3)->colorbase() + color * m_gfxdecode->gfx(3)->granularity(),
flipx,flipy,x-512,y,
screen.priority(), priority_mask,15);
@@ -386,7 +386,7 @@ UINT32 gaiden_state::screen_update_gaiden(screen_device &screen, bitmap_rgb32 &b
m_text_layer->draw(screen, m_tile_bitmap_fg, cliprect, 0, 4);
/* draw sprites into a 16-bit bitmap */
- gaiden_draw_sprites(screen, m_tile_bitmap_bg, m_tile_bitmap_fg, m_sprite_bitmap, cliprect, m_spriteram, m_sprite_sizey, m_spr_offset_y, flip_screen());
+ gaiden_draw_sprites(screen, m_gfxdecode, m_tile_bitmap_bg, m_tile_bitmap_fg, m_sprite_bitmap, cliprect, m_spriteram, m_sprite_sizey, m_spr_offset_y, flip_screen());
/* mix & blend the tilemaps and sprites into a 32-bit bitmap */
blendbitmaps(bitmap, m_tile_bitmap_bg, m_tile_bitmap_fg, m_sprite_bitmap, 0, 0, cliprect);
@@ -411,7 +411,7 @@ UINT32 gaiden_state::screen_update_raiga(screen_device &screen, bitmap_rgb32 &bi
m_text_layer->draw(screen, m_tile_bitmap_fg, cliprect, 0, 4);
/* draw sprites into a 16-bit bitmap */
- raiga_draw_sprites(screen, m_tile_bitmap_bg, m_tile_bitmap_fg, m_sprite_bitmap, cliprect, m_spriteram, m_sprite_sizey, m_spr_offset_y, flip_screen());
+ raiga_draw_sprites(screen, m_gfxdecode, m_tile_bitmap_bg, m_tile_bitmap_fg, m_sprite_bitmap, cliprect, m_spriteram, m_sprite_sizey, m_spr_offset_y, flip_screen());
/* mix & blend the tilemaps and sprites into a 32-bit bitmap */
blendbitmaps(bitmap, m_tile_bitmap_bg, m_tile_bitmap_fg, m_sprite_bitmap, 0, 0, cliprect);
diff --git a/src/mame/video/galaga.c b/src/mame/video/galaga.c
index 85b592c8494..6eb98fe3213 100644
--- a/src/mame/video/galaga.c
+++ b/src/mame/video/galaga.c
@@ -413,7 +413,7 @@ TILE_GET_INFO_MEMBER(galaga_state::get_tile_info)
We reproduce this here, but since the tilemap system automatically flips
characters when screen is flipped, we have to flip them back. */
int color = m_videoram[tile_index + 0x400] & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(m_videoram[tile_index] & 0x7f) | (flip_screen() ? 0x80 : 0) | (m_galaga_gfxbank << 8),
color,
@@ -432,7 +432,7 @@ TILE_GET_INFO_MEMBER(galaga_state::get_tile_info)
VIDEO_START_MEMBER(galaga_state,galaga)
{
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);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, m_gfxdecode->gfx(0), 0x1f);
m_galaga_gfxbank = 0;
@@ -508,12 +508,12 @@ void galaga_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
{
for (x = 0;x <= sizex;x++)
{
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,
sx + 16*x, sy + 16*y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0x0f));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0x0f));
}
}
}
diff --git a/src/mame/video/galastrm.c b/src/mame/video/galastrm.c
index d0bcf6ed53e..235b3840419 100644
--- a/src/mame/video/galastrm.c
+++ b/src/mame/video/galastrm.c
@@ -198,7 +198,7 @@ void galastrm_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, c
if ((priority != 0 && sprite_ptr->primask != 0) ||
(priority == 0 && sprite_ptr->primask == 0))
{
- machine().gfx[sprite_ptr->gfx]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->prio_zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
diff --git a/src/mame/video/galaxia.c b/src/mame/video/galaxia.c
index 292f349194d..2eff4b396d0 100644
--- a/src/mame/video/galaxia.c
+++ b/src/mame/video/galaxia.c
@@ -64,7 +64,7 @@ TILE_GET_INFO_MEMBER(galaxia_state::get_galaxia_bg_tile_info)
UINT8 code = m_video_ram[tile_index] & 0x7f; // d7 unused
UINT8 color = m_color_ram[tile_index] & 3; // highest bits unused
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(galaxia_state::get_astrowar_bg_tile_info)
@@ -72,7 +72,7 @@ TILE_GET_INFO_MEMBER(galaxia_state::get_astrowar_bg_tile_info)
UINT8 code = m_video_ram[tile_index];
UINT8 color = m_color_ram[tile_index] & 7; // highest bits unused
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void galaxia_state::init_common()
diff --git a/src/mame/video/galaxian.c b/src/mame/video/galaxian.c
index 08db224c162..179279a9c67 100644
--- a/src/mame/video/galaxian.c
+++ b/src/mame/video/galaxian.c
@@ -472,7 +472,7 @@ TILE_GET_INFO_MEMBER(galaxian_state::bg_get_tile_info)
if (m_extend_tile_info_ptr != NULL)
(this->*m_extend_tile_info_ptr)(&code, &color, attrib, x);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -578,7 +578,7 @@ void galaxian_state::sprites_draw(bitmap_rgb32 &bitmap, const rectangle &cliprec
/* draw */
- machine().gfx[1]->transpen(bitmap,clip,
+ m_gfxdecode->gfx(1)->transpen(bitmap,clip,
code, color,
flipx, flipy,
GALAXIAN_H0START + GALAXIAN_XSCALE * sx, sy, 0);
diff --git a/src/mame/video/galaxold.c b/src/mame/video/galaxold.c
index 2067669cde7..56644d888d0 100644
--- a/src/mame/video/galaxold.c
+++ b/src/mame/video/galaxold.c
@@ -431,7 +431,7 @@ VIDEO_START_MEMBER(galaxold_state,galaxold_plain)
m_bg_tilemap->set_scroll_cols(32);
- m_color_mask = (machine().gfx[0]->granularity() == 4) ? 7 : 3;
+ m_color_mask = (m_gfxdecode->gfx(0)->granularity() == 4) ? 7 : 3;
}
VIDEO_START_MEMBER(galaxold_state,galaxold)
@@ -642,7 +642,7 @@ TILE_GET_INFO_MEMBER(galaxold_state::drivfrcg_get_tile_info)
code |= (bank << 4);
color |= ((m_attributesram[(x << 1) | 1] & 0x40) >> 3);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
VIDEO_START_MEMBER(galaxold_state,drivfrcg)
@@ -692,7 +692,7 @@ TILE_GET_INFO_MEMBER(galaxold_state::racknrol_get_tile_info)
code |= (bank << 8);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
VIDEO_START_MEMBER(galaxold_state,racknrol)
@@ -718,7 +718,7 @@ TILE_GET_INFO_MEMBER(galaxold_state::harem_get_tile_info)
code |= bank * 0x200;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void galaxold_state::harem_modify_spritecode(UINT8 *spriteram, int *code, int *flipx, int *flipy, int offs)
@@ -734,7 +734,7 @@ VIDEO_START_MEMBER(galaxold_state,harem)
m_bg_tilemap->set_scroll_cols(32);
- m_color_mask = (machine().gfx[0]->granularity() == 4) ? 7 : 3;
+ m_color_mask = (m_gfxdecode->gfx(0)->granularity() == 4) ? 7 : 3;
m_modify_spritecode = &galaxold_state::harem_modify_spritecode;
}
@@ -772,7 +772,7 @@ TILE_GET_INFO_MEMBER(galaxold_state::dambustr_get_tile_info2)
(this->*m_modify_color)(&color);
}
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
VIDEO_START_MEMBER(galaxold_state,dambustr)
@@ -1612,13 +1612,13 @@ TILE_GET_INFO_MEMBER(galaxold_state::get_tile_info)
(this->*m_modify_color)(&color);
}
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(galaxold_state::rockclim_get_tile_info)
{
UINT16 code = m_rockclim_videoram[tile_index];
- SET_TILE_INFO_MEMBER(2, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, 0, 0);
}
void galaxold_state::draw_bullets_common(bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -1700,7 +1700,7 @@ void galaxold_state::draw_sprites(bitmap_ind16 &bitmap, UINT8 *spriteram, size_t
if (offs < 3*4) sy++;
- machine().gfx[1]->transpen(bitmap,m_flipscreen_x ? spritevisibleareaflipx : spritevisiblearea,
+ m_gfxdecode->gfx(1)->transpen(bitmap,m_flipscreen_x ? spritevisibleareaflipx : spritevisiblearea,
code,color,
flipx,flipy,
sx,sy,0);
diff --git a/src/mame/video/galivan.c b/src/mame/video/galivan.c
index ac044873e95..fcaadff8e34 100644
--- a/src/mame/video/galivan.c
+++ b/src/mame/video/galivan.c
@@ -125,7 +125,7 @@ TILE_GET_INFO_MEMBER(galivan_state::get_bg_tile_info)
UINT8 *BGROM = memregion("gfx4")->base();
int attr = BGROM[tile_index + 0x4000];
int code = BGROM[tile_index] | ((attr & 0x03) << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
(attr & 0x78) >> 3, /* seems correct */
@@ -136,7 +136,7 @@ TILE_GET_INFO_MEMBER(galivan_state::get_tx_tile_info)
{
int attr = m_videoram[tile_index + 0x400];
int code = m_videoram[tile_index] | ((attr & 0x01) << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
(attr & 0xe0) >> 5, /* not sure */
@@ -149,7 +149,7 @@ TILE_GET_INFO_MEMBER(galivan_state::ninjemak_get_bg_tile_info)
UINT8 *BGROM = memregion("gfx4")->base();
int attr = BGROM[tile_index + 0x4000];
int code = BGROM[tile_index] | ((attr & 0x03) << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
((attr & 0x60) >> 3) | ((attr & 0x0c) >> 2), /* seems correct */
@@ -164,7 +164,7 @@ TILE_GET_INFO_MEMBER(galivan_state::ninjemak_get_tx_tile_info)
if(tile_index < 0x12) /* don't draw the NB1414M4 params! TODO: could be a better fix */
code = attr = 0x01;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
(attr & 0x1c) >> 2, /* seems correct ? */
@@ -323,7 +323,7 @@ void galivan_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
// code = spriteram[offs + 1] + ((attr & 0x02) << 7);
code = spriteram[offs + 1] + ((attr & 0x06) << 7); // for ninjemak, not sure ?
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color + 16 * (spritepalettebank[code >> 2] & 0x0f),
flipx,flipy,
diff --git a/src/mame/video/galpanic.c b/src/mame/video/galpanic.c
index b2a8b5e77e8..d4022d0cb55 100644
--- a/src/mame/video/galpanic.c
+++ b/src/mame/video/galpanic.c
@@ -72,7 +72,7 @@ void galpanic_state::comad_draw_sprites(bitmap_ind16 &bitmap, const rectangle &c
sx = (sx&0x1ff) - (sx&0x200);
sy = (sy&0x1ff) - (sy&0x200);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/galspnbl.c b/src/mame/video/galspnbl.c
index f8e9033a4e4..fb6cb807220 100644
--- a/src/mame/video/galspnbl.c
+++ b/src/mame/video/galspnbl.c
@@ -35,7 +35,7 @@ UINT32 galspnbl_state::screen_update_galspnbl(screen_device &screen, bitmap_ind1
draw_background(bitmap, cliprect);
- galspnbl_draw_sprites(screen, bitmap, cliprect, 0, m_spriteram, m_spriteram.bytes());
+ galspnbl_draw_sprites(screen, m_gfxdecode, bitmap, cliprect, 0, m_spriteram, m_spriteram.bytes());
for (offs = 0; offs < 0x1000 / 2; offs++)
{
@@ -50,7 +50,7 @@ UINT32 galspnbl_state::screen_update_galspnbl(screen_device &screen, bitmap_ind1
/* What is this? A priority/half transparency marker? */
if (!(attr & 0x0008))
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
0,0,
@@ -59,6 +59,6 @@ UINT32 galspnbl_state::screen_update_galspnbl(screen_device &screen, bitmap_ind1
}
}
- galspnbl_draw_sprites(screen, bitmap, cliprect, 1, m_spriteram, m_spriteram.bytes());
+ galspnbl_draw_sprites(screen, m_gfxdecode, bitmap, cliprect, 1, m_spriteram, m_spriteram.bytes());
return 0;
}
diff --git a/src/mame/video/gaplus.c b/src/mame/video/gaplus.c
index 691a732b2ab..ab1618bf526 100644
--- a/src/mame/video/gaplus.c
+++ b/src/mame/video/gaplus.c
@@ -61,13 +61,13 @@ void gaplus_state::palette_init()
/* 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 < m_gfxdecode->gfx(0)->colors() * m_gfxdecode->gfx(0)->granularity();i++)
+ colortable_entry_set_value(machine().colortable, m_gfxdecode->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 < m_gfxdecode->gfx(1)->colors() * m_gfxdecode->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, m_gfxdecode->gfx(1)->colorbase() + i, (color_prom[0] & 0x0f) + ((color_prom[0x200] & 0x0f) << 4));
color_prom++;
}
}
@@ -100,7 +100,7 @@ TILE_GET_INFO_MEMBER(gaplus_state::get_tile_info)
UINT8 attr = m_videoram[tile_index + 0x400];
tileinfo.category = (attr & 0x40) >> 6;
tileinfo.group = attr & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index] + ((attr & 0x80) << 1),
attr & 0x3f,
@@ -182,7 +182,7 @@ void gaplus_state::video_start()
{
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, m_bg_tilemap, machine().gfx[0], 0xff);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, m_gfxdecode->gfx(0), 0xff);
starfield_init();
}
@@ -288,12 +288,12 @@ void gaplus_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
{
for (x = 0;x <= sizex;x++)
{
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
sprite + (duplicate ? 0 : (gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)])),
color,
flipx,flipy,
sx + 16*x,sy + 16*y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0xff));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0xff));
}
}
}
diff --git a/src/mame/video/gatron.c b/src/mame/video/gatron.c
index e876f6a9aba..35e5791603c 100644
--- a/src/mame/video/gatron.c
+++ b/src/mame/video/gatron.c
@@ -40,7 +40,7 @@ TILE_GET_INFO_MEMBER(gatron_state::get_bg_tile_info)
int code = videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
void gatron_state::video_start()
diff --git a/src/mame/video/gauntlet.c b/src/mame/video/gauntlet.c
index 014c11699ed..bb639c12353 100644
--- a/src/mame/video/gauntlet.c
+++ b/src/mame/video/gauntlet.c
@@ -25,7 +25,7 @@ TILE_GET_INFO_MEMBER(gauntlet_state::get_alpha_tile_info)
int code = data & 0x3ff;
int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(gauntlet_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = ((m_playfield_tile_bank * 0x1000) + (data & 0xfff)) ^ 0x800;
int color = 0x10 + (m_playfield_color_bank * 8) + ((data >> 12) & 7);
- SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data >> 15) & 1);
}
diff --git a/src/mame/video/gberet.c b/src/mame/video/gberet.c
index 87753b1bd25..58bf44a2997 100644
--- a/src/mame/video/gberet.c
+++ b/src/mame/video/gberet.c
@@ -115,13 +115,13 @@ TILE_GET_INFO_MEMBER(gberet_state::get_bg_tile_info)
tileinfo.group = color;
tileinfo.category = (attr & 0x80) >> 7;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
VIDEO_START_MEMBER(gberet_state,gberet)
{
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);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, m_gfxdecode->gfx(0), 0x10);
m_bg_tilemap->set_scroll_rows(32);
}
@@ -155,8 +155,8 @@ void gberet_state::gberet_draw_sprites( bitmap_ind16 &bitmap, const rectangle &c
flipy = !flipy;
}
- machine().gfx[1]->transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy,
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
}
@@ -207,8 +207,8 @@ void gberet_state::gberetb_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
flipy = !flipy;
}
- machine().gfx[1]->transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy,
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
}
diff --git a/src/mame/video/gcpinbal.c b/src/mame/video/gcpinbal.c
index 3d51f6bc585..c3234260f5b 100644
--- a/src/mame/video/gcpinbal.c
+++ b/src/mame/video/gcpinbal.c
@@ -10,7 +10,7 @@ TILE_GET_INFO_MEMBER(gcpinbal_state::get_bg0_tile_info)
UINT16 tilenum = m_tilemapram[0 + tile_index * 2];
UINT16 attr = m_tilemapram[1 + tile_index * 2];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(tilenum & 0xfff) + m_bg0_gfxset,
(attr & 0x1f),
@@ -22,7 +22,7 @@ TILE_GET_INFO_MEMBER(gcpinbal_state::get_bg1_tile_info)
UINT16 tilenum = m_tilemapram[0x800 + tile_index * 2];
UINT16 attr = m_tilemapram[0x801 + tile_index * 2];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(tilenum & 0xfff) + 0x2000 + m_bg1_gfxset,
(attr & 0x1f) + 0x30,
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(gcpinbal_state::get_fg_tile_info)
{
UINT16 tilenum = m_tilemapram[0x1000 + tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
(tilenum & 0xfff),
(tilenum >> 12) | 0x70,
@@ -202,7 +202,7 @@ void gcpinbal_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
for (chain_pos = chain; chain_pos >= 0; chain_pos--)
{
- machine().gfx[0]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect,
code,
col,
flipx, flipy,
diff --git a/src/mame/video/ginganin.c b/src/mame/video/ginganin.c
index 1004e5107e1..cf34c8c1797 100644
--- a/src/mame/video/ginganin.c
+++ b/src/mame/video/ginganin.c
@@ -78,7 +78,7 @@ TILE_GET_INFO_MEMBER(ginganin_state::get_bg_tile_info)
{
UINT8 *gfx = memregion("gfx5")->base();
int code = gfx[2 * tile_index + 0] * 256 + gfx[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
BG_GFX,
code,
code >> 12,
@@ -95,7 +95,7 @@ TILE_GET_INFO_MEMBER(ginganin_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(ginganin_state::get_fg_tile_info)
{
UINT16 code = m_fgram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
FG_GFX,
code,
code >> 12,
@@ -118,7 +118,7 @@ WRITE16_MEMBER(ginganin_state::ginganin_fgram16_w)
TILE_GET_INFO_MEMBER(ginganin_state::get_txt_tile_info)
{
UINT16 code = m_txtram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
TXT_GFX,
code,
code >> 12,
@@ -228,7 +228,7 @@ void ginganin_state::draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code & 0x3fff,
attr >> 12,
flipx, flipy,
diff --git a/src/mame/video/gladiatr.c b/src/mame/video/gladiatr.c
index f44bc024eef..bc3b67a3af1 100644
--- a/src/mame/video/gladiatr.c
+++ b/src/mame/video/gladiatr.c
@@ -18,7 +18,7 @@ TILE_GET_INFO_MEMBER(gladiatr_state::bg_get_tile_info)
{
UINT8 attr = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_videoram[tile_index] + ((attr & 0x07) << 8) + (m_bg_tile_bank << 11),
(attr >> 3) ^ 0x1f,
@@ -27,7 +27,7 @@ TILE_GET_INFO_MEMBER(gladiatr_state::bg_get_tile_info)
TILE_GET_INFO_MEMBER(gladiatr_state::fg_get_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_textram[tile_index] + (m_fg_tile_bank << 8),
0,
@@ -227,7 +227,7 @@ void gladiatr_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
int t = tile_offset[ey][ex] + tile_number;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
t,
color,
xflip, yflip,
diff --git a/src/mame/video/glass.c b/src/mame/video/glass.c
index afc999c6d8f..b06e2245823 100644
--- a/src/mame/video/glass.c
+++ b/src/mame/video/glass.c
@@ -37,7 +37,7 @@ TILE_GET_INFO_MEMBER(glass_state::get_tile_info_glass_screen0)
int data2 = m_videoram[(tile_index << 1) + 1];
int code = ((data & 0x03) << 14) | ((data & 0x0fffc) >> 2);
- SET_TILE_INFO_MEMBER(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
}
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(glass_state::get_tile_info_glass_screen1)
int data2 = m_videoram[(0x1000 / 2) + (tile_index << 1) + 1];
int code = ((data & 0x03) << 14) | ((data & 0x0fffc) >> 2);
- SET_TILE_INFO_MEMBER(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
}
/***************************************************************************
@@ -162,7 +162,7 @@ void glass_state::video_start()
void glass_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
int i;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
for (i = 3; i < (0x1000 - 6) / 2; i += 4)
{
diff --git a/src/mame/video/gng.c b/src/mame/video/gng.c
index 8fa8d8eaf89..aef8da4b4c6 100644
--- a/src/mame/video/gng.c
+++ b/src/mame/video/gng.c
@@ -19,7 +19,7 @@
TILE_GET_INFO_MEMBER(gng_state::get_fg_tile_info)
{
UINT8 attr = m_fgvideoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_fgvideoram[tile_index] + ((attr & 0xc0) << 2),
attr & 0x0f,
@@ -29,7 +29,7 @@ TILE_GET_INFO_MEMBER(gng_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(gng_state::get_bg_tile_info)
{
UINT8 attr = m_bgvideoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_bgvideoram[tile_index] + ((attr & 0xc0) << 2),
attr & 0x07,
@@ -104,7 +104,7 @@ WRITE8_MEMBER(gng_state::gng_flipscreen_w)
void gng_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
UINT8 *buffered_spriteram = m_spriteram->buffer();
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
int offs;
diff --git a/src/mame/video/goal92.c b/src/mame/video/goal92.c
index 72419a06f8d..b3186856b78 100644
--- a/src/mame/video/goal92.c
+++ b/src/mame/video/goal92.c
@@ -49,7 +49,7 @@ TILE_GET_INFO_MEMBER(goal92_state::get_text_tile_info)
tile |= 0xc000;
- SET_TILE_INFO_MEMBER(1, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color, 0);
}
TILE_GET_INFO_MEMBER(goal92_state::get_back_tile_info)
@@ -59,7 +59,7 @@ TILE_GET_INFO_MEMBER(goal92_state::get_back_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(2, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tile, color, 0);
}
TILE_GET_INFO_MEMBER(goal92_state::get_fore_tile_info)
@@ -81,7 +81,7 @@ TILE_GET_INFO_MEMBER(goal92_state::get_fore_tile_info)
tile |= 0x2000;
}
- SET_TILE_INFO_MEMBER(region, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, region, tile, color, 0);
}
void goal92_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int pri )
@@ -121,7 +121,7 @@ void goal92_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
y = 256 - (y + 7);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
sprite,
color,fx,fy,x,y,15);
}
diff --git a/src/mame/video/goindol.c b/src/mame/video/goindol.c
index 5698800e0d5..6c6529f431d 100644
--- a/src/mame/video/goindol.c
+++ b/src/mame/video/goindol.c
@@ -19,7 +19,7 @@ TILE_GET_INFO_MEMBER(goindol_state::get_fg_tile_info)
{
int code = m_fg_videoram[2 * tile_index + 1];
int attr = m_fg_videoram[2 * tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code | ((attr & 0x7) << 8) | (m_char_bank << 11),
(attr & 0xf8) >> 3,
@@ -30,7 +30,7 @@ TILE_GET_INFO_MEMBER(goindol_state::get_bg_tile_info)
{
int code = m_bg_videoram[2 * tile_index + 1];
int attr = m_bg_videoram[2 * tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code | ((attr & 0x7) << 8) | (m_char_bank << 11),
(attr & 0xf8) >> 3,
@@ -102,13 +102,13 @@ void goindol_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
palette = sprite_ram[offs + 2] >> 3;
- machine().gfx[gfxbank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfxbank)->transpen(bitmap,cliprect,
tile,
palette,
flip_screen(),flip_screen(),
sx,sy, 0);
- machine().gfx[gfxbank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfxbank)->transpen(bitmap,cliprect,
tile+1,
palette,
flip_screen(),flip_screen(),
diff --git a/src/mame/video/goldstar.c b/src/mame/video/goldstar.c
index a59d5daf296..f5119487bcb 100644
--- a/src/mame/video/goldstar.c
+++ b/src/mame/video/goldstar.c
@@ -63,7 +63,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_fg_tile_info)
int code = m_fg_vidram[tile_index];
int attr = m_fg_atrram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code | (attr & 0xf0)<<4,
attr&0x0f,
@@ -75,7 +75,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_magical_fg_tile_info)
int code = m_fg_vidram[tile_index];
int attr = m_fg_atrram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code | (attr & 0xf0)<<4)+m_tile_bank*0x1000,
attr&0x0f,
@@ -89,7 +89,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_cherrym_fg_tile_info)
int code = m_fg_vidram[tile_index];
int attr = m_fg_atrram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code | (attr & 0x0f)<<8,
(attr&0xf0)>>4,
@@ -108,7 +108,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel1_tile_info)
{
int code = m_reel1_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
m_bgcolor,
@@ -126,7 +126,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel2_tile_info)
{
int code = m_reel2_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
m_bgcolor,
@@ -143,7 +143,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel3_tile_info)
{
int code = m_reel3_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
m_bgcolor,
@@ -175,7 +175,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel1_tile_info)
int code = m_reel1_ram[tile_index];
int attr = m_reel1_attrram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code | (attr & 0x0f)<<8,
(attr&0xf0)>>4,
@@ -187,7 +187,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel2_tile_info)
int code = m_reel2_ram[tile_index];
int attr = m_reel2_attrram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code | (attr & 0x0f)<<8,
(attr&0xf0)>>4,
@@ -199,7 +199,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel3_tile_info)
int code = m_reel3_ram[tile_index];
int attr = m_reel3_attrram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code | (attr & 0x0f)<<8,
(attr&0xf0)>>4,
@@ -379,7 +379,7 @@ UINT32 goldstar_state::screen_update_goldstar(screen_device &screen, bitmap_ind1
{
if (memregion("user1")->base())
{
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
int girlyscroll = (INT8)((m_cm_girl_scroll & 0xf0));
int girlxscroll = (INT8)((m_cm_girl_scroll & 0x0f)<<4);
@@ -421,7 +421,7 @@ UINT32 goldstar_state::screen_update_bingowng(screen_device &screen, bitmap_ind1
{
if (memregion("user1")->base())
{
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
int girlyscroll = (INT8)((m_cm_girl_scroll & 0xf0));
int girlxscroll = (INT8)((m_cm_girl_scroll & 0x0f)<<4);
diff --git a/src/mame/video/gomoku.c b/src/mame/video/gomoku.c
index f8e496af833..57e2c51b374 100644
--- a/src/mame/video/gomoku.c
+++ b/src/mame/video/gomoku.c
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(gomoku_state::get_fg_tile_info)
int color = (attr& 0x0f);
int flipyx = (attr & 0xc0) >> 6;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
diff --git a/src/mame/video/gotcha.c b/src/mame/video/gotcha.c
index 69ab6259bc6..11e1a7f9353 100644
--- a/src/mame/video/gotcha.c
+++ b/src/mame/video/gotcha.c
@@ -18,7 +18,7 @@ inline void gotcha_state::get_tile_info( tile_data &tileinfo, int tile_index ,UI
UINT16 data = vram[tile_index];
int code = (data & 0x3ff) | (m_gfxbank[(data & 0x0c00) >> 10] << 10);
- SET_TILE_INFO_MEMBER(0, code, (data >> 12) + color_offs, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, (data >> 12) + color_offs, 0);
}
TILE_GET_INFO_MEMBER(gotcha_state::fg_get_tile_info)
diff --git a/src/mame/video/gottlieb.c b/src/mame/video/gottlieb.c
index 2789e50e8ac..09d2ca47c0a 100644
--- a/src/mame/video/gottlieb.c
+++ b/src/mame/video/gottlieb.c
@@ -105,7 +105,7 @@ WRITE8_MEMBER(gottlieb_state::gottlieb_charram_w)
if (m_charram[offset] != data)
{
m_charram[offset] = data;
- machine().gfx[0]->mark_dirty(offset / 32);
+ m_gfxdecode->gfx(0)->mark_dirty(offset / 32);
}
}
@@ -122,9 +122,9 @@ TILE_GET_INFO_MEMBER(gottlieb_state::get_bg_tile_info)
UINT8 *videoram = m_videoram;
int code = videoram[tile_index];
if ((code & 0x80) == 0)
- SET_TILE_INFO_MEMBER(m_gfxcharlo, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_gfxcharlo, code, 0, 0);
else
- SET_TILE_INFO_MEMBER(m_gfxcharhi, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_gfxcharhi, code, 0, 0);
}
TILE_GET_INFO_MEMBER(gottlieb_state::get_screwloo_bg_tile_info)
@@ -132,9 +132,9 @@ TILE_GET_INFO_MEMBER(gottlieb_state::get_screwloo_bg_tile_info)
UINT8 *videoram = m_videoram;
int code = videoram[tile_index];
if ((code & 0xc0) == 0)
- SET_TILE_INFO_MEMBER(m_gfxcharlo, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_gfxcharlo, code, 0, 0);
else
- SET_TILE_INFO_MEMBER(m_gfxcharhi, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_gfxcharhi, code, 0, 0);
}
@@ -156,7 +156,7 @@ void gottlieb_state::video_start()
m_bg_tilemap->set_transparent_pen(0);
m_bg_tilemap->set_scrolldx(0, 318 - 256);
- machine().gfx[0]->set_source(m_charram);
+ m_gfxdecode->gfx(0)->set_source(m_charram);
/* save some state */
save_item(NAME(m_background_priority));
@@ -182,7 +182,7 @@ VIDEO_START_MEMBER(gottlieb_state,screwloo)
m_bg_tilemap->set_transparent_pen(0);
m_bg_tilemap->set_scrolldx(0, 318 - 256);
- machine().gfx[0]->set_source(m_charram);
+ m_gfxdecode->gfx(0)->set_source(m_charram);
/* save some state */
save_item(NAME(m_background_priority));
@@ -220,7 +220,7 @@ void gottlieb_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprec
if (flip_screen_y()) sy = 244 - sy;
- machine().gfx[2]->transpen(bitmap,clip,
+ m_gfxdecode->gfx(2)->transpen(bitmap,clip,
code, 0,
flip_screen_x(), flip_screen_y(),
sx,sy, 0);
diff --git a/src/mame/video/gotya.c b/src/mame/video/gotya.c
index c78d60c0e45..2caf160e56a 100644
--- a/src/mame/video/gotya.c
+++ b/src/mame/video/gotya.c
@@ -94,7 +94,7 @@ TILE_GET_INFO_MEMBER(gotya_state::get_bg_tile_info)
int code = m_videoram[tile_index];
int color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILEMAP_MAPPER_MEMBER(gotya_state::tilemap_scan_rows_thehand)
@@ -129,7 +129,7 @@ void gotya_state::draw_status_row( bitmap_ind16 &bitmap, const rectangle &clipre
sy = 31 - row;
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
m_videoram2[row * 32 + col],
m_videoram2[row * 32 + col + 0x10] & 0x0f,
flip_screen_x(), flip_screen_y(),
@@ -153,7 +153,7 @@ void gotya_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
sy = 240 - sy;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code, color,
flip_screen_x(), flip_screen_y(),
sx, sy, 0);
diff --git a/src/mame/video/gp9001.c b/src/mame/video/gp9001.c
index 4478095d58a..4e21cd1690f 100644
--- a/src/mame/video/gp9001.c
+++ b/src/mame/video/gp9001.c
@@ -207,10 +207,22 @@ gp9001vdp_device::gp9001vdp_device(const machine_config &mconfig, const char *ta
device_video_interface(mconfig, *this),
device_memory_interface(mconfig, *this),
m_space_config("gp9001vdp", ENDIANNESS_BIG, 16,14, 0, NULL, *ADDRESS_MAP_NAME(gp9001vdp_map)),
- m_gfxregion(0)
+ m_gfxregion(0),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void gp9001vdp_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<gp9001vdp_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
void gp9001vdp_device::static_set_gfx_region(device_t &device, int gfxregion)
{
gp9001vdp_device &vdp = downcast<gp9001vdp_device &>(device);
@@ -240,7 +252,7 @@ TILE_GET_INFO_MEMBER(gp9001vdp_device::get_top0_tile_info)
}
color = attrib & 0x0fff; // 0x0f00 priority, 0x007f colour
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
tile_region,
tile_number,
color,
@@ -263,7 +275,7 @@ TILE_GET_INFO_MEMBER(gp9001vdp_device::get_fg0_tile_info)
}
color = attrib & 0x0fff; // 0x0f00 priority, 0x007f colour
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
tile_region,
tile_number,
color,
@@ -284,7 +296,7 @@ TILE_GET_INFO_MEMBER(gp9001vdp_device::get_bg0_tile_info)
}
color = attrib & 0x0fff; // 0x0f00 priority, 0x007f colour
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
tile_region,
tile_number,
color,
@@ -700,7 +712,7 @@ WRITE16_MEMBER( gp9001vdp_device::pipibibi_bootleg_spriteram16_w )
void gp9001vdp_device::draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, const UINT8* primap )
{
- gfx_element *gfx = machine.gfx[tile_region+1];
+ gfx_element *gfx = m_gfxdecode->gfx(tile_region+1);
int offs, old_x, old_y;
diff --git a/src/mame/video/gp9001.h b/src/mame/video/gp9001.h
index 390a1b9b139..1a90dd37162 100644
--- a/src/mame/video/gp9001.h
+++ b/src/mame/video/gp9001.h
@@ -37,6 +37,8 @@ class gp9001vdp_device : public device_t,
public:
gp9001vdp_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void static_set_gfx_region(device_t &device, int gfxregion);
UINT16 gp9001_voffs;
@@ -108,6 +110,7 @@ private:
UINT16 gp9001_vdpstatus_r();
void gp9001_scroll_reg_select_w( offs_t offset, UINT16 data, UINT16 mem_mask );
void gp9001_scroll_reg_data_w(offs_t offset, UINT16 data, UINT16 mem_mask);
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type GP9001_VDP;
@@ -125,7 +128,11 @@ extern const device_type GP9001_VDP;
#define MCFG_DEVICE_ADD_VDP0 \
MCFG_DEVICE_ADD("gp9001vdp0", GP9001_VDP, 0) \
gp9001vdp_device::static_set_gfx_region(*device, 0);
+
/* vdp map 1, gfx region 2 */
#define MCFG_DEVICE_ADD_VDP1 \
MCFG_DEVICE_ADD("gp9001vdp1", GP9001_VDP, 0) \
gp9001vdp_device::static_set_gfx_region(*device, 2);
+
+#define MCFG_GP9001_VDP_GFXDECODE(_gfxtag) \
+ gp9001vdp_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
diff --git a/src/mame/video/gradius3.c b/src/mame/video/gradius3.c
index 9574d982aab..444c390efad 100644
--- a/src/mame/video/gradius3.c
+++ b/src/mame/video/gradius3.c
@@ -64,7 +64,7 @@ void gradius3_state::gradius3_postload()
for (i = 0; i < 0x20000; i += 16)
{
- machine().gfx[0]->mark_dirty(i / 16);
+ m_gfxdecode->gfx(0)->mark_dirty(i / 16);
}
}
@@ -83,9 +83,9 @@ void gradius3_state::video_start()
/* 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);
+ m_gfxdecode->gfx(1)->mark_dirty(i);
- machine().gfx[0]->set_source((UINT8 *)m_gfxram.target());
+ m_gfxdecode->gfx(0)->set_source((UINT8 *)m_gfxram.target());
machine().save().register_postload(save_prepost_delegate(FUNC(gradius3_state::gradius3_postload), this));
}
@@ -112,7 +112,7 @@ WRITE16_MEMBER(gradius3_state::gradius3_gfxram_w)
COMBINE_DATA(&m_gfxram[offset]);
if (oldword != m_gfxram[offset])
- machine().gfx[0]->mark_dirty(offset / 16);
+ m_gfxdecode->gfx(0)->mark_dirty(offset / 16);
}
/***************************************************************************
diff --git a/src/mame/video/grchamp.c b/src/mame/video/grchamp.c
index 9645304895f..2de1ccf5dc2 100644
--- a/src/mame/video/grchamp.c
+++ b/src/mame/video/grchamp.c
@@ -72,22 +72,22 @@ WRITE8_MEMBER(grchamp_state::grchamp_right_w)
TILE_GET_INFO_MEMBER(grchamp_state::get_text_tile_info)
{
- SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, m_videoram[tile_index], 0, 0);
}
TILE_GET_INFO_MEMBER(grchamp_state::get_left_tile_info)
{
- SET_TILE_INFO_MEMBER(1, m_leftram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, m_leftram[tile_index], 0, 0);
}
TILE_GET_INFO_MEMBER(grchamp_state::get_right_tile_info)
{
- SET_TILE_INFO_MEMBER(2, m_rightram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, m_rightram[tile_index], 0, 0);
}
TILE_GET_INFO_MEMBER(grchamp_state::get_center_tile_info)
{
- SET_TILE_INFO_MEMBER(3, m_centerram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, m_centerram[tile_index], 0, 0);
}
TILEMAP_MAPPER_MEMBER(grchamp_state::get_memory_offset)
@@ -123,7 +123,7 @@ int grchamp_state::collision_check(grchamp_state *state, bitmap_ind16 &bitmap, i
{
/* draw the current player sprite into a work bitmap */
- machine().gfx[4]->opaque(m_work_bitmap,
+ m_gfxdecode->gfx(4)->opaque(m_work_bitmap,
m_work_bitmap.cliprect(),
m_cpu0_out[4]&0xf,
1, /* color */
@@ -177,7 +177,7 @@ void grchamp_state::draw_fog(grchamp_state *state, bitmap_ind16 &bitmap, const r
void grchamp_state::draw_sprites(grchamp_state *state, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[5];
+ gfx_element *gfx = m_gfxdecode->gfx(5);
int bank = (m_cpu0_out[0] & 0x20) ? 0x40 : 0x00;
const UINT8 *source = m_spriteram + 0x40;
const UINT8 *finish = source + 0x40;
@@ -187,7 +187,7 @@ void grchamp_state::draw_sprites(grchamp_state *state, bitmap_ind16 &bitmap, con
int sx = source[3];
int sy = 240-source[0];
int color = source[2];
- int code = source[1];
+ int code = source[1);
gfx->transpen(bitmap,cliprect,
bank + (code & 0x3f),
@@ -247,7 +247,7 @@ void grchamp_state::draw_objects(int y, UINT8 *objdata)
memset(objdata, 0, 256);
/* now draw the sprites; this is done during HBLANK */
- gfx = machine().gfx[4];
+ gfx = m_gfxdecode->gfx(4);
for (num = 0; num < 16; num++)
{
/*
@@ -299,7 +299,7 @@ void grchamp_state::draw_objects(int y, UINT8 *objdata)
}
/* finally draw the text characters; this is done as we read out the object buffers */
- gfx = machine().gfx[0];
+ gfx = m_gfxdecode->gfx(0);
for (num = 0; num < 32; num++)
{
/*
diff --git a/src/mame/video/groundfx.c b/src/mame/video/groundfx.c
index f81fa743ac5..9a827ddf34e 100644
--- a/src/mame/video/groundfx.c
+++ b/src/mame/video/groundfx.c
@@ -179,7 +179,7 @@ void groundfx_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
else
clipper=&cliprect;
- machine().gfx[sprite_ptr->gfx]->prio_zoom_transpen(bitmap,*clipper,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->prio_zoom_transpen(bitmap,*clipper,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
diff --git a/src/mame/video/gstriker.c b/src/mame/video/gstriker.c
index 4c9f2c7c317..ba5adc1c469 100644
--- a/src/mame/video/gstriker.c
+++ b/src/mame/video/gstriker.c
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(gstriker_state::VS920A_get_tile_info)
tileno = data & 0xFFF;
pal = (data >> 12) & 0xF;
- SET_TILE_INFO_MEMBER(m_VS920A_cur_chip->gfx_region, tileno, m_VS920A_cur_chip->pal_base + pal, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_VS920A_cur_chip->gfx_region, tileno, m_VS920A_cur_chip->pal_base + pal, 0);
}
WRITE16_MEMBER(gstriker_state::VS920A_0_vram_w)
@@ -148,7 +148,7 @@ TILE_GET_INFO_MEMBER(gstriker_state::MB60553_get_tile_info)
pal = (data >> 12) & 0xF;
bankno = (data >> 9) & 0x7;
- SET_TILE_INFO_MEMBER(m_MB60553->gfx_region, tileno + m_MB60553_cur_chip->bank[bankno] * 0x200, pal + m_MB60553->pal_base, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_MB60553->gfx_region, tileno + m_MB60553_cur_chip->bank[bankno] * 0x200, pal + m_MB60553->pal_base, 0);
}
void gstriker_state::MB60553_reg_written(int numchip, int num_reg)
diff --git a/src/mame/video/gsword.c b/src/mame/video/gsword.c
index 8967ccafb02..fdca1b1a652 100644
--- a/src/mame/video/gsword.c
+++ b/src/mame/video/gsword.c
@@ -149,7 +149,7 @@ TILE_GET_INFO_MEMBER(gsword_state::get_bg_tile_info)
int color = ((code & 0x3c0) >> 6) + 16 * m_charpalbank;
int flags = m_flipscreen ? (TILE_FLIPX | TILE_FLIPY) : 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void gsword_state::video_start()
@@ -191,12 +191,12 @@ void gsword_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
flipx = !flipx;
flipy = !flipy;
}
- machine().gfx[1+spritebank]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1+spritebank)->transmask(bitmap,cliprect,
tile,
color,
flipx,flipy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1+spritebank], color, 0x8f));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1+spritebank), color, 0x8f));
}
}
}
diff --git a/src/mame/video/gumbo.c b/src/mame/video/gumbo.c
index b3c9cc476fc..1c768c550bc 100644
--- a/src/mame/video/gumbo.c
+++ b/src/mame/video/gumbo.c
@@ -13,7 +13,7 @@ WRITE16_MEMBER(gumbo_state::gumbo_bg_videoram_w)
TILE_GET_INFO_MEMBER(gumbo_state::get_gumbo_bg_tile_info)
{
int tileno = m_bg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, 0, 0);
}
@@ -26,7 +26,7 @@ WRITE16_MEMBER(gumbo_state::gumbo_fg_videoram_w)
TILE_GET_INFO_MEMBER(gumbo_state::get_gumbo_fg_tile_info)
{
int tileno = m_fg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(1, tileno, 1, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, 1, 0);
}
diff --git a/src/mame/video/gunbustr.c b/src/mame/video/gunbustr.c
index 9c895bdba42..a0aebbf25a3 100644
--- a/src/mame/video/gunbustr.c
+++ b/src/mame/video/gunbustr.c
@@ -164,7 +164,7 @@ void gunbustr_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
}
else
{
- machine().gfx[sprite_ptr->gfx]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
@@ -183,7 +183,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
{
sprite_ptr--;
- machine().gfx[sprite_ptr->gfx]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->prio_zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
diff --git a/src/mame/video/gundealr.c b/src/mame/video/gundealr.c
index ce89cb5c6e8..bd5a0c96ce6 100644
--- a/src/mame/video/gundealr.c
+++ b/src/mame/video/gundealr.c
@@ -19,7 +19,7 @@
TILE_GET_INFO_MEMBER(gundealr_state::get_bg_tile_info)
{
UINT8 attr = m_bg_videoram[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_bg_videoram[2 * tile_index] + ((attr & 0x07) << 8),
(attr & 0xf0) >> 4,
@@ -35,7 +35,7 @@ TILEMAP_MAPPER_MEMBER(gundealr_state::gundealr_scan)
TILE_GET_INFO_MEMBER(gundealr_state::get_fg_tile_info)
{
UINT8 attr = m_fg_videoram[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_fg_videoram[2 * tile_index] + ((attr & 0x03) << 8),
(attr & 0xf0) >> 4,
diff --git a/src/mame/video/gunsmoke.c b/src/mame/video/gunsmoke.c
index 3341d573aee..0df16058208 100644
--- a/src/mame/video/gunsmoke.c
+++ b/src/mame/video/gunsmoke.c
@@ -111,7 +111,7 @@ TILE_GET_INFO_MEMBER(gunsmoke_state::get_bg_tile_info)
int color = (attr & 0x3c) >> 2;
int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(gunsmoke_state::get_fg_tile_info)
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(gunsmoke_state::get_fg_tile_info)
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void gunsmoke_state::video_start()
@@ -130,7 +130,7 @@ void gunsmoke_state::video_start()
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, m_fg_tilemap, machine().gfx[0], 0x4f);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, m_gfxdecode->gfx(0), 0x4f);
}
void gunsmoke_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -162,7 +162,7 @@ void gunsmoke_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipy = !flipy;
}
- machine().gfx[2]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
}
}
diff --git a/src/mame/video/gyruss.c b/src/mame/video/gyruss.c
index a8bd25955c0..2c8373f73fb 100644
--- a/src/mame/video/gyruss.c
+++ b/src/mame/video/gyruss.c
@@ -107,7 +107,7 @@ TILE_GET_INFO_MEMBER(gyruss_state::gyruss_get_tile_info)
tileinfo.group = (m_colorram[tile_index] & 0x10) ? 0 : 1;
- SET_TILE_INFO_MEMBER(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, flags);
}
@@ -156,7 +156,7 @@ UINT32 gyruss_state::screen_update_gyruss(screen_device &screen, bitmap_ind16 &b
}
m_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
- draw_sprites(bitmap, cliprect, machine().gfx);
+ draw_sprites(bitmap, cliprect, m_gfxdecode->gfx());
m_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
diff --git a/src/mame/video/hanaawas.c b/src/mame/video/hanaawas.c
index af32222ec7a..91b50c872a1 100644
--- a/src/mame/video/hanaawas.c
+++ b/src/mame/video/hanaawas.c
@@ -97,7 +97,7 @@ TILE_GET_INFO_MEMBER(hanaawas_state::get_bg_tile_info)
int code = m_videoram[tile_index] + ((attr & 0x20) << 3);
int color = m_colorram[tile_index] & 0x1f;
- SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfxbank, code, color, 0);
}
void hanaawas_state::video_start()
diff --git a/src/mame/video/hcastle.c b/src/mame/video/hcastle.c
index c2c37ee6f9e..6dd508e74e3 100644
--- a/src/mame/video/hcastle.c
+++ b/src/mame/video/hcastle.c
@@ -86,7 +86,7 @@ TILE_GET_INFO_MEMBER(hcastle_state::get_fg_tile_info)
((attr >> (bit2 )) & 0x08) |
((attr >> (bit3 - 1)) & 0x10);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile + bank * 0x100 + m_pf1_bankbase,
((ctrl_6 & 0x30) * 2 + 16) + color,
@@ -110,7 +110,7 @@ TILE_GET_INFO_MEMBER(hcastle_state::get_bg_tile_info)
((attr >> (bit2 )) & 0x08) |
((attr >> (bit3 - 1)) & 0x10);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile + bank * 0x100 + m_pf2_bankbase,
((ctrl_6 & 0x30) * 2 + 16) + color,
@@ -204,7 +204,7 @@ void hcastle_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
int base_color = (k007121->ctrlram_r(space, 6) & 0x30) * 2;
int bank_base = (bank == 0) ? 0x4000 * (m_gfx_bank & 1) : 0;
- k007121->sprites_draw(bitmap, cliprect, machine().gfx[bank], machine().colortable, sbank, base_color, 0, bank_base, priority_bitmap, (UINT32)-1);
+ k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(bank), machine().colortable, sbank, base_color, 0, bank_base, priority_bitmap, (UINT32)-1);
}
/*****************************************************************************/
diff --git a/src/mame/video/hexion.c b/src/mame/video/hexion.c
index 617bfe3695b..1db04269cfc 100644
--- a/src/mame/video/hexion.c
+++ b/src/mame/video/hexion.c
@@ -13,7 +13,7 @@
inline void hexion_state::get_tile_info(tile_data &tileinfo,int tile_index,UINT8 *ram)
{
tile_index *= 4;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
ram[tile_index] + ((ram[tile_index+1] & 0x3f) << 8),
ram[tile_index+2] & 0x0f,
diff --git a/src/mame/video/higemaru.c b/src/mame/video/higemaru.c
index 15aea0cd9ba..bebc7bd9016 100644
--- a/src/mame/video/higemaru.c
+++ b/src/mame/video/higemaru.c
@@ -94,7 +94,7 @@ TILE_GET_INFO_MEMBER(higemaru_state::get_bg_tile_info)
int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1);
int color = m_colorram[tile_index] & 0x1f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void higemaru_state::video_start()
@@ -125,14 +125,14 @@ void higemaru_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
col,
flipx,flipy,
sx,sy,15);
/* draw again with wraparound */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
col,
flipx,flipy,
diff --git a/src/mame/video/himesiki.c b/src/mame/video/himesiki.c
index 057d7c9b8ea..dc76248893e 100644
--- a/src/mame/video/himesiki.c
+++ b/src/mame/video/himesiki.c
@@ -17,7 +17,7 @@ TILE_GET_INFO_MEMBER(himesiki_state::get_bg_tile_info)
code &= 0xfff;
- SET_TILE_INFO_MEMBER(0, code, col, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, col, 0);
}
void himesiki_state::video_start()
@@ -78,7 +78,7 @@ void himesiki_state::himesiki_draw_sprites( bitmap_ind16 &bitmap, const rectangl
y -= 0x100;
}
- machine().gfx[1]->transpen(bitmap,cliprect, code, col, fx, fy, x, y, 15);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, col, fx, fy, x, y, 15);
}
for (offs = 0; offs < 0x100; offs += 4)
@@ -107,7 +107,7 @@ void himesiki_state::himesiki_draw_sprites( bitmap_ind16 &bitmap, const rectangl
if (y > 0xf0)
y -= 0x100;
- machine().gfx[2]->transpen(bitmap,cliprect, code, col, f, f, x, y, 15);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, code, col, f, f, x, y, 15);
}
}
diff --git a/src/mame/video/hng64.c b/src/mame/video/hng64.c
index e70cac6f3a9..1bb2c265f09 100644
--- a/src/mame/video/hng64.c
+++ b/src/mame/video/hng64.c
@@ -199,11 +199,11 @@ static void draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, const rect
if (state->m_spriteregs[0] & 0x00800000) //bpp switch
{
- gfx= screen.machine().gfx[4];
+ gfx= state->m_gfxdecode->gfx(4);
}
else
{
- gfx= screen.machine().gfx[5];
+ gfx= state->m_gfxdecode->gfx(5);
tileno>>=1;
pal&=0xf;
}
@@ -230,7 +230,7 @@ static void draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, const rect
}
#if 0
- if (((source[2] & 0xffff0000) >> 16) == 0x0001)
+ if (((source[2) & 0xffff0000) >> 16) == 0x0001)
{
popmessage("T %.8x %.8x %.8x %.8x %.8x", source[0], source[1], source[2], source[3], source[4]);
//popmessage("T %.8x %.8x %.8x %.8x %.8x", source[0], source[1], source[2], source[3], source[4]);
@@ -264,11 +264,11 @@ static void draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, const rect
if (state->m_spriteregs[0] & 0x00800000) //bpp switch
{
- gfx= screen.machine().gfx[4];
+ gfx= state->m_gfxdecode->gfx(4);
}
else
{
- gfx= screen.machine().gfx[5];
+ gfx= state->m_gfxdecode->gfx(5);
tileno>>=1;
pal&=0xf;
}
@@ -445,22 +445,22 @@ static void transition_control(running_machine &machine, bitmap_rgb32 &bitmap, c
{ \
if (tilemapinfo&0x400) \
{ \
- SET_TILE_INFO_MEMBER(1,tileno>>1,pal>>4,TILE_FLIPYX(flip)); \
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno>>1,pal>>4,TILE_FLIPYX(flip)); \
} \
else \
{ \
- SET_TILE_INFO_MEMBER(0,tileno, pal,TILE_FLIPYX(flip)); \
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno, pal,TILE_FLIPYX(flip)); \
} \
} \
else \
{ \
if (tilemapinfo&0x400) \
{ \
- SET_TILE_INFO_MEMBER(3,tileno>>3,pal>>4,TILE_FLIPYX(flip)); \
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3,tileno>>3,pal>>4,TILE_FLIPYX(flip)); \
} \
else \
{ \
- SET_TILE_INFO_MEMBER(2,tileno>>2, pal,TILE_FLIPYX(flip)); \
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,tileno>>2, pal,TILE_FLIPYX(flip)); \
} \
} \
}
diff --git a/src/mame/video/holeland.c b/src/mame/video/holeland.c
index fb5f92d3c26..ed72ae44368 100644
--- a/src/mame/video/holeland.c
+++ b/src/mame/video/holeland.c
@@ -28,7 +28,7 @@ TILE_GET_INFO_MEMBER(holeland_state::holeland_get_tile_info)
int attr = m_colorram[tile_index];
int tile_number = m_videoram[tile_index] | ((attr & 0x03) << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
m_palette_offset + ((attr >> 4) & 0x0f),
@@ -41,7 +41,7 @@ TILE_GET_INFO_MEMBER(holeland_state::crzrally_get_tile_info)
int attr = m_colorram[tile_index];
int tile_number = m_videoram[tile_index] | ((attr & 0x03) << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
m_palette_offset + ((attr >> 4) & 0x0f),
@@ -135,7 +135,7 @@ void holeland_state::holeland_draw_sprites( bitmap_ind16 &bitmap, const rectangl
sy = 240 - sy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -173,7 +173,7 @@ void holeland_state::crzrally_draw_sprites( bitmap_ind16 &bitmap,const rectangle
sy = 240 - sy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/homedata.c b/src/mame/video/homedata.c
index f4c18535e03..55c66c6c81b 100644
--- a/src/mame/video/homedata.c
+++ b/src/mame/video/homedata.c
@@ -408,7 +408,7 @@ inline void homedata_state::mrokumei_info0( tile_data &tileinfo, int tile_index,
int code = m_videoram[addr + 1] + ((attr & 0x03) << 8) + (gfxbank << 10);
int color = (attr >> 2) + (gfxbank << 6);
- SET_TILE_INFO_MEMBER( 0, code, color, m_flipscreen );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, m_flipscreen );
}
inline void homedata_state::mrokumei_info1( tile_data &tileinfo, int tile_index, int page, int gfxbank )
{
@@ -417,7 +417,7 @@ inline void homedata_state::mrokumei_info1( tile_data &tileinfo, int tile_index,
int code = m_videoram[addr + 1] + ((attr & 0x07) << 8) + (gfxbank << 11);
int color = (attr >> 3) + ((gfxbank & 3) << 6);
- SET_TILE_INFO_MEMBER( 1, code, color, m_flipscreen );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, m_flipscreen );
}
TILE_GET_INFO_MEMBER(homedata_state::mrokumei_get_info0_0)
@@ -451,7 +451,7 @@ inline void homedata_state::reikaids_info( tile_data &tileinfo, int tile_index,
if (attr & 0x80) flags ^= TILE_FLIPX;
- SET_TILE_INFO_MEMBER( layer, code, color, flags );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, layer, code, color, flags );
}
/* reikaids_gfx_bank[0]:
@@ -510,7 +510,7 @@ inline void homedata_state::pteacher_info( tile_data &tileinfo, int tile_index,
int code = m_videoram[addr + 1] + ((attr & 0x07) << 8) + (gfxbank << 11);
int color = (attr >> 3) + ((gfxbank & 1) << 5);
- SET_TILE_INFO_MEMBER(layer, code, color, m_flipscreen);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, layer, code, color, m_flipscreen);
}
TILE_GET_INFO_MEMBER(homedata_state::pteacher_get_info0_0)
@@ -541,7 +541,7 @@ inline void homedata_state::lemnangl_info( tile_data &tileinfo, int tile_index,
int code = m_videoram[addr + 1] + ((attr & 0x07) << 8) + (gfxbank << 11);
int color = 16 * (attr >> 3) + gfxbank;
- SET_TILE_INFO_MEMBER(2 * layer + gfxset, code, color, m_flipscreen);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2 * layer + gfxset, code, color, m_flipscreen);
}
TILE_GET_INFO_MEMBER(homedata_state::lemnangl_get_info0_0)
@@ -573,7 +573,7 @@ inline void homedata_state::mirderby_info0( tile_data &tileinfo, int tile_index,
int code = m_videoram[addr + 1] + ((attr & 0x03) << 8) + 0x400;// + (gfxbank << 10);
int color = (attr >> 2) + (gfxbank << 6);
- SET_TILE_INFO_MEMBER( 0, code, color, m_flipscreen );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, m_flipscreen );
}
inline void homedata_state::mirderby_info1( tile_data &tileinfo, int tile_index, int page, int gfxbank )
{
@@ -582,7 +582,7 @@ inline void homedata_state::mirderby_info1( tile_data &tileinfo, int tile_index,
int code = m_videoram[addr + 1] + ((attr & 0x07) << 8) + 0x400;//(gfxbank << 11);
int color = (attr >> 3) + ((gfxbank & 3) << 6);
- SET_TILE_INFO_MEMBER( 1, code, color, m_flipscreen );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, m_flipscreen );
}
TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info0_0)
diff --git a/src/mame/video/homerun.c b/src/mame/video/homerun.c
index a2d36c07003..f762b2a9bb2 100644
--- a/src/mame/video/homerun.c
+++ b/src/mame/video/homerun.c
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(homerun_state::get_homerun_tile_info)
int tileno = (m_videoram[tile_index]) | ((m_videoram[tile_index | 0x1000] & 0x38) << 5) | ((m_gfx_ctrl & 1) << 11);
int palno = (m_videoram[tile_index | 0x1000] & 0x07);
- SET_TILE_INFO_MEMBER(0, tileno, palno, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, palno, 0);
}
@@ -122,14 +122,14 @@ void homerun_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
int flipx = (spriteram[offs + 2] & 0x40) >> 6;
int flipy = (spriteram[offs + 2] & 0x80) >> 7;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
sx,sy,0);
// wraparound
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/hyperspt.c b/src/mame/video/hyperspt.c
index b871387235a..27f6c6dbdad 100644
--- a/src/mame/video/hyperspt.c
+++ b/src/mame/video/hyperspt.c
@@ -117,7 +117,7 @@ TILE_GET_INFO_MEMBER(hyperspt_state::get_bg_tile_info)
int color = m_colorram[tile_index] & 0x0f;
int flags = ((m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
void hyperspt_state::video_start()
@@ -152,20 +152,20 @@ void hyperspt_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
sy += 1;
- machine().gfx[0]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transmask(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[0], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0));
/* redraw with wraparound */
- machine().gfx[0]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transmask(bitmap,cliprect,
code, color,
flipx, flipy,
sx - 256, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[0], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0));
}
}
@@ -192,7 +192,7 @@ TILE_GET_INFO_MEMBER(hyperspt_state::roadf_get_bg_tile_info)
int color = m_colorram[tile_index] & 0x0f;
int flags = (m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
VIDEO_START_MEMBER(hyperspt_state,roadf)
diff --git a/src/mame/video/hyprduel.c b/src/mame/video/hyprduel.c
index fdd2228d800..5bfe1a79d75 100644
--- a/src/mame/video/hyprduel.c
+++ b/src/mame/video/hyprduel.c
@@ -131,7 +131,7 @@ inline void hyprduel_state::get_tile_info( tile_data &tileinfo, int tile_index,
else
{
tileinfo.group = 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(tile & 0xfffff) + (code & 0xf),
(((tile & 0x0ff00000) >> 20)) + 0x100,
@@ -169,7 +169,7 @@ inline void hyprduel_state::get_tile_info_8bit( tile_data &tileinfo, int tile_in
else if ((tile & 0x00f00000) == 0x00f00000) /* draw tile as 8bpp */
{
tileinfo.group = 1;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(tile & 0xfffff) + 2*(code & 0xf),
((tile & 0x0f000000) >> 24) + 0x10,
@@ -178,7 +178,7 @@ inline void hyprduel_state::get_tile_info_8bit( tile_data &tileinfo, int tile_in
else
{
tileinfo.group = 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(tile & 0xfffff) + (code & 0xf),
(((tile & 0x0ff00000) >> 20)) + 0x100,
@@ -216,7 +216,7 @@ inline void hyprduel_state::get_tile_info_16x16_8bit( tile_data &tileinfo, int t
else if ((tile & 0x00f00000) == 0x00f00000) /* draw tile as 8bpp */
{
tileinfo.group = 1;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
(tile & 0xfffff) + 8*(code & 0xf),
((tile & 0x0f000000) >> 24) + 0x10,
@@ -225,7 +225,7 @@ inline void hyprduel_state::get_tile_info_16x16_8bit( tile_data &tileinfo, int t
else
{
tileinfo.group = 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
(tile & 0xfffff) + 4*(code & 0xf),
(((tile & 0x0ff00000) >> 20)) + 0x100,
diff --git a/src/mame/video/ikki.c b/src/mame/video/ikki.c
index fdd41f34150..82be44bb7e1 100644
--- a/src/mame/video/ikki.c
+++ b/src/mame/video/ikki.c
@@ -91,11 +91,11 @@ void ikki_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
if (y > 240)
y = y - 256;
- machine().gfx[1]->transmask(m_sprite_bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(m_sprite_bitmap,cliprect,
code, color,
m_flipscreen,m_flipscreen,
x,y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
/* copy the sprite bitmap into the main bitmap, skipping the transparent pixels */
@@ -174,7 +174,7 @@ UINT32 ikki_state::screen_update_ikki(screen_device &screen, bitmap_ind16 &bitma
bank = (color & 0xe0) << 3;
color = ((color & 0x1f)<<0) | ((color & 0x80) >> 2);
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
m_videoram[offs * 2 + 1] + bank,
color,
m_flipscreen,m_flipscreen,
@@ -209,7 +209,7 @@ UINT32 ikki_state::screen_update_ikki(screen_device &screen, bitmap_ind16 &bitma
bank = (color & 0xe0) << 3;
color = ((color & 0x1f)<<0) | ((color & 0x80) >> 2);
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
m_videoram[offs * 2 + 1] + bank,
color,
m_flipscreen,m_flipscreen,
diff --git a/src/mame/video/inufuku.c b/src/mame/video/inufuku.c
index 0a7102a9aab..277fd0e2316 100644
--- a/src/mame/video/inufuku.c
+++ b/src/mame/video/inufuku.c
@@ -64,7 +64,7 @@ WRITE16_MEMBER(inufuku_state::inufuku_scrollreg_w)
TILE_GET_INFO_MEMBER(inufuku_state::get_inufuku_bg_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_bg_videoram[tile_index],
m_bg_palettebank,
@@ -73,7 +73,7 @@ TILE_GET_INFO_MEMBER(inufuku_state::get_inufuku_bg_tile_info)
TILE_GET_INFO_MEMBER(inufuku_state::get_inufuku_tx_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_tx_videoram[tile_index],
m_tx_palettebank,
diff --git a/src/mame/video/iqblock.c b/src/mame/video/iqblock.c
index 210d8fb6616..65aa83d167b 100644
--- a/src/mame/video/iqblock.c
+++ b/src/mame/video/iqblock.c
@@ -11,7 +11,7 @@
TILE_GET_INFO_MEMBER(iqblock_state::get_bg_tile_info)
{
int code = m_bgvideoram[tile_index] + (m_bgvideoram[tile_index + 0x800] << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code &(m_video_type ? 0x1fff : 0x3fff),
m_video_type? (2*(code >> 13)+1) : (4*(code >> 14)+3),
@@ -21,7 +21,7 @@ TILE_GET_INFO_MEMBER(iqblock_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(iqblock_state::get_fg_tile_info)
{
int code = m_fgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0x7f,
(code & 0x80) ? 3 : 0,
diff --git a/src/mame/video/irobot.c b/src/mame/video/irobot.c
index 23931db66f7..db3214cae23 100644
--- a/src/mame/video/irobot.c
+++ b/src/mame/video/irobot.c
@@ -360,7 +360,7 @@ UINT32 irobot_state::screen_update_irobot(screen_device &screen, bitmap_ind16 &b
int code = videoram[offs] & 0x3f;
int color = ((videoram[offs] & 0xc0) >> 6) | (m_alphamap >> 3);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code, color,
0,0,
8*x,8*y,0);
diff --git a/src/mame/video/ironhors.c b/src/mame/video/ironhors.c
index 37024dc1053..b09a8fadcac 100644
--- a/src/mame/video/ironhors.c
+++ b/src/mame/video/ironhors.c
@@ -140,7 +140,7 @@ TILE_GET_INFO_MEMBER(ironhors_state::get_bg_tile_info)
int flags = ((m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) |
((m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void ironhors_state::video_start()
@@ -181,7 +181,7 @@ void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
switch (sr[offs + 4] & 0x0c)
{
case 0x00: /* 16x16 */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code/4,
color,
flipx,flipy,
@@ -192,12 +192,12 @@ void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
{
if (flip_screen()) sy += 8; // this fixes the train wheels' position
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code & ~1,
color,
flipx,flipy,
flipx?sx+8:sx,sy,0);
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code | 1,
color,
flipx,flipy,
@@ -207,12 +207,12 @@ void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
case 0x08: /* 8x16 */
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code & ~2,
color,
flipx,flipy,
sx,flipy?sy+8:sy,0);
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code | 2,
color,
flipx,flipy,
@@ -222,7 +222,7 @@ void ironhors_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
case 0x0c: /* 8x8 */
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -252,7 +252,7 @@ TILE_GET_INFO_MEMBER(ironhors_state::farwest_get_bg_tile_info)
int color = (m_colorram[tile_index] & 0x0f) + 16 * m_palettebank;
int flags = 0;//((m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
VIDEO_START_MEMBER(ironhors_state,farwest)
@@ -290,7 +290,7 @@ void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle
switch (sr[offs + 3] & 0x0c)
{
case 0x00: /* 16x16 */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code/4,
color,
flipx,flipy,
@@ -301,12 +301,12 @@ void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle
{
if (flip_screen()) sy += 8; // this fixes the train wheels' position
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code & ~1,
color,
flipx,flipy,
flipx?sx+8:sx,sy,0);
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code | 1,
color,
flipx,flipy,
@@ -316,12 +316,12 @@ void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle
case 0x08: /* 8x16 */
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code & ~2,
color,
flipx,flipy,
sx,flipy?sy+8:sy,0);
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code | 2,
color,
flipx,flipy,
@@ -331,7 +331,7 @@ void ironhors_state::farwest_draw_sprites( bitmap_ind16 &bitmap, const rectangle
case 0x0c: /* 8x8 */
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/jack.c b/src/mame/video/jack.c
index f64b3c31ce7..ea0e6ba8caf 100644
--- a/src/mame/video/jack.c
+++ b/src/mame/video/jack.c
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(jack_state::get_bg_tile_info)
// striv: m_colorram[tile_index] & 0x80 ???
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILEMAP_MAPPER_MEMBER(jack_state::tilemap_scan_cols_flipy)
@@ -89,7 +89,7 @@ void jack_state::jack_draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipr
flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -175,7 +175,7 @@ TILE_GET_INFO_MEMBER(jack_state::joinem_get_bg_tile_info)
int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x03) << 8);
int color = (m_colorram[tile_index] & 0x38) >> 3 | m_joinem_palette_bank;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
VIDEO_START_MEMBER(jack_state,joinem)
@@ -209,7 +209,7 @@ void jack_state::joinem_draw_sprites( bitmap_ind16 &bitmap, const rectangle &cli
flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/jackal.c b/src/mame/video/jackal.c
index b64f3dedfb3..a9ebc70cbd5 100644
--- a/src/mame/video/jackal.c
+++ b/src/mame/video/jackal.c
@@ -69,7 +69,7 @@ TILE_GET_INFO_MEMBER(jackal_state::get_bg_tile_info)
int color = 0;//attr & 0x0f;
int flags = ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void jackal_state::video_start()
@@ -112,7 +112,7 @@ void jackal_state::draw_background( screen_device &screen, bitmap_ind16 &bitmap,
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
}
-#define DRAW_SPRITE(bank, code, sx, sy) machine().gfx[bank]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
+#define DRAW_SPRITE(bank, code, sx, sy) m_gfxdecode->gfx(bank)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
void jackal_state::draw_sprites_region( bitmap_ind16 &bitmap, const rectangle &cliprect, const UINT8 *sram, int length, int bank )
{
diff --git a/src/mame/video/jailbrek.c b/src/mame/video/jailbrek.c
index d98f1e38feb..9798663ffc9 100644
--- a/src/mame/video/jailbrek.c
+++ b/src/mame/video/jailbrek.c
@@ -53,7 +53,7 @@ TILE_GET_INFO_MEMBER(jailbrek_state::get_bg_tile_info)
int code = m_videoram[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void jailbrek_state::video_start()
@@ -85,9 +85,9 @@ void jailbrek_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipy = !flipy;
}
- machine().gfx[1]->transmask(bitmap,cliprect, code, color, flipx, flipy,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect, code, color, flipx, flipy,
sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
diff --git a/src/mame/video/k001604.c b/src/mame/video/k001604.c
index 5110d61b7ac..6d03822cba7 100644
--- a/src/mame/video/k001604.c
+++ b/src/mame/video/k001604.c
@@ -19,13 +19,24 @@ k001604_device::k001604_device(const machine_config &mconfig, const char *tag, d
: device_t(mconfig, K001604, "Konami 001604", tag, owner, clock, "k001604", __FILE__),
m_tile_ram(NULL),
m_char_ram(NULL),
- m_reg(NULL)
+ m_reg(NULL),
+ m_gfxdecode(*this)
{
m_gfx_index[0] = 0;
m_gfx_index[1] = 0;
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void k001604_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<k001604_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -108,8 +119,8 @@ void k001604_device::device_start()
m_layer_8x8[0]->set_transparent_pen(0);
m_layer_8x8[1]->set_transparent_pen(0);
- machine().gfx[m_gfx_index[0]] = auto_alloc_clear(machine(), gfx_element(machine(), k001604_char_layout_layer_8x8, (UINT8*)&m_char_ram[0], machine().total_colors() / 16, 0));
- machine().gfx[m_gfx_index[1]] = auto_alloc_clear(machine(), gfx_element(machine(), k001604_char_layout_layer_16x16, (UINT8*)&m_char_ram[0], machine().total_colors() / 16, 0));
+ m_gfxdecode->set_gfx(m_gfx_index[0], auto_alloc_clear(machine(), gfx_element(machine(), k001604_char_layout_layer_8x8, (UINT8*)&m_char_ram[0], machine().total_colors() / 16, 0)));
+ m_gfxdecode->set_gfx(m_gfx_index[1], auto_alloc_clear(machine(), gfx_element(machine(), k001604_char_layout_layer_16x16, (UINT8*)&m_char_ram[0], machine().total_colors() / 16, 0)));
save_pointer(NAME(m_reg), 0x400 / 4);
save_pointer(NAME(m_char_ram), 0x200000 / 4);
@@ -183,7 +194,7 @@ TILE_GET_INFO_MEMBER(k001604_device::tile_info_layer_8x8)
if (val & 0x800000)
flags |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(m_gfx_index[0], tile, color, flags);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, m_gfx_index[0], tile, color, flags);
}
TILE_GET_INFO_MEMBER(k001604_device::tile_info_layer_roz)
@@ -200,7 +211,7 @@ TILE_GET_INFO_MEMBER(k001604_device::tile_info_layer_roz)
tile += m_roz_size ? 0x800 : 0x2000;
- SET_TILE_INFO_MEMBER(m_gfx_index[m_roz_size], tile, color, flags);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, m_gfx_index[m_roz_size], tile, color, flags);
}
@@ -398,8 +409,8 @@ WRITE32_MEMBER( k001604_device::char_w )
COMBINE_DATA(m_char_ram + addr);
- space.machine().gfx[m_gfx_index[0]]->mark_dirty(addr / 32);
- space.machine().gfx[m_gfx_index[1]]->mark_dirty(addr / 128);
+ m_gfxdecode->gfx(m_gfx_index[0])->mark_dirty(addr / 32);
+ m_gfxdecode->gfx(m_gfx_index[1])->mark_dirty(addr / 128);
}
WRITE32_MEMBER( k001604_device::reg_w )
diff --git a/src/mame/video/k001604.h b/src/mame/video/k001604.h
index c7a4b0134b4..29525fb669c 100644
--- a/src/mame/video/k001604.h
+++ b/src/mame/video/k001604.h
@@ -21,6 +21,9 @@ public:
k001604_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k001604_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
void draw_back_layer( bitmap_rgb32 &bitmap, const rectangle &cliprect );
void draw_front_layer( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect );
DECLARE_WRITE32_MEMBER( tile_w );
@@ -44,6 +47,7 @@ private:
UINT32 * m_tile_ram;
UINT32 * m_char_ram;
UINT32 * m_reg;
+ required_device<gfxdecode_device> m_gfxdecode;
TILEMAP_MAPPER_MEMBER(scan_layer_8x8_0_size0);
TILEMAP_MAPPER_MEMBER(scan_layer_8x8_0_size1);
@@ -62,4 +66,11 @@ extern const device_type K001604;
MCFG_DEVICE_ADD(_tag, K001604, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_K001604_MODIFY(_tag, _interface) \
+ MCFG_DEVICE_MODIFY(_tag) \
+ MCFG_DEVICE_CONFIG(_interface)
+
+#define MCFG_K001604_GFXDECODE(_gfxtag) \
+ k001604_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/k007342.c b/src/mame/video/k007342.c
index 76015522b08..fd2ea6689b1 100644
--- a/src/mame/video/k007342.c
+++ b/src/mame/video/k007342.c
@@ -45,14 +45,25 @@ k007342_device::k007342_device(const machine_config &mconfig, const char *tag, d
m_colorram_1(NULL),
//m_tilemap[2];
m_flipscreen(0),
- m_int_enabled(0)
+ m_int_enabled(0),
//m_regs[8],
//m_scrollx[2],
- //m_scrolly[2]
+ //m_scrolly[2],
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void k007342_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<k007342_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -287,7 +298,7 @@ void k007342_device::get_tile_info( tile_data &tileinfo, int tile_index, int lay
m_callback(machine(), layer, m_regs[1], &code, &color, &flags);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_gfxnum,
code,
color,
diff --git a/src/mame/video/k007342.h b/src/mame/video/k007342.h
index c4074cd4014..2812516bde8 100644
--- a/src/mame/video/k007342.h
+++ b/src/mame/video/k007342.h
@@ -17,6 +17,9 @@ public:
k007342_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k007342_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
DECLARE_READ8_MEMBER( scroll_r );
@@ -46,6 +49,7 @@ private:
UINT8 m_regs[8];
UINT16 m_scrollx[2];
UINT8 m_scrolly[2];
+ required_device<gfxdecode_device> m_gfxdecode;
TILEMAP_MAPPER_MEMBER(scan);
TILE_GET_INFO_MEMBER(get_tile_info0);
@@ -59,4 +63,7 @@ extern const device_type K007342;
MCFG_DEVICE_ADD(_tag, K007342, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_K007342_GFXDECODE(_gfxtag) \
+ k007342_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/k037122.c b/src/mame/video/k037122.c
index b8805c194dc..799bda4a6d3 100644
--- a/src/mame/video/k037122.c
+++ b/src/mame/video/k037122.c
@@ -19,11 +19,22 @@ k037122_device::k037122_device(const machine_config &mconfig, const char *tag, d
m_tile_ram(NULL),
m_char_ram(NULL),
m_reg(NULL),
- m_gfx_index(0)
+ m_gfx_index(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void k037122_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<k037122_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
@@ -50,7 +61,7 @@ void k037122_device::device_start()
m_layer[0]->set_transparent_pen(0);
m_layer[1]->set_transparent_pen(0);
- machine().gfx[m_gfx_index] = auto_alloc_clear(machine(), gfx_element(machine(), k037122_char_layout, (UINT8*)m_char_ram, machine().total_colors() / 16, 0));
+ m_gfxdecode->set_gfx(m_gfx_index,auto_alloc_clear(machine(), gfx_element(machine(), k037122_char_layout, (UINT8*)m_char_ram, machine().total_colors() / 16, 0)));
save_pointer(NAME(m_reg), 0x400 / 4);
save_pointer(NAME(m_char_ram), 0x200000 / 4);
@@ -85,7 +96,7 @@ TILE_GET_INFO_MEMBER(k037122_device::tile_info_layer0)
if (val & 0x800000)
flags |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(m_gfx_index, tile, color, flags);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, m_gfx_index, tile, color, flags);
}
TILE_GET_INFO_MEMBER(k037122_device::tile_info_layer1)
@@ -100,7 +111,7 @@ TILE_GET_INFO_MEMBER(k037122_device::tile_info_layer1)
if (val & 0x800000)
flags |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(m_gfx_index, tile, color, flags);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, m_gfx_index, tile, color, flags);
}
@@ -184,7 +195,7 @@ WRITE32_MEMBER( k037122_device::char_w )
UINT32 addr = offset + (bank * (0x40000/4));
COMBINE_DATA(m_char_ram + addr);
- space.machine().gfx[m_gfx_index]->mark_dirty(addr / 32);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty(addr / 32);
}
READ32_MEMBER( k037122_device::reg_r )
diff --git a/src/mame/video/k037122.h b/src/mame/video/k037122.h
index 056c65e69e3..87035c139df 100644
--- a/src/mame/video/k037122.h
+++ b/src/mame/video/k037122.h
@@ -9,6 +9,8 @@ public:
k037122_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k037122_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void static_set_gfx_index(device_t &device, int index) { downcast<k037122_device &>(device).m_gfx_index = index; }
void tile_draw( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect );
@@ -33,6 +35,7 @@ private:
UINT32 * m_reg;
int m_gfx_index;
+ required_device<gfxdecode_device> m_gfxdecode;
TILE_GET_INFO_MEMBER(tile_info_layer0);
TILE_GET_INFO_MEMBER(tile_info_layer1);
@@ -46,4 +49,6 @@ extern const device_type K037122;
MCFG_VIDEO_SET_SCREEN(_screen) \
k037122_device::static_set_gfx_index(*device, _gfxindex);
+#define MCFG_K037122_GFXDECODE(_gfxtag) \
+ k037122_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
#endif
diff --git a/src/mame/video/k051316.c b/src/mame/video/k051316.c
index d9a9185eff2..309870c04e8 100644
--- a/src/mame/video/k051316.c
+++ b/src/mame/video/k051316.c
@@ -47,13 +47,25 @@ const device_type K051316 = &device_creator<k051316_device>;
k051316_device::k051316_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, K051316, "Konami 051316", tag, owner, clock, "k051316", __FILE__),
- m_ram(NULL)
+ m_ram(NULL),
//m_tmap,
- //m_ctrlram[16]
+ //m_ctrlram[16],
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void k051316_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<k051316_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -148,22 +160,22 @@ void k051316_device::device_start()
case -4:
total = 0x400;
is_tail2nos = 1;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region_tag)->base(), total, &charlayout_tail2nos, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region_tag)->base(), total, &charlayout_tail2nos, 4);
break;
case 4:
total = machine().root_device().memregion(m_gfx_memory_region_tag)->bytes() / 128;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region_tag)->base(), total, &charlayout4, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region_tag)->base(), total, &charlayout4, 4);
break;
case 7:
total = machine().root_device().memregion(m_gfx_memory_region_tag)->bytes() / 256;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region_tag)->base(), total, &charlayout7, 7);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region_tag)->base(), total, &charlayout7, 7);
break;
case 8:
total = machine().root_device().memregion(m_gfx_memory_region_tag)->bytes() / 256;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region_tag)->base(), total, &charlayout8, 8);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region_tag)->base(), total, &charlayout8, 8);
break;
default:
@@ -261,7 +273,7 @@ void k051316_device::get_tile_info( tile_data &tileinfo, int tile_index )
m_callback(machine(), &code, &color, &flags);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_gfx_num,
code,
color,
diff --git a/src/mame/video/k051316.h b/src/mame/video/k051316.h
index 0a661db0bff..9c2d242699e 100644
--- a/src/mame/video/k051316.h
+++ b/src/mame/video/k051316.h
@@ -20,6 +20,9 @@ public:
k051316_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k051316_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
/*
The callback is passed:
- code (range 00-FF, contents of the first tilemap RAM byte)
@@ -49,6 +52,7 @@ private:
UINT8 *m_ram;
tilemap_t *m_tmap;
UINT8 m_ctrlram[16];
+ required_device<gfxdecode_device> m_gfxdecode;
TILE_GET_INFO_MEMBER(get_tile_info0);
void get_tile_info( tile_data &tileinfo, int tile_index );
@@ -60,4 +64,6 @@ extern const device_type K051316;
MCFG_DEVICE_ADD(_tag, K051316, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_K051316_GFXDECODE(_gfxtag) \
+ k051316_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
#endif
diff --git a/src/mame/video/k051960.c b/src/mame/video/k051960.c
index 7ee1f65f11c..6b42e780d9a 100644
--- a/src/mame/video/k051960.c
+++ b/src/mame/video/k051960.c
@@ -75,11 +75,23 @@ k051960_device::k051960_device(const machine_config &mconfig, const char *tag, d
m_readroms(0),
m_irq_enabled(0),
m_nmi_enabled(0),
- m_k051937_counter(0)
+ m_k051937_counter(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void k051960_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<k051960_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -152,17 +164,17 @@ void k051960_device::device_start()
{
case NORMAL_PLANE_ORDER:
total = machine().root_device().memregion(m_gfx_memory_region)->bytes() / 128;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &spritelayout, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &spritelayout, 4);
break;
case REVERSE_PLANE_ORDER:
total = machine().root_device().memregion(m_gfx_memory_region)->bytes() / 128;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &spritelayout_reverse, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &spritelayout_reverse, 4);
break;
case GRADIUS3_PLANE_ORDER:
total = 0x4000;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &spritelayout_gradius3, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &spritelayout_gradius3, 4);
break;
default:
@@ -175,7 +187,7 @@ void k051960_device::device_start()
/* deinterleave the graphics, if needed */
konami_deinterleave_gfx(machine(), m_gfx_memory_region, m_deinterleave);
- m_gfx = machine().gfx[m_gfx_num];
+ m_gfx = m_gfxdecode->gfx(m_gfx_num);
m_ram = auto_alloc_array_clear(machine(), UINT8, 0x400);
save_item(NAME(m_romoffset));
diff --git a/src/mame/video/k051960.h b/src/mame/video/k051960.h
index 3148c4739dc..4c15fd5edcb 100644
--- a/src/mame/video/k051960.h
+++ b/src/mame/video/k051960.h
@@ -20,6 +20,9 @@ public:
k051960_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k051960_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
/*
The callback is passed:
- code (range 00-1FFF, output of the pins CA5-CA17)
@@ -67,6 +70,7 @@ private:
int m_irq_enabled, m_nmi_enabled;
int m_k051937_counter;
+ required_device<gfxdecode_device> m_gfxdecode;
int k051960_fetchromdata( int byte );
};
@@ -77,4 +81,7 @@ extern const device_type K051960;
MCFG_DEVICE_ADD(_tag, K051960, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_K051960_GFXDECODE(_gfxtag) \
+ k051960_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/k052109.c b/src/mame/video/k052109.c
index 5c96a269929..044603199fc 100644
--- a/src/mame/video/k052109.c
+++ b/src/mame/video/k052109.c
@@ -151,11 +151,22 @@ k052109_device::k052109_device(const machine_config &mconfig, const char *tag, d
m_irq_enabled(0),
//m_dx[3], m_dy[3],
m_romsubbank(0),
- m_scrollctrl(0)
+ m_scrollctrl(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void k052109_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<k052109_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -213,12 +224,12 @@ void k052109_device::device_start()
{
case NORMAL_PLANE_ORDER:
total = machine().root_device().memregion(m_gfx_memory_region)->bytes() / 32;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &charlayout, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &charlayout, 4);
break;
case GRADIUS3_PLANE_ORDER:
total = 0x1000;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &charlayout_gradius3, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &charlayout_gradius3, 4);
break;
default:
@@ -716,7 +727,7 @@ void k052109_device::get_tile_info( tile_data &tileinfo, int tile_index, int lay
if (flipy && (m_tileflip_enable & 2))
flags |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_gfx_num,
code,
color,
diff --git a/src/mame/video/k052109.h b/src/mame/video/k052109.h
index e562c7af74a..386431cc5b9 100644
--- a/src/mame/video/k052109.h
+++ b/src/mame/video/k052109.h
@@ -21,6 +21,9 @@ public:
k052109_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k052109_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
/*
You don't have to decode the graphics: the vh_start() routines will do that
for you, using the plane order passed.
@@ -86,6 +89,7 @@ private:
UINT8 m_irq_enabled;
INT32 m_dx[3], m_dy[3];
UINT8 m_romsubbank, m_scrollctrl;
+ required_device<gfxdecode_device> m_gfxdecode;
TILE_GET_INFO_MEMBER(get_tile_info0);
TILE_GET_INFO_MEMBER(get_tile_info1);
@@ -101,4 +105,7 @@ extern const device_type K052109;
MCFG_DEVICE_ADD(_tag, K052109, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_K052109_GFXDECODE(_gfxtag) \
+ k052109_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/k053244_k053245.c b/src/mame/video/k053244_k053245.c
index a4b8e453dd4..27187a36ee5 100644
--- a/src/mame/video/k053244_k053245.c
+++ b/src/mame/video/k053244_k053245.c
@@ -49,11 +49,23 @@ k05324x_device::k05324x_device(const machine_config &mconfig, const char *tag, d
//m_regs[0x10],
m_rombank(0),
m_ramsize(0),
- m_z_rejection(0)
+ m_z_rejection(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void k05324x_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<k05324x_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -104,7 +116,7 @@ void k05324x_device::device_start()
{
case NORMAL_PLANE_ORDER:
total = machine().root_device().memregion(m_gfx_memory_region)->bytes() / 128;
- konami_decode_gfx(machine(), m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &spritelayout, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &spritelayout, 4);
break;
default:
@@ -120,7 +132,7 @@ void k05324x_device::device_start()
m_ramsize = 0x800;
m_z_rejection = -1;
- m_gfx = machine().gfx[m_gfx_num];
+ m_gfx = m_gfxdecode->gfx(m_gfx_num);
m_ram = auto_alloc_array_clear(machine(), UINT16, m_ramsize / 2);
m_buffer = auto_alloc_array_clear(machine(), UINT16, m_ramsize / 2);
@@ -701,7 +713,7 @@ void k05324x_device::k053245_sprites_draw_lethal( bitmap_ind16 &bitmap, const re
ox -= (zoomx * w) >> 13;
oy -= (zoomy * h) >> 13;
- drawmode_table[machine().gfx[0]->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
+ drawmode_table[m_gfxdecode->gfx(0)->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
for (y = 0; y < h; y++)
{
@@ -765,7 +777,7 @@ void k05324x_device::k053245_sprites_draw_lethal( bitmap_ind16 &bitmap, const re
if (zoomx == 0x10000 && zoomy == 0x10000)
{
- machine().gfx[0]->prio_transtable(bitmap,cliprect, /* hardcoded to 0 (decoded 6bpp gfx) for le */
+ m_gfxdecode->gfx(0)->prio_transtable(bitmap,cliprect, /* hardcoded to 0 (decoded 6bpp gfx) for le */
c,
color,
fx,fy,
@@ -775,7 +787,7 @@ void k05324x_device::k053245_sprites_draw_lethal( bitmap_ind16 &bitmap, const re
}
else
{
- machine().gfx[0]->prio_zoom_transtable(bitmap,cliprect, /* hardcoded to 0 (decoded 6bpp gfx) for le */
+ m_gfxdecode->gfx(0)->prio_zoom_transtable(bitmap,cliprect, /* hardcoded to 0 (decoded 6bpp gfx) for le */
c,
color,
fx,fy,
diff --git a/src/mame/video/k053244_k053245.h b/src/mame/video/k053244_k053245.h
index b2f4d4d0872..fdbd69e75a9 100644
--- a/src/mame/video/k053244_k053245.h
+++ b/src/mame/video/k053244_k053245.h
@@ -29,6 +29,9 @@ public:
k05324x_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k05324x_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_READ16_MEMBER( k053245_word_r );
DECLARE_WRITE16_MEMBER( k053245_word_w );
DECLARE_READ8_MEMBER( k053245_r );
@@ -64,6 +67,8 @@ private:
int m_ramsize;
int m_z_rejection;
+ required_device<gfxdecode_device> m_gfxdecode;
+
DECLARE_READ16_MEMBER( k053244_reg_word_r ); // OBJSET0 debug handler
};
@@ -79,10 +84,15 @@ extern const device_type K053244;
MCFG_DEVICE_ADD(_tag, K053244, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_K053244_GFXDECODE(_gfxtag) \
+ k05324x_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#define MCFG_K053245_ADD(_tag, _interface) \
MCFG_DEVICE_ADD(_tag, K053245, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_K053245_GFXDECODE(_gfxtag) \
+ k05324x_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
#endif
diff --git a/src/mame/video/k053246_k053247_k055673.c b/src/mame/video/k053246_k053247_k055673.c
index 557a3a48406..34b82720f3e 100644
--- a/src/mame/video/k053246_k053247_k055673.c
+++ b/src/mame/video/k053246_k053247_k055673.c
@@ -997,18 +997,30 @@ const device_type K053246 = &device_creator<k053247_device>;
k053247_device::k053247_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, K053246, "Konami 053246 & 053247", tag, owner, clock, "k053247", __FILE__),
- device_video_interface(mconfig, *this)
+ device_video_interface(mconfig, *this),
+ m_gfxdecode(*this)
{
clear_all();
}
k053247_device::k053247_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_video_interface(mconfig, *this)
+ device_video_interface(mconfig, *this),
+ m_gfxdecode(*this)
{
clear_all();
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void k053247_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<k053247_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
//-------------------------------------------------
// device_config_complete - perform any
@@ -1069,12 +1081,12 @@ void k053247_device::device_start()
{
case NORMAL_PLANE_ORDER:
total = machine().root_device().memregion(m_intf_gfx_memory_region)->bytes() / 128;
- konami_decode_gfx(machine(), m_intf_gfx_num, machine().root_device().memregion(m_intf_gfx_memory_region)->base(), total, &spritelayout, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_intf_gfx_num, machine().root_device().memregion(m_intf_gfx_memory_region)->base(), total, &spritelayout, 4);
break;
case TASMAN_PLANE_ORDER:
total = machine().root_device().memregion(m_intf_gfx_memory_region)->bytes() / 128;
- konami_decode_gfx(machine(), m_intf_gfx_num, machine().root_device().memregion(m_intf_gfx_memory_region)->base(), total, &tasman_16x16_layout, 4);
+ konami_decode_gfx(machine(), m_gfxdecode, m_intf_gfx_num, machine().root_device().memregion(m_intf_gfx_memory_region)->base(), total, &tasman_16x16_layout, 4);
break;
default:
@@ -1101,7 +1113,7 @@ void k053247_device::device_start()
m_dx = m_intf_dx;
m_dy = m_intf_dy;
m_memory_region = m_intf_gfx_memory_region;
- m_gfx = machine().gfx[m_intf_gfx_num];
+ m_gfx = m_gfxdecode->gfx(m_intf_gfx_num);
m_callback = m_intf_callback;
m_ram = auto_alloc_array_clear(machine(), UINT16, 0x1000 / 2);
@@ -1237,7 +1249,7 @@ void k053247_device::alt_k055673_vh_start(running_machine &machine, const char *
/* 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 (m_gfxdecode->gfx(gfx_index) == 0)
break;
assert(gfx_index != MAX_GFX_ELEMENTS);
@@ -1265,22 +1277,22 @@ void k053247_device::alt_k055673_vh_start(running_machine &machine, const char *
}
total = size4 / 128;
- konami_decode_gfx(machine, gfx_index, (UINT8 *)alt_k055673_rom, total, &spritelayout, 5);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, (UINT8 *)alt_k055673_rom, total, &spritelayout, 5);
break;
case K055673_LAYOUT_RNG:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (16*16/2);
- konami_decode_gfx(machine, gfx_index, (UINT8 *)alt_k055673_rom, total, &spritelayout2, 4);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, (UINT8 *)alt_k055673_rom, total, &spritelayout2, 4);
break;
case K055673_LAYOUT_LE2:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (16*16);
- konami_decode_gfx(machine, gfx_index, (UINT8 *)alt_k055673_rom, total, &spritelayout3, 8);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, (UINT8 *)alt_k055673_rom, total, &spritelayout3, 8);
break;
case K055673_LAYOUT_GX6:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (16*16*6/8);
- konami_decode_gfx(machine, gfx_index, (UINT8 *)alt_k055673_rom, total, &spritelayout4, 6);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, (UINT8 *)alt_k055673_rom, total, &spritelayout4, 6);
break;
default:
@@ -1294,7 +1306,7 @@ void k053247_device::alt_k055673_vh_start(running_machine &machine, const char *
m_dy = dy;
m_z_rejection = -1;
m_memory_region = gfx_memory_region;
- m_gfx = machine.gfx[gfx_index];
+ m_gfx = m_gfxdecode->gfx(gfx_index);
m_callback = callback;
m_objcha_line = CLEAR_LINE;
m_ram = auto_alloc_array(machine, UINT16, 0x1000/2);
diff --git a/src/mame/video/k053246_k053247_k055673.h b/src/mame/video/k053246_k053247_k055673.h
index 7c381139a6b..7d712fdb00c 100644
--- a/src/mame/video/k053246_k053247_k055673.h
+++ b/src/mame/video/k053246_k053247_k055673.h
@@ -62,6 +62,9 @@ public:
~k053247_device() { }
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
void clear_all();
DECLARE_READ16_MEMBER( k055673_rom_word_r );
@@ -113,7 +116,8 @@ public:
k05324x_callback m_callback;
const char *m_memory_region;
-
+ required_device<gfxdecode_device> m_gfxdecode;
+
/* alt implementation - to be collapsed */
void alt_k055673_vh_start(running_machine &machine, const char *gfx_memory_region, int alt_layout, int dx, int dy,
void (*callback)(running_machine &machine, int *code,int *color,int *priority));
@@ -498,6 +502,10 @@ extern const device_type K055673;
#define MCFG_K053246_SET_SCREEN MCFG_VIDEO_SET_SCREEN
+#define MCFG_K053246_GFXDECODE(_gfxtag) \
+ k053247_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
+
#define MCFG_K055673_ADD(_tag, _interface) \
MCFG_DEVICE_ADD(_tag, K055673, 0) \
MCFG_DEVICE_CONFIG(_interface)
@@ -507,6 +515,9 @@ extern const device_type K055673;
#define MCFG_K055673_SET_SCREEN MCFG_VIDEO_SET_SCREEN
+#define MCFG_K055673_GFXDECODE(_gfxtag) \
+ k055673_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
/* old non-device stuff */
diff --git a/src/mame/video/k054156_k054157_k056832.c b/src/mame/video/k054156_k054157_k056832.c
index d3b2b5d7144..c81ec1a0862 100644
--- a/src/mame/video/k054156_k054157_k056832.c
+++ b/src/mame/video/k054156_k054157_k056832.c
@@ -213,10 +213,21 @@ k056832_device::k056832_device(const machine_config &mconfig, const char *tag, d
m_use_ext_linescroll(0),
m_uses_tile_banks(0),
m_cur_tile_bank(0),
- m_k055555(0)
+ m_k055555(0),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void k056832_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<k056832_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
//-------------------------------------------------
// device_config_complete - perform any
@@ -538,7 +549,7 @@ void k056832_device::get_tile_info( tile_data &tileinfo, int tile_index, int pa
m_callback(machine(), layer, &code, &color, &flags);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_gfx_num,
code,
color,
@@ -1295,7 +1306,7 @@ int k056832_device::update_linemap( screen_device &screen, _BitmapClass &bitmap,
pixmap = m_pixmap[page];
pal_ptr = machine.pens;
- src_gfx = machine.gfx[m_gfx_num];
+ src_gfx = m_gfxdecode->gfx(m_gfx_num];
src_pitch = src_gfx->rowbytes();
src_modulo = src_gfx->char_modulo;
dst_pitch = pixmap->rowpixels;
@@ -1312,7 +1323,7 @@ int k056832_device::update_linemap( screen_device &screen, _BitmapClass &bitmap,
offs = line >> 5;
mask = 1 << (line & 0x1f);
if (!(dirty[offs] & mask)) continue;
- dirty[offs] ^= mask;
+ dirty[offs) ^= mask;
}
for (count = 0; count < LINE_WIDTH; count += 8)
@@ -2103,7 +2114,7 @@ void k056832_device::create_gfx(running_machine &machine, const char *gfx_memory
/* find first empty slot to decode gfx */
for (gfx_index = 0; gfx_index < MAX_GFX_ELEMENTS; gfx_index++)
{
- if (machine.gfx[gfx_index] == 0) break;
+ if (m_gfxdecode->gfx(gfx_index) == 0) break;
}
assert(gfx_index != MAX_GFX_ELEMENTS);
@@ -2115,44 +2126,44 @@ void k056832_device::create_gfx(running_machine &machine, const char *gfx_memory
{
case K056832_BPP_4:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (i*4);
- konami_decode_gfx(machine, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout4, 4);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout4, 4);
break;
case K056832_BPP_5:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (i*5);
- konami_decode_gfx(machine, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout5, 5);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout5, 5);
break;
case K056832_BPP_6:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (i*6);
- konami_decode_gfx(machine, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout6, 6);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout6, 6);
break;
case K056832_BPP_8:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (i*8);
- konami_decode_gfx(machine, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout8, 8);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout8, 8);
break;
case K056832_BPP_8LE:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (i*8);
- konami_decode_gfx(machine, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout8le, 8);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout8le, 8);
break;
case K056832_BPP_8TASMAN:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (i*8);
- konami_decode_gfx(machine, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout8_tasman, 8);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout8_tasman, 8);
break;
case K056832_BPP_4dj:
total = machine.root_device().memregion(gfx_memory_region)->bytes() / (i*4);
- konami_decode_gfx(machine, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout4dj, 4);
+ konami_decode_gfx(machine, m_gfxdecode, gfx_index, machine.root_device().memregion(gfx_memory_region)->base(), total, &charlayout4dj, 4);
break;
default:
fatalerror("Unsupported bpp\n");
}
- machine.gfx[gfx_index]->set_granularity(16); /* override */
+ m_gfxdecode->gfx(gfx_index)->set_granularity(16); /* override */
m_gfx_memory_region = gfx_memory_region;
m_gfx_num = gfx_index;
@@ -2251,7 +2262,7 @@ int k056832_device::altK056832_update_linemap(screen_device &screen, bitmap_rgb3
pixmap = m_pixmap[page];
pal_ptr = machine.pens;
- src_gfx = machine.gfx[m_gfx_num];
+ src_gfx = m_gfxdecode->gfx(m_gfx_num];
src_pitch = src_gfx->rowbytes();
src_modulo = src_gfx->char_modulo;
dst_pitch = pixmap->rowpixels;
@@ -2268,7 +2279,7 @@ int k056832_device::altK056832_update_linemap(screen_device &screen, bitmap_rgb3
offs = line >> 5;
mask = 1 << (line & 0x1f);
if (!(dirty[offs] & mask)) continue;
- dirty[offs] ^= mask;
+ dirty[offs) ^= mask;
}
for (count = 0; count < LINE_WIDTH; count+=8)
diff --git a/src/mame/video/k054156_k054157_k056832.h b/src/mame/video/k054156_k054157_k056832.h
index 7b79e5f662f..8cf90f8b9fe 100644
--- a/src/mame/video/k054156_k054157_k056832.h
+++ b/src/mame/video/k054156_k054157_k056832.h
@@ -59,6 +59,9 @@ public:
m_k055555 = 0;
}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
void SetExtLinescroll(); /* Lethal Enforcers */
DECLARE_READ16_MEMBER( ram_word_r );
@@ -215,7 +218,7 @@ private:
void create_tilemaps(running_machine &machine);
void finalize_init(running_machine &machine);
-
+ required_device<gfxdecode_device> m_gfxdecode;
public:
// todo: collapse these into above
@@ -239,6 +242,8 @@ extern const device_type K056832;
+#define MCFG_K056832_GFXDECODE(_gfxtag) \
+ k056832_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
diff --git a/src/mame/video/kan_panb.c b/src/mame/video/kan_panb.c
index dfaed585fc8..6913725d887 100644
--- a/src/mame/video/kan_panb.c
+++ b/src/mame/video/kan_panb.c
@@ -44,7 +44,7 @@ UINT32 snowbros_state::screen_update_honeydol(screen_device &screen, bitmap_ind1
sy = y;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tile,
tilecolour,
flipx, flipy,
@@ -78,7 +78,7 @@ UINT32 snowbros_state::screen_update_honeydol(screen_device &screen, bitmap_ind1
tilecolour = (tilecolour&0x03f0) >> 4;
tilecolour ^=0x3f; // unusual, but correct..
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
tile,
tilecolour,
flipx, flipy,
@@ -133,7 +133,7 @@ UINT32 snowbros_state::screen_update_twinadv(screen_device &screen, bitmap_ind16
tilecolour = (tilecolour&0x00f0) >> 4;
tilecolour ^=0xf; // unusual, but correct..
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
tile,
tilecolour,
flipx, flipy,
@@ -175,7 +175,7 @@ UINT32 snowbros_state::screen_update_wintbob(screen_device &screen, bitmap_ind16
if ((xpos > -16) && (ypos > 0) && (xpos < 256) && (ypos < 240) && (disbl !=2))
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
tilen,
colr,
flipx, flipy,
@@ -219,7 +219,7 @@ UINT32 snowbros_state::screen_update_snowbro3(screen_device &screen, bitmap_ind1
for (offs = 0;offs < m_bootleg_spriteram16.bytes()/2;offs += 8)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int dx = spriteram16[offs+4] & 0xff;
int dy = spriteram16[offs+5] & 0xff;
int tilecolour = spriteram16[offs+3];
@@ -259,7 +259,7 @@ UINT32 snowbros_state::screen_update_snowbro3(screen_device &screen, bitmap_ind1
if (offs < 0x800) /* i guess this is the right way */
{
- gfx = machine().gfx[1];
+ gfx = m_gfxdecode->gfx(1);
tilecolour = 0x10;
}
diff --git a/src/mame/video/kan_pand.c b/src/mame/video/kan_pand.c
index a5acd60b677..bbbab9b754c 100644
--- a/src/mame/video/kan_pand.c
+++ b/src/mame/video/kan_pand.c
@@ -54,11 +54,23 @@ const device_type KANEKO_PANDORA = &device_creator<kaneko_pandora_device>;
kaneko_pandora_device::kaneko_pandora_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, KANEKO_PANDORA, "Kaneko Pandora - PX79C480FP-3", tag, owner, clock, "kaneko_pandora", __FILE__),
- device_video_interface(mconfig, *this)
+ device_video_interface(mconfig, *this),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void kaneko_pandora_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<kaneko_pandora_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -211,7 +223,7 @@ void kaneko_pandora_device::draw( bitmap_ind16 &bitmap, const rectangle &cliprec
if (sy & 0x100)
sy -= 0x200;
- machine().gfx[m_gfx_region]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfx_region)->transpen(bitmap,cliprect,
tile,
(tilecolour & 0xf0) >> 4,
flipx, flipy,
diff --git a/src/mame/video/kan_pand.h b/src/mame/video/kan_pand.h
index 76be9f90504..c9ab639f868 100644
--- a/src/mame/video/kan_pand.h
+++ b/src/mame/video/kan_pand.h
@@ -28,6 +28,9 @@ public:
kaneko_pandora_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~kaneko_pandora_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_WRITE8_MEMBER ( spriteram_w );
DECLARE_READ8_MEMBER( spriteram_r );
DECLARE_WRITE16_MEMBER( spriteram_LSB_w );
@@ -51,6 +54,7 @@ private:
bitmap_ind16 *m_sprites_bitmap; /* bitmap to render sprites to, Pandora seems to be frame'buffered' */
int m_clear_bitmap;
int m_bg_pen; // might work some other way..
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type KANEKO_PANDORA;
@@ -64,5 +68,7 @@ extern const device_type KANEKO_PANDORA;
MCFG_DEVICE_ADD(_tag, KANEKO_PANDORA, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_KANEKO_PANDORA_GFXDECODE(_gfxtag) \
+ kaneko_pandora_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
#endif /* __KAN_PAND_H__ */
diff --git a/src/mame/video/kaneko_spr.c b/src/mame/video/kaneko_spr.c
index 06307645beb..34387beb3d4 100644
--- a/src/mame/video/kaneko_spr.c
+++ b/src/mame/video/kaneko_spr.c
@@ -31,7 +31,8 @@ const device_type KANEKO_KC002_SPRITE = &device_creator<kaneko_kc002_sprite_devi
kaneko16_sprite_device::kaneko16_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock, device_type type)
: device_t(mconfig, type, "kaneko16_sprite_device", tag, owner, clock, "kaneko16_sprite", __FILE__),
- device_video_interface(mconfig, *this)
+ device_video_interface(mconfig, *this),
+ m_gfxdecode(*this)
{
m_keep_sprites = 0; // default disabled for games not using it
@@ -57,6 +58,15 @@ kaneko16_sprite_device::kaneko16_sprite_device(const machine_config &mconfig, co
m_priority.sprite[3] = 8; // above all
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void kaneko16_sprite_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<kaneko16_sprite_device &>(device).m_gfxdecode.set_tag(tag);
+}
void kaneko16_sprite_device::device_start()
{
@@ -429,7 +439,7 @@ void kaneko16_sprite_device::kaneko16_draw_sprites(running_machine &machine, bit
UINT32 primask = m_priority.sprite[curr_pri];
kaneko16_draw_sprites_custom(
- bitmap,cliprect,machine.gfx[0],
+ bitmap,cliprect,m_gfxdecode->gfx(0),
s->code,
s->color,
s->flipx, s->flipy,
diff --git a/src/mame/video/kaneko_spr.h b/src/mame/video/kaneko_spr.h
index 47a0b890125..a9d5a25cc1d 100644
--- a/src/mame/video/kaneko_spr.h
+++ b/src/mame/video/kaneko_spr.h
@@ -31,6 +31,8 @@ class kaneko16_sprite_device : public device_t,
public:
kaneko16_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock, device_type type);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void set_altspacing(device_t &device, int spacing);
static void set_fliptype(device_t &device, int fliptype);
static void set_offsets(device_t &device, int xoffs, int yoffs);
@@ -88,12 +90,15 @@ private:
int kaneko16_parse_sprite_type012(running_machine &machine, int i, struct tempsprite *s, UINT16* spriteram16, int spriteram16_bytes);
-
+ required_device<gfxdecode_device> m_gfxdecode;
};
//extern const device_type KANEKO16_SPRITE;
+#define MCFG_KANEKO16_SPRITE_GFXDECODE(_gfxtag) \
+ kaneko16_sprite_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
class kaneko_vu002_sprite_device : public kaneko16_sprite_device
{
diff --git a/src/mame/video/kaneko_tmap.c b/src/mame/video/kaneko_tmap.c
index 93b5cb7a120..5f2e9f7cfd2 100644
--- a/src/mame/video/kaneko_tmap.c
+++ b/src/mame/video/kaneko_tmap.c
@@ -95,11 +95,21 @@ There are more!
const device_type KANEKO_TMAP = &device_creator<kaneko_view2_tilemap_device>;
kaneko_view2_tilemap_device::kaneko_view2_tilemap_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, KANEKO_TMAP, "kaneko_view2_tilemap_device", tag, owner, clock, "kaneko_view2_tilemap", __FILE__)
+ : device_t(mconfig, KANEKO_TMAP, "kaneko_view2_tilemap_device", tag, owner, clock, "kaneko_view2_tilemap", __FILE__),
+ m_gfxdecode(*this)
{
m_invert_flip = 0;
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void kaneko_view2_tilemap_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<kaneko_view2_tilemap_device &>(device).m_gfxdecode.set_tag(tag);
+}
void kaneko_view2_tilemap_device::set_gfx_region(device_t &device, int region)
{
@@ -126,7 +136,7 @@ void kaneko_view2_tilemap_device::get_tile_info(tile_data &tileinfo, tilemap_mem
{
UINT16 code_hi = m_vram[_N_][ 2 * tile_index + 0];
UINT16 code_lo = m_vram[_N_][ 2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(m_tilebase, code_lo + m_vram_tile_addition[_N_], (code_hi >> 2) & 0x3f, TILE_FLIPXY( code_hi & 3 ));
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, m_tilebase, code_lo + m_vram_tile_addition[_N_], (code_hi >> 2) & 0x3f, TILE_FLIPXY( code_hi & 3 ));
tileinfo.category = (code_hi >> 8) & 7;
}
diff --git a/src/mame/video/kaneko_tmap.h b/src/mame/video/kaneko_tmap.h
index 4acf75d4ba6..2dd5ee047ab 100644
--- a/src/mame/video/kaneko_tmap.h
+++ b/src/mame/video/kaneko_tmap.h
@@ -5,7 +5,8 @@ class kaneko_view2_tilemap_device : public device_t
public:
kaneko_view2_tilemap_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- // used to set values when creating device
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void set_gfx_region(device_t &device, int region);
static void set_offset(device_t &device, int dx, int dy, int xdim, int ydim);
static void set_invert_flip(device_t &device, int invert_flip); // for fantasia (bootleg)
@@ -60,7 +61,11 @@ protected:
private:
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type KANEKO_TMAP;
+
+#define MCFG_KANEKO_TMAP_GFXDECODE(_gfxtag) \
+ kaneko_view2_tilemap_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
diff --git a/src/mame/video/karnov.c b/src/mame/video/karnov.c
index a876e59c060..290b0d576e0 100644
--- a/src/mame/video/karnov.c
+++ b/src/mame/video/karnov.c
@@ -99,10 +99,10 @@ void karnov_state::draw_background( bitmap_ind16 &bitmap, const rectangle &clipr
color = tile >> 12;
tile = tile & 0x7ff;
if (m_flipscreen)
- machine().gfx[1]->opaque(*m_bitmap_f,m_bitmap_f->cliprect(),tile,
+ m_gfxdecode->gfx(1)->opaque(*m_bitmap_f,m_bitmap_f->cliprect(),tile,
color, fx, fy, 496-16*mx,496-16*my);
else
- machine().gfx[1]->opaque(*m_bitmap_f,m_bitmap_f->cliprect(),tile,
+ m_gfxdecode->gfx(1)->opaque(*m_bitmap_f,m_bitmap_f->cliprect(),tile,
color, fx, fy, 16*mx,16*my);
}
@@ -135,7 +135,7 @@ UINT32 karnov_state::screen_update_karnov(screen_device &screen, bitmap_ind16 &b
TILE_GET_INFO_MEMBER(karnov_state::get_fix_tile_info)
{
int tile = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile&0xfff,
tile>>14,
diff --git a/src/mame/video/kchamp.c b/src/mame/video/kchamp.c
index 0a8f66d074b..ec8e57ec7c0 100644
--- a/src/mame/video/kchamp.c
+++ b/src/mame/video/kchamp.c
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(kchamp_state::get_bg_tile_info)
int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 7) << 8);
int color = (m_colorram[tile_index] >> 3) & 0x1f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void kchamp_state::video_start()
@@ -89,7 +89,7 @@ void kchamp_state::kchamp_draw_sprites( bitmap_ind16 &bitmap, const rectangle &c
flipy = !flipy;
}
- machine().gfx[bank]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(bank)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
}
}
@@ -117,7 +117,7 @@ void kchamp_state::kchampvs_draw_sprites( bitmap_ind16 &bitmap, const rectangle
flipy = !flipy;
}
- machine().gfx[bank]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(bank)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 0);
}
}
diff --git a/src/mame/video/kickgoal.c b/src/mame/video/kickgoal.c
index d31ebcd1477..25e143f3963 100644
--- a/src/mame/video/kickgoal.c
+++ b/src/mame/video/kickgoal.c
@@ -28,7 +28,7 @@ TILE_GET_INFO_MEMBER(kickgoal_state::get_kickgoal_fg_tile_info)
int tileno = m_fgram[tile_index * 2] & 0x0fff;
int color = m_fgram[tile_index * 2 + 1] & 0x000f;
- SET_TILE_INFO_MEMBER(0, tileno + m_fg_base, color + 0x00, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno + m_fg_base, color + 0x00, 0);
}
/* BG */
@@ -39,7 +39,7 @@ TILE_GET_INFO_MEMBER(kickgoal_state::get_kickgoal_bg_tile_info)
int flipx = m_bgram[tile_index * 2 + 1] & 0x0020;
int flipy = m_bgram[tile_index * 2 + 1] & 0x0040;
- SET_TILE_INFO_MEMBER(1, tileno + m_bg_base, color + 0x10, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno + m_bg_base, color + 0x10, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
}
/* BG 2 */
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(kickgoal_state::get_kickgoal_bg2_tile_info)
int flipx = m_bg2ram[tile_index * 2 + 1] & 0x0020;
int flipy = m_bg2ram[tile_index * 2 + 1] & 0x0040;
- SET_TILE_INFO_MEMBER(m_bg2_region, tileno + m_bg2_base, color + 0x20, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_bg2_region, tileno + m_bg2_base, color + 0x20, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
}
@@ -91,7 +91,7 @@ TILEMAP_MAPPER_MEMBER(kickgoal_state::tilemap_scan_actionhwbg2)// 32x32 tiles
void kickgoal_state::kickgoal_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
{
UINT16 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
int offs;
for (offs = 0; offs < m_spriteram.bytes() / 2; offs += 4)
diff --git a/src/mame/video/kingobox.c b/src/mame/video/kingobox.c
index 20f2aa9ad0b..cbe95d05398 100644
--- a/src/mame/video/kingobox.c
+++ b/src/mame/video/kingobox.c
@@ -181,7 +181,7 @@ TILE_GET_INFO_MEMBER(kingofb_state::get_bg_tile_info)
int code = (tile_index / 16) ? m_videoram[tile_index] + ((attr & 0x03) << 8) : 0;
int color = ((attr & 0x70) >> 4) + 8 * m_palette_bank;
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
TILE_GET_INFO_MEMBER(kingofb_state::get_fg_tile_info)
@@ -191,7 +191,7 @@ TILE_GET_INFO_MEMBER(kingofb_state::get_fg_tile_info)
int code = m_videoram2[tile_index] + ((attr & 0x01) << 8);
int color = (attr & 0x38) >> 3;
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
VIDEO_START_MEMBER(kingofb_state,kingofb)
@@ -232,7 +232,7 @@ void kingofb_state::kingofb_draw_sprites(bitmap_ind16 &bitmap, const rectangle &
flipy = !flipy;
}
- machine().gfx[2 + bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2 + bank)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
@@ -255,7 +255,7 @@ TILE_GET_INFO_MEMBER(kingofb_state::ringking_get_bg_tile_info)
int code = (tile_index / 16) ? m_videoram[tile_index] : 0;
int color = ((m_colorram[tile_index] & 0x70) >> 4) + 8 * m_palette_bank;
- SET_TILE_INFO_MEMBER(4, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4, code, color, 0);
}
VIDEO_START_MEMBER(kingofb_state,ringking)
@@ -289,7 +289,7 @@ void kingofb_state::ringking_draw_sprites( bitmap_ind16 &bitmap, const rectangle
flipy = !flipy;
}
- machine().gfx[2 + bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2 + bank)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
diff --git a/src/mame/video/klax.c b/src/mame/video/klax.c
index d9369f7e507..4a214fb1d91 100644
--- a/src/mame/video/klax.c
+++ b/src/mame/video/klax.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(klax_state::get_playfield_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) >> 8;
int code = data1 & 0x1fff;
int color = data2 & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
}
diff --git a/src/mame/video/kncljoe.c b/src/mame/video/kncljoe.c
index d7b735c929d..fbde4501716 100644
--- a/src/mame/video/kncljoe.c
+++ b/src/mame/video/kncljoe.c
@@ -86,7 +86,7 @@ TILE_GET_INFO_MEMBER(kncljoe_state::get_bg_tile_info)
int attr = m_videoram[2 * tile_index + 1];
int code = m_videoram[2 * tile_index] + ((attr & 0xc0) << 2) + (m_tile_bank << 10);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
attr & 0xf,
@@ -180,7 +180,7 @@ void kncljoe_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
{
UINT8 *spriteram = m_spriteram;
rectangle clip = cliprect;
- gfx_element *gfx = machine().gfx[1 + m_sprite_bank];
+ gfx_element *gfx = m_gfxdecode->gfx(1 + m_sprite_bank);
int i, j;
static const int pribase[4]={0x0180, 0x0080, 0x0100, 0x0000};
const rectangle &visarea = m_screen->visible_area();
diff --git a/src/mame/video/konami_helper.c b/src/mame/video/konami_helper.c
index 3d87dc9d8fa..fb267c0711d 100644
--- a/src/mame/video/konami_helper.c
+++ b/src/mame/video/konami_helper.c
@@ -76,13 +76,13 @@ void konamid_rom_deinterleave_4(running_machine &machine, const char *mem_region
}
-void konami_decode_gfx(running_machine &machine, int gfx_index, UINT8 *data, UINT32 total, const gfx_layout *layout, int bpp)
+void konami_decode_gfx(running_machine &machine, gfxdecode_device * gfxdecode, int gfx_index, UINT8 *data, UINT32 total, const gfx_layout *layout, int bpp)
{
gfx_layout gl;
memcpy(&gl, layout, sizeof(gl));
gl.total = total;
- machine.gfx[gfx_index] = auto_alloc(machine, gfx_element(machine, gl, data, machine.total_colors() >> bpp, 0));
+ gfxdecode->set_gfx(gfx_index, auto_alloc(machine, gfx_element(machine, gl, data, machine.total_colors() >> bpp, 0)));
}
diff --git a/src/mame/video/konami_helper.h b/src/mame/video/konami_helper.h
index 3b599be339b..4a411e4fc91 100644
--- a/src/mame/video/konami_helper.h
+++ b/src/mame/video/konami_helper.h
@@ -25,7 +25,7 @@ void konamid_rom_deinterleave_2_half(running_machine &machine, const char *mem_r
void konamid_rom_deinterleave_4(running_machine &machine, const char *mem_region);
-void konami_decode_gfx(running_machine &machine, int gfx_index, UINT8 *data, UINT32 total, const gfx_layout *layout, int bpp);
+void konami_decode_gfx(running_machine &machine, gfxdecode_device * gfxdecode, int gfx_index, UINT8 *data, UINT32 total, const gfx_layout *layout, int bpp);
void konami_deinterleave_gfx(running_machine &machine, const char *gfx_memory_region, int deinterleave);
/* helper function to sort three tile layers by priority order */
diff --git a/src/mame/video/konamigx.c b/src/mame/video/konamigx.c
index 9246a48ece4..34f06c9b050 100644
--- a/src/mame/video/konamigx.c
+++ b/src/mame/video/konamigx.c
@@ -992,7 +992,7 @@ TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac_tile_info)
colour = (psac_colorbase << 4) + col;
- SET_TILE_INFO_MEMBER(0, tileno, colour, TILE_FLIPYX(flip));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour, TILE_FLIPYX(flip));
}
static int konamigx_type3_psac2_actual_bank;
@@ -1035,7 +1035,7 @@ TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac3_tile_info)
if (tmap[(base_index*2)+1] & 0x20) flip |= TILE_FLIPY;
if (tmap[(base_index*2)+1] & 0x10) flip |= TILE_FLIPX;
- SET_TILE_INFO_MEMBER(0, tileno, colour, flip);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour, flip);
}
TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac3_alt_tile_info)
@@ -1056,7 +1056,7 @@ TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac3_alt_tile_info)
if (tmap[(base_index*2)+1] & 0x20) flip |= TILE_FLIPY;
if (tmap[(base_index*2)+1] & 0x10) flip |= TILE_FLIPX;
- SET_TILE_INFO_MEMBER(0, tileno, colour, flip);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour, flip);
}
@@ -1082,7 +1082,7 @@ TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac1a_tile_info)
if (flipx) flip |= TILE_FLIPX;
if (flipy) flip |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(1, tileno, colour, flip);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, colour, flip);
}
TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac1b_tile_info)
@@ -1104,7 +1104,7 @@ TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac1b_tile_info)
if (flipx) flip |= TILE_FLIPX;
if (flipy) flip |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(0, tileno, colour, flip);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour, flip);
}
static void konamigx_type2_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags)
diff --git a/src/mame/video/kopunch.c b/src/mame/video/kopunch.c
index 07a262f7307..a5791edfd7b 100644
--- a/src/mame/video/kopunch.c
+++ b/src/mame/video/kopunch.c
@@ -70,14 +70,14 @@ TILE_GET_INFO_MEMBER(kopunch_state::get_fg_tile_info)
{
int code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
TILE_GET_INFO_MEMBER(kopunch_state::get_bg_tile_info)
{
int code = (m_videoram2[tile_index] & 0x7f) + 128 * m_gfxbank;
- SET_TILE_INFO_MEMBER(1, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, 0);
}
void kopunch_state::video_start()
diff --git a/src/mame/video/ksayakyu.c b/src/mame/video/ksayakyu.c
index 03d82dd46cb..b6fc906a862 100644
--- a/src/mame/video/ksayakyu.c
+++ b/src/mame/video/ksayakyu.c
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(ksayakyu_state::get_ksayakyu_tile_info)
int code = memregion("user1")->base()[tile_index];
int attr = memregion("user1")->base()[tile_index + 0x2000];
code += (attr & 3) << 8;
- SET_TILE_INFO_MEMBER(1, code, ((attr >> 2) & 0x0f) * 2, (attr & 0x80) ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, ((attr >> 2) & 0x0f) * 2, (attr & 0x80) ? TILE_FLIPX : 0);
}
/*
@@ -67,7 +67,7 @@ TILE_GET_INFO_MEMBER(ksayakyu_state::get_text_tile_info)
code |= (attr & 3) << 8;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
/*
@@ -92,7 +92,7 @@ void ksayakyu_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
int flipx = (tile & 0x80) ? 1 : 0;
int flipy = 0;
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
if (m_flipscreen)
{
diff --git a/src/mame/video/kyugo.c b/src/mame/video/kyugo.c
index 7cddf3ccf90..d7c77bc8913 100644
--- a/src/mame/video/kyugo.c
+++ b/src/mame/video/kyugo.c
@@ -17,7 +17,7 @@
TILE_GET_INFO_MEMBER(kyugo_state::get_fg_tile_info)
{
int code = m_fgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
code,
2 * m_color_codes[code >> 3] + m_fgcolor,
0);
@@ -28,7 +28,7 @@ TILE_GET_INFO_MEMBER(kyugo_state::get_bg_tile_info)
{
int code = m_bgvideoram[tile_index];
int attr = m_bgattribram[tile_index];
- SET_TILE_INFO_MEMBER(1,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,
code | ((attr & 0x03) << 8),
(attr >> 4) | (m_bgpalbank << 4),
TILE_FLIPYX((attr & 0x0c) >> 2));
@@ -190,7 +190,7 @@ void kyugo_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/labyrunr.c b/src/mame/video/labyrunr.c
index bddcc37fa8d..61ce0ce04b8 100644
--- a/src/mame/video/labyrunr.c
+++ b/src/mame/video/labyrunr.c
@@ -85,7 +85,7 @@ TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info0)
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + bank * 256,
((ctrl_6 & 0x30) * 2 + 16)+(attr & 7),
@@ -114,7 +114,7 @@ TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info1)
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code+bank*256,
((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
@@ -208,7 +208,7 @@ UINT32 labyrunr_state::screen_update_labyrunr(screen_device &screen, bitmap_ind1
}
m_layer0->draw(screen, bitmap, finalclip0, TILEMAP_DRAW_OPAQUE, 0);
- m_k007121->sprites_draw(bitmap, cliprect, machine().gfx[0], machine().colortable, m_spriteram,(m_k007121->ctrlram_r(space, 6) & 0x30) * 2, 40,0,screen.priority(),(m_k007121->ctrlram_r(space, 3) & 0x40) >> 5);
+ m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), machine().colortable, m_spriteram,(m_k007121->ctrlram_r(space, 6) & 0x30) * 2, 40,0,screen.priority(),(m_k007121->ctrlram_r(space, 3) & 0x40) >> 5);
/* we ignore the transparency because layer1 is drawn only at the top of the screen also covering sprites */
m_layer1->draw(screen, bitmap, finalclip1, TILEMAP_DRAW_OPAQUE, 0);
}
@@ -278,7 +278,7 @@ UINT32 labyrunr_state::screen_update_labyrunr(screen_device &screen, bitmap_ind1
if(use_clip3[1])
m_layer1->draw(screen, bitmap, finalclip3, 0, 1);
- m_k007121->sprites_draw(bitmap, cliprect, machine().gfx[0], machine().colortable, m_spriteram, (m_k007121->ctrlram_r(space, 6) & 0x30) * 2,40,0,screen.priority(),(m_k007121->ctrlram_r(space, 3) & 0x40) >> 5);
+ m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), machine().colortable, m_spriteram, (m_k007121->ctrlram_r(space, 6) & 0x30) * 2,40,0,screen.priority(),(m_k007121->ctrlram_r(space, 3) & 0x40) >> 5);
}
return 0;
}
diff --git a/src/mame/video/ladybug.c b/src/mame/video/ladybug.c
index 084e8b34dd8..a067d08103a 100644
--- a/src/mame/video/ladybug.c
+++ b/src/mame/video/ladybug.c
@@ -191,18 +191,18 @@ TILE_GET_INFO_MEMBER(ladybug_state::get_bg_tile_info)
int code = m_videoram[tile_index] + 32 * (m_colorram[tile_index] & 0x08);
int color = m_colorram[tile_index] & 0x07;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(ladybug_state::get_grid_tile_info)
{
if (tile_index < 512)
- SET_TILE_INFO_MEMBER(3, tile_index, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, tile_index, 0, 0);
else
{
int temp = tile_index / 32;
tile_index = (31 - temp) * 32 + (tile_index % 32);
- SET_TILE_INFO_MEMBER(4, tile_index, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4, tile_index, 0, 0);
}
}
@@ -256,14 +256,14 @@ void ladybug_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
if (spriteram[offs + i] & 0x80)
{
if (spriteram[offs + i] & 0x40) /* 16x16 */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
(spriteram[offs + i + 1] >> 2) + 4 * (spriteram[offs + i + 2] & 0x10),
spriteram[offs + i + 2] & 0x0f,
spriteram[offs + i] & 0x20,spriteram[offs + i] & 0x10,
spriteram[offs + i + 3],
offs / 4 - 8 + (spriteram[offs + i] & 0x0f),0);
else /* 8x8 */
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
spriteram[offs + i + 1] + 16 * (spriteram[offs + i + 2] & 0x10),
spriteram[offs + i + 2] & 0x0f,
spriteram[offs + i] & 0x20,spriteram[offs + i] & 0x10,
diff --git a/src/mame/video/ladyfrog.c b/src/mame/video/ladyfrog.c
index 4abd72cc75e..95f4cc57565 100644
--- a/src/mame/video/ladyfrog.c
+++ b/src/mame/video/ladyfrog.c
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(ladyfrog_state::get_tile_info)
{
int pal = m_videoram[tile_index * 2 + 1] & 0x0f;
int tile = m_videoram[tile_index * 2] + ((m_videoram[tile_index * 2 + 1] & 0xc0) << 2)+ ((m_videoram[tile_index * 2 + 1] & 0x30) << 6);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile + 0x1000 * m_tilebank,
pal,TILE_FLIPY
@@ -104,7 +104,7 @@ void ladyfrog_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
sy = 238 - m_spriteram[offs + 0];
flipx = ((m_spriteram[offs + 1] & 0x40)>>6);
flipy = ((m_spriteram[offs + 1] & 0x80)>>7);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
pal,
flipx,flipy,
@@ -113,7 +113,7 @@ void ladyfrog_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
if (m_spriteram[offs + 3] > 240)
{
sx = (m_spriteram[offs + 3] - 256);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
pal,
flipx,flipy,
diff --git a/src/mame/video/lasso.c b/src/mame/video/lasso.c
index 248db5be3be..7cfd38e901d 100644
--- a/src/mame/video/lasso.c
+++ b/src/mame/video/lasso.c
@@ -126,7 +126,7 @@ TILE_GET_INFO_MEMBER(lasso_state::lasso_get_bg_tile_info)
int code = m_videoram[tile_index];
int color = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
code + ((UINT16)m_gfxbank << 8),
color & 0x0f,
0);
@@ -138,7 +138,7 @@ TILE_GET_INFO_MEMBER(lasso_state::wwjgtin_get_track_tile_info)
int code = ROM[tile_index];
int color = ROM[tile_index + 0x2000];
- SET_TILE_INFO_MEMBER(2,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,
code,
color & 0x0f,
0);
@@ -149,7 +149,7 @@ TILE_GET_INFO_MEMBER(lasso_state::pinbo_get_bg_tile_info)
int code = m_videoram[tile_index];
int color = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
code + ((color & 0x30) << 4),
color & 0x0f,
0);
@@ -301,7 +301,7 @@ void lasso_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect,
code = source[1] & 0x3f;
color = source[2] & 0x0f;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code | ((UINT16)m_gfxbank << 6),
color,
flipx, flipy,
diff --git a/src/mame/video/lastduel.c b/src/mame/video/lastduel.c
index 962c0778d72..52f9e6596c7 100644
--- a/src/mame/video/lastduel.c
+++ b/src/mame/video/lastduel.c
@@ -20,7 +20,7 @@ TILE_GET_INFO_MEMBER(lastduel_state::ld_get_bg_tile_info)
{
int tile = m_scroll2[2 * tile_index] & 0x1fff;
int color = m_scroll2[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile,color & 0xf,
TILE_FLIPYX((color & 0x60) >> 5));
@@ -30,7 +30,7 @@ TILE_GET_INFO_MEMBER(lastduel_state::ld_get_fg_tile_info)
{
int tile = m_scroll1[2 * tile_index] & 0x1fff;
int color = m_scroll1[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
tile,
color & 0xf,
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(lastduel_state::get_bg_tile_info)
{
int tile = m_scroll2[tile_index] & 0x1fff;
int color = m_scroll2[tile_index + 0x0800];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile,
color & 0xf,
@@ -53,7 +53,7 @@ TILE_GET_INFO_MEMBER(lastduel_state::get_fg_tile_info)
{
int tile = m_scroll1[tile_index] & 0x1fff;
int color = m_scroll1[tile_index + 0x0800];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
tile,
color & 0xf,
@@ -64,7 +64,7 @@ TILE_GET_INFO_MEMBER(lastduel_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(lastduel_state::get_fix_info)
{
int tile = m_vram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile & 0x7ff,
tile>>12,
@@ -238,7 +238,7 @@ void lastduel_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/lazercmd.c b/src/mame/video/lazercmd.c
index a63520d69f3..f3a2f1e816c 100644
--- a/src/mame/video/lazercmd.c
+++ b/src/mame/video/lazercmd.c
@@ -67,7 +67,7 @@ UINT32 lazercmd_state::screen_update_lazercmd(screen_device &screen, bitmap_ind1
sx *= HORZ_CHR;
sy *= VERT_CHR;
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
m_videoram[i], video_inverted ? 1 : 0,
0,0,
sx,sy);
diff --git a/src/mame/video/legionna.c b/src/mame/video/legionna.c
index 0631c0ac0e7..afe343dc206 100644
--- a/src/mame/video/legionna.c
+++ b/src/mame/video/legionna.c
@@ -72,7 +72,7 @@ TILE_GET_INFO_MEMBER(legionna_state::get_back_tile_info)
tile &= 0xfff;
tile |= m_back_gfx_bank; /* Heatbrl uses banking */
- SET_TILE_INFO_MEMBER(1,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tile,color,0);
}
TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info)
@@ -82,7 +82,7 @@ TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(5,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 5,tile,color,0);
}
TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info_denji)
@@ -93,7 +93,7 @@ TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info_denji)
tile &= 0xfff;
tile |= m_mid_gfx_bank;
- SET_TILE_INFO_MEMBER(5,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 5,tile,color,0);
}
TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info_cupsoc)
@@ -106,7 +106,7 @@ TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info_cupsoc)
tile |= 0x1000;
color += 0x10;
- SET_TILE_INFO_MEMBER(1,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tile,color,0);
}
TILE_GET_INFO_MEMBER(legionna_state::get_fore_tile_info)/* this is giving bad tiles... */
@@ -117,7 +117,7 @@ TILE_GET_INFO_MEMBER(legionna_state::get_fore_tile_info)/* this is giving bad ti
// legionnaire tile numbers / gfx set wrong, see screen after coin insertion
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(4,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4,tile,color,0);
}
TILE_GET_INFO_MEMBER(legionna_state::get_fore_tile_info_denji)
@@ -128,7 +128,7 @@ TILE_GET_INFO_MEMBER(legionna_state::get_fore_tile_info_denji)
tile &= 0xfff;
tile |= m_fore_gfx_bank;
- SET_TILE_INFO_MEMBER(4,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4,tile,color,0);
}
TILE_GET_INFO_MEMBER(legionna_state::get_text_tile_info)
@@ -138,7 +138,7 @@ TILE_GET_INFO_MEMBER(legionna_state::get_text_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tile,color,0);
}
VIDEO_START_MEMBER(legionna_state,legionna)
@@ -359,7 +359,7 @@ void legionna_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++)
{
- machine().gfx[3]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen(bitmap,cliprect,
sprite++,
color,fx,fy,(x+ax*16)+m_sprite_xoffs,y+ay*16+m_sprite_yoffs,
screen.priority(),pri_mask, 15);
@@ -370,7 +370,7 @@ void legionna_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++)
{
- machine().gfx[3]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen(bitmap,cliprect,
sprite++,
color,fx,fy,(x+ax*16)+m_sprite_xoffs,y+(dy-ay-1)*16+m_sprite_yoffs,
screen.priority(),pri_mask,15);
@@ -384,7 +384,7 @@ void legionna_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++)
{
- machine().gfx[3]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen(bitmap,cliprect,
sprite++,
color,fx,fy,(x+(dx-ax-1)*16)+m_sprite_xoffs,y+ay*16+m_sprite_yoffs,
screen.priority(),pri_mask,15);
@@ -395,7 +395,7 @@ void legionna_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
for (ax=0; ax<dx; ax++)
for (ay=0; ay<dy; ay++)
{
- machine().gfx[3]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen(bitmap,cliprect,
sprite++,
color,fx,fy,(x+(dx-ax-1)*16)+m_sprite_xoffs,y+(dy-ay-1)*16+m_sprite_yoffs,
screen.priority(),pri_mask, 15);
diff --git a/src/mame/video/lemmings.c b/src/mame/video/lemmings.c
index a473f5f17c3..7dfd7887cdb 100644
--- a/src/mame/video/lemmings.c
+++ b/src/mame/video/lemmings.c
@@ -22,7 +22,7 @@ TILE_GET_INFO_MEMBER(lemmings_state::get_tile_info)
{
UINT16 tile = m_vram_data[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile&0x7ff,
(tile>>12)&0xf,
@@ -36,7 +36,7 @@ void lemmings_state::video_start()
m_vram_tilemap->set_transparent_pen(0);
m_bitmap0.fill(0x100);
- machine().gfx[2]->set_source(m_vram_buffer);
+ m_gfxdecode->gfx(2)->set_source(m_vram_buffer);
m_sprgen->alloc_sprite_bitmap();
m_sprgen2->alloc_sprite_bitmap();
@@ -93,7 +93,7 @@ WRITE16_MEMBER(lemmings_state::lemmings_pixel_1_w)
/* Copy pixel to buffer for easier decoding later */
tile = ((sx / 8) * 32) + (sy / 8);
- machine().gfx[2]->mark_dirty(tile);
+ m_gfxdecode->gfx(2)->mark_dirty(tile);
m_vram_buffer[(tile * 64) + ((sx & 7)) + ((sy & 7) * 8)] = (src >> 8) & 0xf;
sx += 1; /* Update both pixels in the word */
diff --git a/src/mame/video/liberate.c b/src/mame/video/liberate.c
index f4d1788b62d..b2129a6faee 100644
--- a/src/mame/video/liberate.c
+++ b/src/mame/video/liberate.c
@@ -64,7 +64,7 @@ TILE_GET_INFO_MEMBER(liberate_state::get_back_tile_info)
bank = 3;
else
bank = 2;
- SET_TILE_INFO_MEMBER(bank, tile & 0x7f, m_background_color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, tile & 0x7f, m_background_color, 0);
}
TILE_GET_INFO_MEMBER(liberate_state::get_fix_tile_info)
@@ -76,7 +76,7 @@ TILE_GET_INFO_MEMBER(liberate_state::get_fix_tile_info)
tile = videoram[tile_index] + (colorram[tile_index] << 8);
color = (colorram[tile_index] & 0x70) >> 4;
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
}
TILE_GET_INFO_MEMBER(liberate_state::prosport_get_back_tile_info)
@@ -95,7 +95,7 @@ TILE_GET_INFO_MEMBER(liberate_state::prosport_get_back_tile_info)
tile += m_io_ram[0]&0x20; //Pro Bowling bg tiles banking bit
- SET_TILE_INFO_MEMBER(8, tile, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 8, tile, 0, 0);
}
/***************************************************************************/
@@ -332,13 +332,13 @@ void liberate_state::liberate_draw_sprites( bitmap_ind16 &bitmap, const rectangl
sy2 = sy + 16;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
fx,fy,
sx,sy,0);
if (multi)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code+1,
color,
fx,fy,
@@ -396,13 +396,13 @@ void liberate_state::prosport_draw_sprites( bitmap_ind16 &bitmap, const rectangl
sy2 = sy + 16;
}
- machine().gfx[gfx_region]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx_region)->transpen(bitmap,cliprect,
code,
color,
fx,fy,
sx,sy,0);
if (multi)
- machine().gfx[gfx_region]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx_region)->transpen(bitmap,cliprect,
code2,
color,
fx,fy,
@@ -456,13 +456,13 @@ void liberate_state::boomrang_draw_sprites( bitmap_ind16 &bitmap, const rectangl
sy2 = sy + 16;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
fx,fy,
sx,sy,0);
if (multi)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code2,
color,
fx,fy,
@@ -486,7 +486,7 @@ void liberate_state::prosoccr_draw_sprites( bitmap_ind16 &bitmap, const rectangl
fx = spriteram[offs + 0] & 4;
fy = spriteram[offs + 0] & 2;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
0,
fx,fy,
@@ -546,7 +546,7 @@ UINT32 liberate_state::screen_update_prosport(screen_device &screen, bitmap_ind1
my = (offs) % 32;
mx = (offs) / 32;
- machine().gfx[gfx_region]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx_region)->transpen(bitmap,cliprect,
tile, 1, 0, 0, 248 - 8 * mx, 8 * my, 0);
}
diff --git a/src/mame/video/lkage.c b/src/mame/video/lkage.c
index 51d8a8b2d3f..298e4225d8e 100644
--- a/src/mame/video/lkage.c
+++ b/src/mame/video/lkage.c
@@ -67,19 +67,19 @@ WRITE8_MEMBER(lkage_state::lkage_videoram_w)
TILE_GET_INFO_MEMBER(lkage_state::get_bg_tile_info)
{
int code = m_videoram[tile_index + 0x800] + 256 * (m_bg_tile_bank ? 5 : 1);
- SET_TILE_INFO_MEMBER( 0/*gfx*/, code, 0/*color*/, 0/*flags*/ );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0/*gfx*/, code, 0/*color*/, 0/*flags*/ );
}
TILE_GET_INFO_MEMBER(lkage_state::get_fg_tile_info)
{
int code = m_videoram[tile_index + 0x400] + 256 * (m_fg_tile_bank ? 1 : 0);
- SET_TILE_INFO_MEMBER( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
}
TILE_GET_INFO_MEMBER(lkage_state::get_tx_tile_info)
{
int code = m_videoram[tile_index] + 256 * (m_tx_tile_bank ? 4 : 0);
- SET_TILE_INFO_MEMBER( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
}
void lkage_state::video_start()
@@ -148,7 +148,7 @@ void lkage_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, con
for (y = 0; y < height; y++)
{
- machine().gfx[1]->prio_transpen(
+ m_gfxdecode->gfx(1)->prio_transpen(
bitmap,
cliprect,
sprite_number ^ y,
diff --git a/src/mame/video/lockon.c b/src/mame/video/lockon.c
index 6a6c834304d..019a3c410ca 100644
--- a/src/mame/video/lockon.c
+++ b/src/mame/video/lockon.c
@@ -143,7 +143,7 @@ TILE_GET_INFO_MEMBER(lockon_state::get_lockon_tile_info)
UINT32 col = (m_char_ram[tile_index] >> 10) & 0x3f;
col = (col & 0x1f) + (col & 0x20 ? 64 : 0);
- SET_TILE_INFO_MEMBER(0, tileno, col, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, col, 0);
}
diff --git a/src/mame/video/lordgun.c b/src/mame/video/lordgun.c
index 539e475b141..cea01501c0d 100644
--- a/src/mame/video/lordgun.c
+++ b/src/mame/video/lordgun.c
@@ -66,7 +66,7 @@ inline void lordgun_state::get_tile_info(tile_data &tileinfo, tilemap_memory_ind
UINT16 attr = m_vram[_N_][tile_index * 2 + 0 ];
UINT16 code = m_vram[_N_][ tile_index * 2 + 1 ];
UINT16 pri = (attr & 0x0e00) >> 9;
- SET_TILE_INFO_MEMBER( _N_, code, ((attr & 0x0030) >> 4) + 0x10 + 0x4 * ((_N_ + 1) & 3) + pri*0x800/0x40, TILE_FLIPXY(attr >> 14));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, _N_, code, ((attr & 0x0030) >> 4) + 0x10 + 0x4 * ((_N_ + 1) & 3) + pri*0x800/0x40, TILE_FLIPXY(attr >> 14));
}
TILE_GET_INFO_MEMBER(lordgun_state::get_tile_info_0){ get_tile_info(tileinfo, tile_index, 0); }
@@ -273,7 +273,7 @@ void lordgun_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
{
for (x = x0; x != x1; x += dx)
{
- machine().gfx[4]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->transpen(bitmap,cliprect,
code, color + pri * 0x800/0x40,
flipx, flipy,
sx + x * 0x10, sy + y * 0x10,
diff --git a/src/mame/video/lsasquad.c b/src/mame/video/lsasquad.c
index 13585f9f936..4af72995986 100644
--- a/src/mame/video/lsasquad.c
+++ b/src/mame/video/lsasquad.c
@@ -32,13 +32,13 @@ void lsasquad_state::draw_layer( bitmap_ind16 &bitmap, const rectangle &cliprect
code = m_videoram[base + 2 * y] + ((attr & 0x0f) << 8);
color = attr >> 4;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flip_screen(),flip_screen(),
sx,sy,15);
if (sx > 248) /* wraparound */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flip_screen(),flip_screen(),
@@ -119,13 +119,13 @@ int lsasquad_state::draw_layer_daikaiju( bitmap_ind16 &bitmap, const rectangle &
if ((type == 0 && color != 0x0d) || (type != 0 && color == 0x0d))
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flip_screen(),flip_screen(),
sx,sy,15);
if (sx > 248) /* wraparound */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flip_screen(),flip_screen(),
@@ -180,13 +180,13 @@ void lsasquad_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
sx,sy,15);
/* wraparound */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/lucky74.c b/src/mame/video/lucky74.c
index 49f32e7f533..8888521ddd6 100644
--- a/src/mame/video/lucky74.c
+++ b/src/mame/video/lucky74.c
@@ -208,7 +208,7 @@ TILE_GET_INFO_MEMBER(lucky74_state::get_fg_tile_info)
int code = m_fg_videoram[tile_index] + ((attr & 0xf0) << 4);
int color = (attr & 0x0f);
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
TILE_GET_INFO_MEMBER(lucky74_state::get_bg_tile_info)
@@ -223,7 +223,7 @@ TILE_GET_INFO_MEMBER(lucky74_state::get_bg_tile_info)
int code = m_bg_videoram[tile_index] + ((attr & 0xf0) << 4);
int color = (attr & 0x0f);
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
}
diff --git a/src/mame/video/lvcards.c b/src/mame/video/lvcards.c
index 6e649c38577..92ad5bcc407 100644
--- a/src/mame/video/lvcards.c
+++ b/src/mame/video/lvcards.c
@@ -101,7 +101,7 @@ TILE_GET_INFO_MEMBER(lvcards_state::get_bg_tile_info)
int color = attr & 0x0f;
int flags = (attr & 0x40) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void lvcards_state::video_start()
diff --git a/src/mame/video/lwings.c b/src/mame/video/lwings.c
index f1752cd4cee..89d3ae353c0 100644
--- a/src/mame/video/lwings.c
+++ b/src/mame/video/lwings.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(lwings_state::get_fg_tile_info)
{
int code = m_fgvideoram[tile_index];
int color = m_fgvideoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + ((color & 0xc0) << 2),
color & 0x0f,
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(lwings_state::lwings_get_bg1_tile_info)
{
int code = m_bg1videoram[tile_index];
int color = m_bg1videoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code + ((color & 0xe0) << 3),
color & 0x07,
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(lwings_state::trojan_get_bg1_tile_info)
int code = m_bg1videoram[tile_index];
int color = m_bg1videoram[tile_index + 0x400];
code += (color & 0xe0)<<3;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
m_bg2_avenger_hw ? ((color & 7) ^ 6) : (color & 7),
@@ -65,7 +65,7 @@ TILE_GET_INFO_MEMBER(lwings_state::get_bg2_tile_info)
tile_index = (tile_index + m_bg2_image * 0x20) & mask;
code = rom[tile_index];
color = rom[tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
code + ((color & 0x80) << 1),
color & 0x07,
@@ -195,7 +195,7 @@ void lwings_state::lwings_draw_sprites( bitmap_ind16 &bitmap, const rectangle &c
flipy = !flipy;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,color,
flipx,flipy,
sx,sy,15);
@@ -243,7 +243,7 @@ void lwings_state::trojan_draw_sprites( bitmap_ind16 &bitmap, const rectangle &c
flipy = !flipy;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,color,
flipx,flipy,
sx,sy,15);
diff --git a/src/mame/video/m10.c b/src/mame/video/m10.c
index ef2ab831f32..effa7bcdc3f 100644
--- a/src/mame/video/m10.c
+++ b/src/mame/video/m10.c
@@ -50,7 +50,7 @@ TILEMAP_MAPPER_MEMBER(m10_state::tilemap_scan)
TILE_GET_INFO_MEMBER(m10_state::get_tile_info)
{
- SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], m_colorram[tile_index] & 0x07, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, m_videoram[tile_index], m_colorram[tile_index] & 0x07, 0);
}
@@ -79,7 +79,7 @@ WRITE8_MEMBER(m10_state::m15_chargen_w)
if (m_chargen[offset] != data)
{
m_chargen[offset] = data;
- machine().gfx[0]->mark_dirty(offset >> 3);
+ m_gfxdecode->gfx(0)->mark_dirty(offset >> 3);
}
}
@@ -102,13 +102,13 @@ VIDEO_START_MEMBER(m10_state,m10)
m_back_gfx = auto_alloc(machine(), gfx_element(machine(), backlayout, m_chargen, 8, 0));
- machine().gfx[1] = m_back_gfx;
+ m_gfxdecode->set_gfx(1, m_back_gfx);
return ;
}
VIDEO_START_MEMBER(m10_state,m15)
{
- machine().gfx[0] = auto_alloc(machine(), gfx_element(machine(), charlayout, m_chargen, 8, 0));
+ m_gfxdecode->set_gfx(0,auto_alloc(machine(), gfx_element(machine(), charlayout, m_chargen, 8, 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);
diff --git a/src/mame/video/m107.c b/src/mame/video/m107.c
index a85b4c2dff2..289d2f5bdb6 100644
--- a/src/mame/video/m107.c
+++ b/src/mame/video/m107.c
@@ -51,7 +51,7 @@ TILE_GET_INFO_MEMBER(m107_state::get_pf_tile_info)
attrib = m_vram_data[tile_index + 1];
tile = m_vram_data[tile_index] + ((attrib & 0x1000) << 4);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
attrib & 0x7f,
@@ -184,7 +184,7 @@ void m107_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const
for (i=0; i<y_multi; i++)
{
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite + s_ptr,
colour,
fx,fy,
@@ -192,7 +192,7 @@ void m107_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const
screen.priority(),pri_mask,0);
/* wrap-around y */
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite + s_ptr,
colour,
fx,fy,
@@ -241,7 +241,7 @@ void m107_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const
if (!ffy) sprite+=y_multi-1;
for (i=0; i<y_multi; i++)
{
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite+(ffy?i:-i),
colour,
ffx,ffy,
@@ -249,7 +249,7 @@ void m107_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const
screen.priority(),pri_mask,0);
/* wrap-around y */
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite+(ffy?i:-i),
colour,
ffx,ffy,
diff --git a/src/mame/video/m52.c b/src/mame/video/m52.c
index 4f89e03b248..68e4208d642 100644
--- a/src/mame/video/m52.c
+++ b/src/mame/video/m52.c
@@ -135,7 +135,7 @@ TILE_GET_INFO_MEMBER(m52_state::get_tile_info)
flag |= TILE_FORCE_LAYER0; /* lines 0 to 6 are opaqe? */
}
- SET_TILE_INFO_MEMBER(0, code, color & 0x3f, flag);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color & 0x3f, flag);
}
@@ -308,7 +308,7 @@ void m52_state::draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect,
ypos = ypos + (22 - 8);
- machine().gfx[image]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(image)->transpen(bitmap,cliprect,
0, 0,
flip_screen(),
flip_screen(),
@@ -316,7 +316,7 @@ void m52_state::draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect,
ypos, 0);
- machine().gfx[image]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(image)->transpen(bitmap,cliprect,
0, 0,
flip_screen(),
flip_screen(),
@@ -337,7 +337,7 @@ void m52_state::draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect,
rect.max_y = ypos + 2 * BGHEIGHT - 1;
}
- bitmap.fill(machine().gfx[image]->colorbase() + 3, rect);
+ bitmap.fill(m_gfxdecode->gfx(image)->colorbase() + 3, rect);
}
@@ -410,9 +410,9 @@ UINT32 m52_state::screen_update_m52(screen_device &screen, bitmap_ind16 &bitmap,
clip = cliprect;
#endif
- machine().gfx[1]->transmask(bitmap,clip,
+ m_gfxdecode->gfx(1)->transmask(bitmap,clip,
code, color, flipx, flipy, sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 512 + 32));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 512 + 32));
}
return 0;
}
diff --git a/src/mame/video/m57.c b/src/mame/video/m57.c
index 09b4ea26bca..df723ad81c8 100644
--- a/src/mame/video/m57.c
+++ b/src/mame/video/m57.c
@@ -115,7 +115,7 @@ TILE_GET_INFO_MEMBER(m57_state::get_tile_info)
UINT8 attr = m_videoram[tile_index * 2 + 0];
UINT16 code = m_videoram[tile_index * 2 + 1] | ((attr & 0xc0) << 2);
- SET_TILE_INFO_MEMBER(0, code, attr & 0x0f, TILE_FLIPXY(attr >> 4));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, attr & 0x0f, TILE_FLIPXY(attr >> 4));
}
@@ -241,12 +241,12 @@ void m57_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
flipy = !flipy;
}
- machine().gfx[1 + bank]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1 + bank)->transmask(bitmap,cliprect,
tile_number,
color,
flipx, flipy,
sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 256 + 15));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 256 + 15));
}
}
diff --git a/src/mame/video/m58.c b/src/mame/video/m58.c
index 6ebc4ff99fb..0480e018eca 100644
--- a/src/mame/video/m58.c
+++ b/src/mame/video/m58.c
@@ -150,7 +150,7 @@ TILE_GET_INFO_MEMBER(m58_state::yard_get_bg_tile_info)
int color = attr & 0x1f;
int flags = (attr & 0x20) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
@@ -209,7 +209,7 @@ WRITE8_MEMBER(m58_state::yard_flipscreen_w)
*
*************************************/
-#define DRAW_SPRITE(code, sy) machine().gfx[1]->transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy, colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 512));
+#define DRAW_SPRITE(code, sy) m_gfxdecode->gfx(1)->transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy, colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 512));
void m58_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
diff --git a/src/mame/video/m62.c b/src/mame/video/m62.c
index ea511c503b2..c12ee31b11f 100644
--- a/src/mame/video/m62.c
+++ b/src/mame/video/m62.c
@@ -391,7 +391,7 @@ void m62_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, i
do
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code + i * incr,col,
flipx,flipy,
sx,sy + 16 * i,0);
@@ -444,7 +444,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_kungfum_bg_tile_info)
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0)<< 2), color & 0x1f, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0xc0)<< 2), color & 0x1f, flags);
/* is the following right? */
if ((tile_index / 64) < 6 || ((color & 0x1f) >> 1) > 0x0c)
@@ -488,7 +488,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun_bg_tile_info)
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
if (((color & 0x1f) >> 1) >= 0x0c)
tileinfo.group = 1;
else
@@ -526,7 +526,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun2_bg_tile_info)
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
if (((color & 0x1f) >> 1) >= 0x04)
tileinfo.group = 1;
else
@@ -579,7 +579,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_battroad_bg_tile_info)
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO_MEMBER(0, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, flags);
if (((color & 0x1f) >> 1) >= 0x04)
tileinfo.group = 1;
else
@@ -592,7 +592,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_battroad_fg_tile_info)
int color;
code = m_m62_textram[tile_index << 1];
color = m_m62_textram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER(2, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, 0);
}
VIDEO_START_MEMBER(m62_state,battroad)
@@ -628,7 +628,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun4_bg_tile_info)
int color;
code = m_m62_tileram[tile_index << 1];
color = m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
}
VIDEO_START_MEMBER(m62_state,ldrun4)
@@ -658,7 +658,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_lotlot_bg_tile_info)
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
}
TILE_GET_INFO_MEMBER(m62_state::get_lotlot_fg_tile_info)
@@ -667,7 +667,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_lotlot_fg_tile_info)
int color;
code = m_m62_textram[tile_index << 1];
color = m_m62_textram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER(2, code | ((color & 0xc0) << 2), color & 0x1f, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code | ((color & 0xc0) << 2), color & 0x1f, 0);
}
VIDEO_START_MEMBER(m62_state,lotlot)
@@ -716,7 +716,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_kidniki_bg_tile_info)
int color;
code = m_m62_tileram[tile_index << 1];
color = m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER(0, code | ((color & 0xe0) << 3) | (m_kidniki_background_bank << 11), color & 0x1f, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0xe0) << 3) | (m_kidniki_background_bank << 11), color & 0x1f, 0);
tileinfo.group = ((color & 0xe0) == 0xe0) ? 1 : 0;
}
@@ -726,7 +726,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_kidniki_fg_tile_info)
int color;
code = m_m62_textram[tile_index << 1];
color = m_m62_textram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER(2, code | ( ( color & 0xc0 ) << 2 ), color & 0x1f, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code | ( ( color & 0xc0 ) << 2 ), color & 0x1f, 0);
}
VIDEO_START_MEMBER(m62_state,kidniki)
@@ -771,7 +771,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_bg_tile_info)
int color;
code = m_m62_tileram[tile_index << 1];
color = m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER(0, code | ((color & 0x10) << 4) | ((color & 0x20) << 6) | ((color & 0xc0) << 3), (color & 0x0f) | (m_spelunkr_palbank << 4), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0x10) << 4) | ((color & 0x20) << 6) | ((color & 0xc0) << 3), (color & 0x0f) | (m_spelunkr_palbank << 4), 0);
}
TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_fg_tile_info)
@@ -781,7 +781,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_fg_tile_info)
code = m_m62_textram[tile_index << 1];
color = m_m62_textram[(tile_index << 1) | 1];
if (color & 0xe0) popmessage("fg tilemap %x %x", tile_index, color & 0xe0);
- SET_TILE_INFO_MEMBER(2, code | ((color & 0x10) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code | ((color & 0x10) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0);
}
VIDEO_START_MEMBER(m62_state,spelunkr)
@@ -823,7 +823,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_spelunk2_bg_tile_info)
int color;
code = m_m62_tileram[tile_index << 1];
color = m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER( 0, code | ((color & 0xf0) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0xf0) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0 );
}
VIDEO_START_MEMBER(m62_state,spelunk2)
@@ -853,7 +853,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_youjyudn_bg_tile_info)
int color;
code = m_m62_tileram[tile_index << 1];
color = m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER( 0, code | ((color & 0x60) << 3), color & 0x1f, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0x60) << 3), color & 0x1f, 0);
if (((color & 0x1f) >> 1) >= 0x08)
tileinfo.group = 1;
else
@@ -866,7 +866,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_youjyudn_fg_tile_info)
int color;
code = m_m62_textram[tile_index << 1];
color = m_m62_textram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER(2, code | ((color & 0xc0) << 2), (color & 0x0f), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code | ((color & 0xc0) << 2), (color & 0x0f), 0);
}
VIDEO_START_MEMBER(m62_state,youjyudn)
@@ -903,7 +903,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_horizon_bg_tile_info)
int color;
code = m_m62_tileram[tile_index << 1];
color = m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
if (((color & 0x1f) >> 1) >= 0x08)
tileinfo.group = 1;
diff --git a/src/mame/video/m72.c b/src/mame/video/m72.c
index ec98d88ccd5..06c4b08b472 100644
--- a/src/mame/video/m72.c
+++ b/src/mame/video/m72.c
@@ -22,7 +22,7 @@ inline void m72_state::m72_get_tile_info(tile_data &tileinfo,int tile_index,cons
else pri = 0;
/* color & 0x10 is used in bchopper and hharry, more priority? */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfxnum,
code + ((attr & 0x3f) << 8),
color & 0x0f,
@@ -47,7 +47,7 @@ inline void m72_state::rtype2_get_tile_info(tile_data &tileinfo,int tile_index,c
/* (vram[tile_index+2] & 0x10) is used by majtitle on the green, but it's not clear for what */
/* (vram[tile_index+3] & 0xfe) are used as well */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfxnum,
code,
color & 0x0f,
@@ -452,7 +452,7 @@ void m72_state::m72_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
if (flipy) c += h-1-y;
else c += y;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
c,
color,
flipx,flipy,
@@ -504,7 +504,7 @@ void m72_state::majtitle_draw_sprites(bitmap_ind16 &bitmap,const rectangle &clip
if (flipy) c += h-1-y;
else c += y;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
c,
color,
flipx,flipy,
diff --git a/src/mame/video/m90.c b/src/mame/video/m90.c
index 04282ee61ed..060fdde7796 100644
--- a/src/mame/video/m90.c
+++ b/src/mame/video/m90.c
@@ -37,7 +37,7 @@ inline void m90_state::get_tile_info(tile_data &tileinfo,int tile_index,int laye
tile=m_video_data[tile_index];
color=m_video_data[tile_index+1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color&0xf,
@@ -52,7 +52,7 @@ inline void m90_state::bomblord_get_tile_info(tile_data &tileinfo,int tile_index
tile=m_video_data[tile_index];
color=m_video_data[tile_index+1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color&0xf,
@@ -67,7 +67,7 @@ inline void m90_state::dynablsb_get_tile_info(tile_data &tileinfo,int tile_index
tile=m_video_data[tile_index];
color=m_video_data[tile_index+1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color&0xf,
@@ -160,7 +160,7 @@ void m90_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const r
for (i = 0;i < y_multi;i++)
if (m_video_control_data[7] & 0x01)
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite + (fy ? y_multi-1 - i : i),
colour,
fx,fy,
@@ -168,7 +168,7 @@ void m90_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const r
screen.priority(),
(colour & 0x08) ? 0x00 : 0x02,0);
else if (m_video_control_data[7] & 0x02)
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite + (fy ? y_multi-1 - i : i),
colour,
fx,fy,
@@ -176,7 +176,7 @@ void m90_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const r
screen.priority(),
((colour & 0x0c)==0x0c) ? 0x00 : 0x02,0);
else
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite + (fy ? y_multi-1 - i : i),
colour,
fx,fy,
@@ -215,7 +215,7 @@ void m90_state::bomblord_draw_sprites(screen_device &screen, bitmap_ind16 &bitma
fx = (spriteram16[offs+3] >> 8) & 0x02;
fy = (spriteram16[offs+2] >> 8) & 0x80;
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite,
colour,
fx,fy,
@@ -253,7 +253,7 @@ void m90_state::dynablsb_draw_sprites(screen_device &screen, bitmap_ind16 &bitma
fx = (spriteram16[offs+3] >> 8) & 0x02;
fy = (spriteram16[offs+2] >> 8) & 0x80;
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
sprite,
colour,
fx,fy,
diff --git a/src/mame/video/m92.c b/src/mame/video/m92.c
index f6d0434e70c..6751715a028 100644
--- a/src/mame/video/m92.c
+++ b/src/mame/video/m92.c
@@ -152,7 +152,7 @@ TILE_GET_INFO_MEMBER(m92_state::get_pf_tile_info)
attrib = m_vram_data[tile_index + 1];
tile = m_vram_data[tile_index] + ((attrib & 0x8000) << 1);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
attrib & 0x7f,
@@ -354,26 +354,26 @@ void m92_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const
{
if (flip_screen())
{
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + s_ptr, color, !flipx, !flipy,
464 - x, 240 - (y - row * 16),
screen.priority(), pri, 0);
// wrap around x
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + s_ptr, color, !flipx, !flipy,
464 - x + 512, 240 - (y - row * 16),
screen.priority(), pri, 0);
}
else
{
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + s_ptr, color, flipx, flipy,
x, y - row * 16,
screen.priority(), pri, 0);
// wrap around x
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + s_ptr, color, flipx, flipy,
x - 512, y - row * 16,
screen.priority(), pri, 0);
@@ -428,26 +428,26 @@ void m92_state::ppan_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, c
{
if (flip_screen())
{
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + s_ptr, color, !flipx, !flipy,
464 - x, 240 - (y - row * 16),
screen.priority(), pri, 0);
// wrap around x
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + s_ptr, color, !flipx, !flipy,
464 - x + 512, 240 - (y - row * 16),
screen.priority(), pri, 0);
}
else
{
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + s_ptr, color, flipx, flipy,
x, y - row * 16,
screen.priority(), pri, 0);
// wrap around x
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + s_ptr, color, flipx, flipy,
x - 512, y - row * 16,
screen.priority(), pri, 0);
diff --git a/src/mame/video/macrossp.c b/src/mame/video/macrossp.c
index 40fe2bdc2b2..86c2014e691 100644
--- a/src/mame/video/macrossp.c
+++ b/src/mame/video/macrossp.c
@@ -36,7 +36,7 @@ TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_scra_tile_info)
break;
}
- SET_TILE_INFO_MEMBER(1, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
}
/*** SCR B LAYER ***/
@@ -71,7 +71,7 @@ TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_scrb_tile_info)
break;
}
- SET_TILE_INFO_MEMBER(2, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
}
/*** SCR C LAYER ***/
@@ -106,7 +106,7 @@ TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_scrc_tile_info)
break;
}
- SET_TILE_INFO_MEMBER(3, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
}
/*** TEXT LAYER ***/
@@ -126,7 +126,7 @@ TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_text_tile_info)
tileno = m_text_videoram[tile_index] & 0x0000ffff;
colour = (m_text_videoram[tile_index] & 0x00fe0000) >> 17;
- SET_TILE_INFO_MEMBER(4, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4, tileno, colour, 0);
}
@@ -148,10 +148,10 @@ void macrossp_state::video_start()
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);
+ m_gfxdecode->gfx(0)->set_granularity(64);
+ m_gfxdecode->gfx(1)->set_granularity(64);
+ m_gfxdecode->gfx(2)->set_granularity(64);
+ m_gfxdecode->gfx(3)->set_granularity(64);
save_pointer(NAME(m_spriteram_old), m_spriteram.bytes() / 4);
save_pointer(NAME(m_spriteram_old2), m_spriteram.bytes() / 4);
@@ -161,7 +161,7 @@ void macrossp_state::video_start()
void macrossp_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect, int priority )
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
// UINT32 *source = m_spriteram;
UINT32 *source = m_spriteram_old2; /* buffers by two frames */
UINT32 *finish = source + m_spriteram.bytes() / 4;
diff --git a/src/mame/video/madalien.c b/src/mame/video/madalien.c
index 9c1cb682667..5f129ef1b7a 100644
--- a/src/mame/video/madalien.c
+++ b/src/mame/video/madalien.c
@@ -93,7 +93,7 @@ TILE_GET_INFO_MEMBER(madalien_state::get_tile_info_BG_1)
{
UINT8 *map = memregion("user1")->base() + ((*m_video_flags & 0x08) << 6);
- SET_TILE_INFO_MEMBER(1, map[tile_index], BIT(*m_video_flags, 2) ? 2 : 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, map[tile_index], BIT(*m_video_flags, 2) ? 2 : 0, 0);
}
@@ -101,13 +101,13 @@ TILE_GET_INFO_MEMBER(madalien_state::get_tile_info_BG_2)
{
UINT8 *map = memregion("user1")->base() + ((*m_video_flags & 0x08) << 6) + 0x80;
- SET_TILE_INFO_MEMBER(1, map[tile_index], BIT(*m_video_flags, 2) ? 2 : 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, map[tile_index], BIT(*m_video_flags, 2) ? 2 : 0, 0);
}
TILE_GET_INFO_MEMBER(madalien_state::get_tile_info_FG)
{
- SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, m_videoram[tile_index], 0, 0);
}
WRITE8_MEMBER(madalien_state::madalien_videoram_w)
@@ -152,10 +152,10 @@ VIDEO_START_MEMBER(madalien_state,madalien)
m_headlight_bitmap = auto_bitmap_ind16_alloc(machine(), 128, 128);
- machine().gfx[0]->set_source(m_charram);
+ m_gfxdecode->gfx(0)->set_source(m_charram);
- machine().gfx[2]->opaque(*m_headlight_bitmap,m_headlight_bitmap->cliprect(), 0, 0, 0, 0, 0x00, 0x00);
- machine().gfx[2]->opaque(*m_headlight_bitmap,m_headlight_bitmap->cliprect(), 0, 0, 0, 1, 0x00, 0x40);
+ m_gfxdecode->gfx(2)->opaque(*m_headlight_bitmap,m_headlight_bitmap->cliprect(), 0, 0, 0, 0, 0x00, 0x00);
+ m_gfxdecode->gfx(2)->opaque(*m_headlight_bitmap,m_headlight_bitmap->cliprect(), 0, 0, 0, 1, 0x00, 0x40);
}
@@ -242,7 +242,7 @@ void madalien_state::draw_foreground(screen_device &screen, bitmap_ind16 &bitmap
WRITE8_MEMBER(madalien_state::madalien_charram_w)
{
m_charram[offset] = data;
- machine().gfx[0]->mark_dirty((offset/8) & 0xff);
+ m_gfxdecode->gfx(0)->mark_dirty((offset/8) & 0xff);
}
@@ -395,7 +395,7 @@ MACHINE_CONFIG_FRAGMENT( madalien_video )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 336, 0, 256, 288, 0, 256)
MCFG_SCREEN_UPDATE_DRIVER(madalien_state, screen_update_madalien)
- MCFG_GFXDECODE(madalien)
+ MCFG_GFXDECODE_ADD("gfxdecode", madalien)
MCFG_PALETTE_LENGTH(0x30)
MCFG_PALETTE_INIT_OVERRIDE(madalien_state,madalien)
MCFG_VIDEO_START_OVERRIDE(madalien_state,madalien)
diff --git a/src/mame/video/magmax.c b/src/mame/video/magmax.c
index e9242d75f51..2eaf5f09786 100644
--- a/src/mame/video/magmax.c
+++ b/src/mame/video/magmax.c
@@ -200,12 +200,12 @@ UINT32 magmax_state::screen_update_magmax(screen_device &screen, bitmap_ind16 &b
if (code & 0x80) /* sprite bankswitch */
code += (*m_vreg & 0x30) * 0x8;
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
code,
color,
flipx, flipy,
sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0x1f));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0x1f));
}
}
@@ -230,7 +230,7 @@ UINT32 magmax_state::screen_update_magmax(screen_device &screen, bitmap_ind16 &b
sy = 31 - sy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
0,
m_flipscreen, m_flipscreen,
diff --git a/src/mame/video/mainsnk.c b/src/mame/video/mainsnk.c
index 792a179474e..1f2b6b32a63 100644
--- a/src/mame/video/mainsnk.c
+++ b/src/mame/video/mainsnk.c
@@ -49,7 +49,7 @@ TILE_GET_INFO_MEMBER(mainsnk_state::get_tx_tile_info)
{
int code = m_fgram[tile_index];
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
code,
0,
tile_index & 0x400 ? TILE_FORCE_LAYER0 : 0);
@@ -59,7 +59,7 @@ TILE_GET_INFO_MEMBER(mainsnk_state::get_bg_tile_info)
{
int code = (m_bgram[tile_index]);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_bg_tile_offset + code,
0,
@@ -83,7 +83,7 @@ void mainsnk_state::video_start()
WRITE8_MEMBER(mainsnk_state::mainsnk_c600_w)
{
int bank;
- int total_elements = machine().gfx[0]->elements();
+ int total_elements = m_gfxdecode->gfx(0)->elements();
flip_screen_set(~data & 0x80);
@@ -119,7 +119,7 @@ WRITE8_MEMBER(mainsnk_state::mainsnk_bgram_w)
void mainsnk_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int scrollx, int scrolly )
{
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
const UINT8 *source, *finish;
source = m_spriteram;
finish = source + 25*4;
diff --git a/src/mame/video/malzak.c b/src/mame/video/malzak.c
index 887cf4f4dc2..70e3de07a97 100644
--- a/src/mame/video/malzak.c
+++ b/src/mame/video/malzak.c
@@ -38,7 +38,7 @@ UINT32 malzak_state::screen_update_malzak(screen_device &screen, bitmap_rgb32 &b
if (sx < -15*2)
sx += 256*2;
- machine().gfx[0]->zoom_transpen(bitmap,cliprect, m_playfield_code[x * 16 + y], 2, 0, 0, sx, sy, 0x20000, 0x20000, 0);
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect, m_playfield_code[x * 16 + y], 2, 0, 0, sx, sy, 0x20000, 0x20000, 0);
}
/* update the S2636 chips */
diff --git a/src/mame/video/mappy.c b/src/mame/video/mappy.c
index 200e40525db..b14c7d173db 100644
--- a/src/mame/video/mappy.c
+++ b/src/mame/video/mappy.c
@@ -277,7 +277,7 @@ TILE_GET_INFO_MEMBER(mappy_state::superpac_get_tile_info)
tileinfo.category = (attr & 0x40) >> 6;
tileinfo.group = attr & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index],
attr & 0x3f,
@@ -290,7 +290,7 @@ TILE_GET_INFO_MEMBER(mappy_state::phozon_get_tile_info)
tileinfo.category = (attr & 0x40) >> 6;
tileinfo.group = attr & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index] + ((attr & 0x80) << 1),
attr & 0x3f,
@@ -303,7 +303,7 @@ TILE_GET_INFO_MEMBER(mappy_state::mappy_get_tile_info)
tileinfo.category = (attr & 0x40) >> 6;
tileinfo.group = attr & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index],
attr & 0x3f,
@@ -323,14 +323,14 @@ VIDEO_START_MEMBER(mappy_state,superpac)
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);
m_screen->register_screen_bitmap(m_sprite_bitmap);
- colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, machine().gfx[0], 31);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, m_gfxdecode->gfx(0), 31);
}
VIDEO_START_MEMBER(mappy_state,phozon)
{
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, m_bg_tilemap, machine().gfx[0], 15);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, m_gfxdecode->gfx(0), 15);
save_item(NAME(m_scroll));
}
@@ -339,7 +339,7 @@ VIDEO_START_MEMBER(mappy_state,mappy)
{
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, m_bg_tilemap, machine().gfx[0], 31);
+ colortable_configure_tilemap_groups(machine().colortable, m_bg_tilemap, m_gfxdecode->gfx(0), 31);
m_bg_tilemap->set_scroll_cols(36);
}
@@ -431,12 +431,12 @@ void mappy_state::mappy_draw_sprites(bitmap_ind16 &bitmap, const rectangle &clip
{
for (x = 0;x <= sizex;x++)
{
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,
sx + 16*x,sy + 16*y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 15));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 15));
}
}
}
@@ -508,12 +508,12 @@ void mappy_state::phozon_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cli
{
for (x = 0;x <= sizex;x++)
{
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,
sx + 8*x,sy + 8*y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 31));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 31));
}
}
}
diff --git a/src/mame/video/marineb.c b/src/mame/video/marineb.c
index a2505235167..2b84b3e9f98 100644
--- a/src/mame/video/marineb.c
+++ b/src/mame/video/marineb.c
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(marineb_state::get_tile_info)
UINT8 code = m_videoram[tile_index];
UINT8 col = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
code | ((col & 0xc0) << 2),
(col & 0x0f) | (m_palette_bank << 4),
TILE_FLIPXY((col >> 4) & 0x03));
@@ -204,7 +204,7 @@ UINT32 marineb_state::screen_update_marineb(screen_device &screen, bitmap_ind16
if (!m_flipscreen_y)
{
- sy = 256 - machine().gfx[gfx]->width() - sy;
+ sy = 256 - m_gfxdecode->gfx(gfx)->width() - sy;
flipy = !flipy;
}
@@ -213,7 +213,7 @@ UINT32 marineb_state::screen_update_marineb(screen_device &screen, bitmap_ind16
sx++;
}
- machine().gfx[gfx]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx)->transpen(bitmap,cliprect,
code,
col,
flipx,flipy,
@@ -246,7 +246,7 @@ UINT32 marineb_state::screen_update_changes(screen_device &screen, bitmap_ind16
if (!m_flipscreen_y)
{
- sy = 256 - machine().gfx[1]->width() - sy;
+ sy = 256 - m_gfxdecode->gfx(1)->width() - sy;
flipy = !flipy;
}
@@ -255,7 +255,7 @@ UINT32 marineb_state::screen_update_changes(screen_device &screen, bitmap_ind16
sx++;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code >> 2,
col,
flipx,flipy,
@@ -273,7 +273,7 @@ UINT32 marineb_state::screen_update_changes(screen_device &screen, bitmap_ind16
if (!m_flipscreen_y)
{
- sy = 256 - machine().gfx[2]->width() - sy;
+ sy = 256 - m_gfxdecode->gfx(2)->width() - sy;
flipy = !flipy;
}
@@ -284,7 +284,7 @@ UINT32 marineb_state::screen_update_changes(screen_device &screen, bitmap_ind16
code >>= 4;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
col,
flipx,flipy,
@@ -292,7 +292,7 @@ UINT32 marineb_state::screen_update_changes(screen_device &screen, bitmap_ind16
/* draw again for wrap around */
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
col,
flipx,flipy,
@@ -341,7 +341,7 @@ UINT32 marineb_state::screen_update_springer(screen_device &screen, bitmap_ind16
if (!m_flipscreen_y)
{
- sy = 256 - machine().gfx[gfx]->width() - sy;
+ sy = 256 - m_gfxdecode->gfx(gfx)->width() - sy;
flipy = !flipy;
}
@@ -350,7 +350,7 @@ UINT32 marineb_state::screen_update_springer(screen_device &screen, bitmap_ind16
sx--;
}
- machine().gfx[gfx]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx)->transpen(bitmap,cliprect,
code,
col,
flipx,flipy,
@@ -383,17 +383,17 @@ UINT32 marineb_state::screen_update_hoccer(screen_device &screen, bitmap_ind16 &
if (!m_flipscreen_y)
{
- sy = 256 - machine().gfx[1]->width() - sy;
+ sy = 256 - m_gfxdecode->gfx(1)->width() - sy;
flipy = !flipy;
}
if (m_flipscreen_x)
{
- sx = 256 - machine().gfx[1]->width() - sx;
+ sx = 256 - m_gfxdecode->gfx(1)->width() - sx;
flipx = !flipx;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code >> 2,
col,
flipx,flipy,
@@ -442,7 +442,7 @@ UINT32 marineb_state::screen_update_hopprobo(screen_device &screen, bitmap_ind16
if (!m_flipscreen_y)
{
- sy = 256 - machine().gfx[gfx]->width() - sy;
+ sy = 256 - m_gfxdecode->gfx(gfx)->width() - sy;
flipy = !flipy;
}
@@ -451,7 +451,7 @@ UINT32 marineb_state::screen_update_hopprobo(screen_device &screen, bitmap_ind16
sx--;
}
- machine().gfx[gfx]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx)->transpen(bitmap,cliprect,
code,
col,
flipx,flipy,
diff --git a/src/mame/video/mario.c b/src/mame/video/mario.c
index e8d8baa8848..dfc16e924ca 100644
--- a/src/mame/video/mario.c
+++ b/src/mame/video/mario.c
@@ -127,7 +127,7 @@ TILE_GET_INFO_MEMBER(mario_state::get_bg_tile_info)
color = ((m_videoram[tile_index] >> 2) & 0x38) | 0x40 | (m_palette_bank<<7) | (m_monitor<<8);
color = color >> 2;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void mario_state::video_start()
@@ -175,7 +175,7 @@ void mario_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
y -= 14;
x -= 7;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_spriteram[offs + 2],
(m_spriteram[offs + 1] & 0x0f) + 16 * m_palette_bank + 32 * m_monitor,
!(m_spriteram[offs + 1] & 0x80),!(m_spriteram[offs + 1] & 0x40),
@@ -185,7 +185,7 @@ void mario_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
y += 1;
x -= 8;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_spriteram[offs + 2],
(m_spriteram[offs + 1] & 0x0f) + 16 * m_palette_bank + 32 * m_monitor,
(m_spriteram[offs + 1] & 0x80),(m_spriteram[offs + 1] & 0x40),
diff --git a/src/mame/video/markham.c b/src/mame/video/markham.c
index a3c037156f5..d23aec327a5 100644
--- a/src/mame/video/markham.c
+++ b/src/mame/video/markham.c
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(markham_state::get_bg_tile_info)
int code = m_videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
int color = (attr & 0x1f) | ((attr & 0x80) >> 2);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void markham_state::video_start()
@@ -105,12 +105,12 @@ void markham_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
if (px > 248)
px = px - 256;
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
chr,
col,
fx,fy,
px,py,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], col, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), col, 0));
}
}
diff --git a/src/mame/video/matmania.c b/src/mame/video/matmania.c
index fdcd1992b35..da9e23750b8 100644
--- a/src/mame/video/matmania.c
+++ b/src/mame/video/matmania.c
@@ -137,7 +137,7 @@ UINT32 matmania_state::screen_update_matmania(screen_device &screen, bitmap_ind1
int sx = 15 - offs / 32;
int sy = offs % 32;
- machine().gfx[1]->opaque(*m_tmpbitmap,m_tmpbitmap->cliprect(),
+ m_gfxdecode->gfx(1)->opaque(*m_tmpbitmap,m_tmpbitmap->cliprect(),
m_videoram[offs] + ((m_colorram[offs] & 0x08) << 5),
(m_colorram[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
@@ -150,7 +150,7 @@ UINT32 matmania_state::screen_update_matmania(screen_device &screen, bitmap_ind1
int sx = 15 - offs / 32;
int sy = offs % 32;
- machine().gfx[1]->opaque(*m_tmpbitmap2,m_tmpbitmap2->cliprect(),
+ m_gfxdecode->gfx(1)->opaque(*m_tmpbitmap2,m_tmpbitmap2->cliprect(),
m_videoram3[offs] + ((m_colorram3[offs] & 0x08) << 5),
(m_colorram3[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
@@ -172,7 +172,7 @@ UINT32 matmania_state::screen_update_matmania(screen_device &screen, bitmap_ind1
{
if (spriteram[offs] & 0x01)
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
spriteram[offs + 1] + ((spriteram[offs] & 0xf0) << 4),
(spriteram[offs] & 0x08) >> 3,
spriteram[offs] & 0x04, spriteram[offs] & 0x02,
@@ -187,7 +187,7 @@ UINT32 matmania_state::screen_update_matmania(screen_device &screen, bitmap_ind1
int sx = 31 - offs / 32;
int sy = offs % 32;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_videoram2[offs] + 256 * (m_colorram2[offs] & 0x07),
(m_colorram2[offs] & 0x30) >> 4,
0,0,
@@ -208,7 +208,7 @@ UINT32 matmania_state::screen_update_maniach(screen_device &screen, bitmap_ind16
int sx = 15 - offs / 32;
int sy = offs % 32;
- machine().gfx[1]->opaque(*m_tmpbitmap,m_tmpbitmap->cliprect(),
+ m_gfxdecode->gfx(1)->opaque(*m_tmpbitmap,m_tmpbitmap->cliprect(),
m_videoram[offs] + ((m_colorram[offs] & 0x03) << 8),
(m_colorram[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
@@ -221,7 +221,7 @@ UINT32 matmania_state::screen_update_maniach(screen_device &screen, bitmap_ind16
int sx = 15 - offs / 32;
int sy = offs % 32;
- machine().gfx[1]->opaque(*m_tmpbitmap2,m_tmpbitmap2->cliprect(),
+ m_gfxdecode->gfx(1)->opaque(*m_tmpbitmap2,m_tmpbitmap2->cliprect(),
m_videoram3[offs] + ((m_colorram3[offs] & 0x03) << 8),
(m_colorram3[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
@@ -245,7 +245,7 @@ UINT32 matmania_state::screen_update_maniach(screen_device &screen, bitmap_ind16
{
if (spriteram[offs] & 0x01)
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
spriteram[offs+1] + ((spriteram[offs] & 0xf0) << 4),
(spriteram[offs] & 0x08) >> 3,
spriteram[offs] & 0x04,spriteram[offs] & 0x02,
@@ -260,7 +260,7 @@ UINT32 matmania_state::screen_update_maniach(screen_device &screen, bitmap_ind16
int sx = 31 - offs / 32;
int sy = offs % 32;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_videoram2[offs] + 256 * (m_colorram2[offs] & 0x07),
(m_colorram2[offs] & 0x30) >> 4,
0,0,
diff --git a/src/mame/video/mcatadv.c b/src/mame/video/mcatadv.c
index 3165ba04564..386e7916554 100644
--- a/src/mame/video/mcatadv.c
+++ b/src/mame/video/mcatadv.c
@@ -19,7 +19,7 @@ TILE_GET_INFO_MEMBER(mcatadv_state::get_mcatadv_tile_info1)
int colour = (m_videoram1[tile_index * 2] & 0x3f00) >> 8;
int pri = (m_videoram1[tile_index * 2] & 0xc000) >> 14;
- SET_TILE_INFO_MEMBER(0,tileno,colour + m_palette_bank1 * 0x40, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour + m_palette_bank1 * 0x40, 0);
tileinfo.category = pri;
}
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(mcatadv_state::get_mcatadv_tile_info2)
int colour = (m_videoram2[tile_index * 2] & 0x3f00) >> 8;
int pri = (m_videoram2[tile_index * 2] & 0xc000) >> 14;
- SET_TILE_INFO_MEMBER(1, tileno, colour + m_palette_bank2 * 0x40, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, colour + m_palette_bank2 * 0x40, 0);
tileinfo.category = pri;
}
diff --git a/src/mame/video/mcr.c b/src/mame/video/mcr.c
index d4a31f907c4..fea215514ca 100644
--- a/src/mame/video/mcr.c
+++ b/src/mame/video/mcr.c
@@ -31,7 +31,7 @@ static tilemap_t *bg_tilemap;
TILE_GET_INFO_MEMBER(mcr_state::mcr_90009_get_tile_info)
{
UINT8 *videoram = m_videoram;
- SET_TILE_INFO_MEMBER(0, videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, videoram[tile_index], 0, 0);
/* sprite color base is constant 0x10 */
tileinfo.category = 1;
@@ -57,7 +57,7 @@ TILE_GET_INFO_MEMBER(mcr_state::mcr_90010_get_tile_info)
int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
int code = data & 0x1ff;
int color = (data >> 11) & 3;
- SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 9) & 3));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, TILE_FLIPYX((data >> 9) & 3));
/* sprite color base comes from the top 2 bits */
tileinfo.category = (data >> 14) & 3;
@@ -83,7 +83,7 @@ TILE_GET_INFO_MEMBER(mcr_state::mcr_91490_get_tile_info)
int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
int code = data & 0x3ff;
int color = (data >> 12) & 3;
- SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, TILE_FLIPYX((data >> 10) & 3));
/* sprite color base might come from the top 2 bits */
tileinfo.category = (data >> 14) & 3;
@@ -252,7 +252,7 @@ WRITE8_MEMBER(mcr_state::mcr_91490_videoram_w)
void mcr_state::render_sprites_91399(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
int offs;
/* render the sprites into the bitmap, ORing together */
@@ -324,7 +324,7 @@ void mcr_state::render_sprites_91399(screen_device &screen, bitmap_ind16 &bitmap
void mcr_state::render_sprites_91464(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int sprmask, int colormask)
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
int offs;
/* render the sprites into the bitmap, working from topmost to bottommost */
diff --git a/src/mame/video/mcr3.c b/src/mame/video/mcr3.c
index 1ef786a5300..7da7fedb83a 100644
--- a/src/mame/video/mcr3.c
+++ b/src/mame/video/mcr3.c
@@ -25,7 +25,7 @@ TILE_GET_INFO_MEMBER(mcr3_state::get_bg_tile_info)
int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
int code = (data & 0x3ff) | ((data >> 4) & 0x400);
int color = (data >> 12) & 3;
- SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, TILE_FLIPYX((data >> 10) & 3));
}
#endif
@@ -36,7 +36,7 @@ TILE_GET_INFO_MEMBER(mcr3_state::mcrmono_get_bg_tile_info)
int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
int code = (data & 0x3ff) | ((data >> 4) & 0x400);
int color = ((data >> 12) & 3) ^ 3;
- SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, TILE_FLIPYX((data >> 10) & 3));
}
@@ -52,13 +52,13 @@ TILE_GET_INFO_MEMBER(mcr3_state::spyhunt_get_bg_tile_info)
UINT8 *videoram = m_videoram;
int data = videoram[tile_index];
int code = (data & 0x3f) | ((data >> 1) & 0x40);
- SET_TILE_INFO_MEMBER(0, code, 0, (data & 0x40) ? TILE_FLIPY : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, (data & 0x40) ? TILE_FLIPY : 0);
}
TILE_GET_INFO_MEMBER(mcr3_state::spyhunt_get_alpha_tile_info)
{
- SET_TILE_INFO_MEMBER(2, m_spyhunt_alpharam[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, m_spyhunt_alpharam[tile_index], 0, 0);
}
@@ -277,21 +277,21 @@ void mcr3_state::mcr3_update_sprites(screen_device &screen, bitmap_ind16 &bitmap
if (!mcr_cocktail_flip)
{
/* first draw the sprite, visible */
- machine().gfx[1]->prio_transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy,
screen.priority(), 0x00, 0x0101);
/* then draw the mask, behind the background but obscuring following sprites */
- machine().gfx[1]->prio_transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect, code, color, flipx, flipy, sx, sy,
screen.priority(), 0x02, 0xfeff);
}
else
{
/* first draw the sprite, visible */
- machine().gfx[1]->prio_transmask(bitmap,cliprect, code, color, !flipx, !flipy, 480 - sx, 452 - sy,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect, code, color, !flipx, !flipy, 480 - sx, 452 - sy,
screen.priority(), 0x00, 0x0101);
/* then draw the mask, behind the background but obscuring following sprites */
- machine().gfx[1]->prio_transmask(bitmap,cliprect, code, color, !flipx, !flipy, 480 - sx, 452 - sy,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect, code, color, !flipx, !flipy, 480 - sx, 452 - sy,
screen.priority(), 0x02, 0xfeff);
}
}
diff --git a/src/mame/video/mcr68.c b/src/mame/video/mcr68.c
index d757676202d..b17696ceaf9 100644
--- a/src/mame/video/mcr68.c
+++ b/src/mame/video/mcr68.c
@@ -26,8 +26,8 @@ TILE_GET_INFO_MEMBER(mcr68_state::get_bg_tile_info)
int data = LOW_BYTE(videoram[tile_index * 2]) | (LOW_BYTE(videoram[tile_index * 2 + 1]) << 8);
int code = (data & 0x3ff) | ((data >> 4) & 0xc00);
int color = (~data >> 12) & 3;
- SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
- if (machine().gfx[0]->elements() < 0x1000)
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, TILE_FLIPYX((data >> 10) & 3));
+ if (m_gfxdecode->gfx(0)->elements() < 0x1000)
tileinfo.category = (data >> 15) & 1;
}
@@ -37,7 +37,7 @@ TILE_GET_INFO_MEMBER(mcr68_state::zwackery_get_bg_tile_info)
UINT16 *videoram = m_videoram;
int data = videoram[tile_index];
int color = (data >> 13) & 7;
- SET_TILE_INFO_MEMBER(0, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
}
@@ -46,7 +46,7 @@ TILE_GET_INFO_MEMBER(mcr68_state::zwackery_get_fg_tile_info)
UINT16 *videoram = m_videoram;
int data = videoram[tile_index];
int color = (data >> 13) & 7;
- SET_TILE_INFO_MEMBER(2, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
tileinfo.category = (color != 0);
}
@@ -69,8 +69,8 @@ VIDEO_START_MEMBER(mcr68_state,mcr68)
VIDEO_START_MEMBER(mcr68_state,zwackery)
{
const UINT8 *colordatabase = (const UINT8 *)memregion("gfx3")->base();
- gfx_element *gfx0 = machine().gfx[0];
- gfx_element *gfx2 = machine().gfx[2];
+ gfx_element *gfx0 = m_gfxdecode->gfx(0);
+ gfx_element *gfx2 = m_gfxdecode->gfx(2);
UINT8 *srcdata0, *dest0;
UINT8 *srcdata2, *dest2;
int code, y, x;
@@ -240,11 +240,11 @@ void mcr68_state::mcr68_update_sprites(screen_device &screen, bitmap_ind16 &bitm
The color 8 is used to cover over other sprites. */
/* first draw the sprite, visible */
- machine().gfx[1]->prio_transmask(bitmap,sprite_clip, code, color, flipx, flipy, x, y,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,sprite_clip, code, color, flipx, flipy, x, y,
screen.priority(), 0x00, 0x0101);
/* then draw the mask, behind the background but obscuring following sprites */
- machine().gfx[1]->prio_transmask(bitmap,sprite_clip, code, color, flipx, flipy, x, y,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,sprite_clip, code, color, flipx, flipy, x, y,
screen.priority(), 0x02, 0xfeff);
}
}
@@ -297,11 +297,11 @@ void mcr68_state::zwackery_update_sprites(screen_device &screen, bitmap_ind16 &b
The color 8 is used to cover over other sprites. */
/* first draw the sprite, visible */
- machine().gfx[1]->prio_transmask(bitmap,cliprect, code, color, flipx, flipy, x, y,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect, code, color, flipx, flipy, x, y,
screen.priority(), 0x00, 0x0101);
/* then draw the mask, behind the background but obscuring following sprites */
- machine().gfx[1]->prio_transmask(bitmap,cliprect, code, color, flipx, flipy, x, y,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect, code, color, flipx, flipy, x, y,
screen.priority(), 0x02, 0xfeff);
}
}
diff --git a/src/mame/video/meadows.c b/src/mame/video/meadows.c
index bc5ef6f1a9f..9c4b6221258 100644
--- a/src/mame/video/meadows.c
+++ b/src/mame/video/meadows.c
@@ -21,7 +21,7 @@
TILE_GET_INFO_MEMBER(meadows_state::get_tile_info)
{
UINT8 *videoram = m_videoram;
- SET_TILE_INFO_MEMBER(0, videoram[tile_index] & 0x7f, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, videoram[tile_index] & 0x7f, 0, 0);
}
@@ -88,7 +88,7 @@ void meadows_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &clip)
int bank = i; /* that fixes it for now :-/ */
int flip = spriteram[i+8] >> 5; /* bit #5 flip vertical flag */
- machine().gfx[bank + 1]->transpen(bitmap,clip, code, 0, flip, 0, x, y, 0);
+ m_gfxdecode->gfx(bank + 1)->transpen(bitmap,clip, code, 0, flip, 0, x, y, 0);
}
}
@@ -106,7 +106,7 @@ UINT32 meadows_state::screen_update_meadows(screen_device &screen, bitmap_ind16
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
/* draw the sprites */
- if (machine().gfx[1])
+ if (m_gfxdecode->gfx(1))
draw_sprites(bitmap, cliprect);
return 0;
}
diff --git a/src/mame/video/megasys1.c b/src/mame/video/megasys1.c
index d7fb8e748c2..6acab4f965b 100644
--- a/src/mame/video/megasys1.c
+++ b/src/mame/video/megasys1.c
@@ -348,14 +348,14 @@ TILE_GET_INFO_MEMBER(megasys1_state::megasys1_get_scroll_tile_info_8x8)
{
int tmap = (FPTR)tilemap.user_data();
UINT16 code = m_scrollram[tmap][tile_index];
- SET_TILE_INFO_MEMBER(tmap, (code & 0xfff) * m_8x8_scroll_factor[tmap], code >> (16 - m_bits_per_color_code), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, tmap, (code & 0xfff) * m_8x8_scroll_factor[tmap], code >> (16 - m_bits_per_color_code), 0);
}
TILE_GET_INFO_MEMBER(megasys1_state::megasys1_get_scroll_tile_info_16x16)
{
int tmap = (FPTR)tilemap.user_data();
UINT16 code = m_scrollram[tmap][tile_index/4];
- SET_TILE_INFO_MEMBER(tmap, (code & 0xfff) * m_16x16_scroll_factor[tmap] + (tile_index & 3), code >> (16 - m_bits_per_color_code), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, tmap, (code & 0xfff) * m_16x16_scroll_factor[tmap] + (tile_index & 3), code >> (16 - m_bits_per_color_code), 0);
}
void megasys1_state::create_tilemaps()
@@ -597,7 +597,7 @@ void megasys1_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
code = spritedata[0x0E/2] + objectdata[0x06/2];
color = (attr & color_mask);
- machine().gfx[3]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->prio_transpen(bitmap,cliprect,
(code & 0xfff ) + ((m_sprite_bank & 1) << 12),
color,
flipx, flipy,
@@ -637,7 +637,7 @@ void megasys1_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
sx = 240-sx; sy = 240-sy;
}
- machine().gfx[2]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap,cliprect,
code,
color,
flipx, flipy,
diff --git a/src/mame/video/megazone.c b/src/mame/video/megazone.c
index a18e8c8a667..57b2b89c30f 100644
--- a/src/mame/video/megazone.c
+++ b/src/mame/video/megazone.c
@@ -133,7 +133,7 @@ UINT32 megazone_state::screen_update_megazone(screen_device &screen, bitmap_ind1
flipy = !flipy;
}
- machine().gfx[1]->opaque(*m_tmpbitmap,m_tmpbitmap->cliprect(),
+ m_gfxdecode->gfx(1)->opaque(*m_tmpbitmap,m_tmpbitmap->cliprect(),
((int)m_videoram[offs]) + ((m_colorram[offs] & (1 << 7) ? 256 : 0) ),
(m_colorram[offs] & 0x0f) + 0x10,
flipx,flipy,
@@ -180,12 +180,12 @@ UINT32 megazone_state::screen_update_megazone(screen_device &screen, bitmap_ind1
else
sx = sx + 32;
- machine().gfx[0]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transmask(bitmap,cliprect,
spriteram[offs + 2],
color,
flipx,flipy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[0], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0));
}
}
@@ -213,7 +213,7 @@ UINT32 megazone_state::screen_update_megazone(screen_device &screen, bitmap_ind1
- machine().gfx[1]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect,
((int)m_videoram2[offs]) + ((m_colorram2[offs] & (1 << 7) ? 256 : 0) ),
(m_colorram2[offs] & 0x0f) + 0x10,
flipx,flipy,
diff --git a/src/mame/video/mermaid.c b/src/mame/video/mermaid.c
index b6ac2e26e4b..e3feaa54c87 100644
--- a/src/mame/video/mermaid.c
+++ b/src/mame/video/mermaid.c
@@ -149,7 +149,7 @@ TILE_GET_INFO_MEMBER(mermaid_state::get_bg_tile_info)
int sx = tile_index % 32;
int color = (sx >= 26) ? 0 : 1;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
TILE_GET_INFO_MEMBER(mermaid_state::get_fg_tile_info)
@@ -162,7 +162,7 @@ TILE_GET_INFO_MEMBER(mermaid_state::get_fg_tile_info)
code |= m_rougien_gfxbank1 * 0x2800;
code |= m_rougien_gfxbank2 * 0x2400;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void mermaid_state::video_start()
@@ -215,7 +215,7 @@ void mermaid_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
}
- machine().gfx[1]->transpen(bitmap,(flip_screen_x() ? flip_spritevisiblearea : spritevisiblearea), code, color, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,(flip_screen_x() ? flip_spritevisiblearea : spritevisiblearea), code, color, flipx, flipy, sx, sy, 0);
}
}
@@ -298,8 +298,8 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
rect.min_x = sx;
rect.min_y = sy;
- rect.max_x = sx + machine().gfx[1]->width() - 1;
- rect.max_y = sy + machine().gfx[1]->height() - 1;
+ rect.max_x = sx + m_gfxdecode->gfx(1)->width() - 1;
+ rect.max_y = sy + m_gfxdecode->gfx(1)->height() - 1;
rect &= visarea;
@@ -310,7 +310,7 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
m_bg_tilemap->draw(screen, m_helper, rect, 0, 0);
- machine().gfx[1]->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
m_coll_bit2 |= collision_check(rect);
@@ -321,7 +321,7 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
m_fg_tilemap->draw(screen, m_helper, rect, 0, 0);
- machine().gfx[1]->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
m_coll_bit1 |= collision_check(rect);
@@ -359,10 +359,10 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
sy2 = 240 - sy2;
}
- machine().gfx[1]->transpen(m_helper,rect, code2, 0, flipx2, flipy2, sx2, sy2, 0);
+ m_gfxdecode->gfx(1)->transpen(m_helper,rect, code2, 0, flipx2, flipy2, sx2, sy2, 0);
}
- machine().gfx[1]->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
m_coll_bit0 |= collision_check(rect);
}
@@ -401,8 +401,8 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
rect.min_x = sx;
rect.min_y = sy;
- rect.max_x = sx + machine().gfx[1]->width() - 1;
- rect.max_y = sy + machine().gfx[1]->height() - 1;
+ rect.max_x = sx + m_gfxdecode->gfx(1)->width() - 1;
+ rect.max_y = sy + m_gfxdecode->gfx(1)->height() - 1;
rect &= visarea;
@@ -440,10 +440,10 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
sy2 = 240 - sy2;
}
- machine().gfx[1]->transpen(m_helper,rect, code2, 0, flipx2, flipy2, sx2, sy2, 0);
+ m_gfxdecode->gfx(1)->transpen(m_helper,rect, code2, 0, flipx2, flipy2, sx2, sy2, 0);
}
- machine().gfx[1]->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
m_coll_bit3 |= collision_check(rect);
}
@@ -482,8 +482,8 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
rect.min_x = sx;
rect.min_y = sy;
- rect.max_x = sx + machine().gfx[1]->width() - 1;
- rect.max_y = sy + machine().gfx[1]->height() - 1;
+ rect.max_x = sx + m_gfxdecode->gfx(1)->width() - 1;
+ rect.max_y = sy + m_gfxdecode->gfx(1)->height() - 1;
rect &= visarea;
@@ -521,10 +521,10 @@ void mermaid_state::screen_eof_mermaid(screen_device &screen, bool state)
sy2 = 240 - sy2;
}
- machine().gfx[1]->transpen(m_helper,rect, code2, 0, flipx2, flipy2, sx2, sy2, 0);
+ m_gfxdecode->gfx(1)->transpen(m_helper,rect, code2, 0, flipx2, flipy2, sx2, sy2, 0);
}
- machine().gfx[1]->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(m_helper2,rect, code, 0, flipx, flipy, sx, sy, 0);
m_coll_bit6 |= collision_check(rect);
}
diff --git a/src/mame/video/metlclsh.c b/src/mame/video/metlclsh.c
index f148c8b0e56..53f4c205452 100644
--- a/src/mame/video/metlclsh.c
+++ b/src/mame/video/metlclsh.c
@@ -69,7 +69,7 @@ TILEMAP_MAPPER_MEMBER(metlclsh_state::metlclsh_bgtilemap_scan)
TILE_GET_INFO_MEMBER(metlclsh_state::get_bg_tile_info)
{
- SET_TILE_INFO_MEMBER(1, m_bgram[tile_index] + (m_gfxbank << 7), 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, m_bgram[tile_index] + (m_gfxbank << 7), 0, 0);
}
WRITE8_MEMBER(metlclsh_state::metlclsh_bgram_w)
@@ -112,7 +112,7 @@ TILE_GET_INFO_MEMBER(metlclsh_state::get_fg_tile_info)
{
UINT8 code = m_fgram[tile_index + 0x000];
UINT8 attr = m_fgram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(2, code + ((attr & 0x03) << 8), (attr >> 5) & 3, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code + ((attr & 0x03) << 8), (attr >> 5) & 3, 0);
tileinfo.category = ((attr & 0x80) ? 1 : 2);
}
@@ -166,7 +166,7 @@ void metlclsh_state::video_start()
void metlclsh_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int offs;
for (offs = 0; offs < m_spriteram.bytes(); offs += 4)
diff --git a/src/mame/video/metro.c b/src/mame/video/metro.c
index b1b081c59d5..356a57b22b3 100644
--- a/src/mame/video/metro.c
+++ b/src/mame/video/metro.c
@@ -58,7 +58,7 @@ TILE_GET_INFO_MEMBER(metro_state::metro_k053936_get_tile_info)
{
int code = m_k053936_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
4,
code & 0x7fff,
0xe,
@@ -69,7 +69,7 @@ TILE_GET_INFO_MEMBER(metro_state::metro_k053936_gstrik2_get_tile_info)
{
int code = m_k053936_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
4,
(code & 0x7fff)>>2,
0xe,
@@ -158,7 +158,7 @@ inline UINT8 metro_state::get_tile_pix( UINT16 code, UINT8 x, UINT8 y, int big,
}
else if (((tile & 0x00f00000) == 0x00f00000) && (m_support_8bpp)) /* draw tile as 8bpp (e.g. balcube bg) */
{
- gfx_element *gfx1 = machine().gfx[big?3:1];
+ gfx_element *gfx1 = m_gfxdecode->gfx(big?3:1);
UINT32 tile2 = big ? ((tile & 0xfffff) + 8*(code & 0xf)) :
((tile & 0xfffff) + 2*(code & 0xf));
const UINT8* data;
@@ -190,7 +190,7 @@ inline UINT8 metro_state::get_tile_pix( UINT16 code, UINT8 x, UINT8 y, int big,
}
else
{
- gfx_element *gfx1 = machine().gfx[big?2:0];
+ gfx_element *gfx1 = m_gfxdecode->gfx(big?2:0);
UINT32 tile2 = big ? ((tile & 0xfffff) + 4*(code & 0xf)) :
((tile & 0xfffff) + (code & 0xf));
const UINT8* data;
diff --git a/src/mame/video/mexico86.c b/src/mame/video/mexico86.c
index 9bfcb1b5136..0e80ec8e54f 100644
--- a/src/mame/video/mexico86.c
+++ b/src/mame/video/mexico86.c
@@ -85,7 +85,7 @@ UINT32 mexico86_state::screen_update_mexico86(screen_device &screen, bitmap_ind1
x = (sx + xc * 8) & 0xff;
y = (sy + yc * 8) & 0xff;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -143,7 +143,7 @@ UINT32 mexico86_state::screen_update_kikikai(screen_device &screen, bitmap_ind16
color = (m_videoram[goffs + 1] & 0xe0) >> 5;
goffs += 0x40;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
0,0,
@@ -152,7 +152,7 @@ UINT32 mexico86_state::screen_update_kikikai(screen_device &screen, bitmap_ind16
code = m_videoram[goffs] + ((m_videoram[goffs + 1] & 0x1f) << 8);
color = (m_videoram[goffs + 1] & 0xe0) >> 5;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
0,0,
diff --git a/src/mame/video/mikie.c b/src/mame/video/mikie.c
index 950f969af72..f7c6ffc65ae 100644
--- a/src/mame/video/mikie.c
+++ b/src/mame/video/mikie.c
@@ -128,7 +128,7 @@ TILE_GET_INFO_MEMBER(mikie_state::get_bg_tile_info)
else
tileinfo.category = 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
@@ -160,7 +160,7 @@ void mikie_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
}
- machine().gfx[gfxbank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfxbank)->transpen(bitmap,cliprect,
code, color,
flipx,flipy,
sx,sy, 0);
diff --git a/src/mame/video/mitchell.c b/src/mame/video/mitchell.c
index 21fab462d69..44f05439f5e 100644
--- a/src/mame/video/mitchell.c
+++ b/src/mame/video/mitchell.c
@@ -18,7 +18,7 @@ TILE_GET_INFO_MEMBER(mitchell_state::get_tile_info)
{
UINT8 attr = m_colorram[tile_index];
int code = m_videoram[2 * tile_index] + (m_videoram[2 * tile_index + 1] << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
attr & 0x7f,
@@ -289,7 +289,7 @@ void mitchell_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
sx = 496 - sx;
sy = 240 - sy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
m_flipscreen, m_flipscreen,
diff --git a/src/mame/video/mjkjidai.c b/src/mame/video/mjkjidai.c
index 9293bb3d2b4..3a3a7e2117c 100644
--- a/src/mame/video/mjkjidai.c
+++ b/src/mame/video/mjkjidai.c
@@ -13,7 +13,7 @@ TILE_GET_INFO_MEMBER(mjkjidai_state::get_tile_info)
int attr = m_videoram[tile_index + 0x800];
int code = m_videoram[tile_index] + ((attr & 0x1f) << 8);
int color = m_videoram[tile_index + 0x1000];
- SET_TILE_INFO_MEMBER(0,code,color >> 3,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,color >> 3,0);
}
@@ -112,7 +112,7 @@ void mjkjidai_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
sx += 16;
sy += 1;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/momoko.c b/src/mame/video/momoko.c
index 57e742b6d6f..cb4ae935619 100644
--- a/src/mame/video/momoko.c
+++ b/src/mame/video/momoko.c
@@ -142,7 +142,7 @@ UINT32 momoko_state::screen_update_momoko(screen_device &screen, bitmap_ind16 &b
py = 248 - (8 * y + dy + 9);
}
- machine().gfx[1]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect,
chr,
col,
flip,flip,
@@ -176,7 +176,7 @@ UINT32 momoko_state::screen_update_momoko(screen_device &screen, bitmap_ind16 &b
py = y + 1;
}
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
chr,
col,
!fx,fy,
@@ -238,7 +238,7 @@ UINT32 momoko_state::screen_update_momoko(screen_device &screen, bitmap_ind16 &b
px = 248 - x;
py = y + 1;
}
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
chr,
col,
!fx,fy,
@@ -271,7 +271,7 @@ UINT32 momoko_state::screen_update_momoko(screen_device &screen, bitmap_ind16 &b
px = 248 - x * 8;
py = 255 - y;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_videoram[(sy >> 3) * 32 + x] * 8 + dy,
col,
flip,0,
@@ -304,7 +304,7 @@ UINT32 momoko_state::screen_update_momoko(screen_device &screen, bitmap_ind16 &b
px = 248 - (8 * x + dx - 8);
py = 248 - (8 * y + dy + 9);
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
chr,
0, /* color */
flip,flip, /* flip */
diff --git a/src/mame/video/mosaic.c b/src/mame/video/mosaic.c
index af926444d3c..63396be95bc 100644
--- a/src/mame/video/mosaic.c
+++ b/src/mame/video/mosaic.c
@@ -18,7 +18,7 @@
TILE_GET_INFO_MEMBER(mosaic_state::get_fg_tile_info)
{
tile_index *= 2;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_fgvideoram[tile_index] + (m_fgvideoram[tile_index+1] << 8),
0,
@@ -28,7 +28,7 @@ TILE_GET_INFO_MEMBER(mosaic_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(mosaic_state::get_bg_tile_info)
{
tile_index *= 2;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_bgvideoram[tile_index] + (m_bgvideoram[tile_index+1] << 8),
0,
diff --git a/src/mame/video/mouser.c b/src/mame/video/mouser.c
index e79dd6827d5..c0d4cced98e 100644
--- a/src/mame/video/mouser.c
+++ b/src/mame/video/mouser.c
@@ -90,7 +90,7 @@ UINT32 mouser_state::screen_update_mouser(screen_device &screen, bitmap_ind16 &b
/* Note: this is _not_ dependant on flipping */
color_offs = offs % 32 + ((256 + 8 * (offs / 32) - spriteram[offs % 32] )% 256) / 8 * 32;
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
m_videoram[offs] | (m_colorram[color_offs] >> 5) * 256 | ((m_colorram[color_offs] >> 4) & 1) * 512,
m_colorram[color_offs]%16,
flip_screen_x(),flip_screen_y(),
@@ -121,7 +121,7 @@ UINT32 mouser_state::screen_update_mouser(screen_device &screen, bitmap_ind16 &b
}
if (BIT(spriteram[offs + 1], 4))
- machine().gfx[1+((spriteram[offs+1]&0x20)>>5)]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1+((spriteram[offs+1]&0x20)>>5))->transpen(bitmap,cliprect,
spriteram[offs]&0x3f,
spriteram[offs+1]%16,
flipx,flipy,
@@ -150,7 +150,7 @@ UINT32 mouser_state::screen_update_mouser(screen_device &screen, bitmap_ind16 &b
}
if (BIT(spriteram[offs + 1], 4))
- machine().gfx[1+((spriteram[offs+1]&0x20)>>5)]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1+((spriteram[offs+1]&0x20)>>5))->transpen(bitmap,cliprect,
spriteram[offs]&0x3f,
spriteram[offs+1]%16,
flipx,flipy,
diff --git a/src/mame/video/mrdo.c b/src/mame/video/mrdo.c
index b6b59dce9cc..70b4409724c 100644
--- a/src/mame/video/mrdo.c
+++ b/src/mame/video/mrdo.c
@@ -137,7 +137,7 @@ void mrdo_state::palette_init()
TILE_GET_INFO_MEMBER(mrdo_state::get_bg_tile_info)
{
UINT8 attr = m_bgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_bgvideoram[tile_index + 0x400] + ((attr & 0x80) << 1),
attr & 0x3f,
@@ -147,7 +147,7 @@ TILE_GET_INFO_MEMBER(mrdo_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(mrdo_state::get_fg_tile_info)
{
UINT8 attr = m_fgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_fgvideoram[tile_index+0x400] + ((attr & 0x80) << 1),
attr & 0x3f,
@@ -242,7 +242,7 @@ void mrdo_state::draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect )
{
if (spriteram[offs + 1] != 0)
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
spriteram[offs], spriteram[offs + 2] & 0x0f,
spriteram[offs + 2] & 0x10, spriteram[offs + 2] & 0x20,
spriteram[offs + 3], 256 - spriteram[offs + 1], 0);
diff --git a/src/mame/video/mrflea.c b/src/mame/video/mrflea.c
index 7ffb1975405..53b1d886f7f 100644
--- a/src/mame/video/mrflea.c
+++ b/src/mame/video/mrflea.c
@@ -41,7 +41,7 @@ WRITE8_MEMBER(mrflea_state::mrflea_spriteram_w)
void mrflea_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
const UINT8 *source = m_spriteram;
const UINT8 *finish = source + 0x100;
rectangle clip = m_screen->visible_area();
@@ -72,7 +72,7 @@ void mrflea_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
void mrflea_state::draw_background( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
const UINT8 *source = m_videoram;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
int sx, sy;
int base = 0;
diff --git a/src/mame/video/mrjong.c b/src/mame/video/mrjong.c
index 7fc4687146b..f4a16baa59c 100644
--- a/src/mame/video/mrjong.c
+++ b/src/mame/video/mrjong.c
@@ -96,7 +96,7 @@ TILE_GET_INFO_MEMBER(mrjong_state::get_bg_tile_info)
int color = m_colorram[tile_index] & 0x1f;
int flags = ((m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void mrjong_state::video_start()
@@ -133,7 +133,7 @@ void mrjong_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
sprt,
color,
flipx, flipy,
diff --git a/src/mame/video/ms32.c b/src/mame/video/ms32.c
index 4613ad03c45..022ac59f39b 100644
--- a/src/mame/video/ms32.c
+++ b/src/mame/video/ms32.c
@@ -27,7 +27,7 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_tx_tile_info)
tileno = m_txram[tile_index *2] & 0xffff;
colour = m_txram[tile_index *2+1] & 0x000f;
- SET_TILE_INFO_MEMBER(3,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3,tileno,colour,0);
}
TILE_GET_INFO_MEMBER(ms32_state::get_ms32_roz_tile_info)
@@ -37,7 +37,7 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_roz_tile_info)
tileno = m_rozram[tile_index *2] & 0xffff;
colour = m_rozram[tile_index *2+1] & 0x000f;
- SET_TILE_INFO_MEMBER(1,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno,colour,0);
}
TILE_GET_INFO_MEMBER(ms32_state::get_ms32_bg_tile_info)
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_bg_tile_info)
tileno = m_bgram[tile_index *2] & 0xffff;
colour = m_bgram[tile_index *2+1] & 0x000f;
- SET_TILE_INFO_MEMBER(2,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,tileno,colour,0);
}
TILE_GET_INFO_MEMBER(ms32_state::get_ms32_extra_tile_info)
@@ -57,7 +57,7 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_extra_tile_info)
tileno = m_f1superb_extraram[tile_index *2] & 0xffff;
colour = m_f1superb_extraram[tile_index *2+1] & 0x000f;
- SET_TILE_INFO_MEMBER(4,tileno,colour+0x50,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 4,tileno,colour+0x50,0);
}
@@ -202,7 +202,7 @@ void ms32_state::draw_sprites(bitmap_ind16 &bitmap, bitmap_ind8 &bitmap_pri, con
int code, attr, color, size;
int pri;
int xzoom, yzoom;
- gfx_element *gfx = machine().gfx[gfxnum];
+ gfx_element *gfx = m_gfxdecode->gfx(gfxnum);
UINT16 *source = sprram_top;
UINT16 *finish = sprram_top + (sprram_size - 0x10) / 2;
diff --git a/src/mame/video/msisaac.c b/src/mame/video/msisaac.c
index 076c4f095a3..6fa665f30c4 100644
--- a/src/mame/video/msisaac.c
+++ b/src/mame/video/msisaac.c
@@ -15,7 +15,7 @@
TILE_GET_INFO_MEMBER(msisaac_state::get_fg_tile_info)
{
int tile_number = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER( 0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
tile_number,
0x10,
0);
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(msisaac_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(msisaac_state::get_bg_tile_info)
{
int tile_number = m_videoram2[tile_index];
- SET_TILE_INFO_MEMBER( 1,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,
0x100 + tile_number,
0x30,
0);
@@ -37,7 +37,7 @@ TILE_GET_INFO_MEMBER(msisaac_state::get_bg2_tile_info)
/* graphics 0 or 1 */
int gfx_b = (m_bg2_textbank >> 3) & 1;
- SET_TILE_INFO_MEMBER( gfx_b,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfx_b,
tile_number,
0x20,
0);
@@ -163,12 +163,12 @@ void msisaac_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
int flipx = (attributes & 0x1);
int flipy = (attributes & 0x2);
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
if (attributes & 4)
{
//color = rand() & 15;
- gfx = machine().gfx[3];
+ gfx = m_gfxdecode->gfx(3);
}
if (attributes & 8) /* double size sprite */
diff --git a/src/mame/video/mugsmash.c b/src/mame/video/mugsmash.c
index c1cfe75e721..4f1b4736fbf 100644
--- a/src/mame/video/mugsmash.c
+++ b/src/mame/video/mugsmash.c
@@ -26,7 +26,7 @@ void mugsmash_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
const UINT16 *source = m_spriteram;
const UINT16 *finish = source + 0x2000;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
while (source < finish)
{
@@ -73,7 +73,7 @@ TILE_GET_INFO_MEMBER(mugsmash_state::get_mugsmash_tile_info1)
colour = m_videoram1[tile_index * 2] & 0x000f;
fx = (m_videoram1[tile_index * 2] & 0xc0) >> 6;
- SET_TILE_INFO_MEMBER(1, tileno, colour, TILE_FLIPYX(fx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, colour, TILE_FLIPYX(fx));
}
WRITE16_MEMBER(mugsmash_state::mugsmash_videoram1_w)
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(mugsmash_state::get_mugsmash_tile_info2)
colour = m_videoram2[tile_index * 2] & 0x000f;
fx = (m_videoram2[tile_index * 2] & 0xc0) >> 6;
- SET_TILE_INFO_MEMBER(1, tileno, 16 + colour, TILE_FLIPYX(fx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, 16 + colour, TILE_FLIPYX(fx));
}
WRITE16_MEMBER(mugsmash_state::mugsmash_videoram2_w)
diff --git a/src/mame/video/munchmo.c b/src/mame/video/munchmo.c
index 29daa3efef0..7bae0a76894 100644
--- a/src/mame/video/munchmo.c
+++ b/src/mame/video/munchmo.c
@@ -48,7 +48,7 @@ void munchmo_state::video_start()
void munchmo_state::draw_status( bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int row;
for (row = 0; row < 4; row++)
@@ -80,7 +80,7 @@ void munchmo_state::draw_background( bitmap_ind16 &bitmap, const rectangle &clip
the tiles in ROM B2.2B
*/
UINT8 *rom = memregion("gfx2")->base();
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
int offs;
for (offs = 0; offs < 0x100; offs++)
@@ -117,7 +117,7 @@ void munchmo_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
int flags = m_vreg[7]; /* XB?????? */
int xadjust = - 128 - 16 - ((flags & 0x80) ? 1 : 0);
int bank = (flags & 0x40) ? 1 : 0;
- gfx_element *gfx = machine().gfx[2 + bank];
+ gfx_element *gfx = m_gfxdecode->gfx(2 + bank);
int color_base = m_palette_bank * 4 + 3;
int i, j;
int firstsprite = m_vreg[4] & 0x3f;
diff --git a/src/mame/video/mustache.c b/src/mame/video/mustache.c
index ead4306090d..a4b4a178126 100644
--- a/src/mame/video/mustache.c
+++ b/src/mame/video/mustache.c
@@ -83,7 +83,7 @@ TILE_GET_INFO_MEMBER(mustache_state::get_bg_tile_info)
int code = videoram[2 * tile_index] + ((attr & 0x60) << 3) + ((m_control_byte & 0x08) << 7);
int color = attr & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0) );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0) );
}
@@ -99,7 +99,7 @@ void mustache_state::video_start()
void mustache_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
rectangle clip = cliprect;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
const rectangle &visarea = m_screen->visible_area();
UINT8 *spriteram = m_spriteram;
int offs;
diff --git a/src/mame/video/mystston.c b/src/mame/video/mystston.c
index 4da2c668efa..02f8c8080ee 100644
--- a/src/mame/video/mystston.c
+++ b/src/mame/video/mystston.c
@@ -152,7 +152,7 @@ TILE_GET_INFO_MEMBER(mystston_state::get_bg_tile_info)
int code = ((m_bg_videoram[page | 0x200 | tile_index] & 0x01) << 8) | m_bg_videoram[page | tile_index];
int flags = (tile_index & 0x10) ? TILE_FLIPY : 0;
- SET_TILE_INFO_MEMBER(1, code, 0, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, flags);
}
@@ -161,7 +161,7 @@ TILE_GET_INFO_MEMBER(mystston_state::get_fg_tile_info)
int code = ((m_fg_videoram[0x400 | tile_index] & 0x07) << 8) | m_fg_videoram[tile_index];
int color = ((*m_video_control & 0x01) << 1) | ((*m_video_control & 0x02) >> 1);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -253,7 +253,7 @@ UINT32 mystston_state::screen_update_mystston(screen_device &screen, bitmap_ind1
machine().tilemap().set_flip_all(flip ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- draw_sprites(bitmap, cliprect, machine().gfx[2], flip);
+ draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(2), flip);
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@@ -311,7 +311,7 @@ MACHINE_CONFIG_FRAGMENT( mystston_video )
MCFG_VIDEO_START_OVERRIDE(mystston_state,mystston)
MCFG_VIDEO_RESET_OVERRIDE(mystston_state,mystston)
- MCFG_GFXDECODE(mystston)
+ MCFG_GFXDECODE_ADD("gfxdecode", mystston)
MCFG_PALETTE_LENGTH(0x40)
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/video/mystwarr.c b/src/mame/video/mystwarr.c
index 93985bbe7dd..7cbad9fe959 100644
--- a/src/mame/video/mystwarr.c
+++ b/src/mame/video/mystwarr.c
@@ -14,14 +14,15 @@
// reading the original raw data
static void mystwarr_decode_tiles(running_machine &machine)
{
+ mystwarr_state *state = machine.driver_data<mystwarr_state>();
UINT8 *s = machine.root_device().memregion("gfx1")->base();
int len = machine.root_device().memregion("gfx1")->bytes();
UINT8 *pFinish = s+len-3;
UINT8 *d, *decoded;
int gfxnum;
- for (gfxnum = 0; gfxnum < ARRAY_LENGTH(machine.gfx); gfxnum++)
- if (machine.gfx[gfxnum] != NULL && machine.gfx[gfxnum]->srcdata() == s)
+ for (gfxnum = 0; gfxnum < ARRAY_LENGTH(state->m_gfxdecode->gfx()); gfxnum++)
+ if (state->m_gfxdecode->gfx(gfxnum) != NULL && state->m_gfxdecode->gfx(gfxnum)->srcdata() == s)
break;
assert(gfxnum != ARRAY_LENGTH(machine.gfx));
@@ -54,7 +55,7 @@ static void mystwarr_decode_tiles(running_machine &machine)
d += 5;
}
- machine.gfx[gfxnum]->set_source(decoded);
+ state->m_gfxdecode->gfx(gfxnum)->set_source(decoded);
}
@@ -156,7 +157,7 @@ TILE_GET_INFO_MEMBER(mystwarr_state::get_gai_936_tile_info)
colour |= m_sub1_colorbase << 4;
- SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour, 0);
}
VIDEO_START_MEMBER(mystwarr_state,gaiapols)
@@ -196,7 +197,7 @@ TILE_GET_INFO_MEMBER(mystwarr_state::get_ult_936_tile_info)
colour = m_sub1_colorbase;
- SET_TILE_INFO_MEMBER(0, tileno, colour, (dat1[tile_index]&0x40) ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour, (dat1[tile_index]&0x40) ? TILE_FLIPX : 0);
}
VIDEO_START_MEMBER(mystwarr_state,dadandrn)
diff --git a/src/mame/video/namcona1.c b/src/mame/video/namcona1.c
index 264ab937aa5..ffddba954ba 100644
--- a/src/mame/video/namcona1.c
+++ b/src/mame/video/namcona1.c
@@ -36,11 +36,11 @@ void namcona1_state::tilemap_get_info(
if( data & 0x8000 )
{
- SET_TILE_INFO_MEMBER( gfx,tile,tilemap_color,TILE_FORCE_LAYER0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfx,tile,tilemap_color,TILE_FORCE_LAYER0 );
}
else
{
- SET_TILE_INFO_MEMBER( gfx,tile,tilemap_color,0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfx,tile,tilemap_color,0 );
if (ENDIANNESS_NATIVE == ENDIANNESS_BIG)
tileinfo.mask_data = (UINT8 *)(m_shaperam+4*tile);
else
@@ -102,7 +102,7 @@ TILE_GET_INFO_MEMBER(namcona1_state::roz_get_info)
}
if( data & 0x8000 )
{
- SET_TILE_INFO_MEMBER( gfx,tile,tilemap_color,TILE_FORCE_LAYER0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfx,tile,tilemap_color,TILE_FORCE_LAYER0 );
}
else
{
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(namcona1_state::roz_get_info)
conv_data[7] = source[3]&0xff;
mask_data = conv_data;
}
- SET_TILE_INFO_MEMBER( gfx,tile,tilemap_color,0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfx,tile,tilemap_color,0 );
tileinfo.mask_data = mask_data;
}
} /* roz_get_info */
@@ -254,7 +254,7 @@ WRITE16_MEMBER(namcona1_state::namcona1_gfxram_w)
old_word = m_shaperam[offset];
COMBINE_DATA( &m_shaperam[offset] );
if( m_shaperam[offset]!=old_word )
- machine().gfx[2]->mark_dirty(offset/4);
+ m_gfxdecode->gfx(2)->mark_dirty(offset/4);
}
}
else if( type == 0x02 )
@@ -263,8 +263,8 @@ WRITE16_MEMBER(namcona1_state::namcona1_gfxram_w)
COMBINE_DATA( &m_cgram[offset] );
if( m_cgram[offset]!=old_word )
{
- machine().gfx[0]->mark_dirty(offset/0x20);
- machine().gfx[1]->mark_dirty(offset/0x20);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/0x20);
+ m_gfxdecode->gfx(1)->mark_dirty(offset/0x20);
}
}
} /* namcona1_gfxram_w */
@@ -291,9 +291,9 @@ void namcona1_state::video_start()
m_shaperam = auto_alloc_array_clear(machine(), UINT16, 0x2000*4/2 );
m_cgram = auto_alloc_array_clear(machine(), UINT16, 0x1000*0x40/2 );
- 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 ));
+ m_gfxdecode->set_gfx(0, auto_alloc( machine(), gfx_element( machine(), cg_layout_8bpp, (UINT8 *)m_cgram, machine().total_colors()/256, 0 )));
+ m_gfxdecode->set_gfx(1, auto_alloc( machine(), gfx_element( machine(), cg_layout_4bpp, (UINT8 *)m_cgram, machine().total_colors()/16, 0 )));
+ m_gfxdecode->set_gfx(2, auto_alloc( machine(), gfx_element( machine(), shape_layout, (UINT8 *)m_shaperam, machine().total_colors()/2, 0 )));
} /* namcona1_vh_start */
@@ -312,8 +312,9 @@ static void pdraw_tile(
int bOpaque,
int gfx_region )
{
- gfx_element *gfx = screen.machine().gfx[gfx_region];
- gfx_element *mask = screen.machine().gfx[2];
+ namcona1_state *state = screen.machine().driver_data<namcona1_state>();
+ gfx_element *gfx = state->m_gfxdecode->gfx(gfx_region);
+ gfx_element *mask = state->m_gfxdecode->gfx(2);
int pal_base = gfx->colorbase() + gfx->granularity() * (color % gfx->colors());
const UINT8 *source_base = gfx->get_data((code % gfx->elements()));
@@ -559,7 +560,7 @@ static void draw_background(screen_device &screen, bitmap_ind16 &bitmap, const r
const pen_t *paldata;
gfx_element *pGfx;
- pGfx = screen.machine().gfx[0];
+ pGfx = state->m_gfxdecode->gfx(0);
paldata = &screen.machine().pens[pGfx->colorbase() + pGfx->granularity() * state->m_tilemap_palette_bank[which]];
/* draw one scanline at a time */
diff --git a/src/mame/video/namcos1.c b/src/mame/video/namcos1.c
index 62f52d06b81..7e13bad498a 100644
--- a/src/mame/video/namcos1.c
+++ b/src/mame/video/namcos1.c
@@ -56,7 +56,7 @@ inline void namcos1_state::bg_get_info(tile_data &tileinfo,int tile_index,UINT8
tile_index <<= 1;
code = info_vram[tile_index + 1] + ((info_vram[tile_index] & 0x3f) << 8);
- SET_TILE_INFO_MEMBER(0,code,0,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,0,0);
tileinfo.mask_data = &m_tilemap_maskdata[code << 3];
}
@@ -66,7 +66,7 @@ inline void namcos1_state::fg_get_info(tile_data &tileinfo,int tile_index,UINT8
tile_index <<= 1;
code = info_vram[tile_index + 1] + ((info_vram[tile_index] & 0x3f) << 8);
- SET_TILE_INFO_MEMBER(0,code,0,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,0,0);
tileinfo.mask_data = &m_tilemap_maskdata[code << 3];
}
@@ -295,7 +295,7 @@ static void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rect
UINT8 *spriteram = state->m_spriteram + 0x800;
const UINT8 *source = &spriteram[0x800-0x20]; /* the last is NOT a sprite */
const UINT8 *finish = &spriteram[0];
- gfx_element *gfx = screen.machine().gfx[1];
+ gfx_element *gfx = state->m_gfxdecode->gfx(1);
int sprite_xoffs = spriteram[0x07f5] + ((spriteram[0x07f4] & 1) << 8);
int sprite_yoffs = spriteram[0x07f7];
diff --git a/src/mame/video/namcos2.c b/src/mame/video/namcos2.c
index 199afb13115..5ae337bccce 100644
--- a/src/mame/video/namcos2.c
+++ b/src/mame/video/namcos2.c
@@ -49,7 +49,7 @@ WRITE16_MEMBER( namcos2_state::gfx_ctrl_w )
TILE_GET_INFO_MEMBER( namcos2_state::roz_tile_info )
{
int tile = m_rozram[tile_index];
- SET_TILE_INFO_MEMBER(3,tile,0/*color*/,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3,tile,0/*color*/,0);
} /* roz_tile_info */
struct RozParam
diff --git a/src/mame/video/namcos22.c b/src/mame/video/namcos22.c
index dfa7d89fafb..646e20d4242 100644
--- a/src/mame/video/namcos22.c
+++ b/src/mame/video/namcos22.c
@@ -503,7 +503,7 @@ void namcos22_renderer::poly3d_drawsprite(
int alpha
)
{
- gfx_element *gfx = screen.machine().gfx[2];
+ gfx_element *gfx = m_state.m_gfxdecode->gfx(2);
int sprite_screen_height = (scaley * gfx->height() + 0x8000) >> 16;
int sprite_screen_width = (scalex * gfx->width() + 0x8000) >> 16;
if (sprite_screen_width && sprite_screen_height)
@@ -1727,7 +1727,7 @@ TILE_GET_INFO_MEMBER(namcos22_state::get_text_tile_info)
* ----.xx--.----.---- flip
* ----.--xx.xxxx.xxxx code
*/
- SET_TILE_INFO_MEMBER(0, data & 0x03ff, data >> 12, TILE_FLIPYX((data & 0x0c00) >> 10));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, data & 0x03ff, data >> 12, TILE_FLIPYX((data & 0x0c00) >> 10));
}
WRITE32_MEMBER(namcos22_state::namcos22_textram_w)
@@ -1740,7 +1740,7 @@ WRITE32_MEMBER(namcos22_state::namcos22_textram_w)
WRITE32_MEMBER(namcos22_state::namcos22_cgram_w)
{
COMBINE_DATA(&m_cgram[offset]);
- machine().gfx[0]->mark_dirty(offset/32);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/32);
}
READ32_MEMBER(namcos22_state::namcos22_tilemapattr_r)
@@ -2391,11 +2391,11 @@ void namcos22_state::init_tables()
m_pointram = auto_alloc_array_clear(machine(), UINT32, 0x20000);
// textures
- for (int i = 0; i < machine().gfx[1]->elements(); i++)
- machine().gfx[1]->decode(i);
+ for (int i = 0; i < m_gfxdecode->gfx(1)->elements(); i++)
+ m_gfxdecode->gfx(1)->decode(i);
m_texture_tilemap = (UINT16 *)memregion("textilemap")->base();
- m_texture_tiledata = (UINT8 *)machine().gfx[1]->get_data(0);
+ m_texture_tiledata = (UINT8 *)m_gfxdecode->gfx(1)->get_data(0);
m_texture_tileattr = auto_alloc_array(machine(), UINT8, 0x080000*2);
// unpack textures
@@ -2471,7 +2471,7 @@ VIDEO_START_MEMBER(namcos22_state,common)
m_bgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos22_state::get_text_tile_info), this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
m_bgtilemap->set_transparent_pen(0xf);
- machine().gfx[0]->set_source((UINT8 *)m_cgram.target());
+ m_gfxdecode->gfx(0)->set_source((UINT8 *)m_cgram.target());
m_poly = auto_alloc(machine(), namcos22_renderer(*this));
}
diff --git a/src/mame/video/namcos86.c b/src/mame/video/namcos86.c
index b80382cbf7f..ab2af8d6005 100644
--- a/src/mame/video/namcos86.c
+++ b/src/mame/video/namcos86.c
@@ -96,7 +96,7 @@ inline void namcos86_state::get_tile_info(tile_data &tileinfo,int tile_index,int
else
tile_offs = ((m_tile_address_prom[((layer & 1) << 4) + ((attr & 0x03) << 2)] & 0x0e) >> 1) * 0x100 + m_tilebank * 0x800;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
(layer & 2) ? 1 : 0,
vram[2*tile_index] + tile_offs,
attr,
@@ -273,12 +273,12 @@ static void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rect
namcos86_state *state = screen.machine().driver_data<namcos86_state>();
const UINT8 *source = &state->m_spriteram[0x0800-0x20]; /* the last is NOT a sprite */
const UINT8 *finish = &state->m_spriteram[0];
- gfx_element *gfx = screen.machine().gfx[2];
+ gfx_element *gfx = state->m_gfxdecode->gfx(2);
int sprite_xoffs = state->m_spriteram[0x07f5] + ((state->m_spriteram[0x07f4] & 1) << 8);
int sprite_yoffs = state->m_spriteram[0x07f7];
- int bank_sprites = screen.machine().gfx[2]->elements() / 8;
+ int bank_sprites = state->m_gfxdecode->gfx(2)->elements() / 8;
while (source >= finish)
{
@@ -363,7 +363,7 @@ UINT32 namcos86_state::screen_update_namcos86(screen_device &screen, bitmap_ind1
screen.priority().fill(0, cliprect);
- bitmap.fill(machine().gfx[0]->colorbase() + 8*m_backcolor+7, cliprect);
+ bitmap.fill(m_gfxdecode->gfx(0)->colorbase() + 8*m_backcolor+7, cliprect);
for (layer = 0;layer < 8;layer++)
{
diff --git a/src/mame/video/naughtyb.c b/src/mame/video/naughtyb.c
index b2e26d6d05e..46f798b61a4 100644
--- a/src/mame/video/naughtyb.c
+++ b/src/mame/video/naughtyb.c
@@ -222,13 +222,13 @@ UINT32 naughtyb_state::screen_update_naughtyb(screen_device &screen, bitmap_ind1
}
}
- machine().gfx[0]->opaque(tmpbitmap,tmpbitmap.cliprect(),
+ m_gfxdecode->gfx(0)->opaque(tmpbitmap,tmpbitmap.cliprect(),
m_videoram2[offs] + 256 * m_bankreg,
(m_videoram2[offs] >> 5) + 8 * m_palreg,
m_cocktail,m_cocktail,
8*sx,8*sy);
- machine().gfx[1]->transpen(tmpbitmap,tmpbitmap.cliprect(),
+ m_gfxdecode->gfx(1)->transpen(tmpbitmap,tmpbitmap.cliprect(),
videoram[offs] + 256*m_bankreg,
(videoram[offs] >> 5) + 8 * m_palreg,
m_cocktail,m_cocktail,
diff --git a/src/mame/video/nemesis.c b/src/mame/video/nemesis.c
index f055a484f10..61d94f83956 100644
--- a/src/mame/video/nemesis.c
+++ b/src/mame/video/nemesis.c
@@ -40,11 +40,11 @@ TILE_GET_INFO_MEMBER(nemesis_state::get_bg_tile_info)
if (code & 0xf800)
{
- SET_TILE_INFO_MEMBER( 0, code & 0x7ff, color & 0x7f, flags );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x7ff, color & 0x7f, flags );
}
else
{
- SET_TILE_INFO_MEMBER( 0, 0, 0x00, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, 0, 0x00, 0 );
tileinfo.pen_data = m_blank_tile;
}
@@ -75,11 +75,11 @@ TILE_GET_INFO_MEMBER(nemesis_state::get_fg_tile_info)
if (code & 0xf800)
{
- SET_TILE_INFO_MEMBER( 0, code & 0x7ff, color & 0x7f, flags );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x7ff, color & 0x7f, flags );
}
else
{
- SET_TILE_INFO_MEMBER( 0, 0, 0x00, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, 0, 0x00, 0 );
tileinfo.pen_data = m_blank_tile;
}
@@ -257,7 +257,7 @@ WRITE16_MEMBER(nemesis_state::nemesis_charram_word_w)
{
int w = sprite_data[i].width;
int h = sprite_data[i].height;
- machine().gfx[sprite_data[i].char_type]->mark_dirty(offset * 4 / (w * h));
+ m_gfxdecode->gfx(sprite_data[i].char_type)->mark_dirty(offset * 4 / (w * h));
}
}
}
@@ -273,7 +273,7 @@ void nemesis_state::nemesis_postload()
{
int w = sprite_data[i].width;
int h = sprite_data[i].height;
- machine().gfx[sprite_data[i].char_type]->mark_dirty(offs * 4 / (w * h));
+ m_gfxdecode->gfx(sprite_data[i].char_type)->mark_dirty(offs * 4 / (w * h));
}
}
m_background->mark_all_dirty();
@@ -297,14 +297,14 @@ void nemesis_state::video_start()
memset(m_charram, 0, m_charram.bytes());
memset(m_blank_tile, 0, ARRAY_LENGTH(m_blank_tile));
- 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());
+ m_gfxdecode->gfx(0)->set_source((UINT8 *)m_charram.target());
+ m_gfxdecode->gfx(1)->set_source((UINT8 *)m_charram.target());
+ m_gfxdecode->gfx(2)->set_source((UINT8 *)m_charram.target());
+ m_gfxdecode->gfx(3)->set_source((UINT8 *)m_charram.target());
+ m_gfxdecode->gfx(4)->set_source((UINT8 *)m_charram.target());
+ m_gfxdecode->gfx(5)->set_source((UINT8 *)m_charram.target());
+ m_gfxdecode->gfx(6)->set_source((UINT8 *)m_charram.target());
+ m_gfxdecode->gfx(7)->set_source((UINT8 *)m_charram.target());
/* Set up save state */
machine().save().register_postload(save_prepost_delegate(FUNC(nemesis_state::nemesis_postload), this));
@@ -386,7 +386,7 @@ void nemesis_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c
flipy = !flipy;
}
- machine().gfx[char_type]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(char_type)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/news.c b/src/mame/video/news.c
index bae306664a5..36cd59a5bbb 100644
--- a/src/mame/video/news.c
+++ b/src/mame/video/news.c
@@ -11,7 +11,7 @@
TILE_GET_INFO_MEMBER(news_state::get_fg_tile_info)
{
int code = (m_fgram[tile_index * 2] << 8) | m_fgram[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0x0fff,
(code & 0xf000) >> 12,
@@ -27,7 +27,7 @@ TILE_GET_INFO_MEMBER(news_state::get_bg_tile_info)
if ((code & 0x0e00) == 0x0e00)
code = (code & 0x1ff) | (m_bgpic << 9);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
diff --git a/src/mame/video/ninjakd2.c b/src/mame/video/ninjakd2.c
index 6389cb08932..a31851c2a1c 100644
--- a/src/mame/video/ninjakd2.c
+++ b/src/mame/video/ninjakd2.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(ninjakd2_state::get_fg_tile_info)
int const flipyx = (hi & 0x30) >> 4;
int const color = hi & 0x0f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -39,7 +39,7 @@ TILE_GET_INFO_MEMBER(ninjakd2_state::ninjakd2_get_bg_tile_info)
int const flipyx = (hi & 0x30) >> 4;
int const color = hi & 0x0f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile,
color,
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(ninjakd2_state::mnight_get_bg_tile_info)
int const flipy = (hi & 0x20) >> 5;
int const color = hi & 0x0f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile,
color,
@@ -80,7 +80,7 @@ void ninjakd2_state::robokid_get_bg_tile_info( tile_data& tileinfo, tilemap_memo
int const tile = ((hi & 0x10) << 7) | ((hi & 0x20) << 5) | ((hi & 0xc0) << 2) | lo;
int const color = hi & 0x0f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfxnum,
tile,
color,
@@ -337,7 +337,7 @@ WRITE8_MEMBER(ninjakd2_state::ninjakd2_sprite_overdraw_w)
void ninjakd2_state::draw_sprites( bitmap_ind16 &bitmap)
{
- gfx_element* const gfx = machine().gfx[1];
+ gfx_element* const gfx = m_gfxdecode->gfx(1);
int const big_xshift = m_robokid_sprites ? 1 : 0;
int const big_yshift = m_robokid_sprites ? 0 : 1;
diff --git a/src/mame/video/ninjaw.c b/src/mame/video/ninjaw.c
index e8dacba0c1c..f7a6542d58c 100644
--- a/src/mame/video/ninjaw.c
+++ b/src/mame/video/ninjaw.c
@@ -76,7 +76,7 @@ void ninjaw_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
cury = y;
code = tilenum;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
curx, cury, 0);
diff --git a/src/mame/video/nitedrvr.c b/src/mame/video/nitedrvr.c
index 461f95605da..2137d8b1d15 100644
--- a/src/mame/video/nitedrvr.c
+++ b/src/mame/video/nitedrvr.c
@@ -25,7 +25,7 @@ TILE_GET_INFO_MEMBER(nitedrvr_state::get_bg_tile_info)
{
int code = m_videoram[tile_index] & 0x3f;
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
diff --git a/src/mame/video/nmk16.c b/src/mame/video/nmk16.c
index ff0a2516587..49bc22c79f1 100644
--- a/src/mame/video/nmk16.c
+++ b/src/mame/video/nmk16.c
@@ -38,32 +38,32 @@ TILEMAP_MAPPER_MEMBER(nmk16_state::afega_tilemap_scan_pages)
TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg0_tile_info)
{
int code = m_nmk_bgvideoram0[tile_index];
- SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
}
TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg1_tile_info)
{
int code = m_nmk_bgvideoram1[tile_index];
- SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
}
TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg2_tile_info)
{
int code = m_nmk_bgvideoram2[tile_index];
- SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
}
TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg3_tile_info)
{
int code = m_nmk_bgvideoram3[tile_index];
- SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
}
TILE_GET_INFO_MEMBER(nmk16_state::strahl_get_fg_tile_info)
{
int code = m_nmk_fgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
(code & 0xfff),
code >> 12,
@@ -73,7 +73,7 @@ TILE_GET_INFO_MEMBER(nmk16_state::strahl_get_fg_tile_info)
TILE_GET_INFO_MEMBER(nmk16_state::macross_get_tx_tile_info)
{
int code = m_nmk_txvideoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code & 0xfff,
code >> 12,
@@ -84,7 +84,7 @@ TILE_GET_INFO_MEMBER(nmk16_state::bjtwin_get_bg_tile_info)
{
int code = m_nmk_bgvideoram0[tile_index];
int bank = (code & 0x800) ? 1 : 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
bank,
(code & 0x7ff) + ((bank) ? (m_bgbank << 11) : 0),
code >> 12,
@@ -94,7 +94,7 @@ TILE_GET_INFO_MEMBER(nmk16_state::bjtwin_get_bg_tile_info)
TILE_GET_INFO_MEMBER(nmk16_state::get_tile_info_0_8bit)
{
UINT16 code = m_nmk_bgvideoram0[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
0,
@@ -419,7 +419,7 @@ inline void nmk16_state::nmk16_draw_sprite(bitmap_ind16 &bitmap, const rectangle
xx = w;
do
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flip_screen(), flip_screen(),
@@ -467,7 +467,7 @@ inline void nmk16_state::nmk16_draw_sprite_flipsupported(bitmap_ind16 &bitmap, c
xx = w;
do
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx, flipy,
@@ -596,7 +596,7 @@ int nmk16_state::nmk16_bioshipbg_sprflip_tx_update(screen_device &screen, bitmap
int numtile = data&0xfff;
int color = (data&0xf000)>>12;
- screen.machine().gfx[3]->opaque(*m_background_bitmap,m_background_bitmap->cliprect(),
+ m_gfxdecode->gfx(3)->opaque(*m_background_bitmap,m_background_bitmap->cliprect(),
numtile,
color,
0,0, /* no flip */
@@ -605,7 +605,7 @@ int nmk16_state::nmk16_bioshipbg_sprflip_tx_update(screen_device &screen, bitmap
data = tilerom[offs+0x1000+bank];
numtile = data&0xfff;
color = (data&0xf000)>>12;
- screen.machine().gfx[3]->opaque(*m_background_bitmap,m_background_bitmap->cliprect(),
+ m_gfxdecode->gfx(3)->opaque(*m_background_bitmap,m_background_bitmap->cliprect(),
numtile,
color,
0,0, /* no flip */
diff --git a/src/mame/video/nova2001.c b/src/mame/video/nova2001.c
index b7851368224..a5cba8c8c75 100644
--- a/src/mame/video/nova2001.c
+++ b/src/mame/video/nova2001.c
@@ -82,7 +82,7 @@ TILE_GET_INFO_MEMBER(nova2001_state::nova2001_get_bg_tile_info)
int code = m_bg_videoram[tile_index];
int color = m_bg_videoram[tile_index + 0x400] & 0x0f;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
TILE_GET_INFO_MEMBER(nova2001_state::nova2001_get_fg_tile_info)
@@ -91,7 +91,7 @@ TILE_GET_INFO_MEMBER(nova2001_state::nova2001_get_fg_tile_info)
int code = m_fg_videoram[tile_index];
int color = attr & 0x0f;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
tileinfo.category = (attr & 0x10) >> 4;
}
@@ -102,7 +102,7 @@ TILE_GET_INFO_MEMBER(nova2001_state::ninjakun_get_bg_tile_info)
int code = m_bg_videoram[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x0f;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
TILE_GET_INFO_MEMBER(nova2001_state::ninjakun_get_fg_tile_info)
@@ -111,7 +111,7 @@ TILE_GET_INFO_MEMBER(nova2001_state::ninjakun_get_fg_tile_info)
int code = m_fg_videoram[tile_index] + ((attr & 0x20) << 3);
int color = attr & 0x0f;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
tileinfo.category = (attr & 0x10) >> 4;
}
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(nova2001_state::pkunwar_get_bg_tile_info)
int code = m_bg_videoram[tile_index] + ((attr & 0x07) << 8);
int color = (attr & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
tileinfo.category = (attr & 0x08) >> 3;
}
@@ -133,7 +133,7 @@ TILE_GET_INFO_MEMBER(nova2001_state::raiders5_get_bg_tile_info)
int code = m_bg_videoram[tile_index] + ((attr & 0x01) << 8);
int color = (attr & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
TILE_GET_INFO_MEMBER(nova2001_state::raiders5_get_fg_tile_info)
@@ -141,7 +141,7 @@ TILE_GET_INFO_MEMBER(nova2001_state::raiders5_get_fg_tile_info)
int code = m_fg_videoram[tile_index];
int color = (m_fg_videoram[tile_index + 0x400] & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
@@ -257,7 +257,7 @@ WRITE8_MEMBER(nova2001_state::pkunwar_flipscreen_w)
void nova2001_state::nova2001_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int offs;
for (offs = 0; offs < 0x800; offs += 32)
@@ -294,7 +294,7 @@ void nova2001_state::nova2001_draw_sprites(bitmap_ind16 &bitmap, const rectangle
void nova2001_state::pkunwar_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
int offs;
for (offs = 0; offs < 0x800; offs += 32)
diff --git a/src/mame/video/nycaptor.c b/src/mame/video/nycaptor.c
index 07d826a0d03..e827c46b0d1 100644
--- a/src/mame/video/nycaptor.c
+++ b/src/mame/video/nycaptor.c
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(nycaptor_state::get_tile_info)
}
#endif
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index * 2] + ((m_videoram[tile_index * 2 + 1] & 0xc0) << 2) + 0x400 * m_char_bank,
pal, 0
@@ -173,7 +173,7 @@ void nycaptor_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipx = BIT(m_spriteram[offs + 1], 6);
flipy = BIT(m_spriteram[offs + 1], 7);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
pal,
flipx,flipy,
@@ -182,7 +182,7 @@ void nycaptor_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
if (m_spriteram[offs + 3] > 240)
{
sx = (m_spriteram[offs + 3] - 256);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
pal,
flipx,flipy,
diff --git a/src/mame/video/offtwall.c b/src/mame/video/offtwall.c
index d5f49ba387b..f9a0b816da8 100644
--- a/src/mame/video/offtwall.c
+++ b/src/mame/video/offtwall.c
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(offtwall_state::get_playfield_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) >> 8;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
}
diff --git a/src/mame/video/ohmygod.c b/src/mame/video/ohmygod.c
index 34bd2ed53dc..5e8f0627173 100644
--- a/src/mame/video/ohmygod.c
+++ b/src/mame/video/ohmygod.c
@@ -11,7 +11,7 @@ TILE_GET_INFO_MEMBER(ohmygod_state::get_tile_info)
{
UINT16 code = m_videoram[2 * tile_index + 1];
UINT16 attr = m_videoram[2 * tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
(attr & 0x0f00) >> 8,
@@ -90,7 +90,7 @@ void ohmygod_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
sy -= 65536;
flipx = sr[offs + 3] & 0x8000;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,0,
diff --git a/src/mame/video/ojankohs.c b/src/mame/video/ojankohs.c
index 3c450ce567f..9c043436e0a 100644
--- a/src/mame/video/ojankohs.c
+++ b/src/mame/video/ojankohs.c
@@ -161,7 +161,7 @@ TILE_GET_INFO_MEMBER(ojankohs_state::ojankohs_get_tile_info)
color |= (m_gfxreg & 0xe0) >> 2;
}
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
}
TILE_GET_INFO_MEMBER(ojankohs_state::ojankoy_get_tile_info)
@@ -171,7 +171,7 @@ TILE_GET_INFO_MEMBER(ojankohs_state::ojankoy_get_tile_info)
int flipx = ((m_colorram[tile_index] & 0x40) >> 6) ? TILEMAP_FLIPX : 0;
int flipy = ((m_colorram[tile_index] & 0x80) >> 7) ? TILEMAP_FLIPY : 0;
- SET_TILE_INFO_MEMBER(0, tile, color, (flipx | flipy));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, (flipx | flipy));
}
diff --git a/src/mame/video/oneshot.c b/src/mame/video/oneshot.c
index 3df906225cf..18c63cd218f 100644
--- a/src/mame/video/oneshot.c
+++ b/src/mame/video/oneshot.c
@@ -9,7 +9,7 @@ TILE_GET_INFO_MEMBER(oneshot_state::get_oneshot_bg_tile_info)
{
int tileno = m_bg_videoram[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, 0, 0);
}
WRITE16_MEMBER(oneshot_state::oneshot_bg_videoram_w)
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(oneshot_state::get_oneshot_mid_tile_info)
{
int tileno = m_mid_videoram[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(0, tileno, 2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, 2, 0);
}
WRITE16_MEMBER(oneshot_state::oneshot_mid_videoram_w)
@@ -38,7 +38,7 @@ TILE_GET_INFO_MEMBER(oneshot_state::get_oneshot_fg_tile_info)
{
int tileno = m_fg_videoram[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(0, tileno, 3, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, 3, 0);
}
WRITE16_MEMBER(oneshot_state::oneshot_fg_videoram_w)
@@ -94,7 +94,7 @@ void oneshot_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
{
const UINT16 *source = m_sprites;
const UINT16 *finish = source + (0x1000 / 2);
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
int xpos, ypos;
diff --git a/src/mame/video/orbit.c b/src/mame/video/orbit.c
index f0fbbae88e8..fa6bb6b644d 100644
--- a/src/mame/video/orbit.c
+++ b/src/mame/video/orbit.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(orbit_state::get_tile_info)
if (m_flip_screen)
flags |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(3, code & 0x3f, 0, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, code & 0x3f, 0, flags);
}
@@ -69,7 +69,7 @@ void orbit_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
hpos <<= 1;
vpos <<= 1;
- machine().gfx[layout]->zoom_transpen(bitmap,cliprect, code, 0, flip_x, flip_y,
+ m_gfxdecode->gfx(layout)->zoom_transpen(bitmap,cliprect, code, 0, flip_x, flip_y,
hpos, vpos, zoom_x, zoom_y, 0);
}
}
diff --git a/src/mame/video/othunder.c b/src/mame/video/othunder.c
index 9ac00795a39..34e086b2b29 100644
--- a/src/mame/video/othunder.c
+++ b/src/mame/video/othunder.c
@@ -64,7 +64,7 @@ spriteram is being tested, take no notice of that.]
void othunder_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, const int *primasks, int y_offs )
{
UINT16 *spritemap = (UINT16 *)memregion("user1")->base();
- UINT16 tile_mask = (machine().gfx[0]->elements()) - 1;
+ UINT16 tile_mask = (m_gfxdecode->gfx(0)->elements()) - 1;
UINT16 *spriteram16 = m_spriteram;
int offs, data, tilenum, color, flipx, flipy;
int x, y, priority, curx, cury;
@@ -164,7 +164,7 @@ void othunder_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
}
else
{
- machine().gfx[0]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
@@ -182,7 +182,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
{
sprite_ptr--;
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
diff --git a/src/mame/video/pacland.c b/src/mame/video/pacland.c
index 835d6d525d8..75853626703 100644
--- a/src/mame/video/pacland.c
+++ b/src/mame/video/pacland.c
@@ -101,15 +101,15 @@ void pacland_state::palette_init()
/* 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, m_gfxdecode->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, m_gfxdecode->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, m_gfxdecode->gfx(2)->colorbase() + i, *color_prom++);
m_palette_bank = 0;
switch_palette();
@@ -128,7 +128,7 @@ void pacland_state::palette_init()
/* 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, m_gfxdecode->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 */
@@ -163,7 +163,7 @@ TILE_GET_INFO_MEMBER(pacland_state::get_bg_tile_info)
int color = ((attr & 0x3e) >> 1) + ((code & 0x1c0) >> 1);
int flags = TILE_FLIPYX(attr >> 6);
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(pacland_state::get_fg_tile_info)
@@ -177,7 +177,7 @@ TILE_GET_INFO_MEMBER(pacland_state::get_fg_tile_info)
tileinfo.category = (attr & 0x20) ? 1 : 0;
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
@@ -202,11 +202,11 @@ void pacland_state::video_start()
/* 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(m_gfxdecode->gfx(0)->colors() <= TILEMAP_NUM_GROUPS);
+ for (color = 0; color < m_gfxdecode->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);
+ UINT32 mask = colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0x7f);
+ mask |= colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0xff);
m_fg_tilemap->set_transmask(color, mask, 0);
}
@@ -312,13 +312,13 @@ void pacland_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, co
for (x = 0;x <= sizex;x++)
{
if (whichmask != 0)
- machine().gfx[2]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transmask(bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,
sx + 16*x,sy + 16*y,m_transmask[whichmask][color]);
else
- machine().gfx[2]->prio_transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->prio_transmask(bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,
diff --git a/src/mame/video/pacman.c b/src/mame/video/pacman.c
index c03c4408e4e..76597b9f204 100644
--- a/src/mame/video/pacman.c
+++ b/src/mame/video/pacman.c
@@ -138,7 +138,7 @@ TILE_GET_INFO_MEMBER(pacman_state::pacman_get_tile_info)
int code = m_videoram[tile_index] | (m_charbank << 8);
int attr = (m_colorram[tile_index] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6 );
- SET_TILE_INFO_MEMBER(0,code,attr,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,attr,0);
}
/***************************************************************************
@@ -243,20 +243,20 @@ UINT32 pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16 &b
color = ( spriteram[offs + 1] & 0x1f ) | (m_colortablebank << 5) | (m_palettebank << 6 );
- machine().gfx[1]->transmask(bitmap,spriteclip,
+ m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip,
( spriteram[offs] >> 2 ) | (m_spritebank << 6),
color,
fx,fy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color & 0x3f, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color & 0x3f, 0));
/* also plot the sprite with wraparound (tunnel in Crush Roller) */
- machine().gfx[1]->transmask(bitmap,spriteclip,
+ m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip,
( spriteram[offs] >> 2 ) | (m_spritebank << 6),
color,
fx,fy,
sx - 256,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color & 0x3f, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color & 0x3f, 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 */
@@ -281,20 +281,20 @@ UINT32 pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16 &b
fx = (spriteram[offs] & 1) ^ m_inv_spr;
fy = (spriteram[offs] & 2) ^ ((m_inv_spr) << 1);
- machine().gfx[1]->transmask(bitmap,spriteclip,
+ m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip,
( spriteram[offs] >> 2 ) | (m_spritebank << 6),
color,
fx,fy,
sx,sy + m_xoffsethack,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color & 0x3f, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color & 0x3f, 0));
/* also plot the sprite with wraparound (tunnel in Crush Roller) */
- machine().gfx[1]->transmask(bitmap,spriteclip,
+ m_gfxdecode->gfx(1)->transmask(bitmap,spriteclip,
( spriteram[offs] >> 2 ) | (m_spritebank << 6),
color,
fy,fx, //FIXME: flipping bits are really supposed to be inverted here?
sx - 256,sy + m_xoffsethack,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color & 0x3f, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color & 0x3f, 0));
}
}
@@ -370,7 +370,7 @@ TILE_GET_INFO_MEMBER(pacman_state::s2650_get_tile_info)
code = m_videoram[tile_index] + (colbank << 8);
attr = m_colorram[tile_index & 0x1f];
- SET_TILE_INFO_MEMBER(0,code,attr & 0x1f,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,attr & 0x1f,0);
}
VIDEO_START_MEMBER(pacman_state,s2650games)
@@ -410,12 +410,12 @@ UINT32 pacman_state::screen_update_s2650games(screen_device &screen, bitmap_ind1
color = spriteram[offs + 1] & 0x1f;
/* TODO: ?? */
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
(spriteram[offs] >> 2) | ((m_s2650_spriteram[offs] & 3) << 6),
color,
spriteram[offs] & 1,spriteram[offs] & 2,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color & 0x3f, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color & 0x3f, 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 */
@@ -430,12 +430,12 @@ UINT32 pacman_state::screen_update_s2650games(screen_device &screen, bitmap_ind1
color = spriteram[offs + 1] & 0x1f;
/* TODO: ?? */
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
(spriteram[offs] >> 2) | ((m_s2650_spriteram[offs] & 3)<<6),
color,
spriteram[offs] & 1,spriteram[offs] & 2,
sx,sy + m_xoffsethack,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color & 0x3f, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color & 0x3f, 0));
}
return 0;
}
@@ -515,7 +515,7 @@ TILE_GET_INFO_MEMBER(pacman_state::jrpacman_get_tile_info)
code = m_videoram[tile_index] | (m_charbank << 8);
attr = (m_videoram[color_index] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6 );
- SET_TILE_INFO_MEMBER(0,code,attr,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,attr,0);
}
void pacman_state::jrpacman_mark_tile_dirty( int offset )
diff --git a/src/mame/video/pandoras.c b/src/mame/video/pandoras.c
index 55ee6ba74b7..f039843ce14 100644
--- a/src/mame/video/pandoras.c
+++ b/src/mame/video/pandoras.c
@@ -91,7 +91,7 @@ void pandoras_state::palette_init()
TILE_GET_INFO_MEMBER(pandoras_state::get_tile_info0)
{
UINT8 attr = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_videoram[tile_index] + ((attr & 0x10) << 4),
attr & 0x0f,
@@ -159,12 +159,12 @@ void pandoras_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
int nflipx = sr[offs + 3] & 0x40;
int nflipy = sr[offs + 3] & 0x80;
- machine().gfx[0]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transmask(bitmap,cliprect,
sr[offs + 2],
color,
!nflipx,!nflipy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[0], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0));
}
}
diff --git a/src/mame/video/paradise.c b/src/mame/video/paradise.c
index 2af75cb77e6..58308b47873 100644
--- a/src/mame/video/paradise.c
+++ b/src/mame/video/paradise.c
@@ -97,7 +97,7 @@ WRITE8_MEMBER(paradise_state::paradise_palbank_w)
TILE_GET_INFO_MEMBER(paradise_state::get_tile_info_0)
{
int code = m_vram_0[tile_index] + (m_vram_0[tile_index + 0x400] << 8);
- SET_TILE_INFO_MEMBER(1, code, m_palbank, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, m_palbank, 0);
}
@@ -111,7 +111,7 @@ WRITE8_MEMBER(paradise_state::paradise_vram_1_w)
TILE_GET_INFO_MEMBER(paradise_state::get_tile_info_1)
{
int code = m_vram_1[tile_index] + (m_vram_1[tile_index + 0x400] << 8);
- SET_TILE_INFO_MEMBER(2, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, 0, 0);
}
@@ -125,7 +125,7 @@ WRITE8_MEMBER(paradise_state::paradise_vram_2_w)
TILE_GET_INFO_MEMBER(paradise_state::get_tile_info_2)
{
int code = m_vram_2[tile_index] + (m_vram_2[tile_index + 0x400] << 8);
- SET_TILE_INFO_MEMBER(3, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, code, 0, 0);
}
/* 256 x 256 bitmap. 4 bits per pixel so every byte encodes 2 pixels */
@@ -199,20 +199,20 @@ void paradise_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
y = 0xf0 - y; flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code + (attr << 8),
0,
flipx, flipy,
x,y, 0xff );
/* wrap around x */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code + (attr << 8),
0,
flipx, flipy,
x - 256,y, 0xff );
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code + (attr << 8),
0,
flipx, flipy,
diff --git a/src/mame/video/pass.c b/src/mame/video/pass.c
index 9b8ab77565b..1755d883db3 100644
--- a/src/mame/video/pass.c
+++ b/src/mame/video/pass.c
@@ -11,7 +11,7 @@ TILE_GET_INFO_MEMBER(pass_state::get_pass_bg_tile_info)
tileno = m_bg_videoram[tile_index] & 0x1fff;
fx = (m_bg_videoram[tile_index] & 0xc000) >> 14;
- SET_TILE_INFO_MEMBER(1, tileno, 0, TILE_FLIPYX(fx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, 0, TILE_FLIPYX(fx));
}
@@ -30,7 +30,7 @@ TILE_GET_INFO_MEMBER(pass_state::get_pass_fg_tile_info)
tileno = m_fg_videoram[tile_index] & 0x3fff;
flip = (m_fg_videoram[tile_index] & 0xc000) >>14;
- SET_TILE_INFO_MEMBER(0, tileno, 0, TILE_FLIPYX(flip));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, 0, TILE_FLIPYX(flip));
}
diff --git a/src/mame/video/pbaction.c b/src/mame/video/pbaction.c
index 975aa47f0e6..904f15af561 100644
--- a/src/mame/video/pbaction.c
+++ b/src/mame/video/pbaction.c
@@ -55,7 +55,7 @@ TILE_GET_INFO_MEMBER(pbaction_state::get_bg_tile_info)
int color = attr & 0x07;
int flags = (attr & 0x80) ? TILE_FLIPY : 0;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(pbaction_state::get_fg_tile_info)
@@ -65,7 +65,7 @@ TILE_GET_INFO_MEMBER(pbaction_state::get_fg_tile_info)
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void pbaction_state::video_start()
@@ -115,7 +115,7 @@ void pbaction_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipy = !flipy;
}
- machine().gfx[(spriteram[offs] & 0x80) ? 3 : 2]->transpen(bitmap,cliprect, /* normal or double size */
+ m_gfxdecode->gfx((spriteram[offs] & 0x80) ? 3 : 2)->transpen(bitmap,cliprect, /* normal or double size */
spriteram[offs],
spriteram[offs + 1] & 0x0f,
flipx,flipy,
diff --git a/src/mame/video/pc080sn.c b/src/mame/video/pc080sn.c
index b8c80023eea..703b3b003ad 100644
--- a/src/mame/video/pc080sn.c
+++ b/src/mame/video/pc080sn.c
@@ -51,7 +51,8 @@ const device_type PC080SN = &device_creator<pc080sn_device>;
pc080sn_device::pc080sn_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, PC080SN, "Taito PC080SN", tag, owner, clock, "pc080sn", __FILE__),
- m_ram(NULL)
+ m_ram(NULL),
+ m_gfxdecode(*this)
//m_bg_ram[0](NULL),
//m_bg_ram[1](NULL),
//m_bgscroll_ram[0](NULL),
@@ -60,6 +61,16 @@ pc080sn_device::pc080sn_device(const machine_config &mconfig, const char *tag, d
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void pc080sn_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<pc080sn_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -142,7 +153,7 @@ void pc080sn_device::common_get_pc080sn_bg_tile_info( tile_data &tileinfo, int t
attr = ram[tile_index];
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
gfxnum,
code,
(attr & 0x1ff),
@@ -169,7 +180,7 @@ void pc080sn_device::common_get_pc080sn_fg_tile_info( tile_data &tileinfo, int t
attr = ram[tile_index];
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
gfxnum,
code,
(attr & 0x1ff),
diff --git a/src/mame/video/pc080sn.h b/src/mame/video/pc080sn.h
index 14bfe7bf5b3..8c540f1e143 100644
--- a/src/mame/video/pc080sn.h
+++ b/src/mame/video/pc080sn.h
@@ -17,6 +17,9 @@ public:
pc080sn_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~pc080sn_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_READ16_MEMBER( word_r );
DECLARE_WRITE16_MEMBER( word_w );
DECLARE_WRITE16_MEMBER( xscroll_word_w );
@@ -58,7 +61,7 @@ public:
int m_bgscrollx[2], m_bgscrolly[2];
tilemap_t *m_tilemap[2];
-
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type PC080SN;
@@ -67,4 +70,7 @@ extern const device_type PC080SN;
MCFG_DEVICE_ADD(_tag, PC080SN, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_PC080SN_GFXDECODE(_gfxtag) \
+ pc080sn_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/pc090oj.c b/src/mame/video/pc090oj.c
index e22b473f855..a96fda8bdf6 100644
--- a/src/mame/video/pc090oj.c
+++ b/src/mame/video/pc090oj.c
@@ -79,11 +79,23 @@ pc090oj_device::pc090oj_device(const machine_config &mconfig, const char *tag, d
m_ctrl(0),
m_sprite_ctrl(0),
m_ram(NULL),
- m_ram_buffered(0)
+ m_ram_buffered(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void pc090oj_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<pc090oj_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -219,7 +231,7 @@ void pc090oj_device::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
x += m_x_offset;
y += m_y_offset;
- machine().gfx[m_gfxnum]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxnum)->prio_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/pc090oj.h b/src/mame/video/pc090oj.h
index e27750647f6..a0afb3c47e9 100644
--- a/src/mame/video/pc090oj.h
+++ b/src/mame/video/pc090oj.h
@@ -16,6 +16,9 @@ public:
pc090oj_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~pc090oj_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_READ16_MEMBER( word_r );
DECLARE_WRITE16_MEMBER( word_w );
@@ -45,6 +48,7 @@ private:
UINT16 * m_ram;
UINT16 * m_ram_buffered;
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type PC090OJ;
@@ -53,4 +57,7 @@ extern const device_type PC090OJ;
MCFG_DEVICE_ADD(_tag, PC090OJ, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_PC090OJ_GFXDECODE(_gfxtag) \
+ pc090oj_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/pcktgal.c b/src/mame/video/pcktgal.c
index 361a8d34f43..03a175afcc9 100644
--- a/src/mame/video/pcktgal.c
+++ b/src/mame/video/pcktgal.c
@@ -54,7 +54,7 @@ void pcktgal_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
if (flipy) flipy=0; else flipy=1;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
spriteram[offs+3] + ((spriteram[offs+1] & 1) << 8),
(spriteram[offs+1] & 0x70) >> 4,
flipx,flipy,
diff --git a/src/mame/video/pgm.c b/src/mame/video/pgm.c
index 4316b06c971..490a85649a3 100644
--- a/src/mame/video/pgm.c
+++ b/src/mame/video/pgm.c
@@ -579,7 +579,7 @@ TILE_GET_INFO_MEMBER(pgm_state::get_pgm_tx_tilemap_tile_info)
colour = (m_tx_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
flipyx = (m_tx_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
- SET_TILE_INFO_MEMBER(0,tileno,colour,TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour,TILE_FLIPYX(flipyx));
}
/* BG Layer */
@@ -601,7 +601,7 @@ TILE_GET_INFO_MEMBER(pgm_state::get_pgm_bg_tilemap_tile_info)
colour = (m_bg_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
flipyx = (m_bg_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
- SET_TILE_INFO_MEMBER(1,tileno,colour,TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno,colour,TILE_FLIPYX(flipyx));
}
diff --git a/src/mame/video/phoenix.c b/src/mame/video/phoenix.c
index 9e79354b1b3..467c6e3f067 100644
--- a/src/mame/video/phoenix.c
+++ b/src/mame/video/phoenix.c
@@ -142,7 +142,7 @@ TILE_GET_INFO_MEMBER(phoenix_state::get_fg_tile_info)
code = m_videoram_pg[m_videoram_pg_index][tile_index];
col = (code >> 5);
col = col | 0x08 | (m_palette_bank << 4);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
col,
@@ -156,7 +156,7 @@ TILE_GET_INFO_MEMBER(phoenix_state::get_bg_tile_info)
code = m_videoram_pg[m_videoram_pg_index][tile_index + 0x800];
col = (code >> 5);
col = col | 0x00 | (m_palette_bank << 4);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
col,
diff --git a/src/mame/video/pingpong.c b/src/mame/video/pingpong.c
index d12b06dbdca..7f92fd6ce8f 100644
--- a/src/mame/video/pingpong.c
+++ b/src/mame/video/pingpong.c
@@ -102,7 +102,7 @@ TILE_GET_INFO_MEMBER(pingpong_state::get_bg_tile_info)
int color = attr & 0x1f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void pingpong_state::video_start()
@@ -133,12 +133,12 @@ void pingpong_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
color = spriteram[offs] & 0x1f;
schar = spriteram[offs + 2] & 0x7f;
- machine().gfx[1]->transmask(bitmap,spritevisiblearea,
+ m_gfxdecode->gfx(1)->transmask(bitmap,spritevisiblearea,
schar,
color,
flipx,flipy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
diff --git a/src/mame/video/pirates.c b/src/mame/video/pirates.c
index 89b7ffd3a88..ab9687638c8 100644
--- a/src/mame/video/pirates.c
+++ b/src/mame/video/pirates.c
@@ -11,7 +11,7 @@ TILE_GET_INFO_MEMBER(pirates_state::get_tx_tile_info)
int code = m_tx_tileram[tile_index*2];
int colr = m_tx_tileram[tile_index*2+1];
- SET_TILE_INFO_MEMBER(0,code,colr,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,colr,0);
}
TILE_GET_INFO_MEMBER(pirates_state::get_fg_tile_info)
@@ -19,7 +19,7 @@ TILE_GET_INFO_MEMBER(pirates_state::get_fg_tile_info)
int code = m_fg_tileram[tile_index*2];
int colr = m_fg_tileram[tile_index*2+1]+0x80;
- SET_TILE_INFO_MEMBER(0,code,colr,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,colr,0);
}
TILE_GET_INFO_MEMBER(pirates_state::get_bg_tile_info)
@@ -27,7 +27,7 @@ TILE_GET_INFO_MEMBER(pirates_state::get_bg_tile_info)
int code = m_bg_tileram[tile_index*2];
int colr = m_bg_tileram[tile_index*2+1]+ 0x100;
- SET_TILE_INFO_MEMBER(0,code,colr,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,colr,0);
}
@@ -69,7 +69,7 @@ WRITE16_MEMBER(pirates_state::pirates_bg_tileram_w)
void pirates_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
UINT16 *source = m_spriteram + 4;
UINT16 *finish = source + 0x800/2-4;
diff --git a/src/mame/video/pitnrun.c b/src/mame/video/pitnrun.c
index e37d0d33b04..d1c4b890153 100644
--- a/src/mame/video/pitnrun.c
+++ b/src/mame/video/pitnrun.c
@@ -26,7 +26,7 @@ TILE_GET_INFO_MEMBER(pitnrun_state::get_tile_info1)
UINT8 *videoram = m_videoram;
int code;
code = videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
0,
@@ -37,7 +37,7 @@ TILE_GET_INFO_MEMBER(pitnrun_state::get_tile_info2)
{
int code;
code = m_videoram2[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code + (m_char_bank<<8),
m_color_select&1,
@@ -196,7 +196,7 @@ void pitnrun_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
flipy = !flipy;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
(spriteram[offs+1]&0x3f)+((spriteram[offs+2]&0x80)>>1)+((spriteram[offs+2]&0x40)<<1),
pal,
flipx,flipy,
diff --git a/src/mame/video/pktgaldx.c b/src/mame/video/pktgaldx.c
index da5a4ca59ab..8fa4e6f61cf 100644
--- a/src/mame/video/pktgaldx.c
+++ b/src/mame/video/pktgaldx.c
@@ -43,7 +43,7 @@ UINT32 pktgaldx_state::screen_update_pktgaldb(screen_device &screen, bitmap_ind1
y &= 0x1ff;
y -= 8;
- machine().gfx[0]->transpen(bitmap,cliprect, tileno ^ 0x1000, colour, 0, 0, x, y, 0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, tileno ^ 0x1000, colour, 0, 0, x, y, 0);
}
for (offset = 0x1600/2; offset < 0x2000 / 2; offset += 8)
@@ -57,7 +57,7 @@ UINT32 pktgaldx_state::screen_update_pktgaldb(screen_device &screen, bitmap_ind1
y &= 0x1ff;
y -= 8;
- machine().gfx[0]->transpen(bitmap,cliprect, tileno ^ 0x4000, colour, 0, 0, x, y, 0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, tileno ^ 0x4000, colour, 0, 0, x, y, 0);
}
for (offset = 0x2000/2; offset < 0x4000 / 2; offset += 8)
@@ -71,7 +71,7 @@ UINT32 pktgaldx_state::screen_update_pktgaldb(screen_device &screen, bitmap_ind1
y &= 0x1ff;
y -= 8;
- machine().gfx[0]->transpen(bitmap,cliprect, tileno ^ 0x3000, colour, 0, 0, x, y, 0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, tileno ^ 0x3000, colour, 0, 0, x, y, 0);
}
return 0;
diff --git a/src/mame/video/playch10.c b/src/mame/video/playch10.c
index 4cd4262804d..cb311bbbf18 100644
--- a/src/mame/video/playch10.c
+++ b/src/mame/video/playch10.c
@@ -83,7 +83,7 @@ TILE_GET_INFO_MEMBER(playch10_state::get_bg_tile_info)
int code = videoram[offs] + ((videoram[offs + 1] & 0x07) << 8);
int color = (videoram[offs + 1] >> 3) & 0x1f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void playch10_state::video_start()
diff --git a/src/mame/video/playmark.c b/src/mame/video/playmark.c
index 527519b7aa0..62239df0da9 100644
--- a/src/mame/video/playmark.c
+++ b/src/mame/video/playmark.c
@@ -12,7 +12,7 @@ TILE_GET_INFO_MEMBER(playmark_state::bigtwin_get_tx_tile_info)
{
UINT16 code = m_videoram1[2 * tile_index];
UINT16 color = m_videoram1[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
color,
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(playmark_state::bigtwin_get_fg_tile_info)
{
UINT16 code = m_videoram2[2 * tile_index];
UINT16 color = m_videoram2[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
color,
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_tx_tile_info)
UINT16 code = m_videoram1[2 * tile_index];
UINT16 color = m_videoram1[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
color / 4,
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_fg_tile_info)
UINT16 code = m_videoram2[2 * tile_index];
UINT16 color = m_videoram2[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0x7fff,
color / 4 + 8,
@@ -59,7 +59,7 @@ TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_bg_tile_info)
UINT16 code = m_videoram3[2 * tile_index];
UINT16 color = m_videoram3[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0x7fff,
color / 4,
@@ -71,7 +71,7 @@ TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_tx_tile_info)
int code = m_videoram1[tile_index] & 0x03ff;
int colr = m_videoram1[tile_index] & 0xe000;
- SET_TILE_INFO_MEMBER(2,code + m_txt_tile_offset, colr >> 13, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,code + m_txt_tile_offset, colr >> 13, 0);
}
TILE_GET_INFO_MEMBER(playmark_state::bigtwinb_get_tx_tile_info)
@@ -79,7 +79,7 @@ TILE_GET_INFO_MEMBER(playmark_state::bigtwinb_get_tx_tile_info)
int code = m_videoram1[tile_index] & 0x0fff;
int colr = m_videoram1[tile_index] & 0xf000;
- SET_TILE_INFO_MEMBER(2,code + m_txt_tile_offset, colr >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,code + m_txt_tile_offset, colr >> 12, 0);
}
TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_fg_tile_info)
@@ -87,7 +87,7 @@ TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_fg_tile_info)
int code = m_videoram2[tile_index] & 0x1fff;
int colr = m_videoram2[tile_index] & 0xe000;
- SET_TILE_INFO_MEMBER(1,code + m_fg_tile_offset,(colr >> 13) + 8,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,code + m_fg_tile_offset,(colr >> 13) + 8,0);
}
TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_bg_tile_info)
@@ -95,7 +95,7 @@ TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_bg_tile_info)
int code = m_videoram3[tile_index] & 0x1fff;
int colr = m_videoram3[tile_index] & 0xe000;
- SET_TILE_INFO_MEMBER(1, code, colr >> 13, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, colr >> 13, 0);
}
/***************************************************************************
@@ -405,8 +405,8 @@ WRITE16_MEMBER(playmark_state::hrdtimes_scroll_w)
void playmark_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int codeshift )
{
int offs, start_offset = m_spriteram.bytes() / 2 - 4;
- int height = machine().gfx[0]->height();
- int colordiv = machine().gfx[0]->granularity() / 16;
+ int height = m_gfxdecode->gfx(0)->height();
+ int colordiv = m_gfxdecode->gfx(0)->granularity() / 16;
UINT16 *spriteram = m_spriteram;
// find the "end of list" to draw the sprites in reverse order
@@ -435,7 +435,7 @@ void playmark_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
if(!pri && (color & 0x0c) == 0x0c)
pri = 2;
- machine().gfx[0]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect,
code,
color,
flipx,0,
@@ -448,7 +448,7 @@ void playmark_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
void playmark_state::bigtwinb_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int codeshift )
{
int offs, start_offset = m_spriteram.bytes() / 2 - 4;
- int height = machine().gfx[0]->height();
+ int height = m_gfxdecode->gfx(0)->height();
UINT16 *spriteram = m_spriteram;
// find the "end of list" to draw the sprites in reverse order
@@ -473,7 +473,7 @@ void playmark_state::bigtwinb_draw_sprites( screen_device &screen, bitmap_ind16
code = spriteram[offs + 2] >> codeshift;
color = ((spriteram[offs + 1] & 0xf000) >> 12);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,0,
diff --git a/src/mame/video/plygonet.c b/src/mame/video/plygonet.c
index 824dc8ecc08..bd1dc1ada52 100644
--- a/src/mame/video/plygonet.c
+++ b/src/mame/video/plygonet.c
@@ -21,7 +21,7 @@ TILE_GET_INFO_MEMBER(polygonet_state::ttl_get_tile_info)
attr = m_ttl_vram[tile_index]>>12; /* palette in all 4 bits? */
- SET_TILE_INFO_MEMBER(m_ttl_gfx_index, code, attr, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_ttl_gfx_index, code, attr, 0);
}
TILE_GET_INFO_MEMBER(polygonet_state::roz_get_tile_info)
@@ -31,7 +31,7 @@ TILE_GET_INFO_MEMBER(polygonet_state::roz_get_tile_info)
attr = (m_roz_vram[tile_index] >> 12) + 16; /* roz base palette is palette 16 */
code = m_roz_vram[tile_index] & 0x3ff;
- SET_TILE_INFO_MEMBER(0, code, attr, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, attr, 0);
}
READ32_MEMBER(polygonet_state::polygonet_ttl_ram_r)
@@ -93,13 +93,13 @@ void polygonet_state::video_start()
/* find first empty slot to decode gfx */
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)
+ if (m_gfxdecode->gfx(m_ttl_gfx_index) == 0)
break;
assert(m_ttl_gfx_index != MAX_GFX_ELEMENTS);
/* decode the ttl layer's gfx */
- machine().gfx[m_ttl_gfx_index] = auto_alloc(machine(), gfx_element(machine(), charlayout, memregion("gfx1")->base(), machine().total_colors() / 16, 0));
+ m_gfxdecode->set_gfx(m_ttl_gfx_index, auto_alloc(machine(), gfx_element(machine(), charlayout, memregion("gfx1")->base(), machine().total_colors() / 16, 0)));
/* create the tilemap */
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);
diff --git a/src/mame/video/pokechmp.c b/src/mame/video/pokechmp.c
index 757b1196cc0..7007f477b9f 100644
--- a/src/mame/video/pokechmp.c
+++ b/src/mame/video/pokechmp.c
@@ -26,7 +26,7 @@ TILE_GET_INFO_MEMBER(pokechmp_state::get_bg_tile_info)
int code = videoram[tile_index*2+1] + ((videoram[tile_index*2] & 0x3f) << 8);
int color = videoram[tile_index*2] >> 6;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void pokechmp_state::video_start()
@@ -62,7 +62,7 @@ void pokechmp_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
if (spriteram[offs+1] & 0x01) tileno += 0x100;
if (spriteram[offs+1] & 0x08) tileno += 0x200;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tileno,
(spriteram[offs+1] & 0xf0) >> 4,
flipx,flipy,
diff --git a/src/mame/video/polepos.c b/src/mame/video/polepos.c
index 34d5de1b96b..f96146d501d 100644
--- a/src/mame/video/polepos.c
+++ b/src/mame/video/polepos.c
@@ -149,7 +149,7 @@ TILE_GET_INFO_MEMBER(polepos_state::bg_get_tile_info)
UINT16 word = m_view16_memory[tile_index];
int code = (word & 0xff) | ((word & 0x4000) >> 6);
int color = (word & 0x3f00) >> 8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
color,
@@ -174,7 +174,7 @@ TILE_GET_INFO_MEMBER(polepos_state::tx_get_tile_info)
/* 128V input to the palette PROM */
if (tile_index >= 32*16) color |= 0x40;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -195,7 +195,7 @@ VIDEO_START_MEMBER(polepos_state,polepos)
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, m_tx_tilemap, machine().gfx[0], 0x2f);
+ colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, m_gfxdecode->gfx(0), 0x2f);
}
@@ -419,7 +419,7 @@ void polepos_state::zoom_sprite(bitmap_ind16 &bitmap,int big,
UINT32 code,UINT32 color,int flipx,int sx,int sy,
int sizex,int sizey)
{
- gfx_element *gfx = machine().gfx[big ? 3 : 2];
+ gfx_element *gfx = m_gfxdecode->gfx(big ? 3 : 2);
const UINT8 *gfxdata = gfx->get_data(code % gfx->elements());
UINT8 *scaling_rom = memregion("gfx6")->base();
UINT32 transmask = colortable_get_transpen_mask(machine().colortable, gfx, color, 0x1f);
diff --git a/src/mame/video/polyplay.c b/src/mame/video/polyplay.c
index 594adf53a86..35ff071863f 100644
--- a/src/mame/video/polyplay.c
+++ b/src/mame/video/polyplay.c
@@ -33,7 +33,7 @@ WRITE8_MEMBER(polyplay_state::polyplay_characterram_w)
{
if (m_characterram[offset] != data)
{
- machine().gfx[1]->mark_dirty((offset >> 3) & 0x7f);
+ m_gfxdecode->gfx(1)->mark_dirty((offset >> 3) & 0x7f);
m_characterram[offset] = data;
}
@@ -41,7 +41,7 @@ WRITE8_MEMBER(polyplay_state::polyplay_characterram_w)
void polyplay_state::video_start()
{
- machine().gfx[1]->set_source(m_characterram);
+ m_gfxdecode->gfx(1)->set_source(m_characterram);
}
@@ -57,7 +57,7 @@ UINT32 polyplay_state::screen_update_polyplay(screen_device &screen, bitmap_ind1
int sy = offs >> 6 << 3;
UINT8 code = videoram[offs];
- machine().gfx[(code >> 7) & 0x01]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx((code >> 7) & 0x01)->opaque(bitmap,cliprect,
code, 0, 0, 0, sx, sy);
}
diff --git a/src/mame/video/poolshrk.c b/src/mame/video/poolshrk.c
index 3557820841b..54f11c6a44b 100644
--- a/src/mame/video/poolshrk.c
+++ b/src/mame/video/poolshrk.c
@@ -12,7 +12,7 @@ Atari Poolshark video emulation
TILE_GET_INFO_MEMBER(poolshrk_state::get_tile_info)
{
- SET_TILE_INFO_MEMBER(1, m_playfield_ram[tile_index] & 0x3f, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, m_playfield_ram[tile_index] & 0x3f, 0, 0);
}
@@ -40,7 +40,7 @@ UINT32 poolshrk_state::screen_update_poolshrk(screen_device &screen, bitmap_ind1
int hpos = m_hpos_ram[i];
int vpos = m_vpos_ram[i];
- machine().gfx[0]->transpen(bitmap,cliprect, i, (i == 0) ? 0 : 1, 0, 0,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, i, (i == 0) ? 0 : 1, 0, 0,
248 - hpos, vpos - 15, 0);
}
diff --git a/src/mame/video/pooyan.c b/src/mame/video/pooyan.c
index bb917a21600..64a0c8bcd5d 100644
--- a/src/mame/video/pooyan.c
+++ b/src/mame/video/pooyan.c
@@ -103,7 +103,7 @@ TILE_GET_INFO_MEMBER(pooyan_state::get_bg_tile_info)
int color = attr & 0x0f;
int flags = TILE_FLIPYX(attr >> 6);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
@@ -171,12 +171,12 @@ void pooyan_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
int flipy = spriteram_2[offs] & 0x80;
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
code,
color,
flipx, flipy,
sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
diff --git a/src/mame/video/popeye.c b/src/mame/video/popeye.c
index 38ad7a07527..8328cfd7750 100644
--- a/src/mame/video/popeye.c
+++ b/src/mame/video/popeye.c
@@ -234,7 +234,7 @@ TILE_GET_INFO_MEMBER(popeye_state::get_fg_tile_info)
int code = m_videoram[tile_index];
int color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void popeye_state::video_start()
@@ -357,7 +357,7 @@ void popeye_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
sy = 496 - sy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code ^ 0x1ff,
color,
flipx,flipy,
diff --git a/src/mame/video/popper.c b/src/mame/video/popper.c
index 286df5fa555..78d2ed72261 100644
--- a/src/mame/video/popper.c
+++ b/src/mame/video/popper.c
@@ -108,7 +108,7 @@ TILE_GET_INFO_MEMBER(popper_state::get_popper_p123_tile_info)
UINT8 attr = m_attribram[tile_index];
tile_number += m_gfx_bank << 8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
(attr & 0xf),
@@ -125,7 +125,7 @@ TILE_GET_INFO_MEMBER(popper_state::get_popper_p0_tile_info)
//pen 0 only in front if colour set as well
tileinfo.group = (attr & 0x70) ? ((attr & 0x80) >> 7) : 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
((attr & 0x70) >> 4) + 8,
@@ -138,7 +138,7 @@ TILE_GET_INFO_MEMBER(popper_state::get_popper_ol_p123_tile_info)
UINT8 attr = m_ol_attribram[tile_index];
tile_number += m_gfx_bank << 8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
(attr & 0xf),
@@ -155,7 +155,7 @@ TILE_GET_INFO_MEMBER(popper_state::get_popper_ol_p0_tile_info)
//pen 0 only in front if colour set as well
tileinfo.group = (attr & 0x70) ? ((attr & 0x80) >> 7) : 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
((attr & 0x70) >> 4) + 8,
@@ -213,7 +213,7 @@ void popper_state::draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_spriteram[offs + 1],
(m_spriteram[offs + 2] & 0x0f),
flipx,flipy,
diff --git a/src/mame/video/portrait.c b/src/mame/video/portrait.c
index 7286a52904a..ae479ab2180 100644
--- a/src/mame/video/portrait.c
+++ b/src/mame/video/portrait.c
@@ -49,7 +49,7 @@ inline void portrait_state::get_tile_info( tile_data &tileinfo, int tile_index,
else
color = ((tilenum&0xff)>>1)+0x80;
- SET_TILE_INFO_MEMBER( 0, tilenum, color, flags );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tilenum, color, flags );
}
TILE_GET_INFO_MEMBER(portrait_state::get_bg_tile_info)
@@ -174,7 +174,7 @@ void portrait_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
tilenum,color,
0,fy,
sx,sy,7);
diff --git a/src/mame/video/powerins.c b/src/mame/video/powerins.c
index 6574c9eb590..12494621079 100644
--- a/src/mame/video/powerins.c
+++ b/src/mame/video/powerins.c
@@ -121,7 +121,7 @@ Offset:
TILE_GET_INFO_MEMBER(powerins_state::get_tile_info_0)
{
UINT16 code = m_vram_0[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x07ff) + (m_tile_bank*0x800),
((code & 0xf000) >> (16-4)) + ((code & 0x0800) >> (11-4)),
@@ -161,7 +161,7 @@ Offset:
TILE_GET_INFO_MEMBER(powerins_state::get_tile_info_1)
{
UINT16 code = m_vram_1[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0x0fff,
(code & 0xf000) >> (16-4),
@@ -297,7 +297,7 @@ void powerins_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
{
for (y = 0 ; y < dimy ; y++)
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx, flipy,
diff --git a/src/mame/video/prehisle.c b/src/mame/video/prehisle.c
index 2fca699a474..2601590dfa2 100644
--- a/src/mame/video/prehisle.c
+++ b/src/mame/video/prehisle.c
@@ -64,7 +64,7 @@ TILE_GET_INFO_MEMBER(prehisle_state::get_bg2_tile_info)
int color = attr >> 12;
int flags = (attr & 0x800) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(prehisle_state::get_bg_tile_info)
@@ -74,7 +74,7 @@ TILE_GET_INFO_MEMBER(prehisle_state::get_bg_tile_info)
int color = attr >> 12;
int flags = (attr & 0x800) ? TILE_FLIPY : 0;
- SET_TILE_INFO_MEMBER(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, flags);
}
TILE_GET_INFO_MEMBER(prehisle_state::get_fg_tile_info)
@@ -83,7 +83,7 @@ TILE_GET_INFO_MEMBER(prehisle_state::get_fg_tile_info)
int code = attr & 0xfff;
int color = attr >> 12;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void prehisle_state::video_start()
@@ -147,7 +147,7 @@ void prehisle_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
if ((foreground && priority) || (!foreground && !priority))
{
- machine().gfx[3]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 15);
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy, 15);
}
}
}
diff --git a/src/mame/video/psikyo.c b/src/mame/video/psikyo.c
index e63730b575c..b6bc5714551 100644
--- a/src/mame/video/psikyo.c
+++ b/src/mame/video/psikyo.c
@@ -74,7 +74,7 @@ Offset:
TILE_GET_INFO_MEMBER(psikyo_state::get_tile_info_0)
{
UINT16 code = ((UINT16 *)m_vram_0.target())[BYTE_XOR_BE(tile_index)];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(code & 0x1fff) + 0x2000 * m_tilemap_0_bank,
(code >> 13) & 7,
@@ -84,7 +84,7 @@ TILE_GET_INFO_MEMBER(psikyo_state::get_tile_info_0)
TILE_GET_INFO_MEMBER(psikyo_state::get_tile_info_1)
{
UINT16 code = ((UINT16 *)m_vram_1.target())[BYTE_XOR_BE(tile_index)];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(code & 0x1fff) + 0x2000 * m_tilemap_1_bank,
((code >> 13) & 7) + 0x40, // So we only have to decode the gfx once.
@@ -343,7 +343,7 @@ void psikyo_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, co
int addr = (code * 2) & (TILES_LEN - 1);
if (zoomx == 32 && zoomy == 32)
- machine().gfx[0]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect,
TILES[addr+1] * 256 + TILES[addr],
attr >> 8,
flipx, flipy,
@@ -351,7 +351,7 @@ void psikyo_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, co
screen.priority(),
pri[(attr & 0xc0) >> 6],trans_pen);
else
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
TILES[addr+1] * 256 + TILES[addr],
attr >> 8,
flipx, flipy,
@@ -462,7 +462,7 @@ void psikyo_state::draw_sprites_bootleg( screen_device &screen, bitmap_ind16 &bi
int addr = (code * 2) & (TILES_LEN-1);
if (zoomx == 32 && zoomy == 32)
- machine().gfx[0]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect,
TILES[addr+1] * 256 + TILES[addr],
attr >> 8,
flipx, flipy,
@@ -470,7 +470,7 @@ void psikyo_state::draw_sprites_bootleg( screen_device &screen, bitmap_ind16 &bi
screen.priority(),
pri[(attr & 0xc0) >> 6],trans_pen);
else
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
TILES[addr+1] * 256 + TILES[addr],
attr >> 8,
flipx, flipy,
diff --git a/src/mame/video/psikyo4.c b/src/mame/video/psikyo4.c
index 816a5d6e467..962fe0b2ac8 100644
--- a/src/mame/video/psikyo4.c
+++ b/src/mame/video/psikyo4.c
@@ -52,7 +52,7 @@ void psikyo4_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
**- End Sprite Format -*/
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT32 *source = m_spriteram;
UINT16 *list = (UINT16 *)m_spriteram.target() + 0x2c00/2 + 0x04/2; /* 0x2c00/0x2c02 what are these for, pointers? one for each screen */
UINT16 listlen = (0xc00/2 - 0x04/2), listcntr = 0;
@@ -142,5 +142,5 @@ UINT32 psikyo4_state::screen_update_psikyo4_right(screen_device &screen, bitmap_
void psikyo4_state::video_start()
{
- machine().gfx[0]->set_granularity(32); /* 256 colour sprites with palette selectable on 32 colour boundaries */
+ m_gfxdecode->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 06ef0cec7e8..31516a95d48 100644
--- a/src/mame/video/psikyosh.c
+++ b/src/mame/video/psikyosh.c
@@ -147,7 +147,7 @@ void psikyosh_state::draw_bglayer( int layer, bitmap_rgb32 &bitmap, const rectan
assert(!BG_LINE(layer));
- gfx = BG_DEPTH_8BPP(layer) ? machine().gfx[1] : machine().gfx[0];
+ gfx = BG_DEPTH_8BPP(layer) ? m_gfxdecode->gfx(1) : m_gfxdecode->gfx(0);
size = BG_LARGE(layer) ? 32 : 16;
width = 16 * size;
@@ -250,7 +250,7 @@ void psikyosh_state::draw_bglayerscroll( int layer, bitmap_rgb32 &bitmap, const
{
assert(BG_LINE(layer));
- gfx_element *gfx = BG_DEPTH_8BPP(layer) ? machine().gfx[1] : machine().gfx[0];
+ gfx_element *gfx = BG_DEPTH_8BPP(layer) ? m_gfxdecode->gfx(1) : m_gfxdecode->gfx(0);
int size = BG_LARGE(layer) ? 32 : 16;
int width = size * 16;
@@ -1001,7 +1001,7 @@ void psikyosh_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprec
alphamap = (alpha_table[BYTE4_XOR_BE(alpha)] & 0x80)? 1:0;
alpha = alpha_table[BYTE4_XOR_BE(alpha)] & 0x3f;
- gfx = dpth ? machine().gfx[1] : machine().gfx[0];
+ gfx = dpth ? m_gfxdecode->gfx(1) : m_gfxdecode->gfx(0);
if (alphamap) /* alpha values are per-pen */
alpha = -1;
@@ -1093,7 +1093,7 @@ void psikyosh_state::video_start()
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 */
+ m_gfxdecode->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;
diff --git a/src/mame/video/psychic5.c b/src/mame/video/psychic5.c
index aa73493469e..5364f64181f 100644
--- a/src/mame/video/psychic5.c
+++ b/src/mame/video/psychic5.c
@@ -203,7 +203,7 @@ TILE_GET_INFO_MEMBER(psychic5_state::get_bg_tile_info)
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(psychic5_state::get_fg_tile_info)
@@ -214,7 +214,7 @@ TILE_GET_INFO_MEMBER(psychic5_state::get_fg_tile_info)
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO_MEMBER(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, flags);
}
@@ -293,7 +293,7 @@ VIDEO_RESET_MEMBER(psychic5_state,bombsa)
Screen refresh
***************************************************************************/
-#define DRAW_SPRITE(code, sx, sy) jal_blend_drawgfx(bitmap, cliprect, machine().gfx[0], code, color, flipx, flipy, sx, sy, 15);
+#define DRAW_SPRITE(code, sx, sy) jal_blend_drawgfx(bitmap, cliprect, m_gfxdecode->gfx(0), code, color, flipx, flipy, sx, sy, 15);
void psychic5_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
diff --git a/src/mame/video/punchout.c b/src/mame/video/punchout.c
index d49ad2697d8..18989d86802 100644
--- a/src/mame/video/punchout.c
+++ b/src/mame/video/punchout.c
@@ -49,7 +49,7 @@ TILE_GET_INFO_MEMBER(punchout_state::top_get_info)
int code = m_bg_top_videoram[tile_index*2] + ((attr & 0x03) << 8);
int color = ((attr & 0x7c) >> 2);
int flipx = attr & 0x80;
- SET_TILE_INFO_MEMBER(0, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flipx ? TILE_FLIPX : 0);
}
TILE_GET_INFO_MEMBER(punchout_state::armwrest_top_get_info)
@@ -57,7 +57,7 @@ TILE_GET_INFO_MEMBER(punchout_state::armwrest_top_get_info)
int attr = m_bg_top_videoram[tile_index*2 + 1];
int code = m_bg_top_videoram[tile_index*2] + ((attr & 0x03) << 8) + ((attr & 0x80) << 3);
int color = ((attr & 0x7c) >> 2);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(punchout_state::bot_get_info)
@@ -66,7 +66,7 @@ TILE_GET_INFO_MEMBER(punchout_state::bot_get_info)
int code = m_bg_bot_videoram[tile_index*2] + ((attr & 0x03) << 8);
int color = ((attr & 0x7c) >> 2);
int flipx = attr & 0x80;
- SET_TILE_INFO_MEMBER(1, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flipx ? TILE_FLIPX : 0);
}
TILE_GET_INFO_MEMBER(punchout_state::armwrest_bot_get_info)
@@ -75,7 +75,7 @@ TILE_GET_INFO_MEMBER(punchout_state::armwrest_bot_get_info)
int code = m_bg_bot_videoram[tile_index*2] + ((attr & 0x03) << 8);
int color = ((attr & 0x7c) >> 2) + 0x40;
int flipx = attr & 0x80;
- SET_TILE_INFO_MEMBER(0, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flipx ? TILE_FLIPX : 0);
}
TILE_GET_INFO_MEMBER(punchout_state::bs1_get_info)
@@ -84,7 +84,7 @@ TILE_GET_INFO_MEMBER(punchout_state::bs1_get_info)
int code = m_spr1_videoram[tile_index*4] + ((m_spr1_videoram[tile_index*4 + 1] & 0x1f) << 8);
int color = attr & 0x1f;
int flipx = attr & 0x80;
- SET_TILE_INFO_MEMBER(2, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, flipx ? TILE_FLIPX : 0);
}
TILE_GET_INFO_MEMBER(punchout_state::bs2_get_info)
@@ -93,7 +93,7 @@ TILE_GET_INFO_MEMBER(punchout_state::bs2_get_info)
int code = m_spr2_videoram[tile_index*4] + ((m_spr2_videoram[tile_index*4 + 1] & 0x0f) << 8);
int color = attr & 0x3f;
int flipx = attr & 0x80;
- SET_TILE_INFO_MEMBER(3, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, code, color, flipx ? TILE_FLIPX : 0);
}
TILE_GET_INFO_MEMBER(punchout_state::armwrest_fg_get_info)
@@ -102,7 +102,7 @@ TILE_GET_INFO_MEMBER(punchout_state::armwrest_fg_get_info)
int code = m_armwrest_fg_videoram[tile_index*2] + 256 * (attr & 0x07);
int color = ((attr & 0xf8) >> 3);
int flipx = attr & 0x80;
- SET_TILE_INFO_MEMBER(1, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flipx ? TILE_FLIPX : 0);
}
TILEMAP_MAPPER_MEMBER(punchout_state::armwrest_bs1_scan)
diff --git a/src/mame/video/pushman.c b/src/mame/video/pushman.c
index e9c6f2a583c..92ac280e64f 100644
--- a/src/mame/video/pushman.c
+++ b/src/mame/video/pushman.c
@@ -19,7 +19,7 @@ TILE_GET_INFO_MEMBER(pushman_state::get_back_tile_info)
int tile;
tile = bg_map[tile_index << 1] + (bg_map[(tile_index << 1) + 1] << 8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
(tile & 0xff) | ((tile & 0x4000) >> 6),
(tile >> 8) & 0xf,
@@ -29,7 +29,7 @@ TILE_GET_INFO_MEMBER(pushman_state::get_back_tile_info)
TILE_GET_INFO_MEMBER(pushman_state::get_text_tile_info)
{
int tile = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(tile & 0xff) | ((tile & 0xc000) >> 6) | ((tile & 0x2000) >> 3),
(tile >> 8) & 0xf,
@@ -108,7 +108,7 @@ void pushman_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect, sprite,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, sprite,
color, flipx, flipy, x, y, 15);
}
}
diff --git a/src/mame/video/quasar.c b/src/mame/video/quasar.c
index b3bd9cea89c..83157273fa6 100644
--- a/src/mame/video/quasar.c
+++ b/src/mame/video/quasar.c
@@ -124,7 +124,7 @@ UINT32 quasar_state::screen_update_quasar(screen_device &screen, bitmap_ind16 &b
bitmap.pix16(y + oy, x + ox) = forecolor;
/* Main Screen */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
m_color_ram[offs] & 0x3f,
0,0,
@@ -134,7 +134,7 @@ UINT32 quasar_state::screen_update_quasar(screen_device &screen, bitmap_ind16 &b
/* background for Collision Detection (it can only hit certain items) */
if((m_color_ram[offs] & 7) == 0)
{
- machine().gfx[0]->opaque(m_collision_background,cliprect,
+ m_gfxdecode->gfx(0)->opaque(m_collision_background,cliprect,
code,
64,
0,0,
diff --git a/src/mame/video/quizdna.c b/src/mame/video/quizdna.c
index 56108a233d5..7b370a09273 100644
--- a/src/mame/video/quizdna.c
+++ b/src/mame/video/quizdna.c
@@ -21,7 +21,7 @@ TILE_GET_INFO_MEMBER(quizdna_state::get_bg_tile_info)
if (code>0x7fff)
code &= 0x83ff;
- SET_TILE_INFO_MEMBER(1, code, col, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, col, 0);
}
TILE_GET_INFO_MEMBER(quizdna_state::get_fg_tile_info)
@@ -40,7 +40,7 @@ TILE_GET_INFO_MEMBER(quizdna_state::get_fg_tile_info)
col >>= 5;
col = (col & 3) | ((col & 4) << 1);
- SET_TILE_INFO_MEMBER(0, code, col, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, col, 0);
}
@@ -172,7 +172,7 @@ void quizdna_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
{
y &= 0x1ff;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code ^ i,
col,
fx,fy,
diff --git a/src/mame/video/quizpani.c b/src/mame/video/quizpani.c
index 82eecbd1914..e7043589023 100644
--- a/src/mame/video/quizpani.c
+++ b/src/mame/video/quizpani.c
@@ -18,7 +18,7 @@ TILE_GET_INFO_MEMBER(quizpani_state::bg_tile_info)
{
int code = m_bg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(code & 0xfff) + (0x1000 * m_bgbank),
code >> 12,
@@ -29,7 +29,7 @@ TILE_GET_INFO_MEMBER(quizpani_state::txt_tile_info)
{
int code = m_txt_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0xfff) + (0x1000 * m_txtbank),
code >> 12,
diff --git a/src/mame/video/raiden.c b/src/mame/video/raiden.c
index 036ca2f024e..c2295a59169 100644
--- a/src/mame/video/raiden.c
+++ b/src/mame/video/raiden.c
@@ -82,7 +82,7 @@ void raiden_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
return;
UINT16 *sprites = m_spriteram->buffer();
- gfx_element *gfx = machine().gfx[3];
+ gfx_element *gfx = m_gfxdecode->gfx(3);
for (int offs = 0x1000/2-4; offs >= 0; offs -= 4)
{
@@ -199,7 +199,7 @@ TILE_GET_INFO_MEMBER(raiden_state::get_back_tile_info)
int tile = tiledata & 0x0fff;
int color = tiledata >> 12;
- SET_TILE_INFO_MEMBER(1, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color, 0);
}
TILE_GET_INFO_MEMBER(raiden_state::get_fore_tile_info)
@@ -208,7 +208,7 @@ TILE_GET_INFO_MEMBER(raiden_state::get_fore_tile_info)
int tile = tiledata & 0x0fff;
int color = tiledata >> 12;
- SET_TILE_INFO_MEMBER(2, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tile, color, 0);
}
TILE_GET_INFO_MEMBER(raiden_state::get_text_tile_info)
@@ -217,7 +217,7 @@ TILE_GET_INFO_MEMBER(raiden_state::get_text_tile_info)
int tile = (tiledata & 0xff) | ((tiledata >> 6) & 0x300);
int color = (tiledata >> 8) & 0x0f;
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
}
void raiden_state::video_start()
diff --git a/src/mame/video/rainbow.c b/src/mame/video/rainbow.c
index 11c5790ba46..d95c90cbdbd 100644
--- a/src/mame/video/rainbow.c
+++ b/src/mame/video/rainbow.c
@@ -101,7 +101,7 @@ UINT32 rbisland_state::screen_update_jumping(screen_device &screen, bitmap_ind16
for (offs = m_spriteram.bytes() / 2 - 8; offs >= 0; offs -= 8)
{
int tile = spriteram[offs];
- if (tile < machine().gfx[1]->elements())
+ if (tile < m_gfxdecode->gfx(1)->elements())
{
int sx,sy,color,data1;
@@ -113,7 +113,7 @@ UINT32 rbisland_state::screen_update_jumping(screen_device &screen, bitmap_ind16
data1 = spriteram[offs + 3];
color = (spriteram[offs + 4] & 0x0f) | sprite_colbank;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
tile,
color,
data1 & 0x40, data1 & 0x80,
diff --git a/src/mame/video/rallyx.c b/src/mame/video/rallyx.c
index 054faabd387..bf29e697ac0 100644
--- a/src/mame/video/rallyx.c
+++ b/src/mame/video/rallyx.c
@@ -226,7 +226,7 @@ inline void rallyx_state::rallyx_get_tile_info( tile_data &tileinfo, int tile_in
{
UINT8 attr = m_videoram[ram_offs + tile_index + 0x800];
tileinfo.category = (attr & 0x20) >> 5;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[ram_offs + tile_index],
attr & 0x3f,
@@ -250,7 +250,7 @@ inline void rallyx_state::locomotn_get_tile_info(tile_data &tileinfo,int tile_in
int code = m_videoram[ram_offs + tile_index];
code = (code & 0x7f) + 2 * (attr & 0x40) + 2 * (code & 0x80);
tileinfo.category = (attr & 0x20) >> 5;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
attr & 0x3f,
@@ -477,13 +477,13 @@ void rallyx_state::rallyx_draw_sprites( screen_device &screen, bitmap_ind16 &bit
if (flip_screen())
sx -= 2 * displacement;
- machine().gfx[1]->prio_transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect,
(spriteram[offs] & 0xfc) >> 2,
color,
flipx,flipy,
sx,sy,
screen.priority(),0x02,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
@@ -500,13 +500,13 @@ void rallyx_state::locomotn_draw_sprites( screen_device &screen, bitmap_ind16 &b
int color = spriteram_2[offs + 1] & 0x3f;
int flip = spriteram[offs] & 2;
- machine().gfx[1]->prio_transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transmask(bitmap,cliprect,
((spriteram[offs] & 0x7c) >> 2) + 0x20*(spriteram[offs] & 0x01) + ((spriteram[offs] & 0x80) >> 1),
color,
flip,flip,
sx,sy,
screen.priority(),0x02,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
@@ -524,14 +524,14 @@ void rallyx_state::rallyx_draw_bullets( bitmap_ind16 &bitmap, const rectangle &c
x -= 3;
if (transpen)
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
((m_radarattr[offs & 0x0f] & 0x0e) >> 1) ^ 0x07,
0,
0,0,
x,y,
3);
else
- machine().gfx[2]->transtable(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transtable(bitmap,cliprect,
((m_radarattr[offs & 0x0f] & 0x0e) >> 1) ^ 0x07,
0,
0,0,
@@ -552,14 +552,14 @@ void rallyx_state::jungler_draw_bullets( bitmap_ind16 &bitmap, const rectangle &
y = 253 - m_radary[offs];
if (transpen)
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
(m_radarattr[offs & 0x0f] & 0x07) ^ 0x07,
0,
0,0,
x,y,
3);
else
- machine().gfx[2]->transtable(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transtable(bitmap,cliprect,
(m_radarattr[offs & 0x0f] & 0x07) ^ 0x07,
0,
0,0,
@@ -588,14 +588,14 @@ void rallyx_state::locomotn_draw_bullets( bitmap_ind16 &bitmap, const rectangle
y = 252 - m_radary[offs];
if (transpen)
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
(m_radarattr[offs & 0x0f] & 0x07) ^ 0x07,
0,
0,0,
x,y,
3);
else
- machine().gfx[2]->transtable(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transtable(bitmap,cliprect,
(m_radarattr[offs & 0x0f] & 0x07) ^ 0x07,
0,
0,0,
diff --git a/src/mame/video/realbrk.c b/src/mame/video/realbrk.c
index 603aff08818..cc35e7beef9 100644
--- a/src/mame/video/realbrk.c
+++ b/src/mame/video/realbrk.c
@@ -72,7 +72,7 @@ TILE_GET_INFO_MEMBER(realbrk_state::get_tile_info_0)
{
UINT16 attr = m_vram_0[tile_index * 2 + 0];
UINT16 code = m_vram_0[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
attr & 0x7f,
@@ -83,7 +83,7 @@ TILE_GET_INFO_MEMBER(realbrk_state::get_tile_info_1)
{
UINT16 attr = m_vram_1[tile_index * 2 + 0];
UINT16 code = m_vram_1[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
attr & 0x7f,
@@ -119,7 +119,7 @@ WRITE16_MEMBER(realbrk_state::realbrk_vram_1_w)
TILE_GET_INFO_MEMBER(realbrk_state::get_tile_info_2)
{
UINT16 code = m_vram_2[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code & 0x0fff,
((code & 0xf000) >> 12) | ((m_vregs[0xa/2] & 0x7f) << 4),
@@ -288,7 +288,7 @@ void realbrk_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
{
m_tmpbitmap0->fill(0, spritetile_clip );
m_tmpbitmap1->fill(0, spritetile_clip );
- machine().gfx[gfx]->zoom_transpen(*m_tmpbitmap0,spritetile_clip,
+ m_gfxdecode->gfx(gfx)->zoom_transpen(*m_tmpbitmap0,spritetile_clip,
code++,
color,
flipx, flipy,
@@ -350,7 +350,7 @@ void realbrk_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
break;
default:
- machine().gfx[gfx]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx)->zoom_transpen(bitmap,cliprect,
code++,
color,
flipx, flipy,
@@ -431,7 +431,7 @@ void realbrk_state::dai2kaku_draw_sprites(bitmap_ind16 &bitmap,const rectangle &
int scalex = (sx + (x + 1) * xdim) / 0x10000 - currx;
int scaley = (sy + (y + 1) * ydim) / 0x10000 - curry;
- machine().gfx[gfx]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx)->zoom_transpen(bitmap,cliprect,
code++,
color,
flipx, flipy,
diff --git a/src/mame/video/redclash.c b/src/mame/video/redclash.c
index 103897f2224..0779bdda3bb 100644
--- a/src/mame/video/redclash.c
+++ b/src/mame/video/redclash.c
@@ -159,7 +159,7 @@ TILE_GET_INFO_MEMBER(ladybug_state::get_fg_tile_info)
int code = m_videoram[tile_index];
int color = (m_videoram[tile_index] & 0x70) >> 4; // ??
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
VIDEO_START_MEMBER(ladybug_state,redclash)
@@ -196,13 +196,13 @@ void ladybug_state::redclash_draw_sprites( bitmap_ind16 &bitmap, const rectangle
{
int code = ((spriteram[offs + i + 1] & 0xf0) >> 4) + ((m_gfxbank & 1) << 4);
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code,
color,
0,0,
sx,sy - 16,0);
/* wraparound */
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code,
color,
0,0,
@@ -216,7 +216,7 @@ void ladybug_state::redclash_draw_sprites( bitmap_ind16 &bitmap, const rectangle
int code = ((spriteram[offs + i + 1] & 0xf8) >> 3) + ((m_gfxbank & 1) << 5);
int bank = (spriteram[offs + i + 1] & 0x02) >> 1;
- machine().gfx[4+bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4+bank)->transpen(bitmap,cliprect,
code,
color,
0,0,
@@ -226,7 +226,7 @@ void ladybug_state::redclash_draw_sprites( bitmap_ind16 &bitmap, const rectangle
{
int code = ((spriteram[offs + i + 1] & 0xf0) >> 4) + ((m_gfxbank & 1) << 4);
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
0,0,
@@ -235,7 +235,7 @@ void ladybug_state::redclash_draw_sprites( bitmap_ind16 &bitmap, const rectangle
break;
case 1: /* 8x8 */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
spriteram[offs + i + 1],// + 4 * (spriteram[offs + i + 2] & 0x10),
color,
0,0,
diff --git a/src/mame/video/relief.c b/src/mame/video/relief.c
index 044188d2e5a..39a075eb187 100644
--- a/src/mame/video/relief.c
+++ b/src/mame/video/relief.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(relief_state::get_playfield_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) & 0xff;
int code = data1 & 0x7fff;
int color = 0x20 + (data2 & 0x0f);
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
}
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(relief_state::get_playfield2_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) >> 8;
int code = data1 & 0x7fff;
int color = data2 & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
}
@@ -82,7 +82,7 @@ const atari_motion_objects_config relief_state::s_mob_config =
VIDEO_START_MEMBER(relief_state,relief)
{
/* MOs are 5bpp but with a 4-bit color granularity */
- machine().gfx[1]->set_granularity(16);
+ m_gfxdecode->gfx(1)->set_granularity(16);
}
diff --git a/src/mame/video/renegade.c b/src/mame/video/renegade.c
index 4e2a7323a22..56aa3dcce79 100644
--- a/src/mame/video/renegade.c
+++ b/src/mame/video/renegade.c
@@ -43,7 +43,7 @@ TILE_GET_INFO_MEMBER(renegade_state::get_bg_tilemap_info)
UINT8 *videoram = m_videoram;
const UINT8 *source = &videoram[tile_index];
UINT8 attributes = source[0x400]; /* CCC??BBB */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1 + (attributes & 0x7),
source[0],
attributes >> 5,
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(renegade_state::get_fg_tilemap_info)
{
const UINT8 *source = &m_videoram2[tile_index];
UINT8 attributes = source[0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(attributes & 3) * 256 + source[0],
attributes >> 6,
@@ -103,7 +103,7 @@ void renegade_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
if (attributes & 0x80) /* big sprite */
{
sprite_number &= ~1;
- machine().gfx[sprite_bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_bank)->transpen(bitmap,cliprect,
sprite_number + 1,
color,
xflip, flip_screen(),
@@ -113,7 +113,7 @@ void renegade_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
{
sy += (flip_screen() ? -16 : 16);
}
- machine().gfx[sprite_bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_bank)->transpen(bitmap,cliprect,
sprite_number,
color,
xflip, flip_screen(),
diff --git a/src/mame/video/retofinv.c b/src/mame/video/retofinv.c
index 7f6f25fbcec..4dad2cfc307 100644
--- a/src/mame/video/retofinv.c
+++ b/src/mame/video/retofinv.c
@@ -74,7 +74,7 @@ TILEMAP_MAPPER_MEMBER(retofinv_state::tilemap_scan)
TILE_GET_INFO_MEMBER(retofinv_state::bg_get_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
m_bg_videoram[tile_index] + 256 * m_bg_bank,
m_bg_videoram[0x400 + tile_index] & 0x3f,
@@ -87,7 +87,7 @@ TILE_GET_INFO_MEMBER(retofinv_state::fg_get_tile_info)
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_fg_videoram[tile_index] + 256 * m_fg_bank,
color,
@@ -107,7 +107,7 @@ void retofinv_state::video_start()
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, m_fg_tilemap, machine().gfx[0], 0);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, m_gfxdecode->gfx(0), 0);
}
@@ -206,12 +206,12 @@ void retofinv_state::draw_sprites(bitmap_ind16 &bitmap)
{
for (x = 0;x <= sizex;x++)
{
- machine().gfx[1]->transmask(bitmap,spritevisiblearea,
+ m_gfxdecode->gfx(1)->transmask(bitmap,spritevisiblearea,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,
sx + 16*x,sy + 16*y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0xff));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0xff));
}
}
}
diff --git a/src/mame/video/rockrage.c b/src/mame/video/rockrage.c
index 5002ff7da8b..cb61bd56951 100644
--- a/src/mame/video/rockrage.c
+++ b/src/mame/video/rockrage.c
@@ -102,7 +102,7 @@ UINT32 rockrage_state::screen_update_rockrage(screen_device &screen, bitmap_ind1
m_k007342->tilemap_update();
m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0);
- m_k007420->sprites_draw(bitmap, cliprect, machine().gfx[1]);
+ m_k007420->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(1));
m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, 1 | TILEMAP_DRAW_OPAQUE, 0);
m_k007342->tilemap_draw(screen, bitmap, cliprect, 1, 0, 0);
m_k007342->tilemap_draw(screen, bitmap, cliprect, 1, 1, 0);
diff --git a/src/mame/video/rocnrope.c b/src/mame/video/rocnrope.c
index def1f2d0064..2a476ad40f8 100644
--- a/src/mame/video/rocnrope.c
+++ b/src/mame/video/rocnrope.c
@@ -111,7 +111,7 @@ TILE_GET_INFO_MEMBER(rocnrope_state::get_bg_tile_info)
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
void rocnrope_state::video_start()
@@ -129,12 +129,12 @@ void rocnrope_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
{
int color = spriteram_2[offs] & 0x0f;
- machine().gfx[0]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transmask(bitmap,cliprect,
spriteram[offs + 1],
color,
spriteram_2[offs] & 0x40,~spriteram_2[offs] & 0x80,
240 - spriteram[offs], spriteram_2[offs + 1],
- colortable_get_transpen_mask(machine().colortable, machine().gfx[0], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0));
}
}
diff --git a/src/mame/video/rollrace.c b/src/mame/video/rollrace.c
index e3d50e7f0df..e3c4c88a1e6 100644
--- a/src/mame/video/rollrace.c
+++ b/src/mame/video/rollrace.c
@@ -123,7 +123,7 @@ UINT32 rollrace_state::screen_update_rollrace(screen_device &screen, bitmap_ind1
if(m_ra_flipy)
sy = 31-sy ;
- machine().gfx[RA_BGCHAR_BASE]->transpen(bitmap,
+ m_gfxdecode->gfx(RA_BGCHAR_BASE)->transpen(bitmap,
cliprect,
mem[offs + ( m_ra_bkgpage * 1024 )]
+ ((( mem[offs + 0x4000 + ( m_ra_bkgpage * 1024 )] & 0xc0 ) >> 6 ) * 256 ) ,
@@ -161,7 +161,7 @@ UINT32 rollrace_state::screen_update_rollrace(screen_device &screen, bitmap_ind1
if(bank)
bank += m_ra_spritebank;
- machine().gfx[ RA_SP_BASE + bank ]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx( RA_SP_BASE + bank )->transpen(bitmap,cliprect,
spriteram[offs+1] & 0x3f ,
spriteram[offs+2] & 0x1f,
m_ra_flipx,!(s_flipy^m_ra_flipy),
@@ -188,7 +188,7 @@ UINT32 rollrace_state::screen_update_rollrace(screen_device &screen, bitmap_ind1
if (m_ra_flipx) sx = 31 - sx;
- machine().gfx[RA_FGCHAR_BASE + m_ra_chrbank] ->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(RA_FGCHAR_BASE + m_ra_chrbank) ->transpen(bitmap,cliprect,
m_videoram[ offs ] ,
col,
m_ra_flipx,m_ra_flipy,
diff --git a/src/mame/video/rpunch.c b/src/mame/video/rpunch.c
index 7b19fa313f0..c70c3046d40 100644
--- a/src/mame/video/rpunch.c
+++ b/src/mame/video/rpunch.c
@@ -31,7 +31,7 @@ TILE_GET_INFO_MEMBER(rpunch_state::get_bg0_tile_info)
if (m_videoflags & 0x0400) code = (data & 0x0fff) | 0x2000;
else code = (data & 0x1fff);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
((m_videoflags & 0x0010) >> 1) | ((data >> 13) & 7),
@@ -46,7 +46,7 @@ TILE_GET_INFO_MEMBER(rpunch_state::get_bg1_tile_info)
if (m_videoflags & 0x0800) code = (data & 0x0fff) | 0x2000;
else code = (data & 0x1fff);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
((m_videoflags & 0x0020) >> 2) | ((data >> 13) & 7),
@@ -218,7 +218,7 @@ void rpunch_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
if (x >= BITMAP_WIDTH) x -= 512;
if (y >= BITMAP_HEIGHT) y -= 512;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code, color + (m_sprite_palette / 16), xflip, yflip, x, y, 15);
}
}
diff --git a/src/mame/video/runaway.c b/src/mame/video/runaway.c
index 576f7cf8124..b6c90edb05a 100644
--- a/src/mame/video/runaway.c
+++ b/src/mame/video/runaway.c
@@ -53,7 +53,7 @@ TILE_GET_INFO_MEMBER(runaway_state::runaway_get_tile_info)
{
UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, ((code & 0x3f) << 1) | ((code & 0x40) >> 6) | (m_tile_bank << 7), 0, (code & 0x80) ? TILE_FLIPY : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, ((code & 0x3f) << 1) | ((code & 0x40) >> 6) | (m_tile_bank << 7), 0, (code & 0x80) ? TILE_FLIPY : 0);
}
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(runaway_state::qwak_get_tile_info)
{
UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), 0, 0);
}
@@ -101,13 +101,13 @@ UINT32 runaway_state::screen_update_runaway(screen_device &screen, bitmap_ind16
code |= (m_sprite_ram[i + 0x30] << 2) & 0x1c0;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
0,
flipx, flipy,
x, 240 - y, 0);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
0,
flipx, flipy,
@@ -135,13 +135,13 @@ UINT32 runaway_state::screen_update_qwak(screen_device &screen, bitmap_ind16 &bi
code |= (m_sprite_ram[i + 0x30] << 2) & 0x1c0;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
0,
flipx, flipy,
x, 240 - y, 0);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
0,
flipx, flipy,
diff --git a/src/mame/video/rungun.c b/src/mame/video/rungun.c
index 73f97a5aeff..d88bf904670 100644
--- a/src/mame/video/rungun.c
+++ b/src/mame/video/rungun.c
@@ -22,7 +22,7 @@ TILE_GET_INFO_MEMBER(rungun_state::ttl_get_tile_info)
attr = (lvram[BYTE_XOR_LE(tile_index<<2)] & 0xf0) >> 4;
code = ((lvram[BYTE_XOR_LE(tile_index<<2)] & 0x0f) << 8) | (lvram[BYTE_XOR_LE((tile_index<<2)+2)]);
- SET_TILE_INFO_MEMBER(m_ttl_gfx_index, code, attr, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_ttl_gfx_index, code, attr, 0);
}
void rng_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
@@ -56,7 +56,7 @@ TILE_GET_INFO_MEMBER(rungun_state::get_rng_936_tile_info)
flipx = (m_936_videoram[tile_index * 2 + 1] & 0xc000) >> 14;
colour = 0x10 + (m_936_videoram[tile_index * 2] & 0x000f);
- SET_TILE_INFO_MEMBER(0, tileno, colour, TILE_FLIPYX(flipx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour, TILE_FLIPYX(flipx));
}
@@ -80,13 +80,13 @@ void rungun_state::video_start()
/* 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 (m_gfxdecode->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, memregion("gfx3")->base(), machine().total_colors() / 16, 0));
+ m_gfxdecode->set_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
diff --git a/src/mame/video/sauro.c b/src/mame/video/sauro.c
index 0588602de92..ab8ba2f3432 100644
--- a/src/mame/video/sauro.c
+++ b/src/mame/video/sauro.c
@@ -46,7 +46,7 @@ TILE_GET_INFO_MEMBER(sauro_state::get_tile_info_bg)
int color = ((m_colorram[tile_index] >> 4) & 0x0f) | m_palette_bank;
int flags = m_colorram[tile_index] & 0x08 ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
TILE_GET_INFO_MEMBER(sauro_state::get_tile_info_fg)
@@ -55,7 +55,7 @@ TILE_GET_INFO_MEMBER(sauro_state::get_tile_info_fg)
int color = ((m_colorram2[tile_index] >> 4) & 0x0f) | m_palette_bank;
int flags = m_colorram2[tile_index] & 0x08 ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
/* Sauro */
@@ -128,7 +128,7 @@ void sauro_state::sauro_draw_sprites(bitmap_ind16 &bitmap, const rectangle &clip
sy = 240 - sy;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx, flipy,
@@ -199,7 +199,7 @@ void sauro_state::trckydoc_draw_sprites(bitmap_ind16 &bitmap, const rectangle &c
sy = 240 - sy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx, flipy,
diff --git a/src/mame/video/sbasketb.c b/src/mame/video/sbasketb.c
index a12fcde73c8..8eb0701eb00 100644
--- a/src/mame/video/sbasketb.c
+++ b/src/mame/video/sbasketb.c
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(sbasketb_state::get_bg_tile_info)
int color = m_colorram[tile_index] & 0x0f;
int flags = ((m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void sbasketb_state::video_start()
@@ -158,7 +158,7 @@ void sbasketb_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
diff --git a/src/mame/video/sbugger.c b/src/mame/video/sbugger.c
index 817e97ee5a5..cb3caf6984d 100644
--- a/src/mame/video/sbugger.c
+++ b/src/mame/video/sbugger.c
@@ -10,7 +10,7 @@ TILE_GET_INFO_MEMBER(sbugger_state::get_sbugger_tile_info)
tileno = m_videoram[tile_index];
color = m_videoram_attr[tile_index];
- SET_TILE_INFO_MEMBER(0,tileno,color,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,color,0);
}
WRITE8_MEMBER(sbugger_state::sbugger_videoram_w)
diff --git a/src/mame/video/scn2674.c b/src/mame/video/scn2674.c
index d08ac8acf6f..3feacca80bf 100644
--- a/src/mame/video/scn2674.c
+++ b/src/mame/video/scn2674.c
@@ -35,11 +35,20 @@ const device_type SCN2674_VIDEO = &device_creator<scn2674_device>;
scn2674_device::scn2674_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, SCN2674_VIDEO, "scn2674_device", tag, owner, clock, "scn2674_device", __FILE__),
- m_interrupt_callback(*this)
+ m_interrupt_callback(*this),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+void scn2674_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<scn2674_device &>(device).m_gfxdecode.set_tag(tag);
+}
void scn2674_device::device_start()
@@ -721,7 +730,7 @@ void scn2674_device::scn2574_draw_common( running_machine &machine, _BitmapClass
attr = tiledat >>12;
if (attr)
- machine.gfx[gfxregion]->opaque(bitmap,cliprect,tiledat,0,0,0,(x*8),(y*8));
+ m_gfxdecode->gfx(gfxregion)->opaque(bitmap,cliprect,tiledat,0,0,0,(x*8),(y*8));
}
if (dbl_size&2)
diff --git a/src/mame/video/scn2674.h b/src/mame/video/scn2674.h
index 6461b7e917a..ab5529bd8cd 100644
--- a/src/mame/video/scn2674.h
+++ b/src/mame/video/scn2674.h
@@ -7,6 +7,9 @@
MCFG_DEVICE_ADD(_tag, SCN2674_VIDEO, _clock) \
downcast<scn2674_device *>(device)->set_callbacks(DEVCB2_##_irq);
+#define MCFG_SCN2674_GFXDECODE(_gfxtag) \
+ scn2674_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
typedef void (*s2574_interrupt_callback_func)(running_machine &machine);
static const UINT8 vsync_table[4] = {3,1,5,7}; //Video related
@@ -16,6 +19,9 @@ class scn2674_device : public device_t
public:
scn2674_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
template<class _irq> void set_callbacks(_irq irq) {
m_interrupt_callback.set_callback(irq);
}
@@ -109,7 +115,7 @@ protected:
void scn2574_draw_common( running_machine &machine, _BitmapClass &bitmap, const rectangle &cliprect, UINT16* vid_mainram );
private:
-
+ required_device<gfxdecode_device> m_gfxdecode;
};
diff --git a/src/mame/video/scotrsht.c b/src/mame/video/scotrsht.c
index 50c6f1edf72..d2dc890e9a7 100644
--- a/src/mame/video/scotrsht.c
+++ b/src/mame/video/scotrsht.c
@@ -87,7 +87,7 @@ TILE_GET_INFO_MEMBER(scotrsht_state::scotrsht_get_bg_tile_info)
// data & 0x80 -> tile priority?
- SET_TILE_INFO_MEMBER(0, code, color, flag);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flag);
}
/* Same as Jailbreak + palette bank */
@@ -114,9 +114,9 @@ void scotrsht_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[1]->transmask(bitmap,cliprect, code, color, flipx, flipy,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect, code, color, flipx, flipy,
sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, m_palette_bank * 16));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, m_palette_bank * 16));
}
}
diff --git a/src/mame/video/sderby.c b/src/mame/video/sderby.c
index 9b6a875f6ce..e2977550386 100644
--- a/src/mame/video/sderby.c
+++ b/src/mame/video/sderby.c
@@ -10,7 +10,7 @@ TILE_GET_INFO_MEMBER(sderby_state::get_sderby_tile_info)
tileno = m_videoram[tile_index*2];
colour = m_videoram[tile_index*2+1] & 0x0f;
- SET_TILE_INFO_MEMBER(1,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno,colour,0);
}
WRITE16_MEMBER(sderby_state::sderby_videoram_w)
@@ -28,7 +28,7 @@ TILE_GET_INFO_MEMBER(sderby_state::get_sderby_md_tile_info)
tileno = m_md_videoram[tile_index*2];
colour = m_md_videoram[tile_index*2+1] & 0x0f;
- SET_TILE_INFO_MEMBER(1,tileno,colour+16,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno,colour+16,0);
}
WRITE16_MEMBER(sderby_state::sderby_md_videoram_w)
@@ -46,7 +46,7 @@ TILE_GET_INFO_MEMBER(sderby_state::get_sderby_fg_tile_info)
tileno = m_fg_videoram[tile_index*2];
colour = m_fg_videoram[tile_index*2+1] & 0x0f;
- SET_TILE_INFO_MEMBER(0,tileno,colour+32,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour+32,0);
}
WRITE16_MEMBER(sderby_state::sderby_fg_videoram_w)
@@ -60,8 +60,8 @@ void sderby_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,i
{
UINT16 *spriteram16 = m_spriteram;
int offs;
- int height = machine().gfx[0]->height();
- int colordiv = machine().gfx[0]->granularity() / 16;
+ int height = m_gfxdecode->gfx(0)->height();
+ int colordiv = m_gfxdecode->gfx(0)->granularity() / 16;
for (offs = 4;offs < m_spriteram.bytes()/2;offs += 4)
{
@@ -76,7 +76,7 @@ void sderby_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,i
code = spriteram16[offs+2] >> codeshift;
color = (spriteram16[offs+1] & 0x3e00) >> 9;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color/colordiv+48,
flipx,0,
diff --git a/src/mame/video/segag80r.c b/src/mame/video/segag80r.c
index c304e4439fd..faec9deb535 100644
--- a/src/mame/video/segag80r.c
+++ b/src/mame/video/segag80r.c
@@ -158,7 +158,7 @@ void segag80r_state::spaceod_bg_init_palette()
TILE_GET_INFO_MEMBER(segag80r_state::spaceod_get_tile_info)
{
int code = memregion("gfx2")->base()[tile_index + 0x1000 * (m_spaceod_bg_control >> 6)];
- SET_TILE_INFO_MEMBER(1, code + 0x100 * ((m_spaceod_bg_control >> 2) & 1), 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code + 0x100 * ((m_spaceod_bg_control >> 2) & 1), 0, 0);
}
@@ -173,7 +173,7 @@ TILEMAP_MAPPER_MEMBER(segag80r_state::spaceod_scan_rows)
TILE_GET_INFO_MEMBER(segag80r_state::bg_get_tile_info)
{
int code = memregion("gfx2")->base()[tile_index];
- SET_TILE_INFO_MEMBER(1, code + 0x100 * m_bg_char_bank, code >> 4, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code + 0x100 * m_bg_char_bank, code >> 4, 0);
}
@@ -196,7 +196,7 @@ void segag80r_state::video_start()
3, rg_resistances, m_gweights, 220, 0,
2, b_resistances, m_bweights, 220, 0);
- machine().gfx[0]->set_source(&videoram[0x800]);
+ m_gfxdecode->gfx(0)->set_source(&videoram[0x800]);
/* allocate paletteram */
m_generic_paletteram_8.allocate(0x80);
@@ -272,7 +272,7 @@ WRITE8_MEMBER(segag80r_state::segag80r_videoram_w)
/* track which characters are dirty */
if (offset & 0x800)
- machine().gfx[0]->mark_dirty((offset & 0x7ff) / 8);
+ m_gfxdecode->gfx(0)->mark_dirty((offset & 0x7ff) / 8);
}
@@ -644,7 +644,7 @@ void segag80r_state::draw_videoram(bitmap_ind16 &bitmap, const rectangle &clipre
UINT8 tile = videoram[offs];
/* draw the tile */
- machine().gfx[0]->transmask(bitmap,cliprect, tile, tile >> 4, m_video_flip, m_video_flip, x*8, y*8, transparent_pens[tile >> 4]);
+ m_gfxdecode->gfx(0)->transmask(bitmap,cliprect, tile, tile >> 4, m_video_flip, m_video_flip, x*8, y*8, transparent_pens[tile >> 4]);
}
}
}
diff --git a/src/mame/video/segaic16.c b/src/mame/video/segaic16.c
index 6061c2e1b98..825bb17f67e 100644
--- a/src/mame/video/segaic16.c
+++ b/src/mame/video/segaic16.c
@@ -373,10 +373,21 @@ const device_type SEGAIC16VID = &device_creator<segaic16_video_device>;
segaic16_video_device::segaic16_video_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, SEGAIC16VID, "Sega 16-bit Video", tag, owner, clock, "segaic16_video", __FILE__),
- device_video_interface(mconfig, *this)
+ device_video_interface(mconfig, *this),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void segaic16_video_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<segaic16_video_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
void segaic16_video_device::device_config_complete()
{
@@ -633,7 +644,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16a_tile_info )
int code = ((data >> 1) & 0x1000) | (data & 0xfff);
int color = (data >> 5) & 0x7f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, 0, code, color, 0);
tileinfo.category = (data >> 12) & 1;
}
@@ -645,7 +656,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16a_text_info )
int color = (data >> 8) & 0x07;
int code = data & 0xff;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, 0, code, color, 0);
tileinfo.category = (data >> 11) & 1;
}
@@ -847,7 +858,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_tile_info )
code = info->bank[code / info->banksize] * info->banksize + code % info->banksize;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, 0, code, color, 0);
tileinfo.category = (data >> 15) & 1;
}
@@ -860,7 +871,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_text_info )
int color = (data >> 9) & 0x07;
int code = data & 0x1ff;
- SET_TILE_INFO_MEMBER(0, bank * info->banksize + code, color, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, 0, bank * info->banksize + code, color, 0);
tileinfo.category = (data >> 15) & 1;
}
@@ -874,7 +885,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_alt_tile_info
code = info->bank[code / info->banksize] * info->banksize + code % info->banksize;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, 0, code, color, 0);
tileinfo.category = (data >> 15) & 1;
}
@@ -887,7 +898,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_alt_text_info
int color = (data >> 8) & 0x07;
int code = data & 0xff;
- SET_TILE_INFO_MEMBER(0, bank * info->banksize + code, color, 0);
+ SET_TILE_INFO_MEMBER(*m_gfxdecode, 0, bank * info->banksize + code, color, 0);
tileinfo.category = (data >> 15) & 1;
}
diff --git a/src/mame/video/segaic16.h b/src/mame/video/segaic16.h
index 723a214b984..3bc570b9b7a 100644
--- a/src/mame/video/segaic16.h
+++ b/src/mame/video/segaic16.h
@@ -96,6 +96,9 @@ public:
segaic16_video_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~segaic16_video_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
UINT8 segaic16_display_enable;
UINT16 *segaic16_tileram_0;
UINT16 *segaic16_textram_0;
@@ -146,6 +149,7 @@ protected:
private:
// internal state
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type SEGAIC16VID;
@@ -153,4 +157,7 @@ extern const device_type SEGAIC16VID;
#define MCFG_SEGAIC16VID_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, SEGAIC16VID, 0)
+#define MCFG_SEGAIC16VID_GFXDECODE(_gfxtag) \
+ segaic16_video_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/segaic24.c b/src/mame/video/segaic24.c
index f43749e9e83..a1f9b44e753 100644
--- a/src/mame/video/segaic24.c
+++ b/src/mame/video/segaic24.c
@@ -22,10 +22,22 @@ const device_type S24MIXER = &device_creator<segas24_mixer>;
segas24_tile::segas24_tile(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, S24TILE, "S24TILE", tag, owner, clock, "segas24_tile", __FILE__)
+ : device_t(mconfig, S24TILE, "S24TILE", tag, owner, clock, "segas24_tile", __FILE__),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void segas24_tile::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<segas24_tile &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
void segas24_tile::static_set_tile_mask(device_t &device, UINT16 _tile_mask)
{
segas24_tile &dev = downcast<segas24_tile &>(device);
@@ -48,7 +60,7 @@ void segas24_tile::tile_info(int offset, tile_data &tileinfo, tilemap_memory_ind
{
UINT16 val = tile_ram[tile_index|offset];
tileinfo.category = (val & 0x8000) != 0;
- tileinfo.set(machine(), char_gfx_index, val & tile_mask, (val >> 7) & 0xff, 0);
+ tileinfo.set(machine(), *m_gfxdecode, char_gfx_index, val & tile_mask, (val >> 7) & 0xff, 0);
}
TILE_GET_INFO_MEMBER(segas24_tile::tile_info_0s)
@@ -74,7 +86,7 @@ TILE_GET_INFO_MEMBER(segas24_tile::tile_info_1w)
void segas24_tile::device_start()
{
for(char_gfx_index = 0; char_gfx_index < MAX_GFX_ELEMENTS; char_gfx_index++)
- if (machine().gfx[char_gfx_index] == 0)
+ if (m_gfxdecode->gfx(char_gfx_index) == 0)
break;
assert(char_gfx_index != MAX_GFX_ELEMENTS);
@@ -94,7 +106,7 @@ void segas24_tile::device_start()
memset(char_ram, 0, 0x80000);
memset(tile_ram, 0, 0x10000);
- machine().gfx[char_gfx_index] = auto_alloc(machine(), gfx_element(machine(), char_layout, (UINT8 *)char_ram, machine().total_colors() / 16, 0));
+ m_gfxdecode->set_gfx(char_gfx_index, auto_alloc(machine(), gfx_element(machine(), char_layout, (UINT8 *)char_ram, machine().total_colors() / 16, 0)));
save_pointer(NAME(tile_ram), 0x10000/2);
save_pointer(NAME(char_ram), 0x80000/2);
@@ -550,7 +562,7 @@ WRITE16_MEMBER(segas24_tile::char_w)
UINT16 old = char_ram[offset];
COMBINE_DATA(char_ram + offset);
if(old != char_ram[offset])
- machine().gfx[char_gfx_index]->mark_dirty(offset / 16);
+ m_gfxdecode->gfx(char_gfx_index)->mark_dirty(offset / 16);
}
READ32_MEMBER(segas24_tile::tile32_r)
diff --git a/src/mame/video/segaic24.h b/src/mame/video/segaic24.h
index 5f42c2c7eea..feea2226337 100644
--- a/src/mame/video/segaic24.h
+++ b/src/mame/video/segaic24.h
@@ -11,6 +11,10 @@
#define MCFG_S24MIXER_DEVICE_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, S24MIXER, 0)
+
+#define MCFG_S24TILE_DEVICE_GFXDECODE(_gfxtag) \
+ segas24_tile::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
class segas24_tile : public device_t
{
friend class segas24_tile_config;
@@ -18,6 +22,8 @@ class segas24_tile : public device_t
public:
segas24_tile(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void static_set_tile_mask(device_t &device, UINT16 tile_mask);
DECLARE_READ16_MEMBER(tile_r);
@@ -47,6 +53,7 @@ private:
UINT16 tile_mask;
static const gfx_layout char_layout;
+ required_device<gfxdecode_device> m_gfxdecode;
void tile_info(int offset, tile_data &tileinfo, tilemap_memory_index tile_index);
TILE_GET_INFO_MEMBER(tile_info_0s);
diff --git a/src/mame/video/segas32.c b/src/mame/video/segas32.c
index 76fb44fc70c..057f8e07664 100644
--- a/src/mame/video/segas32.c
+++ b/src/mame/video/segas32.c
@@ -719,7 +719,7 @@ TILE_GET_INFO_MEMBER(segas32_state::get_tile_info)
{
struct segas32_state::cache_entry *entry = (struct segas32_state::cache_entry *)tilemap.user_data();
UINT16 data = m_system32_videoram[(entry->page & 0x7f) * 0x200 + tile_index];
- SET_TILE_INFO_MEMBER(0, (entry->bank << 13) + (data & 0x1fff), (data >> 4) & 0x1ff, (data >> 14) & 3);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, (entry->bank << 13) + (data & 0x1fff), (data >> 4) & 0x1ff, (data >> 14) & 3);
}
diff --git a/src/mame/video/seibuspi.c b/src/mame/video/seibuspi.c
index 33cb74ce745..350bca7e266 100644
--- a/src/mame/video/seibuspi.c
+++ b/src/mame/video/seibuspi.c
@@ -336,7 +336,7 @@ void seibuspi_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprec
int flip_x, flip_y;
int priority;
int x1, y1;
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
const int has_tile_high = (gfx->elements() > 0x10000) ? 1 : 0;
const int colormask = (m_sprite_bpp == 6) ? 0x3f : 0x1f;
@@ -545,7 +545,7 @@ TILE_GET_INFO_MEMBER(seibuspi_state::get_text_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
}
TILE_GET_INFO_MEMBER(seibuspi_state::get_back_tile_info)
@@ -557,7 +557,7 @@ TILE_GET_INFO_MEMBER(seibuspi_state::get_back_tile_info)
tile &= 0x1fff;
tile |= m_rf2_layer_bank << 14 & 0x4000; // (d0)
- SET_TILE_INFO_MEMBER(1, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color, 0);
}
TILE_GET_INFO_MEMBER(seibuspi_state::get_midl_tile_info)
@@ -570,7 +570,7 @@ TILE_GET_INFO_MEMBER(seibuspi_state::get_midl_tile_info)
tile |= 0x2000;
tile |= m_rf2_layer_bank << 13 & 0x4000; // (d1)
- SET_TILE_INFO_MEMBER(1, tile, color + 16, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color + 16, 0);
}
TILE_GET_INFO_MEMBER(seibuspi_state::get_fore_tile_info)
@@ -584,7 +584,7 @@ TILE_GET_INFO_MEMBER(seibuspi_state::get_fore_tile_info)
tile |= m_layer_bank >> 14 & 0x2000; // (d27)
tile |= m_rf2_layer_bank << 12 & 0x4000; // (d2)
- SET_TILE_INFO_MEMBER(1, tile, color + 8, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tile, color + 8, 0);
}
diff --git a/src/mame/video/seicross.c b/src/mame/video/seicross.c
index 633804cd7a7..383587d62e3 100644
--- a/src/mame/video/seicross.c
+++ b/src/mame/video/seicross.c
@@ -81,7 +81,7 @@ TILE_GET_INFO_MEMBER(seicross_state::get_bg_tile_info)
int color = m_colorram[tile_index] & 0x0f;
int flags = ((m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void seicross_state::video_start()
@@ -101,13 +101,13 @@ void seicross_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
for (offs = m_spriteram.bytes() - 4; offs >= 0; offs -= 4)
{
int x = spriteram[offs + 3];
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
(spriteram[offs] & 0x3f) + ((spriteram[offs + 1] & 0x10) << 2) + 128,
spriteram[offs + 1] & 0x0f,
spriteram[offs] & 0x40,spriteram[offs] & 0x80,
x,240-spriteram[offs + 2],0);
if(x>0xf0)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
(spriteram[offs] & 0x3f) + ((spriteram[offs + 1] & 0x10) << 2) + 128,
spriteram[offs + 1] & 0x0f,
spriteram[offs] & 0x40,spriteram[offs] & 0x80,
@@ -117,13 +117,13 @@ void seicross_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
for (offs = m_spriteram2.bytes() - 4; offs >= 0; offs -= 4)
{
int x = spriteram_2[offs + 3];
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
(spriteram_2[offs] & 0x3f) + ((spriteram_2[offs + 1] & 0x10) << 2),
spriteram_2[offs + 1] & 0x0f,
spriteram_2[offs] & 0x40,spriteram_2[offs] & 0x80,
x,240-spriteram_2[offs + 2],0);
if(x>0xf0)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
(spriteram_2[offs] & 0x3f) + ((spriteram_2[offs + 1] & 0x10) << 2),
spriteram_2[offs + 1] & 0x0f,
spriteram_2[offs] & 0x40,spriteram_2[offs] & 0x80,
diff --git a/src/mame/video/senjyo.c b/src/mame/video/senjyo.c
index eb4d44800e1..1a7109ca23b 100644
--- a/src/mame/video/senjyo.c
+++ b/src/mame/video/senjyo.c
@@ -25,7 +25,7 @@ TILE_GET_INFO_MEMBER(senjyo_state::get_fg_tile_info)
if (m_is_senjyo && (tile_index & 0x1f) >= 32-8)
flags |= TILE_FORCE_LAYER0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_fgvideoram[tile_index] + ((attr & 0x10) << 4),
attr & 0x07,
@@ -36,7 +36,7 @@ TILE_GET_INFO_MEMBER(senjyo_state::senjyo_bg1_tile_info)
{
UINT8 code = m_bg1videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
(code & 0x70) >> 4,
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(senjyo_state::starforc_bg1_tile_info)
static const UINT8 colormap[8] = { 0, 2, 4, 6, 1, 3, 5, 7 };
UINT8 code = m_bg1videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
colormap[(code & 0xe0) >> 5],
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(senjyo_state::get_bg2_tile_info)
{
UINT8 code = m_bg2videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
(code & 0xe0) >> 5,
@@ -72,7 +72,7 @@ TILE_GET_INFO_MEMBER(senjyo_state::get_bg3_tile_info)
{
UINT8 code = m_bg3videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
code,
(code & 0xe0) >> 5,
@@ -257,7 +257,7 @@ void senjyo_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,i
}
- machine().gfx[big ? 5 : 4]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(big ? 5 : 4)->transpen(bitmap,cliprect,
spriteram[offs],
spriteram[offs + 1] & 0x07,
flipx,flipy,
diff --git a/src/mame/video/seta.c b/src/mame/video/seta.c
index 88be36ff166..327a11c7820 100644
--- a/src/mame/video/seta.c
+++ b/src/mame/video/seta.c
@@ -367,7 +367,7 @@ inline void seta_state::twineagl_tile_info( tile_data &tileinfo, int tile_index,
UINT16 attr = vram[ tile_index + 0x800 ];
if ((code & 0x3e00) == 0x3e00)
code = (code & 0xc07f) | ((m_twineagl_tilebank[(code & 0x0180) >> 7] >> 1) << 7);
- SET_TILE_INFO_MEMBER( 1, (code & 0x3fff), attr & 0x1f, TILE_FLIPXY((code & 0xc000) >> 14) );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, (code & 0x3fff), attr & 0x1f, TILE_FLIPXY((code & 0xc000) >> 14) );
}
TILE_GET_INFO_MEMBER(seta_state::twineagl_get_tile_info_0){ twineagl_tile_info(tileinfo, tile_index, 0x0000 ); }
@@ -382,7 +382,7 @@ inline void seta_state::get_tile_info( tile_data &tileinfo, int tile_index, int
UINT16 code = vram[ tile_index ];
UINT16 attr = vram[ tile_index + 0x800 ];
- if(machine().gfx[gfx + ((vctrl[ 4/2 ] & 0x10) >> m_color_mode_shift)] != NULL)
+ if(m_gfxdecode->gfx(gfx + ((vctrl[ 4/2 ] & 0x10) >> m_color_mode_shift)) != NULL)
{
gfx += (vctrl[ 4/2 ] & 0x10) >> m_color_mode_shift;
}
@@ -391,7 +391,7 @@ inline void seta_state::get_tile_info( tile_data &tileinfo, int tile_index, int
popmessage("Missing Color Mode = 1 for Layer = %d. Contact MAMETesters.",layer);
}
- SET_TILE_INFO_MEMBER( gfx, m_tiles_offset + (code & 0x3fff), attr & 0x1f, TILE_FLIPXY((code & 0xc000) >> 14) );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfx, m_tiles_offset + (code & 0x3fff), attr & 0x1f, TILE_FLIPXY((code & 0xc000) >> 14) );
}
TILE_GET_INFO_MEMBER(seta_state::get_tile_info_0){ get_tile_info(tileinfo, tile_index, 0, 0x0000 ); }
@@ -674,8 +674,8 @@ PALETTE_INIT_MEMBER(seta_state,inttoote)
PALETTE_INIT_MEMBER(seta_state,setaroul)
{
- machine().gfx[0]->set_granularity(16);
- machine().gfx[1]->set_granularity(16);
+ m_gfxdecode->gfx(0)->set_granularity(16);
+ m_gfxdecode->gfx(1)->set_granularity(16);
PALETTE_INIT_CALL_MEMBER(inttoote);
}
@@ -767,7 +767,7 @@ void seta_state::usclssic_set_pens()
void seta_state::draw_tilemap_palette_effect(bitmap_ind16 &bitmap, const rectangle &cliprect, tilemap_t *tilemap, int scrollx, int scrolly, int gfxnum, int flipscreen)
{
int y;
- gfx_element *gfx_tilemap = machine().gfx[gfxnum];
+ gfx_element *gfx_tilemap = m_gfxdecode->gfx(gfxnum);
const bitmap_ind16 &src_bitmap = tilemap->pixmap();
int width_mask, height_mask;
int opaque_mask = gfx_tilemap->granularity() - 1;
diff --git a/src/mame/video/seta001.c b/src/mame/video/seta001.c
index 90f1efab34d..8d41a6658db 100644
--- a/src/mame/video/seta001.c
+++ b/src/mame/video/seta001.c
@@ -30,10 +30,22 @@
const device_type SETA001_SPRITE = &device_creator<seta001_device>;
seta001_device::seta001_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, SETA001_SPRITE, "seta001_device", tag, owner, clock, "seta001", __FILE__)
+ : device_t(mconfig, SETA001_SPRITE, "seta001_device", tag, owner, clock, "seta001", __FILE__),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void seta001_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<seta001_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
void seta001_device::device_start()
{
// chukatai draws a column on the left from uninitialized RAM which causes garbage in a debug build
@@ -196,7 +208,7 @@ void seta001_device::draw_background( bitmap_ind16 &bitmap, const rectangle &cli
int offs, col;
int xoffs, yoffs;
- int total_color_codes = machine().config().m_gfxdecodeinfo[0].total_color_codes;
+ int total_color_codes = m_gfxdecode->gfx(0)->colors();
int ctrl = m_spritectrl[0];
int ctrl2 = m_spritectrl[1];
@@ -276,28 +288,28 @@ void seta001_device::draw_background( bitmap_ind16 &bitmap, const rectangle &cli
color = ( color >> (16-5) ) % total_color_codes;
code &= 0x3fff;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
((sx) & 0x1ff),((sy) & 0x0ff),
transpen);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
((sx) & 0x1ff)-512,((sy) & 0x0ff),
transpen);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
((sx) & 0x1ff),((sy) & 0x0ff)-256,
transpen);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -316,7 +328,7 @@ void seta001_device::draw_foreground( screen_device &screen, bitmap_ind16 &bitma
int ctrl2 = m_spritectrl[1];
int xoffs, yoffs;
- int total_color_codes = machine().config().m_gfxdecodeinfo[0].total_color_codes;
+ int total_color_codes = m_gfxdecode->gfx(0)->colors();
UINT8 *char_pointer = m_spritecodelow + 0x0000;
UINT8 *x_pointer = m_spritecodelow + 0x0200;
@@ -365,7 +377,7 @@ void seta001_device::draw_foreground( screen_device &screen, bitmap_ind16 &bitma
flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -373,7 +385,7 @@ void seta001_device::draw_foreground( screen_device &screen, bitmap_ind16 &bitma
max_y - ((sy + yoffs) & 0x0ff),m_transpen);
/* wrap around x */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -381,7 +393,7 @@ void seta001_device::draw_foreground( screen_device &screen, bitmap_ind16 &bitma
max_y - ((sy + yoffs) & 0x0ff),m_transpen);
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -389,7 +401,7 @@ void seta001_device::draw_foreground( screen_device &screen, bitmap_ind16 &bitma
max_y - ((sy + yoffs) & 0x0ff)-256,m_transpen);
/* wrap around x */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/seta001.h b/src/mame/video/seta001.h
index 3dac90e9a6a..02d65abf4c0 100644
--- a/src/mame/video/seta001.h
+++ b/src/mame/video/seta001.h
@@ -6,6 +6,9 @@ class seta001_device : public device_t
public:
seta001_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_WRITE8_MEMBER( spritebgflag_w8 );
DECLARE_READ16_MEMBER( spritectrl_r16 );
@@ -72,7 +75,10 @@ private:
void draw_background( bitmap_ind16 &bitmap, const rectangle &cliprect, int bank_size, int setac_type);
void draw_foreground( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int bank_size);
-
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type SETA001_SPRITE;
+
+#define MCFG_SETA001_SPRITE_GFXDECODE(_gfxtag) \
+ seta001_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
diff --git a/src/mame/video/seta2.c b/src/mame/video/seta2.c
index 1e14a2c902a..ff4aa2642dd 100644
--- a/src/mame/video/seta2.c
+++ b/src/mame/video/seta2.c
@@ -249,37 +249,37 @@ void seta2_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
default:
popmessage("unknown gfxset %x",(num & 0x0700)>>8);
shadow_depth = 0;
- gfx = machine().gfx[machine().rand()&3];
+ gfx = m_gfxdecode->gfx(machine().rand()&3);
break;
case 0x0700: // 8bpp tiles (76543210)
shadow_depth = 8; // ?
- gfx = machine().gfx[3];
+ gfx = m_gfxdecode->gfx(3);
break;
case 0x0600: // 6bpp tiles (--543210) (myangel sliding blocks test)
shadow_depth = 6; // ?
- gfx = machine().gfx[2];
+ gfx = m_gfxdecode->gfx(2);
break;
case 0x0500: // 4bpp tiles (3210----)
shadow_depth = 4; // ?
- gfx = machine().gfx[1];
+ gfx = m_gfxdecode->gfx(1);
break;
case 0x0400: // 4bpp tiles (----3210)
shadow_depth = 3; // reelquak
- gfx = machine().gfx[0];
+ gfx = m_gfxdecode->gfx(0);
break;
// case 0x0300:
// unknown
case 0x0200: // 3bpp tiles? (-----210) (myangel "Graduate Tests")
shadow_depth = 3; // ?
- gfx = machine().gfx[4];
+ gfx = m_gfxdecode->gfx(4);
break;
case 0x0100: // 2bpp tiles??? (--10----) (myangel2 question bubble, myangel endgame)
shadow_depth = 2; // myangel2
- gfx = machine().gfx[5];
+ gfx = m_gfxdecode->gfx(5);
break;
case 0x0000: // no idea!
shadow_depth = 4; // ?
- gfx = machine().gfx[0];
+ gfx = m_gfxdecode->gfx(0);
break;
}
if (!use_shadow)
@@ -443,10 +443,10 @@ void seta2_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
VIDEO_START_MEMBER(seta2_state,seta2)
{
- machine().gfx[2]->set_granularity(16);
- machine().gfx[3]->set_granularity(16);
- machine().gfx[4]->set_granularity(16);
- machine().gfx[5]->set_granularity(16);
+ m_gfxdecode->gfx(2)->set_granularity(16);
+ m_gfxdecode->gfx(3)->set_granularity(16);
+ m_gfxdecode->gfx(4)->set_granularity(16);
+ m_gfxdecode->gfx(5)->set_granularity(16);
m_buffered_spriteram = auto_alloc_array(machine(), UINT16, m_spriteram.bytes()/2);
diff --git a/src/mame/video/sf.c b/src/mame/video/sf.c
index e49b0e601f2..3ee04b836e1 100644
--- a/src/mame/video/sf.c
+++ b/src/mame/video/sf.c
@@ -13,7 +13,7 @@ TILE_GET_INFO_MEMBER(sf_state::get_bg_tile_info)
int attr = base[0x10000];
int color = base[0];
int code = (base[0x10000 + 1] << 8) | base[1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -26,7 +26,7 @@ TILE_GET_INFO_MEMBER(sf_state::get_fg_tile_info)
int attr = base[0x10000];
int color = base[0];
int code = (base[0x10000 + 1] << 8) | base[1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
color,
@@ -36,7 +36,7 @@ TILE_GET_INFO_MEMBER(sf_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(sf_state::get_tx_tile_info)
{
int code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
code & 0x3ff,
code>>12,
@@ -164,25 +164,25 @@ void sf_state::draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect )
t = c2; c2 = c4; c4 = t;
}
- machine().gfx[2]->transpen(bitmap,
+ m_gfxdecode->gfx(2)->transpen(bitmap,
cliprect,
sf_invert(c1),
color,
flipx,flipy,
sx,sy, 15);
- machine().gfx[2]->transpen(bitmap,
+ m_gfxdecode->gfx(2)->transpen(bitmap,
cliprect,
sf_invert(c2),
color,
flipx,flipy,
sx+16,sy, 15);
- machine().gfx[2]->transpen(bitmap,
+ m_gfxdecode->gfx(2)->transpen(bitmap,
cliprect,
sf_invert(c3),
color,
flipx,flipy,
sx,sy+16, 15);
- machine().gfx[2]->transpen(bitmap,
+ m_gfxdecode->gfx(2)->transpen(bitmap,
cliprect,
sf_invert(c4),
color,
@@ -199,7 +199,7 @@ void sf_state::draw_sprites( bitmap_ind16 &bitmap,const rectangle &cliprect )
flipy = !flipy;
}
- machine().gfx[2]->transpen(bitmap,
+ m_gfxdecode->gfx(2)->transpen(bitmap,
cliprect,
sf_invert(c),
color,
diff --git a/src/mame/video/shadfrce.c b/src/mame/video/shadfrce.c
index f4ff10d7120..e3cc7650e43 100644
--- a/src/mame/video/shadfrce.c
+++ b/src/mame/video/shadfrce.c
@@ -9,7 +9,7 @@ TILE_GET_INFO_MEMBER(shadfrce_state::get_shadfrce_fgtile_info)
tileno = (m_fgvideoram[tile_index *2] & 0x00ff) | ((m_fgvideoram[tile_index *2+1] & 0x000f) << 8);
colour = (m_fgvideoram[tile_index *2+1] & 0x00f0) >>4;
- SET_TILE_INFO_MEMBER(0,tileno,colour*4,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour*4,0);
}
WRITE16_MEMBER(shadfrce_state::shadfrce_fgvideoram_w)
@@ -28,7 +28,7 @@ TILE_GET_INFO_MEMBER(shadfrce_state::get_shadfrce_bg0tile_info)
if (colour & 0x10) colour ^= 0x30; /* skip hole */
fyx = (m_bg0videoram[tile_index *2] & 0x00c0) >>6;
- SET_TILE_INFO_MEMBER(2,tileno,colour,TILE_FLIPYX(fyx));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,tileno,colour,TILE_FLIPYX(fyx));
}
WRITE16_MEMBER(shadfrce_state::shadfrce_bg0videoram_w)
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(shadfrce_state::get_shadfrce_bg1tile_info)
tileno = (m_bg1videoram[tile_index] & 0x0fff);
colour = (m_bg1videoram[tile_index] & 0xf000) >> 12;
- SET_TILE_INFO_MEMBER(2,tileno,colour+64,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,tileno,colour+64,0);
}
WRITE16_MEMBER(shadfrce_state::shadfrce_bg1videoram_w)
@@ -108,7 +108,7 @@ void shadfrce_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, c
P = priority
*/
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
UINT16 *finish = m_spvideoram_old;
UINT16 *source = finish + 0x2000/2 - 8;
int hcount;
diff --git a/src/mame/video/shangha3.c b/src/mame/video/shangha3.c
index 5c89bce5e8d..ba192338591 100644
--- a/src/mame/video/shangha3.c
+++ b/src/mame/video/shangha3.c
@@ -206,7 +206,7 @@ WRITE16_MEMBER(shangha3_state::shangha3_blitter_go_w)
if (flipy) dy = sy + sizey-15 - dy;
else dy = sy + dy;
- machine().gfx[0]->transpen(rawbitmap,myclip,
+ m_gfxdecode->gfx(0)->transpen(rawbitmap,myclip,
(tile & 0x0fff) | (code & 0xf000),
(tile >> 12) | (color & 0x70),
flipx,flipy,
@@ -219,7 +219,7 @@ WRITE16_MEMBER(shangha3_state::shangha3_blitter_go_w)
int w;
if (zoomx <= 1 && zoomy <= 1)
- machine().gfx[0]->zoom_transtable(rawbitmap,myclip,
+ m_gfxdecode->gfx(0)->zoom_transtable(rawbitmap,myclip,
code,
color,
flipx,flipy,
@@ -232,7 +232,7 @@ else
for (x = 0;x < w;x++)
{
- machine().gfx[0]->zoom_transtable(rawbitmap,myclip,
+ m_gfxdecode->gfx(0)->zoom_transtable(rawbitmap,myclip,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/shangkid.c b/src/mame/video/shangkid.c
index 6fe7ae8de2c..d5374662a73 100644
--- a/src/mame/video/shangkid.c
+++ b/src/mame/video/shangkid.c
@@ -20,7 +20,7 @@ TILE_GET_INFO_MEMBER(shangkid_state::get_bg_tile_info){
*/
color = attributes>>3;
color = (color&0x03)|((color&0x1c)<<1);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
color,
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(shangkid_state::get_bg_tile_info){
x------- flipx?
*/
color = (attributes>>2)&0x1f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
color,
@@ -128,7 +128,7 @@ void shangkid_state::draw_sprite(const UINT8 *source, bitmap_ind16 &bitmap, cons
transparent_pen = 7;
}
- gfx = machine().gfx[1+bank_index];
+ gfx = m_gfxdecode->gfx(1+bank_index);
width = (xscale+1)*2;
height = (yscale+1)*2;
@@ -270,7 +270,7 @@ void shangkid_state::dynamski_draw_background(bitmap_ind16 &bitmap, const rectan
{
tile += ((attr>>5)&0x3)*256;
- machine().gfx[0]->transpen(
+ m_gfxdecode->gfx(0)->transpen(
bitmap,
cliprect,
tile,
@@ -303,7 +303,7 @@ void shangkid_state::dynamski_draw_sprites(bitmap_ind16 &bitmap, const rectangle
if( attr&1 ) sx += 0x100;
- machine().gfx[1]->transpen(
+ m_gfxdecode->gfx(1)->transpen(
bitmap,
cliprect,
bank*0x40 + (tile&0x3f),
diff --git a/src/mame/video/shaolins.c b/src/mame/video/shaolins.c
index d4826ab6566..a7b68be1191 100644
--- a/src/mame/video/shaolins.c
+++ b/src/mame/video/shaolins.c
@@ -136,7 +136,7 @@ TILE_GET_INFO_MEMBER(shaolins_state::get_bg_tile_info)
int color = (attr & 0x0f) + 16 * m_palettebank;
int flags = (attr & 0x20) ? TILE_FLIPY : 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void shaolins_state::video_start()
@@ -171,11 +171,11 @@ void shaolins_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, m_palettebank << 5));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, m_palettebank << 5));
}
}
}
diff --git a/src/mame/video/shisen.c b/src/mame/video/shisen.c
index 0938240a63d..117315ac376 100644
--- a/src/mame/video/shisen.c
+++ b/src/mame/video/shisen.c
@@ -46,7 +46,7 @@ TILE_GET_INFO_MEMBER(shisen_state::get_bg_tile_info)
int code = m_videoram[offs] + ((m_videoram[offs + 1] & 0x0f) << 8) + (m_gfxbank << 12);
int color = (m_videoram[offs + 1] & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void shisen_state::video_start()
diff --git a/src/mame/video/shootout.c b/src/mame/video/shootout.c
index 091c4f14c6a..f6a8b630115 100644
--- a/src/mame/video/shootout.c
+++ b/src/mame/video/shootout.c
@@ -45,7 +45,7 @@ TILE_GET_INFO_MEMBER(shootout_state::get_bg_tile_info)
int tile_number = m_videoram[tile_index] + 256*(attributes&7);
int color = attributes>>4;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile_number,
color,
@@ -58,7 +58,7 @@ TILE_GET_INFO_MEMBER(shootout_state::get_fg_tile_info)
int tile_number = m_textram[tile_index] + 256*(attributes&0x3);
int color = attributes>>4;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
color,
@@ -87,7 +87,7 @@ void shootout_state::video_start()
void shootout_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int bank_bits )
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
const UINT8 *source = spriteram+127*4;
int count;
diff --git a/src/mame/video/shuuz.c b/src/mame/video/shuuz.c
index c3a3d7e649d..c2e1fb20409 100644
--- a/src/mame/video/shuuz.c
+++ b/src/mame/video/shuuz.c
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(shuuz_state::get_playfield_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) >> 8;
int code = data1 & 0x3fff;
int color = data2 & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
}
diff --git a/src/mame/video/sidearms.c b/src/mame/video/sidearms.c
index a51c6e6d388..b3b452374e1 100644
--- a/src/mame/video/sidearms.c
+++ b/src/mame/video/sidearms.c
@@ -100,7 +100,7 @@ TILE_GET_INFO_MEMBER(sidearms_state::get_sidearms_bg_tile_info)
color = attr>>3 & 0x1f;
flags = attr>>1 & 0x03;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(sidearms_state::get_philko_bg_tile_info)
@@ -113,7 +113,7 @@ TILE_GET_INFO_MEMBER(sidearms_state::get_philko_bg_tile_info)
color = attr>>3 & 0x0f;
flags = attr>>1 & 0x03;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(sidearms_state::get_fg_tile_info)
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(sidearms_state::get_fg_tile_info)
int code = m_videoram[tile_index] + (attr<<2 & 0x300);
int color = attr & 0x3f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILEMAP_MAPPER_MEMBER(sidearms_state::sidearms_tilemap_scan)
@@ -164,7 +164,7 @@ void sidearms_state::video_start()
void sidearms_state::draw_sprites_region(bitmap_ind16 &bitmap, const rectangle &cliprect, int start_offset, int end_offset )
{
UINT8 *buffered_spriteram = m_spriteram->buffer();
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
int offs, attr, color, code, x, y, flipx, flipy;
flipy = flipx = m_flipon;
diff --git a/src/mame/video/sidepckt.c b/src/mame/video/sidepckt.c
index 8af2185f872..91538ba356a 100644
--- a/src/mame/video/sidepckt.c
+++ b/src/mame/video/sidepckt.c
@@ -53,7 +53,7 @@ void sidepckt_state::palette_init()
TILE_GET_INFO_MEMBER(sidepckt_state::get_tile_info)
{
UINT8 attr = m_colorram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index] + ((attr & 0x07) << 8),
((attr & 0x10) >> 3) | ((attr & 0x20) >> 5),
@@ -130,13 +130,13 @@ void sidepckt_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
flipx = spriteram[offs+1] & 0x08;
flipy = spriteram[offs+1] & 0x04;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
sx,sy,0);
/* wraparound */
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/silkroad.c b/src/mame/video/silkroad.c
index 75f261d7ff6..6a731ced2c0 100644
--- a/src/mame/video/silkroad.c
+++ b/src/mame/video/silkroad.c
@@ -9,7 +9,7 @@
void silkroad_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT32 *source = m_sprram;
UINT32 *finish = source + 0x1000/4;
@@ -60,7 +60,7 @@ TILE_GET_INFO_MEMBER(silkroad_state::get_fg_tile_info)
code += 0x18000;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -81,7 +81,7 @@ TILE_GET_INFO_MEMBER(silkroad_state::get_fg2_tile_info)
int color = ((m_vidram2[tile_index] & 0x000001f));
int flipx = ((m_vidram2[tile_index] & 0x0000080) >> 7);
code += 0x18000;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -102,7 +102,7 @@ TILE_GET_INFO_MEMBER(silkroad_state::get_fg3_tile_info)
int color = ((m_vidram3[tile_index] & 0x000001f));
int flipx = ((m_vidram3[tile_index] & 0x0000080) >> 7);
code += 0x18000;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
diff --git a/src/mame/video/skullxbo.c b/src/mame/video/skullxbo.c
index 653c52f0849..158c3644fd1 100644
--- a/src/mame/video/skullxbo.c
+++ b/src/mame/video/skullxbo.c
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(skullxbo_state::get_alpha_tile_info)
int code = (data ^ 0x400) & 0x7ff;
int color = (data >> 11) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(skullxbo_state::get_playfield_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) & 0xff;
int code = data1 & 0x7fff;
int color = data2 & 0x0f;
- SET_TILE_INFO_MEMBER(1, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, (data1 >> 15) & 1);
}
diff --git a/src/mame/video/skydiver.c b/src/mame/video/skydiver.c
index 07655b4a4af..faf71b54463 100644
--- a/src/mame/video/skydiver.c
+++ b/src/mame/video/skydiver.c
@@ -38,7 +38,7 @@ void skydiver_state::machine_reset()
TILE_GET_INFO_MEMBER(skydiver_state::get_tile_info)
{
UINT8 code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code & 0x3f, code >> 6, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x3f, code >> 6, 0);
}
@@ -190,7 +190,7 @@ void skydiver_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
sx -= 8;
}
- machine().gfx[1]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->zoom_transpen(bitmap,cliprect,
charcode, color,
xflip,yflip,sx,sy,
wide ? 0x20000 : 0x10000, 0x10000,0);
diff --git a/src/mame/video/skyfox.c b/src/mame/video/skyfox.c
index 64118d8fb14..d18e89e6eea 100644
--- a/src/mame/video/skyfox.c
+++ b/src/mame/video/skyfox.c
@@ -191,7 +191,7 @@ void skyfox_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
}
#define DRAW_SPRITE(DX,DY,CODE) \
- machine().gfx[0]->transpen(bitmap,\
+ m_gfxdecode->gfx(0)->transpen(bitmap,\
cliprect, \
(CODE), \
0, \
diff --git a/src/mame/video/skykid.c b/src/mame/video/skykid.c
index 2bbf76c88d3..272418cdac7 100644
--- a/src/mame/video/skykid.c
+++ b/src/mame/video/skykid.c
@@ -81,7 +81,7 @@ TILE_GET_INFO_MEMBER(skykid_state::tx_get_tile_info)
screen is flipped, character flip is done by selecting the 2nd character set.
We reproduce this here, but since the tilemap system automatically flips
characters when screen is flipped, we have to flip them back. */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code | (flip_screen() ? 0x100 : 0),
attr & 0x3f,
@@ -94,7 +94,7 @@ TILE_GET_INFO_MEMBER(skykid_state::bg_get_tile_info)
int code = m_videoram[tile_index];
int attr = m_videoram[tile_index+0x800];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code + ((attr & 0x01) << 8),
((attr & 0x7e) >> 1) | ((attr & 0x01) << 6),
@@ -216,12 +216,12 @@ void skykid_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
{
for (x = 0;x <= sizex;x++)
{
- machine().gfx[2]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transmask(bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey * flipy)][x ^ (sizex * flipx)],
color,
flipx,flipy,
sx + 16*x,sy + 16*y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[2], color, 0xff));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(2), color, 0xff));
}
}
}
diff --git a/src/mame/video/skyraid.c b/src/mame/video/skyraid.c
index c3eefcf1b3f..eebb1d78019 100644
--- a/src/mame/video/skyraid.c
+++ b/src/mame/video/skyraid.c
@@ -28,7 +28,7 @@ void skyraid_state::draw_text(bitmap_ind16 &bitmap, const rectangle &cliprect)
y = 136 + 16 * (i ^ 1);
for (x = 0; x < bitmap.width(); x += 16)
- machine().gfx[0]->transpen(bitmap,cliprect, *p++, 0, 0, 0, x, y, 0);
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, *p++, 0, 0, 0, x, y, 0);
}
}
@@ -77,7 +77,7 @@ void skyraid_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
vert -= 31;
if (flag & 1)
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code ^ 15, code >> 3, 0, 0,
horz / 2, vert, 2);
}
@@ -99,7 +99,7 @@ void skyraid_state::draw_missiles(bitmap_ind16 &bitmap, const rectangle &cliprec
vert -= 15;
horz -= 31;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code ^ 15, 0, 0, 0,
horz / 2, vert, 0);
}
diff --git a/src/mame/video/slapfght.c b/src/mame/video/slapfght.c
index 9a82f6d7115..f3370895d2e 100644
--- a/src/mame/video/slapfght.c
+++ b/src/mame/video/slapfght.c
@@ -22,7 +22,7 @@ TILE_GET_INFO_MEMBER(slapfght_state::get_pf_tile_info)/* For Performan only */
tile=m_slapfight_videoram[tile_index] + ((m_slapfight_colorram[tile_index] & 0x03) << 8);
color=(m_slapfight_colorram[tile_index] >> 3) & 0x0f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -36,7 +36,7 @@ TILE_GET_INFO_MEMBER(slapfght_state::get_pf1_tile_info)
tile=m_slapfight_videoram[tile_index] + ((m_slapfight_colorram[tile_index] & 0x0f) << 8);
color=(m_slapfight_colorram[tile_index] & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile,
color,
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(slapfght_state::get_fix_tile_info)
tile=m_slapfight_fixvideoram[tile_index] + ((m_slapfight_fixcolorram[tile_index] & 0x03) << 8);
color=(m_slapfight_fixcolorram[tile_index] & 0xfc) >> 2;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -163,7 +163,7 @@ void slapfght_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
sx = buffered_spriteram[offs+1] + 3;
sy = buffered_spriteram[offs+3] - 1;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
buffered_spriteram[offs],
((buffered_spriteram[offs+2] >> 1) & 3) |
((buffered_spriteram[offs+2] << 2) & 4) | (m_slapfight_palette_bank << 3),
@@ -220,13 +220,13 @@ UINT32 slapfght_state::screen_update_slapfight(screen_device &screen, bitmap_ind
for (offs = 0;offs < m_spriteram->bytes();offs += 4)
{
if (m_flipscreen)
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
buffered_spriteram[offs] + ((buffered_spriteram[offs+2] & 0xc0) << 2),
(buffered_spriteram[offs+2] & 0x1e) >> 1,
1,1,
288-(buffered_spriteram[offs+1] + ((buffered_spriteram[offs+2] & 0x01) << 8)) +18,240-buffered_spriteram[offs+3],0);
else
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
buffered_spriteram[offs] + ((buffered_spriteram[offs+2] & 0xc0) << 2),
(buffered_spriteram[offs+2] & 0x1e) >> 1,
0,0,
diff --git a/src/mame/video/slapshot.c b/src/mame/video/slapshot.c
index 325a15691c7..bbb48181383 100644
--- a/src/mame/video/slapshot.c
+++ b/src/mame/video/slapshot.c
@@ -330,7 +330,7 @@ void slapshot_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
{
sprite_ptr->code = code;
sprite_ptr->color = color;
- if (machine().gfx[0]->granularity() == 64) /* Final Blow, Slapshot are 6bpp */
+ if (m_gfxdecode->gfx(0)->granularity() == 64) /* Final Blow, Slapshot are 6bpp */
sprite_ptr->color /= 4;
sprite_ptr->flipx = flipx;
sprite_ptr->flipy = flipy;
@@ -347,7 +347,7 @@ void slapshot_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
}
else
{
- machine().gfx[0]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
@@ -363,7 +363,7 @@ void slapshot_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
{
sprite_ptr--;
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
diff --git a/src/mame/video/snk.c b/src/mame/video/snk.c
index c596db4498f..79882a05a41 100644
--- a/src/mame/video/snk.c
+++ b/src/mame/video/snk.c
@@ -75,7 +75,7 @@ TILE_GET_INFO_MEMBER(snk_state::marvins_get_tx_tile_info)
int code = m_tx_videoram[tile_index];
int color = code >> 5;
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
m_tx_tile_offset + code,
color,
tile_index & 0x400 ? TILE_FORCE_LAYER0 : 0);
@@ -85,7 +85,7 @@ TILE_GET_INFO_MEMBER(snk_state::ikari_get_tx_tile_info)
{
int code = m_tx_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
m_tx_tile_offset + code,
0,
tile_index & 0x400 ? TILE_FORCE_LAYER0 : 0);
@@ -95,7 +95,7 @@ TILE_GET_INFO_MEMBER(snk_state::gwar_get_tx_tile_info)
{
int code = m_tx_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,
m_tx_tile_offset + code,
0,
0);
@@ -106,7 +106,7 @@ TILE_GET_INFO_MEMBER(snk_state::marvins_get_fg_tile_info)
{
int code = m_fg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(1,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,
code,
0,
0);
@@ -116,7 +116,7 @@ TILE_GET_INFO_MEMBER(snk_state::marvins_get_bg_tile_info)
{
int code = m_bg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(2,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,
code,
0,
0);
@@ -127,7 +127,7 @@ TILE_GET_INFO_MEMBER(snk_state::aso_get_bg_tile_info)
{
int code = m_bg_videoram[tile_index];
- SET_TILE_INFO_MEMBER(1,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,
m_bg_tile_offset + code,
0,
0);
@@ -139,7 +139,7 @@ TILE_GET_INFO_MEMBER(snk_state::tnk3_get_bg_tile_info)
int code = m_bg_videoram[2*tile_index] | ((attr & 0x30) << 4);
int color = (attr & 0xf) ^ 8;
- SET_TILE_INFO_MEMBER(1,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,
code,
color,
0);
@@ -151,7 +151,7 @@ TILE_GET_INFO_MEMBER(snk_state::ikari_get_bg_tile_info)
int code = m_bg_videoram[2*tile_index] | ((attr & 0x03) << 8);
int color = (attr & 0x70) >> 4;
- SET_TILE_INFO_MEMBER(1,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,
code,
color,
0);
@@ -166,7 +166,7 @@ TILE_GET_INFO_MEMBER(snk_state::gwar_get_bg_tile_info)
if (m_is_psychos) // psychos has a separate palette bank bit
color &= 7;
- SET_TILE_INFO_MEMBER(1,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,
code,
color,
0);
@@ -174,7 +174,7 @@ TILE_GET_INFO_MEMBER(snk_state::gwar_get_bg_tile_info)
// bermudat, tdfever use FFFF to blank the background.
// (still call SET_TILE_INFO_MEMBER, otherwise problems might occur on boot when
// the tile data hasn't been initialised)
- if (code >= machine().gfx[1]->elements())
+ if (code >= m_gfxdecode->gfx(1)->elements())
tileinfo.pen_data = m_empty_tile;
}
@@ -662,7 +662,7 @@ static void marvins_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,
const int scrollx, const int scrolly, const int from, const int to)
{
snk_state *state = machine.driver_data<snk_state>();
- gfx_element *gfx = machine.gfx[3];
+ gfx_element *gfx = state->m_gfxdecode->gfx(3);
const UINT8 *source, *finish;
source = state->m_spriteram + from*4;
@@ -706,7 +706,7 @@ static void marvins_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,
void snk_state::tnk3_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, const int xscroll, const int yscroll)
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
const int size = gfx->width();
int tile_number, attributes, color, sx, sy;
int xflip,yflip;
@@ -771,7 +771,7 @@ static void ikari_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, c
const int start, const int xscroll, const int yscroll, const UINT8 *source, const int gfxnum )
{
snk_state *state = machine.driver_data<snk_state>();
- gfx_element *gfx = machine.gfx[gfxnum];
+ gfx_element *gfx = state->m_gfxdecode->gfx(gfxnum);
const int size = gfx->width();
int tile_number, attributes, color, sx, sy;
int which, finish;
@@ -843,7 +843,7 @@ static void tdfever_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,
const int xscroll, const int yscroll, const UINT8 *source, const int gfxnum, const int hw_xflip, const int from, const int to )
{
snk_state *state = machine.driver_data<snk_state>();
- gfx_element *gfx = machine.gfx[gfxnum];
+ gfx_element *gfx = state->m_gfxdecode->gfx(gfxnum);
const int size = gfx->width();
int tile_number, attributes, sx, sy, color;
int which;
diff --git a/src/mame/video/snk6502.c b/src/mame/video/snk6502.c
index 77239fac022..e9f87817709 100644
--- a/src/mame/video/snk6502.c
+++ b/src/mame/video/snk6502.c
@@ -10,8 +10,8 @@
#include "includes/snk6502.h"
-#define TOTAL_COLORS(m,gfxn) ((m).gfx[gfxn]->colors() * (m).gfx[gfxn]->granularity())
-#define COLOR(m,gfxn,offs) ((m).config().m_gfxdecodeinfo[gfxn].color_codes_start + offs)
+#define TOTAL_COLORS(gfxn) (m_gfxdecode->gfx(gfxn)->colors() * m_gfxdecode->gfx(gfxn)->granularity())
+#define COLOR(gfxn,offs) (m_gfxdecode->gfx(gfxn)->colorbase() + offs)
@@ -62,15 +62,15 @@ PALETTE_INIT_MEMBER(snk6502_state,snk6502)
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), m_palette[i]);
+ for (i = 0; i < TOTAL_COLORS(0); i++)
+ palette_set_color(machine(), COLOR(0, i), m_palette[i]);
- for (i = 0; i < TOTAL_COLORS(machine(),1); i++)
+ for (i = 0; i < TOTAL_COLORS(1); i++)
{
if (i % 4 == 0)
- palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[4 * m_backcolor + 0x20]);
+ palette_set_color(machine(), COLOR(1, i), m_palette[4 * m_backcolor + 0x20]);
else
- palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[i + 0x20]);
+ palette_set_color(machine(), COLOR(1, i), m_palette[i + 0x20]);
}
}
@@ -98,7 +98,7 @@ WRITE8_MEMBER(snk6502_state::snk6502_charram_w)
if (m_charram[offset] != data)
{
m_charram[offset] = data;
- machine().gfx[0]->mark_dirty((offset/8) % 256);
+ m_gfxdecode->gfx(0)->mark_dirty((offset/8) % 256);
}
}
@@ -116,7 +116,7 @@ WRITE8_MEMBER(snk6502_state::snk6502_flipscreen_w)
m_backcolor = data & 7;
for (i = 0;i < 32;i += 4)
- palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[4 * m_backcolor + 0x20]);
+ palette_set_color(machine(), COLOR(1, i), m_palette[4 * m_backcolor + 0x20]);
}
/* bit 3 selects char bank */
@@ -154,7 +154,7 @@ TILE_GET_INFO_MEMBER(snk6502_state::get_bg_tile_info)
int code = m_videoram[tile_index] + 256 * m_charbank;
int color = (m_colorram[tile_index] & 0x38) >> 3;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
TILE_GET_INFO_MEMBER(snk6502_state::get_fg_tile_info)
@@ -162,7 +162,7 @@ TILE_GET_INFO_MEMBER(snk6502_state::get_fg_tile_info)
int code = m_videoram2[tile_index];
int color = m_colorram[tile_index] & 0x07;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
VIDEO_START_MEMBER(snk6502_state,snk6502)
@@ -172,7 +172,7 @@ VIDEO_START_MEMBER(snk6502_state,snk6502)
m_fg_tilemap->set_transparent_pen(0);
- machine().gfx[0]->set_source(m_charram);
+ m_gfxdecode->gfx(0)->set_source(m_charram);
}
VIDEO_START_MEMBER(snk6502_state,pballoon)
@@ -233,15 +233,15 @@ PALETTE_INIT_MEMBER(snk6502_state,satansat)
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), m_palette[4 * (i % 4) + (i / 4)]);
+ for (i = 0; i < TOTAL_COLORS(0); i++)
+ palette_set_color(machine(), COLOR(0, i), m_palette[4 * (i % 4) + (i / 4)]);
- for (i = 0; i < TOTAL_COLORS(machine(),1); i++)
+ for (i = 0; i < TOTAL_COLORS(1); i++)
{
if (i % 4 == 0)
- palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[m_backcolor + 0x10]);
+ palette_set_color(machine(), COLOR(1, i), m_palette[m_backcolor + 0x10]);
else
- palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[4 * (i % 4) + (i / 4) + 0x10]);
+ palette_set_color(machine(), COLOR(1, i), m_palette[4 * (i % 4) + (i / 4) + 0x10]);
}
}
@@ -272,7 +272,7 @@ WRITE8_MEMBER(snk6502_state::satansat_backcolor_w)
m_backcolor = data & 0x03;
for (i = 0; i < 16; i += 4)
- palette_set_color(machine(), COLOR(machine(), 1, i), m_palette[m_backcolor + 0x10]);
+ palette_set_color(machine(), COLOR(1, i), m_palette[m_backcolor + 0x10]);
}
}
@@ -281,7 +281,7 @@ TILE_GET_INFO_MEMBER(snk6502_state::satansat_get_bg_tile_info)
int code = m_videoram[tile_index];
int color = (m_colorram[tile_index] & 0x0c) >> 2;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
TILE_GET_INFO_MEMBER(snk6502_state::satansat_get_fg_tile_info)
@@ -289,7 +289,7 @@ TILE_GET_INFO_MEMBER(snk6502_state::satansat_get_fg_tile_info)
int code = m_videoram2[tile_index];
int color = m_colorram[tile_index] & 0x03;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
VIDEO_START_MEMBER(snk6502_state,satansat)
@@ -299,5 +299,5 @@ VIDEO_START_MEMBER(snk6502_state,satansat)
m_fg_tilemap->set_transparent_pen(0);
- machine().gfx[0]->set_source(m_charram);
+ m_gfxdecode->gfx(0)->set_source(m_charram);
}
diff --git a/src/mame/video/snk68.c b/src/mame/video/snk68.c
index 571de692f3d..80ac5d16d45 100644
--- a/src/mame/video/snk68.c
+++ b/src/mame/video/snk68.c
@@ -27,7 +27,7 @@ TILE_GET_INFO_MEMBER(snk68_state::get_pow_tile_info)
int tile = m_fg_tile_offset + (m_pow_fg_videoram[2*tile_index] & 0xff);
int color = m_pow_fg_videoram[2*tile_index+1] & 0x07;
- SET_TILE_INFO_MEMBER(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, 0);
}
TILE_GET_INFO_MEMBER(snk68_state::get_searchar_tile_info)
@@ -39,7 +39,7 @@ TILE_GET_INFO_MEMBER(snk68_state::get_searchar_tile_info)
// used in the ikari3 intro
int flags = (data & 0x8000) ? TILE_FORCE_LAYER0 : 0;
- SET_TILE_INFO_MEMBER(0, tile, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tile, color, flags);
}
/***************************************************************************
@@ -188,7 +188,7 @@ void snk68_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
// pow has 0x4000 tiles and independent x/y flipping
// the other games have > 0x4000 tiles and flipping in only one direction
// (globally selected)
- int const is_pow = (machine().gfx[1]->elements() <= 0x4000);
+ int const is_pow = (m_gfxdecode->gfx(1)->elements() <= 0x4000);
int offs;
for (offs = 0; offs < 0x800; offs += 0x40)
@@ -246,7 +246,7 @@ void snk68_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
fy = !fy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tile,
color,
fx, fy,
diff --git a/src/mame/video/snookr10.c b/src/mame/video/snookr10.c
index fa445b1c898..8e2f6125720 100644
--- a/src/mame/video/snookr10.c
+++ b/src/mame/video/snookr10.c
@@ -97,7 +97,7 @@ TILE_GET_INFO_MEMBER(snookr10_state::get_bg_tile_info)
int code = attr & 0xfff;
int color = m_colorram[offs] >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -166,7 +166,7 @@ TILE_GET_INFO_MEMBER(snookr10_state::apple10_get_bg_tile_info)
int code = BITSWAP16((attr & 0xfff),15,14,13,12,8,9,10,11,0,1,2,3,4,5,6,7); /* encrypted tile matrix */
int color = m_colorram[offs] >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
@@ -235,7 +235,7 @@ TILE_GET_INFO_MEMBER(snookr10_state::crystalc_get_bg_tile_info)
int code = BITSWAP16((attr & 0xfff),15,14,13,12,0,10,5,1,7,6,9,4,3,2,8,11); /* encrypted tile matrix */
int color = m_colorram[offs] >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
diff --git a/src/mame/video/solomon.c b/src/mame/video/solomon.c
index 2225dc00508..06d129ebcd7 100644
--- a/src/mame/video/solomon.c
+++ b/src/mame/video/solomon.c
@@ -41,7 +41,7 @@ TILE_GET_INFO_MEMBER(solomon_state::get_bg_tile_info)
int color = ((attr & 0x70) >> 4);
int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x08) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(solomon_state::get_fg_tile_info)
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(solomon_state::get_fg_tile_info)
int code = m_videoram[tile_index] + 256 * (attr & 0x07);
int color = (attr & 0x70) >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void solomon_state::video_start()
@@ -87,7 +87,7 @@ void solomon_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
diff --git a/src/mame/video/sonson.c b/src/mame/video/sonson.c
index ed6aba28dc3..b2ffb12e9ae 100644
--- a/src/mame/video/sonson.c
+++ b/src/mame/video/sonson.c
@@ -126,7 +126,7 @@ TILE_GET_INFO_MEMBER(sonson_state::get_bg_tile_info)
int code = m_videoram[tile_index] + 256 * (attr & 0x03);
int color = attr >> 2;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void sonson_state::video_start()
@@ -158,14 +158,14 @@ void sonson_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
/* wrap-around */
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx - 256, sy, 0);
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy - 256, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx - 256, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, flipx, flipy, sx, sy - 256, 0);
}
}
diff --git a/src/mame/video/spbactn.c b/src/mame/video/spbactn.c
index fe1c7714624..48e9fc3660f 100644
--- a/src/mame/video/spbactn.c
+++ b/src/mame/video/spbactn.c
@@ -43,7 +43,7 @@ TILE_GET_INFO_MEMBER(spbactn_state::get_bg_tile_info)
{
int attr = m_bgvideoram[tile_index];
int tileno = m_bgvideoram[tile_index+0x2000];
- SET_TILE_INFO_MEMBER(1, tileno, ((attr & 0x00f0)>>4)+0x80, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, tileno, ((attr & 0x00f0)>>4)+0x80, 0);
}
@@ -66,7 +66,7 @@ TILE_GET_INFO_MEMBER(spbactn_state::get_fg_tile_info)
else
color |= 0x0080;
- SET_TILE_INFO_MEMBER(0, tileno, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, color, 0);
}
@@ -140,7 +140,7 @@ TILE_GET_INFO_MEMBER(spbactn_state::get_extra_tile_info)
{
int tileno = m_extraram[(tile_index*2)+1];
tileno |= m_extraram[(tile_index*2)] << 8;
- SET_TILE_INFO_MEMBER(3, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, tileno, 0, 0);
}
@@ -154,18 +154,18 @@ int spbactn_state::draw_video(screen_device &screen, bitmap_rgb32 &bitmap, const
- if (spbactn_draw_sprites(screen, m_tile_bitmap_bg, cliprect, 0, alt_sprites, m_spvideoram))
+ if (spbactn_draw_sprites(screen, m_gfxdecode, m_tile_bitmap_bg, cliprect, 0, alt_sprites, m_spvideoram))
{
m_bg_tilemap->draw(screen, m_tile_bitmap_bg, cliprect, 0, 0);
}
- spbactn_draw_sprites(screen, m_tile_bitmap_bg, cliprect, 1, alt_sprites, m_spvideoram);
+ spbactn_draw_sprites(screen, m_gfxdecode, m_tile_bitmap_bg, cliprect, 1, alt_sprites, m_spvideoram);
m_fg_tilemap->draw(screen, m_tile_bitmap_fg, cliprect, 0, 0);
- spbactn_draw_sprites(screen, m_tile_bitmap_fg, cliprect, 2, alt_sprites, m_spvideoram);
- spbactn_draw_sprites(screen, m_tile_bitmap_fg, cliprect, 3, alt_sprites, m_spvideoram);
+ spbactn_draw_sprites(screen, m_gfxdecode, m_tile_bitmap_fg, cliprect, 2, alt_sprites, m_spvideoram);
+ spbactn_draw_sprites(screen, m_gfxdecode, m_tile_bitmap_fg, cliprect, 3, alt_sprites, m_spvideoram);
/* mix & blend the tilemaps and sprites into a 32-bit bitmap */
blendbitmaps(machine(), bitmap, m_tile_bitmap_bg, m_tile_bitmap_fg, cliprect);
diff --git a/src/mame/video/spcforce.c b/src/mame/video/spcforce.c
index d295bd976e5..05f7c3e35db 100644
--- a/src/mame/video/spcforce.c
+++ b/src/mame/video/spcforce.c
@@ -39,7 +39,7 @@ UINT32 spcforce_state::screen_update_spcforce(screen_device &screen, bitmap_ind1
sy = 248 - sy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code, col,
flip, flip,
sx, sy,0);
diff --git a/src/mame/video/spdodgeb.c b/src/mame/video/spdodgeb.c
index 0531d4ca876..cac19ffd21b 100644
--- a/src/mame/video/spdodgeb.c
+++ b/src/mame/video/spdodgeb.c
@@ -55,7 +55,7 @@ TILE_GET_INFO_MEMBER(spdodgeb_state::get_bg_tile_info)
{
UINT8 code = m_videoram[tile_index];
UINT8 attr = m_videoram[tile_index + 0x800];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + ((attr & 0x1f) << 8),
((attr & 0xe0) >> 5) + 8 * m_tile_palbank,
@@ -148,7 +148,7 @@ WRITE8_MEMBER(spdodgeb_state::spdodgeb_videoram_w)
void spdodgeb_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
UINT8 *src;
int i;
diff --git a/src/mame/video/speedatk.c b/src/mame/video/speedatk.c
index c285a028758..0e5c1f334bb 100644
--- a/src/mame/video/speedatk.c
+++ b/src/mame/video/speedatk.c
@@ -102,7 +102,7 @@ UINT32 speedatk_state::screen_update_speedatk(screen_device &screen, bitmap_ind1
color = m_colorram[count] & 0x1f;
region = (m_colorram[count] & 0x10) >> 4;
- machine().gfx[region]->opaque(bitmap,cliprect,tile,color,m_flip_scr,m_flip_scr,x*8,y*8);
+ m_gfxdecode->gfx(region)->opaque(bitmap,cliprect,tile,color,m_flip_scr,m_flip_scr,x*8,y*8);
count = (m_flip_scr) ? count-1 : count+1;
count&=0x3ff;
diff --git a/src/mame/video/speedbal.c b/src/mame/video/speedbal.c
index 0161a9bc8ef..29db8cdf9f0 100644
--- a/src/mame/video/speedbal.c
+++ b/src/mame/video/speedbal.c
@@ -15,7 +15,7 @@ TILE_GET_INFO_MEMBER(speedbal_state::get_tile_info_bg)
int code = m_background_videoram[tile_index*2] + ((m_background_videoram[tile_index*2+1] & 0x30) << 4);
int color = m_background_videoram[tile_index*2+1] & 0x0f;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
tileinfo.group = (color == 8);
}
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(speedbal_state::get_tile_info_fg)
int code = m_foreground_videoram[tile_index*2] + ((m_foreground_videoram[tile_index*2+1] & 0x30) << 4);
int color = m_foreground_videoram[tile_index*2+1] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
tileinfo.group = (color == 9);
}
@@ -107,7 +107,7 @@ void speedbal_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
flipx = flipy = 1;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/speedspn.c b/src/mame/video/speedspn.c
index 12513b9e49e..0d3b2eb9571 100644
--- a/src/mame/video/speedspn.c
+++ b/src/mame/video/speedspn.c
@@ -9,7 +9,7 @@ TILE_GET_INFO_MEMBER(speedspn_state::get_speedspn_tile_info)
int code = m_vidram[tile_index*2+1] | (m_vidram[tile_index*2] << 8);
int attr = m_attram[tile_index^0x400];
- SET_TILE_INFO_MEMBER(0,code,attr & 0x3f,(attr & 0x80) ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,attr & 0x3f,(attr & 0x80) ? TILE_FLIPX : 0);
}
void speedspn_state::video_start()
@@ -54,7 +54,7 @@ WRITE8_MEMBER(speedspn_state::speedspn_global_display_w)
void speedspn_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
UINT8 *source = m_vidram+ 0x1000;
UINT8 *finish = source + 0x1000;
diff --git a/src/mame/video/splash.c b/src/mame/video/splash.c
index 6212c6dff30..8f4609a4580 100644
--- a/src/mame/video/splash.c
+++ b/src/mame/video/splash.c
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(splash_state::get_tile_info_splash_tilemap0)
int attr = data >> 8;
int code = data & 0xff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + ((0x20 + (attr & 0x0f)) << 8),
(attr & 0xf0) >> 4,
@@ -57,7 +57,7 @@ TILE_GET_INFO_MEMBER(splash_state::get_tile_info_splash_tilemap1)
int attr = data >> 8;
int code = data & 0xff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
(code >> 2) + ((0x30 + (attr & 0x0f)) << 6),
(attr & 0xf0) >> 4,
@@ -206,7 +206,7 @@ void splash_state::video_start()
void splash_state::splash_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
{
int i;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
for (i = 0; i < 0x400; i += 4){
int sx = m_spriteram[i+2] & 0xff;
@@ -226,7 +226,7 @@ void splash_state::splash_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cli
void splash_state::funystrp_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
{
int i;
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
for (i = 0; i < 0x400; i += 4){
int sx = m_spriteram[i+2] & 0xff;
diff --git a/src/mame/video/sprcros2.c b/src/mame/video/sprcros2.c
index 6e733ab3c36..412f64acadb 100644
--- a/src/mame/video/sprcros2.c
+++ b/src/mame/video/sprcros2.c
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(sprcros2_state::get_sprcros2_bgtile_info)
tile_number += (attr&0x07)<<8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
(attr&0xf0)>>4,
@@ -120,7 +120,7 @@ TILE_GET_INFO_MEMBER(sprcros2_state::get_sprcros2_fgtile_info)
tile_number += (attr&0x03)<<8;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile_number,
color,
@@ -132,7 +132,7 @@ void sprcros2_state::video_start()
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, m_fgtilemap, machine().gfx[2], 0);
+ colortable_configure_tilemap_groups(machine().colortable, m_fgtilemap, m_gfxdecode->gfx(2), 0);
}
void sprcros2_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
@@ -171,12 +171,12 @@ void sprcros2_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
flipy = !flipy;
}
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
m_spriteram[offs],
color,
flipx,flipy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
}
diff --git a/src/mame/video/sprint2.c b/src/mame/video/sprint2.c
index 2c063636e03..3faf845b304 100644
--- a/src/mame/video/sprint2.c
+++ b/src/mame/video/sprint2.c
@@ -38,7 +38,7 @@ TILE_GET_INFO_MEMBER(sprint2_state::get_tile_info)
{
UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code & 0x3f, code >> 7, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x3f, code >> 7, 0);
}
@@ -125,7 +125,7 @@ UINT32 sprint2_state::screen_update_sprint2(screen_device &screen, bitmap_ind16
for (i = 0; i < 4; i++)
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
get_sprite_code(video_ram, i),
i,
0, 0,
@@ -160,8 +160,8 @@ void sprint2_state::screen_eof_sprint2(screen_device &screen, bool state)
rect.min_x = get_sprite_x(video_ram, i);
rect.min_y = get_sprite_y(video_ram, i);
- rect.max_x = get_sprite_x(video_ram, i) + machine().gfx[1]->width() - 1;
- rect.max_y = get_sprite_y(video_ram, i) + machine().gfx[1]->height() - 1;
+ rect.max_x = get_sprite_x(video_ram, i) + m_gfxdecode->gfx(1)->width() - 1;
+ rect.max_y = get_sprite_y(video_ram, i) + m_gfxdecode->gfx(1)->height() - 1;
rect &= visarea;
@@ -169,7 +169,7 @@ void sprint2_state::screen_eof_sprint2(screen_device &screen, bool state)
m_bg_tilemap->draw(screen, m_helper, rect, 0, 0);
- machine().gfx[1]->transpen(m_helper,rect,
+ m_gfxdecode->gfx(1)->transpen(m_helper,rect,
get_sprite_code(video_ram, i),
0,
0, 0,
@@ -183,7 +183,7 @@ void sprint2_state::screen_eof_sprint2(screen_device &screen, bool state)
for (j = 0; j < 4; j++)
if (j != i)
{
- machine().gfx[1]->transpen(m_helper,rect,
+ m_gfxdecode->gfx(1)->transpen(m_helper,rect,
get_sprite_code(video_ram, j),
1,
0, 0,
@@ -191,7 +191,7 @@ void sprint2_state::screen_eof_sprint2(screen_device &screen, bool state)
get_sprite_y(video_ram, j), 0);
}
- machine().gfx[1]->transpen(m_helper,rect,
+ m_gfxdecode->gfx(1)->transpen(m_helper,rect,
get_sprite_code(video_ram, i),
0,
0, 0,
diff --git a/src/mame/video/sprint4.c b/src/mame/video/sprint4.c
index 4752a3bad75..13a5757af1b 100644
--- a/src/mame/video/sprint4.c
+++ b/src/mame/video/sprint4.c
@@ -41,9 +41,9 @@ TILE_GET_INFO_MEMBER(sprint4_state::sprint4_tile_info)
UINT8 code = videoram[tile_index];
if ((code & 0x30) == 0x30)
- SET_TILE_INFO_MEMBER(0, code & ~0x40, (code >> 6) ^ 3, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & ~0x40, (code >> 6) ^ 3, 0);
else
- SET_TILE_INFO_MEMBER(0, code, 4, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 4, 0);
}
@@ -74,7 +74,7 @@ UINT32 sprint4_state::screen_update_sprint4(screen_device &screen, bitmap_ind16
if (i & 1)
bank = 32;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
(code >> 3) | bank,
(attr & 0x80) ? 4 : i,
0, 0,
@@ -110,8 +110,8 @@ void sprint4_state::screen_eof_sprint4(screen_device &screen, bool state)
rect.min_x = horz - 15;
rect.min_y = vert - 15;
- rect.max_x = horz - 15 + machine().gfx[1]->width() - 1;
- rect.max_y = vert - 15 + machine().gfx[1]->height() - 1;
+ rect.max_x = horz - 15 + m_gfxdecode->gfx(1)->width() - 1;
+ rect.max_y = vert - 15 + m_gfxdecode->gfx(1)->height() - 1;
rect &= m_screen->visible_area();
@@ -120,7 +120,7 @@ void sprint4_state::screen_eof_sprint4(screen_device &screen, bool state)
if (i & 1)
bank = 32;
- machine().gfx[1]->transpen(m_helper,rect,
+ m_gfxdecode->gfx(1)->transpen(m_helper,rect,
(code >> 3) | bank,
4,
0, 0,
diff --git a/src/mame/video/sprint8.c b/src/mame/video/sprint8.c
index 96e6934ae07..0f5a86cbd7e 100644
--- a/src/mame/video/sprint8.c
+++ b/src/mame/video/sprint8.c
@@ -84,7 +84,7 @@ TILE_GET_INFO_MEMBER(sprint8_state::get_tile_info1)
}
- SET_TILE_INFO_MEMBER(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
}
@@ -99,7 +99,7 @@ TILE_GET_INFO_MEMBER(sprint8_state::get_tile_info2)
else
color = 17;
- SET_TILE_INFO_MEMBER(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
}
@@ -138,7 +138,7 @@ void sprint8_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
if (code & 0x80)
x |= 0x100;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code ^ 7,
i,
!(code & 0x10), !(code & 0x08),
diff --git a/src/mame/video/srumbler.c b/src/mame/video/srumbler.c
index 0ce293408cd..a722cebd741 100644
--- a/src/mame/video/srumbler.c
+++ b/src/mame/video/srumbler.c
@@ -19,7 +19,7 @@
TILE_GET_INFO_MEMBER(srumbler_state::get_fg_tile_info)
{
UINT8 attr = m_foregroundram[2*tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_foregroundram[2*tile_index + 1] + ((attr & 0x03) << 8),
(attr & 0x3c) >> 2,
@@ -29,7 +29,7 @@ TILE_GET_INFO_MEMBER(srumbler_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(srumbler_state::get_bg_tile_info)
{
UINT8 attr = m_backgroundram[2*tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_backgroundram[2*tile_index + 1] + ((attr & 0x07) << 8),
(attr & 0xe0) >> 5,
@@ -144,7 +144,7 @@ void srumbler_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
colour,
flip_screen(),flipy,
diff --git a/src/mame/video/sslam.c b/src/mame/video/sslam.c
index ea40f1e1bd7..5f450c00e8c 100644
--- a/src/mame/video/sslam.c
+++ b/src/mame/video/sslam.c
@@ -24,7 +24,7 @@ WRITE16_MEMBER(sslam_state::sslam_paletteram_w)
void sslam_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
UINT16 *source = m_spriteram;
UINT16 *finish = source + 0x1000/2;
@@ -95,7 +95,7 @@ TILE_GET_INFO_MEMBER(sslam_state::get_sslam_tx_tile_info)
int code = m_tx_tileram[tile_index] & 0x0fff;
int colr = m_tx_tileram[tile_index] & 0xf000;
- SET_TILE_INFO_MEMBER(3,code+0xc000 ,colr >> 12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3,code+0xc000 ,colr >> 12,0);
}
WRITE16_MEMBER(sslam_state::sslam_tx_tileram_w)
@@ -111,7 +111,7 @@ TILE_GET_INFO_MEMBER(sslam_state::get_sslam_md_tile_info)
int code = m_md_tileram[tile_index] & 0x0fff;
int colr = m_md_tileram[tile_index] & 0xf000;
- SET_TILE_INFO_MEMBER(2,code+0x2000 ,colr >> 12,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,code+0x2000 ,colr >> 12,0);
}
WRITE16_MEMBER(sslam_state::sslam_md_tileram_w)
@@ -127,7 +127,7 @@ TILE_GET_INFO_MEMBER(sslam_state::get_sslam_bg_tile_info)
int code = m_bg_tileram[tile_index] & 0x1fff;
int colr = m_bg_tileram[tile_index] & 0xe000;
- SET_TILE_INFO_MEMBER(1,code ,colr >> 13,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,code ,colr >> 13,0);
}
WRITE16_MEMBER(sslam_state::sslam_bg_tileram_w)
@@ -144,7 +144,7 @@ TILE_GET_INFO_MEMBER(sslam_state::get_powerbls_bg_tile_info)
//(m_bg_tileram[tile_index*2] & 0x0f00) == 0xf000 ???
- SET_TILE_INFO_MEMBER(1,code,colr,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,code,colr,0);
}
WRITE16_MEMBER(sslam_state::powerbls_bg_tileram_w)
diff --git a/src/mame/video/ssozumo.c b/src/mame/video/ssozumo.c
index f1f5698d916..5060aad1c81 100644
--- a/src/mame/video/ssozumo.c
+++ b/src/mame/video/ssozumo.c
@@ -114,7 +114,7 @@ TILE_GET_INFO_MEMBER(ssozumo_state::get_bg_tile_info)
int color = (m_colorram[tile_index] & 0x30) >> 4;
int flags = ((tile_index % 32) >= 16) ? TILE_FLIPY : 0;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
TILE_GET_INFO_MEMBER(ssozumo_state::get_fg_tile_info)
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(ssozumo_state::get_fg_tile_info)
int code = m_videoram2[tile_index] + 256 * (m_colorram2[tile_index] & 0x07);
int color = (m_colorram2[tile_index] & 0x30) >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void ssozumo_state::video_start()
@@ -161,7 +161,7 @@ void ssozumo_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
diff --git a/src/mame/video/sspeedr.c b/src/mame/video/sspeedr.c
index 5b873e4c3f5..cb80cb799b9 100644
--- a/src/mame/video/sspeedr.c
+++ b/src/mame/video/sspeedr.c
@@ -197,7 +197,7 @@ void sspeedr_state::draw_drones(bitmap_ind16 &bitmap, const rectangle &cliprect)
y = 0xf0 - m_drones_vert[i >> 1];
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code[i] ^ m_toggle,
0,
0, 0,
@@ -227,7 +227,7 @@ void sspeedr_state::draw_driver(bitmap_ind16 &bitmap, const rectangle &cliprect)
y = 0xf0 - m_driver_vert;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_driver_pic,
0,
0, 0,
diff --git a/src/mame/video/ssrj.c b/src/mame/video/ssrj.c
index 0c5b70509cc..686e748bb98 100644
--- a/src/mame/video/ssrj.c
+++ b/src/mame/video/ssrj.c
@@ -13,7 +13,7 @@ TILE_GET_INFO_MEMBER(ssrj_state::get_tile_info1)
{
int code;
code = m_vram1[tile_index<<1] + (m_vram1[(tile_index<<1)+1]<<8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code&0x3ff,
(code>>12)&0x3,
@@ -32,7 +32,7 @@ TILE_GET_INFO_MEMBER(ssrj_state::get_tile_info2)
{
int code;
code = m_vram2[tile_index<<1] + (m_vram2[(tile_index<<1)+1]<<8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code&0x3ff,
((code>>12)&0x3)+4,
@@ -51,7 +51,7 @@ TILE_GET_INFO_MEMBER(ssrj_state::get_tile_info4)
{
int code;
code = m_vram4[tile_index<<1] + (m_vram4[(tile_index<<1)+1]<<8);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code&0x3ff,
((code>>12)&0x3)+12,
@@ -249,7 +249,7 @@ void ssrj_state::draw_objects(bitmap_ind16 &bitmap, const rectangle &cliprect )
int offs = (i * 5 + k) * 64 + (31 - j) * 2;
code = m_vram3[offs] + 256 * m_vram3[offs + 1];
- machine().gfx[0]->transpen(bitmap,
+ m_gfxdecode->gfx(0)->transpen(bitmap,
cliprect,
code&1023,
((code>>12)&0x3)+8,
diff --git a/src/mame/video/ssv.c b/src/mame/video/ssv.c
index 583e50b16af..4ada630978e 100644
--- a/src/mame/video/ssv.c
+++ b/src/mame/video/ssv.c
@@ -194,7 +194,7 @@ static void ssv_drawgfx( bitmap_ind16 &bitmap, const rectangle &cliprect, gfx
void ssv_state::video_start()
{
- machine().gfx[0]->set_granularity(64); /* 256 colour sprites with palette selectable on 64 colour boundaries */
+ m_gfxdecode->gfx(0)->set_granularity(64); /* 256 colour sprites with palette selectable on 64 colour boundaries */
}
VIDEO_START_MEMBER(ssv_state,eaglshot)
@@ -203,15 +203,15 @@ VIDEO_START_MEMBER(ssv_state,eaglshot)
m_eaglshot_gfxram = auto_alloc_array(machine(), UINT16, 16 * 0x40000 / 2);
- machine().gfx[0]->set_source((UINT8 *)m_eaglshot_gfxram);
- machine().gfx[1]->set_source((UINT8 *)m_eaglshot_gfxram);
+ m_gfxdecode->gfx(0)->set_source((UINT8 *)m_eaglshot_gfxram);
+ m_gfxdecode->gfx(1)->set_source((UINT8 *)m_eaglshot_gfxram);
}
TILE_GET_INFO_MEMBER(ssv_state::get_tile_info_0)
{
UINT16 tile = m_gdfs_tmapram[tile_index];
- SET_TILE_INFO_MEMBER(2, tile, 0, TILE_FLIPXY( tile >> 14 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tile, 0, TILE_FLIPXY( tile >> 14 ));
}
WRITE16_MEMBER(ssv_state::gdfs_tmapram_w)
@@ -708,7 +708,7 @@ void ssv_state::draw_row(bitmap_ind16 &bitmap, const rectangle &cliprect, int sx
{
for (ty = ystart; ty != yend; ty += yinc)
{
- ssv_drawgfx( bitmap, clip, machine().gfx[gfx],
+ ssv_drawgfx( bitmap, clip, m_gfxdecode->gfx(gfx),
code++,
color,
flipx, flipy,
@@ -933,7 +933,7 @@ void ssv_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
for (y = ystart; y != yend; y += yinc)
{
- ssv_drawgfx( bitmap, cliprect, machine().gfx[gfx],
+ ssv_drawgfx( bitmap, cliprect, m_gfxdecode->gfx(gfx),
code++,
color,
flipx, flipy,
diff --git a/src/mame/video/st0016.c b/src/mame/video/st0016.c
index 16531e9bd0c..36a061ace38 100644
--- a/src/mame/video/st0016.c
+++ b/src/mame/video/st0016.c
@@ -111,7 +111,7 @@ READ8_MEMBER(st0016_state::st0016_character_ram_r)
WRITE8_MEMBER(st0016_state::st0016_character_ram_w)
{
st0016_charram[ST0016_CHAR_BANK_SIZE*st0016_char_bank+offset]=data;
- machine().gfx[st0016_ramgfx]->mark_dirty(st0016_char_bank);
+ m_gfxdecode->gfx(st0016_ramgfx)->mark_dirty(st0016_char_bank);
}
READ8_MEMBER(st0016_state::st0016_vregs_r)
@@ -256,7 +256,7 @@ void st0016_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
*/
- gfx_element *gfx = machine().gfx[st0016_ramgfx];
+ gfx_element *gfx = m_gfxdecode->gfx(st0016_ramgfx);
int i,j,lx,ly,x,y,code,offset,length,sx,sy,color,flipx,flipy,scrollx,scrolly/*,plx,ply*/;
@@ -443,13 +443,13 @@ VIDEO_START_MEMBER(st0016_state,st0016)
/* 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 (m_gfxdecode->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));
+ m_gfxdecode->set_gfx(gfx_index, auto_alloc(machine(), gfx_element(machine(), charlayout, (UINT8 *) st0016_charram, 0x40, 0)));
st0016_ramgfx = gfx_index;
spr_dx=0;
@@ -489,7 +489,7 @@ VIDEO_START_MEMBER(st0016_state,st0016)
void st0016_state::draw_bgmap(bitmap_ind16 &bitmap,const rectangle &cliprect, int priority)
{
- gfx_element *gfx = machine().gfx[st0016_ramgfx];
+ gfx_element *gfx = m_gfxdecode->gfx(st0016_ramgfx);
int j;
//for(j=0x40-8;j>=0;j-=8)
for(j=0;j<0x40;j+=8)
diff --git a/src/mame/video/st0020.c b/src/mame/video/st0020.c
index 0b9468921bd..2e4366fa5c0 100644
--- a/src/mame/video/st0020.c
+++ b/src/mame/video/st0020.c
@@ -13,12 +13,23 @@
const device_type ST0020_SPRITES = &device_creator<st0020_device>;
st0020_device::st0020_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, ST0020_SPRITES, "st0020_device", tag, owner, clock, "st0020", __FILE__)
+ : device_t(mconfig, ST0020_SPRITES, "st0020_device", tag, owner, clock, "st0020", __FILE__),
+ m_gfxdecode(*this)
{
m_is_st0032 = 0;
m_is_jclub2 = 0;
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void st0020_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<st0020_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
void st0020_device::set_is_st0032(device_t &device, int is_st0032)
{
st0020_device &dev = downcast<st0020_device &>(device);
@@ -53,12 +64,12 @@ void st0020_device::device_start()
m_st0020_blitram = auto_alloc_array_clear(machine(), UINT16, 0x100 / 2);
for (m_gfx_index = 0; m_gfx_index < MAX_GFX_ELEMENTS; m_gfx_index++)
- if (machine().gfx[m_gfx_index] == 0)
+ if (m_gfxdecode->gfx(m_gfx_index) == 0)
break;
- machine().gfx[m_gfx_index] = auto_alloc(machine(), gfx_element(machine(), layout_16x8x8_2, (UINT8 *)m_st0020_gfxram, machine().total_colors() / 64, 0));
+ m_gfxdecode->set_gfx(m_gfx_index, auto_alloc(machine(), gfx_element(machine(), layout_16x8x8_2, (UINT8 *)m_st0020_gfxram, machine().total_colors() / 64, 0)));
- machine().gfx[m_gfx_index]->set_granularity(64); /* 256 colour sprites with palette selectable on 64 colour boundaries */
+ m_gfxdecode->gfx(m_gfx_index)->set_granularity(64); /* 256 colour sprites with palette selectable on 64 colour boundaries */
save_pointer(NAME(m_st0020_gfxram), 4 * 0x100000/2);
save_pointer(NAME(m_st0020_spriteram), 0x80000/2);
@@ -89,7 +100,7 @@ WRITE16_MEMBER(st0020_device::st0020_gfxram_w)
offset += m_st0020_gfxram_bank * 0x100000/2;
COMBINE_DATA(&m_st0020_gfxram[offset]);
- machine().gfx[m_gfx_index]->mark_dirty(offset / (16*8/2));
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty(offset / (16*8/2));
}
READ16_MEMBER(st0020_device::st0020_sprram_r)
@@ -178,7 +189,7 @@ WRITE16_MEMBER(st0020_device::st0020_blit_w)
dst /= 16*8;
while (len--)
{
- machine().gfx[m_gfx_index]->mark_dirty(dst);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty(dst);
dst++;
}
}
@@ -371,7 +382,7 @@ void st0020_device::st0020_draw_zooming_sprites(running_machine &machine, bitmap
{
for (y = ystart; y != yend; y += yinc)
{
- machine.gfx[m_gfx_index]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_gfx_index)->zoom_transpen(bitmap,cliprect,
code++,
color,
flipx, flipy,
diff --git a/src/mame/video/st0020.h b/src/mame/video/st0020.h
index a34a38705e5..f313441ec7b 100644
--- a/src/mame/video/st0020.h
+++ b/src/mame/video/st0020.h
@@ -6,6 +6,8 @@ class st0020_device : public device_t
public:
st0020_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void set_is_st0032(device_t &device, int is_st0032);
static void set_is_jclub2o(device_t &device, int is_jclub2o);
@@ -40,7 +42,7 @@ private:
void st0020_draw_zooming_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority);
DECLARE_READ16_MEMBER(st0020_blit_r);
DECLARE_WRITE16_MEMBER(st0020_blit_w);
-
+ required_device<gfxdecode_device> m_gfxdecode;
};
#define ST0020_ST0032_BYTESWAP_DATA \
@@ -48,3 +50,7 @@ private:
#define ST0020_ST0032_BYTESWAP_MEM_MASK \
if (m_is_st0032) mem_mask = ((mem_mask & 0x00ff)<<8) | ((mem_mask & 0xff00)>>8);
extern const device_type ST0020_SPRITES;
+
+#define MCFG_ST0020_SPRITES_GFXDECODE(_gfxtag) \
+ st0020_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
diff --git a/src/mame/video/stadhero.c b/src/mame/video/stadhero.c
index 9a5fa1b5720..19f311a971c 100644
--- a/src/mame/video/stadhero.c
+++ b/src/mame/video/stadhero.c
@@ -48,7 +48,7 @@ TILE_GET_INFO_MEMBER(stadhero_state::get_pf1_tile_info)
int color=tile >> 12;
tile=tile&0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
diff --git a/src/mame/video/starcrus.c b/src/mame/video/starcrus.c
index eaf7a9050f1..39b5ffcb0dc 100644
--- a/src/mame/video/starcrus.c
+++ b/src/mame/video/starcrus.c
@@ -165,7 +165,7 @@ int starcrus_state::collision_check_s1s2()
/* Draw ship 1 */
- machine().gfx[8+((m_s1_sprite&0x04)>>2)]->opaque(*m_ship1_vid,
+ m_gfxdecode->gfx(8+((m_s1_sprite&0x04)>>2))->opaque(*m_ship1_vid,
clip,
(m_s1_sprite&0x03)^0x03,
0,
@@ -174,7 +174,7 @@ int starcrus_state::collision_check_s1s2()
/* Draw ship 2 */
- machine().gfx[10+((m_s2_sprite&0x04)>>2)]->opaque(*m_ship2_vid,
+ m_gfxdecode->gfx(10+((m_s2_sprite&0x04)>>2))->opaque(*m_ship2_vid,
clip,
(m_s2_sprite&0x03)^0x03,
0,
@@ -216,7 +216,7 @@ int starcrus_state::collision_check_p1p2()
{
/* Draw score/projectile 1 */
- machine().gfx[(m_p1_sprite&0x0c)>>2]->opaque(*m_proj1_vid,
+ m_gfxdecode->gfx((m_p1_sprite&0x0c)>>2)->opaque(*m_proj1_vid,
clip,
(m_p1_sprite&0x03)^0x03,
0,
@@ -228,7 +228,7 @@ int starcrus_state::collision_check_p1p2()
{
/* Draw score/projectile 2 */
- machine().gfx[4+((m_p2_sprite&0x0c)>>2)]->opaque(*m_proj2_vid,
+ m_gfxdecode->gfx(4+((m_p2_sprite&0x0c)>>2))->opaque(*m_proj2_vid,
clip,
(m_p2_sprite&0x03)^0x03,
0,
@@ -270,7 +270,7 @@ int starcrus_state::collision_check_s1p1p2()
/* Draw ship 1 */
- machine().gfx[8+((m_s1_sprite&0x04)>>2)]->opaque(*m_ship1_vid,
+ m_gfxdecode->gfx(8+((m_s1_sprite&0x04)>>2))->opaque(*m_ship1_vid,
clip,
(m_s1_sprite&0x03)^0x03,
0,
@@ -281,7 +281,7 @@ int starcrus_state::collision_check_s1p1p2()
{
/* Draw projectile 1 */
- machine().gfx[(m_p1_sprite&0x0c)>>2]->opaque(*m_proj1_vid,
+ m_gfxdecode->gfx((m_p1_sprite&0x0c)>>2)->opaque(*m_proj1_vid,
clip,
(m_p1_sprite&0x03)^0x03,
0,
@@ -293,7 +293,7 @@ int starcrus_state::collision_check_s1p1p2()
{
/* Draw projectile 2 */
- machine().gfx[4+((m_p2_sprite&0x0c)>>2)]->opaque(*m_proj2_vid,
+ m_gfxdecode->gfx(4+((m_p2_sprite&0x0c)>>2))->opaque(*m_proj2_vid,
clip,
(m_p2_sprite&0x03)^0x03,
0,
@@ -341,7 +341,7 @@ int starcrus_state::collision_check_s2p1p2()
/* Draw ship 2 */
- machine().gfx[10+((m_s2_sprite&0x04)>>2)]->opaque(*m_ship2_vid,
+ m_gfxdecode->gfx(10+((m_s2_sprite&0x04)>>2))->opaque(*m_ship2_vid,
clip,
(m_s2_sprite&0x03)^0x03,
0,
@@ -352,7 +352,7 @@ int starcrus_state::collision_check_s2p1p2()
{
/* Draw projectile 1 */
- machine().gfx[(m_p1_sprite&0x0c)>>2]->opaque(*m_proj1_vid,
+ m_gfxdecode->gfx((m_p1_sprite&0x0c)>>2)->opaque(*m_proj1_vid,
clip,
(m_p1_sprite&0x03)^0x03,
0,
@@ -364,7 +364,7 @@ int starcrus_state::collision_check_s2p1p2()
{
/* Draw projectile 2 */
- machine().gfx[4+((m_p2_sprite&0x0c)>>2)]->opaque(*m_proj2_vid,
+ m_gfxdecode->gfx(4+((m_p2_sprite&0x0c)>>2))->opaque(*m_proj2_vid,
clip,
(m_p2_sprite&0x03)^0x03,
0,
@@ -394,7 +394,7 @@ UINT32 starcrus_state::screen_update_starcrus(screen_device &screen, bitmap_ind1
/* Draw ship 1 */
- machine().gfx[8+((m_s1_sprite&0x04)>>2)]->transpen(bitmap,
+ m_gfxdecode->gfx(8+((m_s1_sprite&0x04)>>2))->transpen(bitmap,
cliprect,
(m_s1_sprite&0x03)^0x03,
0,
@@ -404,7 +404,7 @@ UINT32 starcrus_state::screen_update_starcrus(screen_device &screen, bitmap_ind1
/* Draw ship 2 */
- machine().gfx[10+((m_s2_sprite&0x04)>>2)]->transpen(bitmap,
+ m_gfxdecode->gfx(10+((m_s2_sprite&0x04)>>2))->transpen(bitmap,
cliprect,
(m_s2_sprite&0x03)^0x03,
0,
@@ -414,7 +414,7 @@ UINT32 starcrus_state::screen_update_starcrus(screen_device &screen, bitmap_ind1
/* Draw score/projectile 1 */
- machine().gfx[(m_p1_sprite&0x0c)>>2]->transpen(bitmap,
+ m_gfxdecode->gfx((m_p1_sprite&0x0c)>>2)->transpen(bitmap,
cliprect,
(m_p1_sprite&0x03)^0x03,
0,
@@ -424,7 +424,7 @@ UINT32 starcrus_state::screen_update_starcrus(screen_device &screen, bitmap_ind1
/* Draw score/projectile 2 */
- machine().gfx[4+((m_p2_sprite&0x0c)>>2)]->transpen(bitmap,
+ m_gfxdecode->gfx(4+((m_p2_sprite&0x0c)>>2))->transpen(bitmap,
cliprect,
(m_p2_sprite&0x03)^0x03,
0,
diff --git a/src/mame/video/starshp1.c b/src/mame/video/starshp1.c
index 63114cc8458..8d5bfb66926 100644
--- a/src/mame/video/starshp1.c
+++ b/src/mame/video/starshp1.c
@@ -49,7 +49,7 @@ TILE_GET_INFO_MEMBER(starshp1_state::get_tile_info)
{
UINT8 code = m_playfield_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code & 0x3f, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x3f, 0, 0);
}
@@ -183,7 +183,7 @@ void starshp1_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
{
int code = (m_obj_ram[i] & 0xf) ^ 0xf;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code % 8,
code / 8,
0, 0,
@@ -209,7 +209,7 @@ void starshp1_state::draw_spaceship(bitmap_ind16 &bitmap, const rectangle &clipr
if (y <= 0)
y -= (yzoom * m_ship_voffset) >> 16;
- machine().gfx[2]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->zoom_transpen(bitmap,cliprect,
m_ship_picture & 0x03,
m_ship_explode,
m_ship_picture & 0x80, 0,
@@ -384,8 +384,8 @@ void starshp1_state::screen_eof_starshp1(screen_device &screen, bool state)
rect.min_x = get_sprite_hpos(13);
rect.min_y = get_sprite_vpos(13);
- rect.max_x = rect.min_x + machine().gfx[1]->width() - 1;
- rect.max_y = rect.min_y + machine().gfx[1]->height() - 1;
+ rect.max_x = rect.min_x + m_gfxdecode->gfx(1)->width() - 1;
+ rect.max_y = rect.min_y + m_gfxdecode->gfx(1)->height() - 1;
rect &= m_helper.cliprect();
diff --git a/src/mame/video/stfight.c b/src/mame/video/stfight.c
index 98377e70244..47a30668bfa 100644
--- a/src/mame/video/stfight.c
+++ b/src/mame/video/stfight.c
@@ -102,7 +102,7 @@ TILE_GET_INFO_MEMBER(stfight_state::get_fg_tile_info)
attr = fgMap[0x8000+tile_index];
tile_base = ((attr & 0x80) << 2) | ((attr & 0x20) << 3);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile_base + fgMap[tile_index],
attr & 0x07,
@@ -126,7 +126,7 @@ TILE_GET_INFO_MEMBER(stfight_state::get_bg_tile_info)
tile_bank = (attr & 0x20) >> 5;
tile_base = (attr & 0x80) << 1;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2+tile_bank,
tile_base + bgMap[tile_index],
attr & 0x07,
@@ -140,7 +140,7 @@ TILE_GET_INFO_MEMBER(stfight_state::get_tx_tile_info)
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_text_char_ram[tile_index] + ((attr & 0x80) << 1),
attr & 0x0f,
@@ -155,7 +155,7 @@ TILE_GET_INFO_MEMBER(stfight_state::get_cshooter_tx_tile_info)
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(tile << 1) | ((attr & 0x20) >> 5),
attr & 0x0f,
@@ -176,7 +176,7 @@ VIDEO_START_MEMBER(stfight_state,stfight)
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);
m_fg_tilemap->set_transparent_pen(0x0f);
- colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, machine().gfx[0], 0xcf);
+ colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, m_gfxdecode->gfx(0), 0xcf);
}
VIDEO_START_MEMBER(stfight_state,cshooter)
@@ -186,7 +186,7 @@ VIDEO_START_MEMBER(stfight_state,cshooter)
m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_cshooter_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,32,32);
m_fg_tilemap->set_transparent_pen(0x0f);
- colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, machine().gfx[0], 0xcf);
+ colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, m_gfxdecode->gfx(0), 0xcf);
}
@@ -306,7 +306,7 @@ void stfight_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, co
code = m_sprite_base + m_sprite_ram[offs];
- machine().gfx[4]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(4)->prio_transpen(bitmap,cliprect,
code,
color,
flipx,flip_screen(),
@@ -355,10 +355,10 @@ void stfight_state::cshooter_draw_sprites(screen_device &screen, bitmap_ind16 &b
tile_low += (tile_low > 0x9) ? 0x37 : 0x30;
tile_high += (tile_high > 0x9) ? 0x37 : 0x30;
- machine().gfx[0]->prio_transpen(bitmap,cliprect, tile_high << 1, color, flipx, 0, m_sprite_ram[i+3],m_sprite_ram[i+2],screen.priority(),pri ? 0x02 : 0,0x00);
- machine().gfx[0]->prio_transpen(bitmap,cliprect, tile_high << 1, color, flipx, 0, m_sprite_ram[i+3]+8,m_sprite_ram[i+2],screen.priority(),pri ? 0x02 : 0,0x00);
- machine().gfx[0]->prio_transpen(bitmap,cliprect, tile_low << 1, color, flipx, 0, m_sprite_ram[i+3]+8,m_sprite_ram[i+2]+8,screen.priority(),pri ? 0x02 : 0,0x00);
- machine().gfx[0]->prio_transpen(bitmap,cliprect, tile_low << 1, color, flipx, 0, m_sprite_ram[i+3],m_sprite_ram[i+2]+8,screen.priority(),pri ? 0x02 : 0,0x00);
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect, tile_high << 1, color, flipx, 0, m_sprite_ram[i+3],m_sprite_ram[i+2],screen.priority(),pri ? 0x02 : 0,0x00);
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect, tile_high << 1, color, flipx, 0, m_sprite_ram[i+3]+8,m_sprite_ram[i+2],screen.priority(),pri ? 0x02 : 0,0x00);
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect, tile_low << 1, color, flipx, 0, m_sprite_ram[i+3]+8,m_sprite_ram[i+2]+8,screen.priority(),pri ? 0x02 : 0,0x00);
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect, tile_low << 1, color, flipx, 0, m_sprite_ram[i+3],m_sprite_ram[i+2]+8,screen.priority(),pri ? 0x02 : 0,0x00);
}
}
diff --git a/src/mame/video/stlforce.c b/src/mame/video/stlforce.c
index 9ed5dad687f..cc56ad47871 100644
--- a/src/mame/video/stlforce.c
+++ b/src/mame/video/stlforce.c
@@ -12,7 +12,7 @@ TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_bg_tile_info)
tileno = m_bg_videoram[tile_index] & 0x0fff;
colour = m_bg_videoram[tile_index] & 0xe000;
colour = colour >> 13;
- SET_TILE_INFO_MEMBER(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour,0);
}
WRITE16_MEMBER(stlforce_state::stlforce_bg_videoram_w)
@@ -33,7 +33,7 @@ TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mlow_tile_info)
colour += 8;
tileno += 0x1000;
- SET_TILE_INFO_MEMBER(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour,0);
}
WRITE16_MEMBER(stlforce_state::stlforce_mlow_videoram_w)
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mhigh_tile_info)
colour += 16;
tileno += 0x2000;
- SET_TILE_INFO_MEMBER(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour,0);
}
WRITE16_MEMBER(stlforce_state::stlforce_mhigh_videoram_w)
@@ -76,7 +76,7 @@ TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_tx_tile_info)
tileno += 0xc000;
colour += 24;
- SET_TILE_INFO_MEMBER(1,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno,colour,0);
}
WRITE16_MEMBER(stlforce_state::stlforce_tx_videoram_w)
@@ -91,7 +91,7 @@ void stlforce_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
{
const UINT16 *source = m_spriteram+0x0;
const UINT16 *finish = m_spriteram+0x800;
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
int ypos, xpos, attr, num;
while (source<finish)
diff --git a/src/mame/video/strnskil.c b/src/mame/video/strnskil.c
index 2d9b5f6e035..3072dd4df3b 100644
--- a/src/mame/video/strnskil.c
+++ b/src/mame/video/strnskil.c
@@ -67,7 +67,7 @@ TILE_GET_INFO_MEMBER(strnskil_state::get_bg_tile_info)
int code = videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
int color = (attr & 0x1f) | ((attr & 0x80) >> 2);
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void strnskil_state::video_start()
@@ -111,11 +111,11 @@ void strnskil_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
sx = sx - 256;
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
code, color,
flipx, flipy,
px, py,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0));
}
}
diff --git a/src/mame/video/subs.c b/src/mame/video/subs.c
index 08a674d5fdd..10aab38db54 100644
--- a/src/mame/video/subs.c
+++ b/src/mame/video/subs.c
@@ -74,11 +74,11 @@ UINT32 subs_state::screen_update_subs_left(screen_device &screen, bitmap_ind16 &
/* draw the left screen */
if ((left_enable || left_sonar_window) && (!right_sonar_window))
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
charcode, 1,
0,0,sx,sy);
else
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
0, 1,
0,0,sx,sy);
}
@@ -104,7 +104,7 @@ UINT32 subs_state::screen_update_subs_left(screen_device &screen, bitmap_ind16 &
/* left screen - special check for drawing right screen's sub */
if ((offs!=0) || (sub_enable))
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
charcode + 32 * prom_set,
0,
0,0,sx,sy,0);
@@ -154,11 +154,11 @@ UINT32 subs_state::screen_update_subs_right(screen_device &screen, bitmap_ind16
/* draw the right screen */
if ((right_enable || right_sonar_window) && (!left_sonar_window))
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
charcode, 0,
0,0,sx,sy);
else
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
0, 0,
0,0,sx,sy);
}
@@ -183,7 +183,7 @@ UINT32 subs_state::screen_update_subs_right(screen_device &screen, bitmap_ind16
charcode = (charcode >> 3) & 0x1F;
if ((offs!=1) || (sub_enable))
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
charcode + 32 * prom_set,
0,
0,0,sx,sy,0);
diff --git a/src/mame/video/suna16.c b/src/mame/video/suna16.c
index 884a82820a5..481c3f2550a 100644
--- a/src/mame/video/suna16.c
+++ b/src/mame/video/suna16.c
@@ -188,7 +188,7 @@ void suna16_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
tile_flipy = !tile_flipy;
}
- machine().gfx[gfx]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(gfx)->transpen(bitmap,cliprect,
(tile & 0x3fff) + bank*0x4000,
attr + (m_color_bank << 4),
tile_flipx, tile_flipy,
diff --git a/src/mame/video/suna8.c b/src/mame/video/suna8.c
index 7bc0656b6c0..f331f8039a4 100644
--- a/src/mame/video/suna8.c
+++ b/src/mame/video/suna8.c
@@ -90,7 +90,7 @@ TILE_GET_INFO_MEMBER(suna8_state::get_tile_info)
code = m_spriteram[ 2 * tile_index + 0 ];
attr = m_spriteram[ 2 * tile_index + 1 ];
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
m_page / 8,
( (attr & 0x03) << 8 ) + code + m_tiles*0x400,
(attr >> 2) & 0xf,
@@ -378,7 +378,7 @@ void suna8_state::draw_normal_sprites(bitmap_ind16 &bitmap,const rectangle &clip
sy = max_y - sy; tile_flipy = !tile_flipy;
}
- machine().gfx[which]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(which)->transpen(bitmap,cliprect,
tile + (attr & 0x3)*0x100 + gfxbank,
(((attr >> 2) & 0xf) | colorbank) + 0x10 * m_palettebank, // hardhea2 player2
tile_flipx, tile_flipy,
@@ -442,7 +442,7 @@ void suna8_state::draw_text_sprites(bitmap_ind16 &bitmap,const rectangle &clipre
sy = max_y - sy; flipy = !flipy;
}
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
tile + (attr & 0x3)*0x100 + bank,
(attr >> 2) & 0xf,
flipx, flipy,
@@ -480,7 +480,7 @@ UINT32 suna8_state::screen_update_suna8(screen_device &screen, bitmap_ind16 &bit
if (machine().input().code_pressed_once(KEYCODE_S)) { m_trombank++; machine().tilemap().mark_all_dirty(); }
m_trombank &= 0xf;
- m_page &= m_text_dim ? 3 : (machine().gfx[1] ? 15 : 7);
+ m_page &= m_text_dim ? 3 : (m_gfxdecode->gfx(1) ? 15 : 7);
m_tiles %= max_tiles;
if (m_tiles < 0) m_tiles += max_tiles;
@@ -501,7 +501,7 @@ UINT32 suna8_state::screen_update_suna8(screen_device &screen, bitmap_ind16 &bit
draw_normal_sprites(bitmap,cliprect, 0);
// More normal sprites (second sprite "chip" in sparkman)
- if (machine().gfx[1])
+ if (m_gfxdecode->gfx(1))
draw_normal_sprites(bitmap,cliprect, 1);
// Text sprites (earlier games only)
diff --git a/src/mame/video/superchs.c b/src/mame/video/superchs.c
index f94da87a68e..e5c10618cac 100644
--- a/src/mame/video/superchs.c
+++ b/src/mame/video/superchs.c
@@ -162,7 +162,7 @@ void superchs_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
}
else
{
- machine().gfx[sprite_ptr->gfx]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
@@ -181,7 +181,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
{
sprite_ptr--;
- machine().gfx[sprite_ptr->gfx]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->prio_zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
diff --git a/src/mame/video/superqix.c b/src/mame/video/superqix.c
index 4b8a8398f4c..99c2ea8001f 100644
--- a/src/mame/video/superqix.c
+++ b/src/mame/video/superqix.c
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(superqix_state::pb_get_bg_tile_info)
int attr = m_videoram[tile_index + 0x400];
int code = m_videoram[tile_index] + 256 * (attr & 0x7);
int color = (attr & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(superqix_state::sqix_get_bg_tile_info)
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(superqix_state::sqix_get_bg_tile_info)
if (bank) code += 1024 * m_gfxbank;
- SET_TILE_INFO_MEMBER(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, 0);
tileinfo.group = (attr & 0x08) >> 3;
}
@@ -175,7 +175,7 @@ void superqix_state::pbillian_draw_sprites(bitmap_ind16 &bitmap, const rectangle
sy = 240 - sy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flip_screen(), flip_screen(),
@@ -206,7 +206,7 @@ void superqix_state::superqix_draw_sprites(bitmap_ind16 &bitmap,const rectangle
flipy = !flipy;
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
color,
flipx, flipy,
diff --git a/src/mame/video/suprloco.c b/src/mame/video/suprloco.c
index 0e9b51cbf74..9bc63c95e63 100644
--- a/src/mame/video/suprloco.c
+++ b/src/mame/video/suprloco.c
@@ -78,7 +78,7 @@ void suprloco_state::palette_init()
TILE_GET_INFO_MEMBER(suprloco_state::get_tile_info)
{
UINT8 attr = m_videoram[2*tile_index+1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[2*tile_index] | ((attr & 0x03) << 8),
(attr & 0x1c) >> 2,
diff --git a/src/mame/video/suprnova.c b/src/mame/video/suprnova.c
index 9c5d7acf936..1cf93e880fe 100644
--- a/src/mame/video/suprnova.c
+++ b/src/mame/video/suprnova.c
@@ -280,7 +280,7 @@ TILE_GET_INFO_MEMBER(skns_state::get_tilemap_A_tile_info)
if(m_tilemapA_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
if(m_tilemapA_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0+depth,
code,
0x40+colr,
@@ -307,7 +307,7 @@ TILE_GET_INFO_MEMBER(skns_state::get_tilemap_B_tile_info)
if(m_tilemapB_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
if(m_tilemapB_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1+depth,
code,
0x40+colr,
@@ -361,8 +361,8 @@ void skns_state::video_start()
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);
+ m_gfxdecode->gfx(2)->set_granularity(256);
+ m_gfxdecode->gfx(3)->set_granularity(256);
}
void skns_state::video_reset()
diff --git a/src/mame/video/suprridr.c b/src/mame/video/suprridr.c
index 7dc344270db..b83cdb7c240 100644
--- a/src/mame/video/suprridr.c
+++ b/src/mame/video/suprridr.c
@@ -19,14 +19,14 @@
TILE_GET_INFO_MEMBER(suprridr_state::get_tile_info)
{
UINT8 code = m_bgram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
TILE_GET_INFO_MEMBER(suprridr_state::get_tile_info2)
{
UINT8 code = m_fgram[tile_index];
- SET_TILE_INFO_MEMBER(1, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, 0, 0);
}
@@ -207,7 +207,7 @@ UINT32 suprridr_state::screen_update_suprridr(screen_device &screen, bitmap_ind1
fy = !fy;
y = 240 - y;
}
- machine().gfx[2]->transpen(bitmap,cliprect, code, color, fx, fy, x, y, 0);
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, code, color, fx, fy, x, y, 0);
}
return 0;
}
diff --git a/src/mame/video/suprslam.c b/src/mame/video/suprslam.c
index 78bccd5e554..71aa969172c 100644
--- a/src/mame/video/suprslam.c
+++ b/src/mame/video/suprslam.c
@@ -22,7 +22,7 @@ TILE_GET_INFO_MEMBER(suprslam_state::get_suprslam_tile_info)
tileno += m_screen_bank;
colour = colour >> 12;
- SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour, 0);
}
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(suprslam_state::get_suprslam_bg_tile_info)
tileno += m_bg_bank;
colour = colour >> 12;
- SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, tileno, colour, 0);
}
diff --git a/src/mame/video/system1.c b/src/mame/video/system1.c
index b556fc5d2b9..4da7145e2c1 100644
--- a/src/mame/video/system1.c
+++ b/src/mame/video/system1.c
@@ -103,7 +103,7 @@ TILE_GET_INFO_MEMBER(system1_state::tile_get_info)
UINT32 code = ((tiledata >> 4) & 0x800) | (tiledata & 0x7ff);
UINT32 color = (tiledata >> 5) & 0xff;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
diff --git a/src/mame/video/system16.c b/src/mame/video/system16.c
index 08fbd8a358c..518fb6fd70f 100644
--- a/src/mame/video/system16.c
+++ b/src/mame/video/system16.c
@@ -238,7 +238,7 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg_tile_info)
int data = source[tile_index%(64*32)];
int tile_number = (data & 0xfff) + 0x1000 * ((data & m_tilebank_switch) ? m_tile_bank1 : m_tile_bank0);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
(data >> 6) & 0x7f,
@@ -251,7 +251,7 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_fg_tile_info)
int data = source[tile_index % (64 * 32)];
int tile_number = (data & 0xfff) + 0x1000 * ((data & m_tilebank_switch) ? m_tile_bank1 : m_tile_bank0);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
(data >> 6) & 0x7f,
@@ -264,7 +264,7 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg2_tile_info)
int data = source[tile_index % (64 * 32)];
int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? m_tile_bank1 : m_tile_bank0);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
(data >> 6) & 0x7f,
@@ -277,7 +277,7 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_fg2_tile_info)
int data = source[tile_index % (64 * 32)];
int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? m_tile_bank1 : m_tile_bank0);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
(data >> 6) & 0x7f,
@@ -330,7 +330,7 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_text_tile_info)
if (!m_shinobl_kludge)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(tile_number & 0x1ff) + m_tile_bank0 * 0x1000,
(tile_number >> 9) % 8,
@@ -338,7 +338,7 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_text_tile_info)
}
else
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(tile_number & 0xff) + m_tile_bank0 * 0x1000,
(tile_number >> 8) % 8,
@@ -485,7 +485,7 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_s16a_bootleg_tile_infotxt)
data = m_textram[tile_index];
tile_number = data & 0x1ff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
((data >> 9) & 0x7),
@@ -500,7 +500,7 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_s16a_bootleg_tile_info0)
tile_number = data & 0x1fff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
(data >> 6) & 0x7f,
@@ -514,7 +514,7 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_s16a_bootleg_tile_info1)
data = m_bg1_tileram[tile_index];
tile_number = data & 0x1fff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
(data >> 6) & 0x7f,
diff --git a/src/mame/video/tagteam.c b/src/mame/video/tagteam.c
index d4880b3dd93..f2395212737 100644
--- a/src/mame/video/tagteam.c
+++ b/src/mame/video/tagteam.c
@@ -131,7 +131,7 @@ TILE_GET_INFO_MEMBER(tagteam_state::get_bg_tile_info)
int code = m_videoram[tile_index] + 256 * m_colorram[tile_index];
int color = m_palettebank << 1;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void tagteam_state::video_start()
@@ -165,7 +165,7 @@ void tagteam_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
@@ -177,7 +177,7 @@ void tagteam_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
sy += (flip_screen() ? -256 : 256);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
diff --git a/src/mame/video/tail2nos.c b/src/mame/video/tail2nos.c
index 3a4dbe7b0b5..4a3b062cdda 100644
--- a/src/mame/video/tail2nos.c
+++ b/src/mame/video/tail2nos.c
@@ -13,7 +13,7 @@
TILE_GET_INFO_MEMBER(tail2nos_state::get_tile_info)
{
UINT16 code = m_bgvideoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x1fff) + (m_charbank << 13),
((code & 0xe000) >> 13) + m_charpalette * 16,
@@ -47,7 +47,7 @@ void tail2nos_state::tail2nos_postload()
for (i = 0; i < 0x20000; i += 64)
{
- machine().gfx[2]->mark_dirty(i / 64);
+ m_gfxdecode->gfx(2)->mark_dirty(i / 64);
}
}
@@ -88,7 +88,7 @@ WRITE16_MEMBER(tail2nos_state::tail2nos_zoomdata_w)
COMBINE_DATA(&m_zoomdata[offset]);
if (oldword != m_zoomdata[offset])
- machine().gfx[2]->mark_dirty(offset / 64);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 64);
}
WRITE16_MEMBER(tail2nos_state::tail2nos_gfxbank_w)
@@ -156,7 +156,7 @@ void tail2nos_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
flipx = spriteram[offs + 2] & 0x1000;
flipy = spriteram[offs + 2] & 0x0800;
- machine().gfx[1]->transpen(bitmap,/* placement relative to zoom layer verified on the real thing */
+ m_gfxdecode->gfx(1)->transpen(bitmap,/* placement relative to zoom layer verified on the real thing */
cliprect,
code,
40 + color,
diff --git a/src/mame/video/taito_b.c b/src/mame/video/taito_b.c
index f10e766ef53..926b28cd0c8 100644
--- a/src/mame/video/taito_b.c
+++ b/src/mame/video/taito_b.c
@@ -232,7 +232,7 @@ void taitob_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
if ( zoomx || zoomy )
{
- machine().gfx[1]->zoom_transpen_raw(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->zoom_transpen_raw(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -241,7 +241,7 @@ void taitob_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
}
else
{
- machine().gfx[1]->transpen_raw(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen_raw(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/taito_f2.c b/src/mame/video/taito_f2.c
index 1f9fae38fb5..6a3e843a620 100644
--- a/src/mame/video/taito_f2.c
+++ b/src/mame/video/taito_f2.c
@@ -743,7 +743,7 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c
{
sprite_ptr->code = code;
sprite_ptr->color = color;
- if (machine().gfx[0]->granularity() == 64) /* Final Blow is 6-bit deep */
+ if (m_gfxdecode->gfx(0)->granularity() == 64) /* Final Blow is 6-bit deep */
sprite_ptr->color /= 4;
sprite_ptr->flipx = flipx;
sprite_ptr->flipy = flipy;
@@ -761,7 +761,7 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c
}
else
{
- machine().gfx[0]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
@@ -778,7 +778,7 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c
sprite_ptr--;
if (!uses_tc360_mixer)
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
@@ -786,7 +786,7 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c
sprite_ptr->zoomx,sprite_ptr->zoomy,
screen.priority(),sprite_ptr->primask,0);
else
- taito_f2_tc360_spritemixdraw(screen,bitmap,cliprect,machine().gfx[0],
+ taito_f2_tc360_spritemixdraw(screen,bitmap,cliprect,m_gfxdecode->gfx(0),
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
diff --git a/src/mame/video/taito_f3.c b/src/mame/video/taito_f3.c
index a53918d4a18..942f6b9ecb3 100644
--- a/src/mame/video/taito_f3.c
+++ b/src/mame/video/taito_f3.c
@@ -411,7 +411,7 @@ inline void taito_f3_state::get_tile_info(tile_data &tileinfo, int tile_index, U
// This fixes (at least) the rain in round 6 of Arabian Magic.
UINT8 extra_planes = ((tile>>(16+10)) & 3); // 0 = 4bpp, 1 = 5bpp, 2 = unused?, 3 = 6bpp
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile&0xffff,
(tile>>16) & 0x1ff & (~extra_planes),
@@ -471,7 +471,7 @@ TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info_vram)
if (vram_tile&0x0100) flags|=TILE_FLIPX;
if (vram_tile&0x8000) flags|=TILE_FLIPY;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
vram_tile&0xff,
(vram_tile>>9)&0x3f,
@@ -496,7 +496,7 @@ TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info_pixel)
if (vram_tile&0x0100) flags|=TILE_FLIPX;
if (vram_tile&0x8000) flags|=TILE_FLIPY;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
tile_index,
(vram_tile>>9)&0x3f,
@@ -637,9 +637,9 @@ VIDEO_START_MEMBER(taito_f3_state,f3)
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);
m_screen->register_screen_bitmap(m_pri_alp_bitmap);
- m_tile_opaque_sp = auto_alloc_array(machine(), UINT8, machine().gfx[2]->elements());
+ m_tile_opaque_sp = auto_alloc_array(machine(), UINT8, m_gfxdecode->gfx(2)->elements());
for (i=0; i<8; i++)
- m_tile_opaque_pf[i] = auto_alloc_array(machine(), UINT8, machine().gfx[1]->elements());
+ m_tile_opaque_pf[i] = auto_alloc_array(machine(), UINT8, m_gfxdecode->gfx(1)->elements());
m_vram_layer->set_transparent_pen(0);
@@ -647,8 +647,8 @@ VIDEO_START_MEMBER(taito_f3_state,f3)
/* 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);
+ m_gfxdecode->gfx(1)->set_granularity(16);
+ m_gfxdecode->gfx(2)->set_granularity(16);
m_flipscreen = 0;
memset(m_spriteram16_buffered,0,0x10000);
@@ -657,8 +657,8 @@ VIDEO_START_MEMBER(taito_f3_state,f3)
save_item(NAME(m_f3_control_0));
save_item(NAME(m_f3_control_1));
- machine().gfx[0]->set_source((UINT8 *)m_f3_vram);
- machine().gfx[3]->set_source((UINT8 *)m_f3_pivot_ram);
+ m_gfxdecode->gfx(0)->set_source((UINT8 *)m_f3_vram);
+ m_gfxdecode->gfx(3)->set_source((UINT8 *)m_f3_pivot_ram);
m_f3_skip_this_frame=0;
@@ -667,7 +667,7 @@ VIDEO_START_MEMBER(taito_f3_state,f3)
init_alpha_blend_func(machine());
{
- gfx_element *sprite_gfx = machine().gfx[2];
+ gfx_element *sprite_gfx = m_gfxdecode->gfx(2);
int c;
for (c = 0;c < sprite_gfx->elements();c++)
@@ -691,7 +691,7 @@ VIDEO_START_MEMBER(taito_f3_state,f3)
{
- gfx_element *pf_gfx = machine().gfx[1];
+ gfx_element *pf_gfx = m_gfxdecode->gfx(1);
int c;
for (c = 0;c < pf_gfx->elements();c++)
@@ -801,7 +801,7 @@ READ16_MEMBER(taito_f3_state::f3_vram_r)
WRITE16_MEMBER(taito_f3_state::f3_vram_w)
{
COMBINE_DATA(&m_f3_vram[offset]);
- machine().gfx[0]->mark_dirty(offset/16);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/16);
}
READ16_MEMBER(taito_f3_state::f3_pivot_r)
@@ -812,7 +812,7 @@ READ16_MEMBER(taito_f3_state::f3_pivot_r)
WRITE16_MEMBER(taito_f3_state::f3_pivot_w)
{
COMBINE_DATA(&m_f3_pivot_ram[offset]);
- machine().gfx[3]->mark_dirty(offset/16);
+ m_gfxdecode->gfx(3)->mark_dirty(offset/16);
}
READ16_MEMBER(taito_f3_state::f3_lineram_r)
@@ -1554,7 +1554,7 @@ static void visible_tile_check(running_machine &machine,
alpha_mode=line_t->alpha_mode[line];
if(!alpha_mode) return;
- total_elements=machine.gfx[1]->elements();
+ total_elements=state->m_gfxdecode->gfx(1)->elements();
tile_index=x_index_fx>>16;
tile_num=(((line_t->x_zoom[line]*320+(x_index_fx & 0xffff)+0xffff)>>16)+(tile_index%16)+15)/16;
@@ -3109,7 +3109,7 @@ static void draw_sprites(running_machine &machine, bitmap_rgb32 &bitmap, const r
{
taito_f3_state *state = machine.driver_data<taito_f3_state>();
const struct tempsprite *sprite_ptr;
- gfx_element *sprite_gfx = machine.gfx[2];
+ gfx_element *sprite_gfx = state->m_gfxdecode->gfx(2);
sprite_ptr = state->m_sprite_end;
state->m_sprite_pri_usage=0;
diff --git a/src/mame/video/taito_h.c b/src/mame/video/taito_h.c
index 316c3b805e9..451e336f112 100644
--- a/src/mame/video/taito_h.c
+++ b/src/mame/video/taito_h.c
@@ -145,7 +145,7 @@ void taitoh_state::syvalion_draw_sprites( bitmap_ind16 &bitmap, const rectangle
}
- machine().gfx[0]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect,
tile,
color,
flipx, flipy,
@@ -257,7 +257,7 @@ void taitoh_state::recordbr_draw_sprites( bitmap_ind16 &bitmap, const rectangle
}
- machine().gfx[0]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect,
tile,
color,
flipx, flipy,
@@ -359,7 +359,7 @@ void taitoh_state::dleague_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
}
- machine().gfx[0]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect,
tile,
color,
flipx, flipy,
diff --git a/src/mame/video/taito_l.c b/src/mame/video/taito_l.c
index 323e978fe2b..9185b7992a3 100644
--- a/src/mame/video/taito_l.c
+++ b/src/mame/video/taito_l.c
@@ -15,7 +15,7 @@ TILE_GET_INFO_MEMBER(taitol_state::get_bg18_tile_info)
| ((m_bankc[(attr & 0xc) >> 2]) << 10)
| (m_horshoes_gfxbank << 12);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
(attr & 0xf0) >> 4,
@@ -30,7 +30,7 @@ TILE_GET_INFO_MEMBER(taitol_state::get_bg19_tile_info)
| ((m_bankc[(attr & 0xc) >> 2]) << 10)
| (m_horshoes_gfxbank << 12);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
(attr & 0xf0) >> 4,
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(taitol_state::get_ch1a_tile_info)
int attr = m_rambanks[2 * tile_index + 0xa000 + 1];
int code = m_rambanks[2 * tile_index + 0xa000] | ((attr & 0x01) << 8) | ((attr & 0x04) << 7);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code,
(attr & 0xf0) >> 4,
@@ -141,42 +141,42 @@ READ8_MEMBER(taitol_state::taitol_control_r)
void taitol_state::taitol_chardef14_m( int offset )
{
- machine().gfx[2]->mark_dirty(offset / 32 + 0);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 32 + 0);
}
void taitol_state::taitol_chardef15_m( int offset )
{
- machine().gfx[2]->mark_dirty(offset / 32 + 128);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 32 + 128);
}
void taitol_state::taitol_chardef16_m( int offset )
{
- machine().gfx[2]->mark_dirty(offset / 32 + 256);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 32 + 256);
}
void taitol_state::taitol_chardef17_m( int offset )
{
- machine().gfx[2]->mark_dirty(offset / 32 + 384);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 32 + 384);
}
void taitol_state::taitol_chardef1c_m( int offset )
{
- machine().gfx[2]->mark_dirty(offset / 32 + 512);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 32 + 512);
}
void taitol_state::taitol_chardef1d_m( int offset )
{
- machine().gfx[2]->mark_dirty(offset / 32 + 640);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 32 + 640);
}
void taitol_state::taitol_chardef1e_m( int offset )
{
- machine().gfx[2]->mark_dirty(offset / 32 + 768);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 32 + 768);
}
void taitol_state::taitol_chardef1f_m( int offset )
{
- machine().gfx[2]->mark_dirty(offset / 32 + 896);
+ m_gfxdecode->gfx(2)->mark_dirty(offset / 32 + 896);
}
void taitol_state::taitol_bg18_m( int offset )
@@ -256,7 +256,7 @@ void taitol_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, co
flipy = !flipy;
}
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/taito_o.c b/src/mame/video/taito_o.c
index d763930c0c0..4b085b800cb 100644
--- a/src/mame/video/taito_o.c
+++ b/src/mame/video/taito_o.c
@@ -119,7 +119,7 @@ void taitoo_state::parentj_draw_sprites( bitmap_ind16 &bitmap, const rectangle &
}
- machine().gfx[0]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect,
tile,
color,
flipx, flipy,
diff --git a/src/mame/video/taito_z.c b/src/mame/video/taito_z.c
index 5631aea19a9..0bb9f7eea2b 100644
--- a/src/mame/video/taito_z.c
+++ b/src/mame/video/taito_z.c
@@ -221,7 +221,7 @@ void taitoz_state::contcirc_draw_sprites_16x8( screen_device &screen, bitmap_ind
flipy = !flipy;
}
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -318,7 +318,7 @@ void taitoz_state::chasehq_draw_sprites_16x16( screen_device &screen, bitmap_ind
flipy = !flipy;
}
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -361,7 +361,7 @@ void taitoz_state::chasehq_draw_sprites_16x16( screen_device &screen, bitmap_ind
flipy = !flipy;
}
- machine().gfx[2]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -404,7 +404,7 @@ void taitoz_state::chasehq_draw_sprites_16x16( screen_device &screen, bitmap_ind
flipy = !flipy;
}
- machine().gfx[2]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -500,7 +500,7 @@ void taitoz_state::bshark_draw_sprites_16x8( screen_device &screen, bitmap_ind16
flipy = !flipy;
}
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -604,7 +604,7 @@ void taitoz_state::sci_draw_sprites_16x8( screen_device &screen, bitmap_ind16 &b
flipy = !flipy;
}
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -698,7 +698,7 @@ void taitoz_state::aquajack_draw_sprites_16x8(screen_device &screen, bitmap_ind1
flipy = !flipy;
}
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
@@ -792,7 +792,7 @@ void taitoz_state::spacegun_draw_sprites_16x8(screen_device &screen, bitmap_ind1
flipy = !flipy;
}
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/taitoair.c b/src/mame/video/taitoair.c
index 9f9634d864b..d03105d6190 100644
--- a/src/mame/video/taitoair.c
+++ b/src/mame/video/taitoair.c
@@ -164,7 +164,7 @@ void taitoair_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
- machine().gfx[0]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,cliprect,
tile,
color,
flipx, flipy,
diff --git a/src/mame/video/taitojc.c b/src/mame/video/taitojc.c
index 896a34fddf6..ceb9b8cf711 100644
--- a/src/mame/video/taitojc.c
+++ b/src/mame/video/taitojc.c
@@ -26,7 +26,7 @@ TILE_GET_INFO_MEMBER(taitojc_state::taitojc_tile_info)
UINT32 val = m_tile_ram[tile_index];
int color = (val >> 22) & 0xff;
int tile = (val >> 2) & 0x7f;
- SET_TILE_INFO_MEMBER(m_gfx_index, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_gfx_index, tile, color, 0);
}
READ32_MEMBER(taitojc_state::taitojc_palette_r)
@@ -68,7 +68,7 @@ WRITE32_MEMBER(taitojc_state::taitojc_tile_w)
WRITE32_MEMBER(taitojc_state::taitojc_char_w)
{
COMBINE_DATA(m_char_ram + offset);
- machine().gfx[m_gfx_index]->mark_dirty(offset/32);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty(offset/32);
}
// Object data format:
@@ -302,7 +302,7 @@ void taitojc_state::video_start()
{
/* find first empty slot to decode gfx */
for (m_gfx_index = 0; m_gfx_index < MAX_GFX_ELEMENTS; m_gfx_index++)
- if (machine().gfx[m_gfx_index] == 0)
+ if (m_gfxdecode->gfx(m_gfx_index) == 0)
break;
assert(m_gfx_index != MAX_GFX_ELEMENTS);
@@ -315,7 +315,7 @@ void taitojc_state::video_start()
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[m_gfx_index] = auto_alloc(machine(), gfx_element(machine(), taitojc_char_layout, (UINT8 *)m_char_ram, machine().total_colors() / 16, 0));
+ m_gfxdecode->set_gfx(m_gfx_index, auto_alloc(machine(), gfx_element(machine(), taitojc_char_layout, (UINT8 *)m_char_ram, machine().total_colors() / 16, 0)));
m_texture = auto_alloc_array(machine(), UINT8, 0x400000);
diff --git a/src/mame/video/taitosj.c b/src/mame/video/taitosj.c
index f618a19bbb8..068f1a28107 100644
--- a/src/mame/video/taitosj.c
+++ b/src/mame/video/taitosj.c
@@ -181,10 +181,10 @@ void taitosj_state::video_start()
m_sprite_sprite_collbitmap1.allocate(32,32);
m_sprite_sprite_collbitmap2.allocate(32,32);
- 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);
+ m_gfxdecode->gfx(0)->set_source(m_characterram);
+ m_gfxdecode->gfx(1)->set_source(m_characterram);
+ m_gfxdecode->gfx(2)->set_source(m_characterram + 0x1800);
+ m_gfxdecode->gfx(3)->set_source(m_characterram + 0x1800);
compute_draw_order();
}
@@ -218,13 +218,13 @@ WRITE8_MEMBER(taitosj_state::taitosj_characterram_w)
{
if (offset < 0x1800)
{
- machine().gfx[0]->mark_dirty((offset / 8) & 0xff);
- machine().gfx[1]->mark_dirty((offset / 32) & 0x3f);
+ m_gfxdecode->gfx(0)->mark_dirty((offset / 8) & 0xff);
+ m_gfxdecode->gfx(1)->mark_dirty((offset / 32) & 0x3f);
}
else
{
- machine().gfx[2]->mark_dirty((offset / 8) & 0xff);
- machine().gfx[3]->mark_dirty((offset / 32) & 0x3f);
+ m_gfxdecode->gfx(2)->mark_dirty((offset / 8) & 0xff);
+ m_gfxdecode->gfx(3)->mark_dirty((offset / 32) & 0x3f);
}
m_characterram[offset] = data;
@@ -261,7 +261,7 @@ inline gfx_element * taitosj_state::get_sprite_gfx_element(UINT8 which)
{
offs_t offs = which * 4;
- return machine().gfx[(m_spriteram[SPRITE_RAM_PAGE_OFFSET + offs + 3] & 0x40) ? 3 : 1];
+ return m_gfxdecode->gfx((m_spriteram[SPRITE_RAM_PAGE_OFFSET + offs + 3] & 0x40) ? 3 : 1);
}
@@ -513,19 +513,19 @@ void taitosj_state::draw_layers()
if (GLOBAL_FLIP_X) sx = 31 - sx;
if (GLOBAL_FLIP_Y) sy = 31 - sy;
- machine().gfx[m_colorbank[0] & 0x08 ? 2 : 0]->transpen(m_layer_bitmap[0],m_layer_bitmap[0].cliprect(),
+ m_gfxdecode->gfx(m_colorbank[0] & 0x08 ? 2 : 0)->transpen(m_layer_bitmap[0],m_layer_bitmap[0].cliprect(),
m_videoram_1[offs],
m_colorbank[0] & 0x07,
GLOBAL_FLIP_X,GLOBAL_FLIP_Y,
8*sx,8*sy,0);
- machine().gfx[m_colorbank[0] & 0x80 ? 2 : 0]->transpen(m_layer_bitmap[1],m_layer_bitmap[1].cliprect(),
+ m_gfxdecode->gfx(m_colorbank[0] & 0x80 ? 2 : 0)->transpen(m_layer_bitmap[1],m_layer_bitmap[1].cliprect(),
m_videoram_2[offs],
(m_colorbank[0] >> 4) & 0x07,
GLOBAL_FLIP_X,GLOBAL_FLIP_Y,
8*sx,8*sy,0);
- machine().gfx[m_colorbank[1] & 0x08 ? 2 : 0]->transpen(m_layer_bitmap[2],m_layer_bitmap[2].cliprect(),
+ m_gfxdecode->gfx(m_colorbank[1] & 0x08 ? 2 : 0)->transpen(m_layer_bitmap[2],m_layer_bitmap[2].cliprect(),
m_videoram_3[offs],
m_colorbank[1] & 0x07,
GLOBAL_FLIP_X,GLOBAL_FLIP_Y,
diff --git a/src/mame/video/tank8.c b/src/mame/video/tank8.c
index 44841b3a41c..fe1a5197d7e 100644
--- a/src/mame/video/tank8.c
+++ b/src/mame/video/tank8.c
@@ -94,7 +94,7 @@ TILE_GET_INFO_MEMBER(tank8_state::tank8_get_tile_info)
color |= 4;
}
- SET_TILE_INFO_MEMBER(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
}
@@ -136,7 +136,7 @@ void tank8_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
int x = get_x_pos(i);
int y = get_y_pos(i);
- machine().gfx[(code & 0x04) ? 2 : 3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx((code & 0x04) ? 2 : 3)->transpen(bitmap,cliprect,
code & 0x03,
i,
code & 0x10,
diff --git a/src/mame/video/tankbatt.c b/src/mame/video/tankbatt.c
index 8096132b02f..09d3b51103c 100644
--- a/src/mame/video/tankbatt.c
+++ b/src/mame/video/tankbatt.c
@@ -72,7 +72,7 @@ TILE_GET_INFO_MEMBER(tankbatt_state::get_bg_tile_info)
int code = videoram[tile_index];
int color = videoram[tile_index] | 0x01;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void tankbatt_state::video_start()
@@ -90,7 +90,7 @@ void tankbatt_state::draw_bullets(bitmap_ind16 &bitmap, const rectangle &cliprec
int x = m_bulletsram[offs + 1];
int y = 255 - m_bulletsram[offs] - 2;
- machine().gfx[1]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect,
0, /* this is just a square, generated by the hardware */
color,
0,0,
diff --git a/src/mame/video/tankbust.c b/src/mame/video/tankbust.c
index cabd41b764a..8391fc3834d 100644
--- a/src/mame/video/tankbust.c
+++ b/src/mame/video/tankbust.c
@@ -50,7 +50,7 @@ TILE_GET_INFO_MEMBER(tankbust_state::get_bg_tile_info)
/* priority bg/sprites (1 = this bg tile on top of sprites) */
tileinfo.category = (attr & 0x08) >> 3;
- SET_TILE_INFO_MEMBER( 1,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,
code,
(color&4) | ((color&2)>>1) | ((color&1)<<1),
0);
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(tankbust_state::get_txt_tile_info)
int code = m_txtram[tile_index];
int color = ((code>>6) & 0x03);
- SET_TILE_INFO_MEMBER( 2,
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,
code & 0x3f,
((color&2)>>1) | ((color&1)<<1),
0);
@@ -210,7 +210,7 @@ void tankbust_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
if ((spriteram[offs+1]!=4)) //otherwise - ghost sprites
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code, color,
flipx,flipy,
sx,sy,0);
diff --git a/src/mame/video/taotaido.c b/src/mame/video/taotaido.c
index 58f1982fd01..9c278e87c09 100644
--- a/src/mame/video/taotaido.c
+++ b/src/mame/video/taotaido.c
@@ -66,7 +66,7 @@ TILE_GET_INFO_MEMBER(taotaido_state::taotaido_bg_tile_info)
code |= m_video_bank_select[bank]*0x200;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
col,
diff --git a/src/mame/video/targeth.c b/src/mame/video/targeth.c
index f9048c12b1a..81af82f5968 100644
--- a/src/mame/video/targeth.c
+++ b/src/mame/video/targeth.c
@@ -38,7 +38,7 @@ TILE_GET_INFO_MEMBER(targeth_state::get_tile_info_targeth_screen0)
int data2 = m_videoram[(tile_index << 1) + 1];
int code = data & 0x3fff;
- SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
}
TILE_GET_INFO_MEMBER(targeth_state::get_tile_info_targeth_screen1)
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(targeth_state::get_tile_info_targeth_screen1)
int data2 = m_videoram[(0x2000/2) + (tile_index << 1) + 1];
int code = data & 0x3fff;
- SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
}
/***************************************************************************
@@ -104,7 +104,7 @@ void targeth_state::video_start()
void targeth_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
int i;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
for (i = 3; i < (0x1000 - 6)/2; i += 4){
int sx = m_spriteram[i+2] & 0x03ff;
diff --git a/src/mame/video/tatsumi.c b/src/mame/video/tatsumi.c
index c330ea5ad81..e4f304b8e4f 100644
--- a/src/mame/video/tatsumi.c
+++ b/src/mame/video/tatsumi.c
@@ -43,7 +43,7 @@ WRITE16_MEMBER(tatsumi_state::roundup5_vram_w)
offset=offset%0xc000;
- machine().gfx[1]->mark_dirty(offset/0x10);
+ m_gfxdecode->gfx(1)->mark_dirty(offset/0x10);
}
@@ -163,7 +163,7 @@ TILE_GET_INFO_MEMBER(tatsumi_state::get_text_tile_info)
{
UINT16 *videoram = m_videoram;
int tile = videoram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile & 0xfff,
tile >> 12,
@@ -174,14 +174,14 @@ TILE_GET_INFO_MEMBER(tatsumi_state::get_tile_info_bigfight_0)
{
int tile=m_cyclwarr_videoram0[(tile_index+0x400)%0x8000];
int bank = (m_bigfight_a40000[0] >> (((tile&0xc00)>>10)*4))&0xf;
- SET_TILE_INFO_MEMBER(1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,0);
}
TILE_GET_INFO_MEMBER(tatsumi_state::get_tile_info_bigfight_1)
{
int tile=m_cyclwarr_videoram1[(tile_index+0x400)%0x8000];
int bank = (m_bigfight_a40000[0] >> (((tile&0xc00)>>10)*4))&0xf;
- SET_TILE_INFO_MEMBER(1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,0);
}
/********************************************************************/
@@ -204,7 +204,7 @@ VIDEO_START_MEMBER(tatsumi_state,roundup5)
m_tx_layer->set_transparent_pen(0);
- machine().gfx[1]->set_source((UINT8 *)m_roundup5_vram);
+ m_gfxdecode->gfx(1)->set_source((UINT8 *)m_roundup5_vram);
}
VIDEO_START_MEMBER(tatsumi_state,cyclwarr)
@@ -622,13 +622,13 @@ static void draw_sprites(running_machine &machine, _BitmapClass &bitmap, const r
for (w = 0; w < x_width; w++) {
if (rotate)
roundupt_drawgfxzoomrotate(state,
- state->m_temp_bitmap,cliprect,machine.gfx[0],
+ state->m_temp_bitmap,cliprect,state->m_gfxdecode->gfx(0),
base,
color,flip_x,flip_y,x_pos,render_y,
scale,scale,0,write_priority_only);
else
roundupt_drawgfxzoomrotate(state,
- bitmap,cliprect,machine.gfx[0],
+ bitmap,cliprect,state->m_gfxdecode->gfx(0),
base,
color,flip_x,flip_y,x_pos,render_y,
scale,scale,0,write_priority_only);
diff --git a/src/mame/video/taxidriv.c b/src/mame/video/taxidriv.c
index eba602ce408..619e74e25db 100644
--- a/src/mame/video/taxidriv.c
+++ b/src/mame/video/taxidriv.c
@@ -31,7 +31,7 @@ UINT32 taxidriv_state::screen_update_taxidriv(screen_device &screen, bitmap_ind1
sx = offs % 32;
sy = offs / 32;
- machine().gfx[3]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->opaque(bitmap,cliprect,
m_vram3[offs],
0,
0,0,
@@ -43,7 +43,7 @@ UINT32 taxidriv_state::screen_update_taxidriv(screen_device &screen, bitmap_ind1
sx = offs % 32;
sy = offs / 32;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
m_vram2[offs]+256*m_vram2[offs+0x400],
0,
0,0,
@@ -109,7 +109,7 @@ UINT32 taxidriv_state::screen_update_taxidriv(screen_device &screen, bitmap_ind1
sx = offs % 32;
sy = offs / 32;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
m_vram1[offs],
0,
0,0,
@@ -136,7 +136,7 @@ UINT32 taxidriv_state::screen_update_taxidriv(screen_device &screen, bitmap_ind1
sx = offs % 32;
sy = offs / 32;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
m_vram0[offs],
0,
0,0,
diff --git a/src/mame/video/tbowl.c b/src/mame/video/tbowl.c
index d56d5ce1fd2..5ff1c030cb5 100644
--- a/src/mame/video/tbowl.c
+++ b/src/mame/video/tbowl.c
@@ -16,7 +16,7 @@ TILE_GET_INFO_MEMBER(tbowl_state::get_tx_tile_info)
tileno = m_txvideoram[tile_index] | ((m_txvideoram[tile_index+0x800] & 0x07) << 8);
col = (m_txvideoram[tile_index+0x800] & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(0,tileno,col,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,col,0);
}
WRITE8_MEMBER(tbowl_state::tbowl_txvideoram_w)
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(tbowl_state::get_bg_tile_info)
tileno = m_bgvideoram[tile_index] | ((m_bgvideoram[tile_index+0x1000] & 0x0f) << 8);
col = (m_bgvideoram[tile_index+0x1000] & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(1,tileno,col,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,tileno,col,0);
}
WRITE8_MEMBER(tbowl_state::tbowl_bg2videoram_w)
@@ -75,7 +75,7 @@ TILE_GET_INFO_MEMBER(tbowl_state::get_bg2_tile_info)
tileno ^= 0x400;
col = (m_bg2videoram[tile_index+0x1000] & 0xf0) >> 4;
- SET_TILE_INFO_MEMBER(2,tileno,col,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2,tileno,col,0);
}
WRITE8_MEMBER(tbowl_state::tbowl_bgvideoram_w)
@@ -162,28 +162,28 @@ void tbowl_state::tbowl_draw_sprites(bitmap_ind16 &bitmap,const rectangle &clipr
sx -= xscroll;
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code + layout[y][x],
color,
flipx,flipy,
sx,sy,0 );
/* wraparound */
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code + layout[y][x],
color,
flipx,flipy,
sx,sy-0x200,0 );
/* wraparound */
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code + layout[y][x],
color,
flipx,flipy,
sx-0x400,sy,0 );
/* wraparound */
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
code + layout[y][x],
color,
flipx,flipy,
diff --git a/src/mame/video/tc0080vco.c b/src/mame/video/tc0080vco.c
index 3c123763565..d3d51f00919 100644
--- a/src/mame/video/tc0080vco.c
+++ b/src/mame/video/tc0080vco.c
@@ -94,11 +94,22 @@ tc0080vco_device::tc0080vco_device(const machine_config &mconfig, const char *ta
m_bg0_scrolly(0),
m_bg1_scrollx(0),
m_bg1_scrolly(0),
- m_flipscreen(0)
+ m_flipscreen(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void tc0080vco_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<tc0080vco_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -179,7 +190,7 @@ void tc0080vco_device::device_start()
m_scroll_ram = m_ram + 0x20800 / 2;
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine().gfx[m_txnum] = auto_alloc_clear(machine(), gfx_element(machine(), charlayout, (UINT8 *)m_char_ram, 64, 0));
+ m_gfxdecode->set_gfx(m_txnum, auto_alloc_clear(machine(), gfx_element(machine(), charlayout, (UINT8 *)m_char_ram, 64, 0)));
save_pointer(NAME(m_ram), TC0080VCO_RAM_SIZE / 2);
machine().save().register_postload(save_prepost_delegate(FUNC(tc0080vco_device::postload), this));
@@ -217,7 +228,7 @@ TILE_GET_INFO_MEMBER(tc0080vco_device::get_bg0_tile_info)
tileinfo.category = 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_gfxnum,
tile,
color,
@@ -233,7 +244,7 @@ TILE_GET_INFO_MEMBER(tc0080vco_device::get_bg1_tile_info)
tileinfo.category = 0;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_gfxnum,
tile,
color,
@@ -261,7 +272,7 @@ TILE_GET_INFO_MEMBER(tc0080vco_device::get_tx_tile_info)
tileinfo.category = 0;
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_txnum,
tile,
0x40,
@@ -320,7 +331,7 @@ WRITE16_MEMBER( tc0080vco_device::word_w )
if (offset < 0x1000 / 2)
{
- space.machine().gfx[m_txnum]->mark_dirty(offset / 8);
+ m_gfxdecode->gfx(m_txnum)->mark_dirty(offset / 8);
#if 0
if (!m_has_fg0)
{
@@ -351,7 +362,7 @@ WRITE16_MEMBER( tc0080vco_device::word_w )
else if (offset < 0x11000 / 2)
{
- space.machine().gfx[m_txnum]->mark_dirty((offset - 0x10000 / 2) / 8);
+ m_gfxdecode->gfx(m_txnum)->mark_dirty((offset - 0x10000 / 2) / 8);
#if 0
if (!m_has_fg0)
{
diff --git a/src/mame/video/tc0080vco.h b/src/mame/video/tc0080vco.h
index 2f87c7fb4a0..e0e03b77d5d 100644
--- a/src/mame/video/tc0080vco.h
+++ b/src/mame/video/tc0080vco.h
@@ -19,6 +19,9 @@ public:
tc0080vco_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~tc0080vco_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_READ16_MEMBER( word_r );
DECLARE_WRITE16_MEMBER( word_w );
@@ -65,6 +68,7 @@ public:
tilemap_t *m_tilemap[3];
INT32 m_flipscreen;
+ required_device<gfxdecode_device> m_gfxdecode;
TILE_GET_INFO_MEMBER(get_bg0_tile_info);
TILE_GET_INFO_MEMBER(get_bg1_tile_info);
@@ -78,5 +82,8 @@ extern const device_type TC0080VCO;
#define MCFG_TC0080VCO_ADD(_tag, _interface) \
MCFG_DEVICE_ADD(_tag, TC0080VCO, 0) \
MCFG_DEVICE_CONFIG(_interface)
+
+#define MCFG_TC0080VCO_GFXDECODE(_gfxtag) \
+ tc0080vco_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
#endif
diff --git a/src/mame/video/tc0100scn.c b/src/mame/video/tc0100scn.c
index 6f906097237..cd3a89aebea 100644
--- a/src/mame/video/tc0100scn.c
+++ b/src/mame/video/tc0100scn.c
@@ -141,11 +141,22 @@ tc0100scn_device::tc0100scn_device(const machine_config &mconfig, const char *ta
m_bg0_colbank(0),
m_bg1_colbank(0),
m_tx_colbank(0),
- m_dblwidth(0)
+ m_dblwidth(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void tc0100scn_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<tc0100scn_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -245,13 +256,13 @@ void tc0100scn_device::device_start()
m_bg_col_mult = 1; /* multiplier for when bg gfx != 4bpp */
m_tx_col_mult = 1; /* multiplier needed when bg gfx is 6bpp */
- if (machine().gfx[m_gfxnum]->granularity() == 2) /* Yuyugogo, Yesnoj */
+ if (m_gfxdecode->gfx(m_gfxnum)->granularity() == 2) /* Yuyugogo, Yesnoj */
m_bg_col_mult = 8;
- if (machine().gfx[m_gfxnum]->granularity() == 0x40) /* Undrfire */
+ if (m_gfxdecode->gfx(m_gfxnum)->granularity() == 0x40) /* Undrfire */
m_tx_col_mult = 4;
-//logerror("TC0100SCN bg gfx granularity %04x: multiplier %04x\n", machine().gfx[m_gfxnum]->granularity(), m_tx_col_mult);
+//logerror("TC0100SCN bg gfx granularity %04x: multiplier %04x\n", m_gfxdecode->gfx(m_gfxnum)->granularity(), m_tx_col_mult);
m_ram = auto_alloc_array_clear(machine(), UINT16, TC0100SCN_RAM_SIZE / 2);
@@ -261,7 +272,7 @@ void tc0100scn_device::device_start()
/* we call this here, so that they can be modified at video_start*/
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine().gfx[m_txnum] = auto_alloc_clear(machine(), gfx_element(machine(), tc0100scn_charlayout, (UINT8 *)m_char_ram, 64, 0));
+ m_gfxdecode->set_gfx(m_txnum, auto_alloc_clear(machine(), gfx_element(machine(), tc0100scn_charlayout, (UINT8 *)m_char_ram, 64, 0)));
save_pointer(NAME(m_ram), TC0100SCN_RAM_SIZE / 2);
save_item(NAME(m_ctrl));
@@ -307,7 +318,7 @@ void tc0100scn_device::common_get_bg0_tile_info( tile_data &tileinfo, int tile_i
attr = ram[2 * tile_index];
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
gfxnum,
code,
(((attr * m_bg_col_mult) + m_bg0_colbank) & 0xff) + colbank,
@@ -330,7 +341,7 @@ void tc0100scn_device::common_get_bg1_tile_info( tile_data &tileinfo, int tile_i
attr = ram[2 * tile_index];
}
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
gfxnum,
code,
(((attr * m_bg_col_mult) + m_bg1_colbank) & 0xff) + colbank,
@@ -341,7 +352,7 @@ void tc0100scn_device::common_get_tx_tile_info( tile_data &tileinfo, int tile_in
{
int attr = ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
gfxnum,
attr & 0xff,
((((attr >> 6) & 0xfc) * m_tx_col_mult + (m_tx_colbank << 2)) & 0x3ff) + colbank * 4,
@@ -468,7 +479,7 @@ WRITE16_MEMBER( tc0100scn_device::word_w )
else if (offset < 0x3000)
m_tilemap[2][0]->mark_tile_dirty((offset & 0x0fff));
else if (offset < 0x3800)
- space.machine().gfx[m_txnum]->mark_dirty((offset - 0x3000) / 8);
+ m_gfxdecode->gfx(m_txnum)->mark_dirty((offset - 0x3000) / 8);
else if (offset >= 0x4000 && offset < 0x6000)
m_tilemap[1][0]->mark_tile_dirty((offset & 0x1fff) / 2);
}
@@ -479,7 +490,7 @@ WRITE16_MEMBER( tc0100scn_device::word_w )
else if (offset >= 0x4000 && offset < 0x8000)
m_tilemap[1][1]->mark_tile_dirty((offset & 0x3fff) / 2);
else if (offset >= 0x8800 && offset < 0x9000)
- space.machine().gfx[m_txnum]->mark_dirty((offset - 0x8800) / 8);
+ m_gfxdecode->gfx(m_txnum)->mark_dirty((offset - 0x8800) / 8);
else if (offset >= 0x9000)
m_tilemap[2][1]->mark_tile_dirty((offset & 0x0fff));
}
@@ -538,7 +549,7 @@ WRITE16_MEMBER( tc0100scn_device::ctrl_word_w )
dirty_tilemaps();
/* reset the pointer to the text characters (and dirty them all) */
- space.machine().gfx[m_txnum]->set_source((UINT8 *)m_char_ram);
+ m_gfxdecode->gfx(m_txnum)->set_source((UINT8 *)m_char_ram);
}
break;
diff --git a/src/mame/video/tc0100scn.h b/src/mame/video/tc0100scn.h
index e47dfa3ed2e..7ee98d85cf4 100644
--- a/src/mame/video/tc0100scn.h
+++ b/src/mame/video/tc0100scn.h
@@ -21,6 +21,9 @@ public:
tc0100scn_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~tc0100scn_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
#define TC0100SCN_SINGLE_VDU 1024
/* Function to set separate color banks for the three tilemapped layers.
@@ -85,6 +88,7 @@ private:
INT32 m_gfxbank, m_colbank;
INT32 m_bg0_colbank, m_bg1_colbank, m_tx_colbank;
int m_dblwidth;
+ required_device<gfxdecode_device> m_gfxdecode;
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
@@ -107,4 +111,6 @@ extern const device_type TC0100SCN;
MCFG_DEVICE_ADD(_tag, TC0100SCN, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_TC0100SCN_GFXDECODE(_gfxtag) \
+ tc0100scn_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
#endif
diff --git a/src/mame/video/tc0180vcu.c b/src/mame/video/tc0180vcu.c
index 0625d642c57..5929ac1fc61 100644
--- a/src/mame/video/tc0180vcu.c
+++ b/src/mame/video/tc0180vcu.c
@@ -18,11 +18,23 @@ tc0180vcu_device::tc0180vcu_device(const machine_config &mconfig, const char *ta
//m_fg_rambank(0),
//m_tx_rambank(0),
m_framebuffer_page(0),
- m_video_control(0)
+ m_video_control(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void tc0180vcu_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<tc0180vcu_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -223,7 +235,7 @@ TILE_GET_INFO_MEMBER(tc0180vcu_device::get_bg_tile_info)
int tile = m_ram[tile_index + m_bg_rambank[0]];
int color = m_ram[tile_index + m_bg_rambank[1]];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
1,
tile,
m_bg_color_base + (color & 0x3f),
@@ -235,7 +247,7 @@ TILE_GET_INFO_MEMBER(tc0180vcu_device::get_fg_tile_info)
int tile = m_ram[tile_index + m_fg_rambank[0]];
int color = m_ram[tile_index + m_fg_rambank[1]];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
1,
tile,
m_fg_color_base + (color & 0x3f),
@@ -246,7 +258,7 @@ TILE_GET_INFO_MEMBER(tc0180vcu_device::get_tx_tile_info)
{
int tile = m_ram[tile_index + m_tx_rambank];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
0,
(tile & 0x07ff) | ((m_ctrl[4 + ((tile & 0x800) >> 11)]>>8) << 11),
m_tx_color_base + ((tile >> 12) & 0x0f),
diff --git a/src/mame/video/tc0180vcu.h b/src/mame/video/tc0180vcu.h
index a5ba92d41f9..25ff5e9a266 100644
--- a/src/mame/video/tc0180vcu.h
+++ b/src/mame/video/tc0180vcu.h
@@ -15,6 +15,9 @@ public:
tc0180vcu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~tc0180vcu_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_READ8_MEMBER( get_fb_page );
DECLARE_WRITE8_MEMBER( set_fb_page );
DECLARE_READ8_MEMBER( get_videoctrl );
@@ -44,6 +47,7 @@ protected:
UINT16 m_bg_rambank[2], m_fg_rambank[2], m_tx_rambank;
UINT8 m_framebuffer_page;
UINT8 m_video_control;
+ required_device<gfxdecode_device> m_gfxdecode;
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
@@ -58,4 +62,6 @@ extern const device_type TC0180VCU;
MCFG_DEVICE_ADD(_tag, TC0180VCU, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_TC0180VCU_GFXDECODE(_gfxtag) \
+ tc0180vcu_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
#endif
diff --git a/src/mame/video/tc0280grd.c b/src/mame/video/tc0280grd.c
index 4d652116ccc..98b6f633a6c 100644
--- a/src/mame/video/tc0280grd.c
+++ b/src/mame/video/tc0280grd.c
@@ -30,11 +30,23 @@ tc0280grd_device::tc0280grd_device(const machine_config &mconfig, const char *ta
: device_t(mconfig, TC0280GRD, "Taito TC0280GRD & TC0430GRW", tag, owner, clock, "tc0280grd", __FILE__),
m_ram(NULL),
//m_ctrl[8](0),
- m_base_color(0)
+ m_base_color(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void tc0280grd_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<tc0280grd_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -87,7 +99,7 @@ void tc0280grd_device::device_reset()
TILE_GET_INFO_MEMBER(tc0280grd_device::tc0280grd_get_tile_info)
{
int attr = m_ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
m_gfxnum,
attr & 0x3fff,
((attr & 0xc000) >> 14) + m_base_color,
diff --git a/src/mame/video/tc0280grd.h b/src/mame/video/tc0280grd.h
index e0897d859f0..3c8e2af5ff0 100644
--- a/src/mame/video/tc0280grd.h
+++ b/src/mame/video/tc0280grd.h
@@ -13,6 +13,9 @@ public:
tc0280grd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~tc0280grd_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_READ16_MEMBER( tc0280grd_word_r );
DECLARE_WRITE16_MEMBER( tc0280grd_word_w );
DECLARE_WRITE16_MEMBER( tc0280grd_ctrl_word_w );
@@ -39,6 +42,7 @@ private:
UINT16 m_ctrl[8];
int m_base_color;
+ required_device<gfxdecode_device> m_gfxdecode;
TILE_GET_INFO_MEMBER(tc0280grd_get_tile_info);
void zoom_draw( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffset, int yoffset, UINT32 priority, int xmultiply );
@@ -56,4 +60,9 @@ extern const device_type TC0280GRD;
MCFG_DEVICE_ADD(_tag, TC0430GRW, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_TC0280GRD_GFXDECODE(_gfxtag) \
+ tc0280grd_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
+#define MCFG_TC0430GRW_GFXDECODE(_gfxtag) \
+ tc0280grd_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
#endif
diff --git a/src/mame/video/tc0480scp.c b/src/mame/video/tc0480scp.c
index 2896485a57d..08656836420 100644
--- a/src/mame/video/tc0480scp.c
+++ b/src/mame/video/tc0480scp.c
@@ -152,11 +152,23 @@ tc0480scp_device::tc0480scp_device(const machine_config &mconfig, const char *ta
//m_bgscrolly[4](NULL),
m_pri_reg(0),
m_dblwidth(0),
- m_x_offs(0)
+ m_x_offs(0),
+ m_gfxdecode(*this)
{
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void tc0480scp_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<tc0480scp_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -270,7 +282,7 @@ void tc0480scp_device::device_start()
set_layer_ptrs();
/* create the char set (gfx will then be updated dynamically from RAM) */
- machine().gfx[m_txnum] = auto_alloc_clear(machine(), gfx_element(machine(), tc0480scp_charlayout, (UINT8 *)m_char_ram, 64, 0));
+ m_gfxdecode->set_gfx(m_txnum, auto_alloc_clear(machine(), gfx_element(machine(), tc0480scp_charlayout, (UINT8 *)m_char_ram, 64, 0)));
save_pointer(NAME(m_ram), TC0480SCP_RAM_SIZE / 2);
save_item(NAME(m_ctrl));
@@ -302,7 +314,7 @@ void tc0480scp_device::common_get_tc0480bg_tile_info( tile_data &tileinfo, int t
{
int code = ram[2 * tile_index + 1] & 0x7fff;
int attr = ram[2 * tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
gfxnum,
code,
(attr & 0xff) + m_col_base,
@@ -312,7 +324,7 @@ void tc0480scp_device::common_get_tc0480bg_tile_info( tile_data &tileinfo, int t
void tc0480scp_device::common_get_tc0480tx_tile_info( tile_data &tileinfo, int tile_index, UINT16 *ram, int gfxnum )
{
int attr = ram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(*m_gfxdecode,
gfxnum,
attr & 0xff,
((attr & 0x3f00) >> 8) + m_col_base,
@@ -416,7 +428,7 @@ WRITE16_MEMBER( tc0480scp_device::word_w )
}
else if (offset <= 0x7fff)
{
- space.machine().gfx[m_txnum]->mark_dirty((offset - 0x7000) / 16);
+ m_gfxdecode->gfx(m_txnum)->mark_dirty((offset - 0x7000) / 16);
}
}
else
@@ -434,7 +446,7 @@ WRITE16_MEMBER( tc0480scp_device::word_w )
}
else if (offset <= 0x7fff)
{
- space.machine().gfx[m_txnum]->mark_dirty((offset - 0x7000) / 16);
+ m_gfxdecode->gfx(m_txnum)->mark_dirty((offset - 0x7000) / 16);
}
}
}
diff --git a/src/mame/video/tc0480scp.h b/src/mame/video/tc0480scp.h
index 5ea9eb60c03..6c287335829 100644
--- a/src/mame/video/tc0480scp.h
+++ b/src/mame/video/tc0480scp.h
@@ -22,6 +22,9 @@ public:
tc0480scp_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~tc0480scp_device() {}
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
/* When writing a driver, pass zero for the text and flip offsets initially:
then tweak them once you have the 4 bg layer positions correct. Col_base
may be needed when tilemaps use a palette area from sprites. */
@@ -75,6 +78,7 @@ private:
tilemap_t *m_tilemap[5][2];
INT32 m_dblwidth;
int m_x_offs;
+ required_device<gfxdecode_device> m_gfxdecode;
void common_get_tc0480bg_tile_info( tile_data &tileinfo, int tile_index, UINT16 *ram, int gfxnum );
void common_get_tc0480tx_tile_info( tile_data &tileinfo, int tile_index, UINT16 *ram, int gfxnum );
@@ -97,4 +101,7 @@ extern const device_type TC0480SCP;
MCFG_DEVICE_ADD(_tag, TC0480SCP, 0) \
MCFG_DEVICE_CONFIG(_interface)
+#define MCFG_TC0480SCP_GFXDECODE(_gfxtag) \
+ tc0480scp_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
#endif
diff --git a/src/mame/video/tceptor.c b/src/mame/video/tceptor.c
index a5de875de6e..8e1f04ba496 100644
--- a/src/mame/video/tceptor.c
+++ b/src/mame/video/tceptor.c
@@ -111,7 +111,7 @@ TILE_GET_INFO_MEMBER(tceptor_state::get_tx_tile_info)
tileinfo.group = color;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void tceptor_state::tile_mark_dirty(int offset)
@@ -168,7 +168,7 @@ TILE_GET_INFO_MEMBER(tceptor_state::get_bg1_tile_info)
int code = (data & 0x3ff) | 0x000;
int color = (data & 0xfc00) >> 10;
- SET_TILE_INFO_MEMBER(m_bg, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_bg, code, color, 0);
}
TILE_GET_INFO_MEMBER(tceptor_state::get_bg2_tile_info)
@@ -177,7 +177,7 @@ TILE_GET_INFO_MEMBER(tceptor_state::get_bg2_tile_info)
int code = (data & 0x3ff) | 0x400;
int color = (data & 0xfc00) >> 10;
- SET_TILE_INFO_MEMBER(m_bg, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, m_bg, code, color, 0);
}
WRITE8_MEMBER(tceptor_state::tceptor_bg_ram_w)
@@ -256,13 +256,13 @@ void tceptor_state::decode_bg(const char * region)
auto_free(machine(), buffer);
/* decode the graphics */
- machine().gfx[gfx_index] = auto_alloc(machine(), gfx_element(machine(), bg_layout, memregion(region)->base(), 64, 2048));
+ m_gfxdecode->set_gfx(gfx_index, auto_alloc(machine(), gfx_element(machine(), bg_layout, memregion(region)->base(), 64, 2048)));
}
void tceptor_state::decode_sprite(int gfx_index, const gfx_layout *layout, const void *data)
{
/* decode the graphics */
- machine().gfx[gfx_index] = auto_alloc(machine(), gfx_element(machine(), *layout, (const UINT8 *)data, 64, 1024));
+ m_gfxdecode->set_gfx(gfx_index, auto_alloc(machine(), gfx_element(machine(), *layout, (const UINT8 *)data, 64, 1024)));
}
// fix sprite order
@@ -369,7 +369,7 @@ void tceptor_state::video_start()
/* 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 (m_gfxdecode->gfx(gfx_index) == 0)
break;
assert(gfx_index + 4 <= MAX_GFX_ELEMENTS);
@@ -391,7 +391,7 @@ void tceptor_state::video_start()
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);
+ colortable_configure_tilemap_groups(machine().colortable, m_tx_tilemap, m_gfxdecode->gfx(0), 7);
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);
@@ -480,7 +480,7 @@ void tceptor_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
y -= 78;
- machine().gfx[gfx]->zoom_transmask(bitmap,
+ m_gfxdecode->gfx(gfx)->zoom_transmask(bitmap,
cliprect,
code,
color,
@@ -488,7 +488,7 @@ void tceptor_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
x, y,
scalex,
scaley,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[gfx], color, SPR_TRANS_COLOR));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(gfx), color, SPR_TRANS_COLOR));
}
}
diff --git a/src/mame/video/tecmo.c b/src/mame/video/tecmo.c
index 072060de1a9..7d8d98b397f 100644
--- a/src/mame/video/tecmo.c
+++ b/src/mame/video/tecmo.c
@@ -24,7 +24,7 @@
TILE_GET_INFO_MEMBER(tecmo_state::get_bg_tile_info)
{
UINT8 attr = m_bgvideoram[tile_index+0x200];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
m_bgvideoram[tile_index] + ((attr & 0x07) << 8),
attr >> 4,
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(tecmo_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(tecmo_state::get_fg_tile_info)
{
UINT8 attr = m_fgvideoram[tile_index+0x200];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
m_fgvideoram[tile_index] + ((attr & 0x07) << 8),
attr >> 4,
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(tecmo_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(tecmo_state::gemini_get_bg_tile_info)
{
UINT8 attr = m_bgvideoram[tile_index+0x200];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
m_bgvideoram[tile_index] + ((attr & 0x70) << 4),
attr & 0x0f,
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(tecmo_state::gemini_get_bg_tile_info)
TILE_GET_INFO_MEMBER(tecmo_state::gemini_get_fg_tile_info)
{
UINT8 attr = m_fgvideoram[tile_index+0x200];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
m_fgvideoram[tile_index] + ((attr & 0x70) << 4),
attr & 0x0f,
@@ -64,7 +64,7 @@ TILE_GET_INFO_MEMBER(tecmo_state::gemini_get_fg_tile_info)
TILE_GET_INFO_MEMBER(tecmo_state::get_tx_tile_info)
{
UINT8 attr = m_txvideoram[tile_index+0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_txvideoram[tile_index] + ((attr & 0x03) << 8),
attr >> 4,
@@ -220,7 +220,7 @@ void tecmo_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,const
{
int sx = xpos + 8*(flipx?(size-1-x):x);
int sy = ypos + 8*(flipy?(size-1-y):y);
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code + layout[y][x],
flags & 0xf,
flipx,flipy,
diff --git a/src/mame/video/tecmo16.c b/src/mame/video/tecmo16.c
index 1b091a65a2e..bd86525a03b 100644
--- a/src/mame/video/tecmo16.c
+++ b/src/mame/video/tecmo16.c
@@ -22,7 +22,7 @@ TILE_GET_INFO_MEMBER(tecmo16_state::fg_get_tile_info)
/* bit 4 controls blending */
tileinfo.category = (m_colorram[tile_index] & 0x10) >> 4;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile,
color | (tileinfo.category ? 0x70 : 0x00),
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(tecmo16_state::bg_get_tile_info)
int tile = m_videoram2[tile_index] & 0x1fff;
int color = (m_colorram2[tile_index] & 0x0f)+0x10;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile,
color,
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(tecmo16_state::bg_get_tile_info)
TILE_GET_INFO_MEMBER(tecmo16_state::tx_get_tile_info)
{
int tile = m_charram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile & 0x0fff,
tile >> 12,
@@ -323,7 +323,7 @@ UINT32 tecmo16_state::screen_update_tecmo16(screen_device &screen, bitmap_rgb32
m_tx_tilemap->draw(screen, m_tile_bitmap_fg, cliprect, 0, 4);
/* draw sprites into a 16-bit bitmap */
- tecmo16_draw_sprites(screen, m_tile_bitmap_bg, m_tile_bitmap_fg, m_sprite_bitmap, cliprect, m_spriteram, m_spriteram.bytes(), m_game_is_riot, m_flipscreen);
+ tecmo16_draw_sprites(screen, m_gfxdecode, m_tile_bitmap_bg, m_tile_bitmap_fg, m_sprite_bitmap, cliprect, m_spriteram, m_spriteram.bytes(), m_game_is_riot, m_flipscreen);
/* mix & blend the tilemaps and sprites into a 32-bit bitmap */
blendbitmaps(machine(), bitmap, m_tile_bitmap_bg, m_tile_bitmap_fg, m_sprite_bitmap, 0, 0, cliprect);
diff --git a/src/mame/video/tecmo_spr.c b/src/mame/video/tecmo_spr.c
index de0966b2fa8..3170692612d 100644
--- a/src/mame/video/tecmo_spr.c
+++ b/src/mame/video/tecmo_spr.c
@@ -66,7 +66,7 @@ static const UINT8 layout[8][8] =
/* from gals pinball (which was in turn from ninja gaiden) */
-int spbactn_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, bool alt_sprites, UINT16* spriteram)
+int spbactn_draw_sprites(screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, bool alt_sprites, UINT16* spriteram)
{
int count = 0;
int offs;
@@ -120,9 +120,9 @@ int spbactn_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rect
int x = sx + 8 * (flipx ? (size - 1 - col) : col);
int y = sy + 8 * (flipy ? (size - 1 - row) : row);
- screen.machine().gfx[2]->transpen_raw(bitmap,cliprect,
+ gfxdecode->gfx(2)->transpen_raw(bitmap,cliprect,
code + layout[row][col],
- screen.machine().gfx[2]->colorbase() + color * screen.machine().gfx[2]->granularity(),
+ gfxdecode->gfx(2)->colorbase() + color * gfxdecode->gfx(2)->granularity(),
flipx, flipy,
x, y,
0);
@@ -138,7 +138,7 @@ int spbactn_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rect
// comad bootleg of spbactn
-void galspnbl_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, UINT16* spriteram, int spriteram_bytes )
+void galspnbl_draw_sprites( screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, UINT16* spriteram, int spriteram_bytes )
{
int offs;
@@ -169,7 +169,7 @@ void galspnbl_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const r
{
int x = sx + 8 * (flipx ? (size - 1 - col) : col);
int y = sy + 8 * (flipy ? (size - 1 - row) : row);
- screen.machine().gfx[1]->transpen(bitmap,cliprect,
+ gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code + layout[row][col],
color,
flipx,flipy,
@@ -180,7 +180,7 @@ void galspnbl_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const r
}
}
-void tecmo16_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, UINT16 spriteram16_bytes, int game_is_riot, int flipscreen )
+void tecmo16_draw_sprites(screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, UINT16 spriteram16_bytes, int game_is_riot, int flipscreen )
{
UINT16 *spriteram16 = spriteram;
int offs;
@@ -252,25 +252,25 @@ void tecmo16_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap
sx = 256 - (xpos + 8*(!flipx?(sizex-1-x):x) + 8);
sy = 256 - (ypos + 8*(!flipy?(sizey-1-y):y) + 8);
}
- screen.machine().gfx[2]->prio_transpen_raw(bitmap,cliprect,
+ gfxdecode->gfx(2)->prio_transpen_raw(bitmap,cliprect,
code + layout[y][x],
- screen.machine().gfx[2]->colorbase() + color * screen.machine().gfx[2]->granularity(),
+ gfxdecode->gfx(2)->colorbase() + color * gfxdecode->gfx(2)->granularity(),
flipx,flipy,
sx,sy,
screen.priority(), priority_mask,0);
/* wrap around x */
- screen.machine().gfx[2]->prio_transpen_raw(bitmap,cliprect,
+ gfxdecode->gfx(2)->prio_transpen_raw(bitmap,cliprect,
code + layout[y][x],
- screen.machine().gfx[2]->colorbase() + color * screen.machine().gfx[2]->granularity(),
+ gfxdecode->gfx(2)->colorbase() + color * gfxdecode->gfx(2)->granularity(),
flipx,flipy,
sx-512,sy,
screen.priority(), priority_mask,0);
/* wrap around x */
- screen.machine().gfx[2]->prio_transpen_raw(bitmap,cliprect,
+ gfxdecode->gfx(2)->prio_transpen_raw(bitmap,cliprect,
code + layout[y][x],
- screen.machine().gfx[2]->colorbase() + color * screen.machine().gfx[2]->granularity(),
+ gfxdecode->gfx(2)->colorbase() + color * gfxdecode->gfx(2)->granularity(),
flipx,flipy,
sx+512,sy,
screen.priority(), priority_mask,0);
@@ -295,25 +295,25 @@ void tecmo16_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap
sx = 256 - (xpos + 8*(!flipx?(sizex-1-x):x) + 8);
sy = 256 - (ypos + 8*(!flipy?(sizey-1-y):y) + 8);
}
- screen.machine().gfx[2]->prio_transpen_raw(bitmap,cliprect,
+ gfxdecode->gfx(2)->prio_transpen_raw(bitmap,cliprect,
code + layout[y][x],
- screen.machine().gfx[2]->colorbase() + color * screen.machine().gfx[2]->granularity(),
+ gfxdecode->gfx(2)->colorbase() + color * gfxdecode->gfx(2)->granularity(),
flipx,flipy,
sx,sy,
screen.priority(), priority_mask,0);
/* wrap around x */
- screen.machine().gfx[2]->prio_transpen_raw(bitmap,cliprect,
+ gfxdecode->gfx(2)->prio_transpen_raw(bitmap,cliprect,
code + layout[y][x],
- screen.machine().gfx[2]->colorbase() + color * screen.machine().gfx[2]->granularity(),
+ gfxdecode->gfx(2)->colorbase() + color * gfxdecode->gfx(2)->granularity(),
flipx,flipy,
sx-512,sy,
screen.priority(), priority_mask,0);
/* wrap around x */
- screen.machine().gfx[2]->prio_transpen_raw(bitmap,cliprect,
+ gfxdecode->gfx(2)->prio_transpen_raw(bitmap,cliprect,
code + layout[y][x],
- screen.machine().gfx[2]->colorbase() + color * screen.machine().gfx[2]->granularity(),
+ gfxdecode->gfx(2)->colorbase() + color * gfxdecode->gfx(2)->granularity(),
flipx,flipy,
sx+512,sy,
screen.priority(), priority_mask,0);
@@ -326,9 +326,9 @@ void tecmo16_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap
#define NUM_SPRITES 256
-void gaiden_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flip_screen )
+void gaiden_draw_sprites( screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flip_screen )
{
- gfx_element *gfx = screen.machine().gfx[3];
+ gfx_element *gfx = gfxdecode->gfx(3);
const UINT16 *source = (NUM_SPRITES - 1) * 8 + spriteram;
int count = NUM_SPRITES;
@@ -435,9 +435,9 @@ void gaiden_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap
}
-void raiga_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flip_screen )
+void raiga_draw_sprites( screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flip_screen )
{
- gfx_element *gfx = screen.machine().gfx[3];
+ gfx_element *gfx = gfxdecode->gfx(3);
const UINT16 *source = (NUM_SPRITES - 1) * 8 + spriteram;
int count = NUM_SPRITES;
diff --git a/src/mame/video/tecmo_spr.h b/src/mame/video/tecmo_spr.h
index b0c29bd1525..e591ef2b2b9 100644
--- a/src/mame/video/tecmo_spr.h
+++ b/src/mame/video/tecmo_spr.h
@@ -1,7 +1,7 @@
/* Tecmo Sprites */
-void galspnbl_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, UINT16* spriteram, int spriteram_bytes );
-void tecmo16_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, UINT16 spriteram16_bytes, int game_is_riot, int flipscreen );
-void gaiden_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flipscreen );
-void raiga_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flipscreen );
-int spbactn_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, bool alt_sprites, UINT16* spriteram);
+void galspnbl_draw_sprites( screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, UINT16* spriteram, int spriteram_bytes );
+void tecmo16_draw_sprites(screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, UINT16 spriteram16_bytes, int game_is_riot, int flipscreen );
+void gaiden_draw_sprites( screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flipscreen );
+void raiga_draw_sprites( screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap_bg, bitmap_ind16 &bitmap_fg, bitmap_ind16 &bitmap_sp, const rectangle &cliprect, UINT16* spriteram, int sprite_sizey, int spr_offset_y, int flipscreen );
+int spbactn_draw_sprites(screen_device &screen, gfxdecode_device *gfxdecode, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority, bool alt_sprites, UINT16* spriteram);
diff --git a/src/mame/video/tecmosys.c b/src/mame/video/tecmosys.c
index b7973fae622..e342fd34406 100644
--- a/src/mame/video/tecmosys.c
+++ b/src/mame/video/tecmosys.c
@@ -10,7 +10,7 @@
TILE_GET_INFO_MEMBER(tecmosys_state::get_bg0tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_bg0tilemap_ram[2*tile_index+1],
(m_bg0tilemap_ram[2*tile_index]&0x3f),
@@ -19,7 +19,7 @@ TILE_GET_INFO_MEMBER(tecmosys_state::get_bg0tile_info)
TILE_GET_INFO_MEMBER(tecmosys_state::get_bg1tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
m_bg1tilemap_ram[2*tile_index+1],
(m_bg1tilemap_ram[2*tile_index]&0x3f),
@@ -28,7 +28,7 @@ TILE_GET_INFO_MEMBER(tecmosys_state::get_bg1tile_info)
TILE_GET_INFO_MEMBER(tecmosys_state::get_bg2tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
m_bg2tilemap_ram[2*tile_index+1],
(m_bg2tilemap_ram[2*tile_index]&0x3f),
@@ -37,7 +37,7 @@ TILE_GET_INFO_MEMBER(tecmosys_state::get_bg2tile_info)
TILE_GET_INFO_MEMBER(tecmosys_state::get_fg_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_fgtilemap_ram[2*tile_index+1],
(m_fgtilemap_ram[2*tile_index]&0x3f),
diff --git a/src/mame/video/tehkanwc.c b/src/mame/video/tehkanwc.c
index 1bf178d4e05..908dce3df8d 100644
--- a/src/mame/video/tehkanwc.c
+++ b/src/mame/video/tehkanwc.c
@@ -70,7 +70,7 @@ TILE_GET_INFO_MEMBER(tehkanwc_state::get_bg_tile_info)
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, flags);
}
TILE_GET_INFO_MEMBER(tehkanwc_state::get_fg_tile_info)
@@ -82,7 +82,7 @@ TILE_GET_INFO_MEMBER(tehkanwc_state::get_fg_tile_info)
tileinfo.category = (attr & 0x20) ? 0 : 1;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void tehkanwc_state::video_start()
@@ -148,7 +148,7 @@ void tehkanwc_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code, color, flipx, flipy, sx, sy, 0);
}
}
diff --git a/src/mame/video/terracre.c b/src/mame/video/terracre.c
index bf23f9e37e6..4462e7cd5f8 100644
--- a/src/mame/video/terracre.c
+++ b/src/mame/video/terracre.c
@@ -17,20 +17,20 @@ TILE_GET_INFO_MEMBER(terracre_state::get_bg_tile_info)
* ----.--xx.xxxx.xxxx */
unsigned data = m_amazon_videoram[tile_index];
unsigned color = data>>11;
- SET_TILE_INFO_MEMBER( 1,data&0x3ff,color,0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,data&0x3ff,color,0 );
}
TILE_GET_INFO_MEMBER(terracre_state::get_fg_tile_info)
{
UINT16 *videoram = m_videoram;
int data = videoram[tile_index];
- SET_TILE_INFO_MEMBER( 0,data&0xff,0,0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,data&0xff,0,0 );
}
void terracre_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
const UINT8 *spritepalettebank = memregion("user1")->base();
- gfx_element *pGfx = machine().gfx[2];
+ gfx_element *pGfx = m_gfxdecode->gfx(2);
const UINT16 *pSource = m_spriteram;
int i;
int transparent_pen;
diff --git a/src/mame/video/tetrisp2.c b/src/mame/video/tetrisp2.c
index 99379288400..08ea00fcbc8 100644
--- a/src/mame/video/tetrisp2.c
+++ b/src/mame/video/tetrisp2.c
@@ -113,7 +113,7 @@ TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_bg)
{
UINT16 code_hi = m_vram_bg[ 2 * tile_index + 0];
UINT16 code_lo = m_vram_bg[ 2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code_hi,
code_lo & 0xf,
@@ -134,7 +134,7 @@ TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_fg)
{
UINT16 code_hi = m_vram_fg[ 2 * tile_index + 0];
UINT16 code_lo = m_vram_fg[ 2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
code_hi,
code_lo & 0xf,
@@ -152,7 +152,7 @@ TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rot)
{
UINT16 code_hi = m_vram_rot[ 2 * tile_index + 0];
UINT16 code_lo = m_vram_rot[ 2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code_hi,
code_lo & 0xf,
@@ -169,7 +169,7 @@ TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rocknms_sub_bg)
{
UINT16 code_hi = m_rocknms_sub_vram_bg[ 2 * tile_index + 0];
UINT16 code_lo = m_rocknms_sub_vram_bg[ 2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
5,
code_hi,
code_lo & 0xf,
@@ -187,7 +187,7 @@ TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rocknms_sub_fg)
{
UINT16 code_hi = m_rocknms_sub_vram_fg[ 2 * tile_index + 0];
UINT16 code_lo = m_rocknms_sub_vram_fg[ 2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
7,
code_hi,
code_lo & 0xf,
@@ -205,7 +205,7 @@ TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rocknms_sub_rot)
{
UINT16 code_hi = m_rocknms_sub_vram_rot[ 2 * tile_index + 0];
UINT16 code_lo = m_rocknms_sub_vram_rot[ 2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
6,
code_hi,
code_lo & 0xf,
@@ -318,7 +318,7 @@ VIDEO_START_MEMBER(tetrisp2_state,rocknms)
-- it appears that sprites which should be shadows are often rendered *UNDER* the tilemaps, maybe related?
*/
template<class _BitmapClass>
-static void tetrisp2_draw_sprites( running_machine &machine, _BitmapClass &bitmap, bitmap_ind8 &bitmap_pri, const rectangle &cliprect, UINT8* priority_ram,
+static void tetrisp2_draw_sprites( tetrisp2_state *state, _BitmapClass &bitmap, bitmap_ind8 &bitmap_pri, const rectangle &cliprect, UINT8* priority_ram,
UINT16 *sprram_top, size_t sprram_size, int gfxnum, int flip )
{
int tx, ty, sx, sy, flipx, flipy;
@@ -327,7 +327,7 @@ static void tetrisp2_draw_sprites( running_machine &machine, _BitmapClass &bitm
int pri;
int xzoom, yzoom;
UINT32 primask;
- gfx_element *gfx = machine.gfx[gfxnum];
+ gfx_element *gfx = state->m_gfxdecode->gfx(gfxnum);
UINT16 *source = sprram_top;
UINT16 *finish = sprram_top + (sprram_size - 0x10) / 2;
@@ -485,7 +485,7 @@ UINT32 tetrisp2_state::screen_update_tetrisp2(screen_device &screen, bitmap_ind1
else if (asc_pri == 2)
m_tilemap_fg->draw(screen, bitmap, cliprect, 0, 1 << 2);
- tetrisp2_draw_sprites( machine(), bitmap, screen.priority(), cliprect, m_priority,
+ tetrisp2_draw_sprites( this, bitmap, screen.priority(), cliprect, m_priority,
m_spriteram, m_spriteram.bytes(), 0, (m_systemregs[0x00] & 0x02) );
return 0;
}
@@ -570,7 +570,7 @@ UINT32 tetrisp2_state::screen_update_rockntread(screen_device &screen, bitmap_in
else if (asc_pri == 2)
m_tilemap_fg->draw(screen, bitmap, cliprect, 0, 1 << 2);
- tetrisp2_draw_sprites( machine(), bitmap, screen.priority(), cliprect, m_priority,
+ tetrisp2_draw_sprites( this, bitmap, screen.priority(), cliprect, m_priority,
m_spriteram, m_spriteram.bytes(), 0, (m_systemregs[0x00] & 0x02) );
return 0;
}
@@ -632,7 +632,7 @@ UINT32 tetrisp2_state::screen_update_rocknms_left(screen_device &screen, bitmap_
else if (asc_pri == 2)
m_tilemap_sub_fg->draw(screen, bitmap, cliprect, 0, 1 << 2);
- tetrisp2_draw_sprites( machine(), bitmap, screen.priority(), cliprect, m_priority,
+ tetrisp2_draw_sprites( this, bitmap, screen.priority(), cliprect, m_priority,
m_spriteram2, m_spriteram2.bytes(), 4, (m_systemregs[0x00] & 0x02) );
return 0;
@@ -693,7 +693,7 @@ UINT32 tetrisp2_state::screen_update_rocknms_right(screen_device &screen, bitmap
else if (asc_pri == 2)
m_tilemap_fg->draw(screen, bitmap, cliprect, 0, 1 << 2);
- tetrisp2_draw_sprites( machine(), bitmap, screen.priority(), cliprect, m_priority,
+ tetrisp2_draw_sprites( this, bitmap, screen.priority(), cliprect, m_priority,
m_spriteram, m_spriteram.bytes(), 0, (m_systemregs[0x00] & 0x02) );
return 0;
@@ -717,7 +717,7 @@ TILE_GET_INFO_MEMBER(tetrisp2_state::stepstag_get_tile_info_fg)
code_hi = (code_hi & 0x0f) + (code_hi & 0xf0)*2;
code_hi += 0xbd6c;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code_hi,
code_lo & 0xf,
@@ -748,7 +748,7 @@ UINT32 stepstag_state::screen_update_stepstag_left(screen_device &screen, bitmap
bitmap.fill(0, cliprect);
screen.priority().fill(0);
- tetrisp2_draw_sprites( machine(), bitmap, screen.priority(), cliprect, m_priority,
+ tetrisp2_draw_sprites( this, bitmap, screen.priority(), cliprect, m_priority,
m_spriteram, m_spriteram.bytes(), 1, (m_systemregs[0x00] & 0x02) );
return 0;
}
@@ -757,7 +757,7 @@ UINT32 stepstag_state::screen_update_stepstag_right(screen_device &screen, bitma
bitmap.fill(0, cliprect);
screen.priority().fill(0);
- tetrisp2_draw_sprites( machine(), bitmap, screen.priority(), cliprect, m_priority,
+ tetrisp2_draw_sprites( this, bitmap, screen.priority(), cliprect, m_priority,
m_spriteram3, m_spriteram3.bytes(), 1, (m_systemregs[0x00] & 0x02) );
return 0;
}
@@ -767,7 +767,7 @@ UINT32 stepstag_state::screen_update_stepstag_mid(screen_device &screen, bitmap_
bitmap.fill(0, cliprect);
screen.priority().fill(0);
- tetrisp2_draw_sprites( machine(), bitmap, screen.priority(), cliprect, m_priority,
+ tetrisp2_draw_sprites( this, bitmap, screen.priority(), cliprect, m_priority,
m_spriteram2, m_spriteram2.bytes(), 0, (m_systemregs[0x00] & 0x02) );
m_tilemap_fg->draw(screen, bitmap, cliprect, 0, 1 << 2);
diff --git a/src/mame/video/thedeep.c b/src/mame/video/thedeep.c
index 7d93e189c2f..345e28834ec 100644
--- a/src/mame/video/thedeep.c
+++ b/src/mame/video/thedeep.c
@@ -47,7 +47,7 @@ TILE_GET_INFO_MEMBER(thedeep_state::get_tile_info_0)
{
UINT8 code = m_vram_0[ tile_index * 2 + 0 ];
UINT8 color = m_vram_0[ tile_index * 2 + 1 ];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code + (color << 8),
(color & 0xf0) >> 4,
@@ -58,7 +58,7 @@ TILE_GET_INFO_MEMBER(thedeep_state::get_tile_info_1)
{
UINT8 code = m_vram_1[ tile_index * 2 + 0 ];
UINT8 color = m_vram_1[ tile_index * 2 + 1 ];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
code + (color << 8),
(color & 0xf0) >> 4,
@@ -187,7 +187,7 @@ void thedeep_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
for (y = 0; y < ny; y++)
{
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code + (flipy ? (ny - y - 1) : y),
color,
flipx,flipy,
diff --git a/src/mame/video/thepit.c b/src/mame/video/thepit.c
index aa4b25f2882..5598745f84f 100644
--- a/src/mame/video/thepit.c
+++ b/src/mame/video/thepit.c
@@ -110,9 +110,9 @@ TILE_GET_INFO_MEMBER(thepit_state::solid_get_tile_info)
TILE_GET_INFO_MEMBER(thepit_state::get_tile_info)
{
- UINT8 fore_color = m_colorram[tile_index] % machine().gfx[0]->colors();
+ UINT8 fore_color = m_colorram[tile_index] % m_gfxdecode->gfx(0)->colors();
UINT8 code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(2 * m_graphics_bank, code, fore_color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2 * m_graphics_bank, code, fore_color, 0);
}
@@ -267,13 +267,13 @@ static void draw_sprites(running_machine &machine,
if (offs < 16) y++;
- machine.gfx[2 * state->m_graphics_bank + 1]->transpen(bitmap,cliprect,
+ state->m_gfxdecode->gfx(2 * state->m_graphics_bank + 1)->transpen(bitmap,cliprect,
state->m_spriteram[offs + 1] & 0x3f,
state->m_spriteram[offs + 2],
flipx, flipy, x, y, 0);
- machine.gfx[2 * state->m_graphics_bank + 1]->transpen(bitmap,cliprect,
+ state->m_gfxdecode->gfx(2 * state->m_graphics_bank + 1)->transpen(bitmap,cliprect,
state->m_spriteram[offs + 1] & 0x3f,
state->m_spriteram[offs + 2],
flipx, flipy, x-256, y, 0);
diff --git a/src/mame/video/thoop2.c b/src/mame/video/thoop2.c
index c8cd2cd2a58..5700e56f37e 100644
--- a/src/mame/video/thoop2.c
+++ b/src/mame/video/thoop2.c
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(thoop2_state::get_tile_info_thoop2_screen0)
tileinfo.category = (data2 >> 6) & 0x03;
- SET_TILE_INFO_MEMBER(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
}
@@ -56,7 +56,7 @@ TILE_GET_INFO_MEMBER(thoop2_state::get_tile_info_thoop2_screen1)
tileinfo.category = (data2 >> 6) & 0x03;
- SET_TILE_INFO_MEMBER(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
}
/***************************************************************************
@@ -146,7 +146,7 @@ void thoop2_state::thoop2_sort_sprites()
void thoop2_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int pri)
{
int j, x, y, ex, ey;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
static const int x_offset[2] = {0x0,0x2};
static const int y_offset[2] = {0x0,0x1};
diff --git a/src/mame/video/thunderj.c b/src/mame/video/thunderj.c
index cf5f06c87d7..8e868b44c5c 100644
--- a/src/mame/video/thunderj.c
+++ b/src/mame/video/thunderj.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(thunderj_state::get_alpha_tile_info)
int code = ((data & 0x200) ? (m_alpha_tile_bank * 0x200) : 0) + (data & 0x1ff);
int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(thunderj_state::get_playfield_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) & 0xff;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
tileinfo.category = (data2 >> 4) & 3;
}
@@ -45,7 +45,7 @@ TILE_GET_INFO_MEMBER(thunderj_state::get_playfield2_tile_info)
UINT16 data2 = tilemap.extmem_read(tile_index) >> 8;
int code = data1 & 0x7fff;
int color = data2 & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data1 >> 15) & 1);
tileinfo.category = (data2 >> 4) & 3;
}
diff --git a/src/mame/video/tiamc1.c b/src/mame/video/tiamc1.c
index 28ada1cb3c0..118963bbccd 100644
--- a/src/mame/video/tiamc1.c
+++ b/src/mame/video/tiamc1.c
@@ -23,7 +23,7 @@ WRITE8_MEMBER(tiamc1_state::tiamc1_videoram_w)
m_charram[offset + 0x1800] = data;
if ((m_layers_ctrl & (16|8|4|2)) != (16|8|4|2))
- machine().gfx[0]->mark_dirty((offset / 8) & 0xff);
+ m_gfxdecode->gfx(0)->mark_dirty((offset / 8) & 0xff);
if(!(m_layers_ctrl & 1)) {
m_tileram[offset] = data;
@@ -112,12 +112,12 @@ void tiamc1_state::palette_init()
TILE_GET_INFO_MEMBER(tiamc1_state::get_bg1_tile_info)
{
- SET_TILE_INFO_MEMBER(0, m_tileram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, m_tileram[tile_index], 0, 0);
}
TILE_GET_INFO_MEMBER(tiamc1_state::get_bg2_tile_info)
{
- SET_TILE_INFO_MEMBER(0, m_tileram[tile_index + 1024], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, m_tileram[tile_index + 1024], 0, 0);
}
void tiamc1_state::video_start()
@@ -149,7 +149,7 @@ void tiamc1_state::video_start()
save_item(NAME(m_bg_vshift));
save_item(NAME(m_bg_hshift));
- machine().gfx[0]->set_source(m_charram);
+ m_gfxdecode->gfx(0)->set_source(m_charram);
}
void tiamc1_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -167,7 +167,7 @@ void tiamc1_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
spritecode = m_spriteram_n[offs] ^ 0xff;
if (!(m_spriteram_a[offs] & 0x01))
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
spritecode,
0,
flipx, flipy,
diff --git a/src/mame/video/tigeroad.c b/src/mame/video/tigeroad.c
index 25d6e7f8a25..dcb10b17e03 100644
--- a/src/mame/video/tigeroad.c
+++ b/src/mame/video/tigeroad.c
@@ -97,7 +97,7 @@ void tigeroad_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
}
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
tile_number,
color,
flipx, flipy,
@@ -118,7 +118,7 @@ TILE_GET_INFO_MEMBER(tigeroad_state::get_bg_tile_info)
int color = attr & 0x0f;
int flags = (attr & 0x20) ? TILE_FLIPX : 0;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
tileinfo.group = (attr & 0x10) ? 1 : 0;
}
@@ -131,7 +131,7 @@ TILE_GET_INFO_MEMBER(tigeroad_state::get_fg_tile_info)
int color = attr & 0x0f;
int flags = (attr & 0x10) ? TILE_FLIPY : 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
TILEMAP_MAPPER_MEMBER(tigeroad_state::tigeroad_tilemap_scan)
diff --git a/src/mame/video/timelimt.c b/src/mame/video/timelimt.c
index 6b5f4b42068..852068f6bdc 100644
--- a/src/mame/video/timelimt.c
+++ b/src/mame/video/timelimt.c
@@ -56,13 +56,13 @@ void timelimt_state::palette_init(){
TILE_GET_INFO_MEMBER(timelimt_state::get_bg_tile_info)
{
- SET_TILE_INFO_MEMBER(1, m_bg_videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, m_bg_videoram[tile_index], 0, 0);
}
TILE_GET_INFO_MEMBER(timelimt_state::get_fg_tile_info)
{
UINT8 *videoram = m_videoram;
- SET_TILE_INFO_MEMBER(0, videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, videoram[tile_index], 0, 0);
}
void timelimt_state::video_start()
@@ -126,7 +126,7 @@ void timelimt_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
code += ( attr & 0x80 ) ? 0x40 : 0x00;
code += ( attr & 0x40 ) ? 0x80 : 0x00;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code,
attr & 7,
flipx,flipy,
diff --git a/src/mame/video/timeplt.c b/src/mame/video/timeplt.c
index c066c9ebdc4..eee861ffaa6 100644
--- a/src/mame/video/timeplt.c
+++ b/src/mame/video/timeplt.c
@@ -98,7 +98,7 @@ TILE_GET_INFO_MEMBER(timeplt_state::get_tile_info)
int flags = TILE_FLIPYX(attr >> 6);
tileinfo.category = (attr & 0x10) >> 4;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
TILE_GET_INFO_MEMBER(timeplt_state::get_chkun_tile_info)
@@ -109,7 +109,7 @@ TILE_GET_INFO_MEMBER(timeplt_state::get_chkun_tile_info)
int flags = 0;//TILE_FLIPYX(attr >> 6);
tileinfo.category = (attr & 0x80) >> 7;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
@@ -187,7 +187,7 @@ void timeplt_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
int flipx = ~spriteram_2[offs] & 0x40;
int flipy = spriteram_2[offs] & 0x80;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/tmnt.c b/src/mame/video/tmnt.c
index 68765c59281..041416c7c38 100644
--- a/src/mame/video/tmnt.c
+++ b/src/mame/video/tmnt.c
@@ -11,7 +11,7 @@ TILE_GET_INFO_MEMBER(tmnt_state::glfgreat_get_roz_tile_info)
code = rom[tile_index + 0x80000] + 256 * rom[tile_index] + 256 * 256 * ((rom[tile_index / 4 + 0x100000] >> (2 * (tile_index & 3))) & 3);
- SET_TILE_INFO_MEMBER(0, code & 0x3fff, code >> 14, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x3fff, code >> 14, 0);
}
TILE_GET_INFO_MEMBER(tmnt_state::prmrsocr_get_roz_tile_info)
@@ -19,7 +19,7 @@ TILE_GET_INFO_MEMBER(tmnt_state::prmrsocr_get_roz_tile_info)
UINT8 *rom = memregion("user1")->base();
int code = rom[tile_index + 0x20000] + 256 * rom[tile_index];
- SET_TILE_INFO_MEMBER(0, code & 0x1fff, code >> 13, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code & 0x1fff, code >> 13, 0);
}
diff --git a/src/mame/video/toaplan1.c b/src/mame/video/toaplan1.c
index 82b4caec297..e0516ac6a0c 100644
--- a/src/mame/video/toaplan1.c
+++ b/src/mame/video/toaplan1.c
@@ -142,7 +142,7 @@ TILE_GET_INFO_MEMBER(toaplan1_state::get_pf1_tile_info)
tile_number = m_pf1_tilevram16[2*tile_index+1] & 0x7fff;
attrib = m_pf1_tilevram16[2*tile_index];
color = attrib & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
color,
@@ -159,7 +159,7 @@ TILE_GET_INFO_MEMBER(toaplan1_state::get_pf2_tile_info)
tile_number = m_pf2_tilevram16[2*tile_index+1] & 0x7fff;
attrib = m_pf2_tilevram16[2*tile_index];
color = attrib & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
color,
@@ -176,7 +176,7 @@ TILE_GET_INFO_MEMBER(toaplan1_state::get_pf3_tile_info)
tile_number = m_pf3_tilevram16[2*tile_index+1] & 0x7fff;
attrib = m_pf3_tilevram16[2*tile_index];
color = attrib & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
color,
@@ -193,7 +193,7 @@ TILE_GET_INFO_MEMBER(toaplan1_state::get_pf4_tile_info)
tile_number = m_pf4_tilevram16[2*tile_index+1] & 0x7fff;
attrib = m_pf4_tilevram16[2*tile_index];
color = attrib & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
color,
@@ -928,7 +928,7 @@ void toaplan1_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, c
if (fcu_flipscreen) sx = sx_base - dim_x;
else sx = sx_base + dim_x;
- toaplan1_draw_sprite_custom(screen,bitmap,cliprect,machine().gfx[1],
+ toaplan1_draw_sprite_custom(screen,bitmap,cliprect,m_gfxdecode->gfx(1),
sprite,color,
fcu_flipscreen,fcu_flipscreen,
sx,sy,
diff --git a/src/mame/video/toaplan2.c b/src/mame/video/toaplan2.c
index 2d947ff17bf..5abaf681f36 100644
--- a/src/mame/video/toaplan2.c
+++ b/src/mame/video/toaplan2.c
@@ -41,7 +41,7 @@ TILE_GET_INFO_MEMBER(toaplan2_state::get_text_tile_info)
attrib = m_txvideoram16[tile_index];
tile_number = attrib & 0x3ff;
color = ((attrib >> 10) | 0x40) & 0x7f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile_number,
color,
@@ -71,7 +71,7 @@ void toaplan2_state::register_state_save()
void toaplan2_state::truxton2_postload()
{
for (int i = 0; i < 1024; i++)
- machine().gfx[2]->mark_dirty(i);
+ m_gfxdecode->gfx(2)->mark_dirty(i);
}
VIDEO_START_MEMBER(toaplan2_state,toaplan2)
@@ -99,7 +99,7 @@ VIDEO_START_MEMBER(toaplan2_state,truxton2)
VIDEO_START_CALL_MEMBER( toaplan2 );
/* Create the Text tilemap for this game */
- machine().gfx[2]->set_source(reinterpret_cast<UINT8 *>(m_tx_gfxram16.target()));
+ m_gfxdecode->gfx(2)->set_source(reinterpret_cast<UINT8 *>(m_tx_gfxram16.target()));
machine().save().register_postload(save_prepost_delegate(FUNC(toaplan2_state::truxton2_postload), this));
truxton2_create_tx_tilemap();
@@ -157,7 +157,7 @@ VIDEO_START_MEMBER(toaplan2_state,batrider)
/* Create the Text tilemap for this game */
m_tx_gfxram16.allocate(RAIZING_TX_GFXRAM_SIZE/2);
- machine().gfx[2]->set_source(reinterpret_cast<UINT8 *>(m_tx_gfxram16.target()));
+ m_gfxdecode->gfx(2)->set_source(reinterpret_cast<UINT8 *>(m_tx_gfxram16.target()));
machine().save().register_postload(save_prepost_delegate(FUNC(toaplan2_state::truxton2_postload), this));
truxton2_create_tx_tilemap();
@@ -225,7 +225,7 @@ WRITE16_MEMBER(toaplan2_state::toaplan2_tx_gfxram16_w)
{
int code = offset/32;
COMBINE_DATA(&m_tx_gfxram16[offset]);
- machine().gfx[2]->mark_dirty(code);
+ m_gfxdecode->gfx(2)->mark_dirty(code);
}
}
@@ -247,7 +247,7 @@ WRITE16_MEMBER(toaplan2_state::batrider_textdata_dma_w)
memcpy(dest, m_mainram16, m_mainram16.bytes());
for (int i = 0; i < 1024; i++)
- machine().gfx[2]->mark_dirty(i);
+ m_gfxdecode->gfx(2)->mark_dirty(i);
}
WRITE16_MEMBER(toaplan2_state::batrider_unknown_dma_w)
diff --git a/src/mame/video/toaplan_scu.c b/src/mame/video/toaplan_scu.c
index ca14d74ef68..7d8fa138585 100644
--- a/src/mame/video/toaplan_scu.c
+++ b/src/mame/video/toaplan_scu.c
@@ -12,10 +12,21 @@ const device_type TOAPLAN_SCU = &device_creator<toaplan_scu_device>;
toaplan_scu_device::toaplan_scu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, TOAPLAN_SCU, "toaplan_scu_device", tag, owner, clock, "toaplan_scu", __FILE__),
- m_gfxregion(0)
+ m_gfxregion(0),
+ m_gfxdecode(*this)
{
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void toaplan_scu_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<toaplan_scu_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
void toaplan_scu_device::device_start()
{
}
@@ -64,7 +75,7 @@ void toaplan_scu_device::draw_sprites_to_tempbitmap(const rectangle &cliprect, U
flipx = attribute & 0x100;
if (flipx) sx -= 14; /* should really be 15 */
flipy = attribute & 0x200;
- machine().gfx[m_gfxregion]->transpen_raw(m_temp_spritebitmap,cliprect,
+ m_gfxdecode->gfx(m_gfxregion)->transpen_raw(m_temp_spritebitmap,cliprect,
sprite,
color << 4 /* << 4 because using _raw */ ,
flipx,flipy,
@@ -83,7 +94,7 @@ void toaplan_scu_device::draw_sprites_to_tempbitmap(const rectangle &cliprect, U
void toaplan_scu_device::copy_sprites_from_tempbitmap(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority)
{
int y, x;
- int colourbase = machine().gfx[m_gfxregion]->colorbase();
+ int colourbase = m_gfxdecode->gfx(m_gfxregion)->colorbase();
for (y=cliprect.min_y;y<=cliprect.max_y;y++)
{
diff --git a/src/mame/video/toaplan_scu.h b/src/mame/video/toaplan_scu.h
index 13b2c735118..daf9442e794 100644
--- a/src/mame/video/toaplan_scu.h
+++ b/src/mame/video/toaplan_scu.h
@@ -7,6 +7,9 @@ class toaplan_scu_device : public device_t
public:
toaplan_scu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
void draw_sprites_to_tempbitmap(const rectangle &cliprect, UINT16* spriteram, UINT32 bytes );
void copy_sprites_from_tempbitmap(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority);
void alloc_sprite_bitmap(screen_device &screen);
@@ -19,9 +22,12 @@ protected:
private:
bitmap_ind16 m_temp_spritebitmap;
int m_gfxregion;
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type TOAPLAN_SCU;
#define MCFG_TOAPLAN_SCU_ADD(_tag ) \
MCFG_DEVICE_ADD(_tag, TOAPLAN_SCU, 0)
+#define MCFG_TOAPLAN_SCU_GFXDECODE(_gfxtag) \
+ toaplan_scu_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
diff --git a/src/mame/video/toki.c b/src/mame/video/toki.c
index 5aeb2a3c318..1b4beca98a0 100644
--- a/src/mame/video/toki.c
+++ b/src/mame/video/toki.c
@@ -40,7 +40,7 @@ TILE_GET_INFO_MEMBER(toki_state::get_text_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile,
color,
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(toki_state::get_back_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile,
color,
@@ -68,7 +68,7 @@ TILE_GET_INFO_MEMBER(toki_state::get_fore_tile_info)
tile &= 0xfff;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
tile,
color,
@@ -196,7 +196,7 @@ void toki_state::toki_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprec
flipy=1;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tile,
color,
flipx,flipy,
@@ -233,7 +233,7 @@ void toki_state::tokib_draw_sprites(bitmap_ind16 &bitmap,const rectangle &clipre
tile = sprite_word[1] & 0x1fff;
color = sprite_word[2] >> 12;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
tile,
color,
flipx,0,
diff --git a/src/mame/video/toobin.c b/src/mame/video/toobin.c
index 0622cca43c9..530ed38fa79 100644
--- a/src/mame/video/toobin.c
+++ b/src/mame/video/toobin.c
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(toobin_state::get_alpha_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = data & 0x3ff;
int color = (data >> 12) & 0x0f;
- SET_TILE_INFO_MEMBER(2, code, color, (data >> 10) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, (data >> 10) & 1);
}
@@ -32,7 +32,7 @@ TILE_GET_INFO_MEMBER(toobin_state::get_playfield_tile_info)
UINT32 data = tilemap.basemem_read(tile_index);
int code = data & 0x3fff;
int color = (data >> 16) & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX(data >> 14));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, TILE_FLIPYX(data >> 14));
tileinfo.category = (data >> 20) & 3;
}
diff --git a/src/mame/video/topspeed.c b/src/mame/video/topspeed.c
index f874112304d..db85d5e6470 100644
--- a/src/mame/video/topspeed.c
+++ b/src/mame/video/topspeed.c
@@ -193,7 +193,7 @@ void topspeed_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
zx = x + (((k + 1) * zoomx) / 8) - curx;
zy = y + (((j + 1) * zoomy) / 16) - cury;
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/toypop.c b/src/mame/video/toypop.c
index 4b9f1f7ea37..c58d6002445 100644
--- a/src/mame/video/toypop.c
+++ b/src/mame/video/toypop.c
@@ -95,7 +95,7 @@ TILEMAP_MAPPER_MEMBER(toypop_state::tilemap_scan)
TILE_GET_INFO_MEMBER(toypop_state::get_tile_info)
{
UINT8 attr = m_videoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index],
(attr & 0x3f) + 0x40 * m_palettebank,
@@ -254,12 +254,12 @@ void toypop_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
{
for (int x = 0;x <= sizex;x++)
{
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
sprite + gfx_offs[y ^ (sizey & flipy)][x ^ (sizex & flipx)],
color,
flipx,flipy,
sx + 16*x,sy + 16*y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0xff));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0xff));
}
}
}
diff --git a/src/mame/video/tp84.c b/src/mame/video/tp84.c
index 83cbf97c95c..ee8fb9ded12 100644
--- a/src/mame/video/tp84.c
+++ b/src/mame/video/tp84.c
@@ -127,7 +127,7 @@ TILE_GET_INFO_MEMBER(tp84_state::get_bg_tile_info)
(m_bg_colorram[tile_index] & 0x0f);
int flags = TILE_FLIPYX(m_bg_colorram[tile_index] >> 6);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
TILE_GET_INFO_MEMBER(tp84_state::get_fg_tile_info)
@@ -138,7 +138,7 @@ TILE_GET_INFO_MEMBER(tp84_state::get_fg_tile_info)
(m_fg_colorram[tile_index] & 0x0f);
int flags = TILE_FLIPYX(m_fg_colorram[tile_index] >> 6);
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
@@ -164,8 +164,8 @@ void tp84_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
int flip_x = ~m_spriteram[offs + 2] & 0x40;
int flip_y = m_spriteram[offs + 2] & 0x80;
- machine().gfx[1]->transmask(bitmap,cliprect, code, color, flip_x, flip_y, x, y,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, palette_base));
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect, code, color, flip_x, flip_y, x, y,
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, palette_base));
}
}
diff --git a/src/mame/video/trackfld.c b/src/mame/video/trackfld.c
index c9d864b610c..a962e8b2d0a 100644
--- a/src/mame/video/trackfld.c
+++ b/src/mame/video/trackfld.c
@@ -168,7 +168,7 @@ TILE_GET_INFO_MEMBER(trackfld_state::get_bg_tile_info)
if (m_bg_bank)
code |= 0x400;
- SET_TILE_INFO_MEMBER(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, flags);
}
VIDEO_START_MEMBER(trackfld_state,trackfld)
@@ -224,19 +224,19 @@ void trackfld_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
- machine().gfx[0]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transmask(bitmap,cliprect,
code + m_sprite_bank1 + m_sprite_bank2, color,
flipx, flipy,
sx, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[0], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0));
/* redraw with wraparound */
- machine().gfx[0]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transmask(bitmap,cliprect,
code + m_sprite_bank1 + m_sprite_bank2, color,
flipx, flipy,
sx - 256, sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[0], color, 0));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(0), color, 0));
}
}
diff --git a/src/mame/video/travrusa.c b/src/mame/video/travrusa.c
index 1df1fc89e0b..b82b2cd6291 100644
--- a/src/mame/video/travrusa.c
+++ b/src/mame/video/travrusa.c
@@ -204,7 +204,7 @@ TILE_GET_INFO_MEMBER(travrusa_state::get_tile_info)
tileinfo.group = ((attr & 0x0f) == 0x0f) ? 1 : 0; /* tunnels */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[2 * tile_index] + ((attr & 0xc0) << 2),
attr & 0x0f,
@@ -317,7 +317,7 @@ void travrusa_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,clip,
+ m_gfxdecode->gfx(1)->transpen(bitmap,clip,
code,
attr & 0x0f,
flipx, flipy,
diff --git a/src/mame/video/triplhnt.c b/src/mame/video/triplhnt.c
index dd3af23de1a..2e17e020c13 100644
--- a/src/mame/video/triplhnt.c
+++ b/src/mame/video/triplhnt.c
@@ -12,7 +12,7 @@ TILE_GET_INFO_MEMBER(triplhnt_state::get_tile_info)
{
int code = m_playfield_ram[tile_index] & 0x3f;
- SET_TILE_INFO_MEMBER(2, code, code == 0x3f ? 1 : 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, code == 0x3f ? 1 : 0, 0);
}
@@ -72,7 +72,7 @@ void triplhnt_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
/* render sprite to auxiliary bitmap */
- machine().gfx[m_sprite_zoom]->opaque(m_helper,cliprect,
+ m_gfxdecode->gfx(m_sprite_zoom)->opaque(m_helper,cliprect,
2 * code + m_sprite_bank, 0, code & 8, 0,
rect.min_x, rect.min_y);
diff --git a/src/mame/video/trucocl.c b/src/mame/video/trucocl.c
index 5927d58ea51..9f439559e78 100644
--- a/src/mame/video/trucocl.c
+++ b/src/mame/video/trucocl.c
@@ -68,7 +68,7 @@ TILE_GET_INFO_MEMBER(trucocl_state::get_bg_tile_info)
code |= ( bank & 2 ) << 8;
code += ( bank & 4 ) << 6;
- SET_TILE_INFO_MEMBER(gfxsel,code,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfxsel,code,colour,0);
}
void trucocl_state::video_start()
diff --git a/src/mame/video/tryout.c b/src/mame/video/tryout.c
index 64ec48b9258..07f7069b0e0 100644
--- a/src/mame/video/tryout.c
+++ b/src/mame/video/tryout.c
@@ -48,12 +48,12 @@ TILE_GET_INFO_MEMBER(tryout_state::get_fg_tile_info)
code |= ((attr & 0x03) << 8);
color = ((attr & 0x4)>>2)+6;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(tryout_state::get_bg_tile_info)
{
- SET_TILE_INFO_MEMBER(2, m_vram[tile_index] & 0x7f, 2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, m_vram[tile_index] & 0x7f, 2, 0);
}
READ8_MEMBER(tryout_state::tryout_vram_r)
@@ -133,7 +133,7 @@ WRITE8_MEMBER(tryout_state::tryout_vram_w)
break;
}
- machine().gfx[2]->mark_dirty((offset-0x400/64)&0x7f);
+ m_gfxdecode->gfx(2)->mark_dirty((offset-0x400/64)&0x7f);
}
WRITE8_MEMBER(tryout_state::tryout_vram_bankswitch_w)
@@ -171,7 +171,7 @@ void tryout_state::video_start()
m_vram=auto_alloc_array(machine(), UINT8, 8 * 0x800);
m_vram_gfx=auto_alloc_array(machine(), UINT8, 0x6000);
- machine().gfx[2]->set_source(m_vram_gfx);
+ m_gfxdecode->gfx(2)->set_source(m_vram_gfx);
m_fg_tilemap->set_transparent_pen(0);
}
@@ -209,17 +209,17 @@ void tryout_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
/* Double Height */
if(spriteram[offs] & 0x10)
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
sprite,
color,fx,fy,x,y + inc,0);
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
sprite+1,
color,fx,fy,x,y,0);
}
else
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
sprite,
color,fx,fy,x,y,0);
}
diff --git a/src/mame/video/tsamurai.c b/src/mame/video/tsamurai.c
index 965576717ee..0bd1836ca39 100644
--- a/src/mame/video/tsamurai.c
+++ b/src/mame/video/tsamurai.c
@@ -18,7 +18,7 @@ TILE_GET_INFO_MEMBER(tsamurai_state::get_bg_tile_info)
int tile_number = m_bg_videoram[2*tile_index];
tile_number += (( attributes & 0xc0 ) >> 6 ) * 256; /* legacy */
tile_number += (( attributes & 0x20 ) >> 5 ) * 1024; /* Mission 660 add-on*/
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
attributes & 0x1f,
@@ -30,7 +30,7 @@ TILE_GET_INFO_MEMBER(tsamurai_state::get_fg_tile_info)
int tile_number = m_videoram[tile_index];
if (m_textbank1 & 0x01) tile_number += 256; /* legacy */
if (m_textbank2 & 0x01) tile_number += 512; /* Mission 660 add-on */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile_number,
m_colorram[((tile_index&0x1f)*2)+1] & 0x1f,
@@ -129,7 +129,7 @@ WRITE8_MEMBER(tsamurai_state::tsamurai_fg_colorram_w)
void tsamurai_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect )
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
const UINT8 *source = spriteram+32*4-4;
const UINT8 *finish = spriteram; /* ? */
m_flicker = 1-m_flicker;
@@ -234,7 +234,7 @@ TILE_GET_INFO_MEMBER(tsamurai_state::get_vsgongf_tile_info)
int tile_number = m_videoram[tile_index];
int color = m_vsgongf_color&0x1f;
if( m_textbank1 ) tile_number += 0x100;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile_number,
color,
diff --git a/src/mame/video/tumbleb.c b/src/mame/video/tumbleb.c
index e6996955811..4c35796aaa7 100644
--- a/src/mame/video/tumbleb.c
+++ b/src/mame/video/tumbleb.c
@@ -120,7 +120,7 @@ inline void tumbleb_state::get_bg_tile_info( tile_data &tileinfo, int tile_index
{
int data = gfx_base[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfx_bank,
(data & 0x0fff) | (m_tilebank >> 2),
data >> 12,
@@ -134,7 +134,7 @@ TILE_GET_INFO_MEMBER(tumbleb_state::get_fg_tile_info)
{
int data = m_pf1_data[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(data & 0x0fff) | m_tilebank,
data >> 12,
@@ -146,7 +146,7 @@ inline void tumbleb_state::get_fncywld_bg_tile_info( tile_data &tileinfo, int ti
int data = gfx_base[tile_index * 2];
int attr = gfx_base[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfx_bank,
data & 0x1fff,
attr & 0x1f,
@@ -161,7 +161,7 @@ TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_fg_tile_info)
int data = m_pf1_data[tile_index * 2];
int attr = m_pf1_data[tile_index * 2 + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
data & 0x1fff,
attr & 0x1f,
@@ -174,7 +174,7 @@ inline void tumbleb_state::pangpang_get_bg_tile_info( tile_data &tileinfo, int t
int data = gfx_base[tile_index * 2 + 1];
int attr = gfx_base[tile_index * 2];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfx_bank,
data & 0x1fff,
(attr >>12) & 0xf,
@@ -186,7 +186,7 @@ inline void tumbleb_state::pangpang_get_bg2x_tile_info( tile_data &tileinfo, int
int data = gfx_base[tile_index * 2 + 1];
int attr = gfx_base[tile_index * 2];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfx_bank,
(data & 0xfff) + 0x1000,
(attr >>12) & 0xf,
@@ -202,7 +202,7 @@ TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_fg_tile_info)
int data = m_pf1_data[tile_index * 2 + 1];
int attr = m_pf1_data[tile_index * 2];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
data & 0x1fff,
(attr >> 12)& 0x1f,
diff --git a/src/mame/video/tunhunt.c b/src/mame/video/tunhunt.c
index 9d96be02471..99f8290b713 100644
--- a/src/mame/video/tunhunt.c
+++ b/src/mame/video/tunhunt.c
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(tunhunt_state::get_fg_tile_info)
int color = attr >> 6;
int flags = color ? TILE_FORCE_LAYER0 : 0;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
void tunhunt_state::video_start()
@@ -337,7 +337,7 @@ void tunhunt_state::draw_shell(bitmap_ind16 &bitmap,
for( sy=0; sy<256; sy+=16 )
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
picture_code,
0, /* color */
0,0, /* flip */
@@ -362,7 +362,7 @@ void tunhunt_state::draw_shell(bitmap_ind16 &bitmap,
*/
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
picture_code,
0, /* color */
0,0, /* flip */
diff --git a/src/mame/video/turbo.c b/src/mame/video/turbo.c
index bffcc00502a..dfb5e28c52c 100644
--- a/src/mame/video/turbo.c
+++ b/src/mame/video/turbo.c
@@ -154,7 +154,7 @@ PALETTE_INIT_MEMBER(turbo_state,buckrog)
TILE_GET_INFO_MEMBER(turbo_state::get_fg_tile_info)
{
int code = m_videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, code >> 2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, code >> 2, 0);
}
diff --git a/src/mame/video/twin16.c b/src/mame/video/twin16.c
index 1be6d3a524e..50819df18c8 100644
--- a/src/mame/video/twin16.c
+++ b/src/mame/video/twin16.c
@@ -483,7 +483,7 @@ TILE_GET_INFO_MEMBER(twin16_state::get_text_tile_info)
if (attr&0x2000) flags|=TILE_FLIPX;
if (attr&0x4000) flags|=TILE_FLIPY;
- SET_TILE_INFO_MEMBER(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, flags);
}
VIDEO_START_MEMBER(twin16_state,twin16)
diff --git a/src/mame/video/twincobr.c b/src/mame/video/twincobr.c
index 929de1308d9..405a523aa0f 100644
--- a/src/mame/video/twincobr.c
+++ b/src/mame/video/twincobr.c
@@ -46,7 +46,7 @@ TILE_GET_INFO_MEMBER(twincobr_state::get_bg_tile_info)
code = m_bgvideoram16[tile_index+m_bg_ram_bank];
tile_number = code & 0x0fff;
color = (code & 0xf000) >> 12;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile_number,
color,
@@ -60,7 +60,7 @@ TILE_GET_INFO_MEMBER(twincobr_state::get_fg_tile_info)
code = m_fgvideoram16[tile_index];
tile_number = (code & 0x0fff) | m_fg_rom_bank;
color = (code & 0xf000) >> 12;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile_number,
color,
@@ -74,7 +74,7 @@ TILE_GET_INFO_MEMBER(twincobr_state::get_tx_tile_info)
code = m_txvideoram16[tile_index];
tile_number = code & 0x07ff;
color = (code & 0xf800) >> 11;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tile_number,
color,
diff --git a/src/mame/video/ultratnk.c b/src/mame/video/ultratnk.c
index 1155c527958..accbdd4919f 100644
--- a/src/mame/video/ultratnk.c
+++ b/src/mame/video/ultratnk.c
@@ -40,9 +40,9 @@ TILE_GET_INFO_MEMBER(ultratnk_state::ultratnk_tile_info)
UINT8 code = videoram[tile_index];
if (code & 0x20)
- SET_TILE_INFO_MEMBER(0, code, code >> 6, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, code >> 6, 0);
else
- SET_TILE_INFO_MEMBER(0, code, 4, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 4, 0);
}
@@ -75,7 +75,7 @@ UINT32 ultratnk_state::screen_update_ultratnk(screen_device &screen, bitmap_ind1
if (!(attr & 0x80))
{
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
(code >> 3) | bank,
i,
0, 0,
@@ -114,8 +114,8 @@ void ultratnk_state::screen_eof_ultratnk(screen_device &screen, bool state)
rect.min_x = horz - 15;
rect.min_y = vert - 15;
- rect.max_x = horz - 15 + machine().gfx[1]->width() - 1;
- rect.max_y = vert - 15 + machine().gfx[1]->height() - 1;
+ rect.max_x = horz - 15 + m_gfxdecode->gfx(1)->width() - 1;
+ rect.max_y = vert - 15 + m_gfxdecode->gfx(1)->height() - 1;
rect &= m_screen->visible_area();
@@ -124,7 +124,7 @@ void ultratnk_state::screen_eof_ultratnk(screen_device &screen, bool state)
if (code & 4)
bank = 32;
- machine().gfx[1]->transpen(m_helper,rect,
+ m_gfxdecode->gfx(1)->transpen(m_helper,rect,
(code >> 3) | bank,
4,
0, 0,
diff --git a/src/mame/video/undrfire.c b/src/mame/video/undrfire.c
index 92f1f206861..3e2f045bd3b 100644
--- a/src/mame/video/undrfire.c
+++ b/src/mame/video/undrfire.c
@@ -175,7 +175,7 @@ void undrfire_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap,co
}
else
{
- machine().gfx[sprite_ptr->gfx]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
@@ -194,7 +194,7 @@ logerror("Sprite number %04x had %02x invalid chunks\n",tilenum,bad_chunks);
{
sprite_ptr--;
- machine().gfx[sprite_ptr->gfx]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->prio_zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
@@ -313,7 +313,7 @@ void undrfire_state::draw_sprites_cbombers(screen_device &screen, bitmap_ind16 &
}
else
{
- machine().gfx[sprite_ptr->gfx]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
@@ -328,7 +328,7 @@ void undrfire_state::draw_sprites_cbombers(screen_device &screen, bitmap_ind16 &
{
sprite_ptr--;
- machine().gfx[sprite_ptr->gfx]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(sprite_ptr->gfx)->prio_zoom_transpen(bitmap,cliprect,
sprite_ptr->code,
sprite_ptr->color,
sprite_ptr->flipx,sprite_ptr->flipy,
diff --git a/src/mame/video/unico.c b/src/mame/video/unico.c
index fc9b85e6ec3..12b6a27299b 100644
--- a/src/mame/video/unico.c
+++ b/src/mame/video/unico.c
@@ -93,7 +93,7 @@ TILE_GET_INFO_MEMBER(unico_state::get_tile_info)
UINT16 *vram = (UINT16 *)tilemap.user_data();
UINT16 code = vram[2 * tile_index + 0 ];
UINT16 attr = vram[2 * tile_index + 1 ];
- SET_TILE_INFO_MEMBER(1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
}
READ16_MEMBER(unico_state::unico_vram_r) { return m_vram[offset]; }
@@ -230,7 +230,7 @@ void unico_state::unico_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap
for (x = startx ; x != endx ; x += incx)
{
- machine().gfx[0]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect,
code++,
attr & 0x1f,
flipx, flipy,
diff --git a/src/mame/video/usgames.c b/src/mame/video/usgames.c
index dceca4547ff..dc0fea191e2 100644
--- a/src/mame/video/usgames.c
+++ b/src/mame/video/usgames.c
@@ -38,13 +38,13 @@ TILE_GET_INFO_MEMBER(usgames_state::get_usgames_tile_info)
tileno = m_videoram[tile_index*2];
colour = m_videoram[tile_index*2+1];
- SET_TILE_INFO_MEMBER(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,colour,0);
}
void usgames_state::video_start()
{
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);
+ m_gfxdecode->gfx(0)->set_source(m_charram);
}
@@ -57,7 +57,7 @@ WRITE8_MEMBER(usgames_state::usgames_videoram_w)
WRITE8_MEMBER(usgames_state::usgames_charram_w)
{
m_charram[offset] = data;
- machine().gfx[0]->mark_dirty(offset/8);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/8);
}
diff --git a/src/mame/video/vastar.c b/src/mame/video/vastar.c
index 5c762709008..d06dd52755d 100644
--- a/src/mame/video/vastar.c
+++ b/src/mame/video/vastar.c
@@ -24,7 +24,7 @@ TILE_GET_INFO_MEMBER(vastar_state::get_fg_tile_info)
code = videoram[tile_index + 0x800] | (videoram[tile_index + 0x400] << 8);
color = videoram[tile_index];
fxy = (code & 0xc00) >> 10; // maybe, based on the other layers
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color & 0x3f,
@@ -39,7 +39,7 @@ TILE_GET_INFO_MEMBER(vastar_state::get_bg1_tile_info)
code = videoram[tile_index + 0x800] | (videoram[tile_index] << 8);
color = videoram[tile_index + 0xc00];
fxy = (code & 0xc00) >> 10;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
4,
code,
color & 0x3f,
@@ -54,7 +54,7 @@ TILE_GET_INFO_MEMBER(vastar_state::get_bg2_tile_info)
code = videoram[tile_index + 0x800] | (videoram[tile_index] << 8);
color = videoram[tile_index + 0xc00];
fxy = (code & 0xc00) >> 10;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
3,
code,
color & 0x3f,
@@ -155,13 +155,13 @@ void vastar_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
if (!flip_screen())
sy = 224 - sy;
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code/2,
color,
flipx,flipy,
sx,sy,0);
/* redraw with wraparound */
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code/2,
color,
flipx,flipy,
@@ -172,7 +172,7 @@ void vastar_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
if (!flip_screen())
sy = 240 - sy;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code,
color,
flipx,flipy,
diff --git a/src/mame/video/vball.c b/src/mame/video/vball.c
index 693633ee850..67a720b1b10 100644
--- a/src/mame/video/vball.c
+++ b/src/mame/video/vball.c
@@ -29,7 +29,7 @@ TILE_GET_INFO_MEMBER(vball_state::get_bg_tile_info)
{
UINT8 code = m_vb_videoram[tile_index];
UINT8 attr = m_vb_attribram[tile_index];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + ((attr & 0x1f) << 8) + (m_gfxset<<8),
(attr >> 5) & 0x7,
@@ -107,7 +107,7 @@ void vball_state::vb_mark_all_dirty( )
void vball_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
UINT8 *src = m_spriteram;
int i;
diff --git a/src/mame/video/videopin.c b/src/mame/video/videopin.c
index 5900790afa1..3b991614c56 100644
--- a/src/mame/video/videopin.c
+++ b/src/mame/video/videopin.c
@@ -21,7 +21,7 @@ TILE_GET_INFO_MEMBER(videopin_state::get_tile_info)
{
UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, (code & 0x40) ? TILE_FLIPY : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, (code & 0x40) ? TILE_FLIPY : 0);
}
@@ -68,7 +68,7 @@ UINT32 videopin_state::screen_update_videopin(screen_device &screen, bitmap_ind1
{
for (j = 0; j < 2; j++)
{
- machine().gfx[1]->transpen(bitmap,rect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,rect,
0, 0,
0, 0,
x + 16 * i,
diff --git a/src/mame/video/vigilant.c b/src/mame/video/vigilant.c
index 8b92863740d..1b4aa73d763 100644
--- a/src/mame/video/vigilant.c
+++ b/src/mame/video/vigilant.c
@@ -56,7 +56,7 @@ void vigilant_state::update_background()
{
for( col=0; col<512; col+=32 )
{
- machine().gfx[2]->opaque(*m_bg_bitmap,
+ m_gfxdecode->gfx(2)->opaque(*m_bg_bitmap,
m_bg_bitmap->cliprect(),
charcode,
row < 128 ? 0 : 1,
@@ -181,7 +181,7 @@ void vigilant_state::draw_foreground(bitmap_ind16 &bitmap, const rectangle &clip
{
sx = (sx + scroll) & 0x1ff;
- machine().gfx[0]->transmask(bitmap,bottomvisiblearea,
+ m_gfxdecode->gfx(0)->transmask(bitmap,bottomvisiblearea,
tile_number,
color,
0,0,
@@ -194,7 +194,7 @@ void vigilant_state::draw_foreground(bitmap_ind16 &bitmap, const rectangle &clip
if (sy >= 48)
sx = (sx + scroll) & 0x1ff;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
tile_number,
color,
0,0,
@@ -248,7 +248,7 @@ void vigilant_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
if (flipy) c += h-1-y;
else c += y;
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
c,
color,
flipx,flipy,
@@ -270,7 +270,7 @@ UINT32 vigilant_state::screen_update_kikcubic(screen_device &screen, bitmap_ind1
int color = (attributes & 0xF0) >> 4;
int tile_number = videoram[offs] | ((attributes & 0x0F) << 8);
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
tile_number,
color,
0,0,
diff --git a/src/mame/video/vindictr.c b/src/mame/video/vindictr.c
index c7d38e6df43..9abd4c23e40 100644
--- a/src/mame/video/vindictr.c
+++ b/src/mame/video/vindictr.c
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(vindictr_state::get_alpha_tile_info)
int code = data & 0x3ff;
int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -32,7 +32,7 @@ TILE_GET_INFO_MEMBER(vindictr_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = (m_playfield_tile_bank * 0x1000) + (data & 0xfff);
int color = 0x10 + 2 * ((data >> 12) & 7);
- SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data >> 15) & 1);
}
diff --git a/src/mame/video/vsystem_spr.c b/src/mame/video/vsystem_spr.c
index 250cb64c1af..50ab1ad059a 100644
--- a/src/mame/video/vsystem_spr.c
+++ b/src/mame/video/vsystem_spr.c
@@ -70,7 +70,8 @@ Abstracts the VS9210
const device_type VSYSTEM_SPR = &device_creator<vsystem_spr_device>;
vsystem_spr_device::vsystem_spr_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, VSYSTEM_SPR, "vsystem_spr_device", tag, owner, clock, "vsystem_spr", __FILE__)
+ : device_t(mconfig, VSYSTEM_SPR, "vsystem_spr_device", tag, owner, clock, "vsystem_spr", __FILE__),
+ m_gfxdecode(*this)
{
m_transpen = 15;
m_pal_base = 0;
@@ -83,6 +84,17 @@ vsystem_spr_device::vsystem_spr_device(const machine_config &mconfig, const char
m_newtilecb = vsystem_tile_indirection_delegate(FUNC(vsystem_spr_device::tile_callback_noindirect), this);
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void vsystem_spr_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<vsystem_spr_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
UINT32 vsystem_spr_device::tile_callback_noindirect(UINT32 tile)
{
return tile;
@@ -195,7 +207,7 @@ void vsystem_spr_device::get_sprite_attributes(UINT16* ram)
void vsystem_spr_device::common_sprite_drawgfx( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap)
{
- gfx_element *gfx = machine.gfx[m_gfx_region];
+ gfx_element *gfx = m_gfxdecode->gfx(m_gfx_region);
int priority_mask = 0x00;
curr_sprite.oy += m_yoffs;
diff --git a/src/mame/video/vsystem_spr.h b/src/mame/video/vsystem_spr.h
index 8cfbc2989b9..71c0c4cd7f0 100644
--- a/src/mame/video/vsystem_spr.h
+++ b/src/mame/video/vsystem_spr.h
@@ -13,6 +13,8 @@ typedef device_delegate<UINT32 (UINT32)> vsystem_tile_indirection_delegate;
vsystem_spr_device::set_pal_mask(*device, _palmask);
#define MCFG_VSYSTEM_SPR_SET_TRANSPEN( _transpen ) \
vsystem_spr_device::CG10103_set_transpen(*device, _transpen);
+#define MCFG_VSYSTEM_SPR_GFXDECODE(_gfxtag) \
+ vsystem_spr_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
/*** CG10103 **********************************************/
@@ -21,6 +23,8 @@ class vsystem_spr_device : public device_t
public:
vsystem_spr_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void set_offsets(device_t &device, int xoffs, int yoffs);
static void set_pdraw(device_t &device, bool pdraw);
static void set_tile_indirect_cb(device_t &device,vsystem_tile_indirection_delegate newtilecb);
@@ -68,7 +72,7 @@ protected:
private:
-
+ required_device<gfxdecode_device> m_gfxdecode;
};
diff --git a/src/mame/video/vsystem_spr2.c b/src/mame/video/vsystem_spr2.c
index 0e6bdbea2dd..5cbe70b9b82 100644
--- a/src/mame/video/vsystem_spr2.c
+++ b/src/mame/video/vsystem_spr2.c
@@ -28,7 +28,8 @@
const device_type VSYSTEM_SPR2 = &device_creator<vsystem_spr2_device>;
vsystem_spr2_device::vsystem_spr2_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, VSYSTEM_SPR2, "vsystem_spr2_device", tag, owner, clock, "vsystem_spr2", __FILE__)
+ : device_t(mconfig, VSYSTEM_SPR2, "vsystem_spr2_device", tag, owner, clock, "vsystem_spr2", __FILE__),
+ m_gfxdecode(*this)
{
m_newtilecb = vsystem_tile2_indirection_delegate(FUNC(vsystem_spr2_device::tile_callback_noindirect), this);
m_pritype = 0; // hack until we have better handling
@@ -37,6 +38,16 @@ vsystem_spr2_device::vsystem_spr2_device(const machine_config &mconfig, const ch
m_yoffs = 0;
}
+//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void vsystem_spr2_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<vsystem_spr2_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
void vsystem_spr2_device::set_tile_indirect_cb(device_t &device,vsystem_tile2_indirection_delegate newtilecb)
{
vsystem_spr2_device &dev = downcast<vsystem_spr2_device &>(device);
@@ -202,17 +213,17 @@ void vsystem_spr2_device::turbofrc_draw_sprites_common( UINT16* spriteram3, int
if (m_pritype == 0 || m_pritype == 1 || m_pritype == 2) // pdrawgfx cases
{
- machine.gfx[m_gfx_region]->prio_zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x000,sy-0x000, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, priority_bitmap,usepri,15);
- machine.gfx[m_gfx_region]->prio_zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x200,sy-0x000, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, priority_bitmap,usepri,15);
- machine.gfx[m_gfx_region]->prio_zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x000,sy-0x200, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, priority_bitmap,usepri,15);
- machine.gfx[m_gfx_region]->prio_zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x200,sy-0x200, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, priority_bitmap,usepri,15);
+ m_gfxdecode->gfx(m_gfx_region)->prio_zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x000,sy-0x000, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, priority_bitmap,usepri,15);
+ m_gfxdecode->gfx(m_gfx_region)->prio_zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x200,sy-0x000, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, priority_bitmap,usepri,15);
+ m_gfxdecode->gfx(m_gfx_region)->prio_zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x000,sy-0x200, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, priority_bitmap,usepri,15);
+ m_gfxdecode->gfx(m_gfx_region)->prio_zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x200,sy-0x200, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11, priority_bitmap,usepri,15);
}
else // drawgfx cases (welltris, pipedrm)
{
- machine.gfx[m_gfx_region]->zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x000,sy-0x000, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11,15);
- machine.gfx[m_gfx_region]->zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x200,sy-0x000, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11,15);
- machine.gfx[m_gfx_region]->zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x000,sy-0x200, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11,15);
- machine.gfx[m_gfx_region]->zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x200,sy-0x200, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11,15);
+ m_gfxdecode->gfx(m_gfx_region)->zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x000,sy-0x000, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11,15);
+ m_gfxdecode->gfx(m_gfx_region)->zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x200,sy-0x000, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11,15);
+ m_gfxdecode->gfx(m_gfx_region)->zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x000,sy-0x200, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11,15);
+ m_gfxdecode->gfx(m_gfx_region)->zoom_transpen(bitmap,cliprect, curr, curr_sprite.color, curr_sprite.flipx,curr_sprite.flipy, sx-0x200,sy-0x200, curr_sprite.zoomx << 11, curr_sprite.zoomy << 11,15);
}
}
diff --git a/src/mame/video/vsystem_spr2.h b/src/mame/video/vsystem_spr2.h
index 174814d0e58..519dc53cd0f 100644
--- a/src/mame/video/vsystem_spr2.h
+++ b/src/mame/video/vsystem_spr2.h
@@ -10,12 +10,16 @@ typedef device_delegate<UINT32 (UINT32)> vsystem_tile2_indirection_delegate;
vsystem_spr2_device::set_gfx_region(*device, _rgn);
#define MCFG_VSYSTEM_SPR2_SET_OFFSETS( _xoffs, _yoffs ) \
vsystem_spr2_device::set_offsets(*device, _xoffs,_yoffs);
+#define MCFG_VSYSTEM_SPR2_GFXDECODE(_gfxtag) \
+ vsystem_spr2_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
class vsystem_spr2_device : public device_t
{
public:
vsystem_spr2_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
static void set_tile_indirect_cb(device_t &device,vsystem_tile2_indirection_delegate newtilecb);
static void set_pritype(device_t &device, int pritype);
static void set_gfx_region(device_t &device, int gfx_region);
@@ -58,7 +62,7 @@ protected:
private:
-
+ required_device<gfxdecode_device> m_gfxdecode;
};
diff --git a/src/mame/video/vulgus.c b/src/mame/video/vulgus.c
index 50e359349eb..193db8574ca 100644
--- a/src/mame/video/vulgus.c
+++ b/src/mame/video/vulgus.c
@@ -52,20 +52,20 @@ void vulgus_state::palette_init()
/* 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 < m_gfxdecode->gfx(0)->colors() * m_gfxdecode->gfx(0)->granularity();i++)
+ colortable_entry_set_value(machine().colortable, m_gfxdecode->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 < m_gfxdecode->gfx(2)->colors() * m_gfxdecode->gfx(2)->granularity();i++)
+ colortable_entry_set_value(machine().colortable, m_gfxdecode->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 < m_gfxdecode->gfx(1)->colors() * m_gfxdecode->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, m_gfxdecode->gfx(1)->colorbase() + 0*32*8 + i, *color_prom);
+ colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(1)->colorbase() + 1*32*8 + i, *color_prom + 64);
+ colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(1)->colorbase() + 2*32*8 + i, *color_prom + 128);
+ colortable_entry_set_value(machine().colortable, m_gfxdecode->gfx(1)->colorbase() + 3*32*8 + i, *color_prom + 192);
color_prom++;
}
}
@@ -83,7 +83,7 @@ TILE_GET_INFO_MEMBER(vulgus_state::get_fg_tile_info)
code = m_fgvideoram[tile_index];
color = m_fgvideoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code + ((color & 0x80) << 1),
color & 0x3f,
@@ -97,7 +97,7 @@ TILE_GET_INFO_MEMBER(vulgus_state::get_bg_tile_info)
code = m_bgvideoram[tile_index];
color = m_bgvideoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code + ((color & 0x80) << 1),
(color & 0x1f) + (0x20 * m_palette_bank),
@@ -116,7 +116,7 @@ void vulgus_state::video_start()
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, m_fg_tilemap, machine().gfx[0], 47);
+ colortable_configure_tilemap_groups(machine().colortable, m_fg_tilemap, m_gfxdecode->gfx(0), 47);
}
@@ -194,14 +194,14 @@ void vulgus_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
do
{
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code + i,
col,
flip_screen(),flip_screen(),
sx, sy + 16 * i * dir,15);
/* draw again with wraparound */
- machine().gfx[2]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
code + i,
col,
flip_screen(),flip_screen(),
diff --git a/src/mame/video/warpwarp.c b/src/mame/video/warpwarp.c
index 2410fbfc5f8..19925648db6 100644
--- a/src/mame/video/warpwarp.c
+++ b/src/mame/video/warpwarp.c
@@ -129,7 +129,7 @@ TILE_GET_INFO_MEMBER(warpwarp_state::geebee_get_tile_info)
{
int code = m_geebee_videoram[tile_index];
int color = (m_geebee_bgw & 1) | ((code & 0x80) >> 6);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -140,7 +140,7 @@ TILE_GET_INFO_MEMBER(warpwarp_state::navarone_get_tile_info)
{
int code = m_geebee_videoram[tile_index];
int color = m_geebee_bgw & 1;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -149,7 +149,7 @@ TILE_GET_INFO_MEMBER(warpwarp_state::navarone_get_tile_info)
TILE_GET_INFO_MEMBER(warpwarp_state::warpwarp_get_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index],
m_videoram[tile_index + 0x400],
diff --git a/src/mame/video/warriorb.c b/src/mame/video/warriorb.c
index 07f402509b9..1a34942668a 100644
--- a/src/mame/video/warriorb.c
+++ b/src/mame/video/warriorb.c
@@ -61,7 +61,7 @@ void warriorb_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
if (x > 0x3c0) x -= 0x400;
if (y > 0x180) y -= 0x200;
- machine().gfx[0]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect,
tilenum,
color,
flipx,flipy,
diff --git a/src/mame/video/wc90.c b/src/mame/video/wc90.c
index f6590570b9f..ab400827649 100644
--- a/src/mame/video/wc90.c
+++ b/src/mame/video/wc90.c
@@ -13,7 +13,7 @@ TILE_GET_INFO_MEMBER(wc90_state::get_bg_tile_info)
int attr = m_bgvideoram[tile_index];
int tile = m_bgvideoram[tile_index + 0x800] +
256 * ((attr & 3) + ((attr >> 1) & 4));
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile,
attr >> 4,
@@ -25,7 +25,7 @@ TILE_GET_INFO_MEMBER(wc90_state::get_fg_tile_info)
int attr = m_fgvideoram[tile_index];
int tile = m_fgvideoram[tile_index + 0x800] +
256 * ((attr & 3) + ((attr >> 1) & 4));
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile,
attr >> 4,
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(wc90_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(wc90_state::get_tx_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_txvideoram[tile_index + 0x800] + ((m_txvideoram[tile_index] & 0x07) << 8),
m_txvideoram[tile_index] >> 4,
@@ -46,7 +46,7 @@ TILE_GET_INFO_MEMBER(wc90_state::track_get_bg_tile_info)
int attr = m_bgvideoram[tile_index];
int tile = m_bgvideoram[tile_index + 0x800] +
256 * (attr & 7);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tile,
attr >> 4,
@@ -58,7 +58,7 @@ TILE_GET_INFO_MEMBER(wc90_state::track_get_fg_tile_info)
int attr = m_fgvideoram[tile_index];
int tile = m_fgvideoram[tile_index + 0x800] +
256 * (attr & 7);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
tile,
attr >> 4,
@@ -126,7 +126,7 @@ WRITE8_MEMBER(wc90_state::wc90_txvideoram_w)
***************************************************************************/
#define WC90_DRAW_SPRITE( code, sx, sy ) \
- machine().gfx[3]->transpen(bitmap,cliprect, code, flags >> 4, \
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect, code, flags >> 4, \
bank&1, bank&2, sx, sy, 0 )
static const char p32x32[4][4] = {
diff --git a/src/mame/video/wc90b.c b/src/mame/video/wc90b.c
index 1350d643337..d7af209f59d 100644
--- a/src/mame/video/wc90b.c
+++ b/src/mame/video/wc90b.c
@@ -12,7 +12,7 @@ TILE_GET_INFO_MEMBER(wc90b_state::get_bg_tile_info)
{
int attr = m_bgvideoram[tile_index];
int tile = m_bgvideoram[tile_index + 0x800];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
9 + ((attr & 3) + ((attr >> 1) & 4)),
tile,
attr >> 4,
@@ -23,7 +23,7 @@ TILE_GET_INFO_MEMBER(wc90b_state::get_fg_tile_info)
{
int attr = m_fgvideoram[tile_index];
int tile = m_fgvideoram[tile_index + 0x800];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1 + ((attr & 3) + ((attr >> 1) & 4)),
tile,
attr >> 4,
@@ -32,7 +32,7 @@ TILE_GET_INFO_MEMBER(wc90b_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(wc90b_state::get_tx_tile_info)
{
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_txvideoram[tile_index + 0x800] + ((m_txvideoram[tile_index] & 0x07) << 8),
m_txvideoram[tile_index] >> 4,
@@ -114,7 +114,7 @@ void wc90b_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
sy = 240 - spriteram[offs + 1];
- machine().gfx[17]->transpen(bitmap,cliprect, code,
+ m_gfxdecode->gfx(17)->transpen(bitmap,cliprect, code,
flags >> 4, /* color */
bank & 1, /* flipx */
bank & 2, /* flipy */
diff --git a/src/mame/video/wecleman.c b/src/mame/video/wecleman.c
index 5ea2161deee..522dd9fed49 100644
--- a/src/mame/video/wecleman.c
+++ b/src/mame/video/wecleman.c
@@ -419,7 +419,7 @@ static void sprite_draw(running_machine &machine, _BitmapClass &bitmap, const re
TILE_GET_INFO_MEMBER(wecleman_state::wecleman_get_txt_tile_info)
{
int code = m_txtram[tile_index];
- SET_TILE_INFO_MEMBER(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
}
WRITE16_MEMBER(wecleman_state::wecleman_txtram_w)
@@ -467,7 +467,7 @@ TILE_GET_INFO_MEMBER(wecleman_state::wecleman_get_bg_tile_info)
int page = m_bgpage[((tile_index&0x7f)>>6) + ((tile_index>>12)<<1)];
int code = m_pageram[(tile_index&0x3f) + ((tile_index>>7&0x1f)<<6) + (page<<11)];
- SET_TILE_INFO_MEMBER(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
}
/*------------------------------------------------------------------------
@@ -480,7 +480,7 @@ TILE_GET_INFO_MEMBER(wecleman_state::wecleman_get_fg_tile_info)
int code = m_pageram[(tile_index&0x3f) + ((tile_index>>7&0x1f)<<6) + (page<<11)];
if (!code || code==0xffff) code = 0x20;
- SET_TILE_INFO_MEMBER(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
}
/*------------------------------------------------------------------------
@@ -606,14 +606,14 @@ static void wecleman_draw_road(running_machine &machine, bitmap_rgb32 &bitmap, c
if ((road>>8) != 0x04) continue;
road &= YMASK;
- src_ptr = machine.gfx[1]->get_data((road << 3));
- machine.gfx[1]->get_data((road << 3) + 1);
- machine.gfx[1]->get_data((road << 3) + 2);
- machine.gfx[1]->get_data((road << 3) + 3);
- machine.gfx[1]->get_data((road << 3) + 4);
- machine.gfx[1]->get_data((road << 3) + 5);
- machine.gfx[1]->get_data((road << 3) + 6);
- machine.gfx[1]->get_data((road << 3) + 7);
+ src_ptr = state->m_gfxdecode->gfx(1)->get_data((road << 3));
+ state->m_gfxdecode->gfx(1)->get_data((road << 3) + 1);
+ state->m_gfxdecode->gfx(1)->get_data((road << 3) + 2);
+ state->m_gfxdecode->gfx(1)->get_data((road << 3) + 3);
+ state->m_gfxdecode->gfx(1)->get_data((road << 3) + 4);
+ state->m_gfxdecode->gfx(1)->get_data((road << 3) + 5);
+ state->m_gfxdecode->gfx(1)->get_data((road << 3) + 6);
+ state->m_gfxdecode->gfx(1)->get_data((road << 3) + 7);
mdy = ((road * MIDCURB_DY) >> 8) * bitmap.rowpixels();
tdy = ((road * TOPCURB_DY) >> 8) * bitmap.rowpixels();
@@ -810,7 +810,7 @@ static void hotchase_draw_road(running_machine &machine, bitmap_ind16 &bitmap, c
for (sx=0; sx<2*XSIZE; sx+=64)
{
- machine.gfx[0]->transpen(bitmap,cliprect,
+ state->m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
code++,
color,
0,0,
@@ -962,7 +962,7 @@ VIDEO_START_MEMBER(wecleman_state,wecleman)
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 *>(m_gfxdecode->gfx(0)->get_data(0xaca)+7) = 0;
}
// Callbacks for the K051316
@@ -1072,7 +1072,7 @@ UINT32 wecleman_state::screen_update_wecleman(screen_device &screen, bitmap_rgb3
if (video_on)
draw_cloud(
bitmap,
- machine().gfx[0],
+ m_gfxdecode->gfx(0),
m_pageram+0x1800,
BMP_PAD, BMP_PAD,
41, 20,
diff --git a/src/mame/video/welltris.c b/src/mame/video/welltris.c
index b7a1f383535..17b9fa22ed9 100644
--- a/src/mame/video/welltris.c
+++ b/src/mame/video/welltris.c
@@ -57,7 +57,7 @@ TILE_GET_INFO_MEMBER(welltris_state::get_welltris_tile_info)
UINT16 code = m_charvideoram[tile_index];
int bank = (code & 0x1000) >> 12;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
(code & 0x0fff) + (m_gfxbank[bank] << 12),
((code & 0xe000) >> 13) + (8 * m_charpalettebank),
diff --git a/src/mame/video/wgp.c b/src/mame/video/wgp.c
index 8b3f5455732..9791c57af7d 100644
--- a/src/mame/video/wgp.c
+++ b/src/mame/video/wgp.c
@@ -9,7 +9,7 @@ inline void wgp_state::common_get_piv_tile_info( tile_data &tileinfo, int tile_i
UINT16 tilenum = m_pivram[tile_index + num * 0x1000]; /* 3 blocks of $2000 */
UINT16 attr = m_pivram[tile_index + num * 0x1000 + 0x8000]; /* 3 blocks of $2000 */
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tilenum & 0x3fff,
(attr & 0x3f), /* attr & 0x1 ?? */
@@ -346,7 +346,7 @@ void wgp_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const
UINT8 small_sprite, col, flipx, flipy;
UINT16 code, bigsprite, map_index;
// UINT16 rotate = 0;
- UINT16 tile_mask = (machine().gfx[0]->elements()) - 1;
+ UINT16 tile_mask = (m_gfxdecode->gfx(0)->elements()) - 1;
static const int primasks[2] = {0x0, 0xfffc}; /* fff0 => under rhs of road only */
for (offs = 0x1ff; offs >= 0; offs--)
@@ -418,7 +418,7 @@ void wgp_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const
zx = x + (((k + 1) * zoomx) / 2) - curx;
zy = y + (((j + 1) * zoomy) / 2) - cury;
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
code,
col,
flipx, flipy,
@@ -449,7 +449,7 @@ void wgp_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const
zx = x + (((k + 1) * zoomx) / 4) - curx;
zy = y + (((j + 1) * zoomy) / 4) - cury;
- machine().gfx[0]->prio_zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->prio_zoom_transpen(bitmap,cliprect,
code,
col,
flipx, flipy,
diff --git a/src/mame/video/williams.c b/src/mame/video/williams.c
index 14679f3d43c..b160b127d33 100644
--- a/src/mame/video/williams.c
+++ b/src/mame/video/williams.c
@@ -354,7 +354,7 @@ READ8_MEMBER(williams_state::williams2_video_counter_r)
TILE_GET_INFO_MEMBER(williams_state::get_tile_info)
{
- int mask = machine().gfx[0]->elements() - 1;
+ int mask = m_gfxdecode->gfx(0)->elements() - 1;
int data = m_williams2_tileram[tile_index];
int y = (tile_index >> 1) & 7;
int color = 0;
@@ -382,7 +382,7 @@ TILE_GET_INFO_MEMBER(williams_state::get_tile_info)
break;
}
- SET_TILE_INFO_MEMBER(0, data & mask, color, (data & ~mask) ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, data & mask, color, (data & ~mask) ? TILE_FLIPX : 0);
}
diff --git a/src/mame/video/wiping.c b/src/mame/video/wiping.c
index 9571fb17c56..1a9db9848a2 100644
--- a/src/mame/video/wiping.c
+++ b/src/mame/video/wiping.c
@@ -120,7 +120,7 @@ UINT32 wiping_state::screen_update_wiping(screen_device &screen, bitmap_ind16 &b
sy = 27 - sy;
}
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
m_videoram[offs],
m_colorram[offs] & 0x3f,
m_flipscreen,m_flipscreen,
@@ -148,12 +148,12 @@ UINT32 wiping_state::screen_update_wiping(screen_device &screen, bitmap_ind16 &b
flipy = !flipy;
}
- machine().gfx[1]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transmask(bitmap,cliprect,
(spriteram[offs] & 0x3f) + 64 * otherbank,
color,
flipx,flipy,
sx,sy,
- colortable_get_transpen_mask(machine().colortable, machine().gfx[1], color, 0x1f));
+ colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(1), color, 0x1f));
}
/* redraw high priority chars */
@@ -188,7 +188,7 @@ UINT32 wiping_state::screen_update_wiping(screen_device &screen, bitmap_ind16 &b
sy = 27 - sy;
}
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
m_videoram[offs],
m_colorram[offs] & 0x3f,
m_flipscreen,m_flipscreen,
diff --git a/src/mame/video/wiz.c b/src/mame/video/wiz.c
index 0e439f59561..caef08cd348 100644
--- a/src/mame/video/wiz.c
+++ b/src/mame/video/wiz.c
@@ -124,7 +124,7 @@ void wiz_state::draw_background(bitmap_ind16 &bitmap, const rectangle &cliprect,
if (m_flipx) sx = 31 - sx;
- machine().gfx[bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transpen(bitmap,cliprect,
videoram[offs],
col + 8 * m_palette_bank,
m_flipx,m_flipy,
@@ -162,7 +162,7 @@ void wiz_state::draw_foreground(bitmap_ind16 &bitmap, const rectangle &cliprect,
if (m_flipx) sx = 31 - sx;
- machine().gfx[m_char_bank[1]]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(m_char_bank[1])->transpen(bitmap,cliprect,
m_videoram2[offs],
col + 8 * m_palette_bank,
m_flipx,m_flipy,
@@ -187,7 +187,7 @@ void wiz_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect, UIN
if ( m_flipx) sx = 240 - sx;
if (!m_flipy) sy = 240 - sy;
- machine().gfx[bank]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transpen(bitmap,cliprect,
sprite_ram[offs + 1],
(sprite_ram[offs + 2] & 0x07) + 8 * m_palette_bank,
m_flipx,m_flipy,
diff --git a/src/mame/video/wolfpack.c b/src/mame/video/wolfpack.c
index dc2208d236f..bc18e4fe7d8 100644
--- a/src/mame/video/wolfpack.c
+++ b/src/mame/video/wolfpack.c
@@ -143,7 +143,7 @@ void wolfpack_state::draw_ship(bitmap_ind16 &bitmap, const rectangle &cliprect)
int chop = (scaler[m_ship_size >> 2] * m_ship_h_precess) >> 16;
- machine().gfx[1]->zoom_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->zoom_transpen(bitmap,cliprect,
m_ship_pic,
0,
m_ship_reflect, 0,
@@ -161,7 +161,7 @@ void wolfpack_state::draw_torpedo(bitmap_ind16 &bitmap, const rectangle &cliprec
int y;
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
m_torpedo_pic,
0,
0, 0,
@@ -197,7 +197,7 @@ void wolfpack_state::draw_pt(bitmap_ind16 &bitmap, const rectangle &cliprect)
rect.max_x = 255;
- machine().gfx[2]->transpen(bitmap,rect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,rect,
m_pt_pic,
0,
0, 0,
@@ -205,7 +205,7 @@ void wolfpack_state::draw_pt(bitmap_ind16 &bitmap, const rectangle &cliprect)
m_pt_pos_select ? 0x70 : 0xA0, 0);
- machine().gfx[2]->transpen(bitmap,rect,
+ m_gfxdecode->gfx(2)->transpen(bitmap,rect,
m_pt_pic,
0,
0, 0,
@@ -258,7 +258,7 @@ UINT32 wolfpack_state::screen_update_wolfpack(screen_device &screen, bitmap_ind1
int code = m_alpha_num_ram[32 * i + j];
- machine().gfx[0]->opaque(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,
code,
m_video_invert,
0, 0,
diff --git a/src/mame/video/wrally.c b/src/mame/video/wrally.c
index 64c1803fcf8..ca21b585b19 100644
--- a/src/mame/video/wrally.c
+++ b/src/mame/video/wrally.c
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(wrally_state::get_tile_info_wrally_screen0)
tileinfo.category = (data2 >> 5) & 0x01;
- SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
}
TILE_GET_INFO_MEMBER(wrally_state::get_tile_info_wrally_screen1)
@@ -53,7 +53,7 @@ TILE_GET_INFO_MEMBER(wrally_state::get_tile_info_wrally_screen1)
tileinfo.category = (data2 >> 5) & 0x01;
- SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
}
/***************************************************************************
@@ -104,7 +104,7 @@ void wrally_state::video_start()
void wrally_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int priority)
{
int i, px, py;
- gfx_element *gfx = machine().gfx[0];
+ gfx_element *gfx = m_gfxdecode->gfx(0);
for (i = 6/2; i < (0x1000 - 6)/2; i += 4) {
int sx = m_spriteram[i+2] & 0x03ff;
diff --git a/src/mame/video/wwfsstar.c b/src/mame/video/wwfsstar.c
index ce9d603bb8a..f31d4a251ac 100644
--- a/src/mame/video/wwfsstar.c
+++ b/src/mame/video/wwfsstar.c
@@ -55,7 +55,7 @@ TILE_GET_INFO_MEMBER(wwfsstar_state::get_fg0_tile_info)
tilebase = &m_fg0_videoram[tile_index*2];
tileno = (tilebase[1] & 0x00ff) | ((tilebase[0] & 0x000f) << 8);
colbank = (tilebase[0] & 0x00f0) >> 4;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
tileno,
colbank,
@@ -92,7 +92,7 @@ TILE_GET_INFO_MEMBER(wwfsstar_state::get_bg0_tile_info)
tileno = (tilebase[1] & 0x00ff) | ((tilebase[0] & 0x000f) << 8);
colbank = (tilebase[0] & 0x0070) >> 4;
flipx = (tilebase[0] & 0x0080) >> 7;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
tileno,
colbank,
@@ -128,7 +128,7 @@ void wwfsstar_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
**- End of Comments -*/
- gfx_element *gfx = machine().gfx[1];
+ gfx_element *gfx = m_gfxdecode->gfx(1);
UINT16 *source = m_spriteram;
UINT16 *finish = source + 0x3ff/2;
diff --git a/src/mame/video/xain.c b/src/mame/video/xain.c
index 275cb9ba065..e141d21f143 100644
--- a/src/mame/video/xain.c
+++ b/src/mame/video/xain.c
@@ -49,7 +49,7 @@ TILEMAP_MAPPER_MEMBER(xain_state::back_scan)
TILE_GET_INFO_MEMBER(xain_state::get_bgram0_tile_info)
{
int attr = m_bgram0[tile_index | 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
2,
m_bgram0[tile_index] | ((attr & 7) << 8),
(attr & 0x70) >> 4,
@@ -59,7 +59,7 @@ TILE_GET_INFO_MEMBER(xain_state::get_bgram0_tile_info)
TILE_GET_INFO_MEMBER(xain_state::get_bgram1_tile_info)
{
int attr = m_bgram1[tile_index | 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
m_bgram1[tile_index] | ((attr & 7) << 8),
(attr & 0x70) >> 4,
@@ -69,7 +69,7 @@ TILE_GET_INFO_MEMBER(xain_state::get_bgram1_tile_info)
TILE_GET_INFO_MEMBER(xain_state::get_char_tile_info)
{
int attr = m_charram[tile_index | 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_charram[tile_index] | ((attr & 3) << 8),
(attr & 0xe0) >> 5,
@@ -185,12 +185,12 @@ void xain_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
if (attr & 0x80) /* double height */
{
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
numtile,
color,
flipx,flipy,
sx,flipy ? sy+16:sy-16,0);
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
numtile+1,
color,
flipx,flipy,
@@ -198,7 +198,7 @@ void xain_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
}
else
{
- machine().gfx[3]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(3)->transpen(bitmap,cliprect,
numtile,
color,
flipx,flipy,
diff --git a/src/mame/video/xevious.c b/src/mame/video/xevious.c
index 239e917d538..8b2fa60397e 100644
--- a/src/mame/video/xevious.c
+++ b/src/mame/video/xevious.c
@@ -28,7 +28,7 @@ PALETTE_INIT_MEMBER(xevious_state,xevious)
{
const UINT8 *color_prom = memregion("proms")->base();
int i;
- #define TOTAL_COLORS(gfxn) (machine().gfx[gfxn]->colors() * machine().gfx[gfxn]->granularity())
+ #define TOTAL_COLORS(gfxn) (m_gfxdecode->gfx(gfxn)->colors() *m_gfxdecode->gfx(gfxn)->granularity())
machine().colortable = colortable_alloc(machine(), 128+1);
@@ -69,7 +69,7 @@ PALETTE_INIT_MEMBER(xevious_state,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, m_gfxdecode->gfx(1)->colorbase() + i,
(color_prom[0] & 0x0f) | ((color_prom[TOTAL_COLORS(1)] & 0x0f) << 4));
color_prom++;
@@ -81,7 +81,7 @@ PALETTE_INIT_MEMBER(xevious_state,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, m_gfxdecode->gfx(2)->colorbase() + i,
(c & 0x80) ? (c & 0x7f) : 0x80);
color_prom++;
@@ -91,7 +91,7 @@ PALETTE_INIT_MEMBER(xevious_state,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, m_gfxdecode->gfx(0)->colorbase() + i,
(i % 2 != 0) ? (i / 2) : 0x80);
}
}
@@ -142,7 +142,7 @@ PALETTE_INIT_MEMBER(xevious_state,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, m_gfxdecode->gfx(1)->colorbase() + i,
(color_prom[0] & 0x0f) | ((color_prom[0x400] & 0x0f) << 4));
color_prom++;
@@ -154,7 +154,7 @@ PALETTE_INIT_MEMBER(xevious_state,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, m_gfxdecode->gfx(2)->colorbase() + i,
(c & 0x80) ? (c & 0x7f) : 0x80);
color_prom++;
@@ -163,7 +163,7 @@ PALETTE_INIT_MEMBER(xevious_state,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, m_gfxdecode->gfx(0)->colorbase() + i,
(i % 2 != 0) ? (i / 2) : 0x80);
}
}
@@ -186,7 +186,7 @@ TILE_GET_INFO_MEMBER(xevious_state::get_fg_tile_info)
We reproduce this here, but since the tilemap system automatically flips
characters when screen is flipped, we have to flip them back. */
UINT8 color = ((attr & 0x03) << 4) | ((attr & 0x3c) >> 2);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_xevious_fg_videoram[tile_index] | (flip_screen() ? 0x100 : 0),
color,
@@ -198,7 +198,7 @@ TILE_GET_INFO_MEMBER(xevious_state::get_bg_tile_info)
UINT8 code = m_xevious_bg_videoram[tile_index];
UINT8 attr = m_xevious_bg_colorram[tile_index];
UINT8 color = ((attr & 0x3c) >> 2) | ((code & 0x80) >> 3) | ((attr & 0x03) << 5);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code + ((attr & 0x01) << 8),
color,
@@ -434,41 +434,41 @@ void xevious_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
flipy = !flipy;
}
- transmask = colortable_get_transpen_mask(machine().colortable, machine().gfx[bank], color, 0x80);
+ transmask = colortable_get_transpen_mask(machine().colortable, m_gfxdecode->gfx(bank), color, 0x80);
if (spriteram_3[offs] & 2) /* double height (?) */
{
if (spriteram_3[offs] & 1) /* double width, double height */
{
code &= ~3;
- machine().gfx[bank]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transmask(bitmap,cliprect,
code+3,color,flipx,flipy,
flipx ? sx : sx+16,flipy ? sy-16 : sy,transmask);
- machine().gfx[bank]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transmask(bitmap,cliprect,
code+1,color,flipx,flipy,
flipx ? sx : sx+16,flipy ? sy : sy-16,transmask);
}
code &= ~2;
- machine().gfx[bank]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transmask(bitmap,cliprect,
code+2,color,flipx,flipy,
flipx ? sx+16 : sx,flipy ? sy-16 : sy,transmask);
- machine().gfx[bank]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transmask(bitmap,cliprect,
code,color,flipx,flipy,
flipx ? sx+16 : sx,flipy ? sy : sy-16,transmask);
}
else if (spriteram_3[offs] & 1) /* double width */
{
code &= ~1;
- machine().gfx[bank]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transmask(bitmap,cliprect,
code,color,flipx,flipy,
flipx ? sx+16 : sx,flipy ? sy-16 : sy,transmask);
- machine().gfx[bank]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transmask(bitmap,cliprect,
code+1,color,flipx,flipy,
flipx ? sx : sx+16,flipy ? sy-16 : sy,transmask);
}
else /* normal */
{
- machine().gfx[bank]->transmask(bitmap,cliprect,
+ m_gfxdecode->gfx(bank)->transmask(bitmap,cliprect,
code,color,flipx,flipy,sx,sy,transmask);
}
}
diff --git a/src/mame/video/xorworld.c b/src/mame/video/xorworld.c
index 69429c594f8..d6a7748afd1 100644
--- a/src/mame/video/xorworld.c
+++ b/src/mame/video/xorworld.c
@@ -72,7 +72,7 @@ TILE_GET_INFO_MEMBER(xorworld_state::get_bg_tile_info)
int data = videoram[tile_index];
int code = data & 0x0fff;
- SET_TILE_INFO_MEMBER(0, code, data >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, data >> 12, 0);
}
void xorworld_state::video_start()
@@ -106,7 +106,7 @@ void xorworld_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
int code = (spriteram16[i+1] & 0x0ffc) >> 2;
int color = (spriteram16[i+1] & 0xf000) >> 12;
- machine().gfx[1]->transpen(bitmap,cliprect, code, color, 0, 0, sx, sy, 0);
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, code, color, 0, 0, sx, sy, 0);
}
}
diff --git a/src/mame/video/xxmissio.c b/src/mame/video/xxmissio.c
index 42322982171..fdf58538c35 100644
--- a/src/mame/video/xxmissio.c
+++ b/src/mame/video/xxmissio.c
@@ -53,7 +53,7 @@ TILE_GET_INFO_MEMBER(xxmissio_state::get_bg_tile_info)
int code = ((m_bgram[0x400 | tile_index] & 0xc0) << 2) | m_bgram[0x000 | tile_index];
int color = m_bgram[0x400 | tile_index] & 0x0f;
- SET_TILE_INFO_MEMBER(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, 0);
}
TILE_GET_INFO_MEMBER(xxmissio_state::get_fg_tile_info)
@@ -61,7 +61,7 @@ TILE_GET_INFO_MEMBER(xxmissio_state::get_fg_tile_info)
int code = m_fgram[0x000 | tile_index];
int color = m_fgram[0x400 | tile_index] & 0x07;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
void xxmissio_state::video_start()
@@ -136,7 +136,7 @@ UINT32 xxmissio_state::screen_update_xxmissio(screen_device &screen, bitmap_ind1
m_bg_tilemap->set_scrolly(0, m_yscroll);
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
- draw_sprites(bitmap, cliprect, machine().gfx[1]);
+ draw_sprites(bitmap, cliprect, m_gfxdecode->gfx(1));
m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
diff --git a/src/mame/video/xybots.c b/src/mame/video/xybots.c
index f67a57e10ac..44c494bd82e 100644
--- a/src/mame/video/xybots.c
+++ b/src/mame/video/xybots.c
@@ -25,7 +25,7 @@ TILE_GET_INFO_MEMBER(xybots_state::get_alpha_tile_info)
int code = data & 0x3ff;
int color = (data >> 12) & 7;
int opaque = data & 0x8000;
- SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(xybots_state::get_playfield_tile_info)
UINT16 data = tilemap.basemem_read(tile_index);
int code = data & 0x1fff;
int color = (data >> 11) & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, (data >> 15) & 1);
}
diff --git a/src/mame/video/xyonix.c b/src/mame/video/xyonix.c
index 0aef96f6773..6f734134529 100644
--- a/src/mame/video/xyonix.c
+++ b/src/mame/video/xyonix.c
@@ -38,7 +38,7 @@ TILE_GET_INFO_MEMBER(xyonix_state::get_xyonix_tile_info)
tileno = (m_vidram[tile_index+1] << 0) | ((attr & 0x0f) << 8);
- SET_TILE_INFO_MEMBER(0,tileno,attr >> 4,0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,tileno,attr >> 4,0);
}
WRITE8_MEMBER(xyonix_state::xyonix_vidram_w)
diff --git a/src/mame/video/ygv608.c b/src/mame/video/ygv608.c
index 54adeea151e..fcab3a59c09 100644
--- a/src/mame/video/ygv608.c
+++ b/src/mame/video/ygv608.c
@@ -50,14 +50,19 @@
const device_type YGV608 = &device_creator<ygv608_device>;
ygv608_device::ygv608_device( const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock )
- : device_t(mconfig, YGV608, "YGV608", tag, owner, clock, "ygv608", __FILE__)
+ : device_t(mconfig, YGV608, "YGV608", tag, owner, clock, "ygv608", __FILE__),
+ m_gfxdecode(*this)
{
}
+void ygv608_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<ygv608_device &>(device).m_gfxdecode.set_tag(tag);
+}
void ygv608_device::set_gfxbank(UINT8 gfxbank)
{
- m_namcond1_gfxbank = gfxbank;
+ m_namcond1_gfxbank = gfxbank;
}
/* interrupt generated every 1ms second */
@@ -102,7 +107,7 @@ TILEMAP_MAPPER_MEMBER( ygv608_device::get_tile_offset )
}
#define layout_total(x) \
-(machine().config().m_gfxdecodeinfo[x].gfxlayout->total)
+(m_gfxdecode->gfx(x)->elements())
TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_A_8 )
{
@@ -118,11 +123,11 @@ TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_A_8 )
if( col >= m_page_x )
{
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
else if( row >= m_page_y )
{
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
else
{
@@ -193,7 +198,7 @@ TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_A_8 )
j += m_namcond1_gfxbank * 0x8000;
}
- SET_TILE_INFO_MEMBER( set, j, attr & 0x0F, f );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, j, attr & 0x0F, f );
}
}
@@ -211,15 +216,15 @@ TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_B_8 )
if ((m_regs.s.r7 & r7_md) & MD_1PLANE )
{
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
else if (col >= m_page_x)
{
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
else if (row >= m_page_y)
{
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
else
{
@@ -290,7 +295,7 @@ TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_B_8 )
j += m_namcond1_gfxbank * 0x8000;
}
- SET_TILE_INFO_MEMBER( set, j, attr, f );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, j, attr, f );
}
}
@@ -307,10 +312,10 @@ TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_A_16 )
int base = row >> m_base_y_shift;
if( col >= m_page_x ) {
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
else if( row >= m_page_y ) {
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
else {
int sx, sy, page;
@@ -379,7 +384,7 @@ TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_A_16 )
}
- SET_TILE_INFO_MEMBER( set, j, attr, f );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, j, attr, f );
}
}
@@ -396,13 +401,13 @@ TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_B_16 )
int base = row >> m_base_y_shift;
if((m_regs.s.r7 & r7_md) & MD_1PLANE ) {
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
if( col >= m_page_x ) {
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
else if( row >= m_page_y ) {
- SET_TILE_INFO_MEMBER( set, 0, 0, 0 );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, 0, 0, 0 );
}
else {
int sx, sy, page;
@@ -469,7 +474,7 @@ TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_B_16 )
j += m_namcond1_gfxbank * 0x2000;
}
- SET_TILE_INFO_MEMBER( set, j, attr, f );
+ SET_TILE_INFO_MEMBER(m_gfxdecode, set, j, attr, f );
}
}
@@ -601,20 +606,20 @@ void ygv608_device::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
logerror( "SZ_8X8: sprite=%d\n", code );
code = 0;
}
- machine().gfx[GFX_8X8_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_8X8_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x10000,
color,
flipx,flipy,
sx,sy,0x00);
// redraw with wrap-around
if( sx > 512-8 )
- machine().gfx[GFX_8X8_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_8X8_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x10000,
color,
flipx,flipy,
sx-512,sy,0x00);
if( sy > 512-8 )
- machine().gfx[GFX_8X8_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_8X8_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x10000,
color,
flipx,flipy,
@@ -631,20 +636,20 @@ void ygv608_device::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
logerror( "SZ_8X8: sprite=%d\n", code );
code = 0;
}
- machine().gfx[GFX_16X16_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_16X16_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x4000,
color,
flipx,flipy,
sx,sy,0x00);
// redraw with wrap-around
if( sx > 512-16 )
- machine().gfx[GFX_16X16_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_16X16_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x4000,
color,
flipx,flipy,
sx-512,sy,0x00);
if( sy > 512-16 )
- machine().gfx[GFX_16X16_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_16X16_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x4000,
color,
flipx,flipy,
@@ -661,20 +666,20 @@ void ygv608_device::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
logerror( "SZ_32X32: sprite=%d\n", code );
code = 0;
}
- machine().gfx[GFX_32X32_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_32X32_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x1000,
color,
flipx,flipy,
sx,sy,0x00);
// redraw with wrap-around
if( sx > 512-32 )
- machine().gfx[GFX_32X32_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_32X32_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x1000,
color,
flipx,flipy,
sx-512,sy,0x00);
if( sy > 512-32 )
- machine().gfx[GFX_32X32_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_32X32_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x1000,
color,
flipx,flipy,
@@ -691,20 +696,20 @@ void ygv608_device::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
logerror( "SZ_64X64: sprite=%d\n", code );
code = 0;
}
- machine().gfx[GFX_64X64_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_64X64_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x400,
color,
flipx,flipy,
sx,sy,0x00);
// redraw with wrap-around
if( sx > 512-64 )
- machine().gfx[GFX_64X64_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_64X64_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x400,
color,
flipx,flipy,
sx-512,sy,0x00);
if( sy > 512-64 )
- machine().gfx[GFX_64X64_4BIT]->transpen(bitmap,spriteClip,
+ m_gfxdecode->gfx(GFX_64X64_4BIT)->transpen(bitmap,spriteClip,
code+m_namcond1_gfxbank*0x400,
color,
flipx,flipy,
diff --git a/src/mame/video/ygv608.h b/src/mame/video/ygv608.h
index 72ecae06e02..417534dca34 100644
--- a/src/mame/video/ygv608.h
+++ b/src/mame/video/ygv608.h
@@ -286,6 +286,9 @@ public:
// construction/destruction
ygv608_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
DECLARE_WRITE16_MEMBER( write );
DECLARE_READ16_MEMBER( read );
@@ -370,6 +373,7 @@ private:
UINT8 m_screen_resize; // screen requires resize
UINT8 m_tilemap_resize; // tilemap requires resize
+ required_device<gfxdecode_device> m_gfxdecode;
};
// device type definition
@@ -383,5 +387,7 @@ extern const device_type YGV608;
#define MCFG_YGV608_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, YGV608, 0)
+#define MCFG_YGV608_GFXDECODE(_gfxtag) \
+ ygv608_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
#endif
diff --git a/src/mame/video/yiear.c b/src/mame/video/yiear.c
index 069fe0e9428..79667c5346e 100644
--- a/src/mame/video/yiear.c
+++ b/src/mame/video/yiear.c
@@ -94,7 +94,7 @@ TILE_GET_INFO_MEMBER(yiear_state::get_bg_tile_info)
// int color = (attr & 0xf0) >> 4;
int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x40) ? TILE_FLIPY : 0);
- SET_TILE_INFO_MEMBER(0, code, 0, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, flags);
}
void yiear_state::video_start()
@@ -130,7 +130,7 @@ void yiear_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
code, color,
flipx, flipy,
sx, sy, 0);
diff --git a/src/mame/video/yunsun16.c b/src/mame/video/yunsun16.c
index 821e1049dd0..a3d252ba661 100644
--- a/src/mame/video/yunsun16.c
+++ b/src/mame/video/yunsun16.c
@@ -51,7 +51,7 @@ TILE_GET_INFO_MEMBER(yunsun16_state::get_tile_info_0)
{
UINT16 code = m_vram_0[2 * tile_index + 0];
UINT16 attr = m_vram_0[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
TMAP_GFX,
code,
attr & 0xf,
@@ -62,7 +62,7 @@ TILE_GET_INFO_MEMBER(yunsun16_state::get_tile_info_1)
{
UINT16 code = m_vram_1[2 * tile_index + 0];
UINT16 attr = m_vram_1[2 * tile_index + 1];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
TMAP_GFX,
code,
attr & 0xf,
@@ -171,7 +171,7 @@ void yunsun16_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
flipy = !flipy; y = max_y - y - 16;
}
- machine().gfx[1]->prio_transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
code,
attr & 0x1f,
flipx, flipy,
diff --git a/src/mame/video/yunsung8.c b/src/mame/video/yunsung8.c
index 9687fa3039e..bfbc0f7d059 100644
--- a/src/mame/video/yunsung8.c
+++ b/src/mame/video/yunsung8.c
@@ -134,7 +134,7 @@ TILE_GET_INFO_MEMBER(yunsung8_state::get_tile_info_0)
{
int code = m_videoram_0[0x1000 + tile_index * 2 + 0] + m_videoram_0[0x1000 + tile_index * 2 + 1] * 256;
int color = m_videoram_0[0x0800 + tile_index] & 0x07;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
code,
color,
@@ -150,7 +150,7 @@ TILE_GET_INFO_MEMBER(yunsung8_state::get_tile_info_1)
{
int code = m_videoram_1[0x1000 + tile_index * 2 + 0] + m_videoram_1[0x1000 + tile_index * 2 + 1] * 256;
int color = m_videoram_1[0x0800 + tile_index] & 0x3f;
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
1,
code,
color,
diff --git a/src/mame/video/zac2650.c b/src/mame/video/zac2650.c
index 491a931038a..76dce2a0905 100644
--- a/src/mame/video/zac2650.c
+++ b/src/mame/video/zac2650.c
@@ -30,8 +30,8 @@ READ8_MEMBER(zac2650_state::zac_s2636_r)
WRITE8_MEMBER(zac2650_state::zac_s2636_w)
{
m_s2636_0_ram[offset] = data;
- machine().gfx[1]->mark_dirty(offset/8);
- machine().gfx[2]->mark_dirty(offset/8);
+ m_gfxdecode->gfx(1)->mark_dirty(offset/8);
+ m_gfxdecode->gfx(2)->mark_dirty(offset/8);
if (offset == 0xc7)
{
m_s2636_sound->soundport_w(0, data);
@@ -61,7 +61,7 @@ int zac2650_state::SpriteCollision(int first,int second)
/* Draw first sprite */
- machine().gfx[expand]->opaque(m_spritebitmap,m_spritebitmap.cliprect(),
+ m_gfxdecode->gfx(expand)->opaque(m_spritebitmap,m_spritebitmap.cliprect(),
first * 2,
0,
0,0,
@@ -69,9 +69,9 @@ int zac2650_state::SpriteCollision(int first,int second)
/* Get fingerprint */
- for (x = fx; x < fx + machine().gfx[expand]->width(); x++)
+ for (x = fx; x < fx + m_gfxdecode->gfx(expand)->width(); x++)
{
- for (y = fy; y < fy + machine().gfx[expand]->height(); y++)
+ for (y = fy; y < fy + m_gfxdecode->gfx(expand)->height(); y++)
{
if (visarea.contains(x, y))
Checksum += m_spritebitmap.pix16(y, x);
@@ -80,7 +80,7 @@ int zac2650_state::SpriteCollision(int first,int second)
/* Blackout second sprite */
- machine().gfx[1]->transpen(m_spritebitmap,m_spritebitmap.cliprect(),
+ m_gfxdecode->gfx(1)->transpen(m_spritebitmap,m_spritebitmap.cliprect(),
second * 2,
1,
0,0,
@@ -88,9 +88,9 @@ int zac2650_state::SpriteCollision(int first,int second)
/* Remove fingerprint */
- for (x = fx; x < fx + machine().gfx[expand]->width(); x++)
+ for (x = fx; x < fx + m_gfxdecode->gfx(expand)->width(); x++)
{
- for (y = fy; y < fy + machine().gfx[expand]->height(); y++)
+ for (y = fy; y < fy +m_gfxdecode->gfx(expand)->height(); y++)
{
if (visarea.contains(x, y))
Checksum -= m_spritebitmap.pix16(y, x);
@@ -99,7 +99,7 @@ int zac2650_state::SpriteCollision(int first,int second)
/* Zero bitmap */
- machine().gfx[expand]->opaque(m_spritebitmap,m_spritebitmap.cliprect(),
+ m_gfxdecode->gfx(expand)->opaque(m_spritebitmap,m_spritebitmap.cliprect(),
first * 2,
1,
0,0,
@@ -114,7 +114,7 @@ TILE_GET_INFO_MEMBER(zac2650_state::get_bg_tile_info)
UINT8 *videoram = m_videoram;
int code = videoram[tile_index];
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, 0, 0);
}
void zac2650_state::video_start()
@@ -125,8 +125,8 @@ void zac2650_state::video_start()
m_screen->register_screen_bitmap(m_bitmap);
m_screen->register_screen_bitmap(m_spritebitmap);
- machine().gfx[1]->set_source(m_s2636_0_ram);
- machine().gfx[2]->set_source(m_s2636_0_ram);
+ m_gfxdecode->gfx(1)->set_source(m_s2636_0_ram);
+ m_gfxdecode->gfx(2)->set_source(m_s2636_0_ram);
}
void zac2650_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -161,15 +161,15 @@ void zac2650_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
int x,y;
/* Sprite->Background collision detection */
- machine().gfx[expand]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(expand)->transpen(bitmap,cliprect,
spriteno,
1,
0,0,
bx,by, 0);
- for (x = bx; x < bx + machine().gfx[expand]->width(); x++)
+ for (x = bx; x < bx + m_gfxdecode->gfx(expand)->width(); x++)
{
- for (y = by; y < by + machine().gfx[expand]->height(); y++)
+ for (y = by; y < by +m_gfxdecode->gfx(expand)->height(); y++)
{
if (visarea.contains(x, y))
if (bitmap.pix16(y, x) != m_bitmap.pix16(y, x))
@@ -180,7 +180,7 @@ void zac2650_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect
}
}
- machine().gfx[expand]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(expand)->transpen(bitmap,cliprect,
spriteno,
0,
0,0,
diff --git a/src/mame/video/zaccaria.c b/src/mame/video/zaccaria.c
index 16bf257d2fb..21ccd079c40 100644
--- a/src/mame/video/zaccaria.c
+++ b/src/mame/video/zaccaria.c
@@ -116,7 +116,7 @@ void zaccaria_state::palette_init()
TILE_GET_INFO_MEMBER(zaccaria_state::get_tile_info)
{
UINT8 attr = m_videoram[tile_index + 0x400];
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
0,
m_videoram[tile_index] + ((attr & 0x03) << 8),
((attr & 0x0c) >> 2) + ((m_attributesram[2 * (tile_index % 32) + 1] & 0x07) << 2),
@@ -233,7 +233,7 @@ void zaccaria_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
(spriteram[offs + o1] & 0x3f) + (spriteram[offs + o2] & 0xc0),
((spriteram[offs + o2] & 0x07) << 2) | color,
flipx,flipy,sx,sy,0);
diff --git a/src/mame/video/zaxxon.c b/src/mame/video/zaxxon.c
index 8067112ff23..dfe138b11d6 100644
--- a/src/mame/video/zaxxon.c
+++ b/src/mame/video/zaxxon.c
@@ -74,7 +74,7 @@ TILE_GET_INFO_MEMBER(zaxxon_state::get_bg_tile_info)
int code = source[eff_index] + 256 * (source[eff_index + size] & 3);
int color = source[eff_index + size] >> 4;
- SET_TILE_INFO_MEMBER(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1, code, color, 0);
}
@@ -85,7 +85,7 @@ TILE_GET_INFO_MEMBER(zaxxon_state::zaxxon_get_fg_tile_info)
int code = m_videoram[tile_index];
int color = m_color_codes[sx + 32 * (sy / 4)] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color * 2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color * 2, 0);
}
@@ -94,7 +94,7 @@ TILE_GET_INFO_MEMBER(zaxxon_state::razmataz_get_fg_tile_info)
int code = m_videoram[tile_index];
int color = m_color_codes[code] & 0x0f;
- SET_TILE_INFO_MEMBER(0, code, color * 2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color * 2, 0);
}
@@ -103,7 +103,7 @@ TILE_GET_INFO_MEMBER(zaxxon_state::congo_get_fg_tile_info)
int code = m_videoram[tile_index] + (m_congo_fg_bank << 8);
int color = m_colorram[tile_index] & 0x1f;
- SET_TILE_INFO_MEMBER(0, code, color * 2, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color * 2, 0);
}
@@ -412,7 +412,7 @@ inline int zaxxon_state::find_minimum_x(UINT8 value, int flip)
void zaxxon_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16 flipxmask, UINT16 flipymask)
{
UINT8 *spriteram = m_spriteram;
- gfx_element *gfx = machine().gfx[2];
+ gfx_element *gfx = m_gfxdecode->gfx(2);
int flip = flip_screen();
int flipmask = flip ? 0xff : 0x00;
int offs;
diff --git a/src/mame/video/zerozone.c b/src/mame/video/zerozone.c
index 08a0a32e039..583073e8dcd 100644
--- a/src/mame/video/zerozone.c
+++ b/src/mame/video/zerozone.c
@@ -29,7 +29,7 @@ TILE_GET_INFO_MEMBER(zerozone_state::get_zerozone_tile_info)
if (m_vram[tile_index] & 0x0800)
tileno += m_tilebank * 0x800;
- SET_TILE_INFO_MEMBER(0, tileno, colour >> 12, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, tileno, colour >> 12, 0);
}
void zerozone_state::video_start()
diff --git a/src/mame/video/zodiack.c b/src/mame/video/zodiack.c
index 795e65c5755..3cff536c520 100644
--- a/src/mame/video/zodiack.c
+++ b/src/mame/video/zodiack.c
@@ -105,7 +105,7 @@ TILE_GET_INFO_MEMBER(zodiack_state::get_bg_tile_info)
int code = m_videoram_2[tile_index];
int color = (m_attributeram[(tile_index & 0x1f) << 1 | 1] >> 4) & 0x07;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0, code, color, 0);
}
TILE_GET_INFO_MEMBER(zodiack_state::get_fg_tile_info)
@@ -113,7 +113,7 @@ TILE_GET_INFO_MEMBER(zodiack_state::get_fg_tile_info)
int code = m_videoram[tile_index];
int color = (m_attributeram[(tile_index & 0x1f) << 1 | 1] >> 0) & 0x07;
- SET_TILE_INFO_MEMBER(3, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 3, code, color, 0);
}
void zodiack_state::video_start()
@@ -138,7 +138,7 @@ void zodiack_state::draw_bullets( bitmap_ind16 &bitmap, const rectangle &cliprec
if (!(m_flipscreen && m_percuss_hardware))
sy = 255 - sy;
- machine().gfx[2]->transpen(
+ m_gfxdecode->gfx(2)->transpen(
bitmap,
cliprect,
0, /* this is just a dot, generated by the hardware */
@@ -164,7 +164,7 @@ void zodiack_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
flipy = !flipy;
}
- machine().gfx[1]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
spritecode,
m_spriteram[offs + 2] & 0x07,
flipx, flipy,
diff --git a/src/mess/drivers/a5105.c b/src/mess/drivers/a5105.c
index b78f31f133a..3b80b72caf4 100644
--- a/src/mess/drivers/a5105.c
+++ b/src/mess/drivers/a5105.c
@@ -169,7 +169,7 @@ WRITE8_MEMBER( a5105_state::pcg_val_w )
{
m_char_ram[m_pcg_addr | m_pcg_internal_addr] = data;
- machine().gfx[0]->mark_dirty(m_pcg_addr >> 3);
+ m_gfxdecode->gfx(0)->mark_dirty(m_pcg_addr >> 3);
m_pcg_internal_addr++;
m_pcg_internal_addr&=7;
@@ -597,7 +597,7 @@ static MACHINE_CONFIG_START( a5105, a5105_state )
MCFG_SCREEN_UPDATE_DEVICE("upd7220", upd7220_device, screen_update)
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 25*8-1)
- MCFG_GFXDECODE(a5105)
+ MCFG_GFXDECODE_ADD("gfxdecode", a5105)
MCFG_PALETTE_LENGTH(16)
/* sound hardware */
diff --git a/src/mess/drivers/a51xx.c b/src/mess/drivers/a51xx.c
index 301412940e3..b9520aca27f 100644
--- a/src/mess/drivers/a51xx.c
+++ b/src/mess/drivers/a51xx.c
@@ -123,7 +123,7 @@ static MACHINE_CONFIG_START( a5120, a51xx_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(a51xx_state, screen_update_a5120)
- MCFG_GFXDECODE(a51xx)
+ MCFG_GFXDECODE_ADD("gfxdecode", a51xx)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/ac1.c b/src/mess/drivers/ac1.c
index f73fd993daf..204525d379f 100644
--- a/src/mess/drivers/ac1.c
+++ b/src/mess/drivers/ac1.c
@@ -136,7 +136,7 @@ static MACHINE_CONFIG_START( ac1, ac1_state )
MCFG_SCREEN_VISIBLE_AREA(0, 64*6-1, 0, 16*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ac1_state, screen_update_ac1)
- MCFG_GFXDECODE( ac1 )
+ MCFG_GFXDECODE_ADD("gfxdecode", ac1 )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/ace.c b/src/mess/drivers/ace.c
index bfea26a5b27..49d6b5dd063 100644
--- a/src/mess/drivers/ace.c
+++ b/src/mess/drivers/ace.c
@@ -742,7 +742,7 @@ static MACHINE_CONFIG_START( ace, ace_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
- MCFG_GFXDECODE(ace)
+ MCFG_GFXDECODE_ADD("gfxdecode", ace)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/alphatro.c b/src/mess/drivers/alphatro.c
index 312bd67792c..888a08cb641 100644
--- a/src/mess/drivers/alphatro.c
+++ b/src/mess/drivers/alphatro.c
@@ -461,7 +461,7 @@ static MACHINE_CONFIG_START( alphatro, alphatro_state )
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
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_GFXDECODE_ADD("gfxdecode", alphatro)
MCFG_PALETTE_LENGTH(9) // 8 colours + amber
/* sound hardware */
diff --git a/src/mess/drivers/amstr_pc.c b/src/mess/drivers/amstr_pc.c
index b23b4534a42..9928a9c9661 100644
--- a/src/mess/drivers/amstr_pc.c
+++ b/src/mess/drivers/amstr_pc.c
@@ -298,7 +298,7 @@ static MACHINE_CONFIG_START( pc200, amstrad_pc_state )
/* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_pc200 )
- MCFG_GFXDECODE(pc200)
+ MCFG_GFXDECODE_ADD("gfxdecode", pc200)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -400,7 +400,7 @@ static MACHINE_CONFIG_START( ppc512, amstrad_pc_state )
/* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_pc200 )
- MCFG_GFXDECODE(pc200)
+ MCFG_GFXDECODE_ADD("gfxdecode", pc200)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/apc.c b/src/mess/drivers/apc.c
index 811e25ebc04..e7e3daaea98 100644
--- a/src/mess/drivers/apc.c
+++ b/src/mess/drivers/apc.c
@@ -1032,7 +1032,7 @@ static MACHINE_CONFIG_START( apc, apc_state )
MCFG_SCREEN_SIZE(640, 494)
MCFG_SCREEN_VISIBLE_AREA(0*8, 640-1, 0*8, 494-1)
- MCFG_GFXDECODE(apc)
+ MCFG_GFXDECODE_ADD("gfxdecode", apc)
MCFG_UPD7220_ADD("upd7220_chr", XTAL_3_579545MHz, hgdc_1_intf, upd7220_1_map) // unk clock
MCFG_UPD7220_ADD("upd7220_btm", XTAL_3_579545MHz, hgdc_2_intf, upd7220_2_map) // unk clock
diff --git a/src/mess/drivers/apexc.c b/src/mess/drivers/apexc.c
index e3647af754a..82cf7194a3f 100644
--- a/src/mess/drivers/apexc.c
+++ b/src/mess/drivers/apexc.c
@@ -584,7 +584,7 @@ void apexc_state::apexc_draw_led(bitmap_ind16 &bitmap, int x, int y, int state)
/* write a single char on screen */
void apexc_state::apexc_draw_char(bitmap_ind16 &bitmap, char character, int x, int y, int color)
{
- machine().gfx[0]->transpen(bitmap,bitmap.cliprect(), character-32, color, 0, 0,
+ m_gfxdecode->gfx(0)->transpen(bitmap,bitmap.cliprect(), character-32, color, 0, 0,
x+1, y, 0);
}
@@ -885,7 +885,7 @@ static MACHINE_CONFIG_START( apexc, apexc_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 192-1)
MCFG_SCREEN_UPDATE_DRIVER(apexc_state, screen_update_apexc)
- MCFG_GFXDECODE(apexc)
+ MCFG_GFXDECODE_ADD("gfxdecode", apexc)
MCFG_PALETTE_LENGTH(APEXC_PALETTE_SIZE)
diff --git a/src/mess/drivers/apogee.c b/src/mess/drivers/apogee.c
index 26e95de79e9..375b233ed01 100644
--- a/src/mess/drivers/apogee.c
+++ b/src/mess/drivers/apogee.c
@@ -239,7 +239,7 @@ static MACHINE_CONFIG_START( apogee, apogee_state )
MCFG_SCREEN_SIZE(78*6, 30*10)
MCFG_SCREEN_VISIBLE_AREA(0, 78*6-1, 0, 30*10-1)
- MCFG_GFXDECODE(apogee)
+ MCFG_GFXDECODE_ADD("gfxdecode", apogee)
MCFG_PALETTE_LENGTH(3)
MCFG_PALETTE_INIT_OVERRIDE(apogee_state,radio86)
diff --git a/src/mess/drivers/apple1.c b/src/mess/drivers/apple1.c
index 1670135f22c..3aa7d9d0811 100644
--- a/src/mess/drivers/apple1.c
+++ b/src/mess/drivers/apple1.c
@@ -300,7 +300,7 @@ static MACHINE_CONFIG_START( apple1, apple1_state )
MCFG_SCREEN_UPDATE_DRIVER(apple1_state, screen_update_apple1)
- MCFG_GFXDECODE(apple1)
+ MCFG_GFXDECODE_ADD("gfxdecode", apple1)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/apple2gs.c b/src/mess/drivers/apple2gs.c
index 1673e5ec2e6..787fe122da3 100644
--- a/src/mess/drivers/apple2gs.c
+++ b/src/mess/drivers/apple2gs.c
@@ -345,7 +345,7 @@ static MACHINE_CONFIG_START( apple2gs, apple2gs_state )
MCFG_SCREEN_UPDATE_DRIVER(apple2gs_state, screen_update_apple2gs)
MCFG_PALETTE_LENGTH( 16+256 )
- MCFG_GFXDECODE( apple2gs )
+ MCFG_GFXDECODE_ADD("gfxdecode", apple2gs )
MCFG_MACHINE_START_OVERRIDE(apple2gs_state, apple2gs )
MCFG_MACHINE_RESET_OVERRIDE(apple2gs_state, apple2gs )
diff --git a/src/mess/drivers/apricotf.c b/src/mess/drivers/apricotf.c
index 8d59a1b738a..52f8f44d116 100644
--- a/src/mess/drivers/apricotf.c
+++ b/src/mess/drivers/apricotf.c
@@ -333,7 +333,7 @@ static MACHINE_CONFIG_START( act_f1, f1_state )
MCFG_SCREEN_SIZE(640, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 256-1)
MCFG_PALETTE_LENGTH(16)
- MCFG_GFXDECODE(act_f1)
+ MCFG_GFXDECODE_ADD("gfxdecode", act_f1)
/* Devices */
MCFG_APRICOT_KEYBOARD_ADD(kb_intf)
diff --git a/src/mess/drivers/apricotp.c b/src/mess/drivers/apricotp.c
index 927f71d586d..0b466c16aa4 100644
--- a/src/mess/drivers/apricotp.c
+++ b/src/mess/drivers/apricotp.c
@@ -627,7 +627,7 @@ static MACHINE_CONFIG_START( fp, fp_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 256-1)
MCFG_PALETTE_LENGTH(16)
- MCFG_GFXDECODE(act_f1)
+ MCFG_GFXDECODE_ADD("gfxdecode", act_f1)
MCFG_MC6845_ADD(MC6845_TAG, MC6845, SCREEN_CRT_TAG, 4000000, crtc_intf)
// sound hardware
diff --git a/src/mess/drivers/aquarius.c b/src/mess/drivers/aquarius.c
index ef549437226..0322786cc5d 100644
--- a/src/mess/drivers/aquarius.c
+++ b/src/mess/drivers/aquarius.c
@@ -371,7 +371,7 @@ static MACHINE_CONFIG_START( aquarius, aquarius_state )
MCFG_SCREEN_VISIBLE_AREA(0, 40 * 8 - 1, 0 * 8, 25 * 8 - 1)
MCFG_SCREEN_UPDATE_DRIVER(aquarius_state, screen_update_aquarius)
- MCFG_GFXDECODE( aquarius )
+ MCFG_GFXDECODE_ADD("gfxdecode", aquarius )
MCFG_PALETTE_LENGTH(512)
diff --git a/src/mess/drivers/arcadia.c b/src/mess/drivers/arcadia.c
index e52946333f9..8ea8bdb8403 100644
--- a/src/mess/drivers/arcadia.c
+++ b/src/mess/drivers/arcadia.c
@@ -541,7 +541,7 @@ static MACHINE_CONFIG_START( arcadia, arcadia_state )
MCFG_SCREEN_VISIBLE_AREA(0, 2*XPOS+128-1, 0, 262-1)
MCFG_SCREEN_UPDATE_DRIVER(arcadia_state, screen_update_arcadia)
- MCFG_GFXDECODE( arcadia )
+ MCFG_GFXDECODE_ADD("gfxdecode", arcadia )
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(arcadia_palette))
diff --git a/src/mess/drivers/atm.c b/src/mess/drivers/atm.c
index c352f764bf2..258c35c8a07 100644
--- a/src/mess/drivers/atm.c
+++ b/src/mess/drivers/atm.c
@@ -190,11 +190,12 @@ static MACHINE_CONFIG_DERIVED_CLASS( atm, spectrum_128, atm_state )
MCFG_MACHINE_RESET_OVERRIDE(atm_state, atm )
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
- MCFG_GFXDECODE(atm)
+
+ MCFG_GFXDECODE_MODIFY("gfxdecode", atm)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( atmtb2, atm )
- MCFG_GFXDECODE(atmtb2)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", atmtb2)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/avigo.c b/src/mess/drivers/avigo.c
index 2583438a256..ae242a404ac 100644
--- a/src/mess/drivers/avigo.c
+++ b/src/mess/drivers/avigo.c
@@ -901,7 +901,7 @@ static MACHINE_CONFIG_START( avigo, avigo_state )
MCFG_SCREEN_VISIBLE_AREA(0, AVIGO_SCREEN_WIDTH-1, 0, AVIGO_SCREEN_HEIGHT + AVIGO_PANEL_HEIGHT -1)
MCFG_DEFAULT_LAYOUT(layout_avigo)
- MCFG_GFXDECODE(avigo)
+ MCFG_GFXDECODE_ADD("gfxdecode", avigo)
MCFG_PALETTE_LENGTH(AVIGO_NUM_COLOURS)
/* sound hardware */
diff --git a/src/mess/drivers/ax20.c b/src/mess/drivers/ax20.c
index 7cc592ae0fc..2157340191a 100644
--- a/src/mess/drivers/ax20.c
+++ b/src/mess/drivers/ax20.c
@@ -47,7 +47,7 @@ UINT32 ax20_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, co
{
UINT16 tile = m_p_vram[24 + y * 128 + x ] & 0x7f;
- machine().gfx[0]->opaque(bitmap,cliprect, tile, 0, 0, 0, x*8, y*12);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, tile, 0, 0, 0, x*8, y*12);
}
}
@@ -117,7 +117,7 @@ static MACHINE_CONFIG_START( ax20, ax20_state )
MCFG_SCREEN_UPDATE_DRIVER(ax20_state, screen_update)
MCFG_SCREEN_SIZE(80*8, 24*12)
MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*12-1)
- MCFG_GFXDECODE(ax20)
+ MCFG_GFXDECODE_ADD("gfxdecode", ax20)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
diff --git a/src/mess/drivers/b16.c b/src/mess/drivers/b16.c
index 9e8c1b207c5..56686417df1 100644
--- a/src/mess/drivers/b16.c
+++ b/src/mess/drivers/b16.c
@@ -112,7 +112,7 @@ WRITE8_MEMBER( b16_state::b16_pcg_w )
{
m_char_rom[offset] = data;
- machine().gfx[0]->mark_dirty(offset >> 4);
+ m_gfxdecode->gfx(0)->mark_dirty(offset >> 4);
}
static ADDRESS_MAP_START( b16_map, AS_PROGRAM, 16, b16_state)
@@ -310,7 +310,7 @@ static MACHINE_CONFIG_START( b16, b16_state )
MCFG_MC6845_ADD("crtc", H46505, "screen", XTAL_14_31818MHz/5, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */
MCFG_I8237_ADD("8237dma", XTAL_14_31818MHz/2, b16_dma8237_interface)
- MCFG_GFXDECODE(b16)
+ MCFG_GFXDECODE_ADD("gfxdecode", b16)
MCFG_PALETTE_LENGTH(8)
// MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white) // TODO
diff --git a/src/mess/drivers/bcs3.c b/src/mess/drivers/bcs3.c
index 5bf5ab7f519..1785c120ea8 100644
--- a/src/mess/drivers/bcs3.c
+++ b/src/mess/drivers/bcs3.c
@@ -426,7 +426,7 @@ static MACHINE_CONFIG_START( bcs3, bcs3_state )
MCFG_SCREEN_SIZE(28*8, 12*10)
MCFG_SCREEN_VISIBLE_AREA(0,28*8-1,0,12*10-1)
MCFG_SCREEN_UPDATE_DRIVER(bcs3_state, screen_update_bcs3)
- MCFG_GFXDECODE(bcs3)
+ MCFG_GFXDECODE_ADD("gfxdecode", bcs3)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/bigbord2.c b/src/mess/drivers/bigbord2.c
index b6cbd6cd8c5..4fd96c3c1f7 100644
--- a/src/mess/drivers/bigbord2.c
+++ b/src/mess/drivers/bigbord2.c
@@ -643,7 +643,7 @@ static MACHINE_CONFIG_START( bigbord2, bigbord2_state )
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_10_69425MHz, 700, 0, 560, 260, 0, 240)
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_GFXDECODE(bigbord2)
+ MCFG_GFXDECODE_ADD("gfxdecode", bigbord2)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/binbug.c b/src/mess/drivers/binbug.c
index 2f986faa79e..856a98cda4b 100644
--- a/src/mess/drivers/binbug.c
+++ b/src/mess/drivers/binbug.c
@@ -310,7 +310,7 @@ static MACHINE_CONFIG_START( binbug, binbug_state )
MCFG_SCREEN_UPDATE_DRIVER(binbug_state, screen_update)
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 255)
- MCFG_GFXDECODE(dg640)
+ MCFG_GFXDECODE_ADD("gfxdecode", dg640)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_amber)
@@ -569,7 +569,7 @@ static MACHINE_CONFIG_START( dg680, dg680_state )
MCFG_SCREEN_UPDATE_DRIVER(binbug_state, screen_update)
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 0, 255)
- MCFG_GFXDECODE(dg640)
+ MCFG_GFXDECODE_ADD("gfxdecode", dg640)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_amber)
diff --git a/src/mess/drivers/bmjr.c b/src/mess/drivers/bmjr.c
index 15ba09a0635..acef8f30494 100644
--- a/src/mess/drivers/bmjr.c
+++ b/src/mess/drivers/bmjr.c
@@ -360,7 +360,7 @@ static MACHINE_CONFIG_START( bmjr, bmjr_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 192-1)
MCFG_SCREEN_UPDATE_DRIVER(bmjr_state, screen_update_bmjr)
MCFG_PALETTE_LENGTH(8)
- MCFG_GFXDECODE(bmjr)
+ MCFG_GFXDECODE_ADD("gfxdecode", bmjr)
/* Audio */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/bw12.c b/src/mess/drivers/bw12.c
index 64741c7b3e8..6866da75b23 100644
--- a/src/mess/drivers/bw12.c
+++ b/src/mess/drivers/bw12.c
@@ -607,7 +607,7 @@ static MACHINE_CONFIG_START( common, bw12_state )
MCFG_SCREEN_SIZE(640, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
- MCFG_GFXDECODE(bw12)
+ MCFG_GFXDECODE_ADD("gfxdecode", bw12)
MCFG_MC6845_ADD(MC6845_TAG, MC6845, SCREEN_TAG, XTAL_16MHz/8, bw12_mc6845_interface)
diff --git a/src/mess/drivers/c10.c b/src/mess/drivers/c10.c
index 76cb140ceac..7ab9ac1ea54 100644
--- a/src/mess/drivers/c10.c
+++ b/src/mess/drivers/c10.c
@@ -163,7 +163,7 @@ static MACHINE_CONFIG_START( c10, c10_state )
MCFG_SCREEN_UPDATE_DRIVER(c10_state, screen_update)
MCFG_SCREEN_SIZE(640, 250)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 249)
- MCFG_GFXDECODE(c10)
+ MCFG_GFXDECODE_ADD("gfxdecode", c10)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/c128.c b/src/mess/drivers/c128.c
index b8dd6e38838..b02c23e88e9 100644
--- a/src/mess/drivers/c128.c
+++ b/src/mess/drivers/c128.c
@@ -1466,7 +1466,7 @@ static MACHINE_CONFIG_START( ntsc, c128_state )
// video hardware
MCFG_MOS8563_ADD(MOS8563_TAG, SCREEN_VDC_TAG, VIC6567_CLOCK*2, vdc_intf, vdc_videoram_map)
MCFG_MOS8564_ADD(MOS8564_TAG, SCREEN_VIC_TAG, M8502_TAG, VIC6567_CLOCK, vic_videoram_map, vic_colorram_map, WRITELINE(c128_state, vic_irq_w), WRITE8(c128_state, vic_k_w))
- MCFG_GFXDECODE(c128)
+ MCFG_GFXDECODE_ADD("gfxdecode", c128)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1598,7 +1598,7 @@ static MACHINE_CONFIG_START( pal, c128_state )
// video hardware
MCFG_MOS8563_ADD(MOS8563_TAG, SCREEN_VDC_TAG, VIC6569_CLOCK*2, vdc_intf, vdc_videoram_map)
MCFG_MOS8566_ADD(MOS8564_TAG, SCREEN_VIC_TAG, M8502_TAG, VIC6569_CLOCK, vic_videoram_map, vic_colorram_map, WRITELINE(c128_state, vic_irq_w), WRITE8(c128_state, vic_k_w))
- MCFG_GFXDECODE(c128)
+ MCFG_GFXDECODE_ADD("gfxdecode", c128)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/c900.c b/src/mess/drivers/c900.c
index 88d707298ab..0ac5821a501 100644
--- a/src/mess/drivers/c900.c
+++ b/src/mess/drivers/c900.c
@@ -115,7 +115,7 @@ static MACHINE_CONFIG_START( c900, c900_state )
MCFG_CPU_IO_MAP(c900_io)
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
- MCFG_GFXDECODE(c900)
+ MCFG_GFXDECODE_ADD("gfxdecode", c900)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/casloopy.c b/src/mess/drivers/casloopy.c
index 3beb72b2de1..94a2cd3fb02 100644
--- a/src/mess/drivers/casloopy.c
+++ b/src/mess/drivers/casloopy.c
@@ -219,19 +219,19 @@ void casloopy_state::video_start()
m_bitmap_vram = auto_alloc_array_clear(machine(), UINT8, 0x20000);
for (m_gfx_index = 0; m_gfx_index < MAX_GFX_ELEMENTS; m_gfx_index++)
- if (machine().gfx[m_gfx_index] == 0)
+ if (m_gfxdecode->gfx(m_gfx_index) == 0)
break;
for(int i=0;i<0x10000;i++)
m_vram[i] = i & 0xff;
- machine().gfx[m_gfx_index] = auto_alloc(machine(), gfx_element(machine(), casloopy_4bpp_layout, m_vram, 0x10, 0));
- machine().gfx[m_gfx_index+1] = auto_alloc(machine(), gfx_element(machine(), casloopy_8bpp_layout, m_vram, 1, 0));
+ m_gfxdecode->set_gfx(m_gfx_index, auto_alloc(machine(), gfx_element(machine(), casloopy_4bpp_layout, m_vram, 0x10, 0)));
+ m_gfxdecode->set_gfx(m_gfx_index+1, auto_alloc(machine(), gfx_element(machine(), casloopy_8bpp_layout, m_vram, 1, 0)));
}
UINT32 casloopy_state::screen_update_casloopy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- gfx_element *gfx = machine().gfx[m_gfx_index];
+ gfx_element *gfx = m_gfxdecode->gfx(m_gfx_index);
int x,y;
int count;
@@ -339,8 +339,8 @@ WRITE8_MEMBER(casloopy_state::casloopy_vram_w)
{
m_vram[offset] = data;
- machine().gfx[m_gfx_index]->mark_dirty(offset/32);
- machine().gfx[m_gfx_index+1]->mark_dirty(offset/64);
+ m_gfxdecode->gfx(m_gfx_index)->mark_dirty(offset/32);
+ m_gfxdecode->gfx(m_gfx_index+1)->mark_dirty(offset/64);
}
/* TODO: all of this should be internal to the SH core, this is just to check what it enables. */
diff --git a/src/mess/drivers/cd2650.c b/src/mess/drivers/cd2650.c
index d1b44459d05..54993cb7996 100644
--- a/src/mess/drivers/cd2650.c
+++ b/src/mess/drivers/cd2650.c
@@ -291,7 +291,7 @@ static MACHINE_CONFIG_START( cd2650, cd2650_state )
MCFG_SCREEN_UPDATE_DRIVER(cd2650_state, screen_update)
MCFG_SCREEN_SIZE(640, 160)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 159)
- MCFG_GFXDECODE(cd2650)
+ MCFG_GFXDECODE_ADD("gfxdecode", cd2650)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/cdc721.c b/src/mess/drivers/cdc721.c
index be6858ceb26..1f87fe4f981 100644
--- a/src/mess/drivers/cdc721.c
+++ b/src/mess/drivers/cdc721.c
@@ -124,7 +124,7 @@ static MACHINE_CONFIG_START( cdc721, cdc721_state )
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239)
MCFG_PALETTE_LENGTH(3)
MCFG_PALETTE_INIT_OVERRIDE(cdc721_state, cdc721)
- MCFG_GFXDECODE(cdc721)
+ MCFG_GFXDECODE_ADD("gfxdecode", cdc721)
MACHINE_CONFIG_END
ROM_START( cdc721 )
diff --git a/src/mess/drivers/cgenie.c b/src/mess/drivers/cgenie.c
index 3c54643d490..bf8bb879b0d 100644
--- a/src/mess/drivers/cgenie.c
+++ b/src/mess/drivers/cgenie.c
@@ -536,7 +536,7 @@ static MACHINE_CONFIG_START( cgenie_common, cgenie_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1,0*8,32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(cgenie_state, screen_update_cgenie)
- MCFG_GFXDECODE( cgenie )
+ MCFG_GFXDECODE_ADD("gfxdecode", cgenie )
MCFG_PALETTE_LENGTH(108)
// Actually the video is driven by an HD46505 clocked at XTAL_17_73447MHz/16
diff --git a/src/mess/drivers/comquest.c b/src/mess/drivers/comquest.c
index 27b4f4afc26..0d12cdfc0c2 100644
--- a/src/mess/drivers/comquest.c
+++ b/src/mess/drivers/comquest.c
@@ -254,7 +254,7 @@ static MACHINE_CONFIG_START( comquest, comquest_state )
MCFG_SCREEN_VISIBLE_AREA(0, 64*4-1, 0, 128-1)
MCFG_SCREEN_UPDATE_DRIVER(comquest_state, screen_update_comquest)
- MCFG_GFXDECODE( comquest )
+ MCFG_GFXDECODE_ADD("gfxdecode", comquest )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/dai.c b/src/mess/drivers/dai.c
index d1400ad97d0..7a1b893be58 100644
--- a/src/mess/drivers/dai.c
+++ b/src/mess/drivers/dai.c
@@ -215,7 +215,7 @@ static MACHINE_CONFIG_START( dai, dai_state )
MCFG_SCREEN_VISIBLE_AREA(0, 1056-1, 0, 302-1)
MCFG_SCREEN_UPDATE_DRIVER(dai_state, screen_update_dai)
- MCFG_GFXDECODE(dai)
+ MCFG_GFXDECODE_ADD("gfxdecode", dai)
MCFG_PALETTE_LENGTH(sizeof (dai_palette) / 3)
diff --git a/src/mess/drivers/dgn_beta.c b/src/mess/drivers/dgn_beta.c
index 6c04a261db3..48edd4d9e39 100644
--- a/src/mess/drivers/dgn_beta.c
+++ b/src/mess/drivers/dgn_beta.c
@@ -336,7 +336,7 @@ static MACHINE_CONFIG_START( dgnbeta, dgn_beta_state )
MCFG_SCREEN_VISIBLE_AREA(0, 699, 0, 549)
MCFG_SCREEN_UPDATE_DEVICE( "crtc", hd6845_device, screen_update )
- MCFG_GFXDECODE(dgnbeta)
+ MCFG_GFXDECODE_ADD("gfxdecode", dgnbeta)
MCFG_PALETTE_LENGTH(ARRAY_LENGTH(dgnbeta_palette) / 3)
MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
diff --git a/src/mess/drivers/dim68k.c b/src/mess/drivers/dim68k.c
index 90db7ddf189..a1c0478e31a 100644
--- a/src/mess/drivers/dim68k.c
+++ b/src/mess/drivers/dim68k.c
@@ -335,7 +335,7 @@ static MACHINE_CONFIG_START( dim68k, dim68k_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 250-1)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
- MCFG_GFXDECODE(dim68k)
+ MCFG_GFXDECODE_ADD("gfxdecode", dim68k)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/dmv.c b/src/mess/drivers/dmv.c
index 438b8378747..03eb061d69c 100644
--- a/src/mess/drivers/dmv.c
+++ b/src/mess/drivers/dmv.c
@@ -331,7 +331,7 @@ static MACHINE_CONFIG_START( dmv, dmv_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_GFXDECODE(dmv)
+ MCFG_GFXDECODE_ADD("gfxdecode", dmv)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
MCFG_DEFAULT_LAYOUT(layout_dmv)
diff --git a/src/mess/drivers/ec65.c b/src/mess/drivers/ec65.c
index 8f4f27222a7..6fb0ca2e72d 100644
--- a/src/mess/drivers/ec65.c
+++ b/src/mess/drivers/ec65.c
@@ -210,7 +210,7 @@ static MACHINE_CONFIG_START( ec65, ec65_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 200 - 1)
MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
- MCFG_GFXDECODE(ec65)
+ MCFG_GFXDECODE_ADD("gfxdecode", ec65)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
@@ -244,7 +244,7 @@ static MACHINE_CONFIG_START( ec65k, ec65k_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 200 - 1)
MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
- MCFG_GFXDECODE(ec65)
+ MCFG_GFXDECODE_ADD("gfxdecode", ec65)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/einstein.c b/src/mess/drivers/einstein.c
index cebd0d00074..8f3637fb94a 100644
--- a/src/mess/drivers/einstein.c
+++ b/src/mess/drivers/einstein.c
@@ -820,7 +820,7 @@ static MACHINE_CONFIG_DERIVED( einstei2, einstein )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_UPDATE_DRIVER(einstein_state, screen_update_einstein2)
- MCFG_GFXDECODE(einstei2)
+ MCFG_GFXDECODE_ADD("gfxdecode", einstei2)
/* 2 additional colors for the 80 column screen */
MCFG_PALETTE_LENGTH(TMS9928A_PALETTE_SIZE + 2)
diff --git a/src/mess/drivers/elwro800.c b/src/mess/drivers/elwro800.c
index e60e5349c1e..1cb8170a40c 100644
--- a/src/mess/drivers/elwro800.c
+++ b/src/mess/drivers/elwro800.c
@@ -577,7 +577,7 @@ static MACHINE_CONFIG_START( elwro800, elwro800_state )
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT_OVERRIDE(elwro800_state, spectrum )
- MCFG_GFXDECODE(elwro800)
+ MCFG_GFXDECODE_ADD("gfxdecode", elwro800)
MCFG_VIDEO_START_OVERRIDE(elwro800_state, spectrum )
diff --git a/src/mess/drivers/fmtowns.c b/src/mess/drivers/fmtowns.c
index 7cc491aad7a..2ba75b61b4d 100644
--- a/src/mess/drivers/fmtowns.c
+++ b/src/mess/drivers/fmtowns.c
@@ -2781,7 +2781,7 @@ static MACHINE_CONFIG_FRAGMENT( towns_base )
MCFG_SCREEN_VISIBLE_AREA(0, 768-1, 0, 512-1)
MCFG_SCREEN_UPDATE_DRIVER(towns_state, screen_update)
- MCFG_GFXDECODE(towns)
+ MCFG_GFXDECODE_ADD("gfxdecode", towns)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/fp1100.c b/src/mess/drivers/fp1100.c
index 9577c904c76..05ec256abee 100644
--- a/src/mess/drivers/fp1100.c
+++ b/src/mess/drivers/fp1100.c
@@ -361,7 +361,7 @@ static MACHINE_CONFIG_START( fp1100, fp1100_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
MCFG_PALETTE_LENGTH(8)
- MCFG_GFXDECODE(fp1100)
+ MCFG_GFXDECODE_ADD("gfxdecode", fp1100)
/* Devices */
MCFG_MC6845_ADD("crtc", H46505, "screen", MAIN_CLOCK/2, mc6845_intf) /* hand tuned to get ~60 fps */
diff --git a/src/mess/drivers/fp200.c b/src/mess/drivers/fp200.c
index b1ebd399ef8..0862db8b5e1 100644
--- a/src/mess/drivers/fp200.c
+++ b/src/mess/drivers/fp200.c
@@ -594,7 +594,7 @@ static MACHINE_CONFIG_START( fp200, fp200_state )
MCFG_SCREEN_SIZE(20*8, 8*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 20*8-1, 0*8, 8*8-1)
- MCFG_GFXDECODE(fp200)
+ MCFG_GFXDECODE_ADD("gfxdecode", fp200)
MCFG_PALETTE_LENGTH(2)
diff --git a/src/mess/drivers/fp6000.c b/src/mess/drivers/fp6000.c
index 6accf03f7df..def94b38c1d 100644
--- a/src/mess/drivers/fp6000.c
+++ b/src/mess/drivers/fp6000.c
@@ -153,7 +153,7 @@ READ8_MEMBER(fp6000_state::fp6000_pcg_r)
WRITE8_MEMBER(fp6000_state::fp6000_pcg_w)
{
m_char_rom[offset] = data;
- machine().gfx[0]->mark_dirty(offset >> 4);
+ m_gfxdecode->gfx(0)->mark_dirty(offset >> 4);
}
WRITE8_MEMBER(fp6000_state::fp6000_6845_address_w)
@@ -318,7 +318,7 @@ static MACHINE_CONFIG_START( fp6000, fp6000_state )
MCFG_PALETTE_LENGTH(8)
// MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
- MCFG_GFXDECODE(fp6000)
+ MCFG_GFXDECODE_ADD("gfxdecode", fp6000)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/galaxy.c b/src/mess/drivers/galaxy.c
index dcc5f8f832f..2da489c4f45 100644
--- a/src/mess/drivers/galaxy.c
+++ b/src/mess/drivers/galaxy.c
@@ -198,7 +198,7 @@ static MACHINE_CONFIG_START( galaxy, galaxy_state )
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 208-1)
MCFG_SCREEN_UPDATE_DRIVER(galaxy_state, screen_update_galaxy)
- MCFG_GFXDECODE(galaxy)
+ MCFG_GFXDECODE_ADD("gfxdecode", galaxy)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/galeb.c b/src/mess/drivers/galeb.c
index ee0ff68ce48..5bf38fb623c 100644
--- a/src/mess/drivers/galeb.c
+++ b/src/mess/drivers/galeb.c
@@ -138,7 +138,7 @@ static MACHINE_CONFIG_START( galeb, galeb_state )
MCFG_SCREEN_VISIBLE_AREA(0, 48*8-1, 0, 16*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galeb_state, screen_update_galeb)
- MCFG_GFXDECODE( galeb )
+ MCFG_GFXDECODE_ADD("gfxdecode", galeb )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/gb.c b/src/mess/drivers/gb.c
index 95e0e3b9fcf..d6103681379 100644
--- a/src/mess/drivers/gb.c
+++ b/src/mess/drivers/gb.c
@@ -760,7 +760,7 @@ static MACHINE_CONFIG_START( gameboy, gb_state )
MCFG_SCREEN_SIZE( 458, 154 )
MCFG_SCREEN_VISIBLE_AREA(0*8, 20*8-1, 0*8, 18*8-1)
- MCFG_GFXDECODE(gb)
+ MCFG_GFXDECODE_ADD("gfxdecode", gb)
MCFG_PALETTE_LENGTH(4)
MCFG_PALETTE_INIT_OVERRIDE(gb_state,gb)
@@ -862,7 +862,7 @@ static MACHINE_CONFIG_START( megaduck, megaduck_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 20*8-1, 0*8, 18*8-1)
MCFG_DEFAULT_LAYOUT(layout_lcd)
- MCFG_GFXDECODE(gb)
+ MCFG_GFXDECODE_ADD("gfxdecode", gb)
MCFG_PALETTE_LENGTH(4)
MCFG_PALETTE_INIT_OVERRIDE(megaduck_state,megaduck)
diff --git a/src/mess/drivers/h19.c b/src/mess/drivers/h19.c
index db6abfa191e..fcbc75bb431 100644
--- a/src/mess/drivers/h19.c
+++ b/src/mess/drivers/h19.c
@@ -428,7 +428,7 @@ static MACHINE_CONFIG_START( h19, h19_state )
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
MCFG_SCREEN_SIZE(640, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 200 - 1)
- MCFG_GFXDECODE(h19)
+ MCFG_GFXDECODE_ADD("gfxdecode", h19)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
diff --git a/src/mess/drivers/homelab.c b/src/mess/drivers/homelab.c
index 388ecb2aaea..c18e2d4395c 100644
--- a/src/mess/drivers/homelab.c
+++ b/src/mess/drivers/homelab.c
@@ -760,7 +760,7 @@ static MACHINE_CONFIG_START( homelab, homelab_state )
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 25*8-1)
MCFG_VIDEO_START_OVERRIDE(homelab_state,homelab2)
MCFG_SCREEN_UPDATE_DRIVER(homelab_state, screen_update_homelab2)
- MCFG_GFXDECODE(homelab)
+ MCFG_GFXDECODE_ADD("gfxdecode", homelab)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
@@ -790,7 +790,7 @@ static MACHINE_CONFIG_START( homelab3, homelab_state )
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
MCFG_VIDEO_START_OVERRIDE(homelab_state,homelab3)
MCFG_SCREEN_UPDATE_DRIVER(homelab_state, screen_update_homelab3)
- MCFG_GFXDECODE(homelab)
+ MCFG_GFXDECODE_ADD("gfxdecode", homelab)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
@@ -820,7 +820,7 @@ static MACHINE_CONFIG_START( brailab4, homelab_state )
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
MCFG_VIDEO_START_OVERRIDE(homelab_state,brailab4)
MCFG_SCREEN_UPDATE_DRIVER(homelab_state, screen_update_homelab3)
- MCFG_GFXDECODE(homelab)
+ MCFG_GFXDECODE_ADD("gfxdecode", homelab)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
diff --git a/src/mess/drivers/homez80.c b/src/mess/drivers/homez80.c
index 8cf2fae1e31..c2f481e4d3e 100644
--- a/src/mess/drivers/homez80.c
+++ b/src/mess/drivers/homez80.c
@@ -294,7 +294,7 @@ static MACHINE_CONFIG_START( homez80, homez80_state )
MCFG_SCREEN_VISIBLE_AREA(0, 344-1, 0, 32*8-1)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
- MCFG_GFXDECODE( homez80 )
+ MCFG_GFXDECODE_ADD("gfxdecode", homez80 )
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mess/drivers/hp9k.c b/src/mess/drivers/hp9k.c
index 360550218b3..6412d2ec2f9 100644
--- a/src/mess/drivers/hp9k.c
+++ b/src/mess/drivers/hp9k.c
@@ -345,7 +345,7 @@ GFXDECODE_END
void hp9k_state::putChar(UINT8 thec,int x,int y,bitmap_ind16 &bitmap)
{
- const UINT8* pchar=machine().gfx[0]->get_data(thec);
+ const UINT8* pchar=m_gfxdecode->gfx(0)->get_data(thec);
for (int py=0;py<HP9816_CHDIMY;py++)
{
@@ -416,7 +416,7 @@ static MACHINE_CONFIG_START( hp9k, hp9k_state )
MCFG_SCREEN_UPDATE_DRIVER(hp9k_state, screen_update)
- MCFG_GFXDECODE(hp9k)
+ MCFG_GFXDECODE_ADD("gfxdecode", hp9k)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/hprot1.c b/src/mess/drivers/hprot1.c
index 24614de2ffe..1e331a547ab 100644
--- a/src/mess/drivers/hprot1.c
+++ b/src/mess/drivers/hprot1.c
@@ -246,7 +246,7 @@ static MACHINE_CONFIG_START( hprot1, hprot1_state )
MCFG_SCREEN_VISIBLE_AREA(0, 6*16-1, 0, 9*2-1)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
- MCFG_GFXDECODE(hprot1)
+ MCFG_GFXDECODE_ADD("gfxdecode", hprot1)
MCFG_HD44780_ADD("hd44780")
MCFG_HD44780_LCD_SIZE(2, 16)
diff --git a/src/mess/drivers/huebler.c b/src/mess/drivers/huebler.c
index 61e82fa4dde..8ff38421f29 100644
--- a/src/mess/drivers/huebler.c
+++ b/src/mess/drivers/huebler.c
@@ -402,7 +402,7 @@ static MACHINE_CONFIG_START( amu880, amu880_state )
MCFG_SCREEN_UPDATE_DRIVER(amu880_state, screen_update)
MCFG_SCREEN_RAW_PARAMS(9000000, 576, 0*6, 64*6, 320, 0*10, 24*10)
- MCFG_GFXDECODE(amu880)
+ MCFG_GFXDECODE_ADD("gfxdecode", amu880)
/* devices */
MCFG_Z80CTC_ADD(Z80CTC_TAG, XTAL_10MHz/4, ctc_intf)
diff --git a/src/mess/drivers/ie15.c b/src/mess/drivers/ie15.c
index 2201aa20f94..fddd3396f68 100644
--- a/src/mess/drivers/ie15.c
+++ b/src/mess/drivers/ie15.c
@@ -633,7 +633,7 @@ static MACHINE_CONFIG_START( ie15, ie15_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_30_8MHz/2,IE15_TOTAL_HORZ,IE15_HORZ_START,
IE15_HORZ_START+IE15_DISP_HORZ,IE15_TOTAL_VERT,IE15_VERT_START,
IE15_VERT_START+IE15_DISP_VERT);
- MCFG_GFXDECODE(ie15)
+ MCFG_GFXDECODE_ADD("gfxdecode", ie15)
MCFG_PALETTE_LENGTH(2)
/* Devices */
diff --git a/src/mess/drivers/intv.c b/src/mess/drivers/intv.c
index 87118cfed93..9ee2490f5d6 100644
--- a/src/mess/drivers/intv.c
+++ b/src/mess/drivers/intv.c
@@ -878,7 +878,7 @@ static MACHINE_CONFIG_DERIVED( intvkbd, intv )
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
/* video hardware */
- MCFG_GFXDECODE(intvkbd)
+ MCFG_GFXDECODE_ADD("gfxdecode", intvkbd)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE((STIC_OVERSCAN_LEFT_WIDTH+STIC_BACKTAB_WIDTH*STIC_CARD_WIDTH-1+STIC_OVERSCAN_RIGHT_WIDTH)*STIC_X_SCALE*INTVKBD_X_SCALE, (STIC_OVERSCAN_TOP_HEIGHT+STIC_BACKTAB_HEIGHT*STIC_CARD_HEIGHT+STIC_OVERSCAN_BOTTOM_HEIGHT)*STIC_Y_SCALE*INTVKBD_Y_SCALE)
MCFG_SCREEN_VISIBLE_AREA(0, (STIC_OVERSCAN_LEFT_WIDTH+STIC_BACKTAB_WIDTH*STIC_CARD_WIDTH-1+STIC_OVERSCAN_RIGHT_WIDTH)*STIC_X_SCALE*INTVKBD_X_SCALE-1, 0, (STIC_OVERSCAN_TOP_HEIGHT+STIC_BACKTAB_HEIGHT*STIC_CARD_HEIGHT+STIC_OVERSCAN_BOTTOM_HEIGHT)*STIC_Y_SCALE*INTVKBD_Y_SCALE-1)
diff --git a/src/mess/drivers/ipds.c b/src/mess/drivers/ipds.c
index 81092cd4376..472c62018e5 100644
--- a/src/mess/drivers/ipds.c
+++ b/src/mess/drivers/ipds.c
@@ -152,7 +152,7 @@ static MACHINE_CONFIG_START( ipds, ipds_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_GFXDECODE(ipds)
+ MCFG_GFXDECODE_ADD("gfxdecode", ipds)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
diff --git a/src/mess/drivers/irisha.c b/src/mess/drivers/irisha.c
index 49091b97ce3..69506b0a979 100644
--- a/src/mess/drivers/irisha.c
+++ b/src/mess/drivers/irisha.c
@@ -424,7 +424,7 @@ static MACHINE_CONFIG_START( irisha, irisha_state )
MCFG_SCREEN_SIZE(320, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
MCFG_SCREEN_UPDATE_DRIVER(irisha_state, screen_update_irisha)
- MCFG_GFXDECODE(irisha)
+ MCFG_GFXDECODE_ADD("gfxdecode", irisha)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/itt3030.c b/src/mess/drivers/itt3030.c
index 2ec875b3372..686436e9ce0 100644
--- a/src/mess/drivers/itt3030.c
+++ b/src/mess/drivers/itt3030.c
@@ -358,7 +358,7 @@ UINT32 itt3030_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap
for(int x = 0; x < 80; x++ )
{
UINT8 code = m_vram[x + y*128];
- machine().gfx[0]->opaque(bitmap,cliprect, code , 0, 0,0, x*8,y*16);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, code , 0, 0,0, x*8,y*16);
}
}
@@ -622,7 +622,7 @@ static MACHINE_CONFIG_START( itt3030, itt3030_state )
MCFG_FLOPPY_DRIVE_ADD("fdc:0", itt3030_floppies, "525dd", itt3030_state::itt3030_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", itt3030_floppies, "525dd", itt3030_state::itt3030_floppy_formats)
- MCFG_GFXDECODE(itt3030)
+ MCFG_GFXDECODE_ADD("gfxdecode", itt3030)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/jonos.c b/src/mess/drivers/jonos.c
index 5fb59014e8a..61722e9b53d 100644
--- a/src/mess/drivers/jonos.c
+++ b/src/mess/drivers/jonos.c
@@ -130,7 +130,7 @@ static MACHINE_CONFIG_START( jonos, jonos_state )
MCFG_SCREEN_UPDATE_DRIVER(jonos_state, screen_update)
MCFG_SCREEN_SIZE(640, 300)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 299)
- MCFG_GFXDECODE(jonos)
+ MCFG_GFXDECODE_ADD("gfxdecode", jonos)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/jr100.c b/src/mess/drivers/jr100.c
index 18d70313199..4b85f7a806c 100644
--- a/src/mess/drivers/jr100.c
+++ b/src/mess/drivers/jr100.c
@@ -384,7 +384,7 @@ static MACHINE_CONFIG_START( jr100, jr100_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256 - 1, 0, 192 - 1)
MCFG_SCREEN_UPDATE_DRIVER(jr100_state, screen_update_jr100)
- MCFG_GFXDECODE(jr100)
+ MCFG_GFXDECODE_ADD("gfxdecode", jr100)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/jr200.c b/src/mess/drivers/jr200.c
index e67ff4b5ff0..f9e6c447682 100644
--- a/src/mess/drivers/jr200.c
+++ b/src/mess/drivers/jr200.c
@@ -220,13 +220,13 @@ READ8_MEMBER(jr200_state::jr200_pcg_2_r)
WRITE8_MEMBER(jr200_state::jr200_pcg_1_w)
{
m_pcg->base()[offset+0x000] = data;
- machine().gfx[1]->mark_dirty((offset+0x000) >> 3);
+ m_gfxdecode->gfx(1)->mark_dirty((offset+0x000) >> 3);
}
WRITE8_MEMBER(jr200_state::jr200_pcg_2_w)
{
m_pcg->base()[offset+0x400] = data;
- machine().gfx[1]->mark_dirty((offset+0x400) >> 3);
+ m_gfxdecode->gfx(1)->mark_dirty((offset+0x400) >> 3);
}
READ8_MEMBER(jr200_state::jr200_bios_char_r)
@@ -239,7 +239,7 @@ WRITE8_MEMBER(jr200_state::jr200_bios_char_w)
{
/* TODO: writing is presumably controlled by an I/O bit */
// m_gfx_ram->base()[offset] = data;
-// machine().gfx[0]->mark_dirty(offset >> 3);
+// m_gfxdecode->gfx(0)->mark_dirty(offset >> 3);
}
/*
@@ -533,7 +533,7 @@ void jr200_state::machine_reset()
gfx_ram[i] = gfx_rom[i];
for(i=0;i<0x800;i+=8)
- machine().gfx[0]->mark_dirty(i >> 3);
+ m_gfxdecode->gfx(0)->mark_dirty(i >> 3);
}
@@ -553,7 +553,7 @@ static MACHINE_CONFIG_START( jr200, jr200_state )
MCFG_SCREEN_VISIBLE_AREA(0, 16 + 256 + 16 - 1, 0, 16 + 192 + 16 - 1)
MCFG_SCREEN_UPDATE_DRIVER(jr200_state, screen_update_jr200)
- MCFG_GFXDECODE(jr200)
+ MCFG_GFXDECODE_ADD("gfxdecode", jr200)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mess/drivers/jtc.c b/src/mess/drivers/jtc.c
index 7867090097c..9d980a79515 100644
--- a/src/mess/drivers/jtc.c
+++ b/src/mess/drivers/jtc.c
@@ -787,7 +787,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( jtces23, basic, jtces23_state )
MCFG_SCREEN_SIZE(128, 128)
MCFG_SCREEN_VISIBLE_AREA(0, 128-1, 0, 128-1)
- MCFG_GFXDECODE(jtces23)
+ MCFG_GFXDECODE_ADD("gfxdecode", jtces23)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
@@ -809,7 +809,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( jtces40, basic, jtces40_state )
MCFG_SCREEN_SIZE(320, 192)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 192-1)
- MCFG_GFXDECODE(jtces40)
+ MCFG_GFXDECODE_ADD("gfxdecode", jtces40)
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT_OVERRIDE(jtc_state,jtc_es40)
diff --git a/src/mess/drivers/kaypro.c b/src/mess/drivers/kaypro.c
index f54447f711c..7501adf1a4d 100644
--- a/src/mess/drivers/kaypro.c
+++ b/src/mess/drivers/kaypro.c
@@ -209,7 +209,7 @@ static MACHINE_CONFIG_START( kayproii, kaypro_state )
MCFG_SCREEN_VISIBLE_AREA(0,80*7-1,0,24*10-1)
MCFG_VIDEO_START_OVERRIDE(kaypro_state, kaypro )
MCFG_SCREEN_UPDATE_DRIVER(kaypro_state, screen_update_kayproii)
- MCFG_GFXDECODE(kayproii)
+ MCFG_GFXDECODE_ADD("gfxdecode", kayproii)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
@@ -263,7 +263,7 @@ static MACHINE_CONFIG_START( kaypro2x, kaypro_state )
MCFG_SCREEN_VISIBLE_AREA(0,80*8-1,0,25*16-1)
MCFG_VIDEO_START_OVERRIDE(kaypro_state, kaypro )
MCFG_SCREEN_UPDATE_DRIVER(kaypro_state, screen_update_kaypro2x)
- MCFG_GFXDECODE(kaypro2x)
+ MCFG_GFXDECODE_ADD("gfxdecode", kaypro2x)
MCFG_PALETTE_LENGTH(3)
MCFG_PALETTE_INIT_OVERRIDE(kaypro_state,kaypro)
diff --git a/src/mess/drivers/korgm1.c b/src/mess/drivers/korgm1.c
index 937c167f46f..b0145389798 100644
--- a/src/mess/drivers/korgm1.c
+++ b/src/mess/drivers/korgm1.c
@@ -177,7 +177,7 @@ static MACHINE_CONFIG_START( korgm1, korgm1_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
- MCFG_GFXDECODE(korgm1)
+ MCFG_GFXDECODE_ADD("gfxdecode", korgm1)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mess/drivers/kramermc.c b/src/mess/drivers/kramermc.c
index c937bb884e4..ba8a0fa19de 100644
--- a/src/mess/drivers/kramermc.c
+++ b/src/mess/drivers/kramermc.c
@@ -120,7 +120,7 @@ static MACHINE_CONFIG_START( kramermc, kramermc_state )
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 16*8-1)
MCFG_SCREEN_UPDATE_DRIVER(kramermc_state, screen_update_kramermc)
- MCFG_GFXDECODE( kramermc )
+ MCFG_GFXDECODE_ADD("gfxdecode", kramermc )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/lcmate2.c b/src/mess/drivers/lcmate2.c
index ec78190b9a1..33106f7b10f 100644
--- a/src/mess/drivers/lcmate2.c
+++ b/src/mess/drivers/lcmate2.c
@@ -242,7 +242,7 @@ static MACHINE_CONFIG_START( lcmate2, lcmate2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 120-1, 0, 18-1)
MCFG_PALETTE_LENGTH(2)
MCFG_DEFAULT_LAYOUT(layout_lcd)
- MCFG_GFXDECODE(lcmate2)
+ MCFG_GFXDECODE_ADD("gfxdecode", lcmate2)
MCFG_HD44780_ADD("hd44780")
MCFG_HD44780_LCD_SIZE(2, 20)
diff --git a/src/mess/drivers/llc.c b/src/mess/drivers/llc.c
index 5057f2abb70..39573968c98 100644
--- a/src/mess/drivers/llc.c
+++ b/src/mess/drivers/llc.c
@@ -216,7 +216,7 @@ static MACHINE_CONFIG_START( llc1, llc_state )
MCFG_SCREEN_SIZE(64*8, 16*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 16*8-1)
MCFG_SCREEN_UPDATE_DRIVER(llc_state, screen_update_llc1)
- MCFG_GFXDECODE(llc1)
+ MCFG_GFXDECODE_ADD("gfxdecode", llc1)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
MCFG_DEFAULT_LAYOUT(layout_llc1)
@@ -243,7 +243,7 @@ static MACHINE_CONFIG_START( llc2, llc_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(llc_state, screen_update_llc2)
- MCFG_GFXDECODE(llc2)
+ MCFG_GFXDECODE_ADD("gfxdecode", llc2)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/m79152pc.c b/src/mess/drivers/m79152pc.c
index 498aef4f2fc..d738d4b5d82 100644
--- a/src/mess/drivers/m79152pc.c
+++ b/src/mess/drivers/m79152pc.c
@@ -122,7 +122,7 @@ static MACHINE_CONFIG_START( m79152pc, m79152pc_state )
MCFG_SCREEN_SIZE(640, 300)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 300-1)
MCFG_SCREEN_UPDATE_DRIVER(m79152pc_state, screen_update_m79152pc)
- MCFG_GFXDECODE(m79152pc)
+ MCFG_GFXDECODE_ADD("gfxdecode", m79152pc)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/mbc200.c b/src/mess/drivers/mbc200.c
index 53d54f0664b..1cd82c5958a 100644
--- a/src/mess/drivers/mbc200.c
+++ b/src/mess/drivers/mbc200.c
@@ -269,7 +269,7 @@ static MACHINE_CONFIG_START( mbc200, mbc200_state )
MCFG_SCREEN_SIZE(640, 400)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
MCFG_SCREEN_UPDATE_DRIVER(mbc200_state, screen_update_mbc200)
- MCFG_GFXDECODE(mbc200)
+ MCFG_GFXDECODE_ADD("gfxdecode", mbc200)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/mbee.c b/src/mess/drivers/mbee.c
index b57e904b2e6..930cf8043ab 100644
--- a/src/mess/drivers/mbee.c
+++ b/src/mess/drivers/mbee.c
@@ -738,7 +738,7 @@ static MACHINE_CONFIG_START( mbee, mbee_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0, 19*16-1)
MCFG_SCREEN_UPDATE_DRIVER(mbee_state, screen_update_mbee)
- MCFG_GFXDECODE(mbee)
+ MCFG_GFXDECODE_ADD("gfxdecode", mbee)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_amber) // usually sold with amber or green monitor
@@ -783,7 +783,7 @@ static MACHINE_CONFIG_START( mbeeic, mbee_state )
MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 19*16-1)
MCFG_SCREEN_UPDATE_DRIVER(mbee_state, screen_update_mbee)
- MCFG_GFXDECODE(mbeeic)
+ MCFG_GFXDECODE_ADD("gfxdecode", mbeeic)
MCFG_PALETTE_LENGTH(96)
MCFG_PALETTE_INIT_OVERRIDE(mbee_state,mbeeic)
@@ -829,7 +829,7 @@ static MACHINE_CONFIG_DERIVED( mbeeppc, mbeeic )
MCFG_CPU_PROGRAM_MAP(mbeeppc_mem)
MCFG_CPU_IO_MAP(mbeeppc_io)
MCFG_VIDEO_START_OVERRIDE(mbee_state,mbeeppc)
- MCFG_GFXDECODE(mbeeppc)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", mbeeppc)
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT_OVERRIDE(mbee_state,mbeeppc)
MCFG_DEVICE_REMOVE("crtc")
diff --git a/src/mess/drivers/megadriv.c b/src/mess/drivers/megadriv.c
index b87dbea7e1e..4d1aeda9726 100644
--- a/src/mess/drivers/megadriv.c
+++ b/src/mess/drivers/megadriv.c
@@ -642,6 +642,9 @@ static MACHINE_CONFIG_START( genesis_scd, md_cons_state )
MCFG_MACHINE_RESET_OVERRIDE( md_cons_state, ms_megadriv )
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_US, 0)
+ MCFG_SEGACD_GFXDECODE("gfxdecode")
+
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_CDROM_ADD( "cdrom",scd_cdrom )
MCFG_SOFTWARE_LIST_ADD("cd_list","segacd")
@@ -654,6 +657,9 @@ static MACHINE_CONFIG_START( md_scd, md_cons_state )
MCFG_MACHINE_RESET_OVERRIDE( md_cons_state, ms_megadriv )
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_EUROPE, 0)
+ MCFG_SEGACD_GFXDECODE("gfxdecode")
+
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
MCFG_CDROM_ADD( "cdrom",scd_cdrom )
@@ -667,6 +673,10 @@ static MACHINE_CONFIG_START( mdj_scd, md_cons_state )
MCFG_MACHINE_RESET_OVERRIDE( md_cons_state, ms_megadriv )
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_JAPAN, 0)
+ MCFG_SEGACD_GFXDECODE("gfxdecode")
+
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
+
MCFG_CDROM_ADD( "cdrom",scd_cdrom )
MCFG_SOFTWARE_LIST_ADD("cd_list","megacdj")
@@ -676,6 +686,9 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( genesis_32x_scd, genesis_32x )
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_US, 0)
+ MCFG_SEGACD_GFXDECODE("gfxdecode")
+
+ MCFG_GFXDECODE_ADD("gfxdecode", empty)
//MCFG_QUANTUM_PERFECT_CPU("32x_master_sh2")
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/microtan.c b/src/mess/drivers/microtan.c
index 65cb0b877b7..b49e18154d8 100644
--- a/src/mess/drivers/microtan.c
+++ b/src/mess/drivers/microtan.c
@@ -229,7 +229,7 @@ static MACHINE_CONFIG_START( microtan, microtan_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*16, 16*16-1)
MCFG_SCREEN_UPDATE_DRIVER(microtan_state, screen_update_microtan)
- MCFG_GFXDECODE(microtan)
+ MCFG_GFXDECODE_ADD("gfxdecode", microtan)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/mikro80.c b/src/mess/drivers/mikro80.c
index c96e50d5540..0e3282fcbad 100644
--- a/src/mess/drivers/mikro80.c
+++ b/src/mess/drivers/mikro80.c
@@ -183,7 +183,7 @@ static MACHINE_CONFIG_START( mikro80, mikro80_state )
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(mikro80_state, screen_update_mikro80)
- MCFG_GFXDECODE(mikro80)
+ MCFG_GFXDECODE_ADD("gfxdecode", mikro80)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/mikrosha.c b/src/mess/drivers/mikrosha.c
index 30c4bdb9f4b..d349f5d6d3e 100644
--- a/src/mess/drivers/mikrosha.c
+++ b/src/mess/drivers/mikrosha.c
@@ -218,7 +218,7 @@ static MACHINE_CONFIG_START( mikrosha, mikrosha_state )
MCFG_SCREEN_SIZE(78*6, 30*10)
MCFG_SCREEN_VISIBLE_AREA(0, 78*6-1, 0, 30*10-1)
- MCFG_GFXDECODE(mikrosha)
+ MCFG_GFXDECODE_ADD("gfxdecode", mikrosha)
MCFG_PALETTE_LENGTH(3)
MCFG_PALETTE_INIT_OVERRIDE(mikrosha_state,radio86)
diff --git a/src/mess/drivers/mmodular.c b/src/mess/drivers/mmodular.c
index 1eb45f26dfa..7499c19da07 100644
--- a/src/mess/drivers/mmodular.c
+++ b/src/mess/drivers/mmodular.c
@@ -1524,7 +1524,7 @@ static MACHINE_CONFIG_FRAGMENT ( chess_common )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(polgar_state,chess_lcd)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- MCFG_GFXDECODE(chess_lcd)
+ MCFG_GFXDECODE_ADD("gfxdecode", chess_lcd)
MCFG_HD44780_ADD("hd44780")
MCFG_HD44780_LCD_SIZE(2, 16)
diff --git a/src/mess/drivers/modellot.c b/src/mess/drivers/modellot.c
index 26f2cec7479..8b282b2dc39 100644
--- a/src/mess/drivers/modellot.c
+++ b/src/mess/drivers/modellot.c
@@ -166,7 +166,7 @@ static MACHINE_CONFIG_START( modellot, modellot_state )
MCFG_SCREEN_SIZE(64*8, 16*16)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 16*16-1)
MCFG_SCREEN_UPDATE_DRIVER(modellot_state, screen_update_modellot)
- MCFG_GFXDECODE( modellot )
+ MCFG_GFXDECODE_ADD("gfxdecode", modellot )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
diff --git a/src/mess/drivers/molecular.c b/src/mess/drivers/molecular.c
index 457a5a4b7f8..3b567c88803 100644
--- a/src/mess/drivers/molecular.c
+++ b/src/mess/drivers/molecular.c
@@ -306,7 +306,7 @@ static MACHINE_CONFIG_START( molecula, molecula_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
- MCFG_GFXDECODE(molecula)
+ MCFG_GFXDECODE_ADD("gfxdecode", molecula)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mess/drivers/multi8.c b/src/mess/drivers/multi8.c
index 058ab7eaac9..5dbc43732db 100644
--- a/src/mess/drivers/multi8.c
+++ b/src/mess/drivers/multi8.c
@@ -183,7 +183,7 @@ UINT32 multi8_state::screen_update_multi8(screen_device &screen, bitmap_ind16 &b
}
}
- // machine().gfx[0]->opaque(bitmap,cliprect, tile,color >> 5, 0, 0, x*8, y*8);
+ // m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, tile,color >> 5, 0, 0, x*8, y*8);
// draw cursor
if(mc6845_cursor_addr+0xc000 == count)
@@ -674,7 +674,7 @@ static MACHINE_CONFIG_START( multi8, multi8_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
MCFG_SCREEN_UPDATE_DRIVER(multi8_state, screen_update_multi8)
MCFG_PALETTE_LENGTH(8)
- MCFG_GFXDECODE(multi8)
+ MCFG_GFXDECODE_ADD("gfxdecode", multi8)
/* Audio */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/mx2178.c b/src/mess/drivers/mx2178.c
index 4d0e4e31dda..cb875ade955 100644
--- a/src/mess/drivers/mx2178.c
+++ b/src/mess/drivers/mx2178.c
@@ -182,7 +182,7 @@ static MACHINE_CONFIG_START( mx2178, mx2178_state )
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
- MCFG_GFXDECODE(mx2178)
+ MCFG_GFXDECODE_ADD("gfxdecode", mx2178)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
diff --git a/src/mess/drivers/myb3k.c b/src/mess/drivers/myb3k.c
index a60fb06d750..7e1384fdd22 100644
--- a/src/mess/drivers/myb3k.c
+++ b/src/mess/drivers/myb3k.c
@@ -283,7 +283,7 @@ static MACHINE_CONFIG_START( myb3k, myb3k_state )
MCFG_SCREEN_SIZE(320, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
MCFG_SCREEN_UPDATE_DRIVER(myb3k_state, screen_update_myb3k)
- MCFG_GFXDECODE(myb3k)
+ MCFG_GFXDECODE_ADD("gfxdecode", myb3k)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/mycom.c b/src/mess/drivers/mycom.c
index 85361029319..dc1b8daa2c2 100644
--- a/src/mess/drivers/mycom.c
+++ b/src/mess/drivers/mycom.c
@@ -562,7 +562,7 @@ static MACHINE_CONFIG_START( mycom, mycom_state )
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 192-1)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
- MCFG_GFXDECODE(mycom)
+ MCFG_GFXDECODE_ADD("gfxdecode", mycom)
/* Manual states clock is 1.008mhz for 40 cols, and 2.016 mhz for 80 cols.
The CRTC is a HD46505S - same as a 6845. The start registers need to be readable. */
diff --git a/src/mess/drivers/mz2000.c b/src/mess/drivers/mz2000.c
index 15944a08a6b..f42e38249c8 100644
--- a/src/mess/drivers/mz2000.c
+++ b/src/mess/drivers/mz2000.c
@@ -883,11 +883,11 @@ static MACHINE_CONFIG_START( mz2000, mz2000_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
+ MCFG_SCREEN_UPDATE_DRIVER(mz2000_state, screen_update_mz2000)
- MCFG_GFXDECODE(mz2000)
+ MCFG_GFXDECODE_ADD("gfxdecode", mz2000)
MCFG_PALETTE_LENGTH(8)
- MCFG_SCREEN_UPDATE_DRIVER(mz2000_state, screen_update_mz2000)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/mz2500.c b/src/mess/drivers/mz2500.c
index 0974cc5f08a..c488cbbdb98 100644
--- a/src/mess/drivers/mz2500.c
+++ b/src/mess/drivers/mz2500.c
@@ -934,9 +934,9 @@ void mz2500_state::mz2500_ram_write(UINT16 offset, UINT8 data, UINT8 bank_num)
{
m_pcg_ram[offset] = data;
if((offset & 0x1800) == 0x0000)
- machine().gfx[3]->mark_dirty((offset) >> 3);
+ m_gfxdecode->gfx(3)->mark_dirty((offset) >> 3);
else
- machine().gfx[4]->mark_dirty((offset & 0x7ff) >> 3);
+ m_gfxdecode->gfx(4)->mark_dirty((offset & 0x7ff) >> 3);
}
break;
}
@@ -1776,8 +1776,8 @@ void mz2500_state::machine_start()
save_pointer(NAME(m_emm_ram), 0x100000);
/* TODO: gfx[4] crashes as per now */
- machine().gfx[3] = auto_alloc(machine(), gfx_element(machine(), mz2500_pcg_layout_1bpp, (UINT8 *)m_pcg_ram, 0x10, 0));
- machine().gfx[4] = auto_alloc(machine(), gfx_element(machine(), mz2500_pcg_layout_3bpp, (UINT8 *)m_pcg_ram, 4, 0));
+ m_gfxdecode->set_gfx(3, auto_alloc(machine(), gfx_element(machine(), mz2500_pcg_layout_1bpp, (UINT8 *)m_pcg_ram, 0x10, 0)));
+ m_gfxdecode->set_gfx(4, auto_alloc(machine(), gfx_element(machine(), mz2500_pcg_layout_3bpp, (UINT8 *)m_pcg_ram, 4, 0)));
}
void mz2500_state::machine_reset()
@@ -2160,7 +2160,7 @@ static MACHINE_CONFIG_START( mz2500, mz2500_state )
MCFG_PALETTE_LENGTH(0x200)
- MCFG_GFXDECODE(mz2500)
+ MCFG_GFXDECODE_ADD("gfxdecode", mz2500)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/mz3500.c b/src/mess/drivers/mz3500.c
index 40709ffe6be..82a3a57eb5e 100644
--- a/src/mess/drivers/mz3500.c
+++ b/src/mess/drivers/mz3500.c
@@ -879,7 +879,7 @@ static MACHINE_CONFIG_START( mz3500, mz3500_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
- MCFG_GFXDECODE(mz3500)
+ MCFG_GFXDECODE_ADD("gfxdecode", mz3500)
MCFG_PALETTE_LENGTH(8)
diff --git a/src/mess/drivers/mz700.c b/src/mess/drivers/mz700.c
index 34d48d18fe7..51ae7529424 100644
--- a/src/mess/drivers/mz700.c
+++ b/src/mess/drivers/mz700.c
@@ -339,7 +339,7 @@ static MACHINE_CONFIG_START( mz700, mz_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_17_73447MHz/2, 568, 0, 40*8, 312, 0, 25*8)
MCFG_SCREEN_UPDATE_DRIVER(mz_state, screen_update_mz700)
- MCFG_GFXDECODE(mz700)
+ MCFG_GFXDECODE_ADD("gfxdecode", mz700)
MCFG_PALETTE_LENGTH(256*2)
/* sound hardware */
@@ -374,7 +374,8 @@ static MACHINE_CONFIG_DERIVED( mz800, mz700 )
MCFG_CPU_PROGRAM_MAP(mz800_mem)
MCFG_CPU_IO_MAP(mz800_io)
- MCFG_GFXDECODE(mz800)
+ MCFG_GFXDECODE_MODIFY("gfxdecode",mz800)
+
MCFG_VIDEO_START_OVERRIDE(mz_state,mz800)
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mess/drivers/mz80.c b/src/mess/drivers/mz80.c
index a66d3b2aee7..12f4627dff5 100644
--- a/src/mess/drivers/mz80.c
+++ b/src/mess/drivers/mz80.c
@@ -289,7 +289,7 @@ static MACHINE_CONFIG_START( mz80k, mz80_state )
MCFG_SCREEN_SIZE(320, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 199)
MCFG_SCREEN_UPDATE_DRIVER(mz80_state, screen_update_mz80k)
- MCFG_GFXDECODE(mz80k)
+ MCFG_GFXDECODE_ADD("gfxdecode", mz80k)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
@@ -310,7 +310,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mz80kj, mz80k )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(mz80_state, screen_update_mz80kj)
- MCFG_GFXDECODE(mz80kj)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", mz80kj)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( mz80a, mz80k )
diff --git a/src/mess/drivers/nakajies.c b/src/mess/drivers/nakajies.c
index 85b5937c3e7..2f4e65af9bb 100644
--- a/src/mess/drivers/nakajies.c
+++ b/src/mess/drivers/nakajies.c
@@ -749,7 +749,7 @@ static MACHINE_CONFIG_START( nakajies210, nakajies_state )
MCFG_SCREEN_UPDATE_DRIVER( nakajies_state, screen_update )
MCFG_SCREEN_SIZE( 80 * 6, 8 * 8 )
MCFG_SCREEN_VISIBLE_AREA( 0, 6 * 80 - 1, 0, 8 * 8 - 1 )
- MCFG_GFXDECODE(wales210)
+ MCFG_GFXDECODE_ADD("gfxdecode", wales210)
MCFG_PALETTE_LENGTH( 2 )
MCFG_DEFAULT_LAYOUT(layout_lcd)
@@ -765,18 +765,18 @@ static MACHINE_CONFIG_START( nakajies210, nakajies_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( dator3k, nakajies210 )
- MCFG_GFXDECODE(dator3k)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", dator3k)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( nakajies220, nakajies210 )
- MCFG_GFXDECODE(drwrt400)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", drwrt400)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( nakajies250, nakajies210 )
MCFG_SCREEN_MODIFY( "screen" )
MCFG_SCREEN_SIZE( 80 * 6, 16 * 8 )
MCFG_SCREEN_VISIBLE_AREA( 0, 6 * 80 - 1, 0, 16 * 8 - 1 )
- MCFG_GFXDECODE(drwrt200)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", drwrt200)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/nanos.c b/src/mess/drivers/nanos.c
index 461b4701b56..c714d17c3e4 100644
--- a/src/mess/drivers/nanos.c
+++ b/src/mess/drivers/nanos.c
@@ -569,7 +569,7 @@ static MACHINE_CONFIG_START( nanos, nanos_state )
MCFG_SCREEN_UPDATE_DRIVER(nanos_state, screen_update)
MCFG_SCREEN_SIZE(80*8, 25*10)
MCFG_SCREEN_VISIBLE_AREA(0,80*8-1,0,25*10-1)
- MCFG_GFXDECODE(nanos)
+ MCFG_GFXDECODE_ADD("gfxdecode", nanos)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/nascom1.c b/src/mess/drivers/nascom1.c
index 5e5cdd00ee3..d21e10bb3ed 100644
--- a/src/mess/drivers/nascom1.c
+++ b/src/mess/drivers/nascom1.c
@@ -295,7 +295,7 @@ static MACHINE_CONFIG_START( nascom1, nascom1_state )
MCFG_SCREEN_VISIBLE_AREA(0, 48 * 8 - 1, 0, 16 * 16 - 1)
MCFG_SCREEN_UPDATE_DRIVER(nascom1_state, screen_update_nascom1)
- MCFG_GFXDECODE(nascom1)
+ MCFG_GFXDECODE_ADD("gfxdecode", nascom1)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
@@ -352,7 +352,7 @@ static MACHINE_CONFIG_DERIVED( nascom2, nascom1 )
MCFG_SCREEN_VISIBLE_AREA(0, 48 * 8 - 1, 0, 16 * 14 - 1)
MCFG_SCREEN_UPDATE_DRIVER(nascom1_state, screen_update_nascom2)
- MCFG_GFXDECODE(nascom2)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", nascom2)
MCFG_FD1793_ADD("wd1793", nascom2_wd17xx_interface )
diff --git a/src/mess/drivers/newbrain.c b/src/mess/drivers/newbrain.c
index cafc29733ed..5ee1244eff8 100644
--- a/src/mess/drivers/newbrain.c
+++ b/src/mess/drivers/newbrain.c
@@ -1371,7 +1371,7 @@ static MACHINE_CONFIG_START( newbrain_a, newbrain_state )
MCFG_CPU_IO_MAP(newbrain_cop_io_map)
MCFG_COP400_CONFIG( COP400_CKI_DIVISOR_16, COP400_CKO_OSCILLATOR_OUTPUT, COP400_MICROBUS_ENABLED )
- MCFG_GFXDECODE(newbrain)
+ MCFG_GFXDECODE_ADD("gfxdecode", newbrain)
MCFG_TIMER_DRIVER_ADD_PERIODIC("cop_regint", newbrain_state, cop_regint_tick, attotime::from_usec(12500))
diff --git a/src/mess/drivers/odyssey2.c b/src/mess/drivers/odyssey2.c
index 917f87a0153..a6a02b895cf 100644
--- a/src/mess/drivers/odyssey2.c
+++ b/src/mess/drivers/odyssey2.c
@@ -776,7 +776,7 @@ static MACHINE_CONFIG_START( odyssey2, odyssey2_state )
MCFG_SCREEN_RAW_PARAMS( XTAL_7_15909MHz/2 * 2, i8244_device::LINE_CLOCKS, i8244_device::START_ACTIVE_SCAN, i8244_device::END_ACTIVE_SCAN, i8244_device::LINES, i8244_device::START_Y, i8244_device::START_Y + i8244_device::SCREEN_HEIGHT )
MCFG_SCREEN_UPDATE_DRIVER(odyssey2_state, screen_update_odyssey2)
- MCFG_GFXDECODE( odyssey2 )
+ MCFG_GFXDECODE_ADD("gfxdecode", odyssey2 )
MCFG_PALETTE_LENGTH(32)
/* sound hardware */
@@ -805,7 +805,7 @@ static MACHINE_CONFIG_START( videopac, odyssey2_state )
MCFG_SCREEN_RAW_PARAMS( XTAL_17_73447MHz/5 * 2, i8244_device::LINE_CLOCKS, i8244_device::START_ACTIVE_SCAN, i8244_device::END_ACTIVE_SCAN, i8245_device::LINES, i8244_device::START_Y, i8244_device::START_Y + i8244_device::SCREEN_HEIGHT )
MCFG_SCREEN_UPDATE_DRIVER(odyssey2_state, screen_update_odyssey2)
- MCFG_GFXDECODE( odyssey2 )
+ MCFG_GFXDECODE_ADD("gfxdecode", odyssey2 )
MCFG_PALETTE_LENGTH(16)
/* sound hardware */
@@ -833,7 +833,7 @@ static MACHINE_CONFIG_START( g7400, g7400_state )
MCFG_SCREEN_RAW_PARAMS( 3540000 * 2, i8244_device::LINE_CLOCKS, i8244_device::START_ACTIVE_SCAN, i8244_device::END_ACTIVE_SCAN, i8245_device::LINES, i8244_device::START_Y, i8244_device::START_Y + i8244_device::SCREEN_HEIGHT )
MCFG_SCREEN_UPDATE_DRIVER(odyssey2_state, screen_update_odyssey2)
- MCFG_GFXDECODE( odyssey2 )
+ MCFG_GFXDECODE_ADD("gfxdecode", odyssey2 )
MCFG_PALETTE_LENGTH(16)
MCFG_I8243_ADD( "i8243", NOOP, WRITE8(g7400_state,i8243_port_w))
@@ -867,7 +867,7 @@ static MACHINE_CONFIG_START( odyssey3, g7400_state )
MCFG_SCREEN_RAW_PARAMS( 3540000 * 2, i8244_device::LINE_CLOCKS, i8244_device::START_ACTIVE_SCAN, i8244_device::END_ACTIVE_SCAN, i8244_device::LINES, i8244_device::START_Y, i8244_device::START_Y + i8244_device::SCREEN_HEIGHT )
MCFG_SCREEN_UPDATE_DRIVER(odyssey2_state, screen_update_odyssey2)
- MCFG_GFXDECODE( odyssey2 )
+ MCFG_GFXDECODE_ADD("gfxdecode", odyssey2 )
MCFG_PALETTE_LENGTH(16)
MCFG_I8243_ADD( "i8243", NOOP, WRITE8(g7400_state,i8243_port_w))
diff --git a/src/mess/drivers/okean240.c b/src/mess/drivers/okean240.c
index 4ebd731088d..5209e568d58 100644
--- a/src/mess/drivers/okean240.c
+++ b/src/mess/drivers/okean240.c
@@ -500,7 +500,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( okean240a, okean240t )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(okean240a_io)
- MCFG_GFXDECODE(okean240a)
+ MCFG_GFXDECODE_ADD("gfxdecode", okean240a)
MCFG_DEVICE_REMOVE(TERMINAL_TAG)
MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, terminal_intf)
MACHINE_CONFIG_END
@@ -508,7 +508,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( okean240, okean240t )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(okean240_io)
- MCFG_GFXDECODE(okean240)
+ MCFG_GFXDECODE_ADD("gfxdecode", okean240)
MCFG_DEVICE_REMOVE(TERMINAL_TAG)
MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, terminal_intf)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/osborne1.c b/src/mess/drivers/osborne1.c
index 254a31cd9d5..dd1bb6a8436 100644
--- a/src/mess/drivers/osborne1.c
+++ b/src/mess/drivers/osborne1.c
@@ -242,7 +242,7 @@ static MACHINE_CONFIG_START( osborne1, osborne1_state )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_UPDATE_DRIVER(osborne1_state, screen_update)
MCFG_SCREEN_RAW_PARAMS( MAIN_CLOCK/2, 512, 0, 416, 260, 0, 240 )
- MCFG_GFXDECODE(osborne1)
+ MCFG_GFXDECODE_ADD("gfxdecode", osborne1)
MCFG_PALETTE_LENGTH( 3 )
MCFG_SPEAKER_STANDARD_MONO( "mono" )
diff --git a/src/mess/drivers/osi.c b/src/mess/drivers/osi.c
index 771925f5117..6219a77774b 100644
--- a/src/mess/drivers/osi.c
+++ b/src/mess/drivers/osi.c
@@ -756,7 +756,7 @@ static MACHINE_CONFIG_START( osi600, sb2m600_state )
/* video hardware */
MCFG_FRAGMENT_ADD(osi600_video)
- MCFG_GFXDECODE(osi)
+ MCFG_GFXDECODE_ADD("gfxdecode", osi)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -784,7 +784,7 @@ static MACHINE_CONFIG_START( uk101, uk101_state )
/* video hardware */
MCFG_FRAGMENT_ADD(uk101_video)
- MCFG_GFXDECODE(osi)
+ MCFG_GFXDECODE_ADD("gfxdecode", osi)
/* cassette ACIA */
MCFG_ACIA6850_ADD("acia_0", uk101_acia_intf)
@@ -806,7 +806,7 @@ static MACHINE_CONFIG_START( c1p, c1p_state )
/* video hardware */
MCFG_FRAGMENT_ADD(osi630_video)
- MCFG_GFXDECODE(osi)
+ MCFG_GFXDECODE_ADD("gfxdecode", osi)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/p2000t.c b/src/mess/drivers/p2000t.c
index 82eb5e417fb..d84c5230c2a 100644
--- a/src/mess/drivers/p2000t.c
+++ b/src/mess/drivers/p2000t.c
@@ -260,7 +260,7 @@ static MACHINE_CONFIG_START( p2000m, p2000t_state )
MCFG_SCREEN_VISIBLE_AREA(0, 80 * 12 - 1, 0, 24 * 20 - 1)
MCFG_VIDEO_START_OVERRIDE(p2000t_state,p2000m)
MCFG_SCREEN_UPDATE_DRIVER(p2000t_state, screen_update_p2000m)
- MCFG_GFXDECODE( p2000m )
+ MCFG_GFXDECODE_ADD("gfxdecode", p2000m )
MCFG_PALETTE_LENGTH(4)
MCFG_PALETTE_INIT_OVERRIDE(p2000t_state,p2000m)
diff --git a/src/mess/drivers/partner.c b/src/mess/drivers/partner.c
index 10a65c9a319..7097d7b6eef 100644
--- a/src/mess/drivers/partner.c
+++ b/src/mess/drivers/partner.c
@@ -207,7 +207,7 @@ static MACHINE_CONFIG_START( partner, partner_state )
MCFG_SCREEN_SIZE(78*6, 30*10)
MCFG_SCREEN_VISIBLE_AREA(0, 78*6-1, 0, 30*10-1)
- MCFG_GFXDECODE(partner)
+ MCFG_GFXDECODE_ADD("gfxdecode", partner)
MCFG_PALETTE_LENGTH(3)
MCFG_PALETTE_INIT_OVERRIDE(partner_state,radio86)
diff --git a/src/mess/drivers/paso1600.c b/src/mess/drivers/paso1600.c
index 3567d2f6566..762ef8e9f08 100644
--- a/src/mess/drivers/paso1600.c
+++ b/src/mess/drivers/paso1600.c
@@ -174,7 +174,7 @@ READ8_MEMBER( paso1600_state::paso1600_pcg_r )
WRITE8_MEMBER( paso1600_state::paso1600_pcg_w )
{
m_p_pcg[offset] = data;
- machine().gfx[0]->mark_dirty(offset >> 3);
+ m_gfxdecode->gfx(0)->mark_dirty(offset >> 3);
}
WRITE8_MEMBER( paso1600_state::paso1600_6845_address_w )
@@ -348,7 +348,7 @@ static MACHINE_CONFIG_START( paso1600, paso1600_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(paso1600_state, screen_update_paso1600)
- MCFG_GFXDECODE(paso1600)
+ MCFG_GFXDECODE_ADD("gfxdecode", paso1600)
MCFG_PALETTE_LENGTH(8)
// MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/pasopia.c b/src/mess/drivers/pasopia.c
index 810097267ad..4d8e5569d8b 100644
--- a/src/mess/drivers/pasopia.c
+++ b/src/mess/drivers/pasopia.c
@@ -368,7 +368,7 @@ static MACHINE_CONFIG_START( pasopia, pasopia_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
- MCFG_GFXDECODE(pasopia)
+ MCFG_GFXDECODE_ADD("gfxdecode", pasopia)
MCFG_PALETTE_LENGTH(8)
/* Devices */
diff --git a/src/mess/drivers/pasopia7.c b/src/mess/drivers/pasopia7.c
index 2f20534e65f..a9c78d6640c 100644
--- a/src/mess/drivers/pasopia7.c
+++ b/src/mess/drivers/pasopia7.c
@@ -1017,7 +1017,7 @@ static MACHINE_CONFIG_DERIVED( p7_raster, p7_base )
MCFG_SCREEN_UPDATE_DRIVER(pasopia7_state, screen_update_pasopia7)
MCFG_PALETTE_LENGTH(8)
MCFG_PALETTE_INIT_OVERRIDE(pasopia7_state,p7_raster)
- MCFG_GFXDECODE( pasopia7 )
+ MCFG_GFXDECODE_ADD("gfxdecode", pasopia7 )
MCFG_MC6845_ADD("crtc", H46505, "screen", VDP_CLOCK, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */
MACHINE_CONFIG_END
@@ -1033,7 +1033,7 @@ static MACHINE_CONFIG_DERIVED( p7_lcd, p7_base )
MCFG_SCREEN_UPDATE_DRIVER(pasopia7_state, screen_update_pasopia7)
MCFG_PALETTE_LENGTH(8)
MCFG_PALETTE_INIT_OVERRIDE(pasopia7_state,p7_lcd)
- MCFG_GFXDECODE( pasopia7 )
+ MCFG_GFXDECODE_ADD("gfxdecode", pasopia7 )
MCFG_MC6845_ADD("crtc", H46505, "screen", LCD_CLOCK, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */
MCFG_DEFAULT_LAYOUT( layout_lcd )
diff --git a/src/mess/drivers/pb1000.c b/src/mess/drivers/pb1000.c
index 7d6252e7ed7..4bf41223331 100644
--- a/src/mess/drivers/pb1000.c
+++ b/src/mess/drivers/pb1000.c
@@ -520,7 +520,7 @@ 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_GFXDECODE( pb1000 )
+ MCFG_GFXDECODE_ADD("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 2cc2f161499..2dd3a780449 100644
--- a/src/mess/drivers/pc.c
+++ b/src/mess/drivers/pc.c
@@ -830,7 +830,7 @@ static MACHINE_CONFIG_START( pccga, pc_state )
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
MCFG_FRAGMENT_ADD( pcvideo_cga )
- MCFG_GFXDECODE(ibm5150)
+ MCFG_GFXDECODE_ADD("gfxdecode", ibm5150)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -877,7 +877,7 @@ static GFXDECODE_START( pc10iii )
GFXDECODE_END
static MACHINE_CONFIG_DERIVED( pc10iii, pccga )
- MCFG_GFXDECODE(pc10iii)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pc10iii)
MACHINE_CONFIG_END
static const gfx_layout europc_8_charlayout =
@@ -948,7 +948,7 @@ static MACHINE_CONFIG_START( europc, europc_pc_state )
/* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_aga )
- MCFG_GFXDECODE(europc)
+ MCFG_GFXDECODE_ADD("gfxdecode", europc)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1026,7 +1026,7 @@ static MACHINE_CONFIG_START( t1000hx, tandy_pc_state )
/* video hardware */
MCFG_PCVIDEO_T1000_ADD("pcvideo_t1000")
- MCFG_GFXDECODE(t1000)
+ MCFG_GFXDECODE_ADD("gfxdecode", t1000)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1095,7 +1095,7 @@ static MACHINE_CONFIG_START( t1000_16, tandy_pc_state )
/* video hardware */
MCFG_PCVIDEO_T1000_ADD("pcvideo_t1000")
- MCFG_GFXDECODE(t1000)
+ MCFG_GFXDECODE_ADD("gfxdecode", t1000)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1165,7 +1165,7 @@ static MACHINE_CONFIG_START( t1000_286, tandy_pc_state )
/* video hardware */
MCFG_PCVIDEO_T1000_ADD("pcvideo_t1000")
- MCFG_GFXDECODE(t1000)
+ MCFG_GFXDECODE_ADD("gfxdecode", t1000)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1240,7 +1240,7 @@ static MACHINE_CONFIG_START( ibmpcjr, tandy_pc_state )
/* video hardware */
MCFG_PCVIDEO_PCJR_ADD("pcvideo_pcjr")
- MCFG_GFXDECODE(ibmpcjr)
+ MCFG_GFXDECODE_ADD("gfxdecode", ibmpcjr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1300,7 +1300,7 @@ static MACHINE_CONFIG_DERIVED( ibmpcjx, ibmpcjr )
MCFG_FLOPPY_DRIVE_ADD("upd765:0", ibmpc_floppies, "35dd", pc_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", ibmpc_floppies, "35dd", pc_state::floppy_formats)
- MCFG_GFXDECODE(ibmpcjx)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", ibmpcjx)
MACHINE_CONFIG_END
@@ -1321,7 +1321,7 @@ static MACHINE_CONFIG_START( asst128, pc_state )
/* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_mc1502 )
- MCFG_GFXDECODE(ibmpcjr)
+ MCFG_GFXDECODE_ADD("gfxdecode", ibmpcjr)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1464,7 +1464,7 @@ static MACHINE_CONFIG_START( poisk2, pc_state )
/* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_poisk2 )
- MCFG_GFXDECODE(ibm5150)
+ MCFG_GFXDECODE_ADD("gfxdecode", ibm5150)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1527,7 +1527,7 @@ static MACHINE_CONFIG_START( zenith, pc_state )
/* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_cga )
- MCFG_GFXDECODE(ibm5150)
+ MCFG_GFXDECODE_ADD("gfxdecode", ibm5150)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1590,7 +1590,7 @@ static MACHINE_CONFIG_START( olivetti, pc_state )
/* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_cga )
- MCFG_GFXDECODE(ibm5150)
+ MCFG_GFXDECODE_ADD("gfxdecode", ibm5150)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -1653,7 +1653,7 @@ static MACHINE_CONFIG_START( ibm5550, pc_state )
/* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_cga )
- MCFG_GFXDECODE(ibm5150)
+ MCFG_GFXDECODE_ADD("gfxdecode", ibm5150)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/pc100.c b/src/mess/drivers/pc100.c
index 9e22886433f..15a08b73736 100644
--- a/src/mess/drivers/pc100.c
+++ b/src/mess/drivers/pc100.c
@@ -531,7 +531,7 @@ static MACHINE_CONFIG_START( pc100, pc100_state )
/* TODO: Unknown Pixel Clock and CRTC is dynamic */
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK*4, 1024, 0, 768, 264*2, 0, 512)
MCFG_SCREEN_UPDATE_DRIVER(pc100_state, screen_update_pc100)
- MCFG_GFXDECODE(pc100)
+ MCFG_GFXDECODE_ADD("gfxdecode", pc100)
MCFG_PALETTE_LENGTH(16)
// MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/pc2000.c b/src/mess/drivers/pc2000.c
index a6c7c233702..5bc2861ab3b 100644
--- a/src/mess/drivers/pc2000.c
+++ b/src/mess/drivers/pc2000.c
@@ -758,7 +758,7 @@ static MACHINE_CONFIG_START( pc2000, pc2000_state )
MCFG_SCREEN_VISIBLE_AREA(0, 120-1, 0, 18-1)
MCFG_PALETTE_LENGTH(2)
- MCFG_GFXDECODE(pc2000)
+ MCFG_GFXDECODE_ADD("gfxdecode", pc2000)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_HD44780_ADD("hd44780")
@@ -810,7 +810,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( gl3000s, pc2000, gl3000s_state )
MCFG_SCREEN_VISIBLE_AREA(0, 120-1, 0, 16-1)
MCFG_SCREEN_UPDATE_DRIVER( gl3000s_state, screen_update )
- MCFG_GFXDECODE(gl3000s)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gl3000s)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( gl4000, pc2000 )
diff --git a/src/mess/drivers/pc4.c b/src/mess/drivers/pc4.c
index dabbf5aa5bb..a360a51753c 100644
--- a/src/mess/drivers/pc4.c
+++ b/src/mess/drivers/pc4.c
@@ -231,7 +231,7 @@ 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_GFXDECODE(pc4)
+ MCFG_GFXDECODE_ADD("gfxdecode", pc4)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO( "mono" )
diff --git a/src/mess/drivers/pc6001.c b/src/mess/drivers/pc6001.c
index 226a1aa0e93..6050ca3d5ba 100644
--- a/src/mess/drivers/pc6001.c
+++ b/src/mess/drivers/pc6001.c
@@ -2315,7 +2315,7 @@ static MACHINE_CONFIG_START( pc6001, pc6001_state )
// MCFG_CPU_ADD("subcpu", I8049, 7987200)
- MCFG_GFXDECODE(pc6001m2)
+ MCFG_GFXDECODE_ADD("gfxdecode", pc6001m2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2372,7 +2372,7 @@ static MACHINE_CONFIG_DERIVED( pc6001m2, pc6001 )
MCFG_CPU_PROGRAM_MAP(pc6001m2_map)
MCFG_CPU_IO_MAP(pc6001m2_io)
- MCFG_GFXDECODE(pc6001m2)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pc6001m2)
MCFG_SOUND_ADD("upd7752", UPD7752, PC6001_MAIN_CLOCK/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
diff --git a/src/mess/drivers/pc8801.c b/src/mess/drivers/pc8801.c
index 4b2100337d7..0900f68d42b 100644
--- a/src/mess/drivers/pc8801.c
+++ b/src/mess/drivers/pc8801.c
@@ -2665,7 +2665,7 @@ static MACHINE_CONFIG_START( pc8801, pc8801_state )
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK_24KHz,848,0,640,448,0,400)
MCFG_SCREEN_UPDATE_DRIVER(pc8801_state, screen_update)
- MCFG_GFXDECODE( pc8801 )
+ MCFG_GFXDECODE_ADD("gfxdecode", pc8801 )
MCFG_PALETTE_LENGTH(0x10)
// MCFG_VIDEO_START_OVERRIDE(pc8801_state,pc8801)
diff --git a/src/mess/drivers/pc88va.c b/src/mess/drivers/pc88va.c
index 6c3679c4d01..82294ebb74d 100644
--- a/src/mess/drivers/pc88va.c
+++ b/src/mess/drivers/pc88va.c
@@ -643,8 +643,8 @@ WRITE16_MEMBER(pc88va_state::sys_mem_w)
if(knj_offset >= 0x50000/2 && knj_offset <= 0x53fff/2) // TODO: there's an area that can be write protected
{
COMBINE_DATA(&knj_ram[knj_offset]);
- machine().gfx[0]->mark_dirty((knj_offset * 2) / 8);
- machine().gfx[1]->mark_dirty((knj_offset * 2) / 32);
+ m_gfxdecode->gfx(0)->mark_dirty((knj_offset * 2) / 8);
+ m_gfxdecode->gfx(1)->mark_dirty((knj_offset * 2) / 32);
}
}
break;
@@ -1875,7 +1875,7 @@ static MACHINE_CONFIG_START( pc88va, pc88va_state )
MCFG_PALETTE_LENGTH(32)
// MCFG_PALETTE_INIT_OVERRIDE(pc88va_state, pc8801 )
- MCFG_GFXDECODE( pc88va )
+ MCFG_GFXDECODE_ADD("gfxdecode", 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 81b280878fb..44d3ac62252 100644
--- a/src/mess/drivers/pc9801.c
+++ b/src/mess/drivers/pc9801.c
@@ -1489,13 +1489,13 @@ WRITE8_MEMBER(pc9801_state::pc9801_a0_w)
if((m_font_addr & 0xff00) == 0x5600 || (m_font_addr & 0xff00) == 0x5700)
{
m_kanji_rom[pcg_offset] = data;
- machine().gfx[2]->mark_dirty(pcg_offset >> 5);
+ m_gfxdecode->gfx(2)->mark_dirty(pcg_offset >> 5);
}
return;
}
}
- //printf("Write to undefined port [%02x] <- %02x\n",offset+0xa0,data);
+ //printf("Write to undefined port [%02x) <- %02x\n",offset+0xa0,data);
}
}
@@ -1901,7 +1901,7 @@ WRITE8_MEMBER(pc9801_state::pc9801rs_knjram_w)
if((m_font_addr & 0xff00) == 0x5600 || (m_font_addr & 0xff00) == 0x5700)
{
m_kanji_rom[pcg_offset] = data;
- machine().gfx[2]->mark_dirty(pcg_offset >> 5);
+ m_gfxdecode->gfx(2)->mark_dirty(pcg_offset >> 5);
}
}
@@ -3734,7 +3734,7 @@ static MACHINE_CONFIG_START( pc9801, pc9801_state )
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT_OVERRIDE(pc9801_state,pc9801)
- MCFG_GFXDECODE(pc9801)
+ MCFG_GFXDECODE_ADD("gfxdecode", pc9801)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3798,7 +3798,7 @@ static MACHINE_CONFIG_START( pc9801rs, pc9801_state )
MCFG_PALETTE_LENGTH(16+16)
MCFG_PALETTE_INIT_OVERRIDE(pc9801_state,pc9801)
- MCFG_GFXDECODE(pc9801)
+ MCFG_GFXDECODE_ADD("gfxdecode", pc9801)
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -3876,7 +3876,7 @@ static MACHINE_CONFIG_START( pc9821, pc9801_state )
MCFG_PALETTE_LENGTH(16+16+256)
MCFG_PALETTE_INIT_OVERRIDE(pc9801_state,pc9801)
- MCFG_GFXDECODE(pc9801)
+ MCFG_GFXDECODE_ADD("gfxdecode", pc9801)
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/pcm.c b/src/mess/drivers/pcm.c
index 37d266fa636..f5b32d8fcd5 100644
--- a/src/mess/drivers/pcm.c
+++ b/src/mess/drivers/pcm.c
@@ -326,7 +326,7 @@ static MACHINE_CONFIG_START( pcm, pcm_state )
MCFG_SCREEN_UPDATE_DRIVER(pcm_state, screen_update)
MCFG_SCREEN_SIZE(64*8, 16*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 16*8-1)
- MCFG_GFXDECODE(pcm)
+ MCFG_GFXDECODE_ADD("gfxdecode", pcm)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/pda600.c b/src/mess/drivers/pda600.c
index 14628f7d640..39037c89937 100644
--- a/src/mess/drivers/pda600.c
+++ b/src/mess/drivers/pda600.c
@@ -213,7 +213,7 @@ static MACHINE_CONFIG_START( pda600, pda600_state )
MCFG_SCREEN_SIZE(240, 320)
MCFG_SCREEN_VISIBLE_AREA(0, 240-1, 0, 320-1)
MCFG_SCREEN_UPDATE_DRIVER( pda600_state, screen_update )
- MCFG_GFXDECODE(pda600)
+ MCFG_GFXDECODE_ADD("gfxdecode", pda600)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/pdp1.c b/src/mess/drivers/pdp1.c
index 1fdc498ced1..dda6d83e061 100644
--- a/src/mess/drivers/pdp1.c
+++ b/src/mess/drivers/pdp1.c
@@ -1963,7 +1963,7 @@ static MACHINE_CONFIG_START( pdp1, pdp1_state )
MCFG_DEVICE_ADD("typewriter", PDP1_PRINTER, 0)
MCFG_DEVICE_ADD("drum", PDP1_CYLINDER, 0)
- MCFG_GFXDECODE(pdp1)
+ MCFG_GFXDECODE_ADD("gfxdecode", pdp1)
MCFG_PALETTE_LENGTH(pen_crt_num_levels + sizeof(pdp1_colors) / 3 + sizeof(pdp1_palette))
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/pegasus.c b/src/mess/drivers/pegasus.c
index cc3ef427c33..762acfb75c0 100644
--- a/src/mess/drivers/pegasus.c
+++ b/src/mess/drivers/pegasus.c
@@ -477,7 +477,7 @@ static MACHINE_CONFIG_START( pegasus, pegasus_state )
MCFG_SCREEN_UPDATE_DRIVER(pegasus_state, screen_update)
MCFG_SCREEN_SIZE(32*8, 16*16)
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 16*16-1)
- MCFG_GFXDECODE(pegasus)
+ MCFG_GFXDECODE_ADD("gfxdecode", pegasus)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/pentagon.c b/src/mess/drivers/pentagon.c
index 76cfb998b5b..490dd6f6b36 100644
--- a/src/mess/drivers/pentagon.c
+++ b/src/mess/drivers/pentagon.c
@@ -180,7 +180,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( pentagon, spectrum_128, pentagon_state )
MCFG_MACHINE_RESET_OVERRIDE(pentagon_state, pentagon )
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
- MCFG_GFXDECODE(pentagon)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pentagon)
MCFG_SOFTWARE_LIST_ADD("cass_list_pen","pentagon_cass")
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/phunsy.c b/src/mess/drivers/phunsy.c
index 7d1543ff697..5958f95729b 100644
--- a/src/mess/drivers/phunsy.c
+++ b/src/mess/drivers/phunsy.c
@@ -363,7 +363,7 @@ static MACHINE_CONFIG_START( phunsy, phunsy_state )
*/
MCFG_SCREEN_RAW_PARAMS(XTAL_8MHz, 480, 0, 64*6, 313, 0, 256)
MCFG_SCREEN_UPDATE_DRIVER(phunsy_state, screen_update)
- MCFG_GFXDECODE(phunsy)
+ MCFG_GFXDECODE_ADD("gfxdecode", phunsy)
MCFG_PALETTE_LENGTH(8)
/* sound hardware */
diff --git a/src/mess/drivers/pk8020.c b/src/mess/drivers/pk8020.c
index ec78259b03f..bc986a19fec 100644
--- a/src/mess/drivers/pk8020.c
+++ b/src/mess/drivers/pk8020.c
@@ -216,7 +216,7 @@ static MACHINE_CONFIG_START( pk8020, pk8020_state )
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(pk8020_state, screen_update_pk8020)
- MCFG_GFXDECODE(pk8020)
+ MCFG_GFXDECODE_ADD("gfxdecode", pk8020)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mess/drivers/plan80.c b/src/mess/drivers/plan80.c
index 9411b52c1e2..445baab9b15 100644
--- a/src/mess/drivers/plan80.c
+++ b/src/mess/drivers/plan80.c
@@ -241,7 +241,7 @@ static MACHINE_CONFIG_START( plan80, plan80_state )
MCFG_SCREEN_UPDATE_DRIVER(plan80_state, screen_update)
MCFG_SCREEN_SIZE(48*6, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 48*6-1, 0, 32*8-1)
- MCFG_GFXDECODE(plan80)
+ MCFG_GFXDECODE_ADD("gfxdecode", plan80)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/pocketc.c b/src/mess/drivers/pocketc.c
index c77859eb8eb..6e00f7ce0b5 100644
--- a/src/mess/drivers/pocketc.c
+++ b/src/mess/drivers/pocketc.c
@@ -727,7 +727,7 @@ static MACHINE_CONFIG_FRAGMENT( pocketc )
MCFG_SCREEN_VISIBLE_AREA(0, 594-1, 0, 273-1)
// MCFG_SCREEN_SIZE(640, 273)
// MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 273-1)
- MCFG_GFXDECODE( pc1401 )
+ MCFG_GFXDECODE_ADD("gfxdecode", pc1401 )
MCFG_PALETTE_LENGTH(8*2)
MCFG_PALETTE_INIT( pocketc )
@@ -777,7 +777,7 @@ static MACHINE_CONFIG_START( pc1250, pc1251_state )
MCFG_SCREEN_SIZE(608, 300)
MCFG_SCREEN_VISIBLE_AREA(0, 608-1, 0, 300-1)
MCFG_SCREEN_UPDATE_DRIVER(pc1251_state, screen_update_pc1251)
- MCFG_GFXDECODE( pc1251 )
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pc1251 )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( pc1251, pc1250 )
diff --git a/src/mess/drivers/poly88.c b/src/mess/drivers/poly88.c
index bae385646a0..92db0a1050b 100644
--- a/src/mess/drivers/poly88.c
+++ b/src/mess/drivers/poly88.c
@@ -182,7 +182,7 @@ static MACHINE_CONFIG_START( poly88, poly88_state )
MCFG_SCREEN_VISIBLE_AREA(0, 64*10-1, 0, 16*15-1)
MCFG_SCREEN_UPDATE_DRIVER(poly88_state, screen_update_poly88)
- MCFG_GFXDECODE(poly88)
+ MCFG_GFXDECODE_ADD("gfxdecode", poly88)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/portfoli.c b/src/mess/drivers/portfoli.c
index 381281f1f8b..50bbde9679b 100644
--- a/src/mess/drivers/portfoli.c
+++ b/src/mess/drivers/portfoli.c
@@ -853,7 +853,7 @@ static MACHINE_CONFIG_START( portfolio, portfolio_state )
MCFG_PALETTE_LENGTH(2)
- MCFG_GFXDECODE(portfolio)
+ MCFG_GFXDECODE_ADD("gfxdecode", portfolio)
MCFG_HD61830_ADD(HD61830_TAG, XTAL_4_9152MHz/2/2, lcdc_intf)
diff --git a/src/mess/drivers/psion.c b/src/mess/drivers/psion.c
index 857f9767f23..feb1a1b76c9 100644
--- a/src/mess/drivers/psion.c
+++ b/src/mess/drivers/psion.c
@@ -486,7 +486,7 @@ 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_GFXDECODE(psion)
+ MCFG_GFXDECODE_ADD("gfxdecode", psion)
MCFG_HD44780_ADD("hd44780")
MCFG_HD44780_LCD_SIZE(2, 16)
diff --git a/src/mess/drivers/ptcsol.c b/src/mess/drivers/ptcsol.c
index 16a1670b055..b7c4ec101d7 100644
--- a/src/mess/drivers/ptcsol.c
+++ b/src/mess/drivers/ptcsol.c
@@ -762,7 +762,7 @@ static MACHINE_CONFIG_START( sol20, sol20_state )
MCFG_SCREEN_UPDATE_DRIVER(sol20_state, screen_update)
MCFG_SCREEN_SIZE(576, 208)
MCFG_SCREEN_VISIBLE_AREA(0, 575, 0, 207)
- MCFG_GFXDECODE(sol20)
+ MCFG_GFXDECODE_ADD("gfxdecode", sol20)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/pv1000.c b/src/mess/drivers/pv1000.c
index 5cb1f07eb0f..c954c6acfde 100644
--- a/src/mess/drivers/pv1000.c
+++ b/src/mess/drivers/pv1000.c
@@ -193,7 +193,7 @@ WRITE8_MEMBER( pv1000_state::pv1000_gfxram_w )
UINT8 *gfxram = memregion( "gfxram" )->base();
gfxram[ offset ] = data;
- machine().gfx[1]->mark_dirty(offset/32);
+ m_gfxdecode->gfx(1)->mark_dirty(offset/32);
}
@@ -352,12 +352,12 @@ UINT32 pv1000_state::screen_update_pv1000(screen_device &screen, bitmap_ind16 &b
if ( tile < 0xe0 || m_force_pattern )
{
tile += ( m_pcg_bank << 8);
- machine().gfx[0]->opaque(bitmap,cliprect, tile, 0, 0, 0, x*8, y*8 );
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, tile, 0, 0, 0, x*8, y*8 );
}
else
{
tile -= 0xe0;
- machine().gfx[1]->opaque(bitmap,cliprect, tile, 0, 0, 0, x*8, y*8 );
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect, tile, 0, 0, 0, x*8, y*8 );
}
}
}
@@ -462,7 +462,7 @@ static MACHINE_CONFIG_START( pv1000, pv1000_state )
MCFG_SCREEN_UPDATE_DRIVER(pv1000_state, screen_update_pv1000)
MCFG_PALETTE_LENGTH( 8 )
- MCFG_GFXDECODE( pv1000 )
+ MCFG_GFXDECODE_ADD("gfxdecode", pv1000 )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD( "pv1000_sound", PV1000, 17897725 )
diff --git a/src/mess/drivers/px8.c b/src/mess/drivers/px8.c
index 10b65a6c522..93a925e36e0 100644
--- a/src/mess/drivers/px8.c
+++ b/src/mess/drivers/px8.c
@@ -792,7 +792,7 @@ static MACHINE_CONFIG_START( px8, px8_state )
MCFG_SCREEN_SIZE(480, 64)
MCFG_SCREEN_VISIBLE_AREA(0, 479, 0, 63)
- MCFG_GFXDECODE(px8)
+ MCFG_GFXDECODE_ADD("gfxdecode", px8)
MCFG_PALETTE_LENGTH(2)
/* sound hardware */
diff --git a/src/mess/drivers/pyl601.c b/src/mess/drivers/pyl601.c
index cd36765405f..1ea39b27246 100644
--- a/src/mess/drivers/pyl601.c
+++ b/src/mess/drivers/pyl601.c
@@ -566,7 +566,7 @@ static MACHINE_CONFIG_START( pyl601, pyl601_state )
MCFG_SCREEN_SIZE(640, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 200 - 1)
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_GFXDECODE(pyl601)
+ MCFG_GFXDECODE_ADD("gfxdecode", pyl601)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
@@ -591,7 +591,7 @@ static MACHINE_CONFIG_DERIVED( pyl601a, pyl601 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_CLOCK( XTAL_2MHz)
- MCFG_GFXDECODE(pyl601a)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pyl601a)
MCFG_DEVICE_REMOVE("crtc")
MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL_2MHz, pyl601a_crtc6845_interface)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/qx10.c b/src/mess/drivers/qx10.c
index 216f3fb7b6f..52920c5b419 100644
--- a/src/mess/drivers/qx10.c
+++ b/src/mess/drivers/qx10.c
@@ -859,7 +859,7 @@ static MACHINE_CONFIG_START( qx10, qx10_state )
MCFG_SCREEN_UPDATE_DRIVER(qx10_state, screen_update)
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
- MCFG_GFXDECODE(qx10)
+ MCFG_GFXDECODE_ADD("gfxdecode", qx10)
MCFG_PALETTE_LENGTH(8)
/* Devices */
diff --git a/src/mess/drivers/radio86.c b/src/mess/drivers/radio86.c
index b26e494e70e..eb8127b5506 100644
--- a/src/mess/drivers/radio86.c
+++ b/src/mess/drivers/radio86.c
@@ -364,7 +364,7 @@ static MACHINE_CONFIG_START( radio86, radio86_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(78*6, 30*10)
MCFG_SCREEN_VISIBLE_AREA(0, 78*6-1, 0, 30*10-1)
- MCFG_GFXDECODE(radio86)
+ MCFG_GFXDECODE_ADD("gfxdecode", radio86)
MCFG_PALETTE_LENGTH(3)
MCFG_PALETTE_INIT_OVERRIDE(radio86_state,radio86)
diff --git a/src/mess/drivers/rainbow.c b/src/mess/drivers/rainbow.c
index 623b94b0895..92d54855a27 100644
--- a/src/mess/drivers/rainbow.c
+++ b/src/mess/drivers/rainbow.c
@@ -1131,7 +1131,7 @@ static MACHINE_CONFIG_START( rainbow, rainbow_state )
MCFG_SCREEN_SIZE(132*10, 49*10)
MCFG_SCREEN_VISIBLE_AREA(0, 80 * 10-1, 0, 24 * 10-1)
MCFG_SCREEN_UPDATE_DRIVER(rainbow_state, screen_update_rainbow)
- MCFG_GFXDECODE(rainbow)
+ MCFG_GFXDECODE_ADD("gfxdecode", rainbow)
MCFG_PALETTE_LENGTH(4)
MCFG_RAINBOW_VIDEO_ADD("vt100_video", video_interface)
diff --git a/src/mess/drivers/replicator.c b/src/mess/drivers/replicator.c
index a90f033ce51..a9e5f1cf16c 100644
--- a/src/mess/drivers/replicator.c
+++ b/src/mess/drivers/replicator.c
@@ -668,7 +668,7 @@ static MACHINE_CONFIG_START( replicator, replicator_state )
MCFG_SCREEN_VISIBLE_AREA(0, 120-1, 0, 18*2-1)
MCFG_PALETTE_LENGTH(2)
- MCFG_GFXDECODE(replicator)
+ MCFG_GFXDECODE_ADD("gfxdecode", replicator)
MCFG_DEFAULT_LAYOUT(layout_lcd)
MCFG_HD44780_ADD("hd44780")
diff --git a/src/mess/drivers/rex6000.c b/src/mess/drivers/rex6000.c
index 1af73918924..578c25f56c2 100644
--- a/src/mess/drivers/rex6000.c
+++ b/src/mess/drivers/rex6000.c
@@ -661,7 +661,7 @@ 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_GFXDECODE(rex6000)
+ MCFG_GFXDECODE_ADD("gfxdecode", rex6000)
/* quickload */
MCFG_QUICKLOAD_ADD("quickload", rex6000_state, rex6000, "rex,ds2", 0)
diff --git a/src/mess/drivers/rt1715.c b/src/mess/drivers/rt1715.c
index 5147cec7a61..7220c1e7cb2 100644
--- a/src/mess/drivers/rt1715.c
+++ b/src/mess/drivers/rt1715.c
@@ -347,7 +347,7 @@ static MACHINE_CONFIG_START( rt1715, rt1715_state )
MCFG_SCREEN_SIZE(78*6, 30*10)
MCFG_SCREEN_VISIBLE_AREA(0, 78*6-1, 0, 30*10-1)
- MCFG_GFXDECODE(rt1715)
+ MCFG_GFXDECODE_ADD("gfxdecode", rt1715)
MCFG_PALETTE_LENGTH(3)
MCFG_I8275_ADD("a26", rt1715_i8275_intf)
diff --git a/src/mess/drivers/rx78.c b/src/mess/drivers/rx78.c
index adc12006e91..a586b39107e 100644
--- a/src/mess/drivers/rx78.c
+++ b/src/mess/drivers/rx78.c
@@ -470,7 +470,7 @@ static MACHINE_CONFIG_START( rx78, rx78_state )
MCFG_SCREEN_SIZE(192, 184)
MCFG_SCREEN_VISIBLE_AREA(0, 192-1, 0, 184-1)
MCFG_PALETTE_LENGTH(16+1) //+1 for the background color
- MCFG_GFXDECODE(rx78)
+ MCFG_GFXDECODE_ADD("gfxdecode", rx78)
MCFG_CARTSLOT_ADD("cart")
MCFG_CARTSLOT_EXTENSION_LIST("rom")
diff --git a/src/mess/drivers/saturn.c b/src/mess/drivers/saturn.c
index 4a06ae177c5..92b733d27f2 100644
--- a/src/mess/drivers/saturn.c
+++ b/src/mess/drivers/saturn.c
@@ -782,7 +782,7 @@ static MACHINE_CONFIG_START( saturn, sat_console_state )
MCFG_SCREEN_UPDATE_DRIVER(sat_console_state, screen_update_stv_vdp2)
MCFG_PALETTE_LENGTH(2048+(2048*2))//standard palette + extra memory for rgb brightness.
- MCFG_GFXDECODE(stv)
+ MCFG_GFXDECODE_ADD("gfxdecode", stv)
MCFG_VIDEO_START_OVERRIDE(sat_console_state,stv_vdp2)
diff --git a/src/mess/drivers/sbc6510.c b/src/mess/drivers/sbc6510.c
index d7bb32eab77..7d052fa17dd 100644
--- a/src/mess/drivers/sbc6510.c
+++ b/src/mess/drivers/sbc6510.c
@@ -311,7 +311,7 @@ static MACHINE_CONFIG_START( sbc6510, sbc6510_state )
MCFG_CPU_DATA_MAP(sbc6510_video_data)
MCFG_CPU_IO_MAP(sbc6510_video_io)
- MCFG_GFXDECODE(sbc6510)
+ MCFG_GFXDECODE_ADD("gfxdecode", sbc6510)
/* video hardware */
MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
diff --git a/src/mess/drivers/scorpion.c b/src/mess/drivers/scorpion.c
index 1405246c2dc..c72c44b134c 100644
--- a/src/mess/drivers/scorpion.c
+++ b/src/mess/drivers/scorpion.c
@@ -417,7 +417,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( scorpion, spectrum_128, scorpion_state )
MCFG_MACHINE_START_OVERRIDE(scorpion_state, scorpion )
MCFG_MACHINE_RESET_OVERRIDE(scorpion_state, scorpion )
- MCFG_GFXDECODE(scorpion)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", scorpion)
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
@@ -429,11 +429,11 @@ static MACHINE_CONFIG_DERIVED_CLASS( scorpion, spectrum_128, scorpion_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( profi, scorpion )
- MCFG_GFXDECODE(profi)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", profi)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quorum, scorpion )
- MCFG_GFXDECODE(quorum)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", quorum)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/scv.c b/src/mess/drivers/scv.c
index 78b4408b8cb..a34972c012c 100644
--- a/src/mess/drivers/scv.c
+++ b/src/mess/drivers/scv.c
@@ -832,7 +832,7 @@ static MACHINE_CONFIG_START( scv, scv_state )
MCFG_SCREEN_RAW_PARAMS( XTAL_14_31818MHz/2, 456, 24, 24+192, 262, 23, 23+222 ) /* TODO: Verify */
MCFG_SCREEN_UPDATE_DRIVER(scv_state, screen_update_scv)
- MCFG_GFXDECODE(scv)
+ MCFG_GFXDECODE_ADD("gfxdecode", scv)
MCFG_PALETTE_LENGTH( 16 )
/* Sound is generated by UPD1771C clocked at XTAL_6MHz */
diff --git a/src/mess/drivers/sm1800.c b/src/mess/drivers/sm1800.c
index e2bfdd0a520..9e8d1d375d9 100644
--- a/src/mess/drivers/sm1800.c
+++ b/src/mess/drivers/sm1800.c
@@ -183,7 +183,7 @@ static MACHINE_CONFIG_START( sm1800, sm1800_state )
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
- MCFG_GFXDECODE(sm1800)
+ MCFG_GFXDECODE_ADD("gfxdecode", sm1800)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_PALETTE_LENGTH(3)
diff --git a/src/mess/drivers/smc777.c b/src/mess/drivers/smc777.c
index b1962fbddd0..e011d9aa182 100644
--- a/src/mess/drivers/smc777.c
+++ b/src/mess/drivers/smc777.c
@@ -352,7 +352,7 @@ WRITE8_MEMBER(smc777_state::smc777_pcg_w)
m_pcg[vram_index] = data;
- machine().gfx[0]->mark_dirty(vram_index >> 3);
+ m_gfxdecode->gfx(0)->mark_dirty(vram_index >> 3);
}
READ8_MEMBER(smc777_state::smc777_fbuf_r)
@@ -984,7 +984,7 @@ void smc777_state::machine_start()
save_pointer(NAME(m_gvram), 0x8000);
save_pointer(NAME(m_pcg), 0x800);
- machine().gfx[0] = auto_alloc(machine(), gfx_element(machine(), smc777_charlayout, (UINT8 *)m_pcg, 8, 0));
+ m_gfxdecode->set_gfx(0, auto_alloc(machine(), gfx_element(machine(), smc777_charlayout, (UINT8 *)m_pcg, 8, 0)));
}
void smc777_state::machine_reset()
diff --git a/src/mess/drivers/sorcerer.c b/src/mess/drivers/sorcerer.c
index dd4763b77bf..ac6c39683d9 100644
--- a/src/mess/drivers/sorcerer.c
+++ b/src/mess/drivers/sorcerer.c
@@ -434,7 +434,7 @@ static MACHINE_CONFIG_START( sorcerer, sorcerer_state )
MCFG_SCREEN_SIZE(64*8, 30*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(sorcerer_state, screen_update)
- MCFG_GFXDECODE(sorcerer)
+ MCFG_GFXDECODE_ADD("gfxdecode", sorcerer)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/spec128.c b/src/mess/drivers/spec128.c
index a74004c546a..dcb5945c4c3 100644
--- a/src/mess/drivers/spec128.c
+++ b/src/mess/drivers/spec128.c
@@ -308,7 +308,7 @@ MACHINE_CONFIG_DERIVED( spectrum_128, spectrum )
MCFG_SCREEN_RAW_PARAMS(X1_128_SINCLAIR / 2.5f, 456, 0, 352, 311, 0, 296)
MCFG_VIDEO_START_OVERRIDE(spectrum_state, spectrum_128 )
- MCFG_GFXDECODE(spec128)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", spec128)
/* sound hardware */
MCFG_SOUND_ADD("ay8912", AY8912, 1773400)
diff --git a/src/mess/drivers/specpls3.c b/src/mess/drivers/specpls3.c
index 62d523965c3..8228164142d 100644
--- a/src/mess/drivers/specpls3.c
+++ b/src/mess/drivers/specpls3.c
@@ -388,7 +388,7 @@ static MACHINE_CONFIG_DERIVED( spectrum_plus3, spectrum_128 )
MCFG_CPU_IO_MAP(spectrum_plus3_io)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(50.01)
- MCFG_GFXDECODE(specpls3)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", specpls3)
MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum_plus3 )
diff --git a/src/mess/drivers/spectrum.c b/src/mess/drivers/spectrum.c
index cd9ee17a035..f509b722dd0 100644
--- a/src/mess/drivers/spectrum.c
+++ b/src/mess/drivers/spectrum.c
@@ -706,7 +706,7 @@ MACHINE_CONFIG_START( spectrum_common, spectrum_state )
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT_OVERRIDE(spectrum_state, spectrum )
- MCFG_GFXDECODE(spectrum)
+ MCFG_GFXDECODE_ADD("gfxdecode", spectrum)
MCFG_VIDEO_START_OVERRIDE(spectrum_state, spectrum )
/* sound hardware */
diff --git a/src/mess/drivers/super80.c b/src/mess/drivers/super80.c
index f2d0e2c305a..5b32da2a208 100644
--- a/src/mess/drivers/super80.c
+++ b/src/mess/drivers/super80.c
@@ -652,7 +652,7 @@ static MACHINE_CONFIG_START( super80, super80_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
- MCFG_GFXDECODE(super80)
+ MCFG_GFXDECODE_ADD("gfxdecode", super80)
MCFG_DEFAULT_LAYOUT( layout_super80 )
MCFG_VIDEO_START_OVERRIDE(super80_state,super80)
@@ -679,7 +679,7 @@ static MACHINE_CONFIG_START( super80, super80_state )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( super80d, super80 )
- MCFG_GFXDECODE(super80d)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", super80d)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(super80_state, screen_update_super80d)
MACHINE_CONFIG_END
@@ -687,7 +687,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( super80e, super80 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(super80e_io)
- MCFG_GFXDECODE(super80e)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", super80e)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(super80_state, screen_update_super80e)
MACHINE_CONFIG_END
@@ -696,7 +696,7 @@ static MACHINE_CONFIG_DERIVED( super80m, super80 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(super80m_map)
- MCFG_GFXDECODE(super80m)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", super80m)
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_INIT_OVERRIDE(super80_state,super80m)
@@ -726,7 +726,7 @@ static MACHINE_CONFIG_START( super80v, super80_state )
MCFG_MC6845_ADD("crtc", MC6845, "screen", MASTER_CLOCK / SUPER80V_DOTS, super80v_crtc)
- MCFG_GFXDECODE(super80v)
+ MCFG_GFXDECODE_ADD("gfxdecode", super80v)
MCFG_DEFAULT_LAYOUT( layout_super80 )
MCFG_VIDEO_START_OVERRIDE(super80_state,super80v)
diff --git a/src/mess/drivers/supracan.c b/src/mess/drivers/supracan.c
index 208a373cf95..23d6ed83eee 100644
--- a/src/mess/drivers/supracan.c
+++ b/src/mess/drivers/supracan.c
@@ -343,7 +343,7 @@ void supracan_state::supracan_tilemap_get_info_common(int layer, tile_data &tile
int flipxy = (supracan_vram[count] & 0x0c00)>>10;
int palette = ((supracan_vram[count] & 0xf000) >> 12) + palette_bank;
- SET_TILE_INFO_MEMBER(region, tile, palette, TILE_FLIPXY(flipxy));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, region, tile, palette, TILE_FLIPXY(flipxy));
}
// I wonder how different this really is.. my guess, not at all.
@@ -372,7 +372,7 @@ void supracan_state::supracan_tilemap_get_info_roz(int layer, tile_data &tileinf
if (count & 0x20) tile ^= 1;
tile |= (count & 0xc0)>>2;
- SET_TILE_INFO_MEMBER(region, tile, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, region, tile, 0, 0);
return;
}
@@ -396,7 +396,7 @@ void supracan_state::supracan_tilemap_get_info_roz(int layer, tile_data &tileinf
int flipxy = (supracan_vram[count] & 0x0c00)>>10;
int palette = ((supracan_vram[count] & 0xf000) >> 12) + palette_bank;
- SET_TILE_INFO_MEMBER(region, tile, palette, TILE_FLIPXY(flipxy));
+ SET_TILE_INFO_MEMBER(m_gfxdecode, region, tile, palette, TILE_FLIPXY(flipxy));
}
@@ -528,7 +528,7 @@ void supracan_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
int sprite_xflip = (supracan_vram[i+1] & 0x0800) >> 11;
int sprite_yflip = (supracan_vram[i+1] & 0x0400) >> 10;
//int xscale = (supracan_vram[i+2] & 0xf000) >> 12;
- gfx_element *gfx = machine().gfx[region];
+ gfx_element *gfx = m_gfxdecode->gfx(region);
@@ -1114,11 +1114,11 @@ WRITE16_MEMBER( supracan_state::supracan_vram_w )
write_swapped_byte(offset*2, (data & 0x00ff));
// mark tiles of each depth as dirty
- machine().gfx[0]->mark_dirty((offset*2)/(64));
- machine().gfx[1]->mark_dirty((offset*2)/(32));
- machine().gfx[2]->mark_dirty((offset*2)/(16));
- machine().gfx[3]->mark_dirty((offset*2)/(512));
- machine().gfx[4]->mark_dirty((offset*2)/(8));
+ m_gfxdecode->gfx(0)->mark_dirty((offset*2)/(64));
+ m_gfxdecode->gfx(1)->mark_dirty((offset*2)/(32));
+ m_gfxdecode->gfx(2)->mark_dirty((offset*2)/(16));
+ m_gfxdecode->gfx(3)->mark_dirty((offset*2)/(512));
+ m_gfxdecode->gfx(4)->mark_dirty((offset*2)/(8));
}
@@ -1924,7 +1924,7 @@ static MACHINE_CONFIG_START( supracan, supracan_state )
MCFG_SCREEN_RAW_PARAMS(XTAL_10_738635MHz/2, 348, 0, 256, 256, 0, 240 ) /* No idea if this is correct */
MCFG_SCREEN_UPDATE_DRIVER(supracan_state, screen_update_supracan)
MCFG_PALETTE_LENGTH( 32768 )
- MCFG_GFXDECODE(supracan)
+ MCFG_GFXDECODE_ADD("gfxdecode", supracan)
MCFG_CARTSLOT_ADD("cart")
MCFG_CARTSLOT_EXTENSION_LIST("bin")
diff --git a/src/mess/drivers/svi318.c b/src/mess/drivers/svi318.c
index 7402eb75d62..45acd9e9bd0 100644
--- a/src/mess/drivers/svi318.c
+++ b/src/mess/drivers/svi318.c
@@ -452,7 +452,7 @@ static MACHINE_CONFIG_START( svi328_806, svi318_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
- MCFG_GFXDECODE(svi328)
+ MCFG_GFXDECODE_ADD("gfxdecode", svi328)
MCFG_MC6845_ADD("crtc", MC6845, "svi806", XTAL_12MHz / 8, svi806_crtc6845_interface)
diff --git a/src/mess/drivers/tek410x.c b/src/mess/drivers/tek410x.c
index 8987027bd3c..0bfbdfe54a1 100644
--- a/src/mess/drivers/tek410x.c
+++ b/src/mess/drivers/tek410x.c
@@ -99,7 +99,7 @@ static MACHINE_CONFIG_START( tek4107a, tek4107a_state )
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_PALETTE_LENGTH(64)
- MCFG_GFXDECODE(tek4107a)
+ MCFG_GFXDECODE_ADD("gfxdecode", tek4107a)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( tek4109a, tek4107a )
diff --git a/src/mess/drivers/ti990_10.c b/src/mess/drivers/ti990_10.c
index f8e9b770858..5b44b0e7d44 100644
--- a/src/mess/drivers/ti990_10.c
+++ b/src/mess/drivers/ti990_10.c
@@ -229,10 +229,11 @@ static MACHINE_CONFIG_START( ti990_10, ti990_10_state )
MCFG_SCREEN_VISIBLE_AREA(0, 560-1, 0, /*250*/280-1)
MCFG_SCREEN_UPDATE_DRIVER(ti990_10_state, screen_update_ti990_10)
- MCFG_GFXDECODE(vdt911)
+ MCFG_GFXDECODE_ADD("gfxdecode", vdt911)
MCFG_PALETTE_LENGTH(8)
MCFG_VDT911_VIDEO_ADD("vdt911", vdt911_intf)
+ MCFG_VDT911_VIDEO_GFXDECODE("gfxdecode")
/* 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 0c4f1656c8f..8765ea72568 100644
--- a/src/mess/drivers/ti990_4.c
+++ b/src/mess/drivers/ti990_4.c
@@ -262,17 +262,19 @@ static MACHINE_CONFIG_START( ti990_4, ti990_4_state )
#endif
#if VIDEO_911
- MCFG_GFXDECODE(vdt911)
+ MCFG_GFXDECODE_ADD("gfxdecode", vdt911)
MCFG_PALETTE_LENGTH(8)
#else
- MCFG_GFXDECODE(asr733)
+ MCFG_GFXDECODE_ADD("gfxdecode", asr733)
MCFG_PALETTE_LENGTH(2)
#endif
#if VIDEO_911
MCFG_VDT911_VIDEO_ADD("vdt911", vdt911_intf)
+ MCFG_VDT911_VIDEO_GFXDECODE("gfxdecode")
#else
MCFG_ASR733_VIDEO_ADD("asr733", asr733_intf)
+ MCFG_ASR733_VIDEO_GFXDECODE("gfxdecode")
#endif
#if VIDEO_911
diff --git a/src/mess/drivers/ti99_2.c b/src/mess/drivers/ti99_2.c
index 4a9ed948e78..94fa221a35d 100644
--- a/src/mess/drivers/ti99_2.c
+++ b/src/mess/drivers/ti99_2.c
@@ -176,7 +176,7 @@ UINT32 ti99_2_state::screen_update_ti99_2(screen_device &screen, bitmap_ind16 &b
for (i = 0; i < 768; i++)
{
/* Is the char code masked or not ??? */
- machine().gfx[0]->opaque(bitmap,cliprect, videoram[i] & 0x7F, 0,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, videoram[i] & 0x7F, 0,
0, 0, sx, sy);
sx += 8;
@@ -395,7 +395,7 @@ static MACHINE_CONFIG_START( ti99_2, ti99_2_state )
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 192-1)
MCFG_SCREEN_UPDATE_DRIVER(ti99_2_state, screen_update_ti99_2)
- MCFG_GFXDECODE(ti99_2)
+ MCFG_GFXDECODE_ADD("gfxdecode", ti99_2)
MCFG_PALETTE_LENGTH(2)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/tim100.c b/src/mess/drivers/tim100.c
index c5b9a89fe08..92de929ffad 100644
--- a/src/mess/drivers/tim100.c
+++ b/src/mess/drivers/tim100.c
@@ -130,7 +130,7 @@ static MACHINE_CONFIG_START( tim100, tim100_state )
MCFG_SCREEN_SIZE(40*16, 16*16)
MCFG_SCREEN_VISIBLE_AREA(0, 40*16-1, 0, 16*16-1)
- MCFG_GFXDECODE( tim100 )
+ MCFG_GFXDECODE_ADD("gfxdecode", tim100 )
MCFG_I8275_ADD ( "i8276", tim100_i8276_interface)
diff --git a/src/mess/drivers/timex.c b/src/mess/drivers/timex.c
index b6bbc6db97a..17f49ee2ee3 100644
--- a/src/mess/drivers/timex.c
+++ b/src/mess/drivers/timex.c
@@ -743,7 +743,7 @@ static MACHINE_CONFIG_DERIVED( ts2068, spectrum_128 )
MCFG_SCREEN_VISIBLE_AREA(0, TS2068_SCREEN_WIDTH-1, 0, TS2068_SCREEN_HEIGHT-1)
MCFG_SCREEN_UPDATE_DRIVER(spectrum_state, screen_update_ts2068)
- MCFG_GFXDECODE(ts2068)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", ts2068)
MCFG_VIDEO_START_OVERRIDE(spectrum_state, ts2068 )
diff --git a/src/mess/drivers/tk80bs.c b/src/mess/drivers/tk80bs.c
index f264c9f9bf0..e5d50e24aa1 100644
--- a/src/mess/drivers/tk80bs.c
+++ b/src/mess/drivers/tk80bs.c
@@ -67,7 +67,7 @@ UINT32 tk80bs_state::screen_update_tk80bs(screen_device &screen, bitmap_ind16 &b
{
int tile = m_p_videoram[count++];
- machine().gfx[0]->opaque(bitmap,cliprect, tile, 0, 0, 0, x*8, y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, tile, 0, 0, 0, x*8, y*8);
}
}
@@ -193,7 +193,7 @@ static MACHINE_CONFIG_START( tk80bs, tk80bs_state )
MCFG_SCREEN_UPDATE_DRIVER(tk80bs_state, screen_update_tk80bs)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
- MCFG_GFXDECODE(tk80bs)
+ MCFG_GFXDECODE_ADD("gfxdecode", tk80bs)
/* Devices */
MCFG_I8255_ADD( "ppi", ppi_intf)
diff --git a/src/mess/drivers/trs80.c b/src/mess/drivers/trs80.c
index ec2db385717..854da73f197 100644
--- a/src/mess/drivers/trs80.c
+++ b/src/mess/drivers/trs80.c
@@ -591,7 +591,7 @@ static MACHINE_CONFIG_START( trs80, trs80_state ) // the original model I,
MCFG_SCREEN_VISIBLE_AREA(0,64*6-1,0,16*12-1)
MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_trs80)
- MCFG_GFXDECODE(trs80)
+ MCFG_GFXDECODE_ADD("gfxdecode", trs80)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
@@ -640,7 +640,8 @@ static MACHINE_CONFIG_DERIVED( model3, model1 )
MCFG_MACHINE_RESET_OVERRIDE(trs80_state, trs80m4 )
- MCFG_GFXDECODE(trs80m4)
+ MCFG_GFXDECODE_MODIFY("gfxdecode",trs80m4)
+
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_trs80m4)
MCFG_SCREEN_SIZE(80*8, 240)
@@ -665,7 +666,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ht1080z, sys80 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_ht1080z)
- MCFG_GFXDECODE(ht1080z)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", ht1080z)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( lnw80, model1 )
@@ -674,7 +675,8 @@ static MACHINE_CONFIG_DERIVED( lnw80, model1 )
MCFG_CPU_IO_MAP( lnw80_io)
MCFG_MACHINE_RESET_OVERRIDE(trs80_state, lnw80 )
- MCFG_GFXDECODE(lnw80)
+ MCFG_GFXDECODE_MODIFY("gfxdecode",lnw80)
+
MCFG_PALETTE_LENGTH(8)
MCFG_PALETTE_INIT_OVERRIDE(trs80_state,lnw80)
MCFG_SCREEN_MODIFY("screen")
@@ -688,7 +690,7 @@ static MACHINE_CONFIG_DERIVED( radionic, model1 )
MCFG_SCREEN_SIZE(64*8, 16*16)
MCFG_SCREEN_VISIBLE_AREA(0,64*8-1,0,16*16-1)
MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_radionic)
- MCFG_GFXDECODE(radionic)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", radionic)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( meritum, sys80 )
@@ -697,7 +699,7 @@ static MACHINE_CONFIG_DERIVED( meritum, sys80 )
MCFG_CPU_IO_MAP( meritum_io)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_meritum)
- MCFG_GFXDECODE(meritum)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", meritum)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mess/drivers/tx0.c b/src/mess/drivers/tx0.c
index 4cdd01b1b64..e4f5c89379e 100644
--- a/src/mess/drivers/tx0.c
+++ b/src/mess/drivers/tx0.c
@@ -1597,7 +1597,7 @@ static MACHINE_CONFIG_START( tx0_64kw, tx0_state )
MCFG_DEVICE_ADD("typewriter", TX0_PRINTER, 0)
MCFG_DEVICE_ADD("magtape", TX0_MAGTAPE, 0)
- MCFG_GFXDECODE(tx0)
+ MCFG_GFXDECODE_ADD("gfxdecode", tx0)
MCFG_PALETTE_LENGTH(pen_crt_num_levels + sizeof(tx0_colors) / 3 + sizeof(tx0_palette))
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/unior.c b/src/mess/drivers/unior.c
index 8a056273aad..2694e8825c3 100644
--- a/src/mess/drivers/unior.c
+++ b/src/mess/drivers/unior.c
@@ -455,7 +455,7 @@ static MACHINE_CONFIG_START( unior, unior_state )
MCFG_SCREEN_SIZE(640, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
MCFG_SCREEN_UPDATE_DEVICE("crtc", i8275_device, screen_update)
- MCFG_GFXDECODE(unior)
+ MCFG_GFXDECODE_ADD("gfxdecode", unior)
MCFG_PALETTE_LENGTH(3)
MCFG_PALETTE_INIT_OVERRIDE(unior_state,unior)
diff --git a/src/mess/drivers/unistar.c b/src/mess/drivers/unistar.c
index 9f11cc3932a..49165c6d1e4 100644
--- a/src/mess/drivers/unistar.c
+++ b/src/mess/drivers/unistar.c
@@ -99,7 +99,7 @@ static MACHINE_CONFIG_START( unistar, unistar_state )
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(unistar_state, screen_update_unistar)
- MCFG_GFXDECODE(unistar)
+ MCFG_GFXDECODE_ADD("gfxdecode", unistar)
MCFG_PALETTE_LENGTH(3)
MCFG_PALETTE_INIT_OVERRIDE(unistar_state, unistar)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/ut88.c b/src/mess/drivers/ut88.c
index ce2e7593d5f..909e9b4a1e9 100644
--- a/src/mess/drivers/ut88.c
+++ b/src/mess/drivers/ut88.c
@@ -202,7 +202,7 @@ static MACHINE_CONFIG_START( ut88, ut88_state )
MCFG_SCREEN_UPDATE_DRIVER(ut88_state, screen_update_ut88)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
- MCFG_GFXDECODE( ut88 )
+ MCFG_GFXDECODE_ADD("gfxdecode", ut88 )
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/v6809.c b/src/mess/drivers/v6809.c
index 6ad532d9f5d..d6eb7276d21 100644
--- a/src/mess/drivers/v6809.c
+++ b/src/mess/drivers/v6809.c
@@ -341,7 +341,7 @@ static MACHINE_CONFIG_START( v6809, v6809_state )
MCFG_SCREEN_UPDATE_DEVICE("crtc", sy6545_1_device, screen_update)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
- MCFG_GFXDECODE(v6809)
+ MCFG_GFXDECODE_ADD("gfxdecode", v6809)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/vg5k.c b/src/mess/drivers/vg5k.c
index 3de754db648..90f46e1b197 100644
--- a/src/mess/drivers/vg5k.c
+++ b/src/mess/drivers/vg5k.c
@@ -389,7 +389,7 @@ static MACHINE_CONFIG_START( vg5k, vg5k_state )
MCFG_SCREEN_SIZE(336, 300)
MCFG_SCREEN_VISIBLE_AREA(00, 336-1, 00, 270-1)
- MCFG_GFXDECODE(vg5k)
+ MCFG_GFXDECODE_ADD("gfxdecode", vg5k)
MCFG_PALETTE_LENGTH(8)
/* sound hardware */
diff --git a/src/mess/drivers/vt100.c b/src/mess/drivers/vt100.c
index 5e2a467e506..8ac33079ecc 100644
--- a/src/mess/drivers/vt100.c
+++ b/src/mess/drivers/vt100.c
@@ -421,7 +421,7 @@ static MACHINE_CONFIG_START( vt100, vt100_state )
MCFG_SCREEN_VISIBLE_AREA(0, 80*10-1, 0, 25*10-1)
MCFG_SCREEN_UPDATE_DRIVER(vt100_state, screen_update_vt100)
- MCFG_GFXDECODE(vt100)
+ MCFG_GFXDECODE_ADD("gfxdecode", vt100)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
diff --git a/src/mess/drivers/vt240.c b/src/mess/drivers/vt240.c
index fd2cc8cd74c..3c7a8e395a6 100644
--- a/src/mess/drivers/vt240.c
+++ b/src/mess/drivers/vt240.c
@@ -178,7 +178,7 @@ static MACHINE_CONFIG_START( vt240, vt240_state )
MCFG_SCREEN_UPDATE_DEVICE("upd7220", upd7220_device, screen_update)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
- MCFG_GFXDECODE(vt240)
+ MCFG_GFXDECODE_ADD("gfxdecode", vt240)
MCFG_UPD7220_ADD("upd7220", XTAL_4MHz / 4, hgdc_intf, upd7220_map) //unknown clock
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/vta2000.c b/src/mess/drivers/vta2000.c
index 594cf3360bc..6d9c644fd4f 100644
--- a/src/mess/drivers/vta2000.c
+++ b/src/mess/drivers/vta2000.c
@@ -171,7 +171,7 @@ static MACHINE_CONFIG_START( vta2000, vta2000_state )
MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 25*12-1)
MCFG_SCREEN_UPDATE_DRIVER(vta2000_state, screen_update_vta2000)
MCFG_PALETTE_LENGTH(3)
- MCFG_GFXDECODE(vta2000)
+ MCFG_GFXDECODE_ADD("gfxdecode", vta2000)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/vtech2.c b/src/mess/drivers/vtech2.c
index 63b6d91869e..711161d9e77 100644
--- a/src/mess/drivers/vtech2.c
+++ b/src/mess/drivers/vtech2.c
@@ -442,7 +442,7 @@ static MACHINE_CONFIG_START( laser350, vtech2_state )
MCFG_SCREEN_VISIBLE_AREA(0*8, 88*8-1, 0*8, 24*8+32-1)
MCFG_SCREEN_UPDATE_DRIVER(vtech2_state, screen_update_laser)
- MCFG_GFXDECODE( vtech2 )
+ MCFG_GFXDECODE_ADD("gfxdecode", vtech2 )
MCFG_PALETTE_LENGTH(528)
diff --git a/src/mess/drivers/wswan.c b/src/mess/drivers/wswan.c
index e60152518a2..78de5af8e2c 100644
--- a/src/mess/drivers/wswan.c
+++ b/src/mess/drivers/wswan.c
@@ -141,7 +141,7 @@ static MACHINE_CONFIG_START( wswan, wswan_state )
MCFG_NVRAM_ADD_1FILL("nvram")
- MCFG_GFXDECODE(wswan)
+ MCFG_GFXDECODE_ADD("gfxdecode", wswan)
MCFG_PALETTE_LENGTH(16)
/* sound hardware */
diff --git a/src/mess/drivers/x07.c b/src/mess/drivers/x07.c
index d1a2595ed1b..4880bf1b5f5 100644
--- a/src/mess/drivers/x07.c
+++ b/src/mess/drivers/x07.c
@@ -1508,7 +1508,7 @@ static MACHINE_CONFIG_START( x07, x07_state )
MCFG_SCREEN_VISIBLE_AREA(0, 120-1, 0, 32-1)
MCFG_PALETTE_LENGTH(2)
MCFG_DEFAULT_LAYOUT(layout_lcd)
- MCFG_GFXDECODE(x07)
+ MCFG_GFXDECODE_ADD("gfxdecode", x07)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO( "mono" )
diff --git a/src/mess/drivers/x1.c b/src/mess/drivers/x1.c
index bca3bed4c7b..80aa50f557f 100644
--- a/src/mess/drivers/x1.c
+++ b/src/mess/drivers/x1.c
@@ -1165,7 +1165,7 @@ WRITE8_MEMBER( x1_state::x1_pcg_w )
pcg_offset &= 0x7ff;
- machine().gfx[3]->mark_dirty(pcg_offset >> 3);
+ m_gfxdecode->gfx(3)->mark_dirty(pcg_offset >> 3);
}
else // Compatible Mode
{
@@ -1182,7 +1182,7 @@ WRITE8_MEMBER( x1_state::x1_pcg_w )
pcg_offset &= 0x7ff;
- machine().gfx[3]->mark_dirty(pcg_offset >> 3);
+ m_gfxdecode->gfx(3)->mark_dirty(pcg_offset >> 3);
}
}
}
@@ -2443,7 +2443,7 @@ MACHINE_RESET_MEMBER(x1_state,x1)
for(i=0;i<0x1800;i++)
{
m_pcg_ram[i] = 0;
- machine().gfx[3]->mark_dirty(i >> 3);
+ m_gfxdecode->gfx(3)->mark_dirty(i >> 3);
}
m_is_turbo = 0;
@@ -2526,7 +2526,7 @@ MACHINE_START_MEMBER(x1_state,x1)
save_pointer(NAME(m_emm_ram), 0x1000000);
save_pointer(NAME(m_pcg_ram), 0x1800);
- machine().gfx[3] = auto_alloc(machine(), gfx_element(machine(), x1_pcg_8x8, (UINT8 *)m_pcg_ram, 1, 0));
+ m_gfxdecode->set_gfx(3, auto_alloc(machine(), gfx_element(machine(), x1_pcg_8x8, (UINT8 *)m_pcg_ram, 1, 0)));
}
PALETTE_INIT_MEMBER(x1_state,x1)
@@ -2587,7 +2587,7 @@ static MACHINE_CONFIG_START( x1, x1_state )
MCFG_PALETTE_LENGTH(0x10+0x1000)
MCFG_PALETTE_INIT_OVERRIDE(x1_state,x1)
- MCFG_GFXDECODE(x1)
+ MCFG_GFXDECODE_ADD("gfxdecode", x1)
MCFG_VIDEO_START_OVERRIDE(x1_state,x1)
diff --git a/src/mess/drivers/x1twin.c b/src/mess/drivers/x1twin.c
index f60463d4f14..fcbf46c2222 100644
--- a/src/mess/drivers/x1twin.c
+++ b/src/mess/drivers/x1twin.c
@@ -564,7 +564,7 @@ static MACHINE_CONFIG_START( x1twin, x1twin_state )
MCFG_PALETTE_LENGTH(0x10+0x1000)
MCFG_PALETTE_INIT_OVERRIDE(x1twin_state,x1)
- MCFG_GFXDECODE(x1)
+ MCFG_GFXDECODE_ADD("gfxdecode", x1)
MCFG_VIDEO_START_OVERRIDE(x1twin_state,x1)
diff --git a/src/mess/drivers/x68k.c b/src/mess/drivers/x68k.c
index 80a8fff8198..03769973b83 100644
--- a/src/mess/drivers/x68k.c
+++ b/src/mess/drivers/x68k.c
@@ -1945,7 +1945,7 @@ static MACHINE_CONFIG_FRAGMENT( x68000_base )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(55.45)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
-// MCFG_GFXDECODE(x68k)
+// MCFG_GFXDECODE_ADD("gfxdecode", x68k)
MCFG_SCREEN_SIZE(1096, 568) // inital setting
MCFG_SCREEN_VISIBLE_AREA(0, 767, 0, 511)
MCFG_SCREEN_UPDATE_DRIVER(x68k_state, screen_update_x68000)
diff --git a/src/mess/drivers/xavix.c b/src/mess/drivers/xavix.c
index a407de28bb0..d0d1c088766 100644
--- a/src/mess/drivers/xavix.c
+++ b/src/mess/drivers/xavix.c
@@ -158,7 +158,7 @@ static MACHINE_CONFIG_START( xavix, xavix_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
- MCFG_GFXDECODE(xavix)
+ MCFG_GFXDECODE_ADD("gfxdecode", xavix)
MCFG_PALETTE_LENGTH(16)
diff --git a/src/mess/drivers/xerox820.c b/src/mess/drivers/xerox820.c
index 1295054f26e..816e5926640 100644
--- a/src/mess/drivers/xerox820.c
+++ b/src/mess/drivers/xerox820.c
@@ -695,7 +695,7 @@ static MACHINE_CONFIG_START( xerox820, xerox820_state )
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_UPDATE_DRIVER(xerox820_state, screen_update)
MCFG_SCREEN_RAW_PARAMS(XTAL_10_69425MHz, 700, 0, 560, 260, 0, 240)
- MCFG_GFXDECODE(xerox820)
+ MCFG_GFXDECODE_ADD("gfxdecode", xerox820)
/* devices */
MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_20MHz/8, sio_intf)
@@ -742,7 +742,7 @@ static MACHINE_CONFIG_START( xerox820ii, xerox820ii_state )
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_UPDATE_DRIVER(xerox820ii_state, screen_update)
MCFG_SCREEN_RAW_PARAMS(XTAL_10_69425MHz, 700, 0, 560, 260, 0, 240)
- MCFG_GFXDECODE(xerox820ii)
+ MCFG_GFXDECODE_ADD("gfxdecode", xerox820ii)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/drivers/z1013.c b/src/mess/drivers/z1013.c
index 084c2f29faf..fa344e3eb5f 100644
--- a/src/mess/drivers/z1013.c
+++ b/src/mess/drivers/z1013.c
@@ -408,7 +408,7 @@ static MACHINE_CONFIG_START( z1013, z1013_state )
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(z1013_state, screen_update_z1013)
- MCFG_GFXDECODE(z1013)
+ MCFG_GFXDECODE_ADD("gfxdecode", z1013)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
diff --git a/src/mess/drivers/z9001.c b/src/mess/drivers/z9001.c
index 7af76ebaee6..3b13778f2c1 100644
--- a/src/mess/drivers/z9001.c
+++ b/src/mess/drivers/z9001.c
@@ -250,7 +250,7 @@ static MACHINE_CONFIG_START( z9001, z9001_state )
MCFG_SCREEN_SIZE(40*8, 24*8)
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 24*8-1)
MCFG_SCREEN_UPDATE_DRIVER(z9001_state, screen_update_z9001)
- MCFG_GFXDECODE(z9001)
+ MCFG_GFXDECODE_ADD("gfxdecode", z9001)
MCFG_PALETTE_LENGTH(16)
/* Sound */
diff --git a/src/mess/drivers/zrt80.c b/src/mess/drivers/zrt80.c
index be6a29c48e0..91639642653 100644
--- a/src/mess/drivers/zrt80.c
+++ b/src/mess/drivers/zrt80.c
@@ -316,7 +316,7 @@ static MACHINE_CONFIG_START( zrt80, zrt80_state )
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
MCFG_SCREEN_SIZE(640, 200)
MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 200 - 1)
- MCFG_GFXDECODE(zrt80)
+ MCFG_GFXDECODE_ADD("gfxdecode", zrt80)
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT_OVERRIDE(driver_device, monochrome_green)
diff --git a/src/mess/drivers/zx.c b/src/mess/drivers/zx.c
index 65509230139..f8eea5664b1 100644
--- a/src/mess/drivers/zx.c
+++ b/src/mess/drivers/zx.c
@@ -397,7 +397,7 @@ static MACHINE_CONFIG_START( zx80, zx_state )
MCFG_SCREEN_VISIBLE_AREA(0, ZX81_PIXELS_PER_SCANLINE-1, 0, ZX81_PAL_SCANLINES-1)
MCFG_SCREEN_VBLANK_DRIVER(zx_state, screen_eof_zx)
- MCFG_GFXDECODE(zx80)
+ MCFG_GFXDECODE_ADD("gfxdecode", zx80)
MCFG_PALETTE_LENGTH(4)
@@ -421,7 +421,7 @@ static MACHINE_CONFIG_DERIVED( zx81, zx80 )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_IO_MAP(zx81_io_map)
- MCFG_GFXDECODE(zx81)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", zx81)
MCFG_CASSETTE_MODIFY( "cassette", zx81_cassette_interface )
MACHINE_CONFIG_END
@@ -450,7 +450,7 @@ static MACHINE_CONFIG_DERIVED( pc8300, zx81 )
MCFG_SCREEN_SIZE(ZX81_PIXELS_PER_SCANLINE, ZX81_NTSC_SCANLINES)
MCFG_SCREEN_VISIBLE_AREA(0, ZX81_PIXELS_PER_SCANLINE-1, 0, ZX81_NTSC_SCANLINES-1)
- MCFG_GFXDECODE(pc8300)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pc8300)
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
@@ -464,7 +464,7 @@ static MACHINE_CONFIG_DERIVED( pow3000, zx81 )
MCFG_MACHINE_RESET_OVERRIDE(zx_state,pow3000)
- MCFG_GFXDECODE(pc8300)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", pc8300)
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
diff --git a/src/mess/machine/cgenie.c b/src/mess/machine/cgenie.c
index 6bd09f5d1b0..ff75534668c 100644
--- a/src/mess/machine/cgenie.c
+++ b/src/mess/machine/cgenie.c
@@ -555,7 +555,7 @@ WRITE8_MEMBER( cgenie_state::cgenie_fontram_w )
m_fontram[offset] = data;
/* convert eight pixels */
- dp = const_cast<UINT8 *>(machine().gfx[0]->get_data(256 + offset/8) + (offset % 8) * machine().gfx[0]->width());
+ dp = const_cast<UINT8 *>(m_gfxdecode->gfx(0)->get_data(256 + offset/8) + (offset % 8) * m_gfxdecode->gfx(0)->width());
dp[0] = (data & 0x80) ? 1 : 0;
dp[1] = (data & 0x40) ? 1 : 0;
dp[2] = (data & 0x20) ? 1 : 0;
diff --git a/src/mess/video/733_asr.c b/src/mess/video/733_asr.c
index 73ccdc532e3..351fd952ed7 100644
--- a/src/mess/video/733_asr.c
+++ b/src/mess/video/733_asr.c
@@ -59,6 +59,7 @@ struct asr_t
void (*int_callback)(running_machine &, int state);
bitmap_ind16 *bitmap;
+ gfxdecode_device *m_gfxdecode;
};
enum
@@ -220,12 +221,24 @@ static DEVICE_RESET( asr733 )
const device_type ASR733 = &device_creator<asr733_device>;
asr733_device::asr733_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, ASR733, "733 ASR", tag, owner, clock, "asr733", __FILE__)
+ : device_t(mconfig, ASR733, "733 ASR", tag, owner, clock, "asr733", __FILE__),
+ m_gfxdecode(*this)
{
m_token = global_alloc_clear(asr_t);
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void asr733_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<asr733_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -241,6 +254,8 @@ void asr733_device::device_config_complete()
void asr733_device::device_start()
{
+ asr_t *asr = get_safe_token(this);
+ asr->m_gfxdecode = m_gfxdecode;
DEVICE_START_NAME( asr733 )(this);
}
@@ -260,7 +275,7 @@ static void asr_draw_char(device_t *device, int character, int x, int y, int col
{
asr_t *asr = get_safe_token(device);
- device->machine().gfx[0]->opaque(*asr->bitmap,asr->bitmap->cliprect(), character-32, color, 0, 0,
+ asr->m_gfxdecode->gfx(0)->opaque(*asr->bitmap,asr->bitmap->cliprect(), character-32, color, 0, 0,
x+1, y);
}
diff --git a/src/mess/video/733_asr.h b/src/mess/video/733_asr.h
index be568d579ad..772a24892a7 100644
--- a/src/mess/video/733_asr.h
+++ b/src/mess/video/733_asr.h
@@ -27,6 +27,10 @@ public:
// access to legacy token
void *token() const { assert(m_token != NULL); return m_token; }
+
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
protected:
// device-level overrides
virtual void device_config_complete();
@@ -36,6 +40,7 @@ protected:
private:
// internal state
void *m_token;
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type ASR733;
@@ -45,6 +50,9 @@ extern const device_type ASR733;
MCFG_DEVICE_ADD(_tag, ASR733, 0) \
MCFG_DEVICE_CONFIG(_intf)
+#define MCFG_ASR733_VIDEO_GFXDECODE(_gfxtag) \
+ asr733_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
+
DECLARE_READ8_DEVICE_HANDLER(asr733_cru_r);
DECLARE_WRITE8_DEVICE_HANDLER(asr733_cru_w);
diff --git a/src/mess/video/911_vdt.c b/src/mess/video/911_vdt.c
index 7ac2da2fce0..f7d226fecc2 100644
--- a/src/mess/video/911_vdt.c
+++ b/src/mess/video/911_vdt.c
@@ -111,6 +111,7 @@ struct vdt_t
UINT8 last_key_pressed;
int last_modifier_state;
char foreign_mode;
+ gfxdecode_device * m_gfxdecode;
};
/*
@@ -272,12 +273,23 @@ static DEVICE_START( vdt911 )
const device_type VDT911 = &device_creator<vdt911_device>;
vdt911_device::vdt911_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, VDT911, "911 VDT", tag, owner, clock, "vdt911", __FILE__)
+ : device_t(mconfig, VDT911, "911 VDT", tag, owner, clock, "vdt911", __FILE__),
+ m_gfxdecode(*this)
{
m_token = global_alloc_clear(vdt_t);
}
//-------------------------------------------------
+// static_set_gfxdecode_tag: Set the tag of the
+// gfx decoder
+//-------------------------------------------------
+
+void vdt911_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
+{
+ downcast<vdt911_device &>(device).m_gfxdecode.set_tag(tag);
+}
+
+//-------------------------------------------------
// device_config_complete - perform any
// operations now that the configuration is
// complete
@@ -293,6 +305,8 @@ void vdt911_device::device_config_complete()
void vdt911_device::device_start()
{
+ vdt_t *vdt = get_safe_token(this);
+ vdt->m_gfxdecode = m_gfxdecode;
DEVICE_START_NAME( vdt911 )(this);
}
@@ -506,7 +520,7 @@ WRITE8_DEVICE_HANDLER( vdt911_cru_w )
void vdt911_refresh(device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect, int x, int y)
{
vdt_t *vdt = get_safe_token(device);
- gfx_element *gfx = device->machine().gfx[vdt->model];
+ gfx_element *gfx = vdt->m_gfxdecode->gfx(vdt->model);
int height = (vdt->screen_size == char_960) ? 12 : /*25*/24;
int use_8bit_charcodes = USES_8BIT_CHARCODES(vdt);
int address = 0;
diff --git a/src/mess/video/911_vdt.h b/src/mess/video/911_vdt.h
index 5173d0cb29b..24fc43616fd 100644
--- a/src/mess/video/911_vdt.h
+++ b/src/mess/video/911_vdt.h
@@ -51,6 +51,10 @@ public:
// access to legacy token
void *token() const { assert(m_token != NULL); return m_token; }
+
+ // static configuration
+ static void static_set_gfxdecode_tag(device_t &device, const char *tag);
+
protected:
// device-level overrides
virtual void device_config_complete();
@@ -59,6 +63,7 @@ protected:
private:
// internal state
void *m_token;
+ required_device<gfxdecode_device> m_gfxdecode;
};
extern const device_type VDT911;
@@ -68,6 +73,8 @@ extern const device_type VDT911;
MCFG_DEVICE_ADD(_tag, VDT911, 0) \
MCFG_DEVICE_CONFIG(_intf)
+#define MCFG_VDT911_VIDEO_GFXDECODE(_gfxtag) \
+ vdt911_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
DECLARE_READ8_DEVICE_HANDLER(vdt911_cru_r);
DECLARE_WRITE8_DEVICE_HANDLER(vdt911_cru_w);
diff --git a/src/mess/video/abc80.c b/src/mess/video/abc80.c
index a24abde7458..d5cd9e594bd 100644
--- a/src/mess/video/abc80.c
+++ b/src/mess/video/abc80.c
@@ -202,7 +202,7 @@ MACHINE_CONFIG_FRAGMENT( abc80_video )
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_UPDATE_DRIVER(abc80_state, screen_update)
- MCFG_GFXDECODE(abc80)
-
MCFG_SCREEN_RAW_PARAMS(XTAL_11_9808MHz/2, ABC80_HTOTAL, ABC80_HBEND, ABC80_HBSTART, ABC80_VTOTAL, ABC80_VBEND, ABC80_VBSTART)
+
+ MCFG_GFXDECODE_ADD("gfxdecode", abc80)
MACHINE_CONFIG_END
diff --git a/src/mess/video/ac1.c b/src/mess/video/ac1.c
index cf750f19b47..096cd86fc34 100644
--- a/src/mess/video/ac1.c
+++ b/src/mess/video/ac1.c
@@ -36,7 +36,7 @@ UINT32 ac1_state::screen_update_ac1(screen_device &screen, bitmap_ind16 &bitmap,
for(x = 0; x < 64; x++ )
{
int code = space.read_byte(AC1_VIDEO_MEMORY + x + y*64);
- machine().gfx[0]->opaque(bitmap,cliprect, code , 0, 0,0, 63*6-x*6,15*8-y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, code , 0, 0,0, 63*6-x*6,15*8-y*8);
}
}
return 0;
@@ -52,7 +52,7 @@ UINT32 ac1_state::screen_update_ac1_32(screen_device &screen, bitmap_ind16 &bitm
for(x = 0; x < 64; x++ )
{
int code = space.read_byte(AC1_VIDEO_MEMORY + x + y*64);
- machine().gfx[0]->opaque(bitmap,cliprect, code , 0, 0,0, 63*6-x*6,31*8-y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, code , 0, 0,0, 63*6-x*6,31*8-y*8);
}
}
return 0;
diff --git a/src/mess/video/apple1.c b/src/mess/video/apple1.c
index 0caa6412e5c..5fb9a91ad46 100644
--- a/src/mess/video/apple1.c
+++ b/src/mess/video/apple1.c
@@ -82,7 +82,7 @@ TILE_GET_INFO_MEMBER(apple1_state::terminal_gettileinfo)
if ((tile_index == m_current_terminal->cur_offset) && !m_current_terminal->cur_hidden && m_current_terminal->getcursorcode)
code = m_current_terminal->getcursorcode(code);
- SET_TILE_INFO_MEMBER(
+ SET_TILE_INFO_MEMBER(m_gfxdecode,
gfxfont, /* gfx */
code, /* character */
color, /* color */
@@ -184,8 +184,8 @@ terminal_t *apple1_state::terminal_create(
terminal_t *term;
int char_width, char_height;
- char_width = machine().gfx[gfx]->width();
- char_height = machine().gfx[gfx]->height();
+ char_width = m_gfxdecode->gfx(gfx)->width();
+ char_height = m_gfxdecode->gfx(gfx)->height();
term = (terminal_t *) auto_alloc_array(machine(), char, sizeof(terminal_t) - sizeof(term->mem)
+ (num_cols * num_rows * sizeof(termchar_t)));
diff --git a/src/mess/video/aquarius.c b/src/mess/video/aquarius.c
index 68d99ad7148..acb54b35d83 100644
--- a/src/mess/video/aquarius.c
+++ b/src/mess/video/aquarius.c
@@ -85,7 +85,7 @@ TILE_GET_INFO_MEMBER(aquarius_state::aquarius_gettileinfo)
int color = m_colorram[tile_index];
int flags = 0;
- SET_TILE_INFO_MEMBER(bank, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, bank, code, color, flags);
}
void aquarius_state::video_start()
diff --git a/src/mess/video/arcadia.c b/src/mess/video/arcadia.c
index 5575810b92b..9fb9d18fa0f 100644
--- a/src/mess/video/arcadia.c
+++ b/src/mess/video/arcadia.c
@@ -454,8 +454,8 @@ void arcadia_state::arcadia_draw_char(UINT8 *ch, int charcode, int y, int x)
{
m_bg[y+1][x>>3]|=b>>(x&7);
m_bg[y+1][(x>>3)+1]|=b<<(8-(x&7));
- machine().gfx[0]->opaque(*m_bitmap,m_bitmap->cliprect(), b,colour, 0,0,x,y);
- machine().gfx[0]->opaque(*m_bitmap,m_bitmap->cliprect(), b,colour, 0,0,x,y+1);
+ m_gfxdecode->gfx(0)->opaque(*m_bitmap,m_bitmap->cliprect(), b,colour, 0,0,x,y);
+ m_gfxdecode->gfx(0)->opaque(*m_bitmap,m_bitmap->cliprect(), b,colour, 0,0,x,y+1);
}
}
}
@@ -467,7 +467,7 @@ void arcadia_state::arcadia_draw_char(UINT8 *ch, int charcode, int y, int x)
m_bg[y][x>>3]|=b>>(x&7);
m_bg[y][(x>>3)+1]|=b<<(8-(x&7));
- machine().gfx[0]->opaque(*m_bitmap,m_bitmap->cliprect(), b,colour, 0,0,x,y);
+ m_gfxdecode->gfx(0)->opaque(*m_bitmap,m_bitmap->cliprect(), b,colour, 0,0,x,y);
}
}
}
diff --git a/src/mess/video/cgc7900.c b/src/mess/video/cgc7900.c
index 05fa674d548..99915438699 100644
--- a/src/mess/video/cgc7900.c
+++ b/src/mess/video/cgc7900.c
@@ -228,7 +228,7 @@ MACHINE_CONFIG_FRAGMENT( cgc7900_video )
MCFG_SCREEN_SIZE(1024, 768)
MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1)
- MCFG_GFXDECODE(cgc7900)
+ MCFG_GFXDECODE_ADD("gfxdecode", cgc7900)
MCFG_TIMER_DRIVER_ADD_PERIODIC("blink", cgc7900_state, blink_tick, attotime::from_hz(XTAL_28_48MHz/7500000))
MACHINE_CONFIG_END
diff --git a/src/mess/video/cgenie.c b/src/mess/video/cgenie.c
index 7a3b1dbe6ce..62d6dcb943c 100644
--- a/src/mess/video/cgenie.c
+++ b/src/mess/video/cgenie.c
@@ -263,7 +263,7 @@ void cgenie_state::cgenie_refresh_monitor(bitmap_ind16 &bitmap, const rectangle
{
/* get graphics code */
code = videoram[i];
- machine().gfx[1]->opaque(bitmap,r, code, 0,
+ m_gfxdecode->gfx(1)->opaque(bitmap,r, code, 0,
0, 0, r.min_x, r.min_y);
}
else
@@ -273,7 +273,7 @@ void cgenie_state::cgenie_refresh_monitor(bitmap_ind16 &bitmap, const rectangle
/* translate defined character sets */
code += m_font_offset[(code >> 6) & 3];
- machine().gfx[0]->opaque(bitmap,r, code, m_colorram[i&0x3ff],
+ m_gfxdecode->gfx(0)->opaque(bitmap,r, code, m_colorram[i&0x3ff],
0, 0, r.min_x, r.min_y);
}
@@ -302,7 +302,7 @@ void cgenie_state::cgenie_refresh_monitor(bitmap_ind16 &bitmap, const rectangle
rc.max_x = r.max_x;
rc.min_y = r.min_y + (m_crt.cursor_top & 15);
rc.max_y = r.min_y + (m_crt.cursor_bottom & 15);
- machine().gfx[0]->opaque(bitmap,rc, 0x7f, m_colorram[i&0x3ff],
+ m_gfxdecode->gfx(0)->opaque(bitmap,rc, 0x7f, m_colorram[i&0x3ff],
0, 0, rc.min_x, rc.min_y);
}
}
@@ -343,9 +343,9 @@ void cgenie_state::cgenie_refresh_tv_set(bitmap_ind16 &bitmap, const rectangle &
{
/* get graphics code */
code = videoram[i];
- machine().gfx[1]->opaque(m_bitmap,r, code, 1,
+ m_gfxdecode->gfx(1)->opaque(m_bitmap,r, code, 1,
0, 0, r.min_x, r.min_y);
- machine().gfx[1]->opaque(m_dlybitmap,r, code, 2,
+ m_gfxdecode->gfx(1)->opaque(m_dlybitmap,r, code, 2,
0, 0, r.min_x, r.min_y);
}
else
@@ -355,9 +355,9 @@ void cgenie_state::cgenie_refresh_tv_set(bitmap_ind16 &bitmap, const rectangle &
/* translate defined character sets */
code += m_font_offset[(code >> 6) & 3];
- machine().gfx[0]->opaque(m_bitmap,r, code, m_colorram[i&0x3ff] + 16,
+ m_gfxdecode->gfx(0)->opaque(m_bitmap,r, code, m_colorram[i&0x3ff] + 16,
0, 0, r.min_x, r.min_y);
- machine().gfx[0]->opaque(m_dlybitmap,r, code, m_colorram[i&0x3ff] + 32,
+ m_gfxdecode->gfx(0)->opaque(m_dlybitmap,r, code, m_colorram[i&0x3ff] + 32,
0, 0, r.min_x, r.min_y);
}
@@ -387,9 +387,9 @@ void cgenie_state::cgenie_refresh_tv_set(bitmap_ind16 &bitmap, const rectangle &
rc.min_y = r.min_y + (m_crt.cursor_top & 15);
rc.max_y = r.min_y + (m_crt.cursor_bottom & 15);
- machine().gfx[0]->opaque(m_bitmap,rc, 0x7f, m_colorram[i&0x3ff] + 16,
+ m_gfxdecode->gfx(0)->opaque(m_bitmap,rc, 0x7f, m_colorram[i&0x3ff] + 16,
0, 0, rc.min_x, rc.min_y);
- machine().gfx[0]->opaque(m_dlybitmap,rc, 0x7f, m_colorram[i&0x3ff] + 32,
+ m_gfxdecode->gfx(0)->opaque(m_dlybitmap,rc, 0x7f, m_colorram[i&0x3ff] + 32,
0, 0, rc.min_x, rc.min_y);
}
}
diff --git a/src/mess/video/comquest.c b/src/mess/video/comquest.c
index 322ecdbb83c..f96acdde205 100644
--- a/src/mess/video/comquest.c
+++ b/src/mess/video/comquest.c
@@ -13,7 +13,7 @@ UINT32 comquest_state::screen_update_comquest(screen_device &screen, bitmap_ind1
for (y=0; y<128;y++) {
for (x=0, j=0; j<8;j++,x+=8*4) {
#if 0
- machine.gfx[0]->opaque(bitmap,0, state->m_data[y][j],0,
+ m_gfxdecode->gfx(0)->opaque(bitmap,0, state->m_data[y][j],0,
0,0,x,y);
#endif
}
diff --git a/src/mess/video/galeb.c b/src/mess/video/galeb.c
index ab9108cf8db..b2a3bbd87b7 100644
--- a/src/mess/video/galeb.c
+++ b/src/mess/video/galeb.c
@@ -36,7 +36,7 @@ UINT32 galeb_state::screen_update_galeb(screen_device &screen, bitmap_ind16 &bit
for(x = 0; x < 48; x++ )
{
int code = m_video_ram[15 + x + y*64];
- machine().gfx[0]->opaque(bitmap,cliprect, code , 0, 0,0, x*8,y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, code , 0, 0,0, x*8,y*8);
}
}
return 0;
diff --git a/src/mess/video/intv.c b/src/mess/video/intv.c
index a15a6ce11d7..0ef908cc790 100644
--- a/src/mess/video/intv.c
+++ b/src/mess/video/intv.c
@@ -83,7 +83,7 @@ UINT32 intv_state::screen_update_intvkbd(screen_device &screen, bitmap_ind16 &bi
{
offs = current_row*64+x;
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
videoram[offs],
7, /* white */
0,0,
@@ -94,7 +94,7 @@ UINT32 intv_state::screen_update_intvkbd(screen_device &screen, bitmap_ind16 &bi
/* draw the cursor as a solid white block */
/* (should use a filled rect here!) */
- machine().gfx[0]->transpen(bitmap,cliprect,
+ m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
191, /* a block */
7, /* white */
0,0,
@@ -107,25 +107,25 @@ UINT32 intv_state::screen_update_intvkbd(screen_device &screen, bitmap_ind16 &bi
#if 0
// debugging
c = tape_motor_mode_desc[m_tape_motor_mode][0];
- machine().gfx[0]->transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(0)->transpen(bitmap,&machine().screen[0].visarea,
c,
1,
0,0,
0*8,0*8, 0);
for(y=0;y<5;y++)
{
- machine().gfx[0]->transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(0)->transpen(bitmap,&machine().screen[0].visarea,
m_tape_unknown_write[y]+'0',
1,
0,0,
0*8,(y+2)*8, 0);
}
- machine().gfx[0]->transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(0)->transpen(bitmap,&machine().screen[0].visarea,
m_tape_unknown_write[5]+'0',
1,
0,0,
0*8,8*8, 0);
- machine().gfx[0]->transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(0)->transpen(bitmap,&machine().screen[0].visarea,
m_tape_interrupts_enabled+'0',
1,
0,0,
diff --git a/src/mess/video/isa_mda.c b/src/mess/video/isa_mda.c
index 93a0d59e295..662901b6b0d 100644
--- a/src/mess/video/isa_mda.c
+++ b/src/mess/video/isa_mda.c
@@ -105,7 +105,7 @@ MACHINE_CONFIG_FRAGMENT( pcvideo_mda )
MCFG_MC6845_ADD( MDA_MC6845_NAME, MC6845, MDA_SCREEN_NAME, MDA_CLOCK/9, mc6845_mda_intf)
- //MCFG_GFXDECODE(pcmda)
+ //MCFG_GFXDECODE_ADD("gfxdecode", pcmda)
MCFG_DEVICE_ADD("lpt", PC_LPT, 0)
MCFG_PC_LPT_IRQ_HANDLER(WRITELINE(isa8_mda_device, pc_cpu_line))
@@ -520,7 +520,7 @@ MACHINE_CONFIG_FRAGMENT( pcvideo_hercules )
MCFG_MC6845_ADD( HERCULES_MC6845_NAME, MC6845, HERCULES_SCREEN_NAME, MDA_CLOCK/9, mc6845_hercules_intf)
- //MCFG_GFXDECODE(pcherc)
+ //MCFG_GFXDECODE_ADD("gfxdecode", pcherc)
MCFG_DEVICE_ADD("lpt", PC_LPT, 0)
MCFG_PC_LPT_IRQ_HANDLER(WRITELINE(isa8_mda_device, pc_cpu_line))
diff --git a/src/mess/video/kramermc.c b/src/mess/video/kramermc.c
index d4f484cd938..fc73f62bcff 100644
--- a/src/mess/video/kramermc.c
+++ b/src/mess/video/kramermc.c
@@ -37,7 +37,7 @@ UINT32 kramermc_state::screen_update_kramermc(screen_device &screen, bitmap_ind1
for(x = 0; x < 64; x++ )
{
int code = space.read_byte(KRAMERMC_VIDEO_MEMORY + x + y*64);
- machine().gfx[0]->opaque(bitmap,cliprect, code , 0, 0,0, x*8,y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, code , 0, 0,0, x*8,y*8);
}
}
return 0;
diff --git a/src/mess/video/microtan.c b/src/mess/video/microtan.c
index 44284ff5f91..46470dd3071 100644
--- a/src/mess/video/microtan.c
+++ b/src/mess/video/microtan.c
@@ -35,7 +35,7 @@ TILE_GET_INFO_MEMBER(microtan_state::get_bg_tile_info)
int gfxn = m_chunky_buffer[tile_index];
int code = videoram[tile_index];
- SET_TILE_INFO_MEMBER(gfxn, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, gfxn, code, 0, 0);
}
void microtan_state::video_start()
diff --git a/src/mess/video/mikromik.c b/src/mess/video/mikromik.c
index 3b72c76e49b..f3632d4180b 100644
--- a/src/mess/video/mikromik.c
+++ b/src/mess/video/mikromik.c
@@ -122,7 +122,7 @@ MACHINE_CONFIG_FRAGMENT( mm1m6_video )
MCFG_SCREEN_VISIBLE_AREA( 0, 800-1, 0, 400-1 )
//MCFG_SCREEN_RAW_PARAMS(XTAL_18_720MHz, ...)
- MCFG_GFXDECODE(mm1)
+ MCFG_GFXDECODE_ADD("gfxdecode", mm1)
MCFG_I8275_ADD(I8275_TAG, XTAL_18_720MHz/8, 8, crtc_display_pixels, DEVWRITELINE(I8237_TAG, am9517a_device, dreq0_w))
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 cfd699a69be..fa87cd331c5 100644
--- a/src/mess/video/mz700.c
+++ b/src/mess/video/mz700.c
@@ -62,7 +62,7 @@ UINT32 mz_state::screen_update_mz700(screen_device &screen, bitmap_ind16 &bitmap
color = m_colorram[offs];
code = videoram[offs] | (color & 0x80) << 1;
- machine().gfx[0]->opaque(bitmap,cliprect, code, color, 0, 0, sx, sy);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, code, color, 0, 0, sx, sy);
}
return 0;
@@ -75,7 +75,7 @@ UINT32 mz_state::screen_update_mz700(screen_device &screen, bitmap_ind16 &bitmap
VIDEO_START_MEMBER(mz_state,mz800)
{
- machine().gfx[0]->set_source(m_cgram);
+ m_gfxdecode->gfx(0)->set_source(m_cgram);
}
UINT32 mz_state::screen_update_mz800(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -124,5 +124,5 @@ WRITE8_MEMBER(mz_state::mz800_cgram_w)
{
m_cgram[offset] = data;
- machine().gfx[0]->mark_dirty(offset/8);
+ m_gfxdecode->gfx(0)->mark_dirty(offset/8);
}
diff --git a/src/mess/video/nascom1.c b/src/mess/video/nascom1.c
index 90586454525..1a2356d3654 100644
--- a/src/mess/video/nascom1.c
+++ b/src/mess/video/nascom1.c
@@ -17,7 +17,7 @@ UINT32 nascom1_state::screen_update_nascom1(screen_device &screen, bitmap_ind16
for (sx = 0; sx < 48; sx++)
{
- machine().gfx[0]->opaque(bitmap,cliprect, videoram[0x03ca + sx],
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, videoram[0x03ca + sx],
1, 0, 0, sx * 8, 0);
}
@@ -26,7 +26,7 @@ UINT32 nascom1_state::screen_update_nascom1(screen_device &screen, bitmap_ind16
for (sx = 0; sx < 48; sx++)
{
- machine().gfx[0]->opaque(bitmap,cliprect, videoram[0x000a + (sy * 64) + sx],
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, videoram[0x000a + (sy * 64) + sx],
1, 0, 0, sx * 8, (sy + 1) * 16);
}
}
@@ -41,7 +41,7 @@ UINT32 nascom1_state::screen_update_nascom2(screen_device &screen, bitmap_ind16
for (sx = 0; sx < 48; sx++)
{
- machine().gfx[0]->opaque(bitmap,cliprect, videoram[0x03ca + sx],
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, videoram[0x03ca + sx],
1, 0, 0, sx * 8, 0);
}
@@ -50,7 +50,7 @@ UINT32 nascom1_state::screen_update_nascom2(screen_device &screen, bitmap_ind16
for (sx = 0; sx < 48; sx++)
{
- machine().gfx[0]->opaque(bitmap,cliprect, videoram[0x000a + (sy * 64) + sx],
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, videoram[0x000a + (sy * 64) + sx],
1, 0, 0, sx * 8, (sy + 1) * 14);
}
}
diff --git a/src/mess/video/p2000m.c b/src/mess/video/p2000m.c
index 78f67a33afa..2c5e8d3c638 100644
--- a/src/mess/video/p2000m.c
+++ b/src/mess/video/p2000m.c
@@ -41,7 +41,7 @@ UINT32 p2000t_state::screen_update_p2000m(screen_device &screen, bitmap_ind16 &b
if (code < 32) code = 32;
}
- machine().gfx[0]->zoom_opaque(bitmap,cliprect, code,
+ m_gfxdecode->gfx(0)->zoom_opaque(bitmap,cliprect, code,
videoram[offs + 2048] & 0x08 ? 0 : 1, 0, 0, sx, sy, 0x20000, 0x20000);
if (videoram[offs] & 0x80)
diff --git a/src/mess/video/pc1251.c b/src/mess/video/pc1251.c
index 3a5f9ff76e2..e4509d2bb40 100644
--- a/src/mess/video/pc1251.c
+++ b/src/mess/video/pc1251.c
@@ -125,14 +125,14 @@ UINT32 pc1251_state::screen_update_pc1251(screen_device &screen, bitmap_ind16 &b
for (x=RIGHT,y=DOWN, i=0; i<60; x+=3)
{
for (j=0; j<5; j++, i++, x+=3)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],
PC1251_CONTRAST,0,0,
x,y);
}
for (i=0x7b; i>=0x40; x+=3)
{
for (j=0; j<5; j++, i--, x+=3)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],
PC1251_CONTRAST,0,0,
x,y);
}
diff --git a/src/mess/video/pc1401.c b/src/mess/video/pc1401.c
index 7c7ba1031fd..b7dc418ae41 100644
--- a/src/mess/video/pc1401.c
+++ b/src/mess/video/pc1401.c
@@ -148,12 +148,12 @@ UINT32 pc1401_state::screen_update_pc1401(screen_device &screen, bitmap_ind16 &b
for (x=RIGHT,y=DOWN,i=0; i<0x28;x+=2)
{
for (j=0; j<5;j++,i++,x+=2)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,x,y);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,x,y);
}
for (i=0x67; i>=0x40;x+=2)
{
for (j=0; j<5;j++,i--,x+=2)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,x,y);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,x,y);
}
}
diff --git a/src/mess/video/pc1403.c b/src/mess/video/pc1403.c
index 91cb44b9061..93069764ec6 100644
--- a/src/mess/video/pc1403.c
+++ b/src/mess/video/pc1403.c
@@ -159,37 +159,37 @@ UINT32 pc1403_state::screen_update_pc1403(screen_device &screen, bitmap_ind16 &b
{
for (x=m_RIGHT, y=m_DOWN, i=0; i<6*5; x+=2) {
for (j=0; j<5; j++, i++, x+=2)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
x,y);
}
for (i=9*5; i<12*5; x+=2)
{
for (j=0; j<5; j++, i++, x+=2)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
x,y);
}
for (i=6*5; i<9*5; x+=2)
{
for (j=0; j<5; j++, i++, x+=2)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
x,y);
}
for (i=0x7b-3*5; i>0x7b-6*5; x+=2)
{
for (j=0; j<5; j++, i--, x+=2)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
x,y);
}
for (i=0x7b; i>0x7b-3*5; x+=2)
{
for (j=0; j<5; j++, i--, x+=2)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
x,y);
}
for (i=0x7b-6*5; i>0x7b-12*5; x+=2)
{
for (j=0; j<5; j++, i--, x+=2)
- screen.machine().gfx[0]->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, m_reg[i],CONTRAST,0,0,
x,y);
}
}
diff --git a/src/mess/video/pdp1.c b/src/mess/video/pdp1.c
index 802a52ff552..4287351807d 100644
--- a/src/mess/video/pdp1.c
+++ b/src/mess/video/pdp1.c
@@ -220,7 +220,7 @@ void pdp1_state::pdp1_draw_multipleswitch(bitmap_ind16 &bitmap, int x, int y, in
/* write a single char on screen */
void pdp1_state::pdp1_draw_char(bitmap_ind16 &bitmap, char character, int x, int y, int color)
{
- machine().gfx[0]->transpen(bitmap,bitmap.cliprect(), character-32, color, 0, 0,
+ m_gfxdecode->gfx(0)->transpen(bitmap,bitmap.cliprect(), character-32, color, 0, 0,
x+1, y, 0);
}
diff --git a/src/mess/video/stic.c b/src/mess/video/stic.c
index 3066fafff41..3967a1fb0ee 100644
--- a/src/mess/video/stic.c
+++ b/src/mess/video/stic.c
@@ -568,14 +568,14 @@ void stic_device::draw_background(bitmap_ind16 &bitmap, int transparency)
code &= (STIC_CSTM_C50 >> 3); // keep from going outside the array
//if (m_gramdirtybytes[code] == 1)
{
- decodechar(machine().gfx[1],
+ decodechar(m_gfxdecode->gfx(1),
code,
m_gram,
machine().config()->gfxdecodeinfo[1].gfxlayout);
m_gramdirtybytes[code] = 0;
}
// Draw GRAM char
- drawgfx(bitmap,machine().gfx[1],
+ drawgfx(bitmap,m_gfxdecode->gfx(1),
code,
bgcolor*16+fgcolor,
0,0, (x0 + col * STIC_CARD_WIDTH) * STIC_X_SCALE, (y0 + row * STIC_CARD_HEIGHT) * STIC_Y_SCALE,
@@ -589,7 +589,7 @@ void stic_device::draw_background(bitmap_ind16 &bitmap, int transparency)
}
else // read from grom
{
- drawgfx(bitmap,machine().gfx[0],
+ drawgfx(bitmap,m_gfxdecode->gfx(0),
code,
bgcolor*16+fgcolor,
0,0, (x0 + col * STIC_CARD_WIDTH) * STIC_X_SCALE, (y0 + row * STIC_CARD_HEIGHT) * STIC_Y_SCALE,
@@ -621,14 +621,14 @@ void stic_device::draw_background(bitmap_ind16 &bitmap, int transparency)
{
//if (m_gramdirtybytes[code] == 1)
{
- decodechar(machine().gfx[1],
+ decodechar(m_gfxdecode->gfx(1),
code,
m_gram,
machine().config()->gfxdecodeinfo[1].gfxlayout);
m_gramdirtybytes[code] = 0;
}
// Draw GRAM char
- drawgfx(bitmap,machine().gfx[1],
+ drawgfx(bitmap,m_gfxdecode->gfx(1),
code,
bgcolor*16+fgcolor,
0,0, (x0 + col * STIC_CARD_WIDTH) * STIC_X_SCALE, (y0 + row * STIC_CARD_HEIGHT) * STIC_Y_SCALE,
@@ -636,7 +636,7 @@ void stic_device::draw_background(bitmap_ind16 &bitmap, int transparency)
}
else // read from GROM
{
- drawgfx(bitmap,machine().gfx[0],
+ drawgfx(bitmap,m_gfxdecode->gfx(0),
code,
bgcolor*16+fgcolor,
0,0, (x0 + col * STIC_CARD_WIDTH) * STIC_X_SCALE, (y0 + row * STIC_CARD_HEIGHT) * STIC_Y_SCALE,
@@ -670,14 +670,14 @@ void stic_device::draw_sprites(bitmap_ind16 &bitmap, int behind_foreground)
{
//if (m_gramdirtybytes[code] == 1)
{
- decodechar(machine().gfx[1],
+ decodechar(m_gfxdecode->gfx(1),
code,
m_gram,
machine().config()->gfxdecodeinfo[1].gfxlayout);
m_gramdirtybytes[code] = 0;
}
// Draw GRAM char
- machine().gfx[1]->zoom_transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(1)->zoom_transpen(bitmap,&machine().screen[0].visarea,
code,
s->color,
s->xflip,s->yflip,
@@ -688,11 +688,11 @@ void stic_device::draw_sprites(bitmap_ind16 &bitmap, int behind_foreground)
{
//if ((m_gramdirtybytes[code] == 1) || (m_gramdirtybytes[code+1] == 1))
{
- decodechar(machine().gfx[1],
+ decodechar(m_gfxdecode->gfx(1),
code,
m_gram,
machine().config()->gfxdecodeinfo[1].gfxlayout);
- decodechar(machine().gfx[1],
+ decodechar(m_gfxdecode->gfx(1),
code+1,
m_gram,
machine().config()->gfxdecodeinfo[1].gfxlayout);
@@ -700,13 +700,13 @@ void stic_device::draw_sprites(bitmap_ind16 &bitmap, int behind_foreground)
m_gramdirtybytes[code+1] = 0;
}
// Draw GRAM char
- machine().gfx[1]->zoom_transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(1)->zoom_transpen(bitmap,&machine().screen[0].visarea,
code,
s->color,
s->xflip,s->yflip,
(s->xpos + x0) * STIC_X_SCALE, (s->ypos + y0) * STIC_Y_SCALE + s->yflip * s->ysize * STIC_CARD_HEIGHT,
0x8000*s->xsize, 0x8000*s->ysize,0);
- machine().gfx[1]->zoom_transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(1)->zoom_transpen(bitmap,&machine().screen[0].visarea,
code+1,
s->color,
s->xflip,s->yflip,
@@ -719,7 +719,7 @@ void stic_device::draw_sprites(bitmap_ind16 &bitmap, int behind_foreground)
if (s->yres == 1)
{
// Draw GROM char
- machine().gfx[0]->zoom_transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,&machine().screen[0].visarea,
code,
s->color,
s->xflip,s->yflip,
@@ -728,13 +728,13 @@ void stic_device::draw_sprites(bitmap_ind16 &bitmap, int behind_foreground)
}
else
{
- machine().gfx[0]->zoom_transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,&machine().screen[0].visarea,
code,
s->color,
s->xflip,s->yflip,
(s->xpos + x0) * STIC_X_SCALE, (s->ypos + y0) * STIC_Y_SCALE + s->yflip * s->ysize * STIC_CARD_HEIGHT,
0x8000*s->xsize, 0x8000*s->ysize,0);
- machine().gfx[0]->zoom_transpen(bitmap,&machine().screen[0].visarea,
+ m_gfxdecode->gfx(0)->zoom_transpen(bitmap,&machine().screen[0].visarea,
code+1,
s->color,
s->xflip,s->yflip,
diff --git a/src/mess/video/tmc600.c b/src/mess/video/tmc600.c
index 084c709ccf9..95dd2feae45 100644
--- a/src/mess/video/tmc600.c
+++ b/src/mess/video/tmc600.c
@@ -141,7 +141,7 @@ MACHINE_CONFIG_FRAGMENT( tmc600_video )
// video hardware
MCFG_CDP1869_SCREEN_PAL_ADD(CDP1869_TAG, SCREEN_TAG, CDP1869_DOT_CLK_PAL)
MCFG_TIMER_DRIVER_ADD_PERIODIC("blink", tmc600_state, blink_tick, attotime::from_hz(2))
- MCFG_GFXDECODE(tmc600)
+ MCFG_GFXDECODE_ADD("gfxdecode", tmc600)
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mess/video/tx0.c b/src/mess/video/tx0.c
index 7cd1706358d..1f2be165672 100644
--- a/src/mess/video/tx0.c
+++ b/src/mess/video/tx0.c
@@ -197,7 +197,7 @@ void tx0_state::tx0_draw_multipleswitch(bitmap_ind16 &bitmap, int x, int y, int
/* write a single char on screen */
void tx0_state::tx0_draw_char(bitmap_ind16 &bitmap, char character, int x, int y, int color)
{
- machine().gfx[0]->transpen(bitmap,bitmap.cliprect(), character-32, color, 0, 0,
+ m_gfxdecode->gfx(0)->transpen(bitmap,bitmap.cliprect(), character-32, color, 0, 0,
x+1, y, 0);
}
diff --git a/src/mess/video/ut88.c b/src/mess/video/ut88.c
index 51ce3a3d471..9de08ae0332 100644
--- a/src/mess/video/ut88.c
+++ b/src/mess/video/ut88.c
@@ -35,7 +35,7 @@ UINT32 ut88_state::screen_update_ut88(screen_device &screen, bitmap_ind16 &bitma
{
int code = m_p_videoram[ x + y*64 ] & 0x7f;
int attr = m_p_videoram[ x+1 + y*64 ] & 0x80;
- machine().gfx[0]->opaque(bitmap,cliprect, code | attr, 0, 0,0, x*8,y*8);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, code | attr, 0, 0,0, x*8,y*8);
}
}
return 0;
diff --git a/src/mess/video/vtech2.c b/src/mess/video/vtech2.c
index 80e64d4d53b..2173973717d 100644
--- a/src/mess/video/vtech2.c
+++ b/src/mess/video/vtech2.c
@@ -142,7 +142,7 @@ UINT32 vtech2_state::screen_update_laser(screen_device &screen, bitmap_ind16 &bi
sy = BORDER_V/2 + y;
sx = BORDER_H/2 + x * 8;
code = videoram[offs];
- machine().gfx[2]->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
+ m_gfxdecode->gfx(2)->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
}
}
break;
@@ -162,7 +162,7 @@ UINT32 vtech2_state::screen_update_laser(screen_device &screen, bitmap_ind16 &bi
sx = BORDER_H/2 + x * 16;
code = videoram[offs];
color = videoram[offs+1];
- machine().gfx[3]->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
+ m_gfxdecode->gfx(3)->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
}
}
break;
@@ -181,7 +181,7 @@ UINT32 vtech2_state::screen_update_laser(screen_device &screen, bitmap_ind16 &bi
sy = BORDER_V/2 + y;
sx = BORDER_H/2 + x * 8;
code = videoram[offs];
- machine().gfx[5]->opaque(bitmap,cliprect,code,0,0,0,sx,sy);
+ m_gfxdecode->gfx(5)->opaque(bitmap,cliprect,code,0,0,0,sx,sy);
}
}
break;
@@ -201,7 +201,7 @@ UINT32 vtech2_state::screen_update_laser(screen_device &screen, bitmap_ind16 &bi
sy = BORDER_V/2 + y * 2;
sx = BORDER_H/2 + x * 8;
code = videoram[offs];
- machine().gfx[6]->opaque(bitmap,cliprect,code,0,0,0,sx,sy);
+ m_gfxdecode->gfx(6)->opaque(bitmap,cliprect,code,0,0,0,sx,sy);
}
}
break;
@@ -220,7 +220,7 @@ UINT32 vtech2_state::screen_update_laser(screen_device &screen, bitmap_ind16 &bi
sy = BORDER_V/2 + y;
sx = BORDER_H/2 + x * 16;
code = videoram[offs];
- machine().gfx[3]->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
+ m_gfxdecode->gfx(3)->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
}
}
break;
@@ -240,7 +240,7 @@ UINT32 vtech2_state::screen_update_laser(screen_device &screen, bitmap_ind16 &bi
sx = BORDER_H/2 + x * 32;
code = videoram[offs];
color = videoram[offs+1];
- machine().gfx[4]->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
+ m_gfxdecode->gfx(4)->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
}
}
break;
@@ -261,7 +261,7 @@ UINT32 vtech2_state::screen_update_laser(screen_device &screen, bitmap_ind16 &bi
sy = BORDER_V/2 + y * 8;
sx = BORDER_H/2 + x * 8;
code = videoram[0x3800+offs];
- machine().gfx[0]->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
+ m_gfxdecode->gfx(0)->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
}
}
}
@@ -278,7 +278,7 @@ UINT32 vtech2_state::screen_update_laser(screen_device &screen, bitmap_ind16 &bi
sx = BORDER_H/2 + x * 16;
code = videoram[0x3800+offs];
color = videoram[0x3801+offs];
- machine().gfx[1]->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
+ m_gfxdecode->gfx(1)->opaque(bitmap,cliprect,code,color,0,0,sx,sy);
}
}
}
diff --git a/src/mess/video/x68k.c b/src/mess/video/x68k.c
index 97e0c43d612..5860026e96b 100644
--- a/src/mess/video/x68k.c
+++ b/src/mess/video/x68k.c
@@ -1010,7 +1010,7 @@ void x68k_state::x68k_draw_sprites(bitmap_ind16 &bitmap, int priority, rectangle
sx += m_crtc.bg_hshift;
sx += m_sprite_shift;
- machine().gfx[1]->zoom_transpen(bitmap,cliprect,code,colour+0x10,xflip,yflip,m_crtc.hbegin+sx,m_crtc.vbegin+(sy*m_crtc.bg_double),0x10000,0x10000*m_crtc.bg_double,0x00);
+ m_gfxdecode->gfx(1)->zoom_transpen(bitmap,cliprect,code,colour+0x10,xflip,yflip,m_crtc.hbegin+sx,m_crtc.vbegin+(sy*m_crtc.bg_double),0x10000,0x10000*m_crtc.bg_double,0x00);
}
}
}
@@ -1057,7 +1057,7 @@ TILE_GET_INFO_MEMBER(x68k_state::x68k_get_bg0_tile)
int code = m_spriteram[0x3000+tile_index] & 0x00ff;
int colour = (m_spriteram[0x3000+tile_index] & 0x0f00) >> 8;
int flags = (m_spriteram[0x3000+tile_index] & 0xc000) >> 14;
- SET_TILE_INFO_MEMBER(0,code,colour+16,flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,colour+16,flags);
}
TILE_GET_INFO_MEMBER(x68k_state::x68k_get_bg1_tile)
@@ -1065,7 +1065,7 @@ TILE_GET_INFO_MEMBER(x68k_state::x68k_get_bg1_tile)
int code = m_spriteram[0x2000+tile_index] & 0x00ff;
int colour = (m_spriteram[0x2000+tile_index] & 0x0f00) >> 8;
int flags = (m_spriteram[0x2000+tile_index] & 0xc000) >> 14;
- SET_TILE_INFO_MEMBER(0,code,colour+16,flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 0,code,colour+16,flags);
}
TILE_GET_INFO_MEMBER(x68k_state::x68k_get_bg0_tile_16)
@@ -1073,7 +1073,7 @@ TILE_GET_INFO_MEMBER(x68k_state::x68k_get_bg0_tile_16)
int code = m_spriteram[0x3000+tile_index] & 0x00ff;
int colour = (m_spriteram[0x3000+tile_index] & 0x0f00) >> 8;
int flags = (m_spriteram[0x3000+tile_index] & 0xc000) >> 14;
- SET_TILE_INFO_MEMBER(1,code,colour+16,flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,code,colour+16,flags);
}
TILE_GET_INFO_MEMBER(x68k_state::x68k_get_bg1_tile_16)
@@ -1081,7 +1081,7 @@ TILE_GET_INFO_MEMBER(x68k_state::x68k_get_bg1_tile_16)
int code = m_spriteram[0x2000+tile_index] & 0x00ff;
int colour = (m_spriteram[0x2000+tile_index] & 0x0f00) >> 8;
int flags = (m_spriteram[0x2000+tile_index] & 0xc000) >> 14;
- SET_TILE_INFO_MEMBER(1,code,colour+16,flags);
+ SET_TILE_INFO_MEMBER(m_gfxdecode, 1,code,colour+16,flags);
}
VIDEO_START_MEMBER(x68k_state,x68000)
@@ -1089,16 +1089,16 @@ VIDEO_START_MEMBER(x68k_state,x68000)
int gfx_index;
for (gfx_index = 0; gfx_index < MAX_GFX_ELEMENTS; gfx_index++)
- if (machine().gfx[gfx_index] == 0)
+ if (m_gfxdecode->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, memregion("user1")->base(), 32, 0));
+ m_gfxdecode->set_gfx(gfx_index, auto_alloc(machine(), gfx_element(machine(), x68k_pcg_8, memregion("user1")->base(), 32, 0)));
gfx_index++;
- 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);
+ m_gfxdecode->set_gfx(gfx_index, auto_alloc(machine(), gfx_element(machine(), x68k_pcg_16, memregion("user1")->base(), 32, 0)));
+ m_gfxdecode->gfx(gfx_index)->set_colors(32);
/* Tilemaps */
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);
@@ -1159,12 +1159,12 @@ UINT32 x68k_state::screen_update_x68000(screen_device &screen, bitmap_ind16 &bit
{
if(m_video.tile16_dirty[x] != 0)
{
- machine().gfx[1]->mark_dirty(x);
+ m_gfxdecode->gfx(1)->mark_dirty(x);
m_video.tile16_dirty[x] = 0;
}
if(m_video.tile8_dirty[x] != 0)
{
- machine().gfx[0]->mark_dirty(x);
+ m_gfxdecode->gfx(0)->mark_dirty(x);
m_video.tile8_dirty[x] = 0;
}
}