summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/hitme.c11
-rw-r--r--src/mame/drivers/laserbat.c7
-rw-r--r--src/mame/drivers/raiden2.c42
-rw-r--r--src/mame/includes/1942.h2
-rw-r--r--src/mame/includes/1943.h3
-rw-r--r--src/mame/includes/40love.h1
-rw-r--r--src/mame/includes/4enraya.h1
-rw-r--r--src/mame/includes/aeroboto.h1
-rw-r--r--src/mame/includes/aerofgt.h6
-rw-r--r--src/mame/includes/airbustr.h2
-rw-r--r--src/mame/includes/alpha68k.h1
-rw-r--r--src/mame/includes/ampoker2.h2
-rw-r--r--src/mame/includes/amspdwy.h2
-rw-r--r--src/mame/includes/angelkds.h3
-rw-r--r--src/mame/includes/appoooh.h2
-rw-r--r--src/mame/includes/aquarium.h3
-rw-r--r--src/mame/includes/argus.h8
-rw-r--r--src/mame/includes/arkanoid.h1
-rw-r--r--src/mame/includes/armedf.h7
-rw-r--r--src/mame/includes/ashnojoe.h7
-rw-r--r--src/mame/includes/atarifb.h3
-rw-r--r--src/mame/includes/atarig1.h2
-rw-r--r--src/mame/includes/atarig42.h3
-rw-r--r--src/mame/includes/atarigt.h3
-rw-r--r--src/mame/includes/atarigx2.h3
-rw-r--r--src/mame/includes/atarisy1.h2
-rw-r--r--src/mame/includes/atarisy2.h2
-rw-r--r--src/mame/includes/atetris.h1
-rw-r--r--src/mame/includes/badlands.h1
-rw-r--r--src/mame/includes/bagman.h1
-rw-r--r--src/mame/includes/bankp.h2
-rw-r--r--src/mame/includes/baraduke.h4
-rw-r--r--src/mame/includes/batman.h3
-rw-r--r--src/mame/includes/battlane.h2
-rw-r--r--src/mame/includes/battlex.h1
-rw-r--r--src/mame/includes/bbusters.h3
-rw-r--r--src/mame/includes/bigstrkb.h4
-rw-r--r--src/mame/includes/bionicc.h3
-rw-r--r--src/mame/includes/bking.h1
-rw-r--r--src/mame/includes/blktiger.h4
-rw-r--r--src/mame/includes/blmbycar.h2
-rw-r--r--src/mame/includes/blockade.h1
-rw-r--r--src/mame/includes/bloodbro.h3
-rw-r--r--src/mame/includes/blstroid.h1
-rw-r--r--src/mame/includes/blueprnt.h1
-rw-r--r--src/mame/includes/bogeyman.h2
-rw-r--r--src/mame/includes/bombjack.h2
-rw-r--r--src/mame/includes/brkthru.h2
-rw-r--r--src/mame/includes/bsktball.h1
-rw-r--r--src/mame/includes/bwing.h4
-rw-r--r--src/mame/includes/cabal.h2
-rw-r--r--src/mame/includes/calomega.h1
-rw-r--r--src/mame/includes/canyon.h1
-rw-r--r--src/mame/includes/carjmbre.h1
-rw-r--r--src/mame/includes/cave.h5
-rw-r--r--src/mame/includes/cbasebal.h2
-rw-r--r--src/mame/includes/cclimber.h6
-rw-r--r--src/mame/includes/centiped.h4
-rw-r--r--src/mame/includes/chaknpop.h1
-rw-r--r--src/mame/includes/champbas.h2
-rw-r--r--src/mame/includes/cheekyms.h1
-rw-r--r--src/mame/includes/circus.h1
-rw-r--r--src/mame/includes/circusc.h1
-rw-r--r--src/mame/includes/cischeat.h4
-rw-r--r--src/mame/includes/citycon.h3
-rw-r--r--src/mame/includes/cloak.h1
-rw-r--r--src/mame/includes/clshroad.h5
-rw-r--r--src/mame/includes/combatsc.h6
-rw-r--r--src/mame/includes/commando.h2
-rw-r--r--src/mame/includes/compgolf.h3
-rw-r--r--src/mame/includes/contra.h3
-rw-r--r--src/mame/includes/cop01.h2
-rw-r--r--src/mame/includes/cps1.h6
-rw-r--r--src/mame/includes/crbaloon.h1
-rw-r--r--src/mame/includes/crospang.h2
-rw-r--r--src/mame/includes/crshrace.h2
-rw-r--r--src/mame/includes/cyberbal.h4
-rw-r--r--src/mame/includes/darius.h1
-rw-r--r--src/mame/includes/darkmist.h3
-rw-r--r--src/mame/includes/dbz.h2
-rw-r--r--src/mame/includes/dcon.h4
-rw-r--r--src/mame/includes/dday.h4
-rw-r--r--src/mame/includes/ddragon.h4
-rw-r--r--src/mame/includes/ddragon3.h2
-rw-r--r--src/mame/includes/ddribble.h3
-rw-r--r--src/mame/includes/deadang.h5
-rw-r--r--src/mame/includes/dec8.h10
-rw-r--r--src/mame/includes/deniam.h4
-rw-r--r--src/mame/includes/djboy.h1
-rw-r--r--src/mame/includes/dkong.h2
-rw-r--r--src/mame/includes/docastle.h1
-rw-r--r--src/mame/includes/dogfgt.h1
-rw-r--r--src/mame/includes/dooyong.h6
-rw-r--r--src/mame/includes/dragrace.h1
-rw-r--r--src/mame/includes/drgnmst.h6
-rw-r--r--src/mame/includes/drmicro.h2
-rw-r--r--src/mame/includes/dynduke.h3
-rw-r--r--src/mame/includes/eprom.h3
-rw-r--r--src/mame/includes/equites.h4
-rw-r--r--src/mame/includes/esd16.h4
-rw-r--r--src/mame/includes/espial.h1
-rw-r--r--src/mame/includes/exedexes.h5
-rw-r--r--src/mame/includes/exprraid.h2
-rw-r--r--src/mame/includes/f1gp.h3
-rw-r--r--src/mame/includes/fastfred.h4
-rw-r--r--src/mame/includes/fastlane.h2
-rw-r--r--src/mame/includes/fcombat.h1
-rw-r--r--src/mame/includes/finalizr.h2
-rw-r--r--src/mame/includes/firetrap.h5
-rw-r--r--src/mame/includes/firetrk.h6
-rw-r--r--src/mame/includes/fitfight.h3
-rw-r--r--src/mame/includes/flkatck.h2
-rw-r--r--src/mame/includes/flower.h3
-rw-r--r--src/mame/includes/flstory.h3
-rw-r--r--src/mame/includes/foodf.h1
-rw-r--r--src/mame/includes/freekick.h1
-rw-r--r--src/mame/includes/fromanc2.h14
-rw-r--r--src/mame/includes/fromance.h4
-rw-r--r--src/mame/includes/funkybee.h2
-rw-r--r--src/mame/includes/funworld.h1
-rw-r--r--src/mame/includes/fuukifg2.h4
-rw-r--r--src/mame/includes/fuukifg3.h4
-rw-r--r--src/mame/includes/gaelco.h2
-rw-r--r--src/mame/includes/gaelco2.h4
-rw-r--r--src/mame/includes/gaiden.h4
-rw-r--r--src/mame/includes/galaga.h2
-rw-r--r--src/mame/includes/galaxia.h2
-rw-r--r--src/mame/includes/galaxian.h1
-rw-r--r--src/mame/includes/galaxold.h5
-rw-r--r--src/mame/includes/galivan.h4
-rw-r--r--src/mame/includes/gaplus.h2
-rw-r--r--src/mame/includes/gatron.h1
-rw-r--r--src/mame/includes/gauntlet.h2
-rw-r--r--src/mame/includes/gberet.h1
-rw-r--r--src/mame/includes/gcpinbal.h3
-rw-r--r--src/mame/includes/ginganin.h3
-rw-r--r--src/mame/includes/gladiatr.h2
-rw-r--r--src/mame/includes/glass.h2
-rw-r--r--src/mame/includes/gng.h2
-rw-r--r--src/mame/includes/goal92.h3
-rw-r--r--src/mame/includes/goindol.h2
-rw-r--r--src/mame/includes/goldstar.h9
-rw-r--r--src/mame/includes/gomoku.h1
-rw-r--r--src/mame/includes/gotcha.h3
-rw-r--r--src/mame/includes/gottlieb.h2
-rw-r--r--src/mame/includes/gotya.h2
-rw-r--r--src/mame/includes/grchamp.h5
-rw-r--r--src/mame/includes/gstriker.h3
-rw-r--r--src/mame/includes/gsword.h1
-rw-r--r--src/mame/includes/gumbo.h2
-rw-r--r--src/mame/includes/gundealr.h3
-rw-r--r--src/mame/includes/gunsmoke.h2
-rw-r--r--src/mame/includes/gyruss.h1
-rw-r--r--src/mame/includes/hanaawas.h1
-rw-r--r--src/mame/includes/hcastle.h3
-rw-r--r--src/mame/includes/hexion.h2
-rw-r--r--src/mame/includes/higemaru.h1
-rw-r--r--src/mame/includes/himesiki.h1
-rw-r--r--src/mame/includes/hitme.h1
-rw-r--r--src/mame/includes/hng64.h8
-rw-r--r--src/mame/includes/holeland.h2
-rw-r--r--src/mame/includes/homedata.h24
-rw-r--r--src/mame/includes/homerun.h1
-rw-r--r--src/mame/includes/hyperspt.h2
-rw-r--r--src/mame/includes/hyprduel.h3
-rw-r--r--src/mame/includes/inufuku.h2
-rw-r--r--src/mame/includes/iqblock.h2
-rw-r--r--src/mame/includes/ironhors.h2
-rw-r--r--src/mame/includes/jack.h3
-rw-r--r--src/mame/includes/jackal.h1
-rw-r--r--src/mame/includes/jailbrek.h1
-rw-r--r--src/mame/includes/karnov.h1
-rw-r--r--src/mame/includes/kchamp.h1
-rw-r--r--src/mame/includes/kickgoal.h7
-rw-r--r--src/mame/includes/kingobox.h3
-rw-r--r--src/mame/includes/klax.h1
-rw-r--r--src/mame/includes/kncljoe.h1
-rw-r--r--src/mame/includes/konamigx.h5
-rw-r--r--src/mame/includes/kopunch.h2
-rw-r--r--src/mame/includes/ksayakyu.h2
-rw-r--r--src/mame/includes/kyugo.h2
-rw-r--r--src/mame/includes/labyrunr.h2
-rw-r--r--src/mame/includes/ladybug.h2
-rw-r--r--src/mame/includes/ladyfrog.h1
-rw-r--r--src/mame/includes/laserbat.h1
-rw-r--r--src/mame/includes/lasso.h3
-rw-r--r--src/mame/includes/lastduel.h5
-rw-r--r--src/mame/includes/legionna.h7
-rw-r--r--src/mame/includes/lemmings.h1
-rw-r--r--src/mame/includes/liberate.h5
-rw-r--r--src/mame/includes/lkage.h3
-rw-r--r--src/mame/includes/lockon.h1
-rw-r--r--src/mame/includes/lordgun.h4
-rw-r--r--src/mame/includes/lucky74.h2
-rw-r--r--src/mame/includes/lvcards.h1
-rw-r--r--src/mame/includes/lwings.h5
-rw-r--r--src/mame/includes/m107.h1
-rw-r--r--src/mame/includes/m52.h1
-rw-r--r--src/mame/includes/m57.h1
-rw-r--r--src/mame/includes/m58.h2
-rw-r--r--src/mame/includes/m62.h16
-rw-r--r--src/mame/includes/m72.h6
-rw-r--r--src/mame/includes/m90.h12
-rw-r--r--src/mame/includes/m92.h1
-rw-r--r--src/mame/includes/macrossp.h4
-rw-r--r--src/mame/includes/madalien.h7
-rw-r--r--src/mame/includes/mainsnk.h3
-rw-r--r--src/mame/includes/mappy.h5
-rw-r--r--src/mame/includes/marineb.h1
-rw-r--r--src/mame/includes/mario.h1
-rw-r--r--src/mame/includes/markham.h1
-rw-r--r--src/mame/includes/mcatadv.h2
-rw-r--r--src/mame/includes/mcr.h3
-rw-r--r--src/mame/includes/mcr3.h5
-rw-r--r--src/mame/includes/mcr68.h3
-rw-r--r--src/mame/includes/meadows.h1
-rw-r--r--src/mame/includes/megasys1.h4
-rw-r--r--src/mame/includes/mermaid.h2
-rw-r--r--src/mame/includes/metlclsh.h3
-rw-r--r--src/mame/includes/metro.h3
-rw-r--r--src/mame/includes/mikie.h1
-rw-r--r--src/mame/includes/mitchell.h1
-rw-r--r--src/mame/includes/mjkjidai.h1
-rw-r--r--src/mame/includes/mosaic.h2
-rw-r--r--src/mame/includes/mrdo.h2
-rw-r--r--src/mame/includes/mrjong.h1
-rw-r--r--src/mame/includes/ms32.h4
-rw-r--r--src/mame/includes/msisaac.h3
-rw-r--r--src/mame/includes/mugsmash.h2
-rw-r--r--src/mame/includes/mustache.h1
-rw-r--r--src/mame/includes/mystston.h2
-rw-r--r--src/mame/includes/mystwarr.h2
-rw-r--r--src/mame/includes/namcona1.h5
-rw-r--r--src/mame/includes/namcos1.h6
-rw-r--r--src/mame/includes/namcos22.h1
-rw-r--r--src/mame/includes/namcos86.h4
-rw-r--r--src/mame/includes/nemesis.h2
-rw-r--r--src/mame/includes/news.h2
-rw-r--r--src/mame/includes/ninjakd2.h8
-rw-r--r--src/mame/includes/nitedrvr.h1
-rw-r--r--src/mame/includes/nmk16.h9
-rw-r--r--src/mame/includes/nova2001.h7
-rw-r--r--src/mame/includes/nycaptor.h1
-rw-r--r--src/mame/includes/offtwall.h1
-rw-r--r--src/mame/includes/ohmygod.h1
-rw-r--r--src/mame/includes/ojankohs.h2
-rw-r--r--src/mame/includes/oneshot.h3
-rw-r--r--src/mame/includes/orbit.h1
-rw-r--r--src/mame/includes/othldrby.h3
-rw-r--r--src/mame/includes/pacland.h2
-rw-r--r--src/mame/includes/pacman.h5
-rw-r--r--src/mame/includes/pandoras.h1
-rw-r--r--src/mame/includes/paradise.h3
-rw-r--r--src/mame/includes/pass.h2
-rw-r--r--src/mame/includes/pbaction.h2
-rw-r--r--src/mame/includes/pgm.h2
-rw-r--r--src/mame/includes/phoenix.h2
-rw-r--r--src/mame/includes/pingpong.h1
-rw-r--r--src/mame/includes/pirates.h3
-rw-r--r--src/mame/includes/pitnrun.h2
-rw-r--r--src/mame/includes/playch10.h1
-rw-r--r--src/mame/includes/playmark.h9
-rw-r--r--src/mame/includes/plygonet.h4
-rw-r--r--src/mame/includes/pokechmp.h1
-rw-r--r--src/mame/includes/polepos.h2
-rw-r--r--src/mame/includes/poolshrk.h1
-rw-r--r--src/mame/includes/pooyan.h1
-rw-r--r--src/mame/includes/popeye.h1
-rw-r--r--src/mame/includes/popper.h4
-rw-r--r--src/mame/includes/portrait.h2
-rw-r--r--src/mame/includes/powerins.h3
-rw-r--r--src/mame/includes/prehisle.h3
-rw-r--r--src/mame/includes/psikyo.h2
-rw-r--r--src/mame/includes/psychic5.h2
-rw-r--r--src/mame/includes/punchout.h9
-rw-r--r--src/mame/includes/pushman.h3
-rw-r--r--src/mame/includes/quizdna.h2
-rw-r--r--src/mame/includes/quizpani.h3
-rw-r--r--src/mame/includes/raiden.h3
-rw-r--r--src/mame/includes/raiden2.h4
-rw-r--r--src/mame/includes/rallyx.h5
-rw-r--r--src/mame/includes/realbrk.h3
-rw-r--r--src/mame/includes/relief.h2
-rw-r--r--src/mame/includes/renegade.h2
-rw-r--r--src/mame/includes/retofinv.h3
-rw-r--r--src/mame/includes/rocnrope.h1
-rw-r--r--src/mame/includes/rpunch.h2
-rw-r--r--src/mame/includes/runaway.h2
-rw-r--r--src/mame/includes/rungun.h2
-rw-r--r--src/mame/includes/sauro.h2
-rw-r--r--src/mame/includes/sbasketb.h1
-rw-r--r--src/mame/includes/sbugger.h1
-rw-r--r--src/mame/includes/scotrsht.h1
-rw-r--r--src/mame/includes/sderby.h3
-rw-r--r--src/mame/includes/segag80r.h3
-rw-r--r--src/mame/includes/segas32.h1
-rw-r--r--src/mame/includes/seibuspi.h4
-rw-r--r--src/mame/includes/seicross.h1
-rw-r--r--src/mame/includes/senjyo.h5
-rw-r--r--src/mame/includes/seta.h6
-rw-r--r--src/mame/includes/sf.h3
-rw-r--r--src/mame/includes/shadfrce.h3
-rw-r--r--src/mame/includes/shangkid.h1
-rw-r--r--src/mame/includes/shaolins.h1
-rw-r--r--src/mame/includes/shisen.h1
-rw-r--r--src/mame/includes/shootout.h2
-rw-r--r--src/mame/includes/shuuz.h1
-rw-r--r--src/mame/includes/sidearms.h4
-rw-r--r--src/mame/includes/sidepckt.h1
-rw-r--r--src/mame/includes/silkroad.h3
-rw-r--r--src/mame/includes/skullxbo.h2
-rw-r--r--src/mame/includes/skydiver.h1
-rw-r--r--src/mame/includes/skykid.h3
-rw-r--r--src/mame/includes/slapfght.h3
-rw-r--r--src/mame/includes/snk.h10
-rw-r--r--src/mame/includes/snk6502.h4
-rw-r--r--src/mame/includes/snk68.h2
-rw-r--r--src/mame/includes/snookr10.h2
-rw-r--r--src/mame/includes/solomon.h2
-rw-r--r--src/mame/includes/sonson.h1
-rw-r--r--src/mame/includes/spdodgeb.h2
-rw-r--r--src/mame/includes/speedbal.h2
-rw-r--r--src/mame/includes/speedspn.h1
-rw-r--r--src/mame/includes/splash.h2
-rw-r--r--src/mame/includes/sprcros2.h2
-rw-r--r--src/mame/includes/sprint2.h1
-rw-r--r--src/mame/includes/sprint4.h1
-rw-r--r--src/mame/includes/sprint8.h2
-rw-r--r--src/mame/includes/srumbler.h2
-rw-r--r--src/mame/includes/sslam.h4
-rw-r--r--src/mame/includes/ssozumo.h2
-rw-r--r--src/mame/includes/ssrj.h3
-rw-r--r--src/mame/includes/ssv.h1
-rw-r--r--src/mame/includes/stadhero.h1
-rw-r--r--src/mame/includes/starshp1.h1
-rw-r--r--src/mame/includes/stfight.h5
-rw-r--r--src/mame/includes/stlforce.h4
-rw-r--r--src/mame/includes/strnskil.h1
-rw-r--r--src/mame/includes/suna8.h1
-rw-r--r--src/mame/includes/superqix.h2
-rw-r--r--src/mame/includes/suprloco.h1
-rw-r--r--src/mame/includes/suprnova.h2
-rw-r--r--src/mame/includes/suprridr.h2
-rw-r--r--src/mame/includes/suprslam.h2
-rw-r--r--src/mame/includes/system1.h1
-rw-r--r--src/mame/includes/system16.h10
-rw-r--r--src/mame/includes/tagteam.h1
-rw-r--r--src/mame/includes/tail2nos.h1
-rw-r--r--src/mame/includes/taito_f3.h10
-rw-r--r--src/mame/includes/taito_l.h3
-rw-r--r--src/mame/includes/taitojc.h1
-rw-r--r--src/mame/includes/tank8.h1
-rw-r--r--src/mame/includes/tankbatt.h1
-rw-r--r--src/mame/includes/tankbust.h2
-rw-r--r--src/mame/includes/taotaido.h2
-rw-r--r--src/mame/includes/targeth.h2
-rw-r--r--src/mame/includes/tatsumi.h3
-rw-r--r--src/mame/includes/tbowl.h3
-rw-r--r--src/mame/includes/tceptor.h3
-rw-r--r--src/mame/includes/tecmo.h5
-rw-r--r--src/mame/includes/tecmo16.h3
-rw-r--r--src/mame/includes/tecmosys.h4
-rw-r--r--src/mame/includes/tehkanwc.h2
-rw-r--r--src/mame/includes/terracre.h2
-rw-r--r--src/mame/includes/tetrisp2.h7
-rw-r--r--src/mame/includes/thedeep.h3
-rw-r--r--src/mame/includes/thepit.h2
-rw-r--r--src/mame/includes/thoop2.h2
-rw-r--r--src/mame/includes/thunderj.h3
-rw-r--r--src/mame/includes/tiamc1.h2
-rw-r--r--src/mame/includes/tigeroad.h3
-rw-r--r--src/mame/includes/timelimt.h2
-rw-r--r--src/mame/includes/timeplt.h2
-rw-r--r--src/mame/includes/tmnt.h2
-rw-r--r--src/mame/includes/toaplan1.h4
-rw-r--r--src/mame/includes/toaplan2.h1
-rw-r--r--src/mame/includes/toki.h3
-rw-r--r--src/mame/includes/toobin.h2
-rw-r--r--src/mame/includes/toypop.h2
-rw-r--r--src/mame/includes/tp84.h2
-rw-r--r--src/mame/includes/trackfld.h1
-rw-r--r--src/mame/includes/travrusa.h1
-rw-r--r--src/mame/includes/triplhnt.h1
-rw-r--r--src/mame/includes/trucocl.h1
-rw-r--r--src/mame/includes/tryout.h4
-rw-r--r--src/mame/includes/tsamurai.h3
-rw-r--r--src/mame/includes/tumbleb.h10
-rw-r--r--src/mame/includes/tunhunt.h1
-rw-r--r--src/mame/includes/turbo.h1
-rw-r--r--src/mame/includes/twin16.h1
-rw-r--r--src/mame/includes/twincobr.h3
-rw-r--r--src/mame/includes/ultratnk.h1
-rw-r--r--src/mame/includes/unico.h2
-rw-r--r--src/mame/includes/usgames.h1
-rw-r--r--src/mame/includes/vastar.h3
-rw-r--r--src/mame/includes/vball.h2
-rw-r--r--src/mame/includes/videopin.h2
-rw-r--r--src/mame/includes/vindictr.h2
-rw-r--r--src/mame/includes/vulgus.h2
-rw-r--r--src/mame/includes/warpwarp.h4
-rw-r--r--src/mame/includes/wc90.h5
-rw-r--r--src/mame/includes/wc90b.h3
-rw-r--r--src/mame/includes/wecleman.h3
-rw-r--r--src/mame/includes/welltris.h1
-rw-r--r--src/mame/includes/wgp.h3
-rw-r--r--src/mame/includes/williams.h1
-rw-r--r--src/mame/includes/wrally.h2
-rw-r--r--src/mame/includes/wwfsstar.h3
-rw-r--r--src/mame/includes/wwfwfest.h3
-rw-r--r--src/mame/includes/xain.h4
-rw-r--r--src/mame/includes/xorworld.h1
-rw-r--r--src/mame/includes/xxmissio.h2
-rw-r--r--src/mame/includes/xybots.h2
-rw-r--r--src/mame/includes/xyonix.h1
-rw-r--r--src/mame/includes/yiear.h1
-rw-r--r--src/mame/includes/yunsun16.h3
-rw-r--r--src/mame/includes/yunsung8.h2
-rw-r--r--src/mame/includes/zac2650.h1
-rw-r--r--src/mame/includes/zaccaria.h1
-rw-r--r--src/mame/includes/zaxxon.h4
-rw-r--r--src/mame/includes/zerozone.h1
-rw-r--r--src/mame/includes/zodiack.h2
-rw-r--r--src/mame/video/1942.c24
-rw-r--r--src/mame/video/1943.c27
-rw-r--r--src/mame/video/40love.c11
-rw-r--r--src/mame/video/4enraya.c9
-rw-r--r--src/mame/video/aeroboto.c15
-rw-r--r--src/mame/video/aerofgt.c72
-rw-r--r--src/mame/video/airbustr.c22
-rw-r--r--src/mame/video/alpha68k.c13
-rw-r--r--src/mame/video/ampoker2.c18
-rw-r--r--src/mame/video/amspdwy.c13
-rw-r--r--src/mame/video/angelkds.c31
-rw-r--r--src/mame/video/appoooh.c26
-rw-r--r--src/mame/video/aquarium.c41
-rw-r--r--src/mame/video/argus.c86
-rw-r--r--src/mame/video/arkanoid.c11
-rw-r--r--src/mame/video/armedf.c59
-rw-r--r--src/mame/video/ashnojoe.c71
-rw-r--r--src/mame/video/atarifb.c25
-rw-r--r--src/mame/video/atarig1.c20
-rw-r--r--src/mame/video/atarig42.c26
-rw-r--r--src/mame/video/atarigt.c22
-rw-r--r--src/mame/video/atarigx2.c26
-rw-r--r--src/mame/video/atarisy1.c22
-rw-r--r--src/mame/video/atarisy2.c20
-rw-r--r--src/mame/video/atetris.c9
-rw-r--r--src/mame/video/badlands.c11
-rw-r--r--src/mame/video/bagman.c13
-rw-r--r--src/mame/video/bankp.c26
-rw-r--r--src/mame/video/baraduke.c35
-rw-r--r--src/mame/video/batman.c33
-rw-r--r--src/mame/video/battlane.c13
-rw-r--r--src/mame/video/battlex.c11
-rw-r--r--src/mame/video/bbusters.c33
-rw-r--r--src/mame/video/bigstrkb.c35
-rw-r--r--src/mame/video/bionicc.c33
-rw-r--r--src/mame/video/bking.c11
-rw-r--r--src/mame/video/blktiger.c28
-rw-r--r--src/mame/video/blmbycar.c22
-rw-r--r--src/mame/video/blockade.c9
-rw-r--r--src/mame/video/bloodbro.c27
-rw-r--r--src/mame/video/blstroid.c9
-rw-r--r--src/mame/video/blueprnt.c11
-rw-r--r--src/mame/video/bogeyman.c24
-rw-r--r--src/mame/video/bombjack.c24
-rw-r--r--src/mame/video/brkthru.c20
-rw-r--r--src/mame/video/bsktball.c9
-rw-r--r--src/mame/video/bwing.c27
-rw-r--r--src/mame/video/cabal.c18
-rw-r--r--src/mame/video/calomega.c11
-rw-r--r--src/mame/video/canyon.c9
-rw-r--r--src/mame/video/carjmbre.c11
-rw-r--r--src/mame/video/cave.c31
-rw-r--r--src/mame/video/cbasebal.c22
-rw-r--r--src/mame/video/cclimber.c76
-rw-r--r--src/mame/video/centiped.c44
-rw-r--r--src/mame/video/chaknpop.c17
-rw-r--r--src/mame/video/champbas.c22
-rw-r--r--src/mame/video/cheekyms.c11
-rw-r--r--src/mame/video/circus.c9
-rw-r--r--src/mame/video/circusc.c11
-rw-r--r--src/mame/video/cischeat.c34
-rw-r--r--src/mame/video/citycon.c26
-rw-r--r--src/mame/video/cloak.c9
-rw-r--r--src/mame/video/clshroad.c50
-rw-r--r--src/mame/video/combatsc.c78
-rw-r--r--src/mame/video/commando.c22
-rw-r--r--src/mame/video/compgolf.c20
-rw-r--r--src/mame/video/contra.c53
-rw-r--r--src/mame/video/cop01.c20
-rw-r--r--src/mame/video/cps1.c55
-rw-r--r--src/mame/video/crbaloon.c11
-rw-r--r--src/mame/video/crospang.c18
-rw-r--r--src/mame/video/crshrace.c18
-rw-r--r--src/mame/video/cyberbal.c36
-rw-r--r--src/mame/video/darius.c7
-rw-r--r--src/mame/video/darkmist.c29
-rw-r--r--src/mame/video/dbz.c26
-rw-r--r--src/mame/video/dcon.c38
-rw-r--r--src/mame/video/dday.c40
-rw-r--r--src/mame/video/ddragon.c37
-rw-r--r--src/mame/video/ddragon3.c22
-rw-r--r--src/mame/video/ddribble.c24
-rw-r--r--src/mame/video/deadang.c36
-rw-r--r--src/mame/video/dec8.c95
-rw-r--r--src/mame/video/deniam.c29
-rw-r--r--src/mame/video/djboy.c11
-rw-r--r--src/mame/video/dkong.c24
-rw-r--r--src/mame/video/docastle.c11
-rw-r--r--src/mame/video/dogfgt.c11
-rw-r--r--src/mame/video/dooyong.c106
-rw-r--r--src/mame/video/dragrace.c9
-rw-r--r--src/mame/video/drgnmst.c45
-rw-r--r--src/mame/video/drmicro.c22
-rw-r--r--src/mame/video/dynduke.c31
-rw-r--r--src/mame/video/eprom.c33
-rw-r--r--src/mame/video/equites.c40
-rw-r--r--src/mame/video/esd16.c44
-rw-r--r--src/mame/video/espial.c15
-rw-r--r--src/mame/video/exedexes.c31
-rw-r--r--src/mame/video/exprraid.c22
-rw-r--r--src/mame/video/f1gp.c33
-rw-r--r--src/mame/video/fastfred.c37
-rw-r--r--src/mame/video/fastlane.c34
-rw-r--r--src/mame/video/fcombat.c10
-rw-r--r--src/mame/video/finalizr.c22
-rw-r--r--src/mame/video/firetrap.c29
-rw-r--r--src/mame/video/firetrk.c70
-rw-r--r--src/mame/video/fitfight.c39
-rw-r--r--src/mame/video/flkatck.c32
-rw-r--r--src/mame/video/flower.c35
-rw-r--r--src/mame/video/flstory.c37
-rw-r--r--src/mame/video/foodf.c9
-rw-r--r--src/mame/video/freekick.c11
-rw-r--r--src/mame/video/fromanc2.c68
-rw-r--r--src/mame/video/fromance.c16
-rw-r--r--src/mame/video/funkybee.c13
-rw-r--r--src/mame/video/funworld.c13
-rw-r--r--src/mame/video/fuukifg2.c16
-rw-r--r--src/mame/video/fuukifg3.c16
-rw-r--r--src/mame/video/gaelco.c26
-rw-r--r--src/mame/video/gaelco2.c44
-rw-r--r--src/mame/video/gaiden.c60
-rw-r--r--src/mame/video/galaga.c15
-rw-r--r--src/mame/video/galaxia.c22
-rw-r--r--src/mame/video/galaxian.c19
-rw-r--r--src/mame/video/galaxold.c81
-rw-r--r--src/mame/video/galivan.c38
-rw-r--r--src/mame/video/gaplus.c13
-rw-r--r--src/mame/video/gatron.c9
-rw-r--r--src/mame/video/gauntlet.c22
-rw-r--r--src/mame/video/gberet.c11
-rw-r--r--src/mame/video/gcpinbal.c35
-rw-r--r--src/mame/video/ginganin.c26
-rw-r--r--src/mame/video/gladiatr.c24
-rw-r--r--src/mame/video/glass.c22
-rw-r--r--src/mame/video/gng.c22
-rw-r--r--src/mame/video/goal92.c29
-rw-r--r--src/mame/video/goindol.c26
-rw-r--r--src/mame/video/goldstar.c119
-rw-r--r--src/mame/video/gomoku.c11
-rw-r--r--src/mame/video/gotcha.c16
-rw-r--r--src/mame/video/gottlieb.c22
-rw-r--r--src/mame/video/gotya.c13
-rw-r--r--src/mame/video/grchamp.c30
-rw-r--r--src/mame/video/gstriker.c20
-rw-r--r--src/mame/video/gsword.c15
-rw-r--r--src/mame/video/gumbo.c18
-rw-r--r--src/mame/video/gundealr.c24
-rw-r--r--src/mame/video/gunsmoke.c19
-rw-r--r--src/mame/video/gyruss.c15
-rw-r--r--src/mame/video/hanaawas.c15
-rw-r--r--src/mame/video/hcastle.c36
-rw-r--r--src/mame/video/hexion.c14
-rw-r--r--src/mame/video/higemaru.c11
-rw-r--r--src/mame/video/himesiki.c9
-rw-r--r--src/mame/video/hng64.c55
-rw-r--r--src/mame/video/holeland.c36
-rw-r--r--src/mame/video/homedata.c168
-rw-r--r--src/mame/video/homerun.c11
-rw-r--r--src/mame/video/hyperspt.c26
-rw-r--r--src/mame/video/hyprduel.c21
-rw-r--r--src/mame/video/inufuku.c22
-rw-r--r--src/mame/video/iqblock.c22
-rw-r--r--src/mame/video/ironhors.c32
-rw-r--r--src/mame/video/jack.c26
-rw-r--r--src/mame/video/jackal.c8
-rw-r--r--src/mame/video/jailbrek.c11
-rw-r--r--src/mame/video/karnov.c11
-rw-r--r--src/mame/video/kchamp.c11
-rw-r--r--src/mame/video/kickgoal.c55
-rw-r--r--src/mame/video/kingobox.c37
-rw-r--r--src/mame/video/klax.c11
-rw-r--r--src/mame/video/kncljoe.c11
-rw-r--r--src/mame/video/konamigx.c48
-rw-r--r--src/mame/video/kopunch.c18
-rw-r--r--src/mame/video/ksayakyu.c21
-rw-r--r--src/mame/video/kyugo.c24
-rw-r--r--src/mame/video/labyrunr.c38
-rw-r--r--src/mame/video/ladybug.c21
-rw-r--r--src/mame/video/ladyfrog.c13
-rw-r--r--src/mame/video/lasso.c34
-rw-r--r--src/mame/video/lastduel.c55
-rw-r--r--src/mame/video/legionna.c79
-rw-r--r--src/mame/video/lemmings.c9
-rw-r--r--src/mame/video/liberate.c53
-rw-r--r--src/mame/video/lkage.c27
-rw-r--r--src/mame/video/lockon.c11
-rw-r--r--src/mame/video/lordgun.c20
-rw-r--r--src/mame/video/lucky74.c22
-rw-r--r--src/mame/video/lvcards.c11
-rw-r--r--src/mame/video/lwings.c52
-rw-r--r--src/mame/video/m107.c11
-rw-r--r--src/mame/video/m52.c11
-rw-r--r--src/mame/video/m57.c11
-rw-r--r--src/mame/video/m58.c13
-rw-r--r--src/mame/video/m62.c191
-rw-r--r--src/mame/video/m72.c45
-rw-r--r--src/mame/video/m90.c48
-rw-r--r--src/mame/video/m92.c13
-rw-r--r--src/mame/video/macrossp.c50
-rw-r--r--src/mame/video/madalien.c40
-rw-r--r--src/mame/video/mainsnk.c22
-rw-r--r--src/mame/video/mappy.c37
-rw-r--r--src/mame/video/marineb.c13
-rw-r--r--src/mame/video/mario.c11
-rw-r--r--src/mame/video/markham.c11
-rw-r--r--src/mame/video/mcatadv.c26
-rw-r--r--src/mame/video/mcr.c30
-rw-r--r--src/mame/video/mcr3.c36
-rw-r--r--src/mame/video/mcr68.c29
-rw-r--r--src/mame/video/meadows.c9
-rw-r--r--src/mame/video/megasys1.c34
-rw-r--r--src/mame/video/mermaid.c24
-rw-r--r--src/mame/video/metlclsh.c20
-rw-r--r--src/mame/video/metro.c20
-rw-r--r--src/mame/video/mikie.c15
-rw-r--r--src/mame/video/mitchell.c11
-rw-r--r--src/mame/video/mjkjidai.c13
-rw-r--r--src/mame/video/mosaic.c18
-rw-r--r--src/mame/video/mrdo.c22
-rw-r--r--src/mame/video/mrjong.c13
-rw-r--r--src/mame/video/ms32.c46
-rw-r--r--src/mame/video/msisaac.c29
-rw-r--r--src/mame/video/mugsmash.c26
-rw-r--r--src/mame/video/mustache.c11
-rw-r--r--src/mame/video/mystston.c22
-rw-r--r--src/mame/video/mystwarr.c22
-rw-r--r--src/mame/video/namcona1.c56
-rw-r--r--src/mame/video/namcos1.c42
-rw-r--r--src/mame/video/namcos22.c9
-rw-r--r--src/mame/video/namcos86.c28
-rw-r--r--src/mame/video/nemesis.c30
-rw-r--r--src/mame/video/news.c20
-rw-r--r--src/mame/video/ninjakd2.c74
-rw-r--r--src/mame/video/nitedrvr.c9
-rw-r--r--src/mame/video/nmk16.c108
-rw-r--r--src/mame/video/nova2001.c77
-rw-r--r--src/mame/video/nycaptor.c23
-rw-r--r--src/mame/video/offtwall.c11
-rw-r--r--src/mame/video/ohmygod.c11
-rw-r--r--src/mame/video/ojankohs.c32
-rw-r--r--src/mame/video/oneshot.c27
-rw-r--r--src/mame/video/orbit.c11
-rw-r--r--src/mame/video/othldrby.c18
-rw-r--r--src/mame/video/pacland.c22
-rw-r--r--src/mame/video/pacman.c41
-rw-r--r--src/mame/video/pandoras.c11
-rw-r--r--src/mame/video/paradise.c27
-rw-r--r--src/mame/video/pass.c22
-rw-r--r--src/mame/video/pbaction.c22
-rw-r--r--src/mame/video/pgm.c26
-rw-r--r--src/mame/video/phoenix.c22
-rw-r--r--src/mame/video/pingpong.c11
-rw-r--r--src/mame/video/pirates.c33
-rw-r--r--src/mame/video/pitnrun.c22
-rw-r--r--src/mame/video/playch10.c11
-rw-r--r--src/mame/video/playmark.c113
-rw-r--r--src/mame/video/plygonet.c26
-rw-r--r--src/mame/video/pokechmp.c9
-rw-r--r--src/mame/video/polepos.c20
-rw-r--r--src/mame/video/poolshrk.c7
-rw-r--r--src/mame/video/pooyan.c11
-rw-r--r--src/mame/video/popeye.c13
-rw-r--r--src/mame/video/popper.c52
-rw-r--r--src/mame/video/portrait.c14
-rw-r--r--src/mame/video/powerins.c41
-rw-r--r--src/mame/video/prehisle.c26
-rw-r--r--src/mame/video/psikyo.c34
-rw-r--r--src/mame/video/psychic5.c26
-rw-r--r--src/mame/video/punchout.c87
-rw-r--r--src/mame/video/pushman.c19
-rw-r--r--src/mame/video/quizdna.c24
-rw-r--r--src/mame/video/quizpani.c24
-rw-r--r--src/mame/video/raiden.c33
-rw-r--r--src/mame/video/rallyx.c34
-rw-r--r--src/mame/video/realbrk.c33
-rw-r--r--src/mame/video/relief.c22
-rw-r--r--src/mame/video/renegade.c18
-rw-r--r--src/mame/video/retofinv.c24
-rw-r--r--src/mame/video/rocnrope.c11
-rw-r--r--src/mame/video/rpunch.c26
-rw-r--r--src/mame/video/runaway.c18
-rw-r--r--src/mame/video/rungun.c22
-rw-r--r--src/mame/video/sauro.c28
-rw-r--r--src/mame/video/sbasketb.c13
-rw-r--r--src/mame/video/sbugger.c11
-rw-r--r--src/mame/video/scotrsht.c13
-rw-r--r--src/mame/video/sderby.c33
-rw-r--r--src/mame/video/segag80r.c24
-rw-r--r--src/mame/video/segas32.c11
-rw-r--r--src/mame/video/seibuspi.c46
-rw-r--r--src/mame/video/seicross.c13
-rw-r--r--src/mame/video/senjyo.c53
-rw-r--r--src/mame/video/seta.c28
-rw-r--r--src/mame/video/sf.c25
-rw-r--r--src/mame/video/shadfrce.c35
-rw-r--r--src/mame/video/shangkid.c15
-rw-r--r--src/mame/video/shaolins.c13
-rw-r--r--src/mame/video/shisen.c11
-rw-r--r--src/mame/video/shootout.c22
-rw-r--r--src/mame/video/shuuz.c11
-rw-r--r--src/mame/video/sidearms.c35
-rw-r--r--src/mame/video/sidepckt.c11
-rw-r--r--src/mame/video/silkroad.c39
-rw-r--r--src/mame/video/skullxbo.c20
-rw-r--r--src/mame/video/skydiver.c9
-rw-r--r--src/mame/video/skykid.c28
-rw-r--r--src/mame/video/slapfght.c33
-rw-r--r--src/mame/video/snk.c113
-rw-r--r--src/mame/video/snk6502.c44
-rw-r--r--src/mame/video/snk68.c20
-rw-r--r--src/mame/video/snookr10.c22
-rw-r--r--src/mame/video/solomon.c22
-rw-r--r--src/mame/video/sonson.c11
-rw-r--r--src/mame/video/spdodgeb.c15
-rw-r--r--src/mame/video/speedbal.c22
-rw-r--r--src/mame/video/speedspn.c11
-rw-r--r--src/mame/video/splash.c18
-rw-r--r--src/mame/video/sprcros2.c22
-rw-r--r--src/mame/video/sprint2.c9
-rw-r--r--src/mame/video/sprint4.c11
-rw-r--r--src/mame/video/sprint8.c18
-rw-r--r--src/mame/video/srumbler.c22
-rw-r--r--src/mame/video/sslam.c48
-rw-r--r--src/mame/video/ssozumo.c22
-rw-r--r--src/mame/video/ssrj.c27
-rw-r--r--src/mame/video/ssv.c10
-rw-r--r--src/mame/video/stadhero.c9
-rw-r--r--src/mame/video/starshp1.c9
-rw-r--r--src/mame/video/stfight.c31
-rw-r--r--src/mame/video/stlforce.c44
-rw-r--r--src/mame/video/strnskil.c9
-rw-r--r--src/mame/video/suna8.c15
-rw-r--r--src/mame/video/superqix.c24
-rw-r--r--src/mame/video/suprloco.c11
-rw-r--r--src/mame/video/suprnova.c38
-rw-r--r--src/mame/video/suprridr.c20
-rw-r--r--src/mame/video/suprslam.c26
-rw-r--r--src/mame/video/system1.c6
-rw-r--r--src/mame/video/system16.c98
-rw-r--r--src/mame/video/tagteam.c11
-rw-r--r--src/mame/video/tail2nos.c13
-rw-r--r--src/mame/video/taito_f3.c86
-rw-r--r--src/mame/video/taito_l.c41
-rw-r--r--src/mame/video/taitojc.c9
-rw-r--r--src/mame/video/tank8.c9
-rw-r--r--src/mame/video/tankbatt.c9
-rw-r--r--src/mame/video/tankbust.c20
-rw-r--r--src/mame/video/taotaido.c17
-rw-r--r--src/mame/video/targeth.c22
-rw-r--r--src/mame/video/tatsumi.c47
-rw-r--r--src/mame/video/tbowl.c33
-rw-r--r--src/mame/video/tceptor.c29
-rw-r--r--src/mame/video/tecmo.c55
-rw-r--r--src/mame/video/tecmo16.c45
-rw-r--r--src/mame/video/tecmosys.c52
-rw-r--r--src/mame/video/tehkanwc.c22
-rw-r--r--src/mame/video/terracre.c20
-rw-r--r--src/mame/video/tetrisp2.c118
-rw-r--r--src/mame/video/thedeep.c24
-rw-r--r--src/mame/video/thepit.c22
-rw-r--r--src/mame/video/thoop2.c22
-rw-r--r--src/mame/video/thunderj.c33
-rw-r--r--src/mame/video/tiamc1.c14
-rw-r--r--src/mame/video/tigeroad.c22
-rw-r--r--src/mame/video/timelimt.c16
-rw-r--r--src/mame/video/timeplt.c22
-rw-r--r--src/mame/video/tmnt.c19
-rw-r--r--src/mame/video/toaplan1.c52
-rw-r--r--src/mame/video/toaplan2.c9
-rw-r--r--src/mame/video/toki.c27
-rw-r--r--src/mame/video/toobin.c20
-rw-r--r--src/mame/video/toypop.c15
-rw-r--r--src/mame/video/tp84.c34
-rw-r--r--src/mame/video/trackfld.c13
-rw-r--r--src/mame/video/travrusa.c11
-rw-r--r--src/mame/video/triplhnt.c9
-rw-r--r--src/mame/video/trucocl.c15
-rw-r--r--src/mame/video/tryout.c20
-rw-r--r--src/mame/video/tsamurai.c39
-rw-r--r--src/mame/video/tumbleb.c71
-rw-r--r--src/mame/video/tunhunt.c9
-rw-r--r--src/mame/video/turbo.c11
-rw-r--r--src/mame/video/twin16.c9
-rw-r--r--src/mame/video/twincobr.c29
-rw-r--r--src/mame/video/ultratnk.c11
-rw-r--r--src/mame/video/unico.c20
-rw-r--r--src/mame/video/usgames.c11
-rw-r--r--src/mame/video/vastar.c27
-rw-r--r--src/mame/video/vball.c15
-rw-r--r--src/mame/video/videopin.c11
-rw-r--r--src/mame/video/vindictr.c20
-rw-r--r--src/mame/video/vulgus.c24
-rw-r--r--src/mame/video/warpwarp.c35
-rw-r--r--src/mame/video/wc90.c57
-rw-r--r--src/mame/video/wc90b.c33
-rw-r--r--src/mame/video/wecleman.c31
-rw-r--r--src/mame/video/welltris.c13
-rw-r--r--src/mame/video/wgp.c18
-rw-r--r--src/mame/video/williams.c15
-rw-r--r--src/mame/video/wrally.c22
-rw-r--r--src/mame/video/wwfsstar.c20
-rw-r--r--src/mame/video/wwfwfest.c27
-rw-r--r--src/mame/video/xain.c35
-rw-r--r--src/mame/video/xorworld.c9
-rw-r--r--src/mame/video/xxmissio.c22
-rw-r--r--src/mame/video/xybots.c18
-rw-r--r--src/mame/video/xyonix.c11
-rw-r--r--src/mame/video/yiear.c11
-rw-r--r--src/mame/video/yunsun16.c24
-rw-r--r--src/mame/video/yunsung8.c22
-rw-r--r--src/mame/video/zac2650.c9
-rw-r--r--src/mame/video/zaccaria.c13
-rw-r--r--src/mame/video/zaxxon.c49
-rw-r--r--src/mame/video/zerozone.c15
-rw-r--r--src/mame/video/zodiack.c22
838 files changed, 6368 insertions, 6189 deletions
diff --git a/src/mame/drivers/hitme.c b/src/mame/drivers/hitme.c
index 7d8c7d497d4..9e05d8785c8 100644
--- a/src/mame/drivers/hitme.c
+++ b/src/mame/drivers/hitme.c
@@ -28,13 +28,12 @@
*
*************************************/
-static TILE_GET_INFO( get_hitme_tile_info )
+TILE_GET_INFO_MEMBER(hitme_state::get_hitme_tile_info)
{
- hitme_state *state = machine.driver_data<hitme_state>();
/* the code is the low 6 bits */
- UINT8 code = state->m_videoram[tile_index] & 0x3f;
- SET_TILE_INFO(0, code, 0, 0);
+ UINT8 code = m_videoram[tile_index] & 0x3f;
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
@@ -57,14 +56,14 @@ WRITE8_MEMBER(hitme_state::hitme_vidram_w)
static VIDEO_START( hitme )
{
hitme_state *state = machine.driver_data<hitme_state>();
- state->m_tilemap = tilemap_create(machine, get_hitme_tile_info, TILEMAP_SCAN_ROWS, 8, 10, 40, 19);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hitme_state::get_hitme_tile_info),state), TILEMAP_SCAN_ROWS, 8, 10, 40, 19);
}
static VIDEO_START( barricad )
{
hitme_state *state = machine.driver_data<hitme_state>();
- state->m_tilemap = tilemap_create(machine, get_hitme_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 24);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hitme_state::get_hitme_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 24);
}
diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c
index 03e0d9e5306..3a2b2cb7a6f 100644
--- a/src/mame/drivers/laserbat.c
+++ b/src/mame/drivers/laserbat.c
@@ -478,19 +478,18 @@ static GFXDECODE_START( laserbat )
GFXDECODE_ENTRY( "gfx2", 0x0000, sprites_layout, 0, 8 ) /* Sprites */
GFXDECODE_END
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(laserbat_state::get_tile_info)
{
- laserbat_state *state = machine.driver_data<laserbat_state>();
// wrong color index!
- SET_TILE_INFO(0, state->m_videoram[tile_index], state->m_colorram[tile_index] & 0x7f, 0);
+ SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], m_colorram[tile_index] & 0x7f, 0);
}
static VIDEO_START( laserbat )
{
laserbat_state *state = machine.driver_data<laserbat_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(laserbat_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->save_item(NAME(state->m_videoram));
state->save_item(NAME(state->m_colorram));
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index 645808bd409..15ed6171d41 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -820,48 +820,44 @@ WRITE16_MEMBER(raiden2_state::raidendx_cop_bank_2_w)
/* TILEMAP RELATED (move to video file) */
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(raiden2_state::get_back_tile_info)
{
- raiden2_state *state = machine.driver_data<raiden2_state>();
- int tile = state->back_data[tile_index];
+ int tile = back_data[tile_index];
int color = (tile >> 12) | (0 << 4);
- tile = (tile & 0xfff) | (state->bg_bank << 12);
+ tile = (tile & 0xfff) | (bg_bank << 12);
- SET_TILE_INFO(1,tile+0x0000,color,0);
+ SET_TILE_INFO_MEMBER(1,tile+0x0000,color,0);
}
-static TILE_GET_INFO( get_mid_tile_info )
+TILE_GET_INFO_MEMBER(raiden2_state::get_mid_tile_info)
{
- raiden2_state *state = machine.driver_data<raiden2_state>();
- int tile = state->mid_data[tile_index];
+ int tile = mid_data[tile_index];
int color = (tile >> 12) | (2 << 4);
- tile = (tile & 0xfff) | (state->mid_bank << 12);
+ tile = (tile & 0xfff) | (mid_bank << 12);
- SET_TILE_INFO(1,tile,color,0);
+ SET_TILE_INFO_MEMBER(1,tile,color,0);
}
-static TILE_GET_INFO( get_fore_tile_info )
+TILE_GET_INFO_MEMBER(raiden2_state::get_fore_tile_info)
{
- raiden2_state *state = machine.driver_data<raiden2_state>();
- int tile = state->fore_data[tile_index];
+ int tile = fore_data[tile_index];
int color = (tile >> 12) | (1 << 4);
- tile = (tile & 0xfff) | (state->fg_bank << 12);
+ tile = (tile & 0xfff) | (fg_bank << 12);
- SET_TILE_INFO(1,tile,color,0);
+ SET_TILE_INFO_MEMBER(1,tile,color,0);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(raiden2_state::get_text_tile_info)
{
- raiden2_state *state = machine.driver_data<raiden2_state>();
- int tile = state->text_data[tile_index];
+ int tile = text_data[tile_index];
int color = (tile>>12)&0xf;
tile &= 0xfff;
- SET_TILE_INFO(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(0,tile,color,0);
}
/* VIDEO START (move to video file) */
@@ -870,10 +866,10 @@ static TILE_GET_INFO( get_text_tile_info )
static VIDEO_START( raiden2 )
{
raiden2_state *state = machine.driver_data<raiden2_state>();
- state->text_layer = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64,32 );
- state->background_layer = tilemap_create(machine, get_back_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,32 );
- state->midground_layer = tilemap_create(machine, get_mid_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,32 );
- state->foreground_layer = tilemap_create(machine, get_fore_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,32 );
+ state->text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64,32 );
+ state->background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_back_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32 );
+ state->midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_mid_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32 );
+ state->foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden2_state::get_fore_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32 );
state->midground_layer->set_transparent_pen(15);
state->foreground_layer->set_transparent_pen(15);
diff --git a/src/mame/includes/1942.h b/src/mame/includes/1942.h
index bbbe41aaf47..ae7f3e5d34f 100644
--- a/src/mame/includes/1942.h
+++ b/src/mame/includes/1942.h
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(c1942_scroll_w);
DECLARE_WRITE8_MEMBER(c1942_c804_w);
DECLARE_DRIVER_INIT(1942);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/1943.h b/src/mame/includes/1943.h
index 00656257311..b113b7e2f99 100644
--- a/src/mame/includes/1943.h
+++ b/src/mame/includes/1943.h
@@ -40,6 +40,9 @@ public:
DECLARE_WRITE8_MEMBER(c1943_d806_w);
DECLARE_DRIVER_INIT(1943b);
DECLARE_DRIVER_INIT(1943);
+ TILE_GET_INFO_MEMBER(c1943_get_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(c1943_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(c1943_get_fg_tile_info);
};
diff --git a/src/mame/includes/40love.h b/src/mame/includes/40love.h
index 20a18240c00..4b8d8277230 100644
--- a/src/mame/includes/40love.h
+++ b/src/mame/includes/40love.h
@@ -86,6 +86,7 @@ public:
DECLARE_WRITE8_MEMBER(sound_control_3_w);
DECLARE_DRIVER_INIT(undoukai);
DECLARE_DRIVER_INIT(40love);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/4enraya.h b/src/mame/includes/4enraya.h
index b31986b95d0..c72b9d5bf41 100644
--- a/src/mame/includes/4enraya.h
+++ b/src/mame/includes/4enraya.h
@@ -28,6 +28,7 @@ public:
DECLARE_WRITE8_MEMBER(fenraya_videoram_w);
DECLARE_WRITE8_MEMBER(sound_control_w);
DECLARE_DRIVER_INIT(unkpacg);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/aeroboto.h b/src/mame/includes/aeroboto.h
index db7579bd13f..1128338f0dd 100644
--- a/src/mame/includes/aeroboto.h
+++ b/src/mame/includes/aeroboto.h
@@ -54,6 +54,7 @@ public:
DECLARE_WRITE8_MEMBER(aeroboto_3000_w);
DECLARE_WRITE8_MEMBER(aeroboto_videoram_w);
DECLARE_WRITE8_MEMBER(aeroboto_tilecolor_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/aerofgt.h b/src/mame/includes/aerofgt.h
index b005e5af51a..31e4ea32d58 100644
--- a/src/mame/includes/aerofgt.h
+++ b/src/mame/includes/aerofgt.h
@@ -68,6 +68,12 @@ public:
DECLARE_WRITE16_MEMBER(wbbc97_bitmap_enable_w);
DECLARE_WRITE16_MEMBER(pspikesb_oki_banking_w);
DECLARE_WRITE16_MEMBER(aerfboo2_okim6295_banking_w);
+ TILE_GET_INFO_MEMBER(get_pspikes_tile_info);
+ TILE_GET_INFO_MEMBER(karatblz_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(karatblz_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(spinlbrk_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
};
diff --git a/src/mame/includes/airbustr.h b/src/mame/includes/airbustr.h
index 0bc94b0563f..96b6cacec30 100644
--- a/src/mame/includes/airbustr.h
+++ b/src/mame/includes/airbustr.h
@@ -61,6 +61,8 @@ public:
DECLARE_WRITE8_MEMBER(airbustr_colorram2_w);
DECLARE_WRITE8_MEMBER(airbustr_scrollregs_w);
DECLARE_DRIVER_INIT(airbustr);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/alpha68k.h b/src/mame/includes/alpha68k.h
index 782d0aeb5d6..a82d2c978e1 100644
--- a/src/mame/includes/alpha68k.h
+++ b/src/mame/includes/alpha68k.h
@@ -88,6 +88,7 @@ public:
DECLARE_DRIVER_INIT(timesold);
DECLARE_DRIVER_INIT(kyros);
DECLARE_DRIVER_INIT(sstingry);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
/* game_id - used to deal with a few game specific situations */
diff --git a/src/mame/includes/ampoker2.h b/src/mame/includes/ampoker2.h
index c6cb840b2f9..73b092b930a 100644
--- a/src/mame/includes/ampoker2.h
+++ b/src/mame/includes/ampoker2.h
@@ -18,6 +18,8 @@ public:
DECLARE_WRITE8_MEMBER(ampoker2_videoram_w);
DECLARE_DRIVER_INIT(rabbitpk);
DECLARE_DRIVER_INIT(piccolop);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(s2k_get_bg_tile_info);
};
diff --git a/src/mame/includes/amspdwy.h b/src/mame/includes/amspdwy.h
index 4f777aa1ab9..2ab88ee947c 100644
--- a/src/mame/includes/amspdwy.h
+++ b/src/mame/includes/amspdwy.h
@@ -38,6 +38,8 @@ public:
DECLARE_WRITE8_MEMBER(amspdwy_videoram_w);
DECLARE_WRITE8_MEMBER(amspdwy_colorram_w);
DECLARE_READ8_MEMBER(amspdwy_sound_r);
+ TILE_GET_INFO_MEMBER(get_tile_info);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_cols_back);
};
diff --git a/src/mame/includes/angelkds.h b/src/mame/includes/angelkds.h
index 968396b8283..0a6237174a6 100644
--- a/src/mame/includes/angelkds.h
+++ b/src/mame/includes/angelkds.h
@@ -53,6 +53,9 @@ public:
DECLARE_WRITE8_MEMBER(angelkds_paletteram_w);
DECLARE_DRIVER_INIT(angelkds);
DECLARE_DRIVER_INIT(spcpostn);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_bgtop_tile_info);
+ TILE_GET_INFO_MEMBER(get_bgbot_tile_info);
};
diff --git a/src/mame/includes/appoooh.h b/src/mame/includes/appoooh.h
index 865dea76952..babe6d152a2 100644
--- a/src/mame/includes/appoooh.h
+++ b/src/mame/includes/appoooh.h
@@ -43,6 +43,8 @@ public:
DECLARE_WRITE8_MEMBER(appoooh_out_w);
DECLARE_DRIVER_INIT(robowres);
DECLARE_DRIVER_INIT(robowresb);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
#define CHR1_OFST 0x00 /* palette page of char set #1 */
diff --git a/src/mame/includes/aquarium.h b/src/mame/includes/aquarium.h
index ed4c915e973..bade9881034 100644
--- a/src/mame/includes/aquarium.h
+++ b/src/mame/includes/aquarium.h
@@ -40,6 +40,9 @@ public:
DECLARE_WRITE16_MEMBER(aquarium_mid_videoram_w);
DECLARE_WRITE16_MEMBER(aquarium_bak_videoram_w);
DECLARE_DRIVER_INIT(aquarium);
+ TILE_GET_INFO_MEMBER(get_aquarium_txt_tile_info);
+ TILE_GET_INFO_MEMBER(get_aquarium_mid_tile_info);
+ TILE_GET_INFO_MEMBER(get_aquarium_bak_tile_info);
};
diff --git a/src/mame/includes/argus.h b/src/mame/includes/argus.h
index 4bd2641ddf1..5c004e704b8 100644
--- a/src/mame/includes/argus.h
+++ b/src/mame/includes/argus.h
@@ -66,6 +66,14 @@ public:
DECLARE_WRITE8_MEMBER(butasan_pagedram_w);
DECLARE_WRITE8_MEMBER(valtric_unknown_w);
DECLARE_WRITE8_MEMBER(butasan_unknown_w);
+ TILE_GET_INFO_MEMBER(argus_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(argus_get_bg0_tile_info);
+ TILE_GET_INFO_MEMBER(argus_get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(valtric_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(valtric_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(butasan_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(butasan_get_bg0_tile_info);
+ TILE_GET_INFO_MEMBER(butasan_get_bg1_tile_info);
};
diff --git a/src/mame/includes/arkanoid.h b/src/mame/includes/arkanoid.h
index 13903ba2c16..a235e834be1 100644
--- a/src/mame/includes/arkanoid.h
+++ b/src/mame/includes/arkanoid.h
@@ -73,6 +73,7 @@ public:
DECLARE_DRIVER_INIT(arkangc2);
DECLARE_DRIVER_INIT(arkbloc2);
DECLARE_DRIVER_INIT(arkangc);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/armedf.h b/src/mame/includes/armedf.h
index 90ce73eb1ee..a72071602ab 100644
--- a/src/mame/includes/armedf.h
+++ b/src/mame/includes/armedf.h
@@ -68,6 +68,13 @@ public:
DECLARE_DRIVER_INIT(kozure);
DECLARE_DRIVER_INIT(terraf);
DECLARE_DRIVER_INIT(terrafb);
+ TILEMAP_MAPPER_MEMBER(armedf_scan_type1);
+ TILEMAP_MAPPER_MEMBER(armedf_scan_type2);
+ TILEMAP_MAPPER_MEMBER(armedf_scan_type3);
+ TILE_GET_INFO_MEMBER(get_nb1414m4_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_armedf_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
class bigfghtr_state : public armedf_state
diff --git a/src/mame/includes/ashnojoe.h b/src/mame/includes/ashnojoe.h
index 4b898373065..1888cc01dc4 100644
--- a/src/mame/includes/ashnojoe.h
+++ b/src/mame/includes/ashnojoe.h
@@ -63,6 +63,13 @@ public:
DECLARE_WRITE8_MEMBER(ym2203_write_a);
DECLARE_WRITE8_MEMBER(ym2203_write_b);
DECLARE_DRIVER_INIT(ashnojoe);
+ TILE_GET_INFO_MEMBER(get_joe_tile_info);
+ TILE_GET_INFO_MEMBER(get_joe_tile_info_2);
+ TILE_GET_INFO_MEMBER(get_joe_tile_info_3);
+ TILE_GET_INFO_MEMBER(get_joe_tile_info_4);
+ TILE_GET_INFO_MEMBER(get_joe_tile_info_5);
+ TILE_GET_INFO_MEMBER(get_joe_tile_info_6);
+ TILE_GET_INFO_MEMBER(get_joe_tile_info_7);
};
diff --git a/src/mame/includes/atarifb.h b/src/mame/includes/atarifb.h
index 2d68d1b9cff..86b2cd0c67e 100644
--- a/src/mame/includes/atarifb.h
+++ b/src/mame/includes/atarifb.h
@@ -72,6 +72,9 @@ public:
DECLARE_WRITE8_MEMBER(atarifb_alpha1_videoram_w);
DECLARE_WRITE8_MEMBER(atarifb_alpha2_videoram_w);
DECLARE_WRITE8_MEMBER(atarifb_field_videoram_w);
+ TILE_GET_INFO_MEMBER(alpha1_get_tile_info);
+ TILE_GET_INFO_MEMBER(alpha2_get_tile_info);
+ TILE_GET_INFO_MEMBER(field_get_tile_info);
};
diff --git a/src/mame/includes/atarig1.h b/src/mame/includes/atarig1.h
index 0a2c9795d95..dd6b6505321 100644
--- a/src/mame/includes/atarig1.h
+++ b/src/mame/includes/atarig1.h
@@ -44,6 +44,8 @@ public:
DECLARE_DRIVER_INIT(pitfightj);
DECLARE_DRIVER_INIT(pitfight);
DECLARE_DRIVER_INIT(pitfightb);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/atarig42.h b/src/mame/includes/atarig42.h
index 66d2c6edca7..beda5e4adb9 100644
--- a/src/mame/includes/atarig42.h
+++ b/src/mame/includes/atarig42.h
@@ -46,6 +46,9 @@ public:
DECLARE_DIRECT_UPDATE_MEMBER(atarig42_sloop_direct_handler);
DECLARE_DRIVER_INIT(roadriot);
DECLARE_DRIVER_INIT(guardian);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ TILEMAP_MAPPER_MEMBER(atarig42_playfield_scan);
};
diff --git a/src/mame/includes/atarigt.h b/src/mame/includes/atarigt.h
index e869f05e381..14c33073570 100644
--- a/src/mame/includes/atarigt.h
+++ b/src/mame/includes/atarigt.h
@@ -65,6 +65,9 @@ public:
DECLARE_DRIVER_INIT(primrage20);
DECLARE_DRIVER_INIT(primrage);
DECLARE_DRIVER_INIT(tmek);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ TILEMAP_MAPPER_MEMBER(atarigt_playfield_scan);
};
diff --git a/src/mame/includes/atarigx2.h b/src/mame/includes/atarigx2.h
index 3a877a09c0e..c0dee7c1b53 100644
--- a/src/mame/includes/atarigx2.h
+++ b/src/mame/includes/atarigx2.h
@@ -40,6 +40,9 @@ public:
DECLARE_DRIVER_INIT(spclords);
DECLARE_DRIVER_INIT(rrreveng);
DECLARE_DRIVER_INIT(motofren);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ TILEMAP_MAPPER_MEMBER(atarigx2_playfield_scan);
};
diff --git a/src/mame/includes/atarisy1.h b/src/mame/includes/atarisy1.h
index ce15d3a09fe..985b22df3e3 100644
--- a/src/mame/includes/atarisy1.h
+++ b/src/mame/includes/atarisy1.h
@@ -59,6 +59,8 @@ public:
DECLARE_DRIVER_INIT(marble);
DECLARE_DRIVER_INIT(roadrunn);
DECLARE_DRIVER_INIT(indytemp);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/atarisy2.h b/src/mame/includes/atarisy2.h
index 16f45ccbd5c..9279911c47d 100644
--- a/src/mame/includes/atarisy2.h
+++ b/src/mame/includes/atarisy2.h
@@ -73,6 +73,8 @@ public:
DECLARE_DRIVER_INIT(csprint);
DECLARE_DRIVER_INIT(paperboy);
DECLARE_DRIVER_INIT(720);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/atetris.h b/src/mame/includes/atetris.h
index 044f98e0eb0..8ada7da6978 100644
--- a/src/mame/includes/atetris.h
+++ b/src/mame/includes/atetris.h
@@ -27,6 +27,7 @@ public:
DECLARE_WRITE8_MEMBER(nvram_enable_w);
DECLARE_WRITE8_MEMBER(atetris_videoram_w);
DECLARE_DRIVER_INIT(atetris);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
/*----------- defined in video/atetris.c -----------*/
diff --git a/src/mame/includes/badlands.h b/src/mame/includes/badlands.h
index c899560c5bc..aa822224aa6 100644
--- a/src/mame/includes/badlands.h
+++ b/src/mame/includes/badlands.h
@@ -25,6 +25,7 @@ public:
DECLARE_WRITE8_MEMBER(audio_io_w);
DECLARE_READ16_MEMBER(badlandsb_unk_r);
DECLARE_DRIVER_INIT(badlands);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/bagman.h b/src/mame/includes/bagman.h
index 593ee21e897..f9449b14380 100644
--- a/src/mame/includes/bagman.h
+++ b/src/mame/includes/bagman.h
@@ -43,6 +43,7 @@ public:
DECLARE_READ8_MEMBER(dial_input_p1_r);
DECLARE_READ8_MEMBER(dial_input_p2_r);
DECLARE_DRIVER_INIT(bagman);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/bankp.h b/src/mame/includes/bankp.h
index 4b0760d13b5..e8238f2c247 100644
--- a/src/mame/includes/bankp.h
+++ b/src/mame/includes/bankp.h
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(bankp_videoram2_w);
DECLARE_WRITE8_MEMBER(bankp_colorram2_w);
DECLARE_WRITE8_MEMBER(bankp_out_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/baraduke.h b/src/mame/includes/baraduke.h
index 849b9b00ae4..4417ad00c89 100644
--- a/src/mame/includes/baraduke.h
+++ b/src/mame/includes/baraduke.h
@@ -32,6 +32,10 @@ public:
DECLARE_READ8_MEMBER(baraduke_spriteram_r);
DECLARE_WRITE8_MEMBER(baraduke_spriteram_w);
DECLARE_DRIVER_INIT(baraduke);
+ TILEMAP_MAPPER_MEMBER(tx_tilemap_scan);
+ TILE_GET_INFO_MEMBER(tx_get_tile_info);
+ TILE_GET_INFO_MEMBER(get_tile_info0);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
};
diff --git a/src/mame/includes/batman.h b/src/mame/includes/batman.h
index 6260fb7a31d..96db20385cc 100644
--- a/src/mame/includes/batman.h
+++ b/src/mame/includes/batman.h
@@ -20,6 +20,9 @@ public:
DECLARE_READ16_MEMBER(special_port2_r);
DECLARE_WRITE16_MEMBER(latch_w);
DECLARE_DRIVER_INIT(batman);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
};
diff --git a/src/mame/includes/battlane.h b/src/mame/includes/battlane.h
index 9105117ac2c..9a2b6aed5b8 100644
--- a/src/mame/includes/battlane.h
+++ b/src/mame/includes/battlane.h
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(battlane_spriteram_w);
DECLARE_WRITE8_MEMBER(battlane_bitmap_w);
DECLARE_WRITE8_MEMBER(battlane_video_ctrl_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_bg);
+ TILEMAP_MAPPER_MEMBER(battlane_tilemap_scan_rows_2x2);
};
diff --git a/src/mame/includes/battlex.h b/src/mame/includes/battlex.h
index bb84bada06b..e8ec6157344 100644
--- a/src/mame/includes/battlex.h
+++ b/src/mame/includes/battlex.h
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE8_MEMBER(battlex_flipscreen_w);
DECLARE_CUSTOM_INPUT_MEMBER(battlex_in0_b4_r);
DECLARE_DRIVER_INIT(battlex);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/bbusters.h b/src/mame/includes/bbusters.h
index 56e6c3b22b7..5b59182be6d 100644
--- a/src/mame/includes/bbusters.h
+++ b/src/mame/includes/bbusters.h
@@ -49,6 +49,9 @@ public:
DECLARE_WRITE16_MEMBER(bbusters_video_w);
DECLARE_WRITE16_MEMBER(bbusters_pf1_w);
DECLARE_WRITE16_MEMBER(bbusters_pf2_w);
+ TILE_GET_INFO_MEMBER(get_bbusters_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf1_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf2_tile_info);
};
diff --git a/src/mame/includes/bigstrkb.h b/src/mame/includes/bigstrkb.h
index 1b33f52de3b..f4af6bb8950 100644
--- a/src/mame/includes/bigstrkb.h
+++ b/src/mame/includes/bigstrkb.h
@@ -25,6 +25,10 @@ public:
DECLARE_WRITE16_MEMBER(bsb_videoram_w);
DECLARE_WRITE16_MEMBER(bsb_videoram2_w);
DECLARE_WRITE16_MEMBER(bsb_videoram3_w);
+ TILEMAP_MAPPER_MEMBER(bsb_bg_scan);
+ TILE_GET_INFO_MEMBER(get_bsb_tile_info);
+ TILE_GET_INFO_MEMBER(get_bsb_tile2_info);
+ TILE_GET_INFO_MEMBER(get_bsb_tile3_info);
};
diff --git a/src/mame/includes/bionicc.h b/src/mame/includes/bionicc.h
index e8a71720b98..23b9c8985f3 100644
--- a/src/mame/includes/bionicc.h
+++ b/src/mame/includes/bionicc.h
@@ -44,6 +44,9 @@ public:
DECLARE_WRITE16_MEMBER(bionicc_paletteram_w);
DECLARE_WRITE16_MEMBER(bionicc_scroll_w);
DECLARE_WRITE16_MEMBER(bionicc_gfxctrl_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/bking.h b/src/mame/includes/bking.h
index c795882cee8..baeaab2602a 100644
--- a/src/mame/includes/bking.h
+++ b/src/mame/includes/bking.h
@@ -79,6 +79,7 @@ public:
DECLARE_READ8_MEMBER(bking_pos_r);
DECLARE_WRITE8_MEMBER(unk_w);
DECLARE_WRITE8_MEMBER(port_b_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/blktiger.h b/src/mame/includes/blktiger.h
index 561eb481649..cb2cf23c220 100644
--- a/src/mame/includes/blktiger.h
+++ b/src/mame/includes/blktiger.h
@@ -55,6 +55,10 @@ public:
DECLARE_WRITE8_MEMBER(blktiger_video_control_w);
DECLARE_WRITE8_MEMBER(blktiger_video_enable_w);
DECLARE_WRITE8_MEMBER(blktiger_screen_layout_w);
+ TILEMAP_MAPPER_MEMBER(bg8x4_scan);
+ TILEMAP_MAPPER_MEMBER(bg4x8_scan);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/blmbycar.h b/src/mame/includes/blmbycar.h
index bd2986be7e6..daf7ce1d595 100644
--- a/src/mame/includes/blmbycar.h
+++ b/src/mame/includes/blmbycar.h
@@ -42,6 +42,8 @@ public:
DECLARE_WRITE16_MEMBER(blmbycar_vram_0_w);
DECLARE_WRITE16_MEMBER(blmbycar_vram_1_w);
DECLARE_DRIVER_INIT(blmbycar);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
};
diff --git a/src/mame/includes/blockade.h b/src/mame/includes/blockade.h
index c2251f7e526..5940825e96e 100644
--- a/src/mame/includes/blockade.h
+++ b/src/mame/includes/blockade.h
@@ -21,6 +21,7 @@ public:
DECLARE_WRITE8_MEMBER(blockade_videoram_w);
DECLARE_WRITE8_MEMBER(blockade_env_on_w);
DECLARE_WRITE8_MEMBER(blockade_env_off_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/bloodbro.h b/src/mame/includes/bloodbro.h
index ab9041e01ef..732f06ba4f6 100644
--- a/src/mame/includes/bloodbro.h
+++ b/src/mame/includes/bloodbro.h
@@ -22,6 +22,9 @@ public:
DECLARE_WRITE16_MEMBER(bloodbro_bgvideoram_w);
DECLARE_WRITE16_MEMBER(bloodbro_fgvideoram_w);
DECLARE_WRITE16_MEMBER(bloodbro_txvideoram_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/blstroid.h b/src/mame/includes/blstroid.h
index c48803fb79a..4e681054581 100644
--- a/src/mame/includes/blstroid.h
+++ b/src/mame/includes/blstroid.h
@@ -17,6 +17,7 @@ public:
DECLARE_WRITE16_MEMBER(blstroid_halt_until_hblank_0_w);
DECLARE_READ16_MEMBER(inputs_r);
DECLARE_DRIVER_INIT(blstroid);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/blueprnt.h b/src/mame/includes/blueprnt.h
index 33b42de87c2..f4446920a98 100644
--- a/src/mame/includes/blueprnt.h
+++ b/src/mame/includes/blueprnt.h
@@ -36,6 +36,7 @@ public:
DECLARE_WRITE8_MEMBER(blueprnt_colorram_w);
DECLARE_WRITE8_MEMBER(blueprnt_flipscreen_w);
DECLARE_WRITE8_MEMBER(dipsw_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/bogeyman.h b/src/mame/includes/bogeyman.h
index 438b3d5194e..d4065e6ad72 100644
--- a/src/mame/includes/bogeyman.h
+++ b/src/mame/includes/bogeyman.h
@@ -39,6 +39,8 @@ public:
DECLARE_WRITE8_MEMBER(bogeyman_colorram2_w);
DECLARE_WRITE8_MEMBER(bogeyman_paletteram_w);
DECLARE_WRITE8_MEMBER(bogeyman_colbank_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/bombjack.h b/src/mame/includes/bombjack.h
index 61b5917f1f7..c9544cee253 100644
--- a/src/mame/includes/bombjack.h
+++ b/src/mame/includes/bombjack.h
@@ -34,6 +34,8 @@ public:
DECLARE_WRITE8_MEMBER(bombjack_colorram_w);
DECLARE_WRITE8_MEMBER(bombjack_background_w);
DECLARE_WRITE8_MEMBER(bombjack_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/brkthru.h b/src/mame/includes/brkthru.h
index 028c787df5e..143da7110e0 100644
--- a/src/mame/includes/brkthru.h
+++ b/src/mame/includes/brkthru.h
@@ -39,6 +39,8 @@ public:
DECLARE_WRITE8_MEMBER(brkthru_1800_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_DRIVER_INIT(brkthru);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/bsktball.h b/src/mame/includes/bsktball.h
index a02310799da..3a74df9efde 100644
--- a/src/mame/includes/bsktball.h
+++ b/src/mame/includes/bsktball.h
@@ -50,6 +50,7 @@ public:
DECLARE_WRITE8_MEMBER(bsktball_led1_w);
DECLARE_WRITE8_MEMBER(bsktball_led2_w);
DECLARE_WRITE8_MEMBER(bsktball_videoram_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/bwing.h b/src/mame/includes/bwing.h
index 39d73204704..22e0988d322 100644
--- a/src/mame/includes/bwing.h
+++ b/src/mame/includes/bwing.h
@@ -67,6 +67,10 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_INPUT_CHANGED_MEMBER(tilt_pressed);
DECLARE_DRIVER_INIT(bwing);
+ TILE_GET_INFO_MEMBER(get_fgtileinfo);
+ TILE_GET_INFO_MEMBER(get_bgtileinfo);
+ TILE_GET_INFO_MEMBER(get_charinfo);
+ TILEMAP_MAPPER_MEMBER(bwing_scan_cols);
};
diff --git a/src/mame/includes/cabal.h b/src/mame/includes/cabal.h
index df97ba8a678..d22eccd21d2 100644
--- a/src/mame/includes/cabal.h
+++ b/src/mame/includes/cabal.h
@@ -30,6 +30,8 @@ public:
DECLARE_WRITE8_MEMBER(cabalbl_2_adpcm_w);
DECLARE_DRIVER_INIT(cabal);
DECLARE_DRIVER_INIT(cabalbl2);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/calomega.h b/src/mame/includes/calomega.h
index e74e76af0a9..d86603a9376 100644
--- a/src/mame/includes/calomega.h
+++ b/src/mame/includes/calomega.h
@@ -40,6 +40,7 @@ public:
DECLARE_DRIVER_INIT(standard);
DECLARE_DRIVER_INIT(comg080);
DECLARE_DRIVER_INIT(jjpoker);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/canyon.h b/src/mame/includes/canyon.h
index 0da2efee967..d25c9190e5a 100644
--- a/src/mame/includes/canyon.h
+++ b/src/mame/includes/canyon.h
@@ -33,6 +33,7 @@ public:
DECLARE_READ8_MEMBER(canyon_options_r);
DECLARE_WRITE8_MEMBER(canyon_led_w);
DECLARE_WRITE8_MEMBER(canyon_videoram_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/carjmbre.h b/src/mame/includes/carjmbre.h
index 2727bc4bdd6..d89ce945e5b 100644
--- a/src/mame/includes/carjmbre.h
+++ b/src/mame/includes/carjmbre.h
@@ -27,6 +27,7 @@ public:
DECLARE_WRITE8_MEMBER(carjmbre_bgcolor_w);
DECLARE_WRITE8_MEMBER(carjmbre_8806_w);
DECLARE_WRITE8_MEMBER(carjmbre_videoram_w);
+ TILE_GET_INFO_MEMBER(get_carjmbre_tile_info);
};
diff --git a/src/mame/includes/cave.h b/src/mame/includes/cave.h
index 88fefdf82f4..16a2de2fb55 100644
--- a/src/mame/includes/cave.h
+++ b/src/mame/includes/cave.h
@@ -181,6 +181,11 @@ public:
DECLARE_DRIVER_INIT(sailormn);
DECLARE_DRIVER_INIT(dfeveron);
DECLARE_DRIVER_INIT(metmqstr);
+ TILE_GET_INFO_MEMBER(sailormn_get_tile_info_2);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_2);
+ TILE_GET_INFO_MEMBER(get_tile_info_3);
};
/*----------- defined in video/cave.c -----------*/
diff --git a/src/mame/includes/cbasebal.h b/src/mame/includes/cbasebal.h
index f35e3d40bff..d779be81752 100644
--- a/src/mame/includes/cbasebal.h
+++ b/src/mame/includes/cbasebal.h
@@ -43,6 +43,8 @@ public:
DECLARE_WRITE8_MEMBER(cbasebal_scrollx_w);
DECLARE_WRITE8_MEMBER(cbasebal_scrolly_w);
DECLARE_DRIVER_INIT(cbasebal);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
/*----------- defined in video/cbasebal.c -----------*/
diff --git a/src/mame/includes/cclimber.h b/src/mame/includes/cclimber.h
index 6d49f9e5d2a..47c21af7004 100644
--- a/src/mame/includes/cclimber.h
+++ b/src/mame/includes/cclimber.h
@@ -52,6 +52,12 @@ public:
DECLARE_DRIVER_INIT(cclimberj);
DECLARE_DRIVER_INIT(cannonb2);
DECLARE_DRIVER_INIT(cannonb);
+ TILE_GET_INFO_MEMBER(cclimber_get_pf_tile_info);
+ TILE_GET_INFO_MEMBER(swimmer_get_pf_tile_info);
+ TILE_GET_INFO_MEMBER(toprollr_get_pf_tile_info);
+ TILE_GET_INFO_MEMBER(cclimber_get_bs_tile_info);
+ TILE_GET_INFO_MEMBER(toprollr_get_bs_tile_info);
+ TILE_GET_INFO_MEMBER(toproller_get_bg_tile_info);
};
diff --git a/src/mame/includes/centiped.h b/src/mame/includes/centiped.h
index 21123edf7cd..a1b937cebc3 100644
--- a/src/mame/includes/centiped.h
+++ b/src/mame/includes/centiped.h
@@ -63,6 +63,10 @@ public:
DECLARE_WRITE8_MEMBER(mazeinv_paletteram_w);
DECLARE_DRIVER_INIT(multiped);
DECLARE_DRIVER_INIT(bullsdrt);
+ TILE_GET_INFO_MEMBER(centiped_get_tile_info);
+ TILE_GET_INFO_MEMBER(warlords_get_tile_info);
+ TILE_GET_INFO_MEMBER(milliped_get_tile_info);
+ TILE_GET_INFO_MEMBER(bullsdrt_get_tile_info);
};
diff --git a/src/mame/includes/chaknpop.h b/src/mame/includes/chaknpop.h
index dae1cb66dac..d217ee0aa02 100644
--- a/src/mame/includes/chaknpop.h
+++ b/src/mame/includes/chaknpop.h
@@ -47,6 +47,7 @@ public:
DECLARE_WRITE8_MEMBER(chaknpop_attrram_w);
DECLARE_WRITE8_MEMBER(unknown_port_1_w);
DECLARE_WRITE8_MEMBER(unknown_port_2_w);
+ TILE_GET_INFO_MEMBER(chaknpop_get_tx_tile_info);
};
diff --git a/src/mame/includes/champbas.h b/src/mame/includes/champbas.h
index b23d1bca6d9..1e3e646a4e8 100644
--- a/src/mame/includes/champbas.h
+++ b/src/mame/includes/champbas.h
@@ -51,6 +51,8 @@ public:
DECLARE_WRITE8_MEMBER(champbas_dac2_w);
DECLARE_DRIVER_INIT(exctsccr);
DECLARE_DRIVER_INIT(champbas);
+ TILE_GET_INFO_MEMBER(champbas_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(exctsccr_get_bg_tile_info);
};
diff --git a/src/mame/includes/cheekyms.h b/src/mame/includes/cheekyms.h
index b688362b55d..1ce8c404e30 100644
--- a/src/mame/includes/cheekyms.h
+++ b/src/mame/includes/cheekyms.h
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE8_MEMBER(cheekyms_port_40_w);
DECLARE_WRITE8_MEMBER(cheekyms_port_80_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILE_GET_INFO_MEMBER(cheekyms_get_tile_info);
};
diff --git a/src/mame/includes/circus.h b/src/mame/includes/circus.h
index b69181b04b5..a8656078967 100644
--- a/src/mame/includes/circus.h
+++ b/src/mame/includes/circus.h
@@ -32,6 +32,7 @@ public:
DECLARE_DRIVER_INIT(circus);
DECLARE_DRIVER_INIT(robotbwl);
DECLARE_DRIVER_INIT(crash);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/circusc.h b/src/mame/includes/circusc.h
index 88ac954b7c9..5b790f8f7d1 100644
--- a/src/mame/includes/circusc.h
+++ b/src/mame/includes/circusc.h
@@ -52,6 +52,7 @@ public:
DECLARE_WRITE8_MEMBER(circusc_colorram_w);
DECLARE_WRITE8_MEMBER(circusc_flipscreen_w);
DECLARE_DRIVER_INIT(circusc);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/cischeat.h b/src/mame/includes/cischeat.h
index a29770218b6..5fcaf2e6538 100644
--- a/src/mame/includes/cischeat.h
+++ b/src/mame/includes/cischeat.h
@@ -73,6 +73,10 @@ public:
DECLARE_DRIVER_INIT(cischeat);
DECLARE_DRIVER_INIT(bigrun);
DECLARE_DRIVER_INIT(f1gpstar);
+ TILEMAP_MAPPER_MEMBER(cischeat_scan_8x8);
+ TILEMAP_MAPPER_MEMBER(cischeat_scan_16x16);
+ TILE_GET_INFO_MEMBER(cischeat_get_scroll_tile_info_8x8);
+ TILE_GET_INFO_MEMBER(cischeat_get_scroll_tile_info_16x16);
};
diff --git a/src/mame/includes/citycon.h b/src/mame/includes/citycon.h
index fb049fdcd26..6dc5e0cd774 100644
--- a/src/mame/includes/citycon.h
+++ b/src/mame/includes/citycon.h
@@ -34,6 +34,9 @@ public:
DECLARE_WRITE8_MEMBER(citycon_linecolor_w);
DECLARE_WRITE8_MEMBER(citycon_background_w);
DECLARE_DRIVER_INIT(citycon);
+ TILEMAP_MAPPER_MEMBER(citycon_scan);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/cloak.h b/src/mame/includes/cloak.h
index 73c63d00a62..1561483cba0 100644
--- a/src/mame/includes/cloak.h
+++ b/src/mame/includes/cloak.h
@@ -38,6 +38,7 @@ public:
DECLARE_WRITE8_MEMBER(cloak_flipscreen_w);
void set_current_bitmap_videoram_pointer();
void adjust_xy(int offset);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/clshroad.h b/src/mame/includes/clshroad.h
index 834cb465ad8..7e709f588e1 100644
--- a/src/mame/includes/clshroad.h
+++ b/src/mame/includes/clshroad.h
@@ -20,6 +20,11 @@ public:
DECLARE_WRITE8_MEMBER(clshroad_vram_0_w);
DECLARE_WRITE8_MEMBER(clshroad_vram_1_w);
DECLARE_DRIVER_INIT(firebatl);
+ TILE_GET_INFO_MEMBER(get_tile_info_0a);
+ TILE_GET_INFO_MEMBER(get_tile_info_0b);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_extra);
+ TILE_GET_INFO_MEMBER(get_tile_info_fb1);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
};
diff --git a/src/mame/includes/combatsc.h b/src/mame/includes/combatsc.h
index 30ccb016151..18ed314b29f 100644
--- a/src/mame/includes/combatsc.h
+++ b/src/mame/includes/combatsc.h
@@ -66,6 +66,12 @@ public:
DECLARE_WRITE8_MEMBER(combatsc_portA_w);
DECLARE_WRITE8_MEMBER(combatscb_dac_w);
DECLARE_DRIVER_INIT(combatsc);
+ TILE_GET_INFO_MEMBER(get_tile_info0);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
+ TILE_GET_INFO_MEMBER(get_text_info);
+ TILE_GET_INFO_MEMBER(get_tile_info0_bootleg);
+ TILE_GET_INFO_MEMBER(get_tile_info1_bootleg);
+ TILE_GET_INFO_MEMBER(get_text_info_bootleg);
};
diff --git a/src/mame/includes/commando.h b/src/mame/includes/commando.h
index 8bf37ca5e81..feae3d745c4 100644
--- a/src/mame/includes/commando.h
+++ b/src/mame/includes/commando.h
@@ -41,6 +41,8 @@ public:
DECLARE_WRITE8_MEMBER(commando_c804_w);
DECLARE_DRIVER_INIT(spaceinv);
DECLARE_DRIVER_INIT(commando);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/compgolf.h b/src/mame/includes/compgolf.h
index 19aa17ef242..0100d0e8bab 100644
--- a/src/mame/includes/compgolf.h
+++ b/src/mame/includes/compgolf.h
@@ -34,6 +34,9 @@ public:
DECLARE_WRITE8_MEMBER(compgolf_scrollx_lo_w);
DECLARE_WRITE8_MEMBER(compgolf_scrolly_lo_w);
DECLARE_DRIVER_INIT(compgolf);
+ TILE_GET_INFO_MEMBER(get_text_info);
+ TILEMAP_MAPPER_MEMBER(back_scan);
+ TILE_GET_INFO_MEMBER(get_back_info);
};
diff --git a/src/mame/includes/contra.h b/src/mame/includes/contra.h
index a7c46db7f58..00cbbcd1830 100644
--- a/src/mame/includes/contra.h
+++ b/src/mame/includes/contra.h
@@ -54,6 +54,9 @@ public:
DECLARE_WRITE8_MEMBER(contra_text_cram_w);
DECLARE_WRITE8_MEMBER(contra_K007121_ctrl_0_w);
DECLARE_WRITE8_MEMBER(contra_K007121_ctrl_1_w);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/cop01.h b/src/mame/includes/cop01.h
index d465d820947..872626bd256 100644
--- a/src/mame/includes/cop01.h
+++ b/src/mame/includes/cop01.h
@@ -40,6 +40,8 @@ public:
DECLARE_WRITE8_MEMBER(cop01_vreg_w);
DECLARE_CUSTOM_INPUT_MEMBER(mightguy_area_r);
DECLARE_DRIVER_INIT(mightguy);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h
index f0fa31d1da2..7f6f6d20add 100644
--- a/src/mame/includes/cps1.h
+++ b/src/mame/includes/cps1.h
@@ -192,6 +192,12 @@ public:
DECLARE_DRIVER_INIT(ssf2tb);
DECLARE_DRIVER_INIT(pzloop2);
DECLARE_DRIVER_INIT(gigaman2);
+ TILEMAP_MAPPER_MEMBER(tilemap0_scan);
+ TILEMAP_MAPPER_MEMBER(tilemap1_scan);
+ TILEMAP_MAPPER_MEMBER(tilemap2_scan);
+ TILE_GET_INFO_MEMBER(get_tile0_info);
+ TILE_GET_INFO_MEMBER(get_tile1_info);
+ TILE_GET_INFO_MEMBER(get_tile2_info);
};
/*----------- defined in drivers/cps1.c -----------*/
diff --git a/src/mame/includes/crbaloon.h b/src/mame/includes/crbaloon.h
index 6a9e9c90c57..ede36fec682 100644
--- a/src/mame/includes/crbaloon.h
+++ b/src/mame/includes/crbaloon.h
@@ -32,6 +32,7 @@ public:
DECLARE_WRITE8_MEMBER(crbaloon_videoram_w);
DECLARE_WRITE8_MEMBER(crbaloon_colorram_w);
DECLARE_CUSTOM_INPUT_MEMBER(pc3092_r);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/crospang.h b/src/mame/includes/crospang.h
index d6c19a9b2c9..bdf5e4655ae 100644
--- a/src/mame/includes/crospang.h
+++ b/src/mame/includes/crospang.h
@@ -39,6 +39,8 @@ public:
DECLARE_WRITE16_MEMBER(crospang_fg_videoram_w);
DECLARE_WRITE16_MEMBER(crospang_bg_videoram_w);
DECLARE_DRIVER_INIT(crospang);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/crshrace.h b/src/mame/includes/crshrace.h
index e6abefc790f..a69c5a3680b 100644
--- a/src/mame/includes/crshrace.h
+++ b/src/mame/includes/crshrace.h
@@ -45,6 +45,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(country_sndpending_r);
DECLARE_DRIVER_INIT(crshrace2);
DECLARE_DRIVER_INIT(crshrace);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
+ TILE_GET_INFO_MEMBER(get_tile_info2);
};
/*----------- defined in video/crshrace.c -----------*/
diff --git a/src/mame/includes/cyberbal.h b/src/mame/includes/cyberbal.h
index a93fd036a4e..85b6b6cde0d 100644
--- a/src/mame/includes/cyberbal.h
+++ b/src/mame/includes/cyberbal.h
@@ -44,6 +44,10 @@ public:
DECLARE_DRIVER_INIT(cyberbalt);
DECLARE_DRIVER_INIT(cyberbal2p);
DECLARE_DRIVER_INIT(cyberbal);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_alpha2_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
};
diff --git a/src/mame/includes/darius.h b/src/mame/includes/darius.h
index 786d3edea7f..ac8ec866773 100644
--- a/src/mame/includes/darius.h
+++ b/src/mame/includes/darius.h
@@ -86,6 +86,7 @@ public:
DECLARE_WRITE8_MEMBER(darius_write_portB1);
DECLARE_WRITE8_MEMBER(adpcm_data_w);
DECLARE_DRIVER_INIT(darius);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/darkmist.h b/src/mame/includes/darkmist.h
index 90a765207b0..c38cd9dbed2 100644
--- a/src/mame/includes/darkmist.h
+++ b/src/mame/includes/darkmist.h
@@ -22,6 +22,9 @@ public:
DECLARE_WRITE8_MEMBER(darkmist_hw_w);
DECLARE_DRIVER_INIT(darkmist);
+ TILE_GET_INFO_MEMBER(get_bgtile_info);
+ TILE_GET_INFO_MEMBER(get_fgtile_info);
+ TILE_GET_INFO_MEMBER(get_txttile_info);
};
diff --git a/src/mame/includes/dbz.h b/src/mame/includes/dbz.h
index 977412686ac..447d9a66f6a 100644
--- a/src/mame/includes/dbz.h
+++ b/src/mame/includes/dbz.h
@@ -45,6 +45,8 @@ public:
DECLARE_DRIVER_INIT(dbza);
DECLARE_DRIVER_INIT(dbz);
DECLARE_DRIVER_INIT(dbz2);
+ TILE_GET_INFO_MEMBER(get_dbz_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(get_dbz_bg1_tile_info);
};
diff --git a/src/mame/includes/dcon.h b/src/mame/includes/dcon.h
index efaee34ea8b..8d8e042af61 100644
--- a/src/mame/includes/dcon.h
+++ b/src/mame/includes/dcon.h
@@ -32,6 +32,10 @@ public:
DECLARE_WRITE16_MEMBER(dcon_midground_w);
DECLARE_WRITE16_MEMBER(dcon_text_w);
DECLARE_DRIVER_INIT(sdgndmps);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_fore_tile_info);
+ TILE_GET_INFO_MEMBER(get_mid_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/dday.h b/src/mame/includes/dday.h
index 2df8e07820b..d05ca6dc7f3 100644
--- a/src/mame/includes/dday.h
+++ b/src/mame/includes/dday.h
@@ -42,6 +42,10 @@ public:
DECLARE_READ8_MEMBER(dday_colorram_r);
DECLARE_WRITE8_MEMBER(dday_sl_control_w);
DECLARE_WRITE8_MEMBER(dday_control_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
+ TILE_GET_INFO_MEMBER(get_sl_tile_info);
};
diff --git a/src/mame/includes/ddragon.h b/src/mame/includes/ddragon.h
index c975c33a9d9..9dcf7df304c 100644
--- a/src/mame/includes/ddragon.h
+++ b/src/mame/includes/ddragon.h
@@ -89,6 +89,10 @@ public:
DECLARE_DRIVER_INIT(ddragon);
DECLARE_DRIVER_INIT(ddragon6809);
DECLARE_DRIVER_INIT(chinagat);
+ TILEMAP_MAPPER_MEMBER(background_scan);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_16color_tile_info);
};
diff --git a/src/mame/includes/ddragon3.h b/src/mame/includes/ddragon3.h
index ab1c3e25d74..dba603e5321 100644
--- a/src/mame/includes/ddragon3.h
+++ b/src/mame/includes/ddragon3.h
@@ -42,6 +42,8 @@ public:
DECLARE_WRITE16_MEMBER(ddragon3_bg_videoram_w);
DECLARE_WRITE16_MEMBER(ddragon3_fg_videoram_w);
DECLARE_WRITE8_MEMBER(oki_bankswitch_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/ddribble.h b/src/mame/includes/ddribble.h
index a3ff9ef3049..ecd830f4f3f 100644
--- a/src/mame/includes/ddribble.h
+++ b/src/mame/includes/ddribble.h
@@ -52,6 +52,9 @@ public:
DECLARE_WRITE8_MEMBER(ddribble_bg_videoram_w);
DECLARE_READ8_MEMBER(ddribble_vlm5030_busy_r);
DECLARE_WRITE8_MEMBER(ddribble_vlm5030_ctrl_w);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
/*----------- defined in video/ddribble.c -----------*/
diff --git a/src/mame/includes/deadang.h b/src/mame/includes/deadang.h
index b4df373e951..de856487cb0 100644
--- a/src/mame/includes/deadang.h
+++ b/src/mame/includes/deadang.h
@@ -26,6 +26,11 @@ public:
DECLARE_WRITE16_MEMBER(deadang_bank_w);
DECLARE_DRIVER_INIT(deadang);
DECLARE_DRIVER_INIT(ghunter);
+ TILEMAP_MAPPER_MEMBER(bg_scan);
+ TILE_GET_INFO_MEMBER(get_pf3_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf2_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf1_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/dec8.h b/src/mame/includes/dec8.h
index 49e30bc428d..ac943093b74 100644
--- a/src/mame/includes/dec8.h
+++ b/src/mame/includes/dec8.h
@@ -100,6 +100,16 @@ public:
DECLARE_DRIVER_INIT(lastmisn);
DECLARE_DRIVER_INIT(gondo);
DECLARE_DRIVER_INIT(oscar);
+ TILE_GET_INFO_MEMBER(get_cobracom_fix_tile_info);
+ TILE_GET_INFO_MEMBER(get_ghostb_fix_tile_info);
+ TILE_GET_INFO_MEMBER(get_oscar_fix_tile_info);
+ TILEMAP_MAPPER_MEMBER(lastmisn_scan_rows);
+ TILE_GET_INFO_MEMBER(get_lastmisn_tile_info);
+ TILE_GET_INFO_MEMBER(get_lastmisn_fix_tile_info);
+ TILE_GET_INFO_MEMBER(get_srdarwin_fix_tile_info);
+ TILE_GET_INFO_MEMBER(get_srdarwin_tile_info);
+ TILE_GET_INFO_MEMBER(get_gondo_fix_tile_info);
+ TILE_GET_INFO_MEMBER(get_gondo_tile_info);
};
/*----------- defined in video/dec8.c -----------*/
diff --git a/src/mame/includes/deniam.h b/src/mame/includes/deniam.h
index 9fd73f23f24..23748fb8504 100644
--- a/src/mame/includes/deniam.h
+++ b/src/mame/includes/deniam.h
@@ -53,6 +53,10 @@ public:
DECLARE_WRITE16_MEMBER(deniam16c_oki_rom_bank_w);
DECLARE_DRIVER_INIT(karianx);
DECLARE_DRIVER_INIT(logicpro);
+ TILEMAP_MAPPER_MEMBER(scan_pages);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/djboy.h b/src/mame/includes/djboy.h
index 638f325fe15..ec717b9b7d0 100644
--- a/src/mame/includes/djboy.h
+++ b/src/mame/includes/djboy.h
@@ -67,6 +67,7 @@ public:
DECLARE_WRITE8_MEMBER(djboy_paletteram_w);
DECLARE_DRIVER_INIT(djboy);
DECLARE_DRIVER_INIT(djboyj);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/dkong.h b/src/mame/includes/dkong.h
index b6238b49215..a7796e43984 100644
--- a/src/mame/includes/dkong.h
+++ b/src/mame/includes/dkong.h
@@ -237,6 +237,8 @@ public:
DECLARE_DRIVER_INIT(dkingjr);
DECLARE_DRIVER_INIT(drakton);
DECLARE_DRIVER_INIT(dkongx);
+ TILE_GET_INFO_MEMBER(dkong_bg_tile_info);
+ TILE_GET_INFO_MEMBER(radarscp1_bg_tile_info);
};
/*----------- defined in video/dkong.c -----------*/
diff --git a/src/mame/includes/docastle.h b/src/mame/includes/docastle.h
index 946a7410b05..ecb9be5006f 100644
--- a/src/mame/includes/docastle.h
+++ b/src/mame/includes/docastle.h
@@ -41,6 +41,7 @@ public:
DECLARE_WRITE8_MEMBER(docastle_flipscreen_on_w);
DECLARE_READ8_MEMBER(idsoccer_adpcm_status_r);
DECLARE_WRITE8_MEMBER(idsoccer_adpcm_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/dogfgt.h b/src/mame/includes/dogfgt.h
index 50143bb9a4f..e36aab993ed 100644
--- a/src/mame/includes/dogfgt.h
+++ b/src/mame/includes/dogfgt.h
@@ -47,6 +47,7 @@ public:
DECLARE_WRITE8_MEMBER(dogfgt_bgvideoram_w);
DECLARE_WRITE8_MEMBER(dogfgt_scroll_w);
DECLARE_WRITE8_MEMBER(dogfgt_1800_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/dooyong.h b/src/mame/includes/dooyong.h
index 898586db0e3..8f684f56d91 100644
--- a/src/mame/includes/dooyong.h
+++ b/src/mame/includes/dooyong.h
@@ -63,6 +63,12 @@ public:
DECLARE_WRITE8_MEMBER(flytiger_ctrl_w);
DECLARE_WRITE16_MEMBER(rshark_ctrl_w);
DECLARE_READ8_MEMBER(unk_r);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg2_tile_info);
+ TILE_GET_INFO_MEMBER(flytiger_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/dragrace.h b/src/mame/includes/dragrace.h
index e9426ca6aa9..a034243c607 100644
--- a/src/mame/includes/dragrace.h
+++ b/src/mame/includes/dragrace.h
@@ -48,6 +48,7 @@ public:
DECLARE_READ8_MEMBER(dragrace_input_r);
DECLARE_READ8_MEMBER(dragrace_steering_r);
DECLARE_READ8_MEMBER(dragrace_scanline_r);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/drgnmst.h b/src/mame/includes/drgnmst.h
index 74469b4f53f..3c1e466c1c9 100644
--- a/src/mame/includes/drgnmst.h
+++ b/src/mame/includes/drgnmst.h
@@ -57,6 +57,12 @@ public:
DECLARE_WRITE16_MEMBER(drgnmst_bg_videoram_w);
DECLARE_WRITE16_MEMBER(drgnmst_md_videoram_w);
DECLARE_DRIVER_INIT(drgnmst);
+ TILE_GET_INFO_MEMBER(get_drgnmst_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_drgnmst_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_drgnmst_md_tile_info);
+ TILEMAP_MAPPER_MEMBER(drgnmst_fg_tilemap_scan_cols);
+ TILEMAP_MAPPER_MEMBER(drgnmst_md_tilemap_scan_cols);
+ TILEMAP_MAPPER_MEMBER(drgnmst_bg_tilemap_scan_cols);
};
diff --git a/src/mame/includes/drmicro.h b/src/mame/includes/drmicro.h
index 1e9408ddf4a..40df8d10bf5 100644
--- a/src/mame/includes/drmicro.h
+++ b/src/mame/includes/drmicro.h
@@ -28,6 +28,8 @@ public:
DECLARE_WRITE8_MEMBER(nmi_enable_w);
DECLARE_WRITE8_MEMBER(pcm_set_w);
DECLARE_WRITE8_MEMBER(drmicro_videoram_w);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
};
diff --git a/src/mame/includes/dynduke.h b/src/mame/includes/dynduke.h
index 050033aaaea..0b9ba79bde4 100644
--- a/src/mame/includes/dynduke.h
+++ b/src/mame/includes/dynduke.h
@@ -36,6 +36,9 @@ public:
DECLARE_WRITE16_MEMBER(dynduke_gfxbank_w);
DECLARE_WRITE16_MEMBER(dynduke_control_w);
DECLARE_DRIVER_INIT(dynduke);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/eprom.h b/src/mame/includes/eprom.h
index 844b266a186..344be12e3e6 100644
--- a/src/mame/includes/eprom.h
+++ b/src/mame/includes/eprom.h
@@ -24,6 +24,9 @@ public:
DECLARE_DRIVER_INIT(klaxp);
DECLARE_DRIVER_INIT(guts);
DECLARE_DRIVER_INIT(eprom);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ TILE_GET_INFO_MEMBER(guts_get_playfield_tile_info);
};
diff --git a/src/mame/includes/equites.h b/src/mame/includes/equites.h
index b6c52fe6bf7..a51fcb18f56 100644
--- a/src/mame/includes/equites.h
+++ b/src/mame/includes/equites.h
@@ -94,6 +94,10 @@ public:
DECLARE_DRIVER_INIT(gekisou);
DECLARE_DRIVER_INIT(splndrbt);
DECLARE_DRIVER_INIT(equites);
+ TILE_GET_INFO_MEMBER(equites_fg_info);
+ TILE_GET_INFO_MEMBER(splndrbt_fg_info);
+ TILE_GET_INFO_MEMBER(equites_bg_info);
+ TILE_GET_INFO_MEMBER(splndrbt_bg_info);
};
diff --git a/src/mame/includes/esd16.h b/src/mame/includes/esd16.h
index 3d128e20890..3c50bf8a111 100644
--- a/src/mame/includes/esd16.h
+++ b/src/mame/includes/esd16.h
@@ -56,6 +56,10 @@ public:
DECLARE_WRITE16_MEMBER(esd16_vram_1_w);
DECLARE_WRITE16_MEMBER(esd16_tilemap0_color_w);
DECLARE_WRITE16_MEMBER(esd16_tilemap0_color_jumppop_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_0_16x16);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_1_16x16);
};
diff --git a/src/mame/includes/espial.h b/src/mame/includes/espial.h
index cf2700ed259..39b3a0350a6 100644
--- a/src/mame/includes/espial.h
+++ b/src/mame/includes/espial.h
@@ -45,6 +45,7 @@ public:
DECLARE_WRITE8_MEMBER(espial_attributeram_w);
DECLARE_WRITE8_MEMBER(espial_scrollram_w);
DECLARE_WRITE8_MEMBER(espial_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
/*----------- defined in video/espial.c -----------*/
diff --git a/src/mame/includes/exedexes.h b/src/mame/includes/exedexes.h
index 460cc953237..0ab9c5f1f60 100644
--- a/src/mame/includes/exedexes.h
+++ b/src/mame/includes/exedexes.h
@@ -39,6 +39,11 @@ public:
DECLARE_WRITE8_MEMBER(exedexes_colorram_w);
DECLARE_WRITE8_MEMBER(exedexes_c804_w);
DECLARE_WRITE8_MEMBER(exedexes_gfxctrl_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ TILEMAP_MAPPER_MEMBER(exedexes_bg_tilemap_scan);
+ TILEMAP_MAPPER_MEMBER(exedexes_fg_tilemap_scan);
};
diff --git a/src/mame/includes/exprraid.h b/src/mame/includes/exprraid.h
index 956ca9ba3aa..4a7586e5678 100644
--- a/src/mame/includes/exprraid.h
+++ b/src/mame/includes/exprraid.h
@@ -48,6 +48,8 @@ public:
DECLARE_DRIVER_INIT(wexpressb);
DECLARE_DRIVER_INIT(wexpressb2);
DECLARE_DRIVER_INIT(wexpressb3);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/f1gp.h b/src/mame/includes/f1gp.h
index e70b361dd36..3feb3e3f32c 100644
--- a/src/mame/includes/f1gp.h
+++ b/src/mame/includes/f1gp.h
@@ -64,6 +64,9 @@ public:
DECLARE_WRITE16_MEMBER(f1gp_fgscroll_w);
DECLARE_WRITE16_MEMBER(f1gp_gfxctrl_w);
DECLARE_WRITE16_MEMBER(f1gp2_gfxctrl_w);
+ TILE_GET_INFO_MEMBER(f1gp_get_roz_tile_info);
+ TILE_GET_INFO_MEMBER(f1gp2_get_roz_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
/*----------- defined in video/f1gp.c -----------*/
diff --git a/src/mame/includes/fastfred.h b/src/mame/includes/fastfred.h
index 2b0cc641b38..b8826e37dab 100644
--- a/src/mame/includes/fastfred.h
+++ b/src/mame/includes/fastfred.h
@@ -53,6 +53,10 @@ public:
DECLARE_DRIVER_INIT(boggy84);
DECLARE_DRIVER_INIT(jumpcoas);
DECLARE_DRIVER_INIT(boggy84b);
+ TILE_GET_INFO_MEMBER(get_tile_info);
+ TILE_GET_INFO_MEMBER(imago_get_tile_info_bg);
+ TILE_GET_INFO_MEMBER(imago_get_tile_info_fg);
+ TILE_GET_INFO_MEMBER(imago_get_tile_info_web);
};
diff --git a/src/mame/includes/fastlane.h b/src/mame/includes/fastlane.h
index 8923ad2efad..ba9aaef3ef9 100644
--- a/src/mame/includes/fastlane.h
+++ b/src/mame/includes/fastlane.h
@@ -43,6 +43,8 @@ public:
DECLARE_WRITE8_MEMBER(fastlane_k1_k007232_w);
DECLARE_READ8_MEMBER(fastlane_k2_k007232_r);
DECLARE_WRITE8_MEMBER(fastlane_k2_k007232_w);
+ TILE_GET_INFO_MEMBER(get_tile_info0);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
};
diff --git a/src/mame/includes/fcombat.h b/src/mame/includes/fcombat.h
index 134cd68715f..cb89c11962f 100644
--- a/src/mame/includes/fcombat.h
+++ b/src/mame/includes/fcombat.h
@@ -61,6 +61,7 @@ public:
DECLARE_WRITE8_MEMBER(fcombat_videoreg_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_DRIVER_INIT(fcombat);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/finalizr.h b/src/mame/includes/finalizr.h
index 73e86bb94de..468bb79d851 100644
--- a/src/mame/includes/finalizr.h
+++ b/src/mame/includes/finalizr.h
@@ -47,6 +47,8 @@ public:
DECLARE_WRITE8_MEMBER(i8039_T0_w);
DECLARE_WRITE8_MEMBER(finalizr_videoctrl_w);
DECLARE_DRIVER_INIT(finalizr);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/firetrap.h b/src/mame/includes/firetrap.h
index e7ba83096f5..170f9f2834b 100644
--- a/src/mame/includes/firetrap.h
+++ b/src/mame/includes/firetrap.h
@@ -61,6 +61,11 @@ public:
DECLARE_WRITE8_MEMBER(firetrap_bg2_scrollx_w);
DECLARE_WRITE8_MEMBER(firetrap_bg2_scrolly_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILEMAP_MAPPER_MEMBER(get_fg_memory_offset);
+ TILEMAP_MAPPER_MEMBER(get_bg_memory_offset);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
};
diff --git a/src/mame/includes/firetrk.h b/src/mame/includes/firetrk.h
index 26d605c7f22..a6628bb8e60 100644
--- a/src/mame/includes/firetrk.h
+++ b/src/mame/includes/firetrk.h
@@ -89,6 +89,12 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(service_mode_switch_changed);
DECLARE_INPUT_CHANGED_MEMBER(firetrk_horn_changed);
DECLARE_INPUT_CHANGED_MEMBER(gear_changed);
+ TILE_GET_INFO_MEMBER(firetrk_get_tile_info1);
+ TILE_GET_INFO_MEMBER(superbug_get_tile_info1);
+ TILE_GET_INFO_MEMBER(montecar_get_tile_info1);
+ TILE_GET_INFO_MEMBER(firetrk_get_tile_info2);
+ TILE_GET_INFO_MEMBER(superbug_get_tile_info2);
+ TILE_GET_INFO_MEMBER(montecar_get_tile_info2);
};
diff --git a/src/mame/includes/fitfight.h b/src/mame/includes/fitfight.h
index 5cd44dd95b4..cef7a5e50fa 100644
--- a/src/mame/includes/fitfight.h
+++ b/src/mame/includes/fitfight.h
@@ -55,6 +55,9 @@ public:
DECLARE_DRIVER_INIT(fitfight);
DECLARE_DRIVER_INIT(histryma);
DECLARE_DRIVER_INIT(bbprot);
+ TILE_GET_INFO_MEMBER(get_fof_bak_tile_info);
+ TILE_GET_INFO_MEMBER(get_fof_mid_tile_info);
+ TILE_GET_INFO_MEMBER(get_fof_txt_tile_info);
};
diff --git a/src/mame/includes/flkatck.h b/src/mame/includes/flkatck.h
index 9337ab224f8..c4d1b36a7de 100644
--- a/src/mame/includes/flkatck.h
+++ b/src/mame/includes/flkatck.h
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(multiply_w);
DECLARE_WRITE8_MEMBER(flkatck_k007121_w);
DECLARE_WRITE8_MEMBER(flkatck_k007121_regs_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_A);
+ TILE_GET_INFO_MEMBER(get_tile_info_B);
};
diff --git a/src/mame/includes/flower.h b/src/mame/includes/flower.h
index f7626e4f7aa..d616c8c64d1 100644
--- a/src/mame/includes/flower.h
+++ b/src/mame/includes/flower.h
@@ -35,6 +35,9 @@ public:
DECLARE_WRITE8_MEMBER(flower_bg1ram_w);
DECLARE_WRITE8_MEMBER(flower_flipscreen_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILE_GET_INFO_MEMBER(get_bg0_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/flstory.h b/src/mame/includes/flstory.h
index f6614b27f5f..acc1e5f0ae9 100644
--- a/src/mame/includes/flstory.h
+++ b/src/mame/includes/flstory.h
@@ -104,6 +104,9 @@ public:
DECLARE_WRITE8_MEMBER(sound_control_1_w);
DECLARE_WRITE8_MEMBER(sound_control_2_w);
DECLARE_WRITE8_MEMBER(sound_control_3_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
+ TILE_GET_INFO_MEMBER(victnine_get_tile_info);
+ TILE_GET_INFO_MEMBER(get_rumba_tile_info);
};
diff --git a/src/mame/includes/foodf.h b/src/mame/includes/foodf.h
index 6fa01c56ba2..64f105a38e0 100644
--- a/src/mame/includes/foodf.h
+++ b/src/mame/includes/foodf.h
@@ -31,6 +31,7 @@ public:
DECLARE_WRITE16_MEMBER(foodf_paletteram_w);
void foodf_set_flip(int flip);
DECLARE_READ8_MEMBER(pot_r);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/freekick.h b/src/mame/includes/freekick.h
index f57503c4c13..883e4ebe195 100644
--- a/src/mame/includes/freekick.h
+++ b/src/mame/includes/freekick.h
@@ -41,6 +41,7 @@ public:
DECLARE_DRIVER_INIT(gigas);
DECLARE_DRIVER_INIT(gigasb);
DECLARE_DRIVER_INIT(pbillrds);
+ TILE_GET_INFO_MEMBER(get_freek_tile_info);
};
diff --git a/src/mame/includes/fromanc2.h b/src/mame/includes/fromanc2.h
index 5ba3c8c91f1..e5434ecddbc 100644
--- a/src/mame/includes/fromanc2.h
+++ b/src/mame/includes/fromanc2.h
@@ -83,6 +83,20 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(subcpu_nmi_r);
DECLARE_DRIVER_INIT(fromanc4);
DECLARE_DRIVER_INIT(fromanc2);
+ TILE_GET_INFO_MEMBER(fromanc2_get_v0_l0_tile_info);
+ TILE_GET_INFO_MEMBER(fromanc2_get_v0_l1_tile_info);
+ TILE_GET_INFO_MEMBER(fromanc2_get_v0_l2_tile_info);
+ TILE_GET_INFO_MEMBER(fromanc2_get_v0_l3_tile_info);
+ TILE_GET_INFO_MEMBER(fromanc2_get_v1_l0_tile_info);
+ TILE_GET_INFO_MEMBER(fromanc2_get_v1_l1_tile_info);
+ TILE_GET_INFO_MEMBER(fromanc2_get_v1_l2_tile_info);
+ TILE_GET_INFO_MEMBER(fromanc2_get_v1_l3_tile_info);
+ TILE_GET_INFO_MEMBER(fromancr_get_v0_l0_tile_info);
+ TILE_GET_INFO_MEMBER(fromancr_get_v0_l1_tile_info);
+ TILE_GET_INFO_MEMBER(fromancr_get_v0_l2_tile_info);
+ TILE_GET_INFO_MEMBER(fromancr_get_v1_l0_tile_info);
+ TILE_GET_INFO_MEMBER(fromancr_get_v1_l1_tile_info);
+ TILE_GET_INFO_MEMBER(fromancr_get_v1_l2_tile_info);
};
diff --git a/src/mame/includes/fromance.h b/src/mame/includes/fromance.h
index a5cea25f1c3..979bd51a8d9 100644
--- a/src/mame/includes/fromance.h
+++ b/src/mame/includes/fromance.h
@@ -72,6 +72,10 @@ public:
DECLARE_WRITE8_MEMBER(fromance_adpcm_reset_w);
DECLARE_DRIVER_INIT(pipedrm);
DECLARE_DRIVER_INIT(hatris);
+ TILE_GET_INFO_MEMBER(get_fromance_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fromance_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_nekkyoku_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_nekkyoku_fg_tile_info);
};
diff --git a/src/mame/includes/funkybee.h b/src/mame/includes/funkybee.h
index 805c9e510b2..63f16ea8c54 100644
--- a/src/mame/includes/funkybee.h
+++ b/src/mame/includes/funkybee.h
@@ -22,6 +22,8 @@ public:
DECLARE_WRITE8_MEMBER(funkybee_gfx_bank_w);
DECLARE_WRITE8_MEMBER(funkybee_scroll_w);
DECLARE_WRITE8_MEMBER(funkybee_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILEMAP_MAPPER_MEMBER(funkybee_tilemap_scan);
};
diff --git a/src/mame/includes/funworld.h b/src/mame/includes/funworld.h
index 4cf06bd34ff..b0cc5ed5aa4 100644
--- a/src/mame/includes/funworld.h
+++ b/src/mame/includes/funworld.h
@@ -25,6 +25,7 @@ public:
DECLARE_DRIVER_INIT(soccernw);
DECLARE_DRIVER_INIT(tabblue);
DECLARE_DRIVER_INIT(magicd2a);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/fuukifg2.h b/src/mame/includes/fuukifg2.h
index e5f3a1ea0d2..dadff92fa29 100644
--- a/src/mame/includes/fuukifg2.h
+++ b/src/mame/includes/fuukifg2.h
@@ -36,6 +36,10 @@ public:
DECLARE_WRITE16_MEMBER(fuuki16_vram_2_w);
DECLARE_WRITE16_MEMBER(fuuki16_vram_3_w);
DECLARE_WRITE8_MEMBER(fuuki16_oki_banking_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_2);
+ TILE_GET_INFO_MEMBER(get_tile_info_3);
};
diff --git a/src/mame/includes/fuukifg3.h b/src/mame/includes/fuukifg3.h
index 5915ecaec3e..28759d52574 100644
--- a/src/mame/includes/fuukifg3.h
+++ b/src/mame/includes/fuukifg3.h
@@ -54,6 +54,10 @@ public:
DECLARE_WRITE32_MEMBER(fuuki32_vram_1_w);
DECLARE_WRITE32_MEMBER(fuuki32_vram_2_w);
DECLARE_WRITE32_MEMBER(fuuki32_vram_3_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_2);
+ TILE_GET_INFO_MEMBER(get_tile_info_3);
};
diff --git a/src/mame/includes/gaelco.h b/src/mame/includes/gaelco.h
index a0527898506..1dc9f97e6c5 100644
--- a/src/mame/includes/gaelco.h
+++ b/src/mame/includes/gaelco.h
@@ -34,6 +34,8 @@ public:
DECLARE_WRITE16_MEMBER(thoop_vram_encrypted_w);
DECLARE_WRITE16_MEMBER(thoop_encrypted_w);
DECLARE_WRITE16_MEMBER(gaelco_vram_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_gaelco_screen0);
+ TILE_GET_INFO_MEMBER(get_tile_info_gaelco_screen1);
};
diff --git a/src/mame/includes/gaelco2.h b/src/mame/includes/gaelco2.h
index 7c03edf82be..7129cdd9c59 100644
--- a/src/mame/includes/gaelco2.h
+++ b/src/mame/includes/gaelco2.h
@@ -43,6 +43,10 @@ public:
DECLARE_DRIVER_INIT(snowboar);
DECLARE_DRIVER_INIT(alighunt);
DECLARE_DRIVER_INIT(bang);
+ TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen0);
+ TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1);
+ TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen0_dual);
+ TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1_dual);
};
diff --git a/src/mame/includes/gaiden.h b/src/mame/includes/gaiden.h
index 8e90ff1be4d..e1a8aaa6e04 100644
--- a/src/mame/includes/gaiden.h
+++ b/src/mame/includes/gaiden.h
@@ -73,6 +73,10 @@ public:
DECLARE_DRIVER_INIT(mastninj);
DECLARE_DRIVER_INIT(shadoww);
DECLARE_DRIVER_INIT(wildfang);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info_raiga);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/galaga.h b/src/mame/includes/galaga.h
index ec30b31df32..9b59ad80c9f 100644
--- a/src/mame/includes/galaga.h
+++ b/src/mame/includes/galaga.h
@@ -50,6 +50,8 @@ public:
DECLARE_READ8_MEMBER(custom_mod_r);
DECLARE_DRIVER_INIT(galaga);
DECLARE_DRIVER_INIT(gatsbee);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
class xevious_state : public galaga_state
diff --git a/src/mame/includes/galaxia.h b/src/mame/includes/galaxia.h
index dd4cbe333ba..ce3eeece749 100644
--- a/src/mame/includes/galaxia.h
+++ b/src/mame/includes/galaxia.h
@@ -20,6 +20,8 @@ public:
DECLARE_WRITE8_MEMBER(galaxia_dataport_w);
DECLARE_READ8_MEMBER(galaxia_collision_r);
DECLARE_READ8_MEMBER(galaxia_collision_clear);
+ TILE_GET_INFO_MEMBER(get_galaxia_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_astrowar_bg_tile_info);
};
diff --git a/src/mame/includes/galaxian.h b/src/mame/includes/galaxian.h
index cfecf607b99..bb02c65fb49 100644
--- a/src/mame/includes/galaxian.h
+++ b/src/mame/includes/galaxian.h
@@ -218,6 +218,7 @@ public:
DECLARE_DRIVER_INIT(superbon);
DECLARE_DRIVER_INIT(calipso);
DECLARE_DRIVER_INIT(moonwar);
+ TILE_GET_INFO_MEMBER(bg_get_tile_info);
};
diff --git a/src/mame/includes/galaxold.h b/src/mame/includes/galaxold.h
index 6df70081c5d..86a738eb690 100644
--- a/src/mame/includes/galaxold.h
+++ b/src/mame/includes/galaxold.h
@@ -137,6 +137,11 @@ public:
DECLARE_DRIVER_INIT(bullsdrtg);
DECLARE_DRIVER_INIT(ladybugg);
DECLARE_DRIVER_INIT(4in1);
+ TILE_GET_INFO_MEMBER(drivfrcg_get_tile_info);
+ TILE_GET_INFO_MEMBER(racknrol_get_tile_info);
+ TILE_GET_INFO_MEMBER(dambustr_get_tile_info2);
+ TILE_GET_INFO_MEMBER(get_tile_info);
+ TILE_GET_INFO_MEMBER(rockclim_get_tile_info);
};
diff --git a/src/mame/includes/galivan.h b/src/mame/includes/galivan.h
index 119b512fb1b..62980846ab9 100644
--- a/src/mame/includes/galivan.h
+++ b/src/mame/includes/galivan.h
@@ -45,6 +45,10 @@ public:
DECLARE_WRITE8_MEMBER(galivan_scrollx_w);
DECLARE_WRITE8_MEMBER(galivan_scrolly_w);
DECLARE_DRIVER_INIT(youmab);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(ninjemak_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(ninjemak_get_tx_tile_info);
};
diff --git a/src/mame/includes/gaplus.h b/src/mame/includes/gaplus.h
index ec8329cf00e..b5631c5f7c4 100644
--- a/src/mame/includes/gaplus.h
+++ b/src/mame/includes/gaplus.h
@@ -40,6 +40,8 @@ public:
DECLARE_WRITE8_MEMBER(out_lamps0);
DECLARE_WRITE8_MEMBER(out_lamps1);
DECLARE_DRIVER_INIT(gaplus);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/gatron.h b/src/mame/includes/gatron.h
index 680075d941c..64abb10d69d 100644
--- a/src/mame/includes/gatron.h
+++ b/src/mame/includes/gatron.h
@@ -10,6 +10,7 @@ public:
DECLARE_WRITE8_MEMBER(output_port_0_w);
DECLARE_WRITE8_MEMBER(gat_videoram_w);
DECLARE_WRITE8_MEMBER(output_port_1_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/gauntlet.h b/src/mame/includes/gauntlet.h
index 9aa3206b6cc..1916710e860 100644
--- a/src/mame/includes/gauntlet.h
+++ b/src/mame/includes/gauntlet.h
@@ -25,6 +25,8 @@ public:
DECLARE_DRIVER_INIT(gaunt2p);
DECLARE_DRIVER_INIT(gauntlet);
DECLARE_DRIVER_INIT(vindctr2);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/gberet.h b/src/mame/includes/gberet.h
index 389389c9ecd..c326ab20d1b 100644
--- a/src/mame/includes/gberet.h
+++ b/src/mame/includes/gberet.h
@@ -50,6 +50,7 @@ public:
DECLARE_WRITE8_MEMBER(gberet_sprite_bank_w);
DECLARE_WRITE8_MEMBER(gberetb_scroll_w);
DECLARE_DRIVER_INIT(mrgoemon);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/gcpinbal.h b/src/mame/includes/gcpinbal.h
index 26f160857fb..862849482e9 100644
--- a/src/mame/includes/gcpinbal.h
+++ b/src/mame/includes/gcpinbal.h
@@ -52,6 +52,9 @@ public:
DECLARE_WRITE16_MEMBER(gcpinbal_tilemaps_word_w);
DECLARE_READ16_MEMBER(gcpinbal_ctrl_word_r);
DECLARE_WRITE16_MEMBER(gcpinbal_ctrl_word_w);
+ TILE_GET_INFO_MEMBER(get_bg0_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/ginganin.h b/src/mame/includes/ginganin.h
index 46cd65fbc55..cd25bbcfb7b 100644
--- a/src/mame/includes/ginganin.h
+++ b/src/mame/includes/ginganin.h
@@ -39,6 +39,9 @@ public:
DECLARE_WRITE16_MEMBER(ginganin_vregs16_w);
DECLARE_WRITE8_MEMBER(ptm_irq);
DECLARE_DRIVER_INIT(ginganin);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_txt_tile_info);
};
diff --git a/src/mame/includes/gladiatr.h b/src/mame/includes/gladiatr.h
index 93a7b45a6b7..315fdeea8f2 100644
--- a/src/mame/includes/gladiatr.h
+++ b/src/mame/includes/gladiatr.h
@@ -58,6 +58,8 @@ public:
DECLARE_READ8_MEMBER(f1_r);
DECLARE_DRIVER_INIT(gladiatr);
DECLARE_DRIVER_INIT(ppking);
+ TILE_GET_INFO_MEMBER(bg_get_tile_info);
+ TILE_GET_INFO_MEMBER(fg_get_tile_info);
};
/*----------- defined in video/gladiatr.c -----------*/
diff --git a/src/mame/includes/glass.h b/src/mame/includes/glass.h
index c69ab66969a..30d0f0f4f25 100644
--- a/src/mame/includes/glass.h
+++ b/src/mame/includes/glass.h
@@ -41,6 +41,8 @@ public:
DECLARE_WRITE16_MEMBER( glass_mainram_w );
DECLARE_DRIVER_INIT(glass);
+ TILE_GET_INFO_MEMBER(get_tile_info_glass_screen0);
+ TILE_GET_INFO_MEMBER(get_tile_info_glass_screen1);
};
diff --git a/src/mame/includes/gng.h b/src/mame/includes/gng.h
index cf041554961..59ae789c049 100644
--- a/src/mame/includes/gng.h
+++ b/src/mame/includes/gng.h
@@ -37,6 +37,8 @@ public:
DECLARE_WRITE8_MEMBER(gng_bgscrolly_w);
DECLARE_WRITE8_MEMBER(gng_flipscreen_w);
DECLARE_DRIVER_INIT(diamond);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/goal92.h b/src/mame/includes/goal92.h
index 7463ba05151..497e53ba81d 100644
--- a/src/mame/includes/goal92.h
+++ b/src/mame/includes/goal92.h
@@ -45,6 +45,9 @@ public:
DECLARE_WRITE16_MEMBER(goal92_background_w);
DECLARE_WRITE16_MEMBER(goal92_foreground_w);
DECLARE_WRITE8_MEMBER(adpcm_control_w);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_fore_tile_info);
};
diff --git a/src/mame/includes/goindol.h b/src/mame/includes/goindol.h
index 6e2e8e8d44a..d7dd720f01b 100644
--- a/src/mame/includes/goindol.h
+++ b/src/mame/includes/goindol.h
@@ -42,6 +42,8 @@ public:
DECLARE_WRITE8_MEMBER(goindol_fg_videoram_w);
DECLARE_WRITE8_MEMBER(goindol_bg_videoram_w);
DECLARE_DRIVER_INIT(goindol);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index 2816601ef4a..3d51d8db658 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -123,6 +123,15 @@ public:
DECLARE_DRIVER_INIT(rp36c3);
DECLARE_DRIVER_INIT(magoddsc);
DECLARE_DRIVER_INIT(nfb96_c1);
+ TILE_GET_INFO_MEMBER(get_goldstar_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_magical_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_cherrym_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_goldstar_reel1_tile_info);
+ TILE_GET_INFO_MEMBER(get_goldstar_reel2_tile_info);
+ TILE_GET_INFO_MEMBER(get_goldstar_reel3_tile_info);
+ TILE_GET_INFO_MEMBER(get_unkch_reel1_tile_info);
+ TILE_GET_INFO_MEMBER(get_unkch_reel2_tile_info);
+ TILE_GET_INFO_MEMBER(get_unkch_reel3_tile_info);
};
diff --git a/src/mame/includes/gomoku.h b/src/mame/includes/gomoku.h
index d8a8ee2db06..fe93f8a22f0 100644
--- a/src/mame/includes/gomoku.h
+++ b/src/mame/includes/gomoku.h
@@ -22,6 +22,7 @@ public:
DECLARE_WRITE8_MEMBER(gomoku_bgram_w);
DECLARE_WRITE8_MEMBER(gomoku_flipscreen_w);
DECLARE_WRITE8_MEMBER(gomoku_bg_dispsw_w);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/gotcha.h b/src/mame/includes/gotcha.h
index ed1672a09bb..a18a56b2928 100644
--- a/src/mame/includes/gotcha.h
+++ b/src/mame/includes/gotcha.h
@@ -35,6 +35,9 @@ public:
DECLARE_WRITE16_MEMBER(gotcha_gfxbank_w);
DECLARE_WRITE16_MEMBER(gotcha_scroll_w);
DECLARE_WRITE16_MEMBER(gotcha_oki_bank_w);
+ TILEMAP_MAPPER_MEMBER(gotcha_tilemap_scan);
+ TILE_GET_INFO_MEMBER(fg_get_tile_info);
+ TILE_GET_INFO_MEMBER(bg_get_tile_info);
};
diff --git a/src/mame/includes/gottlieb.h b/src/mame/includes/gottlieb.h
index 8c457419a5c..977492f609f 100644
--- a/src/mame/includes/gottlieb.h
+++ b/src/mame/includes/gottlieb.h
@@ -295,6 +295,8 @@ public:
DECLARE_DRIVER_INIT(vidvince);
DECLARE_DRIVER_INIT(ramtiles);
DECLARE_DRIVER_INIT(stooges);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_screwloo_bg_tile_info);
};
diff --git a/src/mame/includes/gotya.h b/src/mame/includes/gotya.h
index 3ba41222ee0..33278051bea 100644
--- a/src/mame/includes/gotya.h
+++ b/src/mame/includes/gotya.h
@@ -31,6 +31,8 @@ public:
DECLARE_WRITE8_MEMBER(gotya_colorram_w);
DECLARE_WRITE8_MEMBER(gotya_video_control_w);
DECLARE_WRITE8_MEMBER(gotya_soundlatch_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_thehand);
};
diff --git a/src/mame/includes/grchamp.h b/src/mame/includes/grchamp.h
index 1f762687e78..6ce5df21057 100644
--- a/src/mame/includes/grchamp.h
+++ b/src/mame/includes/grchamp.h
@@ -63,6 +63,11 @@ public:
DECLARE_WRITE8_MEMBER(grchamp_portB_0_w);
DECLARE_WRITE8_MEMBER(grchamp_portA_2_w);
DECLARE_WRITE8_MEMBER(grchamp_portB_2_w);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
+ TILE_GET_INFO_MEMBER(get_left_tile_info);
+ TILE_GET_INFO_MEMBER(get_right_tile_info);
+ TILE_GET_INFO_MEMBER(get_center_tile_info);
+ TILEMAP_MAPPER_MEMBER(get_memory_offset);
};
/* Discrete Sound Input Nodes */
diff --git a/src/mame/includes/gstriker.h b/src/mame/includes/gstriker.h
index 1959fc00b32..92b7045b88b 100644
--- a/src/mame/includes/gstriker.h
+++ b/src/mame/includes/gstriker.h
@@ -98,6 +98,9 @@ public:
DECLARE_DRIVER_INIT(twrldc94a);
DECLARE_DRIVER_INIT(vgoalsoc);
DECLARE_DRIVER_INIT(twrldc94);
+ TILE_GET_INFO_MEMBER(VS920A_get_tile_info);
+ TILE_GET_INFO_MEMBER(MB60553_get_tile_info);
+ TILEMAP_MAPPER_MEMBER(twc94_scan);
};
diff --git a/src/mame/includes/gsword.h b/src/mame/includes/gsword.h
index b8fc9ff6dd4..0ae68b1bd83 100644
--- a/src/mame/includes/gsword.h
+++ b/src/mame/includes/gsword.h
@@ -39,6 +39,7 @@ public:
DECLARE_WRITE8_MEMBER(gsword_adpcm_data_w);
DECLARE_DRIVER_INIT(gsword);
DECLARE_DRIVER_INIT(gsword2);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/gumbo.h b/src/mame/includes/gumbo.h
index 3effd99a0bd..2771f40f265 100644
--- a/src/mame/includes/gumbo.h
+++ b/src/mame/includes/gumbo.h
@@ -22,6 +22,8 @@ public:
tilemap_t *m_fg_tilemap;
DECLARE_WRITE16_MEMBER(gumbo_bg_videoram_w);
DECLARE_WRITE16_MEMBER(gumbo_fg_videoram_w);
+ TILE_GET_INFO_MEMBER(get_gumbo_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_gumbo_fg_tile_info);
};
diff --git a/src/mame/includes/gundealr.h b/src/mame/includes/gundealr.h
index afaf99349a9..959cf9ae801 100644
--- a/src/mame/includes/gundealr.h
+++ b/src/mame/includes/gundealr.h
@@ -35,6 +35,9 @@ public:
DECLARE_WRITE8_MEMBER(gundealr_fg_scroll_w);
DECLARE_WRITE8_MEMBER(yamyam_fg_scroll_w);
DECLARE_WRITE8_MEMBER(gundealr_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILEMAP_MAPPER_MEMBER(gundealr_scan);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/gunsmoke.h b/src/mame/includes/gunsmoke.h
index 521bb8a7f80..2c93589e431 100644
--- a/src/mame/includes/gunsmoke.h
+++ b/src/mame/includes/gunsmoke.h
@@ -34,6 +34,8 @@ public:
DECLARE_WRITE8_MEMBER(gunsmoke_colorram_w);
DECLARE_WRITE8_MEMBER(gunsmoke_c804_w);
DECLARE_WRITE8_MEMBER(gunsmoke_d806_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/gyruss.h b/src/mame/includes/gyruss.h
index d818380a10b..1dd7b6189c2 100644
--- a/src/mame/includes/gyruss.h
+++ b/src/mame/includes/gyruss.h
@@ -49,6 +49,7 @@ public:
DECLARE_WRITE8_MEMBER(gyruss_filter0_w);
DECLARE_WRITE8_MEMBER(gyruss_filter1_w);
DECLARE_DRIVER_INIT(gyruss);
+ TILE_GET_INFO_MEMBER(gyruss_get_tile_info);
};
diff --git a/src/mame/includes/hanaawas.h b/src/mame/includes/hanaawas.h
index dd0c29eb9dd..d80fe7fa55e 100644
--- a/src/mame/includes/hanaawas.h
+++ b/src/mame/includes/hanaawas.h
@@ -25,6 +25,7 @@ public:
DECLARE_WRITE8_MEMBER(hanaawas_inputs_mux_w);
DECLARE_WRITE8_MEMBER(hanaawas_videoram_w);
DECLARE_WRITE8_MEMBER(hanaawas_colorram_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/hcastle.h b/src/mame/includes/hcastle.h
index c8626dea94f..3544a34da42 100644
--- a/src/mame/includes/hcastle.h
+++ b/src/mame/includes/hcastle.h
@@ -48,6 +48,9 @@ public:
DECLARE_WRITE8_MEMBER(hcastle_pf1_control_w);
DECLARE_WRITE8_MEMBER(hcastle_pf2_control_w);
DECLARE_WRITE8_MEMBER(sound_bank_w);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/hexion.h b/src/mame/includes/hexion.h
index 21cd6080210..4a5e176be10 100644
--- a/src/mame/includes/hexion.h
+++ b/src/mame/includes/hexion.h
@@ -19,6 +19,8 @@ public:
DECLARE_WRITE8_MEMBER(hexion_gfxrom_select_w);
DECLARE_WRITE_LINE_MEMBER(hexion_irq_ack_w);
DECLARE_WRITE_LINE_MEMBER(hexion_nmi_ack_w);
+ TILE_GET_INFO_MEMBER(get_tile_info0);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
};
diff --git a/src/mame/includes/higemaru.h b/src/mame/includes/higemaru.h
index 45158c6d5a3..dde1e7b2278 100644
--- a/src/mame/includes/higemaru.h
+++ b/src/mame/includes/higemaru.h
@@ -23,6 +23,7 @@ public:
DECLARE_WRITE8_MEMBER(higemaru_videoram_w);
DECLARE_WRITE8_MEMBER(higemaru_colorram_w);
DECLARE_WRITE8_MEMBER(higemaru_c800_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/himesiki.h b/src/mame/includes/himesiki.h
index b4e34abaffd..78bc85656bb 100644
--- a/src/mame/includes/himesiki.h
+++ b/src/mame/includes/himesiki.h
@@ -29,6 +29,7 @@ public:
DECLARE_WRITE8_MEMBER(himesiki_bg_ram_w);
DECLARE_WRITE8_MEMBER(himesiki_scrollx_w);
DECLARE_WRITE8_MEMBER(himesiki_flip_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/hitme.h b/src/mame/includes/hitme.h
index 0e6d19af14f..a332aeed642 100644
--- a/src/mame/includes/hitme.h
+++ b/src/mame/includes/hitme.h
@@ -34,6 +34,7 @@ public:
DECLARE_READ8_MEMBER(hitme_port_3_r);
DECLARE_WRITE8_MEMBER(output_port_0_w);
DECLARE_WRITE8_MEMBER(output_port_1_w);
+ TILE_GET_INFO_MEMBER(get_hitme_tile_info);
};
diff --git a/src/mame/includes/hng64.h b/src/mame/includes/hng64.h
index dca6945d858..505d10e3e7e 100644
--- a/src/mame/includes/hng64.h
+++ b/src/mame/includes/hng64.h
@@ -175,6 +175,14 @@ public:
void m_set_irq(UINT32 irq_vector);
UINT32 m_irq_pending;
int m_irq_level;
+ TILE_GET_INFO_MEMBER(get_hng64_tile0_8x8_info);
+ TILE_GET_INFO_MEMBER(get_hng64_tile0_16x16_info);
+ TILE_GET_INFO_MEMBER(get_hng64_tile1_8x8_info);
+ TILE_GET_INFO_MEMBER(get_hng64_tile1_16x16_info);
+ TILE_GET_INFO_MEMBER(get_hng64_tile2_8x8_info);
+ TILE_GET_INFO_MEMBER(get_hng64_tile2_16x16_info);
+ TILE_GET_INFO_MEMBER(get_hng64_tile3_8x8_info);
+ TILE_GET_INFO_MEMBER(get_hng64_tile3_16x16_info);
};
diff --git a/src/mame/includes/holeland.h b/src/mame/includes/holeland.h
index ada51b080a5..41efe94501d 100644
--- a/src/mame/includes/holeland.h
+++ b/src/mame/includes/holeland.h
@@ -27,6 +27,8 @@ public:
DECLARE_WRITE8_MEMBER(holeland_pal_offs_w);
DECLARE_WRITE8_MEMBER(holeland_scroll_w);
DECLARE_WRITE8_MEMBER(holeland_flipscreen_w);
+ TILE_GET_INFO_MEMBER(holeland_get_tile_info);
+ TILE_GET_INFO_MEMBER(crzrally_get_tile_info);
};
diff --git a/src/mame/includes/homedata.h b/src/mame/includes/homedata.h
index 9371740906e..2860aedce15 100644
--- a/src/mame/includes/homedata.h
+++ b/src/mame/includes/homedata.h
@@ -81,6 +81,30 @@ public:
DECLARE_DRIVER_INIT(jogakuen);
DECLARE_DRIVER_INIT(battlcry);
DECLARE_DRIVER_INIT(mirderby);
+ TILE_GET_INFO_MEMBER(mrokumei_get_info0_0);
+ TILE_GET_INFO_MEMBER(mrokumei_get_info1_0);
+ TILE_GET_INFO_MEMBER(mrokumei_get_info0_1);
+ TILE_GET_INFO_MEMBER(mrokumei_get_info1_1);
+ TILE_GET_INFO_MEMBER(reikaids_get_info0_0);
+ TILE_GET_INFO_MEMBER(reikaids_get_info1_0);
+ TILE_GET_INFO_MEMBER(reikaids_get_info0_1);
+ TILE_GET_INFO_MEMBER(reikaids_get_info1_1);
+ TILE_GET_INFO_MEMBER(reikaids_get_info0_2);
+ TILE_GET_INFO_MEMBER(reikaids_get_info1_2);
+ TILE_GET_INFO_MEMBER(reikaids_get_info0_3);
+ TILE_GET_INFO_MEMBER(reikaids_get_info1_3);
+ TILE_GET_INFO_MEMBER(pteacher_get_info0_0);
+ TILE_GET_INFO_MEMBER(pteacher_get_info1_0);
+ TILE_GET_INFO_MEMBER(pteacher_get_info0_1);
+ TILE_GET_INFO_MEMBER(pteacher_get_info1_1);
+ TILE_GET_INFO_MEMBER(lemnangl_get_info0_0);
+ TILE_GET_INFO_MEMBER(lemnangl_get_info1_0);
+ TILE_GET_INFO_MEMBER(lemnangl_get_info0_1);
+ TILE_GET_INFO_MEMBER(lemnangl_get_info1_1);
+ TILE_GET_INFO_MEMBER(mirderby_get_info0_0);
+ TILE_GET_INFO_MEMBER(mirderby_get_info1_0);
+ TILE_GET_INFO_MEMBER(mirderby_get_info0_1);
+ TILE_GET_INFO_MEMBER(mirderby_get_info1_1);
};
diff --git a/src/mame/includes/homerun.h b/src/mame/includes/homerun.h
index c946029aeb4..71daf6050a8 100644
--- a/src/mame/includes/homerun.h
+++ b/src/mame/includes/homerun.h
@@ -32,6 +32,7 @@ public:
DECLARE_WRITE8_MEMBER(pa_w);
DECLARE_WRITE8_MEMBER(pb_w);
DECLARE_WRITE8_MEMBER(pc_w);
+ TILE_GET_INFO_MEMBER(get_homerun_tile_info);
};
diff --git a/src/mame/includes/hyperspt.h b/src/mame/includes/hyperspt.h
index 0436039d88a..7af7682d6cf 100644
--- a/src/mame/includes/hyperspt.h
+++ b/src/mame/includes/hyperspt.h
@@ -37,6 +37,8 @@ public:
UINT8 m_SN76496_latch;
DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(roadf_get_bg_tile_info);
};
/*----------- defined in video/hyperspt.c -----------*/
diff --git a/src/mame/includes/hyprduel.h b/src/mame/includes/hyprduel.h
index 5ba855238df..cd3c82b42f1 100644
--- a/src/mame/includes/hyprduel.h
+++ b/src/mame/includes/hyprduel.h
@@ -80,6 +80,9 @@ public:
void blt_write( address_space *space, const int tmap, const offs_t offs, const UINT16 data, const UINT16 mask );
DECLARE_DRIVER_INIT(magerror);
DECLARE_DRIVER_INIT(hyprduel);
+ TILE_GET_INFO_MEMBER(get_tile_info_0_8bit);
+ TILE_GET_INFO_MEMBER(get_tile_info_1_8bit);
+ TILE_GET_INFO_MEMBER(get_tile_info_2_8bit);
};
diff --git a/src/mame/includes/inufuku.h b/src/mame/includes/inufuku.h
index dc9c7bec0bc..b8acfceb1fd 100644
--- a/src/mame/includes/inufuku.h
+++ b/src/mame/includes/inufuku.h
@@ -44,6 +44,8 @@ public:
DECLARE_READ16_MEMBER(inufuku_tx_videoram_r);
DECLARE_WRITE16_MEMBER(inufuku_tx_videoram_w);
DECLARE_CUSTOM_INPUT_MEMBER(soundflag_r);
+ TILE_GET_INFO_MEMBER(get_inufuku_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_inufuku_tx_tile_info);
};
diff --git a/src/mame/includes/iqblock.h b/src/mame/includes/iqblock.h
index 30660e42cb4..697784b804d 100644
--- a/src/mame/includes/iqblock.h
+++ b/src/mame/includes/iqblock.h
@@ -26,6 +26,8 @@ public:
DECLARE_WRITE8_MEMBER(port_C_w);
DECLARE_DRIVER_INIT(grndtour);
DECLARE_DRIVER_INIT(iqblock);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/ironhors.h b/src/mame/includes/ironhors.h
index 199707152a0..a4d6928f0ea 100644
--- a/src/mame/includes/ironhors.h
+++ b/src/mame/includes/ironhors.h
@@ -41,6 +41,8 @@ public:
DECLARE_WRITE8_MEMBER(ironhors_flipscreen_w);
DECLARE_WRITE8_MEMBER(ironhors_filter_w);
DECLARE_READ8_MEMBER(farwest_soundlatch_r);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(farwest_get_bg_tile_info);
};
diff --git a/src/mame/includes/jack.h b/src/mame/includes/jack.h
index 31f93b050f6..fcad472a7ea 100644
--- a/src/mame/includes/jack.h
+++ b/src/mame/includes/jack.h
@@ -47,6 +47,9 @@ public:
DECLARE_DRIVER_INIT(treahunt);
DECLARE_DRIVER_INIT(loverboy);
DECLARE_DRIVER_INIT(jack);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_cols_flipy);
+ TILE_GET_INFO_MEMBER(joinem_get_bg_tile_info);
};
diff --git a/src/mame/includes/jackal.h b/src/mame/includes/jackal.h
index 532781fd2f0..6354464e9c5 100644
--- a/src/mame/includes/jackal.h
+++ b/src/mame/includes/jackal.h
@@ -37,6 +37,7 @@ public:
DECLARE_WRITE8_MEMBER(jackal_zram_w);
DECLARE_WRITE8_MEMBER(jackal_voram_w);
DECLARE_WRITE8_MEMBER(jackal_spriteram_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/jailbrek.h b/src/mame/includes/jailbrek.h
index 92c236002e2..78d028a8008 100644
--- a/src/mame/includes/jailbrek.h
+++ b/src/mame/includes/jailbrek.h
@@ -37,6 +37,7 @@ public:
DECLARE_READ8_MEMBER(jailbrek_speech_r);
DECLARE_WRITE8_MEMBER(jailbrek_speech_w);
DECLARE_DRIVER_INIT(jailbrek);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/karnov.h b/src/mame/includes/karnov.h
index 69af2b45056..66594f1b66f 100644
--- a/src/mame/includes/karnov.h
+++ b/src/mame/includes/karnov.h
@@ -51,6 +51,7 @@ public:
DECLARE_DRIVER_INIT(chelnovu);
DECLARE_DRIVER_INIT(chelnovj);
DECLARE_DRIVER_INIT(chelnov);
+ TILE_GET_INFO_MEMBER(get_fix_tile_info);
};
enum {
diff --git a/src/mame/includes/kchamp.h b/src/mame/includes/kchamp.h
index 290d49c3648..af5a771ade3 100644
--- a/src/mame/includes/kchamp.h
+++ b/src/mame/includes/kchamp.h
@@ -42,6 +42,7 @@ public:
DECLARE_WRITE8_MEMBER(sound_control_w);
DECLARE_DRIVER_INIT(kchampvs);
DECLARE_DRIVER_INIT(kchampvs2);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/kickgoal.h b/src/mame/includes/kickgoal.h
index 56e3a8a2305..82c1aa8167d 100644
--- a/src/mame/includes/kickgoal.h
+++ b/src/mame/includes/kickgoal.h
@@ -63,6 +63,13 @@ public:
DECLARE_WRITE16_MEMBER(kickgoal_snd_w);
DECLARE_WRITE16_MEMBER(actionhw_snd_w);
DECLARE_DRIVER_INIT(kickgoal);
+ TILE_GET_INFO_MEMBER(get_kickgoal_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_kickgoal_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_kickgoal_bg2_tile_info);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksfg);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksbg);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksbg2);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_actionhwbg2);
};
diff --git a/src/mame/includes/kingobox.h b/src/mame/includes/kingobox.h
index 3bc1412d0d2..a0178164a6f 100644
--- a/src/mame/includes/kingobox.h
+++ b/src/mame/includes/kingobox.h
@@ -47,6 +47,9 @@ public:
DECLARE_WRITE8_MEMBER(kingofb_f800_w);
DECLARE_DRIVER_INIT(ringkingw);
DECLARE_DRIVER_INIT(ringking3);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(ringking_get_bg_tile_info);
};
diff --git a/src/mame/includes/klax.h b/src/mame/includes/klax.h
index 177b3a648a4..3861a147c24 100644
--- a/src/mame/includes/klax.h
+++ b/src/mame/includes/klax.h
@@ -12,6 +12,7 @@ public:
klax_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag) { }
DECLARE_WRITE16_MEMBER(interrupt_ack_w);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/kncljoe.h b/src/mame/includes/kncljoe.h
index 0e53fff9817..82d2e28b116 100644
--- a/src/mame/includes/kncljoe.h
+++ b/src/mame/includes/kncljoe.h
@@ -40,6 +40,7 @@ public:
DECLARE_READ8_MEMBER(m6803_port1_r);
DECLARE_READ8_MEMBER(m6803_port2_r);
DECLARE_WRITE8_MEMBER(unused_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/konamigx.h b/src/mame/includes/konamigx.h
index 6878c8ea526..70832be0224 100644
--- a/src/mame/includes/konamigx.h
+++ b/src/mame/includes/konamigx.h
@@ -44,6 +44,11 @@ public:
DECLARE_WRITE32_MEMBER(konamigx_t4_psacmap_w);
DECLARE_CUSTOM_INPUT_MEMBER(gx_rdport1_3_r);
DECLARE_DRIVER_INIT(konamigx);
+ TILE_GET_INFO_MEMBER(get_gx_psac_tile_info);
+ TILE_GET_INFO_MEMBER(get_gx_psac3_tile_info);
+ TILE_GET_INFO_MEMBER(get_gx_psac3_alt_tile_info);
+ TILE_GET_INFO_MEMBER(get_gx_psac1a_tile_info);
+ TILE_GET_INFO_MEMBER(get_gx_psac1b_tile_info);
};
diff --git a/src/mame/includes/kopunch.h b/src/mame/includes/kopunch.h
index 005e8bbcc27..7c7009917c3 100644
--- a/src/mame/includes/kopunch.h
+++ b/src/mame/includes/kopunch.h
@@ -36,6 +36,8 @@ public:
DECLARE_WRITE8_MEMBER(kopunch_gfxbank_w);
DECLARE_INPUT_CHANGED_MEMBER(left_coin_inserted);
DECLARE_INPUT_CHANGED_MEMBER(right_coin_inserted);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
/*----------- defined in video/kopunch.c -----------*/
diff --git a/src/mame/includes/ksayakyu.h b/src/mame/includes/ksayakyu.h
index 7e3b42fe8f2..658281bc7c9 100644
--- a/src/mame/includes/ksayakyu.h
+++ b/src/mame/includes/ksayakyu.h
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(dummy1_w);
DECLARE_WRITE8_MEMBER(dummy2_w);
DECLARE_WRITE8_MEMBER(dummy3_w);
+ TILE_GET_INFO_MEMBER(get_ksayakyu_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/kyugo.h b/src/mame/includes/kyugo.h
index 5b7ad9dcda5..f39d8092a06 100644
--- a/src/mame/includes/kyugo.h
+++ b/src/mame/includes/kyugo.h
@@ -53,6 +53,8 @@ public:
DECLARE_WRITE8_MEMBER(kyugo_flipscreen_w);
DECLARE_DRIVER_INIT(srdmissn);
DECLARE_DRIVER_INIT(gyrodine);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/labyrunr.h b/src/mame/includes/labyrunr.h
index 4f05ef9df19..252166ba374 100644
--- a/src/mame/includes/labyrunr.h
+++ b/src/mame/includes/labyrunr.h
@@ -36,6 +36,8 @@ public:
DECLARE_WRITE8_MEMBER(labyrunr_bankswitch_w);
DECLARE_WRITE8_MEMBER(labyrunr_vram1_w);
DECLARE_WRITE8_MEMBER(labyrunr_vram2_w);
+ TILE_GET_INFO_MEMBER(get_tile_info0);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
};
diff --git a/src/mame/includes/ladybug.h b/src/mame/includes/ladybug.h
index cad95a81aa7..55e1364f191 100644
--- a/src/mame/includes/ladybug.h
+++ b/src/mame/includes/ladybug.h
@@ -62,6 +62,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(right_coin_inserted);
DECLARE_DRIVER_INIT(dorodon);
DECLARE_DRIVER_INIT(redclash);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_grid_tile_info);
};
diff --git a/src/mame/includes/ladyfrog.h b/src/mame/includes/ladyfrog.h
index 54c716be31f..9f2f28316e0 100644
--- a/src/mame/includes/ladyfrog.h
+++ b/src/mame/includes/ladyfrog.h
@@ -52,6 +52,7 @@ public:
DECLARE_READ8_MEMBER(ladyfrog_scrlram_r);
DECLARE_WRITE8_MEMBER(ladyfrog_scrlram_w);
DECLARE_WRITE8_MEMBER(unk_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/laserbat.h b/src/mame/includes/laserbat.h
index d5c545ff820..b11c5c7ebeb 100644
--- a/src/mame/includes/laserbat.h
+++ b/src/mame/includes/laserbat.h
@@ -77,6 +77,7 @@ public:
DECLARE_READ8_MEMBER(zaccaria_port0a_r);
DECLARE_WRITE8_MEMBER(zaccaria_port0a_w);
DECLARE_WRITE8_MEMBER(zaccaria_port0b_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/lasso.h b/src/mame/includes/lasso.h
index 069880fb2f0..004afc6a215 100644
--- a/src/mame/includes/lasso.h
+++ b/src/mame/includes/lasso.h
@@ -54,6 +54,9 @@ public:
DECLARE_WRITE8_MEMBER(wwjgtin_video_control_w);
DECLARE_WRITE8_MEMBER(pinbo_video_control_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILE_GET_INFO_MEMBER(lasso_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(wwjgtin_get_track_tile_info);
+ TILE_GET_INFO_MEMBER(pinbo_get_bg_tile_info);
};
diff --git a/src/mame/includes/lastduel.h b/src/mame/includes/lastduel.h
index 49e86518180..16e14f5e1dc 100644
--- a/src/mame/includes/lastduel.h
+++ b/src/mame/includes/lastduel.h
@@ -48,6 +48,11 @@ public:
DECLARE_WRITE16_MEMBER(madgear_scroll1_w);
DECLARE_WRITE16_MEMBER(madgear_scroll2_w);
DECLARE_WRITE16_MEMBER(lastduel_palette_word_w);
+ TILE_GET_INFO_MEMBER(ld_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(ld_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fix_info);
};
/*----------- defined in video/lastduel.c -----------*/
diff --git a/src/mame/includes/legionna.h b/src/mame/includes/legionna.h
index 396f602fce0..c2515d2892d 100644
--- a/src/mame/includes/legionna.h
+++ b/src/mame/includes/legionna.h
@@ -37,6 +37,13 @@ public:
DECLARE_DRIVER_INIT(legiongfx);
DECLARE_DRIVER_INIT(cupsoc);
DECLARE_DRIVER_INIT(denjinmk);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_mid_tile_info);
+ TILE_GET_INFO_MEMBER(get_mid_tile_info_denji);
+ TILE_GET_INFO_MEMBER(get_mid_tile_info_cupsoc);
+ TILE_GET_INFO_MEMBER(get_fore_tile_info);
+ TILE_GET_INFO_MEMBER(get_fore_tile_info_denji);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/lemmings.h b/src/mame/includes/lemmings.h
index 8e625ad34b8..f6d408a794e 100644
--- a/src/mame/includes/lemmings.h
+++ b/src/mame/includes/lemmings.h
@@ -40,6 +40,7 @@ public:
DECLARE_WRITE16_MEMBER(lemmings_pixel_0_w);
DECLARE_WRITE16_MEMBER(lemmings_pixel_1_w);
DECLARE_WRITE16_MEMBER(lemmings_vram_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/liberate.h b/src/mame/includes/liberate.h
index f9c2134d844..e155f373d95 100644
--- a/src/mame/includes/liberate.h
+++ b/src/mame/includes/liberate.h
@@ -51,6 +51,11 @@ public:
DECLARE_DRIVER_INIT(yellowcb);
DECLARE_DRIVER_INIT(liberate);
DECLARE_DRIVER_INIT(prosport);
+ TILEMAP_MAPPER_MEMBER(back_scan);
+ TILEMAP_MAPPER_MEMBER(fix_scan);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_fix_tile_info);
+ TILE_GET_INFO_MEMBER(prosport_get_back_tile_info);
};
diff --git a/src/mame/includes/lkage.h b/src/mame/includes/lkage.h
index 6d9c6609b55..96d43ad305a 100644
--- a/src/mame/includes/lkage.h
+++ b/src/mame/includes/lkage.h
@@ -76,6 +76,9 @@ public:
DECLARE_DRIVER_INIT(bygone);
DECLARE_DRIVER_INIT(lkage);
DECLARE_DRIVER_INIT(lkageb);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
/*----------- defined in machine/lkage.c -----------*/
diff --git a/src/mame/includes/lockon.h b/src/mame/includes/lockon.h
index 588849a88b5..067565cf70f 100644
--- a/src/mame/includes/lockon.h
+++ b/src/mame/includes/lockon.h
@@ -98,6 +98,7 @@ public:
DECLARE_READ8_MEMBER(adc_r);
DECLARE_WRITE8_MEMBER(sound_vol);
DECLARE_WRITE8_MEMBER(ym2203_out_b);
+ TILE_GET_INFO_MEMBER(get_lockon_tile_info);
};
diff --git a/src/mame/includes/lordgun.h b/src/mame/includes/lordgun.h
index f48bec3e532..2a22a769b61 100644
--- a/src/mame/includes/lordgun.h
+++ b/src/mame/includes/lordgun.h
@@ -59,6 +59,10 @@ public:
DECLARE_DRIVER_INIT(lordgun);
DECLARE_DRIVER_INIT(aliencha);
DECLARE_DRIVER_INIT(alienchac);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_2);
+ TILE_GET_INFO_MEMBER(get_tile_info_3);
};
diff --git a/src/mame/includes/lucky74.h b/src/mame/includes/lucky74.h
index 87eb2ae1bfc..d54452833b3 100644
--- a/src/mame/includes/lucky74.h
+++ b/src/mame/includes/lucky74.h
@@ -35,6 +35,8 @@ public:
DECLARE_WRITE8_MEMBER(ym2149_portb_w);
DECLARE_WRITE8_MEMBER(lamps_a_w);
DECLARE_WRITE8_MEMBER(lamps_b_w);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/lvcards.h b/src/mame/includes/lvcards.h
index 2360af6c061..79c41a3a140 100644
--- a/src/mame/includes/lvcards.h
+++ b/src/mame/includes/lvcards.h
@@ -17,6 +17,7 @@ public:
DECLARE_READ8_MEMBER(payout_r);
DECLARE_WRITE8_MEMBER(lvcards_videoram_w);
DECLARE_WRITE8_MEMBER(lvcards_colorram_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/lwings.h b/src/mame/includes/lwings.h
index 3ee9c50e020..f9c4310776b 100644
--- a/src/mame/includes/lwings.h
+++ b/src/mame/includes/lwings.h
@@ -48,6 +48,11 @@ public:
DECLARE_WRITE8_MEMBER(trojan_bg2_scrollx_w);
DECLARE_WRITE8_MEMBER(trojan_bg2_image_w);
DECLARE_WRITE8_MEMBER(msm5205_w);
+ TILEMAP_MAPPER_MEMBER(get_bg2_memory_offset);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(lwings_get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(trojan_get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
};
diff --git a/src/mame/includes/m107.h b/src/mame/includes/m107.h
index 1242fc1599f..01027aea311 100644
--- a/src/mame/includes/m107.h
+++ b/src/mame/includes/m107.h
@@ -47,6 +47,7 @@ public:
DECLARE_DRIVER_INIT(firebarr);
DECLARE_DRIVER_INIT(dsoccr94);
DECLARE_DRIVER_INIT(wpksoc);
+ TILE_GET_INFO_MEMBER(get_pf_tile_info);
};
diff --git a/src/mame/includes/m52.h b/src/mame/includes/m52.h
index fd09b3ad600..af1ea802cac 100644
--- a/src/mame/includes/m52.h
+++ b/src/mame/includes/m52.h
@@ -30,6 +30,7 @@ public:
DECLARE_WRITE8_MEMBER(m52_bgcontrol_w);
DECLARE_WRITE8_MEMBER(m52_flipscreen_w);
DECLARE_WRITE8_MEMBER(alpha1v_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
/*----------- defined in video/m52.c -----------*/
diff --git a/src/mame/includes/m57.h b/src/mame/includes/m57.h
index 8ab8c84d86d..b42d25d8581 100644
--- a/src/mame/includes/m57.h
+++ b/src/mame/includes/m57.h
@@ -17,6 +17,7 @@ public:
int m_flipscreen;
DECLARE_WRITE8_MEMBER(m57_videoram_w);
DECLARE_WRITE8_MEMBER(m57_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
/*----------- defined in video/m57.c -----------*/
diff --git a/src/mame/includes/m58.h b/src/mame/includes/m58.h
index dd688d2753a..feb1621e3a1 100644
--- a/src/mame/includes/m58.h
+++ b/src/mame/includes/m58.h
@@ -26,6 +26,8 @@ public:
DECLARE_WRITE8_MEMBER(yard_scroll_panel_w);
DECLARE_WRITE8_MEMBER(yard_flipscreen_w);
DECLARE_DRIVER_INIT(yard85);
+ TILE_GET_INFO_MEMBER(yard_get_bg_tile_info);
+ TILEMAP_MAPPER_MEMBER(yard_tilemap_scan_rows);
};
/*----------- defined in video/m58.c -----------*/
diff --git a/src/mame/includes/m62.h b/src/mame/includes/m62.h
index 4a0e5561a96..fb2a743cf2a 100644
--- a/src/mame/includes/m62.h
+++ b/src/mame/includes/m62.h
@@ -62,6 +62,22 @@ public:
DECLARE_DRIVER_INIT(spelunk2);
DECLARE_DRIVER_INIT(kidniki);
DECLARE_DRIVER_INIT(battroad);
+ TILE_GET_INFO_MEMBER(get_kungfum_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_ldrun_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_ldrun2_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_battroad_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_battroad_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_ldrun4_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_lotlot_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_lotlot_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_kidniki_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_kidniki_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_spelunkr_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_spelunkr_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_spelunk2_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_youjyudn_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_youjyudn_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_horizon_bg_tile_info);
};
diff --git a/src/mame/includes/m72.h b/src/mame/includes/m72.h
index 32ca912dd66..13e61171b4c 100644
--- a/src/mame/includes/m72.h
+++ b/src/mame/includes/m72.h
@@ -97,6 +97,12 @@ public:
DECLARE_DRIVER_INIT(nspirit);
DECLARE_DRIVER_INIT(loht);
DECLARE_DRIVER_INIT(imgfight);
+ TILE_GET_INFO_MEMBER(m72_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(m72_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(hharry_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(rtype2_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(rtype2_get_fg_tile_info);
+ TILEMAP_MAPPER_MEMBER(majtitle_scan_rows);
};
diff --git a/src/mame/includes/m90.h b/src/mame/includes/m90.h
index cfcd18dee00..2c2f0d23398 100644
--- a/src/mame/includes/m90.h
+++ b/src/mame/includes/m90.h
@@ -24,6 +24,18 @@ public:
DECLARE_WRITE16_MEMBER(m90_video_w);
DECLARE_DRIVER_INIT(bomblord);
DECLARE_DRIVER_INIT(quizf1);
+ TILE_GET_INFO_MEMBER(get_pf1_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf1w_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf2_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf2w_tile_info);
+ TILE_GET_INFO_MEMBER(bomblord_get_pf1_tile_info);
+ TILE_GET_INFO_MEMBER(bomblord_get_pf1w_tile_info);
+ TILE_GET_INFO_MEMBER(bomblord_get_pf2_tile_info);
+ TILE_GET_INFO_MEMBER(bomblord_get_pf2w_tile_info);
+ TILE_GET_INFO_MEMBER(dynablsb_get_pf1_tile_info);
+ TILE_GET_INFO_MEMBER(dynablsb_get_pf1w_tile_info);
+ TILE_GET_INFO_MEMBER(dynablsb_get_pf2_tile_info);
+ TILE_GET_INFO_MEMBER(dynablsb_get_pf2w_tile_info);
};
diff --git a/src/mame/includes/m92.h b/src/mame/includes/m92.h
index 0ef026b18db..5954d0e2be3 100644
--- a/src/mame/includes/m92.h
+++ b/src/mame/includes/m92.h
@@ -70,6 +70,7 @@ public:
DECLARE_DRIVER_INIT(lethalth);
DECLARE_DRIVER_INIT(m92);
DECLARE_DRIVER_INIT(m92_bank);
+ TILE_GET_INFO_MEMBER(get_pf_tile_info);
};
diff --git a/src/mame/includes/macrossp.h b/src/mame/includes/macrossp.h
index 36e5065697a..9186914aca9 100644
--- a/src/mame/includes/macrossp.h
+++ b/src/mame/includes/macrossp.h
@@ -64,6 +64,10 @@ public:
DECLARE_WRITE32_MEMBER(macrossp_text_videoram_w);
DECLARE_DRIVER_INIT(quizmoon);
DECLARE_DRIVER_INIT(macrossp);
+ TILE_GET_INFO_MEMBER(get_macrossp_scra_tile_info);
+ TILE_GET_INFO_MEMBER(get_macrossp_scrb_tile_info);
+ TILE_GET_INFO_MEMBER(get_macrossp_scrc_tile_info);
+ TILE_GET_INFO_MEMBER(get_macrossp_text_tile_info);
};
/*----------- defined in video/macrossp.c -----------*/
diff --git a/src/mame/includes/madalien.h b/src/mame/includes/madalien.h
index fedb9123b2c..6f3ffdf087d 100644
--- a/src/mame/includes/madalien.h
+++ b/src/mame/includes/madalien.h
@@ -53,6 +53,13 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_WRITE8_MEMBER(madalien_portA_w);
DECLARE_WRITE8_MEMBER(madalien_portB_w);
+ TILEMAP_MAPPER_MEMBER(scan_mode0);
+ TILEMAP_MAPPER_MEMBER(scan_mode1);
+ TILEMAP_MAPPER_MEMBER(scan_mode2);
+ TILEMAP_MAPPER_MEMBER(scan_mode3);
+ TILE_GET_INFO_MEMBER(get_tile_info_BG_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_BG_2);
+ TILE_GET_INFO_MEMBER(get_tile_info_FG);
};
diff --git a/src/mame/includes/mainsnk.h b/src/mame/includes/mainsnk.h
index a7067cdc2ea..bb70b19bedc 100644
--- a/src/mame/includes/mainsnk.h
+++ b/src/mame/includes/mainsnk.h
@@ -22,6 +22,9 @@ public:
DECLARE_WRITE8_MEMBER(mainsnk_fgram_w);
DECLARE_WRITE8_MEMBER(mainsnk_bgram_w);
DECLARE_CUSTOM_INPUT_MEMBER(mainsnk_sound_r);
+ TILEMAP_MAPPER_MEMBER(marvins_tx_scan_cols);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/mappy.h b/src/mame/includes/mappy.h
index a1ebfec5d16..28f28cb0200 100644
--- a/src/mame/includes/mappy.h
+++ b/src/mame/includes/mappy.h
@@ -34,6 +34,11 @@ public:
DECLARE_WRITE8_MEMBER(grobda_DAC_w);
DECLARE_DRIVER_INIT(digdug2);
DECLARE_DRIVER_INIT(grobda);
+ TILEMAP_MAPPER_MEMBER(superpac_tilemap_scan);
+ TILEMAP_MAPPER_MEMBER(mappy_tilemap_scan);
+ TILE_GET_INFO_MEMBER(superpac_get_tile_info);
+ TILE_GET_INFO_MEMBER(phozon_get_tile_info);
+ TILE_GET_INFO_MEMBER(mappy_get_tile_info);
};
diff --git a/src/mame/includes/marineb.h b/src/mame/includes/marineb.h
index 2e6950cab2a..de6c78ba881 100644
--- a/src/mame/includes/marineb.h
+++ b/src/mame/includes/marineb.h
@@ -33,6 +33,7 @@ public:
DECLARE_WRITE8_MEMBER(marineb_palette_bank_1_w);
DECLARE_WRITE8_MEMBER(marineb_flipscreen_x_w);
DECLARE_WRITE8_MEMBER(marineb_flipscreen_y_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/mario.h b/src/mame/includes/mario.h
index e6c866939fb..447eb41f9aa 100644
--- a/src/mame/includes/mario.h
+++ b/src/mame/includes/mario.h
@@ -78,6 +78,7 @@ public:
DECLARE_WRITE8_MEMBER(mario_sh_tuneselect_w);
DECLARE_WRITE8_MEMBER(mario_sh3_w);
DECLARE_WRITE8_MEMBER(mario_z80dma_rdy_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
/*----------- defined in video/mario.c -----------*/
diff --git a/src/mame/includes/markham.h b/src/mame/includes/markham.h
index 41108a16c2c..1eb05442164 100644
--- a/src/mame/includes/markham.h
+++ b/src/mame/includes/markham.h
@@ -23,6 +23,7 @@ public:
DECLARE_READ8_MEMBER(markham_e004_r);
DECLARE_WRITE8_MEMBER(markham_videoram_w);
DECLARE_WRITE8_MEMBER(markham_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/mcatadv.h b/src/mame/includes/mcatadv.h
index 0f93beb2bc2..165c7193271 100644
--- a/src/mame/includes/mcatadv.h
+++ b/src/mame/includes/mcatadv.h
@@ -37,6 +37,8 @@ public:
DECLARE_WRITE8_MEMBER(mcatadv_sound_bw_w);
DECLARE_WRITE16_MEMBER(mcatadv_videoram1_w);
DECLARE_WRITE16_MEMBER(mcatadv_videoram2_w);
+ TILE_GET_INFO_MEMBER(get_mcatadv_tile_info1);
+ TILE_GET_INFO_MEMBER(get_mcatadv_tile_info2);
};
/*----------- defined in video/mcatadv.c -----------*/
diff --git a/src/mame/includes/mcr.h b/src/mame/includes/mcr.h
index b901e9b2b25..e621da695da 100644
--- a/src/mame/includes/mcr.h
+++ b/src/mame/includes/mcr.h
@@ -78,6 +78,9 @@ public:
DECLARE_DRIVER_INIT(nflfoot);
DECLARE_DRIVER_INIT(journey);
DECLARE_DRIVER_INIT(solarfox);
+ TILE_GET_INFO_MEMBER(mcr_90009_get_tile_info);
+ TILE_GET_INFO_MEMBER(mcr_90010_get_tile_info);
+ TILE_GET_INFO_MEMBER(mcr_91490_get_tile_info);
};
diff --git a/src/mame/includes/mcr3.h b/src/mame/includes/mcr3.h
index 49f104a14d3..baafe136458 100644
--- a/src/mame/includes/mcr3.h
+++ b/src/mame/includes/mcr3.h
@@ -55,6 +55,11 @@ public:
DECLARE_DRIVER_INIT(rampage);
DECLARE_DRIVER_INIT(spyhunt);
DECLARE_DRIVER_INIT(sarge);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(mcrmono_get_bg_tile_info);
+ TILEMAP_MAPPER_MEMBER(spyhunt_bg_scan);
+ TILE_GET_INFO_MEMBER(spyhunt_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(spyhunt_get_alpha_tile_info);
};
diff --git a/src/mame/includes/mcr68.h b/src/mame/includes/mcr68.h
index bb5c0b80022..c75fae3a16d 100644
--- a/src/mame/includes/mcr68.h
+++ b/src/mame/includes/mcr68.h
@@ -87,6 +87,9 @@ public:
DECLARE_DRIVER_INIT(xenophob);
DECLARE_DRIVER_INIT(archrivl);
DECLARE_DRIVER_INIT(spyhunt2);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(zwackery_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(zwackery_get_fg_tile_info);
};
/*----------- defined in machine/mcr68.c -----------*/
diff --git a/src/mame/includes/meadows.h b/src/mame/includes/meadows.h
index 0bea4cfc279..ce4c02af3aa 100644
--- a/src/mame/includes/meadows.h
+++ b/src/mame/includes/meadows.h
@@ -42,6 +42,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_DRIVER_INIT(minferno);
DECLARE_DRIVER_INIT(gypsyjug);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/megasys1.h b/src/mame/includes/megasys1.h
index bb382365ac8..7d1865ffa03 100644
--- a/src/mame/includes/megasys1.h
+++ b/src/mame/includes/megasys1.h
@@ -102,6 +102,10 @@ public:
DECLARE_DRIVER_INIT(rodland);
DECLARE_DRIVER_INIT(edfbl);
DECLARE_DRIVER_INIT(stdragona);
+ TILEMAP_MAPPER_MEMBER(megasys1_scan_8x8);
+ TILEMAP_MAPPER_MEMBER(megasys1_scan_16x16);
+ TILE_GET_INFO_MEMBER(megasys1_get_scroll_tile_info_8x8);
+ TILE_GET_INFO_MEMBER(megasys1_get_scroll_tile_info_16x16);
};
diff --git a/src/mame/includes/mermaid.h b/src/mame/includes/mermaid.h
index d268625b33a..c1fd9339256 100644
--- a/src/mame/includes/mermaid.h
+++ b/src/mame/includes/mermaid.h
@@ -70,6 +70,8 @@ public:
DECLARE_WRITE8_MEMBER(rougien_gfxbankswitch1_w);
DECLARE_WRITE8_MEMBER(rougien_gfxbankswitch2_w);
DECLARE_READ8_MEMBER(mermaid_collision_r);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/metlclsh.h b/src/mame/includes/metlclsh.h
index d43d122d2fc..3372660a132 100644
--- a/src/mame/includes/metlclsh.h
+++ b/src/mame/includes/metlclsh.h
@@ -43,6 +43,9 @@ public:
DECLARE_WRITE8_MEMBER(metlclsh_bgram_w);
DECLARE_WRITE8_MEMBER(metlclsh_fgram_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILEMAP_MAPPER_MEMBER(metlclsh_bgtilemap_scan);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/metro.h b/src/mame/includes/metro.h
index 7bf8a11f2f8..91398221313 100644
--- a/src/mame/includes/metro.h
+++ b/src/mame/includes/metro.h
@@ -151,6 +151,9 @@ public:
DECLARE_DRIVER_INIT(dharmak);
DECLARE_DRIVER_INIT(puzzlet);
DECLARE_DRIVER_INIT(metro);
+ TILE_GET_INFO_MEMBER(metro_k053936_get_tile_info);
+ TILE_GET_INFO_MEMBER(metro_k053936_gstrik2_get_tile_info);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_gstrik2);
};
diff --git a/src/mame/includes/mikie.h b/src/mame/includes/mikie.h
index 26a2a3dd5ff..b8a5c047cb1 100644
--- a/src/mame/includes/mikie.h
+++ b/src/mame/includes/mikie.h
@@ -38,6 +38,7 @@ public:
DECLARE_WRITE8_MEMBER(mikie_colorram_w);
DECLARE_WRITE8_MEMBER(mikie_palettebank_w);
DECLARE_WRITE8_MEMBER(mikie_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/mitchell.h b/src/mame/includes/mitchell.h
index 0478a94639a..19138ae2afa 100644
--- a/src/mame/includes/mitchell.h
+++ b/src/mame/includes/mitchell.h
@@ -96,6 +96,7 @@ public:
DECLARE_DRIVER_INIT(pkladies);
DECLARE_DRIVER_INIT(blockbl);
DECLARE_DRIVER_INIT(dokaben);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/mjkjidai.h b/src/mame/includes/mjkjidai.h
index 43f9b9fd6b0..a1a3e2ef77a 100644
--- a/src/mame/includes/mjkjidai.h
+++ b/src/mame/includes/mjkjidai.h
@@ -26,6 +26,7 @@ public:
DECLARE_WRITE8_MEMBER(mjkjidai_videoram_w);
DECLARE_WRITE8_MEMBER(mjkjidai_ctrl_w);
DECLARE_WRITE8_MEMBER(adpcm_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/mosaic.h b/src/mame/includes/mosaic.h
index bbfe380ed80..460d67d87d9 100644
--- a/src/mame/includes/mosaic.h
+++ b/src/mame/includes/mosaic.h
@@ -29,6 +29,8 @@ public:
DECLARE_READ8_MEMBER(gfire2_protection_r);
DECLARE_WRITE8_MEMBER(mosaic_fgvideoram_w);
DECLARE_WRITE8_MEMBER(mosaic_bgvideoram_w);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/mrdo.h b/src/mame/includes/mrdo.h
index 1d54890c813..3438b630306 100644
--- a/src/mame/includes/mrdo.h
+++ b/src/mame/includes/mrdo.h
@@ -28,6 +28,8 @@ public:
DECLARE_WRITE8_MEMBER(mrdo_scrollx_w);
DECLARE_WRITE8_MEMBER(mrdo_scrolly_w);
DECLARE_WRITE8_MEMBER(mrdo_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/mrjong.h b/src/mame/includes/mrjong.h
index 85da06c5fb5..1ea65b89728 100644
--- a/src/mame/includes/mrjong.h
+++ b/src/mame/includes/mrjong.h
@@ -22,6 +22,7 @@ public:
DECLARE_WRITE8_MEMBER(mrjong_videoram_w);
DECLARE_WRITE8_MEMBER(mrjong_colorram_w);
DECLARE_WRITE8_MEMBER(mrjong_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/ms32.h b/src/mame/includes/ms32.h
index dc813967f86..9a7a8ed4909 100644
--- a/src/mame/includes/ms32.h
+++ b/src/mame/includes/ms32.h
@@ -80,6 +80,10 @@ public:
DECLARE_DRIVER_INIT(bnstars);
DECLARE_DRIVER_INIT(f1superb);
DECLARE_DRIVER_INIT(ss92046_01);
+ TILE_GET_INFO_MEMBER(get_ms32_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_ms32_roz_tile_info);
+ TILE_GET_INFO_MEMBER(get_ms32_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_ms32_extra_tile_info);
};
diff --git a/src/mame/includes/msisaac.h b/src/mame/includes/msisaac.h
index b73472ef181..b3bb8eb2860 100644
--- a/src/mame/includes/msisaac.h
+++ b/src/mame/includes/msisaac.h
@@ -65,6 +65,9 @@ public:
DECLARE_WRITE8_MEMBER(msisaac_bg2_videoram_w);
DECLARE_WRITE8_MEMBER(msisaac_fg_videoram_w);
DECLARE_WRITE8_MEMBER(sound_control_0_w);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
};
diff --git a/src/mame/includes/mugsmash.h b/src/mame/includes/mugsmash.h
index f5f9974f903..64083dfb449 100644
--- a/src/mame/includes/mugsmash.h
+++ b/src/mame/includes/mugsmash.h
@@ -26,6 +26,8 @@ public:
DECLARE_WRITE16_MEMBER(mugsmash_videoram1_w);
DECLARE_WRITE16_MEMBER(mugsmash_videoram2_w);
DECLARE_WRITE16_MEMBER(mugsmash_reg_w);
+ TILE_GET_INFO_MEMBER(get_mugsmash_tile_info1);
+ TILE_GET_INFO_MEMBER(get_mugsmash_tile_info2);
};
diff --git a/src/mame/includes/mustache.h b/src/mame/includes/mustache.h
index 67553a1aeac..41dcac15b37 100644
--- a/src/mame/includes/mustache.h
+++ b/src/mame/includes/mustache.h
@@ -15,6 +15,7 @@ public:
DECLARE_WRITE8_MEMBER(mustache_video_control_w);
DECLARE_WRITE8_MEMBER(mustache_scroll_w);
DECLARE_DRIVER_INIT(mustache);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/mystston.h b/src/mame/includes/mystston.h
index d584a3a2b92..96e14b840b4 100644
--- a/src/mame/includes/mystston.h
+++ b/src/mame/includes/mystston.h
@@ -42,6 +42,8 @@ public:
DECLARE_WRITE8_MEMBER(mystston_ay8910_select_w);
DECLARE_WRITE8_MEMBER(mystston_video_control_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/mystwarr.h b/src/mame/includes/mystwarr.h
index 86fd6b5fce6..719d4923bc7 100644
--- a/src/mame/includes/mystwarr.h
+++ b/src/mame/includes/mystwarr.h
@@ -52,6 +52,8 @@ public:
DECLARE_READ16_MEMBER(ddd_053936_tilerom_1_r);
DECLARE_READ16_MEMBER(gai_053936_tilerom_2_r);
DECLARE_READ16_MEMBER(ddd_053936_tilerom_2_r);
+ TILE_GET_INFO_MEMBER(get_gai_936_tile_info);
+ TILE_GET_INFO_MEMBER(get_ult_936_tile_info);
};
diff --git a/src/mame/includes/namcona1.h b/src/mame/includes/namcona1.h
index 304162f0f63..c94f749a2af 100644
--- a/src/mame/includes/namcona1.h
+++ b/src/mame/includes/namcona1.h
@@ -102,6 +102,11 @@ public:
DECLARE_DRIVER_INIT(xday2);
DECLARE_DRIVER_INIT(exbania);
DECLARE_DRIVER_INIT(emeraldj);
+ TILE_GET_INFO_MEMBER(tilemap_get_info0);
+ TILE_GET_INFO_MEMBER(tilemap_get_info1);
+ TILE_GET_INFO_MEMBER(tilemap_get_info2);
+ TILE_GET_INFO_MEMBER(tilemap_get_info3);
+ TILE_GET_INFO_MEMBER(roz_get_info);
};
diff --git a/src/mame/includes/namcos1.h b/src/mame/includes/namcos1.h
index a994d69bc5b..3698cbbcb33 100644
--- a/src/mame/includes/namcos1.h
+++ b/src/mame/includes/namcos1.h
@@ -85,6 +85,12 @@ public:
DECLARE_DRIVER_INIT(ws89);
DECLARE_DRIVER_INIT(dspirit);
DECLARE_DRIVER_INIT(pistoldm);
+ TILE_GET_INFO_MEMBER(bg_get_info0);
+ TILE_GET_INFO_MEMBER(bg_get_info1);
+ TILE_GET_INFO_MEMBER(bg_get_info2);
+ TILE_GET_INFO_MEMBER(bg_get_info3);
+ TILE_GET_INFO_MEMBER(fg_get_info4);
+ TILE_GET_INFO_MEMBER(fg_get_info5);
};
diff --git a/src/mame/includes/namcos22.h b/src/mame/includes/namcos22.h
index 6a814cbf644..cba4ec7d6c0 100644
--- a/src/mame/includes/namcos22.h
+++ b/src/mame/includes/namcos22.h
@@ -249,6 +249,7 @@ public:
DECLARE_DRIVER_INIT(alpiner);
DECLARE_DRIVER_INIT(ridgeraj);
DECLARE_DRIVER_INIT(alpinesa);
+ TILE_GET_INFO_MEMBER(TextTilemapGetInfo);
};
diff --git a/src/mame/includes/namcos86.h b/src/mame/includes/namcos86.h
index 118da9d4203..ca600df2197 100644
--- a/src/mame/includes/namcos86.h
+++ b/src/mame/includes/namcos86.h
@@ -45,6 +45,10 @@ public:
DECLARE_READ8_MEMBER(rthunder_spriteram_r);
DECLARE_WRITE8_MEMBER(rthunder_spriteram_w);
DECLARE_DRIVER_INIT(namco86);
+ TILE_GET_INFO_MEMBER(get_tile_info0);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
+ TILE_GET_INFO_MEMBER(get_tile_info2);
+ TILE_GET_INFO_MEMBER(get_tile_info3);
};
diff --git a/src/mame/includes/nemesis.h b/src/mame/includes/nemesis.h
index ba936ca423f..3600bb3a71a 100644
--- a/src/mame/includes/nemesis.h
+++ b/src/mame/includes/nemesis.h
@@ -79,6 +79,8 @@ public:
DECLARE_WRITE8_MEMBER(salamand_speech_start_w);
DECLARE_READ8_MEMBER(nemesis_portA_r);
DECLARE_WRITE8_MEMBER(city_sound_bank_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/news.h b/src/mame/includes/news.h
index c524d73dcc6..c0d450e3a25 100644
--- a/src/mame/includes/news.h
+++ b/src/mame/includes/news.h
@@ -19,6 +19,8 @@ public:
DECLARE_WRITE8_MEMBER(news_fgram_w);
DECLARE_WRITE8_MEMBER(news_bgram_w);
DECLARE_WRITE8_MEMBER(news_bgpic_w);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/ninjakd2.h b/src/mame/includes/ninjakd2.h
index 49bb927d257..0f6960f77b4 100644
--- a/src/mame/includes/ninjakd2.h
+++ b/src/mame/includes/ninjakd2.h
@@ -56,6 +56,14 @@ public:
DECLARE_DRIVER_INIT(mnight);
DECLARE_DRIVER_INIT(ninjakd2);
DECLARE_DRIVER_INIT(bootleg);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(ninjakd2_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(mnight_get_bg_tile_info);
+ TILEMAP_MAPPER_MEMBER(robokid_bg_scan);
+ TILEMAP_MAPPER_MEMBER(omegaf_bg_scan);
+ TILE_GET_INFO_MEMBER(robokid_get_bg0_tile_info);
+ TILE_GET_INFO_MEMBER(robokid_get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(robokid_get_bg2_tile_info);
};
diff --git a/src/mame/includes/nitedrvr.h b/src/mame/includes/nitedrvr.h
index e26cf6e47c3..8640dfe539a 100644
--- a/src/mame/includes/nitedrvr.h
+++ b/src/mame/includes/nitedrvr.h
@@ -52,6 +52,7 @@ public:
DECLARE_WRITE8_MEMBER(nitedrvr_out1_w);
DECLARE_WRITE8_MEMBER(nitedrvr_videoram_w);
DECLARE_WRITE8_MEMBER(nitedrvr_hvc_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/nmk16.h b/src/mame/includes/nmk16.h
index 250161558f1..f07b301f1fd 100644
--- a/src/mame/includes/nmk16.h
+++ b/src/mame/includes/nmk16.h
@@ -106,6 +106,15 @@ public:
DECLARE_DRIVER_INIT(grdnstrm);
DECLARE_DRIVER_INIT(spec2k);
DECLARE_DRIVER_INIT(bjtwin);
+ TILEMAP_MAPPER_MEMBER(afega_tilemap_scan_pages);
+ TILE_GET_INFO_MEMBER(macross_get_bg0_tile_info);
+ TILE_GET_INFO_MEMBER(macross_get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(macross_get_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(macross_get_bg3_tile_info);
+ TILE_GET_INFO_MEMBER(strahl_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(macross_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(bjtwin_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tile_info_0_8bit);
};
diff --git a/src/mame/includes/nova2001.h b/src/mame/includes/nova2001.h
index cd0fdf3929f..5e1d2c52b5d 100644
--- a/src/mame/includes/nova2001.h
+++ b/src/mame/includes/nova2001.h
@@ -27,6 +27,13 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(ninjakun_io_A002_ctrl_r);
DECLARE_DRIVER_INIT(raiders5);
DECLARE_DRIVER_INIT(pkunwar);
+ TILE_GET_INFO_MEMBER(nova2001_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(nova2001_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(ninjakun_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(ninjakun_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(pkunwar_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(raiders5_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(raiders5_get_fg_tile_info);
};
diff --git a/src/mame/includes/nycaptor.h b/src/mame/includes/nycaptor.h
index fe84a10ae75..c22ca7aa9e5 100644
--- a/src/mame/includes/nycaptor.h
+++ b/src/mame/includes/nycaptor.h
@@ -98,6 +98,7 @@ public:
DECLARE_DRIVER_INIT(colt);
DECLARE_DRIVER_INIT(bronx);
DECLARE_DRIVER_INIT(nycaptor);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/offtwall.h b/src/mame/includes/offtwall.h
index f939f40c5fc..03d6de4b6af 100644
--- a/src/mame/includes/offtwall.h
+++ b/src/mame/includes/offtwall.h
@@ -29,6 +29,7 @@ public:
DECLARE_READ16_MEMBER(unknown_verify_r);
DECLARE_DRIVER_INIT(offtwall);
DECLARE_DRIVER_INIT(offtwalc);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/ohmygod.h b/src/mame/includes/ohmygod.h
index e85c75e8339..37bf4978b44 100644
--- a/src/mame/includes/ohmygod.h
+++ b/src/mame/includes/ohmygod.h
@@ -33,6 +33,7 @@ public:
DECLARE_WRITE16_MEMBER(ohmygod_scrolly_w);
DECLARE_DRIVER_INIT(ohmygod);
DECLARE_DRIVER_INIT(naname);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/ojankohs.h b/src/mame/includes/ojankohs.h
index 12018c91ff2..c579eb35ff4 100644
--- a/src/mame/includes/ojankohs.h
+++ b/src/mame/includes/ojankohs.h
@@ -59,6 +59,8 @@ public:
DECLARE_WRITE8_MEMBER(ojankohs_adpcm_reset_w);
DECLARE_READ8_MEMBER(ojankohs_ay8910_0_r);
DECLARE_READ8_MEMBER(ojankohs_ay8910_1_r);
+ TILE_GET_INFO_MEMBER(ojankohs_get_tile_info);
+ TILE_GET_INFO_MEMBER(ojankoy_get_tile_info);
};
diff --git a/src/mame/includes/oneshot.h b/src/mame/includes/oneshot.h
index b0ad6a8f679..edf692f13fd 100644
--- a/src/mame/includes/oneshot.h
+++ b/src/mame/includes/oneshot.h
@@ -43,6 +43,9 @@ public:
DECLARE_WRITE16_MEMBER(oneshot_mid_videoram_w);
DECLARE_WRITE16_MEMBER(oneshot_fg_videoram_w);
DECLARE_WRITE16_MEMBER(soundbank_w);
+ TILE_GET_INFO_MEMBER(get_oneshot_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_oneshot_mid_tile_info);
+ TILE_GET_INFO_MEMBER(get_oneshot_fg_tile_info);
};
/*----------- defined in video/oneshot.c -----------*/
diff --git a/src/mame/includes/orbit.h b/src/mame/includes/orbit.h
index f72f48c0d8f..d7a8c664035 100644
--- a/src/mame/includes/orbit.h
+++ b/src/mame/includes/orbit.h
@@ -39,6 +39,7 @@ public:
device_t *m_discrete;
DECLARE_WRITE8_MEMBER(orbit_misc_w);
DECLARE_WRITE8_MEMBER(orbit_playfield_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/othldrby.h b/src/mame/includes/othldrby.h
index a1cc9ad4803..8b8179fede5 100644
--- a/src/mame/includes/othldrby.h
+++ b/src/mame/includes/othldrby.h
@@ -35,6 +35,9 @@ public:
DECLARE_WRITE16_MEMBER(othldrby_vreg_addr_w);
DECLARE_WRITE16_MEMBER(othldrby_vreg_w);
DECLARE_WRITE16_MEMBER(oki_bankswitch_w);
+ TILE_GET_INFO_MEMBER(get_tile_info0);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
+ TILE_GET_INFO_MEMBER(get_tile_info2);
};
diff --git a/src/mame/includes/pacland.h b/src/mame/includes/pacland.h
index 9d208715dbf..8339f726a8e 100644
--- a/src/mame/includes/pacland.h
+++ b/src/mame/includes/pacland.h
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(pacland_scroll0_w);
DECLARE_WRITE8_MEMBER(pacland_scroll1_w);
DECLARE_WRITE8_MEMBER(pacland_bankswitch_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/pacman.h b/src/mame/includes/pacman.h
index 87ed6db9375..0ecc08c03a4 100644
--- a/src/mame/includes/pacman.h
+++ b/src/mame/includes/pacman.h
@@ -117,6 +117,11 @@ public:
DECLARE_DRIVER_INIT(8bpm);
DECLARE_DRIVER_INIT(porky);
DECLARE_DRIVER_INIT(mspacman);
+ TILEMAP_MAPPER_MEMBER(pacman_scan_rows);
+ TILE_GET_INFO_MEMBER(pacman_get_tile_info);
+ TILE_GET_INFO_MEMBER(s2650_get_tile_info);
+ TILEMAP_MAPPER_MEMBER(jrpacman_scan_rows);
+ TILE_GET_INFO_MEMBER(jrpacman_get_tile_info);
};
diff --git a/src/mame/includes/pandoras.h b/src/mame/includes/pandoras.h
index dd861a6f3a7..74edfe0f84d 100644
--- a/src/mame/includes/pandoras.h
+++ b/src/mame/includes/pandoras.h
@@ -45,6 +45,7 @@ public:
DECLARE_WRITE8_MEMBER(pandoras_flipscreen_w);
DECLARE_READ8_MEMBER(pandoras_portA_r);
DECLARE_READ8_MEMBER(pandoras_portB_r);
+ TILE_GET_INFO_MEMBER(get_tile_info0);
};
diff --git a/src/mame/includes/paradise.h b/src/mame/includes/paradise.h
index 775ffdb28cf..3e504a01bcd 100644
--- a/src/mame/includes/paradise.h
+++ b/src/mame/includes/paradise.h
@@ -45,6 +45,9 @@ public:
DECLARE_DRIVER_INIT(torus);
DECLARE_DRIVER_INIT(paradise);
DECLARE_DRIVER_INIT(tgtball);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_2);
};
/*----------- defined in video/paradise.c -----------*/
diff --git a/src/mame/includes/pass.h b/src/mame/includes/pass.h
index c4d6708f87e..92090b39411 100644
--- a/src/mame/includes/pass.h
+++ b/src/mame/includes/pass.h
@@ -13,6 +13,8 @@ public:
required_shared_ptr<UINT16> m_fg_videoram;
DECLARE_WRITE16_MEMBER(pass_bg_videoram_w);
DECLARE_WRITE16_MEMBER(pass_fg_videoram_w);
+ TILE_GET_INFO_MEMBER(get_pass_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_pass_fg_tile_info);
};
diff --git a/src/mame/includes/pbaction.h b/src/mame/includes/pbaction.h
index 7ed35290dab..76ea12e4f4d 100644
--- a/src/mame/includes/pbaction.h
+++ b/src/mame/includes/pbaction.h
@@ -46,6 +46,8 @@ public:
DECLARE_WRITE8_MEMBER(pbaction_flipscreen_w);
DECLARE_DRIVER_INIT(pbactio3);
DECLARE_DRIVER_INIT(pbactio4);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/pgm.h b/src/mame/includes/pgm.h
index 44e3f27b01e..21869d7be40 100644
--- a/src/mame/includes/pgm.h
+++ b/src/mame/includes/pgm.h
@@ -108,6 +108,8 @@ public:
DECLARE_DRIVER_INIT(drgw3);
DECLARE_DRIVER_INIT(orlegend);
DECLARE_DRIVER_INIT(pstar);
+ TILE_GET_INFO_MEMBER(get_pgm_tx_tilemap_tile_info);
+ TILE_GET_INFO_MEMBER(get_pgm_bg_tilemap_tile_info);
};
diff --git a/src/mame/includes/phoenix.h b/src/mame/includes/phoenix.h
index a72eb273c9a..d84c76267bc 100644
--- a/src/mame/includes/phoenix.h
+++ b/src/mame/includes/phoenix.h
@@ -28,6 +28,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(player_input_r);
DECLARE_CUSTOM_INPUT_MEMBER(pleiads_protection_r);
DECLARE_DRIVER_INIT(condor);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/pingpong.h b/src/mame/includes/pingpong.h
index e2f1a4c4d82..a03f5fea454 100644
--- a/src/mame/includes/pingpong.h
+++ b/src/mame/includes/pingpong.h
@@ -23,6 +23,7 @@ public:
DECLARE_WRITE8_MEMBER(pingpong_colorram_w);
DECLARE_DRIVER_INIT(cashquiz);
DECLARE_DRIVER_INIT(merlinmm);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/pirates.h b/src/mame/includes/pirates.h
index 65afb037d51..73c13252730 100644
--- a/src/mame/includes/pirates.h
+++ b/src/mame/includes/pirates.h
@@ -25,6 +25,9 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(prot_r);
DECLARE_DRIVER_INIT(pirates);
DECLARE_DRIVER_INIT(genix);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/pitnrun.h b/src/mame/includes/pitnrun.h
index 73cdace8851..8bfcf5939f8 100644
--- a/src/mame/includes/pitnrun.h
+++ b/src/mame/includes/pitnrun.h
@@ -46,6 +46,8 @@ public:
DECLARE_WRITE8_MEMBER(pitnrun_h_heed_w);
DECLARE_WRITE8_MEMBER(pitnrun_v_heed_w);
DECLARE_WRITE8_MEMBER(pitnrun_color_select_w);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
+ TILE_GET_INFO_MEMBER(get_tile_info2);
};
diff --git a/src/mame/includes/playch10.h b/src/mame/includes/playch10.h
index 0eedaa79a2f..588b9e6545a 100644
--- a/src/mame/includes/playch10.h
+++ b/src/mame/includes/playch10.h
@@ -107,6 +107,7 @@ public:
DECLARE_DRIVER_INIT(pceboard);
DECLARE_DRIVER_INIT(pciboard);
DECLARE_DRIVER_INIT(pcaboard);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/playmark.h b/src/mame/includes/playmark.h
index 11718be266c..d6e88a2769b 100644
--- a/src/mame/includes/playmark.h
+++ b/src/mame/includes/playmark.h
@@ -78,6 +78,15 @@ public:
DECLARE_DRIVER_INIT(bigtwin);
DECLARE_DRIVER_INIT(powerbal);
DECLARE_DRIVER_INIT(magicstk);
+ TILE_GET_INFO_MEMBER(bigtwin_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(bigtwin_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(wbeachvl_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(wbeachvl_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(wbeachvl_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(hrdtimes_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(bigtwinb_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(hrdtimes_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(hrdtimes_get_bg_tile_info);
};
/*----------- defined in video/playmark.c -----------*/
diff --git a/src/mame/includes/plygonet.h b/src/mame/includes/plygonet.h
index d68966d4a21..65deff9de1d 100644
--- a/src/mame/includes/plygonet.h
+++ b/src/mame/includes/plygonet.h
@@ -66,6 +66,10 @@ public:
DIRECT_UPDATE_MEMBER(plygonet_dsp56k_direct_handler);
DECLARE_READ32_MEMBER(polygonet_eeprom_r);
DECLARE_DRIVER_INIT(polygonet);
+ TILE_GET_INFO_MEMBER(ttl_get_tile_info);
+ TILE_GET_INFO_MEMBER(roz_get_tile_info);
+ TILEMAP_MAPPER_MEMBER(plygonet_scan);
+ TILEMAP_MAPPER_MEMBER(plygonet_scan_cols);
};
/*----------- defined in video/plygonet.c -----------*/
diff --git a/src/mame/includes/pokechmp.h b/src/mame/includes/pokechmp.h
index 2c842b714fa..426aaaa4f7f 100644
--- a/src/mame/includes/pokechmp.h
+++ b/src/mame/includes/pokechmp.h
@@ -15,6 +15,7 @@ public:
DECLARE_WRITE8_MEMBER(pokechmp_videoram_w);
DECLARE_WRITE8_MEMBER(pokechmp_flipscreen_w);
DECLARE_DRIVER_INIT(pokechmp);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/polepos.h b/src/mame/includes/polepos.h
index 192d6dec523..4400bd715ef 100644
--- a/src/mame/includes/polepos.h
+++ b/src/mame/includes/polepos.h
@@ -74,6 +74,8 @@ public:
DECLARE_READ8_MEMBER(steering_delta_r);
DECLARE_DRIVER_INIT(topracern);
DECLARE_DRIVER_INIT(polepos2);
+ TILE_GET_INFO_MEMBER(bg_get_tile_info);
+ TILE_GET_INFO_MEMBER(tx_get_tile_info);
};
diff --git a/src/mame/includes/poolshrk.h b/src/mame/includes/poolshrk.h
index 340d9051097..af83d1bbcd8 100644
--- a/src/mame/includes/poolshrk.h
+++ b/src/mame/includes/poolshrk.h
@@ -28,6 +28,7 @@ public:
DECLARE_READ8_MEMBER(poolshrk_input_r);
DECLARE_READ8_MEMBER(poolshrk_irq_reset_r);
DECLARE_DRIVER_INIT(poolshrk);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/pooyan.h b/src/mame/includes/pooyan.h
index 4b27f11fe76..995eed7bf37 100644
--- a/src/mame/includes/pooyan.h
+++ b/src/mame/includes/pooyan.h
@@ -27,6 +27,7 @@ public:
DECLARE_WRITE8_MEMBER(pooyan_videoram_w);
DECLARE_WRITE8_MEMBER(pooyan_colorram_w);
DECLARE_WRITE8_MEMBER(pooyan_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/popeye.h b/src/mame/includes/popeye.h
index 740ba18a45c..0fe2513117f 100644
--- a/src/mame/includes/popeye.h
+++ b/src/mame/includes/popeye.h
@@ -35,6 +35,7 @@ public:
DECLARE_READ8_MEMBER(popeye_portA_r);
DECLARE_DRIVER_INIT(skyskipr);
DECLARE_DRIVER_INIT(popeye);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/popper.h b/src/mame/includes/popper.h
index d11db317acf..a325e74515e 100644
--- a/src/mame/includes/popper.h
+++ b/src/mame/includes/popper.h
@@ -46,6 +46,10 @@ public:
DECLARE_WRITE8_MEMBER(popper_flipscreen_w);
DECLARE_WRITE8_MEMBER(popper_e002_w);
DECLARE_WRITE8_MEMBER(popper_gfx_bank_w);
+ TILE_GET_INFO_MEMBER(get_popper_p123_tile_info);
+ TILE_GET_INFO_MEMBER(get_popper_p0_tile_info);
+ TILE_GET_INFO_MEMBER(get_popper_ol_p123_tile_info);
+ TILE_GET_INFO_MEMBER(get_popper_ol_p0_tile_info);
};
diff --git a/src/mame/includes/portrait.h b/src/mame/includes/portrait.h
index 4d0618d8c75..7b4290c8f5f 100644
--- a/src/mame/includes/portrait.h
+++ b/src/mame/includes/portrait.h
@@ -18,6 +18,8 @@ public:
DECLARE_WRITE8_MEMBER(portrait_negative_scroll_w);
DECLARE_WRITE8_MEMBER(portrait_bgvideo_write);
DECLARE_WRITE8_MEMBER(portrait_fgvideo_write);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/powerins.h b/src/mame/includes/powerins.h
index f9b1acf9e57..1baa033b54e 100644
--- a/src/mame/includes/powerins.h
+++ b/src/mame/includes/powerins.h
@@ -25,6 +25,9 @@ public:
DECLARE_WRITE16_MEMBER(powerins_paletteram16_w);
DECLARE_WRITE16_MEMBER(powerins_vram_0_w);
DECLARE_WRITE16_MEMBER(powerins_vram_1_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILEMAP_MAPPER_MEMBER(powerins_get_memory_offset_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
};
diff --git a/src/mame/includes/prehisle.h b/src/mame/includes/prehisle.h
index daff40ea519..8b21489ed1e 100644
--- a/src/mame/includes/prehisle.h
+++ b/src/mame/includes/prehisle.h
@@ -23,6 +23,9 @@ public:
DECLARE_WRITE16_MEMBER(prehisle_control16_w);
DECLARE_WRITE8_MEMBER(D7759_write_port_0_w);
DECLARE_WRITE8_MEMBER(D7759_upd_reset_w);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/psikyo.h b/src/mame/includes/psikyo.h
index 56fc2a7e1b6..6936037c575 100644
--- a/src/mame/includes/psikyo.h
+++ b/src/mame/includes/psikyo.h
@@ -83,6 +83,8 @@ public:
DECLARE_DRIVER_INIT(tengai);
DECLARE_DRIVER_INIT(s1945jn);
DECLARE_DRIVER_INIT(gunbird);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
};
diff --git a/src/mame/includes/psychic5.h b/src/mame/includes/psychic5.h
index 31b23a8bb55..575c72e443d 100644
--- a/src/mame/includes/psychic5.h
+++ b/src/mame/includes/psychic5.h
@@ -38,6 +38,8 @@ public:
DECLARE_WRITE8_MEMBER(psychic5_paged_ram_w);
DECLARE_WRITE8_MEMBER(bombsa_paged_ram_w);
DECLARE_WRITE8_MEMBER(bombsa_unknown_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/punchout.h b/src/mame/includes/punchout.h
index eaa3049cdad..8941aeab1aa 100644
--- a/src/mame/includes/punchout.h
+++ b/src/mame/includes/punchout.h
@@ -51,6 +51,15 @@ public:
DECLARE_DRIVER_INIT(spnchotj);
DECLARE_DRIVER_INIT(punchout);
DECLARE_DRIVER_INIT(spnchout);
+ TILE_GET_INFO_MEMBER(top_get_info);
+ TILE_GET_INFO_MEMBER(armwrest_top_get_info);
+ TILE_GET_INFO_MEMBER(bot_get_info);
+ TILE_GET_INFO_MEMBER(armwrest_bot_get_info);
+ TILE_GET_INFO_MEMBER(bs1_get_info);
+ TILE_GET_INFO_MEMBER(bs2_get_info);
+ TILE_GET_INFO_MEMBER(armwrest_fg_get_info);
+ TILEMAP_MAPPER_MEMBER(armwrest_bs1_scan);
+ TILEMAP_MAPPER_MEMBER(armwrest_bs1_scan_flipx);
};
diff --git a/src/mame/includes/pushman.h b/src/mame/includes/pushman.h
index 85759c4ee34..120caae0eac 100644
--- a/src/mame/includes/pushman.h
+++ b/src/mame/includes/pushman.h
@@ -41,6 +41,9 @@ public:
DECLARE_WRITE8_MEMBER(pushman_68000_w);
DECLARE_WRITE16_MEMBER(pushman_scroll_w);
DECLARE_WRITE16_MEMBER(pushman_videoram_w);
+ TILEMAP_MAPPER_MEMBER(background_scan_rows);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/quizdna.h b/src/mame/includes/quizdna.h
index 93a7698dafb..3587cff481d 100644
--- a/src/mame/includes/quizdna.h
+++ b/src/mame/includes/quizdna.h
@@ -21,6 +21,8 @@ public:
DECLARE_WRITE8_MEMBER(quizdna_bg_xscroll_w);
DECLARE_WRITE8_MEMBER(quizdna_screen_ctrl_w);
DECLARE_WRITE8_MEMBER(paletteram_xBGR_RRRR_GGGG_BBBB_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/quizpani.h b/src/mame/includes/quizpani.h
index bedac1ec7b2..ac2cb7e7ba2 100644
--- a/src/mame/includes/quizpani.h
+++ b/src/mame/includes/quizpani.h
@@ -17,6 +17,9 @@ public:
DECLARE_WRITE16_MEMBER(quizpani_bg_videoram_w);
DECLARE_WRITE16_MEMBER(quizpani_txt_videoram_w);
DECLARE_WRITE16_MEMBER(quizpani_tilesbank_w);
+ TILEMAP_MAPPER_MEMBER(bg_scan);
+ TILE_GET_INFO_MEMBER(bg_tile_info);
+ TILE_GET_INFO_MEMBER(txt_tile_info);
};
diff --git a/src/mame/includes/raiden.h b/src/mame/includes/raiden.h
index e7d5e34baa7..0abe5f16d43 100644
--- a/src/mame/includes/raiden.h
+++ b/src/mame/includes/raiden.h
@@ -34,6 +34,9 @@ public:
DECLARE_DRIVER_INIT(raidenk);
DECLARE_DRIVER_INIT(raiden);
DECLARE_DRIVER_INIT(raidena);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_fore_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/raiden2.h b/src/mame/includes/raiden2.h
index 508b73cf2f8..60c965dff04 100644
--- a/src/mame/includes/raiden2.h
+++ b/src/mame/includes/raiden2.h
@@ -121,6 +121,10 @@ public:
DECLARE_DRIVER_INIT(xsedae);
DECLARE_DRIVER_INIT(zeroteam);
DECLARE_DRIVER_INIT(raiden2);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_mid_tile_info);
+ TILE_GET_INFO_MEMBER(get_fore_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/rallyx.h b/src/mame/includes/rallyx.h
index 5b85f9f699e..8b4d0cbe1f6 100644
--- a/src/mame/includes/rallyx.h
+++ b/src/mame/includes/rallyx.h
@@ -48,6 +48,11 @@ public:
DECLARE_WRITE8_MEMBER(rallyx_scrollx_w);
DECLARE_WRITE8_MEMBER(rallyx_scrolly_w);
DECLARE_WRITE8_MEMBER(tactcian_starson_w);
+ TILEMAP_MAPPER_MEMBER(fg_tilemap_scan);
+ TILE_GET_INFO_MEMBER(rallyx_bg_get_tile_info);
+ TILE_GET_INFO_MEMBER(rallyx_fg_get_tile_info);
+ TILE_GET_INFO_MEMBER(locomotn_bg_get_tile_info);
+ TILE_GET_INFO_MEMBER(locomotn_fg_get_tile_info);
};
diff --git a/src/mame/includes/realbrk.h b/src/mame/includes/realbrk.h
index 26f5f1c39d6..53d04be8bdc 100644
--- a/src/mame/includes/realbrk.h
+++ b/src/mame/includes/realbrk.h
@@ -40,6 +40,9 @@ public:
DECLARE_WRITE16_MEMBER(realbrk_vram_1_w);
DECLARE_WRITE16_MEMBER(realbrk_vram_2_w);
DECLARE_WRITE16_MEMBER(realbrk_vregs_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_2);
};
diff --git a/src/mame/includes/relief.h b/src/mame/includes/relief.h
index c1c8451bf92..a0b545ee7bc 100644
--- a/src/mame/includes/relief.h
+++ b/src/mame/includes/relief.h
@@ -21,6 +21,8 @@ public:
DECLARE_WRITE16_MEMBER(audio_control_w);
DECLARE_WRITE16_MEMBER(audio_volume_w);
DECLARE_DRIVER_INIT(relief);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
};
diff --git a/src/mame/includes/renegade.h b/src/mame/includes/renegade.h
index 34faae8cb6c..a0a1b1fb5cd 100644
--- a/src/mame/includes/renegade.h
+++ b/src/mame/includes/renegade.h
@@ -67,6 +67,8 @@ public:
DECLARE_DRIVER_INIT(kuniokun);
DECLARE_DRIVER_INIT(kuniokunb);
DECLARE_DRIVER_INIT(renegade);
+ TILE_GET_INFO_MEMBER(get_bg_tilemap_info);
+ TILE_GET_INFO_MEMBER(get_fg_tilemap_info);
};
diff --git a/src/mame/includes/retofinv.h b/src/mame/includes/retofinv.h
index 0d439088ff4..87babf9b685 100644
--- a/src/mame/includes/retofinv.h
+++ b/src/mame/includes/retofinv.h
@@ -56,6 +56,9 @@ public:
DECLARE_WRITE8_MEMBER(retofinv_bg_videoram_w);
DECLARE_WRITE8_MEMBER(retofinv_fg_videoram_w);
DECLARE_WRITE8_MEMBER(retofinv_gfx_ctrl_w);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan);
+ TILE_GET_INFO_MEMBER(bg_get_tile_info);
+ TILE_GET_INFO_MEMBER(fg_get_tile_info);
};
diff --git a/src/mame/includes/rocnrope.h b/src/mame/includes/rocnrope.h
index 2941641586f..3161aac1743 100644
--- a/src/mame/includes/rocnrope.h
+++ b/src/mame/includes/rocnrope.h
@@ -25,6 +25,7 @@ public:
DECLARE_WRITE8_MEMBER(rocnrope_flipscreen_w);
DECLARE_DRIVER_INIT(rocnrope);
DECLARE_DRIVER_INIT(rocnropk);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
/*----------- defined in video/rocnrope.c -----------*/
diff --git a/src/mame/includes/rpunch.h b/src/mame/includes/rpunch.h
index ea227ee7c70..733b3016600 100644
--- a/src/mame/includes/rpunch.h
+++ b/src/mame/includes/rpunch.h
@@ -35,6 +35,8 @@ public:
DECLARE_WRITE8_MEMBER(upd_data_w);
DECLARE_DRIVER_INIT(rabiolep);
DECLARE_DRIVER_INIT(svolley);
+ TILE_GET_INFO_MEMBER(get_bg0_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
};
diff --git a/src/mame/includes/runaway.h b/src/mame/includes/runaway.h
index 9207c210cbd..24bf48b21ec 100644
--- a/src/mame/includes/runaway.h
+++ b/src/mame/includes/runaway.h
@@ -18,6 +18,8 @@ public:
DECLARE_WRITE8_MEMBER(runaway_video_ram_w);
DECLARE_WRITE8_MEMBER(runaway_tile_bank_w);
DECLARE_READ8_MEMBER(runaway_pot_r);
+ TILE_GET_INFO_MEMBER(runaway_get_tile_info);
+ TILE_GET_INFO_MEMBER(qwak_get_tile_info);
};
diff --git a/src/mame/includes/rungun.h b/src/mame/includes/rungun.h
index b961cedf28b..de2c1ca8863 100644
--- a/src/mame/includes/rungun.h
+++ b/src/mame/includes/rungun.h
@@ -47,6 +47,8 @@ public:
DECLARE_READ16_MEMBER(rng_ttl_ram_r);
DECLARE_WRITE16_MEMBER(rng_ttl_ram_w);
DECLARE_WRITE16_MEMBER(rng_936_videoram_w);
+ TILE_GET_INFO_MEMBER(ttl_get_tile_info);
+ TILE_GET_INFO_MEMBER(get_rng_936_tile_info);
};
diff --git a/src/mame/includes/sauro.h b/src/mame/includes/sauro.h
index 49f3fc61eda..f5903627636 100644
--- a/src/mame/includes/sauro.h
+++ b/src/mame/includes/sauro.h
@@ -32,6 +32,8 @@ public:
DECLARE_WRITE8_MEMBER(sauro_scroll_fg_w);
DECLARE_WRITE8_MEMBER(adpcm_w);
DECLARE_DRIVER_INIT(tecfri);
+ TILE_GET_INFO_MEMBER(get_tile_info_bg);
+ TILE_GET_INFO_MEMBER(get_tile_info_fg);
};
diff --git a/src/mame/includes/sbasketb.h b/src/mame/includes/sbasketb.h
index 18f87d216cf..47813fb4de4 100644
--- a/src/mame/includes/sbasketb.h
+++ b/src/mame/includes/sbasketb.h
@@ -39,6 +39,7 @@ public:
UINT8 m_SN76496_latch;
DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
/*----------- defined in video/sbasketb.c -----------*/
diff --git a/src/mame/includes/sbugger.h b/src/mame/includes/sbugger.h
index 77f2d2eca5b..02abcf82f36 100644
--- a/src/mame/includes/sbugger.h
+++ b/src/mame/includes/sbugger.h
@@ -13,6 +13,7 @@ public:
DECLARE_WRITE8_MEMBER(sbugger_videoram_w);
DECLARE_WRITE8_MEMBER(sbugger_videoram_attr_w);
DECLARE_WRITE_LINE_MEMBER(sbugger_interrupt);
+ TILE_GET_INFO_MEMBER(get_sbugger_tile_info);
};
diff --git a/src/mame/includes/scotrsht.h b/src/mame/includes/scotrsht.h
index b2056f62d96..838000f7353 100644
--- a/src/mame/includes/scotrsht.h
+++ b/src/mame/includes/scotrsht.h
@@ -22,6 +22,7 @@ public:
DECLARE_WRITE8_MEMBER(scotrsht_colorram_w);
DECLARE_WRITE8_MEMBER(scotrsht_charbank_w);
DECLARE_WRITE8_MEMBER(scotrsht_palettebank_w);
+ TILE_GET_INFO_MEMBER(scotrsht_get_bg_tile_info);
};
diff --git a/src/mame/includes/sderby.h b/src/mame/includes/sderby.h
index 657d3c3867d..9339619cdf7 100644
--- a/src/mame/includes/sderby.h
+++ b/src/mame/includes/sderby.h
@@ -29,6 +29,9 @@ public:
DECLARE_WRITE16_MEMBER(sderby_md_videoram_w);
DECLARE_WRITE16_MEMBER(sderby_fg_videoram_w);
DECLARE_WRITE16_MEMBER(sderby_scroll_w);
+ TILE_GET_INFO_MEMBER(get_sderby_tile_info);
+ TILE_GET_INFO_MEMBER(get_sderby_md_tile_info);
+ TILE_GET_INFO_MEMBER(get_sderby_fg_tile_info);
};
diff --git a/src/mame/includes/segag80r.h b/src/mame/includes/segag80r.h
index b7d614275dc..b15aa9c668d 100644
--- a/src/mame/includes/segag80r.h
+++ b/src/mame/includes/segag80r.h
@@ -93,6 +93,9 @@ public:
DECLARE_DRIVER_INIT(005);
DECLARE_DRIVER_INIT(monster2);
DECLARE_DRIVER_INIT(astrob);
+ TILE_GET_INFO_MEMBER(spaceod_get_tile_info);
+ TILEMAP_MAPPER_MEMBER(spaceod_scan_rows);
+ TILE_GET_INFO_MEMBER(bg_get_tile_info);
};
diff --git a/src/mame/includes/segas32.h b/src/mame/includes/segas32.h
index e2cca09ee1e..20c91908206 100644
--- a/src/mame/includes/segas32.h
+++ b/src/mame/includes/segas32.h
@@ -170,6 +170,7 @@ public:
DECLARE_DRIVER_INIT(radr);
DECLARE_DRIVER_INIT(f1lap);
DECLARE_DRIVER_INIT(orunners);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/seibuspi.h b/src/mame/includes/seibuspi.h
index 75cd229d245..98a56d0eb92 100644
--- a/src/mame/includes/seibuspi.h
+++ b/src/mame/includes/seibuspi.h
@@ -102,6 +102,10 @@ public:
DECLARE_DRIVER_INIT(ejanhs);
DECLARE_DRIVER_INIT(sys386f2);
DECLARE_DRIVER_INIT(rdft2us);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_mid_tile_info);
+ TILE_GET_INFO_MEMBER(get_fore_tile_info);
};
diff --git a/src/mame/includes/seicross.h b/src/mame/includes/seicross.h
index e8d97153f9b..abb013b96cd 100644
--- a/src/mame/includes/seicross.h
+++ b/src/mame/includes/seicross.h
@@ -25,6 +25,7 @@ public:
DECLARE_WRITE8_MEMBER(seicross_colorram_w);
DECLARE_READ8_MEMBER(friskyt_portB_r);
DECLARE_WRITE8_MEMBER(friskyt_portB_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/senjyo.h b/src/mame/includes/senjyo.h
index 1d4079af798..a1863d58344 100644
--- a/src/mame/includes/senjyo.h
+++ b/src/mame/includes/senjyo.h
@@ -74,6 +74,11 @@ public:
DECLARE_DRIVER_INIT(senjyo);
DECLARE_DRIVER_INIT(starfore);
DECLARE_DRIVER_INIT(starforc);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(senjyo_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(starforc_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg3_tile_info);
};
diff --git a/src/mame/includes/seta.h b/src/mame/includes/seta.h
index fb2ae28ba31..15e79213865 100644
--- a/src/mame/includes/seta.h
+++ b/src/mame/includes/seta.h
@@ -171,6 +171,12 @@ public:
DECLARE_DRIVER_INIT(blandia);
DECLARE_DRIVER_INIT(kiwame);
DECLARE_DRIVER_INIT(eightfrc);
+ TILE_GET_INFO_MEMBER(twineagl_get_tile_info_0);
+ TILE_GET_INFO_MEMBER(twineagl_get_tile_info_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
+ TILE_GET_INFO_MEMBER(get_tile_info_2);
+ TILE_GET_INFO_MEMBER(get_tile_info_3);
};
/*----------- defined in video/seta.c -----------*/
diff --git a/src/mame/includes/sf.h b/src/mame/includes/sf.h
index d5644c27937..59f164c10f7 100644
--- a/src/mame/includes/sf.h
+++ b/src/mame/includes/sf.h
@@ -41,6 +41,9 @@ public:
DECLARE_WRITE16_MEMBER(sf_gfxctrl_w);
DECLARE_WRITE8_MEMBER(msm1_5205_w);
DECLARE_WRITE8_MEMBER(msm2_5205_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/shadfrce.h b/src/mame/includes/shadfrce.h
index 83e5d6a3b9d..8732e699ac7 100644
--- a/src/mame/includes/shadfrce.h
+++ b/src/mame/includes/shadfrce.h
@@ -38,6 +38,9 @@ public:
DECLARE_WRITE16_MEMBER(shadfrce_bg1scrollx_w);
DECLARE_WRITE16_MEMBER(shadfrce_bg1scrolly_w);
DECLARE_WRITE8_MEMBER(oki_bankswitch_w);
+ TILE_GET_INFO_MEMBER(get_shadfrce_fgtile_info);
+ TILE_GET_INFO_MEMBER(get_shadfrce_bg0tile_info);
+ TILE_GET_INFO_MEMBER(get_shadfrce_bg1tile_info);
};
diff --git a/src/mame/includes/shangkid.h b/src/mame/includes/shangkid.h
index a43e01d0d58..4bd94c9eb6f 100644
--- a/src/mame/includes/shangkid.h
+++ b/src/mame/includes/shangkid.h
@@ -25,6 +25,7 @@ public:
DECLARE_WRITE8_MEMBER(ay8910_portb_w);
DECLARE_DRIVER_INIT(shangkid);
DECLARE_DRIVER_INIT(chinhero);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/shaolins.h b/src/mame/includes/shaolins.h
index fda835c040d..607fab84ac0 100644
--- a/src/mame/includes/shaolins.h
+++ b/src/mame/includes/shaolins.h
@@ -22,6 +22,7 @@ public:
DECLARE_WRITE8_MEMBER(shaolins_palettebank_w);
DECLARE_WRITE8_MEMBER(shaolins_scroll_w);
DECLARE_WRITE8_MEMBER(shaolins_nmi_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/shisen.h b/src/mame/includes/shisen.h
index 6f3f23aba3c..1f457367034 100644
--- a/src/mame/includes/shisen.h
+++ b/src/mame/includes/shisen.h
@@ -15,6 +15,7 @@ public:
DECLARE_WRITE8_MEMBER(sichuan2_videoram_w);
DECLARE_WRITE8_MEMBER(sichuan2_bankswitch_w);
DECLARE_WRITE8_MEMBER(sichuan2_paletteram_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/shootout.h b/src/mame/includes/shootout.h
index 433692d6ca9..df97c995e00 100644
--- a/src/mame/includes/shootout.h
+++ b/src/mame/includes/shootout.h
@@ -22,6 +22,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
DECLARE_DRIVER_INIT(shootouj);
DECLARE_DRIVER_INIT(shootout);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/shuuz.h b/src/mame/includes/shuuz.h
index c88e6ff700d..be18dcc8a14 100644
--- a/src/mame/includes/shuuz.h
+++ b/src/mame/includes/shuuz.h
@@ -18,6 +18,7 @@ public:
DECLARE_WRITE16_MEMBER(latch_w);
DECLARE_READ16_MEMBER(leta_r);
DECLARE_READ16_MEMBER(special_port0_r);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/sidearms.h b/src/mame/includes/sidearms.h
index 39f6c3145fa..aadefee35c0 100644
--- a/src/mame/includes/sidearms.h
+++ b/src/mame/includes/sidearms.h
@@ -46,6 +46,10 @@ public:
DECLARE_DRIVER_INIT(sidearms);
DECLARE_DRIVER_INIT(whizz);
DECLARE_DRIVER_INIT(turtship);
+ TILE_GET_INFO_MEMBER(get_sidearms_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_philko_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILEMAP_MAPPER_MEMBER(sidearms_tilemap_scan);
};
/*----------- defined in video/sidearms.c -----------*/
diff --git a/src/mame/includes/sidepckt.h b/src/mame/includes/sidepckt.h
index b09a23bfe62..0e237b8074f 100644
--- a/src/mame/includes/sidepckt.h
+++ b/src/mame/includes/sidepckt.h
@@ -25,6 +25,7 @@ public:
DECLARE_WRITE8_MEMBER(sidepckt_flipscreen_w);
DECLARE_DRIVER_INIT(sidepckt);
DECLARE_DRIVER_INIT(sidepctj);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/silkroad.h b/src/mame/includes/silkroad.h
index 6d4aac9f770..a5a9d87d9a8 100644
--- a/src/mame/includes/silkroad.h
+++ b/src/mame/includes/silkroad.h
@@ -24,6 +24,9 @@ public:
DECLARE_WRITE32_MEMBER(silkroad_fgram3_w);
DECLARE_WRITE32_MEMBER(silk_6295_bank_w);
DECLARE_DRIVER_INIT(silkroad);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg2_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg3_tile_info);
};
diff --git a/src/mame/includes/skullxbo.h b/src/mame/includes/skullxbo.h
index 5656b8cc642..31b4cf68ec4 100644
--- a/src/mame/includes/skullxbo.h
+++ b/src/mame/includes/skullxbo.h
@@ -15,6 +15,8 @@ public:
DECLARE_READ16_MEMBER(special_port1_r);
DECLARE_WRITE16_MEMBER(skullxbo_mobwr_w);
DECLARE_DRIVER_INIT(skullxbo);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/skydiver.h b/src/mame/includes/skydiver.h
index 277ba6b6ca9..c0fb43b9b3b 100644
--- a/src/mame/includes/skydiver.h
+++ b/src/mame/includes/skydiver.h
@@ -46,6 +46,7 @@ public:
DECLARE_WRITE8_MEMBER(skydiver_2000_201F_w);
DECLARE_WRITE8_MEMBER(skydiver_sound_enable_w);
DECLARE_WRITE8_MEMBER(skydiver_whistle_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/skykid.h b/src/mame/includes/skykid.h
index 57f33fe8ee1..acdf94d1e8e 100644
--- a/src/mame/includes/skykid.h
+++ b/src/mame/includes/skykid.h
@@ -34,6 +34,9 @@ public:
DECLARE_WRITE8_MEMBER(skykid_scroll_y_w);
DECLARE_WRITE8_MEMBER(skykid_flipscreen_priority_w);
DECLARE_DRIVER_INIT(skykid);
+ TILEMAP_MAPPER_MEMBER(tx_tilemap_scan);
+ TILE_GET_INFO_MEMBER(tx_get_tile_info);
+ TILE_GET_INFO_MEMBER(bg_get_tile_info);
};
diff --git a/src/mame/includes/slapfght.h b/src/mame/includes/slapfght.h
index b0cfe900823..5b22fb3a7df 100644
--- a/src/mame/includes/slapfght.h
+++ b/src/mame/includes/slapfght.h
@@ -117,6 +117,9 @@ public:
DECLARE_DRIVER_INIT(perfrman);
DECLARE_DRIVER_INIT(gtstarb2);
DECLARE_DRIVER_INIT(tigerh);
+ TILE_GET_INFO_MEMBER(get_pf_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf1_tile_info);
+ TILE_GET_INFO_MEMBER(get_fix_tile_info);
};
diff --git a/src/mame/includes/snk.h b/src/mame/includes/snk.h
index d24e045b512..2e144c9755a 100644
--- a/src/mame/includes/snk.h
+++ b/src/mame/includes/snk.h
@@ -141,6 +141,16 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(countryc_trackball_y);
DECLARE_CUSTOM_INPUT_MEMBER(snk_bonus_r);
DECLARE_DRIVER_INIT(countryc);
+ TILEMAP_MAPPER_MEMBER(marvins_tx_scan_cols);
+ TILE_GET_INFO_MEMBER(marvins_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(ikari_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(gwar_get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(marvins_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(marvins_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(aso_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(tnk3_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(ikari_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(gwar_get_bg_tile_info);
};
diff --git a/src/mame/includes/snk6502.h b/src/mame/includes/snk6502.h
index f1424107282..b6ce8ea613a 100644
--- a/src/mame/includes/snk6502.h
+++ b/src/mame/includes/snk6502.h
@@ -47,6 +47,10 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(snk6502_music0_r);
DECLARE_CUSTOM_INPUT_MEMBER(sasuke_count_r);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(satansat_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(satansat_get_fg_tile_info);
};
diff --git a/src/mame/includes/snk68.h b/src/mame/includes/snk68.h
index d659a289543..41e9330d4ff 100644
--- a/src/mame/includes/snk68.h
+++ b/src/mame/includes/snk68.h
@@ -39,6 +39,8 @@ public:
DECLARE_WRITE8_MEMBER(D7759_write_port_0_w);
DECLARE_WRITE8_MEMBER(D7759_upd_reset_w);
DECLARE_DRIVER_INIT(searchar);
+ TILE_GET_INFO_MEMBER(get_pow_tile_info);
+ TILE_GET_INFO_MEMBER(get_searchar_tile_info);
};
diff --git a/src/mame/includes/snookr10.h b/src/mame/includes/snookr10.h
index f17c20fd6f7..b1bf2c1dbfa 100644
--- a/src/mame/includes/snookr10.h
+++ b/src/mame/includes/snookr10.h
@@ -22,6 +22,8 @@ public:
DECLARE_WRITE8_MEMBER(output_port_1_w);
DECLARE_WRITE8_MEMBER(snookr10_videoram_w);
DECLARE_WRITE8_MEMBER(snookr10_colorram_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(apple10_get_bg_tile_info);
};
diff --git a/src/mame/includes/solomon.h b/src/mame/includes/solomon.h
index 688c881db22..8d35e517896 100644
--- a/src/mame/includes/solomon.h
+++ b/src/mame/includes/solomon.h
@@ -27,6 +27,8 @@ public:
DECLARE_WRITE8_MEMBER(solomon_videoram2_w);
DECLARE_WRITE8_MEMBER(solomon_colorram2_w);
DECLARE_WRITE8_MEMBER(solomon_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/sonson.h b/src/mame/includes/sonson.h
index 5c96a3ccf7c..c8b54c96427 100644
--- a/src/mame/includes/sonson.h
+++ b/src/mame/includes/sonson.h
@@ -33,6 +33,7 @@ public:
DECLARE_WRITE8_MEMBER(sonson_colorram_w);
DECLARE_WRITE8_MEMBER(sonson_scrollx_w);
DECLARE_WRITE8_MEMBER(sonson_flipscreen_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/spdodgeb.h b/src/mame/includes/spdodgeb.h
index 94a694102aa..58152174922 100644
--- a/src/mame/includes/spdodgeb.h
+++ b/src/mame/includes/spdodgeb.h
@@ -41,6 +41,8 @@ public:
DECLARE_WRITE8_MEMBER(spdodgeb_scrollx_lo_w);
DECLARE_WRITE8_MEMBER(spdodgeb_ctrl_w);
DECLARE_WRITE8_MEMBER(spdodgeb_videoram_w);
+ TILEMAP_MAPPER_MEMBER(background_scan);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/speedbal.h b/src/mame/includes/speedbal.h
index e47026c87a4..a98f76f805e 100644
--- a/src/mame/includes/speedbal.h
+++ b/src/mame/includes/speedbal.h
@@ -15,6 +15,8 @@ public:
DECLARE_WRITE8_MEMBER(speedbal_coincounter_w);
DECLARE_WRITE8_MEMBER(speedbal_foreground_videoram_w);
DECLARE_WRITE8_MEMBER(speedbal_background_videoram_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_bg);
+ TILE_GET_INFO_MEMBER(get_tile_info_fg);
};
diff --git a/src/mame/includes/speedspn.h b/src/mame/includes/speedspn.h
index 049909d2d9e..77c49abe362 100644
--- a/src/mame/includes/speedspn.h
+++ b/src/mame/includes/speedspn.h
@@ -19,6 +19,7 @@ public:
DECLARE_WRITE8_MEMBER(speedspn_banked_vidram_change);
DECLARE_WRITE8_MEMBER(speedspn_global_display_w);
DECLARE_WRITE8_MEMBER(oki_banking_w);
+ TILE_GET_INFO_MEMBER(get_speedspn_tile_info);
};
diff --git a/src/mame/includes/splash.h b/src/mame/includes/splash.h
index 490db307fae..9a49d7b0884 100644
--- a/src/mame/includes/splash.h
+++ b/src/mame/includes/splash.h
@@ -57,6 +57,8 @@ public:
DECLARE_DRIVER_INIT(funystrp);
DECLARE_DRIVER_INIT(splash);
DECLARE_DRIVER_INIT(rebus);
+ TILE_GET_INFO_MEMBER(get_tile_info_splash_tilemap0);
+ TILE_GET_INFO_MEMBER(get_tile_info_splash_tilemap1);
};
diff --git a/src/mame/includes/sprcros2.h b/src/mame/includes/sprcros2.h
index e1a04ce95a4..b3b1db5566e 100644
--- a/src/mame/includes/sprcros2.h
+++ b/src/mame/includes/sprcros2.h
@@ -25,6 +25,8 @@ public:
DECLARE_WRITE8_MEMBER(sprcros2_bgvideoram_w);
DECLARE_WRITE8_MEMBER(sprcros2_bgscrollx_w);
DECLARE_WRITE8_MEMBER(sprcros2_bgscrolly_w);
+ TILE_GET_INFO_MEMBER(get_sprcros2_bgtile_info);
+ TILE_GET_INFO_MEMBER(get_sprcros2_fgtile_info);
};
diff --git a/src/mame/includes/sprint2.h b/src/mame/includes/sprint2.h
index b09af10cc41..ddca0f2bfcd 100644
--- a/src/mame/includes/sprint2.h
+++ b/src/mame/includes/sprint2.h
@@ -61,6 +61,7 @@ public:
DECLARE_DRIVER_INIT(sprint1);
DECLARE_DRIVER_INIT(sprint2);
DECLARE_DRIVER_INIT(dominos);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/sprint4.h b/src/mame/includes/sprint4.h
index be0a93f48cd..4b01410ded2 100644
--- a/src/mame/includes/sprint4.h
+++ b/src/mame/includes/sprint4.h
@@ -34,6 +34,7 @@ public:
DECLARE_WRITE8_MEMBER(sprint4_screech_4_w);
DECLARE_WRITE8_MEMBER(sprint4_bang_w);
DECLARE_WRITE8_MEMBER(sprint4_attract_w);
+ TILE_GET_INFO_MEMBER(sprint4_tile_info);
};
diff --git a/src/mame/includes/sprint8.h b/src/mame/includes/sprint8.h
index 0d39c36bf4f..62f720aa3bd 100644
--- a/src/mame/includes/sprint8.h
+++ b/src/mame/includes/sprint8.h
@@ -30,6 +30,8 @@ public:
DECLARE_WRITE8_MEMBER(sprint8_lockout_w);
DECLARE_WRITE8_MEMBER(sprint8_int_reset_w);
DECLARE_WRITE8_MEMBER(sprint8_video_ram_w);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
+ TILE_GET_INFO_MEMBER(get_tile_info2);
};
diff --git a/src/mame/includes/srumbler.h b/src/mame/includes/srumbler.h
index 8ff45286fc7..9296aa1a0a1 100644
--- a/src/mame/includes/srumbler.h
+++ b/src/mame/includes/srumbler.h
@@ -23,6 +23,8 @@ public:
DECLARE_WRITE8_MEMBER(srumbler_background_w);
DECLARE_WRITE8_MEMBER(srumbler_4009_w);
DECLARE_WRITE8_MEMBER(srumbler_scroll_w);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/sslam.h b/src/mame/includes/sslam.h
index 950ef05b8b3..3d55e5c60a3 100644
--- a/src/mame/includes/sslam.h
+++ b/src/mame/includes/sslam.h
@@ -44,6 +44,10 @@ public:
DECLARE_WRITE16_MEMBER(sslam_snd_w);
DECLARE_DRIVER_INIT(sslam);
DECLARE_DRIVER_INIT(powerbls);
+ TILE_GET_INFO_MEMBER(get_sslam_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_sslam_md_tile_info);
+ TILE_GET_INFO_MEMBER(get_sslam_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_powerbls_bg_tile_info);
};
diff --git a/src/mame/includes/ssozumo.h b/src/mame/includes/ssozumo.h
index 56d91e45c81..1a7258c1da8 100644
--- a/src/mame/includes/ssozumo.h
+++ b/src/mame/includes/ssozumo.h
@@ -31,6 +31,8 @@ public:
DECLARE_WRITE8_MEMBER(ssozumo_scroll_w);
DECLARE_WRITE8_MEMBER(ssozumo_flipscreen_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/ssrj.h b/src/mame/includes/ssrj.h
index 108ea9ba83b..5a09f6dec8c 100644
--- a/src/mame/includes/ssrj.h
+++ b/src/mame/includes/ssrj.h
@@ -23,6 +23,9 @@ public:
DECLARE_WRITE8_MEMBER(ssrj_vram1_w);
DECLARE_WRITE8_MEMBER(ssrj_vram2_w);
DECLARE_WRITE8_MEMBER(ssrj_vram4_w);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
+ TILE_GET_INFO_MEMBER(get_tile_info2);
+ TILE_GET_INFO_MEMBER(get_tile_info4);
};
diff --git a/src/mame/includes/ssv.h b/src/mame/includes/ssv.h
index fdf299844d2..fa57476c9cb 100644
--- a/src/mame/includes/ssv.h
+++ b/src/mame/includes/ssv.h
@@ -120,6 +120,7 @@ public:
DECLARE_DRIVER_INIT(jsk);
DECLARE_DRIVER_INIT(twineag2);
DECLARE_DRIVER_INIT(mslider);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
};
/*----------- defined in video/ssv.c -----------*/
diff --git a/src/mame/includes/stadhero.h b/src/mame/includes/stadhero.h
index ff3873769a9..b1a333daa29 100644
--- a/src/mame/includes/stadhero.h
+++ b/src/mame/includes/stadhero.h
@@ -13,6 +13,7 @@ public:
DECLARE_READ16_MEMBER(stadhero_control_r);
DECLARE_WRITE16_MEMBER(stadhero_control_w);
DECLARE_WRITE16_MEMBER(stadhero_pf1_data_w);
+ TILE_GET_INFO_MEMBER(get_pf1_tile_info);
};
diff --git a/src/mame/includes/starshp1.h b/src/mame/includes/starshp1.h
index 7b39e47dab8..44e0c701dba 100644
--- a/src/mame/includes/starshp1.h
+++ b/src/mame/includes/starshp1.h
@@ -75,6 +75,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(collision_latch_r);
DECLARE_WRITE8_MEMBER(starshp1_audio_w);
DECLARE_WRITE8_MEMBER(starshp1_analog_out_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/stfight.h b/src/mame/includes/stfight.h
index 7f034b8d1fe..ed2f18b6828 100644
--- a/src/mame/includes/stfight.h
+++ b/src/mame/includes/stfight.h
@@ -37,6 +37,11 @@ public:
DECLARE_WRITE8_MEMBER(stfight_vh_latch_w);
DECLARE_DRIVER_INIT(stfight);
DECLARE_DRIVER_INIT(empcity);
+ TILEMAP_MAPPER_MEMBER(fg_scan);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILEMAP_MAPPER_MEMBER(bg_scan);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/stlforce.h b/src/mame/includes/stlforce.h
index 0401c70fb9b..6d3b750c034 100644
--- a/src/mame/includes/stlforce.h
+++ b/src/mame/includes/stlforce.h
@@ -38,6 +38,10 @@ public:
DECLARE_WRITE16_MEMBER(oki_bank_w);
DECLARE_DRIVER_INIT(twinbrat);
DECLARE_DRIVER_INIT(stlforce);
+ TILE_GET_INFO_MEMBER(get_stlforce_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_stlforce_mlow_tile_info);
+ TILE_GET_INFO_MEMBER(get_stlforce_mhigh_tile_info);
+ TILE_GET_INFO_MEMBER(get_stlforce_tx_tile_info);
};
diff --git a/src/mame/includes/strnskil.h b/src/mame/includes/strnskil.h
index eca0cfd95c6..329a97afbd3 100644
--- a/src/mame/includes/strnskil.h
+++ b/src/mame/includes/strnskil.h
@@ -27,6 +27,7 @@ public:
DECLARE_WRITE8_MEMBER(strnskil_scrl_ctrl_w);
DECLARE_DRIVER_INIT(banbam);
DECLARE_DRIVER_INIT(pettanp);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/suna8.h b/src/mame/includes/suna8.h
index 31872fd0eb2..b03fc3f7ecd 100644
--- a/src/mame/includes/suna8.h
+++ b/src/mame/includes/suna8.h
@@ -88,6 +88,7 @@ public:
DECLARE_DRIVER_INIT(brickzn);
DECLARE_DRIVER_INIT(hardhead);
DECLARE_DRIVER_INIT(suna8);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/superqix.h b/src/mame/includes/superqix.h
index 1f0cb680cc0..c8b1154393a 100644
--- a/src/mame/includes/superqix.h
+++ b/src/mame/includes/superqix.h
@@ -70,6 +70,8 @@ public:
DECLARE_DRIVER_INIT(sqix);
DECLARE_DRIVER_INIT(perestro);
DECLARE_DRIVER_INIT(sqixa);
+ TILE_GET_INFO_MEMBER(pb_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(sqix_get_bg_tile_info);
};
diff --git a/src/mame/includes/suprloco.h b/src/mame/includes/suprloco.h
index 99441b09afd..d8154a70333 100644
--- a/src/mame/includes/suprloco.h
+++ b/src/mame/includes/suprloco.h
@@ -19,6 +19,7 @@ public:
DECLARE_WRITE8_MEMBER(suprloco_control_w);
DECLARE_READ8_MEMBER(suprloco_control_r);
DECLARE_DRIVER_INIT(suprloco);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/suprnova.h b/src/mame/includes/suprnova.h
index 04fc867404b..ccb2f841eba 100644
--- a/src/mame/includes/suprnova.h
+++ b/src/mame/includes/suprnova.h
@@ -124,6 +124,8 @@ public:
DECLARE_DRIVER_INIT(senknow);
DECLARE_DRIVER_INIT(galpani4);
DECLARE_DRIVER_INIT(ryouran);
+ TILE_GET_INFO_MEMBER(get_tilemap_A_tile_info);
+ TILE_GET_INFO_MEMBER(get_tilemap_B_tile_info);
};
diff --git a/src/mame/includes/suprridr.h b/src/mame/includes/suprridr.h
index 26409f208a9..1e4f4758611 100644
--- a/src/mame/includes/suprridr.h
+++ b/src/mame/includes/suprridr.h
@@ -36,6 +36,8 @@ public:
DECLARE_WRITE8_MEMBER(suprridr_fgram_w);
DECLARE_CUSTOM_INPUT_MEMBER(suprridr_control_r);
DECLARE_READ8_MEMBER(sound_data_r);
+ TILE_GET_INFO_MEMBER(get_tile_info);
+ TILE_GET_INFO_MEMBER(get_tile_info2);
};
diff --git a/src/mame/includes/suprslam.h b/src/mame/includes/suprslam.h
index 868000c41e6..f7f3a609b9f 100644
--- a/src/mame/includes/suprslam.h
+++ b/src/mame/includes/suprslam.h
@@ -44,6 +44,8 @@ public:
DECLARE_WRITE16_MEMBER(suprslam_screen_videoram_w);
DECLARE_WRITE16_MEMBER(suprslam_bg_videoram_w);
DECLARE_WRITE16_MEMBER(suprslam_bank_w);
+ TILE_GET_INFO_MEMBER(get_suprslam_tile_info);
+ TILE_GET_INFO_MEMBER(get_suprslam_bg_tile_info);
};
diff --git a/src/mame/includes/system1.h b/src/mame/includes/system1.h
index 1e3aae7a0eb..679f7eb47f1 100644
--- a/src/mame/includes/system1.h
+++ b/src/mame/includes/system1.h
@@ -98,6 +98,7 @@ public:
DECLARE_DRIVER_INIT(seganinj);
DECLARE_DRIVER_INIT(gardia);
DECLARE_DRIVER_INIT(spatter);
+ TILE_GET_INFO_MEMBER(tile_get_info);
};
diff --git a/src/mame/includes/system16.h b/src/mame/includes/system16.h
index 808b5d1aa68..d0ffa7fdd5d 100644
--- a/src/mame/includes/system16.h
+++ b/src/mame/includes/system16.h
@@ -173,6 +173,16 @@ public:
DECLARE_DRIVER_INIT(tturfbl);
DECLARE_DRIVER_INIT(goldnaxeb1);
DECLARE_DRIVER_INIT(common);
+ TILEMAP_MAPPER_MEMBER(sys16_bg_map);
+ TILEMAP_MAPPER_MEMBER(sys16_text_map);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg2_tile_info);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
+ TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_infotxt);
+ TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_info0);
+ TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_info1);
};
/*----------- defined in video/system16.c -----------*/
diff --git a/src/mame/includes/tagteam.h b/src/mame/includes/tagteam.h
index 0bb4c88490b..38e41a36b61 100644
--- a/src/mame/includes/tagteam.h
+++ b/src/mame/includes/tagteam.h
@@ -24,6 +24,7 @@ public:
DECLARE_WRITE8_MEMBER(tagteam_control_w);
DECLARE_WRITE8_MEMBER(tagteam_flipscreen_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/tail2nos.h b/src/mame/includes/tail2nos.h
index de7208397db..0d4e9a62729 100644
--- a/src/mame/includes/tail2nos.h
+++ b/src/mame/includes/tail2nos.h
@@ -34,6 +34,7 @@ public:
DECLARE_WRITE16_MEMBER(tail2nos_zoomdata_w);
DECLARE_WRITE16_MEMBER(tail2nos_gfxbank_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/taito_f3.h b/src/mame/includes/taito_f3.h
index 9c44b340366..750b76ae29f 100644
--- a/src/mame/includes/taito_f3.h
+++ b/src/mame/includes/taito_f3.h
@@ -258,6 +258,16 @@ public:
DECLARE_DRIVER_INIT(cleopatr);
DECLARE_DRIVER_INIT(scfinals);
DECLARE_DRIVER_INIT(pbobbl2x);
+ TILE_GET_INFO_MEMBER(get_tile_info1);
+ TILE_GET_INFO_MEMBER(get_tile_info2);
+ TILE_GET_INFO_MEMBER(get_tile_info3);
+ TILE_GET_INFO_MEMBER(get_tile_info4);
+ TILE_GET_INFO_MEMBER(get_tile_info5);
+ TILE_GET_INFO_MEMBER(get_tile_info6);
+ TILE_GET_INFO_MEMBER(get_tile_info7);
+ TILE_GET_INFO_MEMBER(get_tile_info8);
+ TILE_GET_INFO_MEMBER(get_tile_info_vram);
+ TILE_GET_INFO_MEMBER(get_tile_info_pixel);
};
diff --git a/src/mame/includes/taito_l.h b/src/mame/includes/taito_l.h
index 310e6fcfe43..f731ae78ff0 100644
--- a/src/mame/includes/taito_l.h
+++ b/src/mame/includes/taito_l.h
@@ -104,6 +104,9 @@ public:
DECLARE_WRITE8_MEMBER(champwr_msm5205_volume_w);
DECLARE_WRITE8_MEMBER(portA_w);
DECLARE_DRIVER_INIT(plottinga);
+ TILE_GET_INFO_MEMBER(get_bg18_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg19_tile_info);
+ TILE_GET_INFO_MEMBER(get_ch1a_tile_info);
};
/*----------- defined in video/taito_l.c -----------*/
diff --git a/src/mame/includes/taitojc.h b/src/mame/includes/taitojc.h
index 1515e1ed829..f8c75ec7305 100644
--- a/src/mame/includes/taitojc.h
+++ b/src/mame/includes/taitojc.h
@@ -156,6 +156,7 @@ public:
DECLARE_DRIVER_INIT(dendego2);
DECLARE_DRIVER_INIT(dangcurv);
DECLARE_DRIVER_INIT(taitojc);
+ TILE_GET_INFO_MEMBER(taitojc_tile_info);
};
diff --git a/src/mame/includes/tank8.h b/src/mame/includes/tank8.h
index 6022d19cd39..4001ad8d862 100644
--- a/src/mame/includes/tank8.h
+++ b/src/mame/includes/tank8.h
@@ -55,6 +55,7 @@ public:
DECLARE_WRITE8_MEMBER(tank8_attract_w);
DECLARE_WRITE8_MEMBER(tank8_motor_w);
DECLARE_DRIVER_INIT(decode);
+ TILE_GET_INFO_MEMBER(tank8_get_tile_info);
};
diff --git a/src/mame/includes/tankbatt.h b/src/mame/includes/tankbatt.h
index 23f11562711..9172b9df5e9 100644
--- a/src/mame/includes/tankbatt.h
+++ b/src/mame/includes/tankbatt.h
@@ -26,6 +26,7 @@ public:
DECLARE_WRITE8_MEMBER(tankbatt_coin_lockout_w);
DECLARE_WRITE8_MEMBER(tankbatt_videoram_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/tankbust.h b/src/mame/includes/tankbust.h
index 89e69226b03..1bce8779b78 100644
--- a/src/mame/includes/tankbust.h
+++ b/src/mame/includes/tankbust.h
@@ -37,6 +37,8 @@ public:
DECLARE_WRITE8_MEMBER(tankbust_yscroll_w);
DECLARE_READ8_MEMBER(tankbust_soundlatch_r);
DECLARE_READ8_MEMBER(tankbust_soundtimer_r);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_txt_tile_info);
};
diff --git a/src/mame/includes/taotaido.h b/src/mame/includes/taotaido.h
index 4c1a5ed574c..b9cb6e08dfa 100644
--- a/src/mame/includes/taotaido.h
+++ b/src/mame/includes/taotaido.h
@@ -27,6 +27,8 @@ public:
DECLARE_WRITE16_MEMBER(taotaido_sprite_character_bank_select_w);
DECLARE_WRITE16_MEMBER(taotaido_tileregs_w);
DECLARE_WRITE16_MEMBER(taotaido_bgvideoram_w);
+ TILE_GET_INFO_MEMBER(taotaido_bg_tile_info);
+ TILEMAP_MAPPER_MEMBER(taotaido_tilemap_scan_rows);
};
diff --git a/src/mame/includes/targeth.h b/src/mame/includes/targeth.h
index 0df17b2d92a..b04edcb8211 100644
--- a/src/mame/includes/targeth.h
+++ b/src/mame/includes/targeth.h
@@ -17,6 +17,8 @@ public:
DECLARE_WRITE16_MEMBER(OKIM6295_bankswitch_w);
DECLARE_WRITE16_MEMBER(targeth_coin_counter_w);
DECLARE_WRITE16_MEMBER(targeth_vram_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_targeth_screen0);
+ TILE_GET_INFO_MEMBER(get_tile_info_targeth_screen1);
};
diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h
index d2b1aebe83b..f9af3a96357 100644
--- a/src/mame/includes/tatsumi.h
+++ b/src/mame/includes/tatsumi.h
@@ -112,6 +112,9 @@ public:
DECLARE_DRIVER_INIT(roundup5);
DECLARE_DRIVER_INIT(apache3);
DECLARE_DRIVER_INIT(cyclwarr);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
+ TILE_GET_INFO_MEMBER(get_tile_info_bigfight_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_bigfight_1);
};
diff --git a/src/mame/includes/tbowl.h b/src/mame/includes/tbowl.h
index 9006e3ddcfa..cab6a639027 100644
--- a/src/mame/includes/tbowl.h
+++ b/src/mame/includes/tbowl.h
@@ -45,6 +45,9 @@ public:
DECLARE_WRITE8_MEMBER(tbowl_bg2xscroll_hi);
DECLARE_WRITE8_MEMBER(tbowl_bg2yscroll_lo);
DECLARE_WRITE8_MEMBER(tbowl_bg2yscroll_hi);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
};
diff --git a/src/mame/includes/tceptor.h b/src/mame/includes/tceptor.h
index 6ad2001f599..e860020048b 100644
--- a/src/mame/includes/tceptor.h
+++ b/src/mame/includes/tceptor.h
@@ -53,6 +53,9 @@ public:
DECLARE_WRITE8_MEMBER(voice_w);
optional_device<namco_c45_road_device> m_c45_road;
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
};
diff --git a/src/mame/includes/tecmo.h b/src/mame/includes/tecmo.h
index 0f064bfbb30..ec58bf24fcb 100644
--- a/src/mame/includes/tecmo.h
+++ b/src/mame/includes/tecmo.h
@@ -41,6 +41,11 @@ public:
DECLARE_DRIVER_INIT(rygar);
DECLARE_DRIVER_INIT(backfirt);
DECLARE_DRIVER_INIT(gemini);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(gemini_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(gemini_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/tecmo16.h b/src/mame/includes/tecmo16.h
index e7e84867005..93093817cd2 100644
--- a/src/mame/includes/tecmo16.h
+++ b/src/mame/includes/tecmo16.h
@@ -43,6 +43,9 @@ public:
DECLARE_WRITE16_MEMBER(tecmo16_scroll2_y_w);
DECLARE_WRITE16_MEMBER(tecmo16_scroll_char_x_w);
DECLARE_WRITE16_MEMBER(tecmo16_scroll_char_y_w);
+ TILE_GET_INFO_MEMBER(fg_get_tile_info);
+ TILE_GET_INFO_MEMBER(bg_get_tile_info);
+ TILE_GET_INFO_MEMBER(tx_get_tile_info);
};
diff --git a/src/mame/includes/tecmosys.h b/src/mame/includes/tecmosys.h
index a2a0e64815a..a0341240a52 100644
--- a/src/mame/includes/tecmosys.h
+++ b/src/mame/includes/tecmosys.h
@@ -73,6 +73,10 @@ public:
DECLARE_DRIVER_INIT(tkdensha);
DECLARE_DRIVER_INIT(deroon);
DECLARE_DRIVER_INIT(tkdensho);
+ TILE_GET_INFO_MEMBER(get_bg0tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/tehkanwc.h b/src/mame/includes/tehkanwc.h
index b16f8015c21..c92e37e2284 100644
--- a/src/mame/includes/tehkanwc.h
+++ b/src/mame/includes/tehkanwc.h
@@ -43,6 +43,8 @@ public:
DECLARE_WRITE8_MEMBER(tehkanwc_portB_w);
DECLARE_WRITE8_MEMBER(msm_reset_w);
DECLARE_DRIVER_INIT(teedoff);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/terracre.h b/src/mame/includes/terracre.h
index 98b50ef7c0c..981ca2311b3 100644
--- a/src/mame/includes/terracre.h
+++ b/src/mame/includes/terracre.h
@@ -31,6 +31,8 @@ public:
DECLARE_DRIVER_INIT(amazon);
DECLARE_DRIVER_INIT(amatelas);
DECLARE_DRIVER_INIT(horekid);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/tetrisp2.h b/src/mame/includes/tetrisp2.h
index c268a5a1ace..438fab5502d 100644
--- a/src/mame/includes/tetrisp2.h
+++ b/src/mame/includes/tetrisp2.h
@@ -95,6 +95,13 @@ public:
DECLARE_DRIVER_INIT(rockn);
DECLARE_DRIVER_INIT(rockn3);
DECLARE_DRIVER_INIT(rocknms);
+ TILE_GET_INFO_MEMBER(get_tile_info_bg);
+ TILE_GET_INFO_MEMBER(get_tile_info_fg);
+ TILE_GET_INFO_MEMBER(get_tile_info_rot);
+ TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_bg);
+ TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_fg);
+ TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_rot);
+ TILE_GET_INFO_MEMBER(stepstag_get_tile_info_fg);
};
class stepstag_state : public tetrisp2_state
diff --git a/src/mame/includes/thedeep.h b/src/mame/includes/thedeep.h
index 2797f1d2dc6..9ff2b8de7da 100644
--- a/src/mame/includes/thedeep.h
+++ b/src/mame/includes/thedeep.h
@@ -43,6 +43,9 @@ public:
DECLARE_READ8_MEMBER(thedeep_p0_r);
DECLARE_WRITE8_MEMBER(thedeep_vram_0_w);
DECLARE_WRITE8_MEMBER(thedeep_vram_1_w);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_back);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
};
diff --git a/src/mame/includes/thepit.h b/src/mame/includes/thepit.h
index 1d6087ce6b3..d90825561c2 100644
--- a/src/mame/includes/thepit.h
+++ b/src/mame/includes/thepit.h
@@ -33,6 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(intrepid_graphics_bank_w);
DECLARE_READ8_MEMBER(thepit_input_port_0_r);
DECLARE_DRIVER_INIT(rtriv);
+ TILE_GET_INFO_MEMBER(solid_get_tile_info);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/thoop2.h b/src/mame/includes/thoop2.h
index f472064fbab..e0f0a6797d1 100644
--- a/src/mame/includes/thoop2.h
+++ b/src/mame/includes/thoop2.h
@@ -17,6 +17,8 @@ public:
DECLARE_WRITE16_MEMBER(thoop2_coin_w);
DECLARE_READ16_MEMBER(DS5002FP_R);
DECLARE_WRITE16_MEMBER(thoop2_vram_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_thoop2_screen0);
+ TILE_GET_INFO_MEMBER(get_tile_info_thoop2_screen1);
};
diff --git a/src/mame/includes/thunderj.h b/src/mame/includes/thunderj.h
index 9e20b46c0ed..14a20aa616f 100644
--- a/src/mame/includes/thunderj.h
+++ b/src/mame/includes/thunderj.h
@@ -18,6 +18,9 @@ public:
DECLARE_READ16_MEMBER(thunderj_atarivc_r);
DECLARE_WRITE16_MEMBER(thunderj_atarivc_w);
DECLARE_DRIVER_INIT(thunderj);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
};
diff --git a/src/mame/includes/tiamc1.h b/src/mame/includes/tiamc1.h
index 1086dd2b32a..b1353aaec63 100644
--- a/src/mame/includes/tiamc1.h
+++ b/src/mame/includes/tiamc1.h
@@ -28,6 +28,8 @@ public:
DECLARE_WRITE8_MEMBER(tiamc1_bg_vshift_w);
DECLARE_WRITE8_MEMBER(tiamc1_bg_hshift_w);
DECLARE_WRITE8_MEMBER(tiamc1_palette_w);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
};
diff --git a/src/mame/includes/tigeroad.h b/src/mame/includes/tigeroad.h
index b3d803d51e9..fe27f1947ed 100644
--- a/src/mame/includes/tigeroad.h
+++ b/src/mame/includes/tigeroad.h
@@ -23,6 +23,9 @@ public:
DECLARE_WRITE8_MEMBER(msm5205_w);
DECLARE_DRIVER_INIT(f1dream);
DECLARE_DRIVER_INIT(tigeroad);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILEMAP_MAPPER_MEMBER(tigeroad_tilemap_scan);
};
diff --git a/src/mame/includes/timelimt.h b/src/mame/includes/timelimt.h
index aec9ba328e5..64a7dda4e4f 100644
--- a/src/mame/includes/timelimt.h
+++ b/src/mame/includes/timelimt.h
@@ -22,6 +22,8 @@ public:
DECLARE_WRITE8_MEMBER(timelimt_scroll_x_lsb_w);
DECLARE_WRITE8_MEMBER(timelimt_scroll_x_msb_w);
DECLARE_WRITE8_MEMBER(timelimt_scroll_y_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/timeplt.h b/src/mame/includes/timeplt.h
index 9bf2fc83ff5..44acdeae6fa 100644
--- a/src/mame/includes/timeplt.h
+++ b/src/mame/includes/timeplt.h
@@ -43,6 +43,8 @@ public:
DECLARE_READ8_MEMBER(timeplt_scanline_r);
DECLARE_CUSTOM_INPUT_MEMBER(chkun_hopper_status_r);
DECLARE_WRITE8_MEMBER(chkun_sound_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
+ TILE_GET_INFO_MEMBER(get_chkun_tile_info);
};
diff --git a/src/mame/includes/tmnt.h b/src/mame/includes/tmnt.h
index d5d33a3b31e..df4f94f0b7a 100644
--- a/src/mame/includes/tmnt.h
+++ b/src/mame/includes/tmnt.h
@@ -119,6 +119,8 @@ public:
DECLARE_DRIVER_INIT(mia);
DECLARE_DRIVER_INIT(tmnt);
DECLARE_DRIVER_INIT(cuebrick);
+ TILE_GET_INFO_MEMBER(glfgreat_get_roz_tile_info);
+ TILE_GET_INFO_MEMBER(prmrsocr_get_roz_tile_info);
};
diff --git a/src/mame/includes/toaplan1.h b/src/mame/includes/toaplan1.h
index 99aa6bce182..061c5615140 100644
--- a/src/mame/includes/toaplan1.h
+++ b/src/mame/includes/toaplan1.h
@@ -128,6 +128,10 @@ public:
DECLARE_DRIVER_INIT(toaplan1);
DECLARE_DRIVER_INIT(demonwld);
DECLARE_DRIVER_INIT(vimana);
+ TILE_GET_INFO_MEMBER(get_pf1_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf2_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf3_tile_info);
+ TILE_GET_INFO_MEMBER(get_pf4_tile_info);
};
diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h
index effed083375..2b3a6936980 100644
--- a/src/mame/includes/toaplan2.h
+++ b/src/mame/includes/toaplan2.h
@@ -109,6 +109,7 @@ public:
DECLARE_DRIVER_INIT(fixeightbl);
DECLARE_DRIVER_INIT(vfive);
DECLARE_DRIVER_INIT(batrider);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
/*----------- defined in video/toaplan2.c -----------*/
diff --git a/src/mame/includes/toki.h b/src/mame/includes/toki.h
index 53ec18b0230..ae30fc43be4 100644
--- a/src/mame/includes/toki.h
+++ b/src/mame/includes/toki.h
@@ -34,6 +34,9 @@ public:
DECLARE_DRIVER_INIT(tokib);
DECLARE_DRIVER_INIT(jujuba);
DECLARE_DRIVER_INIT(toki);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
+ TILE_GET_INFO_MEMBER(get_back_tile_info);
+ TILE_GET_INFO_MEMBER(get_fore_tile_info);
};
diff --git a/src/mame/includes/toobin.h b/src/mame/includes/toobin.h
index e0b4097537f..ff883a3001f 100644
--- a/src/mame/includes/toobin.h
+++ b/src/mame/includes/toobin.h
@@ -20,6 +20,8 @@ public:
DECLARE_WRITE16_MEMBER(interrupt_scan_w);
DECLARE_READ16_MEMBER(special_port1_r);
DECLARE_DRIVER_INIT(toobin);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/toypop.h b/src/mame/includes/toypop.h
index e6d27d7a387..d5b2584489d 100644
--- a/src/mame/includes/toypop.h
+++ b/src/mame/includes/toypop.h
@@ -44,6 +44,8 @@ public:
DECLARE_WRITE8_MEMBER(out_coin0);
DECLARE_WRITE8_MEMBER(out_coin1);
DECLARE_WRITE8_MEMBER(flip);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/tp84.h b/src/mame/includes/tp84.h
index 3a3511970c0..57e8b58d996 100644
--- a/src/mame/includes/tp84.h
+++ b/src/mame/includes/tp84.h
@@ -35,6 +35,8 @@ public:
DECLARE_WRITE8_MEMBER(sub_irq_mask_w);
DECLARE_WRITE8_MEMBER(tp84_spriteram_w);
DECLARE_READ8_MEMBER(tp84_scanline_r);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/trackfld.h b/src/mame/includes/trackfld.h
index 695ed239fd2..d7d4206daee 100644
--- a/src/mame/includes/trackfld.h
+++ b/src/mame/includes/trackfld.h
@@ -59,6 +59,7 @@ public:
UINT8 m_SN76496_latch;
DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/travrusa.h b/src/mame/includes/travrusa.h
index 213ca911839..c2dc9590a02 100644
--- a/src/mame/includes/travrusa.h
+++ b/src/mame/includes/travrusa.h
@@ -19,6 +19,7 @@ public:
DECLARE_WRITE8_MEMBER(travrusa_flipscreen_w);
DECLARE_DRIVER_INIT(shtridra);
DECLARE_DRIVER_INIT(motorace);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
/*----------- defined in video/travrusa.c -----------*/
diff --git a/src/mame/includes/triplhnt.h b/src/mame/includes/triplhnt.h
index 115bfc394dc..75ea8857a5b 100644
--- a/src/mame/includes/triplhnt.h
+++ b/src/mame/includes/triplhnt.h
@@ -47,6 +47,7 @@ public:
DECLARE_READ8_MEMBER(triplhnt_misc_r);
DECLARE_READ8_MEMBER(triplhnt_da_latch_r);
DECLARE_DRIVER_INIT(triplhnt);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/trucocl.h b/src/mame/includes/trucocl.h
index aa6b42250e3..ec0ac290c95 100644
--- a/src/mame/includes/trucocl.h
+++ b/src/mame/includes/trucocl.h
@@ -18,6 +18,7 @@ public:
DECLARE_WRITE8_MEMBER(trucocl_colorram_w);
DECLARE_WRITE8_MEMBER(audio_dac_w);
DECLARE_DRIVER_INIT(trucocl);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/tryout.h b/src/mame/includes/tryout.h
index 41caac6deac..3c79b196437 100644
--- a/src/mame/includes/tryout.h
+++ b/src/mame/includes/tryout.h
@@ -28,6 +28,10 @@ public:
DECLARE_WRITE8_MEMBER(tryout_vram_bankswitch_w);
DECLARE_WRITE8_MEMBER(tryout_flipscreen_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILEMAP_MAPPER_MEMBER(get_fg_memory_offset);
+ TILEMAP_MAPPER_MEMBER(get_bg_memory_offset);
};
diff --git a/src/mame/includes/tsamurai.h b/src/mame/includes/tsamurai.h
index d48720deb83..1508859cadd 100644
--- a/src/mame/includes/tsamurai.h
+++ b/src/mame/includes/tsamurai.h
@@ -52,6 +52,9 @@ public:
DECLARE_WRITE8_MEMBER(tsamurai_fg_videoram_w);
DECLARE_WRITE8_MEMBER(tsamurai_fg_colorram_w);
DECLARE_WRITE8_MEMBER(vsgongf_color_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_vsgongf_tile_info);
};
diff --git a/src/mame/includes/tumbleb.h b/src/mame/includes/tumbleb.h
index 7ff57dd0052..662e10e89c4 100644
--- a/src/mame/includes/tumbleb.h
+++ b/src/mame/includes/tumbleb.h
@@ -72,6 +72,16 @@ public:
DECLARE_DRIVER_INIT(tumbleb2);
DECLARE_DRIVER_INIT(chokchok);
DECLARE_DRIVER_INIT(fncywld);
+ TILEMAP_MAPPER_MEMBER(tumblep_scan);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fncywld_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_fncywld_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(get_fncywld_fg_tile_info);
+ TILE_GET_INFO_MEMBER(pangpang_get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(pangpang_get_bg2_tile_info);
+ TILE_GET_INFO_MEMBER(pangpang_get_fg_tile_info);
};
/*----------- defined in video/tumbleb.c -----------*/
diff --git a/src/mame/includes/tunhunt.h b/src/mame/includes/tunhunt.h
index ccd545e987f..31d8377bf50 100644
--- a/src/mame/includes/tunhunt.h
+++ b/src/mame/includes/tunhunt.h
@@ -21,6 +21,7 @@ public:
DECLARE_READ8_MEMBER(dsw2_2r);
DECLARE_READ8_MEMBER(dsw2_3r);
DECLARE_READ8_MEMBER(dsw2_4r);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/turbo.h b/src/mame/includes/turbo.h
index 5e7b0e76cf9..8b0e05ef537 100644
--- a/src/mame/includes/turbo.h
+++ b/src/mame/includes/turbo.h
@@ -121,6 +121,7 @@ public:
DECLARE_WRITE8_MEMBER(buckrog_i8255_0_w);
DECLARE_DRIVER_INIT(buckrog_enc);
DECLARE_DRIVER_INIT(turbo_enc);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/twin16.h b/src/mame/includes/twin16.h
index 8c1c99400ae..ed5eac7e0d6 100644
--- a/src/mame/includes/twin16.h
+++ b/src/mame/includes/twin16.h
@@ -57,6 +57,7 @@ public:
DECLARE_DRIVER_INIT(fround);
DECLARE_DRIVER_INIT(twin16);
DECLARE_DRIVER_INIT(cuebrickj);
+ TILE_GET_INFO_MEMBER(get_text_tile_info);
};
diff --git a/src/mame/includes/twincobr.h b/src/mame/includes/twincobr.h
index 22a244857de..1a63717aac8 100644
--- a/src/mame/includes/twincobr.h
+++ b/src/mame/includes/twincobr.h
@@ -98,6 +98,9 @@ public:
DECLARE_READ8_MEMBER(wardner_sprite_r);
DECLARE_WRITE8_MEMBER(wardner_sprite_w);
DECLARE_DRIVER_INIT(twincobr);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/ultratnk.h b/src/mame/includes/ultratnk.h
index fbe954a2cd8..b6fdd71a258 100644
--- a/src/mame/includes/ultratnk.h
+++ b/src/mame/includes/ultratnk.h
@@ -35,6 +35,7 @@ public:
DECLARE_WRITE8_MEMBER(ultratnk_fire_2_w);
DECLARE_WRITE8_MEMBER(ultratnk_attract_w);
DECLARE_WRITE8_MEMBER(ultratnk_explosion_w);
+ TILE_GET_INFO_MEMBER(ultratnk_tile_info);
};
diff --git a/src/mame/includes/unico.h b/src/mame/includes/unico.h
index 326dc343e38..09701eeae4b 100644
--- a/src/mame/includes/unico.h
+++ b/src/mame/includes/unico.h
@@ -34,6 +34,8 @@ public:
DECLARE_WRITE32_MEMBER(unico_vram32_w);
DECLARE_WRITE16_MEMBER(burglarx_sound_bank_w);
DECLARE_WRITE32_MEMBER(zeropnt2_eeprom_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
+ TILE_GET_INFO_MEMBER(get_tile_info32);
};
diff --git a/src/mame/includes/usgames.h b/src/mame/includes/usgames.h
index e0b7a9d9ee9..62109c2b541 100644
--- a/src/mame/includes/usgames.h
+++ b/src/mame/includes/usgames.h
@@ -14,6 +14,7 @@ public:
DECLARE_WRITE8_MEMBER(lamps2_w);
DECLARE_WRITE8_MEMBER(usgames_videoram_w);
DECLARE_WRITE8_MEMBER(usgames_charram_w);
+ TILE_GET_INFO_MEMBER(get_usgames_tile_info);
};
diff --git a/src/mame/includes/vastar.h b/src/mame/includes/vastar.h
index b4a6d4d9a26..24cc7df4db1 100644
--- a/src/mame/includes/vastar.h
+++ b/src/mame/includes/vastar.h
@@ -41,6 +41,9 @@ public:
DECLARE_WRITE8_MEMBER(vastar_bg2videoram_w);
DECLARE_READ8_MEMBER(vastar_bg1videoram_r);
DECLARE_READ8_MEMBER(vastar_bg2videoram_r);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg2_tile_info);
};
diff --git a/src/mame/includes/vball.h b/src/mame/includes/vball.h
index acb2530c435..2a273551022 100644
--- a/src/mame/includes/vball.h
+++ b/src/mame/includes/vball.h
@@ -28,6 +28,8 @@ public:
DECLARE_WRITE8_MEMBER(vb_videoram_w);
DECLARE_READ8_MEMBER(vb_attrib_r);
DECLARE_WRITE8_MEMBER(vb_attrib_w);
+ TILEMAP_MAPPER_MEMBER(background_scan);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/videopin.h b/src/mame/includes/videopin.h
index 939fae01c38..c4dc48b1678 100644
--- a/src/mame/includes/videopin.h
+++ b/src/mame/includes/videopin.h
@@ -37,6 +37,8 @@ public:
DECLARE_WRITE8_MEMBER(videopin_out1_w);
DECLARE_WRITE8_MEMBER(videopin_out2_w);
DECLARE_WRITE8_MEMBER(videopin_note_dvsr_w);
+ TILEMAP_MAPPER_MEMBER(get_memory_offset);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/vindictr.h b/src/mame/includes/vindictr.h
index 3659ebff345..042187ac060 100644
--- a/src/mame/includes/vindictr.h
+++ b/src/mame/includes/vindictr.h
@@ -17,6 +17,8 @@ public:
UINT16 m_playfield_yscroll;
DECLARE_READ16_MEMBER(port1_r);
DECLARE_DRIVER_INIT(vindictr);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/vulgus.h b/src/mame/includes/vulgus.h
index 13c781ff7f0..663908a2d82 100644
--- a/src/mame/includes/vulgus.h
+++ b/src/mame/includes/vulgus.h
@@ -21,6 +21,8 @@ public:
DECLARE_WRITE8_MEMBER(vulgus_bgvideoram_w);
DECLARE_WRITE8_MEMBER(vulgus_c804_w);
DECLARE_WRITE8_MEMBER(vulgus_palette_bank_w);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/warpwarp.h b/src/mame/includes/warpwarp.h
index f2ef631e58e..4ed68d8dc9b 100644
--- a/src/mame/includes/warpwarp.h
+++ b/src/mame/includes/warpwarp.h
@@ -36,6 +36,10 @@ public:
DECLARE_DRIVER_INIT(sos);
DECLARE_DRIVER_INIT(kaitei);
DECLARE_DRIVER_INIT(bombbee);
+ TILEMAP_MAPPER_MEMBER(tilemap_scan);
+ TILE_GET_INFO_MEMBER(geebee_get_tile_info);
+ TILE_GET_INFO_MEMBER(navarone_get_tile_info);
+ TILE_GET_INFO_MEMBER(warpwarp_get_tile_info);
};
diff --git a/src/mame/includes/wc90.h b/src/mame/includes/wc90.h
index be578e253bd..52e571e98c5 100644
--- a/src/mame/includes/wc90.h
+++ b/src/mame/includes/wc90.h
@@ -45,6 +45,11 @@ public:
DECLARE_WRITE8_MEMBER(wc90_bgvideoram_w);
DECLARE_WRITE8_MEMBER(wc90_fgvideoram_w);
DECLARE_WRITE8_MEMBER(wc90_txvideoram_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
+ TILE_GET_INFO_MEMBER(track_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(track_get_fg_tile_info);
};
diff --git a/src/mame/includes/wc90b.h b/src/mame/includes/wc90b.h
index 946b8b2dc3f..ba15e4edc70 100644
--- a/src/mame/includes/wc90b.h
+++ b/src/mame/includes/wc90b.h
@@ -35,6 +35,9 @@ public:
DECLARE_WRITE8_MEMBER(wc90b_fgvideoram_w);
DECLARE_WRITE8_MEMBER(wc90b_txvideoram_w);
DECLARE_WRITE8_MEMBER(adpcm_control_w);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
};
diff --git a/src/mame/includes/wecleman.h b/src/mame/includes/wecleman.h
index 3c46c377f5e..b34d689571d 100644
--- a/src/mame/includes/wecleman.h
+++ b/src/mame/includes/wecleman.h
@@ -69,6 +69,9 @@ public:
DECLARE_WRITE8_MEMBER(hotchase_3_k007232_w);
DECLARE_DRIVER_INIT(wecleman);
DECLARE_DRIVER_INIT(hotchase);
+ TILE_GET_INFO_MEMBER(wecleman_get_txt_tile_info);
+ TILE_GET_INFO_MEMBER(wecleman_get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(wecleman_get_fg_tile_info);
};
diff --git a/src/mame/includes/welltris.h b/src/mame/includes/welltris.h
index 3a2234a6af6..94262a964ee 100644
--- a/src/mame/includes/welltris.h
+++ b/src/mame/includes/welltris.h
@@ -33,6 +33,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(pending_sound_r);
DECLARE_DRIVER_INIT(quiz18k);
DECLARE_DRIVER_INIT(welltris);
+ TILE_GET_INFO_MEMBER(get_welltris_tile_info);
};
diff --git a/src/mame/includes/wgp.h b/src/mame/includes/wgp.h
index b9eaab153c9..106d70bf1ae 100644
--- a/src/mame/includes/wgp.h
+++ b/src/mame/includes/wgp.h
@@ -61,6 +61,9 @@ public:
DECLARE_WRITE16_MEMBER(wgp_piv_ctrl_word_w);
DECLARE_DRIVER_INIT(wgp);
DECLARE_DRIVER_INIT(wgp2);
+ TILE_GET_INFO_MEMBER(get_piv0_tile_info);
+ TILE_GET_INFO_MEMBER(get_piv1_tile_info);
+ TILE_GET_INFO_MEMBER(get_piv2_tile_info);
};
diff --git a/src/mame/includes/williams.h b/src/mame/includes/williams.h
index bd3a097caf1..d11d3110e86 100644
--- a/src/mame/includes/williams.h
+++ b/src/mame/includes/williams.h
@@ -90,6 +90,7 @@ public:
DECLARE_DRIVER_INIT(tshoot);
DECLARE_DRIVER_INIT(robotron);
DECLARE_DRIVER_INIT(bubbles);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/wrally.h b/src/mame/includes/wrally.h
index 2faf1f55834..fee79c41330 100644
--- a/src/mame/includes/wrally.h
+++ b/src/mame/includes/wrally.h
@@ -21,6 +21,8 @@ public:
DECLARE_WRITE16_MEMBER(OKIM6295_bankswitch_w);
DECLARE_WRITE16_MEMBER(wrally_coin_counter_w);
DECLARE_WRITE16_MEMBER(wrally_coin_lockout_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_wrally_screen0);
+ TILE_GET_INFO_MEMBER(get_tile_info_wrally_screen1);
};
diff --git a/src/mame/includes/wwfsstar.h b/src/mame/includes/wwfsstar.h
index 246f0319092..868592b332c 100644
--- a/src/mame/includes/wwfsstar.h
+++ b/src/mame/includes/wwfsstar.h
@@ -22,6 +22,9 @@ public:
DECLARE_WRITE16_MEMBER(wwfsstar_fg0_videoram_w);
DECLARE_WRITE16_MEMBER(wwfsstar_bg0_videoram_w);
DECLARE_CUSTOM_INPUT_MEMBER(wwfsstar_vblank_r);
+ TILE_GET_INFO_MEMBER(get_fg0_tile_info);
+ TILEMAP_MAPPER_MEMBER(bg0_scan);
+ TILE_GET_INFO_MEMBER(get_bg0_tile_info);
};
diff --git a/src/mame/includes/wwfwfest.h b/src/mame/includes/wwfwfest.h
index 575be8fa300..4e719e5b1a0 100644
--- a/src/mame/includes/wwfwfest.h
+++ b/src/mame/includes/wwfwfest.h
@@ -38,6 +38,9 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(dsw_3f_r);
DECLARE_CUSTOM_INPUT_MEMBER(dsw_c0_r);
DECLARE_WRITE8_MEMBER(oki_bankswitch_w);
+ TILE_GET_INFO_MEMBER(get_fg0_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg0_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg1_tile_info);
};
diff --git a/src/mame/includes/xain.h b/src/mame/includes/xain.h
index 6022e4d39f7..8c15fd3b586 100644
--- a/src/mame/includes/xain.h
+++ b/src/mame/includes/xain.h
@@ -62,6 +62,10 @@ public:
DECLARE_WRITE8_MEMBER(xain_flipscreen_w);
DECLARE_CUSTOM_INPUT_MEMBER(xain_vblank_r);
DECLARE_CUSTOM_INPUT_MEMBER(mcu_status_r);
+ TILEMAP_MAPPER_MEMBER(back_scan);
+ TILE_GET_INFO_MEMBER(get_bgram0_tile_info);
+ TILE_GET_INFO_MEMBER(get_bgram1_tile_info);
+ TILE_GET_INFO_MEMBER(get_char_tile_info);
};
diff --git a/src/mame/includes/xorworld.h b/src/mame/includes/xorworld.h
index b3861d2afd2..e0668151cbb 100644
--- a/src/mame/includes/xorworld.h
+++ b/src/mame/includes/xorworld.h
@@ -16,6 +16,7 @@ public:
DECLARE_WRITE16_MEMBER(eeprom_serial_clock_w);
DECLARE_WRITE16_MEMBER(eeprom_data_w);
DECLARE_DRIVER_INIT(xorworld);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/xxmissio.h b/src/mame/includes/xxmissio.h
index 28f2c680224..7c7e1056298 100644
--- a/src/mame/includes/xxmissio.h
+++ b/src/mame/includes/xxmissio.h
@@ -24,6 +24,8 @@ public:
DECLARE_READ8_MEMBER(xxmissio_bgram_r);
DECLARE_WRITE8_MEMBER(xxmissio_paletteram_w);
DECLARE_CUSTOM_INPUT_MEMBER(xxmissio_status_r);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
diff --git a/src/mame/includes/xybots.h b/src/mame/includes/xybots.h
index 253e53c08ab..a99497d847f 100644
--- a/src/mame/includes/xybots.h
+++ b/src/mame/includes/xybots.h
@@ -15,6 +15,8 @@ public:
UINT16 m_h256;
DECLARE_READ16_MEMBER(special_port1_r);
DECLARE_DRIVER_INIT(xybots);
+ TILE_GET_INFO_MEMBER(get_alpha_tile_info);
+ TILE_GET_INFO_MEMBER(get_playfield_tile_info);
};
diff --git a/src/mame/includes/xyonix.h b/src/mame/includes/xyonix.h
index 54a447c8bce..bda321b957b 100644
--- a/src/mame/includes/xyonix.h
+++ b/src/mame/includes/xyonix.h
@@ -16,6 +16,7 @@ public:
DECLARE_READ8_MEMBER(xyonix_io_r);
DECLARE_WRITE8_MEMBER(xyonix_io_w);
DECLARE_WRITE8_MEMBER(xyonix_vidram_w);
+ TILE_GET_INFO_MEMBER(get_xyonix_tile_info);
};
diff --git a/src/mame/includes/yiear.h b/src/mame/includes/yiear.h
index 1afad8f69f4..f136939c3ed 100644
--- a/src/mame/includes/yiear.h
+++ b/src/mame/includes/yiear.h
@@ -30,6 +30,7 @@ public:
UINT8 m_SN76496_latch;
DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/yunsun16.h b/src/mame/includes/yunsun16.h
index 2084ff0ec45..2e4ba5d4a7a 100644
--- a/src/mame/includes/yunsun16.h
+++ b/src/mame/includes/yunsun16.h
@@ -38,6 +38,9 @@ public:
DECLARE_WRITE16_MEMBER(yunsun16_vram_0_w);
DECLARE_WRITE16_MEMBER(yunsun16_vram_1_w);
DECLARE_DRIVER_INIT(magicbub);
+ TILEMAP_MAPPER_MEMBER(yunsun16_tilemap_scan_pages);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
};
diff --git a/src/mame/includes/yunsung8.h b/src/mame/includes/yunsung8.h
index 5c17b5476c5..da96ef385c5 100644
--- a/src/mame/includes/yunsung8.h
+++ b/src/mame/includes/yunsung8.h
@@ -34,6 +34,8 @@ public:
DECLARE_WRITE8_MEMBER(yunsung8_videoram_w);
DECLARE_WRITE8_MEMBER(yunsung8_flipscreen_w);
DECLARE_WRITE8_MEMBER(yunsung8_sound_bankswitch_w);
+ TILE_GET_INFO_MEMBER(get_tile_info_0);
+ TILE_GET_INFO_MEMBER(get_tile_info_1);
};
diff --git a/src/mame/includes/zac2650.h b/src/mame/includes/zac2650.h
index 1b4227c69af..d77de393845 100644
--- a/src/mame/includes/zac2650.h
+++ b/src/mame/includes/zac2650.h
@@ -18,6 +18,7 @@ public:
DECLARE_READ8_MEMBER(zac_s2636_r);
DECLARE_WRITE8_MEMBER(zac_s2636_w);
DECLARE_READ8_MEMBER(tinvader_port_0_r);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
};
diff --git a/src/mame/includes/zaccaria.h b/src/mame/includes/zaccaria.h
index 1c63431ef46..2d0cc4d7964 100644
--- a/src/mame/includes/zaccaria.h
+++ b/src/mame/includes/zaccaria.h
@@ -41,6 +41,7 @@ public:
DECLARE_WRITE8_MEMBER(zaccaria_port0b_w);
DECLARE_WRITE8_MEMBER(zaccaria_port1b_w);
DECLARE_WRITE8_MEMBER(mc1408_data_w);
+ TILE_GET_INFO_MEMBER(get_tile_info);
};
diff --git a/src/mame/includes/zaxxon.h b/src/mame/includes/zaxxon.h
index bd5e579f700..ba6458d58bd 100644
--- a/src/mame/includes/zaxxon.h
+++ b/src/mame/includes/zaxxon.h
@@ -59,6 +59,10 @@ public:
DECLARE_DRIVER_INIT(futspy);
DECLARE_DRIVER_INIT(zaxxonj);
DECLARE_DRIVER_INIT(szaxxon);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(zaxxon_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(razmataz_get_fg_tile_info);
+ TILE_GET_INFO_MEMBER(congo_get_fg_tile_info);
};
diff --git a/src/mame/includes/zerozone.h b/src/mame/includes/zerozone.h
index 46ec282dbaa..46a1f9fff21 100644
--- a/src/mame/includes/zerozone.h
+++ b/src/mame/includes/zerozone.h
@@ -46,4 +46,5 @@ protected:
virtual void machine_reset();
virtual void video_start();
+ TILE_GET_INFO_MEMBER(get_zerozone_tile_info);
};
diff --git a/src/mame/includes/zodiack.h b/src/mame/includes/zodiack.h
index 9e873817ba0..a741f5f3404 100644
--- a/src/mame/includes/zodiack.h
+++ b/src/mame/includes/zodiack.h
@@ -64,6 +64,8 @@ protected:
virtual void machine_reset();
virtual void video_start();
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_fg_tile_info);
};
class percuss_state : public zodiack_state
diff --git a/src/mame/video/1942.c b/src/mame/video/1942.c
index 96a887b1c6b..ed7a6634223 100644
--- a/src/mame/video/1942.c
+++ b/src/mame/video/1942.c
@@ -89,33 +89,31 @@ PALETTE_INIT( 1942 )
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(_1942_state::get_fg_tile_info)
{
- _1942_state *state = machine.driver_data<_1942_state>();
int code, color;
- code = state->m_fg_videoram[tile_index];
- color = state->m_fg_videoram[tile_index + 0x400];
- SET_TILE_INFO(
+ code = m_fg_videoram[tile_index];
+ color = m_fg_videoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
0,
code + ((color & 0x80) << 1),
color & 0x3f,
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(_1942_state::get_bg_tile_info)
{
- _1942_state *state = machine.driver_data<_1942_state>();
int code, color;
tile_index = (tile_index & 0x0f) | ((tile_index & 0x01f0) << 1);
- code = state->m_bg_videoram[tile_index];
- color = state->m_bg_videoram[tile_index + 0x10];
- SET_TILE_INFO(
+ code = m_bg_videoram[tile_index];
+ color = m_bg_videoram[tile_index + 0x10];
+ SET_TILE_INFO_MEMBER(
1,
code + ((color & 0x80) << 1),
- (color & 0x1f) + (0x20 * state->m_palette_bank),
+ (color & 0x1f) + (0x20 * m_palette_bank),
TILE_FLIPYX((color & 0x60) >> 5));
}
@@ -128,8 +126,8 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( 1942 )
{
_1942_state *state = machine.driver_data<_1942_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1942_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1942_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 16);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/1943.c b/src/mame/video/1943.c
index 21dca333dbf..c7bb56318fb 100644
--- a/src/mame/video/1943.c
+++ b/src/mame/video/1943.c
@@ -165,9 +165,9 @@ WRITE8_MEMBER(_1943_state::c1943_d806_w)
m_obj_on = data & 0x40;
}
-static TILE_GET_INFO( c1943_get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(_1943_state::c1943_get_bg2_tile_info)
{
- UINT8 *tilerom = machine.root_device().memregion("gfx5")->base() + 0x8000;
+ UINT8 *tilerom = machine().root_device().memregion("gfx5")->base() + 0x8000;
int offs = tile_index * 2;
int attr = tilerom[offs + 1];
@@ -175,12 +175,12 @@ static TILE_GET_INFO( c1943_get_bg2_tile_info )
int color = (attr & 0x3c) >> 2;
int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
- SET_TILE_INFO(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(2, code, color, flags);
}
-static TILE_GET_INFO( c1943_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(_1943_state::c1943_get_bg_tile_info)
{
- UINT8 *tilerom = machine.root_device().memregion("gfx5")->base();
+ UINT8 *tilerom = machine().root_device().memregion("gfx5")->base();
int offs = tile_index * 2;
int attr = tilerom[offs + 1];
@@ -189,25 +189,24 @@ static TILE_GET_INFO( c1943_get_bg_tile_info )
int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
tileinfo.group = color;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( c1943_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(_1943_state::c1943_get_fg_tile_info)
{
- _1943_state *state = machine.driver_data<_1943_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0xe0) << 3);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0xe0) << 3);
int color = attr & 0x1f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( 1943 )
{
_1943_state *state = machine.driver_data<_1943_state>();
- state->m_bg2_tilemap = tilemap_create(machine, c1943_get_bg2_tile_info, TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
- state->m_bg_tilemap = tilemap_create(machine, c1943_get_bg_tile_info, TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
- state->m_fg_tilemap = tilemap_create(machine, c1943_get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1943_state::c1943_get_bg2_tile_info),state), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1943_state::c1943_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_1943_state::c1943_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[1], 0x0f);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/40love.c b/src/mame/video/40love.c
index d9a968c0529..4eec233253e 100644
--- a/src/mame/video/40love.c
+++ b/src/mame/video/40love.c
@@ -62,11 +62,10 @@ colorram format (2 bytes per one tilemap character line, 8 pixels height):
offset 1 xxxx xxxx x scroll (8 LSB bits)
*/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(fortyl_state::get_bg_tile_info)
{
- fortyl_state *state = machine.driver_data<fortyl_state>();
- int tile_number = state->m_videoram[tile_index];
- int tile_attrib = state->m_colorram[(tile_index / 64) * 2];
+ int tile_number = m_videoram[tile_index];
+ int tile_attrib = m_colorram[(tile_index / 64) * 2];
int tile_h_bank = (tile_attrib & 0x40) << 3; /* 0x40->0x200 */
int tile_l_bank = (tile_attrib & 0x18) << 3; /* 0x10->0x80, 0x08->0x40 */
@@ -75,7 +74,7 @@ static TILE_GET_INFO( get_bg_tile_info )
code = (code & 0x3f) | tile_l_bank | 0x100;
code |= tile_h_bank;
- SET_TILE_INFO( 0,
+ SET_TILE_INFO_MEMBER( 0,
code,
tile_attrib & 0x07,
0);
@@ -110,7 +109,7 @@ VIDEO_START( fortyl )
state->m_tmp_bitmap1 = auto_bitmap_ind16_alloc(machine, 256, 256);
state->m_tmp_bitmap2 = auto_bitmap_ind16_alloc(machine, 256, 256);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fortyl_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_xoffset = 128; // this never changes
diff --git a/src/mame/video/4enraya.c b/src/mame/video/4enraya.c
index f326874b523..595df668aef 100644
--- a/src/mame/video/4enraya.c
+++ b/src/mame/video/4enraya.c
@@ -17,12 +17,11 @@ WRITE8_MEMBER(_4enraya_state::fenraya_videoram_w)
m_bg_tilemap->mark_tile_dirty(offset & 0x3ff);
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(_4enraya_state::get_tile_info)
{
- _4enraya_state *state = machine.driver_data<_4enraya_state>();
- int code = state->m_videoram[tile_index * 2] + (state->m_videoram[tile_index * 2 + 1] << 8);
- SET_TILE_INFO(
+ int code = m_videoram[tile_index * 2] + (m_videoram[tile_index * 2 + 1] << 8);
+ SET_TILE_INFO_MEMBER(
0,
code,
0,
@@ -33,7 +32,7 @@ VIDEO_START( 4enraya )
{
_4enraya_state *state = machine.driver_data<_4enraya_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_4enraya_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
SCREEN_UPDATE_IND16( 4enraya )
diff --git a/src/mame/video/aeroboto.c b/src/mame/video/aeroboto.c
index 9bb3ff8375f..354b3bb329e 100644
--- a/src/mame/video/aeroboto.c
+++ b/src/mame/video/aeroboto.c
@@ -21,15 +21,14 @@
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(aeroboto_state::get_tile_info)
{
- aeroboto_state *state = machine.driver_data<aeroboto_state>();
- UINT8 code = state->m_videoram[tile_index];
- SET_TILE_INFO(
+ UINT8 code = m_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- code + (state->m_charbank << 8),
- state->m_tilecolor[code],
- (state->m_tilecolor[code] >= 0x33) ? 0 : TILE_FORCE_LAYER0);
+ code + (m_charbank << 8),
+ m_tilecolor[code],
+ (m_tilecolor[code] >= 0x33) ? 0 : TILE_FORCE_LAYER0);
}
// transparency should only affect tiles with color 0x33 or higher
@@ -44,7 +43,7 @@ VIDEO_START( aeroboto )
{
aeroboto_state *state = machine.driver_data<aeroboto_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aeroboto_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scroll_rows(64);
diff --git a/src/mame/video/aerofgt.c b/src/mame/video/aerofgt.c
index 02b4ca1d46e..3c96c84d30f 100644
--- a/src/mame/video/aerofgt.c
+++ b/src/mame/video/aerofgt.c
@@ -7,72 +7,66 @@
***************************************************************************/
-static TILE_GET_INFO( get_pspikes_tile_info )
+TILE_GET_INFO_MEMBER(aerofgt_state::get_pspikes_tile_info)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- UINT16 code = state->m_bg1videoram[tile_index];
+ UINT16 code = m_bg1videoram[tile_index];
int bank = (code & 0x1000) >> 12;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- (code & 0x0fff) + (state->m_gfxbank[bank] << 12),
- ((code & 0xe000) >> 13) + 8 * state->m_charpalettebank,
+ (code & 0x0fff) + (m_gfxbank[bank] << 12),
+ ((code & 0xe000) >> 13) + 8 * m_charpalettebank,
0);
}
-static TILE_GET_INFO( karatblz_bg1_tile_info )
+TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg1_tile_info)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- UINT16 code = state->m_bg1videoram[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_bg1videoram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- (code & 0x1fff) + (state->m_gfxbank[0] << 13),
+ (code & 0x1fff) + (m_gfxbank[0] << 13),
(code & 0xe000) >> 13,
0);
}
/* also spinlbrk */
-static TILE_GET_INFO( karatblz_bg2_tile_info )
+TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg2_tile_info)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- UINT16 code = state->m_bg2videoram[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_bg2videoram[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
- (code & 0x1fff) + (state->m_gfxbank[1] << 13),
+ (code & 0x1fff) + (m_gfxbank[1] << 13),
(code & 0xe000) >> 13,
0);
}
-static TILE_GET_INFO( spinlbrk_bg1_tile_info )
+TILE_GET_INFO_MEMBER(aerofgt_state::spinlbrk_bg1_tile_info)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- UINT16 code = state->m_bg1videoram[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_bg1videoram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- (code & 0x0fff) + (state->m_gfxbank[0] << 12),
+ (code & 0x0fff) + (m_gfxbank[0] << 12),
(code & 0xf000) >> 12,
0);
}
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(aerofgt_state::get_bg1_tile_info)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- UINT16 code = state->m_bg1videoram[tile_index];
+ UINT16 code = m_bg1videoram[tile_index];
int bank = (code & 0x1800) >> 11;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- (code & 0x07ff) + (state->m_gfxbank[bank] << 11),
+ (code & 0x07ff) + (m_gfxbank[bank] << 11),
(code & 0xe000) >> 13,
0);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(aerofgt_state::get_bg2_tile_info)
{
- aerofgt_state *state = machine.driver_data<aerofgt_state>();
- UINT16 code = state->m_bg2videoram[tile_index];
+ UINT16 code = m_bg2videoram[tile_index];
int bank = 4 + ((code & 0x1800) >> 11);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- (code & 0x07ff) + (state->m_gfxbank[bank] << 11),
+ (code & 0x07ff) + (m_gfxbank[bank] << 11),
(code & 0xe000) >> 13,
0);
}
@@ -100,7 +94,7 @@ static void aerofgt_register_state_globals( running_machine &machine )
VIDEO_START( pspikes )
{
aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_bg1_tilemap = tilemap_create(machine, get_pspikes_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
/* no bg2 in this game */
state->m_sprite_gfx = 1;
@@ -113,8 +107,8 @@ VIDEO_START( pspikes )
VIDEO_START( karatblz )
{
aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_bg1_tilemap = tilemap_create(machine, karatblz_bg1_tile_info,TILEMAP_SCAN_ROWS, 8,8,64,64);
- state->m_bg2_tilemap = tilemap_create(machine, karatblz_bg2_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg1_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,64);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
state->m_bg2_tilemap->set_transparent_pen(15);
state->m_spritepalettebank = 0;
@@ -128,8 +122,8 @@ VIDEO_START( spinlbrk )
aerofgt_state *state = machine.driver_data<aerofgt_state>();
int i;
- state->m_bg1_tilemap = tilemap_create(machine, spinlbrk_bg1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_bg2_tilemap = tilemap_create(machine, karatblz_bg2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::spinlbrk_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_bg2_tilemap->set_transparent_pen(15);
@@ -155,8 +149,8 @@ VIDEO_START( spinlbrk )
VIDEO_START( turbofrc )
{
aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_bg2_tilemap->set_transparent_pen(15);
@@ -169,7 +163,7 @@ VIDEO_START( turbofrc )
VIDEO_START( wbbc97 )
{
aerofgt_state *state = machine.driver_data<aerofgt_state>();
- state->m_bg1_tilemap = tilemap_create(machine, get_pspikes_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
/* no bg2 in this game */
state->m_bg1_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/airbustr.c b/src/mame/video/airbustr.c
index 26a9f83e518..4d51bee1fd6 100644
--- a/src/mame/video/airbustr.c
+++ b/src/mame/video/airbustr.c
@@ -89,32 +89,30 @@ WRITE8_MEMBER(airbustr_state::airbustr_scrollregs_w)
m_fg_tilemap->set_scrollx(0, ((m_highbits << 8) & 0x100) + m_fg_scrollx);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(airbustr_state::get_fg_tile_info)
{
- airbustr_state *state = machine.driver_data<airbustr_state>();
- int attr = state->m_colorram2[tile_index];
- int code = state->m_videoram2[tile_index] + ((attr & 0x0f) << 8);
+ int attr = m_colorram2[tile_index];
+ int code = m_videoram2[tile_index] + ((attr & 0x0f) << 8);
int color = attr >> 4;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(airbustr_state::get_bg_tile_info)
{
- airbustr_state *state = machine.driver_data<airbustr_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0x0f) << 8);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0x0f) << 8);
int color = (attr >> 4) + 16;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( airbustr )
{
airbustr_state *state = machine.driver_data<airbustr_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(airbustr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(airbustr_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
machine.primary_screen->register_screen_bitmap(state->m_sprites_bitmap);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/alpha68k.c b/src/mame/video/alpha68k.c
index bda83434d1f..9dfed5bfdb7 100644
--- a/src/mame/video/alpha68k.c
+++ b/src/mame/video/alpha68k.c
@@ -37,15 +37,14 @@ WRITE16_MEMBER(alpha68k_state::alpha68k_paletteram_w)
/******************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(alpha68k_state::get_tile_info)
{
- alpha68k_state *state = machine.driver_data<alpha68k_state>();
- int tile = state->m_videoram[2 * tile_index] & 0xff;
- int color = state->m_videoram[2 * tile_index + 1] & 0x0f;
+ int tile = m_videoram[2 * tile_index] & 0xff;
+ int color = m_videoram[2 * tile_index + 1] & 0x0f;
- tile = tile | (state->m_bank_base << 8);
+ tile = tile | (m_bank_base << 8);
- SET_TILE_INFO(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(0, tile, color, 0);
}
WRITE16_MEMBER(alpha68k_state::alpha68k_videoram_w)
@@ -66,7 +65,7 @@ VIDEO_START( alpha68k )
{
alpha68k_state *state = machine.driver_data<alpha68k_state>();
- state->m_fix_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(alpha68k_state::get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/ampoker2.c b/src/mame/video/ampoker2.c
index faf7754e8c8..a2124b0e1de 100644
--- a/src/mame/video/ampoker2.c
+++ b/src/mame/video/ampoker2.c
@@ -119,10 +119,9 @@ WRITE8_MEMBER(ampoker2_state::ampoker2_videoram_w)
m_bg_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ampoker2_state::get_bg_tile_info)
{
- ampoker2_state *state = machine.driver_data<ampoker2_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int offs = tile_index * 2;
int attr = videoram[offs + 1];
int code = videoram[offs];
@@ -130,13 +129,12 @@ static TILE_GET_INFO( 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(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( s2k_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ampoker2_state::s2k_get_bg_tile_info)
{
- ampoker2_state *state = machine.driver_data<ampoker2_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int offs = tile_index * 2;
int attr = videoram[offs + 1];
int code = videoram[offs];
@@ -144,20 +142,20 @@ static TILE_GET_INFO( s2k_get_bg_tile_info )
code = code + (256 * (color & 0x0f)); /* the game uses 2 extra bits */
color = color >> 1;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START(ampoker2)
{
ampoker2_state *state = machine.driver_data<ampoker2_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ampoker2_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
}
VIDEO_START(sigma2k)
{
ampoker2_state *state = machine.driver_data<ampoker2_state>();
- state->m_bg_tilemap = tilemap_create(machine, s2k_get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ampoker2_state::s2k_get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
}
diff --git a/src/mame/video/amspdwy.c b/src/mame/video/amspdwy.c
index f3ec5d65aef..87c6da4370a 100644
--- a/src/mame/video/amspdwy.c
+++ b/src/mame/video/amspdwy.c
@@ -42,12 +42,11 @@ WRITE8_MEMBER(amspdwy_state::amspdwy_flipscreen_w)
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(amspdwy_state::get_tile_info)
{
- amspdwy_state *state = machine.driver_data<amspdwy_state>();
- UINT8 code = state->m_videoram[tile_index];
- UINT8 color = state->m_colorram[tile_index];
- SET_TILE_INFO(
+ UINT8 code = m_videoram[tile_index];
+ UINT8 color = m_colorram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
code + ((color & 0x18)<<5),
color & 0x07,
@@ -68,7 +67,7 @@ WRITE8_MEMBER(amspdwy_state::amspdwy_colorram_w)
/* logical (col,row) -> memory offset */
-static TILEMAP_MAPPER( tilemap_scan_cols_back )
+TILEMAP_MAPPER_MEMBER(amspdwy_state::tilemap_scan_cols_back)
{
return col * num_rows + (num_rows - row - 1);
}
@@ -77,7 +76,7 @@ static TILEMAP_MAPPER( tilemap_scan_cols_back )
VIDEO_START( amspdwy )
{
amspdwy_state *state = machine.driver_data<amspdwy_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, tilemap_scan_cols_back, 8, 8, 0x20, 0x20);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(amspdwy_state::get_tile_info),state), tilemap_mapper_delegate(FUNC(amspdwy_state::tilemap_scan_cols_back),state), 8, 8, 0x20, 0x20);
}
diff --git a/src/mame/video/angelkds.c b/src/mame/video/angelkds.c
index 20a19682115..2615e4ddaa6 100644
--- a/src/mame/video/angelkds.c
+++ b/src/mame/video/angelkds.c
@@ -14,13 +14,12 @@ enable / disable tilemap bits might be wrong
*/
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(angelkds_state::get_tx_tile_info)
{
- angelkds_state *state = machine.driver_data<angelkds_state>();
int tileno;
- tileno = state->m_txvideoram[tile_index] + (state->m_txbank * 0x100);
- SET_TILE_INFO(0, tileno, 0, 0);
+ tileno = m_txvideoram[tile_index] + (m_txbank * 0x100);
+ SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
}
WRITE8_MEMBER(angelkds_state::angelkds_txvideoram_w)
@@ -44,15 +43,14 @@ WRITE8_MEMBER(angelkds_state::angelkds_txbank_write)
*/
-static TILE_GET_INFO( get_bgtop_tile_info )
+TILE_GET_INFO_MEMBER(angelkds_state::get_bgtop_tile_info)
{
- angelkds_state *state = machine.driver_data<angelkds_state>();
int tileno;
- tileno = state->m_bgtopvideoram[tile_index];
+ tileno = m_bgtopvideoram[tile_index];
- tileno += state->m_bgtopbank * 0x100 ;
- SET_TILE_INFO(1, tileno, 0, 0);
+ tileno += m_bgtopbank * 0x100 ;
+ SET_TILE_INFO_MEMBER(1, tileno, 0, 0);
}
WRITE8_MEMBER(angelkds_state::angelkds_bgtopvideoram_w)
@@ -82,15 +80,14 @@ WRITE8_MEMBER(angelkds_state::angelkds_bgtopscroll_write)
*/
-static TILE_GET_INFO( get_bgbot_tile_info )
+TILE_GET_INFO_MEMBER(angelkds_state::get_bgbot_tile_info)
{
- angelkds_state *state = machine.driver_data<angelkds_state>();
int tileno;
- tileno = state->m_bgbotvideoram[tile_index];
+ tileno = m_bgbotvideoram[tile_index];
- tileno += state->m_bgbotbank * 0x100 ;
- SET_TILE_INFO(2, tileno, 1, 0);
+ tileno += m_bgbotbank * 0x100 ;
+ SET_TILE_INFO_MEMBER(2, tileno, 1, 0);
}
WRITE8_MEMBER(angelkds_state::angelkds_bgbotvideoram_w)
@@ -250,13 +247,13 @@ VIDEO_START( angelkds )
{
angelkds_state *state = machine.driver_data<angelkds_state>();
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(angelkds_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_tx_tilemap->set_transparent_pen(0);
- state->m_bgbot_tilemap = tilemap_create(machine, get_bgbot_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bgbot_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(angelkds_state::get_bgbot_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bgbot_tilemap->set_transparent_pen(15);
- state->m_bgtop_tilemap = tilemap_create(machine, get_bgtop_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bgtop_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(angelkds_state::get_bgtop_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bgtop_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/appoooh.c b/src/mame/video/appoooh.c
index 93ae00ac25d..39a237ecf49 100644
--- a/src/mame/video/appoooh.c
+++ b/src/mame/video/appoooh.c
@@ -100,29 +100,27 @@ PALETTE_INIT( robowres )
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(appoooh_state::get_fg_tile_info)
{
- appoooh_state *state = machine.driver_data<appoooh_state>();
- int code = state->m_fg_videoram[tile_index] + 256 * ((state->m_fg_colorram[tile_index] >> 5) & 7);
+ int code = m_fg_videoram[tile_index] + 256 * ((m_fg_colorram[tile_index] >> 5) & 7);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
- state->m_fg_colorram[tile_index] & 0x0f,
- (state->m_fg_colorram[tile_index] & 0x10 ) ? TILEMAP_FLIPX : 0
+ m_fg_colorram[tile_index] & 0x0f,
+ (m_fg_colorram[tile_index] & 0x10 ) ? TILEMAP_FLIPX : 0
);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(appoooh_state::get_bg_tile_info)
{
- appoooh_state *state = machine.driver_data<appoooh_state>();
- int code = state->m_bg_videoram[tile_index] + 256 * ((state->m_bg_colorram[tile_index] >> 5) & 7);
+ int code = m_bg_videoram[tile_index] + 256 * ((m_bg_colorram[tile_index] >> 5) & 7);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
- state->m_bg_colorram[tile_index] & 0x0f,
- (state->m_bg_colorram[tile_index] & 0x10 ) ? TILEMAP_FLIPX : 0
+ m_bg_colorram[tile_index] & 0x0f,
+ (m_bg_colorram[tile_index] & 0x10 ) ? TILEMAP_FLIPX : 0
);
}
@@ -136,8 +134,8 @@ VIDEO_START( appoooh )
{
appoooh_state *state = machine.driver_data<appoooh_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(appoooh_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(appoooh_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_scrolldy(8, 8);
diff --git a/src/mame/video/aquarium.c b/src/mame/video/aquarium.c
index 9660af29c34..2d280ed14bc 100644
--- a/src/mame/video/aquarium.c
+++ b/src/mame/video/aquarium.c
@@ -86,14 +86,13 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
}
/* TXT Layer */
-static TILE_GET_INFO( get_aquarium_txt_tile_info )
+TILE_GET_INFO_MEMBER(aquarium_state::get_aquarium_txt_tile_info)
{
- aquarium_state *state = machine.driver_data<aquarium_state>();
int tileno, colour;
- tileno = (state->m_txt_videoram[tile_index] & 0x0fff);
- colour = (state->m_txt_videoram[tile_index] & 0xf000) >> 12;
- SET_TILE_INFO(2, tileno, colour, 0);
+ tileno = (m_txt_videoram[tile_index] & 0x0fff);
+ colour = (m_txt_videoram[tile_index] & 0xf000) >> 12;
+ SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
}
WRITE16_MEMBER(aquarium_state::aquarium_txt_videoram_w)
@@ -103,18 +102,17 @@ WRITE16_MEMBER(aquarium_state::aquarium_txt_videoram_w)
}
/* MID Layer */
-static TILE_GET_INFO( get_aquarium_mid_tile_info )
+TILE_GET_INFO_MEMBER(aquarium_state::get_aquarium_mid_tile_info)
{
- aquarium_state *state = machine.driver_data<aquarium_state>();
int tileno, colour, flag;
- tileno = (state->m_mid_videoram[tile_index * 2] & 0x0fff);
- colour = (state->m_mid_videoram[tile_index * 2 + 1] & 0x001f);
- flag = TILE_FLIPYX((state->m_mid_videoram[tile_index * 2 + 1] & 0x300) >> 8);
+ tileno = (m_mid_videoram[tile_index * 2] & 0x0fff);
+ colour = (m_mid_videoram[tile_index * 2 + 1] & 0x001f);
+ flag = TILE_FLIPYX((m_mid_videoram[tile_index * 2 + 1] & 0x300) >> 8);
- SET_TILE_INFO(1, tileno, colour, flag);
+ SET_TILE_INFO_MEMBER(1, tileno, colour, flag);
- tileinfo.category = (state->m_mid_videoram[tile_index * 2 + 1] & 0x20) >> 5;
+ tileinfo.category = (m_mid_videoram[tile_index * 2 + 1] & 0x20) >> 5;
}
WRITE16_MEMBER(aquarium_state::aquarium_mid_videoram_w)
@@ -124,18 +122,17 @@ WRITE16_MEMBER(aquarium_state::aquarium_mid_videoram_w)
}
/* BAK Layer */
-static TILE_GET_INFO( get_aquarium_bak_tile_info )
+TILE_GET_INFO_MEMBER(aquarium_state::get_aquarium_bak_tile_info)
{
- aquarium_state *state = machine.driver_data<aquarium_state>();
int tileno, colour, flag;
- tileno = (state->m_bak_videoram[tile_index * 2] & 0x0fff);
- colour = (state->m_bak_videoram[tile_index * 2 + 1] & 0x001f);
- flag = TILE_FLIPYX((state->m_bak_videoram[tile_index * 2 + 1] & 0x300) >> 8);
+ tileno = (m_bak_videoram[tile_index * 2] & 0x0fff);
+ colour = (m_bak_videoram[tile_index * 2 + 1] & 0x001f);
+ flag = TILE_FLIPYX((m_bak_videoram[tile_index * 2 + 1] & 0x300) >> 8);
- SET_TILE_INFO(3, tileno, colour, flag);
+ SET_TILE_INFO_MEMBER(3, tileno, colour, flag);
- tileinfo.category = (state->m_bak_videoram[tile_index * 2 + 1] & 0x20) >> 5;
+ tileinfo.category = (m_bak_videoram[tile_index * 2 + 1] & 0x20) >> 5;
}
WRITE16_MEMBER(aquarium_state::aquarium_bak_videoram_w)
@@ -147,9 +144,9 @@ WRITE16_MEMBER(aquarium_state::aquarium_bak_videoram_w)
VIDEO_START(aquarium)
{
aquarium_state *state = machine.driver_data<aquarium_state>();
- state->m_txt_tilemap = tilemap_create(machine, get_aquarium_txt_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_bak_tilemap = tilemap_create(machine, get_aquarium_bak_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_mid_tilemap = tilemap_create(machine, get_aquarium_mid_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aquarium_state::get_aquarium_txt_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_bak_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aquarium_state::get_aquarium_bak_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_mid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(aquarium_state::get_aquarium_mid_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_txt_tilemap->set_transparent_pen(0);
state->m_mid_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/argus.c b/src/mame/video/argus.c
index bec831b3c58..1b9fe75bcfd 100644
--- a/src/mame/video/argus.c
+++ b/src/mame/video/argus.c
@@ -122,112 +122,105 @@ BG0 palette intensity ( $C47F, $C4FF )
Callbacks for the tilemap code
***************************************************************************/
-static TILE_GET_INFO( argus_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(argus_state::argus_get_tx_tile_info)
{
- argus_state *state = machine.driver_data<argus_state>();
UINT8 hi, lo;
tile_index <<= 1;
- lo = state->m_txram[tile_index];
- hi = state->m_txram[tile_index + 1];
+ lo = m_txram[tile_index];
+ hi = m_txram[tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
TILE_FLIPYX((hi & 0x30) >> 4));
}
-static TILE_GET_INFO( argus_get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(argus_state::argus_get_bg0_tile_info)
{
- argus_state *state = machine.driver_data<argus_state>();
UINT8 hi, lo;
tile_index <<= 1;
- lo = state->m_dummy_bg0ram[tile_index];
- hi = state->m_dummy_bg0ram[tile_index + 1];
+ lo = m_dummy_bg0ram[tile_index];
+ hi = m_dummy_bg0ram[tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
TILE_FLIPYX((hi & 0x30) >> 4));
}
-static TILE_GET_INFO( argus_get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(argus_state::argus_get_bg1_tile_info)
{
- argus_state *state = machine.driver_data<argus_state>();
UINT8 hi, lo;
tile_index <<= 1;
- lo = state->m_bg1ram[tile_index];
- hi = state->m_bg1ram[tile_index + 1];
+ lo = m_bg1ram[tile_index];
+ hi = m_bg1ram[tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
lo,
hi & 0x0f,
TILE_FLIPYX((hi & 0x30) >> 4));
}
-static TILE_GET_INFO( valtric_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(argus_state::valtric_get_tx_tile_info)
{
- argus_state *state = machine.driver_data<argus_state>();
UINT8 hi, lo;
tile_index <<= 1;
- lo = state->m_txram[tile_index];
- hi = state->m_txram[tile_index + 1];
+ lo = m_txram[tile_index];
+ hi = m_txram[tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
TILE_FLIPYX((hi & 0x30) >> 4));
}
-static TILE_GET_INFO( valtric_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(argus_state::valtric_get_bg_tile_info)
{
- argus_state *state = machine.driver_data<argus_state>();
UINT8 hi, lo;
tile_index <<= 1;
- lo = state->m_bg1ram[tile_index];
- hi = state->m_bg1ram[tile_index + 1];
+ lo = m_bg1ram[tile_index];
+ hi = m_bg1ram[tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
((hi & 0xc0) << 2) | ((hi & 0x20) << 5) | lo,
hi & 0x0f,
0);
}
-static TILE_GET_INFO( butasan_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(argus_state::butasan_get_tx_tile_info)
{
- argus_state *state = machine.driver_data<argus_state>();
UINT8 hi, lo;
tile_index ^= 0x3e0;
tile_index <<= 1;
- lo = state->m_butasan_txram[tile_index];
- hi = state->m_butasan_txram[tile_index + 1];
+ lo = m_butasan_txram[tile_index];
+ hi = m_butasan_txram[tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
TILE_FLIPYX((hi & 0x30) >> 4));
}
-static TILE_GET_INFO( butasan_get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(argus_state::butasan_get_bg0_tile_info)
{
- argus_state *state = machine.driver_data<argus_state>();
UINT8 hi, lo;
int attrib;
@@ -235,27 +228,26 @@ static TILE_GET_INFO( butasan_get_bg0_tile_info )
attrib ^= 0x0f0;
attrib <<= 1;
- lo = state->m_butasan_bg0ram[attrib];
- hi = state->m_butasan_bg0ram[attrib + 1];
+ lo = m_butasan_bg0ram[attrib];
+ hi = m_butasan_bg0ram[attrib + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
((hi & 0xc0) << 2) | lo,
hi & 0x0f,
TILE_FLIPYX((hi & 0x30) >> 4));
}
-static TILE_GET_INFO( butasan_get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(argus_state::butasan_get_bg1_tile_info)
{
- argus_state *state = machine.driver_data<argus_state>();
int attrib, tile;
attrib = (tile_index & 0x00f) | ((tile_index & 0x3e0) >> 1) | ((tile_index & 0x010) << 5);
attrib ^= 0x0f0;
- tile = state->m_butasan_bg1ram[attrib] | ((state->m_butasan_bg1_status & 2) << 7);
+ tile = m_butasan_bg1ram[attrib] | ((m_butasan_bg1_status & 2) << 7);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile,
(tile & 0x80) >> 7,
@@ -279,9 +271,9 @@ VIDEO_START( argus )
{
argus_state *state = machine.driver_data<argus_state>();
/* info offset w h col row */
- state->m_bg0_tilemap = tilemap_create(machine, argus_get_bg0_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg1_tilemap = tilemap_create(machine, argus_get_bg1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_tx_tilemap = tilemap_create(machine, argus_get_tx_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::argus_get_bg0_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::argus_get_bg1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::argus_get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_bg1_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_transparent_pen(15);
@@ -307,8 +299,8 @@ VIDEO_START( valtric )
{
argus_state *state = machine.driver_data<argus_state>();
/* info offset w h col row */
- state->m_bg1_tilemap = tilemap_create(machine, valtric_get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_tx_tilemap = tilemap_create(machine, valtric_get_tx_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::valtric_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::valtric_get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_tx_tilemap->set_transparent_pen(15);
@@ -328,9 +320,9 @@ VIDEO_START( butasan )
{
argus_state *state = machine.driver_data<argus_state>();
/* info offset w h col row */
- state->m_bg0_tilemap = tilemap_create(machine, butasan_get_bg0_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg1_tilemap = tilemap_create(machine, butasan_get_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_tilemap = tilemap_create(machine, butasan_get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::butasan_get_bg0_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::butasan_get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(argus_state::butasan_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg1_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/arkanoid.c b/src/mame/video/arkanoid.c
index 59c5dea5776..91aa1420fae 100644
--- a/src/mame/video/arkanoid.c
+++ b/src/mame/video/arkanoid.c
@@ -149,21 +149,20 @@ WRITE8_MEMBER(arkanoid_state::hexa_d008_w)
/* bit 6 - 7 unknown */
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(arkanoid_state::get_bg_tile_info)
{
- arkanoid_state *state = machine.driver_data<arkanoid_state>();
int offs = tile_index * 2;
- int code = state->m_videoram[offs + 1] + ((state->m_videoram[offs] & 0x07) << 8) + 2048 * state->m_gfxbank;
- int color = ((state->m_videoram[offs] & 0xf8) >> 3) + 32 * state->m_palettebank;
+ 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(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( arkanoid )
{
arkanoid_state *state = machine.driver_data<arkanoid_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(arkanoid_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/armedf.c b/src/mame/video/armedf.c
index 0bcf44062b7..1fdaa7c7fa5 100644
--- a/src/mame/video/armedf.c
+++ b/src/mame/video/armedf.c
@@ -14,35 +14,34 @@
***************************************************************************/
-static TILEMAP_MAPPER( armedf_scan_type1 )
+TILEMAP_MAPPER_MEMBER(armedf_state::armedf_scan_type1)
{ /* col: 0..63; row: 0..31 */
/* armed formation */
return col * 32 + row;
}
-static TILEMAP_MAPPER( armedf_scan_type2 )
+TILEMAP_MAPPER_MEMBER(armedf_state::armedf_scan_type2)
{ /* col: 0..63; row: 0..31 */
return 32 * (31 - row) + (col & 0x1f) + 0x800 * (col / 32);
}
-static TILEMAP_MAPPER( armedf_scan_type3 )
+TILEMAP_MAPPER_MEMBER(armedf_state::armedf_scan_type3)
{ /* col: 0..63; row: 0..31 */
/* legion & legiono */
return (col & 0x1f) * 32 + row + 0x800 * (col / 32);
}
-static TILE_GET_INFO( get_nb1414m4_tx_tile_info )
+TILE_GET_INFO_MEMBER(armedf_state::get_nb1414m4_tx_tile_info)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- int tile_number = state->m_text_videoram[tile_index] & 0xff;
+ int tile_number = m_text_videoram[tile_index] & 0xff;
int attributes;
/* TODO: Armed F doesn't seem to use the NB1414M4! */
- //if (state->m_scroll_type == 1)
- // attributes = state->m_text_videoram[tile_index + 0x800] & 0xff;
+ //if (m_scroll_type == 1)
+ // attributes = m_text_videoram[tile_index + 0x800] & 0xff;
//else
{
- attributes = state->m_text_videoram[tile_index + 0x400] & 0xff;
+ attributes = m_text_videoram[tile_index + 0x400] & 0xff;
if(tile_index < 0x12) /* don't draw the NB1414M4 params! TODO: could be a better fix */
tile_number = attributes = 0x00;
@@ -51,25 +50,24 @@ static TILE_GET_INFO( 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(
+ SET_TILE_INFO_MEMBER(
0,
tile_number + 256 * (attributes & 0x3),
attributes >> 4,
0);
}
-static TILE_GET_INFO( get_armedf_tx_tile_info )
+TILE_GET_INFO_MEMBER(armedf_state::get_armedf_tx_tile_info)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- int tile_number = state->m_text_videoram[tile_index] & 0xff;
+ int tile_number = m_text_videoram[tile_index] & 0xff;
int attributes;
/* TODO: Armed F doesn't seem to use the NB1414M4! */
- //if (state->m_scroll_type == 1)
- attributes = state->m_text_videoram[tile_index + 0x800] & 0xff;
+ //if (m_scroll_type == 1)
+ attributes = m_text_videoram[tile_index + 0x800] & 0xff;
//else
//{
- // attributes = state->m_text_videoram[tile_index + 0x400] & 0xff;
+ // attributes = m_text_videoram[tile_index + 0x400] & 0xff;
//
// if(tile_index < 0x12) /* don't draw the NB1414M4 params! TODO: could be a better fix */
// tile_number = attributes = 0x00;
@@ -78,7 +76,7 @@ static TILE_GET_INFO( 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(
+ SET_TILE_INFO_MEMBER(
0,
tile_number + 256 * (attributes & 0x3),
attributes >> 4,
@@ -86,11 +84,10 @@ static TILE_GET_INFO( get_armedf_tx_tile_info )
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(armedf_state::get_fg_tile_info)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- int data = state->m_fg_videoram[tile_index];
- SET_TILE_INFO(
+ int data = m_fg_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
data&0x7ff,
data>>11,
@@ -98,11 +95,10 @@ static TILE_GET_INFO( get_fg_tile_info )
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(armedf_state::get_bg_tile_info)
{
- armedf_state *state = machine.driver_data<armedf_state>();
- int data = state->m_bg_videoram[tile_index];
- SET_TILE_INFO(
+ int data = m_bg_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(
2,
data & 0x3ff,
data >> 11,
@@ -123,10 +119,11 @@ VIDEO_START( terraf )
state->m_sprite_offy = (state->m_scroll_type & 2 ) ? 0 : 128; /* legion, legiono, crazy climber 2 */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_tx_tilemap = tilemap_create(machine, get_nb1414m4_tx_tile_info, (state->m_scroll_type == 2) ? armedf_scan_type3 : armedf_scan_type2, 8, 8, 64, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_nb1414m4_tx_tile_info),state),
+ (state->m_scroll_type == 2) ? tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type3),state) : tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type2),state), 8, 8, 64, 32);
state->m_bg_tilemap->set_transparent_pen(0xf);
state->m_fg_tilemap->set_transparent_pen(0xf);
@@ -145,10 +142,10 @@ VIDEO_START( armedf )
state->m_sprite_offy = (state->m_scroll_type & 2 ) ? 0 : 128; /* legion, legiono, crazy climber 2 */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_tx_tilemap = tilemap_create(machine, get_armedf_tx_tile_info, armedf_scan_type1, 8, 8, 64, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_armedf_tx_tile_info),state), tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type1),state), 8, 8, 64, 32);
state->m_bg_tilemap->set_transparent_pen(0xf);
state->m_fg_tilemap->set_transparent_pen(0xf);
diff --git a/src/mame/video/ashnojoe.c b/src/mame/video/ashnojoe.c
index 96d270bcd51..20f2fe1e8d5 100644
--- a/src/mame/video/ashnojoe.c
+++ b/src/mame/video/ashnojoe.c
@@ -9,75 +9,69 @@
#include "includes/ashnojoe.h"
-static TILE_GET_INFO( get_joe_tile_info )
+TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info)
{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- int code = state->m_tileram[tile_index];
+ int code = m_tileram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
code & 0xfff,
((code >> 12) & 0x0f),
0);
}
-static TILE_GET_INFO( get_joe_tile_info_2 )
+TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_2)
{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- int code = state->m_tileram_2[tile_index * 2];
- int attr = state->m_tileram_2[tile_index * 2 + 1];
+ int code = m_tileram_2[tile_index * 2];
+ int attr = m_tileram_2[tile_index * 2 + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
4,
(code & 0x7fff),
((attr >> 8) & 0x1f) + 0x40,
0);
}
-static TILE_GET_INFO( get_joe_tile_info_3 )
+TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_3)
{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- int code = state->m_tileram_3[tile_index];
+ int code = m_tileram_3[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code & 0xfff,
((code >> 12) & 0x0f) + 0x10,
0);
}
-static TILE_GET_INFO( get_joe_tile_info_4 )
+TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_4)
{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- int code = state->m_tileram_4[tile_index];
+ int code = m_tileram_4[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code & 0xfff,
((code >> 12) & 0x0f) + 0x60,
0);
}
-static TILE_GET_INFO( get_joe_tile_info_5 )
+TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_5)
{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- int code = state->m_tileram_5[tile_index * 2];
- int attr = state->m_tileram_5[tile_index * 2 + 1];
+ int code = m_tileram_5[tile_index * 2];
+ int attr = m_tileram_5[tile_index * 2 + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
4,
(code & 0x7fff),
((attr >> 8) & 0x1f) + 0x20,
0);
}
-static TILE_GET_INFO( get_joe_tile_info_6 )
+TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_6)
{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- int code = state->m_tileram_6[tile_index * 2];
- int attr = state->m_tileram_6[tile_index * 2 + 1];
+ int code = m_tileram_6[tile_index * 2];
+ int attr = m_tileram_6[tile_index * 2 + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
(code & 0x1fff),
((attr >> 8) & 0x1f) + 0x70,
@@ -85,13 +79,12 @@ static TILE_GET_INFO( get_joe_tile_info_6 )
}
-static TILE_GET_INFO( get_joe_tile_info_7 )
+TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_7)
{
- ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- int code = state->m_tileram_7[tile_index * 2];
- int attr = state->m_tileram_7[tile_index * 2 + 1];
+ int code = m_tileram_7[tile_index * 2];
+ int attr = m_tileram_7[tile_index * 2 + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
(code & 0x1fff),
((attr >> 8) & 0x1f) + 0x70,
@@ -200,13 +193,13 @@ VIDEO_START( ashnojoe )
{
ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
- state->m_joetilemap = tilemap_create(machine, get_joe_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_joetilemap2 = tilemap_create(machine, get_joe_tile_info_2, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_joetilemap3 = tilemap_create(machine, get_joe_tile_info_3, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_joetilemap4 = tilemap_create(machine, get_joe_tile_info_4, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_joetilemap5 = tilemap_create(machine, get_joe_tile_info_5, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_joetilemap6 = tilemap_create(machine, get_joe_tile_info_6, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_joetilemap7 = tilemap_create(machine, get_joe_tile_info_7, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_joetilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_joetilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_2),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_joetilemap3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_3),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_joetilemap4 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_4),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_joetilemap5 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_5),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_joetilemap6 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_6),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_joetilemap7 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ashnojoe_state::get_joe_tile_info_7),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_joetilemap->set_transparent_pen(15);
state->m_joetilemap2->set_transparent_pen(15);
diff --git a/src/mame/video/atarifb.c b/src/mame/video/atarifb.c
index c03486dc5ac..7457ac9246c 100644
--- a/src/mame/video/atarifb.c
+++ b/src/mame/video/atarifb.c
@@ -27,27 +27,24 @@ static void get_tile_info_common( running_machine &machine, tile_data &tileinfo,
}
-static TILE_GET_INFO( alpha1_get_tile_info )
+TILE_GET_INFO_MEMBER(atarifb_state::alpha1_get_tile_info)
{
- atarifb_state *state = machine.driver_data<atarifb_state>();
- get_tile_info_common(machine, tileinfo, tile_index, state->m_alphap1_videoram);
+ get_tile_info_common(machine(), tileinfo, tile_index, m_alphap1_videoram);
}
-static TILE_GET_INFO( alpha2_get_tile_info )
+TILE_GET_INFO_MEMBER(atarifb_state::alpha2_get_tile_info)
{
- atarifb_state *state = machine.driver_data<atarifb_state>();
- get_tile_info_common(machine, tileinfo, tile_index, state->m_alphap2_videoram);
+ get_tile_info_common(machine(), tileinfo, tile_index, m_alphap2_videoram);
}
-static TILE_GET_INFO( field_get_tile_info )
+TILE_GET_INFO_MEMBER(atarifb_state::field_get_tile_info)
{
- atarifb_state *state = machine.driver_data<atarifb_state>();
- int code = state->m_field_videoram[tile_index] & 0x3f;
- int flipyx = state->m_field_videoram[tile_index] >> 6;
+ int code = m_field_videoram[tile_index] & 0x3f;
+ int flipyx = m_field_videoram[tile_index] >> 6;
- SET_TILE_INFO(1, code, 0, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX(flipyx));
}
@@ -94,9 +91,9 @@ VIDEO_START( atarifb )
{
atarifb_state *state = machine.driver_data<atarifb_state>();
- state->m_alpha1_tilemap = tilemap_create(machine, alpha1_get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 3, 32);
- state->m_alpha2_tilemap = tilemap_create(machine, alpha2_get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 3, 32);
- state->m_field_tilemap = tilemap_create(machine, field_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_alpha1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarifb_state::alpha1_get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 3, 32);
+ state->m_alpha2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarifb_state::alpha2_get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 3, 32);
+ state->m_field_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarifb_state::field_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/atarig1.c b/src/mame/video/atarig1.c
index 4e82336d449..6d8865e9c05 100644
--- a/src/mame/video/atarig1.c
+++ b/src/mame/video/atarig1.c
@@ -16,24 +16,22 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(atarig1_state::get_alpha_tile_info)
{
- atarig1_state *state = machine.driver_data<atarig1_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0xfff;
int color = (data >> 12) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(atarig1_state::get_playfield_tile_info)
{
- atarig1_state *state = machine.driver_data<atarig1_state>();
- UINT16 data = state->m_playfield[tile_index];
- int code = (state->m_playfield_tile_bank << 12) | (data & 0xfff);
+ UINT16 data = m_playfield[tile_index];
+ int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
int color = (data >> 12) & 7;
- SET_TILE_INFO(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
}
@@ -52,13 +50,13 @@ VIDEO_START( atarig1 )
atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x10);
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarig1_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
/* initialize the motion objects */
state->m_rle = machine.device("rle");
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarig1_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
/* reset statics */
diff --git a/src/mame/video/atarig42.c b/src/mame/video/atarig42.c
index 7e2f7bcb7c9..1c298021b18 100644
--- a/src/mame/video/atarig42.c
+++ b/src/mame/video/atarig42.c
@@ -31,29 +31,27 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(atarig42_state::get_alpha_tile_info)
{
- atarig42_state *state = machine.driver_data<atarig42_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0xfff;
int color = (data >> 12) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(atarig42_state::get_playfield_tile_info)
{
- atarig42_state *state = machine.driver_data<atarig42_state>();
- UINT16 data = state->m_playfield[tile_index];
- int code = (state->m_playfield_tile_bank << 12) | (data & 0xfff);
- int color = (state->m_playfield_base >> 5) + ((state->m_playfield_color_bank << 3) & 0x18) + ((data >> 12) & 7);
- SET_TILE_INFO(0, code, color, (data >> 15) & 1);
- tileinfo.category = (state->m_playfield_color_bank >> 2) & 7;
+ UINT16 data = m_playfield[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);
+ tileinfo.category = (m_playfield_color_bank >> 2) & 7;
}
-static TILEMAP_MAPPER( atarig42_playfield_scan )
+TILEMAP_MAPPER_MEMBER(atarig42_state::atarig42_playfield_scan)
{
int bank = 1 - (col / (num_cols / 2));
return bank * (num_rows * num_cols / 2) + row * (num_cols / 2) + (col % (num_cols / 2));
@@ -75,13 +73,13 @@ VIDEO_START( atarig42 )
atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x30);
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, atarig42_playfield_scan, 8,8, 128,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarig42_state::get_playfield_tile_info),state), tilemap_mapper_delegate(FUNC(atarig42_state::atarig42_playfield_scan),state), 8,8, 128,64);
/* initialize the motion objects */
state->m_rle = machine.device("rle");
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarig42_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
/* save states */
diff --git a/src/mame/video/atarigt.c b/src/mame/video/atarigt.c
index 3bffdf98f98..0c176b29c0a 100644
--- a/src/mame/video/atarigt.c
+++ b/src/mame/video/atarigt.c
@@ -42,27 +42,25 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(atarigt_state::get_alpha_tile_info)
{
- atarigt_state *state = machine.driver_data<atarigt_state>();
- UINT16 data = state->m_alpha32[tile_index / 2] >> (16 * (~tile_index & 1));
+ UINT16 data = m_alpha32[tile_index / 2] >> (16 * (~tile_index & 1));
int code = data & 0xfff;
int color = (data >> 12) & 0x0f;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(atarigt_state::get_playfield_tile_info)
{
- atarigt_state *state = machine.driver_data<atarigt_state>();
- UINT16 data = state->m_playfield32[tile_index / 2] >> (16 * (~tile_index & 1));
- int code = (state->m_playfield_tile_bank << 12) | (data & 0xfff);
+ UINT16 data = m_playfield32[tile_index / 2] >> (16 * (~tile_index & 1));
+ int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
int color = (data >> 12) & 7;
- SET_TILE_INFO(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
}
-static TILEMAP_MAPPER( atarigt_playfield_scan )
+TILEMAP_MAPPER_MEMBER(atarigt_state::atarigt_playfield_scan)
{
int bank = 1 - (col / (num_cols / 2));
return bank * (num_rows * num_cols / 2) + row * (num_cols / 2) + (col % (num_cols / 2));
@@ -86,13 +84,13 @@ VIDEO_START( atarigt )
atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x30);
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, atarigt_playfield_scan, 8,8, 128,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarigt_state::get_playfield_tile_info),state), tilemap_mapper_delegate(FUNC(atarigt_state::atarigt_playfield_scan),state), 8,8, 128,64);
/* initialize the motion objects */
state->m_rle = machine.device("rle");
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarigt_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
/* allocate temp bitmaps */
width = machine.primary_screen->width();
diff --git a/src/mame/video/atarigx2.c b/src/mame/video/atarigx2.c
index 3922039da2a..88a287a03b7 100644
--- a/src/mame/video/atarigx2.c
+++ b/src/mame/video/atarigx2.c
@@ -31,29 +31,27 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(atarigx2_state::get_alpha_tile_info)
{
- atarigx2_state *state = machine.driver_data<atarigx2_state>();
- UINT16 data = state->m_alpha32[tile_index / 2] >> (16 * (~tile_index & 1));
+ UINT16 data = m_alpha32[tile_index / 2] >> (16 * (~tile_index & 1));
int code = data & 0xfff;
int color = (data >> 12) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(atarigx2_state::get_playfield_tile_info)
{
- atarigx2_state *state = machine.driver_data<atarigx2_state>();
- UINT16 data = state->m_playfield32[tile_index / 2] >> (16 * (~tile_index & 1));
- int code = (state->m_playfield_tile_bank << 12) | (data & 0xfff);
- int color = (state->m_playfield_base >> 5) + ((state->m_playfield_color_bank << 3) & 0x18) + ((data >> 12) & 7);
- SET_TILE_INFO(0, code, color, (data >> 15) & 1);
- tileinfo.category = (state->m_playfield_color_bank >> 2) & 7;
+ UINT16 data = m_playfield32[tile_index / 2] >> (16 * (~tile_index & 1));
+ 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);
+ tileinfo.category = (m_playfield_color_bank >> 2) & 7;
}
-static TILEMAP_MAPPER( atarigx2_playfield_scan )
+TILEMAP_MAPPER_MEMBER(atarigx2_state::atarigx2_playfield_scan)
{
int bank = 1 - (col / (num_cols / 2));
return bank * (num_rows * num_cols / 2) + row * (num_cols / 2) + (col % (num_cols / 2));
@@ -75,13 +73,13 @@ VIDEO_START( atarigx2 )
atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x30);
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, atarigx2_playfield_scan, 8,8, 128,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarigx2_state::get_playfield_tile_info),state), tilemap_mapper_delegate(FUNC(atarigx2_state::atarigx2_playfield_scan),state), 8,8, 128,64);
/* initialize the motion objects */
state->m_rle = machine.device("rle");
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarigx2_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
/* save states */
diff --git a/src/mame/video/atarisy1.c b/src/mame/video/atarisy1.c
index e5db4fc3702..c2d5e21ef33 100644
--- a/src/mame/video/atarisy1.c
+++ b/src/mame/video/atarisy1.c
@@ -92,26 +92,24 @@ static int get_bank(running_machine &machine, UINT8 prom1, UINT8 prom2, int bpp)
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(atarisy1_state::get_alpha_tile_info)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0x3ff;
int color = (data >> 10) & 0x07;
int opaque = data & 0x2000;
- SET_TILE_INFO(0, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(0, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(atarisy1_state::get_playfield_tile_info)
{
- atarisy1_state *state = machine.driver_data<atarisy1_state>();
- UINT16 data = state->m_playfield[tile_index];
- UINT16 lookup = state->m_playfield_lookup[((data >> 8) & 0x7f) | (state->m_playfield_tile_bank << 7)];
+ UINT16 data = m_playfield[tile_index];
+ UINT16 lookup = m_playfield_lookup[((data >> 8) & 0x7f) | (m_playfield_tile_bank << 7)];
int gfxindex = (lookup >> 8) & 15;
int code = ((lookup & 0xff) << 8) | (data & 0xff);
- int color = 0x20 + (((lookup >> 12) & 15) << state->m_bank_color_shift[gfxindex]);
- SET_TILE_INFO(gfxindex, code, color, (data >> 15) & 1);
+ int color = 0x20 + (((lookup >> 12) & 15) << m_bank_color_shift[gfxindex]);
+ SET_TILE_INFO_MEMBER(gfxindex, code, color, (data >> 15) & 1);
}
@@ -171,13 +169,13 @@ VIDEO_START( atarisy1 )
decode_gfx(machine, state->m_playfield_lookup, motable);
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarisy1_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarisy1_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
/* modify the motion object code lookup */
diff --git a/src/mame/video/atarisy2.c b/src/mame/video/atarisy2.c
index b4dd5ae9742..89a8eb41e72 100644
--- a/src/mame/video/atarisy2.c
+++ b/src/mame/video/atarisy2.c
@@ -27,23 +27,21 @@ static TIMER_CALLBACK( reset_yscroll_callback );
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(atarisy2_state::get_alpha_tile_info)
{
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0x3ff;
int color = (data >> 13) & 0x07;
- SET_TILE_INFO(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(atarisy2_state::get_playfield_tile_info)
{
- atarisy2_state *state = machine.driver_data<atarisy2_state>();
- UINT16 data = state->m_playfield[tile_index];
- int code = state->m_playfield_tile_bank[(data >> 10) & 1] + (data & 0x3ff);
+ UINT16 data = m_playfield[tile_index];
+ int code = m_playfield_tile_bank[(data >> 10) & 1] + (data & 0x3ff);
int color = (data >> 11) & 7;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
tileinfo.category = (~data >> 14) & 3;
}
@@ -100,13 +98,13 @@ VIDEO_START( atarisy2 )
state->m_playfield.set_target(&state->m_vram[0x2000], 0x2000);
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS, 8,8, 128,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarisy2_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 128,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,48);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atarisy2_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,48);
state->m_alpha_tilemap->set_transparent_pen(0);
/* reset the statics */
diff --git a/src/mame/video/atetris.c b/src/mame/video/atetris.c
index 16027657375..289bd684106 100644
--- a/src/mame/video/atetris.c
+++ b/src/mame/video/atetris.c
@@ -14,14 +14,13 @@
*
*************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(atetris_state::get_tile_info)
{
- atetris_state *state = machine.driver_data<atetris_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
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(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -52,7 +51,7 @@ VIDEO_START( atetris )
{
atetris_state *state = machine.driver_data<atetris_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(atetris_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
}
diff --git a/src/mame/video/badlands.c b/src/mame/video/badlands.c
index 0af83b2ca64..2310c17f246 100644
--- a/src/mame/video/badlands.c
+++ b/src/mame/video/badlands.c
@@ -16,13 +16,12 @@
*
*************************************/
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(badlands_state::get_playfield_tile_info)
{
- badlands_state *state = machine.driver_data<badlands_state>();
- UINT16 data = state->m_playfield[tile_index];
- int code = (data & 0x1fff) + ((data & 0x1000) ? (state->m_playfield_tile_bank << 12) : 0);
+ UINT16 data = m_playfield[tile_index];
+ int code = (data & 0x1fff) + ((data & 0x1000) ? (m_playfield_tile_bank << 12) : 0);
int color = (data >> 13) & 0x07;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -74,7 +73,7 @@ VIDEO_START( badlands )
badlands_state *state = machine.driver_data<badlands_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(badlands_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
diff --git a/src/mame/video/bagman.c b/src/mame/video/bagman.c
index 3a1d6b2928c..4c92a8ce26e 100644
--- a/src/mame/video/bagman.c
+++ b/src/mame/video/bagman.c
@@ -89,20 +89,19 @@ WRITE8_MEMBER(bagman_state::bagman_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(bagman_state::get_bg_tile_info)
{
- bagman_state *state = machine.driver_data<bagman_state>();
- int gfxbank = (machine.gfx[2] && (state->m_colorram[tile_index] & 0x10)) ? 2 : 0;
- int code = state->m_videoram[tile_index] + 8 * (state->m_colorram[tile_index] & 0x20);
- int color = state->m_colorram[tile_index] & 0x0f;
+ int gfxbank = (machine().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(gfxbank, code, color, 0);
+ SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
}
VIDEO_START( bagman )
{
bagman_state *state = machine.driver_data<bagman_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bagman_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_bg_tilemap->set_scrolldy(-1, -1);
diff --git a/src/mame/video/bankp.c b/src/mame/video/bankp.c
index 04af6dcf5e3..c74c4246fcc 100644
--- a/src/mame/video/bankp.c
+++ b/src/mame/video/bankp.c
@@ -132,25 +132,23 @@ WRITE8_MEMBER(bankp_state::bankp_out_w)
/* bits 6-7 unknown */
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(bankp_state::get_bg_tile_info)
{
- bankp_state *state = machine.driver_data<bankp_state>();
- int code = state->m_videoram2[tile_index] + 256 * (state->m_colorram2[tile_index] & 0x07);
- int color = state->m_colorram2[tile_index] >> 4;
- int flags = (state->m_colorram2[tile_index] & 0x08) ? TILE_FLIPX : 0;
+ int code = m_videoram2[tile_index] + 256 * (m_colorram2[tile_index] & 0x07);
+ int color = m_colorram2[tile_index] >> 4;
+ int flags = (m_colorram2[tile_index] & 0x08) ? TILE_FLIPX : 0;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
tileinfo.group = color;
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(bankp_state::get_fg_tile_info)
{
- bankp_state *state = machine.driver_data<bankp_state>();
- int code = state->m_videoram[tile_index] + 256 * ((state->m_colorram[tile_index] & 3) >> 0);
- int color = state->m_colorram[tile_index] >> 3;
- int flags = (state->m_colorram[tile_index] & 0x04) ? TILE_FLIPX : 0;
+ int code = m_videoram[tile_index] + 256 * ((m_colorram[tile_index] & 3) >> 0);
+ int color = m_colorram[tile_index] >> 3;
+ int flags = (m_colorram[tile_index] & 0x04) ? TILE_FLIPX : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
tileinfo.group = color;
}
@@ -158,8 +156,8 @@ VIDEO_START( bankp )
{
bankp_state *state = machine.driver_data<bankp_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bankp_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bankp_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[1], 0);
colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0);
diff --git a/src/mame/video/baraduke.c b/src/mame/video/baraduke.c
index 01a5ffb3de2..e6930cee1cd 100644
--- a/src/mame/video/baraduke.c
+++ b/src/mame/video/baraduke.c
@@ -58,7 +58,7 @@ PALETTE_INIT( baraduke )
***************************************************************************/
/* convert from 32x32 to 36x28 */
-static TILEMAP_MAPPER( tx_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(baraduke_state::tx_tilemap_scan)
{
int offs;
@@ -72,36 +72,33 @@ static TILEMAP_MAPPER( tx_tilemap_scan )
return offs;
}
-static TILE_GET_INFO( tx_get_tile_info )
+TILE_GET_INFO_MEMBER(baraduke_state::tx_get_tile_info)
{
- baraduke_state *state = machine.driver_data<baraduke_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_textram[tile_index],
- (state->m_textram[tile_index+0x400] << 2) & 0x1ff,
+ m_textram[tile_index],
+ (m_textram[tile_index+0x400] << 2) & 0x1ff,
0);
}
-static TILE_GET_INFO( get_tile_info0 )
+TILE_GET_INFO_MEMBER(baraduke_state::get_tile_info0)
{
- baraduke_state *state = machine.driver_data<baraduke_state>();
- int code = state->m_videoram[2*tile_index];
- int attr = state->m_videoram[2*tile_index + 1];
+ int code = m_videoram[2*tile_index];
+ int attr = m_videoram[2*tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code + ((attr & 0x03) << 8),
attr,
0);
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(baraduke_state::get_tile_info1)
{
- baraduke_state *state = machine.driver_data<baraduke_state>();
- int code = state->m_videoram[0x1000 + 2*tile_index];
- int attr = state->m_videoram[0x1000 + 2*tile_index + 1];
+ int code = m_videoram[0x1000 + 2*tile_index];
+ int attr = m_videoram[0x1000 + 2*tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
code + ((attr & 0x03) << 8),
attr,
@@ -119,9 +116,9 @@ static TILE_GET_INFO( get_tile_info1 )
VIDEO_START( baraduke )
{
baraduke_state *state = machine.driver_data<baraduke_state>();
- state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,tx_tilemap_scan,8,8,36,28);
- state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0,TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(baraduke_state::tx_get_tile_info),state),tilemap_mapper_delegate(FUNC(baraduke_state::tx_tilemap_scan),state),8,8,36,28);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(baraduke_state::get_tile_info0),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(baraduke_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_tx_tilemap->set_transparent_pen(3);
state->m_bg_tilemap[0]->set_transparent_pen(7);
diff --git a/src/mame/video/batman.c b/src/mame/video/batman.c
index d59ef66abfa..6953e5270cf 100644
--- a/src/mame/video/batman.c
+++ b/src/mame/video/batman.c
@@ -16,37 +16,34 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(batman_state::get_alpha_tile_info)
{
- batman_state *state = machine.driver_data<batman_state>();
- UINT16 data = state->m_alpha[tile_index];
- int code = ((data & 0x400) ? (state->m_alpha_tile_bank * 0x400) : 0) + (data & 0x3ff);
+ UINT16 data = m_alpha[tile_index];
+ int code = ((data & 0x400) ? (m_alpha_tile_bank * 0x400) : 0) + (data & 0x3ff);
int color = (data >> 11) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(batman_state::get_playfield_tile_info)
{
- batman_state *state = machine.driver_data<batman_state>();
- UINT16 data1 = state->m_playfield[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] & 0xff;
+ UINT16 data1 = m_playfield[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] & 0xff;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
tileinfo.category = (data2 >> 4) & 3;
}
-static TILE_GET_INFO( get_playfield2_tile_info )
+TILE_GET_INFO_MEMBER(batman_state::get_playfield2_tile_info)
{
- batman_state *state = machine.driver_data<batman_state>();
- UINT16 data1 = state->m_playfield2[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
+ UINT16 data1 = m_playfield2[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] >> 8;
int code = data1 & 0x7fff;
int color = data2 & 0x0f;
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
tileinfo.category = (data2 >> 4) & 3;
}
@@ -99,17 +96,17 @@ VIDEO_START( batman )
batman_state *state = machine.driver_data<batman_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(batman_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the second playfield */
- state->m_playfield2_tilemap = tilemap_create(machine, get_playfield2_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(batman_state::get_playfield2_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
state->m_playfield2_tilemap->set_transparent_pen(0);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(batman_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/battlane.c b/src/mame/video/battlane.c
index 54299ff6a3b..8ab9a5af660 100644
--- a/src/mame/video/battlane.c
+++ b/src/mame/video/battlane.c
@@ -92,18 +92,17 @@ WRITE8_MEMBER(battlane_state::battlane_video_ctrl_w)
m_video_ctrl = data;
}
-static TILE_GET_INFO( get_tile_info_bg )
+TILE_GET_INFO_MEMBER(battlane_state::get_tile_info_bg)
{
- battlane_state *state = machine.driver_data<battlane_state>();
- int code = state->m_tileram[tile_index];
- int attr = state->m_tileram[tile_index + 0x400];
+ int code = m_tileram[tile_index];
+ int attr = m_tileram[tile_index + 0x400];
int gfxn = (attr & 0x01) + 1;
int color = (attr >> 1) & 0x03;
- SET_TILE_INFO(gfxn, code, color, 0);
+ SET_TILE_INFO_MEMBER(gfxn, code, color, 0);
}
-static TILEMAP_MAPPER( battlane_tilemap_scan_rows_2x2 )
+TILEMAP_MAPPER_MEMBER(battlane_state::battlane_tilemap_scan_rows_2x2)
{
/*
Tilemap Memory Organization
@@ -137,7 +136,7 @@ static TILEMAP_MAPPER( battlane_tilemap_scan_rows_2x2 )
VIDEO_START( battlane )
{
battlane_state *state = machine.driver_data<battlane_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, battlane_tilemap_scan_rows_2x2, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(battlane_state::get_tile_info_bg),state), tilemap_mapper_delegate(FUNC(battlane_state::battlane_tilemap_scan_rows_2x2),state), 16, 16, 32, 32);
state->m_screen_bitmap.allocate(32 * 8, 32 * 8);
}
diff --git a/src/mame/video/battlex.c b/src/mame/video/battlex.c
index 249e7cf2c73..74eafd02cc9 100644
--- a/src/mame/video/battlex.c
+++ b/src/mame/video/battlex.c
@@ -45,19 +45,18 @@ WRITE8_MEMBER(battlex_state::battlex_flipscreen_w)
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(battlex_state::get_bg_tile_info)
{
- battlex_state *state = machine.driver_data<battlex_state>();
- int tile = state->m_videoram[tile_index * 2] | (((state->m_videoram[tile_index * 2 + 1] & 0x01)) << 8);
- int color = (state->m_videoram[tile_index * 2 + 1] & 0x0e) >> 1; // high bits unused
+ 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(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(0, tile, color, 0);
}
VIDEO_START( battlex )
{
battlex_state *state = machine.driver_data<battlex_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(battlex_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/bbusters.c b/src/mame/video/bbusters.c
index 4a473765cbe..5185456d3bf 100644
--- a/src/mame/video/bbusters.c
+++ b/src/mame/video/bbusters.c
@@ -27,28 +27,25 @@
/******************************************************************************/
-static TILE_GET_INFO( get_bbusters_tile_info )
+TILE_GET_INFO_MEMBER(bbusters_state::get_bbusters_tile_info)
{
- bbusters_state *state = machine.driver_data<bbusters_state>();
- UINT16 tile = state->m_videoram[tile_index];
+ UINT16 tile = m_videoram[tile_index];
- SET_TILE_INFO(0,tile&0xfff,tile>>12,0);
+ SET_TILE_INFO_MEMBER(0,tile&0xfff,tile>>12,0);
}
-static TILE_GET_INFO( get_pf1_tile_info )
+TILE_GET_INFO_MEMBER(bbusters_state::get_pf1_tile_info)
{
- bbusters_state *state = machine.driver_data<bbusters_state>();
- UINT16 tile = state->m_pf1_data[tile_index];
+ UINT16 tile = m_pf1_data[tile_index];
- SET_TILE_INFO(3,tile&0xfff,tile>>12,0);
+ SET_TILE_INFO_MEMBER(3,tile&0xfff,tile>>12,0);
}
-static TILE_GET_INFO( get_pf2_tile_info )
+TILE_GET_INFO_MEMBER(bbusters_state::get_pf2_tile_info)
{
- bbusters_state *state = machine.driver_data<bbusters_state>();
- UINT16 tile = state->m_pf2_data[tile_index];
+ UINT16 tile = m_pf2_data[tile_index];
- SET_TILE_INFO(4,tile&0xfff,tile>>12,0);
+ SET_TILE_INFO_MEMBER(4,tile&0xfff,tile>>12,0);
}
WRITE16_MEMBER(bbusters_state::bbusters_video_w)
@@ -78,9 +75,9 @@ VIDEO_START( bbuster )
{
bbusters_state *state = machine.driver_data<bbusters_state>();
- state->m_fix_tilemap = tilemap_create(machine, get_bbusters_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_pf1_tilemap = tilemap_create(machine, get_pf1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_pf2_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_bbusters_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf2_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
state->m_pf1_tilemap->set_transparent_pen(15);
state->m_fix_tilemap->set_transparent_pen(15);
@@ -90,9 +87,9 @@ VIDEO_START( mechatt )
{
bbusters_state *state = machine.driver_data<bbusters_state>();
- state->m_fix_tilemap = tilemap_create(machine, get_bbusters_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_pf1_tilemap = tilemap_create(machine, get_pf1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 256, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_pf2_tile_info, TILEMAP_SCAN_COLS, 16, 16, 256, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_bbusters_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 256, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bbusters_state::get_pf2_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 256, 32);
state->m_pf1_tilemap->set_transparent_pen(15);
state->m_fix_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/bigstrkb.c b/src/mame/video/bigstrkb.c
index 3ed6e94a1a3..985b7b9a882 100644
--- a/src/mame/video/bigstrkb.c
+++ b/src/mame/video/bigstrkb.c
@@ -48,7 +48,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
/* Tilemaps */
-static TILEMAP_MAPPER( bsb_bg_scan )
+TILEMAP_MAPPER_MEMBER(bigstrkb_state::bsb_bg_scan)
{
int offset;
@@ -59,15 +59,14 @@ static TILEMAP_MAPPER( bsb_bg_scan )
return offset;
}
-static TILE_GET_INFO( get_bsb_tile_info )
+TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile_info)
{
- bigstrkb_state *state = machine.driver_data<bigstrkb_state>();
int tileno,col;
- tileno = state->m_videoram[tile_index] & 0x0fff;
- col= state->m_videoram[tile_index] & 0xf000;
+ tileno = m_videoram[tile_index] & 0x0fff;
+ col= m_videoram[tile_index] & 0xf000;
- SET_TILE_INFO(0,tileno,col>>12,0);
+ SET_TILE_INFO_MEMBER(0,tileno,col>>12,0);
}
WRITE16_MEMBER(bigstrkb_state::bsb_videoram_w)
@@ -76,15 +75,14 @@ WRITE16_MEMBER(bigstrkb_state::bsb_videoram_w)
m_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bsb_tile2_info )
+TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile2_info)
{
- bigstrkb_state *state = machine.driver_data<bigstrkb_state>();
int tileno,col;
- tileno = state->m_videoram2[tile_index] & 0x0fff;
- col= state->m_videoram2[tile_index] & 0xf000;
+ tileno = m_videoram2[tile_index] & 0x0fff;
+ col= m_videoram2[tile_index] & 0xf000;
- SET_TILE_INFO(1,tileno,col>>12,0);
+ SET_TILE_INFO_MEMBER(1,tileno,col>>12,0);
}
WRITE16_MEMBER(bigstrkb_state::bsb_videoram2_w)
@@ -94,15 +92,14 @@ WRITE16_MEMBER(bigstrkb_state::bsb_videoram2_w)
}
-static TILE_GET_INFO( get_bsb_tile3_info )
+TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile3_info)
{
- bigstrkb_state *state = machine.driver_data<bigstrkb_state>();
int tileno,col;
- tileno = state->m_videoram3[tile_index] & 0x0fff;
- col= state->m_videoram3[tile_index] & 0xf000;
+ tileno = m_videoram3[tile_index] & 0x0fff;
+ col= m_videoram3[tile_index] & 0xf000;
- SET_TILE_INFO(1,tileno+0x2000,(col>>12)+(0x100/16),0);
+ SET_TILE_INFO_MEMBER(1,tileno+0x2000,(col>>12)+(0x100/16),0);
}
WRITE16_MEMBER(bigstrkb_state::bsb_videoram3_w)
@@ -116,9 +113,9 @@ WRITE16_MEMBER(bigstrkb_state::bsb_videoram3_w)
VIDEO_START(bigstrkb)
{
bigstrkb_state *state = machine.driver_data<bigstrkb_state>();
- state->m_tilemap = tilemap_create(machine, get_bsb_tile_info,TILEMAP_SCAN_COLS, 8, 8,64,32);
- state->m_tilemap2 = tilemap_create(machine, get_bsb_tile2_info,bsb_bg_scan, 16, 16,128,64);
- state->m_tilemap3 = tilemap_create(machine, get_bsb_tile3_info,bsb_bg_scan, 16, 16,128,64);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile_info),state),TILEMAP_SCAN_COLS, 8, 8,64,32);
+ state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile2_info),state),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),state), 16, 16,128,64);
+ state->m_tilemap3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bigstrkb_state::get_bsb_tile3_info),state),tilemap_mapper_delegate(FUNC(bigstrkb_state::bsb_bg_scan),state), 16, 16,128,64);
state->m_tilemap->set_transparent_pen(15);
//state->m_tilemap2->set_transparent_pen(15);
diff --git a/src/mame/video/bionicc.c b/src/mame/video/bionicc.c
index 9c0f68e26b4..fa7f88ac9e3 100644
--- a/src/mame/video/bionicc.c
+++ b/src/mame/video/bionicc.c
@@ -33,23 +33,21 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(bionicc_state::get_bg_tile_info)
{
- bionicc_state *state = machine.driver_data<bionicc_state>();
- int attr = state->m_bgvideoram[2 * tile_index + 1];
- SET_TILE_INFO(
+ int attr = m_bgvideoram[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
1,
- (state->m_bgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
+ (m_bgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
(attr & 0x18) >> 3,
TILE_FLIPXY((attr & 0xc0) >> 6));
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(bionicc_state::get_fg_tile_info)
{
- bionicc_state *state = machine.driver_data<bionicc_state>();
- int attr = state->m_fgvideoram[2 * tile_index + 1];
+ int attr = m_fgvideoram[2 * tile_index + 1];
int flags;
if ((attr & 0xc0) == 0xc0)
@@ -65,21 +63,20 @@ static TILE_GET_INFO( get_fg_tile_info )
flags = TILE_FLIPXY((attr & 0xc0) >> 6);
}
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
- (state->m_fgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
+ (m_fgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
(attr & 0x18) >> 3,
flags);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(bionicc_state::get_tx_tile_info)
{
- bionicc_state *state = machine.driver_data<bionicc_state>();
- int attr = state->m_txvideoram[tile_index + 0x400];
- SET_TILE_INFO(
+ int attr = m_txvideoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
0,
- (state->m_txvideoram[tile_index] & 0xff) + ((attr & 0x00c0) << 2),
+ (m_txvideoram[tile_index] & 0xff) + ((attr & 0x00c0) << 2),
attr & 0x3f,
0);
}
@@ -96,9 +93,9 @@ VIDEO_START( bionicc )
{
bionicc_state *state = machine.driver_data<bionicc_state>();
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bionicc_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bionicc_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bionicc_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_tx_tilemap->set_transparent_pen(3);
state->m_fg_tilemap->set_transmask(0, 0xffff, 0x8000); /* split type 0 is completely transparent in front half */
diff --git a/src/mame/video/bking.c b/src/mame/video/bking.c
index 01559a8a5ed..b5779dfbffe 100644
--- a/src/mame/video/bking.c
+++ b/src/mame/video/bking.c
@@ -208,25 +208,24 @@ READ8_MEMBER(bking_state::bking_pos_r)
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(bking_state::get_tile_info)
{
- bking_state *state = machine.driver_data<bking_state>();
- UINT8 code0 = state->m_playfield_ram[2 * tile_index + 0];
- UINT8 code1 = state->m_playfield_ram[2 * tile_index + 1];
+ UINT8 code0 = m_playfield_ram[2 * tile_index + 0];
+ UINT8 code1 = m_playfield_ram[2 * tile_index + 1];
int flags = 0;
if (code1 & 4) flags |= TILE_FLIPX;
if (code1 & 8) flags |= TILE_FLIPY;
- SET_TILE_INFO(0, code0 + 256 * code1, state->m_palette_bank, flags);
+ SET_TILE_INFO_MEMBER(0, code0 + 256 * code1, m_palette_bank, flags);
}
VIDEO_START( bking )
{
bking_state *state = machine.driver_data<bking_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bking_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap1);
machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap2);
diff --git a/src/mame/video/blktiger.c b/src/mame/video/blktiger.c
index 1bb022a7193..891007b2741 100644
--- a/src/mame/video/blktiger.c
+++ b/src/mame/video/blktiger.c
@@ -12,21 +12,20 @@
***************************************************************************/
-static TILEMAP_MAPPER( bg8x4_scan )
+TILEMAP_MAPPER_MEMBER(blktiger_state::bg8x4_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x70) << 4) + ((row & 0x30) << 7);
}
-static TILEMAP_MAPPER( bg4x8_scan )
+TILEMAP_MAPPER_MEMBER(blktiger_state::bg4x8_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x30) << 4) + ((row & 0x70) << 6);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(blktiger_state::get_bg_tile_info)
{
- blktiger_state *state = machine.driver_data<blktiger_state>();
/* the tile priority table is a guess compiled by looking at the game. It
was not derived from a PROM so it could be wrong. */
static const UINT8 split_table[16] =
@@ -36,23 +35,22 @@ static TILE_GET_INFO( get_bg_tile_info )
0,0,0,0,
0,0,0,0
};
- UINT8 attr = state->m_scroll_ram[2 * tile_index + 1];
+ UINT8 attr = m_scroll_ram[2 * tile_index + 1];
int color = (attr & 0x78) >> 3;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- state->m_scroll_ram[2 * tile_index] + ((attr & 0x07) << 8),
+ m_scroll_ram[2 * tile_index] + ((attr & 0x07) << 8),
color,
(attr & 0x80) ? TILE_FLIPX : 0);
tileinfo.group = split_table[color];
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(blktiger_state::get_tx_tile_info)
{
- blktiger_state *state = machine.driver_data<blktiger_state>();
- UINT8 attr = state->m_txvideoram[tile_index + 0x400];
- SET_TILE_INFO(
+ UINT8 attr = m_txvideoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_txvideoram[tile_index] + ((attr & 0xe0) << 3),
+ m_txvideoram[tile_index] + ((attr & 0xe0) << 3),
attr & 0x1f,
0);
}
@@ -75,9 +73,9 @@ VIDEO_START( blktiger )
state->m_scroll_ram = auto_alloc_array(machine, UINT8, BGRAM_BANK_SIZE * BGRAM_BANKS);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap8x4 = tilemap_create(machine, get_bg_tile_info, bg8x4_scan, 16, 16, 128, 64);
- state->m_bg_tilemap4x8 = tilemap_create(machine, get_bg_tile_info, bg4x8_scan, 16, 16, 64, 128);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blktiger_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap8x4 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blktiger_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(blktiger_state::bg8x4_scan),state), 16, 16, 128, 64);
+ state->m_bg_tilemap4x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blktiger_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(blktiger_state::bg4x8_scan),state), 16, 16, 64, 128);
state->m_tx_tilemap->set_transparent_pen(3);
diff --git a/src/mame/video/blmbycar.c b/src/mame/video/blmbycar.c
index f6bda156d7e..40beb5f8caf 100644
--- a/src/mame/video/blmbycar.c
+++ b/src/mame/video/blmbycar.c
@@ -70,12 +70,11 @@ WRITE16_MEMBER(blmbycar_state::blmbycar_palette_w)
#define DIM_NX (0x40)
#define DIM_NY (0x20)
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(blmbycar_state::get_tile_info_0)
{
- blmbycar_state *state = machine.driver_data<blmbycar_state>();
- UINT16 code = state->m_vram_0[tile_index * 2 + 0];
- UINT16 attr = state->m_vram_0[tile_index * 2 + 1];
- SET_TILE_INFO(
+ UINT16 code = m_vram_0[tile_index * 2 + 0];
+ UINT16 attr = m_vram_0[tile_index * 2 + 1];
+ SET_TILE_INFO_MEMBER(
0,
code,
attr & 0x1f,
@@ -84,12 +83,11 @@ static TILE_GET_INFO( get_tile_info_0 )
tileinfo.category = (attr >> 5) & 1;
}
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(blmbycar_state::get_tile_info_1)
{
- blmbycar_state *state = machine.driver_data<blmbycar_state>();
- UINT16 code = state->m_vram_1[tile_index * 2 + 0];
- UINT16 attr = state->m_vram_1[tile_index * 2 + 1];
- SET_TILE_INFO(
+ UINT16 code = m_vram_1[tile_index * 2 + 0];
+ UINT16 attr = m_vram_1[tile_index * 2 + 1];
+ SET_TILE_INFO_MEMBER(
0,
code,
attr & 0x1f,
@@ -124,8 +122,8 @@ VIDEO_START( blmbycar )
{
blmbycar_state *state = machine.driver_data<blmbycar_state>();
- state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
- state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blmbycar_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blmbycar_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
state->m_tilemap_0->set_scroll_rows(1);
state->m_tilemap_0->set_scroll_cols(1);
diff --git a/src/mame/video/blockade.c b/src/mame/video/blockade.c
index a78338c1716..eb1f0aa6173 100644
--- a/src/mame/video/blockade.c
+++ b/src/mame/video/blockade.c
@@ -13,18 +13,17 @@ WRITE8_MEMBER(blockade_state::blockade_videoram_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(blockade_state::get_bg_tile_info)
{
- blockade_state *state = machine.driver_data<blockade_state>();
- int code = state->m_videoram[tile_index];
+ int code = m_videoram[tile_index];
- SET_TILE_INFO(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
VIDEO_START( blockade )
{
blockade_state *state = machine.driver_data<blockade_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blockade_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
SCREEN_UPDATE_IND16( blockade )
diff --git a/src/mame/video/bloodbro.c b/src/mame/video/bloodbro.c
index 1a70c6b0da1..c8d18dfd22a 100644
--- a/src/mame/video/bloodbro.c
+++ b/src/mame/video/bloodbro.c
@@ -14,33 +14,30 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(bloodbro_state::get_bg_tile_info)
{
- bloodbro_state *state = machine.driver_data<bloodbro_state>();
- int code = state->m_bgvideoram[tile_index];
- SET_TILE_INFO(
+ int code = m_bgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
code & 0xfff,
(code >> 12),
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(bloodbro_state::get_fg_tile_info)
{
- bloodbro_state *state = machine.driver_data<bloodbro_state>();
- int code = state->m_fgvideoram[tile_index];
- SET_TILE_INFO(
+ int code = m_fgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(
2,
(code & 0xfff)+0x1000,
(code >> 12),
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(bloodbro_state::get_tx_tile_info)
{
- bloodbro_state *state = machine.driver_data<bloodbro_state>();
- int code = state->m_txvideoram[tile_index];
- SET_TILE_INFO(
+ int code = m_txvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
code & 0xfff,
code >> 12,
@@ -58,9 +55,9 @@ static TILE_GET_INFO( get_tx_tile_info )
VIDEO_START( bloodbro )
{
bloodbro_state *state = machine.driver_data<bloodbro_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS, 16,16,32,16);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bloodbro_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,32,16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bloodbro_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bloodbro_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
state->m_fg_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/blstroid.c b/src/mame/video/blstroid.c
index 87b2b1dc1d4..0c323e7a308 100644
--- a/src/mame/video/blstroid.c
+++ b/src/mame/video/blstroid.c
@@ -17,13 +17,12 @@
*
*************************************/
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(blstroid_state::get_playfield_tile_info)
{
- blstroid_state *state = machine.driver_data<blstroid_state>();
- UINT16 data = state->m_playfield[tile_index];
+ UINT16 data = m_playfield[tile_index];
int code = data & 0x1fff;
int color = (data >> 13) & 0x07;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -75,7 +74,7 @@ VIDEO_START( blstroid )
blstroid_state *state = machine.driver_data<blstroid_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS, 16,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blstroid_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 16,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
diff --git a/src/mame/video/blueprnt.c b/src/mame/video/blueprnt.c
index 5a509c051cb..dd2bff62054 100644
--- a/src/mame/video/blueprnt.c
+++ b/src/mame/video/blueprnt.c
@@ -72,23 +72,22 @@ WRITE8_MEMBER(blueprnt_state::blueprnt_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(blueprnt_state::get_bg_tile_info)
{
- blueprnt_state *state = machine.driver_data<blueprnt_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + 256 * state->m_gfx_bank;
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + 256 * m_gfx_bank;
int color = attr & 0x7f;
tileinfo.category = (attr & 0x80) ? 1 : 0;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( blueprnt )
{
blueprnt_state *state = machine.driver_data<blueprnt_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blueprnt_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scroll_cols(32);
diff --git a/src/mame/video/bogeyman.c b/src/mame/video/bogeyman.c
index 26be053d2b3..0961e89cd5c 100644
--- a/src/mame/video/bogeyman.c
+++ b/src/mame/video/bogeyman.c
@@ -70,33 +70,31 @@ WRITE8_MEMBER(bogeyman_state::bogeyman_paletteram_w)
paletteram_BBGGGRRR_byte_w(space, offset, ~data);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(bogeyman_state::get_bg_tile_info)
{
- bogeyman_state *state = machine.driver_data<bogeyman_state>();
- int attr = state->m_colorram[tile_index];
- int gfxbank = ((((attr & 0x01) << 8) + state->m_videoram[tile_index]) / 0x80) + 3;
- int code = state->m_videoram[tile_index] & 0x7f;
+ int attr = m_colorram[tile_index];
+ int gfxbank = ((((attr & 0x01) << 8) + m_videoram[tile_index]) / 0x80) + 3;
+ int code = m_videoram[tile_index] & 0x7f;
int color = (attr >> 1) & 0x07;
- SET_TILE_INFO(gfxbank, code, color, 0);
+ SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(bogeyman_state::get_fg_tile_info)
{
- bogeyman_state *state = machine.driver_data<bogeyman_state>();
- int attr = state->m_colorram2[tile_index];
- int tile = state->m_videoram2[tile_index] | ((attr & 0x03) << 8);
+ int attr = m_colorram2[tile_index];
+ int tile = m_videoram2[tile_index] | ((attr & 0x03) << 8);
int gfxbank = tile / 0x200;
int code = tile & 0x1ff;
- SET_TILE_INFO(gfxbank, code, state->m_colbank, 0);
+ SET_TILE_INFO_MEMBER(gfxbank, code, m_colbank, 0);
}
VIDEO_START( bogeyman )
{
bogeyman_state *state = machine.driver_data<bogeyman_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bogeyman_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bogeyman_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/bombjack.c b/src/mame/video/bombjack.c
index f7d9e277f9f..7e838a19c6d 100644
--- a/src/mame/video/bombjack.c
+++ b/src/mame/video/bombjack.c
@@ -40,34 +40,32 @@ WRITE8_MEMBER(bombjack_state::bombjack_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(bombjack_state::get_bg_tile_info)
{
- bombjack_state *state = machine.driver_data<bombjack_state>();
- UINT8 *tilerom = state->memregion("gfx4")->base();
+ UINT8 *tilerom = memregion("gfx4")->base();
- int offs = (state->m_background_image & 0x07) * 0x200 + tile_index;
- int code = (state->m_background_image & 0x10) ? tilerom[offs] : 0;
+ int offs = (m_background_image & 0x07) * 0x200 + tile_index;
+ int code = (m_background_image & 0x10) ? tilerom[offs] : 0;
int attr = tilerom[offs + 0x100];
int color = attr & 0x0f;
int flags = (attr & 0x80) ? TILE_FLIPY : 0;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(bombjack_state::get_fg_tile_info)
{
- bombjack_state *state = machine.driver_data<bombjack_state>();
- int code = state->m_videoram[tile_index] + 16 * (state->m_colorram[tile_index] & 0x10);
- int color = state->m_colorram[tile_index] & 0x0f;
+ int code = m_videoram[tile_index] + 16 * (m_colorram[tile_index] & 0x10);
+ int color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( bombjack )
{
bombjack_state *state = machine.driver_data<bombjack_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bombjack_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bombjack_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/brkthru.c b/src/mame/video/brkthru.c
index 7957465e004..a2018877eba 100644
--- a/src/mame/video/brkthru.c
+++ b/src/mame/video/brkthru.c
@@ -71,20 +71,19 @@ PALETTE_INIT( brkthru )
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(brkthru_state::get_bg_tile_info)
{
- brkthru_state *state = machine.driver_data<brkthru_state>();
/* BG RAM format
0 1
---- -c-- ---- ---- = Color
---- --xx xxxx xxxx = Code
*/
- int code = (state->m_videoram[tile_index * 2] | ((state->m_videoram[tile_index * 2 + 1]) << 8)) & 0x3ff;
+ int code = (m_videoram[tile_index * 2] | ((m_videoram[tile_index * 2 + 1]) << 8)) & 0x3ff;
int region = 1 + (code >> 7);
- int colour = state->m_bgbasecolor + ((state->m_videoram[tile_index * 2 + 1] & 0x04) >> 2);
+ int colour = m_bgbasecolor + ((m_videoram[tile_index * 2 + 1] & 0x04) >> 2);
- SET_TILE_INFO(region, code & 0x7f, colour,0);
+ SET_TILE_INFO_MEMBER(region, code & 0x7f, colour,0);
}
WRITE8_MEMBER(brkthru_state::brkthru_bgram_w)
@@ -95,11 +94,10 @@ WRITE8_MEMBER(brkthru_state::brkthru_bgram_w)
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(brkthru_state::get_fg_tile_info)
{
- brkthru_state *state = machine.driver_data<brkthru_state>();
- UINT8 code = state->m_fg_videoram[tile_index];
- SET_TILE_INFO(0, code, 0, 0);
+ UINT8 code = m_fg_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
WRITE8_MEMBER(brkthru_state::brkthru_fgram_w)
@@ -113,8 +111,8 @@ VIDEO_START( brkthru )
{
brkthru_state *state = machine.driver_data<brkthru_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(brkthru_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(brkthru_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 16);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/bsktball.c b/src/mame/video/bsktball.c
index e882e783951..f101d1ce481 100644
--- a/src/mame/video/bsktball.c
+++ b/src/mame/video/bsktball.c
@@ -15,21 +15,20 @@ WRITE8_MEMBER(bsktball_state::bsktball_videoram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(bsktball_state::get_bg_tile_info)
{
- bsktball_state *state = machine.driver_data<bsktball_state>();
- int attr = state->m_videoram[tile_index];
+ int attr = m_videoram[tile_index];
int code = ((attr & 0x0f) << 2) | ((attr & 0x30) >> 4);
int color = (attr & 0x40) >> 6;
int flags = (attr & 0x80) ? TILE_FLIPX : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( bsktball )
{
bsktball_state *state = machine.driver_data<bsktball_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bsktball_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/bwing.c b/src/mame/video/bwing.c
index 7d2e0e27d93..8e1cdc29ee5 100644
--- a/src/mame/video/bwing.c
+++ b/src/mame/video/bwing.c
@@ -170,27 +170,24 @@ WRITE8_MEMBER(bwing_state::bwing_paletteram_w)
//****************************************************************************
// Initializations
-static TILE_GET_INFO( get_fgtileinfo )
+TILE_GET_INFO_MEMBER(bwing_state::get_fgtileinfo)
{
- bwing_state *state = machine.driver_data<bwing_state>();
- tileinfo.pen_data = machine.gfx[2]->get_data(state->m_fgdata[tile_index] & (BW_NTILES - 1));
- tileinfo.palette_base = machine.gfx[2]->colorbase() + ((state->m_fgdata[tile_index] >> 7) << 3);
+ 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);
}
-static TILE_GET_INFO( get_bgtileinfo )
+TILE_GET_INFO_MEMBER(bwing_state::get_bgtileinfo)
{
- bwing_state *state = machine.driver_data<bwing_state>();
- tileinfo.pen_data = machine.gfx[3]->get_data(state->m_bgdata[tile_index] & (BW_NTILES - 1));
- tileinfo.palette_base = machine.gfx[3]->colorbase() + ((state->m_bgdata[tile_index] >> 7) << 3);
+ 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);
}
-static TILE_GET_INFO( get_charinfo )
+TILE_GET_INFO_MEMBER(bwing_state::get_charinfo)
{
- bwing_state *state = machine.driver_data<bwing_state>();
- SET_TILE_INFO(0, state->m_videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], 0, 0);
}
-static TILEMAP_MAPPER( bwing_scan_cols )
+TILEMAP_MAPPER_MEMBER(bwing_state::bwing_scan_cols)
{
return ((col << 6) + row);
}
@@ -202,9 +199,9 @@ VIDEO_START( bwing )
// UINT32 *dwptr;
int i;
- state->m_charmap = tilemap_create(machine, get_charinfo, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fgmap = tilemap_create(machine, get_fgtileinfo, bwing_scan_cols, 16, 16, 64, 64);
- state->m_bgmap = tilemap_create(machine, get_bgtileinfo, bwing_scan_cols, 16, 16, 64, 64);
+ state->m_charmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_charinfo),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_fgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_fgtileinfo),state), tilemap_mapper_delegate(FUNC(bwing_state::bwing_scan_cols),state), 16, 16, 64, 64);
+ state->m_bgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_bgtileinfo),state), tilemap_mapper_delegate(FUNC(bwing_state::bwing_scan_cols),state), 16, 16, 64, 64);
state->m_charmap->set_transparent_pen(0);
state->m_fgmap->set_transparent_pen(0);
diff --git a/src/mame/video/cabal.c b/src/mame/video/cabal.c
index e97cfc7f491..008dc78bc14 100644
--- a/src/mame/video/cabal.c
+++ b/src/mame/video/cabal.c
@@ -9,32 +9,30 @@
#include "emu.h"
#include "includes/cabal.h"
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(cabal_state::get_back_tile_info)
{
- cabal_state *state = machine.driver_data<cabal_state>();
- int tile = state->m_videoram[tile_index];
+ int tile = m_videoram[tile_index];
int color = (tile>>12)&0xf;
tile &= 0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile,
color,
0);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(cabal_state::get_text_tile_info)
{
- cabal_state *state = machine.driver_data<cabal_state>();
- int tile = state->m_colorram[tile_index];
+ int tile = m_colorram[tile_index];
int color = (tile>>10);
tile &= 0x3ff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
color,
@@ -46,8 +44,8 @@ VIDEO_START( cabal )
{
cabal_state *state = machine.driver_data<cabal_state>();
- state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,16,16);
- state->m_text_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8,8,32,32);
+ state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabal_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,16,16);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabal_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,32,32);
state->m_text_layer->set_transparent_pen(3);
state->m_background_layer->set_transparent_pen(15);
diff --git a/src/mame/video/calomega.c b/src/mame/video/calomega.c
index e3531e0f79c..654d61ff331 100644
--- a/src/mame/video/calomega.c
+++ b/src/mame/video/calomega.c
@@ -29,17 +29,16 @@ WRITE8_MEMBER(calomega_state::calomega_colorram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(calomega_state::get_bg_tile_info)
{
- calomega_state *state = machine.driver_data<calomega_state>();
/* - bits -
7654 3210
--xx xx-- tiles color.
---- --x- tiles bank.
xx-- ---x seems unused. */
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index];
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c); /* bits 2-3-4-5 for color */
@@ -52,13 +51,13 @@ static TILE_GET_INFO( get_bg_tile_info )
if (attr == 0x32) /* Is the palette wrong? */
color = 0x39; /* 0x39 is the best match */
- SET_TILE_INFO(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
VIDEO_START( calomega )
{
calomega_state *state = machine.driver_data<calomega_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 31);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(calomega_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 31);
}
SCREEN_UPDATE_IND16( calomega )
diff --git a/src/mame/video/canyon.c b/src/mame/video/canyon.c
index 59449048467..1f0d43597b3 100644
--- a/src/mame/video/canyon.c
+++ b/src/mame/video/canyon.c
@@ -15,12 +15,11 @@ WRITE8_MEMBER(canyon_state::canyon_videoram_w)
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(canyon_state::get_bg_tile_info)
{
- canyon_state *state = machine.driver_data<canyon_state>();
- UINT8 code = state->m_videoram[tile_index];
+ UINT8 code = m_videoram[tile_index];
- SET_TILE_INFO(0, code & 0x3f, code >> 7, 0);
+ SET_TILE_INFO_MEMBER(0, code & 0x3f, code >> 7, 0);
}
@@ -28,7 +27,7 @@ VIDEO_START( canyon )
{
canyon_state *state = machine.driver_data<canyon_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(canyon_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/carjmbre.c b/src/mame/video/carjmbre.c
index 50d31528ea0..af377fdb521 100644
--- a/src/mame/video/carjmbre.c
+++ b/src/mame/video/carjmbre.c
@@ -83,14 +83,13 @@ WRITE8_MEMBER(carjmbre_state::carjmbre_videoram_w)
-static TILE_GET_INFO( get_carjmbre_tile_info )
+TILE_GET_INFO_MEMBER(carjmbre_state::get_carjmbre_tile_info)
{
- carjmbre_state *state = machine.driver_data<carjmbre_state>();
- UINT32 tile_number = state->m_videoram[tile_index] & 0xff;
- UINT8 attr = state->m_videoram[tile_index + 0x400];
+ UINT32 tile_number = m_videoram[tile_index] & 0xff;
+ UINT8 attr = m_videoram[tile_index + 0x400];
tile_number += (attr & 0x80) << 1; /* bank */
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
attr & 0xf,
@@ -101,7 +100,7 @@ VIDEO_START( carjmbre )
{
carjmbre_state *state = machine.driver_data<carjmbre_state>();
- state->m_cj_tilemap = tilemap_create(machine, get_carjmbre_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_cj_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(carjmbre_state::get_carjmbre_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->save_item(NAME(state->m_flipscreen));
state->save_item(NAME(state->m_bgcolor));
}
diff --git a/src/mame/video/cave.c b/src/mame/video/cave.c
index 06efdcb74fc..7c46b731331 100644
--- a/src/mame/video/cave.c
+++ b/src/mame/video/cave.c
@@ -269,16 +269,15 @@ void sailormn_tilebank_w( running_machine &machine, int bank )
}
}
-static TILE_GET_INFO( sailormn_get_tile_info_2 )
+TILE_GET_INFO_MEMBER(cave_state::sailormn_get_tile_info_2)
{
- cave_state *state = machine.driver_data<cave_state>();
UINT32 code, color, pri;
- if (state->m_tiledim[2])
+ if (m_tiledim[2])
{
UINT32 tile;
tile = (tile_index % (512 / 8)) / 2 + ((tile_index / (512 / 8)) / 2) * (512 / 16);
- code = (state->m_vram[2][tile * 2 + 0x0000 / 2] << 16) + state->m_vram[2][tile * 2 + 0x0002 / 2];
+ code = (m_vram[2][tile * 2 + 0x0000 / 2] << 16) + m_vram[2][tile * 2 + 0x0002 / 2];
color = (code & 0x3f000000) >> (32 - 8);
pri = (code & 0xc0000000) >> (32 - 2);
@@ -289,16 +288,16 @@ static TILE_GET_INFO( sailormn_get_tile_info_2 )
}
else
{
- code = (state->m_vram[2][tile_index * 2 + 0x4000 / 2] << 16) + state->m_vram[2][tile_index * 2 + 0x4002 / 2];
+ code = (m_vram[2][tile_index * 2 + 0x4000 / 2] << 16) + m_vram[2][tile_index * 2 + 0x4002 / 2];
color = (code & 0x3f000000) >> (32 - 8);
pri = (code & 0xc0000000) >> (32 - 2);
code = (code & 0x00ffffff);
- if ((code < 0x10000) && (state->m_sailormn_tilebank))
+ if ((code < 0x10000) && (m_sailormn_tilebank))
code += 0x40000;
}
- SET_TILE_INFO( 2, code, color, 0 );
+ SET_TILE_INFO_MEMBER( 2, code, color, 0 );
tileinfo.category = pri;
}
@@ -347,10 +346,10 @@ INLINE void vram_8x8_w( address_space *space, ATTR_UNUSED offs_t offset, ATTR_UN
}
-static TILE_GET_INFO( get_tile_info_0 ) { get_tile_info(machine, tileinfo, tile_index, 0); }
-static TILE_GET_INFO( get_tile_info_1 ) { get_tile_info(machine, tileinfo, tile_index, 1); }
-static TILE_GET_INFO( get_tile_info_2 ) { get_tile_info(machine, tileinfo, tile_index, 2); }
-static TILE_GET_INFO( get_tile_info_3 ) { get_tile_info(machine, tileinfo, tile_index, 3); }
+TILE_GET_INFO_MEMBER(cave_state::get_tile_info_0){ get_tile_info(machine(), tileinfo, tile_index, 0); }
+TILE_GET_INFO_MEMBER(cave_state::get_tile_info_1){ get_tile_info(machine(), tileinfo, tile_index, 1); }
+TILE_GET_INFO_MEMBER(cave_state::get_tile_info_2){ get_tile_info(machine(), tileinfo, tile_index, 2); }
+TILE_GET_INFO_MEMBER(cave_state::get_tile_info_3){ get_tile_info(machine(), tileinfo, tile_index, 3); }
WRITE16_MEMBER(cave_state::cave_vram_0_w){ vram_w(&space, offset, data, mem_mask, 0); }
WRITE16_MEMBER(cave_state::cave_vram_1_w){ vram_w(&space, offset, data, mem_mask, 1); }
@@ -398,7 +397,7 @@ static void cave_vh_start( running_machine &machine, int num )
switch (num)
{
case 4:
- state->m_tilemap[3] = tilemap_create(machine, get_tile_info_3, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
+ state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cave_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
state->m_tilemap[3]->set_transparent_pen(0);
state->m_tilemap[3]->set_scroll_rows(1);
state->m_tilemap[3]->set_scroll_cols(1);
@@ -406,7 +405,7 @@ static void cave_vh_start( running_machine &machine, int num )
state->save_item(NAME(state->m_old_tiledim[3]));
case 3:
- state->m_tilemap[2] = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
+ state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cave_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
state->m_tilemap[2]->set_transparent_pen(0);
state->m_tilemap[2]->set_scroll_rows(1);
state->m_tilemap[2]->set_scroll_cols(1);
@@ -414,7 +413,7 @@ static void cave_vh_start( running_machine &machine, int num )
state->save_item(NAME(state->m_old_tiledim[2]));
case 2:
- state->m_tilemap[1] = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
+ state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cave_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
state->m_tilemap[1]->set_transparent_pen(0);
state->m_tilemap[1]->set_scroll_rows(1);
state->m_tilemap[1]->set_scroll_cols(1);
@@ -422,7 +421,7 @@ static void cave_vh_start( running_machine &machine, int num )
state->save_item(NAME(state->m_old_tiledim[1]));
case 1:
- state->m_tilemap[0] = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
+ state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cave_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
state->m_tilemap[0]->set_transparent_pen(0);
state->m_tilemap[0]->set_scroll_rows(1);
state->m_tilemap[0]->set_scroll_cols(1);
@@ -472,7 +471,7 @@ VIDEO_START( sailormn_3_layers )
cave_vh_start(machine, 2);
/* Layer 2 (8x8) needs to be handled differently */
- state->m_tilemap[2] = tilemap_create(machine, sailormn_get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8 );
+ state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cave_state::sailormn_get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8 );
state->m_tilemap[2]->set_transparent_pen(0);
state->m_tilemap[2]->set_scroll_rows(1);
diff --git a/src/mame/video/cbasebal.c b/src/mame/video/cbasebal.c
index fc18a2b972e..a1dc46cec65 100644
--- a/src/mame/video/cbasebal.c
+++ b/src/mame/video/cbasebal.c
@@ -8,24 +8,22 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(cbasebal_state::get_bg_tile_info)
{
- cbasebal_state *state = machine.driver_data<cbasebal_state>();
- UINT8 attr = state->m_scrollram[2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT8 attr = m_scrollram[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
1,
- state->m_scrollram[2 * tile_index] + ((attr & 0x07) << 8) + 0x800 * state->m_tilebank,
+ m_scrollram[2 * tile_index] + ((attr & 0x07) << 8) + 0x800 * m_tilebank,
(attr & 0xf0) >> 4,
(attr & 0x08) ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(cbasebal_state::get_fg_tile_info)
{
- cbasebal_state *state = machine.driver_data<cbasebal_state>();
- UINT8 attr = state->m_textram[tile_index + 0x800];
- SET_TILE_INFO(
+ UINT8 attr = m_textram[tile_index + 0x800];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_textram[tile_index] + ((attr & 0xf0) << 4),
+ m_textram[tile_index] + ((attr & 0xf0) << 4),
attr & 0x07,
(attr & 0x08) ? TILE_FLIPX : 0);
}
@@ -45,8 +43,8 @@ VIDEO_START( cbasebal )
state->m_textram = auto_alloc_array(machine, UINT8, 0x1000);
state->m_scrollram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cbasebal_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cbasebal_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(3);
diff --git a/src/mame/video/cclimber.c b/src/mame/video/cclimber.c
index b6ad7f8f047..999009a993d 100644
--- a/src/mame/video/cclimber.c
+++ b/src/mame/video/cclimber.c
@@ -344,61 +344,57 @@ WRITE8_MEMBER(cclimber_state::cannonb_flip_screen_w)
}
-static TILE_GET_INFO( cclimber_get_pf_tile_info )
+TILE_GET_INFO_MEMBER(cclimber_state::cclimber_get_pf_tile_info)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
int code, color;
- int flags = TILE_FLIPYX(state->m_colorram[tile_index] >> 6);
+ int flags = TILE_FLIPYX(m_colorram[tile_index] >> 6);
/* vertical flipping flips two adjacent characters */
if (flags & 0x02)
tile_index = tile_index ^ 0x20;
- code = ((state->m_colorram[tile_index] & 0x10) << 5) |
- ((state->m_colorram[tile_index] & 0x20) << 3) |
- state->m_videoram[tile_index];
+ code = ((m_colorram[tile_index] & 0x10) << 5) |
+ ((m_colorram[tile_index] & 0x20) << 3) |
+ m_videoram[tile_index];
- color = state->m_colorram[tile_index] & 0x0f;
+ color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static TILE_GET_INFO( swimmer_get_pf_tile_info )
+TILE_GET_INFO_MEMBER(cclimber_state::swimmer_get_pf_tile_info)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
int code, color;
- int flags = TILE_FLIPYX(state->m_colorram[tile_index] >> 6);
+ int flags = TILE_FLIPYX(m_colorram[tile_index] >> 6);
/* vertical flipping flips two adjacent characters */
if (flags & 0x02)
tile_index = tile_index ^ 0x20;
- code = ((state->m_colorram[tile_index] & 0x10) << 4) | state->m_videoram[tile_index];
- color = ((*state->m_swimmer_palettebank & 0x01) << 4) | (state->m_colorram[tile_index] & 0x0f);
+ 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(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static TILE_GET_INFO( toprollr_get_pf_tile_info )
+TILE_GET_INFO_MEMBER(cclimber_state::toprollr_get_pf_tile_info)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
int code, attr, color;
- attr = tile_index & 0x10 ? state->m_colorram[tile_index & ~0x20] : state->m_colorram[tile_index];
- code = ((attr & 0x30) << 4) | state->m_videoram[tile_index];
+ attr = tile_index & 0x10 ? m_colorram[tile_index & ~0x20] : m_colorram[tile_index];
+ code = ((attr & 0x30) << 4) | m_videoram[tile_index];
color = attr & 0x0f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( cclimber_get_bs_tile_info )
+TILE_GET_INFO_MEMBER(cclimber_state::cclimber_get_bs_tile_info)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
int code, color;
/* only the lower right is visible */
@@ -407,16 +403,15 @@ static TILE_GET_INFO( cclimber_get_bs_tile_info )
/* the address doesn't use A4 of the coordinates, giving a 16x16 map */
tile_index = ((tile_index & 0x1e0) >> 1) | (tile_index & 0x0f);
- code = ((state->m_bigsprite_control[1] & 0x08) << 5) | state->m_bigsprite_videoram[tile_index];
- color = state->m_bigsprite_control[1] & 0x07;
+ code = ((m_bigsprite_control[1] & 0x08) << 5) | m_bigsprite_videoram[tile_index];
+ color = m_bigsprite_control[1] & 0x07;
- SET_TILE_INFO(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( toprollr_get_bs_tile_info )
+TILE_GET_INFO_MEMBER(cclimber_state::toprollr_get_bs_tile_info)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
int code, color;
/* only the lower right is visible */
@@ -425,31 +420,30 @@ static TILE_GET_INFO( toprollr_get_bs_tile_info )
/* the address doesn't use A4 of the coordinates, giving a 16x16 map */
tile_index = ((tile_index & 0x1e0) >> 1) | (tile_index & 0x0f);
- code = ((state->m_bigsprite_control[1] & 0x18) << 5) | state->m_bigsprite_videoram[tile_index];
- color = state->m_bigsprite_control[1] & 0x07;
+ code = ((m_bigsprite_control[1] & 0x18) << 5) | m_bigsprite_videoram[tile_index];
+ color = m_bigsprite_control[1] & 0x07;
- SET_TILE_INFO(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( toproller_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(cclimber_state::toproller_get_bg_tile_info)
{
- cclimber_state *state = machine.driver_data<cclimber_state>();
- int code = ((state->m_toprollr_bg_coloram[tile_index] & 0x40) << 2) | state->m_toprollr_bg_videoram[tile_index];
- int color = state->m_toprollr_bg_coloram[tile_index] & 0x0f;
+ 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(3, code, color, TILE_FLIPX);
+ SET_TILE_INFO_MEMBER(3, code, color, TILE_FLIPX);
}
VIDEO_START( cclimber )
{
cclimber_state *state = machine.driver_data<cclimber_state>();
- state->m_pf_tilemap = tilemap_create(machine, cclimber_get_pf_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_pf_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_pf_tilemap->set_transparent_pen(0);
state->m_pf_tilemap->set_scroll_cols(32);
- state->m_bs_tilemap = tilemap_create(machine, cclimber_get_bs_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bs_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_bs_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bs_tilemap->set_scroll_cols(1);
state->m_bs_tilemap->set_scroll_rows(1);
state->m_bs_tilemap->set_transmask(0, 0x01, 0); /* pen 0 is transaprent */
@@ -460,11 +454,11 @@ VIDEO_START( cclimber )
VIDEO_START( swimmer )
{
cclimber_state *state = machine.driver_data<cclimber_state>();
- state->m_pf_tilemap = tilemap_create(machine, swimmer_get_pf_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_pf_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::swimmer_get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_pf_tilemap->set_transparent_pen(0);
state->m_pf_tilemap->set_scroll_cols(32);
- state->m_bs_tilemap = tilemap_create(machine, cclimber_get_bs_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bs_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_bs_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bs_tilemap->set_scroll_cols(1);
state->m_bs_tilemap->set_scroll_rows(1);
state->m_bs_tilemap->set_transmask(0, 0x01, 0); /* pen 0 is transaprent */
@@ -475,13 +469,13 @@ VIDEO_START( swimmer )
VIDEO_START( toprollr )
{
cclimber_state *state = machine.driver_data<cclimber_state>();
- state->m_pf_tilemap = tilemap_create(machine, toprollr_get_pf_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_pf_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::toprollr_get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_pf_tilemap->set_transparent_pen(0);
- state->m_toproller_bg_tilemap = tilemap_create(machine, toproller_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_toproller_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::toproller_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_toproller_bg_tilemap->set_scroll_rows(1);
- state->m_bs_tilemap = tilemap_create(machine, toprollr_get_bs_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bs_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cclimber_state::toprollr_get_bs_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bs_tilemap->set_scroll_cols(1);
state->m_bs_tilemap->set_scroll_rows(1);
state->m_bs_tilemap->set_transmask(0, 0x01, 0); /* pen 0 is transaprent */
diff --git a/src/mame/video/centiped.c b/src/mame/video/centiped.c
index 6a051c7c2e2..ba1502268b2 100644
--- a/src/mame/video/centiped.c
+++ b/src/mame/video/centiped.c
@@ -14,49 +14,45 @@
*
*************************************/
-static TILE_GET_INFO( centiped_get_tile_info )
+TILE_GET_INFO_MEMBER(centiped_state::centiped_get_tile_info)
{
- centiped_state *state = machine.driver_data<centiped_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int data = videoram[tile_index];
- SET_TILE_INFO(0, (data & 0x3f) + 0x40, 0, TILE_FLIPYX(data >> 6));
+ SET_TILE_INFO_MEMBER(0, (data & 0x3f) + 0x40, 0, TILE_FLIPYX(data >> 6));
}
-static TILE_GET_INFO( warlords_get_tile_info )
+TILE_GET_INFO_MEMBER(centiped_state::warlords_get_tile_info)
{
- centiped_state *state = machine.driver_data<centiped_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int data = videoram[tile_index];
- int color = ((tile_index & 0x10) >> 4) | ((tile_index & 0x200) >> 8) | (state->m_flipscreen >> 5);
+ int color = ((tile_index & 0x10) >> 4) | ((tile_index & 0x200) >> 8) | (m_flipscreen >> 5);
- SET_TILE_INFO(0, data & 0x3f, color, TILE_FLIPYX(data >> 6));
+ SET_TILE_INFO_MEMBER(0, data & 0x3f, color, TILE_FLIPYX(data >> 6));
}
-static TILE_GET_INFO( milliped_get_tile_info )
+TILE_GET_INFO_MEMBER(centiped_state::milliped_get_tile_info)
{
- centiped_state *state = machine.driver_data<centiped_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int data = videoram[tile_index];
- int bank = ((data >> 6) & 1) | (state->m_gfx_bank << 1);
+ int bank = ((data >> 6) & 1) | (m_gfx_bank << 1);
int color = (data >> 6) & 3;
/* Flip both x and y if flipscreen is non-zero */
- int flip_tiles = (state->m_flipscreen) ? 0x03 : 0;
+ int flip_tiles = (m_flipscreen) ? 0x03 : 0;
- SET_TILE_INFO(0, (data & 0x3f) + 0x40 + (bank * 0x80), color, TILE_FLIPYX(flip_tiles));
+ SET_TILE_INFO_MEMBER(0, (data & 0x3f) + 0x40 + (bank * 0x80), color, TILE_FLIPYX(flip_tiles));
}
-static TILE_GET_INFO( bullsdrt_get_tile_info )
+TILE_GET_INFO_MEMBER(centiped_state::bullsdrt_get_tile_info)
{
- centiped_state *state = machine.driver_data<centiped_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int data = videoram[tile_index];
- int bank = state->m_bullsdrt_tiles_bankram[tile_index & 0x1f] & 0x0f;
+ int bank = m_bullsdrt_tiles_bankram[tile_index & 0x1f] & 0x0f;
- SET_TILE_INFO(0, (data & 0x3f) + 0x40 * bank, 0, TILE_FLIPYX(data >> 6));
+ SET_TILE_INFO_MEMBER(0, (data & 0x3f) + 0x40 * bank, 0, TILE_FLIPYX(data >> 6));
}
@@ -103,7 +99,7 @@ VIDEO_START( centiped )
init_penmask(machine);
centiped_state *state = machine.driver_data<centiped_state>();
- state->m_bg_tilemap = tilemap_create(machine, centiped_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::centiped_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -112,7 +108,7 @@ VIDEO_START( warlords )
init_common(machine);
centiped_state *state = machine.driver_data<centiped_state>();
- state->m_bg_tilemap = tilemap_create(machine, warlords_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::warlords_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -122,7 +118,7 @@ VIDEO_START( milliped )
init_penmask(machine);
centiped_state *state = machine.driver_data<centiped_state>();
- state->m_bg_tilemap = tilemap_create(machine, milliped_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::milliped_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -132,7 +128,7 @@ VIDEO_START( bullsdrt )
init_penmask(machine);
centiped_state *state = machine.driver_data<centiped_state>();
- state->m_bg_tilemap = tilemap_create(machine, bullsdrt_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(centiped_state::bullsdrt_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/chaknpop.c b/src/mame/video/chaknpop.c
index 5feb787145b..2a1857e964e 100644
--- a/src/mame/video/chaknpop.c
+++ b/src/mame/video/chaknpop.c
@@ -128,22 +128,21 @@ WRITE8_MEMBER(chaknpop_state::chaknpop_attrram_w)
* I'm not sure how to handle attributes about color
*/
-static TILE_GET_INFO( chaknpop_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(chaknpop_state::chaknpop_get_tx_tile_info)
{
- chaknpop_state *state = machine.driver_data<chaknpop_state>();
- int tile = state->m_tx_ram[tile_index];
- int tile_h_bank = (state->m_gfxmode & GFX_TX_BANK2) << 2; /* 0x00-0xff -> 0x200-0x2ff */
- int color = state->m_attr_ram[TX_COLOR2];
+ int tile = m_tx_ram[tile_index];
+ int tile_h_bank = (m_gfxmode & GFX_TX_BANK2) << 2; /* 0x00-0xff -> 0x200-0x2ff */
+ int color = m_attr_ram[TX_COLOR2];
if (tile == 0x74)
- color = state->m_attr_ram[TX_COLOR1];
+ color = m_attr_ram[TX_COLOR1];
- if (state->m_gfxmode & GFX_TX_BANK1 && tile >= 0xc0)
+ if (m_gfxmode & GFX_TX_BANK1 && tile >= 0xc0)
tile += 0xc0; /* 0xc0-0xff -> 0x180-0x1bf */
tile |= tile_h_bank;
- SET_TILE_INFO(1, tile, color, 0);
+ SET_TILE_INFO_MEMBER(1, tile, color, 0);
}
@@ -157,7 +156,7 @@ VIDEO_START( chaknpop )
UINT8 *RAM = state->memregion("maincpu")->base();
/* info offset type w h col row */
- state->m_tx_tilemap = tilemap_create(machine, chaknpop_get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chaknpop_state::chaknpop_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_vram1 = &RAM[0x10000];
state->m_vram2 = &RAM[0x12000];
diff --git a/src/mame/video/champbas.c b/src/mame/video/champbas.c
index 402b4e2190d..7706299aa19 100644
--- a/src/mame/video/champbas.c
+++ b/src/mame/video/champbas.c
@@ -129,22 +129,20 @@ PALETTE_INIT( exctsccr )
-static TILE_GET_INFO( champbas_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(champbas_state::champbas_get_bg_tile_info)
{
- champbas_state *state = machine.driver_data<champbas_state>();
- int code = state->m_bg_videoram[tile_index] | (state->m_gfx_bank << 8);
- int color = (state->m_bg_videoram[tile_index + 0x400] & 0x1f) | 0x20;
+ int code = m_bg_videoram[tile_index] | (m_gfx_bank << 8);
+ int color = (m_bg_videoram[tile_index + 0x400] & 0x1f) | 0x20;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( exctsccr_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(champbas_state::exctsccr_get_bg_tile_info)
{
- champbas_state *state = machine.driver_data<champbas_state>();
- int code = state->m_bg_videoram[tile_index] | (state->m_gfx_bank << 8);
- int color = state->m_bg_videoram[tile_index + 0x400] & 0x0f;
+ int code = m_bg_videoram[tile_index] | (m_gfx_bank << 8);
+ int color = m_bg_videoram[tile_index + 0x400] & 0x0f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -152,13 +150,13 @@ static TILE_GET_INFO( exctsccr_get_bg_tile_info )
VIDEO_START( champbas )
{
champbas_state *state = machine.driver_data<champbas_state>();
- state->m_bg_tilemap = tilemap_create(machine, champbas_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(champbas_state::champbas_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
VIDEO_START( exctsccr )
{
champbas_state *state = machine.driver_data<champbas_state>();
- state->m_bg_tilemap = tilemap_create(machine, exctsccr_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(champbas_state::exctsccr_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/cheekyms.c b/src/mame/video/cheekyms.c
index 7a701419705..05379e3430c 100644
--- a/src/mame/video/cheekyms.c
+++ b/src/mame/video/cheekyms.c
@@ -63,15 +63,14 @@ WRITE8_MEMBER(cheekyms_state::cheekyms_port_80_w)
-static TILE_GET_INFO( cheekyms_get_tile_info )
+TILE_GET_INFO_MEMBER(cheekyms_state::cheekyms_get_tile_info)
{
- cheekyms_state *state = machine.driver_data<cheekyms_state>();
int color;
int x = tile_index & 0x1f;
int y = tile_index >> 5;
- int code = state->m_videoram[tile_index];
- int palette = (*state->m_port_80 >> 2) & 0x10;
+ int code = m_videoram[tile_index];
+ int palette = (*m_port_80 >> 2) & 0x10;
if (x >= 0x1e)
{
@@ -90,7 +89,7 @@ static TILE_GET_INFO( cheekyms_get_tile_info )
color = palette | (x >> 1);
}
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( cheekyms )
@@ -102,7 +101,7 @@ VIDEO_START( cheekyms )
height = machine.primary_screen->height();
state->m_bitmap_buffer = auto_bitmap_ind16_alloc(machine, width, height);
- state->m_cm_tilemap = tilemap_create(machine, cheekyms_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_cm_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cheekyms_state::cheekyms_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_cm_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/circus.c b/src/mame/video/circus.c
index e1519681d73..40b72ab9625 100644
--- a/src/mame/video/circus.c
+++ b/src/mame/video/circus.c
@@ -27,18 +27,17 @@ WRITE8_MEMBER(circus_state::circus_clown_y_w)
m_clown_y = 240 - data;
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(circus_state::get_bg_tile_info)
{
- circus_state *state = machine.driver_data<circus_state>();
- int code = state->m_videoram[tile_index];
+ int code = m_videoram[tile_index];
- SET_TILE_INFO(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
VIDEO_START( circus )
{
circus_state *state = machine.driver_data<circus_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(circus_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_line( bitmap_ind16 &bitmap, const rectangle &cliprect, int x1, int y1, int x2, int y2, int dotted )
diff --git a/src/mame/video/circusc.c b/src/mame/video/circusc.c
index ebf005d185f..c4cecd9bae2 100644
--- a/src/mame/video/circusc.c
+++ b/src/mame/video/circusc.c
@@ -99,14 +99,13 @@ PALETTE_INIT( circusc )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(circusc_state::get_tile_info)
{
- circusc_state *state = machine.driver_data<circusc_state>();
- UINT8 attr = state->m_colorram[tile_index];
+ UINT8 attr = m_colorram[tile_index];
tileinfo.category = (attr & 0x10) >> 4;
- SET_TILE_INFO(0,
- state->m_videoram[tile_index] + ((attr & 0x20) << 3),
+ SET_TILE_INFO_MEMBER(0,
+ m_videoram[tile_index] + ((attr & 0x20) << 3),
attr & 0x0f,
TILE_FLIPYX((attr & 0xc0) >> 6));
}
@@ -122,7 +121,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( circusc )
{
circusc_state *state = machine.driver_data<circusc_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(circusc_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(32);
}
diff --git a/src/mame/video/cischeat.c b/src/mame/video/cischeat.c
index db997efe787..4d67260697d 100644
--- a/src/mame/video/cischeat.c
+++ b/src/mame/video/cischeat.c
@@ -153,34 +153,32 @@ WRITE16_MEMBER(cischeat_state::cischeat_scrollram_0_w){ scrollram_w(&space, offs
WRITE16_MEMBER(cischeat_state::cischeat_scrollram_1_w){ scrollram_w(&space, offset, data, mem_mask, 1); }
WRITE16_MEMBER(cischeat_state::cischeat_scrollram_2_w){ scrollram_w(&space, offset, data, mem_mask, 2); }
-static TILEMAP_MAPPER( cischeat_scan_8x8 )
+TILEMAP_MAPPER_MEMBER(cischeat_state::cischeat_scan_8x8)
{
return (col * TILES_PER_PAGE_Y) +
(row / TILES_PER_PAGE_Y) * TILES_PER_PAGE * (num_cols / TILES_PER_PAGE_X) +
(row % TILES_PER_PAGE_Y);
}
-static TILEMAP_MAPPER( cischeat_scan_16x16 )
+TILEMAP_MAPPER_MEMBER(cischeat_state::cischeat_scan_16x16)
{
return ( ((col / 2) * (TILES_PER_PAGE_Y / 2)) +
((row / 2) / (TILES_PER_PAGE_Y / 2)) * (TILES_PER_PAGE / 4) * (num_cols / TILES_PER_PAGE_X) +
((row / 2) % (TILES_PER_PAGE_Y / 2)) )*4 + (row&1) + (col&1)*2;
}
-static TILE_GET_INFO( cischeat_get_scroll_tile_info_8x8 )
+TILE_GET_INFO_MEMBER(cischeat_state::cischeat_get_scroll_tile_info_8x8)
{
- cischeat_state *state = machine.driver_data<cischeat_state>();
int tmap = (FPTR)param;
- UINT16 code = state->m_scrollram[tmap][tile_index];
- SET_TILE_INFO(tmap, (code & 0xfff), code >> (16 - state->m_bits_per_color_code), 0);
+ UINT16 code = m_scrollram[tmap][tile_index];
+ SET_TILE_INFO_MEMBER(tmap, (code & 0xfff), code >> (16 - m_bits_per_color_code), 0);
}
-static TILE_GET_INFO( cischeat_get_scroll_tile_info_16x16 )
+TILE_GET_INFO_MEMBER(cischeat_state::cischeat_get_scroll_tile_info_16x16)
{
- cischeat_state *state = machine.driver_data<cischeat_state>();
int tmap = (FPTR)param;
- UINT16 code = state->m_scrollram[tmap][tile_index/4];
- SET_TILE_INFO(tmap, (code & 0xfff) * 4 + (tile_index & 3), code >> (16 - state->m_bits_per_color_code), 0);
+ 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);
}
static void create_tilemaps(running_machine &machine)
@@ -191,23 +189,23 @@ static void create_tilemaps(running_machine &machine)
for (layer = 0; layer < 3; layer++)
{
/* 16x16 tilemaps */
- state->m_tilemap[layer][0][0] = tilemap_create(machine, cischeat_get_scroll_tile_info_16x16, cischeat_scan_16x16,
+ state->m_tilemap[layer][0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_16x16),state),
8,8, TILES_PER_PAGE_X * 16, TILES_PER_PAGE_Y * 2);
- state->m_tilemap[layer][0][1] = tilemap_create(machine, cischeat_get_scroll_tile_info_16x16, cischeat_scan_16x16,
+ state->m_tilemap[layer][0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_16x16),state),
8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 4);
- state->m_tilemap[layer][0][2] = tilemap_create(machine, cischeat_get_scroll_tile_info_16x16, cischeat_scan_16x16,
+ state->m_tilemap[layer][0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_16x16),state),
8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 8);
- state->m_tilemap[layer][0][3] = tilemap_create(machine, cischeat_get_scroll_tile_info_16x16, cischeat_scan_16x16,
+ state->m_tilemap[layer][0][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_16x16),state),
8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 16);
/* 8x8 tilemaps */
- state->m_tilemap[layer][1][0] = tilemap_create(machine, cischeat_get_scroll_tile_info_8x8, cischeat_scan_8x8,
+ state->m_tilemap[layer][1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_8x8),state),
8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 1);
- state->m_tilemap[layer][1][1] = tilemap_create(machine, cischeat_get_scroll_tile_info_8x8, cischeat_scan_8x8,
+ state->m_tilemap[layer][1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_8x8),state),
8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
- state->m_tilemap[layer][1][2] = tilemap_create(machine, cischeat_get_scroll_tile_info_8x8, cischeat_scan_8x8,
+ state->m_tilemap[layer][1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_8x8),state),
8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
- state->m_tilemap[layer][1][3] = tilemap_create(machine, cischeat_get_scroll_tile_info_8x8, cischeat_scan_8x8,
+ state->m_tilemap[layer][1][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cischeat_state::cischeat_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(cischeat_state::cischeat_scan_8x8),state),
8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 4);
/* set user data and transparency */
diff --git a/src/mame/video/citycon.c b/src/mame/video/citycon.c
index e6ae3fb87fd..a4ad20cf81e 100644
--- a/src/mame/video/citycon.c
+++ b/src/mame/video/citycon.c
@@ -16,31 +16,29 @@
***************************************************************************/
-static TILEMAP_MAPPER( citycon_scan )
+TILEMAP_MAPPER_MEMBER(citycon_state::citycon_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x60) << 5);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(citycon_state::get_fg_tile_info)
{
- citycon_state *state = machine.driver_data<citycon_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index],
+ m_videoram[tile_index],
(tile_index & 0x03e0) >> 5, /* color depends on scanline only */
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(citycon_state::get_bg_tile_info)
{
- citycon_state *state = machine.driver_data<citycon_state>();
- UINT8 *rom = state->memregion("gfx4")->base();
- int code = rom[0x1000 * state->m_bg_image + tile_index];
- SET_TILE_INFO(
- 3 + state->m_bg_image,
+ UINT8 *rom = memregion("gfx4")->base();
+ int code = rom[0x1000 * m_bg_image + tile_index];
+ SET_TILE_INFO_MEMBER(
+ 3 + m_bg_image,
code,
- rom[0xc000 + 0x100 * state->m_bg_image + code],
+ rom[0xc000 + 0x100 * m_bg_image + code],
0);
}
@@ -55,8 +53,8 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( citycon )
{
citycon_state *state = machine.driver_data<citycon_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, citycon_scan, 8, 8, 128, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, citycon_scan, 8, 8, 128, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(citycon_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(citycon_state::citycon_scan),state), 8, 8, 128, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(citycon_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(citycon_state::citycon_scan),state), 8, 8, 128, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_scroll_rows(32);
diff --git a/src/mame/video/cloak.c b/src/mame/video/cloak.c
index 4fb6b8eec00..305e5ba755f 100644
--- a/src/mame/video/cloak.c
+++ b/src/mame/video/cloak.c
@@ -153,20 +153,19 @@ WRITE8_MEMBER(cloak_state::cloak_flipscreen_w)
flip_screen_set(data & 0x80);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(cloak_state::get_bg_tile_info)
{
- cloak_state *state = machine.driver_data<cloak_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int code = videoram[tile_index];
- SET_TILE_INFO(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
VIDEO_START( cloak )
{
cloak_state *state = machine.driver_data<cloak_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cloak_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bitmap_videoram1 = auto_alloc_array(machine, UINT8, 256*256);
state->m_bitmap_videoram2 = auto_alloc_array(machine, UINT8, 256*256);
diff --git a/src/mame/video/clshroad.c b/src/mame/video/clshroad.c
index ef2945c210a..17c97a6c9bd 100644
--- a/src/mame/video/clshroad.c
+++ b/src/mame/video/clshroad.c
@@ -104,28 +104,26 @@ Offset:
***************************************************************************/
-static TILE_GET_INFO( get_tile_info_0a )
+TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_0a)
{
- clshroad_state *state = machine.driver_data<clshroad_state>();
UINT8 code;
tile_index = (tile_index & 0x1f) + (tile_index & ~0x1f)*2;
- code = state->m_vram_0[ tile_index * 2 + 0x40 ];
-// color = state->m_vram_0[ tile_index * 2 + 0x41 ];
- SET_TILE_INFO(
+ code = m_vram_0[ tile_index * 2 + 0x40 ];
+// color = m_vram_0[ tile_index * 2 + 0x41 ];
+ SET_TILE_INFO_MEMBER(
1,
code,
0,
0);
}
-static TILE_GET_INFO( get_tile_info_0b )
+TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_0b)
{
- clshroad_state *state = machine.driver_data<clshroad_state>();
UINT8 code;
tile_index = (tile_index & 0x1f) + (tile_index & ~0x1f)*2;
- code = state->m_vram_0[ tile_index * 2 + 0x00 ];
-// color = state->m_vram_0[ tile_index * 2 + 0x01 ];
- SET_TILE_INFO(
+ code = m_vram_0[ tile_index * 2 + 0x00 ];
+// color = m_vram_0[ tile_index * 2 + 0x01 ];
+ SET_TILE_INFO_MEMBER(
1,
code,
0,
@@ -160,7 +158,7 @@ Offset:
***************************************************************************/
/* logical (col,row) -> memory offset */
-static TILEMAP_MAPPER( tilemap_scan_rows_extra )
+TILEMAP_MAPPER_MEMBER(clshroad_state::tilemap_scan_rows_extra)
{
// The leftmost columns come from the bottom rows
if (col <= 0x01) return row + (col + 0x1e) * 0x20;
@@ -176,25 +174,23 @@ static TILEMAP_MAPPER( tilemap_scan_rows_extra )
return (col-2) + row * 0x20;
}
-static TILE_GET_INFO( get_tile_info_fb1 )
+TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_fb1)
{
- clshroad_state *state = machine.driver_data<clshroad_state>();
- UINT8 code = state->m_vram_1[ tile_index + 0x000 ];
- UINT8 color = state->m_vram_1[ tile_index + 0x400 ] & 0x3f;
+ UINT8 code = m_vram_1[ tile_index + 0x000 ];
+ UINT8 color = m_vram_1[ tile_index + 0x400 ] & 0x3f;
tileinfo.group = color;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
code,
color,
0);
}
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_1)
{
- clshroad_state *state = machine.driver_data<clshroad_state>();
- UINT8 code = state->m_vram_1[ tile_index + 0x000 ];
- UINT8 color = state->m_vram_1[ tile_index + 0x400 ];
- SET_TILE_INFO(
+ UINT8 code = m_vram_1[ tile_index + 0x000 ];
+ UINT8 color = m_vram_1[ tile_index + 0x400 ];
+ SET_TILE_INFO_MEMBER(
2,
code + ((color & 0xf0)<<4),
color & 0x0f,
@@ -212,10 +208,10 @@ VIDEO_START( firebatl )
{
clshroad_state *state = machine.driver_data<clshroad_state>();
/* These 2 use the graphics and scroll value */
- state->m_tilemap_0a = tilemap_create(machine, get_tile_info_0a,TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
- state->m_tilemap_0b = tilemap_create(machine, get_tile_info_0b,TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
+ state->m_tilemap_0a = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0a),state),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
+ state->m_tilemap_0b = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0b),state),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
/* Text (No scrolling) */
- state->m_tilemap_1 = tilemap_create(machine, get_tile_info_fb1,tilemap_scan_rows_extra,8,8,0x24,0x20);
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_fb1),state),tilemap_mapper_delegate(FUNC(clshroad_state::tilemap_scan_rows_extra),state),8,8,0x24,0x20);
state->m_tilemap_0a->set_scroll_rows(1);
state->m_tilemap_0b->set_scroll_rows(1);
@@ -236,10 +232,10 @@ VIDEO_START( clshroad )
{
clshroad_state *state = machine.driver_data<clshroad_state>();
/* These 2 use the graphics and scroll value */
- state->m_tilemap_0a = tilemap_create(machine, get_tile_info_0a,TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
- state->m_tilemap_0b = tilemap_create(machine, get_tile_info_0b,TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
+ state->m_tilemap_0a = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0a),state),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
+ state->m_tilemap_0b = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0b),state),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
/* Text (No scrolling) */
- state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1,tilemap_scan_rows_extra,8,8,0x24,0x20);
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_1),state),tilemap_mapper_delegate(FUNC(clshroad_state::tilemap_scan_rows_extra),state),8,8,0x24,0x20);
state->m_tilemap_0a->set_scroll_rows(1);
state->m_tilemap_0b->set_scroll_rows(1);
diff --git a/src/mame/video/combatsc.c b/src/mame/video/combatsc.c
index 8f969924385..1526fd3ebc7 100644
--- a/src/mame/video/combatsc.c
+++ b/src/mame/video/combatsc.c
@@ -113,12 +113,11 @@ static void set_pens( running_machine &machine )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info0 )
+TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_1, 6);
- UINT8 attributes = state->m_page[0][tile_index];
- int bank = 4 * ((state->m_vreg & 0x0f) - 1);
+ UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_1, 6);
+ UINT8 attributes = m_page[0][tile_index];
+ int bank = 4 * ((m_vreg & 0x0f) - 1);
int number, color;
if (bank < 0)
@@ -138,9 +137,9 @@ static TILE_GET_INFO( get_tile_info0 )
color = ((ctrl_6 & 0x10) * 2 + 16) + (attributes & 0x0f);
- number = state->m_page[0][tile_index + 0x400] + 256 * bank;
+ number = m_page[0][tile_index + 0x400] + 256 * bank;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
number,
color,
@@ -148,12 +147,11 @@ static TILE_GET_INFO( get_tile_info0 )
tileinfo.category = (attributes & 0x40) >> 6;
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_2, 6);
- UINT8 attributes = state->m_page[1][tile_index];
- int bank = 4 * ((state->m_vreg >> 4) - 1);
+ UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_2, 6);
+ UINT8 attributes = m_page[1][tile_index];
+ int bank = 4 * ((m_vreg >> 4) - 1);
int number, color;
if (bank < 0)
@@ -173,9 +171,9 @@ static TILE_GET_INFO( get_tile_info1 )
color = ((ctrl_6 & 0x10) * 2 + 16 + 4 * 16) + (attributes & 0x0f);
- number = state->m_page[1][tile_index + 0x400] + 256 * bank;
+ number = m_page[1][tile_index + 0x400] + 256 * bank;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
number,
color,
@@ -183,14 +181,13 @@ static TILE_GET_INFO( get_tile_info1 )
tileinfo.category = (attributes & 0x40) >> 6;
}
-static TILE_GET_INFO( get_text_info )
+TILE_GET_INFO_MEMBER(combatsc_state::get_text_info)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- UINT8 attributes = state->m_page[0][tile_index + 0x800];
- int number = state->m_page[0][tile_index + 0xc00];
+ UINT8 attributes = m_page[0][tile_index + 0x800];
+ int number = m_page[0][tile_index + 0xc00];
int color = 16 + (attributes & 0x0f);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
number,
color,
@@ -198,11 +195,10 @@ static TILE_GET_INFO( get_text_info )
}
-static TILE_GET_INFO( get_tile_info0_bootleg )
+TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0_bootleg)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- UINT8 attributes = state->m_page[0][tile_index];
- int bank = 4 * ((state->m_vreg & 0x0f) - 1);
+ UINT8 attributes = m_page[0][tile_index];
+ int bank = 4 * ((m_vreg & 0x0f) - 1);
int number, pal, color;
if (bank < 0)
@@ -222,20 +218,19 @@ static TILE_GET_INFO( get_tile_info0_bootleg )
pal = (bank == 0 || bank >= 0x1c || (attributes & 0x40)) ? 1 : 3;
color = pal*16;// + (attributes & 0x0f);
- number = state->m_page[0][tile_index + 0x400] + 256 * bank;
+ number = m_page[0][tile_index + 0x400] + 256 * bank;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
number,
color,
0);
}
-static TILE_GET_INFO( get_tile_info1_bootleg )
+TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1_bootleg)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
- UINT8 attributes = state->m_page[1][tile_index];
- int bank = 4*((state->m_vreg >> 4) - 1);
+ UINT8 attributes = m_page[1][tile_index];
+ int bank = 4*((m_vreg >> 4) - 1);
int number, pal, color;
if (bank < 0)
@@ -255,23 +250,22 @@ static TILE_GET_INFO( get_tile_info1_bootleg )
pal = (bank == 0 || bank >= 0x1c || (attributes & 0x40)) ? 5 : 7;
color = pal * 16;// + (attributes & 0x0f);
- number = state->m_page[1][tile_index + 0x400] + 256 * bank;
+ number = m_page[1][tile_index + 0x400] + 256 * bank;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
number,
color,
0);
}
-static TILE_GET_INFO( get_text_info_bootleg )
+TILE_GET_INFO_MEMBER(combatsc_state::get_text_info_bootleg)
{
- combatsc_state *state = machine.driver_data<combatsc_state>();
-// UINT8 attributes = state->m_page[0][tile_index + 0x800];
- int number = state->m_page[0][tile_index + 0xc00];
+// UINT8 attributes = m_page[0][tile_index + 0x800];
+ int number = m_page[0][tile_index + 0xc00];
int color = 16;// + (attributes & 0x0f);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
number,
color,
@@ -288,9 +282,9 @@ VIDEO_START( combatsc )
{
combatsc_state *state = machine.driver_data<combatsc_state>();
- state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_textlayer = tilemap_create(machine, get_text_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_textlayer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_text_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_spriteram[0] = auto_alloc_array_clear(machine, UINT8, 0x800);
state->m_spriteram[1] = auto_alloc_array_clear(machine, UINT8, 0x800);
@@ -309,9 +303,9 @@ VIDEO_START( combatscb )
{
combatsc_state *state = machine.driver_data<combatsc_state>();
- state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0_bootleg, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1_bootleg, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_textlayer = tilemap_create(machine, get_text_info_bootleg, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info0_bootleg),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info1_bootleg),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_textlayer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_text_info_bootleg),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_spriteram[0] = auto_alloc_array_clear(machine, UINT8, 0x800);
state->m_spriteram[1] = auto_alloc_array_clear(machine, UINT8, 0x800);
diff --git a/src/mame/video/commando.c b/src/mame/video/commando.c
index 34f9fc96ba7..ee1db6ab7e3 100644
--- a/src/mame/video/commando.c
+++ b/src/mame/video/commando.c
@@ -66,34 +66,32 @@ WRITE8_MEMBER(commando_state::commando_c804_w)
flip_screen_set(data & 0x80);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(commando_state::get_bg_tile_info)
{
- commando_state *state = machine.driver_data<commando_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0xc0) << 2);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(commando_state::get_fg_tile_info)
{
- commando_state *state = machine.driver_data<commando_state>();
- int attr = state->m_colorram2[tile_index];
- int code = state->m_videoram2[tile_index] + ((attr & 0xc0) << 2);
+ int attr = m_colorram2[tile_index];
+ int code = m_videoram2[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( commando )
{
commando_state *state = machine.driver_data<commando_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(commando_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(commando_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(3);
}
diff --git a/src/mame/video/compgolf.c b/src/mame/video/compgolf.c
index 2b114cdcb0f..38b7660a258 100644
--- a/src/mame/video/compgolf.c
+++ b/src/mame/video/compgolf.c
@@ -46,34 +46,32 @@ WRITE8_MEMBER(compgolf_state::compgolf_back_w)
m_bg_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_text_info )
+TILE_GET_INFO_MEMBER(compgolf_state::get_text_info)
{
- compgolf_state *state = machine.driver_data<compgolf_state>();
tile_index <<= 1;
- SET_TILE_INFO(2, state->m_videoram[tile_index + 1] | (state->m_videoram[tile_index] << 8), state->m_videoram[tile_index] >> 2, 0);
+ SET_TILE_INFO_MEMBER(2, m_videoram[tile_index + 1] | (m_videoram[tile_index] << 8), m_videoram[tile_index] >> 2, 0);
}
-static TILEMAP_MAPPER( back_scan )
+TILEMAP_MAPPER_MEMBER(compgolf_state::back_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
}
-static TILE_GET_INFO( get_back_info )
+TILE_GET_INFO_MEMBER(compgolf_state::get_back_info)
{
- compgolf_state *state = machine.driver_data<compgolf_state>();
- int attr = state->m_bg_ram[tile_index * 2];
- int code = state->m_bg_ram[tile_index * 2 + 1] + ((attr & 1) << 8);
+ int attr = m_bg_ram[tile_index * 2];
+ int code = m_bg_ram[tile_index * 2 + 1] + ((attr & 1) << 8);
int color = (attr & 0x3e) >> 1;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
}
VIDEO_START( compgolf )
{
compgolf_state *state = machine.driver_data<compgolf_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_back_info, back_scan, 16, 16, 32, 32);
- state->m_text_tilemap = tilemap_create(machine, get_text_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(compgolf_state::get_back_info),state), tilemap_mapper_delegate(FUNC(compgolf_state::back_scan),state), 16, 16, 32, 32);
+ state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(compgolf_state::get_text_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_text_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/contra.c b/src/mame/video/contra.c
index f6822b65369..23b91e7f36f 100644
--- a/src/mame/video/contra.c
+++ b/src/mame/video/contra.c
@@ -76,14 +76,13 @@ static void set_pens( running_machine &machine )
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(contra_state::get_fg_tile_info)
{
- contra_state *state = machine.driver_data<contra_state>();
- UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121_1, 3);
- UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121_1, 4);
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_1, 5);
- UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_1, 6);
- int attr = state->m_fg_cram[tile_index];
+ UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121_1, 3);
+ UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121_1, 4);
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_1, 5);
+ UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_1, 6);
+ int attr = m_fg_cram[tile_index];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@@ -98,21 +97,20 @@ static TILE_GET_INFO( get_fg_tile_info )
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_fg_vram[tile_index] + bank * 256,
+ m_fg_vram[tile_index] + bank * 256,
((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(contra_state::get_bg_tile_info)
{
- contra_state *state = machine.driver_data<contra_state>();
- UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121_2, 3);
- UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121_2, 4);
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_2, 5);
- UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_2, 6);
- int attr = state->m_bg_cram[tile_index];
+ UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121_2, 3);
+ UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121_2, 4);
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_2, 5);
+ UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_2, 6);
+ int attr = m_bg_cram[tile_index];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@@ -128,19 +126,18 @@ static TILE_GET_INFO( 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(
+ SET_TILE_INFO_MEMBER(
1,
- state->m_bg_vram[tile_index] + bank * 256,
+ m_bg_vram[tile_index] + bank * 256,
((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(contra_state::get_tx_tile_info)
{
- contra_state *state = machine.driver_data<contra_state>();
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_1, 5);
- UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_1, 6);
- int attr = state->m_tx_cram[tile_index];
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_1, 5);
+ UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_1, 6);
+ int attr = m_tx_cram[tile_index];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@@ -151,9 +148,9 @@ static TILE_GET_INFO( get_tx_tile_info )
((attr >> (bit2 )) & 0x08) |
((attr >> (bit3 - 1)) & 0x10);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_tx_vram[tile_index] + bank * 256,
+ m_tx_vram[tile_index] + bank * 256,
((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
0);
}
@@ -169,9 +166,9 @@ VIDEO_START( contra )
{
contra_state *state = machine.driver_data<contra_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(contra_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(contra_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(contra_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_buffered_spriteram = auto_alloc_array(machine, UINT8, 0x800);
state->m_buffered_spriteram_2 = auto_alloc_array(machine, UINT8, 0x800);
diff --git a/src/mame/video/cop01.c b/src/mame/video/cop01.c
index ca596a2427e..33fd523b73e 100644
--- a/src/mame/video/cop01.c
+++ b/src/mame/video/cop01.c
@@ -61,11 +61,10 @@ PALETTE_INIT( cop01 )
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(cop01_state::get_bg_tile_info)
{
- cop01_state *state = machine.driver_data<cop01_state>();
- int tile = state->m_bgvideoram[tile_index];
- int attr = state->m_bgvideoram[tile_index + 0x800];
+ int tile = m_bgvideoram[tile_index];
+ int attr = m_bgvideoram[tile_index + 0x800];
int pri = (attr & 0x80) >> 7;
/* kludge: priority is not actually pen based, but color based. Since the
@@ -81,15 +80,14 @@ static TILE_GET_INFO( get_bg_tile_info )
if (attr & 0x10)
pri = 0;
- SET_TILE_INFO(1, tile + ((attr & 0x03) << 8), (attr & 0x1c) >> 2, 0);
+ SET_TILE_INFO_MEMBER(1, tile + ((attr & 0x03) << 8), (attr & 0x1c) >> 2, 0);
tileinfo.group = pri;
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(cop01_state::get_fg_tile_info)
{
- cop01_state *state = machine.driver_data<cop01_state>();
- int tile = state->m_fgvideoram[tile_index];
- SET_TILE_INFO(0, tile, 0, 0);
+ int tile = m_fgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(0, tile, 0, 0);
}
@@ -103,8 +101,8 @@ static TILE_GET_INFO( get_fg_tile_info )
VIDEO_START( cop01 )
{
cop01_state *state = machine.driver_data<cop01_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cop01_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cop01_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/cps1.c b/src/mame/video/cps1.c
index 27033ce7bf3..827f03ccf0f 100644
--- a/src/mame/video/cps1.c
+++ b/src/mame/video/cps1.c
@@ -1973,39 +1973,38 @@ static int gfxrom_bank_mapper( running_machine &machine, int type, int code )
***************************************************************************/
-static TILEMAP_MAPPER( tilemap0_scan )
+TILEMAP_MAPPER_MEMBER(cps_state::tilemap0_scan)
{
/* logical (col,row) -> memory offset */
return (row & 0x1f) + ((col & 0x3f) << 5) + ((row & 0x20) << 6);
}
-static TILEMAP_MAPPER( tilemap1_scan )
+TILEMAP_MAPPER_MEMBER(cps_state::tilemap1_scan)
{
/* logical (col,row) -> memory offset */
return (row & 0x0f) + ((col & 0x3f) << 4) + ((row & 0x30) << 6);
}
-static TILEMAP_MAPPER( tilemap2_scan )
+TILEMAP_MAPPER_MEMBER(cps_state::tilemap2_scan)
{
/* logical (col,row) -> memory offset */
return (row & 0x07) + ((col & 0x3f) << 3) + ((row & 0x38) << 6);
}
-static TILE_GET_INFO( get_tile0_info )
+TILE_GET_INFO_MEMBER(cps_state::get_tile0_info)
{
- cps_state *state = machine.driver_data<cps_state>();
- int code = state->m_scroll1[2 * tile_index];
- int attr = state->m_scroll1[2 * tile_index + 1];
+ int code = m_scroll1[2 * tile_index];
+ int attr = m_scroll1[2 * tile_index + 1];
int gfxset;
- code = gfxrom_bank_mapper(machine, GFXTYPE_SCROLL1, code);
+ code = gfxrom_bank_mapper(machine(), GFXTYPE_SCROLL1, code);
/* allows us to reproduce a problem seen with a ffight board where USA and Japanese
roms have been mixed to be reproduced (ffightub) -- it looks like each column
should alternate between the left and right side of the 16x16 tiles */
gfxset = (tile_index & 0x20) >> 5;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
gfxset,
code,
(attr & 0x1f) + 0x20,
@@ -2013,20 +2012,19 @@ static TILE_GET_INFO( get_tile0_info )
tileinfo.group = (attr & 0x0180) >> 7;
// for out of range tiles, switch to fully transparent data
- // (but still call SET_TILE_INFO, otherwise problems might occur on boot e.g. unsquad)
+ // (but still call SET_TILE_INFO_MEMBER, otherwise problems might occur on boot e.g. unsquad)
if (code == -1)
- tileinfo.pen_data = state->m_empty_tile;
+ tileinfo.pen_data = m_empty_tile;
}
-static TILE_GET_INFO( get_tile1_info )
+TILE_GET_INFO_MEMBER(cps_state::get_tile1_info)
{
- cps_state *state = machine.driver_data<cps_state>();
- int code = state->m_scroll2[2 * tile_index];
- int attr = state->m_scroll2[2 * tile_index + 1];
+ int code = m_scroll2[2 * tile_index];
+ int attr = m_scroll2[2 * tile_index + 1];
- code = gfxrom_bank_mapper(machine, GFXTYPE_SCROLL2, code);
+ code = gfxrom_bank_mapper(machine(), GFXTYPE_SCROLL2, code);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
code,
(attr & 0x1f) + 0x40,
@@ -2035,18 +2033,17 @@ static TILE_GET_INFO( get_tile1_info )
// for out of range tiles, switch to fully transparent data
if (code == -1)
- tileinfo.pen_data = state->m_empty_tile;
+ tileinfo.pen_data = m_empty_tile;
}
-static TILE_GET_INFO( get_tile2_info )
+TILE_GET_INFO_MEMBER(cps_state::get_tile2_info)
{
- cps_state *state = machine.driver_data<cps_state>();
- int code = state->m_scroll3[2 * tile_index] & 0x3fff;
- int attr = state->m_scroll3[2 * tile_index + 1];
+ int code = m_scroll3[2 * tile_index] & 0x3fff;
+ int attr = m_scroll3[2 * tile_index + 1];
- code = gfxrom_bank_mapper(machine, GFXTYPE_SCROLL3, code);
+ code = gfxrom_bank_mapper(machine(), GFXTYPE_SCROLL3, code);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
code,
(attr & 0x1f) + 0x60,
@@ -2054,9 +2051,9 @@ static TILE_GET_INFO( get_tile2_info )
tileinfo.group = (attr & 0x0180) >> 7;
// for out of range tiles, switch to fully transparent data
- // (but still call SET_TILE_INFO, otherwise problems might occur on boot e.g. unsquad)
+ // (but still call SET_TILE_INFO_MEMBER, otherwise problems might occur on boot e.g. unsquad)
if (code == -1)
- tileinfo.pen_data = state->m_empty_tile;
+ tileinfo.pen_data = m_empty_tile;
}
@@ -2099,9 +2096,9 @@ static VIDEO_START( cps )
state->m_stars_rom_size = 0x2000; /* first 0x4000 of gfx ROM are used, but 0x0000-0x1fff is == 0x2000-0x3fff */
/* create tilemaps */
- state->m_bg_tilemap[0] = tilemap_create(machine, get_tile0_info, tilemap0_scan, 8, 8, 64, 64);
- state->m_bg_tilemap[1] = tilemap_create(machine, get_tile1_info, tilemap1_scan, 16, 16, 64, 64);
- state->m_bg_tilemap[2] = tilemap_create(machine, get_tile2_info, tilemap2_scan, 32, 32, 64, 64);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cps_state::get_tile0_info),state), tilemap_mapper_delegate(FUNC(cps_state::tilemap0_scan),state), 8, 8, 64, 64);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cps_state::get_tile1_info),state), tilemap_mapper_delegate(FUNC(cps_state::tilemap1_scan),state), 16, 16, 64, 64);
+ state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cps_state::get_tile2_info),state), tilemap_mapper_delegate(FUNC(cps_state::tilemap2_scan),state), 32, 32, 64, 64);
/* create empty tiles */
memset(state->m_empty_tile, 0x0f, sizeof(state->m_empty_tile));
diff --git a/src/mame/video/crbaloon.c b/src/mame/video/crbaloon.c
index c8b952ecd5f..31a833cae8f 100644
--- a/src/mame/video/crbaloon.c
+++ b/src/mame/video/crbaloon.c
@@ -59,19 +59,18 @@ WRITE8_MEMBER(crbaloon_state::crbaloon_colorram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(crbaloon_state::get_bg_tile_info)
{
- crbaloon_state *state = machine.driver_data<crbaloon_state>();
- int code = state->m_videoram[tile_index];
- int color = state->m_colorram[tile_index] & 0x0f;
+ int code = m_videoram[tile_index];
+ int color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( crbaloon )
{
crbaloon_state *state = machine.driver_data<crbaloon_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS_FLIP_XY, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crbaloon_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_XY, 8, 8, 32, 32);
state->save_item(NAME(state->m_collision_address));
state->save_item(NAME(state->m_collision_address_clear));
diff --git a/src/mame/video/crospang.c b/src/mame/video/crospang.c
index a62fe534018..403e40c6c31 100644
--- a/src/mame/video/crospang.c
+++ b/src/mame/video/crospang.c
@@ -88,32 +88,30 @@ WRITE16_MEMBER(crospang_state::crospang_bg_videoram_w)
m_bg_layer->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(crospang_state::get_bg_tile_info)
{
- crospang_state *state = machine.driver_data<crospang_state>();
- int data = state->m_bg_videoram[tile_index];
+ int data = m_bg_videoram[tile_index];
int tile = data & 0xfff;
int color = (data >> 12) & 0x0f;
- SET_TILE_INFO(1, tile + state->m_bestri_tilebank * 0x1000, color + 0x20, 0);
+ SET_TILE_INFO_MEMBER(1, tile + m_bestri_tilebank * 0x1000, color + 0x20, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(crospang_state::get_fg_tile_info)
{
- crospang_state *state = machine.driver_data<crospang_state>();
- int data = state->m_fg_videoram[tile_index];
+ int data = m_fg_videoram[tile_index];
int tile = data & 0xfff;
int color = (data >> 12) & 0x0f;
- SET_TILE_INFO(1, tile + state->m_bestri_tilebank * 0x1000, color + 0x10, 0);
+ SET_TILE_INFO_MEMBER(1, tile + m_bestri_tilebank * 0x1000, color + 0x10, 0);
}
VIDEO_START( crospang )
{
crospang_state *state = machine.driver_data<crospang_state>();
- state->m_bg_layer = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_layer = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crospang_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crospang_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_fg_layer->set_transparent_pen(0);
}
diff --git a/src/mame/video/crshrace.c b/src/mame/video/crshrace.c
index f2d740ae14e..de753b0e5a2 100644
--- a/src/mame/video/crshrace.c
+++ b/src/mame/video/crshrace.c
@@ -9,20 +9,18 @@
***************************************************************************/
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(crshrace_state::get_tile_info1)
{
- crshrace_state *state = machine.driver_data<crshrace_state>();
- int code = state->m_videoram1[tile_index];
+ int code = m_videoram1[tile_index];
- SET_TILE_INFO(1, (code & 0xfff) + (state->m_roz_bank << 12), code >> 12, 0);
+ SET_TILE_INFO_MEMBER(1, (code & 0xfff) + (m_roz_bank << 12), code >> 12, 0);
}
-static TILE_GET_INFO( get_tile_info2 )
+TILE_GET_INFO_MEMBER(crshrace_state::get_tile_info2)
{
- crshrace_state *state = machine.driver_data<crshrace_state>();
- int code = state->m_videoram2[tile_index];
+ int code = m_videoram2[tile_index];
- SET_TILE_INFO(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
@@ -36,8 +34,8 @@ VIDEO_START( crshrace )
{
crshrace_state *state = machine.driver_data<crshrace_state>();
- state->m_tilemap1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_tilemap2 = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crshrace_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crshrace_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_tilemap1->set_transparent_pen(0x0f);
state->m_tilemap2->set_transparent_pen(0xff);
diff --git a/src/mame/video/cyberbal.c b/src/mame/video/cyberbal.c
index f6ff4a4c9d9..8b16dac44e1 100644
--- a/src/mame/video/cyberbal.c
+++ b/src/mame/video/cyberbal.c
@@ -20,43 +20,39 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(cyberbal_state::get_alpha_tile_info)
{
- cyberbal_state *state = machine.driver_data<cyberbal_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0xfff;
int color = (data >> 12) & 0x07;
- SET_TILE_INFO(2, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(2, code, color, (data >> 15) & 1);
}
-static TILE_GET_INFO( get_alpha2_tile_info )
+TILE_GET_INFO_MEMBER(cyberbal_state::get_alpha2_tile_info)
{
- cyberbal_state *state = machine.driver_data<cyberbal_state>();
- UINT16 data = state->m_alpha2[tile_index];
+ UINT16 data = m_alpha2[tile_index];
int code = data & 0xfff;
int color = (data >> 12) & 0x07;
- SET_TILE_INFO(2, code, 0x80 | color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(2, code, 0x80 | color, (data >> 15) & 1);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(cyberbal_state::get_playfield_tile_info)
{
- cyberbal_state *state = machine.driver_data<cyberbal_state>();
- UINT16 data = state->m_playfield[tile_index];
+ UINT16 data = m_playfield[tile_index];
int code = data & 0x1fff;
int color = (data >> 11) & 0x0f;
- SET_TILE_INFO(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
}
-static TILE_GET_INFO( get_playfield2_tile_info )
+TILE_GET_INFO_MEMBER(cyberbal_state::get_playfield2_tile_info)
{
- cyberbal_state *state = machine.driver_data<cyberbal_state>();
- UINT16 data = state->m_playfield2[tile_index];
+ UINT16 data = m_playfield2[tile_index];
int code = data & 0x1fff;
int color = (data >> 11) & 0x0f;
- SET_TILE_INFO(0, code, 0x80 | color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, 0x80 | color, (data >> 15) & 1);
}
@@ -145,21 +141,21 @@ static void video_start_cyberbal_common(running_machine &machine, int screens)
cyberbal_state *state = machine.driver_data<cyberbal_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS, 16,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cyberbal_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 16,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &mo0desc);
atarimo_set_slipram(0, &state->m_current_slip[0]);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 16,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cyberbal_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 16,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
/* allocate the second screen if necessary */
if (screens == 2)
{
/* initialize the playfield */
- state->m_playfield2_tilemap = tilemap_create(machine, get_playfield2_tile_info, TILEMAP_SCAN_ROWS, 16,8, 64,64);
+ state->m_playfield2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cyberbal_state::get_playfield2_tile_info),state), TILEMAP_SCAN_ROWS, 16,8, 64,64);
state->m_playfield2_tilemap->set_scrollx(0, 0);
/* initialize the motion objects */
@@ -167,7 +163,7 @@ static void video_start_cyberbal_common(running_machine &machine, int screens)
atarimo_set_slipram(1, &state->m_current_slip[1]);
/* initialize the alphanumerics */
- state->m_alpha2_tilemap = tilemap_create(machine, get_alpha2_tile_info, TILEMAP_SCAN_ROWS, 16,8, 64,32);
+ state->m_alpha2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cyberbal_state::get_alpha2_tile_info),state), TILEMAP_SCAN_ROWS, 16,8, 64,32);
state->m_alpha2_tilemap->set_scrollx(0, 0);
state->m_alpha2_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/darius.c b/src/mame/video/darius.c
index 89ea0ed1188..a4865b004d2 100644
--- a/src/mame/video/darius.c
+++ b/src/mame/video/darius.c
@@ -16,10 +16,9 @@ INLINE void actual_get_fg_tile_info( running_machine &machine, tile_data &tilein
TILE_FLIPYX((attr & 0xc000) >> 14));
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(darius_state::get_fg_tile_info)
{
- darius_state *state = machine.driver_data<darius_state>();
- actual_get_fg_tile_info(machine, tileinfo, tile_index, state->m_fg_ram, 2);
+ actual_get_fg_tile_info(machine(), tileinfo, tile_index, m_fg_ram, 2);
}
/***************************************************************************/
@@ -28,7 +27,7 @@ VIDEO_START( darius )
{
darius_state *state = machine.driver_data<darius_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darius_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/darkmist.c b/src/mame/video/darkmist.c
index 37f551ecaf4..04d5f2d344a 100644
--- a/src/mame/video/darkmist.c
+++ b/src/mame/video/darkmist.c
@@ -11,28 +11,28 @@
#define DISPLAY_TXT 16
-static TILE_GET_INFO( get_bgtile_info )
+TILE_GET_INFO_MEMBER(darkmist_state::get_bgtile_info)
{
int code,attr,pal;
- code=machine.root_device().memregion("user1")->base()[tile_index]; /* TTTTTTTT */
- attr=machine.root_device().memregion("user2")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
+ code=machine().root_device().memregion("user1")->base()[tile_index]; /* TTTTTTTT */
+ attr=machine().root_device().memregion("user2")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
code+=(attr&3)<<8;
pal=(attr>>4);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
pal,
0);
}
-static TILE_GET_INFO( get_fgtile_info )
+TILE_GET_INFO_MEMBER(darkmist_state::get_fgtile_info)
{
int code,attr,pal;
- code=machine.root_device().memregion("user3")->base()[tile_index]; /* TTTTTTTT */
- attr=machine.root_device().memregion("user4")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
+ code=machine().root_device().memregion("user3")->base()[tile_index]; /* TTTTTTTT */
+ attr=machine().root_device().memregion("user4")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
pal=attr>>4;
code+=(attr&3)<<8;
@@ -41,17 +41,16 @@ static TILE_GET_INFO( get_fgtile_info )
pal+=16;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
pal,
0);
}
-static TILE_GET_INFO( get_txttile_info )
+TILE_GET_INFO_MEMBER(darkmist_state::get_txttile_info)
{
- darkmist_state *state = machine.driver_data<darkmist_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int code,attr,pal;
code=videoram[tile_index];
@@ -62,7 +61,7 @@ static TILE_GET_INFO( get_txttile_info )
pal+=48;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
pal,
@@ -122,9 +121,9 @@ static void set_pens(running_machine &machine)
VIDEO_START(darkmist)
{
darkmist_state *state = machine.driver_data<darkmist_state>();
- state->m_bgtilemap = tilemap_create( machine, get_bgtile_info,TILEMAP_SCAN_ROWS,16,16,512,64 );
- state->m_fgtilemap = tilemap_create( machine, get_fgtile_info,TILEMAP_SCAN_ROWS,16,16,64,256 );
- state->m_txtilemap = tilemap_create( machine, get_txttile_info,TILEMAP_SCAN_ROWS,8,8,32,32 );
+ state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_bgtile_info),state),TILEMAP_SCAN_ROWS,16,16,512,64 );
+ state->m_fgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_fgtile_info),state),TILEMAP_SCAN_ROWS,16,16,64,256 );
+ state->m_txtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_txttile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
state->m_fgtilemap->set_transparent_pen(0);
state->m_txtilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/dbz.c b/src/mame/video/dbz.c
index b486f55d27b..7081df4437f 100644
--- a/src/mame/video/dbz.c
+++ b/src/mame/video/dbz.c
@@ -44,16 +44,15 @@ WRITE16_MEMBER(dbz_state::dbz_bg2_videoram_w)
m_bg2_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_dbz_bg2_tile_info )
+TILE_GET_INFO_MEMBER(dbz_state::get_dbz_bg2_tile_info)
{
- dbz_state *state = machine.driver_data<dbz_state>();
int tileno, colour, flag;
- tileno = state->m_bg2_videoram[tile_index * 2 + 1] & 0x7fff;
- colour = (state->m_bg2_videoram[tile_index * 2] & 0x000f);
- flag = (state->m_bg2_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
+ tileno = m_bg2_videoram[tile_index * 2 + 1] & 0x7fff;
+ colour = (m_bg2_videoram[tile_index * 2] & 0x000f);
+ flag = (m_bg2_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
- SET_TILE_INFO(0, tileno, colour + (state->m_layer_colorbase[5] << 1), flag);
+ SET_TILE_INFO_MEMBER(0, tileno, colour + (m_layer_colorbase[5] << 1), flag);
}
WRITE16_MEMBER(dbz_state::dbz_bg1_videoram_w)
@@ -62,24 +61,23 @@ WRITE16_MEMBER(dbz_state::dbz_bg1_videoram_w)
m_bg1_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_dbz_bg1_tile_info )
+TILE_GET_INFO_MEMBER(dbz_state::get_dbz_bg1_tile_info)
{
- dbz_state *state = machine.driver_data<dbz_state>();
int tileno, colour, flag;
- tileno = state->m_bg1_videoram[tile_index * 2 + 1] & 0x7fff;
- colour = (state->m_bg1_videoram[tile_index * 2] & 0x000f);
- flag = (state->m_bg1_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
+ tileno = m_bg1_videoram[tile_index * 2 + 1] & 0x7fff;
+ colour = (m_bg1_videoram[tile_index * 2] & 0x000f);
+ flag = (m_bg1_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
- SET_TILE_INFO(1, tileno, colour + (state->m_layer_colorbase[4] << 1), flag);
+ SET_TILE_INFO_MEMBER(1, tileno, colour + (m_layer_colorbase[4] << 1), flag);
}
VIDEO_START( dbz )
{
dbz_state *state = machine.driver_data<dbz_state>();
- state->m_bg1_tilemap = tilemap_create(machine, get_dbz_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_bg2_tilemap = tilemap_create(machine, get_dbz_bg2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dbz_state::get_dbz_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dbz_state::get_dbz_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
state->m_bg1_tilemap->set_transparent_pen(0);
state->m_bg2_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/dcon.c b/src/mame/video/dcon.c
index ea423aa187c..565b6985d51 100644
--- a/src/mame/video/dcon.c
+++ b/src/mame/video/dcon.c
@@ -69,60 +69,56 @@ WRITE16_MEMBER(dcon_state::dcon_text_w)
m_text_layer->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(dcon_state::get_back_tile_info)
{
- dcon_state *state = machine.driver_data<dcon_state>();
- int tile=state->m_back_data[tile_index];
+ int tile=m_back_data[tile_index];
int color=(tile>>12)&0xf;
tile&=0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile,
color,
0);
}
-static TILE_GET_INFO( get_fore_tile_info )
+TILE_GET_INFO_MEMBER(dcon_state::get_fore_tile_info)
{
- dcon_state *state = machine.driver_data<dcon_state>();
- int tile=state->m_fore_data[tile_index];
+ int tile=m_fore_data[tile_index];
int color=(tile>>12)&0xf;
tile&=0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile,
color,
0);
}
-static TILE_GET_INFO( get_mid_tile_info )
+TILE_GET_INFO_MEMBER(dcon_state::get_mid_tile_info)
{
- dcon_state *state = machine.driver_data<dcon_state>();
- int tile=state->m_mid_data[tile_index];
+ int tile=m_mid_data[tile_index];
int color=(tile>>12)&0xf;
tile&=0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
- tile|state->m_gfx_bank_select,
+ tile|m_gfx_bank_select,
color,
0);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(dcon_state::get_text_tile_info)
{
- dcon_state *state = machine.driver_data<dcon_state>();
- int tile = state->m_textram[tile_index];
+ int tile = m_textram[tile_index];
int color=(tile>>12)&0xf;
tile&=0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
color,
@@ -132,10 +128,10 @@ static TILE_GET_INFO( get_text_tile_info )
VIDEO_START( dcon )
{
dcon_state *state = machine.driver_data<dcon_state>();
- state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS, 16,16,32,32);
- state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_midground_layer = tilemap_create(machine, get_mid_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_text_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8,8,64,32);
+ state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,32,32);
+ state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_fore_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_mid_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dcon_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
state->m_midground_layer->set_transparent_pen(15);
state->m_foreground_layer->set_transparent_pen(15);
diff --git a/src/mame/video/dday.c b/src/mame/video/dday.c
index 3cb0f00fbb5..ec7681294b7 100644
--- a/src/mame/video/dday.c
+++ b/src/mame/video/dday.c
@@ -153,44 +153,40 @@ PALETTE_INIT( dday )
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(dday_state::get_bg_tile_info)
{
- dday_state *state = machine.driver_data<dday_state>();
int code;
- code = state->m_bgvideoram[tile_index];
- SET_TILE_INFO(0, code, code >> 5, 0);
+ code = m_bgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(0, code, code >> 5, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(dday_state::get_fg_tile_info)
{
- dday_state *state = machine.driver_data<dday_state>();
int code, flipx;
- flipx = state->m_colorram[tile_index & 0x03e0] & 0x01;
- code = state->m_fgvideoram[flipx ? tile_index ^ 0x1f : tile_index];
- SET_TILE_INFO(2, code, code >> 5, flipx ? TILE_FLIPX : 0);
+ 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);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(dday_state::get_text_tile_info)
{
- dday_state *state = machine.driver_data<dday_state>();
int code;
- code = state->m_textvideoram[tile_index];
- SET_TILE_INFO(1, code, code >> 5, 0);
+ code = m_textvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(1, code, code >> 5, 0);
}
-static TILE_GET_INFO( get_sl_tile_info )
+TILE_GET_INFO_MEMBER(dday_state::get_sl_tile_info)
{
- dday_state *state = machine.driver_data<dday_state>();
int code, sl_flipx, flipx;
UINT8* sl_map;
- sl_map = &state->memregion("user1")->base()[(state->m_sl_image & 0x07) * 0x0200];
+ sl_map = &memregion("user1")->base()[(m_sl_image & 0x07) * 0x0200];
flipx = (tile_index >> 4) & 0x01;
- sl_flipx = (state->m_sl_image >> 3) & 0x01;
+ sl_flipx = (m_sl_image >> 3) & 0x01;
/* bit 4 is really a flip indicator. Need to shift bits 5-9 to the right by 1 */
tile_index = ((tile_index & 0x03e0) >> 1) | (tile_index & 0x0f);
@@ -201,7 +197,7 @@ static TILE_GET_INFO( get_sl_tile_info )
/* no mirroring, draw dark spot */
code = 1;
- SET_TILE_INFO(3, code & 0x3f, 0, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(3, code & 0x3f, 0, flipx ? TILE_FLIPX : 0);
}
@@ -214,10 +210,10 @@ static TILE_GET_INFO( get_sl_tile_info )
VIDEO_START( dday )
{
dday_state *state = machine.driver_data<dday_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_text_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_sl_tilemap = tilemap_create(machine, get_sl_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_sl_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dday_state::get_sl_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
machine.primary_screen->register_screen_bitmap(state->m_main_bitmap);
diff --git a/src/mame/video/ddragon.c b/src/mame/video/ddragon.c
index 141c07f862d..96b97ef1fd9 100644
--- a/src/mame/video/ddragon.c
+++ b/src/mame/video/ddragon.c
@@ -50,41 +50,38 @@ Sprite layout.
***************************************************************************/
-static TILEMAP_MAPPER( background_scan )
+TILEMAP_MAPPER_MEMBER(ddragon_state::background_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ddragon_state::get_bg_tile_info)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- UINT8 attr = state->m_bgvideoram[2 * tile_index];
- SET_TILE_INFO(
+ UINT8 attr = m_bgvideoram[2 * tile_index];
+ SET_TILE_INFO_MEMBER(
2,
- state->m_bgvideoram[2 * tile_index+1] + ((attr & 0x07) << 8),
+ m_bgvideoram[2 * tile_index+1] + ((attr & 0x07) << 8),
(attr >> 3) & 0x07,
TILE_FLIPYX((attr & 0xc0) >> 6));
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(ddragon_state::get_fg_tile_info)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- UINT8 attr = state->m_fgvideoram[2 * tile_index];
- SET_TILE_INFO(
+ UINT8 attr = m_fgvideoram[2 * tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_fgvideoram[2 * tile_index + 1] + ((attr & 0x07) << 8),
+ m_fgvideoram[2 * tile_index + 1] + ((attr & 0x07) << 8),
attr >> 5,
0);
}
-static TILE_GET_INFO( get_fg_16color_tile_info )
+TILE_GET_INFO_MEMBER(ddragon_state::get_fg_16color_tile_info)
{
- ddragon_state *state = machine.driver_data<ddragon_state>();
- UINT8 attr = state->m_fgvideoram[2 * tile_index];
- SET_TILE_INFO(
+ UINT8 attr = m_fgvideoram[2 * tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_fgvideoram[2 * tile_index+1] + ((attr & 0x0f) << 8),
+ m_fgvideoram[2 * tile_index+1] + ((attr & 0x0f) << 8),
attr >> 4,
0);
}
@@ -100,8 +97,8 @@ VIDEO_START( ddragon )
{
ddragon_state *state = machine.driver_data<ddragon_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, background_scan, 16, 16, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(ddragon_state::background_scan),state), 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_scrolldx(0, 384 - 256);
@@ -114,8 +111,8 @@ VIDEO_START( chinagat )
{
ddragon_state *state = machine.driver_data<ddragon_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,background_scan, 16, 16, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_16color_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(ddragon_state::background_scan),state), 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon_state::get_fg_16color_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_scrolldy(-8, -8);
diff --git a/src/mame/video/ddragon3.c b/src/mame/video/ddragon3.c
index d5d07138f96..8e6695d3d89 100644
--- a/src/mame/video/ddragon3.c
+++ b/src/mame/video/ddragon3.c
@@ -54,34 +54,32 @@ WRITE16_MEMBER(ddragon3_state::ddragon3_fg_videoram_w)
m_fg_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ddragon3_state::get_bg_tile_info)
{
- ddragon3_state *state = machine.driver_data<ddragon3_state>();
- UINT16 attr = state->m_bg_videoram[tile_index];
- int code = (attr & 0x0fff) | ((state->m_bg_tilebase & 0x01) << 12);
+ UINT16 attr = m_bg_videoram[tile_index];
+ int code = (attr & 0x0fff) | ((m_bg_tilebase & 0x01) << 12);
int color = ((attr & 0xf000) >> 12) + 16;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(ddragon3_state::get_fg_tile_info)
{
- ddragon3_state *state = machine.driver_data<ddragon3_state>();
int offs = tile_index * 2;
- UINT16 attr = state->m_fg_videoram[offs];
- int code = state->m_fg_videoram[offs + 1] & 0x1fff;
+ UINT16 attr = m_fg_videoram[offs];
+ int code = m_fg_videoram[offs + 1] & 0x1fff;
int color = attr & 0xf;
int flags = (attr & 0x40) ? TILE_FLIPX : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( ddragon3 )
{
ddragon3_state *state = machine.driver_data<ddragon3_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon3_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddragon3_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/ddribble.c b/src/mame/video/ddribble.c
index f470540c4a8..71462f3c386 100644
--- a/src/mame/video/ddribble.c
+++ b/src/mame/video/ddribble.c
@@ -87,30 +87,28 @@ WRITE8_MEMBER(ddribble_state::K005885_1_w)
***************************************************************************/
-static TILEMAP_MAPPER( tilemap_scan )
+TILEMAP_MAPPER_MEMBER(ddribble_state::tilemap_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 6); /* skip 0x400 */
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(ddribble_state::get_fg_tile_info)
{
- ddribble_state *state = machine.driver_data<ddribble_state>();
- UINT8 attr = state->m_fg_videoram[tile_index];
- int num = state->m_fg_videoram[tile_index + 0x400] + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5) + ((state->m_charbank[0] & 2) << 10);
- SET_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(
0,
num,
0,
TILE_FLIPYX((attr & 0x30) >> 4));
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ddribble_state::get_bg_tile_info)
{
- ddribble_state *state = machine.driver_data<ddribble_state>();
- UINT8 attr = state->m_bg_videoram[tile_index];
- int num = state->m_bg_videoram[tile_index + 0x400] + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5) + (state->m_charbank[1] << 11);
- SET_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(
1,
num,
0,
@@ -127,8 +125,8 @@ VIDEO_START( ddribble )
{
ddribble_state *state = machine.driver_data<ddribble_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan, 8, 8, 64, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddribble_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(ddribble_state::tilemap_scan),state), 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddribble_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(ddribble_state::tilemap_scan),state), 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/deadang.c b/src/mame/video/deadang.c
index c37ba063400..e6483415773 100644
--- a/src/mame/video/deadang.c
+++ b/src/mame/video/deadang.c
@@ -32,52 +32,50 @@ WRITE16_MEMBER(deadang_state::deadang_bank_w)
/******************************************************************************/
-static TILEMAP_MAPPER( bg_scan )
+TILEMAP_MAPPER_MEMBER(deadang_state::bg_scan)
{
return (col&0xf) | ((row&0xf)<<4) | ((col&0x70)<<4) | ((row&0xf0)<<7);
}
-static TILE_GET_INFO( get_pf3_tile_info )
+TILE_GET_INFO_MEMBER(deadang_state::get_pf3_tile_info)
{
- const UINT16 *bgMap = (const UINT16 *)machine.root_device().memregion("gfx6")->base();
+ const UINT16 *bgMap = (const UINT16 *)machine().root_device().memregion("gfx6")->base();
int code= bgMap[tile_index];
- SET_TILE_INFO(4,code&0x7ff,code>>12,0);
+ SET_TILE_INFO_MEMBER(4,code&0x7ff,code>>12,0);
}
-static TILE_GET_INFO( get_pf2_tile_info )
+TILE_GET_INFO_MEMBER(deadang_state::get_pf2_tile_info)
{
- const UINT16 *bgMap = (const UINT16 *)machine.root_device().memregion("gfx7")->base();
+ const UINT16 *bgMap = (const UINT16 *)machine().root_device().memregion("gfx7")->base();
int code= bgMap[tile_index];
- SET_TILE_INFO(3,code&0x7ff,code>>12,0);
+ SET_TILE_INFO_MEMBER(3,code&0x7ff,code>>12,0);
}
-static TILE_GET_INFO( get_pf1_tile_info )
+TILE_GET_INFO_MEMBER(deadang_state::get_pf1_tile_info)
{
- deadang_state *state = machine.driver_data<deadang_state>();
- int tile=state->m_video_data[tile_index];
+ int tile=m_video_data[tile_index];
int color=tile >> 12;
tile=tile&0xfff;
- SET_TILE_INFO(2,tile+state->m_deadangle_tilebank*0x1000,color,0);
+ SET_TILE_INFO_MEMBER(2,tile+m_deadangle_tilebank*0x1000,color,0);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(deadang_state::get_text_tile_info)
{
- deadang_state *state = machine.driver_data<deadang_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int tile=(videoram[tile_index] & 0xff) | ((videoram[tile_index] >> 6) & 0x300);
int color=(videoram[tile_index] >> 8)&0xf;
- SET_TILE_INFO(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(0,tile,color,0);
}
VIDEO_START( deadang )
{
deadang_state *state = machine.driver_data<deadang_state>();
- state->m_pf3_layer = tilemap_create(machine, get_pf3_tile_info,bg_scan, 16,16,128,256);
- state->m_pf2_layer = tilemap_create(machine, get_pf2_tile_info,bg_scan, 16,16,128,256);
- state->m_pf1_layer = tilemap_create(machine, get_pf1_tile_info,TILEMAP_SCAN_COLS,16,16, 32, 32);
- state->m_text_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_pf3_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_pf3_tile_info),state),tilemap_mapper_delegate(FUNC(deadang_state::bg_scan),state),16,16,128,256);
+ state->m_pf2_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_pf2_tile_info),state),tilemap_mapper_delegate(FUNC(deadang_state::bg_scan),state),16,16,128,256);
+ state->m_pf1_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_pf1_tile_info),state),TILEMAP_SCAN_COLS,16,16, 32, 32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deadang_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_pf2_layer->set_transparent_pen(15);
state->m_pf1_layer->set_transparent_pen(15);
diff --git a/src/mame/video/dec8.c b/src/mame/video/dec8.c
index 5282c18374b..97b16dc0aac 100644
--- a/src/mame/video/dec8.c
+++ b/src/mame/video/dec8.c
@@ -280,14 +280,13 @@ SCREEN_UPDATE_IND16( cobracom )
/******************************************************************************/
-static TILE_GET_INFO( get_cobracom_fix_tile_info )
+TILE_GET_INFO_MEMBER(dec8_state::get_cobracom_fix_tile_info)
{
- dec8_state *state = machine.driver_data<dec8_state>();
int offs = tile_index << 1;
- int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
+ int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0xe000) >> 13;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile & 0xfff,
color,
@@ -297,7 +296,7 @@ static TILE_GET_INFO( get_cobracom_fix_tile_info )
VIDEO_START( cobracom )
{
dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = tilemap_create(machine, get_cobracom_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_cobracom_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
@@ -318,14 +317,13 @@ SCREEN_UPDATE_IND16( ghostb )
return 0;
}
-static TILE_GET_INFO( get_ghostb_fix_tile_info )
+TILE_GET_INFO_MEMBER(dec8_state::get_ghostb_fix_tile_info)
{
- dec8_state *state = machine.driver_data<dec8_state>();
int offs = tile_index << 1;
- int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
+ int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0xc00) >> 10;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile & 0x3ff,
color,
@@ -335,7 +333,7 @@ static TILE_GET_INFO( get_ghostb_fix_tile_info )
VIDEO_START( ghostb )
{
dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = tilemap_create(machine, get_ghostb_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_ghostb_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
state->m_game_uses_priority = 0;
@@ -357,14 +355,13 @@ SCREEN_UPDATE_IND16( oscar )
return 0;
}
-static TILE_GET_INFO( get_oscar_fix_tile_info )
+TILE_GET_INFO_MEMBER(dec8_state::get_oscar_fix_tile_info)
{
- dec8_state *state = machine.driver_data<dec8_state>();
int offs = tile_index << 1;
- int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
+ int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0xf000) >> 14;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile&0xfff,
color,
@@ -374,7 +371,7 @@ static TILE_GET_INFO( get_oscar_fix_tile_info )
VIDEO_START( oscar )
{
dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = tilemap_create(machine, get_oscar_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_oscar_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
@@ -412,39 +409,37 @@ SCREEN_UPDATE_IND16( shackled )
return 0;
}
-static TILEMAP_MAPPER( lastmisn_scan_rows )
+TILEMAP_MAPPER_MEMBER(dec8_state::lastmisn_scan_rows)
{
/* logical (col,row) -> memory offset */
return ((col & 0x0f) + ((row & 0x0f) << 4)) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
}
-static TILE_GET_INFO( get_lastmisn_tile_info )
+TILE_GET_INFO_MEMBER(dec8_state::get_lastmisn_tile_info)
{
- dec8_state *state = machine.driver_data<dec8_state>();
int offs = tile_index * 2;
- int tile = state->m_bg_data[offs + 1] + (state->m_bg_data[offs] << 8);
+ int tile = m_bg_data[offs + 1] + (m_bg_data[offs] << 8);
int color = tile >> 12;
- if (color > 7 && state->m_game_uses_priority)
+ if (color > 7 && m_game_uses_priority)
tileinfo.category = 1;
else
tileinfo.category = 0;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile & 0xfff,
color,
0);
}
-static TILE_GET_INFO( get_lastmisn_fix_tile_info )
+TILE_GET_INFO_MEMBER(dec8_state::get_lastmisn_fix_tile_info)
{
- dec8_state *state = machine.driver_data<dec8_state>();
int offs = tile_index << 1;
- int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
+ int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0xc000) >> 14;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile&0xfff,
color,
@@ -454,8 +449,8 @@ static TILE_GET_INFO( get_lastmisn_fix_tile_info )
VIDEO_START( lastmisn )
{
dec8_state *state = machine.driver_data<dec8_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_lastmisn_tile_info, lastmisn_scan_rows, 16, 16, 32, 32);
- state->m_fix_tilemap = tilemap_create(machine, get_lastmisn_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_tile_info),state), tilemap_mapper_delegate(FUNC(dec8_state::lastmisn_scan_rows),state), 16, 16, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
state->m_game_uses_priority = 0;
@@ -464,8 +459,8 @@ VIDEO_START( lastmisn )
VIDEO_START( shackled )
{
dec8_state *state = machine.driver_data<dec8_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_lastmisn_tile_info, lastmisn_scan_rows, 16, 16, 32, 32);
- state->m_fix_tilemap = tilemap_create(machine, get_lastmisn_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_tile_info),state), tilemap_mapper_delegate(FUNC(dec8_state::lastmisn_scan_rows),state), 16, 16, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_transmask(0, 0x000f, 0xfff0); /* Bottom 12 pens */
@@ -487,10 +482,9 @@ SCREEN_UPDATE_IND16( srdarwin )
return 0;
}
-static TILE_GET_INFO( get_srdarwin_fix_tile_info )
+TILE_GET_INFO_MEMBER(dec8_state::get_srdarwin_fix_tile_info)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- int tile = state->m_videoram[tile_index];
+ int tile = m_videoram[tile_index];
int color = 0; /* ? */
if (color > 1)
@@ -498,7 +492,7 @@ static TILE_GET_INFO( get_srdarwin_fix_tile_info )
else
tileinfo.category = 0;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
color,
@@ -506,17 +500,16 @@ static TILE_GET_INFO( get_srdarwin_fix_tile_info )
}
//AT: improved priority and fixed stage 4+ crashes caused by bank overflow
-static TILE_GET_INFO( get_srdarwin_tile_info )
+TILE_GET_INFO_MEMBER(dec8_state::get_srdarwin_tile_info)
{
- dec8_state *state = machine.driver_data<dec8_state>();
- int tile = state->m_bg_data[2 * tile_index + 1] + (state->m_bg_data[2 * tile_index] << 8);
+ int tile = m_bg_data[2 * tile_index + 1] + (m_bg_data[2 * tile_index] << 8);
int color = tile >> 12 & 3;
int bank;
tile = tile & 0x3ff;
bank = (tile / 0x100) + 2;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
bank,
tile,
color,
@@ -527,8 +520,8 @@ static TILE_GET_INFO( get_srdarwin_tile_info )
VIDEO_START( srdarwin )
{
dec8_state *state = machine.driver_data<dec8_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_srdarwin_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 16);
- state->m_fix_tilemap = tilemap_create(machine, get_srdarwin_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_srdarwin_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 16);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_srdarwin_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); //* draw as background only
@@ -566,33 +559,31 @@ SCREEN_UPDATE_IND16( garyoret )
return 0;
}
-static TILE_GET_INFO( get_gondo_fix_tile_info )
+TILE_GET_INFO_MEMBER(dec8_state::get_gondo_fix_tile_info)
{
- dec8_state *state = machine.driver_data<dec8_state>();
int offs = tile_index * 2;
- int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
+ int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
int color = (tile & 0x7000) >> 12;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile&0xfff,
color,
0);
}
-static TILE_GET_INFO( get_gondo_tile_info )
+TILE_GET_INFO_MEMBER(dec8_state::get_gondo_tile_info)
{
- dec8_state *state = machine.driver_data<dec8_state>();
int offs = tile_index * 2;
- int tile = state->m_bg_data[offs + 1] + (state->m_bg_data[offs] << 8);
+ int tile = m_bg_data[offs + 1] + (m_bg_data[offs] << 8);
int color = tile>> 12;
- if (color > 7 && state->m_game_uses_priority)
+ if (color > 7 && m_game_uses_priority)
tileinfo.category = 1;
else
tileinfo.category = 0;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile&0xfff,
color,
@@ -602,8 +593,8 @@ static TILE_GET_INFO( get_gondo_tile_info )
VIDEO_START( gondo )
{
dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = tilemap_create(machine, get_gondo_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_gondo_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_transmask(0, 0x00ff, 0xff00); /* Bottom 8 pens */
@@ -613,8 +604,8 @@ VIDEO_START( gondo )
VIDEO_START( garyoret )
{
dec8_state *state = machine.driver_data<dec8_state>();
- state->m_fix_tilemap = tilemap_create(machine, get_gondo_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_gondo_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
state->m_game_uses_priority = 1;
diff --git a/src/mame/video/deniam.c b/src/mame/video/deniam.c
index a93987d4258..409d2c91cbc 100644
--- a/src/mame/video/deniam.c
+++ b/src/mame/video/deniam.c
@@ -54,41 +54,38 @@ DRIVER_INIT_MEMBER(deniam_state,karianx)
***************************************************************************/
-static TILEMAP_MAPPER( scan_pages )
+TILEMAP_MAPPER_MEMBER(deniam_state::scan_pages)
{
/* logical (col,row) -> memory offset */
return (col & 0x3f) + ((row & 0x1f) << 6) + ((col & 0x40) << 5) + ((row & 0x20) << 7);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(deniam_state::get_bg_tile_info)
{
- deniam_state *state = machine.driver_data<deniam_state>();
int page = tile_index >> 11;
- UINT16 attr = state->m_videoram[state->m_bg_page[page] * 0x0800 + (tile_index & 0x7ff)];
- SET_TILE_INFO(
+ UINT16 attr = m_videoram[m_bg_page[page] * 0x0800 + (tile_index & 0x7ff)];
+ SET_TILE_INFO_MEMBER(
0,
attr,
(attr & 0x1fc0) >> 6,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(deniam_state::get_fg_tile_info)
{
- deniam_state *state = machine.driver_data<deniam_state>();
int page = tile_index >> 11;
- UINT16 attr = state->m_videoram[state->m_fg_page[page] * 0x0800 + (tile_index & 0x7ff)];
- SET_TILE_INFO(
+ UINT16 attr = m_videoram[m_fg_page[page] * 0x0800 + (tile_index & 0x7ff)];
+ SET_TILE_INFO_MEMBER(
0,
attr,
(attr & 0x1fc0) >> 6,
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(deniam_state::get_tx_tile_info)
{
- deniam_state *state = machine.driver_data<deniam_state>();
- UINT16 attr = state->m_textram[tile_index];
- SET_TILE_INFO(
+ UINT16 attr = m_textram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
attr & 0xf1ff,
(attr & 0x0e00) >> 9,
@@ -106,9 +103,9 @@ static TILE_GET_INFO( get_tx_tile_info )
VIDEO_START( deniam )
{
deniam_state *state = machine.driver_data<deniam_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, scan_pages, 8, 8, 128, 64);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, scan_pages, 8, 8, 128, 64);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),state), 8, 8, 128, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(deniam_state::scan_pages),state), 8, 8, 128, 64);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(deniam_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_tx_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/djboy.c b/src/mame/video/djboy.c
index d22385597f1..43b8f412391 100644
--- a/src/mame/video/djboy.c
+++ b/src/mame/video/djboy.c
@@ -17,17 +17,16 @@ WRITE8_MEMBER(djboy_state::djboy_scrolly_w)
m_scrolly = data;
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(djboy_state::get_bg_tile_info)
{
- djboy_state *state = machine.driver_data<djboy_state>();
- UINT8 attr = state->m_videoram[tile_index + 0x800];
- int code = state->m_videoram[tile_index] + (attr & 0xf) * 256;
+ UINT8 attr = m_videoram[tile_index + 0x800];
+ int code = m_videoram[tile_index] + (attr & 0xf) * 256;
int color = attr >> 4;
if (color & 8)
code |= 0x1000;
- SET_TILE_INFO(1, code, color, 0); /* no flip */
+ SET_TILE_INFO_MEMBER(1, code, color, 0); /* no flip */
}
WRITE8_MEMBER(djboy_state::djboy_videoram_w)
@@ -40,7 +39,7 @@ WRITE8_MEMBER(djboy_state::djboy_videoram_w)
VIDEO_START( djboy )
{
djboy_state *state = machine.driver_data<djboy_state>();
- state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(djboy_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
}
WRITE8_MEMBER(djboy_state::djboy_paletteram_w)
diff --git a/src/mame/video/dkong.c b/src/mame/video/dkong.c
index bff7da563d4..361bee35a85 100644
--- a/src/mame/video/dkong.c
+++ b/src/mame/video/dkong.c
@@ -452,23 +452,21 @@ PALETTE_INIT( dkong3 )
state->m_color_codes = color_prom; /* we'll need it later */
}
-static TILE_GET_INFO( dkong_bg_tile_info )
+TILE_GET_INFO_MEMBER(dkong_state::dkong_bg_tile_info)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- int code = state->m_video_ram[tile_index] + 256 * state->m_gfx_bank;
- int color = (state->m_color_codes[tile_index % 32 + 32 * (tile_index / 32 / 4)] & 0x0f) + 0x10 * state->m_palette_bank;
+ 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(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( radarscp1_bg_tile_info )
+TILE_GET_INFO_MEMBER(dkong_state::radarscp1_bg_tile_info)
{
- dkong_state *state = machine.driver_data<dkong_state>();
- int code = state->m_video_ram[tile_index] + 256 * state->m_gfx_bank;
- int color = (state->m_color_codes[tile_index % 32] & 0x0f);
- color = color | (state->m_palette_bank<<4);
+ int code = m_video_ram[tile_index] + 256 * m_gfx_bank;
+ int color = (m_color_codes[tile_index % 32] & 0x0f);
+ color = color | (m_palette_bank<<4);
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
/***************************************************************************
@@ -942,11 +940,11 @@ VIDEO_START( dkong )
/* fall through */
case HARDWARE_TKG04:
case HARDWARE_TKG02:
- state->m_bg_tilemap = tilemap_create(machine, dkong_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::dkong_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scrolldx(0, 128);
break;
case HARDWARE_TRS01:
- state->m_bg_tilemap = tilemap_create(machine, radarscp1_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::radarscp1_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scrolldx(0, 128);
machine.primary_screen->register_screen_bitmap(state->m_bg_bits);
diff --git a/src/mame/video/docastle.c b/src/mame/video/docastle.c
index 041c1b0586c..fdbb9854fcf 100644
--- a/src/mame/video/docastle.c
+++ b/src/mame/video/docastle.c
@@ -101,19 +101,18 @@ WRITE8_MEMBER(docastle_state::docastle_flipscreen_on_w)
m_do_tilemap->mark_all_dirty();
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(docastle_state::get_tile_info)
{
- docastle_state *state = machine.driver_data<docastle_state>();
- int code = state->m_videoram[tile_index] + 8 * (state->m_colorram[tile_index] & 0x20);
- int color = state->m_colorram[tile_index] & 0x1f;
+ int code = m_videoram[tile_index] + 8 * (m_colorram[tile_index] & 0x20);
+ int color = m_colorram[tile_index] & 0x1f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
static void video_start_common( running_machine &machine, UINT32 tile_transmask )
{
docastle_state *state = machine.driver_data<docastle_state>();
- state->m_do_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_do_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(docastle_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_do_tilemap->set_transmask(0, tile_transmask, 0x0000);
}
diff --git a/src/mame/video/dogfgt.c b/src/mame/video/dogfgt.c
index bda7ef198ba..b931095f8a5 100644
--- a/src/mame/video/dogfgt.c
+++ b/src/mame/video/dogfgt.c
@@ -49,13 +49,12 @@ PALETTE_INIT( dogfgt )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(dogfgt_state::get_tile_info)
{
- dogfgt_state *state = machine.driver_data<dogfgt_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_bgvideoram[tile_index],
- state->m_bgvideoram[tile_index + 0x400] & 0x03,
+ m_bgvideoram[tile_index],
+ m_bgvideoram[tile_index + 0x400] & 0x03,
0);
}
@@ -69,7 +68,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( dogfgt )
{
dogfgt_state *state = machine.driver_data<dogfgt_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dogfgt_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_bitmapram = auto_alloc_array(machine, UINT8, BITMAPRAM_SIZE);
state->save_pointer(NAME(state->m_bitmapram), BITMAPRAM_SIZE);
diff --git a/src/mame/video/dooyong.c b/src/mame/video/dooyong.c
index e2fbc941099..0f129675a7c 100644
--- a/src/mame/video/dooyong.c
+++ b/src/mame/video/dooyong.c
@@ -261,61 +261,55 @@ INLINE void rshark_get_tile_info(running_machine &machine, tile_data &tileinfo,
SET_TILE_INFO(graphics, code, color, flags);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(dooyong_state::get_bg_tile_info)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
- if (state->m_bg_tilerom2 != NULL)
- rshark_get_tile_info(machine, tileinfo, tile_index, state->m_bg_tilerom, state->m_bg_tilerom2, state->m_bgscroll8, state->m_bg_gfx);
+ if (m_bg_tilerom2 != NULL)
+ rshark_get_tile_info(machine(), tileinfo, tile_index, m_bg_tilerom, m_bg_tilerom2, m_bgscroll8, m_bg_gfx);
else
- lastday_get_tile_info(machine, tileinfo, tile_index, state->m_bg_tilerom, state->m_bgscroll8, state->m_bg_gfx);
+ lastday_get_tile_info(machine(), tileinfo, tile_index, m_bg_tilerom, m_bgscroll8, m_bg_gfx);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(dooyong_state::get_bg2_tile_info)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
- if (state->m_bg2_tilerom2 != NULL)
- rshark_get_tile_info(machine, tileinfo, tile_index, state->m_bg2_tilerom, state->m_bg2_tilerom2, state->m_bg2scroll8, state->m_bg2_gfx);
+ if (m_bg2_tilerom2 != NULL)
+ rshark_get_tile_info(machine(), tileinfo, tile_index, m_bg2_tilerom, m_bg2_tilerom2, m_bg2scroll8, m_bg2_gfx);
else
- lastday_get_tile_info(machine, tileinfo, tile_index, state->m_bg2_tilerom, state->m_bg2scroll8, state->m_bg2_gfx);
+ lastday_get_tile_info(machine(), tileinfo, tile_index, m_bg2_tilerom, m_bg2scroll8, m_bg2_gfx);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(dooyong_state::get_fg_tile_info)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
- if (state->m_fg_tilerom2 != NULL)
- rshark_get_tile_info(machine, tileinfo, tile_index, state->m_fg_tilerom, state->m_fg_tilerom2, state->m_fgscroll8, state->m_fg_gfx);
+ if (m_fg_tilerom2 != NULL)
+ rshark_get_tile_info(machine(), tileinfo, tile_index, m_fg_tilerom, m_fg_tilerom2, m_fgscroll8, m_fg_gfx);
else
- lastday_get_tile_info(machine, tileinfo, tile_index, state->m_fg_tilerom, state->m_fgscroll8, state->m_fg_gfx);
+ lastday_get_tile_info(machine(), tileinfo, tile_index, m_fg_tilerom, m_fgscroll8, m_fg_gfx);
}
-static TILE_GET_INFO( get_fg2_tile_info )
+TILE_GET_INFO_MEMBER(dooyong_state::get_fg2_tile_info)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
- if (state->m_fg2_tilerom2 != NULL)
- rshark_get_tile_info(machine, tileinfo, tile_index, state->m_fg2_tilerom, state->m_fg2_tilerom2, state->m_fg2scroll8, state->m_fg2_gfx);
+ if (m_fg2_tilerom2 != NULL)
+ rshark_get_tile_info(machine(), tileinfo, tile_index, m_fg2_tilerom, m_fg2_tilerom2, m_fg2scroll8, m_fg2_gfx);
else
- lastday_get_tile_info(machine, tileinfo, tile_index, state->m_fg2_tilerom, state->m_fg2scroll8, state->m_fg2_gfx);
+ lastday_get_tile_info(machine(), tileinfo, tile_index, m_fg2_tilerom, m_fg2scroll8, m_fg2_gfx);
}
/* flytiger uses some palette banking technique or something maybe a trash protection */
-static TILE_GET_INFO( flytiger_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(dooyong_state::flytiger_get_fg_tile_info)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
- const UINT8 *tilerom = state->m_fg_tilerom;
+ const UINT8 *tilerom = m_fg_tilerom;
- int offs = (tile_index + (state->m_fgscroll8[1] << 6)) * 2;
+ int offs = (tile_index + (m_fgscroll8[1] << 6)) * 2;
int attr = tilerom[offs];
int code = tilerom[offs + 1] | ((attr & 0x01) << 8) | ((attr & 0x80) << 2);
int color = (attr & 0x78) >> 3;
int flags = ((attr & 0x02) ? TILE_FLIPX : 0) | ((attr & 0x04) ? TILE_FLIPY : 0);
- SET_TILE_INFO(state->m_fg_gfx, code, color, flags);
+ SET_TILE_INFO_MEMBER(m_fg_gfx, code, color, flags);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(dooyong_state::get_tx_tile_info)
{
- dooyong_state *state = machine.driver_data<dooyong_state>();
/* Each tile takes two bytes of memory:
MSB LSB
[offs + 0x00] cccc cccc (bits 7-0 of gfx code)
@@ -323,20 +317,20 @@ static TILE_GET_INFO( get_tx_tile_info )
c = gfx code
C = color code */
int offs, attr, code, color;
- if (state->m_tx_tilemap_mode == 0)
+ if (m_tx_tilemap_mode == 0)
{ /* lastday/gulfstrm/pollux/flytiger */
offs = tile_index;
- attr = state->m_txvideoram[offs | 0x0800];
+ attr = m_txvideoram[offs | 0x0800];
}
else
{ /* bluehawk/primella */
offs = tile_index * 2;
- attr = state->m_txvideoram[offs + 1];
+ attr = m_txvideoram[offs + 1];
}
- code = state->m_txvideoram[offs] | ((attr & 0x0f) << 8);
+ code = m_txvideoram[offs] | ((attr & 0x0f) << 8);
color = (attr & 0xf0) >> 4;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -638,11 +632,11 @@ VIDEO_START( lastday )
state->m_tx_tilemap_mode = 0;
/* Create tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
@@ -678,11 +672,11 @@ VIDEO_START( gulfstrm )
state->m_tx_tilemap_mode = 0;
/* Create tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
@@ -717,11 +711,11 @@ VIDEO_START( pollux )
state->m_tx_tilemap_mode = 0;
/* Create tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
@@ -756,13 +750,13 @@ VIDEO_START( bluehawk )
state->m_tx_tilemap_mode = 1;
/* Create tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg2_tilemap = tilemap_create(machine, get_fg2_tile_info, TILEMAP_SCAN_COLS,
+ state->m_fg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg2_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
@@ -794,11 +788,11 @@ VIDEO_START( flytiger )
state->m_tx_tilemap_mode = 0;
/* Create tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = tilemap_create(machine, flytiger_get_fg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::flytiger_get_fg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
@@ -830,11 +824,11 @@ VIDEO_START( primella )
state->m_tx_tilemap_mode = 1;
/* Create tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
8, 8, 64, 32);
/* Configure tilemap transparency */
@@ -870,13 +864,13 @@ VIDEO_START( rshark )
state->m_fg2_gfx = 1;
/* Create tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
16, 16, 64, 32);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg2_tile_info),state), TILEMAP_SCAN_COLS,
16, 16, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
16, 16, 64, 32);
- state->m_fg2_tilemap = tilemap_create(machine, get_fg2_tile_info, TILEMAP_SCAN_COLS,
+ state->m_fg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg2_tile_info),state), TILEMAP_SCAN_COLS,
16, 16, 64, 32);
/* Configure tilemap transparency */
@@ -905,7 +899,7 @@ VIDEO_START( popbingo )
state->m_bg_gfx = 1;
/* Create tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
32, 32, 32, 8);
state->m_bg2_tilemap = state->m_fg_tilemap = state->m_fg2_tilemap = NULL; /* Stop scroll handler from crashing on these */
diff --git a/src/mame/video/dragrace.c b/src/mame/video/dragrace.c
index 69fab6c5b5a..db99f595974 100644
--- a/src/mame/video/dragrace.c
+++ b/src/mame/video/dragrace.c
@@ -8,10 +8,9 @@ Atari Drag Race video emulation
#include "includes/dragrace.h"
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(dragrace_state::get_tile_info)
{
- dragrace_state *state = machine.driver_data<dragrace_state>();
- UINT8 code = state->m_playfield_ram[tile_index];
+ UINT8 code = m_playfield_ram[tile_index];
int num = 0;
int col = 0;
@@ -36,14 +35,14 @@ static TILE_GET_INFO( get_tile_info )
break;
}
- SET_TILE_INFO(((code & 0xA0) == 0x80) ? 1 : 0, num, col, 0);
+ SET_TILE_INFO_MEMBER(((code & 0xA0) == 0x80) ? 1 : 0, num, col, 0);
}
VIDEO_START( dragrace )
{
dragrace_state *state = machine.driver_data<dragrace_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dragrace_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
diff --git a/src/mame/video/drgnmst.c b/src/mame/video/drgnmst.c
index 8f03caf6949..4e57e62cbe8 100644
--- a/src/mame/video/drgnmst.c
+++ b/src/mame/video/drgnmst.c
@@ -6,15 +6,14 @@
#include "includes/drgnmst.h"
-static TILE_GET_INFO( get_drgnmst_fg_tile_info )
+TILE_GET_INFO_MEMBER(drgnmst_state::get_drgnmst_fg_tile_info)
{
- drgnmst_state *state = machine.driver_data<drgnmst_state>();
int tileno, colour, flipyx;
- tileno = state->m_fg_videoram[tile_index * 2] & 0xfff;
- colour = state->m_fg_videoram[tile_index * 2 + 1] & 0x1f;
- flipyx = (state->m_fg_videoram[tile_index * 2 + 1] & 0x60)>>5;
+ tileno = m_fg_videoram[tile_index * 2] & 0xfff;
+ colour = m_fg_videoram[tile_index * 2 + 1] & 0x1f;
+ flipyx = (m_fg_videoram[tile_index * 2 + 1] & 0x60)>>5;
- SET_TILE_INFO(1, tileno, colour, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(1, tileno, colour, TILE_FLIPYX(flipyx));
}
WRITE16_MEMBER(drgnmst_state::drgnmst_fg_videoram_w)
@@ -23,15 +22,14 @@ WRITE16_MEMBER(drgnmst_state::drgnmst_fg_videoram_w)
m_fg_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_drgnmst_bg_tile_info )
+TILE_GET_INFO_MEMBER(drgnmst_state::get_drgnmst_bg_tile_info)
{
- drgnmst_state *state = machine.driver_data<drgnmst_state>();
int tileno, colour, flipyx;
- tileno = (state->m_bg_videoram[tile_index * 2]& 0x1fff) + 0x800;
- colour = state->m_bg_videoram[tile_index * 2 + 1] & 0x1f;
- flipyx = (state->m_bg_videoram[tile_index * 2 + 1] & 0x60) >> 5;
+ tileno = (m_bg_videoram[tile_index * 2]& 0x1fff) + 0x800;
+ colour = m_bg_videoram[tile_index * 2 + 1] & 0x1f;
+ flipyx = (m_bg_videoram[tile_index * 2 + 1] & 0x60) >> 5;
- SET_TILE_INFO(3, tileno, colour, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(3, tileno, colour, TILE_FLIPYX(flipyx));
}
WRITE16_MEMBER(drgnmst_state::drgnmst_bg_videoram_w)
@@ -40,15 +38,14 @@ WRITE16_MEMBER(drgnmst_state::drgnmst_bg_videoram_w)
m_bg_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_drgnmst_md_tile_info )
+TILE_GET_INFO_MEMBER(drgnmst_state::get_drgnmst_md_tile_info)
{
- drgnmst_state *state = machine.driver_data<drgnmst_state>();
int tileno, colour, flipyx;
- tileno = (state->m_md_videoram[tile_index * 2] & 0x7fff) - 0x2000;
- colour = state->m_md_videoram[tile_index * 2 + 1] & 0x1f;
- flipyx = (state->m_md_videoram[tile_index * 2 + 1] & 0x60) >> 5;
+ tileno = (m_md_videoram[tile_index * 2] & 0x7fff) - 0x2000;
+ colour = m_md_videoram[tile_index * 2 + 1] & 0x1f;
+ flipyx = (m_md_videoram[tile_index * 2 + 1] & 0x60) >> 5;
- SET_TILE_INFO(2, tileno, colour, TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(2, tileno, colour, TILE_FLIPYX(flipyx));
}
WRITE16_MEMBER(drgnmst_state::drgnmst_md_videoram_w)
@@ -105,17 +102,17 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap,const r
}
-static TILEMAP_MAPPER( drgnmst_fg_tilemap_scan_cols )
+TILEMAP_MAPPER_MEMBER(drgnmst_state::drgnmst_fg_tilemap_scan_cols)
{
return (col * 32) + (row & 0x1f) + ((row & 0xe0) >> 5) * 2048;
}
-static TILEMAP_MAPPER( drgnmst_md_tilemap_scan_cols )
+TILEMAP_MAPPER_MEMBER(drgnmst_state::drgnmst_md_tilemap_scan_cols)
{
return (col * 16) + (row & 0x0f) + ((row & 0xf0) >> 4) * 1024;
}
-static TILEMAP_MAPPER( drgnmst_bg_tilemap_scan_cols )
+TILEMAP_MAPPER_MEMBER(drgnmst_state::drgnmst_bg_tilemap_scan_cols)
{
return (col * 8) + (row & 0x07) + ((row & 0xf8) >> 3) * 512;
}
@@ -123,13 +120,13 @@ static TILEMAP_MAPPER( drgnmst_bg_tilemap_scan_cols )
VIDEO_START(drgnmst)
{
drgnmst_state *state = machine.driver_data<drgnmst_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_drgnmst_fg_tile_info, drgnmst_fg_tilemap_scan_cols, 8, 8, 64,64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drgnmst_state::get_drgnmst_fg_tile_info),state), tilemap_mapper_delegate(FUNC(drgnmst_state::drgnmst_fg_tilemap_scan_cols),state), 8, 8, 64,64);
state->m_fg_tilemap->set_transparent_pen(15);
- state->m_md_tilemap = tilemap_create(machine, get_drgnmst_md_tile_info, drgnmst_md_tilemap_scan_cols, 16, 16, 64,64);
+ state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drgnmst_state::get_drgnmst_md_tile_info),state), tilemap_mapper_delegate(FUNC(drgnmst_state::drgnmst_md_tilemap_scan_cols),state), 16, 16, 64,64);
state->m_md_tilemap->set_transparent_pen(15);
- state->m_bg_tilemap = tilemap_create(machine, get_drgnmst_bg_tile_info, drgnmst_bg_tilemap_scan_cols, 32, 32, 64,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drgnmst_state::get_drgnmst_bg_tile_info),state), tilemap_mapper_delegate(FUNC(drgnmst_state::drgnmst_bg_tilemap_scan_cols),state), 32, 32, 64,64);
state->m_bg_tilemap->set_transparent_pen(15);
// do the other tilemaps have rowscroll too? probably not ..
diff --git a/src/mame/video/drmicro.c b/src/mame/video/drmicro.c
index adbe41b4f0f..9b9f832d965 100644
--- a/src/mame/video/drmicro.c
+++ b/src/mame/video/drmicro.c
@@ -26,34 +26,32 @@ WRITE8_MEMBER(drmicro_state::drmicro_videoram_w)
/****************************************************************************/
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(drmicro_state::get_bg1_tile_info)
{
- drmicro_state *state = machine.driver_data<drmicro_state>();
int code, col, flags;
- code = state->m_videoram[tile_index + 0x0800];
- col = state->m_videoram[tile_index + 0x0c00];
+ code = m_videoram[tile_index + 0x0800];
+ col = m_videoram[tile_index + 0x0c00];
code += (col & 0xc0) << 2;
flags = ((col & 0x20) ? TILEMAP_FLIPY : 0) | ((col & 0x10) ? TILEMAP_FLIPX : 0);
col &= 0x0f;
- SET_TILE_INFO( 0, code, col, flags);
+ SET_TILE_INFO_MEMBER( 0, code, col, flags);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(drmicro_state::get_bg2_tile_info)
{
- drmicro_state *state = machine.driver_data<drmicro_state>();
int code, col, flags;
- code = state->m_videoram[tile_index + 0x0000];
- col = state->m_videoram[tile_index + 0x0400];
+ code = m_videoram[tile_index + 0x0000];
+ col = m_videoram[tile_index + 0x0400];
code += (col & 0xc0) << 2;
flags = ((col & 0x20) ? TILEMAP_FLIPY : 0) | ((col & 0x10) ? TILEMAP_FLIPX : 0);
col &= 0x0f;
- SET_TILE_INFO( 1, code, col, flags);
+ SET_TILE_INFO_MEMBER( 1, code, col, flags);
}
/****************************************************************************/
@@ -110,8 +108,8 @@ VIDEO_START( drmicro)
state->m_videoram = auto_alloc_array(machine, UINT8, 0x1000);
state->save_pointer(NAME(state->m_videoram), 0x1000);
- state->m_bg1 = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg2 = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drmicro_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drmicro_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg2->set_transparent_pen(0);
}
diff --git a/src/mame/video/dynduke.c b/src/mame/video/dynduke.c
index 07a76baef3a..d64497cbe61 100644
--- a/src/mame/video/dynduke.c
+++ b/src/mame/video/dynduke.c
@@ -33,46 +33,43 @@ WRITE16_MEMBER(dynduke_state::dynduke_text_w)
m_tx_layer->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(dynduke_state::get_bg_tile_info)
{
- dynduke_state *state = machine.driver_data<dynduke_state>();
- int tile=state->m_back_data[tile_index];
+ int tile=m_back_data[tile_index];
int color=tile >> 12;
tile=tile&0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- tile+state->m_back_bankbase,
+ tile+m_back_bankbase,
color,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(dynduke_state::get_fg_tile_info)
{
- dynduke_state *state = machine.driver_data<dynduke_state>();
- int tile=state->m_fore_data[tile_index];
+ int tile=m_fore_data[tile_index];
int color=tile >> 12;
tile=tile&0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
- tile+state->m_fore_bankbase,
+ tile+m_fore_bankbase,
color,
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(dynduke_state::get_tx_tile_info)
{
- dynduke_state *state = machine.driver_data<dynduke_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int tile=videoram[tile_index];
int color=(tile >> 8) & 0x0f;
tile = (tile & 0xff) | ((tile & 0xc000) >> 6);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
color,
@@ -82,9 +79,9 @@ static TILE_GET_INFO( get_tx_tile_info )
VIDEO_START( dynduke )
{
dynduke_state *state = machine.driver_data<dynduke_state>();
- state->m_bg_layer = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS, 16,16,32,32);
- state->m_fg_layer = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,16,16,32,32);
- state->m_tx_layer = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynduke_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS, 16,16,32,32);
+ state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynduke_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,16,16,32,32);
+ state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynduke_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
state->m_fg_layer->set_transparent_pen(15);
state->m_tx_layer->set_transparent_pen(15);
diff --git a/src/mame/video/eprom.c b/src/mame/video/eprom.c
index e14621a3b42..ce4eb69aa70 100644
--- a/src/mame/video/eprom.c
+++ b/src/mame/video/eprom.c
@@ -51,36 +51,33 @@ static void update_palette(running_machine &machine)
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(eprom_state::get_alpha_tile_info)
{
- eprom_state *state = machine.driver_data<eprom_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0x3ff;
int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
int opaque = data & 0x8000;
- SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(eprom_state::get_playfield_tile_info)
{
- eprom_state *state = machine.driver_data<eprom_state>();
- UINT16 data1 = state->m_playfield[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
+ UINT16 data1 = m_playfield[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] >> 8;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
}
-static TILE_GET_INFO( guts_get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(eprom_state::guts_get_playfield_tile_info)
{
- eprom_state *state = machine.driver_data<eprom_state>();
- UINT16 data1 = state->m_playfield[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
+ UINT16 data1 = m_playfield[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] >> 8;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO(2, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(2, code, color, (data1 >> 15) & 1);
}
@@ -132,13 +129,13 @@ VIDEO_START( eprom )
eprom_state *state = machine.driver_data<eprom_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
/* save states */
@@ -188,13 +185,13 @@ VIDEO_START( guts )
eprom_state *state = machine.driver_data<eprom_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, guts_get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::guts_get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(eprom_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
/* save states */
diff --git a/src/mame/video/equites.c b/src/mame/video/equites.c
index ee95c912bbf..91cecf61562 100644
--- a/src/mame/video/equites.c
+++ b/src/mame/video/equites.c
@@ -62,48 +62,44 @@ PALETTE_INIT( splndrbt )
*
*************************************/
-static TILE_GET_INFO( equites_fg_info )
+TILE_GET_INFO_MEMBER(equites_state::equites_fg_info)
{
- equites_state *state = machine.driver_data<equites_state>();
- int tile = state->m_fg_videoram[2 * tile_index];
- int color = state->m_fg_videoram[2 * tile_index + 1] & 0x1f;
+ int tile = m_fg_videoram[2 * tile_index];
+ int color = m_fg_videoram[2 * tile_index + 1] & 0x1f;
- SET_TILE_INFO(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(0, tile, color, 0);
if (color & 0x10)
tileinfo.flags |= TILE_FORCE_LAYER0;
}
-static TILE_GET_INFO( splndrbt_fg_info )
+TILE_GET_INFO_MEMBER(equites_state::splndrbt_fg_info)
{
- equites_state *state = machine.driver_data<equites_state>();
- int tile = state->m_fg_videoram[2 * tile_index] + (state->m_fg_char_bank << 8);
- int color = state->m_fg_videoram[2 * tile_index + 1] & 0x3f;
+ 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(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(0, tile, color, 0);
if (color & 0x10)
tileinfo.flags |= TILE_FORCE_LAYER0;
}
-static TILE_GET_INFO( equites_bg_info )
+TILE_GET_INFO_MEMBER(equites_state::equites_bg_info)
{
- equites_state *state = machine.driver_data<equites_state>();
- int data = state->m_bg_videoram[tile_index];
+ int data = m_bg_videoram[tile_index];
int tile = data & 0x1ff;
int color = (data & 0xf000) >> 12;
int fxy = (data & 0x0600) >> 9;
- SET_TILE_INFO(1, tile, color, TILE_FLIPXY(fxy));
+ SET_TILE_INFO_MEMBER(1, tile, color, TILE_FLIPXY(fxy));
}
-static TILE_GET_INFO( splndrbt_bg_info )
+TILE_GET_INFO_MEMBER(equites_state::splndrbt_bg_info)
{
- equites_state *state = machine.driver_data<equites_state>();
- int data = state->m_bg_videoram[tile_index];
+ int data = m_bg_videoram[tile_index];
int tile = data & 0x1ff;
int color = (data & 0xf800) >> 11;
int fxy = (data & 0x0600) >> 9;
- SET_TILE_INFO(1, tile, color, TILE_FLIPXY(fxy));
+ SET_TILE_INFO_MEMBER(1, tile, color, TILE_FLIPXY(fxy));
tileinfo.group = color;
}
@@ -121,10 +117,10 @@ VIDEO_START( equites )
state->m_fg_videoram = auto_alloc_array(machine, UINT8, 0x800);
state->save_pointer(NAME(state->m_fg_videoram), 0x800);
- state->m_fg_tilemap = tilemap_create(machine, equites_fg_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::equites_fg_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap = tilemap_create(machine, equites_bg_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::equites_bg_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scrolldx(0, -10);
}
@@ -137,11 +133,11 @@ VIDEO_START( splndrbt )
state->m_fg_videoram = auto_alloc_array(machine, UINT8, 0x800);
state->save_pointer(NAME(state->m_fg_videoram), 0x800);
- state->m_fg_tilemap = tilemap_create(machine, splndrbt_fg_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::splndrbt_fg_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_scrolldx(8, -8);
- state->m_bg_tilemap = tilemap_create(machine, splndrbt_bg_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(equites_state::splndrbt_bg_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[1], 0x10);
}
diff --git a/src/mame/video/esd16.c b/src/mame/video/esd16.c
index 1185e4277dd..4e543a0f208 100644
--- a/src/mame/video/esd16.c
+++ b/src/mame/video/esd16.c
@@ -50,48 +50,44 @@ Note: if MAME_DEBUG is defined, pressing Z with:
***************************************************************************/
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_0)
{
- esd16_state *state = machine.driver_data<esd16_state>();
- UINT16 code = state->m_vram_0[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_vram_0[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
code,
- state->m_tilemap0_color,
+ m_tilemap0_color,
0);
}
-static TILE_GET_INFO( get_tile_info_0_16x16 )
+TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_0_16x16)
{
- esd16_state *state = machine.driver_data<esd16_state>();
- UINT16 code = state->m_vram_0[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_vram_0[tile_index];
+ SET_TILE_INFO_MEMBER(
2,
code,
- state->m_tilemap0_color,
+ m_tilemap0_color,
0);
}
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_1)
{
- esd16_state *state = machine.driver_data<esd16_state>();
- UINT16 code = state->m_vram_1[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_vram_1[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
code,
- state->m_tilemap1_color,
+ m_tilemap1_color,
0);
}
-static TILE_GET_INFO( get_tile_info_1_16x16 )
+TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_1_16x16)
{
- esd16_state *state = machine.driver_data<esd16_state>();
- UINT16 code = state->m_vram_1[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_vram_1[tile_index];
+ SET_TILE_INFO_MEMBER(
2,
code,
- state->m_tilemap1_color,
+ m_tilemap1_color,
0);
}
@@ -141,14 +137,14 @@ VIDEO_START( esd16 )
{
esd16_state *state = machine.driver_data<esd16_state>();
- state->m_tilemap_0 = tilemap_create( machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
- state->m_tilemap_1 = tilemap_create( machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
/* swatpolc changes tilemap 0 to 16x16 at various times */
- state->m_tilemap_0_16x16 = tilemap_create(machine, get_tile_info_0_16x16, TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
+ state->m_tilemap_0_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_0_16x16),state), TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
/* hedpanic changes tilemap 1 to 16x16 at various times */
- state->m_tilemap_1_16x16 = tilemap_create(machine, get_tile_info_1_16x16, TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
+ state->m_tilemap_1_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(esd16_state::get_tile_info_1_16x16),state), TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
state->m_tilemap_0->set_scrolldx(-0x60 + 2, -0x60);
state->m_tilemap_1->set_scrolldx(-0x60, -0x60 + 2);
diff --git a/src/mame/video/espial.c b/src/mame/video/espial.c
index 20b9fa56d7b..757dd0d70c3 100644
--- a/src/mame/video/espial.c
+++ b/src/mame/video/espial.c
@@ -66,13 +66,12 @@ PALETTE_INIT( espial )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(espial_state::get_tile_info)
{
- espial_state *state = machine.driver_data<espial_state>();
- UINT8 code = state->m_videoram[tile_index];
- UINT8 col = state->m_colorram[tile_index];
- UINT8 attr = state->m_attributeram[tile_index];
- SET_TILE_INFO(0,
+ UINT8 code = m_videoram[tile_index];
+ UINT8 col = m_colorram[tile_index];
+ UINT8 attr = m_attributeram[tile_index];
+ SET_TILE_INFO_MEMBER(0,
code | ((attr & 0x03) << 8),
col & 0x3f,
TILE_FLIPYX(attr >> 2));
@@ -90,7 +89,7 @@ VIDEO_START( espial )
{
espial_state *state = machine.driver_data<espial_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(espial_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(32);
state->save_item(NAME(state->m_flipscreen));
@@ -101,7 +100,7 @@ VIDEO_START( netwars )
espial_state *state = machine.driver_data<espial_state>();
/* Net Wars has a tile map that's twice as big as Espial's */
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(espial_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
state->m_bg_tilemap->set_scroll_cols(32);
state->m_bg_tilemap->set_scrolldy(0, 0x100);
diff --git a/src/mame/video/exedexes.c b/src/mame/video/exedexes.c
index 5b9f4b463e8..6a71551f914 100644
--- a/src/mame/video/exedexes.c
+++ b/src/mame/video/exedexes.c
@@ -127,43 +127,42 @@ WRITE8_MEMBER(exedexes_state::exedexes_gfxctrl_w)
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(exedexes_state::get_bg_tile_info)
{
- UINT8 *tilerom = machine.root_device().memregion("gfx5")->base();
+ UINT8 *tilerom = machine().root_device().memregion("gfx5")->base();
int attr = tilerom[tile_index];
int code = attr & 0x3f;
int color = tilerom[tile_index + (8 * 8)];
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(exedexes_state::get_fg_tile_info)
{
- int code = machine.root_device().memregion("gfx5")->base()[tile_index];
+ int code = machine().root_device().memregion("gfx5")->base()[tile_index];
- SET_TILE_INFO(2, code, 0, 0);
+ SET_TILE_INFO_MEMBER(2, code, 0, 0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(exedexes_state::get_tx_tile_info)
{
- exedexes_state *state = machine.driver_data<exedexes_state>();
- int code = state->m_videoram[tile_index] + 2 * (state->m_colorram[tile_index] & 0x80);
- int color = state->m_colorram[tile_index] & 0x3f;
+ int code = m_videoram[tile_index] + 2 * (m_colorram[tile_index] & 0x80);
+ int color = m_colorram[tile_index] & 0x3f;
tileinfo.group = color;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILEMAP_MAPPER( exedexes_bg_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(exedexes_state::exedexes_bg_tilemap_scan)
{
/* logical (col,row) -> memory offset */
return ((col * 32 & 0xe0) >> 5) + ((row * 32 & 0xe0) >> 2) + ((col * 32 & 0x3f00) >> 1) + 0x4000;
}
-static TILEMAP_MAPPER( exedexes_fg_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(exedexes_state::exedexes_fg_tilemap_scan)
{
/* logical (col,row) -> memory offset */
return ((col * 16 & 0xf0) >> 4) + (row * 16 & 0xf0) + (col * 16 & 0x700) + ((row * 16 & 0x700) << 3);
@@ -173,9 +172,9 @@ VIDEO_START( exedexes )
{
exedexes_state *state = machine.driver_data<exedexes_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, exedexes_bg_tilemap_scan, 32, 32, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, exedexes_fg_tilemap_scan, 16, 16, 128, 128);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exedexes_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(exedexes_state::exedexes_bg_tilemap_scan),state), 32, 32, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exedexes_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(exedexes_state::exedexes_fg_tilemap_scan),state), 16, 16, 128, 128);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exedexes_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 0xcf);
diff --git a/src/mame/video/exprraid.c b/src/mame/video/exprraid.c
index d5bb6bd04d3..efcc8e58103 100644
--- a/src/mame/video/exprraid.c
+++ b/src/mame/video/exprraid.c
@@ -42,10 +42,9 @@ WRITE8_MEMBER(exprraid_state::exprraid_scrolly_w)
m_bg_tilemap->set_scrolly(0, data);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(exprraid_state::get_bg_tile_info)
{
- exprraid_state *state = machine.driver_data<exprraid_state>();
- UINT8 *tilerom = state->memregion("gfx4")->base();
+ UINT8 *tilerom = memregion("gfx4")->base();
int data, attr, bank, code, color, flags;
int quadrant = 0, offs;
@@ -56,7 +55,7 @@ static TILE_GET_INFO( get_bg_tile_info )
if (sx >= 16) quadrant++;
if (sy >= 16) quadrant += 2;
- offs = (sy % 16) * 16 + (sx % 16) + (state->m_bg_index[quadrant] & 0x3f) * 0x100;
+ offs = (sy % 16) * 16 + (sx % 16) + (m_bg_index[quadrant] & 0x3f) * 0x100;
data = tilerom[offs];
attr = tilerom[offs + 0x4000];
@@ -67,25 +66,24 @@ static TILE_GET_INFO( get_bg_tile_info )
tileinfo.category = ((attr & 0x80) ? 1 : 0);
- SET_TILE_INFO(bank, code, color, flags);
+ SET_TILE_INFO_MEMBER(bank, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(exprraid_state::get_fg_tile_info)
{
- exprraid_state *state = machine.driver_data<exprraid_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0x07) << 8);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0x07) << 8);
int color = (attr & 0x10) >> 4;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( exprraid )
{
exprraid_state *state = machine.driver_data<exprraid_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exprraid_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(exprraid_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_rows(2);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/f1gp.c b/src/mame/video/f1gp.c
index e8b9c0b84a5..95e5cbdf8fc 100644
--- a/src/mame/video/f1gp.c
+++ b/src/mame/video/f1gp.c
@@ -12,28 +12,25 @@
***************************************************************************/
-static TILE_GET_INFO( f1gp_get_roz_tile_info )
+TILE_GET_INFO_MEMBER(f1gp_state::f1gp_get_roz_tile_info)
{
- f1gp_state *state = machine.driver_data<f1gp_state>();
- int code = state->m_rozvideoram[tile_index];
+ int code = m_rozvideoram[tile_index];
- SET_TILE_INFO(3, code & 0x7ff, code >> 12, 0);
+ SET_TILE_INFO_MEMBER(3, code & 0x7ff, code >> 12, 0);
}
-static TILE_GET_INFO( f1gp2_get_roz_tile_info )
+TILE_GET_INFO_MEMBER(f1gp_state::f1gp2_get_roz_tile_info)
{
- f1gp_state *state = machine.driver_data<f1gp_state>();
- int code = state->m_rozvideoram[tile_index];
+ int code = m_rozvideoram[tile_index];
- SET_TILE_INFO(2, (code & 0x7ff) + (state->m_roz_bank << 11), code >> 12, 0);
+ SET_TILE_INFO_MEMBER(2, (code & 0x7ff) + (m_roz_bank << 11), code >> 12, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(f1gp_state::get_fg_tile_info)
{
- f1gp_state *state = machine.driver_data<f1gp_state>();
- int code = state->m_fgvideoram[tile_index];
+ int code = m_fgvideoram[tile_index];
- SET_TILE_INFO(0, code & 0x7fff, 0, (code & 0x8000) ? TILE_FLIPY : 0);
+ SET_TILE_INFO_MEMBER(0, code & 0x7fff, 0, (code & 0x8000) ? TILE_FLIPY : 0);
}
@@ -47,8 +44,8 @@ VIDEO_START( f1gp )
{
f1gp_state *state = machine.driver_data<f1gp_state>();
- state->m_roz_tilemap = tilemap_create(machine, f1gp_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::f1gp_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0xff);
@@ -63,8 +60,8 @@ VIDEO_START( f1gpb )
{
f1gp_state *state = machine.driver_data<f1gp_state>();
- state->m_roz_tilemap = tilemap_create(machine, f1gp_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::f1gp_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0xff);
@@ -78,8 +75,8 @@ VIDEO_START( f1gp2 )
{
f1gp_state *state = machine.driver_data<f1gp_state>();
- state->m_roz_tilemap = tilemap_create(machine, f1gp2_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::f1gp2_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0xff);
state->m_roz_tilemap->set_transparent_pen(0x0f);
diff --git a/src/mame/video/fastfred.c b/src/mame/video/fastfred.c
index 79e5dd24338..b48da054aae 100644
--- a/src/mame/video/fastfred.c
+++ b/src/mame/video/fastfred.c
@@ -80,15 +80,14 @@ PALETTE_INIT( fastfred )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(fastfred_state::get_tile_info)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
UINT8 x = tile_index & 0x1f;
- UINT16 code = state->m_charbank | state->m_videoram[tile_index];
- UINT8 color = state->m_colorbank | (state->m_attributesram[2 * x + 1] & 0x07);
+ UINT16 code = m_charbank | m_videoram[tile_index];
+ UINT8 color = m_colorbank | (m_attributesram[2 * x + 1] & 0x07);
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -102,7 +101,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( fastfred )
{
fastfred_state *state = machine.driver_data<fastfred_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scroll_cols(32);
@@ -308,27 +307,25 @@ SCREEN_UPDATE_IND16( fastfred )
}
-static TILE_GET_INFO( imago_get_tile_info_bg )
+TILE_GET_INFO_MEMBER(fastfred_state::imago_get_tile_info_bg)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
UINT8 x = tile_index & 0x1f;
- UINT16 code = state->m_charbank * 0x100 + state->m_videoram[tile_index];
- UINT8 color = state->m_colorbank | (state->m_attributesram[2 * x + 1] & 0x07);
+ UINT16 code = m_charbank * 0x100 + m_videoram[tile_index];
+ UINT8 color = m_colorbank | (m_attributesram[2 * x + 1] & 0x07);
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( imago_get_tile_info_fg )
+TILE_GET_INFO_MEMBER(fastfred_state::imago_get_tile_info_fg)
{
- fastfred_state *state = machine.driver_data<fastfred_state>();
- int code = state->m_imago_fg_videoram[tile_index];
- SET_TILE_INFO(2, code, 2, 0);
+ int code = m_imago_fg_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(2, code, 2, 0);
}
-static TILE_GET_INFO( imago_get_tile_info_web )
+TILE_GET_INFO_MEMBER(fastfred_state::imago_get_tile_info_web)
{
- SET_TILE_INFO(3, tile_index & 0x1ff, 0, 0);
+ SET_TILE_INFO_MEMBER(3, tile_index & 0x1ff, 0, 0);
}
WRITE8_HANDLER( imago_fg_videoram_w )
@@ -351,9 +348,9 @@ WRITE8_HANDLER( imago_charbank_w )
VIDEO_START( imago )
{
fastfred_state *state = machine.driver_data<fastfred_state>();
- state->m_web_tilemap = tilemap_create(machine, imago_get_tile_info_web,TILEMAP_SCAN_ROWS, 8,8,32,32);
- state->m_bg_tilemap = tilemap_create(machine, imago_get_tile_info_bg, TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_fg_tilemap = tilemap_create(machine, imago_get_tile_info_fg, TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_web_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_web),state),TILEMAP_SCAN_ROWS, 8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_bg),state), TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_fg),state), TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/fastlane.c b/src/mame/video/fastlane.c
index 5d963fba0f2..b7027f6eee4 100644
--- a/src/mame/video/fastlane.c
+++ b/src/mame/video/fastlane.c
@@ -47,14 +47,13 @@ static void set_pens( running_machine &machine )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info0 )
+TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info0)
{
- fastlane_state *state = machine.driver_data<fastlane_state>();
- UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
- UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
- int attr = state->m_videoram1[tile_index];
- int code = state->m_videoram1[tile_index + 0x400];
+ UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
+ UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
+ int attr = m_videoram1[tile_index];
+ int code = m_videoram1[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@@ -69,21 +68,20 @@ static TILE_GET_INFO( get_tile_info0 )
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code+bank*256,
1 + 64 * (attr & 0x0f),
0);
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info1)
{
- fastlane_state *state = machine.driver_data<fastlane_state>();
- UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
- UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
- int attr = state->m_videoram2[tile_index];
- int code = state->m_videoram2[tile_index + 0x400];
+ UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
+ UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
+ int attr = m_videoram2[tile_index];
+ int code = m_videoram2[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@@ -98,7 +96,7 @@ static TILE_GET_INFO( get_tile_info1 )
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code+bank*256,
0 + 64 * (attr & 0x0f),
@@ -115,8 +113,8 @@ VIDEO_START( fastlane )
{
fastlane_state *state = machine.driver_data<fastlane_state>();
- state->m_layer0 = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_layer1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastlane_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastlane_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_layer0->set_scroll_rows(32);
diff --git a/src/mame/video/fcombat.c b/src/mame/video/fcombat.c
index ec2a643b527..dc2f22dc1fd 100644
--- a/src/mame/video/fcombat.c
+++ b/src/mame/video/fcombat.c
@@ -8,15 +8,15 @@
#include "includes/fcombat.h"
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(fcombat_state::get_bg_tile_info)
{
int tileno, palno; //32*16 x 32
//palno = (tile_index - (tile_index / 32 * 16) * 32 * 16) / 32;
- tileno = machine.root_device().memregion("user1")->base()[tile_index];
- palno = 0x18; //machine.root_device().memregion("user2")->base()[tile_index] >> 3;
- SET_TILE_INFO(2, tileno, palno, 0);
+ tileno = machine().root_device().memregion("user1")->base()[tile_index];
+ palno = 0x18; //machine().root_device().memregion("user2")->base()[tile_index] >> 3;
+ SET_TILE_INFO_MEMBER(2, tileno, palno, 0);
}
@@ -102,7 +102,7 @@ PALETTE_INIT( fcombat )
VIDEO_START( fcombat )
{
fcombat_state *state = machine.driver_data<fcombat_state>();
- state->m_bgmap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32 * 8 * 2, 32);
+ state->m_bgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fcombat_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32 * 8 * 2, 32);
}
diff --git a/src/mame/video/finalizr.c b/src/mame/video/finalizr.c
index 0a179ae908a..705347f0cfc 100644
--- a/src/mame/video/finalizr.c
+++ b/src/mame/video/finalizr.c
@@ -44,34 +44,32 @@ PALETTE_INIT( finalizr )
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(finalizr_state::get_bg_tile_info)
{
- finalizr_state *state = machine.driver_data<finalizr_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0xc0) << 2) + (state->m_charbank << 10);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0xc0) << 2) + (m_charbank << 10);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(finalizr_state::get_fg_tile_info)
{
- finalizr_state *state = machine.driver_data<finalizr_state>();
- int attr = state->m_colorram2[tile_index];
- int code = state->m_videoram2[tile_index] + ((attr & 0xc0) << 2);
+ int attr = m_colorram2[tile_index];
+ int code = m_videoram2[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( finalizr )
{
finalizr_state *state = machine.driver_data<finalizr_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(finalizr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(finalizr_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/firetrap.c b/src/mame/video/firetrap.c
index e082d76602e..e4d81dc2bab 100644
--- a/src/mame/video/firetrap.c
+++ b/src/mame/video/firetrap.c
@@ -72,24 +72,23 @@ PALETTE_INIT( firetrap )
***************************************************************************/
-static TILEMAP_MAPPER( get_fg_memory_offset )
+TILEMAP_MAPPER_MEMBER(firetrap_state::get_fg_memory_offset)
{
return (row ^ 0x1f) + (col << 5);
}
-static TILEMAP_MAPPER( get_bg_memory_offset )
+TILEMAP_MAPPER_MEMBER(firetrap_state::get_bg_memory_offset)
{
return ((row & 0x0f) ^ 0x0f) | ((col & 0x0f) << 4) |
/* hole at bit 8 */
((row & 0x10) << 5) | ((col & 0x10) << 6);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(firetrap_state::get_fg_tile_info)
{
- firetrap_state *state = machine.driver_data<firetrap_state>();
- int code = state->m_fgvideoram[tile_index];
- int color = state->m_fgvideoram[tile_index + 0x400];
- SET_TILE_INFO(
+ int code = m_fgvideoram[tile_index];
+ int color = m_fgvideoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
0,
code | ((color & 0x01) << 8),
color >> 4,
@@ -107,16 +106,14 @@ INLINE void get_bg_tile_info(running_machine &machine, tile_data &tileinfo, int
TILE_FLIPXY((color & 0x0c) >> 2));
}
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(firetrap_state::get_bg1_tile_info)
{
- firetrap_state *state = machine.driver_data<firetrap_state>();
- get_bg_tile_info(machine, tileinfo, tile_index, state->m_bg1videoram, 1);
+ get_bg_tile_info(machine(), tileinfo, tile_index, m_bg1videoram, 1);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(firetrap_state::get_bg2_tile_info)
{
- firetrap_state *state = machine.driver_data<firetrap_state>();
- get_bg_tile_info(machine, tileinfo, tile_index, state->m_bg2videoram, 2);
+ get_bg_tile_info(machine(), tileinfo, tile_index, m_bg2videoram, 2);
}
@@ -129,9 +126,9 @@ static TILE_GET_INFO( get_bg2_tile_info )
VIDEO_START( firetrap )
{
firetrap_state *state = machine.driver_data<firetrap_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, get_fg_memory_offset, 8, 8, 32, 32);
- state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info, get_bg_memory_offset, 16, 16, 32, 32);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, get_bg_memory_offset, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(firetrap_state::get_fg_memory_offset),state), 8, 8, 32, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(firetrap_state::get_bg_memory_offset),state), 16, 16, 32, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrap_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(firetrap_state::get_bg_memory_offset),state), 16, 16, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg1_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/firetrk.c b/src/mame/video/firetrk.c
index c2c806b9025..734b3fe37da 100644
--- a/src/mame/video/firetrk.c
+++ b/src/mame/video/firetrk.c
@@ -121,55 +121,51 @@ PALETTE_INIT( montecar )
}
-static TILE_GET_INFO( firetrk_get_tile_info1 )
+TILE_GET_INFO_MEMBER(firetrk_state::firetrk_get_tile_info1)
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
- int code = state->m_playfield_ram[tile_index] & 0x3f;
- int color = (state->m_playfield_ram[tile_index] >> 6) & 0x03;
+ int code = m_playfield_ram[tile_index] & 0x3f;
+ int color = (m_playfield_ram[tile_index] >> 6) & 0x03;
- if (*state->m_blink && (code >= 0x04) && (code <= 0x0b))
+ if (*m_blink && (code >= 0x04) && (code <= 0x0b))
color = 0;
- if (state->m_flash)
+ if (m_flash)
color = color | 0x04;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-static TILE_GET_INFO( superbug_get_tile_info1 )
+TILE_GET_INFO_MEMBER(firetrk_state::superbug_get_tile_info1)
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
- int code = state->m_playfield_ram[tile_index] & 0x3f;
- int color = (state->m_playfield_ram[tile_index] >> 6) & 0x03;
+ int code = m_playfield_ram[tile_index] & 0x3f;
+ int color = (m_playfield_ram[tile_index] >> 6) & 0x03;
- if (*state->m_blink && (code >= 0x08) && (code <= 0x0f))
+ if (*m_blink && (code >= 0x08) && (code <= 0x0f))
color = 0;
- if (state->m_flash)
+ if (m_flash)
color = color | 0x04;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-static TILE_GET_INFO( montecar_get_tile_info1 )
+TILE_GET_INFO_MEMBER(firetrk_state::montecar_get_tile_info1)
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
- int code = state->m_playfield_ram[tile_index] & 0x3f;
- int color = (state->m_playfield_ram[tile_index] >> 6) & 0x03;
+ int code = m_playfield_ram[tile_index] & 0x3f;
+ int color = (m_playfield_ram[tile_index] >> 6) & 0x03;
- if (state->m_flash)
+ if (m_flash)
color = color | 0x04;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-static TILE_GET_INFO( firetrk_get_tile_info2 )
+TILE_GET_INFO_MEMBER(firetrk_state::firetrk_get_tile_info2)
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
- UINT8 code = state->m_playfield_ram[tile_index] & 0x3f;
+ UINT8 code = m_playfield_ram[tile_index] & 0x3f;
int color = 0;
/* palette 1 for crash and palette 2 for skid */
@@ -179,14 +175,13 @@ static TILE_GET_INFO( firetrk_get_tile_info2 )
if ((code & 0x3c) == 0x0c)
color = 2; /* palette 0, 2 */
- SET_TILE_INFO(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( superbug_get_tile_info2 )
+TILE_GET_INFO_MEMBER(firetrk_state::superbug_get_tile_info2)
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
- UINT8 code = state->m_playfield_ram[tile_index] & 0x3f;
+ UINT8 code = m_playfield_ram[tile_index] & 0x3f;
int color = 0;
/* palette 1 for crash and palette 2 for skid */
@@ -196,14 +191,13 @@ static TILE_GET_INFO( superbug_get_tile_info2 )
if ((code & 0x38) == 0x00)
color = 2; /* palette 0, 2 */
- SET_TILE_INFO(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( montecar_get_tile_info2 )
+TILE_GET_INFO_MEMBER(firetrk_state::montecar_get_tile_info2)
{
- firetrk_state *state = machine.driver_data<firetrk_state>();
- UINT8 code = state->m_playfield_ram[tile_index];
+ UINT8 code = m_playfield_ram[tile_index];
int color = 0;
/* palette 1 for crash and palette 2 for skid */
@@ -219,7 +213,7 @@ static TILE_GET_INFO( montecar_get_tile_info2 )
if ((code & 0x30) == 0x30)
color = 0; /* palette 0, 0 */
- SET_TILE_INFO(2, code & 0x3f, color, 0);
+ SET_TILE_INFO_MEMBER(2, code & 0x3f, color, 0);
}
@@ -229,8 +223,8 @@ VIDEO_START( firetrk )
machine.primary_screen->register_screen_bitmap(state->m_helper1);
machine.primary_screen->register_screen_bitmap(state->m_helper2);
- state->m_tilemap1 = tilemap_create(machine, firetrk_get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_tilemap2 = tilemap_create(machine, firetrk_get_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::firetrk_get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::firetrk_get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
@@ -240,8 +234,8 @@ VIDEO_START( superbug )
machine.primary_screen->register_screen_bitmap(state->m_helper1);
machine.primary_screen->register_screen_bitmap(state->m_helper2);
- state->m_tilemap1 = tilemap_create(machine, superbug_get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_tilemap2 = tilemap_create(machine, superbug_get_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::superbug_get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::superbug_get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
@@ -251,8 +245,8 @@ VIDEO_START( montecar )
machine.primary_screen->register_screen_bitmap(state->m_helper1);
machine.primary_screen->register_screen_bitmap(state->m_helper2);
- state->m_tilemap1 = tilemap_create(machine, montecar_get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
- state->m_tilemap2 = tilemap_create(machine, montecar_get_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::montecar_get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firetrk_state::montecar_get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
diff --git a/src/mame/video/fitfight.c b/src/mame/video/fitfight.c
index 1afa4d89ca1..ca0dd6eca34 100644
--- a/src/mame/video/fitfight.c
+++ b/src/mame/video/fitfight.c
@@ -41,15 +41,14 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
}
}
-static TILE_GET_INFO( get_fof_bak_tile_info )
+TILE_GET_INFO_MEMBER(fitfight_state::get_fof_bak_tile_info)
{
- fitfight_state *state = machine.driver_data<fitfight_state>();
- int code = state->m_fof_bak_tileram[tile_index * 2 + 1];
- int colr = state->m_fof_bak_tileram[tile_index * 2] & 0x1f;
- int xflip = (state->m_fof_bak_tileram[tile_index * 2] & 0x0020) >> 5;
+ int code = m_fof_bak_tileram[tile_index * 2 + 1];
+ int colr = m_fof_bak_tileram[tile_index * 2] & 0x1f;
+ int xflip = (m_fof_bak_tileram[tile_index * 2] & 0x0020) >> 5;
xflip ^= 1;
- SET_TILE_INFO(2, code, colr, TILE_FLIPYX(xflip));
+ SET_TILE_INFO_MEMBER(2, code, colr, TILE_FLIPYX(xflip));
}
WRITE16_MEMBER(fitfight_state::fof_bak_tileram_w)
@@ -60,15 +59,14 @@ WRITE16_MEMBER(fitfight_state::fof_bak_tileram_w)
}
-static TILE_GET_INFO( get_fof_mid_tile_info )
+TILE_GET_INFO_MEMBER(fitfight_state::get_fof_mid_tile_info)
{
- fitfight_state *state = machine.driver_data<fitfight_state>();
- int code = state->m_fof_mid_tileram[tile_index * 2 + 1];
- int colr = state->m_fof_mid_tileram[tile_index * 2] & 0x1f;
- int xflip = (state->m_fof_mid_tileram[tile_index * 2] & 0x0020) >> 5;
+ int code = m_fof_mid_tileram[tile_index * 2 + 1];
+ int colr = m_fof_mid_tileram[tile_index * 2] & 0x1f;
+ int xflip = (m_fof_mid_tileram[tile_index * 2] & 0x0020) >> 5;
xflip ^= 1;
- SET_TILE_INFO(1, code, colr, TILE_FLIPYX(xflip));
+ SET_TILE_INFO_MEMBER(1, code, colr, TILE_FLIPYX(xflip));
}
WRITE16_MEMBER(fitfight_state::fof_mid_tileram_w)
@@ -78,15 +76,14 @@ WRITE16_MEMBER(fitfight_state::fof_mid_tileram_w)
m_fof_mid_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_fof_txt_tile_info )
+TILE_GET_INFO_MEMBER(fitfight_state::get_fof_txt_tile_info)
{
- fitfight_state *state = machine.driver_data<fitfight_state>();
- int code = state->m_fof_txt_tileram[tile_index * 2 + 1];
- int colr = state->m_fof_txt_tileram[tile_index * 2] & 0x1f;
- int xflip = (state->m_fof_txt_tileram[tile_index * 2] & 0x0020) >> 5;
+ int code = m_fof_txt_tileram[tile_index * 2 + 1];
+ int colr = m_fof_txt_tileram[tile_index * 2] & 0x1f;
+ int xflip = (m_fof_txt_tileram[tile_index * 2] & 0x0020) >> 5;
xflip ^= 1;
- SET_TILE_INFO(0, code, colr, TILE_FLIPYX(xflip));
+ SET_TILE_INFO_MEMBER(0, code, colr, TILE_FLIPYX(xflip));
}
WRITE16_MEMBER(fitfight_state::fof_txt_tileram_w)
@@ -101,13 +98,13 @@ WRITE16_MEMBER(fitfight_state::fof_txt_tileram_w)
VIDEO_START(fitfight)
{
fitfight_state *state = machine.driver_data<fitfight_state>();
- state->m_fof_bak_tilemap = tilemap_create(machine, get_fof_bak_tile_info, TILEMAP_SCAN_COLS, 8, 8, 128, 32);
+ state->m_fof_bak_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fitfight_state::get_fof_bak_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 128, 32);
/* opaque */
- state->m_fof_mid_tilemap = tilemap_create(machine, get_fof_mid_tile_info, TILEMAP_SCAN_COLS, 8, 8, 128, 32);
+ state->m_fof_mid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fitfight_state::get_fof_mid_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 128, 32);
state->m_fof_mid_tilemap->set_transparent_pen(0);
- state->m_fof_txt_tilemap = tilemap_create(machine, get_fof_txt_tile_info, TILEMAP_SCAN_COLS, 8, 8, 128, 32);
+ state->m_fof_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fitfight_state::get_fof_txt_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 128, 32);
state->m_fof_txt_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/flkatck.c b/src/mame/video/flkatck.c
index 61cd6c5da02..217d43db55b 100644
--- a/src/mame/video/flkatck.c
+++ b/src/mame/video/flkatck.c
@@ -14,16 +14,15 @@
***************************************************************************/
-static TILE_GET_INFO( get_tile_info_A )
+TILE_GET_INFO_MEMBER(flkatck_state::get_tile_info_A)
{
- flkatck_state *state = machine.driver_data<flkatck_state>();
- UINT8 ctrl_0 = k007121_ctrlram_r(state->m_k007121, 0);
- UINT8 ctrl_2 = k007121_ctrlram_r(state->m_k007121, 2);
- UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
- UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
- int attr = state->m_k007121_ram[tile_index];
- int code = state->m_k007121_ram[tile_index + 0x400];
+ UINT8 ctrl_0 = k007121_ctrlram_r(m_k007121, 0);
+ UINT8 ctrl_2 = k007121_ctrlram_r(m_k007121, 2);
+ UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
+ UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
+ int attr = m_k007121_ram[tile_index];
+ int code = m_k007121_ram[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@@ -42,20 +41,19 @@ static TILE_GET_INFO( get_tile_info_A )
bank = 0; /* this allows the game to print text
in all banks selected by the k007121 */
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code + 256*bank,
(attr & 0x0f) + 16,
(attr & 0x20) ? TILE_FLIPY : 0);
}
-static TILE_GET_INFO( get_tile_info_B )
+TILE_GET_INFO_MEMBER(flkatck_state::get_tile_info_B)
{
- flkatck_state *state = machine.driver_data<flkatck_state>();
- int attr = state->m_k007121_ram[tile_index + 0x800];
- int code = state->m_k007121_ram[tile_index + 0xc00];
+ int attr = m_k007121_ram[tile_index + 0x800];
+ int code = m_k007121_ram[tile_index + 0xc00];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
(attr & 0x0f) + 16,
@@ -72,8 +70,8 @@ static TILE_GET_INFO( get_tile_info_B )
VIDEO_START( flkatck )
{
flkatck_state *state = machine.driver_data<flkatck_state>();
- state->m_k007121_tilemap[0] = tilemap_create(machine, get_tile_info_A, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_k007121_tilemap[1] = tilemap_create(machine, get_tile_info_B, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_k007121_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flkatck_state::get_tile_info_A),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_k007121_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flkatck_state::get_tile_info_B),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/flower.c b/src/mame/video/flower.c
index 212ca582284..22158cb082d 100644
--- a/src/mame/video/flower.c
+++ b/src/mame/video/flower.c
@@ -118,43 +118,40 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
}
-static TILE_GET_INFO( get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(flower_state::get_bg0_tile_info)
{
- flower_state *state = machine.driver_data<flower_state>();
- int code = state->m_bg0ram[tile_index];
- int color = state->m_bg0ram[tile_index+0x100];
+ int code = m_bg0ram[tile_index];
+ int color = m_bg0ram[tile_index+0x100];
/* Todo - may be tile flip bits? */
- SET_TILE_INFO(2, code, color>>4, 0);
+ SET_TILE_INFO_MEMBER(2, code, color>>4, 0);
}
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(flower_state::get_bg1_tile_info)
{
- flower_state *state = machine.driver_data<flower_state>();
- int code = state->m_bg1ram[tile_index];
- int color = state->m_bg1ram[tile_index+0x100];
+ int code = m_bg1ram[tile_index];
+ int color = m_bg1ram[tile_index+0x100];
/* Todo - may be tile flip bits? */
- SET_TILE_INFO(2, code, color>>4, 0);
+ SET_TILE_INFO_MEMBER(2, code, color>>4, 0);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(flower_state::get_text_tile_info)
{
- flower_state *state = machine.driver_data<flower_state>();
- int code = state->m_textram[tile_index];
- int color = state->m_textram[tile_index+0x400];
+ int code = m_textram[tile_index];
+ int color = m_textram[tile_index+0x400];
/* Todo - may be tile flip bits? */
- SET_TILE_INFO(0, code, color>>2, 0);
+ SET_TILE_INFO_MEMBER(0, code, color>>2, 0);
}
VIDEO_START(flower)
{
flower_state *state = machine.driver_data<flower_state>();
- state->m_bg0_tilemap = tilemap_create(machine, get_bg0_tile_info, TILEMAP_SCAN_ROWS,16,16,16,16);
- state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS,16,16,16,16);
- state->m_text_tilemap = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_text_right_tilemap = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_COLS, 8, 8, 2,32);
+ state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_bg0_tile_info),state), TILEMAP_SCAN_ROWS,16,16,16,16);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS,16,16,16,16);
+ state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ state->m_text_right_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flower_state::get_text_tile_info),state),TILEMAP_SCAN_COLS, 8, 8, 2,32);
state->m_bg1_tilemap->set_transparent_pen(15);
state->m_text_tilemap->set_transparent_pen(3);
diff --git a/src/mame/video/flstory.c b/src/mame/video/flstory.c
index 7fa2ceb577c..4a6473b8d40 100644
--- a/src/mame/video/flstory.c
+++ b/src/mame/video/flstory.c
@@ -9,48 +9,45 @@
#include "emu.h"
#include "includes/flstory.h"
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(flstory_state::get_tile_info)
{
- flstory_state *state = machine.driver_data<flstory_state>();
- int code = state->m_videoram[tile_index * 2];
- int attr = state->m_videoram[tile_index * 2 + 1];
- int tile_number = code + ((attr & 0xc0) << 2) + 0x400 + 0x800 * state->m_char_bank;
+ int code = m_videoram[tile_index * 2];
+ int attr = m_videoram[tile_index * 2 + 1];
+ int tile_number = code + ((attr & 0xc0) << 2) + 0x400 + 0x800 * m_char_bank;
int flags = TILE_FLIPYX((attr & 0x18) >> 3);
tileinfo.category = (attr & 0x20) >> 5;
tileinfo.group = (attr & 0x20) >> 5;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
attr & 0x0f,
flags);
}
-static TILE_GET_INFO( victnine_get_tile_info )
+TILE_GET_INFO_MEMBER(flstory_state::victnine_get_tile_info)
{
- flstory_state *state = machine.driver_data<flstory_state>();
- int code = state->m_videoram[tile_index * 2];
- int attr = state->m_videoram[tile_index * 2 + 1];
+ int code = m_videoram[tile_index * 2];
+ int attr = m_videoram[tile_index * 2 + 1];
int tile_number = ((attr & 0x38) << 5) + code;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
attr & 0x07,
flags);
}
-static TILE_GET_INFO( get_rumba_tile_info )
+TILE_GET_INFO_MEMBER(flstory_state::get_rumba_tile_info)
{
- flstory_state *state = machine.driver_data<flstory_state>();
- int code = state->m_videoram[tile_index * 2];
- int attr = state->m_videoram[tile_index * 2 + 1];
- int tile_number = code + ((attr & 0xc0) << 2) + 0x400 + 0x800 * state->m_char_bank;
+ int code = m_videoram[tile_index * 2];
+ int attr = m_videoram[tile_index * 2 + 1];
+ int tile_number = code + ((attr & 0xc0) << 2) + 0x400 + 0x800 * m_char_bank;
int col = (attr & 0x0f);
tileinfo.category = (attr & 0x20) >> 5;
tileinfo.group = (attr & 0x20) >> 5;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
col,
@@ -60,7 +57,7 @@ static TILE_GET_INFO( get_rumba_tile_info )
VIDEO_START( flstory )
{
flstory_state *state = machine.driver_data<flstory_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flstory_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
// state->m_bg_tilemap->set_transparent_pen(15);
state->m_bg_tilemap->set_transmask(0, 0x3fff, 0xc000); /* split type 0 has pens 0-13 transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
@@ -73,7 +70,7 @@ VIDEO_START( flstory )
VIDEO_START( rumba )
{
flstory_state *state = machine.driver_data<flstory_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_rumba_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flstory_state::get_rumba_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
// state->m_bg_tilemap->set_transparent_pen(15);
state->m_bg_tilemap->set_transmask(0, 0x3fff, 0xc000); /* split type 0 has pens 0-13 transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
@@ -86,7 +83,7 @@ VIDEO_START( rumba )
VIDEO_START( victnine )
{
flstory_state *state = machine.driver_data<flstory_state>();
- state->m_bg_tilemap = tilemap_create(machine, victnine_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flstory_state::victnine_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(32);
state->m_generic_paletteram_8.allocate(0x200);
diff --git a/src/mame/video/foodf.c b/src/mame/video/foodf.c
index d168a2ec793..c57034169e4 100644
--- a/src/mame/video/foodf.c
+++ b/src/mame/video/foodf.c
@@ -15,13 +15,12 @@
*
*************************************/
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(foodf_state::get_playfield_tile_info)
{
- foodf_state *state = machine.driver_data<foodf_state>();
- UINT16 data = state->m_playfield[tile_index];
+ UINT16 data = m_playfield[tile_index];
int code = (data & 0xff) | ((data >> 7) & 0x100);
int color = (data >> 8) & 0x3f;
- SET_TILE_INFO(0, code, color, state->m_playfield_flip ? (TILE_FLIPX | TILE_FLIPY) : 0);
+ SET_TILE_INFO_MEMBER(0, code, color, m_playfield_flip ? (TILE_FLIPX | TILE_FLIPY) : 0);
}
@@ -38,7 +37,7 @@ VIDEO_START( foodf )
foodf_state *state = machine.driver_data<foodf_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 32,32);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(foodf_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 32,32);
state->m_playfield_tilemap->set_transparent_pen(0);
/* adjust the playfield for the 8 pixel offset */
diff --git a/src/mame/video/freekick.c b/src/mame/video/freekick.c
index 175137b37e9..144e29436ae 100644
--- a/src/mame/video/freekick.c
+++ b/src/mame/video/freekick.c
@@ -4,21 +4,20 @@
#include "includes/freekick.h"
-static TILE_GET_INFO( get_freek_tile_info )
+TILE_GET_INFO_MEMBER(freekick_state::get_freek_tile_info)
{
- freekick_state *state = machine.driver_data<freekick_state>();
int tileno, palno;
- tileno = state->m_videoram[tile_index] + ((state->m_videoram[tile_index + 0x400] & 0xe0) << 3);
- palno = state->m_videoram[tile_index + 0x400] & 0x1f;
- SET_TILE_INFO(0, tileno, palno, 0);
+ 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);
}
VIDEO_START( freekick )
{
freekick_state *state = machine.driver_data<freekick_state>();
- state->m_freek_tilemap = tilemap_create(machine, get_freek_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_freek_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(freekick_state::get_freek_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/fromanc2.c b/src/mame/video/fromanc2.c
index 8e46e3a37d8..bf78451ee02 100644
--- a/src/mame/video/fromanc2.c
+++ b/src/mame/video/fromanc2.c
@@ -26,14 +26,14 @@ INLINE void fromanc2_get_tile_info( running_machine &machine, tile_data &tileinf
SET_TILE_INFO(layer, tile, color, 0);
}
-static TILE_GET_INFO( fromanc2_get_v0_l0_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 0, 0); }
-static TILE_GET_INFO( fromanc2_get_v0_l1_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 0, 1); }
-static TILE_GET_INFO( fromanc2_get_v0_l2_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 0, 2); }
-static TILE_GET_INFO( fromanc2_get_v0_l3_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 0, 3); }
-static TILE_GET_INFO( fromanc2_get_v1_l0_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 1, 0); }
-static TILE_GET_INFO( fromanc2_get_v1_l1_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 1, 1); }
-static TILE_GET_INFO( fromanc2_get_v1_l2_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 1, 2); }
-static TILE_GET_INFO( fromanc2_get_v1_l3_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 1, 3); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v0_l0_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 0, 0); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v0_l1_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 0, 1); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v0_l2_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 0, 2); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v0_l3_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 0, 3); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v1_l0_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 1, 0); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v1_l1_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 1, 1); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v1_l2_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 1, 2); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v1_l3_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 1, 3); }
INLINE void fromancr_get_tile_info( running_machine &machine, tile_data &tileinfo, int tile_index, int vram, int layer )
@@ -47,12 +47,12 @@ INLINE void fromancr_get_tile_info( running_machine &machine, tile_data &tileinf
SET_TILE_INFO(layer, tile, color, 0);
}
-static TILE_GET_INFO( fromancr_get_v0_l0_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 0, 0); }
-static TILE_GET_INFO( fromancr_get_v0_l1_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 0, 1); }
-static TILE_GET_INFO( fromancr_get_v0_l2_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 0, 2); }
-static TILE_GET_INFO( fromancr_get_v1_l0_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 1, 0); }
-static TILE_GET_INFO( fromancr_get_v1_l1_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 1, 1); }
-static TILE_GET_INFO( fromancr_get_v1_l2_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 1, 2); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v0_l0_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 0, 0); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v0_l1_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 0, 1); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v0_l2_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 0, 2); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v1_l0_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 1, 0); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v1_l1_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 1, 1); }
+TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v1_l2_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 1, 2); }
/******************************************************************************
@@ -383,14 +383,14 @@ VIDEO_START( fromanc2 )
{
fromanc2_state *state = machine.driver_data<fromanc2_state>();
- state->m_tilemap[0][0] = tilemap_create(machine, fromanc2_get_v0_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][1] = tilemap_create(machine, fromanc2_get_v0_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][2] = tilemap_create(machine, fromanc2_get_v0_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][3] = tilemap_create(machine, fromanc2_get_v0_l3_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][0] = tilemap_create(machine, fromanc2_get_v1_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][1] = tilemap_create(machine, fromanc2_get_v1_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][2] = tilemap_create(machine, fromanc2_get_v1_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][3] = tilemap_create(machine, fromanc2_get_v1_l3_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[0][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v0_l3_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[1][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromanc2_get_v1_l3_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_tilemap[0][1]->set_transparent_pen(0x000);
state->m_tilemap[0][2]->set_transparent_pen(0x000);
@@ -433,13 +433,13 @@ VIDEO_START( fromancr )
{
fromanc2_state *state = machine.driver_data<fromanc2_state>();
- state->m_tilemap[0][0] = tilemap_create(machine, fromancr_get_v0_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][1] = tilemap_create(machine, fromancr_get_v0_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[0][2] = tilemap_create(machine, fromancr_get_v0_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_tilemap[0][3] = 0;
- state->m_tilemap[1][0] = tilemap_create(machine, fromancr_get_v1_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][1] = tilemap_create(machine, fromancr_get_v1_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tilemap[1][2] = tilemap_create(machine, fromancr_get_v1_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_tilemap[1][3] = 0;
state->m_tilemap[0][1]->set_transparent_pen(0x0ff);
@@ -478,13 +478,13 @@ VIDEO_START( fromanc4 )
{
fromanc2_state *state = machine.driver_data<fromanc2_state>();
- state->m_tilemap[0][0] = tilemap_create(machine, fromancr_get_v0_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[0][1] = tilemap_create(machine, fromancr_get_v0_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[0][2] = tilemap_create(machine, fromancr_get_v0_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ state->m_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ state->m_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ state->m_tilemap[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v0_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
state->m_tilemap[0][3] = 0;
- state->m_tilemap[1][0] = tilemap_create(machine, fromancr_get_v1_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[1][1] = tilemap_create(machine, fromancr_get_v1_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
- state->m_tilemap[1][2] = tilemap_create(machine, fromancr_get_v1_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ state->m_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ state->m_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
+ state->m_tilemap[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromanc2_state::fromancr_get_v1_l2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
state->m_tilemap[1][3] = 0;
state->m_tilemap[0][1]->set_transparent_pen(0x000);
diff --git a/src/mame/video/fromance.c b/src/mame/video/fromance.c
index 3a4279c296a..327e3bc3aff 100644
--- a/src/mame/video/fromance.c
+++ b/src/mame/video/fromance.c
@@ -30,8 +30,8 @@ INLINE void get_fromance_tile_info( running_machine &machine, tile_data &tileinf
SET_TILE_INFO(layer, tile, color, 0);
}
-static TILE_GET_INFO( get_fromance_bg_tile_info ) { get_fromance_tile_info(machine, tileinfo, tile_index, 0); }
-static TILE_GET_INFO( get_fromance_fg_tile_info ) { get_fromance_tile_info(machine, tileinfo, tile_index, 1); }
+TILE_GET_INFO_MEMBER(fromance_state::get_fromance_bg_tile_info){ get_fromance_tile_info(machine(), tileinfo, tile_index, 0); }
+TILE_GET_INFO_MEMBER(fromance_state::get_fromance_fg_tile_info){ get_fromance_tile_info(machine(), tileinfo, tile_index, 1); }
INLINE void get_nekkyoku_tile_info( running_machine &machine, tile_data &tileinfo, int tile_index, int layer )
@@ -44,8 +44,8 @@ INLINE void get_nekkyoku_tile_info( running_machine &machine, tile_data &tileinf
SET_TILE_INFO(layer, tile, color, 0);
}
-static TILE_GET_INFO( get_nekkyoku_bg_tile_info ) { get_nekkyoku_tile_info(machine, tileinfo, tile_index, 0); }
-static TILE_GET_INFO( get_nekkyoku_fg_tile_info ) { get_nekkyoku_tile_info(machine, tileinfo, tile_index, 1); }
+TILE_GET_INFO_MEMBER(fromance_state::get_nekkyoku_bg_tile_info){ get_nekkyoku_tile_info(machine(), tileinfo, tile_index, 0); }
+TILE_GET_INFO_MEMBER(fromance_state::get_nekkyoku_fg_tile_info){ get_nekkyoku_tile_info(machine(), tileinfo, tile_index, 1); }
@@ -94,8 +94,8 @@ VIDEO_START( fromance )
fromance_state *state = machine.driver_data<fromance_state>();
/* allocate tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_fromance_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, get_fromance_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_fromance_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_fromance_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
init_common(machine);
}
@@ -105,8 +105,8 @@ VIDEO_START( nekkyoku )
fromance_state *state = machine.driver_data<fromance_state>();
/* allocate tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, get_nekkyoku_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, get_nekkyoku_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_nekkyoku_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fromance_state::get_nekkyoku_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
init_common(machine);
}
diff --git a/src/mame/video/funkybee.c b/src/mame/video/funkybee.c
index c08df511c24..41d967f807e 100644
--- a/src/mame/video/funkybee.c
+++ b/src/mame/video/funkybee.c
@@ -71,16 +71,15 @@ WRITE8_MEMBER(funkybee_state::funkybee_flipscreen_w)
flip_screen_set(data & 0x01);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(funkybee_state::get_bg_tile_info)
{
- funkybee_state *state = machine.driver_data<funkybee_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x80) << 1);
- int color = state->m_colorram[tile_index] & 0x03;
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1);
+ int color = m_colorram[tile_index] & 0x03;
- SET_TILE_INFO(state->m_gfx_bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfx_bank, code, color, 0);
}
-static TILEMAP_MAPPER( funkybee_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(funkybee_state::funkybee_tilemap_scan)
{
/* logical (col,row) -> memory offset */
return 256 * row + col;
@@ -89,7 +88,7 @@ static TILEMAP_MAPPER( funkybee_tilemap_scan )
VIDEO_START( funkybee )
{
funkybee_state *state = machine.driver_data<funkybee_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, funkybee_tilemap_scan, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(funkybee_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(funkybee_state::funkybee_tilemap_scan),state), 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/funworld.c b/src/mame/video/funworld.c
index 5dcfecff581..3187bf16978 100644
--- a/src/mame/video/funworld.c
+++ b/src/mame/video/funworld.c
@@ -164,33 +164,32 @@ WRITE8_MEMBER(funworld_state::funworld_colorram_w)
xxxx -xxx tiles color (background).
*/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(funworld_state::get_bg_tile_info)
{
- funworld_state *state = machine.driver_data<funworld_state>();
/* - bits -
7654 3210
xxxx ---- tiles color.
---- xxxx unused.
*/
int offs = tile_index;
- int attr = state->m_videoram[offs] + (state->m_colorram[offs] << 8);
+ int attr = m_videoram[offs] + (m_colorram[offs] << 8);
int code = attr & 0xfff;
- int color = state->m_colorram[offs] >> 4; // 4 bits for color.
+ int color = m_colorram[offs] >> 4; // 4 bits for color.
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START(funworld)
{
funworld_state *state = machine.driver_data<funworld_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 96, 29);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(funworld_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 96, 29);
}
VIDEO_START(magicrd2)
{
funworld_state *state = machine.driver_data<funworld_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 112, 34);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(funworld_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 112, 34);
}
diff --git a/src/mame/video/fuukifg2.c b/src/mame/video/fuukifg2.c
index 663c3e424cf..95e8a69d80f 100644
--- a/src/mame/video/fuukifg2.c
+++ b/src/mame/video/fuukifg2.c
@@ -52,10 +52,10 @@ INLINE void get_tile_info(running_machine &machine, tile_data &tileinfo, tilemap
SET_TILE_INFO(1 + _N_, code, attr & 0x3f, TILE_FLIPYX((attr >> 6) & 3));
}
-static TILE_GET_INFO( get_tile_info_0 ) { get_tile_info(machine, tileinfo, tile_index, 0); }
-static TILE_GET_INFO( get_tile_info_1 ) { get_tile_info(machine, tileinfo, tile_index, 1); }
-static TILE_GET_INFO( get_tile_info_2 ) { get_tile_info(machine, tileinfo, tile_index, 2); }
-static TILE_GET_INFO( get_tile_info_3 ) { get_tile_info(machine, tileinfo, tile_index, 3); }
+TILE_GET_INFO_MEMBER(fuuki16_state::get_tile_info_0){ get_tile_info(machine(), tileinfo, tile_index, 0); }
+TILE_GET_INFO_MEMBER(fuuki16_state::get_tile_info_1){ get_tile_info(machine(), tileinfo, tile_index, 1); }
+TILE_GET_INFO_MEMBER(fuuki16_state::get_tile_info_2){ get_tile_info(machine(), tileinfo, tile_index, 2); }
+TILE_GET_INFO_MEMBER(fuuki16_state::get_tile_info_3){ get_tile_info(machine(), tileinfo, tile_index, 3); }
INLINE void fuuki16_vram_w(address_space *space, offs_t offset, UINT16 data, UINT16 mem_mask, int _N_)
{
@@ -95,10 +95,10 @@ PALETTE_INIT( fuuki16 )
VIDEO_START( fuuki16 )
{
fuuki16_state *state = machine.driver_data<fuuki16_state>();
- state->m_tilemap[0] = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_tilemap[1] = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_tilemap[2] = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap[3] = tilemap_create(machine, get_tile_info_3, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki16_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_tilemap[0]->set_transparent_pen(0x0f); // 4 bits
state->m_tilemap[1]->set_transparent_pen(0xff); // 8 bits
diff --git a/src/mame/video/fuukifg3.c b/src/mame/video/fuukifg3.c
index 335b2131b08..7cc290bf039 100644
--- a/src/mame/video/fuukifg3.c
+++ b/src/mame/video/fuukifg3.c
@@ -56,8 +56,8 @@ INLINE void get_tile_info8bpp(running_machine &machine, tile_data &tileinfo, til
SET_TILE_INFO(1 + _N_, code, (attr & 0x3f) >> 4, TILE_FLIPYX((attr >> 6) & 3));
}
-static TILE_GET_INFO( get_tile_info_0 ) { get_tile_info8bpp(machine, tileinfo, tile_index, 0); }
-static TILE_GET_INFO( get_tile_info_1 ) { get_tile_info8bpp(machine, tileinfo, tile_index, 1); }
+TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_0){ get_tile_info8bpp(machine(), tileinfo, tile_index, 0); }
+TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_1){ get_tile_info8bpp(machine(), tileinfo, tile_index, 1); }
INLINE void get_tile_info4bpp(running_machine &machine, tile_data &tileinfo, tilemap_memory_index tile_index, int _N_)
{
@@ -67,8 +67,8 @@ INLINE void get_tile_info4bpp(running_machine &machine, tile_data &tileinfo, til
SET_TILE_INFO(1 + _N_, code, attr & 0x3f, TILE_FLIPYX((attr >> 6) & 3));
}
-static TILE_GET_INFO( get_tile_info_2 ) { get_tile_info4bpp(machine, tileinfo, tile_index, 2); }
-static TILE_GET_INFO( get_tile_info_3 ) { get_tile_info4bpp(machine, tileinfo, tile_index, 3); }
+TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_2){ get_tile_info4bpp(machine(), tileinfo, tile_index, 2); }
+TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_3){ get_tile_info4bpp(machine(), tileinfo, tile_index, 3); }
INLINE void fuuki32_vram_w(address_space *space, offs_t offset, UINT32 data, UINT32 mem_mask, int _N_)
{
@@ -100,10 +100,10 @@ VIDEO_START( fuuki32 )
state->save_pointer(NAME(state->m_buf_spriteram), state->m_spriteram.bytes() / 4);
state->save_pointer(NAME(state->m_buf_spriteram2), state->m_spriteram.bytes() / 4);
- state->m_tilemap[0] = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_tilemap[1] = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_tilemap[2] = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_tilemap[3] = tilemap_create(machine, get_tile_info_3, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fuuki32_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_tilemap[0]->set_transparent_pen(0xff); // 8 bits
state->m_tilemap[1]->set_transparent_pen(0xff); // 8 bits
diff --git a/src/mame/video/gaelco.c b/src/mame/video/gaelco.c
index ba90fdfde72..24c136bf71d 100644
--- a/src/mame/video/gaelco.c
+++ b/src/mame/video/gaelco.c
@@ -31,29 +31,27 @@
1 | xxxxxxxx -------- | not used
*/
-static TILE_GET_INFO( get_tile_info_gaelco_screen0 )
+TILE_GET_INFO_MEMBER(gaelco_state::get_tile_info_gaelco_screen0)
{
- gaelco_state *state = machine.driver_data<gaelco_state>();
- int data = state->m_videoram[tile_index << 1];
- int data2 = state->m_videoram[(tile_index << 1) + 1];
+ int data = m_videoram[tile_index << 1];
+ int data2 = m_videoram[(tile_index << 1) + 1];
int code = ((data & 0xfffc) >> 2);
tileinfo.category = (data2 >> 6) & 0x03;
- SET_TILE_INFO(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
+ SET_TILE_INFO_MEMBER(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
}
-static TILE_GET_INFO( get_tile_info_gaelco_screen1 )
+TILE_GET_INFO_MEMBER(gaelco_state::get_tile_info_gaelco_screen1)
{
- gaelco_state *state = machine.driver_data<gaelco_state>();
- int data = state->m_videoram[(0x1000 / 2) + (tile_index << 1)];
- int data2 = state->m_videoram[(0x1000 / 2) + (tile_index << 1) + 1];
+ int data = m_videoram[(0x1000 / 2) + (tile_index << 1)];
+ int data2 = m_videoram[(0x1000 / 2) + (tile_index << 1) + 1];
int code = ((data & 0xfffc) >> 2);
tileinfo.category = (data2 >> 6) & 0x03;
- SET_TILE_INFO(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
+ SET_TILE_INFO_MEMBER(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
}
/***************************************************************************
@@ -77,8 +75,8 @@ WRITE16_MEMBER(gaelco_state::gaelco_vram_w)
VIDEO_START( bigkarnk )
{
gaelco_state *state = machine.driver_data<gaelco_state>();
- state->m_tilemap[0] = tilemap_create(machine, get_tile_info_gaelco_screen0, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap[1] = tilemap_create(machine, get_tile_info_gaelco_screen1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen0),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tilemap[0]->set_transmask(0, 0xff01, 0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
state->m_tilemap[1]->set_transmask(0, 0xff01, 0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
@@ -87,8 +85,8 @@ VIDEO_START( bigkarnk )
VIDEO_START( maniacsq )
{
gaelco_state *state = machine.driver_data<gaelco_state>();
- state->m_tilemap[0] = tilemap_create(machine, get_tile_info_gaelco_screen0, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tilemap[1] = tilemap_create(machine, get_tile_info_gaelco_screen1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen0),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tilemap[0]->set_transparent_pen(0);
state->m_tilemap[1]->set_transparent_pen(0);
diff --git a/src/mame/video/gaelco2.c b/src/mame/video/gaelco2.c
index f7ef95d405d..c5f0f3940bf 100644
--- a/src/mame/video/gaelco2.c
+++ b/src/mame/video/gaelco2.c
@@ -101,24 +101,22 @@ Multi monitor notes:
***************************************************************************/
-static TILE_GET_INFO( get_tile_info_gaelco2_screen0 )
+TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen0)
{
- gaelco2_state *state = machine.driver_data<gaelco2_state>();
- int data = state->m_videoram[(((state->m_vregs[0] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
- int data2 = state->m_videoram[(((state->m_vregs[0] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
+ int data = m_videoram[(((m_vregs[0] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
+ 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(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
}
-static TILE_GET_INFO( get_tile_info_gaelco2_screen1 )
+TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen1)
{
- gaelco2_state *state = machine.driver_data<gaelco2_state>();
- int data = state->m_videoram[(((state->m_vregs[1] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
- int data2 = state->m_videoram[(((state->m_vregs[1] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
+ int data = m_videoram[(((m_vregs[1] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
+ 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(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
}
@@ -144,24 +142,22 @@ static TILE_GET_INFO( get_tile_info_gaelco2_screen1 )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info_gaelco2_screen0_dual )
+TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen0_dual)
{
- gaelco2_state *state = machine.driver_data<gaelco2_state>();
- int data = state->m_videoram[(((state->m_vregs[0] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
- int data2 = state->m_videoram[(((state->m_vregs[0] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
+ int data = m_videoram[(((m_vregs[0] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
+ 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(0, code, ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(0, code, ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
}
-static TILE_GET_INFO( get_tile_info_gaelco2_screen1_dual )
+TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen1_dual)
{
- gaelco2_state *state = machine.driver_data<gaelco2_state>();
- int data = state->m_videoram[(((state->m_vregs[1] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
- int data2 = state->m_videoram[(((state->m_vregs[1] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
+ int data = m_videoram[(((m_vregs[1] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
+ 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(0, code, 0x40 + ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(0, code, 0x40 + ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
}
@@ -266,8 +262,8 @@ VIDEO_START( gaelco2 )
state->m_videoram = state->m_spriteram->live();
/* create tilemaps */
- state->m_pant[0] = tilemap_create(machine, get_tile_info_gaelco2_screen0,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[1] = tilemap_create(machine, get_tile_info_gaelco2_screen1,TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen0),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen1),state),TILEMAP_SCAN_ROWS,16,16,64,32);
/* set tilemap properties */
state->m_pant[0]->set_transparent_pen(0);
@@ -287,8 +283,8 @@ VIDEO_START( gaelco2_dual )
state->m_videoram = state->m_spriteram->live();
/* create tilemaps */
- state->m_pant[0] = tilemap_create(machine, get_tile_info_gaelco2_screen0_dual,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[1] = tilemap_create(machine, get_tile_info_gaelco2_screen1_dual,TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen0_dual),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaelco2_state::get_tile_info_gaelco2_screen1_dual),state),TILEMAP_SCAN_ROWS,16,16,64,32);
/* set tilemap properties */
state->m_pant[0]->set_transparent_pen(0);
diff --git a/src/mame/video/gaiden.c b/src/mame/video/gaiden.c
index fa6279fd8f7..89e3b0996a1 100644
--- a/src/mame/video/gaiden.c
+++ b/src/mame/video/gaiden.c
@@ -13,52 +13,48 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(gaiden_state::get_bg_tile_info)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
- UINT16 *videoram1 = &state->m_videoram3[0x0800];
- UINT16 *videoram2 = state->m_videoram3;
- SET_TILE_INFO(
+ UINT16 *videoram1 = &m_videoram3[0x0800];
+ UINT16 *videoram2 = m_videoram3;
+ SET_TILE_INFO_MEMBER(
1,
videoram1[tile_index] & 0x0fff,
(videoram2[tile_index] & 0xf0) >> 4,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(gaiden_state::get_fg_tile_info)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
- UINT16 *videoram1 = &state->m_videoram2[0x0800];
- UINT16 *videoram2 = state->m_videoram2;
- SET_TILE_INFO(
+ UINT16 *videoram1 = &m_videoram2[0x0800];
+ UINT16 *videoram2 = m_videoram2;
+ SET_TILE_INFO_MEMBER(
2,
videoram1[tile_index] & 0x0fff,
(videoram2[tile_index] & 0xf0) >> 4,
0);
}
-static TILE_GET_INFO( get_fg_tile_info_raiga )
+TILE_GET_INFO_MEMBER(gaiden_state::get_fg_tile_info_raiga)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
- UINT16 *videoram1 = &state->m_videoram2[0x0800];
- UINT16 *videoram2 = state->m_videoram2;
+ UINT16 *videoram1 = &m_videoram2[0x0800];
+ UINT16 *videoram2 = m_videoram2;
/* bit 3 controls blending */
tileinfo.category = (videoram2[tile_index] & 0x08) >> 3;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
videoram1[tile_index] & 0x0fff,
((videoram2[tile_index] & 0xf0) >> 4) | (tileinfo.category ? 0x80 : 0x00),
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(gaiden_state::get_tx_tile_info)
{
- gaiden_state *state = machine.driver_data<gaiden_state>();
- UINT16 *videoram1 = &state->m_videoram[0x0400];
- UINT16 *videoram2 = state->m_videoram;
- SET_TILE_INFO(
+ UINT16 *videoram1 = &m_videoram[0x0400];
+ UINT16 *videoram2 = m_videoram;
+ SET_TILE_INFO_MEMBER(
0,
videoram1[tile_index] & 0x07ff,
(videoram2[tile_index] & 0xf0) >> 4,
@@ -80,9 +76,9 @@ VIDEO_START( gaiden )
machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
- state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_foreground = tilemap_create(machine, get_fg_tile_info_raiga, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_text_layer = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info_raiga),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_background->set_transparent_pen(0);
state->m_foreground->set_transparent_pen(0);
@@ -109,9 +105,9 @@ VIDEO_START( mastninj )
machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
- state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_foreground = tilemap_create(machine, get_fg_tile_info_raiga, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_text_layer = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info_raiga),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
// state->m_background->set_transparent_pen(15);
state->m_foreground->set_transparent_pen(15);
@@ -132,9 +128,9 @@ VIDEO_START( raiga )
machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
- state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_foreground = tilemap_create(machine, get_fg_tile_info_raiga, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_text_layer = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info_raiga),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_background->set_transparent_pen(0);
state->m_foreground->set_transparent_pen(0);
@@ -148,9 +144,9 @@ VIDEO_START( drgnbowl )
{
gaiden_state *state = machine.driver_data<gaiden_state>();
/* set up tile layers */
- state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_foreground = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_text_layer = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaiden_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_foreground->set_transparent_pen(15);
state->m_text_layer->set_transparent_pen(15);
diff --git a/src/mame/video/galaga.c b/src/mame/video/galaga.c
index ebbc00b2035..354ce8157f7 100644
--- a/src/mame/video/galaga.c
+++ b/src/mame/video/galaga.c
@@ -391,7 +391,7 @@ PALETTE_INIT( galaga )
***************************************************************************/
/* convert from 32x32 to 36x28 */
-static TILEMAP_MAPPER( tilemap_scan )
+TILEMAP_MAPPER_MEMBER(galaga_state::tilemap_scan)
{
int offs;
@@ -406,20 +406,19 @@ static TILEMAP_MAPPER( tilemap_scan )
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(galaga_state::get_tile_info)
{
/* the hardware has two character sets, one normal and one x-flipped. When
screen is flipped, character y flip is done by the hardware inverting the
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. */
- galaga_state *state = machine.driver_data<galaga_state>();
- int color = state->m_videoram[tile_index + 0x400] & 0x3f;
- SET_TILE_INFO(
+ int color = m_videoram[tile_index + 0x400] & 0x3f;
+ SET_TILE_INFO_MEMBER(
0,
- (state->m_videoram[tile_index] & 0x7f) | (state->flip_screen() ? 0x80 : 0) | (state->m_galaga_gfxbank << 8),
+ (m_videoram[tile_index] & 0x7f) | (flip_screen() ? 0x80 : 0) | (m_galaga_gfxbank << 8),
color,
- state->flip_screen() ? TILE_FLIPX : 0);
+ flip_screen() ? TILE_FLIPX : 0);
tileinfo.group = color;
}
@@ -434,7 +433,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( galaga )
{
galaga_state *state = machine.driver_data<galaga_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_tile_info,tilemap_scan,8,8,36,28);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaga_state::get_tile_info),state),tilemap_mapper_delegate(FUNC(galaga_state::tilemap_scan),state),8,8,36,28);
colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0x1f);
state->m_galaga_gfxbank = 0;
diff --git a/src/mame/video/galaxia.c b/src/mame/video/galaxia.c
index da28ddc1e9e..993f999801b 100644
--- a/src/mame/video/galaxia.c
+++ b/src/mame/video/galaxia.c
@@ -60,22 +60,20 @@ PALETTE_INIT( astrowar )
palette_set_color_rgb(machine, BULLET_PEN, pal1bit(1), pal1bit(1), pal1bit(0));
}
-static TILE_GET_INFO( get_galaxia_bg_tile_info )
+TILE_GET_INFO_MEMBER(galaxia_state::get_galaxia_bg_tile_info)
{
- galaxia_state *state = machine.driver_data<galaxia_state>();
- UINT8 code = state->m_video_ram[tile_index] & 0x7f; // d7 unused
- UINT8 color = state->m_color_ram[tile_index] & 3; // highest bits unused
+ UINT8 code = m_video_ram[tile_index] & 0x7f; // d7 unused
+ UINT8 color = m_color_ram[tile_index] & 3; // highest bits unused
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( get_astrowar_bg_tile_info )
+TILE_GET_INFO_MEMBER(galaxia_state::get_astrowar_bg_tile_info)
{
- galaxia_state *state = machine.driver_data<galaxia_state>();
- UINT8 code = state->m_video_ram[tile_index];
- UINT8 color = state->m_color_ram[tile_index] & 7; // highest bits unused
+ UINT8 code = m_video_ram[tile_index];
+ UINT8 color = m_color_ram[tile_index] & 7; // highest bits unused
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
static void init_common( running_machine &machine )
@@ -89,7 +87,7 @@ VIDEO_START( galaxia )
galaxia_state *state = machine.driver_data<galaxia_state>();
init_common(machine);
- state->m_bg_tilemap = tilemap_create(machine, get_galaxia_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxia_state::get_galaxia_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scroll_cols(8);
@@ -100,7 +98,7 @@ VIDEO_START( astrowar )
galaxia_state *state = machine.driver_data<galaxia_state>();
init_common(machine);
- state->m_bg_tilemap = tilemap_create(machine, get_astrowar_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxia_state::get_astrowar_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scroll_cols(8);
state->m_bg_tilemap->set_scrolldx(8, 8);
diff --git a/src/mame/video/galaxian.c b/src/mame/video/galaxian.c
index 79e171ee086..2b31084249c 100644
--- a/src/mame/video/galaxian.c
+++ b/src/mame/video/galaxian.c
@@ -235,7 +235,7 @@ H=B0: 0C,0C,0D,0D,0E,0E,0F,0F 0C,0C,2D,2D,0E,0E,2F,2F
*************************************/
static void state_save_register(running_machine &machine);
-static TILE_GET_INFO( bg_get_tile_info );
+
static void sprites_draw(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, const UINT8 *spritebase);
@@ -396,7 +396,7 @@ VIDEO_START( galaxian )
if (!state->m_sfx_tilemap)
{
/* normal galaxian hardware is row-based and individually scrolling columns */
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS, GALAXIAN_XSCALE*8,8, 32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, GALAXIAN_XSCALE*8,8, 32,32);
state->m_bg_tilemap->set_scroll_cols(32);
state->m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
state->m_bg_tilemap->set_scrolldy(0, 8);
@@ -404,7 +404,7 @@ VIDEO_START( galaxian )
else
{
/* sfx hardware is column-based and individually scrolling rows */
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_COLS, GALAXIAN_XSCALE*8,8, 32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),state), TILEMAP_SCAN_COLS, GALAXIAN_XSCALE*8,8, 32,32);
state->m_bg_tilemap->set_scroll_rows(32);
state->m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
state->m_bg_tilemap->set_scrolldy(0, 8);
@@ -481,20 +481,19 @@ SCREEN_UPDATE_RGB32( galaxian )
*
*************************************/
-static TILE_GET_INFO( bg_get_tile_info )
+TILE_GET_INFO_MEMBER(galaxian_state::bg_get_tile_info)
{
- galaxian_state *state = machine.driver_data<galaxian_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
UINT8 x = tile_index & 0x1f;
UINT16 code = videoram[tile_index];
- UINT8 attrib = state->m_spriteram[x*2+1];
+ UINT8 attrib = m_spriteram[x*2+1];
UINT8 color = attrib & 7;
- if (state->m_extend_tile_info_ptr != NULL)
- (*state->m_extend_tile_info_ptr)(machine, &code, &color, attrib, x);
+ if (m_extend_tile_info_ptr != NULL)
+ (*m_extend_tile_info_ptr)(machine(), &code, &color, attrib, x);
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
diff --git a/src/mame/video/galaxold.c b/src/mame/video/galaxold.c
index 9ee6e575268..92c0d00945f 100644
--- a/src/mame/video/galaxold.c
+++ b/src/mame/video/galaxold.c
@@ -12,8 +12,8 @@
#define BACKGROUND_COLOR_BASE (BULLETS_COLOR_BASE + 2)
-static TILE_GET_INFO( get_tile_info );
-static TILE_GET_INFO( rockclim_get_tile_info );
+
+
static void mooncrst_modify_charcode(running_machine &machine, UINT16 *code, UINT8 x);
static void pisces_modify_charcode(running_machine &machine, UINT16 *code, UINT8 x);
static void mimonkey_modify_charcode(running_machine &machine, UINT16 *code, UINT8 x);
@@ -478,7 +478,7 @@ VIDEO_START( galaxold_plain )
{
galaxold_state *state = machine.driver_data<galaxold_state>();
video_start_common(machine);
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scroll_cols(32);
@@ -694,7 +694,7 @@ VIDEO_START( rockclim )
{
galaxold_state *state = machine.driver_data<galaxold_state>();
VIDEO_START_CALL(galaxold);
- state->m_rockclim_tilemap = tilemap_create(machine, rockclim_get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_rockclim_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::rockclim_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_draw_background = rockclim_draw_background;
state->m_modify_charcode = mooncrst_modify_charcode;
@@ -705,25 +705,24 @@ VIDEO_START( rockclim )
state_save_register_global(machine, state->m_rockclim_h);
}
-static TILE_GET_INFO( drivfrcg_get_tile_info )
+TILE_GET_INFO_MEMBER(galaxold_state::drivfrcg_get_tile_info)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- int code = state->m_videoram[tile_index];
+ int code = m_videoram[tile_index];
UINT8 x = tile_index & 0x1f;
- UINT8 color = state->m_attributesram[(x << 1) | 1] & 7;
- UINT8 bank = state->m_attributesram[(x << 1) | 1] & 0x30;
+ UINT8 color = m_attributesram[(x << 1) | 1] & 7;
+ UINT8 bank = m_attributesram[(x << 1) | 1] & 0x30;
code |= (bank << 4);
- color |= ((state->m_attributesram[(x << 1) | 1] & 0x40) >> 3);
+ color |= ((m_attributesram[(x << 1) | 1] & 0x40) >> 3);
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( drivfrcg )
{
galaxold_state *state = machine.driver_data<galaxold_state>();
video_start_common(machine);
- state->m_bg_tilemap = tilemap_create(machine, drivfrcg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::drivfrcg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scroll_cols(32);
@@ -738,7 +737,7 @@ VIDEO_START( ad2083 )
{
galaxold_state *state = machine.driver_data<galaxold_state>();
video_start_common(machine);
- state->m_bg_tilemap = tilemap_create(machine, drivfrcg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::drivfrcg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scroll_cols(32);
@@ -759,24 +758,23 @@ WRITE8_MEMBER(galaxold_state::racknrol_tiles_bank_w)
m_bg_tilemap->mark_all_dirty();
}
-static TILE_GET_INFO( racknrol_get_tile_info )
+TILE_GET_INFO_MEMBER(galaxold_state::racknrol_get_tile_info)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- int code = state->m_videoram[tile_index];
+ int code = m_videoram[tile_index];
UINT8 x = tile_index & 0x1f;
- UINT8 color = state->m_attributesram[(x << 1) | 1] & 7;
- UINT8 bank = state->m_racknrol_tiles_bank[x] & 7;
+ UINT8 color = m_attributesram[(x << 1) | 1] & 7;
+ UINT8 bank = m_racknrol_tiles_bank[x] & 7;
code |= (bank << 8);
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( racknrol )
{
galaxold_state *state = machine.driver_data<galaxold_state>();
video_start_common(machine);
- state->m_bg_tilemap = tilemap_create(machine, racknrol_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::racknrol_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scroll_cols(32);
@@ -792,25 +790,24 @@ VIDEO_START( bongo )
state->m_modify_spritecode = batman2_modify_spritecode;
}
-static TILE_GET_INFO( dambustr_get_tile_info2 )
+TILE_GET_INFO_MEMBER(galaxold_state::dambustr_get_tile_info2)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
UINT8 x = tile_index & 0x1f;
- UINT16 code = state->m_dambustr_videoram2[tile_index];
- UINT8 color = state->m_attributesram[(x << 1) | 1] & state->m_color_mask;
+ UINT16 code = m_dambustr_videoram2[tile_index];
+ UINT8 color = m_attributesram[(x << 1) | 1] & m_color_mask;
- if (state->m_modify_charcode)
+ if (m_modify_charcode)
{
- (*state->m_modify_charcode)(machine, &code, x);
+ (*m_modify_charcode)(machine(), &code, x);
}
- if (state->m_modify_color)
+ if (m_modify_color)
{
- (*state->m_modify_color)(&color);
+ (*m_modify_color)(&color);
}
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( dambustr )
@@ -836,7 +833,7 @@ VIDEO_START( dambustr )
/* make a copy of the tilemap to emulate background priority */
state->m_dambustr_videoram2 = auto_alloc_array(machine, UINT8, 0x0400);
- state->m_dambustr_tilemap2 = tilemap_create(machine, dambustr_get_tile_info2,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_dambustr_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxold_state::dambustr_get_tile_info2),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_dambustr_tilemap2->set_transparent_pen(0);
}
@@ -1660,32 +1657,30 @@ static void start_stars_scroll_timer(running_machine &machine)
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(galaxold_state::get_tile_info)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
UINT8 x = tile_index & 0x1f;
- UINT16 code = state->m_videoram[tile_index];
- UINT8 color = state->m_attributesram[(x << 1) | 1] & state->m_color_mask;
+ UINT16 code = m_videoram[tile_index];
+ UINT8 color = m_attributesram[(x << 1) | 1] & m_color_mask;
- if (state->m_modify_charcode)
+ if (m_modify_charcode)
{
- (*state->m_modify_charcode)(machine, &code, x);
+ (*m_modify_charcode)(machine(), &code, x);
}
- if (state->m_modify_color)
+ if (m_modify_color)
{
- (*state->m_modify_color)(&color);
+ (*m_modify_color)(&color);
}
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( rockclim_get_tile_info )
+TILE_GET_INFO_MEMBER(galaxold_state::rockclim_get_tile_info)
{
- galaxold_state *state = machine.driver_data<galaxold_state>();
- UINT16 code = state->m_rockclim_videoram[tile_index];
- SET_TILE_INFO(2, code, 0, 0);
+ UINT16 code = m_rockclim_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(2, code, 0, 0);
}
static void draw_bullets_common(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/galivan.c b/src/mame/video/galivan.c
index 580930ac75a..4a8e2e9c6af 100644
--- a/src/mame/video/galivan.c
+++ b/src/mame/video/galivan.c
@@ -120,24 +120,23 @@ PALETTE_INIT( galivan )
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(galivan_state::get_bg_tile_info)
{
- UINT8 *BGROM = machine.root_device().memregion("gfx4")->base();
+ UINT8 *BGROM = machine().root_device().memregion("gfx4")->base();
int attr = BGROM[tile_index + 0x4000];
int code = BGROM[tile_index] | ((attr & 0x03) << 8);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
(attr & 0x78) >> 3, /* seems correct */
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(galivan_state::get_tx_tile_info)
{
- galivan_state *state = machine.driver_data<galivan_state>();
- int attr = state->m_videoram[tile_index + 0x400];
- int code = state->m_videoram[tile_index] | ((attr & 0x01) << 8);
- SET_TILE_INFO(
+ int attr = m_videoram[tile_index + 0x400];
+ int code = m_videoram[tile_index] | ((attr & 0x01) << 8);
+ SET_TILE_INFO_MEMBER(
0,
code,
(attr & 0xe0) >> 5, /* not sure */
@@ -145,28 +144,27 @@ static TILE_GET_INFO( get_tx_tile_info )
tileinfo.category = attr & 8 ? 0 : 1; /* seems correct */
}
-static TILE_GET_INFO( ninjemak_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(galivan_state::ninjemak_get_bg_tile_info)
{
- UINT8 *BGROM = machine.root_device().memregion("gfx4")->base();
+ UINT8 *BGROM = machine().root_device().memregion("gfx4")->base();
int attr = BGROM[tile_index + 0x4000];
int code = BGROM[tile_index] | ((attr & 0x03) << 8);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
((attr & 0x60) >> 3) | ((attr & 0x0c) >> 2), /* seems correct */
0);
}
-static TILE_GET_INFO( ninjemak_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(galivan_state::ninjemak_get_tx_tile_info)
{
- galivan_state *state = machine.driver_data<galivan_state>();
- int attr = state->m_videoram[tile_index + 0x400];
- int code = state->m_videoram[tile_index] | ((attr & 0x03) << 8);
+ int attr = m_videoram[tile_index + 0x400];
+ int code = m_videoram[tile_index] | ((attr & 0x03) << 8);
if(tile_index < 0x12) /* don't draw the NB1414M4 params! TODO: could be a better fix */
code = attr = 0x01;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
(attr & 0x1c) >> 2, /* seems correct ? */
@@ -185,8 +183,8 @@ VIDEO_START( galivan )
{
galivan_state *state = machine.driver_data<galivan_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_tx_tilemap->set_transparent_pen(15);
}
@@ -195,8 +193,8 @@ VIDEO_START( ninjemak )
{
galivan_state *state = machine.driver_data<galivan_state>();
- state->m_bg_tilemap = tilemap_create(machine, ninjemak_get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 512, 32);
- state->m_tx_tilemap = tilemap_create(machine, ninjemak_get_tx_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::ninjemak_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 512, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galivan_state::ninjemak_get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_tx_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/gaplus.c b/src/mame/video/gaplus.c
index 48a3e33f438..44da4997318 100644
--- a/src/mame/video/gaplus.c
+++ b/src/mame/video/gaplus.c
@@ -81,7 +81,7 @@ PALETTE_INIT( gaplus )
***************************************************************************/
/* convert from 32x32 to 36x28 */
-static TILEMAP_MAPPER( tilemap_scan )
+TILEMAP_MAPPER_MEMBER(gaplus_state::tilemap_scan)
{
int offs;
@@ -95,15 +95,14 @@ static TILEMAP_MAPPER( tilemap_scan )
return offs;
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(gaplus_state::get_tile_info)
{
- gaplus_state *state = machine.driver_data<gaplus_state>();
- UINT8 attr = state->m_videoram[tile_index + 0x400];
+ UINT8 attr = m_videoram[tile_index + 0x400];
tileinfo.category = (attr & 0x40) >> 6;
tileinfo.group = attr & 0x3f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index] + ((attr & 0x80) << 1),
+ m_videoram[tile_index] + ((attr & 0x80) << 1),
attr & 0x3f,
0);
}
@@ -183,7 +182,7 @@ static void starfield_init(running_machine &machine)
VIDEO_START( gaplus )
{
gaplus_state *state = machine.driver_data<gaplus_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info,tilemap_scan,8,8,36,28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gaplus_state::get_tile_info),state),tilemap_mapper_delegate(FUNC(gaplus_state::tilemap_scan),state),8,8,36,28);
colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 0xff);
diff --git a/src/mame/video/gatron.c b/src/mame/video/gatron.c
index 9826f3ff1f1..81d81025b0c 100644
--- a/src/mame/video/gatron.c
+++ b/src/mame/video/gatron.c
@@ -28,10 +28,9 @@ WRITE8_MEMBER(gatron_state::gat_videoram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(gatron_state::get_bg_tile_info)
{
- gatron_state *state = machine.driver_data<gatron_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
/* - bits -
7654 3210
xxxx xxxx tiles code.
@@ -41,13 +40,13 @@ static TILE_GET_INFO( get_bg_tile_info )
int code = videoram[tile_index];
- SET_TILE_INFO(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
VIDEO_START( gat )
{
gatron_state *state = machine.driver_data<gatron_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 16, 48, 16);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gatron_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 16, 48, 16);
}
SCREEN_UPDATE_IND16( gat )
diff --git a/src/mame/video/gauntlet.c b/src/mame/video/gauntlet.c
index 42aacc827f1..e679682845d 100644
--- a/src/mame/video/gauntlet.c
+++ b/src/mame/video/gauntlet.c
@@ -17,24 +17,22 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(gauntlet_state::get_alpha_tile_info)
{
- gauntlet_state *state = machine.driver_data<gauntlet_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0x3ff;
int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
int opaque = data & 0x8000;
- SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(gauntlet_state::get_playfield_tile_info)
{
- gauntlet_state *state = machine.driver_data<gauntlet_state>();
- UINT16 data = state->m_playfield[tile_index];
- int code = ((state->m_playfield_tile_bank * 0x1000) + (data & 0xfff)) ^ 0x800;
- int color = 0x10 + (state->m_playfield_color_bank * 8) + ((data >> 12) & 7);
- SET_TILE_INFO(0, code, color, (data >> 15) & 1);
+ UINT16 data = m_playfield[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);
}
@@ -89,13 +87,13 @@ VIDEO_START( gauntlet )
int i, size;
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gauntlet_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gauntlet_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
/* modify the motion object code lookup table to account for the code XOR */
diff --git a/src/mame/video/gberet.c b/src/mame/video/gberet.c
index 5bc9654b5a7..8efbdec0ea9 100644
--- a/src/mame/video/gberet.c
+++ b/src/mame/video/gberet.c
@@ -105,25 +105,24 @@ WRITE8_MEMBER(gberet_state::gberet_sprite_bank_w)
m_spritebank = data;
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(gberet_state::get_bg_tile_info)
{
- gberet_state *state = machine.driver_data<gberet_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0x40) << 2);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0x40) << 2);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
tileinfo.group = color;
tileinfo.category = (attr & 0x80) >> 7;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( gberet )
{
gberet_state *state = machine.driver_data<gberet_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gberet_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 0x10);
state->m_bg_tilemap->set_scroll_rows(32);
}
diff --git a/src/mame/video/gcpinbal.c b/src/mame/video/gcpinbal.c
index 5ef9cc6cbdc..9221b84d07b 100644
--- a/src/mame/video/gcpinbal.c
+++ b/src/mame/video/gcpinbal.c
@@ -5,38 +5,35 @@
/*******************************************************************/
-static TILE_GET_INFO( get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(gcpinbal_state::get_bg0_tile_info)
{
- gcpinbal_state *state = machine.driver_data<gcpinbal_state>();
- UINT16 tilenum = state->m_tilemapram[0 + tile_index * 2];
- UINT16 attr = state->m_tilemapram[1 + tile_index * 2];
+ UINT16 tilenum = m_tilemapram[0 + tile_index * 2];
+ UINT16 attr = m_tilemapram[1 + tile_index * 2];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- (tilenum & 0xfff) + state->m_bg0_gfxset,
+ (tilenum & 0xfff) + m_bg0_gfxset,
(attr & 0x1f),
TILE_FLIPYX( (attr & 0x300) >> 8));
}
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(gcpinbal_state::get_bg1_tile_info)
{
- gcpinbal_state *state = machine.driver_data<gcpinbal_state>();
- UINT16 tilenum = state->m_tilemapram[0x800 + tile_index * 2];
- UINT16 attr = state->m_tilemapram[0x801 + tile_index * 2];
+ UINT16 tilenum = m_tilemapram[0x800 + tile_index * 2];
+ UINT16 attr = m_tilemapram[0x801 + tile_index * 2];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- (tilenum & 0xfff) + 0x2000 + state->m_bg1_gfxset,
+ (tilenum & 0xfff) + 0x2000 + m_bg1_gfxset,
(attr & 0x1f) + 0x30,
TILE_FLIPYX( (attr & 0x300) >> 8));
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(gcpinbal_state::get_fg_tile_info)
{
- gcpinbal_state *state = machine.driver_data<gcpinbal_state>();
- UINT16 tilenum = state->m_tilemapram[0x1000 + tile_index];
+ UINT16 tilenum = m_tilemapram[0x1000 + tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
(tilenum & 0xfff),
(tilenum >> 12) | 0x70,
@@ -49,9 +46,9 @@ static void gcpinbal_core_vh_start( running_machine &machine )
int xoffs = 0;
int yoffs = 0;
- state->m_tilemap[0] = tilemap_create(machine, get_bg0_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_tilemap[1] = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_tilemap[2] = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gcpinbal_state::get_bg0_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gcpinbal_state::get_bg1_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gcpinbal_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
state->m_tilemap[0]->set_transparent_pen(0);
state->m_tilemap[1]->set_transparent_pen(0);
diff --git a/src/mame/video/ginganin.c b/src/mame/video/ginganin.c
index 1470ad9456e..3837bad1f17 100644
--- a/src/mame/video/ginganin.c
+++ b/src/mame/video/ginganin.c
@@ -74,11 +74,11 @@ Note: if MAME_DEBUG is defined, pressing Z with:
#define BG_NX (16*32)
#define BG_NY (16*2)
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ginganin_state::get_bg_tile_info)
{
- UINT8 *gfx = machine.root_device().memregion("gfx5")->base();
+ UINT8 *gfx = machine().root_device().memregion("gfx5")->base();
int code = gfx[2 * tile_index + 0] * 256 + gfx[2 * tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
BG_GFX,
code,
code >> 12,
@@ -92,11 +92,10 @@ static TILE_GET_INFO( get_bg_tile_info )
#define FG_NX (16*16)
#define FG_NY (16*2)
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(ginganin_state::get_fg_tile_info)
{
- ginganin_state *state = machine.driver_data<ginganin_state>();
- UINT16 code = state->m_fgram[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_fgram[tile_index];
+ SET_TILE_INFO_MEMBER(
FG_GFX,
code,
code >> 12,
@@ -116,11 +115,10 @@ WRITE16_MEMBER(ginganin_state::ginganin_fgram16_w)
#define TXT_NX (32)
#define TXT_NY (32)
-static TILE_GET_INFO( get_txt_tile_info )
+TILE_GET_INFO_MEMBER(ginganin_state::get_txt_tile_info)
{
- ginganin_state *state = machine.driver_data<ginganin_state>();
- UINT16 code = state->m_txtram[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_txtram[tile_index];
+ SET_TILE_INFO_MEMBER(
TXT_GFX,
code,
code >> 12,
@@ -137,9 +135,9 @@ WRITE16_MEMBER(ginganin_state::ginganin_txtram16_w)
VIDEO_START( ginganin )
{
ginganin_state *state = machine.driver_data<ginganin_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, BG_NX, BG_NY);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 16, 16, FG_NX, FG_NY);
- state->m_tx_tilemap = tilemap_create(machine, get_txt_tile_info, TILEMAP_SCAN_ROWS, 8, 8, TXT_NX, TXT_NY);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ginganin_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, BG_NX, BG_NY);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ginganin_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, FG_NX, FG_NY);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ginganin_state::get_txt_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, TXT_NX, TXT_NY);
state->m_fg_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/gladiatr.c b/src/mame/video/gladiatr.c
index 2d1313856bb..ad9adbfaa93 100644
--- a/src/mame/video/gladiatr.c
+++ b/src/mame/video/gladiatr.c
@@ -14,24 +14,22 @@
***************************************************************************/
-static TILE_GET_INFO( bg_get_tile_info )
+TILE_GET_INFO_MEMBER(gladiatr_state::bg_get_tile_info)
{
- gladiatr_state *state = machine.driver_data<gladiatr_state>();
- UINT8 attr = state->m_colorram[tile_index];
+ UINT8 attr = m_colorram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- state->m_videoram[tile_index] + ((attr & 0x07) << 8) + (state->m_bg_tile_bank << 11),
+ m_videoram[tile_index] + ((attr & 0x07) << 8) + (m_bg_tile_bank << 11),
(attr >> 3) ^ 0x1f,
0);
}
-static TILE_GET_INFO( fg_get_tile_info )
+TILE_GET_INFO_MEMBER(gladiatr_state::fg_get_tile_info)
{
- gladiatr_state *state = machine.driver_data<gladiatr_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_textram[tile_index] + (state->m_fg_tile_bank << 8),
+ m_textram[tile_index] + (m_fg_tile_bank << 8),
0,
0);
}
@@ -47,8 +45,8 @@ static TILE_GET_INFO( fg_get_tile_info )
VIDEO_START( ppking )
{
gladiatr_state *state = machine.driver_data<gladiatr_state>();
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,64);
- state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,64);
state->m_fg_tilemap->set_transparent_pen(0);
@@ -60,8 +58,8 @@ VIDEO_START( ppking )
VIDEO_START( gladiatr )
{
gladiatr_state *state = machine.driver_data<gladiatr_state>();
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gladiatr_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/glass.c b/src/mame/video/glass.c
index 1caadcac0fc..e96aebacf8f 100644
--- a/src/mame/video/glass.c
+++ b/src/mame/video/glass.c
@@ -31,25 +31,23 @@
1 | xxxxxxxx -------- | not used
*/
-static TILE_GET_INFO( get_tile_info_glass_screen0 )
+TILE_GET_INFO_MEMBER(glass_state::get_tile_info_glass_screen0)
{
- glass_state *state = machine.driver_data<glass_state>();
- int data = state->m_videoram[tile_index << 1];
- int data2 = state->m_videoram[(tile_index << 1) + 1];
+ int data = m_videoram[tile_index << 1];
+ int data2 = m_videoram[(tile_index << 1) + 1];
int code = ((data & 0x03) << 14) | ((data & 0x0fffc) >> 2);
- SET_TILE_INFO(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
+ SET_TILE_INFO_MEMBER(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
}
-static TILE_GET_INFO( get_tile_info_glass_screen1 )
+TILE_GET_INFO_MEMBER(glass_state::get_tile_info_glass_screen1)
{
- glass_state *state = machine.driver_data<glass_state>();
- int data = state->m_videoram[(0x1000 / 2) + (tile_index << 1)];
- int data2 = state->m_videoram[(0x1000 / 2) + (tile_index << 1) + 1];
+ int data = m_videoram[(0x1000 / 2) + (tile_index << 1)];
+ int data2 = m_videoram[(0x1000 / 2) + (tile_index << 1) + 1];
int code = ((data & 0x03) << 14) | ((data & 0x0fffc) >> 2);
- SET_TILE_INFO(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
+ SET_TILE_INFO_MEMBER(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
}
/***************************************************************************
@@ -128,8 +126,8 @@ WRITE16_MEMBER(glass_state::glass_vram_w)
VIDEO_START( glass )
{
glass_state *state = machine.driver_data<glass_state>();
- state->m_pant[0] = tilemap_create(machine, get_tile_info_glass_screen0, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_pant[1] = tilemap_create(machine, get_tile_info_glass_screen1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(glass_state::get_tile_info_glass_screen0),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(glass_state::get_tile_info_glass_screen1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_screen_bitmap = auto_bitmap_ind16_alloc (machine, 320, 200);
state->save_item(NAME(*state->m_screen_bitmap));
diff --git a/src/mame/video/gng.c b/src/mame/video/gng.c
index bd23b2670d5..646e17fc9a1 100644
--- a/src/mame/video/gng.c
+++ b/src/mame/video/gng.c
@@ -16,24 +16,22 @@
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(gng_state::get_fg_tile_info)
{
- gng_state *state = machine.driver_data<gng_state>();
- UINT8 attr = state->m_fgvideoram[tile_index + 0x400];
- SET_TILE_INFO(
+ UINT8 attr = m_fgvideoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_fgvideoram[tile_index] + ((attr & 0xc0) << 2),
+ m_fgvideoram[tile_index] + ((attr & 0xc0) << 2),
attr & 0x0f,
TILE_FLIPYX((attr & 0x30) >> 4));
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(gng_state::get_bg_tile_info)
{
- gng_state *state = machine.driver_data<gng_state>();
- UINT8 attr = state->m_bgvideoram[tile_index + 0x400];
- SET_TILE_INFO(
+ UINT8 attr = m_bgvideoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
1,
- state->m_bgvideoram[tile_index] + ((attr & 0xc0) << 2),
+ m_bgvideoram[tile_index] + ((attr & 0xc0) << 2),
attr & 0x07,
TILE_FLIPYX((attr & 0x30) >> 4));
tileinfo.group = (attr & 0x08) >> 3;
@@ -50,8 +48,8 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( gng )
{
gng_state *state = machine.driver_data<gng_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gng_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gng_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
state->m_fg_tilemap->set_transparent_pen(3);
state->m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
diff --git a/src/mame/video/goal92.c b/src/mame/video/goal92.c
index ff07f78c5b5..98f046ed13d 100644
--- a/src/mame/video/goal92.c
+++ b/src/mame/video/goal92.c
@@ -40,40 +40,37 @@ WRITE16_MEMBER(goal92_state::goal92_foreground_w)
m_fg_layer->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(goal92_state::get_text_tile_info)
{
- goal92_state *state = machine.driver_data<goal92_state>();
- int tile = state->m_tx_data[tile_index];
+ int tile = m_tx_data[tile_index];
int color = (tile >> 12) & 0xf;
tile &= 0xfff;
tile |= 0xc000;
- SET_TILE_INFO(1, tile, color, 0);
+ SET_TILE_INFO_MEMBER(1, tile, color, 0);
}
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(goal92_state::get_back_tile_info)
{
- goal92_state *state = machine.driver_data<goal92_state>();
- int tile = state->m_bg_data[tile_index];
+ int tile = m_bg_data[tile_index];
int color = (tile >> 12) & 0xf;
tile &= 0xfff;
- SET_TILE_INFO(2, tile, color, 0);
+ SET_TILE_INFO_MEMBER(2, tile, color, 0);
}
-static TILE_GET_INFO( get_fore_tile_info )
+TILE_GET_INFO_MEMBER(goal92_state::get_fore_tile_info)
{
- goal92_state *state = machine.driver_data<goal92_state>();
- int tile = state->m_fg_data[tile_index];
+ int tile = m_fg_data[tile_index];
int color = (tile >> 12) & 0xf;
int region;
tile &= 0xfff;
- if(state->m_fg_bank & 0xff)
+ if(m_fg_bank & 0xff)
{
region = 3;
tile |= 0x1000;
@@ -84,7 +81,7 @@ static TILE_GET_INFO( get_fore_tile_info )
tile |= 0x2000;
}
- SET_TILE_INFO(region, tile, color, 0);
+ SET_TILE_INFO_MEMBER(region, tile, color, 0);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri )
@@ -135,9 +132,9 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
VIDEO_START( goal92 )
{
goal92_state *state = machine.driver_data<goal92_state>();
- state->m_bg_layer = tilemap_create(machine, get_back_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_layer = tilemap_create(machine, get_fore_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_layer = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goal92_state::get_back_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goal92_state::get_fore_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goal92_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, 0x400 * 2);
state_save_register_global_pointer(machine, state->m_buffered_spriteram, 0x400 * 2);
diff --git a/src/mame/video/goindol.c b/src/mame/video/goindol.c
index 674ede097d4..c27432d6f78 100644
--- a/src/mame/video/goindol.c
+++ b/src/mame/video/goindol.c
@@ -15,26 +15,24 @@
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(goindol_state::get_fg_tile_info)
{
- goindol_state *state = machine.driver_data<goindol_state>();
- int code = state->m_fg_videoram[2 * tile_index + 1];
- int attr = state->m_fg_videoram[2 * tile_index];
- SET_TILE_INFO(
+ int code = m_fg_videoram[2 * tile_index + 1];
+ int attr = m_fg_videoram[2 * tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- code | ((attr & 0x7) << 8) | (state->m_char_bank << 11),
+ code | ((attr & 0x7) << 8) | (m_char_bank << 11),
(attr & 0xf8) >> 3,
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(goindol_state::get_bg_tile_info)
{
- goindol_state *state = machine.driver_data<goindol_state>();
- int code = state->m_bg_videoram[2 * tile_index + 1];
- int attr = state->m_bg_videoram[2 * tile_index];
- SET_TILE_INFO(
+ int code = m_bg_videoram[2 * tile_index + 1];
+ int attr = m_bg_videoram[2 * tile_index];
+ SET_TILE_INFO_MEMBER(
1,
- code | ((attr & 0x7) << 8) | (state->m_char_bank << 11),
+ code | ((attr & 0x7) << 8) | (m_char_bank << 11),
(attr & 0xf8) >> 3,
0);
}
@@ -50,8 +48,8 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( goindol )
{
goindol_state *state = machine.driver_data<goindol_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goindol_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goindol_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/goldstar.c b/src/mame/video/goldstar.c
index fa6f8a45dd4..211567779e0 100644
--- a/src/mame/video/goldstar.c
+++ b/src/mame/video/goldstar.c
@@ -62,41 +62,38 @@ WRITE8_MEMBER(goldstar_state::goldstar_fg_atrram_w)
m_fg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_goldstar_fg_tile_info )
+TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_fg_tile_info)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- int code = state->m_fg_vidram[tile_index];
- int attr = state->m_fg_atrram[tile_index];
+ int code = m_fg_vidram[tile_index];
+ int attr = m_fg_atrram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code | (attr & 0xf0)<<4,
attr&0x0f,
0);
}
-static TILE_GET_INFO( get_magical_fg_tile_info )
+TILE_GET_INFO_MEMBER(goldstar_state::get_magical_fg_tile_info)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- int code = state->m_fg_vidram[tile_index];
- int attr = state->m_fg_atrram[tile_index];
+ int code = m_fg_vidram[tile_index];
+ int attr = m_fg_atrram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- (code | (attr & 0xf0)<<4)+state->m_tile_bank*0x1000,
+ (code | (attr & 0xf0)<<4)+m_tile_bank*0x1000,
attr&0x0f,
0);
}
// colour / high tile bits are swapped around
-static TILE_GET_INFO( get_cherrym_fg_tile_info )
+TILE_GET_INFO_MEMBER(goldstar_state::get_cherrym_fg_tile_info)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- int code = state->m_fg_vidram[tile_index];
- int attr = state->m_fg_atrram[tile_index];
+ int code = m_fg_vidram[tile_index];
+ int attr = m_fg_atrram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code | (attr & 0x0f)<<8,
(attr&0xf0)>>4,
@@ -112,15 +109,14 @@ WRITE8_MEMBER(goldstar_state::goldstar_reel1_ram_w)
m_reel1_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_goldstar_reel1_tile_info )
+TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel1_tile_info)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- int code = state->m_reel1_ram[tile_index];
+ int code = m_reel1_ram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
- state->m_bgcolor,
+ m_bgcolor,
0);
}
@@ -131,15 +127,14 @@ WRITE8_MEMBER(goldstar_state::goldstar_reel2_ram_w)
m_reel2_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_goldstar_reel2_tile_info )
+TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel2_tile_info)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- int code = state->m_reel2_ram[tile_index];
+ int code = m_reel2_ram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
- state->m_bgcolor,
+ m_bgcolor,
0);
}
@@ -150,15 +145,14 @@ WRITE8_MEMBER(goldstar_state::goldstar_reel3_ram_w)
m_reel3_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_goldstar_reel3_tile_info )
+TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel3_tile_info)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- int code = state->m_reel3_ram[tile_index];
+ int code = m_reel3_ram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
- state->m_bgcolor,
+ m_bgcolor,
0);
}
@@ -185,39 +179,36 @@ WRITE8_MEMBER(goldstar_state::unkch_reel3_attrram_w)
}
-static TILE_GET_INFO( get_unkch_reel1_tile_info )
+TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel1_tile_info)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- int code = state->m_reel1_ram[tile_index];
- int attr = state->m_reel1_attrram[tile_index];
+ int code = m_reel1_ram[tile_index];
+ int attr = m_reel1_attrram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code | (attr & 0x0f)<<8,
(attr&0xf0)>>4,
0);
}
-static TILE_GET_INFO( get_unkch_reel2_tile_info )
+TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel2_tile_info)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- int code = state->m_reel2_ram[tile_index];
- int attr = state->m_reel2_attrram[tile_index];
+ int code = m_reel2_ram[tile_index];
+ int attr = m_reel2_attrram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code | (attr & 0x0f)<<8,
(attr&0xf0)>>4,
0);
}
-static TILE_GET_INFO( get_unkch_reel3_tile_info )
+TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel3_tile_info)
{
- goldstar_state *state = machine.driver_data<goldstar_state>();
- int code = state->m_reel3_ram[tile_index];
- int attr = state->m_reel3_attrram[tile_index];
+ int code = m_reel3_ram[tile_index];
+ int attr = m_reel3_attrram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code | (attr & 0x0f)<<8,
(attr&0xf0)>>4,
@@ -231,15 +222,15 @@ VIDEO_START( goldstar )
{
goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = tilemap_create(machine,get_goldstar_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel2_tilemap = tilemap_create(machine,get_goldstar_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel3_tilemap = tilemap_create(machine,get_goldstar_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
state->m_reel1_tilemap->set_scroll_cols(64);
state->m_reel2_tilemap->set_scroll_cols(64);
state->m_reel3_tilemap->set_scroll_cols(64);
- state->m_fg_tilemap = tilemap_create(machine,get_goldstar_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
// is there an enable reg for this game?
@@ -250,11 +241,11 @@ VIDEO_START( bingowng )
{
goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = tilemap_create(machine,get_goldstar_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
state->m_reel1_tilemap->set_scroll_cols(64);
- state->m_fg_tilemap = tilemap_create(machine,get_goldstar_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
// is there an enable reg for this game?
@@ -265,15 +256,15 @@ VIDEO_START( magical )
{
goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = tilemap_create(machine,get_goldstar_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel2_tilemap = tilemap_create(machine,get_goldstar_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel3_tilemap = tilemap_create(machine,get_goldstar_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
state->m_reel1_tilemap->set_scroll_cols(32);
state->m_reel2_tilemap->set_scroll_cols(32);
state->m_reel3_tilemap->set_scroll_cols(32);
- state->m_fg_tilemap = tilemap_create(machine,get_magical_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_magical_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
// is there an enable reg for this game?
@@ -284,9 +275,9 @@ VIDEO_START( unkch )
{
goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = tilemap_create(machine,get_unkch_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel2_tilemap = tilemap_create(machine,get_unkch_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel3_tilemap = tilemap_create(machine,get_unkch_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_unkch_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_unkch_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_unkch_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
state->m_reel1_tilemap->set_scroll_cols(32);
state->m_reel2_tilemap->set_scroll_cols(32);
@@ -296,7 +287,7 @@ VIDEO_START( unkch )
state->m_cmaster_girl_pal = 0;
state->m_unkch_vidreg = 0x00;
- state->m_fg_tilemap = tilemap_create(machine,get_cherrym_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_cherrym_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_cm_enable_reg = 0x0b;
@@ -306,9 +297,9 @@ VIDEO_START( cherrym )
{
goldstar_state *state = machine.driver_data<goldstar_state>();
- state->m_reel1_tilemap = tilemap_create(machine,get_goldstar_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel2_tilemap = tilemap_create(machine,get_goldstar_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
- state->m_reel3_tilemap = tilemap_create(machine,get_goldstar_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
+ state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
state->m_reel1_tilemap->set_scroll_cols(64);
state->m_reel2_tilemap->set_scroll_cols(64);
@@ -317,7 +308,7 @@ VIDEO_START( cherrym )
state->m_cmaster_girl_num = 0;
state->m_cmaster_girl_pal = 0;
- state->m_fg_tilemap = tilemap_create(machine,get_cherrym_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldstar_state::get_cherrym_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_cm_enable_reg = 0x0b;
diff --git a/src/mame/video/gomoku.c b/src/mame/video/gomoku.c
index 6b4e6fab3e6..abcbb4a8608 100644
--- a/src/mame/video/gomoku.c
+++ b/src/mame/video/gomoku.c
@@ -54,15 +54,14 @@ PALETTE_INIT( gomoku )
******************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(gomoku_state::get_fg_tile_info)
{
- gomoku_state *state = machine.driver_data<gomoku_state>();
- int code = (state->m_videoram[tile_index]);
- int attr = (state->m_colorram[tile_index]);
+ int code = (m_videoram[tile_index]);
+ int attr = (m_colorram[tile_index]);
int color = (attr& 0x0f);
int flipyx = (attr & 0xc0) >> 6;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
color,
@@ -115,7 +114,7 @@ VIDEO_START( gomoku )
machine.primary_screen->register_screen_bitmap(state->m_bg_bitmap);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gomoku_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/gotcha.c b/src/mame/video/gotcha.c
index e4102cbbbe6..41d9dea58fa 100644
--- a/src/mame/video/gotcha.c
+++ b/src/mame/video/gotcha.c
@@ -8,7 +8,7 @@
***************************************************************************/
-static TILEMAP_MAPPER( gotcha_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(gotcha_state::gotcha_tilemap_scan)
{
return (col & 0x1f) | (row << 5) | ((col & 0x20) << 5);
}
@@ -22,16 +22,14 @@ INLINE void get_tile_info( running_machine &machine, tile_data &tileinfo, int ti
SET_TILE_INFO(0, code, (data >> 12) + color_offs, 0);
}
-static TILE_GET_INFO( fg_get_tile_info )
+TILE_GET_INFO_MEMBER(gotcha_state::fg_get_tile_info)
{
- gotcha_state *state = machine.driver_data<gotcha_state>();
- get_tile_info(machine, tileinfo, tile_index, state->m_fgvideoram, 0);
+ get_tile_info(machine(), tileinfo, tile_index, m_fgvideoram, 0);
}
-static TILE_GET_INFO( bg_get_tile_info )
+TILE_GET_INFO_MEMBER(gotcha_state::bg_get_tile_info)
{
- gotcha_state *state = machine.driver_data<gotcha_state>();
- get_tile_info(machine, tileinfo, tile_index, state->m_bgvideoram, 16);
+ get_tile_info(machine(), tileinfo, tile_index, m_bgvideoram, 16);
}
@@ -45,8 +43,8 @@ static TILE_GET_INFO( bg_get_tile_info )
VIDEO_START( gotcha )
{
gotcha_state *state = machine.driver_data<gotcha_state>();
- state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info, gotcha_tilemap_scan, 16, 16, 64, 32);
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, gotcha_tilemap_scan, 16, 16, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gotcha_state::fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(gotcha_state::gotcha_tilemap_scan),state), 16, 16, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gotcha_state::bg_get_tile_info),state), tilemap_mapper_delegate(FUNC(gotcha_state::gotcha_tilemap_scan),state), 16, 16, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/gottlieb.c b/src/mame/video/gottlieb.c
index 25e9769e3c3..e2fb6f60649 100644
--- a/src/mame/video/gottlieb.c
+++ b/src/mame/video/gottlieb.c
@@ -121,26 +121,24 @@ WRITE8_MEMBER(gottlieb_state::gottlieb_charram_w)
*
*************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(gottlieb_state::get_bg_tile_info)
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int code = videoram[tile_index];
if ((code & 0x80) == 0)
- SET_TILE_INFO(state->m_gfxcharlo, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxcharlo, code, 0, 0);
else
- SET_TILE_INFO(state->m_gfxcharhi, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxcharhi, code, 0, 0);
}
-static TILE_GET_INFO( get_screwloo_bg_tile_info )
+TILE_GET_INFO_MEMBER(gottlieb_state::get_screwloo_bg_tile_info)
{
- gottlieb_state *state = machine.driver_data<gottlieb_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int code = videoram[tile_index];
if ((code & 0xc0) == 0)
- SET_TILE_INFO(state->m_gfxcharlo, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxcharlo, code, 0, 0);
else
- SET_TILE_INFO(state->m_gfxcharhi, code, 0, 0);
+ SET_TILE_INFO_MEMBER(m_gfxcharhi, code, 0, 0);
}
@@ -159,7 +157,7 @@ VIDEO_START( gottlieb )
state->m_transparent0 = FALSE;
/* configure the background tilemap */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gottlieb_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scrolldx(0, 318 - 256);
@@ -186,7 +184,7 @@ VIDEO_START( screwloo )
state->m_transparent0 = FALSE;
/* configure the background tilemap */
- state->m_bg_tilemap = tilemap_create(machine, get_screwloo_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gottlieb_state::get_screwloo_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scrolldx(0, 318 - 256);
diff --git a/src/mame/video/gotya.c b/src/mame/video/gotya.c
index 5258260ba14..2cb82948268 100644
--- a/src/mame/video/gotya.c
+++ b/src/mame/video/gotya.c
@@ -90,16 +90,15 @@ WRITE8_MEMBER(gotya_state::gotya_video_control_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(gotya_state::get_bg_tile_info)
{
- gotya_state *state = machine.driver_data<gotya_state>();
- int code = state->m_videoram[tile_index];
- int color = state->m_colorram[tile_index] & 0x0f;
+ int code = m_videoram[tile_index];
+ int color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILEMAP_MAPPER( tilemap_scan_rows_thehand )
+TILEMAP_MAPPER_MEMBER(gotya_state::tilemap_scan_rows_thehand)
{
/* logical (col,row) -> memory offset */
row = 31 - row;
@@ -110,7 +109,7 @@ static TILEMAP_MAPPER( tilemap_scan_rows_thehand )
VIDEO_START( gotya )
{
gotya_state *state = machine.driver_data<gotya_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows_thehand, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gotya_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(gotya_state::tilemap_scan_rows_thehand),state), 8, 8, 64, 32);
}
static void draw_status_row( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int sx, int col )
diff --git a/src/mame/video/grchamp.c b/src/mame/video/grchamp.c
index 38f8e9abb95..44fdee2bcd9 100644
--- a/src/mame/video/grchamp.c
+++ b/src/mame/video/grchamp.c
@@ -71,31 +71,27 @@ WRITE8_MEMBER(grchamp_state::grchamp_right_w)
m_right_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(grchamp_state::get_text_tile_info)
{
- grchamp_state *state = machine.driver_data<grchamp_state>();
- SET_TILE_INFO(0, state->m_videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], 0, 0);
}
-static TILE_GET_INFO( get_left_tile_info )
+TILE_GET_INFO_MEMBER(grchamp_state::get_left_tile_info)
{
- grchamp_state *state = machine.driver_data<grchamp_state>();
- SET_TILE_INFO(1, state->m_leftram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(1, m_leftram[tile_index], 0, 0);
}
-static TILE_GET_INFO( get_right_tile_info )
+TILE_GET_INFO_MEMBER(grchamp_state::get_right_tile_info)
{
- grchamp_state *state = machine.driver_data<grchamp_state>();
- SET_TILE_INFO(2, state->m_rightram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(2, m_rightram[tile_index], 0, 0);
}
-static TILE_GET_INFO( get_center_tile_info )
+TILE_GET_INFO_MEMBER(grchamp_state::get_center_tile_info)
{
- grchamp_state *state = machine.driver_data<grchamp_state>();
- SET_TILE_INFO(3, state->m_centerram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(3, m_centerram[tile_index], 0, 0);
}
-static TILEMAP_MAPPER( get_memory_offset )
+TILEMAP_MAPPER_MEMBER(grchamp_state::get_memory_offset)
{
return (col % 32) + row * 32 + (col / 32) * 32*32;
}
@@ -108,10 +104,10 @@ VIDEO_START( grchamp )
state->m_work_bitmap.allocate(32,32);
/* allocate tilemaps for each of the three sections */
- state->m_text_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_left_tilemap = tilemap_create(machine, get_left_tile_info, get_memory_offset, 8,8, 64,32);
- state->m_right_tilemap = tilemap_create(machine, get_right_tile_info, get_memory_offset, 8,8, 64,32);
- state->m_center_tilemap = tilemap_create(machine, get_center_tile_info, get_memory_offset, 8,8, 64,32);
+ state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_left_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_left_tile_info),state), tilemap_mapper_delegate(FUNC(grchamp_state::get_memory_offset),state), 8,8, 64,32);
+ state->m_right_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_right_tile_info),state), tilemap_mapper_delegate(FUNC(grchamp_state::get_memory_offset),state), 8,8, 64,32);
+ state->m_center_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(grchamp_state::get_center_tile_info),state), tilemap_mapper_delegate(FUNC(grchamp_state::get_memory_offset),state), 8,8, 64,32);
}
#if 0
diff --git a/src/mame/video/gstriker.c b/src/mame/video/gstriker.c
index a77a948fd38..00c775ba3eb 100644
--- a/src/mame/video/gstriker.c
+++ b/src/mame/video/gstriker.c
@@ -25,18 +25,17 @@ t=tile, p=palette
*/
-static TILE_GET_INFO( VS920A_get_tile_info )
+TILE_GET_INFO_MEMBER(gstriker_state::VS920A_get_tile_info)
{
- gstriker_state *state = machine.driver_data<gstriker_state>();
int data;
int tileno, pal;
- data = state->m_VS920A_cur_chip->vram[tile_index];
+ data = m_VS920A_cur_chip->vram[tile_index];
tileno = data & 0xFFF;
pal = (data >> 12) & 0xF;
- SET_TILE_INFO(state->m_VS920A_cur_chip->gfx_region, tileno, state->m_VS920A_cur_chip->pal_base + pal, 0);
+ SET_TILE_INFO_MEMBER(m_VS920A_cur_chip->gfx_region, tileno, m_VS920A_cur_chip->pal_base + pal, 0);
}
WRITE16_MEMBER(gstriker_state::VS920A_0_vram_w)
@@ -61,7 +60,7 @@ static void VS920A_init(running_machine &machine, int numchips)
for (i=0;i<numchips;i++)
{
- state->m_VS920A[i].tmap = tilemap_create(machine, VS920A_get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_VS920A[i].tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstriker_state::VS920A_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_VS920A[i].tmap->set_transparent_pen(0);
}
@@ -139,19 +138,18 @@ index is in the MSB. gstriker uses 5 bits for banking, but the chips could be ab
-static TILE_GET_INFO( MB60553_get_tile_info )
+TILE_GET_INFO_MEMBER(gstriker_state::MB60553_get_tile_info)
{
- gstriker_state *state = machine.driver_data<gstriker_state>();
int data, bankno;
int tileno, pal;
- data = state->m_MB60553_cur_chip->vram[tile_index];
+ data = m_MB60553_cur_chip->vram[tile_index];
tileno = data & 0x1FF;
pal = (data >> 12) & 0xF;
bankno = (data >> 9) & 0x7;
- SET_TILE_INFO(state->m_MB60553->gfx_region, tileno + state->m_MB60553_cur_chip->bank[bankno] * 0x200, pal + state->m_MB60553->pal_base, 0);
+ SET_TILE_INFO_MEMBER(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)
@@ -203,7 +201,7 @@ void gstriker_state::MB60553_reg_written(int numchip, int num_reg)
}
/* twc94 has the tilemap made of 2 pages .. it needs this */
-static TILEMAP_MAPPER( twc94_scan )
+TILEMAP_MAPPER_MEMBER(gstriker_state::twc94_scan)
{
/* logical (col,row) -> memory offset */
return (row*64) + (col&63) + ((col&64)<<6);
@@ -219,7 +217,7 @@ static void MB60553_init(running_machine &machine, int numchips)
for (i=0;i<numchips;i++)
{
- state->m_MB60553[i].tmap = tilemap_create(machine, MB60553_get_tile_info,twc94_scan, 16,16,128,64);
+ state->m_MB60553[i].tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstriker_state::MB60553_get_tile_info),state),tilemap_mapper_delegate(FUNC(gstriker_state::twc94_scan),state), 16,16,128,64);
state->m_MB60553[i].tmap->set_transparent_pen(0);
}
diff --git a/src/mame/video/gsword.c b/src/mame/video/gsword.c
index d088c9cb763..9bd81d96e0b 100644
--- a/src/mame/video/gsword.c
+++ b/src/mame/video/gsword.c
@@ -142,21 +142,20 @@ WRITE8_MEMBER(gsword_state::gsword_scroll_w)
m_bg_tilemap->set_scrolly(0, data);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(gsword_state::get_bg_tile_info)
{
- gsword_state *state = machine.driver_data<gsword_state>();
- UINT8 *videoram = state->m_videoram;
- int code = videoram[tile_index] + ((state->m_charbank & 0x03) << 8);
- int color = ((code & 0x3c0) >> 6) + 16 * state->m_charpalbank;
- int flags = state->m_flipscreen ? (TILE_FLIPX | TILE_FLIPY) : 0;
+ UINT8 *videoram = m_videoram;
+ int code = videoram[tile_index] + ((m_charbank & 0x03) << 8);
+ int color = ((code & 0x3c0) >> 6) + 16 * m_charpalbank;
+ int flags = m_flipscreen ? (TILE_FLIPX | TILE_FLIPY) : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( gsword )
{
gsword_state *state = machine.driver_data<gsword_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gsword_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 64);
}
diff --git a/src/mame/video/gumbo.c b/src/mame/video/gumbo.c
index 7f9d3a2bde1..a7d59fa81e8 100644
--- a/src/mame/video/gumbo.c
+++ b/src/mame/video/gumbo.c
@@ -10,11 +10,10 @@ WRITE16_MEMBER(gumbo_state::gumbo_bg_videoram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_gumbo_bg_tile_info )
+TILE_GET_INFO_MEMBER(gumbo_state::get_gumbo_bg_tile_info)
{
- gumbo_state *state = machine.driver_data<gumbo_state>();
- int tileno = state->m_bg_videoram[tile_index];
- SET_TILE_INFO(0, tileno, 0, 0);
+ int tileno = m_bg_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
}
@@ -24,19 +23,18 @@ WRITE16_MEMBER(gumbo_state::gumbo_fg_videoram_w)
m_fg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_gumbo_fg_tile_info )
+TILE_GET_INFO_MEMBER(gumbo_state::get_gumbo_fg_tile_info)
{
- gumbo_state *state = machine.driver_data<gumbo_state>();
- int tileno = state->m_fg_videoram[tile_index];
- SET_TILE_INFO(1, tileno, 1, 0);
+ int tileno = m_fg_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(1, tileno, 1, 0);
}
VIDEO_START( gumbo )
{
gumbo_state *state = machine.driver_data<gumbo_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_gumbo_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_gumbo_fg_tile_info, TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gumbo_state::get_gumbo_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gumbo_state::get_gumbo_fg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
state->m_fg_tilemap->set_transparent_pen(0xff);
}
diff --git a/src/mame/video/gundealr.c b/src/mame/video/gundealr.c
index f7f018f7b1f..b880b765ee6 100644
--- a/src/mame/video/gundealr.c
+++ b/src/mame/video/gundealr.c
@@ -16,30 +16,28 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(gundealr_state::get_bg_tile_info)
{
- gundealr_state *state = machine.driver_data<gundealr_state>();
- UINT8 attr = state->m_bg_videoram[2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT8 attr = m_bg_videoram[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_bg_videoram[2 * tile_index] + ((attr & 0x07) << 8),
+ m_bg_videoram[2 * tile_index] + ((attr & 0x07) << 8),
(attr & 0xf0) >> 4,
0);
}
-static TILEMAP_MAPPER( gundealr_scan )
+TILEMAP_MAPPER_MEMBER(gundealr_state::gundealr_scan)
{
/* logical (col,row) -> memory offset */
return (row & 0x0f) + ((col & 0x3f) << 4) + ((row & 0x10) << 6);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(gundealr_state::get_fg_tile_info)
{
- gundealr_state *state = machine.driver_data<gundealr_state>();
- UINT8 attr = state->m_fg_videoram[2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT8 attr = m_fg_videoram[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
1,
- state->m_fg_videoram[2 * tile_index] + ((attr & 0x03) << 8),
+ m_fg_videoram[2 * tile_index] + ((attr & 0x03) << 8),
(attr & 0xf0) >> 4,
0);
}
@@ -55,8 +53,8 @@ static TILE_GET_INFO( get_fg_tile_info )
VIDEO_START( gundealr )
{
gundealr_state *state = machine.driver_data<gundealr_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, gundealr_scan, 16, 16, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gundealr_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gundealr_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(gundealr_state::gundealr_scan),state), 16, 16, 64, 32);
state->m_fg_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/gunsmoke.c b/src/mame/video/gunsmoke.c
index 2c0a0ff5c03..2f332d383cf 100644
--- a/src/mame/video/gunsmoke.c
+++ b/src/mame/video/gunsmoke.c
@@ -103,9 +103,9 @@ WRITE8_MEMBER(gunsmoke_state::gunsmoke_d806_w)
m_objon = data & 0x20;
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(gunsmoke_state::get_bg_tile_info)
{
- UINT8 *tilerom = machine.root_device().memregion("gfx4")->base();
+ UINT8 *tilerom = machine().root_device().memregion("gfx4")->base();
int offs = tile_index * 2;
int attr = tilerom[offs + 1];
@@ -113,26 +113,25 @@ static TILE_GET_INFO( get_bg_tile_info )
int color = (attr & 0x3c) >> 2;
int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(gunsmoke_state::get_fg_tile_info)
{
- gunsmoke_state *state = machine.driver_data<gunsmoke_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0xe0) << 2);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0xe0) << 2);
int color = attr & 0x1f;
tileinfo.group = color;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( gunsmoke )
{
gunsmoke_state *state = machine.driver_data<gunsmoke_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gunsmoke_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gunsmoke_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0x4f);
}
diff --git a/src/mame/video/gyruss.c b/src/mame/video/gyruss.c
index 1522e5c0fb5..d6546eb427c 100644
--- a/src/mame/video/gyruss.c
+++ b/src/mame/video/gyruss.c
@@ -99,23 +99,22 @@ WRITE8_MEMBER(gyruss_state::gyruss_spriteram_w)
}
-static TILE_GET_INFO( gyruss_get_tile_info )
+TILE_GET_INFO_MEMBER(gyruss_state::gyruss_get_tile_info)
{
- gyruss_state *state = machine.driver_data<gyruss_state>();
- int code = ((state->m_colorram[tile_index] & 0x20) << 3) | state->m_videoram[tile_index];
- int color = state->m_colorram[tile_index] & 0x0f;
- int flags = TILE_FLIPYX(state->m_colorram[tile_index] >> 6);
+ int code = ((m_colorram[tile_index] & 0x20) << 3) | m_videoram[tile_index];
+ int color = m_colorram[tile_index] & 0x0f;
+ int flags = TILE_FLIPYX(m_colorram[tile_index] >> 6);
- tileinfo.group = (state->m_colorram[tile_index] & 0x10) ? 0 : 1;
+ tileinfo.group = (m_colorram[tile_index] & 0x10) ? 0 : 1;
- SET_TILE_INFO(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(2, code, color, flags);
}
VIDEO_START( gyruss )
{
gyruss_state *state = machine.driver_data<gyruss_state>();
- state->m_tilemap = tilemap_create(machine, gyruss_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gyruss_state::gyruss_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_tilemap->set_transmask(0, 0x00, 0); /* opaque */
state->m_tilemap->set_transmask(1, 0x0f, 0); /* transparent */
}
diff --git a/src/mame/video/hanaawas.c b/src/mame/video/hanaawas.c
index 818272b205f..ccb149717fe 100644
--- a/src/mame/video/hanaawas.c
+++ b/src/mame/video/hanaawas.c
@@ -89,23 +89,22 @@ WRITE8_DEVICE_HANDLER( hanaawas_portB_w )
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(hanaawas_state::get_bg_tile_info)
{
- hanaawas_state *state = machine.driver_data<hanaawas_state>();
/* the color is determined by the current color byte, but the bank is via the previous one!!! */
- int offset = (tile_index + (state->flip_screen() ? 1 : -1)) & 0x3ff;
- int attr = state->m_colorram[offset];
+ int offset = (tile_index + (flip_screen() ? 1 : -1)) & 0x3ff;
+ int attr = m_colorram[offset];
int gfxbank = (attr & 0x40) >> 6;
- int code = state->m_videoram[tile_index] + ((attr & 0x20) << 3);
- int color = state->m_colorram[tile_index] & 0x1f;
+ int code = m_videoram[tile_index] + ((attr & 0x20) << 3);
+ int color = m_colorram[tile_index] & 0x1f;
- SET_TILE_INFO(gfxbank, code, color, 0);
+ SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
}
VIDEO_START( hanaawas )
{
hanaawas_state *state = machine.driver_data<hanaawas_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hanaawas_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
SCREEN_UPDATE_IND16( hanaawas )
diff --git a/src/mame/video/hcastle.c b/src/mame/video/hcastle.c
index 26cd538554b..f9e62cd8f65 100644
--- a/src/mame/video/hcastle.c
+++ b/src/mame/video/hcastle.c
@@ -65,23 +65,22 @@ static void set_pens(running_machine &machine)
***************************************************************************/
-static TILEMAP_MAPPER( tilemap_scan )
+TILEMAP_MAPPER_MEMBER(hcastle_state::tilemap_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 6); /* skip 0x400 */
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(hcastle_state::get_fg_tile_info)
{
- hcastle_state *state = machine.driver_data<hcastle_state>();
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_1, 5);
- UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_1, 6);
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_1, 5);
+ UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_1, 6);
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
int bit3 = (ctrl_5 >> 6) & 0x03;
- int attr = state->m_pf1_videoram[tile_index];
- int tile = state->m_pf1_videoram[tile_index + 0x400];
+ int attr = m_pf1_videoram[tile_index];
+ int tile = m_pf1_videoram[tile_index + 0x400];
int color = attr & 0x7;
int bank = ((attr & 0x80) >> 7) |
((attr >> (bit0 + 2)) & 0x02) |
@@ -89,24 +88,23 @@ static TILE_GET_INFO( get_fg_tile_info )
((attr >> (bit2 )) & 0x08) |
((attr >> (bit3 - 1)) & 0x10);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- tile + bank * 0x100 + state->m_pf1_bankbase,
+ tile + bank * 0x100 + m_pf1_bankbase,
((ctrl_6 & 0x30) * 2 + 16) + color,
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(hcastle_state::get_bg_tile_info)
{
- hcastle_state *state = machine.driver_data<hcastle_state>();
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_2, 5);
- UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_2, 6);
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_2, 5);
+ UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_2, 6);
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
int bit3 = (ctrl_5 >> 6) & 0x03;
- int attr = state->m_pf2_videoram[tile_index];
- int tile = state->m_pf2_videoram[tile_index + 0x400];
+ int attr = m_pf2_videoram[tile_index];
+ int tile = m_pf2_videoram[tile_index + 0x400];
int color = attr & 0x7;
int bank = ((attr & 0x80) >> 7) |
((attr >> (bit0 + 2)) & 0x02) |
@@ -114,9 +112,9 @@ static TILE_GET_INFO( get_bg_tile_info )
((attr >> (bit2 )) & 0x08) |
((attr >> (bit3 - 1)) & 0x10);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- tile + bank * 0x100 + state->m_pf2_bankbase,
+ tile + bank * 0x100 + m_pf2_bankbase,
((ctrl_6 & 0x30) * 2 + 16) + color,
0);
}
@@ -133,8 +131,8 @@ VIDEO_START( hcastle )
{
hcastle_state *state = machine.driver_data<hcastle_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan, 8, 8, 64, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hcastle_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(hcastle_state::tilemap_scan),state), 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hcastle_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(hcastle_state::tilemap_scan),state), 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/hexion.c b/src/mame/video/hexion.c
index 5bad4f47d2f..e6d8de44bc8 100644
--- a/src/mame/video/hexion.c
+++ b/src/mame/video/hexion.c
@@ -20,16 +20,14 @@ INLINE void get_tile_info(running_machine &machine,tile_data &tileinfo,int tile_
0);
}
-static TILE_GET_INFO( get_tile_info0 )
+TILE_GET_INFO_MEMBER(hexion_state::get_tile_info0)
{
- hexion_state *state = machine.driver_data<hexion_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_vram[0]);
+ get_tile_info(machine(),tileinfo,tile_index,m_vram[0]);
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(hexion_state::get_tile_info1)
{
- hexion_state *state = machine.driver_data<hexion_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_vram[1]);
+ get_tile_info(machine(),tileinfo,tile_index,m_vram[1]);
}
@@ -43,8 +41,8 @@ static TILE_GET_INFO( get_tile_info1 )
VIDEO_START( hexion )
{
hexion_state *state = machine.driver_data<hexion_state>();
- state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0,TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS, 8,8,64,32);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hexion_state::get_tile_info0),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hexion_state::get_tile_info1),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
state->m_bg_tilemap[0]->set_transparent_pen(0);
state->m_bg_tilemap[1]->set_scrollx(0,-4);
diff --git a/src/mame/video/higemaru.c b/src/mame/video/higemaru.c
index 9d171988e1f..5e24fe017c9 100644
--- a/src/mame/video/higemaru.c
+++ b/src/mame/video/higemaru.c
@@ -89,19 +89,18 @@ WRITE8_MEMBER(higemaru_state::higemaru_c800_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(higemaru_state::get_bg_tile_info)
{
- higemaru_state *state = machine.driver_data<higemaru_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x80) << 1);
- int color = state->m_colorram[tile_index] & 0x1f;
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1);
+ int color = m_colorram[tile_index] & 0x1f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( higemaru )
{
higemaru_state *state = machine.driver_data<higemaru_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(higemaru_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/himesiki.c b/src/mame/video/himesiki.c
index 52f170d26d4..060591965f6 100644
--- a/src/mame/video/himesiki.c
+++ b/src/mame/video/himesiki.c
@@ -10,21 +10,20 @@ Video hardware
#include "emu.h"
#include "includes/himesiki.h"
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(himesiki_state::get_bg_tile_info)
{
- himesiki_state *state = machine.driver_data<himesiki_state>();
- int code = state->m_bg_ram[tile_index * 2] + state->m_bg_ram[tile_index * 2 + 1] * 0x100 ;
+ int code = m_bg_ram[tile_index * 2] + m_bg_ram[tile_index * 2 + 1] * 0x100 ;
int col = code >> 12;
code &= 0xfff;
- SET_TILE_INFO(0, code, col, 0);
+ SET_TILE_INFO_MEMBER(0, code, col, 0);
}
VIDEO_START( himesiki )
{
himesiki_state *state = machine.driver_data<himesiki_state>();
- state->m_bg_tilemap = tilemap_create( machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(himesiki_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
WRITE8_MEMBER(himesiki_state::himesiki_bg_ram_w)
diff --git a/src/mame/video/hng64.c b/src/mame/video/hng64.c
index 68129f22420..226fe8c3038 100644
--- a/src/mame/video/hng64.c
+++ b/src/mame/video/hng64.c
@@ -529,18 +529,17 @@ static void transition_control(running_machine &machine, bitmap_rgb32 &bitmap, c
// pppppppp ff--atttt tttttttt tttttttt
#define HNG64_GET_TILE_INFO \
{ \
- hng64_state *state = machine.driver_data<hng64_state>(); \
- UINT16 tilemapinfo = (state->m_videoregs[reg]>>shift)&0xffff; \
+ UINT16 tilemapinfo = (m_videoregs[reg]>>shift)&0xffff; \
int tileno,pal, flip; \
\
- tileno = state->m_videoram[tile_index+(offset/4)]; \
+ tileno = m_videoram[tile_index+(offset/4)]; \
\
pal = (tileno&0xff000000)>>24; \
flip =(tileno&0x00c00000)>>22; \
\
if (tileno&0x200000) \
{ \
- tileno = (tileno & state->m_videoregs[0x0b]) | state->m_videoregs[0x0c]; \
+ tileno = (tileno & m_videoregs[0x0b]) | m_videoregs[0x0c]; \
} \
\
tileno &= 0x1fffff; \
@@ -549,28 +548,28 @@ static void transition_control(running_machine &machine, bitmap_rgb32 &bitmap, c
{ \
if (tilemapinfo&0x400) \
{ \
- SET_TILE_INFO(1,tileno>>1,pal>>4,TILE_FLIPYX(flip)); \
+ SET_TILE_INFO_MEMBER(1,tileno>>1,pal>>4,TILE_FLIPYX(flip)); \
} \
else \
{ \
- SET_TILE_INFO(0,tileno, pal,TILE_FLIPYX(flip)); \
+ SET_TILE_INFO_MEMBER(0,tileno, pal,TILE_FLIPYX(flip)); \
} \
} \
else \
{ \
if (tilemapinfo&0x400) \
{ \
- SET_TILE_INFO(3,tileno>>3,pal>>4,TILE_FLIPYX(flip)); \
+ SET_TILE_INFO_MEMBER(3,tileno>>3,pal>>4,TILE_FLIPYX(flip)); \
} \
else \
{ \
- SET_TILE_INFO(2,tileno>>2, pal,TILE_FLIPYX(flip)); \
+ SET_TILE_INFO_MEMBER(2,tileno>>2, pal,TILE_FLIPYX(flip)); \
} \
} \
} \
\
-static TILE_GET_INFO( get_hng64_tile0_8x8_info )
+TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile0_8x8_info)
{
int offset = 0x00000;
int size = 0;
@@ -580,7 +579,7 @@ static TILE_GET_INFO( get_hng64_tile0_8x8_info )
HNG64_GET_TILE_INFO
}
-static TILE_GET_INFO( get_hng64_tile0_16x16_info )
+TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile0_16x16_info)
{
int offset = 0x00000;
int size = 1;
@@ -590,7 +589,7 @@ static TILE_GET_INFO( get_hng64_tile0_16x16_info )
HNG64_GET_TILE_INFO
}
-static TILE_GET_INFO( get_hng64_tile1_8x8_info )
+TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile1_8x8_info)
{
int offset = 0x10000;
int size = 0;
@@ -600,7 +599,7 @@ static TILE_GET_INFO( get_hng64_tile1_8x8_info )
HNG64_GET_TILE_INFO
}
-static TILE_GET_INFO( get_hng64_tile1_16x16_info )
+TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile1_16x16_info)
{
int offset = 0x10000;
int size = 1;
@@ -610,7 +609,7 @@ static TILE_GET_INFO( get_hng64_tile1_16x16_info )
HNG64_GET_TILE_INFO
}
-static TILE_GET_INFO( get_hng64_tile2_8x8_info )
+TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile2_8x8_info)
{
int offset = 0x20000;
int size = 0;
@@ -620,7 +619,7 @@ static TILE_GET_INFO( get_hng64_tile2_8x8_info )
HNG64_GET_TILE_INFO
}
-static TILE_GET_INFO( get_hng64_tile2_16x16_info )
+TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile2_16x16_info)
{
int offset = 0x20000;
int size = 1;
@@ -630,7 +629,7 @@ static TILE_GET_INFO( get_hng64_tile2_16x16_info )
HNG64_GET_TILE_INFO
}
-static TILE_GET_INFO( get_hng64_tile3_8x8_info )
+TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile3_8x8_info)
{
int offset = 0x30000;
int size = 0;
@@ -640,7 +639,7 @@ static TILE_GET_INFO( get_hng64_tile3_8x8_info )
HNG64_GET_TILE_INFO
}
-static TILE_GET_INFO( get_hng64_tile3_16x16_info )
+TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile3_16x16_info)
{
int offset = 0x30000;
int size = 1;
@@ -1658,21 +1657,21 @@ VIDEO_START( hng64 )
state->m_old_tileflags2 = -1;
state->m_old_tileflags3 = -1;
- state->m_tilemap0_8x8 = tilemap_create(machine, get_hng64_tile0_8x8_info, TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap0_16x16 = tilemap_create(machine, get_hng64_tile0_16x16_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap0_16x16_alt = tilemap_create(machine, get_hng64_tile0_16x16_info, TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
+ state->m_tilemap0_8x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile0_8x8_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
+ state->m_tilemap0_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile0_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
+ state->m_tilemap0_16x16_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile0_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
- state->m_tilemap1_8x8 = tilemap_create(machine, get_hng64_tile1_8x8_info, TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap1_16x16 = tilemap_create(machine, get_hng64_tile1_16x16_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap1_16x16_alt = tilemap_create(machine, get_hng64_tile1_16x16_info, TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
+ state->m_tilemap1_8x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile1_8x8_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
+ state->m_tilemap1_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile1_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
+ state->m_tilemap1_16x16_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile1_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
- state->m_tilemap2_8x8 = tilemap_create(machine, get_hng64_tile2_8x8_info, TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap2_16x16 = tilemap_create(machine, get_hng64_tile2_16x16_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap2_16x16_alt = tilemap_create(machine, get_hng64_tile2_16x16_info, TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
+ state->m_tilemap2_8x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile2_8x8_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
+ state->m_tilemap2_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile2_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
+ state->m_tilemap2_16x16_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile2_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
- state->m_tilemap3_8x8 = tilemap_create(machine, get_hng64_tile3_8x8_info, TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap3_16x16 = tilemap_create(machine, get_hng64_tile3_16x16_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
- state->m_tilemap3_16x16_alt = tilemap_create(machine, get_hng64_tile3_16x16_info, TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
+ state->m_tilemap3_8x8 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile3_8x8_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 128); /* 128x128x4 = 0x10000 */
+ state->m_tilemap3_16x16 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile3_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128); /* 128x128x4 = 0x10000 */
+ state->m_tilemap3_16x16_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hng64_state::get_hng64_tile3_16x16_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 64); /* 128x128x4 = 0x10000 */
state->m_tilemap0_8x8->set_transparent_pen(0);
state->m_tilemap0_16x16->set_transparent_pen(0);
diff --git a/src/mame/video/holeland.c b/src/mame/video/holeland.c
index cd7eeaac3b8..4e5325a88e3 100644
--- a/src/mame/video/holeland.c
+++ b/src/mame/video/holeland.c
@@ -16,34 +16,32 @@
***************************************************************************/
-static TILE_GET_INFO( holeland_get_tile_info )
+TILE_GET_INFO_MEMBER(holeland_state::holeland_get_tile_info)
{
- holeland_state *state = machine.driver_data<holeland_state>();
- int attr = state->m_colorram[tile_index];
- int tile_number = state->m_videoram[tile_index] | ((attr & 0x03) << 8);
-
-/*if (machine.input().code_pressed(KEYCODE_Q) && (attr & 0x10)) tile_number = rand(); */
-/*if (machine.input().code_pressed(KEYCODE_W) && (attr & 0x20)) tile_number = rand(); */
-/*if (machine.input().code_pressed(KEYCODE_E) && (attr & 0x40)) tile_number = rand(); */
-/*if (machine.input().code_pressed(KEYCODE_R) && (attr & 0x80)) tile_number = rand(); */
- SET_TILE_INFO(
+ int attr = m_colorram[tile_index];
+ int tile_number = m_videoram[tile_index] | ((attr & 0x03) << 8);
+
+/*if (machine().input().code_pressed(KEYCODE_Q) && (attr & 0x10)) tile_number = rand(); */
+/*if (machine().input().code_pressed(KEYCODE_W) && (attr & 0x20)) tile_number = rand(); */
+/*if (machine().input().code_pressed(KEYCODE_E) && (attr & 0x40)) tile_number = rand(); */
+/*if (machine().input().code_pressed(KEYCODE_R) && (attr & 0x80)) tile_number = rand(); */
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
- state->m_palette_offset + ((attr >> 4) & 0x0f),
+ m_palette_offset + ((attr >> 4) & 0x0f),
TILE_FLIPYX((attr >> 2) & 0x03));
tileinfo.group = (attr >> 4) & 1;
}
-static TILE_GET_INFO( crzrally_get_tile_info )
+TILE_GET_INFO_MEMBER(holeland_state::crzrally_get_tile_info)
{
- holeland_state *state = machine.driver_data<holeland_state>();
- int attr = state->m_colorram[tile_index];
- int tile_number = state->m_videoram[tile_index] | ((attr & 0x03) << 8);
+ int attr = m_colorram[tile_index];
+ int tile_number = m_videoram[tile_index] | ((attr & 0x03) << 8);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
- state->m_palette_offset + ((attr >> 4) & 0x0f),
+ m_palette_offset + ((attr >> 4) & 0x0f),
TILE_FLIPYX((attr >> 2) & 0x03));
tileinfo.group = (attr >> 4) & 1;
}
@@ -57,7 +55,7 @@ static TILE_GET_INFO( crzrally_get_tile_info )
VIDEO_START( holeland )
{
holeland_state *state = machine.driver_data<holeland_state>();
- state->m_bg_tilemap = tilemap_create(machine, holeland_get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(holeland_state::holeland_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x01, 0xfe); /* split type 1 has pen 0? transparent in front half */
@@ -66,7 +64,7 @@ VIDEO_START( holeland )
VIDEO_START( crzrally )
{
holeland_state *state = machine.driver_data<holeland_state>();
- state->m_bg_tilemap = tilemap_create(machine, crzrally_get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(holeland_state::crzrally_get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
}
WRITE8_MEMBER(holeland_state::holeland_videoram_w)
diff --git a/src/mame/video/homedata.c b/src/mame/video/homedata.c
index 3b2e1b86b4b..322eb4f2d0f 100644
--- a/src/mame/video/homedata.c
+++ b/src/mame/video/homedata.c
@@ -425,28 +425,24 @@ INLINE void mrokumei_info1( running_machine &machine, tile_data &tileinfo, int t
SET_TILE_INFO( 1, code, color, state->m_flipscreen );
}
-static TILE_GET_INFO( mrokumei_get_info0_0 )
+TILE_GET_INFO_MEMBER(homedata_state::mrokumei_get_info0_0)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- mrokumei_info0( machine, tileinfo, tile_index, 0, state->m_blitter_bank & 0x03 );
+ mrokumei_info0( machine(), tileinfo, tile_index, 0, m_blitter_bank & 0x03 );
}
-static TILE_GET_INFO( mrokumei_get_info1_0 )
+TILE_GET_INFO_MEMBER(homedata_state::mrokumei_get_info1_0)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- mrokumei_info0( machine, tileinfo, tile_index, 1, state->m_blitter_bank & 0x03 );
+ mrokumei_info0( machine(), tileinfo, tile_index, 1, m_blitter_bank & 0x03 );
}
-static TILE_GET_INFO( mrokumei_get_info0_1 )
+TILE_GET_INFO_MEMBER(homedata_state::mrokumei_get_info0_1)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- mrokumei_info1( machine, tileinfo, tile_index, 0, (state->m_blitter_bank & 0x38) >> 3 );
+ mrokumei_info1( machine(), tileinfo, tile_index, 0, (m_blitter_bank & 0x38) >> 3 );
}
-static TILE_GET_INFO( mrokumei_get_info1_1 )
+TILE_GET_INFO_MEMBER(homedata_state::mrokumei_get_info1_1)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- mrokumei_info1( machine, tileinfo, tile_index, 1, (state->m_blitter_bank & 0x38) >> 3 );
+ mrokumei_info1( machine(), tileinfo, tile_index, 1, (m_blitter_bank & 0x38) >> 3 );
}
@@ -472,52 +468,44 @@ INLINE void reikaids_info( running_machine &machine, tile_data &tileinfo, int ti
* xxxx.x--- layer#0
* ----.-xxx layer#2
*/
-static TILE_GET_INFO( reikaids_get_info0_0 )
+TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info0_0)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- reikaids_info(machine, tileinfo, tile_index, 0, 0, (state->m_gfx_bank[1] >> 3));
+ reikaids_info(machine(), tileinfo, tile_index, 0, 0, (m_gfx_bank[1] >> 3));
}
-static TILE_GET_INFO( reikaids_get_info1_0 )
+TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info1_0)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- reikaids_info(machine, tileinfo, tile_index, 1, 0, (state->m_gfx_bank[1] >> 3));
+ reikaids_info(machine(), tileinfo, tile_index, 1, 0, (m_gfx_bank[1] >> 3));
}
-static TILE_GET_INFO( reikaids_get_info0_1 )
+TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info0_1)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- reikaids_info(machine, tileinfo, tile_index, 0, 1, ((state->m_gfx_bank[0] & 0x78) >> 3));
+ reikaids_info(machine(), tileinfo, tile_index, 0, 1, ((m_gfx_bank[0] & 0x78) >> 3));
}
-static TILE_GET_INFO( reikaids_get_info1_1 )
+TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info1_1)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- reikaids_info(machine, tileinfo, tile_index, 1, 1, ((state->m_gfx_bank[0] & 0x78) >> 3));
+ reikaids_info(machine(), tileinfo, tile_index, 1, 1, ((m_gfx_bank[0] & 0x78) >> 3));
}
-static TILE_GET_INFO( reikaids_get_info0_2 )
+TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info0_2)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- reikaids_info(machine, tileinfo, tile_index, 0, 2, (state->m_gfx_bank[1] & 0x7));
+ reikaids_info(machine(), tileinfo, tile_index, 0, 2, (m_gfx_bank[1] & 0x7));
}
-static TILE_GET_INFO( reikaids_get_info1_2 )
+TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info1_2)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- reikaids_info(machine, tileinfo, tile_index, 1, 2, (state->m_gfx_bank[1] & 0x7));
+ reikaids_info(machine(), tileinfo, tile_index, 1, 2, (m_gfx_bank[1] & 0x7));
}
-static TILE_GET_INFO( reikaids_get_info0_3 )
+TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info0_3)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- reikaids_info(machine, tileinfo, tile_index, 0, 3, (state->m_gfx_bank[0] & 0x7));
+ reikaids_info(machine(), tileinfo, tile_index, 0, 3, (m_gfx_bank[0] & 0x7));
}
-static TILE_GET_INFO( reikaids_get_info1_3 )
+TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info1_3)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- reikaids_info(machine, tileinfo, tile_index, 1, 3, (state->m_gfx_bank[0] & 0x7));
+ reikaids_info(machine(), tileinfo, tile_index, 1, 3, (m_gfx_bank[0] & 0x7));
}
@@ -532,28 +520,24 @@ INLINE void pteacher_info( running_machine &machine, tile_data &tileinfo, int ti
SET_TILE_INFO(layer, code, color, state->m_flipscreen);
}
-static TILE_GET_INFO( pteacher_get_info0_0 )
+TILE_GET_INFO_MEMBER(homedata_state::pteacher_get_info0_0)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- pteacher_info(machine, tileinfo, tile_index, 0, 0, state->m_gfx_bank[0] & 0x0f);
+ pteacher_info(machine(), tileinfo, tile_index, 0, 0, m_gfx_bank[0] & 0x0f);
}
-static TILE_GET_INFO( pteacher_get_info1_0 )
+TILE_GET_INFO_MEMBER(homedata_state::pteacher_get_info1_0)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- pteacher_info(machine, tileinfo, tile_index, 1, 0, state->m_gfx_bank[0] & 0x0f);
+ pteacher_info(machine(), tileinfo, tile_index, 1, 0, m_gfx_bank[0] & 0x0f);
}
-static TILE_GET_INFO( pteacher_get_info0_1 )
+TILE_GET_INFO_MEMBER(homedata_state::pteacher_get_info0_1)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- pteacher_info(machine, tileinfo, tile_index, 0, 1, state->m_gfx_bank[0] >> 4);
+ pteacher_info(machine(), tileinfo, tile_index, 0, 1, m_gfx_bank[0] >> 4);
}
-static TILE_GET_INFO( pteacher_get_info1_1 )
+TILE_GET_INFO_MEMBER(homedata_state::pteacher_get_info1_1)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- pteacher_info(machine, tileinfo, tile_index, 1, 1, state->m_gfx_bank[0] >> 4);
+ pteacher_info(machine(), tileinfo, tile_index, 1, 1, m_gfx_bank[0] >> 4);
}
@@ -568,29 +552,25 @@ INLINE void lemnangl_info( running_machine &machine, tile_data &tileinfo, int ti
SET_TILE_INFO(2 * layer + gfxset, code, color, state->m_flipscreen);
}
-static TILE_GET_INFO( lemnangl_get_info0_0 )
+TILE_GET_INFO_MEMBER(homedata_state::lemnangl_get_info0_0)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- lemnangl_info( machine, tileinfo, tile_index, 0, 0, state->m_blitter_bank & 1, state->m_gfx_bank[0] & 0x0f );
+ lemnangl_info( machine(), tileinfo, tile_index, 0, 0, m_blitter_bank & 1, m_gfx_bank[0] & 0x0f );
}
-static TILE_GET_INFO( lemnangl_get_info1_0 )
+TILE_GET_INFO_MEMBER(homedata_state::lemnangl_get_info1_0)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- lemnangl_info( machine, tileinfo, tile_index, 1, 0, state->m_blitter_bank & 1, state->m_gfx_bank[0] & 0x0f );
+ lemnangl_info( machine(), tileinfo, tile_index, 1, 0, m_blitter_bank & 1, m_gfx_bank[0] & 0x0f );
}
-static TILE_GET_INFO( lemnangl_get_info0_1 )
+TILE_GET_INFO_MEMBER(homedata_state::lemnangl_get_info0_1)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- lemnangl_info( machine, tileinfo, tile_index, 0, 1, (state->m_blitter_bank & 2) >> 1, state->m_gfx_bank[0] >> 4 );
+ lemnangl_info( machine(), tileinfo, tile_index, 0, 1, (m_blitter_bank & 2) >> 1, m_gfx_bank[0] >> 4 );
}
-static TILE_GET_INFO( lemnangl_get_info1_1 )
+TILE_GET_INFO_MEMBER(homedata_state::lemnangl_get_info1_1)
{
- homedata_state *state = machine.driver_data<homedata_state>();
- lemnangl_info( machine, tileinfo, tile_index, 1, 1, (state->m_blitter_bank & 2) >> 1, state->m_gfx_bank[0] >> 4 );
+ lemnangl_info( machine(), tileinfo, tile_index, 1, 1, (m_blitter_bank & 2) >> 1, m_gfx_bank[0] >> 4 );
}
@@ -615,28 +595,24 @@ INLINE void mirderby_info1( running_machine &machine, tile_data &tileinfo, int t
SET_TILE_INFO( 1, code, color, state->m_flipscreen );
}
-static TILE_GET_INFO( mirderby_get_info0_0 )
+TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info0_0)
{
-// homedata_state *state = machine.driver_data<homedata_state>();
- mirderby_info0( machine, tileinfo, tile_index, 0, 0);// state->m_blitter_bank & 0x03 );
+ mirderby_info0( machine(), tileinfo, tile_index, 0, 0);// m_blitter_bank & 0x03 );
}
-static TILE_GET_INFO( mirderby_get_info1_0 )
+TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info1_0)
{
-// homedata_state *state = machine.driver_data<homedata_state>();
- mirderby_info0( machine, tileinfo, tile_index, 1, 0);// state->m_blitter_bank & 0x03 );
+ mirderby_info0( machine(), tileinfo, tile_index, 1, 0);// m_blitter_bank & 0x03 );
}
-static TILE_GET_INFO( mirderby_get_info0_1 )
+TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info0_1)
{
-// homedata_state *state = machine.driver_data<homedata_state>();
- mirderby_info1( machine, tileinfo, tile_index, 0, 0);//(state->m_blitter_bank & 0x38) >> 3 );
+ mirderby_info1( machine(), tileinfo, tile_index, 0, 0);//(m_blitter_bank & 0x38) >> 3 );
}
-static TILE_GET_INFO( mirderby_get_info1_1 )
+TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info1_1)
{
-// homedata_state *state = machine.driver_data<homedata_state>();
- mirderby_info1( machine, tileinfo, tile_index, 1, 0);//(state->m_blitter_bank & 0x38) >> 3 );
+ mirderby_info1( machine(), tileinfo, tile_index, 1, 0);//(m_blitter_bank & 0x38) >> 3 );
}
@@ -650,10 +626,10 @@ static TILE_GET_INFO( mirderby_get_info1_1 )
VIDEO_START( mrokumei )
{
homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = tilemap_create( machine, mrokumei_get_info0_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[0][1] = tilemap_create( machine, mrokumei_get_info0_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[1][0] = tilemap_create( machine, mrokumei_get_info1_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[1][1] = tilemap_create( machine, mrokumei_get_info1_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
state->m_bg_tilemap[0][1]->set_transparent_pen(0);
state->m_bg_tilemap[1][1]->set_transparent_pen(0);
@@ -662,14 +638,14 @@ VIDEO_START( mrokumei )
VIDEO_START( reikaids )
{
homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = tilemap_create(machine, reikaids_get_info0_0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[0][1] = tilemap_create(machine, reikaids_get_info0_1, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[0][2] = tilemap_create(machine, reikaids_get_info0_2, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[0][3] = tilemap_create(machine, reikaids_get_info0_3, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1][0] = tilemap_create(machine, reikaids_get_info1_0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1][1] = tilemap_create(machine, reikaids_get_info1_1, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1][2] = tilemap_create(machine, reikaids_get_info1_2, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap[1][3] = tilemap_create(machine, reikaids_get_info1_3, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_2),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[0][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_3),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_2),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap[1][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info1_3),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap[0][0]->set_transparent_pen(0xff);
state->m_bg_tilemap[0][1]->set_transparent_pen(0xff);
@@ -684,10 +660,10 @@ VIDEO_START( reikaids )
VIDEO_START( pteacher )
{
homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = tilemap_create(machine, pteacher_get_info0_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[0][1] = tilemap_create(machine, pteacher_get_info0_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1][0] = tilemap_create(machine, pteacher_get_info1_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1][1] = tilemap_create(machine, pteacher_get_info1_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap[0][1]->set_transparent_pen(0xff);
state->m_bg_tilemap[1][1]->set_transparent_pen(0xff);
@@ -696,10 +672,10 @@ VIDEO_START( pteacher )
VIDEO_START( lemnangl )
{
homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = tilemap_create(machine, lemnangl_get_info0_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[0][1] = tilemap_create(machine, lemnangl_get_info0_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1][0] = tilemap_create(machine, lemnangl_get_info1_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1][1] = tilemap_create(machine, lemnangl_get_info1_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap[0][1]->set_transparent_pen(0x0f);
state->m_bg_tilemap[1][1]->set_transparent_pen(0x0f);
@@ -708,10 +684,10 @@ VIDEO_START( lemnangl )
VIDEO_START( mirderby )
{
homedata_state *state = machine.driver_data<homedata_state>();
- state->m_bg_tilemap[0][0] = tilemap_create( machine, mirderby_get_info0_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[0][1] = tilemap_create( machine, mirderby_get_info0_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[1][0] = tilemap_create( machine, mirderby_get_info1_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
- state->m_bg_tilemap[1][1] = tilemap_create( machine, mirderby_get_info1_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ state->m_bg_tilemap[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info0_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ state->m_bg_tilemap[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info0_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ state->m_bg_tilemap[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info1_0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
+ state->m_bg_tilemap[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info1_1),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
state->m_bg_tilemap[0][1]->set_transparent_pen(0);
state->m_bg_tilemap[1][1]->set_transparent_pen(0);
diff --git a/src/mame/video/homerun.c b/src/mame/video/homerun.c
index 87bbcc7af07..4283a562107 100644
--- a/src/mame/video/homerun.c
+++ b/src/mame/video/homerun.c
@@ -43,19 +43,18 @@ WRITE8_MEMBER(homerun_state::homerun_color_w)
palette_set_color(machine(), offset, MAKE_RGB(r,g,b));
}
-static TILE_GET_INFO( get_homerun_tile_info )
+TILE_GET_INFO_MEMBER(homerun_state::get_homerun_tile_info)
{
- homerun_state *state = machine.driver_data<homerun_state>();
- int tileno = (state->m_videoram[tile_index]) + ((state->m_videoram[tile_index + 0x1000] & 0x38) << 5) + ((state->m_gfx_ctrl & 1) << 11);
- int palno = (state->m_videoram[tile_index + 0x1000] & 0x07);
+ 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(0, tileno, palno, 0);
+ SET_TILE_INFO_MEMBER(0, tileno, palno, 0);
}
VIDEO_START( homerun )
{
homerun_state *state = machine.driver_data<homerun_state>();
- state->m_tilemap = tilemap_create(machine, get_homerun_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(homerun_state::get_homerun_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/hyperspt.c b/src/mame/video/hyperspt.c
index 123b51bd191..54c6c34b640 100644
--- a/src/mame/video/hyperspt.c
+++ b/src/mame/video/hyperspt.c
@@ -111,21 +111,20 @@ WRITE8_MEMBER(hyperspt_state::hyperspt_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(hyperspt_state::get_bg_tile_info)
{
- hyperspt_state *state = machine.driver_data<hyperspt_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x80) << 1) + ((state->m_colorram[tile_index] & 0x40) << 3);
- int color = state->m_colorram[tile_index] & 0x0f;
- int flags = ((state->m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1) + ((m_colorram[tile_index] & 0x40) << 3);
+ 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(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
VIDEO_START( hyperspt )
{
hyperspt_state *state = machine.driver_data<hyperspt_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyperspt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_scroll_rows(32);
}
@@ -191,20 +190,19 @@ SCREEN_UPDATE_IND16( hyperspt )
}
/* Road Fighter */
-static TILE_GET_INFO( roadf_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(hyperspt_state::roadf_get_bg_tile_info)
{
- hyperspt_state *state = machine.driver_data<hyperspt_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x80) << 1) + ((state->m_colorram[tile_index] & 0x60) << 4);
- int color = state->m_colorram[tile_index] & 0x0f;
- int flags = (state->m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0;
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1) + ((m_colorram[tile_index] & 0x60) << 4);
+ int color = m_colorram[tile_index] & 0x0f;
+ int flags = (m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
VIDEO_START( roadf )
{
hyperspt_state *state = machine.driver_data<hyperspt_state>();
- state->m_bg_tilemap = tilemap_create(machine, roadf_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyperspt_state::roadf_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_scroll_rows(32);
}
diff --git a/src/mame/video/hyprduel.c b/src/mame/video/hyprduel.c
index 6f84195ab83..27109f42bfb 100644
--- a/src/mame/video/hyprduel.c
+++ b/src/mame/video/hyprduel.c
@@ -256,22 +256,19 @@ INLINE void hyprduel_vram_w( running_machine &machine, offs_t offset, UINT16 dat
-static TILE_GET_INFO( get_tile_info_0_8bit )
+TILE_GET_INFO_MEMBER(hyprduel_state::get_tile_info_0_8bit)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- get_tile_info_8bit(machine, tileinfo, tile_index, 0, state->m_vram_0);
+ get_tile_info_8bit(machine(), tileinfo, tile_index, 0, m_vram_0);
}
-static TILE_GET_INFO( get_tile_info_1_8bit )
+TILE_GET_INFO_MEMBER(hyprduel_state::get_tile_info_1_8bit)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- get_tile_info_8bit(machine, tileinfo, tile_index, 1, state->m_vram_1);
+ get_tile_info_8bit(machine(), tileinfo, tile_index, 1, m_vram_1);
}
-static TILE_GET_INFO( get_tile_info_2_8bit )
+TILE_GET_INFO_MEMBER(hyprduel_state::get_tile_info_2_8bit)
{
- hyprduel_state *state = machine.driver_data<hyprduel_state>();
- get_tile_info_8bit(machine, tileinfo, tile_index, 2, state->m_vram_2);
+ get_tile_info_8bit(machine(), tileinfo, tile_index, 2, m_vram_2);
}
WRITE16_MEMBER(hyprduel_state::hyprduel_vram_0_w)
@@ -370,9 +367,9 @@ static VIDEO_START( common_14220 )
state->save_pointer(NAME(state->m_tiletable_old), state->m_tiletable.bytes() / 2);
state->save_pointer(NAME(state->m_dirtyindex), state->m_tiletable.bytes() / 4);
- state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info_0_8bit, TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
- state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info_1_8bit, TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
- state->m_bg_tilemap[2] = tilemap_create(machine, get_tile_info_2_8bit, TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyprduel_state::get_tile_info_0_8bit),state), TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyprduel_state::get_tile_info_1_8bit),state), TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
+ state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hyprduel_state::get_tile_info_2_8bit),state), TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
state->m_bg_tilemap[0]->map_pen_to_layer(0, 15, TILEMAP_PIXEL_TRANSPARENT);
state->m_bg_tilemap[0]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
diff --git a/src/mame/video/inufuku.c b/src/mame/video/inufuku.c
index 2833836634d..12c5014b7f4 100644
--- a/src/mame/video/inufuku.c
+++ b/src/mame/video/inufuku.c
@@ -161,23 +161,21 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
******************************************************************************/
-static TILE_GET_INFO( get_inufuku_bg_tile_info )
+TILE_GET_INFO_MEMBER(inufuku_state::get_inufuku_bg_tile_info)
{
- inufuku_state *state = machine.driver_data<inufuku_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_bg_videoram[tile_index],
- state->m_bg_palettebank,
+ m_bg_videoram[tile_index],
+ m_bg_palettebank,
0);
}
-static TILE_GET_INFO( get_inufuku_tx_tile_info )
+TILE_GET_INFO_MEMBER(inufuku_state::get_inufuku_tx_tile_info)
{
- inufuku_state *state = machine.driver_data<inufuku_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- state->m_tx_videoram[tile_index],
- state->m_tx_palettebank,
+ m_tx_videoram[tile_index],
+ m_tx_palettebank,
0);
}
@@ -214,8 +212,8 @@ VIDEO_START( inufuku )
{
inufuku_state *state = machine.driver_data<inufuku_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_inufuku_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_tx_tilemap = tilemap_create(machine, get_inufuku_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(inufuku_state::get_inufuku_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(inufuku_state::get_inufuku_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_bg_tilemap->set_transparent_pen(255);
state->m_tx_tilemap->set_transparent_pen(255);
diff --git a/src/mame/video/iqblock.c b/src/mame/video/iqblock.c
index 6ee36a4d563..3a5853c181c 100644
--- a/src/mame/video/iqblock.c
+++ b/src/mame/video/iqblock.c
@@ -8,22 +8,20 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(iqblock_state::get_bg_tile_info)
{
- iqblock_state *state = machine.driver_data<iqblock_state>();
- int code = state->m_bgvideoram[tile_index] + (state->m_bgvideoram[tile_index + 0x800] << 8);
- SET_TILE_INFO(
+ int code = m_bgvideoram[tile_index] + (m_bgvideoram[tile_index + 0x800] << 8);
+ SET_TILE_INFO_MEMBER(
0,
- code &(state->m_video_type ? 0x1fff : 0x3fff),
- state->m_video_type? (2*(code >> 13)+1) : (4*(code >> 14)+3),
+ code &(m_video_type ? 0x1fff : 0x3fff),
+ m_video_type? (2*(code >> 13)+1) : (4*(code >> 14)+3),
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(iqblock_state::get_fg_tile_info)
{
- iqblock_state *state = machine.driver_data<iqblock_state>();
- int code = state->m_fgvideoram[tile_index];
- SET_TILE_INFO(
+ int code = m_fgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
code & 0x7f,
(code & 0x80) ? 3 : 0,
@@ -41,8 +39,8 @@ static TILE_GET_INFO( get_fg_tile_info )
VIDEO_START( iqblock )
{
iqblock_state *state = machine.driver_data<iqblock_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,32,64, 8);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(iqblock_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(iqblock_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,32,64, 8);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_scroll_cols(64);
diff --git a/src/mame/video/ironhors.c b/src/mame/video/ironhors.c
index 01a8e9a6f99..034511dfa77 100644
--- a/src/mame/video/ironhors.c
+++ b/src/mame/video/ironhors.c
@@ -132,22 +132,21 @@ WRITE8_MEMBER(ironhors_state::ironhors_flipscreen_w)
/* other bits are used too, but unknown */
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ironhors_state::get_bg_tile_info)
{
- ironhors_state *state = machine.driver_data<ironhors_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x40) << 2) +
- ((state->m_colorram[tile_index] & 0x20) << 4) + (state->m_charbank << 10);
- int color = (state->m_colorram[tile_index] & 0x0f) + 16 * state->m_palettebank;
- int flags = ((state->m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) |
- ((state->m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x40) << 2) +
+ ((m_colorram[tile_index] & 0x20) << 4) + (m_charbank << 10);
+ int color = (m_colorram[tile_index] & 0x0f) + 16 * m_palettebank;
+ int flags = ((m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) |
+ ((m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( ironhors )
{
ironhors_state *state = machine.driver_data<ironhors_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ironhors_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_rows(32);
}
@@ -249,21 +248,20 @@ SCREEN_UPDATE_IND16( ironhors )
return 0;
}
-static TILE_GET_INFO( farwest_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ironhors_state::farwest_get_bg_tile_info)
{
- ironhors_state *state = machine.driver_data<ironhors_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x40) << 2) +
- ((state->m_colorram[tile_index] & 0x20) << 4) + (state->m_charbank << 10);
- int color = (state->m_colorram[tile_index] & 0x0f) + 16 * state->m_palettebank;
- int flags = 0;//((state->m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x40) << 2) +
+ ((m_colorram[tile_index] & 0x20) << 4) + (m_charbank << 10);
+ 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(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( farwest )
{
ironhors_state *state = machine.driver_data<ironhors_state>();
- state->m_bg_tilemap = tilemap_create(machine, farwest_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ironhors_state::farwest_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_rows(32);
}
diff --git a/src/mame/video/jack.c b/src/mame/video/jack.c
index e020541c79d..f247a114dbb 100644
--- a/src/mame/video/jack.c
+++ b/src/mame/video/jack.c
@@ -39,18 +39,17 @@ WRITE8_MEMBER(jack_state::jack_flipscreen_w)
flip_screen_set(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(jack_state::get_bg_tile_info)
{
- jack_state *state = machine.driver_data<jack_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x18) << 5);
- int color = state->m_colorram[tile_index] & 0x07;
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x18) << 5);
+ int color = m_colorram[tile_index] & 0x07;
- // striv: state->m_colorram[tile_index] & 0x80 ???
+ // striv: m_colorram[tile_index] & 0x80 ???
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILEMAP_MAPPER( tilemap_scan_cols_flipy )
+TILEMAP_MAPPER_MEMBER(jack_state::tilemap_scan_cols_flipy)
{
/* logical (col,row) -> memory offset */
return (col * num_rows) + (num_rows - 1 - row);
@@ -59,7 +58,7 @@ static TILEMAP_MAPPER( tilemap_scan_cols_flipy )
VIDEO_START( jack )
{
jack_state *state = machine.driver_data<jack_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_cols_flipy, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jack_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(jack_state::tilemap_scan_cols_flipy),state), 8, 8, 32, 32);
}
static void jack_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -133,19 +132,18 @@ PALETTE_INIT( joinem )
}
}
-static TILE_GET_INFO( joinem_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(jack_state::joinem_get_bg_tile_info)
{
- jack_state *state = machine.driver_data<jack_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x03) << 8);
- int color = (state->m_colorram[tile_index] & 0x38) >> 3;
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x03) << 8);
+ int color = (m_colorram[tile_index] & 0x38) >> 3;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( joinem )
{
jack_state *state = machine.driver_data<jack_state>();
- state->m_bg_tilemap = tilemap_create(machine, joinem_get_bg_tile_info, tilemap_scan_cols_flipy, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jack_state::joinem_get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(jack_state::tilemap_scan_cols_flipy),state), 8, 8, 32, 32);
}
static void joinem_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/jackal.c b/src/mame/video/jackal.c
index d3766d76ad3..405c1e6af42 100644
--- a/src/mame/video/jackal.c
+++ b/src/mame/video/jackal.c
@@ -62,22 +62,22 @@ void jackal_mark_tile_dirty( running_machine &machine, int offset )
state->m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(jackal_state::get_bg_tile_info)
{
- UINT8 *RAM = machine.root_device().memregion("master")->base();
+ UINT8 *RAM = machine().root_device().memregion("master")->base();
int attr = RAM[0x2000 + tile_index];
int code = RAM[0x2400 + tile_index] + ((attr & 0xc0) << 2) + ((attr & 0x30) << 6);
int color = 0;//attr & 0x0f;
int flags = ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( jackal )
{
jackal_state *state = machine.driver_data<jackal_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackal_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_background( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/jailbrek.c b/src/mame/video/jailbrek.c
index 183c91162a3..8de8189c7f7 100644
--- a/src/mame/video/jailbrek.c
+++ b/src/mame/video/jailbrek.c
@@ -47,20 +47,19 @@ WRITE8_MEMBER(jailbrek_state::jailbrek_colorram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(jailbrek_state::get_bg_tile_info)
{
- jailbrek_state *state = machine.driver_data<jailbrek_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0xc0) << 2);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x0f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( jailbrek )
{
jailbrek_state *state = machine.driver_data<jailbrek_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jailbrek_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_scrolldx(0, 396 - 256);
}
diff --git a/src/mame/video/karnov.c b/src/mame/video/karnov.c
index 3ad4760c7b8..b00d77af223 100644
--- a/src/mame/video/karnov.c
+++ b/src/mame/video/karnov.c
@@ -135,11 +135,10 @@ SCREEN_UPDATE_IND16( karnov )
/******************************************************************************/
-static TILE_GET_INFO( get_fix_tile_info )
+TILE_GET_INFO_MEMBER(karnov_state::get_fix_tile_info)
{
- karnov_state *state = machine.driver_data<karnov_state>();
- int tile = state->m_videoram[tile_index];
- SET_TILE_INFO(
+ int tile = m_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
tile&0xfff,
tile>>14,
@@ -166,7 +165,7 @@ VIDEO_START( karnov )
/* Allocate bitmap & tilemap */
state->m_bitmap_f = auto_bitmap_ind16_alloc(machine, 512, 512);
- state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(karnov_state::get_fix_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->save_item(NAME(*state->m_bitmap_f));
@@ -179,7 +178,7 @@ VIDEO_START( wndrplnt )
/* Allocate bitmap & tilemap */
state->m_bitmap_f = auto_bitmap_ind16_alloc(machine, 512, 512);
- state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(karnov_state::get_fix_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->save_item(NAME(*state->m_bitmap_f));
diff --git a/src/mame/video/kchamp.c b/src/mame/video/kchamp.c
index 99533522d6e..bb54b1239e1 100644
--- a/src/mame/video/kchamp.c
+++ b/src/mame/video/kchamp.c
@@ -42,19 +42,18 @@ WRITE8_MEMBER(kchamp_state::kchamp_flipscreen_w)
flip_screen_set(data & 0x01);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(kchamp_state::get_bg_tile_info)
{
- kchamp_state *state = machine.driver_data<kchamp_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 7) << 8);
- int color = (state->m_colorram[tile_index] >> 3) & 0x1f;
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 7) << 8);
+ int color = (m_colorram[tile_index] >> 3) & 0x1f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( kchamp )
{
kchamp_state *state = machine.driver_data<kchamp_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kchamp_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
/*
diff --git a/src/mame/video/kickgoal.c b/src/mame/video/kickgoal.c
index 9347e014b2b..c81790b90f2 100644
--- a/src/mame/video/kickgoal.c
+++ b/src/mame/video/kickgoal.c
@@ -23,61 +23,58 @@ WRITE16_MEMBER(kickgoal_state::kickgoal_bg2ram_w)
}
/* FG */
-static TILE_GET_INFO( get_kickgoal_fg_tile_info )
+TILE_GET_INFO_MEMBER(kickgoal_state::get_kickgoal_fg_tile_info)
{
- kickgoal_state *state = machine.driver_data<kickgoal_state>();
- int tileno = state->m_fgram[tile_index * 2] & 0x0fff;
- int color = state->m_fgram[tile_index * 2 + 1] & 0x000f;
+ int tileno = m_fgram[tile_index * 2] & 0x0fff;
+ int color = m_fgram[tile_index * 2 + 1] & 0x000f;
- SET_TILE_INFO(0, tileno + state->m_fg_base, color + 0x00, 0);
+ SET_TILE_INFO_MEMBER(0, tileno + m_fg_base, color + 0x00, 0);
}
/* BG */
-static TILE_GET_INFO( get_kickgoal_bg_tile_info )
+TILE_GET_INFO_MEMBER(kickgoal_state::get_kickgoal_bg_tile_info)
{
- kickgoal_state *state = machine.driver_data<kickgoal_state>();
- int tileno = state->m_bgram[tile_index * 2] & state->m_bg_mask;
- int color = state->m_bgram[tile_index * 2 + 1] & 0x000f;
- int flipx = state->m_bgram[tile_index * 2 + 1] & 0x0020;
- int flipy = state->m_bgram[tile_index * 2 + 1] & 0x0040;
+ int tileno = m_bgram[tile_index * 2] & m_bg_mask;
+ int color = m_bgram[tile_index * 2 + 1] & 0x000f;
+ int flipx = m_bgram[tile_index * 2 + 1] & 0x0020;
+ int flipy = m_bgram[tile_index * 2 + 1] & 0x0040;
- SET_TILE_INFO(1, tileno + state->m_bg_base, color + 0x10, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
+ SET_TILE_INFO_MEMBER(1, tileno + m_bg_base, color + 0x10, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
}
/* BG 2 */
-static TILE_GET_INFO( get_kickgoal_bg2_tile_info )
+TILE_GET_INFO_MEMBER(kickgoal_state::get_kickgoal_bg2_tile_info)
{
- kickgoal_state *state = machine.driver_data<kickgoal_state>();
- int tileno = state->m_bg2ram[tile_index * 2] & state->m_bg2_mask;
- int color = state->m_bg2ram[tile_index * 2 + 1] & 0x000f;
- int flipx = state->m_bg2ram[tile_index * 2 + 1] & 0x0020;
- int flipy = state->m_bg2ram[tile_index * 2 + 1] & 0x0040;
+ int tileno = m_bg2ram[tile_index * 2] & m_bg2_mask;
+ int color = m_bg2ram[tile_index * 2 + 1] & 0x000f;
+ int flipx = m_bg2ram[tile_index * 2 + 1] & 0x0020;
+ int flipy = m_bg2ram[tile_index * 2 + 1] & 0x0040;
- SET_TILE_INFO(state->m_bg2_region, tileno + state->m_bg2_base, color + 0x20, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
+ SET_TILE_INFO_MEMBER(m_bg2_region, tileno + m_bg2_base, color + 0x20, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
}
-static TILEMAP_MAPPER( tilemap_scan_kicksfg )
+TILEMAP_MAPPER_MEMBER(kickgoal_state::tilemap_scan_kicksfg)
{
/* logical (col,row) -> memory offset */
return col * 32 + (row & 0x1f) + ((row & 0x20) >> 5) * 0x800;
}
-static TILEMAP_MAPPER( tilemap_scan_kicksbg )
+TILEMAP_MAPPER_MEMBER(kickgoal_state::tilemap_scan_kicksbg)
{
/* logical (col,row) -> memory offset */
return col * 16 + (row & 0xf) + ((row & 0x70) >> 4) * 0x400;
}
-static TILEMAP_MAPPER( tilemap_scan_kicksbg2 ) // 16x16 tiles
+TILEMAP_MAPPER_MEMBER(kickgoal_state::tilemap_scan_kicksbg2)// 16x16 tiles
{
/* logical (col,row) -> memory offset */
return col * 8 + (row & 0x7) + ((row & 0x3c) >> 3) * 0x200;
}
-static TILEMAP_MAPPER( tilemap_scan_actionhwbg2 ) // 32x32 tiles
+TILEMAP_MAPPER_MEMBER(kickgoal_state::tilemap_scan_actionhwbg2)// 32x32 tiles
{
/* logical (col,row) -> memory offset */
return col * 16 + (row & 0xf) + ((row & 0x70) >> 4) * 0x400;
@@ -133,9 +130,9 @@ VIDEO_START( kickgoal )
state->m_bg2_base = 0x2000 / 4;
state->m_bg2_mask = (0x2000/4) - 1;
- state->m_fgtm = tilemap_create(machine, get_kickgoal_fg_tile_info, tilemap_scan_kicksfg, 8, 8, 64, 64);
- state->m_bgtm = tilemap_create(machine, get_kickgoal_bg_tile_info, tilemap_scan_kicksbg, 16, 16, 64, 64);
- state->m_bg2tm = tilemap_create(machine, get_kickgoal_bg2_tile_info, tilemap_scan_kicksbg2, 32, 32, 64, 64);
+ state->m_fgtm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_fg_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksfg),state), 8, 8, 64, 64);
+ state->m_bgtm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksbg),state), 16, 16, 64, 64);
+ state->m_bg2tm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksbg2),state), 32, 32, 64, 64);
state->m_fgtm->set_transparent_pen(15);
state->m_bgtm->set_transparent_pen(15);
@@ -155,9 +152,9 @@ VIDEO_START( actionhw )
state->m_bg2_base = 0x2000;
state->m_bg2_mask = 0x2000 - 1;
- state->m_fgtm = tilemap_create(machine, get_kickgoal_fg_tile_info, tilemap_scan_kicksfg, 8, 8, 64, 64);
- state->m_bgtm = tilemap_create(machine, get_kickgoal_bg_tile_info, tilemap_scan_kicksbg, 16, 16, 64, 64);
- state->m_bg2tm = tilemap_create(machine, get_kickgoal_bg2_tile_info, tilemap_scan_actionhwbg2, 16, 16, 64, 64);
+ state->m_fgtm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_fg_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksfg),state), 8, 8, 64, 64);
+ state->m_bgtm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_kicksbg),state), 16, 16, 64, 64);
+ state->m_bg2tm = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kickgoal_state::get_kickgoal_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(kickgoal_state::tilemap_scan_actionhwbg2),state), 16, 16, 64, 64);
state->m_fgtm->set_transparent_pen(15);
state->m_bgtm->set_transparent_pen(15);
diff --git a/src/mame/video/kingobox.c b/src/mame/video/kingobox.c
index 15dfa320ea6..04229a5fb57 100644
--- a/src/mame/video/kingobox.c
+++ b/src/mame/video/kingobox.c
@@ -174,33 +174,31 @@ WRITE8_MEMBER(kingofb_state::kingofb_f800_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(kingofb_state::get_bg_tile_info)
{
- kingofb_state *state = machine.driver_data<kingofb_state>();
- int attr = state->m_colorram[tile_index];
+ int attr = m_colorram[tile_index];
int bank = ((attr & 0x04) >> 2) + 2;
- int code = (tile_index / 16) ? state->m_videoram[tile_index] + ((attr & 0x03) << 8) : 0;
- int color = ((attr & 0x70) >> 4) + 8 * state->m_palette_bank;
+ 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(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(kingofb_state::get_fg_tile_info)
{
- kingofb_state *state = machine.driver_data<kingofb_state>();
- int attr = state->m_colorram2[tile_index];
+ int attr = m_colorram2[tile_index];
int bank = (attr & 0x02) >> 1;
- int code = state->m_videoram2[tile_index] + ((attr & 0x01) << 8);
+ int code = m_videoram2[tile_index] + ((attr & 0x01) << 8);
int color = (attr & 0x38) >> 3;
- SET_TILE_INFO(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
VIDEO_START( kingofb )
{
kingofb_state *state = machine.driver_data<kingofb_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
}
@@ -256,20 +254,19 @@ SCREEN_UPDATE_IND16( kingofb )
/* Ring King */
-static TILE_GET_INFO( ringking_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(kingofb_state::ringking_get_bg_tile_info)
{
- kingofb_state *state = machine.driver_data<kingofb_state>();
- int code = (tile_index / 16) ? state->m_videoram[tile_index] : 0;
- int color = ((state->m_colorram[tile_index] & 0x70) >> 4) + 8 * state->m_palette_bank;
+ 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(4, code, color, 0);
+ SET_TILE_INFO_MEMBER(4, code, color, 0);
}
VIDEO_START( ringking )
{
kingofb_state *state = machine.driver_data<kingofb_state>();
- state->m_bg_tilemap = tilemap_create(machine, ringking_get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::ringking_get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingofb_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/klax.c b/src/mame/video/klax.c
index 970c3fff59c..81d771c6f84 100644
--- a/src/mame/video/klax.c
+++ b/src/mame/video/klax.c
@@ -16,14 +16,13 @@
*
*************************************/
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(klax_state::get_playfield_tile_info)
{
- klax_state *state = machine.driver_data<klax_state>();
- UINT16 data1 = state->m_playfield[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
+ UINT16 data1 = m_playfield[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] >> 8;
int code = data1 & 0x1fff;
int color = data2 & 0x0f;
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
}
@@ -75,7 +74,7 @@ VIDEO_START( klax )
klax_state *state = machine.driver_data<klax_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,32);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(klax_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,32);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
diff --git a/src/mame/video/kncljoe.c b/src/mame/video/kncljoe.c
index d6db8fe4022..e4c073f81b0 100644
--- a/src/mame/video/kncljoe.c
+++ b/src/mame/video/kncljoe.c
@@ -81,13 +81,12 @@ PALETTE_INIT( kncljoe )
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(kncljoe_state::get_bg_tile_info)
{
- kncljoe_state *state = machine.driver_data<kncljoe_state>();
- int attr = state->m_videoram[2 * tile_index + 1];
- int code = state->m_videoram[2 * tile_index] + ((attr & 0xc0) << 2) + (state->m_tile_bank << 10);
+ 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(
+ SET_TILE_INFO_MEMBER(
0,
code,
attr & 0xf,
@@ -105,7 +104,7 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( kncljoe )
{
kncljoe_state *state = machine.driver_data<kncljoe_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kncljoe_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_scroll_rows(4);
}
diff --git a/src/mame/video/konamigx.c b/src/mame/video/konamigx.c
index c1469954ceb..09c3bb82b18 100644
--- a/src/mame/video/konamigx.c
+++ b/src/mame/video/konamigx.c
@@ -1812,7 +1812,7 @@ void konamigx_mixer(running_machine &machine, bitmap_rgb32 &bitmap, const rectan
/* Run and Gun 2 / Rushing Heroes */
-static TILE_GET_INFO( get_gx_psac_tile_info )
+TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac_tile_info)
{
int tileno, colour, col, flip = 0;
if (tile_index&1)
@@ -1834,7 +1834,7 @@ static TILE_GET_INFO( get_gx_psac_tile_info )
colour = (psac_colorbase << 4) + col;
- SET_TILE_INFO(0, tileno, colour, TILE_FLIPYX(flip));
+ SET_TILE_INFO_MEMBER(0, tileno, colour, TILE_FLIPYX(flip));
}
UINT32* konamigx_type3_psac2_bank;
@@ -1860,10 +1860,10 @@ WRITE32_MEMBER(konamigx_state::konamigx_type3_psac2_bank_w)
/* Soccer Superstars (tile and flip bits now TRUSTED) */
- static TILE_GET_INFO( get_gx_psac3_tile_info )
+TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac3_tile_info)
{
int tileno, colour, flip;
- UINT8 *tmap = machine.root_device().memregion("gfx4")->base();
+ UINT8 *tmap = machine().root_device().memregion("gfx4")->base();
int base_index = tile_index;
@@ -1878,13 +1878,13 @@ WRITE32_MEMBER(konamigx_state::konamigx_type3_psac2_bank_w)
if (tmap[(base_index*2)+1] & 0x20) flip |= TILE_FLIPY;
if (tmap[(base_index*2)+1] & 0x10) flip |= TILE_FLIPX;
- SET_TILE_INFO(0, tileno, colour, flip);
+ SET_TILE_INFO_MEMBER(0, tileno, colour, flip);
}
- static TILE_GET_INFO( get_gx_psac3_alt_tile_info )
+TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac3_alt_tile_info)
{
int tileno, colour, flip;
- UINT8 *tmap = machine.root_device().memregion("gfx4")->base()+0x20000;
+ UINT8 *tmap = machine().root_device().memregion("gfx4")->base()+0x20000;
int base_index = tile_index;
@@ -1899,14 +1899,14 @@ WRITE32_MEMBER(konamigx_state::konamigx_type3_psac2_bank_w)
if (tmap[(base_index*2)+1] & 0x20) flip |= TILE_FLIPY;
if (tmap[(base_index*2)+1] & 0x10) flip |= TILE_FLIPX;
- SET_TILE_INFO(0, tileno, colour, flip);
+ SET_TILE_INFO_MEMBER(0, tileno, colour, flip);
}
/* PSAC4 */
/* these tilemaps are weird in both format and content, one of them
doesn't really look like it should be displayed? - it's height data */
-static TILE_GET_INFO( get_gx_psac1a_tile_info )
+TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac1a_tile_info)
{
int tileno, colour, flipx,flipy;
int flip;
@@ -1925,10 +1925,10 @@ static TILE_GET_INFO( get_gx_psac1a_tile_info )
if (flipx) flip |= TILE_FLIPX;
if (flipy) flip |= TILE_FLIPY;
- SET_TILE_INFO(1, tileno, colour, flip);
+ SET_TILE_INFO_MEMBER(1, tileno, colour, flip);
}
-static TILE_GET_INFO( get_gx_psac1b_tile_info )
+TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac1b_tile_info)
{
int tileno, colour, flipx,flipy;
int flip;
@@ -1947,7 +1947,7 @@ static TILE_GET_INFO( get_gx_psac1b_tile_info )
if (flipx) flip |= TILE_FLIPX;
if (flipy) flip |= TILE_FLIPY;
- SET_TILE_INFO(0, tileno, colour, flip);
+ SET_TILE_INFO_MEMBER(0, tileno, colour, flip);
}
static void konamigx_type2_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags)
@@ -2144,6 +2144,7 @@ VIDEO_START(konamigx_6bpp)
VIDEO_START(konamigx_type3)
{
+ konamigx_state *state = machine.driver_data<konamigx_state>();
int width = machine.primary_screen->width();
int height = machine.primary_screen->height();
@@ -2155,8 +2156,8 @@ VIDEO_START(konamigx_type3)
_gxcommoninitnosprites(machine);
- gx_psac_tilemap = tilemap_create(machine, get_gx_psac3_tile_info, TILEMAP_SCAN_COLS, 16, 16, 256, 256);
- gx_psac_tilemap_alt = tilemap_create(machine, get_gx_psac3_alt_tile_info, TILEMAP_SCAN_COLS, 16, 16, 256, 256);
+ gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac3_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 256, 256);
+ gx_psac_tilemap_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac3_alt_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 256, 256);
gx_rozenable = 0;
gx_specialrozenable = 2;
@@ -2183,6 +2184,7 @@ VIDEO_START(konamigx_type3)
VIDEO_START(konamigx_type4)
{
+ konamigx_state *state = machine.driver_data<konamigx_state>();
int width = machine.primary_screen->width();
int height = machine.primary_screen->height();
@@ -2194,7 +2196,7 @@ VIDEO_START(konamigx_type4)
_gxcommoninitnosprites(machine);
- gx_psac_tilemap = tilemap_create(machine, get_gx_psac_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
gx_rozenable = 0;
gx_specialrozenable = 3;
@@ -2214,6 +2216,7 @@ VIDEO_START(konamigx_type4)
VIDEO_START(konamigx_type4_vsn)
{
+ konamigx_state *state = machine.driver_data<konamigx_state>();
int width = machine.primary_screen->width();
int height = machine.primary_screen->height();
@@ -2225,7 +2228,7 @@ VIDEO_START(konamigx_type4_vsn)
_gxcommoninitnosprites(machine);
- gx_psac_tilemap = tilemap_create(machine, get_gx_psac_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
gx_rozenable = 0;
gx_specialrozenable = 3;
@@ -2244,6 +2247,7 @@ VIDEO_START(konamigx_type4_vsn)
VIDEO_START(konamigx_type4_sd2)
{
+ konamigx_state *state = machine.driver_data<konamigx_state>();
int width = machine.primary_screen->width();
int height = machine.primary_screen->height();
@@ -2255,7 +2259,7 @@ VIDEO_START(konamigx_type4_sd2)
_gxcommoninitnosprites(machine);
- gx_psac_tilemap = tilemap_create(machine, get_gx_psac_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
gx_rozenable = 0;
gx_specialrozenable = 3;
@@ -2294,6 +2298,7 @@ VIDEO_START(konamigx_6bpp_2)
VIDEO_START(opengolf)
{
+ konamigx_state *state = machine.driver_data<konamigx_state>();
K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, konamigx_type2_tile_callback, 0);
K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -53, -23, konamigx_type2_sprite_callback);
@@ -2304,8 +2309,8 @@ VIDEO_START(opengolf)
K056832_set_LayerOffset(2, 2+1, 0);
K056832_set_LayerOffset(3, 3+1, 0);
- gx_psac_tilemap = tilemap_create(machine, get_gx_psac1a_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 128);
- gx_psac_tilemap2 = tilemap_create(machine, get_gx_psac1b_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1a_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1b_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
// transparency will be handled manually in post-processing
//gx_psac_tilemap->set_transparent_pen(0);
@@ -2332,6 +2337,7 @@ VIDEO_START(opengolf)
VIDEO_START(racinfrc)
{
+ konamigx_state *state = machine.driver_data<konamigx_state>();
K056832_vh_start(machine, "gfx1", K056832_BPP_6, 0, NULL, konamigx_type2_tile_callback, 0);
K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX, -53, -23, konamigx_type2_sprite_callback);
@@ -2342,8 +2348,8 @@ VIDEO_START(racinfrc)
K056832_set_LayerOffset(2, 2+1, 0);
K056832_set_LayerOffset(3, 3+1, 0);
- gx_psac_tilemap = tilemap_create(machine, get_gx_psac1a_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 128);
- gx_psac_tilemap2 = tilemap_create(machine, get_gx_psac1b_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1a_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
+ gx_psac_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(konamigx_state::get_gx_psac1b_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 128);
// transparency will be handled manually in post-processing
//gx_psac_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/kopunch.c b/src/mame/video/kopunch.c
index 277a523c279..764e7fe8424 100644
--- a/src/mame/video/kopunch.c
+++ b/src/mame/video/kopunch.c
@@ -66,27 +66,25 @@ WRITE8_MEMBER(kopunch_state::kopunch_gfxbank_w)
m_bg_tilemap->set_flip((data & 0x08) ? TILEMAP_FLIPY : 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(kopunch_state::get_fg_tile_info)
{
- kopunch_state *state = machine.driver_data<kopunch_state>();
- int code = state->m_videoram[tile_index];
+ int code = m_videoram[tile_index];
- SET_TILE_INFO(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(kopunch_state::get_bg_tile_info)
{
- kopunch_state *state = machine.driver_data<kopunch_state>();
- int code = (state->m_videoram2[tile_index] & 0x7f) + 128 * state->m_gfxbank;
+ int code = (m_videoram2[tile_index] & 0x7f) + 128 * m_gfxbank;
- SET_TILE_INFO(1, code, 0, 0);
+ SET_TILE_INFO_MEMBER(1, code, 0, 0);
}
VIDEO_START( kopunch )
{
kopunch_state *state = machine.driver_data<kopunch_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kopunch_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kopunch_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/ksayakyu.c b/src/mame/video/ksayakyu.c
index fbf4b904d06..90f7809144a 100644
--- a/src/mame/video/ksayakyu.c
+++ b/src/mame/video/ksayakyu.c
@@ -45,12 +45,12 @@ PALETTE_INIT( ksayakyu )
}
}
-static TILE_GET_INFO( get_ksayakyu_tile_info )
+TILE_GET_INFO_MEMBER(ksayakyu_state::get_ksayakyu_tile_info)
{
- int code = machine.root_device().memregion("user1")->base()[tile_index];
- int attr = machine.root_device().memregion("user1")->base()[tile_index + 0x2000];
+ int code = machine().root_device().memregion("user1")->base()[tile_index];
+ int attr = machine().root_device().memregion("user1")->base()[tile_index + 0x2000];
code += (attr & 3) << 8;
- SET_TILE_INFO(1, code, ((attr >> 2) & 0x0f) * 2, (attr & 0x80) ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(1, code, ((attr >> 2) & 0x0f) * 2, (attr & 0x80) ? TILE_FLIPX : 0);
}
/*
@@ -58,17 +58,16 @@ xy-- ---- flip bits
--cc cc-- color
---- --bb bank select
*/
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(ksayakyu_state::get_text_tile_info)
{
- ksayakyu_state *state = machine.driver_data<ksayakyu_state>();
- int code = state->m_videoram[tile_index * 2 + 1];
- int attr = state->m_videoram[tile_index * 2];
+ int code = m_videoram[tile_index * 2 + 1];
+ int attr = m_videoram[tile_index * 2];
int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x40) ? TILE_FLIPY : 0);
int color = (attr & 0x3c) >> 2;
code |= (attr & 3) << 8;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
/*
@@ -117,8 +116,8 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
VIDEO_START(ksayakyu)
{
ksayakyu_state *state = machine.driver_data<ksayakyu_state>();
- state->m_tilemap = tilemap_create(machine, get_ksayakyu_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32 * 8);
- state->m_textmap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ksayakyu_state::get_ksayakyu_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32 * 8);
+ state->m_textmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ksayakyu_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_textmap->set_transparent_pen(0);
}
diff --git a/src/mame/video/kyugo.c b/src/mame/video/kyugo.c
index 28c0232d9da..aace00ed91f 100644
--- a/src/mame/video/kyugo.c
+++ b/src/mame/video/kyugo.c
@@ -14,25 +14,23 @@
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(kyugo_state::get_fg_tile_info)
{
- kyugo_state *state = machine.driver_data<kyugo_state>();
- int code = state->m_fgvideoram[tile_index];
- SET_TILE_INFO(0,
+ int code = m_fgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(0,
code,
- 2 * state->m_color_codes[code >> 3] + state->m_fgcolor,
+ 2 * m_color_codes[code >> 3] + m_fgcolor,
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(kyugo_state::get_bg_tile_info)
{
- kyugo_state *state = machine.driver_data<kyugo_state>();
- int code = state->m_bgvideoram[tile_index];
- int attr = state->m_bgattribram[tile_index];
- SET_TILE_INFO(1,
+ int code = m_bgvideoram[tile_index];
+ int attr = m_bgattribram[tile_index];
+ SET_TILE_INFO_MEMBER(1,
code | ((attr & 0x03) << 8),
- (attr >> 4) | (state->m_bgpalbank << 4),
+ (attr >> 4) | (m_bgpalbank << 4),
TILE_FLIPYX((attr & 0x0c) >> 2));
}
@@ -49,8 +47,8 @@ VIDEO_START( kyugo )
state->m_color_codes = state->memregion("proms")->base() + 0x300;
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kyugo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kyugo_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/labyrunr.c b/src/mame/video/labyrunr.c
index 0793e74f34b..5de33126696 100644
--- a/src/mame/video/labyrunr.c
+++ b/src/mame/video/labyrunr.c
@@ -64,15 +64,14 @@ static void set_pens( running_machine &machine )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info0 )
+TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info0)
{
- labyrunr_state *state = machine.driver_data<labyrunr_state>();
- UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
- UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
- UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121, 6);
- int attr = state->m_videoram1[tile_index];
- int code = state->m_videoram1[tile_index + 0x400];
+ UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
+ UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
+ UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121, 6);
+ int attr = m_videoram1[tile_index];
+ int code = m_videoram1[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@@ -87,22 +86,21 @@ static TILE_GET_INFO( get_tile_info0 )
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code + bank * 256,
((ctrl_6 & 0x30) * 2 + 16)+(attr & 7),
0);
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info1)
{
- labyrunr_state *state = machine.driver_data<labyrunr_state>();
- UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
- UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
- UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
- UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121, 6);
- int attr = state->m_videoram2[tile_index];
- int code = state->m_videoram2[tile_index + 0x400];
+ UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
+ UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
+ UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
+ UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121, 6);
+ int attr = m_videoram2[tile_index];
+ int code = m_videoram2[tile_index + 0x400];
int bit0 = (ctrl_5 >> 0) & 0x03;
int bit1 = (ctrl_5 >> 2) & 0x03;
int bit2 = (ctrl_5 >> 4) & 0x03;
@@ -117,7 +115,7 @@ static TILE_GET_INFO( get_tile_info1 )
bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code+bank*256,
((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
@@ -135,8 +133,8 @@ VIDEO_START( labyrunr )
{
labyrunr_state *state = machine.driver_data<labyrunr_state>();
- state->m_layer0 = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_layer1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(labyrunr_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(labyrunr_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_layer0->set_transparent_pen(0);
state->m_layer1->set_transparent_pen(0);
diff --git a/src/mame/video/ladybug.c b/src/mame/video/ladybug.c
index 3c1929c406b..8ac02c01170 100644
--- a/src/mame/video/ladybug.c
+++ b/src/mame/video/ladybug.c
@@ -187,24 +187,23 @@ WRITE8_MEMBER(ladybug_state::sraider_io_w)
redclash_set_stars_speed(machine(), (data & 0x07) - 1);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ladybug_state::get_bg_tile_info)
{
- ladybug_state *state = machine.driver_data<ladybug_state>();
- int code = state->m_videoram[tile_index] + 32 * (state->m_colorram[tile_index] & 0x08);
- int color = state->m_colorram[tile_index] & 0x07;
+ int code = m_videoram[tile_index] + 32 * (m_colorram[tile_index] & 0x08);
+ int color = m_colorram[tile_index] & 0x07;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( get_grid_tile_info )
+TILE_GET_INFO_MEMBER(ladybug_state::get_grid_tile_info)
{
if (tile_index < 512)
- SET_TILE_INFO(3, tile_index, 0, 0);
+ SET_TILE_INFO_MEMBER(3, tile_index, 0, 0);
else
{
int temp = tile_index / 32;
tile_index = (31 - temp) * 32 + (tile_index % 32);
- SET_TILE_INFO(4, tile_index, 0, 0);
+ SET_TILE_INFO_MEMBER(4, tile_index, 0, 0);
}
}
@@ -212,7 +211,7 @@ VIDEO_START( ladybug )
{
ladybug_state *state = machine.driver_data<ladybug_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_rows(32);
state->m_bg_tilemap->set_transparent_pen(0);
}
@@ -221,11 +220,11 @@ VIDEO_START( sraider )
{
ladybug_state *state = machine.driver_data<ladybug_state>();
- state->m_grid_tilemap = tilemap_create(machine, get_grid_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_grid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_grid_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_grid_tilemap->set_scroll_rows(32);
state->m_grid_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ladybug_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_rows(32);
state->m_bg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/ladyfrog.c b/src/mame/video/ladyfrog.c
index d651a7870d0..34e60df4c9e 100644
--- a/src/mame/video/ladyfrog.c
+++ b/src/mame/video/ladyfrog.c
@@ -19,14 +19,13 @@ READ8_MEMBER(ladyfrog_state::ladyfrog_spriteram_r)
return m_spriteram[offset];
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(ladyfrog_state::get_tile_info)
{
- ladyfrog_state *state = machine.driver_data<ladyfrog_state>();
- int pal = state->m_videoram[tile_index * 2 + 1] & 0x0f;
- int tile = state->m_videoram[tile_index * 2] + ((state->m_videoram[tile_index * 2 + 1] & 0xc0) << 2)+ ((state->m_videoram[tile_index * 2 + 1] & 0x30) << 6);
- SET_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(
0,
- tile + 0x1000 * state->m_tilebank,
+ tile + 0x1000 * m_tilebank,
pal,TILE_FLIPY
);
}
@@ -133,7 +132,7 @@ static VIDEO_START( ladyfrog_common )
ladyfrog_state *state = machine.driver_data<ladyfrog_state>();
state->m_spriteram = auto_alloc_array(machine, UINT8, 160);
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ladyfrog_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_generic_paletteram_8.allocate(0x200);
state->m_generic_paletteram2_8.allocate(0x200);
diff --git a/src/mame/video/lasso.c b/src/mame/video/lasso.c
index 9277264a61f..1bdcd652e4e 100644
--- a/src/mame/video/lasso.c
+++ b/src/mame/video/lasso.c
@@ -122,37 +122,35 @@ static void wwjgtin_set_last_four_colors( running_machine &machine, colortable_t
***************************************************************************/
-static TILE_GET_INFO( lasso_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(lasso_state::lasso_get_bg_tile_info)
{
- lasso_state *state = machine.driver_data<lasso_state>();
- int code = state->m_videoram[tile_index];
- int color = state->m_colorram[tile_index];
+ int code = m_videoram[tile_index];
+ int color = m_colorram[tile_index];
- SET_TILE_INFO(0,
- code + ((UINT16)state->m_gfxbank << 8),
+ SET_TILE_INFO_MEMBER(0,
+ code + ((UINT16)m_gfxbank << 8),
color & 0x0f,
0);
}
-static TILE_GET_INFO( wwjgtin_get_track_tile_info )
+TILE_GET_INFO_MEMBER(lasso_state::wwjgtin_get_track_tile_info)
{
- UINT8 *ROM = machine.root_device().memregion("user1")->base();
+ UINT8 *ROM = machine().root_device().memregion("user1")->base();
int code = ROM[tile_index];
int color = ROM[tile_index + 0x2000];
- SET_TILE_INFO(2,
+ SET_TILE_INFO_MEMBER(2,
code,
color & 0x0f,
0);
}
-static TILE_GET_INFO( pinbo_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(lasso_state::pinbo_get_bg_tile_info)
{
- lasso_state *state = machine.driver_data<lasso_state>();
- int code = state->m_videoram[tile_index];
- int color = state->m_colorram[tile_index];
+ int code = m_videoram[tile_index];
+ int color = m_colorram[tile_index];
- SET_TILE_INFO(0,
+ SET_TILE_INFO_MEMBER(0,
code + ((color & 0x30) << 4),
color & 0x0f,
0);
@@ -170,7 +168,7 @@ VIDEO_START( lasso )
lasso_state *state = machine.driver_data<lasso_state>();
/* create tilemap */
- state->m_bg_tilemap = tilemap_create(machine, lasso_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::lasso_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
}
@@ -180,8 +178,8 @@ VIDEO_START( wwjgtin )
lasso_state *state = machine.driver_data<lasso_state>();
/* create tilemaps */
- state->m_bg_tilemap = tilemap_create(machine, lasso_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_track_tilemap = tilemap_create(machine, wwjgtin_get_track_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::lasso_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_track_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::wwjgtin_get_track_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 64);
state->m_bg_tilemap->set_transparent_pen(0);
}
@@ -191,7 +189,7 @@ VIDEO_START( pinbo )
lasso_state *state = machine.driver_data<lasso_state>();
/* create tilemap */
- state->m_bg_tilemap = tilemap_create(machine, pinbo_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lasso_state::pinbo_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/lastduel.c b/src/mame/video/lastduel.c
index 86c5c4ef3e9..5379a39fa7b 100644
--- a/src/mame/video/lastduel.c
+++ b/src/mame/video/lastduel.c
@@ -16,23 +16,21 @@
***************************************************************************/
-static TILE_GET_INFO( ld_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(lastduel_state::ld_get_bg_tile_info)
{
- lastduel_state *state = machine.driver_data<lastduel_state>();
- int tile = state->m_scroll2[2 * tile_index] & 0x1fff;
- int color = state->m_scroll2[2 * tile_index + 1];
- SET_TILE_INFO(
+ int tile = m_scroll2[2 * tile_index] & 0x1fff;
+ int color = m_scroll2[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
2,
tile,color & 0xf,
TILE_FLIPYX((color & 0x60) >> 5));
}
-static TILE_GET_INFO( ld_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(lastduel_state::ld_get_fg_tile_info)
{
- lastduel_state *state = machine.driver_data<lastduel_state>();
- int tile = state->m_scroll1[2 * tile_index] & 0x1fff;
- int color = state->m_scroll1[2 * tile_index + 1];
- SET_TILE_INFO(
+ int tile = m_scroll1[2 * tile_index] & 0x1fff;
+ int color = m_scroll1[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
3,
tile,
color & 0xf,
@@ -40,24 +38,22 @@ static TILE_GET_INFO( ld_get_fg_tile_info )
tileinfo.group = (color & 0x80) >> 7;
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(lastduel_state::get_bg_tile_info)
{
- lastduel_state *state = machine.driver_data<lastduel_state>();
- int tile = state->m_scroll2[tile_index] & 0x1fff;
- int color = state->m_scroll2[tile_index + 0x0800];
- SET_TILE_INFO(
+ int tile = m_scroll2[tile_index] & 0x1fff;
+ int color = m_scroll2[tile_index + 0x0800];
+ SET_TILE_INFO_MEMBER(
2,
tile,
color & 0xf,
TILE_FLIPYX((color & 0x60) >> 5));
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(lastduel_state::get_fg_tile_info)
{
- lastduel_state *state = machine.driver_data<lastduel_state>();
- int tile = state->m_scroll1[tile_index] & 0x1fff;
- int color = state->m_scroll1[tile_index + 0x0800];
- SET_TILE_INFO(
+ int tile = m_scroll1[tile_index] & 0x1fff;
+ int color = m_scroll1[tile_index + 0x0800];
+ SET_TILE_INFO_MEMBER(
3,
tile,
color & 0xf,
@@ -65,11 +61,10 @@ static TILE_GET_INFO( get_fg_tile_info )
tileinfo.group = (color & 0x10) >> 4;
}
-static TILE_GET_INFO( get_fix_info )
+TILE_GET_INFO_MEMBER(lastduel_state::get_fix_info)
{
- lastduel_state *state = machine.driver_data<lastduel_state>();
- int tile = state->m_vram[tile_index];
- SET_TILE_INFO(
+ int tile = m_vram[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
tile & 0x7ff,
tile>>12,
@@ -87,9 +82,9 @@ static TILE_GET_INFO( get_fix_info )
VIDEO_START( lastduel )
{
lastduel_state *state = machine.driver_data<lastduel_state>();
- state->m_bg_tilemap = tilemap_create(machine, ld_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, ld_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_tx_tilemap = tilemap_create(machine, get_fix_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::ld_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::ld_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_fix_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transmask(0, 0xffff, 0x0001);
state->m_fg_tilemap->set_transmask(1, 0xf07f, 0x0f81);
@@ -103,9 +98,9 @@ VIDEO_START( lastduel )
VIDEO_START( madgear )
{
lastduel_state *state = machine.driver_data<lastduel_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS,16,16,64,32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,16,16,64,32);
- state->m_tx_tilemap = tilemap_create(machine, get_fix_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS,16,16,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,16,16,64,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lastduel_state::get_fix_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_fg_tilemap->set_transmask(0, 0xffff, 0x8000);
state->m_fg_tilemap->set_transmask(1, 0x80ff, 0xff00);
diff --git a/src/mame/video/legionna.c b/src/mame/video/legionna.c
index 57876422bfb..b22fa950248 100644
--- a/src/mame/video/legionna.c
+++ b/src/mame/video/legionna.c
@@ -54,45 +54,41 @@ WRITE16_MEMBER(legionna_state::legionna_text_w)
m_text_layer->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(legionna_state::get_back_tile_info)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- int tile=state->m_back_data[tile_index];
+ int tile=m_back_data[tile_index];
int color=(tile>>12)&0xf;
tile &= 0xfff;
- tile |= state->m_back_gfx_bank; /* Heatbrl uses banking */
+ tile |= m_back_gfx_bank; /* Heatbrl uses banking */
- SET_TILE_INFO(1,tile,color,0);
+ SET_TILE_INFO_MEMBER(1,tile,color,0);
}
-static TILE_GET_INFO( get_mid_tile_info )
+TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- int tile=state->m_mid_data[tile_index];
+ int tile=m_mid_data[tile_index];
int color=(tile>>12)&0xf;
tile &= 0xfff;
- SET_TILE_INFO(5,tile,color,0);
+ SET_TILE_INFO_MEMBER(5,tile,color,0);
}
-static TILE_GET_INFO( get_mid_tile_info_denji )
+TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info_denji)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- int tile=state->m_mid_data[tile_index];
+ int tile=m_mid_data[tile_index];
int color=(tile>>12)&0xf;
tile &= 0xfff;
- tile |= state->m_mid_gfx_bank;
+ tile |= m_mid_gfx_bank;
- SET_TILE_INFO(5,tile,color,0);
+ SET_TILE_INFO_MEMBER(5,tile,color,0);
}
-static TILE_GET_INFO( get_mid_tile_info_cupsoc )
+TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info_cupsoc)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- int tile=state->m_mid_data[tile_index];
+ int tile=m_mid_data[tile_index];
int color=(tile>>12)&0xf;
tile &= 0xfff;
@@ -100,51 +96,48 @@ static TILE_GET_INFO( get_mid_tile_info_cupsoc )
tile |= 0x1000;
color += 0x10;
- SET_TILE_INFO(1,tile,color,0);
+ SET_TILE_INFO_MEMBER(1,tile,color,0);
}
-static TILE_GET_INFO( get_fore_tile_info ) /* this is giving bad tiles... */
+TILE_GET_INFO_MEMBER(legionna_state::get_fore_tile_info)/* this is giving bad tiles... */
{
- legionna_state *state = machine.driver_data<legionna_state>();
- int tile=state->m_fore_data[tile_index];
+ int tile=m_fore_data[tile_index];
int color=(tile>>12)&0xf;
// legionnaire tile numbers / gfx set wrong, see screen after coin insertion
tile &= 0xfff;
- SET_TILE_INFO(4,tile,color,0);
+ SET_TILE_INFO_MEMBER(4,tile,color,0);
}
-static TILE_GET_INFO( get_fore_tile_info_denji )
+TILE_GET_INFO_MEMBER(legionna_state::get_fore_tile_info_denji)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- int tile=state->m_fore_data[tile_index];
+ int tile=m_fore_data[tile_index];
int color=(tile>>12)&0xf;
tile &= 0xfff;
- tile |= state->m_fore_gfx_bank;
+ tile |= m_fore_gfx_bank;
- SET_TILE_INFO(4,tile,color,0);
+ SET_TILE_INFO_MEMBER(4,tile,color,0);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(legionna_state::get_text_tile_info)
{
- legionna_state *state = machine.driver_data<legionna_state>();
- int tile = state->m_textram[tile_index];
+ int tile = m_textram[tile_index];
int color=(tile>>12)&0xf;
tile &= 0xfff;
- SET_TILE_INFO(0,tile,color,0);
+ SET_TILE_INFO_MEMBER(0,tile,color,0);
}
VIDEO_START( legionna )
{
legionna_state *state = machine.driver_data<legionna_state>();
- state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_midground_layer = tilemap_create(machine, get_mid_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_text_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8,8,64,32);
+ state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_fore_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_mid_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
state->m_scrollram16 = auto_alloc_array(machine, UINT16, 0x60/2);
state->m_sprite_xoffs = 0;
@@ -162,10 +155,10 @@ VIDEO_START( legionna )
VIDEO_START( denjinmk )
{
legionna_state *state = machine.driver_data<legionna_state>();
- state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info_denji,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_midground_layer = tilemap_create(machine, get_mid_tile_info_denji, TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_text_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8,8,64,32);
+ state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_fore_tile_info_denji),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_mid_tile_info_denji),state), TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
state->m_scrollram16 = auto_alloc_array(machine, UINT16, 0x60/2);
state->m_sprite_xoffs = 0;
@@ -183,10 +176,10 @@ VIDEO_START( denjinmk )
VIDEO_START( cupsoc )
{
legionna_state *state = machine.driver_data<legionna_state>();
- state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_midground_layer = tilemap_create(machine, get_mid_tile_info_cupsoc, TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_text_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8,8,64,32);
+ state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_fore_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_midground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_mid_tile_info_cupsoc),state), TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(legionna_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
state->m_scrollram16 = auto_alloc_array(machine, UINT16, 0x60/2);
state->m_sprite_xoffs = 0;
diff --git a/src/mame/video/lemmings.c b/src/mame/video/lemmings.c
index 9ffdadfa1c8..71bf4e1f8d1 100644
--- a/src/mame/video/lemmings.c
+++ b/src/mame/video/lemmings.c
@@ -18,12 +18,11 @@
/******************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(lemmings_state::get_tile_info)
{
- lemmings_state *state = machine.driver_data<lemmings_state>();
- UINT16 tile = state->m_vram_data[tile_index];
+ UINT16 tile = m_vram_data[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile&0x7ff,
(tile>>12)&0xf,
@@ -33,7 +32,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( lemmings )
{
lemmings_state *state = machine.driver_data<lemmings_state>();
- state->m_vram_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ state->m_vram_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lemmings_state::get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
state->m_vram_tilemap->set_transparent_pen(0);
state->m_bitmap0.fill(0x100);
diff --git a/src/mame/video/liberate.c b/src/mame/video/liberate.c
index 2a5c1e68de2..693feec1dfd 100644
--- a/src/mame/video/liberate.c
+++ b/src/mame/video/liberate.c
@@ -25,38 +25,37 @@ void debug_print(bitmap_ind16 &bitmap)
}
#endif
-static TILEMAP_MAPPER( back_scan )
+TILEMAP_MAPPER_MEMBER(liberate_state::back_scan)
{
/* logical (col,row) -> memory offset */
return ((row & 0xf)) + ((15 - (col & 0xf)) << 4) + ((row & 0x10) << 5) + ((col & 0x10) << 4);
}
-static TILEMAP_MAPPER( fix_scan )
+TILEMAP_MAPPER_MEMBER(liberate_state::fix_scan)
{
/* logical (col,row) -> memory offset */
return (row & 0x1f) + ((31 - (col & 0x1f)) << 5);
}
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(liberate_state::get_back_tile_info)
{
- liberate_state *state = machine.driver_data<liberate_state>();
- const UINT8 *RAM = state->memregion("user1")->base();
+ const UINT8 *RAM = memregion("user1")->base();
int tile, bank;
/* Convert tile index of 512x512 to paged format */
if (tile_index & 0x100)
{
if (tile_index & 0x200)
- tile_index = (tile_index & 0xff) + (state->m_io_ram[5] << 8); /* Bottom right */
+ tile_index = (tile_index & 0xff) + (m_io_ram[5] << 8); /* Bottom right */
else
- tile_index = (tile_index & 0xff) + (state->m_io_ram[4] << 8); /* Bottom left */
+ tile_index = (tile_index & 0xff) + (m_io_ram[4] << 8); /* Bottom left */
}
else
{
if (tile_index & 0x200)
- tile_index = (tile_index & 0xff) + (state->m_io_ram[3] << 8); /* Top right */
+ tile_index = (tile_index & 0xff) + (m_io_ram[3] << 8); /* Top right */
else
- tile_index = (tile_index & 0xff) + (state->m_io_ram[2] << 8); /* Top left */
+ tile_index = (tile_index & 0xff) + (m_io_ram[2] << 8); /* Top left */
}
tile = RAM[tile_index];
@@ -64,25 +63,23 @@ static TILE_GET_INFO( get_back_tile_info )
bank = 3;
else
bank = 2;
- SET_TILE_INFO(bank, tile & 0x7f, state->m_background_color, 0);
+ SET_TILE_INFO_MEMBER(bank, tile & 0x7f, m_background_color, 0);
}
-static TILE_GET_INFO( get_fix_tile_info )
+TILE_GET_INFO_MEMBER(liberate_state::get_fix_tile_info)
{
- liberate_state *state = machine.driver_data<liberate_state>();
- UINT8 *videoram = state->m_videoram;
- UINT8 *colorram = state->m_colorram;
+ UINT8 *videoram = m_videoram;
+ UINT8 *colorram = m_colorram;
int tile, color;
tile = videoram[tile_index] + (colorram[tile_index] << 8);
color = (colorram[tile_index] & 0x70) >> 4;
- SET_TILE_INFO(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(0, tile, color, 0);
}
-static TILE_GET_INFO( prosport_get_back_tile_info )
+TILE_GET_INFO_MEMBER(liberate_state::prosport_get_back_tile_info)
{
- liberate_state *state = machine.driver_data<liberate_state>();
int tile;
/*
@@ -91,13 +88,13 @@ static TILE_GET_INFO( prosport_get_back_tile_info )
- bits 0-3 are not used by gfx hardware; the value is the color of the pixel in the map (golf)
*/
- tile = (state->m_bg_vram[tile_index] & 0xf0)>>4;
+ tile = (m_bg_vram[tile_index] & 0xf0)>>4;
if (tile_index & 0x8) tile += 0x10;
- tile += state->m_io_ram[0]&0x20; //Pro Bowling bg tiles banking bit
+ tile += m_io_ram[0]&0x20; //Pro Bowling bg tiles banking bit
- SET_TILE_INFO(8, tile, 0, 0);
+ SET_TILE_INFO_MEMBER(8, tile, 0, 0);
}
/***************************************************************************/
@@ -205,8 +202,8 @@ WRITE8_MEMBER(liberate_state::prosport_bg_vram_w)
VIDEO_START( prosoccr )
{
liberate_state *state = machine.driver_data<liberate_state>();
- state->m_back_tilemap = tilemap_create(machine, get_back_tile_info, back_scan, 16, 16, 32, 32);
- state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, fix_scan, 8, 8, 32, 32);
+ state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),state), 16, 16, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),state), 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
@@ -216,8 +213,8 @@ VIDEO_START( prosoccr )
VIDEO_START( boomrang )
{
liberate_state *state = machine.driver_data<liberate_state>();
- state->m_back_tilemap = tilemap_create(machine, get_back_tile_info, back_scan, 16, 16, 32, 32);
- state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, fix_scan, 8, 8, 32, 32);
+ state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),state), 16, 16, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),state), 8, 8, 32, 32);
state->m_back_tilemap->set_transmask(0, 0x0001, 0x007e); /* Bottom 1 pen/Top 7 pens */
state->m_fix_tilemap->set_transparent_pen(0);
@@ -226,8 +223,8 @@ VIDEO_START( boomrang )
VIDEO_START( liberate )
{
liberate_state *state = machine.driver_data<liberate_state>();
- state->m_back_tilemap = tilemap_create(machine, get_back_tile_info, back_scan, 16, 16, 32, 32);
- state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, fix_scan, 8, 8, 32, 32);
+ state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),state), 16, 16, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),state), 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
}
@@ -235,8 +232,8 @@ VIDEO_START( liberate )
VIDEO_START( prosport )
{
liberate_state *state = machine.driver_data<liberate_state>();
- state->m_back_tilemap = tilemap_create(machine, prosport_get_back_tile_info, back_scan, 16, 16, 32, 32);
- state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, fix_scan, 8, 8, 32, 32);
+ state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::prosport_get_back_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),state), 16, 16, 32, 32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),state), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),state), 8, 8, 32, 32);
state->m_fix_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/lkage.c b/src/mame/video/lkage.c
index a8ef34b4121..92a2ba55183 100644
--- a/src/mame/video/lkage.c
+++ b/src/mame/video/lkage.c
@@ -65,34 +65,31 @@ WRITE8_MEMBER(lkage_state::lkage_videoram_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(lkage_state::get_bg_tile_info)
{
- lkage_state *state = machine.driver_data<lkage_state>();
- int code = state->m_videoram[tile_index + 0x800] + 256 * (state->m_bg_tile_bank ? 5 : 1);
- SET_TILE_INFO( 0/*gfx*/, code, 0/*color*/, 0/*flags*/ );
+ 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*/ );
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(lkage_state::get_fg_tile_info)
{
- lkage_state *state = machine.driver_data<lkage_state>();
- int code = state->m_videoram[tile_index + 0x400] + 256 * (state->m_fg_tile_bank ? 1 : 0);
- SET_TILE_INFO( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
+ 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*/);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(lkage_state::get_tx_tile_info)
{
- lkage_state *state = machine.driver_data<lkage_state>();
- int code = state->m_videoram[tile_index] + 256 * (state->m_tx_tile_bank ? 4 : 0);
- SET_TILE_INFO( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
+ int code = m_videoram[tile_index] + 256 * (m_tx_tile_bank ? 4 : 0);
+ SET_TILE_INFO_MEMBER( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
}
VIDEO_START( lkage )
{
lkage_state *state = machine.driver_data<lkage_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lkage_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lkage_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lkage_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_tx_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/lockon.c b/src/mame/video/lockon.c
index 983b2ad445a..dd5a6be3cad 100644
--- a/src/mame/video/lockon.c
+++ b/src/mame/video/lockon.c
@@ -139,14 +139,13 @@ WRITE16_MEMBER(lockon_state::lockon_char_w)
m_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_lockon_tile_info )
+TILE_GET_INFO_MEMBER(lockon_state::get_lockon_tile_info)
{
- lockon_state *state = machine.driver_data<lockon_state>();
- UINT32 tileno = state->m_char_ram[tile_index] & 0x03ff;
- UINT32 col = (state->m_char_ram[tile_index] >> 10) & 0x3f;
+ UINT32 tileno = m_char_ram[tile_index] & 0x03ff;
+ UINT32 col = (m_char_ram[tile_index] >> 10) & 0x3f;
col = (col & 0x1f) + (col & 0x20 ? 64 : 0);
- SET_TILE_INFO(0, tileno, col, 0);
+ SET_TILE_INFO_MEMBER(0, tileno, col, 0);
}
@@ -900,7 +899,7 @@ VIDEO_START( lockon )
{
lockon_state *state = machine.driver_data<lockon_state>();
- state->m_tilemap = tilemap_create(machine, get_lockon_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lockon_state::get_lockon_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_tilemap->set_transparent_pen(0);
/* Allocate the two frame buffers for rotation */
diff --git a/src/mame/video/lordgun.c b/src/mame/video/lordgun.c
index 9235495f710..c3b844b642e 100644
--- a/src/mame/video/lordgun.c
+++ b/src/mame/video/lordgun.c
@@ -70,10 +70,10 @@ INLINE void get_tile_info(running_machine &machine, tile_data &tileinfo, tilemap
SET_TILE_INFO( _N_, code, ((attr & 0x0030) >> 4) + 0x10 + 0x4 * ((_N_ + 1) & 3) + pri*0x800/0x40, TILE_FLIPXY(attr >> 14));
}
-static TILE_GET_INFO( get_tile_info_0 ) { get_tile_info(machine, tileinfo, tile_index, 0); }
-static TILE_GET_INFO( get_tile_info_1 ) { get_tile_info(machine, tileinfo, tile_index, 1); }
-static TILE_GET_INFO( get_tile_info_2 ) { get_tile_info(machine, tileinfo, tile_index, 2); }
-static TILE_GET_INFO( get_tile_info_3 ) { get_tile_info(machine, tileinfo, tile_index, 3); }
+TILE_GET_INFO_MEMBER(lordgun_state::get_tile_info_0){ get_tile_info(machine(), tileinfo, tile_index, 0); }
+TILE_GET_INFO_MEMBER(lordgun_state::get_tile_info_1){ get_tile_info(machine(), tileinfo, tile_index, 1); }
+TILE_GET_INFO_MEMBER(lordgun_state::get_tile_info_2){ get_tile_info(machine(), tileinfo, tile_index, 2); }
+TILE_GET_INFO_MEMBER(lordgun_state::get_tile_info_3){ get_tile_info(machine(), tileinfo, tile_index, 3); }
INLINE void lordgun_vram_w(address_space *space, offs_t offset, UINT16 data, UINT16 mem_mask, int _N_)
{
@@ -102,20 +102,16 @@ VIDEO_START( lordgun )
int h = machine.primary_screen->height();
// 0x800 x 200
- state->m_tilemap[0] = tilemap_create( machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
- 8,8, 0x100, 0x40 );
+ state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,8,8, 0x100, 0x40 );
// 0x800 x 200
- state->m_tilemap[1] = tilemap_create( machine, get_tile_info_1, TILEMAP_SCAN_ROWS,
- 16,16, 0x80,0x20 );
+ state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,16,16, 0x80,0x20 );
// 0x800 x 200
- state->m_tilemap[2] = tilemap_create( machine, get_tile_info_2, TILEMAP_SCAN_ROWS,
- 32,32, 0x40,0x10 );
+ state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS,32,32, 0x40,0x10 );
// 0x200 x 100
- state->m_tilemap[3] = tilemap_create( machine, get_tile_info_3, TILEMAP_SCAN_ROWS,
- 8,8, 0x40,0x20 );
+ state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lordgun_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS,8,8, 0x40,0x20 );
state->m_tilemap[0]->set_scroll_rows(1);
state->m_tilemap[0]->set_scroll_cols(1);
diff --git a/src/mame/video/lucky74.c b/src/mame/video/lucky74.c
index 32e977aea3f..fc012d5dcde 100644
--- a/src/mame/video/lucky74.c
+++ b/src/mame/video/lucky74.c
@@ -196,44 +196,42 @@ PALETTE_INIT( lucky74 )
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(lucky74_state::get_fg_tile_info)
{
- lucky74_state *state = machine.driver_data<lucky74_state>();
/* - bits -
7654 3210
---- xxxx tiles color.
xxxx ---- tiles page offset.
*/
int bank = 0;
- int attr = state->m_fg_colorram[tile_index];
- int code = state->m_fg_videoram[tile_index] + ((attr & 0xf0) << 4);
+ int attr = m_fg_colorram[tile_index];
+ int code = m_fg_videoram[tile_index] + ((attr & 0xf0) << 4);
int color = (attr & 0x0f);
- SET_TILE_INFO(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(lucky74_state::get_bg_tile_info)
{
- lucky74_state *state = machine.driver_data<lucky74_state>();
/* - bits -
7654 3210
---- xxxx tiles color.
xxxx ---- tiles page offset.
*/
int bank = 1;
- int attr = state->m_bg_colorram[tile_index];
- int code = state->m_bg_videoram[tile_index] + ((attr & 0xf0) << 4);
+ int attr = m_bg_colorram[tile_index];
+ int code = m_bg_videoram[tile_index] + ((attr & 0xf0) << 4);
int color = (attr & 0x0f);
- SET_TILE_INFO(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
VIDEO_START( lucky74 )
{
lucky74_state *state = machine.driver_data<lucky74_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lucky74_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lucky74_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/lvcards.c b/src/mame/video/lvcards.c
index 5a72721312a..7206659c48f 100644
--- a/src/mame/video/lvcards.c
+++ b/src/mame/video/lvcards.c
@@ -94,21 +94,20 @@ WRITE8_MEMBER(lvcards_state::lvcards_colorram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(lvcards_state::get_bg_tile_info)
{
- lvcards_state *state = machine.driver_data<lvcards_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3);
int color = attr & 0x0f;
int flags = (attr & 0x40) ? TILE_FLIPX : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( lvcards )
{
lvcards_state *state = machine.driver_data<lvcards_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lvcards_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/lwings.c b/src/mame/video/lwings.c
index 5fb31ff9f98..a51110e0a12 100644
--- a/src/mame/video/lwings.c
+++ b/src/mame/video/lwings.c
@@ -15,61 +15,57 @@
***************************************************************************/
-static TILEMAP_MAPPER( get_bg2_memory_offset )
+TILEMAP_MAPPER_MEMBER(lwings_state::get_bg2_memory_offset)
{
return (row * 0x800) | (col * 2);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(lwings_state::get_fg_tile_info)
{
- lwings_state *state = machine.driver_data<lwings_state>();
- int code = state->m_fgvideoram[tile_index];
- int color = state->m_fgvideoram[tile_index + 0x400];
- SET_TILE_INFO(
+ int code = m_fgvideoram[tile_index];
+ int color = m_fgvideoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
0,
code + ((color & 0xc0) << 2),
color & 0x0f,
TILE_FLIPYX((color & 0x30) >> 4));
}
-static TILE_GET_INFO( lwings_get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(lwings_state::lwings_get_bg1_tile_info)
{
- lwings_state *state = machine.driver_data<lwings_state>();
- int code = state->m_bg1videoram[tile_index];
- int color = state->m_bg1videoram[tile_index + 0x400];
- SET_TILE_INFO(
+ int code = m_bg1videoram[tile_index];
+ int color = m_bg1videoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
1,
code + ((color & 0xe0) << 3),
color & 0x07,
TILE_FLIPYX((color & 0x18) >> 3));
}
-static TILE_GET_INFO( trojan_get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(lwings_state::trojan_get_bg1_tile_info)
{
- lwings_state *state = machine.driver_data<lwings_state>();
- int code = state->m_bg1videoram[tile_index];
- int color = state->m_bg1videoram[tile_index + 0x400];
+ int code = m_bg1videoram[tile_index];
+ int color = m_bg1videoram[tile_index + 0x400];
code += (color & 0xe0)<<3;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
- state->m_bg2_avenger_hw ? ((color & 7) ^ 6) : (color & 7),
+ m_bg2_avenger_hw ? ((color & 7) ^ 6) : (color & 7),
((color & 0x10) ? TILE_FLIPX : 0));
tileinfo.group = (color & 0x08) >> 3;
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(lwings_state::get_bg2_tile_info)
{
- lwings_state *state = machine.driver_data<lwings_state>();
int code, color;
- UINT8 *rom = state->memregion("gfx5")->base();
- int mask = state->memregion("gfx5")->bytes() - 1;
+ UINT8 *rom = memregion("gfx5")->base();
+ int mask = memregion("gfx5")->bytes() - 1;
- tile_index = (tile_index + state->m_bg2_image * 0x20) & mask;
+ tile_index = (tile_index + m_bg2_image * 0x20) & mask;
code = rom[tile_index];
color = rom[tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
code + ((color & 0x80) << 1),
color & 0x07,
@@ -86,8 +82,8 @@ VIDEO_START( lwings )
{
lwings_state *state = machine.driver_data<lwings_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg1_tilemap = tilemap_create(machine, lwings_get_bg1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::lwings_get_bg1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
state->m_fg_tilemap->set_transparent_pen(3);
}
@@ -96,9 +92,9 @@ VIDEO_START( trojan )
{
lwings_state *state = machine.driver_data<lwings_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg1_tilemap = tilemap_create(machine, trojan_get_bg1_tile_info,TILEMAP_SCAN_COLS, 16, 16, 32, 32);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, get_bg2_memory_offset, 16, 16, 32, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::trojan_get_bg1_tile_info),state),TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lwings_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(lwings_state::get_bg2_memory_offset),state), 16, 16, 32, 16);
state->m_fg_tilemap->set_transparent_pen(3);
state->m_bg1_tilemap->set_transmask(0, 0xffff, 0x0001); /* split type 0 is totally transparent in front half */
diff --git a/src/mame/video/m107.c b/src/mame/video/m107.c
index e52cd26c3be..aa920a8c30e 100644
--- a/src/mame/video/m107.c
+++ b/src/mame/video/m107.c
@@ -42,17 +42,16 @@
/*****************************************************************************/
-static TILE_GET_INFO( get_pf_tile_info )
+TILE_GET_INFO_MEMBER(m107_state::get_pf_tile_info)
{
- m107_state *state = machine.driver_data<m107_state>();
pf_layer_info *layer = (pf_layer_info *)param;
int tile, attrib;
tile_index = 2 * tile_index + layer->vram_base;
- attrib = state->m_vram_data[tile_index + 1];
- tile = state->m_vram_data[tile_index] + ((attrib & 0x1000) << 4);
+ attrib = m_vram_data[tile_index + 1];
+ tile = m_vram_data[tile_index] + ((attrib & 0x1000) << 4);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
attrib & 0x7f,
@@ -129,7 +128,7 @@ VIDEO_START( m107 )
pf_layer_info *layer = &state->m_pf_layer[laynum];
/* allocate a tilemaps per layer */
- layer->tmap = tilemap_create(machine, get_pf_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,64);
+ layer->tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m107_state::get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
/* set the user data to point to the layer */
layer->tmap->set_user_data(&state->m_pf_layer[laynum]);
diff --git a/src/mame/video/m52.c b/src/mame/video/m52.c
index f099f6898ef..6555255cf29 100644
--- a/src/mame/video/m52.c
+++ b/src/mame/video/m52.c
@@ -115,11 +115,10 @@ PALETTE_INIT( m52 )
*
*************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(m52_state::get_tile_info)
{
- m52_state *state = machine.driver_data<m52_state>();
- UINT8 video = state->m_videoram[tile_index];
- UINT8 color = state->m_colorram[tile_index];
+ UINT8 video = m_videoram[tile_index];
+ UINT8 color = m_colorram[tile_index];
int flag = 0;
int code = 0;
@@ -136,7 +135,7 @@ static TILE_GET_INFO( get_tile_info )
flag |= TILE_FORCE_LAYER0; /* lines 0 to 6 are opaqe? */
}
- SET_TILE_INFO(0, code, color & 0x3f, flag);
+ SET_TILE_INFO_MEMBER(0, code, color & 0x3f, flag);
}
@@ -151,7 +150,7 @@ VIDEO_START( m52 )
{
m52_state *state = machine.driver_data<m52_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m52_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scrolldx(128 - 1, -1);
diff --git a/src/mame/video/m57.c b/src/mame/video/m57.c
index 8b59d8236f0..dbd2cda9bc2 100644
--- a/src/mame/video/m57.c
+++ b/src/mame/video/m57.c
@@ -110,14 +110,13 @@ PALETTE_INIT( m57 )
*
*************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(m57_state::get_tile_info)
{
- m57_state *state = machine.driver_data<m57_state>();
- UINT8 attr = state->m_videoram[tile_index * 2 + 0];
- UINT16 code = state->m_videoram[tile_index * 2 + 1] | ((attr & 0xc0) << 2);
+ UINT8 attr = m_videoram[tile_index * 2 + 0];
+ UINT16 code = m_videoram[tile_index * 2 + 1] | ((attr & 0xc0) << 2);
- SET_TILE_INFO(0, code, attr & 0x0f, TILE_FLIPXY(attr >> 4));
+ SET_TILE_INFO_MEMBER(0, code, attr & 0x0f, TILE_FLIPXY(attr >> 4));
}
@@ -145,7 +144,7 @@ VIDEO_START( m57 )
{
m57_state *state = machine.driver_data<m57_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m57_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_rows(256);
state->save_item(NAME(state->m_flipscreen));
diff --git a/src/mame/video/m58.c b/src/mame/video/m58.c
index 396b4932fd2..07b9a07105c 100644
--- a/src/mame/video/m58.c
+++ b/src/mame/video/m58.c
@@ -144,21 +144,20 @@ WRITE8_MEMBER(m58_state::yard_scroll_panel_w)
*
*************************************/
-static TILE_GET_INFO( yard_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(m58_state::yard_get_bg_tile_info)
{
- m58_state *state = machine.driver_data<m58_state>();
int offs = tile_index * 2;
- int attr = state->m_videoram[offs + 1];
- int code = state->m_videoram[offs] + ((attr & 0xc0) << 2);
+ int attr = m_videoram[offs + 1];
+ int code = m_videoram[offs] + ((attr & 0xc0) << 2);
int color = attr & 0x1f;
int flags = (attr & 0x20) ? TILE_FLIPX : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static TILEMAP_MAPPER( yard_tilemap_scan_rows )
+TILEMAP_MAPPER_MEMBER(m58_state::yard_tilemap_scan_rows)
{
/* logical (col,row) -> memory offset */
if (col >= 32)
@@ -183,7 +182,7 @@ VIDEO_START( yard )
int height = machine.primary_screen->height();
const rectangle &visarea = machine.primary_screen->visible_area();
- state->m_bg_tilemap = tilemap_create(machine, yard_get_bg_tile_info, yard_tilemap_scan_rows, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m58_state::yard_get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(m58_state::yard_tilemap_scan_rows),state), 8, 8, 64, 32);
state->m_bg_tilemap->set_scrolldx(visarea.min_x, width - (visarea.max_x + 1));
state->m_bg_tilemap->set_scrolldy(visarea.min_y - 8, height + 16 - (visarea.max_y + 1));
diff --git a/src/mame/video/m62.c b/src/mame/video/m62.c
index c3c0f7ae428..bdf91377f12 100644
--- a/src/mame/video/m62.c
+++ b/src/mame/video/m62.c
@@ -409,10 +409,10 @@ static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const
}
}
-static void m62_start( running_machine &machine, tile_get_info_func tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 )
+static void m62_start( running_machine &machine, tilemap_get_info_delegate tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 )
{
m62_state *state = machine.driver_data<m62_state>();
- state->m_bg_tilemap = tilemap_create(machine, tile_get_info, TILEMAP_SCAN_ROWS, x1, y1, x2, y2);
+ state->m_bg_tilemap = &machine.tilemap().create(tile_get_info, TILEMAP_SCAN_ROWS, x1, y1, x2, y2);
register_savestate(machine);
@@ -423,10 +423,10 @@ static void m62_start( running_machine &machine, tile_get_info_func tile_get_inf
state->m_bg_tilemap->set_scroll_cols(cols);
}
-static void m62_textlayer( running_machine &machine, tile_get_info_func tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 )
+static void m62_textlayer( running_machine &machine, tilemap_get_info_delegate tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 )
{
m62_state *state = machine.driver_data<m62_state>();
- state->m_fg_tilemap = tilemap_create(machine, tile_get_info, TILEMAP_SCAN_ROWS, x1, y1, x2, y2);
+ state->m_fg_tilemap = &machine.tilemap().create(tile_get_info, TILEMAP_SCAN_ROWS, x1, y1, x2, y2);
if (rows != 0)
state->m_fg_tilemap->set_scroll_rows(rows);
@@ -441,20 +441,19 @@ WRITE8_MEMBER(m62_state::kungfum_tileram_w)
m_bg_tilemap->mark_tile_dirty(offset & 0x7ff);
}
-static TILE_GET_INFO( get_kungfum_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_kungfum_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
int flags;
- code = state->m_m62_tileram[tile_index];
- color = state->m_m62_tileram[tile_index + 0x800];
+ code = m_m62_tileram[tile_index];
+ color = m_m62_tileram[tile_index + 0x800];
flags = 0;
if ((color & 0x20))
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO(0, code | ((color & 0xc0)<< 2), color & 0x1f, flags);
+ SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0)<< 2), color & 0x1f, flags);
/* is the following right? */
if ((tile_index / 64) < 6 || ((color & 0x1f) >> 1) > 0x0c)
@@ -465,7 +464,8 @@ static TILE_GET_INFO( get_kungfum_bg_tile_info )
VIDEO_START( kungfum )
{
- m62_start(machine, get_kungfum_bg_tile_info, 32, 0, 8, 8, 64, 32);
+ m62_state *state = machine.driver_data<m62_state>();
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_kungfum_bg_tile_info),state), 32, 0, 8, 8, 64, 32);
}
SCREEN_UPDATE_IND16( kungfum )
@@ -487,21 +487,20 @@ SCREEN_UPDATE_IND16( kungfum )
}
-static TILE_GET_INFO( get_ldrun_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_ldrun_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
int flags;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
+ code = m_m62_tileram[tile_index << 1];
+ color = m_m62_tileram[(tile_index << 1) | 1];
flags = 0;
if ((color & 0x20))
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
+ SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
if (((color & 0x1f) >> 1) >= 0x0c)
tileinfo.group = 1;
else
@@ -512,7 +511,7 @@ VIDEO_START( ldrun )
{
m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, get_ldrun_bg_tile_info, 1, 1, 8, 8, 64, 32);
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_ldrun_bg_tile_info),state), 1, 1, 8, 8, 64, 32);
state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
@@ -530,20 +529,19 @@ SCREEN_UPDATE_IND16( ldrun )
return 0;
}
-static TILE_GET_INFO( get_ldrun2_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_ldrun2_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
int flags;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
+ code = m_m62_tileram[tile_index << 1];
+ color = m_m62_tileram[(tile_index << 1) | 1];
flags = 0;
if ((color & 0x20))
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
+ SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
if (((color & 0x1f) >> 1) >= 0x04)
tileinfo.group = 1;
else
@@ -553,7 +551,7 @@ static TILE_GET_INFO( get_ldrun2_bg_tile_info )
VIDEO_START( ldrun2 )
{
m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, get_ldrun2_bg_tile_info, 1, 1, 8, 8, 64, 32);
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_ldrun2_bg_tile_info),state), 1, 1, 8, 8, 64, 32);
state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
@@ -586,41 +584,39 @@ SCREEN_UPDATE_IND16( ldrun3 )
}
-static TILE_GET_INFO( get_battroad_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_battroad_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
int flags;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
+ code = m_m62_tileram[tile_index << 1];
+ color = m_m62_tileram[(tile_index << 1) | 1];
flags = 0;
if ((color & 0x20))
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO(0, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, flags);
+ SET_TILE_INFO_MEMBER(0, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, flags);
if (((color & 0x1f) >> 1) >= 0x04)
tileinfo.group = 1;
else
tileinfo.group = 0;
}
-static TILE_GET_INFO( get_battroad_fg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_battroad_fg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_textram[tile_index << 1];
- color = state->m_m62_textram[(tile_index << 1) | 1];
- SET_TILE_INFO(2, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, 0);
+ 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);
}
VIDEO_START( battroad )
{
m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, get_battroad_bg_tile_info, 1, 1, 8, 8, 64, 32);
- m62_textlayer(machine, get_battroad_fg_tile_info, 1, 1, 8, 8, 32, 32);
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_battroad_bg_tile_info),state), 1, 1, 8, 8, 64, 32);
+ m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_battroad_fg_tile_info),state), 1, 1, 8, 8, 32, 32);
state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
@@ -645,19 +641,19 @@ SCREEN_UPDATE_IND16( battroad )
/* almost identical but scrolling background, more characters, */
/* no char x flip, and more sprites */
-static TILE_GET_INFO( get_ldrun4_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_ldrun4_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
+ 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);
}
VIDEO_START( ldrun4 )
{
- m62_start(machine, get_ldrun4_bg_tile_info, 1, 0, 8, 8, 64, 32);
+ m62_state *state = machine.driver_data<m62_state>();
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_ldrun4_bg_tile_info),state), 1, 0, 8, 8, 64, 32);
}
SCREEN_UPDATE_IND16( ldrun4 )
@@ -671,36 +667,35 @@ SCREEN_UPDATE_IND16( ldrun4 )
}
-static TILE_GET_INFO( get_lotlot_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_lotlot_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
int flags;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
+ code = m_m62_tileram[tile_index << 1];
+ color = m_m62_tileram[(tile_index << 1) | 1];
flags = 0;
if ((color & 0x20))
{
flags |= TILE_FLIPX;
}
- SET_TILE_INFO(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
+ SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
}
-static TILE_GET_INFO( get_lotlot_fg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_lotlot_fg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_textram[tile_index << 1];
- color = state->m_m62_textram[(tile_index << 1) | 1];
- SET_TILE_INFO(2, code | ((color & 0xc0) << 2), color & 0x1f, 0);
+ 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);
}
VIDEO_START( lotlot )
{
- m62_start(machine, get_lotlot_bg_tile_info, 1, 1, 12, 10, 32, 64);
- m62_textlayer(machine, get_lotlot_fg_tile_info, 1, 1, 12, 10, 32, 64);
+ m62_state *state = machine.driver_data<m62_state>();
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_bg_tile_info),state), 1, 1, 12, 10, 32, 64);
+ m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_fg_tile_info),state), 1, 1, 12, 10, 32, 64);
}
SCREEN_UPDATE_IND16( lotlot )
@@ -738,38 +733,36 @@ WRITE8_MEMBER(m62_state::kidniki_background_bank_w)
}
}
-static TILE_GET_INFO( get_kidniki_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_kidniki_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO(0, code | ((color & 0xe0) << 3) | (state->m_kidniki_background_bank << 11), color & 0x1f, 0);
+ 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);
tileinfo.group = ((color & 0xe0) == 0xe0) ? 1 : 0;
}
-static TILE_GET_INFO( get_kidniki_fg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_kidniki_fg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_textram[tile_index << 1];
- color = state->m_m62_textram[(tile_index << 1) | 1];
- SET_TILE_INFO(2, code | ( ( color & 0xc0 ) << 2 ), color & 0x1f, 0);
+ 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);
}
VIDEO_START( kidniki )
{
m62_state *state = machine.driver_data<m62_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_kidniki_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
register_savestate(machine);
- m62_textlayer(machine, get_kidniki_fg_tile_info, 1, 1, 12, 8, 32, 64);
+ m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_fg_tile_info),state), 1, 1, 12, 8, 32, 64);
}
SCREEN_UPDATE_IND16( kidniki )
@@ -798,31 +791,30 @@ WRITE8_MEMBER(m62_state::spelunkr_palbank_w)
}
}
-static TILE_GET_INFO( get_spelunkr_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO(0, code | ((color & 0x10) << 4) | ((color & 0x20) << 6) | ((color & 0xc0) << 3), (color & 0x0f) | (state->m_spelunkr_palbank << 4), 0);
+ 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);
}
-static TILE_GET_INFO( get_spelunkr_fg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_fg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_textram[tile_index << 1];
- color = state->m_m62_textram[(tile_index << 1) | 1];
+ 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(2, code | ((color & 0x10) << 4), (color & 0x0f) | (state->m_spelunkr_palbank << 4), 0);
+ SET_TILE_INFO_MEMBER(2, code | ((color & 0x10) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0);
}
VIDEO_START( spelunkr )
{
- m62_start(machine, get_spelunkr_bg_tile_info, 1, 1, 8, 8, 64, 64);
- m62_textlayer(machine, get_spelunkr_fg_tile_info, 1, 1, 12, 8, 32, 32);
+ m62_state *state = machine.driver_data<m62_state>();
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_bg_tile_info),state), 1, 1, 8, 8, 64, 64);
+ m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),state), 1, 1, 12, 8, 32, 32);
}
SCREEN_UPDATE_IND16( spelunkr )
@@ -853,20 +845,20 @@ WRITE8_MEMBER(m62_state::spelunk2_gfxport_w)
}
}
-static TILE_GET_INFO( get_spelunk2_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_spelunk2_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO( 0, code | ((color & 0xf0) << 4), (color & 0x0f) | (state->m_spelunkr_palbank << 4), 0 );
+ 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 );
}
VIDEO_START( spelunk2 )
{
- m62_start(machine, get_spelunk2_bg_tile_info, 1, 1, 8, 8, 64, 64);
- m62_textlayer(machine, get_spelunkr_fg_tile_info, 1, 1, 12, 8, 32, 32);
+ m62_state *state = machine.driver_data<m62_state>();
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunk2_bg_tile_info),state), 1, 1, 8, 8, 64, 64);
+ m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),state), 1, 1, 12, 8, 32, 32);
}
SCREEN_UPDATE_IND16( spelunk2 )
@@ -885,35 +877,33 @@ SCREEN_UPDATE_IND16( spelunk2 )
}
-static TILE_GET_INFO( get_youjyudn_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_youjyudn_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO( 0, code | ((color & 0x60) << 3), color & 0x1f, 0);
+ 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);
if (((color & 0x1f) >> 1) >= 0x08)
tileinfo.group = 1;
else
tileinfo.group = 0;
}
-static TILE_GET_INFO( get_youjyudn_fg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_youjyudn_fg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_textram[tile_index << 1];
- color = state->m_m62_textram[(tile_index << 1) | 1];
- SET_TILE_INFO(2, code | ((color & 0xc0) << 2), (color & 0x0f), 0);
+ 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);
}
VIDEO_START( youjyudn )
{
m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, get_youjyudn_bg_tile_info, 1, 0, 8, 16, 64, 16);
- m62_textlayer(machine, get_youjyudn_fg_tile_info, 1, 1, 12, 8, 32, 32);
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_bg_tile_info),state), 1, 0, 8, 16, 64, 16);
+ m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_fg_tile_info),state), 1, 1, 12, 8, 32, 32);
state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
@@ -939,14 +929,13 @@ WRITE8_MEMBER(m62_state::horizon_scrollram_w)
m_scrollram[offset] = data;
}
-static TILE_GET_INFO( get_horizon_bg_tile_info )
+TILE_GET_INFO_MEMBER(m62_state::get_horizon_bg_tile_info)
{
- m62_state *state = machine.driver_data<m62_state>();
int code;
int color;
- code = state->m_m62_tileram[tile_index << 1];
- color = state->m_m62_tileram[(tile_index << 1) | 1];
- SET_TILE_INFO(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
+ 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);
if (((color & 0x1f) >> 1) >= 0x08)
tileinfo.group = 1;
@@ -957,7 +946,7 @@ static TILE_GET_INFO( get_horizon_bg_tile_info )
VIDEO_START( horizon )
{
m62_state *state = machine.driver_data<m62_state>();
- m62_start(machine, get_horizon_bg_tile_info, 32, 0, 8, 8, 64, 32);
+ m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_horizon_bg_tile_info),state), 32, 0, 8, 8, 64, 32);
state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe); /* split type 1 has pen 0 transparent in front half */
}
diff --git a/src/mame/video/m72.c b/src/mame/video/m72.c
index 273d7506f5c..6f316a6b44f 100644
--- a/src/mame/video/m72.c
+++ b/src/mame/video/m72.c
@@ -57,38 +57,33 @@ INLINE void rtype2_get_tile_info(running_machine &machine,tile_data &tileinfo,in
}
-static TILE_GET_INFO( m72_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(m72_state::m72_get_bg_tile_info)
{
- m72_state *state = machine.driver_data<m72_state>();
- m72_get_tile_info(machine,tileinfo,tile_index,state->m_videoram2,2);
+ m72_get_tile_info(machine(),tileinfo,tile_index,m_videoram2,2);
}
-static TILE_GET_INFO( m72_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(m72_state::m72_get_fg_tile_info)
{
- m72_state *state = machine.driver_data<m72_state>();
- m72_get_tile_info(machine,tileinfo,tile_index,state->m_videoram1,1);
+ m72_get_tile_info(machine(),tileinfo,tile_index,m_videoram1,1);
}
-static TILE_GET_INFO( hharry_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(m72_state::hharry_get_bg_tile_info)
{
- m72_state *state = machine.driver_data<m72_state>();
- m72_get_tile_info(machine,tileinfo,tile_index,state->m_videoram2,1);
+ m72_get_tile_info(machine(),tileinfo,tile_index,m_videoram2,1);
}
-static TILE_GET_INFO( rtype2_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(m72_state::rtype2_get_bg_tile_info)
{
- m72_state *state = machine.driver_data<m72_state>();
- rtype2_get_tile_info(machine,tileinfo,tile_index,state->m_videoram2,1);
+ rtype2_get_tile_info(machine(),tileinfo,tile_index,m_videoram2,1);
}
-static TILE_GET_INFO( rtype2_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(m72_state::rtype2_get_fg_tile_info)
{
- m72_state *state = machine.driver_data<m72_state>();
- rtype2_get_tile_info(machine,tileinfo,tile_index,state->m_videoram1,1);
+ rtype2_get_tile_info(machine(),tileinfo,tile_index,m_videoram1,1);
}
-static TILEMAP_MAPPER( majtitle_scan_rows )
+TILEMAP_MAPPER_MEMBER(m72_state::majtitle_scan_rows)
{
/* logical (col,row) -> memory offset */
return row*256 + col;
@@ -117,8 +112,8 @@ static void register_savestate(running_machine &machine)
VIDEO_START( m72 )
{
m72_state *state = machine.driver_data<m72_state>();
- state->m_bg_tilemap = tilemap_create(machine, m72_get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_fg_tilemap = tilemap_create(machine, m72_get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::m72_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::m72_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
@@ -157,8 +152,8 @@ VIDEO_START( xmultipl )
VIDEO_START( rtype2 )
{
m72_state *state = machine.driver_data<m72_state>();
- state->m_bg_tilemap = tilemap_create(machine, rtype2_get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_fg_tilemap = tilemap_create(machine, rtype2_get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
@@ -205,9 +200,9 @@ VIDEO_START( majtitle )
m72_state *state = machine.driver_data<m72_state>();
// The tilemap can be 256x64, but seems to be used at 128x64 (scroll wraparound).
// The layout ramains 256x64, the right half is just not displayed.
-// state->m_bg_tilemap = tilemap_create(machine, rtype2_get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,256,64);
- state->m_bg_tilemap = tilemap_create(machine, rtype2_get_bg_tile_info,majtitle_scan_rows,8,8,128,64);
- state->m_fg_tilemap = tilemap_create(machine, rtype2_get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
+// state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,256,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(m72_state::majtitle_scan_rows),state),8,8,128,64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
@@ -233,8 +228,8 @@ VIDEO_START( majtitle )
VIDEO_START( hharry )
{
m72_state *state = machine.driver_data<m72_state>();
- state->m_bg_tilemap = tilemap_create(machine, hharry_get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_fg_tilemap = tilemap_create(machine, m72_get_fg_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::hharry_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m72_state::m72_get_fg_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
diff --git a/src/mame/video/m90.c b/src/mame/video/m90.c
index db5d711ca7e..c5f946d9443 100644
--- a/src/mame/video/m90.c
+++ b/src/mame/video/m90.c
@@ -78,28 +78,28 @@ INLINE void dynablsb_get_tile_info(running_machine &machine,tile_data &tileinfo,
tileinfo.category = (color & 0x30) ? 1 : 0;
}
-static TILE_GET_INFO( get_pf1_tile_info ) { get_tile_info(machine,tileinfo,tile_index,0,0x3); }
-static TILE_GET_INFO( get_pf1w_tile_info ) { get_tile_info(machine,tileinfo,tile_index,0,0x2); }
-static TILE_GET_INFO( get_pf2_tile_info ) { get_tile_info(machine,tileinfo,tile_index,1,0x3); }
-static TILE_GET_INFO( get_pf2w_tile_info ) { get_tile_info(machine,tileinfo,tile_index,1,0x2); }
+TILE_GET_INFO_MEMBER(m90_state::get_pf1_tile_info){ get_tile_info(machine(),tileinfo,tile_index,0,0x3); }
+TILE_GET_INFO_MEMBER(m90_state::get_pf1w_tile_info){ get_tile_info(machine(),tileinfo,tile_index,0,0x2); }
+TILE_GET_INFO_MEMBER(m90_state::get_pf2_tile_info){ get_tile_info(machine(),tileinfo,tile_index,1,0x3); }
+TILE_GET_INFO_MEMBER(m90_state::get_pf2w_tile_info){ get_tile_info(machine(),tileinfo,tile_index,1,0x2); }
-static TILE_GET_INFO( bomblord_get_pf1_tile_info ) { bomblord_get_tile_info(machine,tileinfo,tile_index,0); }
-static TILE_GET_INFO( bomblord_get_pf1w_tile_info ) { bomblord_get_tile_info(machine,tileinfo,tile_index,0); }
-static TILE_GET_INFO( bomblord_get_pf2_tile_info ) { bomblord_get_tile_info(machine,tileinfo,tile_index,2); }
-static TILE_GET_INFO( bomblord_get_pf2w_tile_info ) { bomblord_get_tile_info(machine,tileinfo,tile_index,2); }
+TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf1_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,0); }
+TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf1w_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,0); }
+TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf2_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,2); }
+TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf2w_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,2); }
-static TILE_GET_INFO( dynablsb_get_pf1_tile_info ) { dynablsb_get_tile_info(machine,tileinfo,tile_index,0); }
-static TILE_GET_INFO( dynablsb_get_pf1w_tile_info ) { dynablsb_get_tile_info(machine,tileinfo,tile_index,0); }
-static TILE_GET_INFO( dynablsb_get_pf2_tile_info ) { dynablsb_get_tile_info(machine,tileinfo,tile_index,2); }
-static TILE_GET_INFO( dynablsb_get_pf2w_tile_info ) { dynablsb_get_tile_info(machine,tileinfo,tile_index,2); }
+TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf1_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,0); }
+TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf1w_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,0); }
+TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,2); }
+TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2w_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,2); }
VIDEO_START( m90 )
{
m90_state *state = machine.driver_data<m90_state>();
- state->m_pf1_layer = tilemap_create(machine, get_pf1_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf1_wide_layer = tilemap_create(machine, get_pf1w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_pf2_layer = tilemap_create(machine, get_pf2_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf2_wide_layer = tilemap_create(machine, get_pf2w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
+ state->m_pf1_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf1_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_pf1_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf1w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
+ state->m_pf2_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf2_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_pf2_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::get_pf2w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
state->m_pf1_layer->set_transparent_pen(0);
state->m_pf1_wide_layer->set_transparent_pen(0);
@@ -112,10 +112,10 @@ VIDEO_START( m90 )
VIDEO_START( bomblord )
{
m90_state *state = machine.driver_data<m90_state>();
- state->m_pf1_layer = tilemap_create(machine, bomblord_get_pf1_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf1_wide_layer = tilemap_create(machine, bomblord_get_pf1w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_pf2_layer = tilemap_create(machine, bomblord_get_pf2_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf2_wide_layer = tilemap_create(machine, bomblord_get_pf2w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
+ state->m_pf1_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf1_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_pf1_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf1w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
+ state->m_pf2_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf2_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_pf2_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::bomblord_get_pf2w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
state->m_pf2_layer->set_transparent_pen(0);
state->m_pf2_wide_layer->set_transparent_pen(0);
@@ -128,10 +128,10 @@ VIDEO_START( bomblord )
VIDEO_START( dynablsb )
{
m90_state *state = machine.driver_data<m90_state>();
- state->m_pf1_layer = tilemap_create(machine, dynablsb_get_pf1_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf1_wide_layer = tilemap_create(machine, dynablsb_get_pf1w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
- state->m_pf2_layer = tilemap_create(machine, dynablsb_get_pf2_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pf2_wide_layer = tilemap_create(machine, dynablsb_get_pf2w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
+ state->m_pf1_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf1_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_pf1_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf1w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
+ state->m_pf2_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf2_tile_info),state), TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_pf2_wide_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m90_state::dynablsb_get_pf2w_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
state->m_pf2_layer->set_transparent_pen(0);
state->m_pf2_wide_layer->set_transparent_pen(0);
diff --git a/src/mame/video/m92.c b/src/mame/video/m92.c
index bd5e8b7d551..ad52d4d37ac 100644
--- a/src/mame/video/m92.c
+++ b/src/mame/video/m92.c
@@ -136,17 +136,16 @@ WRITE16_MEMBER(m92_state::m92_paletteram_w)
/*****************************************************************************/
-static TILE_GET_INFO( get_pf_tile_info )
+TILE_GET_INFO_MEMBER(m92_state::get_pf_tile_info)
{
- m92_state *state = machine.driver_data<m92_state>();
pf_layer_info *layer = (pf_layer_info *)param;
int tile, attrib;
tile_index = 2 * tile_index + layer->vram_base;
- attrib = state->m_vram_data[tile_index + 1];
- tile = state->m_vram_data[tile_index] + ((attrib & 0x8000) << 1);
+ attrib = m_vram_data[tile_index + 1];
+ tile = m_vram_data[tile_index] + ((attrib & 0x8000) << 1);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
attrib & 0x7f,
@@ -249,8 +248,8 @@ VIDEO_START( m92 )
pf_layer_info *layer = &state->m_pf_layer[laynum];
/* allocate two tilemaps per layer, one normal, one wide */
- layer->tmap = tilemap_create(machine, get_pf_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,64);
- layer->wide_tmap = tilemap_create(machine, get_pf_tile_info, TILEMAP_SCAN_ROWS, 8,8, 128,64);
+ layer->tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m92_state::get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
+ layer->wide_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m92_state::get_pf_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 128,64);
/* set the user data for each one to point to the layer */
layer->tmap->set_user_data(&state->m_pf_layer[laynum]);
diff --git a/src/mame/video/macrossp.c b/src/mame/video/macrossp.c
index 59528e280a9..5f284c3b80f 100644
--- a/src/mame/video/macrossp.c
+++ b/src/mame/video/macrossp.c
@@ -15,15 +15,14 @@ WRITE32_MEMBER(macrossp_state::macrossp_scra_videoram_w)
}
-static TILE_GET_INFO( get_macrossp_scra_tile_info )
+TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_scra_tile_info)
{
- macrossp_state *state = machine.driver_data<macrossp_state>();
UINT32 attr, tileno, color;
- attr = state->m_scra_videoram[tile_index];
+ attr = m_scra_videoram[tile_index];
tileno = attr & 0x0000ffff;
- switch (state->m_scra_videoregs[0] & 0x00000c00)
+ switch (m_scra_videoregs[0] & 0x00000c00)
{
case 0x00000800:
color = (attr & 0x000e0000) >> 15;
@@ -34,11 +33,11 @@ static TILE_GET_INFO( get_macrossp_scra_tile_info )
break;
default:
- color = machine.rand() & 7;
+ color = machine().rand() & 7;
break;
}
- SET_TILE_INFO(1, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
+ SET_TILE_INFO_MEMBER(1, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
}
/*** SCR B LAYER ***/
@@ -52,15 +51,14 @@ WRITE32_MEMBER(macrossp_state::macrossp_scrb_videoram_w)
}
-static TILE_GET_INFO( get_macrossp_scrb_tile_info )
+TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_scrb_tile_info)
{
- macrossp_state *state = machine.driver_data<macrossp_state>();
UINT32 attr, tileno, color;
- attr = state->m_scrb_videoram[tile_index];
+ attr = m_scrb_videoram[tile_index];
tileno = attr & 0x0000ffff;
- switch (state->m_scrb_videoregs[0] & 0x00000c00)
+ switch (m_scrb_videoregs[0] & 0x00000c00)
{
case 0x00000800:
color = (attr & 0x000e0000) >> 15;
@@ -71,11 +69,11 @@ static TILE_GET_INFO( get_macrossp_scrb_tile_info )
break;
default:
- color = machine.rand() & 7;
+ color = machine().rand() & 7;
break;
}
- SET_TILE_INFO(2, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
+ SET_TILE_INFO_MEMBER(2, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
}
/*** SCR C LAYER ***/
@@ -89,15 +87,14 @@ WRITE32_MEMBER(macrossp_state::macrossp_scrc_videoram_w)
}
-static TILE_GET_INFO( get_macrossp_scrc_tile_info )
+TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_scrc_tile_info)
{
- macrossp_state *state = machine.driver_data<macrossp_state>();
UINT32 attr, tileno, color;
- attr = state->m_scrc_videoram[tile_index];
+ attr = m_scrc_videoram[tile_index];
tileno = attr & 0x0000ffff;
- switch (state->m_scrc_videoregs[0] & 0x00000c00)
+ switch (m_scrc_videoregs[0] & 0x00000c00)
{
case 0x00000800:
color = (attr & 0x000e0000) >> 15;
@@ -108,11 +105,11 @@ static TILE_GET_INFO( get_macrossp_scrc_tile_info )
break;
default:
- color = machine.rand() & 7;
+ color = machine().rand() & 7;
break;
}
- SET_TILE_INFO(3, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
+ SET_TILE_INFO_MEMBER(3, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
}
/*** TEXT LAYER ***/
@@ -126,15 +123,14 @@ WRITE32_MEMBER(macrossp_state::macrossp_text_videoram_w)
}
-static TILE_GET_INFO( get_macrossp_text_tile_info )
+TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_text_tile_info)
{
- macrossp_state *state = machine.driver_data<macrossp_state>();
UINT32 tileno, colour;
- tileno = state->m_text_videoram[tile_index] & 0x0000ffff;
- colour = (state->m_text_videoram[tile_index] & 0x00fe0000) >> 17;
+ tileno = m_text_videoram[tile_index] & 0x0000ffff;
+ colour = (m_text_videoram[tile_index] & 0x00fe0000) >> 17;
- SET_TILE_INFO(4, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(4, tileno, colour, 0);
}
@@ -148,10 +144,10 @@ VIDEO_START( macrossp )
state->m_spriteram_old = auto_alloc_array_clear(machine, UINT32, state->m_spriteram.bytes() / 4);
state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT32, state->m_spriteram.bytes() / 4);
- state->m_text_tilemap = tilemap_create(machine, get_macrossp_text_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_scra_tilemap = tilemap_create(machine, get_macrossp_scra_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_scrb_tilemap = tilemap_create(machine, get_macrossp_scrb_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_scrc_tilemap = tilemap_create(machine, get_macrossp_scrc_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_text_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_scra_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_scra_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_scrb_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_scrb_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_scrc_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(macrossp_state::get_macrossp_scrc_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
state->m_text_tilemap->set_transparent_pen(0);
state->m_scra_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/madalien.c b/src/mame/video/madalien.c
index 35389e58963..ca71a648f15 100644
--- a/src/mame/video/madalien.c
+++ b/src/mame/video/madalien.c
@@ -71,46 +71,43 @@ INLINE int scan_helper(int col, int row, int section)
}
-static TILEMAP_MAPPER( scan_mode0 )
+TILEMAP_MAPPER_MEMBER(madalien_state::scan_mode0)
{
return scan_helper(col, row, 0);
}
-static TILEMAP_MAPPER( scan_mode1 )
+TILEMAP_MAPPER_MEMBER(madalien_state::scan_mode1)
{
return scan_helper(col, row, 1);
}
-static TILEMAP_MAPPER( scan_mode2 )
+TILEMAP_MAPPER_MEMBER(madalien_state::scan_mode2)
{
return scan_helper(col, row, BIT(col, 4) ? 1 : 0);
}
-static TILEMAP_MAPPER( scan_mode3 )
+TILEMAP_MAPPER_MEMBER(madalien_state::scan_mode3)
{
return scan_helper(col, row, BIT(col, 4) ? 0 : 1);
}
-static TILE_GET_INFO( get_tile_info_BG_1 )
+TILE_GET_INFO_MEMBER(madalien_state::get_tile_info_BG_1)
{
- madalien_state *state = machine.driver_data<madalien_state>();
- UINT8 *map = state->memregion("user1")->base() + ((*state->m_video_flags & 0x08) << 6);
+ UINT8 *map = memregion("user1")->base() + ((*m_video_flags & 0x08) << 6);
- SET_TILE_INFO(1, map[tile_index], BIT(*state->m_video_flags, 2) ? 2 : 0, 0);
+ SET_TILE_INFO_MEMBER(1, map[tile_index], BIT(*m_video_flags, 2) ? 2 : 0, 0);
}
-static TILE_GET_INFO( get_tile_info_BG_2 )
+TILE_GET_INFO_MEMBER(madalien_state::get_tile_info_BG_2)
{
- madalien_state *state = machine.driver_data<madalien_state>();
- UINT8 *map = state->memregion("user1")->base() + ((*state->m_video_flags & 0x08) << 6) + 0x80;
+ UINT8 *map = memregion("user1")->base() + ((*m_video_flags & 0x08) << 6) + 0x80;
- SET_TILE_INFO(1, map[tile_index], BIT(*state->m_video_flags, 2) ? 2 : 0, 0);
+ SET_TILE_INFO_MEMBER(1, map[tile_index], BIT(*m_video_flags, 2) ? 2 : 0, 0);
}
-static TILE_GET_INFO( get_tile_info_FG )
+TILE_GET_INFO_MEMBER(madalien_state::get_tile_info_FG)
{
- madalien_state *state = machine.driver_data<madalien_state>();
- SET_TILE_INFO(0, state->m_videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], 0, 0);
}
WRITE8_MEMBER(madalien_state::madalien_videoram_w)
@@ -125,9 +122,12 @@ static VIDEO_START( madalien )
madalien_state *state = machine.driver_data<madalien_state>();
int i;
- static const tilemap_mapper_func scan_functions[4] =
+ static const tilemap_mapper_delegate scan_functions[4] =
{
- scan_mode0, scan_mode1, scan_mode2, scan_mode3
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),state),
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),state),
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),state),
+ tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),state)
};
static const int tilemap_cols[4] =
@@ -135,18 +135,18 @@ static VIDEO_START( madalien )
16, 16, 32, 32
};
- state->m_tilemap_fg = tilemap_create(machine, get_tile_info_FG, TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_FG),state), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
state->m_tilemap_fg->set_transparent_pen(0);
state->m_tilemap_fg->set_scrolldx(0, 0x50);
state->m_tilemap_fg->set_scrolldy(0, 0x20);
for (i = 0; i < 4; i++)
{
- state->m_tilemap_edge1[i] = tilemap_create(machine, get_tile_info_BG_1, scan_functions[i], 16, 16, tilemap_cols[i], 8);
+ state->m_tilemap_edge1[i] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_1),state), scan_functions[i], 16, 16, tilemap_cols[i], 8);
state->m_tilemap_edge1[i]->set_scrolldx(0, 0x50);
state->m_tilemap_edge1[i]->set_scrolldy(0, 0x20);
- state->m_tilemap_edge2[i] = tilemap_create(machine, get_tile_info_BG_2, scan_functions[i], 16, 16, tilemap_cols[i], 8);
+ state->m_tilemap_edge2[i] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(madalien_state::get_tile_info_BG_2),state), scan_functions[i], 16, 16, tilemap_cols[i], 8);
state->m_tilemap_edge2[i]->set_scrolldx(0, 0x50);
state->m_tilemap_edge2[i]->set_scrolldy(0, machine.primary_screen->height() - 256);
}
diff --git a/src/mame/video/mainsnk.c b/src/mame/video/mainsnk.c
index d99b39e7515..db2d10a46f4 100644
--- a/src/mame/video/mainsnk.c
+++ b/src/mame/video/mainsnk.c
@@ -34,7 +34,7 @@ PALETTE_INIT( mainsnk )
}
}
-static TILEMAP_MAPPER( marvins_tx_scan_cols )
+TILEMAP_MAPPER_MEMBER(mainsnk_state::marvins_tx_scan_cols)
{
// tilemap is 36x28, the central part is from the first RAM page and the
// extra 4 columns are from the second page
@@ -45,25 +45,23 @@ static TILEMAP_MAPPER( marvins_tx_scan_cols )
return row + (col << 5);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(mainsnk_state::get_tx_tile_info)
{
- mainsnk_state *state = machine.driver_data<mainsnk_state>();
- int code = state->m_fgram[tile_index];
+ int code = m_fgram[tile_index];
- SET_TILE_INFO(0,
+ SET_TILE_INFO_MEMBER(0,
code,
0,
tile_index & 0x400 ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mainsnk_state::get_bg_tile_info)
{
- mainsnk_state *state = machine.driver_data<mainsnk_state>();
- int code = (state->m_bgram[tile_index]);
+ int code = (m_bgram[tile_index]);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_bg_tile_offset + code,
+ m_bg_tile_offset + code,
0,
0);
}
@@ -73,8 +71,8 @@ VIDEO_START(mainsnk)
{
mainsnk_state *state = machine.driver_data<mainsnk_state>();
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mainsnk_state::get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(mainsnk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mainsnk_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_tx_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_scrolldy(8, 8);
diff --git a/src/mame/video/mappy.c b/src/mame/video/mappy.c
index df942a2a7ef..1045e89e2b9 100644
--- a/src/mame/video/mappy.c
+++ b/src/mame/video/mappy.c
@@ -235,7 +235,7 @@ PALETTE_INIT( phozon )
***************************************************************************/
/* convert from 32x32 to 36x28 */
-static TILEMAP_MAPPER( superpac_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(mappy_state::superpac_tilemap_scan)
{
int offs;
@@ -250,7 +250,7 @@ static TILEMAP_MAPPER( superpac_tilemap_scan )
}
/* tilemap is a composition of a 32x60 scrolling portion and two 2x28 fixed portions on the sides */
-static TILEMAP_MAPPER( mappy_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(mappy_state::mappy_tilemap_scan)
{
int offs;
@@ -271,44 +271,41 @@ static TILEMAP_MAPPER( mappy_tilemap_scan )
return offs;
}
-static TILE_GET_INFO( superpac_get_tile_info )
+TILE_GET_INFO_MEMBER(mappy_state::superpac_get_tile_info)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- UINT8 attr = state->m_videoram[tile_index + 0x400];
+ UINT8 attr = m_videoram[tile_index + 0x400];
tileinfo.category = (attr & 0x40) >> 6;
tileinfo.group = attr & 0x3f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index],
+ m_videoram[tile_index],
attr & 0x3f,
0);
}
-static TILE_GET_INFO( phozon_get_tile_info )
+TILE_GET_INFO_MEMBER(mappy_state::phozon_get_tile_info)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- UINT8 attr = state->m_videoram[tile_index + 0x400];
+ UINT8 attr = m_videoram[tile_index + 0x400];
tileinfo.category = (attr & 0x40) >> 6;
tileinfo.group = attr & 0x3f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index] + ((attr & 0x80) << 1),
+ m_videoram[tile_index] + ((attr & 0x80) << 1),
attr & 0x3f,
0);
}
-static TILE_GET_INFO( mappy_get_tile_info )
+TILE_GET_INFO_MEMBER(mappy_state::mappy_get_tile_info)
{
- mappy_state *state = machine.driver_data<mappy_state>();
- UINT8 attr = state->m_videoram[tile_index + 0x800];
+ UINT8 attr = m_videoram[tile_index + 0x800];
tileinfo.category = (attr & 0x40) >> 6;
tileinfo.group = attr & 0x3f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index],
+ m_videoram[tile_index],
attr & 0x3f,
0);
}
@@ -325,7 +322,7 @@ VIDEO_START( superpac )
{
mappy_state *state = machine.driver_data<mappy_state>();
- state->m_bg_tilemap = tilemap_create(machine, superpac_get_tile_info,superpac_tilemap_scan,8,8,36,28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mappy_state::superpac_get_tile_info),state),tilemap_mapper_delegate(FUNC(mappy_state::superpac_tilemap_scan),state),8,8,36,28);
machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 31);
@@ -335,7 +332,7 @@ VIDEO_START( phozon )
{
mappy_state *state = machine.driver_data<mappy_state>();
- state->m_bg_tilemap = tilemap_create(machine, phozon_get_tile_info,superpac_tilemap_scan,8,8,36,28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mappy_state::phozon_get_tile_info),state),tilemap_mapper_delegate(FUNC(mappy_state::superpac_tilemap_scan),state),8,8,36,28);
colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 15);
@@ -346,7 +343,7 @@ VIDEO_START( mappy )
{
mappy_state *state = machine.driver_data<mappy_state>();
- state->m_bg_tilemap = tilemap_create(machine, mappy_get_tile_info,mappy_tilemap_scan,8,8,36,60);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mappy_state::mappy_get_tile_info),state),tilemap_mapper_delegate(FUNC(mappy_state::mappy_tilemap_scan),state),8,8,36,60);
colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 31);
state->m_bg_tilemap->set_scroll_cols(36);
diff --git a/src/mame/video/marineb.c b/src/mame/video/marineb.c
index 0601d791e6a..07b8c781b57 100644
--- a/src/mame/video/marineb.c
+++ b/src/mame/video/marineb.c
@@ -45,16 +45,15 @@ PALETTE_INIT( marineb )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(marineb_state::get_tile_info)
{
- marineb_state *state = machine.driver_data<marineb_state>();
- UINT8 code = state->m_videoram[tile_index];
- UINT8 col = state->m_colorram[tile_index];
+ UINT8 code = m_videoram[tile_index];
+ UINT8 col = m_colorram[tile_index];
- SET_TILE_INFO(0,
+ SET_TILE_INFO_MEMBER(0,
code | ((col & 0xc0) << 2),
- (col & 0x0f) | (state->m_palette_bank << 4),
+ (col & 0x0f) | (m_palette_bank << 4),
TILE_FLIPXY((col >> 4) & 0x03));
}
@@ -70,7 +69,7 @@ VIDEO_START( marineb )
{
marineb_state *state = machine.driver_data<marineb_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(marineb_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(32);
state->save_item(NAME(state->m_palette_bank));
diff --git a/src/mame/video/mario.c b/src/mame/video/mario.c
index cfd5129614f..d450d3fe5c9 100644
--- a/src/mame/video/mario.c
+++ b/src/mame/video/mario.c
@@ -125,22 +125,21 @@ WRITE8_MEMBER(mario_state::mario_flip_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mario_state::get_bg_tile_info)
{
- mario_state *state = machine.driver_data<mario_state>();
- int code = state->m_videoram[tile_index] + 256 * state->m_gfx_bank;
+ int code = m_videoram[tile_index] + 256 * m_gfx_bank;
int color;
- color = ((state->m_videoram[tile_index] >> 2) & 0x38) | 0x40 | (state->m_palette_bank<<7) | (state->m_monitor<<8);
+ color = ((m_videoram[tile_index] >> 2) & 0x38) | 0x40 | (m_palette_bank<<7) | (m_monitor<<8);
color = color >> 2;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( mario )
{
mario_state *state = machine.driver_data<mario_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mario_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_gfx_bank = 0;
diff --git a/src/mame/video/markham.c b/src/mame/video/markham.c
index 795604dce98..78c73dbb0fe 100644
--- a/src/mame/video/markham.c
+++ b/src/mame/video/markham.c
@@ -55,20 +55,19 @@ WRITE8_MEMBER(markham_state::markham_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(markham_state::get_bg_tile_info)
{
- markham_state *state = machine.driver_data<markham_state>();
- int attr = state->m_videoram[tile_index * 2];
- int code = state->m_videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
+ int attr = m_videoram[tile_index * 2];
+ int code = m_videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
int color = (attr & 0x1f) | ((attr & 0x80) >> 2);
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( markham )
{
markham_state *state = machine.driver_data<markham_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(markham_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_rows(32);
}
diff --git a/src/mame/video/mcatadv.c b/src/mame/video/mcatadv.c
index 4af6dac3cea..9d64e773eb3 100644
--- a/src/mame/video/mcatadv.c
+++ b/src/mame/video/mcatadv.c
@@ -13,14 +13,13 @@ ToDo: Fix Sprites & Rowscroll/Select for Cocktail
#include "emu.h"
#include "includes/mcatadv.h"
-static TILE_GET_INFO( get_mcatadv_tile_info1 )
+TILE_GET_INFO_MEMBER(mcatadv_state::get_mcatadv_tile_info1)
{
- mcatadv_state *state = machine.driver_data<mcatadv_state>();
- int tileno = state->m_videoram1[tile_index * 2 + 1];
- int colour = (state->m_videoram1[tile_index * 2] & 0x3f00) >> 8;
- int pri = (state->m_videoram1[tile_index * 2] & 0xc000) >> 14;
+ int tileno = m_videoram1[tile_index * 2 + 1];
+ int colour = (m_videoram1[tile_index * 2] & 0x3f00) >> 8;
+ int pri = (m_videoram1[tile_index * 2] & 0xc000) >> 14;
- SET_TILE_INFO(0,tileno,colour + state->m_palette_bank1 * 0x40, 0);
+ SET_TILE_INFO_MEMBER(0,tileno,colour + m_palette_bank1 * 0x40, 0);
tileinfo.category = pri;
}
@@ -31,14 +30,13 @@ WRITE16_MEMBER(mcatadv_state::mcatadv_videoram1_w)
m_tilemap1->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_mcatadv_tile_info2 )
+TILE_GET_INFO_MEMBER(mcatadv_state::get_mcatadv_tile_info2)
{
- mcatadv_state *state = machine.driver_data<mcatadv_state>();
- int tileno = state->m_videoram2[tile_index * 2 + 1];
- int colour = (state->m_videoram2[tile_index * 2] & 0x3f00) >> 8;
- int pri = (state->m_videoram2[tile_index * 2] & 0xc000) >> 14;
+ int tileno = m_videoram2[tile_index * 2 + 1];
+ int colour = (m_videoram2[tile_index * 2] & 0x3f00) >> 8;
+ int pri = (m_videoram2[tile_index * 2] & 0xc000) >> 14;
- SET_TILE_INFO(1, tileno, colour + state->m_palette_bank2 * 0x40, 0);
+ SET_TILE_INFO_MEMBER(1, tileno, colour + m_palette_bank2 * 0x40, 0);
tileinfo.category = pri;
}
@@ -253,10 +251,10 @@ SCREEN_UPDATE_IND16( mcatadv )
VIDEO_START( mcatadv )
{
mcatadv_state *state = machine.driver_data<mcatadv_state>();
- state->m_tilemap1 = tilemap_create(machine, get_mcatadv_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tilemap1->set_transparent_pen(0);
- state->m_tilemap2 = tilemap_create(machine, get_mcatadv_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcatadv_state::get_mcatadv_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tilemap2->set_transparent_pen(0);
state->m_spriteram_old = auto_alloc_array_clear(machine, UINT16, state->m_spriteram.bytes() / 2);
diff --git a/src/mame/video/mcr.c b/src/mame/video/mcr.c
index ff482434ca2..22eacc0d306 100644
--- a/src/mame/video/mcr.c
+++ b/src/mame/video/mcr.c
@@ -26,11 +26,10 @@ static tilemap_t *bg_tilemap;
Byte 0:
pppppppp = picture index
*/
-static TILE_GET_INFO( mcr_90009_get_tile_info )
+TILE_GET_INFO_MEMBER(mcr_state::mcr_90009_get_tile_info)
{
- mcr_state *state = machine.driver_data<mcr_state>();
- UINT8 *videoram = state->m_videoram;
- SET_TILE_INFO(0, videoram[tile_index], 0, 0);
+ UINT8 *videoram = m_videoram;
+ SET_TILE_INFO_MEMBER(0, videoram[tile_index], 0, 0);
/* sprite color base is constant 0x10 */
tileinfo.category = 1;
@@ -50,14 +49,13 @@ static TILE_GET_INFO( mcr_90009_get_tile_info )
------x- = X flip
-------p = picture index (high 1 bit)
*/
-static TILE_GET_INFO( mcr_90010_get_tile_info )
+TILE_GET_INFO_MEMBER(mcr_state::mcr_90010_get_tile_info)
{
- mcr_state *state = machine.driver_data<mcr_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
int code = data & 0x1ff;
int color = (data >> 11) & 3;
- SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 9) & 3));
+ SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 9) & 3));
/* sprite color base comes from the top 2 bits */
tileinfo.category = (data >> 14) & 3;
@@ -77,14 +75,13 @@ static TILE_GET_INFO( mcr_90010_get_tile_info )
-----x-- = X flip
------pp = picture index (high 2 bits)
*/
-static TILE_GET_INFO( mcr_91490_get_tile_info )
+TILE_GET_INFO_MEMBER(mcr_state::mcr_91490_get_tile_info)
{
- mcr_state *state = machine.driver_data<mcr_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
int code = data & 0x3ff;
int color = (data >> 12) & 3;
- SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
+ SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
/* sprite color base might come from the top 2 bits */
tileinfo.category = (data >> 14) & 3;
@@ -100,23 +97,24 @@ static TILE_GET_INFO( mcr_91490_get_tile_info )
VIDEO_START( mcr )
{
+ mcr_state *state = machine.driver_data<mcr_state>();
/* the tilemap callback is based on the CPU board */
switch (mcr_cpu_board)
{
case 90009:
- bg_tilemap = tilemap_create(machine, mcr_90009_get_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_90009_get_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
break;
case 90010:
- bg_tilemap = tilemap_create(machine, mcr_90010_get_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_90010_get_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
break;
case 91475:
- bg_tilemap = tilemap_create(machine, mcr_90010_get_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_90010_get_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
break;
case 91490:
- bg_tilemap = tilemap_create(machine, mcr_91490_get_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr_state::mcr_91490_get_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
break;
default:
diff --git a/src/mame/video/mcr3.c b/src/mame/video/mcr3.c
index 53d9a38c8c3..f739e1f286c 100644
--- a/src/mame/video/mcr3.c
+++ b/src/mame/video/mcr3.c
@@ -17,50 +17,46 @@
*************************************/
#ifdef UNUSED_FUNCTION
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mcr3_state::get_bg_tile_info)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
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(0, code, color, TILE_FLIPYX((data >> 10) & 3));
+ SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
}
#endif
-static TILE_GET_INFO( mcrmono_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mcr3_state::mcrmono_get_bg_tile_info)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
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(0, code, color, TILE_FLIPYX((data >> 10) & 3));
+ SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
}
-static TILEMAP_MAPPER( spyhunt_bg_scan )
+TILEMAP_MAPPER_MEMBER(mcr3_state::spyhunt_bg_scan)
{
/* logical (col,row) -> memory offset */
return (row & 0x0f) | ((col & 0x3f) << 4) | ((row & 0x10) << 6);
}
-static TILE_GET_INFO( spyhunt_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mcr3_state::spyhunt_get_bg_tile_info)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int data = videoram[tile_index];
int code = (data & 0x3f) | ((data >> 1) & 0x40);
- SET_TILE_INFO(0, code, 0, (data & 0x40) ? TILE_FLIPY : 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, (data & 0x40) ? TILE_FLIPY : 0);
}
-static TILE_GET_INFO( spyhunt_get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(mcr3_state::spyhunt_get_alpha_tile_info)
{
- mcr3_state *state = machine.driver_data<mcr3_state>();
- SET_TILE_INFO(2, state->m_spyhunt_alpharam[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(2, m_spyhunt_alpharam[tile_index], 0, 0);
}
@@ -93,7 +89,7 @@ VIDEO_START( mcr3 )
{
mcr3_state *state = machine.driver_data<mcr3_state>();
/* initialize the background tilemap */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
}
#endif
@@ -102,7 +98,7 @@ VIDEO_START( mcrmono )
{
mcr3_state *state = machine.driver_data<mcr3_state>();
/* initialize the background tilemap */
- state->m_bg_tilemap = tilemap_create(machine, mcrmono_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,30);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::mcrmono_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,30);
}
@@ -110,10 +106,10 @@ VIDEO_START( spyhunt )
{
mcr3_state *state = machine.driver_data<mcr3_state>();
/* initialize the background tilemap */
- state->m_bg_tilemap = tilemap_create(machine, spyhunt_get_bg_tile_info, spyhunt_bg_scan, 64,32, 64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::spyhunt_get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(mcr3_state::spyhunt_bg_scan),state), 64,32, 64,32);
/* initialize the text tilemap */
- state->m_alpha_tilemap = tilemap_create(machine, spyhunt_get_alpha_tile_info, TILEMAP_SCAN_COLS, 16,16, 32,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr3_state::spyhunt_get_alpha_tile_info),state), TILEMAP_SCAN_COLS, 16,16, 32,32);
state->m_alpha_tilemap->set_transparent_pen(0);
state->m_alpha_tilemap->set_scrollx(0, 16);
diff --git a/src/mame/video/mcr68.c b/src/mame/video/mcr68.c
index 9f6a32c42e8..871f54c6175 100644
--- a/src/mame/video/mcr68.c
+++ b/src/mame/video/mcr68.c
@@ -18,36 +18,33 @@
*
*************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mcr68_state::get_bg_tile_info)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
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(0, code, color, TILE_FLIPYX((data >> 10) & 3));
- if (machine.gfx[0]->elements() < 0x1000)
+ SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
+ if (machine().gfx[0]->elements() < 0x1000)
tileinfo.category = (data >> 15) & 1;
}
-static TILE_GET_INFO( zwackery_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mcr68_state::zwackery_get_bg_tile_info)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int data = videoram[tile_index];
int color = (data >> 13) & 7;
- SET_TILE_INFO(0, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
+ SET_TILE_INFO_MEMBER(0, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
}
-static TILE_GET_INFO( zwackery_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(mcr68_state::zwackery_get_fg_tile_info)
{
- mcr68_state *state = machine.driver_data<mcr68_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int data = videoram[tile_index];
int color = (data >> 13) & 7;
- SET_TILE_INFO(2, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
+ SET_TILE_INFO_MEMBER(2, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
tileinfo.category = (color != 0);
}
@@ -63,7 +60,7 @@ VIDEO_START( mcr68 )
{
mcr68_state *state = machine.driver_data<mcr68_state>();
/* initialize the background tilemap */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr68_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32);
state->m_bg_tilemap->set_transparent_pen(0);
}
@@ -79,10 +76,10 @@ VIDEO_START( zwackery )
int code, y, x;
/* initialize the background tilemap */
- state->m_bg_tilemap = tilemap_create(machine, zwackery_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr68_state::zwackery_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32);
/* initialize the foreground tilemap */
- state->m_fg_tilemap = tilemap_create(machine, zwackery_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mcr68_state::zwackery_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,32);
state->m_fg_tilemap->set_transparent_pen(0);
/* allocate memory for the assembled gfx data */
diff --git a/src/mame/video/meadows.c b/src/mame/video/meadows.c
index 605ba8b1e9d..a877184199f 100644
--- a/src/mame/video/meadows.c
+++ b/src/mame/video/meadows.c
@@ -18,11 +18,10 @@
*
*************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(meadows_state::get_tile_info)
{
- meadows_state *state = machine.driver_data<meadows_state>();
- UINT8 *videoram = state->m_videoram;
- SET_TILE_INFO(0, videoram[tile_index] & 0x7f, 0, 0);
+ UINT8 *videoram = m_videoram;
+ SET_TILE_INFO_MEMBER(0, videoram[tile_index] & 0x7f, 0, 0);
}
@@ -36,7 +35,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( meadows )
{
meadows_state *state = machine.driver_data<meadows_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,30);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(meadows_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,30);
}
diff --git a/src/mame/video/megasys1.c b/src/mame/video/megasys1.c
index 07c64deee91..4a1593e0308 100644
--- a/src/mame/video/megasys1.c
+++ b/src/mame/video/megasys1.c
@@ -335,34 +335,32 @@ WRITE16_MEMBER(megasys1_state::megasys1_scrollram_2_w){ scrollram_w(&space, offs
3 2 x 16 2 x 4
*/
-static TILEMAP_MAPPER( megasys1_scan_8x8 )
+TILEMAP_MAPPER_MEMBER(megasys1_state::megasys1_scan_8x8)
{
return (col * TILES_PER_PAGE_Y) +
(row / TILES_PER_PAGE_Y) * TILES_PER_PAGE * (num_cols / TILES_PER_PAGE_X) +
(row % TILES_PER_PAGE_Y);
}
-static TILEMAP_MAPPER( megasys1_scan_16x16 )
+TILEMAP_MAPPER_MEMBER(megasys1_state::megasys1_scan_16x16)
{
return ( ((col / 2) * (TILES_PER_PAGE_Y / 2)) +
((row / 2) / (TILES_PER_PAGE_Y / 2)) * (TILES_PER_PAGE / 4) * (num_cols / TILES_PER_PAGE_X) +
((row / 2) % (TILES_PER_PAGE_Y / 2)) )*4 + (row&1) + (col&1)*2;
}
-static TILE_GET_INFO( megasys1_get_scroll_tile_info_8x8 )
+TILE_GET_INFO_MEMBER(megasys1_state::megasys1_get_scroll_tile_info_8x8)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
int tmap = (FPTR)param;
- UINT16 code = state->m_scrollram[tmap][tile_index];
- SET_TILE_INFO(tmap, (code & 0xfff) * state->m_8x8_scroll_factor[tmap], code >> (16 - state->m_bits_per_color_code), 0);
+ 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);
}
-static TILE_GET_INFO( megasys1_get_scroll_tile_info_16x16 )
+TILE_GET_INFO_MEMBER(megasys1_state::megasys1_get_scroll_tile_info_16x16)
{
- megasys1_state *state = machine.driver_data<megasys1_state>();
int tmap = (FPTR)param;
- UINT16 code = state->m_scrollram[tmap][tile_index/4];
- SET_TILE_INFO(tmap, (code & 0xfff) * state->m_16x16_scroll_factor[tmap] + (tile_index & 3), code >> (16 - state->m_bits_per_color_code), 0);
+ 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);
}
static void create_tilemaps(running_machine &machine)
@@ -373,23 +371,23 @@ static void create_tilemaps(running_machine &machine)
for (layer = 0; layer < 3; layer++)
{
/* 16x16 tilemaps */
- state->m_tilemap[layer][0][0] = tilemap_create(machine, megasys1_get_scroll_tile_info_16x16, megasys1_scan_16x16,
+ state->m_tilemap[layer][0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),state),
8,8, TILES_PER_PAGE_X * 16, TILES_PER_PAGE_Y * 2);
- state->m_tilemap[layer][0][1] = tilemap_create(machine, megasys1_get_scroll_tile_info_16x16, megasys1_scan_16x16,
+ state->m_tilemap[layer][0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),state),
8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 4);
- state->m_tilemap[layer][0][2] = tilemap_create(machine, megasys1_get_scroll_tile_info_16x16, megasys1_scan_16x16,
+ state->m_tilemap[layer][0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),state),
8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 8);
- state->m_tilemap[layer][0][3] = tilemap_create(machine, megasys1_get_scroll_tile_info_16x16, megasys1_scan_16x16,
+ state->m_tilemap[layer][0][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_16x16),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_16x16),state),
8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 16);
/* 8x8 tilemaps */
- state->m_tilemap[layer][1][0] = tilemap_create(machine, megasys1_get_scroll_tile_info_8x8, megasys1_scan_8x8,
+ state->m_tilemap[layer][1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),state),
8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 1);
- state->m_tilemap[layer][1][1] = tilemap_create(machine, megasys1_get_scroll_tile_info_8x8, megasys1_scan_8x8,
+ state->m_tilemap[layer][1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),state),
8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
- state->m_tilemap[layer][1][2] = tilemap_create(machine, megasys1_get_scroll_tile_info_8x8, megasys1_scan_8x8,
+ state->m_tilemap[layer][1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),state),
8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
- state->m_tilemap[layer][1][3] = tilemap_create(machine, megasys1_get_scroll_tile_info_8x8, megasys1_scan_8x8,
+ state->m_tilemap[layer][1][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(megasys1_state::megasys1_get_scroll_tile_info_8x8),state), tilemap_mapper_delegate(FUNC(megasys1_state::megasys1_scan_8x8),state),
8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 4);
/* set user data and transparency */
diff --git a/src/mame/video/mermaid.c b/src/mame/video/mermaid.c
index bdabe16d927..d800216ccbc 100644
--- a/src/mame/video/mermaid.c
+++ b/src/mame/video/mermaid.c
@@ -143,38 +143,36 @@ READ8_MEMBER(mermaid_state::mermaid_collision_r)
return collision;
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mermaid_state::get_bg_tile_info)
{
- mermaid_state *state = machine.driver_data<mermaid_state>();
- int code = state->m_videoram2[tile_index];
+ int code = m_videoram2[tile_index];
int sx = tile_index % 32;
int color = (sx >= 26) ? 0 : 1;
- SET_TILE_INFO(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(mermaid_state::get_fg_tile_info)
{
- mermaid_state *state = machine.driver_data<mermaid_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0x30) << 4);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0x30) << 4);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
- code |= state->m_rougien_gfxbank1 * 0x2800;
- code |= state->m_rougien_gfxbank2 * 0x2400;
+ code |= m_rougien_gfxbank1 * 0x2800;
+ code |= m_rougien_gfxbank2 * 0x2400;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( mermaid )
{
mermaid_state *state = machine.driver_data<mermaid_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mermaid_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mermaid_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_scroll_cols(32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/metlclsh.c b/src/mame/video/metlclsh.c
index 450f3f2d1d5..1d39ea2004a 100644
--- a/src/mame/video/metlclsh.c
+++ b/src/mame/video/metlclsh.c
@@ -64,15 +64,14 @@ WRITE8_MEMBER(metlclsh_state::metlclsh_gfxbank_w)
***************************************************************************/
-static TILEMAP_MAPPER( metlclsh_bgtilemap_scan )
+TILEMAP_MAPPER_MEMBER(metlclsh_state::metlclsh_bgtilemap_scan)
{
return (row & 7) + ((row & ~7) << 4) + ((col & 0xf) << 3) + ((col & ~0xf) << 4);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(metlclsh_state::get_bg_tile_info)
{
- metlclsh_state *state = machine.driver_data<metlclsh_state>();
- SET_TILE_INFO(1, state->m_bgram[tile_index] + (state->m_gfxbank << 7), 0, 0);
+ SET_TILE_INFO_MEMBER(1, m_bgram[tile_index] + (m_gfxbank << 7), 0, 0);
}
WRITE8_MEMBER(metlclsh_state::metlclsh_bgram_w)
@@ -112,12 +111,11 @@ WRITE8_MEMBER(metlclsh_state::metlclsh_bgram_w)
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(metlclsh_state::get_fg_tile_info)
{
- metlclsh_state *state = machine.driver_data<metlclsh_state>();
- UINT8 code = state->m_fgram[tile_index + 0x000];
- UINT8 attr = state->m_fgram[tile_index + 0x400];
- SET_TILE_INFO(2, code + ((attr & 0x03) << 8), (attr >> 5) & 3, 0);
+ 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);
tileinfo.category = ((attr & 0x80) ? 1 : 2);
}
@@ -140,8 +138,8 @@ VIDEO_START( metlclsh )
state->m_otherram = auto_alloc_array(machine, UINT8, 0x800); // banked ram
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, metlclsh_bgtilemap_scan, 16, 16, 32, 16);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(metlclsh_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(metlclsh_state::metlclsh_bgtilemap_scan),state), 16, 16, 32, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(metlclsh_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/metro.c b/src/mame/video/metro.c
index a53dff022a9..61b8d79e061 100644
--- a/src/mame/video/metro.c
+++ b/src/mame/video/metro.c
@@ -55,24 +55,22 @@ Note: if MAME_DEBUG is defined, pressing Z with:
#include "includes/metro.h"
#include "video/konicdev.h"
-static TILE_GET_INFO( metro_k053936_get_tile_info )
+TILE_GET_INFO_MEMBER(metro_state::metro_k053936_get_tile_info)
{
- metro_state *state = machine.driver_data<metro_state>();
- int code = state->m_k053936_ram[tile_index];
+ int code = m_k053936_ram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
code & 0x7fff,
0x1e,
0);
}
-static TILE_GET_INFO( metro_k053936_gstrik2_get_tile_info )
+TILE_GET_INFO_MEMBER(metro_state::metro_k053936_gstrik2_get_tile_info)
{
- metro_state *state = machine.driver_data<metro_state>();
- int code = state->m_k053936_ram[tile_index];
+ int code = m_k053936_ram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
(code & 0x7fff)>>2,
0x1e,
@@ -85,7 +83,7 @@ WRITE16_MEMBER(metro_state::metro_k053936_w)
m_k053936_tilemap->mark_tile_dirty(offset);
}
-static TILEMAP_MAPPER( tilemap_scan_gstrik2 )
+TILEMAP_MAPPER_MEMBER(metro_state::tilemap_scan_gstrik2)
{
/* logical (col,row) -> memory offset */
int val;
@@ -358,7 +356,7 @@ VIDEO_START( blzntrnd )
state->m_has_zoom = 1;
- state->m_k053936_tilemap = tilemap_create(machine, metro_k053936_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 512);
+ state->m_k053936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(metro_state::metro_k053936_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 256, 512);
state->m_bg_tilemap_scrolldx[0] = 8;
state->m_bg_tilemap_scrolldx[1] = 8;
@@ -373,7 +371,7 @@ VIDEO_START( gstrik2 )
state->m_has_zoom = 1;
- state->m_k053936_tilemap = tilemap_create(machine, metro_k053936_gstrik2_get_tile_info, tilemap_scan_gstrik2, 16, 16, 128, 256);
+ state->m_k053936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(metro_state::metro_k053936_gstrik2_get_tile_info),state), tilemap_mapper_delegate(FUNC(metro_state::tilemap_scan_gstrik2),state), 16, 16, 128, 256);
state->m_bg_tilemap_scrolldx[0] = 8;
state->m_bg_tilemap_scrolldx[1] = 0;
diff --git a/src/mame/video/mikie.c b/src/mame/video/mikie.c
index d2faeac4c97..660c537a46a 100644
--- a/src/mame/video/mikie.c
+++ b/src/mame/video/mikie.c
@@ -121,18 +121,17 @@ WRITE8_MEMBER(mikie_state::mikie_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mikie_state::get_bg_tile_info)
{
- mikie_state *state = machine.driver_data<mikie_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x20) << 3);
- int color = (state->m_colorram[tile_index] & 0x0f) + 16 * state->m_palettebank;
- int flags = ((state->m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
- if (state->m_colorram[tile_index] & 0x10)
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x20) << 3);
+ int color = (m_colorram[tile_index] & 0x0f) + 16 * m_palettebank;
+ int flags = ((m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ if (m_colorram[tile_index] & 0x10)
tileinfo.category = 1;
else
tileinfo.category = 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
@@ -140,7 +139,7 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( mikie )
{
mikie_state *state = machine.driver_data<mikie_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mikie_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/mitchell.c b/src/mame/video/mitchell.c
index fccf99c955e..40455eebef2 100644
--- a/src/mame/video/mitchell.c
+++ b/src/mame/video/mitchell.c
@@ -14,12 +14,11 @@
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(mitchell_state::get_tile_info)
{
- mitchell_state *state = machine.driver_data<mitchell_state>();
- UINT8 attr = state->m_colorram[tile_index];
- int code = state->m_videoram[2 * tile_index] + (state->m_videoram[2 * tile_index + 1] << 8);
- SET_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(
0,
code,
attr & 0x7f,
@@ -38,7 +37,7 @@ VIDEO_START( pang )
{
mitchell_state *state = machine.driver_data<mitchell_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mitchell_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_transparent_pen(15);
/* OBJ RAM */
diff --git a/src/mame/video/mjkjidai.c b/src/mame/video/mjkjidai.c
index 5a4070afa56..9dee144db4b 100644
--- a/src/mame/video/mjkjidai.c
+++ b/src/mame/video/mjkjidai.c
@@ -8,14 +8,13 @@
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(mjkjidai_state::get_tile_info)
{
- mjkjidai_state *state = machine.driver_data<mjkjidai_state>();
- int attr = state->m_videoram[tile_index + 0x800];
- int code = state->m_videoram[tile_index] + ((attr & 0x1f) << 8);
- int color = state->m_videoram[tile_index + 0x1000];
- SET_TILE_INFO(0,code,color >> 3,0);
+ 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);
}
@@ -29,7 +28,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( mjkjidai )
{
mjkjidai_state *state = machine.driver_data<mjkjidai_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mjkjidai_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
}
diff --git a/src/mame/video/mosaic.c b/src/mame/video/mosaic.c
index 80131672d92..0be63e44352 100644
--- a/src/mame/video/mosaic.c
+++ b/src/mame/video/mosaic.c
@@ -15,24 +15,22 @@
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(mosaic_state::get_fg_tile_info)
{
- mosaic_state *state = machine.driver_data<mosaic_state>();
tile_index *= 2;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_fgvideoram[tile_index] + (state->m_fgvideoram[tile_index+1] << 8),
+ m_fgvideoram[tile_index] + (m_fgvideoram[tile_index+1] << 8),
0,
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mosaic_state::get_bg_tile_info)
{
- mosaic_state *state = machine.driver_data<mosaic_state>();
tile_index *= 2;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- state->m_bgvideoram[tile_index] + (state->m_bgvideoram[tile_index+1] << 8),
+ m_bgvideoram[tile_index] + (m_bgvideoram[tile_index+1] << 8),
0,
0);
}
@@ -49,8 +47,8 @@ VIDEO_START( mosaic )
{
mosaic_state *state = machine.driver_data<mosaic_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mosaic_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mosaic_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(0xff);
}
diff --git a/src/mame/video/mrdo.c b/src/mame/video/mrdo.c
index 760daef1776..697d78749f7 100644
--- a/src/mame/video/mrdo.c
+++ b/src/mame/video/mrdo.c
@@ -134,24 +134,22 @@ PALETTE_INIT( mrdo )
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mrdo_state::get_bg_tile_info)
{
- mrdo_state *state = machine.driver_data<mrdo_state>();
- UINT8 attr = state->m_bgvideoram[tile_index];
- SET_TILE_INFO(
+ UINT8 attr = m_bgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
- state->m_bgvideoram[tile_index + 0x400] + ((attr & 0x80) << 1),
+ m_bgvideoram[tile_index + 0x400] + ((attr & 0x80) << 1),
attr & 0x3f,
(attr & 0x40) ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(mrdo_state::get_fg_tile_info)
{
- mrdo_state *state = machine.driver_data<mrdo_state>();
- UINT8 attr = state->m_fgvideoram[tile_index];
- SET_TILE_INFO(
+ UINT8 attr = m_fgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_fgvideoram[tile_index+0x400] + ((attr & 0x80) << 1),
+ m_fgvideoram[tile_index+0x400] + ((attr & 0x80) << 1),
attr & 0x3f,
(attr & 0x40) ? TILE_FORCE_LAYER0 : 0);
}
@@ -168,8 +166,8 @@ VIDEO_START( mrdo )
{
mrdo_state *state = machine.driver_data<mrdo_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mrdo_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mrdo_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/mrjong.c b/src/mame/video/mrjong.c
index 9a381d194db..492a5ed624c 100644
--- a/src/mame/video/mrjong.c
+++ b/src/mame/video/mrjong.c
@@ -90,20 +90,19 @@ WRITE8_MEMBER(mrjong_state::mrjong_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mrjong_state::get_bg_tile_info)
{
- mrjong_state *state = machine.driver_data<mrjong_state>();
- int code = state->m_videoram[tile_index] | ((state->m_colorram[tile_index] & 0x20) << 3);
- int color = state->m_colorram[tile_index] & 0x1f;
- int flags = ((state->m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = m_videoram[tile_index] | ((m_colorram[tile_index] & 0x20) << 3);
+ 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(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( mrjong )
{
mrjong_state *state = machine.driver_data<mrjong_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS_FLIP_XY, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mrjong_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_XY, 8, 8, 32, 32);
}
/*
diff --git a/src/mame/video/ms32.c b/src/mame/video/ms32.c
index e3baa5e11ee..de19af46efc 100644
--- a/src/mame/video/ms32.c
+++ b/src/mame/video/ms32.c
@@ -20,48 +20,44 @@ priority should be given to
/********** Tilemaps **********/
-static TILE_GET_INFO( get_ms32_tx_tile_info )
+TILE_GET_INFO_MEMBER(ms32_state::get_ms32_tx_tile_info)
{
- ms32_state *state = machine.driver_data<ms32_state>();
int tileno, colour;
- tileno = state->m_txram_16[tile_index *2] & 0xffff;
- colour = state->m_txram_16[tile_index *2+1] & 0x000f;
+ tileno = m_txram_16[tile_index *2] & 0xffff;
+ colour = m_txram_16[tile_index *2+1] & 0x000f;
- SET_TILE_INFO(3,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(3,tileno,colour,0);
}
-static TILE_GET_INFO( get_ms32_roz_tile_info )
+TILE_GET_INFO_MEMBER(ms32_state::get_ms32_roz_tile_info)
{
- ms32_state *state = machine.driver_data<ms32_state>();
int tileno,colour;
- tileno = state->m_rozram_16[tile_index *2] & 0xffff;
- colour = state->m_rozram_16[tile_index *2+1] & 0x000f;
+ tileno = m_rozram_16[tile_index *2] & 0xffff;
+ colour = m_rozram_16[tile_index *2+1] & 0x000f;
- SET_TILE_INFO(1,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(1,tileno,colour,0);
}
-static TILE_GET_INFO( get_ms32_bg_tile_info )
+TILE_GET_INFO_MEMBER(ms32_state::get_ms32_bg_tile_info)
{
- ms32_state *state = machine.driver_data<ms32_state>();
int tileno,colour;
- tileno = state->m_bgram_16[tile_index *2] & 0xffff;
- colour = state->m_bgram_16[tile_index *2+1] & 0x000f;
+ tileno = m_bgram_16[tile_index *2] & 0xffff;
+ colour = m_bgram_16[tile_index *2+1] & 0x000f;
- SET_TILE_INFO(2,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(2,tileno,colour,0);
}
-static TILE_GET_INFO( get_ms32_extra_tile_info )
+TILE_GET_INFO_MEMBER(ms32_state::get_ms32_extra_tile_info)
{
- ms32_state *state = machine.driver_data<ms32_state>();
int tileno,colour;
- tileno = state->m_f1superb_extraram_16[tile_index *2] & 0xffff;
- colour = state->m_f1superb_extraram_16[tile_index *2+1] & 0x000f;
+ tileno = m_f1superb_extraram_16[tile_index *2] & 0xffff;
+ colour = m_f1superb_extraram_16[tile_index *2+1] & 0x000f;
- SET_TILE_INFO(4,tileno,colour+0x50,0);
+ SET_TILE_INFO_MEMBER(4,tileno,colour+0x50,0);
}
@@ -78,10 +74,10 @@ VIDEO_START( ms32 )
state->m_bgram_16 = auto_alloc_array_clear(machine, UINT16, 0x4000);
state->m_txram_16 = auto_alloc_array_clear(machine, UINT16, 0x4000);
- state->m_tx_tilemap = tilemap_create(machine, get_ms32_tx_tile_info,TILEMAP_SCAN_ROWS,8, 8,64,64);
- state->m_bg_tilemap = tilemap_create(machine, get_ms32_bg_tile_info,TILEMAP_SCAN_ROWS,16,16,64,64);
- state->m_bg_tilemap_alt = tilemap_create(machine, get_ms32_bg_tile_info,TILEMAP_SCAN_ROWS,16,16,256,16); // alt layout, controller by register?
- state->m_roz_tilemap = tilemap_create(machine, get_ms32_roz_tile_info,TILEMAP_SCAN_ROWS,16,16,128,128);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_tx_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,64,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_bg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,64);
+ state->m_bg_tilemap_alt = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_bg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,256,16); // alt layout, controller by register?
+ state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_roz_tile_info),state),TILEMAP_SCAN_ROWS,16,16,128,128);
/* set up tile layers */
@@ -119,7 +115,7 @@ VIDEO_START( f1superb )
VIDEO_START_CALL( ms32 );
state->m_f1superb_extraram_16 = auto_alloc_array_clear(machine, UINT16, 0x10000);
- state->m_extra_tilemap = tilemap_create(machine, get_ms32_extra_tile_info,TILEMAP_SCAN_ROWS,2048,1,1,0x400);
+ state->m_extra_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_extra_tile_info),state),TILEMAP_SCAN_ROWS,2048,1,1,0x400);
}
diff --git a/src/mame/video/msisaac.c b/src/mame/video/msisaac.c
index 02121beda4f..44adf40b55d 100644
--- a/src/mame/video/msisaac.c
+++ b/src/mame/video/msisaac.c
@@ -12,35 +12,32 @@
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(msisaac_state::get_fg_tile_info)
{
- msisaac_state *state = machine.driver_data<msisaac_state>();
- int tile_number = state->m_videoram[tile_index];
- SET_TILE_INFO( 0,
+ int tile_number = m_videoram[tile_index];
+ SET_TILE_INFO_MEMBER( 0,
tile_number,
0x10,
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(msisaac_state::get_bg_tile_info)
{
- msisaac_state *state = machine.driver_data<msisaac_state>();
- int tile_number = state->m_videoram2[tile_index];
- SET_TILE_INFO( 1,
+ int tile_number = m_videoram2[tile_index];
+ SET_TILE_INFO_MEMBER( 1,
0x100 + tile_number,
0x30,
0);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(msisaac_state::get_bg2_tile_info)
{
- msisaac_state *state = machine.driver_data<msisaac_state>();
- int tile_number = state->m_videoram3[tile_index];
+ int tile_number = m_videoram3[tile_index];
/* graphics 0 or 1 */
- int gfx_b = (state->m_bg2_textbank >> 3) & 1;
+ int gfx_b = (m_bg2_textbank >> 3) & 1;
- SET_TILE_INFO( gfx_b,
+ SET_TILE_INFO_MEMBER( gfx_b,
tile_number,
0x20,
0);
@@ -55,9 +52,9 @@ static TILE_GET_INFO( get_bg2_tile_info )
VIDEO_START( msisaac )
{
msisaac_state *state = machine.driver_data<msisaac_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(msisaac_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(msisaac_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(msisaac_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg2_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/mugsmash.c b/src/mame/video/mugsmash.c
index fa4a585f495..f3633646ca3 100644
--- a/src/mame/video/mugsmash.c
+++ b/src/mame/video/mugsmash.c
@@ -59,7 +59,7 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
}
}
-static TILE_GET_INFO( get_mugsmash_tile_info1 )
+TILE_GET_INFO_MEMBER(mugsmash_state::get_mugsmash_tile_info1)
{
/* fF-- cccc nnnn nnnn */
@@ -70,14 +70,13 @@ static TILE_GET_INFO( get_mugsmash_tile_info1 )
f = flip-Y
*/
- mugsmash_state *state = machine.driver_data<mugsmash_state>();
int tileno, colour, fx;
- tileno = state->m_videoram1[tile_index * 2 + 1];
- colour = state->m_videoram1[tile_index * 2] & 0x000f;
- fx = (state->m_videoram1[tile_index * 2] & 0xc0) >> 6;
+ tileno = m_videoram1[tile_index * 2 + 1];
+ colour = m_videoram1[tile_index * 2] & 0x000f;
+ fx = (m_videoram1[tile_index * 2] & 0xc0) >> 6;
- SET_TILE_INFO(1, tileno, colour, TILE_FLIPYX(fx));
+ SET_TILE_INFO_MEMBER(1, tileno, colour, TILE_FLIPYX(fx));
}
WRITE16_MEMBER(mugsmash_state::mugsmash_videoram1_w)
@@ -87,7 +86,7 @@ WRITE16_MEMBER(mugsmash_state::mugsmash_videoram1_w)
m_tilemap1->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_mugsmash_tile_info2 )
+TILE_GET_INFO_MEMBER(mugsmash_state::get_mugsmash_tile_info2)
{
/* fF-- cccc nnnn nnnn */
@@ -98,14 +97,13 @@ static TILE_GET_INFO( get_mugsmash_tile_info2 )
f = flip-Y
*/
- mugsmash_state *state = machine.driver_data<mugsmash_state>();
int tileno, colour, fx;
- tileno = state->m_videoram2[tile_index * 2 + 1];
- colour = state->m_videoram2[tile_index * 2] & 0x000f;
- fx = (state->m_videoram2[tile_index * 2] & 0xc0) >> 6;
+ tileno = m_videoram2[tile_index * 2 + 1];
+ colour = m_videoram2[tile_index * 2] & 0x000f;
+ fx = (m_videoram2[tile_index * 2] & 0xc0) >> 6;
- SET_TILE_INFO(1, tileno, 16 + colour, TILE_FLIPYX(fx));
+ SET_TILE_INFO_MEMBER(1, tileno, 16 + colour, TILE_FLIPYX(fx));
}
WRITE16_MEMBER(mugsmash_state::mugsmash_videoram2_w)
@@ -142,10 +140,10 @@ VIDEO_START( mugsmash )
{
mugsmash_state *state = machine.driver_data<mugsmash_state>();
- state->m_tilemap1 = tilemap_create(machine, get_mugsmash_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mugsmash_state::get_mugsmash_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tilemap1->set_transparent_pen(0);
- state->m_tilemap2 = tilemap_create(machine, get_mugsmash_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mugsmash_state::get_mugsmash_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
}
SCREEN_UPDATE_IND16( mugsmash )
diff --git a/src/mame/video/mustache.c b/src/mame/video/mustache.c
index e9905e88b0f..edea4a79b86 100644
--- a/src/mame/video/mustache.c
+++ b/src/mame/video/mustache.c
@@ -76,15 +76,14 @@ WRITE8_MEMBER(mustache_state::mustache_scroll_w)
m_bg_tilemap->set_scrollx(3, 0x100);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mustache_state::get_bg_tile_info)
{
- mustache_state *state = machine.driver_data<mustache_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int attr = videoram[2 * tile_index + 1];
- int code = videoram[2 * tile_index] + ((attr & 0x60) << 3) + ((state->m_control_byte & 0x08) << 7);
+ int code = videoram[2 * tile_index] + ((attr & 0x60) << 3) + ((m_control_byte & 0x08) << 7);
int color = attr & 0x0f;
- SET_TILE_INFO(0, code, color, ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0) );
+ SET_TILE_INFO_MEMBER(0, code, color, ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0) );
}
@@ -92,7 +91,7 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( mustache )
{
mustache_state *state = machine.driver_data<mustache_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS_FLIP_X,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mustache_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X,
8, 8, 64, 32);
state->m_bg_tilemap->set_scroll_rows(4);
diff --git a/src/mame/video/mystston.c b/src/mame/video/mystston.c
index b92a6042be2..c2171935e24 100644
--- a/src/mame/video/mystston.c
+++ b/src/mame/video/mystston.c
@@ -148,26 +148,24 @@ WRITE8_MEMBER(mystston_state::mystston_video_control_w)
*
*************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(mystston_state::get_bg_tile_info)
{
- mystston_state *state = machine.driver_data<mystston_state>();
- int page = (*state->m_video_control & 0x04) << 8;
- int code = ((state->m_bg_videoram[page | 0x200 | tile_index] & 0x01) << 8) | state->m_bg_videoram[page | tile_index];
+ int page = (*m_video_control & 0x04) << 8;
+ 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(1, code, 0, flags);
+ SET_TILE_INFO_MEMBER(1, code, 0, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(mystston_state::get_fg_tile_info)
{
- mystston_state *state = machine.driver_data<mystston_state>();
- int code = ((state->m_fg_videoram[0x400 | tile_index] & 0x07) << 8) | state->m_fg_videoram[tile_index];
- int color = ((*state->m_video_control & 0x01) << 1) | ((*state->m_video_control & 0x02) >> 1);
+ 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(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -221,9 +219,9 @@ static VIDEO_START( mystston )
{
mystston_state *state = machine.driver_data<mystston_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mystston_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mystston_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
/* create the interrupt timer */
diff --git a/src/mame/video/mystwarr.c b/src/mame/video/mystwarr.c
index b69045c0649..5f4658fbb57 100644
--- a/src/mame/video/mystwarr.c
+++ b/src/mame/video/mystwarr.c
@@ -140,11 +140,10 @@ static void martchmp_sprite_callback(running_machine &machine, int *code, int *c
-static TILE_GET_INFO( get_gai_936_tile_info )
+TILE_GET_INFO_MEMBER(mystwarr_state::get_gai_936_tile_info)
{
- mystwarr_state *state = machine.driver_data<mystwarr_state>();
int tileno, colour;
- UINT8 *ROM = state->memregion("gfx4")->base();
+ UINT8 *ROM = memregion("gfx4")->base();
UINT8 *dat1 = ROM, *dat2 = ROM + 0x20000, *dat3 = ROM + 0x60000;
tileno = dat3[tile_index] | ((dat2[tile_index]&0x3f)<<8);
@@ -156,9 +155,9 @@ static TILE_GET_INFO( get_gai_936_tile_info )
if (dat2[tile_index] & 0x80) colour |= 0x10;
- colour |= state->m_sub1_colorbase << 4;
+ colour |= m_sub1_colorbase << 4;
- SET_TILE_INFO(0, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
}
VIDEO_START(gaiapols)
@@ -185,22 +184,21 @@ VIDEO_START(gaiapols)
K053936_wraparound_enable(0, 1);
K053936GP_set_offset(0, -10, 0); // floor tiles in demo loop2 (Elaine vs. boss)
- state->m_ult_936_tilemap = tilemap_create(machine, get_gai_936_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
+ state->m_ult_936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mystwarr_state::get_gai_936_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
state->m_ult_936_tilemap->set_transparent_pen(0);
}
-static TILE_GET_INFO( get_ult_936_tile_info )
+TILE_GET_INFO_MEMBER(mystwarr_state::get_ult_936_tile_info)
{
- mystwarr_state *state = machine.driver_data<mystwarr_state>();
int tileno, colour;
- UINT8 *ROM = state->memregion("gfx4")->base();
+ UINT8 *ROM = memregion("gfx4")->base();
UINT8 *dat1 = ROM, *dat2 = ROM + 0x40000;
tileno = dat2[tile_index] | ((dat1[tile_index]&0x1f)<<8);
- colour = state->m_sub1_colorbase;
+ colour = m_sub1_colorbase;
- SET_TILE_INFO(0, tileno, colour, (dat1[tile_index]&0x40) ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(0, tileno, colour, (dat1[tile_index]&0x40) ? TILE_FLIPX : 0);
}
VIDEO_START(dadandrn)
@@ -229,7 +227,7 @@ VIDEO_START(dadandrn)
K053936_wraparound_enable(0, 1);
K053936GP_set_offset(0, -8, 0); // Brainy's laser
- state->m_ult_936_tilemap = tilemap_create(machine, get_ult_936_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
+ state->m_ult_936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mystwarr_state::get_ult_936_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
state->m_ult_936_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/namcona1.c b/src/mame/video/namcona1.c
index bbd39ba2422..7bab78b5cc5 100644
--- a/src/mame/video/namcona1.c
+++ b/src/mame/video/namcona1.c
@@ -62,41 +62,36 @@ static void tilemap_get_info(
}
} /* tilemap_get_info */
-static TILE_GET_INFO( tilemap_get_info0 )
+TILE_GET_INFO_MEMBER(namcona1_state::tilemap_get_info0)
{
- namcona1_state *state = machine.driver_data<namcona1_state>();
- UINT16 *videoram = state->m_videoram;
- tilemap_get_info(machine,tileinfo,tile_index,0*0x1000+videoram,state->m_tilemap_palette_bank[0],state->m_vreg[0xbc/2]&1);
+ UINT16 *videoram = m_videoram;
+ tilemap_get_info(machine(),tileinfo,tile_index,0*0x1000+videoram,m_tilemap_palette_bank[0],m_vreg[0xbc/2]&1);
}
-static TILE_GET_INFO( tilemap_get_info1 )
+TILE_GET_INFO_MEMBER(namcona1_state::tilemap_get_info1)
{
- namcona1_state *state = machine.driver_data<namcona1_state>();
- UINT16 *videoram = state->m_videoram;
- tilemap_get_info(machine,tileinfo,tile_index,1*0x1000+videoram,state->m_tilemap_palette_bank[1],state->m_vreg[0xbc/2]&2);
+ UINT16 *videoram = m_videoram;
+ tilemap_get_info(machine(),tileinfo,tile_index,1*0x1000+videoram,m_tilemap_palette_bank[1],m_vreg[0xbc/2]&2);
}
-static TILE_GET_INFO( tilemap_get_info2 )
+TILE_GET_INFO_MEMBER(namcona1_state::tilemap_get_info2)
{
- namcona1_state *state = machine.driver_data<namcona1_state>();
- UINT16 *videoram = state->m_videoram;
- tilemap_get_info(machine,tileinfo,tile_index,2*0x1000+videoram,state->m_tilemap_palette_bank[2],state->m_vreg[0xbc/2]&4);
+ UINT16 *videoram = m_videoram;
+ tilemap_get_info(machine(),tileinfo,tile_index,2*0x1000+videoram,m_tilemap_palette_bank[2],m_vreg[0xbc/2]&4);
}
-static TILE_GET_INFO( tilemap_get_info3 )
+TILE_GET_INFO_MEMBER(namcona1_state::tilemap_get_info3)
{
- namcona1_state *state = machine.driver_data<namcona1_state>();
- UINT16 *videoram = state->m_videoram;
- tilemap_get_info(machine,tileinfo,tile_index,3*0x1000+videoram,state->m_tilemap_palette_bank[3],state->m_vreg[0xbc/2]&8);
+ UINT16 *videoram = m_videoram;
+ tilemap_get_info(machine(),tileinfo,tile_index,3*0x1000+videoram,m_tilemap_palette_bank[3],m_vreg[0xbc/2]&8);
}
-static TILE_GET_INFO( roz_get_info )
+TILE_GET_INFO_MEMBER(namcona1_state::roz_get_info)
{
- namcona1_state *state = machine.driver_data<namcona1_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
/* each logical tile is constructed from 4*4 normal tiles */
- int tilemap_color = state->m_roz_palette;
- int use_4bpp_gfx = state->m_vreg[0xbc/2]&16; /* ? */
+ int tilemap_color = m_roz_palette;
+ int use_4bpp_gfx = m_vreg[0xbc/2]&16; /* ? */
int c = tile_index%0x40;
int r = tile_index/0x40;
int data = videoram[0x8000/2+(r/4)*0x40+c/4]&0xfbf; /* mask out bit 0x40 - patch for Emeraldia Japan */
@@ -109,16 +104,16 @@ static TILE_GET_INFO( roz_get_info )
}
if( data & 0x8000 )
{
- SET_TILE_INFO( gfx,tile,tilemap_color,TILE_FORCE_LAYER0 );
+ SET_TILE_INFO_MEMBER( gfx,tile,tilemap_color,TILE_FORCE_LAYER0 );
}
else
{
- UINT8 *mask_data = (UINT8 *)(state->m_shaperam+4*tile);
+ UINT8 *mask_data = (UINT8 *)(m_shaperam+4*tile);
if (ENDIANNESS_NATIVE == ENDIANNESS_LITTLE)
{
UINT16 *source = (UINT16 *)mask_data;
- UINT8 *conv_data = state->m_conv_data;
+ UINT8 *conv_data = m_conv_data;
conv_data[0] = source[0]>>8;
conv_data[1] = source[0]&0xff;
conv_data[2] = source[1]>>8;
@@ -129,7 +124,7 @@ static TILE_GET_INFO( roz_get_info )
conv_data[7] = source[3]&0xff;
mask_data = conv_data;
}
- SET_TILE_INFO( gfx,tile,tilemap_color,0 );
+ SET_TILE_INFO_MEMBER( gfx,tile,tilemap_color,0 );
tileinfo.mask_data = mask_data;
}
} /* roz_get_info */
@@ -283,15 +278,20 @@ static void UpdateGfx(running_machine &machine)
VIDEO_START( namcona1 )
{
namcona1_state *state = machine.driver_data<namcona1_state>();
- static const tile_get_info_func get_info[4] = { tilemap_get_info0, tilemap_get_info1, tilemap_get_info2, tilemap_get_info3 };
+ static const tilemap_get_info_delegate get_info[4] = {
+ tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info0),state),
+ tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info1),state),
+ tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info2),state),
+ tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info3),state)
+ };
int i;
- state->m_roz_tilemap = tilemap_create( machine, roz_get_info, TILEMAP_SCAN_ROWS, 8,8,64,64 );
+ state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcona1_state::roz_get_info),state), TILEMAP_SCAN_ROWS, 8,8,64,64 );
state->m_roz_palette = -1;
for( i=0; i<NAMCONA1_NUM_TILEMAPS; i++ )
{
- state->m_bg_tilemap[i] = tilemap_create( machine, get_info[i], TILEMAP_SCAN_ROWS, 8,8,64,64 );
+ state->m_bg_tilemap[i] = &machine.tilemap().create(get_info[i], TILEMAP_SCAN_ROWS, 8,8,64,64 );
state->m_tilemap_palette_bank[i] = -1;
}
diff --git a/src/mame/video/namcos1.c b/src/mame/video/namcos1.c
index b3f10919f3d..6e7da23f6d2 100644
--- a/src/mame/video/namcos1.c
+++ b/src/mame/video/namcos1.c
@@ -72,40 +72,34 @@ INLINE void fg_get_info(running_machine &machine,tile_data &tileinfo,int tile_in
tileinfo.mask_data = &state->m_tilemap_maskdata[code << 3];
}
-static TILE_GET_INFO( bg_get_info0 )
+TILE_GET_INFO_MEMBER(namcos1_state::bg_get_info0)
{
- namcos1_state *state = machine.driver_data<namcos1_state>();
- bg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x0000]);
+ bg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x0000]);
}
-static TILE_GET_INFO( bg_get_info1 )
+TILE_GET_INFO_MEMBER(namcos1_state::bg_get_info1)
{
- namcos1_state *state = machine.driver_data<namcos1_state>();
- bg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x2000]);
+ bg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x2000]);
}
-static TILE_GET_INFO( bg_get_info2 )
+TILE_GET_INFO_MEMBER(namcos1_state::bg_get_info2)
{
- namcos1_state *state = machine.driver_data<namcos1_state>();
- bg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x4000]);
+ bg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x4000]);
}
-static TILE_GET_INFO( bg_get_info3 )
+TILE_GET_INFO_MEMBER(namcos1_state::bg_get_info3)
{
- namcos1_state *state = machine.driver_data<namcos1_state>();
- bg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x6000]);
+ bg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x6000]);
}
-static TILE_GET_INFO( fg_get_info4 )
+TILE_GET_INFO_MEMBER(namcos1_state::fg_get_info4)
{
- namcos1_state *state = machine.driver_data<namcos1_state>();
- fg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x7010]);
+ fg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x7010]);
}
-static TILE_GET_INFO( fg_get_info5 )
+TILE_GET_INFO_MEMBER(namcos1_state::fg_get_info5)
{
- namcos1_state *state = machine.driver_data<namcos1_state>();
- fg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x7810]);
+ fg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x7810]);
}
@@ -128,12 +122,12 @@ VIDEO_START( namcos1 )
state->m_spriteram = auto_alloc_array(machine, UINT8, 0x1000);
/* initialize playfields */
- state->m_bg_tilemap[0] = tilemap_create(machine, bg_get_info0,TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_bg_tilemap[1] = tilemap_create(machine, bg_get_info1,TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_bg_tilemap[2] = tilemap_create(machine, bg_get_info2,TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_bg_tilemap[3] = tilemap_create(machine, bg_get_info3,TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[4] = tilemap_create(machine, fg_get_info4,TILEMAP_SCAN_ROWS,8,8,36,28);
- state->m_bg_tilemap[5] = tilemap_create(machine, fg_get_info5,TILEMAP_SCAN_ROWS,8,8,36,28);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info0),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info1),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info2),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_bg_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::bg_get_info3),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap[4] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::fg_get_info4),state),TILEMAP_SCAN_ROWS,8,8,36,28);
+ state->m_bg_tilemap[5] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos1_state::fg_get_info5),state),TILEMAP_SCAN_ROWS,8,8,36,28);
state->m_bg_tilemap[4]->set_scrolldx(73,512-73);
state->m_bg_tilemap[5]->set_scrolldx(73,512-73);
diff --git a/src/mame/video/namcos22.c b/src/mame/video/namcos22.c
index ae3e3b8175e..b21e639ec57 100644
--- a/src/mame/video/namcos22.c
+++ b/src/mame/video/namcos22.c
@@ -1793,16 +1793,15 @@ static void UpdatePalette(running_machine &machine)
} /* UpdatePalette */
-static TILE_GET_INFO( TextTilemapGetInfo )
+TILE_GET_INFO_MEMBER(namcos22_state::TextTilemapGetInfo)
{
- namcos22_state *state = machine.driver_data<namcos22_state>();
- UINT16 data = nthword( state->m_textram,tile_index );
+ UINT16 data = nthword( m_textram,tile_index );
/**
* xxxx.----.----.---- palette select
* ----.xx--.----.---- flip
* ----.--xx.xxxx.xxxx code
*/
- SET_TILE_INFO( GFX_CHAR,data&0x03ff,data>>12,TILE_FLIPYX((data&0x0c00)>>10) );
+ SET_TILE_INFO_MEMBER( GFX_CHAR,data&0x03ff,data>>12,TILE_FLIPYX((data&0x0c00)>>10) );
}
READ32_MEMBER(namcos22_state::namcos22_textram_r)
@@ -2731,7 +2730,7 @@ static VIDEO_START( common )
int code;
state->m_mix_bitmap = auto_bitmap_ind16_alloc(machine,640,480);
- state->m_bgtilemap = tilemap_create( machine, TextTilemapGetInfo,TILEMAP_SCAN_ROWS,16,16,64,64 );
+ state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos22_state::TextTilemapGetInfo),state),TILEMAP_SCAN_ROWS,16,16,64,64 );
state->m_bgtilemap->set_transparent_pen(0xf);
state->m_mbDSPisActive = 0;
diff --git a/src/mame/video/namcos86.c b/src/mame/video/namcos86.c
index 4d8c8d58796..1a4249448ac 100644
--- a/src/mame/video/namcos86.c
+++ b/src/mame/video/namcos86.c
@@ -105,28 +105,24 @@ INLINE void get_tile_info(running_machine &machine,tile_data &tileinfo,int tile_
0);
}
-static TILE_GET_INFO( get_tile_info0 )
+TILE_GET_INFO_MEMBER(namcos86_state::get_tile_info0)
{
- namcos86_state *state = machine.driver_data<namcos86_state>();
- get_tile_info(machine,tileinfo,tile_index,0,&state->m_rthunder_videoram1[0x0000]);
+ get_tile_info(machine(),tileinfo,tile_index,0,&m_rthunder_videoram1[0x0000]);
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(namcos86_state::get_tile_info1)
{
- namcos86_state *state = machine.driver_data<namcos86_state>();
- get_tile_info(machine,tileinfo,tile_index,1,&state->m_rthunder_videoram1[0x1000]);
+ get_tile_info(machine(),tileinfo,tile_index,1,&m_rthunder_videoram1[0x1000]);
}
-static TILE_GET_INFO( get_tile_info2 )
+TILE_GET_INFO_MEMBER(namcos86_state::get_tile_info2)
{
- namcos86_state *state = machine.driver_data<namcos86_state>();
- get_tile_info(machine,tileinfo,tile_index,2,&state->m_rthunder_videoram2[0x0000]);
+ get_tile_info(machine(),tileinfo,tile_index,2,&m_rthunder_videoram2[0x0000]);
}
-static TILE_GET_INFO( get_tile_info3 )
+TILE_GET_INFO_MEMBER(namcos86_state::get_tile_info3)
{
- namcos86_state *state = machine.driver_data<namcos86_state>();
- get_tile_info(machine,tileinfo,tile_index,3,&state->m_rthunder_videoram2[0x1000]);
+ get_tile_info(machine(),tileinfo,tile_index,3,&m_rthunder_videoram2[0x1000]);
}
@@ -139,10 +135,10 @@ static TILE_GET_INFO( get_tile_info3 )
VIDEO_START( namcos86 )
{
namcos86_state *state = machine.driver_data<namcos86_state>();
- state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0,TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[2] = tilemap_create(machine, get_tile_info2,TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_bg_tilemap[3] = tilemap_create(machine, get_tile_info3,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info0),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos86_state::get_tile_info3),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_bg_tilemap[0]->set_transparent_pen(7);
state->m_bg_tilemap[1]->set_transparent_pen(7);
diff --git a/src/mame/video/nemesis.c b/src/mame/video/nemesis.c
index 7c6c81cdd83..2362a674db0 100644
--- a/src/mame/video/nemesis.c
+++ b/src/mame/video/nemesis.c
@@ -21,13 +21,12 @@ sprite_data[8] =
};
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(nemesis_state::get_bg_tile_info)
{
- nemesis_state *state = machine.driver_data<nemesis_state>();
int code, color, flags, mask, layer;
- code = state->m_videoram2[tile_index];
- color = state->m_colorram2[tile_index];
+ code = m_videoram2[tile_index];
+ color = m_colorram2[tile_index];
flags = 0;
if (color & 0x80)
@@ -41,12 +40,12 @@ static TILE_GET_INFO( get_bg_tile_info )
if (code & 0xf800)
{
- SET_TILE_INFO( 0, code & 0x7ff, color & 0x7f, flags );
+ SET_TILE_INFO_MEMBER( 0, code & 0x7ff, color & 0x7f, flags );
}
else
{
- SET_TILE_INFO( 0, 0, 0x00, 0 );
- tileinfo.pen_data = state->m_blank_tile;
+ SET_TILE_INFO_MEMBER( 0, 0, 0x00, 0 );
+ tileinfo.pen_data = m_blank_tile;
}
mask = (code & 0x1000) >> 12;
@@ -57,13 +56,12 @@ static TILE_GET_INFO( get_bg_tile_info )
tileinfo.category = mask | (layer << 1);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(nemesis_state::get_fg_tile_info)
{
- nemesis_state *state = machine.driver_data<nemesis_state>();
int code, color, flags, mask, layer;
- code = state->m_videoram1[tile_index];
- color = state->m_colorram1[tile_index];
+ code = m_videoram1[tile_index];
+ color = m_colorram1[tile_index];
flags = 0;
if (color & 0x80)
@@ -77,12 +75,12 @@ static TILE_GET_INFO( get_fg_tile_info )
if (code & 0xf800)
{
- SET_TILE_INFO( 0, code & 0x7ff, color & 0x7f, flags );
+ SET_TILE_INFO_MEMBER( 0, code & 0x7ff, color & 0x7f, flags );
}
else
{
- SET_TILE_INFO( 0, 0, 0x00, 0 );
- tileinfo.pen_data = state->m_blank_tile;
+ SET_TILE_INFO_MEMBER( 0, 0, 0x00, 0 );
+ tileinfo.pen_data = m_blank_tile;
}
mask = (code & 0x1000) >> 12;
@@ -299,8 +297,8 @@ VIDEO_START( nemesis )
state->m_spriteram_words = state->m_spriteram.bytes() / 2;
- state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_foreground = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nemesis_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nemesis_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_background->set_transparent_pen(0);
state->m_foreground->set_transparent_pen(0);
diff --git a/src/mame/video/news.c b/src/mame/video/news.c
index a82392640a9..fef0ea99305 100644
--- a/src/mame/video/news.c
+++ b/src/mame/video/news.c
@@ -8,28 +8,26 @@
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(news_state::get_fg_tile_info)
{
- news_state *state = machine.driver_data<news_state>();
- int code = (state->m_fgram[tile_index * 2] << 8) | state->m_fgram[tile_index * 2 + 1];
- SET_TILE_INFO(
+ int code = (m_fgram[tile_index * 2] << 8) | m_fgram[tile_index * 2 + 1];
+ SET_TILE_INFO_MEMBER(
0,
code & 0x0fff,
(code & 0xf000) >> 12,
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(news_state::get_bg_tile_info)
{
- news_state *state = machine.driver_data<news_state>();
- int code = (state->m_bgram[tile_index * 2] << 8) | state->m_bgram[tile_index * 2 + 1];
+ int code = (m_bgram[tile_index * 2] << 8) | m_bgram[tile_index * 2 + 1];
int color = (code & 0xf000) >> 12;
code &= 0x0fff;
if ((code & 0x0e00) == 0x0e00)
- code = (code & 0x1ff) | (state->m_bgpic << 9);
+ code = (code & 0x1ff) | (m_bgpic << 9);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
color,
@@ -48,10 +46,10 @@ VIDEO_START( news )
{
news_state *state = machine.driver_data<news_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(news_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(news_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/ninjakd2.c b/src/mame/video/ninjakd2.c
index 8b22cb054df..ad944d07094 100644
--- a/src/mame/video/ninjakd2.c
+++ b/src/mame/video/ninjakd2.c
@@ -10,61 +10,58 @@
*
*************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(ninjakd2_state::get_fg_tile_info)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- int const lo = state->m_fg_videoram[(tile_index << 1)];
- int const hi = state->m_fg_videoram[(tile_index << 1) | 1];
+ int const lo = m_fg_videoram[(tile_index << 1)];
+ int const hi = m_fg_videoram[(tile_index << 1) | 1];
int const tile = ((hi & 0xc0) << 2) | lo;
int const flipyx = (hi & 0x30) >> 4;
int const color = hi & 0x0f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
color,
TILE_FLIPYX(flipyx));
}
-static TILE_GET_INFO( ninjakd2_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ninjakd2_state::ninjakd2_get_bg_tile_info)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- int const lo = state->m_bg_videoram[(tile_index << 1)];
- int const hi = state->m_bg_videoram[(tile_index << 1) | 1];
+ int const lo = m_bg_videoram[(tile_index << 1)];
+ int const hi = m_bg_videoram[(tile_index << 1) | 1];
int const tile = ((hi & 0xc0) << 2) | lo;
int const flipyx = (hi & 0x30) >> 4;
int const color = hi & 0x0f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile,
color,
TILE_FLIPYX(flipyx));
}
-static TILE_GET_INFO( mnight_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ninjakd2_state::mnight_get_bg_tile_info)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- int const lo = state->m_bg_videoram[(tile_index << 1)];
- int const hi = state->m_bg_videoram[(tile_index << 1) | 1];
+ int const lo = m_bg_videoram[(tile_index << 1)];
+ int const hi = m_bg_videoram[(tile_index << 1) | 1];
int const tile = ((hi & 0x10) << 6) | ((hi & 0xc0) << 2) | lo;
int const flipy = (hi & 0x20) >> 5;
int const color = hi & 0x0f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile,
color,
flipy ? TILE_FLIPY : 0);
}
-static TILEMAP_MAPPER( robokid_bg_scan )
+TILEMAP_MAPPER_MEMBER(ninjakd2_state::robokid_bg_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x0f) | ((row & 0x1f) << 4) | ((col & 0x10) << 5);
}
-static TILEMAP_MAPPER( omegaf_bg_scan )
+TILEMAP_MAPPER_MEMBER(ninjakd2_state::omegaf_bg_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x0f) | ((row & 0x1f) << 4) | ((col & 0x70) << 5);
@@ -84,22 +81,19 @@ static void robokid_get_bg_tile_info(running_machine& machine, tile_data& tilein
0);
}
-static TILE_GET_INFO( robokid_get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(ninjakd2_state::robokid_get_bg0_tile_info)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- robokid_get_bg_tile_info(machine, tileinfo, tile_index, 2, state->m_robokid_bg0_videoram);
+ robokid_get_bg_tile_info(machine(), tileinfo, tile_index, 2, m_robokid_bg0_videoram);
}
-static TILE_GET_INFO( robokid_get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(ninjakd2_state::robokid_get_bg1_tile_info)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- robokid_get_bg_tile_info(machine, tileinfo, tile_index, 3, state->m_robokid_bg1_videoram);
+ robokid_get_bg_tile_info(machine(), tileinfo, tile_index, 3, m_robokid_bg1_videoram);
}
-static TILE_GET_INFO( robokid_get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(ninjakd2_state::robokid_get_bg2_tile_info)
{
- ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
- robokid_get_bg_tile_info(machine, tileinfo, tile_index, 4, state->m_robokid_bg2_videoram);
+ robokid_get_bg_tile_info(machine(), tileinfo, tile_index, 4, m_robokid_bg2_videoram);
}
@@ -135,8 +129,8 @@ VIDEO_START( ninjakd2 )
ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
videoram_alloc(machine, 0);
- state->m_fg_tilemap = tilemap_create( machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, ninjakd2_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::ninjakd2_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
@@ -149,8 +143,8 @@ VIDEO_START( mnight )
ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
videoram_alloc(machine, 0);
- state->m_fg_tilemap = tilemap_create( machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, mnight_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::mnight_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
@@ -163,8 +157,8 @@ VIDEO_START( arkarea )
ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
videoram_alloc(machine, 0);
- state->m_fg_tilemap = tilemap_create( machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, mnight_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::mnight_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
@@ -179,10 +173,10 @@ VIDEO_START( robokid )
videoram_alloc(machine, 0x0800);
- state->m_fg_tilemap = tilemap_create( machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg0_tilemap = tilemap_create(machine, robokid_get_bg0_tile_info, robokid_bg_scan, 16, 16, 32, 32);
- state->m_bg1_tilemap = tilemap_create(machine, robokid_get_bg1_tile_info, robokid_bg_scan, 16, 16, 32, 32);
- state->m_bg2_tilemap = tilemap_create(machine, robokid_get_bg2_tile_info, robokid_bg_scan, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::robokid_bg_scan),state), 16, 16, 32, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::robokid_bg_scan),state), 16, 16, 32, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::robokid_bg_scan),state), 16, 16, 32, 32);
state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
state->m_bg1_tilemap->set_transparent_pen(TRANSPARENTCODE);
@@ -199,10 +193,10 @@ VIDEO_START( omegaf )
videoram_alloc(machine, 0x2000);
- state->m_fg_tilemap = tilemap_create( machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_bg0_tilemap = tilemap_create(machine, robokid_get_bg0_tile_info, omegaf_bg_scan, 16, 16, 128, 32);
- state->m_bg1_tilemap = tilemap_create(machine, robokid_get_bg1_tile_info, omegaf_bg_scan, 16, 16, 128, 32);
- state->m_bg2_tilemap = tilemap_create(machine, robokid_get_bg2_tile_info, omegaf_bg_scan, 16, 16, 128, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),state), 16, 16, 128, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),state), 16, 16, 128, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ninjakd2_state::robokid_get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(ninjakd2_state::omegaf_bg_scan),state), 16, 16, 128, 32);
state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
state->m_bg0_tilemap->set_transparent_pen(TRANSPARENTCODE);
diff --git a/src/mame/video/nitedrvr.c b/src/mame/video/nitedrvr.c
index f072276c2d2..5ca23afe7a0 100644
--- a/src/mame/video/nitedrvr.c
+++ b/src/mame/video/nitedrvr.c
@@ -23,12 +23,11 @@ WRITE8_MEMBER(nitedrvr_state::nitedrvr_hvc_w)
watchdog_reset_w(space, 0, 0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(nitedrvr_state::get_bg_tile_info)
{
- nitedrvr_state *state = machine.driver_data<nitedrvr_state>();
- int code = state->m_videoram[tile_index] & 0x3f;
+ int code = m_videoram[tile_index] & 0x3f;
- SET_TILE_INFO(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
@@ -36,7 +35,7 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( nitedrvr )
{
nitedrvr_state *state = machine.driver_data<nitedrvr_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nitedrvr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_box( bitmap_ind16 &bitmap, int bx, int by, int ex, int ey )
diff --git a/src/mame/video/nmk16.c b/src/mame/video/nmk16.c
index 553829d9d7e..193ce512bce 100644
--- a/src/mame/video/nmk16.c
+++ b/src/mame/video/nmk16.c
@@ -26,7 +26,7 @@
#define PAGES_PER_TMAP_X (0x10)
#define PAGES_PER_TMAP_Y (0x02)
-static TILEMAP_MAPPER( afega_tilemap_scan_pages )
+TILEMAP_MAPPER_MEMBER(nmk16_state::afega_tilemap_scan_pages)
{
return (row / TILES_PER_PAGE_Y) * TILES_PER_PAGE_X * TILES_PER_PAGE_Y * PAGES_PER_TMAP_X +
(row % TILES_PER_PAGE_Y) +
@@ -35,74 +35,66 @@ static TILEMAP_MAPPER( afega_tilemap_scan_pages )
(col % TILES_PER_PAGE_X) * TILES_PER_PAGE_Y;
}
-static TILE_GET_INFO( macross_get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg0_tile_info)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- int code = state->m_nmk_bgvideoram0[tile_index];
- SET_TILE_INFO(1,(code & 0xfff) + (state->m_bgbank << 12),code >> 12,0);
+ int code = m_nmk_bgvideoram0[tile_index];
+ SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
}
-static TILE_GET_INFO( macross_get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg1_tile_info)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- int code = state->m_nmk_bgvideoram1[tile_index];
- SET_TILE_INFO(1,(code & 0xfff) + (state->m_bgbank << 12),code >> 12,0);
+ int code = m_nmk_bgvideoram1[tile_index];
+ SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
}
-static TILE_GET_INFO( macross_get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg2_tile_info)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- int code = state->m_nmk_bgvideoram2[tile_index];
- SET_TILE_INFO(1,(code & 0xfff) + (state->m_bgbank << 12),code >> 12,0);
+ int code = m_nmk_bgvideoram2[tile_index];
+ SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
}
-static TILE_GET_INFO( macross_get_bg3_tile_info )
+TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg3_tile_info)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- int code = state->m_nmk_bgvideoram3[tile_index];
- SET_TILE_INFO(1,(code & 0xfff) + (state->m_bgbank << 12),code >> 12,0);
+ int code = m_nmk_bgvideoram3[tile_index];
+ SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
}
-static TILE_GET_INFO( strahl_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(nmk16_state::strahl_get_fg_tile_info)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- int code = state->m_nmk_fgvideoram[tile_index];
- SET_TILE_INFO(
+ int code = m_nmk_fgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(
3,
(code & 0xfff),
code >> 12,
0);
}
-static TILE_GET_INFO( macross_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(nmk16_state::macross_get_tx_tile_info)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- int code = state->m_nmk_txvideoram[tile_index];
- SET_TILE_INFO(
+ int code = m_nmk_txvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
code & 0xfff,
code >> 12,
0);
}
-static TILE_GET_INFO( bjtwin_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(nmk16_state::bjtwin_get_bg_tile_info)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- int code = state->m_nmk_bgvideoram0[tile_index];
+ int code = m_nmk_bgvideoram0[tile_index];
int bank = (code & 0x800) ? 1 : 0;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
bank,
- (code & 0x7ff) + ((bank) ? (state->m_bgbank << 11) : 0),
+ (code & 0x7ff) + ((bank) ? (m_bgbank << 11) : 0),
code >> 12,
0);
}
-static TILE_GET_INFO( get_tile_info_0_8bit )
+TILE_GET_INFO_MEMBER(nmk16_state::get_tile_info_0_8bit)
{
- nmk16_state *state = machine.driver_data<nmk16_state>();
- UINT16 code = state->m_nmk_bgvideoram0[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_nmk_bgvideoram0[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
code,
0,
@@ -131,8 +123,8 @@ static void nmk16_video_init(running_machine &machine)
VIDEO_START( bioship )
{
nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = tilemap_create(machine, macross_get_bg0_tile_info, afega_tilemap_scan_pages,16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,32,32);
+ state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,32,32);
state->m_bg_tilemap0->set_transparent_pen(15);
state->m_tx_tilemap->set_transparent_pen(15);
@@ -147,9 +139,9 @@ VIDEO_START( bioship )
VIDEO_START( strahl )
{
nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = tilemap_create(machine, macross_get_bg0_tile_info, afega_tilemap_scan_pages,16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_fg_tilemap = tilemap_create(machine, strahl_get_fg_tile_info, afega_tilemap_scan_pages,16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,32,32);
+ state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::strahl_get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,32,32);
state->m_fg_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_transparent_pen(15);
@@ -160,8 +152,8 @@ VIDEO_START( strahl )
VIDEO_START( macross )
{
nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = tilemap_create(machine, macross_get_bg0_tile_info, afega_tilemap_scan_pages,16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,32,32);
+ state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,32,32);
state->m_tx_tilemap->set_transparent_pen(15);
@@ -171,8 +163,8 @@ VIDEO_START( macross )
VIDEO_START( gunnail )
{
nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = tilemap_create(machine, macross_get_bg0_tile_info, afega_tilemap_scan_pages,16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
+ state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
state->m_tx_tilemap->set_transparent_pen(15);
state->m_bg_tilemap0->set_scroll_rows(512);
@@ -186,12 +178,12 @@ VIDEO_START( gunnail )
VIDEO_START( macross2 )
{
nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = tilemap_create(machine, macross_get_bg0_tile_info, afega_tilemap_scan_pages,16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_bg_tilemap1 = tilemap_create(machine, macross_get_bg1_tile_info, afega_tilemap_scan_pages,16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_bg_tilemap2 = tilemap_create(machine, macross_get_bg2_tile_info, afega_tilemap_scan_pages,16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_bg_tilemap3 = tilemap_create(machine, macross_get_bg3_tile_info, afega_tilemap_scan_pages,16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ state->m_bg_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ state->m_bg_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
+ state->m_bg_tilemap3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg3_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
state->m_tx_tilemap->set_transparent_pen(15);
@@ -210,7 +202,7 @@ VIDEO_START( raphero )
VIDEO_START( bjtwin )
{
nmk16_state *state = machine.driver_data<nmk16_state>();
- state->m_bg_tilemap0 = tilemap_create(machine, bjtwin_get_bg_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
+ state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::bjtwin_get_bg_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
nmk16_video_init(machine);
state->m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */
@@ -902,13 +894,11 @@ VIDEO_START( afega )
state->m_spriteram_old = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
- state->m_bg_tilemap0 = tilemap_create( machine, macross_get_bg0_tile_info, afega_tilemap_scan_pages,
-
+ state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_bg0_tile_info),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),
16,16,
TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = tilemap_create( machine, macross_get_tx_tile_info, TILEMAP_SCAN_COLS,
-
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state), TILEMAP_SCAN_COLS,
8,8,
32,32);
@@ -923,13 +913,11 @@ VIDEO_START( grdnstrm )
state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
- state->m_bg_tilemap0 = tilemap_create( machine, get_tile_info_0_8bit, afega_tilemap_scan_pages,
-
+ state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::get_tile_info_0_8bit),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),
16,16,
TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = tilemap_create( machine, macross_get_tx_tile_info, TILEMAP_SCAN_COLS,
-
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state), TILEMAP_SCAN_COLS,
8,8,
32,32);
@@ -944,13 +932,11 @@ VIDEO_START( firehawk )
state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
- state->m_bg_tilemap0 = tilemap_create( machine, get_tile_info_0_8bit, afega_tilemap_scan_pages,
-
+ state->m_bg_tilemap0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::get_tile_info_0_8bit),state), tilemap_mapper_delegate(FUNC(nmk16_state::afega_tilemap_scan_pages),state),
16,16,
TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tx_tilemap = tilemap_create( machine, macross_get_tx_tile_info, TILEMAP_SCAN_COLS,
-
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state), TILEMAP_SCAN_COLS,
8,8,
32,32);
diff --git a/src/mame/video/nova2001.c b/src/mame/video/nova2001.c
index 9f5fe6119fa..8fa8aa0917a 100644
--- a/src/mame/video/nova2001.c
+++ b/src/mame/video/nova2001.c
@@ -77,78 +77,71 @@ WRITE8_MEMBER(nova2001_state::ninjakun_paletteram_w)
*
*************************************/
-static TILE_GET_INFO( nova2001_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(nova2001_state::nova2001_get_bg_tile_info)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- int code = state->m_bg_videoram[tile_index];
- int color = state->m_bg_videoram[tile_index + 0x400] & 0x0f;
+ int code = m_bg_videoram[tile_index];
+ int color = m_bg_videoram[tile_index + 0x400] & 0x0f;
- SET_TILE_INFO(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( nova2001_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(nova2001_state::nova2001_get_fg_tile_info)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- int attr = state->m_fg_videoram[tile_index + 0x400];
- int code = state->m_fg_videoram[tile_index];
+ int attr = m_fg_videoram[tile_index + 0x400];
+ int code = m_fg_videoram[tile_index];
int color = attr & 0x0f;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
tileinfo.category = (attr & 0x10) >> 4;
}
-static TILE_GET_INFO( ninjakun_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(nova2001_state::ninjakun_get_bg_tile_info)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- int attr = state->m_bg_videoram[tile_index+0x400];
- int code = state->m_bg_videoram[tile_index] + ((attr & 0xc0) << 2);
+ int attr = m_bg_videoram[tile_index+0x400];
+ int code = m_bg_videoram[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x0f;
- SET_TILE_INFO(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( ninjakun_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(nova2001_state::ninjakun_get_fg_tile_info)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- int attr = state->m_fg_videoram[tile_index+0x400];
- int code = state->m_fg_videoram[tile_index] + ((attr & 0x20) << 3);
+ int attr = m_fg_videoram[tile_index+0x400];
+ int code = m_fg_videoram[tile_index] + ((attr & 0x20) << 3);
int color = attr & 0x0f;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
tileinfo.category = (attr & 0x10) >> 4;
}
-static TILE_GET_INFO( pkunwar_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(nova2001_state::pkunwar_get_bg_tile_info)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- int attr = state->m_bg_videoram[tile_index + 0x400];
- int code = state->m_bg_videoram[tile_index] + ((attr & 0x07) << 8);
+ int attr = m_bg_videoram[tile_index + 0x400];
+ int code = m_bg_videoram[tile_index] + ((attr & 0x07) << 8);
int color = (attr & 0xf0) >> 4;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
tileinfo.category = (attr & 0x08) >> 3;
}
-static TILE_GET_INFO( raiders5_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(nova2001_state::raiders5_get_bg_tile_info)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- int attr = state->m_bg_videoram[tile_index+0x400];
- int code = state->m_bg_videoram[tile_index] + ((attr & 0x01) << 8);
+ int attr = m_bg_videoram[tile_index+0x400];
+ int code = m_bg_videoram[tile_index] + ((attr & 0x01) << 8);
int color = (attr & 0xf0) >> 4;
- SET_TILE_INFO(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( raiders5_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(nova2001_state::raiders5_get_fg_tile_info)
{
- nova2001_state *state = machine.driver_data<nova2001_state>();
- int code = state->m_fg_videoram[tile_index];
- int color = (state->m_fg_videoram[tile_index + 0x400] & 0xf0) >> 4;
+ int code = m_fg_videoram[tile_index];
+ int color = (m_fg_videoram[tile_index + 0x400] & 0xf0) >> 4;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
}
@@ -162,8 +155,8 @@ static TILE_GET_INFO( raiders5_get_fg_tile_info )
VIDEO_START( nova2001 )
{
nova2001_state *state = machine.driver_data<nova2001_state>();
- state->m_bg_tilemap = tilemap_create(machine, nova2001_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, nova2001_get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::nova2001_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::nova2001_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scrolldx(0, -7);
}
@@ -171,15 +164,15 @@ VIDEO_START( nova2001 )
VIDEO_START( pkunwar )
{
nova2001_state *state = machine.driver_data<nova2001_state>();
- state->m_bg_tilemap = tilemap_create(machine, pkunwar_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::pkunwar_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
}
VIDEO_START( ninjakun )
{
nova2001_state *state = machine.driver_data<nova2001_state>();
- state->m_bg_tilemap = tilemap_create(machine, ninjakun_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, ninjakun_get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::ninjakun_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::ninjakun_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scrolldx(7, 0);
}
@@ -187,8 +180,8 @@ VIDEO_START( ninjakun )
VIDEO_START( raiders5 )
{
nova2001_state *state = machine.driver_data<nova2001_state>();
- state->m_bg_tilemap = tilemap_create(machine, raiders5_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, raiders5_get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::raiders5_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nova2001_state::raiders5_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scrolldx(7, 0);
}
diff --git a/src/mame/video/nycaptor.c b/src/mame/video/nycaptor.c
index 01c2620c321..7588941a16d 100644
--- a/src/mame/video/nycaptor.c
+++ b/src/mame/video/nycaptor.c
@@ -37,36 +37,35 @@ READ8_MEMBER(nycaptor_state::nycaptor_spriteram_r)
return m_spriteram[offset];
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(nycaptor_state::get_tile_info)
{
- nycaptor_state *state = machine.driver_data<nycaptor_state>();
- int pal = state->m_videoram[tile_index * 2 + 1] & 0x0f;
- tileinfo.category = (state->m_videoram[tile_index * 2 + 1] & 0x30) >> 4;
+ int pal = m_videoram[tile_index * 2 + 1] & 0x0f;
+ tileinfo.category = (m_videoram[tile_index * 2 + 1] & 0x30) >> 4;
tileinfo.group = 0;
- if ((!nycaptor_spot(machine)) && (pal == 6))
+ if ((!nycaptor_spot(machine())) && (pal == 6))
tileinfo.group = 1;
- if (((nycaptor_spot(machine) == 3) && (pal == 8)) || ((nycaptor_spot(machine) == 1) && (pal == 0xc)))
+ if (((nycaptor_spot(machine()) == 3) && (pal == 8)) || ((nycaptor_spot(machine()) == 1) && (pal == 0xc)))
tileinfo.group = 2;
- if ((nycaptor_spot(machine) == 1) && (tileinfo.category == 2))
+ if ((nycaptor_spot(machine()) == 1) && (tileinfo.category == 2))
tileinfo.group = 3;
#if NYCAPTOR_DEBUG
- if (state->m_mask & (1 << tileinfo.category))
+ if (m_mask & (1 << tileinfo.category))
{
- if (nycaptor_spot(machine))
+ if (nycaptor_spot(machine()))
pal = 0xe;
else
pal = 4;
}
#endif
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index * 2] + ((state->m_videoram[tile_index * 2 + 1] & 0xc0) << 2) + 0x400 * state->m_char_bank,
+ m_videoram[tile_index * 2] + ((m_videoram[tile_index * 2 + 1] & 0xc0) << 2) + 0x400 * m_char_bank,
pal, 0
);
}
@@ -77,7 +76,7 @@ VIDEO_START( nycaptor )
nycaptor_state *state = machine.driver_data<nycaptor_state>();
state->m_spriteram = auto_alloc_array(machine, UINT8, 160);
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32 );
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nycaptor_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32 );
state->m_bg_tilemap->set_transmask(0, 0xf800, 0x7ff); //split 0
state->m_bg_tilemap->set_transmask(1, 0xfe00, 0x01ff);//split 1
diff --git a/src/mame/video/offtwall.c b/src/mame/video/offtwall.c
index f49eb0019b9..29fbf6897b4 100644
--- a/src/mame/video/offtwall.c
+++ b/src/mame/video/offtwall.c
@@ -16,14 +16,13 @@
*
*************************************/
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(offtwall_state::get_playfield_tile_info)
{
- offtwall_state *state = machine.driver_data<offtwall_state>();
- UINT16 data1 = state->m_playfield[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
+ UINT16 data1 = m_playfield[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] >> 8;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
}
@@ -75,7 +74,7 @@ VIDEO_START( offtwall )
offtwall_state *state = machine.driver_data<offtwall_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(offtwall_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
diff --git a/src/mame/video/ohmygod.c b/src/mame/video/ohmygod.c
index 8efa97e76e9..14d52271fd4 100644
--- a/src/mame/video/ohmygod.c
+++ b/src/mame/video/ohmygod.c
@@ -7,12 +7,11 @@
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(ohmygod_state::get_tile_info)
{
- ohmygod_state *state = machine.driver_data<ohmygod_state>();
- UINT16 code = state->m_videoram[2 * tile_index + 1];
- UINT16 attr = state->m_videoram[2 * tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_videoram[2 * tile_index + 1];
+ UINT16 attr = m_videoram[2 * tile_index];
+ SET_TILE_INFO_MEMBER(
0,
code,
(attr & 0x0f00) >> 8,
@@ -30,7 +29,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( ohmygod )
{
ohmygod_state *state = machine.driver_data<ohmygod_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ohmygod_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
}
diff --git a/src/mame/video/ojankohs.c b/src/mame/video/ojankohs.c
index 6d78e16f3e0..50b5da42544 100644
--- a/src/mame/video/ojankohs.c
+++ b/src/mame/video/ojankohs.c
@@ -153,30 +153,28 @@ WRITE8_MEMBER(ojankohs_state::ojankohs_flipscreen_w)
}
}
-static TILE_GET_INFO( ojankohs_get_tile_info )
+TILE_GET_INFO_MEMBER(ojankohs_state::ojankohs_get_tile_info)
{
- ojankohs_state *state = machine.driver_data<ojankohs_state>();
- int tile = state->m_videoram[tile_index] | ((state->m_colorram[tile_index] & 0x0f) << 8);
- int color = (state->m_colorram[tile_index] & 0xe0) >> 5;
+ int tile = m_videoram[tile_index] | ((m_colorram[tile_index] & 0x0f) << 8);
+ int color = (m_colorram[tile_index] & 0xe0) >> 5;
- if (state->m_colorram[tile_index] & 0x10)
+ if (m_colorram[tile_index] & 0x10)
{
- tile |= (state->m_gfxreg & 0x07) << 12;
- color |= (state->m_gfxreg & 0xe0) >> 2;
+ tile |= (m_gfxreg & 0x07) << 12;
+ color |= (m_gfxreg & 0xe0) >> 2;
}
- SET_TILE_INFO(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(0, tile, color, 0);
}
-static TILE_GET_INFO( ojankoy_get_tile_info )
+TILE_GET_INFO_MEMBER(ojankohs_state::ojankoy_get_tile_info)
{
- ojankohs_state *state = machine.driver_data<ojankohs_state>();
- int tile = state->m_videoram[tile_index] | (state->m_videoram[tile_index + 0x1000] << 8);
- int color = state->m_colorram[tile_index] & 0x3f;
- int flipx = ((state->m_colorram[tile_index] & 0x40) >> 6) ? TILEMAP_FLIPX : 0;
- int flipy = ((state->m_colorram[tile_index] & 0x80) >> 7) ? TILEMAP_FLIPY : 0;
+ int tile = m_videoram[tile_index] | (m_videoram[tile_index + 0x1000] << 8);
+ int color = m_colorram[tile_index] & 0x3f;
+ 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(0, tile, color, (flipx | flipy));
+ SET_TILE_INFO_MEMBER(0, tile, color, (flipx | flipy));
}
@@ -263,7 +261,7 @@ VIDEO_START( ojankohs )
{
ojankohs_state *state = machine.driver_data<ojankohs_state>();
- state->m_tilemap = tilemap_create(machine, ojankohs_get_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ojankohs_state::ojankohs_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
// state->m_videoram = auto_alloc_array(machine, UINT8, 0x1000);
// state->m_colorram = auto_alloc_array(machine, UINT8, 0x1000);
// state->m_paletteram = auto_alloc_array(machine, UINT8, 0x800);
@@ -273,7 +271,7 @@ VIDEO_START( ojankoy )
{
ojankohs_state *state = machine.driver_data<ojankohs_state>();
- state->m_tilemap = tilemap_create(machine, ojankoy_get_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ojankohs_state::ojankoy_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
// state->m_videoram = auto_alloc_array(machine, UINT8, 0x2000);
// state->m_colorram = auto_alloc_array(machine, UINT8, 0x1000);
}
diff --git a/src/mame/video/oneshot.c b/src/mame/video/oneshot.c
index 26ea79d5efb..2fed7650108 100644
--- a/src/mame/video/oneshot.c
+++ b/src/mame/video/oneshot.c
@@ -5,12 +5,11 @@
/* bg tilemap */
-static TILE_GET_INFO( get_oneshot_bg_tile_info )
+TILE_GET_INFO_MEMBER(oneshot_state::get_oneshot_bg_tile_info)
{
- oneshot_state *state = machine.driver_data<oneshot_state>();
- int tileno = state->m_bg_videoram[tile_index * 2 + 1];
+ int tileno = m_bg_videoram[tile_index * 2 + 1];
- SET_TILE_INFO(0, tileno, 0, 0);
+ SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
}
WRITE16_MEMBER(oneshot_state::oneshot_bg_videoram_w)
@@ -20,12 +19,11 @@ WRITE16_MEMBER(oneshot_state::oneshot_bg_videoram_w)
}
/* mid tilemap */
-static TILE_GET_INFO( get_oneshot_mid_tile_info )
+TILE_GET_INFO_MEMBER(oneshot_state::get_oneshot_mid_tile_info)
{
- oneshot_state *state = machine.driver_data<oneshot_state>();
- int tileno = state->m_mid_videoram[tile_index * 2 + 1];
+ int tileno = m_mid_videoram[tile_index * 2 + 1];
- SET_TILE_INFO(0, tileno, 2, 0);
+ SET_TILE_INFO_MEMBER(0, tileno, 2, 0);
}
WRITE16_MEMBER(oneshot_state::oneshot_mid_videoram_w)
@@ -36,12 +34,11 @@ WRITE16_MEMBER(oneshot_state::oneshot_mid_videoram_w)
/* fg tilemap */
-static TILE_GET_INFO( get_oneshot_fg_tile_info )
+TILE_GET_INFO_MEMBER(oneshot_state::get_oneshot_fg_tile_info)
{
- oneshot_state *state = machine.driver_data<oneshot_state>();
- int tileno = state->m_fg_videoram[tile_index * 2 + 1];
+ int tileno = m_fg_videoram[tile_index * 2 + 1];
- SET_TILE_INFO(0, tileno, 3, 0);
+ SET_TILE_INFO_MEMBER(0, tileno, 3, 0);
}
WRITE16_MEMBER(oneshot_state::oneshot_fg_videoram_w)
@@ -54,9 +51,9 @@ VIDEO_START( oneshot )
{
oneshot_state *state = machine.driver_data<oneshot_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_oneshot_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_mid_tilemap = tilemap_create(machine, get_oneshot_mid_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_oneshot_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(oneshot_state::get_oneshot_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_mid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(oneshot_state::get_oneshot_mid_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(oneshot_state::get_oneshot_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_mid_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/orbit.c b/src/mame/video/orbit.c
index 08dd9a5a02b..064048d7548 100644
--- a/src/mame/video/orbit.c
+++ b/src/mame/video/orbit.c
@@ -14,25 +14,24 @@ WRITE8_MEMBER(orbit_state::orbit_playfield_w)
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(orbit_state::get_tile_info)
{
- orbit_state *state = machine.driver_data<orbit_state>();
- UINT8 code = state->m_playfield_ram[tile_index];
+ UINT8 code = m_playfield_ram[tile_index];
int flags = 0;
if (BIT(code, 6))
flags |= TILE_FLIPX;
- if (state->m_flip_screen)
+ if (m_flip_screen)
flags |= TILE_FLIPY;
- SET_TILE_INFO(3, code & 0x3f, 0, flags);
+ SET_TILE_INFO_MEMBER(3, code & 0x3f, 0, flags);
}
VIDEO_START( orbit )
{
orbit_state *state = machine.driver_data<orbit_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 30);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(orbit_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 30);
}
diff --git a/src/mame/video/othldrby.c b/src/mame/video/othldrby.c
index 34482cbdab1..60482292619 100644
--- a/src/mame/video/othldrby.c
+++ b/src/mame/video/othldrby.c
@@ -28,19 +28,19 @@ INLINE void get_tile_info( running_machine &machine, tile_data &tileinfo, int ti
tileinfo.category = (attr & 0x0600) >> 9;
}
-static TILE_GET_INFO( get_tile_info0 )
+TILE_GET_INFO_MEMBER(othldrby_state::get_tile_info0)
{
- get_tile_info(machine, tileinfo, tile_index, 0);
+ get_tile_info(machine(), tileinfo, tile_index, 0);
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(othldrby_state::get_tile_info1)
{
- get_tile_info(machine, tileinfo, tile_index, 1);
+ get_tile_info(machine(), tileinfo, tile_index, 1);
}
-static TILE_GET_INFO( get_tile_info2 )
+TILE_GET_INFO_MEMBER(othldrby_state::get_tile_info2)
{
- get_tile_info(machine, tileinfo, tile_index, 2);
+ get_tile_info(machine(), tileinfo, tile_index, 2);
}
@@ -55,9 +55,9 @@ VIDEO_START( othldrby )
{
othldrby_state *state = machine.driver_data<othldrby_state>();
- state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap[2] = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(othldrby_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(othldrby_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(othldrby_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_vram = auto_alloc_array(machine, UINT16, VIDEORAM_SIZE);
state->m_buf_spriteram = auto_alloc_array(machine, UINT16, 2 * SPRITERAM_SIZE);
diff --git a/src/mame/video/pacland.c b/src/mame/video/pacland.c
index 944587bd6a9..4e6388d1101 100644
--- a/src/mame/video/pacland.c
+++ b/src/mame/video/pacland.c
@@ -157,31 +157,29 @@ PALETTE_INIT( pacland )
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(pacland_state::get_bg_tile_info)
{
- pacland_state *state = machine.driver_data<pacland_state>();
int offs = tile_index * 2;
- int attr = state->m_videoram2[offs + 1];
- int code = state->m_videoram2[offs] + ((attr & 0x01) << 8);
+ int attr = m_videoram2[offs + 1];
+ int code = m_videoram2[offs] + ((attr & 0x01) << 8);
int color = ((attr & 0x3e) >> 1) + ((code & 0x1c0) >> 1);
int flags = TILE_FLIPYX(attr >> 6);
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(pacland_state::get_fg_tile_info)
{
- pacland_state *state = machine.driver_data<pacland_state>();
int offs = tile_index * 2;
- int attr = state->m_videoram[offs + 1];
- int code = state->m_videoram[offs] + ((attr & 0x01) << 8);
+ int attr = m_videoram[offs + 1];
+ int code = m_videoram[offs] + ((attr & 0x01) << 8);
int color = ((attr & 0x1e) >> 1) + ((code & 0x1e0) >> 1);
int flags = TILE_FLIPYX(attr >> 6);
tileinfo.category = (attr & 0x20) ? 1 : 0;
tileinfo.group = color;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
@@ -200,8 +198,8 @@ VIDEO_START( pacland )
machine.primary_screen->register_screen_bitmap(state->m_fg_bitmap);
state->m_fg_bitmap.fill(0xffff);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacland_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacland_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_fg_tilemap->set_scroll_rows(32);
diff --git a/src/mame/video/pacman.c b/src/mame/video/pacman.c
index fe794b04a62..4eaca441462 100644
--- a/src/mame/video/pacman.c
+++ b/src/mame/video/pacman.c
@@ -119,7 +119,7 @@ PALETTE_INIT( pacman )
}
}
-static TILEMAP_MAPPER( pacman_scan_rows )
+TILEMAP_MAPPER_MEMBER(pacman_state::pacman_scan_rows)
{
int offs;
@@ -133,13 +133,12 @@ static TILEMAP_MAPPER( pacman_scan_rows )
return offs;
}
-static TILE_GET_INFO( pacman_get_tile_info )
+TILE_GET_INFO_MEMBER(pacman_state::pacman_get_tile_info)
{
- pacman_state *state = machine.driver_data<pacman_state>();
- int code = state->m_videoram[tile_index] | (state->m_charbank << 8);
- int attr = (state->m_colorram[tile_index] & 0x1f) | (state->m_colortablebank << 5) | (state->m_palettebank << 6 );
+ 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(0,code,attr,0);
+ SET_TILE_INFO_MEMBER(0,code,attr,0);
}
/***************************************************************************
@@ -177,7 +176,7 @@ VIDEO_START( pacman )
/* one pixel to the left to get a more correct placement */
state->m_xoffsethack = 1;
- state->m_bg_tilemap = tilemap_create( machine, pacman_get_tile_info, pacman_scan_rows, 8, 8, 36, 28 );
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::pacman_get_tile_info),state), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),state), 8, 8, 36, 28 );
state->m_bg_tilemap->set_scrolldx(0, 384 - 288 );
state->m_bg_tilemap->set_scrolldy(0, 264 - 224 );
@@ -333,7 +332,7 @@ VIDEO_START( pengo )
state->m_inv_spr = 0;
state->m_xoffsethack = 0;
- state->m_bg_tilemap = tilemap_create( machine, pacman_get_tile_info, pacman_scan_rows, 8, 8, 36, 28 );
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::pacman_get_tile_info),state), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),state), 8, 8, 36, 28 );
state->m_bg_tilemap->set_scrolldx(0, 384 - 288 );
state->m_bg_tilemap->set_scrolldy(0, 264 - 224 );
@@ -374,17 +373,16 @@ S2650 Games
**************************************************************************/
-static TILE_GET_INFO( s2650_get_tile_info )
+TILE_GET_INFO_MEMBER(pacman_state::s2650_get_tile_info)
{
- pacman_state *state = machine.driver_data<pacman_state>();
int colbank, code, attr;
- colbank = state->m_s2650games_tileram[tile_index & 0x1f] & 0x3;
+ colbank = m_s2650games_tileram[tile_index & 0x1f] & 0x3;
- code = state->m_videoram[tile_index] + (colbank << 8);
- attr = state->m_colorram[tile_index & 0x1f];
+ code = m_videoram[tile_index] + (colbank << 8);
+ attr = m_colorram[tile_index & 0x1f];
- SET_TILE_INFO(0,code,attr & 0x1f,0);
+ SET_TILE_INFO_MEMBER(0,code,attr & 0x1f,0);
}
VIDEO_START( s2650games )
@@ -401,7 +399,7 @@ VIDEO_START( s2650games )
state->m_inv_spr = 0;
state->m_xoffsethack = 1;
- state->m_bg_tilemap = tilemap_create( machine, s2650_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32 );
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::s2650_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
state->m_bg_tilemap->set_scroll_cols(32);
}
@@ -501,7 +499,7 @@ Jr. Pac-Man
2018 - 2045 = column 1 attr (28 rows)
*/
-static TILEMAP_MAPPER( jrpacman_scan_rows )
+TILEMAP_MAPPER_MEMBER(pacman_state::jrpacman_scan_rows)
{
int offs;
@@ -516,9 +514,8 @@ static TILEMAP_MAPPER( jrpacman_scan_rows )
return offs;
}
-static TILE_GET_INFO( jrpacman_get_tile_info )
+TILE_GET_INFO_MEMBER(pacman_state::jrpacman_get_tile_info)
{
- pacman_state *state = machine.driver_data<pacman_state>();
int color_index, code, attr;
if( tile_index < 1792 )
{
@@ -529,10 +526,10 @@ static TILE_GET_INFO( jrpacman_get_tile_info )
color_index = tile_index + 0x80;
}
- code = state->m_videoram[tile_index] | (state->m_charbank << 8);
- attr = (state->m_videoram[color_index] & 0x1f) | (state->m_colortablebank << 5) | (state->m_palettebank << 6 );
+ code = m_videoram[tile_index] | (m_charbank << 8);
+ attr = (m_videoram[color_index] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6 );
- SET_TILE_INFO(0,code,attr,0);
+ SET_TILE_INFO_MEMBER(0,code,attr,0);
}
static void jrpacman_mark_tile_dirty( running_machine &machine, int offset )
@@ -573,7 +570,7 @@ VIDEO_START( jrpacman )
state->m_inv_spr = 0;
state->m_xoffsethack = 1;
- state->m_bg_tilemap = tilemap_create( machine, jrpacman_get_tile_info,jrpacman_scan_rows,8,8,36,54 );
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pacman_state::jrpacman_get_tile_info),state),tilemap_mapper_delegate(FUNC(pacman_state::jrpacman_scan_rows),state),8,8,36,54 );
state->m_bg_tilemap->set_transparent_pen(0 );
state->m_bg_tilemap->set_scroll_cols(36 );
diff --git a/src/mame/video/pandoras.c b/src/mame/video/pandoras.c
index da2abbd1f7d..e90e6cc06b3 100644
--- a/src/mame/video/pandoras.c
+++ b/src/mame/video/pandoras.c
@@ -88,13 +88,12 @@ PALETTE_INIT( pandoras )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info0 )
+TILE_GET_INFO_MEMBER(pandoras_state::get_tile_info0)
{
- pandoras_state *state = machine.driver_data<pandoras_state>();
- UINT8 attr = state->m_colorram[tile_index];
- SET_TILE_INFO(
+ UINT8 attr = m_colorram[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
- state->m_videoram[tile_index] + ((attr & 0x10) << 4),
+ m_videoram[tile_index] + ((attr & 0x10) << 4),
attr & 0x0f,
TILE_FLIPYX((attr & 0xc0) >> 6));
tileinfo.category = (attr & 0x20) >> 5;
@@ -109,7 +108,7 @@ static TILE_GET_INFO( get_tile_info0 )
VIDEO_START( pandoras )
{
pandoras_state *state = machine.driver_data<pandoras_state>();
- state->m_layer0 = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pandoras_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->save_item(NAME(state->m_flipscreen));
}
diff --git a/src/mame/video/paradise.c b/src/mame/video/paradise.c
index c49c24dc3ce..71384b85890 100644
--- a/src/mame/video/paradise.c
+++ b/src/mame/video/paradise.c
@@ -95,11 +95,10 @@ WRITE8_MEMBER(paradise_state::paradise_palbank_w)
}
}
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(paradise_state::get_tile_info_0)
{
- paradise_state *state = machine.driver_data<paradise_state>();
- int code = state->m_vram_0[tile_index] + (state->m_vram_0[tile_index + 0x400] << 8);
- SET_TILE_INFO(1, code, state->m_palbank, 0);
+ int code = m_vram_0[tile_index] + (m_vram_0[tile_index + 0x400] << 8);
+ SET_TILE_INFO_MEMBER(1, code, m_palbank, 0);
}
@@ -110,11 +109,10 @@ WRITE8_MEMBER(paradise_state::paradise_vram_1_w)
m_tilemap_1->mark_tile_dirty(offset % 0x400);
}
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(paradise_state::get_tile_info_1)
{
- paradise_state *state = machine.driver_data<paradise_state>();
- int code = state->m_vram_1[tile_index] + (state->m_vram_1[tile_index + 0x400] << 8);
- SET_TILE_INFO(2, code, 0, 0);
+ int code = m_vram_1[tile_index] + (m_vram_1[tile_index + 0x400] << 8);
+ SET_TILE_INFO_MEMBER(2, code, 0, 0);
}
@@ -125,11 +123,10 @@ WRITE8_MEMBER(paradise_state::paradise_vram_2_w)
m_tilemap_2->mark_tile_dirty(offset % 0x400);
}
-static TILE_GET_INFO( get_tile_info_2 )
+TILE_GET_INFO_MEMBER(paradise_state::get_tile_info_2)
{
- paradise_state *state = machine.driver_data<paradise_state>();
- int code = state->m_vram_2[tile_index] + (state->m_vram_2[tile_index + 0x400] << 8);
- SET_TILE_INFO(3, code, 0, 0);
+ int code = m_vram_2[tile_index] + (m_vram_2[tile_index + 0x400] << 8);
+ SET_TILE_INFO_MEMBER(3, code, 0, 0);
}
/* 256 x 256 bitmap. 4 bits per pixel so every byte encodes 2 pixels */
@@ -158,9 +155,9 @@ VIDEO_START( paradise )
{
paradise_state *state = machine.driver_data<paradise_state>();
- state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
- state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
- state->m_tilemap_2 = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(paradise_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(paradise_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
+ state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(paradise_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
/* pixmap */
machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap);
diff --git a/src/mame/video/pass.c b/src/mame/video/pass.c
index 874053c649f..c4259502677 100644
--- a/src/mame/video/pass.c
+++ b/src/mame/video/pass.c
@@ -5,14 +5,13 @@
/* background tilemap stuff */
-static TILE_GET_INFO( get_pass_bg_tile_info )
+TILE_GET_INFO_MEMBER(pass_state::get_pass_bg_tile_info)
{
- pass_state *state = machine.driver_data<pass_state>();
int tileno, fx;
- tileno = state->m_bg_videoram[tile_index] & 0x1fff;
- fx = (state->m_bg_videoram[tile_index] & 0xc000) >> 14;
- SET_TILE_INFO(1, tileno, 0, TILE_FLIPYX(fx));
+ 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));
}
@@ -25,15 +24,14 @@ WRITE16_MEMBER(pass_state::pass_bg_videoram_w)
/* foreground 'sprites' tilemap stuff */
-static TILE_GET_INFO( get_pass_fg_tile_info )
+TILE_GET_INFO_MEMBER(pass_state::get_pass_fg_tile_info)
{
- pass_state *state = machine.driver_data<pass_state>();
int tileno, flip;
- tileno = state->m_fg_videoram[tile_index] & 0x3fff;
- flip = (state->m_fg_videoram[tile_index] & 0xc000) >>14;
+ tileno = m_fg_videoram[tile_index] & 0x3fff;
+ flip = (m_fg_videoram[tile_index] & 0xc000) >>14;
- SET_TILE_INFO(0, tileno, 0, TILE_FLIPYX(flip));
+ SET_TILE_INFO_MEMBER(0, tileno, 0, TILE_FLIPYX(flip));
}
@@ -49,8 +47,8 @@ VIDEO_START( pass )
{
pass_state *state = machine.driver_data<pass_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_pass_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_pass_fg_tile_info, TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pass_state::get_pass_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pass_state::get_pass_fg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
state->m_fg_tilemap->set_transparent_pen(255);
}
diff --git a/src/mame/video/pbaction.c b/src/mame/video/pbaction.c
index efbdf4f59f8..1bbbc43e546 100644
--- a/src/mame/video/pbaction.c
+++ b/src/mame/video/pbaction.c
@@ -48,33 +48,31 @@ WRITE8_MEMBER(pbaction_state::pbaction_flipscreen_w)
flip_screen_set(data & 0x01);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(pbaction_state::get_bg_tile_info)
{
- pbaction_state *state = machine.driver_data<pbaction_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + 0x10 * (attr & 0x70);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + 0x10 * (attr & 0x70);
int color = attr & 0x07;
int flags = (attr & 0x80) ? TILE_FLIPY : 0;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(pbaction_state::get_fg_tile_info)
{
- pbaction_state *state = machine.driver_data<pbaction_state>();
- int attr = state->m_colorram2[tile_index];
- int code = state->m_videoram2[tile_index] + 0x10 * (attr & 0x30);
+ int attr = m_colorram2[tile_index];
+ int code = m_videoram2[tile_index] + 0x10 * (attr & 0x30);
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( pbaction )
{
pbaction_state *state = machine.driver_data<pbaction_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pbaction_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pbaction_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/pgm.c b/src/mame/video/pgm.c
index e7ccb2a1a34..e4bc40c77a8 100644
--- a/src/mame/video/pgm.c
+++ b/src/mame/video/pgm.c
@@ -561,7 +561,7 @@ WRITE16_MEMBER(pgm_state::pgm_tx_videoram_w)
m_tx_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_pgm_tx_tilemap_tile_info )
+TILE_GET_INFO_MEMBER(pgm_state::get_pgm_tx_tilemap_tile_info)
{
/* 0x904000 - 0x90ffff is the Text Overlay Ram (pgm_tx_videoram)
@@ -578,14 +578,13 @@ static TILE_GET_INFO( get_pgm_tx_tilemap_tile_info )
p = palette
f = flip
*/
- pgm_state *state = machine.driver_data<pgm_state>();
int tileno, colour, flipyx; //,game;
- tileno = state->m_tx_videoram[tile_index * 2] & 0xffff;
- colour = (state->m_tx_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
- flipyx = (state->m_tx_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
+ tileno = m_tx_videoram[tile_index * 2] & 0xffff;
+ colour = (m_tx_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
+ flipyx = (m_tx_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
- SET_TILE_INFO(0,tileno,colour,TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(0,tileno,colour,TILE_FLIPYX(flipyx));
}
/* BG Layer */
@@ -596,19 +595,18 @@ WRITE16_MEMBER(pgm_state::pgm_bg_videoram_w)
m_bg_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_pgm_bg_tilemap_tile_info )
+TILE_GET_INFO_MEMBER(pgm_state::get_pgm_bg_tilemap_tile_info)
{
/* pretty much the same as tx layer */
- pgm_state *state = machine.driver_data<pgm_state>();
int tileno, colour, flipyx;
- tileno = state->m_bg_videoram[tile_index *2] & 0xffff;
+ tileno = m_bg_videoram[tile_index *2] & 0xffff;
- colour = (state->m_bg_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
- flipyx = (state->m_bg_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
+ colour = (m_bg_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
+ flipyx = (m_bg_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
- SET_TILE_INFO(1,tileno,colour,TILE_FLIPYX(flipyx));
+ SET_TILE_INFO_MEMBER(1,tileno,colour,TILE_FLIPYX(flipyx));
}
@@ -625,10 +623,10 @@ VIDEO_START( pgm )
state->m_aoffset = 0;
state->m_boffset = 0;
- state->m_tx_tilemap = tilemap_create(machine, get_pgm_tx_tilemap_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pgm_state::get_pgm_tx_tilemap_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_tx_tilemap->set_transparent_pen(15);
- state->m_bg_tilemap = tilemap_create(machine, get_pgm_bg_tilemap_tile_info, TILEMAP_SCAN_ROWS, 32, 32, 64, 16);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pgm_state::get_pgm_bg_tilemap_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 64, 16);
state->m_bg_tilemap->set_transparent_pen(31);
state->m_bg_tilemap->set_scroll_rows(16 * 32);
diff --git a/src/mame/video/phoenix.c b/src/mame/video/phoenix.c
index 5f7a89fd163..33dac40ff1e 100644
--- a/src/mame/video/phoenix.c
+++ b/src/mame/video/phoenix.c
@@ -136,30 +136,28 @@ PALETTE_INIT( pleiads )
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(phoenix_state::get_fg_tile_info)
{
- phoenix_state *state = machine.driver_data<phoenix_state>();
int code, col;
- code = state->m_videoram_pg[state->m_videoram_pg_index][tile_index];
+ code = m_videoram_pg[m_videoram_pg_index][tile_index];
col = (code >> 5);
- col = col | 0x08 | (state->m_palette_bank << 4);
- SET_TILE_INFO(
+ col = col | 0x08 | (m_palette_bank << 4);
+ SET_TILE_INFO_MEMBER(
1,
code,
col,
0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(phoenix_state::get_bg_tile_info)
{
- phoenix_state *state = machine.driver_data<phoenix_state>();
int code, col;
- code = state->m_videoram_pg[state->m_videoram_pg_index][tile_index + 0x800];
+ code = m_videoram_pg[m_videoram_pg_index][tile_index + 0x800];
col = (code >> 5);
- col = col | 0x00 | (state->m_palette_bank << 4);
- SET_TILE_INFO(
+ col = col | 0x00 | (m_palette_bank << 4);
+ SET_TILE_INFO_MEMBER(
0,
code,
col,
@@ -186,8 +184,8 @@ VIDEO_START( phoenix )
state->m_palette_bank = 0;
state->m_cocktail_mode = 0;
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(phoenix_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(phoenix_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/pingpong.c b/src/mame/video/pingpong.c
index 6d7d41d7630..4a5a0397d6a 100644
--- a/src/mame/video/pingpong.c
+++ b/src/mame/video/pingpong.c
@@ -95,21 +95,20 @@ WRITE8_MEMBER(pingpong_state::pingpong_colorram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(pingpong_state::get_bg_tile_info)
{
- pingpong_state *state = machine.driver_data<pingpong_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0x20) << 3);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0x20) << 3);
int color = attr & 0x1f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( pingpong )
{
pingpong_state *state = machine.driver_data<pingpong_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pingpong_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/pirates.c b/src/mame/video/pirates.c
index 5c2b9b3d66b..046ff3805e0 100644
--- a/src/mame/video/pirates.c
+++ b/src/mame/video/pirates.c
@@ -6,31 +6,28 @@
/* tilemaps */
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(pirates_state::get_tx_tile_info)
{
- pirates_state *state = machine.driver_data<pirates_state>();
- int code = state->m_tx_tileram[tile_index*2];
- int colr = state->m_tx_tileram[tile_index*2+1];
+ int code = m_tx_tileram[tile_index*2];
+ int colr = m_tx_tileram[tile_index*2+1];
- SET_TILE_INFO(0,code,colr,0);
+ SET_TILE_INFO_MEMBER(0,code,colr,0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(pirates_state::get_fg_tile_info)
{
- pirates_state *state = machine.driver_data<pirates_state>();
- int code = state->m_fg_tileram[tile_index*2];
- int colr = state->m_fg_tileram[tile_index*2+1]+0x80;
+ int code = m_fg_tileram[tile_index*2];
+ int colr = m_fg_tileram[tile_index*2+1]+0x80;
- SET_TILE_INFO(0,code,colr,0);
+ SET_TILE_INFO_MEMBER(0,code,colr,0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(pirates_state::get_bg_tile_info)
{
- pirates_state *state = machine.driver_data<pirates_state>();
- int code = state->m_bg_tileram[tile_index*2];
- int colr = state->m_bg_tileram[tile_index*2+1]+ 0x100;
+ int code = m_bg_tileram[tile_index*2];
+ int colr = m_bg_tileram[tile_index*2+1]+ 0x100;
- SET_TILE_INFO(0,code,colr,0);
+ SET_TILE_INFO_MEMBER(0,code,colr,0);
}
@@ -39,11 +36,11 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START(pirates)
{
pirates_state *state = machine.driver_data<pirates_state>();
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,36,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pirates_state::get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,36,32);
/* Not sure how big they can be, Pirates uses only 32 columns, Genix 44 */
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS, 8,8,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pirates_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pirates_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS, 8,8,64,32);
state->m_tx_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/pitnrun.c b/src/mame/video/pitnrun.c
index fe784e72aa2..57a3f1e064f 100644
--- a/src/mame/video/pitnrun.c
+++ b/src/mame/video/pitnrun.c
@@ -21,28 +21,26 @@ In debug build press 'w' for spotlight and 'e' for lightning
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(pitnrun_state::get_tile_info1)
{
- pitnrun_state *state = machine.driver_data<pitnrun_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int code;
code = videoram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
0,
0);
}
-static TILE_GET_INFO( get_tile_info2 )
+TILE_GET_INFO_MEMBER(pitnrun_state::get_tile_info2)
{
- pitnrun_state *state = machine.driver_data<pitnrun_state>();
int code;
- code = state->m_videoram2[tile_index];
- SET_TILE_INFO(
+ code = m_videoram2[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
- code + (state->m_char_bank<<8),
- state->m_color_select&1,
+ code + (m_char_bank<<8),
+ m_color_select&1,
0);
}
@@ -165,8 +163,8 @@ PALETTE_INIT (pitnrun)
VIDEO_START(pitnrun)
{
pitnrun_state *state = machine.driver_data<pitnrun_state>();
- state->m_fg = tilemap_create( machine, get_tile_info1,TILEMAP_SCAN_ROWS,8,8,32,32 );
- state->m_bg = tilemap_create( machine, get_tile_info2,TILEMAP_SCAN_ROWS,8,8,32*4,32 );
+ state->m_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pitnrun_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
+ state->m_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pitnrun_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,8,8,32*4,32 );
state->m_fg->set_transparent_pen(0 );
state->m_tmp_bitmap[0] = auto_bitmap_ind16_alloc(machine,128,128);
state->m_tmp_bitmap[1] = auto_bitmap_ind16_alloc(machine,128,128);
diff --git a/src/mame/video/playch10.c b/src/mame/video/playch10.c
index 820b12ad703..477b8a16a22 100644
--- a/src/mame/video/playch10.c
+++ b/src/mame/video/playch10.c
@@ -79,15 +79,14 @@ const ppu2c0x_interface playch10_ppu_interface =
ppu_irq /* irq */
};
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(playch10_state::get_bg_tile_info)
{
- playch10_state *state = machine.driver_data<playch10_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int offs = tile_index * 2;
int code = videoram[offs] + ((videoram[offs + 1] & 0x07) << 8);
int color = (videoram[offs + 1] >> 3) & 0x1f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( playch10 )
@@ -96,7 +95,7 @@ VIDEO_START( playch10 )
const UINT8 *bios = state->memregion("maincpu")->base();
state->m_pc10_bios = (bios[3] == 0x2a) ? 1 : 2;
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playch10_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
@@ -106,7 +105,7 @@ VIDEO_START( playch10_hboard )
const UINT8 *bios = state->memregion("maincpu")->base();
state->m_pc10_bios = (bios[3] == 0x2a) ? 1 : 2;
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playch10_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/playmark.c b/src/mame/video/playmark.c
index c81f8a11b58..c956fdd03e9 100644
--- a/src/mame/video/playmark.c
+++ b/src/mame/video/playmark.c
@@ -8,103 +8,94 @@
***************************************************************************/
-static TILE_GET_INFO( bigtwin_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(playmark_state::bigtwin_get_tx_tile_info)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- UINT16 code = state->m_videoram1[2 * tile_index];
- UINT16 color = state->m_videoram1[2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT16 code = m_videoram1[2 * tile_index];
+ UINT16 color = m_videoram1[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
2,
code,
color,
0);
}
-static TILE_GET_INFO( bigtwin_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(playmark_state::bigtwin_get_fg_tile_info)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- UINT16 code = state->m_videoram2[2 * tile_index];
- UINT16 color = state->m_videoram2[2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT16 code = m_videoram2[2 * tile_index];
+ UINT16 color = m_videoram2[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
1,
code,
color,
0);
}
-static TILE_GET_INFO( wbeachvl_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_tx_tile_info)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- UINT16 code = state->m_videoram1[2 * tile_index];
- UINT16 color = state->m_videoram1[2 * tile_index + 1];
+ UINT16 code = m_videoram1[2 * tile_index];
+ UINT16 color = m_videoram1[2 * tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
code,
color / 4,
0);
}
-static TILE_GET_INFO( wbeachvl_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_fg_tile_info)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- UINT16 code = state->m_videoram2[2 * tile_index];
- UINT16 color = state->m_videoram2[2 * tile_index + 1];
+ UINT16 code = m_videoram2[2 * tile_index];
+ UINT16 color = m_videoram2[2 * tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code & 0x7fff,
color / 4 + 8,
(code & 0x8000) ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( wbeachvl_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_bg_tile_info)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- UINT16 code = state->m_videoram3[2 * tile_index];
- UINT16 color = state->m_videoram3[2 * tile_index + 1];
+ UINT16 code = m_videoram3[2 * tile_index];
+ UINT16 color = m_videoram3[2 * tile_index + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code & 0x7fff,
color / 4,
(code & 0x8000) ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( hrdtimes_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_tx_tile_info)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- int code = state->m_videoram1[tile_index] & 0x03ff;
- int colr = state->m_videoram1[tile_index] & 0xe000;
+ int code = m_videoram1[tile_index] & 0x03ff;
+ int colr = m_videoram1[tile_index] & 0xe000;
- SET_TILE_INFO(2,code + state->m_txt_tile_offset, colr >> 13, 0);
+ SET_TILE_INFO_MEMBER(2,code + m_txt_tile_offset, colr >> 13, 0);
}
-static TILE_GET_INFO( bigtwinb_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(playmark_state::bigtwinb_get_tx_tile_info)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- int code = state->m_videoram1[tile_index] & 0x0fff;
- int colr = state->m_videoram1[tile_index] & 0xf000;
+ int code = m_videoram1[tile_index] & 0x0fff;
+ int colr = m_videoram1[tile_index] & 0xf000;
- SET_TILE_INFO(2,code + state->m_txt_tile_offset, colr >> 12, 0);
+ SET_TILE_INFO_MEMBER(2,code + m_txt_tile_offset, colr >> 12, 0);
}
-static TILE_GET_INFO( hrdtimes_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_fg_tile_info)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- int code = state->m_videoram2[tile_index] & 0x1fff;
- int colr = state->m_videoram2[tile_index] & 0xe000;
+ int code = m_videoram2[tile_index] & 0x1fff;
+ int colr = m_videoram2[tile_index] & 0xe000;
- SET_TILE_INFO(1,code + 0x2000,(colr >> 13) + 8,0);
+ SET_TILE_INFO_MEMBER(1,code + 0x2000,(colr >> 13) + 8,0);
}
-static TILE_GET_INFO( hrdtimes_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_bg_tile_info)
{
- playmark_state *state = machine.driver_data<playmark_state>();
- int code = state->m_videoram3[tile_index] & 0x1fff;
- int colr = state->m_videoram3[tile_index] & 0xe000;
+ int code = m_videoram3[tile_index] & 0x1fff;
+ int colr = m_videoram3[tile_index] & 0xe000;
- SET_TILE_INFO(1, code, colr >> 13, 0);
+ SET_TILE_INFO_MEMBER(1, code, colr >> 13, 0);
}
/***************************************************************************
@@ -117,8 +108,8 @@ VIDEO_START( bigtwin )
{
playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = tilemap_create(machine, bigtwin_get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, bigtwin_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tx_tilemap->set_transparent_pen(0);
@@ -136,9 +127,9 @@ VIDEO_START( bigtwinb )
{
playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = tilemap_create(machine, bigtwinb_get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, hrdtimes_get_fg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, hrdtimes_get_bg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwinb_get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tx_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
@@ -159,9 +150,9 @@ VIDEO_START( wbeachvl )
{
playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = tilemap_create(machine, wbeachvl_get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, wbeachvl_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
- state->m_bg_tilemap = tilemap_create(machine, wbeachvl_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
state->m_tx_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
@@ -179,8 +170,8 @@ VIDEO_START( excelsr )
{
playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = tilemap_create(machine, bigtwin_get_tx_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, bigtwin_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tx_tilemap->set_transparent_pen(0);
@@ -197,9 +188,9 @@ VIDEO_START( hotmind )
{
playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = tilemap_create(machine, hrdtimes_get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, hrdtimes_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, hrdtimes_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tx_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
@@ -221,9 +212,9 @@ VIDEO_START( hrdtimes )
{
playmark_state *state = machine.driver_data<playmark_state>();
- state->m_tx_tilemap = tilemap_create(machine, hrdtimes_get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_fg_tilemap = tilemap_create(machine, hrdtimes_get_fg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_bg_tilemap = tilemap_create(machine, hrdtimes_get_bg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_tx_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/plygonet.c b/src/mame/video/plygonet.c
index ad9ddb6c837..013d9840b47 100644
--- a/src/mame/video/plygonet.c
+++ b/src/mame/video/plygonet.c
@@ -13,27 +13,25 @@
/* TTL text plane */
-static TILE_GET_INFO( ttl_get_tile_info )
+TILE_GET_INFO_MEMBER(polygonet_state::ttl_get_tile_info)
{
- polygonet_state *state = machine.driver_data<polygonet_state>();
int attr, code;
- code = state->m_ttl_vram[tile_index]&0xfff;
+ code = m_ttl_vram[tile_index]&0xfff;
- attr = state->m_ttl_vram[tile_index]>>12; /* palette in all 4 bits? */
+ attr = m_ttl_vram[tile_index]>>12; /* palette in all 4 bits? */
- SET_TILE_INFO(state->m_ttl_gfx_index, code, attr, 0);
+ SET_TILE_INFO_MEMBER(m_ttl_gfx_index, code, attr, 0);
}
-static TILE_GET_INFO( roz_get_tile_info )
+TILE_GET_INFO_MEMBER(polygonet_state::roz_get_tile_info)
{
- polygonet_state *state = machine.driver_data<polygonet_state>();
int attr, code;
- attr = (state->m_roz_vram[tile_index] >> 12) + 16; /* roz base palette is palette 16 */
- code = state->m_roz_vram[tile_index] & 0x3ff;
+ attr = (m_roz_vram[tile_index] >> 12) + 16; /* roz base palette is palette 16 */
+ code = m_roz_vram[tile_index] & 0x3ff;
- SET_TILE_INFO(0, code, attr, 0);
+ SET_TILE_INFO_MEMBER(0, code, attr, 0);
}
READ32_MEMBER(polygonet_state::polygonet_ttl_ram_r)
@@ -70,12 +68,12 @@ WRITE32_MEMBER(polygonet_state::polygonet_roz_ram_w)
m_roz_tilemap->mark_tile_dirty(offset*2+1);
}
-static TILEMAP_MAPPER( plygonet_scan )
+TILEMAP_MAPPER_MEMBER(polygonet_state::plygonet_scan)
{
return row * num_cols + (col^1);
}
-static TILEMAP_MAPPER( plygonet_scan_cols )
+TILEMAP_MAPPER_MEMBER(polygonet_state::plygonet_scan_cols)
{
return col * num_rows + (row^1);
}
@@ -105,12 +103,12 @@ VIDEO_START( polygonet )
machine.gfx[state->m_ttl_gfx_index] = auto_alloc(machine, gfx_element(machine, charlayout, machine.root_device().memregion("gfx1")->base(), machine.total_colors() / 16, 0));
/* create the tilemap */
- state->m_ttl_tilemap = tilemap_create(machine, ttl_get_tile_info, plygonet_scan, 8, 8, 64, 32);
+ state->m_ttl_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(polygonet_state::ttl_get_tile_info),state), tilemap_mapper_delegate(FUNC(polygonet_state::plygonet_scan),state), 8, 8, 64, 32);
state->m_ttl_tilemap->set_transparent_pen(0);
/* set up the roz t-map too */
- state->m_roz_tilemap = tilemap_create(machine, roz_get_tile_info, plygonet_scan_cols, 16, 16, 32, 64);
+ state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(polygonet_state::roz_get_tile_info),state), tilemap_mapper_delegate(FUNC(polygonet_state::plygonet_scan_cols),state), 16, 16, 32, 64);
state->m_roz_tilemap->set_transparent_pen(0);
/* save states */
diff --git a/src/mame/video/pokechmp.c b/src/mame/video/pokechmp.c
index 9bc60be7eaa..1ab9d2889f3 100644
--- a/src/mame/video/pokechmp.c
+++ b/src/mame/video/pokechmp.c
@@ -20,20 +20,19 @@ WRITE8_MEMBER(pokechmp_state::pokechmp_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(pokechmp_state::get_bg_tile_info)
{
- pokechmp_state *state = machine.driver_data<pokechmp_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int code = videoram[tile_index*2+1] + ((videoram[tile_index*2] & 0x3f) << 8);
int color = videoram[tile_index*2] >> 6;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( pokechmp )
{
pokechmp_state *state = machine.driver_data<pokechmp_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pokechmp_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/polepos.c b/src/mame/video/polepos.c
index 685b6ee60fb..28be78ff160 100644
--- a/src/mame/video/polepos.c
+++ b/src/mame/video/polepos.c
@@ -145,30 +145,28 @@ PALETTE_INIT( polepos )
***************************************************************************/
-static TILE_GET_INFO( bg_get_tile_info )
+TILE_GET_INFO_MEMBER(polepos_state::bg_get_tile_info)
{
- polepos_state *state = machine.driver_data<polepos_state>();
- UINT16 word = state->m_view16_memory[tile_index];
+ UINT16 word = m_view16_memory[tile_index];
int code = (word & 0xff) | ((word & 0x4000) >> 6);
int color = (word & 0x3f00) >> 8;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
color,
0);
}
-static TILE_GET_INFO( tx_get_tile_info )
+TILE_GET_INFO_MEMBER(polepos_state::tx_get_tile_info)
{
- polepos_state *state = machine.driver_data<polepos_state>();
- UINT16 word = state->m_alpha16_memory[tile_index];
+ UINT16 word = m_alpha16_memory[tile_index];
int code = (word & 0xff) | ((word & 0x4000) >> 6);
int color = (word & 0x3f00) >> 8;
/* I assume the purpose of CHACL is to allow the Z80 to control
the display (therefore using only the bottom 8 bits of tilemap RAM)
in case the Z8002 is not working. */
- if (state->m_chacl == 0)
+ if (m_chacl == 0)
{
code &= 0xff;
color = 0;
@@ -177,7 +175,7 @@ static TILE_GET_INFO( tx_get_tile_info )
/* 128V input to the palette PROM */
if (tile_index >= 32*16) color |= 0x40;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
color,
@@ -196,8 +194,8 @@ static TILE_GET_INFO( tx_get_tile_info )
VIDEO_START( polepos )
{
polepos_state *state = machine.driver_data<polepos_state>();
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_COLS,8,8,64,16);
- state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(polepos_state::bg_get_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,16);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(polepos_state::tx_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 0x2f);
}
diff --git a/src/mame/video/poolshrk.c b/src/mame/video/poolshrk.c
index 8d8de384707..283c09ccabf 100644
--- a/src/mame/video/poolshrk.c
+++ b/src/mame/video/poolshrk.c
@@ -10,17 +10,16 @@ Atari Poolshark video emulation
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(poolshrk_state::get_tile_info)
{
- poolshrk_state *state = machine.driver_data<poolshrk_state>();
- SET_TILE_INFO(1, state->m_playfield_ram[tile_index] & 0x3f, 0, 0);
+ SET_TILE_INFO_MEMBER(1, m_playfield_ram[tile_index] & 0x3f, 0, 0);
}
VIDEO_START( poolshrk )
{
poolshrk_state *state = machine.driver_data<poolshrk_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(poolshrk_state::get_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/pooyan.c b/src/mame/video/pooyan.c
index 472b50cfc30..4caba227343 100644
--- a/src/mame/video/pooyan.c
+++ b/src/mame/video/pooyan.c
@@ -96,15 +96,14 @@ PALETTE_INIT( pooyan )
*
*************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(pooyan_state::get_bg_tile_info)
{
- pooyan_state *state = machine.driver_data<pooyan_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index];
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index];
int color = attr & 0x0f;
int flags = TILE_FLIPYX(attr >> 6);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
@@ -118,7 +117,7 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( pooyan )
{
pooyan_state *state = machine.driver_data<pooyan_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pooyan_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/popeye.c b/src/mame/video/popeye.c
index 6d2221cd115..61a5e71f1c5 100644
--- a/src/mame/video/popeye.c
+++ b/src/mame/video/popeye.c
@@ -233,13 +233,12 @@ WRITE8_MEMBER(popeye_state::skyskipr_bitmap_w)
popeye_bitmap_w(space,offset,data);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(popeye_state::get_fg_tile_info)
{
- popeye_state *state = machine.driver_data<popeye_state>();
- int code = state->m_videoram[tile_index];
- int color = state->m_colorram[tile_index] & 0x0f;
+ int code = m_videoram[tile_index];
+ int color = m_colorram[tile_index] & 0x0f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( skyskipr )
@@ -250,7 +249,7 @@ VIDEO_START( skyskipr )
state->m_bitmap_type = TYPE_SKYSKIPR;
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popeye_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_lastflip = 0;
@@ -268,7 +267,7 @@ VIDEO_START( popeye )
state->m_bitmap_type = TYPE_POPEYE;
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popeye_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_lastflip = 0;
diff --git a/src/mame/video/popper.c b/src/mame/video/popper.c
index fd96152414f..1e320a28b9e 100644
--- a/src/mame/video/popper.c
+++ b/src/mame/video/popper.c
@@ -114,14 +114,13 @@ WRITE8_MEMBER(popper_state::popper_gfx_bank_w)
}
}
-static TILE_GET_INFO( get_popper_p123_tile_info )
+TILE_GET_INFO_MEMBER(popper_state::get_popper_p123_tile_info)
{
- popper_state *state = machine.driver_data<popper_state>();
- UINT32 tile_number = state->m_videoram[tile_index];
- UINT8 attr = state->m_attribram[tile_index];
- tile_number += state->m_gfx_bank << 8;
+ UINT32 tile_number = m_videoram[tile_index];
+ UINT8 attr = m_attribram[tile_index];
+ tile_number += m_gfx_bank << 8;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
(attr & 0xf),
@@ -129,31 +128,29 @@ static TILE_GET_INFO( get_popper_p123_tile_info )
tileinfo.group = (attr & 0x80) >> 7;
}
-static TILE_GET_INFO( get_popper_p0_tile_info )
+TILE_GET_INFO_MEMBER(popper_state::get_popper_p0_tile_info)
{
- popper_state *state = machine.driver_data<popper_state>();
- UINT32 tile_number = state->m_videoram[tile_index];
- UINT8 attr = state->m_attribram[tile_index];
- tile_number += state->m_gfx_bank << 8;
+ UINT32 tile_number = m_videoram[tile_index];
+ UINT8 attr = m_attribram[tile_index];
+ tile_number += m_gfx_bank << 8;
//pen 0 only in front if colour set as well
tileinfo.group = (attr & 0x70) ? ((attr & 0x80) >> 7) : 0;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
((attr & 0x70) >> 4) + 8,
0);
}
-static TILE_GET_INFO( get_popper_ol_p123_tile_info )
+TILE_GET_INFO_MEMBER(popper_state::get_popper_ol_p123_tile_info)
{
- popper_state *state = machine.driver_data<popper_state>();
- UINT32 tile_number = state->m_ol_videoram[tile_index];
- UINT8 attr = state->m_ol_attribram[tile_index];
- tile_number += state->m_gfx_bank << 8;
+ UINT32 tile_number = m_ol_videoram[tile_index];
+ UINT8 attr = m_ol_attribram[tile_index];
+ tile_number += m_gfx_bank << 8;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
(attr & 0xf),
@@ -161,17 +158,16 @@ static TILE_GET_INFO( get_popper_ol_p123_tile_info )
tileinfo.group = (attr & 0x80) >> 7;
}
-static TILE_GET_INFO( get_popper_ol_p0_tile_info )
+TILE_GET_INFO_MEMBER(popper_state::get_popper_ol_p0_tile_info)
{
- popper_state *state = machine.driver_data<popper_state>();
- UINT32 tile_number = state->m_ol_videoram[tile_index];
- UINT8 attr = state->m_ol_attribram[tile_index];
- tile_number += state->m_gfx_bank << 8;
+ UINT32 tile_number = m_ol_videoram[tile_index];
+ UINT8 attr = m_ol_attribram[tile_index];
+ tile_number += m_gfx_bank << 8;
//pen 0 only in front if colour set as well
tileinfo.group = (attr & 0x70) ? ((attr & 0x80) >> 7) : 0;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
((attr & 0x70) >> 4) + 8,
@@ -181,10 +177,10 @@ static TILE_GET_INFO( get_popper_ol_p0_tile_info )
VIDEO_START( popper )
{
popper_state *state = machine.driver_data<popper_state>();
- state->m_p123_tilemap = tilemap_create(machine, get_popper_p123_tile_info, TILEMAP_SCAN_COLS, 8, 8, 33, 32 );
- state->m_p0_tilemap = tilemap_create(machine, get_popper_p0_tile_info, TILEMAP_SCAN_COLS, 8, 8, 33, 32);
- state->m_ol_p123_tilemap = tilemap_create(machine, get_popper_ol_p123_tile_info, TILEMAP_SCAN_COLS, 8, 8, 2, 32);
- state->m_ol_p0_tilemap = tilemap_create(machine, get_popper_ol_p0_tile_info, TILEMAP_SCAN_COLS, 8, 8, 2, 32);
+ state->m_p123_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_p123_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 33, 32 );
+ state->m_p0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_p0_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 33, 32);
+ state->m_ol_p123_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_ol_p123_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
+ state->m_ol_p0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(popper_state::get_popper_ol_p0_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
state->m_p123_tilemap->set_transmask(0, 0x0f, 0x01);
state->m_p123_tilemap->set_transmask(1, 0x01, 0x0f);
diff --git a/src/mame/video/portrait.c b/src/mame/video/portrait.c
index 02e6caeb87c..bf43e569aff 100644
--- a/src/mame/video/portrait.c
+++ b/src/mame/video/portrait.c
@@ -52,23 +52,21 @@ INLINE void get_tile_info( running_machine &machine, tile_data &tileinfo, int ti
SET_TILE_INFO( 0, tilenum, color, flags );
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(portrait_state::get_bg_tile_info)
{
- portrait_state *state = machine.driver_data<portrait_state>();
- get_tile_info( machine, tileinfo, tile_index, state->m_bgvideoram );
+ get_tile_info( machine(), tileinfo, tile_index, m_bgvideoram );
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(portrait_state::get_fg_tile_info)
{
- portrait_state *state = machine.driver_data<portrait_state>();
- get_tile_info( machine, tileinfo, tile_index, state->m_fgvideoram );
+ get_tile_info( machine(), tileinfo, tile_index, m_fgvideoram );
}
VIDEO_START( portrait )
{
portrait_state *state = machine.driver_data<portrait_state>();
- state->m_background = tilemap_create( machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32 );
- state->m_foreground = tilemap_create( machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32 );
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(portrait_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32 );
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(portrait_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32 );
state->m_foreground->set_transparent_pen(7 );
}
diff --git a/src/mame/video/powerins.c b/src/mame/video/powerins.c
index 065dfcaa3af..d44b585b98c 100644
--- a/src/mame/video/powerins.c
+++ b/src/mame/video/powerins.c
@@ -118,13 +118,12 @@ Offset:
#define DIM_NY_0 (0x20)
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(powerins_state::get_tile_info_0)
{
- powerins_state *state = machine.driver_data<powerins_state>();
- UINT16 code = state->m_vram_0[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_vram_0[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- (code & 0x07ff) + (state->m_tile_bank*0x800),
+ (code & 0x07ff) + (m_tile_bank*0x800),
((code & 0xf000) >> (16-4)) + ((code & 0x0800) >> (11-4)),
0);
}
@@ -135,7 +134,7 @@ WRITE16_MEMBER(powerins_state::powerins_vram_0_w)
m_tilemap_0->mark_tile_dirty(offset);
}
-static TILEMAP_MAPPER( powerins_get_memory_offset_0 )
+TILEMAP_MAPPER_MEMBER(powerins_state::powerins_get_memory_offset_0)
{
return (col * TILES_PER_PAGE_Y) +
@@ -159,11 +158,10 @@ Offset:
#define DIM_NX_1 (0x40)
#define DIM_NY_1 (0x20)
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(powerins_state::get_tile_info_1)
{
- powerins_state *state = machine.driver_data<powerins_state>();
- UINT16 code = state->m_vram_1[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_vram_1[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
code & 0x0fff,
(code & 0xf000) >> (16-4),
@@ -191,24 +189,15 @@ WRITE16_MEMBER(powerins_state::powerins_vram_1_w)
VIDEO_START( powerins )
{
powerins_state *state = machine.driver_data<powerins_state>();
- state->m_tilemap_0 = tilemap_create( machine, get_tile_info_0,
- powerins_get_memory_offset_0,
-
- 16,16,
- DIM_NX_0, DIM_NY_0 );
-
- state->m_tilemap_1 = tilemap_create( machine, get_tile_info_1,
- TILEMAP_SCAN_COLS,
-
- 8,8,
- DIM_NX_1, DIM_NY_1 );
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(powerins_state::get_tile_info_0),state),tilemap_mapper_delegate(FUNC(powerins_state::powerins_get_memory_offset_0),state),16,16,DIM_NX_0, DIM_NY_0 );
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(powerins_state::get_tile_info_1),state),TILEMAP_SCAN_COLS,8,8,DIM_NX_1, DIM_NY_1 );
- state->m_tilemap_0->set_scroll_rows(1);
- state->m_tilemap_0->set_scroll_cols(1);
+ state->m_tilemap_0->set_scroll_rows(1);
+ state->m_tilemap_0->set_scroll_cols(1);
- state->m_tilemap_1->set_scroll_rows(1);
- state->m_tilemap_1->set_scroll_cols(1);
- state->m_tilemap_1->set_transparent_pen(15);
+ state->m_tilemap_1->set_scroll_rows(1);
+ state->m_tilemap_1->set_scroll_cols(1);
+ state->m_tilemap_1->set_transparent_pen(15);
}
diff --git a/src/mame/video/prehisle.c b/src/mame/video/prehisle.c
index 1a97e882edf..b0d1a772cef 100644
--- a/src/mame/video/prehisle.c
+++ b/src/mame/video/prehisle.c
@@ -57,9 +57,9 @@ WRITE16_MEMBER(prehisle_state::prehisle_control16_w)
}
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(prehisle_state::get_bg2_tile_info)
{
- UINT8 *tilerom = machine.root_device().memregion("gfx5")->base();
+ UINT8 *tilerom = machine().root_device().memregion("gfx5")->base();
int offs = tile_index * 2;
int attr = tilerom[offs + 1] + (tilerom[offs] << 8);
@@ -67,41 +67,39 @@ static TILE_GET_INFO( get_bg2_tile_info )
int color = attr >> 12;
int flags = (attr & 0x800) ? TILE_FLIPX : 0;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(prehisle_state::get_bg_tile_info)
{
- prehisle_state *state = machine.driver_data<prehisle_state>();
- int attr = state->m_bg_videoram16[tile_index];
+ int attr = m_bg_videoram16[tile_index];
int code = attr & 0x7ff;
int color = attr >> 12;
int flags = (attr & 0x800) ? TILE_FLIPY : 0;
- SET_TILE_INFO(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(2, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(prehisle_state::get_fg_tile_info)
{
- prehisle_state *state = machine.driver_data<prehisle_state>();
- int attr = state->m_videoram[tile_index];
+ int attr = m_videoram[tile_index];
int code = attr & 0xfff;
int color = attr >> 12;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( prehisle )
{
prehisle_state *state = machine.driver_data<prehisle_state>();
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_bg2_tile_info),state), TILEMAP_SCAN_COLS,
16, 16, 1024, 32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
16, 16, 256, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/psikyo.c b/src/mame/video/psikyo.c
index d7408f8083d..e5db59d9d2b 100644
--- a/src/mame/video/psikyo.c
+++ b/src/mame/video/psikyo.c
@@ -71,24 +71,22 @@ Offset:
***************************************************************************/
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(psikyo_state::get_tile_info_0)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
- UINT16 code = ((UINT16 *)state->m_vram_0.target())[BYTE_XOR_BE(tile_index)];
- SET_TILE_INFO(
+ UINT16 code = ((UINT16 *)m_vram_0.target())[BYTE_XOR_BE(tile_index)];
+ SET_TILE_INFO_MEMBER(
1,
- (code & 0x1fff) + 0x2000 * state->m_tilemap_0_bank,
+ (code & 0x1fff) + 0x2000 * m_tilemap_0_bank,
(code >> 13) & 7,
0);
}
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(psikyo_state::get_tile_info_1)
{
- psikyo_state *state = machine.driver_data<psikyo_state>();
- UINT16 code = ((UINT16 *)state->m_vram_1.target())[BYTE_XOR_BE(tile_index)];
- SET_TILE_INFO(
+ UINT16 code = ((UINT16 *)m_vram_1.target())[BYTE_XOR_BE(tile_index)];
+ SET_TILE_INFO_MEMBER(
1,
- (code & 0x1fff) + 0x2000 * state->m_tilemap_1_bank,
+ (code & 0x1fff) + 0x2000 * m_tilemap_1_bank,
((code >> 13) & 7) + 0x40, // So we only have to decode the gfx once.
0);
}
@@ -166,15 +164,15 @@ VIDEO_START( psikyo )
/* The Hardware is Capable of Changing the Dimensions of the Tilemaps, its safer to create
the various sized tilemaps now as opposed to later */
- state->m_tilemap_0_size0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
- state->m_tilemap_0_size1 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
- state->m_tilemap_0_size2 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
- state->m_tilemap_0_size3 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
+ state->m_tilemap_0_size0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
+ state->m_tilemap_0_size1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
+ state->m_tilemap_0_size2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
+ state->m_tilemap_0_size3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
- state->m_tilemap_1_size0 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
- state->m_tilemap_1_size1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
- state->m_tilemap_1_size2 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
- state->m_tilemap_1_size3 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
+ state->m_tilemap_1_size0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
+ state->m_tilemap_1_size1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
+ state->m_tilemap_1_size2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
+ state->m_tilemap_1_size3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psikyo_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
state->m_spritebuf1 = auto_alloc_array(machine, UINT32, 0x2000 / 4);
state->m_spritebuf2 = auto_alloc_array(machine, UINT32, 0x2000 / 4);
diff --git a/src/mame/video/psychic5.c b/src/mame/video/psychic5.c
index e274d77da27..e4d979a02b0 100644
--- a/src/mame/video/psychic5.c
+++ b/src/mame/video/psychic5.c
@@ -198,28 +198,26 @@ WRITE8_MEMBER(psychic5_state::bombsa_unknown_w)
Callbacks for the tilemap code
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(psychic5_state::get_bg_tile_info)
{
- psychic5_state *state = machine.driver_data<psychic5_state>();
int offs = tile_index << 1;
- int attr = state->m_bg_videoram[offs + 1];
- int code = state->m_bg_videoram[offs] | ((attr & 0xc0) << 2);
+ int attr = m_bg_videoram[offs + 1];
+ int code = m_bg_videoram[offs] | ((attr & 0xc0) << 2);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(psychic5_state::get_fg_tile_info)
{
- psychic5_state *state = machine.driver_data<psychic5_state>();
int offs = tile_index << 1;
- int attr = state->m_fg_videoram[offs + 1];
- int code = state->m_fg_videoram[offs] | ((attr & 0xc0) << 2);
+ int attr = m_fg_videoram[offs + 1];
+ int code = m_fg_videoram[offs] | ((attr & 0xc0) << 2);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0x30) >> 4);
- SET_TILE_INFO(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(2, code, color, flags);
}
@@ -231,8 +229,8 @@ VIDEO_START( psychic5 )
{
psychic5_state *state = machine.driver_data<psychic5_state>();
/* info offset w h col row */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(15);
@@ -255,8 +253,8 @@ VIDEO_START( bombsa )
{
psychic5_state *state = machine.driver_data<psychic5_state>();
/* info offset w h col row */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(psychic5_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/punchout.c b/src/mame/video/punchout.c
index 844692a5dd4..b9ff09dbd25 100644
--- a/src/mame/video/punchout.c
+++ b/src/mame/video/punchout.c
@@ -43,82 +43,75 @@ DRIVER_INIT_MEMBER(punchout_state,armwrest)
***************************************************************************/
-static TILE_GET_INFO( top_get_info )
+TILE_GET_INFO_MEMBER(punchout_state::top_get_info)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- int attr = state->m_bg_top_videoram[tile_index*2 + 1];
- int code = state->m_bg_top_videoram[tile_index*2] + ((attr & 0x03) << 8);
+ int attr = m_bg_top_videoram[tile_index*2 + 1];
+ int code = m_bg_top_videoram[tile_index*2] + ((attr & 0x03) << 8);
int color = ((attr & 0x7c) >> 2);
int flipx = attr & 0x80;
- SET_TILE_INFO(0, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(0, code, color, flipx ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( armwrest_top_get_info )
+TILE_GET_INFO_MEMBER(punchout_state::armwrest_top_get_info)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- int attr = state->m_bg_top_videoram[tile_index*2 + 1];
- int code = state->m_bg_top_videoram[tile_index*2] + ((attr & 0x03) << 8) + ((attr & 0x80) << 3);
+ 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(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( bot_get_info )
+TILE_GET_INFO_MEMBER(punchout_state::bot_get_info)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- int attr = state->m_bg_bot_videoram[tile_index*2 + 1];
- int code = state->m_bg_bot_videoram[tile_index*2] + ((attr & 0x03) << 8);
+ int attr = m_bg_bot_videoram[tile_index*2 + 1];
+ int code = m_bg_bot_videoram[tile_index*2] + ((attr & 0x03) << 8);
int color = ((attr & 0x7c) >> 2);
int flipx = attr & 0x80;
- SET_TILE_INFO(1, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(1, code, color, flipx ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( armwrest_bot_get_info )
+TILE_GET_INFO_MEMBER(punchout_state::armwrest_bot_get_info)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- int attr = state->m_bg_bot_videoram[tile_index*2 + 1];
- int code = state->m_bg_bot_videoram[tile_index*2] + ((attr & 0x03) << 8);
+ int attr = m_bg_bot_videoram[tile_index*2 + 1];
+ 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(0, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(0, code, color, flipx ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( bs1_get_info )
+TILE_GET_INFO_MEMBER(punchout_state::bs1_get_info)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- int attr = state->m_spr1_videoram[tile_index*4 + 3];
- int code = state->m_spr1_videoram[tile_index*4] + ((state->m_spr1_videoram[tile_index*4 + 1] & 0x1f) << 8);
+ int attr = m_spr1_videoram[tile_index*4 + 3];
+ 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(2, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(2, code, color, flipx ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( bs2_get_info )
+TILE_GET_INFO_MEMBER(punchout_state::bs2_get_info)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- int attr = state->m_spr2_videoram[tile_index*4 + 3];
- int code = state->m_spr2_videoram[tile_index*4] + ((state->m_spr2_videoram[tile_index*4 + 1] & 0x0f) << 8);
+ int attr = m_spr2_videoram[tile_index*4 + 3];
+ 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(3, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(3, code, color, flipx ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( armwrest_fg_get_info )
+TILE_GET_INFO_MEMBER(punchout_state::armwrest_fg_get_info)
{
- punchout_state *state = machine.driver_data<punchout_state>();
- int attr = state->m_armwrest_fg_videoram[tile_index*2 + 1];
- int code = state->m_armwrest_fg_videoram[tile_index*2] + 256 * (attr & 0x07);
+ int attr = m_armwrest_fg_videoram[tile_index*2 + 1];
+ int code = m_armwrest_fg_videoram[tile_index*2] + 256 * (attr & 0x07);
int color = ((attr & 0xf8) >> 3);
int flipx = attr & 0x80;
- SET_TILE_INFO(1, code, color, flipx ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(1, code, color, flipx ? TILE_FLIPX : 0);
}
-static TILEMAP_MAPPER( armwrest_bs1_scan )
+TILEMAP_MAPPER_MEMBER(punchout_state::armwrest_bs1_scan)
{
int halfcols = num_cols/2;
return (col/halfcols)*(halfcols*num_rows) + row*halfcols + col%halfcols;
}
-static TILEMAP_MAPPER( armwrest_bs1_scan_flipx )
+TILEMAP_MAPPER_MEMBER(punchout_state::armwrest_bs1_scan_flipx)
{
int halfcols = num_cols/2;
col ^=0x10;
@@ -129,12 +122,12 @@ static TILEMAP_MAPPER( armwrest_bs1_scan_flipx )
VIDEO_START( punchout )
{
punchout_state *state = machine.driver_data<punchout_state>();
- state->m_bg_top_tilemap = tilemap_create(machine, top_get_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_bg_bot_tilemap = tilemap_create(machine, bot_get_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_bg_top_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::top_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_bg_bot_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bot_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_bg_bot_tilemap->set_scroll_rows(32);
- state->m_spr1_tilemap = tilemap_create(machine, bs1_get_info, TILEMAP_SCAN_ROWS, 8,8, 16,32);
- state->m_spr2_tilemap = tilemap_create(machine, bs2_get_info, TILEMAP_SCAN_ROWS, 8,8, 16,32);
+ state->m_spr1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 16,32);
+ state->m_spr2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs2_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 16,32);
state->m_fg_tilemap = NULL;
@@ -146,13 +139,13 @@ VIDEO_START( punchout )
VIDEO_START( armwrest )
{
punchout_state *state = machine.driver_data<punchout_state>();
- state->m_bg_top_tilemap = tilemap_create(machine, armwrest_top_get_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_bg_bot_tilemap = tilemap_create(machine, armwrest_bot_get_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_bg_top_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_top_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_bg_bot_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_bot_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_spr1_tilemap = tilemap_create(machine, bs1_get_info, armwrest_bs1_scan, 8,8, 32,16);
- state->m_spr1_tilemap_flipx = tilemap_create(machine, bs1_get_info, armwrest_bs1_scan_flipx, 8,8, 32,16);
- state->m_spr2_tilemap = tilemap_create(machine, bs2_get_info, TILEMAP_SCAN_ROWS, 8,8, 16,32);
- state->m_fg_tilemap = tilemap_create(machine, armwrest_fg_get_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_spr1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),state), tilemap_mapper_delegate(FUNC(punchout_state::armwrest_bs1_scan),state), 8,8, 32,16);
+ state->m_spr1_tilemap_flipx = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs1_get_info),state), tilemap_mapper_delegate(FUNC(punchout_state::armwrest_bs1_scan_flipx),state), 8,8, 32,16);
+ state->m_spr2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::bs2_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 16,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(punchout_state::armwrest_fg_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
state->m_spr1_tilemap->set_transparent_pen(0x07);
state->m_spr1_tilemap_flipx->set_transparent_pen(0x07);
diff --git a/src/mame/video/pushman.c b/src/mame/video/pushman.c
index 201419c127b..da491d34912 100644
--- a/src/mame/video/pushman.c
+++ b/src/mame/video/pushman.c
@@ -7,31 +7,30 @@
***************************************************************************/
-static TILEMAP_MAPPER( background_scan_rows )
+TILEMAP_MAPPER_MEMBER(pushman_state::background_scan_rows)
{
/* logical (col,row) -> memory offset */
return ((col & 0x7)) + ((7 - (row & 0x7)) << 3) + ((col & 0x78) << 3) + ((0x38 - (row & 0x38)) << 7);
}
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(pushman_state::get_back_tile_info)
{
- UINT8 *bg_map = machine.root_device().memregion("gfx4")->base();
+ UINT8 *bg_map = machine().root_device().memregion("gfx4")->base();
int tile;
tile = bg_map[tile_index << 1] + (bg_map[(tile_index << 1) + 1] << 8);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
(tile & 0xff) | ((tile & 0x4000) >> 6),
(tile >> 8) & 0xf,
(tile & 0x2000) ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(pushman_state::get_text_tile_info)
{
- pushman_state *state = machine.driver_data<pushman_state>();
- int tile = state->m_videoram[tile_index];
- SET_TILE_INFO(
+ int tile = m_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
(tile & 0xff) | ((tile & 0xc000) >> 6) | ((tile & 0x2000) >> 3),
(tile >> 8) & 0xf,
@@ -50,8 +49,8 @@ VIDEO_START( pushman )
{
pushman_state *state = machine.driver_data<pushman_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_back_tile_info, background_scan_rows, 32, 32, 128, 64);
- state->m_tx_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pushman_state::get_back_tile_info),state), tilemap_mapper_delegate(FUNC(pushman_state::background_scan_rows),state), 32, 32, 128, 64);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pushman_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_tx_tilemap->set_transparent_pen(3);
}
diff --git a/src/mame/video/quizdna.c b/src/mame/video/quizdna.c
index 4187df3f328..9ac8a52de7d 100644
--- a/src/mame/video/quizdna.c
+++ b/src/mame/video/quizdna.c
@@ -13,23 +13,21 @@ Video hardware
#include "includes/quizdna.h"
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(quizdna_state::get_bg_tile_info)
{
- quizdna_state *state = machine.driver_data<quizdna_state>();
- int code = state->m_bg_ram[tile_index*2] + state->m_bg_ram[tile_index*2+1]*0x100 ;
- int col = state->m_bg_ram[tile_index*2+0x1000] & 0x7f;
+ int code = m_bg_ram[tile_index*2] + m_bg_ram[tile_index*2+1]*0x100 ;
+ int col = m_bg_ram[tile_index*2+0x1000] & 0x7f;
if (code>0x7fff)
code &= 0x83ff;
- SET_TILE_INFO(1, code, col, 0);
+ SET_TILE_INFO_MEMBER(1, code, col, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(quizdna_state::get_fg_tile_info)
{
- quizdna_state *state = machine.driver_data<quizdna_state>();
int code,col,x,y;
- UINT8 *FG = state->memregion("user1")->base();
+ UINT8 *FG = memregion("user1")->base();
x = tile_index & 0x1f;
y = FG[(tile_index >> 5) & 0x1f] & 0x3f;
@@ -37,12 +35,12 @@ static TILE_GET_INFO( get_fg_tile_info )
y >>= 1;
- col = state->m_fg_ram[x*2 + y*0x40 + 1];
- code += (state->m_fg_ram[x*2 + y*0x40] + (col & 0x1f) * 0x100) * 2;
+ col = m_fg_ram[x*2 + y*0x40 + 1];
+ code += (m_fg_ram[x*2 + y*0x40] + (col & 0x1f) * 0x100) * 2;
col >>= 5;
col = (col & 3) | ((col & 4) << 1);
- SET_TILE_INFO(0, code, col, 0);
+ SET_TILE_INFO_MEMBER(0, code, col, 0);
}
@@ -57,8 +55,8 @@ VIDEO_START( quizdna )
state->m_bg_ram = auto_alloc_array(machine, UINT8, 0x2000);
state->m_fg_ram = auto_alloc_array(machine, UINT8, 0x1000);
- state->m_bg_tilemap = tilemap_create( machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32 );
- state->m_fg_tilemap = tilemap_create( machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,8,32,32 );
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizdna_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizdna_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,8,32,32 );
state->m_fg_tilemap->set_transparent_pen(0 );
}
diff --git a/src/mame/video/quizpani.c b/src/mame/video/quizpani.c
index 4adc4c58d7e..e021daba0bd 100644
--- a/src/mame/video/quizpani.c
+++ b/src/mame/video/quizpani.c
@@ -8,32 +8,30 @@
#include "includes/quizpani.h"
-static TILEMAP_MAPPER( bg_scan )
+TILEMAP_MAPPER_MEMBER(quizpani_state::bg_scan)
{
/* logical (col,row) -> memory offset */
return (row & 0x0f) + ((col & 0xff) << 4) + ((row & 0x70) << 8);
}
-static TILE_GET_INFO( bg_tile_info )
+TILE_GET_INFO_MEMBER(quizpani_state::bg_tile_info)
{
- quizpani_state *state = machine.driver_data<quizpani_state>();
- int code = state->m_bg_videoram[tile_index];
+ int code = m_bg_videoram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- (code & 0xfff) + (0x1000 * state->m_bgbank),
+ (code & 0xfff) + (0x1000 * m_bgbank),
code >> 12,
0);
}
-static TILE_GET_INFO( txt_tile_info )
+TILE_GET_INFO_MEMBER(quizpani_state::txt_tile_info)
{
- quizpani_state *state = machine.driver_data<quizpani_state>();
- int code = state->m_txt_videoram[tile_index];
+ int code = m_txt_videoram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- (code & 0xfff) + (0x1000 * state->m_txtbank),
+ (code & 0xfff) + (0x1000 * m_txtbank),
code >> 12,
0);
}
@@ -71,8 +69,8 @@ WRITE16_MEMBER(quizpani_state::quizpani_tilesbank_w)
VIDEO_START( quizpani )
{
quizpani_state *state = machine.driver_data<quizpani_state>();
- state->m_bg_tilemap = tilemap_create(machine, bg_tile_info, bg_scan,16,16,256,32);
- state->m_txt_tilemap = tilemap_create(machine, txt_tile_info,bg_scan,16,16,256,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpani_state::bg_tile_info),state), tilemap_mapper_delegate(FUNC(quizpani_state::bg_scan),state),16,16,256,32);
+ state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpani_state::txt_tile_info),state),tilemap_mapper_delegate(FUNC(quizpani_state::bg_scan),state),16,16,256,32);
state->m_txt_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/raiden.c b/src/mame/video/raiden.c
index f7aae1e3986..1a8d29a8542 100644
--- a/src/mame/video/raiden.c
+++ b/src/mame/video/raiden.c
@@ -23,45 +23,42 @@ WRITE16_MEMBER(raiden_state::raiden_text_w)
m_tx_layer->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(raiden_state::get_back_tile_info)
{
- raiden_state *state = machine.driver_data<raiden_state>();
- int tile=state->m_back_data[tile_index];
+ int tile=m_back_data[tile_index];
int color=tile >> 12;
tile=tile&0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile,
color,
0);
}
-static TILE_GET_INFO( get_fore_tile_info )
+TILE_GET_INFO_MEMBER(raiden_state::get_fore_tile_info)
{
- raiden_state *state = machine.driver_data<raiden_state>();
- int tile=state->m_fore_data[tile_index];
+ int tile=m_fore_data[tile_index];
int color=tile >> 12;
tile=tile&0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile,
color,
0);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(raiden_state::get_text_tile_info)
{
- raiden_state *state = machine.driver_data<raiden_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int tiledata = videoram[tile_index];
int tile = (tiledata & 0xff) | ((tiledata >> 6) & 0x300);
int color = (tiledata >> 8) & 0x0f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
color,
@@ -71,9 +68,9 @@ static TILE_GET_INFO( get_text_tile_info )
VIDEO_START( raiden )
{
raiden_state *state = machine.driver_data<raiden_state>();
- state->m_bg_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_COLS, 16,16,32,32);
- state->m_fg_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_COLS,16,16,32,32);
- state->m_tx_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_COLS,8,8,32,32);
+ state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_back_tile_info),state),TILEMAP_SCAN_COLS, 16,16,32,32);
+ state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_fore_tile_info),state),TILEMAP_SCAN_COLS,16,16,32,32);
+ state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_text_tile_info),state),TILEMAP_SCAN_COLS,8,8,32,32);
state->m_alternate=0;
state->m_fg_layer->set_transparent_pen(15);
@@ -83,9 +80,9 @@ VIDEO_START( raiden )
VIDEO_START( raidena )
{
raiden_state *state = machine.driver_data<raiden_state>();
- state->m_bg_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_COLS, 16,16,32,32);
- state->m_fg_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_COLS,16,16,32,32);
- state->m_tx_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_back_tile_info),state),TILEMAP_SCAN_COLS, 16,16,32,32);
+ state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_fore_tile_info),state),TILEMAP_SCAN_COLS,16,16,32,32);
+ state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(raiden_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_alternate=1;
state->m_fg_layer->set_transparent_pen(15);
diff --git a/src/mame/video/rallyx.c b/src/mame/video/rallyx.c
index f1db57f25b7..07f9e525e7d 100644
--- a/src/mame/video/rallyx.c
+++ b/src/mame/video/rallyx.c
@@ -216,7 +216,7 @@ PALETTE_INIT( jungler )
***************************************************************************/
/* the video RAM has space for 32x32 tiles and is only partially used for the radar */
-static TILEMAP_MAPPER( fg_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(rallyx_state::fg_tilemap_scan)
{
return col + (row << 5);
}
@@ -234,14 +234,14 @@ INLINE void rallyx_get_tile_info( running_machine &machine, tile_data &tileinfo,
TILE_FLIPYX(attr >> 6) ^ TILE_FLIPX);
}
-static TILE_GET_INFO( rallyx_bg_get_tile_info )
+TILE_GET_INFO_MEMBER(rallyx_state::rallyx_bg_get_tile_info)
{
- rallyx_get_tile_info(machine, tileinfo, tile_index, 0x400);
+ rallyx_get_tile_info(machine(), tileinfo, tile_index, 0x400);
}
-static TILE_GET_INFO( rallyx_fg_get_tile_info )
+TILE_GET_INFO_MEMBER(rallyx_state::rallyx_fg_get_tile_info)
{
- rallyx_get_tile_info(machine, tileinfo, tile_index, 0x000);
+ rallyx_get_tile_info(machine(), tileinfo, tile_index, 0x000);
}
@@ -259,14 +259,14 @@ INLINE void locomotn_get_tile_info(running_machine &machine,tile_data &tileinfo,
(attr & 0x80) ? (TILE_FLIPX | TILE_FLIPY) : 0);
}
-static TILE_GET_INFO( locomotn_bg_get_tile_info )
+TILE_GET_INFO_MEMBER(rallyx_state::locomotn_bg_get_tile_info)
{
- locomotn_get_tile_info(machine, tileinfo, tile_index, 0x400);
+ locomotn_get_tile_info(machine(), tileinfo, tile_index, 0x400);
}
-static TILE_GET_INFO( locomotn_fg_get_tile_info )
+TILE_GET_INFO_MEMBER(rallyx_state::locomotn_fg_get_tile_info)
{
- locomotn_get_tile_info(machine, tileinfo, tile_index, 0x000);
+ locomotn_get_tile_info(machine(), tileinfo, tile_index, 0x000);
}
@@ -343,8 +343,8 @@ VIDEO_START( rallyx )
{
rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_bg_tilemap = tilemap_create(machine, rallyx_bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, rallyx_fg_get_tile_info, fg_tilemap_scan, 8, 8, 8, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),state), 8, 8, 8, 32);
/* the scrolling tilemap is slightly misplaced in Rally X */
state->m_bg_tilemap->set_scrolldx(3, 3);
@@ -359,8 +359,8 @@ VIDEO_START( jungler )
{
rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_bg_tilemap = tilemap_create(machine, rallyx_bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, rallyx_fg_get_tile_info, fg_tilemap_scan, 8, 8, 8, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),state), 8, 8, 8, 32);
state->m_spriteram_base = 0x14;
@@ -373,8 +373,8 @@ VIDEO_START( locomotn )
{
rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_bg_tilemap = tilemap_create(machine, locomotn_bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, locomotn_fg_get_tile_info, fg_tilemap_scan, 8, 8, 8, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),state), 8, 8, 8, 32);
/* handle reduced visible area in some games */
if (machine.primary_screen->visible_area().max_x == 32 * 8 - 1)
@@ -394,8 +394,8 @@ VIDEO_START( commsega )
{
rallyx_state *state = machine.driver_data<rallyx_state>();
- state->m_bg_tilemap = tilemap_create(machine, locomotn_bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, locomotn_fg_get_tile_info, fg_tilemap_scan, 8, 8, 8, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_fg_get_tile_info),state), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),state), 8, 8, 8, 32);
/* handle reduced visible area in some games */
if (machine.primary_screen->visible_area().max_x == 32 * 8 - 1)
diff --git a/src/mame/video/realbrk.c b/src/mame/video/realbrk.c
index 07dcaa965f7..21fd6608ebc 100644
--- a/src/mame/video/realbrk.c
+++ b/src/mame/video/realbrk.c
@@ -68,24 +68,22 @@ WRITE16_MEMBER(realbrk_state::dai2kaku_flipscreen_w)
***************************************************************************/
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(realbrk_state::get_tile_info_0)
{
- realbrk_state *state = machine.driver_data<realbrk_state>();
- UINT16 attr = state->m_vram_0[tile_index * 2 + 0];
- UINT16 code = state->m_vram_0[tile_index * 2 + 1];
- SET_TILE_INFO(
+ UINT16 attr = m_vram_0[tile_index * 2 + 0];
+ UINT16 code = m_vram_0[tile_index * 2 + 1];
+ SET_TILE_INFO_MEMBER(
0,
code,
attr & 0x7f,
TILE_FLIPYX( attr >> 14 ));
}
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(realbrk_state::get_tile_info_1)
{
- realbrk_state *state = machine.driver_data<realbrk_state>();
- UINT16 attr = state->m_vram_1[tile_index * 2 + 0];
- UINT16 code = state->m_vram_1[tile_index * 2 + 1];
- SET_TILE_INFO(
+ UINT16 attr = m_vram_1[tile_index * 2 + 0];
+ UINT16 code = m_vram_1[tile_index * 2 + 1];
+ SET_TILE_INFO_MEMBER(
0,
code,
attr & 0x7f,
@@ -118,14 +116,13 @@ WRITE16_MEMBER(realbrk_state::realbrk_vram_1_w)
***************************************************************************/
-static TILE_GET_INFO( get_tile_info_2 )
+TILE_GET_INFO_MEMBER(realbrk_state::get_tile_info_2)
{
- realbrk_state *state = machine.driver_data<realbrk_state>();
- UINT16 code = state->m_vram_2[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_vram_2[tile_index];
+ SET_TILE_INFO_MEMBER(
1,
code & 0x0fff,
- ((code & 0xf000) >> 12) | ((state->m_vregs[0xa/2] & 0x7f) << 4),
+ ((code & 0xf000) >> 12) | ((m_vregs[0xa/2] & 0x7f) << 4),
0);
}
@@ -149,11 +146,11 @@ VIDEO_START(realbrk)
{
realbrk_state *state = machine.driver_data<realbrk_state>();
/* Backgrounds */
- state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
- state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(realbrk_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(realbrk_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
/* Text */
- state->m_tilemap_2 = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
+ state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(realbrk_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
state->m_tilemap_0->set_transparent_pen(0);
state->m_tilemap_1->set_transparent_pen(0);
diff --git a/src/mame/video/relief.c b/src/mame/video/relief.c
index fde24597e4a..cdc5f89f1fc 100644
--- a/src/mame/video/relief.c
+++ b/src/mame/video/relief.c
@@ -17,25 +17,23 @@
*
*************************************/
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(relief_state::get_playfield_tile_info)
{
- relief_state *state = machine.driver_data<relief_state>();
- UINT16 data1 = state->m_playfield[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] & 0xff;
+ UINT16 data1 = m_playfield[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] & 0xff;
int code = data1 & 0x7fff;
int color = 0x20 + (data2 & 0x0f);
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
}
-static TILE_GET_INFO( get_playfield2_tile_info )
+TILE_GET_INFO_MEMBER(relief_state::get_playfield2_tile_info)
{
- relief_state *state = machine.driver_data<relief_state>();
- UINT16 data1 = state->m_playfield2[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
+ UINT16 data1 = m_playfield2[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] >> 8;
int code = data1 & 0x7fff;
int color = data2 & 0x0f;
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
}
@@ -90,10 +88,10 @@ VIDEO_START( relief )
machine.gfx[1]->set_granularity(16);
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(relief_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the second playfield */
- state->m_playfield2_tilemap = tilemap_create(machine, get_playfield2_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(relief_state::get_playfield2_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
state->m_playfield2_tilemap->set_transparent_pen(0);
/* initialize the motion objects */
diff --git a/src/mame/video/renegade.c b/src/mame/video/renegade.c
index 95b075228a1..4b0fac4ef87 100644
--- a/src/mame/video/renegade.c
+++ b/src/mame/video/renegade.c
@@ -38,25 +38,23 @@ WRITE8_MEMBER(renegade_state::renegade_scroll1_w)
m_scrollx = (m_scrollx & 0xff) | (data << 8);
}
-static TILE_GET_INFO( get_bg_tilemap_info )
+TILE_GET_INFO_MEMBER(renegade_state::get_bg_tilemap_info)
{
- renegade_state *state = machine.driver_data<renegade_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
const UINT8 *source = &videoram[tile_index];
UINT8 attributes = source[0x400]; /* CCC??BBB */
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1 + (attributes & 0x7),
source[0],
attributes >> 5,
0);
}
-static TILE_GET_INFO( get_fg_tilemap_info )
+TILE_GET_INFO_MEMBER(renegade_state::get_fg_tilemap_info)
{
- renegade_state *state = machine.driver_data<renegade_state>();
- const UINT8 *source = &state->m_videoram2[tile_index];
+ const UINT8 *source = &m_videoram2[tile_index];
UINT8 attributes = source[0x400];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
(attributes & 3) * 256 + source[0],
attributes >> 6,
@@ -66,8 +64,8 @@ static TILE_GET_INFO( get_fg_tilemap_info )
VIDEO_START( renegade )
{
renegade_state *state = machine.driver_data<renegade_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tilemap_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 16);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tilemap_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(renegade_state::get_bg_tilemap_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(renegade_state::get_fg_tilemap_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_scrolldx(256, 0);
diff --git a/src/mame/video/retofinv.c b/src/mame/video/retofinv.c
index 2e9c493de0c..e6276c06220 100644
--- a/src/mame/video/retofinv.c
+++ b/src/mame/video/retofinv.c
@@ -62,7 +62,7 @@ PALETTE_INIT( retofinv )
***************************************************************************/
/* convert from 32x32 to 36x28 */
-static TILEMAP_MAPPER( tilemap_scan )
+TILEMAP_MAPPER_MEMBER(retofinv_state::tilemap_scan)
{
row += 2;
col -= 2;
@@ -72,26 +72,24 @@ static TILEMAP_MAPPER( tilemap_scan )
return (row << 5) + col;
}
-static TILE_GET_INFO( bg_get_tile_info )
+TILE_GET_INFO_MEMBER(retofinv_state::bg_get_tile_info)
{
- retofinv_state *state = machine.driver_data<retofinv_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
- state->m_bg_videoram[tile_index] + 256 * state->m_bg_bank,
- state->m_bg_videoram[0x400 + tile_index] & 0x3f,
+ m_bg_videoram[tile_index] + 256 * m_bg_bank,
+ m_bg_videoram[0x400 + tile_index] & 0x3f,
0);
}
-static TILE_GET_INFO( fg_get_tile_info )
+TILE_GET_INFO_MEMBER(retofinv_state::fg_get_tile_info)
{
- retofinv_state *state = machine.driver_data<retofinv_state>();
- int color = state->m_fg_videoram[0x400 + tile_index];
+ int color = m_fg_videoram[0x400 + tile_index];
tileinfo.group = color;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_fg_videoram[tile_index] + 256 * state->m_fg_bank,
+ m_fg_videoram[tile_index] + 256 * m_fg_bank,
color,
0);
}
@@ -107,8 +105,8 @@ static TILE_GET_INFO( fg_get_tile_info )
VIDEO_START( retofinv )
{
retofinv_state *state = machine.driver_data<retofinv_state>();
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,tilemap_scan,8,8,36,28);
- state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,tilemap_scan,8,8,36,28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(retofinv_state::bg_get_tile_info),state),tilemap_mapper_delegate(FUNC(retofinv_state::tilemap_scan),state),8,8,36,28);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(retofinv_state::fg_get_tile_info),state),tilemap_mapper_delegate(FUNC(retofinv_state::tilemap_scan),state),8,8,36,28);
colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0);
}
diff --git a/src/mame/video/rocnrope.c b/src/mame/video/rocnrope.c
index 416c5ce11c1..2d9bc96c55f 100644
--- a/src/mame/video/rocnrope.c
+++ b/src/mame/video/rocnrope.c
@@ -104,21 +104,20 @@ WRITE8_MEMBER(rocnrope_state::rocnrope_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(rocnrope_state::get_bg_tile_info)
{
- rocnrope_state *state = machine.driver_data<rocnrope_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + 2 * (attr & 0x80);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + 2 * (attr & 0x80);
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
VIDEO_START( rocnrope )
{
rocnrope_state *state = machine.driver_data<rocnrope_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rocnrope_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/rpunch.c b/src/mame/video/rpunch.c
index efd7c594e13..a2ccb644a57 100644
--- a/src/mame/video/rpunch.c
+++ b/src/mame/video/rpunch.c
@@ -21,35 +21,33 @@
*
*************************************/
-static TILE_GET_INFO( get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(rpunch_state::get_bg0_tile_info)
{
- rpunch_state *state = machine.driver_data<rpunch_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int data = videoram[tile_index];
int code;
- if (state->m_videoflags & 0x0400) code = (data & 0x0fff) | 0x2000;
+ if (m_videoflags & 0x0400) code = (data & 0x0fff) | 0x2000;
else code = (data & 0x1fff);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
- ((state->m_videoflags & 0x0010) >> 1) | ((data >> 13) & 7),
+ ((m_videoflags & 0x0010) >> 1) | ((data >> 13) & 7),
0);
}
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(rpunch_state::get_bg1_tile_info)
{
- rpunch_state *state = machine.driver_data<rpunch_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int data = videoram[0x2000 / 2 + tile_index];
int code;
- if (state->m_videoflags & 0x0800) code = (data & 0x0fff) | 0x2000;
+ if (m_videoflags & 0x0800) code = (data & 0x0fff) | 0x2000;
else code = (data & 0x1fff);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
- ((state->m_videoflags & 0x0020) >> 2) | ((data >> 13) & 7),
+ ((m_videoflags & 0x0020) >> 2) | ((data >> 13) & 7),
0);
}
@@ -73,8 +71,8 @@ VIDEO_START( rpunch )
{
rpunch_state *state = machine.driver_data<rpunch_state>();
/* allocate tilemaps for the backgrounds */
- state->m_background[0] = tilemap_create(machine, get_bg0_tile_info,TILEMAP_SCAN_COLS,8,8,64,64);
- state->m_background[1] = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_COLS,8,8,64,64);
+ state->m_background[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rpunch_state::get_bg0_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,64);
+ state->m_background[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rpunch_state::get_bg1_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,64);
/* configure the tilemaps */
state->m_background[1]->set_transparent_pen(15);
diff --git a/src/mame/video/runaway.c b/src/mame/video/runaway.c
index d98fbccbd19..1e5bbbc2e83 100644
--- a/src/mame/video/runaway.c
+++ b/src/mame/video/runaway.c
@@ -49,21 +49,19 @@ WRITE8_MEMBER(runaway_state::runaway_tile_bank_w)
}
-static TILE_GET_INFO( runaway_get_tile_info )
+TILE_GET_INFO_MEMBER(runaway_state::runaway_get_tile_info)
{
- runaway_state *state = machine.driver_data<runaway_state>();
- UINT8 code = state->m_video_ram[tile_index];
+ UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO(0, ((code & 0x3f) << 1) | ((code & 0x40) >> 6) | (state->m_tile_bank << 7), 0, (code & 0x80) ? TILE_FLIPY : 0);
+ SET_TILE_INFO_MEMBER(0, ((code & 0x3f) << 1) | ((code & 0x40) >> 6) | (m_tile_bank << 7), 0, (code & 0x80) ? TILE_FLIPY : 0);
}
-static TILE_GET_INFO( qwak_get_tile_info )
+TILE_GET_INFO_MEMBER(runaway_state::qwak_get_tile_info)
{
- runaway_state *state = machine.driver_data<runaway_state>();
- UINT8 code = state->m_video_ram[tile_index];
+ UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), 0, 0);
+ SET_TILE_INFO_MEMBER(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), 0, 0);
}
@@ -71,7 +69,7 @@ static TILE_GET_INFO( qwak_get_tile_info )
VIDEO_START( runaway )
{
runaway_state *state = machine.driver_data<runaway_state>();
- state->m_bg_tilemap = tilemap_create(machine, runaway_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 30);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(runaway_state::runaway_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 30);
state->save_item(NAME(state->m_tile_bank));
}
@@ -80,7 +78,7 @@ VIDEO_START( runaway )
VIDEO_START( qwak )
{
runaway_state *state = machine.driver_data<runaway_state>();
- state->m_bg_tilemap = tilemap_create(machine, qwak_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 30);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(runaway_state::qwak_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 30);
state->save_item(NAME(state->m_tile_bank));
}
diff --git a/src/mame/video/rungun.c b/src/mame/video/rungun.c
index 57dfb17f8ba..f1af1be7e6f 100644
--- a/src/mame/video/rungun.c
+++ b/src/mame/video/rungun.c
@@ -14,16 +14,15 @@
#include "includes/rungun.h"
/* TTL text plane stuff */
-static TILE_GET_INFO( ttl_get_tile_info )
+TILE_GET_INFO_MEMBER(rungun_state::ttl_get_tile_info)
{
- rungun_state *state = machine.driver_data<rungun_state>();
- UINT8 *lvram = (UINT8 *)state->m_ttl_vram;
+ UINT8 *lvram = (UINT8 *)m_ttl_vram;
int attr, code;
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(state->m_ttl_gfx_index, code, attr, 0);
+ SET_TILE_INFO_MEMBER(m_ttl_gfx_index, code, attr, 0);
}
void rng_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
@@ -49,16 +48,15 @@ WRITE16_MEMBER(rungun_state::rng_936_videoram_w)
m_936_tilemap->mark_tile_dirty(offset / 2);
}
-static TILE_GET_INFO( get_rng_936_tile_info )
+TILE_GET_INFO_MEMBER(rungun_state::get_rng_936_tile_info)
{
- rungun_state *state = machine.driver_data<rungun_state>();
int tileno, colour, flipx;
- tileno = state->m_936_videoram[tile_index * 2 + 1] & 0x3fff;
- flipx = (state->m_936_videoram[tile_index * 2 + 1] & 0xc000) >> 14;
- colour = 0x10 + (state->m_936_videoram[tile_index * 2] & 0x000f);
+ tileno = m_936_videoram[tile_index * 2 + 1] & 0x3fff;
+ flipx = (m_936_videoram[tile_index * 2 + 1] & 0xc000) >> 14;
+ colour = 0x10 + (m_936_videoram[tile_index * 2] & 0x000f);
- SET_TILE_INFO(0, tileno, colour, TILE_FLIPYX(flipx));
+ SET_TILE_INFO_MEMBER(0, tileno, colour, TILE_FLIPYX(flipx));
}
@@ -78,7 +76,7 @@ VIDEO_START( rng )
rungun_state *state = machine.driver_data<rungun_state>();
int gfx_index;
- state->m_936_tilemap = tilemap_create(machine, get_rng_936_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
+ state->m_936_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rungun_state::get_rng_936_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
state->m_936_tilemap->set_transparent_pen(0);
/* find first empty slot to decode gfx */
@@ -93,7 +91,7 @@ VIDEO_START( rng )
state->m_ttl_gfx_index = gfx_index;
// create the tilemap
- state->m_ttl_tilemap = tilemap_create(machine, ttl_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_ttl_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rungun_state::ttl_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_ttl_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/sauro.c b/src/mame/video/sauro.c
index 1e181540f24..2bf6156a2d6 100644
--- a/src/mame/video/sauro.c
+++ b/src/mame/video/sauro.c
@@ -45,24 +45,22 @@ WRITE8_MEMBER(sauro_state::tecfri_scroll_bg_w)
m_bg_tilemap->set_scrollx(0, data);
}
-static TILE_GET_INFO( get_tile_info_bg )
+TILE_GET_INFO_MEMBER(sauro_state::get_tile_info_bg)
{
- sauro_state *state = machine.driver_data<sauro_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x07) << 8);
- int color = ((state->m_colorram[tile_index] >> 4) & 0x0f) | state->m_palette_bank;
- int flags = state->m_colorram[tile_index] & 0x08 ? TILE_FLIPX : 0;
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x07) << 8);
+ int color = ((m_colorram[tile_index] >> 4) & 0x0f) | m_palette_bank;
+ int flags = m_colorram[tile_index] & 0x08 ? TILE_FLIPX : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static TILE_GET_INFO( get_tile_info_fg )
+TILE_GET_INFO_MEMBER(sauro_state::get_tile_info_fg)
{
- sauro_state *state = machine.driver_data<sauro_state>();
- int code = state->m_videoram2[tile_index] + ((state->m_colorram2[tile_index] & 0x07) << 8);
- int color = ((state->m_colorram2[tile_index] >> 4) & 0x0f) | state->m_palette_bank;
- int flags = state->m_colorram2[tile_index] & 0x08 ? TILE_FLIPX : 0;
+ int code = m_videoram2[tile_index] + ((m_colorram2[tile_index] & 0x07) << 8);
+ int color = ((m_colorram2[tile_index] >> 4) & 0x0f) | m_palette_bank;
+ int flags = m_colorram2[tile_index] & 0x08 ? TILE_FLIPX : 0;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
/* Sauro */
@@ -89,10 +87,10 @@ VIDEO_START( sauro )
{
sauro_state *state = machine.driver_data<sauro_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),state), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_tile_info_fg, TILEMAP_SCAN_COLS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_fg),state), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
@@ -163,7 +161,7 @@ VIDEO_START( trckydoc )
{
sauro_state *state = machine.driver_data<sauro_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),state), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/sbasketb.c b/src/mame/video/sbasketb.c
index 9b9b484a278..8f229fe2ee0 100644
--- a/src/mame/video/sbasketb.c
+++ b/src/mame/video/sbasketb.c
@@ -116,21 +116,20 @@ WRITE8_MEMBER(sbasketb_state::sbasketb_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(sbasketb_state::get_bg_tile_info)
{
- sbasketb_state *state = machine.driver_data<sbasketb_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x20) << 3);
- int color = state->m_colorram[tile_index] & 0x0f;
- int flags = ((state->m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x20) << 3);
+ 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(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( sbasketb )
{
sbasketb_state *state = machine.driver_data<sbasketb_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbasketb_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(32);
}
diff --git a/src/mame/video/sbugger.c b/src/mame/video/sbugger.c
index 25034b0fd74..6912d8a7948 100644
--- a/src/mame/video/sbugger.c
+++ b/src/mame/video/sbugger.c
@@ -3,15 +3,14 @@
#include "emu.h"
#include "includes/sbugger.h"
-static TILE_GET_INFO( get_sbugger_tile_info )
+TILE_GET_INFO_MEMBER(sbugger_state::get_sbugger_tile_info)
{
- sbugger_state *state = machine.driver_data<sbugger_state>();
int tileno, color;
- tileno = state->m_videoram[tile_index];
- color = state->m_videoram_attr[tile_index];
+ tileno = m_videoram[tile_index];
+ color = m_videoram_attr[tile_index];
- SET_TILE_INFO(0,tileno,color,0);
+ SET_TILE_INFO_MEMBER(0,tileno,color,0);
}
WRITE8_MEMBER(sbugger_state::sbugger_videoram_w)
@@ -31,7 +30,7 @@ WRITE8_MEMBER(sbugger_state::sbugger_videoram_attr_w)
VIDEO_START(sbugger)
{
sbugger_state *state = machine.driver_data<sbugger_state>();
- state->m_tilemap = tilemap_create(machine, get_sbugger_tile_info, TILEMAP_SCAN_ROWS, 8, 16, 64, 16);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbugger_state::get_sbugger_tile_info),state), TILEMAP_SCAN_ROWS, 8, 16, 64, 16);
}
SCREEN_UPDATE_IND16(sbugger)
diff --git a/src/mame/video/scotrsht.c b/src/mame/video/scotrsht.c
index 58bd392ba0f..d162c162021 100644
--- a/src/mame/video/scotrsht.c
+++ b/src/mame/video/scotrsht.c
@@ -79,12 +79,11 @@ WRITE8_MEMBER(scotrsht_state::scotrsht_palettebank_w)
}
-static TILE_GET_INFO( scotrsht_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(scotrsht_state::scotrsht_get_bg_tile_info)
{
- scotrsht_state *state = machine.driver_data<scotrsht_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + (state->m_charbank << 9) + ((attr & 0x40) << 2);
- int color = (attr & 0x0f) + state->m_palette_bank * 16;
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + (m_charbank << 9) + ((attr & 0x40) << 2);
+ int color = (attr & 0x0f) + m_palette_bank * 16;
int flag = 0;
if(attr & 0x10) flag |= TILE_FLIPX;
@@ -92,7 +91,7 @@ static TILE_GET_INFO( scotrsht_get_bg_tile_info )
// data & 0x80 -> tile priority?
- SET_TILE_INFO(0, code, color, flag);
+ SET_TILE_INFO_MEMBER(0, code, color, flag);
}
/* Same as Jailbreak + palette bank */
@@ -130,7 +129,7 @@ VIDEO_START( scotrsht )
{
scotrsht_state *state = machine.driver_data<scotrsht_state>();
- state->m_bg_tilemap = tilemap_create(machine, scotrsht_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(scotrsht_state::scotrsht_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_scroll_cols(64);
}
diff --git a/src/mame/video/sderby.c b/src/mame/video/sderby.c
index 9626ae8fa7f..90782f47f74 100644
--- a/src/mame/video/sderby.c
+++ b/src/mame/video/sderby.c
@@ -3,15 +3,14 @@
/* BG Layer */
-static TILE_GET_INFO( get_sderby_tile_info )
+TILE_GET_INFO_MEMBER(sderby_state::get_sderby_tile_info)
{
- sderby_state *state = machine.driver_data<sderby_state>();
int tileno,colour;
- tileno = state->m_videoram[tile_index*2];
- colour = state->m_videoram[tile_index*2+1] & 0x0f;
+ tileno = m_videoram[tile_index*2];
+ colour = m_videoram[tile_index*2+1] & 0x0f;
- SET_TILE_INFO(1,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(1,tileno,colour,0);
}
WRITE16_MEMBER(sderby_state::sderby_videoram_w)
@@ -23,15 +22,14 @@ WRITE16_MEMBER(sderby_state::sderby_videoram_w)
/* MD Layer */
-static TILE_GET_INFO( get_sderby_md_tile_info )
+TILE_GET_INFO_MEMBER(sderby_state::get_sderby_md_tile_info)
{
- sderby_state *state = machine.driver_data<sderby_state>();
int tileno,colour;
- tileno = state->m_md_videoram[tile_index*2];
- colour = state->m_md_videoram[tile_index*2+1] & 0x0f;
+ tileno = m_md_videoram[tile_index*2];
+ colour = m_md_videoram[tile_index*2+1] & 0x0f;
- SET_TILE_INFO(1,tileno,colour+16,0);
+ SET_TILE_INFO_MEMBER(1,tileno,colour+16,0);
}
WRITE16_MEMBER(sderby_state::sderby_md_videoram_w)
@@ -43,15 +41,14 @@ WRITE16_MEMBER(sderby_state::sderby_md_videoram_w)
/* FG Layer */
-static TILE_GET_INFO( get_sderby_fg_tile_info )
+TILE_GET_INFO_MEMBER(sderby_state::get_sderby_fg_tile_info)
{
- sderby_state *state = machine.driver_data<sderby_state>();
int tileno,colour;
- tileno = state->m_fg_videoram[tile_index*2];
- colour = state->m_fg_videoram[tile_index*2+1] & 0x0f;
+ tileno = m_fg_videoram[tile_index*2];
+ colour = m_fg_videoram[tile_index*2+1] & 0x0f;
- SET_TILE_INFO(0,tileno,colour+32,0);
+ SET_TILE_INFO_MEMBER(0,tileno,colour+32,0);
}
WRITE16_MEMBER(sderby_state::sderby_fg_videoram_w)
@@ -96,12 +93,12 @@ VIDEO_START( sderby )
{
sderby_state *state = machine.driver_data<sderby_state>();
- state->m_tilemap = tilemap_create(machine, get_sderby_tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
- state->m_md_tilemap = tilemap_create(machine, get_sderby_md_tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sderby_state::get_sderby_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sderby_state::get_sderby_md_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
state->m_md_tilemap->set_transparent_pen(0);
- state->m_fg_tilemap = tilemap_create(machine, get_sderby_fg_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sderby_state::get_sderby_fg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/segag80r.c b/src/mame/video/segag80r.c
index ba2391fd529..0fd202ade9c 100644
--- a/src/mame/video/segag80r.c
+++ b/src/mame/video/segag80r.c
@@ -150,15 +150,14 @@ static void spaceod_bg_init_palette(running_machine &machine)
*
*************************************/
-static TILE_GET_INFO( spaceod_get_tile_info )
+TILE_GET_INFO_MEMBER(segag80r_state::spaceod_get_tile_info)
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
- int code = state->memregion("gfx2")->base()[tile_index + 0x1000 * (state->m_spaceod_bg_control >> 6)];
- SET_TILE_INFO(1, code + 0x100 * ((state->m_spaceod_bg_control >> 2) & 1), 0, 0);
+ 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);
}
-static TILEMAP_MAPPER( spaceod_scan_rows )
+TILEMAP_MAPPER_MEMBER(segag80r_state::spaceod_scan_rows)
{
/* this works for both horizontal and vertical tilemaps */
/* which are 4 32x32 sections */
@@ -166,11 +165,10 @@ static TILEMAP_MAPPER( spaceod_scan_rows )
}
-static TILE_GET_INFO( bg_get_tile_info )
+TILE_GET_INFO_MEMBER(segag80r_state::bg_get_tile_info)
{
- segag80r_state *state = machine.driver_data<segag80r_state>();
- int code = state->memregion("gfx2")->base()[tile_index];
- SET_TILE_INFO(1, code + 0x100 * state->m_bg_char_bank, code >> 4, 0);
+ int code = memregion("gfx2")->base()[tile_index];
+ SET_TILE_INFO_MEMBER(1, code + 0x100 * m_bg_char_bank, code >> 4, 0);
}
@@ -210,19 +208,19 @@ VIDEO_START( segag80r )
/* and one vertically scrolling */
case G80_BACKGROUND_SPACEOD:
spaceod_bg_init_palette(machine);
- state->m_spaceod_bg_htilemap = tilemap_create(machine, spaceod_get_tile_info, spaceod_scan_rows, 8,8, 128,32);
- state->m_spaceod_bg_vtilemap = tilemap_create(machine, spaceod_get_tile_info, spaceod_scan_rows, 8,8, 32,128);
+ state->m_spaceod_bg_htilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::spaceod_get_tile_info),state), tilemap_mapper_delegate(FUNC(segag80r_state::spaceod_scan_rows),state), 8,8, 128,32);
+ state->m_spaceod_bg_vtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::spaceod_get_tile_info),state), tilemap_mapper_delegate(FUNC(segag80r_state::spaceod_scan_rows),state), 8,8, 32,128);
break;
/* background tilemap is effectively 1 screen x n screens */
case G80_BACKGROUND_MONSTERB:
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,machine.root_device().memregion("gfx2")->bytes() / 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,machine.root_device().memregion("gfx2")->bytes() / 32);
break;
/* background tilemap is effectively 4 screens x n screens */
case G80_BACKGROUND_PIGNEWT:
case G80_BACKGROUND_SINDBADM:
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 128,machine.root_device().memregion("gfx2")->bytes() / 128);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segag80r_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 128,machine.root_device().memregion("gfx2")->bytes() / 128);
break;
}
diff --git a/src/mame/video/segas32.c b/src/mame/video/segas32.c
index e1fe54f7e22..be752ad6ada 100644
--- a/src/mame/video/segas32.c
+++ b/src/mame/video/segas32.c
@@ -221,7 +221,7 @@ struct cache_entry
*
*************************************/
-static TILE_GET_INFO( get_tile_info );
+
static void sprite_erase_buffer(segas32_state *state);
static void sprite_swap_buffers(segas32_state *state);
static void sprite_render_list(running_machine &machine);
@@ -252,7 +252,7 @@ static void common_start(running_machine &machine, int multi32)
{
struct cache_entry *entry = auto_alloc(machine, struct cache_entry);
- entry->tmap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,16);
+ entry->tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas32_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16,16, 32,16);
entry->page = 0xff;
entry->bank = 0;
entry->next = state->m_cache_head;
@@ -747,12 +747,11 @@ static tilemap_t *find_cache_entry(segas32_state *state, int page, int bank)
*
*************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(segas32_state::get_tile_info)
{
- segas32_state *state = machine.driver_data<segas32_state>();
struct cache_entry *entry = (struct cache_entry *)param;
- UINT16 data = state->m_system32_videoram[(entry->page & 0x7f) * 0x200 + tile_index];
- SET_TILE_INFO(0, (entry->bank << 13) + (data & 0x1fff), (data >> 4) & 0x1ff, (data >> 14) & 3);
+ 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);
}
diff --git a/src/mame/video/seibuspi.c b/src/mame/video/seibuspi.c
index d1f9422f4d2..0fba7332cff 100644
--- a/src/mame/video/seibuspi.c
+++ b/src/mame/video/seibuspi.c
@@ -400,65 +400,61 @@ static void draw_sprites(running_machine &machine, bitmap_rgb32 &bitmap, const r
}
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(seibuspi_state::get_text_tile_info)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
int offs = tile_index / 2;
- int tile = (state->m_tilemap_ram[offs + state->m_text_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
+ int tile = (m_tilemap_ram[offs + m_text_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
int color = (tile >> 12) & 0xf;
tile &= 0xfff;
- SET_TILE_INFO(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(0, tile, color, 0);
}
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(seibuspi_state::get_back_tile_info)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
int offs = tile_index / 2;
- int tile = (state->m_tilemap_ram[offs] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
+ int tile = (m_tilemap_ram[offs] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
int color = (tile >> 13) & 0x7;
tile &= 0x1fff;
- if( state->m_rf2_layer_bank[0] )
+ if( m_rf2_layer_bank[0] )
tile |= 0x4000;
- SET_TILE_INFO(1, tile, color, 0);
+ SET_TILE_INFO_MEMBER(1, tile, color, 0);
}
-static TILE_GET_INFO( get_mid_tile_info )
+TILE_GET_INFO_MEMBER(seibuspi_state::get_mid_tile_info)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
int offs = tile_index / 2;
- int tile = (state->m_tilemap_ram[offs + state->m_mid_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
+ int tile = (m_tilemap_ram[offs + m_mid_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
int color = (tile >> 13) & 0x7;
tile &= 0x1fff;
tile |= 0x2000;
- if( state->m_rf2_layer_bank[1] )
+ if( m_rf2_layer_bank[1] )
tile |= 0x4000;
- SET_TILE_INFO(1, tile, color + 16, 0);
+ SET_TILE_INFO_MEMBER(1, tile, color + 16, 0);
}
-static TILE_GET_INFO( get_fore_tile_info )
+TILE_GET_INFO_MEMBER(seibuspi_state::get_fore_tile_info)
{
- seibuspi_state *state = machine.driver_data<seibuspi_state>();
int offs = tile_index / 2;
- int tile = (state->m_tilemap_ram[offs + state->m_fore_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
+ int tile = (m_tilemap_ram[offs + m_fore_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
int color = (tile >> 13) & 0x7;
tile &= 0x1fff;
- tile |= state->m_bg_fore_layer_position;
+ tile |= m_bg_fore_layer_position;
- if( state->m_rf2_layer_bank[2] )
+ if( m_rf2_layer_bank[2] )
tile |= 0x4000;
- tile |= ((state->m_layer_bank >> 27) & 0x1) << 13;
+ tile |= ((m_layer_bank >> 27) & 0x1) << 13;
- SET_TILE_INFO(1, tile, color + 8, 0);
+ SET_TILE_INFO_MEMBER(1, tile, color + 8, 0);
}
VIDEO_START( spi )
@@ -467,10 +463,10 @@ VIDEO_START( spi )
int i;
int region_length;
- state->m_text_layer = tilemap_create( machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8,8,64,32 );
- state->m_back_layer = tilemap_create( machine, get_back_tile_info, TILEMAP_SCAN_COLS, 16,16,32,32 );
- state->m_mid_layer = tilemap_create( machine, get_mid_tile_info, TILEMAP_SCAN_COLS, 16,16,32,32 );
- state->m_fore_layer = tilemap_create( machine, get_fore_tile_info, TILEMAP_SCAN_COLS, 16,16,32,32 );
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8,8,64,32 );
+ state->m_back_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_back_tile_info),state), TILEMAP_SCAN_COLS, 16,16,32,32 );
+ state->m_mid_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_mid_tile_info),state), TILEMAP_SCAN_COLS, 16,16,32,32 );
+ state->m_fore_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seibuspi_state::get_fore_tile_info),state), TILEMAP_SCAN_COLS, 16,16,32,32 );
state->m_text_layer->set_transparent_pen(31);
state->m_mid_layer->set_transparent_pen(63);
diff --git a/src/mame/video/seicross.c b/src/mame/video/seicross.c
index 95d9fd33d02..e50cbf90997 100644
--- a/src/mame/video/seicross.c
+++ b/src/mame/video/seicross.c
@@ -76,21 +76,20 @@ WRITE8_MEMBER(seicross_state::seicross_colorram_w)
m_bg_tilemap->mark_tile_dirty(offset + 0x20);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(seicross_state::get_bg_tile_info)
{
- seicross_state *state = machine.driver_data<seicross_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x10) << 4);
- int color = state->m_colorram[tile_index] & 0x0f;
- int flags = ((state->m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x10) << 4);
+ 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(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( seicross )
{
seicross_state *state = machine.driver_data<seicross_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seicross_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(32);
diff --git a/src/mame/video/senjyo.c b/src/mame/video/senjyo.c
index 28559e9aabd..de413a99540 100644
--- a/src/mame/video/senjyo.c
+++ b/src/mame/video/senjyo.c
@@ -17,67 +17,62 @@
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(senjyo_state::get_fg_tile_info)
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
- UINT8 attr = state->m_fgcolorram[tile_index];
+ UINT8 attr = m_fgcolorram[tile_index];
int flags = (attr & 0x80) ? TILE_FLIPY : 0;
- if (state->m_is_senjyo && (tile_index & 0x1f) >= 32-8)
+ if (m_is_senjyo && (tile_index & 0x1f) >= 32-8)
flags |= TILE_FORCE_LAYER0;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_fgvideoram[tile_index] + ((attr & 0x10) << 4),
+ m_fgvideoram[tile_index] + ((attr & 0x10) << 4),
attr & 0x07,
flags);
}
-static TILE_GET_INFO( senjyo_bg1_tile_info )
+TILE_GET_INFO_MEMBER(senjyo_state::senjyo_bg1_tile_info)
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
- UINT8 code = state->m_bg1videoram[tile_index];
+ UINT8 code = m_bg1videoram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
(code & 0x70) >> 4,
0);
}
-static TILE_GET_INFO( starforc_bg1_tile_info )
+TILE_GET_INFO_MEMBER(senjyo_state::starforc_bg1_tile_info)
{
/* Star Force has more tiles in bg1, so to get a uniform color code spread */
/* they wired bit 7 of the tile code in place of bit 4 to get the color code */
static const UINT8 colormap[8] = { 0, 2, 4, 6, 1, 3, 5, 7 };
- senjyo_state *state = machine.driver_data<senjyo_state>();
- UINT8 code = state->m_bg1videoram[tile_index];
+ UINT8 code = m_bg1videoram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
colormap[(code & 0xe0) >> 5],
0);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(senjyo_state::get_bg2_tile_info)
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
- UINT8 code = state->m_bg2videoram[tile_index];
+ UINT8 code = m_bg2videoram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
code,
(code & 0xe0) >> 5,
0);
}
-static TILE_GET_INFO( get_bg3_tile_info )
+TILE_GET_INFO_MEMBER(senjyo_state::get_bg3_tile_info)
{
- senjyo_state *state = machine.driver_data<senjyo_state>();
- UINT8 code = state->m_bg3videoram[tile_index];
+ UINT8 code = m_bg3videoram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
code,
(code & 0xe0) >> 5,
@@ -96,19 +91,19 @@ VIDEO_START( senjyo )
{
senjyo_state *state = machine.driver_data<senjyo_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
if (state->m_is_senjyo)
{
- state->m_bg1_tilemap = tilemap_create(machine, senjyo_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 48); /* only 16x32 used by Star Force */
- state->m_bg3_tilemap = tilemap_create(machine, get_bg3_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 56); /* only 16x32 used by Star Force */
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::senjyo_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 48); /* only 16x32 used by Star Force */
+ state->m_bg3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg3_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 56); /* only 16x32 used by Star Force */
}
else
{
- state->m_bg1_tilemap = tilemap_create(machine, starforc_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 32); /* only 16x32 used by Star Force */
- state->m_bg3_tilemap = tilemap_create(machine, get_bg3_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 32); /* only 16x32 used by Star Force */
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::starforc_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 32); /* only 16x32 used by Star Force */
+ state->m_bg3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(senjyo_state::get_bg3_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 32); /* only 16x32 used by Star Force */
}
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/seta.c b/src/mame/video/seta.c
index ee780985d5e..50989864e94 100644
--- a/src/mame/video/seta.c
+++ b/src/mame/video/seta.c
@@ -372,8 +372,8 @@ INLINE void twineagl_tile_info( running_machine &machine, tile_data &tileinfo, i
SET_TILE_INFO( 1, (code & 0x3fff), attr & 0x1f, TILE_FLIPXY((code & 0xc000) >> 14) );
}
-static TILE_GET_INFO( twineagl_get_tile_info_0 ) { twineagl_tile_info( machine, tileinfo, tile_index, 0x0000 ); }
-static TILE_GET_INFO( twineagl_get_tile_info_1 ) { twineagl_tile_info( machine, tileinfo, tile_index, 0x1000 ); }
+TILE_GET_INFO_MEMBER(seta_state::twineagl_get_tile_info_0){ twineagl_tile_info( machine(), tileinfo, tile_index, 0x0000 ); }
+TILE_GET_INFO_MEMBER(seta_state::twineagl_get_tile_info_1){ twineagl_tile_info( machine(), tileinfo, tile_index, 0x1000 ); }
INLINE void get_tile_info( running_machine &machine, tile_data &tileinfo, int tile_index, int layer, int offset )
@@ -397,10 +397,10 @@ INLINE void get_tile_info( running_machine &machine, tile_data &tileinfo, int ti
SET_TILE_INFO( gfx, state->m_tiles_offset + (code & 0x3fff), attr & 0x1f, TILE_FLIPXY((code & 0xc000) >> 14) );
}
-static TILE_GET_INFO( get_tile_info_0 ) { get_tile_info( machine, tileinfo, tile_index, 0, 0x0000 ); }
-static TILE_GET_INFO( get_tile_info_1 ) { get_tile_info( machine, tileinfo, tile_index, 0, 0x1000 ); }
-static TILE_GET_INFO( get_tile_info_2 ) { get_tile_info( machine, tileinfo, tile_index, 1, 0x0000 ); }
-static TILE_GET_INFO( get_tile_info_3 ) { get_tile_info( machine, tileinfo, tile_index, 1, 0x1000 ); }
+TILE_GET_INFO_MEMBER(seta_state::get_tile_info_0){ get_tile_info( machine(), tileinfo, tile_index, 0, 0x0000 ); }
+TILE_GET_INFO_MEMBER(seta_state::get_tile_info_1){ get_tile_info( machine(), tileinfo, tile_index, 0, 0x1000 ); }
+TILE_GET_INFO_MEMBER(seta_state::get_tile_info_2){ get_tile_info( machine(), tileinfo, tile_index, 1, 0x0000 ); }
+TILE_GET_INFO_MEMBER(seta_state::get_tile_info_3){ get_tile_info( machine(), tileinfo, tile_index, 1, 0x1000 ); }
WRITE16_MEMBER(seta_state::seta_vram_0_w)
@@ -449,18 +449,18 @@ VIDEO_START( seta_2_layers )
at any given time */
/* layer 0 */
- state->m_tilemap_0 = tilemap_create( machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemap_1 = tilemap_create( machine, get_tile_info_1, TILEMAP_SCAN_ROWS,
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
/* layer 1 */
- state->m_tilemap_2 = tilemap_create( machine, get_tile_info_2, TILEMAP_SCAN_ROWS,
+ state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemap_3 = tilemap_create( machine, get_tile_info_3, TILEMAP_SCAN_ROWS,
+ state->m_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
state->m_tilemaps_flip = 0;
@@ -484,10 +484,10 @@ VIDEO_START( seta_1_layer )
at any given time */
/* layer 0 */
- state->m_tilemap_0 = tilemap_create( machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemap_1 = tilemap_create( machine, get_tile_info_1, TILEMAP_SCAN_ROWS,
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
state->m_color_mode_shift = 4;
@@ -506,10 +506,10 @@ VIDEO_START( twineagl_1_layer )
at any given time */
/* layer 0 */
- state->m_tilemap_0 = tilemap_create( machine, twineagl_get_tile_info_0, TILEMAP_SCAN_ROWS,
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::twineagl_get_tile_info_0),state), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
- state->m_tilemap_1 = tilemap_create( machine, twineagl_get_tile_info_1, TILEMAP_SCAN_ROWS,
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::twineagl_get_tile_info_1),state), TILEMAP_SCAN_ROWS,
16,16, 64,32 );
state->m_tilemap_0->set_transparent_pen(0);
diff --git a/src/mame/video/sf.c b/src/mame/video/sf.c
index ef1a5f7d73c..6737b079d30 100644
--- a/src/mame/video/sf.c
+++ b/src/mame/video/sf.c
@@ -7,37 +7,36 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(sf_state::get_bg_tile_info)
{
- UINT8 *base = machine.root_device().memregion("gfx5")->base() + 2 * tile_index;
+ UINT8 *base = machine().root_device().memregion("gfx5")->base() + 2 * tile_index;
int attr = base[0x10000];
int color = base[0];
int code = (base[0x10000 + 1] << 8) | base[1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
color,
TILE_FLIPYX(attr & 3));
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(sf_state::get_fg_tile_info)
{
- UINT8 *base = machine.root_device().memregion("gfx5")->base() + 0x20000 + 2 * tile_index;
+ UINT8 *base = machine().root_device().memregion("gfx5")->base() + 0x20000 + 2 * tile_index;
int attr = base[0x10000];
int color = base[0];
int code = (base[0x10000 + 1] << 8) | base[1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
color,
TILE_FLIPYX(attr & 3));
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(sf_state::get_tx_tile_info)
{
- sf_state *state = machine.driver_data<sf_state>();
- int code = state->m_videoram[tile_index];
- SET_TILE_INFO(
+ int code = m_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(
3,
code & 0x3ff,
code>>12,
@@ -56,9 +55,9 @@ VIDEO_START( sf )
{
sf_state *state = machine.driver_data<sf_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sf_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sf_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sf_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_fg_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_transparent_pen(3);
diff --git a/src/mame/video/shadfrce.c b/src/mame/video/shadfrce.c
index cbcf8faf375..a0d2bd047c7 100644
--- a/src/mame/video/shadfrce.c
+++ b/src/mame/video/shadfrce.c
@@ -1,17 +1,16 @@
#include "emu.h"
#include "includes/shadfrce.h"
-static TILE_GET_INFO( get_shadfrce_fgtile_info )
+TILE_GET_INFO_MEMBER(shadfrce_state::get_shadfrce_fgtile_info)
{
/* ---- ---- tttt tttt ---- ---- pppp TTTT */
- shadfrce_state *state = machine.driver_data<shadfrce_state>();
int tileno, colour;
- tileno = (state->m_fgvideoram[tile_index *2] & 0x00ff) | ((state->m_fgvideoram[tile_index *2+1] & 0x000f) << 8);
- colour = (state->m_fgvideoram[tile_index *2+1] & 0x00f0) >>4;
+ 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(0,tileno,colour*4,0);
+ SET_TILE_INFO_MEMBER(0,tileno,colour*4,0);
}
WRITE16_MEMBER(shadfrce_state::shadfrce_fgvideoram_w)
@@ -21,19 +20,18 @@ WRITE16_MEMBER(shadfrce_state::shadfrce_fgvideoram_w)
m_fgtilemap->mark_tile_dirty(offset/2);
}
-static TILE_GET_INFO( get_shadfrce_bg0tile_info )
+TILE_GET_INFO_MEMBER(shadfrce_state::get_shadfrce_bg0tile_info)
{
/* ---- ---- ---- cccc --TT TTTT TTTT TTTT */
- shadfrce_state *state = machine.driver_data<shadfrce_state>();
int tileno, colour,fyx;
- tileno = (state->m_bg0videoram[tile_index *2+1] & 0x3fff);
- colour = state->m_bg0videoram[tile_index *2] & 0x001f;
+ tileno = (m_bg0videoram[tile_index *2+1] & 0x3fff);
+ colour = m_bg0videoram[tile_index *2] & 0x001f;
if (colour & 0x10) colour ^= 0x30; /* skip hole */
- fyx = (state->m_bg0videoram[tile_index *2] & 0x00c0) >>6;
+ fyx = (m_bg0videoram[tile_index *2] & 0x00c0) >>6;
- SET_TILE_INFO(2,tileno,colour,TILE_FLIPYX(fyx));
+ SET_TILE_INFO_MEMBER(2,tileno,colour,TILE_FLIPYX(fyx));
}
WRITE16_MEMBER(shadfrce_state::shadfrce_bg0videoram_w)
@@ -43,15 +41,14 @@ WRITE16_MEMBER(shadfrce_state::shadfrce_bg0videoram_w)
m_bg0tilemap->mark_tile_dirty(offset/2);
}
-static TILE_GET_INFO( get_shadfrce_bg1tile_info )
+TILE_GET_INFO_MEMBER(shadfrce_state::get_shadfrce_bg1tile_info)
{
- shadfrce_state *state = machine.driver_data<shadfrce_state>();
int tileno, colour;
- tileno = (state->m_bg1videoram[tile_index] & 0x0fff);
- colour = (state->m_bg1videoram[tile_index] & 0xf000) >> 12;
+ tileno = (m_bg1videoram[tile_index] & 0x0fff);
+ colour = (m_bg1videoram[tile_index] & 0xf000) >> 12;
- SET_TILE_INFO(2,tileno,colour+64,0);
+ SET_TILE_INFO_MEMBER(2,tileno,colour+64,0);
}
WRITE16_MEMBER(shadfrce_state::shadfrce_bg1videoram_w)
@@ -68,13 +65,13 @@ VIDEO_START( shadfrce )
{
shadfrce_state *state = machine.driver_data<shadfrce_state>();
- state->m_fgtilemap = tilemap_create(machine, get_shadfrce_fgtile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_fgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shadfrce_state::get_shadfrce_fgtile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
state->m_fgtilemap->set_transparent_pen(0);
- state->m_bg0tilemap = tilemap_create(machine, get_shadfrce_bg0tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ state->m_bg0tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shadfrce_state::get_shadfrce_bg0tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
state->m_bg0tilemap->set_transparent_pen(0);
- state->m_bg1tilemap = tilemap_create(machine, get_shadfrce_bg1tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ state->m_bg1tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shadfrce_state::get_shadfrce_bg1tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
state->m_spvideoram_old = auto_alloc_array(machine, UINT16, state->m_spvideoram.bytes()/2);
}
diff --git a/src/mame/video/shangkid.c b/src/mame/video/shangkid.c
index 2f0765c9d3b..e6b97c2dbcc 100644
--- a/src/mame/video/shangkid.c
+++ b/src/mame/video/shangkid.c
@@ -5,14 +5,13 @@
#include "includes/shangkid.h"
-static TILE_GET_INFO( get_bg_tile_info ){
- shangkid_state *state = machine.driver_data<shangkid_state>();
- UINT8 *videoram = state->m_videoram;
+TILE_GET_INFO_MEMBER(shangkid_state::get_bg_tile_info){
+ UINT8 *videoram = m_videoram;
int attributes = videoram[tile_index+0x800];
int tile_number = videoram[tile_index]+0x100*(attributes&0x3);
int color;
- if( state->m_gfx_type==1 )
+ if( m_gfx_type==1 )
{
/* Shanghai Kid:
------xx bank
@@ -21,7 +20,7 @@ static TILE_GET_INFO( get_bg_tile_info ){
*/
color = attributes>>3;
color = (color&0x03)|((color&0x1c)<<1);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
color,
@@ -35,7 +34,7 @@ static TILE_GET_INFO( get_bg_tile_info ){
x------- flipx?
*/
color = (attributes>>2)&0x1f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
color,
@@ -43,13 +42,13 @@ static TILE_GET_INFO( get_bg_tile_info ){
}
tileinfo.category =
- (machine.root_device().memregion( "proms" )->base()[0x800+color*4]==2)?1:0;
+ (machine().root_device().memregion( "proms" )->base()[0x800+color*4]==2)?1:0;
}
VIDEO_START( shangkid )
{
shangkid_state *state = machine.driver_data<shangkid_state>();
- state->m_background = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shangkid_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
}
WRITE8_MEMBER(shangkid_state::shangkid_videoram_w)
diff --git a/src/mame/video/shaolins.c b/src/mame/video/shaolins.c
index 3b488269dcf..abc3b71ce36 100644
--- a/src/mame/video/shaolins.c
+++ b/src/mame/video/shaolins.c
@@ -133,22 +133,21 @@ WRITE8_MEMBER(shaolins_state::shaolins_nmi_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(shaolins_state::get_bg_tile_info)
{
- shaolins_state *state = machine.driver_data<shaolins_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0x40) << 2);
- int color = (attr & 0x0f) + 16 * state->m_palettebank;
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0x40) << 2);
+ int color = (attr & 0x0f) + 16 * m_palettebank;
int flags = (attr & 0x20) ? TILE_FLIPY : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( shaolins )
{
shaolins_state *state = machine.driver_data<shaolins_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shaolins_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(32);
diff --git a/src/mame/video/shisen.c b/src/mame/video/shisen.c
index 721929ea1ba..ee966f786aa 100644
--- a/src/mame/video/shisen.c
+++ b/src/mame/video/shisen.c
@@ -41,21 +41,20 @@ WRITE8_MEMBER(shisen_state::sichuan2_paletteram_w)
palette_set_color_rgb(machine(), offset, pal5bit(m_paletteram[offset + 0x000]), pal5bit(m_paletteram[offset + 0x100]), pal5bit(m_paletteram[offset + 0x200]));
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(shisen_state::get_bg_tile_info)
{
- shisen_state *state = machine.driver_data<shisen_state>();
int offs = tile_index * 2;
- int code = state->m_videoram[offs] + ((state->m_videoram[offs + 1] & 0x0f) << 8) + (state->m_gfxbank << 12);
- int color = (state->m_videoram[offs + 1] & 0xf0) >> 4;
+ 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(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( sichuan2 )
{
shisen_state *state = machine.driver_data<shisen_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shisen_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
}
diff --git a/src/mame/video/shootout.c b/src/mame/video/shootout.c
index 4c9053f117b..dd668128c1c 100644
--- a/src/mame/video/shootout.c
+++ b/src/mame/video/shootout.c
@@ -39,28 +39,26 @@ PALETTE_INIT( shootout )
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(shootout_state::get_bg_tile_info)
{
- shootout_state *state = machine.driver_data<shootout_state>();
- int attributes = state->m_videoram[tile_index+0x400]; /* CCCC -TTT */
- int tile_number = state->m_videoram[tile_index] + 256*(attributes&7);
+ int attributes = m_videoram[tile_index+0x400]; /* CCCC -TTT */
+ int tile_number = m_videoram[tile_index] + 256*(attributes&7);
int color = attributes>>4;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile_number,
color,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(shootout_state::get_fg_tile_info)
{
- shootout_state *state = machine.driver_data<shootout_state>();
- int attributes = state->m_textram[tile_index+0x400]; /* CCCC --TT */
- int tile_number = state->m_textram[tile_index] + 256*(attributes&0x3);
+ int attributes = m_textram[tile_index+0x400]; /* CCCC --TT */
+ int tile_number = m_textram[tile_index] + 256*(attributes&0x3);
int color = attributes>>4;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
color,
@@ -85,8 +83,8 @@ VIDEO_START( shootout )
{
shootout_state *state = machine.driver_data<shootout_state>();
- state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_foreground = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shootout_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shootout_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_foreground->set_transparent_pen(0 );
}
diff --git a/src/mame/video/shuuz.c b/src/mame/video/shuuz.c
index cbed097ce7e..a1f3f25f86d 100644
--- a/src/mame/video/shuuz.c
+++ b/src/mame/video/shuuz.c
@@ -16,14 +16,13 @@
*
*************************************/
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(shuuz_state::get_playfield_tile_info)
{
- shuuz_state *state = machine.driver_data<shuuz_state>();
- UINT16 data1 = state->m_playfield[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
+ UINT16 data1 = m_playfield[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] >> 8;
int code = data1 & 0x3fff;
int color = data2 & 0x0f;
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
}
@@ -75,7 +74,7 @@ VIDEO_START( shuuz )
shuuz_state *state = machine.driver_data<shuuz_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shuuz_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
diff --git a/src/mame/video/sidearms.c b/src/mame/video/sidearms.c
index 84e6b388392..b089c81a3df 100644
--- a/src/mame/video/sidearms.c
+++ b/src/mame/video/sidearms.c
@@ -93,45 +93,42 @@ WRITE8_MEMBER(sidearms_state::sidearms_star_scrolly_w)
}
-static TILE_GET_INFO( get_sidearms_bg_tile_info )
+TILE_GET_INFO_MEMBER(sidearms_state::get_sidearms_bg_tile_info)
{
- sidearms_state *state = machine.driver_data<sidearms_state>();
int code, attr, color, flags;
- code = state->m_tilerom[tile_index];
- attr = state->m_tilerom[tile_index + 1];
+ code = m_tilerom[tile_index];
+ attr = m_tilerom[tile_index + 1];
code |= attr<<8 & 0x100;
color = attr>>3 & 0x1f;
flags = attr>>1 & 0x03;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_philko_bg_tile_info )
+TILE_GET_INFO_MEMBER(sidearms_state::get_philko_bg_tile_info)
{
- sidearms_state *state = machine.driver_data<sidearms_state>();
int code, attr, color, flags;
- code = state->m_tilerom[tile_index];
- attr = state->m_tilerom[tile_index + 1];
+ code = m_tilerom[tile_index];
+ attr = m_tilerom[tile_index + 1];
code |= (((attr>>6 & 0x02) | (attr & 0x01)) * 0x100);
color = attr>>3 & 0x0f;
flags = attr>>1 & 0x03;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(sidearms_state::get_fg_tile_info)
{
- sidearms_state *state = machine.driver_data<sidearms_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + (attr<<2 & 0x300);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + (attr<<2 & 0x300);
int color = attr & 0x3f;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILEMAP_MAPPER( sidearms_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(sidearms_state::sidearms_tilemap_scan)
{
/* logical (col,row) -> memory offset */
int offset = ((row << 7) + col) << 1;
@@ -147,17 +144,17 @@ VIDEO_START( sidearms )
if (!state->m_gameid)
{
- state->m_bg_tilemap = tilemap_create(machine, get_sidearms_bg_tile_info, sidearms_tilemap_scan,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_sidearms_bg_tile_info),state), tilemap_mapper_delegate(FUNC(sidearms_state::sidearms_tilemap_scan),state),
32, 32, 128, 128);
state->m_bg_tilemap->set_transparent_pen(15);
}
else
{
- state->m_bg_tilemap = tilemap_create(machine, get_philko_bg_tile_info, sidearms_tilemap_scan, 32, 32, 128, 128);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_philko_bg_tile_info),state), tilemap_mapper_delegate(FUNC(sidearms_state::sidearms_tilemap_scan),state), 32, 32, 128, 128);
}
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 64, 64);
state->m_fg_tilemap->set_transparent_pen(3);
diff --git a/src/mame/video/sidepckt.c b/src/mame/video/sidepckt.c
index 48de403d5a4..269ff6af3b0 100644
--- a/src/mame/video/sidepckt.c
+++ b/src/mame/video/sidepckt.c
@@ -42,13 +42,12 @@ PALETTE_INIT( sidepckt )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(sidepckt_state::get_tile_info)
{
- sidepckt_state *state = machine.driver_data<sidepckt_state>();
- UINT8 attr = state->m_colorram[tile_index];
- SET_TILE_INFO(
+ UINT8 attr = m_colorram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index] + ((attr & 0x07) << 8),
+ m_videoram[tile_index] + ((attr & 0x07) << 8),
((attr & 0x10) >> 3) | ((attr & 0x20) >> 5),
TILE_FLIPX);
tileinfo.group = (attr & 0x80) >> 7;
@@ -65,7 +64,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( sidepckt )
{
sidepckt_state *state = machine.driver_data<sidepckt_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sidepckt_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_transmask(0,0xff,0x00); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1,0x01,0xfe); /* split type 1 has pen 0 transparent in front half */
diff --git a/src/mame/video/silkroad.c b/src/mame/video/silkroad.c
index 8566ec32210..95b3dbe9567 100644
--- a/src/mame/video/silkroad.c
+++ b/src/mame/video/silkroad.c
@@ -55,16 +55,15 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(silkroad_state::get_fg_tile_info)
{
- silkroad_state *state = machine.driver_data<silkroad_state>();
- int code = ((state->m_vidram[tile_index] & 0xffff0000) >> 16 );
- int color = ((state->m_vidram[tile_index] & 0x000001f));
- int flipx = ((state->m_vidram[tile_index] & 0x0000080) >> 7);
+ int code = ((m_vidram[tile_index] & 0xffff0000) >> 16 );
+ int color = ((m_vidram[tile_index] & 0x000001f));
+ int flipx = ((m_vidram[tile_index] & 0x0000080) >> 7);
code += 0x18000;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
color,
@@ -80,14 +79,13 @@ WRITE32_MEMBER(silkroad_state::silkroad_fgram_w)
m_fg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_fg2_tile_info )
+TILE_GET_INFO_MEMBER(silkroad_state::get_fg2_tile_info)
{
- silkroad_state *state = machine.driver_data<silkroad_state>();
- int code = ((state->m_vidram2[tile_index] & 0xffff0000) >> 16 );
- int color = ((state->m_vidram2[tile_index] & 0x000001f));
- int flipx = ((state->m_vidram2[tile_index] & 0x0000080) >> 7);
+ int code = ((m_vidram2[tile_index] & 0xffff0000) >> 16 );
+ int color = ((m_vidram2[tile_index] & 0x000001f));
+ int flipx = ((m_vidram2[tile_index] & 0x0000080) >> 7);
code += 0x18000;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
color,
@@ -103,14 +101,13 @@ WRITE32_MEMBER(silkroad_state::silkroad_fgram2_w)
m_fg2_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_fg3_tile_info )
+TILE_GET_INFO_MEMBER(silkroad_state::get_fg3_tile_info)
{
- silkroad_state *state = machine.driver_data<silkroad_state>();
- int code = ((state->m_vidram3[tile_index] & 0xffff0000) >> 16 );
- int color = ((state->m_vidram3[tile_index] & 0x000001f));
- int flipx = ((state->m_vidram3[tile_index] & 0x0000080) >> 7);
+ int code = ((m_vidram3[tile_index] & 0xffff0000) >> 16 );
+ int color = ((m_vidram3[tile_index] & 0x000001f));
+ int flipx = ((m_vidram3[tile_index] & 0x0000080) >> 7);
code += 0x18000;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
color,
@@ -129,9 +126,9 @@ WRITE32_MEMBER(silkroad_state::silkroad_fgram3_w)
VIDEO_START(silkroad)
{
silkroad_state *state = machine.driver_data<silkroad_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg2_tilemap = tilemap_create(machine, get_fg2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_fg3_tilemap = tilemap_create(machine, get_fg3_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silkroad_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_fg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silkroad_state::get_fg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_fg3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silkroad_state::get_fg3_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_fg2_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/skullxbo.c b/src/mame/video/skullxbo.c
index 9c925f2597f..ae09ea53f98 100644
--- a/src/mame/video/skullxbo.c
+++ b/src/mame/video/skullxbo.c
@@ -16,25 +16,23 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(skullxbo_state::get_alpha_tile_info)
{
- skullxbo_state *state = machine.driver_data<skullxbo_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = (data ^ 0x400) & 0x7ff;
int color = (data >> 11) & 0x0f;
int opaque = data & 0x8000;
- SET_TILE_INFO(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(skullxbo_state::get_playfield_tile_info)
{
- skullxbo_state *state = machine.driver_data<skullxbo_state>();
- UINT16 data1 = state->m_playfield[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] & 0xff;
+ UINT16 data1 = m_playfield[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] & 0xff;
int code = data1 & 0x7fff;
int color = data2 & 0x0f;
- SET_TILE_INFO(1, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(1, code, color, (data1 >> 15) & 1);
}
@@ -86,13 +84,13 @@ VIDEO_START( skullxbo )
skullxbo_state *state = machine.driver_data<skullxbo_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 16,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skullxbo_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 16,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 16,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skullxbo_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 16,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/skydiver.c b/src/mame/video/skydiver.c
index b277b2d7107..48f5467a60b 100644
--- a/src/mame/video/skydiver.c
+++ b/src/mame/video/skydiver.c
@@ -36,11 +36,10 @@ MACHINE_RESET( skydiver )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(skydiver_state::get_tile_info)
{
- skydiver_state *state = machine.driver_data<skydiver_state>();
- UINT8 code = state->m_videoram[tile_index];
- SET_TILE_INFO(0, code & 0x3f, code >> 6, 0);
+ UINT8 code = m_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(0, code & 0x3f, code >> 6, 0);
}
@@ -54,7 +53,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( skydiver )
{
skydiver_state *state = machine.driver_data<skydiver_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skydiver_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
}
diff --git a/src/mame/video/skykid.c b/src/mame/video/skykid.c
index fbc39cbcb70..758de8f1782 100644
--- a/src/mame/video/skykid.c
+++ b/src/mame/video/skykid.c
@@ -57,7 +57,7 @@ PALETTE_INIT( skykid )
***************************************************************************/
/* convert from 32x32 to 36x28 */
-static TILEMAP_MAPPER( tx_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(skykid_state::tx_tilemap_scan)
{
int offs;
@@ -71,32 +71,30 @@ static TILEMAP_MAPPER( tx_tilemap_scan )
return offs;
}
-static TILE_GET_INFO( tx_get_tile_info )
+TILE_GET_INFO_MEMBER(skykid_state::tx_get_tile_info)
{
- skykid_state *state = machine.driver_data<skykid_state>();
- int code = state->m_textram[tile_index];
- int attr = state->m_textram[tile_index + 0x400];
+ int code = m_textram[tile_index];
+ int attr = m_textram[tile_index + 0x400];
tileinfo.category = code >> 4 & 0xf;
/* the hardware has two character sets, one normal and one flipped. When
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(
+ SET_TILE_INFO_MEMBER(
0,
- code | (state->flip_screen() ? 0x100 : 0),
+ code | (flip_screen() ? 0x100 : 0),
attr & 0x3f,
- state->flip_screen() ? (TILE_FLIPY | TILE_FLIPX) : 0);
+ flip_screen() ? (TILE_FLIPY | TILE_FLIPX) : 0);
}
-static TILE_GET_INFO( bg_get_tile_info )
+TILE_GET_INFO_MEMBER(skykid_state::bg_get_tile_info)
{
- skykid_state *state = machine.driver_data<skykid_state>();
- int code = state->m_videoram[tile_index];
- int attr = state->m_videoram[tile_index+0x800];
+ int code = m_videoram[tile_index];
+ int attr = m_videoram[tile_index+0x800];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code + ((attr & 0x01) << 8),
((attr & 0x7e) >> 1) | ((attr & 0x01) << 6),
@@ -114,8 +112,8 @@ static TILE_GET_INFO( bg_get_tile_info )
VIDEO_START( skykid )
{
skykid_state *state = machine.driver_data<skykid_state>();
- state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,tx_tilemap_scan, 8,8,36,28);
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS, 8,8,64,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skykid_state::tx_get_tile_info),state),tilemap_mapper_delegate(FUNC(skykid_state::tx_tilemap_scan),state), 8,8,36,28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skykid_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,64,32);
state->m_tx_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/slapfght.c b/src/mame/video/slapfght.c
index 62ed22a9c6c..520a8655bdf 100644
--- a/src/mame/video/slapfght.c
+++ b/src/mame/video/slapfght.c
@@ -16,44 +16,41 @@
***************************************************************************/
-static TILE_GET_INFO( get_pf_tile_info ) /* For Performan only */
+TILE_GET_INFO_MEMBER(slapfght_state::get_pf_tile_info)/* For Performan only */
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
int tile,color;
- tile=state->m_slapfight_videoram[tile_index] + ((state->m_slapfight_colorram[tile_index] & 0x03) << 8);
- color=(state->m_slapfight_colorram[tile_index] >> 3) & 0x0f;
- SET_TILE_INFO(
+ 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(
0,
tile,
color,
0);
}
-static TILE_GET_INFO( get_pf1_tile_info )
+TILE_GET_INFO_MEMBER(slapfght_state::get_pf1_tile_info)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
int tile,color;
- tile=state->m_slapfight_videoram[tile_index] + ((state->m_slapfight_colorram[tile_index] & 0x0f) << 8);
- color=(state->m_slapfight_colorram[tile_index] & 0xf0) >> 4;
+ tile=m_slapfight_videoram[tile_index] + ((m_slapfight_colorram[tile_index] & 0x0f) << 8);
+ color=(m_slapfight_colorram[tile_index] & 0xf0) >> 4;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile,
color,
0);
}
-static TILE_GET_INFO( get_fix_tile_info )
+TILE_GET_INFO_MEMBER(slapfght_state::get_fix_tile_info)
{
- slapfght_state *state = machine.driver_data<slapfght_state>();
int tile,color;
- tile=state->m_slapfight_fixvideoram[tile_index] + ((state->m_slapfight_fixcolorram[tile_index] & 0x03) << 8);
- color=(state->m_slapfight_fixcolorram[tile_index] & 0xfc) >> 2;
+ tile=m_slapfight_fixvideoram[tile_index] + ((m_slapfight_fixcolorram[tile_index] & 0x03) << 8);
+ color=(m_slapfight_fixcolorram[tile_index] & 0xfc) >> 2;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
color,
@@ -70,7 +67,7 @@ static TILE_GET_INFO( get_fix_tile_info )
VIDEO_START( perfrman )
{
slapfght_state *state = machine.driver_data<slapfght_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_pf_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(slapfght_state::get_pf_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_pf1_tilemap->set_transparent_pen(0);
}
@@ -78,8 +75,8 @@ VIDEO_START( perfrman )
VIDEO_START( slapfight )
{
slapfght_state *state = machine.driver_data<slapfght_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_pf1_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
- state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(slapfght_state::get_pf1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_fix_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(slapfght_state::get_fix_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_fix_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/snk.c b/src/mame/video/snk.c
index 1fee02a42a2..8a86172f8aa 100644
--- a/src/mame/video/snk.c
+++ b/src/mame/video/snk.c
@@ -59,7 +59,7 @@ PALETTE_INIT( tnk3 )
/**************************************************************************************/
-static TILEMAP_MAPPER( marvins_tx_scan_cols )
+TILEMAP_MAPPER_MEMBER(snk_state::marvins_tx_scan_cols)
{
// tilemap is 36x28, the central part is from the first RAM page and the
// extra 4 columns are from the second page
@@ -70,121 +70,112 @@ static TILEMAP_MAPPER( marvins_tx_scan_cols )
return row + (col << 5);
}
-static TILE_GET_INFO( marvins_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(snk_state::marvins_get_tx_tile_info)
{
- snk_state *state = machine.driver_data<snk_state>();
- int code = state->m_tx_videoram[tile_index];
+ int code = m_tx_videoram[tile_index];
int color = code >> 5;
- SET_TILE_INFO(0,
- state->m_tx_tile_offset + code,
+ SET_TILE_INFO_MEMBER(0,
+ m_tx_tile_offset + code,
color,
tile_index & 0x400 ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( ikari_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(snk_state::ikari_get_tx_tile_info)
{
- snk_state *state = machine.driver_data<snk_state>();
- int code = state->m_tx_videoram[tile_index];
+ int code = m_tx_videoram[tile_index];
- SET_TILE_INFO(0,
- state->m_tx_tile_offset + code,
+ SET_TILE_INFO_MEMBER(0,
+ m_tx_tile_offset + code,
0,
tile_index & 0x400 ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( gwar_get_tx_tile_info )
+TILE_GET_INFO_MEMBER(snk_state::gwar_get_tx_tile_info)
{
- snk_state *state = machine.driver_data<snk_state>();
- int code = state->m_tx_videoram[tile_index];
+ int code = m_tx_videoram[tile_index];
- SET_TILE_INFO(0,
- state->m_tx_tile_offset + code,
+ SET_TILE_INFO_MEMBER(0,
+ m_tx_tile_offset + code,
0,
0);
}
-static TILE_GET_INFO( marvins_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(snk_state::marvins_get_fg_tile_info)
{
- snk_state *state = machine.driver_data<snk_state>();
- int code = state->m_fg_videoram[tile_index];
+ int code = m_fg_videoram[tile_index];
- SET_TILE_INFO(1,
+ SET_TILE_INFO_MEMBER(1,
code,
0,
0);
}
-static TILE_GET_INFO( marvins_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(snk_state::marvins_get_bg_tile_info)
{
- snk_state *state = machine.driver_data<snk_state>();
- int code = state->m_bg_videoram[tile_index];
+ int code = m_bg_videoram[tile_index];
- SET_TILE_INFO(2,
+ SET_TILE_INFO_MEMBER(2,
code,
0,
0);
}
-static TILE_GET_INFO( aso_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(snk_state::aso_get_bg_tile_info)
{
- snk_state *state = machine.driver_data<snk_state>();
- int code = state->m_bg_videoram[tile_index];
+ int code = m_bg_videoram[tile_index];
- SET_TILE_INFO(1,
- state->m_bg_tile_offset + code,
+ SET_TILE_INFO_MEMBER(1,
+ m_bg_tile_offset + code,
0,
0);
}
-static TILE_GET_INFO( tnk3_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(snk_state::tnk3_get_bg_tile_info)
{
- snk_state *state = machine.driver_data<snk_state>();
- int attr = state->m_bg_videoram[2*tile_index+1];
- int code = state->m_bg_videoram[2*tile_index] | ((attr & 0x30) << 4);
+ int attr = m_bg_videoram[2*tile_index+1];
+ int code = m_bg_videoram[2*tile_index] | ((attr & 0x30) << 4);
int color = (attr & 0xf) ^ 8;
- SET_TILE_INFO(1,
+ SET_TILE_INFO_MEMBER(1,
code,
color,
0);
}
-static TILE_GET_INFO( ikari_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(snk_state::ikari_get_bg_tile_info)
{
- snk_state *state = machine.driver_data<snk_state>();
- int attr = state->m_bg_videoram[2*tile_index+1];
- int code = state->m_bg_videoram[2*tile_index] | ((attr & 0x03) << 8);
+ int attr = m_bg_videoram[2*tile_index+1];
+ int code = m_bg_videoram[2*tile_index] | ((attr & 0x03) << 8);
int color = (attr & 0x70) >> 4;
- SET_TILE_INFO(1,
+ SET_TILE_INFO_MEMBER(1,
code,
color,
0);
}
-static TILE_GET_INFO( gwar_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(snk_state::gwar_get_bg_tile_info)
{
- snk_state *state = machine.driver_data<snk_state>();
- int attr = state->m_bg_videoram[2*tile_index+1];
- int code = state->m_bg_videoram[2*tile_index] | ((attr & 0x0f) << 8);
+ int attr = m_bg_videoram[2*tile_index+1];
+ int code = m_bg_videoram[2*tile_index] | ((attr & 0x0f) << 8);
int color = (attr & 0xf0) >> 4;
- if (state->m_is_psychos) // psychos has a separate palette bank bit
+ if (m_is_psychos) // psychos has a separate palette bank bit
color &= 7;
- SET_TILE_INFO(1,
+ SET_TILE_INFO_MEMBER(1,
code,
color,
0);
// bermudat, tdfever use FFFF to blank the background.
- // (still call SET_TILE_INFO, otherwise problems might occur on boot when
+ // (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())
- tileinfo.pen_data = state->m_empty_tile;
+ if (code >= machine().gfx[1]->elements())
+ tileinfo.pen_data = m_empty_tile;
}
@@ -235,9 +226,9 @@ VIDEO_START( marvins )
VIDEO_START_CALL(snk_3bpp_shadow);
- state->m_tx_tilemap = tilemap_create(machine, marvins_get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
- state->m_fg_tilemap = tilemap_create(machine, marvins_get_fg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 32);
- state->m_bg_tilemap = tilemap_create(machine, marvins_get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_fg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
state->m_tx_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_scrolldy(8, 8);
@@ -258,8 +249,8 @@ VIDEO_START( jcross )
VIDEO_START_CALL(snk_3bpp_shadow);
- state->m_tx_tilemap = tilemap_create(machine, marvins_get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
- state->m_bg_tilemap = tilemap_create(machine, aso_get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 64);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::aso_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 64);
state->m_tx_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_scrolldy(8, 8);
@@ -279,8 +270,8 @@ VIDEO_START( sgladiat )
VIDEO_START_CALL(snk_3bpp_shadow);
- state->m_tx_tilemap = tilemap_create(machine, marvins_get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
- state->m_bg_tilemap = tilemap_create(machine, aso_get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::aso_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
state->m_tx_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_scrolldy(8, 8);
@@ -325,8 +316,8 @@ VIDEO_START( tnk3 )
VIDEO_START_CALL(snk_3bpp_shadow);
- state->m_tx_tilemap = tilemap_create(machine, marvins_get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
- state->m_bg_tilemap = tilemap_create(machine, tnk3_get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 64);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::tnk3_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 64);
state->m_tx_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_scrolldy(8, 8);
@@ -345,8 +336,8 @@ VIDEO_START( ikari )
VIDEO_START_CALL(snk_3bpp_shadow);
- state->m_tx_tilemap = tilemap_create(machine, ikari_get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
- state->m_bg_tilemap = tilemap_create(machine, ikari_get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::ikari_get_tx_tile_info),state), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),state), 8, 8, 36, 28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::ikari_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
state->m_tx_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_scrolldy(8, 8);
@@ -368,8 +359,8 @@ VIDEO_START( gwar )
memset(state->m_empty_tile, 0xf, sizeof(state->m_empty_tile));
- state->m_tx_tilemap = tilemap_create(machine, gwar_get_tx_tile_info, TILEMAP_SCAN_COLS, 8, 8, 50, 32);
- state->m_bg_tilemap = tilemap_create(machine, gwar_get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::gwar_get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 50, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk_state::gwar_get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
state->m_tx_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/snk6502.c b/src/mame/video/snk6502.c
index e3848c4eb24..275c0a76626 100644
--- a/src/mame/video/snk6502.c
+++ b/src/mame/video/snk6502.c
@@ -156,30 +156,28 @@ WRITE8_MEMBER(snk6502_state::snk6502_scrolly_w)
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(snk6502_state::get_bg_tile_info)
{
- snk6502_state *state = machine.driver_data<snk6502_state>();
- int code = state->m_videoram[tile_index] + 256 * state->m_charbank;
- int color = (state->m_colorram[tile_index] & 0x38) >> 3;
+ int code = m_videoram[tile_index] + 256 * m_charbank;
+ int color = (m_colorram[tile_index] & 0x38) >> 3;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(snk6502_state::get_fg_tile_info)
{
- snk6502_state *state = machine.driver_data<snk6502_state>();
- int code = state->m_videoram2[tile_index];
- int color = state->m_colorram[tile_index] & 0x07;
+ int code = m_videoram2[tile_index];
+ int color = m_colorram[tile_index] & 0x07;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( snk6502 )
{
snk6502_state *state = machine.driver_data<snk6502_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
@@ -293,30 +291,28 @@ WRITE8_MEMBER(snk6502_state::satansat_backcolor_w)
}
}
-static TILE_GET_INFO( satansat_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(snk6502_state::satansat_get_bg_tile_info)
{
- snk6502_state *state = machine.driver_data<snk6502_state>();
- int code = state->m_videoram[tile_index];
- int color = (state->m_colorram[tile_index] & 0x0c) >> 2;
+ int code = m_videoram[tile_index];
+ int color = (m_colorram[tile_index] & 0x0c) >> 2;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-static TILE_GET_INFO( satansat_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(snk6502_state::satansat_get_fg_tile_info)
{
- snk6502_state *state = machine.driver_data<snk6502_state>();
- int code = state->m_videoram2[tile_index];
- int color = state->m_colorram[tile_index] & 0x03;
+ int code = m_videoram2[tile_index];
+ int color = m_colorram[tile_index] & 0x03;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( satansat )
{
snk6502_state *state = machine.driver_data<snk6502_state>();
- state->m_bg_tilemap = tilemap_create(machine, satansat_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, satansat_get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::satansat_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk6502_state::satansat_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/snk68.c b/src/mame/video/snk68.c
index 6e724b20b8a..c0f9dc31d02 100644
--- a/src/mame/video/snk68.c
+++ b/src/mame/video/snk68.c
@@ -22,26 +22,24 @@ Notes:
***************************************************************************/
-static TILE_GET_INFO( get_pow_tile_info )
+TILE_GET_INFO_MEMBER(snk68_state::get_pow_tile_info)
{
- snk68_state *state = machine.driver_data<snk68_state>();
- int tile = state->m_fg_tile_offset + (state->m_pow_fg_videoram[2*tile_index] & 0xff);
- int color = state->m_pow_fg_videoram[2*tile_index+1] & 0x07;
+ 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(0, tile, color, 0);
+ SET_TILE_INFO_MEMBER(0, tile, color, 0);
}
-static TILE_GET_INFO( get_searchar_tile_info )
+TILE_GET_INFO_MEMBER(snk68_state::get_searchar_tile_info)
{
- snk68_state *state = machine.driver_data<snk68_state>();
- int data = state->m_pow_fg_videoram[2*tile_index];
+ int data = m_pow_fg_videoram[2*tile_index];
int tile = data & 0x7ff;
int color = (data & 0x7000) >> 12;
// used in the ikari3 intro
int flags = (data & 0x8000) ? TILE_FORCE_LAYER0 : 0;
- SET_TILE_INFO(0, tile, color, flags);
+ SET_TILE_INFO_MEMBER(0, tile, color, flags);
}
/***************************************************************************
@@ -64,7 +62,7 @@ VIDEO_START( pow )
{
snk68_state *state = machine.driver_data<snk68_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_pow_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk68_state::get_pow_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_fg_tile_offset = 0;
common_video_start(machine);
@@ -74,7 +72,7 @@ VIDEO_START( searchar )
{
snk68_state *state = machine.driver_data<snk68_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_searchar_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snk68_state::get_searchar_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
common_video_start(machine);
}
diff --git a/src/mame/video/snookr10.c b/src/mame/video/snookr10.c
index 01f3916bb42..4998d4578c9 100644
--- a/src/mame/video/snookr10.c
+++ b/src/mame/video/snookr10.c
@@ -94,20 +94,19 @@ PALETTE_INIT( snookr10 )
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(snookr10_state::get_bg_tile_info)
{
- snookr10_state *state = machine.driver_data<snookr10_state>();
/* - bits -
7654 3210
xxxx ---- tiles color.
---- xxxx seems unused.
*/
int offs = tile_index;
- int attr = state->m_videoram[offs] + (state->m_colorram[offs] << 8);
+ int attr = m_videoram[offs] + (m_colorram[offs] << 8);
int code = attr & 0xfff;
- int color = state->m_colorram[offs] >> 4;
+ int color = m_colorram[offs] >> 4;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -158,33 +157,32 @@ PALETTE_INIT( apple10 )
}
}
-static TILE_GET_INFO( apple10_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(snookr10_state::apple10_get_bg_tile_info)
{
- snookr10_state *state = machine.driver_data<snookr10_state>();
/* - bits -
7654 3210
xxxx ---- tiles color.
---- xxxx seems unused.
*/
int offs = tile_index;
- int attr = state->m_videoram[offs] + (state->m_colorram[offs] << 8);
+ int attr = m_videoram[offs] + (m_colorram[offs] << 8);
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 = state->m_colorram[offs] >> 4;
+ int color = m_colorram[offs] >> 4;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( snookr10 )
{
snookr10_state *state = machine.driver_data<snookr10_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snookr10_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
}
VIDEO_START( apple10 )
{
snookr10_state *state = machine.driver_data<snookr10_state>();
- state->m_bg_tilemap = tilemap_create(machine, apple10_get_bg_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(snookr10_state::apple10_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
}
SCREEN_UPDATE_IND16( snookr10 )
diff --git a/src/mame/video/solomon.c b/src/mame/video/solomon.c
index 14fd58a544d..a94c11e9e19 100644
--- a/src/mame/video/solomon.c
+++ b/src/mame/video/solomon.c
@@ -38,35 +38,33 @@ WRITE8_MEMBER(solomon_state::solomon_flipscreen_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(solomon_state::get_bg_tile_info)
{
- solomon_state *state = machine.driver_data<solomon_state>();
- int attr = state->m_colorram2[tile_index];
- int code = state->m_videoram2[tile_index] + 256 * (attr & 0x07);
+ int attr = m_colorram2[tile_index];
+ int code = m_videoram2[tile_index] + 256 * (attr & 0x07);
int color = ((attr & 0x70) >> 4);
int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x08) ? TILE_FLIPY : 0);
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(solomon_state::get_fg_tile_info)
{
- solomon_state *state = machine.driver_data<solomon_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + 256 * (attr & 0x07);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + 256 * (attr & 0x07);
int color = (attr & 0x70) >> 4;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( solomon )
{
solomon_state *state = machine.driver_data<solomon_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(solomon_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(solomon_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/sonson.c b/src/mame/video/sonson.c
index eaca06a4223..52236426d7e 100644
--- a/src/mame/video/sonson.c
+++ b/src/mame/video/sonson.c
@@ -120,21 +120,20 @@ WRITE8_MEMBER(sonson_state::sonson_flipscreen_w)
flip_screen_set(~data & 0x01);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(sonson_state::get_bg_tile_info)
{
- sonson_state *state = machine.driver_data<sonson_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + 256 * (attr & 0x03);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + 256 * (attr & 0x03);
int color = attr >> 2;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( sonson )
{
sonson_state *state = machine.driver_data<sonson_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sonson_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_rows(32);
}
diff --git a/src/mame/video/spdodgeb.c b/src/mame/video/spdodgeb.c
index 14e583c4772..38591f85436 100644
--- a/src/mame/video/spdodgeb.c
+++ b/src/mame/video/spdodgeb.c
@@ -45,21 +45,20 @@ PALETTE_INIT( spdodgeb )
***************************************************************************/
-static TILEMAP_MAPPER( background_scan )
+TILEMAP_MAPPER_MEMBER(spdodgeb_state::background_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 5);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(spdodgeb_state::get_bg_tile_info)
{
- spdodgeb_state *state = machine.driver_data<spdodgeb_state>();
- UINT8 code = state->m_videoram[tile_index];
- UINT8 attr = state->m_videoram[tile_index + 0x800];
- SET_TILE_INFO(
+ UINT8 code = m_videoram[tile_index];
+ UINT8 attr = m_videoram[tile_index + 0x800];
+ SET_TILE_INFO_MEMBER(
0,
code + ((attr & 0x1f) << 8),
- ((attr & 0xe0) >> 5) + 8 * state->m_tile_palbank,
+ ((attr & 0xe0) >> 5) + 8 * m_tile_palbank,
0);
}
@@ -73,7 +72,7 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( spdodgeb )
{
spdodgeb_state *state = machine.driver_data<spdodgeb_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,background_scan,8,8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spdodgeb_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(spdodgeb_state::background_scan),state),8,8,64,32);
}
diff --git a/src/mame/video/speedbal.c b/src/mame/video/speedbal.c
index 96e229fd650..9ff44e0306b 100644
--- a/src/mame/video/speedbal.c
+++ b/src/mame/video/speedbal.c
@@ -10,23 +10,21 @@
#include "includes/speedbal.h"
-static TILE_GET_INFO( get_tile_info_bg )
+TILE_GET_INFO_MEMBER(speedbal_state::get_tile_info_bg)
{
- speedbal_state *state = machine.driver_data<speedbal_state>();
- int code = state->m_background_videoram[tile_index*2] + ((state->m_background_videoram[tile_index*2+1] & 0x30) << 4);
- int color = state->m_background_videoram[tile_index*2+1] & 0x0f;
+ 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(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
tileinfo.group = (color == 8);
}
-static TILE_GET_INFO( get_tile_info_fg )
+TILE_GET_INFO_MEMBER(speedbal_state::get_tile_info_fg)
{
- speedbal_state *state = machine.driver_data<speedbal_state>();
- int code = state->m_foreground_videoram[tile_index*2] + ((state->m_foreground_videoram[tile_index*2+1] & 0x30) << 4);
- int color = state->m_foreground_videoram[tile_index*2+1] & 0x0f;
+ 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(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
tileinfo.group = (color == 9);
}
@@ -39,8 +37,8 @@ static TILE_GET_INFO( get_tile_info_fg )
VIDEO_START( speedbal )
{
speedbal_state *state = machine.driver_data<speedbal_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 16);
- state->m_fg_tilemap = tilemap_create(machine, get_tile_info_fg, TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(speedbal_state::get_tile_info_bg),state), TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(speedbal_state::get_tile_info_fg),state), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
state->m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1,0x00f7,0x0000); /* split type 1 has pen 0-2, 4-7 transparent in front half */
diff --git a/src/mame/video/speedspn.c b/src/mame/video/speedspn.c
index ba5463abb56..3bb6d2dbd19 100644
--- a/src/mame/video/speedspn.c
+++ b/src/mame/video/speedspn.c
@@ -4,20 +4,19 @@
#include "includes/speedspn.h"
-static TILE_GET_INFO( get_speedspn_tile_info )
+TILE_GET_INFO_MEMBER(speedspn_state::get_speedspn_tile_info)
{
- speedspn_state *state = machine.driver_data<speedspn_state>();
- int code = state->m_vidram[tile_index*2+1] | (state->m_vidram[tile_index*2] << 8);
- int attr = state->m_attram[tile_index^0x400];
+ int code = m_vidram[tile_index*2+1] | (m_vidram[tile_index*2] << 8);
+ int attr = m_attram[tile_index^0x400];
- SET_TILE_INFO(0,code,attr & 0x3f,(attr & 0x80) ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(0,code,attr & 0x3f,(attr & 0x80) ? TILE_FLIPX : 0);
}
VIDEO_START(speedspn)
{
speedspn_state *state = machine.driver_data<speedspn_state>();
state->m_vidram = auto_alloc_array(machine, UINT8, 0x1000 * 2);
- state->m_tilemap = tilemap_create(machine, get_speedspn_tile_info,TILEMAP_SCAN_COLS, 8, 8,64,32);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(speedspn_state::get_speedspn_tile_info),state),TILEMAP_SCAN_COLS, 8, 8,64,32);
}
WRITE8_MEMBER(speedspn_state::speedspn_vidram_w)
diff --git a/src/mame/video/splash.c b/src/mame/video/splash.c
index f50105c4b20..b50bd789e4a 100644
--- a/src/mame/video/splash.c
+++ b/src/mame/video/splash.c
@@ -38,28 +38,26 @@
0 | xxxx---- -------- | color
*/
-static TILE_GET_INFO( get_tile_info_splash_tilemap0 )
+TILE_GET_INFO_MEMBER(splash_state::get_tile_info_splash_tilemap0)
{
- splash_state *state = machine.driver_data<splash_state>();
- int data = state->m_videoram[tile_index];
+ int data = m_videoram[tile_index];
int attr = data >> 8;
int code = data & 0xff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code + ((0x20 + (attr & 0x0f)) << 8),
(attr & 0xf0) >> 4,
0);
}
-static TILE_GET_INFO( get_tile_info_splash_tilemap1 )
+TILE_GET_INFO_MEMBER(splash_state::get_tile_info_splash_tilemap1)
{
- splash_state *state = machine.driver_data<splash_state>();
- int data = state->m_videoram[(0x1000/2) + tile_index];
+ int data = m_videoram[(0x1000/2) + tile_index];
int attr = data >> 8;
int code = data & 0xff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
(code >> 2) + ((0x30 + (attr & 0x0f)) << 6),
(attr & 0xf0) >> 4,
@@ -171,8 +169,8 @@ VIDEO_START( splash )
{
splash_state *state = machine.driver_data<splash_state>();
- state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info_splash_tilemap0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info_splash_tilemap1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(splash_state::get_tile_info_splash_tilemap0),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(splash_state::get_tile_info_splash_tilemap1),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
state->m_bg_tilemap[0]->set_transparent_pen(0);
state->m_bg_tilemap[1]->set_transparent_pen(0);
diff --git a/src/mame/video/sprcros2.c b/src/mame/video/sprcros2.c
index 085d88ed57c..e9241eb3f98 100644
--- a/src/mame/video/sprcros2.c
+++ b/src/mame/video/sprcros2.c
@@ -89,11 +89,10 @@ WRITE8_MEMBER(sprcros2_state::sprcros2_bgscrolly_w)
m_bgtilemap->set_scrolly(0, data);
}
-static TILE_GET_INFO( get_sprcros2_bgtile_info )
+TILE_GET_INFO_MEMBER(sprcros2_state::get_sprcros2_bgtile_info)
{
- sprcros2_state *state = machine.driver_data<sprcros2_state>();
- UINT32 tile_number = state->m_bgvideoram[tile_index];
- UINT8 attr = state->m_bgvideoram[tile_index + 0x400];
+ UINT32 tile_number = m_bgvideoram[tile_index];
+ UINT8 attr = m_bgvideoram[tile_index + 0x400];
//attr
//76543210
@@ -103,18 +102,17 @@ static TILE_GET_INFO( get_sprcros2_bgtile_info )
tile_number += (attr&0x07)<<8;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
(attr&0xf0)>>4,
(attr&0x08)?TILE_FLIPX:0);
}
-static TILE_GET_INFO( get_sprcros2_fgtile_info )
+TILE_GET_INFO_MEMBER(sprcros2_state::get_sprcros2_fgtile_info)
{
- sprcros2_state *state = machine.driver_data<sprcros2_state>();
- UINT32 tile_number = state->m_fgvideoram[tile_index];
- UINT8 attr = state->m_fgvideoram[tile_index + 0x400];
+ UINT32 tile_number = m_fgvideoram[tile_index];
+ UINT8 attr = m_fgvideoram[tile_index + 0x400];
int color = (attr&0xfc)>>2;
tileinfo.group = color;
@@ -126,7 +124,7 @@ static TILE_GET_INFO( get_sprcros2_fgtile_info )
tile_number += (attr&0x03)<<8;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile_number,
color,
@@ -137,8 +135,8 @@ VIDEO_START( sprcros2 )
{
sprcros2_state *state = machine.driver_data<sprcros2_state>();
- state->m_bgtilemap = tilemap_create(machine, get_sprcros2_bgtile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fgtilemap = tilemap_create(machine, get_sprcros2_fgtile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprcros2_state::get_sprcros2_bgtile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprcros2_state::get_sprcros2_fgtile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
colortable_configure_tilemap_groups(machine.colortable, state->m_fgtilemap, machine.gfx[2], 0);
}
diff --git a/src/mame/video/sprint2.c b/src/mame/video/sprint2.c
index 20e8a8d2f49..39e45cd6ad9 100644
--- a/src/mame/video/sprint2.c
+++ b/src/mame/video/sprint2.c
@@ -34,12 +34,11 @@ PALETTE_INIT( sprint2 )
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(sprint2_state::get_tile_info)
{
- sprint2_state *state = machine.driver_data<sprint2_state>();
- UINT8 code = state->m_video_ram[tile_index];
+ UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO(0, code & 0x3f, code >> 7, 0);
+ SET_TILE_INFO_MEMBER(0, code & 0x3f, code >> 7, 0);
}
@@ -48,7 +47,7 @@ VIDEO_START( sprint2 )
sprint2_state *state = machine.driver_data<sprint2_state>();
machine.primary_screen->register_screen_bitmap(state->m_helper);
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint2_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
}
diff --git a/src/mame/video/sprint4.c b/src/mame/video/sprint4.c
index 4ffa4e7637c..13a9c224899 100644
--- a/src/mame/video/sprint4.c
+++ b/src/mame/video/sprint4.c
@@ -35,16 +35,15 @@ PALETTE_INIT( sprint4 )
}
-static TILE_GET_INFO( sprint4_tile_info )
+TILE_GET_INFO_MEMBER(sprint4_state::sprint4_tile_info)
{
- sprint4_state *state = machine.driver_data<sprint4_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
UINT8 code = videoram[tile_index];
if ((code & 0x30) == 0x30)
- SET_TILE_INFO(0, code & ~0x40, (code >> 6) ^ 3, 0);
+ SET_TILE_INFO_MEMBER(0, code & ~0x40, (code >> 6) ^ 3, 0);
else
- SET_TILE_INFO(0, code, 4, 0);
+ SET_TILE_INFO_MEMBER(0, code, 4, 0);
}
@@ -53,7 +52,7 @@ VIDEO_START( sprint4 )
sprint4_state *state = machine.driver_data<sprint4_state>();
machine.primary_screen->register_screen_bitmap(state->m_helper);
- state->m_playfield = tilemap_create(machine, sprint4_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_playfield = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint4_state::sprint4_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/sprint8.c b/src/mame/video/sprint8.c
index f30dda74734..c1a66503095 100644
--- a/src/mame/video/sprint8.c
+++ b/src/mame/video/sprint8.c
@@ -63,10 +63,9 @@ static void set_pens(sprint8_state *state, colortable_t *colortable)
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(sprint8_state::get_tile_info1)
{
- sprint8_state *state = machine.driver_data<sprint8_state>();
- UINT8 code = state->m_video_ram[tile_index];
+ UINT8 code = m_video_ram[tile_index];
int color = 0;
@@ -85,14 +84,13 @@ static TILE_GET_INFO( get_tile_info1 )
}
- SET_TILE_INFO(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
+ SET_TILE_INFO_MEMBER(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
}
-static TILE_GET_INFO( get_tile_info2 )
+TILE_GET_INFO_MEMBER(sprint8_state::get_tile_info2)
{
- sprint8_state *state = machine.driver_data<sprint8_state>();
- UINT8 code = state->m_video_ram[tile_index];
+ UINT8 code = m_video_ram[tile_index];
int color = 0;
@@ -101,7 +99,7 @@ static TILE_GET_INFO( get_tile_info2 )
else
color = 17;
- SET_TILE_INFO(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
+ SET_TILE_INFO_MEMBER(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
}
@@ -119,8 +117,8 @@ VIDEO_START( sprint8 )
machine.primary_screen->register_screen_bitmap(state->m_helper1);
machine.primary_screen->register_screen_bitmap(state->m_helper2);
- state->m_tilemap1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
- state->m_tilemap2 = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint8_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint8_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
state->m_tilemap1->set_scrolly(0, +24);
state->m_tilemap2->set_scrolly(0, +24);
diff --git a/src/mame/video/srumbler.c b/src/mame/video/srumbler.c
index 7f6b01758d4..9c49e0996f8 100644
--- a/src/mame/video/srumbler.c
+++ b/src/mame/video/srumbler.c
@@ -16,24 +16,22 @@
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(srumbler_state::get_fg_tile_info)
{
- srumbler_state *state = machine.driver_data<srumbler_state>();
- UINT8 attr = state->m_foregroundram[2*tile_index];
- SET_TILE_INFO(
+ UINT8 attr = m_foregroundram[2*tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_foregroundram[2*tile_index + 1] + ((attr & 0x03) << 8),
+ m_foregroundram[2*tile_index + 1] + ((attr & 0x03) << 8),
(attr & 0x3c) >> 2,
(attr & 0x40) ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(srumbler_state::get_bg_tile_info)
{
- srumbler_state *state = machine.driver_data<srumbler_state>();
- UINT8 attr = state->m_backgroundram[2*tile_index];
- SET_TILE_INFO(
+ UINT8 attr = m_backgroundram[2*tile_index];
+ SET_TILE_INFO_MEMBER(
1,
- state->m_backgroundram[2*tile_index + 1] + ((attr & 0x07) << 8),
+ m_backgroundram[2*tile_index + 1] + ((attr & 0x07) << 8),
(attr & 0xe0) >> 5,
((attr & 0x08) ? TILE_FLIPY : 0));
tileinfo.group = (attr & 0x10) >> 4;
@@ -50,8 +48,8 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( srumbler )
{
srumbler_state *state = machine.driver_data<srumbler_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS, 16,16,64,64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(srumbler_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(srumbler_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS, 16,16,64,64);
state->m_fg_tilemap->set_transparent_pen(3);
diff --git a/src/mame/video/sslam.c b/src/mame/video/sslam.c
index 4ee521326ed..0bfbfa40e68 100644
--- a/src/mame/video/sslam.c
+++ b/src/mame/video/sslam.c
@@ -91,13 +91,12 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
/* Text Layer */
-static TILE_GET_INFO( get_sslam_tx_tile_info )
+TILE_GET_INFO_MEMBER(sslam_state::get_sslam_tx_tile_info)
{
- sslam_state *state = machine.driver_data<sslam_state>();
- int code = state->m_tx_tileram[tile_index] & 0x0fff;
- int colr = state->m_tx_tileram[tile_index] & 0xf000;
+ int code = m_tx_tileram[tile_index] & 0x0fff;
+ int colr = m_tx_tileram[tile_index] & 0xf000;
- SET_TILE_INFO(3,code+0xc000 ,colr >> 12,0);
+ SET_TILE_INFO_MEMBER(3,code+0xc000 ,colr >> 12,0);
}
WRITE16_MEMBER(sslam_state::sslam_tx_tileram_w)
@@ -109,13 +108,12 @@ WRITE16_MEMBER(sslam_state::sslam_tx_tileram_w)
/* Middle Layer */
-static TILE_GET_INFO( get_sslam_md_tile_info )
+TILE_GET_INFO_MEMBER(sslam_state::get_sslam_md_tile_info)
{
- sslam_state *state = machine.driver_data<sslam_state>();
- int code = state->m_md_tileram[tile_index] & 0x0fff;
- int colr = state->m_md_tileram[tile_index] & 0xf000;
+ int code = m_md_tileram[tile_index] & 0x0fff;
+ int colr = m_md_tileram[tile_index] & 0xf000;
- SET_TILE_INFO(2,code+0x2000 ,colr >> 12,0);
+ SET_TILE_INFO_MEMBER(2,code+0x2000 ,colr >> 12,0);
}
WRITE16_MEMBER(sslam_state::sslam_md_tileram_w)
@@ -127,13 +125,12 @@ WRITE16_MEMBER(sslam_state::sslam_md_tileram_w)
/* Background Layer */
-static TILE_GET_INFO( get_sslam_bg_tile_info )
+TILE_GET_INFO_MEMBER(sslam_state::get_sslam_bg_tile_info)
{
- sslam_state *state = machine.driver_data<sslam_state>();
- int code = state->m_bg_tileram[tile_index] & 0x1fff;
- int colr = state->m_bg_tileram[tile_index] & 0xe000;
+ int code = m_bg_tileram[tile_index] & 0x1fff;
+ int colr = m_bg_tileram[tile_index] & 0xe000;
- SET_TILE_INFO(1,code ,colr >> 13,0);
+ SET_TILE_INFO_MEMBER(1,code ,colr >> 13,0);
}
WRITE16_MEMBER(sslam_state::sslam_bg_tileram_w)
@@ -143,16 +140,15 @@ WRITE16_MEMBER(sslam_state::sslam_bg_tileram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_powerbls_bg_tile_info )
+TILE_GET_INFO_MEMBER(sslam_state::get_powerbls_bg_tile_info)
{
- sslam_state *state = machine.driver_data<sslam_state>();
- int code = state->m_bg_tileram[tile_index*2+1] & 0x0fff;
- int colr = (state->m_bg_tileram[tile_index*2+1] & 0xf000) >> 12;
- code |= (state->m_bg_tileram[tile_index*2] & 0x0f00) << 4;
+ int code = m_bg_tileram[tile_index*2+1] & 0x0fff;
+ int colr = (m_bg_tileram[tile_index*2+1] & 0xf000) >> 12;
+ code |= (m_bg_tileram[tile_index*2] & 0x0f00) << 4;
- //(state->m_bg_tileram[tile_index*2] & 0x0f00) == 0xf000 ???
+ //(m_bg_tileram[tile_index*2] & 0x0f00) == 0xf000 ???
- SET_TILE_INFO(1,code,colr,0);
+ SET_TILE_INFO_MEMBER(1,code,colr,0);
}
WRITE16_MEMBER(sslam_state::powerbls_bg_tileram_w)
@@ -166,9 +162,9 @@ VIDEO_START(sslam)
{
sslam_state *state = machine.driver_data<sslam_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_sslam_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_md_tilemap = tilemap_create(machine, get_sslam_md_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
- state->m_tx_tilemap = tilemap_create(machine, get_sslam_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_md_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_md_tilemap->set_transparent_pen(0);
state->m_tx_tilemap->set_transparent_pen(0);
@@ -181,7 +177,7 @@ VIDEO_START(powerbls)
{
sslam_state *state = machine.driver_data<sslam_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_powerbls_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sslam_state::get_powerbls_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
state->m_sprites_x_offset = -21;
state->save_item(NAME(state->m_sprites_x_offset));
diff --git a/src/mame/video/ssozumo.c b/src/mame/video/ssozumo.c
index ea1d46900be..ec8d01ed8e3 100644
--- a/src/mame/video/ssozumo.c
+++ b/src/mame/video/ssozumo.c
@@ -113,33 +113,31 @@ WRITE8_MEMBER(ssozumo_state::ssozumo_flipscreen_w)
flip_screen_set(data & 0x80);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(ssozumo_state::get_bg_tile_info)
{
- ssozumo_state *state = machine.driver_data<ssozumo_state>();
- int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x08) << 5);
- int color = (state->m_colorram[tile_index] & 0x30) >> 4;
+ int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x08) << 5);
+ int color = (m_colorram[tile_index] & 0x30) >> 4;
int flags = ((tile_index % 32) >= 16) ? TILE_FLIPY : 0;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(ssozumo_state::get_fg_tile_info)
{
- ssozumo_state *state = machine.driver_data<ssozumo_state>();
- int code = state->m_videoram2[tile_index] + 256 * (state->m_colorram2[tile_index] & 0x07);
- int color = (state->m_colorram2[tile_index] & 0x30) >> 4;
+ int code = m_videoram2[tile_index] + 256 * (m_colorram2[tile_index] & 0x07);
+ int color = (m_colorram2[tile_index] & 0x30) >> 4;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( ssozumo )
{
ssozumo_state *state = machine.driver_data<ssozumo_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_X,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssozumo_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X,
16, 16, 16, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS_FLIP_X,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssozumo_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X,
8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/ssrj.c b/src/mame/video/ssrj.c
index 7078775d6e9..d25c4af0eca 100644
--- a/src/mame/video/ssrj.c
+++ b/src/mame/video/ssrj.c
@@ -10,12 +10,11 @@ WRITE8_MEMBER(ssrj_state::ssrj_vram1_w)
m_tilemap1->mark_tile_dirty(offset>>1);
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(ssrj_state::get_tile_info1)
{
- ssrj_state *state = machine.driver_data<ssrj_state>();
int code;
- code = state->m_vram1[tile_index<<1] + (state->m_vram1[(tile_index<<1)+1]<<8);
- SET_TILE_INFO(
+ code = m_vram1[tile_index<<1] + (m_vram1[(tile_index<<1)+1]<<8);
+ SET_TILE_INFO_MEMBER(
0,
code&0x3ff,
(code>>12)&0x3,
@@ -31,12 +30,11 @@ WRITE8_MEMBER(ssrj_state::ssrj_vram2_w)
m_tilemap2->mark_tile_dirty(offset>>1);
}
-static TILE_GET_INFO( get_tile_info2 )
+TILE_GET_INFO_MEMBER(ssrj_state::get_tile_info2)
{
- ssrj_state *state = machine.driver_data<ssrj_state>();
int code;
- code = state->m_vram2[tile_index<<1] + (state->m_vram2[(tile_index<<1)+1]<<8);
- SET_TILE_INFO(
+ code = m_vram2[tile_index<<1] + (m_vram2[(tile_index<<1)+1]<<8);
+ SET_TILE_INFO_MEMBER(
0,
code&0x3ff,
((code>>12)&0x3)+4,
@@ -52,12 +50,11 @@ WRITE8_MEMBER(ssrj_state::ssrj_vram4_w)
m_tilemap4->mark_tile_dirty(offset>>1);
}
-static TILE_GET_INFO( get_tile_info4 )
+TILE_GET_INFO_MEMBER(ssrj_state::get_tile_info4)
{
- ssrj_state *state = machine.driver_data<ssrj_state>();
int code;
- code = state->m_vram4[tile_index<<1] + (state->m_vram4[(tile_index<<1)+1]<<8);
- SET_TILE_INFO(
+ code = m_vram4[tile_index<<1] + (m_vram4[(tile_index<<1)+1]<<8);
+ SET_TILE_INFO_MEMBER(
0,
code&0x3ff,
((code>>12)&0x3)+12,
@@ -223,9 +220,9 @@ VIDEO_START( ssrj )
{
ssrj_state *state = machine.driver_data<ssrj_state>();
- state->m_tilemap1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_tilemap2 = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
- state->m_tilemap4 = tilemap_create(machine, get_tile_info4, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info1),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info2),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_tilemap4 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info4),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_tilemap2->set_transparent_pen(0);
state->m_tilemap4->set_transparent_pen(0);
diff --git a/src/mame/video/ssv.c b/src/mame/video/ssv.c
index 98d68d463ac..cd5b4501591 100644
--- a/src/mame/video/ssv.c
+++ b/src/mame/video/ssv.c
@@ -208,12 +208,11 @@ VIDEO_START( eaglshot )
machine.gfx[1]->set_source((UINT8 *)state->m_eaglshot_gfxram);
}
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(ssv_state::get_tile_info_0)
{
- ssv_state *state = machine.driver_data<ssv_state>();
- UINT16 tile = state->m_gdfs_tmapram[tile_index];
+ UINT16 tile = m_gdfs_tmapram[tile_index];
- SET_TILE_INFO(2, tile, 0, TILE_FLIPXY( tile >> 14 ));
+ SET_TILE_INFO_MEMBER(2, tile, 0, TILE_FLIPXY( tile >> 14 ));
}
WRITE16_MEMBER(ssv_state::gdfs_tmapram_w)
@@ -230,8 +229,7 @@ VIDEO_START( gdfs )
VIDEO_START_CALL(ssv);
- state->m_gdfs_tmap = tilemap_create( machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
- 16,16, 0x100,0x100 );
+ state->m_gdfs_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssv_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 16,16, 0x100,0x100);
state->m_gdfs_tmap->set_transparent_pen(0);
}
diff --git a/src/mame/video/stadhero.c b/src/mame/video/stadhero.c
index b534cd51ad3..9f5712bbc7c 100644
--- a/src/mame/video/stadhero.c
+++ b/src/mame/video/stadhero.c
@@ -42,14 +42,13 @@ WRITE16_MEMBER(stadhero_state::stadhero_pf1_data_w)
/******************************************************************************/
-static TILE_GET_INFO( get_pf1_tile_info )
+TILE_GET_INFO_MEMBER(stadhero_state::get_pf1_tile_info)
{
- stadhero_state *state = machine.driver_data<stadhero_state>();
- int tile=state->m_pf1_data[tile_index];
+ int tile=m_pf1_data[tile_index];
int color=tile >> 12;
tile=tile&0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
color,
@@ -59,7 +58,7 @@ static TILE_GET_INFO( get_pf1_tile_info )
VIDEO_START( stadhero )
{
stadhero_state *state = machine.driver_data<stadhero_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_pf1_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stadhero_state::get_pf1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
state->m_pf1_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/starshp1.c b/src/mame/video/starshp1.c
index e1111d17c05..7b739ad1e8e 100644
--- a/src/mame/video/starshp1.c
+++ b/src/mame/video/starshp1.c
@@ -45,12 +45,11 @@ PALETTE_INIT( starshp1 )
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(starshp1_state::get_tile_info)
{
- starshp1_state *state = machine.driver_data<starshp1_state>();
- UINT8 code = state->m_playfield_ram[tile_index];
+ UINT8 code = m_playfield_ram[tile_index];
- SET_TILE_INFO(0, code & 0x3f, 0, 0);
+ SET_TILE_INFO_MEMBER(0, code & 0x3f, 0, 0);
}
@@ -61,7 +60,7 @@ VIDEO_START( starshp1 )
int i;
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(starshp1_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
state->m_bg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/stfight.c b/src/mame/video/stfight.c
index 7a823b6b602..6b742f93166 100644
--- a/src/mame/video/stfight.c
+++ b/src/mame/video/stfight.c
@@ -89,28 +89,28 @@ static void set_pens(running_machine &machine)
***************************************************************************/
-static TILEMAP_MAPPER( fg_scan )
+TILEMAP_MAPPER_MEMBER(stfight_state::fg_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x70) << 4) + ((row & 0xf0) << 7);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(stfight_state::get_fg_tile_info)
{
- UINT8 *fgMap = machine.root_device().memregion("gfx5")->base();
+ UINT8 *fgMap = machine().root_device().memregion("gfx5")->base();
int attr,tile_base;
attr = fgMap[0x8000+tile_index];
tile_base = ((attr & 0x80) << 2) | ((attr & 0x20) << 3);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile_base + fgMap[tile_index],
attr & 0x07,
0);
}
-static TILEMAP_MAPPER( bg_scan )
+TILEMAP_MAPPER_MEMBER(stfight_state::bg_scan)
{
/* logical (col,row) -> memory offset */
return ((col & 0x0e) >> 1) + ((row & 0x0f) << 3) + ((col & 0x70) << 3) +
@@ -118,33 +118,32 @@ static TILEMAP_MAPPER( bg_scan )
((row & 0x60) << 8);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(stfight_state::get_bg_tile_info)
{
- UINT8 *bgMap = machine.root_device().memregion("gfx6")->base();
+ UINT8 *bgMap = machine().root_device().memregion("gfx6")->base();
int attr,tile_bank,tile_base;
attr = bgMap[0x8000+tile_index];
tile_bank = (attr & 0x20) >> 5;
tile_base = (attr & 0x80) << 1;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2+tile_bank,
tile_base + bgMap[tile_index],
attr & 0x07,
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(stfight_state::get_tx_tile_info)
{
- stfight_state *state = machine.driver_data<stfight_state>();
- UINT8 attr = state->m_text_attr_ram[tile_index];
+ UINT8 attr = m_text_attr_ram[tile_index];
int color = attr & 0x0f;
tileinfo.group = color;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_text_char_ram[tile_index] + ((attr & 0x80) << 1),
+ m_text_char_ram[tile_index] + ((attr & 0x80) << 1),
attr & 0x0f,
TILE_FLIPYX((attr & 0x60) >> 5));
}
@@ -159,9 +158,9 @@ static TILE_GET_INFO( get_tx_tile_info )
VIDEO_START( stfight )
{
stfight_state *state = machine.driver_data<stfight_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,bg_scan, 16,16,128,256);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,fg_scan,16,16,128,256);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(stfight_state::bg_scan),state),16,16,128,256);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_fg_tile_info),state),tilemap_mapper_delegate(FUNC(stfight_state::fg_scan),state),16,16,128,256);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stfight_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,32,32);
state->m_fg_tilemap->set_transparent_pen(0x0f);
colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 0xcf);
diff --git a/src/mame/video/stlforce.c b/src/mame/video/stlforce.c
index c9c6e19bfa6..9f7a504f1db 100644
--- a/src/mame/video/stlforce.c
+++ b/src/mame/video/stlforce.c
@@ -5,15 +5,14 @@
/* background, appears to be the bottom layer */
-static TILE_GET_INFO( get_stlforce_bg_tile_info )
+TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_bg_tile_info)
{
- stlforce_state *state = machine.driver_data<stlforce_state>();
int tileno,colour;
- tileno = state->m_bg_videoram[tile_index] & 0x0fff;
- colour = state->m_bg_videoram[tile_index] & 0xe000;
+ tileno = m_bg_videoram[tile_index] & 0x0fff;
+ colour = m_bg_videoram[tile_index] & 0xe000;
colour = colour >> 13;
- SET_TILE_INFO(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(0,tileno,colour,0);
}
WRITE16_MEMBER(stlforce_state::stlforce_bg_videoram_w)
@@ -25,18 +24,17 @@ WRITE16_MEMBER(stlforce_state::stlforce_bg_videoram_w)
/* middle layer, low */
-static TILE_GET_INFO( get_stlforce_mlow_tile_info )
+TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mlow_tile_info)
{
- stlforce_state *state = machine.driver_data<stlforce_state>();
int tileno,colour;
- tileno = state->m_mlow_videoram[tile_index] & 0x0fff;
- colour = state->m_mlow_videoram[tile_index] & 0xe000;
+ tileno = m_mlow_videoram[tile_index] & 0x0fff;
+ colour = m_mlow_videoram[tile_index] & 0xe000;
colour = colour >> 13;
colour += 8;
tileno += 0x1000;
- SET_TILE_INFO(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(0,tileno,colour,0);
}
WRITE16_MEMBER(stlforce_state::stlforce_mlow_videoram_w)
@@ -48,18 +46,17 @@ WRITE16_MEMBER(stlforce_state::stlforce_mlow_videoram_w)
/* middle layer, high */
-static TILE_GET_INFO( get_stlforce_mhigh_tile_info )
+TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mhigh_tile_info)
{
- stlforce_state *state = machine.driver_data<stlforce_state>();
int tileno,colour;
- tileno = state->m_mhigh_videoram[tile_index] & 0x0fff;
- colour = state->m_mhigh_videoram[tile_index] & 0xe000;
+ tileno = m_mhigh_videoram[tile_index] & 0x0fff;
+ colour = m_mhigh_videoram[tile_index] & 0xe000;
colour = colour >> 13;
colour += 16;
tileno += 0x2000;
- SET_TILE_INFO(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(0,tileno,colour,0);
}
WRITE16_MEMBER(stlforce_state::stlforce_mhigh_videoram_w)
@@ -71,19 +68,18 @@ WRITE16_MEMBER(stlforce_state::stlforce_mhigh_videoram_w)
/* text layer, appears to be the top layer */
-static TILE_GET_INFO( get_stlforce_tx_tile_info )
+TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_tx_tile_info)
{
- stlforce_state *state = machine.driver_data<stlforce_state>();
int tileno,colour;
- tileno = state->m_tx_videoram[tile_index] & 0x0fff;
- colour = state->m_tx_videoram[tile_index] & 0xe000;
+ tileno = m_tx_videoram[tile_index] & 0x0fff;
+ colour = m_tx_videoram[tile_index] & 0xe000;
colour = colour >> 13;
tileno += 0xc000;
colour += 24;
- SET_TILE_INFO(1,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(1,tileno,colour,0);
}
WRITE16_MEMBER(stlforce_state::stlforce_tx_videoram_w)
@@ -184,10 +180,10 @@ VIDEO_START( stlforce )
{
stlforce_state *state = machine.driver_data<stlforce_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_stlforce_bg_tile_info, TILEMAP_SCAN_COLS, 16,16,64,16);
- state->m_mlow_tilemap = tilemap_create(machine, get_stlforce_mlow_tile_info, TILEMAP_SCAN_COLS, 16,16,64,16);
- state->m_mhigh_tilemap = tilemap_create(machine, get_stlforce_mhigh_tile_info,TILEMAP_SCAN_COLS, 16,16,64,16);
- state->m_tx_tilemap = tilemap_create(machine, get_stlforce_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_bg_tile_info),state), TILEMAP_SCAN_COLS, 16,16,64,16);
+ state->m_mlow_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_mlow_tile_info),state), TILEMAP_SCAN_COLS, 16,16,64,16);
+ state->m_mhigh_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_mhigh_tile_info),state),TILEMAP_SCAN_COLS, 16,16,64,16);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_tx_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,64,32);
state->m_mlow_tilemap->set_transparent_pen(0);
state->m_mhigh_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/strnskil.c b/src/mame/video/strnskil.c
index d9e49b5b89b..f46fc149cf0 100644
--- a/src/mame/video/strnskil.c
+++ b/src/mame/video/strnskil.c
@@ -60,21 +60,20 @@ WRITE8_MEMBER(strnskil_state::strnskil_scrl_ctrl_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(strnskil_state::get_bg_tile_info)
{
- strnskil_state *state = machine.driver_data<strnskil_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int attr = videoram[tile_index * 2];
int code = videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
int color = (attr & 0x1f) | ((attr & 0x80) >> 2);
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( strnskil )
{
strnskil_state *state = machine.driver_data<strnskil_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(strnskil_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
state->m_bg_tilemap->set_scroll_rows(32);
diff --git a/src/mame/video/suna8.c b/src/mame/video/suna8.c
index 45a65279607..37a67fab79b 100644
--- a/src/mame/video/suna8.c
+++ b/src/mame/video/suna8.c
@@ -76,25 +76,24 @@
For Debug: there's no tilemap, just sprites.
***************************************************************************/
#if TILEMAPS
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(suna8_state::get_tile_info)
{
- suna8_state *state = machine.driver_data<suna8_state>();
UINT8 code, attr;
- if (machine.input().code_pressed(KEYCODE_X))
+ if (machine().input().code_pressed(KEYCODE_X))
{
- UINT8 *rom = state->memregion("maincpu")->base() + 0x10000 + 0x4000 * state->m_trombank;
+ UINT8 *rom = memregion("maincpu")->base() + 0x10000 + 0x4000 * m_trombank;
code = rom[ 2 * tile_index + 0 ];
attr = rom[ 2 * tile_index + 1 ];
}
else
{
- code = state->m_spriteram[ 2 * tile_index + 0 ];
- attr = state->m_spriteram[ 2 * tile_index + 1 ];
+ code = m_spriteram[ 2 * tile_index + 0 ];
+ attr = m_spriteram[ 2 * tile_index + 1 ];
}
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- ( (attr & 0x03) << 8 ) + code + state->m_tiles*0x400,
+ ( (attr & 0x03) << 8 ) + code + m_tiles*0x400,
(attr >> 2) & 0xf,
TILE_FLIPYX( (attr >> 6) & 3 ));
}
diff --git a/src/mame/video/superqix.c b/src/mame/video/superqix.c
index a912ab6f6f2..aa91ae6204b 100644
--- a/src/mame/video/superqix.c
+++ b/src/mame/video/superqix.c
@@ -18,26 +18,24 @@
***************************************************************************/
-static TILE_GET_INFO( pb_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(superqix_state::pb_get_bg_tile_info)
{
- superqix_state *state = machine.driver_data<superqix_state>();
- int attr = state->m_videoram[tile_index + 0x400];
- int code = state->m_videoram[tile_index] + 256 * (attr & 0x7);
+ int attr = m_videoram[tile_index + 0x400];
+ int code = m_videoram[tile_index] + 256 * (attr & 0x7);
int color = (attr & 0xf0) >> 4;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( sqix_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(superqix_state::sqix_get_bg_tile_info)
{
- superqix_state *state = machine.driver_data<superqix_state>();
- int attr = state->m_videoram[tile_index + 0x400];
+ int attr = m_videoram[tile_index + 0x400];
int bank = (attr & 0x04) ? 0 : 1;
- int code = state->m_videoram[tile_index] + 256 * (attr & 0x03);
+ int code = m_videoram[tile_index] + 256 * (attr & 0x03);
int color = (attr & 0xf0) >> 4;
- if (bank) code += 1024 * state->m_gfxbank;
+ if (bank) code += 1024 * m_gfxbank;
- SET_TILE_INFO(bank, code, color, 0);
+ SET_TILE_INFO_MEMBER(bank, code, color, 0);
tileinfo.group = (attr & 0x08) >> 3;
}
@@ -52,7 +50,7 @@ static TILE_GET_INFO( sqix_get_bg_tile_info )
VIDEO_START( pbillian )
{
superqix_state *state = machine.driver_data<superqix_state>();
- state->m_bg_tilemap = tilemap_create(machine, pb_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superqix_state::pb_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
}
VIDEO_START( superqix )
@@ -60,7 +58,7 @@ VIDEO_START( superqix )
superqix_state *state = machine.driver_data<superqix_state>();
state->m_fg_bitmap[0] = auto_bitmap_ind16_alloc(machine, 256, 256);
state->m_fg_bitmap[1] = auto_bitmap_ind16_alloc(machine, 256, 256);
- state->m_bg_tilemap = tilemap_create(machine, sqix_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superqix_state::sqix_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
state->m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */
diff --git a/src/mame/video/suprloco.c b/src/mame/video/suprloco.c
index c309190ef74..62aa928ed91 100644
--- a/src/mame/video/suprloco.c
+++ b/src/mame/video/suprloco.c
@@ -75,13 +75,12 @@ PALETTE_INIT( suprloco )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(suprloco_state::get_tile_info)
{
- suprloco_state *state = machine.driver_data<suprloco_state>();
- UINT8 attr = state->m_videoram[2*tile_index+1];
- SET_TILE_INFO(
+ UINT8 attr = m_videoram[2*tile_index+1];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[2*tile_index] | ((attr & 0x03) << 8),
+ m_videoram[2*tile_index] | ((attr & 0x03) << 8),
(attr & 0x1c) >> 2,
0);
tileinfo.category = (attr & 0x20) >> 5;
@@ -98,7 +97,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( suprloco )
{
suprloco_state *state = machine.driver_data<suprloco_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprloco_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_scroll_rows(32);
}
diff --git a/src/mame/video/suprnova.c b/src/mame/video/suprnova.c
index 87ab99f4d04..c62b9c87fca 100644
--- a/src/mame/video/suprnova.c
+++ b/src/mame/video/suprnova.c
@@ -272,19 +272,18 @@ static void palette_update(running_machine &machine)
-static TILE_GET_INFO( get_tilemap_A_tile_info )
+TILE_GET_INFO_MEMBER(skns_state::get_tilemap_A_tile_info)
{
- skns_state *state = machine.driver_data<skns_state>();
- int code = ((state->m_tilemapA_ram[tile_index] & 0x001fffff) >> 0 );
- int colr = ((state->m_tilemapA_ram[tile_index] & 0x3f000000) >> 24 );
- int pri = ((state->m_tilemapA_ram[tile_index] & 0x00e00000) >> 21 );
- int depth = (state->m_v3_regs[0x0c/4] & 0x0001) << 1;
+ int code = ((m_tilemapA_ram[tile_index] & 0x001fffff) >> 0 );
+ int colr = ((m_tilemapA_ram[tile_index] & 0x3f000000) >> 24 );
+ int pri = ((m_tilemapA_ram[tile_index] & 0x00e00000) >> 21 );
+ int depth = (m_v3_regs[0x0c/4] & 0x0001) << 1;
int flags = 0;
- if(state->m_tilemapA_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
- if(state->m_tilemapA_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
+ if(m_tilemapA_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
+ if(m_tilemapA_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0+depth,
code,
0x40+colr,
@@ -300,19 +299,18 @@ WRITE32_MEMBER(skns_state::skns_tilemapA_w)
m_tilemap_A->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_tilemap_B_tile_info )
+TILE_GET_INFO_MEMBER(skns_state::get_tilemap_B_tile_info)
{
- skns_state *state = machine.driver_data<skns_state>();
- int code = ((state->m_tilemapB_ram[tile_index] & 0x001fffff) >> 0 );
- int colr = ((state->m_tilemapB_ram[tile_index] & 0x3f000000) >> 24 );
- int pri = ((state->m_tilemapB_ram[tile_index] & 0x00e00000) >> 21 );
- int depth = (state->m_v3_regs[0x0c/4] & 0x0100) >> 7;
+ int code = ((m_tilemapB_ram[tile_index] & 0x001fffff) >> 0 );
+ int colr = ((m_tilemapB_ram[tile_index] & 0x3f000000) >> 24 );
+ int pri = ((m_tilemapB_ram[tile_index] & 0x00e00000) >> 21 );
+ int depth = (m_v3_regs[0x0c/4] & 0x0100) >> 7;
int flags = 0;
- if(state->m_tilemapB_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
- if(state->m_tilemapB_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
+ if(m_tilemapB_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
+ if(m_tilemapB_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1+depth,
code,
0x40+colr,
@@ -354,10 +352,10 @@ VIDEO_START(skns)
state->m_spritegen = machine.device<sknsspr_device>("spritegen");
- state->m_tilemap_A = tilemap_create(machine, get_tilemap_A_tile_info,TILEMAP_SCAN_ROWS,16,16,64, 64);
+ state->m_tilemap_A = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skns_state::get_tilemap_A_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64, 64);
state->m_tilemap_A->set_transparent_pen(0);
- state->m_tilemap_B = tilemap_create(machine, get_tilemap_B_tile_info,TILEMAP_SCAN_ROWS,16,16,64, 64);
+ state->m_tilemap_B = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skns_state::get_tilemap_B_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64, 64);
state->m_tilemap_B->set_transparent_pen(0);
state->m_sprite_bitmap.allocate(1024,1024);
diff --git a/src/mame/video/suprridr.c b/src/mame/video/suprridr.c
index ddfe221b68f..64c8f969fc7 100644
--- a/src/mame/video/suprridr.c
+++ b/src/mame/video/suprridr.c
@@ -14,19 +14,17 @@
*
*************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(suprridr_state::get_tile_info)
{
- suprridr_state *state = machine.driver_data<suprridr_state>();
- UINT8 code = state->m_bgram[tile_index];
- SET_TILE_INFO(0, code, 0, 0);
+ UINT8 code = m_bgram[tile_index];
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
-static TILE_GET_INFO( get_tile_info2 )
+TILE_GET_INFO_MEMBER(suprridr_state::get_tile_info2)
{
- suprridr_state *state = machine.driver_data<suprridr_state>();
- UINT8 code = state->m_fgram[tile_index];
- SET_TILE_INFO(1, code, 0, 0);
+ UINT8 code = m_fgram[tile_index];
+ SET_TILE_INFO_MEMBER(1, code, 0, 0);
}
@@ -40,9 +38,9 @@ static TILE_GET_INFO( get_tile_info2 )
VIDEO_START( suprridr )
{
suprridr_state *state = machine.driver_data<suprridr_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
- state->m_bg_tilemap_noscroll = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprridr_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprridr_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_bg_tilemap_noscroll = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprridr_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
state->m_fg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/suprslam.c b/src/mame/video/suprslam.c
index ab8398b222e..5624c001a0f 100644
--- a/src/mame/video/suprslam.c
+++ b/src/mame/video/suprslam.c
@@ -105,16 +105,15 @@ WRITE16_MEMBER(suprslam_state::suprslam_screen_videoram_w)
}
-static TILE_GET_INFO( get_suprslam_tile_info )
+TILE_GET_INFO_MEMBER(suprslam_state::get_suprslam_tile_info)
{
- suprslam_state *state = machine.driver_data<suprslam_state>();
- int tileno = state->m_screen_videoram[tile_index] & 0x0fff;
- int colour = state->m_screen_videoram[tile_index] & 0xf000;
+ int tileno = m_screen_videoram[tile_index] & 0x0fff;
+ int colour = m_screen_videoram[tile_index] & 0xf000;
- tileno += state->m_screen_bank;
+ tileno += m_screen_bank;
colour = colour >> 12;
- SET_TILE_INFO(0, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
}
@@ -127,16 +126,15 @@ WRITE16_MEMBER(suprslam_state::suprslam_bg_videoram_w)
}
-static TILE_GET_INFO( get_suprslam_bg_tile_info )
+TILE_GET_INFO_MEMBER(suprslam_state::get_suprslam_bg_tile_info)
{
- suprslam_state *state = machine.driver_data<suprslam_state>();
- int tileno = state->m_bg_videoram[tile_index] & 0x0fff;
- int colour = state->m_bg_videoram[tile_index] & 0xf000;
+ int tileno = m_bg_videoram[tile_index] & 0x0fff;
+ int colour = m_bg_videoram[tile_index] & 0xf000;
- tileno += state->m_bg_bank;
+ tileno += m_bg_bank;
colour = colour >> 12;
- SET_TILE_INFO(2, tileno, colour, 0);
+ SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
}
@@ -144,8 +142,8 @@ VIDEO_START( suprslam )
{
suprslam_state *state = machine.driver_data<suprslam_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_suprslam_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_screen_tilemap = tilemap_create(machine, get_suprslam_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprslam_state::get_suprslam_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_screen_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprslam_state::get_suprslam_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_screen_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/system1.c b/src/mame/video/system1.c
index 2e4e8411c27..91ac2ef42b2 100644
--- a/src/mame/video/system1.c
+++ b/src/mame/video/system1.c
@@ -96,14 +96,14 @@
*
*************************************/
-static TILE_GET_INFO( tile_get_info )
+TILE_GET_INFO_MEMBER(system1_state::tile_get_info)
{
const UINT8 *rambase = (const UINT8 *)param;
UINT32 tiledata = rambase[tile_index*2+0] | (rambase[tile_index*2+1] << 8);
UINT32 code = ((tiledata >> 4) & 0x800) | (tiledata & 0x7ff);
UINT32 color = (tiledata >> 5) & 0xff;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -130,7 +130,7 @@ static void video_start_common(running_machine &machine, int pagecount)
/* create the tilemap pages */
for (pagenum = 0; pagenum < pagecount; pagenum++)
{
- state->m_tilemap_page[pagenum] = tilemap_create(machine, tile_get_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_tilemap_page[pagenum] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(system1_state::tile_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
state->m_tilemap_page[pagenum]->set_transparent_pen(0);
state->m_tilemap_page[pagenum]->set_user_data(state->m_videoram + 0x800 * pagenum);
}
diff --git a/src/mame/video/system16.c b/src/mame/video/system16.c
index 1365f1a5358..d7a1e132699 100644
--- a/src/mame/video/system16.c
+++ b/src/mame/video/system16.c
@@ -58,7 +58,7 @@ static void setup_system16_bootleg_spritebanking( running_machine& machine )
/***************************************************************************/
-static TILEMAP_MAPPER( sys16_bg_map )
+TILEMAP_MAPPER_MEMBER(segas1x_bootleg_state::sys16_bg_map)
{
int page = 0;
if (row < 32)
@@ -83,7 +83,7 @@ static TILEMAP_MAPPER( sys16_bg_map )
return page * 64 * 32 + row * 64 + col;
}
-static TILEMAP_MAPPER( sys16_text_map )
+TILEMAP_MAPPER_MEMBER(segas1x_bootleg_state::sys16_text_map)
{
return row * 64 + col + (64 - 40);
}
@@ -235,56 +235,52 @@ static void update_page( running_machine &machine )
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg_tile_info)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- const UINT16 *source = 64 * 32 * state->m_bg_page[tile_index / (64 * 32)] + state->m_tileram;
+ const UINT16 *source = 64 * 32 * m_bg_page[tile_index / (64 * 32)] + m_tileram;
int data = source[tile_index%(64*32)];
- int tile_number = (data & 0xfff) + 0x1000 * ((data & state->m_tilebank_switch) ? state->m_tile_bank1 : state->m_tile_bank0);
+ int tile_number = (data & 0xfff) + 0x1000 * ((data & m_tilebank_switch) ? m_tile_bank1 : m_tile_bank0);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
(data >> 6) & 0x7f,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_fg_tile_info)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- const UINT16 *source = 64 * 32 * state->m_fg_page[tile_index / (64 * 32)] + state->m_tileram;
+ const UINT16 *source = 64 * 32 * m_fg_page[tile_index / (64 * 32)] + m_tileram;
int data = source[tile_index % (64 * 32)];
- int tile_number = (data & 0xfff) + 0x1000 * ((data & state->m_tilebank_switch) ? state->m_tile_bank1 : state->m_tile_bank0);
+ int tile_number = (data & 0xfff) + 0x1000 * ((data & m_tilebank_switch) ? m_tile_bank1 : m_tile_bank0);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
(data >> 6) & 0x7f,
0);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg2_tile_info)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- const UINT16 *source = 64 * 32 * state->m_bg2_page[tile_index / (64 * 32)] + state->m_tileram;
+ const UINT16 *source = 64 * 32 * m_bg2_page[tile_index / (64 * 32)] + m_tileram;
int data = source[tile_index % (64 * 32)];
- int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? state->m_tile_bank1 : state->m_tile_bank0);
+ int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? m_tile_bank1 : m_tile_bank0);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
(data >> 6) & 0x7f,
0);
}
-static TILE_GET_INFO( get_fg2_tile_info )
+TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_fg2_tile_info)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- const UINT16 *source = 64 * 32 * state->m_fg2_page[tile_index / (64 * 32)] + state->m_tileram;
+ const UINT16 *source = 64 * 32 * m_fg2_page[tile_index / (64 * 32)] + m_tileram;
int data = source[tile_index % (64 * 32)];
- int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? state->m_tile_bank1 : state->m_tile_bank0);
+ int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? m_tile_bank1 : m_tile_bank0);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
(data >> 6) & 0x7f,
@@ -329,33 +325,32 @@ WRITE16_MEMBER(segas1x_bootleg_state::sys16_tileram_w)
/***************************************************************************/
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_text_tile_info)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
- const UINT16 *source = state->m_textram;
+ const UINT16 *source = m_textram;
int tile_number = source[tile_index];
int pri = tile_number >> 8;
- if (!state->m_shinobl_kludge)
+ if (!m_shinobl_kludge)
{
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- (tile_number & 0x1ff) + state->m_tile_bank0 * 0x1000,
+ (tile_number & 0x1ff) + m_tile_bank0 * 0x1000,
(tile_number >> 9) % 8,
0);
}
else
{
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- (tile_number & 0xff) + state->m_tile_bank0 * 0x1000,
+ (tile_number & 0xff) + m_tile_bank0 * 0x1000,
(tile_number >> 8) % 8,
0);
}
- if (pri >= state->m_textlayer_lo_min && pri <= state->m_textlayer_lo_max)
+ if (pri >= m_textlayer_lo_min && pri <= m_textlayer_lo_max)
tileinfo.category = 1;
- if (pri >= state->m_textlayer_hi_min && pri <= state->m_textlayer_hi_max)
+ if (pri >= m_textlayer_hi_min && pri <= m_textlayer_hi_max)
tileinfo.category = 0;
}
@@ -387,19 +382,19 @@ VIDEO_START( system16 )
);
if (!state->m_bg1_trans)
- state->m_background = tilemap_create(machine, get_bg_tile_info, sys16_bg_map,
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
8,8,
64*2,32*2 );
else
- state->m_background = tilemap_create(machine, get_bg_tile_info, sys16_bg_map,
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
8,8,
64*2,32*2 );
- state->m_foreground = tilemap_create(machine, get_fg_tile_info, sys16_bg_map,
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
8,8,
64*2,32*2 );
- state->m_text_layer = tilemap_create(machine, get_text_tile_info, sys16_text_map,
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_text_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_text_map),state),
8,8,
40,28 );
@@ -442,11 +437,11 @@ VIDEO_START( system18old )
state->m_bg1_trans = 1;
- state->m_background2 = tilemap_create(machine, get_bg2_tile_info, sys16_bg_map,
+ state->m_background2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
8,8,
64*2,32*2 );
- state->m_foreground2 = tilemap_create(machine, get_fg2_tile_info, sys16_bg_map,
+ state->m_foreground2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_fg2_tile_info),state), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),state),
8,8,
64*2,32*2 );
@@ -491,46 +486,43 @@ VIDEO_START( system18old )
*****************************************************************************************/
-static TILE_GET_INFO( get_s16a_bootleg_tile_infotxt )
+TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_s16a_bootleg_tile_infotxt)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
int data, tile_number;
- data = state->m_textram[tile_index];
+ data = m_textram[tile_index];
tile_number = data & 0x1ff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
((data >> 9) & 0x7),
0);
}
-static TILE_GET_INFO( get_s16a_bootleg_tile_info0 )
+TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_s16a_bootleg_tile_info0)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
int data, tile_number;
- data = state->m_bg0_tileram[tile_index];
+ data = m_bg0_tileram[tile_index];
tile_number = data & 0x1fff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
(data >> 6) & 0x7f,
0);
}
-static TILE_GET_INFO( get_s16a_bootleg_tile_info1 )
+TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_s16a_bootleg_tile_info1)
{
- segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
int data, tile_number;
- data = state->m_bg1_tileram[tile_index];
+ data = m_bg1_tileram[tile_index];
tile_number = data & 0x1fff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
(data >> 6) & 0x7f,
@@ -585,11 +577,11 @@ VIDEO_START( s16a_bootleg )
- state->m_text_tilemap = tilemap_create(machine, get_s16a_bootleg_tile_infotxt, TILEMAP_SCAN_ROWS, 8,8, 64,32 );
+ state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_s16a_bootleg_tile_infotxt),state), TILEMAP_SCAN_ROWS, 8,8, 64,32 );
// the system16a bootlegs have simple tilemaps instead of the paged system
- state->m_bg_tilemaps[0] = tilemap_create(machine, get_s16a_bootleg_tile_info0, TILEMAP_SCAN_ROWS, 8,8, 64,32 );
- state->m_bg_tilemaps[1] = tilemap_create(machine, get_s16a_bootleg_tile_info1, TILEMAP_SCAN_ROWS, 8,8, 64,32 );
+ state->m_bg_tilemaps[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_s16a_bootleg_tile_info0),state), TILEMAP_SCAN_ROWS, 8,8, 64,32 );
+ state->m_bg_tilemaps[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_s16a_bootleg_tile_info1),state), TILEMAP_SCAN_ROWS, 8,8, 64,32 );
state->m_text_tilemap->set_transparent_pen(0);
state->m_bg_tilemaps[0]->set_transparent_pen(0);
diff --git a/src/mame/video/tagteam.c b/src/mame/video/tagteam.c
index 7359b66c3ed..16892f5409a 100644
--- a/src/mame/video/tagteam.c
+++ b/src/mame/video/tagteam.c
@@ -127,19 +127,18 @@ WRITE8_MEMBER(tagteam_state::tagteam_flipscreen_w)
coin_counter_w(machine(), 1, data & 0x40);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tagteam_state::get_bg_tile_info)
{
- tagteam_state *state = machine.driver_data<tagteam_state>();
- int code = state->m_videoram[tile_index] + 256 * state->m_colorram[tile_index];
- int color = state->m_palettebank << 1;
+ int code = m_videoram[tile_index] + 256 * m_colorram[tile_index];
+ int color = m_palettebank << 1;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( tagteam )
{
tagteam_state *state = machine.driver_data<tagteam_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS_FLIP_X,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tagteam_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X,
8, 8, 32, 32);
}
diff --git a/src/mame/video/tail2nos.c b/src/mame/video/tail2nos.c
index 0fd3b6e3c5a..defd3bf893a 100644
--- a/src/mame/video/tail2nos.c
+++ b/src/mame/video/tail2nos.c
@@ -11,14 +11,13 @@
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(tail2nos_state::get_tile_info)
{
- tail2nos_state *state = machine.driver_data<tail2nos_state>();
- UINT16 code = state->m_bgvideoram[tile_index];
- SET_TILE_INFO(
+ UINT16 code = m_bgvideoram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- (code & 0x1fff) + (state->m_charbank << 13),
- ((code & 0xe000) >> 13) + state->m_charpalette * 16,
+ (code & 0x1fff) + (m_charbank << 13),
+ ((code & 0xe000) >> 13) + m_charpalette * 16,
0);
}
@@ -58,7 +57,7 @@ VIDEO_START( tail2nos )
{
tail2nos_state *state = machine.driver_data<tail2nos_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tail2nos_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/taito_f3.c b/src/mame/video/taito_f3.c
index 822fb788982..8f327514003 100644
--- a/src/mame/video/taito_f3.c
+++ b/src/mame/video/taito_f3.c
@@ -420,80 +420,70 @@ INLINE void get_tile_info(running_machine &machine, tile_data &tileinfo, int til
tileinfo.pen_mask = (extra_planes << 4) | 0x0f;
}
-static TILE_GET_INFO( get_tile_info1 )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info1)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_1);
+ get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_1);
}
-static TILE_GET_INFO( get_tile_info2 )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info2)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_2);
+ get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_2);
}
-static TILE_GET_INFO( get_tile_info3 )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info3)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_3);
+ get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_3);
}
-static TILE_GET_INFO( get_tile_info4 )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info4)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_4);
+ get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_4);
}
-static TILE_GET_INFO( get_tile_info5 )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info5)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_5);
+ get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_5);
}
-static TILE_GET_INFO( get_tile_info6 )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info6)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_6);
+ get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_6);
}
-static TILE_GET_INFO( get_tile_info7 )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info7)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_7);
+ get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_7);
}
-static TILE_GET_INFO( get_tile_info8 )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info8)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
- get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_8);
+ get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_8);
}
-static TILE_GET_INFO( get_tile_info_vram )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info_vram)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
int vram_tile;
int flags=0;
- vram_tile = (state->m_videoram[tile_index]&0xffff);
+ vram_tile = (m_videoram[tile_index]&0xffff);
if (vram_tile&0x0100) flags|=TILE_FLIPX;
if (vram_tile&0x8000) flags|=TILE_FLIPY;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
vram_tile&0xff,
(vram_tile>>9)&0x3f,
flags);
}
-static TILE_GET_INFO( get_tile_info_pixel )
+TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info_pixel)
{
- taito_f3_state *state = machine.driver_data<taito_f3_state>();
int vram_tile,col_off;
int flags=0;
- int y_offs=(state->m_f3_control_1[5]&0x1ff);
- if (state->m_flipscreen) y_offs+=0x100;
+ int y_offs=(m_f3_control_1[5]&0x1ff);
+ if (m_flipscreen) y_offs+=0x100;
/* Colour is shared with VRAM layer */
if ((((tile_index%32)*8 + y_offs)&0x1ff)>0xff)
@@ -501,12 +491,12 @@ static TILE_GET_INFO( get_tile_info_pixel )
else
col_off=((tile_index%32)*0x40)+((tile_index&0xfe0)>>5);
- vram_tile = (state->m_videoram[col_off]&0xffff);
+ vram_tile = (m_videoram[col_off]&0xffff);
if (vram_tile&0x0100) flags|=TILE_FLIPX;
if (vram_tile&0x8000) flags|=TILE_FLIPY;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
tile_index,
(vram_tile>>9)&0x3f,
@@ -588,10 +578,10 @@ VIDEO_START( f3 )
state->m_spriteram = auto_alloc_array_clear(machine, UINT16, 0x10000/2);
if (state->m_f3_game_config->extend) {
- state->m_pf1_tilemap = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pf2_tilemap = tilemap_create(machine, get_tile_info2,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pf3_tilemap = tilemap_create(machine, get_tile_info3,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pf4_tilemap = tilemap_create(machine, get_tile_info4,TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pf3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info3),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pf4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info4),state),TILEMAP_SCAN_ROWS,16,16,64,32);
state->m_f3_pf_data_1=state->m_f3_pf_data+(0x0000/2);
state->m_f3_pf_data_2=state->m_f3_pf_data+(0x2000/2);
@@ -609,14 +599,14 @@ VIDEO_START( f3 )
} else {
- state->m_pf1_tilemap = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf2_tilemap = tilemap_create(machine, get_tile_info2,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf3_tilemap = tilemap_create(machine, get_tile_info3,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf4_tilemap = tilemap_create(machine, get_tile_info4,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf5_tilemap = tilemap_create(machine, get_tile_info5,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf6_tilemap = tilemap_create(machine, get_tile_info6,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf7_tilemap = tilemap_create(machine, get_tile_info7,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pf8_tilemap = tilemap_create(machine, get_tile_info8,TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pf3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info3),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pf4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info4),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pf5_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info5),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pf6_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info6),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pf7_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info7),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pf8_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info8),state),TILEMAP_SCAN_ROWS,16,16,32,32);
state->m_f3_pf_data_1=state->m_f3_pf_data+(0x0000/2);
state->m_f3_pf_data_2=state->m_f3_pf_data+(0x1000/2);
@@ -644,8 +634,8 @@ VIDEO_START( f3 )
state->m_spriteram16_buffered = auto_alloc_array(machine, UINT16, 0x10000/2);
state->m_spritelist = auto_alloc_array(machine, struct tempsprite, 0x400);
state->m_sprite_end = state->m_spritelist;
- state->m_vram_layer = tilemap_create(machine, get_tile_info_vram,TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_pixel_layer = tilemap_create(machine, get_tile_info_pixel,TILEMAP_SCAN_COLS,8,8,64,32);
+ state->m_vram_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info_vram),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_pixel_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taito_f3_state::get_tile_info_pixel),state),TILEMAP_SCAN_COLS,8,8,64,32);
state->m_pf_line_inf = auto_alloc_array(machine, struct f3_playfield_line_inf, 5);
state->m_sa_line_inf = auto_alloc_array(machine, struct f3_spritealpha_line_inf, 1);
machine.primary_screen->register_screen_bitmap(state->m_pri_alp_bitmap);
diff --git a/src/mame/video/taito_l.c b/src/mame/video/taito_l.c
index d85fbe268bd..e6b8e53820d 100644
--- a/src/mame/video/taito_l.c
+++ b/src/mame/video/taito_l.c
@@ -7,45 +7,42 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg18_tile_info )
+TILE_GET_INFO_MEMBER(taitol_state::get_bg18_tile_info)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- int attr = state->m_rambanks[2 * tile_index + 0x8000 + 1];
- int code = state->m_rambanks[2 * tile_index + 0x8000]
+ int attr = m_rambanks[2 * tile_index + 0x8000 + 1];
+ int code = m_rambanks[2 * tile_index + 0x8000]
| ((attr & 0x03) << 8)
- | ((state->m_bankc[(attr & 0xc) >> 2]) << 10)
- | (state->m_horshoes_gfxbank << 12);
+ | ((m_bankc[(attr & 0xc) >> 2]) << 10)
+ | (m_horshoes_gfxbank << 12);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
(attr & 0xf0) >> 4,
0);
}
-static TILE_GET_INFO( get_bg19_tile_info )
+TILE_GET_INFO_MEMBER(taitol_state::get_bg19_tile_info)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- int attr = state->m_rambanks[2 * tile_index + 0x9000 + 1];
- int code = state->m_rambanks[2 * tile_index + 0x9000]
+ int attr = m_rambanks[2 * tile_index + 0x9000 + 1];
+ int code = m_rambanks[2 * tile_index + 0x9000]
| ((attr & 0x03) << 8)
- | ((state->m_bankc[(attr & 0xc) >> 2]) << 10)
- | (state->m_horshoes_gfxbank << 12);
+ | ((m_bankc[(attr & 0xc) >> 2]) << 10)
+ | (m_horshoes_gfxbank << 12);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
(attr & 0xf0) >> 4,
0);
}
-static TILE_GET_INFO( get_ch1a_tile_info )
+TILE_GET_INFO_MEMBER(taitol_state::get_ch1a_tile_info)
{
- taitol_state *state = machine.driver_data<taitol_state>();
- int attr = state->m_rambanks[2 * tile_index + 0xa000 + 1];
- int code = state->m_rambanks[2 * tile_index + 0xa000] | ((attr & 0x01) << 8) | ((attr & 0x04) << 7);
+ 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(
+ SET_TILE_INFO_MEMBER(
2,
code,
(attr & 0xf0) >> 4,
@@ -65,9 +62,9 @@ VIDEO_START( taitol )
taitol_state *state = machine.driver_data<taitol_state>();
int i;
- state->m_bg18_tilemap = tilemap_create(machine, get_bg18_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg19_tilemap = tilemap_create(machine, get_bg19_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_ch1a_tilemap = tilemap_create(machine, get_ch1a_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg18_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taitol_state::get_bg18_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg19_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taitol_state::get_bg19_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_ch1a_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taitol_state::get_ch1a_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg18_tilemap->set_transparent_pen(0);
state->m_ch1a_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/taitojc.c b/src/mame/video/taitojc.c
index 3a6a04ecc8d..b9862aa9997 100644
--- a/src/mame/video/taitojc.c
+++ b/src/mame/video/taitojc.c
@@ -13,14 +13,13 @@ static const gfx_layout taitojc_char_layout =
16*64
};
-static TILE_GET_INFO( taitojc_tile_info )
+TILE_GET_INFO_MEMBER(taitojc_state::taitojc_tile_info)
{
- taitojc_state *state = machine.driver_data<taitojc_state>();
- UINT32 val = state->m_tile_ram[tile_index];
+ UINT32 val = m_tile_ram[tile_index];
int color = (val >> 22) & 0xff;
int tile = (val >> 2) & 0x7f;
- SET_TILE_INFO(state->m_gfx_index, tile, color, 0);
+ SET_TILE_INFO_MEMBER(m_gfx_index, tile, color, 0);
}
READ32_MEMBER(taitojc_state::taitojc_palette_r)
@@ -312,7 +311,7 @@ VIDEO_START( taitojc )
assert(state->m_gfx_index != MAX_GFX_ELEMENTS);
- state->m_tilemap = tilemap_create(machine, taitojc_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taitojc_state::taitojc_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
state->m_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/tank8.c b/src/mame/video/tank8.c
index c1d2fdb633e..9b0fa3c1f7f 100644
--- a/src/mame/video/tank8.c
+++ b/src/mame/video/tank8.c
@@ -69,10 +69,9 @@ WRITE8_MEMBER(tank8_state::tank8_video_ram_w)
-static TILE_GET_INFO( tank8_get_tile_info )
+TILE_GET_INFO_MEMBER(tank8_state::tank8_get_tile_info)
{
- tank8_state *state = machine.driver_data<tank8_state>();
- UINT8 code = state->m_video_ram[tile_index];
+ UINT8 code = m_video_ram[tile_index];
int color = 0;
@@ -95,7 +94,7 @@ static TILE_GET_INFO( tank8_get_tile_info )
color |= 4;
}
- SET_TILE_INFO(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
+ SET_TILE_INFO_MEMBER(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
}
@@ -107,7 +106,7 @@ VIDEO_START( tank8 )
machine.primary_screen->register_screen_bitmap(state->m_helper2);
machine.primary_screen->register_screen_bitmap(state->m_helper3);
- state->m_tilemap = tilemap_create(machine, tank8_get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tank8_state::tank8_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
/* VBLANK starts on scanline #256 and ends on scanline #24 */
diff --git a/src/mame/video/tankbatt.c b/src/mame/video/tankbatt.c
index f6d83fc6b36..03dcab7cb70 100644
--- a/src/mame/video/tankbatt.c
+++ b/src/mame/video/tankbatt.c
@@ -66,20 +66,19 @@ WRITE8_MEMBER(tankbatt_state::tankbatt_videoram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tankbatt_state::get_bg_tile_info)
{
- tankbatt_state *state = machine.driver_data<tankbatt_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int code = videoram[tile_index];
int color = videoram[tile_index] | 0x01;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( tankbatt )
{
tankbatt_state *state = machine.driver_data<tankbatt_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tankbatt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_bullets(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/tankbust.c b/src/mame/video/tankbust.c
index 0c6f57eb3e0..2f569130e3f 100644
--- a/src/mame/video/tankbust.c
+++ b/src/mame/video/tankbust.c
@@ -26,11 +26,10 @@ note:
*/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tankbust_state::get_bg_tile_info)
{
- tankbust_state *state = machine.driver_data<tankbust_state>();
- int code = state->m_videoram[tile_index];
- int attr = state->m_colorram[tile_index];
+ int code = m_videoram[tile_index];
+ int attr = m_colorram[tile_index];
int color = ((attr>>4) & 0x07);
@@ -51,19 +50,18 @@ static TILE_GET_INFO( get_bg_tile_info )
/* priority bg/sprites (1 = this bg tile on top of sprites) */
tileinfo.category = (attr & 0x08) >> 3;
- SET_TILE_INFO( 1,
+ SET_TILE_INFO_MEMBER( 1,
code,
(color&4) | ((color&2)>>1) | ((color&1)<<1),
0);
}
-static TILE_GET_INFO( get_txt_tile_info )
+TILE_GET_INFO_MEMBER(tankbust_state::get_txt_tile_info)
{
- tankbust_state *state = machine.driver_data<tankbust_state>();
- int code = state->m_txtram[tile_index];
+ int code = m_txtram[tile_index];
int color = ((code>>6) & 0x03);
- SET_TILE_INFO( 2,
+ SET_TILE_INFO_MEMBER( 2,
code & 0x3f,
((color&2)>>1) | ((color&1)<<1),
0);
@@ -80,10 +78,10 @@ VIDEO_START( tankbust )
{
tankbust_state *state = machine.driver_data<tankbust_state>();
/* not scrollable */
- state->m_txt_tilemap = tilemap_create(machine, get_txt_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tankbust_state::get_txt_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
/* scrollable */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tankbust_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_txt_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/taotaido.c b/src/mame/video/taotaido.c
index 8fcefc36d2a..0fddf0df71f 100644
--- a/src/mame/video/taotaido.c
+++ b/src/mame/video/taotaido.c
@@ -159,23 +159,22 @@ WRITE16_MEMBER(taotaido_state::taotaido_bgvideoram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( taotaido_bg_tile_info )
+TILE_GET_INFO_MEMBER(taotaido_state::taotaido_bg_tile_info)
{
- taotaido_state *state = machine.driver_data<taotaido_state>();
- int code = state->m_bgram[tile_index]&0x01ff;
- int bank = (state->m_bgram[tile_index]&0x0e00)>>9;
- int col = (state->m_bgram[tile_index]&0xf000)>>12;
+ int code = m_bgram[tile_index]&0x01ff;
+ int bank = (m_bgram[tile_index]&0x0e00)>>9;
+ int col = (m_bgram[tile_index]&0xf000)>>12;
- code |= state->m_video_bank_select[bank]*0x200;
+ code |= m_video_bank_select[bank]*0x200;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
code,
col,
0);
}
-static TILEMAP_MAPPER( taotaido_tilemap_scan_rows )
+TILEMAP_MAPPER_MEMBER(taotaido_state::taotaido_tilemap_scan_rows)
{
/* logical (col,row) -> memory offset */
return row*0x40 + (col&0x3f) + ((col&0x40)<<6);
@@ -184,7 +183,7 @@ static TILEMAP_MAPPER( taotaido_tilemap_scan_rows )
VIDEO_START(taotaido)
{
taotaido_state *state = machine.driver_data<taotaido_state>();
- state->m_bg_tilemap = tilemap_create(machine, taotaido_bg_tile_info,taotaido_tilemap_scan_rows, 16,16,128,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taotaido_state::taotaido_bg_tile_info),state),tilemap_mapper_delegate(FUNC(taotaido_state::taotaido_tilemap_scan_rows),state),16,16,128,64);
state->m_spriteram_old = auto_alloc_array(machine, UINT16, 0x2000/2);
state->m_spriteram_older = auto_alloc_array(machine, UINT16, 0x2000/2);
diff --git a/src/mame/video/targeth.c b/src/mame/video/targeth.c
index e46335add84..dc7b90753bb 100644
--- a/src/mame/video/targeth.c
+++ b/src/mame/video/targeth.c
@@ -32,24 +32,22 @@
1 | xxxxxxxx x------- | not used?
*/
-static TILE_GET_INFO( get_tile_info_targeth_screen0 )
+TILE_GET_INFO_MEMBER(targeth_state::get_tile_info_targeth_screen0)
{
- targeth_state *state = machine.driver_data<targeth_state>();
- int data = state->m_videoram[tile_index << 1];
- int data2 = state->m_videoram[(tile_index << 1) + 1];
+ int data = m_videoram[tile_index << 1];
+ int data2 = m_videoram[(tile_index << 1) + 1];
int code = data & 0x3fff;
- SET_TILE_INFO(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
+ SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
}
-static TILE_GET_INFO( get_tile_info_targeth_screen1 )
+TILE_GET_INFO_MEMBER(targeth_state::get_tile_info_targeth_screen1)
{
- targeth_state *state = machine.driver_data<targeth_state>();
- int data = state->m_videoram[(0x2000/2) + (tile_index << 1)];
- int data2 = state->m_videoram[(0x2000/2) + (tile_index << 1) + 1];
+ int data = m_videoram[(0x2000/2) + (tile_index << 1)];
+ int data2 = m_videoram[(0x2000/2) + (tile_index << 1) + 1];
int code = data & 0x3fff;
- SET_TILE_INFO(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
+ SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
}
/***************************************************************************
@@ -74,8 +72,8 @@ WRITE16_MEMBER(targeth_state::targeth_vram_w)
VIDEO_START( targeth )
{
targeth_state *state = machine.driver_data<targeth_state>();
- state->m_pant[0] = tilemap_create(machine, get_tile_info_targeth_screen0,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[1] = tilemap_create(machine, get_tile_info_targeth_screen1,TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(targeth_state::get_tile_info_targeth_screen0),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(targeth_state::get_tile_info_targeth_screen1),state),TILEMAP_SCAN_ROWS,16,16,64,32);
state->m_pant[0]->set_transparent_pen(0);
}
diff --git a/src/mame/video/tatsumi.c b/src/mame/video/tatsumi.c
index 3eee6a337e2..0dfcbe87a0e 100644
--- a/src/mame/video/tatsumi.c
+++ b/src/mame/video/tatsumi.c
@@ -159,32 +159,29 @@ WRITE16_MEMBER(tatsumi_state::roundup5_crt_w)
/********************************************************************/
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(tatsumi_state::get_text_tile_info)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int tile = videoram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile & 0xfff,
tile >> 12,
0);
}
-static TILE_GET_INFO( get_tile_info_bigfight_0 )
+TILE_GET_INFO_MEMBER(tatsumi_state::get_tile_info_bigfight_0)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- int tile=state->m_cyclwarr_videoram0[(tile_index+0x400)%0x8000];
- int bank = (state->m_bigfight_a40000[0] >> (((tile&0xc00)>>10)*4))&0xf;
- SET_TILE_INFO(1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,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);
}
-static TILE_GET_INFO( get_tile_info_bigfight_1 )
+TILE_GET_INFO_MEMBER(tatsumi_state::get_tile_info_bigfight_1)
{
- tatsumi_state *state = machine.driver_data<tatsumi_state>();
- int tile=state->m_cyclwarr_videoram1[(tile_index+0x400)%0x8000];
- int bank = (state->m_bigfight_a40000[0] >> (((tile&0xc00)>>10)*4))&0xf;
- SET_TILE_INFO(1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,0);
+ 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);
}
/********************************************************************/
@@ -192,7 +189,7 @@ static TILE_GET_INFO( get_tile_info_bigfight_1 )
VIDEO_START( apache3 )
{
tatsumi_state *state = machine.driver_data<tatsumi_state>();
- state->m_tx_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
state->m_temp_bitmap.allocate(512, 512);
state->m_apache3_road_x_ram = auto_alloc_array(machine, UINT8, 512);
@@ -203,7 +200,7 @@ VIDEO_START( apache3 )
VIDEO_START( roundup5 )
{
tatsumi_state *state = machine.driver_data<tatsumi_state>();
- state->m_tx_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
+ state->m_tx_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
state->m_roundup5_vram = auto_alloc_array(machine, UINT16, (0x48000 * 4)/2);
@@ -215,11 +212,11 @@ VIDEO_START( roundup5 )
VIDEO_START( cyclwarr )
{
tatsumi_state *state = machine.driver_data<tatsumi_state>();
- state->m_layer0 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,64,512);
- //state->m_layer1 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,64,512);
- state->m_layer1 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,128,256);
- state->m_layer2 = tilemap_create(machine, get_tile_info_bigfight_1,TILEMAP_SCAN_ROWS,8,8,64,512);
- state->m_layer3 = tilemap_create(machine, get_tile_info_bigfight_1,TILEMAP_SCAN_ROWS,8,8,64,512);
+ state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,64,512);
+ //state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,64,512);
+ state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,128,256);
+ state->m_layer2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),state),TILEMAP_SCAN_ROWS,8,8,64,512);
+ state->m_layer3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),state),TILEMAP_SCAN_ROWS,8,8,64,512);
state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
}
@@ -227,10 +224,10 @@ VIDEO_START( cyclwarr )
VIDEO_START( bigfight )
{
tatsumi_state *state = machine.driver_data<tatsumi_state>();
- state->m_layer0 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,128,256);
- state->m_layer1 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,128,256);
- state->m_layer2 = tilemap_create(machine, get_tile_info_bigfight_1,TILEMAP_SCAN_ROWS,8,8,128,256);
- state->m_layer3 = tilemap_create(machine, get_tile_info_bigfight_1,TILEMAP_SCAN_ROWS,8,8,128,256);
+ state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,128,256);
+ state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_0),state),TILEMAP_SCAN_ROWS,8,8,128,256);
+ state->m_layer2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),state),TILEMAP_SCAN_ROWS,8,8,128,256);
+ state->m_layer3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tatsumi_state::get_tile_info_bigfight_1),state),TILEMAP_SCAN_ROWS,8,8,128,256);
state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
}
diff --git a/src/mame/video/tbowl.c b/src/mame/video/tbowl.c
index 3abbcafc328..95845200e8e 100644
--- a/src/mame/video/tbowl.c
+++ b/src/mame/video/tbowl.c
@@ -8,16 +8,15 @@
/* Foreground Layer (tx) Tilemap */
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(tbowl_state::get_tx_tile_info)
{
- tbowl_state *state = machine.driver_data<tbowl_state>();
int tileno;
int col;
- tileno = state->m_txvideoram[tile_index] | ((state->m_txvideoram[tile_index+0x800] & 0x07) << 8);
- col = (state->m_txvideoram[tile_index+0x800] & 0xf0) >> 4;
+ tileno = m_txvideoram[tile_index] | ((m_txvideoram[tile_index+0x800] & 0x07) << 8);
+ col = (m_txvideoram[tile_index+0x800] & 0xf0) >> 4;
- SET_TILE_INFO(0,tileno,col,0);
+ SET_TILE_INFO_MEMBER(0,tileno,col,0);
}
WRITE8_MEMBER(tbowl_state::tbowl_txvideoram_w)
@@ -28,16 +27,15 @@ WRITE8_MEMBER(tbowl_state::tbowl_txvideoram_w)
/* Bottom BG Layer (bg) Tilemap */
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tbowl_state::get_bg_tile_info)
{
- tbowl_state *state = machine.driver_data<tbowl_state>();
int tileno;
int col;
- tileno = state->m_bgvideoram[tile_index] | ((state->m_bgvideoram[tile_index+0x1000] & 0x0f) << 8);
- col = (state->m_bgvideoram[tile_index+0x1000] & 0xf0) >> 4;
+ tileno = m_bgvideoram[tile_index] | ((m_bgvideoram[tile_index+0x1000] & 0x0f) << 8);
+ col = (m_bgvideoram[tile_index+0x1000] & 0xf0) >> 4;
- SET_TILE_INFO(1,tileno,col,0);
+ SET_TILE_INFO_MEMBER(1,tileno,col,0);
}
WRITE8_MEMBER(tbowl_state::tbowl_bg2videoram_w)
@@ -68,17 +66,16 @@ WRITE8_MEMBER(tbowl_state::tbowl_bgyscroll_hi)
/* Middle BG Layer (bg2) Tilemaps */
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(tbowl_state::get_bg2_tile_info)
{
- tbowl_state *state = machine.driver_data<tbowl_state>();
int tileno;
int col;
- tileno = state->m_bg2videoram[tile_index] | ((state->m_bg2videoram[tile_index+0x1000] & 0x0f) << 8);
+ tileno = m_bg2videoram[tile_index] | ((m_bg2videoram[tile_index+0x1000] & 0x0f) << 8);
tileno ^= 0x400;
- col = (state->m_bg2videoram[tile_index+0x1000] & 0xf0) >> 4;
+ col = (m_bg2videoram[tile_index+0x1000] & 0xf0) >> 4;
- SET_TILE_INFO(2,tileno,col,0);
+ SET_TILE_INFO_MEMBER(2,tileno,col,0);
}
WRITE8_MEMBER(tbowl_state::tbowl_bgvideoram_w)
@@ -193,9 +190,9 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap,const re
VIDEO_START( tbowl )
{
tbowl_state *state = machine.driver_data<tbowl_state>();
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS, 16, 16,128,32);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,TILEMAP_SCAN_ROWS, 16, 16,128,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tbowl_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tbowl_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,128,32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tbowl_state::get_bg2_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,128,32);
state->m_tx_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/tceptor.c b/src/mame/video/tceptor.c
index 9b4d6b0b893..32cb46baca5 100644
--- a/src/mame/video/tceptor.c
+++ b/src/mame/video/tceptor.c
@@ -104,16 +104,15 @@ INLINE int get_tile_addr(int tile_index)
return TX_TILE_OFFSET_CENTER + (x - 1) + y * 32;
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(tceptor_state::get_tx_tile_info)
{
- tceptor_state *state = machine.driver_data<tceptor_state>();
int offset = get_tile_addr(tile_index);
- int code = state->m_tile_ram[offset];
- int color = state->m_tile_attr[offset];
+ int code = m_tile_ram[offset];
+ int color = m_tile_attr[offset];
tileinfo.group = color;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
void tceptor_state::tile_mark_dirty(int offset)
@@ -164,24 +163,22 @@ WRITE8_MEMBER(tceptor_state::tceptor_tile_attr_w)
/*******************************************************************/
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(tceptor_state::get_bg1_tile_info)
{
- tceptor_state *state = machine.driver_data<tceptor_state>();
- UINT16 data = state->m_bg_ram[tile_index * 2] | (state->m_bg_ram[tile_index * 2 + 1] << 8);
+ UINT16 data = m_bg_ram[tile_index * 2] | (m_bg_ram[tile_index * 2 + 1] << 8);
int code = (data & 0x3ff) | 0x000;
int color = (data & 0xfc00) >> 10;
- SET_TILE_INFO(state->m_bg, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_bg, code, color, 0);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(tceptor_state::get_bg2_tile_info)
{
- tceptor_state *state = machine.driver_data<tceptor_state>();
- UINT16 data = state->m_bg_ram[tile_index * 2 + 0x1000] | (state->m_bg_ram[tile_index * 2 + 1 + 0x1000] << 8);
+ UINT16 data = m_bg_ram[tile_index * 2 + 0x1000] | (m_bg_ram[tile_index * 2 + 1 + 0x1000] << 8);
int code = (data & 0x3ff) | 0x400;
int color = (data & 0xfc00) >> 10;
- SET_TILE_INFO(state->m_bg, code, color, 0);
+ SET_TILE_INFO_MEMBER(m_bg, code, color, 0);
}
WRITE8_MEMBER(tceptor_state::tceptor_bg_ram_w)
@@ -395,14 +392,14 @@ VIDEO_START( tceptor )
state->m_c45_road->set_transparent_color(colortable_entry_get_value(machine.colortable, 0xfff));
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS, 8, 8, 34, 28);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tceptor_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 34, 28);
state->m_tx_tilemap->set_scrollx(0, -2*8);
state->m_tx_tilemap->set_scrolly(0, 0);
colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 7);
- state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tceptor_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tceptor_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state_save_register_global_pointer(machine, state->m_sprite_ram_buffered, 0x200 / 2);
state_save_register_global(machine, state->m_bg1_scroll_x);
diff --git a/src/mame/video/tecmo.c b/src/mame/video/tecmo.c
index 5641c7585a0..4ae54866f3e 100644
--- a/src/mame/video/tecmo.c
+++ b/src/mame/video/tecmo.c
@@ -21,57 +21,52 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tecmo_state::get_bg_tile_info)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- UINT8 attr = state->m_bgvideoram[tile_index+0x200];
- SET_TILE_INFO(
+ UINT8 attr = m_bgvideoram[tile_index+0x200];
+ SET_TILE_INFO_MEMBER(
3,
- state->m_bgvideoram[tile_index] + ((attr & 0x07) << 8),
+ m_bgvideoram[tile_index] + ((attr & 0x07) << 8),
attr >> 4,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tecmo_state::get_fg_tile_info)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- UINT8 attr = state->m_fgvideoram[tile_index+0x200];
- SET_TILE_INFO(
+ UINT8 attr = m_fgvideoram[tile_index+0x200];
+ SET_TILE_INFO_MEMBER(
2,
- state->m_fgvideoram[tile_index] + ((attr & 0x07) << 8),
+ m_fgvideoram[tile_index] + ((attr & 0x07) << 8),
attr >> 4,
0);
}
-static TILE_GET_INFO( gemini_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tecmo_state::gemini_get_bg_tile_info)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- UINT8 attr = state->m_bgvideoram[tile_index+0x200];
- SET_TILE_INFO(
+ UINT8 attr = m_bgvideoram[tile_index+0x200];
+ SET_TILE_INFO_MEMBER(
3,
- state->m_bgvideoram[tile_index] + ((attr & 0x70) << 4),
+ m_bgvideoram[tile_index] + ((attr & 0x70) << 4),
attr & 0x0f,
0);
}
-static TILE_GET_INFO( gemini_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tecmo_state::gemini_get_fg_tile_info)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- UINT8 attr = state->m_fgvideoram[tile_index+0x200];
- SET_TILE_INFO(
+ UINT8 attr = m_fgvideoram[tile_index+0x200];
+ SET_TILE_INFO_MEMBER(
2,
- state->m_fgvideoram[tile_index] + ((attr & 0x70) << 4),
+ m_fgvideoram[tile_index] + ((attr & 0x70) << 4),
attr & 0x0f,
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(tecmo_state::get_tx_tile_info)
{
- tecmo_state *state = machine.driver_data<tecmo_state>();
- UINT8 attr = state->m_txvideoram[tile_index+0x400];
- SET_TILE_INFO(
+ UINT8 attr = m_txvideoram[tile_index+0x400];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_txvideoram[tile_index] + ((attr & 0x03) << 8),
+ m_txvideoram[tile_index] + ((attr & 0x03) << 8),
attr >> 4,
0);
}
@@ -89,15 +84,15 @@ VIDEO_START( tecmo )
tecmo_state *state = machine.driver_data<tecmo_state>();
if (state->m_video_type == 2) /* gemini */
{
- state->m_bg_tilemap = tilemap_create(machine, gemini_get_bg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
- state->m_fg_tilemap = tilemap_create(machine, gemini_get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::gemini_get_bg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::gemini_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
}
else /* rygar, silkworm */
{
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,16);
}
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
state->m_bg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/tecmo16.c b/src/mame/video/tecmo16.c
index 7e7a2862016..c0668abfb4f 100644
--- a/src/mame/video/tecmo16.c
+++ b/src/mame/video/tecmo16.c
@@ -14,40 +14,37 @@
/******************************************************************************/
-static TILE_GET_INFO( fg_get_tile_info )
+TILE_GET_INFO_MEMBER(tecmo16_state::fg_get_tile_info)
{
- tecmo16_state *state = machine.driver_data<tecmo16_state>();
- int tile = state->m_videoram[tile_index] & 0x1fff;
- int color = state->m_colorram[tile_index] & 0x0f;
+ int tile = m_videoram[tile_index] & 0x1fff;
+ int color = m_colorram[tile_index] & 0x0f;
/* bit 4 controls blending */
- tileinfo.category = (state->m_colorram[tile_index] & 0x10) >> 4;
+ tileinfo.category = (m_colorram[tile_index] & 0x10) >> 4;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile,
color | (tileinfo.category ? 0x70 : 0x00),
0);
}
-static TILE_GET_INFO( bg_get_tile_info )
+TILE_GET_INFO_MEMBER(tecmo16_state::bg_get_tile_info)
{
- tecmo16_state *state = machine.driver_data<tecmo16_state>();
- int tile = state->m_videoram2[tile_index] & 0x1fff;
- int color = (state->m_colorram2[tile_index] & 0x0f)+0x10;
+ int tile = m_videoram2[tile_index] & 0x1fff;
+ int color = (m_colorram2[tile_index] & 0x0f)+0x10;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile,
color,
0);
}
-static TILE_GET_INFO( tx_get_tile_info )
+TILE_GET_INFO_MEMBER(tecmo16_state::tx_get_tile_info)
{
- tecmo16_state *state = machine.driver_data<tecmo16_state>();
- int tile = state->m_charram[tile_index];
- SET_TILE_INFO(
+ int tile = m_charram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
tile & 0x0fff,
tile >> 12,
@@ -67,9 +64,9 @@ VIDEO_START( fstarfrc )
/* set up sprites */
machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
- state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::tx_get_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_transparent_pen(0);
@@ -91,9 +88,9 @@ VIDEO_START( ginkun )
/* set up sprites */
machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
- state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::tx_get_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_transparent_pen(0);
@@ -113,9 +110,9 @@ VIDEO_START( riot )
/* set up sprites */
machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
- state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::fg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::bg_get_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmo16_state::tx_get_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/tecmosys.c b/src/mame/video/tecmosys.c
index 8603999876d..6c4a8943930 100644
--- a/src/mame/video/tecmosys.c
+++ b/src/mame/video/tecmosys.c
@@ -8,48 +8,44 @@
#include "includes/tecmosys.h"
-static TILE_GET_INFO( get_bg0tile_info )
+TILE_GET_INFO_MEMBER(tecmosys_state::get_bg0tile_info)
{
- tecmosys_state *state = machine.driver_data<tecmosys_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
- state->m_bg0tilemap_ram[2*tile_index+1],
- (state->m_bg0tilemap_ram[2*tile_index]&0x3f),
- TILE_FLIPYX((state->m_bg0tilemap_ram[2*tile_index]&0xc0)>>6));
+ m_bg0tilemap_ram[2*tile_index+1],
+ (m_bg0tilemap_ram[2*tile_index]&0x3f),
+ TILE_FLIPYX((m_bg0tilemap_ram[2*tile_index]&0xc0)>>6));
}
-static TILE_GET_INFO( get_bg1tile_info )
+TILE_GET_INFO_MEMBER(tecmosys_state::get_bg1tile_info)
{
- tecmosys_state *state = machine.driver_data<tecmosys_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
- state->m_bg1tilemap_ram[2*tile_index+1],
- (state->m_bg1tilemap_ram[2*tile_index]&0x3f),
- TILE_FLIPYX((state->m_bg1tilemap_ram[2*tile_index]&0xc0)>>6));
+ m_bg1tilemap_ram[2*tile_index+1],
+ (m_bg1tilemap_ram[2*tile_index]&0x3f),
+ TILE_FLIPYX((m_bg1tilemap_ram[2*tile_index]&0xc0)>>6));
}
-static TILE_GET_INFO( get_bg2tile_info )
+TILE_GET_INFO_MEMBER(tecmosys_state::get_bg2tile_info)
{
- tecmosys_state *state = machine.driver_data<tecmosys_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
- state->m_bg2tilemap_ram[2*tile_index+1],
- (state->m_bg2tilemap_ram[2*tile_index]&0x3f),
- TILE_FLIPYX((state->m_bg2tilemap_ram[2*tile_index]&0xc0)>>6));
+ m_bg2tilemap_ram[2*tile_index+1],
+ (m_bg2tilemap_ram[2*tile_index]&0x3f),
+ TILE_FLIPYX((m_bg2tilemap_ram[2*tile_index]&0xc0)>>6));
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tecmosys_state::get_fg_tile_info)
{
- tecmosys_state *state = machine.driver_data<tecmosys_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_fgtilemap_ram[2*tile_index+1],
- (state->m_fgtilemap_ram[2*tile_index]&0x3f),
- TILE_FLIPYX((state->m_fgtilemap_ram[2*tile_index]&0xc0)>>6));
+ m_fgtilemap_ram[2*tile_index+1],
+ (m_fgtilemap_ram[2*tile_index]&0x3f),
+ TILE_FLIPYX((m_fgtilemap_ram[2*tile_index]&0xc0)>>6));
}
@@ -345,15 +341,15 @@ VIDEO_START(tecmosys)
state->m_tmp_tilemap_renderbitmap.fill(0x0000);
- state->m_txt_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32*2,32*2);
+ state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32*2,32*2);
state->m_txt_tilemap->set_transparent_pen(0);
- state->m_bg0tilemap = tilemap_create(machine, get_bg0tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_bg0tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg0tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
state->m_bg0tilemap->set_transparent_pen(0);
- state->m_bg1tilemap = tilemap_create(machine, get_bg1tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_bg1tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg1tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
state->m_bg1tilemap->set_transparent_pen(0);
- state->m_bg2tilemap = tilemap_create(machine, get_bg2tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_bg2tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg2tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
state->m_bg2tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/tehkanwc.c b/src/mame/video/tehkanwc.c
index c670b093433..a67ef7fb922 100644
--- a/src/mame/video/tehkanwc.c
+++ b/src/mame/video/tehkanwc.c
@@ -62,38 +62,36 @@ WRITE8_MEMBER(tehkanwc_state::gridiron_led1_w)
m_led1 = data;
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tehkanwc_state::get_bg_tile_info)
{
- tehkanwc_state *state = machine.driver_data<tehkanwc_state>();
int offs = tile_index * 2;
- int attr = state->m_videoram2[offs + 1];
- int code = state->m_videoram2[offs] + ((attr & 0x30) << 4);
+ int attr = m_videoram2[offs + 1];
+ int code = m_videoram2[offs] + ((attr & 0x30) << 4);
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
- SET_TILE_INFO(2, code, color, flags);
+ SET_TILE_INFO_MEMBER(2, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tehkanwc_state::get_fg_tile_info)
{
- tehkanwc_state *state = machine.driver_data<tehkanwc_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0x10) << 4);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0x10) << 4);
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
tileinfo.category = (attr & 0x20) ? 0 : 1;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( tehkanwc )
{
tehkanwc_state *state = machine.driver_data<tehkanwc_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tehkanwc_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
16, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tehkanwc_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/terracre.c b/src/mame/video/terracre.c
index a52f8df9a7d..371bbbaa5d3 100644
--- a/src/mame/video/terracre.c
+++ b/src/mame/video/terracre.c
@@ -10,25 +10,21 @@
#include "includes/terracre.h"
-static
-TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(terracre_state::get_bg_tile_info)
{
- terracre_state *state = machine.driver_data<terracre_state>();
/* xxxx.----.----.----
* ----.xx--.----.----
* ----.--xx.xxxx.xxxx */
- unsigned data = state->m_amazon_videoram[tile_index];
+ unsigned data = m_amazon_videoram[tile_index];
unsigned color = data>>11;
- SET_TILE_INFO( 1,data&0x3ff,color,0 );
+ SET_TILE_INFO_MEMBER( 1,data&0x3ff,color,0 );
}
-static
-TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(terracre_state::get_fg_tile_info)
{
- terracre_state *state = machine.driver_data<terracre_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int data = videoram[tile_index];
- SET_TILE_INFO( 0,data&0xff,0,0 );
+ SET_TILE_INFO_MEMBER( 0,data&0xff,0,0 );
}
static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
@@ -190,8 +186,8 @@ WRITE16_MEMBER(terracre_state::amazon_scrollx_w)
VIDEO_START( amazon )
{
terracre_state *state = machine.driver_data<terracre_state>();
- state->m_background = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS,16,16,64,32);
- state->m_foreground = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(terracre_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS,16,16,64,32);
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(terracre_state::get_fg_tile_info),state),TILEMAP_SCAN_COLS,8,8,64,32);
state->m_foreground->set_transparent_pen(0xf);
/* register for saving */
diff --git a/src/mame/video/tetrisp2.c b/src/mame/video/tetrisp2.c
index 2f6dadbc10d..3e151acc1be 100644
--- a/src/mame/video/tetrisp2.c
+++ b/src/mame/video/tetrisp2.c
@@ -123,12 +123,11 @@ READ8_MEMBER(tetrisp2_state::tetrisp2_priority_r)
#define NX_0 (0x40)
#define NY_0 (0x40)
-static TILE_GET_INFO( get_tile_info_bg )
+TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_bg)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- UINT16 code_hi = state->m_vram_bg[ 2 * tile_index + 0];
- UINT16 code_lo = state->m_vram_bg[ 2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT16 code_hi = m_vram_bg[ 2 * tile_index + 0];
+ UINT16 code_lo = m_vram_bg[ 2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
1,
code_hi,
code_lo & 0xf,
@@ -145,12 +144,11 @@ WRITE16_MEMBER(tetrisp2_state::tetrisp2_vram_bg_w)
#define NX_1 (0x40)
#define NY_1 (0x40)
-static TILE_GET_INFO( get_tile_info_fg )
+TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_fg)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- UINT16 code_hi = state->m_vram_fg[ 2 * tile_index + 0];
- UINT16 code_lo = state->m_vram_fg[ 2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT16 code_hi = m_vram_fg[ 2 * tile_index + 0];
+ UINT16 code_lo = m_vram_fg[ 2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
3,
code_hi,
code_lo & 0xf,
@@ -164,12 +162,11 @@ WRITE16_MEMBER(tetrisp2_state::tetrisp2_vram_fg_w)
}
-static TILE_GET_INFO( get_tile_info_rot )
+TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rot)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- UINT16 code_hi = state->m_vram_rot[ 2 * tile_index + 0];
- UINT16 code_lo = state->m_vram_rot[ 2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT16 code_hi = m_vram_rot[ 2 * tile_index + 0];
+ UINT16 code_lo = m_vram_rot[ 2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
2,
code_hi,
code_lo & 0xf,
@@ -182,12 +179,11 @@ WRITE16_MEMBER(tetrisp2_state::tetrisp2_vram_rot_w)
m_tilemap_rot->mark_tile_dirty(offset/2);
}
-static TILE_GET_INFO( get_tile_info_rocknms_sub_bg )
+TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rocknms_sub_bg)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- UINT16 code_hi = state->m_rocknms_sub_vram_bg[ 2 * tile_index + 0];
- UINT16 code_lo = state->m_rocknms_sub_vram_bg[ 2 * tile_index + 1];
- SET_TILE_INFO(
+ 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(
5,
code_hi,
code_lo & 0xf,
@@ -201,12 +197,11 @@ WRITE16_MEMBER(tetrisp2_state::rocknms_sub_vram_bg_w)
}
-static TILE_GET_INFO( get_tile_info_rocknms_sub_fg )
+TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rocknms_sub_fg)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- UINT16 code_hi = state->m_rocknms_sub_vram_fg[ 2 * tile_index + 0];
- UINT16 code_lo = state->m_rocknms_sub_vram_fg[ 2 * tile_index + 1];
- SET_TILE_INFO(
+ 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(
7,
code_hi,
code_lo & 0xf,
@@ -220,12 +215,11 @@ WRITE16_MEMBER(tetrisp2_state::rocknms_sub_vram_fg_w)
}
-static TILE_GET_INFO( get_tile_info_rocknms_sub_rot )
+TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rocknms_sub_rot)
{
- tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
- UINT16 code_hi = state->m_rocknms_sub_vram_rot[ 2 * tile_index + 0];
- UINT16 code_lo = state->m_rocknms_sub_vram_rot[ 2 * tile_index + 1];
- SET_TILE_INFO(
+ 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(
6,
code_hi,
code_lo & 0xf,
@@ -245,18 +239,9 @@ VIDEO_START( tetrisp2 )
tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
state->m_flipscreen_old = -1;
- state->m_tilemap_bg = tilemap_create( machine, get_tile_info_bg,TILEMAP_SCAN_ROWS,
-
- 16,16,NX_0,NY_0);
-
- state->m_tilemap_fg = tilemap_create( machine, get_tile_info_fg,TILEMAP_SCAN_ROWS,
-
- 8,8,NX_1,NY_1);
-
- state->m_tilemap_rot = tilemap_create( machine, get_tile_info_rot,TILEMAP_SCAN_ROWS,
-
- 16,16,NX_0*2,NY_0*2);
-
+ state->m_tilemap_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_bg),state),TILEMAP_SCAN_ROWS,16,16,NX_0,NY_0);
+ state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_fg),state),TILEMAP_SCAN_ROWS,8,8,NX_1,NY_1);
+ state->m_tilemap_rot = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rot),state),TILEMAP_SCAN_ROWS,16,16,NX_0*2,NY_0*2);
state->m_tilemap_bg->set_transparent_pen(0);
state->m_tilemap_fg->set_transparent_pen(0);
state->m_tilemap_rot->set_transparent_pen(0);
@@ -278,17 +263,9 @@ VIDEO_START( rockntread )
tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
state->m_flipscreen_old = -1;
- state->m_tilemap_bg = tilemap_create( machine, get_tile_info_bg,TILEMAP_SCAN_ROWS,
-
- 16, 16, 256, 16); // rockn ms(main),1,2,3,4
-
- state->m_tilemap_fg = tilemap_create( machine, get_tile_info_fg,TILEMAP_SCAN_ROWS,
-
- 8, 8, 64, 64);
-
- state->m_tilemap_rot = tilemap_create( machine, get_tile_info_rot,TILEMAP_SCAN_ROWS,
-
- 16, 16, 128, 128);
+ state->m_tilemap_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_bg),state),TILEMAP_SCAN_ROWS,16, 16, 256, 16); // rockn ms(main),1,2,3,4
+ state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_fg),state),TILEMAP_SCAN_ROWS,8, 8, 64, 64);
+ state->m_tilemap_rot = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rot),state),TILEMAP_SCAN_ROWS,16, 16, 128, 128);
state->m_tilemap_bg->set_transparent_pen(0);
state->m_tilemap_fg->set_transparent_pen(0);
@@ -305,17 +282,9 @@ VIDEO_START( rocknms )
tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
VIDEO_START_CALL( rockntread );
- state->m_tilemap_sub_bg = tilemap_create(machine, get_tile_info_rocknms_sub_bg,TILEMAP_SCAN_ROWS,
-
- 16, 16, 32, 256); // rockn ms(sub)
-
- state->m_tilemap_sub_fg = tilemap_create(machine, get_tile_info_rocknms_sub_fg,TILEMAP_SCAN_ROWS,
-
- 8, 8, 64, 64);
-
- state->m_tilemap_sub_rot = tilemap_create( machine, get_tile_info_rocknms_sub_rot,TILEMAP_SCAN_ROWS,
-
- 16, 16, 128, 128);
+ state->m_tilemap_sub_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_bg),state),TILEMAP_SCAN_ROWS,16, 16, 32, 256); // rockn ms(sub)
+ state->m_tilemap_sub_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_fg),state),TILEMAP_SCAN_ROWS,8, 8, 64, 64);
+ state->m_tilemap_sub_rot = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_rot),state),TILEMAP_SCAN_ROWS,16, 16, 128, 128);
state->m_tilemap_sub_bg->set_transparent_pen(0);
state->m_tilemap_sub_fg->set_transparent_pen(0);
@@ -760,18 +729,17 @@ SCREEN_UPDATE_RGB32( rocknms_right )
// Temporary hack for stpestag: unaltered ASCII bytes are written in the most significant byte
// of code_hi, one of the CPUs probably reads them and writes the actual tile codes somewhere.
-static TILE_GET_INFO( stepstag_get_tile_info_fg )
+TILE_GET_INFO_MEMBER(tetrisp2_state::stepstag_get_tile_info_fg)
{
- stepstag_state *state = machine.driver_data<stepstag_state>();
- UINT16 code_hi = state->m_vram_fg[ 2 * tile_index + 0];
- UINT16 code_lo = state->m_vram_fg[ 2 * tile_index + 1];
+ UINT16 code_hi = m_vram_fg[ 2 * tile_index + 0];
+ UINT16 code_lo = m_vram_fg[ 2 * tile_index + 1];
// ASCII -> tile codes
code_hi = (code_hi & 0xff00) >> 8;
code_hi = (code_hi & 0x0f) + (code_hi & 0xf0)*2;
code_hi += 0xbd6c;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
code_hi,
code_lo & 0xf,
@@ -783,16 +751,10 @@ VIDEO_START( stepstag )
stepstag_state *state = machine.driver_data<stepstag_state>();
state->m_flipscreen_old = -1;
- state->m_tilemap_bg = tilemap_create( machine, get_tile_info_bg,TILEMAP_SCAN_ROWS,
- 16,16,NX_0,NY_0);
-
+ state->m_tilemap_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_bg),state),TILEMAP_SCAN_ROWS,16,16,NX_0,NY_0);
// Temporary hack
- state->m_tilemap_fg = tilemap_create( machine, stepstag_get_tile_info_fg,TILEMAP_SCAN_ROWS,
- 8,8,NX_1,NY_1);
-
- state->m_tilemap_rot = tilemap_create( machine, get_tile_info_rot,TILEMAP_SCAN_ROWS,
- 16,16,NX_0*2,NY_0*2);
-
+ state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::stepstag_get_tile_info_fg),state),TILEMAP_SCAN_ROWS,8,8,NX_1,NY_1);
+ state->m_tilemap_rot = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rot),state),TILEMAP_SCAN_ROWS,16,16,NX_0*2,NY_0*2);
state->m_tilemap_bg->set_transparent_pen(0);
state->m_tilemap_fg->set_transparent_pen(0);
state->m_tilemap_rot->set_transparent_pen(0);
diff --git a/src/mame/video/thedeep.c b/src/mame/video/thedeep.c
index e4f452b7209..a6afa9b2d74 100644
--- a/src/mame/video/thedeep.c
+++ b/src/mame/video/thedeep.c
@@ -38,29 +38,27 @@
***************************************************************************/
-static TILEMAP_MAPPER( tilemap_scan_rows_back )
+TILEMAP_MAPPER_MEMBER(thedeep_state::tilemap_scan_rows_back)
{
return (col & 0x0f) + ((col & 0x10) << 5) + (row << 4);
}
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(thedeep_state::get_tile_info_0)
{
- thedeep_state *state = machine.driver_data<thedeep_state>();
- UINT8 code = state->m_vram_0[ tile_index * 2 + 0 ];
- UINT8 color = state->m_vram_0[ tile_index * 2 + 1 ];
- SET_TILE_INFO(
+ UINT8 code = m_vram_0[ tile_index * 2 + 0 ];
+ UINT8 color = m_vram_0[ tile_index * 2 + 1 ];
+ SET_TILE_INFO_MEMBER(
1,
code + (color << 8),
(color & 0xf0) >> 4,
TILE_FLIPX ); // why?
}
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(thedeep_state::get_tile_info_1)
{
- thedeep_state *state = machine.driver_data<thedeep_state>();
- UINT8 code = state->m_vram_1[ tile_index * 2 + 0 ];
- UINT8 color = state->m_vram_1[ tile_index * 2 + 1 ];
- SET_TILE_INFO(
+ UINT8 code = m_vram_1[ tile_index * 2 + 0 ];
+ UINT8 color = m_vram_1[ tile_index * 2 + 1 ];
+ SET_TILE_INFO_MEMBER(
2,
code + (color << 8),
(color & 0xf0) >> 4,
@@ -103,8 +101,8 @@ PALETTE_INIT( thedeep )
VIDEO_START( thedeep )
{
thedeep_state *state = machine.driver_data<thedeep_state>();
- state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0,tilemap_scan_rows_back,16,16,0x20,0x20);
- state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1,TILEMAP_SCAN_ROWS,8,8,0x20,0x20);
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thedeep_state::get_tile_info_0),state),tilemap_mapper_delegate(FUNC(thedeep_state::tilemap_scan_rows_back),state),16,16,0x20,0x20);
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thedeep_state::get_tile_info_1),state),TILEMAP_SCAN_ROWS,8,8,0x20,0x20);
state->m_tilemap_0->set_transparent_pen(0 );
state->m_tilemap_1->set_transparent_pen(0 );
diff --git a/src/mame/video/thepit.c b/src/mame/video/thepit.c
index f7c80df659e..04c49cfe314 100644
--- a/src/mame/video/thepit.c
+++ b/src/mame/video/thepit.c
@@ -95,23 +95,21 @@ PALETTE_INIT( suprmous )
***************************************************************************/
-static TILE_GET_INFO( solid_get_tile_info )
+TILE_GET_INFO_MEMBER(thepit_state::solid_get_tile_info)
{
- thepit_state *state = machine.driver_data<thepit_state>();
- UINT8 back_color = (state->m_colorram[tile_index] & 0x70) >> 4;
- int priority = (back_color != 0) && ((state->m_colorram[tile_index] & 0x80) == 0);
- tileinfo.pen_data = state->m_dummy_tile;
+ UINT8 back_color = (m_colorram[tile_index] & 0x70) >> 4;
+ int priority = (back_color != 0) && ((m_colorram[tile_index] & 0x80) == 0);
+ tileinfo.pen_data = m_dummy_tile;
tileinfo.palette_base = back_color + 32;
tileinfo.category = priority;
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(thepit_state::get_tile_info)
{
- thepit_state *state = machine.driver_data<thepit_state>();
- UINT8 fore_color = state->m_colorram[tile_index] % machine.gfx[0]->colors();
- UINT8 code = state->m_videoram[tile_index];
- SET_TILE_INFO(2 * state->m_graphics_bank, code, fore_color, 0);
+ UINT8 fore_color = m_colorram[tile_index] % machine().gfx[0]->colors();
+ UINT8 code = m_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(2 * m_graphics_bank, code, fore_color, 0);
}
@@ -125,9 +123,9 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( thepit )
{
thepit_state *state = machine.driver_data<thepit_state>();
- state->m_solid_tilemap = tilemap_create(machine, solid_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_solid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thepit_state::solid_get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thepit_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_tilemap->set_transparent_pen(0);
state->m_solid_tilemap->set_scroll_cols(32);
diff --git a/src/mame/video/thoop2.c b/src/mame/video/thoop2.c
index 2ba505b0e41..7f1d22538b1 100644
--- a/src/mame/video/thoop2.c
+++ b/src/mame/video/thoop2.c
@@ -36,29 +36,27 @@
1 | x------- -------- | flip y
*/
-static TILE_GET_INFO( get_tile_info_thoop2_screen0 )
+TILE_GET_INFO_MEMBER(thoop2_state::get_tile_info_thoop2_screen0)
{
- thoop2_state *state = machine.driver_data<thoop2_state>();
- int data = state->m_videoram[tile_index << 1];
- int data2 = state->m_videoram[(tile_index << 1) + 1];
+ int data = m_videoram[tile_index << 1];
+ int data2 = m_videoram[(tile_index << 1) + 1];
int code = ((data & 0xfffc) >> 2) | ((data & 0x0003) << 14);
tileinfo.category = (data2 >> 6) & 0x03;
- SET_TILE_INFO(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
+ SET_TILE_INFO_MEMBER(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
}
-static TILE_GET_INFO( get_tile_info_thoop2_screen1 )
+TILE_GET_INFO_MEMBER(thoop2_state::get_tile_info_thoop2_screen1)
{
- thoop2_state *state = machine.driver_data<thoop2_state>();
- int data = state->m_videoram[(0x1000/2) + (tile_index << 1)];
- int data2 = state->m_videoram[(0x1000/2) + (tile_index << 1) + 1];
+ int data = m_videoram[(0x1000/2) + (tile_index << 1)];
+ int data2 = m_videoram[(0x1000/2) + (tile_index << 1) + 1];
int code = ((data & 0xfffc) >> 2) | ((data & 0x0003) << 14);
tileinfo.category = (data2 >> 6) & 0x03;
- SET_TILE_INFO(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
+ SET_TILE_INFO_MEMBER(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
}
/***************************************************************************
@@ -84,8 +82,8 @@ VIDEO_START( thoop2 )
thoop2_state *state = machine.driver_data<thoop2_state>();
int i;
- state->m_pant[0] = tilemap_create(machine, get_tile_info_thoop2_screen0,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_pant[1] = tilemap_create(machine, get_tile_info_thoop2_screen1,TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thoop2_state::get_tile_info_thoop2_screen0),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thoop2_state::get_tile_info_thoop2_screen1),state),TILEMAP_SCAN_ROWS,16,16,32,32);
state->m_pant[0]->set_transmask(0,0xff01,0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
state->m_pant[1]->set_transmask(0,0xff01,0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
diff --git a/src/mame/video/thunderj.c b/src/mame/video/thunderj.c
index 6244d736a3b..6557e532f6b 100644
--- a/src/mame/video/thunderj.c
+++ b/src/mame/video/thunderj.c
@@ -17,37 +17,34 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(thunderj_state::get_alpha_tile_info)
{
- thunderj_state *state = machine.driver_data<thunderj_state>();
- UINT16 data = state->m_alpha[tile_index];
- int code = ((data & 0x200) ? (state->m_alpha_tile_bank * 0x200) : 0) + (data & 0x1ff);
+ UINT16 data = m_alpha[tile_index];
+ 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(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(thunderj_state::get_playfield_tile_info)
{
- thunderj_state *state = machine.driver_data<thunderj_state>();
- UINT16 data1 = state->m_playfield[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] & 0xff;
+ UINT16 data1 = m_playfield[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] & 0xff;
int code = data1 & 0x7fff;
int color = 0x10 + (data2 & 0x0f);
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
tileinfo.category = (data2 >> 4) & 3;
}
-static TILE_GET_INFO( get_playfield2_tile_info )
+TILE_GET_INFO_MEMBER(thunderj_state::get_playfield2_tile_info)
{
- thunderj_state *state = machine.driver_data<thunderj_state>();
- UINT16 data1 = state->m_playfield2[tile_index];
- UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
+ UINT16 data1 = m_playfield2[tile_index];
+ UINT16 data2 = m_playfield_upper[tile_index] >> 8;
int code = data1 & 0x7fff;
int color = data2 & 0x0f;
- SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
tileinfo.category = (data2 >> 4) & 3;
}
@@ -100,17 +97,17 @@ VIDEO_START( thunderj )
thunderj_state *state = machine.driver_data<thunderj_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thunderj_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the second playfield */
- state->m_playfield2_tilemap = tilemap_create(machine, get_playfield2_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thunderj_state::get_playfield2_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
state->m_playfield2_tilemap->set_transparent_pen(0);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thunderj_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/tiamc1.c b/src/mame/video/tiamc1.c
index 8ce2a35e404..5c66fab78b0 100644
--- a/src/mame/video/tiamc1.c
+++ b/src/mame/video/tiamc1.c
@@ -111,16 +111,14 @@ PALETTE_INIT( tiamc1 )
}
}
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(tiamc1_state::get_bg1_tile_info)
{
- tiamc1_state *state = machine.driver_data<tiamc1_state>();
- SET_TILE_INFO(0, state->m_tileram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(0, m_tileram[tile_index], 0, 0);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(tiamc1_state::get_bg2_tile_info)
{
- tiamc1_state *state = machine.driver_data<tiamc1_state>();
- SET_TILE_INFO(0, state->m_tileram[tile_index + 1024], 0, 0);
+ SET_TILE_INFO_MEMBER(0, m_tileram[tile_index + 1024], 0, 0);
}
VIDEO_START( tiamc1 )
@@ -140,10 +138,10 @@ VIDEO_START( tiamc1 )
state_save_register_global_pointer(machine, video_ram, 0x3040);
- state->m_bg_tilemap1 = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tiamc1_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
- state->m_bg_tilemap2 = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tiamc1_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_bg_vshift = 0;
diff --git a/src/mame/video/tigeroad.c b/src/mame/video/tigeroad.c
index 10e5b9fb33f..9cfd543a195 100644
--- a/src/mame/video/tigeroad.c
+++ b/src/mame/video/tigeroad.c
@@ -109,35 +109,33 @@ static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const r
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tigeroad_state::get_bg_tile_info)
{
- tigeroad_state *state = machine.driver_data<tigeroad_state>();
- UINT8 *tilerom = state->memregion("gfx4")->base();
+ UINT8 *tilerom = memregion("gfx4")->base();
int data = tilerom[tile_index];
int attr = tilerom[tile_index + 1];
- int code = data + ((attr & 0xc0) << 2) + (state->m_bgcharbank << 10);
+ int code = data + ((attr & 0xc0) << 2) + (m_bgcharbank << 10);
int color = attr & 0x0f;
int flags = (attr & 0x20) ? TILE_FLIPX : 0;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
tileinfo.group = (attr & 0x10) ? 1 : 0;
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tigeroad_state::get_fg_tile_info)
{
- tigeroad_state *state = machine.driver_data<tigeroad_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int data = videoram[tile_index];
int attr = data >> 8;
int code = (data & 0xff) + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5);
int color = attr & 0x0f;
int flags = (attr & 0x10) ? TILE_FLIPY : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static TILEMAP_MAPPER( tigeroad_tilemap_scan )
+TILEMAP_MAPPER_MEMBER(tigeroad_state::tigeroad_tilemap_scan)
{
/* logical (col,row) -> memory offset */
return 2 * (col % 8) + 16 * ((127 - row) % 8) + 128 * (col / 8) + 2048 * ((127 - row) / 8);
@@ -146,10 +144,10 @@ static TILEMAP_MAPPER( tigeroad_tilemap_scan )
VIDEO_START( tigeroad )
{
tigeroad_state *state = machine.driver_data<tigeroad_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tigeroad_tilemap_scan,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tigeroad_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(tigeroad_state::tigeroad_tilemap_scan),state),
32, 32, 128, 128);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tigeroad_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_bg_tilemap->set_transmask(0, 0xffff, 0);
diff --git a/src/mame/video/timelimt.c b/src/mame/video/timelimt.c
index de183903aa2..69e4375f03b 100644
--- a/src/mame/video/timelimt.c
+++ b/src/mame/video/timelimt.c
@@ -54,26 +54,24 @@ PALETTE_INIT( timelimt ) {
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(timelimt_state::get_bg_tile_info)
{
- timelimt_state *state = machine.driver_data<timelimt_state>();
- SET_TILE_INFO(1, state->m_bg_videoram[tile_index], 0, 0);
+ SET_TILE_INFO_MEMBER(1, m_bg_videoram[tile_index], 0, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(timelimt_state::get_fg_tile_info)
{
- timelimt_state *state = machine.driver_data<timelimt_state>();
- UINT8 *videoram = state->m_videoram;
- SET_TILE_INFO(0, videoram[tile_index], 0, 0);
+ UINT8 *videoram = m_videoram;
+ SET_TILE_INFO_MEMBER(0, videoram[tile_index], 0, 0);
}
VIDEO_START( timelimt )
{
timelimt_state *state = machine.driver_data<timelimt_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timelimt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timelimt_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/timeplt.c b/src/mame/video/timeplt.c
index f0620e3880a..52b4ddaa5a7 100644
--- a/src/mame/video/timeplt.c
+++ b/src/mame/video/timeplt.c
@@ -90,28 +90,26 @@ PALETTE_INIT( timeplt )
*
*************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(timeplt_state::get_tile_info)
{
- timeplt_state *state = machine.driver_data<timeplt_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + 8 * (attr & 0x20);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + 8 * (attr & 0x20);
int color = attr & 0x1f;
int flags = TILE_FLIPYX(attr >> 6);
tileinfo.category = (attr & 0x10) >> 4;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static TILE_GET_INFO( get_chkun_tile_info )
+TILE_GET_INFO_MEMBER(timeplt_state::get_chkun_tile_info)
{
- timeplt_state *state = machine.driver_data<timeplt_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + ((attr & 0x60) << 3);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + ((attr & 0x60) << 3);
int color = attr & 0x1f;
int flags = 0;//TILE_FLIPYX(attr >> 6);
tileinfo.category = (attr & 0x80) >> 7;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
@@ -125,13 +123,13 @@ static TILE_GET_INFO( get_chkun_tile_info )
VIDEO_START( timeplt )
{
timeplt_state *state = machine.driver_data<timeplt_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timeplt_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
VIDEO_START( chkun )
{
timeplt_state *state = machine.driver_data<timeplt_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_chkun_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timeplt_state::get_chkun_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/tmnt.c b/src/mame/video/tmnt.c
index 4c6fa025892..cea60ab83d5 100644
--- a/src/mame/video/tmnt.c
+++ b/src/mame/video/tmnt.c
@@ -2,25 +2,24 @@
#include "video/konicdev.h"
#include "includes/tmnt.h"
-static TILE_GET_INFO( glfgreat_get_roz_tile_info )
+TILE_GET_INFO_MEMBER(tmnt_state::glfgreat_get_roz_tile_info)
{
- tmnt_state *state = machine.driver_data<tmnt_state>();
- UINT8 *rom = state->memregion("user1")->base();
+ UINT8 *rom = memregion("user1")->base();
int code;
- tile_index += 0x40000 * state->m_glfgreat_roz_rom_bank;
+ tile_index += 0x40000 * m_glfgreat_roz_rom_bank;
code = rom[tile_index + 0x80000] + 256 * rom[tile_index] + 256 * 256 * ((rom[tile_index / 4 + 0x100000] >> (2 * (tile_index & 3))) & 3);
- SET_TILE_INFO(0, code & 0x3fff, code >> 14, 0);
+ SET_TILE_INFO_MEMBER(0, code & 0x3fff, code >> 14, 0);
}
-static TILE_GET_INFO( prmrsocr_get_roz_tile_info )
+TILE_GET_INFO_MEMBER(tmnt_state::prmrsocr_get_roz_tile_info)
{
- UINT8 *rom = machine.root_device().memregion("user1")->base();
+ UINT8 *rom = machine().root_device().memregion("user1")->base();
int code = rom[tile_index + 0x20000] + 256 * rom[tile_index];
- SET_TILE_INFO(0, code & 0x1fff, code >> 13, 0);
+ SET_TILE_INFO_MEMBER(0, code & 0x1fff, code >> 13, 0);
}
@@ -274,7 +273,7 @@ VIDEO_START( glfgreat )
{
tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_roz_tilemap = tilemap_create(machine, glfgreat_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
+ state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tmnt_state::glfgreat_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
state->m_roz_tilemap->set_transparent_pen(0);
state->m_glfgreat_roz_rom_bank = 0;
@@ -289,7 +288,7 @@ VIDEO_START( prmrsocr )
{
tmnt_state *state = machine.driver_data<tmnt_state>();
- state->m_roz_tilemap = tilemap_create(machine, prmrsocr_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 512, 256);
+ state->m_roz_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tmnt_state::prmrsocr_get_roz_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 512, 256);
state->m_roz_tilemap->set_transparent_pen(0);
state->m_prmrsocr_sprite_bank = 0;
diff --git a/src/mame/video/toaplan1.c b/src/mame/video/toaplan1.c
index b50c7a85d27..fbeb19f3d4e 100644
--- a/src/mame/video/toaplan1.c
+++ b/src/mame/video/toaplan1.c
@@ -136,71 +136,67 @@ Abnormalities:
***************************************************************************/
-static TILE_GET_INFO( get_pf1_tile_info )
+TILE_GET_INFO_MEMBER(toaplan1_state::get_pf1_tile_info)
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
int color, tile_number, attrib;
- tile_number = state->m_pf1_tilevram16[2*tile_index+1] & 0x7fff;
- attrib = state->m_pf1_tilevram16[2*tile_index];
+ tile_number = m_pf1_tilevram16[2*tile_index+1] & 0x7fff;
+ attrib = m_pf1_tilevram16[2*tile_index];
color = attrib & 0x3f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
color,
0);
- if (state->m_pf1_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = state->m_empty_tile;
+ if (m_pf1_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = m_empty_tile;
tileinfo.category = (attrib & 0xf000) >> 12;
}
-static TILE_GET_INFO( get_pf2_tile_info )
+TILE_GET_INFO_MEMBER(toaplan1_state::get_pf2_tile_info)
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
int color, tile_number, attrib;
- tile_number = state->m_pf2_tilevram16[2*tile_index+1] & 0x7fff;
- attrib = state->m_pf2_tilevram16[2*tile_index];
+ tile_number = m_pf2_tilevram16[2*tile_index+1] & 0x7fff;
+ attrib = m_pf2_tilevram16[2*tile_index];
color = attrib & 0x3f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
color,
0);
- if (state->m_pf2_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = state->m_empty_tile;
+ if (m_pf2_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = m_empty_tile;
tileinfo.category = (attrib & 0xf000) >> 12;
}
-static TILE_GET_INFO( get_pf3_tile_info )
+TILE_GET_INFO_MEMBER(toaplan1_state::get_pf3_tile_info)
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
int color, tile_number, attrib;
- tile_number = state->m_pf3_tilevram16[2*tile_index+1] & 0x7fff;
- attrib = state->m_pf3_tilevram16[2*tile_index];
+ tile_number = m_pf3_tilevram16[2*tile_index+1] & 0x7fff;
+ attrib = m_pf3_tilevram16[2*tile_index];
color = attrib & 0x3f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
color,
0);
- if (state->m_pf3_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = state->m_empty_tile;
+ if (m_pf3_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = m_empty_tile;
tileinfo.category = (attrib & 0xf000) >> 12;
}
-static TILE_GET_INFO( get_pf4_tile_info )
+TILE_GET_INFO_MEMBER(toaplan1_state::get_pf4_tile_info)
{
- toaplan1_state *state = machine.driver_data<toaplan1_state>();
int color, tile_number, attrib;
- tile_number = state->m_pf4_tilevram16[2*tile_index+1] & 0x7fff;
- attrib = state->m_pf4_tilevram16[2*tile_index];
+ tile_number = m_pf4_tilevram16[2*tile_index+1] & 0x7fff;
+ attrib = m_pf4_tilevram16[2*tile_index];
color = attrib & 0x3f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
color,
0);
- if (state->m_pf4_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = state->m_empty_tile;
+ if (m_pf4_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = m_empty_tile;
tileinfo.category = (attrib & 0xf000) >> 12;
}
@@ -214,10 +210,10 @@ static void toaplan1_create_tilemaps(running_machine &machine)
{
toaplan1_state *state = machine.driver_data<toaplan1_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_pf1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_pf2_tilemap = tilemap_create(machine, get_pf2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_pf3_tilemap = tilemap_create(machine, get_pf3_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
- state->m_pf4_tilemap = tilemap_create(machine, get_pf4_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toaplan1_state::get_pf1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toaplan1_state::get_pf2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_pf3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toaplan1_state::get_pf3_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
+ state->m_pf4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toaplan1_state::get_pf4_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
state->m_pf1_tilemap->set_transparent_pen(0);
state->m_pf2_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/toaplan2.c b/src/mame/video/toaplan2.c
index 4aafc1c4b40..ed2828ddf99 100644
--- a/src/mame/video/toaplan2.c
+++ b/src/mame/video/toaplan2.c
@@ -34,15 +34,14 @@
***************************************************************************/
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(toaplan2_state::get_text_tile_info)
{
- toaplan2_state *state = machine.driver_data<toaplan2_state>();
int color, tile_number, attrib;
- attrib = state->m_txvideoram16[tile_index];
+ attrib = m_txvideoram16[tile_index];
tile_number = attrib & 0x3ff;
color = ((attrib >> 10) | 0x40) & 0x7f;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile_number,
color,
@@ -60,7 +59,7 @@ static void truxton2_create_tx_tilemap(running_machine &machine)
{
toaplan2_state *state = machine.driver_data<toaplan2_state>();
- state->m_tx_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toaplan2_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_tx_tilemap->set_scroll_rows(8*32); /* line scrolling */
state->m_tx_tilemap->set_scroll_cols(1);
state->m_tx_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/toki.c b/src/mame/video/toki.c
index fe201519a1f..fdf6edee0bd 100644
--- a/src/mame/video/toki.c
+++ b/src/mame/video/toki.c
@@ -32,46 +32,43 @@ WRITE16_MEMBER(toki_state::toki_control_w)
COMBINE_DATA(&m_scrollram16[offset]);
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(toki_state::get_text_tile_info)
{
- toki_state *state = machine.driver_data<toki_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int tile = videoram[tile_index];
int color = (tile >> 12) & 0xf;
tile &= 0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile,
color,
0);
}
-static TILE_GET_INFO( get_back_tile_info )
+TILE_GET_INFO_MEMBER(toki_state::get_back_tile_info)
{
- toki_state *state = machine.driver_data<toki_state>();
- int tile = state->m_background1_videoram16[tile_index];
+ int tile = m_background1_videoram16[tile_index];
int color = (tile >> 12) & 0xf;
tile &= 0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile,
color,
0);
}
-static TILE_GET_INFO( get_fore_tile_info )
+TILE_GET_INFO_MEMBER(toki_state::get_fore_tile_info)
{
- toki_state *state = machine.driver_data<toki_state>();
- int tile = state->m_background2_videoram16[tile_index];
+ int tile = m_background2_videoram16[tile_index];
int color = (tile >> 12) & 0xf;
tile &= 0xfff;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
tile,
color,
@@ -88,9 +85,9 @@ static TILE_GET_INFO( get_fore_tile_info )
VIDEO_START( toki )
{
toki_state *state = machine.driver_data<toki_state>();
- state->m_text_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8,8,32,32);
- state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
- state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_text_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toki_state::get_text_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,32,32);
+ state->m_background_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toki_state::get_back_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
+ state->m_foreground_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toki_state::get_fore_tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
state->m_text_layer->set_transparent_pen(15);
state->m_background_layer->set_transparent_pen(15);
diff --git a/src/mame/video/toobin.c b/src/mame/video/toobin.c
index 989163e8624..58f5371c3a9 100644
--- a/src/mame/video/toobin.c
+++ b/src/mame/video/toobin.c
@@ -17,24 +17,22 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(toobin_state::get_alpha_tile_info)
{
- toobin_state *state = machine.driver_data<toobin_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0x3ff;
int color = (data >> 12) & 0x0f;
- SET_TILE_INFO(2, code, color, (data >> 10) & 1);
+ SET_TILE_INFO_MEMBER(2, code, color, (data >> 10) & 1);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(toobin_state::get_playfield_tile_info)
{
- toobin_state *state = machine.driver_data<toobin_state>();
- UINT16 data1 = state->m_playfield[tile_index * 2];
- UINT16 data2 = state->m_playfield[tile_index * 2 + 1];
+ UINT16 data1 = m_playfield[tile_index * 2];
+ UINT16 data2 = m_playfield[tile_index * 2 + 1];
int code = data2 & 0x3fff;
int color = data1 & 0x0f;
- SET_TILE_INFO(0, code, color, TILE_FLIPYX(data2 >> 14));
+ SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX(data2 >> 14));
tileinfo.category = (data1 >> 4) & 3;
}
@@ -87,13 +85,13 @@ VIDEO_START( toobin )
toobin_state *state = machine.driver_data<toobin_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS, 8,8, 128,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toobin_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 128,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,48);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toobin_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,48);
state->m_alpha_tilemap->set_transparent_pen(0);
/* allocate a playfield bitmap for rendering */
diff --git a/src/mame/video/toypop.c b/src/mame/video/toypop.c
index 4da8dea2e44..87eb475176f 100644
--- a/src/mame/video/toypop.c
+++ b/src/mame/video/toypop.c
@@ -78,7 +78,7 @@ PALETTE_INIT( toypop )
***************************************************************************/
/* convert from 32x32 to 36x28 */
-static TILEMAP_MAPPER( tilemap_scan )
+TILEMAP_MAPPER_MEMBER(toypop_state::tilemap_scan)
{
int offs;
@@ -92,14 +92,13 @@ static TILEMAP_MAPPER( tilemap_scan )
return offs;
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(toypop_state::get_tile_info)
{
- toypop_state *state = machine.driver_data<toypop_state>();
- UINT8 attr = state->m_videoram[tile_index + 0x400];
- SET_TILE_INFO(
+ UINT8 attr = m_videoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index],
- (attr & 0x3f) + 0x40 * state->m_palettebank,
+ m_videoram[tile_index],
+ (attr & 0x3f) + 0x40 * m_palettebank,
0);
}
@@ -114,7 +113,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( toypop )
{
toypop_state *state = machine.driver_data<toypop_state>();
- state->m_bg_tilemap = tilemap_create(machine,get_tile_info,tilemap_scan,8,8,36,28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(toypop_state::get_tile_info),state), tilemap_mapper_delegate(FUNC(toypop_state::tilemap_scan),state),8,8,36,28);
state->m_bg_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/tp84.c b/src/mame/video/tp84.c
index 01685753907..634c902fcdf 100644
--- a/src/mame/video/tp84.c
+++ b/src/mame/video/tp84.c
@@ -119,36 +119,34 @@ READ8_MEMBER(tp84_state::tp84_scanline_r)
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tp84_state::get_bg_tile_info)
{
- tp84_state *state = machine.driver_data<tp84_state>();
- int code = ((state->m_bg_colorram[tile_index] & 0x30) << 4) | state->m_bg_videoram[tile_index];
- int color = ((*state->m_palette_bank & 0x07) << 6) |
- ((*state->m_palette_bank & 0x18) << 1) |
- (state->m_bg_colorram[tile_index] & 0x0f);
- int flags = TILE_FLIPYX(state->m_bg_colorram[tile_index] >> 6);
+ int code = ((m_bg_colorram[tile_index] & 0x30) << 4) | m_bg_videoram[tile_index];
+ int color = ((*m_palette_bank & 0x07) << 6) |
+ ((*m_palette_bank & 0x18) << 1) |
+ (m_bg_colorram[tile_index] & 0x0f);
+ int flags = TILE_FLIPYX(m_bg_colorram[tile_index] >> 6);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tp84_state::get_fg_tile_info)
{
- tp84_state *state = machine.driver_data<tp84_state>();
- int code = ((state->m_fg_colorram[tile_index] & 0x30) << 4) | state->m_fg_videoram[tile_index];
- int color = ((*state->m_palette_bank & 0x07) << 6) |
- ((*state->m_palette_bank & 0x18) << 1) |
- (state->m_fg_colorram[tile_index] & 0x0f);
- int flags = TILE_FLIPYX(state->m_fg_colorram[tile_index] >> 6);
+ int code = ((m_fg_colorram[tile_index] & 0x30) << 4) | m_fg_videoram[tile_index];
+ int color = ((*m_palette_bank & 0x07) << 6) |
+ ((*m_palette_bank & 0x18) << 1) |
+ (m_fg_colorram[tile_index] & 0x0f);
+ int flags = TILE_FLIPYX(m_fg_colorram[tile_index] >> 6);
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( tp84 )
{
tp84_state *state = machine.driver_data<tp84_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tp84_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tp84_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/trackfld.c b/src/mame/video/trackfld.c
index e2a38cb803a..1e2ffd822cd 100644
--- a/src/mame/video/trackfld.c
+++ b/src/mame/video/trackfld.c
@@ -158,24 +158,23 @@ WRITE8_MEMBER(trackfld_state::atlantol_gfxbank_w)
}
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(trackfld_state::get_bg_tile_info)
{
- trackfld_state *state = machine.driver_data<trackfld_state>();
- int attr = state->m_colorram[tile_index];
- int code = state->m_videoram[tile_index] + 4 * (attr & 0xc0);
+ int attr = m_colorram[tile_index];
+ int code = m_videoram[tile_index] + 4 * (attr & 0xc0);
int color = attr & 0x0f;
int flags = ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
- if (state->m_bg_bank)
+ if (m_bg_bank)
code |= 0x400;
- SET_TILE_INFO(1, code, color, flags);
+ SET_TILE_INFO_MEMBER(1, code, color, flags);
}
VIDEO_START( trackfld )
{
trackfld_state *state = machine.driver_data<trackfld_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(trackfld_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_scroll_rows(32);
state->m_sprites_gfx_banked = 0;
}
diff --git a/src/mame/video/travrusa.c b/src/mame/video/travrusa.c
index 166005f1e76..d2d7503ffa3 100644
--- a/src/mame/video/travrusa.c
+++ b/src/mame/video/travrusa.c
@@ -197,17 +197,16 @@ PALETTE_INIT( shtrider )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(travrusa_state::get_tile_info)
{
- travrusa_state *state = machine.driver_data<travrusa_state>();
- UINT8 attr = state->m_videoram[2 * tile_index + 1];
+ UINT8 attr = m_videoram[2 * tile_index + 1];
int flags = TILE_FLIPXY((attr & 0x30) >> 4);
tileinfo.group = ((attr & 0x0f) == 0x0f) ? 1 : 0; /* tunnels */
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[2 * tile_index] + ((attr & 0xc0) << 2),
+ m_videoram[2 * tile_index] + ((attr & 0xc0) << 2),
attr & 0x0f,
flags);
}
@@ -226,7 +225,7 @@ VIDEO_START( travrusa )
state->save_item(NAME(state->m_scrollx));
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(travrusa_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
state->m_bg_tilemap->set_transmask(1, 0x3f, 0xc0); /* split type 1 has pens 6 and 7 opaque - tunnels */
diff --git a/src/mame/video/triplhnt.c b/src/mame/video/triplhnt.c
index 54ffce7efa8..f60ee819a46 100644
--- a/src/mame/video/triplhnt.c
+++ b/src/mame/video/triplhnt.c
@@ -8,12 +8,11 @@ Atari Triple Hunt video emulation
#include "includes/triplhnt.h"
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(triplhnt_state::get_tile_info)
{
- triplhnt_state *state = machine.driver_data<triplhnt_state>();
- int code = state->m_playfield_ram[tile_index] & 0x3f;
+ int code = m_playfield_ram[tile_index] & 0x3f;
- SET_TILE_INFO(2, code, code == 0x3f ? 1 : 0, 0);
+ SET_TILE_INFO_MEMBER(2, code, code == 0x3f ? 1 : 0, 0);
}
@@ -22,7 +21,7 @@ VIDEO_START( triplhnt )
triplhnt_state *state = machine.driver_data<triplhnt_state>();
machine.primary_screen->register_screen_bitmap(state->m_helper);
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(triplhnt_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
}
diff --git a/src/mame/video/trucocl.c b/src/mame/video/trucocl.c
index bb8d72c4294..579efd4af64 100644
--- a/src/mame/video/trucocl.c
+++ b/src/mame/video/trucocl.c
@@ -57,25 +57,24 @@ WRITE8_MEMBER(trucocl_state::trucocl_colorram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(trucocl_state::get_bg_tile_info)
{
- trucocl_state *state = machine.driver_data<trucocl_state>();
- int gfxsel = state->m_colorram[tile_index] & 1;
- int bank = ( ( state->m_colorram[tile_index] >> 2 ) & 0x07 );
- int code = state->m_videoram[tile_index];
- int colour = (state->m_colorram[tile_index] & 2) >> 1;
+ int gfxsel = m_colorram[tile_index] & 1;
+ int bank = ( ( m_colorram[tile_index] >> 2 ) & 0x07 );
+ int code = m_videoram[tile_index];
+ int colour = (m_colorram[tile_index] & 2) >> 1;
code |= ( bank & 1 ) << 10;
code |= ( bank & 2 ) << 8;
code += ( bank & 4 ) << 6;
- SET_TILE_INFO(gfxsel,code,colour,0);
+ SET_TILE_INFO_MEMBER(gfxsel,code,colour,0);
}
VIDEO_START( trucocl )
{
trucocl_state *state = machine.driver_data<trucocl_state>();
- state->m_bg_tilemap = tilemap_create( machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32 );
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(trucocl_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32 );
}
SCREEN_UPDATE_IND16( trucocl )
diff --git a/src/mame/video/tryout.c b/src/mame/video/tryout.c
index e55113a0fdc..cade4f1f8a0 100644
--- a/src/mame/video/tryout.c
+++ b/src/mame/video/tryout.c
@@ -38,10 +38,9 @@ PALETTE_INIT( tryout )
}
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tryout_state::get_fg_tile_info)
{
- tryout_state *state = machine.driver_data<tryout_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int code, attr, color;
code = videoram[tile_index];
@@ -49,13 +48,12 @@ static TILE_GET_INFO( get_fg_tile_info )
code |= ((attr & 0x03) << 8);
color = ((attr & 0x4)>>2)+6;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tryout_state::get_bg_tile_info)
{
- tryout_state *state = machine.driver_data<tryout_state>();
- SET_TILE_INFO(2, state->m_vram[tile_index] & 0x7f, 2, 0);
+ SET_TILE_INFO_MEMBER(2, m_vram[tile_index] & 0x7f, 2, 0);
}
READ8_MEMBER(tryout_state::tryout_vram_r)
@@ -148,12 +146,12 @@ WRITE8_MEMBER(tryout_state::tryout_flipscreen_w)
flip_screen_set(data & 1);
}
-static TILEMAP_MAPPER( get_fg_memory_offset )
+TILEMAP_MAPPER_MEMBER(tryout_state::get_fg_memory_offset)
{
return (row ^ 0x1f) + (col << 5);
}
-static TILEMAP_MAPPER( get_bg_memory_offset )
+TILEMAP_MAPPER_MEMBER(tryout_state::get_bg_memory_offset)
{
int a;
// if (col&0x20)
@@ -168,8 +166,8 @@ static TILEMAP_MAPPER( get_bg_memory_offset )
VIDEO_START( tryout )
{
tryout_state *state = machine.driver_data<tryout_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,get_fg_memory_offset,8,8,32,32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,get_bg_memory_offset,16,16,64,16);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tryout_state::get_fg_tile_info),state),tilemap_mapper_delegate(FUNC(tryout_state::get_fg_memory_offset),state),8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tryout_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(tryout_state::get_bg_memory_offset),state),16,16,64,16);
state->m_vram=auto_alloc_array(machine, UINT8, 8 * 0x800);
state->m_vram_gfx=auto_alloc_array(machine, UINT8, 0x6000);
diff --git a/src/mame/video/tsamurai.c b/src/mame/video/tsamurai.c
index 582cf257079..3d00d6fb44a 100644
--- a/src/mame/video/tsamurai.c
+++ b/src/mame/video/tsamurai.c
@@ -12,30 +12,28 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(tsamurai_state::get_bg_tile_info)
{
- tsamurai_state *state = machine.driver_data<tsamurai_state>();
- UINT8 attributes = state->m_bg_videoram[2*tile_index+1];
- int tile_number = state->m_bg_videoram[2*tile_index];
+ UINT8 attributes = m_bg_videoram[2*tile_index+1];
+ 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(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
attributes & 0x1f,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tsamurai_state::get_fg_tile_info)
{
- tsamurai_state *state = machine.driver_data<tsamurai_state>();
- int tile_number = state->m_videoram[tile_index];
- if (state->m_textbank1 & 0x01) tile_number += 256; /* legacy */
- if (state->m_textbank2 & 0x01) tile_number += 512; /* Mission 660 add-on */
- SET_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(
1,
tile_number,
- state->m_colorram[((tile_index&0x1f)*2)+1] & 0x1f,
+ m_colorram[((tile_index&0x1f)*2)+1] & 0x1f,
0);
}
@@ -49,8 +47,8 @@ static TILE_GET_INFO( get_fg_tile_info )
VIDEO_START( tsamurai )
{
tsamurai_state *state = machine.driver_data<tsamurai_state>();
- state->m_background = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_foreground = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_background = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tsamurai_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tsamurai_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_background->set_transparent_pen(0);
state->m_foreground->set_transparent_pen(0);
@@ -234,13 +232,12 @@ WRITE8_MEMBER(tsamurai_state::vsgongf_color_w)
}
-static TILE_GET_INFO( get_vsgongf_tile_info )
+TILE_GET_INFO_MEMBER(tsamurai_state::get_vsgongf_tile_info)
{
- tsamurai_state *state = machine.driver_data<tsamurai_state>();
- int tile_number = state->m_videoram[tile_index];
- int color = state->m_vsgongf_color&0x1f;
- if( state->m_textbank1 ) tile_number += 0x100;
- SET_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(
1,
tile_number,
color,
@@ -250,7 +247,7 @@ static TILE_GET_INFO( get_vsgongf_tile_info )
VIDEO_START( vsgongf )
{
tsamurai_state *state = machine.driver_data<tsamurai_state>();
- state->m_foreground = tilemap_create(machine, get_vsgongf_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_foreground = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tsamurai_state::get_vsgongf_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
}
SCREEN_UPDATE_IND16( vsgongf )
diff --git a/src/mame/video/tumbleb.c b/src/mame/video/tumbleb.c
index e18c98b6dff..b1281822308 100644
--- a/src/mame/video/tumbleb.c
+++ b/src/mame/video/tumbleb.c
@@ -121,7 +121,7 @@ WRITE16_MEMBER(tumbleb_state::pangpang_pf2_data_w)
/******************************************************************************/
-static TILEMAP_MAPPER( tumblep_scan )
+TILEMAP_MAPPER_MEMBER(tumbleb_state::tumblep_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x60) << 5);
@@ -139,17 +139,16 @@ INLINE void get_bg_tile_info( running_machine &machine, tile_data &tileinfo, int
0);
}
-static TILE_GET_INFO( get_bg1_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); get_bg_tile_info(machine, tileinfo, tile_index, 2, state->m_pf1_data); }
-static TILE_GET_INFO( get_bg2_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); get_bg_tile_info(machine, tileinfo, tile_index, 1, state->m_pf2_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::get_bg1_tile_info){ get_bg_tile_info(machine(), tileinfo, tile_index, 2, m_pf1_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::get_bg2_tile_info){ get_bg_tile_info(machine(), tileinfo, tile_index, 1, m_pf2_data); }
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tumbleb_state::get_fg_tile_info)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- int data = state->m_pf1_data[tile_index];
+ int data = m_pf1_data[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- (data & 0x0fff) | state->m_tilebank,
+ (data & 0x0fff) | m_tilebank,
data >> 12,
0);
}
@@ -166,16 +165,15 @@ INLINE void get_fncywld_bg_tile_info( running_machine &machine, tile_data &tilei
0);
}
-static TILE_GET_INFO( get_fncywld_bg1_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); get_fncywld_bg_tile_info(machine, tileinfo, tile_index, 2, state->m_pf1_data); }
-static TILE_GET_INFO( get_fncywld_bg2_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); get_fncywld_bg_tile_info(machine, tileinfo, tile_index, 1, state->m_pf2_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_bg1_tile_info){ get_fncywld_bg_tile_info(machine(), tileinfo, tile_index, 2, m_pf1_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_bg2_tile_info){ get_fncywld_bg_tile_info(machine(), tileinfo, tile_index, 1, m_pf2_data); }
-static TILE_GET_INFO( get_fncywld_fg_tile_info )
+TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_fg_tile_info)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- int data = state->m_pf1_data[tile_index * 2];
- int attr = state->m_pf1_data[tile_index * 2 + 1];
+ int data = m_pf1_data[tile_index * 2];
+ int attr = m_pf1_data[tile_index * 2 + 1];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
data & 0x1fff,
attr & 0x1f,
@@ -208,16 +206,15 @@ INLINE void pangpang_get_bg2x_tile_info( running_machine &machine, tile_data &ti
}
-static TILE_GET_INFO( pangpang_get_bg1_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); pangpang_get_bg_tile_info(machine, tileinfo, tile_index, 2, state->m_pf1_data); }
-static TILE_GET_INFO( pangpang_get_bg2_tile_info ) { tumbleb_state *state = machine.driver_data<tumbleb_state>(); pangpang_get_bg2x_tile_info(machine, tileinfo, tile_index, 1, state->m_pf2_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_bg1_tile_info){ pangpang_get_bg_tile_info(machine(), tileinfo, tile_index, 2, m_pf1_data); }
+TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_bg2_tile_info){ pangpang_get_bg2x_tile_info(machine(), tileinfo, tile_index, 1, m_pf2_data); }
-static TILE_GET_INFO( pangpang_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_fg_tile_info)
{
- tumbleb_state *state = machine.driver_data<tumbleb_state>();
- int data = state->m_pf1_data[tile_index * 2 + 1];
- int attr = state->m_pf1_data[tile_index * 2];
+ int data = m_pf1_data[tile_index * 2 + 1];
+ int attr = m_pf1_data[tile_index * 2];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
data & 0x1fff,
(attr >> 12)& 0x1f,
@@ -240,9 +237,9 @@ VIDEO_START( pangpang )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, pangpang_get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = tilemap_create(machine, pangpang_get_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, pangpang_get_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_tilemap->set_transparent_pen(0);
state->m_pf1_alt_tilemap->set_transparent_pen(0);
@@ -255,9 +252,9 @@ VIDEO_START( tumblepb )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = tilemap_create(machine, get_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_tilemap->set_transparent_pen(0);
state->m_pf1_alt_tilemap->set_transparent_pen(0);
@@ -269,9 +266,9 @@ VIDEO_START( sdfight )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64); // 64*64 to prevent bad tilemap wrapping? - check real behavior
- state->m_pf1_alt_tilemap = tilemap_create(machine, get_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); // 64*64 to prevent bad tilemap wrapping? - check real behavior
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_tilemap->set_transparent_pen(0);
state->m_pf1_alt_tilemap->set_transparent_pen(0);
@@ -283,9 +280,9 @@ VIDEO_START( fncywld )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_fncywld_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = tilemap_create(machine, get_fncywld_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_fncywld_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_tilemap->set_transparent_pen(15);
state->m_pf1_alt_tilemap->set_transparent_pen(15);
@@ -298,9 +295,9 @@ VIDEO_START( suprtrio )
{
tumbleb_state *state = machine.driver_data<tumbleb_state>();
- state->m_pf1_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- state->m_pf1_alt_tilemap = tilemap_create(machine, get_bg1_tile_info, tumblep_scan, 16, 16, 64, 32);
- state->m_pf2_tilemap = tilemap_create(machine, get_bg2_tile_info, tumblep_scan, 16, 16, 64, 32);
+ state->m_pf1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_pf1_alt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
+ state->m_pf2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg2_tile_info),state), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),state), 16, 16, 64, 32);
state->m_pf1_alt_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/tunhunt.c b/src/mame/video/tunhunt.c
index 237c9eb15b7..b88c24e30d4 100644
--- a/src/mame/video/tunhunt.c
+++ b/src/mame/video/tunhunt.c
@@ -55,15 +55,14 @@ WRITE8_MEMBER(tunhunt_state::tunhunt_videoram_w)
m_fg_tilemap->mark_tile_dirty(offset);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(tunhunt_state::get_fg_tile_info)
{
- tunhunt_state *state = machine.driver_data<tunhunt_state>();
- int attr = state->m_videoram[tile_index];
+ int attr = m_videoram[tile_index];
int code = attr & 0x3f;
int color = attr >> 6;
int flags = color ? TILE_FORCE_LAYER0 : 0;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( tunhunt )
@@ -77,7 +76,7 @@ VIDEO_START( tunhunt )
state->m_tmpbitmap.allocate(256, 64, machine.primary_screen->format());
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tunhunt_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_fg_tilemap->set_scrollx(0, 64);
diff --git a/src/mame/video/turbo.c b/src/mame/video/turbo.c
index c6bc6aa58f8..7e763bcb612 100644
--- a/src/mame/video/turbo.c
+++ b/src/mame/video/turbo.c
@@ -165,11 +165,10 @@ PALETTE_INIT( buckrog )
*
*************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(turbo_state::get_fg_tile_info)
{
- turbo_state *state = machine.driver_data<turbo_state>();
- int code = state->m_videoram[tile_index];
- SET_TILE_INFO(0, code, code >> 2, 0);
+ int code = m_videoram[tile_index];
+ SET_TILE_INFO_MEMBER(0, code, code >> 2, 0);
}
@@ -178,7 +177,7 @@ VIDEO_START( turbo )
turbo_state *state = machine.driver_data<turbo_state>();
/* initialize the foreground tilemap */
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(turbo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
}
@@ -187,7 +186,7 @@ VIDEO_START( buckrog )
turbo_state *state = machine.driver_data<turbo_state>();
/* initialize the foreground tilemap */
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(turbo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
/* allocate the bitmap RAM */
state->m_buckrog_bitmap_ram = auto_alloc_array(machine, UINT8, 0xe000);
diff --git a/src/mame/video/twin16.c b/src/mame/video/twin16.c
index 4b15c6392d6..9f8480a7aa4 100644
--- a/src/mame/video/twin16.c
+++ b/src/mame/video/twin16.c
@@ -471,10 +471,9 @@ static void draw_layer( running_machine &machine, bitmap_ind16 &bitmap, int opaq
}
}
-static TILE_GET_INFO( get_text_tile_info )
+TILE_GET_INFO_MEMBER(twin16_state::get_text_tile_info)
{
- twin16_state *state = machine.driver_data<twin16_state>();
- const UINT16 *source = state->m_text_ram;
+ const UINT16 *source = m_text_ram;
int attr = source[tile_index];
/* fedcba9876543210
-x-------------- yflip
@@ -489,13 +488,13 @@ static TILE_GET_INFO( get_text_tile_info )
if (attr&0x2000) flags|=TILE_FLIPX;
if (attr&0x4000) flags|=TILE_FLIPY;
- SET_TILE_INFO(0, code, color, flags);
+ SET_TILE_INFO_MEMBER(0, code, color, flags);
}
VIDEO_START( twin16 )
{
twin16_state *state = machine.driver_data<twin16_state>();
- state->m_text_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(twin16_state::get_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_text_tilemap->set_transparent_pen(0);
palette_set_shadow_factor(machine,0.4); // screenshots estimate
diff --git a/src/mame/video/twincobr.c b/src/mame/video/twincobr.c
index a42bcb522a6..361843e9a28 100644
--- a/src/mame/video/twincobr.c
+++ b/src/mame/video/twincobr.c
@@ -40,45 +40,42 @@ const mc6845_interface twincobr_mc6845_intf =
Callbacks for the TileMap code
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(twincobr_state::get_bg_tile_info)
{
- twincobr_state *state = machine.driver_data<twincobr_state>();
int code, tile_number, color;
- code = state->m_bgvideoram16[tile_index+state->m_bg_ram_bank];
+ code = m_bgvideoram16[tile_index+m_bg_ram_bank];
tile_number = code & 0x0fff;
color = (code & 0xf000) >> 12;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile_number,
color,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(twincobr_state::get_fg_tile_info)
{
- twincobr_state *state = machine.driver_data<twincobr_state>();
int code, tile_number, color;
- code = state->m_fgvideoram16[tile_index];
- tile_number = (code & 0x0fff) | state->m_fg_rom_bank;
+ code = m_fgvideoram16[tile_index];
+ tile_number = (code & 0x0fff) | m_fg_rom_bank;
color = (code & 0xf000) >> 12;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile_number,
color,
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(twincobr_state::get_tx_tile_info)
{
- twincobr_state *state = machine.driver_data<twincobr_state>();
int code, tile_number, color;
- code = state->m_txvideoram16[tile_index];
+ code = m_txvideoram16[tile_index];
tile_number = code & 0x07ff;
color = (code & 0xf800) >> 11;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tile_number,
color,
@@ -93,9 +90,9 @@ static void twincobr_create_tilemaps(running_machine &machine)
{
twincobr_state *state = machine.driver_data<twincobr_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(twincobr_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(twincobr_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(twincobr_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_tx_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/ultratnk.c b/src/mame/video/ultratnk.c
index 2a7115d51e6..c3c71c63723 100644
--- a/src/mame/video/ultratnk.c
+++ b/src/mame/video/ultratnk.c
@@ -34,16 +34,15 @@ PALETTE_INIT( ultratnk )
}
-static TILE_GET_INFO( ultratnk_tile_info )
+TILE_GET_INFO_MEMBER(ultratnk_state::ultratnk_tile_info)
{
- ultratnk_state *state = machine.driver_data<ultratnk_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
UINT8 code = videoram[tile_index];
if (code & 0x20)
- SET_TILE_INFO(0, code, code >> 6, 0);
+ SET_TILE_INFO_MEMBER(0, code, code >> 6, 0);
else
- SET_TILE_INFO(0, code, 4, 0);
+ SET_TILE_INFO_MEMBER(0, code, 4, 0);
}
@@ -52,7 +51,7 @@ VIDEO_START( ultratnk )
ultratnk_state *state = machine.driver_data<ultratnk_state>();
machine.primary_screen->register_screen_bitmap(state->m_helper);
- state->m_playfield = tilemap_create(machine, ultratnk_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_playfield = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ultratnk_state::ultratnk_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/unico.c b/src/mame/video/unico.c
index 563b239ef87..4aec338de36 100644
--- a/src/mame/video/unico.c
+++ b/src/mame/video/unico.c
@@ -88,20 +88,20 @@ WRITE32_MEMBER(unico_state::unico_palette32_w)
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(unico_state::get_tile_info)
{
UINT16 *vram = (UINT16 *)param;
UINT16 code = vram[2 * tile_index + 0 ];
UINT16 attr = vram[2 * tile_index + 1 ];
- SET_TILE_INFO(1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
+ SET_TILE_INFO_MEMBER(1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
}
-static TILE_GET_INFO( get_tile_info32 )
+TILE_GET_INFO_MEMBER(unico_state::get_tile_info32)
{
UINT32 *vram = (UINT32 *)param;
UINT16 code = vram[tile_index] >> 16;
UINT16 attr = vram[tile_index] & 0xff;
- SET_TILE_INFO(1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
+ SET_TILE_INFO_MEMBER(1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
}
WRITE16_MEMBER(unico_state::unico_vram_w)
@@ -134,13 +134,13 @@ WRITE32_MEMBER(unico_state::unico_vram32_w)
VIDEO_START( unico )
{
unico_state *state = machine.driver_data<unico_state>();
- state->m_tilemap[0] = tilemap_create( machine, get_tile_info,TILEMAP_SCAN_ROWS,
+ state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),state),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[1] = tilemap_create( machine, get_tile_info,TILEMAP_SCAN_ROWS,
+ state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),state),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[2] = tilemap_create( machine, get_tile_info,TILEMAP_SCAN_ROWS,
+ state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),state),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
state->m_tilemap[0]->set_user_data(&state->m_vram[0x8000/2]);
@@ -166,13 +166,13 @@ VIDEO_START( unico )
VIDEO_START( zeropnt2 )
{
unico_state *state = machine.driver_data<unico_state>();
- state->m_tilemap[0] = tilemap_create( machine, get_tile_info32,TILEMAP_SCAN_ROWS,
+ state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),state),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[1] = tilemap_create( machine, get_tile_info32,TILEMAP_SCAN_ROWS,
+ state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),state),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
- state->m_tilemap[2] = tilemap_create( machine, get_tile_info32,TILEMAP_SCAN_ROWS,
+ state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),state),TILEMAP_SCAN_ROWS,
16,16, 0x40, 0x40);
state->m_tilemap[0]->set_user_data(&state->m_vram32[0x8000/4]);
diff --git a/src/mame/video/usgames.c b/src/mame/video/usgames.c
index a4466774b6c..b38d98ae9ff 100644
--- a/src/mame/video/usgames.c
+++ b/src/mame/video/usgames.c
@@ -31,21 +31,20 @@ PALETTE_INIT(usgames)
-static TILE_GET_INFO( get_usgames_tile_info )
+TILE_GET_INFO_MEMBER(usgames_state::get_usgames_tile_info)
{
- usgames_state *state = machine.driver_data<usgames_state>();
int tileno, colour;
- tileno = state->m_videoram[tile_index*2];
- colour = state->m_videoram[tile_index*2+1];
+ tileno = m_videoram[tile_index*2];
+ colour = m_videoram[tile_index*2+1];
- SET_TILE_INFO(0,tileno,colour,0);
+ SET_TILE_INFO_MEMBER(0,tileno,colour,0);
}
VIDEO_START(usgames)
{
usgames_state *state = machine.driver_data<usgames_state>();
- state->m_tilemap = tilemap_create(machine, get_usgames_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(usgames_state::get_usgames_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
machine.gfx[0]->set_source(state->m_charram);
}
diff --git a/src/mame/video/vastar.c b/src/mame/video/vastar.c
index aa6d4521fb3..82f5a18c9f1 100644
--- a/src/mame/video/vastar.c
+++ b/src/mame/video/vastar.c
@@ -16,45 +16,42 @@
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(vastar_state::get_fg_tile_info)
{
- vastar_state *state = machine.driver_data<vastar_state>();
- UINT8 *videoram = state->m_fgvideoram;
+ UINT8 *videoram = m_fgvideoram;
int code, color;
code = videoram[tile_index + 0x800] | (videoram[tile_index + 0x400] << 8);
color = videoram[tile_index];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
code,
color & 0x3f,
0);
}
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(vastar_state::get_bg1_tile_info)
{
- vastar_state *state = machine.driver_data<vastar_state>();
- UINT8 *videoram = state->m_bg1videoram;
+ UINT8 *videoram = m_bg1videoram;
int code, color;
code = videoram[tile_index + 0x800] | (videoram[tile_index] << 8);
color = videoram[tile_index + 0xc00];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
4,
code,
color & 0x3f,
0);
}
-static TILE_GET_INFO( get_bg2_tile_info )
+TILE_GET_INFO_MEMBER(vastar_state::get_bg2_tile_info)
{
- vastar_state *state = machine.driver_data<vastar_state>();
- UINT8 *videoram = state->m_bg2videoram;
+ UINT8 *videoram = m_bg2videoram;
int code, color;
code = videoram[tile_index + 0x800] | (videoram[tile_index] << 8);
color = videoram[tile_index + 0xc00];
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
code,
color & 0x3f,
@@ -72,9 +69,9 @@ VIDEO_START( vastar )
{
vastar_state *state = machine.driver_data<vastar_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
- state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vastar_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vastar_state::get_bg1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vastar_state::get_bg2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_bg1_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/vball.c b/src/mame/video/vball.c
index b00e7388f81..ea232120292 100644
--- a/src/mame/video/vball.c
+++ b/src/mame/video/vball.c
@@ -19,20 +19,19 @@
***************************************************************************/
-static TILEMAP_MAPPER( background_scan )
+TILEMAP_MAPPER_MEMBER(vball_state::background_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 5) + ((row & 0x20) <<6);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(vball_state::get_bg_tile_info)
{
- vball_state *state = machine.driver_data<vball_state>();
- UINT8 code = state->m_vb_videoram[tile_index];
- UINT8 attr = state->m_vb_attribram[tile_index];
- SET_TILE_INFO(
+ UINT8 code = m_vb_videoram[tile_index];
+ UINT8 attr = m_vb_attribram[tile_index];
+ SET_TILE_INFO_MEMBER(
0,
- code + ((attr & 0x1f) << 8) + (state->m_gfxset<<8),
+ code + ((attr & 0x1f) << 8) + (m_gfxset<<8),
(attr >> 5) & 0x7,
0);
}
@@ -41,7 +40,7 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( vb )
{
vball_state *state = machine.driver_data<vball_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,background_scan, 8, 8,64,64);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vball_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(vball_state::background_scan),state), 8, 8,64,64);
state->m_bg_tilemap->set_scroll_rows(32);
state->m_gfxset=0;
diff --git a/src/mame/video/videopin.c b/src/mame/video/videopin.c
index f73e746381b..994cf906058 100644
--- a/src/mame/video/videopin.c
+++ b/src/mame/video/videopin.c
@@ -11,25 +11,24 @@
-static TILEMAP_MAPPER( get_memory_offset )
+TILEMAP_MAPPER_MEMBER(videopin_state::get_memory_offset)
{
return num_rows * ((col + 16) % 48) + row;
}
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(videopin_state::get_tile_info)
{
- videopin_state *state = machine.driver_data<videopin_state>();
- UINT8 code = state->m_video_ram[tile_index];
+ UINT8 code = m_video_ram[tile_index];
- SET_TILE_INFO(0, code, 0, (code & 0x40) ? TILE_FLIPY : 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, (code & 0x40) ? TILE_FLIPY : 0);
}
VIDEO_START( videopin )
{
videopin_state *state = machine.driver_data<videopin_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, get_memory_offset, 8, 8, 48, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(videopin_state::get_tile_info),state), tilemap_mapper_delegate(FUNC(videopin_state::get_memory_offset),state), 8, 8, 48, 32);
}
diff --git a/src/mame/video/vindictr.c b/src/mame/video/vindictr.c
index d6ce2c11545..32ba3b9aa11 100644
--- a/src/mame/video/vindictr.c
+++ b/src/mame/video/vindictr.c
@@ -16,24 +16,22 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(vindictr_state::get_alpha_tile_info)
{
- vindictr_state *state = machine.driver_data<vindictr_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0x3ff;
int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
int opaque = data & 0x8000;
- SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(vindictr_state::get_playfield_tile_info)
{
- vindictr_state *state = machine.driver_data<vindictr_state>();
- UINT16 data = state->m_playfield[tile_index];
- int code = (state->m_playfield_tile_bank * 0x1000) + (data & 0xfff);
+ UINT16 data = m_playfield[tile_index];
+ int code = (m_playfield_tile_bank * 0x1000) + (data & 0xfff);
int color = 0x10 + 2 * ((data >> 12) & 7);
- SET_TILE_INFO(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
}
@@ -85,13 +83,13 @@ VIDEO_START( vindictr )
vindictr_state *state = machine.driver_data<vindictr_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS, 8,8, 64,64);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vindictr_state::get_playfield_tile_info),state), TILEMAP_SCAN_COLS, 8,8, 64,64);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vindictr_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
/* save states */
diff --git a/src/mame/video/vulgus.c b/src/mame/video/vulgus.c
index ceb30ab7116..22cb8aaf33d 100644
--- a/src/mame/video/vulgus.c
+++ b/src/mame/video/vulgus.c
@@ -77,14 +77,13 @@ PALETTE_INIT( vulgus )
***************************************************************************/
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(vulgus_state::get_fg_tile_info)
{
- vulgus_state *state = machine.driver_data<vulgus_state>();
int code, color;
- code = state->m_fgvideoram[tile_index];
- color = state->m_fgvideoram[tile_index + 0x400];
- SET_TILE_INFO(
+ code = m_fgvideoram[tile_index];
+ color = m_fgvideoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
0,
code + ((color & 0x80) << 1),
color & 0x3f,
@@ -92,17 +91,16 @@ static TILE_GET_INFO( get_fg_tile_info )
tileinfo.group = color & 0x3f;
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(vulgus_state::get_bg_tile_info)
{
- vulgus_state *state = machine.driver_data<vulgus_state>();
int code, color;
- code = state->m_bgvideoram[tile_index];
- color = state->m_bgvideoram[tile_index + 0x400];
- SET_TILE_INFO(
+ code = m_bgvideoram[tile_index];
+ color = m_bgvideoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
1,
code + ((color & 0x80) << 1),
- (color & 0x1f) + (0x20 * state->m_palette_bank),
+ (color & 0x1f) + (0x20 * m_palette_bank),
TILE_FLIPYX((color & 0x60) >> 5));
}
@@ -116,8 +114,8 @@ static TILE_GET_INFO( get_bg_tile_info )
VIDEO_START( vulgus )
{
vulgus_state *state = machine.driver_data<vulgus_state>();
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS,16,16,32,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vulgus_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vulgus_state::get_bg_tile_info),state),TILEMAP_SCAN_COLS,16,16,32,32);
colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 47);
}
diff --git a/src/mame/video/warpwarp.c b/src/mame/video/warpwarp.c
index 66278ed7b0f..e9854bea3e8 100644
--- a/src/mame/video/warpwarp.c
+++ b/src/mame/video/warpwarp.c
@@ -111,7 +111,7 @@ PALETTE_INIT( warpwarp )
***************************************************************************/
/* convert from 32x32 to 34x28 */
-static TILEMAP_MAPPER( tilemap_scan )
+TILEMAP_MAPPER_MEMBER(warpwarp_state::tilemap_scan)
{
int offs;
@@ -125,37 +125,34 @@ static TILEMAP_MAPPER( tilemap_scan )
return offs;
}
-static TILE_GET_INFO( geebee_get_tile_info )
+TILE_GET_INFO_MEMBER(warpwarp_state::geebee_get_tile_info)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- int code = state->m_geebee_videoram[tile_index];
- int color = (state->m_geebee_bgw & 1) | ((code & 0x80) >> 6);
- SET_TILE_INFO(
+ int code = m_geebee_videoram[tile_index];
+ int color = (m_geebee_bgw & 1) | ((code & 0x80) >> 6);
+ SET_TILE_INFO_MEMBER(
0,
code,
color,
0);
}
-static TILE_GET_INFO( navarone_get_tile_info )
+TILE_GET_INFO_MEMBER(warpwarp_state::navarone_get_tile_info)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- int code = state->m_geebee_videoram[tile_index];
- int color = state->m_geebee_bgw & 1;
- SET_TILE_INFO(
+ int code = m_geebee_videoram[tile_index];
+ int color = m_geebee_bgw & 1;
+ SET_TILE_INFO_MEMBER(
0,
code,
color,
0);
}
-static TILE_GET_INFO( warpwarp_get_tile_info )
+TILE_GET_INFO_MEMBER(warpwarp_state::warpwarp_get_tile_info)
{
- warpwarp_state *state = machine.driver_data<warpwarp_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index],
- state->m_videoram[tile_index + 0x400],
+ m_videoram[tile_index],
+ m_videoram[tile_index + 0x400],
0);
}
@@ -170,19 +167,19 @@ static TILE_GET_INFO( warpwarp_get_tile_info )
VIDEO_START( geebee )
{
warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_bg_tilemap = tilemap_create(machine, geebee_get_tile_info,tilemap_scan,8,8,34,28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpwarp_state::geebee_get_tile_info),state),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),state),8,8,34,28);
}
VIDEO_START( navarone )
{
warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_bg_tilemap = tilemap_create(machine, navarone_get_tile_info,tilemap_scan,8,8,34,28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpwarp_state::navarone_get_tile_info),state),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),state),8,8,34,28);
}
VIDEO_START( warpwarp )
{
warpwarp_state *state = machine.driver_data<warpwarp_state>();
- state->m_bg_tilemap = tilemap_create(machine, warpwarp_get_tile_info,tilemap_scan,8,8,34,28);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpwarp_state::warpwarp_get_tile_info),state),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),state),8,8,34,28);
}
diff --git a/src/mame/video/wc90.c b/src/mame/video/wc90.c
index af19e9fb797..c99651dd9e1 100644
--- a/src/mame/video/wc90.c
+++ b/src/mame/video/wc90.c
@@ -8,62 +8,57 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(wc90_state::get_bg_tile_info)
{
- wc90_state *state = machine.driver_data<wc90_state>();
- int attr = state->m_bgvideoram[tile_index];
- int tile = state->m_bgvideoram[tile_index + 0x800] +
+ int attr = m_bgvideoram[tile_index];
+ int tile = m_bgvideoram[tile_index + 0x800] +
256 * ((attr & 3) + ((attr >> 1) & 4));
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile,
attr >> 4,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(wc90_state::get_fg_tile_info)
{
- wc90_state *state = machine.driver_data<wc90_state>();
- int attr = state->m_fgvideoram[tile_index];
- int tile = state->m_fgvideoram[tile_index + 0x800] +
+ int attr = m_fgvideoram[tile_index];
+ int tile = m_fgvideoram[tile_index + 0x800] +
256 * ((attr & 3) + ((attr >> 1) & 4));
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile,
attr >> 4,
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(wc90_state::get_tx_tile_info)
{
- wc90_state *state = machine.driver_data<wc90_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_txvideoram[tile_index + 0x800] + ((state->m_txvideoram[tile_index] & 0x07) << 8),
- state->m_txvideoram[tile_index] >> 4,
+ m_txvideoram[tile_index + 0x800] + ((m_txvideoram[tile_index] & 0x07) << 8),
+ m_txvideoram[tile_index] >> 4,
0);
}
-static TILE_GET_INFO( track_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(wc90_state::track_get_bg_tile_info)
{
- wc90_state *state = machine.driver_data<wc90_state>();
- int attr = state->m_bgvideoram[tile_index];
- int tile = state->m_bgvideoram[tile_index + 0x800] +
+ int attr = m_bgvideoram[tile_index];
+ int tile = m_bgvideoram[tile_index + 0x800] +
256 * (attr & 7);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tile,
attr >> 4,
0);
}
-static TILE_GET_INFO( track_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(wc90_state::track_get_fg_tile_info)
{
- wc90_state *state = machine.driver_data<wc90_state>();
- int attr = state->m_fgvideoram[tile_index];
- int tile = state->m_fgvideoram[tile_index + 0x800] +
+ int attr = m_fgvideoram[tile_index];
+ int tile = m_fgvideoram[tile_index + 0x800] +
256 * (attr & 7);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
1,
tile,
attr >> 4,
@@ -80,9 +75,9 @@ static TILE_GET_INFO( track_get_fg_tile_info )
VIDEO_START( wc90 )
{
wc90_state *state = machine.driver_data<wc90_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS, 16,16,64,32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_tx_tilemap->set_transparent_pen(0);
@@ -91,9 +86,9 @@ VIDEO_START( wc90 )
VIDEO_START( wc90t )
{
wc90_state *state = machine.driver_data<wc90_state>();
- state->m_bg_tilemap = tilemap_create(machine, track_get_bg_tile_info,TILEMAP_SCAN_ROWS, 16,16,64,32);
- state->m_fg_tilemap = tilemap_create(machine, track_get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::track_get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::track_get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
state->m_fg_tilemap->set_transparent_pen(0);
state->m_tx_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/wc90b.c b/src/mame/video/wc90b.c
index 0f64e31d7e7..59384bbe8c9 100644
--- a/src/mame/video/wc90b.c
+++ b/src/mame/video/wc90b.c
@@ -8,37 +8,34 @@
***************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(wc90b_state::get_bg_tile_info)
{
- wc90b_state *state = machine.driver_data<wc90b_state>();
- int attr = state->m_bgvideoram[tile_index];
- int tile = state->m_bgvideoram[tile_index + 0x800];
- SET_TILE_INFO(
+ int attr = m_bgvideoram[tile_index];
+ int tile = m_bgvideoram[tile_index + 0x800];
+ SET_TILE_INFO_MEMBER(
9 + ((attr & 3) + ((attr >> 1) & 4)),
tile,
attr >> 4,
0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(wc90b_state::get_fg_tile_info)
{
- wc90b_state *state = machine.driver_data<wc90b_state>();
- int attr = state->m_fgvideoram[tile_index];
- int tile = state->m_fgvideoram[tile_index + 0x800];
- SET_TILE_INFO(
+ int attr = m_fgvideoram[tile_index];
+ int tile = m_fgvideoram[tile_index + 0x800];
+ SET_TILE_INFO_MEMBER(
1 + ((attr & 3) + ((attr >> 1) & 4)),
tile,
attr >> 4,
0);
}
-static TILE_GET_INFO( get_tx_tile_info )
+TILE_GET_INFO_MEMBER(wc90b_state::get_tx_tile_info)
{
- wc90b_state *state = machine.driver_data<wc90b_state>();
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- state->m_txvideoram[tile_index + 0x800] + ((state->m_txvideoram[tile_index] & 0x07) << 8),
- state->m_txvideoram[tile_index] >> 4,
+ m_txvideoram[tile_index + 0x800] + ((m_txvideoram[tile_index] & 0x07) << 8),
+ m_txvideoram[tile_index] >> 4,
0);
}
@@ -53,9 +50,9 @@ static TILE_GET_INFO( get_tx_tile_info )
VIDEO_START( wc90b )
{
wc90b_state *state = machine.driver_data<wc90b_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS, 16,16,64,32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90b_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16,16,64,32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90b_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wc90b_state::get_tx_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
state->m_fg_tilemap->set_transparent_pen(15);
state->m_tx_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/wecleman.c b/src/mame/video/wecleman.c
index cd80b1ce7ee..109b1151803 100644
--- a/src/mame/video/wecleman.c
+++ b/src/mame/video/wecleman.c
@@ -417,11 +417,10 @@ static void sprite_draw(running_machine &machine, _BitmapClass &bitmap, const re
[ Frontmost (text) layer + video registers ]
------------------------------------------------------------------------*/
-static TILE_GET_INFO( wecleman_get_txt_tile_info )
+TILE_GET_INFO_MEMBER(wecleman_state::wecleman_get_txt_tile_info)
{
- wecleman_state *state = machine.driver_data<wecleman_state>();
- int code = state->m_txtram[tile_index];
- SET_TILE_INFO(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
+ int code = m_txtram[tile_index];
+ SET_TILE_INFO_MEMBER(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
}
WRITE16_MEMBER(wecleman_state::wecleman_txtram_w)
@@ -464,27 +463,25 @@ WRITE16_MEMBER(wecleman_state::wecleman_txtram_w)
[ Background ]
------------------------------------------------------------------------*/
-static TILE_GET_INFO( wecleman_get_bg_tile_info )
+TILE_GET_INFO_MEMBER(wecleman_state::wecleman_get_bg_tile_info)
{
- wecleman_state *state = machine.driver_data<wecleman_state>();
- int page = state->m_bgpage[((tile_index&0x7f)>>6) + ((tile_index>>12)<<1)];
- int code = state->m_pageram[(tile_index&0x3f) + ((tile_index>>7&0x1f)<<6) + (page<<11)];
+ 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(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
+ SET_TILE_INFO_MEMBER(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
}
/*------------------------------------------------------------------------
[ Foreground ]
------------------------------------------------------------------------*/
-static TILE_GET_INFO( wecleman_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(wecleman_state::wecleman_get_fg_tile_info)
{
- wecleman_state *state = machine.driver_data<wecleman_state>();
- int page = state->m_fgpage[((tile_index&0x7f)>>6) + ((tile_index>>12)<<1)];
- int code = state->m_pageram[(tile_index&0x3f) + ((tile_index>>7&0x1f)<<6) + (page<<11)];
+ int page = m_fgpage[((tile_index&0x7f)>>6) + ((tile_index>>12)<<1)];
+ int code = m_pageram[(tile_index&0x3f) + ((tile_index>>7&0x1f)<<6) + (page<<11)];
if (!code || code==0xffff) code = 0x20;
- SET_TILE_INFO(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
+ SET_TILE_INFO_MEMBER(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
}
/*------------------------------------------------------------------------
@@ -933,19 +930,19 @@ VIDEO_START( wecleman )
state->m_sprite_list = auto_alloc_array_clear(machine, struct sprite, NUM_SPRITES);
- state->m_bg_tilemap = tilemap_create(machine, wecleman_get_bg_tile_info,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_bg_tile_info),state),
TILEMAP_SCAN_ROWS,
/* We draw part of the road below */
8,8,
PAGE_NX * 2, PAGE_NY * 2 );
- state->m_fg_tilemap = tilemap_create(machine, wecleman_get_fg_tile_info,
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_fg_tile_info),state),
TILEMAP_SCAN_ROWS,
8,8,
PAGE_NX * 2, PAGE_NY * 2);
- state->m_txt_tilemap = tilemap_create(machine, wecleman_get_txt_tile_info,
+ state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_txt_tile_info),state),
TILEMAP_SCAN_ROWS,
8,8,
diff --git a/src/mame/video/welltris.c b/src/mame/video/welltris.c
index 96cc3230085..e79b44aca81 100644
--- a/src/mame/video/welltris.c
+++ b/src/mame/video/welltris.c
@@ -191,16 +191,15 @@ WRITE16_MEMBER(welltris_state::welltris_scrollreg_w)
}
}
-static TILE_GET_INFO( get_welltris_tile_info )
+TILE_GET_INFO_MEMBER(welltris_state::get_welltris_tile_info)
{
- welltris_state *state = machine.driver_data<welltris_state>();
- UINT16 code = state->m_charvideoram[tile_index];
+ UINT16 code = m_charvideoram[tile_index];
int bank = (code & 0x1000) >> 12;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
- (code & 0x0fff) + (state->m_gfxbank[bank] << 12),
- ((code & 0xe000) >> 13) + (8 * state->m_charpalettebank),
+ (code & 0x0fff) + (m_gfxbank[bank] << 12),
+ ((code & 0xe000) >> 13) + (8 * m_charpalettebank),
0);
}
@@ -214,7 +213,7 @@ WRITE16_MEMBER(welltris_state::welltris_charvideoram_w)
VIDEO_START( welltris )
{
welltris_state *state = machine.driver_data<welltris_state>();
- state->m_char_tilemap = tilemap_create(machine, get_welltris_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
+ state->m_char_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(welltris_state::get_welltris_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
state->m_char_tilemap->set_transparent_pen(15);
}
diff --git a/src/mame/video/wgp.c b/src/mame/video/wgp.c
index d144e59be4a..ea107655230 100644
--- a/src/mame/video/wgp.c
+++ b/src/mame/video/wgp.c
@@ -18,19 +18,19 @@ INLINE void common_get_piv_tile_info( running_machine &machine, tile_data &tilei
TILE_FLIPYX( (attr & 0xc0) >> 6));
}
-static TILE_GET_INFO( get_piv0_tile_info )
+TILE_GET_INFO_MEMBER(wgp_state::get_piv0_tile_info)
{
- common_get_piv_tile_info(machine, tileinfo, tile_index, 0);
+ common_get_piv_tile_info(machine(), tileinfo, tile_index, 0);
}
-static TILE_GET_INFO( get_piv1_tile_info )
+TILE_GET_INFO_MEMBER(wgp_state::get_piv1_tile_info)
{
- common_get_piv_tile_info(machine, tileinfo, tile_index, 1);
+ common_get_piv_tile_info(machine(), tileinfo, tile_index, 1);
}
-static TILE_GET_INFO( get_piv2_tile_info )
+TILE_GET_INFO_MEMBER(wgp_state::get_piv2_tile_info)
{
- common_get_piv_tile_info(machine, tileinfo, tile_index, 2);
+ common_get_piv_tile_info(machine(), tileinfo, tile_index, 2);
}
@@ -38,9 +38,9 @@ static void wgp_core_vh_start( running_machine &machine, int piv_xoffs, int piv_
{
wgp_state *state = machine.driver_data<wgp_state>();
- state->m_piv_tilemap[0] = tilemap_create(machine, get_piv0_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_piv_tilemap[1] = tilemap_create(machine, get_piv1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
- state->m_piv_tilemap[2] = tilemap_create(machine, get_piv2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_piv_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wgp_state::get_piv0_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_piv_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wgp_state::get_piv1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
+ state->m_piv_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wgp_state::get_piv2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
state->m_piv_xoffs = piv_xoffs;
state->m_piv_yoffs = piv_yoffs;
diff --git a/src/mame/video/williams.c b/src/mame/video/williams.c
index c909110842f..f0cb6b30a44 100644
--- a/src/mame/video/williams.c
+++ b/src/mame/video/williams.c
@@ -105,7 +105,7 @@
static void blitter_init(running_machine &machine, int blitter_config, const UINT8 *remap_prom);
static void create_palette_lookup(running_machine &machine);
-static TILE_GET_INFO( get_tile_info );
+
static int blitter_core(address_space *space, int sstart, int dstart, int w, int h, int data);
@@ -157,7 +157,7 @@ VIDEO_START( williams2 )
state->m_generic_paletteram_8.allocate(0x400 * 2);
/* create the tilemap */
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_COLS, 24,16, 128,16);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(williams_state::get_tile_info),state), TILEMAP_SCAN_COLS, 24,16, 128,16);
state->m_bg_tilemap->set_scrolldx(2, 0);
state_save_register(machine);
@@ -375,15 +375,14 @@ READ8_MEMBER(williams_state::williams2_video_counter_r)
*
*************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(williams_state::get_tile_info)
{
- williams_state *state = machine.driver_data<williams_state>();
- int mask = machine.gfx[0]->elements() - 1;
- int data = state->m_williams2_tileram[tile_index];
+ int mask = machine().gfx[0]->elements() - 1;
+ int data = m_williams2_tileram[tile_index];
int y = (tile_index >> 1) & 7;
int color = 0;
- switch (state->m_williams2_tilemap_config)
+ switch (m_williams2_tilemap_config)
{
case WILLIAMS_TILEMAP_MYSTICM:
{
@@ -406,7 +405,7 @@ static TILE_GET_INFO( get_tile_info )
break;
}
- SET_TILE_INFO(0, data & mask, color, (data & ~mask) ? TILE_FLIPX : 0);
+ SET_TILE_INFO_MEMBER(0, data & mask, color, (data & ~mask) ? TILE_FLIPX : 0);
}
diff --git a/src/mame/video/wrally.c b/src/mame/video/wrally.c
index f9f054aa0fa..840caf4e051 100644
--- a/src/mame/video/wrally.c
+++ b/src/mame/video/wrally.c
@@ -34,28 +34,26 @@
1 | xxx----- -------- | not used?
*/
-static TILE_GET_INFO( get_tile_info_wrally_screen0 )
+TILE_GET_INFO_MEMBER(wrally_state::get_tile_info_wrally_screen0)
{
- wrally_state *state = machine.driver_data<wrally_state>();
- int data = state->m_videoram[tile_index << 1];
- int data2 = state->m_videoram[(tile_index << 1) + 1];
+ int data = m_videoram[tile_index << 1];
+ int data2 = m_videoram[(tile_index << 1) + 1];
int code = data & 0x3fff;
tileinfo.category = (data2 >> 5) & 0x01;
- SET_TILE_INFO(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
}
-static TILE_GET_INFO( get_tile_info_wrally_screen1 )
+TILE_GET_INFO_MEMBER(wrally_state::get_tile_info_wrally_screen1)
{
- wrally_state *state = machine.driver_data<wrally_state>();
- int data = state->m_videoram[(0x2000/2) + (tile_index << 1)];
- int data2 = state->m_videoram[(0x2000/2) + (tile_index << 1) + 1];
+ int data = m_videoram[(0x2000/2) + (tile_index << 1)];
+ int data2 = m_videoram[(0x2000/2) + (tile_index << 1) + 1];
int code = data & 0x3fff;
tileinfo.category = (data2 >> 5) & 0x01;
- SET_TILE_INFO(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
+ SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
}
/***************************************************************************
@@ -67,8 +65,8 @@ static TILE_GET_INFO( get_tile_info_wrally_screen1 )
VIDEO_START( wrally )
{
wrally_state *state = machine.driver_data<wrally_state>();
- state->m_pant[0] = tilemap_create(machine, get_tile_info_wrally_screen0,TILEMAP_SCAN_ROWS,16,16,64,32);
- state->m_pant[1] = tilemap_create(machine, get_tile_info_wrally_screen1,TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pant[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wrally_state::get_tile_info_wrally_screen0),state),TILEMAP_SCAN_ROWS,16,16,64,32);
+ state->m_pant[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wrally_state::get_tile_info_wrally_screen1),state),TILEMAP_SCAN_ROWS,16,16,64,32);
state->m_pant[0]->set_transmask(0,0xff01,0x00ff); /* this layer is split in two (pens 1..7, pens 8-15) */
state->m_pant[1]->set_transparent_pen(0);
diff --git a/src/mame/video/wwfsstar.c b/src/mame/video/wwfsstar.c
index f8eac4e100d..f68c7f44974 100644
--- a/src/mame/video/wwfsstar.c
+++ b/src/mame/video/wwfsstar.c
@@ -33,7 +33,7 @@ WRITE16_MEMBER(wwfsstar_state::wwfsstar_bg0_videoram_w)
Tilemap Related Functions
*******************************************************************************/
-static TILE_GET_INFO( get_fg0_tile_info )
+TILE_GET_INFO_MEMBER(wwfsstar_state::get_fg0_tile_info)
{
/*- FG0 RAM Format -**
@@ -50,27 +50,26 @@ static TILE_GET_INFO( get_fg0_tile_info )
**- End of Comments -*/
- wwfsstar_state *state = machine.driver_data<wwfsstar_state>();
UINT16 *tilebase;
int tileno;
int colbank;
- tilebase = &state->m_fg0_videoram[tile_index*2];
+ tilebase = &m_fg0_videoram[tile_index*2];
tileno = (tilebase[1] & 0x00ff) | ((tilebase[0] & 0x000f) << 8);
colbank = (tilebase[0] & 0x00f0) >> 4;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tileno,
colbank,
0);
}
-static TILEMAP_MAPPER( bg0_scan )
+TILEMAP_MAPPER_MEMBER(wwfsstar_state::bg0_scan)
{
return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
}
-static TILE_GET_INFO( get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(wwfsstar_state::get_bg0_tile_info)
{
/*- BG0 RAM Format -**
@@ -88,15 +87,14 @@ static TILE_GET_INFO( get_bg0_tile_info )
**- End of Comments -*/
- wwfsstar_state *state = machine.driver_data<wwfsstar_state>();
UINT16 *tilebase;
int tileno, colbank, flipx;
- tilebase = &state->m_bg0_videoram[tile_index*2];
+ tilebase = &m_bg0_videoram[tile_index*2];
tileno = (tilebase[1] & 0x00ff) | ((tilebase[0] & 0x000f) << 8);
colbank = (tilebase[0] & 0x0070) >> 4;
flipx = (tilebase[0] & 0x0080) >> 7;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tileno,
colbank,
@@ -211,10 +209,10 @@ VIDEO_START( wwfsstar )
{
wwfsstar_state *state = machine.driver_data<wwfsstar_state>();
- state->m_fg0_tilemap = tilemap_create(machine, get_fg0_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ state->m_fg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfsstar_state::get_fg0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
state->m_fg0_tilemap->set_transparent_pen(0);
- state->m_bg0_tilemap = tilemap_create(machine, get_bg0_tile_info,bg0_scan, 16, 16,32,32);
+ state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfsstar_state::get_bg0_tile_info),state),tilemap_mapper_delegate(FUNC(wwfsstar_state::bg0_scan),state), 16, 16,32,32);
state->m_fg0_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/wwfwfest.c b/src/mame/video/wwfwfest.c
index 772cecf2bee..df5aa3c69ea 100644
--- a/src/mame/video/wwfwfest.c
+++ b/src/mame/video/wwfwfest.c
@@ -45,9 +45,8 @@ WRITE16_MEMBER(wwfwfest_state::wwfwfest_bg1_videoram_w)
/*******************************************************************************
Tilemap Related Functions
*******************************************************************************/
-static TILE_GET_INFO( get_fg0_tile_info )
+TILE_GET_INFO_MEMBER(wwfwfest_state::get_fg0_tile_info)
{
- wwfwfest_state *state = machine.driver_data<wwfwfest_state>();
/*- FG0 RAM Format -**
4 bytes per tile
@@ -67,19 +66,18 @@ static TILE_GET_INFO( get_fg0_tile_info )
UINT16 *tilebase;
int tileno;
int colbank;
- tilebase = &state->m_fg0_videoram[tile_index*2];
+ tilebase = &m_fg0_videoram[tile_index*2];
tileno = (tilebase[0] & 0x00ff) | ((tilebase[1] & 0x000f) << 8);
colbank = (tilebase[1] & 0x00f0) >> 4;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
0,
tileno,
colbank,
0);
}
-static TILE_GET_INFO( get_bg0_tile_info )
+TILE_GET_INFO_MEMBER(wwfwfest_state::get_bg0_tile_info)
{
- wwfwfest_state *state = machine.driver_data<wwfwfest_state>();
/*- BG0 RAM Format -**
4 bytes per tile
@@ -98,19 +96,18 @@ static TILE_GET_INFO( get_bg0_tile_info )
UINT16 *tilebase;
int tileno,colbank;
- tilebase = &state->m_bg0_videoram[tile_index*2];
+ tilebase = &m_bg0_videoram[tile_index*2];
tileno = (tilebase[1] & 0x0fff);
colbank = (tilebase[0] & 0x000f);
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
2,
tileno,
colbank,
TILE_FLIPYX((tilebase[0] & 0x00c0) >> 6));
}
-static TILE_GET_INFO( get_bg1_tile_info )
+TILE_GET_INFO_MEMBER(wwfwfest_state::get_bg1_tile_info)
{
- wwfwfest_state *state = machine.driver_data<wwfwfest_state>();
/*- BG1 RAM Format -**
2 bytes per tile
@@ -125,10 +122,10 @@ static TILE_GET_INFO( get_bg1_tile_info )
UINT16 *tilebase;
int tileno;
int colbank;
- tilebase = &state->m_bg1_videoram[tile_index];
+ tilebase = &m_bg1_videoram[tile_index];
tileno = (tilebase[0] & 0x0fff);
colbank = (tilebase[0] & 0xf000) >> 12;
- SET_TILE_INFO(
+ SET_TILE_INFO_MEMBER(
3,
tileno,
colbank,
@@ -231,9 +228,9 @@ VIDEO_START( wwfwfest )
state_save_register_global(machine, state->m_bg1_scrollx);
state_save_register_global(machine, state->m_bg1_scrolly);
- state->m_fg0_tilemap = tilemap_create(machine, get_fg0_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
- state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
- state->m_bg0_tilemap = tilemap_create(machine, get_bg0_tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ state->m_fg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfwfest_state::get_fg0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfwfest_state::get_bg1_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
+ state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wwfwfest_state::get_bg0_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16,32,32);
state->m_fg0_tilemap->set_transparent_pen(0);
state->m_bg1_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/xain.c b/src/mame/video/xain.c
index 9295019645d..92ba62ddd53 100644
--- a/src/mame/video/xain.c
+++ b/src/mame/video/xain.c
@@ -40,41 +40,38 @@
***************************************************************************/
-static TILEMAP_MAPPER( back_scan )
+TILEMAP_MAPPER_MEMBER(xain_state::back_scan)
{
/* logical (col,row) -> memory offset */
return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
}
-static TILE_GET_INFO( get_bgram0_tile_info )
+TILE_GET_INFO_MEMBER(xain_state::get_bgram0_tile_info)
{
- xain_state *state = machine.driver_data<xain_state>();
- int attr = state->m_bgram0[tile_index | 0x400];
- SET_TILE_INFO(
+ int attr = m_bgram0[tile_index | 0x400];
+ SET_TILE_INFO_MEMBER(
2,
- state->m_bgram0[tile_index] | ((attr & 7) << 8),
+ m_bgram0[tile_index] | ((attr & 7) << 8),
(attr & 0x70) >> 4,
(attr & 0x80) ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( get_bgram1_tile_info )
+TILE_GET_INFO_MEMBER(xain_state::get_bgram1_tile_info)
{
- xain_state *state = machine.driver_data<xain_state>();
- int attr = state->m_bgram1[tile_index | 0x400];
- SET_TILE_INFO(
+ int attr = m_bgram1[tile_index | 0x400];
+ SET_TILE_INFO_MEMBER(
1,
- state->m_bgram1[tile_index] | ((attr & 7) << 8),
+ m_bgram1[tile_index] | ((attr & 7) << 8),
(attr & 0x70) >> 4,
(attr & 0x80) ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( get_char_tile_info )
+TILE_GET_INFO_MEMBER(xain_state::get_char_tile_info)
{
- xain_state *state = machine.driver_data<xain_state>();
- int attr = state->m_charram[tile_index | 0x400];
- SET_TILE_INFO(
+ int attr = m_charram[tile_index | 0x400];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_charram[tile_index] | ((attr & 3) << 8),
+ m_charram[tile_index] | ((attr & 3) << 8),
(attr & 0xe0) >> 5,
0);
}
@@ -89,9 +86,9 @@ static TILE_GET_INFO( get_char_tile_info )
VIDEO_START( xain )
{
xain_state *state = machine.driver_data<xain_state>();
- state->m_bgram0_tilemap = tilemap_create(machine, get_bgram0_tile_info,back_scan, 16,16,32,32);
- state->m_bgram1_tilemap = tilemap_create(machine, get_bgram1_tile_info,back_scan, 16,16,32,32);
- state->m_char_tilemap = tilemap_create(machine, get_char_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
+ state->m_bgram0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xain_state::get_bgram0_tile_info),state),tilemap_mapper_delegate(FUNC(xain_state::back_scan),state),16,16,32,32);
+ state->m_bgram1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xain_state::get_bgram1_tile_info),state),tilemap_mapper_delegate(FUNC(xain_state::back_scan),state),16,16,32,32);
+ state->m_char_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xain_state::get_char_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,32,32);
state->m_bgram0_tilemap->set_transparent_pen(0);
state->m_bgram1_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/xorworld.c b/src/mame/video/xorworld.c
index 57767b330e0..f51b3fe3089 100644
--- a/src/mame/video/xorworld.c
+++ b/src/mame/video/xorworld.c
@@ -66,20 +66,19 @@ WRITE16_MEMBER(xorworld_state::xorworld_videoram16_w)
0 | xxxx---- -------- | color
*/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(xorworld_state::get_bg_tile_info)
{
- xorworld_state *state = machine.driver_data<xorworld_state>();
- UINT16 *videoram = state->m_videoram;
+ UINT16 *videoram = m_videoram;
int data = videoram[tile_index];
int code = data & 0x0fff;
- SET_TILE_INFO(0, code, data >> 12, 0);
+ SET_TILE_INFO_MEMBER(0, code, data >> 12, 0);
}
VIDEO_START( xorworld )
{
xorworld_state *state = machine.driver_data<xorworld_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xorworld_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8, 8, 32, 32);
}
diff --git a/src/mame/video/xxmissio.c b/src/mame/video/xxmissio.c
index 2b647815fad..1f79ee204e6 100644
--- a/src/mame/video/xxmissio.c
+++ b/src/mame/video/xxmissio.c
@@ -50,29 +50,27 @@ WRITE8_MEMBER(xxmissio_state::xxmissio_paletteram_w)
/****************************************************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(xxmissio_state::get_bg_tile_info)
{
- xxmissio_state *state = machine.driver_data<xxmissio_state>();
- int code = ((state->m_bgram[0x400 | tile_index] & 0xc0) << 2) | state->m_bgram[0x000 | tile_index];
- int color = state->m_bgram[0x400 | tile_index] & 0x0f;
+ 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(2, code, color, 0);
+ SET_TILE_INFO_MEMBER(2, code, color, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(xxmissio_state::get_fg_tile_info)
{
- xxmissio_state *state = machine.driver_data<xxmissio_state>();
- int code = state->m_fgram[0x000 | tile_index];
- int color = state->m_fgram[0x400 | tile_index] & 0x07;
+ int code = m_fgram[0x000 | tile_index];
+ int color = m_fgram[0x400 | tile_index] & 0x07;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
VIDEO_START( xxmissio )
{
xxmissio_state *state = machine.driver_data<xxmissio_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
- state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xxmissio_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
+ state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xxmissio_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
state->m_bg_tilemap->set_scroll_cols(1);
state->m_bg_tilemap->set_scroll_rows(1);
diff --git a/src/mame/video/xybots.c b/src/mame/video/xybots.c
index 39b8d272da8..28d1781d579 100644
--- a/src/mame/video/xybots.c
+++ b/src/mame/video/xybots.c
@@ -17,24 +17,22 @@
*
*************************************/
-static TILE_GET_INFO( get_alpha_tile_info )
+TILE_GET_INFO_MEMBER(xybots_state::get_alpha_tile_info)
{
- xybots_state *state = machine.driver_data<xybots_state>();
- UINT16 data = state->m_alpha[tile_index];
+ UINT16 data = m_alpha[tile_index];
int code = data & 0x3ff;
int color = (data >> 12) & 7;
int opaque = data & 0x8000;
- SET_TILE_INFO(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
+ SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
}
-static TILE_GET_INFO( get_playfield_tile_info )
+TILE_GET_INFO_MEMBER(xybots_state::get_playfield_tile_info)
{
- xybots_state *state = machine.driver_data<xybots_state>();
- UINT16 data = state->m_playfield[tile_index];
+ UINT16 data = m_playfield[tile_index];
int code = data & 0x1fff;
int color = (data >> 11) & 0x0f;
- SET_TILE_INFO(0, code, color, (data >> 15) & 1);
+ SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
}
@@ -86,13 +84,13 @@ VIDEO_START( xybots )
xybots_state *state = machine.driver_data<xybots_state>();
/* initialize the playfield */
- state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_playfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xybots_state::get_playfield_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
/* initialize the motion objects */
atarimo_init(machine, 0, &modesc);
/* initialize the alphanumerics */
- state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32);
+ state->m_alpha_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xybots_state::get_alpha_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,32);
state->m_alpha_tilemap->set_transparent_pen(0);
}
diff --git a/src/mame/video/xyonix.c b/src/mame/video/xyonix.c
index 9175fed7141..4f1a9765411 100644
--- a/src/mame/video/xyonix.c
+++ b/src/mame/video/xyonix.c
@@ -31,15 +31,14 @@ PALETTE_INIT( xyonix )
}
-static TILE_GET_INFO( get_xyonix_tile_info )
+TILE_GET_INFO_MEMBER(xyonix_state::get_xyonix_tile_info)
{
- xyonix_state *state = machine.driver_data<xyonix_state>();
int tileno;
- int attr = state->m_vidram[tile_index+0x1000+1];
+ int attr = m_vidram[tile_index+0x1000+1];
- tileno = (state->m_vidram[tile_index+1] << 0) | ((attr & 0x0f) << 8);
+ tileno = (m_vidram[tile_index+1] << 0) | ((attr & 0x0f) << 8);
- SET_TILE_INFO(0,tileno,attr >> 4,0);
+ SET_TILE_INFO_MEMBER(0,tileno,attr >> 4,0);
}
WRITE8_MEMBER(xyonix_state::xyonix_vidram_w)
@@ -53,7 +52,7 @@ VIDEO_START(xyonix)
{
xyonix_state *state = machine.driver_data<xyonix_state>();
- state->m_tilemap = tilemap_create(machine, get_xyonix_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 80, 32);
+ state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xyonix_state::get_xyonix_tile_info),state), TILEMAP_SCAN_ROWS, 4, 8, 80, 32);
}
SCREEN_UPDATE_IND16(xyonix)
diff --git a/src/mame/video/yiear.c b/src/mame/video/yiear.c
index bf717a88335..cd5e4ee2649 100644
--- a/src/mame/video/yiear.c
+++ b/src/mame/video/yiear.c
@@ -86,22 +86,21 @@ WRITE8_MEMBER(yiear_state::yiear_control_w)
coin_counter_w(machine(), 1, data & 0x10);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(yiear_state::get_bg_tile_info)
{
- yiear_state *state = machine.driver_data<yiear_state>();
int offs = tile_index * 2;
- int attr = state->m_videoram[offs];
- int code = state->m_videoram[offs + 1] | ((attr & 0x10) << 4);
+ int attr = m_videoram[offs];
+ int code = m_videoram[offs + 1] | ((attr & 0x10) << 4);
// int color = (attr & 0xf0) >> 4;
int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x40) ? TILE_FLIPY : 0);
- SET_TILE_INFO(0, code, 0, flags);
+ SET_TILE_INFO_MEMBER(0, code, 0, flags);
}
VIDEO_START( yiear )
{
yiear_state *state = machine.driver_data<yiear_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yiear_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
diff --git a/src/mame/video/yunsun16.c b/src/mame/video/yunsun16.c
index da16e7bad3f..fbee4371774 100644
--- a/src/mame/video/yunsun16.c
+++ b/src/mame/video/yunsun16.c
@@ -38,7 +38,7 @@
#define PAGES_PER_TMAP_X (0x4)
#define PAGES_PER_TMAP_Y (0x4)
-static TILEMAP_MAPPER( yunsun16_tilemap_scan_pages )
+TILEMAP_MAPPER_MEMBER(yunsun16_state::yunsun16_tilemap_scan_pages)
{
return (row / TILES_PER_PAGE_Y) * TILES_PER_PAGE_X * TILES_PER_PAGE_Y * PAGES_PER_TMAP_X +
(row % TILES_PER_PAGE_Y) +
@@ -47,24 +47,22 @@ static TILEMAP_MAPPER( yunsun16_tilemap_scan_pages )
(col % TILES_PER_PAGE_X) * TILES_PER_PAGE_Y;
}
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(yunsun16_state::get_tile_info_0)
{
- yunsun16_state *state = machine.driver_data<yunsun16_state>();
- UINT16 code = state->m_vram_0[2 * tile_index + 0];
- UINT16 attr = state->m_vram_0[2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT16 code = m_vram_0[2 * tile_index + 0];
+ UINT16 attr = m_vram_0[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
TMAP_GFX,
code,
attr & 0xf,
(attr & 0x20) ? TILE_FLIPX : 0);
}
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(yunsun16_state::get_tile_info_1)
{
- yunsun16_state *state = machine.driver_data<yunsun16_state>();
- UINT16 code = state->m_vram_1[2 * tile_index + 0];
- UINT16 attr = state->m_vram_1[2 * tile_index + 1];
- SET_TILE_INFO(
+ UINT16 code = m_vram_1[2 * tile_index + 0];
+ UINT16 attr = m_vram_1[2 * tile_index + 1];
+ SET_TILE_INFO_MEMBER(
TMAP_GFX,
code,
attr & 0xf,
@@ -98,9 +96,9 @@ VIDEO_START( yunsun16 )
{
yunsun16_state *state = machine.driver_data<yunsun16_state>();
- state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0,yunsun16_tilemap_scan_pages,
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yunsun16_state::get_tile_info_0),state),tilemap_mapper_delegate(FUNC(yunsun16_state::yunsun16_tilemap_scan_pages),state),
16,16, TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
- state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1,yunsun16_tilemap_scan_pages,
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yunsun16_state::get_tile_info_1),state),tilemap_mapper_delegate(FUNC(yunsun16_state::yunsun16_tilemap_scan_pages),state),
16,16, TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
state->m_tilemap_0->set_scrolldx(-0x34, 0);
diff --git a/src/mame/video/yunsung8.c b/src/mame/video/yunsung8.c
index f1c19dbabe9..970ee1927b1 100644
--- a/src/mame/video/yunsung8.c
+++ b/src/mame/video/yunsung8.c
@@ -131,12 +131,11 @@ WRITE8_MEMBER(yunsung8_state::yunsung8_flipscreen_w)
#define DIM_NX_0 (0x40)
#define DIM_NY_0 (0x20)
-static TILE_GET_INFO( get_tile_info_0 )
+TILE_GET_INFO_MEMBER(yunsung8_state::get_tile_info_0)
{
- yunsung8_state *state = machine.driver_data<yunsung8_state>();
- int code = state->m_videoram_0[0x1000 + tile_index * 2 + 0] + state->m_videoram_0[0x1000 + tile_index * 2 + 1] * 256;
- int color = state->m_videoram_0[0x0800 + tile_index] & 0x07;
- SET_TILE_INFO(
+ 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(
0,
code,
color,
@@ -148,12 +147,11 @@ static TILE_GET_INFO( get_tile_info_0 )
#define DIM_NX_1 (0x40)
#define DIM_NY_1 (0x20)
-static TILE_GET_INFO( get_tile_info_1 )
+TILE_GET_INFO_MEMBER(yunsung8_state::get_tile_info_1)
{
- yunsung8_state *state = machine.driver_data<yunsung8_state>();
- int code = state->m_videoram_1[0x1000 + tile_index * 2 + 0] + state->m_videoram_1[0x1000 + tile_index * 2 + 1] * 256;
- int color = state->m_videoram_1[0x0800 + tile_index] & 0x3f;
- SET_TILE_INFO(
+ 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(
1,
code,
color,
@@ -175,8 +173,8 @@ VIDEO_START( yunsung8 )
{
yunsung8_state *state = machine.driver_data<yunsung8_state>();
- state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_0, DIM_NY_0 );
- state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_1, DIM_NY_1 );
+ state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yunsung8_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_0, DIM_NY_0 );
+ state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(yunsung8_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_1, DIM_NY_1 );
state->m_tilemap_1->set_transparent_pen(0);
}
diff --git a/src/mame/video/zac2650.c b/src/mame/video/zac2650.c
index 652d84a5812..50a77ee77ab 100644
--- a/src/mame/video/zac2650.c
+++ b/src/mame/video/zac2650.c
@@ -111,19 +111,18 @@ static int SpriteCollision(running_machine &machine, int first,int second)
return Checksum;
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(zac2650_state::get_bg_tile_info)
{
- zac2650_state *state = machine.driver_data<zac2650_state>();
- UINT8 *videoram = state->m_videoram;
+ UINT8 *videoram = m_videoram;
int code = videoram[tile_index];
- SET_TILE_INFO(0, code, 0, 0);
+ SET_TILE_INFO_MEMBER(0, code, 0, 0);
}
VIDEO_START( tinvader )
{
zac2650_state *state = machine.driver_data<zac2650_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(zac2650_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
24, 24, 32, 32);
machine.primary_screen->register_screen_bitmap(state->m_bitmap);
diff --git a/src/mame/video/zaccaria.c b/src/mame/video/zaccaria.c
index eb53d362895..6790d7b0d69 100644
--- a/src/mame/video/zaccaria.c
+++ b/src/mame/video/zaccaria.c
@@ -113,14 +113,13 @@ PALETTE_INIT( zaccaria )
***************************************************************************/
-static TILE_GET_INFO( get_tile_info )
+TILE_GET_INFO_MEMBER(zaccaria_state::get_tile_info)
{
- zaccaria_state *state = machine.driver_data<zaccaria_state>();
- UINT8 attr = state->m_videoram[tile_index + 0x400];
- SET_TILE_INFO(
+ UINT8 attr = m_videoram[tile_index + 0x400];
+ SET_TILE_INFO_MEMBER(
0,
- state->m_videoram[tile_index] + ((attr & 0x03) << 8),
- ((attr & 0x0c) >> 2) + ((state->m_attributesram[2 * (tile_index % 32) + 1] & 0x07) << 2),
+ m_videoram[tile_index] + ((attr & 0x03) << 8),
+ ((attr & 0x0c) >> 2) + ((m_attributesram[2 * (tile_index % 32) + 1] & 0x07) << 2),
0);
}
@@ -135,7 +134,7 @@ static TILE_GET_INFO( get_tile_info )
VIDEO_START( zaccaria )
{
zaccaria_state *state = machine.driver_data<zaccaria_state>();
- state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(zaccaria_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
state->m_bg_tilemap->set_scroll_cols(32);
}
diff --git a/src/mame/video/zaxxon.c b/src/mame/video/zaxxon.c
index 84430d96f3d..e3c218d5136 100644
--- a/src/mame/video/zaxxon.c
+++ b/src/mame/video/zaxxon.c
@@ -67,47 +67,44 @@ PALETTE_INIT( zaxxon )
*
*************************************/
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(zaxxon_state::get_bg_tile_info)
{
- const UINT8 *source = machine.root_device().memregion("tilemap_dat")->base();
- int size = machine.root_device().memregion("tilemap_dat")->bytes() / 2;
+ const UINT8 *source = machine().root_device().memregion("tilemap_dat")->base();
+ int size = machine().root_device().memregion("tilemap_dat")->bytes() / 2;
int eff_index = tile_index & (size - 1);
int code = source[eff_index] + 256 * (source[eff_index + size] & 3);
int color = source[eff_index + size] >> 4;
- SET_TILE_INFO(1, code, color, 0);
+ SET_TILE_INFO_MEMBER(1, code, color, 0);
}
-static TILE_GET_INFO( zaxxon_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(zaxxon_state::zaxxon_get_fg_tile_info)
{
- zaxxon_state *state = machine.driver_data<zaxxon_state>();
int sx = tile_index % 32;
int sy = tile_index / 32;
- int code = state->m_videoram[tile_index];
- int color = state->m_color_codes[sx + 32 * (sy / 4)] & 0x0f;
+ int code = m_videoram[tile_index];
+ int color = m_color_codes[sx + 32 * (sy / 4)] & 0x0f;
- SET_TILE_INFO(0, code, color * 2, 0);
+ SET_TILE_INFO_MEMBER(0, code, color * 2, 0);
}
-static TILE_GET_INFO( razmataz_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(zaxxon_state::razmataz_get_fg_tile_info)
{
- zaxxon_state *state = machine.driver_data<zaxxon_state>();
- int code = state->m_videoram[tile_index];
- int color = state->m_color_codes[code] & 0x0f;
+ int code = m_videoram[tile_index];
+ int color = m_color_codes[code] & 0x0f;
- SET_TILE_INFO(0, code, color * 2, 0);
+ SET_TILE_INFO_MEMBER(0, code, color * 2, 0);
}
-static TILE_GET_INFO( congo_get_fg_tile_info )
+TILE_GET_INFO_MEMBER(zaxxon_state::congo_get_fg_tile_info)
{
- zaxxon_state *state = machine.driver_data<zaxxon_state>();
- int code = state->m_videoram[tile_index] + (state->m_congo_fg_bank << 8);
- int color = state->m_colorram[tile_index] & 0x1f;
+ int code = m_videoram[tile_index] + (m_congo_fg_bank << 8);
+ int color = m_colorram[tile_index] & 0x1f;
- SET_TILE_INFO(0, code, color * 2, 0);
+ SET_TILE_INFO_MEMBER(0, code, color * 2, 0);
}
@@ -118,7 +115,7 @@ static TILE_GET_INFO( congo_get_fg_tile_info )
*
*************************************/
-static void video_start_common(running_machine &machine, tile_get_info_func fg_tile_info)
+static void video_start_common(running_machine &machine, tilemap_get_info_delegate fg_tile_info)
{
zaxxon_state *state = machine.driver_data<zaxxon_state>();
@@ -132,8 +129,8 @@ static void video_start_common(running_machine &machine, tile_get_info_func fg_t
memset(state->m_congo_custom, 0, sizeof(state->m_congo_custom));
/* create a background and foreground tilemap */
- state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,512);
- state->m_fg_tilemap = tilemap_create(machine, fg_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
+ state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(zaxxon_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,512);
+ state->m_fg_tilemap = &machine.tilemap().create(fg_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
/* configure the foreground tilemap */
state->m_fg_tilemap->set_transparent_pen(0);
@@ -150,13 +147,15 @@ static void video_start_common(running_machine &machine, tile_get_info_func fg_t
VIDEO_START( zaxxon )
{
- video_start_common(machine, zaxxon_get_fg_tile_info);
+ zaxxon_state *state = machine.driver_data<zaxxon_state>();
+ video_start_common(machine, tilemap_get_info_delegate(FUNC(zaxxon_state::zaxxon_get_fg_tile_info),state));
}
VIDEO_START( razmataz )
{
- video_start_common(machine, razmataz_get_fg_tile_info);
+ zaxxon_state *state = machine.driver_data<zaxxon_state>();
+ video_start_common(machine, tilemap_get_info_delegate(FUNC(zaxxon_state::razmataz_get_fg_tile_info),state));
}
@@ -172,7 +171,7 @@ VIDEO_START( congo )
state->save_item(NAME(state->m_congo_color_bank));
state->save_item(NAME(state->m_congo_custom));
- video_start_common(machine, congo_get_fg_tile_info);
+ video_start_common(machine, tilemap_get_info_delegate(FUNC(zaxxon_state::congo_get_fg_tile_info),state));
}
diff --git a/src/mame/video/zerozone.c b/src/mame/video/zerozone.c
index aaa0976efb4..8de160ef134 100644
--- a/src/mame/video/zerozone.c
+++ b/src/mame/video/zerozone.c
@@ -21,23 +21,22 @@ WRITE16_MEMBER( zerozone_state::tilebank_w )
m_zz_tilemap->mark_all_dirty();
}
-static TILE_GET_INFO( get_zerozone_tile_info )
+TILE_GET_INFO_MEMBER(zerozone_state::get_zerozone_tile_info)
{
- zerozone_state *state = machine.driver_data<zerozone_state>();
- int tileno = state->m_vram[tile_index] & 0x07ff;
- int colour = state->m_vram[tile_index] & 0xf000;
+ int tileno = m_vram[tile_index] & 0x07ff;
+ int colour = m_vram[tile_index] & 0xf000;
- if (state->m_vram[tile_index] & 0x0800)
- tileno += state->m_tilebank * 0x800;
+ if (m_vram[tile_index] & 0x0800)
+ tileno += m_tilebank * 0x800;
- SET_TILE_INFO(0, tileno, colour >> 12, 0);
+ SET_TILE_INFO_MEMBER(0, tileno, colour >> 12, 0);
}
void zerozone_state::video_start()
{
// i'm not 100% sure it should be opaque, pink title screen looks strange in las vegas girls
// but if its transparent other things look incorrect
- m_zz_tilemap = tilemap_create(machine(), get_zerozone_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 32);
+ m_zz_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(zerozone_state::get_zerozone_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
}
UINT32 zerozone_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
diff --git a/src/mame/video/zodiack.c b/src/mame/video/zodiack.c
index 94735b00799..bc3ddd9e4ef 100644
--- a/src/mame/video/zodiack.c
+++ b/src/mame/video/zodiack.c
@@ -99,30 +99,28 @@ PALETTE_INIT( zodiack )
colortable_entry_set_value(machine.colortable, 0x31, 0x30);
}
-static TILE_GET_INFO( get_bg_tile_info )
+TILE_GET_INFO_MEMBER(zodiack_state::get_bg_tile_info)
{
- zodiack_state *state = machine.driver_data<zodiack_state>();
- int code = state->m_videoram_2[tile_index];
- int color = (state->m_attributeram[2 * (tile_index % 32) + 1] >> 4) & 0x07;
+ int code = m_videoram_2[tile_index];
+ int color = (m_attributeram[2 * (tile_index % 32) + 1] >> 4) & 0x07;
- SET_TILE_INFO(0, code, color, 0);
+ SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-static TILE_GET_INFO( get_fg_tile_info )
+TILE_GET_INFO_MEMBER(zodiack_state::get_fg_tile_info)
{
- zodiack_state *state = machine.driver_data<zodiack_state>();
- int code = state->m_videoram[tile_index];
- int color = state->m_attributeram[2 * (tile_index % 32) + 1] & 0x07;
+ int code = m_videoram[tile_index];
+ int color = m_attributeram[2 * (tile_index % 32) + 1] & 0x07;
- SET_TILE_INFO(3, code, color, 0);
+ SET_TILE_INFO_MEMBER(3, code, color, 0);
}
void zodiack_state::video_start()
{
- m_bg_tilemap = tilemap_create(machine(), get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- m_fg_tilemap = tilemap_create(machine(), get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(zodiack_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
+ m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(zodiack_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap->set_transparent_pen(0);
m_fg_tilemap->set_scroll_cols(32);